Ubuntu14.04下 ROS indigo使用kinect 亲测好用

版权声明: https://blog.csdn.net/wubaobao1993/article/details/53142795

笔者最近因为学习slam而接触ROS indigo和kinect,按道理来讲ROS indigo的各种资料应该是很丰富的,但是偏偏在kinect这块,网上的各种方法显得良莠不齐,笔者在按照ROS官方推荐的安装方法安装之后,迟迟不能按照上面的语句得到传说中的深度图像,之后便开始了各种找资料,各种安装的时代…..实在是苦逼…..终于在重装了一次系统之后,重头开始安装各种东西之后,才成功调出深度图!因此笔者写下这篇文章,意欲帮助更多的人成功的在ubuntu14.04+ROS的环境下,成功使用kinect!


环境

ubuntu14.04+ROS indigo+KinectV1/xTion

安装

第一步:安装opencv

笔者一直使用的是opencv2.4.9,因为我觉得这是最稳定的版本了,具体方法请参考这篇博客opencv2.4.9安装

第二步:安装ROS indigo

这里请大家参考wiki上的步骤,一步步来,最好换个下载源(笔者一直认为163的源不错),这样下载速度比较快,这里不再赘述

第三步:安装SensorKinect驱动

在安装驱动之前,可以安装一些依赖项,输入以下代码:

sudo apt-get install git build-essential python libusb-1.0-0-dev freeglut3-dev openjdk-7-jdk
sudo apt-get install doxygen graphviz mono-complete
mkdir ~/kinectdriver 
cd ~/kinectdriver 
git clone https://github.com/avin2/SensorKinect 
cd SensorKinect/Bin/
tar xvjf SensorKinect093-Bin-Linux-x64-v5.1.2.1.tar.bz2
cd Sensor-Bin-Linux-x64-v5.1.2.1/
sudo ./install.sh

在终端中输入以上代码,注意,这里和网上介绍的方法都不一样了,网上的方法均是先安装openni,之后安装SensorKinect,且是进入SensorKinect/Platform/Linux/CreateRedist路径中,之后进行一顿设置之后安装驱动,这里的驱动安装的是最新的kinect驱动,是亲测好用的!

第四步:安装ros下的功能包

在终端中输入以下代码:

sudo apt-get install ros-indigo-openni-* ros-indigo-openni2-* ros-indigo-freenect-*  
rospack profile  

第五步:在ROS下使用kinect

1 如果你使用的是KinectV1,则请输入以下代码:

roslaunch freenect_launch freenect-registered-xyzrgb.launch 

此时在终端中会出现两个WARN,没关系,不用理会,这时候你的kinect就已經在输出数据了,可以在新终端中输入rostopic list查看当前的话题,如果想看到各种图像的话,可以在终端中输入rqt,这时候会打开一个窗口,在Plugins菜单栏中选择最后一项的image_view,此时可以左侧的下拉菜单中选择话题的种类,注意,默认情况下,选择/camera/depth/XXXX的话题才会显示出来图像,因为你并没有设置depth_registered,如果你在显示的过程中,在新的终端里使用rosrun rqt_reconfiguration rqt_reconfiguration,之后在camera->driver中勾选了depth_registered,此时你的rqt窗口就不会进行图像刷新了,此时切换至/camera/depth_registered/XXXX的话题后,继续会刷新图像。

2 如果你使用的是xTion,则你需要先把/etc/openni/GlobalDefaults.ini文件的第60行UsbInterface=2前面的;号去除,之后把2改为0,此时在终端中输入

 roslaunch openni_launch openni.launch 

其余的部分和1的情况一致。

总结

希望本文可以帮助到正在被这些问题烦恼的人,good luck and have funny!

猜你喜欢

转载自blog.csdn.net/wubaobao1993/article/details/53142795