...

能動体節構造をもつ多脚歩行ロボットのGAによる歩行パターン獲得 1

by user

on
Category: Documents
2

views

Report

Comments

Transcript

能動体節構造をもつ多脚歩行ロボットのGAによる歩行パターン獲得 1
To appear in
第16回インテリジェント・システム・シンポジウム, pp.273-278, Sep.26-27, 2006, Kashiwa
能動体節構造をもつ多脚歩行ロボットの GA による歩行パターン獲得
Locomotive pattern adaptation by GA for Multi-Legged Robot with Active Segmented Trunk
○稲垣 伸吉 (名古屋大) 富林 健介 (名古屋大) 鈴木達也 (名古屋大)
Key words: Multi-Legged Locomotion, Active Segmented Trunk, GA
1
はじめに
本稿では,能動的に体節を駆動できる多脚歩行ロ
ボット(能動体節構造をもつ多脚歩行ロボット)に
対し,運動学的解析に基づき提案された歩行パター
ンと遺伝的アルゴリズム(Genetic Algorithm: GA)
により得られた歩行パターンの比較検討を行う.
動体節構造をもつ多脚歩行ロボットは,体節を受
動的に結合した多脚歩行ロボット [1, 2, 3] よりも高
い運動性能が期待できる.また,脚により接地点を
選ぶことができるため,ヘビ型ロボット [4, 5, 6] よ
り高い不整地踏破性を持つと考えられる.
筆者らはこれまで,以上の背景に基づいて動体節
構造をもつ多脚歩行ロボットを提案し,歩行パター
ン生成の基礎的研究を行ってきた.Fig.1 は,脚,体
節共に1自由度を持つ多脚歩行ロボットであり,体
節を地面と水平方向に回転し,脚を上下運動する.こ
のような簡単なモデルを用いるのは,解析の簡単化
と,ロボットの移動に対する体節の効果を調べるた
めである.文献 [7] では,Fig.1 の動体節構造をもつ
多脚歩行ロボットに対し,接地している脚(接地脚)
が接地点に固定されるという拘束条件(接地点固定
条件)を用い,運動学的解析により歩行パターンを
得ている.しかし,接地点固定条件は,接地点の摩
擦係数が小さいときに破綻し,ロボットの移動速度
が著しく減少するという問題がある.そこで本稿で
は,Fig.1 の構造を持つロボットに対し,物理シミュ
レーションと GA を用いて歩行パターンを生成する
方法を提案する.そして,それにより獲得された歩
行パターンと文献 [7] で提案された歩行パターンの移
動性能に関する比較検討を行う.
以下,2 節では,動体節構造をもつ多脚歩行ロボッ
トを,リンクモデルでモデル化し,運動学的解析に
よる歩行パターンの生成方法について述べる.3 節
では,GA による歩行パターン生成の方策を示す.4
Fig. 1
Multi-legged robot with active segmented
trunk
節においては,運動学的解析に基づく歩行パターン
と,GA の学習による歩行パターンを移動速度の観
点から比較検討を行う.そして,5 節で本稿のまとめ
を行う.
2
運動学的解析による歩行パター
ン生成
本節では,文献 [7] で提案された歩行パターンにつ
いて説明する.
2.1
能動体節構造をもつ多脚歩行ロボット
のリンクモデル
Fig.2 は Fig.1 を上方から見たときのリンクモデル
である.体節は紙面と垂直方向に回転する関節で前
後の体節と接続され,脚は接地と非接地のどちらか
の状態をとる.Fig.3 は,Fig.2 の体節を 1 つ取り出
したものである.脚は接地しているときだけ,その
リンク構造を考え,胴体から垂直に延びた長さ 2a の
リンクとして扱う.また,接地脚には,地面との間
に紙面と垂直方向に回転する関節を持つとする.
まず,解析を進める上で,リンクモデルは 6 リン
クで 1 周期の進行波を形成するものとする(ただし,
後述で 1 周期のリンク数を増やせるように拡張され
る).すなわち,1 周期の進行波には地面と接地して
いる脚が左右1脚ずつ 2 脚存在する.この接地する
2 脚で形成される閉ループ 4 リンクモデルを Fig.4 の
ように取り出し,解析を進める.ただし,Fig.4 にお
いて,地面と関節を持つリンク 1(リンク 4)は,地
面との関節 1(関節 4)と関節 2(関節 4)を直線で
つないだリンクで表し,元の構造を持つリンクをリ
ンク 1 (リンク 4 )と表す.
Fig.5 は Fig.4 の各リンクに座標系を割り振り,リ
ンク間の角度を定義したものである.原点を関節 1
の位置とし,θi をリンク i − 1 とリンク i 間のなす
角度,(xc , yc ) をリンク 4 と地面との間の関節(関
節 5)の位置とする.また,θ2 と θ4 は,それぞれリ
ンク 1 の体節とリンク 2 の体節のなす角度,リンク
4 の体節とリンク 3 の体節のなす角度である.θ2 と
θ2 ,θ4 と θ4 の関係式は
a
θ2 = θ2 + arcsin
,
(1)
H
a
(2)
θ4 = θ4 − arcsin
H
となる.
Fig. 4
Fig. 2
Four links of closed loop
Link model of multi-legged robot
Coordinate of link
Fig. 5
Fig. 3
2.2
Trunk and contacting leg
体節の軌道生成
本節では体節の軌道生成について述べる.Fig.6 に
示すように θ1 = 0 で脚を接地し,この状態を初期状
態として各関節角度の軌道を考える.ここで,進行
波は 6 リンクで形成されるので,左右の脚はそれぞ
れ,進行波 1 周期当たり 1/6 周期脚が接地している
ものとする.このとき,脚が切り替わる瞬間の体節
の動きは脚の切り替わる速度に対して十分小さいと
する.
まず,θ1 と θ3 を次のように定める.
θ1
= −
θ3
= 0.
2α
+ π,
)
1.0 + exp − (2t−T
k
(3)
Trajectory generation
(4)
ここで,θ1 はシグモイド関数であり,T は進行波が
1/6 周期進むのにかかる時間であり,k はシグモイド
関数の急峻さを表すパラメータである.また,
α
=
β
=
l
,
2a
a
arcsin
H
arctan
(5)
(6)
である.θ1 にシグモイド関数を用いた理由は,続く
1/6 周期と滑らかにつながるようにするためである.
また,θ3 を常に 0 とすることで,進行方向に対して周
期的な進行波を容易に設計することができる.ここで,
閉リンクを構成する体節数を 5, 6, · · · , n と増やしたと
き(進行波を形成する体節の数は 8, 10, · · · , 2n − 2),
θ3 = θ4 = 0,θ3 = θ4 = θ5 = 0, · · · とすることで 4
リンクの場合と同様の方策を用いることができる.
次節では,この 2 つの状態変数 θ1 と θ3 を与えら
れるとし,次節で述べる拘束条件に基づいた運動学
的解析により,拘束条件を満たすような θ2 ,θ4 を求
める.
2.3
Fig. 6
接地点固定条件に基づく運動学的解析
θ2 ,θ4 を求めるには,式 (3)(4) および,接地脚が
接地点に固定されるという拘束条件(接地点固定条
件)を満たすように,逆運動学問題を解く必要があ
る.本論文では,この問題を解くために,グレブナ
基底(Gröbner basis)による逆運動学解法 [8] を用
いる.
接地点固定条件は,原点からリンク 4 の座標系ま
での同次変換行列を T04 とおくと,
⎤
⎡
⎡
⎤
xc
2H
⎥
⎢
⎢
⎥
(7)
⎣ yc ⎦ = T04 ⎣ 0 ⎦
1
1
である.式 (7) の拘束条件式は各関節角度 θi (i = 2, 4)
の三角関数を含む式で表される.そこで,回転関節
の関節角度 θi (i = 2, 4) に対して
Si
Ci
.
=
.
=
sin θi ,
(8)
cos θi
(9)
とする.このとき式 (7) は Si , Ci (i = 2, 4) を変数と
する多項式
f1 (S2 , C2 , S4 , C4 ) = 0,
(10)
f2 (S2 , C2 , S4 , C4 ) =
(11)
0
に変換される.さらに,三角関数の拘束条件式
Si2 + Ci2 = 1 (i = 2, 4)
(12)
Table 1
Parameter of link model
a
l
H
0.1
0.05
0.112
Fig. 7
xc
0.536
yc
T
k
0.176
120
25
4
1
2
3
4
ここで,xk (k = 1, · · · 4) は Si , Ci (i = 2, 4) のい
ずれかを表す.グレブナ基底を求めることで,変数
Si , Ci (i = 2, 4) について逐次解を得ることができる.
このとき,θ2 ,θ4 について解は 2 通り求まるが進行
波が描く軌道が周期的になる解を用いる.
Table 1 のようにパラメータを設定したとき,式
(3) は Fig.7 のようになる.また,上記の計算により
得られた θ2 ,θ4 を用いて式 (1)(2) の θ2 ,θ4 を表した
ものが,Fig.8 である.そして,1/6 周期毎に得られ
る軌道をつないでいくことで,各関節の 1 周期分の
軌道,および脚の接地区間を Fig.9 のように作ること
ができる.文献 [7] では,Fig.9 を目標軌道として各
体節と脚を動かした際,ロボットが前進できること
を,リンクモデルの重心にかかる見かけの力を解析
することにより証明している.しかし,接地点固定
条件は接地脚と地面の間の摩擦係数が小さくなると
破綻し,その結果効率良く前進できなくなる.そこ
で,次節では GA によって,摩擦係数が小さい状況
でも効率良く前進できる歩行パターンの獲得を行う.
3.1
Trajectory of θ2 and θ4 of 1/6 cycle
Fig. 9
Trajectory of joint angle of one cycle
Trajectory of θ1 of 1/6 cycle
を加えることで,拘束条件の多項式集合 F を得る.
そして,集合 F に対してブッフバーガーアルゴリズ
ムを適用すると,以下のようなグレブナ基底を得る.
⎧
⎫
⎪
⎪
g
(x
)
⎪
⎪
1
1
⎪
⎪
⎪
⎪
⎨
⎬
g2 (x1 , x2 )
.
(13)
G=
⎪
g2 (x1 , x2 , x3 ) ⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎩ g (x , x , x , x ) ⎭
3
Fig. 8
GA による歩行パターン生成
アルゴリズムの概略
Fig.10 に,歩行パターンの(準)最適化を行うた
めの,GA と物理シミュレータを用いたアルゴリズム
の概略を示す.まず,歩行パターンを表現するパラ
メータ(歩行パラメータ)を染色体 (Chromosome)
として定義し,個体の集合(Population) を初期化す
る.そして,それらの歩行パラメータを用いて,物理
シミュレータ内に構築された歩行ロボットを規定歩
数歩かせ,前進した距離とエネルギー効率から,個
体の評価を行う.その後,選択,交叉,突然変異を行
い,新たな個体を生成する.以上の手順を収束する
まで繰り返し,最終的に最も評価が高い個体の歩行
パラメータを,物理シミュレータの環境にとって準
最適な歩行パターンとして採用する.なお,物理シ
ミュレータでは,地面のクーロン摩擦係数とロボッ
トに発生する進行波の周波数を変えて,複数の環境
を用意する.
3.2
物理シミュレーションとロボットの構
造
物理シミュレータとして Open Dynamics Engine
(ODE)[9] を利用する.ODE は,剛体運動をシミュ
レートするための C 言語ライブラリであり,運動方
程式と拘束条件から接触力を解く計算方法により,安
定したシミュレーションを実現できるという特徴を
持つ.
Fig.11 はシミュレーション環境内に作られた多脚
歩行ロボットであり,各体節は Fig.12 の構造を持つ.
2 節で用いたモデルと同じように,胴体間にヨー方
向の回転関節,脚に上下方向の回転関節を持つ.2 節
で用いたモデルと違う点は,質量を持つ剛体の部品
で構成されていること,3 次元の運動を扱うためピッ
チ・ロール方向の運動も考慮されることである.体節
Fig. 10
Outline of optimization by GA and simulator
Fig. 12
Table 2
Configuration of trunk
Parameter or robot in simulator
Shape
Rectangular
Shape
Cylinder
Body
Leg
w×h×d
0.15×0.05×0.15m
lLEG
0.173m
l
0.2m
radius
0.015m
weight
0.5kg
weight
0.05kg
ずれているとし,φct + π で接地し,Φct の期間,接
地を維持するものとする.シミュレーション内では,
歩行パラメータから生成した関節角度に追従するよ
うに,PD 制御を行った.
3.4
Fig. 11
Simulation environment
legged robot
and
multi-
の構造をあらわすパラメータを Table 2 に示す.な
お,体節数は,運動学的解析による歩行パターンが
安定して歩行するのに必要最低限の 9 とし,重力加
速度は 9.81m/s2 とした.
3.3
歩行パラメータの設定
まず,N を体節数として,進行方向から 1 から
N まで体節に番号を振る.そして,周期運動を表現
するために,各体節に線形振動子を割り振る.体節
i ∈ {1, · · · , N } の振動子の位相は φi として,
φ1
= ωt,
(14)
φi
= φi−1 − D (i = 2, · · · , N )
(15)
と表す.ここで,ω は振動子の角速度,D は前後の振
動子との位相差である.次に,体節 i ∈ {1 · · · , N −1}
の関節角度 θi を,振動子の位相 θi に対して
θi =
M
ak sin kφi
(16)
k=1
とする(Fig.13 参照).式 (16) は関節角度 θi を,奇
関数のフーリエ級数で表現したものである.式中,M
は級数の最大次数であり,ak (k = 1, · · · , M ) はフー
リエ級数の係数である.また,振動子の位相 θi に対
して,右脚を φct で接地し,Φct の期間,接地を維持
するものとする.そして,左脚は右脚から位相が π
GA の適用
前節で定義した歩行パラメータを遺伝子に持つ個
体群に対し,GA を適用する.学習するパラメータは,
D
: 前後の振動子との位相差
ak
: 体節間角度のフーリエ係数 (k = 1, 2, 3)
φct
: 右脚接地位相
Φct
: 接地期間
であり,これらの値を整数に変換し,整数型の遺伝
子とする.選択(Selection)はエリート保存戦略と
ルーレット選択を組み合わせ,エリートとして選ば
れなかった固体をルーレット戦略で選択する.交叉
はすべての遺伝子に対し,一様交叉を適用する.適
用した GA のパラメータを Table 3 に,パラメータ
の範囲を Table 4 にまとめる.
適応度(Fitness)は,体節 1 の振動子における 2
周期のはじめから 8 周期の終わりまでの時間で評価
する.適応度は次に定義する移動距離とエネルギー
効率の和から計算する.まず,移動距離 dev は,進
行方向ベクトルを n,評価期間を Tev ,評価期間の
初期時刻における体節 1 の位置から最終時刻におけ
る位置への相対位置ベクトルを r とおき,
dev =
nT rdt
(17)
Tev
と算出する.つぎに,エネルギー効率 eev は,各関節
のトルクベクトルを τ ,角速度ベクトルを ω として,
T
τ ω + kh τ T τ dt
Tev
eev = ks − ke
(18)
dev
Table 4
Minimum and maximum value of parameter
Parameter
D
φct
Φct
ak
Fig. 13
Table 3
Min
−0.5π
0.42π
0.027π
-1.0
Max
0.5π
1.34π
0.56π
1.0
Configuration of trunk
Parameter of applied GA
Population size
Elite surviving rate
Crossover rate
Mutation rate
60
0.4
0.5
0.01
と算出する.ただし,kh は熱損失を表す定数,ks ,
ke は正の定数である.式(18)のエネルギー効率は
最大値に ks を取り,特にロボットの胴体が地面と
擦るときにその値は大きく減少する.以降の実験で
は,移動距離の評価が中心になるように移動距離の
評価とエネルギー効率の評価の比率が決められてお
り,ks = 10,ke = 10−7 ,kh = 0.2 とした.そして,
式 (17)(18) より,適応度 fev は,
fev = dev + eev
(19)
として算出する.
Fig.14 は,振動子の角速度 ω = 2π ,物理シミュ
レータ内の地面とロボット間のクーロン摩擦係数を,
物理シミュレータの設定値で 7.5 とした場合の学習結
果である.横軸は世代,縦軸は各世代における最大
の適応度,およびその適応度を構成する移動距離と
エネルギー効率の評価値を示している.ただし,物
理シミュレータ内のクーロン摩擦係数は,現実の値
と一致せず,0 ∼ ∞ の値を取り,0 のとき摩擦なし,
∞ のとき滑りなしとなる.
Fig.14 から,ほぼ 100 世代で適応度が収束してい
ることが分かる.また,エネルギー効率は最大の 10
に近い値をとっており,ロボットの胴体が地面と擦
らない歩行パターンを持つ個体が,最大の適応度を
持つ個体として残っていることが分かる.
Fig.15 は,振動子の角速度 ω = 2π ,クーロン摩擦
係数 7.5 の条件において GA で得られた,一周期の
体節の運動を表している.
Fig.9 と比較すると,胴体間の関節角度が大きく変
化していること,脚の接地が早いこと,接地の長さ
が若干長いこと(一周期 720 点中,運動学では 120,
GA の結果では 141),といった違いが確認できる.
また,GA により得られた位相差 D は一周期 720 点
中 148 であり,運動学では 120 であったことから,同
時に地面に着く脚数が多くなるように進化したもの
と思われる.
Fig. 14
4
Maximum fitness vs. generation via GA
シミュレーションによる比較・検
討
2 節の運動学的解析に基づく歩行パターンと,3 節
の GA による学習の結果の歩行パターンの性能評価
を,3.2 節で示したシミュレータを用いて行った.た
だし,運動学的解析に基づく歩行パターンをシミュ
レータに実現するに当たり,Fig.9 に示した体節の動
き一周期を,線形振動子の周期 2π/ω と一致させた.
Fig.16 は,クーロン摩擦係数を変えたときの移動
距離を比較したものである.ただし,運動学的解析
に基づく歩行パターンは,すべてのクーロン摩擦係
数において同一のものであるが,GA による歩行パ
ターンは,各クーロン摩擦係数においてそれぞれ学
習した結果のものであり,それぞれ違う歩行パター
ンであることに注意されたい.いずれの摩擦係数に
おいても,GA による学習の結果得られた歩行パター
ンが,運動学的解析の結果のものよりも,移動距離
が高い値を示している.この移動距離は,一定時間
内(線形振動子における 2 周期のはじめから 8 周期
の終わりまでの時間)に進む距離であるので,GA に
よる歩行パターンの方が速い移動が実現できること
になる.しかし,GA による学習の際,脚間の衝突条
件を組み込んでいなかったため,GA による歩行パ
ターンでは,脚同士が衝突するものが存在した.そ
れにより,GA による結果が運動学的解析の結果の
ものよりも,速い移動が実現できたとも考えられる.
今後,脚間の衝突条件を考慮し,さらなる検証を行
う必要がある.
5
おわりに
本稿では,能動的に体節を駆動できる多脚歩行ロ
ボット(能動体節構造をもつ多脚歩行ロボット)に対
し,運動学的解析に基づき提案された歩行パターン
と遺伝的アルゴリズム(Genetic Algorithm: GA)に
[7] 谷口卓生,稲垣伸吉,鈴木達也,末松良一:“能動体節
構造を持つ多脚歩行ロボットの歩行解析”,第 17 回自
律分散システム・シンポジウム,pp. 99-102,2005.
[8] 川崎 晴久, 清水 年美:“ロボット数式処理”, 昭晃
堂,2000.
[9] http://ode.org/
Fig. 15
Trajectory of joint angle by GA
Fig. 16
Configuration of trunk
より得られた歩行パターンの比較検討を行った.GA
による学習において脚間の衝突条件を組み込まれて
いないという問題が残るものの,GA により運動学
的解析の結果のものよりも,速い移動が行える歩行
パターンを生成できた.今後は,脚間の衝突条件を
組み込んでの再検証は必要である.また,提案する
能動体節構造をもつ多脚歩行ロボットは,各体節を
簡単な構造で実現できるため,小型の実機を実現で
きる可能性がある.実機開発と実機での検証も
参考文献
[1] http://www.ntu.edu.sg/home/mfnickols/robot.htm
[2] 石黒 章夫,石丸 和寿,早川 宏治,川勝:“Wellbalanced Design とは何か?―制御系ダイナミクスと
身体系ダイナミクスの調和―”,第 15 回自律分散シ
ステム・シンポジウム,pp.39-44,2003.
[3] 土屋 和雄,青井 伸也,辻田 勝吉:“多脚歩行ロボッ
トの動力学解析”,第 15 回自律分散システム・シン
ポジウム,pp.143-147,2003.
[4] 梅谷 陽二, 広瀬 茂男:“ほふく (匍匐) 運動の生物
力学的研究―定常直進滑走のモデル解と動物実験―”,
計測自動制御学会論文集,vol.8,no.6,pp.724–731,
[5] 梅谷 陽二, 広瀬 茂男:“ほふく (匍匐) 運動の生物力
学的研究―ほふく推進体の操縦性と制御実験―”,計
測自動制御学会論文集,vol.11,no.1,pp.20–24,
[6] 広瀬 茂男:“へび型ロボットとシミュレーション”,日
本シミュレーション学会シミュレーション・テクノロ
ジー・コンファレンス,pp.1-5,Jun.,1995.
Fly UP