• 検索結果がありません。

Microsoft PowerPoint - ロボットの運動学forUpload'C5Q [互換モード]

N/A
N/A
Protected

Academic year: 2021

シェア "Microsoft PowerPoint - ロボットの運動学forUpload'C5Q [互換モード]"

Copied!
21
0
0

読み込み中.... (全文を見る)

全文

(1)

ロボットの運動学

ロボットの運動学

順運動学とは

順運動学とは

座標系の回転と並進

同次座標変換行列

Denavit-Hartenbergの表記法

多関節ロボットの順運動学

多関節ロボットの順運動学

レポート課題

&中間試験について

逆運動学とは

ヤコビアン行列

(2)

ロボットの運動学・動力学

(

)

P

θ

( )

θ

( )

θ

( )

θ

( )

Equation of motion ( ( ), ( ), ( ))

f θ



t

θ



t

θ

t

=

τ

( )

t

運動方程式

(微分方程式)

姿勢

(関節角の組合せ)

Posture ( )

θ

t

=

(

θ

1

( )

t

θ

2

( )

t

"

θ

N

( )

t

)

(

)

Tip position ( )

p

t

=

x t

( )

y t

( )

z t

( )

姿勢

(関節角の組合せ)

手先位置

(順)

運動

Kinematics

θ

p

姿勢

を求める(関節角)から

手先位置・方

運動

Inverse kinematics

p

θ

(目標とする)

手先位置・方向

を 実現する

姿勢

(関節角)を求める

運動

(軌道)計画

(順)

動力

τ

( )

t

θ

( )

t

運動方程式

を解いて

トルク

パタ ン

運動

(軌道)計画

(順)

動力

Dynamics

動力

( )

t

( )

t

τ

θ

運動方程式

を解いて

トルク

パターン から

姿勢変化

(

時間変化

)を求める

( )

t

( )

t

θ

τ

(目標とする)

姿勢変化

を実現する

シミュレーション

動力

Inverse Dynamics

θ

( )

t

( )

τ

t

(目標とする)

姿勢変化

を実現する

トルク

パターン(

時間関数

)を求める

制御

(3)

ロボットの順運動学

順運動学とは,ロボットの

各関節の変位量

が 与えられたとき,ロボットの

手先の位置と方向

基準座標系

基準座標系

から見てどのようになるかを求める 問題である. [1] 回転運動に伴う座標変換 座標変換

O x y z

O x y z

[2] 並進運動を伴う座標変換 座標変換行列

R

1 1 1

O x y z

O x y z

2 2 2 [ ] 並進運動を伴う座標変換 同次座標変換行列

T

1 2

( )

z

T

30

θ

=

D 2 1

y

2

y

2 y 0 5

( )

1

x

y

z

⎛ ⎞

⎜ ⎟

=

= ⎜ ⎟

⎜ ⎟

p

u

2

( )

( ) z θ R 2 1

z

z

1 2

y

2

x

2

O

1 y 0 0.86 0.5 θ p [3] 多関節ロボットの座標変換

( )

1

1

⎜ ⎟

⎜ ⎟

z

⎝ ⎠

x

O

2

y

1

y

θ 1 2 1

x

1

O

2

O

1 x x2 [3] 多関節ロボットの座標変換 0 0 1 1 1

( )

1 2

( )

2

( )

n n

q

q

n

q

n

=

T

T

T

"

T

1

x

2

x

θ

(4)

例1

手先位置の計算

関節の回転角から手先位置を求める 1 1 2 1 2 1 1 2 1 2

cos

cos(

)

sin

sin(

)

e e

e

l

l

l

l

x

y

θ

θ θ

θ

θ θ

+

+

⎞ ⎛

=

⎟ ⎜

=

+

+

p

平面

2

リンクの場合

1

sin

1 2

sin(

1 2

)

e

l

l

y

θ

+

θ θ

+

3 1 2 2

2

2.23

e

x

× +

y

2 2 3 1 2 2

2.23

1.87

2

e e

x

y

= ⎜

⎟ ⎜

× +

⎠ ⎝



意味を考えると

2

y

e

p

1 3 2 2

2

e

x

⎛ ⎞

×

⎜ ⎟

意味を考えると 2

1

l

=

2

30

θ

=

D 2 3 1 2 2

2

e e

y

=

+ ⎜ ⎟

⎟ ⎜

×

⎟ ⎜ ⎟

⎠ ⎝

⎠ ⎝ ⎠

O

から

p

移動

p

から

p

へ移動

1

2

l

=

1 2

60

θ θ

+

=

D

cos(

)

l

θ θ

+

p

0

3 1 3 3 2 2 2 2

2

⎛ ⎞

=

+ ⎜

⎜ ⎟

⎜ ⎟

O

から

p

0 へ移動

p

0 から

p

e

へ移動 1

2

l

=

1

30

θ

=

D 2

cos(

1 2

)

l

θ θ

+

1 1 3 1 2 2 2 2

2

=

+ ⎜

⎜ ⎟

⎜ ⎟

⎝ ⎠

30度の回転

1

2

1

30

θ

x

1

cos

1

l

θ

O

(5)

例1

つづき

各関節の座標系から見たリンク先端位置座標を組合わせて基準座標系における手先位置を得る

2

1

y

2

p

0

3

1

= ⎜ ⎟

p

座標系

O

1

-x

1

y

1から 見た

O

2の位置

O

1

x

1

y

1から

O

2

x

2

y

2への

平行移動

2

30

D 2

y

p

2 3 2 1

2

⎛ ⎞

= ⎜ ⎟

p

座標系

O

2

-x

2

y

2から

O

1

-x

1

y

1から

O

2

-x

2

y

2への

平行移動

(

)

3 2 3 1 1 2

cos

sin

i

30

30

30

30

=

= ⎜

R

1

O

30

2

x

p

1

p

2

⎜ ⎟

⎝ ⎠

12

p

見た

p

2の位置

(

)

1 3 2 2

sin

30

cos

30

R

2

O

30

D 0

p

座標系

O

1

-x

1

y

1から見た座標系

O

2

-x

2

y

2

回転

平行移動と回転を

変換 表す

( )

0

( )

2

=

T

u

=

R

p

p

u

1

2

x

1

30

1

O

平行移動と回転を1つの変換で表す

( )

( )

1

=

T

u

2

=

0

1

1

u

3 2 −1 2 3 3 2

3 1 2+

2.23

⎞ ⎛

p

⎟ ⎜

1 2 3 2 1 0 0 1 1 3 2 1 1 1 23 2 1

1

2.23

1.87

1

1

+

⎟ ⎜

=

=

=

p

u



(6)

i

θ

θ

⎛ ⎞

⎛ ⎞

座標系の回転

2次元の例

2

y

1 2 1 2

cos

sin

sin

cos

x

x

y

y

θ

θ

θ

θ

⎛ ⎞

⎛ ⎞

=

⎜ ⎟

⎜ ⎟

⎝ ⎠

2

y

0 87

1

⎛ ⎞

1 2

y

y

⎝ ⎠

⎝ ⎠

1

p

θ

回転

p

2 1

y

0

0.5

1

1 2

0.87

0.5

1

0

=

⎛ ⎞

= ⎜ ⎟

p

p

3

⎛ ⎞

30

θ

= °の場合

0.87

θ

p

3 2 3 1 2 2 1 2

2

3

1

2

0.87

0.5

1

0

1

⎛ ⎞ ⎛

=

⎛ ⎞

⎜ ⎟

=

⎜ ⎟ ⎜

⎜ ⎟ ⎝

⎝ ⎠

p



2

y

1

x

x

2 2 2

⎝ ⎠

2

2 1

0

1

=

⎛ ⎞

⎜ ⎟

⎝ ⎠

p

1

y

p

3 2 3 1 2 2 1 2 1 3 2 1 2

0.5

0.87

0

1

=

=

⎟ ⎜

⎟ ⎝

=

⎛ ⎞

⎜ ⎟

⎝ ⎠

p

θ

2 2

2

1

x

x

2 移動後の座標系で与えられた位置が

基準座標系から見てどの位置になるか

を座標変換行列で計算する

(7)

演習

座標系の回転

回転後の座標系で与えられた位置

基準座標系から見てどの位置になるか

が 座標変換行列を 計算 なさ

y

1 2 1 3

?

⎛ ⎞ = ⎜ ⎝ ⎠ ⇒

p

=

p

30

θ

= °

の場合

座標変換行列を用いて計算しなさい 2

y

0

p

p

2 ⎜ 3⎟

p

1 3 2 − 12

1

23 23

0

⎞ ⎛ ⎞

=

=

⎟ ⎜ ⎟

=

p

場合

1

y

0

θ

p

?

3 1 2 2 3 1 2 2

3

2

1

=

=

+

⎟ ⎜ ⎟

=

p

2 ⎛ ⎞ 2

x

1 2 2 0

?

⎛ ⎞ = ⎜ ⎟ ⎝ ⎠ ⇒

p

=

p

45

θ

=

°

の場合

2

y

1

x

2 まず

45

回転の行列を求める 2 2 2 2

cos 45

° −

sin 45

°

⎟ ⎜

=

1

y

?

まず

45

回転の行列を求める 2 2 2 2 2 2

2

2

0

2

×

⎞ ⎛

⎛ ⎞

2 2 2

2

sin 45

°

cos 45

°

⎟ ⎜

⎠ ⎝

θ

p

?

2 2 2 2 2 2 2 2 2

2

0

2

2

0

2

2

0

1

×

⎞ ⎛

=

=

⎟ ⎜

=

⎟ ⎝ ⎠

×

⎜ ⎟

p

1

x

x

2

p

?

(8)

座標変換行列

R

任意軸

⎛ ⎞ ⎛

x

cos

θ

sin

θ

0

⎞⎛ ⎞

x

z

軸周りに

θ回転

2 1 rx (1 C ) C r rx y(1 C ) r Sz r rx z(1 C ) r Sy 2 x ⎛ − θ + θ − θ − θ − θ + θ ⎞ x ⎛ ⎞ ⎛ ⎞ ⎜ ⎟ ⎜ ⎟

任意軸

r

周りに

θ回転

1 2 1 2 1 2

cos

sin

0

sin

cos

0

0

0

1

x

x

y

y

z

z

θ

θ

θ

θ

⎛ ⎞ ⎛

⎞⎛ ⎞

⎜ ⎟ ⎜

=

⎟⎜ ⎟

⎜ ⎟ ⎜

⎟⎜ ⎟

⎝ ⎠ ⎝

⎠⎝ ⎠

2 2 1 2 1 2 where (1 ) (1 ) (1 ) (1 ) (1 ) (1 ) cos , sin x y z y y z x x z y y z x z r r C r S r C C r r C r S r r C r S r r C r S r C C y y z z C S θ θ θ θ θ θ θ θ θ θ θ θ θ θ θ θ − + − + − − − − − + − + ⎜ ⎟ ⎜ ⎟ = ⎜ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ ⎝ ⎠ = =

p

1

=

R

z

( )

θ

p

2 θ θ x

r

⎛ ⎞

⎜ ⎟

z

1

0

x

( )

θ

⎛ ⎞

=

⎜ ⎟

R

r

⎛ ⎞ ⎛

x

1

1

0

0

⎞⎛ ⎞

x

2

⎜ ⎟ ⎜

⎟⎜ ⎟

x

軸周りに

θ回転

x y z

r

r

⎛ ⎞

= ⎜ ⎟

⎜ ⎟

⎝ ⎠

r

θ

0

x

( )

⎜ ⎟

⎝ ⎠

0

1

( )

θ

⎛ ⎞

=

⎜ ⎟

R

r

1 2 1 2

0 cos

sin

0 sin

cos

( )

y

y

z

z

θ

θ

θ

θ

θ

⎜ ⎟ ⎜

=

⎟⎜ ⎟

⎜ ⎟ ⎜

⎟⎜ ⎟

⎝ ⎠ ⎝

⎠⎝ ⎠

R

x

y

θ

1

0

y

( )

θ

=

⎜ ⎟

⎝ ⎠

R

r

0

0

( )

θ

⎛ ⎞

=

⎜ ⎟

R

r

p

1

=

R

x

( )

θ

p

2

y

軸周りに

θ回転

x

0

1

z

( )

θ

=

⎜ ⎟

⎝ ⎠

R

r

1 2 1 2

cos

0 sin

0

1

0

x

x

y

y

θ

θ

⎛ ⎞ ⎛

⎞⎛ ⎞

⎜ ⎟ ⎜

=

⎟⎜ ⎟

⎜ ⎟ ⎜

⎟⎜ ⎟

y

1

sin

0 cos

2

y

( )

z

θ

θ

z

θ

⎜ ⎟ ⎜

⎟⎜

⎝ ⎠ ⎝

=

1 2

p

R

p

R

y だけ

sin

の符号が違うことに注意

(9)

並進を伴う座標変換

y

1

y

2

y

1

O

1

(3)

3.5

1

⎛ ⎞

0.5

2

O

1

1

3

⎛ ⎞

= ⎜ ⎟

⎝ ⎠

0

p

1

x

θ

1

p

1

0

⎛ ⎞

= ⎜ ⎟

⎝ ⎠

2

p

2

x

0.87

1.87

1 0.87 3 0.5 ⎛ ⎛ ⎞ ⎛ ⎞⎞ = + ⎜ ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ ⎝ ⎠ ⎝

p

1

=

+

1

2

0

p

Rp

p

3 3 1 2 2 1 0 1 1 0.87 1 1.87 − ⎛ ⎞⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎟⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎜ ⎟ 2

x

3 0.5 ⎝ ⎠ ⎝ ⎠ ⎝ ⎠ 単純な掛算で表したい 3 2 1 2 0 0 0 1 0 3 0.5 3 3.5 0 0 0 0 0 ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ = ⎜ ⎟ ⎜ ⎟ ⎜+ = ⎟ ⎜ ⎟ ⎜+ = ⎟⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟⎝ ⎠ ⎝ ⎠ ⎝ ⎠ ⎝ ⎠ ⎝ ⎝ ⎠ 1

p

p

(30)

R

p

(1つの変換行列)

⎛ ⎞ ⎛

p

1

R p

0

⎞⎛ ⎞

p

2 0

p

(30)

2

R

z

p

0

1

1

1

⎛ ⎞ ⎛

⎞⎛ ⎞

=

⎜ ⎟ ⎜

⎟⎜ ⎟

⎝ ⎠ ⎝

⎠⎝ ⎠

1 0 2

p

p

p

(10)

同次座標変換行列

1 2 1 2 1 2 x x y y ⎛ ⎞ ⎛ ⎞ ⎜ ⎟ ⎜ ⎟ ⎛ ⎞ ⎜ ⎟ ⎛ ⎞ ⎜ ⎟ = = = = ⎜ ⎟ ⎜ ⎟

p

p

u

u

3 2 3 1 2 2 1 3 1 2 2 2 0 1 1 1 1.87 0 3 3.5 0 3 − ⎛ ⎞⎛ ⎞ + ⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟ + = = = ⎜ ⎟ ⎜ ⎟

u

1 2 , 1 1

1

=

1

= ⎜ ⎟z

2

= ⎜

1

= ⎜ ⎟z ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ ⎝ ⎠

u

u

=

2 2 1 0 0 0 0 0 1 0 0 0 0 1 1 1 1 ⎜ ⎟ ⎜ ⎟ = = = ⎜ ⎟ ⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟⎝ ⎠ ⎜ ⎟ ⎝ ⎠ ⎝ ⎠

u

同次座標変換

行列

T

2

u

=

位置座標に形式的に

を加える

同次座標変換

行列

T

1

y

O 3.5 1 (3) 1

z

3 1 2 2 0 1 1 ⎛ ⎞ ⎜ ⎟ ⎜ ⎟ 2

y

1 O 2 O 1 3 0 ⎛ ⎞ = ⎜ ⎟⎜ ⎟ ⎝ ⎠ 0 p 3 1 2 2 0 3 0 0 1 0 0 0 0 1 1 2 ⎜ ⎟ = ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎝ ⎠

T

1

x

0.5 θ 2 O 1 2 1 0 0 ⎛ ⎞ = ⎜ ⎟⎜ ⎟ ⎝ ⎠ p 1 1.87 3.5 0 ⎛ ⎞ = ⎜ ⎝ ⎠ p 座標系

O

2

-x

2

y

2

z

2

から 座標系

O

1

-x

1

y

1

z

1

への ⎝ ⎠ 1 2

x

0.87 1.87 ⎝ 0 ⎠ ⎝ ⎠0 座標系

O

1

-x

1

y

1

z

1

への 同次座標変換行列

(11)

多関節ロボットの座標変換

座標系

O

基準座標系

O

座標変換行列

0

T

座標系

O

n

-x

n

y

n

z

nから

基準座標系

O

0

-x

0

y

0

z

0への

座標変換行列

0

T

n 各関節間の座標変換行列の積 0 0 1 1 1

( )

1 2

( )

2

( )

n n

q

q

n

q

n

=

T

T

T

"

T

0 0 ( 90) ( 90) ( 90) ( 90) int 90 1 0 0 0 0 cos sin 0 1 0 sin cos 0 0 0 1 x z l l θ − − − − − = =− ⎛ ⎞ ⎜ ⎟ = ⎜ ⎝ ⎠

T

0 0 0 1 1 0 0 0 0 0 1 0 0 1 0 x l ⎝ ⎠ ⎛ ⎞ ⎜ ⎟ = ⎜ − ⎟ ⎜0 1 0 0 ⎟ 0 0 0 1l ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ 2 2 2 2 90 90 1 cos sin 0 0 1 0 0 0 0 cos sin 0 sin cos 0 0 z l θ θ θ θ = − − ⎛ ⎞⎛ ⎞ ⎜ ⎟⎜ ⎟ = ⎜ ⎟⎜ ⎟

T

1 2 2 2 2 2 1 90 90 90 2 0 0 1 0 0 sin cos 0 0 0 1 0 0 0 1 cos sin 0 0 1 0 0 0 0 0 1 0 i z x z l l θ θ θ θ θ = = = − = ⎜ ⎟⎜ ⎝ ⎠ ⎝ ⎠ ⎛ ⎞⎛ ⎞ ⎜ ⎟⎜ ⎟

T

1 2 2 0 0 1 0 sin cos 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 = ⎜⎜ θ θ ⎟⎜⎟⎜l ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ cosθ 0 sinθ 0 ⎛ ⎞ 1 2 2 2 2 cos 0 sin 0 sin 0 cos 0 0 1 0 0 0 0 1 l θ θ θ − θ ⎛ ⎞ ⎜ ⎟ = ⎜ ⎟ ⎜ ⎟ ⎝ ⎠

(12)

多関節ロボットの座標変換

ー同次変換行列の別誘導法ー

前頁

1

は次

よう 求める とも きる

2 2 cos 0 sin 0 1 0 0 0 0 cos sin 0 0 1 0 0 1

T

θ θ

90 − 90

θ θ

前頁の

1

T

2

は次のように求めることもできる

2 2 1 1 2 90 0 cos sin 0 0 1 0 0 1

2 0 sin cos sin 0 cos 0 0 0 0 1 0 0 0 1 0 i 0 1 0 0 0 90 90 90 90 y x z l

l

θ θ θ θ θ θ θ = = = −

=

⎟⎜

⎠⎝

T

1 2 2 2 2 cos 0 sin 0 1 0 0 0 0 0 1 0 0 1 0 0 0 1 0 sin 0 cos 0 0 0 0 1 0 0 0 1

l θ θ θ θ − −

=

⎟⎜

0 0 0 1

⎠⎝

0 0 0 1

⎠⎝

2 2 2 2 cos 0 sin 0 sin 0 cos 0 θ θ θ − θ

= ⎜

1 0 1 0 0 0 0 l1

= ⎜

どんな順序で座標系の変換を行 たと考えるかで

どんな順序で座標系の変換を行ったと考えるかで

誘導は異なるが,結果は同じ

(13)

演習

極座標型ロボットの運動学

θ

x

2

r

1

z

e

p

1. O

2

-x

2

y

2

z

2から

O

1

-x

1

y

1

z

1への変換行

手順

0

z

2

z

1

x

h

d

. O

21

T

x

2

y

2 2から

O

1

x

1

y

1 1 の変換行 2 (y 方向へ d 平行移動+ y 軸 周りにφ回転),

O

1

-x

1

y

1

z

1から

O

0

y

2 1

y

h

x

0

y

0

z

0へとするの変換行列

0

T

1

(

z

方 向へ

h

平行移動+

z

軸周りにθ回転) 1. 座標系

O

2

-x

2

y

2

z

2から基準座標系 0

x

0

y

を求め,

T

=

0

T

11

T

2 とする.

2. T

h=3

,

θ

=

30

,

d=2

,

φ

=

270

,

r=5

O

0

-x

0

y

0

z

0への座標変換行列

T

を 求めよ. 2 O0からO1への平行移動量

h=3 z

0 を代入して

T

を具体的に数値で表し,

O

2

-x

2

y

2

z

2から見た手先位置の座標

(0 0 )

から作 た

p

(0 0

r

1)

T 2. O0からO1への平行移動量

h 3

,

z

0 軸回転角

θ

=

30

°, O1からO2への 平行移動量

d=2

,

y

1軸回転角

(0, 0, r)

から作った

p

2

= (0 0

r

1)

T を掛けて

p

e

=

T p

2を得る.

y

1

φ

=

270

°,

r=5

のとき,

O

0

-x

0

y

0

z

0 から見た

p

eの座標を求めよ.

(14)

演習 極座標型ロボットの運動学 (解)

1 変換行列1

T

0

T

は それぞれ 1. 変換行列1

T

2

,

0

T

1 は,それぞれ

cos

sin

0 0

sin

cos

0 0

0

0

0

1

1

h

h

θ

θ

θ

θ

= ⎜

T

cos 0 sin 0 0 1 0 i 0 0 1 2 d d

φ

φ

φ

φ

= ⎜

T

0

0

1

1

1

0

0

0

z z h

h

θ θ==

sin 0 cos 0 2 0 0 0 1 y y d θ φ==

φ

φ

T

よって

cos cos

θ

φ

sin

θ

cos sin

θ

φ

dsin

θ

c sθ φ sθ c sθ φ d sθ

0 1 1 2 c s c s s c s 0 c 0 0 0 1

cos cos sin cos sin sin

cos sin cos sin sin cos

sin 0 cos 0 0 0 1 d h d d h θ φ θ θ φ θ φ θ θ θ φ θ φ φ

θ

φ

θ

θ

φ

θ

φ

θ

θ

θ

φ

θ

φ

φ

− −

=

=

= ⎜

⎟ ⎜

⎠ ⎝

T T

T

0 0 0 1 0 0 0 1

⎠ ⎝

2. T

h=3

, θ=

30

,

d=2

, φ=

270

,

r=5

を代入すると よく行われる略記法 3 1 ⎛ ⎞

θ

r

2

z

2

x

1

z

e

p

d

なので

p

2= (0 0

5

1)T を掛けて 3 1 2 2 3 1 2 2 0 1 0 3 1 0 0 3 − − − − ⎛ ⎞ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟

=

T

φ

0

z

2 2

y

1

x

1

y

h

d

0 0 0 1 ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ 5 3 2 5 3 1 2 2 3 1 0 1 0 3 1 3

0

5.33

0

0 77

− − −

− −

⎞⎛ ⎞

⎟⎜ ⎟

T

φ

0

x

0

y

5 2 3 1 2 2 0 3 1 0 0 3 0 0 0 1 2 3 3 1

0

0.77

5

1

3

1

e − − +

⎟⎜ ⎟

= ⎜

⎟⎜ ⎟

⎜ ⎟

⎟⎝ ⎠

=

=



p Tp

(15)

DH

Denavit-Hartenberg

g

の表記法

4つの変数(

リンクパラ メータ

)で多リンク機構を系統的に表現

リンク座標系

∑ を ∑

から見た場合の

同 次

変換で記述する

リンク座標系

∑i を ∑i-

1

から見た場合の

同 次

変換で記述する

リンクパラメータ

変換行列

リ ク

(i)

x

i

軸 に沿って

a

i-1

だけ

並進

(ii)

x

軸回りに

α

だけ

回転

(

1 1

)

T

X

i

,

a

i

T

変換行列

(

)

R

X

α

T

(ii)

x

i-1

軸回りに

α

i-1

だけ

回転

(iii)

z

i

軸 に沿って

d

i

だけ

並進

(

1 1

)

R

X

i

,

α

i

T

(

)

T

Z d

i

,

i

T

(

Z

θ

)

T

(iv)

z

i

軸回りに

θ

i

だけ

回転

T

R

(

Z

i

,

θ

i

)

長さ

a

i-1

の線分は,

関節

i-1 の回転軸にも,

関節

i の回転軸にも直交する

(16)

DH法による変換行列

(

1 1

)

1 T 1 0 0 0 1 0 0 0 0 1 0

,

i i i a

X

a

− − −

=

T

(

)

1 1 1 1 1 1 R 1 0 0 0 0 cos sin 0 0 sin cos 0

,

i i i i i i

X

α

α

α

α

α

− − − −

=

T

0 0 1 0 0 0 0 1

0 sin0 0

α

i−1 cos0

α

i−1 10

(

)

1 0 0 00 1 0 0

(

)

cossin

θ

θ

i −cossin

θ

θ

i 0 00 0

(

)

T 0 1 0 00 0 1 0 0 0 1

,

i i i d

Z d

=

T

R

(

)

sin0 cos0 1 00 0 0 0 0 1

,

i i i i

Z

θ

=

θ

θ

T

(

) (

) (

) (

)

1 1 1 R 1 1 T R 1 T

1

0

0

0

0 0

1 0 0

1 0 0 0

,

,

,

,

i i i i i i i i i i i i i

C

S

a

X

a

X

Z d

Z

θ θ

α

θ

− − − − −

=

T T

T

T

T

1 1 1 1 1

0 0

0 0 0

0 1 0 0

0

0

0 1 0 0

0 0

0 0 1 0

0

0

0 0 1

0

0

1 0

0 0 0 1

0

0

0

1

0 0 0 1

0

0

0 1

i i i i i i i i i i

a

C

S

S

C

S

C

d

θ θ α α θ θ α α − − − − −

=

0 0 0

0

0

0

1

0 0 0

0

0

0 1

1 1 1 1 1

0

i i i i i i i i i i

C

S

a

C S

α θ θ

C C

α θ θ

S

α

S d

α

1 1 1 1

1 1 1 1

0

0

0

1

i i i i i i i i i i i i i i

S S

ααθθ

S C

ααθθ

C

αα

C d

αα

= ⎢

(17)

ロボットの逆運動学

手先の位置・方向が与えられた時に, それを実現する各関節の変位量を求 める 1 1 2 1 2 1 1 2 1 2

cos

cos(

)

sin

sin(

)

T T

x

l

l

y

l

l

θ

θ θ

θ

θ θ

=

+

+

=

+

+

演習

例1の設定の場合, める問題 1 1 2

(

1 2

)

T

y

2 2 2 2 1 2

2

1 2

cos

2 T T

x

+

y

= + +

l

l

l l

θ

θ1,θ2はいくらか?

演習

2 2 2 2 1 2 1 2 1 2

cos (

T 2T

)

x y l l l l

θ

=

− + − −

解は

唯一

ではない

右手系と左手系

( ,

x y

T T

)

解は

ではない

θ

2

l

2

θ

2

l

1

l

各関節角をどう変化させたら ワークを把持できるか? 1

θ

1

(18)

ヤコビアン行列

(Jacob行列 , Jacobian)

各関節の

回転

速度と

手先

速度の関係を表す行列

= 

ω θ

v

並進速度に関するヤコビアン行列

J

(

J

J

)

v

J

θ

p

e

= f(

q

)

: 各関節の回転角度と手先位置の関係

並進速度に関するヤコビアン行列

(

)

L1 L2 L

= J

J

J

e

d

d

d

=

p

=

f q

=



v

J

q

J q

e

( )

x

y

=

p

v

θ

J

L2 2

θ

J

L L

dt

dt

dt

=

=

=

∂q

v

J

J q

( )

2

θ

L1 1

θ

J

L

=

J

θ



回転関節のみなら⇒

e

p

:基準座標系上での手先位置

(e: end-effecter)

θ

L

q

:ロボットの一般化座標

関節の回転角 (回転関節)

θ

可変リンク長 (直動関節)

d

1

θ

(回転関節) (直動関節)

回転速度に関するヤコビアン行列

A

J

ω = J q

A

(19)

例題

ヤコビアン行列と手先速度

(1) ヤコビアン行列J

L

を求めよ

(2)

l

1

=

2,

l

2

=

1,

θ θ

1

=

2

=

30

D

の時の

J

L

を計算せよ

(2)

の時の

J

L

を計算せよ

(3) (2)の時

,

とすると

手先速度はいくらか

1

30

[deg sec]

θ



=

θ



2

= −

45

[deg sec] 1

2,

2

1,

1 2

30

l

l

θ θ

手先速度はいくらか

(1) 手先位置p の座標(x y)を

解法手順

y

e

p

(1) 手先位置p

e

の座標

(x,y)を

θ

1

θ

2

で表す.

x x θ θ ∂ ∂ ⎛ ⎞ ⎜

θ

2

l

e

p

1 2 1 2 L y y θ θ θ θ ⎜ ⎟ ⎜ ⎟ = ⎜ ∂ ∂ ⎟ ⎜ ⎟ ⎝ ⎠

J

を計算する.

( )

を代入する

θ

2

θ

1

l

(2) J

L

を代入する

( )

30

[deg sec]

45

(3)

J

L

θ

=

1 2

30

θ θ

=

=

D

x

1

θ

( )

L

( )

-45

を掛ける

(20)

例題

ヤコビアン行列と手先速度

(解答例)

(

)

(

)

1 1 2 1 2 1 1 2 1 2

cos

cos

e

=

⎛ ⎞

⎜ ⎟

x

y

= ⎜

l

l

sin

θ

θ

+

+

l

l

sin

θ θ

θ θ

+

+

⎝ ⎠ ⎝

p

(1)

(

)

1 1 2 1 2

y

⎝ ⎠ ⎝

(

)

(

)

1 2 1 1 2 1 2 2 1 2 L

sin

sin

sin

x x

l

l

l

θ θ

θ

θ θ

θ θ

∂ ∂ ⎛ ⎞ ⎜ ⎟ = = ⎜ ⎜ ⎟

+

+

J

(

)

(

)

1 2 1 1 2 1 2 2 1 2

L y y

l

cos

l

cos

l

cos

θ θ

θ

θ θ

θ θ

⎜ ⎟ = = ⎜ ⎜ ∂ ∂ ⎟ ⎝ ⎠

+

+

+

J

3 3 1 2 2 3 3 1 2 2 2 2

1.87

0.87

− ⋅ − − − −

⎞ ⎛

J

(2)

L 2 2 1 1 2 2 2 3 1 1 2 2 2 2 3 2 2

2.23

0.5

⋅ + +

=

=

⎟ ⎜

⎠ ⎝



J

(2)

L 3 3 1 2 2 1 1 17.0 44 5 6

0.3

0 78

[m sec]

180

π

π

π

− − −

⎞⎛

⎟⎜

=

=

⎟⎜

=

⎠ ⎝





J θ

v

(3)

1 1 3 2 2 44.5 4

180

0.78

π

+

⎠ ⎝

⎟⎝ ⎠

(21)

ヤコビ行列と特異姿勢

1

⎛ ⎞

(4) 手先速度を

とするためには各関節をどのような

速度

で回転させればよいか?

1

0

⎛ ⎞

⎜ ⎟

⎝ ⎠

=

v

速度

θ

で回転させればよいか?

3 3 1 2 2 L 3 1 2 2 1 1 1

1

1

1

4

0.25

− − − −

⎞ ⎛ ⎞

⎛ ⎞

= ⎜

=

=

⎟ ⎜ ⎟

⎜ ⎟



=

=

θ J v

3 2 L 1 3 1 2 2 4 1 1 2 2 3 1 3 +

0

2

− − −

0

− − −

1.12

⎟ ⎜ ⎟

⎜ ⎟

⎝ ⎠

⎝ ⎠

1

が存在 な 場合

もし

1

が存在しない場合は?

L −

J

1 1 1 1 1 2 L

2sin

sin

sin

sin

sin

180

θ

θ

θ

θ

θ

θ

=

D

J

=

+

⎞ ⎛

⎟ ⎜

=

2 L

1 1 1 1 1

2cos

θ

cos

θ

cos

θ

cos

θ

cos

θ

⎟ ⎜

⎠ ⎝

180 θ = D

特異姿勢

2 180 θ = 2 0 θ = 1 θ θ1

参照

関連したドキュメント

東北大学大学院医学系研究科の運動学分野門間陽樹講師、早稲田大学の川上

J-STAGEの運営はJSTと発行機関である学協会等

Exploring organizational management techniques and development of primary school outdoor activity

平成 30 年度介護報酬改定動向の把握と対応準備 運営管理と業務の標準化

岸・宮脇(1996)によると,敷地を 含む寺泊・西山丘陵の褶曲運動は約 150万年前以降停止しており,褶曲

岸・宮脇(1996)によると,敷地を 含む寺泊・西山丘陵の褶曲運動は約 150万年前以降停止しており,褶曲

日程 学校名・クラス名 参加人数 活動名(会場) 内容 5月 清瀬第六小学校 運動会見学 16名 清瀬第六小学校 子ども間交流 8月 夏季の学童クラブの見学 17名

安定需要の確保に向けた利用促進活動の展開(再掲) 105,000 千円 国際インバウンドチャーター便の運航支援 12,000 千円