首先了解一下什么是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玩
原文地址:https://www.cnblogs.com/sasasatori/p/11618847.html