2016-02-09 321 views
1

我一直在使用6dof LSM6DS0 IMU单元(带加速计和陀螺仪)。我试图计算围绕所有三个轴的旋转角度。我尝试了可能的方法,但没有按预期得到结果。四元数 - 使用加速计和陀螺仪进行角度计算

方法尝试:

(I)Complementatry过滤器的方法 - 我能够得到使用链接Angle comutation method提供的公式的角度。

但问题是角度并不一致,并且漂移很大。此外,当IMU围绕一个轴旋转时,在其他轴上计算的角度摆动太多。 (ii)基于四元数的角度计算:有大量资源声称使用四元数方法很好地计算了角度,但没有一个有明确的解释。我已经使用了this method以更新从IMU单元获取的每个值的四元数。但链接dint解释了如何从四元数计算角度。

我已经使用GLM数学库序到四元数到欧拉角转换,并且还试图在wiki link指定的式。使用这种方法,因为在沥青计算asin只返回-90到+90度,我不能够旋转3D中的对象作为他们在上述链接中做的一个。

有没有人尝试过四元数角度转换?我需要计算围绕所有三个轴的角度,范围为0到360度或-180到+180度。

任何帮助可以真正赞赏。提前致谢。

+0

猜测用于传感器融合现有的解决方案。像http://www.x-io.co.uk/open-source-imu-and-ahrs-algorithms/ – minorlogic

+0

是的,这是我发布在四元数角度计算中的同样的链接。事情是他们力图揭露他们如何计算四元数的角度。 – Karthik

+0

如果你需要转换的四元数欧拉天使,不是使用这个库 https://en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles 和代码的文章“欧拉角转换”由Ken Shoemake在“图形宝石4” http://www.realtimerendering.com/resources/GraphicsGems/ – minorlogic

回答