私は6自由度の3軸x、y、zと3つの角度のヨー、ピッチ、ロールを持つセンサーを持っています。3 軸距離は距離式を使用すると簡単ですが、3 角距離を計算するにはどうすればよいですか? ここで誰か助けてくれませんか???
1 に答える
ヨー、ピッチ、およびロールは、ある座標系XYZから別の座標系X'Y'Z'への回転を指定するオイラー角のセットを表します。この変換は、任意の軸を中心とした単一の回転として表すこともできます。私があなたの質問を正しく理解しているなら、あなたはこの単一の回転角が何であるかを知りたいです。
オイラー角のセットを、クォータニオンと呼ばれる4要素構造に変換することができます。
q4 = cos(yaw / 2)cos(pitch / 2)cos(roll / 2)+ sin(yaw / 2)sin(pitch / 2)sin(roll / 2)
q1 = cos(yaw / 2)cos(pitch / 2)sin(roll / 2)-sin(yaw / 2)sin(pitch / 2)cos(roll / 2)
q2 = cos(yaw / 2)sin(pitch / 2)cos(roll / 2)+ sin(yaw / 2)cos(pitch / 2)sin(roll / 2)
q3 = sin(yaw / 2)cos(pitch / 2)cos(roll / 2)-cos(yaw / 2)sin(pitch / 2)sin(roll / 2)
(出典: http: //www.resonancepub.com/quaterni.htm)
クォータニオンを取得すると、回転軸と回転角はクォータニオンコンポーネントから簡単に計算されます。上記の作者の表記法を使用して、
q = [q4 q1 q2 q2]
q4 = cos(theta / 2)
q1 = sin(theta / 2)A
q2 = sin(theta / 2)B
q3 = sin(theta / 2)C
ここで、[ABC]は回転軸を指定するXYZシステムのベクトルであり、シータは探している回転角です。
したがって、シータ= 2 * acos(q4)