第5回

ロボットの運動学
第5回
2014/10/29
1
2次元車輪移動ロボットの運動学
1.1
準備
• 回転する円盤の円周における線速度
vr = rθ˙
(1)
ここで, vr ,r,θ˙ はそれぞれ,円周の線速度,円盤の半径,円盤が軸周りに回転する
速さである.
• 円盤が地面に対して滑らずに転がる条件
v = vr
(2)
ここで,v は円盤の回転軸が地面に対し移動する速さである.
1.2
運動学方程式
2輪移動ロボットにおいて,左右の車輪は車体の中心軸に対して対称かつ平行に設置され
ているとし,車輪間の距離を d とする.左右の車輪の車軸の対地速度をそれぞれ v L ,v R
とする.また,左右車輪間中点における車体の対地速度を V = (x,
˙ y)
˙ とする.ここで,
ベクトル量を太字で,スカラー量を細字で表現している.
この時,幾何学的および機構的関係から以下の関係が成り立つ.
V
vL
vR
vL + vR
2
d
= (R − )φ˙
2
d ˙
= (R + )φ
2
=
(3)
(4)
(5)
ここで, R は移動ロボットの旋回半径であり,φ は車体の向きの x 座標に対してなす角
度である.
式 (3) より,
1
r
(vL + vR ) cos φ = (θ˙L + θ˙R ) cos φ
2
2
1
r ˙
y˙ =
(vL + vR ) sin φ = (θL + θ˙R ) sin φ
2
2
x˙ =
1
(6)
(7)
式 (4),(5) より,
r
vR − vL
= (θ˙R − θ˙L )
φ˙ =
d
d
これらの式をまとめて,以下の運動学方程式を得る.



x˙



 y˙  = 



φ˙
r
2
r
2
r
2
r
2
cos φ
sin φ
− dr
(8)

cos φ " ˙ #
 θL
sin φ 

θ˙R
r
(9)
d
式 (9) は 解 析的に 積分できない(不可積分)系となっている.力学的な観点から見る
と,このような機構的拘束を持つシステムのことを,非ホロノミック系 (Non-holonomic
system) と言う.また,制御的な観点から見ると,このシステムは制御入力が θ˙L ,θ˙R の2制
˙ の3変数となっており,制御入力の数の方が状態変数
御入力に対して,状態変数は (x,
˙ y,
˙ φ)
の数より少ないシステムである.このようなシステムのことを劣駆動系 (Underadtuated
system) と言う.
このような特徴は車輪型移動ロボットに顕著に見られる特性である.
2
3 次元回転変換(座標変換)
慣性空間における剛体 B の位置は次のように表現できる.まず,慣性空間に基準の座標
系 F0 の単位ベクトルを a01 , a02 , a03 とする.これらのベクトルは互いに正規直交な関係
がある.
a0i · a0j = δij
(10)
単位ベクトル a0i を用いて次の行列 [a0 ] を定義する.


a01



[a0 ] =  a02 

a03
(11)
次に剛体 B 上にも座標系 F1 を定義する.座標系 F1 に対応する行列を [a1 ] とする.


a11



[a1 ] =  a12 

a13
(12)
剛体 B の慣性空間における位置は座標系 F0 と F1 の原点を結ぶ距離ベクトル r 0 で与え
られる.ベクトル r 0 は通常、座標系 F0 で成分表示される.
r 0 = [a0 ]T r0

r0
r01




= 
r
02


r03
2
(13)
(14)
すなわち,剛体 B の慣性空間における位置は具体的には 3 個のパラメータ r0i によって
与えられる.
一方,剛体 B の慣性空間における姿勢は座標系 F0 から F1 への変換行列 A10 によって
与えられる.
[a1 ] = A10 [a0 ]
(15)
変換行列 A10 は正規直交ベクトル系 [a0 ] から [a1 ] への変換行列であることから,次の関
係が成り立つ.
(16)
AT10 A10 = I
条件 (16) 式を満足する行列を直交行列と呼ぶ.すなわち,変換行列 A10 は直交行列であ
り,それに含まれる 9 個のパラメータのうち,独立なものは 3 個である.独立な 3 個の
パラメータの与え方として種々のものが考えられるが,以降では Euler の名を冠せられ
た表現方法,Euler 角について述べる.
2.1
Euler 角
直交行列の積はまた、直交行列である.このことを用いると独立な 3 個のパラメータを
含む変換行列を,それぞれ 1 個のパラメータを含む 3 個の変換行列の積で表現すること
ができる.そして,通常それぞれの変換行列として,特定の単位ベクトル軸回りの回転行
列を用いる.
A10 = CK (θk )CJ (θj )CI (θi )
(17)
ここで,I, J, K は回転軸を表わし,θi , θj , θk は対応する回転角を表わす.通常よく用いら
れるものは次のものがある.
A10 = C3 (ψ)C2 (θ)C1 (φ)
(18)
A10 = C1 (θ1 )C2 (θ2 )C3 (θ3 )
(19)
すなわち,(18) 式では,まず a03 軸回りに φ 回転する.
[a0 0 ] = C3 (φ)[a0 ]
(20)
[a00 0 ] = C1 (θ)[a0 0 ]
(21)
次に a0 01 軸回りに θ 回転する.
最後に a00 03 軸回りに ψ 回転する.
[a1 ] = C3 (ψ)[a00 0 ]
3
(22)
変換行列 A10 は具体的に次のように表わされる.

A10



cos ψ sin ψ 0
1
0
0
cos φ sin φ 0









=  − sin ψ cos ψ 0   0 cos θ sin θ   − sin φ cos φ 0 

0
0
1
0 − sin θ cos θ
0
0
1

(23)

cos ψ cos φ − cos θ sin φ sin ψ
cos ψ sin φ + cos θ cos φ sin ψ sin ψ sin θ



=  − sin ψ cos φ − cos θ sin φ cos ψ − sin ψ sin φ + cos θ cos φ cos ψ cos ψ sin θ 

sin θ sin φ
− sin θ cos φ
cos θ
(24)
同様に,(19) 式では,変換行列 A10 は次のように表わされる.

A10

cos θ2 cos θ3
cos θ2 sin θ3
− sin θ2



=  sin θ1 sin θ2 cos θ3 − cos θ1 sin θ3 sin θ1 sin θ2 sin θ3 + cos θ1 cos θ3 sin θ1 cos θ2 

cos θ1 sin θ2 cos θ3 + sin θ1 sin θ3 cos θ1 sin θ2 sin θ3 − sin θ1 cos θ3 cos θ1 cos θ2
(25)
a13
a03 a00 3
a12
a00 2
a02
O
a01
a00 1
a11
図 1: Euler angle
4