一种IMU模块标定数据批量化自动采集方法及装置与流程

文档序号:33115634发布日期:2023-02-01 02:49阅读:52来源:国知局
一种IMU模块标定数据批量化自动采集方法及装置与流程
一种imu模块标定数据批量化自动采集方法及装置
技术领域
1.本发明涉及惯性测量单元标定与测试技术领域,特别涉及一种imu模块标定数据批量化自动采集方法及装置。


背景技术:

2.车载组合导航设备为实现高精度定位,均采用多源数据融合方案,如gnss+imu+odo+高精地图,其中的关键核心部件imu,多为mems类型传感器,在使用前,需通过一定的手段,对imu器件的关键特性,如温度漂移、噪声、零偏等进行矫正,这个过程称为标定。标定的一般过程为将imu模块放置到高精度转台上,转台运动过程中同时采集高频率的imu模块的原始输出数据并保存后,通过算法进行计算,得出标度因数、零偏、非正交等标定参数。
3.上述标定过程,关键核心步骤有两个,一是转台控制,由于标定过程一般需要10个小时以上及需要设置转台进行多种运动模式,因此需人工驻守转台进行操作,二是采集高频率的imu模块的原始输出数据并进行保存,以便提供给算法进行事后计算。
4.在现有技术的方案中,在标定过程中需使用转台进行一系列复杂的运动,而转台厂家提供的专用的转台配套软件只提供最基础的运动模式配置,因此只能人工组合运动序列后再去手动操作,导致长达10个小时以上的标定过程需专人驻守,同时每次标定过程都是人工操作,存在操作失误等风险。
5.再者,由于标定过程中需要采集并保存imu模块高频率输出的原始数据,当只有少量imu模块的时候,这一点没有太大难度,但实际应用中,往往需要考虑同时标定几十甚至上百个imu模块,即批量化,在这种场景下,需要传输的数据量呈翻倍增长,现有实现方案的采集板设计一般基于单串口通讯,难以满足批量化生产场景下的通讯带宽要求,导致容易出现丢失数据等问题。
6.因此,针对现有技术中存在的问题,亟需提供一种能够批量化地自动采集的技术显得尤为重要。


技术实现要素:

7.本发明的目的在于避免现有技术中的不足之处而提供一种imu模块标定数据批量化自动采集方法。
8.本发明的目的通过以下技术方案实现:
9.因此,根据本发明公开的一个方面,提供了一种imu模块标定数据批量化自动采集方法,包括以下步骤:获取转台配置文件,并生成转台操作指令,发送到对应的转台;获取转台上的imu模块对应的imu数据,形成第一数据帧,并置入数据环形缓冲区;截取数据环形缓冲区中的有效数据帧,并复合系统时钟时间与imu数据,形成第二数据帧,并置入解析缓冲区;对第二数据帧进行数据解析,形成解析数据结构体;其中,解析数据结构体包括格式化的imu数据帧;保存格式化的imu数据帧。
10.具体的,保存格式化的imu数据帧,还包括以下步骤:根据格式化的imu数据帧,形
成imu数据表,并保存imu数据表。
11.更具体的,解析数据结构体还包括imu状态帧;形成解析数据结构体后还包括以下步骤:根据imu状态帧解析出imu状态,生成imu状态对应的状态灯切换信号。
12.以上的,通过分时复用的方式,分别获取与同一spi串口连接的若干个imu模块对应的imu数据。
13.进一步的,还包括以下步骤:通过发送与接收心跳信号,判断spi串口的串口状态。
14.根据本发明公开的另一个方面,提供了一种应用上述的一种imu模块标定数据批量化自动采集方法的imu模块标定数据批量化自动采集装置,包括:存储模块、缓存模块、数据截取模块、数据解析模块、控制模块、通信模块和列表生成模块;控制模块获取转台配置文件,并生成转台操作指令,并通过通信模块发送到对应的转台;通信模块用于获取转台上的imu模块对应的imu数据;数据截取模块用于截取数据环形缓冲区中的有效数据帧,并复合系统时钟时间与imu数据,形成第二数据帧,并置入解析缓冲区;数据解析模块用于对第二数据帧进行数据解析,形成解析数据结构体;缓存模块包括第一缓存单元、第二缓存单元和第三缓存单元;第一缓存单元用于形成数据环形缓冲区;第二缓存单元用于形成解析缓冲区;第三缓存单元用于存储解析数据结构体;列表生成模块用于根据解析数据结构体中的格式化的imu数据帧生成imu数据表;存储模块预存储有转台配置文件,且用于存储imu数据表。
15.根据本发明公开的再一方面,提供了一种imu模块标定数据批量化自动采集系统,包括工控机、数据采集装置,若干转台,以及分别设置在各个转台上的若干imu模块;工控机包括上述的一种imu模块标定数据批量化自动采集装置;工控机分别与各个转台连接;数据采集装置通过232串口与工控机连接;数据采集装置包括若干采集板;采集板包括若干spi串口;spi串口分别与若干个imu模块连接。
16.具体的,采集板包括若干个mcu,mcu的一端分别连接与若干个232串口以及若干个spi串口连接;mcu通过分时复用的方式,分别获取与同一spi串口连接的若干个imu模块对应的imu数据,并通过对应的232串口,发送到工控机。
17.根据本发明公开的再一方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现如上所述一种imu模块标定数据批量化自动采集方法的步骤。
18.根据本发明公开的再一方面,提供了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如上所述一种imu模块标定数据批量化自动采集方法的步骤。
19.本发明的有益效果:一种imu模块标定数据批量化自动采集方法及装置将转台控制过程和数据采集过程深度融合,通过多级缓冲区的设计模式解决高并发高频率传输标定数据导致的丢包问题,使得对于imu模块的标定过程,可自动控制转台、自动采集imu高频率标定数据,以达到无人值守、可批量化标定的目的;解决基于串口的多路高频传输imu原始标定数据丢包问题,及需人工24小时驻守转台、需人工手动保存数据等操作带来的效率低下、容易误操作、无法批量化生产等问题。
附图说明
20.通过结合附图对于本发明公开的示例性实施例进行描述,可以更好地理解本发明,在附图中:
21.图1所示的是根据本发明公开实施例一的一种imu模块标定数据批量化自动采集系统的原理方框示意图。
22.图2所示的是根据本发明公开实施例一的一种imu模块标定数据批量化自动采集方法的第一示意性流程图;
23.图3所示的是根据本发明公开实施例一的一种imu模块标定数据批量化自动采集方法第二示意性流程图;
24.图4所示的是根据本发明公开实施例一的计算设备的硬件结构示意图。
具体实施方式
25.以下将描述本发明的具体实施方式,需要指出的是,在这些实施方式的具体描述过程中,为了进行简明扼要的描述,本说明书不可能对实际的实施方式的所有特征均作详尽的描述。应当可以理解的是,在任意一种实施方式的实际实施过程中,正如在任意一个工程项目或者设计项目的过程中,为了实现开发者的具体目标,为了满足系统相关的或者商业相关的限制,常常会做出各种各样的具体决策,而这也会从一种实施方式到另一种实施方式之间发生改变。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本发明公开的内容相关的本领域的普通技术人员而言,在本发明揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本发明的内容不充分。
26.除非另作定义,权利要求书和说明书中使用的技术术语或者科学术语应当为本发明所属技术领域内具有一般技能的人士所理解的通常意义。本发明专利申请说明书以及权利要求书中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“一个”或者“一”等类似词语并不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现在“包括”或者“包含”前面的元件或者物件涵盖出现在“包括”或者“包含”后面列举的元件或者物件及其等同元件,并不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,也不限于是直接的还是间接的连接。
27.实施例一
28.如图1所示,本实施例提出一种imu模块标定数据批量化自动采集系统,包括工控机、数据采集装置,若干转台,以及分别设置在各个转台上的若干imu模块;工控机分别与各个转台连接;数据采集装置通过232串口与工控机连接。
29.其中,数据采集装置包括若干采集板;多个采集板可通过堆叠组成采集板组,可同时支持更多模块进行标定。采集板包括若干spi串口;spi串口分别与若干个imu模块连接。
30.具体的,采集板包括若干个mcu,mcu的一端分别连接与若干个232串口以及若干个spi串口连接;mcu通过分时复用的方式,分别获取与同一spi串口连接的若干个imu模块对应的imu数据,并通过对应的232串口,发送到工控机。
31.单个采集板上集成多个mcu,可同时连接多个imu模块并完成数据采集,并通过232
串口连接到工控机,将采集到的原始数据,发送到运行在工控机上完成保存。
32.更具体的,在本实施例中,采集板上集成3个mcu,大部分imu器件对外均预留spi接口,为尽可能多接imu模块,利用spi总线通讯可通过片选脚切换访问设备的特点,通过分时复用的方式,单路spi可连接多个imu模块。
33.进一步的,考虑数据采集频率,对于一般的标定过程所采用的标定算法,对标定数据的输出频率为100hz,需考虑imu器件本身的采集频率特性,可将mcu程序的采样频率设计为500hz,而模块对外输出的频率需要为100hz,因此单路spi最多可连接5个imu模块。同时,采集板的嵌入式软件内部为每一路spi和每一路232串口建立对应关系,每路spi采集5个imu模块的数据通过一路串口输出,使单个mcu可接15个模块。
34.更具体的,如图1所示,上述工控机包括一种imu模块标定数据批量化自动采集装置;在本实施例中,imu模块标定数据批量化自动采集装置可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现一种imu模块标定数据批量化自动采集方法。本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述一种imu模块标定数据批量化自动采集装置在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能。
35.一种imu模块标定数据批量化自动采集装置,包括存储模块、缓存模块、数据截取模块、数据解析模块、控制模块、通信模块和列表生成模块。
36.控制模块获取转台配置文件,并生成转台操作指令,并通过通信模块发送到对应的转台。
37.通信模块用于获取转台上的imu模块对应的imu数据。
38.数据截取模块用于截取数据环形缓冲区中的有效数据帧,并复合系统时钟时间与imu数据,形成第二数据帧,并置入解析缓冲区。
39.数据解析模块用于对第二数据帧进行数据解析,形成解析数据结构体。
40.缓存模块包括第一缓存单元、第二缓存单元和第三缓存单元;第一缓存单元用于形成数据环形缓冲区;第二缓存单元用于形成解析缓冲区;第三缓存单元用于存储解析数据结构体。
41.列表生成模块用于根据解析数据结构体中的格式化的imu数据帧生成imu数据表。
42.存储模块预存储有转台配置文件,且用于存储imu数据表。
43.具体的,如图2和图3所示,一种imu模块标定数据批量化自动采集方法,包括以下步骤:
44.s1:获取转台配置文件;
45.其中,对于转台的自动化控制,针对标定过程的一般运动模式进行行为上的抽象,设计出通用的转台配置文件;该配置文件具备可读性,可独立于具体转台型号,如更换为其他转台型号,本设计的转台控制配置文件无需更改;
46.s2:解析并生成转台操作指令;
47.s3:依照顺序发送转台操作指令到对应的转台;
48.针对转台的一般运动抽象出的转台配置文件,同时通过对应的语义解析,对该转台配置文件逐行读取、解析出执行语义,将执行语义进一步转换为转台对应的操作指令,通
过与转台连接的232串口,发送操作指令给转台,对转台实现控制,可达到自动且连续控制转台运行,从而达到无人值守的目的;
49.s4:采集imu数据,并存储;
50.s5:判断是否存在未被执行的转台操作指令;若是,重复步骤s3至s4;
51.s6:完成imu数据的采集。
52.在本实施例中,单个采集板共有9路串口连接到工控机,每路串口需传输的数据量可达到30k/s,总数据量将达到270k/s,同时数据包间隔为500hz,意味着工控机端的串口中断频率将非常频繁。在同时接多层采集板进行作业时,该问题将更加明显。因此对于运行在工控机的采集装置而言,就必须要处理多个串口并发高速传输数据的问题,否则将非常容易造成数据丢失。在本实施例中,步骤s4采用多级缓冲区+多线程设计,解决多串口高并发高频数据传输带来的丢失数据问题。
53.具体的,步骤s4包括以下步骤:
54.s401:获取转台上的imu模块对应的imu数据,形成第一数据帧,并置入数据环形缓冲区;
55.s402:截取数据环形缓冲区中的有效数据帧,并复合系统时钟时间与imu数据,形成第二数据帧,并置入解析缓冲区;
56.s403:对第二数据帧进行数据解析,形成解析数据结构体;其中,解析数据结构体包括格式化的imu数据帧;
57.s404:根据格式化的imu数据帧,形成imu数据表,并保存imu数据表。
58.上述步骤对imu数据的数据流的处理过程分成3个子过程,分别对应3个线程,前段为串口接收线程,负责将串口接收到的数据保存到第一级的环形缓冲区,此处程序上的处理需要快进快出,要保证程序的执行效率,完成对底层串口驱动的操作后,立刻将数据写入环形缓冲区。中段的缓冲截取线程,将所需要的报文数据从环形缓冲区中截取出来,并写入第二级的解析缓冲区。后段的解析线程,则从解析缓冲区中将数据取出来,按照规定的格式解析出相应的数据字段并保存下来以解决基于串口的多路高频传输imu原始标定数据丢包问题。
59.具体的,步骤s401通过分时复用的方式,分别获取与同一spi串口连接的若干个imu模块对应的imu数据。
60.额外的,解析数据结构体还包括imu状态帧。形成解析数据结构体后还包括以下步骤:根据imu状态帧解析出imu状态,生成imu状态对应的状态灯切换信号。
61.额外的,还包括以下步骤:通过发送与接收心跳信号,判断spi串口的串口状态;若串口状态判断为异常,重启数据采集装置。
62.本实施例还提供一种计算设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。本实施例的计算设备20至少包括但不限于:可通过系统总线相互通信连接的存储器21、处理器22,如图4所示。需要指出的是,图4仅示出了具有组件21-22的计算设备20,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
63.本实施例中,存储器21(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器
(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器21可以是计算设备20的内部存储单元,例如该计算设备20的硬盘或内存。在另一些实施例中,存储器21也可以是计算设备20的外部存储设备,例如该计算设备20上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。当然,存储器21还可以既包括计算设备20的内部存储单元也包括其外部存储设备。本实施例中,存储器21通常用于存储安装于计算设备20的操作系统和各类应用软件,例如实施例一的一种imu模块标定数据批量化自动采集装置的程序代码等。此外,存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
64.处理器22在一些实施例中可以是中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制计算设备20的总体操作。本实施例中,处理器22用于运行存储器21中存储的程序代码或者处理数据,例如运行一种imu模块标定数据批量化自动采集装置,以实现实施例一的一种imu模块标定数据批量化自动采集方法。
65.本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘、服务器、app应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储一种imu模块标定数据批量化自动采集装置,被处理器执行时实现实施例一的一种imu模块标定数据批量化自动采集方法。
66.综上所述,根据示例性实施例,通过将转台控制过程和数据采集过程深度融合,通过多级缓冲区的设计模式解决高并发高频率传输标定数据导致的丢包问题,使得对于imu模块的标定过程,可自动控制转台、自动采集imu高频率标定数据,以达到无人值守、可批量化标定的目的;解决基于串口的多路高频传输imu原始标定数据丢包问题,及需人工24小时驻守转台、需人工手动保存数据等操作带来的效率低下、容易误操作、无法批量化生产等问题。
67.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
68.流程图中或在此以其它方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
69.本技术领域的普通技术人员可以理解,实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
70.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一
定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
71.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
72.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1