由于ROS已经集成了对微软Kinect V1的支持,所以我们直接安装了相关的支持包,即可用微软Kinect V1来读取RGB信息和深度信息,本文简要叙述了在ROS Kinetic版本使用微软Kinect V1的过程。
1 实验环境
1)硬件: Thinkpad T61 + Kinect V1(XBOX 360)
2)软件:Ubuntu 16.04 + ROS Kinetic + OpenNI2
2 安装ROS软件包
以下2种方式,任选一种即可,当然全部安装也没有问题
1)使用openni_launch
sudo apt-get install ros-kinetic-openni-camera ros-kinetic-openni-launch
注意:openni2_launch已经不再支持Kinect任何产品。
2)使用freenect_launch
sudo apt-get install ros-kinetic-freenect-camera ros-kinetic-freenect-stack ros-kinetic-freenect-launch
3 测试Kinect V1设备
首先运行ROS节点启动文件
如果用openni_launch,命令如下:
roslaunch openni_launch openni.launch
如果用freenect_launch,命令如下:
roslaunch freenect_launch freenect.launch
2.1 测试RGB摄像头
1)显示RGB图像
方式一:使用rqt_image_view,运行如下命令后弹出窗口
rosrun rqt_image_view rqt_image_view
彩色图像保存方法是最右测按钮,直接保存即可(在配置kinect成功的界面点击图像也可直接保存,保存的位置不一样)
方式二:使用rviz显示,运行后弹出窗口如下:
rosrun rviz rviz
修改“Fixed Frame”为/camera_rgb_color,接着点击add,选择camera类型。添加成功后选择camera菜单下的Iamge Topic选项,选择/camera/rgb/image_color。
2.2 测试深度摄像头
1)显示深度图
方式一:使用rqt_image_view,运行如下命令后弹出窗口
rosrun rqt_image_view rqt_image_view
深度图像保存方法是最右测按钮,直接保存即可
方式二:使用rviz显示,运行后弹出窗口如下:
rosrun rviz rviz
修改“Fixed Frame”为/camera_depth_optical_frame,接着点击add添加PointCloud2类型,修改“topic”,如下图所示
3 注意事项
如果没有图像显示可以使用rostopic echo命令看看是否有数据流出来,我刚开始软件安装有问题就没有数据流出来。
如: rostopic echo /camera/depth/points