实车部署采用速腾聚创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的博客-CSDN博客   

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

  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 速腾聚创16雷达是一种激光雷达传感器,用于测量周围环境的距离和位置信息。而lego-loam是一种基于激光雷达数据的SLAM算法,用于实现机器人的自主定位和建图。这两种技术可以结合使用,实现更精确的定位和建图效果。 ### 回答2: 速腾聚创16雷达 lego-loam 是一种用于自动驾驶的传感器系统。该系统使用激光雷达技术来捕获车辆周围的环境信息,包括车道、地面高度、障碍物等。 该系统使用的是速腾聚创 16 线激光雷达,这是一种高精度的激光雷达,能够在不同光照条件下工作,具有长距离探测能力。它具有 360 度视角,可以同时扫描车辆周围的环境,并提供高分辨率的地图。 而 lego-loam 是一种自主车辆定位与地图建立算法。它利用激光雷达、惯性测量单元和视觉传感器来实现实时的车辆定位和地图构建,并且可以适应不同的路况和地形。该算法还可以利用视觉传感器来跟踪车辆的运动,从而提高自主驾驶系统的精度和可靠性。 但是同时速腾聚创16雷达 lego-loam 在使用过程中也存在一些问题,比如激光雷达会受到天气和光照条件的影响,可能会失效或数据质量较差;同时,算法也需要不断优化和更新,以适应不同场景和路况。 总之,速腾聚创16雷达 lego-loam自动驾驶技术中必不可少的传感器和算法系统,但是在实际使用中需要综合考虑各种因素,不断优化和改进,以确保自动驾驶技术的安全和可靠性。 ### 回答3: 速腾聚创16雷达 lego-loam是一种用于自主驾驶的传感器技术,它可以帮助汽车感知周围的环境和障碍物,从而实现智能驾驶。该技术采用了多模式感知技术,包括激光雷达、视觉传感器、GPS等,可以实现高精度的环境感知和实时地图构建。 速腾聚创16雷达 lego-loam作为一种多模式传感器技术,具有高精度、快速响应、低功耗等优点。它可以在各种天气和光照条件下正常工作,可以实现实时定位和精确地图绘制。此外,该技术在多车道和复杂路况下也能够实现稳定和可靠的感知和控制。 总之,速腾聚创16雷达 lego-loam的出现对于自主驾驶技术的发展有着重要的促进作用。它能够充分利用多模式感知技术来实现高精度和实时的环境感知,同时还可以优化系统的计算和通信效率,从而提高自主驾驶系统的安全性和可靠性。随着技术不断的发展和完善,相信未来将会有更多更先进、更智能的自主驾驶系统问世,为人类的出行和生活带来更大的便利和效益。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值