LOAM系列——LeGO-LOAM配置、安装、问题解决及VLP16测试效果以及关键记录

LOAM系列——LeGO-LOAM配置、安装、问题解决及VLP16测试效果以及关键记录

安装依赖

  1. ros
  2. gtsam

  wget -O ~/Downloads/gtsam.zip https://github.com/borglab/gtsam/archive/4.0.0-alpha2.zip
  cd ~/Downloads/ && unzip gtsam.zip -d ~/Downloads/
  cd ~/Downloads/gtsam-4.0.0-alpha2/
  mkdir build && cd build
  cmake ..
  sudo make install

安装

cd ~/test_ws/src
git clone https://github.com/RobustFieldAutonomyLab/LeGO-LOAM.git
cd ..
catkin_make -j1

如果你的工作空间中含有多个package包,并且你只想编译LeGO功能包,可以执行下面命令:

cd ~/test_ws/src
git clone https://github.com/RobustFieldAutonomyLab/LeGO-LOAM.git
cd ..
catkin_make -DCATKIN_WHITELIST_PACKAGES="cloud_msgs"
catkin_make -DCATKIN_WHITELIST_PACKAGES="lego_loam"

VLP16 bag测试

cd ~/test_ws
source ./devel/setup.bash
roslaunch lego_loam run.launch

cd ~/test_bag
rosbag play indoor_2021-03-30-15-27-23.bag --clock --topic /velodyne_points /imu/data

其中 run.launch 内容如下:

<launch>
    
    <!--- Sim Time -->
    <param name="/use_sim_time" value="true" />

    <!--- Run Rviz-->
    <node pkg="rviz" type="rviz" name="rviz" args="-d $(find lego_loam)/launch/test.rviz" />

    <!--- TF -->
    <node pkg="tf" type="static_transform_publisher" name="camera_init_to_map"  args="0 0 0 1.570795   0        1.570795 /map    /camera_init 10" />
    <node pkg="tf" type="static_transform_publisher" name="base_link_to_camera" args="0 0 0 -1.570795 -1.570795 0        /camera /base_link   10" />

    <!--- LeGO-LOAM -->    
    <node pkg="lego_loam" type="imageProjection"    name="imageProjection"    output="screen"/>
    <node pkg="lego_loam" type="featureAssociation" name="featureAssociation" output="screen"/>
    <node pkg="lego_loam" type="mapOptmization"     name="mapOptmization"     output="screen"/>
    <node pkg="lego_loam" type="transformFusion"    name="transformFusion"    output="screen"/>

</launch>

如果觉得启动两个终端比较麻烦,可以将bag包命令也写入launch文件中,执行下面命令即可:

cd ~/test_ws
source ./devel/setup.bash
roslaunch lego_loam run_VLP16_bag.launch

run_VLP16_bag.launch 内容如下:

<launch>
    
    <!--- Sim Time -->
    <param name="/use_sim_time" value="true" />

    <node pkg="rosbag" type="play" name="rosbag_play" args="--clock -r 0.5 $(env HOME)/test_bag/indoor_2021-03-30-15-27-23.bag"/> 

    <!--- Run Rviz-->
    <node pkg="rviz" type="rviz" name="rviz" args="-d $(find lego_loam)/launch/test.rviz" />

    <!--- TF -->
    <node pkg="tf" type="static_transform_publisher" name="camera_init_to_map"  args="0 0 0 1.570795   0        1.570795 /map    /camera_init 10" />
    <node pkg="tf" type="static_transform_publisher" name="base_link_to_camera" args="0 0 0 -1.570795 -1.570795 0        /camera /base_link   10" />

    <!--- LeGO-LOAM -->    
    <node pkg="lego_loam" type="imageProjection"    name="imageProjection"    output="screen"/>
    <node pkg="lego_loam" type="featureAssociation" name="featureAssociation" output="screen"/>
    <node pkg="lego_loam" type="mapOptmization"     name="mapOptmization"     output="screen"/>
    <node pkg="lego_loam" type="transformFusion"    name="transformFusion"    output="screen"/>

</launch>

测试视频

lego_loam

源文件下载链接

问题解决

问题1

如若在运行 roslaunch lego_loam run.launch 时,出现: yourbag_ws/devel/lib/lego_loam/mapOptmization: error while loading shared libraries: libmetis.so: cannot open shared object file: No such file or directory

解决1

sudo apt-get install libmetis-dev

关键记录

介绍

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

关键代码

Lego-LOAM安装、调试与运行依赖于多个外部库和环境配置,以下为详细的依赖条件和环境要求: ### 1. 操作系统要求 Lego-LOAM 主要在 **Ubuntu 16.04 / 18.04 / 20.04** 上进行开发与测试,推荐使用 **Ubuntu 18.04** 以兼容 ROS Melodic 和大多数依赖库[^1]。 ### 2. ROS(Robot Operating System)环境 - **ROS版本**:Lego-LOAM 基于 ROS 开发,需安装 **ROS Melodic**(适用于 Ubuntu 18.04)或 **ROS Noetic**(适用于 Ubuntu 20.04)。 - 需要配置好 `catkin` 工作空间,并正确设置 ROS 环境变量。 ### 3. 依赖库安装 Lego-LOAM 依赖以下关键库,需在安装前完成配置: #### 3.1 PCL(Point Cloud Library) - 用于点云数据处理。 - 安装命令: ```bash sudo apt-get install libpcl-dev ``` #### 3.2 OpenCV - 用于图像处理和特征提取。 - 推荐使用 OpenCV 3.x 或 4.x,可通过系统包安装或手动编译。 #### 3.3 Eigen - 用于矩阵运算和线性代数操作。 - 安装命令: ```bash sudo apt-get install libeigen3-dev ``` #### 3.4 GTSAM(Georgia Tech Smoothing and Mapping Library) - 用于因子图优化。 - 需从源码安装,推荐版本为 4.0.0 或 4.0.2。 - 安装步骤示例: ```bash git clone https://github.com/borglab/gtsam.git cd gtsam mkdir build && cd build cmake .. make -j4 sudo make install ``` #### 3.5 LeGO-LOAM 自身依赖 - ROS 的 `sensor_msgs`、`nav_msgs`、`geometry_msgs` 等标准消息类型。 - ROS 的 `tf` 和 `pcl_ros` 转换工具。 ### 4. 编译工具链 - **CMake**:用于构建项目。 - **g++/gcc**:C++ 编译器。 - **Git**:用于获取源码。 ### 5. 硬件要求 - **激光雷达(LiDAR)**:支持 16 线或 32 线 Velodyne 系列雷达(如 VLP-16、HDL-32E)。 - **IMU(惯性测量单元)**:用于提供姿态信息,提升建图与定位精度。 - **计算平台**:推荐使用中高端笔记本或嵌入式设备(如 NVIDIA Jetson AGX Xavier)。 ### 6. 数据集与仿真支持 - 可使用 KITTI 数据集进行测试与验证。 - 使用 ROS bag 文件进行数据回放测试- 可通过 `rviz` 进行可视化调试。 ### 7. 编译与运行步骤 1. 将 LeGO-LOAM 源码放入 `catkin_ws/src` 目录下。 2. 执行 `catkin_make` 编译工作空间。 3. 启动雷达驱动节点和 IMU 驱动节点。 4. 运行 `roslaunch lego_loam run.launch` 启动 SLAM 系统。 ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值