git clone https://bitbucket.org/gtborg/gtsam.git
mkdir build
cd build
cmake ..
make check (可省略)
make install
重新构建Lego-Loam代码运行开源数据包–小白成功案例分享。安装环境:我使用的是Ubuntu18.04和ROS Melodic Morenia。首先,需要安装GTSAM。在这一步中,我没有遇到任何问题。请注意,在解压后的文件夹中,右键点击进入终端,并执行以下代码:
-- 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
cd ~/catkin_ws/src (换成自己的ROS工作空间)
git clone https://github.com/RobustFieldAutonomyLab/LeGO-LOAM.git
在这一步中,可能会遇到报错,报错信息如下图所示。这可能是由于权限问题导致的。执行以下代码即可解决:
安装gtsam报错参考链接
参考网站:
// 2. 下载、编译LeGO-LOAM,可以参考第一篇参考网站。在这一步中,我遇到了以下问题:
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_make_isolated
roslaunch lego_loam run.launch
重新打开一个终端,第一次编译时没有遇到错误,但在重新安装时,遇到了以下报错:
然后执行以下命令(将catkin_ws工作空间目录下的devel/替换为实际路径):
这一步中,编译gtsam可能需要一些时间。后续可以单独编译一个或多个包,以提高效率。关于catkin_make -j1的介绍,请参考以下网站:
- 运行LeGO-LOAM代码
error while loading shared libraries: libmentis.so: cannot open shared libraries: libmetis.so: cannot open shared object file: No such file or directory
sudo apt-get install libparmetis-dev
在运行过程中,我遇到了以下问题:
-
我遇到的一个bug如下图所示。搜索结果大部分都是关于找不到相应的库文件,需要添加所需动态库的搜索路径。有多种解决方法可以在网上找到,可以参考以下网站:
-
我尝试了上述网站中的一些方法,但仍然遇到错误,直到我看到了下面这个网站。只需要一行代码即可解决错误,原因是我少安装了一个包!!!
catkin_make_isolated
- 成功解决后,四个节点都会启动,界面如下图所示。
在第二次重新安装时,我遇到了以下报错。如果您也遇到了相同的问题,可以尝试以下方法:删除catkinws工作空间目录下的devel/、build/、develisolated/、build_isolated/文件夹,然后执行以下命令:
rosbag play ~/build/nsh_indoor_outdoor.bag --clock --topic /velodyne_points /imu/data
报错信息如下:
-
运行数据包
-
启动launch文件后,Rviz也会启动,此时会报错,界面如下图所示。这是正常现象,因为没有数据输入。
-
打开新的终端,启动数据包的回放,代码如下:
其中,~/build是存放nshindooroutdoor.bag数据包的文件夹路径(我的数据包存放在home目录下的build文件夹中),您需要将其替换为您存放数据包的路径,其他部分保持不变即可。
-
成功在Rviz中显示数据包的点云数据。
-
感谢本文所参考链接的博主们的分享:[1] [2] [3] [4] [5] [6] [7]