姿勢角度の算出
(2022.12.15訂正)
モーションセンサのジャイロセンサは角速度(回転の速度)を計測するので,姿勢角度を直接算出できません.また,地磁気センサの情報からは3次元の角度のうち2つの角度しか計算することができません.
そこで,ここではモーションセンサの計測データから姿勢角度を算出する方法についてご説明する前に,まずは3次元の角度について概要を述べます.
3次元で剛体の姿勢角度を表すとき,姿勢角度の自由度は3です.すなわち最低3つの変数(角度)必要となり,その3つの変数で表す代表が,オイラー角です.そこで,オイラー角についてまず説明をします.後述するように,オイラー角には複数の定義の仕方があります.
まず剛体の姿勢は,剛体に固定した直交座標系の各軸の単位ベクトル{ex,ey,ez}を並べたもので表現します.これは一般に記号Rなどで表現した,3×3の行列で,回転後の{ex,ey,ez}を回転前の絶対座標系{O}からみた各単位ベクトルを並べて
R = {ex,ey,ez}
のように書き表します.
次に,典型的なオイラー角の一つである,Z-Y-Xオイラー角について説明してみましょう.
はじめに剛体(センサ)に固定された座標系{S}は,地面に固定された絶対座標系{O}と一致しているとします.そこで,絶対座標系{O}のz軸まわりに角度αだけセンサを回転させます.その次に,その回転後のセンサ座標系{S1}のy'軸まわりに角度βだけセンサを回転します.回転後は座標系は{S2}に移動します.そして,最後にさらに回転後の{S2}のx''軸まわりに角度γだけセンサを回転します.こうして最後にセンサ座標系は{S3}に移ります.
この{S}から{S3}へ回転させた後の姿勢がRです.このようにz軸,y'軸,x''軸の順番に回転させるためZ-Y-Xオイラー角と呼ばれています.このほかの順番のZ-Y-Zオイラー角などもあります.
z,y,x軸まわりに角度θ回転する場合のRは
のようになります.この行列を使って,Z-Y-Xオイラー角は
のように書き表されます(ZYXオイラー角の過去の表記に誤りがあり,訂正いたしました.お詫び申し上げます.2022.12.16).ここで,Cα, Sβはcos α,sin βを示しています.この他,同じZ軸回りの回転を2回行う,ZYZオイラー角も存在し,Rz(α) Ry(β) Rz(γ)のように計算することができます.このことから想像できますように,オイラー角は角度によって定義が異なり,多くの角度定義が可能で(Z-Z-Zオイラー角のような角度は存在しません),その定義は回転の順番に依存しています.
このZ-Y-Xオイラー角とモーションセンサで計測する角速度ω=[ωx, ωy, ωz]^Tとの関係は
のようになりますので,オイラー角の初期角度(α(0),β(0),γ(0))を与えて,α,β,γに関するこの非線型の微分方程式を数値積分して解くことになります.(角速度の式に表記に誤りがあり,訂正いたしました.お詫び申し上げます.2022.12.16)
Rの自由度3に対して,オイラー角は3つの角度変数(α,β,γ)で定義することができ,冗長性がない点が優れいています.しかし,この数値積分が困難になる特異点(特異姿勢:上記の角速度とオイラー角の関係を記述する行列の逆行列が0になる角度)が存在するため,計算が不安定になる角度が存在します.またオイラー角が直感的ではないという問題もあります.そこで,クォータニオン(四元数,quaternion)を使った姿勢角の表現方法もあります.
オイラー角による姿勢表現の物理的な意味や概要については,「オイラー角による姿勢表現」をご覧ください.
ジャイロセンサ、DSPを搭載しセンサ内部で柔軟な演算を行える新機軸の無線センサ
クォータニオンを算出可能なDSPワイヤレス9軸モーションセンサ
スタジオで計測いただくことができます
約100㎡(10m x 10m)のスペースがある計測スタジオをレンタルいただく事で、DSP9軸ワイヤレスモーションセンサ等を使用して運動計測、身体計測を行うことができます。
お問い合わせ
製品についてのご質問などお気軽にお問い合わせ下さい。