(57)【特許請求の範囲】
【請求項１】
制御対象となるシステムの目標の状態を表す目標値を記憶する目標記憶手段と、
前記制御対象となるシステムに備えられた１または複数のモータを制御するモータ信号を出力することに応じて観測されるシステムの状態を表すセンサ信号の時系列を入力とし、センサ信号により表されるシステムの状態が、前記目標記憶手段により記憶されている前記目標値により表される状態に近づくようなモータ信号の時系列を出力とする前記入力と前記出力の関係を表すパラメータを用いて、システムを制御する制御手段と、
前記センサ信号と、前記目標記憶手段により記憶されている前記目標値に基づいて、前記制御手段によるシステムの制御が正常に行われているか否かを判定する判定手段と、
前記判定手段により前記制御手段によるシステムの制御が正常に行われていないと判定された場合、全てのモータ信号の時系列のうち、着目すべきモータ信号の時系列の範囲を選択し、選択した時系列の範囲のモータ信号に所定の値を設定して出力するモータ信号選択手段と、
前記判定手段により前記制御手段によるシステムの制御が正常に行われていないと判定された場合、前記モータ信号選択手段により選択された時系列の範囲のモータ信号に処理の値を設定して出力することに応じて観測されるセンサ信号に基づいてシステムの挙動を学習し、学習結果に基づいてシステムの挙動を予測する予測手段と、
前記判定手段により前記制御手段によるシステムの制御が正常に行われていないと判定された場合、前記予測手段により予測される挙動をとるシステムの状態を、前記目標値により表される状態となるように遷移させるモータ信号の時系列を生成し、生成したモータ信号の時系列により、前記システムが、前記目標記憶手段により記憶されている前記目標値により表される状態に遷移するか否かを判定する生成手段と
を備え、
前記生成手段により生成されたモータ信号の時系列が出力されることによって、前記システムの状態が前記目標値により表される状態に遷移していると判定された場合、前記制御手段は、前記生成手段により生成されたモータ信号の時系列と、前記モータ信号の時系列が出力されることに応じて観測されるセンサ信号の時系列に基づいて、前記システムを制御するのに用いられる、前記入力と前記出力の関係を表すパラメータを更新する
情報処理装置。
【請求項２】
前記判定手段は、システム内の機器の故障を検出した場合、前記制御手段によるシステムの制御が正常に行われていないと判定する
請求項１に記載の情報処理装置。
【請求項３】
制御対象となるシステムの目標の状態を表す目標値を記憶する目標記憶手段を備える情報処理装置の情報処理方法において、
前記制御対象となるシステムに備えられた１または複数のモータを制御するモータ信号を出力することに応じて観測されるシステムの状態を表すセンサ信号の時系列を入力とし、センサ信号により表されるシステムの状態が、前記目標記憶手段により記憶されている前記目標値により表される状態に近づくようなモータ信号の時系列を出力とする前記入力と前記出力の関係を表すパラメータを用いて、システムを制御し、
前記センサ信号と、前記目標記憶手段により記憶されている前記目標値に基づいて、前記制御手段によるシステムの制御が正常に行われているか否かを判定し、
前記システムの制御が正常に行われていないと判定された場合、全てのモータ信号の時系列のうち、着目すべきモータ信号の時系列の範囲を選択し、選択した時系列の範囲のモータ信号に所定の値を設定して出力し、
前記システムの制御が正常に行われていないと判定された場合、選択された時系列の範囲のモータ信号に処理の値を設定して出力することに応じて観測されるセンサ信号に基づいてシステムの挙動を学習し、学習結果に基づいてシステムの挙動を予測し、
前記システムの制御が正常に行われていないと判定された場合、予測される挙動をとるシステムの状態を、前記目標値により表される状態となるように遷移させるモータ信号の時系列を生成し、生成したモータ信号の時系列により、前記システムが、前記目標記憶手段により記憶されている前記目標値により表される状態に遷移するか否かを判定し、
生成されたモータ信号の時系列が出力されることによって、前記システムの状態が前記目標値により表される状態に遷移していると判定された場合、生成されたモータ信号の時系列と、前記モータ信号の時系列が出力されることに応じて観測されるセンサ信号の時系列に基づいて、前記システムを制御するのに用いられる、前記入力と前記出力の関係を表すパラメータを更新する
ステップを含む情報処理方法。
【請求項４】
制御対象となるシステムの目標の状態を表す目標値を記憶する目標記憶手段を備える情報処理装置の処理をコンピュータに実行させるプログラムにおいて、
前記制御対象となるシステムに備えられた１または複数のモータを制御するモータ信号を出力することに応じて観測されるシステムの状態を表すセンサ信号の時系列を入力とし、センサ信号により表されるシステムの状態が、前記目標記憶手段により記憶されている前記目標値により表される状態に近づくようなモータ信号の時系列を出力とする前記入力と前記出力の関係を表すパラメータを用いて、システムを制御し、
前記センサ信号と、前記目標記憶手段により記憶されている前記目標値に基づいて、前記制御手段によるシステムの制御が正常に行われているか否かを判定し、
前記システムの制御が正常に行われていないと判定された場合、全てのモータ信号の時系列のうち、着目すべきモータ信号の時系列の範囲を選択し、選択した時系列の範囲のモータ信号に所定の値を設定して出力し、
前記システムの制御が正常に行われていないと判定された場合、選択された時系列の範囲のモータ信号に処理の値を設定して出力することに応じて観測されるセンサ信号に基づいてシステムの挙動を学習し、学習結果に基づいてシステムの挙動を予測し、
前記システムの制御が正常に行われていないと判定された場合、予測される挙動をとるシステムの状態を、前記目標値により表される状態となるように遷移させるモータ信号の時系列を生成し、生成したモータ信号の時系列により、前記システムが、前記目標記憶手段により記憶されている前記目標値により表される状態に遷移するか否かを判定し、
生成されたモータ信号の時系列が出力されることによって、前記システムの状態が前記目標値により表される状態に遷移していると判定された場合、生成されたモータ信号の時系列と、前記モータ信号の時系列が出力されることに応じて観測されるセンサ信号の時系列に基づいて、前記システムを制御するのに用いられる、前記入力と前記出力の関係を表すパラメータを更新する
ステップを含むプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、およびプログラムに関し、特に、機器の故障から効率的に回復することができるようにした情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【０００２】
自律エージェントやロボットの行動は、さまざまなセンサ信号に基づいて、どのように振る舞うべきかを決定し、それをモータ信号として出力することで生成される。自律エージェントは、コンピュータ上に想定した物理環境の中で、自律的な判断に基づいて行動をとるソフトウエア的な処理を行うものである。一方、ロボットは、現実の環境の中で自律的な判断に基づいて行動をとる機器である。
【０００３】
ここで、センサ信号に基づいて状況を判断することを認知と呼ぶ。また、あるモータ信号を生成し、運動することを行動と呼ぶ。ある認知の結果に基づき、適切に行動することを認知行動と呼び、それを実現した計算モデルのことを認知行動モデルと呼ぶ。
【０００４】
一般に、認知行動モデルは、あらかじめ設計されることが多い。認知行動モデルは、例えば、ある音声が入力されると、それに応じて手を振るなどの所定の行動をロボットがとるといったように、入力と出力の対応関係がモデル化されることによって設計される。この場合、音声を認識するための音声認識装置と、ロボットが手を振るためのモータ信号が事前に設計され、音声認識の結果に基づいて所定のモータ信号を生成するような対応関係を与えることで、認知行動モデルによる行動が実現されることになる。
【０００５】
一般に、ある目的を達成するために対象に操作を加えることを制御と呼ぶ。特に、空調システムのように、室温に応じて自動的に温度調整が行われる場合を自動制御と呼ぶ。現在では、家庭用の電気製品、自動車、産業用ロボットなど、さまざまな機器に対して、自動制御の技術が応用されている。自動制御は、センサ信号に応じてどのようにモータ信号を生成するかをあらかじめ決定しておくことで実現される。これは、事前に設計された認知行動モデルとみることもできる。
【０００６】
図１は、自動制御の基本的な構成を示す図である。
【０００７】
制御器１−１に対して、システム１−２の目標となる状態を表す目標値Ｇが入力される。制御器１−１は、センサ信号Ｓにより表されるシステム１−２の状態が、目標値Ｇにより表される状態に近づくようにモータ信号Ｍを決定し、これをシステム１−２に出力する。
【０００８】
モータ信号Ｍは、システム１−２に実際に入力され、その結果、システム１−２からはセンサ信号Ｓが観測される。このセンサ信号Ｓは、制御器１−１にふたたび戻され、このセンサ信号Ｓにより表されるシステム１−２の状態が目標値Ｇにより表される状態にさらに近づくように、モータ信号Ｍが決定される。
【０００９】
ここで、システムとは、制御すべき機器、およびその機器が置かれた環境を合わせたものに対応する。例えば、空調システムの場合、制御すべき機器は、空気を暖めるためのヒータや、その空気を循環させるためのファンなどに対応し、その機器が置かれた環境は、１２畳のリビングルームなどに対応する。
【００１０】
従って、制御すべき機器と環境の両方が決まると、システムの挙動が決まり、その挙動に応じて、制御器によるシステムの制御方法を決めることが可能となる。通常、制御器は、システムの挙動を事前に想定し、それに対応して設計されることが多い。ただし、同じ空調システムを利用する場合でも、例えば、部屋の大きさなどに応じて室温の上昇の特性は変わることから、機器だけでなく機器の置かれた環境の違いによってシステムの挙動は変化する。
【００１１】
以下、制御すべき機器だけでなく、環境も含めたシステムのことを、広い意味での制御すべきシステム（対象）と考えるものとする。これは、自律エージェントやロボットの場合、自律エージェントやロボットの身体とその身体が置かれた環境を合わせて、制御すべきシステムと考えることに相当する。
【００１２】
図１に示されるような自動制御は、システムの挙動があらかじめ把握できる場合には非常に有効な方法であり、そのための制御器の構成方法について、さまざまな方法が提案されている。また、そのための理論も数多く提案されている（非特許文献１参照）。
【００１３】
しかしながら、システムの挙動をあらかじめ把握することが困難な場合、対応する制御器を事前に設計しておくことは難しい。特に、システム内の機器が故障した場合などは、想定されるシステムの挙動が変化するために、事前に設計した制御器を利用するだけでは、所望の結果を得ることができないという問題が発生する。
【００１４】
システムの挙動をあらかじめ把握できない状況は、システム内の機器が故障した場合だけでなく、機器の置かれた環境が変わった場合などにも発生するが、ここでは、システム内の機器が故障した場合を例に説明する。
【００１５】
このような問題に対して、特許文献１には、要素ごとに異常を検知する検知手段と、その検知結果に基づいて対応する要素を修復するための制御手段を備える自己修復システムが提案されている。
【００１６】
この技術においては、装置（システム内の機器）全体を複数の要素によって構成し、要素ごとに異常を検知する仕組みを備えることで、装置の中のある要素に異常が発生した場合でも、自動的にその要素の機能が修復されることになる。
【００１７】
ただし、各要素の異常の検知結果に基づいて修復を行うための制御器はあらかじめ設計しておく必要があり、これは、故障の仕方や、それに対する対処方法をあらかじめ設計しておくことに対応する。言い換えれば、故障の仕方も含めて、システムの挙動をあらかじめ把握しておく必要がある。
【００１８】
いつも決まった壊れ方をする機器を含むシステムを除いて、故障の仕方をあらかじめ想定しておくことは困難であり、そのようなシステムに対して、自動的に故障を修復させることは引用文献１に記載されているような技術によっては難しい。
【００１９】
ところで、動物が餌をとる場合を例にとると、右手が怪我などによって使えなくなると、左手を使って目的を達成し、さらに左手も怪我によって使えなくなると、口を使って目的を達成するといったように、所望の目的を達成するために、自分自身の他の身体機能をうまく応用するような行動が見られる。
【００２０】
このような認知行動は、事前に設計されたものではなく、状況の変化に応じて、目的を達成するために必要な他のやり方を探し出し、それを獲得していくものと考えることができる。このような考え方に基づいて、自動制御に用いられる制御器が構成されることはない。
【００２１】
特許文献２には、システムの挙動を事前に想定することなく、制御器を発達させる技術が記載されている。
【００２２】
この技術においては、制御器をあらかじめ設計しておくのではなく、自律行動制御モデルと呼ばれる、予測部、評価部、制御部、計画部の４つのモジュールによって構成された学習モデルを利用して制御器の発達が実現される。
【００２３】
予測部は、時刻ｔに制御器から出力されたモータ信号ｍtと、同じ時刻ｔにシステムにおいて観測されるセンサ信号Ｓtから、時刻ｔ＋１に観測されるセンサ信号Ｓt+1がどのような値になるかを、常に予測学習する。
【００２４】
評価部は、予測部の予測エラー、計画部の計画エラー、制御部の制御エラーを観測し、それを元にシステムの目標の状態を決定し、計画部に与える。
【００２５】
計画部は、システムの現在の状態から、評価部によって与えられた目標の状態に至るまでのモータ信号系列を計画する。ここで、計画部は、モータ信号系列を計画するために予測部を利用する。すなわち、どのようにモータ信号を出力すると、システムの状態がどのように遷移するかに関して予測部に予測させ、その予測結果に基づき、所望の状態に遷移するためのモータ信号系列を決定する。
【００２６】
制御部は、計画部による計画に基づき、モータ信号系列を実際に出力することで、システムに対して実際に働きかけを行う。制御部は、システムの状態が所望の目標の状態に到達することができた場合に、モータ信号系列と、それに応じて出力された各時刻のセンサ信号を学習する。すなわち、学習が進むと、計画を行うことなく、所望の目標状態に到達するためのモータ信号系列を制御器は出力することができるようになる。
【００２７】
ただし、この技術は制御器を自律的に発達させることを目指したものであり、タスクに関する事前知識が与えられることなく、タスクを自ら設定し、自ら目標を設定することで制御器の学習が進められる。
【００２８】
自ら設定する目標に応じて、さまざまなタスクを柔軟にこなすことができるように制御器が発達する可能性がある反面、必ずしも、所望のタスクをこなすことができるように制御器が発達するとは限らず、また、発達したとしても相当な時間を要するという問題点をこの技術は持っている。つまり、あらかじめ決められたタスクをこなすような問題に対しては、あまり効率が良い方法とは言えない。
【００２９】
【非特許文献１】片山 徹、「フィードバック制御の基礎」、２００２年２月１０日、朝倉書店
【特許文献１】特開平７−４４２０１号公報
【特許文献２】特開２００６−２６８８１２号公報
【発明の開示】
【発明が解決しようとする課題】
【００３０】
以上のように、従来の技術では、機器が故障するなどしてシステムの挙動が変化した場合に、あらかじめ設計した制御器を利用するだけでは所望の目的を達成することができなくなるという問題があった。
【００３１】
また、制御器を発達させる従来の技術では、タスクそのものを自ら設定するため、所望の目的を達成することができるように必ずしも制御器が発達するわけではなく、発達するとしても相当な時間を要するという問題があった。
【００３２】
本発明はこのような状況に鑑みてなされたものであり、機器の故障から効率的に回復することができるようにするものである。
【課題を解決するための手段】
【００３３】
本発明の一側面の情報処理装置は、制御対象となるシステムの目標の状態を表す目標値を記憶する目標記憶手段と、前記制御対象となるシステムに備えられた１または複数のモータを制御するモータ信号を出力することに応じて観測されるシステムの状態を表すセンサ信号の時系列を入力とし、センサ信号により表されるシステムの状態が、前記目標記憶手段により記憶されている前記目標値により表される状態に近づくようなモータ信号の時系列を出力とする前記入力と前記出力の関係を表すパラメータを用いて、システムを制御する制御手段と、前記センサ信号と、前記目標記憶手段により記憶されている前記目標値に基づいて、前記制御手段によるシステムの制御が正常に行われているか否かを判定する判定手段と、前記判定手段により前記制御手段によるシステムの制御が正常に行われていないと判定された場合、全てのモータ信号の時系列のうち、着目すべきモータ信号の時系列の範囲を選択し、選択した時系列の範囲のモータ信号に所定の値を設定して出力するモータ信号選択手段と、前記判定手段により前記制御手段によるシステムの制御が正常に行われていないと判定された場合、前記モータ信号選択手段により選択された時系列の範囲のモータ信号に処理の値を設定して出力することに応じて観測されるセンサ信号に基づいてシステムの挙動を学習し、学習結果に基づいてシステムの挙動を予測する予測手段と、前記判定手段により前記制御手段によるシステムの制御が正常に行われていないと判定された場合、前記予測手段により予測される挙動をとるシステムの状態を、前記目標値により表される状態となるように遷移させるモータ信号の時系列を生成し、生成したモータ信号の時系列により、前記システムが、前記目標記憶手段により記憶されている前記目標値により表される状態に遷移するか否かを判定する生成手段とを備え、前記生成手段により生成されたモータ信号の時系列が出力されることによって、前記システムの状態が前記目標値により表される状態に遷移していると判定された場合、前記制御手段は、前記生成手段により生成されたモータ信号の時系列と、前記モータ信号の時系列が出力されることに応じて観測されるセンサ信号の時系列に基づいて、前記システムを制御するのに用いられる、前記入力と前記出力の関係を表すパラメータを更新する。
【００３６】
前記判定手段には、システム内の機器の故障を検出した場合、前記制御手段によるシステムの制御が正常に行われていないと判定させることができる。
【００３７】
本発明の一側面の情報処理方法またはプログラムは、制御対象となるシステムに備えられた１または複数のモータを制御するモータ信号を出力することに応じて観測されるシステムの状態を表すセンサ信号の時系列を入力とし、センサ信号により表されるシステムの状態が、前記目標記憶手段により記憶されている前記目標値により表される状態に近づくようなモータ信号の時系列を出力とする前記入力と前記出力の関係を表すパラメータを用いて、システムを制御し、前記センサ信号と、前記目標記憶手段により記憶されている前記目標値に基づいて、前記制御手段によるシステムの制御が正常に行われているか否かを判定し、前記システムの制御が正常に行われていないと判定された場合、全てのモータ信号の時系列のうち、着目すべきモータ信号の時系列の範囲を選択し、選択した時系列の範囲のモータ信号に所定の値を設定して出力し、前記システムの制御が正常に行われていないと判定された場合、選択された時系列の範囲のモータ信号に処理の値を設定して出力することに応じて観測されるセンサ信号に基づいてシステムの挙動を学習し、学習結果に基づいてシステムの挙動を予測し、前記システムの制御が正常に行われていないと判定された場合、予測される挙動をとるシステムの状態を、前記目標値により表される状態となるように遷移させるモータ信号の時系列を生成し、生成したモータ信号の時系列により、前記システムが、前記目標記憶手段により記憶されている前記目標値により表される状態に遷移するか否かを判定し、生成されたモータ信号の時系列が出力されることによって、前記システムの状態が前記目標値により表される状態に遷移していると判定された場合、生成されたモータ信号の時系列と、前記モータ信号の時系列が出力されることに応じて観測されるセンサ信号の時系列に基づいて、前記システムを制御するのに用いられる、前記入力と前記出力の関係を表すパラメータを更新するステップを含む。
【００３８】
本発明の一側面においては、制御対象となるシステムに備えられた１または複数のモータを制御するモータ信号を出力することに応じて観測されるシステムの状態を表すセンサ信号の時系列を入力とし、センサ信号により表されるシステムの状態が、前記目標記憶手段により記憶されている前記目標値により表される状態に近づくようなモータ信号の時系列を出力とする前記入力と前記出力の関係を表すパラメータを用いて、システムが制御される。前記センサ信号と、前記目標記憶手段により記憶されている前記目標値に基づいて、前記制御手段によるシステムの制御が正常に行われているか否かが判定される。前記システムの制御が正常に行われていないと判定された場合、全てのモータ信号の時系列のうち、着目すべきモータ信号の時系列の範囲を選択し、選択した時系列の範囲のモータ信号に所定の値が設定されて出力される。前記システムの制御が正常に行われていないと判定された場合、選択された時系列の範囲のモータ信号に処理の値が設定されて出力されることに応じて観測されるセンサ信号に基づいてシステムの挙動が学習され、学習結果に基づいてシステムの挙動が予測される。前記システムの制御が正常に行われていないと判定された場合、予測される挙動をとるシステムの状態が、前記目標値により表される状態となるように遷移させるモータ信号の時系列が生成され、生成されたモータ信号の時系列により、前記システムが、前記目標値により表される状態に遷移するか否かが判定される。生成されたモータ信号の時系列が出力されることによって、前記システムの状態が前記目標値により表される状態に遷移していると判定された場合、生成されたモータ信号の時系列と、前記モータ信号の時系列が出力されることに応じて観測されるセンサ信号の時系列に基づいて、前記システムを制御するのに用いられる、前記入力と前記出力の関係を表すパラメータが更新される。
【発明の効果】
【００３９】
本発明の一側面によれば、機器の故障から効率的に回復することができる。
【発明を実施するための最良の形態】
【００４０】
図２は、本発明の一実施形態に係る情報処理装置の構成例を示す図である。
【００４１】
情報処理装置は、目標記憶部２−１、システム状態判定部２−２、制御部２−３、および探索部２−５を有する。探索部２−５は、計画部２−６と予測部２−７から構成され、このうちの予測部２−７は、モータ信号選択部２−８とシステム予測部２−９から構成される。
【００４２】
上述したように、制御すべき機器だけでなく、環境も含めたシステムのことを、広い意味での制御すべきシステム（対象）と考えるものとする。このことは、自律エージェントやロボットの身体と、それらの置かれた環境を合わせて、制御すべきシステムと考えることに相当する。
【００４３】
システム２−４は、この制御すべきシステムである。システム２−４に対してモータ信号ｍtを入力することでシステム２−４の状態が変化し、その結果がセンサ信号Ｓtとして観測される。
【００４４】
図３Ａ，Ｂは、犬型ロボットの頭部を上から見た図である。
【００４５】
図３Ａ，Ｂにおいて台形で示す犬型ロボットの頭部３−１には、その左右の耳の位置にマイクロフォン（左マイクＬと右マイクＲ）が取り付けられている。台形の上底方向が犬型ロボットの前方であり、下底方向が犬型ロボットの後方である。犬型ロボットの首の部分には、頭部３−１を水平に回転させるアクチュエータが取り付けられている。
【００４６】
ここで、首に取り付けられたアクチュエータに所定のモータ信号を入力すると、頭部３−１が右方向に回転するものとする。図３Ａに示されるように、前方を基準として頭部３−１の右方向に一定の音を出力する音源３−２が配置されている場合、音源３−２から出力される音の大きさは、マイクロフォンを通してセンサ信号として観測されることになる。
【００４７】
頭部３−１が回転するに従って、左右のマイクロフォンに入力される音が徐々に変化し、それに応じて、観測されるセンサ信号の大きさ（振幅）も変化する。頭部３−１の前方にマイクロフォンの指向性が与えられているものとすると、このセンサ信号の大きさに基づき、音源３−２の位置を推定することが可能となる。
【００４８】
図３Ａの状態から右方向に９０度回転した場合、頭部３−１の向きは図３Ｂに示される向きに変化し、音源３−２の位置は頭部３−１の前方にくることになる。
【００４９】
このように、頭部３−１の向きを変化させるモータ信号と、マイクロフォンに音が入力されることに応じて観測されるセンサ信号の関係、すなわち、図２のシステム２−４の挙動は、犬型ロボットの身体などの制御すべき機器と、その機器が置かれた環境の特性に応じて決まる。従って、機器が故障した場合や、機器の置かれた環境が変化した場合などにおいては、システム２−４の挙動は変化することになる。
【００５０】
図２の説明に戻り、目標記憶部２−１は、実現すべき目標値を記憶する。目標値は、目標となるシステム２−４の状態を表す。前述の犬型ロボットの例の場合、音源３−２に対する頭部３−１の向きによって、観測されるセンサ信号が変化するが、この場合、例えば、頭部３−１の前方中心に音源３−２の位置がくるようにするとの目標値が目標記憶部２−１に記憶される。
【００５１】
目標記憶部２−１は、記憶している目標値Ｇを出力する。目標記憶部２−１から出力された目標値Ｇは、通常時、システム状態判定部２−２、制御部２−３に入力される。
【００５２】
制御部２−３は、目標値Ｇに応じて、システム２−４の状態が目標値Ｇにより表される状態に近づくように、システム２−４に入力する時刻ｔのモータ信号ｍtを決定し、出力する。例えば、首に取り付けられたアクチュエータを右方向に回転させるモータ信号ｍtなどが制御部２−３から出力される。モータ信号ｍtが出力されること応じて、システム２−４の状態は変化し、その状態を表す時刻ｔのセンサ信号Ｓtが観測される。
【００５３】
センサ信号Ｓtは、システム状態判定部２−２と制御部２−３に入力される。制御部２−３は、入力されたセンサ信号Ｓtと、目標記憶部２−１から与えられる目標値Ｇに基づき、１時刻分ずつ、モータ信号ｍtを出力する。
【００５４】
ここで、制御部２−３が正しく動作している場合、目標値Ｇとセンサ信号Ｓtに応じて、適切な次の時刻のモータ信号ｍt+1が制御部２−３から出力されることになり、システム２−４は所望の状態に遷移していくことになる。
【００５５】
例えば、図３において、頭部３−１の前方中心に音源位置がくるように目標値Ｇが与えられた場合、モータ信号ｍtとして適切な信号が制御部２−３から出力されれば、頭部３−１が右方向に徐々に回転し、やがて、音源位置は頭部３−１の前方中心にくることになる。
【００５６】
ここで、頭部３−１を回転させるための首のアクチュエータが故障して動かなくなった場合を考える。
【００５７】
この場合、制御部２−３がどのようなモータ信号ｍtを出力したとしても、所望の状態、すなわち、図３Ａに示されるような方向に向いている頭部３−１を右方向に回転させて、図３Ｂに示されるような音源方向を向いた状態にすることはできない。これは、首のアクチュエータが故障する前と故障した後とで、システム２−４の挙動が大きく変化したことに対応する。
【００５８】
システム状態判定部２−２は、目標記憶部２−１から供給された目標値Ｇと、システム２−４において観測されるセンサ信号Ｓtから、システム２−４の状態が目標の状態に遷移しているかどうか、すなわち、制御部２−３による制御が正常に行われているかどうかを判定する。
【００５９】
上述した例の場合、首のアクチュエータが故障する前は、システム２−４から観測されるセンサ信号Ｓtは目標値Ｇに向かって遷移することになり、この場合、システム状態判定部２−２は、システム２−４の制御が正常に行われていると判定する。これに対して、故障した後は、センサ信号Ｓtが目標値Ｇに向かって遷移することはないため、システム状態判定部２−２は、システム２−４の制御が正常に行われていないと判定する。
【００６０】
システム状態判定部２−２は、システム２−４の制御が正常に行われていないと判定した場合、システム２−４の挙動が変化したことなどにより、制御部２−３はもはや機能しないと判断し、その判断結果を探索部２−５に送る。
【００６１】
探索部２−５は、目標値Ｇを実現するためのモータ信号ｍtの時系列であるモータ信号系列ｍ1，ｍ2，…，ｍTを探索する。Ｔはモータ信号系列の長さを示す。この探索結果に基づき、システム２−４に対してモータ信号ｍtが１時刻分ずつ実際に入力されると、システム２−４からは、対応するセンサ信号Ｓtが観測される。
【００６２】
システム２−４の前段に設けられるスイッチは、通常動作時には、制御部２−３からのモータ信号ｍtがシステム２−４に対して入力され、システム２−４を正常に制御できていないと判定された後の探索時には、探索部２−５からのモータ信号系列ｍ1，ｍ2，…，ｍTが１時刻分ずつシステム２−４に対して入力されることを表す。
【００６３】
モータ信号系列ｍ1，ｍ2，…，ｍTは図示せぬ経路を介してシステム状態判定部２−２にも与えられる。システム状態判定部２−２は、モータ信号系列ｍ1，ｍ2，…，ｍTが１時刻分ずつ探索部２−５からシステム２−４に入力されることに応じて観測されるセンサ信号系列Ｓ1，Ｓ2，…，ＳTに基づいて、目標値Ｇを実現することができたと判定した場合、そのモータ信号系列ｍ1，ｍ2，…，ｍTとセンサ信号系列Ｓ1，Ｓ2，…，ＳTを制御部２−３に与える。
【００６４】
制御部２−３においては、システム状態判定部２−２から与えられたモータ信号系列ｍ1，ｍ2，…，ｍTとセンサ信号系列Ｓ1，Ｓ2，…，ＳTに基づいて学習が行われ、システム２−４の制御にそれまで用いられていたパラメータが更新される。
【００６５】
ある目標値Ｇが与えられている場合において、あるセンサ信号Ｓtが入力されたときにはこのモータ信号ｍtを出力する、といったように、入力と出力の関係を表し、モータ信号ｍtを決定するのに用いられる認知行動モデルのパラメータが制御部２−３には与えられている。このパラメータが、システム状態判定部２−２から与えられたモータ信号系列ｍ1，ｍ2，…，ｍTとセンサ信号系列Ｓ1，Ｓ2，…，ＳTに基づいて更新される。
【００６６】
図４Ａ，Ｂは、探索部２−５が、目標値Ｇを実現することのできるモータ信号系列ｍ1，ｍ2，…，ｍTを探索することができた場合の例を示す図である。
【００６７】
図４Ａ，Ｂの例においては、犬型ロボットの構成として、頭部４−２の他に胴体４−１が示されている。頭部４−２には左右の耳の位置にマイクロフォンが取り付けられており、胴体４−１には前後左右に足が取り付けられている。前後左右の足をアクチュエータによって駆動させることにより、前後に移動したり、その場で水平方向に回転し、胴体４−１ごと向きを変えたりすることができるようになされている。図４Ａの例においては、音源４−３は頭部４−２の前方に対して右方向に配置されている。
【００６８】
ここで、目標値Ｇとして、図３Ａ，Ｂを参照して説明したものと同様に、音源４−３の位置が頭部４−２の前方中心にくるようすることが与えられているものとする。上述した通り、頭部４−２を回転させるための首のアクチュエータが故障した後は、首のアクチュエータを駆動させるためのモータ信号を与えても頭部４−２は回転しないため、頭部４−２に対する音源位置は変化しない。
【００６９】
この状況において、左右の前足と後足を適切に動かすようなモータ信号系列ｍ1，ｍ2，…，ｍTを与えることができれば、犬型ロボットの胴体４−１は、図４Ｂに示されるように音源４−３に対して向きを変え、その結果、頭部４−２の前方の中心に音源４−３がくる状態を実現することが可能となる。
【００７０】
そして、このようなモータ信号系列ｍ1，ｍ2，…，ｍTと、対応するセンサ信号系列Ｓ1，Ｓ2，…，ＳTに基づいてパラメータを適切に更新することができれば、制御部２−３は、首のアクチュエータが故障したとしても、左右の前足と後足を動かすようなモータ信号ｍtを出力することで目標値Ｇを実現することができるようになる。
【００７１】
すなわち、故障などによってシステム２−４の挙動が変化した場合でも、目標記憶部２−１から出力される目標値Ｇに基づき、制御部２−３は新たなモータ信号ｍtを出力することができるようになる。
【００７２】
つづいて、探索部２−５による探索について、犬型ロボットを例として説明する。
【００７３】
ここでは、システム２−４に対して、首のアクチュエータを駆動するためのモータ信号と、左右の前足と後足を駆動するためのモータ信号を入力することができるものとする。この場合、合計５種類のモータ信号を入力することができることになる。また、この犬型ロボットは、頭部の左右に取り付けられたマクロフォンに入力される音をセンサ信号として観測することができるものとする。
【００７４】
この犬型ロボットに対して、近くに置かれたある一定の音を出す音源の方向を向く、音源に近づくという２通りの認知行動を行わせるものとする。目標記憶部２−１には、音源が頭部の前方の中心にくるようにするという目標値と、音源からの音の大きさがある所定の値になるようにするという目標値が記憶される。
【００７５】
この犬型ロボットに対して、モータ信号として適当な値の信号を与えると、システム２−４の状態が変化し、その結果はセンサ信号として観測されることになる。
【００７６】
モータ信号選択部２−８は、５種類のモータ信号の中のどのモータ信号に着目するかを選び出し、選び出した適当なモータ信号に所定の値を設定して、図２の太線矢印Ａ1に示されるようにシステム２−４に対して与える。
【００７７】
システム予測部２−９は、システム２−４に対して与えられたモータ信号ｍtを取得する。また、システム予測部２−９は、モータ信号ｍtが与えられることに応じてシステム２−４において観測されるセンサ信号Ｓtを太線矢印Ａ2に示されるように取得する。
【００７８】
システム予測部２−９は、取得したモータ信号ｍtとセンサ信号Ｓtの関係を学習することで、そのモータ信号ｍtによってシステム２−４の状態がどのように変化し、その結果、どのようなセンサ信号Ｓtが観測されるかを予測することができるようになる。
【００７９】
予測部２−７は、このような処理を行うモータ信号選択部２−８とシステム予測部２−９から構成される。
【００８０】
予測部２−７は、システム２−４に対する働きかけ（モータ信号ｍtを与えること）に基づき、常に、モータ信号ｍtとセンサ信号Ｓtの関係を予測学習する。このような予測学習を続けることで、システム２−４の最新の挙動を予測することが可能になる。
【００８１】
例えば、首のアクチュエータが故障する前は、首のアクチュエータにモータ信号ｍtを与え、その結果観測されるセンサ信号Ｓtを取得して学習することによって、首のアクチュエータにモータ信号ｍtを与えたときに音源の位置がどのように変化するかを予測することができるようになる。
【００８２】
また、右の前足だけを動かしたり、左右の後足を動かしたりするモータ信号ｍtを与え、その結果観測されるセンサ信号Ｓtを取得して学習することによって、右の前足だけを動かした場合や、左右の後足を動かした場合に、音源の位置がどのように変化するかを予測することができるようになる。
【００８３】
さらに、左右の前足と後足を動かすモータ信号ｍtを与え、その結果観測されるセンサ信号Ｓtを取得して学習することによって、左右の前足と後足を動かし、部屋の中を移動したり、向きを変えたりした場合に、音源の位置がどのように変化するかを予測することができるようになる。
【００８４】
すなわち、さまざまなモータ信号ｍtを与え、その結果観測されるセンサ信号Ｓtを取得して学習することによって、さまざまな行動をとった場合に、音源の位置がどのように変化するかを予測することができるようになる。
【００８５】
また、モータ信号ｍtを与え、その結果、左右のマイクロフォンに入力される音の大きさがどのように変化するかについても学習を行うことによって、音源からの音の大きさがどのように変化するかについても予測することができるようになる。
【００８６】
ここで、首のアクチュエータが故障した場合を考える。
【００８７】
この場合、首のアクチュエータにモータ信号ｍtを与えても、頭部に対する音源の位置は変化しないということが学習により予測することができるようになる。つまり、故障などによってシステム２−４の挙動が変化した場合でも、予測部２−７による学習によって、システム２−４の最新の挙動を予測することができるようになる。
【００８８】
一方、計画部２−６は、予測部２−７を利用して、目標記憶部２−１に記憶された目標値Ｇを実現するためのモータ信号系列ｍ1，ｍ2，…，ｍTを計画する。
【００８９】
具体的には、計画部２−６は、どのモータ信号ｍtに着目し、着目したモータ信号ｍtにどのような値を与えるかを決定する。また、計画部２−６は、値を決定したモータ信号ｍtをシステム２−４に入力したときに、どのようなセンサ信号Ｓtが観測されるかを予測部２−７に予測させ、その予測結果に基づき、次の時刻にどのようなモータ信号ｍt+1を与えるかを決定する。
【００９０】
計画部２−６は、この処理を繰り返すことで、目標値Ｇを実現するためのモータ信号系列ｍ1，ｍ2，…，ｍTを探索する。すなわち、計画部２−６は、予測部２−７により予測される挙動をとるシステム２−４の状態を、目標値Ｇにより表される状態にするように遷移させるモータ信号系列ｍ1，ｍ2，…，ｍTを生成する。
【００９１】
予測部２−７がシステム２−４の挙動を正しく予測できるようになっている場合、想定可能なモータ信号系列すべてについて、目標値Ｇを実現することができそうかどうかを調べれば、最良のモータ信号系列ｍ1，ｍ2，…，ｍTを決定することが可能となる。
【００９２】
このような最良のモータ信号系列ｍ1，ｍ2，…，ｍTを効率的に探索する方法には、あるヒューリスティック関数を仮定したＡ*探索と呼ばれる方法などのさまざまな方法がある。モータ信号系列ｍ1，ｍ2，…，ｍTの探索には、どのような方法であっても適用することが可能であり、ある１つの方法に限定されるものではない。
【００９３】
計画部２−６により計画されたモータ信号系列ｍ1，ｍ2，…，ｍTは、探索部２−５の探索結果として出力され、１時刻分ずつ、モータ信号ｍtがシステム２−４に与えられる。モータ信号系列ｍ1，ｍ2，…，ｍTは、システム状態判定部２−２にも与えられる。
【００９４】
目標値Ｇを実現することができたとシステム状態判定部２−２により判定された場合、モータ信号系列ｍ1，ｍ2，…，ｍTと、対応するセンサ信号系列Ｓ1，Ｓ2，…，ＳTが制御部２−３に与えられ、制御部２−３のパラメータが更新される。
【００９５】
もし、探索部２−５の探索結果としてのモータ信号系列ｍ1，ｍ2，…，ｍTを１時刻分ずつシステム２−４に入力しても目標値Ｇを実現することができなかった場合、そのことは、計画部２−６の計画が失敗したことを意味する。
【００９６】
この場合、予測部２−７の予測学習がさらに進められ、その後、計画部２−６による計画がやり直される。予測部２−７の予測学習が繰り返されることによって、予測部２−７の予測精度が向上し、それにより、計画部２−６の計画の精度も向上することになる。
【００９７】
このような探索部２−５における処理は、目標値Ｇを実現することができるようなモータ信号系列ｍ1，ｍ2，…，ｍTが得られるまで繰り返される。
【００９８】
なお、システム２−４の機器の故障によっては、どのようなモータ信号ｍtをシステム２−４に入力しても、もはや目標値Ｇを実現することができないような状況になるケースも考えられる。
【００９９】
そこで、目標値Ｇを実現することができるようになるまで探索を繰り返すのではなく、予測部２−７が予測できる範囲において、目標値Ｇにできるだけ近づけることができるようなモータ信号系列を探索し、その探索結果のモータ信号系列ｍ1，ｍ2，…，ｍTに基づいて制御部２−３のパラメータを更新するようにすることも可能である。
【０１００】
この場合、目標値Ｇを実現することができなかった場合でも制御部２−３のパラメータが更新されることになる。
【０１０１】
このようにしてパラメータが更新されると、目標値Ｇを実現することまではできないかもしれないが、システム２−４の状態を目標値Ｇにできるだけ近づけることができるようなモータ信号ｍtが制御部２−３から出力されることになる。
【０１０２】
例えば、左右の前足と後足が故障してしまい、もはや移動することができなくなったような状態において音源に近づくという目標値Ｇが与えられた場合、首のアクチュエータを動かすことで頭部の向きを変えて、音源の方向にできるだけマイクロフォンを近づけようとする認知行動が出力されることになる。
【０１０３】
次に、以上のような構成を有する情報処理装置の処理について説明する。
【０１０４】
はじめに、図５のフローチャートを参照して、制御処理の全体の流れについて説明する。
【０１０５】
ステップＳ１において、目標記憶部２−１は、自身が記憶しておいたものの中から目標値Ｇを決定し、決定した目標値Ｇをシステム状態判定部２−２と制御部２−３に出力する。
【０１０６】
ステップＳ２において、制御部２−３は、目標記憶部２−１から供給された目標値Ｇと、システム２−４において観測されるセンサ信号Ｓtに基づいてモータ信号ｍtを決定し、決定したモータ信号ｍtをシステム２−４に出力する。
【０１０７】
システム２−４においては、モータ信号ｍtが入力されることに応じてそのときの状態に応じた挙動がとられ、センサ信号Ｓtが出力される。センサ信号Ｓtは制御部２−３に供給され、制御部２−３により、次の時刻のモータ信号であるモータ信号ｍt+1が決定される。センサ信号Ｓtはシステム状態判定部２−２にも供給される。
【０１０８】
制御部２−３においては、このようして次々と決定されるモータ信号ｍtがシステム２−４に対して出力され、目標値Ｇを実現するためのシステム２−４の制御が行われる。
【０１０９】
ステップＳ３において、システム状態判定部２−２は、目標記憶部２−１から供給された目標値Ｇと、システム２−４において観測されるセンサ信号Ｓtに基づいて上記の制御過程を調べ、所望の目標値Ｇを実現するように状態が遷移しており、システム２−４の制御を正常に行うことができているかどうかを判定する。
【０１１０】
ステップＳ３において、システム２−４の制御を正常に行うことができていると判定された場合、すなわち、所望の目標値Ｇを実現するようにシステム２−４の状態が遷移していると判定された場合、制御部２−３が正しく機能しているとみなせるので、制御の処理は終了される。
【０１１１】
一方、ステップＳ３において、システム２−４の制御が異常であると判定された場合、すなわち、所望の目標値Ｇを実現するようにシステム２−４の状態が遷移していないと判定された場合、制御部２−３が正しく機能していないとみなせるので、システム状態判定部２−２から探索部２−５に対して、システム２−４の挙動が変化したことが通知される。
【０１１２】
なお、システム２−４の挙動が変化する原因の１つとして、システム２−４内の機器の故障が考えられることから、ステップＳ３において行われるシステム２−４の状態判定において、システム２−４内の機器の故障を検出する処理が利用されることもある。例えば、システム状態判定部２−２は、機器の故障を検出した場合、システム２−４の制御が異常であると判定し、システム２−４の挙動が変化したことを探索部２−５に通知する。
【０１１３】
ステップＳ４において、モータ信号系列ｍ1，ｍ2，…，ｍTの探索処理が探索部２−５により行われる。上述したように、この探索処理は、目標記憶部２−１において決定された目標値Ｇを実現すると予測されるモータ信号系列ｍ1，ｍ2，…，ｍTを決定する処理である。探索処理の詳細については図６のフローチャートを参照して後述する。
【０１１４】
ステップＳ５において、探索部２−５により決定されたモータ信号系列ｍ1，ｍ2，…，ｍTに従い、探索部２−５からシステム２−４に対して、モータ信号ｍtが１時刻分ずつ入力され、モータ信号系列ｍ1，ｍ2，…，ｍTの試行が行われる。このとき、システム２−４の状態の変化を表すセンサ信号Ｓtがシステム状態判定部２−２において観測される。モータ信号系列ｍ1，ｍ2，…，ｍTは、システム状態判定部２−２に対しても供給される。
【０１１５】
ステップＳ６において、システム状態判定部２−２は、ステップＳ５において行われたモータ信号系列ｍ1，ｍ2，…，ｍTの試行によって、目標値Ｇを実現することができたかどうかを判定する。
【０１１６】
ステップＳ６において、目標値Ｇを実現することができなかったと判定された場合、探索部２−５による探索処理が失敗したとみなされ、ステップＳ４に戻り、同様の処理が繰り返される。すなわち、新たなモータ信号系列ｍ1，ｍ2，…，ｍTを探索する処理が探索部２−５において行われ、ステップＳ６において目標値Ｇを実現することができたと判定されるまで、ステップＳ４からステップＳ６の処理が繰り返される。
【０１１７】
一方、ステップＳ６において、目標値Ｇを実現することができたと判定した場合、システム状態判定部２−２は、探索部２−５による探索処理が成功したとみなし、探索処理により決定され、目標値Ｇを実現するために用いられたモータ信号系列ｍ1，ｍ2，…，ｍTと、モータ信号系列ｍ1，ｍ2，…，ｍTが１時刻分ずつ入力されることに応じて観測されたセンサ信号系列Ｓ1，Ｓ2，…，ＳTを制御部２−３に出力する。
【０１１８】
ステップＳ７において、制御部２−３は、システム状態判定部２−２から供給されたモータ信号系列ｍ1，ｍ2，…，ｍTとセンサ信号系列Ｓ1，Ｓ2，…，ＳTを用いて、システム２−４の制御に用いるパラメータを更新し、処理を終了させる。
【０１１９】
次に、図６のフローチャートを参照して、図５のステップＳ４において行われる探索処理について説明する。
【０１２０】
ステップＳ１１において、目標記憶部２−１は、図５のステップＳ１で決定したものと同じ目標値Ｇを探索部２−５の計画部２−６に出力する。
【０１２１】
ステップＳ１２において、モータ信号ｍtを入力することに応じてシステム２−４の状態がどのように変化し、その結果、どのようなセンサ信号Ｓtを観測することができるかを予測できるようにするための予測学習処理が予測部２−７により行われる。ステップＳ１２において行われる予測学習処理の詳細については、図７のフローチャートを参照して後述する。
【０１２２】
予測学習が進むと、あるモータ信号ｍtをシステム２−４に入力した場合に、どのようなセンサ信号Ｓtが観測されるのかを予測部２−７において予測できるようになる。ステップＳ１３において、計画部２−６は、この予測部２−７による予測に基づいて、目標値Ｇを実現するためのモータ信号系列ｍ1，ｍ2，…，ｍTを計画する。
【０１２３】
計画部２−６により計画されたモータ信号系列ｍ1，ｍ2，…，ｍTは、予測部２−７による予測学習が十分に行われ、その精度が高い場合には目標値Ｇを実現することができるものとなり、予測部２−７による予測学習が十分に行われておらず、精度が低い場合には目標値Ｇを実現することができないものとなる。
【０１２４】
ステップＳ１４において、計画部２−６は、計画によって得られたモータ信号系列ｍ1，ｍ2，…，ｍTを１時刻分ずつシステム２−４に入力することで目標値Ｇを実現することができそうかどうかを判定する。
【０１２５】
ここでの判定も、予測部２−７による予測を用いて行われる。例えば、計画によって得られたモータ信号系列ｍ1，ｍ2，…，ｍTを１時刻分ずつ入力したときのセンサ信号Ｓtが予測部２−７により予測され、予測されたセンサ信号Ｓtが計画部２−６に供給される。計画部２−６においては、予測されたセンサ信号Ｓtが目標値Ｇに近づくように遷移している場合には、目標値Ｇを実現することができそうと判定され、目標値Ｇに近づくように遷移していない場合には、目標値Ｇを実現することができそうにないと判定される。
【０１２６】
ステップＳ１４における判定の結果、目標値Ｇを実現できそうにないと判定された場合、モータ信号系列ｍ1，ｍ2，…，ｍTの計画が失敗したものとみなされ、ステップＳ１２に戻り、それ以降の処理が繰り返される。すなわち、予測部２−７の予測学習が再度行われ、予測能力が更新された後の予測部２−７による予測に基づいて、新たなモータ信号系列ｍ1，ｍ2，…，ｍTがステップＳ１３において計画される。このようにして、目標値Ｇを実現できそうなモータ信号系列ｍ1，ｍ2，…，ｍTが見つかるまで、ステップＳ１２からステップＳ１４の処理が繰り返される。
【０１２７】
ステップＳ１４における判定の結果、目標値Ｇを実現できそうであると判定された場合、モータ信号系列ｍ1，ｍ2，…，ｍTの計画が成功したものとみなされ、探索処理は終了される。その後、図５のステップＳ４に戻り、それ以降の処理が行われる。
【０１２８】
次に、図７のフローチャートを参照して、図６のステップＳ１２において行われる予測学習処理について説明する。
【０１２９】
ステップＳ２１において、モータ信号選択部２−８は、すべてのモータ信号ｍtの中から、着目すべきモータ信号ｍtを選択する。
【０１３０】
ステップＳ２２において、モータ信号選択部２−８は、着目すべきモータ信号ｍtに対して適当な値を設定する。
【０１３１】
ステップＳ２３において、モータ信号選択部２−８は、ステップＳ２２で値を設定したモータ信号ｍtをシステム２−４に実際に入力することによって、モータ信号ｍtを試行する。試行に用いられたモータ信号ｍtはシステム予測部２−９にも供給される。
【０１３２】
ステップＳ２４において、システム予測部２−９は、モータ信号ｍtがモータ信号選択部２−８から入力されることに応じて生じたシステム２−４の状態の変化をセンサ信号Ｓtとして観測する。システム予測部２−９においては、モータ信号選択部２−８から入力されたモータ信号ｍtと、システム２−４において観測されたセンサ信号Ｓtを用いて、システム２−４の挙動の予測学習が行われる。ステップＳ２１からステップＳ２４の処理が、システム２−４の最新の挙動を予測できるようになるまで繰り返し実行される。
【０１３３】
なお、以上の予測学習処理は、システム２−４の制御の状態が異常であると判定された場合だけでなく、正常であると判定されている場合においても、図５の処理と並行して所定のタイミングで行われるようにしてもよい。
【０１３４】
以上の処理により、故障などによってシステム２−４の挙動が変化した場合でも、故障後のシステム２−４の状態に応じて、新たなモータ信号系列の探索と、その探索結果に基づく制御部２−３のパラメータの更新が行われ、故障前と同等に、あるいは達成可能な範囲で、所望の目的を達することが可能となる。
【０１３５】
また、目標記憶部２−１に目標値が記憶されており、それを実現するようなモータ信号系列の探索が行われるため、自ら目標を設定して制御部２−３を発達させる場合に比べて、最終的な目標があらかじめ用意されている分、機器の故障から効率的に回復することが可能となる。
【０１３６】
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされ
【０１３７】
図８は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【０１３８】
CPU(Central Processing Unit)５１、ROM(Read Only Memory)５２、RAM(Random Access Memory)５３は、バス５４により相互に接続されている。
【０１３９】
バス５４には、さらに、入出力インタフェース５５が接続されている。入出力インタフェース５５には、キーボード、マウス、マイクロフォンなどよりなる入力部５６、ディスプレイ、スピーカなどよりなる出力部５７、ハードディスクや不揮発性のメモリなどよりなる記憶部５８、ネットワークインタフェースなどよりなる通信部５９、光ディスクや半導体メモリなどのリムーバブルメディア６１を駆動するドライブ６０が接続されている。
【０１４０】
以上のように構成されるコンピュータでは、CPU５１が、例えば、記憶部５８に記憶されているプログラムを入出力インタフェース５５及びバス５４を介してRAM５３にロードして実行することにより、上述した一連の処理が行われる。
【０１４１】
CPU５１が実行するプログラムは、例えばリムーバブルメディア６１に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル放送といった、有線または無線の伝送媒体を介して提供され、記憶部５８にインストールされる。
【０１４２】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０１４３】
本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０１４４】
【図１】自動制御の基本的な構成を示す図である。
【図２】本発明の一実施形態に係る情報処理装置の構成例を示す図である。
【図３】犬型ロボットの頭部を上から見た状態を示す図である。
【図４】犬型ロボットの頭部と胴体を上から見た状態を示す図である。
【図５】情報処理装置による制御処理の全体の流れについて説明するフローチャートである。
【図６】図５のステップＳ４において行われる探索処理について説明するフローチャートである。
【図７】図６のステップＳ１２において行われる予測学習処理について説明するフローチャートである。
【図８】コンピュータのハードウエア構成例を示すブロック図である。
【符号の説明】
【０１４５】
２−１  目標記憶部，  ２−２  システム状態判定部，  ２−３  制御部，  ２−４  システム，  ２−５  探索部，  ２−６  計画部，  ２−７  予測部，  ２−８  モータ信号選択部，  ２−９  システム予測部
【図１】
0004577353.tif 000002
【図２】
0004577353.tif 000003
【図３】
0004577353.tif 000004
【図４】
0004577353.tif 000005
【図５】
0004577353.tif 000006
【図６】
0004577353.tif 000007
【図７】
0004577353.tif 000008
【図８】
0004577353.tif 000009