安装
sudo apt-get install ros-indigo-rtabmap-ros
RGB-D传感器准备
- Kinect v2 (Xbox One)
$ roslaunch kinect2_bridge kinect2_bridge.launch publish_tf:=true
- Zed camera
- A(不发布tf)或者B(发布tf)
// A) With rtabmap odometry:
$ export ROS_NAMESPACE=camera
$ roslaunch zed_wrapper zed_camera.launch publish_tf:=false
// B) With zed odometry:
$ export ROS_NAMESPACE=camera
$ roslaunch zed_wrapper zed_camera.launch
- A(不发布tf)或者B(发布tf)
构图模式
Launch (rtabmapviz)
$ roslaunch rtabmap_ros rtabmap.launch rtabmap_args:="--delete_db_on_start"
- 如果使用的是kinect2_bridge:
$ rosrun tf static_transform_publisher 0 0 0 -1.5707963267948966 0 -1.5707963267948966 camera_link kinect2_link 100
$ roslaunch rtabmap_ros rtabmap.launch rtabmap_args:="--delete_db_on_start" rgb_topic:=/kinect2/qhd/image_color_rect depth_topic:=/kinect2/qhd/image_depth_rect camera_info_topic:=/kinect2/qhd/camera_info
如果使用的是Zed camera
- A or B (depending of the one chosen above):
// A) With rtabmap odometry $ roslaunch rtabmap_ros rtabmap.launch rtabmap_args:="--delete_db_on_start" depth_topic:=/camera/depth/depth_registered frame_id:=zed_center approx_sync:=false 定位模式启动 $ roslaunch rtabmap_ros rtabmap.launch localization:=true depth_topic:=/camera/depth/depth_registered frame_id:=zed_center approx_sync:=false rviz:=false rtabmapviz:=false
// B) With zed odometry $ roslaunch rtabmap_ros rtabmap.launch rtabmap_args:="--delete_db_on_start" depth_topic:=/camera/depth/depth_registered frame_id:=zed_center approx_sync:=false visual_odometry:=false odom_topic:=/camera/odom
- A or B (depending of the one chosen above):
如果需要使用rviz Launch (rviz):
$ roslaunch rtabmap_ros rtabmap.launch rtabmap_args:="--delete_db_on_start" rviz:=true rtabmapviz:=false
rtabmap.launch参数解析
name | default | description |
---|---|---|
stereo | false | 选择rgbd或者stereo |
rtabmapviz | true | 选择可视化工具 |
rviz | false | 选择可视化工具 |
cfg | 相应的配置文件 | |
frame_id | camera_link | 固定帧id,可以设置为base_link等等 |
namespace | rtabmap | |
database_path | ~/.ros/rtabmap.db | 地图数据保存在~/.ros/rtabmap.db |
queue_size | 10 | |
wait_for_transform | 0.2 | |
rtabmap_args | delete_db_on_start (开始前删除之前的地图数据)udebug | |
launch_prefix | for debugging purpose, it fills launch-prefix tag of the nodes | |
approx_sync | true | 如果输入主题的时间不同步 |
RGB-D 相关的话题 | ||
rgb_topic | /camera/rgb/image_rect_color | |
depth_topic | /camera/depth_registered/image_raw | |
camera_info_topic | /camera/rgb/camera_info | |
stereo相关的话题 | ||
stereo_namespace | stereo_camera | |
left_image_topic | $(arg stereo_namespace)/left/image_rect_color” | |
right_image_topic | $(arg stereo_namespace)/right/image_rect” | |
left_camera_info_topic | $(arg stereo_namespace)/left/camera_info” | |
right_camera_info_topic | $(arg stereo_namespace)/right/camera_info” | |
compressed | false | 如果你想订阅压缩的主题 |
rgb_image_transport | compressed | Common types: compressed, theora (see “rosrun image_transport list_transports”) |
subscribe_scan | false | 是否订阅激光 |
scan_topic | /scan | |
subscribe_scan_cloud | false | 是否订阅激光点云 |
scan_cloud_topic | /scan_cloud | |
visual_odometry | true | 启动rtab视觉测距节点 |
odom_topic | /odom | 如果没启用rtabmap视觉测距节点则指定原里程计话题 |
odom_args |
注意
indigo版本和kinect版本之间的mapdata格式存在差异,不同版本之间发布和订阅会出现无tf输出的情况