説明

ロボット及び通信ロボットシステム

【課題】 早期に周囲の環境に適応することができるロボット及び通信ロボットシステムを提供することを課題とする。
【解決手段】 ロボット1に関する環境を検出する検出手段2,3と、予め想定される複数の環境に応じてそれぞれ学習させた複数の遺伝子11a,11bと、検出手段2,3で検出した環境に応じて複数の遺伝子11a,11bを切り替える切替手段13とを備え、切替手段13により切り替えた遺伝子に基づいて行動することを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、遺伝子に基づいて行動するロボット及び当該ロボットが外部の計算機と通信を行う通信ロボットシステムに関する。
【背景技術】
【0002】
内部に複数の遺伝子を備え、遺伝子に基づいて行動する自律進化型ロボットが開発されている(特許文献1参照)。自律進化型ロボットでは、遺伝子に基づいて行動した結果を評価し、評価の高い遺伝子を残し、評価の低い遺伝子を消去する。さらに、自律進化型ロボットでは、複数の親から遺伝子を受け継ぐ交叉や遺伝子の一部を変化させる突然変異によって新たな遺伝子を生成する。このようにして、自律進化型ロボットは、自律的に環境を学習して進化し、環境に適応していく。
【特許文献1】特開2001−142862号公報
【特許文献2】特開平9−81205号公報
【特許文献3】特開2003−1578号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、従来の自律進化型ロボットは、初期状態から進化して環境に適応するまでには、遺伝子の選択、交叉、突然変異という一連の遺伝子操作を繰り返し行わなければならない。そのため、多くの世代を必要とし、環境に適応するまでに時間を要する。
【0004】
また、従来の自律進化型ロボットは、センサやアクチュエータ等に故障が生じてロボットの内部的な環境が変化した場合、遺伝的アルゴリズムによりその環境に適応することは可能である。しかし、故障に関する情報のない初期状態から故障に適応するのには膨大な時間を要する。
【0005】
そこで、本発明は、早期に環境の変化に適応することができるロボット及び通信ロボットシステムを提供することを課題とする。
【課題を解決するための手段】
【0006】
本発明に係るロボットは、遺伝子に基づいて行動するロボットであって、ロボットに関する環境を検出する検出手段と、予め想定される複数の環境に応じてそれぞれ学習させた複数の遺伝子と、検出手段で検出した環境に応じて複数の遺伝子を切り替える切替手段とを備え、切替手段により切り替えた遺伝子に基づいて行動することを特徴とする。
【0007】
このロボットは、予め想定される複数の環境についてそれぞれ学習させた遺伝子を複数備えている。ロボットでは、検出手段によりロボットに関する環境を検出する。ロボットに関する環境は、ロボットのおかれている外部的な環境(例えば、ロボットの周囲の環境)やロボット自身の内部的な環境(例えば、ロボットの各部が故障した環境)である。そして、ロボットでは、切替手段により検出したこれらの環境と同様の環境のもとで予め学習させた遺伝子に切り替え、この切り替えた遺伝子に基づいて行動する。これにより、ロボットは、予め想定される環境のもとで進化させた遺伝子を用いて行動するので、適切な行動を行うことができ、早期に環境に適応することができる。また、遺伝子を初期状態から進化させた場合には有力な遺伝子が得られないまま初期収束により遺伝子が局所最適解に陥ることがあるが、予め進化させた遺伝子を用いているので、環境に適応した有力な遺伝子が得られ、局所最適解に陥ることはない。
【0008】
本発明の上記ロボットでは、検出手段では、ロボットの周囲の環境を検出し、複数の遺伝子は、ロボットの周囲の環境に応じてそれぞれ学習させた遺伝子である構成としてもよい。
【0009】
ロボットは、検出手段によりロボットの周囲の環境を検出する。また、ロボットは、ロボットの周囲の環境に応じてそれぞれ学習させた遺伝子を備えている。そのため、ロボットの周囲の環境が変化した場合でも、ロボットでは、切替手段により変化した周囲の環境に応じて学習させた遺伝子に切り替えることで、早期に周囲の環境に対応することができる。
【0010】
なお、ロボットの周囲の環境に応じて学習させた各遺伝子は、単一の遺伝子からなる場合もあれば、複数の遺伝子からなる場合もあり、複数の遺伝子からなる場合にはこの複数の遺伝子をグループ化して一つの遺伝子グループを構成する場合もある。
【0011】
本発明の上記ロボットでは、想定外の環境に対応するための固定遺伝子を備え、切替手段では、検出手段で検出した環境が想定外の環境の場合、固定遺伝子に切り替える構成としてもよい。
【0012】
ロボットは、予め想定されるロボットの周囲の環境について学習させた複数の遺伝子に加えて、想定外の環境に対応するための固定遺伝子を備えている。ロボットでは、検出手段で検出した環境が想定外の場合、切替手段により固定遺伝子に切り替え、固定遺伝子に基づいて行動する。固定遺伝子は、未知の環境に対応するための遺伝子であり、環境に関係なく定められた所定の行動をロボットに行わせる遺伝子である。例えば、固定遺伝子は、ロボット自身の破損や周囲の環境に悪影響を及ぼさないような行動や停止を行わせる遺伝子である。これにより、ロボットは、想定外の環境に置かれた場合でも、ロボットや周囲の環境に悪影響を及ぼすような行動を行わなくなる。
【0013】
本発明の上記ロボットでは、外部装置と通信するための通信手段を備え、検出手段で検出した環境が想定外の環境の場合、通信手段により、検出手段で検出した環境を外部装置に送信し、当該環境に応じて学習させた遺伝子を外部装置から受信し、切替手段では、固定遺伝子から受信した遺伝子に切り替え、当該受信した遺伝子に基づいて行動する構成としてもよい。
【0014】
ロボットでは、切替手段において固定遺伝子に切り替えた場合、通信手段により検出手段において検出した想定外の環境を外部装置に送信する。そして、ロボットでは、通信手段により送信した環境に応じて学習させた遺伝子を外部装置から受信する。さらに、ロボットでは、切替手段により固定遺伝子から受信した遺伝子に切り替える。そして、ロボットでは、その受信した遺伝子に基づいて想定外の環境に適応した行動を行う。これにより、ロボットは、想定外の環境に置かれた場合でも、一時的に固定遺伝子によって行動しつつ、外部装置から遺伝子を受信することで適切な行動を行うことができる。
【0015】
本発明の上記ロボットでは、ロボットは、ロボットが行動するために必要な基本遺伝子を備え、検出手段では、ロボットの各部の故障を検出し、複数の遺伝子は、ロボットの各部の故障に応じてそれぞれ学習させた遺伝子であり、切替手段では、検出手段で故障を検出した場合、基本遺伝子からその故障に対応する遺伝子に切り替える構成としてもよい。
【0016】
ロボットは、ロボットが行動するために必要な基本遺伝子に加えて、ロボットの各部の故障に応じてそれぞれ学習させた遺伝子を備えている。ロボットは、通常、この基本遺伝子を用いて行動を行う。また、ロボットでは、検出手段によりロボットの各部の動作が正常か否かを判断して各部の故障を検出する。さらに、ロボットでは、検出手段でロボットの故障を検出した場合、切替手段により基本遺伝子から検出した故障に対応する遺伝子に切り替える。これにより、ロボットは、検出手段で検出する環境がロボットの各部の故障である場合であっても、早期に故障に対応した行動をとることができると共に、故障によってロボットが不安定な動作となる期間を大幅に短縮することができる。
【0017】
本発明の上記ロボットでは、遺伝子に基づいてロボットが行動した結果を評価する行動評価手段を備え、行動評価手段による評価の時間的変化に基づいて検出手段で故障検出を行うか否かを判断する構成としてもよい。
【0018】
ロボットは、遺伝子に基づいてロボットが行動した結果を評価する行動評価手段を備えている。そして、ロボットでは、行動評価手段による評価の時間的変化に基づいて検出手段で故障検出を行うか否かを判断する。行動評価値は、通常ロボットが進化していく場合、時間と共に上昇した後に飽和する。そのため、行動評価値が大幅に低下するような場合には、ロボットのどこかに故障の可能性があると判断できる。これにより、ロボットは、故障の可能性がある場合にだけ故障の検出を行えばよく、検出手段において常に故障検出をする必要がないので、ロボットの処理負荷を軽減することができる。
【0019】
本発明の上記ロボットでは、ロボットの各部の故障とその故障に応じて学習させた遺伝子とからなる複数の遺伝子対で保持する構成としてもよい。
【0020】
ロボットは、ロボットの各部の故障とその故障に応じて学習させた遺伝子とを対応させた複数の遺伝子対で保持している。これにより、ロボットは、検出手段によりロボットの各部の故障を検出した場合、遺伝子対を参照してその故障に対応した遺伝子を素早く取り出すことができ、早期にロボットの各部の故障に対応することができる。
【0021】
本発明の上記ロボットでは、ロボットの各部の故障の価値に応じて複数の遺伝子対を並べたうち、価値の高い遺伝子対を保持する構成としてもよい。
【0022】
ロボットは、ロボットの各部の故障の価値に応じて複数の遺伝子を並べたうち、価値(例えば、故障の発生頻度や故障がロボットに与える影響の大きさ)の高い遺伝子対を保持している。これにより、ロボットは、遺伝子対を記憶するための記憶容量を節約することができると共に、故障が発生した場合にも高確率で素早く故障に対応することができる。
【0023】
本発明の上記ロボットでは、外部装置と通信するための通信手段を備え、検出手段で検出した故障に対応する遺伝子対を保持していない場合、通信手段により、検出した故障の情報を外部装置に送信し、その故障に対応する遺伝子対を外部装置から受信し、切替手段では、基本遺伝子から受信した遺伝子対の遺伝子に切り替え、その受信した遺伝子に基づいて行動する構成としてもよい。
【0024】
ロボットでは、検出手段で検出した故障に対応する遺伝子対を保持していない場合、通信手段により検出した故障の情報を外部装置に送信する。そして、ロボットでは、通信手段により送信した故障に対応する遺伝子対を外部装置から受信する。さらに、ロボットでは、切替手段により基本遺伝子から受信した遺伝子対の遺伝子に切り替える。そして、ロボットでは、その遺伝子に基づいて故障に対応する行動を行う。これにより、ロボットは、内部に故障に対応する遺伝子対を保持していない場合でも、外部装置から遺伝子対を受信することでその遺伝子対の遺伝子を用いることにより適切な行動を行うことができる。
【0025】
本発明に係る通信ロボットシステムは、遺伝子に基づいて行動するロボットが外部の計算機と通信を行う通信ロボットシステムであって、ロボットは、計算機と通信するためのロボット側通信手段と、ロボットに関する環境を検出する検出手段とを備え、計算機は、ロボットと通信するための計算機側通信手段を備え、ロボットでは、ロボット側通信手段により検出手段において検出した環境を計算機に送信し、計算機では、計算機側通信手段により、ロボットから送信された環境を受信し、その受信した環境に応じた遺伝子を前記ロボットに送信し、ロボットでは、ロボット側通信手段により計算機から送信された遺伝子を受信し、その受信した遺伝子に基づいて行動することを特徴とする。
【0026】
この通信ロボットシステムは、遺伝子に基づいて行動するロボットと、ロボットに関する環境に応じた遺伝子を備えている計算機とにより構成され、このロボットと計算機との間で通信を行うことができる。ロボットでは、検出手段によりロボットに関する環境を検出する。そして、ロボットでは、ロボット側通信手段によりその検出した環境を計算機に送信する。計算機では、計算機側通信手段により、検出手段において検出した環境を受信して、その受信した環境に応じた遺伝子をロボットに送信する。ロボットでは、ロボット側通信手段により計算機から送信された遺伝子を受信し、その受信した遺伝子に基づいて行動する。このように、ロボットは、外部の計算機と通信することでロボットの周囲の環境又はロボットの各部の故障といったロボットに関する環境に応じた遺伝子を備えることにより、それぞれの環境に応じた適切な行動を行うことができ、早期に周囲の環境に適応することができる。
【0027】
本発明の上記通信ロボットシステムでは、ロボットは、検出手段によりロボットの周囲の環境を検出し、計算機は、ロボットの周囲の環境に応じて学習させたロボットの遺伝子を生成する生成手段を備える構成としてもよい。
【0028】
ロボットでは、検出手段によりロボットの周囲の環境を検出する。また、計算機は、環境に応じて学習させたロボットの遺伝子を生成する生成手段を備えている。計算機では、計算機側通信手段により、検出手段において検出されたロボットの周囲の環境を受信し、生成手段によりその受信した環境に応じて生成した遺伝子をロボットに送信する。このように、ロボットは、検出手段で検出する環境がロボットの周囲の環境である場合に、外部の計算機で環境に応じて高速に進化させた遺伝子を取り入れることにより、周囲の環境に応じた適切な行動を行うことができ、早期に周囲の環境に適応することができる。
【0029】
本発明の上記通信ロボットシステムの計算機では、生成手段によりロボットから送信された環境に応じて学習させた遺伝子を生成する構成としてもよい。
【0030】
計算機では、計算機側通信手段によりロボットから周囲の環境を受信した場合、生成手段によりその受信した環境に応じて学習させた遺伝子を生成する。これにより、ロボットが検出した周囲の環境が想定外の環境であり、その検出した周囲の環境に応じた遺伝子を計算機が備えていない場合でも、計算機によりその想定外の環境に応じて学習させた遺伝子を高速に生成し、早期に想定外の環境に適応することができる。
【0031】
また、本発明の上記通信ロボットシステムの計算機では、生成手段により想定されるロボットの周囲の環境に応じて学習させた遺伝子を予め生成する構成としてもよい。
【0032】
計算機では、生成手段によりロボットが行動すると想定される環境に応じて予め遺伝子を生成している。このように、計算機で予め遺伝子を生成しておくことにより、ロボットが周囲の環境を計算機に送信してきた場合でも、その環境に応じた遺伝子を即時にロボットに送信することができ、ロボットは早期に周囲の環境に適応することができる。
【0033】
本発明の上記通信ロボットシステムでは、ロボットは、予め想定される複数の環境に応じてそれぞれ学習させた複数の遺伝子と、想定外の環境に対応するための固定遺伝子と、検出手段で検出した環境に応じて複数の遺伝子を切り替える切替手段とを備え、検出手段で検出した環境が想定外の環境の場合、ロボットでは、切替手段により固定遺伝子に切り替え、その固定遺伝子に基づいて行動し、ロボット側通信手段により検出手段で検出した環境を計算機に送信し、計算機では、計算機側通信手段により、ロボットから送信された環境を受信し、当該受信した環境に応じた遺伝子をロボットに送信し、ロボットでは、ロボット側通信手段により計算機から送信された遺伝子を受信し、切替手段により固定遺伝子からその受信した遺伝子に切り替え、その受信した遺伝子に基づいて行動する構成としてもよい。
【0034】
ロボットは、予め想定される複数の周囲の環境についてそれぞれ学習させた複数の遺伝子及び想定外の環境に対応するための固定遺伝子を備えている。ロボットでは、検出手段によりロボットの周囲の環境を検出する。そして、ロボットでは、検出した環境に応じた遺伝子を備えている場合、切替手段により検出した環境に応じた遺伝子に切り替え、検出した環境に適応した行動を行う。一方、ロボットでは、検出した環境に応じた遺伝子を備えていない場合(すなわち、想定外の環境の場合)、切替手段により固定遺伝子に切り替え、固定遺伝子に基づいて行動するとともに、ロボット側通信手段により検出した環境を計算機に送信する。計算機では、計算機側通信手段により、その環境を受信し、その受信した環境に応じた遺伝子をロボットに送信する。ロボットでは、ロボット側通信手段によりその遺伝子を受信する。そして、ロボットでは、切替手段により固定遺伝子から受信した遺伝子に切り替え、その受信した遺伝子に基づいて想定外の環境に適応した行動を行う。これにより、ロボットは、周囲の環境に応じた遺伝子を備えている場合には、その遺伝子に基づいて行動し、早期に周囲の環境に適応することができる。また、ロボットは、周囲の環境に応じた遺伝子を備えていない場合には、固定遺伝子に基づいて行動することによりロボット自身の破損や周囲の環境に悪影響を及ぼすような行動を行わないとともに、計算機で環境に応じて高速に進化させた遺伝子を取り入れることにより早期に周囲の環境に適応することができる。
【0035】
本発明の上記通信ロボットシステムでは、ロボットは、検出手段によりロボットの各部の故障を検出し、ロボット側通信手段により検出手段で検出した故障の情報を計算機に送信し、計算機は、ロボットの各部の故障とその故障に応じて学習させた遺伝子とを対応させた複数の遺伝子対と、ロボット側通信手段により送信された故障の情報に基づいて複数の遺伝子対を並べる更新手段とを備える構成としてもよい。
【0036】
ロボットは、検出手段によりロボットの各部の故障を検出し、ロボット側通信手段により検出手段で検出した故障の情報を計算機に送信する。計算機は、故障とその故障に応じて学習させた遺伝子とからなる複数の遺伝子対を備えている。また、計算機は、更新手段によりロボット側通信手段が送信した故障の情報に基づいて複数の遺伝子対を並べる。これにより、計算機は、ロボットから送信される故障の情報に基づいて複数の遺伝子対を動的に並べることにより、実際の故障の発生に基づく精度の高い統計情報を生成することができる。
【0037】
本発明の上記通信ロボットシステムの計算機では、更新手段により更新された複数の遺伝子対の情報のうち、一部又は全部を計算機側通信手段によりロボットに送信する構成としてもよい。
【0038】
計算機では、更新手段により更新された複数の遺伝子対の情報のうち、一部又は全部を計算機側通信手段によりロボットに送信する。これにより、ロボットは、更新された遺伝子対の一部又は全部を受信するので、複数の遺伝子対を動的に入れ替えることができ、価値の高い故障に対して即時に対応することができる。
【0039】
本発明の上記通信ロボットシステムの計算機では、計算機側通信手段により遺伝子対の情報をロボットに送信した場合、そのロボットに対して課金処理を行う課金処理手段を備える構成としてもよい。
【0040】
計算機では、計算機側通信手段により遺伝子対の情報をロボットに送信した場合、そのロボットに対して課金処理を行う。これにより、故障対応遺伝子の提供ビジネスを行うことができる。
【0041】
また、本発明の上記通信ロボットシステムの計算機では、計算機側通信手段により故障の情報をロボットから受信した場合、そのロボットに対して納金処理を行う納金処理手段を備える構成としてもよい。
【0042】
計算機では、計算機側通信手段により故障の情報をロボットから受信した場合、そのロボットに対して納金処理を行う。これにより、多数のロボットから故障情報を得ることが期待できると共に、多数のロボットから得た故障情報に基づいて、より精度の高い統計情報を生成することができる。
【発明の効果】
【0043】
本発明によれば、環境に応じて予め学習させた遺伝子を用いることにより、ロボットが早期に環境の変化に適応することができる。
【発明を実施するための最良の形態】
【0044】
以下、図面を参照して、本発明に係るロボット及び通信ロボットシステムの実施の形態を説明する。
【0045】
本実施の形態では、本発明を、環境に応じて遺伝子を進化させ、環境に適応する自律進化型のロボット及びそのロボットと計算機からなる通信ロボットシステムに適用する。本実施の形態に係るロボットは、複数の遺伝子を遺伝子メモリに備え、ロボットに関する環境に応じて遺伝子を切り替えて行動する。本実施の形態に係る通信ロボットシステムは、ロボットと計算機間で通信を行い、ロボットが計算機から環境に応じた遺伝子を取得する。本実施の形態には、5つの形態があり、第1の実施の形態はロボットの周囲における所定の環境に適用した場合のロボットであり、第2の実施の形態はロボットの周囲における他の環境に適用した場合のロボットであり、第3の実施の形態はロボットの周囲の環境に対してロボットが適応する通信ロボットシステムである。また、第4の実施の形態はロボットが故障した環境に適用した場合のロボットであり、第5の実施の形態はロボットが故障した環境に対して適応する通信ロボットシステムである。
【0046】
図1〜図3を参照して、第1の実施の形態に係るロボットの構成について説明する。図1は、本実施の形態に係るロボットの構成図である。図2は、第1及び後述する第2、第4の実施の形態に係るロボットの斜視図である。図3は、第1の実施の形態に係る環境の例であり、(a)は障害物が少ない環境であり、(b)は障害物が多い環境であり、(c)は障害物がなく地面にオイルが撒かれた未知の環境である。
【0047】
ロボット1は、グループ化した遺伝子グループを遺伝子メモリに複数備え、周囲の環境に応じて各遺伝子グループを切り替えて行動する。また、ロボット1は、遺伝子グループに加えデフォルト遺伝子を備え、想定外の環境の場合にはデフォルト遺伝子に切り替えて行動する。
【0048】
また、ロボット1は、周囲の環境を検出し、その検出した環境を識別する。そして、ロボット1は、識別した環境に応じた遺伝子グループを選択し、その遺伝子グループに基づいて行動を行う。さらに、ロボット1は、この行動の結果を評価し、その評価結果に応じて遺伝子操作を行い遺伝子を更に進化させる。そのために、ロボット1は、カメラ2、多数個の赤外線センサ3,・・・、右輪用角度センサ4、左輪用角度センサ5、右輪アクチュエータ6、左輪アクチュエータ7、右輪8、左輪9及びロボットECU(Electronic Control Unit)10を備えており、ロボットECU10に遺伝子メモリ11、環境入力識別部12、遺伝子グループ切替部13、ロボット制御部14、進化システム部15が構成される。
【0049】
なお、第1の実施の形態では、カメラ2及び赤外線センサ3が特許請求の範囲に記載する検出手段に相当し、遺伝子グループ切替部13が特許請求の範囲に記載する切替手段に相当する。
【0050】
ロボット1は、具体的には、図2に示すような二輪走行型ロボットである。ロボット本体16は、円柱体形状を成しており、その内部にロボットECU10、右輪8を動作させる右輪アクチュエータ6、左輪9を動作させる左輪アクチュエータ7が設けられている。ロボット本体16の上面には、カメラ2が設置されている。また、ロボット本体16の側面には、全周にわたって多数個の赤外線センサ3,・・・が等間隔で取り付けられている。
【0051】
ロボット1は、右輪8、左輪9を共に同じ回転速度で正回転させた場合には直線的に前進し、右輪8、左輪9を共に同じ回転速度で逆回転させた場合には直線的に後退する。また、ロボット1は、左輪9を正回転させるとともに右輪8を停止又は左輪9よりも遅い回転速度で回転させることで右旋回し、右輪8を正回転させるとともに左輪9を停止又は右輪8よりも遅い回転速度で回転させることで左旋回する。また、ロボット1は、右輪8、左輪9を互いに逆方向に同じ回転速度で回転させた場合にはその場で回転する。
【0052】
図3を参照して、第1の実施の形態で適用される環境について説明する。この環境は、平面上の長方形区画内に円柱体の障害物が置かれている環境であり、ロボット1はこの区画内で行動する。図3(a)に示す環境は、四隅に障害物が置かれている環境(以下、環境条件0の環境とする)である。この環境では、障害物の数が少なくかつ障害物が端にあるので、ロボット1は直線的な高速移動が可能である。図3(b)に示す環境は、8本の障害物が適度に分散して置かれている環境(以下、環境条件1の環境とする)である。この環境では、障害物の数が多くかつ障害物が全体的に分散しているため、ロボット1は障害物の回避が必要となる。図3(c)に示す環境は、長方形区画内に障害物がないが、所定の領域にオイルが撒かれた環境である。この環境は、未知の環境である。これらの環境においてロボット1の行動を評価する場合には、一定時間内にロボット1が移動した距離や通過することができた障害物の数が評価基準となる。
【0053】
カメラ2は、例えば、CCD(Charge Coupled Device)カメラである。カメラ2では、ロボット1の前方を撮像し、その撮像した画像情報を画像信号としてロボットECU10に送信する。赤外線センサ3は、ロボット1の周囲にある障害物等の物体とロボット1との距離を検出するセンサである。赤外線センサ3では、その検出した距離を距離信号としてロボットECU10に送信する。ロボット本体16の側面の全周にわたって赤外線センサ3が多数個取り付けられているのは、ロボット1の周囲に存在する障害物を検出するためである。右輪用角度センサ4、左輪用角度センサ5は、ロボット1の右輪8、左輪9の回転角度をそれぞれ検出するセンサである。右輪用角度センサ4、左輪用角度センサ5では、その検出した角度を角度信号としてロボットECU10にそれぞれ送信する。
【0054】
右輪アクチュエータ6は、ロボットECU10からの右輪用制御信号に基づき右輪8を回転させるアクチュエータである。左輪アクチュエータ7は、ロボットECU10からの左輪用制御信号に基づき左輪9を回転させるアクチュエータである。
【0055】
ロボットECU10は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等からなり、ロボット1の電子制御ユニットである。ロボットECU10では、カメラ2から送信された画像信号と赤外線センサ3から送信された距離信号を取り入れ、この画像信号及び距離信号に基づいてロボット1の周囲の環境を識別する。そして、ロボットECU10では、識別した環境に応じた遺伝子グループを選択し、この遺伝子グループに含まれる遺伝子に基づいてロボット1の行動を制御する。さらに、ロボットECU10では、このロボット1の行動の結果に基づいて遺伝子を評価し、遺伝子操作を行う。
【0056】
遺伝子メモリ11は、環境条件0の環境に適応するグループ0の遺伝子グループ11a、環境条件1の環境に適応するグループ1の遺伝子グループ11b及びデフォルト遺伝子11cを備えている。遺伝子グループ11aは、環境条件0の環境のもとで予め学習させた高速移動環境用の遺伝子を複数有している。この各遺伝子としては、例えば、高速移動させるための遺伝子1、直線運動させるための遺伝子2である。遺伝子グループ11bは、環境条件1の環境のもとで予め学習させた低速移動環境用の遺伝子を複数有している。この各遺伝子としては、例えば、低速移動させるための遺伝子1、回避行動させるための遺伝子2、センサの情報を重視するための遺伝子3である。デフォルト遺伝子11cは、未知の環境におけるロボット1の行動を定める遺伝子である。未知の環境にロボット1が置かれた場合に直線運動や旋回運動等を行うと、ロボット1自身の破損や周囲の環境に悪影響を及ぼすことがある。そこで、デフォルト遺伝子11cとしては、ロボット1に最小限の行動を行わせる遺伝子であり、例えば、ロボット1をその場で停止させたり、あるいは、その場で回転させたりするための遺伝子である。
【0057】
なお、本実施の形態では、遺伝子グループ11a,11bが特許請求の範囲に記載する複数の遺伝子に相当し、デフォルト遺伝子11cが特許請求の範囲に記載する固定遺伝子に相当する。
【0058】
遺伝子グループ11a,11bは、環境条件0の環境、環境条件1の環境に応じて計算機において予めシミュレーションで進化させた遺伝子から成っている。このシミュレーションでは、これらの環境条件0,1の環境を計算機内に仮想的に構築し、仮想的なロボットを行動させる。そして、シミュレーションでは、環境に対して適切な行動を行った遺伝子に高い行動評価値を与え、行動評価値の低い遺伝子を棄却する。そして、棄却されずに残った行動評価値の高い遺伝子を用いて交叉を行い、新たな遺伝子を生成する。また、一定の確率で遺伝子の突然変異を行い、新たな遺伝子を生成する。シミュレーションでは、この新たに生成された遺伝子に基づいて仮想的なロボットを行動させる。そして、この行動の結果に応じて、再びこれらの一連の遺伝子操作を繰り返して遺伝子を進化させる。
【0059】
環境入力識別部12では、カメラ2から送信された画像信号及び赤外線センサ3,・・・から送信された各距離信号に基づいて、ロボット1の周囲の環境を識別する。具体的には、環境入力識別部12では、画像信号からロボット1の前方にある障害物を認識し、各距離信号からロボット1の周囲における障害物の有無を判定することで、ロボット1の周囲に存在する障害物の数を検出する。環境入力識別部12では、この検出した障害物の数としきい値とを比較する。このしきい値は、環境条件0の環境に存在する障害物の数と環境条件1の環境に存在する障害物の数とを識別するためのしきい値である。障害物の数がしきい値より少ない場合には、環境入力識別部12では、環境条件0の環境であると識別する。一方、検出した障害物の数がしきい値以上である場合には、環境入力識別部12では、環境条件1の環境であると識別する。そして、障害物が検出されなかった場合には、環境入力識別部12では、未知の環境であると識別する。そして、環境入力識別部12では、この識別した環境を遺伝子グループ切替部13に出力する。
【0060】
遺伝子グループ切替部13では、環境入力識別部12で識別した環境に基づいて遺伝子メモリ11の遺伝子グループ11a,11b又はデフォルト遺伝子11cに切り替える。具体的には、遺伝子グループ切替部13では、環境入力識別部12で環境条件0の環境であると識別した場合には遺伝子グループ11aに切り替え、環境条件1の環境であると識別した場合には遺伝子グループ11bに切り替え、未知の環境であると識別した場合にはデフォルト遺伝子11cに切り替える。そして、遺伝子グループ切替部13では、どの遺伝子グループに切り替えたかの情報をロボット制御部14及び進化システム部15に出力する。
【0061】
ロボット制御部14では、遺伝子グループ切替部13で切り替えた遺伝子グループ11a,11bに含まれる遺伝子又はデフォルト遺伝子11cに基づいてロボット1の行動を制御する。具体的には、ロボット制御部14では、遺伝子に基づいて直進、後退、右旋回、左旋回、その場で回転等の運動状態とロボット1の移動速度を設定する。そして、ロボット制御部14では、運動状態と移動速度に基づいて、右輪8の回転速度を設定し、その回転速度となるための右輪用制御信号を右輪アクチュエータ6に送信する。また、ロボット制御部14では、運動状態と移動速度に基づいて、左輪9の回転速度を設定し、その回転速度となるための左輪用制御信号を左輪アクチュエータ7に送信する。
【0062】
ロボット制御部14では、ロボット1を前進させる場合には右輪8、左輪9を共に同じ回転速度で正回転させる各制御信号を設定し、ロボット1を後退させる場合には右輪8、左輪9を共に同じ回転速度で逆回転させる各制御信号を設定する。また、ロボット制御部14では、ロボット1を右旋回させる場合には、左輪9を正回転させるとともに右輪8を停止又は左輪9よりも遅い回転速度で回転させる各制御信号を設定し、ロボット1を左旋回させる場合には、右輪8を正回転させるとともに左輪9を停止又は右輪8よりも遅い回転速度で回転させる各制御信号を設定する。さらに、ロボット制御部14では、ロボット1をその場で回転させる場合には右輪8、左輪9を互いに逆方向に同じ回転速度で回転させる各制御信号を設定する。
【0063】
特に、ロボット制御部14では、遺伝子グループ11aの場合、右輪8、左輪9を高い回転速度で回転させ、主にロボット1を直線的に直進させるための各制御信号を設定する。また、ロボット制御部14では、遺伝子グループ11bの場合、カメラ2による画像情報や赤外線センサ3,・・・による距離情報を重視し、右輪8、左輪9を低い回転速度で回転させ、ロボット1を直進させるよりも旋回させるための各制御信号を設定する。また、ロボット制御部14では、デフォルト遺伝子11cの場合、ロボット1をその場で回転又は停止させるための制御信号を設定する。
【0064】
進化システム部15では、遺伝子グループ切替部13で切り替えた遺伝子グループ11a,11b内に含まれる全ての遺伝子に対しロボット1を制御した結果に基づいて評価を行うとともに、一連の遺伝子操作を行う。具体的には、進化システム部15では、右輪用角度センサ4、左輪用角度センサ5により検出した右輪8、左輪9の各回転角度に基づいて、一定時間内でロボット1が移動した距離を算出する。進化システム部15では、この一定時間内におけるロボット1の移動距離が長いほど行動評価値を高くする。また、進化システム部15では、カメラ2で撮像した画像情報から認識した障害物等に基づいて、ロボット1が通過した障害物の数を求める。進化システム部15では、このロボット1の障害物通過数が多いほど行動評価値を高くする。ただし、ロボット1が環境条件0の環境に置かれている場合と環境条件1の環境に置かれている場合とでは、評価の基準が異なる。例えば、環境条件0の環境ではロボット1の移動距離を重視して評価し、環境条件1の環境ではロボット1が通過した障害物の数を重視して評価する。そして、進化システム部15では、行動評価値の低い遺伝子を棄却し、行動評価値の高い遺伝子を残す。さらに、進化システム部15では、この行動評価値の高い遺伝子を用いて交叉を行い、新たな遺伝子を生成する。また、進化システム部15では、一定の確率で遺伝子の突然変異を行い、新たな遺伝子を生成する。
【0065】
図1を参照して、ロボット1における動作を説明する。特に、ロボットECU10における処理については図4のフローチャートに沿って説明する。なお、図4では、ステップをSと略記している。
【0066】
カメラ2では、ロボット1の前方を撮像し、その撮像した画像情報を画像信号としてロボットECU10に送信する。赤外線センサ3,・・・では、ロボット1の周囲にある障害物とロボット1との距離をそれぞれ検出し、それらの検出した各距離情報をロボットECU10に送信する。ちなみに、赤外線センサ3の検出範囲内に障害物が存在しない場合、距離情報には、例えば、無限大が設定される。
【0067】
ロボットECU10では、カメラ2で検出した画像情報と赤外線センサ3,・・・で検出した各距離情報に基づいて障害物の数を求める。そして、環境入力識別部12では、この求めた障害物の数としきい値とを比較することにより、ロボット1が置かれている環境を識別する(S1)。
【0068】
ロボットECU10では、S1で識別した環境が環境条件0の環境であるか否かを判定する(S2)。
【0069】
ロボットECU10では、S2で環境条件0の環境であると判定した場合には、遺伝子メモリ11においてグループ0の遺伝子グループ11aに切り替える(S3)。
【0070】
ロボットECU10では、S2で環境条件0の環境でないと判定した場合には、S1で識別した環境が環境条件1の環境であるか否かを判定する(S4)。
【0071】
ロボットECU10では、S4で環境条件1の環境であると判定した場合には、遺伝子メモリ11においてグループ1の遺伝子グループ11bに切り替える(S5)。
【0072】
ロボットECU10では、S4で環境条件1の環境でないと判定した場合には、遺伝子メモリ11のデフォルト遺伝子11cに切り替える(S6)。
【0073】
ロボットECU10では、切り替えられた遺伝子グループ11a,11bに含まれる遺伝子又はデフォルト遺伝子11cに基づいてロボット1を行動させるための右輪用制御信号及び左輪用制御信号を設定し、各制御信号を右輪アクチュエータ6、左輪アクチュエータ7に送信する(S7)。右輪アクチュエータ6、左輪アクチュエータ7では、その各制御信号をそれぞれ受信すると、各制御信号に設定されている回転速度で右輪8、左輪9を回転又は停止させる。
【0074】
すると、ロボット1は、右輪8、左輪9が回転又は停止することで行動する。環境条件0の環境に置かれ、遺伝子グループ11aに切り替えられた場合、ロボット1では、初期の段階から直線的に高速に移動する。その結果、ロボット1では、移動できる距離が長くなる。環境条件1の環境に置かれ、遺伝子グループ11bに切り替えられた場合、ロボット1では、初期の段階から低速で移動しながら障害物を回避する。その結果、ロボット1では、通過できる障害物の数が多くなる。また、未知の環境に置かれ、デフォルト遺伝子11cに切り替えられた場合、ロボット1では、その場で停止し、あるいは、その場で回転する。その結果、ロボット1は、移動してオイルによって滑ることがなく、そのため長方形区画内から出ることもない。
【0075】
さらに、ロボットECU10では、カメラ2により検出した画像情報に基づいて通過した障害物の数を求めるとともに、右輪用角度センサ4、左輪用角度センサ5により検出した右輪8、左輪9の各回転角度に基づいて一定時間内におけるロボット1の移動距離を求める。そして、ロボットECU10では、この求めた移動距離及び障害物通過数により遺伝子グループ11a,11b内の全ての遺伝子について評価する(S8)。さらに、ロボットECU10では、この評価した結果に基づいて遺伝子操作を行う(S9)。
【0076】
ロボット1では、この一連の動作を繰り返し行うことにより、各遺伝子を更に進化させていく。そして、ロボット1では、この進化させた各遺伝子に基づいて行動することにより、環境条件0の環境の場合には更に高速に移動することができ、一定時間内の移動できる距離が長くなり、環境条件1の環境の場合には更に障害物を短時間で回避することができ、障害物を通過できる数が増加する。
【0077】
このロボット1によれば、環境条件0の環境と環境条件1の環境についてそれぞれ予め学習させた遺伝子をグループ化した高速移動環境用と低速移動環境用の遺伝子グループ11a,11bを備えているため、初期状態から遺伝子を進化させる必要が無く、初期の段階から各種環境条件の環境に適応することができる。また、各種環境条件別に各遺伝子グループを進化させており、予め遺伝子に周囲の環境についての事前知識を持たせているので、従来のように環境条件を区別しない遺伝子を用いるよりも、ロボット1は環境条件に適応する行動を高速に獲得できる。さらに、予め学習させた遺伝子を用いて進化させるので、遺伝子が局所最適解に陥ることがなく、大局的最適解に到達できる。
【0078】
また、このロボット1では、未知の環境に置かれた場合でも、デフォルト遺伝子11cに切り替えてその場で回転又は停止するといった安全な行動を行うので、ロボット1の無理な行動によりロボット1自身の機能を損なったりあるいは周囲の環境を破損したりすることがない。
【0079】
次に、図1、図2を参照して、第2の実施の形態に係るロボット1の構成について説明する。第2の実施の形態は、第1の実施の形態に係るロボット1と基本的な構成は同じであるが、ロボット1が行動する環境が異なるため、ロボットECU10の遺伝子メモリ11の構成及び各部の処理が異なる。そこで、第2の実施の形態では、第1の実施の形態と異なる点のみを説明する。
【0080】
第2の実施の形態で適用される環境について説明する。この環境は、照明条件がそれぞれ異なり、障害物がランダムに置かれている環境である。環境条件0の環境は、照明により十分明るく、明るさE0の環境である。この環境では、ロボット1の周囲が十分に明るいので、カメラ2により検出した画像情報を用いることができる。環境条件1の環境は、照明が不十分であり、明るさE1の環境である。この環境では、カメラ2により検出した画像情報を用いることができず、赤外線センサ3,・・・により検出した距離情報を用いる。未知の環境は、環境条件0の環境にも環境条件1の環境にも当てはまらない明るさの環境である。この環境では、カメラ2により検出した画像情報も赤外線センサ3,・・・により検出した距離情報も用いることができない。これらの環境においてロボット1の行動を評価する場合には、一定時間内にロボット1が移動した距離が評価基準となる。
【0081】
遺伝子メモリ11は、明るさE0の環境に適応するグループ0の遺伝子グループ11a、明るさE1の環境に適応するグループ1の遺伝子グループ11b及びデフォルト遺伝子11cを備えている。遺伝子グループ11aは、明るさE0の環境のもとで予め学習させた遺伝子を複数有している。この各遺伝子としては、例えば、カメラ2の画像情報を重視するための遺伝子1である。遺伝子グループ11bは、明るさE1の環境のもとで予め学習させた遺伝子を複数有している。この各遺伝子としては、例えば、赤外線センサ3,・・・の距離情報を重視するための遺伝子1である。デフォルト遺伝子11cは、未知の環境おいてロボット1に最小限の行動を行わせる遺伝子であり、第1の実施の形態と同様のデフォルト遺伝子である。
【0082】
環境入力識別部12では、カメラ2から送信された画像信号に基づいて、ロボット1の周囲の環境を識別する。具体的には、環境入力識別部12では、画像信号から撮像画像の全画素の輝度値の平均値を算出する。環境入力識別部12では、この算出した輝度値の平均値と第1しきい値又は第2しきい値とを比較する。第1しきい値は、明るさE0の輝度値の範囲を示す値である。第2しきい値は、明るさE1の輝度値の範囲を示す値である。輝度値の平均値が第1しきい値の範囲内である場合、環境入力識別部12では、環境条件0の環境であると識別する。輝度値の平均値が第2しきい値の範囲内である場合、環境入力識別部12では、環境条件1の環境であると識別する。そして、輝度値の平均値が第1しきい値及び第2しきい値の範囲外である場合、環境入力識別部12では、未知の環境であると識別する。環境入力識別部12では、この識別した環境を遺伝子グループ切替部13に出力する。
【0083】
ロボット制御部14では、遺伝子グループ11aに切り替えられた場合、ロボット1を直進あるいは旋回させながら、カメラ2による画像情報に基づいて検出された障害物を回避するための各制御信号を設定する。また、ロボット制御部14では、遺伝子グループ11bに切り替えられた場合、ロボット1を直進あるいは旋回させながら、赤外線センサ3,・・・が取り付けられている箇所及び赤外線センサ3,・・・による距離情報に基づいて検出された障害物を回避するための各制御信号を設定する。また、ロボット制御部14では、デフォルト遺伝子11cに切り替えられた場合、ロボット1をその場で回転又は停止させるための制御信号を設定する。
【0084】
進化システム部15では、右輪用角度センサ4、左輪用角度センサ5により検出した右輪8、左輪9の各回転角度に基づいて一定時間内におけるロボット1の移動距離を算出し、この移動距離が長いほど行動評価値を高くする。
【0085】
図1、図2を参照して、ロボット1における動作を説明する。特に、ロボットECU10における処理については図5のフローチャートに沿って説明する。なお、図5では、ステップをSと略記している。また、第1の実施の形態に係るロボット1と同様の動作については、その説明を省略する。
【0086】
ロボットECU10では、カメラ2で検出した画像情報に基づいて全画素の輝度値の平均値を算出する(S11)。
【0087】
ロボットECU10では、S11で算出した輝度値の平均値と第1しきい値とを比較し、ロボット1の周囲の環境が環境条件0の環境であるか否かを判定する(S12)。
【0088】
ロボットECU10では、S12で環境条件0の環境であると判定した場合には、遺伝子メモリ11においてグループ0の遺伝子グループ11aに切り替える(S13)。
【0089】
ロボットECU10では、S12で環境条件0の環境でないと判定した場合には、S11で算出した輝度値の平均値と第2しきい値とを比較し、ロボット1の周囲の環境が環境条件1の環境であるか否かを判定する(S14)。
【0090】
ロボットECU10では、S14で環境条件1の環境であると判定した場合には、遺伝子メモリ11においてグループ1の遺伝子グループ11bに切り替える(S15)。
【0091】
ロボットECU10では、S14で環境条件1の環境でないと判定した場合には、遺伝子メモリ11においてデフォルト遺伝子11cに切り替える(S16)。
【0092】
ロボットECU10では、第1の実施の形態と同様に、S16で切り替えた遺伝子に基づいて各アクチュエータ6,7に各制御信号をそれぞれ送信する(S17)。各アクチュエータ6,7では、各制御信号により右輪8、左輪9を回転又は停止させる。
【0093】
すると、ロボット1は、右輪8、左輪9が回転又は停止することで行動する。環境条件0の環境に置かれ、遺伝子グループ11aに切り替えられた場合、ロボット1では、初期の段階からカメラ2による画像情報を重視して障害物を回避するための回避行動を行う。その結果、ロボット1では、障害物を回避し、移動できる距離が長くなる。環境条件1の環境に置かれ、遺伝子グループ11bに切り替えられた場合、ロボット1では、初期の段階から赤外線センサ3,・・・による情報を重視して障害物を回避するための回避行動を行う。その結果、ロボット1では、障害物を回避し、移動できる距離が長くなる。また、未知の環境に置かれ、デフォルト遺伝子11cに切り替えられた場合、ロボット1では、その場で停止し、あるいは、その場で回転する。
【0094】
ロボットECU10では、右輪用角度センサ4、左輪用角度センサ5により検出した右輪8、左輪9の各回転角度に基づいて、一定時間内におけるロボット1の移動距離を求める。そして、ロボットECU10では、この求めた移動距離により遺伝子グループ11a,11b内の全ての遺伝子について評価する(S18)。さらに、ロボットECU10では、この評価した結果に基づいて遺伝子操作を行う(S19)。
【0095】
この第2の実施の形態に係るロボット1によれば、第1の実施の形態に係るロボットと同様の効果を有する。
【0096】
次に、図1、図6を参照して、第3の実施の形態に係る通信ロボットシステム20の構成について説明する。図6は、第3の実施の形態に係る通信ロボットシステムの構成図である。この通信ロボットシステム20は、計算機30及びロボット40から成り、計算機30とロボット40とで相互にデータ通信可能なシステムである。ロボット40は、第1の実施の形態に係るロボット1と基本的な構成は同じであるが、計算機30と通信を行う機能も有している。そのため、ロボットECU10での処理等が異なる。そこで、第3の実施の形態では、計算機30について説明し、ロボット40については第1の実施の形態に係るロボット1と異なる点のみを説明する。なお、ロボット40では、第1の実施の形態に係るロボット1と同様の構成については同一の符号を付す。
【0097】
まず、計算機30について説明する。この計算機30は、一般的に利用されており、高い処理能力により高速処理が可能な計算機であり、例えば、高性能なパーソナルコンピュータやワークステーションである。特に、計算機30では、環境に応じて進化させたロボットの遺伝子を生成できるとともに、ロボット40と通信を行うことができる。そのため、計算機30は、通信装置31を備えている。通信装置31は、アンテナを有する無線通信装置であり、ロボット40とデータ通信を行う。
【0098】
計算機30では、シミュレーションにより各種環境条件の環境に応じて高速に遺伝子を進化させ、環境条件毎に複数の遺伝子を生成し、これらの遺伝子の中からその環境条件毎に最適な遺伝子を選択し遺伝子グループを生成する。そして、計算機30では、環境条件毎に遺伝子グループを内部に記憶させる。この記憶されている環境条件は、ロボット40が行動すると想定される環境の条件である。なお、計算機30でのシミュレーションは、第1の実施の形態において遺伝子グループ11a,11bを生成する場合と同様のシミュレーションであるため、その説明を省略する。
【0099】
また、計算機30では、通信装置31によりロボット40が置かれている環境の観測データをロボット40から受信すると、この観測データからその環境の環境条件を求める。そして、計算機30では、求めた環境条件の環境に応じた遺伝子グループが内部に記憶されているか否かを判断する。遺伝子グループを記憶している場合、計算機30では、その遺伝子グループを抽出する。一方、遺伝子グループを記憶していない場合、計算機30では、シミュレーションによりその環境条件の環境に応じた複数の遺伝子を高速に進化させ、その進化させた複数の遺伝子をグループ化する。そして、計算機30では、通信装置31によりこれらの抽出又は生成した遺伝子グループをロボット40に送信する。
【0100】
なお、第3の実施の形態では、通信装置31が特許請求の範囲に記載する計算機側通信手段に相当し、計算機30が特許請求の範囲に記載する生成手段に相当する。
【0101】
次に、ロボット40について説明する。このロボット40は、第1、第2の実施の形態に係るロボット1と同様の機能を有している。特に、ロボット40では、計算機30と通信を行うことができ、計算機30から未知の環境に応じた遺伝子グループを取得することができる。そのため、ロボット40は、通信装置41を備えている。通信装置41は、アンテナを有する無線通信装置であり、計算機30とデータ通信を行う。なお、第3の実施の形態では、通信装置41が特許請求の範囲に記載するロボット側通信手段に相当する。
【0102】
ロボットECU10では、ロボット40の周囲が未知の環境のためデフォルト遺伝子11cに切り替えた場合、通信装置41により未知の環境の観測データを計算機30に送信させる。この観測データは、ロボット40においてカメラ2で撮像した画像情報や赤外線センサ3,・・・で検出した距離情報等である。そして、ロボットECU10では、観測データを送信後に通信装置41により計算機30からその未知の環境に応じた遺伝子グループを受信した場合、デフォルト遺伝子11cからこの受信した遺伝子グループに切り替える。そして、ロボットECU10では、受信した遺伝子グループに基づいて各アクチュエータ6,7(ひいては、右輪8、左輪9)を制御する。
【0103】
図1、図6を参照して、通信ロボットシステム20の計算機30及びロボット40における動作を説明する。ロボット40は、この通信ロボットシステム20においても、第1、第2の実施の形態に係るロボット1と同様の動作を行う。さらに、未知の環境に置かれ、デフォルト遺伝子11cに切り替えた場合、ロボット40は、計算機30と通信を行い未知の環境に応じた遺伝子グループを受信することで、未知の環境に適応した行動を行う。そこで、ここでの計算機30及びロボット40における動作については、デフォルト遺伝子11cに切り替えられた場合の動作を説明する。その際、計算機30における動作については図7のフローチャートに沿って説明し、ロボット40における動作については図8のフローチャートに沿って説明する。なお、図7、図8では、ステップをSと略記している。
【0104】
図7に沿って、計算機30での動作について説明する。計算機30では、受信装置31によりロボット40が置かれている環境の観測データを受信したか否かを判定する(S21)。計算機30では、S21で観測データを受信していないと判定した場合、処理を終了する。
【0105】
計算機30では、S21で観測データを受信したと判定した場合、この受信した観測データからロボット40が置かれている環境の環境条件を求め、この環境条件の環境に応じた遺伝子グループが計算機30の内部に記憶されているか否かを判定する(S22)。
【0106】
計算機30では、S22で遺伝子グループが記憶されていると判定した場合、その環境条件の環境に応じた遺伝子グループを抽出する(S23)。そして、計算機30では、通信装置31によりこの抽出した遺伝子グループをロボット40に送信する(S24)。
【0107】
計算機30では、S22で遺伝子グループが記憶されていないと判定した場合、シミュレーションによりその環境条件の環境に応じた遺伝子を高速に進化させ、それらの遺伝子の中から最適な遺伝子を選択し遺伝子グループを生成する(S25)。そして、計算機30では、通信装置31によりこの生成した遺伝子グループをロボット40に送信する(S26)。
【0108】
図8に沿って、デフォルト遺伝子11cに切り替えた場合のロボット40での動作について説明する。ロボットECU10では、デフォルト遺伝子11cに切り替えられた場合(すなわち、ロボット40が未知の環境に置かれた場合)、通信装置41によりその環境の観測データを計算機30に送信する(S31)。
【0109】
ロボットECU10では、送信した観測データの未知の環境に応じた遺伝子グループを通信装置41により計算機30から受信したか否かを判定する(S32)。そして、ロボットECU10では、S32で遺伝子グループを受信していないと判定した場合、再びS32に戻って判定を行い、遺伝子グループの受信を待ち続ける待ち状態となる。この際、ロボット40は、デフォルト遺伝子11cに基づいて制御され、その場で停止あるいはその場で回転する。
【0110】
ロボットECU10では、S32で遺伝子グループを受信したと判定した場合、デフォルト遺伝子11cからこの受信した遺伝子グループに切り替える(S33)。
【0111】
そして、ロボットECU10では、第1、第2の実施の形態に係るロボットECU10と同様に、S33で切り替えた遺伝子グループに含まれる各遺伝子に基づいて各アクチュエータ6,7に各制御信号をそれぞれ送信する(S34)。各アクチュエータ6,7では、各制御信号により右輪8、左輪9を回転又は停止させる。
【0112】
すると、ロボット40は、計算機30から受信した遺伝子グループに基づいて、右輪8、左輪9を回転又は停止させて行動し、未知の環境に対して適切な行動を行う。
【0113】
そして、ロボットECU10では、第1の実施の形態に係るロボットECU10と同様に、遺伝子グループ内の全ての遺伝子について評価する(S35)。さらに、ロボットECU10では、この評価した結果に基づいて遺伝子操作を行う(S36)。
【0114】
この通信ロボットシステム20によれば、ロボット40が計算機30とデータ通信できるので、未知の環境に置かれた場合でも、その未知の環境に応じた遺伝子グループを計算機30から取得することができ、未知の環境に対して適切な行動を行うことができる。
【0115】
また、通信ロボットシステム20によれば、計算機30ではロボット40が行動すると想定される環境条件の環境に応じた遺伝子を進化させ遺伝子グループとして予め記憶しているので、ロボット40は、送信した観測データの環境に応じた遺伝子グループが計算機30に記憶されている場合には計算機30から即時にその環境に応じた遺伝子グループを取得することができる。
【0116】
また、通信ロボットシステム20によれば、処理能力の高い計算機30によりその環境に応じた複数の遺伝子を高速に進化させることができるので、ロボット40は、送信した観測データの環境に応じた遺伝子グループが計算機30に記憶されていない場合でも計算機30から早期にその高速に進化させた遺伝子グループを取得することができる。
【0117】
また、第3の実施の形態に係る通信ロボットシステム20によれば、ロボット40では、未知の環境に置かれた場合、一時的にデフォルト遺伝子11cに切り替えて行動し、計算機30からその未知の環境に応じた遺伝子グループを受信した後にその遺伝子グループに切り替えて行動するので、ロボット40自身の機能を損なったり周囲の環境を破壊したりすることがことがないとともに、未知の環境に対して早期に適切な行動を行うことができる。
【0118】
次に、図2、図9及び図10を参照して、第4の実施形態に係るロボット50の構成について説明する。第4の実施の形態は、第1の実施の形態に係るロボット1とロボットECU51における構成が異なる。そこで、第4の実施の形態では、内部の構成を中心に、第1の実施の形態と異なる点のみを説明する。
【0119】
ロボット50は、ロボットの各部の故障を検出する。そして、ロボット50は、その検出した故障に対応する故障対応遺伝子に切り替えて、故障に対応した行動を行う。ここで、本実施の形態におけるロボットの故障は、ロボットが備えるカメラ、センサ、アクチュエータ等の各部がそれぞれ停止する場合や誤作動する場合等である。そのために、ロボット50は、カメラ2、赤外線センサ3、右輪用及び左輪用角度センサ4,5、右輪及び左輪アクチュエータ6,7並びにロボットECU51を備えている。また、ロボットECU51にはロボット制御部14及び進化システム部15に加え、診断部52、第1遺伝子メモリ53、第2遺伝子メモリ54及び切替部55が構成される。
【0120】
なお、第4の実施の形態では、診断部52が特許請求の範囲に記載する検出手段に相当し、切替部55が特許請求の範囲に記載する切替手段に相当し、進化システム部15が特許請求の範囲に記載する行動評価手段に相当する。
【0121】
ロボットECU51は、CPU、ROM、RAM等からなり、ロボット50の電子制御ユニットである。ロボットECU51では、通常、第1遺伝子メモリ53に記憶されている基本遺伝子1,2,・・・に基づいてロボット50の動作を制御する。また、ロボットECU51では、ロボット50の各部の故障を検出し、検出した故障に応じた故障対応遺伝子に切り替え、ロボット50の行動を制御する。そして、ロボットECU51では、ロボット50の行動の結果に基づいて遺伝子を評価し、遺伝子操作を行う。
【0122】
診断部52は、カメラ2、赤外線センサ3、右輪用及び左輪用角度センサ4,5、右輪及び左輪アクチュエータ6,7の各部の故障を検出する。具体的には、しきい値θを用いて故障の可能性を検出した場合(詳しくは後述する)、ロボット50の各部からのセンサ信号等に基づいて故障診断を行う。具体的には、この故障診断では、カメラ2やセンサ3,4,5のセンサ信号の値の上限及び下限を設定し、センサ信号の値が設定した上限以上又は下限以下となった場合に、そのセンサ信号を出力しているカメラ2やセンサ3,4,5が故障であると診断する。又は、センサ信号が全く入ってこない場合、そのカメラ2やセンサ3,4,5が故障であると診断する。これにより、カメラ2やセンサ3,4,5の停止や誤作動を検出することができる。また、この故障診断では、右輪用又は左輪用角度センサ4,5のセンサ信号と右輪又は左輪アクチュエータ6,7の制御信号に基づいて、その結果が整合しない場合(例えば、制御信号を出力したがアクチュエータが作動せず、角度変化が検出されない場合や、制御信号を出力していないがアクチュエータが作動して、角度変化が検出される場合)、右輪又は左輪アクチュエータ6,7が故障であると診断する。そして、診断部52では、この故障診断の結果から故障であると診断された各部の故障情報を切替部55に出力する。なお、第4及び後述する第5の実施の形態に係るロボット50,80では、単一の故障のみを診断部52により検出する場合を想定している。
【0123】
また、診断部52では、進化システム部15からロボット50が行動した結果の評価である行動評価値(F)の時間変化(例えば、前回の時間tにおける行動評価値Ftと今回の時間tにおける行動評価値Ftとの時間変化はFt−Ftとなる)に基づいて、故障の可能性を検出する。通常、進化過程では、ロボット50は進化システム部15において遺伝子操作を行うことで周囲の環境に対してより適切な行動を行うようになり、行動評価値は時間と共に上昇した後に飽和する(図10中のA参照)。従って、その時間変化(Ft−Ft)が大幅に低下して負の値となるような場合(図10中のB参照)には、ロボット50が故障している可能性が高い。そこで、しきい値θを用いて、時間変化(Ft−Ft)としきい値θとを比較することにより、ロボット50の故障の可能性を検出する。このしきい値θは、負の値であり、通常ロボット50が進化していく過程では想定不能な行動評価値Fの大幅な下落を検出できる値である。また、しきい値θの値の大きさを変更することで、故障の可能性を検出する精度を変更することができる。
【0124】
第1遺伝子メモリ53は、ロボット50の行動を制御するために必要な遺伝子である基本遺伝子1,2,・・・を記憶するためのメモリである。これらの基本遺伝子1,2,・・・では、対応するロボット50の各部を制御し動作させることにより、ロボット50の行動を定める。例えば、基本遺伝子1はカメラ2を制御し、基本遺伝子2は赤外線センサ3を制御する。なお、これらの基本遺伝子1,2,・・・は、全く進化させていない初期の状態であってもよいし、あるいは、第1〜第3の実施の形態のように予め想定される周囲の環境に応じて進化させた状態であってもよい。
【0125】
第2遺伝子メモリ54は、故障情報1,2,・・・とそれらの故障情報に対応する故障対応遺伝子1,2,・・・とからなる遺伝子対1,2,・・・を記憶するためのメモリである。故障情報1,2・・・は、ロボット50の各部における故障箇所を表す情報であり、例えば、故障情報1はカメラ2の故障を示し、故障情報2は赤外線センサ3の故障を示す。また、故障対応遺伝子1,2,・・・は、各部がそれぞれ故障により作動しない仮想的なロボットを外部の計算機等においてシミュレーションにより行動させ、遺伝子操作により予め進化させた遺伝子である。例えば、故障対応遺伝子1は、カメラ2の故障を想定した遺伝子であって、カメラ2から送信される画像信号がない状況のもとで、他の赤外線センサ3,・・・や右輪又は左輪用角度センサ4,5等からの入力信号のみを用いて仮想的なロボットを行動させることで得られる。なお、第2遺伝子メモリ54では、全ての故障に対応する遺伝子対を記憶していてもよいし、メモリの節約のため、故障の発生頻度や故障がロボット50に与える影響の大きさといった価値の高い故障に対応する故障対応遺伝子を含む遺伝子対のみを記憶していてもよい。
【0126】
切替部55は、第2遺伝子メモリ54に指示して、診断部52により検出された故障に応じた故障対応遺伝子を第2遺伝子メモリ54から第1遺伝子メモリ53の該当する基本遺伝子に上書きする。つまり、切替部55では、第2遺伝子メモリ54に記憶されている遺伝子対の各故障情報1,2,・・・を参照して診断部52からの故障情報と一致する故障情報を検索する。そして、切替部55では、検索により故障情報が一致した遺伝子対の故障対応遺伝子を、第2遺伝子54メモリから第1遺伝子メモリ53の故障箇所を制御している基本遺伝子に上書きして複製する。例えば、診断部52がカメラ2を故障と診断して故障情報1を切替部55に出力した場合、切替部55は、遺伝子対のうち故障情報1と一致する遺伝子対1を検索する。そして、切替部55は、遺伝子対1の故障対応遺伝子1を、第1遺伝子メモリ54のカメラ2を制御している基本遺伝子1に上書きし、基本遺伝子1から故障対応遺伝子1へと切り替える。切替部55では、どの故障対応遺伝子に切り替えたかの情報をロボット制御部14及び進化システム部15に出力する。
【0127】
ロボット制御部14では、第1遺伝子メモリ53に記憶されている基本遺伝子又は基本遺伝子と切替部55で切り替えた故障対応遺伝子とに基づいてロボット50の行動を制御する。具体的には、基本遺伝子のみに基づいてロボット50を制御する場合、カメラ2や各種センサ3,4,5等からの全ての信号を用いてロボット50を行動させるための右輪用及び左輪用制御信号を設定する。一方、基本遺伝子及び故障対応遺伝子とに基づいてロボット50を制御する場合、その故障対応遺伝子が想定している故障箇所が右輪又は左輪アクチュエータ6,7のときにはロボット50をその場で停止させるための各制御信号を設定し、故障箇所がそれ以外のときにはその故障箇所からの信号を無視してロボット50を行動させるための各制御信号を設定する。
【0128】
そして、ロボット50は、第1遺伝子メモリ53の基本遺伝子群及び切り替えられた故障対応遺伝子を用いてロボット制御部14により行動を行い、その行動の結果に応じて進化システム部15が第1遺伝子メモリ53における各遺伝子の遺伝子操作を行う。
【0129】
図9を参照して、ロボット50における動作を説明する。ロボット50は第4の実施の形態においても第1の実施の形態に係るロボット1と同様の動作を行うが、第4の実施の形態に係るロボット50は各部の故障を検出し、基本遺伝子から検出した故障に対応する故障対応遺伝子に切り替える点で異なる。そのため、特にロボットECU51における故障診断の処理について、図11のフローチャートに沿って説明する。なお、図11では、ステップをSと略記している。
【0130】
ロボットECU51では、行動評価値の時間変化(Ft−Ft)を計算する(S41)。
【0131】
ロボットECU51では、S41で計算した行動評価値Fの時間変化(Ft−Ft)としきい値θとを比較し、時間変化(Ft−Ft)がしきい値θよりも小さいか否かを判定する(S42)。そして、ロボットECU51では、故障検出を行わずに、S42でしきい値θ以上であると判定した場合には、S46の処理に移行する。
【0132】
ロボットECU51では、S42でしきい値θよりも小さいと判定した場合には、ロボット50に故障が発生した可能性があるので、診断部52におけるロボット50の故障検出を行う(S43)。
【0133】
ロボットECU51では、S43で行った故障検出により故障を検出したか否かを判定する(S44)。そして、ロボットECU51では、S44で故障を検出していないと判定した場合には、S46の処理に移行する。
【0134】
ロボットECU51では、S44で故障を検出したと判定した場合には、診断部52により検出した故障に応じた故障情報を切替部55に送信し、切替部55により基本遺伝子から故障情報に対応する故障対応遺伝子に切り替える(S45)。
【0135】
そして、ロボット50では、図4のS7〜S9と同様の処理により、ロボットを制御し(S46)、ロボットの制御結果を評価して(S47)、その制御結果に基づいて遺伝子操作を行う(S48)。そして、ロボット50は、以上のS41〜S48の処理を繰り返して行い、故障の診断処理を行いつつ、ロボット50の各部が故障した場合でも故障に対応して進化する。
【0136】
このロボット50によれば、故障が発生した場合でも故障対応遺伝子により適切な行動を行うことができるので、故障が発生することにより不安定な動作となる時間を大幅に短縮することができる。また、このロボット50では、しきい値θを用いて故障検出を行うか否かを判断し、故障の可能性がある場合のみ故障検出を行うので、常に故障検出を行う必要がない。そのため、ロボット50では、計算資源を有効に活用することができ、処理負荷の軽減を図ることができる。
【0137】
さらに、このロボット50では、第1遺伝子メモリ53に上書きした故障対応遺伝子を第1遺伝子メモリに備えられている基本遺伝子と共に遺伝子操作を行うことにより、他の遺伝子の優れた特徴を保持したまま故障に対応することができる。
【0138】
次に、図9、図12及び図13を参照して、第5の実施の形態に係る通信ロボットシステム60の構成について説明する。図12は、第5の実施の形態に係る通信ロボットシステムの構成図である。図13は、第5の実施の形態に係る計算機が記憶している故障リストを表す図である。この通信ロボットシステム60は、計算機70及び多数のロボット80,・・・から成り、計算機70と各ロボット80,・・・とが相互にデータ通信可能なシステムである。計算機70は第3の実施の形態に係る通信ロボットシステムにおける計算機30と基本的な構成は同じであるが、計算機70の内部で行われる処理が異なる。また、ロボット80は、第4の実施の形態に係るロボット50と基本的な構成は同じであるが、計算機70と通信を行う機能も有している。そのため、ロボットECU51での処理等が異なる。そこで、第5の実施の形態では、計算機70については第3の実施の形態に係る計算機30と異なる点のみを説明し、ロボット80については第4の実施の形態に係るロボット50と異なる点のみを説明する。なお、図12には、ロボット80が3台しか存在しないが、実際には図示しない多数のロボット80が存在する。
【0139】
計算機70では、シミュレーションによりロボットの各部の故障に応じて予め高速に遺伝子を進化させて、故障対応遺伝子を生成する。そして、計算機70では、故障箇所を示す故障情報と、故障対応遺伝子と、その故障の発生確率(初期の状態では0)とをそれぞれ対応させ、それらを故障発生確率が高い順に並べた故障リストを記憶している(図13参照)。なお、計算機70でのシミュレーションについても、第1の実施の形態におけるシミュレーションと同様であるため、その説明を省略する。
【0140】
計算機70では、通信装置31によりロボット80の故障箇所を示す故障情報FIをロボット80から受信すると、故障発生確率を計算する。そして、計算機70では、故障発生確率の高い順に並び替え、故障リストを更新する。なお、各遺伝子対に対する故障発生確率は、全てのロボット80,・・・からの故障情報に基づくものであり、全ての故障の総数に対するロボット80の各部の故障が起こる可能性の割合である。そのため、故障発生確率は、通信ロボットシステム60におけるロボット80が多いほど精度が高いものとなる。
【0141】
また、計算機70では、通信装置31によりロボット80から故障情報FIと共にその故障に対応する遺伝子対の送信要求RTS1を受信すると、故障リストを検索してロボット80からの故障情報FIと一致する故障情報を検索する。そして、計算機70では、通信装置31により検索で故障情報が一致した遺伝子対PGをロボット80に送信する。
【0142】
また、計算機70では、ロボット80から故障リストに対する更新情報UIの送信要求RTS2があった場合あるいは故障リストが更新される毎に、通信装置31によりロボット80に対して更新情報UIを送信する。更新情報UIは、例えば、故障リストにおける故障発生確率が上位3つの遺伝子対とその故障リストにおける並び順の情報である。
【0143】
このとき、計算機70は、更新情報UIを受信したロボット80に対して課金処理を行う。課金処理は、例えば、更新情報UIを受信したロボット80の所有者の口座等から料金を引き落とすことによって行う。
【0144】
また、計算機70では、故障情報FIを計算機70に対して送信したロボット80に対して納金処理を行う。納金処理は、例えば、故障情報FIを送信したロボット80の所有者の口座等に料金を振り込むことによって行う。
【0145】
なお、第5の実施の形態では、計算機70が特許請求の範囲に記載する更新手段、課金処理手段及び納金処理手段に相当する。
【0146】
次に、ロボット80について説明する。このロボット80は、第4実施形態に係るロボット50と同様の機能を有している。特に、ロボット80では、計算機70と通信を行うことができ、計算機70から遺伝子対PG又は更新情報UIを取得することができる。そのため、ロボット80は、通信装置41を備えている。
【0147】
ロボットECU51では、診断部52によりロボット80の各部の故障を検出した場合、通信装置41により故障情報FIを計算機70に送信する。
【0148】
また、ロボットECU51では、診断部52により検出した故障情報に対応する故障対応遺伝子を含む遺伝子対を第2遺伝子メモリ54が記憶していない場合、通信装置41により計算機70に対して故障情報に対応する遺伝子対PGの送信要求RTS1を行う。そして、ロボットECU51では、通信装置41により計算機70から遺伝子対PGを受信した場合、受信した遺伝子対PGを第2遺伝子メモリ54に記憶させる。
【0149】
さらに、ロボットECU51では、一定時間毎又は不定期に、通信装置41により計算機70に対して更新情報UIの送信要求RTS2を行う。そして、ロボットECU51では、通信装置41により計算機70から更新情報UIを受信した場合、受信した更新情報UIによりを第2遺伝子メモリ54の遺伝子対を更新する。この際、更新情報UIでの遺伝子対の並び順と同じ順番で第2遺伝子メモリ54を上書きする。
【0150】
図9、図12及び図13を参照して、通信ロボットシステム60の計算機70及びロボット80における動作を説明する。ロボット80は、この通信ロボットシステム60においても、第4の実施の形態に係るロボット50と同様の動作を行う。この際、計算機70における動作については図14及び図15のフローチャートに沿って説明し、ロボット80における動作については図16及び図17に沿って説明する。図14は、第5の実施の形態に係る計算機における故障情報FIを受信する場合の動作を示すフローチャートである。図15は、第5の実施の形態に係る計算機における更新情報UIを送信する場合の動作を示すフローチャートである。図16は、第5の実施の形態に係るロボットにおける故障の可能性を検出した場合の動作を示すフローチャートである。図17は、第5の実施の形態に係るロボットにおける更新情報UIの要求を行う場合の動作を示すフローチャートである。なお、図14〜17では、ステップをSと略記している。
【0151】
図14に沿って、計算機70がロボット80から故障情報FIを受信する場合の計算機70における動作について説明する。計算機70では、ロボット80から故障情報FIを受信したか否かを判定する(S51)。計算機70では、S51で故障情報FIを受信していないと判定すると、再びS51に戻って判定を行い、故障情報FIの受信を待ちつづける待ち状態となる。
【0152】
計算機70では、S51で故障情報FIを受信したと判定した場合、ロボット80から遺伝子対PGの送信要求RTS1があったか否かを判定する(S52)。そして、計算機70では、S52で送信要求RTS1がなかったと判定すると、S55の処理に移行する。
【0153】
計算機70では、S52で送信要求RTS1があったと判定した場合、ロボット80から送信された故障情報FIに対応する遺伝子対PGを故障リストから抽出する(S53)。そして、計算機70では、通信装置31によりS53で抽出した遺伝子対PGをロボット80に送信する(S54)。
【0154】
続いて、計算機70では、通信装置31によりロボット80から受信した故障情報FIに基づいて、ロボット80の各部における故障発生確率を計算する(S55)。そして、計算機70では、S55で計算した故障発生確率に基づいて、故障発生確率の高い順に遺伝子対を並べ替え、故障リストを更新する(S56)。さらに、計算機70では、故障情報FIを送信したロボット80に対して納金処理を行い(S57)、処理を終了する。
【0155】
図15に沿って、計算機70がロボット80に更新情報UIを送信する場合の計算機70における動作について説明する。
【0156】
計算機70では、ロボット80から更新情報UIの送信要求RTS2があったか否かを判定する(S61)。そして、計算機70では、S61で送信要求RTS2がなかったと判定すると、再びS61に戻って判定を行い、送信要求RTS2を待ちつづける待ち状態となる。
【0157】
計算機70では、S61で送信要求RTS2があったと判定すると、通信装置31により更新情報UIをロボット80に送信する(S62)。続いて、計算機70では、更新情報UIを受信したロボット80に対して課金処理を行い(S63)、処理を終了する。
【0158】
なお、計算機70は、故障リストが前回ロボット80に更新情報UIを送信してから更新されていない場合には、ロボット80から送信要求RTS2があっても更新情報を送信しなくてもよく、このときは課金処理も行わなくてよい。
【0159】
図16に沿って、診断部52により故障の可能性を検出した場合のロボット80での動作について説明する。ロボットECU51では、診断部52により故障検出を行う(S71)。
【0160】
ロボットECU51では、S71で行った故障検出で故障箇所を検出した場合、通信装置41によりその故障箇所を示す故障情報FIを計算機70に送信する(S72)。
【0161】
ロボットECU51では、検出した故障に対応する故障対応遺伝子を含む遺伝子対が第2遺伝子メモリ54に記憶されているか否かを判定する(S73)。そして、ロボットECU51では、S73で故障対応遺伝子が記憶されていると判定した場合、S77の処理に移行する。
【0162】
ロボットECU51では、S73で故障対応遺伝子が記憶されていないと判定した場合、通信装置41により検出した故障に対応する故障対応遺伝子を含む遺伝子対PGを要求する送信要求RTS1を計算機70に送信する(S74)。そして、ロボットECU51では、通信装置41により送信要求RTS1に応じた遺伝子対PGを計算機70から受信したか否かを判定する(S75)。ロボットECU51では、S75で遺伝子対PGを受信していないと判定した場合、再びS75に戻って判定を行い、遺伝子対PGの受信を待ち続ける待ち状態となる。
【0163】
ロボットECU51では、S75で遺伝子対PGを受信したと判定した場合、受信した遺伝子対PGを第2遺伝子メモリ54に記憶させ、第2遺伝子メモリ54を更新する(S76)。このとき、ロボットECU51は、受信した遺伝子対PGにより、第2遺伝子メモリ54に並べられて記憶されている遺伝子対のうち一番下の遺伝子対を上書きすると、価値の高い遺伝子対を保持しつつ新たな故障に対応できる。
【0164】
そして、ロボットECU51では、既に第2遺伝子メモリ54に記憶されている遺伝子対又は計算機70から送信された遺伝子対を用いて、S71で検出した故障に対応する故障対応遺伝子を第1遺伝子メモリ53に上書きし切り替える(S77)。
【0165】
続いて、ロボットECU51では、図11のS46〜S48と同様の処理により、ロボットを制御し(S78)、ロボットの制御結果を評価して(S79)、その制御結果に基づいて遺伝子操作を行う(S80)。
【0166】
また、図17に沿って、更新情報UIの要求を行う場合のロボット80での動作について説明する。ロボットECU51では、一定時間毎又は不定期に、通信装置41により計算機70に更新情報UIの送信要求RTS2を行う(S81)。
【0167】
ロボットECU51では、通信装置41により更新情報UIを計算機70から受信したか否かを判定する(S82)。そして、ロボットECU51では、S82で更新情報UIを受信していないと判定した場合、再びS82に戻って判定を行い、更新情報UIの受信を待ち続ける待ち状態となる。
【0168】
一方、ロボットECU51では、S82で更新情報UIを受信したと判定した場合、受診した更新情報UIに含まれる遺伝子対の並び順と同じ順番で第2遺伝子メモリ54に上書きし、第2遺伝子メモリ54を更新する(S83)。
【0169】
通信ロボットシステム60によれば、計算機70は、多数のロボット80から送信される故障情報により得られる故障発生確率に基づいて故障リストの遺伝子対を動的に並べ替えるので、実際の故障の発生に基づく精度の高い統計情報を得ることができる。また、この通信ロボットシステム60によれば、ロボット80は、更新情報を受信して第2遺伝子メモリ54を更新するので、発生確率の高い故障に対して即時に対応することができる。
【0170】
また、通信ロボットシステム60によれば、計算機70では、更新情報を計算機70から受信したロボット80に対して課金するので、故障対応遺伝子の提供ビジネスを行うことができる。さらに、計算機70では、故障情報を計算機70に送信したロボット80に対して納金するので、多数のロボット80から故障情報を得ることが期待できると共に、多数のロボット80から得た故障情報に基づいて精度の高い故障リストを生成することができる。
【0171】
また、通信ロボットシステム60によれば、ロボット80は、第2遺伝子メモリ54に故障発生確率の高い遺伝子対のみを記憶し、記憶されていない故障が発生した場合には計算機70に対して遺伝子対の送信要求をするため、遺伝子対を記憶するためのメモリを節約することができると共に、故障が発生した場合にも高確率で素早く故障に対応することができる。
【0172】
以上、本発明に係る実施の形態について説明したが、本発明は上記実施の形態に限定されることなく様々な形態で実施される。
【0173】
例えば、第1〜3の実施の形態では障害物の数や配置が異なる環境条件の環境や照明条件の異なる環境条件の環境に適応するためのロボットに適用したが、様々な災害条件の異なる環境に適応するための災害ロボットやじゅうたん、畳、フローリング等の掃除条件が異なる環境に適応するためのお掃除ロボット等の他のロボットにも適用可能である。
【0174】
また、第1〜3の実施の形態では周囲の環境を検出するための手段としてカメラ及び赤外線センサを備える構成としたが、2次元視覚センサ等の他の検出手段を備える構成としてもよい。
【0175】
また、第1〜3の実施の形態では環境条件に応じた遺伝子として複数の遺伝子をグループ化した遺伝子グループで構成したが、複数の遺伝子をグループ化しない構成としてもよく、また、環境条件に応じた遺伝子を複数でなく単一の遺伝子で構成してもよい。
【0176】
また、第1〜3の実施の形態ではロボットはデフォルト遺伝子を備える構成としたが、ロボットが未知の環境に置かれることがない場合にはデフォルト遺伝子を備えない構成としてもよい。
【0177】
また、第1〜第3の実施の形態ではロボットはカメラ及び赤外線センサからの各信号に基づいて環境条件を識別する環境入力識別部を備える構成としたが、センサの検出値等から環境条件を直接識別できる場合(例えば、照度センサで検出した照度から周囲の明るさを直接識別できる場合)には環境入力識別部を備えない構成としてもよい。
【0178】
また、第1〜第3の実施の形態ではロボットは行動を行った結果により遺伝子を評価して進化させる進化システム部を備える構成としたが、進化システム部を備えず遺伝子を進化させない構成としてもよい。このような場合でも、ロボットは、予め進化させた遺伝子を備えているため、ある程度周囲の環境に適応できる。
【0179】
また、第3の実施の形態ではロボットは複数の遺伝子グループ及び固定遺伝子を備える構成としたが、ロボットがこれらの遺伝子グループ等を備えず、ロボットが検出した観測データの環境に応じた遺伝子グループを計算機から常に取得する構成としてもよい。
【0180】
また、第3の実施の形態では計算機は想定される複数の環境についてそれぞれ学習させた複数の遺伝子グループを予め備える構成としたが、計算機がこれらの遺伝子グループを備えず、ロボットから観測データを受信した場合には常にシミュレーションでその観測データに応じた遺伝子グループを生成する構成としてもよい。
【0181】
また、第3の実施の形態では通信ロボットシステムをシミュレーションにより遺伝子を生成できる計算機で構成したが、シミュレーションにより遺伝子を生成する機能を備えず、他の計算機で生成した遺伝子グループを内部に記憶し、少なくとも通信機能を備える装置で構成してもよい。
【0182】
また、第3及び第5の実施の形態ではロボットと計算機とで無線により相互に通信を行う構成としたが、有線によりロボットと計算機とを直接接続して通信を行う構成としてもよい。
【0183】
また、第4の実施の形態では診断部によりしきい値を用いて故障の可能性を検出した後に故障診断を行う構成としたが、故障の可能性を検出することなく常に故障診断を行う構成としてもよい。
【0184】
また、第4の実施の形態では第2遺伝子メモリに遺伝子対を備える構成としたが、故障の価値が高い順に遺伝子対を並び替えた状態で遺伝子対を備える構成としてもよい。
【0185】
また、第4及び第5の実施の形態ではロボットは診断部により単一の故障のみを検出する構成としたが、複数の故障を検出してそれらの故障に対応する構成としてもよい
また、第5の実施の形態では計算機がロボットから送信要求があった場合に更新情報を送信する構成としたが、故障リストそのものを送信する構成としてもよい。
【0186】
また、第5の実施の形態では診断部で検出した故障に対応する故障対応遺伝子を含む遺伝子対が第2遺伝子メモリにない場合に計算機からその遺伝子対を受信する構成としたが、ロボットが第2遺伝子メモリ及び遺伝子対を備えず、故障の発生毎に故障情報を計算機に送信して故障に対応する故障対応遺伝子を含む遺伝子対を受信する構成としてもよい。
【0187】
また、第5の実施の形態では故障発生確率の高い順に遺伝子対を並べて故障リストを構成したが、故障によるロボット自身や周囲への影響の大きさ等の、他の故障の価値の高い順に遺伝子対を並べて故障リストを構成してもよい。
【0188】
また、本実施の形態ではロボットが物理的な実体を持ち物理的な環境に作用する構成としたが、エージェントのような物理的な実体のないソフトウェアが、ネットワークで接続された計算機システム内環境やシミュレーション環境で作用する構成としてもよい。
【図面の簡単な説明】
【0189】
【図1】本実施の形態に係るロボットの構成図である。
【図2】第1、第2及び第4の実施の形態に係るロボットの斜視図である。
【図3】第1の実施の形態に係る環境の例であり、(a)は障害物が少ない環境であり、(b)は障害物が多い環境であり、(c)は障害物がなく地面にオイルが撒かれた未知の環境である。
【図4】第1の実施の形態に係るロボットのロボットECUにおける処理の流れを示すフローチャートである。
【図5】第2の実施の形態に係るロボットのロボットECUにおける処理の流れを示すフローチャートである。
【図6】第3の実施の形態に係る通信ロボットシステムの構成図である。
【図7】第3の実施の形態に係る計算機における動作を示すフローチャートである。
【図8】第3の実施の形態に係るロボットにおける動作を示すフローチャートである。
【図9】第4の実施の形態に係るロボットの構成図である。
【図10】ロボットの行動の行動評価値の変化を示す図である。
【図11】第4の実施の形態に係るロボットにおける動作を示すフローチャートである。
【図12】第5の実施の形態に係る通信ロボットシステムの構成図である。
【図13】第5の実施形態に係る計算機が記憶している故障リストを表す図である。
【図14】第5の実施の形態に係る計算機における故障情報を受信する場合の動作を示すフローチャートである。
【図15】第5の実施の形態に係る計算機における更新情報を送信する場合の動作を示すフローチャートである。
【図16】第5の実施の形態に係るロボットにおける故障の可能性を検出した場合の動作を示すフローチャートである。
【図17】第5の実施の形態に係るロボットにおける更新情報の要求を行う場合の動作を示すフローチャートである。
【符号の説明】
【0190】
1,40,50,80…ロボット、2…カメラ、3…赤外線センサ、4…右輪用角度センサ、5…左輪用角度センサ、6…右輪アクチュエータ、7…左輪アクチュエータ、8…右輪、9…左輪、10,51…ロボットECU、11…遺伝子メモリ、11a,11b…遺伝子グループ、11c…デフォルト遺伝子、12…環境入力識別部、13…遺伝子グループ切替部、14…ロボット制御部、15…進化システム部、16…ロボット本体、20,60…通信ロボットシステム、30,70…計算機、31,41…通信装置、52…診断部、53…第1遺伝子メモリ、54…第2遺伝子メモリ、55…切替部

【特許請求の範囲】
【請求項1】
遺伝子に基づいて行動するロボットであって、
ロボットに関する環境を検出する検出手段と、
予め想定される複数の環境に応じてそれぞれ学習させた複数の遺伝子と、
前記検出手段で検出した環境に応じて前記複数の遺伝子を切り替える切替手段と
を備え、
前記切替手段により切り替えた遺伝子に基づいて行動することを特徴とするロボット。
【請求項2】
前記検出手段では、前記ロボットの周囲の環境を検出し、
前記複数の遺伝子は、前記ロボットの周囲の環境に応じてそれぞれ学習させた遺伝子であることを特徴とする請求項1に記載するロボット。
【請求項3】
想定外の環境に対応するための固定遺伝子を備え、
前記切替手段では、前記検出手段で検出した環境が想定外の環境の場合、前記固定遺伝子に切り替えることを特徴とする請求項2に記載するロボット。
【請求項4】
外部装置と通信するための通信手段を備え、
前記検出手段で検出した環境が想定外の環境の場合、前記通信手段により、前記検出手段で検出した環境を前記外部装置に送信し、当該環境に応じて学習させた遺伝子を前記外部装置から受信し、
前記切替手段では、前記固定遺伝子から前記受信した遺伝子に切り替え、
当該受信した遺伝子に基づいて行動することを特徴とする請求項3に記載するロボット。
【請求項5】
前記ロボットは、ロボットが行動するために必要な基本遺伝子を備え、
前記検出手段では、前記ロボットの各部の故障を検出し、
前記複数の遺伝子は、前記ロボットの各部の故障に応じてそれぞれ学習させた遺伝子であり、
前記切替手段では、前記検出手段で故障を検出した場合、前記基本遺伝子から当該故障に対応する遺伝子に切り替えることを特徴とする請求項1に記載するロボット。
【請求項6】
遺伝子に基づいてロボットが行動した結果を評価する行動評価手段を備え、
前記行動評価手段による評価の時間的変化に基づいて前記検出手段で故障検出を行うか否かを判断することを特徴とする請求項5に記載するロボット。
【請求項7】
前記ロボットの各部の故障と当該故障に応じて学習させた遺伝子とからなる複数の遺伝子対で保持することを特徴とする請求項5又は6に記載するロボット。
【請求項8】
前記ロボットの各部の故障の価値に応じて前記複数の遺伝子対を並べたうち、価値の高い遺伝子対を保持することを特徴とする請求項7に記載するロボット。
【請求項9】
外部装置と通信するための通信手段を備え、
前記検出手段で検出した故障に対応する前記遺伝子対を保持していない場合、前記通信手段により、前記検出した故障の情報を前記外部装置に送信し、当該故障に対応する遺伝子対を前記外部装置から受信し、
前記切替手段では、前記基本遺伝子から前記受信した遺伝子対の遺伝子に切り替え、
当該受信した遺伝子に基づいて行動することを特徴とする請求項8に記載するロボット。
【請求項10】
遺伝子に基づいて行動するロボットが外部の計算機と通信を行う通信ロボットシステムであって、
前記ロボットは、前記計算機と通信するためのロボット側通信手段と、ロボットに関する環境を検出する検出手段とを備え、
前記計算機は、前記ロボットと通信するための計算機側通信手段を備え、
前記ロボットでは、前記ロボット側通信手段により前記検出手段において検出した環境を前記計算機に送信し、
前記計算機では、前記計算機側通信手段により、前記ロボットから送信された環境を受信し、当該受信した環境に応じた遺伝子を前記ロボットに送信し、
前記ロボットでは、前記ロボット側通信手段により前記計算機から送信された遺伝子を受信し、当該受信した遺伝子に基づいて行動することを特徴とする通信ロボットシステム。
【請求項11】
前記ロボットでは、前記検出手段により前記ロボットの周囲の環境を検出し、
前記計算機は、前記ロボットの周囲の環境に応じて学習させたロボットの遺伝子を生成する生成手段を備えることを特徴とする請求項10に記載する通信ロボットシステム。
【請求項12】
前記計算機では、前記生成手段により前記ロボットから送信された環境に応じて学習させた遺伝子を生成することを特徴とする請求項11に記載する通信ロボットシステム。
【請求項13】
前記計算機では、前記生成手段により想定されるロボットの周囲の環境に応じて学習させた遺伝子を予め生成することを特徴とする請求項11又は12に記載する通信ロボットシステム。
【請求項14】
前記ロボットは、予め想定される複数の環境に応じてそれぞれ学習させた複数の遺伝子と、想定外の環境に対応するための固定遺伝子と、前記検出手段で検出した環境に応じて前記複数の遺伝子を切り替える切替手段とを備え、
前記検出手段で検出した環境が想定外の環境の場合、前記ロボットでは、前記切替手段により前記固定遺伝子に切り替え、当該固定遺伝子に基づいて行動し、前記ロボット側通信手段により前記検出手段で検出した環境を前記計算機に送信し、
前記計算機では、前記計算機側通信手段により、前記ロボットから送信された環境を受信し、当該受信した環境に応じた遺伝子を前記ロボットに送信し、
前記ロボットでは、前記ロボット側通信手段により前記計算機から送信された遺伝子を受信し、前記切替手段により前記固定遺伝子から当該受信した遺伝子に切り替え、当該受信した遺伝子に基づいて行動することを特徴とする請求項11〜13のいずれか1項に記載する通信ロボットシステム。
【請求項15】
前記ロボットでは、前記検出手段により前記ロボットの各部の故障を検出し、前記ロボット側通信手段により前記検出手段で検出した故障の情報を前記計算機に送信し、
前記計算機は、前記ロボットの各部の故障と当該故障に応じて学習させた遺伝子とからなる複数の遺伝子対と、前記ロボット側通信手段により送信された故障の情報に基づいて前記複数の遺伝子対を並べる更新手段とを備えることを特徴とする請求項10に記載する通信ロボットシステム。
【請求項16】
前記計算機では、前記更新手段により更新された複数の遺伝子対の情報のうち、一部又は全部を前記計算機側通信手段により前記ロボットに送信することを特徴とする請求項15に記載する通信ロボットシステム。
【請求項17】
前記計算機は、前記計算機側通信手段により前記遺伝子対の情報を前記ロボットに送信した場合、当該ロボットに対して課金処理を行う課金処理手段を備えることを特徴とする請求項16に記載する通信ロボットシステム。
【請求項18】
前記計算機は、前記計算機側通信手段により前記故障の情報を前記ロボットから受信した場合、当該ロボットに対して納金処理を行う納金処理手段を備えることを特徴とする請求項16又は17に記載する通信ロボットシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2006−127047(P2006−127047A)
【公開日】平成18年5月18日(2006.5.18)
【国際特許分類】
【出願番号】特願2004−312732(P2004−312732)
【出願日】平成16年10月27日(2004.10.27)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】