ubuntu16.04 ROS Kinetic+rtabmap安装运行

一、前期准备

1.安装ROS环境
2.安装kinect v2驱动以及ROS下运行

二、安装rtabmap-ros包

deb 安装

sudo apt-get install ros-kinetic-rtabmap-ros

三、运行测试

①运行kinect v2指令:
roslaunch kinect2_bridge kinect2_bridge.launch publish_tf:=true

这时,kinect2的红外灯会亮一会然后熄灭, 白灯也会过一段时间熄灭。

出现打印 INFO] [1478769022.036459690]: [Kinect2Bridge::main] waiting for clients to connect,表示kinect2启动成功
kinect2成功启动后可以查看topic :

rostopic list 

出现结果:
/kinect2/bond
/kinect2/hd/camera_info
/kinect2/hd/image_color
/kinect2/hd/image_color/compressed
/kinect2/hd/image_color_rect
/kinect2/hd/image_color_rect/compressed
/kinect2/hd/image_depth_rect
/kinect2/hd/image_depth_rect/compressed
/kinect2/hd/image_mono
/kinect2/hd/image_mono/compressed
/kinect2/hd/image_mono_rect
/kinect2/hd/image_mono_rect/compressed
/kinect2/hd/points
/kinect2/qhd/camera_info
/kinect2/qhd/image_color
/kinect2/qhd/image_color/compressed
/kinect2/qhd/image_color_rect
/kinect2/qhd/image_color_rect/compressed
/kinect2/qhd/image_depth_rect
/kinect2/qhd/image_depth_rect/compressed
/kinect2/qhd/image_mono
/kinect2/qhd/image_mono/compressed
/kinect2/qhd/image_mono_rect
/kinect2/qhd/image_mono_rect/compressed
/kinect2/qhd/points
/kinect2/sd/camera_info
/kinect2/sd/image_color_rect
/kinect2/sd/image_color_rect/compressed
/kinect2/sd/image_depth
/kinect2/sd/image_depth/compressed
/kinect2/sd/image_depth_rect
/kinect2/sd/image_depth_rect/compressed
/kinect2/sd/image_ir
/kinect2/sd/image_ir/compressed
/kinect2/sd/image_ir_rect
/kinect2/sd/image_ir_rect/compressed
/kinect2/sd/points
/rosout
/rosout_agg

其中,hd 表示1080P(1920x1080),qhd表示hd的四分之一大小 960x540,sd 大小应该是640x480, 实际大小是 height: 424 width: 512.可以看到其中主要的是hd,qhd,sd三类,每一类都包含相机信息、彩色、深度、红外等数据,再加上最后的输出.

如果启动遇到下面的问题:
在这里插入图片描述
请执行:

source ~/catkin_ws/devel/setup.bash
②执行官方给的指令tf:
rosrun tf static_transform_publisher 0 0 0 -1.5707963267948966 0 -1.5707963267948966 camera_link kinect2_link 100

该指令主要是前半部分涉及静态转换(本人猜测是坐标转换或者标定,没有细查),后半部分涉及传感器选择的帧来源。

该指令默认的是qhd,即默认960*540.其对应的帧是kinect2_rgb_optical_frame,这一点可以不用管它。

如果使用的是hd, 那么对应的frame也是kinect2_rgb_optical_frame,hd和qhd的尺寸图像都是基于rgd镜头的,所以它们的frame是彩色镜头的frame。

如果使用的是sd, 那么对应的frame是kinect2_ir_optical_frame, 红外镜头的frame。

③启动rtabmap_ros
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

roslaunch 启动文件,rtabmap_args:="–delete_db_on_start" 是说启动前先删除数据库db下的数据, topic分别对应好rgb彩色数据、depth深度数据、相机参数信息.
rtabmap.launch参数解析:
在这里插入图片描述
地图数据保存在 ~/.ros/rtabmap.db
可利databaseViewer工具查看数据库

rtabmap-databaseViewer ~/.ros/rtabmap.db

注意:
①在三维点云地图中右键取消Z轴锁定,即可以上帝视角查看三维模型
②indigo版本和kinect版本之间的mapdata格式存在差异,不同版本之间发布和订阅会出现无tf输出的情况(没明白)

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值