IMU数据标定方法、终端设备及计算机可读存储介质与流程

文档序号:23142097发布日期:2020-12-01 13:20阅读:650来源:国知局
IMU数据标定方法、终端设备及计算机可读存储介质与流程

本申请涉及数据处理技术领域,尤其涉及一种imu数据标定方法、终端设备及计算机可读存储介质。



背景技术:

伴随着无人驾驶技术的发展,对稳定可靠地高精度定位技术需求的日益迫切。惯性测量单元(inertialmeasurementunit,imu)标定是惯性导航的前提,标定结果对导航精度产生直接的影响。

现有imu标定方法,针对加速度计、陀螺仪及磁力计均有所不同。对于加速度计可采用6面校准法(imu摆出6种固定姿态)进行校正标定,对于陀螺仪采用静置校准法进行校正标定,对于磁力计大多采用6/10面校准法(imu摆出6种或10种固定姿态)进行校正标定等。

然而在实践中发现,6/10面校准法标定的耗时较长,且还需人为参与,影响标定的精确性,同时也增加标定成本,限制批量生产应用。



技术实现要素:

本申请实施例提供了一种imu数据标定方法、装置、终端设备及计算机可读存储介质,能够解决现有标定技术中存在的耗时较长、标定精确度受影响及标定成本较高等问题。

第一方面,提供了一种imu数据标定方法,该方法包括:获取不同位姿状态下的imu数据,其中每种位姿状态对应有至少一组imu数据;判断所述不同位姿状态所指示的位姿的数量是否等于预设的imu位姿的数量;若等于,则对所述imu数据进行标定处理,得到所述imu数据对应的标定数据。

在一些实施例中,所述imu数据包括陀螺仪数据,所述对所述imu数据进行标定处理,得到所述imu数据对应的标定数据包括:从所述imu数据中选取出所述陀螺仪数据;若所述陀螺仪数据的组数大于预设阈值,则对所述陀螺仪数据进行零点偏移计算,得到所述陀螺仪数据对应的标定数据。

再一些实施例中,所述对所述陀螺仪数据进行零点偏移计算,得到所述陀螺仪数据对应的标定数据包括:对所述陀螺仪数据进行低通滤波,得到低通滤波数据;对所述低通滤波数据求平均,得到零点偏移参数;利用所述零点偏移参数对所述陀螺仪数据进行修正,得到所述陀螺仪数据对应的标定数据。

再一些实施例中,所述陀螺仪数据对应的标定数据goutput为:

goutput=graw-gerror

其中,graw为所述陀螺仪数据,gerror为所述零点偏移参数。

再一些实施例中,所述不同位姿状态包括水平静置状态。

再一些实施例中,所述imu数据包括不同于所述陀螺仪数据的传感器数据,所述对所述imu数据进行标定处理,得到所述imu数据对应的标定数据包括:从所述imu数据中提取出所述传感器数据;对所述传感器数据进行零点偏移和椭球校正计算,得到所述传感器数据对应的标定数据。

再一些实施例中,所述对所述传感器数据进行零点偏移和椭球校正计算,得到所述传感器数据对应的标定数据包括:对所述传感器数据进行圆球拟合,得到零点偏移参数和椭球校正参数;利用所述零点偏移参数和椭球校正参数,对所述传感器数据进行修正,得到所述传感器数据对应的标定数据。

再一些实施例中,所述传感器数据对应的标定数据soutput为:

soutput=(sraw-serror)×sm

其中,sraw为所述传感器数据,serror为所述零点偏移参数,sm为所述椭球校正参数。

再一些实施例中,所述传感器数据包括加速度计数据和/或磁力计数据。

第二方面,提供一种imu数据标定装置,包括imu、控制单元mcu、固定装置和位置调整装置,所述imu和所述mcu通过所述固定装置固定在所述位置调整装置上,所述位置调整装置用于执行如上第一方面所述的方法。

第三方面,提供了一种终端设备,该终端设备包括:处理器以及和处理器相连的存储器;其中,该存储器包括计算机可读指令;该处理器用于执行该存储器中的计算机可读指令,从而使得该汽车执行上述第一方面或第一方面的任意一种可选的实施方式中的方案。

第四方面,提供了一种计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面的任意一种可选的实施方式中的方法。

第五方面,提供了一种芯片产品,执行上述第一方面或第一方面的任意一种可选的实施方式中的方法。

第七方面,提了供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面的任意一种可选的实施方式中的方法。

附图说明

图1是本申请实施例提供的一种imu标定设备的结构示意图。

图2是本申请实施例提供的另一种imu标定设备的结构示意图。

图3是本申请实施例提供的一种imu数据标定方法的流程示意图。

图4是本申请实施例提供的另一种imu数据标定方法的流程示意图。

图5是本申请实施例提供的一种imu数据标定装置的结构示意图。

图6是本申请实施例提供的一种终端设备的结构示意图。

具体实施方式

下面结合附图对本申请具体实施例作进一步的详细描述。

请参见图1,是本申请实施例提供的一种imu标定设备的结构示意图。如图1所示的imu标定设备100中包括固定装置101和位置调整装置102。其中,固定装置101用于将待标定的imu元件固定在imu标定设备(即位置调整装置102)上。位置调整装置102用于改变imu的姿态,具体地通过俯仰(pitch)、偏摆(yaw)和滚翻(roll)3轴旋转以使imu达到某种位姿状态。在实际应用中,位置调整装置102具体可为三轴云台,也可为其他支持姿态变化的器件,本申请不做限定。其中,本申请中的imu用于测量物体的imu数据,其可以是六轴imu、九轴imu、十轴imu等,六轴imu包括三轴陀螺仪和三轴加速度计,九轴imu包括三轴陀螺仪、三轴加速度计和三轴磁力计。

以位置调整装置102为三轴云台为例,请参见图2示出一种imu数据标定系统的结构示意图。如图2,该系统中包括imu标定设备100和终端设备200。其中,imu标定设备100中包括三轴云台102、固定装置101、imu103和微控制单元(microcontrollerunit,mcu)104。imu103与mcu104相互通讯,imu103用于采集imu数据,通过mcu104与外界(例如图示中终端设备200)相互通讯,以将imu数据传送给终端设备200。imu103和mcu104通过固定装置101将其固定在三轴云台102上,以保证imu的安装稳定与坚固。终端设备200包括但不限于个人电脑pc、可穿戴设备,例如手表、头盔等,或者其他支持通讯的设备。

在实际应用中,如图2所示,三轴云台102与终端设备200通过串口或其他总线相连进行通讯,mcu104作为一个中间接口单元。一方面通过iic或spi总线与待标定的imu103相连,以读取imu数据。另一方面,通过串口总线与终端设备200进行通讯,转发imu数据给终端设备200。其中,终端设备200还可提供用户界面,便于用户通过用户界面输入相应信息,例如输入imu数据采集的次数等。这里的用户界面可指运行在终端设备200上的程序,通过串口或其他总线控制三轴云台102的运动,来实现imu的位姿改变。同时,用户界面通过与mcu104的串口通讯,得到imu数据,实现imu数据的标定。

基于上述实施例,请参见图3是本申请提供的一种imu数据标定方法的流程示意图。如图3所示的方法包括:

s301、终端设备获取不同位姿状态下的imu数据,每种位姿状态对应有至少一组imu数据。

终端设备可通过调整imu的位姿来采集不同位姿状态下的imu数据。每种位姿对应有一组或多组imu数据。其中imu数据采集的组数取决于用户控制界面。用户可通过用户控制界面设置每种位姿状态下所采集的imu数据的次数;或者通过用户控制界面设置imu支持采集的位姿的数量,即采集多少种位姿状态下的imu数据。

本申请imu数据是指imu采集的数据,其包括但不限于加速计数据、磁力计数据、陀螺仪数据及温度数据等等。终端设备包括但不限于个人电脑、imu标定设备、可穿戴设备等具备通讯功能的设备。

s302、判断所述不同姿态状态所指示的姿态的数量是否等于预设的imu位姿的数量。

在获得不同姿态状态下的imu数据后,可判断不同位姿状态所指示的姿态的数量是否等于预设的imu位姿的数量。即判断终端设备是否完成所有位姿的imu数据采集。若等于预设的imu位姿的数量(即完成所有位姿状态下的imu数据采集),则继续执行步骤s303;否则执行步骤s301,直至终端设备完成所有位姿的imu数据采集。

其中,该imu位姿的数量具体可为用户通过用户控制界面自定义设置的,也可为系统默认的姿态数量等,本申请不做限定。

s303、若等于预设的imu位姿的数量,则对imu数据进行标定处理,得到所述imu数据对应的标定数据。

在一个示例中,若imu数据包括陀螺仪数据,则终端设备可从imu数据中提取出陀螺仪数据,然后判断陀螺仪数据的组数是否大于预设阈值,若大于预设阈值,则表明陀螺仪数据足够多,有利于数据分析,减小误差。进一步地终端设备可对这些陀螺仪数据进行零点偏移计算,得到陀螺仪数据对应的标定数据。具体的,终端设备可对陀螺仪数据进行低通滤波,得到低通滤波数据,然后对低通滤波数据进行求平均,得到零点偏移参数gerror。最后利用零点偏移数据对陀螺仪数据进行修正,得到陀螺仪数据graw对应的标定数据goutput。可选地,陀螺仪数据对应的标定数据goutput为:

goutput=graw-gerror

其中,graw为所述陀螺仪数据,gerror为所述零点偏移参数。

再一个示例中,imu数据包括不同于所述陀螺仪数据的传感器数据,该传感器数据包括加速度计数据或者磁力计数据。相应地终端设备从imu数据中提取出相应的传感器数据,然后对传感器数据进行零点偏移和椭球校正计算,得到传感器数据对应的标定数据。具体的,终端设备可对传感器数据进行圆球拟合,得到零点偏移参数serror和椭球校正参数sm;然后利用零点偏移参数和椭球校正参数,对所述传感器数据进行修正,得到所述传感器数据对应的标定数据。可选地,该传感器数据对应的标定数据soutput为:

soutput=(sraw-serror)×sm

其中,sraw为所述传感器数据,serror为所述零点偏移参数,sm为所述椭球校正参数。

以传感器数据为加速计数据为例,该加速计数据为1*3的向量araw,终端设备对加速计数据进行圆球拟合后,可得到1*3向量的零点偏移参数aerror和3*3矩阵的椭球校正参数am。然后利用零点偏移参数aerror和椭球校正参数am对加速计数据araw进行标定或修正,得到加速计数据对应的标定数据aoutput,其具体为:aoutput=(araw-aerror)×am。

又如以传感器数据为磁力计数据为例,该磁力计数据为1*3的向量mraw,终端设备对磁力计数据进行圆球拟合,可得到1*3向量的零点偏移参数merror和3*3矩阵的椭球校正参数mm。然后利用零点偏移参数merror和椭球校正参数mm对加速计数据mraw进行标定或修正,得到加速计数据对应的标定数据moutput,其具体为:moutput=(mraw-merror)×mm。

需要说明的是,本申请对imu数据的标定,具体可为对上述陀螺仪数据、磁力计数据及加速计数据中的任一种或多种数据进行标定,例如在六轴imu中,该imu没有磁力计,相应地在imu数据标定过程中,仅涉及加速计数据和陀螺仪数据的标定,并不涉及磁力计数据的标定。

为更好地理解本申请下面请参见图4示出一种imu数据标定方法的具体流程示意图。如图4所示包括:

s401、imu保持水平静置状态,终端设备采集至少一组imu数据。

在imu处于水平静置状态时,终端设备采集此状态下的至少一组imu数据。

s402、终端设备从至少一组imu数据中提取出陀螺仪数据。

本申请中每组imu数据中包括很多字段,每个字段的含义并不相同,例如第一字段用于指示与所述第一字段对应的数据为陀螺仪数据,第二字段用于指示与第二字段对应的数据为加速计数据等。终端设备可根据字段标识从每组imu数据中提取出相应地陀螺仪数据。

s403、终端设备判断陀螺仪数据的组数是否超过预设阈值。

终端设备判断s402中获得的陀螺仪数据是否足够多,具体地判断陀螺仪数据的组数是否超过预设阈值。若超过预设阈值,则执行步骤s404;否则继续执行步骤s401。便于终端设备对足够多的陀螺仪数据进行标定处理,避免数据较少影响标定的精度。

s404、若超过预设阈值,则对陀螺仪数据进行标定处理,得到陀螺仪数据对应的标定数据。

终端设备可对提取出的陀螺仪数据进行零点偏移计算,从而得到陀螺仪数据对应的标定数据。

s405、终端设备调整imu的位姿状态,采集该位姿状态下的imu数据。

本申请终端设备通过对imu的位姿进行调整,以采集不同位姿状态下的imu数据。需要说明的是,此处的位姿状态可为用户通过用户控制界面预先设置的,该位置状态均匀分布在球形轨迹上。若该位姿状态由于某些限制无法实现均匀的球形轨迹分布(如选用的位置调整装置的可动范围有限等),则终端设备可尽量选取平均分布以在可动范围内的不同位姿,以提高数据标定的精度。

s406、终端设备从imu数据中提取传感器数据,该传感器数据具体可包括加速计数据、磁力计数据或陀螺仪数据。关于终端设备如何从imu数据中提取出传感器数据可参见前述步骤s402的相关介绍,这里不做赘述。

s407、终端设备判断是否完成所有位姿状态下的imu数据采集。

本申请终端设备可判断是否完成所有位姿状态下的数据采集。若完成所有位姿状态下的imu数据采集,则继续执行步骤s408;否则继续执行步骤s405,直至采集完imu支持的所有位姿状态下的imu数据,这样有利于提升数据标定的精度。

s408、若完成所有姿态下的imu数据采集,则对传感器数据进行零点偏移和椭球校正计算,从而得到传感器数据对应的标定数据。

需要说明的是,若终端设备对标定时间有较高要求,终端设备可精简上述s401~s404的步骤。终端设备可执行s405~s408的步骤来提出完成陀螺仪数据、加速计数据及磁力计数据的标定。然而在实践中发现由于步骤s405~s408采集的陀螺仪数据较少,采用上述流程对陀螺仪数据的标定精度不够高,但标定时间大大减少。即是,首先终端设备根据所获取的水平静置状态下的imu数据,来对所述陀螺仪数据进行标定处理,以得到所述陀螺仪数据对应的标定数据;然后,调整imu的位姿并根据调整后的位姿下的imu数据,来对所述传感器数据进行标定处理,以得到所述传感器数据对应的标定数据。或者,终端设备在遍历imu的所有位姿状态的过程中均采集陀螺仪数据以及不同于陀螺仪数据的传感器数据,并在遍历完imu的所有位姿状态后,对所述陀螺仪数据以及不同于陀螺仪数据的传感器数据分别进行标定处理,以得到所述陀螺仪数据对应的标定数据以及所述不同于陀螺仪数据的传感器数据对应的标定数据。

通过实施本申请,采用零点偏移和椭球校正来智能地实现数据的标定,有利于提升数据标定的精度。且自动采取多个不同位姿状态下的数据,省掉了人工标定过程的复杂操作,节约人工标定成本及节省标定耗时。

请参见图5,是本申请提供的一种imu数据标定装置的结构示意图。如图5所示,该装置包括:获取单元501、判断单元502和标定单元503。其中:

所述获取单元501用于获取不同位姿状态下的imu数据,其中每种位姿状态对应有至少一组imu数据;

所述判断单元502,用于判断所述不同位姿状态所指示的位姿的数量是否等于预设的imu位姿的数量;

所述标定单元503,用于若等于所述预设的imu位姿的数量,则对所述imu数据进行标定处理,得到所述imu数据对应的标定数据。

在一些实施例中,所述imu数据包括陀螺仪数据,所述标定单元503具体用于从所述imu数据中选取出所述陀螺仪数据;若所述陀螺仪数据的组数大于预设阈值,则对所述陀螺仪数据进行零点偏移计算,得到所述陀螺仪数据对应的标定数据。

再一些实施例中,所述标定单元503具体用于对所述陀螺仪数据进行低通滤波,得到低通滤波数据;对所述低通滤波数据求平均,得到零点偏移参数;利用所述零点偏移参数对所述陀螺仪数据进行修正,得到所述陀螺仪数据对应的标定数据。

再一些实施例中,所述陀螺仪数据对应的标定数据goutput为:

goutput=graw-gerror

其中,graw为所述陀螺仪数据,gerror为所述零点偏移参数。

再一些实施例中,所述位姿状态为水平静置状态。

再一个实施例中,所述获取单元501还用于根据所获取的水平静置状态下的imu数据,来对所述陀螺仪数据进行标定处理,以得到所述陀螺仪数据对应的标定数据;所述标定单元503具体用于调整imu的位姿并根据调整后的位姿下的imu数据,来对所述传感器数据进行标定处理,以得到所述传感器数据对应的标定数据。或者,所述获取单元501用于在遍历imu的所有位姿状态的过程中均采集陀螺仪数据以及不同于陀螺仪数据的传感器数据,所述标定单元503具体用于在遍历完imu的所有位姿状态后,对所述陀螺仪数据以及不同于陀螺仪数据的传感器数据分别进行标定处理,以得到所述陀螺仪数据对应的标定数据以及所述不同于陀螺仪数据的传感器数据对应的标定数据。

再一些实施例中,所述imu数据包括不同于所述陀螺仪数据的传感器数据,所述标定单元503具体用于从所述imu数据中提取出所述传感器数据;对所述传感器数据进行零点偏移和椭球校正计算,得到所述传感器数据对应的标定数据。

再一些实施例中,所述标定单元503具体用于对所述传感器数据进行圆球拟合,得到零点偏移参数和椭球校正参数;利用所述零点偏移参数和椭球校正参数,对所述传感器数据进行修正,得到所述传感器数据对应的标定数据。

再一些实施例中,所述传感器数据对应的标定数据soutput为:

soutput=(sraw-serror)×sm

其中,sraw为所述传感器数据,serror为所述零点偏移参数,sm为所述椭球校正参数。

再一些实施例中,所述传感器数据为加速度计数据或者磁力计数据。

请参见图6,是本申请实施例提供的一种终端设备的结构示意图。如图6所示的终端设备600包括:至少一个输入设备601;至少一个输出设备602;至少一个处理器603,例如cpu;和存储器604,上述输入设备601、输出设备602、处理器603和存储器604通过总线605连接。

其中,上述输入设备601具体可为移动终端的触控面板,包括触摸屏和触控屏,用于检测终端触控面板上的操作指令。

上述输出设备602具体可为移动终端的显示屏,用于输出、显示信息。

上述存储器604可以是高速ram存储器,也可为非不稳定的存储器(non-volatilememory),例如磁盘存储器。上述存储器604用于存储一组程序代码,上述输入设备601、输出设备602和处理器603用于调用存储器604中存储的程序代码,执行如下操作:

处理器603用于获取不同位姿状态下的imu数据,其中每种位姿状态对应有至少一组imu数据;判断所述不同位姿状态所指示的位姿的数量是否等于预设的imu位姿的数量;若等于所述预设的imu位姿的数量,则对所述imu数据进行标定处理,得到所述imu数据对应的标定数据。

在一些实施例中,所述imu数据包括陀螺仪数据,处理器603具体用于从所述imu数据中选取出所述陀螺仪数据;若所述陀螺仪数据的组数大于预设阈值,则对所述陀螺仪数据进行零点偏移计算,得到所述陀螺仪数据对应的标定数据。

再一些实施例中,处理器603具体用于对所述陀螺仪数据进行低通滤波,得到低通滤波数据;对所述低通滤波数据求平均,得到零点偏移参数;利用所述零点偏移参数对所述陀螺仪数据进行修正,得到所述陀螺仪数据对应的标定数据。

再一些实施例中,所述陀螺仪数据对应的标定数据goutput为:

goutput=graw-gerror

其中,graw为所述陀螺仪数据,gerror为所述零点偏移参数。

再一些实施例中,所述不同位姿状态包括水平静置状态。

再一些实施例中,所述imu数据包括陀螺仪数据以及不同于陀螺仪数据的传感器数据,处理器603用于首先,根据所获取的水平静置状态下的imu数据,来对所述陀螺仪数据进行标定处理,以得到所述陀螺仪数据对应的标定数据;然后,调整imu的位姿并根据调整后的位姿下的imu数据,来对所述传感器数据进行标定处理,以得到所述传感器数据对应的标定数据;

或者,处理器603用于在遍历imu的所有位姿状态的过程中均采集陀螺仪数据以及不同于陀螺仪数据的传感器数据,并在遍历完imu的所有位姿状态后,对所述陀螺仪数据以及不同于陀螺仪数据的传感器数据分别进行标定处理,以得到所述陀螺仪数据对应的标定数据以及所述不同于陀螺仪数据的传感器数据对应的标定数据。

再一些实施例中,所述imu数据包括不同于所述陀螺仪数据的传感器数据,处理器603具体用于从所述imu数据中提取出所述传感器数据;对所述传感器数据进行零点偏移和椭球校正计算,得到所述传感器数据对应的标定数据。

再一些实施例中,处理器603具体用于对所述传感器数据进行圆球拟合,得到零点偏移参数和椭球校正参数;利用所述零点偏移参数和椭球校正参数,对所述传感器数据进行修正,得到所述传感器数据对应的标定数据。

再一些实施例中,所述传感器数据对应的标定数据soutput为:

soutput=(sraw-serror)×sm

其中,sraw为所述传感器数据,serror为所述零点偏移参数,sm为所述椭球校正参数。

再一些实施例中,所述传感器数据包括加速度计数据和/或磁力计数据。

基于同一发明构思,本申请实施例中提供的终端解决问题的原理与本申请方法实施例中终端解决问题的原理相似,因此各设备的实施可以参见方法的实施,为简洁描述,在这里不再赘述。

需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。

本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。

本发明实施例终端设备中的模块可以根据实际需要进行合并、划分和删减。

最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1