一种基于误差函数激光雷达的点云数据处理方法

专利检索2026-02-27  5


本发明涉及雷达数据处理领域,具体涉及一种基于误差函数激光雷达的点云数据处理方法。


背景技术:

1、在自动驾驶领域中,通过激光雷达建立地图,激光雷达(英文:laser radar),是以发射激光束探测目标的位置、速度等特征量的雷达系统。其工作原理是向目标发射探测信号(激光束),然后将接收到的从目标反射回来的信号(目标回波)与发射信号进行比较,获得目标的有关信息,如目标距离、方位、高度、速度、姿态、甚至形状等参数。激光雷达可以对附件物体的位置速度等信息进行探测并生成点云数据进行输出。点云数据是指在一个三维坐标系统中的一组向量的集合。扫描资料以点的形式记录,每一个点包含有三维坐标,有些可能含有颜色信息(rgb)或反射强度信息。现有的激光雷达,需要大量数据进行筛选与处理,数据处理量大,数据处理速度慢。

2、如在中国申请号为202020348012.4,公告日为2021.1.5的专利文献公开了一种激光雷达,包括若干激光发射器、与激光发射器相对应设置的振镜、水平旋转结构、电机控制模组,各激光发射器通过相对应的振镜用于同时发射n个方向垂直扫描激光,通过各个方向的扫描光缩短重复扫描时间,在刷新率不变的情况下可以减低旋转速度,增加每个水平角度扫过时长,从而提高每个垂直方向的扫描时间,倍数级的提高垂直方向上分辨率,达到多路发射器的多线激光雷达的技术参数要求。

3、激光雷达通过环境建立地图,但是现有激光雷达的将地图数据转换为点云数据时,未考虑误差问题。


技术实现思路

1、本发明提供一种基于误差函数激光雷达的点云数据处理方法,在输入一帧距离数据时同时读取一帧同样大小的数据,数据在环型缓冲区数据的流动,避免数据出现错漏读取情况;在转换雷达点云数据时,先计算出目标点在雷达点云数据中对应的点云与真实目标点之前的损失函数,从而确定误差;通过该误差对正确数据进行转换,得到正确数据在雷达点云数据中正确对应的点云。

2、为达到上述目的,本发明的技术方案是:一种基于误差函数激光雷达的点云数据处理方法,包括以下步骤:

3、s1、激光传感器对n个障碍物进行距离检测,并检测激光传感器分别与不同障碍物之间的距离数据打包形成数据包输入到主控芯片的环型缓冲区。

4、s2、激光传感器向环型缓冲区输入两帧距离数据后,主控芯片开始读取环型缓冲区中的一帧距离数据;激光传感器向环型缓冲区每输入一帧距离数据,主控芯片同时读取一帧与输入数据同样大小的数据;读取数据前,主控芯片端对数据包帧头进行遍历寻找。

5、s3、主控芯片对距离数据的正确性进行验证,若数据正确,则进行s4;若数据不正确则舍弃当前帧的数据,进行s2接收下一帧的数据并进行处理。

6、s4、对激光传感器的实时旋转速度和实时扫描角度进行计算。

7、s5、将主控芯片读取的正确数据转换为雷达点云数据,将激光传感器的实时旋转速度和实时扫描角度加入到雷达点云数据中;其中,将正确数据转换为雷达点云数据,包括以下步骤:

8、s5.1、确定目标点d,

9、

10、r为每一束激光的距离,θ为每一束激光的扫描角度,i为激光传感器扫描一圈的每束激光;

11、s5.2、设置旋转矩阵a和平移向量△t;

12、

13、

14、s5.3、通过,确定目标点d在雷达点云数据中对应的点云d1;

15、s5.4、计算目标点d在雷达点云数据中对应的点云d1与目标点d之间的损失函数;

16、s5.5、通过正确数据与损失函数计算,将正确数据转换为雷达点云数据。

17、s6、对雷达点云数据进行校验,校验正常则进行s7,校验错误则进行s2接收下一帧的数据并进行处理。

18、s7、输出雷达点云数据。

19、以上方法,通过环型缓冲区储存接收到的数据,避免数据出现错漏读取情况,同时通过对数据进行环型缓冲区,使得主控芯片每次只读取一帧数据,提升主控芯片对数据的处理速度。同时环型缓冲区为先进先出的数据结构,便于主控芯片搜索数据包帧头;在输入一帧距离数据时同时读取一帧同样大小的数据,实现环型缓冲区数据的流动。

20、当激光传感器向环型缓冲区输入两帧距离数据后,主控芯片才开始读取距离数据;这样避免访问到环型缓冲区的非法内存或发送重复访问;同时避免环型缓冲区中为及时更新数据被利用并释放;通过对激光传感器检测到的距离数据进行处理,并加入激光传感器的实时旋转速度和实时扫描角度形成雷达点云数据。

21、在转换雷达点云数据时,先计算出目标点在雷达点云数据中对应的点云与真实目标点之前的损失函数,从而确定目标点在雷达点云数据中对应的点云与真实目标点的误差;通过该误差对正确数据进行转换,得到正确数据在雷达点云数据中正确对应的点云。

22、同时,通过旋转矩阵a和平移向量△t,确定目标点在雷达点云数据中对应的点云与真实目标点之间的距离差,从而计算损失函数,计算方法简单。

23、进一步的,距离数据通过rs485协议传输主控芯片的环型缓冲区。

24、进一步的,s2中主控芯片每接收到一帧数据都对数据包帧头进行遍历寻找。

25、以上方法,数据包帧头的字节可能位于传输数据包的任意一个位置,进而每接收的一帧数据对都数据包帧头进行寻找,准确搜索出数据包帧头。

26、进一步的,s4中,实时速度的计算,具体为:利用编码器计数转换为角度与时间差的关系计算实时速度计算。这样方法简单。

27、进一步的,s4中,实时扫描角度计算,具体为:

28、s4.1、预设编码器计数值对应的电机旋转角度、计时阈值;计时阈值为两次捕获脉冲信号之间的间隔。

29、s4.2、编码器发出的脉冲信号。

30、s4.3、捕获编码器发出的脉冲信号,通过脉冲信号确定电机的旋转角度。

31、s4.4、使用基本定时器进行实时计时。

32、s4.5、在计时阈值内,通过基本定时器的当前计时时间与电机的转速相乘,计算出电机的当前旋转角度。

33、以上方法,通过设置计时阈值,在计时阈值内对当前的旋转角度进行计算,避免激光雷达的位置移动后,角度发送变换,从而无法准确获取接收上一时刻的对应角度。

34、由于激光传感器的扫描角度受到电机转速和时间影响,在一定的电机转速下,随着时间变化,激光传感器的扫描角度增大,从而通过电机转速与当前的计时时间相乘,准确计算出电机的当前旋转角度。

35、进一步的,通过脉冲信号确定电机的旋转角度,具体为:使用角度计算函数读取编码器的脉冲信号,获取电机的旋转角度。这样方法简单。



技术特征:

1.一种基于误差函数激光雷达的点云数据处理方法,其特征在于:包括以下步骤:

2.根据权利要求1所述的一种基于误差函数激光雷达的点云数据处理方法,其特征在于:距离数据通过rs485协议传输主控芯片的环型缓冲区。

3.根据权利要求1所述的一种基于误差函数激光雷达的点云数据处理方法,其特征在于:s2中主控芯片每接收到一帧数据都对数据包帧头进行遍历寻找。

4.根据权利要求1所述的一种基于误差函数激光雷达的点云数据处理方法,其特征在于:s4中,实时速度的计算,具体为:利用编码器计数转换为角度与时间差的关系计算实时速度计算。

5.根据权利要求1所述的一种基于误差函数激光雷达的点云数据处理方法,其特征在于:s4中,实时扫描角度计算,具体为:

6.根据权利要求5所述的一种基于误差函数激光雷达的点云数据处理方法,其特征在于:通过脉冲信号确定电机的旋转角度,具体为:使用角度计算函数读取编码器的脉冲信号,获取电机的旋转角度。


技术总结
本发明提供一种基于误差函数激光雷达的点云数据处理方法,通过环型缓冲区储存接收到的数据,避免数据出现错漏读取情况,同时通过对数据进行环型缓冲区,使得主控芯片每次只读取一帧数据,提升主控芯片对数据的处理速度。同时环型缓冲区为先进先出的数据结构,便于主控芯片搜索数据包帧头;在输入一帧距离数据时同时一帧同样大小的数据,实现环型缓冲区数据的流动,当激光传感器向环型缓冲区输入两帧距离数据后,主控芯片才开始读取距离数据;这样避免访问到环型缓冲区的非法内存或发送重复访问。

技术研发人员:郭建,黄熙航,胡祥耿,徐乐远,朱世良,余耀林,何宗远
受保护的技术使用者:广州城市理工学院
技术研发日:
技术公布日:2024/5/29
转载请注明原文地址:https://win.8miu.com/read-1161834.html

最新回复(0)