使用速腾雷达32线Helios和fast-LIO2算法建图(一)

一、配置激光雷达数据

参考链接Ubuntu18.04 安装速腾聚创最新驱动RSLidar_SDK采集XYZIRT格式的激光点云数据 --SLAM不学无术小问题
下载驱动文件内部也有使用说明
第一步:下载rslidar_sdk,保存到catkin_ws/src路径工作空间下
下载地址: https://github.com/RoboSense-LiDAR/rslidar_sdk/releases/download/v1.3.0/rslidar_sdk.tar.gz
在这里插入图片描述
下载红色圈主的rslidar_sdk.tar.gz 文件,因为这个文件内容齐全,不需要再下载子模块rs_driver的代码,请下载 rslidar_sdk.tar.gz 压缩包, 不要下载Source code。用户还需自行下载rs_driver的代码放入其中才行。
第二布:添加依赖
1.Yaml (必需)

sudo apt-get update
sudo apt-get install -y libyaml-cpp-dev

2.Pcap (必需)

sudo apt-get install -y  libpcap-dev

3.Protobuf (可选)

// 下载 protoBuf:
$ git clone https://github.com/protocolbuffers/protobuf.git
//  安装依赖库
$ sudo apt-get install autoconf  automake  libtool curl make  g++  unzip libffi-dev -y
// 进入目录
$ cd protobuf/ 
// 自动生成configure配置文件:
$ ./autogen.sh 
// 配置环境:
$ ./configure
// 编译源代码(要有耐心!):
$ make 
// 安装
$ sudo make install
// 刷新共享库 (很重要的一步啊)
$ sudo ldconfig 
// 成功后需要使用命令测试
$ protoc -h 

如果不安装,打开CMakeLists.txt文件修改内,去掉或者注释使用Protobuf部分代码,每行前添加#号

#Protobuf#
find_package(Protobuf QUIET)
find_program(PROTOC protoc)
if(NOT PROTOC MATCHES "NOTFOUND" AND Protobuf_FOUND)
  message(=============================================================)
  message("-- Protobuf Found, Protobuf Support is turned On!")
  message(=============================================================)
  add_definitions(-DPROTO_FOUND)

  include_directories(${PROTOBUF_INCLUDE_DIRS})
  SET(PROTO_FILE_PATH ${PROJECT_SOURCE_DIR}/src/msg/proto_msg)
  file(GLOB PROTOBUF_FILELIST ${PROTO_FILE_PATH}/*.proto)
  foreach(proto_file ${PROTOBUF_FILELIST})
    message(STATUS "COMPILING ${proto_file} USING ${PROTOBUF_PROTOC_EXECUTABLE}")
    execute_process(COMMAND ${PROTOBUF_PROTOC_EXECUTABLE}
                    --proto_path=${PROTO_FILE_PATH}
                    --cpp_out=${PROTO_FILE_PATH}
                    ${proto_file})
  endforeach()
else(NOT PROTOC MATCHES "NOTFOUND" AND Protobuf_FOUND)
  message(=============================================================)
  message("-- Protobuf Not Found, Protobuf Support is turned Off!")
  message(=============================================================)
endif(NOT PROTOC MATCHES "NOTFOUND" AND Protobuf_FOUND)

第三步:配置参数
1、打开工程内的CMakeLists.txt文件,修改以下内容

set(COMPILE_METHOD ORIGINAL)改为set(COMPILE_METHOD CATKIN)
set(POINT_TYPE XYZI)改为set(POINT_TYPE XYZIRT) #相较于XYZI,XYZIRT还有时间戳,能满足Fast-lio2时间补偿需求

2、将rslidar_sdk工程目录下的package_ros1.xml文件重命名为package.xml。
3、修改config.yaml参数
可以参考在下载驱动包路径rslidar_sdk/doc/intro/parameter_intro_cn.md下
  本工程只有一份参数文件 config.yaml, 储存于rslidar_sdk/config文件夹内。打开此文件,找到以下部分:

lidar:
- driver:
//此处修改激光雷达型号
lidar_type: RS128    #LiDAR type - RS16, RS32, RSBP, RS128, RS128_40, RS80, RSM1, RSHELIOS
frame_id: /rslidar           
msop_port: 6699             
difop_port: 7788  

将RS128改成RSHELIOS,对应自己的传感器型号

  msg_source: 1    #1: packet message comes from online Lidar

数字为1,不需要改,表示在线连接激光雷达测试。

第四步:编译,测试发布数据

catkin_make
source devel/setup.bash

运行指令,显示速腾原始格式点云
roslaunch start.launch
第五步:将速腾雷达数据转化为Velodyne雷达点云格式
下载转化数据格式功能包
https://github.com/HViktorTsoi/rs_to_velodyne.git
同样放到catkin_ws/src路径下,并且在路径catkin_ws/src/rs_to_velodyne/下添加launch文件夹,在launch文件夹下,添加velodyne.launch文件,内容如下

 <launch>
  <node pkg="rs_to_velodyne" name="rs_to_velodyne" type="rs_to_velodyne"  args="XYZIRT XYZIRT"   output="screen">
  </node>
</launch>

很多博客配置参数 args="XYZIRT"是不正确的,源码要求输入是两个参数。否则报错,程序退出

二、配置IMU数据

xsensIMU 安装
https://blog.csdn.net/cxz932652580/article/details/109961710

三、建图

使用速腾雷达32线Helios和fast-LIO2算法建图(三)

### 关于速腾32线激光雷达FAST-LIO使用教程配置 对于希望利用速腾32线激光雷达配合FastLiDAROdometry (FAST-LIO) 实现高精度定位的应用场景,可以遵循如下指南来完成系统的搭与调试。 #### 1. 雷达驱动安装 为了使ROS能够识别并处理来自速腾32线激光雷达的数据,在开始之前需确保已正确安装对应的ROS节点。通常情况下,这涉及到下载官方提供的`livox_ros_driver`或其他兼容版本,并将其集成到当前的工作空间中[^3]。 #### 2. 数据格式转换 由于原始采集到的点云数据可能不具备强度属性或者其格式不完全匹配FAST-LIO的要求,因此需要通过编写自定义脚本或寻找现有工具来进行必要的预处理工作。例如,可以通过调整参数设置或是应用特定算法去除不必要的字段,从而实现从原生格式向Velodyne标准格式的有效转变[^1]。 ```bash rosrun pointcloud_to_laserscan pointcloud_to_laserscan_node \ _min_height:=0.0 \ _max_height:=1.7 \ _range_min:=0.45 \ _range_max:=8.0 \ /cloud_in:=/velodyne_points \ /scan_out:=/scan ``` 此命令展示了如何将三维点云转化为二维扫描消息的过程;实际操作时应根据具体需求修改相应选项。 #### 3. FAST-LIO环境部署 获取最新版FAST_LIO源码后,按照README文档指示编译项目文件夹内的各个组件。特别注意的是,某些依赖项如gtsam库可能会因为版本差异而导致构失败,这时议查阅社区反馈寻求解决方案。 #### 4. 参数优化与调校 针对不同型号传感器特性以及应用场景特点,合理设定FAST-LIO内部各项参数至关重要。比如最大迭代次数、初始猜测值范围等都会影响最终估计效果的好坏。此外,还应该充分考虑外部因素干扰所带来的误差累积问题,适时引入补偿机制加以修正[^2]。 #### 5. 结果验证与评估 最后步便是执行系列实验测试以检验整个流程是否顺畅运作。可以从静态物体周围缓慢移动机器人平台做起,逐步过渡至复杂动态环境下多目标跟踪任务。期间务必记录下每次试验所得轨迹偏差情况作为后续改进依据。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值