课题:三维激光SLAM Loam Lego-loam 复现

入门记录: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

  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值