一种陀螺仪温度漂移补偿方法技术领域
本发明属于人机交互领域,具体涉及一种陀螺仪的温度漂移补偿方法。
背景技术
从第一台实用陀螺仪问世半个多世纪以来,它被广泛应用于航海、航空和航天等多个领
域。作为一个敏感的惯性导航元件,在民用领域通常被设计成陀螺仪传感器,为我们提供方
向和位置等信息。
但是,陀螺仪的使用存在着一定的问题,比如陀螺仪轴角度零点会随着温度和运动的变
化产生漂移的情况。其中,温度的影响尤为明显。一方面,环境温度在不断发生微小的变化,
另一方面,随着三轴陀螺仪传感器的使用时间加长,其温度也在不断的升高,而且其温度呈
非线性变换。所以,三轴陀螺仪传感器测得的三轴角度数据就会出现比较明显的偏差,温度
变化越明显,偏差越大,这将降低数据的可靠性和实用性,从而影响陀螺仪在工程实践中的
应用。
目前已经有一些工作研究陀螺仪零点漂移,比较有代表性的是挠性陀螺仪静态漂移零次
和一次加速度相关项误差模型最优位置标定方法(参考文献:挠性陀螺仪静态漂移零次和一
次加速度相关项误差模型最优位置标定方法,专利申请公布号:CN?101738203A)和一种光
纤陀螺仪分布式分层级温度误差补偿方法(参考文献:一种光纤陀螺仪分布式分层级温度误
差补偿方法,专利申请公布号:CN?101408427A)。上海交通大学的冷宗圣通过分析开环光
纤陀螺中压电陶瓷(PZT)相位调制器的稳定性及其相位噪声对陀螺输出的影响,发现温度的
变化影响开环光纤陀螺的标度因素及零点漂移,并设计了一种陀螺输出线性化的程序以减少
光纤陀螺仪的标度因素误差(参考文献:冷宗圣,低精度大动态光纤陀螺的温度补偿及线性
化研究,上海交通大学硕士论文,2006)。北京航空航天大学的张海鹏等人发现石英系列微
机电系统陀螺仪零点漂移中短时间高频采样十分明显,提出了一种精确的标定方法(参考文
献:张海鹏、房建成、盛蔚,石英MEMS陀螺漂移的周期性误差标定及补偿,北京航空航天大
学学报,Vol.33,No.12,2007)。但是上述方法存在以下问题:
第一,在挠性陀螺仪静态漂移零次和一次加速度相关项误差模型最优位置标定方法专利
中,是针对挠性陀螺仪的,它是一种二自由度陀螺仪,对自由度是有要求的。
[第二,挠性陀螺仪静态漂移零次和一次加速度相关项误差模型最优位置标定方法主要面
向由线运动引起的静态漂移误差,而并没有重视由温度带来的陀螺仪零点漂移问题。
第三,光纤陀螺仪对于不熟悉陀螺仪并没有相关标定设备的人机交互领域用户,标定系
统不够简单,实际使用中存在着难度。
发明内容
为了克服现有技术中存在的问题,本发明提供一种适用于一般性陀螺仪的温度漂移补偿
方法,补偿陀螺仪的温度漂移,最大限度的纠正误差,提供更准确的角速度计算方法。
为了实现本发明的目的采用的技术方案概述如下:
一种陀螺仪的温度漂移补偿方法,其步骤如下:
1)固定一个三轴陀螺仪传感器,稳定状态下采集温度以及陀螺仪三个轴的角速度数据;
2)按温度进行排序,将温度范围分成若干等间距的区间;
3)对区间内的角速度数据进行等量采样;
4)对每个温度区间内的采样角速度数据取算数平均值,作为温度区间的角速度代表值;
5)通过上述步骤的统计和采样,得到温度和零点角速度的数值对,采用直线拟合公式:
y=a+bx进行直线拟合,得到参数a和b的值,自变量x表示温度,而因变量y表示陀螺仪
的零点值;
6)在实际使用中,测量当前陀螺仪三个轴的角速度数值和温度值,采用步骤5中的公式
计算出零点值,角速度测量数值和零点值做差,即完成陀螺仪的温度漂移补偿。
所述步骤1)采用温度传感器采集陀螺仪的温度。
所述步骤1)在采集温度之前先将陀螺仪传感器在不加电状态下放于阴凉处,待陀螺仪
温度达到可得到的最低温度后加电读取数据,在温度变化趋于平缓时,使用台灯进行加热,
以测得更多数据。
所述步骤2)温度区间大小为0.1摄氏度。
所述步骤3)采取平均采样法对区间内的数据进行采样,每隔若干数据保留一个有效数
据。
所述步骤4)对每个温度小区间内的采样数据取算数平均值,作为小区间的代表值,此
代表值的对应温度可以统一取区间的最小值、最大值或中间值。
所述步骤5)使用最小二乘法进行直线拟合。
所述步骤5)自变量x和因变量y之间的相关系数r的绝对值大于0.999。
本发明的优点和积极效果如下:
1.该方法能够适用于一般性陀螺仪的温度漂移补偿校正情况,无需大批量测试和仿真即
可测得补偿系数,即可得到满意效果,方法简单可行,陀螺仪的新手及专家用户都可以方便
使用。
2.本补偿方法可以根据不同陀螺仪的出厂参数分别计算补偿参数,达到校正陀螺仪零点
漂移带来的数据误差。
3.本补偿方法的大量统计计算工作可以在实际使用前完成,在实际使用过程中,数据转
换简单,提高系统的实时效率。
4.本补偿方法采用线性回归的方法计算,可以通过相关系数对前期统计数据进行取舍,
避免错误数据组对最终结果产生影响。
5.本补偿方法采用温度区间代表值法,避免偶然误差对补偿系数产生不利影响。
附图说明
图1为本发明对陀螺仪测量出的温度曲线;
图2为陀螺仪数据曲线-x;
图3为陀螺仪数据曲线-y;
图4为陀螺仪数据曲线-z;
图5为陀螺仪数据拟合曲线-x;
图6为陀螺仪数据拟合曲线-y;
图7为陀螺仪数据拟合曲线-z;
图8为本发明方法流程图。
具体实施方式
为了使本技术领域的人员更好的理解本发明,下面结合附图和实施方式对本发明作进一
步的详细说明。
针对一个全新的陀螺仪传感器设备,为了得到陀螺仪的零点随温度的变化曲线,我们需
要在陀螺仪静止状态,只有温度变化的前提下,采集一系列的数据,包括温度以及陀螺仪三
个轴的数据,温度的单位一般为度,陀螺仪输出数据的单位为度每秒或者弧度每秒。为了避
免偶然误差,需要使这些数据分布在尽可能大的温度变化范围内,同时可以测量多次来减少
测量误差。由于陀螺仪传感器温度的变化不可精确控制,原始数据并不能等量的分布在温度
轴区间上(如图1所示,横轴表示时间,纵轴表示温度)。为此,可以对原始数据按温度进行
排序,根据精度需要把温度划分成一个个等长的小区间,然后在该温度区间内进行采样处理,
使得温度轴上每个小区间上的数据量基本相同。为了抵消偶然误差,对每个小区间内的数据
进行算术平均处理,这样,从每个小区间上将会得到一个值,作为该区间上的一个采样值。
由于有足够多的小区间,经过上述统计采样,得到足够多的温度及该温度下对应的陀螺仪零
点测量值,最后采用统计学的回归对数据对进行拟合,得到温度到陀螺仪零点角度的函数。
实验中,我们发现陀螺仪三个轴的零点都随着温度的变化呈线性关系(如图5,6,7所示,
分别给出了三组采样数据进行直线拟合,三个轴的零点都随着温度的变化呈线性关系),相关
系数均能达到99%以上。图5,6,7中,横轴表示温度,单位为摄氏度,0点表示26摄氏度,
每单位格表示0.5摄氏度,如X为10的时候,表示温度为10*0.5+26=31摄氏度;纵轴表示
表示角速度,单位为每14.375度每秒,如Y=-200情况下(由于角速度有方向,所以有正负),
表示-200/14.375=-13.9度/秒。在实际使用中,根据拟合的函数进行零点漂移的补偿,将实
际测得角速度数据和当前实时温度代入补偿公式,计算出陀螺仪轴角速度的实际值。
陀螺仪在完全静止的情况下,不产生任何角加速度信息,三个轴的角度应该都指向“零
点”。但实验发现,一般情况下,三个轴输出的数据并不为零,并且三个轴的数据也各不相同,
这里包括随机噪声以及温度对陀螺仪的轴角度零点的影响,本发明的工作就是对温度漂移进
行补偿,通过计算的方法,减少温度对陀螺仪轴角度零点的影响。
具体过程参见图8,为本发明方法的流程图。
1)稳定状态下陀螺数据采集
固定一个三轴陀螺仪传感器,在采集数据的过程中,不能有任何的移动或震动,以保证
只有温度这一个变量。
数据的采集还有一个要求,就是采集到的温度范围要尽可能的大,数据尽可能多。为达
到此效果,可以先将陀螺仪传感器在不加电状态下放于阴凉处,待陀螺仪温度达到可得到的
最低温度后加电读取数据,陀螺仪自身工作会产生热量,导致陀螺的温度呈对数增长。在温
度变化趋于平缓时,可以使用台灯进行加热,以测得更多数据。示例数据采集的温度变化参
照图1,陀螺仪零点漂移情况见图2。
2)按温度进行排序及等间距采样
对所有的温度数据从小到大进行排序,能够得到此次采集的温度范围。根据范围的大小,
对最大温度范围进行分割,分成足够多的小区间,根据需要精度的不同选取的区间大小会不
-同,实验中,我们选取的区间大小为0.1摄氏度,即每隔0.1摄氏度划分一个区间。再对小
区间内的数据进行采样,保证每个区间内的数据量基本相同。采样的方法一般采取平均采样
法,每隔若干数据保留一个有效数据。
3)温度区间的代表值计算
对每个温度小区间内的采样数据取算数平均值,作为小区间的代表值,此代表值的对应
温度可以统一取区间的最小值、最大值或中间值。
4)全域线性回归计算
通过上述步骤的统计和采样,得到一系列的数值对,设x轴表示温度,y轴表示陀螺仪
某个轴的角度值。通过作图法可以发现,稳定角度值对温度升高呈线性变化,一般使用最小
二乘法进行直线拟合。
根据最小二乘法的理论基础,设最佳经验公式为:
y=a+bx
其中,自变量x表示温度,而因变量y表示陀螺仪的零点,而需求解系数a和b,通过
上述统计和采样,我们等精度地测得一组实验数据(xi,yi,i=1,2,3…n)。通过作图法基本
了解x,y满足线性关系,并且实验的误差主要出现在yi上。设拟合直线公式为
y=f(x)=a+bx
当所测各yi值与拟合直线上各估计值
f(xi)=a+bxi
之间偏差的平方和最小,即
s=∑[yi-f(xi)]2=∑[yi-(a+bxi)]2→min
时,所得拟合公式即为最佳经验公式。据此有
∂ s ∂ a = - 2 Σ ( y i - a - bx i ) = 0 ]]>
∂ s ∂ b = - 2 Σ ( y i - a - bx i ) x i = 0 ]]>
解得
a = Σ x i y i Σ x i - Σ y i Σ x i 2 ( Σ x i ) 2 - nΣ x i 2 ]]>
b = Σ x i Σ y i - nΣ x i y i ( Σ x i ) 2 - nΣ x i 2 ]]>
最小二乘法的相关系数r定义为:
r = Σ ( x i - x ‾ ) Σ ( y i - y ‾ ) Σ ( x i - x ‾ ) 2 Σ ( y i - y ‾ ) 2 ]]>
其中
x ‾ = Σ x i n ]]>
y ‾ = Σ y i n ]]>
r表示两变量之间的函数关系与线性的符合程度,r∈[-1,1]。当|r|→1时,x、y间的线性
关系好,当|r|→0时,x、y间无线性关系,拟合无意义。
实验中一般要求相关系数r的绝对值达到0.999以上,如果相关系数r的绝对值和1差
别太大,则采样无效,需重新采样。
5)使用中,补偿后的零点计算
在实际使用中,每次能够从陀螺仪传感器中读取四个数据,分别是陀螺仪x轴、y轴、z
轴的角速度数值x、y、z和当前温度值t,根据第4)步计算的公式
其中,lx、ly、lz表示当前陀螺仪三个轴的零点值,
算得在当前温度下陀螺仪三个轴的零点值lx、ly、lz。再用x轴、y轴、z轴的角速度测量数
值和零点值做差
r x = x - l x r y = y - l y r z = z - l z ]]>
得到x轴、y轴、z轴的角速度真实值
上述方法过程中使用了温度传感器测量温度,根据陀螺仪的实时温度,通过一系列统计
方法纠正陀螺仪三个轴的角度数据,来解决陀螺仪的温度漂移问题,这是解决陀螺仪的零点
漂移问题的一个有实用的方法。实验中,如图5所示为陀螺仪X轴在20分钟内静止状态下的
输出的变化。由图可知,在该段时间内,陀螺仪的X轴原始数据输出漂移达到30,也就是
30/14.375=2.09度/秒。而经过修正之后的零点偏移误差30分钟之后也只有约0.2,也就是
0.2/14.375=0.0014度/秒。实际使用中,温度并不是成理想的线性变换,会有噪声,所以会
带来额外的误差,但经过验证,温度误差在2摄氏度以内,由此引入的误差约在5左右,也
就是5/14.375=0.35度/秒。而Y轴、Z轴的情况也类似,由此可见,该方法能有效的减小陀
螺仪的零点漂移误差。