4

我正在通过openFrameworksofxKinect访问 c++ 中的 Kinect 加速度计,并且在某些角度存在一些问题。如果我将 kinect 向下倾斜 90 度,我会得到nan值。我查看了getAccelPitch()方法,这种方法很有意义,因为asin当值大于 9.80665 除以 10.1/9.80665 时将返回 0。

主要问题是在我将设备倾斜 90 度后,滚动似乎并不可靠(似乎变化不大)。在我的设置中,我需要将设备倾斜 90 度,但也要知道它是新滚动的。

任何提示,关于我如何做到这一点的提示?有没有一种简单的方法来获取数据以用 3 条线(轴)绘制 kinect 的方向。

我正在尝试检测这样的方向: k1

k2

k3

k4

4

1 回答 1

3

问题是您使用的是欧拉角(滚动、俯仰和偏航)。

欧拉角是邪恶的,它们会破坏应用程序的稳定性,例如

它们也不适用于插值

一种解决方案是改用旋转矩阵。旋转矩阵的教程在

方向余弦矩阵 IMU:理论

手稿。

于 2012-08-20T14:05:02.350 回答