ROS视觉和图像-Kinect V1使用

来源:互联网 发布:java移植安卓游戏破解 编辑:程序博客网 时间:2024/04/28 22:23

    由于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



方式二:使用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”,如下图所示



4 注意事项

如果没有图像显示可以使用rostopic echo命令看看是否有数据流出来,我刚开始软件安装有问题就没有数据流出来。

 如: rostopic echo /camera/depth/points


0 0