(57)【特許請求の範囲】
【請求項１】
センサ、アクチュエータ及びコントローラを有し、コントローラにより、センサの出力に基づき行動学習しつつアクチュエータが制御されるロボットの前記センサの形態を設計するセンサ設計装置であって、
前記センサの形態を特定するための複数の遺伝子型を作成し、各遺伝子型により特定されるセンサの形態を有し、かつ共通のアクチュエータ及び共通のコントローラを有する複数のロボットを仮想的に作成する初期世代作成手段と、
前記初期世代作成手段により作成された複数のロボットに仮想的に学習を行わせ、学習結果を基に各ロボットの適応度を算出する学習手段と、
前記学習手段により算出された各ロボットの適応度を基に親個体となる複数のロボットを選択し、選択した複数のロボットの遺伝子型から遺伝的アルゴリズムに基づき次世代の遺伝子型を作成し、各次世代の遺伝子型により特定されるセンサの形態を有し、かつ共通のアクチュエータ及び共通のコントローラを有する複数のロボットを仮想的に作成する次世代作成手段とを備え、
前記学習手段は、前記次世代作成手段により作成されたロボットに仮想的に再度学習を行わせ、学習結果を基に各ロボットの適応度を算出し、
前記次世代作成手段及び前記学習手段による処理を所定数繰り返すことによりセンサの形態を決定することを特徴とするセンサ設計装置。
【請求項２】
前記学習手段は、Ｑ学習を用いてロボットに学習を行わせることを特徴とする請求項１に記載のセンサ設計装置。
【請求項３】
前記次世代作成手段は、
前記学習手段により算出された各ロボットの適応度を基に、前記複数のロボットの中から学習性能の高い所定数のロボットを親個体として選択するとともに、残りのロボットからトーナメント選択により同数のロボットを親個体として選択する選択手段と、
前記選択手段により選択された親個体の遺伝子型から遺伝的アルゴリズムに基づき次世代の遺伝子型を作成し、各次世代の遺伝子型により特定されるセンサの形態を有し、かつ共通のアクチュエータ及び共通のコントローラを有する複数のロボットを次世代ロボットとして仮想的に作成する作成手段とを備え、
前記学習手段は、前記作成手段により作成された次世代ロボットに仮想的に再度学習を行わせ、学習結果を基に各ロボットの適応度を算出することを特徴とする請求項１又は２記載のセンサ設計装置。
【請求項４】
前記遺伝子型は、センサの位置、個数、分解能、センシング間隔の少なくとも一つを特定することを特徴とする請求項１〜３のいずれかに記載のセンサ設計装置。
【請求項５】
前記次世代作成手段は、親個体となるロボットの遺伝子型から交叉及び突然変異の少なくとも一方を用いて次世代の遺伝子型を作成し、各遺伝子型により特定されるセンサの形態を有し、かつ共通のアクチュエータ及び共通のコントローラを有する複数のロボットを仮想的に作成することを特徴とする請求項１〜４のいずれかに記載のセンサ設計装置。
【請求項６】
初期世代作成手段、学習手段及び次世代作成手段を備えるセンサ設計装置を用いて、センサ、アクチュエータ及びコントローラを有し、コントローラにより、センサの出力に基づき行動学習しつつアクチュエータが制御されるロボットの前記センサの形態を設計するセンサ設計方法であって、
前記初期世代作成手段が、前記センサの形態を特定するための複数の遺伝子型を作成し、各遺伝子型により特定されるセンサの形態を有し、かつ共通のアクチュエータ及び共通のコントローラを有する複数のロボットを仮想的に作成する第１のステップと、
前記学習手段が、前記初期世代作成手段により作成された複数のロボットに仮想的に学習を行わせ、学習結果を基に各ロボットの適応度を算出する第２のステップと、
前記次世代作成手段が、前記学習手段により算出された各ロボットの適応度を基に親個体となる複数のロボットを選択し、選択した複数のロボットの遺伝子型から遺伝的アルゴリズムに基づき次世代の遺伝子型を作成し、各次世代の遺伝子型により特定されるセンサの形態を有し、かつ共通のアクチュエータ及び共通のコントローラを有する複数のロボットを仮想的に作成する第３のステップと、
前記学習手段が、前記第３のステップにおいて作成されたロボットに仮想的に再度学習を行わせ、学習結果を基に各ロボットの適応度を算出する第４のステップとを含み、
前記第３及び第４のステップによる処理を所定数繰り返すことによりセンサの形態を決定することを特徴とするセンサ設計方法。
【請求項７】
センサ、アクチュエータ及びコントローラを有し、コントローラにより、センサの出力に基づき行動学習しつつアクチュエータが制御されるロボットの前記センサの形態を設計するためのセンサ設計プログラムであって、
前記センサの形態を特定するための複数の遺伝子型を作成し、各遺伝子型により特定されるセンサの形態を有し、かつ共通のアクチュエータ及び共通のコントローラを有する複数のロボットを仮想的に作成する初期世代作成手段と、
前記初期世代作成手段により作成された複数のロボットに仮想的に学習を行わせ、学習結果を基に各ロボットの適応度を算出する学習手段と、
前記学習手段により算出された各ロボットの適応度を基に親個体となる複数のロボットを選択し、選択した複数のロボットの遺伝子型から遺伝的アルゴリズムに基づき次世代の遺伝子型を作成し、各次世代の遺伝子型により特定されるセンサの形態を有し、かつ共通のアクチュエータ及び共通のコントローラを有する複数のロボットを仮想的に作成する次世代作成手段としてコンピュータを機能させ、
前記学習手段は、前記次世代作成手段により作成されたロボットに仮想的に再度学習を行わせ、学習結果を基に各ロボットの適応度を算出し、
前記次世代作成手段及び前記学習手段による処理を所定数繰り返すことによりセンサの形態を決定することを特徴とするセンサ設計プログラム。
【請求項８】
請求項１〜５のいずれかに記載のセンサ設計装置により設計されたセンサと、前記アクチュエータと、前記コントローラとを有することを特徴とするロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの行動学習に使用されるセンサの形態を設計するセンサ設計装置、センサ設計方法及びセンサ設計プログラム、並びに前記センサ設計装置により設計されたセンサを有するロボットに関するものである。
【背景技術】
【０００２】
環境の変化に適応的なロボットを構築するためには、ロボットの形態、制御系及び環境のバランスを考慮しなければならない。近年、形態と制御系とをうまく組み合わせてロボットに適応的な振る舞いを獲得させる研究が注目されている。例えば、非特許文献１では、エージェントの形態と制御系とをソフトウエア上で進化させる手法と迅速成形技術とを組み合わせることによって、ソフトウエア上で得られた形態をハードウエアとして実現している。
【非特許文献１】リプソン  エイチ（Lipson H.）他、「ロボット形態の自動設計及び製造」（Automatic design and manufacture of robotic lifeforams）、ネイチャー（Nature）、２０００年、Ｖｏｌ．４０６、Ｎｏ．６７９９、ｐ．９７４−ｐ．９７８
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記のような手法では、個体発生的なスパンにおける適応、すなわち学習にとって有利なセンサの形態を自動的に設計することはできない。
【０００４】
本発明の目的は、ロボットの行動学習に有利なセンサの形態を自動的に設計することができるセンサ設計装置、センサ設計方法、センサ設計プログラム及びロボットを提供することである。
【課題を解決するための手段】
【０００５】
本発明に係るセンサ設計装置は、センサ、アクチュエータ及びコントローラを有し、コントローラにより、センサの出力に基づき行動学習しつつアクチュエータが制御されるロボットのセンサの形態を設計するセンサ設計装置であって、センサの形態を特定するための複数の遺伝子型を作成し、各遺伝子型により特定されるセンサの形態を有し、かつ共通のアクチュエータ及び共通のコントローラを有する複数のロボットを仮想的に作成する初期世代作成手段と、初期世代作成手段により作成された複数のロボットに仮想的に学習を行わせ、学習結果を基に各ロボットの適応度を算出する学習手段と、学習手段により算出された各ロボットの適応度を基に親個体となる複数のロボットを選択し、選択した複数のロボットの遺伝子型から遺伝的アルゴリズムに基づき次世代の遺伝子型を作成し、各次世代の遺伝子型により特定されるセンサの形態を有し、かつ共通のアクチュエータ及び共通のコントローラを有する複数のロボットを仮想的に作成する次世代作成手段とを備え、学習手段は、次世代作成手段により作成されたロボットに仮想的に再度学習を行わせ、学習結果を基に各ロボットの適応度を算出し、次世代作成手段及び学習手段による処理を所定数繰り返すことによりセンサの形態を決定するものである。
【０００６】
本発明に係るセンサ設計装置では、センサの形態を特定するための複数の遺伝子型が作成され、各遺伝子型により特定されるセンサの形態を有し、かつ共通のアクチュエータ及び共通のコントローラを有する複数のロボットが仮想的に作成され、作成された複数のロボットに学習を行わせ、学習した各ロボットの学習結果を基に各ロボットの適応度が算出される。
【０００７】
次に、算出された各ロボットの適応度を基に親個体となる複数のロボットが選択され、選択された複数のロボットの遺伝子型から遺伝的アルゴリズムに基づき次世代の遺伝子型が作成され、各次世代の遺伝子型により特定されるセンサの形態を有し、かつ共通のアクチュエータ及び共通のコントローラを有する複数のロボットが仮想的に作成され、作成された複数のロボットに再度学習を行わせ、学習結果を基に各ロボットの適応度が算出され、これらの次世代作成処理及びその学習処理が所定数繰り返されることによりセンサの形態が決定される。
【０００８】
したがって、学習結果に基づいて、適応度の高いロボットすなわち学習性能が高いロボットが、死滅することなく、親個体のロボットとして選択され、センサの形態を特定する遺伝子型を進化させることができるので、ロボットの行動学習に有利なセンサの形態を自動的に設計することができる。
【０００９】
学習手段は、Ｑ学習により複数のロボットに学習を行わせることが好ましい。この場合、種々の遺伝子型すなわち種々のセンサの形態を有するロボットを効率的に学習させることができ、好適な形態のセンサを高速に設計することができる。
【００１０】
次世代作成手段は、学習手段により算出された各ロボットの適応度を基に、複数のロボットの中から学習性能の高い所定数のロボットを親個体として選択するとともに、残りのロボットからトーナメント選択により同数のロボットを親個体として選択する選択手段と、選択手段により選択された親個体の遺伝子型から遺伝的アルゴリズムに基づき次世代の遺伝子型を作成し、各次世代の遺伝子型により特定されるセンサの形態を有し、かつ共通のアクチュエータ及び共通のコントローラを有する複数のロボットを次世代ロボットとして仮想的に作成する作成手段とを備え、学習手段は、作成手段により作成された次世代ロボットに仮想的に再度学習を行わせ、学習結果を基に各ロボットの適応度を算出することが好ましい。
【００１１】
この場合、エリート戦略により適応度の高いロボットがそのまま親個体として選択されるので、学習性能が高いロボットが偶然選択されずに死滅することを防止することができるとともに、トーナメント選択により選択された適応度の高いロボットからも次世代ロボットを作成することができるので、学習性能が高いロボットが多産となるようにすることができる。この結果、学習性能が高いロボットを死滅させることなく、順次学習させることができるので、学習結果に基づいて最適なセンサの形態を設計することができる。
【００１２】
遺伝子型は、センサの位置、個数、分解能、センシング間隔の少なくとも一つを特定することが好ましい。この場合、センサの位置、個数、分解能、センシング間隔等の形態を自動的に設計することができる。
【００１３】
次世代作成手段は、親個体となるロボットの遺伝子型から交叉及び突然変異の少なくとも一方を用いて次世代の遺伝子型を作成し、各遺伝子型により特定されるセンサの形態を有し、かつ共通のアクチュエータ及び共通のコントローラを有する複数のロボットを仮想的に作成することが好ましい。この場合、広範な探索空間から最適な遺伝子型を探索することができ、最適な形態のセンサを効率的に設計することができる。
【００１４】
本発明に係るセンサ設計方法は、初期世代作成手段、学習手段及び次世代作成手段を備えるセンサ設計装置を用いて、センサ、アクチュエータ及びコントローラを有し、コントローラにより、センサの出力に基づき行動学習しつつアクチュエータが制御されるロボットのセンサの形態を設計するセンサ設計方法であって、初期世代作成手段が、センサの形態を特定するための複数の遺伝子型を作成し、各遺伝子型により特定されるセンサの形態を有し、かつ共通のアクチュエータ及び共通のコントローラを有する複数のロボットを仮想的に作成する第１のステップと、学習手段が、初期世代作成手段により作成された複数のロボットに仮想的に学習を行わせ、学習結果を基に各ロボットの適応度を算出する第２のステップと、次世代作成手段が、学習手段により算出された各ロボットの適応度を基に親個体となる複数のロボットを選択し、選択した複数のロボットの遺伝子型から遺伝的アルゴリズムに基づき次世代の遺伝子型を作成し、各次世代の遺伝子型により特定されるセンサの形態を有し、かつ共通のアクチュエータ及び共通のコントローラを有する複数のロボットを仮想的に作成する第３のステップと、学習手段が、第３のステップにおいて作成されたロボットに仮想的に再度学習を行わせ、学習結果を基に各ロボットの適応度を算出する第４のステップとを含み、第３及び第４のステップによる処理を所定数繰り返すことによりセンサの形態を決定するものである。
【００１５】
本発明に係るセンサ設計プログラムは、センサ、アクチュエータ及びコントローラを有し、コントローラにより、センサの出力に基づき行動学習しつつアクチュエータが制御されるロボットのセンサの形態を設計するためのセンサ設計プログラムであって、センサの形態を特定するための複数の遺伝子型を作成し、各遺伝子型により特定されるセンサの形態を有し、かつ共通のアクチュエータ及び共通のコントローラを有する複数のロボットを仮想的に作成する初期世代作成手段と、初期世代作成手段により作成された複数のロボットに仮想的に学習を行わせ、学習結果を基に各ロボットの適応度を算出する学習手段と、学習手段により算出された各ロボットの適応度を基に親個体となる複数のロボットを選択し、選択した複数のロボットの遺伝子型から遺伝的アルゴリズムに基づき次世代の遺伝子型を作成し、各次世代の遺伝子型により特定されるセンサの形態を有し、かつ共通のアクチュエータ及び共通のコントローラを有する複数のロボットを仮想的に作成する次世代作成手段としてコンピュータを機能させ、学習手段は、次世代作成手段により作成されたロボットに仮想的に再度学習を行わせ、学習結果を基に各ロボットの適応度を算出し、次世代作成手段及び学習手段による処理を所定数繰り返すことによりセンサの形態を決定するものである。
【００１６】
本発明に係るロボットは、上記いずれかに記載のセンサ設計装置により設計されたセンサと、アクチュエータと、コントローラとを有するものである。
【発明の効果】
【００１７】
本発明によれば、学習結果に基づいて、適応度の高いロボットすなわち学習性能が高いロボットが、死滅することなく、親個体のロボットとして選択され、センサの形態を特定する遺伝子型を進化させることができるので、ロボットの行動学習に有利なセンサの形態を自動的に設計することができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の一実施の形態によるセンサ設計装置について図面を参照しながら説明する。図１は、本発明の一実施の形態によるセンサ設計装置の構成を示すブロック図である。
【００１９】
図１に示すセンサ設計装置は、入力部１、初期世代作成部２、行動学習部３、選択部４、次世代作成部５及び出力部６を備える。センサ設計装置は、ＲＯＭ（リードオンリメモリ）、ＣＰＵ（中央演算処理装置）、ＲＡＭ（ランダムアクセスメモリ）、外部記憶装置、記録媒体駆動装置、入力装置及び表示装置等を備える通常のコンピュータを用いて、後述するセンサ設計処理を実行するためのセンサ設計プログラムをＣＰＵ等で実行することにより上記の各機能を実現することができる。
【００２０】
本実施の形態では、上記コンピュータと、シミュレータとして、Ｃｙｂｅｒｂｏｔｉｃｓ社製Ｗｅｂｏｔｓとを用い、センサやアクチュエータの特性を定義して後述するロボットを仮想的に作成してセンサの形態をシミュレーションしている。なお、センサ設計装置の構成は、上記の例に特に限定されず、上記各機能の一部又は全てを専用のハードウエア回路により実現する等の種々の変更が可能である。
【００２１】
入力部１は、ロボットを構成するセンサ、アクチュエータ及びコントローラ（エージェント）等を定義するためのモデルデータ等をユーザが入力するために使用される。
【００２２】
初期世代作成部２は、入力部１から入力されたモデルデータ等を用いて、センサの形態を特定するための遺伝子型がランダムになるように複数の遺伝子型を作成し、各遺伝子型により特定されるセンサの形態を有する複数の初期世代ロボットを仮想的に作成し、作成した初期世代ロボットのデータを行動学習部３へ出力する。なお、初期世代ロボットのセンサ以外の構成要素であるアクチュエータ及びコントローラ等は、すべてのロボットについて共通であり、後述する次世代ロボットも同様である。
【００２３】
ここで、センサの形態は、物理的な形態のみではなく、センサの特性及び使用状態等をも含み、本実施の形態に用いられる遺伝子型は、センサの位置、個数、分解能、センシング間隔、及びセンサ値の制御系に対する重みを表す結合強度等のパラメータを特定するコード等を特定する情報であり、「１」又は「０」を用いて表現される。例えば、１のパラメータが４ｂｉｔでデコードされ、４種類のパラメータから遺伝子型が表される場合、遺伝子型の長さは、２５６ｂｉｔとなる。
【００２４】
行動学習部３は、初期世代ロボットのデータを用いて、初期世代ロボットに仮想的に強化学習を行わせ、その学習結果に基づく適応度を算出して各ロボットのデータとともに選択部４へ出力する。例えば、行動学習部３は、Ｑ学習を用いてロボットに学習を行わせ、ロボットのコントローラに以下の処理を仮想的に実行させる。
１．センサを用いて環境の状態ｓｔを観測する。
２．行動選択戦略に従って行動ａｔを実行する。
３．状態に応じて報酬ｒｔを受け取る。
４．センサを用いて状態遷移後の状態ｓｔ＋１を観測する。
５．下記式（１）に従ってＱ値を更新する。
【００２５】
Ｑ（ｓｔ，ａｔ）←Ｑ（ｓｔ，ａｔ）＋α〔ｒｔ＋γｍａｘａｔ＋１Ｑ（ｓｔ＋１，ａｔ＋１）−Ｑ（ｓｔ，ａｔ）〕…（１）
ここで、αは学習率（０＜α＜１）、γは割引率（０＜γ＜１）である。
６．時間ステップｔをｔ＋１に進めて手順１に戻る。
【００２６】
選択部４は、エリート戦略に従い、適応度を基に上位のロボットを親個体として所定数選択するともに、トーナメント選択に従い、選択しなかった残りのロボットから同数のロボットを親個体としてさらに選択してそれらのデータを次世代作成部５へ出力する。
【００２７】
次世代作成部５は、選択部４により選択された親個体の遺伝子型から遺伝的アルゴリズムに基づき次世代の遺伝子型を作成し、各遺伝子型により特定されるセンサの形態を有する複数の次世代ロボットを仮想的に作成し、作成した次世代ロボットのデータを行動学習部３へ出力する。例えば、次世代作成部５は、選択部４により選択された親個体の遺伝子型から交叉及び突然変異により次世代の遺伝子型を作成する。
【００２８】
なお、選択部４及び次世代作成部５による選択操作及び遺伝子操作は、上記の例に特に限定されず、適応度を基に下位（例えば、１０％）のロボットを取り除き、残ったものからトーナメント選択、ルーレット選択、期待値選択、又はランキング選択等により同数の親を選択して遺伝子操作を加える等の種々の変更が可能である。また、交叉についても、１点交叉、多点交叉、又は一様交叉等の種々のものを用いることができる。
【００２９】
次世代作成部５から出力される次世代ロボットのデータを受け取った行動学習部３は、そのデータを用いて、次世代ロボットに仮想的に強化学習、例えば、Ｑ学習を行わせ、その学習結果に基づく適応度を各ロボットのデータとともに選択部４へ出力する。
【００３０】
上記の選択部４、次世代作成部５及び行動学習部３による処理を所定世代繰り返すことにより最終世代のロボットが仮想的に作成され、選択部４は、最終世代ロボットの中から適応度の最も高いロボットを選択し、最良個体としてそのデータを出力部６へ出力する。
【００３１】
出力部６は、最良個体のデータを表示又は印刷等して最終的に決定されたセンサの形態をユーザに知らせる。なお、出力部６が出力するセンサの形態としては、遺伝子型、表示型等のいずれを用いてもよい。
【００３２】
本実施の形態では、初期世代作成部２が初期世代作成手段の一例に相当し、行動学習部３が学習手段の一例に相当し、選択部４及び次世代作成部５が次世代作成手段の一例に相当し、選択部４が選択手段の一例に相当し、次世代作成部５が作成手段の一例に相当する。
【００３３】
次に、上記のように構成されたセンサ設計装置によるセンサ設計処理について説明する。図２は、図１に示すセンサ設計装置によるセンサ設計処理を説明するためのフローチャートである。
【００３４】
まず、ユーザが、入力部１を用いて、ロボットを構成するセンサ、アクチュエータ及びコントローラ等を定義するためのモデルデータ等を入力すると、ステップＳ１において、初期世代作成部２は、入力されたモデルデータ等を用いて、センサの形態を特定するための遺伝子型がランダムになるように複数の遺伝子型を作成する。
【００３５】
ここで、本センサ設計装置によりセンサの形態が設計されるロボットの一例について説明する。図３は、図１に示すセンサ設計装置の設計対象となるロボットの一例を示す底面模式図であり、図４は、図３に示すロボットのタスク環境を示す模式図であり、図５は、図４に示すコース上のロボットの状態を示す模式図である。
【００３６】
図３に示すロボット１０は、赤外発光ＬＥＤ及び受光素子から構成されるセンサ１１、センサ１１が固定される固定台１２、固定台１２を保持する本体部１３、及び本体部１３に回転可能に支持される２個の車輪１４を備える。ロボット１０は、床に引かれたラインに沿って移動してゴールを目指すロボットであり、ライントレーサと呼ばれる。
【００３７】
図４に示すコースは、２ｍ×５ｍの長方形であり、４分の１ずつの地点にチェックポイントＰ１〜Ｐ４が設けられ、図５に示すように、ロボット１０は、ラインＬＩに沿って移動してゴールを目指す。ここで、ロボット１０のセンサ１１は、コース上に設けられたラインＬＩを検出するために床面の色に応じた値を本体部１３内のコントローラ（図示省略）へ出力し、コントローラは、本体部１３内のモータ及び駆動回路（図示省略）を制御することにより、センサ１１の出力に応じてラインＬＩ上をトレースするように車輪１４を駆動させる。
【００３８】
センサ１１は、予め規定された８×４のマトリックス状の３２個の配置可能位置の中から任意の個数及び位置を選択して配置されることができ、本センサ設計装置は、ロボットの行動学習に有利なセンサ１１の位置及び個数を自動的に設計する。この場合、ステップＳ１において、上記のライントレーサ及びコースをモデル化するためのモデルデータ等が入力され、初期世代作成部２は、入力されたモデルデータ等を用いて、センサ１１の位置及び個数を特定するための３２ｂｉｔの遺伝子型がコード化され、５０個の遺伝子型をランダムに作成する。
【００３９】
次に、ステップＳ２において、初期世代作成部２は、作成した各遺伝子型により特定されるセンサの形態を有する複数の初期世代ロボットを仮想的に作成し、作成した初期世代ロボットのデータを行動学習部３へ出力する。このとき、行動学習部３は、時間ステップｔ等を初期化する。
【００４０】
例えば、上記のライントレーサの場合、ステップＳ２において、初期世代作成部２は、５０個の遺伝子型の各々により特定されるセンサの位置及び配置を有する５０個の初期世代ロボットを仮想的に作成し、初期世代ロボットの個体数（集団数）は５０となる。
【００４１】
次に、ステップＳ３において、行動学習部３は、初期世代ロボットのデータを用いてモデル化した仮想ロボットのコントローラにセンサを用いて環境の状態ｓｔを観測させる。例えば、環境の状態ｓｔは、各センサの出力から構成され、センサの出力が２値で、４つのセンサを有するロボットの場合、状態数は２×２×２×２＝１６になる。なお、センサの出力値は、上記の例に特に限定されず、多値を用いてもよい。
【００４２】
次に、ステップＳ４において、行動学習部３は、行動選択戦略としてεグリーディ戦略に従った行動ａｔをコントローラに実行させる。ここで、εグリーディ戦略とは、εの確率でランダムな行動を選択し、それ以外の場合はＱ値が最大の行動を取る戦略である。
【００４３】
例えば、上記のライントレーサの場合、コントローラが取り得る行動ａｔは、直進ａｔ０、左に曲がるａｔ１、右に曲がるａｔ２、大きく左に曲がるａｔ３、大きく右に曲がるａｔ４の５種類あり、ロボットの左右の車輪の角速度（ｒａｄ／ｓ）をωＬ，ωＲとすると、ａｔ０の場合は（ωＬ，ωＲ）＝（１５，１５）、ａｔ１の場合は（ωＬ，ωＲ）＝（１３，６）、ａｔ２の場合は（ωＬ，ωＲ）＝（６，１３）、ａｔ３の場合は（ωＬ，ωＲ）＝（８，２）、ａｔ４の場合は（ωＬ，ωＲ）＝（２，８）になるように車輪の角速度が制御され、ε＝０．０１を用いることができる。
【００４４】
次に、ステップＳ５において、行動学習部３は、状態に応じて報酬ｒｔをコントローラに与える。例えば、上記のライントレーサの場合、ロボットの中心がラインから外れるほど罰を大きくした報酬を用いることができ、図３に示す８列のセンサをロボットの下から見て左側から第０列、第１列、…、第７列とすると、観測した状態が、（１）第０列のセンサ又は第７列のセンサがライン上にある場合はｒｔ＝−２０．０、（２）第１列のセンサ又は第６列のセンサがライン上にある場合はｒｔ＝−１０．０、（３）第２列のセンサ又は第５列のセンサがライン上にある場合はｒｔ＝０．０、（４）第３列のセンサ又は第４列のセンサがライン上にある場合はｒｔ＝１．０、（５）全てのセンサがライン外にある場合はｒｔ＝−１００．０となる報酬ｒｔを用いることができる。なお、上記の条件（１）〜（４）は、（４）、（３）、（２）、（１）の順に優先して使用される。
【００４５】
次に、ステップＳ６において、行動学習部３は、上記式（１）に従ってＱ値をコントローラに更新させる。上記式（１）により、ロボットが採った行動ａｔにより報酬ｒｔを得てＱ（ｓｔ，ａｔ）が更新され、その報酬が正であったならば、Ｑ（ｓｔ，ａｔ）が増加するため、次回同じ状態になった場合、その行動を採る可能性が高くなる。例えば、上記のライントレーサの場合、上記式（１）において、学習率α＝０．８、割引率γ＝０．９９９を用いることができる。
【００４６】
次に、ステップＳ７において、行動学習部３は、時間ステップｔが最大ステップ数に達して１試行が終了したか否かを判断し、最大ステップ数に達していない場合は、時間ステップｔをｔ＋１に進め、ステップＳ３に戻って以降の処理を継続し、最大ステップ数に達した場合はステップＳ８へ処理を移行する。例えば、上記のライントレーサの場合、最大ステップ数＝２０００を用いることができ、また、ライントレーサが最大ステップ数以内にゴールに到達した場合も１試行が終了するため、ステップＳ８へ処理を移行する。
【００４７】
次に、ステップＳ８において、行動学習部３は、試行回数がエピソード数に達して学習が終了したか否かを判断し、学習が終了していない場合は、学習条件等を初期化してステップＳ３に戻って次の試行を継続し、学習が終了した場合はステップＳ９へ処理を移行する。例えば、上記のライントレーサの場合、エピソード数＝１００を用いることができ、また、試行機会（エピソード）毎にロボットの位置及び向きを初期化して次の試行を継続する。
【００４８】
学習が終了した場合、ステップＳ９において、行動学習部３は、学習結果に基づく適応度を算出し、学習を行った各ロボットのデータとともに対応する応答度を選択部４へ出力する。例えば、上記のライントレーサの場合、１個体に付き１００回の試行を行い、下記の式（２）により適応度φを算出する。
【００４９】
【数１】
0004670007.tif 000002
【００５０】
ここで、Ｎはエピソード数（１００回）、Ｈｉはｉ回目の試行の達成度、ｔｉは図４に示すチェックポイントＰｉへの到達時間（ｓｅｃ）、Ｔｍａｘは最大試行時間（１２８ｓｅｃ）である。上式より、学習が進んだ個体（ロボット）ほど各試行における達成度が高くなり、適応度も高くなる。すなわち、適応度の高い個体は、学習しやすいセンサの形態を有しているということができる。なお、適応度の計算方法は、上記の例に特に限定されず，種々の変更が可能である。
【００５１】
次に、ステップＳ１０において、選択部４は、行動学習部３から出力されるロボットのデータを基に学習が終了したロボットが最終世代ロボットであるか否かを判断する。最終世代ロボットである場合、選択部４は、適応度の最も高いロボットを選択し、最良個体としてそのデータを出力部６へ出力し、出力部６は、最良個体のセンサの遺伝子型を表示する。例えば、上記のライントレーサの場合、最終世代数として５０が用いられ、第５０世代目のロボットの学習が終了した後、適応度の最も高いロボットのセンサの位置及び個数を表す遺伝子型が表示される。
【００５２】
一方、最終世代ロボットでない場合は、ステップＳ１１において、選択部４は、エリート戦略に従い、適応度が上位のロボットを所定数選択し、親個体としてそのデータを次世代作成部５へ出力する。例えば、上記のライントレーサの場合、エリート数が５に設定され、５０個のロボットのうち適応度が上位５位以内の５個のロボットが親個体として選択され、無条件で次世代に残される。
【００５３】
次に、ステップＳ１２において、選択部４は、トーナメント選択に従い、選択しなかった残りのロボットから所定数の個体をランダムに選択し、その中で適応度の最も高い個体を選択し、この過程を集団数が得られるまで繰り返すことにより、親個体を選択してそのデータを次世代作成部５へ出力する。例えば、上記のライントレーサの場合、選択されなかった４５個のロボットからトーナメント選択により４５個のロボットが親個体として選択される。
【００５４】
次に、ステップＳ１３において、次世代作成部５は、選択部４により選択された親個体の遺伝子型から交叉及び突然変異により次世代の遺伝子型を作成し、各遺伝子型により特定されるセンサの形態を有する複数の次世代ロボットを仮想的に作成し、作成した次世代ロボットのデータを行動学習部３へ出力する。例えば、上記のライントレーサの場合、親個体として選択された５０個のロボットから、突然変異率＝０．０３及び交叉率＝１．０で遺伝子操作が行われ、５０個の次世代ロボットが作成される。
【００５５】
上記ステップＳ１３の処理後、ステップＳ３に戻って次世代のロボットが学習を行い、遺伝的アルゴリズムによりさらに次世代のロボットが順次作成され、最終世代のロボットの学習が終了するまでステップＳ３〜Ｓ１３の処理が繰り返される。
【００５６】
上記の処理により、本実施の形態では、センサの形態を特定するための複数の遺伝子型が作成され、各遺伝子型により特定されるセンサの形態を有する複数の初期世代ロボットが仮想的に作成され、複数の初期世代ロボットにＱ学習を行わせ、学習した各ロボットの学習結果を基に各ロボットの適応度が算出される。
【００５７】
次に、算出された各ロボットの適応度を基に、複数のロボットの中から学習性能の高い所定数のロボットがそのまま親個体として選択されるとともに、残りのロボットからトーナメント選択により同数のロボットが親個体として選択され、選択された親個体の遺伝子型から交叉及び突然変異により次世代の遺伝子型が作成され、各次世代の遺伝子型により特定されるセンサの形態を有する複数のロボットが次世代ロボットとして仮想的に作成され、複数の次世代ロボットに再度Ｑ学習を行わせ、学習結果を基に各ロボットの適応度が算出され、これらの次世代作成処理及びその学習処理が最終世代まで繰り返されることによりセンサの形態が決定される。
【００５８】
したがって、学習結果に基づいて、適応度の高いロボットすなわち学習性能が高いロボットが、死滅することなく、親個体のロボットとして選択され、センサの形態を特定する遺伝子型を進化させることができるので、ロボットの行動学習に有利なセンサの形態を自動的に設計することができ、ロボットの学習能力に適した状態空間を構築するために学習結果に基づいてセンサの形態を自律的に設計することができる。
【００５９】
また、設計時に仮想的に行われる学習により自動設計されたセンサの形態に最適な学習アルゴリズムをも獲得することができる。さらに、ロボットの形態のうちセンサに特化してその形態を自動設計しているので、物理世界と情報世界のインタフェースであるセンサをボトムアップ的に構築することができるとともに、アクチュエータが固定されるため、ハードウエア上で実現しやすいという利点もある。
【００６０】
次に、上記センサ設定装置によるセンサの設計結果について、図３に示すラインレーサを例に具体的に説明する。図６は、図１に示すセンサ設定装置により設計されたライントレーサの各世代における適応度と、各世代における最良個体のセンサ個数との変化を示す図である。図中、実線は最大適応度を、破線は最良個体のセンサ個数を、一点鎖線は実験を１０回行ったときの平均適応度をそれぞれ示している。
【００６１】
図６から、最良個体においては、センサ個数が減少するに従って適応度が増加していることがわかる。例えば、第５世代（センサ数７前後）の適応度が約０．２であるのに対し、第５０世代（センサ数５前後）の適応度は約０．４に上昇している。この結果、図４に示すライントレース環境の場合、５個前後のセンサが学習に有利であり、学習器を用いることにより、マイコンカーラリーで標準的に用いられているセンサ個数（８個）を削減することができることがわかった。
【００６２】
図７は、図１に示すセンサ設計装置により設計されたセンサ形態の代表例を示す図であり、図中の黒丸がセンサを表している。例えば、センサが４個の場合、図７の（ａ）に示すセンサ配置が設計され、センサが５個の場合、図７の（ｂ）に示すセンサ配置が設計され、センサが６個の場合、図７の（ｃ）に示すセンサ配置が設計された。
【００６３】
次に、図１に示すセンサ設計装置により設計されたセンサ形態と、人手により設計したセンサ形態とを用いて学習結果の比較を行った。図８は、図１に示すセンサ設計装置により設計されたセンサ形態及び人手により設計されたセンサ形態の例を示す図であり、図中の黒丸がセンサを表している。
【００６４】
図８の（ｃ）に示すセンサ形態は、図１に示すセンサ設計装置により設計されたセンサ形態であり、５個のセンサが平面的に所定間隔で配置されている。図８の（ａ）に示すセンサ形態は、マイコンカーラリーにおいて標準的に用いられているセンサ形態であり、８個のセンサが一直線上に等間隔で配置されている。図８の（ｂ）に示すセンサ形態は、図８の（ｃ）に示すセンサ形態と状態空間の次元が等しいマイコンカーのセンサ形態であり、５個のセンサが一直線上に所定間隔で配置されている。
【００６５】
図９は、図８に示す各センサ形態のエピソード数に対する適応度の変化を示す図である。図９に示すエピソード数に対する適応度の変化は、ゴールに到達する早さの変化を表しており、実線は図８の（ｃ）に示すセンサ形態の変化を、一点鎖線は図８の（ａ）に示すセンサ形態の変化を、破線は図８の（ｂ）に示すセンサ形態の変化をそれぞれ示している。
【００６６】
図９から、図１に示すセンサ設計装置により設計されたセンサ形態、すなわち図８の（ｃ）に示すセンサ形態は、図８の（ａ）及び（ｂ）に示す人手によるセンサ形態より全てのエピソードにおいて高い適応度を示していることがわかる。なお、エピソード数を増やしても、この傾向は同様であった。また、図８の（ｃ）に示すセンサ形態は、状態空間が大きい図８の（ａ）に示すセンサ形態に対しても、収束速度とパフォーマンスとの面で勝っており、本実施の形態のように物理世界を適切に観測することで、より効果的な学習を行えることがわかった。
【００６７】
次に、図１に示すセンサ設計装置により設計された図８の（ｃ）に示すセンサ形態の配置及び個数について考察する。まず、図８の（ｃ）に示すセンサ形態は、センサの配置に関して以下の特徴を有する。
【００６８】
（１）センサの配置が左右非対称である。これは、今回のタスクは、コースを半時計回りに回るように設定しているため、Ｓ字カーブを除けば、左カーブが多く、左カーブを得意とするセンサ形態の適応度が高くなったためと考えられる。
【００６９】
（２）センサが前後に分散して配置されている。これは、横一列に並んだ配置では、ラインの前後関係を読み取ることができず、ライントレーサがカーブ上にいるのか、又は直線上にいるのかを判断することができないが、センサが前後に分散されることにより、ラインの前後関係から直線やカーブといったラインの形状を読み取ることができるためであると考えられる。
【００７０】
次に、センサの個数について、自動設計されたセンサ形態は、５個前後のセンサを持つものが多く、センサの個数は状態空間の次元を決定するため、学習速度と取得できる情報量に影響を与える。一般的に、次元が少ない方が学習の収束が早いが、学習収束後のパフォーマンスは、次元が多い場合よりも低くなると考えられる。しかしながら、上記の結果では、学習が収束した後であっても、センサ数が少ない方が、高いパフォーマンスを示した。この結果、少ない状態空間を効果的に用いることができれば、収束速度だけでなく、学習効果も改善できることがわかった。
【００７１】
このように、本センサ設計装置を用いることにより、タスク環境とロボットの学習能力とに適した状態空間を構成させることができ、ロボットにより適応的な行動を実行させることができる。
【００７２】
次に、上記のように設計されたセンサの形態を有するライントレーサ（図８の（ｃ）に示すライントレーサ）を実際に作成してライントレースを行い、人手で設計されたライントレーサ（図８の（ａ）及び（ｂ）に示すライントレーサ）と比較した。なお、コントローラとして、図８の（ａ）に示すライントレーサは付属のサンプルプログラムを改良したハンドコーディングによるものを用い、図８の（ｂ）及び（ｃ）に示すライントレーサは設計時のシミュレーションの学習結果を用い、設計時に得られたＱ値に基づいて行動を決定し、センサが観測した状態に対して最大のＱ値を持つ行動を選択するものを用いた。
【００７３】
上記の各ライントレーサに５回試行させ、１回の試行はコースを１０周するか、又はコースアウトした場合に終了させ、走行性能を比較するために平均ラップタイム（秒）を測定し、ロバスト性を比較するために平均滞在ラップ数を測定した。図８の（ｃ）に示すライントレーサの平均ラップタイムは１３．５秒、平均滞在ラップ数は８．４であり、図８の（ａ）に示すライントレーサの平均ラップタイムは１５．６秒、平均滞在ラップ数は４．４であり、図８の（ｂ）に示すライントレーサの平均ラップタイムは１６．０秒、平均滞在ラップ数は３．０であり、図１に示すセンサ設計装置により設計されたセンサ形態を有するライントレーサは、走行性能及びロバスト性ともに優れていた。
【００７４】
次に、ライントレースにおいて難易度が高いとされる直角コーナーの攻略を例に、上記の各ライントレーサがどのようにセンサ配置を利用しているかについて説明する。
【００７５】
まず、図８の（ａ）に示すライントレーサは、直角コーナーの直前に存在するクロスラインを合図に用いる方法を採用しており、直角コーナーの直前のクロスラインを読み取ると、直角コーナー突破用のモードに移行し、直角コーナーを専用の制御則を用いて直角コーナーをクリアする。このように、人手によるコントローラでは、クロスラインの後には直角コーナーが存在するというコースに関する設計者の知識を利用することができるため、通常のカーブとは異なる制御則を用いて直角コーナーを突破することができる。
【００７６】
図１０は、図８の（ｃ）に示すライントレーサの直角コーナーにおけるセンサ形態の利用方法を説明するための模式図である。図８の（ｃ）に示すライントレーサは、コースに関する設計者の知識を利用できないため、直角コーナーを通常のカーブと同じ制御則を用いてクリアしなければならない。このため、直角コーナーにさしかかると、図１０の（ａ）に示すようにセンサが反応する。これは、左カーブと同じセンサ状態であるため、ライントレーサは、少し左に曲がる。しかしながら、実際にはコースは直角であるため、図１０の（ｂ）に示すように、コースから外れそうになる。このとき、４番目のセンサがセンタラインを検出し、ライントレーサは、大きく左折するため、直角コーナーをクリアすることができる。
【００７７】
一方、図８の（ｂ）に示すライントレーサは、横一列に並んだセンサを有するため、直角コーナーでコースアウトすることが多い。これは、センサが前後に分散していないため、コース上の前後関係を学習できなかったことによると考えられる。
【００７８】
上記のように、図１に示すセンサ設計装置により設計されたライントレーサは、物理世界を適切に観測することにより、人手による設計に比べて、走行性能及びロバスト性に優れるとともに、学習性能にも優れることがわかった。
【００７９】
なお、上記の説明では、ライントレーサを一例に説明したが、本発明が適用されるロボットは、この例に特に限定されず、センサを用いるロボットであれば、種々のロボットに適用可能である。
【図面の簡単な説明】
【００８０】
【図１】本発明の一実施の形態によるセンサ設計装置の構成を示すブロック図である。
【図２】図１に示すセンサ設計装置によるセンサ設計処理を説明するためのフローチャートである。
【図３】図１に示すセンサ設計装置の設計対象となるロボットの一例を示す底面模式図である。
【図４】図３に示すロボットのタスク環境を示す模式図である。
【図５】図４に示すコース上のロボットの状態を示す模式図である。
【図６】図１に示すセンサ設定装置により設計されたライントレーサの各世代における適応度と、各世代における最良個体のセンサ個数との変化を示す図である。
【図７】図１に示すセンサ設計装置により設計されたセンサ形態の代表例を示す図である。
【図８】図１に示すセンサ設計装置により設計されたセンサ形態及び人手により設計されたセンサ形態の例を示す図である。
【図９】図８に示す各センサ形態のエピソード数に対する適応度の変化を示す図である。
【図１０】図８の（ｃ）に示すライントレーサの直角コーナーにおけるセンサ形態の利用方法を説明するための模式図である。
【符号の説明】
【００８１】
１  入力部
２  初期世代作成部
３  行動学習部
４  選択部
５  次世代作成部
６  出力部
【図１】
0004670007.tif 000003
【図２】
0004670007.tif 000004
【図３】
0004670007.tif 000005
【図４】
0004670007.tif 000006
【図５】
0004670007.tif 000007
【図６】
0004670007.tif 000008
【図７】
0004670007.tif 000009
【図８】
0004670007.tif 000010
【図９】
0004670007.tif 000011
【図１０】
0004670007.tif 000012