ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章...

88
ロボット工学の基礎 ―マニピュレータの運動学・動力学― 岡山大学 自然科学研究科 見浪 平成 29 1 30

Upload: others

Post on 17-May-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

ロボット工学の基礎

―マニピュレータの運動学・動力学―

岡山大学 自然科学研究科

見浪 護

平成 29 年 1 月 30 日

Page 2: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

目 次

章 1章 ラグランジュ法による動力学解法 3

1.1 ラグランジュの方程式 . . . . . . . . . . . . . . . . . . . . . . . . 3

章 2章 2リンクマニピュレータのラグランジュ解法 5

2.1 2リンクマニピュレータの運動方程式 . . . . . . . . . . . . . . . 5

章 3章 運動学 9

3.1 順・逆運動学関係とは? . . . . . . . . . . . . . . . . . . . . . . . 9

3.2 リンク座標系 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.3 座標変換行列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.4 座標変換行列の性質 . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.5 ハンド位置の記述 . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.6 同次変換行列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.7 同次変換行列の性質 . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.8 逆運動学の解 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

章 4章 3リンクマニピュレータのラグランジュ解法 34

4.1 運動エネルギー . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.1.1 並進運動エネルギー . . . . . . . . . . . . . . . . . . . . . 34

4.1.2 重心の速度ベクトル . . . . . . . . . . . . . . . . . . . . . 35

4.1.3 リンク回転角速度ベクトル . . . . . . . . . . . . . . . . . . 36

4.1.4 リンク速度ベクトル . . . . . . . . . . . . . . . . . . . . . 38

4.2 回転運動エネルギー . . . . . . . . . . . . . . . . . . . . . . . . . 42

4.3 位置エネルギーと損失エネルギー . . . . . . . . . . . . . . . . . . 49

4.3.1 運動方程式の導出 . . . . . . . . . . . . . . . . . . . . . . . 50

章 5章 2リンクマニピュレータのニュートンオイラー解法 54

5.1 ニュートン・オイラー法 . . . . . . . . . . . . . . . . . . . . . . . 54

5.2 2リンクの運動方程式 . . . . . . . . . . . . . . . . . . . . . . . . 54

5.2.1 準備 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

5.2.2 運動方程式の導出 . . . . . . . . . . . . . . . . . . . . . . . 55

章 6章 平面 3リンクマニピュレーターのニュートンオイラー解法 60

6.1 緒言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

6.2 3リンクマニピュレーターの運動方程式導出 . . . . . . . . . . . . 60

6.2.1 準備 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

6.2.2 運動方程式導出 . . . . . . . . . . . . . . . . . . . . . . . . 62

1

Page 3: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

章 7章 垂直多関節 3リンクマニピュレータのニュートンオイラー解法 66

7.1 準備 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

7.2 導出,正順繰り返し計算 . . . . . . . . . . . . . . . . . . . . . . . 67

7.2.1 i=1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

7.2.2 i=2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

7.2.3 i=3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

7.3 導出,逆順繰り返し計算 . . . . . . . . . . . . . . . . . . . . . . . 70

7.3.1 i=3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

7.3.2 i=2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

7.3.3 i=1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

章 8章 数値積分法 (ルンゲクッタ法)の導出 73

章 9章 付録 81

2

Page 4: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

第 1章

ラグランジュ法による動力学解法

1.1 ラグランジュの方程式ある一つの剛体の運動エネルギーを T,ポテンシャルエネルギーをU,損失エ

ネルギーをDとする.また一般化座標を q,一般化速度を q,一般化入力を u と

すると,この物体のラグランジュ方程式は,

d

dt(∂T

∂q) − ∂T

∂q+

∂D

∂q+

∂U

∂q= u (1.1)

と与えられる.T,D,U に関する偏微分と時間微分を計算すると上式は,

mq + cq + g = u (1.2)

と表わすことができ,この式を運動方程式という.

ロボットは一般的に多リンクで構成されているので,q,q,u,T,U,Dは

それぞれ,q = [q1, q2, · · · , qn]T,q = [q1, q2, · · · , qn]T,u = [u1, u2, · · · , un]T,

T (q, q),U(q),D(q),と表わされる.ここで“T”は転置を表わす.よって,q =

[q1, q2, · · · , qn]Tはqが縦ベクトルであることを意味している.q,q,uはそれぞれ

ベクトルであるが,T (q, q),U(q),D(q),はそれぞれq,qを変数とするスカラ関

数であることに注意しておく.i = 1, 2, · · · , nの第 iリンクのT,U,Dをそれぞれ

Ti,Ui,Diとするとき,Ti,Ui,Diは,qi = [q1, q2, · · · , qi]T,ui = [u1, u2, · · · , ui]

T

の関数となり,ロボットの運動エネルギーT (q, q),ポテンシャルエネルギーU(q),

損失エネルギーD(q)は,

T (q, q) =n∑

i=1

Ti(qi, qi) (1.3)

U(q) =n∑

i=1

Ui(qi) (1.4)

D(q) =n∑

i=1

Di(qi) (1.5)

と表わされる.第 iリンクの運動エネルギー Tiが qi = [q1, q2, · · · , qn]T ,

qi = [q1, q2, · · · , qn]T の関数 Ti(qi, qi)と表わされる.Ti(qn, qn)と表わさない理由

は,第 iリンクの角度や速度は q1~qi,q1~qiの関数であり,第 i + 1~n間のリ

3

Page 5: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

ンクの角度や角速度には無関係であるからである.

ロボットのラグランジュの方程式は上の T,D,U を用いて,

d

dt(∂T (q, q)

∂qi

) − ∂T (q, q)

∂qi

+∂D(q)

∂qi

+∂U(q)

∂qi

= ui (i = 1, 2, · · · , n) (1.6)

と求めることができる.上式の微分を計算すると,リンク多関節ロボットの運動

方程式

M(q)q + c(q, q) + g(q) = u (1.7)

が得られる.

以上が運動方程式を求める概要であるが,これだけでは T,D,U をどの様に

して得るのか,式 (1.6)の偏微分の具体的な式はどうなっているのかなど不明で

ある.以下では,運動方程式 (1.7)を得る手段について垂直多関節マニピュレー

タを例にとり,何も省略することなく具体的に述べる.

運動エネルギーには 2種類あり,並進の運動エネルギーを Tt,回転の運動エネ

ルギーを Trと呼ぶことにする.さらに第 iリンクのそれぞれを Tti,Triと呼ぶと

第 iリンクの運動エネルギー Tiは,

Ti = Tti + Tri (1.8)

と表わされる.ここでTti,Triはそれぞれ第 iリンクの重心の並進運動エネルギー

と重心回りの回転エネルギーを表わすことに注意しておく.

4

Page 6: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

第 2章

2リンクマニピュレータの

ラグランジュ解法

2.1 2リンクマニピュレータの運動方程式

y

x

l1

l2

Olg1

lg2

q1

q2

G1

G2

g

図 2.1: 2links manipulator

図 2.1で示した平面2リンクマニピュレータの運動方程式について述べる.運

動エネルギーと位置エネルギーを求めるには各リンクの重心の位置と並進速度を

記述する必要がある.

まず,第1リンクの重心G1の位置座標 [x1 y1]T は以下となる.

[x1

y1

]=

[lg1 cos q1

lg1 sin q1

](2.1)

式(2.1)の両辺を時間 tで微分して次式を得る.[

x1

y1

]=

[−lg1q1 sin q1

lg1q1 cos q1

](2.2)

したがって,第1リンクの慣性モーメントを I1,運動エネルギーを T1,位置エネ

ルギーをU1,関節の粘性摩擦係数を d1,損失エネルギーをD1とすると,以下の

5

Page 7: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

ようになる.

T1 =1

2m1(x

21 + y2

1) +1

2I1q

21

=1

2m1

{(−lg1q1 sin q1)

2 + (lg1q1 cos q1)2}

+1

2I1q

21

=1

2m1lg1

2q21

{(− sin q1)

2 + (cos q1)2}

+1

2I1q

21

=1

2(m1lg1

2q21 + I1q

21) (2.3)

U1 = m1gy1 = m1glg1 sin q1 (2.4)

D1 =1

2d1q

21 (2.5)

次に,第2リンクの重心G2の位置座標 [x2 y2]T は以下となる.

[x2

y2

]=

[l1 cos q1 + lg2 cos (q1 + q2)

l1 sin q1 + lg2 sin (q1 + q2)

](2.6)

式(2.6)の両辺を時間 tで微分して次式を得る.[

x2

y2

]=

[−l1q1 sin q1 − lg2(q1 + q2) sin (q1 + q2)

l1q1 cos q1 + lg2(q1 + q2) cos (q1 + q2)

](2.7)

したがって,第2リンクの慣性モーメントを I2,運動エネルギーを T2,位置エネ

ルギーをU2,関節の粘性摩擦係数を d1,損失エネルギーをD2とすると,以下の

ようになる.

T2 =1

2m2(x

22 + y2

2) +1

2I2(q1 + q2)

2

=1

2m2

[{−l1q1 sin q1 − lg2(q1 + q2) sin (q1 + q2)

}2

+{l1q1 cos q1 + lg2(q1 + q2) cos (q1 + q2)

}2]

+1

2I2(q1 + q2)

2

=1

2m2

{l21q

21 sin2 q1 + 2l1lg2q1(q1 + q2) sin q1 sin (q1 + q2) + l2g2(q1 + q2)

2 sin2 (q1 + q2)

+l21q21 cos2 q1 + 2l1lg2q1(q1 + q2) cos q1 cos (q1 + q2) + l2g2(q1 + q2)

2 cos2 (q1 + q2)}

=1

2m2

[l21q

21(sin

2 q1 + cos2 q1) + 2l1lg2q1(q1 + q2){cos q1 cos (q1 + q2) + sin q1 sin (q1 + q2)

}

+l2g2(q21 + q2

2){sin2 (q1 + q2) + cos2 (q1 + q2)

}]+

1

2I2(q1 + q2)

2

=1

2

[m2

{l21q

21 + l2g2(q1 + q2)

2 + 2l1lg2q1(q1 + q2) cos q2

}

+I2(q1 + q2)2]

(2.8)

ここで加法定理より,cos q1 cos (q1 + q2) + sin q1 sin (q1 + q2) = cos q2である.

U2 = m2gy2 = m2g{l1 sin q1 + lg2 sin (q1 + q2)

}(2.9)

D2 =1

2d2q

22 (2.10)

6

Page 8: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

したがって,総運動エネルギー T = T1 + T2,総位置エネルギーU = U1 + U2,総

損失エネルギーD = D1 + D2は次のようになる.

T = T1 + T2

=1

2(m1l

2g1q

21 + I1q

21)

+1

2

[m2

{l21q

21 + l2g2(q1 + q2)

2 + 2l1lg2q1(q1 + q2) cos q2

}+ I2(q1 + q2)

2](2.11)

U = U1 + U2 = m1glg1 sin q1 + m2g{l1 sin q1 + lg2 sin (q1 + q2)

}(2.12)

D = D1 + D2 =1

2(d1q

21 + d2q

22) (2.13)

これらより,∂T/∂q1および d(∂T/∂q1)/dtについて,d(q1 cos q2)/dt = q1 cos q2 −q1q2 sin q2, d(q2 cos q2)/dt = q2 cos q2 − q2

2 sin q2に注意すると,

∂T

∂q1

= m1l2g1q1 + I1q1 +

1

2

[m2

{(2l21q1 + 2l2g2(q1 + q2)

+2l1lg2(q1 + q2) cos q2 + 2l1lg2q1 cos q2

}+ 2I2(q1 + q2)

]

= m1l2g1q1 + I1q1 + m2

{l21q1 + l2g2(q1 + q2) + 2l1lg2q1 cos q2

+l1lg2q2 cos q2

}+ I2(q1 + q2) (2.14)

d

dt(∂T

∂q1

) =d

dt

[m1l

2g1q1 + I1q1 + m2

{l21q1 + l2g2(q1 + q2) + 2l1lg2q1 cos q2

+l1lg2q2 cos q2

}+ I2(q1 + q2)

]

={I1 + m1l

2g1 + I2 + m2(l

21 + l2g2 + 2l1lg2 cos q2)

}q1

+{I2 + m2(l

2g2 + l1lg2 cos q2)

}q2 − m2l1lg2(2q1q2 + q2

2) sin q2 (2.15)

である.さらに,

∂T

∂q1

= 0 (2.16)

∂U

∂q1

= m1glg1 cos q1 + m2g{l1 cos q1 + lg2 cos (q1 + q2)

}(2.17)

∂D

∂q1

= d1q1 (2.18)

d

dt(∂T

∂q2

) =d

dt

{m2l

2g2(q1 + q2) + m2l1lg2(q1 cos q2) + I2(q1 + q2)

}

={I2 + m2(l

2g2 + l1lg2 cos q2)

}q1 + (I2 + m2l

2g2)q2

−m2l1lg2q1q2 sin q2 (2.19)

7

Page 9: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

∂T

∂q2

= −m2l1lg2q1(q1 + q2) sin q2 (2.20)

∂U

∂q2

= m2glg2 cos (q1 + q2) (2.21)

∂D

∂q2

= d2q2 (2.22)

が成り立つ.式 (2.15)~(2.22)に対するラグランジュの運動方程式より,下線部

の計算に注意すると2組の駆動トルク τ1,τ2に関する運動方程式を得る.

τ1 =d

dt(∂T

∂q1

) − ∂T

∂q1

+∂U

∂q1

+∂D

∂q1

={I1 + m1l

2g1 + I2 + m2(l

21 + l2g2 + 2l1lg2 cos q2)

}q1

+{I2 + m2(l

2g2 + l1lg2 cos q2)

}q2 − m2l1lg2(2q1q2 + q2

2) sin q2

+m1glg1 cos q1 + m2g{l1 cos q1 + lg2 cos (q1 + q2)

}+ d1q1 (2.23)

τ2 =d

dt(∂T

∂q2

) − ∂T

∂q2

+∂U

∂q2

+∂D

∂q2

={I2 + m2(l

2g2 + l1lg2 cos q2)

}q1 + (I2 + m2l

2g2)q2−m2l1lg2q1q2 sin q2

+m2l1lg2q1(q1+q2)sin q2 + m2glg2 cos (q1 + q2) + d2q2

={I2 + m2(l

2g2 + l1lg2 cos q2)

}q1 + (I2 + m2l

2g2)q2 + m2l1lg2q

21 sin q2

+m2glg2 cos (q1 + q2) + d2q2 (2.24)

式(2.23),(2.24)の運動方程式系は,連立非線形微分方程式となっており複雑

に見えるが,次のように整理することができる.[

τ1

τ2

]=

[I1 + m1l

2g1 + I2 + m2(l

21 + l2g2 + 2l1lg2 cos q2) I2 + m2(l

2g2 + l1lg2 cos q2)

I2 + m2(l2g2 + l1lg2 cos q2) I2 + m2l

2g2

][q1

q2

]

+

[−m2l1lg2(2q1q2 + q2

2) sin q2

m2l1lg2q21 sin q2

]+

[m1glg1 cos q1 + m2g

{l1 cos q1 + lg2 cos (q1 + q2)

}

m2glg2 cos (q1 + q2)

]

+

[d1 0

0 d2

][q1

q2

](2.25)

式(5.18)を簡単にすると,

τ = M(q)q + h(q, q) + g(q) + Dq (2.26)

となる.

式(2.26)のM(q)qは慣性項であり,h(q, q)は遠心力とコリオリ力からなる

項,g(q)は重力項,Dは関節の粘性摩擦係数を表す対角行列である.特に行列

M(q)は慣性行列(inertia matrix)と呼ばれており,ロボットアームの動力学特

性を特徴づける重要な行列である.

8

Page 10: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

第 3章

運動学

3.1 順・逆運動学関係とは?ロボット運動学とは,基本的にはハンドの位置・姿勢とそれを実現する関節

角度の関係のことを表す.ハンドの速度と関節角速度・角加速度との関係も含め

て,運動学と呼ぶが,ここでは上の基本的関係について述べる.床に固定され

た直交座標系をΣW と呼ぶことにする.ΣW で表されたハンドの位置ベクトルをW r = [W rx,

W ry,W rz]

T と表し,図 3.1に示す.W r は q = [q1, q2, q3]T で表される

関節角ベクトルの関数として,

W r =

W rx

W ry

W rz

=

fx(q1, q2, q3)

fy(q1, q2, q3)

fz(q1, q2, q3)

= f(q) (3.1)

と表すことができる.この関係を運動学関係といい,

q = f−1(W r) (3.2)

を逆運動学関係という.

W

rWP

図 3.1:

3.2 リンク座標系2リンクで構成されるロボットの順逆運動学関係は,幾何学的に求めることも

容易である.しかし3リンク以上になると直感的に求めることは難しくなるため,

解析的に式 (3.1),(3.2)を求める方法が必要になる.準備として,構成リンク全

てにリンク座標系と呼ばれる動座標系を設定する.この設定方法は一意でなく,

好みに応じて決定することができるが,設定に依存して以下の運動学解析が変化

する.しかし,最終的な結果である式 (3.1),(3.2)には影響しない.だからといっ

9

Page 11: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

x

z

Pi

i リンクi-1 リンク

図 3.2:

[

]

[d \ ]

\

;�8Ð=�<]�D�

[

]

\ d ] [

\�

;�8Ð=�<[�E�

[

]

] d [ \

\�

;�8Ð=�<\�F�

x y

z

図 3.3:

て座標系の設定に任意性を残したままにして運動方程式の導出を進めると,共通

の議論の妨げになるので,ここでは,広く用いられるようになったCraigの方法

を述べる.実用化されているほとんどのロボットは回転関節のみで構成されてお

り,ここでは,このようなロボットについて考える.通常,回転関節軸方向はリ

ンク中心軸に対して直交または平行であることを考慮すると,リンク座標系は,

・ z軸を回転軸方向に合わせる (図 3.2に示す).

・ x軸をリンク中心線を通り,リンク先端方向を正とする.

・ y軸は,x,z軸に対し,右手形を構成するように設定する.右手系とは図 3.3

に示すように,x×y = z (×は外積を表わす)が成り立つ座標系のことで

ある.

ただし,Σiは第 iリンクに固定されている.回転軸方向とリンク中心線が一致

する場合は,リンク中心線に z軸を一致させ x,y軸は任意とする.以上の方法に

よってもリンク座標系の設定は完全には定まらないが,回転軸を z軸で表すこと

と定めることで,後に述べるメリットが生じる.初期状態の PUMA型3リンク

ロボットにリンク座標系Σ1,Σ2,Σ3及びハンド座標系ΣH を取り付けた状態を

図 3.4に示す.ΣW(0 − xW yW zW)は作業座標系を表し,ΣH の原点が対象物を

把持する点を意味する.

10

Page 12: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

W 1

zW1zw

xW1xw

yW1yw

2

xW2

zW2

yW2

3

xW3

zW3

yW3

H

xWH

yWH

zWH

O

図 3.4:

3.3 座標変換行列3次元空間内を運動する剛体を記述しようとするとき,まず,その物体の姿勢

を行列で表現するすることが必要となる.ここでは,この行列を座標変換行列と

呼ぶことにする.座標変換行列を用いることで,式 (3.1)で表される順動力学関

係を解析的に求めることが容易になる.図 3.5に示すリンクAには,ΣAが固定

W

ÂË�X

ÂË�A

ÂË�B

xA

yA

zA

OA

rWA

rAB

zB

yB

xB

図 3.5:

されており,ΣW の原点からΣAの原点への位置ベクトルをW rAと表す.またΣA

の原点からΣBの原点へのベクトルをΣW で表したベクトルをW rA,Bと表すこと

にすると,ΣW の原点からΣBの原点へのベクトルW rBは,

W rB =W rA +W rA,B (3.3)

と表される.W rA,W rA,BともΣW で表現したベクトルであるため,図 3.6に示

すように加算することができる.しかし,W rA,Bを動座標系ΣAで表現したもの

11

Page 13: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

: U%

: U$: U$�%

図 3.6:

ArA,BとW rAとは,基準とする座標が異なるため加減算を行うことができない.

ここで,ArA,BとW rA,Bとの関係であるが,ΣAからΣW への座標変換行列

W RA

を用いると,

W rA,B = W RAArA,B (3.4)

と表すことができる.式 (3.4)を式 (3.3)に代入すると,

W rB = W rA + W RAArA,B (3.5)

が得られる.なぜ式 (3.4)を用いて,W rA,BをW RAと

ArA,Bとで表したのかとい

うと,回転関節の場合ΣAはリンクAに固定されているためArA,Bは定数ベクト

ルとなり,リンクに対するリンクAの回転運動は,W RAの中に閉じこめて考え

ることができるからである.

  W RAの中身について考えてみよう.W RAは,

W RA =[

W xAW yA

W zA

](3.6)

と定義され,W xA,W yA,

W zAはΣAの各座標軸ベクトルをΣW で表したもので

ある.従って,それぞれは単位ベクトルであり,これは,内積を用いて

(W xA)T W xA = 1

(W yA)T W yA = 1

(W zA)T W zA = 1

(3.7)

と表わされる.また互いに直交することから,

(W xA)T (W yA) = 0

(W yA)T (W zA) = 0

(W zA)T (W xA) = 0

(3.8)

である.W RAの定義より明らかなことであるが,W RAは正規直交行列である.

例3-1

ΣW の z軸回りに θ回転した座標系をΣAとすると,

W xA =[

cos θ, sin θ, 0]T

, W yA =[− sin θ, cos θ, 0

]T

, W zA =[

0, 0, 1]T

であるから,W RAは

W RA(θ) =

cos θ − sin θ 0

sin θ cos θ 0

0 0 1

(3.9)

12

Page 14: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

: [

:\

:[$

:\$

h:h$ t�

��

S��

S��

: U ���

� �S� ��

��� $U

���S� �� ��

���

図 3.7:

となる.図 3.7に示す θ = 30◦のときを考えると,

W RA|θ=30◦ =

√3/2 −1/2 0

1/2√

3/2 0

0 0 1

(3.10)

であり,Ar =[ √

3/2, 1/2, 0]T

について考えると,

W RA|θ=30◦Ar =

√3/2 −1/2 0

1/2√

3/2 0

0 0 1

√3/2

1/2

0

=

1/2√3/2

0

= W r (3.11)

と変換され,ArがW RAArによりΣW で表わされた

W r =[

1/2,√

3/2, 0]T

に変換されていることが分かる.

以上より,座標変換行列 W RAは,以下の二つの特徴,

(1) ΣAの各軸をΣW で表わしたベクトルを列ベクトルとして持つ 3 × 3行列で

ある.

(2) W RAはΣAで表わされたベクトルをΣW で表わしたベクトルに変換する.

を持つことが分かった.

式 (3.9)は z軸回りの回転を意味するが,これを明確に表わすためここでは,

Rot(z, θ) =

cos θ − sin θ 0

sin θ cos θ 0

0 0 1

(3.12)

と表わす.例 3-1と同様な考察により,x軸,y軸回りの回転については,

Rot(x, θ) =

1 0 0

0 cos θ − sin θ

0 sin θ cos θ

(3.13)

Rot(y, θ) =

cos θ 0 sin θ

0 1 0

− sin θ 0 cos θ

(3.14)

となる.

13

Page 15: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

3.4 座標変換行列の性質

式 (3.7),(3.8)で表わされた W RAの性質より

(W RA)T (W RA) =[

W xA, W yA, W zA

]T [W xA, W yA, W zA

]

=

W xTA

W yTA

W zTA

[W xA, W yA, W zA

]

=

W xTA

W xAW xT

AW yA

W xTA

W zA

W yTA

W xAW yT

AW yA

W yTA

W zA

W zTA

W xAW zT

AW yA

W zTA

W zA

=

1 0 0

0 1 0

0 0 1

(3.15)

となることから,

(W RA)T = W RA−1

(3.16)

となることがわかる.また,

W r = W RAAr (3.17)

が成り立つとき,逆の関係

Ar = ARWW r (3.18)

も成り立つから,両式より

W r = W RAARW

W r (3.19)

が任意の W rについて,成り立つことから,

W RAARW = I3 (3.20)

である.よって,W RA = (ARW )−1であり,式 (3.16)とあわせると,

ARW = (W RA)T = W RA−1

(3.21)

が成り立つ.

次に,第3の座標系ΣBを考えると,

W r = W RBBr

Ar = ARBBr (3.22)

が成り立つから,式 (3.22)を式 (3.17)に代入すると

W RBBr =W RA

ARBBr (3.23)

が得られる.任意の Brについて成り立つことから,

W RB =W RAARB (3.24)

14

Page 16: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

さらに,座標系ΣC も考えるとき,

W RC =W RAARC (3.25)

ARC =A RBBRC (3.26)

が成り立つことから,

W RC =W RAARB

BRC (3.27)

が得られる.これは,ΣW とΣC との関係W RC が中間座標系となったΣAとΣB

を用いて,W RA,ARBと

BRC の積で表わされ,しかもW RC はΣAとΣBの設

置方法に依存しないことを表わす.また式 (3.27)の逆の関係は

W R−1C = (W RA

ARBBRC)−1

= BR−1C

AR−1B

W R−1A

= CRBBRA

ARW

= CRW (3.28)

となるから

W R−1C =C RW (3.29)

この関係を用いると,ΣW と第 iリンクのリンク座標系Σiとの関係は,

W Ri =W R11R2 · · ·i−1 Ri (3.30)

と表わされることが分かる.図 3.8に示すΣW とΣH との関係は,

W RH(q) =W R1(q1)1R2(q2) · · ·n−1 Rn(qn) nRH (3.31)

と表わされることから,ハンドの姿勢ΣHは,リンク1からリンクnまでの姿勢の

変化を積算することで求められることが分かる.ここで,q =[

q1, q2, · · · , qn

]T

である.また,回転関節で構成されるマニピュレータの場合,W R1は q1のみの関数

であり,1R2は q2のみの関数であることから,W R1(q1),

1 R2(q2), · · · ,n−1 Rn(qn)

と表わされることも分かる.また,ΣnとΣHとの関係は変化しない,つまり駆動

軸を持たないので nRH は定数行列となる.

W R−1H = (W R1 . . .n RH)−1

= nR−1H . . .W R−1

1

= HRnnRn−1 . . .1 RW

= HRW (3.32)

例3-23リンクマニピュレータのリンク座標系を図 3.9に示す.このマニピュレータ

の座標変換行列 W Ri(i = 1, 2, 3, H)を求めてみよう.まず W R1についてはΣ1の

15

Page 17: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

h:

h+T�T�íö²1

íö²2

íö²n

図 3.8:

xW

zW

yW

z1 y1

x1

x2

x3

xH

y2

y3

yH

z2

z3

zH

q1

q2q3

図 3.9:

各座標軸W x1,W y1,

W z1は,図 3.4に示すとおり,q1 = 0◦のときxW , yW , zW と

一致しているので,初期状態で,

[W x1]q1=0◦ =

1

0

0

, [W y1]q1=0◦ =

0

1

0

, [W z1]q1=0◦ =

0

0

1

(3.33)

である.よって.ΣW とΣ1の初期状態での変換行列W R1は,

W R1 =

1 0 0

0 1 0

0 0 1

(3.34)

と表される.この状態から,W z1 軸回りに q1 回転したときの座標変換行列を

Rot(z, q1)と表すと,W R1(q1)は,例 3-1より,

W R1(q1) = W R1Rot(z, q1)

=

1 0 0

0 1 0

0 0 1

C1 −S1 0

S1 C1 0

0 0 1

=

C1 −S1 0

S1 C1 0

0 0 1

(3.35)

16

Page 18: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

と求めることができる.ここでC1 = cos q1,S1 = sin q1である.

次に 1R2を求める.初期状態での関係1R2は,図 3.4の初期状態の関係より,

W x2がW z1と,

W y2がW x1と,

W z2がW y1とそれぞれ一致していることから,

1R2 =

0 1 0

0 0 1

1 0 0

(3.36)

であり,この初期状態より,W z2軸回りに q2回転するので,Σ1とΣ2の関係は,

1R2 = 1R2Rot(z, q2)

=

0 1 0

0 0 1

1 0 0

C2 −S2 0

S2 C2 0

0 0 1

=

S2 C2 0

0 0 1

C2 −S2 0

(3.37)

となる.2R3については,

2R3 = I3であることと,Σ3は Σ2に対して z軸回りに q3回

転するから,次式で表される.

2R3 = 2R3Rot(z, q3)

=

C3 −S3 0

S3 C3 0

0 0 1

(3.38)

3RHについては,Σ3とΣHとの関係は不変であり,図 3.2に示すとおり,W xHがW y3と,

W yH がW z3と,

W zH がW x3とそれぞれ一致していることから,

3RH = 3RH

=

0 0 1

1 0 0

0 1 0

(3.39)

と表される.以上の順準より,

W R1(q1) =

C1 −S1 0

S1 C1 0

0 0 1

(3.40)

W R2(q1, q2) = W R1(q1)1R2(q2)

=

C1 −S1 0

S1 C1 0

0 0 1

S2 C2 0

0 0 1

C2 −S2 0

=

C1S2 C1C2 −S1

S1S2 S1C2 C1

C2 −S2 0

(3.41)

17

Page 19: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

W R3(q1, q2, q3) = W R2(q1, q2)2R3(q3)

=

C1S2 C1C2 −S1

S1S2 S1C2 C1

C2 −S2 0

C3 −S3 0

S3 C3 0

0 0 1

=

C1S2C3 + C1C2S3 −C1S2S3 + C1C2C3 −S1

S1S2C3 + S1C2S3 −S1S2S3 + S1C2C3 C1

C2C3 − S2S3 −C2S3 − S2C3 0

=

C1S23 C1C23 −S1

S1S23 S1C23 C1

C23 −S23 0

(3.42)

W RH(q1, q2, q3) = W R3(q1, q2, q3)3RH

=

C1S23 C1C23 −S1

S1S23 S1C23 C1

C23 −S23 0

0 0 1

1 0 0

0 1 0

=

C1C23 −S1 C1S23

S1C23 C1 S1S23

−S23 0 C23

(3.43)

と求めることができる.ただし,C23 = cos(q2 + q3),S23 = sin(q2 + q3)である.

3.5 ハンド位置の記述

ΣW で表わされたハンドの位置ベクトルW rH は,qの関数であり,

W rH(q) = W rW,1 +W r1,2(q1) + · · ·+W rn−1,n(q1, q2, · · · , qn−1) +W rn,H(q1, q2, · · · , qn) (3.44)

と表わされる.ΣW の原点からΣ1の原点へのベクトルW rW,1は q1に無関係であ

り,常に定数となる. 注意すべきことは,ベクトルの加減算は,それを表わしてい

る座標系が同じであるとき意味を持つことである.上式では,すべてのベクトル

がΣW を規準に表わされている.ここで,姿勢変換行列W Ri(q1, q2, · · · , qi)を用

いて W rW,1,W r1,2(q1), · · · を求めてみる.

W rW,1 = W rW,1 (一定)

W r1,2(q1) = W R1(q1)1r1,2

W r2,3(q1, q2) = W R2(q1, q2)2r2,3 = W R1(q1)

1R2(q2)2r2,3

· · ·W rn,H(q1, q2, · · · , qn) = W Rn(q1, q2, · · · , qn) nrn,H

= W R1(q1)1R2(q2) · · · n−1Rn(qn) nrn,H (3.45)

18

Page 20: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

以上を用いると,式 (3.44)は,

W rH(q) = W rW,1 + W R1(q1)1r1,2 +W R2(q1, q2)

2r2,3

+ · · · + W Rn(q1, q2, · · · , qn) nrn,H

= W rW,1 + W R1(q1)1r1,2 + W R1(q1)

1R2(q2)2r2,3

+ · · · + W R1(q1)1R2(q2) · · · n−1Rn(qn) nrn,H (3.46)

と表わされる.

例3-3図 3.9に示す 3リンクマニピュレータのハンドの位置ベクトル W rH(q1, q2, q3)

を求めてみよう.ΣW とΣ1の原点間の距離は零であるから,

W rW,1 = [0, 0, 0]T (3.47)

リンク 1の長さは l1であるから1r1,2 = [0, 0, l1]

T であり,これより

W r1,2(q1) =

C1 −S1 0

S1 C1 0

0 0 1

0

0

l1

=

0

0

l1

(3.48)

となり,W r1,2は q1の関数とならず定数ベクトルとなる.これはΣ2の原点がリ

ンク 1の回転ベクトル W z1の延長線上にあることから当然である.

次に,W r2,3(q1, q2)を求めてみよう.2r2,3 = [l2, 0, 0]T であることから,

W r2,3(q1, q2) = W R2(q1, q2)2r2,3

=

C1S2 C1C2 −S1

S1S2 S1C2 C1

C2 −S2 0

l20

0

=

l2C1S2

l2S1S2

l2C2

(3.49)

と表わすことができる.W r3,H については,

W r3,H(q1, q2, q3) = W R3(q1, q2, q3)3r3,H

=

C1S23 C1C23 −S1

S1S23 S1C23 C1

C23 −S23 0

l30

0

=

l3C1S23

l3S1S23

l3C23

(3.50)

となる.

以上をまとめると,

W rH(q) =

0

0

l1

+

l2C1S2

l2S1S2

l2C2

+

l3C1S23

l3S1S23

l3C23

=

l2C1S2 + l3C1S23

l2S1S2 + l3S1S23

l1 + l2C2 + l3C23

(3.51)

が得られる.

19

Page 21: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

3.6 同次変換行列

ハンドに取り付けた座標系ΣH の姿勢W RH(q)は,式 (3.31)で表され,ハン

ドの位置ベクトル W rH(q)は,式 (3.46)で表わされることがわかった.ここで,

位置と姿勢を同時に表わすことを考える.リンク 1の姿勢 W R1(q1)とリンク1

の座標つまりΣ1の原点の位置ベクトルW r1をまとめて,

W T 1(q1) =

[W R1(q1)

W r1

0 0 0 1

](3.52)

と表わす.この座標変換行列と位置ベクトルを並べた上の行列は同次変換行列と

呼ばれている.リンク 2について,W R2とW r2は,

W R2 = W R1(q1)1R2(q2)

W r2 = W rw,1 + W R1(q1)1r1,2

}(3.53)

と 2つの式を用いて表わしていたが,これを同次変換行列で表わせば,

W T 2(q1, q2) =

[W R2(q1, q2)

W r2

0 0 0 1

]

=

[W R1(q1)

1R2(q2)W rW,1 + W R1(q1)

1r1,2

0 0 0 1

]

=

[W R1(q1)

W rW,1

0 0 0 1

][1R2(q2)

1r1,2

0 0 0 1

]

= W T 1(q1)1T 2(q2) (3.54)

と分解することができる.3リンク目について考えてみよう.

W R3 = W R1(q1)1R2(q2)

2R3(q3)W r3 = W rW,1 + W R1(q1)

1r1,2 + W R1(q1)1R2(q2)

2r2,3

}(3.55)

は,

W T 3(q1, q2, q3) =

[W R3(q1, q2, q3)

W r3

0 0 0 1

]

=

[W R1(q1)

1R2(q2)2R3(q3)

W r1 + W R1(q1)1r1,2 + W R1(q1)

1R2(q2)2r2,3

0 0 0 1

]

=

[W R1(q1)

W rW,1

0 0 0 1

][1R2(q2)

1r1,2

0 0 0 1

][2R3(q3)

2r2,3

0 0 0 1

]

= W T 1(q1)1T 2(q2)

2T 3(q3) (3.56)

と表わされる.W T 3としてまとめられたリンクの位置・姿勢がW T 1,

1T 2,2T 3

の積として簡潔にまとめられていることがわかる.つまり同次変換行列は,位置

と姿勢の変化を同時に表現することができる便利な表現方法なのである.この手

法のメリットは,3リンクマニピュレータではあまり意識できないが,6リンク

以上のマニピュレータの運動学計算を行うときは,その単純な表現は,運動学関

係の整理に役立つ.

20

Page 22: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

例3-4例 3-2と例 3-3の結果を同次変換行列を用いて同時に求めてみよう.

W T H(q1, q2, q3) = W T 1(q1)1T 2(q2)

2T 3(q3)3T H

=

C1 −S1 0 0

S1 C1 0 0

0 0 1 0

0 0 0 1

S2 C2 0 0

0 0 1 0

C2 −S2 0 l10 0 0 1

C3 −S3 0 l2S3 C3 0 0

0 0 1 0

0 0 0 1

0 0 1 l31 0 0 0

0 1 0 0

0 0 0 1

=

C1C23 −S1 C1S23 l2C1S2 + l3C1S23

S1C23 C1 S1S23 l2S1S2 + l3S1S23

−S23 0 C23 l1 + l2C2 + l3C23

0 0 0 1

(3.57)

 以上の結果が式 (3.43)の W RH と式 (3.51)の W rH を含んでいることから,ハ

ンドの姿勢と位置が同時に求められていることがわかる.

3.7 同次変換行列の性質

第一の性質同次変換行列の性質として第一に位置ベクトルの座標変換についてのべる.式

(3.56)より直ちに[

W R3(q1, q2, q3)W r3

0 0 0 1

]= W T 1(q1)

1T 2(q2)

[2R3(q3)

2r2,3

0 0 0 1

](3.58)

を得る.さらに上式より第 4列のみの関係を抜きを出すと,[

W r3

1

]= W T 1(q1)

1T 2(q2)

[2r2,3

1

]

= W T 2(q1, q2)

[2r2,3

1

](3.59)

が成り立っている.上式はΣW からΣ2までの位置・姿勢関係をW T 2で表わし,

さらにΣ2を規準にベクトル2r2,3が伸びたときの先端の位置ベクトルをΣW で

表現したものとなっている.同様に例 3-4より,[

W rH

1

]= W T 3(q1, q2, q3)

[3r3,H

1

](3.60)

が成り立つ.以上より同次変換行列は,座標変換と位置ベクトルの加算を同時に

行っていることがわかる.

21

Page 23: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

第二の性質第二に同次変換行列の部分行列である座標変換行列は,式 (3.21)で表わしたよ

うに常に正則であり逆行列は常に存在する.また,同次変換行列の第 4列は,(4,4)

要素に 1があることにより,1~3列に対して常に独立であるから,同次変換行列

も常に正則である.この特徴は後に述べる逆運動学の解を得るときに役に立つ.

同次変換行列 T を

T =

[x y z r

0 0 0 1

]=

[R r

0 0 0 1

](3.61)

と定義すると,T−1は,

T−1 =

xT −rT x

yT −rT y

zT −rT z

0 0 0 1

=

−rT x

RT −rT y

−rT z

0 0 0 1

(3.62)

と表わさせる.確認のために,

T−1T =

−rT x

RT −rT y

−rT z

0 0 0 1

[R r

0 0 0 1

](3.63)

を計算してみる.ここで

RT r =

xT

yT

zT

r =

xT r

yT r

zT r

=

rT x

rT y

rT z

(3.64)

となることを考えて,式 (3.7),(3.8)と式 (3.64)より

T−1T =

xT r − rT x

RT R yT r − rT y

zT r − rT z

0 0 0 1

= I4 (3.65)

であることがわかる.

また, TT−1 = I4の確認については, rT x, rT y, rT zがスカラーであり,xT r = rT x

であることを用いている.

22

Page 24: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

TT−1 =

[R r

0 0 0 1

]

−rT x

RT −rT y

−rT z

0 0 0 1

=

RRT R

−rT x

−rT y

−rT z

+ r

0 0 0 1

=

I3 R

−xT r

−yT r

−zT r

+ r

0 0 0 1

=

I3 R

−xT

−yT

−zT

r + r

0 0 0 1

=

[I3 −RRT r + r

0 0 0 1

]

=

0

I3 0

0

0 0 0 1

= I4 (3.66)

第三の性質第三に同次変換行列の逆行列の意味について考えるために,同次変換行列につ

いてもう少し考えてみる.ここで,ΣW で規定された 3次元空間内に物体があり,

その物体にΣAが固定されている状態について考える.

ΣW の原点よりΣAの原点への位置ベクトルをΣW で表現したものをW rW,Aと

表わす.ΣW をW rW,Aだけ平行移動すると,その原点はΣAの原点と一致する.

この同次変換行列を Trans( W rW,A)と表記することにすると、これは,

Trans( W rW,A) =

[I3

W rW,A

0 0 0 1

](3.67)

と表わされる.

次に,移動したΣW の z軸方向に φ回転し,回転後の座標系の y軸方向回りに

θ,さらに新たな z軸回りに ψ回転したときの各座標軸がΣAと完全に一致した

場合を考える.この様子を図 3.10に示す.これらの 3つの回転を,3× 3行列行列

で表わした回転変換は,式 (3.12)~(3.14)で与えられるが,ここでは,これらを

改めて同次変換行列で定義し,それぞれ TRot(z, φ),TRot(y, θ),TRot(z, ψ)

23

Page 25: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

h:

h$: U:�$h: �

図 3.10:

x

z

y�軸回りに-90度回転ー �軸回りに-90度回転

z

yx

Wz2

Wy2

Wx2

Wx1

Wz1

Wy1

��だけ並進

図1.4に記述

されている∑ と� ∑ の�関係と一致

P1

Wx1

Wz1

Wy1P1

図 3.11:

と表わす.すなわち,

TRot(z, φ) =

Cφ −Sφ 0 0

Sφ Cφ 0 0

0 0 1 0

0 0 0 1

(3.68)

TRot(y, θ) =

Cθ 0 Sθ 0

0 1 0 0

−Sθ 0 Cθ 0

0 0 0 1

(3.69)

TRot(z, ψ) =

Cψ −Sψ 0 0

Sψ Cψ 0 0

0 0 1 0

0 0 0 1

(3.70)

と表される.ΣW からΣAへの位置と姿勢の変化を表現する同次変換行列をW T A

で表すと,それはW rW,A, φ, θ, ψの関数となっているからW T A(W rW,A, φ, θ, ψ)と

表わされ,

W T A(W rW,A, φ, θ, ψ) = Trans( W rW,A)TRot(z, φ)TRot(y, θ)TRot(z, ψ)(3.71)

と表される.つまり,W T Aを求めるには,ΣW からΣAへの座標系の移動を個別

に表現し,それぞれを移動の順序に従って積算していけば求められるのである.

例3-5

24

Page 26: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

x

z

y

�軸回りに+90度回転+ �軸回りに+90度回転

z

y

x

WzH

WyH

WxHWx3

Wz3

Wy3

��だけ並進

図1.4に記述

されている∑ と� ∑ の�関係と一致

P3

Wx3

Wz3Wy3

P3

+

図 3.12:

例 3-4で求めた W T H(q1, q2, q3)を上の考え方でもう一度考えてみる.図 3.9より

W T 1(q1) = TRot(z, q1) =

C1 −S1 0 0

S1 C1 0 0

0 0 1 0

0 0 0 1

(3.72)

である.1T 2(q2)は,q2 = 0のとき図 3.11に示す順序でΣ1がΣ2に一致するから

式 (3.68)~(3.70)を用いると,

1T 2(q2) = Trans(z, l1) TRot(x,−90◦) TRot(z,−90◦) TRot(z, q2)

=

1 0 0 0

0 1 0 0

0 0 1 l10 0 0 1

1 0 0 0

0 C−90 −S−90 0

0 S−90 C−90 0

0 0 0 1

C−90 −S−90 0 0

S−90 C−90 0 0

0 0 1 0

0 0 0 1

C2 −S2 0 0

S2 C2 0 0

0 0 1 0

0 0 0 1

=

1 0 0 0

0 1 0 0

0 0 1 l10 0 0 1

1 0 0 0

0 0 1 0

0 −1 0 0

0 0 0 1

0 1 0 0

−1 0 0 0

0 0 1 0

0 0 0 1

C2 −S2 0 0

S2 C2 0 0

0 0 1 0

0 0 0 1

=

S2 C2 0 0

0 0 1 0

C2 −S2 0 l10 0 0 1

(3.73)

となり例 3-4の中に記述されている 1T 2(q2)と一致する.次に図 3.9より z2の原

点をその x軸方向に l2移動すると,Σ2とΣ3の座標軸の初期状態は一致すること

25

Page 27: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

から,

2T 3(q3) = Trans(x, l2) TRot(z, q3)

=

1 0 0 l20 1 0 0

0 0 1 0

0 0 0 1

C3 −S3 0 0

S3 C3 0 0

0 0 1 0

0 0 0 1

=

C3 −S3 0 l2S3 C3 0 0

0 0 1 0

0 0 0 1

(3.74)

となり,これも例 3-4の中に記述されている 2T 3(q3)と一致する.

最後に 3T H については,図 3.12に示すとおり,

3T H = Trans(x, l3) TRot(y, 90◦) TRot(z, 90◦)

=

1 0 0 l30 1 0 0

0 0 1 0

0 0 0 1

C90 0 S90 0

0 1 0 0

−S90 0 C90 0

0 0 0 1

C90 −S90 0 0

S90 C90 0 0

0 0 1 0

0 0 0 1

=

1 0 0 l30 1 0 0

0 0 1 0

0 0 0 1

0 0 1 0

0 1 0 0

−1 0 0 0

0 0 0 1

0 −1 0 0

1 0 0 0

0 0 1 0

0 0 0 1

=

0 0 1 l31 0 0 0

0 1 0 0

0 0 0 1

(3.75)

となり,これも一致する.従ってW T H(q1, q2, q3)も一致する.以上の確認により,W T H が座標系の並進移動と回転移動を順次積算していくことで求められること

がわかる.

次にW T A(W rW,A, φ, θ, ψ)の逆行列の意味について考える.W T Aは常に正則で

あることから,

W T−1A (W rW,A, φ, θ, ψ)

=[

Trans(W rW,A) TRot(z, φ) TRot(y, θ) TRot(z, ψ)]−1

= TRot−1(z, ψ)TRot−1(y, θ)TRot−1(z, φ)Trans−1(W rW,A) (3.76)

となる.ここで,TRot−1(z, ψ)について考えてみる.式 (3.62),(3.72)より

TRot−1(z, ψ) =

Cψ Sψ 0 0

−Sψ Cψ 0 0

0 0 1 0

0 0 0 1

=

C−ψ −S−ψ 0 0

S−ψ C−ψ 0 0

0 0 1 0

0 0 0 1

= TRot(z,−ψ)  (3.77)

26

Page 28: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

となり,回転に関する同次変換行列の逆行列は,回転方向を逆にした変換である

ことがわかる.同様に

TRot−1(y, θ) = TRot(y,−θ) (3.78)

TRot−1(z, φ) = TRot(z,−φ)  (3.79)

となる.次に Trans−1(W rW,A)については,式 (3.62)より

Trans−1(W rW,A) =

[I3

W rW,A

0 0 0 1

]−1

=

1 0 0 −W rTW,A[ 1 0 0]T

0 1 0 −W rTW,A[ 0 1 0]T

0 0 1 −W rTW,A[ 0 0 1]T

0 0 0 1

=

[I3 −W rW,A

0 0 0 1

]

= Trans(−W rW,A) (3.80)

となることから,並進についての逆行列も逆方向の並進を意味することがわかる.

以上より式 (3.76)は,

W T−1A (W rW,A, φ, θ, ψ)

= TRot(z,−ψ)TRot(y,−θ)TRot(z,−φ)Trans(−W rW,A)  (3.81)

と表わされ,同次変換行列が座標の移動を意味するということから,上の式 (3.81)

は∑

Aから∑

W への逆の変換を意味している.以上のことから

W T−1A = AT W  (3.82)

が成り立つことがわかる.さらに上式より

W T AAT W = I4  (3.83)

となることがわかる.

3.8 逆運動学の解

3リンクマニピュレータの順運動学関係は,式 (3.51)より

W rH(q) =

l2C1S2 + l3C1C23

l2S1S2 + l3S1S23

l1 − l2C2 − l3S23

(3.84)

と求められている.逆運動学はW rHとしてある目標位置W rHd = [W xHd,

W yHd,W zHd]

T

が指定されたとき,これを実現する q = [q1, q2, q3]T を求めることである.このと

き上式より直接逆関数を求めることは見通しがつきにくいという意味で得策では

なく,次のような同次変換行列を用いた方法がより解を得る目処を立てやすい.

27

Page 29: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

上式の問題は,式 (3.60)より[

W rHd

1

]= W T 1(q1)

1T 2(q2)2T 3(q3)

[3r3,H

1

](3.85)

と表わすことができる.ここで W rHd,3rH は定数ベクトルである.同次変換行

列は正則であることより上式は

W T−11 (q1)

[W rHd

1

]= 1T 2(q2)

2T 3(q3)

[3r3,H

1

](3.86)

であり,式 (3.62)より

W T−11 (q1) =

C1 S1 0 0

−S1 C1 0 0

0 0 1 0

0 0 0 1

(3.87)

が求められ,さらに式 (3.73),(3.74)より

1T 2(q2)2T 3(q3) =

S2 C2 0 0

0 0 1 0

C2 −S2 0 l10 0 0 1

C3 −S3 0 l2S3 C3 0 0

0 0 1 0

0 0 0 1

=

S2C3 + C2S3 −S2S3 + C2C3 0 l2S2

0 0 1 0

C2C3 − S2S3 −C2S3 − S2C3 0 l1 + l2C2

0 0 0 1

=

S23 C23 0 l2S2

0 0 1 0

C23 −S23 0 l1 + l2C2

0 0 0 1

(3.88)

と求めることができる.さらに 3r3,H =[

l3 0 0]T

であることより,式 (3.86)

は,

C1 S1 0 0

−S1 C1 0 0

0 0 1 0

0 0 0 1

W xHd

W yHd

W zHd

1

=

S23 C23 0 l2S2

0 0 1 0

C23 −S23 0 l1 + l2C2

0 0 0 1

l30

0

1

(3.89)

となる.上式は4つの方程式を意味するが,行列の第4行とベクトルの積は 1 = 1

となり意味を持たない.その他の関係は,

W xHdC1 + W yHdS1 = l3S23 + l2S2 (3.90)

−W xHdS1 + W yHdC1 = 0 (3.91)

28

Page 30: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

D � �� E ! � D ! �� E ! �

D ! �� E � �D � �� E � �

DUJ�E� MD�D

E

図 3.13:

W zHd = l1 + l2C2 + l3C23 (3.92)

となる.まず q1の解を求めよう.式 (3.91)より

tan q1 =W yHd

W xHd

(3.93)

となり,

q1 = tan−1

(W yHd

W xHd

)(3.94)

ここで,y = tan θという関数について考える.tan θは周期 πの関数であるため,

逆関数

θ = tan−1 y (3.95)

は,−π ≤ θ < πの間で解を2つ持ち一意に定まらない.従って式 (3.95)の解も

一意に定まらず都合が悪い.この点を解決するために tan−1を一意に与える関数

atan2が考えられた.atan2は,

atan2(b, a) = arg(a + jb) (3.96)

と定義され,jは虚数単位,argは複素数の偏角を表す.この関数のアイデアは,

a, bそれぞれの符号を残したまま逆関数を作ることで図 3.13に示すように解が存

在する領域を第1象限から第4象限の中で決定し,逆関数の任意性を取り除いた

ことである.ただし,a = b = 0となるときは tan−1の値は一意に定まらず,この

場合のみ複数の解が存在することになる.ここで注意したいことは,atan2(b, a)

の bは y座標を表し,aは x座標を表すことである.通常座標を,(x, y)と表記す

る慣習とは異なっている.関数 atan2は,プログラミングでよく使われるC言語

でもサポートされている.

さて,atan2を用いて q1の解を一意に解くために,式 (3.93)を

tan q1 =+ W yHd

+ W xHd

(3.97)

29

Page 31: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

D ! �

E � �D ! �

E ! �

E � �D � �

E ! �D � �

{

{�b{b{

�t

WDQt

図 3.14:

[: U[+G

: U\+G

h:図 3.15:

と表現する.atan2を用いると q1は,

q1 = atan2(+ W yHd, +W xHd) (3.98)

と求められる.

次に,q1が決定されたので,式 (3.90)左辺はある定数となり

W xHdC1 + W yHdS1 = k1 (3.99)

とおく.式 (3.90)の両辺を 2乗したものと,式 (3.92)の右辺の l1を左辺に移動し

たときの両辺を 2乗して,それぞれ加えると,

k12 + ( W zHd − l1)

2 = l22 + l3

2 + 2l2l3C3 (3.100)

が求められる.ここで,

k12 + ( W zHd − l1)

2 = k2 (3.101)

とおくと,

2l2l3C3 = k2 − l22 − l3

2 (3.102)

30

Page 32: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

T�N� b O�� b O��

T�O��O�� b �N� b O�� b O����

�O�O�

図 3.16:

となる.さらにピタゴラスの定理を用いる.

2l2l3S3 =√

4l22l23 − (k2 − l22 − l23)

2 (3.103)

が得られることから,

q3 = atan2(

√4l2

2l32 − (k2 − l2

2 − l32), k2 − l2

2 − l32) (3.104)

より q3が定まる.

q2については,式 (3.90)~(3.92)では見通しが悪いので,式 (3.85)より

W T−12 (q1, q2)

[W rHd

1

]= 2T 3(q3)

[3rH

1

](3.105)

を求めてみる.式 (3.57)より,

W T 2(q1, q2) =

C1S2 C1C2 −S1 0

S1S2 S1C2 C1 0

C2 −S2 0 l10 0 0 1

(3.106)

W T 2(q1, q2)を求め,式 (3.86)を用いることにより,式 (3.105)は,

C1S2 S1S2 C2 −l1C2

C1C2 S1C2 −S2 l1S2

−S1 C1 0 0

0 0 0 1

W xHd

W yHd

W zHd

1

=

C3 −S3 0 l2S3 C3 0 0

0 0 1 0

0 0 0 1

l30

0

1

(3.107)

これより,

W xHdC1S2 +W yHdS1S2 +W zHdC2 − l1C2 = l3C3 + l2 (3.108)

W xHdC1C2 +W yHdS1C2 −W zHdS2 + l1S2 = l3S3 (3.109)

−W xHdS1 +W yHdC1 = 0 (3.110)

が求められる.式 (3.110)は,式 (3.91)と一致しているので新たな情報ではない.

式 (3.108),(3.109)は,式 (3.99)の k1を用いることで,

k1S2 − (l1 −W zHd)C2 = l2 + l3C3 (3.111)

k1C2 + (l1 −W zHd)S2 = l3S3 (3.112)

31

Page 33: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

h:

\

[

h:[

]

O

OO

T�

T�

T�

T�

S�O図 3.17:

これをまとめると,[

k1 −(l1 −W zHd)

l1 −W zHd k1

][S2

C2

]=

[l2 + l3C3

l3S3

]

(3.113)

となり,よって,[

S2

C2

]=

1

k21 + (l1 −W zHd)2

[k1 −(l1 −W zHd)

(l1 −W zHd) k1

][l2 + l3C3

l3S3

](3.114)

となる,S2,C2の解は,

{k21 + (l1 −W zHd)

2}S2 = k1(l2 + l3C3) − (l1 −W zHd)l3S3 (3.115)

{k21 + (l1 −W zHd)

2}C2 = k1l3S3 + (l1 −W zHd)(l2 + l3C3) (3.116)

と求められる.これより

q2 = atan2(k1(l2 + l3C3) − (l1 −W zHd)l3S3,

k1l3S3 + (l1 −W zHd)(l2 + l3C3)) (3.117)

となる.

例3-6逆運動学の解,式 (3.98),(3.104),(3.117)が正しく解かれていることを確認しよ

う.ここで,−π ≤ q1, q2, q3 ≤ πと l1 = l2 = l3 = lを仮定し W rHdを図 3.17に示

すように W rHd = [√

2l, 0, l] と与える.このときの解は q = [0, π/4, π/2] または,

[0, 3π/4,−π/2] となることは容易に解かる.

32

Page 34: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

まず式 (3.98)より q1を求めよう.

q1 = atan2(0,√

2l)

= 0,−π (3.118)

2つの解が存在するが−πは W rHdを実現するとき無駄な動き,つまり図 3.4に

おいての方向をロボットの正面と考えるとき,反転して背を向けた状態からハン

ドを降ろす形で,ここでは除いて考える.よって

q1 = 0 (3.119)

と求める.次に q3を求める.式 (3.99)より k1 =W xHd =√

2l,式 (3.101)より

k2 = k21 = 2l2と求められるから,式 (3.104)より q2は

q3 = atan2(2l2, 0)

= ±π

2(3.120)

と求まる.この2つの解は,図 3.17より上腕姿勢と下腕姿勢の2つの解に対応し

ており,2つとも意味を持つ.

q2については q3 = π/2のとき,式 (3.95)より

q2 = atan2(√

2l2,√

2l2) =π

4(3.121)

また,q3 = −π/2のとき,

q2 = atan2(−√

2l2,√

2l2) =3π

4(3.122)

となり,図 3.17の上腕,下腕姿勢に対応していることがわかる.

33

Page 35: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

第 4章

3リンクマニピュレータの

ラグランジュ解法

4.1 運動エネルギー

4.1.1 並進運動エネルギー図 4.1に示すように,質量miのリンク iの重心が速度 vgi(g:重心)で運動してい

る状態を考える.このときの並進運動エネルギーは

Tti =1

2mivgi

2 (4.1)

と表わされる (t:並進 translation).ところで,ロボットの場合,vgiの方向と大き

さはロボットの運動により時々刻々変化する.したがって,vgiをロボットの運動

と関連付けて記述する必要がある.まず,ΣW で表わされたベクトル量として,

W vgi = [W vgxi,W vgyi,

W vgzi]T (4.2)

を定義すると

∣∣ W vgi

∣∣ = vgi =

√W vgxi

2 + W vgyi2 + W vgzi

2 (4.3)

と表わされる.図 4.2にW vgiをΣW で表わしたときのW vgiの要素の意味を示す.

vgi2 = W vgxi

2+ W vgyi

2+ W vgzi

2であることと,vgi

2は vgi2 = W vgi

T W vgi とベク

トルの内積によって表わされることから,式 (4.1)は,

Tti =1

2mi

W vgiT W vgi (4.4)

と表わすことができる.さらに,リンク iの重心の位置ベクトルをW rgi = [W xgi,

W ygi,W zgi]

Tとすると,図4.3に示すようにW vgi =d

dtW rgi =W rgi = [W xgi,

W ygi,W zgi]

T と表わされることから,式 (4.4)は

Tti =1

2mi

W rgiT W rgi (4.5)

と書き改められる.以上により,第 iリンクの並進運動エネルギー Ttiが,ΣW を

規準にしたリンク iの重心の速度ベクトルW rgiを用いて求められることが分かっ

たが,W rgiをどのようにして求めるかについて次に述べる.

34

Page 36: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

P

�æ�ï�«LY !

図 4.1:

h

[

\

]

Y !"

Y #"

Y $"Y

"

!"

�æ�ï�«

図 4.2:

4.1.2 重心の速度ベクトル第 iリンクにはリンク座標系Σiが固定されている.Σiを規準にしたリンク iの

重心の位置ベクトルを iri,giと表わす.重心はΣi上では動かないのでiri,giは定数

ベクトルとなる.

Σiの原点の位置ベクトルをW riと表わすとき,

W rgiは式 (3.5)より,

W rgi =W ri +W Riiri,gi (4.6)

と表わされる.この関係を図 4.4に示す.上式を時間で微分すると

W rgi =W ri +W Riiri,gi +W Ri

iri,gi (4.7)

となる.iri,giが定数ベクトルであることにより,iri,gi = 0となることから

W rgi =W ri +W Riiri,gi (4.8)

と簡単になる.右辺の W riはリンク iの原点の並進運動を表わし,W RiはΣiの

回転運動を表わす.ここで,W Riについて考えてみる.W Riは式 (3.6)で表わさ

れるから,

W Ri = [W xi,W yi,

W zi] (4.9)

となる.リンク iの回転角速度ベクトルを W ωiと表わすとき,W ωiによって発

生するΣiの各座標軸単位ベクトルの先端に発生する速度すなわちW xi,

W yi,W zi

は,

W xi = W ωi×W xi (4.10)

W yi = W ωi×W yi (4.11)

W zi = W ωi×W zi (4.12)

35

Page 37: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

h

U!"

Y!"

BU!"

�æ�ï�«

図 4.3:

h

[!

]!

\!

h

�æ�ï�«

U!

U!"

"

U"#!"

図 4.4:

と表わされるから,式 (4.7)は,

W rgi =W ri + [W ωi×W xi,

W ωi×W yi,

W ωi×W zi]

iri,gi (4.13)

となる.付録1の説明より,上式は,

W rgi = W ri +W ωi× [W xi,W yi,

W zi]iri,gi

= W ri +W ωi×W Ri

iri,gi (4.14)

と変形され,iri,gi はリンク毎に測定することができるから既知である.したがっ

て,リンク iの原点の速度ベクトルW riとリンク iの回転角速度ベクトルW ωiが

明らかになれば,W rgiが求まる.

4.1.3 リンク回転角速度ベクトルリンク iの回転角速度ベクトルW ωiの算出方法について述べる.Σi(i = 1, 2, · · · , n)

の回転運動はすべてΣiの z軸回りとなるようにΣiを取りつけた.このメリットは,

Σiを規準にした回転方向単位ベクトルがW ziで表されることである.1, 2, · · · , i

リンクは W zi方向にそれぞれの角速度 q1, q2, · · · , qnで回転するから,W ωiは,

W ωi =W z1q1 +W z2q2 + · · · +W ziqi (4.15)

と表わされる.Σiを規準にW ziの方向を表わすと,iに関わらず [0, 0, 1]Tである.こ

の単純さを得るためにΣiのz軸を回転軸と一致させて設定したことを思い出して頂

きたい.[0, 0, qi]T = [0, 0, 1]T qi = iqiであり,

W zi qi = [ W xi,W yi,

W zi][0, 0, 1]T qi

36

Page 38: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

W

i

�iW

x

y

zW W

W

i i

i

zWi

yWi

xWi

図 4.5:

であるから,上式は,

W ωi =[

W x1,W y1,

W z1

]

0

0

1

q1 

+[

W x2,W y2,

W z2

]

0

0

1

q2

+ · · · +[

W xi,W yi,

W zi

]

0

0

1

qi

= W R11q1 +W R2

2q2 + · · · +W Ri−1i−1qi−1 +W Ri

iqi (4.16)

と表わされる.同じ考え方で,

W ωi−1 = W R11q1 + W R2

2q2 + · · · + W Ri−1i−1qi−1 (4.17)

と表わされるから,式 (4.16),(4.17)より,W ωiが

W ωi =W ωi−1 +W Riiqi (4.18)

と漸化式で表わされることがわかる.

例4-1図 3.9に示す3リンクマニピュレータについて,W ω1,

W ω2,W ω3を求めてみ

よう.式 (4.18)で i = 1とすると,

W ω1 = W ω0 + W R11q1 (4.19)

となる.W ω0はW ωW を意味するので

W ω0 = 0であるから,式 (4.18)より

W ω1 =

C1 −S1 0

S1 C1 0

0 0 1

0

0

q1

=

0

0

q1

(4.20)

37

Page 39: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

W

i-1

i

zWi

xWi

yWi

zWi-1

xWi-1

yWi-1W

i-1

W

i

ÂË�i

ÂË�i-1

r

r

図 4.6:

と求まる.i = 2のとき,式 (4.18)より

W ω2 = W ω1 + W R22q2

=

0

0

q1

+

C1S2 C1C2 −S1

S1S2 S1C2 C1

C2 −S2 0

0

0

q2

=

−S1q2

C1q2

q1

(4.21)

i = 3のとき,式 (4.18)より

W ω3 =

−S1q2

C1q2

q1

+

C1S23 C1C23 −S1

S1S23 S1C23 C1

C23 −S23 0

0

0

q3

=

−S1q2 − S1q3

C1q2 + C1q3

q1

(4.22)

と求めることができる.

4.1.4 リンク速度ベクトル図 4.6に示す,Σiの位置ベクトル

W riは式 (3.5)より,

W ri =W ri−1 +W Ri−1i−1ri−1,i (4.23)

と表わされる.ここで i−1ri−1,iはΣi−1を規準に表わしたΣi−1の原点からΣiの原

点までの位置ベクトルであり,定数ベクトルとなる.

このため式 (4.23)の時間微分は,

W ri = W ri−1 + W Ri−1i−1ri−1,i

= W ri−1 + W ωi−1 × {W Ri−1i−1ri−1,i} (4.24)

38

Page 40: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

となり,漸化式で表わされる.W ωi−1は式 (4.18)の漸化式により求められるか

ら,i=1のときの右辺 W r0が定まれば,順にW riを求めることができる.ここ

で W r0はW rW を意味し,ΣW はΣW に対して動かないことより

W r0 = 0とな

る.

例4-2例 4-1と同様に,W r1,

W r2,W r3を求めてみよう.

i = 1のとき,式 (4.24)より,

W r1 = W r0 + W ω0 × {W R00r0,1} (4.25)

ここで,添え字の 0は ΣW を意味するから,W rW = 0, W ωW = 0, W RW =

I3,W rW,1 = 0 (ΣWとΣ1の原点が一致しているから)となり

W r1 = 0 (4.26)

となる.i = 2のとき

W r2 = W r1 + W ω1 × {W R11r1,2}

=

0

0

q1

×

C1 −S1 0

S1 C1 0

0 0 1

0

0

l1

=

0

0

q1

×

0

0

l1

=

0

0

0

(4.27)

となる.Σ2の原点が動かないことは図 4.7よりΣ2の原点がリンク1の駆動軸上

にあることから理解される.

i = 3のとき

W r3 = W r2 + W ω2 × {W R22r2,3}

=

−S1q2

C1q2

q1

×

C1S2 C1C2 −S1

S1S2 S1C2 C1

C2 −S2 0

l20

0

=

−S1q2

C1q2

q1

×

C1S2l2S1S2l2C2l2

=

C1C2l2q2 − S1S2l2q1

C1S2l2q1 + S1C2l2q2

−S2l2q2

(4.28)

と求められる.

以上により,W ri,W ωi,

W Riが定まるから式 (4.24)により W riが求められ,式

(4.14)より W rgiが求められ,式 (4.5)により第 iリンクの並進運動エネルギー Tti

が求められる.

39

Page 41: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

g1 g1

g1

g1

zW

xW

yWg1l

yW

xW

zW�|lÂË�Í

H�

図 4.7:

例4-3Tti(i = 1, 2, 3)と Ttを求めてみよう.

W rg1は,式 (4.8)より

W rg1 = W r1 + W ω1 × {W R11r1,g1} (4.29)

であり,図 4.7より 1r1,g1 = [0, 0, lg1]T と,式 (4.26),(4.20)より,

W rg1 =

0

0

q1

×

C1 −S1 0

S1 C1 0

0 0 1

0

0

lg1

= 0 (4.30)

次に, 2r2,g2 = [lg2, 0, 0]T と,式 (4.21),(4.27)より

W rg2 = W r2 + W ω2 × {W R22r2,g2}

=

−S1q2

C1q2

q1

×

C1S2 C1C2 −S1

S1S2 S1C2 C1

C2 −S2 0

lg2

0

0

=

−S1q2

C1q2

q1

×

C1S2lg2

S1S2lg2

C2lg2

=

C1C2lg2q2 − S1S2lg2q1

C1S2lg2q1 + S1C2lg2q2

−S2lg2q2

(4.31)

ここで W r2,g2はΣW で表したΣ2の原点からリンク 2の重心までの位置ベクトル

40

Page 42: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

である.また, 3r3,g3 = [lg3, 0, 0]T と,式 (4.22),(4.28)より,

W rg3 = W r3 + W ω3 × {W R33r3,g3}

=

C1C2l2q2 − S1S2l2q1

C1S2l2q1 + S1C2l2q2

−S2l2q2

+

−(q2 + q3)S1

(q2 + q3)C1

q1

×

C1S23 C1C23 −S1

S1S23 S1C23 C1

C23 −S23 0

lg3

0

0

=

C1C2l2q2 − S1S2l2q1

C1S2l2q1 + S1C2l2q2

−S2l2q2

+

−(q2 + q3)S1

(q2 + q3)C1

q1

×

C1S23lg3

S1S23lg3

C23lg3

=

C1C2l2q2 − S1S2l2q1

C1S2l2q1 + S1C2l2q2

−S2l2q2

+

(q2 + q3)C1C23lg3 − q1S1S23lg3

q1C1S23lg3 + (q2 + q3)S1C23lg3

−(q2 + q3)S21S23lg3 − (q2 + q3)C

21S23lg3

=

−S1S2l2q1 − S1S23lg3q1 + C1C2l2q2 + (q2 + q3)C1C23lg3

C1S2l2q1 + C1S23lg3q1 + S1C2l2q2 + (q2 + q3)S1C23lg3

−S2l2q2 − (q2 + q3)S23lg3

(4.32)

と求まる.

Tt1, Tt2, Tt3はそれぞれ

Tt1 =1

2m1

W rTg1

W rg1 = 0 (4.33)

Tt2 =1

2m2

W rTg2

W rg2

=1

2m2((C1C2lg2q2 − S1S2lg2q1)

2 + (C1S2lg2q1 + S1C2lg2q2)2 + S2

2 l2g2q

22)

=1

2m2(S

22 l

2g2q

21 + C2

2 l2g2q

22 + S2

2 l2g2q

22)

=1

2m2(S

22 l

2g2q

21 + l2g2q

22) (4.34)

Tt3 =1

2m3

W rTg3

W rg3 (4.35)

の計算については,式が長くなるので,W r3 = [W xg3,W yg3,

W zg3]T を用いて,ま

ず式 (4.34)の x,y,z成分毎に計算する.

W x2g3 = {−S1S2l2q1 − S1S23lg3q1 + C1C2l2q2 + (q2 + q3)C1C23lg3}2

= S21S

22 l

22q

21 + S2

1S223l

2g3q

21 + C2

1C22 l

22q

22 + (q2 + q3)

2C21C

223l

2g3

+2S21S2S23l2lg3q

21 − 2S1C1C2S23lg3l2q1q2 + 2C2

1C2C23lg3l2q2(q2 + q3)

−2S1C1S2C23l2lg3q1(q2 + q3) − 2S1C1S2C2l22q1q2

−2S1C1S23C23l2g3q1(q2 + q3) (4.36)

41

Page 43: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

W y2g3 = {C1S2l2q1 + C1S23lg3q1 + S1C2l2q2 + (q2 + q3)S1C23lg3}2

= C21S

22 l

22q

21 + C2

1S223l

2g3q

21 + S2

1C22 l

22q

22 + (q2 + q3)

2S21C

223l

2g3

+2C21S2S23l2lg3q

21 + 2S1C1C2S23l2lg3q1q2 + 2S2

1C2C23l2lg3q2(q2 + q3)

+2S1C1S2C23l2lg3q1(q2 + q3) + 2S1C1S2C2l22q1q2

+2S1C1S23C23l2g3q1(q2 + q3) (4.37)

W z2g3 = {−S2l2q2 − (q2 + q3)S23lg3}2

= S22 l

22q

22 + (q2 + q3)

2S223l

2g3 + 2S2S23l2lg3q2(q2 + q3) (4.38)

以上より

W rTg3

W rg3 = S22 l

22q

21 + S2

23l2g3q

21 + C2

2 l22q

22 + C2

23l2g3(q2 + q3)

2 + 2S2S23l2lg3q21

+2C2C23l2lg3q2(q2 + q3) + S22 l

22q

22 + S2

23l2g3(q2 + q3)

2

+2S2S23l2lg3q2(q2 + q3)

= (S22 l

22 + 2S2S23l2lg3 + S2

23l2g3)q

21 + l22q

22 + l2g3(q2 + q3)

2

+2(C2C23 + S2S23)l2lg3q2(q2 + q3)

= (S2l2 + S23lg3)2q2

1 + l22q22 + l2g3(q2 + q3)

2

+2(C2C23 + S2S23)l2lg3q2(q2 + q3)

= (S2l2 + S23lg3)2q2

1 + l22q22 + l2g3(q2 + q3)

2 + 2C3l2lg3q2(q2 + q3) (4.39)

と求まるから,

T t3 =1

2m3

W rTg3

W rg3

=1

2m3{(S2l2 + S23lg3)

2q21 + l22q

22 + l2g3(q2 + q3)

2 + 2C3l2lg3q2(q2 + q3)} (4.40)

となる.最後に Ttは,

Tt =3∑

i=1

Tti

=1

2m2(S

22 l

2g2q

21 + l2g2q

22) +

1

2m3{(S2l2 + S23lg3)

2q21

+l22q22 + l2g3(q2 + q3)

2 + 2C3l2lg3q2(q2 + q3)} (4.41)

となる.

4.2 回転運動エネルギー

並進運動エネルギーの計算でΣW を規準座標系を規準にした各リンクの速度ベ

クトル W rgiを用いて計算したように,回転運動エネルギーについても,その角

速度ベクトル及び慣性テンソルをΣW を用いて表わす.第 iリンクの回転エネル

ギ Triは次式により与えられる.

Tri =1

2W ωT

iW I i

W ωi (4.42)

42

Page 44: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

è

X

XXj

ÂË�j

図 4.8:

W wiについては,式 (4.18)より求められることが明らかになっているが,W I i

については次のような問題がある.まず,W I iの定義から話を始める.ある時刻

のリンク iが図 4.8に示す姿勢であったと考える.このリンクの重心へ ΣW を平

行移動した時,次式で与えられる行列がΣW を規準にした慣性テンソルという.

W I i =

W IxxiW Ixyi

W Ixzi

W IxyiW Iyyi

W Iyzi

W IxziW Iyzi

W Izzi

(4.43)

であり,行列の各要素は,

W Ixxi =

∫∫∫( W r2

yi + W r2zi)ρdxdydz (4.44)

W Iyyi =

∫∫∫( W r2

zi + W r2xi)ρdxdydz (4.45)

W Izzi =

∫∫∫( W r2

xi + W r2yi)ρdxdydz (4.46)

W Ixyi = −∫∫∫

W rxiW ryiρdxdydz (4.47)

W Iyzi = −∫∫∫

W ryiW rziρdxdydz (4.48)

W Ixzi = −∫∫∫

W rxiW rziρdxdydz (4.49)

で与えられる.W Ixxi,W Iyyi,

W Izziを慣性モーメント,W Ixyi,

W Iyzi,W Ixziの符号

を反転したものつまり式 (4.47)∼(4.49)の右辺の重積の結果を慣性乗積という.上

式の右辺の重積は,ΣW を規準に表わした第 iリンクの剛体内部の積分を意味す

る.ここで問題となるのは,図 4.9に示すように,時刻 tと t′とでは,リンク iの

位置・姿勢が変化するため,式 (4.44)∼(4.49)のΣW で表わされた三重積分の範囲

が変化してしまい,その結果慣性テンソルの各要素の値も変化してしまうことで

ある.従って,式 (4.43)∼(4.49)の定義に従ってW I iを求め,式 (4.42)により Tri

43

Page 45: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

.cu�

.cu

ÂË�j

図 4.9:

を求めることは困難である.結論から言うと,W I iは式 (4.15)で与えられる座標

変換行列 W Riを用いて

W I i = W RiiI i

W RTi (4.50)

と求めることができる.この理由については付録 2に示している.ここで iI iは∑iと同じ方向を持ち,リンク iの重心に原点を持つ座標系

∑giを規準に現れた

慣性テンソルである.∑

giはリンク iの運動とともに動くから,式 (4.44)∼(4.49)

の積分範囲に変化はなく,iI iは定数行列になる.リンク iの運動によるW I iの変

化は,W Riにより変換されるので,∑

W を規準に直接W I iを求める必要がなく,

上の問題は解決される.特に∑

giがリンク iの慣性主軸と一致する時は,iI iは

対角行列となり,式 (4.47)∼(4.49)の計算は必要ない.

例4-4Tri(i = 1, 2, 3, )を求めた後,Tr =

∑3i=1 Triを求めてみよう.まず,

∑g1,

∑g2,

∑g3

とも各リンクの慣性主軸と一致していることを仮定し,

1I1 =

1Ixx 0 0

0 1Iyy 0

0 0 1Izz

,2 I2 =

2Ixx 0 0

0 2Iyy 0

0 0 2Izz

3I3 =

3Ixx 0 0

0 3Iyy 0

0 0 3Izz

(4.51)

とおく.

Triについて求める.

44

Page 46: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

W I1 = W R11I1

W RT1

=

C1 −S1 0

S1 C1 0

0 0 1

1Ixx 0 0

0 1Iyy 0

0 0 1Izz

C1 −S1 0

S1 C1 0

0 0 1

=

C11Ixx −S1

1Iyy 0

S11Ixx C1

1Iyy 0

0 0 1Izz

C1 S1 0

−S1 C1 0

0 0 1

=

C21

1Ixx + S21

1Iyy C1 S11Ixx − S1 C1

1Iyy 0

C1 S11Ixx − C1 S1

1Iyy S21

1Ixx + C21

1Iyy 0

0 0 1Izz

(4.52)

より

Tr1 =1

2W ωT

1W I1

W ω1

=1

2[ 0, 0, q1]

W I1

0

0

q1

=1

21Izz q2

1 (4.53)

次に,

W I2 = W R22I2

W RT2

=

C1S2 C1C2 −S1

S1S2 S1C2 C1

C2 −S2 0

2Ixx 0 0

0 2Iyy 0

0 0 2Izz

C1S2 S1S2 C2

C1C2 S1C2 −S2

−S1 C1 0

=

C1S22Ixx C1C2

2Iyy −S12Izz

S1S22Ixx S1C2

2Iyy C12Izz

C22Ixx −S2

2Iyy 0

C1S2 S1S2 C2

C1C2 S1C2 −S2

−S1 C1 0

=

C21S

22

2Ixx + C21C

22

2Iyy + S21

2Izz

S1C1S22

2Ixx + S1C1C22

2Iyy − S1C12Izz

C1C2S22

2Ixx − C1S2C22Iyy

S1C1S22

2Ixx + S1C1C22

2Iyy − S1C12Izz

S21S

22

2Ixx + S21C

22

2Iyy + C21

2Izz

S1S2C22Ixx − S1S2C2

2Iyy

C1S2C22Ixx − C1S2C2

2Iyy

S1S2C22Ixx − S1S2C2

2Iyy

C22

2Ixx + S22

2Iyy

4

=

I2(1,1) I2(1,2) I2(1,3)

I2(2,1) I2(2,2) I2(2,3)

I2(3,1) I2(3,2) I2(3,3)

(4.54)

と求まる.こんなやっかいな例題を始めてしまったことを後悔しているがもう遅

い.実は,上のW I2を計算しなくても2I2をそのまま使って Triを求める方法も

45

Page 47: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

あるのだが・・・.本書ではよりわかりやすくなるようにすべてのベクトル,行列

を基準座標系ΣW で表現する努力を試みている.しかし上式のW I2の計算はやっ

かいであり,次のW I3を考えると,もうやめたいくらいである. 気を取り直し

て,Tr2を求める.式 (4.21),(4.54)より

Tr2 =1

2W wT

2W I2

W w2

=1

2

[−S1 q2, C1 q2, q1

]

I2(1,1) I2(1,2) I2(1,3)

I2(2,1) I2(2,2) I2(2,3)

I2(3,1) I2(3,2) I2(3,3)

−S1 q2

C1 q2

q1

=1

2

[−S1 q2, C1 q2, q1

]

−I2(1,1) S1 q2 + I2(1,2) C1 q2 + I2(1,3) q1

−I2(2,1) S1 q2 + I2(2,2) C1 q2 + I2(2,3) q1

−I2(3,1) S1 q2 + I2(3,2) C1 q2 + I2(3,3) q1

=1

2{ I2(1,1) S2

1 q22 − I2(1,2) S1 C1 q2

2 − I2(2,3) S1 q1 q2

−I2(2,1) S1 C1 q22 + I2(2,2) C2

1 q22 + I2(2, 3) C1 q1 q2

−I2(3,1) S1 q1 q2 + I2(3,2) C1 q1 q2 + I2(3,3) q21}

=1

2{ (C2

1 S22

2Ixx + C21 C2

22Iyy + S2

12Izz)S

21 q2

2

−(S1 C1 S22

2Ixx + S1 C1 C22

2Iyy − S1 C21 Izz)S1 C1 q2

2

−(C1 S2 C22Ixx − C1 S2 C2

2Iyy)S1 q1 q2

−(S1 C1 S22

2Ixx + S1 C1 C22

2Iyy − S1 C12Izz)S1 C1, q

22

+(S21 S2

22Ixx + S12 C2

22Iyy + C2

12Izz)C

21 q2

2

+(S1 S2 C22Ixx − S1 S2 C2

2Iyy)C1 q1 q2

−(C1 C2 S22Ixx − C1 S2 C2

2Iyy)S1 q1 q2

+(C22

2Ixx + S22

2Iyy)q21}

=1

2{ 2Izz S2

1 q22 +2 Izz C2

1 q2 + (C21

2Ixx + S22

2Iyy)q21}

=1

2{ 2Izz q2

2 + (C22

2Ixx + S22

2Iyy)q21} (4.55)

と求めることができる.

式 (4.42)に基づく方法では,Tr2の計算でも複雑になることがわかる.したがっ

て3リンク以上のマニピュレータに対しては,式 (4.42)の方法は不可能に近い.

以上より 12

W ωT3

W I3W ω3の計算は手計算で無理であると思われるので以下に

別の方法で行うことを考える.W Riを用いることにより,W ωiとΣiを規準に表

した同じベクトル iωiの関係は

W ωi = W Riiωi (4.56)

と表すことができる.また,付録 2の式 (9.12)より,

W I i = W RiiI i

W RTi (4.57)

46

Page 48: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

が成り立つことから,式 (4.42)に式 (4.56),(4.57)を代入すると,

Tri =1

2W ωT

iW I i

W ωi

=1

2iωT

iW R

T

iW Ri

iI iW R

T

iW Ri

iωi

=1

2iωT

iiI i

iωi (4.58)

と求めることができる.式 (4.62)は iI iが対角行列であることからより計算しや

すい.

例4-5例 4-4と同様の計算を式 (4.58)を用いて行う.

1ω1 = W RT

1W ω1

=

C1 −S1 0

S1 C1 0

0 0 1

0

0

q1

=

0

0

q1

(4.59)

より

Tr1 =1

2

[0 0 q1

]

1Ixx 0 0

0 1Iyy 0

0 0 1Izz

0

0

q1

=

1

21Izz q

21 (4.60)

なり,式 (4.53)と一致する.

2ω2 = W RT

2W ω2

=

C1S2 S1S2 C2

C1C2 S1C2 −S2

−S1 C1 0

−S1q2

C1q2

q1

=

−S1C1S2q2 + S1C1S2q2 + C2q1

−S1C1C2q2 + S1C1C2q2 − S2q1

S21 q2 + C2

1 q2

=

C2q1

−S2q1

q2

(4.61)

より

Tr2 =1

2

[C2q1, −S2q1, q2

]

2Ixx 0 0

0 2Iyy 0

0 0 2Izz

C2q1

−S2q1

q2

=1

2

[c2q1, −S2q1, q2

]

C22Ixx q1

−S22Iyy q1

2Izz q2

=1

2(C2

22Ixx q2

1 + S22

2Iyy q21 + 2Izz q

22)

=1

2{(S2

22Iyy + C2

22Ixx) q2

1 + 2Izz q22} (4.62)

47

Page 49: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

が得られる.これは,式 (4.55)と一致していること,また式 (4.55)の計算量に比

べてより簡単に求まることが分かる.

次に Tr3を求める.3ω3は,式 (4.22)より

3ω3 = W RiT W ω3

=

C1S23 S1S23 C23

C1C23 S1C23 −S23

−S1 C1 0

−(q2 + q3)S1

(q2 + q3)C1

q1

=

−(q2 + q3)S1C1S23 + (q2 + q3)S1C1S23 + C23q1

−(q2 + q3)S1C1S23 + (q2 + q3)S1C1S23 + S23q1

(q2 + q3)S21 + (q2 + q3)C

21

=

C23q1

S23q

q2 + q3

(4.63)

従って Tr3は,

Tr3 =1

23ω3

T 3I33ω3

=1

2

[C23q1, −S23q1, q2 + q3

]

3Ixx 0 0

0 3Iyy 0

0 0 3Izz

C23q1

S23q1

q2 + q3

=1

2

[C23q1, S23q1, q2 + q3

]

3Ixx C23 q1

3Iyy S23q1

3Izz (q2 + q3)

=1

2{3Ixx C2

23 q21 + 3Iyy S2

23 q21 + 3Izz(q2 + q3)

2} (4.64)

と求まる.従って Trは,

Tr =3∑

i=1

Tri

=1

21Izz q2

1 +1

2{(2IxxC

22 + 2IyyS

22)q

21 + 2Izz q

22}

+1

2{(3IxxC

223 + 3IyyS

223)q

21 + 3Izz(q2 + q3)

2} (4.65)

となる.

 最後に運動エネルギー T は,式 (4.41)と (4.65)より

T = Tt + Tr

=1

2m2(S

22 l2g2 q2

1 + l2g2 q22) +

1

2m3{(S2l2 + S23lg3)

2 q21 + l22q

22 + l2g3(q2 + q3)

2

+2C3l2lg3q2(q2 + q3)} +1

21Izz q

21 +

1

2{(2IxxC

22

+2IyyS22) q2

1 +2 Izz q22} +

1

2{(3IxxC

223 + 3IyyS

223)q

21 +3 Izz(q2 + q3)

2} (4.66)

と求められる.

48

Page 50: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式
Page 51: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

4.3.1 運動方程式の導出

最後に運動方程式を求める.リンク 1の運動については,式 (4.66)より

∂T

∂q1

= m2S22 l

2g2q1 + m3(S2l2 + S23lg3)

2q1 + 1Izz q1

+( 2IxxC22 + 2IyyS

22)q1 + ( 3IxxC

223 + 3IyyS

223)q1 (4.73)

d

dt

(∂T

∂q1

)= {m2S

22 l

2g2 + m3(S2l2 + S23lg3)

2

+ 1Izz + 2IxxC22 + 2IyyS

22 + 3IxxC

223 + 3IyyS

223}q1

+2m2S2C2l2g2q1q2

+2m3(S2l2 + S23lg3){C2l2q2 + C23lg3(q2 + q3)}q1 − 2C2S22Ixxq1q2

+2S2C22Iyy q1q2 − 2C23S23

3Ixx(q2 + q3)q1 + 2S23C233Iyy(q2 + q3)q1

= {m2S22 l

2g2 + m3(S2l2 + S23lg3)

2 + 1Izz + 2IxxC22 + 2IyyS

22

+ 3IxxC223 + 3IyyS

223}q1

+{2m2S2C2l2g2 + 2m3(S2l2 + S23lg3)(C2l2 + C23lg3)

−2C2S22Ixx + 2S2C2

2Iyy − 2S23C233Ixx + 2S23C23

3Iyy}q1q2

+{2m3(S2l2 + S23lg3)C23lg3 − 2S23C233Ixx + 2S23C23

3Iyy}q1q3(4.74)

− ∂T

∂q1

= 0 (4.75)

∂U

∂q1

= 0 (4.76)

∂D

∂q1

= D1 q1 (4.77)

以上式 (4.74) ∼ (4.77)を式 (1.6)に代入すると,リンク 1の運動方程式

{m2S22 l

2g2 + m3(S2l2 + S23lg3)

2 +1 Izz

+2IxxC22 +2 IyyS

22 +3 IxxC

223 +3 IyyS

223}q1

+{2m2S2C2l2g2 + 2m3(S2l2 + S23lg3)(C2l2 + C23lg3)

+2S2C2(2Iyy −2 Ixx) + 2S23C23(

3Iyy −3 Ixx)}q1q2

+{2m3(S2l2 + S23lg3)C23lg3 + 2S23C23(3Iyy −3 Ixx)}q1q3

+D1q1 = u1 (4.78)

が求まる.

リンク 2の運動については,

∂T

∂q2

= m2 l2g2 q2 + m3 l22 q2 + m3 l2g3(q2 + q3)

+m3 C3 l2 lg3(q2 + q3) + m3 C3 l2 lg3 q2

+2Izz q2 +3 Izz(q2 + q3) (4.79)

50

Page 52: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

d

dt(∂T

∂q2

) = m2 l2g2 q2 + m3 l22 q2 + m3 l2g3(q2 + q3)

+m3 C3 l2 lg3(q2 + q3) − m3 S3 l2 lg3 (q2 + q3)q3

+m3 C3 l2 lg3 q2 − m3 S3 l2 lg3 q2 q3

+2Izz q2 +3 Izz(q2 + q3)

= (m2 l2g2 + m3 l22 + m3 l2g3 + 2 m3 C3 l2 lg3 +2 Izz +3 Izz)q2

+(m3 lg3 + m3 C3 l2 lg3 +3 Izz)q3

−2 m3 S3 l2 lg3 q2 q3 − m3 S3 l2 lg3 q23 (4.80)

− ∂T

∂q2

= −m2S2C2l2g2q

21 − m3(S2l2 + S23lg3)(C2l2 − C23lg3)q

21

−S2C2(2Iyy −2 Ixx)q

21 − S23C23(

3Iyy −3 Ixx)q21 (4.81)

∂U

∂q2

= m2g(−lg2S2) + m3g(−l2S2 − lg3S23) (4.82)

∂D

∂q2

= D2q2 (4.83)

以上の式 (4.80)∼(4.82)を式 (1.6)に代入するとリンク 2の運動方程式を求めるこ

とができる.

(m2 l2g2 + m3 l22 + m3 l2g3 + 2m3 C3 l2 lg3 + 2Izz + 3Izz) q2

+(m3 lg3 + m3 C3 l2 lg3 + 3Izz) q3 − 2m3 S3 l2 lg3 q2 q3 − m3 S3 l2 lg3 q23

−m2 S2 C2 l2g2 q21 − m3 (S2 l2 + S23 lg3) (C2 l2 + C23 lg3) q2

1

+S2 C2 (2Ixx − 2Iyy) q21 + S23 C23 (3Ixx − 3Iyy) q2

1 − m2 g lg2 S2

−m3 g (l2 S2 + lg3 S23) + D2q2 = u2 (4.84)

リンク 3の運動については,

∂T

∂q3

= m3l2g3(q2 + q3) + m3C3l2lg3q2 +3 Izz(q2 + q3) (4.85)

d

dt(∂T

∂q3

) = m3l2g3(q2 + q3) + m3C3l2lg3q2 − m3S3l2lg3q2q3 +3 Izz(q2 + q3)

= (m3l2g3 + m3C3l2lg3 +3 Izz)q2 + (m3l

2g3 +3 Izz)q3 − m3S3l2lg3q2q3(4.86)

− ∂T

∂q3

= −m3(S2l2 + S23lg3)C23lg3q12 + m3S3l2lg3g2(q2 + q3)

+S23C23(3Ixx − 3Iyy)q1

2 (4.87)

∂U

∂q3

= −m3glg3S23 (4.88)

∂D

∂q3

= D3q3 (4.89)

51

Page 53: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

以上,式 (4.86)~(4.89)を式 (1.6)に代入するとリンク 3の運動方程式

(m3l2g3 + m3C3l2lg3 + 3Izz)q3 + (m3l

2g3 + 3Izz)q3

−m3(S2l2 + S23lg3g12)C23lg3q1

2

+m3S3l2lg3q22

+S23C23(3Ixx − 3Iyy)q1

2

−m3glg3S23 + D3q3 = u3 (4.90)

が得られる.

第 1,2,3リンクの運動方程式,式 (4.78),(4.84),(4.90)をまとめると次式と

なる.

m2S22 l

2g2 + m3(S2l2 + S23lg3)

2

+ 1Izz + 2IxxC22 + 2IyyS

22 0

+ 3IxxC223 + 3IyyS

223

0 m2l2g2 + m3(l

22 + l2g3)

+2m3C3l2lg3 + 2Izz + 3Izz

0 m3l2g3 + m3C3l2lg3 + 3Izz

0

m3l2g3 + m3C3l2lg3 +3 Izz

m3l2g3 + 3Izz

q1

q2

q3

+

0 0 0

−m2S2C2l2g2

−m3(S2l2 + S23lg3)(C2l2 + C23lg3) 0 −m3S3l2lg3

+S2C2(2Ixx − 2Iyy) + S23C23(

3Ixx − 3Iyy)

−m3(S2l2 + S23lg3)C23lg3 m3S3l2lg3 0

+S23C23(3Ixx − 3Iyy)g1

2

q1

q2

q3

+

2m2S2C2l2g2 2m3(S2l2 + S23lg3)C23lg3

+2m3(S2l2 + S23lg3)(C2l2 + C23lg3) 2S23C23(3Iyy − 3Ixx)

+2S2C2(2Iyy − 2Ixx) + 2S23C23(

3Iyy − 3Ixx)

0 0

0 0

0

−2m3S3l2lg3

0

q1q2

q1q3

q2q3

+

0

−m2glg2S2 − m3g(l2S2 + lg3S23)

−m3glg3S23

=

u1

u2

u3

(4.91)

52

Page 54: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

上式を行列式とベクトルを用いた微分方程式で表わすと,q = [q1, q2, q3]T, ˙q =

[q1q2, q2q3, q2q3]T,q = [q1, q2, q3]

T を用いて,

M(q)q + N (q) ˙q + H(q)q + g(q) = u (4.92)

と表わすことができる.ただし,M(q),N (q),H(q)は式 (4.91)の左辺の各行

列を表わす.式 (4.92)の左辺第 1項は慣性力を表わし,M(q)は慣性行列と呼ば

れる.また第 2,3,4項は,それぞれ遠心力,コリオリ力,重力を表わす.

通常の教科書では,第 2第 3項をまとめて

N (q) ˙q + H(q)q = c(q, q) (4.93)

と表わす習慣となっているため,式 (4.92)は,

M(q)q + c(q, q) + g(q) = u (4.94)

と表わすことが多い.

53

Page 55: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

第 5章

2リンクマニピュレータの

ニュートンオイラー解法

5.1 ニュートン・オイラー法

各関節の現在の角度qiと角速度 qi,ある目標加速度 qiが与えられたとする.こ

の時,まずアームの台座部から手先のリンクに向かって順に,各リンクの基準座

標系から見た回転角速度ωi,角加速度 ωi,並進速度 pi,並進加速度 piを計算す

る.次に各リンクがそのような運動をするために外部から質量中心に加えられな

ければならない並進力 f i及び回転モーメント niをニュートンの運動方程式とオ

イラーの運動方程式によって求める.さらに,手先に加わる力が与えられたもの

として手先から台座に向かって順に各関節において加えられるべき力とモーメン

トを算出しこれらをもとに各関節において加えられるべき駆動力の大きさ τ iを

求める.

5.2 2リンクの運動方程式

l1lg1

m1; I1q1

q2lg2l2

m2; I2

Z

Y

X

g

図 5.1: 2link

リンクパラメーターは図 5.1に従う.

54

Page 56: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

5.2.1 準備

0R1 =

cos q1 − sin q1 0

sin q1 cos q1 0

0 0 1

, 1R2 =

cos q2 − sin q2 0

sin q2 cos q2 0

0 0 1

, g =

0

−g

0

0p1 =

0

0

0

, 1p2 =

l10

0

, 2p3 =

l20

0

, 1s1 =

lg1

0

0

, 2s2 =

lg2

0

0

1I1 =

1Ix1 0 0

0 1Iy1 0

0 0 1Iz1

, 2I2 =

2Ix2 0 0

0 2Iy2 0

0 0 2Iz2

終端条件

3f 3 = 0, 3n3 = 0

初期条件

0p0 = −g, 0ω0 = 0, 0ω0 = 0

5.2.2 運動方程式の導出

リンク 1,リンク 2の角速度 1ω1,2ω2は

1ω1 =

0

0

q1

, 2ω2 =

0

0

q1 + q2

(5.1)

となる.これを,時間で微分して角加速度を求めると,

1ω1 =

0

0

q1

, 2ω2 =

0

0

q1 + q2

(5.2)

次にリンク 1,リンク 2の加速度を求める.

55

Page 57: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

1p1 = 0RT1 [0p0 + 0ω0 × 0p1 + 0ω0 × (0ω0

0p1)]

=

cos q1 sin q1 0

− sin q1 cos q1 0

0 0 1

0

g

0

+

0

0

0

×

0

0

0

+

0

0

0

×

0

0

0

×

0

0

0

=

cos q1 sin q1 0

− sin q1 cos q1 0

0 0 1

0

g

0

=

sin q1g

cos q1g

0

(5.3)

2p2 = 1RT2 [1p1 + 1ω1 × 1p2 + 1ω1 × (1ω1

1p2)]

=

cos q2 sin q2 0

− sin q2 cos q2 0

0 0 1

sin q1g

cos q1g

0

+

0

0

q1

×

l10

0

+

0

0

q1

×

0

0

q1

×

l10

0

=

cos q1 sin q1 0

− sin q1 cos q1 0

0 0 1

sin q1g − l1q21

cos q1g + l1q1

0

=

(cos q2 sin q1 + cos q1 sin q2)g − l1 cos q2q21 + l1 sin q2q1

(− sin q2 sin q1 + cos q2 cos q1)g + l1 sin q2q21 + l1 cos q2q1

0

=

sin(q1 + q2)g − l1(cos q2q21 − sin q2q1)

cos(q1 + q2)g + l1(sin q2q21 + cos q2q1)

0

(5.4)

リンク 1の重心位置(質量中心)の加速度を計算する.

56

Page 58: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

1s1 = 1p1 + 1ω1 × 1s1 + 1ω1 × (1ω1 × 1s1)

=

sin q1g

cos q1g

0

+

0

0

q1

×

lg1

0

0

+

0

0

q1

×

0

0

q1

×

lg1

0

0

=

sin q1g − lg1q21

cos q1g + lg1q1

0

(5.5)

2s2 = 2p2 + 2ω2 × 2s2 + 2ω2 × (2ω2 × 2s2)

=

sin(q1 + q2)g − l1(cos q2q21 − sin q2q1)

cos(q1 + q2)g + l1(sin q2q21 + cos q2q1)

0

+

0

0

q1 + q2

×

lg2

0

0

+

0

0

q1 + q2

×

0

0

q1 + q2

×

lg2

0

0

=

sin(q1 + q2)g − l1(cos q2q21 − sin q2q1) − lg2(q1 + q2)

2

cos(q1 + q2)g + l1(sin q2q21 + cos q2q1) + lg2(q1 + q2)

0

(5.6)

リンク 1とリンク 2に加わる外力を求める.

1f 1 = m11s1 (5.7)

2f 2 = m22s2 (5.8)

1n1 = 1I11ω1 + 1ω1 × (1I1

1ω1)

=

1Ix1 0 0

0 1Iy1 0

0 0 1Iz1

0

0

q1

+

0

0

q1

×

1Ix1 0 0

0 1Iy1 0

0 0 1Iz1

0

0

q1

=

0

01Iz1q1

(5.9)

2n2 = 2I22ω2 + 2ω2 × (2I2

2ω2)

=

2Ix2 0 0

0 2Iy2 0

0 0 2Iz2

0

0

q1 + q2

+

0

0

q1 + q2

×

2Ix2 0 0

0 2Iy2 0

0 0 2Iz2

0

0

q1 + q2

=

0

02Iz2(q1 + q2)

(5.10)

リンク 1,リンク 2に加えられる力とトルクは

57

Page 59: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

2f 2 = m22s2 + 2R3

3f 3 (5.11)

= m22s2

= m2

sin(q1 + q2)g − l1(cos q2q21 − sin q2q1) − lg2(q1 + q2)

2

cos(q1 + q2)g + l1(sin q2q21 + cos q2q1) + lg2(q1 + q2)

0

(5.12)

1f 1 = 1R2m22s2 + m1

1s1

=

cos q2 − sin q2 0

sin q2 cos q2 0

0 0 1

m2

sin(q1 + q2)g − l1(cos q2q21 − sin q2q1) − lg2(q1 + q2)

2

cos(q1 + q2)g + l1(sin q2q21 + cos q2q1) + lg2(q1 + q2)

0

+m1

sin q1g − lg1q21

cos q1g + lg1q1

0

= m2

sin q1g − l1q21 − lg2 cos q2(q1 + q2)

2 − lg2 sin q2(q1 + q2)

cos q1g + l1q1 − lg2 sin q2(q1 + q2)2 + lg2 cos q2(q1 + q2)

0

+ m1

sin q1g − lg1q21

cos q1g + lg1q1

0

(5.13)

2n2 = 2R33n3 + 2n2 + 2s2 × 2f 2 + 2p3 × (2R3

3f 3)

= 2n2 + 2s2 × 2f 2

=

0

02Iz2(q1 + q2)

+

lg2

0

0

× m2

sin(q1 + q2)g − l1(cos q2q21 − sin q2q1) − lg2(q1 + q2)

2

cos(q1 + q2)g + l1(sin q2q21 + cos q2q1) + lg2(q1 + q2)

0

=

0

02Iz2(q1 + q2) + lg2[cos(q1 + q2)g + l1(sin q2q

21 + cos q2q1) + lg2(q1 + q2)]m2

(5.14)

1n1 = 1R22n2 + 1n1 + 1s1 × 1f 1 + 1p2 × (1R2

2f 2)

=

cos q2 − sin q2 0

sin q2 cos q2 0

0 0 1

0

02Iz2(q1 + q2) + lg2[cos(q1 + q2)g + l1(sin q2q

21 + cos q2q1) + lg2(q1 + q2)]m2

+

0

01Iz1q1

+

lg1

0

0

× m1

sin q1g − lg1q21

cos q1g + lg1q1

0

+

l10

0

×

cos q2 − sin q2 0

sin q2 cos q2 0

0 0 1

m2

sin(q1 + q2)g − l1(cos q2q21 − sin q2q1) − lg2(q1 + q2)

2

cos(q1 + q2)g + l1(sin q2q21 + cos q2q1) + lg2(q1 + q2)

0

=

0

02Iz2(q1 + q2) + lg2[cos(q1 + q2)g + l1(sin q2q

21 + cos q2q1) + lg2(q1 + q2)]m2

+

0

01Iz1q1

+

0

0

m1lg1(cos q1g + lg1q1)

+

0

0

m2l1[cos q1g + l1q1 − lg2 sin q2(q1 + q2)2 + lg2 cos q2(q1 + q2)]

=

0

02Iz2(q1 + q2) + lg2[cos(q1 + q2)g + l1(sin q2q

21 + cos q2q1) + lg2(q1 + q2)]m2 + 1Iz1q1

+m1lg1(cos q1g + lg1q1) + m2l1[cos q1g + l1q1 − lg2 sin q2(q1 + q2)2 + lg2 cos q2(q1 + q2)]

(5.15)

58

Page 60: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

ここで,リンク 1,リンク 2は共に回転関節であるから,各関節の粘性摩擦係数

を d1,d2と置くと,

τ1 = [0 0 1]1n1 + d1q1

= 2Iz2(q1 + q2) + lg2[cos(q1 + q2)g + l1(sin q2q21 + cos q2q1) + lg2(q1 + q2)]m2 + 1Iz1q1

+m1lg1(cos q1g + lg1q1) + m2l1[cos q1g + l1q1 − lg2 sin q2(q1 + q2)2

+lg2 cos q2(q1 + q2)] + d1q1 (5.16)

τ2 = [0 0 1]2n2 + d2q2

= 2Iz2(q1 + q2) + lg2[cos(q1 + q2)g + l1(sin q2q21 + cos q2q1)

+lg2(q1 + q2)]m2 + d2q2 (5.17)

を得る.

ここで式 (5.16),(5.17)を整理すると,[

τ1

τ2

]=

[1Iz1 + m1l

2g2 + 2Iz2 + m2(l

21 + l2g2 + 2l1lg2 cos q2)

2Iz2 + m2(l2g2 + l1lg2 cos q2)

2Iz2 + m2(l2g2 + l1lg2 cos q2)

2Iz2 + m2l2g2

][q1

q2

]

+

[−m2l1lg2(2q1q2 + q2

2) sin q2

m2l1lg2q21 sin q2

]+

[m1glg1 cos q1 + m2g(l1 cos q1 + lg2 cos (q1 + q2))

m2glg2 cos (q1 + q2)

]

+

[d1 0

0 d2

][q1

q2

](5.18)

となる.ここで,1Iz1 = I1,2Iz2 = I2とすると,ラグランジュ法とニュートン・

オイラー法で求めた運動方程式が一致する.

59

Page 61: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

第 6章

平面3リンクマニピュレーターの

ニュートンオイラー解法

6.1 緒言

順動力学問題とは,ロボットの初期状態と入力トルク τ が与えられたときにロ

ボットがどのような運動を行うか,というものを運動方程式をもとに,求める問

題である.多自由度のロボットに対する逆動力学問題を閉じた形で解こうとする

と非常に複雑になり,効率も悪くなる.そのため高速解法であるニュートン・オイ

ラー法した,順動力学問題の解放が多く行われている.順動力学によって導かれ

た角加速度は,ルンゲクッタ法により数値積分され,角速度および角度が導出さ

れる.これらの計算を繰り返し行うことにより,各時間における運動方程式導出

をプログラム上で行っている.シミュレーションの精度を検証する場合,ニュー

トンオイラー法によって導出される時刻 t = 0での角加速度を求めることによ

り確認することができる.なぜならば,その時の角加速度が正しければ代数方

程式は正しいことが分かるからである.そのため、今回3リンクマニピュレータ

を用いて時刻 t = 0の各加速度が手計算によって導かれた値と正しいか検証を行う.

また,ヒューマノイドロボットは現在多く研究・開発が行われている.しかし,ASIMO

などの二足歩行ロボットは特異姿勢などの原因で膝を曲げたまま歩行を行ってい

るのが現状である.人間の行う膝を伸ばしながらの歩行には,消費エネルギーが削

減したりするなど利点が存在している.そのため,我々は,膝拘束を用いてヒュー

マノイドロボットのシミュレーションを作成し,消費エネルギーが実際に削減さ

れているか検証した.

6.2 3リンクマニピュレーターの運動方程式導出

6.2.1 準備

リンク 1,2,3の角速度 1w1,2 w2,

3 w3

1w1 =

0

0

θ1

, 2w2 =

0

0

θ1 + θ2

, 3w3 =

0

0

θ1 + θ2 + θ3

60

Page 62: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

X

Y

Z

1l

2l1gl

2gl

3l

3gl

1m

2m

3m

図 6.1: 3-link manipulator

角速度は同様にして

1w1 =

0

0

θ1

, 2w2 =

0

0

θ1 + θ2

, 3w3 =

0

0

θ1 + θ2 + θ3

次に各回転行列を計算する.

0R1 =

cos θ1 − sin θ1 0

sin θ1 cos θ1 0

0 0 1

, 1R2 =

cos θ2 − sin θ2 0

sin θ2 cos θ2 0

0 0 1

2R3 =

cos θ3 − sin θ3 0

sin θ3 cos θ3 0

0 0 1

0P 1 =

0

0

0

, 1P 2 =

l10

0

, 2P 3 =

l20

0

1P G1 =

lg1

0

0

, 2P G2 =

lg2

0

0

, 3P G3 =

lg3

0

0

1I1 =

1Ix1 0 0

0 1Iy1 0

0 0 1Iz1

, 2I2 =

2Ix2 0 0

0 2Iy2 0

0 0 2Iz2

3I3 =

3Ix3 0 0

0 3Iy3 0

0 0 1Iz3

61

Page 63: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

6.2.2 運動方程式導出

リンク 1,2,3の加速度を導出する.一般式では

AP C =A P B +A RBBP BC (6.1)

ここで 2階微分すると

AP C = AP B +A RBd2

dt2(BP BC) + 2AωB × [ARB

d

dt(BP BC)]

+ AωB × (ARBBP BC) +A ωB × [AωB × (ARB

BP BC)

BP BC は定数ベクトルより,微分すると消えるため

AP C = AP B +A ωB × (ARBBP BC)

+ AωB × [AωB × (ARBBP BC) (6.2)

したがって,

1P 1 = 0RT1 [0P 0 +0 ω0 ×0 P 1 +0 ω0 × (0ω0 ×0 P 1)]

=

cos θ1 sin θ1 0

− sin θ1 cos θ1 0

0 0 1

0

g

0

=

g sin θ1

g cos θ1

0

(6.3)

2P 2 = 1RT2 [1P 1 +1 ω1 ×1 P 2 +1 ω1 × (1ω1 ×1 P 2)]

=

g sin(θ1 + θ2) − l1(θ12cos θ2 − θ1 sin θ2)

g cos(θ1 + θ2) + l1(θ12sin θ2 + θ1 cos θ2)

0

(6.4)

62

Page 64: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

3P 3 = 2RT3 [2P 2 +2 ω2 ×2 P 3 +2 ω2 × (2ω2 ×2 P 3)]

=

g sin(θ1 + θ2 + θ3) + l1[(−θ12cos(θ2 + θ3)

+θ1 sin(θ2 + θ3)] + l2[(θ1 + θ2) sin θ3

−(θ1 + θ2)2 cos θ3]

g cos(θ1 + θ2 + θ3) + l1[(−θ12sin(θ2 + θ3)

+θ1 cos(θ2 + θ3)] + l2[(θ1 + θ2) cos θ3

+(θ1 + θ2)2 sin θ3]

0

=

a

b

0

(6.5)

1P G1 = 1P 1 +1 ω1 ×1 P G1 +1 ω1 × (1ω1 ×1 P G1] (6.6)

=

g sin θ1 − θ12lg1

g cos θ1 + θ1lg1

0

(6.7)

2P G2 = 2P 2 +2 ω2 ×2 P G2 +2 ω2 × (2ω2 ×2 P G2]

=

g sin(θ1 + θ2) − l1(θ12cos θ2 − θ1 sin θ2)

−lg2(θ1 + θ2)2

g cos(θ1 + θ2) + l1(θ12sin θ2 + θ1 cos θ2)

+lg2(θ1 + θ2)

0

(6.8)

3P G3 = 3P 3 +3 ω3 ×3 P G3 +3 ω3 × (3ω3 ×3 P G3]

=

a − lg3(θ1 + θ2 + θ3)2

b + lg3(θ1 + θ2 + θ3)

0

(6.9)

リンク 1,2,3に加わる外力は

1f 1 = m11P G1 (6.10)

2f 2 = m22P G2 (6.11)

3f 3 = m33P G3 (6.12)

1n1 = 1I11ω1 +1 ω1 × (1I1

1ω1) =

0

01Iz1θ1

(6.13)

2n2 = 2I22ω2 +2 ω2 × (2I2

2ω2) =

0

02Iz2(θ1 + θ2)

(6.14)

3n3 = 3I33ω3 +3 ω3 × (3I3

2ω3) =

0

03Iz3(θ1 + θ2 + θ3)

(6.15)

63

Page 65: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

したがって、リンク 1,2,3に加えられる力とトルクの式は

3f 3 = 3f 3 +3 f 4 =3 f 3 (6.16)2f 2 = 2f 2 +2 f 3 = m2

2P G2 +2 R3m33P G3 (6.17)

2f 2 = 1f 1 +1 f 2 = m11P G1 +1 R2m2

2P G2 (6.18)

ここで以下の行列をおく,

1P G1 =

α1

β1

0

, 2P G2 =

α2

β2

0

, 3P G3 =

α3

β3

0

3n3 = 3R44n4 +3 n3 +3 P G3 ×3 f 3 +3 P 4 × (3R4

4f 4)

=

0

03Iz3(θ1 + θ2 + θ3) + m3lg3[g cos(θ1 + θ2 + θ3)

+l1(θ2) sin(θ2 + θ3) + l2((θ1 + θ2) cos θ3 + (θ1

+θ2)2 sin θ3) + lg3(θ1 + θ2 + θ3)]

(6.19)

2n2 = 2R33n3 +2 n2 +2 P G2 ×2 f 2 +2 P 3 × (2R3

3f 3)

=

0

03Iz3(θ1 + θ2 + θ3) + m3lg3β3 +2 Iz2(θ1 + θ2)

+m2lg2[g cos(θ1 + θ2) + l1(θ12+ θ1 cos θ2)]

+lg2(θ1 + θ2) + m3l2(α3 sin θ3 + β3 cos θ3)

(6.20)

1n1 = 1R22n2 +1 n1 +1 P G1 ×1 f 1 +1 P 2 × (1R2

2f 2)

=

0

02nz2 +1 Iz1θ1 + m1lg1β2 + l1[m2(α2cos θ2 − β2 sin θ2)

+m3(2α3cos θ1sin θ2 + β3(cos θ22 − sin θ2

2))]

(6.21)

ここで,リンク1,リンク2,リンク3はともに回転行列より,式 (6.19),(6.20),(6.21)

を用いて

τ3 =[0 0 1

]3n3

= 3Iz3(θ1 + θ2 + θ3) + m3lg3[g cos(θ1 + θ2 + θ3)

+ l1(θ2) sin(θ2 + θ3) + l2((θ1 + θ2) cos θ3 + (θ1

+ θ2)2 sin θ3) + lg3(θ1 + θ2 + θ3)] (6.22)

64

Page 66: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

τ2 =[0 0 1

]2n2

= τ3 + 3Iz3(θ1 + θ2) + m2lg2[g cos(θ1 + θ2) + l1(θ12sin θ2

+ θ1 cos θ2) + lg2(θ1 + θ2)] + l2[g cos(θ1 + θ2)

+ l1(θ1 cos θ2 + θ12sin θ2) + 2l2(θ1 + θ2)

− lg3 sin(θ1 + θ2 + θ3)2 + lg3 cos(θ1 + θ2 + θ3)] (6.23)

τ1 =[0 0 1

]1n1

= τ2 +1 Iz1θ1 + m1lg1(g cos θ1 + θ1lg1) + l1[m2(g cos θ1

+ l1θ1 − lg2(θ1 + θ2)2 sin θ2 + lg2(θ1 + θ2) cos θ2)

+ m3(g cos θ1 + l1θ1 − l2(θ1 + θ2)2 sin θ2 + 2l2(θ1 + θ2) cos θ2

− lg3(θ1 + θ2 + θ3)2 sin(θ2 + θ3)

+ lg3(θ1 + θ2 + θ3) cos(θ2 + θ3)] (6.24)

65

Page 67: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

第 7章

垂直多関節3リンクマニピュレータ

のニュートンオイラー解法

3リンクマニピュレータの運動方程式をニュートンオイラー法を用いて導出

する.

7.1 準備

回転行列

0R1 =

C1 −S1 0

S1 C1 0

0 0 1

(7.1)

1R2 =

0 1 0

0 0 1

1 0 0

C2 −S2 0

S2 C2 0

0 0 1

=

S2 C2 0

0 0 1

C2 −S2 0

(7.2)

2R3 =

C3 −S3 0

S3 C3 0

0 0 1

(7.3)

3RH =

0 0 1

−1 0 0

0 −1 0

(7.4)

リンク長さ

0p0 =

0

0

0

, 1p2 =

0

0

l1

, 2p3 =

l20

0

, 3pH =

l30

0

(7.5)

リンク重心

0s0 =

0

0

0

, 1s2 =

0

0

lg1

, 2s3 =

lg2

0

0

, 3sH =

lg3

0

0

(7.6)

66

Page 68: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

慣性モーメント

1I1 =

1Ixx 0 0

0 1Iyy 0

0 0 1Izz

, 2I2 =

2Ixx 0 0

0 2Iyy 0

0 0 2Izz

3I3 =

3Ixx 0 0

0 3Iyy 0

0 0 3Izz

(7.7)

初期条件

0p0 =

0

0

g

, 0ω0 = 0 , 0ω0 = 0 (7.8)

終端条件

3f 3 = 0 , 3n3 = 0 (7.9)

7.2 導出,正順繰り返し計算

7.2.1 i=1

リンク 1角速度

1ω1 =

0

0

q1

(7.10)

リンク 1角加速度

2ω2 =

0

0

q1

(7.11)

リンク 1並進速度

1p1 = 0RT1 [0p0 + 0ω0 × 0p1 + 0ω0 × (0ω0

0p1)]

=

C1 −S1 0

S1 C1 0

0 0 1

T

0

0

g

=

0

0

g

(7.12)

リンク 1重心並進速度

1s1 = 1p1 + 1ω1 + 1s1 + 1ω1 × (1ω1 × 1s1)

=

0

0

g

+

0

0

q1

+

0

0

lg1

+

0

0

q1

×

0

0

q1

×

0

0

lg1

=

0

0

g

(7.13)

67

Page 69: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

7.2.2 i=2

リンク 2角速度

2ω2 = 1RT2

1ω1 + ez q2

=

S2 C2 0

0 0 1

C2 −S2 0

T

0

0

q1

+

0

0

q2

=

C2q1

−S2q1

q2

(7.14)

リンク 2角加速度

2ω2 = 1RT2

1ω1 + ez q2 + (1RT2

1ω1) × ez q2

=

S2 C2 0

0 0 1

C2 −S2 0

T

0

0

q1

+

0

0

q2

+

S2 C2 0

0 0 1

C2 −S2 0

T

0

0

q1

×

0

0

q2

=

C2q1 − S2q1q2

−S2q1 − C2q1q2

q2

(7.15)

リンク 2並進速度

2p2 = 1RT2 [1p1 + 1ω1 × 1p2 + 1ω1 × (1ω1

1p2)]

=

C1 −S1 0

S1 C1 0

0 0 1

T

0

0

g

+

0

0

q1

×

0

0

l1

+

0

0

q1

×

0

0

q1

×

0

0

l1

=

C2g

−S2g

0

(7.16)

リンク 2重心並進速度

2s2 = 2p2 + 2ω2 + 2s2 + 2ω2 × 2ω2 × (2ω2 × 2s2)

=

C2g

−S2g

0

+

C2q1 − S2q1q2

−S2q1 − C2q1q2

q2

×

lg2

0

0

+

C2q1

−S2q1

q2

×

C2q1

−S2q1

q2

×

lg2

0

0

=

C2g − lg2S22 q

21 − lg2q

22

−S2g + lg2q2 − lg2C2S2q21

lg2(S2q1 + C2q1q2) + lg2C2q2q2

(7.17)

7.2.3 i=3

リンク 3角速度

3ω3 = 2RT3

2ω2 + ez q3

=

C3 −S3 0

S3 C3 0

0 0 1

T

C2q1

−S2q1

q2

+

0

0

q3

=

C23q1

−S23q1

q2 + q3

(7.18)

68

Page 70: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

リンク 3角加速度

3ω3 = 2RT3

2ω2 + ez q3 + (2RT3

2ω2) × ez q3

=

C3 −S3 0

S3 C3 0

0 0 1

T

C2q1 − S2q1q2

−S2q1 − C2q1q2

q2

+

0

0

q3

+

C3 −S3 0

S3 C3 0

0 0 1

T

C2q1

−S2q1

q2

×

0

0

q3

=

C23q1 − S23q1q2 − S23q1q3

−S23q1 + C23q1q2 − C23q1q3

q2 + q3

(7.19)

リンク 3並進速度

3p3 = 2R3T [2p2 +2 ω2 ×2 p3 + 2ω2 × (2ω2

2p3)]

=

C3 −S3 0

S3 C3 0

0 0 1

T

C2g

−S2g

0

+

C2q1 − S2q1q2

−S2q1 − C2q1q2

q2

×

l20

0

+

C2q1

−S2q1

q2

×

C2q1

−S2q1

q2

×

l20

0

=

C23g − l2S2S23q21 − l2C3q

22 + l2S3q2

−S23g − l2S2C23q21 + l2S3q

22 + l2C3q2

l2S2q1 + 2l2C2q1q2

(7.20)

リンク 3重心並進速度

3s3 = 3p3 + 3ω3 + 3s3 + 3ω3 × 3ω3 × (3ω3 × 3s3)

=

C23g − l2S2S23q21 − l2C3q

22 + l2S3q2

−S23g − l2S2C23q21 + l2S3q

22 + l2C3q2

l2S2q1 + 2l2C2q1q2

+

C23q1 − S23q1q2 − S23q1q3

−S23q1 + C23q1q2 − C23q1q3

q2 + q3

×

lg3

0

0

+

C23q1

−S23q1

q2 + q3

×

C23q1

−S23q1

q2 + q3

×

lg3

0

0

=

C23g − S23q21(l2S2 + lg3S23) − l2C3q

22 + l2S3q2 − lg3(q2 + q3)

2

−S23g − C23q21(l2S2 + lg3S23) + l2S3q

22 + l2C3q2 + lg3(q2 + q3)

q1(l2S2 + lg3S23) + 2q1q2(l2C3 + lg3C23) + 2lg3C23q1q3

(7.21)

69

Page 71: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

7.3 導出,逆順繰り返し計算

7.3.1 i=3

リンク 3外力

3f 3 = m33s3 + 3RH

HfH

= m33s3

= m3

C23g − S23q21(l2S2 + lg3S23) − l2C3q

22 + l2S3q2 − lg3(q2 + q3)

2

−S23g − C23q21(l2S2 + lg3S23) + l2S3q

22 + l2C3q2 + lg3(q2 + q3)

q1(l2S2 + lg3S23) + 2q1q2(l2C3 + lg3C23) + 2lg3C23q1q3

(7.22)

リンク 3モーメント

3n3 = 3I33ω3 + 3ω3 × (3I3

3ω3) + 3s3 × (m33s3)

=

3Ixx 0 0

0 3Iyy 0

0 0 3Izz

C23q1 − S23q1q2 − S23q1q3

−S23q1 + C23q1q2 − C23q1q3

q2 + q3

+

C23q1

−S23q1

q2 + q3

×

3Ixx 0 0

0 3Iyy 0

0 0 3Izz

C23q1

−S23q1

q2 + q3

+

lg3

0

0

× m3

C23g − S23q21(l2S2 + lg3S23) − l2C3q

22 + l2S3q2 − lg3(q2 + q3)

2

−S23g − C23q21(l2S2 + lg3S23) + l2S3q

22 + l2C3q2 + lg3(q2 + q3)

q1(l2S2 + lg3S23) + 2q1q2(l2C3 + lg3C23) + 2lg3C23q1q3

=

0

−m3lg3(l2S2 + lg3S23)q1 − 2m3lg3(l2C3 + lg3C23)q1q2 − 2m3l2g3C23q1q3

−m3lg3S23g − m3lg3(l2S3 + lg3S23)q21 + m3lg3(l2S3q2 + l2C3q2) + m3l

2g3(q2 + q3)

(7.23)

関節トルク

τ 3 =[

0 0 1]

3n3

= −m3lg3S23g − m3lg3(l2S3 + lg3S23)q21 + m3lg3(l2S3q2 + l2C3q2) + m3l

2g3(q2 + q3)

= (m3l2g3 + m3C3l2lg3 + 3Izz)g3 + (m3l

2g3 + 3Izz)q3

− m3(S2l2 + S23lg3g12)C23lg3q1

2

+ m3S3l2lg3q22

+ S23C23(3Ixx − 3Iyy)q1

2

− m3glg3S23 + D3q3 = τ3 (7.24)

70

Page 72: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

7.3.2 i=2

リンク 2外力

2f 2 = m22s2 + 2R3

3f 3

= m2

C2g − lg2S22 q

21 − lg2q

22

−S2g + lg2q2 − lg2C2S2q21

lg2(S2q1 + C2q1q2) + lg2C2q2q2

+

C3 −S3 0

S3 C3 0

0 0 1

3f 3 (7.25)

リンク 2モーメント

2n2 = 2R33n3 + 2I2

2ω2 + 2ω2 × (2I22ω2) + 2s2 × (m2

2s2) + 2p2 × 2R33f 3

=

C3 −S3 0

S3 C3 0

0 0 1

0

−m3lg3(l2S2 + lg3S23)q1 − 2m3lg3(l2C3 + lg3C23)q1q2 − 2m3l2g3C23q1q3

−m3lg3S23g − m3lg3(l2S3 + lg3S23)q21 + m3lg3(l2S3q2 + l2C3q2) + m3l

2g3(q2 + q3)

+

2Ixx 0 0

0 2Iyy 0

0 0 2Izz

C2q1 − S2q1q2

−S2q1 − C2q1q2

q2

+

C2q1

−S2q1

q2

×

2Ixx 0 0

0 2Iyy 0

0 0 2Izz

C2q1

−S2q1

q2

+

lg2

0

0

× m2

C2g − lg2S22 q

21 − lg2q

22

−S2g + lg2q2 − lg2C2S2q21

lg2(S2q1 + C2q1q2) + lg2C2q2q2

+

l20

0

× m3

C3 −S3 0

S3 C3 0

0 0 1

C23g − S23q21(l2S2 + lg3S23) − l2C3q

22 + l2S3q2 − lg3(q2 + q3)

2

−S23g − C23q21(l2S2 + lg3S23) + l2S3q

22 + l2C3q2 + lg3(q2 + q3)

q1(l2S2 + lg3S23) + 2q1q2(l2C3 + lg3C23) + 2lg3C23q1q3

=

C3nx3 − S3ny3 + Ix2C2q1 − Ix2S2q1q2 − Iz2S2q1q2 + Iy2S2q1q2

S3nx3 + C3ny3 − Iy2S2q1 − Iy2C2q1q2 + IX2C2q1q2 − Iz2C2q1q2 − m2l2g2(S2q1 + C2q1q2) − m2l

2g2C2q1q2

nz3 + Iz2q2 − Iy2S2C2q21 + Ix2S2C2q

21 − m2l

2g2S2g + m2l

2g2q2 − m2l

2g2C2S2q1 + l2(S3fx3 + C3fy3)

(7.26)

関節トルク

τ 2 =[

0 0 1]

2n2 (7.27)

71

Page 73: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

(m2 l2g2 + m3 l23 + m3 l2g3 + 2m3 C3 l2 lg3 + 2Izz + 3Izz) q2

+(m3 lg3 + m3 C3 l2 lg3 + 3Izz) q3 − 2m3 S3 l2 lg3 q2 q3 − m3 S3 l2 lg3 q23

−m2 S2 C2 l2g2 q21 − m3 (S2 l2 + S23 lg3) (C2 l2 + C23 lg3) q2

1

+S2 C2 (2Ixx − 2Iyy) q21 + S23 C23 (3Ixx − 3Iyy) q2

1 − m2 g lg2 S2

−m3 g (l2 S2 + lg3 S23) + D2q2 = τ2 (7.28)

7.3.3 i=1

リンク 1外力

1f 1 = m11s1 + 1R2

2f 2 (7.29)

リンク 1モーメント

1n1 = 1R22n2 + 1I1

1ω1 + 1ω1 × (1I11ω1) + 1s1 × (m1

1s1) + 1p1 × 1R22f 2

=

S2 C2 0

0 0 1

C2 −S2 0

C3nx3 − S3ny3 + Ix2C2q1 − Ix2S2q1q2 − Iz2S2q1q2 + Iy2S2q1q2

S3nx3 + C3ny3 − Iy2S2q1 − Iy2C2q1q2 + IX2C2q1q2 − Iz2C2q1q2 − m2l2g2(S2q1 + C2q1q2) − m2l

2g2C2q1q2

nz3 + Iz2q2 − Iy2S2C2q21 + Ix2S2C2q

21 − m2l

2g2S2g + m2l

2g2q2 − m2l

2g2C2S2q1 + l2(S3fx3 + C3fy3)

+

1Ixx 0 0

0 1Iyy 0

0 0 1Izz

0

0

q1

+

0

0

q1

×

1Ixx 0 0

0 1Iyy 0

0 0 1Izz

0

0

q1

+

0

0

lg1

× m1

0

0

g

+

0

0

lg1

×

S2 C2 0

0 0 1

C2 −S2 0

fx2

fy2

fz2

=

S2nx2 + C2ny2 − l1fz2

nz2 + l1S2fx2 + l1fy2

C2nx2S2ny2 + Iz1q1

(7.30)

関節トルク

τ 1 =[

0 0 1]

1n1 (7.31)

{m2S22 l

2g2 + m3(S2l2 + S23lg3)

2 +1 Izz

+2IxxC22 +2 IyyS

22 +3 IxxC

223 +3 IyyS

223}q1

+{2m2S2C2l2g2 + 2m3(S2l2 + S23lg3)(C2l2 − C23lg3)

+2S2C2(2Iyy −2 Ixx) + 2S23C23(

3Iyy −3 Ixx)}q1q2

+{2m3(S2l2 + S23lg3)C23lg3 + 2S23C23(3Iyy −3 Ixx)}q1q3

+D1q1 = τ1 (7.32)

72

Page 74: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

第 8章

数値積分法(ルンゲクッタ法)の導出

次式で表わされる非線形微分方程式の解 q(t)を数値積分により解く方法につい

て考える.

dq(t)

dt= f(q(t)) (8.1)

解 q(t)のある時刻 t0より微小時間 h経過した値 q(t + h)は,テーラー展開より

q(t0 + h) =

[q(t) + h

dq

dt+

h2

2!

d2q

dt2+ · · · + hi

i!

diq

dti+ · · ·

]

t0

(8.2)

と表わされる.ここで,上式は式 (3.1)を満たす解と考えると,上式に式 (3.1)を

代入することで

q(t0 + h) =

[q(t) + hf(q(t)) +

h2

2!

d

dtf + · · · + hi

i!

di−1q

dti−1f + · · ·

]

t0

(8.3)

となることがわかる.[]t0 は,t = t0の時刻の値であることを意味することとす

ると,[df

dt

]

t0

=

[df

dq

dq

dt

]

t0

=

[dq

dt

d

dqf

]

t0

=

[f

d

dqf

]

t0

(8.4)

であり,

D = fd

dq(8.5)

とおくことで上式は,[df

dt

]

t0

=

[Df

]

t0

(8.6)

と表わされる.さらに

df2

dt2=

(f

d

dq

)(f

d

dqf

)= f 2d2f

dq2+ f

(df

dq

)2

(8.7)

であるから時刻 t0において,[d2f

dt2

]

t0

=

[D2f + Df

df

dq

]

t0

(8.8)

73

Page 75: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

となる.さらに [d3f/dt3]t0を計算すると,式 (3.7)より[d3f

dt3

]

t0

=

[(f

d

dq

)3

f −(

fd

dq

){f 2d2f

dq2+ f

(df

dq

)2

}]

t0

=

[f 3d3f

dq3+ f

(d

dqf 2

)d2f

dq2+ f

df

dq

(df

dq

)2

+ f 2 d

dq

(df

dq

)2]

t0

=

[f 3d3f

dq3+ 2f 2 df

dq

d2f

dq2+ f

(df

dq

)3

+ 2f 2

(df

dq

)d2f

dq2

]

t0

=

[f 3d3f

dq3+ 2

(f

d

dq

)(df

dq

)(f

df

dq

)(df

dq

)2(f

d

dq

)f

+

(f

d

dq

)(df

dq

)(f

df

dq

)+

(f

d

dq

)(f

df

dq

)(df

dq

)]

t0

=

[D3f + D2f

df

dq+ Df

(df

dq

)2

+ 3DfDdf

dq

]

t0

(8.9)

ただし,ここでは

f 2

(df

dq

)(d2f

dq2

)=

(f

d

dq

)(f

df

dq

)(df

dq

)= D2f

df

dq(8.10)

f 2

(df

dq

)(d2f

dq2

)=

(f

d

dq

)(f

df

dq

)(df

dq

)= Df

df

dqDf (8.11)

を用いた.kを,

k = q(t0 + h) − q(t0) (8.12)

と定義する.式 (3.3)の hの 4次項までで,kを表わすと,

k =

[hf(q(t)) +

1

2h2df

dt+

1

6h3d2f

dt2+

1

24h4d3f

dt3

]

t0

(8.13)

となり,式 (3.6),(3.8),(3.9)を代入すると,

k =

[hf +

1

2h2Df +

1

6h3

(D2f + Df

df

dq

)

+1

24h4{D3f + D2f

df

dq+ Df

(df

dq

)2

+ 3DfDdf

dq}]

t0

(8.14)

と表わされる.上式は,hの 4次項までで q(t0)より q(t0 +h)を数値的に求めるこ

とができ,式 (3.1)の数値解を与えるが,Dif(i = 0, 1, 2, 3, )つまり f の 3次微分

までの微係数を求める必要がある.f に sin,cosなどが複雑に入っているロボッ

トの運動方程式の場合,Dif を求めることは一般的に困難である.

そこでDifを求めることなく,式 (3.13)を算出する方法を別に考える必要があ

る.平均値の定理を用いて

k =

∫ t0+h

t0

f(q(t))dt = hf(q(t0) + ah) ( 0 ≤ a ≤ 1のある値 ) (8.15)

より kを決定する方法について考える.しかし aの値は関数 f に依存するためこ

れも容易ではない.

74

Page 76: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

そこで t0 < t < t0 + hの時間区間のいろいろな時刻の f の値を用いて kを決定

する方法について考える. 時間区間の中の時刻をどのように設定するかについて

は,式 (3.14)の4次項までの近似が正しく求まるように設定する方法である.例

えば

k1 = hf(q(t0)) = hf0

k2 = hf(q(t0) + βk1)

k3 = hf(q(t0) + β1k1 + γ1k2)

k4 = hf(q(t0) + β2k1 + γ2k2 + δ2k3)

(8.16)

k = R1k1 + R2k2 + R3k3 + R4k4 (Riは重み) (8.17)

ここでRi, β, βi, γi, δiは未知数であり以下のようにして決定する.

式 (3.1)の f(q(t))をテーラ展開すると,

f(q(t) + p) = f(q(t)) + pd

dqf + (p

d

dq)2f + (p

d

dq)3f + · · · (8.18)

そこで,上式を用いてまず式 (3.15)の k2を求めてみると,

k2 = hf(q(t0)) + βk1)

= h[f(q(t) + βk1d

dqf +

1

2(βk1

d

dq)2f + · · · ]t0 (8.19)

となり

hD1 = βk1d

dq(8.20)

とおくと,

k2 = h[f + hD1f +1

2h2D2

1f + · · · ]t0 (8.21)

と表わされる.次に,

D2 = (β1 + γ1)f0d

dq(8.22)

とおけば,式 (3.15)の k1 = hf0より

(β1k1 + γ1k2)d

dq= (β1hf0 + γ1k2)

d

dq

= h(β1 + γ1)f0d

dq+ (γ1k2 − hγ1f0)

d

dq

= hD2 + γ1(k2 − hf0)d

dq

= hD2 + γ1[h(f + hD1f +1

2h2D2

1f + · · · ) − hf0]t0d

dq

= hD2 + γ1h2[D1f +

1

2hD2

1f + · · · ]t0d

dq(8.23)

75

Page 77: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

となり,これから

k3 = hf(q(t0) + β1k1 + γ1k2)

= h[f + (β1k1 + γ1k2)d

dqf +

1

2(β1k1 + γ1k2)

2 d2

dq2f + · · · ]t0

= h[f0 + (hD2 + γ1h2[D1f +

1

2hD2

1f + · · · ]t0d

dq)f

+1

2(hD2 + γ1h

2[D1f +1

2hD2

1f + · · · ]t0d

dq)2f + · · ·

= h[{f + hD2f +1

2h2D2

2f +1

6h3D3

2f + · · · }t0

+γ1h2{D1f

df

dq+

1

2hD2

1fdf

dq+ hD1fD2

df

dq+ · · · }t0 ] (8.24)

をあらわすことが出来る.よって最後に,

D3 = (β2 + γ2 + δ2)f0d

dq(8.25)

とおいて

(β2k1 + γ2k2 + δ2k3)d

dq

= {β2hf0 + γ2h[f + hD1f +1

2h2D2

1f + · · · ]t0

+δ2h[{f + hD2f +1

2h2D2

2f + · · · }t0

+γ1h2{D1f

df

dq+

1

2hD2

1fdf

dq+ hD1fD2

df

dq+ · · · }t0 ]}

d

dq

= h(β2 + γ2 + δ2)f0d

dq

+[h2γ2{D1f +1

2hD2

1f + · · · }t0

+h2δ2{D2f +1

2hD2

2f + · · · }t0

+γ1δ2h3{D1f

df

dq+

1

2hD2

1fdf

dq+ hD1fD2

df

dq+ · · · }t0 ]

d

dq

= hD3 + h2[γ2{D1f +1

2hD2

1f + · · · }t0

+δ2{D2f +1

2h(D2

2f + 2γ1D1fdf

dq) + · · · }t0 ]

d

dq(8.26)

76

Page 78: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

より,

k4 = hf(q(t0) + β2k1 + γ2k2 + δ2k3)

= h[f + (β2k1 + γ2k2 + δ2k3)d

dqf +

1

2(β2k1 + γ2k2 + δ2k3)

2 d2

dq2f

= h[f + {hD3f + h2[γ2{D1f +1

2hD2

1f + · · · }t0

+δ2{D2f +1

2h(D2

2f + 2γ1D1fdf

dq) + · · · }t0 ]

df

dq}

+1

2{hD3 + h2[γ2{D1f +

1

2hD2

1f + · · · }t0

+δ2{D2f +1

2h(D2

2f + 2γ1D1fdf

dq) + · · · }t0 ]

d

dq}2f + · · · ]

= h[f + hD3f +1

2h2D2

3f +1

6h3D3

3f + · · ·

+h2(γ2D1f + δ2D2f)df

dq+ h3γ2D1fD3

df

dq+ h3δ2D2fD3

df

dq

+1

2h3γ2D

21f

df

dq+

1

2h3δ2D

22f

df

dq+ 2γ1δ2D1f(

df

dy)2 + · · · ]t0

= h[f + hD3f +1

2h2D2

3f +1

6h3D3

3f + · · ·

+h2(γ2D1f + δ2D2f)df

dq+ h3(γ2D1f + δ2D2f)D3

df

dq

+1

2h3(γ2D

21f + δ2D

22f + 2γ1δ2D1f

df

dy)df

dy+ · · · ]t0 (8.27)

が得られる. 以上の k2~k4の計算式 (3.20),(3.23),(3.26)と式 (3.15)の k1より式

(3.10)の kを求めると次式となる.

k = R1k1 + R2k2 + R3k3 + R4k4

= R1k[f ]t0

+R2h[f + hD1f +1

2h2D2

1f +1

6h3D3

1f + · · · ]t0

+R3h[f + hD2f +1

2h2D2

2f +1

6h3D3

2f + · · ·

+ γ1h2(D1f

df

dq+

1

2hD2

1fdf

dq+ hD1fD2

df

dq]t0

= R4h[f + hD3f +1

2h2D2

3f +1

6h3D3

3f + · · ·

+ h2(γ2D1f + δ2D2f)df

dq+ h3(γ2D1f + δ2D2f)D3

df

dq

+1

2h3(γ2D

21f + δ2D

22f + 2γ1δ2D1f

df

dq)df

dq+ · · · ]t0 (8.28)

上式が式 (3.14)の kと hの4次項まで一致する条件を求めると,

77

Page 79: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

1次の項 : R1 + R2 + R3 + R4 = 1 (8.29)

2次の項 : R2D1f + R3D2f + R4D3f =1

2Df (8.30)

3次の項 : f に関して1

2R2D

21f +

1

2R3D

22f +

1

2R4D

23f =

1

6D2f (8.31)

:df

dqに関して

R3γ1D1f + R4(γ2D1f + δ2D2f) =1

6Df (8.32)

4次の項 : f に関して1

6R2D

31f +

1

6R3D

32f +

1

6R4D

33f =

1

24D3f (8.33)

:df

dqに関して

1

2R3γ1D

21f +

1

2R4(γ2D

21f + δ2D

22f) =

1

24D2f (8.34)

: (df

dq)2に関して

R4γ1δ2D1f =1

24Df (8.35)

: Ddf

dqに関して

R3γ1D1fD2df

dq+ R4(γ2D1f + δ2D2f)D3

df

dq=

3

24DfD

df

dq(8.36)

となり,式 (3.29)~(3.36)が成り立つとき,hの4次項までで k = kが成り立

つ.式 (3.15),(3.19)よりD1 = βf0ddqであり,この結果と式 (3.5)より

D1 = βD4= α1D (8.37)

さらに,式 (3.21),(3.24)より

D2 = (β1 + γ1)D = a2D (8.38)

D3 = (β2 + γ2 + δ2)D = a3D (8.39)

(8.40)

とおくことにする.上式より式 (3.28)~(3.35)は

R1 + R2 + R3 + R4 = 1

R2α1 + R3α2 + R4α3 = 12

R2α21 + R3α

22 + R4α

23 = 1

3

R3γ1α1 + R4(γ2α1 + δ2α2) = 16

R2α31 + R3α

32 + R4α

33 = 1

4

R3γ1α21 + R4(γ2α

21 + δ2α

22) = 1

12

R4γ1δ2α1 = 124

R3γ1α1α2 + R4(γ2α1 + δ2α2)α3 = 18

(8.41)

78

Page 80: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

式 (3.40)は,R1~R4,α1~α3,γ1,γ2,δ2の10個の未知数を決定するのに対し,8

個の式が制約を与えていることを意味するから,2つの未知数を任意にとれるこ

とになる.このため,α1 = α2 = 12と定めることにする.このとき式 (3.41)は

R1 + R2 + R3 + R4 = 1 (8.42)1

2R2 +

1

2R3 + R4α3 =

1

2(8.43)

1

4R2 +

1

4R3 + R4α

23 =

1

3(8.44)

1

2R3γ1 + R4(

1

2γ2 +

1

2δ2) =

1

6(8.45)

1

8R2 +

1

8R3 + R4α

33 =

1

4(8.46)

1

4R3γ1 +

1

4R4(γ2 + δ2) =

1

12(8.47)

1

2R4γ1δ2 =

1

24(8.48)

1

4R3γ1 +

1

2R4(γ2 + δ2)α3 =

1

8(8.49)

となる。式 (3.43),(3.44),(3.46)よりα3 = 1が求まり,これを用いると,式 (3.43),(3.46)

よりR4 = 1/6となる.さらに式 (3.42),(3.43)よりR1 = 1/6となる.以上の結果

より式 (3.43),(3.44),(3.46)の意味が無くなる。残りの方程式は

R2 + R3 =2

3(8.50)

6R3γ1 + γ2 + δ2 = 2 (8.51)

2γ1δ2 = 1 (8.52)

6R3γ1 + 2(γ2 + δ2) = 3 (8.53)

となる.式 (3.51),(3.53)により γ2 + δ2 = 1となりこれを式 (3.51)に代入すると,

r1 = 1/6R3となり,式 (3.52)により δ2 = 1/2γ1 = 3R3となる γ2は γ2 = 1− δ2 =

1 − 3R3となる.以上よりR3に任意性が残っていることになる.R3 = 1/3と定

めるときの数値積分法がルンゲ-クッタの式であり,このとき10個の未知数は,

R1 = 16, R2 = 1

3, R3 = 1

3, R4 = 1

6α1 = 1

2, α2 = 1

2, α3 = 1

γ1 = 12, γ2 = 0, δ2 = 1

}(8.54)

と定まる.さらに式 (3.37)~(3.39)より β1, β2, β3が定まる.

β =1

2, β1 = 0, β2 = 0 (8.55)

このとき式 (3.14)で与えられる kと式 (3.17)で与えられる kは一致する.

以上より式 (3.1)を満足する解軌道 q(t)の,時刻 t0より hの時間幅進んだとき

の値 q(t0 + h)は,

q(t0 + h) = q(t0) + k

= q(t0) +1

6(k1 + 2k2 + 2k3 + k4) (8.56)

79

Page 81: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

と求められ,k1 ∼ k4は,式 (3.16)より

k1 = hf(q(t0))

k2 = hf(q(t0) + 12k1)

k3 = hf(q(t0) + 12k2)

k4 = hf(q(t0) + k3)

(8.57)

と与えられることがわかる.上式の t0を i∆t,hを∆tとおくと,∆t後の qの値は,

q((i + 1)∆t) = q(i∆t) + 16(k1 + 2k2 + 3k3 + k4)

k1 = ∆tf(q(i∆t))

k2 = ∆tf(q(i∆t) + 12k1)

k3 = ∆tf(q(i∆t) + 12k2)

k4 = ∆tf(q(i∆t) + k3)

(8.58)

と与えられ,上式を∆t毎に繰り返し計算することでq(t0), q(t0+∆t), q(t0+2∆t), · · ·と q(t)の解軌道が得られる.

2階常微分方程式の解法については,次のような2つの連立1階常微分方程式

に分解して解くことができる.

dq1

dt= f1(q1, q2) ,

dq2

dt= f2(q1, q2) (8.59)

が与えられるとき,

q1((i + 1)∆t) = q1(i∆t) + 16(k11 + 2k12 + 2k13 + k14)

q2((i + 1)∆t) = q2(i∆t) + 16(k21 + 2k22 + 2k23 + k24)

}(8.60)

k11 = ∆tf1(q1(i∆t), q2(i∆t))

k21 = ∆tf2(q1(i∆t), q2(i∆t))

k12 = ∆tf1(q1(i∆t) + 12k11, q2(i∆t) + 1

2k21)

k22 = ∆tf2(q1(i∆t) + 12k11, q2(i∆t) + 1

2k21)

k13 = ∆tf1(q1(i∆t) + 12k12, q2(i∆t) + 1

2k22)

k23 = ∆tf2(q1(i∆t) + 12k12, q2(i∆t) + 1

2k22)

k14 = ∆tf1(q1(i∆t) + k13, q2(i∆t) + k23)

k24 = ∆tf2(q1(i∆t) + k13, q2(i∆t) + k23)

(8.61)

と求めることができる.プログラムを作成するときは,式 (3.60)に先だって式

(3.61)を計算しておく.

80

Page 82: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

第 9章

付録

付録 1ω × {[n, o, a]l} = [ω × n, ω × o, ω × a, ]l の証明

ω =

ωx

ωy

ωz

, n =

nx

ny

nz

, o =

ox

oy

oz

, a =

ax

ay

az

, l =

lxlylz

(9.1)

とするとき

左辺 = ω × {[n, o, a]l}

=

ωx

ωy

ωz

nxlx + oxly + axlznylx + oyly + aylznzlx + ozly + azlz

=

ωy(nzlx + ozly + azlz) − ωz(nylx + oyly + aylz)

ωz(nxlx + oxly + axlz) − ωx(nzlx + ozly + aalz)

ωx(nxlx + oxly + axlz) − ωy(nxlx + oxly + axlz)

=

ωynz − ωzny ωyoz − ωzoy ωyaz − ωzay

ωznx − ωxnz ωzox − ωxoz ωzax − ωxaz

ωxny − ωynx ωxoy − ωyox ωxay − ωyax

lxlylz

= [ω × n, ω × o, ω × a, ]l (9.2)

よって,証明された.

付録 2式 (2.58)の証明は,剛体の角運動量Lの定義より,慣性テンソルが規定される

ことから考える必要がある.Lは,

L =

∫∫∫( W r × W r)ρdxdydz (9.3)

と定義され,W rは剛体の回転角速度W ωにより生じる速度である.ここで×はベクトルの外積を表わす.したがって,

W r = W ω × W r

81

Page 83: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

である.よって,Lは,Eを単位行列とすると,

L =

∫∫∫( W r × ( W ω × W r))ρdxdydz

=

∫∫∫( W rT W r W ω − W r W rT W ω)ρdxdydz

=

∫∫∫( W rT W rE − W r W rT )ρdxdydz · ω

= W Iω (9.4)

と表わされる.つまり,W Iの定義は,

W I =

∫∫∫( W rT W rE − W r W rT )ρdxdydz (9.5)

である.上式より式 (2.51)~(2.57)が得られる.ここで上の変形

W r × ( W ω × W r) = ( W rT W rE − W r W rT )ω (9.6)

を証明しておく.W r = [x, y, z]T,W ω = [ωx, ωy, ωz]T とすると,

W r × ( W ω × W r) =

∣∣∣∣∣∣∣

i j k

x y z

ωyz − ωzy ωzx − ωxz ωxy − ωyx

∣∣∣∣∣∣∣= [ωx(y

2 + z2) − ωyxy − ωzzx]i

+[−ωxxy + ωy(z2 + x2) − ωzyz]j

+[−ωxzx − ωyyz + ωz(x2 + y2)]k

=

ωx(y2 + z2) − ωyxy − ωzzx

−ωxxy + ωy(z2 + x2) − ωzyz

−ωxzx − ωyyz + ωz(x2 + y2)

=

y2 + z2 −xy −zx

−xy z2 + x2 yz

−zx −yz x2 + y2

ωx

ωy

ωz

=

x2 + y2 + z2 0 0

0 x2 + y2 + z2 0

0 0 x2 + y2 + z2

x2 xy zx

xy y2 yz

zx yz z2

ωx

ωy

ωz

= W rT W rE − W r W rT (9.7)

以上で式 (4.6)が確かめられた.

さて,W Riは,式 (1.4)で示すように座標系を変換する.ΣgiとΣW との変換

は,ΣgiとΣiが同じ姿勢を持つことから,

W Riで行うことができる.Σgiで表わ

されたベクトルを irと表わすと,これをΣW に基づく表現W rへの変換は,

W r =W Riir (9.8)

82

Page 84: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

と表わされ,これを式 (4.5)に代入してみる.

W I =

∫∫∫( irT W RT

iW Ri

irE − W Riir irT W RT

i )ρdxdydz

=

∫∫∫( irT irE − W Ri

ir irT W RTi )ρdxdydz)

=

∫∫∫( W Ri

W RTi

irT ir W RiW RT

i − W Riir irT W RT

i )ρdxdydz

重積は irに関する積分でありW Riは定数として取り扱うことができるから,上

式は

W I = W Ri

∫∫∫( W RT

iirT

iiri

W Ri − ir irT )ρdxdydz W RTi (9.9)

ここで,W RTi

irTi

iriW Ri − ir irT は,irT ir = ix2 + iy2 + iz2であるから,

W RTi

irTi

iriW Ri − ir irT

= ( ix2 + iy2 + iz2) W RTi

W Ri − ir irT

= ( ix2 + iy2 + iz2)E −

ix2 ix iy ix iziy ix iy2 iy iziz ix iy ix iz2

=

iy2 + iz2 − ix iy − ix iz

− iy ix ix2 + iy2 iy iz

− ix iz − iy iz ix2 + iy2

(9.10)

以上の結果より (4.9)の重積は,

iI i =

∫∫∫( W RT

iirT ir W Ri − iri irT )ρdxdydz

=

iIxxiIxy

iIxz

iIxyiIyy

iIyz

iIzxiIzy

iIzz

(9.11)

iIxx =

∫∫∫( iy2 + iz2)ρdxdydz

iIyy =

∫∫∫( ix2 + iz2)ρdxdydz

iIzz =

∫∫∫( ix2 + iy2)ρdxdydz

iIxy = −∫∫∫

ix iyρdxdydz

iIxz = −∫∫∫

ix izρdxdydz

iIyz = −∫∫∫

iy izρdxdydz

とΣiを規準にした表現となる.この定義を用いると,式 (4.9)は,

W I i = W RiiI i

W RTi (9.12)

と表わされる.

83

Page 85: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

付録 3運動学方程式(再掲)

W r =

W rx

W ry

W rz

=

fx(q1, q2, q3)

fy(q1, q2, q3)

fz(q1, q2, q3)

= f(q) (9.13)

式 3.1を一階微分すると

W r =d

dtf(q) =

∂f(q)

∂qT

dq

dt

=

fx(q1, q2, q3)

fy(q1, q2, q3)

fz(q1, q2, q3)

q1

q2

q3

dq1

dtdq2

dtdq3

dt

=

∂fx

∂q1

∂fx

∂q2

∂fx

∂q3∂fy

∂q1

∂fy

∂q2

∂fy

∂q3∂fz

∂q1

∂fz

∂q2

∂fz

∂q3

q1

q2

q3

= J(q)q (9.14)

となる.J(q)はヤコビ行列.これは手先速度と関節角速度の関係を表す.

_rd

移動可

移動不可jJ(q)j=0JÄ1

となりが存在しない

特異姿勢

※疑似逆行列 を用いて表現できる場合もある

J#

図 9.1:

付録 4W RAは,

W RA =[

W xAW yA

W zA

](9.15)

W xAはΣW から見たΣAの x軸単位ベクトル.W yAはΣW から見たΣAの y軸単位ベクトル.W zAはΣW から見たΣAの z軸単位ベクトル.

84

Page 86: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

xW

zW

yW

PW

xAzA

yA

PA

90°

y軸を中心に90度回転

2640

0

1

375

2640

1

0

375

2641

0

0

375

2641

0

0

375

2640

0

Ä1

375

2640

1

0

375

WRA=

2640 0 1

0 1 0

Ä1 0 0

375

図 9.2:

付録 53章式(3.52)について

W R3 = W R1(q1)1R2(q2)

2R3(q3)W r3 = W rW,1 + W R1(q1)

1r1,2 + W R1(q1)1R2(q2)

2r2,3

}

ここで

W R1(q1)1r1,2 =W r1,2

W R1(q1)1R2(q2)

2r2,3 =W r2,3

3章式 (3.61)

RT r =

xT

yT

zT

r =

xT r

yT r

zT r

=

rT x

rT y

rT z

において内積の計算の確認.

(a, b) = (b, a) (9.16)

aT b = a1b1 + a2b2 + a3b3 (9.17)

bT a = b1a1 + b2a2 + b3a3 (9.18)

となり,等しいことが明らか.同様に考えて 3章式 (3.61)のように変形できる.

85

Page 87: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

付録 6

���������

���������

×

+-

��� ��

=

����� − ���������� − ���������� −�����

�� � =

�� × ��

外積:

(4.10)

x

zy

!

0

0

1

W!i =

rv= r!

1

0

0

0

1

0

v=r×! !

r

v

・・・・

・i-thリンク

Wxi

Wzi Wyi W _xi

�� �:∑ の� �軸先端の速度

�� �=

図 9.3:

W _rg1

W _rg2

W _rg3

W _r3W _r2

W _r1=0

W!1

W!2

W!3

W _rH

Wr2;2gPW

P1

P2

P3

∑ で� 表した∑ の� 原点からリンク2の重心までの位置ベクトル

図 9.4:

86

Page 88: ロボット工学の基礎 ―マニピュレータの運動学・動 …第2章 2リンクマニピュレータの ラグランジュ解法 2.1 2リンクマニピュレータの運動方程式

付録 7

x

z y

x

z y

PW

W!

x

z y

PW

y

i-thリンク

質量要素dm

�������

�= 定数 �� = 変数

�� = ���(� ��� +� ��� )��非対角項が影響を及ぼさない

l2=W r2zi+W r2xi

図 9.5:

��

� = �� +���

m

図 9.6:

87