我正在使用 MPU9250 来控制 3D 位置。我有一个可以在 3 轴(滚动、俯仰和偏航)上旋转的物体,但我发现了一些问题。最初我试图从四元数计算欧拉角,但我发现欧拉角在 +/- 90 度内有 2 个不连续性,因此如果我将 MPU 旋转 365 度,它会给我错误的值,就像它在旋转时移动一样。我读到有可能将四元数转换为 DCM(方向余弦矩阵),但我发现这个算法填充了太多的 Arduino 处理器进行计算。
我想到的最后一种可能性是直接用四元数控制位置,所以当 MPU 给我相同的四元数时,我必须“预测”到达的四元数以停止旋转。
如果有人知道如何实现此功能或任何其他方式,请告诉我您的建议。
非常感谢,卢卡