深蓝学院从零开始手写VIO(一)——IMU模型
- 旋转运动学
-
- 速度合成公式
- 加速度合成公式
- IMU测量原理
-
- 加速度计
- 陀螺仪
- IMU误差模型
-
- 确定性误差
- 随机误差
- 误差模型在离散量测量下
-
- 高斯白噪声的离散积分
- 零偏离散积分
- Allan方差标定
- IMU数学模型的误差
旋转运动学
速度合成公式
假设有两个坐标系,如上图所示。根据习惯,我们将坐标系记为系统 b \bm{b} b,静坐标系是惯性系 i \bm{i} i。此时,有一个物体在空间中移动,记住两个坐标系下的坐标是 r i \bm{r}^i ri和 r b \bm{r}^b rb,两者之间的关系如下: r i = r i b i R i b r b \bm{r}^i=\bm{r}_{ib}^i \bm{R}_{ib}\bm{r}^b ri=ribi+Ribrb 式中上标表示矢量所在的坐标系, r i b i \bm{r}_{ib}^i ribi表示 b \bm{b} b系到 i \bm{i} i系的平移变换矢量, R i b \bm{R}_{ib} Rib表示 b \bm{b} b系到 i \bm{i} i系的旋转变换矩阵。对上式求解时间导数有: d r i d t = d ( r i b i + R i b r b ) d t = d r i b d t + d R i b d t r b + R i b d r b d t = v i b i + R i b [ ω i b b ] × r b + R i b v b \begin{aligned} \frac{d\bm{r}^i}{dt}&=\frac{d(\bm{r}_{ib}^i+\bm{R}_{ib}\bm{r}^b)}{dt}\\ &=\frac{d\bm{r}_{ib}}{dt}+\frac{d\bm{R}_{ib}}{dt}\bm{r}^b+\bm{R}_{ib}\frac{d\bm{r}^b}{dt}\\ &=\bm{v}_{ib}^i+\bm{R}_{ib}[\bm{\omega}_{ib}^b]_\times\bm{r}^b+\bm{R}_{ib}\bm{v}^b\end{aligned} dtdri=dtd(ribi+Ribrb)=dtdrib+dtdRibrb+Ribdtdrb=vibi+Rib[ωibb]×rb+Ribvb
这里我们引入矢量叉积的一个重要几何性质: :矢量叉积的旋转不变性。若矩阵 R \bm{R} R为旋转矩阵,则对于矢量叉积 a × b \bm{a}\times\bm{b} a×b有 ( R a ) × ( R b ) = R ( a × b ) (\bm{Ra})\times(\bm{Rb})=\bm{R}(\bm{a}\times\bm{b}) (Ra)×(Rb)=R(a×b)。 利用这一性质,上式可以重写为: d r i d t = v i b i + R i b [ ω i b b ] × r b + R i b v b = v i b i + [ R i b ω i b b ] × [ R i b r b ] + R i b v b v i = v i b i + ω i b i × r i + R i b v b (1) \begin{aligned} \frac{d\bm{r}^i}{dt}&=\bm{v}_{ib}^i+\bm{R}_{ib}[\bm{\omega}_{ib}^b]_\times\bm{r}^b+\bm{R}_{ib}\bm{v}^b\\ &=\bm{v}_{ib}^i+[\bm{R}_{ib}\bm{\omega}_{ib}^b]_\times[\bm{R}_{ib}\bm{r}^b]+\bm{R}_{ib}\bm{v}^b\\ \bm{v}^i&=\bm{v}_{ib}^i+\bm{\omega}_{ib}^i\times\bm{r}^i+\bm{R}_{ib}\bm{v}^b \end{aligned} \tag{1} dtdrivi=vibi+Rib[ωibb]×rb+Ribvb=vibi+[Ribωibb]×[Ribrb]+Ribvb=vibi+ωibi×ri+Ribvb(1)
式(1)描述了物体的速度在动坐标系和静坐标系之间的转换关系,又称为或。由于坐标系原点之间的位移矢量与旋转是相互独立,互不相应的,因此在后续讨论中,我们将省略式(1)中的 v i b i \bm{v}_{ib}^i vibi项,只讨论旋转相关部分。
加速度合成公式
进一步地,我们对式(1)量测继续求时间导数有: d v i d t = d ( ω i b i × r i ) d t + d ( R i b v b ) d t = d ω i b i d t × r i + ω i b i × d r i d t + d R i b d t v b + R i b d v b d t a i = ω ˙ i b i × r i + ω i b i × v i + ω i b i × r i + R i b a b \begin{aligned} \frac{d\bm{v}^i}{dt}&=\frac{d(\bm{\omega}_{ib}^i\times\bm{r}^i)}{dt}+\frac{d(\bm{R}_{ib}\bm{v}^b)}{dt}\\ &=\frac{d\bm{\omega}_{ib}^i}{dt}\times\bm{r}^i+\bm{\omega}_{ib}^i\times\frac{d\bm{r}^i}{dt}+\frac{d\bm{R}_{ib}}{dt}\bm{v}^b+\bm{R}_{ib}\frac{d\bm{v}^b}{dt}\\ \bm{a}^i&=\dot{\bm{\omega}}_{ib}^i\times\bm{r}^i+\bm{\omega}_{ib}^i\times\bm{v}^i+\bm{\omega}_{ib}^i\times\bm{r}^i+\bm{R}_{ib}\bm{a}^b \end{aligned} dtdviai=dtd(ωibi×ri)+dtd(Ribvb)=dtdω 标签: 振动速度传感器yz