Ubuntu下ROS&&Kinect&&ORB-SLAM环境搭建

首先了解一下什么是ORB-SLAM

https://blog.csdn.net/u010128736/article/details/53157605

有空看看源码,感觉还是有点意思的

实验室给了个intel nuc,i5的核

系统是ubuntu 14.04(好老)

opencv的版本是2.4.9(好老)

emmmmm估计是台服役了挺久的老机子

目前是需要在这个nuc上装好ros,kinect驱动,还有个orb-slam2的环境

给机子update&upgrade了一下,应该是已经换了清华源,速度很好

装ros,没啥好说的,因为是14.04版本,只能装ros-indigo了

https://blog.csdn.net/softimite_zifeng/article/details/78630548

https://blog.csdn.net/weixin_41015581/article/details/80028576

两个教程差不多,我推荐装完之后按照第一个教程里的操作里面玩一玩乌龟,真的很好玩(什么玩意

下面开始安装kinect的驱动

把数据集拷过来了,放在下载文件夹下的data文件夹内

下面开始安装kinect2的驱动

https://www.cnblogs.com/hitcm/p/5118196.html

https://www.cnblogs.com/yuanlibin/p/8549970.html

一顿操作之后成功cmake+make+make install

中间遇到的一个主要问题是cmake过不了,原因是需要的libusb版本要求>=1.0.20,而apt-get到的为1.0.0,所以下了源码编译安装,安装完后就能cmake过了

编译安装完毕,运行demo时能够正常启动kinect,但是发现摄像头图像没法弹出来,检查了一下发现是vaapi安装有问题,导致没法正常显示图像

报错信息如下:

[Error]  [VaapiRgbPacketProcessorImpl] vaDisplayIsValid(display) failed

这个东西找了几个教程还是没有找到靠谱的安装方法,鉴于不是什么太要命的问题(?

先把ros的接口给安装了

然后果然又出幺蛾子

报错:

No module  catkin_dkg.package

解决:

  conda install setuptools
  pip install -U       rosdep rosinstall_generator wstool rosinstall six vcstools

Iai-kinect2安装完后

直接运行

roslaunch  kinect2_bridge kinect2_bridge.launch

会报错找不到launch文件

需要在~/catin_ws下面执行source devel/setup.bash

launch完这个线程之后去开rosrun的时候同样需要执行source,而且设定上每次都要,当然也可以直接修改ubuntu启动文件~/.bashrc

这样这边的环境安装算是搞定了,但是问题还是没法弹出图像窗口来,不用想都知道是上面一步留的坑

OK,目前这个是最烦人,最有待解决的问题了

[Error]  [VaapiRgbPacketProcessorImpl] vaDisplayIsValid(display) failed

慢慢查怎么搞吧

最烦的是这个问题在网上并不能搜索到什么结果,stackoverflow上面也没有

最惨的是我找到唯一一个相关的问答下,做这个的人快乐的选择了……..quit????

虽然表象上来说是vaapi出的问题,但是我总觉得根源上是别的东西有麻烦,毕竟我安装得时候基本就是按照正常得步骤去装的

开始安装orb-slam

http://www.luyixian.cn/news_show_3614.aspx

装高版本的Pangolin出了一堆bug,所以换个低点的版本来装

最后装ORB_SLAM2的时候在运行build.sh时会报几个usleep未定义的错

一个一个找到之后把unistd.h给include进去就行了,也不知道为啥会有这么傻逼的问题

基本上就操作完毕了

https://blog.csdn.net/myarrow/article/details/53045405

回头可以跑跑demo玩