ubuntu16.04+ros kinetic+kinect2.0错误解决方案+小技巧

参考教程:主参考链接

第二个参考链接,辅助链接

在使用ros + kinect2过程中,遇到了各种各样的怪问题,谨以此博文供后来者少走点弯路~

友情提示:在我重装过多次ubuntu16和ros之后,发现这是一个艰辛的路,首先kinect2基本上停产了,国人也不多,能找到的资料就比较散,目前找到的一些标注为ubuntu16.04的要么是假的16,要么就是没有提及opencv的版本。

关于opencv版本的问题,github上有现成的解释,我当时没认真看,就知道在百度上瞎找~


它可以与OpenCV 3.0一起使用吗?

简单说:不。

详细回答:是的,可以用OpenCV 3.0编译这个包,但它不起作用。这是因为使用了cv_bridge,它本身是在ROS Indigo / Jade中用OpenCV 2.4.x编译的,并且不可能与两个OpenCV版本链接。OpenCV 3.0的工作支持可能与未来的ROS版本一起提供。


所以建议大家先在谷歌浏览器,打开https://github.com/code-iai/iai_kinect2

好好看看~常见的错误都有解释~


所以推荐大家直接卸载ubuntu16.04,重新安装ubuntu14.04,注意下面的问题,基本上就可以一次点亮~

第一个问题:假设你的系统是ubuntu16.04,按照上面教程里的步骤,在安装ros的过程中,你无法

sudo apt-get install ros-indigo-desktop-full

因为16只能安装这个版本:

sudo apt-get install ros-kinetic-desktop-full

第二个问题:在libfreenect2之前,主参考链接里没有提示——默认安装opencv!这个真是特别坑啊!

明明lsusb可以看到设备,但是./bin/Protoonect就是找不到设备,关键是不会报错,我都以为是我的相机坏了~

后来不死心,又重新找了一个教程,发现了其中细微的差别~

第三个问题:假设我们已经可以调用./bin/Protoonect,看到这张图——

ubuntu16.04+ros kinetic+kinect2.0错误解决方案+小技巧_第1张图片

但是无法编译下面这句话——

catkin_make -DCMAKE_BUILD_TYPE="Release"

提示什么j8-m8什么错误,然后往上翻看可以发现错误在于ros的opencv无法读取,应该是ros内部opencv版本的问题,应该将3.1的换成2.4.9的。但是这个问题以我简陋的ros知识是无法解决的,查看了一下教程,提供了一些安装opencv的方法,但是试过几次都无法成功,对我来说,这又是一条死路~

最后忠告:所以说还是换成ubuntu14.04版本的吧,一次性点亮,轻轻松松,第二篇博客介绍如何对kinect2中的图片,利用opencv进行简单的处理。

小技巧:在你编译完iai之后,你最好将路径写到bashrc文件中,这样就不用每次调用roslaunch 都先source一下路径了。

echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc

source ~/.bashrc

这样你就可以直接这样:

roslaunch kinect2_bridge kinect2_bridge.launch

你可能感兴趣的:(ros,ubuntu,kinect2,错误,kinect,ros,ubuntu,kinect2,机器人,机器视觉,计算机视觉,opencv,错误解决)