激光slam学习笔记1--RTK组合惯导激光雷达传感器一些经验知识分享

Posted 鸿_H

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了激光slam学习笔记1--RTK组合惯导激光雷达传感器一些经验知识分享相关的知识,希望对你有一定的参考价值。

前言:跟组合惯导和激光雷达打交道半年了,过程中查找学习了这两方面的资料,这里来个小结。如果有理解错误的,望大佬们不吝赐教。

一、RTK组合惯导

个人理解有两部分组成,一个提供gps信息的rtk,另外一个实时姿态信息的imu。

1、rtk

1)输出gps信号,可获取极高的定位精度(当然是在没有遮挡情况下)

2)rtk的双天线安装在车子上时,一定要进行杆臂值标定,否则不能使用的!!!至于标定方法和标定结果的验证,可以跟供应商的技术支持确认,一般有对应的用户手册

3)驱动输出的数据内容,一定弄清楚数据格式的坐标系!!!若xyz北东天输出,此时正北x为0,北朝东转(x->y)为正,角度范围为0到360度;若xyz东北天,此时正东x为0,东朝北正(x->y)为正,角度范围为(0,180),东朝南转为负,角度范围为(-180,0)。

若数据集结构含义不吃透,算法输入也就废了!!!

4)rtk数据一定要包含差分数据!!!搞个千寻帐号,接个DTU设备(里面放着一张类似手机卡东西,目的接收差分数据信号的),将差分信号接入rtk中,保证rtk数据,一定包含差分数据。

需要接入差分信息缘由:不接差分信号,rtk的精度也就米级或者分米级,接入差分信号,精度可达厘米级。对于自动驾驶而言,其重要性可想而知!

如果判断是否数据中是否包含差分信号?
一般根据厂商提供的用户手册里面有介绍对应的字段,注意不同厂商一般是不一样的,然后查看对应的topic的status的数值进行确认。使用经验来看,星网宇达的rtk,包含差分数据的数据topic的status为72;北云的rtk,包含差分数据的topic的status数值为56。

5)对于rtk驱动数据输出,可以通过如下方法验证输出的坐标系:

在导航地图中跑一段轨迹,在导航地图中,我们可以清楚车子的方位信息;根据采集到的rtk数据,对比其xyz值内容,进而确认其坐标系具体样式。

2、imu

1)组合惯导,数据输出一般标定到imu模块位置

2)imu种类可分为两类:六轴,xyz三个轴对应的角速度+线加速度;九轴,对六轴的多了三个轴的转角信息(简化理解,姿态信息,输出使用是四元数表示)

3)imu的偏置和白噪声是不固定的,受环境影响

4)imu的四元数信息,一般来自rtk双天线数据(这一点可能通过打印对比确认)

5)imu的xyz标定输出一定要搞清楚,或者一定要使用标定工具,把数据输出标到我们想要的位置上!

二、激光雷达

这里我主要参考:https://zhuanlan.zhihu.com/p/102621881这位大佬的和https://www.cxymm.net/article/weixin_41194129/112571437这位大佬的,这里会加入个人理解的内容。

1)水平视场角

激光雷达的水平视场角,激光雷达在水平旋转,旋转一周就是360°

2)垂直视场角

关键点有,一个是视场角的偏置,二是激光雷达光束的分布(个人理解为垂直分辨率)

如,激光雷达的垂直视场角是40°。
视场角的偏置为5°,也就是说激光雷达在水平方向向上的扫描角度为15°,而在水平方向往下扫描的角度为25°。
光束的分布。64线的激光雷达,40°的视场角,那么角度分辨率为40°/64=0.625°。但实际上,激光雷达的光束不是垂直均匀分布的,而是中间密,2边稀疏,还是为了达到既检测到障碍物,同时把激光束集中到中间感兴趣的部分,来更好的检测车辆。

3)周期采集点数

激光雷达采集的点数计算如下,首先看激光雷达的线数,比如32线,则垂直方向上会发出32个激光光束,采集32个点,而64线则是64个点,垂直方向上的点数和激光雷达的线数有关系。
因为激光雷达在旋转扫描,因此水平方向上扫描的点数和激光雷达的扫描频率有一定的关系,快的话点会较少,慢的话点会较多,这个参数也被称为水平分辨率。比如激光雷达的水平分辨率为0.2°,那么扫描的点数为360°/0.2°=1800。

根据下图,可看到扫描频率(转速)为10Hz(一秒转10圈)的时候水平角分辨率为0.2°,在扫描频率为20Hz的时候角分辨率为0.4°(扫描快了,分辨率变低了)。

(疑惑点,为啥频率高了,得到的点越少?由于激光雷达的采样率(可以理解为每秒能采集有效点的数量,也就是点频固定的,频率越高,每秒的帧数越多,那么一秒内的每帧获得的点个数越少。

4)有效检测距离

激光雷达的有效测量距离和最小垂直分辨率有关系,也就是说角度分辨率越小,则检测的效果越好。如图所示,2个激光光束直接的角度为0.4°,那么当探测距离为200m的时候,2个激光光束之间的距离为200m*tan0.4°≈1.4m。也就是说在200m之后,只能检测到高于1.4m的障碍物了。

如果需要知道障碍物的类型,那么需要采用的点数就需要更多,距离越远,激光雷达采样的点数就越少。分别是激光雷达50m和100m采样到的点数,可以看到100m的时候的点比50m稀疏不少,点数越少,就越难以识别准确的障碍物类型。

5)时间同步

激光雷达提供了时间同步硬件接口,通过GPS提供时钟源给激光雷达,可以保证激光雷达的时间和GPS的时间保持同步,也就是说激光雷达可以保证周期采样的时间非常精准。

通过1)-5)的分析,可知激光雷达的水平视场角为360°,垂直视场角有偏置,线束分布不均匀。激光雷达的有效采样点数和激光雷达的线数、采样频率有关系。最后激光雷达的分辨率和最小垂直分辨率有关系,并且距离越远,采样点数越稀疏。激光雷达还提供了时间同步硬件接口,来保证周期采样的时间非常精准。

6)额外补充理解

扫描频率是转速的意思,10Hz就是一秒转10圈。
激光雷达输出的图像也被称为“点云”图像,相邻两个点之间的夹角就是角分辨率。

一幅点云图像代表一帧,对应到激光雷达内部就是电机旋转一圈完成扫描。帧率即代表一秒钟内激光雷达电机旋转的圈数,也就是每秒钟完成一圈扫描的次数。
由于激光雷达的采样率是一定的,因此帧率越高,角分辨率越低;帧率越低,角分辨率越高。

采样率表示激光雷达每秒钟进行有效采集的次数,可直观理解为一秒内产生的点云数目。采样率可以通过角分辨率和帧率计算:

角分辨率0.08°时,每一帧的点云数目:360°/0.08°= 4500;

每秒10帧,则每秒的点云数目:4500×10=45000

三、小结

上面的,特别是组合惯导,都是基于工程实践得出的一些经验分享,供大家参考。这里还特别强调以下几点:

1)rtk数据一定需要包含差分信号!

2)任何传感器使用之前,一定要先标定,而且要经过验证准确!

3)数据输出的xyz坐标系的含义一定要搞清楚!

4)对应使用组合惯导+激光雷达套装,时间同步,一定要给激光雷达引线使用gps时间从而实现硬同步,尽量不使用软同步。时间同步做不好,对精度影响极大!

关于标定这一块,是十分重要的,个人感觉重要性不亚于slam框架的搭建优化

#####################
图片版权归原作者所有

不积硅步,无以至千里
好记性不如烂笔头

以上是关于激光slam学习笔记1--RTK组合惯导激光雷达传感器一些经验知识分享的主要内容,如果未能解决你的问题,请参考以下文章

激光slam学习笔记1--RTK组合惯导激光雷达传感器一些经验知识分享

激光slam课程学习笔记--第1课:激光slam的发展和应用

激光slam课程学习笔记--第1课:激光slam的发展和应用

激光slam课程学习笔记--第5课:传感器数据处理II:激光雷达运动畸变去除

激光slam课程学习笔记--第5课:传感器数据处理II:激光雷达运动畸变去除

激光slam课程学习笔记--第3课: 3D激光 slam