IMU陀螺仪更新姿态的两种表示方式

目录

0. 前言

1. 用角速度更新旋转矩阵

2. 用角速度更新四元数

3. 总结:


0. 前言

在使用IMU的场景中,陀螺仪测量的是t+1时刻body坐标系相较于t时刻body坐标系的旋转速度,则

姿态增量计算为:delta_t * w^T = delta_t * [w_x, w_y, w_z]^T .则已知t时刻body坐标系在全局坐标系(有可能就是开机第一帧IMU坐标系)下的旋转姿态的情况下,我们可以计算t+1时刻的body坐标系在全局坐标系下的旋转姿态。这里根据姿态采样旋转矩阵表示还是采用四元数表示有所不同。

1. 用角速度更新旋转矩阵

获取姿态增量的反对称矩阵:

W = hat(delta_t * w^T) = (delta_t * w^T) ^  

计算t+1时刻的body坐标系在全局坐标系下的旋转姿态:

R_(t+1) = R_(t) * Exp(W),

其中Exp(W)计算的是由李代数转换为李群的过程,其计算公式如下:

因此在Forst的预积分原文中,关于IMU旋转的离散积分过程如下所示:

2. 用角速度更新四元数

其中:

3. 总结:

实际上使用旋转矩阵的精度更高。


版权声明:本文为u011906844原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。