首页 文章

利用9轴IMU实现加速到位的双重集成

提问于
浏览
2

在这个论坛上的第一篇文章,希望我做得对 . 我知道过去有两个关于加速度双重积分的线程,我知道加速度计不是200k军用级传感器所固有的错误 . 幸运的是我的目的我只需要大约正确(/ - 3英寸)不超过十秒 .

我以50hz(每20ms)的速率采样 . 每次我采样时,我都会使用基本trapezoidal integration从acc移动到速度和速度到位置 . 我有"discrimination window"抛出静止错误,并且"movement end detect"代码在给定数量的计数加速度为0之后将速度设置回0 .

它是在时尚之后工作的,我只是需要它才能更好地工作 . 我看到一些非常奇怪的回扣,我移动加速度计,位置移动得非常正确,直到我停止,然后位置“踢回”几英寸 - 有时几乎回到我开始的地方 . 带给我的朋友比我聪明得多,他建议我使用4或5个数据点而不是我在梯形积分中使用的最后两个数据点更智能地集成 .

So my question: How can I use the last four or five data points to integrate more precisely than basic trapezoidal integration? 我试过调查Euler和RK4,但它已经完成了更高级别的数学运算,而且我没有通过matlab运行数据 .

PS . 我还建议使用高通滤波器,但同样,当我尝试开始读取数字高通滤波器时,我无法理解它 . 我以为我会从更智能的集成开始,看看它做了什么 .

1 回答

  • 0

    虽然OP在发布后的两年内无疑已经解决了这个问题,但我正在回应,因为我遇到了同样的问题并在阅读完这个问题后发现了解决方案 .

    对于OP的目的,梯形积分甚至中点积分估计都可以正常工作 . 对于表示这种简单运动的曲线,不需要更复杂或更精确的积分,并且对这个特定问题没有帮助 .

    The problem described is that the position is tracked properly for a period of time, but the position jumps backwards when the device stops moving. This behavior occurs because of improper use of velocity damping.

    当设备移动然后停止时,存在瞬时加速度,然后是一段恒定速度运动(零加速度),然后是一段减速(降低速度)直到设备再次静止 .

    OP报告使用

    “运动结束检测”代码,用于在给定数量的计数加速度为0之后将速度设置回0 .

    OPs问题非常可能是在恒定速度运动期间,加速度为零,因此在这种降噪(衰减)算法的尝试中人为地将速度重置为零 . 随后的减速然后在一段时间内产生负速度,将计算的位置几乎一直返回到起始点 .

    如果跟踪小的离散运动,这个特定问题的一个解决方案是检测和跟踪加速循环 - >惯性运动 - >减速并且仅在循环的减速部分完成后应用阻尼算法 .

相关问题