使用kinect(libfreenect)加速度计数据

时间:2012-08-20 14:00:10

标签: c++ accelerometer kinect openframeworks ofxkinect

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

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

有关我如何做到这一点的任何提示,提示?有没有一种简单的方法可以让数据用3行(轴)绘制kinect的方向。

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

k2

k3

k4

1 个答案:

答案 0 :(得分:3)

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

欧拉角是邪恶的,它们搞砸了你应用的稳定性,例如参见

他们也是not useful for interpolation

解决方法是使用旋转矩阵。

中提供了关于旋转矩阵的教程。

Direction Cosine Matrix IMU: Theory

手稿。