WiiM+ジャイロを使って回転を計算しています。
ヨー軸、ピッチ軸、ロール軸に沿って回転率を統合し、angleSum というベクトルに格納します。
したがって、各読み取り値について、 angleSum(reading) は初期方向からの y、p、および r 回転を表します。
次に、クォータニオン (まったくなじみがありません) を使用して、次のように表します。
q = Quaternion.createfromyawPitchRoll(angleSum.yaw, angleSum.pitch, angleSum.roll*(-1))
しかし、wiimote をある方向に 90 度回転させて、回転方向の qx、qy、qz を印刷すると、すべての読み取り値が回転の影響を受けます (それらはすべて 90 度回転して戻ってきますが、そのうちの 2 つは大きさが小さくなっています)。
私の質問は非常に基本的なものです。この四元数構造を使用して向きを正確に表すにはどうすればよいですか? ヨー、ピッチ、ロールに関して、絶対的な (または少なくとも相対的な) 向きが必要です。
ありがとう!