リンク平面シリアルリンクマニピュレータの数式モ...

7
Kiyotaka Izumi 2008/06/13 #1/7 2 リンク平面シリアルリンクマニピュレータの数式モデル 1. 順運動学 手先位置を (x, y) [m] とし,各リンクの関節角を θ 1 および θ 2 [rad] とする.マニピュレータの幾何学パラメー タである各リンク長を 1 および 2 [m] とすると x = 1 cos θ 1 + 2 cos (θ 1 + θ 2 ) (1) y = 1 sin θ 1 + 2 sin (θ 1 + θ 2 ) (2) という順運動学を得る.時間微分すると v x = dx dt = 1 ˙ θ 1 sin θ 1 2 ( ˙ θ 1 + ˙ θ 2 ) sin (θ 1 + θ 2 ) v y = dy dt = 1 ˙ θ 1 cos θ 1 + 2 ( ˙ θ 1 + ˙ θ 2 ) cos (θ 1 + θ 2 ) となる.行列・ベクトル表現すると [ v x v y ] = J [ ˙ θ 1 ˙ θ 2 ] J = [ 1 sin θ 1 2 sin (θ 1 + θ 2 ) 2 sin (θ 1 + θ 2 ) 1 cos θ 1 + 2 cos (θ 1 + θ 2 ) 2 cos (θ 1 + θ 2 ) ] となる.ここで,行列 J をヤコビ行列という. 2. 逆運動学 手先の位置ベクトルが与えられた場合にそれを実現する関節角を求める問題を逆運動学問題という.ここで,逆 運動学の計算に用いる関数 atan2(·, ·) がある.この関数は,2 つのスカラ変数 ab に対して atan2(a, b) = arg(b + ja) θ 1 θ 2 X Y Fig. 1 2-link manipulator

Upload: truongthuy

Post on 15-May-2018

221 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: リンク平面シリアルリンクマニピュレータの数式モ …izumi/lecture/two_link.pdfKiyotaka Izumi 2008/06/13 #1/7 2リンク平面シリアルリンクマニピュレータの数式モデル

Kiyotaka Izumi 2008/06/13 #1/7

2リンク平面シリアルリンクマニピュレータの数式モデル

1. 順運動学手先位置を (x, y) [m]とし,各リンクの関節角を θ1 および θ2 [rad]とする.マニピュレータの幾何学パラメー

タである各リンク長を `1 および `2 [m]とすると

x = `1 cos θ1 + `2 cos (θ1 + θ2) (1)

y = `1 sin θ1 + `2 sin (θ1 + θ2) (2)

という順運動学を得る.時間微分すると

vx =dx

dt= −`1θ1 sin θ1 − `2

(θ1 + θ2

)sin (θ1 + θ2)

vy =dy

dt= `1θ1 cos θ1 + `2

(θ1 + θ2

)cos (θ1 + θ2)

となる.行列・ベクトル表現すると[vx

vy

]= J

[θ1

θ2

]J =

[−`1 sin θ1 − `2 sin (θ1 + θ2) −`2 sin (θ1 + θ2)`1 cos θ1 + `2 cos (θ1 + θ2) `2 cos (θ1 + θ2)

]となる.ここで,行列 J をヤコビ行列という.

2. 逆運動学手先の位置ベクトルが与えられた場合にそれを実現する関節角を求める問題を逆運動学問題という.ここで,逆

運動学の計算に用いる関数 atan2(·, ·)がある.この関数は,2つのスカラ変数 a,bに対して

atan2(a, b) = arg(b + ja)

θ1

θ2

X

Y

Fig. 1 2-link manipulator

Page 2: リンク平面シリアルリンクマニピュレータの数式モ …izumi/lecture/two_link.pdfKiyotaka Izumi 2008/06/13 #1/7 2リンク平面シリアルリンクマニピュレータの数式モデル

Kiyotaka Izumi 2008/06/13 #2/7

Re

Im

0

a

b

arg(b + ja)

Fig. 2 Argument

X

Y

0

a

b

φ

c

θ

Fig. 3 Geometric configuration

で定義されるスカラ関数である.ここで,j は虚数単位,argは複素数の偏角を表す.この関数を用いて

a sin θ + b cos θ = c

の解 θ を求める.ただし,a,bおよび cは既知のスカラ定数で a2 + b2 ≥ c2 を満足するものとする.この問題は幾何学的に Fig. 3に示すように,(b, a)の点からの垂線の足と原点間の距離が cであるような直線の x軸からの角度 θ を求めよというものである.まず

φ = atan2(a, b)

とおくとc =

√a2 + b2 cos(θ − φ)

であるから √a2 + b2 sin(θ − φ) = ±

√a2 + b2 − c2

となる.ここで,atan2(·, ·)の性質

θ = atan2(k sin θ, k cos θ) k > 0

atan2(±a, b) = ±atan2(a, b)

を用いるとθ − φ = ±atan2

(√a2 + b2 − c2, c

)を得る.したがって,解は

θ = φ ± atan2(√

a2 + b2 − c2, c)

= atan2(a, b) ± atan2(√

a2 + b2 − c2, c)

となる.逆運動学を解く.`22 = `22 cos2 (θ1 + θ2) + `22 sin2 (θ1 + θ2) が成立するので,この式に式 (1)と式 (2)を代入す

ると

`22 = (x − `1 cos θ1)2 + (y − `1 sin θ1)

2

y sin θ1 + x cos θ1 =x2 + y2 + `21 − `22

2`1

Page 3: リンク平面シリアルリンクマニピュレータの数式モ …izumi/lecture/two_link.pdfKiyotaka Izumi 2008/06/13 #1/7 2リンク平面シリアルリンクマニピュレータの数式モデル

Kiyotaka Izumi 2008/06/13 #3/7

θ1

θ2

X

Y

φ

Right-hand

θ1

θ2

Left-hand

Fig. 4 The posture of a 2-link manipulator

となる.よって

θ1 = atan2 (y, x) ± atan2(√

x2 + y2 − d21, d1

)(3)

d1 =x2 + y2 + `21 − `22

2`1

を得る.ここで,θ1 に関して 2つの解が求められており,これは Fig. 4に示すように逆運動学の解として 2つの姿勢が存在することを意味しており,atan2(·, ·)の符号が正のとき左手形となり,負のとき右手形となる.同様にして,`21 = `21 cos2 θ1 + `21 sin2 θ1 の関係より

`21 = {x − `2 cos (θ1 + θ2)}2 + {y − `2 sin (θ1 + θ2)}2

y sin (θ1 + θ2) + x cos (θ1 + θ2) =x2 + y2 − `21 + `22

2`2

となる.よって

θ1 + θ2 = atan2 (y, x) ± atan2(√

x2 + y2 − d22, d2

)d2 =

x2 + y2 − `21 + `222`2

となる.ただし,atan2(·, ·) の符号が正のとき右手形となり,負のとき左手形となるので,式 (3) の符号に合わせて

θ2 = ∓atan2(√

x2 + y2 − d21, d1

)∓ atan2

(√x2 + y2 − d2

2, d2

)となる.例えば,Fig. 1に示す右手形での逆運動学は

θ1 = atan2 (y, x) − atan2(√

x2 + y2 − d21, d1

)θ2 = atan2

(√x2 + y2 − d2

1, d1

)+ atan2

(√x2 + y2 − d2

2, d2

)である.

Page 4: リンク平面シリアルリンクマニピュレータの数式モ …izumi/lecture/two_link.pdfKiyotaka Izumi 2008/06/13 #1/7 2リンク平面シリアルリンクマニピュレータの数式モデル

Kiyotaka Izumi 2008/06/13 #4/7

3. 動力学3.1 ラグランジュの運動方程式系内の運動エネルギーの総和をK,ポテンシャルエネルギーの総和を U とするとき,ラグランジュ関数 Lを

L = K − U

とする.ラグランジュの運動方程式は,Lを用いて

d

dt

(∂L

∂qi

)− ∂L

∂qi= ui (i = 1, 2, . . . , n)

である.ここで,nは運動の自由度であり,qi はこの自由度に対する変位や回転角を意味する一般化座標であり,qi は qi の時間微分値を意味する一般化速度であり,ui は qi 方向に働くポテンシャル力以外の外力や制御入力を意味する一般化力である.3.2 マニピュレータの運動方程式

Fig. 1に示すマニピュレータは,質点として各リンクの重心位置を考え,その個数が 2つであるので,自由度 n

は 2である.運動エネルギーの総和K は

K = K1 + K2

K1 =12m1x

2g1 +

12m1y

2g1 +

12I1θ

21

K2 =12m2x

2g2 +

12m2y

2g2 +

12I2

(θ1 + θ2

)2

である.ここで,mi は第 iリンクの質量 [kg]であり,Ii は第 iリンクの重心中心の慣性モーメント [kgm2]である.(xgi, ygi)は,第 i リンクの重心位置 [m]であり,第 i関節から (xgi, ygi)までの距離 [m]を `gi とすると

xg1 = `g1 cos θ1

yg1 = `g1 sin θ1

xg2 = `1 cos θ1 + `g2 cos (θ1 + θ2)

yg2 = `1 sin θ1 + `g2 sin (θ1 + θ2)

である.θ1 と θ2 は時間変化するので,これらを時間微分すれば

xg1 = −`g1θ1 sin θ1

yg1 = `g1θ1 cos θ1

xg2 = −`1θ1 sin θ1 − `g2

(θ1 + θ2

)sin (θ1 + θ2)

yg2 = `1θ1 cos θ1 + `g2

(θ1 + θ2

)cos (θ1 + θ2)

Page 5: リンク平面シリアルリンクマニピュレータの数式モ …izumi/lecture/two_link.pdfKiyotaka Izumi 2008/06/13 #1/7 2リンク平面シリアルリンクマニピュレータの数式モデル

Kiyotaka Izumi 2008/06/13 #5/7

となる.よって,各リンクの運動エネルギーKi は

K1 =12m1

(−`g1θ1 sin θ1

)2

+12m1

(`g1θ1 cos θ1

)2

+12I1θ

21

=12

(m1`

2g1 + I1

)θ21

K2 =12m2

{−`1θ1 sin θ1 − `g2

(θ1 + θ2

)sin (θ1 + θ2)

}2

+12m2

{`1θ1 cos θ1 + `g2

(θ1 + θ2

)cos (θ1 + θ2)

}2

+12I2

(θ1 + θ2

)2

=12

{m2`

21θ

21 + 2m2`1`g2θ1

(θ1 + θ2

)cos θ2 +

(m2`

2g2 + I2

) (θ1 + θ2

)2}

となる.ポテンシャルエネルギーの総和 U は,重力加速度を g [m/s2]とすると重心位置の高さから

U = U1 + U2

U1 = m1g`g1 sin θ1

U2 = m2g {`1 sin θ1 + `g2 sin (θ1 + θ2)}

となる.算出した K および U は,θ1 および θ2 とそれらの時間微分値 θ1 および θ2 の関数となることが分かる.したがって,このマニピュレータの一般化座標ベクトル q を

q =[q1

q2

]=

[θ1

θ2

]と選択すればよいことが分かる.アクチュエータにより各関節に駆動トルク τi [Nm]を印加できると考えて一般化力ベクトル uは

u =[u1

u2

]=

[τ1

τ2

]とする.まず,第 1リンクについての運動方程式を求める.Ki を θ1 で偏微分すると

∂K1

∂θ1

=(m1`

2g1 + I1

)θ1

∂K2

∂θ1

= m2`21θ1 + m2`1`g2

(θ1 + θ2

)cos θ2 + m2`1`g2θ1 cos θ2 +

(m2`

2g2 + I2

) (θ1 + θ2

)= m2`

21θ1 + m2`1`g2

(2θ1 + θ2

)cos θ2 +

(m2`

2g2 + I2

) (θ1 + θ2

)を得る.これらを時間微分すると

d

dt

(∂K1

∂θ1

)=

(m1`

2g1 + I1

)θ1

d

dt

(∂K2

∂θ1

)= m2`

21θ1 + m2`1`g2

(2θ1 + θ2

)cos θ2 − m2`1`g2

(2θ1 + θ2

)θ2 sin θ2 +

(m2`

2g2 + I2

) (θ1 + θ2

)=

(m2`

21 + m2`

2g2 + I2 + 2m2`1`g2 cos θ2

)θ1 +

(m2`

2g2 + I2 + m2`1`g2 cos θ2

)θ2

− m2`1`g2

(2θ1 + θ2

)θ2 sin θ2

を得る.U は,陽に θ1 を含まないので∂U

∂θ1

= 0

d

dt

(∂U

∂θ1

)= 0

Page 6: リンク平面シリアルリンクマニピュレータの数式モ …izumi/lecture/two_link.pdfKiyotaka Izumi 2008/06/13 #1/7 2リンク平面シリアルリンクマニピュレータの数式モデル

Kiyotaka Izumi 2008/06/13 #6/7

である.したがって

d

dt

(∂L

∂θ1

)=

d

dt

(∂K

∂θ1

)− d

dt

(∂U

∂θ1

)=

d

dt

(∂K1

∂θ1

)+

d

dt

(∂K2

∂θ1

)=

(m1`

2g1 + m2`

21 + m2`

2g2 + I1 + I2 + 2m2`1`g2 cos θ2

)θ1 +

(m2`

2g2 + I2 + m2`1`g2 cos θ2

)θ2

− m2`1`g2

(2θ1 + θ2

)θ2 sin θ2

を得る.Ki は,陽に θ1 を含まないので∂K

∂θ1= 0

である.Ui を θ1 で偏微分すると∂U1

∂θ1= m1g`g1 cos θ1

∂U2

∂θ1= m2g {`1 cos θ1 + `g2 cos (θ1 + θ2)}

を得る.したがって∂L

∂θ1=

∂K

∂θ1− ∂U

∂θ1

= −∂U1

∂θ1− ∂U2

∂θ1

= − (m1g`g1 + m2g`1) cos θ1 − m2g`g2 cos (θ1 + θ2)

を得る.ゆえに,第 1リンクの運動方程式は(m1`

2g1 + m2`

21 + m2`

2g2 + I1 + I2 + 2m2`1`g2 cos θ2

)θ1 +

(m2`

2g2 + I2 + m2`1`g2 cos θ2

)θ2

−m2`1`g2

(2θ1 + θ2

)θ2 sin θ2 + (m1g`g1 + m2g`1) cos θ1 + m2g`g2 cos (θ1 + θ2) = τ1 (4)

となる.第 2リンクに対しても同様にして,運動方程式は(m2`

2g2 + I2 + m2`1`g2 cos θ2

)θ1 +

(m2`

2g2 + I2

)θ2 + m2`1`g2θ

21 sin θ2 + m2g`g2 cos (θ1 + θ2) = τ2 (5)

となる.ロボットの一般式

M (θ) θ + h(θ, θ

)+ g (θ) = τ

のように,式 (4)と式 (5)を整理すると

M (θ) =[m1`

2g1 + m2`

21 + m2`

2g2 + I1 + I2 + 2m2`1`g2 cos θ2 m2`

2g2 + I2 + m2`1`g2 cos θ2

m2`2g2 + I2 + m2`1`g2 cos θ2 m2`

2g2 + I2

]h

(θ, θ

)=

[−m2`1`g2

(2θ1 + θ2

)θ2 sin θ2

m2`1`g2θ21 sin θ2

]

g (θ) =[(m1g`g1 + m2g`1) cos θ1 + m2g`g2 cos (θ1 + θ2)

m2g`g2 cos (θ1 + θ2)

]となる.ただし,θ = [θ1 θ2]T であり,その時間微分値を θ とし,さらに時間微分した値を θ とし,τ = [τ1 τ2]T

である.

Page 7: リンク平面シリアルリンクマニピュレータの数式モ …izumi/lecture/two_link.pdfKiyotaka Izumi 2008/06/13 #1/7 2リンク平面シリアルリンクマニピュレータの数式モデル

Kiyotaka Izumi 2008/06/13 #7/7

参考文献[1] 吉川恒夫,“ロボット制御基礎論”,コロナ社 (1988)

[2] 川崎晴久,“ロボット工学の基礎”,森北出版 (1991)

[3] 古田勝久,川路茂保,美多勉,原辰次,“メカニカルシステム制御”,オーム社 (1984)