记录一下搞slam的过程
ring和timestamp
最近想跑lio-sam,需要用到ring和timestamp两个参数,lio-sam作者用的velodyne雷达是带这两个参数的,但是rs雷达的老版驱动录制的点云包没有这两个参数,在github上找了一下,发现robesense发布了新的驱动,支持如下两类点
- XYZI - x, y, z, intensity
- XYZIRT - x, y, z, intensity, ring, timestamp
XYZIRT 正好包括了运行lio-sam需要的两个参数,那就开始安装新驱动吧。
安装新驱动
现新驱动支持的雷达类型包括:
- RS16
- RS32
- RSBP
- RS128
- RS80
- RSM1-B3
- RSHELIOS
如果是这几个雷达的小伙伴可以下载,如果不是那就不行了。
下面附上新驱动的链接:
https://github.com/RoboSense-LiDAR/rslidar_sdk
注意:下载最新版本的rslidar_sdk. 请下载 rslidar_sdk.tar.gz 压缩包, 不要下载Source code。 因为Source code压缩包内不包含子模块rs_driver的代码, 用户还需自行下载rs_driver的代码放入其中才行
下边是中文版安装说明
https://github.com/RoboSense-LiDAR/rslidar_sdk/blob/release/README_CN.md
其实具体安装方法readme_cn.md
说的很清楚。我是用ROS-catkin编译的,大致步骤如下:
1.打开工程内的CMakeLists.txt
文件,将文件顶部的set(COMPILE_METHOD ORIGINAL)改为set(COMPILE_METHOD CATKIN)。
2.将rslidar_sdk工程目录下的package_ros1.xml文件重命名为package.xml。
3.新建一个文件夹作为工作空间,然后再新建一个名为src的文件夹, 将rslidar_sdk工程放入src文件夹内。
4.返回工作空间目录,执行以下命令即可编译&运行.
catkin_make
编译好了之后添加一下环境变量
sudo gedit .bashrc
打开之后把这句话加在最下边
source /xxx/xxx/devel/setup.bash
xxx不知道的话就在你工作空间的devel文件夹下输入
pwd
看看路径,是啥路径就写啥路径
调参
最后需要注意的是,安装好了之后的新驱动的各个参数可以在config/config.yaml来进行修改,找到doc/parameter_intro_cn.md,根据这个文件修改,我是16线雷达,就把RS128改成RS16就行了。并且要注意config.yaml文件格式一定要对齐,改成RS16了之后,后边要加个空格。
带有ring和timestamp的XYZIRT坐标
首先打开项目根目录下的CMakeLists.txt
文件,在文件顶部便可以选择点的类型,把set(POINT_TYPE XYZI)改为set(POINT_TYPE XYZIRT),然后需要重新编译整个工程。