mpu9250姿态融合算法_0. IMU姿态估计简介
这个专栏主要讨论如何利用 IMU(Inertial Measurement Unit,惯性测量单元)估计刚体的三维姿态。我会用一系列的文章向大家介绍陀螺仪角速度的积分,及 IMU 的数据融合滤波两方面的底层算法。如果你从事使用 IMU 进行 slam 方向的研究,飞控算法方面的编程及研究,或者利用 IMU 做动作捕捉及人体的运动学测量,这个专栏会带你深入了解最底层的IMU 算法知识...
这个专栏主要讨论如何利用 IMU(Inertial Measurement Unit,惯性测量单元)估计刚体的三维姿态。我会用一系列的文章向大家介绍陀螺仪角速度的积分,及 IMU 的数据融合滤波两方面的底层算法。如果你从事使用 IMU 进行 slam 方向的研究,飞控算法方面的编程及研究,或者利用 IMU 做动作捕捉及人体的运动学测量,这个专栏会带你深入了解最底层的IMU 算法知识。
首先需要明确的一点是 IMU 姿态估计算法是惯性导航算法中重要的一部分,但在大多数介绍惯性导航的教科书中并不会提到具体的 IMU 姿态估计算法。其次,在国内论坛讨论 IMU姿态估计的大量文章中,算法集中在对卡尔曼滤波器的直接应用,及Robert Mahony等人提出的互补滤波器。然而目前在导航领域最通用的算法并不是这两种,而是1982年提出的一种名为“Multiplicative Extended Kalman Filter”,直译是“乘法扩展卡尔曼滤波器”的方法。这种算法相比于论坛中流行的两种算法有着明显的理论优势,而且被广泛地应用在卫星的姿态估计中,经历了大量的实践检验。因此我认为将这个算法介绍给大家,使其为更多从事IMU 算法的人所熟知非常有价值。最后,结合我自己和朋友的经历,如果从卡尔曼滤波器直接入手进行 IMU 数据融合和姿态估计,会遇到许多理论上的问题,而且这些问题很难在现有的资料中找到合适的解决方法,这对初学者十分不友好。因此,我也希望能通过这个专栏解决一些会对初学者造成疑惑的问题。
这个专栏会通过以下几篇文章介绍 IMU 姿态估计的算法(可能会随实际进展有所改动):
- 姿态的表示方法(包括旋转矩阵,欧拉角,四元数,旋转矢量等);
- 角速度的积分;
- 互补滤波器;
- IMU误差模型;
- 基于欧拉角的卡尔曼滤波器;
- 乘法扩展卡尔曼滤波器(MEKF);
- 从矢量观测到姿态观测;
- IMU姿态估计的新方法。
最后,因为 IMU 姿态估计实在涉及到太多领域的知识,而我的个人能力有限,在讨论的过程中难免有错误,还请同学老师们指正。讨论是激发灵感的源泉,我也希望能通过这个专栏与更多兴趣相投的朋友们进行深入的探讨,从而让自己对这一话题有更深入的理解。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)