真是一言难尽,安装一步一个坎,算吧差不多花了一天时间,还好最后成功啦!
上一篇对PCL的安装及测试进行了介绍,下面开始安装LOAM和利用bag运行。
参照https://blog.csdn.net/weixin_44684139/article/details/109705123
1.开始进行编译
cd catkin_ws
catkin_make
到catkin_make就开始出问题了,存在ros工作空间不能编译的包,查找了一些资料说删除对应包就可以了,但是去找了之后,发现除了ORB SLAM ,Opencv等之前已经安装成功的之外就剩下loam了。
2.于是决定,按照提示来,执行catkin_make_isolated,应该是把不能编译的隔离出去编译,然后又出现make[2]: *** No rule to make target的问题。
3.按照提示找到loam_velodyne,make -j4还是不行,参照一篇博主的方法解决了,具体哪个找不到了,就记得复制一段代码,就可以了,不得不说大佬真的多。
因为我这个 catkin_下还有usb_cam,ORB_SLAM之类的包,所以最后显示的是usb_cam_node
100%。
4.最后开始使用bag运行,bag包可以从下面百度云文件下载:
https://pan.baidu.com/s/1DO3f4a2klvb-RFpHmyZHpA 提取码: vixm
成功之后记得把文件放在catkin_ws文件下,这样方便查找,要不后续运行时还得使用文件路径查找,在catkin_ws文件下打开终端,打开第一个窗口执行:
source devel/setup.bash
roslaunch loam_velodyne loam_velodyne.launch
5.这时又开始出问题了,一百个无语...
ERROR: cannot launch node of type [rviz/rviz]: rviz
这类错误应该是安装包丢失了,或者没有安装,重新安装即可:
sudo apt-get install ros-kinetic-rviz
6.这个问题解决了,重新roslaunch,又来问题了,一千个无语...
ERROR: cannot launch node of type [loam_velodyne/multiScanRegistration]: can't locate node [multiScanRegistration] in package [loam_velodyne]
ERROR: cannot launch node of type [loam_velodyne/laserOdometry]: can't locate node [laserOdometry] in package [loam_velodyne]
ERROR: cannot launch node of type [loam_velodyne/laserMapping]: can't locate node [laserMapping] in package [loam_velodyne]
ERROR: cannot launch node of type [loam_velodyne/transformMaintenance]: can't locate node [transformMaintenance] in package [loam_velodyne]
不能在loam_velodyne文件下找到那四个,找了一些方法,有的说把.cpp格式改成允许可执行文件:
然而,并没有什么用,可能是生成的可执行文件没在这个目录下,于是想起来了第二步用的catkin_make_isolated,找了一下,发现生成的可执行文件在下面位置:
并没有在src内的loam_velodyne里面,所以报错找不到,于是把上面四个可执行文件复制到,catkin_ws/src/loam_velodyne下面:
7.重新执行:
source devel/setup.bash
roslaunch loam_velodyne loam_velodyne.launch
此时RVIZ界面就显示出来了,但是没有点云,需要使用下载的bag包。
8.在catkin_ws文件夹下,再打开一个终端窗口,输入:
source devel/setup.bash
rosbag play nsh_indoor_outdoor.bag
如果bag包不在catkin_ws文件下,需要在nsh_indoor_outdoor.bag前面加上包的路径,才能查找到,否则会报错。
9.最后运行结果如下:
写在最后:
开学研一的小白,如有不合理的地方,还请大家见谅。
日后有时间就会记录遇到的问题和解决方法, 如果有用麻烦点个赞,加个关注。
希望能和志同道合的朋友们互相交流,一起进步,还请不吝赐教。