Lego-Loam代码跑开源数据包--小白成功案例分享
安装环境:Ubuntu18.04+ROS Melodic Morenia
1. 安装GTSAM
我在这里没遇到什么障碍
这里是引用
git clone https://bitbucket.org/gtborg/gtsam.git
需要注意是在解压后的文件夹右键进入终端,执行下面的代码:
mkdir build
cd build
cmake ..
make check (可省略)
make install
这里最后一步可能会报错,报错如下图所示:
-- Install configuration: "Release"
-- Installing: /usr/local/lib/cmake/GTSAM/gtsam_extra.cmake
CMake Error at cmake_install.cmake:49 (file):
file INSTALL cannot copy file
"/home/xie/catkin_ws1/src/gtsam/build/gtsam_extra.cmake" to
"/usr/local/lib/cmake/GTSAM/gtsam_extra.cmake".
Makefile:128: recipe for target 'install' failed
make: *** [install] Error 1
可能是管理权限的问题,执行以下代码即可:
sudo make install
参考网站:https://blog.csdn.net/qq_43145072/article/details/92770932?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control#commentBox
//
https://blog.csdn.net/JiaXie15/article/details/108368862?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-4.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-4.control
2. 下载、编译LeGO-LOAM
- 参考第一篇参考网站即可。
这里是引用
cd ~/catkin_ws/src (换成自己的ROS工作空间)
git clone https://github.com/RobustFieldAutonomyLab/LeGO-LOAM.git
重新打开一个终端
cd ~/catkin_ws
catkin_make -j1
第一次没有遇到错误,后来重装的时候遇到了下面的报错:
CMake Error at /opt/ros/melodic/share/catkin/cmake/catkin_workspace.cmake:100 (message):
This workspace contains non-catkin packages in it, and catkin cannot build
a non-homogeneous workspace without isolation. Try the
'catkin_make_isolated' command instead.
Call Stack (most recent call first):
CMakeLists.txt:69 (catkin_workspace)
-- Configuring incomplete, errors occurred!
See also "/home/xie/catkin_ws1/build/CMakeFiles/CMakeOutput.log".
See also "/home/xie/catkin_ws1/build/CMakeFiles/CMakeError.log".
Invoking "cmake" failed
然后执行(把catkin_ws工作空间目录下的devel/):
catkin_make_isolated
这里每次编译gtsam时间比较久,后期可以单独编译一个或者多个包:
3. 运行LeGO-LOAM代码
roslaunch lego_loam run.launch
1. 遇到的bug如图所示 :
error while loading shared libraries: libmentis.so: cannot open shared libraries: libmetis.so: cannot open shared object file: No such file or directory
- 搜索结果大部分是说找不到相应的库文件,需要添加所需动态库的搜索路径 ,网上可以搜到多种办法,参考网站如下:
https://blog.csdn.net/szullc/article/details/85276248
https://www.codetd.com/article/4650318
https://blog.csdn.net/deeplan_1994/article/details/83927832;
3. 我试了上述网站中的一些方法,还是会报错,直到我看到了下面这个网站,只需一行代码,即可解除错误,原因是少安装了一个包!!!
sudo apt-get install libparmetis-dev
https://blog.csdn.net/qq_40834521/article/details/108424540 ;
4. 成功后四个节点都会启动,界面如下图:
;
我第二次重装遇到了下面的报错,如果你也遇到可以试一下:
把catkin_ws工作空间目录下的devel/;build;devel_isolated;build_isolated文件夹全部删掉,然后执行:
catkin_make_isolated
报错:
4. 运行数据包
1. 启动launch文件后Rviz也会被启动,此时会报错,界面如下:
这个现象是正常的,因为没有数据传入;
2. 打开新的终端,启动数据包的回放,代码如下:
rosbag play ~/build/nsh_indoor_outdoor.bag --clock --topic /velodyne_points /imu/data
其中,~/build为存放nsh_indoor_outdoor.bag数据包的文件夹目录(我的包是放在home下的build文件夹中),需要改成你存放数据包的路径,后面不变即可。
3. 成功在Rviz中显示数据包的点云数据:
5. 感谢本文所参考链接的博主们的分享
[1] https://blog.csdn.net/qq_43145072/article/details/92770932?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control#commentBox
[2] https://blog.csdn.net/JiaXie15/article/details/108368862?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-4.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-4.control
[3] https://blog.csdn.net/shanpenghui/article/details/103196268?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.control
[4] https://blog.csdn.net/szullc/article/details/85276248
[5] https://www.codetd.com/article/4650318
[6] https://blog.csdn.net/deeplan_1994/article/details/83927832
[7] https://blog.csdn.net/qq_40834521/article/details/108424540