ς
(
t
)
=
[
var
t
w
(
a
x
t
)
]
2
+
[
var
t
w
(
a
y
t
)
]
2
+
[
var
t
w
(
a
z
t
)
]
2
(
1
)
\varsigma(t)=\sqrt{\left[\operatorname{var}_{t_{w}}\left(a_{x}^{t}\right)\right]^{2}+\left[\operatorname{var}_{t_{w}}\left(a_{y}^{t}\right)\right]^{2}+\left[\operatorname{var}_{t_{w}}\left(a_{z}^{t}\right)\right]^{2}} \qquad (1)
ς(t)=[vartw(axt)]2+[vartw(ayt)]2+[vartw(azt)]2(1)
其中
v
a
r
t
w
(
a
t
)
var_{t_{w} } (a^{t} )
vartw(at)是计算一般信号
a
t
a_{t}
at在以
t
t
t为中心的长度为
t
w
t_{w}
tw秒的时间间隔内的方差的算子。如果方差幅度低于阈值,则认为时间
t
t
t的样本是“静态”的。一个不间断的静态样本序列定义为单个静态间隔。我们考虑在长度为
T
i
n
i
t
T_{init}
Tinit的静态初始化期间计算的方差大小的整数倍作为阈值(见图2),其中整数倍数是自动估计的(见第c节)。在所有的实验中,我们使用
t
w
=
1
s
t_{w} = 1s
tw=1s和
T
i
n
i
t
=
30
s
T_{init} = 30s
Tinit=30s。(图3)中显示了静态检测器应用于数据流的示例报告。
Fig.2 数据集获取流程示意图
Fig.3 给出了一个应用于加速度计数据的静态检测器算子的例子(报告了方差大小的平方)。
B. 加速度计和陀螺仪标定
在理想的IMU中,加速度计的3个轴和陀螺仪的3个轴定义了一个单一的、共享的、正交的3D结构。在实际情况下,由于安装不准确,这两个坐标系形成两个不同的不对齐的非正交的结构。对于小角度,这些偏差可以通过两个偏差矩阵的均值进行线性补偿,即
T
a
T^{a}
Ta和
T
g
T^{g}
Tg,一个用于加速度计,一个用于陀螺仪。假设IMU坐标系与加速度计正交坐标系重合:
T
a
=
[
1
−
α
y
z
α
z
y
0
1
−
α
z
x
0
0
1
]
(
2
)
T^{a} = \begin{bmatrix} 1 & -\alpha_{yz} & \alpha_{zy} \\ 0 & 1 & -\alpha_{zx} \\ 0 & 0 & 1 \end{bmatrix}\qquad(2)
Ta=100−αyz10αzy−αzx1(2)
T
g
=
[
1
−
γ
y
z
γ
z
y
γ
x
z
1
−
γ
z
x
−
γ
x
y
γ
y
z
1
]
(
3
)
T^{g} = \begin{bmatrix} 1 & -\gamma _{yz} & \gamma _{zy} \\ \gamma_{xz} & 1 & -\gamma_{zx} \\ -\gamma_{xy} & \gamma _{yz} & 1 \end{bmatrix} \qquad(3)
Tg=1γxz−γxy−γyz1γyzγzy−γzx1(3)
加速度计和陀螺仪也会受到比例误差的影响:
K
a
=
[
s
x
a
0
0
0
s
y
a
0
0
0
s
z
a
]
K
g
=
[
s
x
g
0
0
0
s
y
g
0
0
0
s
z
g
]
(
4
)
K^{a} = \begin{bmatrix} s_{x}^{a} & 0 & 0 \\ 0 & s_{y}^{a} & 0 \\ 0 & 0 & s_{z}^{a} \end{bmatrix} \qquad K^{g} = \begin{bmatrix} s_{x}^{g} & 0 & 0 \\ 0 & s_{y}^{g} & 0 \\ 0 & 0 & s_{z}^{g} \end{bmatrix} \qquad(4)
Ka=sxa000sya000szaKg=sxg000syg000szg(4)
还有偏差:
b
a
=
[
b
x
a
b
y
a
b
z
a
]
b
g
=
[
b
x
g
b
y
g
b
z
g
]
(
5
)
b^{a} = \begin{bmatrix} b_{x}^{a}\\ b_{y}^{a}\\ b_{z}^{a} \end{bmatrix} \qquad b^{g} = \begin{bmatrix} b_{x}^{g}\\ b_{y}^{g}\\ b_{z}^{g} \end{bmatrix} \qquad(5)
ba=bxabyabzabg=bxgbygbzg(5)
因此,对于加速度计,完整的传感器误差模型为:
a
O
=
T
a
K
a
(
a
S
−
b
a
−
v
a
)
(
6
)
a^{O}=T^{a}K^{a}(a^{S}-b^{a}-v^{a}) \qquad (6)
aO=TaKa(aS−ba−va)(6)
对于陀螺仪,还有:
w
O
=
T
g
K
g
(
w
S
−
b
g
−
v
g
)
(
7
)
w^{O}=T^{g}K^{g}(w^{S}-b^{g}-v^{g}) \qquad (7)
wO=TgKg(wS−bg−vg)(7)
ν
a
ν^a
νa和
ν
g
ν^g
νg是测量噪声。 在多位置方法中,假定测量加速度的范数等于(已知的)重力大小加上多源误差因子。为了标定加速度计坐标系,我们需要估计未知参数向量
θ
a
c
c
θ^{acc}
θacc,它包括3个未对齐分量,3个尺度分量和3个偏差分量:
θ
a
c
c
=
[
α
y
z
,
α
z
y
,
α
z
x
,
s
x
a
,
s
y
a
,
s
z
a
,
b
x
a
,
b
y
a
,
b
z
a
]
(
8
)
\theta ^{acc}=[\alpha_{yz}, \alpha_{zy}, \alpha_{zx}, s_{x}^{a}, s_{y}^{a}, s_{z}^{a}, b_{x}^{a}, b_{y}^{a}, b_{z}^{a}] \qquad (8)
θacc=[αyz,αzy,αzx,sxa,sya,sza,bxa,bya,bza](8)
最小化损失函数为:
L
(
θ
a
c
c
)
=
∑
k
=
1
M
(
∣
∣
g
∣
∣
2
−
∣
∣
h
(
a
k
S
,
θ
a
c
c
)
∣
∣
2
)
2
(
9
)
L(\theta^{acc})=\sum_{k=1}^{M}(||g||^2-||h(a_k^S,\theta^{acc} )||^2)^{2} \qquad (9)
L(θacc)=k=1∑M(∣∣g∣∣2−∣∣h(akS,θacc)∣∣2)2(9)
其中
M
M
M为静态间隔数,
a
k
K
a_k^K
akK表示原始传感器读数,
h
h
h是应用当前参数矢量校正读数的函数,
∣
∣
g
∣
∣
||g||
∣∣g∣∣是重力矢量的实际大小。为了最小化
(
E
q
.
9
)
(Eq. 9)
(Eq.9),我们采用Levenberg-Marquardt (LM)算法。 我们也使用相同的静态间隔来标定陀螺仪:在这种情况下,我们可以假设一个无偏差的系统平均初始静态信号来获得偏差,但我们还需要估计陀螺仪和加速度计帧之间的刚体旋转。在这种情况下,未知参数矢量
θ
g
y
r
o
\theta^{gyro}
θgyro陀螺包括6个不对齐分量和3个比例分量:
θ
g
y
r
o
=
[
γ
y
z
,
γ
z
y
,
γ
x
z
,
γ
z
x
,
γ
x
y
,
γ
y
x
,
s
x
g
,
s
y
g
,
s
z
g
]
(
10
)
\theta ^{gyro}=[\gamma_{yz}, \gamma_{zy}, \gamma_{xz}, \gamma_{zx}, \gamma_{xy}, \gamma_{yx},s_{x}^{g}, s_{y}^{g}, s_{z}^{g}] \qquad (10)
θgyro=[γyz,γzy,γxz,γzx,γxy,γyx,sxg,syg,szg](10)
L
(
θ
g
y
r
o
)
=
∑
k
=
2
M
∣
∣
u
a
,
k
−
u
g
,
k
∣
∣
2
(
11
)
L(\theta^{gyro})=\sum_{k=2}^{M}||u_{a,k}-u_{g,k}||^2 \qquad (11)
L(θgyro)=k=2∑M∣∣ua,k−ug,k∣∣2(11)
其中
u
a
,
k
u_{a,k}
ua,k是在时间窗口内测量到的加速度矢量,在第
k
k
k个静态区间内对标定的加速度计读数进行平均,
u
g
,
k
u_{g,k}
ug,k是对第
k
−
1
k−1
k−1个和第
k
k
k个静态区间之间的角速度进行积分计算得到的加速度矢量。采用Runge-Kutta四阶归一化方法[11]进行积分,该方法优于标准线性积分方法,结果精度更高。
C. 提出的算法
提出的标定算法的报告如下:
算法1
获取
(
S
e
c
.
A
)
(Sec. A)
(Sec.A)节中描述的数据集(数据集必须包含长度为
T
i
n
i
t
T_{init}
Tinit的初始静态周期)
[1] D. Titterton and J. Weston, “Strapdown Inertial Navigation Technology.”, The American Institute of Aeronautics and Astronautics, second edition, 2004. [2] Oliver J. Woodman, “An introduction to inertial navigation.”, in Tech. Report UCAM-CL-TR-696, University of Cambridge, Computer Laboratory, 2007. [3] V. Kubelka and M. Reinstein, “Complementary filtering approach to orientation estimation using inertial sensors only.” in Proc. of. IEEE International Conference on Robotics and Automation (ICRA), 2012, pp. 599-605. [4] T. Hamel and R. E. Mahony, “Attitude estimation on so[3] based on direct inertial measurements.” in Proc. of. IEEE International Conference on Robotics and Automation (ICRA), 2006, pp. 2170-2175. [5] K. Tsotsos, A. Pretto, and S. Soatto, “Visual-inertial ego-motion estimation for humanoid platforms,” in Proc. of: IEEE-RAS International Conference on Humanoid Robots, 2012, pp. 704-711. [6] M. Li, B. Kim, and A. I. Mourikis, “Real-time motion estimation on a cellphone using inertial sensing and a rolling-shutter camera,” in Proceedings of the IEEE International Conference on Robotics and Automation, Karlsruhe, Germany, May 2013, pp. 4697-4704. [7] D. Tedaldi, A. Pretto and E. Menegatti, “A Robust and Easy to Implement Method for IMU Calibration without External Equipments”, In IEEE International Conference on Robotics and Automation (ICRA 2014), May 31 - June 7, 2014 Hong Kong, China [8] J. Lotters, J. Schipper, P. Veltink, W. Olthuis, and P. Bergveld, “Procedure for in-use calibration of triaxial accelerometers in medical applications,” Sensors and Actuators A: Physical, vol. 68, no. 1-3, pp. 221-228, 1998. [9] I. Skog and P. Hndel, “Calibration of a mems inertial measurement unit,” in Proc. of XVII IMEKO WORLD CONGRESS, 2006. [10] W. Fong, S. Ong, and A. Nee, “Methods for in-field user calibration of an inertial measurement unit without external equipment,” Measurement Science and Technology, vol. 19, pp. 1-11, 2008. [11] M. Andrle and J. Crassidis, “Geometric integration of quaternions,” in in Proc. of AIAA/AAS Astrodynamics Specialist Conference, 2012.