实车部署采用速腾聚创RS16激光雷达的LeGo-LOAM

1. 前言

        本博客主要记录博主在实车上的部署过程,帮助各位快速完成LeGo-LOAM的实车部署。主要包括:通过RS-16的rslidar-sdk得到点云数据,LeGo-LOAM测试数据集下载与部分代码修改两部分内容。

2. RS-16的驱动配置

 2.1 rslidar_sdk下载

mkdir slam_ws && cd slam_ws

mkdir src && cd src

git clone https://github.com/RoboSense-LiDAR/rslidar_sdk.git
cd rslidar_sdk
git submodule init
git submodule update

 2.2 config/config.yaml修改

        1)16行 lidar_type: RS16

        2)22行 min_distance: 0.9

        3)18行 msop_port: 6699

        4)19行 difop_port: 7788

2.3 CMakeLists.txt修改

        1)8行 set(COMPILE_METHOD CATKIN)

        2)13行 set(POINT_TYPE XYZIRT)

2.4 依赖库安装

sudo apt-get install libyaml-cpp-dev libpcap-dev

sudo apt-get install libprotobuf-dev protobuf-compiler

2.5 编译

cd ..
catkin_make

2.6 试运行

source devel/setup.bash

roslaunch rslidar_sdk start.launch

3. RS_to_VLP points

  由于LOAM算法都是应用的VLP激光雷达,所以先到下面的链接下在点云转换代码

cd slam_ws/src

git clone https://github.com/HViktorTsoi/rs_to_velodyne.git

cd ..

catkin_make

但是由于最新版的rs_sdk将强度信息调整为了float格式,所以需要将上述代码 中第30 37行的uint8_t替换成float

4. LeGo-LOAM部署

4.1 gtsam安装

git clone https://bitbucket.org/gtborg/gtsam.git

cd ~/gtsam
mkdir build
cd build
cmake ..
sudo make install

 4.2 下载并编译LeGO-LOAM

cd slam_ws/src
git clone https://github.com/RobustFieldAutonomyLab/LeGO-LOAM.git
cd ..
catkin_make

4.3  LeGO-LOAM代码修改与问题解决

1)run.launch中<param name="/use_sim_time" value="true"/>改为<param name="/use_sim_time" value="false"/>

2)utility.h中的:#include<opencv/cv.h>,修改为#include <opencv2/imgproc.hpp>

3)CMakeList.txt的修改

set(CMAKE_CXX_FLAGS "-std=c++14")

4)报错:‘Index’ is not a member of ‘Eigen’与更改

参考

从https://github.com/RobustFieldAutonomyLab/LeGO-LOAM/issues/215.

voxel_grid.h中报错的Eigen::Indexx修改成int

5)/usr/bin/ld问题

出现报错

/usr/bin/ld: 找不到 -lBoost::serialization
/usr/bin/ld: 找不到 -lBoost::thread
/usr/bin/ld: 找不到 -lBoost::timer
/usr/bin/ld: 找不到 -lBoost::chrono

 在CMakeLists中加入

find_package(Boost REQUIRED COMPONENTS timer thread serialization chrono)

6) Failed to transform from frame [/camera] to frame [map]的报错问题解决

将"/camera_init"换成"camera_init",将"/camera"换成"camera" ,将"/map"换成"map"

4 数据集试运行

数据集的百度云地址:https://pan.baidu.com/s/1SkrqfN82il1m6jhkLZT-WA. 密码: oqo8

 运行lego-loam(黑屏别慌)

source devel/setup.bash

roslaunch lego_loam run.launch

运行数据集(也可以rosbag play刚才百度云地址中下载的)

source devel/setup.bash

rosbag play *.bag --clock --topic /velodyne_points /imu/data

4 实车部署

  先运行rslidar节点

source devel/setup.bash

roslaunch rslidar_sdk start.launch

再运行rs_to_velodyne节点

source devel/setup.bash

rosrun rs_to_velodyne rs_tovelodyne XYZIRT XYZIR (LeGO-LOAM需要的雷达点云是XYZIR格式的,话题还是velodyne_points)

最后运行lego_loam

source devel/setup.bash

roslaunch lego_loam run.launch

可以遥控撒欢跑了~!!!!!!!!

4.参考

 用速腾RS16跑LeGO-LOAM_rs16 运行loam_XinkaiZed的博客-优快云博客   

九.激光SLAM框架学习之LeGO-LOAM框架---速腾Robosense-16线雷达室外建图和其他框架对比、录包和保存数据_legoloam保存pcd_goldqiu的博客-优快云博客

<think>好的,用户想了解Lego-LOAM的安装、配置和使用教程。首先,我需要回忆一下相关的引用内容,确保信息准确。引用[1]提到了基于速腾雷达的配置,需要在.bashrc中添加库路径。引用[2]说明了如何运行LeGO-LOAM,使用source和roslaunch命令。引用[3]提到韩国KAIST的代码库,以及雷达参数修改,特别是utility.h文件的调整。 接下来,用户可能需要详细的步骤指导。我应该分步骤来写,先安装依赖,然后编译源码,接着配置雷达参数。注意不同雷达的适配,比如速腾或Ouster,需要修改不同的文件,如utility.h。然后,运行部分需要说明启动命令,可能包括数据包播放和时建图的不同情况。最后,常见问题处理也很重要,比如依赖缺失或参数错误。 需要确保用户按照步骤操作时不会遇到障碍,所以每个步骤都要清晰,比如安装ROS和PCL库,使用catkin_make编译,修改参数的具体位置。同时,引用相关的参考文献,标明来源,让用户知道信息可靠性。可能还需要提醒用户注意雷达类型的不同配置,避免出错。 最后,生成相关问题要考虑用户可能的后续疑问,比如与其他SLAM算法的比较,建图优化方法,或者特定雷达的配置问题。确保问题覆盖用户潜在的需求,帮助他们进一步探索。</think>### Lego-LOAM 安装与配置教程 #### 一、环境准备 1. **系统要求** - Ubuntu 16.04/18.04 + ROS Kinetic/Melodic - 安装依赖库: ```bash sudo apt-get install ros-<distro>-pcl-ros ros-<distro>-velodyne-msgs ``` (替换 `<distro>` 为际ROS版本,如 `melodic`) 2. **源码下载** ```bash cd ~/catkin_ws/src git clone https://github.com/RobustFieldAutonomyLab/LeGO-LOAM.git ``` #### 二、编译与配置 1. **编译源码** ```bash cd ~/catkin_ws catkin_make -j1 ``` (首次编译建议单线程以避免依赖问题[^2]) 2. **雷达参数配置** - **速腾雷达(Robosense)**:修改 `utility.h` 文件,调整 `N_SCAN` 和 `Horizon_SCAN` 参数以匹配雷达线数[^1]。 - **Ouster雷达**:需在 `utility.h` 中注释原有雷达类型,并启用 `#define USE_OUSTER`[^3]。 - 示例修改: ```cpp extern const int N_SCAN = 64; // 雷达垂直通道数 extern const int Horizon_SCAN = 1024; // 单圈水平点数 ``` #### 三、运行与建图 1. **启动程序** ```bash source devel/setup.bash roslaunch lego_loam run.launch ``` (需提前在 `.bashrc` 中添加雷达驱动库路径[^1]) 2. **数据输入** - **离线数据包**:播放ROS bag文件 ```bash rosbag play --clock <bagfile>.bag ``` - **时雷达数据**:确保雷达驱动节点已发布 `/velodyne_points` 或对应Topic。 3. **输出结果** - 时点云地图保存于 `/integrated_to_init` Topic - 使用Rviz可视化: ```bash rviz -d src/LeGO-LOAM/LeGO-LOAM/rviz/robotool.rviz ``` #### 四、常见问题 1. **依赖缺失**:若编译报错,检查 `PCL` 和 `Eigen3` 是否安装完整。 2. **雷达参数错误**:点云错位或缺失时,需重新校准 `N_SCAN` 和 `Horizon_SCAN`[^3]。 3. **建图漂移**:尝试降低运动估计阈值或融合IMU数据。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值