传感器的校准方法、装置、设备和介质与流程

文档序号:26914662发布日期:2021-10-09 15:50阅读:394来源:国知局
传感器的校准方法、装置、设备和介质与流程

1.本发明涉及传感器领域,尤其涉及一种传感器的校准方法、装置、设备和介质。


背景技术:

2.目前,一些关于虚拟现实(virtual reality ,简称vr)、增强现实(augmented reality,简称 ar)等的头显设备或手柄,通常会通过检测头部在不同方向的转动,即检测设备在x、y、z 三轴上旋转的角度值,计算出设备的位移,指引全景画面中的特定部分跟随头动而显示。但是,在使用这些设备前,一般需要先通过3个转动角度的自由度(3degree of freedom,简称3dof)模式,即加速度6面校准、陀螺仪静置校准和地磁8字校准,实现初始定位。但是,这些校准通常都需要每次上电后重新校准一遍,比较浪费时间。


技术实现要素:

3.本发明提供一种传感器的校准方法、装置、设备和介质,通过从存储器读取目标传感器的校准偏差值,提高了校准效率。
4.第一方面,本发明提供了一种传感器的校准方法,包括:获取目标传感器检测到的三维姿态信息,所述目标传感器包括加速度传感器、地磁传感器和陀螺仪;从存储器读取所述目标传感器的校准偏差值;其中,所述校准偏差值是根据所述姿态滤波算法对所述目标传感器的三维姿态信息进行校准得到的符合预设精度的偏差值;根据姿态滤波算法,通过所述校准偏差值对所述三维姿态信息进行校准,得到目标三维姿态信息。
5.根据本发明提供的一种传感器的校准方法,所述根据所述姿态滤波算法对所述目标传感器的三维姿态信息进行校准得到的符合预设精度的校准偏差值,包括:获取所述目标传感器检测到的三维姿态信息;根据姿态滤波算法对所述三维姿态信息进行校准,得到目标三维姿态信息和所述校准偏差值;判断所述校准偏差值是否达到预设精度;若所述校准偏差值达到预设精度,将所述校准偏差值存储至所述存储器;若所述校准偏差值未达到预设精度,获取所述目标传感器检测到的三维姿态信息。
6.根据本发明提供的一种传感器的校准方法,所述获取目标传感器检测到的三维姿态信息之后,还包括:对所述目标传感器检测到的三维姿态信息进行坐标变换,得到所述目标传感器安装设备坐标系下的三维姿态信息;所述根据所述姿态滤波算法,通过所述校准偏差值对所述三维姿态信息进行校准,得到目标三维姿态信息,包括:根据所述姿态滤波算法,通过所述校准偏差值对所述坐标变换后的三维姿态信息进行校准,得到所述目标三维姿态信息;所述根据姿态滤波算法对所述三维姿态信息进行校准,得到目标三维姿态信息和所述校准偏差值,包括:根据姿态滤波算法对所述坐标变换后的三维姿态信息进行校准,得到所述目标三维姿态信息和所述校准偏差值。
7.第二方面,本发明还提供了一种传感器的校准装置,包括第一处理模块,用于获取目标传感器检测到的三维姿态信息,所述目标传感器包括加速度传感器、地磁传感器和陀螺仪;第二处理模块,用于从存储器读取所述目标传感器的校准偏差值;其中,所述校准偏
差值是根据所述姿态滤波算法对所述目标传感器的三维姿态信息进行校准得到的符合预设精度的偏差值;第三处理模块,用于根据姿态滤波算法,通过所述校准偏差值对所述三维姿态信息进行校准,得到目标三维姿态信息。
8.第三方面,本发明还提供一种头戴式设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述传感器的校准方法的步骤。
9.第四方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述传感器的校准方法的步骤。
10.本发明提供的一种传感器的校准方法、装置、设备和介质,通过获取目标传感器检测到的三维姿态信息,目标传感器包括加速度传感器、地磁传感器和陀螺仪;从存储器读取目标传感器的校准偏差值;其中,校准偏差值是根据姿态滤波算法对目标传感器的三维姿态信息进行校准得到的符合预设精度的偏差值;根据姿态滤波算法,通过校准偏差值对三维姿态信息进行校准,得到目标三维姿态信息。可以看出,从存储器读取的对应目标传感器的校准偏差值,是之前通过将三维姿态信息进行校准得到的符合预设精度的偏差值,因此,以后每次使用无需重新校准目标传感器,而是直接调取已存储的校准偏差值,这样能够更加快速和准确的得到目标三维姿态信息。
附图说明
11.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
12.图1是根据本发明提供的传感器的校准方法的一些实施例的流程示意图;图2a是根据本发明提供的关于传感器的校准方法的一个传感器结构的示意图;图2b是根据本发明提供的关于传感器的校准方法的一个应用场景的流程示意图;图2c是关于图2b的初始化步骤的一个应用场景的流程示意图;图2d是关于图2b的更新地磁数据的一个应用场景的流程示意图;图2e是关于图2b的更新imu数据的一个应用场景的流程示意图;图3是根据本发明提供的传感器的校准装置的一些实施例的结构示意图;图4是根据本发明提供的头戴式设备的结构示意图。
具体实施方式
13.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
14.另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
15.需要注意,本发明中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单
元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
16.需要注意,本发明中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
17.本发明实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
18.下面将参考附图并结合实施例来详细说明本发明。
19.请参阅图1,图1是本发明提供的传感器的校准方法的一些实施例的流程示意图。如图1所示,该传感器的校准方法,包括以下步骤:步骤101,获取目标传感器检测到的三维姿态信息,目标传感器包括加速度传感器、地磁传感器和陀螺仪。
20.在一些实施例中,传感器是一种检测装置,能感受到被测量的信息,并能将感受到的信息,按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输、处理、存储、显示、记录和控制等要求。目标传感器还可以包括温度传感器、压力传感器等。三维姿态信息表示目标传感器在三个维度上的采样值。以目标传感器包括加速度传感器、地磁传感器和陀螺仪为例,三维姿态信息可以包括加速度传感器、地磁传感器和陀螺仪在三个维度,即x、y、z方向上的采样值。其中,加速度传感器是一种将加速度转换为电信号的传感器,可用来测量加速力(即物体在加速过程中作用于物体的力)。加速度传感器量程的单位是重力加速度g,g代表地球0海拔的重力加速度,1g等于9.8牛/千克,也等于9.8米每平方秒,加速度传感器测量x、y、z轴向上的惯性力,即惯性力矢量的三个分量,每一个轴向上的数据代表了该方向的加速度测量值,比如加速度的传感器的采样值可以是:x=0.996460,y=0.012085,z=

0.078857,单位为:m/s2。陀螺仪可以是微机电系统陀螺仪,陀螺仪是用来测量角速率的器件,陀螺仪可感测一轴或多轴的旋转角速度,可精准感测自由空间中的复杂移动动作,其单位为rad/s,即弧度每秒。陀螺仪可以测出来自3个轴的角速度,即x、y、z轴向上在某一瞬间的角度值,比如:x=

0.488281,y=

0.663757,z=0.305176,单位为:rad/s,负号表示该设备朝着反方向旋转。地磁传感器是一种可以测量环境磁场强度和方向的传感器,x、y、z轴输出的值可以是指传感器在空间的三个方向上检测到的各自角度的磁感应强度或者磁通密度的数值。所以,x、y、z三个方向上检测到的是环境磁场强度在每个方向上的磁分量,比如:x=

8,y=42,z=

17,单位都是ut(微特斯拉),磁感应强度是矢量,特斯拉计数值为负即磁场方向与参考方向相反。地磁传感器在空间中检测环境磁场都会需要用到这三个方向上的磁场。
21.作为示例,目标传感器的结构可以参考图2a,如图2a所示的,目标传感器可以包括加速度传感器、地磁传感器和陀螺仪,其中,惯性导航系统(inertial measurement unit,简称 imu),是测量物体三轴姿态角及加速度的装置。一般imu包括陀螺仪及加速度计。imu可以通过串行外设接口(serial peripheral interface,简称spi)与微控制单元(microcontroller unit,简称mcu)处理器连接,地磁可以通过集成电路总线(inter-integrated circuit,简称i2c)连接mcu处理器。
22.步骤102,从存储器读取目标传感器的校准偏差值;其中,校准偏差值是根据姿态滤波算法对目标传感器的三维姿态信息进行校准得到的符合预设精度的偏差值。
23.在一些实施例中,存储器可以是半导体存储器、磁表面存储器等,比如falsh、rom。
本发明对存储器的读写功能、存储方式等不做限制。仍以上述为例,校准偏差值(也可以叫offset值)可以是包括对应加速度传感器、地磁传感器和陀螺仪的校准偏差值。姿态滤波算法可以是互补滤波器,卡尔曼滤波器等,本发明对姿态滤波算法的选取不做限定。校准偏差值是根据姿态滤波算法对目标传感器的三维姿态信息进行校准后得到的符合预设精度的偏差值。作为示例,第一次对目标传感器进行校准时,将采集到的三维姿态信息输入姿态滤波算法中,得到校准偏差值,如果该校准偏差值符合预设精度,将其存储在存储器中,如果不符合预设精度,则从新采集三维姿态信息,并将从新采集的三维姿态信息与上一次输出的校准偏差值一并输入姿态滤波算法中,直到得到符合预设精度的校准偏差值。
24.步骤103,根据姿态滤波算法,通过校准偏差值对三维姿态信息进行校准,得到目标三维姿态信息。
25.在一些实施例中,作为示例,通过校准偏差值对三维姿态信息进行校准,即,可以将校准偏差值和三维姿态信息输入姿态滤波算法,根据姿态滤波算法建立的系统状态矩阵、系统误差特性和算法本身的模型,计算得到目标三维姿态信息。
26.本发明一些实施例公开的传感器的校准方法,通过获取目标传感器检测到的三维姿态信息,目标传感器包括加速度传感器、地磁传感器和陀螺仪;从存储器读取目标传感器的校准偏差值;其中,校准偏差值是根据姿态滤波算法对目标传感器的三维姿态信息进行校准得到的符合预设精度的偏差值;根据姿态滤波算法,通过校准偏差值对三维姿态信息进行校准,得到目标三维姿态信息。可以看出,从存储器读取的对应目标传感器的校准偏差值,是之前通过将三维姿态信息进行校准得到的符合预设精度的偏差值,因此,以后每次使用无需重新校准目标传感器,而是直接调取已存储的校准偏差值,这样能够更加快速和准确的得到目标三维姿态信息。
27.在一些可选的实现方式中,根据姿态滤波算法对目标传感器的三维姿态信息进行校准得到的符合预设精度的校准偏差值,包括:获取目标传感器检测到的三维姿态信息;根据姿态滤波算法对三维姿态信息进行校准,得到目标三维姿态信息和校准偏差值;判断校准偏差值是否达到预设精度;若校准偏差值达到预设精度,将校准偏差值存储至存储器;若校准偏差值未达到预设精度,获取目标传感器检测到的三维姿态信息。
28.在一些实施例中,在获取符合预设精度的校准偏差值之前,需要将检测到的三维姿态信息送入姿态滤波算法中进行校准,得到目标三维姿态信息和校准偏差值,此时,校准偏差值可能并不是最优的,因此,需要判断校准偏差值是否达到预设精度,如果没有达到预设精度,需要将上述得到的目标三维姿态信息和校准偏差值再次送入姿态滤波算法中进行校准,直到校准偏差值达到预设精度,并将其存储。存储过程可以如下述代码所示。首先,定义加速度传感器、地磁传感器和陀螺仪三个变量,然后判断这三个变量中是否事先存储过参数,如果存储过就直接从存储器读取,如果没有,在获取变量对应的参数后判断参数是否符合预设精度,如果符合预设精度就将其存储,并改变存储标志位,表示已存储参数,如果不符合预设精度,可以进行再次校准。通过设置预设精度,保证存储器中存储的校准偏差值能够更准确的校准三维姿态信息,而且从存储器中直接读取校准偏差值,也能加快三维姿态信息的校准速度。
29.void store_biases(void){
/*定义存储传感器offset的变量*/static sensor_biases_t acc_bias;static sensor_biases_t gyr_bias;static sensor_biases_t mag_bias;/*存储的标志 一般情况只会写入一次*/static uint8_t biases_stored = 0;/*如果没有存储过*/if(!biases_stored){/*加速度的精度值达到最优*/if(output.acc_accuracy_flag == 3){
ꢀꢀꢀꢀꢀꢀ
memcpy(acc_bias.bias_q16,output.acc_bias_q16,sizeof(acc_bias.bias_q16);acc_bias.is_saved = 1;}/*角速度的精度值达到最优*/if(output.gyr_accuracy_flag == 3){memcpy(gyr_bias.bias_q16,output.gyr_bias_q16,sizeof(gyr_bias.bias_q16);gyr_bias.is_saved = 1;}/*如果使用了地磁传感器*/#if use_mag/*地磁数据的精度值达到最优*/if (output.mag_accuracy_flag == 3){memcpy(mag_bias.bias_q16,output.mag_bias_q16,sizeof(mag_bias.bias_q16);mag_bias.is_saved = 1;}#else/* 没有使用地磁传感器,offset值设置为全0*/memset(mag_bias.bias_q16, 0, sizeof(mag_bias.bias_q16));mag_bias.is_saved = 1;#endif/*acc gyro mag三组数据都已经达到保存条件*/if ((acc_bias.is_saved == 1) && (gyr_bias.is_saved == 1) && (mag_bias.is_saved == 1)) {
/*offset写入到flash存储*/store_biases_in_flash(acc_bias.bias_q16, gyr_bias.bias_q16, mag_bias.bias_q16);/*置位存储标志*/biases_stored = 1;}}}作为示例,当存储器中已经存在校准偏差值时,三维姿态信息的校准过程可以如图2b所示,在初始化后(具体的初始化步骤参考图2c),如果帧标志为空,则地磁传感器会定时采集数据,在轮询出采集的地磁数据后,将采集的地磁数据和从存储器中读取的对应地磁传感器的校准偏差值送入滤波算法,得到对应地磁传感器的目标三维姿态信息(具体得到对应地磁传感器的目标三维姿态信息的步骤可以参考图2d),然后轮询采集的imu(即加速度传感器和陀螺仪)数据,将采集的imu数据和从存储器中读取的对应imu传感器的校准偏差值送入滤波算法,得到对应imu传感器的目标三维姿态信息(具体得到对应imu传感器的目标三维姿态信息的步骤可以参考图2e),最后将上述目标三维姿态信息发送至上位机。
30.在一些可选的实现方式中,获取目标传感器检测到的三维姿态信息之后,还包括:对目标传感器检测到的三维姿态信息进行坐标变换,得到目标传感器安装设备坐标系下的三维姿态信息;根据姿态滤波算法,通过校准偏差值对三维姿态信息进行校准,得到目标三维姿态信息,包括:根据姿态滤波算法,通过校准偏差值对坐标变换后的三维姿态信息进行校准,得到目标三维姿态信息;根据姿态滤波算法对三维姿态信息进行校准,得到目标三维姿态信息和校准偏差值,包括:根据姿态滤波算法对坐标变换后的三维姿态信息进行校准,得到目标三维姿态信息和校准偏差值。将三维姿态信息进行坐标变换,将坐标统一,方便计算。
31.请参阅图3,图3是根据本发明提供的传感器的校准装置的一些实施例的结构示意图,作为对上述各图所示方法的实现,本发明还提供了一种传感器的校准装置的一些实施例,这些装置实施例与图1所示的一些方法的实施例相对应,且该装置可以应用于各种电子或头戴式设备中。
32.如图3所示,一些实施例的传感器的校准装置300包括第一处理模块301、第二处理模块302、第三处理模块303:第一处理模块301,用于获取目标传感器检测到的三维姿态信息,目标传感器包括加速度传感器、地磁传感器和陀螺仪;第二处理模块302,用于从存储器读取目标传感器的校准偏差值;其中,校准偏差值是根据姿态滤波算法对目标传感器的三维姿态信息进行校准得到的符合预设精度的偏差值;第三处理模块303,用于根据姿态滤波算法,通过校准偏差值对三维姿态信息进行校准,得到目标三维姿态信息。
33.在一些实施例的可选实现方式中,第二处理模块302还包括:检测单元,用于获取目标传感器检测到的三维姿态信息;校准单元,用于根据姿态滤波算法对三维姿态信息进行校准,得到目标三维姿态信息和校准偏差值;判断单元,用于判断校准偏差值是否达到预设精度;若校准偏差值达到预设精度,将校准偏差值存储至存储器;若校准偏差值未达到预设精度,获取目标传感器检测到的三维姿态信息。
34.在一些实施例的可选实现方式中,装置300还包括:第四处理模块,用于对目标传感器检测到的三维姿态信息进行坐标变换,得到目标传感器安装设备坐标系下的三维姿态信息;第三处理模块还用于:根据姿态滤波算法,通过校准偏差值对坐标变换后的三维姿态信息进行校准,得到目标三维姿态信息;校准单元还用于:根据姿态滤波算法对坐标变换后的三维姿态信息进行校准,得到目标三维姿态信息和校准偏差值。
35.可以理解的是,该装置300中记载的各模块与参考图1描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作、特征以及产生的有益效果同样适用于装置300及其中包含的模块、单元,在此不再赘述。
36.图4示例了一种头戴式设备的结构示意图,如图4所示,该头戴式设备可以包括:处理器(processor)410、通信接口(communications interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行传感器的校准方法,该方法包括:获取目标传感器检测到的三维姿态信息,目标传感器包括加速度传感器、地磁传感器和陀螺仪;从存储器读取目标传感器的校准偏差值;其中,校准偏差值是根据姿态滤波算法对目标传感器的三维姿态信息进行校准得到的符合预设精度的偏差值;根据姿态滤波算法,通过校准偏差值对三维姿态信息进行校准,得到目标三维姿态信息。
37.在一些应用场景中,头戴式设备还可以包括目标传感器,目标传感器检测头戴式设备的三维姿态信息。头戴式设备还可以是智能眼镜和智能头盔中的一种。
38.此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例上述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
39.另一方面,本发明还提供一种计算机程序产品,上述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,上述计算机程序包括程序指令,当上述程序指令被计算机执行时,计算机能够执行上述各方法所提供的传感器的校准方法,该方法包括:获取目标传感器检测到的三维姿态信息,目标传感器包括加速度传感器、地磁传感器和陀螺仪;从存储器读取目标传感器的校准偏差值;其中,校准偏差值是根据姿态滤波算法对目标传感器的三维姿态信息进行校准得到的符合预设精度的偏差值;根据姿态滤波算法,通过校准偏差值对三维姿态信息进行校准,得到目标三维姿态信息。
40.又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的传感器的校准方法,该方法包括:获取目标传感器检测到的三维姿态信息,目标传感器包括加速度传感器、地磁传感器和陀螺仪;从存储器读取目标传感器的校准偏差值;其中,校准偏差值是根据姿态滤波算法对目标传感器的三维姿态信息进行校准得到的符合预设精度的偏差值;根据姿态滤波算法,通过校准偏差值对三维姿态信息进行校准,得到目标三维姿态信息。
41.以上所描述的装置实施例仅仅是示意性的,其中上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
42.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分上述的方法。
43.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1