最近大学火星车(其实是地球车)社团要我做一个定位模块,这个模块需要把三轴加速度,角速度,磁场以及气压得来的高度,GPS位置这13个数据融合在一起来获取位姿(位置+姿态)。
小葡萄:IMU & GPS定位 Quaternion kinematics for ESKF[part 3]zhuanlan.zhihu.com我通过这篇文章了解到ESKF (Error State Kalman Filter) 算法能解决这个融合问题。我也开始阅读该文中引用的 Joan Sol`a 大神的 Quaternion kinematics for the error-state Kalman filter。文献可通过这个连接获取。
这篇文章基本是抄书+个人的一些见解,希望能对读者有所帮助吧。
四元数的定义
其中
为不同的虚数单位并且满足以下的性质:
文中的定义方法比较新颖:我们常见的复数形式是
,其中
为实数。四元数可以被定义为当
为虚数的情况,即
并且定义
,即可得到一样的表达式。
需要注意的是
之间的相乘不满足交换律。由
可以推出
四元数的运算
为了能用矩阵来表示四元数的运算,定义四元数
的向量形式