本发明涉及雷达领域,特别是指一种激光雷达点云数据接收方法、装置、存储介质和设备。
背景技术:
1、在输电线路视频监控领域,使用激光雷达扫描获取点云数据时,只要雷达返回的数据正常,收到的数据按时间顺序跟其时间戳也都是能对应起来的。但是在实际应用场景中,有时候会出现不明原因的数据顺序颠倒错乱,导致后续的数据处理出现问题。
技术实现思路
1、为解决现有技术的缺陷,本发明提供一种激光雷达点云数据接收方法、装置、存储介质和设备,解决了数据包时间戳混乱的问题,提高了采集到的雷达点云数据的正确率和可用率。
2、本发明提供技术方案如下:
3、一种激光雷达点云数据接收方法,所述方法包括:
4、接收激光雷达发送的帧数据,并将接收的帧数据在缓存队列中缓存;其中,每帧数据均包括多个数据包,每个数据包均附带有时间戳;
5、当所述缓存队列中缓存的帧数据的数量达到设定数量后,将所述缓存队列中缓存的所有帧数据的所有数据包按照时间戳从小到大的顺序排序;其中,所述设定数量不小于2;
6、按照时间戳从小到大的顺序,将排序后的前n个数据包组成一帧数据后取走,并将取走的前n个数据包从所述缓存队列中删除;其中,n为帧数据包含的数据包的数量;
7、返回所述接收激光雷达发送的帧数据的步骤,直至激光雷达发送的所有帧数据接收完毕。
8、进一步的,所述方法还包括:
9、将接收的帧数据的时间戳最小的数据包作为目标数据包,将所述目标数据包的时间戳与缓存队列中已缓存的所有数据包的时间戳进行比较,若所述目标数据包的时间戳均小于已缓存的所有数据包的时间戳,则将所述设定数量的增大,或者将所述目标数据包舍弃。
10、进一步的,所述设定数量的取值为5。
11、一种激光雷达点云数据接收装置,所述装置包括:
12、缓存模块,用于接收激光雷达发送的帧数据,并将接收的帧数据在缓存队列中缓存;其中,每帧数据均包括多个数据包,每个数据包均附带有时间戳;
13、排序模块,用于当所述缓存队列中缓存的帧数据的数量达到设定数量后,将所述缓存队列中缓存的所有帧数据的所有数据包按照时间戳从小到大的顺序排序;其中,所述设定数量不小于2;
14、取走模块,用于按照时间戳从小到大的顺序,将排序后的前n个数据包组成一帧数据后取走,并将取走的前n个数据包从所述缓存队列中删除;其中,n为帧数据包含的数据包的数量;
15、循环模块,用于返回所述缓存模块,直至激光雷达发送的所有帧数据接收完毕。
16、进一步的,所述装置还包括:
17、调整模块,用于将接收的帧数据的时间戳最小的数据包作为目标数据包,将所述目标数据包的时间戳与缓存队列中已缓存的所有数据包的时间戳进行比较,若所述目标数据包的时间戳均小于已缓存的所有数据包的时间戳,则将所述设定数量的增大,或者将所述目标数据包舍弃。
18、进一步的,所述设定数量的取值为5。
19、一种用于激光雷达点云数据接收的计算机可读存储介质,包括用于存储处理器可执行指令的存储器,所述指令被所述处理器执行时实现包括所述激光雷达点云数据接收方法的步骤。
20、一种用于激光雷达点云数据接收的设备,包括至少一个处理器以及存储计算机可执行指令的存储器,所述处理器执行所述指令时实现所述激光雷达点云数据接收方法的步骤。
21、本发明具有以下有益效果:
22、本发明持续接收激光雷达帧数据,在缓存队列中积累至少两帧数据,将至少两帧数据的所有数据包按照时间戳从小到大排序,排序完成后将缓存队列中的第一帧数据取走,解决了数据包时间戳混乱的问题,使得最终获取到的点云数据是按时间顺序排序正常的,提高了采集到的雷达点云数据的正确率和可用率。
1.一种激光雷达点云数据接收方法,其特征在于,所述方法包括:
2.根据权利要求1所述的激光雷达点云数据接收方法,其特征在于,所述方法还包括:
3.根据权利要求1或2所述的激光雷达点云数据接收方法,其特征在于,所述设定数量的取值为5。
4.一种激光雷达点云数据接收装置,其特征在于,所述装置包括:
5.根据权利要求4所述的激光雷达点云数据接收装置,其特征在于,所述装置还包括:
6.根据权利要求4或5所述的激光雷达点云数据接收装置,其特征在于,所述设定数量的取值为5。
7.一种用于激光雷达点云数据接收的计算机可读存储介质,其特征在于,包括用于存储处理器可执行指令的存储器,所述指令被所述处理器执行时实现包括权利要求1-3任一所述激光雷达点云数据接收方法的步骤。
8.一种用于激光雷达点云数据接收的设备,其特征在于,包括至少一个处理器以及存储计算机可执行指令的存储器,所述处理器执行所述指令时实现权利要求1-3中任意一项所述激光雷达点云数据接收方法的步骤。