本来快要配置结束了,结果安装realsense ROS wrapper 之后启动launch文件总是显示找不到节点,搜索,说是可能catkin_ws中加入别的文件导致这个问题,需要把build和devel删掉,重新执行catkin_make。遂执行 rm -rf build devel.应该是命令写错了,src 中的文件也全部被删掉了.......哭死,只能从头再来,这一次,做全程的记录,按照官方文档进行安装。
环境:windows10 + VMware15.0+ubuntu16.04 + ROS kinetic + orb-slam2 + usb摄像头
一、虚拟机的安装(ubuntu 16.04)
遇到的问题和注意的点:
1、realsense D435i 的运行需要USB3.0接口,所以在虚拟机的hardware中 USB Controller 的 USB compatibility 选择 USB 3.0.
2、虚拟机的安装要安装成64位的话,如果显示主机不支持64位,进入主机的BOOT设置VT(Visual Technology) 为 Enabled .
3.本机8G内存,开始分配2G,不够用总是内存占用90%多,分配到最大:3G.
二、ROS kenitic 的安装
参照官网教程
http://wiki.ros.org/kinetic/Installation/Ubuntu
问题点:
1.记得设置软件更新里的选项,还有换源,目前国内清华的源最好。
2.安装桌面完整版。
三、orb-slam2 安装
参考教程
https://blog.itswcg.com/2018-03/orb-slam2-run.html
问题点:
1.安装Pangolin
(1)执行
make
虚拟机内存满,然后卡死,等待,安装失败。
解决办法:
https://blog.csdn.net/zzu_seu/article/details/84866858
下载旧版的代码。
(2)./build_ros.sh
遇到问题 Undefined reference to symbol ‘_ZN5boost6system15system_categoryEv’
一定是Expamples/ROS/ROS_SLAM2/ 下的 CMakelist.txt 改成上面那样的,最后加一行 -lboost_system
2. 下载数据集进行ORB-SLAM2测试
(1)直接在虚拟机下下载速度特别慢,所以选择主机下载然后拷进去。这时需要设置主机和虚拟机的共享文件夹。
参考:
https://blog.csdn.net/qq_31180393/article/details/79891890
设置完之后一定要点OK(英文版是OK,我感觉中文版也是),一定一定!要不虚拟文件夹是不会出来的。
(2)数据集放进去了,也解压了,现在执行命令,但是没有反应。在等!
没戏了,给了命令没反应,查找原因。
(3)没找到原因,重新安装编译,这次成功。
期间做了几个改变,在此记录:
1.opencv 改用2.4.11版本,不用3.2版本。
2.数据集没有生成associations.txt5文件,按照教程下载accociate.py.执行脚本,生成关联文件。也就是说,要严格按照教程来。
3.因为是用的虚拟机,从网上下载的数据集,经过一次解压并不能直接用。所以先在windows下完全解压(能够打开里面看到depth.txt 和rgb.txt 等),然后通过共享文件夹拷入,ORBSLAM2的目录。
执行命令,不赘述,成功。
4.编译ros并运行自己的usb摄像头。
1.摄像头节点usb_cam下载编译。我是下载再catkin_ws/src中。完事别忘了catkin_make和 source ~/.bashrc
2.编译orb_slam2的ros节点(很多教程)
3.遇到一个问题,就是节点编译完之后,运行时找不到节点。查找原因,目录未被包含进ROS的路径。解决方法。
https://blog.csdn.net/qq_38347931/article/details/80267150
4.一定要确定自己的工作空间路径全都包含进里面了。特别是orb_slam2的ros包所在的路径。不仅是这一次,以后所有的ros包编译之后都要确定已经包含进路径了。
5.对自己的摄像头进行标定,然后生成.yaml文件。我用ROS的标定功能包进行标定,生成的,yaml文件和orb_slam2中的.yaml文件的格式不一样,进行了修改。教程:
https://blog.csdn.net/qq_36122936/article/details/88548052
6.然后启动usb_cam 节点,打开终端 输入
roslaunch usb_cam usb_cam-test.launch
启动orb_slam2节点
rosrun ORB_SLAM2 Mono /home/walter/catkin_ws/src/ORB_SLAM2/Vocabulary/ORBvoc.txt /home/walter/catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/mycam.yaml
运行成功!
记得每次编译完 source一下 ~/.bashrc
此次博客记录不详细,时间紧没办法,只能记一下自己踩过的坑,希望以后不要忘了!
此致敬礼!
誓做五好青年!