robotics 13 review 1shortweb.tbgu.ac.jp/ait/fei/robotics/robotics_13_review_1...3 4 7/15/2014 2 5...

35
7/15/2014 1 東北文化学園大学 科学技術学部 知能情報システム学科 仙鳳 1 ロボットの概要 数学的基礎 座標変換 同次変換 オイラー角 ロールピッチヨウ角 座標系設定 リンクパラメータ 腕型ロボットの構造 腕型ロボットの順運動学 腕型ロボットの逆運動学 腕型ロボットのヤコビアン・速度・特異姿勢 2 3 4

Upload: others

Post on 01-Jan-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Robotics 13 review 1shortweb.tbgu.ac.jp/ait/fei/robotics/Robotics_13_review_1...3 4 7/15/2014 2 5 三角関数 ベクトルと行列 並進変換と回転変換 同次変換行列の導入

7/15/2014

1

東北文化学園大学 科学技術学部 知能情報システム学科

費 仙鳳

1

ロボットの概要数学的基礎

‣ 座標変換‣ 同次変換‣ オイラー角‣ ロールピッチヨウ角‣ 座標系設定‣ リンクパラメータ

腕型ロボットの構造腕型ロボットの順運動学腕型ロボットの逆運動学腕型ロボットのヤコビアン・速度・特異姿勢

2

3 4

Page 2: Robotics 13 review 1shortweb.tbgu.ac.jp/ait/fei/robotics/Robotics_13_review_1...3 4 7/15/2014 2 5 三角関数 ベクトルと行列 並進変換と回転変換 同次変換行列の導入

7/15/2014

2

5

三角関数

ベクトルと行列

並進変換と回転変換

同次変換行列の導入

オイラー角(Z-Y-Z)

ロール・ピッチ・ヨウ角

6

三角関数‣ cos, sin, tan, acos, asin, atanの意味、グラフ‣ メ、ジャーな角度の値:π(180deg)、π/2(90deg)、π/3(60deg)、2π/3(120deg)、π/6(30deg)

‣ 微分、積分

ベクトル‣ 内積‣ 外積‣ 単位ベクトル‣ 座標系変換

行列‣ 3x3、4x4演算‣ 転置‣ 逆行列

7

対辺

隣辺

斜辺

8

Page 3: Robotics 13 review 1shortweb.tbgu.ac.jp/ait/fei/robotics/Robotics_13_review_1...3 4 7/15/2014 2 5 三角関数 ベクトルと行列 並進変換と回転変換 同次変換行列の導入

7/15/2014

3

9 10

11

大きさと向きで定まる量をベクトルという縦ベクトル

横ベクトル: 転置

ベクトルの長さ

単位ベクトル(i、j、k)を使う

i = (1, 0, 0)T12

Page 4: Robotics 13 review 1shortweb.tbgu.ac.jp/ait/fei/robotics/Robotics_13_review_1...3 4 7/15/2014 2 5 三角関数 ベクトルと行列 並進変換と回転変換 同次変換行列の導入

7/15/2014

4

座標や状態量を表す‣2次元位置

‣2次元位置+姿勢

‣3次元位置

‣3次元位置+姿勢

13

加算

スカラ倍

加算の可換律

14

定義

成分表示

15

定義

16

Page 5: Robotics 13 review 1shortweb.tbgu.ac.jp/ait/fei/robotics/Robotics_13_review_1...3 4 7/15/2014 2 5 三角関数 ベクトルと行列 並進変換と回転変換 同次変換行列の導入

7/15/2014

5

成分表示

特徴

17

に対して

18

用途:‣座標変換(回転)や関節の角度とロボットの姿勢の関係を表すなどに使用されます。

19

行列の和

スカラ倍

20

Page 6: Robotics 13 review 1shortweb.tbgu.ac.jp/ait/fei/robotics/Robotics_13_review_1...3 4 7/15/2014 2 5 三角関数 ベクトルと行列 並進変換と回転変換 同次変換行列の導入

7/15/2014

6

行列の積

21

行列の積

22

行列の積の特徴

‣ 1.

‣ 2. にたして

は成立します。

23

行列の転置

24

Page 7: Robotics 13 review 1shortweb.tbgu.ac.jp/ait/fei/robotics/Robotics_13_review_1...3 4 7/15/2014 2 5 三角関数 ベクトルと行列 並進変換と回転変換 同次変換行列の導入

7/15/2014

7

逆行列

逆行列は、ロボット工学においては、「逆変換」の意味で用いられます。ある座標系から別の座標系に行列Rで変換できる場合に、Rの逆行列を用いると逆の座標変換ができます。

25

行列によるベクトルの変換

26

点Q ( X,Y ) は 点P ( x,y ) を β 回転させたものである。

回転行列

27

点の並進変換(ベクトルの加算)

点の回転変換(ベクトルの一次変換)

座標の並進変換

座標の回転変換

28

Page 8: Robotics 13 review 1shortweb.tbgu.ac.jp/ait/fei/robotics/Robotics_13_review_1...3 4 7/15/2014 2 5 三角関数 ベクトルと行列 並進変換と回転変換 同次変換行列の導入

7/15/2014

8

!一次変換にはならない

29

点が原点周りにθだけ回転すると

平面回転変換行列

逆方向の回転変換行列

30

点の並進変換(ベクトルの加算)

点の回転変換(ベクトルの一次変換)

座標の並進変換

座標の回転変換

31 32

Page 9: Robotics 13 review 1shortweb.tbgu.ac.jp/ait/fei/robotics/Robotics_13_review_1...3 4 7/15/2014 2 5 三角関数 ベクトルと行列 並進変換と回転変換 同次変換行列の導入

7/15/2014

9

X

Y

X

Y

1. 回転

= +

地面に固定された座標系

ロポットの座標系

X

Y

2. 平行移動

33

X

Y

U

V

BpAp

q

34

ベクトルの写像の復習

35 36

Page 10: Robotics 13 review 1shortweb.tbgu.ac.jp/ait/fei/robotics/Robotics_13_review_1...3 4 7/15/2014 2 5 三角関数 ベクトルと行列 並進変換と回転変換 同次変換行列の導入

7/15/2014

10

37

座標軸AとBの関係を入れ替えると

すなわち

38

平行移動と回転‣以上のことをまとめると、二つの座標系の間の座標変換は次の式で得られることがわかります

同次変換‣ロボットで座標の関係を扱うとき、多くの座標系がでてきて、変換ごとにこのように書くと面倒です。 そこで、この式を行列とベクトルの乗算だけに書き換えます。

39

まとめると

回転+平行という一般的な座標変換

‣ 本来の座標ベクトルの次数を一つ増やし、「1」を追加する。‣ 回転変換の行列の行と列を一つ増やし、増えた列に平行移動のベクトルと「1」を追加し、のこりは0をうめる。

40

Page 11: Robotics 13 review 1shortweb.tbgu.ac.jp/ait/fei/robotics/Robotics_13_review_1...3 4 7/15/2014 2 5 三角関数 ベクトルと行列 並進変換と回転変換 同次変換行列の導入

7/15/2014

11

「 R で回転、 q で移動」という手順を逆変換するには、「 q だけ戻す、 R で逆回転」という手順になります。

‣結合して

‣「あとでする変換を前に書く」ことです

41

42

3次元空間での姿勢は自由度3‣=3個のパラメータ

ところが、回転行列は3×3=9個のパラメータ‣⇒この9個は独立ではない

‣各ベクトルは単位ベクトル

‣各ベクトルは直交

‣合計6個の拘束条件を含んでいる

よって、実質のパラメータ数=9-6=3個

43

いずれも任意の姿勢を3つの回転角変数で表す

以下の2つの表現法が知られている‣①オイラー角

‣②ロール・ピッチ・ヨウ角

44

Page 12: Robotics 13 review 1shortweb.tbgu.ac.jp/ait/fei/robotics/Robotics_13_review_1...3 4 7/15/2014 2 5 三角関数 ベクトルと行列 並進変換と回転変換 同次変換行列の導入

7/15/2014

12

①z回りにΦ回転してy’を作る

②y’回りにθ回転してz'' を作る

③z''回りにψ回転してΣC を作る

略記法 45

よって、

46

も簡素な要素として、R33に着目すると

?47 48

Page 13: Robotics 13 review 1shortweb.tbgu.ac.jp/ait/fei/robotics/Robotics_13_review_1...3 4 7/15/2014 2 5 三角関数 ベクトルと行列 並進変換と回転変換 同次変換行列の導入

7/15/2014

13

49 50

51 52

Page 14: Robotics 13 review 1shortweb.tbgu.ac.jp/ait/fei/robotics/Robotics_13_review_1...3 4 7/15/2014 2 5 三角関数 ベクトルと行列 並進変換と回転変換 同次変換行列の導入

7/15/2014

14

53 54

55

回転の順序は重要で、順序を変えると異なる姿勢となる(オイラー角、ロール・ピッチ・ヨウ角共に)。

例 X→Y→Zの順に、φ、θ、ψ回転するとすれば

となり、前式と全く異なることがわかる。

56

Page 15: Robotics 13 review 1shortweb.tbgu.ac.jp/ait/fei/robotics/Robotics_13_review_1...3 4 7/15/2014 2 5 三角関数 ベクトルと行列 並進変換と回転変換 同次変換行列の導入

7/15/2014

15

57 58

59

文字式の足し算・引き算‣ (例)3x + 2x = 5x 4a - a = 3a 5x2 + 6x2 = 11x2

2a + 3b は計算できない。 4x + 3x2 も計算できない

文字式の掛け算・割り算‣ 文字式を表すときには ×が省略されます。‣ 3a × 5b = 3×a×5×b = 15ab 12a÷2=12×a×12=6a

同類項・・・文字の部分が全く同じ項を同類項という。‣ (例)-9xと8x 5abcと12abc 3x2と-8x2

※累乗の指数まで完全に同じでないと同類項ではない‣ 同類項をまとめる・・・分配法則の逆を使うと同類項をまとめることができる

‣ 分配法則 (a+b)x = ax+bx分配法則の逆 ax+bx = (a+b)x

60

Page 16: Robotics 13 review 1shortweb.tbgu.ac.jp/ait/fei/robotics/Robotics_13_review_1...3 4 7/15/2014 2 5 三角関数 ベクトルと行列 並進変換と回転変換 同次変換行列の導入

7/15/2014

16

等式の両辺に同じ数を足しても、等式が成り立ちます。

等式の両辺から同じ数をひいても、等式が成り立ちます。

等式の両辺に同じ数をかけても、等式が成り立つます。

等式の両辺を同じ数で割っても、等式が成り立ちます。

移項して解く‣ 移項とは、等式の反対側へ、項を移動することを言います。

‣ xに係数が付いている場合

61 62

空間での‣位置=3自由度(x,y,z)

‣姿勢=3自由度(φ,θ,ψ)

‣ ⇒合計6自由度(≒6関節)

必要 小限以上の余分の自由度=「冗長自由度」

63

ロボットの座標系

リンク座標系‣①座標系番号のルール

‣②Z軸の設定ルール

‣③X軸の設定ルール

‣④Y軸の設定ルール

‣⑤ベース座標系の設定ルール

座標系設定手順のまとめ

64

Page 17: Robotics 13 review 1shortweb.tbgu.ac.jp/ait/fei/robotics/Robotics_13_review_1...3 4 7/15/2014 2 5 三角関数 ベクトルと行列 並進変換と回転変換 同次変換行列の導入

7/15/2014

17

65

よく用いられる設定ルール

Denavit-hartenbergの表記法(略してD-H法)

66

ベースをリンク番号0とし、手先に向かって順にリンク番号1~n をつける

リンクi-1 とiとの連結部を関節iとする

座標系番号=関節番号

(ただし、座標系0を固定の基準座標系とする)

67

関節軸の軸方向をZ軸とする

正方向は先端を向く方向

(どちらでも良いとき

は全体で統一する)

68

Page 18: Robotics 13 review 1shortweb.tbgu.ac.jp/ait/fei/robotics/Robotics_13_review_1...3 4 7/15/2014 2 5 三角関数 ベクトルと行列 並進変換と回転変換 同次変換行列の導入

7/15/2014

18

69

あまり使わないので、省略する

もし記入するなら、Z・X軸に対して右手系で設定

70

座標系1における関節変数(角度)がゼロのときの座標系をベース座標系Σ0とする(原点共通)

71 72

Page 19: Robotics 13 review 1shortweb.tbgu.ac.jp/ait/fei/robotics/Robotics_13_review_1...3 4 7/15/2014 2 5 三角関数 ベクトルと行列 並進変換と回転変換 同次変換行列の導入

7/15/2014

19

73 74

隣接する2座標系間の関係を4つのパラメータで表わす

75

4つのパラメータのうち、‣3つは固定値(リンクの構造に依存)

‣ 1つは変数(1自由度)

関節変数‣回転関節=

‣直動関節=

76

Page 20: Robotics 13 review 1shortweb.tbgu.ac.jp/ait/fei/robotics/Robotics_13_review_1...3 4 7/15/2014 2 5 三角関数 ベクトルと行列 並進変換と回転変換 同次変換行列の導入

7/15/2014

20

77

前記パラメータは、座標系の並進・回転を表わすから、これらを連続的に演算すると隣同士の関係を得る

重要78

79

ロボットの各リンク機構を記号化

各リンクに座標系を設定(DH法)

リンクパラメータ表の作成

各座標系間の関係 を計算

アーム全体の同次変換行列 を計算

を与え、手先の位置・姿勢を計算

80

Page 21: Robotics 13 review 1shortweb.tbgu.ac.jp/ait/fei/robotics/Robotics_13_review_1...3 4 7/15/2014 2 5 三角関数 ベクトルと行列 並進変換と回転変換 同次変換行列の導入

7/15/2014

21

81 82

83 84

Page 22: Robotics 13 review 1shortweb.tbgu.ac.jp/ait/fei/robotics/Robotics_13_review_1...3 4 7/15/2014 2 5 三角関数 ベクトルと行列 並進変換と回転変換 同次変換行列の導入

7/15/2014

22

85 86

87

幾何学的解法(2D)

代数的解法(3D)

数値的な方法(ヤコビアン)

88

Page 23: Robotics 13 review 1shortweb.tbgu.ac.jp/ait/fei/robotics/Robotics_13_review_1...3 4 7/15/2014 2 5 三角関数 ベクトルと行列 並進変換と回転変換 同次変換行列の導入

7/15/2014

23

3関節平面の逆運動学

式(11.1)

89

式(11.1)より

ただし、

それぞれ2乗して加えると、

変数はC1、S1に含まれるθ1のみ。定数項をまとめると

=1

90

この形の式を解くため、図のような直角三角形を考える。

これを先の式に代入すると

91

であるから

であるから、分母を払うと

また、 を代入すると

ただし、

92

Page 24: Robotics 13 review 1shortweb.tbgu.ac.jp/ait/fei/robotics/Robotics_13_review_1...3 4 7/15/2014 2 5 三角関数 ベクトルと行列 並進変換と回転変換 同次変換行列の導入

7/15/2014

24

ただし、

式(11.1)にもどって、

93

両辺を2乗してくわえると、

と同様に解くと、

は、 が既知であることから

ただし、

94

95

をまとめために、左から を乗じると

……

逆運動学では次のような式がよく出てくる

96

Page 25: Robotics 13 review 1shortweb.tbgu.ac.jp/ait/fei/robotics/Robotics_13_review_1...3 4 7/15/2014 2 5 三角関数 ベクトルと行列 並進変換と回転変換 同次変換行列の導入

7/15/2014

25

97

1

倍角の公式より、

また、 であるから

ここで、

98

これを、 に代入すると

について整理すると、

2次方程式の解より、

9910

0

Page 26: Robotics 13 review 1shortweb.tbgu.ac.jp/ait/fei/robotics/Robotics_13_review_1...3 4 7/15/2014 2 5 三角関数 ベクトルと行列 並進変換と回転変換 同次変換行列の導入

7/15/2014

26

101

①z回りにΦ回転してy’を作る

②y’回りにθ回転してz'' を作る

③z''回りにψ回転してΣC を作る

Euler角による姿勢表示は次のように与えられている。

そこで、

左から を乗じると、

ここで、

102

の時には、第(2,3) 要素に着目して、

よっで、

さらに、第(1,3)、(3,3) 要素、および、第(2,1)、(2,2) 要素より、

の時には、であるから、それに従って、

103

104

Page 27: Robotics 13 review 1shortweb.tbgu.ac.jp/ait/fei/robotics/Robotics_13_review_1...3 4 7/15/2014 2 5 三角関数 ベクトルと行列 並進変換と回転変換 同次変換行列の導入

7/15/2014

27

RPY角による姿勢表示は次のように与えられている。

そこで、

左から を乗じると、

ここで、

105

の時には、第(2,1) 要素に着目して、

よっで、

さらに、第(1,1)、(3,1) 要素、および、第(2,2)、(2,3) 要素より、

の時には、であるから、それに従って、

106

107

i ai αi di θi1 0 0 d1 θ12 a1 0 0 θ23 a2 180 d3 0

関節変位は

で、手先についてはその位置だけに着目して、座標系3の原点とします.

108

Page 28: Robotics 13 review 1shortweb.tbgu.ac.jp/ait/fei/robotics/Robotics_13_review_1...3 4 7/15/2014 2 5 三角関数 ベクトルと行列 並進変換と回転変換 同次変換行列の導入

7/15/2014

28

仮の を定める。

順運動学を用いて を得る。

目的とする との差を求め、それをもとに を微修正する

の誤差が十分小さくなるまで繰り返す。

109

110

111

関節変位

手先の位置

ヤコビアン

112

Page 29: Robotics 13 review 1shortweb.tbgu.ac.jp/ait/fei/robotics/Robotics_13_review_1...3 4 7/15/2014 2 5 三角関数 ベクトルと行列 並進変換と回転変換 同次変換行列の導入

7/15/2014

29

オイラー角の時間微分で表す方法

行の数=マニピュレータの運動の自由度列の数=マニピュレータの関節数

関節速度手先速度

113

関節変位

手先の位置

ヤコビアン

x,y,z軸の速度成分

オイラー角の角速度

114

115

角速度ベクトル

ヤコビアン

(3-1)速度ベクトル=位置ベクトルで表わされる点の時間的変化率‣位置ベクトル

‣速度ベクトル

116

Page 30: Robotics 13 review 1shortweb.tbgu.ac.jp/ait/fei/robotics/Robotics_13_review_1...3 4 7/15/2014 2 5 三角関数 ベクトルと行列 並進変換と回転変換 同次変換行列の導入

7/15/2014

30

117

の への垂線

時間後の回転角

よって

で の向きは 平面に対して垂直

すなわち、速度ベクトルはベクトル と の外積で表わされることを示している。

118

逆に

⇒問題は、ヤコビアンの逆行列が存在するかどうか

119

問題1:‣ 歯車列の駆動歯車Z1が1分間に1,000回転する時の被動歯車Z3の毎分の回転数の求め方。ただし、Z1の歯数を30、Z2の歯数を60、Z3歯数を150とする。

Page 31: Robotics 13 review 1shortweb.tbgu.ac.jp/ait/fei/robotics/Robotics_13_review_1...3 4 7/15/2014 2 5 三角関数 ベクトルと行列 並進変換と回転変換 同次変換行列の導入

7/15/2014

31

問題2:‣ロボットを構成する要素は、大きく分けてどうのような四つですか?

ロボットの動力システム

ロボットのボディメカニズム

ロボットのセンサシステム

ロボットのコンピュータシステム

であるとき の値を求めよ。

方針: と

の両辺を平方して加え式を変形する。

0座標系をz軸回りに30°回転してできたA座標系で表わされた点が、Ap=[437Tのとき、これを元の0座標系で表わすとどのよう になるか]

Page 32: Robotics 13 review 1shortweb.tbgu.ac.jp/ait/fei/robotics/Robotics_13_review_1...3 4 7/15/2014 2 5 三角関数 ベクトルと行列 並進変換と回転変換 同次変換行列の導入

7/15/2014

32

座標系設定

128

Page 33: Robotics 13 review 1shortweb.tbgu.ac.jp/ait/fei/robotics/Robotics_13_review_1...3 4 7/15/2014 2 5 三角関数 ベクトルと行列 並進変換と回転変換 同次変換行列の導入

7/15/2014

33

129

①座標系の設定

リンクパラメータ表の作成

?θ1 θ2 d3 θ4 が

関節変数

?13

0

131

i ai αi di θi1 0 0 0 θ12 l1 0 0 θ23 l2 0 0 0

132

座標

既知

Page 34: Robotics 13 review 1shortweb.tbgu.ac.jp/ait/fei/robotics/Robotics_13_review_1...3 4 7/15/2014 2 5 三角関数 ベクトルと行列 並進変換と回転変換 同次変換行列の導入

7/15/2014

34

文字式の足し算・引き算‣ (例)3x + 2x = 5x 4a - a = 3a 5x2 + 6x2 = 11x2

2a + 3b は計算できない。 4x + 3x2 も計算できない

文字式の掛け算・割り算‣ 文字式を表すときには ×が省略されます。‣ 3a × 5b = 3×a×5×b = 15ab 12a÷2=12×a×12=6a

同類項・・・文字の部分が全く同じ項を同類項という。‣ (例)-9xと8x 5abcと12abc 3x2と-8x2

※累乗の指数まで完全に同じでないと同類項ではない‣ 同類項をまとめる・・・分配法則の逆を使うと同類項をまとめることができる

‣ 分配法則 (a+b)x = ax+bx分配法則の逆 ax+bx = (a+b)x

133

等式の両辺に同じ数を足しても、等式が成り立ちます。

等式の両辺から同じ数をひいても、等式が成り立ちます。

等式の両辺に同じ数をかけても、等式が成り立つます。

等式の両辺を同じ数で割っても、等式が成り立ちます。

移項して解く‣ 移項とは、等式の反対側へ、項を移動することを言います。

‣ xに係数が付いている場合

134

135

左から を乗じると ここで、

136

第(1,4) 要素より、

第(2,4) 要素より、

上の式をそれぞれ2乗すると、

上の二つ式をたすと、

Page 35: Robotics 13 review 1shortweb.tbgu.ac.jp/ait/fei/robotics/Robotics_13_review_1...3 4 7/15/2014 2 5 三角関数 ベクトルと行列 並進変換と回転変換 同次変換行列の導入

7/15/2014

35

ので、

ので、

平面マニピュレータで、先端がx軸上を1.0m/sで移動している。θ2→0 のとき、各関節の角速度を求めよ。

平面マニピュレータで、先端がx軸上を1.0m/sで移動している。θ2→0 のとき、各関節の角速度を求めよ。