首页 文章

使用带传感器融合的9DOF IMU在C中加倍积分加速度

提问于
浏览
2

我花了几个小时研究数值积分和速度/位置估计,但我无法找到一个可以被大脑理解或适合我的情况的答案 .

我有一个IMU(惯性测量单元),它有一个陀螺仪,一个加速度计和一个磁力计 . 所有这些传感器都处于融合状态,这意味着例如使用陀螺仪我能够补偿加速度计读数中的重力,磁力计可以补偿漂移 . 换句话说,我可以使用这样的设置获得纯加速度读数 .

现在,我正在尝试根据加速度准确估计位置,正如您所知,需要进行双重积分,并且有各种方法可以做到这一点 . 但我不知道哪个最合适 . 有人可以分享一些有关此事的信息吗?另外,如果您能在不使用任何复杂的数学公式/符号的情况下向我解释,我会很感激,我不是数学家,这是我在寻找信息时遇到的问题之一 .

谢谢

1 回答

  • 4

    您可以通过简单地将加速度矢量乘以时间步长(IMU的周期)求和以获得速度来对加速度进行积分,然后将速度乘以时间步长来获得位置 . 您可以使用各种方法传播(不整合)方向,具体取决于您选择的方向表示(欧拉角,四元数,姿态矩阵(DCM),轴角等) .

    但是你有一个更大的问题 .

    长话短说:除非你拥有海军级的IMU(200,000美元),否则你不能简单地整合加速度和角速率来获得准确的姿势(位置和方向)估计 .

    我假设您使用的是低成本(低于1,000美元)的IMU - 您的加速度计和陀螺仪都会受到噪音和偏差的影响 . 这些将使得通过简单集成无法获得准确的姿势 .

    在实践中,要做你想要的事情,需要融合“校正”位置测量值和可选的方向 . IMU'预测'位置/方向,而另一个传感器模型(摄像机功能,gps,高度计,范围/方位测量)采用预测位置并“正确”它 . 存在各种融合该数据的方法,其中最多产的是扩展卡尔曼滤波器或误差状态(间接)卡尔曼滤波器 .

    回到你原来的问题;我将方向表示为四元数,并且您可以使用错误quaternion derivative和陀螺仪的角速率来传播四元数方向 .

    编辑:

    使用高通滤波器可以部分解决噪声问题,但您究竟在谈论什么样的偏见?

    您应该阅读sources of error in MEMS accelerometers:恒定对齐偏差,随机行走偏差,白噪声和温度偏差 . 如你所说,你可以通过高通滤波器来减少噪音的影响 - 但这并不完美,因此存在明显的残留噪音 . 残余噪声的双重积分产生了二次增加的位置误差 . 即使在由于重力移除加速度之后,由于这些误差源将测量显着的加速度,这将使得位置估计在小于1秒的积分内不准确 .

相关问题