ロボット用語まとめブログ | 初心者でもわかる

初心者でもわかるように、できるだけ数式は使わずにロボット用語をまとめています。

おすすめ
カテゴリ別ロボット用語
ロボティクスの辞書
smabo

クォータニオン(quaternion)【ロボットの姿勢を表現する方法】

関連用語:オイラー角

クォータニオン(quaternion)

クォータニオンとは、3次元空間における剛体の姿勢を表現する方法の一つあり、「方向ベクトル$(\lambda_x, \lambda_y, \lambda_z)$」方向に「角度$\theta$」だけ回転させたものです。

クォータニオンは、「$q_x, q_y, q_z, q_w$」の4つの変数で表現されます。
$$ \begin{align} q &= (\lambda_x \sin⁡{\frac{\theta}{2}}, \lambda_y \sin⁡{\frac{\theta}{2}}, \lambda_z \sin⁡{\frac{\theta}{2}}, \cos{\frac{\theta}{2}}) \\ &= (q_x, q_y, q_z, q_w) \end{align} $$


クォータニオン
クォータニオン

ロボットへの応用

ロボットの姿勢を表現する際にクォータニオンを使用することがあります。

クォータニオンのメリット/デメリット

クォータニオンのメリット/デメリットには以下のようなものがあります。

メリット

  • ジンバルロック(Gimal Lock)と呼ばれる自由度が1つなくなる現象が起こらないため、全方位における回転を問題なく表現できる
    • 例えばオイラー角の場合、ピッチ角度が±90度の時に、ロール・ピッチのどちらの値を変更しても、Y軸周りに回転してしまう(自由度が3→2に減少している)

デメリット

  • クォータニオンを表す4つの変数を見ただけでは、どのような姿勢を示すのかが直感的にわかりにくい


このように、クォータニオンは計算上の利便性があるため、ROSなどでは一般にクォータニオンが採用されています。


なお、オイラー角とクォータニオンは相互に変換が可能なため、

といった使い分けがされる事も多いです。

参考サイトなど