传感器校正方法、装置、虚拟现实设备、存储介质与流程

文档序号:21804390发布日期:2020-08-11 21:02阅读:149来源:国知局
传感器校正方法、装置、虚拟现实设备、存储介质与流程

本发明涉及虚拟现实技术领域,尤其涉及一种传感器校正方法、装置、虚拟现实设备、存储介质。



背景技术:

随着显示技术的发展,虚拟现实(virtualreality,vr)技术开始逐步应用。为了增强vr设备的沉浸感,vr设备中一般会设置陀螺仪、加速度计和磁力计等传感器(sensor),以此提供陀螺仪数据、重力加速度数据和地磁数据。将这些数据通过姿态融合便可以实时得到vr的姿态,进而模拟出用户在场景中的相对运动情况。然而上述传感器往往存在读数不准的问题,严重影响用户体验。



技术实现要素:

本发明的实施例提供一种传感器校正方法、装置、虚拟现实设备、存储介质,该传感器校正方法可以对传感器进行校正,从而大大减轻读数不准的问题,进而提升用户体验。

为达到上述目的,本发明的实施例采用如下技术方案:

第一方面,提供了一种传感器校正方法,应用于电子设备,所述电子设备包括传感器;所述方法包括:

在所述电子设备出厂前,对所述传感器进行初始校正,并保存所述初始校正采用的校正参数;

在所述电子设备处于使用过程中,对所述传感器进行自适应校正;

所述自适应校正包括:获取所述传感器的第一测量数据;判断所述校正参数是否更新;

若所述校正参数未更新,则获取所述传感器的第二测量数据;当所述第二测量数据满足预设条件时,根据所述第二测量数据计算更新后的校正参数;

若所述校正参数更新,则采用更新后的校正参数对所述第一测量数据进行校正。

可选的,所述当所述第二测量数据满足预设条件时,根据所述第二测量数据计算更新的校正参数,包括:

当获取到至少n组所述第二测量数据时,确定所述第二测量数据满足所述预设条件;其中,n为正整数,且大于或者等于10;根据所述第二测量数据计算更新的校正参数。

可选的,在所述获取所述传感器的第二测量数据之前,所述自适应校正还包括:

在预设的时间段内,获取第三测量数据;

根据所述第三测量数据判断所述电子设备所处的状态;

所述若校正参数未更新,则获取所述传感器的第二测量数据包括:

若校正参数未更新,则获取所述电子设备处于不同状态下的测量数据,得到所述第二测量数据。

可选的,所述根据所述第三测量数据判断所述电子设备所处的状态包括:

在所述预设的时间段内,所有所述第三测量数据的均方差小于预设阈值,则判定所述电子设备处于静止状态;

在所述预设的时间段内,所有所述第三测量数据的均方差大于或者等于所述预设阈值,则判定所述电子设备处于运动状态。

可选的,所述传感器包括陀螺仪,所述第二测量数据包括:陀螺仪数据;

第k组所述陀螺仪数据包括:所述电子设备从第k次静止状态到第k次运动状态再到第k+1次静止状态的过程中,处于所述第k次运动状态下的所有角速度的测量值、处于所述第k次静止状态下的第一加速度测量值、处于所述第k+1次静止状态下的第二加速度测量值,以及所有所述陀螺仪数据对应的帧间隔时间,k为正整数,且1≤k≤n,n为获取的所述第二测量数据的组数。

可选的,所述根据所述第二测量数据计算更新后的校正参数包括:

根据第k组所述陀螺仪数据中,第k次静止状态下第k时刻的加速度测量值计算所述第k次静止状态下第k时刻的姿态的四元数qk;

根据第k组所述陀螺仪数据中,第k次运动状态下第i时刻的角速度测量值以及采用龙格库塔法进行姿态计算,以得到第i+1时刻的姿态的四元数qi+1;其中,为第k次运动状态下第i时刻的角速度校正值,t1为第一校正矩阵,b1为第一零偏误差;

判断第i+1时刻所述电子设备是否处于所述第k+1次静止状态;

若是,则根据所述第i+1时刻的姿态的四元数qi+1,计算所述第i+1时刻的加速度预测值

获取所述第i+1时刻的加速度测量值

根据所述第i+1时刻的加速度预测值以及所述第i+1时刻的加速度测量值确定误差方程;所述误差方程为:其中,l1为损失函数,i、j均为正整数,且1≤j≤n、1≤i≤m,n为获取的所述第二测量数据的组数,m为所述第k次运动状态下的所有角速度的测量值的总数;表示求的范数,∑表示求和;

令l1取最小值,计算所述第一校正矩阵t1和所述第一零偏误差b1;所述更新后的校正参数为所述第一校正矩阵t1和所述第一零偏误差b1。

可选的,所述第一测量数据包括角速度的测量值w0,校正后的所述角速度值w1与所述角速度的测量值w0满足:w1=t1*(w0+b1)。

可选的,所述传感器包括加速度计,所述第二测量数据包括:加速度数据;

第k组所述加速度数据包括:所述电子设备处于第k次静止状态下的所有加速度的测量值的平均值,k为正整数,且1≤k≤n,n为获取的所述第二测量数据的组数。

可选的,所述根据所述第二测量数据计算更新后的校正参数包括:

确定第k组所述加速度数据中,第k个加速度的测量值与第k个加速度的校正值的关系,其中,t2为第二校正矩阵,b2为第二零偏误差;

根据加速度参考值e0以及所述第k个加速度校正值确定误差方程;所述误差方程为:其中,g0为9.8015m/s^2,l2为损失函数,k为正整数,且1≤k≤n,n为获取的所述第二测量数据的组数;||g0||表示求g0的范数,表示求的范数,∑表示求和;

令l2取最小值,计算所述第二校正矩阵t2和所述第二零偏误差b2;所述更新后的校正参数为所述第二校正矩阵t2和所述第二零偏误差b2。

可选的,所述第一测量数据包括加速度的测量值g0,校正后的加速度值g1与所述加速度的测量值g0满足:g1=t2*(g0+b2)。

可选的,所述传感器包括磁力计,所述第二测量数据包括:地磁数据;

第k组所述地磁数据包括:所述电子设备处于第k次静止状态下的所有地磁值的测量值的平均值,k为正整数,且1≤k≤n,n为获取的所述第二测量数据的组数。

可选的,所述根据所述第二测量数据计算更新后的校正参数包括:

确定第k组所述地磁数据中,第k个地磁值的测量值与第k个地磁值的校正值的关系,其中,t3为第三校正矩阵,b3为第三零偏误差;

根据地磁值参考值m0以及所述第k个地磁值校正值确定误差方程;所述误差方程为:其中,m0为55μt,l3为损失函数,k为正整数,且1≤k≤n,n为获取的所述第二测量数据的组数;||m0||表示求m0的范数,表示求的范数,∑表示求和;

令l3取最小值,计算所述第三校正矩阵t3和所述第三零偏误差b3;所述更新后的校正参数为所述第三校正矩阵t3和所述第三零偏误差b3。

可选的,所述第一测量数据包括地磁值的测量值m0,校正后的地磁值m1与所述地磁值的测量值m0满足:m1=t3*(m0+b3)。

可选的,所述自适应校正还包括:

若所述校正参数未更新,则采用所述校正参数对所述第一测量数据进行校正。

本发明的实施例提供了一种传感器校正方法,应用于电子设备,所述电子设备包括传感器;所述方法包括:在所述电子设备出厂前,对所述传感器进行初始校正,并保存所述初始校正采用的校正参数;在所述电子设备处于使用过程中,对所述传感器进行自适应校正;所述自适应校正包括:获取所述传感器的第一测量数据;判断所述校正参数是否更新;若所述校正参数未更新,则获取所述传感器的第二测量数据;当所述第二测量数据满足预设条件时,根据所述第二测量数据计算更新后的校正参数;若所述校正参数更新,则采用更新后的校正参数对所述第一测量数据进行校正。该传感器校正方法首先采用校正参数对传感器进行初始校正;然后在使用的过程中获取测量数据,当满足预设条件时,计算更新后的校正参数;从而可以采用更新后的校正参数对后续测量数据进行自适应校正,这样能降低零飘误差、坐标轴误差等影响,从而大大减轻读数不准的问题,实现精确校正,极大提高了数据校正的精度,进而提升用户体验。该传感器校正方法具有校正简单、准确、校正全面等优点。

第二方面,提供了一种传感器校正装置,包括:

初始校正模块,被配置为在电子设备出厂前,对所述电子设备包括的传感器进行初始校正,并保存所述初始校正采用的校正参数;

自适应校正模块,被配置为在所述电子设备处于使用过程中,对所述传感器进行自适应校正;

所述自适应校正模块包括:

第一获取单元,被配置为获取所述传感器的第一测量数据;

第一判断单元,被配置为判断所述校正参数是否更新;

第二获取单元,被配置为若所述校正参数未更新,则获取所述传感器的第二测量数据;

计算单元,被配置为当所述第二测量数据满足预设条件时,根据所述第二测量数据计算更新后的校正参数;

校正单元,被配置为若所述校正参数更新,则采用更新后的校正参数对所述第一测量数据进行校正。

可选的,所述自适应校正模块还包括:

确定单元,被配置为当获取到至少n组所述第二测量数据时,确定所述第二测量数据满足所述预设条件;其中,n为正整数,且大于或者等于10。

可选的,所述自适应校正模块还包括:

第三获取单元,被配置为在预设的时间段内,获取第三测量数据;

第二判断单元,被配置为根据所述第三测量数据判断所述电子设备所处的状态;

所述第二获取单元,被配置为若所述校正参数未更新,则获取所述电子设备处于不同状态下的测量数据,得到所述第二测量数据。

本发明的实施例提供了一种传感器校正装置,该传感器校正装置可以实现上述传感器校正方法,该校正方法能降低零飘误差、坐标轴误差等影响,从而大大减轻读数不准的问题,进而提升用户体验。

第三方面,提供了一种虚拟现实设备,包括:传感器和上述所述的传感器校正装置。该虚拟现实设备的传感器的读数准、误差小,用户体验高。

第四方面,提供了一种传感器校正装置,包括:存储器、处理器、以及存储在所述存储器上并可在所述处理器上运行的计算机程序;

所述计算机程序被所述处理器执行时,能实现上述任一项所述的传感器校正方法。

本发明的实施例提供了一种传感器校正装置,该传感器校正装置可以实现上述传感器校正方法,该校正方法能降低零飘误差、坐标轴误差等影响,从而大大减轻读数不准的问题,进而提升用户体验。

第五方面,提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时能实现上述任一项所述的传感器校正方法。

本发明的实施例提供了一种计算机存储介质,通过执行该计算机存储介质的计算机程序,可以实现上述传感器校正方法,该校正方法能降低零飘误差、坐标轴误差等影响,从而大大减轻读数不准的问题,进而提升用户体验。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种校正方法流程示意图;

图2为本发明实施例提供的一种初始校正的流程示意图;

图3为本发明实施例提供的一种自适应校正的流程示意图;

图4为本发明实施例提供的另一种自适应校正的流程示意图;

图5为本发明实施例提供的一种第二测量数据的采集示意图;

图6为本发明实施例提供一种根据第二测量数据计算更新后的校正参数的流程示意图;

图7为本发明实施例提供的另一种第二测量数据的采集示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了便于清楚描述本发明实施例的技术方案,在本发明的实施例中,采用了“第一”、“第二”、“第三”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”、“第三”等字样并不对数量和执行次序进行限定。

实施例一

本发明实施例提供了一种传感器校正方法,应用于电子设备,电子设备包括传感器;参考图1所示,该方法包括:

s01、在电子设备出厂前,对传感器进行初始校正,并保存初始校正采用的校正参数。

s02、在电子设备处于使用过程中,对传感器进行自适应校正。

上述s01中,电子设备可以是虚拟现实设备(简称vr设备),此时,传感器可以是陀螺仪、加速度计或者磁力计。vr设备中,传感器(sensor)是重要的元器件,它可以为vr设备提供陀螺仪数据、重力加速度数据和地磁数据,这些数据通过姿态融合可以实时得到vr姿态。

为了得到准确的vr姿态,需要对重力加速度数据和地磁数据进行出厂校正,即在使用设备之前,采用单位置法等方法对传感器进行初始校正。但在初始校正中,一般未考虑三坐标轴校正和使用过程中其他因素的影响,这样在使用过程中,容易使得姿态数据出现较大的误差。因此,在上述进行初始校正的基础上,本发明提供的传感器校正方法还包括自适应校正。

参考图2所示,上述s01、初始校正包括:

s011、获取传感器的校正参数和初始测量数据。

上述初始测量数据又可以称为裸数据。传感器的类型不同,其测量数据的类型也不同,则校正参数也不同。以陀螺仪为例进行说明,该校正参数可以设定为陀螺仪的零飘值g0。

s012、采用校正参数对初始测量数据进行校正。

这里可以采用单位置法等简单的校正方法进行校正。以陀螺仪为例进行说明,校正参数为零飘值g0,采用单位置法进行校正,若陀螺仪的裸数据为g,则校正后的陀螺仪数据g_c=g-g0。

采用上述初始校正后,可以获得较准确的校正参数和较准确的校正数据。

参考图3所示,上述s02、自适应校正包括:

s021、获取传感器的第一测量数据。

s022、判断校正参数是否更新。

s023、若校正参数未更新,则获取传感器的第二测量数据。

s024、当第二测量数据满足预设条件时,根据第二测量数据计算更新后的校正参数。这里预设条件是预先设定的条件,具体不做限定,实际中可根据具体情况设定。

s025、若校正参数更新,则采用更新后的校正参数对第一测量数据进行校正。

本发明的实施例提供了一种传感器校正方法,应用于电子设备,电子设备包括传感器;方法包括:在电子设备出厂前,对传感器进行初始校正,并保存初始校正采用的校正参数;在电子设备处于使用过程中,对传感器进行自适应校正;自适应校正包括:获取传感器的第一测量数据;判断校正参数是否更新;若校正参数未更新,则获取传感器的第二测量数据;当第二测量数据满足预设条件时,根据第二测量数据计算更新后的校正参数;若校正参数更新,则采用更新后的校正参数对第一测量数据进行校正。该传感器校正方法首先采用校正参数对传感器进行初始校正;然后在使用的过程中获取测量数据,当满足预设条件时,计算更新后的校正参数;从而可以采用更新后的校正参数对后续测量数据进行自适应校正,这样能降低零飘误差、坐标轴误差等影响,从而大大减轻读数不准的问题,实现精确校正,极大提高了数据校正的精度,进而提升用户体验。该传感器校正方法具有校正简单、准确、校正全面等优点。

可选的,s024、当第二测量数据满足预设条件时,根据第二测量数据计算更新的校正参数,包括:

当获取到至少n组第二测量数据时,确定第二测量数据满足预设条件;其中,n为正整数,且大于或者等于10;根据第二测量数据计算更新的校正参数。上述预设条件简单易实现。

可选的,参考图4所示,在s023、获取传感器的第二测量数据之前,s02、自适应校正还包括:

s026、在预设的时间段内,获取第三测量数据。

这里预设的时间段不做具体限定,示例的,该时间段可以是10ms、15ms、20ms等。

s027、根据第三测量数据判断电子设备所处的状态。

电子设备所处的状态是指电子设备处于运动状态还是静止状态。这里对于具体的判断方法不做限定。

那么,s023、若校正参数未更新,则获取传感器的第二测量数据包括:

s023'、若校正参数未更新,则获取电子设备处于不同状态下的测量数据,得到第二测量数据。

这里传感器的类型不同,则第二测量数据对应的电子设备的状态也不同。

可选的,s027、根据第三测量数据判断电子设备所处的状态包括:

s0271、在预设的时间段内,所有第三测量数据的均方差小于预设阈值,则判定电子设备处于静止状态。

s0272、在预设的时间段内,所有第三测量数据的均方差大于或者等于预设阈值,则判定电子设备处于运动状态。

上述均方差又称为标准差,标准差是方差的算术平方根。标准差能反映一个数据集的离散程度。采用均方差来判断电子设备的状态,简单易实现。

示例的,以陀螺仪数据为例,上述预设的时间段为10ms,预设阈值为0.05。计算10ms内的所有第三测量数据的均方差,若均方差小于0.05,则判定电子设备处于静止状态;如若均方差大于或者等于0.05,则判定电子设备处于运动状态。

下面以传感器分别包括陀螺仪、加速度计或者磁力计为例,详细说明第二测量数据的组成、以及根据第二测量数据计算更新后的校正参数的方法。

第一种,传感器包括陀螺仪,第二测量数据包括:陀螺仪数据。

第k组陀螺仪数据包括:电子设备从第k次静止状态到第k次运动状态再到第k+1次静止状态的过程中,处于第k次运动状态下的所有角速度的测量值、处于第k次静止状态下的第一加速度测量值、处于第k+1次静止状态下的第二加速度测量值,以及所有陀螺仪数据对应的帧间隔时间,k为正整数,且1≤k≤n,n为获取的第二测量数据的组数。

参考图5所示,对于陀螺仪数据,沿着时间轴t,从静止状态“开始收集数据”,到下一个静止状态“结束收集数据”,所有搜集到的数据为一组,得到一组第二测量数据。每组第二测量数据的第一个数据和最后一个数据都是静止状态时的数据。陀螺仪数据包括数据本身和每一帧间隔的时间。

上述n为正整数,具体数值根据预设条件确定,示例的,n可以是大于或者等于10。

上述第k次静止状态下的第一加速度测量值可以是第k次静止状态下最后一帧对应的第一加速度测量值,也可以是第k次静止状态下其它帧对应的第一加速度测量值。类似的,处于第k+1次静止状态下的第二加速度测量值可以是第k+1次静止状态下第一帧对应的第二加速度测量值,也可以是第k+1次静止状态下其它帧对应的第二加速度测量值。考虑到采集数据的连贯性,可以选择第k次静止状态下的第一加速度测量值是第k次静止状态下最后一帧对应的第一加速度测量值、第k+1次静止状态下的第二加速度测量值是第k+1次静止状态下第一帧对应的第二加速度测量值。

可选的,参考图6所示,s024、根据第二测量数据计算更新后的校正参数包括:

s100、根据第k组陀螺仪数据中,第k次静止状态下第k时刻的加速度测量值计算第k次静止状态下第k时刻的姿态的四元数qk。

这里采用四元数法进行姿态计算。四元数(quaternions)是由爱尔兰数学家哈密顿在1843年发明的数学概念。四元数是简单的超复数。四元数是复数的不可交换延伸。如把四元数的集合考虑成多维实数空间的话,四元数就代表着一个四维空间。

四元数就是形如ai+bj+ck+d的数,a、b、c、d是实数,其中,i2=j2=k2=-1。对于i、j、k本身的几何意义可以理解为一种旋转,其中i旋转代表x轴与y轴相交平面中x轴正向向y轴正向的旋转,j旋转代表z轴与x轴相交平面中z轴正向向x轴正向的旋转,k旋转代表y轴与z轴相交平面中y轴正向向z轴正向的旋转,-i、-j、-k分别代表i、j、k旋转的反向旋转。

上述可以将第k次静止状态下第k时刻的加速度测量值采用四元数表示,进而得到第k次静止状态下第k时刻的姿态的四元数qk,具体计算方法可以参考现有技术中四元数法获得,此处不再赘述。

s101、根据第k组陀螺仪数据中,第k次运动状态下第i时刻的角速度测量值以及采用龙格库塔法进行姿态计算,以得到第i+1时刻的姿态的四元数qi+1;其中,为第k次运动状态下第i时刻的角速度校正值,t1为第一校正矩阵,b1为第一零偏误差。

上述龙格库塔法(runge-kuttamethods)是用于非线性常微分方程的解的隐式或显式迭代法。采用龙格库塔法不断迭代,可以求解出第i+1时刻的姿态的四元数qi+1,具体求解方法可以根据现有技术中龙格库塔法求解四元数的相关技术获得。t1为3*3的矩阵,b1为3*1的矩阵。

s102、判断第i+1时刻电子设备是否处于第k+1次静止状态。

s103、若是,则根据第i+1时刻的姿态的四元数qi+1,计算第i+1时刻的加速度预测值

该s103与s100相逆,通过第i+1时刻的姿态的四元数qi+1反推计算得到第i+1时刻的加速度预测值需要说明的是,若第i+1时刻电子设备未处于第k+1次静止状态,即处于第k次运动状态,则重复执行s101和s102。

s104、获取第i+1时刻的加速度测量值

s105、根据第i+1时刻的加速度预测值以及第i+1时刻的加速度测量值确定误差方程;误差方程为:其中,l1为损失函数,i、j均为正整数,且1≤j≤n、1≤i≤m,n为获取的第二测量数据的组数,m为第k次运动状态下的所有角速度的测量值的总数;表示求的范数,∑表示求和。

上述范数是具有“长度”概念的函数。在线性代数、泛函分析及相关的数学领域,范数是一个函数,是矢量空间内的所有矢量赋予非零的正长度或大小。示例的,一个四元数为q=ai+bj+ck+d,则q的范数||q||=a2+b2+c2+d2

s106、令l1取最小值,计算第一校正矩阵t1和第一零偏误差b1;更新后的校正参数为第一校正矩阵t1和第一零偏误差b1。

通过对l1求偏导,当其偏导值为0时,l1可以取最小值,此时可以求解得到第一校正矩阵t1和第一零偏误差b1。第一校正矩阵t1和第一零偏误差b1即为更新后的校正参数。

上述采用四元数法求解第一校正矩阵t1和第一零偏误差b1,可以实现三坐标轴校正,同时能考虑到使用过程中的影响,从而得到更为准确的校正参数,提高了校正精度,进而得到更准确的数据,避免姿态数据出现较大的误差。

可选的,第一测量数据包括角速度的测量值w0,校正后的角速度值w1与角速度的测量值w0满足:w1=t1*(w0+b1)。采用更新后的校正参数校正,可以得到更为精确的测量数据,

第二种,传感器包括加速度计,第二测量数据包括:加速度数据。

第k组加速度数据包括:电子设备处于第k次静止状态下的所有加速度的测量值的平均值,k为正整数,且1≤k≤n,n为获取的第二测量数据的组数。

参考图7所示,对于加速度数据,沿着时间轴t,收集每个静止状态下的所有数据,收集完成后,对每个静止状态下的所有数据分别进行平均处理,得到每个静止状态下的加速度的测量值的平均值。

这里加速度可以是重力加速度。在静止状态下,重力加速度的值一般不会发生变化。采用上述求取平均值的方法可以提高数据精度。

可选的,s024、根据第二测量数据计算更新后的校正参数包括:

s200、确定第k组加速度数据中,第k个加速度的测量值与第k个加速度的校正值的关系,其中,t2为第二校正矩阵,b2为第二零偏误差。

上述t2为3*3的矩阵,b2为3*1的矩阵。

s201、根据加速度参考值g0以及第k个加速度校正值确定误差方程;误差方程为:其中,g0为9.8015m/s^2,l2为损失函数,k为正整数,且1≤k≤n,n为获取的第二测量数据的组数;||g0||表示求g0的范数,表示求的范数,∑表示求和。

上述范数含义可以参考前述第一种传感器包括陀螺仪的说明,此处不再赘述。

s202、令l2取最小值,计算第二校正矩阵t2和第二零偏误差b2;更新后的校正参数为第二校正矩阵t2和第二零偏误差b2。

通过对l2求偏导,当其偏导值为0时,l2可以取最小值,此时可以求解得到第二校正矩阵t2和第二零偏误差b2。第二校正矩阵t2和第二零偏误差b2即为更新后的校正参数。

可选的,第一测量数据包括加速度的测量值g0,校正后的加速度值g1与加速度的测量值g0满足:g1=t2*(g0+b2)。采用更新后的校正参数校正,可以得到更为精确的测量数据。

第三种,传感器包括磁力计,第二测量数据包括:地磁数据;

第k组地磁数据包括:电子设备处于第k次静止状态下的所有地磁值的测量值的平均值,k为正整数,且1≤k≤n,n为获取的第二测量数据的组数。

参考图7所示,对于地磁数据,沿着时间轴t,收集每个静止状态下的所有数据,收集完成后,对每个静止状态下的所有数据分别进行平均处理,得到每个静止状态下的地磁值的测量值的平均值。

在静止状态下,地磁值一般不会发生变化。采用上述求取平均值的方法可以提高数据精度。

可选的,s024、根据第二测量数据计算更新后的校正参数包括:

s300、确定第k组地磁数据中,第k个地磁值的测量值与第k个地磁值的校正值的关系,其中,t3为第三校正矩阵,b3为第三零偏误差。

上述t3为3*3的矩阵,b3为3*1的矩阵。

s301、根据地磁值参考值d0以及第k个地磁值校正值确定误差方程;误差方程为:其中,m0为55μt,l3为损失函数,k为正整数,且1≤k≤n,n为获取的第二测量数据的组数;||m0||表示求m0的范数,表示求的范数,∑表示求和。

上述范数含义可以参考前述第一种传感器包括陀螺仪的说明,此处不再赘述。

s302、令l3取最小值,计算第三校正矩阵t3和第三零偏误差b3;更新后的校正参数为第三校正矩阵t3和第三零偏误差b3。

通过对l3求偏导,当其偏导值为0时,l3可以取最小值,此时可以求解得到第三校正矩阵t3和第三零偏误差b3。第三校正矩阵t3和第三零偏误差b3即为更新后的校正参数。

可选的,第一测量数据包括地磁值的测量值m0,校正后的地磁值m1与地磁值的测量值m0满足:m1=t3*(m0+b3)。采用更新后的校正参数校正,可以得到更为精确的测量数据,

需要说明的是,上述以传感器分别包括陀螺仪、加速度计或者磁力计为例进行说明。当然,上述传感器还可以包括陀螺仪、加速度计或者磁力计中的任意两种;或者,上述传感器还可以包括陀螺仪、加速度计和磁力计三种传感器,本实施例对此不做限定。

可选的,参考图4所示,上述s02、自适应校正还包括:

s028、若校正参数未更新,则采用校正参数对第一测量数据进行校正。即采用初始校正时的校正参数对第一测量数据进行校正。示例的,若校正参数为j,第一测量数据为c,则校正后的第一测量数据为c1=c-j。

实施例二

本发明实施例提供了一种传感器校正装置,包括:

初始校正模块,被配置为在电子设备出厂前,对电子设备包括的传感器进行初始校正,并保存初始校正采用的校正参数。

自适应校正模块,被配置为在电子设备处于使用过程中,对传感器进行自适应校正。

自适应校正模块包括:

第一获取单元,被配置为获取传感器的第一测量数据。

第一判断单元,被配置为判断校正参数是否更新。

第二获取单元,被配置为若校正参数未更新,则获取传感器的第二测量数据。

计算单元,被配置为当第二测量数据满足预设条件时,根据第二测量数据计算更新后的校正参数。

校正单元,被配置为若校正参数更新,则采用更新后的校正参数对第一测量数据进行校正。

本发明的实施例提供了一种传感器校正装置,该传感器校正装置可以实现上述传感器校正方法,该校正方法能降低零飘误差、坐标轴误差等影响,从而大大减轻读数不准的问题,进而提升用户体验。

可选的,自适应校正模块还包括:

确定单元,被配置为当获取到至少n组第二测量数据时,确定第二测量数据满足预设条件;其中,n为正整数,且大于或者等于10。

可选的,自适应校正模块还包括:

第三获取单元,被配置为在预设的时间段内,获取第三测量数据;

第二判断单元,被配置为根据第三测量数据判断电子设备所处的状态;

第二获取单元,被配置为若校正参数未更新,则获取电子设备处于不同状态下的测量数据,得到第二测量数据。

进一步可选的,上述第二判断单元,被配置为:

在预设的时间段内,所有第三测量数据的均方差小于预设阈值,则判定电子设备处于静止状态。

在预设的时间段内,所有第三测量数据的均方差大于或者等于预设阈值,则判定电子设备处于运动状态。

需要说明的是,本实施例中涉及校正方法的相关内容可以参考实施例一,这里不再赘述。

实施例三

本发明实施例提供了一种虚拟现实设备(简称vr设备),包括:传感器和上述的传感器校正装置。

上述传感器可以是陀螺仪、加速度计或者磁力计中的任一种或者多种的组合。该虚拟现实设备的传感器的读数准、误差小,用户体验高。

实施例四

本发明实施例提供了一种传感器校正装置,包括:存储器、处理器、以及存储在存储器上并可在处理器上运行的计算机程序;

计算机程序被处理器执行时,能实现上述实施例一提供的传感器校正方法。

本发明的实施例提供了一种传感器校正装置,该传感器校正装置可以实现上述传感器校正方法,该校正方法能降低零飘误差、坐标轴误差等影响,从而大大减轻读数不准的问题,进而提升用户体验。

实施例五

本发明实施例提供了一种计算机存储介质,计算机存储介质存储有计算机程序,计算机程序被处理器执行时能实现实施例一提供的传感器校正方法。

本发明的实施例提供了一种计算机存储介质,通过执行该计算机存储介质的计算机程序,可以实现上述传感器校正方法,该校正方法能降低零飘误差、坐标轴误差等影响,从而大大减轻读数不准的问题,进而提升用户体验。

本技术领域技术人员可以理解,本发明包括涉及用于执行本申请中操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)的存储介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,该计算机存储介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、cd-rom和磁光盘)、rom(read-onlymemory,只读存储器)、ram(randomaccessmemory,随机存储器)、eprom(erasableprogrammableread-onlymemory,可擦写可编程只读存储器)、eeprom(electricallyerasableprogrammableread-onlymemory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,存储介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。

本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流程图中的每个框以及这些结构图和/或框图和/或流程图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其它可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流程图中的框或多个框中指定的方案。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

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