首页 / 专利分类库 / 测时学 / 无线电控制的计时器[2013.01] / 激光雷达与惯性传感器的数据同步授时系统和方法

激光雷达与惯性传感器的数据同步授时系统和方法

申请号 CN202210671990.6 申请日 2022-06-15 公开(公告)号 CN114754769A 公开(公告)日 2022-07-15
申请人 天津大学四川创新研究院; 发明人 黄战华; 李晓伟; 潘成; 王康年;
摘要 本 发明 提供了一种 激光雷达 与惯性 传感器 的数据同步授时系统和方法,所示系统包括卫星授时模 块 、FPGA处理单元、IMU、激光雷达和控制单元;卫星授时模块产生高 精度 PPS脉冲和UTC时间,FPGA处理单元对PPS脉冲进行校准并产生IMU触发指令,以校准后的PPS脉冲和IMU触发指令控制IMU和激光雷达的同步授时,并采集对应的时间戳;工控机通过对校准后的激光雷达数据包和IMU数据包进行解析,完成IMU数据和激光雷达数据的时间系对齐。该系统及方法有效解决了当前多传感融合过程中IMU和激光雷达难以和GNSS同步授时以及多传感数据在时间上同步精度低的问题。
权利要求

1.一种激光雷达与惯性传感器的数据同步授时方法,其特征在于,所述数据同步授时方法包括以下步骤:
使用卫星授时模每间隔预定时间产生第一PPS脉冲和GPRMC报文;
解析GPRMC报文,获取UTC时间;
通过FPGA处理单元将第一PPS脉冲经校准后生成第二PPS脉冲并发送至激光雷达,以触发激光雷达开始采集点数据,并记录在FPGA处理单元时间系下的第一计数时间和在激光雷达时间系下的内置计数时间,第一计数时间为生成第二PPS脉冲的时间,内置计数时间为激光雷达开始采集点云数据的时间;
通过FPGA处理单元根据预设时刻偏置参数生成IMU触发指令并传输至惯性传感器,以触发惯性传感器开始采集IMU数据,并记录在FPGA处理单元时间系下的第二计数时间,第二计数时间为惯性传感器输出应答信号的时间;
将第二计数时间确定为真实IMU采集时间,并根据所述第一计数时间和所述内置计数时间,求解每点云数据对应的真实Lidar采集时间,并将真实Lidar采集时间与点云数据进行一一对应。
2.根据权利要求1所述的激光雷达与惯性传感器的数据同步授时方法,其特征在于,根据所述惯性传感器的数据采集频率,确定生成所述IMU触发指令的频率。
3.根据权利要求2所述的激光雷达与惯性传感器的数据同步授时方法,其特征在于,每当所述IMU触发指令生成并发送时,触发所述惯性传感器进行一次IMU数据的采集和发送,所述IMU触发指令是一串基于串行协议的多字节指令。
4.根据权利要求1所述的激光雷达与惯性传感器的数据同步授时方法,其特征在于,所述第一计数时间的确定方式为:设置基计数器,将生成第二PPS脉冲时基计数器的时间计数值作为激光雷达时间戳;根据激光雷达时间戳和UTC时间,确定第一计数时间;
所述第二计数时间的确定方式为:将惯性传感器输出应答信号时基计数器的时间计数值作为IMU时间戳;根据IMU时间戳和UTC时间,确定第二计数时间。
5.根据权利要求4所述的激光雷达与惯性传感器的数据同步授时方法,器特征在于,所述真实Lidar采集时间的计算公式如下所示:
tf=(tpc‑Tf_pc)+Tf,
t1=(tpc‑T1_pc)+T1,
T0=tf‑t1+dt,
t1_real=t1+dT+T0,
式中,T0为FPGA处理单元的初始时刻,dT为FPGA处理单元对第一PPS脉冲的校准时延,Tf为当控制单元接收到激光雷达时间戳时,对应的FPGA处理单元时间系下的时刻,Tf_pc为控制单元当接收到激光雷达时间戳时,对应的控制单元时间戳,T1为当控制单元接收到激光雷达的采集数据时,对应的激光雷达时间系下的时刻,T1_pc为当控制单元接收到激光雷达的采集数据时,对应的控制单元时间戳,dt为自控制单元开始接收激光雷达的采集数据以来经历的时间,tpc为经历dt后对应的控制单元时间戳,tf为经历dt后FPGA处理单元时间系的时刻,t1为经历dt后激光雷达时间系下的时刻,t1_real为t1对应的FPGA处理单元时间系下的真实Lidar采集时间。
6.一种激光雷达与惯性传感器的数据同步授时系统,其特征在于,所述数据同步授时系统包括卫星授时模块、FPGA处理单元、激光雷达、惯性传感器和控制单元,其中,所述卫星授时模块用于输出第一PPS脉冲和GPRMC报文;
所述FPGA处理单元与所述卫星授时模块连接,用于生成第二PPS脉冲和IMU触发指令,并向激光雷达发送第二PPS脉冲,确定在FPGA处理单元时间系下的第一计数时间,以及,向惯性传感器发送IMU触发指令,确定在FPGA处理单元时间系下的第二计数时间,其中,第一计数时间为FPGA处理单元生成第二PPS脉冲的时间,第二计数时间为惯性传感器输出应答信号的时间;
所述激光雷达与所述FPGA处理单元连接,用于接收第二PPS脉冲后开始采集点云数据,并输出点云数据和在激光雷达时间系下的内置计数时间;
所述惯性传感器与所述FPGA处理单元连接,用于接收IMU触发指令后开始采集包含无人机位姿的IMU数据,并输出应答信号;
所述控制单元分别与所述FPGA处理单元和所述激光雷达连接,用于根据第一计数时间和内置计数时间,求解每帧点云数据对应的真实Lidar采集时间,并将真实Lidar采集时间与点云数据进行一一对应。
7.根据权利要求6所述的激光雷达与惯性传感器的数据同步授时系统,其特征在于,所述FPGA处理单元包括基时钟模块、UTC解析模块、触发校准模块、触发指令生成模块、IMU数据解析模块和拼接模块,其中,
所述基时钟模块被配置为能够结合第一PPS脉冲产生基时钟和基计数器,所述基计数器用于生成FPGA处理单元时间系下的激光雷达时间戳和IMU时间戳,激光雷达时间戳对应于生成第二PPS脉冲时的时间计数值,IMU时间戳对应于惯性传感器输出应答信号时的时间计数值;
所述UTC解析模块被配置为能够对GPRMC报文进行解析,以提取UTC时间,并对UTC时间进行打标签操作;
所述触发校准模块与所述基时钟模块连接,并被配置为能够基于基时钟将第一PPS脉冲校准生成第二PPS脉冲,并根据预设时刻偏置参数生成IMU触发信号;
所述触发指令生成模块与所述触发校准模块连接,并被配置为能够基于IMU触发信号,产生IMU触发指令;
所述IMU数据解析模块与所述惯性传感器连接,并被配置为能够对惯性传感器输出的应答信号进行解析,获得IMU数据;
所述拼接模块与所述IMU数据解析模块连接,并被配置为能够将解析后的IMU数据和IMU时间戳拼接,并进行打标签操作,以获得IMU数据包。
8.根据权利要求7所述的激光雷达与惯性传感器的数据同步授时系统,其特征在于,所述FPGA处理单元还包括第一缓冲区、第二缓冲区、第三缓冲区和优先级管理模块,其中,所述第一缓冲区与所述拼接模块连接,用于缓冲储存激光雷达时间戳;
所述第二缓冲区与所述拼接模块连接,用于缓冲储存IMU数据包;
所述第三缓冲区与所述UTC解析模块连接,用于缓冲储存UTC时间;
所述优先级管理模块分别与所述第一缓冲区、第二缓冲区和第三缓冲区连接,用于按照预先设定的优先级顺序生成访问信号对三个缓冲区依次进行访问,并生成串行数据包。
9.根据权利要求6所述的激光雷达与惯性传感器的数据同步授时系统,其特征在于,所述控制单元包括时间同步模块和时间坐标对齐模块,其中,
所述时间同步模块被配置为能够根据所述第一计数时间和所述内置计数时间,求解每帧点云数据对应的真实Lidar采集时间;
所述时间坐标对齐模块被配置为能够将真实Lidar采集时间与点云数据进行一一对应。

说明书全文

激光雷达与惯性传感器的数据同步授时系统和方法

技术领域

[0001] 本发明涉及雷达数据与惯性传感器数据时间同步技术领域,具体来讲,涉及一种激光雷达与惯性传感器的数据同步授时系统和一种激光雷达与惯性传感器的数据同步授时方法。

背景技术

[0002] 近些年来,我们国家常会发生桥梁、大坝等建筑的坍塌事故,有时坍塌事故甚至会造成巨大的人员伤亡和财产损失,所以定期对桥梁、大坝等建筑的检查和维修保养就显得十分重要。而常见的桥梁等建筑物上的裂纹和瑕疵检测方法主要有两种:第一种是在桥梁上搭设吊车人工进入桥底或桥面进行人眼近距离观察与检测;第二种是在远处利用高分辨率相机进行裂纹图像的拍摄并进行后续分析。第一种方法通过人为进行肉眼观察存在极高的险,并且观察精度较低;第二种利用相机拍摄图片的方法,若距离较远,则存在较高的误差,满足不了检测精度的要求。
[0003] 随着科学技术的不断进步,无人机技术也越来越成熟,其应用也越来越广泛,将无人机应用到桥梁等建筑的裂纹检测也受到了人们的广泛关注与研究,并且利用无人机进行近距离的桥梁裂纹检测方法被证实是切实可行的。但是在无人机上搭载惯性传感器(Inertial Measurement Unit,简称IMU)和激光雷达进行数据采集时,需要获得高精度的无人机位姿度等数据,并且IMU和激光雷达还需要满足精确触发与数据时间对齐的条件,以此条件获取的数据才能应用于后续的算法进行处理。
[0004] 而现有的设备方案中,IMU获取的位姿数据和激光雷达获取的点数据的时间同步精度不足,则会导致点云数据畸变矫正失败,影响算法重建效果,从而影响检测结果。因此,保证IMU和激光雷达同步授时以及数据时间对齐是获得理想检测结果的关键。

发明内容

[0005] 本发明的目的在于解决现有技术存在的上述不足中的至少一项。例如,本发明的目的之一在于提供一种激光雷达与惯性传感数据的同步授时方法和系统,以解决现有无人机检测方法针对桥梁检测效果不佳以及IMU和激光雷达在时间上同步精度不足的问题。
[0006] 为了实现上述目的,本发明一方面提供了一种激光雷达与惯性传感器的数据同步授时方法,所述数据同步授时方法包括以下步骤:使用卫星授时模每间隔预定时间产生第一PPS脉冲和GPRMC报文;解析GPRMC报文,获取UTC时间;通过FPGA处理单元将第一PPS脉冲经校准后生成第二PPS脉冲并发送至激光雷达,以触发激光雷达开始采集点云数据,并记录在FPGA处理单元时间系下的第一计数时间和在激光雷达时间系下的内置计数时间,第一计数时间为生成第二PPS脉冲的时间,内置计数时间为激光雷达开始采集点云数据的时间;通过FPGA处理单元根据预设时刻偏置参数生成IMU触发指令并传输至惯性传感器,以触发惯性传感器开始采集IMU数据,并记录在FPGA处理单元时间系下的第二计数时间,第二计数时间为惯性传感器输出应答信号的时间;将第二计数时间确定为真实IMU采集时间,并根据所述第一计数时间和所述内置计数时间,求解每点云数据对应的真实Lidar采集时间,并将真实Lidar采集时间与点云数据进行一一对应。
[0007] 在本发明的激光雷达与惯性传感器的数据同步授时方法的一个示例性实施例中,可根据所述惯性传感器的数据采集频率,确定生成所述IMU触发指令的频率。
[0008] 在本发明的激光雷达与惯性传感器的数据同步授时方法的一个示例性实施例中,每当所述IMU触发指令生成并发送,会触发所述惯性传感器进行一次IMU数据的采集和发送,所述IMU触发指令可以是一串基于串行协议的多字节指令。
[0009] 在本发明的激光雷达与惯性传感器的数据同步授时方法的一个示例性实施例中,所述第一计数时间的确定方式可为:设置基计数器,将生成第二PPS脉冲时基计数器的时间计数值作为激光雷达时间戳;根据激光雷达时间戳和UTC时间,确定第一计数时间;所述第二计数时间的确定方式可为:将惯性传感器输出应答信号时基计数器的时间计数值作为IMU时间戳;根据IMU时间戳和UTC时间,确定第二计数时间。
[0010] 在本发明的激光雷达与惯性传感器的数据同步授时方法的一个示例性实施例中,所述真实Lidar采集时间的计算公式可如下所示:tf=(tpc‑Tf_pc)+Tf,t1=(tpc‑T1_pc)+T1,T0=tf‑t1+dt,t1_real=t1+dT+T0,式中,T0为FPGA处理单元的初始时刻,dT为FPGA处理单元对第一PPS脉冲的校准时延,Tf为当控制单元接收到激光雷达时间戳时,对应的FPGA处理单元时间系下的时刻,Tf_pc为控制单元当接收到激光雷达时间戳时,对应的控制单元时间戳,T1为当控制单元接收到激光雷达的采集数据时,对应的激光雷达时间系下的时刻,T1_pc为当控制单元接收到激光雷达的采集数据时,对应的控制单元时间戳,dt为自控制单元开始接收激光雷达的采集数据以来经历的时间,tpc为经历dt后对应的控制单元时间戳,tf为经历dt后FPGA处理单元时间系的时刻,t1为经历dt后激光雷达时间系下的时刻,t1_real为t1对应的FPGA处理单元时间系下的真实Lidar采集时间。
[0011] 本发明再一方面提供了一种激光雷达与惯性传感器的数据同步授时系统,所述数据同步授时系统包括卫星授时模块、FPGA处理单元、激光雷达、惯性传感器和控制单元,其中,所述卫星授时模块,用于输出第一PPS脉冲和GPRMC报文;所述FPGA处理单元与所述卫星授时模块连接,用于生成第二PPS脉冲和IMU触发指令,并向激光雷达发送第二PPS脉冲,确定在FPGA处理单元时间系下的第一计数时间,以及,向惯性传感器发送IMU触发指令,确定在FPGA处理单元时间系下的第二计数时间,其中,第一计数时间为FPGA处理单元生成第二PPS脉冲的时间,第二计数时间为惯性传感器输出应答信号的时间;所述激光雷达与所述FPGA处理单元连接,用于接收第二PPS脉冲后开始采集点云数据,并输出点云数据和在激光雷达时间系下的内置计数时间;所述惯性传感器与所述FPGA处理单元连接,用于接收IMU触发指令后开始采集包含无人机位姿的IMU数据,并输出应答信号;所述控制单元分别与所述FPGA处理单元和所述激光雷达连接,用于根据第一计数时间和内置计数时间,求解每帧点云数据对应的真实Lidar采集时间,并将真实Lidar采集时间与点云数据进行一一对应。
[0012] 在本发明的激光雷达与惯性传感器的数据同步授时系统的一个示例性实施例中,所述FPGA处理单元可包括基时钟模块、UTC解析模块、触发校准模块、触发指令生成模块、IMU数据解析模块和拼接模块,其中,所述基时钟模块被配置为能够结合第一PPS脉冲产生基时钟基计数器,所述基计数器用于生成FPGA处理单元时间系下的激光雷达时间戳和IMU时间戳,激光雷达时间戳对应于生成第二PPS脉冲时的时间计数值,IMU时间戳对应于惯性传感器输出应答信号时的时间计数值;所述UTC解析模块被配置为能够对GPRMC报文进行解析,以提取UTC时间,并对UTC时间进行打标签操作;所述触发校准模块与所述基时钟模块连接,并被配置为能够基于基时钟将第一PPS脉冲校准生成第二PPS脉冲,并根据预设时刻偏置参数生成IMU触发信号;所述触发指令生成模块与所述触发校准模块连接,并被配置为能够基于IMU触发信号,产生IMU触发指令;所述IMU数据解析模块与所述惯性传感器连接,并被配置为能够对惯性传感器输出的应答信号进行解析,获得IMU数据;所述拼接模块与所述IMU数据解析模块连接,并被配置为能够将解析后的IMU数据和IMU时间戳拼接,并进行打标签操作,以获得IMU数据包。
[0013] 在本发明的激光雷达与惯性传感器的数据同步授时系统的一个示例性实施例中,所述FPGA处理单元还可包括第一缓冲区、第二缓冲区、第三缓冲区和优先级管理模块,其中,所述第一缓冲区与所述拼接模块连接,用于缓冲储存激光雷达时间戳;所述第二缓冲区与所述拼接模块连接,用于缓冲储存IMU数据包;所述第三缓冲区与所述UTC解析模块连接,用于缓冲储存UTC时间;所述优先级管理模块分别与所述第一缓冲区、第二缓冲区和第三缓冲区连接,用于按照预先设定的优先级顺序生成访问信号对三个缓冲区依次进行访问,并生成串行数据包。
[0014] 在本发明的激光雷达与惯性传感器的数据同步授时系统的一个示例性实施例中,所述控制单元可包括时间同步模块和时间坐标对齐模块,其中,所述时间同步模块被配置为能够根据所述第一计数时间和所述内置计数时间,求解每帧点云数据对应的真实Lidar采集时间;所述时间坐标对齐模块被配置为能够将真实Lidar采集时间与点云数据进行一一对应。
[0015] 与现有技术相比,本发明的有益效果包括以下内容中的至少一项:(1)本申请提出了激光雷达与惯性传感器的数据同步授时系统和方法,通过FPGA内部的触发校准单元完成对GNSS授时模块产生的不稳定PPS秒时间脉冲进行校准,产生校准后精确且稳定的PPS秒时间脉冲;
(2)本申请提出了激光雷达与惯性传感器的数据同步授时系统和方法,通过GNSS授时模块产生的PPS秒时间脉冲,结合FPGA内部的基时钟单元和触发校准单元的校准,产生高精度的IMU触发信号和校准后精确稳定的PPS秒时间脉冲,从而避免了GNSS授时模块产生的PPS秒时间脉冲不稳定的影响,同时可以精确控制IMU惯性测量单元与激光雷达的触发时间;
(3)工控机通过对校准后的激光雷达数据包和IMU数据包进行解析,保证了工控机所解析的IMU数据和激光雷达数据在同一时间坐标系下,完成了数据时间对齐。有效克服了IMU获取的位姿数据和激光雷达获取的点云数据的时间同步精度不足而导致点云数据畸变矫正失败,影响算法重建效果,从而影响检测结果的问题。
附图说明
[0016] 通过下面结合附图进行的描述,本发明的上述和其他目的和/或特点将会变得更加清楚,其中:图1示出了本发明的激光雷达与惯性传感器的数据同步授时系统的一个示例性实施例的同步授时系统的结构流程示意图。
[0017] 图2示出了本发明的激光雷达与惯性传感器的数据同步授时方法的一个示例性实施例的同步授时方法的流程示意图。
[0018] 图3示出了本发明的激光雷达与惯性传感器的数据同步授时系统的一个示例性实施例的激光雷达与惯性传感器时间不同步性的说明示意图。
[0019] 图4示出了本发明的激光雷达与惯性传感器的数据同步授时系统的一个示例性实施例的FPGA处理单元时间系与激光雷达时间系之间的关系示意图。
[0020] 图5示出了本发明的激光雷达与惯性传感器的数据同步授时系统的一个示例性实施例的FPGA处理单元时间系、激光雷达时间系与工控机时间核对定时器之间的关系示意图。
[0021] 图6示出了本发明的激光雷达与惯性传感器的数据同步授时系统的一个示例性实施例的激光雷达时间同步方法的流程示意图。
[0022] 附图标记说明:100‑GNSS高精度授时模块,200‑FPGA处理单元,201‑基时钟模块,202‑UTC解析模块,203‑触发校准模块,204‑触发指令生成模块,205‑IMU数据解析模块,206‑拼接模块,
207‑第一缓冲区,208‑第二缓冲区,209‑第三缓冲区,210‑优先级管理模块,300‑激光雷达,
400‑IMU惯性传感器,500‑工控机。

具体实施方式

[0023] 在下文中,将结合示例性实施例来详细说明本发明的激光雷达与惯性传感器的数据同步授时系统和方法。
[0024] 需要说明的是,“第一”、“第二”等仅仅是为了方便描述和便于区分,而不能理解为指示或暗示相对重要性。
[0025] 在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“安装”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接相连,也可以间接相连;可以是有线连接,也可以是无线连接。对于本领域的普通技术人员而言,可视具体情况理解上述术语在本发明中的具体含义。
[0026] 在利用无人机检测桥梁表面裂缝的过程中,时常会出现无人机上搭载的惯性传感器(Inertial Measurement Unit,以下简称IMU)和激光雷达的采集数据时间上同步精度不足的问题,从而导致点云数据畸变矫正失败,影响算法重建结果,从而影响检测结果的问题。
[0027] 为了解决上述问题,本发明提出了一种基于全球导航卫星系统(Global Navigation Satellite System,以下简称GNSS)的激光雷达与惯性传感数据的同步授时系统和方法,该系统通过GNSS产生的高精度PPS秒脉冲(Pulse per second,简称PPS)、世界协调时间(Universal Time Coordinated,以下简称UTC时间)、以及FPGA(现场可编程逻辑阵列,Field Programmable Gate Array)产生的高精度控制信号,能够精确控制IMU和激光雷达各自触发的精准时刻,且可以准确实现两者数据在时间上的同步。除此之外,工控机可以根据激光雷达采集点云的UTC时间和IMU采集数据的时间戳对点云数据集和IMU数据集进行时间同步,有效避免了传统方法中IMU和激光雷达不能同步授时以及数据时间同步精度低,从而导致激光雷达采集的点云数据集畸变矫正失败,影响重建效果乃至检测结果的问题。
[0028] 具体来讲,本发明一方面提供了一种激光雷达与惯性传感器的数据同步授时方法。
[0029] 在本发明的一个示例性实施例中,一种激光雷达与惯性传感器的数据同步授时方法通过以下步骤实现。
[0030] 步骤一,使用卫星授时模块每间隔预定时间产生第一PPS脉冲和GPRMC报文,并发送至FPGA处理单元。
[0031] 步骤二,解析GPRMC报文(Recommended Minimum Specific GPS/TRANSIT Data(RMC),推荐定位信息),获取UTC时间。
[0032] 步骤三,通过FPGA处理单元将第一PPS脉冲进行校准,以获得精确的第二PPS脉冲,并将第二PPS脉冲发送至激光雷达,以触发激光雷达开始采集点云数据,并记录在FPGA处理单元时间系下的第一计数时间和在激光雷达时间系下的内置计数时间。第一计数时间为生成第二PPS脉冲的时间,内置计数时间为激光雷达开始采集点云数据的时间。
[0033] 例如,激光雷达的触发频率为1Hz,并且触发高电平持续时间为20ms 200ms,即激~光雷达每次接收到第二PPS脉冲的上升沿,都会采集10次点云数据。
[0034] 第一PPS脉冲指的是来自卫星授时模块的原始PPS信号,在设备实际运行过程中,很有可能遇到GNSS信号丢失的状况,导致PPS信号中断,因此需要通过FPGA处理单元将第一PPS脉冲校准为稳定的第二PPS脉冲。
[0035] 步骤四,通过FPGA处理单元对第一PPS脉冲进行校准后,根据预设时刻偏置参数生成IMU触发指令并传输至惯性传感器,以触发惯性传感器开始采集IMU数据,并记录在FPGA处理单元时间系下的第二计数时间,第二计数时间为惯性传感器输出应答信号的时间。
[0036] 其中,应答信号中包含有采集的IMU数据,例如,包含相应的无人机位姿等数据信息。
[0037] 步骤五,将第二计数时间确定为真实IMU采集时间,并根据第一计数时间和所述内置计数时间,求解每帧点云数据对应的真实Lidar采集时间,并将真实Lidar采集时间与点云数据进行一一对应。
[0038] 通过将激光雷达的采集时间转化为与惯性传感器的采集时间相同的时间系下,实现了激光雷达和惯性传感器的同步授时。同步授时实际指的是两者均在一个时间系下,即都是通过同一个基时钟和基计数器来计时的,实际上的触发时刻,两种传感器(即激光雷达和惯性传感器)都可以根据实际情况进行调节,但是均在统一时间系下。
[0039] 在本实施例中,FPGA处理单元产生的IMU触发指令的频率由惯性传感器的数据采集频率决定。FPGA处理单元产生IMU触发指令的频率可与惯性传感器的数据采集频率相等,例如,惯性传感器的工作频率为100Hz,即每隔10ms触发其发送一次请求信号,即FPGA处理单元产生的IMU触发指令频率为100Hz。
[0040] 每当IMU触发指令生成并发送,会触发惯性传感器进行一次IMU数据的采集和发送。IMU触发指令是一串基于串行协议的多字节指令,例如UART协议下的8字节触发指令。
[0041] 在本实施例中,步骤三中,设置基计数器,将生成第二PPS脉冲时基计数器的时间计数值作为激光雷达时间戳;根据激光雷达时间戳和UTC时间,确定第一计数时间。
[0042] 步骤四中,第二计数时间的确定方式可为:将惯性传感器输出应答信号时基计数器的时间计数值作为IMU时间戳;根据IMU时间戳和UTC时间,确定第二计数时间。
[0043] 在本实施例中,步骤五中,通过以下公式计算真实Lidar采集时间。
[0044] tf=(tpc‑Tf_pc)+Tf(1)t1=(tpc‑T1_pc)+T(1 2)
T0=tf‑t1+dt(3)
t1_real=t1+dT+T(0 4)
其中,T0为FPGA处理单元的初始时刻,dT为FPGA处理单元对第一PPS脉冲的校准时延,Tf为当控制单元接收到激光雷达时间戳时,对应的FPGA处理单元时间系下的时刻,Tf_pc为控制单元当接收到激光雷达时间戳时,对应的控制单元时间戳,T1为当控制单元接收到激光雷达的采集数据时,对应的激光雷达时间系下的时刻,T1_pc为当控制单元接收到激光雷达的采集数据时,对应的控制单元时间戳,dt为自控制单元开始接收激光雷达的采集数据以来经历的时间,tpc为经历dt后对应的控制单元时间戳,tf为经历dt后FPGA处理单元时间系的时刻,t1为经历dt后激光雷达时间系下的时刻,t1_real为t1对应的FPGA处理单元时间系下的真实Lidar采集时间。
[0045] 本发明另一方面提供了一种激光雷达与惯性传感器的数据同步授时系统。
[0046] 在本发明的另一个示例性实施例中,激光雷达与惯性传感器的数据同步授时系统包括卫星授时模块、FPGA处理单元、激光雷达、惯性传感器以及控制单元。
[0047] 其中,卫星授时模块用于每间隔预定时间(例如,每隔1s)输出第一PPS脉冲和GPRMC报文。例如,卫星授时模块用于每隔一秒产生高精度的第一PPS脉冲,并且产生第一PPS脉冲的同时,会输出包含有当前时刻的世界协调时间(UTC)信息的GPRMC报文,并将第一PPS脉冲和GPRMC报文发送给FPGA处理单元。
[0048] FPGA处理单元与卫星授时模块连接,FPGA处理单元用于生成第二PPS脉冲和IMU触发指令,并向激光雷达发送第二PPS脉冲,确定在FPGA处理单元时间系下的第一计数时间;以及,向惯性传感器发送IMU触发指令,确定在FPGA处理单元时间系下的第二计数时间。其中,第一计数时间为FPGA处理单元生成第二PPS脉冲的时间,第二计数时间为惯性传感器输出应答信号的时间。
[0049] 具体来讲,FPGA处理单元接收到第一PPS脉冲的同时,一方面会将第一PPS脉冲进行校准,获得第二PPS脉冲,并将第二PSS脉冲发送给激光雷达,以触发激光雷达开始采集点云数据;另一方面在对第一PPS脉冲校准后生成IMU触发指令,并将其传输给惯性传感器,以触发惯性传感器开始采集IMU数据。而FPGA处理单元接收到GPRMC报文的同时,会将其进行解析,提取出UTC时间,并传输至控制单元。
[0050] 激光雷达与FPGA处理单元连接。激光雷达用于接收第二PPS脉冲,并在第二PPS脉冲的触发下开始采集点云数据。
[0051] 惯性传感器与FPGA处理单元连接。惯性传感器用于接收IMU触发指令后开始采集包含无人机位姿的IMU数据,并输出应答信号。其中,应答信号中包含有采集的IMU数据。
[0052] 控制单元分别与FPGA处理单元和激光雷达连接。控制单元用于根据第一计数时间和内置计数时间,求解每帧点云数据对应的真实Lidar采集时间,并将真实Lidar采集时间与点云数据进行一一对应。
[0053] 在本实施例中,FPGA处理单元可包括基时钟模块、UTC解析模块、触发校准模块、触发指令生成模块、IMU数据解析模块和拼接模块。
[0054] 其中,基时钟模块被配置为能够结合第一PPS脉冲产生基时钟和基计数器。
[0055] 需要说明的是,基时钟模块的具体实施方式可以为:设置一个秒计数器,如果该秒计数器计满或者接收到第一PPS脉冲,则对秒计数器进行复位,该秒计数器作为整个数据同步授时系统的基计数器,由该基计数器产生的时钟脉冲信号作为基时钟信号
[0056] 基计数器在系统上电后就一直工作,并在第一PPS脉冲上升沿或在内部秒计数器满时进行复位。基计数器用于生成FPGA处理单元时间系下的激光雷达时间戳和IMU时间戳,激光雷达时间戳对应于生成第二PPS脉冲时的时间计数值,IMU时间戳对应于惯性传感器输出应答信号时的时间计数值。UTC解析模块被配置为能够对GPRMC报文进行解析,以提取UTC时间,并对UTC时间进行打标签操作。
[0057] 触发校准模块与基时钟模块连接,并被配置为能够基于基时钟将第一PPS脉冲校准生成第二PPS脉冲,并根据预设时刻偏置参数生成IMU触发信号。触发校准单元具体实施方式为,通过基时钟和基计数器,根据实际触发信号需求,设置相应触发校准条件来产生相应触发信号。该触发条件通过预定参数进行调整,可以通过对实际触发反馈进行标定,再调节该参数,保证满足最终触发精度。通过调节后的PPS脉冲就是该第二PPS脉冲。其具有GNSS离线保持稳定,GNSS在线优先采用的,且人工可调的特点。
[0058] 触发指令生成模块与触发校准模块连接,并被配置为能够基于IMU触发信号,产生IMU触发指令。
[0059] IMU数据解析模块与惯性传感器连接,并被配置为能够对惯性传感器输出的应答信号进行解析,获得IMU数据。
[0060] 拼接模块与IMU数据解析模块连接,并被配置为能够将解析后的IMU数据和IMU时间戳拼接,并进行打标签操作,以获得IMU数据包。
[0061] 进一步地,FPGA处理单元还可包括第一缓冲区、第二缓冲区、第三缓冲区和优先级管理模块。
[0062] 其中,第一缓冲区与拼接模块连接,用于缓冲储存激光雷达时间戳。
[0063] 第二缓冲区与拼接模块连接,用于缓冲储存IMU数据包。
[0064] 第三缓冲区与UTC解析模块连接,用于缓冲储存UTC时间。
[0065] 优先级管理模块分别与第一缓冲区、第二缓冲区和第三缓冲区连接,用于按照预先设定的优先级顺序生成访问信号对三个缓冲区依次进行访问,并生成串行数据包。
[0066] 在本实施例中,控制单元可包括时间同步模块和时间坐标对齐模块。其中,时间同步模块被配置为根据所述第一计数时间和所述内置计数时间,求解每帧点云数据对应的真实Lidar采集时间。时间坐标对齐模块被配置为能够将真实Lidar采集时间与点云数据进行一一对应,以保证IMU数据和点云数据在同一时间坐标系下。
[0067] 为了更好地理解本发明的上述示例性实施例,下面结合具体示例和附图对其进行进一步说明。
[0068] 示例1如图1所示,是一种基于FPGA的激光雷达与惯性传感器的数据同步授时系统的结构示意图,其包括GNSS高精度授时模块100、FPGA处理单元200、激光雷达300、IMU惯性传感器400和工控机500。其中,GNSS高精度授时模块100与FPGA处理单元200相连,FPGA处理单元
200分别与激光雷达300和IMU惯性传感器400相连,工控机500分别与激光雷达300和FPGA处理单元200相连。
[0069] GNSS高精度授时模块100用于每隔一秒产生高精度的第一PPS脉冲和GNSS‑NMEA标准报文,并将其传输给FPGA处理单元200。FPGA处理单元200用于接收到GNSS高精度授时模块100传输的第一PPS脉冲的同时,生成激光雷达触发信号(即第二PPS脉冲)和IMU触发信号,并分别传输给激光雷达和惯性传感器。
[0070] FPGA处理单元200具体可包括基时钟模块201、UTC解析模块202、触发校准模块203、触发指令生成模块204、IMU数据解析模块205、拼接模块206、第一缓冲区207、第二缓冲区208、第三缓冲区209和优先级管理模块210。
[0071] 其中,基时钟模块201用于结合GNSS高精度授时模块100产生的第一PPS脉冲,产生精确且稳定的基时钟和基计数器,并将其传输给触发校准模块203。基计数器用于产生激光雷达时间戳和IMU时间戳。在第二PPS脉冲时记录此刻基计数器的计数值,作为激光雷达时间戳;在惯性传感器输出应答信号时记录此刻基计数器的计数值,作为IMU时间戳。
[0072] UTC解析模块202用于接收GNSS高精度授时模块100产生的GNSS‑NMEA标准报文,并对其进行解析,提取出UTC时间,并对提取出的UTC时间进行打标签操作,并将其缓冲储存在FPGA处理单元预先为其设定好的第三缓冲区209内。
[0073] 触发校准模块203用于基于基时钟对第一PPS脉冲进行校准,并将校准后获得的第二PPS脉冲传送给激光雷达300,以触发激光雷达采集数据。激光雷达300的触发频率为1Hz,并且触发高电平持续时间为20 200ms,即每当接收到第二PPS脉冲的上升沿,都会触发激光~雷达采集10次点云数据。激光雷达300将采集的点云数据包通过网口传输给工控机500。同时,根据基计数器确定激光雷达时间戳,激光雷达时间戳对应于触发校准模块203产生校准后的第二PPS脉冲时刻,基计数器对应的计数值。拼接模块206用于对激光雷达时间戳进行打标签,并将标记后的激光雷达时间戳缓冲储存在FPGA处理单元预先为其设定好的第一缓冲区207内。
[0074] 另外,触发校准模块203还用于根据预设时刻偏置参数生成IMU触发信号,并将IMU触发信号发送至触发指令生成模块204。触发指令生成模块204用于产生IMU触发指令,并将IMU触发指令发送至IMU惯性传感器400,以触发IMU惯性传感器采集数据。触发校准模块基于基时钟对激光雷达和IMU触发信号进行校准,产生校准后精确的第二PPS脉冲和IMU触发信号,从而避免了GNSS高精度授时模块产生的第一PPS脉冲不稳定的影响,同时可以精确控制IMU惯性传感器与激光雷达的触发时间。
[0075] FPGA处理单元200产生的IMU触发指令的频率由IMU惯性传感器400的数据采集频率决定。例如,每当IMU触发指令生成并发送,会触发惯性传感器进行一次IMU数据的采集和发送,IMU触发指令是一串基于串行协议的多字节指令,例如UART协议下的8字节触发指令。
[0076] IMU惯性传感器400根据接收到的IMU触发指令开始采集数据,并将采集的IMU数据包返回给IMU数据解析模块205。当IMU惯性传感器400接收到IMU触发指令时,会输出应答信号,该应答信号中包含相应的位姿等数据信息。
[0077] IMU数据解析模块205用于对IMU惯性传感器400返回的数据包进行解析,并将解析后的IMU数据传输给拼接模块206。拼接模块206用来将解析后的IMU数据与IMU时间戳拼接在一起,同时对拼接后的数据包进行打标签操作,并将IMU数据与IMU时间戳拼接标记后的IMU数据包缓冲储存在FPGA处理单元预先为其设定好的第二缓冲区208内。
[0078] IMU时间戳对应于IMU惯性传感器开始返回数据时基计数器对应的计数值。当IMU惯性传感器400接收到触发指令生成模块204产生的IMU触发指令之后,开始采集包含无人机位姿的IMU数据;当IMU惯性传感器400产生应答信号的时候,将此时的基计数器的计数值保存下来,作为当前IMU采集数据帧的时间戳。当检测到校准前PPS脉冲(即第一PPS脉冲)的上升沿或基计数器计数到1s所对应的计数值,即50M时,基计数器可自动清零,并重新开始计数。
[0079] 缓冲储存激光雷达时间戳至第一缓冲区、缓冲储存IMU数据与IMU时间戳拼接标记后的IMU数据包至第二缓冲区、以及缓冲储存UTC时间至第三缓冲区的缓冲储存行为是并行(同时)发生的,即UTC时间、IMU数据与IMU时间戳拼接标记后的IMU数据包、激光雷达时间戳均为并行(同时)缓冲储存在各自的缓冲区中。优先级管理模块210根据预先设定的优先级顺序生成访问信号对三个缓冲区依次进行访问,并生成串行数据包,并通过串行协议将串行数据包发送至工控机500内。所述串行数据包可包括UTC时间、激光雷达时间戳、IMU时间戳和IMU数据包。例如,优先级顺序可以为:UTC数据>激光雷达时间戳数据>IMU相关数据。其中UTC数据1Hz,激光雷达时间戳1Hz,IMU数据1Hz,如此设定可以保证UTC数据最快速上传;而激光雷达时间戳数据相比IMU数据产生频率更低,且数据长度更短,这样可以尽量减少并行转串行的相互抢占问题。
[0080] 设置缓存区和优先级管理模块的原因是:三种数据来源的产生时刻并不一定,极有可能同时或时刻相近产生。而FPGA处理单元上传到工控机的数据通道只有一条,无法同时将多种数据来源进行上传。通过设置缓冲区和优先级管理模块,可以将并行产生的数据缓存在缓冲区中,并通过优先级管理模块根据优先级顺序依次读出,从而使得并行数据变为串行数据,从而可以通过一条通道上传到工控机中。
[0081] 工控机500根据从FPGA处理单元200上传的激光雷达采集点云的激光雷达时间戳,校准激光雷达300通过网口反馈回来的点云数据包中的时间戳,形成校准后的激光雷达数据时间戳。由于FPGA处理单元上传的激光雷达时间戳和IMU时间戳均是在校准后的基时钟下产生,所以当工控机通过对校准后的激光雷达数据包和IMU数据包进行解析后,保证了工控机所解析的IMU数据和激光雷达数据在同一时间坐标系下,以此完成数据时间对齐。这有效克服了IMU获取的位姿数据和激光雷达获取的点云数据的时间同步精度不足而导致点云数据畸变矫正失败,影响算法重建效果,从而影响检测结果的问题。
[0082] 另外,工控机还能结合Lidar数据和IMU数据完成对Lidar点云的运动畸变补偿。由于激光雷达的运动,导致采样点每次测量的雷达坐标系不一致的问题,因此需利用工控机将该帧点云全部投影到共同的激光雷达坐标系。由于IMU高频率,使得一帧点云内有许多IMU数据。利用IMU数据与IMU运动模型可以进行机体状态量的递推,即机体的位置姿态。同时,由于激光雷达的高采样率,两帧IMU数据之间有多个点云数据。利用它们的时间戳进行插值,得到每一个激光采样点相对于该帧点云的最后一个点的相对位姿,并投影至最后一个点所在的激光雷达坐标系,即可完成点云的运动畸变校正。
[0083] 如图2所示,是一种基于FPGA的激光雷达与惯性传感器的数据同步授时方法的流程示意图,其包括如下步骤。
[0084] S201:GNSS高精度授时模块每隔一秒会产生高精度的PPS秒时间脉冲(即第一PPS脉冲)和GNSS‑NMEA标准报文发送给FPGA处理单元,FPGA处理单元经过内部基时钟模块与触发校准模块进行校准后,将校准后的PPS秒时间脉冲(即第二PPS脉冲)发送给激光雷达,触发激光雷达开始采集点云数据,并将采集的点云数据包通过网口发送给工控机。
[0085] 当FPGA处理单元通过内部触发校准模块产生校准后的PPS秒时间脉冲(即第二PPS脉冲)时,此时基计数器的计数值对应于激光雷达时间戳。
[0086] S202:FPGA处理单元经过内部UTC解析模块对GNSS‑NMEA标准报文进行解析后,提取出UTC时间,并对提取出的UTC时间进行打标签操作。
[0087] S203:FPGA处理单元通过内部触发校准模块根据预设时刻偏置参数生成IMU触发信号,将IMU触发信号发送至触发指令生成模块,产生IMU触发指令,并将IMU触发指令发送至IMU惯性传感器。IMU惯性传感器接收到IMU触发指令后开始采集数据,并将采集的IMU数据包返回给FPGA处理单元中的IMU数据解析模块。
[0088] 当IMU惯性传感器开始返回数据时,此时基计数器的计数值对应于IMU时间戳。
[0089] S204:IMU数据解析模块对IMU惯性传感器返回的IMU数据包进行解析,并将解析后的IMU数据传输给拼接模块;拼接模块将解析后的IMU数据与IMU时间戳拼接在一起,同时对拼接后的IMU数据包进行打标签操作。
[0090] S205:将激光雷达时间戳缓冲储存在FPGA处理单元预先为其设定好的第一缓冲区内;将拼接标记后的IMU数据包缓冲储存在FPGA处理单元预先为其设定好的第二缓冲区内;并将UTC时间缓冲储存在FPGA处理单元预先为其设定好的第三缓冲区内。优先级管理模块根据预先设定的优先级顺序生成访问信号对三个缓冲区依次进行访问,并生成串行数据包,并通过串行协议将串行数据包发送至工控机内。
[0091] 其中,UTC时间、IMU数据与IMU时间戳拼接标记后的IMU数据包、激光雷达时间戳均为并行(同时)缓冲储存在各自的缓冲区中。
[0092] S206:工控机根据从FPGA处理单元上传的激光雷达采集点云的激光雷达时间戳,校准激光雷达通过网口反馈回来的点云数据包中的激光雷达时间戳,形成校准后的激光雷达数据时间戳(包含点云数据包和校准后的时间戳);并且工控机通过对校准后的激光雷达数据包和IMU数据包进行解析,从而保证IMU数据和激光雷达数据在同一时间坐标系下,以此完成数据时间对齐。
[0093] 由上面所描述的具体实施方式可知,本申请提出的基于FPGA的激光雷达与惯性传感器的数据同步授时系统及方法,通过GNSS授时模块产生的PPS秒时间脉冲,结合FPGA内部的基时钟模块与触发校准模块的校准,产生高精度的IMU触发信号和校准后精确稳定的PPS秒时间脉冲,从而可以精确控制IMU惯性传感器与激光雷达的触发时间,保证了激光雷达和惯性传感器同步授时的条件;除此之外,工控机通过对校准后的激光雷达数据包和IMU数据包进行解析,从而保证IMU数据和激光雷达数据在同一时间坐标系下,以此完成数据时间对齐,有效避免了传统方法中IMU和激光雷达不能同步授时以及时间同步精度低,从而导致激光雷达采集的点云数据集畸变矫正失败,影响重建效果乃至检测结果的问题。
[0094] 本申请通过Verilog程序直接从卫星授时模块输出的GPRMC报文中提取出UTC时间,其中包括年月日时分秒,共十六字节,并且通过FPGA将提取的UTC时间传输至工控机,用于后续与IMU和激光雷达上传的秒内时间戳组成完整UTC时间戳。FPGA处理单元产生高精度控制信号采用了两个计数器的方法,一个为固定频率的计数器,另一个为表示偏移量的计数器,通过在固定频率信号上进行一定偏移,从而共同约束唯一确定控制信号产生的时间,其精度误差小于1ns。固定频率计数器指的是基计数器,而偏移量计数器指的是根据预设的触发信号偏移参数,来根据基计数器校准触发信号的计数器。该偏移量计数器和基计数器共同产生的校准后的触发信号,而此刻对应的基计数器计数值,作为了最终时间戳。
[0095] 本系统需要对多个传感器数据包进行上传,设计了并行FIFO保存单元(也就是三个缓冲区)和基于优先级的串行上传单元(也就是优先级管理模块)。具体表现为本系统中FPGA对不同传感器的数据添加了独特标记,并将标记后的数据并行保存在FPGA的为各自传感器创建的FIFO中,根据预先设定的优先级对数据进行串行上传。
[0096] 为了减少GNSS高精度授时模块所产生第一PPS脉冲的不稳定性,实际触发激光雷达的第二PPS脉冲与授时模块产生的第一PPS脉冲之间存在手动设置的微小延迟 。且激光雷达内置的时间戳并非UTC时间,而是从0开始的激光雷达内部时间戳,与FPGA处理单元的时间系不同,需要对激光雷达的时间戳进行校准。
[0097] 具体来讲,由于GNSS高精度授时模块传输给FPGA处理单元的PPS秒脉冲可能由于信号问题消失,为解决此问题,本申请的FPGA处理单元使用内部时钟对该信号进行了校准生成内部时钟,而给激光雷达的PPS信号相较于此基时钟存在一定延时,延时时间记作dT。一方面FPGA处理单元将解析来自GNSS的报文并在每秒的10 20ms的位置将当前秒对应的~
UTC时间上传至工控机,频率为1Hz;另一方面激光雷达在接收到第二PPS秒脉冲后将产生10帧点云数据,并将点云数据与从0开始的激光雷达内部时间戳上传至工控机。因此,实现激光雷达与惯性传感器时间同步的核心在于:利用FPGA处理单元内部时间系的1Hz的UTC时间以及激光雷达时间系的10Hz的激光雷达内部时间戳来求解每一帧激光雷达点云数据的真实时间戳。
[0098] 对于激光雷达同步来讲,其数据流如图3所示,工控机500一方面接收了来自于FPGA处理单元200的两种数据,分别为UTC时间(1Hz,每秒的10ms 20ms返回该数据)、校准时~延dT(1Hz,每秒产生校准后PPS后即刻上传);工控机500另一方面还接收了来自激光雷达
300的数据包(每秒最高10Hz,包含数据包和时间该数据包对应的激光雷达内部时间戳)。触发激光雷达的PPS秒脉冲由于校准存在一定时延,所以激光雷达返回给工控机的数据包中的时间戳与FPGA处理单元存在了一定的延迟。并且,激光雷达并没有接收到工控机发送的UTC时间,其时间开始为0,而FPGA处理单元的时间起点为其开机时刻接收到的UTC时刻。所以需要对激光雷达返回给工控机的数据包中的时间戳进行校准,校准成与惯性传感器同步的时间系。
[0099] 基于此,本申请提出以下方案来解决激光雷达与惯性传感器的时间同步问题。图4示出了FPGA处理单元时间系与激光雷达时间系之间的关系示意图,为FPGA处理单元时间系与激光雷达时间系之间关系的进一步说明。图4中的线段A表示FPGA处理单元时间系,线段B表示激光雷达时间系。如图4所示,将FPGA处理单元的基时钟起点,即FPGA处理单元开机时刻对应的UTC时间记为T0,此时间为一个整数。由于FPGA处理单元对第二PPS脉冲存在dT的延迟,因此经历了dT后激光雷达才开始进行点云数据采集,频率为10Hz,此时刻对应了激光雷达时间系的0时刻。因此,只要根据每帧点云在激光雷达时间系的时间解算其对应在FPGA处理单元时间系的时间即完成了激光雷达与惯性传感器之间的时间同步。
[0100] 如图5所示,为求解激光雷达对应的FPGA处理单元时间的示意图。图5中的线段A表示FPGA处理单元时间系,线段B表示激光雷达时间系,线段C表示工控机时间核对定时器。如图5所示,设系统自启动以来经历的时间为dt,经历了dt后FPGA处理单元时间系的时刻为tf,经历了dt后激光雷达时间系的时刻为tl。则有tf=T0+dt,tl=dt‑dT。由此可见,只需要先标定出FPGA处理单元初始时刻T0,并求解每一时刻的dt即可精确地求解激光雷达数据帧对应的tf。
[0101] 每当工控机接收到FPGA处理单元的时间戳时,分别记录其对应的FPGA处理单元时间系的时刻Tf以及该时刻对应的操作系统时间戳Tf_pc,此时刻的刷新频率为1 Hz。同理,每当接收到激光雷达点云数据时,分别记录对应的激光雷达时间系的时刻Tl以及Tl_pc,此时刻的刷新频率为10 Hz。因此当接收到任意一帧点云数据时,记此时的操作系统时间戳为tpc,那么此时对应的FPGA处理单元时间系的时刻tf=(tpc‑Tf_pc)+Tf=T0+dt,此时对应的激光雷达时间系的时刻tl=(tpc‑Tl_pc)+Tl=dt‑dT。
[0102] 在另一个线程接收tf和tl并进行处理,可解算出T0_estimate=tf‑tl+dt。对T0_estimate进行四舍五入即可得到T0的准确值。标定出FPGA处理单元初始时间T0后,激光雷达每一时刻对应与FPGA处理单元时间系的时间即可表示为tf=T0+tl+dT。另外,在数据采集过程中可每过一段时间重新标定一次T0的值,如果始终为一个稳定值则采集过程正常进行,否则说明系统出现了异常。至此完成了激光雷达与惯性传感器之间的数据同步。
[0103] 如图6所示,激光雷达与惯性传感器的时间同步流程如下:i)从FPGA处理单元每秒刷新UTC时间Tf,从激光雷达以10Hz刷新每个数据帧对应的时间戳T1。
[0104] ii)记录FPGA处理单元刷新时刻对应的工控机时间戳Tf_pc,以及,记录激光雷达刷新时刻对应的工控机时间戳Tl_pc。
[0105] iii)启动工控机的时间核对低速定时器任务(例如,每秒25Hz),并确认定时器是否触发,若是,则计算此刻FPGA处理单元时间系时间tf=(tpc‑Tf_pc)+Tf,以及计算此刻激光雷达时间系时间tl=(tpc‑Tl_pc)+Tl。
[0106] iiii)从FPGA处理单元接收校准延时dT,并计算FPGA处理单元时间系的起点UTC时间T0=tf‑t1+dt。
[0107] iiiii)计算准确的激光雷达数据帧的时刻t1对应的FPGA处理单元时间系t1_real=t1+dT+T0。
[0108] 综上所述,本申请所具有的有益效果是:(1)本申请提出的基于FPGA的激光雷达与惯性传感器的数据同步授时系统及方法,通过GNSS授时模块产生的PPS秒时间脉冲,结合FPGA处理单元内部的基时钟模块和触发校准模块的校准,产生高精度的IMU触发信号和校准后精确稳定的PPS秒时间脉冲,从而避免了GNSS授时模块产生的PPS秒时间脉冲不稳定的影响,同时可以精确控制IMU惯性传感器与激光雷达的触发时间,这保证了激光雷达和IMU同步授时以及激光雷达采集的点云数据集和IMU采集的数据集保持高精度的时间同步条件;
(2)该系统设置的工控机通过对校准后的激光雷达数据包和IMU数据包进行解析,保证了工控机所解析的IMU数据和激光雷达数据在同一时间坐标系下,完成了数据时间对齐,并且时间同步精度很高(例如,同步精度误差小于1ns);
(3)本申请有效避免了传统方法造成的点云数据和位姿数据的时间同步精度不足而带来的重建效果乃至检测结果不佳的问题。
[0109] 尽管上面已经结合示例性实施例及附图描述了本发明,但是本领域普通技术人员应该清楚,在不脱离权利要求的精神和范围的情况下,可以对上述实施例进行各种修改
QQ群二维码
意见反馈