1 线速度与角速度
如上图所示:假设一个粒子在坐标中的
z
=
h
z=h
z=h平面做圆周运动,坐标为:
r
.
=
(
a
c
o
s
θ
,
a
s
i
n
θ
,
h
)
T
\overset{.}{r}=(acos\theta,asin\theta,h)^T
r.=(acosθ,asinθ,h)T,对坐标求导得:
r
.
=
(
−
a
θ
.
s
i
n
θ
,
a
θ
.
c
o
s
θ
,
0
)
T
\overset{.}{r}=(-a\overset{.}{\theta}sin\theta,a\overset{.}{\theta}cos\theta,0)^T
r.=(−aθ.sinθ,aθ.cosθ,0)T
=
[
0
−
θ
.
0
θ
.
0
0
0
0
0
]
[
a
c
o
s
θ
a
s
i
n
θ
h
]
=\left[ \begin{matrix} 0 & -\overset{.}{\theta} & 0 \\ \overset{.}{\theta} & 0 &0 \\ 0 &0 & 0 \\ \end{matrix} \right]\left[ \begin{matrix} acos\theta \\ asin\theta \\ h \\ \end{matrix} \right]
=⎣⎢⎡0θ.0−θ.00000⎦⎥⎤⎣⎡acosθasinθh⎦⎤
=
w
^
r
=\hat{w}r
=w^r
可以看出左边矩阵为反对称矩阵,这样其实就是
w
=
[
0
0
θ
.
]
w=\left[ \begin{matrix} 0 \\ 0 \\ \overset{.}{\theta} \\ \end{matrix} \right]
w=⎣⎡00θ.⎦⎤。
∣
θ
.
∣
|\overset{.}{\theta}|
∣θ.∣就是角速度的大小。
我们知道,线速度大小等于角速度乘以圆的半径。即,
∣
r
.
∣
=
a
∣
θ
.
∣
|\overset{.}{r}|=a|\overset{.}{\theta}|
∣r.∣=a∣θ.∣.
2 旋转坐标系下的运动学
上述简单例子是在静止坐标系下的,粒子的所有运动分析都是符合简单的牛顿定律的,那么在旋转坐标系下该怎么分析呢?如下图。
假设一个质量快在
b
o
d
y
body
body坐标系(其实就是
i
m
u
imu
imu坐标系)下的坐标为:
r
B
=
(
x
1
,
x
2
,
x
3
)
T
r_B=(x_1,x_2,x_3)^T
rB=(x1,x2,x3)T
旋转到惯性系下有:
r
I
(
t
)
=
x
1
(
t
)
i
+
x
2
(
t
)
j
+
x
3
(
t
)
k
=
R
I
B
r
B
r_I(t)=x_1(t)i+x_2(t)j+x_3(t)k=R_{IB}r_B
rI(t)=x1(t)i+x2(t)j+x3(t)k=RIBrB
解决旋转坐标系下这个问题
r
I
(
t
)
=
R
I
B
r
B
r_I(t)=R_{IB}r_B
rI(t)=RIBrB对时间求导为:
r
.
I
=
R
I
B
r
.
B
+
R
I
B
.
r
B
\overset{.}{r}_I=R_{IB}\overset{.}{r}_B+\overset{.}{R_{IB}}r_B
r.I=RIBr.B+RIB.rB
这里用到了旋转矩阵的求导:(采用右扰动模型)
R
I
B
.
=
lim
Δ
t
→
0
R
I
B
e
x
p
(
w
b
^
Δ
t
)
−
R
I
B
Δ
t
\overset{.}{R_{IB}}=\lim_{\Delta t \to 0} \frac{R_{IB}exp(\hat{w_b}\Delta t)-R_{IB}}{\Delta t}
RIB.=limΔt→0ΔtRIBexp(wb^Δt)−RIB
≈
lim
Δ
t
→
0
R
I
B
(
I
+
w
b
^
Δ
t
)
−
R
I
B
Δ
t
\approx\lim_{\Delta t \to 0} \frac{R_{IB}(I+\hat{w_b}\Delta t)-R_{IB}}{\Delta t}
≈limΔt→0ΔtRIB(I+wb^Δt)−RIB
=
lim
Δ
t
→
0
R
I
B
[
w
b
^
]
Δ
t
Δ
t
=\lim_{\Delta t \to 0} \frac{R_{IB}[\hat{w_b}]\Delta t}{\Delta t}
=limΔt→0ΔtRIB[wb^]Δt
=
lim
Δ
t
→
0
[
R
I
B
w
b
]
^
R
I
B
Δ
t
Δ
t
=\lim_{\Delta t \to 0} \frac{\hat{[R_{IB}{w_b}]}R_{IB}\Delta t}{\Delta t}
=limΔt→0Δt[RIBwb]^RIBΔt
=
w
I
^
R
I
B
={\hat{w_I}R_{IB}}
=wI^RIB
注意:上面第二、三步用到了一个性质: R I B [ w b ^ ] = [ R I B w b ] ^ R I B R_{IB}[\hat{w_b}]=\hat{[R_{IB}{w_b}]}R_{IB} RIB[wb^]=[RIBwb]^RIB
完成上述推导,我们再来看看求导问题:
r
.
I
=
R
I
B
r
.
B
+
R
I
B
.
r
B
\overset{.}{r}_I=R_{IB}\overset{.}{r}_B+\overset{.}{R_{IB}}r_B
r.I=RIBr.B+RIB.rB
=
R
I
B
v
B
+
w
b
^
R
I
B
r
B
=R_{IB}v_B+{\hat{w_b}R_{IB}}r_B
=RIBvB+wb^RIBrB
=
v
I
+
w
b
^
r
I
=v_I+{\hat{w_b}}r_I
=vI+wb^rI
推导到这里,我们会发现:在旋转坐标系下对 r r r求导不只是会得到一个 v I v_I vI,而是还多了一项 w b ^ r I {\hat{w_b}}r_I wb^rI。
接下来对速度继续求导。
我关于红框内的疑惑,是忘记了
ω
I
=
R
I
B
ω
b
ω_I = R_{IB}ω_b
ωI=RIBωb。
至此,旋转坐标系的运动学问题推导完毕,
结论:在旋转坐标系下运动的物体(运动方向和旋转轴不为同一个轴时)会受到科氏力的作用。利用这个性质就可以测量旋转坐标系的旋转角速度
3 目的
很多同学肯定疑惑,推导这个旋转坐标系下的运动模型有啥用?
其实,从上面的结论来看,在旋转坐标系下运动的物体(运动方向和旋转轴不为同一个轴时)会受到科氏力的作用。利用科氏力这个性质就可以测量旋转坐标系的旋转角速度,在后面的陀螺仪测量原理中可以看出这一点。科氏力=2
w
v
wv
wv,只要计算得到运动物体所受的科氏力以及运动物体速度,就可以得出角速度。
4 六轴imu的yaw角不可观
陀螺仪的构成如下图所示:
从3中我们知道:在旋转坐标系中,运动的物体受到科氏力作用。这里的旋转坐标系就是陀螺仪的坐标系,而运动的物体就是指陀螺主轴!
就是说,陀螺主轴在
x
x
x方向上做高速往复运动。当陀螺仪在非主轴方向上发生旋转时,陀螺主轴会受到科氏力的作用,可以通过公式得到角速度;而在主轴方向上发生旋转,陀螺主轴不会受到科氏力影响,也就是说在俯仰角(Pitch)和翻滚角(Roll)不变的情况下,无论偏航角是多少,加速度计测出来的值是一样的。