Skip to content

踩坑Robotics Stack Exchange2015-12-18

MPU9150 双重积分位移漂移且速度不归零 ​

本文由 AI 根据公开内容整理,可能有误,请以原文为准:calculating position based on accelerometer data(Robotics Stack Exchange #8680)

状态:已解决

问题 ​

MPU 9150 静止时加速度接近零,但移动再放回后积分得到的速度不回到零,位置尤其 Z 方向持续缓慢变化,多次移动后 vx、vy、vz 漂移增大。

环境 ​

Linux / ROS 机器人软件与控制通用开发环境

解决办法 ​

  1. 数值积分应使用公式 integrated value += derivative * elapsed time,把代码中的 speed 改为真实经过时间 elapsed time/dT。
  2. 建议把积分放在定时中断中,用中断周期作为 dT,保证积分时间一致。
  3. 不要像加速度或速度那样直接对四元数做普通数值积分;应由陀螺仪角速度和当前四元数计算 qdot,再用 q_k = q_{k-1} + qdot_k * dT 更新。

原问题作者:maximus;采纳答案作者:Chuck。原内容依 CC BY-SA 4.0 授权,本页摘要同样依 CC BY-SA 4.0 授权。

来源

本页事实对应的公开页面,以原文为准。

  1. Robotics Stack Exchange #8680:calculating position based on accelerometer data访问 2026-10-22