見出し画像

モーションにおける3次元回転 #5 〜ロドリゲスの式の幾何学的意味〜

前章「モーションにおける3次元回転 #4」で,3次元回転を表すロドリゲスの式について述べたが,これは2次元平面の回転を複素数で表すオイラーの公式から単位クォータニオンへの橋渡しと位置づけていたが,もう少し補足する.


復習

図1:複素平面上での回転

図1のように,複素平面で虚数$${i}$$をかけることは,複素平面上の原点まわりの回転を意味する.

例えば,図1の実数軸上の一番右の点である$${1}$$に「虚数 $${i}$$ をかけること」で,$${1 i =i}$$となり単位円上の一番上の点にの移動する.これは複素平面では「単位円上を90度回転すること」に相当する.試しに,もう一度 $${i}$$ をかけると「$${-1}$$」になる($${i * i =-1}$$).つまり,$${i}$$ をかけることは複素平面の単位円上をさらに90度回転することになっていた.

また,オイラーの公式

$$
e^{i \theta}=\cos \theta + i \sin \theta
$$

は,さらに複素平面の単位円上の回転を一般化し,単位円上の点は,偏角$${\theta}$$を利用すれば,実部の$${\cos \theta}$$と,虚部の$${\sin \theta}$$で表現できた.

つまり,平面の回転は「複素数」で,さらに指数表現の「オイラーの公式」で単位円上の回転を表すことができた.つまり,虚数をかけることで90度の回転を実現し,オイラーの公式によって任意の角度$${\theta}$$も表現できる.

そこで,次に同じことを3次元空間の回転で実現することを考えることになるが,課題は,
・3次元空間における虚数に相当するものは?
・3次元空間の単位球上の回転をどのように表現するのか?
になる.

そして,そのヒントとなるのがロドリゲスの式

$$
\bm{R}(\psi) = \bm{E} + [\bm{n} \times ] \sin \psi + [\bm{n} \times ]^2(1- \cos \psi)
$$

図2:ロドリゲスの式の幾何学的意味

であった.ロドリゲスの式は複素平面のベクトルの回転と同様,任意の3次元空間上のベクトルの回転を原点を通る任意の回転軸$${\bm{n}}$$と角度$${\psi}$$として与えた(図2).

ロドリゲスの式は回転行列$${\bm{R}}$$を表す式であるから,任意のベクトル$${\bm{a}}$$にこれをかければ,ベクトルは回転し新しい位置ベクトル$${\bm{a}'}$$となり(図2参照),

$$
\bm{a}'=\bm{Ra} = \bm{a} + [\bm{n} \times ] \bm{a} \sin \psi + [\bm{n} \times ]^2 \bm{a}(1- \cos \psi)
$$

と書くことができるが,この式の右辺第1項の$${\bm{a}}$$は原点から,回転する平面への移動($${\overrightarrow{OP}}$$)を意味するので,あとはこの平面上での回転を考えればよい.これは複素平面での回転と似ている.

また,この式の右辺の第2項の$${[\bm{n} \times ] \bm{a}}$$はベクトル$${\overrightarrow{QR}}$$を指し,$${\sin \psi}$$をかけることで右辺の2項は$${\overrightarrow{HP'}}$$を意味している.

さらに,この式の右辺の第3項の$${[\bm{n} \times ]^2}$$はベクトル$${-\overrightarrow{PQ}}$$を指し,$${1-\cos \psi}$$をかけることで右辺の第3項は$${\overrightarrow{PH}}$$を意味している.

では,2次元平面の回転の虚数に相当するものを探すために,オイラーの公式の右辺

$$
\cos \theta + i \sin \theta
$$

と,ベクトル$${\bm{a}}$$による回転平面に移動後に相当する,ロドリゲスの式の第2,3項

$$
 [\bm{n} \times ] \sin \psi + [\bm{n} \times ]^2(1- \cos \psi)
$$

を見比べると,全く同じではないが,2次元回転の虚数$${i}$$は,3次元回転では$${[\bm{n} \times ]}$$に相当するのでは?と予感させる.

外積[n x]の幾何学的意味

復習が長くなってしまったが,ここではロドリゲスの式における外積$${[\bm{n} \times ]}$$の幾何学的意味を考える.

図3:ベクトルaの[nx]による回転

ここで,前章「モーションにおける3次元回転 #4」で述べた外積の性質から,図3の単位ベクトル$${\bm{n}}$$とベクトル$${\bm{a}}$$の外積$${\bm{n} \times \bm{a} =[\bm{n} \times ] \bm{a}}$$は,$${\bm{n}}$$と$${\bm{a}}$$の張る平面の法線方向(に垂直な方向)を向く.また,$${\bm{n}}$$が単位ベクトルであることを考えると,この外積は$${\bm{a}_0}$$と同じ大きさの$${\bm{a}_{1}}$$となり,これは$${\bm{a}_{0}}$$を軸$${\bm{n}}$$まわりに90度回転させたベクトル$${\bm{a}_{1}}$$に相当する.

さらに,$${[\bm{n} \times ]^2 \bm{a}=[\bm{n} \times ][\bm{n} \times] \bm{a}}$$は,単位ベクトル$${\bm{n}}$$と$${[\bm{n} \times] \bm{a}}$$の外積,すなわち$${\bm{n}}$$と$${\bm{a}_1}$$との外積であるから,前の$${[\bm{n} \times ] \bm{a}}$$の外積と同様に,幾何学的に$${\bm{a}_{2}}$$となり,これは$${\bm{a}_{1}}$$を軸$${\bm{n}}$$まわりに90度回転させたベクトルである.

同様に,さらにもう一度$${[\bm{n} \times] \bm{a}}$$をかけた$${[\bm{n} \times]^3 \bm{a}}$$は$${\bm{a}_{2}}$$を90度回転させた$${\bm{a}_{3}}$$のベクトルに,$${[\bm{n} \times]^4 \bm{a}}$$は$${\bm{a}_{3}}$$を90度回転させた$${\bm{a}_{0}}$$に戻る.

このように,$${[\bm{n} \times]}$$をかける操作は,幾何学的には図4の円上を$${\bm{n}}$$まわりに90度ずつ回転させる操作であることがわかり,2次元平面の回転における虚数$${i}$$とまったく同じ役割を果たしている.

[nx]^nの導出

前節では外積$${[\bm{n} \times]}$$の意味を幾何学的に示したが,次に,このことを式で示す.前章「モーションにおける3次元回転 #4」のベクトル三重積の結果から

$$
[\bm{n}\times]^2= \bm{nn}^T -\bm{E}
$$

となり,

$$
[\bm{n}\times]^3= (\bm{nn}^T −\bm{E})[\bm{n}\times]=\bm{nn}^T[\bm{n}\times]−\bm{E}[\bm{n}\times]=−[\bm{n} \times]
$$

となり,

$$
[\bm{n}\times]^4= (\bm{nn}^T −\bm{E})(\bm{nn}^T −\bm{E})=-(\bm{nn}^T −\bm{E})=-[\bm{n}\times]
$$

を得る.なお,$${\bm{n} \times \bm{a}}$$は反射影$${\bm{a}_{\perp}=(\bm{E}-\bm{nn}^T)\bm{a}\equiv\bm{P}_{\perp}\bm{a}}$$と一致する.

以上まとめると,

$$
~[\bm{n}\times]^1=[\bm{n}\times]=\bm{P}_{\perp}\\ ~[\bm{n}\times]^2= \bm{nn}^T -\bm{E}\\ ~[\bm{n}\times]^3=−[\bm{n} \times]\\~[\bm{n}\times]^4=-[\bm{n}\times]^2
$$

となる.

なお,ベクトル$${\bm{a}}$$に対して$${[\bm{n}\times]}$$をかけることは,図3の円上でベクトル$${\bm{a}_0}$$を90度ずつ回転することに相当しているように,これは虚数について,

$$
i^1=i\\i^2=-1\\i^3=-i\\i^4=1
$$

が成り立ち,複素平面で同様に90度ずつ回転していることと似ている.

以上の結果,冒頭で述べたように,$${[\bm{n}\times]}$$を任意のベクトルにかけることは,複素平面における虚数と同様に,3次元空間における軸$${\bm{n}}$$まわりのベクトルの回転であることが示された.

ロドリゲスの式の指数表現

実は,オイラーの公式の2次元平面の回転は,3次元空間にも拡張でき,ロドリゲスの式も指数関数表現ができ,

$$
e^{[\bm{n}\times]} = \bm{E} + [\bm{n} \times ] \sin \psi + [\bm{n} \times ]^2(1- \cos \psi)
$$

が成り立つ.導出は,参考文献1), 2)などを参考にするとよいが,基本的にオイラーの公式と同様である.以上よりロドリゲスの式は

$$
\bm{R}_{\bm{n}}(\psi)=e^{[\bm{n}\times]} = \bm{E} + [\bm{n} \times ] \sin \psi + [\bm{n} \times ]^2(1- \cos \psi)
$$

と書くことができ,オイラーの定理(剛体の回転は,回転軸$${\bm{n}}$$まわりの,回転角度$${\psi}$$の回転で表すことができる)となっている.

ロドリゲスの式の注意点

なお,オイラーの公式

$$
e^{i \theta}=\cos \theta + i \sin \theta
$$

は常に,このように記述されるが,ロドリゲスの式は複数の記述方法があり,それは幾何学的には通り道(例えば,$${\overrightarrow{OQ}, \overrightarrow{QP}, \overrightarrow{PH'}}$$等)によって異なることに由来するが,それらは等価である.教科書によって記述方法が異なるが,本稿ではオイラーの公式の3次元版を意識した記述方法となっている.

ロドリゲスの式から単位クォータニオンへ

準備が長くなってしまったが,これらの3次元空間における回転の幾何学的意味を踏まえ,次章で単位クォータニオンオイラーパラメータ)を導入する.

参考文献

1.ロボットモーション(岩波講座ロボット学2),内山勝・中村仁彦著,岩波出版

2.ヒューマノイドロボット(改訂2版),梶田秀司 編著,オーム社



画像4
スポーツセンシング 公式note
スポーツセンシング 運動習慣獲得支援サービス「FitClip」
スポーツセンシング アスリートサポート事業


【解析・受託開発について】

スポーツセンシングでは,豊富な知見を持つ,研究者や各種エンジニアが研究・開発のお手伝いをしております.研究・開発でお困りの方は,ぜひスポーツセンシングにご相談ください. 
【例】
 ・データ解析の代行
 ・受託開発
  (ハードウェア、組込みソフトウェア、PC/モバイルアプリ)
 ・測定システム構築に関するコンサルティング など
その他,幅広い分野をカバーしておりますので,まずはお気軽にお問い合わせください.

株式会社スポーツセンシング
【ホームページ】sports-sensing.com
【Facebook】sports.sensing
【Twitter】Sports_Sensing
【メール】support@sports-sensing.com