f2ae98b5666b917e0ca9dc4199345ba7.png

这个专栏主要讨论如何利用 IMU(Inertial Measurement Unit,惯性测量单元)估计刚体的三维姿态。我会用一系列的文章向大家介绍陀螺仪角速度的积分,及 IMU 的数据融合滤波两方面的底层算法。如果你从事使用 IMU 进行 slam 方向的研究,飞控算法方面的编程及研究,或者利用 IMU 做动作捕捉及人体的运动学测量,这个专栏会带你深入了解最底层的IMU 算法知识。

首先需要明确的一点是 IMU 姿态估计算法是惯性导航算法中重要的一部分,但在大多数介绍惯性导航的教科书中并不会提到具体的 IMU 姿态估计算法。其次,在国内论坛讨论 IMU姿态估计的大量文章中,算法集中在对卡尔曼滤波器的直接应用,及Robert Mahony等人提出的互补滤波器。然而目前在导航领域最通用的算法并不是这两种,而是1982年提出的一种名为“Multiplicative Extended Kalman Filter”,直译是“乘法扩展卡尔曼滤波器”的方法。这种算法相比于论坛中流行的两种算法有着明显的理论优势,而且被广泛地应用在卫星的姿态估计中,经历了大量的实践检验。因此我认为将这个算法介绍给大家,使其为更多从事IMU 算法的人所熟知非常有价值。最后,结合我自己和朋友的经历,如果从卡尔曼滤波器直接入手进行 IMU 数据融合和姿态估计,会遇到许多理论上的问题,而且这些问题很难在现有的资料中找到合适的解决方法,这对初学者十分不友好。因此,我也希望能通过这个专栏解决一些会对初学者造成疑惑的问题。

这个专栏会通过以下几篇文章介绍 IMU 姿态估计的算法(可能会随实际进展有所改动):

  1. 姿态的表示方法(包括旋转矩阵,欧拉角,四元数,旋转矢量等);
  2. 角速度的积分;
  3. 互补滤波器;
  4. IMU误差模型;
  5. 基于欧拉角的卡尔曼滤波器;
  6. 乘法扩展卡尔曼滤波器(MEKF);
  7. 从矢量观测到姿态观测;
  8. IMU姿态估计的新方法。

最后,因为 IMU 姿态估计实在涉及到太多领域的知识,而我的个人能力有限,在讨论的过程中难免有错误,还请同学老师们指正。讨论是激发灵感的源泉,我也希望能通过这个专栏与更多兴趣相投的朋友们进行深入的探讨,从而让自己对这一话题有更深入的理解。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐