一种陀螺仪的补偿方法、装置和陀螺仪
技术领域
本发明涉及陀螺仪技术领域,特别涉及一种陀螺仪的补偿方法、装置和陀螺仪。
背景技术
惯性传感器一般包括加速度计和陀螺仪,即惯性传感器。陀螺仪作为惯性导航领域中最常用惯性器件,以感测载体的角速率为输出信号,姿态解算过程中,利用陀螺仪输出的角速率信号对坐标转动元素(欧拉角、四元数、方向余弦矩阵)求微分方程,再利用积分求取姿态。
但是陀螺仪通常会受到外界环境干扰或自身误差的影响,输出信号的精度低,需要对陀螺仪输出信号进行补偿,以便获得准确的输出信号。可见,应用陀螺仪进行姿态解算过程中,计算结果的准确与否,很大程度取决于陀螺仪的补偿。因此,对陀螺仪的输出信号进行准确的补偿,以提高陀螺仪的准确度也是至关重要的。
发明内容
鉴于上述问题,提出了本发明的一种陀螺仪的补偿方法、装置和陀螺仪,以便对陀螺仪进行准确的补偿,提高陀螺仪的准确度。
根据本发明的一个方面,提供了一种陀螺仪的补偿方法,所述方法包括:
获取陀螺仪的零偏值,以及转速理论值下的理论补偿系数;
获取补偿系数平均变化率;
使用所述补偿系数平均变化率、所述转速理论值和所述理论补偿系数,计算与所述陀螺仪的当前转速输出值对应的当前补偿系数;
根据所述零偏值和所述当前补偿系数,补偿所述当前转速输出值。
根据本发明的另一个方面,提供了一种陀螺仪的补偿装置,所述装置包括:
第一获取单元,用于获取陀螺仪的零偏值,以及转速理论值下的理论补偿系数;
第二获取单元,用于获取补偿系数平均变化率;
计算单元,用于使用所述第二获取单元获取的补偿系数平均变化率、所述第一获取单元获取的转速理论值和理论补偿系数,计算与所述陀螺仪的当前转速输出值对应的当前补偿系数;
标定补偿单元,用于根据所述零偏值和所述当前补偿系数,补偿所述当前转速输出值。
根据本发明的又一个方面,提供了一种陀螺仪的补偿装置,所述装置包括存储器和处理器,所述存储器存储有能够被所述处理器执行的计算机程序,所述计算机程序被所述处理器执行时能够实现如前所述的方法步骤。
根据本发明的再一个方面,提供了一种陀螺仪,所述陀螺仪包括如前所述的陀螺仪的补偿装置。
综上所述,本发明的技术方案的有益效果是:首先,根据补偿参数随转速的变化的特征,使用补偿系数平均变化率、转速理论值和理论补偿系数,计算与陀螺仪的当前转速输出值对应的当前补偿系数;然后,再使用零偏值和当前补偿系数,补偿陀螺仪的当前转速输出值,实现对陀螺仪的当前转速输出值的准确补偿,提高陀螺仪的准确度。
附图说明
图1为本发明一个实施例提供的一种陀螺仪的补偿方法的流程示意图;
图2(a)为本发明一个实施例提供的一种样本陀螺仪I的与各预设转速值对应的补偿系数结果示意图;
图2(b)为本发明一个实施例提供的一种样本陀螺仪II的与各预设转速值对应的补偿系数结果示意图;
图2(c)为本发明一个实施例提供的一种样本陀螺仪III的与各预设转速值对应的补偿系数结果示意图;
图3为本发明一个实施例提供的一种陀螺仪的补偿装置的功能结构示意图;
图4为本发明另一个实施例提供的一种陀螺仪的补偿装置的功能结构示意图;
图5为本发明一个实施例提供的一种陀螺仪的功能结构示意图。
具体实施方式
陀螺仪精度的误差通常来自两个方面:陀螺仪自身误差和外界环境干扰。陀螺仪自身误差主要来自于制造加工过程中造成的结构性问题,例如,敏感度比例系数误差和零点偏移误差。外界环境干扰主要是外界环境中磁场密度不均匀,温差角度等因素引发的,通常导致芯片灵敏度下降,测量值不准等问题。但通常陀螺仪有着很好的误差稳定性,当外界环境不发生变化或者芯片本结构不变的情况下,其各项性能指标也不会发生变化。也就是说,就算陀螺仪存在误差,但是通常情况下,陀螺仪的误差值会保持不变,因此可以对该误差值进行补偿,以保证陀螺仪的准确度。
现有技术中,通常是使用固定的补偿系数,对陀螺仪的转速输出值进行补偿,但是并未考虑到不同转速下,补偿系数是不同的,即补偿参数随转速的变化而变化的特性,补偿系数的不准确会给陀螺仪带来新的误差,进而影响陀螺仪的准确度。
本发明的涉及思路是:根据补偿参数随转速的变化的特征,使用补偿系数平均变化率、转速理论值和理论补偿系数,计算与陀螺仪的当前转速输出值对应的当前补偿系数;然后,再使用零偏值和当前补偿系数,补偿陀螺仪的当前转速输出值,实现对陀螺仪的当前转速输出值的准确补偿,提高陀螺仪的准确度。为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1为本发明一个实施例提供的一种陀螺仪的补偿方法的流程示意图。如图1所示,该方法包括:
步骤S110,获取陀螺仪的零偏值,以及转速理论值下的理论补偿系数。
本实施例中的陀螺仪的零偏值和转速理论值下的理论补偿系数均是预先设定在陀螺仪中的。这里的转速理论值下的理论补偿系数,即预先设定的某一转速理论值下的理论补偿系数。例如,100°/s对应的补偿系数0.9。
步骤S120,获取补偿系数平均变化率。
步骤S130,使用补偿系数平均变化率、转速理论值和理论补偿系数,计算与陀螺仪的当前转速输出值对应的当前补偿系数。
因为不同转速下,补偿系数是不同的,即补偿参数具有随转速的变化而变化的特性。正因为补偿系数有上述特性,那么就可以获取补偿系数岁转速变化的平均变化率。通过该平均变化率计算陀螺仪当前转速输出值对应的当前补偿系数。计算公式可以是:
其中,
是补偿参数平均变化率,K
1是理论补偿系数,K
2是当前补偿系数,R
1是转速理论值,R
2是当前转速输出值。
在本实施例中,
K
1、R
1、R
2是已知的,根据上述公式就可以计算K
2。
步骤S140,根据零偏值和当前补偿系数,补偿当前转速输出值。
补偿当前转速输出值时,依据的公式是:
ω=Kω0+offset
其中,ω是补偿后的转速输出值,ω0是当前转速输出值,K是当前补偿系数,offset是零偏值。经过统计实验和陀螺仪的构造原理,不同转速下的offset是基本不变的,所以offset可以直接使用。
图1所示的步骤S120中的补偿系数平均变化率是通过多个样本陀螺仪输出的对应多个预设转速值的转速输出值进行计算获得的。具体地,在本发明的一个实施例中,步骤S120中的获取补偿系数平均变化率包括:
步骤S121,对于各样本陀螺仪,获取每个样本陀螺仪的零偏值。
本实施例中,获取的零偏值是各样本陀螺仪中的预设零偏值,或者获取每个样本陀螺仪输出的分别与预设零值对应的转速输出值,计算每个样本陀螺仪输出的零偏值。
步骤S122,获取每个样本陀螺仪输出的分别与多个预设转速值对应的转速输出值。
本实施例中的多个预设转速值是根据需求设定的,在这里不做具体限定。例如,多个预设转速值为60°/s、180°/s、300°/s、540°/s。
步骤S123,根据每个样本陀螺仪的零偏值和分别与多个预设转速值对应的转速输出值,计算每个样本陀螺仪的与各预设转速值对应的补偿系数。
在本实施例中,计算每个样本陀螺仪的与各预设转速值对应的补偿系数是通过下述公式计算:
ωi=Kiωi'+offseti
其中,ωi是样本陀螺仪的预设转速,ωi'是与预设转速值对应的补偿系数,offseti是样本陀螺仪的零偏值,Ki是每个样本陀螺仪的与预设转速值对应的补偿系数。这里,ωi、ωi'、offseti是已知的,这样可以计算Ki。
步骤S124,根据每个样本陀螺仪的与各预设转速值对应的补偿系数,确定补偿系数和预设转速值之间的关系。
在本实施例中,每个样本陀螺仪的补偿系数是与各预设转速值一一对应的,相对于每个样本陀螺仪来说,补偿系数随预设转速值的变化而变化的规律即可确定,即确定补偿系数和预设转速值之间的关系。
步骤S125,根据关系,计算补偿系数平均变化率。
这里补偿系数和预设转速值之间的关系可以是一次方函数关系,即线性关系,也可以是二次方函数关系。
在本发明的一个实施例中,补偿系数和转速理论值之间的关系是线性关系。
则上述的根据关系,计算补偿系数平均变化率包括:根据线性计算公式计算补偿系数平均变化率。具体公式为:
其中,m为样本陀螺仪的个数,n为预设转速值的个数,
为补偿系数平均变化率,ω
i为第i个预设转速值,K
i为第i个预设转速值对应的补偿系数,ω
i+1为第(i+1)个预设转速值,K
i+1为第(i+1)个预设转速值对应的补偿系数。
实际应用中的陀螺仪输出的角速度信号通常是X轴、Y轴和Z轴的角速度信号。所以,在本发明的一个实施例中,
上述步骤S123中的计算每个样本陀螺仪的与各预设转速值对应的补偿系数包括:计算每个样本陀螺仪的与各预设转速值对应的X轴补偿系数、Y轴补偿系数和Z轴补偿系数。
具体地,依据的基本公式是:ω2=ωX 2+ωY 2+ωZ 2,而ωX=KXωX'+X_offset、ωY=KYωY'+Y_offset、ωz=KZωZ'+Z_offset。
其中,ω是预设转速值;ωX、ωY、ωZ是X轴、Y轴、Z轴的预设转速值;ωX'、ωY'、ωZ'是X轴、Y轴、Z轴输出的与预设转速值对应的转速输出值;KX、KY、KZ是X轴、Y轴、Z轴的补偿系数,X_offset、Y_offset、Z_offset是X轴、Y轴、Z轴的零偏值。零偏值是预设转速为零时,陀螺仪的转速输出值,这里陀螺仪的X轴、Y轴、Z轴的零偏值是已知的。
将ωX、ωY、ωZ的公式带入ω2=ωX 2+ωY 2+ωZ 2,得到:
ω2=(KXωX'+X_offset)2+(KYωY'+Y_offset)2+(KZωZ'+Z_offset)2
令D2=X_offset2+Y_offset2+Z_offset2-ω2,
则得到:
KX 2ωX′2+2KXωX′·X_offset+X_offset2+KY 2ωY′2+2KYωY′·Y_offset+
Y_offset2+KZ 2ωZ′2+2KZωZ′·Z_offset+Z_offset2+D2=0
对于每一个预设转速值都会有三组陀螺仪的输出值,即X轴、Y轴、Z轴分别是预设转速值时的转速输出值。例如,预设转速是60°/s时,有三组转速输出值,分别是:X轴输出的与60°/s对应的转速输出值;Y轴的与60°/s对应的转速输出值;Z轴的与60°/s对应的转速输出值。
将每一组陀螺仪的转速输出值,带入上述的公式,即可得到三个独立的方程,可以求取KX、KY、KZ,即对应该预设转速值的X轴补偿系数、Y轴补偿系数和Z轴补偿系数。
那么,根据计算获得的每个预设转速值下的X轴补偿系数、Y轴补偿系数和Z轴补偿系数,可以确定每个样本陀螺仪的X轴补偿系数和预设转速值之间的关系、Y轴补偿系数和预设转速值之间的关系和Z轴补偿系数和预设转速值之间的关系。
具体地,确定出的补偿系数和预设转速值之间的关系包括:
确定X轴补偿系数随预设转速值的增加而增加;Y轴补偿系数随预设转速值的增加而减小;Z轴补偿系数随预设转速值的增加而减小;X轴补偿系数<Y轴补偿系数<Z轴补偿系数。
以及确定X轴补偿系数、Y轴补偿系数、Z轴补偿系数和预设转速值之间的关系均是线性关系。
步骤S125中的根据关系,计算补偿系数平均变化率包括:根据线性计算公式分别计算X轴补偿系数平均变化率、Y轴补偿系数平均变化率、Z轴补偿系数平均变化率;其中,线性计算公式为:
其中,m为样本陀螺仪的个数,n为预设转速值的个数。
为X轴补偿系数平均变化率,ω
X(i)为第i个预设转速值,K
X(i)为第i个预设转速值对应的X轴补偿系数,ω
X(i+1)为第(i+1)个预设转速值,K
X(i+1)为第(i+1)个预设转速值对应的X轴补偿系数;
为Y轴补偿系数平均变化率,ω
Y(i)为第i个预设转速值,K
Y(i)为第i个预设转速值对应的Y轴补偿系数,ω
Y(i+1)为第(i+1)个预设转速值,K
Y(i+1)为第(i+1)个预设转速值对应的Y轴补偿系数;
为Z轴补偿系数平均变化率,ω
Z(i)为第i个预设转速值,K
Z(i)为第i个预设转速值对应的Z轴补偿系数,ω
Z(i+1)为第(i+1)个预设转速值,K
Z(i+1)为第(i+1)个预设转速值对应的Z轴补偿系数。
需要说明的是,在进行补偿系数平均变化率的计算时,获取的样本陀螺仪的与预设转速值对应的转速输出值时,分为正向旋转数据和反向旋转数据。在下述的例子中以正向旋转数据为例进行具体说明,反向旋转数据与正向旋转数据的计算方式相同,再次就不在赘述。
在一个具体的例子中,样本陀螺仪的个数是3个,分别是样本陀螺仪I、样本陀螺仪II、样本陀螺仪III。获取的样本陀螺仪的与预设转速值对应的转速输出值时,参照的是表1中的数据表格。预设转速值为:60°/s、180°/s、300°/s、540°/s。
表1
ω<sub>x</sub> |
ω<sub>y</sub> |
ω<sub>z</sub> |
ω′<sub>x</sub> |
ω′<sub>y</sub> |
ω′<sub>z</sub> |
0°/s |
0°/s |
0°/s |
|
|
|
60°/s |
0°/s |
0°/s |
|
|
|
0°/s |
60°/s |
0°/s |
|
|
|
0°/s |
0°/s |
60°/s |
|
|
|
180°/s |
0°/s |
0°/s |
|
|
|
0°/s |
180°/s |
0°/s |
|
|
|
0°/s |
0°/s |
180°/s |
|
|
|
300°/s |
0°/s |
0°/s |
|
|
|
0°/s |
300°/s |
0°/s |
|
|
|
0°/s |
0°/s |
300°/s |
|
|
|
540°/s |
0°/s |
0°/s |
|
|
|
0°/s |
540°/s |
0°/s |
|
|
|
0°/s |
0°/s |
540°/s |
|
|
|
将对应每个预设转速值的每一组陀螺仪的转速输出值,带入公式:
即可得到对应每个预设转速值的三个独立的方程,可以求取对应每个预设转速值的KX、KY、KZ,即每个陀螺仪的对应每个预设转速值的X轴补偿系数、Y轴补偿系数和Z轴补偿系数。
图2(a)为本发明一个实施例提供的一种样本陀螺仪I的与各预设转速值对应的补偿系数结果示意图;图2(b)为本发明一个实施例提供的一种样本陀螺仪II的与各预设转速值对应的补偿系数结果示意图;图2(c)为本发明一个实施例提供的一种样本陀螺仪III的与各预设转速值对应的补偿系数结果示意图。
从图2(a)、图2(b)、图2(c)可以得到,确定X轴补偿系数A(KX)随预设转速值的增加而增加;Y轴补偿系数B(KY)随预设转速值的增加而减小;Z轴补偿系数C(KZ)随预设转速值的增加而减小;X轴补偿系数A<Y轴补偿系数B<Z轴补偿系数C。
对不同预设转速值下的KX、KY、KZ进行数学方法拟合,例如,一次函数、二次函数,确定每种拟合结果的误差,找到拟合误差最小的拟合方式。则最终确定一次函数即线性函数拟合误差最小,确定X轴补偿系数、Y轴补偿系数、Z轴补偿系数和预设转速值之间的关系均是线性关系。
根据线性计算公式,
计算X轴补偿系数平均变化率、Y轴补偿系数平均变化率、Z轴补偿系数平均变化率。结果见表2。
表2
那么在进行陀螺仪的补偿时,则可以直接使用表2中的数据。
例如,若已知陀螺仪在转速为100°/s下的补偿参数K
X0值为0.9,那么应用时陀螺仪的转速输出值是500°/s下,需要计算500°/s下的补偿系数K
X1,表2中
值为1.7491453×10
-5,依据如下公式计算:
求得x=0.907。即500°/s时,补偿系数KX1为0.907。
而如果直接采用0.9会造的误差为:
7.8%的误差对于陀螺仪来说已经非常大,可见,采用本发明的陀螺仪的补偿方法可以提高陀螺仪的准确度。
图3为本发明一个实施例提供的一种陀螺仪的补偿装置的功能结构示意图。如图3所示,该陀螺仪的补偿装置300包括:
第一获取单元310,用于获取陀螺仪的零偏值,以及转速理论值下的理论补偿系数。
第二获取单元320,用于获取补偿系数平均变化率。
计算单元330,用于使用第二获取单元320获取的补偿系数平均变化率、第一获取单元310获取的转速理论值和理论补偿系数,计算与陀螺仪的当前转速输出值对应的当前补偿系数。
标定补偿单元340,用于根据零偏值和当前补偿系数,补偿当前转速输出值。
在本发明的一个实施例中,第二获取单元320具体用于,
对于各样本陀螺仪,获取每个样本陀螺仪的零偏值;
获取每个样本陀螺仪输出的分别与多个预设转速值对应的转速输出值;
根据每个样本陀螺仪的零偏值和分别与多个预设转速值对应的转速输出值,计算每个样本陀螺仪的与各预设转速值对应的补偿系数;
根据每个样本陀螺仪的与各预设转速值对应的补偿系数,确定补偿系数和预设转速值之间的关系;
根据关系,计算补偿系数平均变化率。
进一步地,
第二获取单元320,还用于计算每个样本陀螺仪的与各预设转速值对应的X轴补偿系数、Y轴补偿系数和Z轴补偿系数;
确定X轴补偿系数随转速理论值的增加而增加;Y轴补偿系数随转速理论值的增加而减小;Z轴补偿系数随转速理论值的增加而减小;X轴补偿系数<Y轴补偿系数<Z轴补偿系数;确定X轴补偿系数、Y轴补偿系数、Z轴补偿系数和转速理论值之间的关系均是线性关系。
具体地,
第二获取单元320,还用于根据线性计算公式分别计算X轴补偿系数平均变化率、Y轴补偿系数平均变化率、Z轴补偿系数平均变化率;其中,线性计算公式为:
其中,m为样本陀螺仪的个数,n为预设转速值的个数;
为X轴补偿系数平均变化率,ω
X(i)为第i个预设转速值,K
X(i)为第i个预设转速值对应的X轴补偿系数,ω
X(i+1)为第(i+1)个预设转速值,K
X(i+1)为第(i+1)个预设转速值对应的X轴补偿系数;
为Y轴补偿系数平均变化率,ω
Y(i)为第i个预设转速值,K
Y(i)为第i个预设转速值对应的Y轴补偿系数,ω
Y(i+1)为第(i+1)个预设转速值,K
Y(i+1)为第(i+1)个预设转速值对应的Y轴补偿系数;
为Z轴补偿系数平均变化率,ω
Z(i)为第i个预设转速值,K
Z(i)为第i个预设转速值对应的Z轴补偿系数,ω
Z(i+1)为第(i+1)个预设转速值,K
Z(i+1)为第(i+1)个预设转速值对应的Z轴补偿系数。
图4为本发明又一个实施例提供的一种陀螺仪的补偿装置的结构示意图。如图4所示,陀螺仪的补偿装置400包括存储器410和处理器420,存储器410和处理器420之间通过内部总线430通讯连接,存储器410存储有能够被处理器420执行的陀螺仪的补偿的计算机程序411,该陀螺仪的补偿的计算机程序411被处理器420执行时能够实现图1中所示的方法步骤。
在不同的实施例中,存储器410可以是内存或者非易失性存储器。其中非易失性存储器可以是:存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。内存可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存。进一步,非易失性存储器和内存作为机器可读存储介质,其上可存储由处理器420执行的陀螺仪的补偿的计算机程序411。
图5为本发明一个实施例提供的一种陀螺仪的功能结构示意图。如图5所示,该陀螺仪500包括如图3或图4所示的陀螺仪的补偿装置510。
在实际应用中,补偿参数平均变化率计算后可直接存储在陀螺仪中,陀螺仪的补偿装置510再次进行补偿时,直接查找存储的相应的补偿参数平均变化率即可。
需要说明的是,图3和图4所示的装置、图5所示的陀螺仪的各实施例与图1所示方法的各实施例对应相同,上文已有详细说明,在此不再赘述。
综上所述,本发明的技术方案的有益效果是:首先,根据补偿参数随转速的变化的特征,使用补偿系数平均变化率、转速理论值和理论补偿系数,计算与陀螺仪的当前转速输出值对应的当前补偿系数;然后,再使用零偏值和当前补偿系数,补偿陀螺仪的当前转速输出值,实现对陀螺仪的当前转速输出值的准确补偿,提高陀螺仪的准确度。
以上所述,仅为本发明的具体实施方式,在本发明的上述教导下,本领域技术人员可以在上述实施例的基础上进行其他的改进或变形。本领域技术人员应该明白,上述的具体描述只是更好的解释本发明的目的,本发明的保护范围应以权利要求的保护范围为准。