4

openFrameworksofxKinectを介して C++ で Kinect 加速度計にアクセスしていますが、特定の角度で問題が発生しています。kinect を下に 90 度傾けると、nan値が得られます。getAccelPitch()メソッドを見てみましたがasin、9.80665 を 10.1/9.80665 で割った値よりも大きい値が存在する場合に 0 が返されるため、この種の方法は理にかなっています。

ただし、主な問題は、デバイスを 90 度傾けた後、ロールが信頼できないように見える (あまり変化しないように見える) ことです。私のセットアップでは、デバイスを 90 度傾ける必要がありますが、それが新しいロールであることも知っています。

私がそれを行う方法に関するヒント、ヒントはありますか?kinect の向きを 3 本の線 (軸) で描画するためのデータを取得する簡単な方法はありますか?

次のような向きを検出しようとしています。 k1

k2

k3

k4

4

1 に答える 1

3

問題は、オイラー角(ロール、ピッチ、ヨー) を使用していることです。

オイラー角は悪であり、アプリの安定性を台無しにします。例を参照してください

それらは補間にも役立ちません

解決策は、代わりに回転行列を使用することです。回転行列に関するチュートリアルは、

方向余弦行列 IMU: 理論

原稿。

于 2012-08-20T14:05:02.350 に答える