一种基于FPGA的多源导航信号同步方法及同步装置与流程

文档序号:31834845发布日期:2022-10-18 20:52阅读:56来源:国知局
一种基于FPGA的多源导航信号同步方法及同步装置与流程
一种基于fpga的多源导航信号同步方法及同步装置
技术领域
1.本发明涉及导航领域,尤其涉及一种基于fpga的多源导航信号同步方法及同步装置。


背景技术:

2.随着我国北斗三号全球卫星导航系统的全面建成,全球导航卫星系统(global navigationsatellite system,gnss)能力得到进一步提升和发展(目前,世界上共有四个gnss系统—美国gps、俄罗斯glonass、欧洲galileo和我国北斗)。然而,由于无线电定位技术的先天特点,导航卫星信号十分容易受到遮挡和干扰,北斗等gnss系统依然无法满足室内、地下、隧道等环境下的用户使用需求。为此,多源融合导航已成为解决和突破这一瓶颈问题的主要技术手段。
3.gnss传感器、惯性测量器件(inertial measurementunit,imu)与视觉(visual)传感器的组合,是目前最常见的多源融合导航方案之一。一方面,gnss系统能够在可用的情况下为整个方案提供准确的绝对坐标位置基准,从而修正imu与相机传感器的累积误差,并对其误差参数进行估计和标定;另一方面,imu与相机传感器所构成的视觉里程计(visual-inertialodometry,vio)则能在gnss卫星信号遮挡或不可用的情况下,维持高精度的位姿估计与连续输出。从而,能够形成良好互补,更好地满足室内机器人、无人驾驶、辅助自动驾驶等领域的应用需求。
4.而现有的gnss导航系统、imu系统和相机是相互独立的系统,其时间基准和数据更新频率不一致,这就需要对不同系统的信息进行同步处理。


技术实现要素:

5.本发明的目的在于提供一种基于fpga的多源导航信号同步方法及同步装置。
6.为实现上述发明目的,本发明提供一种基于fpga的多源导航信号同步方法,包括:
7.s1.fpga模块对gnss模块输入的1pps基准同步脉冲信号和时间戳信息进行解析,并通过晶振的本地时钟计数获取所述1pps基准同步脉冲信号和时间戳信息的时间对应关系;
8.s2.所述fpga模块基于所述时间对应关系产生imu模块的本地触发脉冲信号、相机模块的相机触发脉冲信号和本地同步时间戳;
9.s3.所述imu模块接收所述本地触发脉冲信号并触发,进行姿态测量并向所述fpga模块输出测量数据和测量数据有效信号;以及,所述相机模块接收所述相机触发脉冲信号并进行曝光,并向所述fpga模块输出曝光脉冲;
10.s4.所述fpga模块基于所述本地同步时间戳,接收到所述测量数据有效信号和所述曝光脉冲时所述晶振的晶振周期计算出输出同步时间戳,并将所述输出同步时间戳和所述测量数据一起输出;其中,所述输出同步时间戳包括imu时间戳和相机时间戳。
11.根据本发明的一个方面,步骤s1中,fpga模块对gnss模块输入的1pps基准同步脉
冲信号和时间戳信息进行解析,并通过晶振的本地时钟计数获取所述1pps基准同步脉冲信号和时间戳信息的时间对应关系的步骤中,若所述1pps基准同步脉冲信号连续输入,则包括:
12.所述fpga模块基于所述晶振记录所述1pps基准同步脉冲信号上升沿或下降沿到来时刻的本地时钟计数;
13.所述fpga模块解析接收到的所述时间戳信息,并将所述时间戳信息与最近一次检测到的所述1pps基准同步脉冲信号上升沿或下降沿的本地时钟计数建立时间对应关系。
14.根据本发明的一个方面,所述fpga模块解析接收到的所述时间戳信息,并将所述时间戳信息与最近一次检测到的所述1pps基准同步脉冲信号上升沿或下降沿的本地时钟计数建立时间对应关系的步骤中,若所述时间戳信息与最近一次检测到的所述1pps基准同步脉冲信号上升沿或下降沿的本地时钟计数之间的时间间隔超过1s,则重新执行步骤s1以建立新的所述时间对应关系。
15.根据本发明的一个方面,步骤s1中,fpga模块对gnss模块输入的1pps基准同步脉冲信号和时间戳信息进行解析,并通过晶振的本地时钟计数获取所述1pps基准同步脉冲信号和时间戳信息的时间对应关系的步骤中,若所述fpga模块在预设时间内没有收到后续的所述1pps基准同步脉冲信号,则判定所述1pps基准同步脉冲信号中断;
16.若所述1pps基准同步脉冲信号中断,则包括:
17.所述fpga模块保留前一次所述时间戳信息与最近一次检测到的所述1pps基准同步脉冲信号上升沿或下降沿建立的时间对应关系;
18.所述fpga模块以前一次建立时间对应关系时刻的本地时钟计数npps’为基准继续对所述晶振进行外推计数。
19.根据本发明的一个方面,步骤s2中,所述fpga模块基于所述时间对应关系产生imu模块的本地触发脉冲信号、相机模块的相机触发脉冲信号和本地同步时间戳的步骤中,若所述1pps基准同步脉冲信号连续输入,以所述时间对应关系中的所述时间戳信息作为所述本地同步时间戳的基准;
20.若所述1pps基准同步脉冲信号中断,以前一次所述时间对应关系中的所述时间戳信息作为所述本地同步时间戳的基准。
21.根据本发明的一个方面,步骤s2中,所述fpga模块基于所述时间对应关系产生imu模块的本地触发脉冲信号、相机模块的相机触发脉冲信号和本地同步时间戳的步骤中,若所述1pps基准同步脉冲信号连续输入,则所述fpga模块在产生所述imu模块的本地触发脉冲信号、相机模块的相机触发脉冲信号的同时,记录所述晶振的本地时钟计数npps;
22.若所述1pps基准同步脉冲信号中断,则所述fpga模块在产生所述imu模块的本地触发脉冲信号、相机模块的相机触发脉冲信号的同时,基于所述晶振的外推计数持续进行本地时钟计数。
23.根据本发明的一个方面,步骤s4中,所述fpga模块基于所述本地同步时间戳,接收到所述测量数据有效信号和所述曝光脉冲时所述晶振的晶振周期计算出输出同步时间戳的步骤中,包括:
24.所述fpga模块接收到所述测量数据有效信号后,记录下所述测量数据有效信号上升沿到来时所述晶振的本地时钟计数nimu;
25.所述fpga模块接收到所述曝光脉冲后,记录与其上升沿和下降沿中点相对应的本地时钟计数ncrm;
26.所述fpga模块分别基于所述本地时钟计数nimu和本地时钟计数ncrm计算所述输出同步时间戳。
27.根据本发明的一个方面,步骤s4中,所述fpga模块分别基于所述本地时钟计数nimu和本地时钟计数ncmu计算所述输出同步时间戳的步骤中,若所述1pps基准同步脉冲信号连续输入,则所述fpga模块基于所述本地时钟计数nimu、所述时间对应关系中的所述时间戳信息、所述本地时钟计数npps计算所述imu时间戳,表示为:
28.其中,timu表示imu时间戳,fclk表示所述晶振标称频率值,tpps表示所述时间对应关系中的所述时间戳信息;
29.所述fpga模块基于所述本地时钟计数ncrm、所述时间对应关系中的所述时间戳信息、所述本地时钟计数npps计算所述相机时间戳,表示为:
30.其中,tcrm表示相机时间戳,fclk表示所述晶振标称频率值,tpps表示所述时间对应关系中的所述时间戳信息;
31.若所述1pps基准同步脉冲信号中断,则所述fpga模块基于所述本地时钟计数nimu、前一次建立时间对应关系时刻的本地时钟计数npps’、前一次所述时间对应关系中的所述时间戳信息计算所述imu时间戳,表示为:
32.其中,timu表示imu时间戳,fclk表示所述晶振标称频率值,tpps’表示前一次所述时间对应关系中的所述时间戳信息;
33.所述fpga模块基于所述本地时钟计数ncrm、前一次建立时间对应关系时刻的本地时钟计数npps’、前一次所述时间对应关系中的所述时间戳信息计算所述相机时间戳,表示为:
34.其中,tcrm表示相机时间戳,fclk表示所述晶振标称频率值,tpps’表示前一次所述时间对应关系中的所述时间戳信息。
35.根据本发明的一个方面,步骤s4中,对所述fpga模块基于所述本地同步时间戳,接收到所述测量数据有效信号和所述曝光脉冲时所述晶振的晶振周期计算出输出同步时间戳的步骤中,还包括:
36.所述fpga模块基于所述晶振记录两次所述1pps基准同步脉冲信号上升沿或下降沿之间的计数值;
37.连续记录多个所述计数值并取平均值;
38.基于所述平均值对所述imu时间戳和所述相机时间戳进行修正。
39.为实现上述发明目的,本发明提供一种用于前述多源导航信号同步方法的同步装置,包括:fpga模块,gnss模块,相机模块,imu模块;
40.在所述fpga模块上设置有用于本地时钟计数的晶振;
41.所述gnss模块,所述相机模块,所述imu模块均与所述fpga模块相连接;
42.所述gnss模块用于获取1pps基准同步脉冲信号和时间戳信息,并传输至所述fpga模块;
43.所述imu模块接收所述fpga模块发出的本地触发脉冲信号并触发,进行姿态测量并向所述fpga模块输出测量数据和测量数据有效信号;
44.所述相机模块基于所述fpga模块发出的相机触发脉冲信号进行曝光,并向所述fpga模块输出曝光脉冲。
45.根据本发明的一种方案,本发明的多源导航信号同步方法和同步装置,提出了多源导航信号同步的实现方式,可以实现gnss、imu模块和相机模块信息的同步,并且结合gnss时间信号长期稳定度较好和晶振短期稳定度较好的优点,既可以在短时间内利用本地晶振进行时钟外推,又可以利用gnss时间信号对本地晶振时钟进行修正,从而获得高精度的时钟信息。本发明的多源导航信号同步装置,具有同步精度高、实现简单、成本低廉的优点。
附图说明
46.图1是示意性表示根据本发明的一种实施方式的多源导航信号同步方法的步骤框图;
47.图2是示意性表示根据本发明的一种实施方式的同步装置的系统框图;
48.图3是示意性表示根据本发明的一种实施方式的多源导航信号同步方法中gnss 1pps及时间戳信息输入处理流程图;
49.图4是示意性表示根据本发明的一种实施方式的多源导航信号同步方法中产生imu触发脉冲信号及时间戳流程图;
50.图5是示意性表示根据本发明的一种实施方式的多源导航信号同步方法中产生相机触发脉冲信号及时间戳流程图;
51.图6是示意性表示根据本发明的一种实施方式的多源导航信号同步方法中输出imu时间戳和相机时间戳流程图;
52.图7是示意性表示根据本发明的一种实施方式的多源导航信号同步方法中利用gnss的1pps对本地晶振频率进行修正流程图;
53.图8是示意性表示根据本发明的一种实施方式的同步装置的实物结构图;
54.图9是示意性表示根据本发明的一种实施方式的同步装置中相机-imu外参标定重投影误差分布图。
具体实施方式
55.为了更清楚地说明本发明实施方式或现有技术中的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
56.在针对本发明的实施方式进行描述时,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”所表达的方位或位置关系是基于相关附图所示的方位或位置关系,其仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此上述术语不能理解为对本发明的限制。
57.下面结合附图和具体实施方式对本发明作详细地描述,实施方式不能在此一一赘述,但本发明的实施方式并不因此限定于以下实施方式。
58.如图1所示,根据本发明的一种实施方式,本发明的一种基于fpga的多源导航信号同步方法,其根据外部输入的gnss 1pps基准同步脉冲信号和时间戳信息,通过本地晶振的时钟计数,根据需要的频率产生imu测量触发脉冲信号和相机触发脉冲,并且根据imu测量数据有效信号和相机曝光脉冲计算imu和相机的时间戳并输出。具体包括:
59.s1.fpga模块对gnss模块输入的1pps基准同步脉冲信号和时间戳信息进行解析,并通过晶振的本地时钟计数获取1pps基准同步脉冲信号和时间戳信息的时间对应关系;
60.s2.fpga模块基于时间对应关系产生imu模块的本地触发脉冲信号、相机模块的相机触发脉冲信号和本地同步时间戳;
61.s3.imu模块接收本地触发脉冲信号并触发,进行姿态测量并向fpga模块输出测量数据和测量数据有效信号;以及,相机模块接收相机触发脉冲信号并进行曝光,并向fpga模块输出曝光脉冲;
62.s4.fpga模块基于本地同步时间戳,接收到测量数据有效信号和曝光脉冲时晶振的晶振周期计算出输出同步时间戳,并将输出同步时间戳和测量数据一起输出;其中,输出同步时间戳包括imu时间戳和相机时间戳。
63.结合图2和图3所示,根据本发明的一种实施方式,步骤s1中,fpga模块对gnss模块输入的1pps基准同步脉冲信号和时间戳信息进行解析,并通过晶振的本地时钟计数获取1pps基准同步脉冲信号和时间戳信息的时间对应关系的步骤中,若1pps基准同步脉冲信号连续输入,则包括:
64.fpga模块基于晶振记录1pps基准同步脉冲信号上升沿或下降沿到来时刻的本地时钟计数。在本实施方式中,fpga模块基于与之相连的gnss模块接收外部的1pps基准同步脉冲信号和时间戳信息,并将其传输至fpga模块以实现fpga模块的检测和解析。
65.fpga模块解析接收到的时间戳信息,并将时间戳信息与最近一次检测到的1pps基准同步脉冲信号上升沿或下降沿的本地时钟计数建立时间对应关系。
66.根据本发明的一种实施方式,fpga模块解析接收到的时间戳信息,并将时间戳信息与最近一次检测到的1pps基准同步脉冲信号上升沿或下降沿的本地时钟计数建立时间对应关系的步骤中,若时间戳信息与最近一次检测到的1pps基准同步脉冲信号上升沿或下降沿的本地时钟计数之间的时间间隔超过1s,则重新执行步骤s1以建立新的时间对应关系。在本实施方式中,fpga模块检测输入的gnss时间戳信息,并判断时间戳到来时刻与1pps基准同步脉冲信号到来时刻相差时间是否超过1s,如果未超过1秒则说明时间戳信息与1pps对应正确,如果超过1s则说明未检测到1pps基准同步脉冲信号,此时,1pps基准同步脉冲信号与时间戳信息之间存在不对应的情况,进而需要重新基尼性能能够时间关系的建立。而如果在之前已有正确的对应关系其可采用之前的对应关系进行后续的处理,具体如下所述。
67.结合图2和图3所示,根据本发明的一种实施方式,步骤s1中,fpga模块对gnss模块输入的1pps基准同步脉冲信号和时间戳信息进行解析,并通过晶振的本地时钟计数获取1pps基准同步脉冲信号和时间戳信息的时间对应关系的步骤中,若fpga模块在预设时间内没有收到后续的1pps基准同步脉冲信号,则判定1pps基准同步脉冲信号中断。
68.若1pps基准同步脉冲信号中断,则包括:
69.fpga模块保留前一次时间戳信息与最近一次检测到的1pps基准同步脉冲信号上
升沿或下降沿建立的时间对应关系;
70.fpga模块以前一次建立时间对应关系时刻的本地时钟计数npps’为基准继续对晶振进行外推计数。
71.根据本发明的一种实施方式,步骤s2中,fpga模块基于时间对应关系产生imu模块的本地触发脉冲信号、相机模块的相机触发脉冲信号和本地同步时间戳的步骤中,若1pps基准同步脉冲信号连续输入,以时间对应关系中的时间戳信息作为本地同步时间戳的基准;
72.若1pps基准同步脉冲信号中断,以前一次时间对应关系中的时间戳信息作为本地同步时间戳的基准。
73.结合图2、图3、图4、图5所示,根据本发明的一种实施方式,步骤s2中,fpga模块基于时间对应关系产生imu模块的本地触发脉冲信号、相机模块的相机触发脉冲信号和本地同步时间戳的步骤中,若1pps基准同步脉冲信号连续输入,则fpga模块在产生imu模块的本地触发脉冲信号、相机模块的相机触发脉冲信号的同时,记录晶振的本地时钟计数npps;
74.若1pps基准同步脉冲信号中断,则fpga模块在产生imu模块的本地触发脉冲信号、相机模块的相机触发脉冲信号的同时,基于晶振的外推计数持续进行本地时钟计数。
75.结合图2、图3、图4、图5所示,根据本发明的一种实施方式,步骤s4中,fpga模块基于本地同步时间戳,接收到测量数据有效信号和曝光脉冲时晶振的晶振周期计算出输出同步时间戳的步骤中,包括:
76.fpga模块接收到测量数据有效信号后,记录下测量数据有效信号上升沿到来时晶振的本地时钟计数nimu;
77.fpga模块接收到曝光脉冲后,记录与其上升沿和下降沿中点相对应的本地时钟计数ncrm;
78.fpga模块分别基于本地时钟计数nimu和本地时钟计数ncrm计算输出同步时间戳。
79.结合图2、图3、图4、图5所示,根据本发明的一种实施方式,步骤s4中,fpga模块分别基于本地时钟计数nimu和本地时钟计数ncmu计算输出同步时间戳的步骤中,若1pps基准同步脉冲信号连续输入,则fpga模块基于本地时钟计数nimu、时间对应关系中的时间戳信息、本地时钟计数npps计算imu时间戳,表示为:
[0080][0081]
其中,timu表示imu时间戳,fclk表示晶振标称频率值,tpps表示时间对应关系中的时间戳信息;
[0082]
fpga模块基于本地时钟计数ncrm、时间对应关系中的时间戳信息、本地时钟计数npps计算相机时间戳,表示为:
[0083][0084]
其中,tcrm表示相机时间戳,fclk表示晶振标称频率值,tpps表示时间对应关系中的时间戳信息;
[0085]
若1pps基准同步脉冲信号中断,则fpga模块基于本地时钟计数nimu、前一次建立
时间对应关系时刻的本地时钟计数npps’、前一次时间对应关系中的时间戳信息计算imu时间戳,表示为:
[0086][0087]
其中,timu表示imu时间戳,fclk表示晶振标称频率值,tpps’表示前一次时间对应关系中的时间戳信息;
[0088]
fpga模块基于本地时钟计数ncrm、前一次建立时间对应关系时刻的本地时钟计数npps’、前一次时间对应关系中的时间戳信息计算相机时间戳,表示为:
[0089][0090]
其中,tcrm表示相机时间戳,fclk表示晶振标称频率值,tpps’表示前一次时间对应关系中的时间戳信息。
[0091]
根据本发明,gnss信号接收受外接影响较大,在遮挡条件下极易中断。晶振的短期稳定度较好,短时间内可以继续保持频率的稳定性。因此在判断gnss信号中断之后,利用上一次成功接收的时间戳信息,继续对本地晶振时钟计数外推产生imu模块和相机模块的时间戳的方式,进一步有效解决了gnss信号中断导致的定位偏差,有效提高了本发明的使用精度。
[0092]
如图6所示,根据本发明的一种实施方式,步骤s4中,将所述输出同步时间戳和所述测量数据一起输出的步骤中,
[0093]
fpga模块根据设定的频率产生imu触发脉冲;
[0094]
fpga模块等待测量数据读取完毕,开始发送缓存中的imu时间戳timu和imu测量数据;
[0095]
等待imu时间戳和imu测量数据发送完毕,检测是否需要发送相机时间戳tcrm,如果需要发送则开始发送缓存中的相机时间戳tcrm,否则返回上一步等待imu触发脉冲。
[0096]
如图7所示,根据本发明的一种实施方式,步骤s4中,对fpga模块基于本地同步时间戳,接收到测量数据有效信号和曝光脉冲时晶振的晶振周期计算出输出同步时间戳的步骤中,还包括:
[0097]
fpga模块基于晶振记录两次1pps基准同步脉冲信号上升沿或下降沿之间的计数值nclk;
[0098]
连续记录n个计数值nclk并取平均值:
[0099][0100]
其中,即为晶振的实际频率值;
[0101]
基于平均值对imu时间戳和相机时间戳进行修正,修正值分别为:
[0102]
imu时间戳
[0103]
相机时间戳
[0104]
同样的,当若所述1pps基准同步脉冲信号中断,其修正方式与上述方式一致,在此不再赘述。
[0105]
根据本发明,晶振的短期稳定度较好,但频率会随时间发生漂移,长时间后频率值可能会产生较大误差影响时间计数的准确性。而gnss信号具有较好的长期稳定度,因此可以结合二者的优点,利用多次测量记录两个1pps之间的本地晶振计数的平均值,从而获得准确的本地时钟,进而通过上述误差修正的方式,进一步有效提高了本发明的使用精度。
[0106]
基于本发明方法,能够同时实现传感器至gnss时间的绝对时间同步,以及各个传感器之间的相对时间同步。当定位环境开阔、每秒都具有gnss1pps信号的情况,我们能够很容易将fpga本地时钟与gnss时间的差异维持在纳秒级,并实现gnss测量数据与imu数据和相机图像的良好融合。
[0107]
为进一步说明本发明的方案,具体结合实施例作进一步阐述。
[0108]
实施例1
[0109]
结合图2和图3所示,根据本发明的一种实施方式,以1pps基准同步脉冲信号连续输入(即不发生中断)的状态下,fpga模块检测输入的gnss1pps秒脉冲,并记录其上升沿到来时本地晶振的时钟计数npps;
[0110]
fpga模块检测输入的gnss时间戳信息,并判断时间戳到来时刻与1pps基准同步脉冲信号到来时刻相差时间没有超过1秒,进而建立相应的时间对应关系,并将记录输入的时间戳信息作为时间基准,记为tpps;
[0111]
fpga模块根据设定的频率产生imu触发脉冲;
[0112]
imu模块在获取imu触发脉冲后向fpga模块输出测量数据和测量数据有效信号;
[0113]
fpga模块检测imu模块输出的测量数据有效信号,记录下其上升沿到来时本地晶振的本地时钟计数nimu;
[0114]
fpga模块通过时间对应关系中的时间戳信息(即最近一次的tpps)和时钟计数npps计算测量数据有效信号与1pps基准同步脉冲信号相差的本地晶振周期数nimu-npps;
[0115]
计算imu时间戳:
[0116][0117]
其中,timu表示imu时间戳,fclk表示所述晶振标称频率值,tpps表示所述时间对应关系中的所述时间戳信息;
[0118]
然后将计算出的imu时间戳写入缓存。
[0119]
同样的,当若所述1pps基准同步脉冲信号中断,其运行过程与上述方式基本相同,仅是所选取的本地同步时间戳的基准和本地时钟计数不同,进而在此不再赘述。
[0120]
实施例2
[0121]
结合图2和图4所示,根据本发明的一种实施方式,以1pps基准同步脉冲信号连续输入(即不发生中断)的状态下,fpga模块检测输入的gnss1pps秒脉冲,并记录其上升沿到来时本地晶振的时钟计数npps;
[0122]
fpga模块检测输入的gnss时间戳信息,并判断时间戳到来时刻与1pps基准同步脉
冲信号到来时刻相差时间没有超过1秒,进而建立相应的时间对应关系,并将记录输入的时间戳信息作为时间基准,记为tpps;
[0123]
fpga模块根据设定的频率产生相机触发脉冲;
[0124]
相机模块在获取相机触发脉冲后向fpga模块输出曝光脉冲;
[0125]
fpga模块检测相机模块输出的曝光脉冲,记录下其上升沿到来时本地晶振的本地时钟计数ncrm,作为相机模块的曝光时刻;
[0126]
fpga模块通过时间对应关系中的时间戳信息(即最近一次的tpps)和时钟计数npps计算测量数据有效信号与1pps基准同步脉冲信号相差的本地晶振周期数ncrm-npps;
[0127]
计算相机时间戳:
[0128][0129]
其中,tcrm表示相机时间戳,fclk表示所述晶振标称频率值,tpps表示所述时间对应关系中的所述时间戳信息;
[0130]
然后将计算出的相机时间戳写入缓存。
[0131]
同样的,当若所述1pps基准同步脉冲信号中断,其运行过程与上述方式基本相同,仅是所选取的本地同步时间戳的基准和本地时钟计数不同,进而在此不再赘述。
[0132]
结合图2和图8所示,根据本发明的一种实施方式,对于相机模块和imu模块之间的时间同步,可以使用目前广泛应用的惯性视觉里程计(vio)校准工具kalibr进行校准。kalibr工具能够在准确得到相机和imu之间外参的同时,标定出图像和imu测量数据之间的延时。为考察本发明方案的时间同步机制的性能表现以及在不同曝光时长下的一致性,本发明提供了一种用于前述的多源导航信号同步方法的同步装置,其包括:fpga模块1,gnss模块2,相机模块3,imu模块4,在fpga模块上设置有用于本地时钟计数的晶振。在本实施方式中,gnss模块2,相机模块,imu模块均与fpga模块相连接。在本实施方式中,gnss模块2用于获取1pps基准同步脉冲信号和时间戳信息,并传输至fpga模块;相机模块3用于采集外界的图像。
[0133]
在本实施方式中,imu模块的数据读取速率设置为200hz、相机模块触发速率设置为20hz,对从1ms到6ms的6个曝光时间分别采集了10个数据集。然后,利用kalibr标定每个数据集下的相机和imu之间的外参和时间延迟,从而分析设备的硬件时间同步精度。
[0134]
在本实施方式中,为实现imu模块和相机模块的协同作用,需要对其进行外参标定。在本实施方式中,相机模块和imu模块之间的外参标定是一个空间校准任务,需要确定传感器参考系之间的六自由度(six degrees-of-freedom,6-dof)刚体变换关系。具体地,需要确定相机模块和imu模块之间的平移向量[x y z]
t
,以及以李代数角度形式表示的姿态转换矩阵[θ
x θ
y θz]
t
,具体见表1的相机-imu外参标定结果。可以看出,外参标定结果非常稳定,变化量较小,这反映了标定结果的可靠性。
[0135][0136]
表1
[0137]
在本实施方式中,为实现imu模块和相机模块的协同作用,还需要对其进行时延标定。相机模块和imu模块之间的时延标定结果见表2相机-imu时延标定结果的第二列。可以看出,不同曝光时长下的相机-imu时延量大致相当。统计标定结果可知,相机-imu时延的rms仅为28.14μs,如此量级大小的时延已不会对gnss/rtk-visual-inertial组合导航设备的性能造成可观察到的影响。
[0138]
此外,由于这个时延量的大小是相对固定的、仅在有限的范围内波动,因此我们可以尝试在离线校准程序中去除固定延迟的影响,从而进一步提高传感器之间的时间同步精度。减去统计均值之后的相机-imu时延见表2中的第三列,它们的量级在数十微秒的水平。
[0139]
曝光时长修正前时延平均值(μs)修正后时延平均值(μs)1ms774.9041.382ms724.37-9.153ms755.8122.294ms687.05-46.475ms717.91-15.616ms741.067.54
[0140]
表2
[0141]
由于重投影误差是相机标定和相机-imu联合标定中最常用的质量指标,它反映了相机镜头的畸变程度以及相机运动与imu运动的一致性情况。在本实施方式中,通过对imu模块和相机模块的外参标定和时延标定后,进一步通过本发明的重投影误差的标定,以测试本发明的定位精度。具体的,参见图9中给出了在不同曝光时长下的相机-imu外参标定的重投影误差分布情况,它们是从10次实验结果中随机选出的,以作为示例。对于不同曝光时长,连续10次标定结果的统计情况见于表3。
[0142][0143]
表3
[0144]
从表3中可以看出,本发明的重投影误差很小,这意味着相机模块和imu模块已达到很高的时间同步和空间校准精度。此外,重投影误差与相机的曝光时长无关,表明了本方案的时间同步机制的一致性和可靠性。
[0145]
上述内容仅为本发明的具体方案的例子,对于其中未详尽描述的设备和结构,应当理解为采取本领域已有的通用设备及通用方法来予以实施。
[0146]
以上所述仅为本发明的一个方案而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1