入门记录:loam;LeGo-loam;复现记录,艰难的解决不少问题,留作备份,方便以后查找。
Loam 复现
环境搭建:VMware15.5Pro Ubuntu16.04 依赖:ros;pcl
避坑:当前时间节点下,Ubuntu20.04还是太新,太多依赖包不支持,复现失败。Ubuntu18不稳定也复现失败。最终选择环境较为成熟的Ubuntu16.04。
感谢指引,传送门:
Ubuntu16.04下快速安装ROS Kinetic_1、、的博客-CSDN博客_ubuntu16.04安装ros
有可能出现ros的初始化错误问题,解决如下。
出现错误:ros安装中 rosdep update 出错,原因:有墙或者网络问题,多尝试几次不行就如下解决办法。(博主是有墙网站连接超时)
错误是:【https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml 】等5个网站被墙ERROR即ros 安装遇到 raw.githubusercontent.com无法访问。
解决办法:终端打开:sudo vim /etc/ros/rosdep/sources.list.d/20-default.list
提示:vim的安装与命令使用方法自行百度。
使用GitHub网站代理【https://ghproxy.com/】,修改成如下。再多试几次,不行就再修改hosts。
# os-specific listings first
yaml https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml osx
# generic
yaml https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml
yaml https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml
yaml https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml
gbpdistro https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml fuerte
# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead
至此ros安装成功。
loam复现指引:https://blog.csdn.net/HHT0506/article/details/104550050
按照上面的教程走,基本是没有错误。本人平稳跑完。
复现成功:
loam 以上
LeGo-loam
环境搭建:VMware15.5Pro Ubuntu16.04 依赖:ros;gtsam
避坑:同上。Ubuntu20.04环境中gtsam安装失败。Ubuntu18中gtsam安装失败。
安装gtsam
1. 依赖
Boost >= 1.43
CMake >= 2.6
sudo apt-get install libboost-all-dev
sudo apt-get install cmake
2. 下载gtsam
cd ~
git clone https://bitbucket.org/gtborg/gtsam.git
3. 编译并安装
cd ~/gtsam
mkdir build
cd build
cmake ..
make check #可选的,运行单元测试,我没执行这个命令,因为太慢了,太慢了,太慢了
sudo make install
以上gtsam安装成功。
创建ros工作空间并下载编译LeGO-LOAM
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
git clone https://github.com/RobustFieldAutonomyLab/LeGO-LOAM.git
cd ..
catkin_make -j1
问题如下:在 catkin_make -j1 时候出现如下错误,原因:安装的gtsam包有问题需要修改。
CMake Error at /usr/share/cmake-3.5/Modules/CMakeFindDependencyMacro.cmake:45 (message):
Invalid arguments to find_dependency
Call Stack (most recent call first):
/usr/local/lib/cmake/GTSAM/GTSAMConfig.cmake:17 (find_dependency)
LeGO-LOAM/LeGO-LOAM/CMakeLists.txt:23 (find_package)
-- Configuring incomplete, errors occurred!
See also "/home/chenyi/legoloam_ws/build/CMakeFiles/CMakeOutput.log".
See also "/home/chenyi/legoloam_ws/build/CMakeFiles/CMakeError.log".
Makefile:1508: recipe for target 'cmake_check_build_system' failed
make: *** [cmake_check_build_system] Error 1
Invoking "make cmake_check_build_system" failed
需要将gtsam的cmake中一个find_dependency改成find_package
解决如下:新建终端打开:sudo vim /usr/local/lib/cmake/GTSAM/GTSAMConfig.cmake
移动到第17行,修改成如下:
find_package(Boost 1.43 COMPONENTS
在重新运行 catkin_make -j1 至此错误解决。
运行Lego-loam
打开新终端:
cd ~/catkin_ws
source ./devel/setup.bash
roslaunch lego_loam run.launch
运行数据集 Rviz播放数据集
将数据集【nsh_indoor_outdoor.bag】放在【catkin_ws】文件夹下,打开新终端:
cd ~/catkin_ws
rosbag play --clock nsh_indoor_outdoor.bag
Lego-loam复现成功
以上loam ;Lego-loam 全部复现成功,从开始复现到最后复现成功,耗时整整两周,记录。
2021.11.05 15:00