2015年9月15日版

機械電子制御工学研究 講義ノート
中島 明
理工学部 機械電子制御工学科
南山大学
改定日:平成 27 年 9 月 2 日
iii
目次
第1章
講義概説
第2章
2.1
2.2
剛体運動 – 位置・姿勢と座標変換
座標系による剛体の位置・姿勢の表現
回転行列の基本的性質 . . . . . . . . .
2.2.1 逆行列 . . . . . . . . . . . . . .
2.2.2 座標系の入れ替え . . . . . . .
2.2.3 座標変換 . . . . . . . . . . . .
2.2.4 行列式 . . . . . . . . . . . . . .
座標変換 . . . . . . . . . . . . . . . . .
2.3.1 同次変換 . . . . . . . . . . . .
2.3.2 合成変換 . . . . . . . . . . . .
2.3.3 逆変換 . . . . . . . . . . . . . .
座標点の移動を記述する移動変換 . . .
2.4.1 並進移動 . . . . . . . . . . . .
2.4.2 回転移動 . . . . . . . . . . . .
2.4.3 並進・回転移動 . . . . . . . . .
回転行列のパラメータ表現 . . . . . . .
2.5.1 回転行列の本質的な自由度 . .
2.5.2 座標軸回りの回転行列 . . . . .
2.5.3 固定角 . . . . . . . . . . . . . .
2.5.4 オイラー角 . . . . . . . . . . .
2.5.5 1 軸回転表現 . . . . . . . . . .
2.3
2.4
2.5
第3章
3.1
3.2
3.3
3.4
3.5
3.6
剛体運動 – 速度・力と動力学
剛体の並進速度・回転速度 . . . .
回転速度と回転行列の関係 . . . .
一般的な速度変換 . . . . . . . . .
静力学 –速度と力の双対性 . . . .
動力学 –ニュートン・オイラー法
動力学 –ラグランジュ法 . . . . .
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
3
4
4
5
6
7
8
8
9
9
10
10
11
12
12
12
13
13
14
15
.
.
.
.
.
.
17
17
17
17
17
17
17
1
第 1 章 講義概説
自動車,列車,航空機,ロボット,建築機械,建築物,宇宙構造物などの機械システム
(電子機械システム) において,設計にコンピュータを用いた解析技術は必要不可欠であ
る.これらは様々な部品 (ボディ) が相互に連結した複雑な機構系,すなわちマルチボディ
システムと呼ばれている.本講義では,このような非常に広い適用範囲を持つマルチボ
ディシステムの運動学と動力学を取り扱うマルチボディダイナミクスについて学修する.
特に,ロボットマニピュレータを主に取り扱いながら,以下の内容について学習する予定
である.
• 剛体運動
• マニピュレータの運動学
• マニピュレータの動力学
3
第 2 章 剛体運動 – 位置・姿勢と座標変換
ロボットマニピュレータは多数の関節から構成されており,その終端が手先と呼ばれる.
この手先を用いて,物体を把持したり,瓦礫を押し出して除去したりなど様々な作業を行
う.この手先の空間的な表現として位置および姿勢があり,基準となる座標系に基づいた
数学的な数量を定義する必要がある.ここでは,それらの表現方法について学ぶ.なお剛
体とは,一言で言うと変形のない物体を意味する.もう少し詳細を述べると,物体に属す
る任意の 2 点間の距離が時間に関して不変であるようなものを指す.本講義で取り扱う物
体は,特に断らない限り全て剛体である.
2.1 座標系による剛体の位置・姿勢の表現
Figure 2.1 基準座標系,物体座標系と位置・姿勢の数学的数量
Fig. 2.1 のように,3 次元空間にあるラケット (剛体) の空間的な表現は,位置および姿
勢である.これらを数学的に表現するためには,基準となる直交座標系とラケットに固定
した直交座標系 (orthogonal coordinate system) の 2 つが必要となる.特に,前者を基準座
標系 (reference coordinate system) と呼び1 ,後者を物体座標系 (body coordinate system) と
呼ぶ.これらは,Fig. 2.1 においてはそれぞれ ΣA ,ΣB で表現されており,ΣA は原点 OA ,
直交 3 軸 XA ,YA ,ZA から構成されており,ΣB も同様である.なお,これら直交座標系
は全て右手座標系 (right-handed coordinate system) 2 とする.
1
慣性座標系 (inertial coordinate system) と呼ぶこともあるが,より正確には慣性の法則が成立する系にお
いて固定された基準となる座標系を指す.
2
左手座標系というものも存在する.右手座標系と鏡像の関係にある.
第2章
4
このとき,ラケットの位置は,基準座標系 ΣA において表現された OA から OB から向
かう以下の 3 次元位置ベクトルで表現される.
A
pB ∈ R3
ここで,左肩添字 A は基準となる座標系,右下添字 B は表現される座標系の原点を表す3 .
一方,姿勢については,ΣA で表現された ΣB の各軸の単位方向ベクトル A xB , A yB , A zB ∈
R3 の組で表現される.
{A xB , A yB , A zB }
これら 3 つのベクトルは,まとめて行列の形で表現することが多い.
]
[
A
RB = A xB A yB A zB ∈ R3×3
(2.1)
この 3 × 3 行列である A RB は ΣA を基準とした ΣB の相対的な姿勢を表現するものであ
り,回転行列 (rotation matrix) と呼ばれる.
以上から,剛体の位置・姿勢は位置ベクトルと回転行列の組で表現される4 .
(A pB , A RB )
2.2
2.2.1
(2.2)
回転行列の基本的性質
逆行列
回転行列を構成する A xB , A yB , A zB は互いに直交する単位ベクトルであるので,以下の
条件を満足する.

 ∥ A xB ∥ = ∥ A y B ∥ = ∥ A z B ∥ = 1
(2.3)
 A TA
A TA
A TA
xB y B = y B z B = z B xB = 0
これらは正規直交行列 (orthonormal matrix)
持つ.
A
5
の定義であるため,回転行列は次の性質を
−1
T
RB
= A RB
(2.4)
TA
すなわち,逆行列が転置行列に等しい.このことは,(2.3) 式を用いて A RB
RB を計算す
ると




A T
A TA
A
A TA
xB [
xB xB A xT
xB z B
]
B yB




A TA
RB RB =  A yBT  A xB A yB A zB =  A yBT A xB A yBT A yB A yBT A zB  = I3
A TA
A T
zB xB A zBT A yB A zBT A zB
zB
となることからも確認できる6 .
3
本によっては添字の場所や意味が異なるため注意が必要である.
本によっては,フレーム (frame),配位空間 (configuration space),特殊ユークリッド群 (special Euclidean
group) と呼んだりする.
5
orthonormal とは,列ベクトルが規格化されかつ互いに直交することを意味する.一方で orthogonal は
“正規ではなく” 直交する行列を意味する.したがって,
「正規直交行列」が本来正しい呼び名であるが,日
本語の線形代数の教科書ではなぜか「直交行列」と呼ばれているため,注意が必要である.本講義では誤解
を避けるため性質と呼び名が正しく結びついた「正規直交行列」を採用している.
6 T
T
RB が逆行列であることを示すためには A RB A RB
= I3 も確認する必要がある.
4
2.2 回転行列の基本的性質
5
Figure 2.2 原点が一致して姿勢の異なる座標系 ΣA ,ΣB
2.2.2
座標系の入れ替え
回転行列のもう一つの性質を示すため,Fig. 2.2 のように,座標系 ΣA ,ΣB があり,原
点が一致して姿勢のみが異なる状況を考える.説明のため,回転行列 A RB の成分を以下
のように記述する.


r
r
r
11
12
13
[
]


A
RB = A xB A yB A zB =  r21 r22 r23 
(2.5)
r31 r32 r33
ここでは,A xB = [r11 r21 r31 ]T を例として扱う.A xB の成分 r11 ,r21 ,r31 は,座標系 ΣB
の XB 軸を座標系 ΣA の各軸に投影したの大きさである.したがって,各成分は以下のよ
うに方向余弦 (direction cosine) として表現される.

T

 r11 = xB · xA = xB xA
(2.6)
r11 = xB · yA = xT
B yA

 r = x · z = xT z
11
B
A
B A
ここで,上記の内積は,軸方向を表す方向ベクトルを表す座標系に依存しない (任意の座
標系で良い) ため,表記を省略している7 .他の方向ベクトル A yB ,A zB についても同様
であるので,それらをまとめて (2.5) 式を表現すると次のように表現される.


T
T
xT
]
[
B xA yB xA zB xA


A
T
T
(2.7)
RB = A xB A y B A z B =  xT
B yA yB yA zB yA 
xT
yBT zA zBT zA
B zA
ここで第 1 行に着目すると,r11 ,r12 ,r13 は座標系 ΣA の XA 軸を座標系 ΣB の各軸に射
影した方向余弦になっている.第 2,3 行についても同様の解釈が成り立つため,回転行
7
ここでの内積については,座標系に依存しない幾何ベクトルを用いた方が議論が簡素になる.
ベクトルには幾何ベクトル (geometric vector) と代数ベクトル (algebraic vector) がある.幾何ベクトルは空
間内の 2 点を結ぶ有向線分により定義され,座標系に依存しない.一方代数ベクトルは,基底となる幾何
ベクトルから構成される基準座標系を設定し,
「基底ベクトルに投影した大きさ」を成分としたものである.
2 つのベクトルは幾何学的には同一であり,幾何ベクトルは ⃗a,代数ベクトルは a と表記することが多い.
第2章
6
Figure 2.3 同一点 p の異なる座標系 (原点一致) での表現
列の定義から次の関係が成り立つことが分かる.
 


T
T
B T
xT
xA
A xB xA yB xA zB
 


T
A
RB =  yAT xB yAT yB yAT zB  =  B yAT  = B RA
B T
zAT xB zAT yB zAT zB
zA
(2.8)
すなわち,座標系 ΣA を基準とした ΣB の姿勢を表す回転行列 A RB について,座標系を
入れ替えた際の姿勢を表す回転行列 B RA との関係は次で表される.
A
−1
T
RB = B RA
= B RA
(2.9)
すなわち,座標系を入れ替えたものは元の回転行列の転置 (逆行列) に等しい.
2.2.3
座標変換
Fig. 2.3 のように,ある位置ベクトル p を,座標系 ΣA ,ΣB (原点が一致して姿勢のみ
異なる) のそれぞれで表現したときの成分を以下のように表すとする.




A
B
px
px




A
p = A py  , B p = B py 
A
B
pz
pz
この B p は座標系 ΣB の座標軸 XB ,YB ,ZB に沿った成分であるから,座標軸を表す方
向ベクトルをそれぞれ A xB ,A yB ,A zB に取ると次のように表される8 .
A
p = A xB B px + A yB B py + A zB B pz


B
[
] px


= A xB A yB A zB B py  = A RB B p
B
pz
(2.10)
座標系 ΣA と ΣB を入れ替えると同様に次の関係が成り立つ.
B
8
p = B xA A px + B yA A py + B zA B pz = B RA A p
座標軸の方向ベクトルの成分を表す座標系は任意のものを選ぶことができる.
(2.11)
2.2 回転行列の基本的性質
7
(2.10),(2.11) 式から明らかなように,回転行列は座標系の相対的な姿勢を表すだけでな
く,異なる座標系への座標変換 (coordinate transformation) に用いることができる.
A
p = A RB B p
(2.12)
座標変換 (2.12) 式は任意の座標系について成り立つので,Fig. 2.3 に加えて新たに原点
が一致した座標系 ΣC (描画は省略) を考えると,座標系 ΣA ,ΣB の間で次のような関係が
成り立つ.
A
p = A RC C p, B p = B RC C p
(2.13)
したがって,(2.12),(2.13) 式より A p,B p を消去すると
A
RC C p = A RB B RC C p
が得られ,任意の C p について成り立つことから,座標系 ΣA ,ΣB ,ΣC に関する回転行
列の間で一般に次の合成変換 (composite transformation) の関係が成り立つ.
A
2.2.4
RC = A RB B RC
(2.14)
行列式
説明の簡単化のため,回転行列 A RB を次のように表す.
[
] [
]
A
RB = A xB A yB A zB = a b c
(2.15)
座標系 {a, b, c} は右手座標系であるため,以下の関係を満たす9 .
c=a×b
(2.16)
この条件下で,回転行列 A RB の行列式を求めると
a a a c c c x y z x y z T
detA RB = detA RB
= bx by bz = ax ay az cx cy cz bx by bz = cx (ay bz − az by ) + cy (az bx − ax bx ) + cz (ax by − ay bx )


a
b
−
a
b
z y
[
] y z


= cx cy cz az bx − ax bx 
ax by − ay bx
= cT (a × b)
(2.17)
となる10 .したがって (2.16),(2.17) 式より
detA RB = cT c = +1
(2.18)
を得る.すなわち,右手の直交座標系による回転行列の行列式は必ず +1 である11 .また,
行列式が +1 である正規直交行列を固有正規直交行列 (proper orthonormal matrix) と呼ぶ.
左手座標系の場合は c = −a × b である.
c (a×b) = c·(a×b) = [c a b] はスカラー三重積と呼ばれ,巡回置換 a·(b×c) = c·(a×b) = b·(c×a)
が成り立つ.また,ベクトル a,b,c を稜とする平行六面体の面積を表している.
11
(2.4),(2.18) 式を満たす行列のことを特殊回転群 (special orthogonal group) と呼ぶ.
9
10 T
第2章
8
Figure 2.4 同一点 p の異なる座標系 (原点不一致) での表現
2.3
座標変換
2.3.1
同次変換
Fig. 2.4 のように,原点,姿勢が共に異なる座標系 ΣA ,ΣB があり,相対的な位置,姿
勢が A pB ,A RB で与えられるとする.このとき,同一点 p をそれぞれの座標系で表現し
たとき,A p,B p の関係は幾何学的に次のように求められる.
A
p = A RB B p +A pB
この関係 (2.19) 式は,より簡潔な次の形式で表現可能である.
] [
]
][
[
A
B
A
RB A pB
p
p
=
1
0 0 0
1
1
(2.19)
(2.20)
この表現では,3 次元ベクトルの最下端に 1 を付け加えた同次座標 (homogeneous coordinates) と呼ばれる 4 次元ベクトルを用いている.
[
]
[
]
A
B
p
p
A
p̄ :=
, B p̄ :=
∈ R4
(2.21)
1
1
この同次座標表現を用いることで,座標変換をただ 1 つの 4 × 4 行列で表現できる12 .
[
]
A
A
R
p
B
B
A
p̄ = A TB B p̄, A TB :=
∈ R4×4
(2.22)
0 0 0
1
この行列 A TB を同次変換行列 (homogeneous transformation matrix),同次変換行列で表現
される変換 (2.22) 式を同次変換 (homogeneous transformation) と呼ぶ13 .
12
主要な教科書では,簡単化のため通常の座標と同次座標を区別せず表記するが,初学者に余計な混乱を
招く恐れがあるため,本講義では ¯ を付けて区別する.
13
本講義では,同次座標の第 4 要素の 1 は同次変換を導入するための便宜的なものであるが,コンピュー
タ・グラフィクスの分野では任意の値を取りうる.この値を変化させることで,3 次元空間での座標変換に
加えて拡大・縮小といった処理を行うことができる.
2.3 座標変換
9
Figure 2.5 同一点 p の異なる座標系 (原点不一致) での合成変換
剛体の位置・姿勢を記述する数学的量は,(2.2) 式のように位置ベクトルと回転行列の
組 (A pB , A RB ) である.しかしながら,同次変換行列 A TB は A pB ,A RB の両方を含んで
いるため,表現上の簡潔さから A TB そのものを位置・姿勢の記述として用いることもし
ばしばある14 .
2.3.2
合成変換
Fig. 2.5 のように原点が異なる 3 つの座標系 ΣA ,ΣB ,ΣC の間についても,(2.14) 式と
同様に,同次変換における合成変換が成り立つ.
A
p̄ = A TC C p̄,
A
TC = A TB B TC
ここで,合成変換式 A TC = A TB B TC を書き下すと A TC の具体的成分を得る.
][
] [
]
[
B
B
A
B
A
B
A
A
A
R
p
R
p
R
R
R
p
+
p
B
B
C
C
B
C
B
C
B
A
=
TC =
0 0 0
1
0 0 0
1
0 0 0
1
(2.23)
(2.24)
したがって,A TC を構成する A RC ,A pC は,上式を成分比較すれば
A
RC = A RB B RC ,
A
pC = A RB B pC + A pB
となっていることが分かる.これは Fig. 2.5 の幾何学的関係と一致している.
2.3.3
逆変換
同次変換 (2.22) 式の逆変換式は
B
14A
p̄ = A TB−1 A p̄
TB を (A pB , A RB ) の同次表現 (homogeneous representation) と呼んだりもする.
(2.25)
第2章
10
Figure 2.6 点 A p1 から A p2 への並進移動
である.逆変換 A TB−1 を求めるには,数値的に計算する,閉じた形 (公式) として表現する,
といった 2 通りが考えられる.ここでは幾何学的関係から閉じた形での逆変換を求める.
まず,逆変換 A TB−1 は座標変換としての意味から,明らかに次の関係が成り立つ.
]
[
B
B
R
p
A
A
A −1
(2.26)
TB = B TA , B TA =
0 0 0
1
したがって,B RA については回転行列の性質 (2.4) 式から,また,B pA については Fig. 2.4
の幾何学的関係より明らかなように A pB と逆向きであるから,
B
T
RA = A RB
,
B
TA
pA = −A RB
pB
(2.27)
となることが分かる.B pA については,単に逆向きのマイナスを付けるだけでなく,座標
変換も施していることに注意されたい.よって以下の逆変換 A TB−1 を得る.
[
]
A T
A TA
R
−
R
p
B
B
B
A −1
TB =
(2.28)
0 0 0
1
2.4
座標点の移動を記述する移動変換
本節で説明する内容を前節と比較して以下に示す.
前節
空間内の同一の点を位置・姿勢の異なる座標系で表した際の座標変換
本節
同一の座標系において座標点を並進・回転により異なる点に移動させる移動変換
説明の簡素化のため,並進移動と回転移動で分けて考える.
2.4.1
並進移動
まず Fig. 2.6 のように,点 A p1 にベクトル A pd で表される並進移動を施した際,移動
後の点 A p2 は以下で与えられる.
A
p2 = A p1 + A pd
(2.29)
ここで,全てのベクトルは同一の座標系 ΣA で表現されていることに注意されたい.
2.4 座標点の移動を記述する移動変換
11
Figure 2.7 2 次元空間における点 A p1 から A p2 への回転移動;座標変換との比較
2.4.2
回転移動
次に Fig. 2.7 のように 2 次元空間での回転移動を考える.具体的には,点 A p1 ∈ R2 を
紙面鉛直軸回りに θ だけ回転移動させた際,移動後の点 A p2 を導出する.回転前後の位
置ベクトル A p1 ,A p2 は次のように極座標表現で与えられる.
[
]
[
]
r
cos
ϕ
r
cos(ϕ
+
θ)
A
p1 =
, A p2 =
(2.30)
r sin ϕ
r sin(ϕ + θ)
ここで r はベクトルの大きさ,ϕ は XA 軸からのなす角である.回転後のベクトル A p2 を
展開して整理すると次のように表される.
[
] [
][
]
r
cos
ϕ
cos
θ
−
r
sin
ϕ
sin
θ
cos
θ
−
sin
θ
r
cos
ϕ
A
p2 =
=
= Rd A p 1
(2.31)
r sin ϕ cos θ − r cos ϕ sin θ
sin θ cos θ
r sin ϕ
[
]
cos θ − sin θ
Rd :=
sin θ cos θ
(2.32)
ここで Rd ∈ R2×2 は回転移動を表しており,座標変換のときと同様に回転行列と呼ばれる.
次に比較のため,Fig. 2.7 右図にあるように,2 次元の場合における座標系 ΣA ,ΣB の間
の回転行列 A RB を求める.3 次元の場合における方向余弦を用いた回転行列の表現 (2.7)
式より,A RB ∈ R2×2 は以下で与えられる.
[
] [
]
[
]
xB · xA y B · xA
cos θ − sin θ
A
RB = A xB A y B =
=
(2.33)
xB · y A y B · y A
sin θ cos θ
行列内の各成分の内積は Fig. 2.7 の幾何学的関係から容易に求まるため省略した.したがっ
て,(2.32),(2.33) 式より明らかに次の関係が成り立つ.
A
RB = Rd
(2.34)
すなわち,座標変換を表す回転行列 A RB とベクトルを回転させる移動変換としての回転
行列 Rd は数学的に同じである.したがって,A RB は座標系 ΣA を θ だけ回転したもの
(=座標系 ΣB ) と解釈することもできる.
[ ] [
]


1
cos θ

 A xB = Rd A xA = Rd
=

] 
[
0
sin θ
A
[ ] [
]
(2.35)
RB = A xB A y B ,


0
− sin θ

A
A

=
 y B = Rd y A = Rd
1
cos θ
第2章
12
このことから,Fig. 2.7 右図において,回転,変換の向きを考えると,
回転移動 Rd
座標変換 A RB
移動の向きが ΣA → ΣB である
変換の向きが ΣB → ΣA である
となっていることがわかる.すなわち,回転行列 A RB ,Rd は数学的には同じであるが,
回転移動と座標変換では幾何学的解釈が異なる (向きが異なる) に特に注意すべきである15 .
2.4.3
並進・回転移動
以上の並進移動,回転移動を足し合わせた表現が一般的な移動の数学的表現となる.
A
p2 = Rd A p1 + A pd
(2.36)
この式は,座標変換の場合と同様に (2.21) 式の同次座標を利用することで,同次変換行列
(2.22) と同じ構造の行列を用いた移動変換を得ることができる.
]
[
A
R
p
d
d
A
∈ R4×4
(2.37)
p̄2 = Td A p̄1 , Td :=
0 0 0 1
2.5
2.5.1
回転行列のパラメータ表現
回転行列の本質的な自由度
回転行列 A RB ∈ R3×3 は 9 つの成分を持つが,正規直交行列であるため (2.3) 式の 6 つ
の条件が成立する.したがって,本質的な自由度は 3 つであることが容易に推察できる.
実際,正規直交行列に関するケーリーの公式 (Cayley’s formula for orthonormal matrices) よ
り,任意の固有正規直交行列 R ∈ R3×3 は次のように分解できる.
R = (I3 − S)−1 (I3 + S), S = −S T
(2.38)
ここで S ∈ R3×3 は歪対称行列 (skew symmetric matrix) と呼ばれ16 ,以下で与えられる.
 


ax
0 −az ay
 


(2.39)
S =  az
0 −ax  , a := ay 
az
−ay ax
0
このように歪対称行列 S はベクトル a の成分 ax ,ay ,az のみで表現されており,本質的
に 3 つのパラメータのみを使用して表現されることが分かる.
15
本講義では回転行列の座標変換表現と移動演算子表現は数学的に等しく幾何学的解釈が逆であるが,教
科書や分野によってはその逆,すなわち「座標変換表現と移動演算子表現は数学的に逆 (転置の関係) であ
り幾何学的解釈は等しい」となるように定義されているため,注意が必要である.
16
交代行列,反対称行列とも呼ばれる.
2.5 回転行列のパラメータ表現
13
Figure 2.8 XA ,YA ,ZA 軸回りの回転行列
2.5.2
座標軸回りの回転行列
Fig. 2.8 にあるように,座標系 ΣA の各軸 XA ,YA ,ZA 軸回りの回転行列を示す.すべ
て単軸回りの回転であるため,2 次元空間での回転行列 (2.35) 式と類似した構造になる.






1 0
0
cβ 0 s β
cα −sα 0






(2.40)
RX (γ) =0 cγ −sγ  , RY (β) = 0 1 0  , RX (γ) =sα cα 0
0 s γ cγ
−sβ 0 cβ
0
0 1
ここで,cγ ,sγ は三角関数の省略表現であり
cγ := cos γ, sγ := sin γ
(2.41)
である.他の角度 β ,α についても同様である.以降では,これら各軸の回転行列を組み
合わせたパラメータ表現で代表的なものをいくつか紹介する.
2.5.3
固定角
基準となる座標系 ΣA を 3 回だけ回転させることで,
1 回目の回転
2 回目の回転
3 回目の回転
ΣA −−−−−−→ ΣA′ −−−−−−→ ΣA′′ −−−−−−→ ΣA′′′ = ΣB
のように順に座標系を回転させて最終姿勢の ΣB を得ることを考える.ここでは,回転
軸を全て基準となる固定された座標系 ΣA とする,固定角 (fixed angle) を用いる.特に,
Fig. 2.9 のように XA 軸,YA 軸,ZA 軸の順番で回転させる表現を XY Z 固定角と呼ぶ17 .
この場合の回転行列 A RB は次の形で与えられる.
A
17
RB = RXY Z (γ, β, α) = RZ (α)RY (β)RX (γ)


cα cβ cα sβ sγ − sα cγ cα sβ cγ + sα sγ


= sα cβ sα sβ sγ + cα cγ sα sβ cγ − cα sγ 
−sβ
cβ sγ
cβ cγ
(2.42)
教科書によってはこの表現角をロール・ピッチ・ヨー角 (roll-pitch-yaw angle) と呼ぶ.しかしながら,後
述する ZY X オイラー角も同名で呼ばれること,またそちらの方が良く使われることから,あまり用いら
れることはないと考えて良い.
第2章
14
Figure 2.9 XY Z 固定角のパラメータ表現
ここで回転の順序は X → Y → Z であるが,各軸の回転行列 RX ,RY ,RZ の順番は逆
であることに注意すべきである.これは,XA 軸を例に取り,順に回転される演算を表現
すると

ΣA → ΣA′ : A xA′ = RX A xA 

A
xB = A xA′′′ = RZ RY RX A xA
ΣA′ → ΣA′′ : A xA′′ = RY A xA′

ΣA′′ → ΣA′′′ : A xA′′′ = RZ A xA′′ 
となり,回転が右側から順に作用することから明らかである.
なお,回転軸の選択は他にも自由度があり,例えば ZY X ,XY X なども選ぶことが出
来る.同じ回転軸を連続で選ぶ組み合わせを除外すると,全部で 3 × 2 × 2 = 12 通りの組
み合わせが存在する.
2.5.4
オイラー角
固定角表現と対照的に,回転後の座標系 (現在の座標系) の座標軸を基準にとる表現方
法を用いることをオイラー角 (Euler angle) と呼ぶ.ここでは,Fig. 2.10 のように,ΣA の
ZA 軸,ΣA′ の YA′ 軸,ΣA′′ の XA′′ 軸の順番で回転させる ZY X オイラー角を示す.オイ
ラー角の導出には,中間の座標系である ΣA′ ,ΣA′′ ,ΣA′′′ (ΣB ) を経由した座標変換を考
える.各座標系の間の座標変換を表す回転行列は各軸の回転行列となるため,ZY X オイ
Figure 2.10 ZY X オイラー角のパラメータ表現
2.5 回転行列のパラメータ表現
15
ラー角は以下で与えられる.
ΣA → ΣA′ :
ΣA′ → ΣA′′ :
ΣA′′ → ΣA′′′ :
A
RA′ = RZ (α)
A′
RA′′ = RY (β)
A′′
RA′′′ = RX (γ)





A
′
′′
RB = A RA′′′ = A RA′ A RA′′ A RA′′′
したがって,
A
RB = RZ ′ Y ′ X ′ (α, β, γ) = RZ (α)RY (β)RX (γ)
(2.43)
ここで (2.42),(2.43) 式より,XY Z 固定角と ZY X オイラー角は等しいことが分かる.す
なわち,固定角表現の 3 つの回転を逆の順序で行なったオイラー角は等しくなる.した
がって,前述したように固定角表現が 12 通りであることから,3 つの座標軸回りに回転
を行う表現方法は固定角,オイラー角含めて 12 通りである.
回転順序の組み合わせのうち,いくつかは特別な名称が付いている.例えば今回示した
ZY X オイラー角はロール・ピッチ・ヨー角 (roll-pitch-yaw angle) と呼ばれており,特に
自動車や船など移動体の姿勢表現に良く用いられている.また,ZY Z オイラー角は単に
オイラー角と呼ばれることもあり,定常歳差運動を行う回転体 (コマ,衛星など) の姿勢を
表現するのに使用される.
2.5.5 1 軸回転表現
これまで座標軸回りの 3 つの回転角を組み合わせることで座標系 ΣA を基準とした座標
系 ΣB の姿勢を表現してきたが,より一般的には,Fig. 2.11 のように任意の回転軸 k ∈
R3 (∥k∥ = 1) 回りで θ ∈ R だけ回転することで表現することもできる.このような回転行
列の表現方法を 1 軸回転法 (axis-angle representation) と呼ぶ.
1 軸回転法による回転行列の導出の仕方はいくつかあるが,ここでは前述までの座標軸
まわりの回転行列を用いるため,Fig. 2.11 右図のように,回転軸 k を方位角 (α, β) で表
現する.このとき,1 軸回転法の導出手順をいかに示す.
1. ZA 軸まわりに −α だけ回転し,次いで YA 軸まわりに −β だけ回転することで,回
転軸 k を ZA 軸に一致させる.
Figure 2.11 1 軸回転法によるパラメータ表現
第2章
16
2. 次に ZA 軸まわりに θ だけ回転させる.
3. YA 軸まわりに β だけ回転し,次いで ZA 軸まわりに α だけ回転することで,回転
軸 k を元に戻す.
以上の手順をまとめると,次のように回転行列を得ることが出来る.
R(k, θ) = RZ (α)RY (β)RZ (θ)RY (−β)RZ (−α)
= {RZ (α)RY (β)}RZ (θ){RZ (α)RY (β)}−1
ただし方位角 (α, β) は以下で与えられる.

k

 cos α = √ x
,
2
kx + ky2


cos β = kz ,
ky
sin α = √ 2
kx + ky2
√
sin β = kx2 + ky2
(2.44)
(2.45)
したがって,(2.45) 式を (2.44) 式に代入して (α, β) を消去すれば,回転軸 k = [kx ky kz ]T ,
回転角 θ を用いて R(k, θ) を表現することができる.


kx2 vθ + cθ
kx ky vθ − kz sθ kx kz vθ + ky sθ


R(k, θ) = kx ky vθ + kz sθ
ky2 vθ + cθ
ky kz vθ − kx sθ  , vθ := vers θ = 1 − cθ (2.46)
kx kz vθ − ky sθ ky kz vθ + kx sθ
kz2 vθ + cθ
この 1 軸回転法による表現は直感的に非常に分かりやすいため,ロボットの手先の姿勢の
運動を記述する際などによく用いられる.