The radmap_point_clouds packages does the following:
-
converts velodyne_msgs/VelodyneScan --> sensor_msgs/PointCloud2
-
merges {sensor_msgs/PointCloud2,sensor_msgs/Imu,sensor_msgs/NavSatFix}
-
Aligns 2 velodynes in SE3 (rotation and translation)
-
Provides {.lua,.launch,.urdf} configuration files for cartographer
Notes:
-
See installation.txt for step by step guide to build this package
-
The bagfile names are assumed to be {port,starboard,imu}.bag with the appropriate topic names {/novatel_fix,/novatel_imu,/velodyne_packets_port, /velodyne_packets_starboard}
Requirements:
Recommendations (add to .bashrc):
-
source /home/[user]/radmap/internal/devel/setup.bash
-
export RADMAP="/home/[user]/radmap/internal/src/radmap_point_clouds"
-
export RADBAGS="/home/[user]/radmap/internal/src/radmap_point_clouds/bagfiles"
- Place port.bag, starboard.bag, imu.bag into [folder]
- cd [folder]
- roslaunch radmap_point_clouds lasers.launch
- rosrun radmap_point_clouds lasers
- python $RADMAP/src/bag_merging/bag_merge_radmap.py
- copy params/radmap_config to cartographer/[dev branch]/share/cartographer_ros/radmap_config
- roslaunch cartographer_ros demo_radmap.launch bag_filename:=${RADBAGS}/[bagfile]
- rosservice call /finish_trajectory [name]
- roslaunch cartographer_ros assets_writer_radmap.launch bag_filenames:=${RADBAGS}/[bagfile] trajectory_filename:=/home/[user]/.ros/[name].pb
- cd /home/[user]/ --> CloudCompare --> visualize points.ply
- roslaunch radmap_point_clouds calibrated_tf.launch
- rosbag play [bagfile]
- rviz -d $RADMAP/.rviz/aligned_scans.rviz
- velodyne_calib.m
- fill in calibrated_tf.launch
- roslaunch radmap_point_clouds calibrated_tf.launch
- rosrun tf tf_echo imu_link velodyne_port --> radmap.lau - velodyne_port_joint - origin
- rosrun tf tf_echo imu_link velodyne_starboard --> radmap.lau - velodyne_starboard_joint - origin