Kinect V1 在ROS下的开发——(1)如何在ROS下使用Kinect

声明: 本博客为博主原创文章,转载请标明出处

介绍

前些日子接导师安排去某研究所实习两周,主要实习内容是在ROS下开发Kinect以及UR10机械臂实现物料分解的应用demo。博主与室友一同做这个 项目,博主负责Kinect的开发,室友负责UR10的开发。接下来我将详细介绍Kinect开发的一些需要注意的地方。


开发环境

Ubuntu14.04 64位 + ROS indigo + Kinect V1
注意事项:博主注意到有许多人在他们的博客中提到Kinect无法再虚拟机中使用,博主这次开发使用的是VM10 虚拟机,亲测好用,所以大家没有必要非得装双系统来开发Kinect V1。


安装

ROS indigo 的安装

ROS indigo的安装博主在这里就不赘述了,具体可以参见ROS维基,一定要注意别忘记环境变量的配置,否则后面出了问题将十分麻烦。

Kinect V1 的驱动安装

使用freenect功能包驱动,下载指令如下:

$ sudo apt-get install libfreenect-dev 
$ sudo apt-get install ros-indigo-freenect-launch

安装完毕,这样你的opt/ros/indigo/share下面会出现两个文件夹,freenect_camera 和 freenect_launch,事实上这里边是没有功能包源码的,只有编译之后的可执行文件,如果对源码感兴趣的话可以去GitHub下载freenect_stack功能包,里边是有源码的。


ROS下Kinect V1的使用

安装之后,就可以开始愉快的玩耍了,首先一定要确认你的电脑是否已经连接Kinect V1,如果显示No devices connected…. waiting for devices to be connected,就是没有识别到Kinect。使用虚拟机的同学需要注意右下角有一个照相机的小图标是Microsoft xbox,需要右键点击连接,除此之外还需要点击连接两个设备才能让虚拟机识别Kinect。成功连接上Kinect之后,接下来就可以启动launch文件使用Kinect啦。具体使用方法如下:

$ roslaunch freenect_launch freenect.launch 

Kinect V1 在ROS下的开发——(1)如何在ROS下使用Kinect_第1张图片

WARN是因为咱们没有彩色相机和深度相机的校正文件,并不影响咱们使用Kinect,所以可以忽略它们。

接下来打开RVIZ就可以看Kinect采集到的图像了:

$ rviz

Kinect V1 在ROS下的开发——(1)如何在ROS下使用Kinect_第2张图片

在RVIZ界面中点击左下方Add,by topic添加一个RGB的image和一个depth的image,就能得到RGB图和深度图了。

值得注意的是,RGB图的消息来自/camera/rgb/image_color话题,深度图的消息来自/camera/depth/image话题,如果想看这两个ROS话题中的数据,可以通过以下指令:

$ rostopic echo /camera/rgb/image_color
$ rostopic echo /camera/depth/image

到此,我们成功安装并可以使用Kinect V1获取RGB图和深度图。


总结

希望以上提到的这些能消除你们的困扰!good luck and have fun!

你可能感兴趣的:(kinect)