Comments
Description
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.