我通过openFrameworks和ofxKinect以c ++访问Kinect Accelerometer,并且在某些角度遇到了一些问题。如果我将kinect向下倾斜90度,我会得到nan
个值。我查看了getAccelPitch()方法,这种方法很有意义,因为asin
将返回0,当值大于9.80665除以10.1 / 9.80665时。
主要的问题是在我将设备倾斜90度后,滚动似乎不可靠(似乎没有太大变化)。在我的设置中,我需要让设备倾斜90度,但也知道它是新卷。
有关我如何做到这一点的任何提示,提示?有没有一种简单的方法可以让数据用3行(轴)绘制kinect的方向。
我正试图检测这样的方向:
答案 0 :(得分:3)
问题是您使用的是欧拉角(滚动,俯仰和偏航)。
欧拉角是邪恶的,它们搞砸了你应用的稳定性,例如参见
他们也是not useful for interpolation。
解决方法是使用旋转矩阵。
中提供了关于旋转矩阵的教程。Direction Cosine Matrix IMU: Theory
手稿。