機械制御工学研究 講義ノート

中島 明
理工学部 機械電子制御工学科
南山大学
改定日：平成 28 年 1 月 20 日

ii

iii

目次
第1章

講義概説

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.5.6 他の表現方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
パラメータ表現した回転行列の逆問題 . . . . . . . . . . . . . . . . . . . .
2.6.1 逆問題の定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.6.2 固定角，オイラー角の逆問題 . . . . . . . . . . . . . . . . . . . . .
2.6.3 1 軸回転表現の逆問題 . . . . . . . . . . . . . . . . . . . . . . . . .
2.6.4 特異点に関する補足 . . . . . . . . . . . . . . . . . . . . . . . . . .

3
3
4
4
5
6
7
8
8
9
9
10
10
11
12
12
12
13
13
14
15
16
17
17
17
19
20

剛体運動 – 運動学
時間変化する位置・姿勢の表記法 . . . . . . . . . . . . . . . . . . . . . . .
3.1.1 時間微分を行う座標系と成分表記する座標系の区別 . . . . . . . . .
3.1.2 速度の表現方法 [5] . . . . . . . . . . . . . . . . . . . . . . . . . . .
剛体上の異なる座標系の速度変換 . . . . . . . . . . . . . . . . . . . . . . .
3.2.1 成分表記する座標系が一致する場合 (hybrid velocity) . . . . . . . . .

21
21
22
23
24
24

2.3

2.4

2.5

2.6

第3章
3.1

3.2

目次

iv

3.3

3.4
3.5

第4章
4.1

4.2

4.3

第5章
5.1
5.2

5.3

5.4

5.5

5.6

3.2.2 成分表記する座標系が異なる場合 (body velocity) . . . . . . . . . . .
回転速度ベクトルの定義と解釈 . . . . . . . . . . . . . . . . . . . . . . . .
3.3.1 回転行列の時間微分による回転速度の定義 [5, 7] . . . . . . . . . . .
3.3.2 回転速度ベクトルの積分値 [4] . . . . . . . . . . . . . . . . . . . . .
3.3.3 回転速度と回転行列のパラメータ表現の関係 [4, 7] . . . . . . . . .
移動する座標系間の速度変換 (一般化された速度変換) . . . . . . . . . . . .
静力学 –速度と力の双対性 . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5.1 作用点の異なる等価な一般化力の関係 . . . . . . . . . . . . . . . .
3.5.2 一般化力を表す座標系の選択 . . . . . . . . . . . . . . . . . . . . .

25
26
26
28
29
32
34
34
35

剛体運動 – 動力学
慣性に関する物理量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.1 質量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.2 重心・質量中心 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.3 慣性テンソル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
慣性テンソルに関する性質 . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.1 正定性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.2 慣性主軸 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.3 平行軸の定理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
古典力学による運動の記述 . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.1 ガリレイの相対性原理とニュートンの運動法則 . . . . . . . . . . .
4.3.2 ニュートン・オイラーの運動方程式 . . . . . . . . . . . . . . . . .
4.3.3 非慣性系における運動方程式 —慣性力の導入 . . . . . . . . . . . .

39
39
39
40
41
43
43
43
45
46
47
49
52

剛体運動 – 拘束と解析力学
一般化座標と自由度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
拘束条件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.1 拘束の形式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.2 拘束の数学的性質 . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.3 幾何拘束の例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.4 シンプル非ホロノミック拘束の例 . . . . . . . . . . . . . . . . . . .
仮想変位 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3.1 仮想変位の定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3.2 剛体の仮想変位 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
拘束空間と拘束力 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4.1 拘束下での仮想変位 . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4.2 拘束力 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4.3 拘束力のなす仕事 . . . . . . . . . . . . . . . . . . . . . . . . . . .
仮想仕事の原理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.5.1 力の分類 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.5.2 質点系の仮想仕事の原理 . . . . . . . . . . . . . . . . . . . . . . . .
5.5.3 剛体系の仮想仕事の原理 . . . . . . . . . . . . . . . . . . . . . . . .
ダランベールの原理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

57
57
59
60
61
62
67
68
68
69
70
70
72
73
74
74
75
77
79

v

5.7

5.8

5.9

第6章
6.1

6.2

6.3

6.4

6.5

6.6
6.7
第7章

5.6.1 質点系のダランベールの原理 . . . . . . . . . . . . . . . . . . . . . 79
5.6.2 剛体系のダランベールの原理 . . . . . . . . . . . . . . . . . . . . . 80
変分法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.7.1 変分法で取り扱う問題 . . . . . . . . . . . . . . . . . . . . . . . . . 82
5.7.2 変分法と Euler の微分方程式 . . . . . . . . . . . . . . . . . . . . . . 83
5.7.3 ラグランジュの未定乗数法 (多変数関数) . . . . . . . . . . . . . . . 86
5.7.4 ラグランジュの未定乗数法 (汎関数・変分問題) . . . . . . . . . . . 90
ハミルトンの原理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.8.1 ハミルトンの原理の導出 . . . . . . . . . . . . . . . . . . . . . . . . 93
5.8.2 ハミルトンの原理の様々な表現 . . . . . . . . . . . . . . . . . . . . 94
5.8.3 最小作用の原理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
ラグランジュの運動方程式 . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
5.9.1 一般化座標が拘束を受けない場合 . . . . . . . . . . . . . . . . . . . 98
5.9.2 一般化座標が拘束を受ける場合 (拡大法) . . . . . . . . . . . . . . . 99
5.9.3 一般化座標が拘束を受ける場合 (消去法) . . . . . . . . . . . . . . . 100
マニピュレータの運動学
103
関節とリンクの記述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
6.1.1 リンクパラメータ . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
6.1.2 リンクパラメータ設定における特殊な場合 . . . . . . . . . . . . . . 106
リンクへの座標系の配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
6.2.1 リンクパラメータに基づく座標系の配置 . . . . . . . . . . . . . . . 107
6.2.2 リンク座標系に基づくリンクパラメータの定義 . . . . . . . . . . . 109
手先の位置・姿勢に関する順運動学 . . . . . . . . . . . . . . . . . . . . . . 109
6.3.1 リンク座標系間の座標変換 . . . . . . . . . . . . . . . . . . . . . . 109
6.3.2 順運動学の定式化 . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
6.3.3 例題：2 次元平面内の 3 関節マニピュレータ . . . . . . . . . . . . . 112
手先の位置・姿勢に関する逆運動学 . . . . . . . . . . . . . . . . . . . . . . 114
6.4.1 可解性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
6.4.2 代数学的解法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
6.4.3 幾何学的解法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
手先の速度に関する運動学 . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
6.5.1 ヤコビ行列の定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
6.5.2 時間微分による速度の順運動学の導出 . . . . . . . . . . . . . . . . 123
6.5.3 幾何学的関係による速度の順運動学の導出 . . . . . . . . . . . . . . 125
特異姿勢 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
手先力と等価な関節トルク . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
レポート課題

参考文献

127
129

第 1 章 講義概説
自動車，列車，航空機，ロボット，建築機械，建築物，宇宙構造物などの機械システム(電子機械システム) において，設計にコンピュータを用いた解析技術は必要不可欠である．
これらは様々な部品 (ボディ) が相互に連結した複雑な機構系，すなわちマルチボディシ
ステムと呼ばれている．本講義では，このような非常に広い適用範囲を持つマルチボディ
システムの運動学と動力学を取り扱うマルチボディダイナミクスについて学修する．このテキストでは特に，ロボットマニピュレータを取り扱いながら，以下の内容について学習する予定である．

• 剛体運動• マニピュレータの運動学• マニピュレータの動力学• ロボットの基礎的な制御法
本テキストの内容は次の文献 [1] [2] [3] [4] [5] [6] [7] [8] を参考にした．より深く学びた
い人はこれらを参照されたい．

2

第1章

第 2 章 剛体運動 – 位置・姿勢と座標変換
ロボットマニピュレータは多数の関節から構成されており，その終端が手先と呼ばれる．
この手先を用いて，物体を把持したり，瓦礫を押し出して除去したりなど様々な作業を行う．この手先の空間的な表現として位置および姿勢があり，基準となる座標系に基づいた
数学的な数量を定義する必要がある．ここでは，それらの表現方法について学ぶ．なお剛体とは，一言で言うと変形のない物体を意味する．もう少し詳細を述べると，物体に属する任意の 2 点間の距離が時間に関して不変であるようなものを指す．本講義で取り扱う物
体は，特に断らない限り全て剛体である．

2.1 座標系による剛体の位置・姿勢の表現

Figure 2.1: 基準座標系，物体座標系と位置・姿勢の数学的数量
Fig. 2.1 のように，3 次元空間にあるラケット (剛体) の空間的な表現は，位置および姿勢である．これらを数学的に表現するためには，基準となる直交座標系とラケットに固定した直交座標系 (orthogonal coordinate system; orthogonal frame) の 2 つが必要となる．特に，前者を基準座標系 (reference coordinate system; reference frame) と呼び1 ，後者を物体座標系 (body coordinate system; body frame) と呼ぶ．これらは，Fig. 2.1 においてはそれぞれ ΣA ，ΣB で表現されており，ΣA は原点 OA ，直交 3 軸 XA ，YA ，ZA から構成されており，ΣB も同様である．なお，これら直交座標系は全て右手座標系 (right-handed
coordinate system; right-handed frame) 2 とする．
1

慣性座標系 (inertial coordinate system; inertial frame) と呼ぶこともあるが，より正確には慣性の法則が成立する系において固定された基準となる座標系を指す [1]．
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 TAA TA
A TA
xB y B = y B z B = z B xB = 0
これらは正規直交行列 (orthonormal matrix) 5 の定義であるため，回転行列は次の性質を
持つ．
A

−1
T
RB
= A RB(2.4)

TA
すなわち，逆行列が転置行列に等しい．このことは，(2.3) 式を用いて A RB
RB を計算す
ると




A T
A TA
A
A TA
xB [
xB xB A xTxB 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 zBzBとなることからも確認できる6 ．
3

本によっては添字の場所や意味が異なるため注意が必要である．
本によっては，フレーム (frame) [3]，配位空間 (configuration space) [5]，特殊ユークリッド群 (special
Euclidean group) [5] と呼んだりする．
5
orthonormal とは，列ベクトルが規格化されかつ互いに直交することを意味する．一方で orthogonal は“正規ではなく” 直交する行列を意味する．したがって，「正規直交行列」が本来正しい呼び名である [3] が，日本語の線形代数の教科書ではなぜか「直交行列」と呼ばれている [9, 10] ため，注意が必要である．本講義では誤解を避けるため性質と呼び名が正しく結びついた「正規直交行列」を採用している．
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)
r21 = xB · yA = xT
B yA
 r = x · z = xT z
31
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) がある [11, 12]．幾何ベクト
ルは空間内の 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
Bpz(2.10)

座標系 ΣA と ΣB を入れ替えると同様に次の関係が成り立つ．
B
8

p = B xA A px + B yA A py + B zA A 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

det RB = det

A

T
RB
=

ax ay azcx cy czbx by bz = ax ay az
cx cy czbx 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) と呼ぶ[3]．
左手座標系の場合は c = −a × b である．
c (a×b) = c·(a×b) = [c a b] はスカラー三重積と呼ばれ [10]，巡回置換 a·(b×c) = c·(a×b) = b·(c×a)
が成り立つ．また，ベクトル a，b，c を稜とする平行六面体の面積を表している．
11(2.4)，(2.18) 式を満たす行列のことを特殊回転群 (special orthogonal group) と呼ぶ [5]．
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
A
B
RB A pB
p
p
=
1
0 0 0
1
1

(2.19)(2.20)

この表現では，3 次元ベクトルの最下端に 1 を付け加えた同次座標 (homogeneous coordinates) と呼ばれる 4 次元ベクトルを用いている．
]
[
]
[
B
A
p
p
A
, B p̄ :=∈ R4(2.21)p̄ :=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 01
この行列 A TB を同次変換行列 (homogeneous transformation matrix)，同次変換行列で表現される変換 (2.22) 式を同次変換 (homogeneous transformation) と呼ぶ13 ．
12

主要な教科書 [3, 4, 6] では，簡単化のため通常の座標と同次座標を区別せず表記するが，初学者に余計な混乱を招く恐れがあるため，本講義では ¯ を付けて区別する．
13
本講義では，同次座標の第 4 要素の 1 は同次変換を導入するための便宜的なものであるが，コンピュー
タ・グラフィクスの分野では任意の値を取りうる．この値を変化させることで，3 次元空間での座標変換に加えて拡大・縮小といった処理を行うことができる [13]．

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) 式と同様に，同次変換における合成変換が成り立つ．
Ap̄ = 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) と呼んだりもする [5]．

(2.25)

第2章

10Figure 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

TTA
RA = A RB, B 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 座標点の移動を記述する移動変換

11Figure 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 · xAcos θ − sin θARB = 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 θ
AA
=
 y B = Rd y A = Rd
1
cos θ

第2章

12
このことから，Fig. 2.7 右図において，回転，変換の向きを考えると，回転移動 Rd 移動の向きが ΣA → ΣB である
座標変換 A RB 変換の向きが Σ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 12.5

回転行列のパラメータ表現

2.5.1

回転行列の本質的な自由度

回転行列 A RB ∈ R3×3 は 9 つの成分を持つが，正規直交行列であるため (2.3) 式の 6 つの条件が成立する．したがって，本質的な自由度は 3 つであることが容易に推察できる．
実際，正規直交行列に関するケーリーの公式 (Cayley’s formula for orthonormal matrices) より，任意の固有正規直交行列 R ∈ R3×3 は次のように分解できる [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 ax0
このように歪対称行列 S はベクトル a の成分 ax ，ay ，az のみで表現されており，本質的に 3 つのパラメータのみを使用して表現されることが分かる．
以降では，回転行列 A RB の 9 つの成分をより少ないパラメータ (3 ないし 4 つ) を用いて表現するいくつかの手法を紹介する．
15

本講義では回転行列の座標変換表現と移動演算子表現は数学的に等しく幾何学的解釈が逆である [3, 4,
5, 6, 7]．その一方で教科書や分野によってはその逆，すなわち「座標変換表現と移動演算子表現は数学的に逆 (転置の関係) であり幾何学的解釈は等しい」[11, 12] となるように定義されているため注意が必要である．
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  , RZ (α) =sα cα 00 sγ cγ−sβ 0 cβ00 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) [3, 6] を用いる．特に，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) と呼ぶ [3]．しかしながら，後述する 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) [3] と呼ぶ．ここでは，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′′′ :
RA′ = RZ (α) 

′′
′
A
A′
RB = A RA′′′ = A RA′ A RA′′ A RA′′′RA′′ = RY (β)
A′′RA′′′ = RX (γ) A

したがって，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) と呼ばれており，
特に自動車や船など移動体の姿勢表現に良く用いられている [4, 6, 7]．
• XY Z オイラー角はブライアント角 (Bryant Angle) とも呼ばれる [7]．
• ZY Z オイラー角は単にオイラー角と呼ばれることもあり [4, 7]，定常歳差運動を行う回転体 (コマ，衛星など) の姿勢を表現するのに使用される [7]．

2.5.5 1 軸回転表現
これまで座標軸回りの 3 つの回転角を組み合わせることで座標系 ΣA を基準とした座標
系 ΣB の姿勢を表現してきたが，より一般的には，Fig. 2.11 のように任意の回転軸 k ∈R3 (∥k∥ = 1) 回りで θ ∈ R だけ回転することで表現することもできる．このような回転行
列の表現方法を 1 軸回転法 (axis-angle representation) と呼ぶ [3, 4, 6] 18 ．
1 軸回転法による回転行列の導出の仕方はいくつかあるが，ここでは前述までの座標軸まわりの回転行列を用いることとして，Fig. 2.11 右図のように，回転軸 k を方位角 (α, β)で表現する [6]．このとき，1 軸回転法の導出手順をいかに示す．

Figure 2.11: 1 軸回転法によるパラメータ表現
18kθ をデカルト回転ベクトル (Cartesian Rotation Vector) と呼ぶ [7] が，日本語表現はあまり見かけない．
また，対応する日本語はないが，exponential coordinates とも呼ばれる [5]．

第2章

16

1. ZA 軸まわりに −α だけ回転し，次いで YA 軸まわりに −β だけ回転することで，回転軸 k を ZA 軸に一致させる．
2. 次に ZA 軸まわりに θ だけ回転させる．
3. YA 軸まわりに β だけ回転し，次いで ZA 軸まわりに α だけ回転することで，回転軸 k を元に戻す．
以上の手順をまとめると，次のように回転行列を得ることが出来る．

R(k, θ) = RZ (α)RY (β)RZ (θ)RY (−β)RZ (−α)= {RZ (α)RY (β)}RZ (θ){RZ (α)RY (β)}−1
ただし方位角 (α, β) は以下で与えられる．
k
 cos α = √ x,
2kx + ky2
cos β = kz ,kysin α = √ 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 軸回転法による表現は直感的に非常に分かりやすいため，ロボットの手先の姿勢の運動を記述する際などによく用いられる．

2.5.6

他の表現方法これまで紹介したものの他にも多種多様な表現方法が存在する．そのうち，比較的良く目にするものを名前だけ紹介する．詳しい説明や導出は他の書物 [5, 7] を参照されたい．

• 指数関数表現 (Exponential Form) 19• ロドリゲスの回転公式 (Rodrigues’ Rotation Formula) 20• ロドリゲスパラメータ (Rodrigues Parameters)• オイラーパラメータ (Euler Paramters)，クォータニオン (4 元数，Quaternions) 21• 等角回転ベクトル (Conformal Rotation Vector, CRV)
19

指数関数行列による無限級数表現であるが，三角関数を導入することで有限表現になり，ロドリゲスの
回転公式に一致する．
20
1 軸回転表現の (2.46) 式を歪対称行列を用いて表現したものであり，成分表記すれば同じものである．
21
虚数を拡張した 4 元数で表現されており，オイラーパラメータと等価である．

2.6 パラメータ表現した回転行列の逆問題

17

2.6 パラメータ表現した回転行列の逆問題
2.6.1

逆問題の定義

前節では，9 つの成分を持つ回転行列 A RB をより少ない 3 つないし 4 つの成分で表す
パラメータ表現について述べた．ここではその逆の過程について考える．すなわち，

r11 r12 r13Given: A RB = r21 r22 r23  , Find: 姿勢角パラメータr31 r32 r33で定義される逆問題の解法について述べる．なお，与えられる回転行列の成分 r11 , · · · , r33は正規直交行列の条件を満たすものである．逆問題は実用上非常に重要であり，例えば目的のタスクを達成するロボットの手先姿勢が与えられたとき，姿勢角パラメータの値を求める場合などに用いられる．

2.6.2

固定角，オイラー角の逆問題

固定角とオイラー角は等価であるため，まとめて一つとして扱う．また，回転する順序の組み合わせが変わっても救解の仕方は同様であるため，ここでは XY Z 固定角 (ZY X
オイラー角) のみについて述べる．(2.42) 式より，回転行列の各成分 r11 , · · · , r33 は姿勢角(γ, β, α) を用いて以下のように表される．
 
r11 r12 r13cα cβ cα sβ sγ − sα cγ cα sβ cγ + sα sγ (2.47)
 r21 r22 r23  =  sα cβ sα sβ sγ + cα cγ sα sβ cγ − cα sγ 
r31 r32 r33
−sβ
cβ sγ
cβ cγ
なお 3 つの変数に対して 9 つの方程式が存在するが，これら式の間には正規直交行列としての条件が含まれているため，全ての式を用いる必要はない．
まず，姿勢角 β を求める．r11 および r21 に関する関係式の両辺を 2 乗して足し合わせ
ると
2
2
r11
+ r21
= (s2α + c2α )c2β = c2βであるため，cβ が求まる．

cβ = ±

√
2
2
r11
+ r21

(2.48)

三角関数の値から角度を求めるためには，cos と sin の両方の値が必要である．したがって r31 に関する関係式より
sβ = −r31(2.49)であるため，この sin の値を合わせれば β が求まる．cβ は正負両方の値を持つため，β の
範囲を − π2 ≤ β ≤ π2 とすれば，以下のように得ることが出来る22 ．
(
)
√
2
2
β = Atan2(sβ , cβ ) = Atan2 −r31 , r11 + r21(2.50)
cβ ≤ 0 としても良いが，その場合は β の範囲が −π < β ≤ − π2 ， π2 ≤ β ≤ π となり離れた 2 つの領域となるため普通は考えない．
22

第2章

18

Atan2( y, x)

sin β− r112 + r212

1

−1

x<0
y>0

x>0
y>0

x<0
y<0

x>0
y<0

r31 < 01

1

r112 + r212

−1
1

r31 > 0

cos β

−1

−1

Figure 2.12: 4 象限逆正接関数
ここで Atan2(y, x) は 2 変数逆正接関数もしくは 4 象限逆正接関数と呼ばれるものであり，(x, y) の比およびそれぞれの符号を用いて角度を決定する23 ．4 象限逆正接関数および βを求める際の場合分けを Fig. 2.12 に示す．
次に cβ ̸= 0 (β ̸= ± π2 ) として α，γ を求める．cβ はすでに求まっており既知であるため，r11 および r21 に関する関係式よりただちに α が求まる．
()
r21 r11
α = Atan2,(2.51)cβ cβ
姿勢角 γ についても α と同様に r32 ，r33 に関する関係式よりただちに求まる．
)(
r33 r32,
γ = Atan2cβ cβ(2.52)

さて，先ほど除外した cβ = 0 (β = ± π2 ) の場合について議論する．いずれも同様に扱えるので，β = π2 のみついて考えると，

r11 = r21 = r32 = r33 = 0, r31 = 1であるため，(2.47) 式のうち本質的に意味のある式は以下のようになる．

cα sγ − sα cγ = r12 , cα cγ + sα sγ = r13sα sγ + cα cγ = r22 , sα cγ − cα sγ = r23(2.53)

これらをさらに三角関数の加法定理を用いてまとめれば

cos(γ − α) = r22 = r13
sin(γ − α) = r12 = −r23

(2.54)となる24 ．したがって，姿勢角 α，γ の差のみしか求まらない25 ．このように解の一意性が損なわれることを，解が縮退状態であると言う．また，このときの β = ± π2 のことを特異点 (singular point) と呼ぶ．通常このような特異点は避けるべきだが，どうしても解を通常の逆正接関数の場合，tan−1 (y/x) として角度を決定するため，(x > 0, y > 0) と (x < 0, y < 0)，(x > 0, y < 0) と (x < 0, y > 0) の場合は同一の角度とみなされてしまう．
24
成分等式 r22 = r13 ，r12 = −r23 は正規直交行列の条件から成り立つ．
25
β = − π2 の場合は γ + α となり，和のみが求まる．
23

2.6 パラメータ表現した回転行列の逆問題

19

一意に定めたい場合は，α = 0 となるように解を定めるなど，恣意的な決まりを導入せざるを得ない．
特に，オイラー角においては，この特異点に陥ることをジンバルロック (gimbal lock)と呼ぶ．これは，ジャイロや羅針盤を保持するジンバル機構において，3 つのリングのうち 2 つのリングの回転軸が一致したときに直交する軸について回転することができなくなることをロックと呼んだことに由来する．

2.6.3 1 軸回転表現の逆問題
1 軸回転表現の (2.46) 式より，回転行列の成分 r11 , · · · , r33 は以下で与えられる．
 kx ky (1 − cθ ) − kz sθ kx kz (1 − cθ ) + ky sθ
r11 r12 r13
kx2 (1 − cθ ) + cθ ky2 (1 − cθ ) + cθ
ky kz (1 − cθ ) − kx sθ  r21 r22 r23  =  kx ky (1 − cθ ) + kz sθ
r31 r32 r33
kx kz (1 − cθ ) − ky sθ ky kz (1 − cθ ) + kx sθ
kz2 (1 − cθ ) + cθ
(2.55)
まず回転量 θ を求める．両辺の行列のトレース (trace) をとると
r11 + r22 + r33 = (kx2 + ky2 + kz2 )(1 − cθ ) + 3cθ = 1 − 2cθ{z}|Atr( RB )よって θ は(−1

θ = cos

r11 + r22 + r33 − 1
2

)

(
−1

= cos

tr(A RB ) − 1
2)(2.56)のように求められる26 . ここで逆余弦関数 cos−1 (x) の値域は [0, π] であることに注意すべきである．もし θ の値として [π, 2π) を取りたい場合は，(2.56) 式で得られた値を用いて2π − θ を新たな θ とすれば良い．
次に回転方向ベクトル k ∈ R3 を求める．回転行列とその転置の差をとると

 

0
r12 − r21 r13 − r31
0−2kz sθ 2ky sθ

 

A
T
RB − A RB=  r21 − r120
r23 − r32  =  2kz sθ
0−2kx sθ 
r31 − r13 r32 − r230−2ky sθ 2kx sθ
0(2.57)となり，歪対称行列となる．非対角成分を取り出してまとめれば，sθ ̸= 0 (θ ̸= 0) として
回転方向ベクトル k が求まる．

r32 − r23
1 
(2.58)k=r13 − r31 2sθ
r21 − r12
なお (2.58) 式から明らかなように，θ = 0 が特異点である．

回転行列 A RB は detA RB = +1 の正規直交行列であるため，その固有値 λ1 ，λ2 ，λ3 は λ1 = 1，
λ2 , λ3 = a ± jb(a2 + b2 = 1) となる [7]．したがって，tr(A RB ) = λ1 + λ2 + λ3 = 1 + 2a であり，−1 ≤ a ≤ 1
より −1 ≤ tr(A RB ) ≤ 3 であることから，必ず解が存在する [5]．
26

第2章

20

2.6.4

特異点に関する補足

ここまでオイラー角および 1 軸回転表現に関する逆問題の解法を紹介し，特異点について触れた．特異点は数学的には，ZY X オイラー角では β = ± π2 ，1 軸回転表現では θ = 0のように領域ではなく座標点であるため，その点のみ避ければ良いように思われる．しかしながら，実用上はその考え方は危うい．例えば 1 軸回転表現を採用している場合，回転量が小さい運動を表現する場合には θ すなわち sθ が小さくなる．その結果 (2.58) 式においては s1θ が大きくなる．行列部分の成分が相対的に小さくなるので，計算結果だけをみれば整合性は取れているように思われるが，実際は非常に大きな値と小さな値の掛け算が発生するため，数値計算としては悪条件となり，計算結果の誤差の増大や，最悪の場合は数値計算の不安定化を招く．よって，特異点だけでなく，その近傍でも計算補正や別表現に切り替えるなどのテクニックが必要となる．
名前だけ紹介したオイラーパラメータ (4 元数) は特異点の存在しないパラメータ表現であるため，上記で述べた問題を回避できる．オイラーパラメータは 4 変数＋ 1 拘束条件で記されるものであり，宇宙機の姿勢表現や CG での 3D オブジェクトの姿勢計算に良く用いられている．しかしながら，実際に用いる際は拘束条件を満たすように数値計算を解く必要があり，適切な処理をしないと計算誤差が累積する恐れがあるため注意が必要である．この対処法としては，例えば，マルチボディダイナミクスにおける計算手法として，
拘束条件を満足するように数値積分誤差を補正するバウムガルデ法 [12] などを用いれば良い．

第 3 章 剛体運動 – 運動学
剛体の運動として，任意の 2 点間の並進速度，回転速度の関係について取り扱う．並進
速度は位置ベクトの時間微分として容易に定義される．一方で，回転速度については，並進速度と同様にベクトル量を時間微分を用いた関係にならない．姿勢を表す数学量は回転行列であり，この回転行列と回転速度ベクトルの間の関係を示す．また，速度を取り扱う
場合は位置ベクトルよりも基準となる座標が増えるため取り扱いに注意を要する．すなわ
ち，座標成分を表記する座標系に加えて，速度がどの座標系を基準しているか，という指標である．このため，速度の基準となる座標系でも，成分をどこの座標系で表すかによって表現が異なる．ここでは 2 つの表し方として，空間座標系 (基準座標系) を用いた場合と，物体座標系を用いた場合を示す．

3.1 時間変化する位置・姿勢の表記法

Figure 3.1: 剛体の並進速度・回転速度
ここでは剛体すなわち物体座標系 ΣB の位置・姿勢が時間変化する場合を考える．すな
わち，A pB ，A RB が時間の関数
A

pB = A pB (t), A RB = A RB (t)であるとする．このとき，Fig. 3.1 のように，剛体は瞬間的な変化，すなわち並進速度
AvB ∈ R3 ，回転速度 A ωB ∈ R3 を持つ．

第3章

22

3.1.1

時間微分を行う座標系と成分表記する座標系の区別

並進速度 A vB の定義は以下のように位置ベクトル A pB の時間微分で与えられる．

dA
pB
dt
この定義から明らかなように，並進速度 A vB は
A

vB :=

(3.1)

• 「座標系 ΣA を基準」とする「座標系 ΣB の原点」の並進速度を「座標系 ΣA において成分表記」したものである．このように，速度においては，以下の 3 つの事項が存在する [3, 5] 1 ．

• 速度の基準となる座標系＝時間微分を行う座標系• 速度を考える点 (座標系)• 成分表記をする座標系
したがって，より正確に速度を取り扱うためには，「時間微分を行う座標系」を明示する必要がある．
A
dA
A
vB :=
pB
(3.2)
dt
ここで，時間微分演算子の左肩添字 A は座標系 ΣA で微分を行う ことを意味している．したがって，座標系 ΣB で表現されたベクトル B a を座標系 ΣA で時間微分することは，

)
dB
d (A
a :=
RB B a(3.3)
dtdtのように，座標系を ΣA に変換してから時間微分を行う こととして定義される2 ．この時
間微分の定義から，速度ベクトルの左肩添字は，「微分を考える座標系」と「成分表記する座標系」を兼ねていることが分かる．
そこでさらに，「微分を考える座標系」と「成分表記する座標系」が異なる場合に表記を拡張する．
CvAB := C RA A vB
(3.4)
A

このように，右下添字 AB において，左側 A が速度の基準となる (時間微分を考える) 座
標系，右側 B が速度を考える座標系となっている3 ．ただし，通常は成分表記と時間微分の座標系が一致している場合が多いため，これまで使用してきた短縮した表記 A vB も用いる．
A
vB = A vAB(3.5)
なお，回転速度 A ωB についても，考えるべき事項や添字の意味は同様であるため省略する．ただし，回転速度ベクトル A ωB は並進速度 A vB と違い，2 章で述べた姿勢角ベクト
ルのいずれかを直接的に時間微分することで得られるものではなく，回転行列 A RB の時
間微分と関連付けられるものである．詳細は次節で述べる．
1

本来はこの 3 つに加えて「微分される位置ベクトルの起点位置」を考える必要があるが，たった 1 つの変数にそこまでの情報を盛り込むと記述があまりに煩雑になることから省いてある．また，速度変数に表記する情報をこの 3 つにすることで，並進速度と回転速度での表記を統一して扱うことが出来る．
2
時間微分の左肩添字 A は「成分表記を ΣA に変更」するだけであり，座標系 ΣA と ΣB の原点のずれは考慮していないことに注意すべきである．
3
右下添字の意味は書物により異なる．例えば文献 [4, pp.53,62] では，添字において右側が基準となる座標系，左側が表現される座標系として定義されている．したがって，(3.4) 式の表記は C vBA となる．

3.1 時間変化する位置・姿勢の表記法

3.1.2

23

速度の表現方法 [5]

ここでは特に良く用いられる 3 種類の速度の表現方法について述べておく．まず，最も自然な考え方の「成分表記する座標系」と「速度の基準となる座標系」を一致させた速度()(A)
vB , A ωB or A vAB , A ωAB(3.6)のことを hybrid velocity と呼ぶ．速度の基準，成分表記のいずれも基準座標系 ΣA に関して考えられており，恐らく最も良く用いられる表現であろう．
次に，「成分表記する座標系」を「速度を考える座標系」に一致させた速度(B) ( TA)TAvAB , B ωAB = A RB
v B , A RB
ωB
(3.7)
のことを body velocity と呼ぶ．このように，「成分表記する座標系」を剛体に固定した ΣBとしている．一見ゼロのようであるが，「速度の基準となる座標系」と「成分表記する座標系」が異なるためゼロにはならない．この表現は特に移動体 (自動車，船など) で良く用いられている．
最後に，spatial Velocity と呼ばれる速度について述べる．Fig. 3.2 のように，剛体上に点 q があるとき，その並進速度 A vq は次のように与えられる．
A

vq = A ωB × A RB B pq + A vB = A ωB × A pBq + A vB

(3.8)

ここでは，剛体の代表点が並進速度・回転速度 (A vB , A ωB ) を持つときに，その代表点から A pBq = A RB B pq だけ離れた点 q の並進速度 A vq を表す式になっている．次に，点 q を物体座標系 ΣB の原点からではなく，基準座標系 ΣA の原点から A pq だけ離れた点 q として捉え直した場合の表現に変形してみる．
()
A
vq = A ωB × A pq − A pB + A vB()
= A ωB × A pq + −A ωB × A pB + A vB

= A ωBs × A pq + A vBs
ただし(A s A s )()
vB , ωB := −A ωB × A pB + A vB , A ωB

Figure 3.2: 剛体上の点 q の速度(3.9)(3.10)

第3章

24

Figure 3.3: Spatial Velocity(剛体上の点 q の速度) の解釈
この (3.9) 式では，Fig. 3.3 のように，仮想的な剛体の代表点が基準座標系 ΣB の原点にs A s
あって並進・回転速度 (A vB, ωB ) を持つとき，その剛体に連動して点 A pq が動くときのs A s
並進速度 A vq を表している．このような速度表現 (A vB, ωB ) を spatial Velocity と呼ぶ．
以上の説明から明らかなように，Spatial Velocity は解釈が難しく物体の運動を表すことにも向かない．実際に用いられる表現はもっぱら Hybrid Velocity や Body Velocity である．

3.2

剛体上の異なる座標系の速度変換

Figure 3.4: 剛体に固定された異なる座標系の間の速度・回転速度の関係

3.2.1

成分表記する座標系が一致する場合 (hybrid velocity)

Fig. 3.4 のように，基準座標系 ΣA において，剛体 (ロボットのリンク) に異なる物体
座標系 ΣB ，ΣC を固定する．また，座標系 ΣB ，ΣC の並進速度・回転速度をそれぞれ

3.2 剛体上の異なる座標系の速度変換

25(A vB , A ωB )，(A vC , A ωC ) とする．このとき，これら速度の関係式は，速度の幾何学的関係より次のように与えられる4 ．
{
A
vC = A vB + A ωB × (A RB B pC )(3.11)A
ωC = A ωB
このように，座標系 ΣC の並進速度 A vC については，ΣB の並進速度 A vB はそのまま伝播し，さらに回転速度 A vB の影響による並進速度成分 A ωB × (A RB B pC ) が足し合わさったものになっている．また回転速度 A ωC については座標系 ΣB の回転速度 A ωB のみがそのまま伝播している．
さて，この速度の関係 (3.11) 式をより利便性の高い形式に変形することを考える．そのために，外積について以下の表現を導入する [5]．
 
 

ay bz − az by
0 −az ay
bx
 
 

(3.12)
a × b = az bx − ax bz  =  az
0 −ax by  = a∧ b
ax by − ay bx−ay ax0bz
ただし a∧ ∈ R3×3 はベクトル a = [ax ay az ]T ∈ R3 による外積演算に等価な線形変換を表す表現行列であり，次の歪対称行列として定義される．

0 −az ay
b :=  aza∧ = a(3.13)
0 −ax −ay ax0
この歪対称行列の表現行列を用いれば，(3.11) 式の並進速度の関係式は
A

vC = A vB − (A RB B pC ) × A ωB = A vB − (A RB B pC )∧A ωBのように変形できるため，回転速度の関係式と合わせれば次の変換式を得る．
[
] [
][
]
A
vC
I3 −(A RB B pC )∧ A vB
=
A
A
ωC
03×3
I3
ωB
ここで

[
h
JCB
:=

I3 −(A RB B pC )∧03×3
I3(3.14)(3.15)](3.16)

この (3.15) 式は，「速度の基準となる座標系」と「成分表記する座標系」が一致する場合，
すなわち Hybrid Velocity に関する変換式である．

3.2.2

成分表記する座標系が異なる場合 (body velocity)

次に，速度の「成分表記する座標系」と「速度を考える座標系」が一致する Body Velocity
について考える．
{
B
TA
TA
vAB = A RB
vB , B ωAB = A RB
ωB
(3.17)CTA
TA
vAC = A RC
vC , C ωAC = A RC
ωC
4

並進速度は (3.1) 式より位置ベクトルの時間微分により定義されるため，座標系 ΣC の原点を異なる座標系 ΣA ，ΣB で表現した座標変換の関係式 A pC = A pB + A RB B pC を時間微分することで，(3.11) 式を得ることができる．ただし，この導出方法においては後述する回転速度ベクトルと回転速度の関係が必要で
ある．

第3章

26
この (3.17) 式を (3.15) 式に代入すれば
][
][
]
][
[
] [
B
C
A T
I3 −(A RB B pC )∧ A RB 03×3
vABvAC
RC 03×3
=
T
C
03×3
I3
03×3 A RB B ωAB
ωAC
03×3 A RC
[
][
]
A TA
T A
RC RB −A RC( RB B pC )∧A RB B vAB
=
B TA
B
03×3
RC RB
ωAB

(3.18)

TAとなる．さらに整理すると，A RC
RB については以下のようになる．
A

TA
T
RC
RB = C RA A RB = C RB = B RC

(3.19)T A( RB B pC )∧A RB については，任意の歪対称行列 B a∧ について
また，A RC()∧()
T
RB B a∧ A RB
= A RB B a(3.20)TA T ATB ∧T A
RC( RB B pC )∧A RB = B RC
RB ( RB B pC )∧A RB = B RC
pC

(3.21)A

成り立つ [5] ことから，
Aのように整理できる．よって，(3.19)，(3.21) 式を (3.18) 式に代入すれば，Body Velocity
に関する速度の変換式を得る．
[
] [
][
]
C
B T
TB ∧
vAC
RC −B RCpC B vAB=(3.22)
C
B T
B
ωAC
03×3
RC
ωAB
ここで

[

T
TB ∧
RC
−B RC
pC
b
JCB
:=
B T
03×3
RC
B

]

実際，(3.22) 式を展開すれば
[
] [
]
C
B TB
T B
vAC
RC vAB + B RC
( ωAB × B pC )
=
C
B TB
ωAC
RC ωAB(3.23)(3.24)となっており，速度の等価変換を行った後に座標変換していることが分かる．

3.3

回転速度ベクトルの定義と解釈

3.3.1

回転行列の時間微分による回転速度の定義 [5, 7]

Spatial velocity 表現での定義
前節の速度の関係 (3.11) 式は幾何学的見地から直接導出されたものであるが，ここでは，位置・姿勢の関係式を時間微分することで導出することを考える．ただし並進速度については明らかであるから，座標系 ΣA と ΣB の原点は一致しており A pB = 0 とする．したがって，位置ベクトルの関係式は次のようになる．
A

pC = A RB B pC

(3.25)

3.3 回転速度ベクトルの定義と解釈

27

これを時間微分すれば
A

ṗC = A ṘB B pC

(3.26)となる．ここで回転行列の時間微分 A ṘB がどのようなものであるか考えてみよう．そのために，回転行列について成り立つ関係式
A

T
RB A RB= I3(3.27)

を時間微分すると，
A

T
T
T
T
ṘB A RB
+ A RB A ṘB= 0 ⇔ A ṘB A RB
= −A RB A ṘB
=−

(

A

T
ṘB A RB)T
(3.28)

Tという関係が成り立つことから，A ṘB A RB
は歪対称行列であることが分かる．したがっ3て，あるベクトル b ∈ R の外積に等しい線形変換の表現行列としての歪対称行列になっている．
AT
ṘB A RB= b∧
(3.29)

このベクトル b が物理的解釈を調べる．(3.29) 式より A ṘB = b∧A RB を (3.26) 式に代入
すれば
(
)
A
ṗB = b∧ A RB B pC
(3.30)となる．ここで，幾何学的に導出される速度の関係 (3.11) 式より
A

(
)
(
)
ṗB = A ωB × A RB B pC = A ωB∧ A RB B pC

(3.31)

である事実と比較すれば容易に b = A ωB であることが判明し，(3.29) 式より，回転速度A
ωB の定義式が次のように与えられることが分かる．
A

T
ωB∧ := A ṘB A RB

(3.32)∧
ここで回転速度 A ωB はベクトルであるにも関わらず，その歪対称行列 A ωB
で定義された∧式となっているので，これをベクトル表記に変更するため，以下の a に関する逆変換を定義する．
∨(a∧ ) := a(3.33)

この逆変換は，ベクトル a ∈ R3 により作られた歪対称行列 a∧ ∈ R3×3 から成分を抜き出してベクトル a に戻す働きをする．この表現を用いれば，回転速度の定義 (3.34) 式は次のようになる．
)
(
A

ωB :=

A

T
ṘB A RB∨

(3.34)

この式が Spatial Velocity(Hybrid Velocity) としての回転速度 A ωB の定義である．

Body velocity 表現での定義
また，Body Velocity としての回転速度 B ωAB についても同様の定義が与えられる．(3.26)式を以下のように変形する．
()
ATA
ṗC = A RB A RB
ṘB B pC
(3.35)

第3章

28
ここで，(3.27) 式と同様な回転行列の性質
A

TA
RB = I3RB(3.36)

TA
を時間微分すれば，A RB
ṘB について次の関係式
A

TA
RB
ṘB = −

(

A

TA
RB
ṘB

)T
(3.37)

が成り立ち，歪対称行列であることが分かる．したがって，Spatial Velocity(Hybrid Velocity)としての回転速度 A ωB の定義式である (3.32)，(3.34) 式と同様にして，Body Velocity としての回転速度 B ωAB の定義式は次の式で与えられることになる．
(
)∨
TA
TA
B ∧
ωAB := A RB
ṘB or B ωAB := A RB
ṘB
(3.38)
よって，(3.35) 式は Body Velocity の回転速度を用いて以下のように表現される．
A

(
)
∧ B
ṗC = A RB B ωAB
pC = A RB B ωAB × B pC

(3.39)

この (3.39) 式では回転速度の外積により並進速度を算出してから座標変換している．一方，Spatial Velocity(Hybrid Velocity) の回転速度 A ωB を用いた速度表現 (3.30) 式では，座標変換して回転速度と位置ベクトルの座標系を合わせてから外積により並進速度を算出しており，座標変換を後に行うか，先に行うかの違いがある．

Spatial velocity と Body velocity の関係
最後に，Spatial Velocity と Body Velocity の関係について調べる．定義 (3.32)，(3.38) 式
および歪対称行列に関する性質の (3.20) 式を用いれば
(
)
(
)∧
A ∧
A
A TA
T
∧ A T
ωB = RB RB ṘB A RB
= A RB B ωAB
RB = A RB B ωAB(3.40)となっており，前述した (3.7) 式と一致していることが分かる．

3.3.2

回転速度ベクトルの積分値 [4]定義 (3.32)，(3.38) 式より明らかなように，回転速度ベクトル A ωB ，B ωAB は回転行列
A
RB のパラメータ表現のようなベクトル関数を時間微分することで直接的に与えられる
ものではない．より正確に言えば，時間微分することで回転速度ベクトルとなるようなベクトル関数は存在しない．これは，時々刻々の回転行列 (姿勢) が，回転速度ベクトルの時
刻歴に依存することを意味している．
回転速度ベクトルの積分の経路依存性について，簡単な例により説明しよう．以下の 2
種類の回転を考える．

3.3 回転速度ベクトルの定義と解釈

29

Case 1 回転速度 A ωB が，時間 [0, 1] の間は X 軸に関して π2 ，時間 [1, 2] の間は Y 軸に関して π2 の値を持つ．
 
 
π
0
2
π
A
ωB =  0  (0 ≤ t ≤ 1),  2  (1 ≤ t ≤ 2)00
このとき，2 秒後の回転行列 A ωB は以下のようになる．


0 1 0


A
RB =  0 0 −1
−1 0 0Case 2 回転速度 A ωB が，時間 [0, 1] の間は Y 軸に関して π2 ，時間 [1, 2] の間は X 軸に関して π2 の値を持つ．
 
 
π
0
2
 
A
ωB =  π2  (0 ≤ t ≤ 1),  0  (1 ≤ t ≤ 2)00
このとき，2 秒後の回転行列 A ωB は以下のようになる．


0 0 1


A
RB = 1 0 0
0 1 0
このように，Case 1 と Case 2 での回転行列 A RB の値はまったく異なっている．この変化の様子を各時刻での姿勢として描写したものを Fig. 3.5 に示す．図からも明らかなように，t = 0 において同一の姿勢であったにも関わらず，終端時刻 t = 2 において全く別の姿勢となっている．しかしながら，回転速度ベクトル A ωB の積分値だけを見れば，
 
π
∫ 2
2
A
ωB dt =  π2 00であり，Case 1, 2 のいずれも場合も一致している．このように，回転速度ベクトルの積
分値に明確な意味はなく，姿勢はその時刻歴に依存している．

3.3.3

回転速度と回転行列のパラメータ表現の関係 [4, 7]

回転速度ベクトル A ωB の積分値が意味を持たない一方で，前章で示した回転行列のパラメータ表現であるオイラー角 (固定角) や 1 軸回転表現は明確な物理的 (幾何学的) 解釈
によって導かれたものである．したがって，回転速度ベクトルとパラメータ表現を時間微分した関数との関係が分かれば有用である5 ．
5

実際，回転の運動方程式は角速度で記述されるが，ラグランジュの運動方程式を用いる場合は局所座標(パラメータ表現) を用いるため，両者とも必要である．

第3章

30

Figure 3.5: 回転速度ベクトル A ωB 異なる時刻歴による回転行列 (姿勢) A RB の変化 [4]
ここでは，ZY X オイラー角を例に取り，その時間微分と回転速度ベクトルの関係について述べる6 ．Fig. 3.6 は ZY X オイラー角
 
α
 
A
ϕB := β 
(3.41)
γの時間微分 A ϕ̇B = [ α̇ β̇ γ̇ ]T を回転軸を明示して描画したものである．ZY X オイラー角の定義より，姿勢角 α，β ，γ はそれぞれ ZA 軸，YA′ 軸，XA′′ 軸まわりの回転角度である．したがって，その時間微分である瞬間回転速度についても，ZA 軸，YA′ 軸，XA′′ 軸に関するものであることが分かる．これらの軸を表す方向ベクトルは




 
−sα
0
cα cβ




 
A
zA = 0 , A yA′ = RZ (α)A yA =  cα  , A xA′′ = RZ (α)RY (β)A xA = sα cβ  (3.42)−sβ01で与えられる．したがって，回転速度ベクトル A ωB はそれぞれの回転軸まわりの回転速

6もちろん 1 軸回転表現の (k, θ) の時間微分との関係や，省略した他のパラメータ表現との関係も存在す
るが，導出が非常に複雑であるためここでは触れない．

3.3 回転速度ベクトルの定義と解釈

31

Figure 3.6: 回転速度ベクトル A ωB と ZY X オイラー角の時間微分の関係
度の線形和に等しい．
A

ωB = α̇A zA + β̇ A yA′ + γ̇ A xA′′
 
] α̇
[
 
= A zA A yA′ A xA′′ β̇ γ̇= Trs (A ϕB )A ϕ̇B ,
0 −sα cα cβTrs (A ϕB ) := 0 cα sα cβ 1 0−sβ(3.43)

この関係式は次のようにも解釈できる．

• 回転速度 A ωB
直交座標系 {A xA , A yA , A zA } の各軸まわりの回転速度を合成した表現• ZY X オイラー角の時間微分 A ϕ̇B
現在の A ϕB の値に依存する斜交座標系 {A zA , A yA′ , A xA′′ } の各軸まわりの回転速度を合成した表現
変換行列 Trs (A ϕB ) は斜交座標系 {A zA , A yA′ , A xA′′ } の各軸から構成されており，姿勢角が β = ± π2 の値をとるとき，
0 −sα 0
Trs (A ϕB )= 0 cα0
β=± π21 0 ∓1となり，A zA 軸と A xA′′ 軸が同一直線上にあるため Tr (A ϕB ) の逆行列が存在せず，特異状態となる．この特異点は ZY X オイラー角の逆問題における特異点と同一であり，後述
するように回転に関する運動方程式を姿勢角で表現する際には注意が必要である．
次に Body Velocity に関する (3.43) 式と同様の関係式を求める．Body Velocity と Spatial
T
Velocity の関係 (3.7) 式より，(3.43) 式の左から A RB
をかける．
B

TA
TA
TA
ωAB = α̇A RB
zA + β̇ A RB
yA′ + γ̇ A RB
xA′′

ここで，(3.42) 式および
A

T
T
RB
= RX
(γ)RYT (β)RZT (α)

第3章

32
であることから，

 



1
0
−sβ
 
 A TA A TAA TA
RB zA = cβ sγ  , RB yA′ =  cγ  , RB xA′′ = 0
0
−sγ
cβ cγ


となることを考慮すれば，以下の関係式を得る．




−sβ
0 1


B
ωAB = Trb (A ϕB )A ϕ̇B , Trb (A ϕB ) := cβ sγ cγ 0
cβ cγ −sγ 0(3.44)

この変換行列 Trb (A ϕB ) も Spatial Velocity の変換行列 Trs (A ϕB ) と同様に β = ± π2 が特異点である．
以上の関係式は，回転行列 A RB をオイラー角で表現したものを回転速度ベクトルの定
義式の (3.32)，(3.38) 式に代入して成分比較しても求めることができる．ただし計算が非常に煩雑になるため，ここでは幾何学的な解釈から導出した．なお，他のパラメータ表現の時間微分との関係式については，定義式に基づいて直接的に導出することになる [7]．

3.4移動する座標系間の速度変換 (一般化された速度変換)

Figure 3.7: 座標系 ΣA を基準として座標系 ΣB ，ΣC の運動を扱う際の速度変換
Fig. 3.7 のように，並進および回転運動を行う座標系 ΣA ，ΣB ，ΣC を考える．ただし，
座標系 ΣA を基準として考えるものとする．なお，この状況設定は，Fig. 3.4 において，座標系 ΣB が剛体から離脱して自由運動している状況と等価であり，B pC が一定値ではなく

3.4 移動する座標系間の速度変換 (一般化された速度変換)

33

変数になっていると考えれば良い．このとき，座標系 ΣC の並進・回転速度に関して，ΣAを基準とした (A vC , A ωC ) と ΣB を基準とした (B vC , B ωC ) の間の関係を導く7 ．ここでは，以下の位置ベクトル A pC ，B pC の間の座標変換を用いる．
A

pC = A pB + A RB B pC

(3.45)

この (3.45) 式を時間微分して，回転速度ベクトルの定義 (3.32) 式を用いる．
AṗC = A ṗB + A ṘB B pC + A RB B ṗC= A ṗB + A ωB∧ A RB B pC + A RB B ṗC= A ṗB + A ωB × (A RB B pC ) + A RB B ṗC(3.46)(3.46) 式は，(3.7) 式において，座標系 ΣB から見た座標系 ΣC の原点の変化である A RB B ṗCを加えたものになっていることに注意されたい．この (3.46) 式が移動する座標系間の一般的な並進速度の変換の関係式である．
次に回転速度について同様の関係式を導出する．姿勢を表す回転行列 A RC ，B RC について，以下の関係が成り立つことは明らかである．
A

RC = A RB B RC

(3.47)

並進速度の導出の場合と同様に，(3.47) 式の時間微分を行い，回転速度ベクトルの定義(3.32) 式および歪対称行列の性質の (3.20) 式を用いる．
A

ṘC = A ṘB B RC + A RB B ṘC= A ωB∧ A RB B RC + A RB B ωC∧ B RCTA
= A ωB∧ A RC + A RB B ωC∧ A RB
R BR
|
{z
} | B{z C}A
RC(A RB B ωC )∧T
したがって，両辺の右から A RC
をかけて，もう一度回転速度ベクトルの定義 (3.32) 式を
用いれば
A

|

T
ṘC A RC
= A ωB∧ + (A RB B ωC )∧
{z }
A ∧
ωC

となる．(3.13) 式の歪対称行列の演算子 ∧ を (3.33) 式の逆変換の演算子 ∨ を用いて取り払えばA
ωC = A ωB + A RB B ωC
(3.48)
を得る．(3.48) 式は，並進速度の関係 (3.46) 式と同様に，座標系 ΣB から見た座標系 ΣCの原点の回転変化である A RB B ωC を加えたものになっている．この (3.48) 式が移動する
座標系間の一般的な回転速度の変換の関係式である．

7

Spatial velocity に関する関係式のみを導出し，Body velocity については省略する．

第3章

34

3.5

静力学 –速度と力の双対性

3.5.1

作用点の異なる等価な一般化力の関係

まず，並進力，モーメントをまとめた一般化力 F ∈ R6 ，および並進速度，回転速度をまとめた一般化速度 V ∈ R6 を導入する [5]．
[ ]
[ ]
f
v
F :=
, V :=(3.49)nω
ここで f ∈ R3 ，n ∈ R3 はそれぞれ並進力，モーメントを表すベクトルである．なお，一般化力 F を レンチ (wrench) と呼ぶ場合もある8 ．

Figure 3.8: 剛体上で作用点の異なる並進力・モーメントの関係
Fig. 3.8 のように，基準座標系 ΣA があり，剛体に異なる座標系 ΣB ，ΣC は固定されているとする．ここで，座標系 ΣC の原点を作用点とする並進力・モーメント FC ∈ R6 が作用しており，座標系 ΣB の原点を作用点とする並進力・モーメント FB ∈ R6 がそれと等価であるとする．
[ ]
[ ]
fB
fC
FB :=
, FC :=nB
nC
ここでは成分表記を表す左肩添字を省いてあるのは，次のように座標系が同一の場合，異なる場合の 2 通りに関する関係を考えるためである．

• 同一の座標系：A FB と A FC の関係• 異なる座標系：B FB と C FC の関係
まず，一般化力がいずれも基準座標系 ΣA で表現される場合を考える．座標系 ΣB ，ΣCの位置・姿勢に関する微小変分をそれぞれ δ A rB ，δ A rC ∈ R6 とする．ここで，これら変分
δ A rB ，δ A rC はそれぞれ一般化速度 A VB ，A VC ∈ R6 に対応している．したがって，(3.15)式より次の関係が成り立つ．
hδ A rC = JCBδ A rB(3.50)
8

それほど使用されているわけではない．比較的古い用語であると思われる．

3.5 静力学 –速度と力の双対性

35

この条件の下，微小変分に対する仮想仕事を考えれば，作用点 B ，C で行われる仕事は等しい．
TAδ A rCT A FC = δ A rB
FB
(3.51)
この仮想仕事の等価な関係式に (3.50) 式を代入すれば，
T h TATAδ A rBJCB FC = δ A rB
FBとなり，この式が任意の δ A rB について成り立つことから，一般化力 A FB ，A FC の関係式が得られる．
Ah TA
FB = JCB
FC(3.52)
ここで，(3.16) 式を用いて (3.52) 式を展開すると以下のようになる．
[
] [
][
] [
]
A
A
fB
I3
03×3 A fC
fC
= A
= A
A
A
nB
( RB B pC )∧ I3
nC( RB B pC ) × A fC + A nC

(3.53)

この式より，並進力はそのまま伝達しており，モーメントについては，作用点 B から Cへの距離を表す A RB B pC に起因したモーメント (A RB B pC ) × A fC と A nC を合成したものになっており，(A fB , A nB ) を (−A fB , −A nB ) に置き換えた場合の力・モーメントの釣り合い式と一致していることが分かる．
次に，一般化力を表す座標系が異なり，B FB ，C FC のように力の作用点として考える
座標系と成分表示が一致する場合を考える．基準座標系 ΣA に対する座標系 ΣB ，ΣC の位置・姿勢の微小変分を自身の座標系で表したものをそれぞれ δ B rAB ，δ C rAC ∈ R6 とする．したがって，(3.22) 式より次の関係が成り立つ．
bδ C rAC = JCBδ B rAB(3.54)

作用点 B ，C で行われる仮想仕事は等しいため以下が成り立つ．
T C
T B
δ A rACFC = δ B rAB
FB(3.55)

この仮想仕事の等価な関係式に (3.54) 式を代入して整理すれば，(3.52) 式と同様に一般化
力 B FB ，C FC の関係式が得られる．
B

b TC
FB = JCBFC

ここでも，(3.23) 式を用いて (3.56) 式を展開すれば以下のようになる．
[
] [
][
] [
]
B
B
C
B
fB
RC
03×3
fC
RC C fC= B ∧B= B
B
nB
pC RC B RC C nC
pC × (B RC C fC ) + B RC C nC

(3.56)(3.57)

このように，座標系 ΣC から ΣB へ座標変換した後で等価していることが分かる．

3.5.2

一般化力を表す座標系の選択

作用点の異なる等価な一般化力の関係 (3.52)，(3.56) 式のそれぞれのメリット，デメリッ
トについて述べる．まず (3.52) 式を用いた場合は，作用点の異なる力 A FB ，A FC を同一

第3章

36

の座標系 ΣA で扱うことができる．全ての一般化力が同じ座標系で成分表示されるため座標変換の必要がないという意味では扱いやすいと言える．また，物体の運動は基準座標系
ΣA で表現するため，その運動にどのように作用するかが明確になるという意味でも，運動と同一の座標系 ΣA で表現した方が良い．
その一方で，一般化力を物体に固定した座標系で表現した方が良い場合もある．Fig. 3.8式のように，ロボットの手先が接触点 C において物体を押しており，クーロン摩擦が働いているとする．この場合，点 C を作用点とする一般化力は次のように表される．
[
]
[
]
C
f
I
C
3
C
FC =
= BC C fC , BC :=(3.58)
03×1
03×3
剛体同士の接触は点接触になるため，モーメントについては C nC = 0 となる．(3.58) 式
は一般化力 C FC ∈ R6 が本質的に並進力 C fC ∈ R3 の 3 自由度のみであり，BC ∈ R6×3 の列ベクトルを基底ベクトル，C fC の各成分が基底ベクトル方向の大きさを表していると解釈できる．このことから，BC を wrench basis と呼ぶ．さて，並進力 C fC の各成分


C
fC x


C
fC = C fCy C
fCz
は接触点 C に固定した座標系 ΣC の XC 軸，YC 軸，ZC 軸方向の大きさであり，値によっては摩擦条件を破り滑る可能性もある．この場合，ZC 軸を点 C での物体表面の内向き法線にとれば，ロボット手先が滑らない摩擦条件を容易に定式化できる．
√
C(3.59)
fCz ≥ 0, µC fCz ≥ C fC2 x + C fC2 y
ここで µ は静止摩擦係数である．この摩擦条件を図示したものが Fig. 3.9 であり，接触点
法線ベクトル ZC 軸まわりに開き角 α の円錐となることから，摩擦円錐 (friction Cone) と呼ばれる．
α := tan−1 µ(3.60)
このように摩擦条件を考える場合は，物体表面に合わせた成分で接触力を表現した方が良いことが分かる．

Friction Cone

Contact Normal

Rigid Body Surface

Figure 3.9: 摩擦条件：点 C における摩擦円錐

3.5 静力学 –速度と力の双対性

37

さらに，接触点において摩擦がない状況を考えてみる．この場合，接触点 C で働く一
般化力は次のようになる．
 
[
]
0
ez
 
C
C
FC = BC fC , BC :=, ez = 0
(3.61)
03×1
1
このように，本質的な力の自由度は接触点法線方向の力 C fC ，すなわち垂直抗力のみであることが容易に分かる．しかしながら一方で，一般化力を表す座標系を基準座標系の ΣAで表現した際は
[
]
A
fC
A
FC =
, A fC ∈ R3
(3.62)
03×1となり，本質的な自由度が 1 つしかないにも関わらず，並進力の 3 成分が必要になってしまうことが分かる．

第 4 章 剛体運動 – 動力学
剛体の運動として，動力学に関する性質を取り扱う．まず，剛体の慣性に関わる諸性質
として，質量，重心，慣性テンソルについて解説する．質量は剛体上の各点における密度を体積全体について積分したもの，重心は剛体全体に関する総モーメントが釣り合う点として定義される．また慣性テンソルは角運動量を回転角度を掃きだした形式で表現した
際の係数行列として定義される．これらは別の観点から見れば，密度 (質量) に対する重心からの距離に関する重み付き平均として考えることもでき，それぞれ 0 次，1 次，2 次
モーメントとも呼ばれる．次に運動方程式について，古典力学に基づく力の釣り合いによるニュートン・オイラー法からの導出，および解析力学に基づく運動ポテンシャル (ラグランジュ関数) に関する変分方程式のラグランジュ法からの導出について述べる．これら
いずれにおいても，運動を表す表現を Spatial Velocity(Hybrid Velocity)，Body Velocity の
どちらで表現するかで方程式の見かけ上の形がことなることについて述べる．具体的には，Spatial Velocity を用いた場合は慣性モーメントが剛体の姿勢に依存した関数となる．
一方 Body Velocity を採用した場合は慣性テンソルは一定値となるが，並進運動について
は見かけ上の力が項として現れる．

4.1 慣性に関する物理量
4.1.1

質量

Figure 4.1: 剛体の質量，重心の定義
Fig. 4.1(a) のように，剛体に座標系 ΣB が固定されており，ΣB において剛体内部の座標が r ∈ V ，V ⊂ R3 で表されているとする．ここで V ⊂ R3 は剛体を占有する体積を表している．なお，座標系が 1 つしかないため，座標系を表す左肩添字は省略する．剛体の内部点 r = [rx ry rz ]T ∈ V における密度を ρ(r) [kg/m3 ] とすれば，微小質量要素 dm は以下で与えられる．
dm = ρ(r)dV
(4.1)

第4章

40

ここで dV = drx dry drz は内部点 r における剛体の微小体積要素である．したがって，剛体の質量 (mass) m は次のように定義される．
∫∫
m := dm =ρ(r)dV(4.2)
V∫
なお，積分記号は剛体全体にわたる積分を意味しており，(4.2) 式の積分は実際には各V軸方向に関する 3 重積分となる．
∫∫∫∫ρ(r)dV =ρ(r)drx dry drz
V

各軸方向の積分範囲は，剛体の形状により通常は各軸の座標にお互いに依存するため，一般に明示できるものではない1 ．

4.1.2

重心・質量中心次に，Fig. 4.1(b) の剛体の重心 (center of gravity) rG ∈ R3 について述べる．ここで，g[m/s2 ] を重力加速度定数，重力ベクトルを g := [0 0 − g]T とする．このとき，剛体に対して働く全重力は∫fG =ρ(r)dV g = mg

(4.3)

V

である．一方，剛体に働く全重力による座標系 ΣB の原点まわりのモーメントは)(∫∫rρ(r)dV × gnG =r × ρ(r)dV g =

(4.4)

V

V

で与えられる．これら重力 fG および重力によるモーメント nG を用いて，重心 rG ∈ R3は以下の関係式で定義される．
rG × fG := nG(4.5)
ここに (4.3)，(4.4) 式を代入すれば，(∫)

rG × mg =rρ(r)dV

×g

(4.6)

V

となり，剛体に働く全ての重力が重心 rG に働くとみなしたときに発生するモーメントと剛体に働く全重力によるモーメントが等しいことを意味している．重力加速度は一様であるので，重心は以下のように求められる．
∫
1rG =rρ(r)dV(4.7)
m V
この式は剛体の内部点 r に関する重みを考慮した密度，すなわち密度の重み付き平均値を意味しており，質量中心 (center of mass) と呼ばれる2 ．
1立方体，円柱，円など，対称性があり形状が陽に関数として与えられる場合は積分範囲が明示できる．
(4.5) 式は重心の定義，(4.7) 式は質量中心の定義であり，これらは一般には異なるものであるが，重力場が一様である場合はこのように一致する [14]．
24.1 慣性に関する物理量

41

Figure 4.2: 剛体の慣性モーメントの定義

4.1.3

慣性テンソル最後に慣性テンソルについて述べる．表記の簡単化のため，Fig. 4.1(c) のように座標系
ΣB の原点を重心 G に固定して考える．したがって rG = 0 となり，(4.7) 式より明らかな
ように
∫
∫
1
0=
rρ(r)dV ⇔rρ(r)dV = 0
(4.8)
m V
V
が成り立つことに注意する．さて，Fig. 4.2 のように，基準座標系 ΣA に関して座標系 ΣBが重心に固定された剛体が Body Velocity として並進速度，回転角度 B vAB ，B ωAB を持ち運動している状況を考える．なお，表記の簡単化のため，以降では左肩添字は省略する．
このとき，剛体の内部点 r ∈ V の並進速度 vr ∈ R3 は以下で与えられる．

vr = vAB + ωAB × r(4.9)

したがって，内部点 r における微小要素 dV の角運動量 dL ∈ R3 は以下で与えられる．

dL := r × (ρ(r)dV ) vr = {r × vAB + r × (ωAB × r)} ρ(r)dV(4.10)

この角運動量を剛体全体で積分すれば総角運動量 L ∈ R3 が得られる．
∫∫∫
L := dL = (r × vAB )ρ(r)dV +r × (ωAB × r)ρ(r)dVVV∫∫= −vAB ×rρ(r)dV +r × (ωAB × r)ρ(r)dV
VV

ここで，重心に関する関係 (4.8) 式を用いれば第 1 項はゼロになる．
∫
L=
r × (ωAB × r)ρ(r)dV
V

さらに，外積の連続した演算 について，外積演算を歪対称行列に置き換えて回転角度 ωABを右側に掃き出す．
∫L=−r × (r × ωAB )ρ(r)dV
V
( ∫
)
∫
∧ ∧
∧ ∧
=−
r r ωAB ρ(r)dV = − r r ρ(r)dV ωAB(4.11)
3

V
3

Vr × (ωAB × r) のように外積演算を 2 回連続で行うことをベクトル三重積と呼ぶ [10]．

第4章

42

この (4.11) 式の ωAB の係数が慣性テンソル (inertia tensor) と呼ばれ，以下のように J ∈R3×3 として定義される4 ．
∫

rb2 ρ(r)dV

J := −(4.12)

V

このように，慣性テンソルは角運動量を回転角度を用いて表す際の係数行列と定義されており，並進運動における質量に対応している．

[注意] テンソル自体は行列量ではなく，多次元の配列であり，一般に階数 n のテンソルと呼ぶ．実際，スカラー量は階数 0，ベクトル量は階数 1，行列は階数 2 のテンソルに対応している．物理学などでは異方的な線形変換が 2 階のテンソルとなり，行列形式で表わされるため，単にテンソルと呼ぶが，決して行列ではないことに注意すべきである．
さて，(4.12) 式において慣性テンソルを構成する歪対称行列の 2 乗 rb2 について，以下の関係が成り立つ5 ．
rb2 = rr T − r T rI3(4.13)
したがって，(4.12)，(4.13) 式より慣性テンソルは以下で与えられる．
∫
( T
)
J=
r rI3 − rr T ρ(r)dV(4.14)

V

この (4.14) 式を具体的に展開することで，慣性テンソル J の各成分は次のように求められる．
Jxx Jxy Jxz
J = Jyx Jyy Jyz (4.15)
Jzx Jzy Jzz
ただし

∫

2
2


 Jxx = (ry + rz )ρ(r)dV



∫V

Jyy = (rx2 + rz2 )ρ(r)dV ,


∫V




 Jzz = (rx2 + ry2 )ρ(r)dV
V

∫



 Jxy = Jyx = − rx ry ρ(r)dV



∫V

Jyz = Jzy = − ry rz ρ(r)dV


∫V




 Jzx = Jxz = −rz rx ρ(r)dV(4.16)V

これらのうち，Jxx ，Jyy ，Jzz を慣性モーメント (moment of inertia)，Jxy ，Jyz ，Jzx を慣
性乗積 (product of inertia) と呼ぶ．このように，回転運動を考える際は，各軸まわりの回転運動により引き起こされる慣性は独立ではなく，慣性乗積により互いに影響しあうことが分かる．しかし実際にはこの慣性乗積を全てゼロにできるように座標系 ΣB の軸の向きをとり直すことが可能である．このことについては次小節で述べる．

4

微小要素 dV における並進速度 vr の運動エネルギーを体積積分することでも求めることができる．この場合は回転角度 ωAB による 2 次系式における行列として得られる．
5
ベクトル三重積に関して成り立つ公式 a × (b × c) = (a · c)b − (a · b)c [10] および外積に等しい歪対称行列を用いることでこの関係式を得ることができる．

4.2 慣性テンソルに関する性質

43

4.2 慣性テンソルに関する性質
4.2.1

正定性

まず定義 (4.12) 式より明らかなように，慣性テンソルは対称行列である．

J = JT(4.17)

また，慣性テンソルは正定行列 (positive definite matrix) である．このことは，(4.12) 式を用いて，ゼロでない任意のベクトル x ∈ R3 を用いて慣性テンソル J に関する 2 次形式を求めれば∫T
x Jx =xT (r T rI3 − rr T )xρ(r)dV
∫V
{ T
}
=
(r r)(xT x) − (xT r)(r T x) ρ(r)dV∫V{}=∥r∥2 ∥x∥2 − ∥xT r∥2 ρ(r)dV > 0(4.18)
Vとなることから容易に証明される．

4.2.2

慣性主軸

慣性楕円体
まず，回転角度ベクトルを

ωAB = ωn n,

ωn ∈ R, n ∈ R3 , ∥n∥ = 1(4.19)

として表すことにする．また，この回転角度の方向ベクトル n まわりの慣性モーメントを Jn (n) > 0 とする．このとき，回転の運動エネルギーについて次の関係が成り立つ．

11(ωn n)T J (ωn n) = Jn (n)ωn2
2
2(4.20)

この式を整理すると

nT J n = Jn (n)となるので，新しい座標として

η := √n
Jn (n)(4.21)とおけば，以下の楕円体の方程式を得る．

ηTJ η = 1

(4.22)

Jxx ηx2 + Jyy ηy2 + Jzz ηz2 + 2Jyz ηy ηz + 2Jzx ηz ηx + 2Jxy ηx ηy = 1(4.23)

実際，(4.22) 式を展開すればとなっており，楕円体の方程式であることが分かる．座標 η は座標系 ΣB で表された楕
円体の半径ベクトルであり，半径の大きさが半径方向まわりの慣性モーメント Jn (n) の平方根の逆数で与えられることから，(4.22)，(4.23) 式を慣性楕円体 (momental ellipsoid)と呼ぶ．これを Fig. 4.3 の左図に示す．

第4章

44

Figure 4.3: 慣性楕円体と主慣性軸
慣性主軸
さて，楕円体の方程式の (4.22) 式を特徴づけているのは慣性テンソル J であり，この行列は対称行列である．この対称行列について知られている性質を以下にまとめる [10]．

• 対称行列の固有値は全て実数である．
• 対称行列の相違なる固有値に対応する固有ベクトルは互いに直交する．
• 対称行列は正規直交行列を用いて対角化できる．
また，慣性テンソル J が正定行列であることから，以下の性質が成り立つ [10]．

• 正定行列の固有値は全て正の実数である．
これらの性質から，慣性テンソル J は以下のように対角化できる．

J = TJ ΛJ TJT(4.24)ただし
λ1 0 0[]ΛJ :=  0 λ2 0  > 0, TJ := v1 v2 v3 , ∥vi ∥ = 1 (i = 1, 2, 3)
0 0 λ3(4.25)

λ1 ，λ2 ，λ3 > 0 は慣性テンソル J の固有値，v1 ，v2 ，v3 ∈ R3 はその固有値に対応した
固有ベクトルであり，TJ ∈ R3×3 は正規直交行列である．ここで TJ は座標系 ΣB から別の直交座標系 ΣB ′ への座標変換を表す回転行列
B′

RB := TJ

(4.26)と解釈できる．したがって，対角化された慣性テンソルの (4.24) 式を楕円体の方程式の(4.22) 式に代入すれば(TJ η)T ΛJ (TJ η) = 1

4.2 慣性テンソルに関する性質

45となるため，座標系 ΣB ′ における新しい座標として′

η ′ := B RB η

(4.27)と定義すれば，対角化行列 Λ は座標系 ΣB ′ に関する新たな慣性テンソルである．


′
Jxx
0
0


′
′
′
′
J ′ =  0 Jyy:= λ1 , Jyy:= λ2 , Jzz:= λ3(4.28)
0  , Jxx′00 Jzz
座標系 ΣB ′ で表現された慣性楕円体を Fig. 4.3 の右図に示す．このように，座標変換後の
ηx′ 軸，ηy′ 軸，ηz′ 軸は慣性楕円体の主軸を表しており，これらを慣性主軸 (principal axes′′′of inertia) と呼ぶ．また，慣性主軸まわりの慣性モーメント Jxx
，Jyy
，Jzz
を主慣性モー
メント (principal moment of inertia) と呼ぶ．
以上の議論から分かるように，慣性テンソルの慣性乗積は適切な主軸を取ることによりゼロにすることができ，またそのような主軸の組は必ず存在し，かつ直交座標系を構成する．すなわち，剛体がどのような形状でどのような質量分布であろうとも，適切な直交座標系を主軸に選べば慣性テンソルは主軸まわりの 3 つの主慣性モーメントの値のみで表される．したがって，剛体の回転体としての特徴は以下の 3 つに分類することができる [15]．

1. 3 つ全ての主慣性モーメントが等しい (球状コマ)
2. 2 つの主慣性モーメントが等しい (対称コマ)
3. 3 つ全ての主慣性モーメントが異なる (非対称コマ)
1. の球状コマは全ての軸の慣性モーメントが等しい特殊なコマであり，具体例としては逆立ちゴマがある [16]．一方，2. の対称コマは我々が良く知る通常のコマのことを指し，地球の運動も対称コマとして捉えることができる [14, pp.200]．この対称コマは主慣性モー
メントが等しければ良いので，形状が非対称であっても質量分布を適切に設定することで見かけ上非対称な対称コマを作ることも可能である [17]．最後の 3. の非対称コマは一見意味がないように思われるが，回転体の力学としては非常に重要な問題の一つである [15,pp.146]．様々な回転を紹介した動画が JAXA(宇宙航空研究開発機構) の YouTube の公式ページで見ることができる [18]．

4.2.3

平行軸の定理Fig. 4.4 のように，剛体の重心に座標系 ΣB が固定されており，座標系 ΣB の原点から
pC ∈ R3 だけずれた位置に座標系 ΣB と軸が並行な座標系 ΣC が固定されているとする．
全てのベクトルは座標系 ΣB で表現されているとし，左肩添字は省略する．また，座標系
ΣB ，ΣC を基準とした剛体内の微小要素の位置をそれぞれ rB ，rC ∈ R3 とする．このとき，これら位置ベクトルの関係は以下で与えられる．
rC = rB − pC

(4.29)

第4章

46

Figure 4.4: 慣性テンソルの平行軸の定理
さて，慣性テンソルの定義 (4.12) 式より，座標系 ΣB ，ΣC における慣性テンソルは微小要素の位置ベクトル rB ，rC の外積に等価な歪対称行列 rbB ，rbC ∈ R3×3 の 2 乗を用いて表現されることから，これらの関係式を求めると以下のようになる．
2
rbC2 = rbB+ pb2C − rbB pbC − pbC rbB(4.30)

この両辺に密度 ρ(rB ) をかけて剛体の体積積分をとれば
∫
∫
∫
2
2
2
dVB
rbC ρ(rC + pC )dVC =rbB ρ(rB )dVB + pbC
VB
VC
VB
(∫
)
(∫
rbB ρ(rB )dVB pbC − pbC−
VB

rbB ρ(rB )dVB

VBとなり，ここで (4.2)，(4.8) 式より(∫∫∫
dVB = m,rbB ρ(rB )dVB =
VB

)

)∧
rB ρ(rB )dVB

= 03×3

VB

VB

が成り立つので，慣性テンソルの定義 (4.12) 式に注意すれば以下の関係式を得る．

JC = JB − mpb2C(4.31)

もしくは (4.13) 式を用いれば

m(p2Cy + p2Cz ) −mpCx pCy−mpCz pCx
JC = JB +  −mpCx pCym(p2Cx + p2Cz ) −mpCy pCz −mpCz pCx
−mpCy pCz
m(p2Cx + p2Cy )ここで JB ，JC ∈ R3×3 はそれぞれ座標系 ΣB ，ΣC に関する慣性テンソルである．このよ
うに，剛体に固定された軸が並行で原点が異なる座標系に関する慣性テンソルの間の関係
を平行軸の定理 (parallel-axis theorem; Steiner’s theorem) と呼ぶ．

4.3

古典力学による運動の記述

古典力学はガリレイの相対原理の下，ニュートンの運動法則に基づいて記述された力学体系を主に指し，ニュートン力学と同一視される．しかしながら，教科書によっては特殊

4.3 古典力学による運動の記述

47

相対性理論，一般相対性理論を含む場合もある．いずれにせよ，巨視的 (マクロ) な物質の運動を扱う学問の総称であり，量子力学以前の力学体系を指すと考えても良い．

4.3.1

ガリレイの相対性原理とニュートンの運動法則

ここでは，力学的な原理，法則について述べる [1, 14, 15]．力学を含めた物理学を一度でも学んだ者としては半ば常識として刷り込まれていることであり，特別意識する必要もないが，知識の曖昧さを回避するためここにまとめる．

ガリレイの相対性原理
まずはじめにガリレイの相対性原理について述べる．一般に，力学系の現象を記述する
ためには特定の基準系を選ぶ必要があるが，勝手に選ばれた基準系では空間は一様でなく等方でもなく，時間も一様でない．結果，力学系の記述は空間，時間において同等ではな
くなってしまう．しかしながら，経験則として，以下のような基準系が常に見出されることが分かる．
ガリレイ系 (Galilean system of reference)
空間が一様かつ等方的であり，時間も一様であるような基準系を指しており，自由運動の法則が同一であり，かつ全ての力学的関係も同等である6 ．
このような基準系 (慣性系) は 1 つではなく，互いに等速直線運動をする無限の非加速度基準系が存在する．このことから，ガリレイの相対原理が以下のようにまとめられる．
ガリレイの相対性原理 (Galilei of principle of relativity)
互いに等速直線運動をする無限の非加速度のガリレイ系を基準系とするならば，全ての基準系において空間と時間の性質は同一であり，全ての力学的法則も同一である．
ここで，基準系同士は相対的に回転運動をしていないことに注意すべきである．このように，力学的に等価な基準系が無限に存在するということは，特別な意味を持つ “絶対” 基準系が存在しないことを意味している7 ．
さて，2 つの基準系 ΣK (t)，ΣK ′ (t′ ) があり，ΣK ′ は ΣK に対して速度 V を持つ場合を′考えてみよう．同一の質点の座標をそれぞれの基準系で表現したものを K p(t)，K p(t′ ) とすると，以下の線形変換の組をガリレイ変換 (Galilei transformation) と呼ぶ．
K′p(t) = K p(t′ ) + V t,t = t′(4.32)

ここで，第 1 式が成り立つためには第 2 式が成り立つ必要があり，時間の進み方は全ての基準系において同一であるという絶対時間の仮定が古典力学の思想の基礎である．したがって，ガリレイの相対性原理は，このガリレイ変換 (4.32) 式に対して運動方程式が不変であることの要求として定式化される．
6

ガリレイ系は結局のところ慣性系を意味している．
例えば太陽系においては，太陽系の質量中心に固定され，恒星に対して回転しない剛体に固定されたものを基準系に取る．
7

第4章

48
ニュートンの運動の法則

次に，ニュートンによりまとめられた運動の法則 (Newton’s laws) を示す．運動の法則については教科書によって様々な説明の仕方があるが，どのような段階に基づいて表されるかにより記述が一見大きく異なることがある．ここで，運動を数式として表現するために必要な力，位置，加速度などの各種の物理量が定義された下での記述を示す．
運動の第 1 法則 (Newton’s first law)
すべての物体は，外部から力を加えられない限り，静止している物体は静止状態を続け，運動している物体は等速直線運動を続ける．
運動の第 2 法則 (Newton’s second law)
慣性系において，物体の運動量の時間変化は，物体に作用する力の方向および大きさに等しい．
運動の第 3 法則 (Newton’s third law)
慣性系において，2 つの物体の一方が他方の物体に力を作用しているときには，後者も前者に力を作用しており，それらの力の方向は互いに逆の向きであり大きさは等しい．
第 1 法則は慣性の法則 (law of inertia) とも呼ばれ，この第１法則が成り立つような座標系を慣性系 (inertial system) と呼ぶ．通常，地上に固定された座標系は慣性系として取り扱われる8 ．慣性系を理解するためには，慣性系ではない例を考えれば良い．例えば，移動体 (自動車，電車，飛行機など) に座標系が固定されており，移動体が加速度を持てば，加速方向と逆向きの力 (慣性力) が物体に生じるため第 1 法則が成り立たない．慣性系とは，この見かけの力が発生しない座標系と考えれば良い．なお，力や作用の定義がなされる前の段階では，“質点は，(恒星系を除いて) 他の物体から十分離れると等速直線運動を行う”
として記述される経験法則であることに注意すべきである．
第 2 法則は，第 1 法則が成り立つ座標系，すなわち慣性系において，物体の運動状態 (運動量) の時間変化と作用する物体に力を関連付ける法則であり，これを指して単にニュートンの法則と呼ばれることもある．なお，質点について述べる場合は，“慣性系において質点に力が働くときは，質点は力の方向に，その大きさに比例し，質量に反比例する加速度を持つ”として記述され，より根本的な表現である9 ．こちらの方が馴染みがある人も多いであろうが，ここでは運動を扱う上でより根本的な物理量とされる運動量を用いて記述した．
8

太陽系の運動を考えると，地球の地表は慣性系 (太陽系の重心に固定された恒星に対して回転しない座標系) に対して加速度運動をしているため，慣性系ではない．しかしながら，地球の公転・自転の変化は重心に対してゆるやかであるため，近似的に慣性系とみなして差し支えない．ただし，フーコーの振子 (Foucault
pendulum)，台風のような大規模な運動，物体を非常に遠くに速く投げる場合 (大砲など) では成り立たない．
9
質量はこの第 2 法則において，力と加速度の比例係数として経験的に定義されるものであり，慣性質量(Inertial mass) と呼ばれる．一方，重力場において重力と重力加速度の比例係数として定義される質量は重力質量 (Gravitational mass) と呼ばれる．これらは同一の値をとり，この経験則を等価原理と呼ぶ．

4.3 古典力学による運動の記述

49

Figure 4.5: 剛体の運動方程式
第 3 法則は，作用・反作用の法則 (law of action and reaction) とも呼ばれており，第 1法則および第 2 法則の下で導出される．どちらの力を作用，反作用と呼ぶかは状況により異なり，どちらでも良い場合は特に名付けない方が良い．一般的には，あらかじめ大きさと方向が分かっている力，制御できる力を作用と呼び，また，壁からの抗力，糸の張力など，系に存在する拘束条件により発生する力を反作用と呼ぶことが多い．
以上の 3 法則はガリレイの相対性原理が成立していることは明らかである．このことは，ガリレイ変換 (4.32) 式に対して不変であるとも表現できるため，ガリレイ不変 (Galilean
invariance) であるとも言う．

4.3.2

ニュートン・オイラーの運動方程式

ここでは，Fig. 4.5 のように，慣性系である基準座標系 ΣA において運動する剛体の運動方程式を導出する．剛体の重心に物体座標系 ΣB が固定されており，位置および姿勢は(A pB , A RB ) で記述され，運動は並進速度および回転速度は (vAB , ωAB ) で表される．また，座標系 ΣB の原点に作用する並進力およびモーメントを (fB , nB ) とする．なお，運動方程式を基準座標系および物体座標系において記述するため，ベクトルの成分表記の座標系を表す左肩添字は省略してある．

基準座標系 (慣性系) における運動方程式
まずは並進運動に関する運動方程式を示す．剛体の運動量は以下で定義される．
∫
AP :=ρ(r)dV A vAB = mA vAB(4.33)
V

したがって，運動の第 2 法則より，運動方程式は次のように与えられる．

dA
P = A fB
dt

(4.34)

第4章

50(4.33) 式を (4.34) 式に代入すれば並進運動の運動方程式を得る．
mA v̇AB = A fB

(4.35)

もしくはmA p̈B = A fB
この (4.35) 式をニュートンの運動方程式 (Newton’s equation) と呼ぶ．
次に，回転運動に関する運動方程式を示す．剛体の角運動量は (4.11)，(4.12) 式より，座標系 ΣB において以下で与えられる．
B

L = JB B ωAB(4.36)

ここで JB ∈ R3×3 は物体座標系 ΣB に関する慣性テンソルである．運動の第 2 法則は慣性系でのみ成り立つため，(4.36) 式を慣性系である基準座標系 ΣA での表現に変換する．
A

L = A RB B L =

(A

)
T A
RB JB A RB
ωAB

(4.37)

ここで，基準座標系 ΣA における慣性テンソルとして JB′ ∈ R3×3 を定義する．
T
JB′ := A RB JB A RB

なお，この慣性テンソル JB′ は，JB の定義 (4.12) 式より
(∫
)
′
A
2
T
J B = − RBrb ρ(r)dV A RB
V
∫
(A
) (A
)
T
T
=−
RB rbA RB
RB rbA RB
ρ(r)dV
V
∫ {
(A
)∧ }2
ρ(r)dV=−RB r(4.38)(4.39)

Vと書き直すことができる．この定義 (4.39) 式では，重心から剛体上の各点 r への位置ベク
トルを基準座標系 ΣA で表現した A RB r が用いられており，物体座標系 ΣB における慣性テンソルの定義 (4.36) 式と類似した形式になっている．さて，運動の第 2 法則より，運動方程式は次のように与えられる．
dA
L = A nB
(4.40)
dt(4.37) 式を (4.40) 式に代入して，(3.32)，(4.38) 式を用いて左辺を整理すると
)
)
(
(
)
(
dA
T A
T A
T A
ωAB
ωAB + A RB JB A ṘBω̇AB + A ṘB JB A RB
L = A RB JB A RB
dt
)
)
(
(
TA T
T A
b AB A ωAB
b AB A RB JB A RBω
ωAB + A RB JB A RB
= JB′ A ω̇AB + A ω

b AB A ωAB
b AB JB′ A ωAB − JB′ A ω= JB′ A ω̇AB + A ω= JB′ A ω̇AB + A ωAB × JB′ A ωAB(4.41)となるため，以下の回転運動の運動方程式を得る．

JB′ A ω̇AB + A ωAB × JB′ A ωAB = A nB

(4.42)

4.3 古典力学による運動の記述

51

この (4.42) 式をオイラーの運動方程式 (Euler’s equation) と呼ぶ．このように，基準座標系で回転運動の運動方程式を表現すると，(4.37) 式のように慣性テンソル JB′ は剛体の姿
勢 A RB に依存した変数行列となる．
以上の (4.35)，(4.42) 式をまとめて
[
][
] [
] [
]
A
mI3 03×3 A v̇AB
03×1
fB
+ A
= A
(4.43)
A
03×3 JB′ω̇AB
ωAB × JB′ A ωABnBとしたものを，ニュートン・オイラーの運動方程式 (Newton-Euler equation) と呼ぶ．
物体座標系 (運動座標系) における運動方程式
ここでは，基準座標系 (慣性系) ΣA で表現された運動方程式の (4.35)，(4.42) 式を，剛体に固定された物体座標系 (運動座標系) ΣB での表現に変換する．まず，並進運動の運動
方程式について考える．運動量の (4.33) 式を (3.7) 式を用いて Body Velocity の B vAB を用いて表すとA
P = mA RB B vABとなる．これを (4.34) 式の左辺に代入し，(3.38) 式を用いて Body Velocity の B ωAB を導
入すると

)
d (A
dA
P =m
RB B vABdt
dt= A RB B v̇AB + A ṘB B vABb AB B vAB= A RB B v̇AB + A RB B ω
Tとなるため，(4.34) 式の左から A RB
をかければ，以下の物体座標系での表現に変換される．

mB v̇AB + B ωAB × mB vAB = B fB ,B

TA
fB := A RB
fB

(4.44)

このように物体座標系に変換すると，見かけ上の力として B ωAB × mB vAB が現れる．
次に，回転運動の運動方程式について考える．角運動量の (4.37) 式を (3.7) 式を用いてBody Velocity の B ωAB を用いて表すとA

L = A RB JB B ωABとなる．これを (4.40) 式の左辺に代入し，(3.38) 式を用いて Body Velocity の B ωAB を導入すると

dA
L = A RB JB B ω̇AB + A ṘB JB B ωAB
dtb AB JB B ωAB= A RB JB B ω̇AB + A RB B ω
Tとなるため，(4.40) 式の左から A RB
をかければ，以下の物体座標系での表現に変換される．

JB B ω̇AB + B ωAB × JB B ωAB = B nB ,B

TA
nB := A RB
nB

(4.45)

第4章

52

このように回転運動の運動方程式については，慣性テンソルが JB′ から JB となり定数行列となる．もし，物体座標系 ΣB が剛体の慣性主軸を向いており，慣性テンソルが対角行列であるであるとすれば，(4.45) 式は以下のように簡単化される．

dωx


Jxx
− (Jyy − Jzz )ωy ωz = nx


dt


dωy
(4.46)Jyy− (Jzz − Jxx )ωz ωx = ny

dt




 Jzz dωz − (Jxx − Jyy )ωx ωy = nz
dt
なお，表記の簡単化のため，座標系に関する A，B といった添字は全て省略した．この式が力学の教科書でよく見られるオイラーの運動方程式である．
さて，Body Velocity の表現を用いた場合も，以上の (4.44)，(4.45) 式についてまとめれば
] [
] [
]
[
][
B
A
vAB × mB vAB
fB
mI3 03×3 A v̇AB
+ B
= A
(4.47)
A
03×3 JBω̇AB
ωAB × JB B ωABnBとなり，ニュートン・オイラーの運動方程式が得られる．

4.3.3

非慣性系における運動方程式 —慣性力の導入

前小々節で述べたように，Body Velocity の表現を用いることは剛体の運動を非慣性系の ΣB で表すため，並進運動の運動方程式において “見かけの力” が現れる．しかしながら，Body Velocity では速度の座標系が異なるのみであり，位置・姿勢を表す座標系は変
わらず基準座標系 ΣA である．
そこで，Fig. 4.6 のように，より一般的な状況を取り扱う．すなわち，慣性系である基準座標系 ΣA に対して並進・回転の加速度運動を行う非慣性系 ΣC を考え，この座標系 ΣCに関して剛体 ΣB の運動を表すことを考える．まず，非慣性系 ΣC ，剛体 ΣB の位置・姿
勢および運動を表す変数を以下にまとめる．

[非慣性系 ΣC ]{位置・姿勢 :

A
A

pC

RC

{
, 速度 :

AvAC = A ṗC, 加速度 :T ∨A)
ωAC = (A ṘC A RC{AAaAC = A v̇AC

αAC = A ω̇AC

[剛体 ΣB in 慣性系 ΣA ]
{
{
{
A
A
A
aAB = A v̇ABpB
vAB = A ṗB,
加速度:
位置・姿勢 : A
, 速度 : AA
T ∨αAB = A ω̇AB)RB
ωAB = (A ṘB A RB
[剛体 ΣB in 非慣性系 ΣC ]
{
{
{
C
B
C
aCB = C v̇CBpC
vCB = C ṗB,
加速度:
位置・姿勢 : B
, 速度 : CC
T ∨αCB = C ω̇CB)
ωCB = (C ṘB C RB
RC

4.3 古典力学による運動の記述

53

Figure 4.6: 加速度運動を行う非慣性系での運動の表現
以上の変数の準備の下，慣性系 ΣA における並進の運動方程式mA p̈B = A fB

(4.48)

を非慣性系 ΣC における運動方程式に変換すると以下のようになる．

mC aCB =C fB− mC aAC− 2C ωAC × mC vCB− mC αAC × C pB
− mC ωAC × (C ωAC × C pB )(4.49)

得られた運動方程式において，右辺の外力のうち，純粋な外力である C fB を除いて，他は全て非慣性系の運動に起因する慣性力 (inertial force) である．慣性力に関する事項を以下にまとめる．

• 非慣性系で運動を表す場合は，外力として見かけの力 (Fictitious force) である慣性力を導入することにより，慣性系における運動として取り扱うことができる．
• 慣性力は物体と物体の相互作用ではないため，真の力と違い，反作用が存在しない．
さて，慣性力の物理的解釈を行う．慣性力は (4.49) 式から分かるように，全部で以下のよ
うに 4 種類ある．

第4章

54
• 非慣性系 ΣC の並進加速運動に由来する慣性力– −mC aAC

– 物体に対して，反対方向の非慣性系の並進加速度 −C aAC が発生すると解釈す
れば，その加速度に起因した力すなわち −mC aAC が物体に作用する．
• 非慣性系 ΣC の回転加速運動に由来する慣性力– 遠心力∗ −mC ωAC × (C ωAC × C pB )∗ 回転軸に垂直な面内において，半径方向外向きに働く慣性力である．
– コリオリ力∗ −2C ωAC × mC vCB∗ 回転軸に垂直な面内において，半径方向に運動した際に，回転方向に働く慣性力である．
– 角加速度による慣性力∗ −mC αAC × C pB
∗ 並進加速度に由来する慣性力と同様の慣性力であり，角加速度と反対向きの回転方向に働く．

[(4.49) 式の導出]
係が成り立つ．

剛体 ΣB の原点については，非慣性系 ΣC の原点を経由した以下の関A

pB = A pC + A RC C pB

これをまず時間微分して，速度の関係式を得る．
AṗB = A ṗC + A ṘC C pB + A RC C ṗBb AC A RC C pB + A RC C ṗB= A ṗC + A ω(4.50)

さらに時間微分して，加速度の関係式を求めよう．
A

)
d (A
b AC A RC C pB + A ṘC C ṗB + A RC C p̈B
ω
dt
)
d (A
b AC A RC C ṗB + A RC C p̈B +b AC A RC C pB
= A p̈C + A ωωdtp̈B = A p̈C +(4.51)

ここで最後の項の時間微分を計算すれば)
d (Aḃ AC A RC C pB + A ω
b AC A RC C ṗBb AC A ṘC C pB + A ω
b AC A RC C pB = A ωωdt
2 Aḃ AC A RC C pB + A ω
b AC A RC C ṗBb AC
RC C pB + A ω= Aω(4.52)

4.3 古典力学による運動の記述55となるので，以下の加速度の関係式を得る．
A

2 A
ḃ AC A RC C pB + A ω
b AC A RC C ṗB + A ω
b ACp̈B = A p̈C + A RC C p̈B + 2A ω
RC C p B(4.53)T
さて，この加速度の関係式を，非慣性系 ΣC について表し直すため，左から A RC
をか
ける．
A

TA
TA
RC
p̈B = A RCp̈C + C p̈BTA
T A ḃ
b AC A RC C ṗB + A RC
+ 2 A RCω
ω AC A RC C pB
{z
}
{z
}
|
|
A TA
∧
A TA
∧
( RC ωAC )( RC ω̇AC )TA
TAb AC A RC A RC
b AC A RC C pB
+ A RC
ω
ω
|
{z
}|
{z
}
A TA
∧
A TA
∧
( RC ωAC ) ( RC ωAC )2 AC
b AC C vCB + C α
b AC C pB + C ωb AC= C aAC + C aCB + 2C ω
pB

(4.54)

ここで，以下の関係を用いた．
C

TA
TA
TA
aAC = A RC
p̈C , C αCB = C p̈B , C vCB = C ṗB , C ωAC = A RC
ωAC , C αAC = A RC
ω̇AC
(4.55)
以上から，加速度の関係 (4.54) 式を，慣性系 ΣA における運動方程式の (4.48) 式に代入して整理すれば，非慣性系 ΣC における運動方程式の (4.49) 式を得る．

第 5 章 剛体運動 – 拘束と解析力学
解析力学は，経験則に基づく原理の確立されたニュートン力学と対照的に，解析学の原理に基づき確立されたものであり，数学的により洗練された形式であると言える．その確立の過程は概ね以下のような順で行われる．

1. 仮想変位の導入により体系の力学的構造を “変位の比” により表現し，“スカラー量の仮想仕事が 0 である” ことと “釣り合い状態” が等価である仮想仕事の原理を導く．
2. ダランベールの原理により，動力学の問題を “静力学の問題” として記述し直す．
3. 得られた静力学の問題に仮想仕事の原理を適用することにより，ラグランジュの変分方程式を導く．
4. 運動エネルギーを被積分関数とする作用積分について，変分原理を適用しラグラン
ジュの変分方程式を用いることにより，ハミルトンの原理を導く．
5. 一般化座標の導入の下，ハミルトンの原理を変分問題として解くことにより，ラグランジュ関数に関するオイラーの微分方程式，すなわちラグランジュの運動方程式を得る．
本章では，まず一般化座標および系の運動を制限する拘束条件の種類と性質について述べた後に，これらの事項を解説する．

5.1 一般化座標と自由度
これまで剛体を記述するために，直交座標系，すなわちデカルト座標系 (cartesian coordinates) における位置ベクトルおよび回転行列を用いてきた．剛体が制約のない自由運動をする場合はデカルト座標が便利であるのは疑いの余地はないが，より一般的には，何らかの拘束条件 (constraint conditions) を受ける1 ．その場合，拘束条件を満足する他の座標表現を用いた方が便利な場合も多い．
例えば，Fig. 5.1 のように，基準座標系 ΣA の (XA , YA ) の平面内で運動する剛体振子を考える．振子の重心に物体座標系 ΣB が固定されており，位置・姿勢は (A pB , A θB ) で記述される．振子は点 C で基準座標系の原点に固定されており，点 C まわりでの平面内における回転および長手方向の伸び縮みが可能であるとする．この場合，剛体を記述するためにデカルト座標 (A pB , A θB ) を用いるよりも，剛体の重心の極座標 (r, φ) を用いた方が利便性があるのは明らかである．実際，位置・姿勢は極座標を用いて以下のように表現さ
れる．
[
]
π
r
sin
φ
A
pB =
, A θB = φ −2−r cos φ1

教科書によっては束縛条件と呼ぶ．

第5章

58

Figure 5.1: 伸び縮みする振子の一般化座標
このように，剛体の位置・姿勢を決定するために定めた適当な変数の組，この場合は (r, φ)が系の状態を完全に記述するならば，この座標を一般化座標 (generalized coordinates) と呼び，以下のように変数 qi を用いて表現する．

q1 := r, q2 := φ以上を一般化する．基準座標系 ΣA において複数の剛体 B1 , B2 , · · · , BN からなる剛体系が何らかの拘束条件の下で運動するとき，その位置・姿勢 (A pBi , A RBi ) (i = 1, · · · , N )は一般化座標 q1 , q2 , · · · , qn を用いて以下のように表現されることになる．
A
pB1 = A pB1 (q1 , q2 , · · · , qn ), A RB1 = A RB1 (q1 , q2 , · · · , qn )



..
..
(5.1)
.
.


A
pBN = A pBN (q1 , q2 , · · · , qn ), A RBN = A RBN (q1 , q2 , · · · , qn )一方，剛体系に拘束が存在しない場合は，一般化座標は単に位置・姿勢そのものである．
しかしながら，姿勢表現としては回転行列 A RBi (i = 1, · · · , N ) では色々と都合が悪いた
め2 ，2.5 節で述べたようにパラメータ表現を用いた方が良い．その場合，パラメータ表現
が一般化座標となり，例えばオイラー角を選べば座標の数は n = 6N となり，次のように
なる．
A
T
A
RB1 = A RB1 (q4 , q5 , q6 )
 pB1 = [q1 , q2 , q3 ] ,

..
..
(5.2)
.
.


A
pBN = [q6N −5 , q6N −4 , q6N −3 ]T , A RBN = A RBN (q6N −2 , q6N −1 , q6N )ここで [q6i−5 , q6i−4 , q6i−3 ]T が i 番目の剛体の位置ベクトル，[q6i−2 , q6i−1 , q6i ]T がオイラー角表現による姿勢角である．なお，オイラー角などのパラメータ表現は 2.6 節で述べたとおり特異点を持つため，局所座標 (local coordinates) であることに注意すべきである．
2

変数がいたずらに多くなる，変数間に直交行列に由来した拘束がある，後述するラグランジュ方程式を適用することができない，などの不都合がある．

5.2 拘束条件

59

最後に，自由度と一般化座標のまとめについて述べる．一般化座標を考える上で，系に存在する拘束条件を用いてできるだけ座標数を減らすことは自然な考えである．系の運動の本質を表す重要な数である自由度について以下にまとめる．

• 系を記述するための最小の独立な座標の数を自由度 (degrees of freedom) と呼ぶ．
• 自由度には，位置的自由度および運動的自由度の 2 種類があり [11]，単に自由度とした場合は一般的に位置的自由度を指す3 ．
位置と速度で自由度が異なる場合については後の節で示すこととする4 ．さて，一般化座標についてであるが，その定義はどの教科書を見ても割りと曖昧なものが多く，一義に確定できるような記述をきちんとまとめて記載したものを見つけることはできない5 ．とりあえず，一般化座標に関する事項を自由度も合わせて以下にまとめる．

• 定義：系の位置・姿勢を完全に記述することができる．
• 直交座標に限らず，適当などんな座標表現を用いても良い．直交座標も一般化座標の特別な場合である．
• ニュートン力学による剛体の運動方程式はデカルト座標で表現されているため，それ以外の座標表現では変換を行う必要があり面倒である．一方，後述するラグラン
ジュの運動方程式では運動エネルギー，ポテンシャルエネルギーといったスカラー量に関する微分方程式であるため，初めからデカルト座標を用いる必要がないこと
も，一般化座標を用いる一因である．
• 一般化座標の数を n，自由度を f とすれば，n ≥ f である．すなわち，一部の座標が従属であっても良い．
• 自由度と同じ数の座標の組により系の状態を完全に記述できるとき，その座標の組
を独立座標 (independent coordinates) の組，残りの座標の組を従属座標 (dependent
coordinates) の組と呼ぶ．
• 独立座標の組の選択は一意ではない．最も都合が良い表現を選べば良い．
• 他の呼び名として，一般座標，広義座標がある．

5.2 拘束条件
剛体系は通常何らかの連携した運動を行うことが多く，前節で述べたように拘束条件を受ける．拘束条件は，機械のシャフトなどの機構的なものや，地面との接触など様々である．ここでは拘束条件の定式化と種類，数学的性質，および具体例について述べる．

3

あまりメジャーな言い回しではないと思われる．
いわゆる非ホロノミック拘束を受ける場合であり，移動ロボットなどが該当する．
5
少なくとも著者が見た限りでは，とさせて頂く．
4

第5章

60

5.2.1

拘束の形式

ここでは拘束条件がどのように定式化されるかについて述べる．なお，拘束の名称については書物により様々あり未だ統一されておらず，同じ表記で別のものを意味する場合もあり厄介である．ここでは，主に文献 [11, 8] に基づいた名称を用いることとする．
一般化座標 q ∈ Rn と時間 t のみの代数式で表現される拘束を，幾何拘束 (geometricconstraints) と呼ぶ6 ．

C1 (q, t)..
mC(q, t) = 0, C(q, t) := (5.3)
∈R , m<n.

Cm (q, t)
幾何拘束は様々なものがあるが，最たるものとして曲面が挙げられ，時変の場合は床面がうねっている様子を想像すれば良い．他にもロボットのリンク同士を接続する 1 自由度の関節などがある．
一方，一般化座標 q に加えて一般化速度 q̇ を含む拘束式は次の形式となる．

C(q, q̇, t) = 0, C ∈ Rm

(5.4)

このような速度を含む拘束式を運動拘束 (motion constraints) もしくは速度拘束 (velocity
constraints) と呼ぶ7 ．(5.4) 式は陰的な形式であり，むしろ陽的な形式の方がよく見受けられる．
A(q, t)q̇ + b(q, t) = 0, A ∈ Rm×n , b ∈ Rm
(5.5)
この陽的形式をパフ形式 (Pfaffian form) と呼ぶ．このような拘束としては，平面を滑らず転がるコインや球，横滑りしない 2 輪移動車などが挙げられる．他にも，角運動量が保存される回転運動 (宇宙機) などがある．
なお，幾何拘束 (5.3) 式の時間微分を取れば，同様にパフ形式で表現することもできる．

Cq (q, t)q̇ + Ct (q, t) = 0
ただし

 ∂C1
Cq :=

∂C
,
∂q

∂q1

∂C

:=  ...
∂q
∂C

m

∂q1

···
..
.
···

∂C1
∂qn



..  ∈ Rm×n ,
. 

∂Cm
∂qn

(5.6)

Ct :=

∂C
∂t

(5.7)

となる．ここで，Cq ∈ Rm×n は q に関する偏微分の省略形，Ct ∈ Rm についても同様で
あり8 ，特に Cq を拘束ヤコビ行列 (constrained jacobian) と呼ぶ．したがって，幾何拘束(5.3) 式が存在する系は，同じ個数の速度拘束も受けていることが分かる．
また，本講義からは外れるが，一般化加速度 q̈ を含む拘束もあり，動力学的拘束 (dynamic
constraints) と呼ばれる．

A(q, t)q̈ + B(q, t)q̇ + c(q, t) = 0,
6

A, B ∈ Rm×n , c ∈ Rm

(5.8)

他にも配位拘束 (configuration constraints)，位置拘束 (position constraints) などの呼び名がある．
文献 [8] や制御理論，ロボット工学の分野では運動学的拘束 (kinematic constraints) と呼ばれる [19] が，他の書物や多くの分野で幾何拘束 (5.3) 式を指すため，注意が必要である．
8
スカラーをベクトルで偏微分する場合は，ベクトルの各要素で偏微分したものを横に並べるように定義する．また，ベクトルをベクトルで偏微分する場合は，微分されるベクトルの各要素に関して「スカラーをベクトルで微分する際のルール」を適用するように定義する．この定義は分野や教科書により異なる．
7

5.2 拘束条件61

このような拘束としては，関節の一部に入力のない非駆動関節を持つロボットマニピュ
レータなどがある．

5.2.2

拘束の数学的性質

速度拘束 (5.5) 式と幾何拘束を時間微分した (5.6) 式は一見は同じ形式であるように思われる．しかしながら実際は，本質的に同じである場合と，異なる場合の 2 種類のケースが存在する．速度拘束 (5.5) 式が幾何拘束 (5.3) 式と等価する条件は次で与えられる．
∃

C(q, t) ∈ Rm ,∂C∂C
= A(q, t),= b(q, t)
∂q
∂t

s.t.

(5.9)

このとき速度拘束 (5.5) 式は関数 C(q, t) の全微分となるため，幾何拘束 (5.3) 式と等価であることが分かる9 ．このように積分関数 C(q, t) が存在する速度拘束を可積分 (integrable)と呼ぶ．一方，(5.9) 式を満たす C(q, t) が存在しない速度拘束を不可積分 (nonintegrable)と呼ぶ．
上記のように可積分の条件 (5.9) 式を満たす速度形式の拘束も含めて幾何拘束 (5.3) 式をホロノミック拘束 (holonomic constraints) 呼ぶ．一方，幾何拘束 (5.3) 式の形式で表現できない拘束をまとめて全て非ホロノミック拘束 (nonholonomic constraints) と呼ぶ10 ．この数学的な分類は次のようなより詳細な区分がある．

• ホロノミック拘束 (holonomic constraints)
幾何拘束 (5.3) 式で表現される拘束を意味する．

– スクレロノミック拘束 (scleronomic constraints)∗ 時間 t を陽に含まず C(q) = 0 の形式で表現される．
– レオノミック拘束 (rheonomic constraints)∗ 時間 t を陽に含み C(q, t) = 0 の形式で表現される．
• 非ホロノミック拘束 (nonholonomic constraints)
幾何拘束 (5.3) 式で表現できない全ての拘束を意味する．

– シンプル非ホロノミック拘束 (simple Nonholonomic constraints)∗ 速度拘束 (5.5) 式の形式で表現され，かつ，可積分の条件 (5.9) 式を満足しない不可積分な拘束を意味する．
– その他の非ホロノミック拘束
9より一般的な条件は積分因子 (Integrating factor) の D(q, t) ∈ R∃

C(q, t) ∈ R , D(q, t) ∈ R
m

m×n

,

s.t.

m×m

を考慮した以下の形式である．

∂C∂C= D(q, t)A(q, t),= D(q, t)b(q, t)∂q∂t

このとき，C(q, t) を (5.5) 式の第一積分 (first integration) と呼ぶ．この条件は積分可能性 (Integrability) に関するフロベニウスの定理 (Frobenius theorem) に由来する [20]．
10
単純に全てカタカナ表記でノンホロノミック拘束と呼んだりもする．

第5章

62

∗ 幾何拘束 (5.3) 式の等式が不等号となった C(q, t) ≥ 0 の不等式拘束11∗ 加速度を含む形式 (動力学的拘束) の (5.8) 式など
拘束が幾何拘束 (5.3) 式すなわちホロノミック拘束である場合は，剛体系は m 個の代数的な拘束を受けるため，位置的自由度，運動的自由度のいずれも n − m となる．一方，拘束が速度拘束 (5.5) 式すなわちシンプル非ホロノミック拘束である場合は，剛体系は一般
化速度 q̇ に関して m 個の拘束を受けるが，一般化座標 q については拘束面が定義できな
いため拘束が存在しない．したがって，運動的自由度は n − m，位置的自由度は縮退せず
n のままである．

5.2.3

幾何拘束の例

ここでは，いつかの幾何拘束の具体例として，2 つの剛体 B1 ．B2 間の拘束である関節(ジョイント) を表現する拘束式を示す．このような拘束はいずれも時間に依存しないため，
スクレロノミック拘束である．なお，2 つの剛体からなる系の一般化座標はそれぞれの位
置・姿勢角 (適当なオイラー角) をまとめたものとする．


A
pB1
A ϕ 
 B
q =  A 1  ∈ R12(5.10)
 pB2 A
ϕB2
球ジョイント拘束

Fig. 5.2 に球ジョイント (ボール・ソケットジョイント) 拘束を示す．球ジョイントは図のように一方がボール，一方がソケットになっており，ボールはソケット内部において 3
自由度の自由回転が可能である．人間の肩，股関節は球ジョイントの代表例であり，医療としては置換関節，工業製品としては光学機器の姿勢変更や，自動車のサスペンションの接続部などに使用されている．
拘束点 C において剛体 B1 ，B2 は互いに固定されているため，次の関係が成り立つ．
A

pB1 + A RB1 B1 pC = A pB2 + A RB2 B2 pC(5.11)

このように位置は相対的に固定される一方で，姿勢については 拘束点 C まわりで自由回転が可能である．したがって，拘束は次のような代数式として定式化される．

C(q) = 0,
ただしC ∈ R3()C(q) := A pB1 + A RB1 B1 pC − A pB2 + A RB2 B2 pC(5.12)(5.13)

このような 3 本の拘束を受ける剛体系においては，一般化座標をとり直すことで，独立
座標と従属座標に分けることが出来る．座標の選択は一意ではないので，一例として以下
11

例えば衝突現象が不等式拘束となり，片側拘束 (Unilateral constraints) とも呼ばれる．

5.2 拘束条件

63

Figure 5.2: 球ジョイント拘束を受ける剛体運動のように取ることを考える．




pB1


qI =  A ϕB1  ∈ R9 ,
B1
ϕB2
A

qD = A pB2 ∈ R3

(5.14)

ここで qI ，qD はそれぞれ独立座標と従属座標を意味する．この例では，剛体 B1 の位置・
姿勢 A pB1 ，A ϕB1 をまず独立座標として選択しており，さらに，球ジョイントによる剛体
B1 を基準とした剛体 B2 の相対姿勢角 B1 ϕB2 が選ばれている．その結果，剛体 B2 の位
置・姿勢 A pB2 ，A ϕB2 が完全に定まるようになっている．実際，姿勢角 A ϕB2 については，
回転行列の合成変換よりA

RB2 (A ϕB2 ) = A RB1 (A ϕB1 )B1 RB2 (B1 ϕB2 )(5.15)となり右辺は既知であるため，求めることができる．一方，位置 A pB2 については，拘束式の (5.12)，(5.13) 式を A pB2 について解けばA

pB2 = A pB1 + A RB1 B1 pC − A RB2 B2 pC(5.16)となり，求められることが分かる．

ユニバーサルジョイント拘束

Fig. 5.3 にユニバーサル (自在継手) ジョイント拘束を示す．ユニバーサルジョイントはジンバルを基本概念として開発されたものであり，回転の向きを自由に変更することができるため，自動車のドライブシャフトなど様々な場面で使用されている．ユニバーサル
ジョイントにおいては，球ジョイントと同様に拘束点 C において剛体が接続されている

第5章

64

Figure 5.3: ユニバーサルジョイント拘束を受ける剛体運動
ため，明らかに球ジョイントと同じ (5.12)，(5.13) 式の拘束式が存在する．さらに，回転運動に関する拘束を定式化する．Fig. 5.3 にある剛体の接続部である継手において，以下の回転軸を表す単位方向ベクトルを定義する．
{
B1
er1 ∈ R3 : 剛体 B1 に接続された継手の長手方向に沿った単位ベクトル(5.17)
B2
er2 ∈ R3 : 剛体 B2 に接続された継手の長手方向に沿った単位ベクトル
ユニバーサルジョイントでは継手が直交するため，これら回転軸の内積は 0 になる．したがって，姿勢に関する拘束は次のように与えられる．

Cr (q) = 0,
ただしA
Cr (q) := A eT
r1 er2 =(A

Cr ∈ RRB1 B1 er1)T (A(5.18)

RB2 B2 er2)(5.19)

以上から，位置に関する拘束と回転に関する拘束をまとめたものがユニバーサルジョイン
トの拘束式となる．
[]
Cp (q)
C(q) = 0, C(q) :=∈ R4(5.20)Cr (q)
ここで Cp (q) ∈ R3 は (5.13) 式で与えられるものである．
このように，ユニバーサルジョイント拘束では姿勢に関する拘束が加わり計 4 本の拘束となる．この 4 本の拘束を受ける剛体系において独立座標と従属座標を分かるため，拘束点 C を原点，x 軸，y 軸がそれぞれ継手に固定された回転軸 A er1 ，A er2 に沿った座標系
ΣC を導入する．このとき，2 つの剛体が伸びきった状態12 のとき，座標系 ΣB1 と ΣC の12

伝達する回転軸が一致する状態を意味する．

5.2 拘束条件

65

姿勢が一致するようになっているので，座標系 ΣB1 を基準とした ΣC の姿勢は ZY X オ
イラー角から X を除いた ZY オイラー角で表現される．
B1

RC = RZ (α)RY (β)(5.21)

したがって，座標系 ΣC が剛体 B2 に固定されており B2 RC は既知であることから，座標系 ΣB1 を基準とした ΣB2 の姿勢は以下で与えられる．
B1T
RB2 = B1 RC (α, β)B2 RC

よって，独立座標と従属座標は以下のようになる．


A
pB1
[
]
A ϕ Ap
 B1 
B
2∈ R4
qI = 
 ∈ R8 , qD =
 α 
γ
β

(5.22)(5.23)

ただしユニバーサルジョイントでは従属座標であるオイラー角の X 軸まわりの回転角 γは固定値であり，今回の場合はゼロであることに注意すべきである．

γ=0
回転ジョイント拘束

Fig. 5.4 に回転ジョイント拘束を示す．回転ジョイントは剛体同士が共通軸まわりに相対回転するものであり，1 自由度の回転運動となる．単純で構成が容易であるため，非常に広範囲に使用されており，電磁モーターなどで直接的に駆動されることも多い．様々な動力源で使用され，垂直多関節のロボットマニピュレータにも使用されている．
Fig. 5.4 における各ベクトルの意味はユニバーサルジョイントの場合と同様である．回転ジョイント拘束では回転軸 B1 er1 ，B2 er2 は明らかに同一直線上にあるため，これらの外積は 0 になる．したがって，姿勢に関する拘束は次のように与えられる．
Cr (q) = 0,

C ∈ R3(5.24)

ただし

Cr (q) := A er1 × A er2 = (A RB1 B1 er1 ) × (A RB2 B2 er2 ) = 0(5.25)

この (5.24)，(5.25) 式は 3 本の拘束式であるが，外積の式であるため 3 本のうち 1 本は従属な式であり，本質的には独立な 2 本の拘束式であることに注意すべきである13 ．したがっ13ベクトル a，b の外積を書き下すと
 

bx
0
−az
ay
b ⇒ c1 = −(ay c2 +az c3 )/ax
b b =  az
0−ax  by  = bx c1 +by c2 +bz c3 , [c1 c2 c3 ] := aa×b = abz
−ay ax0であり，c1 が c2 ，c3 の線形和で表されることから線形従属であることが分かる．

第5章

66

Figure 5.4: 回転ジョイント拘束を受ける剛体運動て，実際にはこれら 3 本のうち任意の 2 本を抜き出して位置に関する拘束とまとめたものが回転ジョイント拘束の拘束式となる．

Cp (q)

C(q) = 0, C(q) := Cr1 (q) ∈ R5
(5.26)
Cr2 (q)
ここで Cp (q) ∈ R3 は (5.13) 式で与えられるものであり，姿勢の拘束に関しては第 1 式，
第 2 式を抜き出してまとめてある．
このように回転ジョイント拘束は 5 本の拘束式であり，回転は 1 自由度であることから，剛体同士の相対姿勢は 1 変数で表現されることが分かる．したがって，ユニバーサルジョ
イントの場合と同様にして拘束点 C を減点，z 軸が回転軸に沿った座標系 ΣC を導入すれ
ば，座標系 ΣB1 を基準とした ΣC の姿勢は z 軸まわりの回転角 α の 1 変数で表現される．
B1

RC = RZ (α)(5.27)

したがって，ユニバーサルジョイントの場合と同様に，座標系 ΣC が剛体 B2 に固定されており B2 RC は既知であることから，座標系 ΣB1 を基準とした ΣB2 の姿勢は以下で与え
られる．
B1
T
(5.28)
RB2 = B1 RC (α)B2 RC
よって，独立座標と従属座標は以下のようになる．




A
A
p B2
pB1




qI = A ϕB1  ∈ R7 , qD =  β  ∈ R5γ
α(5.29)

残りの姿勢角 β ，γ についてもユニバーサルジョイントの場合と同様に一定値になることに注意されたい．

5.2 拘束条件

5.2.4

67

シンプル非ホロノミック拘束の例

シンプル非ホロノミック拘束は比較的単純な式で表されるにも関わらず非常に興味深い性質を持っており，自動車，船舶などの移動体，角運動量が保存される宇宙空間での宇宙機の姿勢など，様々な事例がある．ここではこのシンプル非ホロノミック拘束の例を紹介する．

2 輪車両型の移動ロボット

Figure 5.5: 平面を移動する 2 輪車両型の移動ロボット
Fig. 5.5 のように，基準座標系 ΣA の (XA , YA ) 平面において移動する 2 輪車両型ロボッ
トを考える．移動ロボットには物体座標系 ΣB が固定されており，進行方向に向かって
XB 軸，横方向に YB 軸が向くように定義されている．したがって，移動ロボットの位置・姿勢を表す一般化座標は
[
]
T

q=

px py θ∈ R3となる．なお，表記の簡単化のため座標系を表す添字は省略した．移動ロボットはタイヤの駆動速度差により前進・後退と旋回を行う．このためには，タイヤが横滑りしない拘束が必要であり，次のように定式化される．
]
[
[ ]
−
sin
θ
ṗ
x
(5.30), ey :=
v T ey = 0, v :=
cos θ
ṗy
ここで v ∈ R2 はロボットの移動速度，ey ∈ R2 は横方向を表す単位ベクトルである．拘束 (5.30) 式は移動速度 v が横方向の成分を持たないことを意味している．拘束 (5.30) 式を展開すれば−ṗx sin θ + ṗy cos θ = 0(5.31)となり，速度拘束の形式となっている．速度拘束 (5.31) 式は不可積分であり幾何拘束の形
式に帰着できない非ホロノミック拘束であることが知られている．したがって，位置的自
由度は減少せずに一般化座標と同じ数の 3 であり，運動的自由度は 3 − 1 = 2 である．

第5章

68

このような非ホロノミック拘束を受ける剛体系では，一般化座標 q ではなく一般化速
度 q̇ を独立座標と従属座標で分けることになる．例えば，独立座標として移動速度 v の符号ありの大きさ v ∈ R と回転速度 ω を選択すれば，一般化速度 q̇ は以下のように表現
される．
  

ṗx
cos θ 0 [ ]
  
 v
(5.32)
ṗy  =  sin θ 0ω01θ̇
この式は移動ロボットの位置と姿勢が，進行速度と回転速度の時刻歴の時間積分により決まることを意味しており，位置・姿勢 (px , py , θ) は進行・回転速度 (v, ω) の経路に依存することになる．この経路依存が非ホロノミック拘束を受ける系の特徴であり，またそのおかげで位置的自由度が縮退せず，任意の位置・姿勢に変化することができる14 ．

5.3

仮想変位

仮想変位もまた曖昧な捉え方をされることが多い概念である．“物理的，機構的な意味
合い，解釈” と，“数学的な定義” がごちゃ混ぜになっている書物が多いため，それらの点をできるだけ明確にすることを目指す．また，初等的な力学の書物ではあまり見受けられない，回転運動に関する仮想変位を定義する．

5.3.1

仮想変位の定義

拘束条件の下で，仮想変位 (virtual displacement) の概念を導入する．仮想変位はざっくり言ってしまえばその名の通り，“実際には動かしていないが，仮想的に少し動かしてみたときの変位” である．これを数学的に記述するために，変分法における変分を考える15 ．
変数 x に対する仮想変位を，以下のように変分を表す δ を付けて表記する．

x の変分 : δx

(x の微小量 : dx)

このように，微分法における微小量の dx と類似性 (アナロジー) を持つ表現となる．したがって，誤解を恐れず言えば，変分の数学的操作は微分とほぼ同じである．違う点として，変分は変数や関数を “そのもののみ変動させる” ため，時間とは無関係である．例えば f = f (x, t) という関数の変分を取る場合，微分法の演算と関連付けて表現すれば下記のようになる．
(
)
∂f
∂f
∂f
f の変分 : δf =δx
f の微小量 : df =
dx +
dt
∂x
∂x
∂t
このように，変分では時間による変動は含まれない．このことから，仮想変位は，時間の経過に従う変位とは無関係であることが分かる．

14
15

自動車を運転する際に，切り返しを行うことで車庫入れが可能であることを思い浮かべれば良い．
もう少し詳しい説明は後述するためここでは省略して，必要な考え方のみをここで扱う．

5.3 仮想変位

69

Figure 5.6: 剛体運動の仮想変位

5.3.2

剛体の仮想変位

Fig. 5.6 にあるように，基準座標系 ΣA における剛体 B の仮想変位を考える．まず位置の仮想変位については，位置ベクトル A pB ∈ R3 の変分を取ることで得ることができる．
δ A pB(5.33)

次に姿勢の仮想変位について考える．前述したように，一般化座標は剛体系の運動を完全に記述するならば，直交座標系に限らずどのようなものでも良い．しかしながら，剛体の姿勢に関する仮想変位については注意が必要である．回転行列 A RB ∈ R3×3 をオイラー角によるパラメータ表現 ϕAB ∈ R3 を用いて表した場合は，姿勢に関する一般化座標 q はオイラー角そのものになり，仮想変位 δq もオイラー角の変分を直接取ったものになる．
A

RB = A RB (ϕAB ) ⇒ q = ϕAB , δq = δϕAB

(5.34)

しかしながら，パラメータ表現を用いると，特異点により局所的な座標となる場合 (オイラー角など)，変数が冗長な次元と拘束条件から表現される場合 (一軸回転表現やオイ
ラーパラメータなど) が生じる．やはり，姿勢表現の本質は，位置レベルでは回転行列
A
RB ∈ R3×3 ，速度レベルでは回転速度ベクトル A ωAB ∈ R3 ，B ωAB ∈ R3 であるため16 ，回転行列の仮想変位，および回転速度に対応した仮想変位が必要であろう．したがって，
回転速度の定義式の (3.34)，(3.38) 式とのアナロジーから，2 種類の回転の仮想変位ベク
トルが定義できる17 ．
T ∨) ∈ R3 ,δ A θAB := (δ A RB A RB

16

T A
δ RB )∨ ∈ R3
δ B θAB := (A RB(5.35)

例えば，回転エネルギーなどを考える際は，その後どのような座標に取り直すにしても，一旦は回転ベクトルに基づいて表す必要がある．
17
回転速度を定義する手順と同様にして RRT = I3 ，RT R = I3 について変分をとることで導出される．

第5章

70

ここで δ A RB ∈ R3×3 は回転行列 A RB の変分であり，δ A θAB ，δ A θAB はそれぞれ基準座標系 (Spatial) と剛体座標系 (Body) で表現された回転の仮想変位ベクトルである．ただしこの表現が絶対ではなく，状況に応じて使い勝手の良い方を用いれば良い．
さらに，剛体上の点 r である A pr の変分 δ A pr と位置・姿勢の変分 (δpB , δ A θAB ) の関係を求める．点 A pr は，位置・姿勢 (A pB , A RB )，物体座標系 ΣB からみた B pr を用いて次ように表現される．
A
pr = A pB + A RB B pr
(5.36)
両辺の変分をとると

δ A pr = δ A pB + δ A RB B pr
ここで，回転に関する仮想変位ベクトルの (5.35) 式より，
T
δ A θbAB = δ A RB A RB
⇔ δ A RB = δ A θbAB A RB

であるので，以下の関係が得られる．

δ A pr = δ A pB + δ A θbAB A RB B pr()∧
= δ A pB − A RB B pr δ A θAB(5.37)

なお，点 r に新たな座標系 Σr を設置すれば，姿勢の変分について次の関係が成り立つのは明らかである．
δ A θAr = δ A θAB(5.38)(5.37)，(5.38) 式をまとめれば，[] [)∧ ] [ A ](δ pB
δ A pr
I3 − A RB B pr
=
03×3
I3
δ A θABδ A θAr(5.39)となり，速度に関する関係 (3.15) 式において速度を変分に入れ替えたものと同じであることが分かる．このように，速度に関して成り立つ関係式においては，速度を変分に入れ替えることで同様の式が成り立つ18 ．

5.4

拘束空間と拘束力

5.4.1

拘束下での仮想変位

拘束空間
仮想変位も仮想的であるとはいえ変位である以上，拘束条件に従わなくてはならない．
剛体系が幾何拘束 (5.3) 式を受ける場合，拘束を満たす仮想変位は (5.3) 式の両辺の変分を取ることで与えられる．
δC = Cq δq = 0(5.40)

18

速度の関係式において時変な項がある場合は成り立たないので注意すること．その場合は，時変の項を除いた上で速度を変分に置き換えれば良い．

5.4 拘束空間と拘束力

71

(

(

次元空間)

次元)

(

次元)

変位不可能な空間

変位可能な空間(拘束空間)(拘束力の空間)

Figure 5.7: “拘束空間” と “拘束力の空間” の関係
この (5.40) 式は，仮想変位 δq が拘束ヤコビ行列 Cq の零空間 (Nul space)19 に属することを意味しており，線形代数学を用いて以下のように表現できる．

δq ∈ Ker Cq(5.41)

ただし{
Ker Cq =x Cq x = 0 , x ∈ Rn}

⊂ Rn ,

dim(Ker Cq ) = n − m(5.42)

ここで Ker Cq は Cq の零空間を意味しており，n 次元空間 Rn の部分空間 (Subspace) である．また，dim(Ker Cq ) は部分空間 Ker Cq の次元を意味しており，n − m 次元である．
よって，幾何拘束 (5.3) 式を受ける仮想変位 δq は以下のように言い表すことができる．

• 仮想変位 δq ∈ Rn は，拘束ヤコビ行列 Cq の零空間 Ker Cq に属しており，その空
間は n 次元空間 Rn の n − m 次の部分空間である．
このように拘束条件により定まる部分空間を拘束空間 (constraint space) と呼ぶ．この拘束空間が剛体系の “構造上許容される変位” であり，“力学的構造の表現” であるとも言う．
拘束空間の補空間
次に，拘束を満たす仮想変位の条件 (5.40) 式を (5.41) 式とは別表現で表してみよう．(5.40)
式を書き直すと  ∂C1 0∂q∂Ci
 .. 
 .. 
Cq δq =  .  δq =  .  ⇔ {(Ciq )T }T δq = 0, Ciq =(i = 1, · · · , m) (5.43)
∂q
∂Cm
0
∂q
となることから，仮想変位 δq はベクトル CiTq ∈ Rn (i = 1, · · · , m) の全てに直交している．
ここで，CiTq により張られる空間，すなわち CqT の値域 (Range)20

Im CqT =
19
20

{
y

y = CqT x ,

x∈R

m

}

⊂ Rn ,()
dim Im CqT = m(5.44)

他には零化空間 (Null space)，核空間 (Kernel space) と呼んだり，核 (Kernel)，カーネルとも呼ばれる．
像 (Image)，列空間 (Column space) とも呼ぶ．

第5章

72

を考える．Im CqT は CqT の値域を意味しており，n 次元空間 Rn における m 次元の部分空間である．したがって，仮想変位 δq ∈ Rn は値域 Im CqT の全ての基底ベクトル Ciq に直交していることになる．すなわち，仮想変位 δq ∈ Rn は値域 Im CqT の空間そのものに直交しており，以下のように記述されることになる．

()⊥
δq ∈ Im CqT(5.45)()⊥
ここで Im CqT は Im CqT の直交補空間 (Orthogonal complement) を意味している．この()⊥
直交補空間 Im CqT は明らかに零空間 Ker Cq と同値である．
(

Im CqT)⊥= Ker Cq

(5.46)

また，この関係より値域 Im CqT は零空間 Ker Cq の直交補空間であり，以下の関係が成り立つ．
Im CqT ∩ Ker Cq = Im CqT ⊕ Ker Cq = Rn
(5.47)
ここで記号 ⊕ は 2 つの空間の直和 (Direct sum, Disjoint union) を意味している．以上から，
値域 Im CqT は “仮想変位が不可能な空間” を意味している．これら 2 つの関係を Fig. 5.7
に示す．

5.4.2

拘束力

拘束力の表現
さて，実際に仮想変位 δq が拘束空間 Ker Cq から飛び出さないようにするためには “拘束を破る変位を妨げる力”，すなわち拘束力 (constraint forces) が必要である．この拘束力は “変位が不可能な空間” において発生する．すなわち，前述の値域 Im CqT の空間に存在するため，以下のように与えられる．

FC ∈ Rn , λ ∈ Rm

FC = CqT λ,(5.48)

ここで λ = [λ1 , · · · , λm ]T は基底ベクトル {C1q , · · · , Cmq } に沿った拘束力の大きさを意味している．
このことを Fig. 5.8 にあるように，地面を転がる球の簡単な例で考えてみよう．一般化
座標は球の中心位置 q = [q1 q2 ]T ∈ R2 とする．球は地面から垂直抗力を受け，一定の高さで地面の上を転がりながら運動することができる．この場合，地面を表す曲線が 1 次元の拘束式
C(q) = 0, C ∈ Rとなる．この変分がCq (q)δq = 0, Cq =∂C [ ∂C
= ∂q1
∂q

∂C
∂q2

]

∈ R1×2となるわけであるから，地面の垂直方向を表すベクトルを nC ∈ R2 とすると，

nC = CqT

5.4 拘束空間と拘束力73で与えられることは明らかである．また，nC 方向にある垂直抗力が拘束力そのものであるから，拘束力 FC は
FC = CqT λで表現されることになる．ここで λ ∈ R は拘束力の CqT 方向の大きさを表す．

Figure 5.8: 拘束を満たす仮想変位の例

非ホロノミック拘束の場合
以上の仮想変位，拘束力の表現方法は，全て幾何拘束 (5.3) 式下において議論されてきた．拘束が速度拘束 (5.5) 式，すなわちシンプル非ホロノミック拘束である場合は，直接的に変分を取ることができない．そこで，速度拘束 (5.5) 式を以下の形式に書き直してみる．

A(q, t)dq+ b(q, t) = 0 ⇔ A(q, t)dq + b(q, t)dt = 0
dt(5.49)

したがって，変分をとる場合は

δq = dq,

dt = 0となることから，(5.49) 式は以下のようになる．

A(q, t)δq = 0(5.50)

したがって，(5.50) 式が仮想変位が許される空間を記述する条件になっている．また，拘束力については幾何拘束の場合と同様にして

FC = AT λ(5.51)

として与えられる．以上から，速度拘束 (非ホロノミック拘束) の場合でも，幾何拘束と同様にして仮想変位の空間と拘束力を得ることができる．

5.4.3

拘束力のなす仕事

最後に，仮想変位 δq に関して拘束力 FC がなす仕事について述べる．この拘束力がな
す仕事は以下で与えられる．
δWC = FCT δq(5.52)

第5章

74

この拘束力 FC が幾何拘束に由来するとすれば，拘束力は (5.48) 式で与えられるので，これを (5.52) 式に代入すれば
δWC = λT Cq δq = 0(5.53)となり，仮想変位の拘束条件 (5.40) 式より 0 になることは明らかである．このことは拘束
条件が速度拘束の場合，すなわち拘束力が (5.51) 式で与えられる場合も成り立つ．この性質を以下に総括する．

• 幾何拘束や速度拘束で表現される拘束条件により生じる拘束力は仮想変位に関して仕事をしないこのことを単純に “拘束は仕事をしない” と言うこともある．このように拘束を満たす系に仕事をしない拘束を，滑らかな拘束，固い拘束と呼ぶ [2]．具体的には，(a) 2 点間の距離が一定のときの相互作用の力の仕事(b) 質点が滑らかな釘にかけた糸で連結されてたるみなく運動するときの糸の張力の仕事(c) 2 つの剛体が摩擦のない滑らかな面で接するときの相互作用の力の仕事(d) 2 つの剛体が摩擦有りの面で接しており滑らず転がるときの相互作用の力の仕事(e) 滑車にかかった糸が滑り・弛みないときの張力の仕事などが挙げられる [2]．力学系のモデル化においては，特に拘束の種類を定めずに，はじめから「拘束は仕事をしない」という仮定として導入してしまうことも多い．

5.5

仮想仕事の原理

仮想仕事の原理は，力の釣り合い状態を，釣り合いを表す力ベクトルによる連立方程式
を用いることなく，スカラー量である仕事 (エネルギー) に基づいて記述するものである．

5.5.1

力の分類

まず，紛らわしい力の分類について解消することから始めよう．系の外から力 (並進力
およびモーメント) を外力 (external force) と呼ぶ．また，質量を持つ以上，相互作用の力が存在するが，これらは互いに逆向きで同じ大きさであるため，内力 (internal force) と呼ぶ．しかしながら，ここではこのような力の分類を行わず，代わりに “拘束力” と “それ以外の力” のように分類して考えるものとする．

(全ての力) = (拘束力) + (拘束力でない力)
ここで “拘束力でない力” は直接の力，加えられた力，作用力 (applied force) などと呼ばれる21 ．なお，この作用力はしばしば外力と混同されるが，内力なども含んでいるため異なるものである．ただし，内力はその性質から明らかに仕事をしないため，ここでははじめから除外して考えることとし，その結果，作用力と外力が等しくなっていることに注意
されたい．
21

他にも既知力 (Known force)，駆動力 (Treibende Kraft) などと呼ばれる．

5.5 仮想仕事の原理

5.5.2

75

質点系の仮想仕事の原理

前節において，仮想変位を導入することで，剛体系の力学的な構造を表現することが可能となった．本節では，次の状況を考える．

• 剛体系がある拘束条件に従って運動することができるとき，系の外から力 (並進力
およびモーメント) を受けて “釣り合い状態” にあるFigure 5.9: 拘束条件下での質点系の釣り合い状態
特にここでは，Fig 5.9 のように基準座標系 ΣA において表現された N 個の質点 mBi から構成される質点系を考える22 ．この質点系は m 個の何らかの拘束条件を受けており，滑らかな拘束であるとする23 ．この各質点において外力 fBi ∈ R3 が作用して釣り合っている状態を考える．なお，表記の簡単化のため，座標系を表す左肩添字 A は省略した．拘束により各剛体に働く拘束力を fCi ∈ R3 とすると，各質点において力は釣り合わなければならないので，以下が成り立つ．

fBi + fCi = 0, i = 1, · · · , N

22(5.54)

質点系は非常に非現実的な系であるので，想像が付き難い．質点は，“剛体の体積を極限まで圧縮したものであり，姿勢に着目する必要がないもの” として導入された概念である．そこで，例えば，1 つの剛体
は “微小な質点の集合体” と見なすことができるため，後述するように，剛体の微小要素を質点として扱い，
質点の力学を適用して全体積領域で積分することで，剛体の力学が得られることになる．他にも，“並進ジョイント関節の組み合わせのみ” で剛体系が拘束される場合は，回転運動を取り扱う必要がないため，質点系として扱った方が良い．
23
例えば，常に一定距離である，相対的な 1 軸の並進運動が可能である，相対的な 1 軸の回転運動が可能である，など．もちろん何の拘束も受けてない質点があっても良い．

第5章

76

このような条件下において，各質点に関して仮想変位 δpBi ∈ R3 を考える．このとき，各質点の仮想変位がなす仕事は次のように与えられる．

δWi = (fBi + fCi )T δpBi

(5.55)

このように，仮想変位と力による仕事を仮想仕事 (virtual work) と呼ぶ．全ての質点における仮想仕事 (5.55) 式の総和を取れば，質点系の仮想仕事が得られる．

δW :=

N
∑

δWi = δWe + δWC(5.56)i=1

ただし

δWe :=
δWC :=

N
∑
i=1
N
∑

δWei := fBTi δpBi

(5.57)

δWCi , δWCi := fCTi δpBi

(5.58)

δWei ,i=1

ここで δWe ，δWC はそれぞれ全外力のなす仮想仕事，全拘束力のなす仮想仕事である．拘束がなす仮想仕事は，滑らかな拘束であることから (5.53) 式より 0 である．

δWC =

N
∑

fCTi δpBi = 0(5.59)

i=1

したがって，釣り合い (5.54) 式，仮想仕事の (5.56)–(5.58) 式，および拘束の仮想仕事の(5.59) 式より，次の関係が成り立つ．

δW = δWe =N∑

fBTi δpBi = 0(5.60)i=1

この (5.60) 式を仮想仕事の原理 (principle of virtual work) と呼ぶ．以上の内容を総括すると次のようになる．

• 拘束が仕事をしない質点系が外力を受けて釣り合い状態となる必要十分条件は，拘束に適合する仮想変位に関する仕事 (仮想仕事) が 0 となることである．
この原理は，仮想変位の原理 (Principle of virtual displacement) と呼ばれることもある．
仮想仕事の原理を用いて力の釣り合いを記述することのメリットを述べる．

• “拘束が消去された形式” であるため，古典力学による力の釣り合い式のように “質点と質点を連成させる拘束力を仮に導入した後に消去する” といった面倒な作業が必要ない．
• 仮想仕事は “スカラー量” であるため，古典力学のように “釣り合い式を質点の数だ
け連立させる” 必要がなく，各質点の “仮想仕事を足し合わせる” だけで，全ての質
点の釣り合い状態を取り扱うことができる．

5.5 仮想仕事の原理

77

Figure 5.10: 拘束条件下での剛体系の釣り合い状態

5.5.3

剛体系の仮想仕事の原理

次に，Fig. 5.10 の左図のように，ある拘束を受ける N 個の剛体 Bi から構成される剛体系を考える．各剛体の位置・姿勢は (A pBi , A RBi ) で表現されている．このとき，各剛体において，右図のように剛体上の位置 Bi pri ∈ R3 の質点において単位体積あたり並進力
AfBri ∈ R3 が作用しており，剛体系全体が釣り合っている状況を考える．拘束により各剛体の位置 Bi pri ∈ R3 の質点に働く単位体積あたりの拘束力を A fCri ∈ R3 とすると，各剛体 Bi 上の全ての微小要素について，以下の釣り合いの式が成り立つ．
A

fBri dVi + A fCri dVi = 0,Bipri ∈ Vi , i = 1, · · · , N(5.61)

ここで，剛体上の各質点での仮想変位 δ A pri ∈ R3 による仮想仕事は以下のようになる．
∫
(A
)T
δWi =
fBri + A fCri δ A pri dVi(5.62)
Vi

剛体系の仮想仕事 δW はこの総和である．

δW :=

N
∑

δWi = δWe + δWC(5.63)i=1

ただし

δWe :=
δWC :=

N
∑
i=1
N
∑
i=1

∫
δWei ,

A

δWei :=
ViT
fBr
δ A pri dVi
i(5.64)∫A

δWCi , δWCi :=
Vi

T
fCr
δ A pri dVi
i(5.65)

δWe ，δWC はそれぞれ全外力，全拘束力のなす仮想仕事である．拘束力の仮想仕事 δWCは質点系の場合と同様に δWC = 0 であり，各剛体上の全ての微小要素について力の釣り

第5章

78
合い (5.61) 式が成立することから，質点系の (5.60) 式と同様の関係が成り立つ．

δW = δWe =

N
∑
(

A

)
A
T
fBTi δ A pBi + A nT
Bi δ θABi = FB δq = 0(5.66)i=1

ただしT
FB := [A FBT1 , · · · , A FBTN ]T , FBi := [A fBTi , A nT
Bi ]
A T
T
T T
T
] , δ A rBi := [A pT, · · · , A rB
δq := [A rB
Bi , δ θABi ]1
N

ここで，A fBi ，A nBi ∈ R3 は剛体 Bi の重心に作用する並進力とモーメントである24 ．この (5.66) 式が剛体系における仮想仕事の原理であり，質点系の場合の (5.60) 式と比べて，作用モーメント A nBi と姿勢の仮想変位 δ A θABi の仮想仕事の項が追加されている．

[(5.66) 式の導出] δWei ，δWCi を展開して書き直す．まず外力の仮想仕事 δWe について，(5.37) 式，すなわち()∧
δ A pri = δ A pBi − A RBi Bi pri δ A θABi
を用いて展開すると
∫
∫
∫
(A
)∧
A TA
A T A
T
δWei =
δ pri fBri dVi =δ pBi fBri dVi +RBi Bi pri A fBri dVi
δ A θAB
i
Vi
Vi
Vi
∫
∫
(A
)
A T
A
A T
= δ pBid fBri dVi + δ θABi
RBi Bi pri × A fBri dVi
ViViとなる25 ．ここで右辺第 1 項，第 2 項の積分はそれぞれ剛体 Bi の重心に作用する総並進力，総モーメントであり，次のように置き直す26 ．
∫
∫
(A
)
A
A
A
fBi =
fBri dVi ,nBi :=RBi Bi pri × A fBri dVi(5.67)
ViVi

よって，(5.64) 式は以下のように書き直すことができる．

δWe =

N
∑
(

A

)
A
fBTi δ A pBi + A nTδθ
= FBT δqABBii(5.68)

i=1

同様にして，剛体上の点 ri における拘束力 A fCri からなる剛体 Bi の重心に作用する総並進力，総モーメントとして
∫
∫
(A
)
A
A
A
fCi =
fCri dVi ,nCi :=RBi Bi pri × A fCri dVi(5.69)
Vi
24

A

Vi

剛体上の分布力 fBri により決定されるものであり，後述の (5.67) 式が定義である．
仮想仕事 δWei はスカラー量であるので δWeTi = δWei であり，転置しても同じである．そこで，式変形のし易さのため必要に応じて転置していることに注意されたい．このテクニックは良く用いられる．
26
並進力・モーメントの A fBi ，A nBi のいずれも剛体上の点 Bi pri における並進力 A fBri に由来するため，モーメント A nBi は並進力 A fBi に関して従属しているように思われるかもしれない．実際には，並進力 A fBri は剛体 Bi の全域における “分布力” であるため，“分布の仕方” により，並進力・モーメントのA
fBi ，A nBi の全てを独立に決定することができる．
25

5.6 ダランベールの原理

79を定義すれば，拘束力の仮想仕事 (5.65) 式も以下のように書き直すことができる．

δWC =

N
∑
(

A

)
A
T
fCTi δ A pBi + A nT
Ci δ θABi = FC δq(5.70)i=1

ただしT
FC := [A FCT1 , · · · , A FCTN ]T , FCi := [A fCTi , A nT
Ci ]さて，拘束力 FC は，拘束条件

C(q) = 0 ⇒ Cq δq = 0に由来することより

FC = CqT λとなることから，仕事をしないことがδWC = FCT δq = λT Cq δq = 0(5.71)

より得られる．よって，拘束力の仮想仕事 δWC は質点系の場合と同様に δWC = 0 であり，質点系の (5.60) 式と同様の関係 (5.66) 式が成り立つ．

5.6 ダランベールの原理
ダランベールの原理は，静的な関係である力の釣り合い状態のみに適用可能な仮想仕事の原理を，“加速度運動を行う動的な関係” に適用できるように拡張するために必要な原
理である．

5.6.1

質点系のダランベールの原理

前節の質点系において，各質点での運動方程式は以下で与えられる．

mBi A p̈Bi = A fBi + A fCi ,i = 1, · · · , N(5.72)

ここで，加速度に関する項 mBi A p̈Bi を移項して左辺に全てまとめ直す．
A)(
fBi + A fCi + −mBi A p̈Bi = 0,i = 1, · · · , N(5.73)

この −mBi A p̈Bi を力の一種とみなし，慣性力 (Intertial force) と呼ぶこととする27 ．したがって，(5.73) 式は作用力と慣性力が釣り合い状態にある “静的な関係” とみなすことができる
ため，仮想仕事の原理を適用することができる．これをダランベールの原理 (d’Alembert’s
principle) と呼ぶ．(5.73) 式と仮想変位 δ A pBi の内積を取り，全ての質点について足し合
わせれば
N
∑
)T
(A
(5.74)
fBi − mBi A p̈Bi δ A pBi = 0
i=127

前章の古典力学においては，非慣性系の運動に起因する見かけの力として導入された．

第5章

80

∑N
を得る．ここで，拘束が仕事をしないことから δWC = i=1 A fCTi δ A pBi = 0 であることを用いた．この (5.74) 式をダランベールの原理と呼ぶこともある．なお，ダランベールの原理の (5.74) 式を変形すれば，
N
∑
(

N
∑
)T A
A T A
mBi p̈Bi δ pBi =fBi δ pBi = δWeAi=1(5.75)

i=1となり，“慣性力による仮想仕事” が “作用力による仮想仕事” と等しいことが分かる．

剛体系のダランベールの原理

5.6.2

Fig. 5.10 の剛体系におけるダランベールの原理を考える．各剛体 Bi 上の点 Bi pri での
質点 ρi (Bi pri )dVi に関して，ダランベールの原理より成り立つ (5.73) 式と同様の式を立てると以下のようになる．
A

fBri dVi + A fCri dVi − ρi (Bi pri )dVi A p̈ri = 0,Bipri ∈ Vi , i = 1, · · · , N(5.76)

この両辺について，剛体上の微小要素 (質点) の仮想変位 A pri との内積をとり，剛体上全域で積分したのち，全ての剛体についての総和ととれば以下のようになる．
N ∫∑A(5.77)
ρi (Bi pri )A p̈TδWe + δWC −ri δ pri dVi = 0
i=1

Vi

ここで，作用力の仮想仕事 δWe は (5.68) 式，拘束力の仮想仕事 δWC は (5.70) 式で与えられる．この (5.77) 式を書き直せば，以下の剛体系におけるダランベールの原理が得られる．
{
}
(
)T
N
A
∑
(A
)
d
L
T
B
i
fBi − mBi A p̈Tδ A pBi + A nBi −δ A θABi = 0(5.78)
Bidt
i=1
なお，この (5.78) 式も変形することで，慣性力の仕事と作用力の仕事の等式が得られる．
{
}
)T
( A
N
N
∑
∑
(
)
(A T A)d LBi
A T T AAA
mBi p̈Bi δ pBi +δ θABi =fBi δ pBi + A nT
Bi δ θABi = δWe
dt
i=1
i=1
(5.79)[(5.78) 式の導出] 左辺第 1 項の δWe は (5.68) 式より得られる．また，左辺第 2 項の δWCは拘束が仕事をしないため δWC = 0 である．左辺第 3 項についてはかなり煩雑な計算が必要である．まず δ A pri ，A p̈ri を計算すると)∧(
δ A pri = δ A pBi − A RBi Bi pri δ A θABi
A
pBri := A RBi Bi pri= δ A pBi − A pbBri δ A θABi ,)d (AAb ABi A RBi Bi pri
p̈ri =
ṗri + A ω
dtAḃ ABi A RBi Bi pri + A ω
b ABi A RBi Bi pri
b ABi A ω
= p̈ri + A ωḃ ABi A pBri + A ω
b ABi A pBrib ABi A ω
= A p̈ri + A ω

b ABi A pbBri A ωABi
= A p̈ri − A pbBri A ω̇ABi − A ω5.7 変分法

81となるので，これらを用いて積分を計算する．
∫
ABi
δ A pTri p̈ri ρi ( pri )dVi
Vi
∫
( A T
)(
)
T A
b ABi A pbBri A ωABi ρi (Bi pri )dVi=
δ pBi + δ A θAB
pbBri A p̈ri − A pbBri A ω̇ABi − A ω
i
Vi
)
(∫
∫
Bi
A T
A 2
Bi
A T A
pbBri ρi ( pri )dVi A ω̇ABi
ρi ( pri )dVi − δ θABi
= δ pBi p̈ri
Vi
Vi
∫
A
A T
b ABi A pbBri A ωABi ρi (Bi pri )dVi
pbBri A ω
− δ θABiVi

なお，被積分部分を展開した際，剛体の重心に座標系 ΣBi を設置していることから成り立つ関係 (4.8) 式，すなわち
∫
∫
A
Bi
A
Bi
pBri ρi ( pri )dVi = RBipri ρi (Bi pri )dVi = 0
ViViを用いて 3 つの項を消去したことに注意されたい．ここで，質量の定義 (4.2) 式，および
基準座標系 ΣA での慣性テンソルの定義 (4.39) 式より∫
mB i =
ρi (Bi pri )dVi
(5.80)Vi∫′A 2
J Bi = −pbBri ρi (Bi pri )dVi
(5.81)
Viである．また，外積に等価な歪み対称行列に関する公式 [11, pp. 22] を用いて

bb
bb ⇒
a
bb
ab = bbbaaAb ABi A pbBri A ωABi = A ωb ABi A pb2Bri A ωABi
pbBri A ω

(5.82)と変形できる．以上を用いて整理すると，最終形として
∫
(
)
A
Bi
A T
A
A T
′ A
A T A
b ABi JB′ i A ωABi
δ A pTri p̈ri ρi ( pri )dVi = δ pBi mBi p̈ri + δ θABi JBi ω̇ABi + δ θABi ω
Vi

(
)
( ′ A
)
A
A T
A
′ A
= δ A pT
Bi mBi p̈ri + δ θABi JBi ω̇ABi + ωABi × JBi ωABiA()
A
A T d LBi
(5.83)= δ A pT
m
p̈
+
δ
θ
B
r
Bi
ABi
i
i
dt

のように書き直すことができる．なお，ここで基準座標系 ΣA における角運動量 A LBi の時間微分が (4.41) 式で与えられることを用いた．よって，(5.77) 式の左辺の第 2 項は以下のようになる．
}
{
)T
( A
N ∫
N
∑
∑
d
L
B
i
A
A
(5.84)
δ A θABi
ρi (Bi pri )A p̈T
mBi A p̈Tri δ pri dVi =Bi δ pBi +
dt
V
i
i=1
i=1
以上から，(5.64)，(5.84) 式を (5.77) 式に代入すれば，剛体系におけるダランベールの原理 (5.78) 式を得る．

5.7 変分法
変分法とは解析学の一分野であり，汎関数の最大化・最小化を目的として，汎関数の極値関数，停留関数を取り扱うものである．ここではその概要を述べる．

第5章

82

5.7.1

変分法で取り扱う問題

Figure 5.11: 関数の最小化の例
問題設定を理解するため，まず Fig. 5.11 左図のように関数の最小化を考えよう．x ∈ Rの関数 f (x) の値を最小化する問題は以下のようになる．

min f (x)(5.85)x

この問題の解 x∗ は，曲線 y = f (x) のいわゆる “谷” にあたる座標であり，変化率が 0 となる条件から求められる．
df (x) = 0(5.86)
dx
実際にはこの条件は必要条件に過ぎず，さらに 2 階微分の変曲率に関する条件が必要であるが，ここでは割愛する．例えば関数が 2 次関数

f (x) = ax2 + bx + c, a ̸= 0
で与えられるならば，最小値を与える x は

2ax + b = 0 ⇔ x∗ = −b2a

ここで，得られた解 x∗ が “数値” であることは明らかである．
次に，Fig. 5.11 の右図のように，(x, y) 平面の鉛直下向きに重力加速度定数が g [m/s2 ]であるような重力が働いている場において，2 つの定点 (0, 0)，(x1 , y1 ) を結ぶ滑らかな曲
線 y = u(x) があるとする．このとき，曲線上で摩擦がない状況において，ある質点を初速度 0 で (0, 0) から滑らせたとき，(x1 , y1 ) い達するまでの時間が最小となるような曲
線 y = u(x) は，一体どんな “形” になるか考えてみよう．この問題はヨハン・ベルヌー
イ (Johann Bernoulli, 1667〜1748) が提起した問題であり，最速降下線 (brachistochrone
curve, 1696) と呼ばれる．質点の座標が (x, y) にあるときの速度 v は，エネルギー保存則
から以下のように与えられる．

v=√√
2gy = 2gu(x)5.7 変分法

83

また，(x, y) における曲線の微小長さ ds は以下のようになる．
√
( )2
√
√
dy
ds = dx2 + dy 2 = 1 +dx = 1 + {u′ (x)}2 dx
dx
したがって，曲線の微小長さ ds を進むために必要な時間 dt は√√
1 + {u′ (x)}2 dx
ds
1 + {u′ (x)}2
√
=
dx
dt =
=
v
2gu(x)
2gu(x)となるため，(0, 0) から (x1 , y1 ) に到達するのに要する時間 T は√∫ x1
1 + {u′ (x)}2
T =dx; u(0) = 0, u(x1 ) = y1
2gu(x)
0(5.87)のように，関数 u(x) および u′ (x) を用いた形式として得られる．ここで，u(x) およびu′ (x) が関連した部分のみを抜き出して，√∫ x1
1 + {u′ (x)}2dx(5.88)
I[u] =u(x)0
とおく．この I[u] は u(x) という “関数の形” により値が定まるようになっており，“関数 u の関数” と呼ぶこともできる．このように “関数と値を関連付ける” 関数を汎関数(functional) と呼ぶ28 ．汎関数はこの汎関数 (5.88) 式を用いて，この最速降下線の問題は
以下のように定式化される．
min I[u](5.89)u

このように，汎関数が最小 (極値) をとるような関数を求める問題を変分問題 (variational
problem) と呼び，その解法を変分法 (calculus of variation) と呼ぶ．

5.7.2

変分法と Euler の微分方程式

変分問題 (5.89) 式を次のように一般化した問題の解を導出する．

min I[u](5.90)

u

ただし

∫ x1
I[u] :=F (x, u(x), u′ (x))dx;u(x0 ) = y0 , u(x1 ) = y1x0

この汎関数 I[u] を作用積分 (action integral) と呼んだりもする．ここで 関数 F (x, u(x), u′ (x))
は取り扱う変分問題によって決まるものであり，例えば前節で述べた最速降下線の問題
では，(5.88) 式の被積分関数，すなわち曲線の微小長さの移動時間を表す関数で与えられ
る29 ．
28
29

通常の関数は，“変数と値を関連付ける” 関数である．
他にも，最短距離，懸垂曲線など様々な問題がある [2]．

第5章

84

Figure 5.12: 解の関数形 y = u(x) からの変分をとった関数 u(x) + δu(x)
変分法の考え方として，まず (5.90) 式を満たす関数形 y = u(x) が求められたと仮定する．そして，座標 (x, y) において，その関数から y 座標に変分 δy だけずれた状況を考える．始点と終点は一致させたまま，これを x ∈ [x0 , x1 ] の全域について考えれば，解の関数形 y = u(x) からずれた関数形 u(x) + δu(x) が得られる．

u(x) → u(x) + δu(x)ここで δu(x) は関数 u(x) の変分である．この関数形の “ずれ” により，作用積分 I[u] もず
れを生じる30 ．
I[u + δu] = I[u] + δI[u]よって，この作用積分の変分 δI[u] がδI = 0(5.91)となる停留条件 (stationary condition) を満たす関数形 u(x) が (5.90) 式の解となる31 ．これを変分原理 (variational principle) と呼ぶ．
では，実際に変分問題 (5.90) 式を停留条件 (5.91) に基づいて解いてみる．(5.90) 式の作
用積分 I の変分をとれば)∫ x1 (∂F ′∂F
δy + ′ δy dx(5.92)
δI =
∂y
∂y
x0
となる32 ．ここで，δy ′ について(′

δy = δ

30

dy
dx

)
=

d
(δy)
dx

δu が微小であることから，1 次近似で良い．
正確には最大・最小を与える極値ではなく，停留値が求まるのみである．
32
y = u(x) であるので，表記の簡単化のため，u の代わりに y を用いている．
31(5.93)

5.7 変分法

85のように，微分と変分に関する交換則が成り立つ (証明は後述)．したがって，(5.93) 式を(5.92) 式に適用すれば)∫ x1 (
∫ x1
∫ x1
∂F
∂F d
∂F
∂F d
δI =
δy + ′ (δy) dx =δydx +(δy)dx(5.94)
′
∂y
∂y dx
x0
x0 ∂y
x0 ∂y dxとなる．ここで，右辺の第 2 項を部分積分法を用いて積分すると[]x1 ∫ x1
(
)
∫ x1
∂F
∂F d
d ∂F
δydx
(δy)dx =
δy
−
′
∂y ′
∂y ′
x0 ∂y dxx0 dx
x0

(5.95)

であり，境界条件として始点と終点は一致していることから，以下の固定端条件

δy x=x0 = δu(x0 ) = 0,

δy x=x1 = δu(x1 ) = 0が成り立つため，(5.96) 式を (5.95) 式に用いれば，右辺第 1 項は 0 となる．
(
)
∫ x1
∫ x1
∂F d
d ∂F
(δy)dx = −
δydx
′
∂y ′
x0 ∂y dx
x0 dx
したがって，(5.97) 式を (5.94) 式に代入して整理すれば()} ]∫ x1 [{
∂F
d ∂F
δI =
−
δy dx
∂y
dx ∂y ′
x0

(5.96)(5.97)(5.98)

を得る．停留条件 (5.91) 式の δI = 0 を考えると，変分 δy = δu(x) は任意にとって良いため，(5.98) 式が常に 0 となるためには
(
)
∂F
d ∂F
−
=0
∂y
dx ∂y ′
でなければならない．y = u(x) であるので y を u に入れ替えて改めて次のように表記
する．
(
)
∂F
d ∂F
−
=0
(5.99)∂u
dx ∂u′
得られた (5.99) 式は，関数 F = F (x, u(x), u′ (x)) が x，u，u′ によって定まることから，uに関する微分方程式となっている事がわかる．(5.99) 式を変分問題 (5.90) についてのオイ
ラーの微分方程式 (Euler differential equation) と呼ぶ．
このように，汎関数 I[u] を最小化・最大化 (停留) する関数形 u(x) は，微分方程式の(5.99) 式の解として与えられる．前節で関数を最小化する変数の値を求める問題と異なり，直接的ではなく間接的に解を与える形式としての条件になっていることに注意しておきたい．

[変分と微分の交換則 (5.93) 式の導出] Fig. 5.12 において，曲線 y = u(x) と y = u(x) +δu(x) の x + dx における y 方向の差分を表す線分 P Q を考える．まず，明らかに P Q は
y + dy の変分であり，
P Q = δ(y + dy) = δy + δ(dy)(5.100)

第5章

86となる．一方，線分 P Q は座標 (x, y) における変分 δy = δu(x) の x が微小要素 dx だけ
変化したものでもあるため，

P Q = δu(x + dx) = δu(x) +d(δu)
dx = δy + d(δy)
dx(5.101)

が成り立つ．したがって，(5.100)，(5.101) 式が等しいことから (5.93) 式が成立する．

[最速降下線 (Fig. 5.11 右図; 作用積分 (5.88) 式) の変分問題の解] 作用積分 (5.88) 式をオ
イラーの微分方程式の (5.99) 式に適用すれば，その解は以下のように求められる33 ．
aax(θ) = (θ − sin θ), y(θ) = (1 − cos θ); x(θ1 ) = x1 , y(θ1 ) = y1
22

(5.102)

ここで，a，θ1 は終端条件より定まる定数である．元々の曲線 y = u(x) における関数 u(x)で表現したい場合は，

u(x) = g(f −1 (x)),

aaf (θ) := (θ − sin θ), g(θ) := (1 − cos θ)
22とすれば良い．これが良く知られているサイクロイド曲線 (cycloid) である．

5.7.3

ラグランジュの未定乗数法 (多変数関数)

これまで 1 変数の目的関数 (関数，汎関数) の最小化を考えてきたが，ここでは多変数の関数の最小化において，次のような拘束条件が存在する場合を考える．

g(x, y) = 0(5.103)

これは 2 変数の場合である．したがって，次のような，2 変数関数の拘束条件付きの最小化問題を考えることになる34 ．

min f (x, y)(x,y)

s.t. g(x, y) = 0(5.104)

この問題を解く最も直接的な方法は，拘束条件 (5.103) 式を用いて変数を消去することである．次の具体例で扱ってみる．

f (x, y) = x2 + y 2 ,g(x, y) = x + y − 1

拘束条件 y = −x + 1 より f (x, y) から y を消去すると

f (x, y) = x2 + (−x + 1)2 = 2x2 − 2x + 1となるので，変化率が 0 となる条件から解が得られる．

d1
f (x) = 4x − 2 = 0 ⇔ x =
dx
2
33
34

導出は非常に煩雑なので省略する．興味のある人は文献 [2] などを参照されたい．
略号 s.t. は “such that” もしくは “subject to” を意味する．

(5.105)

5.7 変分法

87

このように変数消去が可能なのは拘束条件 (5.103) 式が陽関数として表現できる場合に限る．そこで，変数を消去しない手法を考えてみよう．目的関数 f (x, y) の微小量 df は次のように与えられる．
∂f
∂f
df =
dx +
dy
(5.106)∂x∂y
拘束条件 (5.103) 式が存在しない場合，微小量 dx，dy は独立である．したがって，f (x, y)が停留値 (極値) を取る条件は，任意の dx，dy に関して

df = 0(5.107)が成り立つ必要がある．この条件は明らかに dx，dy の係数が 0 であることである．

∂f
= 0,
∂x

∂f
=0
∂y

(5.108)しかしながら，拘束条件 (5.103) 式が存在する場合は，微小量 dx，dy は独立ではなくな
り，停留条件 (5.108) 式が成り立たないことになる．この場合，従属な微小量を消去する
ことを考えれば良い．拘束条件 (5.103) 式の微小量 dg について

dg =

∂g
∂g
dx +
dy = 0∂x∂y(5.109)であるため，(5.109) 式に −λ を乗じて (5.106) 式に足し合わせれば，(5.107) 式より，
(
)
(
)
∂f
∂f
∂g
∂g
df − λdg =
−λ
dx +
−λ
dy = 0(5.110)∂x∂x∂y∂yとなる．この λ を，微小量 dy を消去するように以下のように選択する35 ．

∂g
∂f
−λ
=0
∂y
∂y

(5.111)

この (5.111) 式ような λ により，(5.110) 式は微小量 dx のみで表現される．
)
(
∂f
∂g
df − λdg =−λdx = 0∂x∂x
したがって，dx は独立であるから36 ，停留条件は

∂f
∂g
−λ
=0
∂x
∂x

(5.112)となる．このように，拘束条件がある場合は，その条件を用いて従属な微小量を消去することで，拘束条件がない場合の停留条件 (5.108) 式と同様に停留条件を考えることができる．以上から，拘束条件付きの最小化問題は，(5.103)，(5.111)，(5.112) 式を解き，(x, y, λ)を見つけることに帰着される．

∂g
∂f


−λ
=0


∂x
∂x


∂g
∂f
(5.113)
−λ
=0


∂y
∂y




g(x, y) = 0
35
36

∂g
̸= 0 の場合に限る．
だたし， ∂y
微小量 dy は拘束条件の微小量の (5.109) 式より決定される．

第5章

88
さて，得られた 3 条件 (5.113) 式でも良いが，次のような新しい目的関数f˜(x, y, λ) := f (x, y) − λg(x, y)(5.114)を導入する37 ことにより，拘束条件のない最小化問題として定式化することができる．

min f˜(x, y, λ)(x,y,λ)(5.115)

この最小化問題 (5.113) 式について停留条件

∂ f˜
= 0,
∂x

∂ f˜
= 0,
∂y

∂ f˜
=0
∂λ

(5.116)は明らかに (5.113) 式に等価であることが分かる．このように，拘束条件 (5.103) 式の下での最小化問題 (5.104) 式を解く代わりに，目的関数 f (x, y) と拘束条件を表す関数 g(x, y)を線形結合した新しい目的関数 (5.114) 式に関する拘束条件のない最小化問題 (5.115) 式
として解くことを，ラグランジュの未定乗数法 (method of Lagrange multipliers) と呼ぶ．
また，線形結合の係数 λ をラグランジュの未定乗数 (Lagrange multipliers) と呼ぶ．このラグランジュの未定乗数法の秀逸な点は，拘束条件を用いて変数を消去するのではなく，反対に未定乗数を導入して変数を増やしてしまうことで，拘束条件なしの問題に帰着させた点である．実際に解く際には以下のような手順となる．

1. 停留条件 (5.113) 式の第 1，第 2 式から x，y を λ で表現する．
2. 得られた x = x(λ)，y = y(λ) を停留条件 (5.113) 式の第 3 式，すなわち拘束条件
g(x, y) = 0 に代入して未定乗数 λ を求める．
3. 得られた λ の値を用いて x，y を定める．
このことから，未定乗数 λ は拘束条件を満足するように決定されるものであることが分かる．やや乱暴な言い方をすれば，未定乗数 λ に拘束条件に合うように “辻褄合わせ” をしてもらえるので，本来拘束を受けるはずの変数 x，y はあたかも独立変数であるように自由に振る舞うことができるのである．
具体例として，(5.105) 式の目的関数 f (x, y) と拘束条件を表す g(x, y) を入れ替えたよ
うな以下の最小化問題を解いてみる．

f (x, y) = x + y ,g(x, y) = x2 + y 2 − 1(5.117)

拘束条件 g(x, y) = 0 から (x, y) のどちらか一方を消去すること自体は可能ではあるが，場合分けが必要であり面倒である．そこでラグランジュの未定乗数法に基づき，(5.114) 式のような新しい目的関数f˜(x, y, λ) := x + y − λ(x2 + y 2 − 1)37

この関数をラグランジュ関数 (Lgrangian function) と呼ぶ．しかしながら，後述する Hamilton の原理で現れる運動エネルギーとポテンシャルエネルギーの差で定義される関数もラグランジュ関数 (Lagrangian) と呼ばれており，紛らわしいためこのテキストでは表立ってラグランジュ関数とは呼ばないことにする．

5.7 変分法

89

High

Max

Min

Low

Figure 5.13: 目的関数の等高線 f (x, y) = c と拘束条件 g(x, y) = 0 の交点を導入すれば，停留条件より，

∂ f˜
∂ f˜
∂ f˜
= 1 − 2λx = 0,
= 1 − 2λy = 0,
= x2 + y 2 − 1 = 0∂x∂y∂λの 3 式が得られる．第 1，2 式より，

x=

1
1
, y=
2λ
2λ

となり，x，y が λ で表現される．これらを第 3 式に代入すれば，

1
1
1+ 2 − 1 = 0 ⇔ λ = ±√
2
4λ
4λ
2
のように 2 通りの未定乗数 λ の値が得られる．これより x，y が求まり，その結果，目的関数 f˜(x, y, λ) の値は√√√√f˜(± 22 , ± 22 , ± 22 ) = ± 2√となり，λ = − √12 のときに最小値 − 2 を取ることが分かる．
このようにラグランジュの未定乗数法を用いて得られた解に関して幾何学的な解釈を行うため，Fig. 5.13 において，目的関数 f (x, y) が様々な値 c を取る場合の等高線 f (x, y) = c，
および拘束条件を表す曲線 g(x, y) = 0 を描画する．拘束条件を満足するような目的関数の値 c の範囲は√√− 2≤c≤ 2√√であり，最大値 c = 2 および最小値 c = − 2 を取るのは，等高線 f (x, y) = c と曲線
g(x, y) = 0 が接するときであることが分かる．この事実を踏まえて，停留条件 (5.113) 式

第5章

90
の第 1，2 式を変形してまとめると

 

∂f
∂g
 ∂x    = λ  ∂x  ∂f  ∂g 
∂y∂y

(5.118)となり，左辺は等高線 f (x, y) = c の法線，右辺は曲線 g(x, y) = 0 の法線に未定乗数を乗じたものとなっており，法線方向が等しい条件となっている．ここで，未定乗数 λ は法線ベクトルの大きさに関する任意性を表していることに注意されたい．この条件は 2 つの曲線が接するための必要条件であり，Fig. 5.13 のように，実際は接しなくても法線ベクトルだけは等しい場合があり得る．そのため，停留条件 (5.113) 式の第 3 式により，未定乗数
λ が 2 つの曲線が接するように定まるようになっている．
以上のラグランジュの未定乗数法に関する事項をまとめる．

• 拘束条件 g(x, y) = 0 の下での目的関数 f (x, y) の最小化問題 (最大化，停留値) において，拘束条件を用いて変数を消去するのではなく，未定乗数 λ を導入し，新しい目的関数 f (x, y) − λg(x, y) に関する拘束条件なしの最小化問題に帰着する手法である．
• 未定乗数 λ を導入することにより，変数 x，y を独立変数として取り扱うことができるため，拘束条件なしの停留条件をそのまま用いることができるようになっている．
• 拘束条件 g(x, y) = 0 が陰形式である場合に特に有効である．
• 幾何学的に解釈すると，停留条件のうち，変数 x，y に関する条件は，等高線 f (x, y) =c と曲線 g(x, y) = 0 の法線ベクトルの方向が等しい条件となっている．
• また，停留条件の未定乗数 λ に関する条件は，上記の条件の下，等高線と曲線が接するような λ を与える条件となっている．
以上で述べた事項は，任意の多変数関数，および複数の拘束条件の場合についても成り立
つものである．
min f (x) s.t. g(x) = 0 ⇔ min f (x) − λT g(x)(5.119)
x

5.7.4

(x,λ)

ラグランジュの未定乗数法 (汎関数・変分問題)

前小節で述べた多変数関数に関するラグランジュの未定乗数法は，当然ながら変分問
題についても用いることができる．具体例として，Fig. 5.14 のように，一様な線密度 ρ[kg/m]，一定の長さ l [m] を持つ糸を両端 (−x0 , y0 )，(x0 , y0 ) で固定して重力場で吊るした
ときの糸の形状 y = u(x) を求める問題を考える．この変分問題は懸垂曲線もしくはカテナリー曲線 (catenary, 1691) と呼ばれており，ヤコブ・ベルヌーイ (Jacob Bernoulli, 1654
〜1705) 38 により提起された．この糸の座標 (x, y) における微小長さ ds の持つ質量はdm = ρds38

前述のヨハン・ベルヌーイの兄である．

5.7 変分法

91[kg/m]

Figure 5.14: 一定の長さを持つ糸の吊り下げ状態での形状 (懸垂曲線)であるため，糸の全ポテンシャルエネルギー U は以下で与えられる．
∫∫∫ l∫ x0 √
U = dU = −dmgy = −ρgyds = −ρgy 1 + y ′2 dx
0

−x0

√
ここで微小長さが ds = 1 + y ′2 dx であることを用いた．さて，仮想仕事の原理より，釣り合い状態とは外力が成す仮想仕事が 0 となることであった．今回のように外力が保存
力 (重力場による重力) のみである場合，外力がなす仮想仕事はポテンシャルエネルギー
U の変分そのものである．したがって，糸が釣り合い状態で吊り下がる懸垂曲線の問題
は，以下の作用積分 I[u] に関する変分問題になる．
∫ x0√
I[u] :=
u(x) 1 + u′ (x)2 dx; u(−x0 ) = u(x0 ) = y0
(5.120)−x0

ただし，糸の長さは一定であるので，以下の積分系の付加条件∫ x0 √
1 + u′ (x)2 dx
J[u] = l, J[u] :=(5.121)−x0

を拘束条件として取り扱う必要がある．したがって，ラグランジュの未定乗数法より，以下の未拘束条件下での変分問題を考えれば良い．
∫ x0
√
˜
˜
(u(x) − λ) 1 + u′ (x)2 dx
min I[u], I[u] := I[u] − λJ[u] =(5.122)u−x0

以上の拘束条件付きの変分問題を一般化する．

min I[u]
u

ただし

∫ x1

I[u] :=′

s.t. J[u] = c∫ x1

F (x, u(x), u (x))dx, J[u] :=x0x0(5.123)g(x, u(x), u′ (x))dx; u(x0 ) = y0 , u(x1 ) = y1

第5章

92

この拘束条件付きの変分問題は，ラグランジュの未定乗数法により次の拘束条件なしの変分問題に帰着される．
∫ x1
˜
˜ :=
min I[u],I[u]F̃ (x, u(x), u′ (x), λ)dx, F̃ := F − λg(5.124)ux0

したがって，変分問題における停留条件を適用すれば，以下のオイラーの微分方程式が得られる．
()
d ∂ F̃
∂ F̃
=0(5.125)
−
′
dx ∂u
∂u
この微分方程式を解くことで得られる関数形 u はu(x; c1 , c2 , λ)(5.126)のように，3 つの未決定な定数 (c1 , c2 , λ) を含んだ形になる．ここで c1 ，c2 は求解の過程
において不定積分を求める際に生じる積分定数である．これらは始点と終点の境界条件，
および積分系の付加条件により求める．
∫ x1
u(x0 ) = y0 , u(x1 ) = y1 , J[u] =g(x, u(x), u′ (x))dx = c(5.127)x0[懸垂曲線 (Fig. 5.14; 変分問題 (5.122) 式) の解]
関数 u(x) は以下の形式で与えられる [2]．
u(x) = c1 cosh

懸垂曲線の変分問題 (5.122) 式を解くと，

(

x
c1

)
+λ

(5.128)

ただし，積分定数 c1 は糸の長さが一定である拘束条件 (5.121) 式より
( )
x0
l
=
2 sinhc1
c1を満足するような値である39 ．また，未定乗数 λ は，始点もしくは終点の境界条件 u(−x0 ) =u(x0 ) = y0 から決定される．
( )x0
λ = y0 − c1 coshc1
このように懸垂曲線は双曲線関数 (hyperbolic function) として求められ，実用上非常に重要な結果として知られている．例えば，アーチ橋などは懸垂曲線を上下反対にした形状となっており，全ての部材に圧縮力がかかり力学的に安定する．他にも，寺社仏閣の建築物
における屋根の形状が懸垂曲線になっている．

5.8

ハミルトンの原理

ここでは，これまで示した原理を用いてハミルトンの原理を導く．なお，導出には簡単化のため質点系を扱うものとする40 ．また，最小作用の原理についても簡単に紹介する．
39
40

2 回目の不定積分により生じる積分定数 c2 は境界条件の対称性より c2 = 0 となる．
剛体系の場合では角速度の変分を扱うことになり，非常に煩雑な計算が必要となるため省略する．

5.8 ハミルトンの原理

5.8.1

93

ハミルトンの原理の導出

Figure 5.15: 異なる道筋 C ，C ′ をたどる質点の運動
Fig. 5.9 の質点系 mi (i = 1, · · · , N ) を考える．なお，表記の簡単化のため座標系を表
す添字は省略することとする．Fig. 5.15 にあるように，時刻 t = t1 から t = t2 までの間に，状態 P1 (t1 , pi1 ) から P2 (t2 , pi2 ) まで道筋 C を通り遷移する状況を考える．一方，任意の時刻 t ∈ [t1 , t2 ] における状態 P (t, pi (t)) から，以下の仮想変位により変動した状態
P (t, p′i (t)) を考え，その道筋を C ′ と名付ける．
pi (t) → p′i (t) = pi (t) + δpi (t),ṗi (t) → ṗ′i (t) = ṗi (t) + δ ṗi (t)(5.129)

このとき，道筋 P1 CP2 ，P1 C ′ P2 における総運動エネルギーはそれぞれ以下で与えられる．
∫ t2
∫ t2
N
N
∑
∑
1
1
T
mi ṗi (t) ṗi (t),mi ṗ′i (t)T ṗ′i (t) (5.130)
T ′ dt, T ′ :=T dt, T :=
2
2
t1
t1
i=1
i=1
仮想変位 (変分) が微小量であり 2 次以上の項は 0 であることに注意すれば，2 つの道筋
P1 CP2 ，P1 C ′ P2 での総運動エネルギーの差は，道筋 P1 CP2 の総運動エネルギーの変分に
等しい．
∫
∫
∫
t2

′

T dt −

t1

t2

t2

T dt = δt1

T dt(5.131)t1

以降では，この道筋の異なる総運動エネルギーの差の解析を行う．(5.93) 式より，変分と微分の操作が交換可能であることに注意すれば，
∫ t2
∫ t2
δ
T dt =
δT dt
t1

t1

=

∫ t2 ∑
Nt1

mi ṗi (t)T δ ṗi (t)dti=1∫ t2 ∑
Nd{δpi (t)} dt
dt
t1 i=1}N {[]t2 ∫ t2∑TTmi p̈i (t) δpi (t)dt=
mi ṗi (t) δpi (t) −=i=1

mi ṗi (t)T

t1

t1

(5.132)

第5章

94となり，部分積分法により展開可能である．ここで，いずれの道筋においても始点と終点は一致していることから，境界条件

δpi (t1 ) = δpi (t2 ) = 0(5.133)を用いれば，(5.132) 式の右辺第 1 項は 0 となる．
∫ t2
∫ t2 ∑NδT dt = −mi p̈i (t)T δpi (t)dt
t1

t1(5.134)i=1

この (5.134) 式の右辺の被積分の部分は “慣性力による仮想仕事” であり，ダランベールの原理による関係 (5.75) 式より，“作用力による仮想仕事” に等しい．
N∑T

mi p̈i (t) δpi (t) =

i=1

N
∑

fi (t)T δpi (t) = δWei=1

ここで fi ∈ R3 は質点 mi への作用力である．この関係を用いれば (5.134) 式は∫ t2∫ t2 ∑∫ t2
NTδ
T dt = −fi (t) δpi (t)dt = −δWe dtt1

t1(5.135)t1

i=1と変形できる．よって，(5.135) 式の右辺を左辺に移項してまとめれば以下の結果を得る．
∫ t2(δT + δWe )dt = 0(5.136)t1

この (5.136) 式が，ハミルトンの原理 (Hamilton’s principle) と呼ばれるものである．

5.8.2

ハミルトンの原理の様々な表現

前小節の (5.136) 式が最も一般的なハミルトンの原理であるが，この形式そのままで用いられていたり，書物で紹介されていることは少ない．最もポピュラーな形式は，作用力
fi が保存力 (conservative forces) である場合である．全ての作用力 fi (i = 1, · · · , N ) が保存力であるならば，次のようなスカラー関数 U が存在する．
()T∂U
fi = −, U = U (p1 , · · · , pN )(5.137)∂pi
このスカラー関数 U を位置エネルギーもしくはポテンシャルエネルギー (potential energy)と呼ぶ．このとき，作用力の仮想仕事 δWe は

δWe = −

N
∑
∂U

∂pi
i=1

δpi = −δU

(5.138)となり，ポテンシャルエネルギーの変分に等しくなる．よって，(5.138) 式を (5.136) 式に適用すれば，変分の操作と時間積分を交換することが可能となり，以下の形式で表現され
る41 ．
∫
t2

δ

L(pi (t), ṗi (t))dt = 0,

L := T − U(5.139)t1

関数 L は全ての質点系に依存するので，引数も (p1 (t), · · · , pN (t), ṗ1 (t), · · · , ṗN (t)) と表記するべきだ
が，表記の簡単化のため (pi (t), ṗi (t)) としている．
41

5.8 ハミルトンの原理

95

この (5.139) 式が良く見られるハミルトンの原理である．また，関数 L をラグランジュ関
数 (Lagrangian) 42 もしくは運動ポテンシャル (kinetic potential) と呼ぶ．ハミルトンの原理 (5.139) 式は明らかに以下の作用積分∫ t1
S[pi ] :=L(pi (t), ṗi (t))dt(5.140)t0に関する変分問題であり，次の内容を意味している．

• 質点系 mi (i = 1, · · · , N ) が時刻 t = t1 から t = t2 まで遷移する際，“始点と終点を結ぶ様々な道筋” があり得るうち，同じ時間内の運動ポテンシャルの積分が最小 (最大，停留値) になるような運動の仕方が “実際に起こる運動” である．
上記において，“始点と終点を結ぶ様々な道筋” は許容運動 (admissible motion) と呼ばれており，ざっくりといえば “勝手に仮想された運動” である．より正確には，質点系が受ける拘束条件を考えたとき，“幾何学的拘束条件を満たす運動” を意味する．また，“実際に起こる運動” は自然運動 (natural motion) と呼ばれており，“仮想的ではない現実に生起する運動” である．すなわち，上記の幾何学的拘束条件を満たし，さらに “動力学的平衡
条件を満たす運動” を意味している．
さて，(5.139) 式は非常に重要な形式であるが，作用力が保存力と非保存力から構成される場合には対応していない．したがって，作用力 fi を保存力と非保存力に分けて表現
する．
)T
(
∂U
(5.141)fi = fci + fnci , fci = −∂pi
この (5.141) 式を (5.136) 式に適用すれば，一般的かつ実用的なハミルトンの原理が得ら
れる．
∫ t2
∫ t1
N
∑
T
δ
Ldt +
δpi
(5.142)
δWnc dt = 0, δWnc :=
fnc
i
t1

t0

i=1

ここで δWnc は非保存力のなす仮想仕事である．

5.8.3

最小作用の原理

簡単のため，作用力が保存力のみである場合を考える．したがって，エネルギー保存の法則 (law of the conservation of energy) により，質点系の運動エネルギー T とポテンシャ
ルエネルギー U の和が一定値 E を取る．

T +U =E(5.143)(5.143) 式より U = E − T をハミルトンの原理 (5.139) 式に代入すれば∫ t2
δ
(2T − E)dt = 0
t1
42

前述したように，ラグランジュの未定乗数法で用いる “目的関数と拘束条件の線形和” もラグランジュ関数と呼ばれるので注意が必要である．

第5章

96
となり，力学的エネルギー E は一定値であるのでその変分は 0 であるため，∫ t2
δ
2T dt = 0(5.144)t1が得られる．この (5.144) 式を最小作用の原理 (principle of least action) と呼ぶ．このように作用力が保存力のみである場合はハミルトンの原理と最小作用の原理は等価である．前小節でハミルトンの原理を導出したように，最小作用の原理も “ある思考実験” から得られた成果であり，ピエール＝ルイ・モロー・ド・モーペルテュイ (Pierre-Louis Moreau deMaupertuis, 1698〜1759) により導かれたものである．そのため，モーペルチューイの原理(Maupertuis’ principle) とも呼ばれる．
ここでは，モーペルチューイによる最小作用の原理の考え方のみを述べ，導出については省略する．興味のある人は文献 [2] を参照されたい．まずハミルトンの原理については，
以下の思考実験により導出された．

• 始点 P1 (t1 , pi1 ) と終点 P2 (t2 , pi2 ) を結ぶ道筋において，始点と終点の “位置” と “時刻” が同じ条件の下，幾何学的拘束条件を満たす仮想変位により，許容運動 (δpi , δ ṗi )∫tを仮想的に考える．このとき，運動エネルギー T の作用積分 t12 T dt を考えると，その変動量 (変分)
∫
∫
∫
t2

δ

t2

T dt =t1

T ′ dt −

t1

t2

T dt
t1

は一体どのような性質を持つのか．
これに対して，最小作用の原理は以下の思考実験により導出されたものである．

• 始点 P1 (t1 , pi1 ) と終点 P2 (t2 , pi2 ) を結ぶ道筋において，始点と終点の “位置” が同じ条件の下，幾何学的拘束条件を満たす許容運動 (δpi , δ ṗi ) を仮想的に考える．ただし，許容運動において質点系の力学的エネルギーは一定値 E であるとする．このと∫t
き，始点 P1 から終点 P2 までの運動エネルギー T の作用積分 t12 T dt を考えると，その変動量 (変分)
∫ t2
∫ t′2
∫ t2
′ ′
δ
T dt =
T dt −
T dt
t1

t1

t1

は一体どのような性質を持つのか．
この思考実験の状況を Fig. 5.16 に示す．力学的エネルギーが一致することを優先させているため，始点 P1 における時刻は同じでも，終点 P2 における時刻が異なる．

t1 → t1 ,t2 → t′2(5.145)

このように，最小作用の原理においては，位置の変分 δpi だけでなく，時間の変分 δt も考える必要があり，導出は煩雑であるため省略する．

5.9 ラグランジュの運動方程式

97

Figure 5.16: 力学的エネルギーが等しい異なる道筋 C ，C ′ をたどる質点の運動
さて，最小作用の原理は (5.144) 式であるが，次のように変形することでより意味が明
確になる．

∫ t2
δ

2T dt = δt1

∫ t2 ∑
N
t1

=δ

=δ

i=1

∫ t2 ∑
Nt1

mi ṗTi ṗi dt
mi ṗT
i

i=1

( N ∫
∑ pi2
i=1

dpi
dt
dt
)

PiT dpi=0

pi1

ここで Pi ∈ R3 は質点 mi の運動量である．さらに位置ベクトル pi ，運動量 Pi を全てまとめたベクトルをそれぞれ p ∈ R3N ，P ∈ R3N とすれば，∫ p2
δP T dp = 0(5.146)p1のように，運動量を用いた形式が得られる．この (5.146) 式より，最小作用の原理は以下のことを述べている．

• を始点 p1 から終点 p2 までの道筋に沿った 運動量 P の経路積分 を考えたとき，その経路積分を作用積分とする変分問題の解として自然運動が得られる．

5.9 ラグランジュの運動方程式
前節までに示した変分問題のオイラーの微分方程式，ハミルトンの原理に基いて，一般化座標を導入することによりラグランジュの運動方程式を導く．また，一般化座標が拘束を受ける場合の表現についても示す．なお，前節に引き続き，簡単化ため質点系のみを扱うものとする．

第5章

98

5.9.1

一般化座標が拘束を受けない場合

質点系 mi (i = 1, · · · , N ) の位置ベクトル pi が一般化座標 p ∈ Rn (n ≤ N ) により表されるとする．
pi = hi (q, t)(5.147)
この幾何関数 hi (q, t) は質点の位置 pi に関して陽に表現された拘束式である43 ．この拘束条件により従属座標を消去したあとの独立座標が一般化座標であり，座標数 n は質点系の自由度 f に等しいとする．したがって，ラグランジュ関数 L は，

L = L(q, q̇, t),

T = T (q, q̇, t), U = U (q, q̇, t)(5.148)のように，q ，q̇ ，t の関数となる．このとき，ハミルトンの原理 (5.142) 式における非保存力の仮想仕事 δWnc はT
T
TδWnc = fnc
δp,fnc := [ fnc· · · fnc
]T
1
N
T T
T ∂h
= fnc
δq,
h := [ hT
1 · · · hN ]∂q
( T )T= hq fnc δqとなり，ここで力の表現に関して以下の形式

Fq := hTq fnc =(

∂h∂q

(5.149))T
fnc(5.150)を導入すれば，(5.149) 式は次の表現に帰着される．

δWnc = FqT δq(5.151)

この (5.150) 式のように，直交座標系での力 fnc を一般化座標 q に対応する力に変換したものを一般化力 (generalized forces) と呼ぶ．
以上の準備の下で，ハミルトンの原理 (5.142) 式を書き直す．(5.142) 式の左辺第 1 項∫ t2
δ t1 Ldt は変分問題における停留条件そのものであるので，作用積分の変分の計算結果である (5.98) 式より，( )T }T∫ t2∫ t2 {( )T
d ∂L
∂L

(5.152)δ−δq  dt
Ldt =∂q
dt ∂ q̇t1t1となることが分かる．したがって，(5.151)，(5.152) 式をハミルトンの原理 (5.142) 式に代
入すれば

}T 
( )T
∫ t2 {( )T
∂L
d ∂L

δq  dt = 0(5.153)
−
+ Fq
∂q
dt
∂
q̇
t1
となる．ここで仮想変位 δq は線形独立であるため，(5.153) 式が成り立つためには，中括弧
部 { } が 0 でなければならない．よって，以下のラグランジュの運動方程式 (Lagnrange’s
equation) を得る．
( )T ( )T
d ∂L
∂L
−
= Fq
(5.154)dt ∂ q̇∂q
この方程式はオイラー＝ラグランジュ方程式 (Euler-Lagrange equation) とも呼ばれる．
43

関数 hi が時間 t を含む形式としたのは，拘束条件が時間に依存する場合も議論に含ませるためである．

5.9 ラグランジュの運動方程式

5.9.2

99

一般化座標が拘束を受ける場合 (拡大法)

次に，系が (5.3) 式の幾何学的な拘束条件

C(q, t) = 0,

C ∈ Rm , m := n − f(5.3)

を受ける場合を考える．このとき，一般化座標の仮想変位 δq は (5.40) 式を満足しなければならないため，線形従属になる．
Cq δq = 0(5.40)
拘束条件が幾何拘束 (5.3) 式である場合は，拘束力の表現をラグランジュ関数に含めたこれはラグランジュの未定乗数法が適用できる．新しいラグランジュ関数としてL̃ := L + λT C,

λ ∈ Rm(5.155)を導入すれば，L̃ に関して (5.153) 式と同様な表現

T 

( )T
∫ t2 ( )T∂ L̃
d ∂ L̃
−+ Fq
δq  dt = 0


∂q
dt
∂
q̇
t1

(5.156)が得られる．さて，C は q̇ に依存しないため，

(

)T

{

)
∂ (
=
L + λT C∂q( )T ( )
T
∂L
∂ L̃
=
∂ q̇
∂ q̇
∂ L̃
∂q

}T

(
=

∂L
∂C
+ λT
∂q
∂q

)T

(
=

∂L
∂q

)T
+ CqT λの関係が成り立つ．したがって，(5.156) 式に適用すれば

}T 
( )T
∫ t2 {( )T
∂L
d ∂L

−
+ Fq + CqT λδq  dt = 0∂q
dt ∂ q̇t1(5.157)となる．ここで (5.40) 式より仮想変位 δq は線形従属であるから，もし未定乗数項 CqT λが 0 である場合は，中括弧部 { } の全ての要素が恒等的に 0 にならずとも，(5.157) 式を満たす場合が存在し，拘束 (5.40) 式を破ってしまう．しかしながら，今回は未定乗数項
CqT λ が拘束を満足するように働くため，中括弧部 { } が 0 と考えることにより，幾何拘束 (5.3) 式を受ける場合のラグランジュの運動方程式は以下の連立方程式として得られる．
( )T ( )T∂L d ∂L−= Fq + CqT λdt ∂ q̇∂q(5.158)C(q, t) = 0
この (5.158) 式を微分代数方程式 (differential-algebraic equations; DAE) と呼び，マルチ
ボディダイナミクスなどの計算力学の分野や，位置と力の両方を制御の目的変数とする場
合に良く用いられる．

第5章

100

一方，拘束が速度拘束 (5.5) 式を受ける場合は，(5.155) 式のようにラグランジュの未定乗数法が適用できない．

A(q, t)q̇ + b(q, t) = 0,

A ∈ Rm×n , b ∈ Rm

(5.5)

この場合は仮想変位が満たすべき関係は (5.50) 式

A(q, t)δq = 0(5.50)

FC = AT λ(5.51)であり，拘束力はである．したがって非保存力 Fq を直接，以下のように変更する．

Fq → Fq + AT λ(5.159)よって，速度拘束式を受ける場合は，ラグランジュの運動方程式は以下の連立方程式となる．
( )T ( )T∂L d ∂L−= Fq + AT λdt ∂ q̇∂q(5.160)A(q, t)q̇ + b(q, t) = 0
このように，拘束が本質的に幾何学的拘束に帰着されない非ホロノミック拘束の場合，階数の違う微分方程式を連立した形式となる．
以上で述べた手法では，拘束を用いて運動方程式の本数を減らすのではなく，拘束力を残すことで拘束に沿った運動を表現しており，拘束が位置拘束，速度拘束であることを問わない．このような手法を拡大法 (Augmented formulation) と呼ぶ．

5.9.3

一般化座標が拘束を受ける場合 (消去法)

ここでは前小節と対照的に，運動方程式を拘束を用いて減らすことを考える．系が幾
何拘束 (5.3) 式を受ける場合，仮想変位 δq は (5.40) 式のように拘束ヤコビ行列 Cq の零空間に属する．そのような仮想変位の最も簡単な座標の選び方としては，元の一般化座標 qを，独立変数 qI ∈ Rn−m と従属変数 qD ∈ Rm に分けることである．
[ ]
qI
q=
qD
この場合，(5.40) 式は以下のように分割される．

CqI δqI + CqD δqD = 0,

CqI ∈ R(n−m)×(n−m) , CqD ∈ Rm×m

ここで，このように座標を分割した際，拘束ヤコビ行列の CqD が正則であるならば，

δqD = −Cq−1
CqI δqID

5.9 ラグランジュの運動方程式101のように従属変数の仮想変位を独立変数の仮想変位で表現することができる．したがって，一般化座標の仮想変位 δq は，独立座標の仮想変位 δqI のみを用いて表現することが
できる．
[
]
In−m
δq =
δqI
−Cq−1
CqI
D
|
{z
}
S
以上の議論を一般化すると，仮想変位 δq は次のように表現できる．

δq = S(q, t)δqI ,S ∈ Rn×m , δqI ∈ Rn−m

(5.161)

ただし

Cq S = 0(5.162)

ここで，定義より，行列 S は，その列ベクトルがヤコビ行列 Cq の零空間を構成していることが分かる．したがって，δqI は独立な変数の組の仮想変位を表している．ただし，先の議論で明らかなように，この (5.161)，(5.162) 式のような表現方法は一意ではなく無数に存在することに注意すべきである．(5.161) 式を (5.153) 式に適用すれば，


}T
( )T
∫ t2 {( )T
∂L
d ∂L

−
+ Fq
SδqI  dt = 0(5.163)∂q
dt ∂ q̇t1となり，δqI は線形独立であるため，(5.163) 式が成り立つためには，係数の { }T S の部
分が恒等的に 0 でなければならない．よって，拘束の個数 m の本数だけ消去された 運動方程式が得られる．
{ ( )( )T }
T
∂L
∂L
d
ST
−
= S T Fq
(5.164)dt ∂ q̇∂q
このように，拘束力を用いずに，拘束に沿った運動方程式のみを取り扱う形式を消去法(embeded technique) と呼ぶ44 ．ここで，運動方程式の本数は低次元化されているにも関わらず，一般化座標 q の次元は減少していない ことに注意しなければならない．
なお，(5.163) 式は，拘束力を含んだ形式の (5.157) 式に適用しても，(5.162) 式の関係
から拘束力 CqT λ が消去されるため，得ることができる．したがって，拡大法で得られた運動方程式の (5.158) 式から拘束力 CqT λ を消去して (5.164) 式にすることもできる．この(5.164) 式の形式は，制御において拘束に沿った運動のみを制御の目的変数とする場合などに良く用いられる．
以上の議論は，系が速度拘束 (5.5) 式を受ける場合でも同様に適用可能である．

44

英文の直訳は “埋め込み法” であり，また，消去法は運動方程式のみならず “座標そのもの” を消去する
場合を指す方が多い．文献によっては，拘束力が消去されていることから，“拘束消去法” と呼ばれたりもする [21]．

第 6 章 マニピュレータの運動学
この章では，マニピュレータ，すなわち，複数の剛体が関節 (回転，並進) により多数連結された剛体系に関する運動学について述べる．連結された剛体は特にリンクと呼ばれるが，連結は幾何拘束であるため，運動を表現する一般化座標を減らすことができる．ここでは 1 自由度の回転もしくは並進関節による連結に限定して，リンクおよび連結を効率的に記述するパラメータ表現について述べる．その後，リンクパラメータに基づいた座標系の設置の仕方，および隣り合うリンクの相対的な位置・姿勢の表現方法を示す．以上に基づいて，一般的なマニピュレータの手先の位置・姿勢を求める順運動学について述べる．
また，マニピュレータの手先の位置・姿勢が与えられた場合に，リンクを連結する関節量を求める逆運動学について述べる．まず，逆運動学を扱う上で重要となる可解性として，解の存在性 (作業空間)，複数解，解法 (閉形式解，数値解) などについてまとめる．その次に，閉形式の解法として代数的解法と幾何学的解法を紹介する．
最後に，関節空間と手先空間の間の速度の関係式について述べる．手先の並進速度と関節速度は，順運動学で得られる関係式を直接微分することで得られる一方，手先の回転速
度と関節速度については，姿勢すなわち回転行列の関係式を微分するのではなく，幾何学的関係から得る手法を紹介する．これらの関係式における変換行列はロボットヤコビ行列と呼ばれており，この行列の行列式が 0 となるロボット姿勢から特異点が定義されることを示す．また，速度と力の双対性から，関節駆動トルクと等価な手先作用力の関係が得られることを述べる．

6.1 関節とリンクの記述
6.1.1

リンクパラメータ

Fig. 6.1 のように，ロボットマニピュレータは多数のリンク (link) が関節 (joint) によって連結されたものを意味する．関節の種類は様々なものがあるが，ここでは回転関節 (revolutejoint; rotational joint)，および直動関節 (prismatic joint; translational joint) を扱うもの
として1 ，かつ，いずれも 1 自由度であるとする2 ．Fig. 6.2 は 1 自由度の回転関節の描画
方法 (左 3 つ) および直動関節の描画方法 (右 1 つ) を示している．Fig. 6.1 は一般的な n リ
ンクのマニピュレータであり，通常は n = 5，n = 6 などの 5 リンク，6 リンクが多い．特に n = 6 はマニピュレータ手先の位置・姿勢の 6 自由度を表現することができるため，非常に多く用いられる．また，マニピュレータ手先の可動範囲が広いことから，n = 7 の 7
リンクマニピュレータのような冗長性 (redundancy) を持つものもしばしば用いられる3 ．
1

Fig. 6.1 は分かりやすさのため，回転関節のみで描画してある．
自由度が 2，3 である場合は，1 自由度の関節が連結されたものとして取り扱う考え方がある．
3
手先の位置・姿勢の 6 自由度を表現しても 1 自由度が残るため，同じ手先の位置・姿勢に対して，マニピュレータは異なる姿勢を取ることができる．よって，特異姿勢の回避や省エネルギーに良く用いられる．
2

第6章

104
Joint i
Joint i - 1

Link i ｰ 1

Link i

Joint i + 1

Joint 2

Joint nLink 1
Link nJoint 1

Link 0(Seat)

Figure 6.1: リンクと関節の定義

Figure 6.2: 関節の種類
リンクと関節の番号付けと相対運動の定義
リンクおよび関節について，以下のルールに基づき番号付けを行う．
リンク 慣性系 (地面など) に固定された台座をリンク 0 と名付ける．手先に向かって順に
リンク 1，リンク 2，· · · ，リンク n と名付ける．
関節 リンク 0(台座) に接続された関節を関節 1 と名付け，手先に向かって順に関節 2，関
節 3，· · · ，関節 n と名付ける．
このように番号付けをしたリンクのうち，i 番目のリンクと関節を Fig. 6.3 左図のように取り出す．このように，リンクは両端に関節があるが，“根元側の関節と一組になる” ことに注意すべきである．また，リンク i の相対運動は，Fig. 6.3 右図にあるように，根元側のリンク i − 1 に対して関節 i まわりに動く” と解釈する4 ．
Joint i
Link i

Link i ｰ 1

Link i

Joint iFigure 6.3: リンクと関節の組と相対運動の捉え方
4

このようなリンクの捉え方は一意ではなく，リンクと手先側の関節をセットにして考える手法もある．

6.1 関節とリンクの記述

105
Joint i
Joint i + 1

Joint i - 1
Link i ｰ 1

Link iFigure 6.4: リンクパラメータの定義
リンクの構造パラメータ
次に，リンク i − 1 の構造について述べる．Fig. 6.4 のように，リンク i − 1，リンク i が関節 i で連結されている状況を考える．図において，回転関節の回転軸を直線で表すものとする (直動関節の場合は，移動方向に直線をとる)．この関節軸を表す直線は方向ベクトルで定義されることに注意されたい．この直線もしくは方向ベクトルを，表記の簡単化のため，単に関節軸 i − 1 などど呼ぶこととする．最初に，リンクの構造の記述法を，リンク i − 1 を基準にして述べる．リンク i − 1 には両端に関節 i − 1 および関節 i があり，その軸を表す直線があるので，この 2 直線を用いてリンクの構造を表現すれば良い．まず，両端の関節軸の共通法線を設置する5 ．この共通法線の長さをリンク長さ (link length) として定義し，ai−1 で表す．また，関節軸 i − 1，i を同一平面内で考えたとき，“関節軸 i − 1”から “関節軸 i” までの “共通法線まわりのなす角” 6 をリンクのねじれ角 (link twist) として定義し，αi−1 で表す7 ．以降では，単に共通法線 i − 1，もしくはリンク長さ ai−1 を用いて共通法線 ai−1 と表記する．
リンクの連結パラメータ
次に，リンク i − 1 とリンク i の連結の記述法について述べる．Fig. 6.3 にあるように，
リンク i についてもリンク i − 1 と同様に，リンクの構造パラメータ (ai , αi ) が定義され
52 直線がねじれの位置にある場合，共通法線は一意に存在し，並行である場合は無数に存在する．並行である場合の対処法については後述する．
6
より正確には，“関節軸 i − 1 との交点を始点として共通法線に沿った方向ベクトル” まわりのなす角である．
7
関節軸の 2 直線が交わる場合は共通法線は存在しない．その場合の対処法については後述する．

第6章

106

る．このとき，関節軸 i 上には，リンク i − 1，i の共通法線との交点が存在する．このリンク i − 1 の交点からリンク i の交点までの符号付き距離をリンク間距離 (link offset) と定義し，di で表す．また，共通法線 ai−1 ，ai を同一平面内で考えたとき，共通法線 ai−1から ai までの関節軸 i まわりのなす角をリンク間角度 (joint angle) と定義し，θi で表す．
定義から分かるように，リンク間距離 di ，リンク間角度は，それぞれ直動関節，回転関節の場合の変数である．

根本および手先のリンクパラメータ以上のパラメータは，中間リンク i − 1，i について定義されたものである．一方，リンク根本および手先側，すなわちリンク 0，n においては，リンク 0 より前，リンク n より後ろのリンクが存在しないため，共通法線が定義できない．したがって，以下の例外的処理が必要となる．まずリンクの構造パラメータ (a0 , α0 )，(an , αn ) については，単純に全て 0 とおけば良い．
(a0 , α0 ) = (0, 0), (an , αn ) = (0, 0)(6.1)
また，リンクの連結パラメータ (d1 , θ1 )，(dn , θn ) については，関節の種類により処理が異なる．根元側，手先側のいずれについても，回転関節である場合は(d1 , θ1 ) = (0, θ1 ),(θ1 ，θn の零点は任意)(6.2)(dn , θn ) = (dn , 0) (d1 ，dn の零点は任意)(6.3)(dn , θn ) = (0, θn )とし，直動関節である場合は(d1 , θ1 ) = (d1 , 0),とする．ここで零点は任意であるが，実際はマニピュレータの初期姿勢として適切な状態になるように設定される．

デナビット・ハーテンベルグの表記法
以上の 4 つのリンクを表すパラメータ(ai−1 , αi−1 , di , θi )をリンクパラメータ (link parameter) と呼ぶ．また，このようなマニピュレータ構造の定義法をデナビット・ハーテンベルグの表記法 (Denavit-Hartenberg notation) と呼ぶ．

6.1.2

リンクパラメータ設定における特殊な場合

関節軸が並行である場合
まず，関節軸 i − 1，i が並行であり，共通法線 i − 1 が無限に存在する場合について考える．この場合は自由度があるわけだから，できるだけ他のリンクパラメータが 0 となるように選択した方が都合が良い．そこで，Fig. 6.5 左図のように，“リンク間距離 di が0 となるように取る” こととする．

6.2 リンクへの座標系の配置

107
Joint i
Joint i - 1

Joint i - 1

Joint i

Link i ｰ 1

Joint i + 1

Outer
Link i ｰ 1

Link i

Link length
Normal vector
Link twist
Inner

Figure 6.5: 関節軸が並行もしくは交わる場合のリンクパラメータ
関節軸が交わる場合
一方，Fig. 6.5 右図のように関節軸 i − 1，i が交わる場合は，共通法線 i − 1 が消失する
ためリンク長さは ai−1 = 0 である．この場合は図にあるように，“関節軸 i − 1，i が含まれる平面に垂直な法線” を考えて，共通法線 i − 1 の代替とする．したがって，この代替の法線ベクトルまわりにリンクねじれ角 αi−1 を定義すれば良い．ただし，法線の向きは± の 2 方向があり得るため，どちらの向きを選択するかにより αi−1 の値は異なることに注意すべきである．また，リンク間角度 θi については，この代替の法線ベクトルと次の共通法線 i とのなす角として定義すれば良い．

6.2 リンクへの座標系の配置
6.2.1

リンクパラメータに基づく座標系の配置

剛体であるリンクの位置・姿勢を記述するためには，座標系が必要である．ここでは，
リンク i に配置した座標系を Σi と表記することとする．ここで “配置” とは，リンクと座
標系の相対的な幾何学的関係が不変であることを意味する．リンク i への座標系の配置法
を Fig. 6.6 および以下にまとめる．

1. デナビット・ハーテンベルグの表記法にしたがい，リンクパラメータ (ai−1 , αi−1 , di , θi )を設定する．
2. 関節軸 i 上での共通法線 ai との交点を座標系 Σi の原点とする．
3. 関節軸 i に沿って Zi 軸を設定する．
4. 共通法線 ai に沿って Xi 軸を設定する．
5. 右手座標系を構成するように Yi 軸を設定する．

第6章

108
Joint i
Link i ｰ 1

Link i

Joint i + 1

Joint i - 1

Figure 6.6: リンクへの座標系の設置の仕方
Joint
Joint 2
Link
Joint
Link 1

Joint 1

Link

Link 0 (base)

Figure 6.7: リンク 0 (台座) およびリンク n (手先) への座標系の設置の仕方
また，リンク 0(台座) およびリンク n(手先) の場合，Zn 軸については中間リンク i と同様にして関節軸 n に沿って定義する．一方，Xn 軸については，リンクパラメータの場合と同様に，Fig. 6.7 のような例外的処理が必要である．詳細は以下にまとめる．
リンク 0 (台座) この場合，関節軸 1 の移動量を表す変数 (回転関節：θ1 ，直動関節：d1 ) が初期状態すなわち 0 であるとき，座標系 Σ1 に一致するように座標系 Σ0 を定義する．そのため，マニピュレータにおける基準座標系として扱われることが多い8 ．
リンク n (手先; 回転関節) Xn 軸の方向は，関節の移動量が θn = 0 であるときに Xn−1 軸と一致するように定義する．一方，原点は，前述したようにリンク間距離 dn (一定値) が dn = 0 と既に設定されているため，この点として定義される．
8

マニピュレータが作業を行う場合は作業空間全体の基準となるものとして基準座標系を設置する．しかしながら，マニピュレータの姿勢表現としてはリンク 0 の台座に固定された座標系を基準として考えたほうが扱いやすい．そのため，“マニピュレータにとっての” 基準座標系として座標系 Σ0 を良く用いる．

6.3 手先の位置・姿勢に関する順運動学

109

リンク n (手先; 直動関節) Xn の方向は，前述したようにリンク間角度 θn (一定値) が θn =0 と既に設定されているため，そのような向きとして定義される．一方，原点は，関節の移動量が dn = 0 であるときに共通法線 an−1 と座標軸 n の交点にあるように定
義する．

6.2.2

リンク座標系に基づくリンクパラメータの定義

前小節ではリンクパラメータに基づいてリンクの座標系を定義したが，その逆として，
リンク座標系に基づいてリンクパラメータを定義することも出来る．その定義および性質を以下に示す．
リンク長さ ai

• Xi 軸方向に沿って測った Zi 軸から Zi+1 までの距離• 距離であるため必ず正の値を取る
リンクねじれ角 αi• Xi 軸まわりに右ねじの方向に測った Zi 軸から Zi+1 までの回転角度• 符号付きのパラメータである
リンク間距離 di• Zi 軸方向に沿って測った Xi 軸から Xi+1 までの距離• 符号付きのパラメータである• 直動関節である場合は変数となる
リンク間角度 θi• Zi 軸まわりに右ねじの方向に測った Xi 軸から Xi+1 までの回転角度• 符号付きのパラメータである• 回転関節である場合は変数となる
リンクパラメータとリンク座標系はどちらを基準としても良いが，上記のようにリンク座標系を基準としてリンクパラメータを定義することで，パラメータの符号がより明確となる利点がある．

6.3 手先の位置・姿勢に関する順運動学
6.3.1

リンク座標系間の座標変換

前節で定義されたリンク座標系 Σi−1 と Σi の間の座標変換を求める．考え方としては，Fig. 6.8 のように，リンクパラメータに関連した中間座標系 ΣR ，ΣQ ，ΣP を経路する．詳
細な手順を以下に示す．

第6章

110
Joint i - 1

Joint i
Link i ｰ 1

①

④
②

③

Figure 6.8: リンク座標系 Σi−1 と Σi との間の座標変換⃝
1 リンク座標系 Σi−1 を Xi−1 軸まわりにリンクねじれ角 αi−1 だけ回転させる．
回転後の座標系を中間座標系 ΣR と定義する．
⃝
2 中間座標系 ΣR を XR 軸に沿ってリンク長さ ai−1 だけ並進移動させる．
移動後の座標系を中間座標系 ΣQ と定義する．
⃝
3 中間座標系 ΣQ を ZP 軸まわりにリンク間角度 θi だけ回転させる．
回転後の座標系を中間座標系 ΣP と定義する．
⃝
4 中間座標系 ΣP を ZP 軸に沿ってリンク間距離 di だけ並行移動させる．
移動後の座標系がリンク座標系 Σi である．
以上の手順により，リンク座標系 Σi ，Σi−1 への同次変換行列 i−1 Ti ∈ R4×4 は次のように求められる．
i−1
Ti = i−1 TR (αi−1 )R TQ (ai−1 )Q TP (θi )P Ti (di )
(6.4)
ただし

]
[


R
(α
)
0
X
i−1
3×1

i−1

TR :=



01×3
1


[
]



R
(θ
)
0

Z i
3×1
Q

TP :=



01×3
1

[
R

TQ :=
[

P

Ti :=

I3
01×3

 
] 
1
ai−1 exex := 0
1
0

I3 di ez
01×3
1

]



 

(6.5)

0
ez := 0
1

ここで，リンクの構造パラメータにより定まる i−1 TR (αi−1 )，R TQ (ai−1 ) は常に定数である．一方，リンクの連結パラメータにより定まる Q TP (θi )，P Ti (di ) については，回転関節の場合は Q TP (θi ) が変数であり P Ti (di ) が定数，直動関節の場合は逆となる．

6.3 手先の位置・姿勢に関する順運動学

111

順運動学の定式化

6.3.2

Joint i
Joint i + 1
Joint i - 1

Link i ｰ 1

Link i

Joint nJoint 2

Link nLink 1

Joint 1Tool frame
Link 0(base)

Figure 6.9: マニピュレータの順運動学
前小節より，隣り合うリンク座標系 Σi−1 ，Σi の間の同次変換行列 i−1 Ti が得られることから，Fig. 6.9 のように根本にある座標系 Σ0 を基準としたマニピュレータ手先の位置・姿勢を求めることができる．ここで，ΣT は手先に固定した座標系であり，手先座標系，
ツール座標系 (tool coordinate system; tool frame) と呼ぶ．この手先座標系はリンク n に関して固定されたものであり，そのため，リンク座標系 Σn を基準とした手先座標系 ΣTの位置・姿勢 (n pT , n RT ) は一定値である．
リンク座標系 Σn から Σ0 までの同次変換行列は，隣り合うリンク座標系間の同次変換行列を合成することで得ることができる．
[]
0
Rn (q) 0 pn (q)= 0 T1 (q1 ) 1 T2 (q2 ) · · · n−2 Tn−1 (qn−1 ) n−1 Tn (qn )
(6.6)
01×3
1
|
{z
}
0
Tn (q)
ここで[]T
q := q1 q2 · · · qn−1 qn ∈ Rn

は各関節軸 i の移動量を一般化座標 qi (i = 1, · · · , n) として{
θi (回転関節)qi :=di (直動関節)

(6.7)

(6.8)

のように定義してまとめたものである．よって，根本座標系 Σ0 を基準とした手先座標系の位置・姿勢 (0 pn , 0 Rn ) を一般化座標の関節移動量 q の関数とし表現することができる．
0

TT = 0 Tn (q)n TT

(6.9)

第6章

112
より詳細な表現としては次ようになる．
[
] [
0
0
Rn (q)
RT 0 p T=
01×3 1
01×3

{ 0
⇔

0

0

pn (q)
1

][

n

RT
01×3

n

pT
1

]

(6.10)0n0pT = Rn (q) pT + pn (q)RT = 0 Rn (q)n RT

このように，(6.9) もしくは (6.10) 式のように手先の位置・姿勢を関節角により求める表
現式をマニピュレータの順運動学 (forward kinematics) と呼ぶ．なお，リンク座標系 Σnで表現した手先座標系 ΣT の位置・姿勢 (n pT , n RT ) が一定値であるため，単に (6.6) 式を順運動学とする場合もある．

6.3.3

例題：2 次元平面内の 3 関節マニピュレータ

Figure 6.10: 2 次元平面内の 3 関節マニピュレータ
Fig. 6.10 のような 2 次元平面内での 3 つの回転関節を持つマニピュレータの順運動学を求めよう．まずリンクパラメータは以下のようになる．
 (α0 , a0 , d1 , θ1 ) = (0, 0, 0, θ1 )
(α1 , a1 , d2 , θ2 ) = (0, l1 , 0, θ2 ) (α , a , d , θ ) = (0, l , 0, θ )2 2 3 3
2
3
したがって，リンク間角度 θ1 〜θ3 が回転角度変数であり，一般化座標となる．
 
 
θ1
q1
 
 
q = q2  := θ2 
θ3
q3

6.3 手先の位置・姿勢に関する順運動学

113

また，リンク座標系 Σ0 〜Σ3 については前節に従い設置されており，手先座標系 ΣT はリ
ンク座標系 Σ3 と姿勢が一致するようにツールに固定されているものとする9 ．以上の準備の下，隣り合うリンク座標系の間の同次変換行列 i−1 Ti は以下のように求められる．
[]
i−1
Ri i−1 pi
i−1
Ti (qi ) =, i = 1, 2, 3
(6.11)
01×3
1
ただし



c1 −s10
R1 = s1 c100c2 −s2
1
R2 = s2 c200c3 −s3
2
R3 = s3 c3
0
0


0

0
1

0

0
1

0

0
1

 
0
 
0
p1 = 0
0
 
l1
 
1
p2 =  0 
0
 
l2
 
2
p3 =  0 
0

ここで，省略表現 ci ，si の定義は以下のようである．

ci := cos qi ,si := sin qi

また，リンク座標系 Σ3 と手先座標系 ΣT の間の同次変換行列 3 TT は以下のようになる．
 
[
]
l3
3
RT 3 p T
 
3
3
3
TT =
,
RT = I3 , pT =  0 (6.12)
01×3 10
よって，基準座標系 Σ0 で表現された手先座標系 ΣT の位置・姿勢 (0 pT , 0 ϕT ) は，(6.6) 式
より (6.11) 式の全ての同次変換行列を合成することで得ることができる．
0

TT = 0 T1 (q1 )1 T2 (q2 )2 T3 (q3 ) 3 TT{z}|0T3 (q)(6.13)

この順運動学を表す (6.13) 式のうち，関節角 q に依存した 0 T3 (q) を具体的に計算，展開
すれば以下のようになる．


c
−s
0
l
c
+
l
c
123
123
1
1
2
12
]
[
s

0
0
R
(q)
p
(q)
 123 c123 0 l1 s1 + l2 s12 3
3
0(6.14)=T3 (q) :=

 0

0
0
0
01×3
1
0
0
0
1

9

手先座標系 ΣT は，手先の姿勢や作業が考えやすいように状況に合わせてどのように設置しても良い．
ここではリンク座標系 Σ3 からの相対姿勢を表す回転行列が最も簡単な 3 RT = I3 となるようにしている．

第6章

114

したがって，(6.14) 式および (6.12) 式を (6.13) 式に代入すれば，基準座標系における手先
座標系の位置・姿勢が具体的に求まる．
 cϕ −sϕ 0 0 pTx
c123 −s123 0 l1 c1 + l2 c12 + l3 c123
[
]
s
 

0
RT 0 pT ϕ cϕ 0 0 pTy   s123 c123 0 l1 s1 + l2 s12 + l3 s123 
=
=

 0

0 0 0   0000
01×3 1
0
0 0 1
0
0
0
1
(6.15)
ここまでの各種の省略表現の定義は以下のようである．

cϕ := cos 0 ϕT
c12 := cos(q1 + q2 )c123 := cos(q1 + q2 + q3 )sϕ := sin 0 ϕT
s12 := sin(q1 + q2 )s123 := sin(q1 + q2 + q3 )なお，(6.15) 式は 4 つの数式から構成されているが，姿勢角 0 ϕT については本質的に 1 本の関係式のみであることは明らかである．したがって，(6.15) 式は次のように簡素化される．
0
 pTx = l1 c1 + l2 c12 + l3 c123
0(6.16)
pTy = l1 s1 + l2 s12 + l3 s123
 0ϕ = q + q + qT
1
2
3
この (6.16) 式が，Fig. 6.10 の 3 関節マニピュレータの順運動学の関係式となる．

6.4

手先の位置・姿勢に関する逆運動学

6.4.1

可解性

問題設定
前節の運動学の (6.10) 式により，関節角 q ∈ Rn が与えられれば，手先の位置・姿勢(0 pT , 0 RT ) が求まる．ここでは，その逆問題を考える．

Given : (0 pT , 0 RT ),Find qsubject to (6.10)(6.17)

このような運動学の逆問題を，特に逆運動学 (inverse kinematics) と呼ぶ．ここで，運動学 (6.10) 式のうち位置 0 pT ∈ R3 に関する関係式は明らかに 3 本の方程式である．一方，
位置 0 RT ∈ R3×3 に関する関係式は見かけ上 9 本の方程式であるが，本質的に独立な方程式は3 本のみである10 ．したがって，逆運動学は，(6.10) 式から選択された 6 本の非線形代数方程式を関節角 q ∈ Rn について解く問題である．
逆運動学問題において用いる代数式は 6 本のみであるため，関節角 q ∈ Rn の次元により方程式の独立性や解の性質が異なり，大まかに次のように分類できる．なお，後述する
特異姿勢は除外して考えるものとする．

10回転行列 0 RT は正規直交行列であるため，6 本の条件 (2.3) 式を満たす．

6.4 手先の位置・姿勢に関する逆運動学

115• 関節角の自由度が n < 6 の場合：6 本の代数式のうち，n 本が独立，6 − n 本が従属となり，その内訳はマニピュレータの機構 (リンクパラメータ) により決定される．
解は特殊な場合11 を除いて基本的に有限個である．
• 関節角の自由度が n = 6 の場合：6 本の代数式の全てが独立であり，解の個数は有限個である．
• 関節角の自由度が n > 6 の場合：6 本の代数式の全てが独立であり，無限個の解をもつ．より具体的には，解は自由度の冗長性 (redundancy of degrees of freedom) を持ち，その次元は n − 6 である．
作業空間
逆運動学問題が解を持つかどうかは，与えられた目標とする手先の位置・姿勢 (0 pT , 0 RT )により決まる．解が存在するような位置・姿勢 (0 pT , 0 RT ) を考えるにあたり，作業空間と呼ばれる考え方が重要となる．

• 手先位置の運動学の (6.10) 式および関節角の動作範囲 qli ≤ qi ≤ qui (i = 1, · · · , n) のもと，全ての関節角がその動作範囲内においてあらゆる値を取るとき，その全ての組み合わせにより定まる手先位置の集合を作業空間 (work space) と呼ぶ．
{
}
0
0
0
n
0
pT
pT = Rn (q) pT + pn (q) , qli ≤ qi ≤ qui , i = 1, · · · , n(6.18)
ここで，作業空間は手先位置について定義される空間であることに注意すべきである．また，作業空間は，姿勢が取りうる範囲により，到達可能空間および作業可能空間に分類される．

• 到達可能空間：手先位置の運動学の (6.10) 式および関節角の動作範囲 qli ≤ qi ≤qui (i = 1, · · · , n) のもと，少なくとも 1 つの姿勢により到達できる手先位置の集合を到達可能空間 (reachable workspace) と呼ぶ．
• 作業可能空間：手先位置の運動学の (6.10) 式および関節角の動作範囲 qli ≤ qi ≤qui (i = 1, · · · , n) のもと，任意の姿勢により到達できる手先位置の集合を作業可能
空間 (dexterous workspace) と呼ぶ．
ここで明らかなように，定義 (6.18) 式より到達可能空間は作業空間と等価であり，作業可能空間は到達可能空間の部分空間になっている．到達可能空間と作業可能空間の例を
Fig. 6.11 に示す．第 1，第 2 リンクの長さはそれぞれ l1 ，l2 であり，左図は l1 ̸= l2 ，右
図は l1 = l2 の場合である．左図では，到達可能空間は外部と内部の円の半径がそれぞれ|l1 + l2 |，|l1 − l2 | のドーナツ状の空間となり，作業可能空間は存在しない．一方，右図では，到達可能空間は半径 |l1 + l2 | の円の空間となる．また，作業可能空間は，第 1 関節軸上の点となり，第 2 関節を完全に折り畳んだ状態となっている．

第6章

116
reachable
space

dexterous
space

Figure 6.11: 2 関節マニピュレータの到達可能空間と作業可能空間
複数の解
逆運動学問題においては，一般に複数の解が存在する．簡単な例として，2 関節マニピュ
レータにおける 2 つの解を Fig. 6.12 に示す．左図において第 2 関節を肘に見立てると，作業空間内の位置を実現する関節角の組み合わせとしては，“肘を上げた状態” と “肘を下げた状態” の 2 通りが存在する．これは，詳細は後述するが，幾何学的には第 1，2 関節および手先が構成する三角形の相似性によるものであり，代数学的には三角関数の多価性によるものである．
この複数解から実際に使用する解の選択は，実用において非常に重要な問題である．例
えば，Fig. 6.12 右図のように，手先をある軌道に沿って運動させる状況を考える．この場
合，明らかに関節角の変動が小さい方が望ましいであろう．不適切な解を選択した場合，
図のように第 2 関節が大きく変動する “肘が逆に反り返る” ような運動が起こるため，注意が必要である．他にも，リンクの質量を考慮して総エネルギー量の変動が小さくなるよ
うに解を選択するなど，様々な手法がある．
このように解が 2 つ存在する場合はマニピュレータの各関節にあり得るため，解の組
み合わせは関節数が増えるに従い増加する傾向にある．Fig. 6.13 のように 3 関節マニピュ

badsolution

Figure 6.12: 2 関節マニピュレータの逆運動学問題の複数解
11

例えば x 軸方向に 1 軸の直動関節が 2 つ，y 軸方向に 1 つあるマニピュレータの場合，望みの x 座標
位置を実現する関節角の組み合わせは無限にある．手先座標を (x, y) に限定すれば，n > 6 の場合と同様に解の任意性のある冗長問題である．

6.4 手先の位置・姿勢に関する逆運動学

117

レータの場合，第 2，3 関節および手先が形作る 2 つ三角形 (肘上げと肘下げの状態) に加えて，第 1 関節について，互いに補助角の関係にある 2 つの角度が解として存在する．したがって，逆運動学の解の組み合わせは 2 × 2 = 4 通りである．さらに一般的な 6 関節マ
ニピュレータの場合，最大で 16 通りの解が存在する．しかしながら，適切なリンク・関節の構造を採用したり，リンク座標系の取り方を工夫することにより，リンクパラメータが出来るだけ 0 とすることで，解の個数を減らすことができる．実際，一般的な 6 軸マ
ニピュレータでは第 4〜6 軸関節のリンク座標系 Σ4 〜Σ6 の原点が一致するように設計されており，関節角が 3 つあるにも関わらず解は 2 通りとなる12 ．よって，通常の 6 軸マニ
ピュレータの逆運動学の解は 4 × 2 = 8 通りになっている．

Figure 6.13: 3 関節マニピュレータの逆運動学問題の複数解

解法：解析解と数値解
逆運動学問題 (6.17) 式の解法は，以下の解の形式により 2 通りに分類できる．

• 閉じた形の解：取り扱う数学分野により異なる場合があり，正確な表現は難しいが，解析学で用いる初等関数および四則演算 (+, −, ×, ÷) を含む有限個の項から構成されており，極限を含まない解表現を閉じた形の解 (closed-form solution) と呼ぶ．解析解 (analytic solution) と言っても良い13 ．
• 数値解：閉じた形として解が得られない場合 (得られる場合でも良い)，解くべき数
式 (順運動学の数式) について，指定した精度以下で満足するような数値を用いた近似解を求めることを数値解析 (numerical analysis) と呼び，得られた解を数値解(numerical solution) と呼ぶ．
一般的な逆運動学問題においては，閉じた形の解が求まる場合はリンクパラメータが単純な場合に限ると言って差し支えない．したがって，閉じた形として解が求まる公式は存在せず，問題それぞれについて固有の解法が必要である．通常用いられるマニピュレータは解析解が比較的容易に得られるように構成されているため，そこで用いられる代表的な
12

通常，6 軸マニピュレータにおいて，第 1〜3 関節は手先位置の指定，第 4〜6 関節は手先姿勢の指定に用いられる．この第 4〜6 関節がリンク座標系の原点が一致することを pieper の条件 (pieper condition) と呼び，閉じた形 (解析解) として解が得られることが知られている．
13
実際には “閉じた形” と ‘解析的” は同義ではない．

第6章

118

手法を以降で紹介する．数値解法については，数値解析自体が非常に広範な学問であるため，ここでは触れないこととする14 ．
閉じた形の解法については，さらに 2 通りの手法に分類される．

• 代数学的解法：ここでは，代数学で通常用いられる意味15 とは異なり，非線形の代数方程式 (順運動学の関係式) を “のみ” を用いて解析解を得る手法を指して代数学的解法 (algebraic solution) と呼ぶ．系統的手法であるため全ての解を求めることができる一方で，解の存在条件やマニピュレータの姿勢との直感的な対応付けが難しい．
• 幾何学的解法：非線形の代数方程式 (順運動学の関係式) を用いずに，マニピュレー
タの幾何学的構造から図式的に求める手法を幾何学的手法 (geometric solution) と呼び，通常はいくつかの平面幾何問題に分解して考える．解の存在条件やマニピュレータの姿勢との対応付けが容易である一方，発見的手法であるため，ある程度の経験則が必要であり，複数解をもれなく求める必要がある．
通常どちらか一方の手法のみを用いることはあまりなく，欠点を補ぎ利点を活用するように両者を組み合わせることが一般的である．

6.4.2

代数学的解法

代数学的解法を説明としては，順運動学の具体例として紹介した Fig. 6.10 の 2 次元平面内での 3 関節マニピュレータを用いて行う．この場合，逆運動学の問題は，(6.17) 式より，手先座標系 ΣT の位置・姿勢 (0 pTx , 0 pTy , 0 ϕT ) が与えられているとき，順運動学の関係 (6.16) 式を満たす関節角 (q1 , q2 , q3 ) を求めることになる．しかしながら，(6.16) 式を展
開する前の順運動学の関係 (6.13) 式において，(6.12) 式にあるように 3 TT は定数である16 ．
したがって，(6.13) 式において，右から 3 TT−1 をかければT 3 T −1 = 0 T3 (q)| T{z T }0
T30

(6.19)となり，左辺はリンク座標系 Σ3 の目標値となる．この左辺 0 TT 3 TT−1 は既知の定数パラメータで計算できる．


0
c
−s
0
p
−
l
c
ϕ
ϕ
T
3
ϕ
x
][
]
[
s

0
3 T
3 T3
0
0
c
0
p
R
−
R
p
R
p

ϕ
ϕ
Ty + l3 sϕ 
T
T
T
T
T
0
=
TT 3 TT−1 = (6.20)
 0

0 0
0
01×3 1
01×3
1
0
0 0
1

14

実用上は非常に重要な手法である．
代数方程式 an xn + · · · + a1 x + a0 = 0 に対して，係数 an , · · · , a0 に関する四則演算および開法 (n 乗根を求める操作) の操作を有限回繰り返すことで解を得る手法を代数学的解法 (algebraic solution) と呼ぶ．ちなみに 5 次以上の代数方程式に対する代数学的解法 (解の公式) は存在しない．
16
第 3 リンクとツールは幾何学的に固定されており，リンク座標系 Σ3 および手先座標系 ΣT はそれぞれ
第 3 リンク，ツールに固定されている．
15

6.4 手先の位置・姿勢に関する逆運動学

119

したがって，逆運動学として解くべき関係式は，(6.19)，(6.20) 式および第 3 リンクまでの運動学の (6.14) 式より，以下のようになる．

px = l1 c1 + l2 c12(6.21a)py = l1 s1 + l2 s12(6.21b)ϕ = q1 + q2 + q3

(6.21c)ただし，(px , py , ϕ) は基準座標系 Σ0 で表されたリンク座標系 Σ3 の位置・姿勢であり，(6.20)
式より以下で与えられるものである．

px = 0 pTx − l3 cϕ ,py = 0 pTy + l3 sϕ ,ϕ = 0 ϕT

なお，表記の簡単化のため座標系に関する添字は省略してある．このように，手先座標系
ΣT までの順運動学 (6.16) 式に比べて，終端のリンク座標系 Σ3 までの順運動学 (6.21a)–(6.21c) 式の方が簡素化されている．一般に，逆運動学においては，手先座標系までではなく，より簡素な終端のリンク座標系までの順運動学の関係式を取り扱うことが多い．
順運動学 (6.21a)–(6.21c) 式は三角関数に関する代数方程式であるため，三角関数の種々の性質を利用することがポイントになる．系統的な解法の方針については文献 [3] などに譲ることにして，以下で具体的に解いてみる．

1. 関節角 q2 を求める：(6.21a)，(6.21b) 式それぞれの両辺を 2 乗して足し合わせれば

p2x + p2y = (l12 c21 + 2l1 l2 c1 c12 + l22 c212 ) + (l12 s21 + 2l1 l2 s1 s12 + l22 s212 )= l12 + l22 + 2l1 l2 c1 (c1 c2 − s1 s2 ) + 2l1 l2 s1 (c1 s2 + s1 c2 )= l12 + l22 + 2l1 l2 c2(6.22)となり，関節角の和 (q1 + q2 ) に関する cos，sin の項が消去され，c2 = cos q2 のみの関係式となる．なお，式変形においては，ピタゴラスの定理と加法定理が用いられている．(6.22)式を c2 について解けば
p2x + p2y − l12 − l22c∗2 =(6.23)
2l1 l2
として，関節角 q2 の解である q2∗ について，余弦関数 cos がまず求まる．ここで解 q2∗ が存在するためには，余弦関数の値域が −1 ≤ cos q2 ≤ 1 であることから，−1 ≤p2x + p2y − l12 − l22≤1
2l1 l2(6.24)

を満たす必要がある．この (6.24) 式が関節角 q2 の解の存在条件である17 ．さて，(6.23) 式より余弦関数は求められたが，解 q2∗ を確定するためには，正弦関数 s∗2 = sin q2∗ が必要である．s∗2 を求める順運動学の式はないため，ピタゴラスの定理 s∗2 + c∗2 = 1 を用いる他にない．
√
s∗2 = ± 1 − c∗2
よって，関節角 q2 は以下のように求められる18 ．
√
q2∗ = Atan2(± 1 − c∗2 , c∗2 )17(6.25)(6.24) 式は，幾何学的解法で後述するように，第 2 関節 q2 を最も伸ばした状態，すなわち q2 = 0 の状態でのリンク座標系 Σ3 の原点が到達できる範囲内に目標値 (px , py ) が存在することを意味している．
18
幾何学的解法で後述するように，第 2 関節 q2 が正の場合が “肘下がり”，負の場合が “肘上がり” の状態にそれぞれ対応している．

第6章

120

2. 関節角 q1 を求める： 得られた解 q2∗ を (6.21a)，(6.21b) 式に代入して，q1 の sin，cos
について整理すれば以下のようになる．
{(l1 + l2 c∗2 )c1 − l2 s∗2 s1 = px
(6.26)(l1 + l2 c∗2 )s1 + l2 s∗2 c1 = py
表記の簡単化のため以下の定数

k1 := (l1 + l2 c∗2 ),k2 := l2 s∗2を導入する．この (6.27) 式を用いて (6.26) 式を次のように変形する．

k1
k2
px

c1 − √ 2
s1 = √ 2

 √ 2
2
2
k1 + k2
k1 + k2
k1 + k22
k1
k2
py


s1 + √ 2
c1 = √ 2
 √ 222
k1 + k2
k1 + k2
k1 + k22(6.27)(6.28)

ここで，(k1 , k2 ) を用いることで，新たな定数の角度 γ を定義することができる．

k1,
cos γ := √ 2
k1 + k22

k2
sin γ := √ 2
k1 + k22(6.29)

Figure 6.14: 定数角度 γ の定義
なお，角度 γ の値そのものが必要な場合は，次の式を用いれば良い19 ．
(
)
k2
k1
,√ 2
γ = Atan2 √ 2= Atan2 (k2 , k1 )k1 + k22
k1 + k22(6.30)

したがって，(6.29) 式を用いることで，(6.28) 式は加法定理を用いて以下のようにまとめることができる．


px
px




 cos(γ + q1 ) = √ 2
 cγ c1 − sγ s1 = √ 22
k1 + k2
k1 + k22⇔(6.31)
py
py


√
√


c
s
+
s
c
=
sin(γ
+
q
)
=
γ 1
1

 γ 1
k12 + k22
k12 + k22y
四象限逆正接関数 Atan2(y, x) において値を求めるために必要な情報は，x，y の比 および符号であx√る．したがって，引数の共通の分母 k12 + k22 は正であるため，省いても問題ない．
19

6.4 手先の位置・姿勢に関する逆運動学

121(6.31) 式より，角度 (γ + q1 ) に関する余弦関数，正弦関数が得られているため，(γ + q1 )を求めることができる．
γ + q1 = Atan2(py , px )(6.32)
以上から，(6.32)，(6.30) 式より，関節角 q1 の解 q1∗ が求められる．

q1∗ = Atan2(py , px ) − Atan2(k2 , k1 )3. 関節角 q3 を求める：
角 q3 の解 q3∗ を得る．

6.4.3

(6.33)

順運動学の (6.21c) 式に得られた解 q1∗ ，q2∗ を代入すれば，関節q3∗ = ϕ − q1∗ − q2∗(6.34)

幾何学的解法

幾何学的解法においては，マニピュレータの構造から上手く平面幾何問題を見い出すことがポイントになる．ここでは代数学的解法と同様にして Fig. 6.13 の平面での 3 関節マニ
ピュレータを具体例として取り扱う．この例題は動作範囲が平面に限定されているため，
平面幾何問題を抜き出すことができる最も簡単な問題である．

Figure 6.15: 平面 3 リンクマニピュレータの逆運動学における幾何学的解法

1. 関節角 q2 を求める： Fig. 6.15 において，関節 1，2，3 を頂点とする三角形を考え，関節角 q2 の補角 (π − q2 ) に関して余弦定理を適用する．
p2x + p2y = l12 + l22 − 2l1 l2 cos(π − q2 )(6.35)

第6章

122

したがって，cos(π − q2 ) = − cos q2 であることに注意すれば，容易に (6.23) 式と同様の結果を得る．
p2x + p2y − l12 − l22c∗2 =(6.23)
2l1 l2この (6.23) 式より，関節角 q2 の解 q2∗ のうち 1 つの解を余弦関数の逆関数より得ることが
できる．
( 2
)
px + p2y − l12 − l22∗−1q2 = cos(6.36)
2l1 l2
さて，余弦関数の逆関数 cos−1 の値域は [0, π] であるため，2 通りの解のうち，正の値しか求めることができない．代数学的解法においては，正弦関数の値 s∗2 をピタゴラスの定理より求めたことにより，(6.25) 式のように 2 通りの解が得られた．ここでは，幾何学的見地より，Fig. 6.15 にあるように，関節 1，3 を結ぶ直線に対称な三角形を形作る関節角
q2 がもう一方の解であることは明らかである．よって，(6.36) 式を用いて，完全な表現の解を求めることができる．
( 2)
px + p2y − l12 − l22−1∗q2 = ± cos(6.37)
2l1 l2
なお，(6.23) 式の解の存在条件についても，幾何学的に導くことができる．第 3 関節の到達できる範囲は，Fig. 6.11 左図で示したように，第 2 関節を最も伸ばした q2 = 0 の状態
において第 1 関節 q1 を 360 deg だけ回転させたときに第 3 関節が描く半径 l1 + l2 の円内であり，かつ，第 2 関節を折り畳んだ q2 = π の状態において第 1 関節 q1 を 360 deg だけ回転させたときに第 3 関節が描く半径 |l1 − l2 | の円外である．第 3 関節の目標位置 (px , py )がこの領域内にある条件は√|l1 − l2 | ≤ p2x + p2y ≤ l1 + l2
(6.38)となる．この条件は代数学的解法で求めた解の存在条件 (6.24) 式と等価である20 ．

2. 関節角 q1 を求める：

Fig. 6.15 のように，補助角 β を導入する．
β := Atan2(py , px )(6.39)

また，関節角 1〜3 を頂点とする三角形において，もう一つの補助角 ψ に関して余弦定理を適用する．
√(6.40)
l22 = (p2x + p2y ) + l12 − 2l1 p2x + p2y cos ψ
この (6.40) 式を解いて，ψ が得られる．
(

ψ = cos−1
20

p2x + p2y + l12 − l22√
2l1 p2x + p2y)(6.24) 式を変形すれば− 2l1 l2 ≤ p2x + p2y − (l12 + l22 ) ≤ 2l1 l2⇔(l1 − l2 )2 ≤ p2x + p2y ≤ (l1 + l2 )2√⇔|l1 − l2 |2 ≤ p2x + p2y ≤ l1 + l2となり，等価であることが分かる．

(6.41)

6.5 手先の速度に関する運動学123

この (6.41) 式より定まる ψ は正の値であり，Fig. 6.15 より，(6.37) 式の関節角 q2 の解 q2∗のうち，正の解に対応しており，q2∗ の負の解については −ψ が対応していることは明らかである．よって，関節角 q1 の解 q1∗ は以下のように求められる．

q1∗ = β ∓ ψ
3. 関節角 q3 を求める：(6.42)

平面内の関節角の和は第 3 リンクの姿勢角に等しい．

q1 + q2 + q3 = ϕ(6.43)

ここに得られた解 q1∗ ，q2∗ を代入することで関節角 q3 の解 q3∗ が求められる．
以上で示したように，幾何学的解法では，平面幾何問題において，関節角が形作る三角形について余弦定理など諸定理を適用することが基本となる．実際には，代数学的解法と幾何学的解法は組み合わせて効率よく解を得るように工夫することが多い．

6.5 手先の速度に関する運動学
前節までで手先の位置・姿勢と関節角の間の関係を代数的に記述した運動学について述
べた．次にここでは，瞬間的な運動，すなわち速度に関する関係式を導出する．

6.5.1

ヤコビ行列の定義あるベクトル変数 x ∈ Rn が一般化座標 q ∈ Rn の関数であるとする．すなわち q を変数とするある多変数ベクトル値関数 f (q) ∈ Rm を用いて以下のように表現される．

x = f (q)(6.44)

このとき，両辺を時間微分すれば，微分の連鎖法則により

ẋ = J (q)q̇(6.45)

ただし∂f∈ Rm×n(6.46)∂q(6.45) 式は時間変化率 ẋ と q̇ の関係を表しており，(6.46) 式の係数行列 J は関数 f の勾配となっている．このように，多変数ベクトル値関数の勾配をヤコビ行列 (jacobian matrix)
もしくは単にヤコビアン (jacobian)と呼ぶ．
J :=

6.5.2

時間微分による速度の順運動学の導出

順運動学 (6.10) 式より，手先座標系の位置・姿勢 (0 pT , 0 RT ) は関節角 q ∈ Rn の関数である．この順運動学を表す関数をそれぞれ f (q) ∈ R3 ，G(q) ∈ R3×3 とおく．
{ 0
pT = f (q)(6.47)
0
RT = G(q)

第6章

124

(6.47) 式のうち，位置に関する式を時間微分すれば，微分の連鎖法則により，以下の関係式を得る．
0ṗT = Jp (q)q̇(6.48)
ただし∂f∈ R3×n∂q

Jp :=(6.49)(6.48) 式が手先の並進速度 0 ṗT に関する順運動学の関係式であり，その微係数 Jp がヤコビ行列として与えられる．
次に，回転速度に関する順運動学式の導出を試みる．回転速度ベクトルの定義は (3.32)式であるため，(6.47) の姿勢を表す行列関数 G(q) を適用する．
0

ωT∧ = Ġ(q)GT (q)(6.50)(6.50) 式の右辺を展開するため，姿勢の順運動学の行列関数 G ∈ R3×3 を次のようにおく．

r1T (q)G(q) := r2T (q) , r1 , r2 , r3 ∈ R3
(6.51)
r3T (q)
ただし，G は回転行列であり，r1 〜r3 はその行ベクトルであるので，回転行列の性質である正規直交の関係 (2.3) 式を満たすことに注意すべきである．

riT rj ={1 (i = j)
0 (i ̸= j)(6.52)(6.51) 式を (6.50) 式に適用すれば

ṙ1T r1 ṙ1T r2 ṙ1T r3
0 ∧ωT = ṙ2T r1 ṙ2T r2 ṙ2T r3 
ṙ3T r1 ṙ3T r2 ṙ3T r3(6.53)となる．ここで，(6.52) 式の両辺を時間微分すれば，

ṙiT rj ={0−riT ṙj(i = j)(i ̸= j)の関係を容易に導くことができるので，(6.54) 式を (6.53) に適用すれば

 

0
−ṙ2T r1 ṙ1T r30−0 ωTz 0 ωTy

 
0
0
−ṙ3T r2 0−0 ωTx  =  ṙ2T r1 ωTz
0−ṙ1T r3 ṙ3T r2−0 ωTy 0 ωTx
0
{z
}
|
0 ∧
ωT

(6.54)(6.55)となる．なお左辺は外積演算に等価な歪対称行列の定義 (3.13) 式をそのまま適用しただけである．したがって，(6.55) 式における回転速度の成分 (0 ωTx , 0 ωTy , 0 ωTz ) について成り立6.6 特異姿勢

125

つ関係をベクトル表現 0 ωT としてまとめれば以下のようになる．
 


∂r3
∂r3

 

q̇
r2T
r2T
 ∂q   ∂q ṙ3T r2
r2T ṙ3 ∂r   ∂r 






1 
1
0
q̇  = r3T
ωT = ṙ1T r3  = r3T ṙ1  = r3T
 q̇
 ∂q   ∂q TT
 ∂r2   ∂r2 
ṙ2 r1
r1 ṙ2
r1T
q̇
r1T
∂q
∂q
よって，回転速度に関する順運動学の関係式は次の形式として得ることができる．
0

ただし

ωT = Jω (q)q̇(6.56)T ∂r3r
 2 ∂q  ∂r 
1
Jω := r3T
 ∈ R3×n ∂q 
 ∂r2 r1T
∂q

(6.57)

得られた (6.56) 式における微係数 Jω は (6.57) 式で与えられるため，ヤコビ行列の定義(6.46) 式に反している．しかしながら，(6.56) 式と (6.45) 式との式構造の類似性から，ロボット工学の分野においては Jω もまたヤコビ行列と呼ぶ．

6.5.3

幾何学的関係による速度の順運動学の導出

省略．文献 [4, pp.54–55] などを参照されたい．

6.6 特異姿勢
省略．文献 [4, pp.57–61] などを参照されたい．

6.7 手先力と等価な関節トルク
省略．文献 [4, pp.61–65] などを参照されたい．

第 7 章 レポート課題

Figure 7.1: 3 関節マニピュレータ
Fig. 7.1 にある 3 次元空間における 3 関節マニピュレータを考える．以下の問いに答えよ．
課題 1. 関節角を q := [θ1 , θ2 , θ3 ]T ∈ R3 として，手先座標系 ΣT の原点位置 0 pT ∈ R3 を
q の関数である順運動学の関係式として求めよ．
課題 2. 手先位置 0 pT ∈ R3 が与えられたときの関節角 q ∈ R3 を逆運動学の解として求めよ．
※) 基本的に，課題 1. に取り組んでいれば良い．余裕があれば課題 2. も行え．

129

参考文献
[1] 原島鮮. “力学 I —質点・剛体の力学—.” 東京, Japan: 裳華房, 1973.
[2] 原島鮮. “力学 II —解析力学—.” 東京, Japan: 裳華房, 1973.
[3] 下山勲 三浦宏文. “ロボティクス : 機構・力学・制御.” (原著：John J. Craig. “Introduction
to ROBOTICS —mechanics and control.” 2nd ed. Boston, Addison-Wesley, 1989.) 東京,
Japan: 共立出版, 1991.
[4] 吉川恒夫. “ロボット制御基礎論.” 東京, Japan: コロナ社, 1988.
[5] R. M. Murray, Z. Li, and S. S. Sastry. “A Mathematical Introduction to ROBOTIC MANIPULATION.” New York, U.S.A.: CRC Press, 1994.
[6] Mark W. Spong, Seth Hutchinson, and Mathukumalli Vidyasagar. “Robot modeling andcontrol.” Hoboken (N.J.): John Wiley & Sons, 2006.
[7] Michel Géradin and Alberto Cardona. “Flexible multibody dynamics : a finite element
approach.” Chichester, New York, Weinheim: J. Wiley & Sons, 2001.
[8] Ahmed A. Shabana. “Dynamics of multibody systems.” 4th ed. New York, United States:
Cambridge University Press, 2013.
[9] 筧三郎. “工科系線形代数.” 新訂版. 東京, Japan: 数理工学社, 2014.
[10] 下本陽一 佐藤和也 只野裕一. “工学基礎 はじめての線形代数学.” 東京, Japan: 講談社, 2014.
[11] 日本機械学会. “マルチボディダイナミクス (1) —基礎理論—.” 東京, Japan: コロナ社
, 2006.
[12] 日本機械学会. “マルチボディダイナミクス (2) —数値解析と実際—.” 東京, Japan: コ
ロナ社, 2007.
[13] 佐藤淳. “コンピュータビジョン : 視覚の幾何学.” 東京, Japan: コロナ社, 1999.
[14] 田上由紀子 戸田盛和. “力学 —新しい視点にたって.” (原著：V. D. Barger and M. G.
Olsson. “Classical Mechanics —A Modern Perspective.” New York, U.S.A., McGrawHill Book Company, 1973.) 東京, Japan: 培風館, 1975.
[15] 広重徹 水戸巌 訳. “力学.” 増訂第 3 版. (Lev Davidovich Landau and Evgenii Mikhailovich
Lifshits 著). 東京, Japan: 東京図書, 1971.
[16] Wikipedia. “逆立ちゴマ.” URL: https://ja.wikipedia.org/wiki/ 逆立ち
ゴマ.

130

参考文献

[17] DisneyResearchHub(YouTube 公式チャンネル). “Spin-It: Optimizing Moment of Inertia for Spinnable Objects.” URL: https : / / www . youtube . com / watch ? v =qquek0c5bt4.
[18] JAXA—宇宙航空研究開発機構 (YouTube 公式チャンネル). “宇宙飛行士と考える「回転運動の不思議」.” URL: https://www.youtube.com/watch?v=QhSN2eua14I.
[19] 石川将人. “非ホロノミックシステムの制御 : 拘束条件の非線形性を活かす.” In:
日本ロボット学会誌 27.4 (2009), pp. 384–387.
[20] 中村仁彦. “非ホロノミックロボットシステム–第 1 回非ホロノミックロボットって何？–.” In: 日本ロボット学会誌 11.4 (1993), pp. 521–528.
[21] 田島洋. “マルチボディダイナミクスの基礎 : 3 次元運動方程式の立て方.” 東京, Japan:
東京電機大学出版局, 2006.