(57)【要約】【課題】  自立的な行動を制御できるようにする。【解決手段】  入力期待値計算部５０２は、現状の行動を維持したときに環境に与える影響を所定の方法により算出する。行動後入力期待値計算部５０４は、現状の行動とは異なる行動を起こしたときに環境に与える影響を所定の方法により算出する。算出されたこれらの値の差が最も大きくなる行動が、行動探索部５０５により探索される。探索された行動を実行するためのデータが、行動生成部５０６に供給され、アクチュエータなどが駆動されることにより探索された行動が実行される。実行された行動に関するデータは、保持部５０７に供給され、所定のタイミングで、写像学習部５０８による学習が行われ、次回の行動にその学習結果が生かされるシステムとされている。本発明は、自律行動を行うロボット装置に適用することができる。【選択図】図６
2006285898.tif 000002
【特許請求の範囲】
【請求項１】
センサにより観測された情報から所定のデータを生成する入力生成手段と、
前記入力生成手段により生成された前記所定のデータから、その所定のデータが生成された時点での行動を継続したときに、前記センサに入力されるデータの入力期待値を計算する入力期待値計算手段と、
前記所定のデータが生成された時点での行動とは異なる行動を、次の時点で行った場合の前記センサに入力されるデータの行動後入力期待値を計算する行動後入力期待値計算手段と
を備えることを特徴とする制御装置。
【請求項２】
前記入力期待値計算手段は、経験に基づき獲得された関数により前記入力期待値を計算する
ことを特徴とする請求項１に記載の制御装置。
【請求項３】
前記入力期待値計算手段は、事前知識に基づき予め設計された関数により前記入力期待値を計算する
ことを特徴とする請求項１に記載の制御装置。
【請求項４】
前記行動後入力期待値計算手段は、統計的学習手法を用い、経験に基づき獲得された関数により前記行動後入力期待値を計算する
ことを特徴とする請求項１に記載の制御装置。
【請求項５】
前記関数は、前記入力生成手段により生成される前記所定のデータを任意の手法で離散化することにより得られた状態空間の各要素と、所定の一連の行動を構成する行動シーケンス空間とのテーブルで記述されている
ことを特徴とする請求項４に記載の制御装置。
【請求項６】
前記関数は、所定の一連の行動を構成する行動シーケンス毎に独立で、前記入力生成手段により生成される前記所定のデータによる空間上の連続関数である
ことを特徴とする請求項４に記載の制御装置。
【請求項７】
前記関数は、前記入力生成手段により生成される前記所定のデータを任意の手法で離散化することにより得られた状態空間の要素毎に独立な、行動を生成するための指令値による空間上の連続関数である
ことを特徴とする請求項４に記載の制御装置。
【請求項８】
前記関数は、前記入力生成手段により生成される前記所定のデータと、行動を生成するための指令値による空間上の連続関数である
ことを特徴とする請求項４に記載の制御装置。
【請求項９】
前記統計的学習手法に用いられるデータは、制御対象とされる装置に、外部から直接的に教示されたときに獲得されるデータである
ことを特徴とする請求項４に記載の制御装置。
【請求項１０】
前記統計的学習手法に用いられるデータは、予め設計された行動を実行し、その結果、前記センサにより観測される情報を収集することで獲得される
ことを特徴とする請求項４に記載の制御装置。
【請求項１１】
前記統計的学習手法に用いられるデータは、ランダムに生成される行動を実行し、その結果、前記センサにより観測される情報を収集することで獲得される
ことを特徴とする請求項４に記載の制御装置。
【請求項１２】
前記統計的学習手法に用いられるデータは、行動を継続したときと、新たな行動を起こしたときとの、前記入力期待値計算手段により計算される前記入力期待値の変動を評価指標として行動を生成し、その結果、前記センサにより観測される情報を収集することで獲得される
ことを特徴とする請求項４に記載の制御装置。
【請求項１３】
前記統計的学習手法に用いられるデータは、制御対象とされる装置に、外部から直接的に教示されたときに獲得されるか、予め設計された行動を実行し、その結果、前記センサにより観測される情報を収集することで獲得されるか、ランダムに生成される行動を実行し、その結果、前記センサにより観測される情報を収集することで獲得されるか、行動を継続したときと、新たな行動を起こしたときとの、前記入力期待値計算手段により計算される前記入力期待値の変動を評価指標として行動を生成し、その結果、前記センサにより観測される情報を収集することで獲得されるか、または、これらの手法の組み合わせにより獲得される
ことを特徴とする請求項４に記載の制御装置。
【請求項１４】
前記入力期待値と前記行動後入力期待値の正規化された偏差が、極大化するときの行動を、次の時点での行動として決定する
ことを特徴とする請求項１に記載の制御装置。
【請求項１５】
所定の時刻における行動を生成するための行動ベクトルを時系列に並べ、所定の一連の動きを構成する行動シーケンスを生成し、その行動シーケンスが完了するまで、新たな行動シーケンスを生成しない
ことを特徴とする請求項１に記載の制御装置。
【請求項１６】
所定の時刻における行動を生成するための行動ベクトルのうち、第１の時刻に出力された行動ベクトルと最も空間的距離が近い行動ベクトルを出力する
ことを特徴とする請求項１に記載の制御装置。
【請求項１７】
前記関数は、何も行動を起こさず、環境を観測するモードを備え、そのモードに設定さているときに取得されるデータを用いて学習される
ことを特徴とする請求項４に記載の制御装置。
【請求項１８】
前記関数は、その関数を学習するためのモードを有さず、取得されるデータをサンプリングして学習される
ことを特徴とする請求項４に記載の制御装置。
【請求項１９】
センサにより観測された情報から所定のデータを生成する入力生成ステップと、
前記入力生成ステップの処理で生成された前記所定のデータから、その所定のデータが生成された時点での行動を継続したときに、前記センサに入力されるデータの入力期待値を計算する入力期待値計算ステップと、
前記所定のデータが生成された時点での行動とは異なる行動を、次の時点で行った場合の前記センサに入力されるデータの行動後入力期待値を計算する行動後入力期待値計算ステップと
を含むことを特徴とする制御方法。
【請求項２０】
センサにより観測された情報から所定のデータを生成する入力生成ステップと、
前記入力生成ステップの処理で生成された前記所定のデータから、その所定のデータが生成された時点での行動を継続したときに、前記センサに入力されるデータの入力期待値を計算する入力期待値計算ステップと、
前記所定のデータが生成された時点での行動とは異なる行動を、次の時点で行った場合の前記センサに入力されるデータの行動後入力期待値を計算する行動後入力期待値計算ステップと
を含む処理をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置および方法、並びにプログラムに関し、特に、ロボットなどの自立的に行動する装置の制御に用いて好適な制御装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
近年、ロボットは、産業の分野だけでなく、家庭やエンターテイメントの分野などの、様々な分野で利用されつつある。そのために、ロボットの開発が盛んに行われている。ロボット開発におけるこれまでの方法論は基本的に、想定される環境を事前に分析し、その分析をもとに、その環境における所望の動作を設計しプログラミングするというものであった。
【０００３】
このような、表層レベルの動作を直接設計する手法には以下のような問題があった。
問題１．想定外の環境では有効に動作しない
問題２．様々な環境に応じた複雑な行動を実現しようとすると、作りこみの手間が膨大になる
問題３．実現される動作は設計者の発想の枠内にとどまるため、ユーザがその行動を見ていて飽きやすい
問題４．環境の連続的な変化に対して不連続な挙動を示すため、ユーザが見ていて不自然に感じる
【０００４】
問題１は、想定される環境を事前に分析し、そこで所望の動作を設計しているために、設計段階で想定されていない環境に関しては、事前に分析されず、所望の動作を設計するなどされていないために発生する可能性がある。
【０００５】
問題１を解決するために、全ての環境を事前に分析することは不可能であるが、可能な限り分析を行うようにすると、問題２が発生する可能性がある。また、環境の事前の分析は、設計者が想定できる環境であり、ロボットを使用する側の環境とは異なる場合がある。そのために、設計者が使用する側の環境まで、完全に考慮しきって開発（設計）を行うのは困難であり、設計者が想定できる範囲内の環境内で、設計が行われることになってしまう。そのために、問題３が発生する可能性がある。
【０００６】
問題４は、環境は連続的に変化しているが、設計段階では、想定される環境毎に所望の動作が設計され、その設計されている動作が、切り替えられながらロボットは動作するために、発生する可能性がある。
【０００７】
このような問題を解決するための提案はなされているが、いずれの提案も、対症療法的な改善にとどまっている。
【０００８】
このような方法論の立場、すなわちロボットの行動を、直接的に設計し、プログラムするのではなく、行動を駆動する１つ上のメタレベル、すなわち行動を決定するための評価基準を設計し、プログラムすることが提案されている。その方法では、設計された評価基準に基づいてロボットが、自律的に行動探索や行動生成を行うことで、上記の問題１乃至４を解決しようとするものである。
【０００９】
このような提案としては、例えば以下のような提案がある。
提案１．好奇心や親和欲求など、予め設計され作りこまれた内部状態変数もしくは、生得的に埋め込まれた自己保存(Homeostasis)基準
提案２．予測誤差あるいは環境適合度その他のタスクスペシフィックに準備されたパラメータ
【００１０】
提案１や提案２においては、評価基準として行動生成が行なわれることになる。このようなロボットのシステムの例として、提案１に対しては、特許文献１や特許文献２がある。提案２に対しては、非特許文献１がある。
【特許文献１】特開2002-219677号公報
【特許文献２】特開2003-191187号公報
【非特許文献１】Oudeyer, P-Y. and Kaplan, F. Intelligent adaptive curiosity: a source of self-development. In Luc Berthouze and Hideki Kozima and Christopher G. Prince and Giulio Sandini and Georgi Stojanov and G. Metta and C. Balkenius, editor, Proceedings of the 4th International Workshop on Epigenetic Robotics, vol. 117, pages 127-130, 2004. Lund University Cognitive Studies.
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、提案１では、
問題１．事前に想定されたタスクを実現するための行動に限定される
問題２．新しい複雑な行動を生成するのは困難である
問題３．予期せぬ環境など、実世界で必ずしもロバストに動かない可能性がある
などの問題がある。
【００１２】
また、提案２では、提案１における問題点１乃至３を、ある程度は解決できるが、
そもそもタスクレベルが比較的低く、人間から見て面白いあるいは飽きないような行動を継続することが困難である
といった問題がある。
【００１３】
本発明はこのような状況に鑑みてなされたものであり、様々な環境の変化に対応する制御を行えるようにする。
【課題を解決するための手段】
【００１４】
本発明の制御装置は、第１に、センサにより観測された情報から所定のデータを生成する入力生成手段と、入力生成手段により生成された所定のデータから、その所定のデータが生成された時点での行動を継続したときに、センサに入力されるデータの入力期待値を計算する入力期待値計算手段と、所定のデータが生成された時点での行動とは異なる行動を、次の時点で行った場合のセンサに入力されるデータの行動後入力期待値を計算する行動後入力期待値計算手段とを備えることを要旨とする。
【００１５】
第２に、前記第１の要旨に加え、前記入力期待値計算手段は、経験に基づき獲得された関数により入力期待値を計算することを要旨とする。
【００１６】
第３に、前記第１の要旨に加え、前記入力期待値計算手段は、事前知識に基づき予め設計された関数により入力期待値を計算することを要旨とする。
【００１７】
第４に、前記第１の要旨に加え、行動後入力期待値計算手段は、統計的学習手法を用い、経験に基づき獲得された関数により行動後入力期待値を計算することを要旨とする。
【００１８】
第５に、前記第４の要旨に加え、前記関数は、入力生成手段により生成される所定のデータを任意の手法で離散化することにより得られた状態空間の各要素と、所定の一連の行動を構成する行動シーケンス空間とのテーブルで記述されていることを要旨とする。
【００１９】
第６に、前記第４の要旨に加え、前記関数は、所定の一連の行動を構成する行動シーケンス毎に独立で、入力生成手段により生成される所定のデータによる空間上の連続関数であることを要旨とする。
【００２０】
第７に、前記第４の要旨に加え、前記関数は、入力生成手段により生成される所定のデータを任意の手法で離散化することにより得られた状態空間の要素毎に独立な、行動を生成するための指令値による空間上の連続関数であることを要旨とする。
【００２１】
第８に、前記第４の要旨に加え、前記関数は、入力生成手段により生成される所定のデータと、行動を生成するための指令値による空間上の連続関数であることを要旨とする。
【００２２】
第９に、前記第４の要旨に加え、前記統計的学習手法に用いられるデータは、制御対象とされる装置に、外部から直接的に教示されたときに獲得されるデータであることを要旨とする。
【００２３】
第１０に、前記第４の要旨に加え、前記統計的学習手法に用いられるデータは、予め設計された行動を実行し、その結果、センサにより観測される情報を収集することで獲得されることを要旨とする。
【００２４】
第１１に、前記第４の要旨に加え、前記統計的学習手法に用いられるデータは、ランダムに生成される行動を実行し、その結果、センサにより観測される情報を収集することで獲得されることを要旨とする。
【００２５】
第１２に、前記第４の要旨に加え、前記統計的学習手法に用いられるデータは、行動を継続したときと、新たな行動を起こしたときとの、入力期待値計算手段により計算される入力期待値の変動を評価指標として行動を生成し、その結果、センサにより観測される情報を収集することで獲得されることを要旨とする。
【００２６】
第１３に、前記第４の要旨に加え、前記統計的学習手法に用いられるデータは、制御対象とされる装置に、外部から直接的に教示されたときに獲得されるか、予め設計された行動を実行し、その結果、センサにより観測される情報を収集することで獲得されるか、ランダムに生成される行動を実行し、その結果、センサにより観測される情報を収集することで獲得されるか、行動を継続したときと、新たな行動を起こしたときとの、入力期待値計算手段により計算される入力期待値の変動を評価指標として行動を生成し、その結果、センサにより観測される情報を収集することで獲得されるか、または、これらの手法の組み合わせにより獲得されることを要旨とする。
【００２７】
第１４に、前記第１の要旨に加え、前記入力期待値と前記行動後入力期待値の正規化された偏差が、極大化するときの行動を、次の時点での行動として決定することを要旨とする。
【００２８】
第１５に、前記第１の要旨に加え、所定の時刻における行動を生成するための行動ベクトルを時系列に並べ、所定の一連の動きを構成する行動シーケンスを生成し、その行動シーケンスが完了するまで、新たな行動シーケンスを生成しないことを要旨とする。
【００２９】
第１６に、前記第１の要旨に加え、所定の時刻における行動を生成するための行動ベクトルのうち、第１の時刻に出力された行動ベクトルと最も空間的距離が近い行動ベクトルを出力することを要旨とする。
【００３０】
第１７に、前記第４の要旨に加え、前記関数は、何も行動を起こさず、環境を観測するモードを備え、そのモードに設定さているときに取得されるデータを用いて学習されることを要旨とする。
【００３１】
第１８に、前記第４の要旨に加え、前記関数は、その関数を学習するためのモードを有さず、取得されるデータをサンプリングして学習されることを要旨とする。
【００３２】
本発明の制御方法は、センサにより観測された情報から所定のデータを生成する入力生成ステップと、入力生成ステップの処理で生成された所定のデータから、その所定のデータが生成された時点での行動を継続したときに、センサに入力されるデータの入力期待値を計算する入力期待値計算ステップと、所定のデータが生成された時点での行動とは異なる行動を、次の時点で行った場合のセンサに入力されるデータの行動後入力期待値を計算する行動後入力期待値計算ステップとを含むことを要旨とする。
【００３３】
本発明のプログラムは、センサにより観測された情報から所定のデータを生成する入力生成ステップと、入力生成ステップの処理で生成された所定のデータから、その所定のデータが生成された時点での行動を継続したときに、センサに入力されるデータの入力期待値を計算する入力期待値計算ステップと、所定のデータが生成された時点での行動とは異なる行動を、次の時点で行った場合のセンサに入力されるデータの行動後入力期待値を計算する行動後入力期待値計算ステップとを含む処理をコンピュータに実行させることを要旨とする。
【００３４】
本発明の制御装置および方法、並びにプログラムにおいては、行動を継続したときにセンサから取得される情報と、行動を継続せずに、新たな行動を実行したときに取得される情報が、それぞれ計算される。
【発明の効果】
【００３５】
本発明によれば、制御に関する事前の設計のコストを低く抑えることができる。また、ユーザおよび環境に応じた複雑で適切な、人が見て面白いと思えるような行動を制御対象の装置で実現させるためのデータを計算することができる。
【発明を実施するための最良の形態】
【００３６】
以下に本発明の最良の形態を説明するが、開示される発明と実施の形態との対応関係を例示すると、次のようになる。明細書中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
【００３７】
さらに、この記載は、明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現し、追加されたりする発明の存在を否定するものではない。
【００３８】
本発明の制御装置は、センサにより観測された情報から所定のデータを生成する入力生成手段（例えば、図６の入力部５０１）と、入力生成手段により生成された所定のデータから、その所定のデータが生成された時点での行動を継続したときに、センサに入力されるデータの入力期待値を計算する入力期待値計算手段（例えば、図６の入力期待値計算部５０２）と、所定のデータが生成された時点での行動とは異なる行動を、次の時点で行った場合のセンサに入力されるデータの行動後入力期待値を計算する行動後入力期待値計算手段（例えば、図６の行動後入力期待値計算部５０４）とを備える。
【００３９】
以下に、本発明の実施の形態について図面を参照して説明する。
【００４０】
［ロボット装置について］
本実施の形態として、本発明を、外部環境中に存在する物体とそのインタラクションを学習する２足歩行タイプのロボット装置に適用した場合を例に挙げて説明する。このロボット装置は、住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボットであり、人間が行う基本的な動作を表出できるエンターテインメントロボットでもある。
【００４１】
図１は、ロボット装置の外観の構成を示す図である。図１に示すように、本実施の形態におけるロボット装置１は、体幹部ユニット２の所定の位置に頭部ユニット３が連結されると共に、左右２つの腕部ユニット４Ｒ／Ｌと、左右２つの脚部ユニット５Ｒ／Ｌが連結されて構成されている（ただし、ＲおよびＬの各々は、右および左の各々を示す接尾辞である。以下において同じ）。
【００４２】
このロボット装置１が具備する関節自由度構成を図２に模式的に示す。頭部ユニット３を支持する首関節は、首関節ヨー軸１０１と、首関節ピッチ軸１０２と、首関節ロール軸１０３という３自由度を有している。
【００４３】
また、上肢を構成する各々の腕部ユニット４Ｒ／Ｌは、肩関節ピッチ軸１０７と、肩関節ロール軸１０８と、上腕ヨー軸１０９と、肘関節ピッチ軸１１０と、前腕ヨー軸１１１と、手首関節ピッチ軸１１２と、手首関節ロール軸１１３と、手部１１４とで構成される。手部１１４は、実際には、複数本の指を含む多関節・多自由度構造体である。ただし、手部１１４の動作は、ロボット装置１の姿勢制御や歩行制御に対する寄与や影響が少ないので、本明細書ではゼロ自由度と仮定する。したがって、各腕部は７自由度を有するとする。
【００４４】
また、体幹部ユニット２は、体幹ピッチ軸１０４と、体幹ロール軸１０５と、体幹ヨー軸１０６という３自由度を有する。
【００４５】
また、下肢を構成する各々の脚部ユニット５Ｒ／Ｌは、股関節ヨー軸１１５と、股関節ピッチ軸１１６と、股関節ロール軸１１７と、膝関節ピッチ軸１１８と、足首関節ピッチ軸１１９と、足首関節ロール軸１２０と、足部１２１とで構成される。本明細書中では、股関節ピッチ軸１１６と股関節ロール軸１１７の交点は、ロボット装置１の股関節位置を定義する。人体の足部１２１は、実際には多関節・多自由度の足底を含んだ構造体であるが、ロボット装置１の足底は、ゼロ自由度とする。したがって、各脚部は、６自由度で構成される。
【００４６】
以上を総括すれば、ロボット装置１全体としては、合計で３＋７×２＋３＋６×２＝３２自由度を有することになる。ただし、エンターテインメント向けのロボット装置１が必ずしも３２自由度に限定されるわけではない。設計・制作上の制約条件や要求仕様等に応じて、自由度すなわち関節数を適宜増減することができることはいうまでもない。
【００４７】
上述したようなロボット装置１がもつ各自由度は、実際にはアクチュエータを用いて実装される。外観上で余分な膨らみを排してヒトの自然体形状に近似させること、２足歩行という不安定構造体に対して姿勢制御を行うことなどの要請から、アクチュエータは小型且つ軽量であることが好ましい。
【００４８】
図３は、ロボット装置１の制御システム構成を模式的に示す図である。図３に示すように、制御システムは、ユーザ入力などに動的に反応して状況認識や予測学習その他を司る思考制御モジュール２００と、アクチュエータ３５０の駆動などロボット装置１の全身協調運動を制御する運動制御モジュール３００とで構成される。
【００４９】
思考制御モジュール２００は、状況認識や予測学習その他に関する演算処理を実行するＣＰＵ（Central Processing Unit）２１１や、ＲＡＭ（Random Access Memory）２１２、ＲＯＭ（Read Only Memory）２１３、および外部記憶装置（ハード・ディスク・ドライブなど）２１４で構成され、モジュール内で自己完結した処理を行うことができる独立駆動型の情報処理装置である。
【００５０】
この思考制御モジュール２００は、画像入力装置２５１から入力される画像データや音声入力装置２５２から入力される音声データなど、外界からの刺激などに従って、ロボット装置１の現在の感情や意思を決定する。ここで、画像入力装置２５１は、例えばＣＣＤ（Charge Coupled Device）カメラを左右に１つずつ備えており、また、音声入力装置２５２は、例えばマイクロホンを複数備えている。また、思考制御モジュール２００は、スピーカを備える音声出力装置２５３を介して、音声を出力することができる。
【００５１】
また、思考制御モジュール２００は、意思決定に基づいた動作または行動シーケンス、すなわち四肢の運動を実行するように、運動制御モジュール３００に対して指令を発行する。
【００５２】
一方の運動制御モジュール３００は、ロボット装置１の全身協調運動を制御するＣＰＵ３１１や、ＲＡＭ３１２、ＲＯＭ３１３、および外部記憶装置（ハード・ディスク・ドライブなど）３１４で構成され、モジュール内で自己完結した処理を行うことができる独立駆動型の情報処理装置である。外部記憶装置３１４には、例えば、オフラインで算出された歩行パターンや目標とするＺＭＰ軌道、その他の行動計画を蓄積することができる。ここで、ＺＭＰとは、歩行中の床反力によるモーメントがゼロとなる床面上の点のことであり、また、ＺＭＰ軌道とは、例えばロボット装置１の歩行動作期間中にＺＭＰが動く軌跡を意味する。なお、ＺＭＰの概念並びにＺＭＰを歩行ロボットの安定度判別規範に適用する点については、Miomir Vukobratovic 著"LEGGED LOCOMOTION ROBOTS"（加藤一郎外著『歩行ロボットと人工の足』（日刊工業新聞社））に記載されている。
【００５３】
運動制御モジュール３００には、図２に示したロボット装置１の全身に分散するそれぞれの関節自由度を実現するアクチュエータ３５０、体幹部ユニット２の姿勢や傾斜を計測する姿勢センサ３５１、左右の足底の離床または着床を検出する接地確認センサ３５２，３５３、バッテリなどの電源を管理する電源制御装置３５４などの各種の装置が、バス・インターフェース（Ｉ／Ｆ）３０１経由で接続されている。ここで、姿勢センサ３５１は、例えば加速度センサとジャイロ・センサの組み合わせによって構成され、接地確認センサ３５２，３５３は、近接センサまたはマイクロ・スイッチなどで構成される。
【００５４】
思考制御モジュール２００と運動制御モジュール３００は、共通のプラットフォーム上で構築され、両者間はバス・インターフェース２０１，３０１を介して相互接続されている。
【００５５】
運動制御モジュール３００では、思考制御モジュール２００から指示された行動を体現すべく、各アクチュエータ３５０による全身協調運動を制御する。すなわち、ＣＰＵ３１１は、思考制御モジュール２００から指示された行動に応じた動作パターンを外部記憶装置３１４から取り出し、または内部的に動作パターンを生成する。そして、ＣＰＵ３１１は、指定された動作パターンに従って、足部運動、ＺＭＰ軌道、体幹運動、上肢運動、腰部水平位置および高さなどを設定すると共に、これらの設定内容に従った動作を指示する指令値を各アクチュエータ３５０に転送する。
【００５６】
また、ＣＰＵ３１１は、姿勢センサ３５１の出力信号によりロボット装置１の体幹部ユニット２の姿勢や傾きを検出すると共に、各接地確認センサ３５２，３５３の出力信号により各脚部ユニット５Ｒ／Ｌが遊脚または立脚の何れの状態であるかを検出することによって、ロボット装置１の全身協調運動を適応的に制御することができる。
【００５７】
また、ＣＰＵ３１１は、ＺＭＰ位置が常にＺＭＰ安定領域の中心に向かうように、ロボット装置１の姿勢や動作を制御する。
【００５８】
さらに、運動制御モジュール３００は、思考制御モジュール２００において決定された意思通りの行動がどの程度発現されたか、すなわち処理の状況を、思考制御モジュール２００に返すようになっている。
【００５９】
このようにしてロボット装置１は、制御プログラムに基づいて自己および周囲の状況を判断し、自律的に行動することができる。
【００６０】
続いて、上述したロボット装置１が有する自律行動機能について、図４の模式図を用いて説明する。ロボット装置１は、環境４１１に対してセンサ４０１やアクチュエータ４０５を介して相互作用する。すなわち、ロボット装置１は、センサ４０１からの入力から環境４１１の情報を取得し、アクチュエータ４０５の駆動によって環境４１１に影響を与える。
【００６１】
例えば、ロボット装置１は、センサ４０１として、音声入力装置２５２（図３）を有し、その音声入力装置２５２により、環境４１１からの音の情報を収集する。その結果、ロボット装置１は、アクチュエータ４０５を制御し、例えば、音のする方に移動するなどの行動を起こす。ロボット装置１が行動することにより、環境４１１の状況が変化する。環境４１１の状況が変化するとは、例えば、ユーザが、音のする方に移動するロボット装置１に注目し、ユーザが手を叩くなど、新たな音が発せられるなどである。
【００６２】
センサ４０１からの入力は、認識器４０２に供給される。認識器４０２は、センサ４０１から供給されたデータから、特徴量を抽出し、その結果を用いて注目する物体を決定するなどの処理を実行する。また、認識器４０２は、さまざまな認識結果の時間同期や統合も行う。
【００６３】
このようにして認識器４０２によりひとまとまりにされた外界観測結果は、予測器や制御器などの学習器や評価器、行動計画器等に供給される。これらの出力データとして生成された行動は、最終的にアクチュエータ４０５に対する指示値に変換され、アクチュエータ４０５を駆動して環境へ作用することになる。
【００６４】
また、人が外部からロボット装置１に対して直接教示を行う場合も、人が外力を加えてアクチュエータ４０５を動かし、環境４１１へ影響を与えることになる。ロボット装置１は、このような形で自らの身体を通じた環境４１１への影響をセンサ４０１で観測することにより系全体が閉じるように構成されている。
【００６５】
なお制御対象とされる装置（ロボット装置１）に、外部から直接的にユーザにより教示されたときのデータも取得され、後述する学習の処理（方法Ｂ−１乃至方法Ｂ−４として説明する処理）に用いられるようにしても良い。
【００６６】
ここではロボット装置１のセンサ４０１への入力として、画像情報、音声情報、全身関節角度情報を例にあげ、図５を参照し、さらに、ロボット１の構成について説明を加える。なお、ロボット装置１への入力セットは、画像情報、音声情報、全身関節角度情報に限られるわけではなく、さらに多くのセンサ情報が処理されるようにしても良いし、少なくてもよい。
【００６７】
まず、センサ４０１を構成する音声入力デバイス４３１により取得された音声は、デバイスドライバ４４１により、音声データに変換され、音声特徴抽出部４５１に供給される。そして音声特徴抽出部４５１により、音声データが取得された時刻の時刻情報が生成され、音声データは音声特徴ベクトルに変換される。音声特徴ベクトルの成分は、例えば、パワーであるとか、あるいはメルケプストラム特徴量ベクトルなどである。
【００６８】
音声特徴抽出部４５１における処理の詳細（音声特徴抽出部４５１の処理の仕方として適用できる技術）は、本出願人が先に出願した特願２００２―０７４９０５号を適用することができる。
【００６９】
センサ４０１を構成する画像入力デバイス４３２により撮像（撮影）された画像は、デバイスドライバ４４２により、画像データに変換され、画像特徴抽出部４５２に供給される。そして、画像特徴抽出部４５２により、画像データが取得された時刻の時刻情報が生成され、画像データは画像特徴ベクトルに変換される。
【００７０】
画像特徴ベクトルの内容は、画像特徴抽出部４５２による処理に依存するが、例えば、特徴点の位置や特徴強度の配列、あるいは画像を領域分割処理した結果得られる各領域の重心や大きさ、モーメント、および各領域に対応付けられた特徴量やラベル等の配列などがある。さらに、画像から物体の３次元位置を計測することができる場合は、その計算結果を加えることも可能である。
【００７１】
画像特徴抽出部４５２では、例えば次のような実装が考えられる。まず、予め既知色の色分布データーベースを与えておき、入力画像中の画素毎にどの既知色データに一致するかを検索し、その色インデックスを割り当てる。このような処理はハードウェアできわめて高速に行うことができる。次に、こうして得られたインデックス画像に対して領域結合およびラベル付け処理を行い、併せて重心位置やモーメントの計算を行う。必要に応じ、平均色の計算や、該当領域の視差画像を参照すれば平均視差および、画面内位置からその物体の３次元位置が復元される。
【００７２】
このような画像特徴抽出部４５２における処理の詳細（音声特徴抽出部４５１の処理の仕方として適用できる技術）は、本出願人が先に出願した特願平０９−２３５２８５号を適用することができる。
【００７３】
ロボット装置１の各関節に取り付けられたセンサにより構成される関節制御デバイス４３３により取得された全身の各部からの関節角情報は、デバイスドライバ４４３により、関節角データに変換され、姿勢情報計算部４５３に供給される。姿勢情報計算部４５３は、供給される関節角データ（例えば、ロボット装置１の手先に設置されたセンサから取得された関節角データ）を、自己基準座標内での手先位置に変換し、そのデータを取得した時刻の時刻情報を生成し、記録する。
【００７４】
音声特徴抽出部４５１、画像特徴抽出部４５２、および、姿勢情報計算部４５３でそれぞれ生成されたデータは、情報統合部４５５に供給される。情報統合部４５５には、異なるタイミングおよび間隔で次々と入力されてくる音声特徴抽出部４５１からの音声情報、画像特徴抽出部４５２からの画像情報、および、姿勢情報計算部４５３からの体性感覚情報を補完し、同じ時刻のデータに加工する。
【００７５】
例えば、音声情報は１１msec間隔で、画像情報は８０msec間隔で、また、全身の関節角情報は８msec間隔で入力されるとすれば、なんらかの適切な基準間隔、例えば３２msecなどの間隔でデータを補間し、あたかも１つのデバイスから定期的に同時にこれら全てのデータが取得されたかのように扱えれば、これより上位の処理（例えば、予測・計画・評価部４５６における処理）を比較的簡便に行えるようになる。
【００７６】
情報統合部４５５は、複数の物体が同時に観測される場合などには、注目すべき物体の選択も行う。さらに情報統合部４５５は、反射的な行動制御、例えば、注目物体に対するカメラトラッキングなどの処理も行う。その結果、注目物体に関する情報を最大限に取得できるようになり行動のロバスト性が増加する。
【００７７】
注目物体の制御に関して、次のような動作を予め設定しておいても良い。例えば、認識された物体のうちで、最も近く、最も大きい物体に注目し、１たび注目したら、その物体を見失うまではそれを追跡し続けるという設定をしておくことが可能である。カメラトラッキングの具体的な方法として、特開2003-266348号公報、特開 2003-191189号公報、特開 2004-54610号公報 に示すような方法を適用することが可能である。
【００７８】
このようにして統合された外部環境のセンサ情報をもとに、入力期待値、行動後入力期待値、行動有無による入力期待値の変動の計算方法、行動有無による入力期待値の変動を評価指標としたロボット装置１の行動生成方法を具体的に述べる。ここでは行動生成の評価基準の一実施例として、入力期待値と行動後入力期待値の正規化された偏差の最大化を用いた場合の説明を行う。
【００７９】
まず、以下の説明において必要となる用語の定義を、ここで記載しておく。
【００８０】
［特徴ベクトル］
環境からの情報は、ロボット装置１の様々なセンサ４０１（図４）と認識器４０２により特徴抽出される。例えば、環境中の音から、音声パワー抽出器（不図示）により音声パワー特徴量として pow （スカラー値）が抽出される。また、対象物体検出器（不図示）により環境中の対象物体の３次元位置 （Ox, Oy, Oz)（３次元ベクトル）が抽出される。
【００８１】
また、ロボット装置１の関節角情報 （J1, … J32)（３２次元ベクトル）、および関節角情報からはキネマティクスを解くことで両手先３次元位置（HRx, HRy, HRz, HLx, HLy, HLz)（６次元ベクトル）が抽出される。センサ４０１、認識器４０２により抽出されたこのような様々なモーダルから得られる特徴量をまとめたベクトルを「特徴ベクトル」と記述する。また時刻（あるいは時間ステップ）のインデックスtを用いてｓ（ｔ）と記述する。
【００８２】
例えば、上記に示した特徴量をまとめ、特徴ベクトルを記述すると、
ｓ = （pow, Ox, Oy, Oz, J1, …, J32, HRx, HRy, HRz, HLx, HLy, HLz)
の４２次元ベクトルとなる。
【００８３】
［ステート（状態）］
特徴ベクトルで張られる空間（特徴空間もしくは入力空間）を任意の手法で離散化すると状態空間が構成される。離散化は、空間のメッシュ分割や、連続入力から離散出力への任意の写像を用いることにより行われる。このようにして得られた状態空間の各要素を「ステート」あるいは「状態」と記述する。
【００８４】
特徴ベクトルｓ（ｔ）に対応するステートを
s’(t) ∈ S’ = {s’1, …, s’M}
と表記する。ただし S’ は状態全空間（ステートの全集合）を示し、s’1, …, s’Mはその要素である。なお、特徴ベクトルとの表記上の区別は、プライム（’）が付けられているか否かにより区別するとする。
【００８５】
例えば、特徴ベクトルを説明の簡便化のため音声パワー pow のみとした場合、
定義域［0, 100］について
［0, 10], ［10, 20], … , ［90, 100]
の様にメッシュ分割したとき、
１０ステート（s’1, …, s’10)
が得られる。
【００８６】
また、例えば、ｓ（ｔ) ＝ 15 を離散化すると２番目のステートs’2になり、
s’（ｔ) ＝ s’2
となる。
【００８７】
［入力］
特徴ベクトルと、特徴ベクトルを離散化したステートを、区別なく扱う（個々に区別する必要がない）ときには、「入力」という表現を用いて記述する。また、「入力」の表記としては、特徴ベクトルと同じ表記とする。すなわち、ｓ（ｔ）などプライムを付けない表記とする。
【００８８】
［入力期待値］
時間ステップtにおける特徴ベクトルがｓ（ｔ）のとき、次の時間ステップｔ＋1においてロボット装置１が行動を生成しなかった場合（その時点での行動を維持した場合）に期待される特徴ベクトルを「入力期待値」と呼び、ｓ^（ｔ＋1）と記述する。入力期待値は、関数ｓ^（ｔ＋1) = Ｅ（s（t)）により求める。
【００８９】
ここで「期待値」という表現は「予測値」、「推定値」などの意味も包含する。例えば、関数E（ ）を「予測モデル」とみなした場合、入力期待値は時刻ｔ＋1における特徴ベクトルの「予測値」と表現しても良いし、統計的手法によりE（ ）を求めた場合、入力期待値は時刻ｔ＋1における特徴ベクトルの「期待値」と表現しても良い。以後、これらの表現を統一して「期待値」という表現を用いる。
【００９０】
［行動ベクトル］
ロボット装置１の行動を生成するための指令値を「行動ベクトル」と記述する。行動ベクトルをａとし、時刻（あるいは時間ステップ）のインデックスtを用いてａ（ｔ）と記述する。例えば、各自由度の関節角度の対応アクチュエータ４０５（図４）への指令値を行動ベクトルとした場合、
ａ ＝ ［J1, …, J32] 
の３２次元ベクトルとなる。また手先位置を指令値として用いる構成の場合、
a = [HRx, HRy, HRz, HLx, HLy, HLz]
となる。
【００９１】
［行動シーケンス（行動プリミティブ）］
ある時刻Tにおける行動ベクトルを時系列に並べ、所定の一連の動き（行動）を構成するものを「行動シーケンス」あるいは「行動プリミティブ」と記述する。そして行動シーケンスをインデックスiを用いてa’i ∈ Ａ＝{a’1, …, a’N}と表記する。ただし、Ａは、行動シーケンスの全集合であり、行動ベクトルとの表記上の区別は、プライムが付くか否かで行うとする。
【００９２】
またa’i ＝ （aj, …, aj+T) である。ただし、（aj, …, aj+T）は、a’iを構成する行動ベクトル時系列である。行動シーケンス群は、予めロボット装置１に作り込んでおいても良いし、ロボット装置１が環境とインタラクションする過程で自律的に獲得する構成としても良い。
【００９３】
［行動］
行動ベクトル、行動シーケンスを区別なく扱うとき（個々に区別する必要がないとき）には、単に「行動」という記述する。「行動」の表記としては、行動ベクトルと同じ表記とする（すなわち ａ などプライムを付けない表記とする）。
【００９４】
［行動後入力期待値］
時間ステップtにおける入力ｓ（ｔ）に対して、所定の行動ａをロボット装置１が生成し環境に作用した結果、次の時間ステップｔ＋1において期待される入力（特徴ベクトル）を「行動後入力期待値」と記述する。また、「行動後入力期待値」を、ｓ*（ｔ＋1）と記述する。行動後入力期待値は、関数 ｓ*（ｔ＋1) ＝ Ｆ（s（t), a）により求める。
【００９５】
［システム概要］
図６は、ロボット装置１の自律行動に関する処理を実行する部分の構成を示す図である。入力部５０１は、センサ４０１や認識器４０２（図４）から構成され、環境からの情報を入力（取得）する。また、入力部５０１は、取得した情報から、特徴ベクトルもしくや離散化することにより取得されるステートを生成する。
【００９６】
入力期待値計算部５０２は、入力部５０１からの特徴ベクトルから、入力期待値を計算する。この入力期待値の計算は、上記の定義のところで記述したように、
関数ｓ^（ｔ＋1) ＝ Ｅ（ｓ（t))
が演算されることにより行われる。
【００９７】
計算探索部５０３は、行動後入力期待値計算部５０４と行動探索部５０５から構成されている。行動後入力期待値計算部５０４は、上記の定義のところで記述したように、
関数ｓ*（ｔ＋1) ＝ Ｆ（ｓ（ｔ), ａ)
を演算することにより行動後入力期待値を計算する。行動探索部５０５は、行動の有無による入力期待値の変化を評価基準とする行動探索を行う。
【００９８】
ここで、“行動の有無”とは、ロボット装置１が何らかの行動を起こすことを行動有りと表現し、ロボット装置１が何の行動も起こさないことを行動無しと表現する。また、“行動無し”とは、ロボット装置１が、その時点で行っている行動を継続することを意味し、全く動かないことを意味するのではない（勿論、ロボット装置１が停止している状態であれば、その停止状態を継続することは、行動無しとの表現に当てはまる）。換言すれば、“行動有り”とは、その時点で行っている行動とは異なる行動を起こすことを意味する。
【００９９】
行動探索部５０５により、探索された行動を実現するためのデータを、行動生成部５０６は生成する。行動生成部５０６により生成された行動（行動するためのデータ）による行動が、図６では図示していないアクチュエータ４０５などが制御されることにより実行される。
【０１００】
保持部５０７は、行動生成部５０６により行動が生成された後、その時点での入出力関係を保持する。写像学習部５０８は、任意のタイミングで、保持部５０７に保持された入出力関係から学習データを読み出し、写像関数 Ｅ（ ）、 Ｆ（ ） の学習を行う。
【０１０１】
図６の構成における動作について、図７のフローチャートを参照して説明する。ステップＳ１１において、図８Ａに示すように、入力部５０１を構成するセンサ４０１や認識器４０２により、環境から得られる情報が取得され、特徴ベクトルが生成（ｓ（ｔ）の生成）されるか、もしくは、特徴ベクトルを離散化することにより得られるステートが生成（ｓ’（ｔ）の生成）される。
【０１０２】
ステップＳ１２において、図８Ｂに示すように、入力期待値計算部５０２は、入力部４０１から供給される特徴ベクトルｓ（ｔ）を、以下の式に代入することにより入力期待値ｓ^（ｔ＋１）を計算する。すなわち、所定の時刻ｔにおいて計算される入力期待値は、
関数ｓ^（ｔ＋1) ＝ Ｅ（ｓ（t))
である。
【０１０３】
ステップＳ１３において、行動探索部５０３により、図８Ｃに示すように、行動後入力期待値の計算およびそれに基づく行動探索が行われる。行動後入力期待値は、行動後入力期待値計算部５０４により、
関数ｓ*（ｔ＋1) ＝ Ｆ（ｓ（ｔ), ａ）
が演算されることにより求められる。
【０１０４】
また、行動探索部５０５は、行動有無による入力期待値の変化を評価基準とする行動探索を行う。この探索は、ロボット装置１が行動を起こした場合（行動有りの場合）に環境に与える影響と、ロボット装置１が行動を起こさなかった場合（行動無しの場合）に環境に与える影響との差が最も大きくなる行動が探索されるような処理が行われる。すなわち、ロボット装置１は、環境の変化を最大にするような行動を自律的に生成する。
【０１０５】
具体的に行動探索部５０５は、入力期待値と行動後入力期待値の偏差の絶対値
|ｓ*（ｔ＋1)−ｓ^（ｔ＋1)|
が最大となる行動後入力期待値を求めることにより、行動を探索する。このことを式で表記すると、以下のようになる。
行動ａ∈Ａ を
ａ ＝ argmaxa∈A|ｓ*（ｔ＋1)ｓ^（ｔ＋1)|
を演算することのにより決定する。
【０１０６】
このように行動が探索されると、ステップＳ１４において、図８Ｄに示すように、行動生成部５０６により行動が生成される。すなわち、行動ａ（ｔ）が生成され、その行動ａ（ｔ）に基づき、アクチュエータ４０５に対して指示が出され、その指示に基づき、アクチュエータ４０５が駆動されることにより、ロボット装置１が行動を起こす（アクション）。その結果、ステップＳ１７において、環境とのインタラクション（interaction）が行われる。ただし、このステップＳ１７は、図７のフローチャートに記載はしたが、ロボット装置１が内部的な処理として何らかの処理を実行するわけではなく、結果的に、ロボット装置１が何らかの行動を起こすことにより、環境と関わりが生じ、環境に何らかの影響を与え、その影響により、環境から新たな情報が、センサ４０１などにより取得されることを意味する。
【０１０７】
この一連の処理により、ロボット装置１は、例えば、以下のような行動を行う。
【０１０８】
音を発するベルがロボット装置１の前に存在しているという状況を考える。そのベルをロボット装置１が叩けば、ベルから音が発せられる状況にあるが、まだ、ベルを叩いていないとき、まず、入力期待値として、ベルを鳴らさない状態のときの期待値（音が発せられない状況のときの期待値）が算出される。
【０１０９】
次に、行動後入力期待値が計算され、その行動後入力期待値と入力期待値の差の絶対値が最も大きい値を有するときの行動が探索される。音がない状態のときと比較し、最も大きく環境が変化するのは、音がある状態のときであると考えられる。このことを換言するならば、音がない状態のときの入力期待値と、音があるときの行動後入力期待値（ベルがならされたときに環境から取得される情報に対する期待値）との差が、一番大きな値となり、結果として、音を鳴らす（ベルを叩く）といった行動が探索されることになる。
【０１１０】
このように、そのときの環境を判断し、その環境に最も影響を与えるような行動を、ロボット装置１が行うことにより、ユーザがそのロボット装置１の行動見て、楽しめむことができる。換言すれば、ロボット装置１は、注目を集めるような行動を起こすことが多くなり（環境が大きく変化させる行動をすれば、注目を浴びることになると考えられる）、ロボット装置１のエンターテイメント性を高めることが可能となる。
【０１１１】
図７のフローチャートの説明に戻り、ステップＳ１５において、保持部５０７は、図９に示すように、入出力データの保持を行う。すなわち、ロボット装置１が、決定（探索）された行動を行った結果、どのように環境が変化したかという結果（センサ４０１などから取得される環境に関する情報）が、保持部５０７に保持される。行動を起こす前（時刻ｊ−１）のデータｓ（ｊ−１）と、行動が起こされたことにより変化した環境に関するデータ（時刻ｊの時点でのデータ）ｓ（ｊ）が、保持部５０７に保持される。
【０１１２】
ステップＳ１６において、写像学習部５０８は、図９に示すように、写像学習を行う。この写像学習は、任意のタイミングで、保持部５０７に保持されている入出力関係のデータから学習データが取得され、写像関数 Ｅ（ ）が学習される。写像関数Ｅ（）は、
ｓ（ｊ）＝Ｅ（ｓ（ｊ―１））
が演算されることにより行われる。
【０１１３】
ステップＳ１５とステップＳ１６における処理として、写像関数としてＦ（）を求めるようにした場合、図１０に示すように処理が行われる。すなわち、ステップＳ１５における入出力データの保持は、ｓ（ｊ−１）、ａ（ｊ−１）、および、ｓ（ｊ）が保持される。そして、ステップＳ１６において、写像学習が行われとき、その写像関数として、Ｆ（）が学習される。すなわち、その学習は、
ｓ（ｊ）＝Ｆ（ｓ（ｊ−１）、ａ（ｊ−１））
が演算されることにより行われる。
【０１１４】
次に、各ステップにおける処理について、詳細に説明を加える。
【０１１５】
［入力期待値の計算］
ステップＳ１２において行われる入力期待値の計算について説明する。時間ステップtにおける特徴ベクトルがｓ（ｔ）であるときに、次の時間ステップｔ＋1の入力期待値ｓ^（ｔ＋1）を、関数ｓ^（ｔ＋1) ＝ Ｅ（s（t)）により求める。ここで関数E(s)は、例えば、以下の、方法Ａ−１または方法Ａ−２のいずれかにより実装される。
【０１１６】
方法Ａ−１  事前知識により人間が事前に設計した関数を用いる方法
方法Ａ−２  統計学習手法により獲得された関数を用いる方法
【０１１７】
方法Ａ−１としては、例えば、音声パワーを入力とする場合、「環境中の白色ノイズのパワー平均値がNPmeanである」という事前知識を利用してＥ（ｓ)＝ NPmeanとする方法がある。
【０１１８】
方法Ａ−２としては、例えば、時間ステップjの入力ｓ（ｊ）と１ステップ前のｓ（ｊ-1) との写像関係ｓ（ｊ) ＝ Ｅ（s（j-1)）を、サポートベクター回帰法（ＳＶＲ法）を用いて関数近似する方法がある（ここでのjは、任意時間ステップを示す）。
【０１１９】
すなわち、図１１Ａに示すように、過去の特徴ベクトルの履歴が保持され、その履歴から入力ｓ（ｊ-1)、出力ｓ（ｊ）とした入出力対データが学習データとして多数用意（保持）され、ＳＶＲ法が用いられて、ｓ（ｊ−１）からｓ（ｊ）への写像が学習される。
【０１２０】
図１１Ｂに示すように、学習後、獲得された写像E(s)が用いられることで、ｓ（ｔ）から次の時間ステップの予測値、すなわち入力期待値ｓ^（ｔ＋1）は、ｓ^（ｔ＋1) ＝ Ｅ（s（t)）により計算することができるようになる。
【０１２１】
写像学習用の入出力データ対（学習データ）を ［入力; 出力］と表記する。例えば、ここで用いた学習データは［ｓ（ｊ-1); ｓ（ｊ)］のように表記される。
【０１２２】
勿論、E（ ）の学習には任意の関数近似手法、写像学習手法（パーセプトロン、３層ニューラルネットなど）が利用されるようにしても良い。また、学習の際、特徴ベクトルの各次元に正規化処理が行われるようにしても良い。
【０１２３】
［行動後入力期待値の計算およびそれに基づく探索］
次に、ステップＳ１３における行動後入力期待値の計算と、それに基づく行動探索について説明する。ここで、行動後入力期待値の計算と行動探索を、関連付けて説明するのは、行動後入力期待値の計算の仕方により、行動探索の仕方が異なってくるからである。
【０１２４】
時間ステップtにおける入力ｓ（ｔ）に対して、ある行動ａをロボット装置１が起こした際の行動後入力期待値ｓ*（ｔ＋1）を、関数 ｓ*（ｔ＋1) ＝ Ｆ（s（t), a）により求める。ここで関数Ｆ（s（t), a）は、以下の方法Ｂ−１乃至方法Ｂ−４のうちの、いずれかの方法により求められる。
【０１２５】
方法Ｂ−１  ステート−行動シーケンス空間のテーブルを参照する方法
方法Ｂ−２  行動シーケンス毎に独立な特徴ベクトル空間上の連続関数を用いる方法
方法Ｂ−３  ステート毎に独立な行動ベクトル空間上の連続関数を用いる方法
方法Ｂ−４  特徴ベクトル−行動ベクトル空間上の連続関数を用いる方法
【０１２６】
［方法Ｂ−１について］
方法Ｂ−１は、行動探索を行うためにテーブルを作成する。テーブルの作成に関し、図１２を参照して説明する。作成されるテーブルは、ステート−行動シーケンス空間のテーブルであり、ステートs’∈Sと行動シーケンスa’ ∈Aをインデックスとする２次元テーブルである。そして、そのテーブルのs’行a’列の要素は、ステートs’のときに行動シーケンスa’を生成した際の行動後入力期待値ｓ*＝F(s’, a’)である。
【０１２７】
このテーブルはロボット装置１の過去の経験（過去のステートと行動シーケンスの履歴）から統計的に作成される。例えば、「時間ステップｊ-1において特徴ベクトルｓ（ｊ−１）のときに行動シーケンスa’（ｊ-1) ∈Aを生成し、その結果次の時間ステップjにおいて特徴ベクトルｓ（ｊ）を得た」経験は、特徴ベクトルｓ（ｊ−１）に対応するステートs’（ｊ-1)∈Sと行動シーケンスa’(j-1)を用い、入出力対データ［（s’（ｊ-1), a’（ｊ-1)); ｓ（ｊ)］で表現される（ステップＳ５１）。
【０１２８】
このような入出力対データを多数学習データとして取得し（ステップＳ５２）、各データに対してテーブルのs’（ｊ-1)行a’（ｊ-1)列の要素Ｆ（s’（ｊ-1), a’（j-1)）にｓ（ｊ）という定数値を埋め込む操作を行うことで、この経験、すなわち、
写像ｓ（ｊ) ＝ Ｆ（s’（ｊ-1), a’（j-1)）
をテーブル表現により獲得する（ステップＳ５３）。
【０１２９】
テーブル表現によりステート、行動シーケンスともに離散化されているため、同一の行動シーケンスに対して特徴ベクトルが類似する経験は一つのテーブル要素にインデックスされる場合がある。例えば、テーブルのs’行a’列の要素に経験［（s’, a’); ｓ］を埋め込む際、すでにその要素に過去の経験［（s’, a’); Ｆ（s’, a’)］が埋め込まれている場合、現在のF(s’, a’)とsとの平均値でF(s’, a’)の値を更新することで対応するようにしても良い。
【０１３０】
このようにして獲得されたテーブルを用い、図１３に示すように、時刻tにおいてステートs’(t)のときに行動シーケンスa’i∈Aを生成した際の行動後入力期待値ｓ*（ｔ＋1）は、テーブルのs’（ｔ)行a’i列を参照することで得られる（ステップＳ６１）。
【０１３１】
図１４を参照し、方法Ｂ−１における行動探索について説明する。評価基準
ａ ＝ ａｒｇｍａｘa∈A|ｓ*（ｔ＋1)ｓ^（ｔ＋1)|
を満たす行動決定は、現在のステートs’(t)に対応する行のみに注目し、その行の各列において|Ｆ（s’（ｔ), a’i)Ｅ（ｓ（t))|を計算する（ステップＳ７１）。このＦ（s’（t), a’i）を求める計算は、作成されているテーブルを参照することにより行われる。
【０１３２】
ステップＳ７２において、|Ｆ（s’（ｔ), a’i)Ｅ（ｓ（t))| が最大となる行動シーケンスa’iが、時刻ｔで生成する行動a’(t)として決定される。このようにして、テーブルが作成され、作成されたテーブルを用いた行動探索（決定）が行われる。
【０１３３】
［方法Ｂ−２について］
方法Ｂ−１は、入力空間、行動空間が共に離散化されテーブル表現になっているのに対し、方法Ｂ−２は、行動空間のみが離散化され、入力空間は連続とされている。すなわち、行動シーケンスａ’i∈Aそれぞれについて特徴ベクトルsと行動後入力期待値ｓ*の写像を関数ｓ*＝F(s, a’i)により記述する。
【０１３４】
方法Ｂ−２について、図１５を参照して説明する。関数ｓ*＝F(s, a’i)は、ロボット装置１の過去の経験（過去の特徴ベクトルと行動シーケンスの履歴）から統計的に学習される。例えば、サポートベクター回帰法（ＳＶＲ法）を用いて関数近似により学習する方法が挙げられる。すなわち、特徴ベクトルｓ（ｊ）のときに生成した行動シーケンスa’(j)の履歴を保持し（ステップＳ８１）、その過去の履歴から行動シーケンスa’i毎に学習データとして入出力対［（ｓ（ｊ-1), a’i); ｓ（ｊ)］を多数用意しＳＶＲ法を用いて写像ｓ（ｊ) ＝ Ｆ（s（j-1), a’i）を学習させる（ステップＳ８２）。
【０１３５】
学習の際、特徴ベクトルの各次元に正規化処理を行っても良い。
【０１３６】
行動後入力期待値の算出は、図１６に示すように（ステップＳ９１）行われる。学習後、獲得された写像がｓ*＝F(s, a’i)であり、時刻tにおける特徴ベクトルｓ（ｔ）のときに行動シーケンスa’iを生成した際の行動後入力期待値ｓ*（ｔ＋1）は、
ｓ*（ｔ＋1） ＝ Ｆ（s（t), a’i）
により計算される。
【０１３７】
図１７を参照し、方法Ｂ−２における行動探索について説明する。評価基準
ａ ＝ argmaxa∈A|ｓ*（ｔ＋1)ｓ^（ｔ＋1)|
を満たす行動決定は、全行動シーケンスａi∈Ａについて、現在の特徴ベクトルｓ（ｔ）に対する
|Ｆ（ｓ（ｔ), a’i)―Ｅ（ｓ（t))|
を計算する（ステップＳ１０１）。そして
|Ｆ（ｓ（ｔ), a’i)Ｅ（ｓ（t))|
が最大値となる行動シーケンスa’iを、時刻ｔで生成する行動a’(t)とする（ステップＳ１０２）。このようにして、保持されている履歴を用いて、行動探索（決定）が行われる。
【０１３８】
［方法Ｂ−３について］
方法Ｂ−１が入力空間、行動空間が共に離散化されテーブル表現になっているのに対し、方法Ｂ−３は、入力空間のみが離散化され、行動空間は連続である。すなわち、ステートs’i∈Sそれぞれについて行動ベクトルａ生成後の入力期待値ｓ*の写像を、
関数ｓ*＝F(s’i, a)
により記述する。
【０１３９】
方法Ｂ−３について、図１８を参照して説明する。関数ｓ*＝F(s’i, a)は、ロボット装置１の過去の経験（過去のステートと行動ベクトルの履歴）から統計的に学習される。例えば、サポートベクター回帰法（ＳＶＲ法）を用いて関数近似により学習する方法が挙げられる。すなわち、特徴ベクトルｓ（ｊ）に対応するステートs’(j)とそのとき生成した行動ベクトルa(j)の履歴を保持し（ステップＳ１１１）、その過去の履歴からステートs’i∈S毎に学習データとして
入出力対［（s’i, ａ（ｊ-1)); ｓ（ｊ)］
を多数用意し（ここでs’iは時刻ｊ-1のステートs’(t-1)とする)、ＳＶＲ法を用いて
写像ｓ（ｊ)＝Ｆ（s’i, a（j-1)）
を学習させる（ステップＳ１１２）。
【０１４０】
また学習の際、行動ベクトルの各次元に正規化処理を行うようにしても良い。
【０１４１】
行動後入力期待値は、図１９に示すように（ステップＳ１２１）算出される。学習後、獲得された写像がｓ*＝F(s’i, a)であり、時刻tにおけるステートがs’(t)のときに行動ベクトルａを生成した際の行動後入力期待値ｓ*（ｔ＋1）は、
写像ｓ*（ｔ＋1)＝ Ｆ（s’（t), a）
により計算される。
【０１４２】
図２０（ステップＳ１３１）を参照し、方法Ｂ−３における行動探索について説明する。  評価基準ａ ＝ argmaxa∈A|ｓ*（ｔ＋1)ｓ^（ｔ＋1)|
を満たす行動決定は、行動ベクトルａに関する評価関数
|Ｆ（s’（ｔ), ａ)―Ｅ（ｓ（t))|
を最大化するａを探索し、その解を時刻ｔで生成する行動ａ（ｔ）とすることで実現される。探索に用いる手法は、例えば、最急降下法などの古典的探索手法やシミュレーテッドアニーリング法などのヒューリスティック探索法などを適用することができる。
【０１４３】
［方法Ｂ−４について］
方法Ｂ−４は、入力空間、行動空間が共に連続の場合である。すなわち、特徴ベクトルsにおいて行動ベクトルａ生成後の入力期待値ｓ*の写像を関数ｓ*＝F(s, a)により記述する。
【０１４４】
図２１を参照し、方法Ｂ−４について説明する。方法Ｂ−４における写像関係は、ロボット装置１の過去の経験（過去の特徴ベクトルと行動ベクトルの履歴）から統計的に学習される。例えば、サポートベクター回帰法（ＳＶＲ法）を用いて関数近似により学習する方法がある。すなわち、特徴ベクトルｓ（ｊ）と行動ベクトルa(j)の履歴を保持し（ステップＳ１４１）、その過去の履歴から学習データとして
入出力対［（ｓ（ｊ-1), ａ（ｊ-1); ｓ（ｊ)］
を多数用意しＳＶＲ法を用いて
写像ｓ（ｊ)＝Ｆ（ｓ（ｊ-1), a（j-1)）
を学習させる（ステップＳ１４２）。
【０１４５】
また学習の際、特徴ベクトル、行動ベクトルの各次元に正規化処理を行っても良い。
【０１４６】
行動後入力期待値は、図２２（ステップＳ１５１）に示すように計算される。学習後、獲得された写像がｓ*＝F(s, a)であり、時刻tにおける特徴ベクトルがｓ（ｔ）のときに行動ベクトルａを生成した際の行動後の入力期待値ｓ*（ｔ＋1）は、
ｓ*（ｔ＋1)＝ Ｆ（s（t), a）
により計算される。
【０１４７】
図２３を参照し、方法Ｂ−４における行動探索について説明する。評価基準
ａ ＝ argmaxa∈A|ｓ*（ｔ＋1)ｓ^（ｔ＋1)|
を満たす行動決定は、行動ベクトルａに関する評価関数
|Ｆ（ｓ（ｔ), ａ)Ｅ（ｓ（t))|
を最大化するａが探索され、その解が時刻ｔで生成する行動ａ（ｔ）とすることで実現される。
【０１４８】
探索に用いる手法は、例えば、最急降下法などの古典的探索手法やシミュレーテッドアニーリング法などのヒューリスティック探索法などを適用することができる。
【０１４９】
なお、方法Ｂ−１乃至Ｂ−４において、関数F( )の学習には任意の関数近似手法、写像学習手法（パーセプトロン、３層ニューラルネットなど）を利用するようにしても良い。
【０１５０】
ここで方法Ｂ−１、方法Ｂ−２、方法Ｂ−３、方法Ｂ−４のそれぞれの関係について説明する。
【０１５１】
方法Ｂ−４は、入力空間、行動空間ともに連続空間で扱うため、関数ｓ*＝F(s, a)が学習により獲得され、連続多様な環境変化に対する行動も、連続多様に生成するようにすることを期待することができる。ただし、関数ｓ*＝F(s, a)を、十分学習するためには、大量の学習データが必要となり、また学習の収束に時間がかかる可能性はあるが、効率良い学習を行うことは可能であり、そのような問題は、小さいと考えられる。
【０１５２】
方法Ｂ−３は、入力空間を離散化して扱うため、ステートそれぞれに対して学習すべき関数ｓ*＝F(s’i, a)は、方法Ｂ−４の関数に比べ次元数が少ないため、より少ない学習データで学習の収束性がより良くなると考えられる。入力空間の離散化度合いによっては、環境変化に対して不連続な行動切り替えが生じる場合もありうるという可能性はあるが、そのような問題は、入力空間の離散化の度合いを適切に設定すれば防ぐことは可能である。
【０１５３】
方法Ｂ−３と方法Ｂ−４における行動探索は、いずれも行動ベクトルａに関する評価関数の最大化を探索することにより行われ、その評価関数最大化問題を解く複雑さに差異はなく、この点からは、どちらの方法で探索を行っても、良好な探索が行えると期待することができる。
【０１５４】
方法Ｂ−２は、行動空間のみを離散化して扱うため、行動シーケンスそれぞれに対して学習すべき関数ｓ*＝F(s, a’i)は、方法Ｂ−４の関数に比べ次元数が少ないため、より少ない学習データで、学習の収束性がより良くなると期待される。行動シーケンスが少ない場合、環境変化に対して不連続な行動切り替えが生じる可能性はあるが、行動シーケンスの数を適切に設定すれば、そのような問題が発生する可能性を防ぐことは可能である。
【０１５５】
行動探索については、方法Ｂ−３と方法Ｂ−４がそれぞれ評価関数最大化問題を解く必要があるのに対して、方法Ｂ−２では、単純なスカラー値
|Ｆ（ｓ（ｔ), a’i)―Ｅ（ｓ（t))|
の比較となり、計算複雑度が低くなり、その処理にかかる負担を軽減することができる。
【０１５６】
方法Ｂ−１では、入力空間、行動空間ともに離散化され、関数ｓ*＝F(s’, a’)は、テーブルとして記述されているため、学習は、単なるテーブルへの値の埋め込みにより実現される。すなわち、学習収束性に関する問題が発生する可能性はない。入力空間の離散化度合いや行動シーケンス数によっては、環境変化に対して不連続な行動切り替えが生じる可能性はあるが、離散化の度合いや行動シーケンス数を適切に設定すれば、そのような問題が発生する可能性を防ぐことは可能である。
【０１５７】
行動の探索については、方法Ｂ−１と方法Ｂ−２は同様であり、単純なスカラー値
|Ｆ（s’（ｔ), a’i)Ｅ（ｓ（t))|
の比較により実現されるため、計算の複雑度をより低くすることができる。よって、例えば、生産コストを下げるためにＣＰＵなどの制御チップを低コストにしたい場合などに、適した方法である。
【０１５８】
［行動生成］
次に、探索された行動を生成するときの処理について説明する。上記した行動探索の手法において、方法Ｂ−１と方法Ｂ−２では、現在の時間ステップtで出力すべき行動シーケンスa’(t)が、方法Ｂ−３と方法Ｂ−４では、行動ベクトルａ（ｔ）が決定された。
【０１５９】
方法Ｂ−３または方法Ｂ−４の場合、行動ベクトルａ（ｔ）は、各アクチュエータへの指示値そのものであるとき、ａ（ｔ）の各次元についてその対応するアクチュエータに指示値を送出する。方法Ｂ−３または方法Ｂ−４の場合で、行動ベクトルａ（ｔ）が、例えば、手先の３次元位置のとき、手先の３次元位置から逆キネマティクスを解いて、それを実現する各関節アクチュエータへの指示値を生成する制御部を設け、行動ベクトルａ（ｔ）がその制御部に送出される。
【０１６０】
一方、方法Ｂ−１または方法Ｂ−２の場合、行動シーケンスa’(t)は行動ベクトル時系列(aj, …, aj+T)で構成されているため、行動シーケンスの全てを実現するためには、Ｔ時間ステップを要する。一方、a’(t)は、時間ステップ毎に更新される。そこで次の方法Ｃ−１または方法Ｃ−２のうちのいずれかの方法により行動シーケンスの生成が行われるようにする。
【０１６１】
方法Ｃ−１
ある時刻tで時間長Tの行動シーケンスa’(t)を生成した後、そのシーケンスが完了するまで、すなわち時刻ｔ＋Tまで、新しい行動シーケンスの生成は保留される。
【０１６２】
行動シーケンスa’(t)の生成は、時刻tにおいて生成される行動ベクトルをａ（ｔ）とし、a’(t)を構成する行動ベクトル時系列
a’（ｔ) ＝ （aj, …, aj+T）
を
ａ（ｔ) ＝ aj , ａ（ｔ＋1) ＝ aj+1 ，… ， ａ（ｔ＋T) ＝ aj+T
のように逐次生成することで行われる。行動ベクトルのアクチュエータへの送出は、上記方法Ｂ−３または方法Ｂ−４の場合と同様にすることができる。
【０１６３】
方法Ｃ−２
ある時刻tに決定された行動シーケンスa’（ｔ)（行動ベクトル時系列表現では（aj, …, aj+T)）を構成する行動ベクトルa∈{aj, …, aj+T}のうち、時刻ｔ-1に出力された行動ベクトルa(t-1)と最も空間的距離が近い行動ベクトルを時刻tに出力する。
【０１６４】
行動ベクトルのアクチュエータへの送出は、上記方法Ｂ−３または方法Ｂ−４の場合と同様にすることができる。
【０１６５】
［入出力データの保持］
上記した通り、入力期待値計算のための写像Ｅ（ ）、行動後入力期待値計算のための写像F( )の学習用に、システムの入出力対データは、行動生成後に保持部５０７（図６）に保持（履歴）される。
【０１６６】
具体的には、適用される方法により、
方法Ａ−２では、  ［ｓ（ｔ-1); s（t)]  が、
方法Ｂ−１では、  ［（s’（ｔ-1), a’（ｔ-1)); s（t)]  が、
方法Ｂ−２では、  ［（ｓ（ｔ-1), a’（ｔ-1)); s（t)]  が、
方法Ｂ−３では、  ［（s’（ｔ-1), ａ（ｔ-1)); s（t)]  が、
方法Ｂ−４では、  ［（ｓ（ｔ-1), ａ（ｔ-1)); ｓ（ｔ)］  が、
それぞれ、保持部５０７に履歴される。
【０１６７】
必要とされる入出力対データから、時間ステップｔ-1の特徴ベクトルｓ（ｔ-1)（またはステートs’（t-1)）と、方法Ｂ−１乃至方法Ｂ−４に関してはさらに出力された行動ベクトルa（ｔ-1)（または行動シーケンスa’（t-1)）が、時間ステップｔまで一時保持部５０７に保持される。そして、時間ステップtにおいて、それらのデータの読み出しおよび入出力対データへのコピーが行われた後、一時保持部１０７に保持されているデータを、現在の特徴ベクトルｓ（ｔ)（またはステートs’（t)）と出力された行動ベクトルa（ｔ)（または行動シーケンスa’（ｔ)）に更新するという構成（処理）とされる。
【０１６８】
［写像学習］
入力期待値計算のための写像Ｅ（ ）と、行動後入力期待値計算のための写像F( )の学習は、以下に説明する手法により任意のタイミングで行われる。
【０１６９】
統計学習手法により関数Ｅ（ ）が求められる場合、入力ｓ（ｔ）の過去の履歴から取得された入出力対データ［ｓ（ｊ-1); ｓ（ｊ)］が必要とされる。適用される統計学習手法が、バッチ学習手法の場合、入出力対［ｓ（ｊ-1); ｓ（ｊ)]が、学習に用いられるデータ数分だけバッファリングされ、関数Ｅ（ ）の学習が行われる。
【０１７０】
適用される統計学習手法が、逐次学習手法の場合、各時刻tでs(t-1)との入出力対［ｓ（ｔ-1); ｓ（ｔ)］が用いられ、関数Ｅ（ ）の逐次学習が行われる。
【０１７１】
入力期待値は、ロボット装置１が行動を起こさなかった場合の次の時刻における入力特徴ベクトルの期待値であるため、ロボット装置１が行動を起こしていない、あるいは特徴ベクトルの変化との因果関係のない行動を起こしているときに関数Ｅ（ ）の学習データが取得される。そこで、この学習データの取得方法として、以下の方法を提案する。
【０１７２】
方法Ｄ−１
ロボット装置１が何も行動を起こさず、環境を観測するモードを備え、関数E（ ）の学習データ取得の際にはこのモードに設定される方法
【０１７３】
方法Ｄ−２
ロボット装置１が行動を起こしているいないに関わらず、入出力対［ｓ（ｊ-1); ｓ（ｊ)］から関数Ｅ（ ）の学習データが取得される方法
【０１７４】
方法Ｄ−１を適用した場合、環境を観測するモードを備えるため、ロボット装置１が行動を起こしていないときの学習データを適切に取得することは明らかである。方法Ｄ−２は、方法Ｄ−１と異なり、環境を観測するモードは備えていないが、方法Ｄ−２を適用した場合であっても、環境情報を適当にサンプリングするとき、サンプリングした情報にロボット装置１が特徴ベクトルの変化と因果関係を持つ行動を起こしている確率は低いため、仮にそのときの入出力対［ｓ（ｊ-1); ｓ（ｊ)］が学習データに使われたとしても、関数Ｅ（ ）の入力期待値計算性能にはほとんど影響がないと思われる。方法Ｄ−２の場合、方法Ｄ−１で必要とされた人間による恣意的なモードの切り替えの設計が不必要となる。
【０１７５】
統計学習手法により関数F( )を求めるには、入力ｓ（ｔ）と行動ａ（ｔ）の過去の履歴から取得した入出力対データが必要である。この学習データの取得の方法を、以下に示す。
【０１７６】
方法Ｅ−１
ロボット装置１が、人間からの直接教示を受け入れる構成の場合（例えば、人間がロボット装置１に物体の操作法を教示する意図で、ロボット装置１の腕を介助しながら対象物体に対して操作を行う）方法。
【０１７７】
教示を受けている間の入出力対［（ｓ（ｊ-1), ａ（ｊ-1)); s（j)］を学習データとし、
方法Ｂ−１の場合には、関数ｓ*＝F(s’, a’)の、
方法Ｂ−２の場合には、ｓ*＝F(s, a’i)の、
方法Ｂ−３の場合には、ｓ*＝F(s’i, a)の、
方法Ｂ−４）の場合には、ｓ*＝F(s, a)の
バッチ学習あるいは逐次学習を行う。
【０１７８】
方法Ｅ−２
予め作り込まれた行動シーケンスが利用する方法
【０１７９】
方法Ｂ−１または方法Ｂ−２の場合には、任意行動シーケンスa’を生成し、行動生成前後の入出力対［（ｓ（ｊ-1), a’); s（j)］を学習データとし、
方法Ｂ−１の場合には、関数ｓ*＝F(s’, a’)の、
方法Ｂ−２の場合には、ｓ*＝F(s, a’i)の
バッチ学習あるいは逐次学習を行う。
【０１８０】
また方法Ｂ−３または方法Ｂ−４の場合には、任意行動シーケンスa’の生成のときの行動ベクトルを、時間ステップ毎に観測し、各時間ステップｊ-1における行動ベクトルa(j-1)の生成前後の入出力対［（ｓ（ｊ-1), ａ（j)); s（j)］を学習データとし、
方法Ｂ−３の場合には、ｓ*＝F(s’i, a)の、
方法Ｂ−４の場合には、ｓ*＝F(s, a)の
バッチ学習あるいは逐次学習を行う。
【０１８１】
方法Ｅ−３
ランダムに行動を生成し、その行動前後の入出力対［（ｓ（ｊ-1), ａ（ｊ-1)); s（t)］を学習データとし、
方法Ｂ−１の場合には、関数ｓ*＝F(s’, a’)の、
方法Ｂ−２の場合には、ｓ*＝F(s, a’i)の、
方法Ｂ−３の場合には、ｓ*＝F(s’i, a)の、
方法Ｂ−４の場合には、ｓ*＝F(s, a)の
バッチ学習あるいは逐次学習を行う。
【０１８２】
方法Ｅ−４
関数F( )の学習がある程度以上進んでおり、ロボット装置１が評価基準評価基準
ａ ＝ argmaxa∈A|ｓ*（ｔ＋１)ｓ^（ｔ＋１)|を用いて自律的に行動生成を行っている段階では、行動生成前後の入出力対［（ｓ（ｊ-1), ａ（ｊ-1)); s（j)］を学習データとし、  方法Ｂ−１の場合には、関数ｓ*＝F(s’, a’)の、
方法Ｂ−２の場合には、ｓ*＝F(s, a’i)の、
方法Ｂ−３の場合には、ｓ*＝F(s’i, a)の、
方法Ｂ−４の場合には、ｓ*＝F(s, a)の
バッチ学習あるいは逐次学習を行う。
【０１８３】
方法Ｅ−５
方法Ｅ−１乃至Ｅ―４を選択的に、組み合わせる方法
【０１８４】
上記したように、ロボット装置１の行動を生成するいことにより、以下のような効果を期待することができる。
【０１８５】
まず、設計者が想定していない行動であっても、使用者(ユーザ)との関わりによって新しい行動を獲得し、発現することができる。しかも、事前に設計しておく労力が比較的少ない状態で、そのようなことを実現することができる。
【０１８６】
インタラクション対象に応じて自然に行動が切り替えることが可能となる。ロボット装置１の身体および環境制約の中で、環境への影響を最大化する行動が生成されるようにすることが可能となる。
【０１８７】
このようなことから、事前の設計のコストを低く抑えることができる一方で、ユーザおよび環境に応じた複雑で適切で、人が見て面白いと思えるような行動をロボット装置１が実現できることになる。
【０１８８】
［記録媒体について］
上述した一連の処理は、それぞれの機能を有するハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【０１８９】
記録媒体の説明の前に、簡便に、パーソナルコンピュータについて説明する。図２４は、汎用のパーソナルコンピュータの内部構成例を示す図である。パーソナルコンピュータのＣＰＵ（Central Processing Unit）１００１は、ＲＯＭ（Read Only Memory）１００２に記憶されているプログラムに従って各種の処理を実行する。ＲＡＭ（Random Access Memory）１００３には、ＣＰＵ１００１が各種の処理を実行する上において必要なデータやプログラムなどが適宜記憶される。入出力インタフェース１００５は、キーボードやマウスから構成される入力部１００６が接続され、入力部１００６に入力された信号をＣＰＵ１００１に出力する。また、入出力インタフェース１００５には、ディスプレイやスピーカなどから構成される出力部１００７も接続されている。
【０１９０】
さらに、入出力インタフェース１００５には、ハードディスクなどから構成される記憶部１００８、および、インターネットなどのネットワークを介して他の装置とデータの授受を行う通信部１００９も接続されている。ドライブ１０１０は、磁気ディスク１０２１、光ディスク１０２２、光磁気ディスク１０２３、半導体メモリ１０２４などの記録媒体からデータを読み出したり、データを書き込んだりするときに用いられる。
【０１９１】
記録媒体は、図２４に示すように、パーソナルコンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク１０２１（フレキシブルディスクを含む）、光ディスク１０２２（CD-ROM（Compact Disc-Read Only Memory），DVD（Digital Versatile Disc）を含む）、光磁気ディスク１０２３（MD（Mini-Disc）（登録商標）を含む）、もしくは半導体メモリ１０２４などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記憶されているＲＯＭ１００２や記憶部１００８が含まれるハードディスクなどで構成される。
【０１９２】
なお、本明細書において、媒体により提供されるプログラムを記述するステップは、記載された順序に従って、時系列的に行われる処理は勿論、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１９３】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【図面の簡単な説明】
【０１９４】
【図１】ロボット装置の外観の構成を示す図である。
【図２】自由度構成モデルを示す図である。
【図３】制御システムの構成を示す図である。
【図４】自律制御に関する構成を示す図である。
【図５】自律制御に関する構成を示す図である。
【図６】自律制御に関する構成を示す図である。
【図７】自律制御に関する処理について説明するためのフローチャートである。
【図８】自律制御に関する処理について説明するための図である。
【図９】自律制御に関する処理について説明するための図である。
【図１０】自律制御に関する処理について説明するための図である。
【図１１】学習と入力期待値の計算について説明する図である。
【図１２】学習について説明する図である。
【図１３】行動後入力期待値の計算について説明する図である。
【図１４】行動探索について説明するための図である。
【図１５】学習について説明する図である。
【図１６】行動後入力期待値の計算について説明する図である。
【図１７】行動探索について説明するための図である。
【図１８】学習について説明する図である。
【図１９】行動後入力期待値の計算について説明する図である。
【図２０】行動探索について説明するための図である。
【図２１】学習について説明する図である。
【図２２】行動後入力期待値の計算について説明する図である。
【図２３】行動探索について説明するための図である。
【図２４】媒体を説明する図である。
【符号の説明】
【０１９５】
５０１  入力部，  ５０２  入力期待値計算部，  ５０３  計算探索部，  ５０４  行動後入力期待値計算部，  ５０５  行動探索部，  ５０６  行動生成部，  ５０７  保持部，  ５０８  写像学習部
【図１】
2006285898.tif 000003
【図２】
2006285898.tif 000004
【図３】
2006285898.tif 000005
【図４】
2006285898.tif 000006
【図５】
2006285898.tif 000007
【図６】
2006285898.tif 000008
【図７】
2006285898.tif 000009
【図８】
2006285898.tif 000010
【図９】
2006285898.tif 000011
【図１０】
2006285898.tif 000012
【図１１】
2006285898.tif 000013
【図１２】
2006285898.tif 000014
【図１３】
2006285898.tif 000015
【図１４】
2006285898.tif 000016
【図１５】
2006285898.tif 000017
【図１６】
2006285898.tif 000018
【図１７】
2006285898.tif 000019
【図１８】
2006285898.tif 000020
【図１９】
2006285898.tif 000021
【図２０】
2006285898.tif 000022
【図２１】
2006285898.tif 000023
【図２２】
2006285898.tif 000024
【図２３】
2006285898.tif 000025
【図２４】
2006285898.tif 000026