(57)【要約】【課題】  早期に周囲の環境に適応することができるロボット及び通信ロボットシステムを提供することを課題とする。【解決手段】  ロボット１に関する環境を検出する検出手段２，３と、予め想定される複数の環境に応じてそれぞれ学習させた複数の遺伝子１１ａ，１１ｂと、検出手段２，３で検出した環境に応じて複数の遺伝子１１ａ，１１ｂを切り替える切替手段１３とを備え、切替手段１３により切り替えた遺伝子に基づいて行動することを特徴とする。【選択図】  図１
2006127047.tif 000002
【特許請求の範囲】
【請求項１】
遺伝子に基づいて行動するロボットであって、
ロボットに関する環境を検出する検出手段と、
予め想定される複数の環境に応じてそれぞれ学習させた複数の遺伝子と、
前記検出手段で検出した環境に応じて前記複数の遺伝子を切り替える切替手段と
を備え、
前記切替手段により切り替えた遺伝子に基づいて行動することを特徴とするロボット。
【請求項２】
前記検出手段では、前記ロボットの周囲の環境を検出し、
前記複数の遺伝子は、前記ロボットの周囲の環境に応じてそれぞれ学習させた遺伝子であることを特徴とする請求項１に記載するロボット。
【請求項３】
想定外の環境に対応するための固定遺伝子を備え、
前記切替手段では、前記検出手段で検出した環境が想定外の環境の場合、前記固定遺伝子に切り替えることを特徴とする請求項２に記載するロボット。
【請求項４】
外部装置と通信するための通信手段を備え、
前記検出手段で検出した環境が想定外の環境の場合、前記通信手段により、前記検出手段で検出した環境を前記外部装置に送信し、当該環境に応じて学習させた遺伝子を前記外部装置から受信し、
前記切替手段では、前記固定遺伝子から前記受信した遺伝子に切り替え、
当該受信した遺伝子に基づいて行動することを特徴とする請求項３に記載するロボット。
【請求項５】
前記ロボットは、ロボットが行動するために必要な基本遺伝子を備え、
前記検出手段では、前記ロボットの各部の故障を検出し、
前記複数の遺伝子は、前記ロボットの各部の故障に応じてそれぞれ学習させた遺伝子であり、
前記切替手段では、前記検出手段で故障を検出した場合、前記基本遺伝子から当該故障に対応する遺伝子に切り替えることを特徴とする請求項１に記載するロボット。
【請求項６】
遺伝子に基づいてロボットが行動した結果を評価する行動評価手段を備え、
前記行動評価手段による評価の時間的変化に基づいて前記検出手段で故障検出を行うか否かを判断することを特徴とする請求項５に記載するロボット。
【請求項７】
前記ロボットの各部の故障と当該故障に応じて学習させた遺伝子とからなる複数の遺伝子対で保持することを特徴とする請求項５又は６に記載するロボット。
【請求項８】
前記ロボットの各部の故障の価値に応じて前記複数の遺伝子対を並べたうち、価値の高い遺伝子対を保持することを特徴とする請求項７に記載するロボット。
【請求項９】
外部装置と通信するための通信手段を備え、
前記検出手段で検出した故障に対応する前記遺伝子対を保持していない場合、前記通信手段により、前記検出した故障の情報を前記外部装置に送信し、当該故障に対応する遺伝子対を前記外部装置から受信し、
前記切替手段では、前記基本遺伝子から前記受信した遺伝子対の遺伝子に切り替え、
当該受信した遺伝子に基づいて行動することを特徴とする請求項８に記載するロボット。
【請求項１０】
遺伝子に基づいて行動するロボットが外部の計算機と通信を行う通信ロボットシステムであって、
前記ロボットは、前記計算機と通信するためのロボット側通信手段と、ロボットに関する環境を検出する検出手段とを備え、
前記計算機は、前記ロボットと通信するための計算機側通信手段を備え、
前記ロボットでは、前記ロボット側通信手段により前記検出手段において検出した環境を前記計算機に送信し、
前記計算機では、前記計算機側通信手段により、前記ロボットから送信された環境を受信し、当該受信した環境に応じた遺伝子を前記ロボットに送信し、
前記ロボットでは、前記ロボット側通信手段により前記計算機から送信された遺伝子を受信し、当該受信した遺伝子に基づいて行動することを特徴とする通信ロボットシステム。
【請求項１１】
前記ロボットでは、前記検出手段により前記ロボットの周囲の環境を検出し、
前記計算機は、前記ロボットの周囲の環境に応じて学習させたロボットの遺伝子を生成する生成手段を備えることを特徴とする請求項１０に記載する通信ロボットシステム。
【請求項１２】
前記計算機では、前記生成手段により前記ロボットから送信された環境に応じて学習させた遺伝子を生成することを特徴とする請求項１１に記載する通信ロボットシステム。
【請求項１３】
前記計算機では、前記生成手段により想定されるロボットの周囲の環境に応じて学習させた遺伝子を予め生成することを特徴とする請求項１１又は１２に記載する通信ロボットシステム。
【請求項１４】
前記ロボットは、予め想定される複数の環境に応じてそれぞれ学習させた複数の遺伝子と、想定外の環境に対応するための固定遺伝子と、前記検出手段で検出した環境に応じて前記複数の遺伝子を切り替える切替手段とを備え、
前記検出手段で検出した環境が想定外の環境の場合、前記ロボットでは、前記切替手段により前記固定遺伝子に切り替え、当該固定遺伝子に基づいて行動し、前記ロボット側通信手段により前記検出手段で検出した環境を前記計算機に送信し、
前記計算機では、前記計算機側通信手段により、前記ロボットから送信された環境を受信し、当該受信した環境に応じた遺伝子を前記ロボットに送信し、
前記ロボットでは、前記ロボット側通信手段により前記計算機から送信された遺伝子を受信し、前記切替手段により前記固定遺伝子から当該受信した遺伝子に切り替え、当該受信した遺伝子に基づいて行動することを特徴とする請求項１１〜１３のいずれか１項に記載する通信ロボットシステム。
【請求項１５】
前記ロボットでは、前記検出手段により前記ロボットの各部の故障を検出し、前記ロボット側通信手段により前記検出手段で検出した故障の情報を前記計算機に送信し、
前記計算機は、前記ロボットの各部の故障と当該故障に応じて学習させた遺伝子とからなる複数の遺伝子対と、前記ロボット側通信手段により送信された故障の情報に基づいて前記複数の遺伝子対を並べる更新手段とを備えることを特徴とする請求項１０に記載する通信ロボットシステム。
【請求項１６】
前記計算機では、前記更新手段により更新された複数の遺伝子対の情報のうち、一部又は全部を前記計算機側通信手段により前記ロボットに送信することを特徴とする請求項１５に記載する通信ロボットシステム。
【請求項１７】
前記計算機は、前記計算機側通信手段により前記遺伝子対の情報を前記ロボットに送信した場合、当該ロボットに対して課金処理を行う課金処理手段を備えることを特徴とする請求項１６に記載する通信ロボットシステム。
【請求項１８】
前記計算機は、前記計算機側通信手段により前記故障の情報を前記ロボットから受信した場合、当該ロボットに対して納金処理を行う納金処理手段を備えることを特徴とする請求項１６又は１７に記載する通信ロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、遺伝子に基づいて行動するロボット及び当該ロボットが外部の計算機と通信を行う通信ロボットシステムに関する。
【背景技術】
【０００２】
内部に複数の遺伝子を備え、遺伝子に基づいて行動する自律進化型ロボットが開発されている（特許文献１参照）。自律進化型ロボットでは、遺伝子に基づいて行動した結果を評価し、評価の高い遺伝子を残し、評価の低い遺伝子を消去する。さらに、自律進化型ロボットでは、複数の親から遺伝子を受け継ぐ交叉や遺伝子の一部を変化させる突然変異によって新たな遺伝子を生成する。このようにして、自律進化型ロボットは、自律的に環境を学習して進化し、環境に適応していく。
【特許文献１】特開２００１−１４２８６２号公報
【特許文献２】特開平９−８１２０５号公報
【特許文献３】特開２００３−１５７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来の自律進化型ロボットは、初期状態から進化して環境に適応するまでには、遺伝子の選択、交叉、突然変異という一連の遺伝子操作を繰り返し行わなければならない。そのため、多くの世代を必要とし、環境に適応するまでに時間を要する。
【０００４】
また、従来の自律進化型ロボットは、センサやアクチュエータ等に故障が生じてロボットの内部的な環境が変化した場合、遺伝的アルゴリズムによりその環境に適応することは可能である。しかし、故障に関する情報のない初期状態から故障に適応するのには膨大な時間を要する。
【０００５】
そこで、本発明は、早期に環境の変化に適応することができるロボット及び通信ロボットシステムを提供することを課題とする。
【課題を解決するための手段】
【０００６】
本発明に係るロボットは、遺伝子に基づいて行動するロボットであって、ロボットに関する環境を検出する検出手段と、予め想定される複数の環境に応じてそれぞれ学習させた複数の遺伝子と、検出手段で検出した環境に応じて複数の遺伝子を切り替える切替手段とを備え、切替手段により切り替えた遺伝子に基づいて行動することを特徴とする。
【０００７】
このロボットは、予め想定される複数の環境についてそれぞれ学習させた遺伝子を複数備えている。ロボットでは、検出手段によりロボットに関する環境を検出する。ロボットに関する環境は、ロボットのおかれている外部的な環境（例えば、ロボットの周囲の環境）やロボット自身の内部的な環境（例えば、ロボットの各部が故障した環境）である。そして、ロボットでは、切替手段により検出したこれらの環境と同様の環境のもとで予め学習させた遺伝子に切り替え、この切り替えた遺伝子に基づいて行動する。これにより、ロボットは、予め想定される環境のもとで進化させた遺伝子を用いて行動するので、適切な行動を行うことができ、早期に環境に適応することができる。また、遺伝子を初期状態から進化させた場合には有力な遺伝子が得られないまま初期収束により遺伝子が局所最適解に陥ることがあるが、予め進化させた遺伝子を用いているので、環境に適応した有力な遺伝子が得られ、局所最適解に陥ることはない。
【０００８】
本発明の上記ロボットでは、検出手段では、ロボットの周囲の環境を検出し、複数の遺伝子は、ロボットの周囲の環境に応じてそれぞれ学習させた遺伝子である構成としてもよい。
【０００９】
ロボットは、検出手段によりロボットの周囲の環境を検出する。また、ロボットは、ロボットの周囲の環境に応じてそれぞれ学習させた遺伝子を備えている。そのため、ロボットの周囲の環境が変化した場合でも、ロボットでは、切替手段により変化した周囲の環境に応じて学習させた遺伝子に切り替えることで、早期に周囲の環境に対応することができる。
【００１０】
なお、ロボットの周囲の環境に応じて学習させた各遺伝子は、単一の遺伝子からなる場合もあれば、複数の遺伝子からなる場合もあり、複数の遺伝子からなる場合にはこの複数の遺伝子をグループ化して一つの遺伝子グループを構成する場合もある。
【００１１】
本発明の上記ロボットでは、想定外の環境に対応するための固定遺伝子を備え、切替手段では、検出手段で検出した環境が想定外の環境の場合、固定遺伝子に切り替える構成としてもよい。
【００１２】
ロボットは、予め想定されるロボットの周囲の環境について学習させた複数の遺伝子に加えて、想定外の環境に対応するための固定遺伝子を備えている。ロボットでは、検出手段で検出した環境が想定外の場合、切替手段により固定遺伝子に切り替え、固定遺伝子に基づいて行動する。固定遺伝子は、未知の環境に対応するための遺伝子であり、環境に関係なく定められた所定の行動をロボットに行わせる遺伝子である。例えば、固定遺伝子は、ロボット自身の破損や周囲の環境に悪影響を及ぼさないような行動や停止を行わせる遺伝子である。これにより、ロボットは、想定外の環境に置かれた場合でも、ロボットや周囲の環境に悪影響を及ぼすような行動を行わなくなる。
【００１３】
本発明の上記ロボットでは、外部装置と通信するための通信手段を備え、検出手段で検出した環境が想定外の環境の場合、通信手段により、検出手段で検出した環境を外部装置に送信し、当該環境に応じて学習させた遺伝子を外部装置から受信し、切替手段では、固定遺伝子から受信した遺伝子に切り替え、当該受信した遺伝子に基づいて行動する構成としてもよい。
【００１４】
ロボットでは、切替手段において固定遺伝子に切り替えた場合、通信手段により検出手段において検出した想定外の環境を外部装置に送信する。そして、ロボットでは、通信手段により送信した環境に応じて学習させた遺伝子を外部装置から受信する。さらに、ロボットでは、切替手段により固定遺伝子から受信した遺伝子に切り替える。そして、ロボットでは、その受信した遺伝子に基づいて想定外の環境に適応した行動を行う。これにより、ロボットは、想定外の環境に置かれた場合でも、一時的に固定遺伝子によって行動しつつ、外部装置から遺伝子を受信することで適切な行動を行うことができる。
【００１５】
本発明の上記ロボットでは、ロボットは、ロボットが行動するために必要な基本遺伝子を備え、検出手段では、ロボットの各部の故障を検出し、複数の遺伝子は、ロボットの各部の故障に応じてそれぞれ学習させた遺伝子であり、切替手段では、検出手段で故障を検出した場合、基本遺伝子からその故障に対応する遺伝子に切り替える構成としてもよい。
【００１６】
ロボットは、ロボットが行動するために必要な基本遺伝子に加えて、ロボットの各部の故障に応じてそれぞれ学習させた遺伝子を備えている。ロボットは、通常、この基本遺伝子を用いて行動を行う。また、ロボットでは、検出手段によりロボットの各部の動作が正常か否かを判断して各部の故障を検出する。さらに、ロボットでは、検出手段でロボットの故障を検出した場合、切替手段により基本遺伝子から検出した故障に対応する遺伝子に切り替える。これにより、ロボットは、検出手段で検出する環境がロボットの各部の故障である場合であっても、早期に故障に対応した行動をとることができると共に、故障によってロボットが不安定な動作となる期間を大幅に短縮することができる。
【００１７】
本発明の上記ロボットでは、遺伝子に基づいてロボットが行動した結果を評価する行動評価手段を備え、行動評価手段による評価の時間的変化に基づいて検出手段で故障検出を行うか否かを判断する構成としてもよい。
【００１８】
ロボットは、遺伝子に基づいてロボットが行動した結果を評価する行動評価手段を備えている。そして、ロボットでは、行動評価手段による評価の時間的変化に基づいて検出手段で故障検出を行うか否かを判断する。行動評価値は、通常ロボットが進化していく場合、時間と共に上昇した後に飽和する。そのため、行動評価値が大幅に低下するような場合には、ロボットのどこかに故障の可能性があると判断できる。これにより、ロボットは、故障の可能性がある場合にだけ故障の検出を行えばよく、検出手段において常に故障検出をする必要がないので、ロボットの処理負荷を軽減することができる。
【００１９】
本発明の上記ロボットでは、ロボットの各部の故障とその故障に応じて学習させた遺伝子とからなる複数の遺伝子対で保持する構成としてもよい。
【００２０】
ロボットは、ロボットの各部の故障とその故障に応じて学習させた遺伝子とを対応させた複数の遺伝子対で保持している。これにより、ロボットは、検出手段によりロボットの各部の故障を検出した場合、遺伝子対を参照してその故障に対応した遺伝子を素早く取り出すことができ、早期にロボットの各部の故障に対応することができる。
【００２１】
本発明の上記ロボットでは、ロボットの各部の故障の価値に応じて複数の遺伝子対を並べたうち、価値の高い遺伝子対を保持する構成としてもよい。
【００２２】
ロボットは、ロボットの各部の故障の価値に応じて複数の遺伝子を並べたうち、価値（例えば、故障の発生頻度や故障がロボットに与える影響の大きさ）の高い遺伝子対を保持している。これにより、ロボットは、遺伝子対を記憶するための記憶容量を節約することができると共に、故障が発生した場合にも高確率で素早く故障に対応することができる。
【００２３】
本発明の上記ロボットでは、外部装置と通信するための通信手段を備え、検出手段で検出した故障に対応する遺伝子対を保持していない場合、通信手段により、検出した故障の情報を外部装置に送信し、その故障に対応する遺伝子対を外部装置から受信し、切替手段では、基本遺伝子から受信した遺伝子対の遺伝子に切り替え、その受信した遺伝子に基づいて行動する構成としてもよい。
【００２４】
ロボットでは、検出手段で検出した故障に対応する遺伝子対を保持していない場合、通信手段により検出した故障の情報を外部装置に送信する。そして、ロボットでは、通信手段により送信した故障に対応する遺伝子対を外部装置から受信する。さらに、ロボットでは、切替手段により基本遺伝子から受信した遺伝子対の遺伝子に切り替える。そして、ロボットでは、その遺伝子に基づいて故障に対応する行動を行う。これにより、ロボットは、内部に故障に対応する遺伝子対を保持していない場合でも、外部装置から遺伝子対を受信することでその遺伝子対の遺伝子を用いることにより適切な行動を行うことができる。
【００２５】
本発明に係る通信ロボットシステムは、遺伝子に基づいて行動するロボットが外部の計算機と通信を行う通信ロボットシステムであって、ロボットは、計算機と通信するためのロボット側通信手段と、ロボットに関する環境を検出する検出手段とを備え、計算機は、ロボットと通信するための計算機側通信手段を備え、ロボットでは、ロボット側通信手段により検出手段において検出した環境を計算機に送信し、計算機では、計算機側通信手段により、ロボットから送信された環境を受信し、その受信した環境に応じた遺伝子を前記ロボットに送信し、ロボットでは、ロボット側通信手段により計算機から送信された遺伝子を受信し、その受信した遺伝子に基づいて行動することを特徴とする。
【００２６】
この通信ロボットシステムは、遺伝子に基づいて行動するロボットと、ロボットに関する環境に応じた遺伝子を備えている計算機とにより構成され、このロボットと計算機との間で通信を行うことができる。ロボットでは、検出手段によりロボットに関する環境を検出する。そして、ロボットでは、ロボット側通信手段によりその検出した環境を計算機に送信する。計算機では、計算機側通信手段により、検出手段において検出した環境を受信して、その受信した環境に応じた遺伝子をロボットに送信する。ロボットでは、ロボット側通信手段により計算機から送信された遺伝子を受信し、その受信した遺伝子に基づいて行動する。このように、ロボットは、外部の計算機と通信することでロボットの周囲の環境又はロボットの各部の故障といったロボットに関する環境に応じた遺伝子を備えることにより、それぞれの環境に応じた適切な行動を行うことができ、早期に周囲の環境に適応することができる。
【００２７】
本発明の上記通信ロボットシステムでは、ロボットは、検出手段によりロボットの周囲の環境を検出し、計算機は、ロボットの周囲の環境に応じて学習させたロボットの遺伝子を生成する生成手段を備える構成としてもよい。
【００２８】
ロボットでは、検出手段によりロボットの周囲の環境を検出する。また、計算機は、環境に応じて学習させたロボットの遺伝子を生成する生成手段を備えている。計算機では、計算機側通信手段により、検出手段において検出されたロボットの周囲の環境を受信し、生成手段によりその受信した環境に応じて生成した遺伝子をロボットに送信する。このように、ロボットは、検出手段で検出する環境がロボットの周囲の環境である場合に、外部の計算機で環境に応じて高速に進化させた遺伝子を取り入れることにより、周囲の環境に応じた適切な行動を行うことができ、早期に周囲の環境に適応することができる。
【００２９】
本発明の上記通信ロボットシステムの計算機では、生成手段によりロボットから送信された環境に応じて学習させた遺伝子を生成する構成としてもよい。
【００３０】
計算機では、計算機側通信手段によりロボットから周囲の環境を受信した場合、生成手段によりその受信した環境に応じて学習させた遺伝子を生成する。これにより、ロボットが検出した周囲の環境が想定外の環境であり、その検出した周囲の環境に応じた遺伝子を計算機が備えていない場合でも、計算機によりその想定外の環境に応じて学習させた遺伝子を高速に生成し、早期に想定外の環境に適応することができる。
【００３１】
また、本発明の上記通信ロボットシステムの計算機では、生成手段により想定されるロボットの周囲の環境に応じて学習させた遺伝子を予め生成する構成としてもよい。
【００３２】
計算機では、生成手段によりロボットが行動すると想定される環境に応じて予め遺伝子を生成している。このように、計算機で予め遺伝子を生成しておくことにより、ロボットが周囲の環境を計算機に送信してきた場合でも、その環境に応じた遺伝子を即時にロボットに送信することができ、ロボットは早期に周囲の環境に適応することができる。
【００３３】
本発明の上記通信ロボットシステムでは、ロボットは、予め想定される複数の環境に応じてそれぞれ学習させた複数の遺伝子と、想定外の環境に対応するための固定遺伝子と、検出手段で検出した環境に応じて複数の遺伝子を切り替える切替手段とを備え、検出手段で検出した環境が想定外の環境の場合、ロボットでは、切替手段により固定遺伝子に切り替え、その固定遺伝子に基づいて行動し、ロボット側通信手段により検出手段で検出した環境を計算機に送信し、計算機では、計算機側通信手段により、ロボットから送信された環境を受信し、当該受信した環境に応じた遺伝子をロボットに送信し、ロボットでは、ロボット側通信手段により計算機から送信された遺伝子を受信し、切替手段により固定遺伝子からその受信した遺伝子に切り替え、その受信した遺伝子に基づいて行動する構成としてもよい。
【００３４】
ロボットは、予め想定される複数の周囲の環境についてそれぞれ学習させた複数の遺伝子及び想定外の環境に対応するための固定遺伝子を備えている。ロボットでは、検出手段によりロボットの周囲の環境を検出する。そして、ロボットでは、検出した環境に応じた遺伝子を備えている場合、切替手段により検出した環境に応じた遺伝子に切り替え、検出した環境に適応した行動を行う。一方、ロボットでは、検出した環境に応じた遺伝子を備えていない場合（すなわち、想定外の環境の場合）、切替手段により固定遺伝子に切り替え、固定遺伝子に基づいて行動するとともに、ロボット側通信手段により検出した環境を計算機に送信する。計算機では、計算機側通信手段により、その環境を受信し、その受信した環境に応じた遺伝子をロボットに送信する。ロボットでは、ロボット側通信手段によりその遺伝子を受信する。そして、ロボットでは、切替手段により固定遺伝子から受信した遺伝子に切り替え、その受信した遺伝子に基づいて想定外の環境に適応した行動を行う。これにより、ロボットは、周囲の環境に応じた遺伝子を備えている場合には、その遺伝子に基づいて行動し、早期に周囲の環境に適応することができる。また、ロボットは、周囲の環境に応じた遺伝子を備えていない場合には、固定遺伝子に基づいて行動することによりロボット自身の破損や周囲の環境に悪影響を及ぼすような行動を行わないとともに、計算機で環境に応じて高速に進化させた遺伝子を取り入れることにより早期に周囲の環境に適応することができる。
【００３５】
本発明の上記通信ロボットシステムでは、ロボットは、検出手段によりロボットの各部の故障を検出し、ロボット側通信手段により検出手段で検出した故障の情報を計算機に送信し、計算機は、ロボットの各部の故障とその故障に応じて学習させた遺伝子とを対応させた複数の遺伝子対と、ロボット側通信手段により送信された故障の情報に基づいて複数の遺伝子対を並べる更新手段とを備える構成としてもよい。
【００３６】
ロボットは、検出手段によりロボットの各部の故障を検出し、ロボット側通信手段により検出手段で検出した故障の情報を計算機に送信する。計算機は、故障とその故障に応じて学習させた遺伝子とからなる複数の遺伝子対を備えている。また、計算機は、更新手段によりロボット側通信手段が送信した故障の情報に基づいて複数の遺伝子対を並べる。これにより、計算機は、ロボットから送信される故障の情報に基づいて複数の遺伝子対を動的に並べることにより、実際の故障の発生に基づく精度の高い統計情報を生成することができる。
【００３７】
本発明の上記通信ロボットシステムの計算機では、更新手段により更新された複数の遺伝子対の情報のうち、一部又は全部を計算機側通信手段によりロボットに送信する構成としてもよい。
【００３８】
計算機では、更新手段により更新された複数の遺伝子対の情報のうち、一部又は全部を計算機側通信手段によりロボットに送信する。これにより、ロボットは、更新された遺伝子対の一部又は全部を受信するので、複数の遺伝子対を動的に入れ替えることができ、価値の高い故障に対して即時に対応することができる。
【００３９】
本発明の上記通信ロボットシステムの計算機では、計算機側通信手段により遺伝子対の情報をロボットに送信した場合、そのロボットに対して課金処理を行う課金処理手段を備える構成としてもよい。
【００４０】
計算機では、計算機側通信手段により遺伝子対の情報をロボットに送信した場合、そのロボットに対して課金処理を行う。これにより、故障対応遺伝子の提供ビジネスを行うことができる。
【００４１】
また、本発明の上記通信ロボットシステムの計算機では、計算機側通信手段により故障の情報をロボットから受信した場合、そのロボットに対して納金処理を行う納金処理手段を備える構成としてもよい。
【００４２】
計算機では、計算機側通信手段により故障の情報をロボットから受信した場合、そのロボットに対して納金処理を行う。これにより、多数のロボットから故障情報を得ることが期待できると共に、多数のロボットから得た故障情報に基づいて、より精度の高い統計情報を生成することができる。
【発明の効果】
【００４３】
本発明によれば、環境に応じて予め学習させた遺伝子を用いることにより、ロボットが早期に環境の変化に適応することができる。
【発明を実施するための最良の形態】
【００４４】
以下、図面を参照して、本発明に係るロボット及び通信ロボットシステムの実施の形態を説明する。
【００４５】
本実施の形態では、本発明を、環境に応じて遺伝子を進化させ、環境に適応する自律進化型のロボット及びそのロボットと計算機からなる通信ロボットシステムに適用する。本実施の形態に係るロボットは、複数の遺伝子を遺伝子メモリに備え、ロボットに関する環境に応じて遺伝子を切り替えて行動する。本実施の形態に係る通信ロボットシステムは、ロボットと計算機間で通信を行い、ロボットが計算機から環境に応じた遺伝子を取得する。本実施の形態には、５つの形態があり、第１の実施の形態はロボットの周囲における所定の環境に適用した場合のロボットであり、第２の実施の形態はロボットの周囲における他の環境に適用した場合のロボットであり、第３の実施の形態はロボットの周囲の環境に対してロボットが適応する通信ロボットシステムである。また、第４の実施の形態はロボットが故障した環境に適用した場合のロボットであり、第５の実施の形態はロボットが故障した環境に対して適応する通信ロボットシステムである。
【００４６】
図１〜図３を参照して、第１の実施の形態に係るロボットの構成について説明する。図１は、本実施の形態に係るロボットの構成図である。図２は、第１及び後述する第２、第４の実施の形態に係るロボットの斜視図である。図３は、第１の実施の形態に係る環境の例であり、（ａ）は障害物が少ない環境であり、（ｂ）は障害物が多い環境であり、（ｃ）は障害物がなく地面にオイルが撒かれた未知の環境である。
【００４７】
ロボット１は、グループ化した遺伝子グループを遺伝子メモリに複数備え、周囲の環境に応じて各遺伝子グループを切り替えて行動する。また、ロボット１は、遺伝子グループに加えデフォルト遺伝子を備え、想定外の環境の場合にはデフォルト遺伝子に切り替えて行動する。
【００４８】
また、ロボット１は、周囲の環境を検出し、その検出した環境を識別する。そして、ロボット１は、識別した環境に応じた遺伝子グループを選択し、その遺伝子グループに基づいて行動を行う。さらに、ロボット１は、この行動の結果を評価し、その評価結果に応じて遺伝子操作を行い遺伝子を更に進化させる。そのために、ロボット１は、カメラ２、多数個の赤外線センサ３，・・・、右輪用角度センサ４、左輪用角度センサ５、右輪アクチュエータ６、左輪アクチュエータ７、右輪８、左輪９及びロボットＥＣＵ（Electronic Control Unit）１０を備えており、ロボットＥＣＵ１０に遺伝子メモリ１１、環境入力識別部１２、遺伝子グループ切替部１３、ロボット制御部１４、進化システム部１５が構成される。
【００４９】
なお、第１の実施の形態では、カメラ２及び赤外線センサ３が特許請求の範囲に記載する検出手段に相当し、遺伝子グループ切替部１３が特許請求の範囲に記載する切替手段に相当する。
【００５０】
ロボット１は、具体的には、図２に示すような二輪走行型ロボットである。ロボット本体１６は、円柱体形状を成しており、その内部にロボットＥＣＵ１０、右輪８を動作させる右輪アクチュエータ６、左輪９を動作させる左輪アクチュエータ７が設けられている。ロボット本体１６の上面には、カメラ２が設置されている。また、ロボット本体１６の側面には、全周にわたって多数個の赤外線センサ３，・・・が等間隔で取り付けられている。
【００５１】
ロボット１は、右輪８、左輪９を共に同じ回転速度で正回転させた場合には直線的に前進し、右輪８、左輪９を共に同じ回転速度で逆回転させた場合には直線的に後退する。また、ロボット１は、左輪９を正回転させるとともに右輪８を停止又は左輪９よりも遅い回転速度で回転させることで右旋回し、右輪８を正回転させるとともに左輪９を停止又は右輪８よりも遅い回転速度で回転させることで左旋回する。また、ロボット１は、右輪８、左輪９を互いに逆方向に同じ回転速度で回転させた場合にはその場で回転する。
【００５２】
図３を参照して、第１の実施の形態で適用される環境について説明する。この環境は、平面上の長方形区画内に円柱体の障害物が置かれている環境であり、ロボット１はこの区画内で行動する。図３（ａ）に示す環境は、四隅に障害物が置かれている環境（以下、環境条件０の環境とする）である。この環境では、障害物の数が少なくかつ障害物が端にあるので、ロボット１は直線的な高速移動が可能である。図３（ｂ）に示す環境は、８本の障害物が適度に分散して置かれている環境（以下、環境条件１の環境とする）である。この環境では、障害物の数が多くかつ障害物が全体的に分散しているため、ロボット１は障害物の回避が必要となる。図３（ｃ）に示す環境は、長方形区画内に障害物がないが、所定の領域にオイルが撒かれた環境である。この環境は、未知の環境である。これらの環境においてロボット１の行動を評価する場合には、一定時間内にロボット１が移動した距離や通過することができた障害物の数が評価基準となる。
【００５３】
カメラ２は、例えば、ＣＣＤ（Charge Coupled Device）カメラである。カメラ２では、ロボット１の前方を撮像し、その撮像した画像情報を画像信号としてロボットＥＣＵ１０に送信する。赤外線センサ３は、ロボット１の周囲にある障害物等の物体とロボット１との距離を検出するセンサである。赤外線センサ３では、その検出した距離を距離信号としてロボットＥＣＵ１０に送信する。ロボット本体１６の側面の全周にわたって赤外線センサ３が多数個取り付けられているのは、ロボット１の周囲に存在する障害物を検出するためである。右輪用角度センサ４、左輪用角度センサ５は、ロボット１の右輪８、左輪９の回転角度をそれぞれ検出するセンサである。右輪用角度センサ４、左輪用角度センサ５では、その検出した角度を角度信号としてロボットＥＣＵ１０にそれぞれ送信する。
【００５４】
右輪アクチュエータ６は、ロボットＥＣＵ１０からの右輪用制御信号に基づき右輪８を回転させるアクチュエータである。左輪アクチュエータ７は、ロボットＥＣＵ１０からの左輪用制御信号に基づき左輪９を回転させるアクチュエータである。
【００５５】
ロボットＥＣＵ１０は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）等からなり、ロボット１の電子制御ユニットである。ロボットＥＣＵ１０では、カメラ２から送信された画像信号と赤外線センサ３から送信された距離信号を取り入れ、この画像信号及び距離信号に基づいてロボット１の周囲の環境を識別する。そして、ロボットＥＣＵ１０では、識別した環境に応じた遺伝子グループを選択し、この遺伝子グループに含まれる遺伝子に基づいてロボット１の行動を制御する。さらに、ロボットＥＣＵ１０では、このロボット１の行動の結果に基づいて遺伝子を評価し、遺伝子操作を行う。
【００５６】
遺伝子メモリ１１は、環境条件０の環境に適応するグループ０の遺伝子グループ１１ａ、環境条件１の環境に適応するグループ１の遺伝子グループ１１ｂ及びデフォルト遺伝子１１ｃを備えている。遺伝子グループ１１ａは、環境条件０の環境のもとで予め学習させた高速移動環境用の遺伝子を複数有している。この各遺伝子としては、例えば、高速移動させるための遺伝子１、直線運動させるための遺伝子２である。遺伝子グループ１１ｂは、環境条件１の環境のもとで予め学習させた低速移動環境用の遺伝子を複数有している。この各遺伝子としては、例えば、低速移動させるための遺伝子１、回避行動させるための遺伝子２、センサの情報を重視するための遺伝子３である。デフォルト遺伝子１１ｃは、未知の環境におけるロボット１の行動を定める遺伝子である。未知の環境にロボット１が置かれた場合に直線運動や旋回運動等を行うと、ロボット１自身の破損や周囲の環境に悪影響を及ぼすことがある。そこで、デフォルト遺伝子１１ｃとしては、ロボット１に最小限の行動を行わせる遺伝子であり、例えば、ロボット１をその場で停止させたり、あるいは、その場で回転させたりするための遺伝子である。
【００５７】
なお、本実施の形態では、遺伝子グループ１１ａ，１１ｂが特許請求の範囲に記載する複数の遺伝子に相当し、デフォルト遺伝子１１ｃが特許請求の範囲に記載する固定遺伝子に相当する。
【００５８】
遺伝子グループ１１ａ，１１ｂは、環境条件０の環境、環境条件１の環境に応じて計算機において予めシミュレーションで進化させた遺伝子から成っている。このシミュレーションでは、これらの環境条件０，１の環境を計算機内に仮想的に構築し、仮想的なロボットを行動させる。そして、シミュレーションでは、環境に対して適切な行動を行った遺伝子に高い行動評価値を与え、行動評価値の低い遺伝子を棄却する。そして、棄却されずに残った行動評価値の高い遺伝子を用いて交叉を行い、新たな遺伝子を生成する。また、一定の確率で遺伝子の突然変異を行い、新たな遺伝子を生成する。シミュレーションでは、この新たに生成された遺伝子に基づいて仮想的なロボットを行動させる。そして、この行動の結果に応じて、再びこれらの一連の遺伝子操作を繰り返して遺伝子を進化させる。
【００５９】
環境入力識別部１２では、カメラ２から送信された画像信号及び赤外線センサ３，・・・から送信された各距離信号に基づいて、ロボット１の周囲の環境を識別する。具体的には、環境入力識別部１２では、画像信号からロボット１の前方にある障害物を認識し、各距離信号からロボット１の周囲における障害物の有無を判定することで、ロボット１の周囲に存在する障害物の数を検出する。環境入力識別部１２では、この検出した障害物の数としきい値とを比較する。このしきい値は、環境条件０の環境に存在する障害物の数と環境条件１の環境に存在する障害物の数とを識別するためのしきい値である。障害物の数がしきい値より少ない場合には、環境入力識別部１２では、環境条件０の環境であると識別する。一方、検出した障害物の数がしきい値以上である場合には、環境入力識別部１２では、環境条件１の環境であると識別する。そして、障害物が検出されなかった場合には、環境入力識別部１２では、未知の環境であると識別する。そして、環境入力識別部１２では、この識別した環境を遺伝子グループ切替部１３に出力する。
【００６０】
遺伝子グループ切替部１３では、環境入力識別部１２で識別した環境に基づいて遺伝子メモリ１１の遺伝子グループ１１ａ，１１ｂ又はデフォルト遺伝子１１ｃに切り替える。具体的には、遺伝子グループ切替部１３では、環境入力識別部１２で環境条件０の環境であると識別した場合には遺伝子グループ１１ａに切り替え、環境条件１の環境であると識別した場合には遺伝子グループ１１ｂに切り替え、未知の環境であると識別した場合にはデフォルト遺伝子１１ｃに切り替える。そして、遺伝子グループ切替部１３では、どの遺伝子グループに切り替えたかの情報をロボット制御部１４及び進化システム部１５に出力する。
【００６１】
ロボット制御部１４では、遺伝子グループ切替部１３で切り替えた遺伝子グループ１１ａ，１１ｂに含まれる遺伝子又はデフォルト遺伝子１１ｃに基づいてロボット１の行動を制御する。具体的には、ロボット制御部１４では、遺伝子に基づいて直進、後退、右旋回、左旋回、その場で回転等の運動状態とロボット１の移動速度を設定する。そして、ロボット制御部１４では、運動状態と移動速度に基づいて、右輪８の回転速度を設定し、その回転速度となるための右輪用制御信号を右輪アクチュエータ６に送信する。また、ロボット制御部１４では、運動状態と移動速度に基づいて、左輪９の回転速度を設定し、その回転速度となるための左輪用制御信号を左輪アクチュエータ７に送信する。
【００６２】
ロボット制御部１４では、ロボット１を前進させる場合には右輪８、左輪９を共に同じ回転速度で正回転させる各制御信号を設定し、ロボット１を後退させる場合には右輪８、左輪９を共に同じ回転速度で逆回転させる各制御信号を設定する。また、ロボット制御部１４では、ロボット１を右旋回させる場合には、左輪９を正回転させるとともに右輪８を停止又は左輪９よりも遅い回転速度で回転させる各制御信号を設定し、ロボット１を左旋回させる場合には、右輪８を正回転させるとともに左輪９を停止又は右輪８よりも遅い回転速度で回転させる各制御信号を設定する。さらに、ロボット制御部１４では、ロボット１をその場で回転させる場合には右輪８、左輪９を互いに逆方向に同じ回転速度で回転させる各制御信号を設定する。
【００６３】
特に、ロボット制御部１４では、遺伝子グループ１１ａの場合、右輪８、左輪９を高い回転速度で回転させ、主にロボット１を直線的に直進させるための各制御信号を設定する。また、ロボット制御部１４では、遺伝子グループ１１ｂの場合、カメラ２による画像情報や赤外線センサ３，・・・による距離情報を重視し、右輪８、左輪９を低い回転速度で回転させ、ロボット１を直進させるよりも旋回させるための各制御信号を設定する。また、ロボット制御部１４では、デフォルト遺伝子１１ｃの場合、ロボット１をその場で回転又は停止させるための制御信号を設定する。
【００６４】
進化システム部１５では、遺伝子グループ切替部１３で切り替えた遺伝子グループ１１ａ，１１ｂ内に含まれる全ての遺伝子に対しロボット１を制御した結果に基づいて評価を行うとともに、一連の遺伝子操作を行う。具体的には、進化システム部１５では、右輪用角度センサ４、左輪用角度センサ５により検出した右輪８、左輪９の各回転角度に基づいて、一定時間内でロボット１が移動した距離を算出する。進化システム部１５では、この一定時間内におけるロボット１の移動距離が長いほど行動評価値を高くする。また、進化システム部１５では、カメラ２で撮像した画像情報から認識した障害物等に基づいて、ロボット１が通過した障害物の数を求める。進化システム部１５では、このロボット１の障害物通過数が多いほど行動評価値を高くする。ただし、ロボット１が環境条件０の環境に置かれている場合と環境条件１の環境に置かれている場合とでは、評価の基準が異なる。例えば、環境条件０の環境ではロボット１の移動距離を重視して評価し、環境条件１の環境ではロボット１が通過した障害物の数を重視して評価する。そして、進化システム部１５では、行動評価値の低い遺伝子を棄却し、行動評価値の高い遺伝子を残す。さらに、進化システム部１５では、この行動評価値の高い遺伝子を用いて交叉を行い、新たな遺伝子を生成する。また、進化システム部１５では、一定の確率で遺伝子の突然変異を行い、新たな遺伝子を生成する。
【００６５】
図１を参照して、ロボット１における動作を説明する。特に、ロボットＥＣＵ１０における処理については図４のフローチャートに沿って説明する。なお、図４では、ステップをＳと略記している。
【００６６】
カメラ２では、ロボット１の前方を撮像し、その撮像した画像情報を画像信号としてロボットＥＣＵ１０に送信する。赤外線センサ３，・・・では、ロボット１の周囲にある障害物とロボット１との距離をそれぞれ検出し、それらの検出した各距離情報をロボットＥＣＵ１０に送信する。ちなみに、赤外線センサ３の検出範囲内に障害物が存在しない場合、距離情報には、例えば、無限大が設定される。
【００６７】
ロボットＥＣＵ１０では、カメラ２で検出した画像情報と赤外線センサ３，・・・で検出した各距離情報に基づいて障害物の数を求める。そして、環境入力識別部１２では、この求めた障害物の数としきい値とを比較することにより、ロボット１が置かれている環境を識別する（Ｓ１）。
【００６８】
ロボットＥＣＵ１０では、Ｓ１で識別した環境が環境条件０の環境であるか否かを判定する（Ｓ２）。
【００６９】
ロボットＥＣＵ１０では、Ｓ２で環境条件０の環境であると判定した場合には、遺伝子メモリ１１においてグループ０の遺伝子グループ１１ａに切り替える（Ｓ３）。
【００７０】
ロボットＥＣＵ１０では、Ｓ２で環境条件０の環境でないと判定した場合には、Ｓ１で識別した環境が環境条件１の環境であるか否かを判定する（Ｓ４）。
【００７１】
ロボットＥＣＵ１０では、Ｓ４で環境条件１の環境であると判定した場合には、遺伝子メモリ１１においてグループ１の遺伝子グループ１１ｂに切り替える（Ｓ５）。
【００７２】
ロボットＥＣＵ１０では、Ｓ４で環境条件１の環境でないと判定した場合には、遺伝子メモリ１１のデフォルト遺伝子１１ｃに切り替える（Ｓ６）。
【００７３】
ロボットＥＣＵ１０では、切り替えられた遺伝子グループ１１ａ，１１ｂに含まれる遺伝子又はデフォルト遺伝子１１ｃに基づいてロボット１を行動させるための右輪用制御信号及び左輪用制御信号を設定し、各制御信号を右輪アクチュエータ６、左輪アクチュエータ７に送信する（Ｓ７）。右輪アクチュエータ６、左輪アクチュエータ７では、その各制御信号をそれぞれ受信すると、各制御信号に設定されている回転速度で右輪８、左輪９を回転又は停止させる。
【００７４】
すると、ロボット１は、右輪８、左輪９が回転又は停止することで行動する。環境条件０の環境に置かれ、遺伝子グループ１１ａに切り替えられた場合、ロボット１では、初期の段階から直線的に高速に移動する。その結果、ロボット１では、移動できる距離が長くなる。環境条件１の環境に置かれ、遺伝子グループ１１ｂに切り替えられた場合、ロボット１では、初期の段階から低速で移動しながら障害物を回避する。その結果、ロボット１では、通過できる障害物の数が多くなる。また、未知の環境に置かれ、デフォルト遺伝子１１ｃに切り替えられた場合、ロボット１では、その場で停止し、あるいは、その場で回転する。その結果、ロボット１は、移動してオイルによって滑ることがなく、そのため長方形区画内から出ることもない。
【００７５】
さらに、ロボットＥＣＵ１０では、カメラ２により検出した画像情報に基づいて通過した障害物の数を求めるとともに、右輪用角度センサ４、左輪用角度センサ５により検出した右輪８、左輪９の各回転角度に基づいて一定時間内におけるロボット１の移動距離を求める。そして、ロボットＥＣＵ１０では、この求めた移動距離及び障害物通過数により遺伝子グループ１１ａ，１１ｂ内の全ての遺伝子について評価する（Ｓ８）。さらに、ロボットＥＣＵ１０では、この評価した結果に基づいて遺伝子操作を行う（Ｓ９）。
【００７６】
ロボット１では、この一連の動作を繰り返し行うことにより、各遺伝子を更に進化させていく。そして、ロボット１では、この進化させた各遺伝子に基づいて行動することにより、環境条件０の環境の場合には更に高速に移動することができ、一定時間内の移動できる距離が長くなり、環境条件１の環境の場合には更に障害物を短時間で回避することができ、障害物を通過できる数が増加する。
【００７７】
このロボット１によれば、環境条件０の環境と環境条件１の環境についてそれぞれ予め学習させた遺伝子をグループ化した高速移動環境用と低速移動環境用の遺伝子グループ１１ａ，１１ｂを備えているため、初期状態から遺伝子を進化させる必要が無く、初期の段階から各種環境条件の環境に適応することができる。また、各種環境条件別に各遺伝子グループを進化させており、予め遺伝子に周囲の環境についての事前知識を持たせているので、従来のように環境条件を区別しない遺伝子を用いるよりも、ロボット１は環境条件に適応する行動を高速に獲得できる。さらに、予め学習させた遺伝子を用いて進化させるので、遺伝子が局所最適解に陥ることがなく、大局的最適解に到達できる。
【００７８】
また、このロボット１では、未知の環境に置かれた場合でも、デフォルト遺伝子１１ｃに切り替えてその場で回転又は停止するといった安全な行動を行うので、ロボット１の無理な行動によりロボット１自身の機能を損なったりあるいは周囲の環境を破損したりすることがない。
【００７９】
次に、図１、図２を参照して、第２の実施の形態に係るロボット１の構成について説明する。第２の実施の形態は、第１の実施の形態に係るロボット１と基本的な構成は同じであるが、ロボット１が行動する環境が異なるため、ロボットＥＣＵ１０の遺伝子メモリ１１の構成及び各部の処理が異なる。そこで、第２の実施の形態では、第1の実施の形態と異なる点のみを説明する。
【００８０】
第２の実施の形態で適用される環境について説明する。この環境は、照明条件がそれぞれ異なり、障害物がランダムに置かれている環境である。環境条件０の環境は、照明により十分明るく、明るさＥ０の環境である。この環境では、ロボット１の周囲が十分に明るいので、カメラ２により検出した画像情報を用いることができる。環境条件１の環境は、照明が不十分であり、明るさＥ１の環境である。この環境では、カメラ２により検出した画像情報を用いることができず、赤外線センサ３，・・・により検出した距離情報を用いる。未知の環境は、環境条件０の環境にも環境条件１の環境にも当てはまらない明るさの環境である。この環境では、カメラ２により検出した画像情報も赤外線センサ３，・・・により検出した距離情報も用いることができない。これらの環境においてロボット１の行動を評価する場合には、一定時間内にロボット１が移動した距離が評価基準となる。
【００８１】
遺伝子メモリ１１は、明るさＥ０の環境に適応するグループ０の遺伝子グループ１１ａ、明るさＥ１の環境に適応するグループ１の遺伝子グループ１１ｂ及びデフォルト遺伝子１１ｃを備えている。遺伝子グループ１１ａは、明るさＥ０の環境のもとで予め学習させた遺伝子を複数有している。この各遺伝子としては、例えば、カメラ２の画像情報を重視するための遺伝子１である。遺伝子グループ１１ｂは、明るさＥ１の環境のもとで予め学習させた遺伝子を複数有している。この各遺伝子としては、例えば、赤外線センサ３，・・・の距離情報を重視するための遺伝子１である。デフォルト遺伝子１１ｃは、未知の環境おいてロボット１に最小限の行動を行わせる遺伝子であり、第１の実施の形態と同様のデフォルト遺伝子である。
【００８２】
環境入力識別部１２では、カメラ２から送信された画像信号に基づいて、ロボット１の周囲の環境を識別する。具体的には、環境入力識別部１２では、画像信号から撮像画像の全画素の輝度値の平均値を算出する。環境入力識別部１２では、この算出した輝度値の平均値と第１しきい値又は第２しきい値とを比較する。第１しきい値は、明るさＥ０の輝度値の範囲を示す値である。第２しきい値は、明るさＥ１の輝度値の範囲を示す値である。輝度値の平均値が第１しきい値の範囲内である場合、環境入力識別部１２では、環境条件０の環境であると識別する。輝度値の平均値が第２しきい値の範囲内である場合、環境入力識別部１２では、環境条件１の環境であると識別する。そして、輝度値の平均値が第１しきい値及び第２しきい値の範囲外である場合、環境入力識別部１２では、未知の環境であると識別する。環境入力識別部１２では、この識別した環境を遺伝子グループ切替部１３に出力する。
【００８３】
ロボット制御部１４では、遺伝子グループ１１ａに切り替えられた場合、ロボット１を直進あるいは旋回させながら、カメラ２による画像情報に基づいて検出された障害物を回避するための各制御信号を設定する。また、ロボット制御部１４では、遺伝子グループ１１ｂに切り替えられた場合、ロボット１を直進あるいは旋回させながら、赤外線センサ３，・・・が取り付けられている箇所及び赤外線センサ３，・・・による距離情報に基づいて検出された障害物を回避するための各制御信号を設定する。また、ロボット制御部１４では、デフォルト遺伝子１１ｃに切り替えられた場合、ロボット１をその場で回転又は停止させるための制御信号を設定する。
【００８４】
進化システム部１５では、右輪用角度センサ４、左輪用角度センサ５により検出した右輪８、左輪９の各回転角度に基づいて一定時間内におけるロボット１の移動距離を算出し、この移動距離が長いほど行動評価値を高くする。
【００８５】
図１、図２を参照して、ロボット１における動作を説明する。特に、ロボットＥＣＵ１０における処理については図５のフローチャートに沿って説明する。なお、図５では、ステップをＳと略記している。また、第１の実施の形態に係るロボット１と同様の動作については、その説明を省略する。
【００８６】
ロボットＥＣＵ１０では、カメラ２で検出した画像情報に基づいて全画素の輝度値の平均値を算出する（Ｓ１１）。
【００８７】
ロボットＥＣＵ１０では、Ｓ１１で算出した輝度値の平均値と第１しきい値とを比較し、ロボット１の周囲の環境が環境条件０の環境であるか否かを判定する（Ｓ１２）。
【００８８】
ロボットＥＣＵ１０では、Ｓ１２で環境条件０の環境であると判定した場合には、遺伝子メモリ１１においてグループ０の遺伝子グループ１１ａに切り替える（Ｓ１３）。
【００８９】
ロボットＥＣＵ１０では、Ｓ１２で環境条件０の環境でないと判定した場合には、Ｓ１１で算出した輝度値の平均値と第２しきい値とを比較し、ロボット１の周囲の環境が環境条件１の環境であるか否かを判定する（Ｓ１４）。
【００９０】
ロボットＥＣＵ１０では、Ｓ１４で環境条件１の環境であると判定した場合には、遺伝子メモリ１１においてグループ１の遺伝子グループ１１ｂに切り替える（Ｓ１５）。
【００９１】
ロボットＥＣＵ１０では、Ｓ１４で環境条件１の環境でないと判定した場合には、遺伝子メモリ１１においてデフォルト遺伝子１１ｃに切り替える（Ｓ１６）。
【００９２】
ロボットＥＣＵ１０では、第１の実施の形態と同様に、Ｓ１６で切り替えた遺伝子に基づいて各アクチュエータ６，７に各制御信号をそれぞれ送信する（Ｓ１７）。各アクチュエータ６，７では、各制御信号により右輪８、左輪９を回転又は停止させる。
【００９３】
すると、ロボット１は、右輪８、左輪９が回転又は停止することで行動する。環境条件０の環境に置かれ、遺伝子グループ１１ａに切り替えられた場合、ロボット１では、初期の段階からカメラ２による画像情報を重視して障害物を回避するための回避行動を行う。その結果、ロボット１では、障害物を回避し、移動できる距離が長くなる。環境条件１の環境に置かれ、遺伝子グループ１１ｂに切り替えられた場合、ロボット１では、初期の段階から赤外線センサ３，・・・による情報を重視して障害物を回避するための回避行動を行う。その結果、ロボット１では、障害物を回避し、移動できる距離が長くなる。また、未知の環境に置かれ、デフォルト遺伝子１１ｃに切り替えられた場合、ロボット１では、その場で停止し、あるいは、その場で回転する。
【００９４】
ロボットＥＣＵ１０では、右輪用角度センサ４、左輪用角度センサ５により検出した右輪８、左輪９の各回転角度に基づいて、一定時間内におけるロボット１の移動距離を求める。そして、ロボットＥＣＵ１０では、この求めた移動距離により遺伝子グループ１１ａ，１１ｂ内の全ての遺伝子について評価する（Ｓ１８）。さらに、ロボットＥＣＵ１０では、この評価した結果に基づいて遺伝子操作を行う（Ｓ１９）。
【００９５】
この第２の実施の形態に係るロボット１によれば、第１の実施の形態に係るロボットと同様の効果を有する。
【００９６】
次に、図１、図６を参照して、第３の実施の形態に係る通信ロボットシステム２０の構成について説明する。図６は、第３の実施の形態に係る通信ロボットシステムの構成図である。この通信ロボットシステム２０は、計算機３０及びロボット４０から成り、計算機３０とロボット４０とで相互にデータ通信可能なシステムである。ロボット４０は、第１の実施の形態に係るロボット１と基本的な構成は同じであるが、計算機３０と通信を行う機能も有している。そのため、ロボットＥＣＵ１０での処理等が異なる。そこで、第３の実施の形態では、計算機３０について説明し、ロボット４０については第１の実施の形態に係るロボット１と異なる点のみを説明する。なお、ロボット４０では、第１の実施の形態に係るロボット１と同様の構成については同一の符号を付す。
【００９７】
まず、計算機３０について説明する。この計算機３０は、一般的に利用されており、高い処理能力により高速処理が可能な計算機であり、例えば、高性能なパーソナルコンピュータやワークステーションである。特に、計算機３０では、環境に応じて進化させたロボットの遺伝子を生成できるとともに、ロボット４０と通信を行うことができる。そのため、計算機３０は、通信装置３１を備えている。通信装置３１は、アンテナを有する無線通信装置であり、ロボット４０とデータ通信を行う。
【００９８】
計算機３０では、シミュレーションにより各種環境条件の環境に応じて高速に遺伝子を進化させ、環境条件毎に複数の遺伝子を生成し、これらの遺伝子の中からその環境条件毎に最適な遺伝子を選択し遺伝子グループを生成する。そして、計算機３０では、環境条件毎に遺伝子グループを内部に記憶させる。この記憶されている環境条件は、ロボット４０が行動すると想定される環境の条件である。なお、計算機３０でのシミュレーションは、第１の実施の形態において遺伝子グループ１１ａ，１１ｂを生成する場合と同様のシミュレーションであるため、その説明を省略する。
【００９９】
また、計算機３０では、通信装置３１によりロボット４０が置かれている環境の観測データをロボット４０から受信すると、この観測データからその環境の環境条件を求める。そして、計算機３０では、求めた環境条件の環境に応じた遺伝子グループが内部に記憶されているか否かを判断する。遺伝子グループを記憶している場合、計算機３０では、その遺伝子グループを抽出する。一方、遺伝子グループを記憶していない場合、計算機３０では、シミュレーションによりその環境条件の環境に応じた複数の遺伝子を高速に進化させ、その進化させた複数の遺伝子をグループ化する。そして、計算機３０では、通信装置３１によりこれらの抽出又は生成した遺伝子グループをロボット４０に送信する。
【０１００】
なお、第３の実施の形態では、通信装置３１が特許請求の範囲に記載する計算機側通信手段に相当し、計算機３０が特許請求の範囲に記載する生成手段に相当する。
【０１０１】
次に、ロボット４０について説明する。このロボット４０は、第１、第２の実施の形態に係るロボット１と同様の機能を有している。特に、ロボット４０では、計算機３０と通信を行うことができ、計算機３０から未知の環境に応じた遺伝子グループを取得することができる。そのため、ロボット４０は、通信装置４１を備えている。通信装置４１は、アンテナを有する無線通信装置であり、計算機３０とデータ通信を行う。なお、第３の実施の形態では、通信装置４１が特許請求の範囲に記載するロボット側通信手段に相当する。
【０１０２】
ロボットＥＣＵ１０では、ロボット４０の周囲が未知の環境のためデフォルト遺伝子１１ｃに切り替えた場合、通信装置４１により未知の環境の観測データを計算機３０に送信させる。この観測データは、ロボット４０においてカメラ２で撮像した画像情報や赤外線センサ３，・・・で検出した距離情報等である。そして、ロボットＥＣＵ１０では、観測データを送信後に通信装置４１により計算機３０からその未知の環境に応じた遺伝子グループを受信した場合、デフォルト遺伝子１１ｃからこの受信した遺伝子グループに切り替える。そして、ロボットＥＣＵ１０では、受信した遺伝子グループに基づいて各アクチュエータ６，７（ひいては、右輪８、左輪９）を制御する。
【０１０３】
図１、図６を参照して、通信ロボットシステム２０の計算機３０及びロボット４０における動作を説明する。ロボット４０は、この通信ロボットシステム２０においても、第１、第２の実施の形態に係るロボット１と同様の動作を行う。さらに、未知の環境に置かれ、デフォルト遺伝子１１ｃに切り替えた場合、ロボット４０は、計算機３０と通信を行い未知の環境に応じた遺伝子グループを受信することで、未知の環境に適応した行動を行う。そこで、ここでの計算機３０及びロボット４０における動作については、デフォルト遺伝子１１ｃに切り替えられた場合の動作を説明する。その際、計算機３０における動作については図７のフローチャートに沿って説明し、ロボット４０における動作については図８のフローチャートに沿って説明する。なお、図７、図８では、ステップをＳと略記している。
【０１０４】
図７に沿って、計算機３０での動作について説明する。計算機３０では、受信装置３１によりロボット４０が置かれている環境の観測データを受信したか否かを判定する（Ｓ２１）。計算機３０では、Ｓ２１で観測データを受信していないと判定した場合、処理を終了する。
【０１０５】
計算機３０では、Ｓ２１で観測データを受信したと判定した場合、この受信した観測データからロボット４０が置かれている環境の環境条件を求め、この環境条件の環境に応じた遺伝子グループが計算機３０の内部に記憶されているか否かを判定する（Ｓ２２）。
【０１０６】
計算機３０では、Ｓ２２で遺伝子グループが記憶されていると判定した場合、その環境条件の環境に応じた遺伝子グループを抽出する（Ｓ２３）。そして、計算機３０では、通信装置３１によりこの抽出した遺伝子グループをロボット４０に送信する（Ｓ２４）。
【０１０７】
計算機３０では、Ｓ２２で遺伝子グループが記憶されていないと判定した場合、シミュレーションによりその環境条件の環境に応じた遺伝子を高速に進化させ、それらの遺伝子の中から最適な遺伝子を選択し遺伝子グループを生成する（Ｓ２５）。そして、計算機３０では、通信装置３１によりこの生成した遺伝子グループをロボット４０に送信する（Ｓ２６）。
【０１０８】
図８に沿って、デフォルト遺伝子１１ｃに切り替えた場合のロボット４０での動作について説明する。ロボットＥＣＵ１０では、デフォルト遺伝子１１ｃに切り替えられた場合（すなわち、ロボット４０が未知の環境に置かれた場合）、通信装置４１によりその環境の観測データを計算機３０に送信する（Ｓ３１）。
【０１０９】
ロボットＥＣＵ１０では、送信した観測データの未知の環境に応じた遺伝子グループを通信装置４１により計算機３０から受信したか否かを判定する（Ｓ３２）。そして、ロボットＥＣＵ１０では、Ｓ３２で遺伝子グループを受信していないと判定した場合、再びＳ３２に戻って判定を行い、遺伝子グループの受信を待ち続ける待ち状態となる。この際、ロボット４０は、デフォルト遺伝子１１ｃに基づいて制御され、その場で停止あるいはその場で回転する。
【０１１０】
ロボットＥＣＵ１０では、Ｓ３２で遺伝子グループを受信したと判定した場合、デフォルト遺伝子１１ｃからこの受信した遺伝子グループに切り替える（Ｓ３３）。
【０１１１】
そして、ロボットＥＣＵ１０では、第１、第２の実施の形態に係るロボットＥＣＵ１０と同様に、Ｓ３３で切り替えた遺伝子グループに含まれる各遺伝子に基づいて各アクチュエータ６，７に各制御信号をそれぞれ送信する（Ｓ３４）。各アクチュエータ６，７では、各制御信号により右輪８、左輪９を回転又は停止させる。
【０１１２】
すると、ロボット４０は、計算機３０から受信した遺伝子グループに基づいて、右輪８、左輪９を回転又は停止させて行動し、未知の環境に対して適切な行動を行う。
【０１１３】
そして、ロボットＥＣＵ１０では、第１の実施の形態に係るロボットＥＣＵ１０と同様に、遺伝子グループ内の全ての遺伝子について評価する（Ｓ３５）。さらに、ロボットＥＣＵ１０では、この評価した結果に基づいて遺伝子操作を行う（Ｓ３６）。
【０１１４】
この通信ロボットシステム２０によれば、ロボット４０が計算機３０とデータ通信できるので、未知の環境に置かれた場合でも、その未知の環境に応じた遺伝子グループを計算機３０から取得することができ、未知の環境に対して適切な行動を行うことができる。
【０１１５】
また、通信ロボットシステム２０によれば、計算機３０ではロボット４０が行動すると想定される環境条件の環境に応じた遺伝子を進化させ遺伝子グループとして予め記憶しているので、ロボット４０は、送信した観測データの環境に応じた遺伝子グループが計算機３０に記憶されている場合には計算機３０から即時にその環境に応じた遺伝子グループを取得することができる。
【０１１６】
また、通信ロボットシステム２０によれば、処理能力の高い計算機３０によりその環境に応じた複数の遺伝子を高速に進化させることができるので、ロボット４０は、送信した観測データの環境に応じた遺伝子グループが計算機３０に記憶されていない場合でも計算機３０から早期にその高速に進化させた遺伝子グループを取得することができる。
【０１１７】
また、第３の実施の形態に係る通信ロボットシステム２０によれば、ロボット４０では、未知の環境に置かれた場合、一時的にデフォルト遺伝子１１ｃに切り替えて行動し、計算機３０からその未知の環境に応じた遺伝子グループを受信した後にその遺伝子グループに切り替えて行動するので、ロボット４０自身の機能を損なったり周囲の環境を破壊したりすることがことがないとともに、未知の環境に対して早期に適切な行動を行うことができる。
【０１１８】
次に、図２、図９及び図１０を参照して、第４の実施形態に係るロボット５０の構成について説明する。第４の実施の形態は、第１の実施の形態に係るロボット１とロボットＥＣＵ５１における構成が異なる。そこで、第４の実施の形態では、内部の構成を中心に、第１の実施の形態と異なる点のみを説明する。
【０１１９】
ロボット５０は、ロボットの各部の故障を検出する。そして、ロボット５０は、その検出した故障に対応する故障対応遺伝子に切り替えて、故障に対応した行動を行う。ここで、本実施の形態におけるロボットの故障は、ロボットが備えるカメラ、センサ、アクチュエータ等の各部がそれぞれ停止する場合や誤作動する場合等である。そのために、ロボット５０は、カメラ２、赤外線センサ３、右輪用及び左輪用角度センサ４，５、右輪及び左輪アクチュエータ６，７並びにロボットＥＣＵ５１を備えている。また、ロボットＥＣＵ５１にはロボット制御部１４及び進化システム部１５に加え、診断部５２、第１遺伝子メモリ５３、第２遺伝子メモリ５４及び切替部５５が構成される。
【０１２０】
なお、第４の実施の形態では、診断部５２が特許請求の範囲に記載する検出手段に相当し、切替部５５が特許請求の範囲に記載する切替手段に相当し、進化システム部１５が特許請求の範囲に記載する行動評価手段に相当する。
【０１２１】
ロボットＥＣＵ５１は、ＣＰＵ、ＲＯＭ、ＲＡＭ等からなり、ロボット５０の電子制御ユニットである。ロボットＥＣＵ５１では、通常、第１遺伝子メモリ５３に記憶されている基本遺伝子１，２，・・・に基づいてロボット５０の動作を制御する。また、ロボットＥＣＵ５１では、ロボット５０の各部の故障を検出し、検出した故障に応じた故障対応遺伝子に切り替え、ロボット５０の行動を制御する。そして、ロボットＥＣＵ５１では、ロボット５０の行動の結果に基づいて遺伝子を評価し、遺伝子操作を行う。
【０１２２】
診断部５２は、カメラ２、赤外線センサ３、右輪用及び左輪用角度センサ４，５、右輪及び左輪アクチュエータ６，７の各部の故障を検出する。具体的には、しきい値θを用いて故障の可能性を検出した場合（詳しくは後述する）、ロボット５０の各部からのセンサ信号等に基づいて故障診断を行う。具体的には、この故障診断では、カメラ２やセンサ３，４，５のセンサ信号の値の上限及び下限を設定し、センサ信号の値が設定した上限以上又は下限以下となった場合に、そのセンサ信号を出力しているカメラ２やセンサ３，４，５が故障であると診断する。又は、センサ信号が全く入ってこない場合、そのカメラ２やセンサ３，４，５が故障であると診断する。これにより、カメラ２やセンサ３，４，５の停止や誤作動を検出することができる。また、この故障診断では、右輪用又は左輪用角度センサ４，５のセンサ信号と右輪又は左輪アクチュエータ６，７の制御信号に基づいて、その結果が整合しない場合（例えば、制御信号を出力したがアクチュエータが作動せず、角度変化が検出されない場合や、制御信号を出力していないがアクチュエータが作動して、角度変化が検出される場合）、右輪又は左輪アクチュエータ６，７が故障であると診断する。そして、診断部５２では、この故障診断の結果から故障であると診断された各部の故障情報を切替部５５に出力する。なお、第４及び後述する第５の実施の形態に係るロボット５０，８０では、単一の故障のみを診断部５２により検出する場合を想定している。
【０１２３】
また、診断部５２では、進化システム部１５からロボット５０が行動した結果の評価である行動評価値（Ｆ）の時間変化（例えば、前回の時間ｔ１における行動評価値Ｆｔ１と今回の時間ｔ２における行動評価値Ｆｔ２との時間変化はＦｔ２−Ｆｔ１となる）に基づいて、故障の可能性を検出する。通常、進化過程では、ロボット５０は進化システム部１５において遺伝子操作を行うことで周囲の環境に対してより適切な行動を行うようになり、行動評価値は時間と共に上昇した後に飽和する（図１０中のＡ参照）。従って、その時間変化（Ｆｔ２−Ｆｔ１）が大幅に低下して負の値となるような場合（図１０中のＢ参照）には、ロボット５０が故障している可能性が高い。そこで、しきい値θを用いて、時間変化（Ｆｔ２−Ｆｔ１）としきい値θとを比較することにより、ロボット５０の故障の可能性を検出する。このしきい値θは、負の値であり、通常ロボット５０が進化していく過程では想定不能な行動評価値Ｆの大幅な下落を検出できる値である。また、しきい値θの値の大きさを変更することで、故障の可能性を検出する精度を変更することができる。
【０１２４】
第１遺伝子メモリ５３は、ロボット５０の行動を制御するために必要な遺伝子である基本遺伝子１，２，・・・を記憶するためのメモリである。これらの基本遺伝子１，２，・・・では、対応するロボット５０の各部を制御し動作させることにより、ロボット５０の行動を定める。例えば、基本遺伝子１はカメラ２を制御し、基本遺伝子２は赤外線センサ３を制御する。なお、これらの基本遺伝子１，２，・・・は、全く進化させていない初期の状態であってもよいし、あるいは、第１〜第３の実施の形態のように予め想定される周囲の環境に応じて進化させた状態であってもよい。
【０１２５】
第２遺伝子メモリ５４は、故障情報１，２，・・・とそれらの故障情報に対応する故障対応遺伝子１，２，・・・とからなる遺伝子対１，２，・・・を記憶するためのメモリである。故障情報１，２・・・は、ロボット５０の各部における故障箇所を表す情報であり、例えば、故障情報１はカメラ２の故障を示し、故障情報２は赤外線センサ３の故障を示す。また、故障対応遺伝子１，２，・・・は、各部がそれぞれ故障により作動しない仮想的なロボットを外部の計算機等においてシミュレーションにより行動させ、遺伝子操作により予め進化させた遺伝子である。例えば、故障対応遺伝子１は、カメラ２の故障を想定した遺伝子であって、カメラ２から送信される画像信号がない状況のもとで、他の赤外線センサ３，・・・や右輪又は左輪用角度センサ４，５等からの入力信号のみを用いて仮想的なロボットを行動させることで得られる。なお、第２遺伝子メモリ５４では、全ての故障に対応する遺伝子対を記憶していてもよいし、メモリの節約のため、故障の発生頻度や故障がロボット５０に与える影響の大きさといった価値の高い故障に対応する故障対応遺伝子を含む遺伝子対のみを記憶していてもよい。
【０１２６】
切替部５５は、第２遺伝子メモリ５４に指示して、診断部５２により検出された故障に応じた故障対応遺伝子を第２遺伝子メモリ５４から第１遺伝子メモリ５３の該当する基本遺伝子に上書きする。つまり、切替部５５では、第２遺伝子メモリ５４に記憶されている遺伝子対の各故障情報１，２，・・・を参照して診断部５２からの故障情報と一致する故障情報を検索する。そして、切替部５５では、検索により故障情報が一致した遺伝子対の故障対応遺伝子を、第２遺伝子５４メモリから第１遺伝子メモリ５３の故障箇所を制御している基本遺伝子に上書きして複製する。例えば、診断部５２がカメラ２を故障と診断して故障情報１を切替部５５に出力した場合、切替部５５は、遺伝子対のうち故障情報１と一致する遺伝子対１を検索する。そして、切替部５５は、遺伝子対１の故障対応遺伝子１を、第１遺伝子メモリ５４のカメラ２を制御している基本遺伝子１に上書きし、基本遺伝子１から故障対応遺伝子１へと切り替える。切替部５５では、どの故障対応遺伝子に切り替えたかの情報をロボット制御部１４及び進化システム部１５に出力する。
【０１２７】
ロボット制御部１４では、第１遺伝子メモリ５３に記憶されている基本遺伝子又は基本遺伝子と切替部５５で切り替えた故障対応遺伝子とに基づいてロボット５０の行動を制御する。具体的には、基本遺伝子のみに基づいてロボット５０を制御する場合、カメラ２や各種センサ３，４，５等からの全ての信号を用いてロボット５０を行動させるための右輪用及び左輪用制御信号を設定する。一方、基本遺伝子及び故障対応遺伝子とに基づいてロボット５０を制御する場合、その故障対応遺伝子が想定している故障箇所が右輪又は左輪アクチュエータ６，７のときにはロボット５０をその場で停止させるための各制御信号を設定し、故障箇所がそれ以外のときにはその故障箇所からの信号を無視してロボット５０を行動させるための各制御信号を設定する。
【０１２８】
そして、ロボット５０は、第１遺伝子メモリ５３の基本遺伝子群及び切り替えられた故障対応遺伝子を用いてロボット制御部１４により行動を行い、その行動の結果に応じて進化システム部１５が第１遺伝子メモリ５３における各遺伝子の遺伝子操作を行う。
【０１２９】
図９を参照して、ロボット５０における動作を説明する。ロボット５０は第４の実施の形態においても第１の実施の形態に係るロボット１と同様の動作を行うが、第４の実施の形態に係るロボット５０は各部の故障を検出し、基本遺伝子から検出した故障に対応する故障対応遺伝子に切り替える点で異なる。そのため、特にロボットＥＣＵ５１における故障診断の処理について、図１１のフローチャートに沿って説明する。なお、図１１では、ステップをＳと略記している。
【０１３０】
ロボットＥＣＵ５１では、行動評価値の時間変化（Ｆｔ２−Ｆｔ１）を計算する（Ｓ４１）。
【０１３１】
ロボットＥＣＵ５１では、Ｓ４１で計算した行動評価値Ｆの時間変化（Ｆｔ２−Ｆｔ１）としきい値θとを比較し、時間変化（Ｆｔ２−Ｆｔ１）がしきい値θよりも小さいか否かを判定する（Ｓ４２）。そして、ロボットＥＣＵ５１では、故障検出を行わずに、Ｓ４２でしきい値θ以上であると判定した場合には、Ｓ４６の処理に移行する。
【０１３２】
ロボットＥＣＵ５１では、Ｓ４２でしきい値θよりも小さいと判定した場合には、ロボット５０に故障が発生した可能性があるので、診断部５２におけるロボット５０の故障検出を行う（Ｓ４３）。
【０１３３】
ロボットＥＣＵ５１では、Ｓ４３で行った故障検出により故障を検出したか否かを判定する（Ｓ４４）。そして、ロボットＥＣＵ５１では、Ｓ４４で故障を検出していないと判定した場合には、Ｓ４６の処理に移行する。
【０１３４】
ロボットＥＣＵ５１では、Ｓ４４で故障を検出したと判定した場合には、診断部５２により検出した故障に応じた故障情報を切替部５５に送信し、切替部５５により基本遺伝子から故障情報に対応する故障対応遺伝子に切り替える（Ｓ４５）。
【０１３５】
そして、ロボット５０では、図４のＳ７〜Ｓ９と同様の処理により、ロボットを制御し（Ｓ４６）、ロボットの制御結果を評価して（Ｓ４７）、その制御結果に基づいて遺伝子操作を行う（Ｓ４８）。そして、ロボット５０は、以上のＳ４１〜Ｓ４８の処理を繰り返して行い、故障の診断処理を行いつつ、ロボット５０の各部が故障した場合でも故障に対応して進化する。
【０１３６】
このロボット５０によれば、故障が発生した場合でも故障対応遺伝子により適切な行動を行うことができるので、故障が発生することにより不安定な動作となる時間を大幅に短縮することができる。また、このロボット５０では、しきい値θを用いて故障検出を行うか否かを判断し、故障の可能性がある場合のみ故障検出を行うので、常に故障検出を行う必要がない。そのため、ロボット５０では、計算資源を有効に活用することができ、処理負荷の軽減を図ることができる。
【０１３７】
さらに、このロボット５０では、第１遺伝子メモリ５３に上書きした故障対応遺伝子を第１遺伝子メモリに備えられている基本遺伝子と共に遺伝子操作を行うことにより、他の遺伝子の優れた特徴を保持したまま故障に対応することができる。
【０１３８】
次に、図９、図１２及び図１３を参照して、第５の実施の形態に係る通信ロボットシステム６０の構成について説明する。図１２は、第５の実施の形態に係る通信ロボットシステムの構成図である。図１３は、第５の実施の形態に係る計算機が記憶している故障リストを表す図である。この通信ロボットシステム６０は、計算機７０及び多数のロボット８０，・・・から成り、計算機７０と各ロボット８０，・・・とが相互にデータ通信可能なシステムである。計算機７０は第３の実施の形態に係る通信ロボットシステムにおける計算機３０と基本的な構成は同じであるが、計算機７０の内部で行われる処理が異なる。また、ロボット８０は、第４の実施の形態に係るロボット５０と基本的な構成は同じであるが、計算機７０と通信を行う機能も有している。そのため、ロボットＥＣＵ５１での処理等が異なる。そこで、第５の実施の形態では、計算機７０については第３の実施の形態に係る計算機３０と異なる点のみを説明し、ロボット８０については第４の実施の形態に係るロボット５０と異なる点のみを説明する。なお、図１２には、ロボット８０が３台しか存在しないが、実際には図示しない多数のロボット８０が存在する。
【０１３９】
計算機７０では、シミュレーションによりロボットの各部の故障に応じて予め高速に遺伝子を進化させて、故障対応遺伝子を生成する。そして、計算機７０では、故障箇所を示す故障情報と、故障対応遺伝子と、その故障の発生確率（初期の状態では０）とをそれぞれ対応させ、それらを故障発生確率が高い順に並べた故障リストを記憶している（図１３参照）。なお、計算機７０でのシミュレーションについても、第１の実施の形態におけるシミュレーションと同様であるため、その説明を省略する。
【０１４０】
計算機７０では、通信装置３１によりロボット８０の故障箇所を示す故障情報ＦＩをロボット８０から受信すると、故障発生確率を計算する。そして、計算機７０では、故障発生確率の高い順に並び替え、故障リストを更新する。なお、各遺伝子対に対する故障発生確率は、全てのロボット８０，・・・からの故障情報に基づくものであり、全ての故障の総数に対するロボット８０の各部の故障が起こる可能性の割合である。そのため、故障発生確率は、通信ロボットシステム６０におけるロボット８０が多いほど精度が高いものとなる。
【０１４１】
また、計算機７０では、通信装置３１によりロボット８０から故障情報ＦＩと共にその故障に対応する遺伝子対の送信要求ＲＴＳ１を受信すると、故障リストを検索してロボット８０からの故障情報ＦＩと一致する故障情報を検索する。そして、計算機７０では、通信装置３１により検索で故障情報が一致した遺伝子対ＰＧをロボット８０に送信する。
【０１４２】
また、計算機７０では、ロボット８０から故障リストに対する更新情報ＵＩの送信要求ＲＴＳ２があった場合あるいは故障リストが更新される毎に、通信装置３１によりロボット８０に対して更新情報ＵＩを送信する。更新情報ＵＩは、例えば、故障リストにおける故障発生確率が上位３つの遺伝子対とその故障リストにおける並び順の情報である。
【０１４３】
このとき、計算機７０は、更新情報ＵＩを受信したロボット８０に対して課金処理を行う。課金処理は、例えば、更新情報ＵＩを受信したロボット８０の所有者の口座等から料金を引き落とすことによって行う。
【０１４４】
また、計算機７０では、故障情報ＦＩを計算機７０に対して送信したロボット８０に対して納金処理を行う。納金処理は、例えば、故障情報ＦＩを送信したロボット８０の所有者の口座等に料金を振り込むことによって行う。
【０１４５】
なお、第５の実施の形態では、計算機７０が特許請求の範囲に記載する更新手段、課金処理手段及び納金処理手段に相当する。
【０１４６】
次に、ロボット８０について説明する。このロボット８０は、第４実施形態に係るロボット５０と同様の機能を有している。特に、ロボット８０では、計算機７０と通信を行うことができ、計算機７０から遺伝子対ＰＧ又は更新情報ＵＩを取得することができる。そのため、ロボット８０は、通信装置４１を備えている。
【０１４７】
ロボットＥＣＵ５１では、診断部５２によりロボット８０の各部の故障を検出した場合、通信装置４１により故障情報ＦＩを計算機７０に送信する。
【０１４８】
また、ロボットＥＣＵ５１では、診断部５２により検出した故障情報に対応する故障対応遺伝子を含む遺伝子対を第２遺伝子メモリ５４が記憶していない場合、通信装置４１により計算機７０に対して故障情報に対応する遺伝子対ＰＧの送信要求ＲＴＳ１を行う。そして、ロボットＥＣＵ５１では、通信装置４１により計算機７０から遺伝子対ＰＧを受信した場合、受信した遺伝子対ＰＧを第２遺伝子メモリ５４に記憶させる。
【０１４９】
さらに、ロボットＥＣＵ５１では、一定時間毎又は不定期に、通信装置４１により計算機７０に対して更新情報ＵＩの送信要求ＲＴＳ２を行う。そして、ロボットＥＣＵ５１では、通信装置４１により計算機７０から更新情報ＵＩを受信した場合、受信した更新情報ＵＩによりを第２遺伝子メモリ５４の遺伝子対を更新する。この際、更新情報ＵＩでの遺伝子対の並び順と同じ順番で第２遺伝子メモリ５４を上書きする。
【０１５０】
図９、図１２及び図１３を参照して、通信ロボットシステム６０の計算機７０及びロボット８０における動作を説明する。ロボット８０は、この通信ロボットシステム６０においても、第４の実施の形態に係るロボット５０と同様の動作を行う。この際、計算機７０における動作については図１４及び図１５のフローチャートに沿って説明し、ロボット８０における動作については図１６及び図１７に沿って説明する。図１４は、第５の実施の形態に係る計算機における故障情報ＦＩを受信する場合の動作を示すフローチャートである。図１５は、第５の実施の形態に係る計算機における更新情報ＵＩを送信する場合の動作を示すフローチャートである。図１６は、第５の実施の形態に係るロボットにおける故障の可能性を検出した場合の動作を示すフローチャートである。図１７は、第５の実施の形態に係るロボットにおける更新情報ＵＩの要求を行う場合の動作を示すフローチャートである。なお、図１４〜１７では、ステップをＳと略記している。
【０１５１】
図１４に沿って、計算機７０がロボット８０から故障情報ＦＩを受信する場合の計算機７０における動作について説明する。計算機７０では、ロボット８０から故障情報ＦＩを受信したか否かを判定する（Ｓ５１）。計算機７０では、Ｓ５１で故障情報ＦＩを受信していないと判定すると、再びＳ５１に戻って判定を行い、故障情報ＦＩの受信を待ちつづける待ち状態となる。
【０１５２】
計算機７０では、Ｓ５１で故障情報ＦＩを受信したと判定した場合、ロボット８０から遺伝子対ＰＧの送信要求ＲＴＳ１があったか否かを判定する（Ｓ５２）。そして、計算機７０では、Ｓ５２で送信要求ＲＴＳ１がなかったと判定すると、Ｓ５５の処理に移行する。
【０１５３】
計算機７０では、Ｓ５２で送信要求ＲＴＳ１があったと判定した場合、ロボット８０から送信された故障情報ＦＩに対応する遺伝子対ＰＧを故障リストから抽出する（Ｓ５３）。そして、計算機７０では、通信装置３１によりＳ５３で抽出した遺伝子対ＰＧをロボット８０に送信する（Ｓ５４）。
【０１５４】
続いて、計算機７０では、通信装置３１によりロボット８０から受信した故障情報ＦＩに基づいて、ロボット８０の各部における故障発生確率を計算する（Ｓ５５）。そして、計算機７０では、Ｓ５５で計算した故障発生確率に基づいて、故障発生確率の高い順に遺伝子対を並べ替え、故障リストを更新する（Ｓ５６）。さらに、計算機７０では、故障情報ＦＩを送信したロボット８０に対して納金処理を行い（Ｓ５７）、処理を終了する。
【０１５５】
図１５に沿って、計算機７０がロボット８０に更新情報ＵＩを送信する場合の計算機７０における動作について説明する。
【０１５６】
計算機７０では、ロボット８０から更新情報ＵＩの送信要求ＲＴＳ２があったか否かを判定する（Ｓ６１）。そして、計算機７０では、Ｓ６１で送信要求ＲＴＳ２がなかったと判定すると、再びＳ６１に戻って判定を行い、送信要求ＲＴＳ２を待ちつづける待ち状態となる。
【０１５７】
計算機７０では、Ｓ６１で送信要求ＲＴＳ２があったと判定すると、通信装置３１により更新情報ＵＩをロボット８０に送信する（Ｓ６２）。続いて、計算機７０では、更新情報ＵＩを受信したロボット８０に対して課金処理を行い（Ｓ６３）、処理を終了する。
【０１５８】
なお、計算機７０は、故障リストが前回ロボット８０に更新情報ＵＩを送信してから更新されていない場合には、ロボット８０から送信要求ＲＴＳ２があっても更新情報を送信しなくてもよく、このときは課金処理も行わなくてよい。
【０１５９】
図１６に沿って、診断部５２により故障の可能性を検出した場合のロボット８０での動作について説明する。ロボットＥＣＵ５１では、診断部５２により故障検出を行う（Ｓ７１）。
【０１６０】
ロボットＥＣＵ５１では、Ｓ７１で行った故障検出で故障箇所を検出した場合、通信装置４１によりその故障箇所を示す故障情報ＦＩを計算機７０に送信する（Ｓ７２）。
【０１６１】
ロボットＥＣＵ５１では、検出した故障に対応する故障対応遺伝子を含む遺伝子対が第２遺伝子メモリ５４に記憶されているか否かを判定する（Ｓ７３）。そして、ロボットＥＣＵ５１では、Ｓ７３で故障対応遺伝子が記憶されていると判定した場合、Ｓ７７の処理に移行する。
【０１６２】
ロボットＥＣＵ５１では、Ｓ７３で故障対応遺伝子が記憶されていないと判定した場合、通信装置４１により検出した故障に対応する故障対応遺伝子を含む遺伝子対ＰＧを要求する送信要求ＲＴＳ１を計算機７０に送信する（Ｓ７４）。そして、ロボットＥＣＵ５１では、通信装置４１により送信要求ＲＴＳ１に応じた遺伝子対ＰＧを計算機７０から受信したか否かを判定する（Ｓ７５）。ロボットＥＣＵ５１では、Ｓ７５で遺伝子対ＰＧを受信していないと判定した場合、再びＳ７５に戻って判定を行い、遺伝子対ＰＧの受信を待ち続ける待ち状態となる。
【０１６３】
ロボットＥＣＵ５１では、Ｓ７５で遺伝子対ＰＧを受信したと判定した場合、受信した遺伝子対ＰＧを第２遺伝子メモリ５４に記憶させ、第２遺伝子メモリ５４を更新する（Ｓ７６）。このとき、ロボットＥＣＵ５１は、受信した遺伝子対ＰＧにより、第２遺伝子メモリ５４に並べられて記憶されている遺伝子対のうち一番下の遺伝子対を上書きすると、価値の高い遺伝子対を保持しつつ新たな故障に対応できる。
【０１６４】
そして、ロボットＥＣＵ５１では、既に第２遺伝子メモリ５４に記憶されている遺伝子対又は計算機７０から送信された遺伝子対を用いて、Ｓ７１で検出した故障に対応する故障対応遺伝子を第１遺伝子メモリ５３に上書きし切り替える（Ｓ７７）。
【０１６５】
続いて、ロボットＥＣＵ５１では、図１１のＳ４６〜Ｓ４８と同様の処理により、ロボットを制御し（Ｓ７８）、ロボットの制御結果を評価して（Ｓ７９）、その制御結果に基づいて遺伝子操作を行う（Ｓ８０）。
【０１６６】
また、図１７に沿って、更新情報ＵＩの要求を行う場合のロボット８０での動作について説明する。ロボットＥＣＵ５１では、一定時間毎又は不定期に、通信装置４１により計算機７０に更新情報ＵＩの送信要求ＲＴＳ２を行う（Ｓ８１）。
【０１６７】
ロボットＥＣＵ５１では、通信装置４１により更新情報ＵＩを計算機７０から受信したか否かを判定する（Ｓ８２）。そして、ロボットＥＣＵ５１では、Ｓ８２で更新情報ＵＩを受信していないと判定した場合、再びＳ８２に戻って判定を行い、更新情報ＵＩの受信を待ち続ける待ち状態となる。
【０１６８】
一方、ロボットＥＣＵ５１では、Ｓ８２で更新情報ＵＩを受信したと判定した場合、受診した更新情報ＵＩに含まれる遺伝子対の並び順と同じ順番で第２遺伝子メモリ５４に上書きし、第２遺伝子メモリ５４を更新する（Ｓ８３）。
【０１６９】
通信ロボットシステム６０によれば、計算機７０は、多数のロボット８０から送信される故障情報により得られる故障発生確率に基づいて故障リストの遺伝子対を動的に並べ替えるので、実際の故障の発生に基づく精度の高い統計情報を得ることができる。また、この通信ロボットシステム６０によれば、ロボット８０は、更新情報を受信して第２遺伝子メモリ５４を更新するので、発生確率の高い故障に対して即時に対応することができる。
【０１７０】
また、通信ロボットシステム６０によれば、計算機７０では、更新情報を計算機７０から受信したロボット８０に対して課金するので、故障対応遺伝子の提供ビジネスを行うことができる。さらに、計算機７０では、故障情報を計算機７０に送信したロボット８０に対して納金するので、多数のロボット８０から故障情報を得ることが期待できると共に、多数のロボット８０から得た故障情報に基づいて精度の高い故障リストを生成することができる。
【０１７１】
また、通信ロボットシステム６０によれば、ロボット８０は、第２遺伝子メモリ５４に故障発生確率の高い遺伝子対のみを記憶し、記憶されていない故障が発生した場合には計算機７０に対して遺伝子対の送信要求をするため、遺伝子対を記憶するためのメモリを節約することができると共に、故障が発生した場合にも高確率で素早く故障に対応することができる。
【０１７２】
以上、本発明に係る実施の形態について説明したが、本発明は上記実施の形態に限定されることなく様々な形態で実施される。
【０１７３】
例えば、第１〜３の実施の形態では障害物の数や配置が異なる環境条件の環境や照明条件の異なる環境条件の環境に適応するためのロボットに適用したが、様々な災害条件の異なる環境に適応するための災害ロボットやじゅうたん、畳、フローリング等の掃除条件が異なる環境に適応するためのお掃除ロボット等の他のロボットにも適用可能である。
【０１７４】
また、第１〜３の実施の形態では周囲の環境を検出するための手段としてカメラ及び赤外線センサを備える構成としたが、２次元視覚センサ等の他の検出手段を備える構成としてもよい。
【０１７５】
また、第１〜３の実施の形態では環境条件に応じた遺伝子として複数の遺伝子をグループ化した遺伝子グループで構成したが、複数の遺伝子をグループ化しない構成としてもよく、また、環境条件に応じた遺伝子を複数でなく単一の遺伝子で構成してもよい。
【０１７６】
また、第１〜３の実施の形態ではロボットはデフォルト遺伝子を備える構成としたが、ロボットが未知の環境に置かれることがない場合にはデフォルト遺伝子を備えない構成としてもよい。
【０１７７】
また、第１〜第３の実施の形態ではロボットはカメラ及び赤外線センサからの各信号に基づいて環境条件を識別する環境入力識別部を備える構成としたが、センサの検出値等から環境条件を直接識別できる場合（例えば、照度センサで検出した照度から周囲の明るさを直接識別できる場合）には環境入力識別部を備えない構成としてもよい。
【０１７８】
また、第１〜第３の実施の形態ではロボットは行動を行った結果により遺伝子を評価して進化させる進化システム部を備える構成としたが、進化システム部を備えず遺伝子を進化させない構成としてもよい。このような場合でも、ロボットは、予め進化させた遺伝子を備えているため、ある程度周囲の環境に適応できる。
【０１７９】
また、第３の実施の形態ではロボットは複数の遺伝子グループ及び固定遺伝子を備える構成としたが、ロボットがこれらの遺伝子グループ等を備えず、ロボットが検出した観測データの環境に応じた遺伝子グループを計算機から常に取得する構成としてもよい。
【０１８０】
また、第３の実施の形態では計算機は想定される複数の環境についてそれぞれ学習させた複数の遺伝子グループを予め備える構成としたが、計算機がこれらの遺伝子グループを備えず、ロボットから観測データを受信した場合には常にシミュレーションでその観測データに応じた遺伝子グループを生成する構成としてもよい。
【０１８１】
また、第３の実施の形態では通信ロボットシステムをシミュレーションにより遺伝子を生成できる計算機で構成したが、シミュレーションにより遺伝子を生成する機能を備えず、他の計算機で生成した遺伝子グループを内部に記憶し、少なくとも通信機能を備える装置で構成してもよい。
【０１８２】
また、第３及び第５の実施の形態ではロボットと計算機とで無線により相互に通信を行う構成としたが、有線によりロボットと計算機とを直接接続して通信を行う構成としてもよい。
【０１８３】
また、第４の実施の形態では診断部によりしきい値を用いて故障の可能性を検出した後に故障診断を行う構成としたが、故障の可能性を検出することなく常に故障診断を行う構成としてもよい。
【０１８４】
また、第４の実施の形態では第２遺伝子メモリに遺伝子対を備える構成としたが、故障の価値が高い順に遺伝子対を並び替えた状態で遺伝子対を備える構成としてもよい。
【０１８５】
また、第４及び第５の実施の形態ではロボットは診断部により単一の故障のみを検出する構成としたが、複数の故障を検出してそれらの故障に対応する構成としてもよい
また、第５の実施の形態では計算機がロボットから送信要求があった場合に更新情報を送信する構成としたが、故障リストそのものを送信する構成としてもよい。
【０１８６】
また、第５の実施の形態では診断部で検出した故障に対応する故障対応遺伝子を含む遺伝子対が第２遺伝子メモリにない場合に計算機からその遺伝子対を受信する構成としたが、ロボットが第２遺伝子メモリ及び遺伝子対を備えず、故障の発生毎に故障情報を計算機に送信して故障に対応する故障対応遺伝子を含む遺伝子対を受信する構成としてもよい。
【０１８７】
また、第５の実施の形態では故障発生確率の高い順に遺伝子対を並べて故障リストを構成したが、故障によるロボット自身や周囲への影響の大きさ等の、他の故障の価値の高い順に遺伝子対を並べて故障リストを構成してもよい。
【０１８８】
また、本実施の形態ではロボットが物理的な実体を持ち物理的な環境に作用する構成としたが、エージェントのような物理的な実体のないソフトウェアが、ネットワークで接続された計算機システム内環境やシミュレーション環境で作用する構成としてもよい。
【図面の簡単な説明】
【０１８９】
【図１】本実施の形態に係るロボットの構成図である。
【図２】第１、第２及び第４の実施の形態に係るロボットの斜視図である。
【図３】第１の実施の形態に係る環境の例であり、（ａ）は障害物が少ない環境であり、（ｂ）は障害物が多い環境であり、（ｃ）は障害物がなく地面にオイルが撒かれた未知の環境である。
【図４】第１の実施の形態に係るロボットのロボットＥＣＵにおける処理の流れを示すフローチャートである。
【図５】第２の実施の形態に係るロボットのロボットＥＣＵにおける処理の流れを示すフローチャートである。
【図６】第３の実施の形態に係る通信ロボットシステムの構成図である。
【図７】第３の実施の形態に係る計算機における動作を示すフローチャートである。
【図８】第３の実施の形態に係るロボットにおける動作を示すフローチャートである。
【図９】第４の実施の形態に係るロボットの構成図である。
【図１０】ロボットの行動の行動評価値の変化を示す図である。
【図１１】第４の実施の形態に係るロボットにおける動作を示すフローチャートである。
【図１２】第５の実施の形態に係る通信ロボットシステムの構成図である。
【図１３】第５の実施形態に係る計算機が記憶している故障リストを表す図である。
【図１４】第５の実施の形態に係る計算機における故障情報を受信する場合の動作を示すフローチャートである。
【図１５】第５の実施の形態に係る計算機における更新情報を送信する場合の動作を示すフローチャートである。
【図１６】第５の実施の形態に係るロボットにおける故障の可能性を検出した場合の動作を示すフローチャートである。
【図１７】第５の実施の形態に係るロボットにおける更新情報の要求を行う場合の動作を示すフローチャートである。
【符号の説明】
【０１９０】
１，４０，５０，８０…ロボット、２…カメラ、３…赤外線センサ、４…右輪用角度センサ、５…左輪用角度センサ、６…右輪アクチュエータ、７…左輪アクチュエータ、８…右輪、９…左輪、１０，５１…ロボットＥＣＵ、１１…遺伝子メモリ、１１ａ，１１ｂ…遺伝子グループ、１１ｃ…デフォルト遺伝子、１２…環境入力識別部、１３…遺伝子グループ切替部、１４…ロボット制御部、１５…進化システム部、１６…ロボット本体、２０，６０…通信ロボットシステム、３０，７０…計算機、３１，４１…通信装置、５２…診断部、５３…第１遺伝子メモリ、５４…第２遺伝子メモリ、５５…切替部
【図１】
2006127047.tif 000003
【図２】
2006127047.tif 000004
【図３】
2006127047.tif 000005
【図４】
2006127047.tif 000006
【図５】
2006127047.tif 000007
【図６】
2006127047.tif 000008
【図７】
2006127047.tif 000009
【図８】
2006127047.tif 000010
【図９】
2006127047.tif 000011
【図１０】
2006127047.tif 000012
【図１１】
2006127047.tif 000013
【図１２】
2006127047.tif 000014
【図１３】
2006127047.tif 000015
【図１４】
2006127047.tif 000016
【図１５】
2006127047.tif 000017
【図１６】
2006127047.tif 000018
【図１７】
2006127047.tif 000019