2010-12-02 19 views
0

私はWii Motionplusで作業しています.WiimoteLibライブラリを使用して生の値を抽出しました。しかし、私はそれを正規化するとき、私は実際に起こっているものと集計しないランダムな値を取得します。 ;角速度を方位に変換するMotionplus

    1. モーションをキャリブレーション(私はこれを行う時点のため、それは静止保持することにより、すなわちゼロに対応して生の値を検索):

      は、これは私が正常化しています方法です

      後続のすべての生の値を読み取るために、「ゼロ」の値を減算して「相対」生の値を取得します。数値は、測定値を使用して計算される

    2. そして、私は(pitch_fast等、yaw_fastのチェック)http://wiibrew.org/wiki/Wiimote/Extension_Controllersを使用してこの値をスケーリング、(8192の生の値が595度/秒に相当)

    3. Iは時間の経過とともにこれらの値を合計し(離散的積分)、wiimの初期の向きの角度を取得します。

    しかし、これを計算してグラフにプロットすると、軸の1つのステップの変化がグラフに反映されません。私はそれを比較するためにデジタルコンパスを使用しようとしましたが、コンパスが値を正しく反映している間は、wiiの値は完全に異なっています(パターンも同じではありません)。

    誰かが間違っている正規化?

    ありがとうございます!

  • 答えて

    1

    送信される数字は、x軸とz軸の回りの回転です。これをx、y、z座標に関連付けるには、回転行列を使用する必要があります。回転の読み取り値は固定軸ではありませんが、現在の方向に依存しますので、オイラー行列を使用してこれを関連付ける必要があります固定されたx、y、z座標

    つまり、回転速度、ヨーイング速度、ピッチ速度を受け取っています。これをカエルの座標に関連付けるにはオイラー行列を使用する必要があります。最初のロール、ピッチ、ヨーを知ったら、ロール、ピッチ、ヨーの次の読み取り値を、その最初の時間に読み取り値が適用される時間間隔に加えるだけです。

    ロール

    ピッチ

    YAW z軸

    周りの回転であり、x軸周りの回転であり、y軸周りの回転であります
    関連する問題