(57)【要約】【課題】  外部からの指示に応じて行動すると共に、外部からの指示と無関係な（予測不可能な）行動も行うことが可能なロボットの提供。【解決手段】  行動計画生成部２１は、指示・状態通知部１６からの指示に基づいて、一あるいは複数の機能からなる指示ベース行動計画を生成する。追加行動選択部２５は、前記指示ベース行動計画に含まれる機能を除いた別の機能を選択し、非指示ベース行動計画とする。  そして、機能実行指示部２６は、指示ベース行動計画と、非指示ベース行動計画に基づき各機能を並列的に実行指示する。【選択図】図１
2006088282.tif 000002
【特許請求の範囲】
【請求項１】
外部からの指示に基づいて、一あるいは複数の機能の実行手順を生成する行動計画生成手段と、
前記行動計画生成手段で生成された前記実行手順を参照して、前記実行手順に示される機能を除いた別の機能を選択する追加機能選択手段と、
前記行動計画生成手段で生成された前記実行手順に示される機能と、前記追加機能選択手段で選択された前記別の機能との実行指示を行う機能実行指示手段とを備えたことを特徴とするロボット。
【請求項２】
前記機能実行指示手段の指示により実行される前記行動計画に含む機能と、前記行動計画に含む機能を除く別の機能とは並列に実行されることを特徴とする請求項１記載のロボット。
【請求項３】
可動部を備え、前記実行手順に示される機能の少なくとも一つは、前記可動部を動作させるものであることを特徴とする請求項１または２記載のロボット。
【請求項４】
可動部を備え、前記別の機能は、前記可動部を動作させるものであることを特徴とする請求項１または２記載のロボット。
【請求項５】
前記外部からの指示は、ロボットの利用者からの命令であることを特徴とする請求項１乃至請求項４に記載のロボット。
【請求項６】
前記追加機能選択手段は、ロボットが備える全ての機能の中から、前記実行手順に示される機能を除いた残りの機能の中から、前記別の機能を無作為に選択するようにしたことを特徴とする請求項１乃至請求項５に記載のロボット。
【請求項７】
各機能毎に、その機能と同時に実行できない機能を記述した機能間同時実行制限情報を予め備えており、
前記追加機能選択手段は、ロボットが備える全ての機能の中から、前記実行手順に示される機能を除いた残りの機能から、前記機能間同時実行制限情報を参照し、同時に実行できない機能を省いた中から、機能を選択するようにしたことを特徴とする請求項１乃至請求項５に記載のロボット。
【請求項８】
更に、各機能毎に、その機能と同時に実行した際に悪影響を及ぼす可能性の度合いを記述した機能間相互悪影響情報を予め備えており、
前記追加機能選択手段は、前記機能間相互悪影響情報が示す各度合いを参照し、機能を選択するようにしたことを特徴とする請求項７記載のロボット。
【請求項９】
前記行動計画生成手段で生成された実行手順を逐次格納する機能実行履歴格納手段を備え、
前記追加機能選択手段で選択された機能に続けて実行する機能を、前記機能実行履歴格納手段を参照し選択するようにしたことを特徴とする請求項１乃至８に記載のロボット。
【請求項１０】
利用者からの指示に基づいて、ロボットの一あるいは複数の機能の実行手順を指示ベース行動計画として生成する指示ベース行動計画生成手段と、
前記指示ベース行動計画生成手段で生成された前記指示ベース行動計画を格納する行動計画格納手段と、
前記行動計画格納手段に格納される前記指示ベース行動計画の各機能を参照し、該各機能を除いた別の機能を選択し、非指示ベース行動計画として生成し、前記行動計画格納手段へ追加格納する非指示ベース行動計画生成手段と、
前記行動計画格納手段に格納された前記指示ベース行動計画と前記非指示ベース行動計画とに含む各機能の実行指示を行う機能実行指示手段とを備えたことを特徴とするロボット行動計画実行装置。
【請求項１１】
前記非指示ベース行動計画生成手段は、
前記指示ベース行動計画の各機能の実行と同時に実行不能な機能を判定する同時実行可能機能判定手段を備え、前記同時に実行不能な機能も除いた別の機能を選択し、非指示ベース行動計画として生成し、前記行動計画格納手段へ追加格納するようにしたことを特徴とする請求項１０記載のロボット行動計画実行装置。
【請求項１２】
実際の動作や処理を行うハードウェアやソフトウェアを備える第１のレイヤと、
行動を決定し、その行動を行うための機能を実行指示する行動計画部を備える第２のレイヤと、
第１のレイヤと第２のレイヤとの間に有って、第２レイヤから指示された機能を実現するために、第１のレイヤのハードウェアやソフトウェアへ具体化した指示を行う機能実行部と、
第１のレイヤのハードウェアやソフトウェアからのデータを第２のレイヤで理解可能な、指示や状態を示す情報に加工し、第２のレイヤへ通知する指示・状態通知部を備える第３のレイヤとを含むロボットであって、
前記行動計画部は、
前記指示・状態通知部からの指示に基づいて、一あるいは複数の機能の実行手順を生成する行動計画生成手段と、
前記行動計画生成手段で生成された前記実行手順を参照して、前記実行手順に示される機能を除いた別の機能を選択する追加機能選択手段と、
前記行動計画生成手段で生成された前記実行手順に示される機能と、前記追加機能選択手段で選択された前記別の機能との実行を前記機能実行部へ指示する機能実行指示手段とを備えたことを特徴とするロボット。
【請求項１３】
複数の機能に応じてそれぞれ行動するロボットの行動計画実行方法において、
前記ロボットの外部からの指示に基づいて、一あるいは複数の機能の実行手順を生成し、
該生成された実行手順を参照して、該実行手順に示される機能を除いた別の機能を選択し、
生成された前記実行手順に示される機能と、選択された前記別の機能とを並列に実行するようにしたことを特徴とするロボットの行動計画実行方法。
【請求項１４】
利用者からの指示に基づいて、ロボットの一あるいは複数の機能の実行手順を指示ベース行動計画として生成し、
生成された前記指示ベース行動計画を記憶部へ格納し、
記憶部へ格納された前記指示ベース行動計画の各機能を参照し、
該各機能を除いた別の機能を選択して非指示ベース行動計画として生成し、
前記記憶部へ生成した前記非指示ベース行動計画を追加し、
前記記憶部に格納された前記指示ベース行動計画と前記非指示ベース行動計画とに含まれる各機能の実行指示を行うようにしたことを特徴とするロボットの行動計画実行方法。
【請求項１５】
実際の動作や処理を行うハードウェアやソフトウェアを備える第１のレイヤと、行動を決定し、その行動を行うための機能を実行指示する行動計画部を備える第２のレイヤと、第１のレイヤと第２のレイヤとの間に有って、第２レイヤから指示された機能を実現するために、第１のレイヤのハードウェアやソフトウェアへ具体化した指示を行う機能実行部と、第１のレイヤのハードウェアやソフトウェアからのデータを第２のレイヤで理解可能な、指示や状態を示す情報に加工し、第２のレイヤへ通知する指示・状態通知部を備える第３のレイヤとを含むロボットの行動計画実行方法であって、
前記行動計画部は、前記指示・状態通知部からの指示に基づいて、
一あるいは複数の機能の実行手順を生成し、
生成された前記実行手順を参照して、前記実行手順に示される機能を除いた別の機能を選択し、
前記実行手順に示される機能と、選択された前記別の機能との実行を前記機能実行部へ指示するようにしたことを特徴とするロボットの行動計画実行方法。
【請求項１６】
複数の機能を備えるロボットのプロセッサで実行される行動計画実行プログラムであって、
外部からの指示を入力し、一あるいは複数の機能の実行手順を生成させる第１手段と、
該生成された実行手順を参照して、該実行手順に示される機能を除いた別の機能を選択させる第２手段と、
生成された前記実行手順に示される機能と、選択された前記別の機能とを並列に実行させる第３手段とを備えたことを特徴とする行動計画実行プログラム。
【請求項１７】
複数の機能と、記憶部とを備えるロボットのプロセッサで実行される行動計画実行プログラムであって、
利用者からの指示を入力し、ロボットの一あるいは複数の機能の実行手順を指示ベース行動計画として生成させる第１手段と、
前記第１手段で生成させた前記指示ベース行動計画を前記記憶部へ格納させる第２手段と、
前記記憶部へ格納させた前記指示ベース行動計画の各機能を参照させ、該各機能を除いた別の機能を選択させ、非指示ベース行動計画として生成させる第３手段と、
前記記憶部へ、生成させた前記非指示ベース行動計画を追加させる第４手段と、
前記記憶部に格納させた前記指示ベース行動計画と前記非指示ベース行動計画とに含まれる各機能の実行指示を行わせる第５手段とを備えたことを特徴とする行動計画実行プログラム。
【請求項１８】
実際の動作や処理を行うハードウェアやソフトウェアを備える第１のレイヤと、行動を決定し、その行動を行うための機能を実行指示する行動計画実行プログラムを備える第２のレイヤと、第１のレイヤと第２のレイヤとの間に有って、第２レイヤから指示された機能を実現するために、第１のレイヤのハードウェアやソフトウェアへ具体化した指示を行う機能実行部と、第１のレイヤのハードウェアやソフトウェアからのデータを第２のレイヤで理解可能な、指示や状態を示す情報に加工し、第２のレイヤへ通知する指示・状態通知部を備える第３のレイヤとを含むロボットのプロセッサで実行される前記行動計画実行プログラムであって、
前記指示・状態通知部からの指示を入力し、一あるいは複数の機能の実行手順を生成させる第１手段と、
生成させた前記実行手順を参照して、前記実行手順に示される機能を除いた別の機能を選択させる第２手段と、
前記実行手順に示される機能と、選択された前記別の機能との実行を前記機能実行部へ行うために指示させる第３手段とを備えたことを特徴とする行動計画実行プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
外部からの指示や状態により、行動を計画して実行するロボット、ロボット行動計画実行装置、ロボットの行動計画実行方法、および、行動計画実行プログラムに関する。
【背景技術】
【０００２】
ロボットは、主に、電気的な作用を用いて、人間等の生き物の動作に似た行動を行う装置である。以前は、自動化や無人化等のために、工場の生産用機械の一部として、産業用のロボットが利用されていた。
【０００３】
最近は、産業用のロボット以外に、自律型のエンターテインメントロボットと呼ばれるものが登場してきている（例えば、特許文献１参照）。自律型のロボットには、人間の視覚や聴覚に取って代わるカメラ−画像認識、マイク−音声認識などを備え、外部環境の変化に応じて行動を行うものがある。
【特許文献１】特開２００４−１１４２８５公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
産業用のロボットは、人間が制御を行うため、人間の指示することのみ行う。自律型のエンターテインメントロボットは、人間の視覚や聴覚に取って代わるカメラ−画像認識、マイク−音声認識が常時動作しており、外部環境の変化を把握した時、これを外部からの指示として、この指示に基づいてロボット自身で行動を決定し、決定した行動を実行する。
【０００５】
このような従来のロボットは、外部からの指示においてのみ、行動を決定し、行動を実行する。このようなロボットは、少なくとも、ロボットの製作者にとっては、全て予見できる行動に留まる。勿論、予見できる行動を行うことは、ロボットにとって不可欠であるが、より人間らしい行動、つまり、全く予見できない行動（予測不可能な行動）も行うことが期待される。しかしながら、このようなことを何ら実現されたものが無かった。
【０００６】
本発明は、上記課題を鑑みなされたものであり、外部からの指示に応じて行動すると共に、外部からの指示と無関係な（予測不可能な）行動も行うことが可能なロボット、ロボット行動計画実行装置、ロボットの行動計画実行方法、および、行動計画実行プログラムを提供する。
【課題を解決するための手段】
【０００７】
本発明のロボットは、外部からの指示に基づいて、一あるいは複数の機能の実行手順を生成する行動計画生成手段と、前記行動計画生成手段で生成された前記実行手順を参照して、前記実行手順に示される機能を除いた別の機能を選択する追加機能選択手段と、前記行動計画生成手段で生成された前記実行手順に示される機能と、前記追加機能選択手段で選択された前記別の機能との実行指示を行う機能実行指示手段とを備えるようにした。
【０００８】
また、本発明のロボットは、利用者からの指示に基づいて、ロボットの一あるいは複数の機能の実行手順を指示ベース行動計画として生成する指示ベース行動計画生成手段と、前記指示ベース行動計画生成手段で生成された前記指示ベース行動計画を格納する行動計画格納手段と、前記行動計画格納手段に格納される前記指示ベース行動計画の各機能を参照し、該各機能を除いた別の機能を選択し、非指示ベース行動計画として生成し、前記行動計画格納手段へ追加格納する非指示ベース行動計画生成手段と、前記行動計画格納手段に格納された前記指示ベース行動計画と前記非指示ベース行動計画とに含む各機能の実行指示を行う機能実行指示手段とを備えるようにした。
【０００９】
また、本発明は、実際の動作や処理を行うハードウェアやソフトウェアを備える第１のレイヤと、行動を決定し、その行動を行うための機能を実行指示する行動計画部を備える第２のレイヤと、第１のレイヤと第２のレイヤとの間に有って、第２レイヤから指示された機能を実現するために、第１のレイヤのハードウェアやソフトウェアへ具体化した指示を行う機能実行部と、第１のレイヤのハードウェアやソフトウェアからのデータを第２のレイヤで理解可能な、指示や状態を示す情報に加工し、第２のレイヤへ通知する指示・状態通知部を備える第３のレイヤとを含むロボットであって、前記行動計画部は、前記指示・状態通知部からの指示に基づいて、一あるいは複数の機能の実行手順を生成する行動計画生成手段と、前記行動計画生成手段で生成された前記実行手順を参照して、前記実行手順に示される機能を除いた別の機能を選択する追加機能選択手段と、前記行動計画生成手段で生成された前記実行手順に示される機能と、前記追加機能選択手段で選択された前記別の機能との実行を前記機能実行部へ指示する機能実行指示手段とを備えるようにした。
【００１０】
また、本発明は、複数の機能に応じてそれぞれ行動するロボットの行動計画実行方法において、前記ロボットの外部からの指示に基づいて、一あるいは複数の機能の実行手順を生成し、該生成された実行手順を参照して、該実行手順に示される機能を除いた別の機能を選択し、生成された前記実行手順に示される機能と、選択された前記別の機能とを並列に実行するようにした。
【００１１】
また、本発明のロボットの行動計画実行方法は、利用者からの指示に基づいて、ロボットの一あるいは複数の機能の実行手順を指示ベース行動計画として生成し、生成された前記指示ベース行動計画を記憶部へ格納し、記憶部へ格納された前記指示ベース行動計画の各機能を参照し、該各機能を除いた別の機能を選択して非指示ベース行動計画として生成し、前記記憶部へ生成した前記非指示ベース行動計画を追加し、前記記憶部に格納された前記指示ベース行動計画と前記非指示ベース行動計画とに含まれる各機能の実行指示を行うようにした。
【００１２】
また、本発明は、実際の動作や処理を行うハードウェアやソフトウェアを備える第１のレイヤと、行動を決定し、その行動を行うための機能を実行指示する行動計画部を備える第２のレイヤと、第１のレイヤと第２のレイヤとの間に有って、第２レイヤから指示された機能を実現するために、第１のレイヤのハードウェアやソフトウェアへ具体化した指示を行う機能実行部と、第１のレイヤのハードウェアやソフトウェアからのデータを第２のレイヤで理解可能な、指示や状態を示す情報に加工し、第２のレイヤへ通知する指示・状態通知部を備える第３のレイヤとを含むロボットの行動計画実行方法であって、前記行動計画部は、前記指示・状態通知部からの指示に基づいて、一あるいは複数の機能の実行手順を生成し、生成された前記実行手順を参照して、前記実行手順に示される機能を除いた別の機能を選択し、前記実行手順に示される機能と、選択された前記別の機能との実行を前記機能実行部へ指示するようにした。
【００１３】
複数の機能を備えるロボットのプロセッサで実行される本発明の行動計画実行プログラムは、外部からの指示を入力し、一あるいは複数の機能の実行手順を生成させる第１手段と、
該生成された実行手順を参照して、該実行手順に示される機能を除いた別の機能を選択させる第２手段と、生成された前記実行手順に示される機能と、選択された前記別の機能とを並列に実行させる第３手段とを備えるようにした。
【００１４】
また、本発明は、複数の機能と、記憶部とを備えるロボットのプロセッサで実行される行動計画実行プログラムであって、利用者からの指示を入力し、ロボットの一あるいは複数の機能の実行手順を指示ベース行動計画として生成させる第１手段と、前記第１手段で生成させた前記指示ベース行動計画を前記記憶部へ格納させる第２手段と、前記記憶部へ格納させた前記指示ベース行動計画の各機能を参照させ、該各機能を除いた別の機能を選択させ、非指示ベース行動計画として生成させる第３手段と、前記記憶部へ、生成させた前記非指示ベース行動計画を追加させる第４手段と、前記記憶部に格納させた前記指示ベース行動計画と前記非指示ベース行動計画とに含まれる各機能の実行指示を行わせる第５手段とを備えるようにした。
【００１５】
また、本発明は、実際の動作や処理を行うハードウェアやソフトウェアを備える第１のレイヤと、行動を決定し、その行動を行うための機能を実行指示する行動計画実行プログラムを備える第２のレイヤと、第１のレイヤと第２のレイヤとの間に有って、第２レイヤから指示された機能を実現するために、第１のレイヤのハードウェアやソフトウェアへ具体化した指示を行う機能実行部と、第１のレイヤのハードウェアやソフトウェアからのデータを第２のレイヤで理解可能な、指示や状態を示す情報に加工し、第２のレイヤへ通知する指示・状態通知部を備える第３のレイヤとを含むロボットのプロセッサで実行される前記行動計画実行プログラムであって、前記指示・状態通知部からの指示を入力し、一あるいは複数の機能の実行手順を生成させる第１手段と、生成させた前記実行手順を参照して、前記実行手順に示される機能を除いた別の機能を選択させる第２手段と、前記実行手順に示される機能と、選択された前記別の機能との実行を前記機能実行部へ行うために指示させる第３手段とを備えるようにした。
【発明の効果】
【００１６】
本発明によれば、外部からの指示に応じて行動すると共に、外部からの指示と無関係な行動も行うことが可能なロボットが提供できるようになった。
【発明を実施するための最良の形態】
【００１７】
以下、図面を用いて実施の形態を詳細に説明する。
【００１８】
ロボットは、図１のような階層的なモデルで示すことができる。このモデルは、実際の動作・処理を行うハードウェア（ＨＷ）１４やソフトウェア（ＳＷ）１５を多数備えるＨＷ／ＳＷレイヤ１１と、ロボットの行動を決定し、その行動を行うための機能を実行指示する行動計画部１８を備える行動計画レイヤ１３と、ＨＷ／ＳＷレイヤ１１と行動計画レイヤ１３との間にあって、行動計画レイヤ１３から指示された機能を実現するために、ＨＷ／ＳＷレイヤ１１のＨＷ１４やＳＷ１５へ具体化した指示を行う多数の機能実行部１７と、ＨＷ／ＳＷレイヤ１１のＨＷ１４やＳＷ１５からのデータを行動計画レイヤ１３で理解可能な、指示や外部／内部状態を示す情報に加工、変換し、行動計画レイヤ１３へ通知する多数の指示・状態通知部１６を備える機能レイヤ１２とに大別してある。
【００１９】
下位の層にあたるＨＷ／ＳＷレイヤ１１は、例えば、様々な物理的な作業を行うアーム、ロボットの移動のための脚、キャタピラまたはタイヤ、カメラの撮像方向を変更するための駆動部などの実際に動きがある稼動部位や、外部へ知らせるための出力を行う液晶部、スピーカ、ライトなどの提示部位や、外部の状態や外部からの情報を得るためのカメラ（ＣＣＤ）、マイク、超音波センサ、赤外線センサ、触覚センサなどの各種センサなどの様々なハードウェア構成と、センサから得た内容を解析する画像認識エンジン、音声認識エンジンなどの各種認識部などの様々なソフトウェア構成とを備えている。
【００２０】
中位の層にあたる機能レイヤ１２は、ＨＷ／ＳＷレイヤ１１の稼動部位からの駆動量や、認識部からの解析結果等を、行動計画レイヤ１３で利用可能となるような情報に解釈／変換して提供する多数の指示・状態通知部１６と、行動計画レイヤ１３から与えられる「機能」の実行指示によりＨＷ／ＳＷレイヤ１１の各ＨＷ１４やＳＷ１５へ具体的に動作、処理させる多数の機能実行部１７とを備えている。
【００２１】
機能とは、ここでは、ＨＷ／ＳＷレイヤ１１で実行される一つあるいは複数の具体的な動作・処理を包括的に表わしたものである。例えば、ロボットの「移動」、「目回転」、「画像認識」等を、ここでは「機能」と呼んでいる。
【００２２】
また、行動計画とは、目的を実現するために、単一の機能あるいは、複数の機能を直並列にスケジューリングした機能列を指す。
【００２３】
上位の層にあたる行動計画レイヤ１３は、機能レイヤ１２の指示・状態通知部１６から指示が与えられた時、その指示をロボットで実現するために（指示・状態通知部１６から得られる状態なども加味した上）、一機能あるいは複数の機能をスケジューリングして組み合わせた機能群からなる行動計画を生成する行動計画部１８を備えている。以下、機能レイヤ１２からの指示によって生成された行動計画を、指示ベース行動計画と呼ぶこととする。また、行動計画部１８は、指示ベース行動計画を実行する際に、ロボットが備える行動計画レイヤ１３から利用可能な機能の全てから、指示ベース行動計画に含む機能（の少なくとも一部の機能）を排除した残りの機能から一あるいは複数の機能を選択し、指示ベース行動計画と並列的に実行可能な行動計画を生成する。以下、このようにして生成される行動計画を、非指示ベース行動計画と呼ぶこととする。行動計画部１８は、生成した指示ベース行動計画、及び非指示ベース行動計画に基づいて、機能レイヤ１２へ各種機能の実行を指示するための処理も備える。
【００２４】
なお、詳細は後述するが、非指示ベース行動計画の生成時に対象とする機能は、指示ベース行動計画での機能と同時には実行できない機能や、同時に実行することにより悪影響を及ぼす機能などを含む場合もあり、これら機能を考慮し、これら機能を排除、あるいは選択しにくいようにして、非指示ベース行動計画を生成するようにすれば、なお良い。
【００２５】
次に、行動計画部１８についてより詳細に説明する。図２は、行動計画部１８の機能ブロック図を示している。
【００２６】
行動計画生成部２１は、機能レイヤ１２の指示・状態通知部１６から与えられた指示に基づいて、指示ベース行動計画を生成する。この生成方法は、例えば、ゴールを設定し、そのゴールを実現するための一以上の機能をスケジュールする、所謂よく知られるプランニング技術で実現でき、このとき、ゴールは指示、アクションは機能に相当する。なお、指示ベース行動計画を生成するにあたっては、当然外部や内部の各種状態を知っておく必要があり、これら状態の取得も、指示・状態通知部１６から行われる。
【００２７】
生成された指示ベース行動計画を図３に例示する。図３（ａ）は、与えられた指示（指示1）に応じて生成された時刻ｔ２から開始する行動計画を示しており、図３（ｂ）は、与えられた指示には連続的な２つの指示（指示２、指示3）が含まれていると判断し、それら２つの連続的な指示（指示２、指示３）に応じて生成された時刻ｔ１から開始する２つの行動計画を示している。なお、図３（ｂ）と同様なモデルとしては、「お姉さんにボールペンのありかを聞いてきて」と指示した場合に、「お姉さんのところまで行ってボールペンのありかを聞く」という指示と、「聞いた結果を戻って話す」と言う指示とで2つの連続的な指示に応じて生成される、などを例にすると理解しやすい。なお、この場合に、「お姉さんのところまで行く」と「ボールペンのありかを聞く」とを連続的な２つの指示と見なすこともできるが、ここでは1つの指示と見なしている。また、例えば図３（ａ）の行動計画が生成された後に、時刻ｔ２にごく近い時刻ｔ１（ｔ１＜ｔ２）から開始する図３（ｂ）の行動計画が生成される際には、図３（ａ）の行動計画に含む各機能が同時に実行されることのないようにすることが制約条件となる。この例の場合、制約条件である図３（ａ）に対し生成される図３（ｂ）の機能と同時に実行されるものが無いので、結果として時刻ｔ１から開始する図３（ｂ）の行動計画が生成できたこととなる。
【００２８】
行動計画記憶部２２は、生成された指示ベース行動計画を記憶する記憶装置である。ここで、記憶された指示ベース行動計画のイメージを図４に例示する。図４は、時刻ｔ１から始まる指示２の行動計画と、指示2の行動計画の終了後に連続して行われる指示３の行動計画と、時刻ｔ１に直ぐ後の時刻ｔ２から始まる指示１の行動計画とが記憶されていることを示している。
【００２９】
行動計画管理部２３は、行動計画の管理を行うものであり、行動計画記憶部２２に記憶される各指示ベース行動計画が、実行開始時の所定期間前に、その指示ベース行動計画を読み出して、直近行動計画格納部２４に格納する。ここでは、取り出す指示ベース行動計画と時間的に重複する他の指示ベース行動計画を含む単位で、読み出して直近行動計画格納部２４に格納することとする。また、行動計画管理部２３は、後記する行動計画実行指示部２６から機能実行された機能を示す情報を受け、その機能を含む行動計画の実行が終了したことが確認されると、行動計画記憶部２２の行動計画を削除する。
【００３０】
直近行動計画格納部２４は、行動計画（あるいは機能）の実行の開始が直前に迫ったものを格納する記憶装置である。
【００３１】
追加行動選択部２５は、本ロボットが備える行動計画レイヤ１３から利用可能な機能の全てから、直近行動計画格納部２４に格納された直近の行動計画に含まれる機能（の少なくとも一部の機能）を排除した残りの機能の中から、一あるいは複数の機能を無作為にあるいは所定のルールに従って選択し、指示ベース行動計画と並列的に実行可能な非指示ベース行動計画を生成する。この結果、直近行動計画格納部２４に記憶される行動計画は、非指示ベース行動計画を含む行動計画に更新される。
【００３２】
行動計画実行指示部２６は、直近行動計画格納部２４に格納される、更新された行動計画に含まれる各機能を実行開始のタイミングに併せて順次取得し、機能実行部１７へ実行指示する。また、行動計画実行指示部２６は、実行指示した機能を示す情報を行動計画管理部２３へ通知する。
【００３３】
行動計画実行指示部２６により実行指示された機能実行部１７は、指示された機能を実行する。
【００３４】
以上のような構成を備えるロボットは、指示に基づく行動のみならず、指示していない行動も並列的に実行可能となるから、この結果、例えば、ロボットが指示ベース行動計画で与えられたお姉さんのところに行く過程で、非指示ベース行動計画で与えられた、歌を歌いながらや、目をくるくるさせながらといった、ペットのように予期しない（愛嬌ある）振る舞いが相行われることが期待できる。
【００３５】
なお、上記実施の形態へ更に追加行動選択部２５の動作を外部からＯＮ／ＯＦＦすることが出来るように構成すれば、純粋に指示にのみ対応するモードとペットのように振舞うモードとをユーザが切替え可能に利用することができるロボットの提供も出来る。
【００３６】
次に、上記で説明したロボットの、直近行動計画に追加行動を追加する際のバリエーションについて説明する。まず、第１のバリエーションとして、指示ベース行動計画による行動を可能な限り妨げないように非指示ベース行動計画として機能を追加する例を示し、次に第２のバリエーションとして、第1のバリエーションにてある機能を選択し非指示ベース行動計画として追加した後に次の機能を選択し付加する際に、過去の指示ベース行動計画の履歴を利用する例を示す。
【００３７】
（第１のバリエーション）
まず、指示ベース行動計画による行動を可能な限り妨げないように非指示ベース行動計画を追加する例について以下に説明する。
【００３８】
図５に追加行動選択部２５の内部の機能ブロック図を示す。
【００３９】
同時実行可能機能判定部３１は、本ロボットが備える行動計画レイヤ１３から利用可能な機能の全てから、指示ベース行動計画に含まれる機能と、機能間同時実行制限情報３４を参照することによって物理的に同時実行することのできない機能とを排除した追加候補機能群を抽出する。機能間同時実行制限情報３４の例を図６に示す。図６において、縦および横には本実施の形態のロボットの全機能が列挙されており、各機能間の交点に“×”があるものが同時に実行することのできない機能を示している。なお、同じ機能間は、当然同時実行出来ないこととし、表上への“×”は省略している。また、抽出された追加候補機能群の一例を図７に示している。
【００４０】
ここで、この同時実行可能機能判定部３１の動作フローを図８に示す。
【００４１】
同時実行可能機能判定部３１は、まず、直近行動計画格納部２４に格納される直近の指示ベース行動計画に含まれる全ての機能を示す情報を取得する（Ｓ１１）。次に、取得した全ての機能を示す情報に対し機能間同時実行制限情報３４を参照して、同時実行できない機能を除外した、同時に実行可能な機能群を抽出する（Ｓ１２）。この抽出された結果が追加候補機能群となり、これを同時実行機能悪影響判定部３２へ渡す（Ｓ１３）。
【００４２】
同時実行機能悪影響判定部３２は、同時実行可能機能判定部３１から受け取った追加候補機能群と、機能間相互悪影響情報３５とに基づいて、各機能を実行すると悪影響を及ぼす度合いを追加候補機能群に付加する。機能間相互悪影響情報３５とは、ロボットの全ての機能のそれぞれに対し、物理的に実行することは可能ではあるが、その機能の実行に悪影響を及ぼす恐れを度合いを用いて示した情報であり、その一例を図９に示す。図９において、縦および横には、本ロボットが備える行動計画レイヤ１３から利用可能な機能の全てが列挙されており各機能間の交点に“×”があるものが同時に実行できない機能を示しており、更に、各機能間の交点に数字があるものは、同時実行した際に悪影響がある可能性の度合いを数値で示している。また、悪影響の度合いが付加された度合いつき追加候補機能群の一例を図１０に示している。
【００４３】
次に、この同時実行機能悪影響判定部３２の動作フローを図１１に示す。
【００４４】
同時実行機能悪影響判定部３２は、まず、同時実行可能機能判定部３１からの追加候補機能群を取得する（Ｓ２１）。次に、取得した追加候補機能群に対し機能間相互悪影響情報（図９）を参照して、追加候補機能群のそれぞれの機能と対応する最大の影響度の度合いをそれぞれ取得する（Ｓ２２）。そして、追加候補機能群のそれぞれの機能と最大の影響度の度合いとを対応付けた度合いつき追加候補機能群（図１０）をランダム／ランダム機能選択部３３へ渡す（Ｓ２３）。
【００４５】
ランダム機能／ランダム機能列選択部３３は、同時実行機能悪影響判定部３２で付加された度合いつき追加候補機能群（図１０）の中から、度合いの逆数を選択確率とした上で、その選択確率を考慮した一あるいは複数の機能をランダムに選択して非指示ベース行動計画を生成する。ランダム機能／ランダム機能列選択部３３で生成された行動計画は、直近行動計画格納部２４へ追加更新される。更新された直近行動計画の一例を図１２に示す。ここでは、図４の指示ベース行動計画に、ランダム機能／ランダム機能列選択部３３で選択した「目回転」を非指示ベース行動計画として追加した例を示している。なお、ここでは一つの機能「目回転」のみを選択しているが複数の機能を選択して非指示ベース行動計画としても良いことは勿論である。
【００４６】
このように、本バリエーションによれば、指示ベース行動計画に、無関係で且つ影響度の低い機能「目回転」を非指示ベース行動計画として追加できるようになる。
【００４７】
なお、指示ベース行動計画の実行に悪影響を与える確率を小さくするために、同時実行機能悪影響判定部３２（及び機能間相互悪影響情報３５）を設けており、必ずしも必要なものではない。また、指示ベース行動計画の実行に悪影響を与えることを確実に排除するためには、機能間相互悪影響情報３５に悪影響を与える度合いを表す数値の代わりに、×として、選択しないようにすればよい。
【００４８】
（第２バリエーション）
第２のバリエーションは、上記の第１のバリエーションで非指示ベース行動計画として、機能（以下では「目回転」「撮影」を追加したこととする）を選択した後に、更に次の機能を選択し付加する際に、過去の指示ベース行動計画の履歴を利用する例について説明する。
【００４９】
図１３に追加行動選択部５０の内部の機能ブロック図を示す。
【００５０】
第１のバリエーションで機能を追加した後、追加行動選択部５０は、直近行動計画格納部２４に格納される行動計画を読み出して、既に追加した非指示ベースの行動計画の機能として追加した「目回転」「撮影」に続く機能を追加する。このとき、同時実行機能悪影響判定部３２で度合いつき追加候補機能群を生成するところまでの動作は第１のバリエーションと同様である。度合いつき追加候補機能群は、連続機能頻度判定部３６へ供給される。
【００５１】
連続機能頻度判定部３６は、度合いつき追加候補機能群を受けるとともに、非指示ベースの最後の機能を示す情報（既機能情報）を取得し、機能実行履歴格納部３７に格納される過去の指示ベース行動計画の履歴を参照し、既機能情報の機能に引き続き実行された機能の頻度を取得し、度合いつき追加候補機能群にこの頻度を示す値を付加した頻度・度合いつき追加候補機能群を生成し、ランダム機能／機能列選択部３８へ供給する。頻度・度合いつき追加候補機能群の一例を図１４に示す。
【００５２】
ランダム機能／ランダム機能列選択部３８は、同時実行機能悪影響判定部３２、および連続機能頻度判定部３６で付加された頻度・度合いつき追加候補機能群の中から、頻度と、度合いの逆数を選択確率としてランダムに次に追加する機能を選択し、非指示ベース行動計画の追加機能とする。ランダム機能／ランダム機能列選択部３８で選択した追加機能は、直近行動計画格納部２４へ非指示ベース行動計画として追加更新される。更新された直近行動計画の一例を図１５に示す。ここでは、既に非指示ベース行動として追加済の機能「目回転」「撮影」に「画像認識」が新たに追加された例を示している。
【００５３】
このような本バリエーションによれば、指示に基づかずに選択した一機能から派生し、一連の意味ある行動を付加することが出来るようになる。例えば、指示に関係無い機能「目回転」に伴って実行されることが多い機能「撮影」と機能「画像認識」が一連で行われることとなり、指示ベース行動計画による移動中に、キョロキョロしながら状況を見て認識するという、指示はないが意味のある一連の行動が付加できる。
【００５４】
なお、上記第１および第２のバリエーションは、一連の手続として説明してきたが、それぞれ単独でのみ実現してもよいことは勿論である。
【００５５】
以上詳細に説明してきた本実施の形態のロボットは、利用者の予想外の行動を起こし、時にはその行動が利用者にとって利益があって期待以上の行動を行うことができる。利用者の期待どおりの行動しかしない場合に比べて、ロボットに対する印象が良くなる。
【００５６】
また、一般にロボットに多機能を備えた場合に、利用者がロボットにやらせたいことをすべて指示することは難しいが、指示以上の動作を行い、また、それが意味のある一連の動作として実現することも可能となる。
【図面の簡単な説明】
【００５７】
【図１】本実施の形態のロボットの階層的なモデルを示す図。
【図２】行動計画部１８の機能ブロック図を示す図。
【図３】指示ベース行動計画の一例。
【図４】行動計画記憶部２２に記憶された指示ベース行動計画のイメージ図。
【図５】追加行動選択部２５の内部の機能ブロック図。
【図６】機能間同時実行制限情報３４の一例。
【図７】抽出された追加候補機能群の一例。
【図８】同時実行可能機能判定部３１の動作フローを示す図。
【図９】機能間相互悪影響情報３５の一例。
【図１０】悪影響の度合いが付加された度合いつき追加候補機能群の一例。
【図１１】同時実行機能悪影響判定部３２の動作フローを示す図。
【図１２】第1のバリエーションの更新された直近行動計画の一例。
【図１３】追加行動選択部５０の内部の機能ブロック図。
【図１４】頻度・度合いつき追加候補機能群の一例。
【図１５】第２のバリエーションの更新された直近行動計画の一例。
【符号の説明】
【００５８】
１１…ＨＷ／ＳＷレイヤ
１２…機能レイヤ
１３…行動計画レイヤ
１４…ハードウェア
１５…ソフトウェア
１６…指示・状態通知部
１７…機能実行部
１８…行動計画部
２１…行動計画生成部
２２…行動計画記憶部
２３…行動計画管理部
２４…直近行動計画格納部
２５、５０…追加行動選択部
２６…行動計画実行指示部
３１…同時実行可能機能判定部
３２…同時実行機能悪影響判定部
３３、３８…ランダム機能／機能列選択部
３４…機能間同時実行制限情報
３５…機能間相互悪影響情報
３６…連続機能頻度判定部
３７…機能実行履歴格納部
【図１】
2006088282.tif 000003
【図２】
2006088282.tif 000004
【図３】
2006088282.tif 000005
【図４】
2006088282.tif 000006
【図５】
2006088282.tif 000007
【図６】
2006088282.tif 000008
【図７】
2006088282.tif 000009
【図８】
2006088282.tif 000010
【図９】
2006088282.tif 000011
【図１０】
2006088282.tif 000012
【図１１】
2006088282.tif 000013
【図１２】
2006088282.tif 000014
【図１３】
2006088282.tif 000015
【図１４】
2006088282.tif 000016
【図１５】
2006088282.tif 000017