如何从加速度计数据中获取线性加速度

3
我正在使用一个IMU(三轴加速度计、三轴陀螺仪和三轴磁力计),我想从加速度计数据中获取线性加速度。我知道传感器融合技术并能够使用陀螺仪数据(获取方向)来获取重力向量,从而消除相应轴上的影响。
我是否在正确的道路上,如果可以的话,您能帮我吗?
之后我将对加速度进行两次积分以获取位置,如下所示。
        CurrentAcceleration[0] = e.Accelerometer[0];
        CurrentAcceleration[1] = e.Accelerometer[1];
        CurrentAcceleration[2] = e.Accelerometer[2];

        //we need to get the linear acceleration instead of the read data !!

        CurrentVelocity[0] += (CurrentAcceleration[0] + PreviousAcceleration[0]) / 2;
        CurrentVelocity[1] += (CurrentAcceleration[1] + PreviousAcceleration[1]) / 2;
        CurrentVelocity[2] += (CurrentAcceleration[2] + PreviousAcceleration[2]) / 2;

        Position[0] += (CurrentVelocity[0] + PreviousVelocity[0]) / 2 ;
        Position[1] += (CurrentVelocity[1] + PreviousVelocity[1]) / 2 ;
        Position[2] += (CurrentVelocity[2] + PreviousVelocity[2]) / 2 ;

        PreviousAcceleration[0] = CurrentAcceleration[0];
        PreviousAcceleration[1] = CurrentAcceleration[1];
        PreviousAcceleration[2] = CurrentAcceleration[2];

        PreviousVelocity[0] = CurrentVelocity[0];
        PreviousVelocity[1] = CurrentVelocity[1];
        PreviousVelocity[2] = CurrentVelocity[2];

代码有几个错误。即使你修复了它,它也不会工作。 - Ali
我阅读了一些研究论文,发现你是正确的,我们需要另一个设备来帮助(类似GPS来纠正误差),但理论是正确的。无论如何感谢您的帮助,对于评估答案迟到表示抱歉。接受答案。 - Mokhtar Ashour
1个回答

2

无法工作。

您无法获得准确的位置甚至速度。在上面的链接中,您可以找到实际可以执行的替代方法。

顺便说一句,这个问题经常出现 令人惊讶地频繁


谢谢帮助,我会查看链接并尝试找到解决方法。 - Mokhtar Ashour

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接