JP3905413B2 - Robot equipment - Google Patents

Robot equipment Download PDF

Info

Publication number
JP3905413B2
JP3905413B2 JP2002116510A JP2002116510A JP3905413B2 JP 3905413 B2 JP3905413 B2 JP 3905413B2 JP 2002116510 A JP2002116510 A JP 2002116510A JP 2002116510 A JP2002116510 A JP 2002116510A JP 3905413 B2 JP3905413 B2 JP 3905413B2
Authority
JP
Japan
Prior art keywords
evaluation
individual
condition
population
robot
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002116510A
Other languages
Japanese (ja)
Other versions
JP2003311669A (en
Inventor
俊介 手塚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Subaru Corp
Original Assignee
Fuji Jukogyo KK
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Jukogyo KK filed Critical Fuji Jukogyo KK
Priority to JP2002116510A priority Critical patent/JP3905413B2/en
Publication of JP2003311669A publication Critical patent/JP2003311669A/en
Application granted granted Critical
Publication of JP3905413B2 publication Critical patent/JP3905413B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、遺伝的アルゴリズムを用いて歩容を生成し、脚によって歩行するロボット装置に関する。
【0002】
【従来の技術】
従来、脚を持ったロボットの歩容を生成する場合には、多くのパラメータを決定する必要があり、シミュレーション及び実験等に多くの工数を要していた。
【0003】
このため、例えば、特開2001−191284号公報には、歩行型ロボットの歩行を制御するためのパラメータを、歩行の評価値が向上するよう、遺伝的アルゴリズムを用いて更新することで、歩行パターンの生成作業を容易化する技術が開示されている。
【0004】
【発明が解決しようとする課題】
しかしながら、歩行型ロボットの歩容生成は煩雑であるため、ロボットの歩行において満たすべき評価条件が多く、且つ、それぞれの条件が相互に影響しあっていたり、トレードオフの関係になることがある。
【0005】
このため、先行術のように、遺伝的アルゴリズムを用いた進化的学習法を適用しても、進化計算の収束が遅く、結果的に局所解にトラップされて進化が停滞してしまう現象が発生する場合がある。
【0006】
本発明は上記事情に鑑みてなされたもので、遺伝的アルゴリズムを用いた歩容生成における最適解の収束性を高めて進化の停滞を防止し、高速且つ信頼性の高い歩容パターンを得ることのできるロボット装置を提供することを目的としている。
【0007】
【課題を解決するための手段】
上記目的を達成するため、請求項1記載の発明は、遺伝的アルゴリズムに基づいて、単一或いは複数の脚部により歩行する歩行型ロボットが満たすべき複数の評価条件を下位から上位に向かって段階的に分割し、各段の評価条件に適合した最適解の候補を進化個体群としてそれぞれ演算する手段と、下位側の進化個体群と上位側の進化個体群との間で個体の評価値に応じて個体交換を行う手段と、最上位の進化個体群に基づいて最適化演算の収束判定を行う手段と、最適化演算が収束した最上位の進化個体群に基づいて、上記歩行型ロボットの制御パラメータを更新する手段とを備え、上記上位側の評価条件には、上記下位側の評価条件を含むことを特徴とする。
【0008】
請求項2記載の発明は、請求項1記載の発明において、上記進化個体群の演算を、複数の演算器で分散して実行することを特徴とする。
【0009】
請求項3記載の発明は、請求項1又は2記載の発明において、上記評価値を、上記歩行型ロボットの動きをモデル化したシミュレータからのデータに基づいて算出することを特徴とする。
【0010】
請求項4記載の発明は、請求項1,2,3の何れか一に記載の発明において、上記評価値を、上記歩行型ロボットからの実機データに基づいて算出することを特徴とする。
【0011】
すなわち、請求項1記載の発明は、歩行型ロボットが満たすべき複数の評価条件を下位から上位に向かって段階的に分割して上位側の評価条件に下位側の評価条件を含め、下位側の進化個体群と上位側の進化個体群との間で個体の評価値に応じて個体交換を行いながら、各段の評価条件に適合した最適解の候補をそれぞれ演算する。そして、最上位の進化個体群の最適化演算が収束判定されたとき、この最上位の進化個体群に基づいて歩行型ロボットの制御パラメータを更新することで、最適解の収束性を高めて進化の停滞を防止する。
【0012】
その際、進化個体群の演算は、請求項2記載の発明のように、複数の演算器で分散して実行することが望ましく、解探索をより高速化することができる。また、個体の評価値は、請求項3記載の発明のように、歩行型ロボットの動きをモデル化したシミュレータからのデータ、或いは、請求項4記載の発明のように、歩行型ロボットからの実機データに基づいて算出することができる。
【0013】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。図1〜図8は本発明の実施の一形態に係わり、図1はロボット装置の全体構成図、図2は段階的進化法を用いた最適化装置のブロック図、図3は複数の演算装置を用いた最適化装置のブロック図、図4はGAエンジン間での移民処理のフローチャート、図5は4脚歩行型ロボットに上下方向の動きを与える関節角の説明図、図6は4脚歩行型ロボットに前後・左右方向の動きを与える関節角の説明図、図7は1脚分の歩容パターンを生成するニューラルネットワークの説明図、図8はシミュレータの処理を示すフローチャートである。
【0014】
図1に示すロボット装置は、単一或いは複数の脚部を有し、この脚部の駆動によって歩行する歩行型ロボット1と、この歩行型ロボット1の歩行制御パラメータを生成・更新するパラメータ発生器10と、歩行型ロボット1をモデル化したシミュレータ20と、複数の評価条件に応じて段階的進化を実現するため、下位から上位へ逐次的に評価条件が追加されていくN個の評価部31を伴い、同時並行的に演算を実行するN個の遺伝的アルゴリズム計算部(GAエンジン)32を有するGAエンジン群30とを備えて構成される。
【0015】
GAエンジン群30は、進化の初期段階から歩行型ロボット1に与えるタスクを徐々に複雑化することにより進化の停滞を防ぐ、いわゆる段階的進化法を用いた最適化装置として構成される。詳細には、図2に示すように、GAエンジン群30は、N個の評価部31及び対応するN個のGAエンジン32に対し、(N−1)個の個体移民制御部33と、収束判定部34とを備えて構成される。
【0016】
GAエンジン32は、下位から上位に亘って複数段設けられ、後述するように、個々のGAエンジン32に対して評価部31で設定される評価条件が下位から上位へ段階的に追加される。尚、各段の評価部31及びGAエンジン32は、最下位を1段目、上位に向かって順次2段目,3段目,…、そして最上位をN段目と定義する。
【0017】
個体移民制御部33は、互いに隣接したGAエンジン32の間に設けられており、最適化対象となる進化個体群PGn(n=1〜N)中の一部個体群を、互いに隣接した直近段の間で移動させる。本明細書では、上下の進化個体群PGn間で移動される個体を「移民」と呼ぶ。
【0018】
収束判定部34は、最上位のGAエンジン32のみに付随しており、最上位のGAエンジン32で出力される進化個体群PGNに基づいて、最適化の収束判定を行う。ここで、「最上位」とは、最終的な目的となる最適解を含み得る目的段、換言すれば、最終的に与えるべき全条件が設定されている段をいう。従って、最終的に求める最適解、すなわち考慮すべき全条件に適合する解は、最上位のGAエンジン32において算出される。
【0019】
各段の評価部31でGAエンジン32に対して設定される評価条件は、下位から上位に向かって階段的に追加された形態となっている。すなわち、1段目の評価条件(1段目のGAエンジン32に設定される評価条件)が単一の「条件1」のみであるのに対して、2段目の評価条件は1段目の「条件1」に新たな「条件2」を追加した「条件1+2」(”+”は「且つ(and)」の意味)となっている。また、3段目の評価条件は、直下位の評価条件である「条件1+2」に新たな「条件3」を追加した「条件1+2+3」になっている。すなわち、複数の条件が組み合わさった「評価条件1+2+・・・+N」(最終的な評価条件)を段階的に分割し、下位から上位に亘って条件が段階的に追加されるように各段の評価条件を個別に設定する。
【0020】
尚、各段に追加する条件は単一である必要は必ずしもなく、複数の条件を同時に追加してもよい。例えば、1段目の評価条件を「条件1」とし、2段目の評価条件を「条件1+2+3」とするといった如くである。
【0021】
それぞれのGAエンジン32に段階的に追加される条件は、拘束力の強いものほど下位に配置し、拘束力の弱いものほど上位に配置する。換言すれば、下位側には必要条件的な条件を配置し、上位側には十分条件的な条件を配置する。具体的には、歩行型ロボット1に関する歩行の最適化で考慮すべき条件として、以下に説明するように、「脚で立つ」、「転倒しない」、「なるべく足音を立てずに歩行する」等があり、歩行の大前提である「脚で立つ」という拘束力の強い条件が最下位の「条件1」に相当し、「転倒しない」という条件がそれに統く「条件2」に相当し、高度な条件である「なるべく足音を立てずに歩行する」という条件が最上位の「条件N」(拘束力が最も弱い)に相当する。
【0022】
詳細には、単一又は複数の脚部を持つロボットの歩行に要求される条件として、例えば、以下の(1)〜(9)に示す条件等があり、概ね(1)→(9)の順序で拘束力が強い。
(1)脚で立つ(体を地面につけない)。
(2)転倒しない(体の角度を限度内に保つ)。
(3)移動する(足踏みだけではない)。
(4)行きたい方向へ進む。
(5)より速く歩行する。
(6)より安定した歩行をする(外乱に耐える)。
(7)使用するエネルギーが少ない。
(8)なるべく姿勢を崩さずに歩行する。
(9)なるべく足音を立てずに歩行する。
【0023】
これらの条件のうち、最も拘束力の強い条件、すなわち(1)の「脚で立つ」条件を1段目の評価部31にて判定し、最も拘束力の強い条件と、2番目に拘束力の強い条件、この場合は(2)の「転倒しない」条件とを同時に、2段目の評価部31で判定する。このように、拘束力が強い条件から順次、評価部31に付け加えるように、N個の条件に対してN個の独立したGAエンジン32を用意することで、N段目のGAエンジン32では、要求される全ての条件に対して評価が行われることとなる。
【0024】
このGAエンジン群30をスタンドアロンのシングルプロセッサ型のコンピュータ等の単一の演算装置で実現する場合、単一のコンピュータがN個の評価部31及びGAエンジン32、(N−1)個の個体移民制御部33、収束判定部34の全機能を担うが、処理速度の高速化を図るために、マルチプロセッサ型のコンピュータ或いはLAN等によってネットワーク接続された複数のシングルプロセッサ型のコンピュータ等、複数の演算装置でGAエンジン群30を実現することも可能である。
【0025】
この場合、図3に示すように、N個のコンピュータ(プロセッサ)30−1,30−2,…,30−Nのそれぞれが、1個の評価部31及びGAエンジン32、それに対応した個体移民制御部33の機能を実現し、並列処理を行うコンピュータ(プロセッサ)間の情報伝達(個体交換)は、ネットワーク、バス、マルチポートメモリ、その他のインターフェースを介して行われる。そして、最上位のGAエンジン32に相当するコンピュータ(プロセッサ)に収束判定部34の機能を担わせる。
【0026】
それぞれのGAエンジン32は、互いに独立してGA演算を行うため簡単に並列化でき、最適化に要する処理時間は、使用するコンピュータ(プロセッサ)の数の増加に伴い短縮化される。互いに隣接したGAエンジン32間の個体交換に要するデータ量は比較的少なく、その発生頻度も高くない。そのため、個体交換用のインターフェースとして高速な専用線を用いる必要は必ずしもない。尚、単一のGAエンジン32に通常の分散GAを用いて更に細分化・並列化すれば、処理速度の一層の高速化を図ることができる。
【0027】
以上の構成によるロボット装置では、パラメータ発生器10で生成した歩容パラメータでシミュレータ20又は歩行型ロボット1によって動作状況をシミュレートし、その結果をGAエンジン群30の評価部31で評価する。すなわち、GA演算は繰り返し学習を行う手法であるため、計算時間の制約から評価は実機(歩行型ロボット1)でなくシミュレータを用いて進化を進め、最も上位の評価条件を持つものの最良個体の結果を実機に適用しても良いが、制御の確実性と制御結果を得るまでの時間との兼ね合いを考慮し、評価の一部又は全部を実機に対して適用することも可能である。
【0028】
そして、GAエンジン群30では、各評価部31からの評価値に基づいて各GAエンジン32における最良個体の評価値が向上するように演算を行い、新たなパラメータをパラメータ発生器10に渡し、パラメータ発生器10から歩行型ロボット1に出力する歩容パラメータ(制御パラメータ)を更新する。そして、再度、シミュレータ20又は歩行型ロボット1による動作状況の評価を繰り返すことにより、徐々に評価値の高い歩容パラメータに進化させていく。
【0029】
このGAエンジン群30における最適化演算は、最下位のGAエンジン32で最も単純な評価条件1、例えば「脚で立つ」条件のみに基づいて解探索を行い、進化個体群PG1を出力する。また、これよりも1つ上位のGAエンジン32は、評価条件1に、新たな評価条件2、例えば「転倒しない」条件を加え、両者の評価条件(1+2)下で解探索を行い、進化個体群PG2を出力する。
【0030】
同様に、GAエンジン32が上位になるにつれて評価条件が段階的に追加され、より複雑な評価条件下での最適化が試みられる。各段のGAエンジン32は、個別に設定された評価条件に適合した解の候補を進化個体群PGnとして出力する。進化個体群PGnを構成する個々の個体は、最適化に応じて適宜設定されたルールに従いコーディングされている。尚、各段の進化個体群PGnの初期設定は、個体の多様性を確保するために、GAエンジン32毎にランダムに作り出すことが好ましい。また、各段のGAエンジン32に設定する進化個体群PGnの個体数は同一であっても良いが、異なる個体数に設定しても良い。
【0031】
一方、進化個体群の中で評価値の悪い個体は、下位の評価条件の少ない群に移民し、評価値の良い個体は、上位の評価条件の多い群に移民する。すなわち、個体移民制御部33は、定められたタイミングで進化個体群PGnから定められた数の個体(移民)を、相対的な評価値の良い順番に、上位の進化個体群PGn+1に移動させる(ステップアップ)。移民を受け入れた上位側のGAエンジン32は、下位の評価条件についてはそこそこの評価を得ている個体から進化操作を行う。従って、評価条件の段階的な追加とともに最適解が存在するであろう空間を限定していくことができるため、最適解発見の可能性を高めることができる。
【0032】
また、個体移民制御部33は、定められたタイミングで、進化個体群PGnから定められた数の移民を、相対的な評価値の悪い順番に、下位の進化個体群PGn-1に移動させる(ステップダウン)。移民を受け入れた下位側のGAエンジン32は、従前よりも単純な評価条件下で解探索をリトライする。これは、複合条件での解探索が難しかった場合に、条件を簡略化して個体近傍の新たな局所解を素早く見つけ、再度上位に個体移動させるためである。
【0033】
このように、より単純な評価条件を満たした個体は、1つ上位の進化個体群にステップアップし、より複雑な評価条件下での最適化が行われる。一方、複雑な評価条件を満たせなかった個体は、1つ下位の進化個体群にステップダウンし、単純な評価条件下での最適化を再トライする。
【0034】
すなわち、段階的に条件が追加された評価環境の下で、最適化演算を段階的に実行し、上下間で進化個体群PGnの一部を相互に交換を行うことで、個体の最適化度合いに応じた進化計算を自動的・自律的に行うことが可能となる。それとともに、上位側における進化個体群PGnの解探索も効率的に行われ、個体遺伝子の偏りも避けられる(多様性の維持)。従って、局所解に陥ったとしても、局所解脱出の可能性が飛躍的に高まるとともに、進化の進行度合いはより連続的になるため、複雑な評価条件下においても良質な解を高速に算出することが可能となる。
【0035】
ここで、上位に位置する複合度の増した解空間において局所解(最適解)へは近いがアプローチが難しい場合(解にたどり着くまでに1山あるようなケース)を考える。本実施形態では、個体移民制御部33による制御でステップアップしたものの進化に行き詰まった場合、その個体をステップダウンし、下位側で若干の修正を加えた後に再度ステップアップするというリトライループが結果として構成される。
【0036】
このリトライループによって、下位にステップダウンした個体に若干の変更を加えて再びステップアップすれば、アプローチの角度が変わり、結果的に山を迂回し解にたどり着く可能性を高めることができる。すなわち、多数の条件が組み合わさった複雑な評価条件が与えられるほど解空間が飛躍的に広がるため、従来の単純GAでは局所解に陥り易いが、本実施形態に係る最適化手法では、進化の進み具合は連続的となり、局所解に陥ることなく良好な最適解が得られることになる。
【0037】
また、本実施形態によれば、集団の多様性が維持できるという効果もある。GAにおいて多様性の維持こそが広い解探索を保証する唯一の拠り所であり、下位側において生成・変更された個体を移民することは、上位側における集団の多様性維持に大きく貢献している。また、下位側には上位側よりも拘束力が強い条件を設けることで、最終的な最適解の探索を効率的に行うことが可能となる。一般に、ある条件に合致する解が存在する空間は、与えられた条件の拘束力が大きいほど大きくなる傾向がある。従って、下位側になるほど拘束力の強い条件を段階的に追加し、下位側において求められた大域的な解を考慮した上で、上位側での解探索を実行すれば、上位側での解探索を効率的に行うことが期待できる。
【0038】
GAエンジン間での移民処理は、図4に示す手順に従って実行される。この処理は、それぞれの個体移民制御部33において独立して実行されるものであるが、以下、中間段であるn段目のGAエンジン32に関する処理を例示しながら説明する。
【0039】
先ず、ステップS1において、上位移民タイミング、すなわち、進化個体群PGnの一部を直上位にステップアップさせるタイミングであるか否かが判断される。このタイミングは、例えば20世代毎のような固定タイミングでも良く、或いは一定確率による抽選で決定しても良い。
【0040】
ステップS1で肯定判定された場合には、ステップS2に進む。これに対して、このステップS1で否定判定された場合には、上位移民処理(ステップS2〜S5)をスキップしてステップS6に進む。尚、最上位のGAエンジン32に関しては、上位側にGAエンジン32が存在しないため、上位移民処理(すなわち、移民のステップアップ処理および上位側からの交換移民の受取り処理)は行われない。
【0041】
ステップS2において、n段目の進化個体群PGnの中で上位側にステップアップさせる一部個体群、すなわち上位側への移民個体が決定される。具体的には、所定の個体選択法に基づいて進化個体群を構成する個々の個体を評価し、基本的には、この進化個体群の中で相対的な評価が良い個体をステップアップする移民として選択する。選択される移民数は一定であり、進化個体群PGnの全体個体数が進化計算中に変化することはない。また、移民数は、最初に全個体数からの割合で決めるのが妥当である。
【0042】
GAには評価値の良い個体を選択する手法として一般的な手法がいくつかあり、適宜の手法に基づいて上位側への移民が決定される。これらの手法は、単純に評価値が良いものだけを順位から一意に決定するという方法ではなく、集団の遺伝子の多様性を維持するという意味合いから確率的選択で行う。代表的なものとしては、ルーレット式選択、ランク方式選択、トーナメント式選択等が挙げられる。標準的なGAにおいて、これらの手法は、次世代の個体を作り出す際の親個体の選択に用いられるが、本実施形態ではそれと同等な選択方式を採用している。
【0043】
ステップS3において、上位側の進化個体群PGn+1への移民に関する個体データが上位側である(n+1)段目に送信される。すなわち、n段目で決定された移民は、(n+1)段目に対して送信され、n段目は、交換個体データの受信待ち状態となる(ステップS4)。そして、(n+1)段目からの交換個体データをn段目が受信すると、受信した受領個体データがn段目の進化個体群PGnにセットされる(ステップS5)。
【0044】
ステップS5に続くステップS6において、n段目が下位側である(n−1)段目からの移民個体データを受信しているか否かが判断される。移民個体データを受信している場合、ステップS7に進み、下位移民処理(ステップS7〜S9)が行われる。最下位のGAエンジン32に関しては、下位側にGAエンジン32が存在しないため、下位移民処理(すなわち、移民のステップダウン処理および下位側からの交換移民の受取り処理)は行われない。
【0045】
この下位移民処理では、例えば、「脚で立つ」と「転倒しない」という2つの評価条件を満たした個体を考えると、この個体が一つ上位の条件である「移動する」という条件を加えた上位側のGAエンジン32で評価されるべく移民したにも拘らず、その個体群の中で評価値が悪い状態にいる場合、この個体は淘汰されてしまうのではなく、もう一度もとの2つの評価条件の下位側に移民されて近くの解が探索される。そこで、2つの評価条件において、評価値の良い個体となることで、再度、上位の評価条件を加えたGAエンジン32での最適化の挑戦が可能となる。
【0046】
具体的は、ステップS7において、進化個体群PGnの中で下位側に移動させる個体、すなわち下位側への移民個体が決定される。この下位側への移民は、所定の個体選択法に基づいて進化個体群を構成する個々の個体を評価し、基本的には、この進化個体群の中で相対的な評価が悪い個体をステップダウンさせる移民として選択する。下位側への移民数は一定であり、進化個体群PGnの全体個体数が進化計算中に変化することはない。また、移民数は、最初に全個体数からの割合で決めるのが妥当である。下位側への移民を決定する手法としては、逆ルーレット式選択、逆ランク方式選択、逆トーナメント式選択といった周知の手法を用いることができ、選択率を評価値に関して逆転させて(評価値の悪い方が選択率が高まるように)使用する。
【0047】
ステップS8において、n段目は、下位側の進化個体群PGn-1への移民に関する個体データを下位側である(n−1)段目に送信する。そして、ステップS9において、n段目の進化個体群PGnには、一部個体を移民として削除したことに代えて、下位側からの受領個体データがセットされ、次の世代の進化計算へ進む。
【0048】
尚、上述の移民処理は、互いに隣接した直近の進化個体群PGn,PGn+i(またはPGn,PGn-1)の間で個体移動を行う例について説明したが、例えば2つ跳ばしといった飛び級的な個体移動に対して適用することも可能である。更に、上述したリトライループによる最適解の精度向上よりも処理速度の方を優先する場合には、ステップダウンを行うことなく、ステップアップのみを単独で行っても良い。その場合、ステップダウンについては単独で行っても意味はなく、ステップアップと併せて行う必要がある。
【0049】
以上の世代進化計算に対し、最上位に位置する収束判定部34は、最上位のGAエンジン32により算出された進化個体群PGNを常時観測し、最終的な評価条件である「条件1+2+・・・+N」を満足する最適化が行われたか否かを判断する。具体的は、この「評価条件1+2+・・・+N」に適合する個体ほど高い適合度が得られるように適切に設定された評価関数に基づいて、最上位の進化個体群PGNを構成する個体を個別に評価する。
【0050】
そして、ある世代Kにおいて、満足な最適化が完了しない場合には、個体移民を伴う世代進化計算を続行し、最適化が満足されたならば、最上位の演算結果をパラメータ発生器10に出力するとともに、各GAエンジン32に対してGA演算の終了を指示する。これにより、GAエンジン群30で全体の最適化演算が終了する。
【0051】
尚、最適化の結果を見て新たな評価条件を逐次的に追加(挿入)したい場合には、その評価条件を加えた新たなGAエンジン32を一つ追加すれば良い。GAエンジン32の追加(挿入)位置は、新たに追加(挿入)する評価条件に関する拘束力の強さに基づいて決定する。つまり、追加する条件の拘束力が強いならば、下位側にGAエンジン32を追加することが好ましく、追加する条件の拘束力が弱いならば、上位側にGAエンジン32を追加することが好ましい。これにより、実際の解探索アプローチにマッチした優れた利便性を有するシステムを実現することができる。
【0052】
GAエンジン群30での最適化演算が終了すると、パラメータ発生器10において、GAエンジン群30で進化させた個体からシミュレータ20又は歩行型ロボット1に出力する制御パラメータが生成・更新される。
【0053】
本実施形態においては、歩行型ロボット1を四脚歩行型ロボットとして、その歩容パターンを生成するケースについて説明する。歩行型ロボット1は、図5,図6に示すように、胴体部2から延出される4つの脚部3a,3b,3c,3dを備え、各脚部を駆動するサーボ機構や姿勢を検出する検出部を備えている。そして、上下方向の動きを与える各脚部の関節角θ2,θ3及び前後・左右方向の動きを与える関節角θ1に対する指示値を入力することにより、サーボ機構によって各脚部の関節の駆動し、歩行を行う。
【0054】
パラメータ発生器10は、3層のフィードフォワード型ニューラルネットワークから構成され、各個体の遺伝子をニューロン間の結合係数として、シグモイド関数を用いる。このニューラルネットワークの結合係数が段階的進化法で調整され、最適な歩容パターンが生成される。歩行は周期運動であることから、図7に示す1脚分のニューラルネットワークには、経過時間tと歩行周期wとを引数とするsin関数とcos関数とを入力し、歩行型ロボット1の各関節角度指示値θ1,θ2,θ3を出力する。
【0055】
パラメータ発生器10からの関節角度指示値が歩行型ロボット1に出力されると、歩行型ロボット1ではサーボ機構により各関節指示値に基づいて各脚部を適当な位相差で駆動して歩行を行い、実際の各関節角度θ1,θ2,θ3や姿勢データ等をGAエンジン群30の評価部31に対して出力する。
【0056】
一方、シミュレータ20は、実機の歩行型ロボット1を模擬したモデルであり、パラメータ発生器10からの関節角度指示値が入力されると、ロボットの姿勢、歩行距離、転倒判定等の演算を行い、結果をGAエンジン群30の評価部31に対して出力する。
【0057】
図8は、シミュレータ20における処理手順を示し、この処理では、先ず、ステップS11において、パラメータ発生器10から関節指示値を受け取る。次にステップS12へ進み、ロボットモデルから関節指示値に基づいて各脚部の位置を計算し、ステップS13で各脚部の位置から全体の姿勢を計算する。
【0058】
続くステップS14においては、先に計算したロボットの脚部の位置や姿勢から体の角度が設定限度を越え、転倒したか否かが判断される。そして、転倒したと判断される場合には、ステップS17へジャンプし、転倒していないと判断される場合、ステップS15で各脚部の位置及び姿勢から安定性を計算し、ステップS16で歩容パターンの1周期が終了したか否かを判断する。そして、1周期分のシミュレーションが終了していない場合には、ステップS11へ戻って同様の処理を続行する。
【0059】
一方、ステップS14における転倒判断、或いはステップS16における1周期分のシミュレーション終了判断がなされると、ステップS17において、ロボットの総移動距離、使用エネルギーが計算される。そして、ステップS18で評価部31にデータが渡され、1周期分の処理が終了する。
【0060】
評価部31において歩容パターンを評価する評価条件としては、「脚で立つ(体を地面につけない)」,「転倒しない」といった拘束の強い条件をはじめとして、比較的拘束の弱い「使用するエネルギーが少ない」,「なるべく姿勢を崩さずに歩行する」,「なるべく足音を立てずに歩行する」といった様々な条件が考えられる。このうち拘束力が強い条件が下位になるように、図2に示した各GAエンジン32に評価条件を個別に割り当てていく。
【0061】
例えば、「脚で立つ」という評価条件を最下位に割り当てた場合における下位空間(調整パラメータがなす空間)では、「脚で立つ」いくつかの局所解がGAによる進化で算出される。この局所解は、下位空間上に多数存在し、互いに無関係の位置にあるかも知れないものの、この局所解近傍にある個体を確率的に選択することで、「脚で立つ+転倒しない」を評価条件とする上位側に移民する。上位側では、「脚で立つ」という条件については、そこそこの評価を得ている個体から進化操作が行えるので、最適解発見の可能性が高まる。
【0062】
また、上位側からは評価が低い個体を移民として受け入れ、「脚で立つ」という単純な条件のみで解探索をやり直す。その理由は、上述したように、複合条件での解探索が難しかった場合、条件を単一化・簡略化することにより、その個体近傍に存在する新たな局所解を素早く見つけ、再度上位に個体移動させるためである。
【0063】
このように、歩行型ロボットとして満たすべき評価条件が多数で、且つ相互に複雑な関連をもつ場合においても、GAによる最適化演算を段階的に接続し、相互に進化個体交換を行うことで、個体の最適化度合いに応じた進化計算を自動的・自立的に行うことができ、最適な歩容を生成することができる。
【0064】
また、より望ましい歩行を実現する歩容の解探索も効率的に行うことができ、個体遺伝子の偏りも避けられる。一部の評価条件によって歩容が局所解にトラップされる可能性が低くなり、進化の度合いがより継続的になる。
【0065】
【発明の効果】
以上説明したように本発明によれば、歩行型ロボットが満たすべき複数の評価条件を下位から上位に向かって段階的に分割して上位側の評価条件に下位側の評価条件を含め、下位側の進化個体群と上位側の進化個体群との間で個体の評価値に応じて個体交換を行いながら、各段の評価条件に適合した最適解の候補をそれぞれ演算し、最上位の進化個体群の最適化演算が収束判定されたとき、この最上位の進化個体群に基づいて歩行型ロボットの制御パラメータを更新するので、歩容生成における最適解の収束性を高めて進化の停滞を防止し、高速且つ信頼性の高い歩容パターンを得ることができる。
【図面の簡単な説明】
【図1】ロボット装置の全体構成図
【図2】段階的進化法を用いた最適化装置のブロック図
【図3】複数の演算装置を用いた最適化装置のブロック図
【図4】GAエンジン間での移民処理のフローチャート
【図5】4脚歩行型ロボットに上下方向の動きを与える関節角の説明図
【図6】4脚歩行型ロボットに前後・左右方向の動きを与える関節角の説明図
【図7】1脚分の歩容パターンを生成するニューラルネットワークの説明図
【図8】シミュレータの処理を示すフローチャート
【符号の説明】
1 歩行型ロボット
3a,3b,3c,3d 脚部
10 パラメータ発生器
20 シミュレータ
30 GAエンジン群
31 評価部
32 GAエンジン
33 個体移民制御部
34 収束判定部
PGn 進化個体群
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a robot apparatus that generates a gait using a genetic algorithm and walks with a leg.
[0002]
[Prior art]
Conventionally, when generating a gait of a robot having legs, it is necessary to determine many parameters, and many man-hours are required for simulations and experiments.
[0003]
For this reason, for example, in Japanese Patent Laid-Open No. 2001-191284, a parameter for controlling walking of a walking robot is updated by using a genetic algorithm so that the evaluation value of walking is improved, so that a walking pattern is updated. A technique for facilitating the generation work of is disclosed.
[0004]
[Problems to be solved by the invention]
However, since the gait generation of a walking robot is complicated, there are many evaluation conditions that must be satisfied in walking the robot, and the respective conditions may affect each other or may have a trade-off relationship.
[0005]
For this reason, even if an evolutionary learning method using a genetic algorithm is applied as in the prior art, the convergence of evolutionary computation is slow, resulting in a phenomenon where evolution is stagnated due to being trapped in a local solution There is a case.
[0006]
The present invention has been made in view of the above circumstances, and improves convergence of an optimal solution in gait generation using a genetic algorithm to prevent stagnation of evolution, and to obtain a fast and reliable gait pattern. It aims at providing the robot apparatus which can do.
[0007]
[Means for Solving the Problems]
To achieve the above object, the invention according to claim 1 is based on a genetic algorithm, wherein a plurality of evaluation conditions to be satisfied by a walking robot walking with a single leg or a plurality of legs are stepped from lower to higher. And calculating the optimal solution candidates that match the evaluation conditions of each stage as the evolution population, and the individual evaluation value between the lower evolution population and the higher evolution population. In response, the means for exchanging individuals, the means for determining the convergence of the optimization operation based on the top evolutionary population, and the top evolutionary population on which the optimization computation has converged, Means for updating control parameters The upper evaluation condition includes the lower evaluation condition. It is characterized by that.
[0008]
The invention described in claim 2 is characterized in that, in the invention described in claim 1, the calculation of the evolved population is executed by being distributed by a plurality of calculators.
[0009]
According to a third aspect of the present invention, in the first or second aspect of the invention, the evaluation value is calculated based on data from a simulator that models the movement of the walking robot.
[0010]
According to a fourth aspect of the present invention, in the invention according to any one of the first, second, and third aspects, the evaluation value is calculated based on actual machine data from the walking robot.
[0011]
That is, the invention according to claim 1 divides a plurality of evaluation conditions to be satisfied by the walking robot step by step from lower to higher. Include the lower evaluation condition in the upper evaluation condition. The candidate of the optimal solution suitable for the evaluation condition of each stage is calculated while exchanging individuals according to the evaluation value of the individual between the lower-level evolution population and the higher-level evolution population. When the optimization operation of the top evolutionary population is determined to converge, the control parameters of the walking robot are updated based on this top evolutionary population, thereby improving the convergence of the optimal solution and evolving To prevent stagnation.
[0012]
At this time, it is desirable that the computation of the evolved population is distributed and executed by a plurality of computing units, as in the invention described in claim 2, and the solution search can be further speeded up. In addition, the individual evaluation value is obtained from data from a simulator that models the movement of a walking robot as in the invention described in claim 3, or from the walking robot as in the invention described in claim 4. It can be calculated based on the data.
[0013]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings. 1 to 8 relate to an embodiment of the present invention, FIG. 1 is an overall configuration diagram of a robot apparatus, FIG. 2 is a block diagram of an optimization apparatus using a stepwise evolution method, and FIG. 3 is a plurality of arithmetic units. FIG. 4 is a flowchart of immigration processing between GA engines, FIG. 5 is an explanatory diagram of joint angles that give vertical movement to a four-legged walking robot, and FIG. 6 is four-legged walking. FIG. 7 is an explanatory diagram of a neural network that generates a gait pattern for one leg, and FIG. 8 is a flowchart showing the processing of the simulator.
[0014]
The robot apparatus shown in FIG. 1 has a single or a plurality of legs, a walking robot 1 that walks by driving the legs, and a parameter generator that generates and updates walking control parameters of the walking robot 1. 10, a simulator 20 that models the walking robot 1, and N evaluation units 31 in which evaluation conditions are sequentially added from lower to higher in order to realize stepwise evolution according to a plurality of evaluation conditions And a GA engine group 30 having N genetic algorithm calculation units (GA engines) 32 that execute operations in parallel.
[0015]
The GA engine group 30 is configured as an optimization device using a so-called stepwise evolution method that prevents the stagnation of evolution by gradually complicating the task given to the walking robot 1 from the initial stage of evolution. Specifically, as shown in FIG. 2, the GA engine group 30 has (N−1) individual immigration control units 33 and a convergence with respect to the N evaluation units 31 and the corresponding N GA engines 32. And a determination unit 34.
[0016]
The GA engine 32 is provided in a plurality of stages from the lower order to the upper order, and as will be described later, the evaluation conditions set by the evaluation unit 31 for each GA engine 32 are added stepwise from the lower order to the upper order. Note that the evaluation unit 31 and the GA engine 32 at each stage define the lowest level as the first level, the second level, the third level,...
[0017]
The individual immigration control unit 33 is provided between the GA engines 32 adjacent to each other, and the partial populations in the evolutionary population PGn (n = 1 to N) to be optimized are assigned to the nearest adjacent stages. Move between. In the present specification, an individual that is moved between the upper and lower evolved populations PGn is referred to as “immigrants”.
[0018]
The convergence determination unit 34 is attached only to the highest GA engine 32, and performs optimization convergence determination based on the evolved population PGN output from the highest GA engine 32. Here, the “highest level” means a target stage that can include an optimal solution as a final objective, in other words, a stage in which all conditions to be finally given are set. Therefore, the optimum solution finally obtained, that is, a solution that meets all the conditions to be considered is calculated in the highest-level GA engine 32.
[0019]
The evaluation conditions set for the GA engine 32 by the evaluation unit 31 at each stage are added stepwise from the lower level to the upper level. That is, the first-stage evaluation condition (evaluation condition set for the first-stage GA engine 32) is only a single “condition 1”, whereas the second-stage evaluation condition is the first-stage evaluation condition. “Condition 1 + 2” (“+” means “and”) is obtained by adding a new “Condition 2” to “Condition 1”. Further, the third-stage evaluation condition is “condition 1 + 2 + 3” in which a new “condition 3” is added to “condition 1 + 2” which is the immediately lower evaluation condition. That is, “evaluation condition 1 + 2 +... + N” (final evaluation condition), which is a combination of a plurality of conditions, is divided step by step, and conditions are added step by step from lower to higher. Set the evaluation conditions individually.
[0020]
Note that the condition added to each stage is not necessarily a single condition, and a plurality of conditions may be added simultaneously. For example, the first-stage evaluation condition is “condition 1”, and the second-stage evaluation condition is “condition 1 + 2 + 3”.
[0021]
Conditions that are added stepwise to each GA engine 32 are arranged in a lower order as the restraining force is stronger, and placed in a higher order as the restraining force is weaker. In other words, necessary conditions are arranged on the lower side, and sufficiently conditional conditions are arranged on the upper side. Specifically, as described below, conditions to be considered in the walking optimization related to the walking robot 1, such as “stand with legs”, “do not fall”, “walk without making footsteps as much as possible”, etc. The condition of strong restraint of “standing with legs”, which is the main premise of walking, corresponds to “Condition 1” at the bottom, and the condition “Do not fall” corresponds to “Condition 2”, The advanced condition of “walking without making footsteps as much as possible” corresponds to the highest condition “condition N” (the binding force is the weakest).
[0022]
In detail, as conditions required for walking of a robot having a single or a plurality of legs, for example, there are conditions shown in the following (1) to (9), and generally (1) → (9) Strong binding power in order.
(1) Stand with your legs (do not put your body on the ground).
(2) Do not tip over (keep body angle within limits).
(3) Move (not just stepping).
(4) Proceed in the direction you want to go.
(5) Walk faster.
(6) Walk more stably (withstand disturbances).
(7) Less energy is used.
(8) Walk with as little posture as possible.
(9) Walk with as little footsteps as possible.
[0023]
Among these conditions, the condition with the strongest binding force, that is, the condition of “standing on the leg” in (1) is determined by the first evaluation unit 31, and the condition with the strongest binding force and the second binding force are determined. In this case, the evaluation unit 31 in the second stage simultaneously determines the strong condition of (2) and the “not toppling” condition in (2). In this way, by preparing N independent GA engines 32 for the N conditions so as to sequentially add to the evaluation unit 31 from the condition with strong binding force, the N-stage GA engine 32 Evaluation will be performed for all required conditions.
[0024]
When the GA engine group 30 is realized by a single arithmetic device such as a stand-alone single processor type computer, the single computer has N evaluation units 31 and GA engines 32, and (N-1) individual immigrants. It is responsible for all functions of the control unit 33 and the convergence determination unit 34, but in order to increase the processing speed, a plurality of operations such as a multiprocessor computer or a plurality of single processor computers connected by a network via a LAN, etc. It is also possible to implement the GA engine group 30 with the device.
[0025]
In this case, as shown in FIG. 3, each of the N computers (processors) 30-1, 30-2,..., 30-N includes one evaluation unit 31, a GA engine 32, and an individual immigrant corresponding thereto. Information transmission (individual exchange) between computers (processors) that realize the functions of the control unit 33 and perform parallel processing is performed via a network, a bus, a multi-port memory, and other interfaces. Then, the computer (processor) corresponding to the uppermost GA engine 32 has the function of the convergence determination unit 34.
[0026]
Since each GA engine 32 performs a GA operation independently of each other, it can be easily parallelized, and the processing time required for optimization is shortened as the number of computers (processors) used increases. The amount of data required for individual exchange between mutually adjacent GA engines 32 is relatively small, and the frequency of occurrence is not high. Therefore, it is not always necessary to use a high-speed dedicated line as an interface for individual exchange. Note that if the single GA engine 32 is further subdivided and parallelized using a normal distributed GA, the processing speed can be further increased.
[0027]
In the robot apparatus having the above configuration, the operation state is simulated by the simulator 20 or the walking robot 1 using the gait parameters generated by the parameter generator 10, and the result is evaluated by the evaluation unit 31 of the GA engine group 30. In other words, since the GA operation is a method of performing repetitive learning, the evaluation progresses using a simulator instead of the actual machine (walking robot 1) because of the limitation of calculation time, and the result of the best individual with the highest evaluation condition is obtained. However, it is also possible to apply a part or all of the evaluation to the actual machine in consideration of the balance between the certainty of control and the time until the control result is obtained.
[0028]
The GA engine group 30 performs calculation so that the evaluation value of the best individual in each GA engine 32 is improved based on the evaluation value from each evaluation unit 31, passes a new parameter to the parameter generator 10, and sets the parameter The gait parameters (control parameters) output from the generator 10 to the walking robot 1 are updated. Then, the evaluation of the operation state by the simulator 20 or the walking robot 1 is repeated again to gradually evolve into a gait parameter having a high evaluation value.
[0029]
This optimization calculation in the GA engine group 30 performs a solution search based on only the simplest evaluation condition 1, for example, the “stand on the leg” condition, in the lowest GA engine 32, and outputs an evolved individual group PG1. In addition, the GA engine 32 that is one level higher than this adds a new evaluation condition 2, for example, the “do not fall” condition, to the evaluation condition 1 and performs a solution search under both evaluation conditions (1 + 2), and the evolved individual The group PG2 is output.
[0030]
Similarly, as the GA engine 32 becomes higher, evaluation conditions are added in stages, and optimization under more complicated evaluation conditions is attempted. The GA engine 32 at each stage outputs a solution candidate that matches an individually set evaluation condition as an evolved population PGn. Individual individuals constituting the evolved population PGn are coded according to rules appropriately set according to optimization. The initial setting of the evolution population PGn at each stage is preferably created randomly for each GA engine 32 in order to ensure individual diversity. In addition, the number of individuals of the evolved population PGn set in the GA engine 32 of each stage may be the same, but may be set to a different number of individuals.
[0031]
On the other hand, an individual with a poor evaluation value in the evolved individual group migrates to a group with a lower evaluation condition, and an individual with a good evaluation value migrates to a group with a higher evaluation condition. That is, the individual immigration control unit 33 moves a predetermined number of individuals (immigrants) from the evolved individual group PGn to a higher-order evolved individual group PGn + 1 in the order of good relative evaluation values at a predetermined timing. (Step up) The higher-order GA engine 32 that has accepted the immigrant performs an evolution operation from an individual who has obtained a reasonable evaluation of the lower evaluation conditions. Therefore, since the space where the optimal solution will exist can be limited with the stepwise addition of the evaluation conditions, the possibility of finding the optimal solution can be increased.
[0032]
Further, the individual immigration control unit 33 moves a predetermined number of immigrants from the evolved individual group PGn to the lower evolved individual group PGn-1 in the order of poor relative evaluation values at a predetermined timing ( Step down). The lower-level GA engine 32 that has accepted immigrants retries the solution search under simpler evaluation conditions than before. This is because when it is difficult to find a solution under a complex condition, the condition is simplified, a new local solution in the vicinity of the individual is quickly found, and the individual is again moved to the upper level.
[0033]
In this way, an individual that satisfies a simpler evaluation condition is stepped up to the next higher evolution group, and optimization under more complicated evaluation conditions is performed. On the other hand, an individual that fails to satisfy the complicated evaluation condition steps down to the next lower evolutionary population, and tries optimization under a simple evaluation condition again.
[0034]
In other words, under the evaluation environment in which conditions are added step by step, optimization operations are executed step by step, and a part of the evolved population PGn is exchanged between the upper and lower sides to optimize the degree of individual optimization It is possible to automatically and autonomously perform evolutionary calculations according to the situation. At the same time, the solution search of the evolutionary population PGn on the upper side is efficiently performed, and the bias of individual genes can be avoided (maintenance of diversity). Therefore, even if it falls into a local solution, the possibility of local solution escape increases dramatically and the progress of evolution becomes more continuous, so a high-quality solution is calculated at high speed even under complicated evaluation conditions. It becomes possible.
[0035]
Here, let us consider a case in which the approach is difficult to approach a local solution (optimal solution) in a solution space with an increased degree of complexity positioned at the top (a case where there is one mountain before reaching the solution). In the present embodiment, when the step up by the control by the individual immigration control unit 33 is stuck in the evolution, the retry loop of stepping down the individual, making some corrections on the lower side, and stepping up again is the result. Composed.
[0036]
With this retry loop, if you make a slight change to the individual stepped down and step up again, the angle of the approach will change, and as a result, it is possible to increase the possibility of bypassing the mountain and reaching the solution. In other words, since the solution space drastically expands as a complex evaluation condition in which a large number of conditions are combined, the conventional simple GA is likely to fall into a local solution. The progress is continuous, and a good optimal solution can be obtained without falling into a local solution.
[0037]
Further, according to the present embodiment, there is an effect that diversity of the group can be maintained. Maintaining diversity in GA is the only source that guarantees a broad solution search, and migrating individuals created and changed on the lower side greatly contributes to maintaining diversity in the group on the upper side. In addition, by providing a condition with a stronger restraining force on the lower side than on the upper side, it is possible to efficiently search for the final optimum solution. In general, a space in which a solution that matches a certain condition exists tends to increase as the constraint force of the given condition increases. Therefore, if a lower level is added, a condition with stronger binding force is added step by step, and a solution search on the upper side is performed after considering the global solution obtained on the lower side. The search can be expected to be performed efficiently.
[0038]
Immigration processing between GA engines is executed according to the procedure shown in FIG. This process is executed independently in each individual immigration control unit 33, and will be described below by exemplifying a process related to the n-th stage GA engine 32 as an intermediate stage.
[0039]
First, in step S1, it is determined whether it is upper immigration timing, that is, whether it is a timing to step up a part of the evolved population PGn to the immediately higher level. This timing may be a fixed timing such as every 20th generation, or may be determined by a lottery with a certain probability.
[0040]
If a positive determination is made in step S1, the process proceeds to step S2. On the other hand, if a negative determination is made in step S1, the upper-level immigration process (steps S2 to S5) is skipped and the process proceeds to step S6. Note that the uppermost GA engine 32 does not have the GA engine 32 on the upper side, and therefore, the upper immigration process (that is, the immigration step-up process and the exchange immigration receiving process from the upper side) is not performed.
[0041]
In step S2, a partial individual group to be stepped up to the upper side in the n-th stage evolution individual group PGn, that is, an immigrant individual to the upper side is determined. Specifically, migrants who evaluate the individual individuals that make up the evolved population based on a predetermined individual selection method, and basically step up individuals with good relative evaluation within this evolved population. Choose as. The number of immigrants selected is constant, and the total number of individuals in the evolved population PGn does not change during the evolution calculation. It is reasonable to determine the number of immigrants as a percentage of the total number of individuals.
[0042]
There are several general methods for selecting individuals with good evaluation values in GA, and immigration to the upper side is determined based on appropriate methods. These methods are not a method of simply determining only those with good evaluation values from ranks, but are based on probabilistic selection from the viewpoint of maintaining the genetic diversity of a group. Typical examples include roulette type selection, rank type selection, tournament type selection, and the like. In standard GA, these methods are used for selection of a parent individual when creating a next generation individual, but in this embodiment, a selection method equivalent to that is adopted.
[0043]
In step S3, individual data relating to immigration to the higher-order evolution individual group PGn + 1 is transmitted to the upper (n + 1) stage. In other words, the immigrant determined at the n-th stage is transmitted to the (n + 1) -th stage, and the n-th stage is in a state of waiting for exchange individual data reception (step S4). When the nth stage receives the exchange individual data from the (n + 1) th stage, the received individual data is set in the evolution individual group PGn in the nth stage (step S5).
[0044]
In step S6 subsequent to step S5, it is determined whether or not migrant individual data from the (n-1) th stage in which the nth stage is the lower side is received. When the migrant individual data is received, the process proceeds to step S7, and the low-level immigration process (steps S7 to S9) is performed. Regarding the lowest-order GA engine 32, since the GA engine 32 does not exist on the lower side, the lower-level immigration process (that is, the immigration step-down process and the exchange immigration reception process from the lower side) is not performed.
[0045]
In this low-level immigration process, for example, considering an individual that satisfies the two evaluation conditions of “standing with legs” and “not falling”, this individual added the condition of “move”, which is one higher level condition. Despite having immigrated to be evaluated by the GA engine 32 on the upper side, if the evaluation value is in a bad state in the population, this individual will not be deceived, but once again the original two Immigrants are moved to the lower side of the evaluation condition and nearby solutions are searched. Thus, by becoming an individual with a good evaluation value under the two evaluation conditions, it becomes possible to challenge the optimization with the GA engine 32 to which the higher evaluation conditions are added again.
[0046]
Specifically, in step S7, an individual to be moved to the lower side in the evolved population PGn, that is, an immigrant individual to the lower side is determined. This immigration to the lower side evaluates the individual individuals that make up the evolved population based on a predetermined individual selection method, and basically steps the individuals with poor relative evaluation within this evolved population. Choose as an immigrant to bring down. The number of immigrants to the lower side is constant, and the total number of individuals in the evolution population PGn does not change during the evolution calculation. It is reasonable to determine the number of immigrants as a percentage of the total number of individuals. As a method for determining immigration to the lower side, well-known methods such as reverse roulette method selection, reverse rank method selection, and reverse tournament type selection can be used, and the selection rate is reversed with respect to the evaluation value (poor evaluation value is bad). Use it so that the selectivity is higher).
[0047]
In step S8, the n-th stage transmits individual data relating to immigration to the lower-level evolution population PGn-1 in the lower (n-1) -th stage. In step S9, instead of deleting some individuals as immigrants, the received individual data from the lower side is set in the n-th stage evolution individual group PGn, and the next generation evolution calculation is performed.
[0048]
Although the above-described immigration process has been described with respect to an example in which individual movement is performed between the most recently evolved individual groups PGn, PGn + i (or PGn, PGn-1) adjacent to each other, for example, jumping such as two jumps. It is also possible to apply to general individual movement. Further, when the processing speed is prioritized over the improvement of the accuracy of the optimum solution by the retry loop described above, only the step up may be performed alone without performing the step down. In that case, there is no point in carrying out the step-down alone, and it is necessary to carry out the step-up together.
[0049]
For the above generation evolution calculation, the convergence determination unit 34 located at the top always observes the evolution population PGN calculated by the top GA engine 32, and the final evaluation condition “condition 1 + 2 ++. It is determined whether or not optimization satisfying + N ”has been performed. Specifically, based on an evaluation function appropriately set so that an individual that satisfies this “evaluation condition 1 + 2 +... + N” has a higher fitness, the individuals that make up the highest-level evolution population PGN are selected. Evaluate individually.
[0050]
If satisfactory optimization is not completed in a certain generation K, generational evolution calculation with individual immigration is continued. If optimization is satisfied, the highest-level calculation result is output to the parameter generator 10. At the same time, each GA engine 32 is instructed to end the GA operation. As a result, the entire optimization calculation is completed in the GA engine group 30.
[0051]
If it is desired to sequentially add (insert) new evaluation conditions after looking at the optimization result, it is sufficient to add one new GA engine 32 to which the evaluation conditions are added. The addition (insertion) position of the GA engine 32 is determined based on the strength of the binding force related to the newly added (insertion) evaluation condition. That is, it is preferable to add the GA engine 32 on the lower side if the binding force of the condition to be added is strong, and to add the GA engine 32 on the upper side if the binding force of the condition to be added is weak. As a result, it is possible to realize a system having excellent convenience that matches an actual solution search approach.
[0052]
When the optimization calculation in the GA engine group 30 is completed, the parameter generator 10 generates and updates the control parameter output from the individual evolved in the GA engine group 30 to the simulator 20 or the walking robot 1.
[0053]
In the present embodiment, a case will be described in which the walking robot 1 is a quadruped walking robot and its gait pattern is generated. As shown in FIGS. 5 and 6, the walking robot 1 includes four leg portions 3 a, 3 b, 3 c, and 3 d extending from the body portion 2, and detects a servo mechanism and posture for driving each leg portion. A detection unit is provided. Then, by inputting the instruction values for the joint angles θ2 and θ3 of the legs that give the vertical movement and the joint angle θ1 that gives the movement in the front-rear and left-right directions, the joint of each leg is driven by the servo mechanism, Walk.
[0054]
The parameter generator 10 is composed of a three-layer feedforward neural network, and uses a sigmoid function with each individual gene as a coupling coefficient between neurons. The coupling coefficient of this neural network is adjusted by the stepwise evolution method, and an optimal gait pattern is generated. Since walking is a periodic motion, a sin function and a cosine function with an elapsed time t and a walking cycle w as arguments are input to the neural network for one leg shown in FIG. The joint angle instruction values θ1, θ2, and θ3 are output.
[0055]
When the joint angle instruction value from the parameter generator 10 is output to the walking robot 1, the walking robot 1 drives each leg with an appropriate phase difference based on each joint instruction value by the servo mechanism to walk. The actual joint angles θ1, θ2, θ3, posture data, and the like are output to the evaluation unit 31 of the GA engine group 30.
[0056]
On the other hand, the simulator 20 is a model simulating an actual walking robot 1. When the joint angle instruction value from the parameter generator 10 is input, the robot 20 performs calculations such as the posture of the robot, the walking distance, and the fall determination. The result is output to the evaluation unit 31 of the GA engine group 30.
[0057]
FIG. 8 shows a processing procedure in the simulator 20. In this processing, first, a joint instruction value is received from the parameter generator 10 in step S 11. In step S12, the position of each leg is calculated from the robot model based on the joint instruction value. In step S13, the overall posture is calculated from the position of each leg.
[0058]
In the subsequent step S14, it is determined whether or not the body angle has exceeded the set limit from the previously calculated position and posture of the leg of the robot. If it is determined that the vehicle has fallen, the process jumps to step S17. If it is determined that the vehicle has not fallen, the stability is calculated from the position and posture of each leg in step S15, and the gait is determined in step S16. It is determined whether one cycle of the pattern is completed. If the simulation for one cycle is not completed, the process returns to step S11 and the same process is continued.
[0059]
On the other hand, when the fall determination in step S14 or the simulation end determination for one cycle in step S16 is made, in step S17, the total movement distance and energy used of the robot are calculated. In step S18, data is passed to the evaluation unit 31, and one cycle of processing is completed.
[0060]
Evaluation conditions for evaluating the gait pattern in the evaluation unit 31 include conditions of strong restraint such as “stand on the leg (do not put the body on the ground)”, “do not fall”, and “use energy with relatively weak restraint” There are various conditions, such as “There are few”, “Walk as much as possible,” and “Walk as little as possible”. Evaluation conditions are individually assigned to the GA engines 32 shown in FIG. 2 so that the condition with the strong binding force is the lower order.
[0061]
For example, in the lower space when the evaluation condition “standing with legs” is assigned to the lowest position (the space formed by the adjustment parameter), several local solutions “standing with legs” are calculated by evolution by GA. Although many local solutions exist in the lower space and may be in positions that are not related to each other, "stand on the leg + do not fall" is evaluated by selecting individuals in the vicinity of this local solution. Immigrate to the higher level as a condition. On the upper side, the condition of “standing with legs” can be evolved from an individual who has obtained a reasonable evaluation, thus increasing the possibility of finding the optimal solution.
[0062]
Also, from the upper side, individuals with low evaluation are accepted as immigrants, and the solution search is performed again only with the simple condition of “standing with legs”. The reason for this is that, as described above, when it is difficult to find a solution under a complex condition, a new local solution existing in the vicinity of the individual can be quickly found by unifying the conditions and simplified, and the individual is again placed in the higher rank. It is for moving.
[0063]
In this way, even when there are many evaluation conditions to be satisfied as a walking robot and they have complicated relationships with each other, by connecting the optimization operations by GA step by step and performing evolutionary individual exchange with each other, Evolutionary calculations can be performed automatically and autonomously according to the degree of individual optimization, and an optimal gait can be generated.
[0064]
In addition, it is possible to efficiently search for a gait solution that realizes a more desirable gait, and to avoid bias of individual genes. Some evaluation conditions reduce the likelihood that the gait will be trapped in the local solution, and the degree of evolution will be more continuous.
[0065]
【The invention's effect】
As described above, according to the present invention, the plurality of evaluation conditions to be satisfied by the walking robot are divided stepwise from the lower level to the higher level. Include the lower evaluation condition in the upper evaluation condition. , While performing individual exchange between the lower-level evolution population and the higher-level evolution population according to the individual evaluation value, each candidate of the optimal solution that matches the evaluation condition of each stage is calculated, and the highest When the optimization operation of the evolutionary population of the robot is determined to converge, the control parameters of the walking robot are updated based on this top-level evolutionary population, so the convergence of the optimal solution in gait generation is improved and It is possible to prevent stagnation and obtain a fast and reliable gait pattern.
[Brief description of the drawings]
FIG. 1 is an overall configuration diagram of a robot apparatus.
FIG. 2 is a block diagram of an optimization apparatus using a stepwise evolution method.
FIG. 3 is a block diagram of an optimization device using a plurality of arithmetic devices.
FIG. 4 is a flowchart of immigration processing between GA engines.
FIG. 5 is an explanatory diagram of joint angles that give vertical movement to a quadruped walking robot.
FIG. 6 is an explanatory diagram of a joint angle that gives a four-legged walking type robot a forward / backward / left / right movement.
FIG. 7 is an explanatory diagram of a neural network that generates a gait pattern for one leg.
FIG. 8 is a flowchart showing simulator processing.
[Explanation of symbols]
1 Walking robot
3a, 3b, 3c, 3d Leg
10 Parameter generator
20 Simulator
30 GA engine group
31 Evaluation Department
32 GA engine
33 Individual Immigration Control Department
34 Convergence determination unit
PGn evolution population

Claims (4)

遺伝的アルゴリズムに基づいて、単一或いは複数の脚部により歩行する歩行型ロボットが満たすべき複数の評価条件を下位から上位に向かって段階的に分割し、各段の評価条件に適合した最適解の候補を進化個体群としてそれぞれ演算する手段と、
下位側の進化個体群と上位側の進化個体群との間で個体の評価値に応じて個体交換を行う手段と、
最上位の進化個体群に基づいて最適化演算の収束判定を行う手段と、
最適化演算が収束した最上位の進化個体群に基づいて、上記歩行型ロボットの制御パラメータを更新する手段とを備え
上記上位側の評価条件には、上記下位側の評価条件を含むことを特徴とするロボット装置。
Based on the genetic algorithm, multiple evaluation conditions to be satisfied by a walking robot walking with single or multiple legs are divided step by step from lower to higher, and an optimal solution that matches the evaluation conditions of each stage Means for computing each candidate as an evolutionary population,
Means for exchanging individuals according to the evaluation value of the individual between the lower-level evolution population and the higher-level evolution population,
Means for determining the convergence of the optimization operation based on the top-level evolution population,
A means for updating the control parameters of the walking robot based on the top evolutionary population in which the optimization operation has converged ,
The robot apparatus characterized in that the higher-order evaluation condition includes the lower-order evaluation condition .
上記進化個体群の演算を、複数の演算器で分散して実行することを特徴とする請求項1記載のロボット装置。  The robot apparatus according to claim 1, wherein the computation of the evolved population is executed by a plurality of computing units in a distributed manner. 上記評価値を、上記歩行型ロボットの動きをモデル化したシミュレータからのデータに基づいて算出することを特徴とする請求項1又は2記載のロボット装置。  The robot apparatus according to claim 1, wherein the evaluation value is calculated based on data from a simulator that models the movement of the walking robot. 上記評価値を、上記歩行型ロボットからの実機データに基づいて算出することを特徴とする請求項1,2,3の何れか一に記載のロボット装置。  4. The robot apparatus according to claim 1, wherein the evaluation value is calculated based on actual machine data from the walking robot.
JP2002116510A 2002-04-18 2002-04-18 Robot equipment Expired - Fee Related JP3905413B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002116510A JP3905413B2 (en) 2002-04-18 2002-04-18 Robot equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002116510A JP3905413B2 (en) 2002-04-18 2002-04-18 Robot equipment

Publications (2)

Publication Number Publication Date
JP2003311669A JP2003311669A (en) 2003-11-05
JP3905413B2 true JP3905413B2 (en) 2007-04-18

Family

ID=29534059

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002116510A Expired - Fee Related JP3905413B2 (en) 2002-04-18 2002-04-18 Robot equipment

Country Status (1)

Country Link
JP (1) JP3905413B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150105246A (en) * 2014-03-07 2015-09-16 지멘스 악티엔게젤샤프트 Method for enabling an interaction between an assistance device and a medical apparatus and/or an operator and/or a patient, assistance device, assistance system, unit, and system
CN105353760A (en) * 2015-12-15 2016-02-24 中国北方车辆研究所 Method for planning body swinging amplitude of foot type robot on basis of supporting field position feedback

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005077610A1 (en) * 2004-02-16 2005-08-25 Honda Motor Co., Ltd. Gait generator for mobile robot
CN105956297B (en) * 2016-05-09 2022-09-13 金陵科技学院 Comprehensive evaluation and optimization method for redundant robot motion flexibility performance
JP6326167B1 (en) * 2017-03-31 2018-05-16 株式会社ドワンゴ Learning device, learning method, learning program, moving image distribution device, activity device, activity program, and moving image generation device
CN113190029B (en) * 2021-04-06 2023-02-28 北京化工大学 Adaptive gait autonomous generation method of four-footed robot based on deep reinforcement learning

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150105246A (en) * 2014-03-07 2015-09-16 지멘스 악티엔게젤샤프트 Method for enabling an interaction between an assistance device and a medical apparatus and/or an operator and/or a patient, assistance device, assistance system, unit, and system
KR102027020B1 (en) * 2014-03-07 2019-09-30 지멘스 악티엔게젤샤프트 Method for enabling an interaction between an assistance device and a medical apparatus and/or an operator and/or a patient, assistance device, assistance system, unit, and system
CN105353760A (en) * 2015-12-15 2016-02-24 中国北方车辆研究所 Method for planning body swinging amplitude of foot type robot on basis of supporting field position feedback
CN105353760B (en) * 2015-12-15 2018-04-24 中国北方车辆研究所 Legged type robot fuselage amplitude of fluctuation planing method based on supporting domain position feedback

Also Published As

Publication number Publication date
JP2003311669A (en) 2003-11-05

Similar Documents

Publication Publication Date Title
Such et al. Deep neuroevolution: Genetic algorithms are a competitive alternative for training deep neural networks for reinforcement learning
Packer et al. Assessing generalization in deep reinforcement learning
Gomez et al. Solving non-Markovian control tasks with neuroevolution
Gallagher et al. A family of compact genetic algorithms for intrinsic evolvable hardware
Stanley et al. Evolving neural networks through augmenting topologies
Shao et al. Towards hardware accelerated reinforcement learning for application-specific robotic control
Nearchou Adaptive navigation of autonomous vehicles using evolutionary algorithms
Gaier et al. Data-efficient neuroevolution with kernel-based surrogate models
JP3905413B2 (en) Robot equipment
Bossens et al. Learning behaviour-performance maps with meta-evolution
Varghese et al. A hybrid multi-task learning approach for optimizing deep reinforcement learning agents
Ruud et al. Memetic robot control evolution and adaption to reality
Kashyap et al. Multi-objective optimization technique for trajectory planning of multi-humanoid robots in cluttered terrain
Hangl et al. Skill learning by autonomous robotic playing using active learning and creativity
Liu et al. Retrosynthetic planning with dual value networks
Chidambaran et al. Multi-criteria evolution of neural network topologies: Balancing experience and performance in autonomous systems
US20230051955A1 (en) System and Method For Regularized Evolutionary Population-Based Training
Son et al. Bio-insect and artificial robot interaction using cooperative reinforcement learning
Casanueva-Morato et al. Bioinspired Spike‐Based Hippocampus and Posterior Parietal Cortex Models for Robot Navigation and Environment Pseudomapping
Taghavi et al. Ensemble pruning based on oblivious Chained Tabu Searches
CN115371685B (en) Method and device for planning dominant path of unmanned equipment in industrial control scene and storage medium
Tang et al. Towards schema-based, constructivist robot learning: Validating an evolutionary search algorithm for schema chunking
Yang et al. Towards behavior control for evolutionary robot based on RL with ENN
Chatzilygeroudis Micro-data reinforcement learning for adaptive robots
Gauch et al. Binary Tree Models for Reinforcement Learning Continuous Control

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050401

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060912

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061109

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20061219

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070111

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110119

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110119

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120119

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees