参考链接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"
是不正确的,源码要求输入是两个参数。否则报错,程序退出
xsensIMU 安装
https://blog.csdn.net/cxz932652580/article/details/109961710
使用速腾雷达32线Helios和fast-LIO2算法建图(三)