(57)【要約】      （修正有）【課題】ユーザの希望に合った行動計画を行うことのできる行動計画装置を提供する。【解決手段】アクションの実行順番を管理する行動計画装置１０であって、各通常アクションと、各通常アクションの通常順番とを対応付けて保持する通常アクション保持手段１１０と、状態条件に適合した場合に実行すべき条件付アクションと、状態条件とを対応付けて保持する条件付アクション保持手段１２０と、条件付アクションを、通常アクション保持手段１１０が保持する、通常順番が連続する２つのアクションの間に割り込んで実行可能か否かを、状態条件に基づいて判定する実行可否判定手段１３０と、実行可能であると判定した条件付アクションを２つの通常アクションの間に割り込んで実行するような実行順番を、２つの通常アクションの通常順番に基づいて決定する実行順番決定手段１３４とを備えた。【選択図】図１−１
2007125621.tif 000002
【特許請求の範囲】
【請求項１】
ロボットが備える複数の機能を実行させるアクションの実行順番を管理する行動計画装置であって、
前記ロボットの状態を変化させるアクションであって、予め設定された通常順番に実行されるべき複数の通常アクションと、前記複数の通常アクションの前記通常順番とを対応付けて保持する通常アクション保持手段と、
前記ロボットの状態に関する状態条件に適合した場合に実行されるべき条件付アクションと、前記状態条件とを対応付けて保持する条件付アクション保持手段と、
前記条件付アクション保持手段が保持する前記条件付アクションを、前記通常アクション保持手段が保持する複数の前記通常アクションのうち前記通常順番が連続する２つのアクションの間に割り込んで実行可能か否かを、前記条件付アクションに対応付けられている前記状態条件に基づいて判定する実行可否判定手段と、
前記実行可否判定手段が実行可能であると判定した前記条件付アクションを前記２つの通常アクションの間に割り込んで実行するような実行順番を、前記２つの通常アクションの通常順番に基づいて決定する実行順番決定手段と、
前記実行順番決定手段が前記実行順番を決定した後、決定した前記実行順番にしたがい、前記条件付アクションおよび前記通常アクションを実行するアクション実行手段と
を備えたことを特徴とする行動計画装置。
【請求項２】
前記通常アクションの実行指示を取得する通常アクション実行指示取得手段をさらに備え、
前記通常アクション保持手段は、前記通常アクション実行指示取得手段が実行指示を取得した順番を示す前記通常順番と、前記通常アクションとを対応付けて保持することを特徴とする請求項１に記載の行動計画装置。
【請求項３】
前記条件付アクション保持手段は、前記ロボットの周囲環境に関する環境条件と前記条件付アクションとをさらに対応付けて保持し、
前記実行順番決定手段は、さらに前記環境条件に基づいて前記条件付アクションの実行順番を決定することを特徴とする請求項１または２に記載の行動計画装置。
【請求項４】
前記通常アクション保持手段は、前記通常アクションの実行後の前記ロボットの状態を示す通常アクション実行後状態と、前記通常アクションとをさらに対応付けて保持し、
前記実行順番決定手段は、前記条件付アクション保持手段が保持する前記状態条件と、前記通常アクション保持手段が保持する前記実行後状態とに基づいて、前記条件付アクションを前記状態条件を満たす前記実行後状態に対応付けられた前記通常アクションの直後に挿入する実行順番を決定することを特徴とする請求項１から３のいずれか一項に記載の行動計画装置。
【請求項５】
前記通常アクション保持手段は、前記通常アクションを実行可能とする、前記通常アクション実行直前の前記ロボットの状態を示す通常アクション実行前状態と、前記通常アクションとをさらに対応付けて保持し、
前記条件付アクション保持手段は、前記条件付アクションを実行した後の前記ロボットの状態を示す条件付アクション実行後状態と、前記条件付アクションとをさらに対応付けて保持し、
前記通常アクション保持手段が保持している前記通常アクション実行前状態と、前記条件付アクション実行後状態とに基づいて、前記条件付アクションの実行後に前記通常アクションを再開可能か否かを判定する再開可否判定手段をさらに備え、
前記実行決定手段は、前記条件付アクションを、さらに前記再開可否判定手段が再開可能であると判定した前記通常アクションの直前に挿入する実行順番を決定することを特徴とする請求項１から４のいずれか一項に記載の行動計画装置。
【請求項６】
前記条件付アクション保持手段は、前記条件付アクションを再度実行する再実行条件と、前記条件付アクションとをさらに対応付けて保持し、
前記アクション実行手段が前記条件付アクションを実行した後に、前記再実行条件を満たすか否かを判定する再実行制御手段をさらに備え、
前記実行順番決定手段は、前記再実行制御手段が前記再実行条件を満たすと判定した場合に、すでに実行された前記条件付アクションを削除せずに保持し、その実行順番を再度決定し、
前記アクション実行手段は、前記実行順番決定手段が前記実行順番を決定した後、決定した前記実行順番にしたがい、前記条件付アクションを再度実行することを特徴とする請求項１から５のいずれか一項に記載の行動計画装置。
【請求項７】
前記アクション実行手段が前記条件付アクションを実行した後に、前記再実行条件を満たすか否かを示す再実行情報を取得する再実行情報取得手段をさらに備え、
前記再実行制御手段は、前記再実行情報取得手段が前記再実行条件を満たす旨を示す前記再実行情報を取得した場合に、前記再実行条件を満たすと判断することを特徴とする請求項６に記載の行動計画装置。
【請求項８】
前記再実行制御手段は、前記再実行情報取得手段が前記再実行条件を満たす旨を示す前記再実行情報を取得しない場合に、前記アクション実行手段が既に実行した前記条件付アクションを前記条件付アクション保持手段から削除することを特徴とする請求項６または７に記載の行動計画装置。
【請求項９】
前記再実行条件は、前記条件付アクションの実行により達成されるべき目的に関する条件であることを特徴とする請求項６から８のいずれか一項に記載の行動計画装置。
【請求項１０】
ロボットが備える複数の機能を実行させるアクションの実行順番を管理する行動計画方法であって、
前記ロボットの状態を変化させるアクションであって、前記実行主体の状態に関する状態条件に適合した場合に実行されるべき条件付アクションと、前記状態条件とを対応付けて保持する条件付アクション保持手段が保持する前記条件付アクションを、前記実行主体の状態を変化させるアクションであって、予め設定された通常順番に実行されるべき複数の通常アクションと、前記複数の通常アクションの前記通常順番とを対応付けて保持する通常アクション保持手段が保持する複数の前記通常アクションのうち前記通常順番が連続する２つのアクションの間に割り込んで実行可能か否かを、前記条件付アクションに対応付けられている前記状態条件に基づいて判定する実行可否判定ステップと、
前記実行可否判定ステップにおいて実行可能であると判定した前記条件付アクションを前記２つの通常アクションの間に割り込んで実行するような実行順番を、前記２つの通常アクションの通常順番に基づいて決定する実行順番決定ステップと、
前記実行順番決定ステップにおいて前記実行順番を決定した後、決定した前記実行順番にしたがい、前記条件付アクションおよび前記通常アクションを実行するアクション実行ステップと
を有することを特徴とする行動計画方法。
【請求項１１】
ロボットが備える複数の機能を実行させるアクションの実行順番を管理する行動計画処理をコンピュータに実行させる行動計画プログラムであって、
前記ロボットの状態を変化させるアクションであって、前記実行主体の状態に関する状態条件に適合した場合に実行されるべき条件付アクションと、前記状態条件とを対応付けて保持する条件付アクション保持手段が保持する前記条件付アクションを、前記実行主体の状態を変化させるアクションであって、予め設定された通常順番に実行されるべき複数の通常アクションと、前記複数の通常アクションの前記通常順番とを対応付けて保持する通常アクション保持手段が保持する複数の前記通常アクションのうち前記通常順番が連続する２つのアクションの間に割り込んで実行可能か否かを、前記条件付アクションに対応付けられている前記状態条件に基づいて判定する実行可否判定ステップと、
前記実行可否判定ステップにおいて実行可能であると判定した前記条件付アクションを前記２つの通常アクションの間に割り込んで実行するような実行順番を、前記２つの通常アクションの通常順番に基づいて決定する実行順番決定ステップと、
前記実行順番決定ステップにおいて前記実行順番を決定した後、決定した前記実行順番にしたがい、前記条件付アクションおよび前記通常アクションを実行するアクション実行ステップと
を有することを特徴とする行動計画プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アクションの実行順番を管理する行動計画装置、行動計画方法および行動計画プログラムに関するものである。
【背景技術】
【０００２】
ゴールを達成するための行動計画は、利用者の指示や環境変化に基づいて計画される。ここで、ゴールとは、実行完了したいタスクまたは達成したい状態等を示している。従来の行動計画においては、基本的には１つの行動が完了した後に、次の行動が実行されていた。また、移動ロボットの行動計画としては、作業の優先度を考慮して複数の作業の実行順番を決定するものが知られている（例えば、「特許文献１」参照）。
【０００３】
【特許文献１】特開２００４−２１６５２８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
例えば移動ロボットは、人間同様動き回りながら命令に対する行動を実行する。このため、例えば「もしＡ地点を通ったら、ついでに仕事Ｂを行う」というように、処理効率化のための割り込みを実現する必要がある。
【０００５】
また、順番は優先度に応じて変動可能であり、また必ず実行しなければならない訳ではない場合もある。例えば、「もしＡ地点を通ったらついでに仕事Ｂを行う。ただし、Ａ地点に行く用事がなければ、わざわざ仕事ＢのためにＡ地点に行く必要はない」という場合である。このように、多様な割り込みに対応できることが望ましい。
【０００６】
さらに、実行中の仕事と異なる仕事を割り込ませた場合には、これまでの仕事により達成された行動が無駄になる場合もあり問題である。
【０００７】
本発明は、上記に鑑みてなされたものであって、ユーザの希望に合った行動計画を行うことのできる行動計画装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、ロボットが備える複数の機能を実行させるアクションの実行順番を管理する行動計画装置であって、前記ロボットの状態を変化させるアクションであって、予め設定された通常順番に実行されるべき複数の通常アクションと、前記複数の通常アクションの前記通常順番とを対応付けて保持する通常アクション保持手段と、前記ロボットの状態に関する状態条件に適合した場合に実行されるべき条件付アクションと、前記状態条件とを対応付けて保持する条件付アクション保持手段と、前記条件付アクション保持手段が保持する前記条件付アクションを、前記通常アクション保持手段が保持する複数の前記通常アクションのうち前記通常順番が連続する２つのアクションの間に割り込んで実行可能か否かを、前記条件付アクションに対応付けられている前記状態条件に基づいて判定する実行可否判定手段と、前記実行可否判定手段が実行可能であると判定した前記条件付アクションを前記２つの通常アクションの間に割り込んで実行するような実行順番を、前記２つの通常アクションの通常順番に基づいて決定する実行順番決定手段と、前記実行順番決定手段が前記実行順番を決定した後、決定した前記実行順番にしたがい、前記条件付アクションおよび前記通常アクションを実行するアクション実行手段とを備えたことを特徴とする。
【０００９】
また、本発明の他の形態としては、ロボットが備える複数の機能を実行させるアクションの実行順番を管理する行動計画方法であって、前記ロボットの状態を変化させるアクションであって、前記実行主体の状態に関する状態条件に適合した場合に実行されるべき条件付アクションと、前記状態条件とを対応付けて保持する条件付アクション保持手段が保持する前記条件付アクションを、前記実行主体の状態を変化させるアクションであって、予め設定された通常順番に実行されるべき複数の通常アクションと、前記複数の通常アクションの前記通常順番とを対応付けて保持する通常アクション保持手段が保持する複数の前記通常アクションのうち前記通常順番が連続する２つのアクションの間に割り込んで実行可能か否かを、前記条件付アクションに対応付けられている前記状態条件に基づいて判定する実行可否判定ステップと、前記実行可否判定ステップにおいて実行可能であると判定した前記条件付アクションを前記２つの通常アクションの間に割り込んで実行するような実行順番を、前記２つの通常アクションの通常順番に基づいて決定する実行順番決定ステップと、前記実行順番決定ステップにおいて前記実行順番を決定した後、決定した前記実行順番にしたがい、前記条件付アクションおよび前記通常アクションを実行するアクション実行ステップとを有することを特徴とする。
【００１０】
また、本発明の他の形態としては、ロボットが備える複数の機能を実行させるアクションの実行順番を管理する行動計画処理をコンピュータに実行させる行動計画プログラムであって、前記ロボットの状態を変化させるアクションであって、前記実行主体の状態に関する状態条件に適合した場合に実行されるべき条件付アクションと、前記状態条件とを対応付けて保持する条件付アクション保持手段が保持する前記条件付アクションを、前記実行主体の状態を変化させるアクションであって、予め設定された通常順番に実行されるべき複数の通常アクションと、前記複数の通常アクションの前記通常順番とを対応付けて保持する通常アクション保持手段が保持する複数の前記通常アクションのうち前記通常順番が連続する２つのアクションの間に割り込んで実行可能か否かを、前記条件付アクションに対応付けられている前記状態条件に基づいて判定する実行可否判定ステップと、前記実行可否判定ステップにおいて実行可能であると判定した前記条件付アクションを前記２つの通常アクションの間に割り込んで実行するような実行順番を、前記２つの通常アクションの通常順番に基づいて決定する実行順番決定ステップと、前記実行順番決定ステップにおいて前記実行順番を決定した後、決定した前記実行順番にしたがい、前記条件付アクションおよび前記通常アクションを実行するアクション実行ステップとを有することを特徴とする。
【発明の効果】
【００１１】
本発明にかかる行動計画装置は、実行可否判定手段が、条件付アクションを、通常アクション保持手段が保持する複数の通常アクションのうち通常順番が連続する２つのアクションの間に割り込んで実行可能か否かを、条件付アクションに対応付けられている状態条件に基づいて判定し、実行順番決定手段が、実行可否判定手段が実行可能であると判定した条件付アクションを２つの通常アクションの間に割り込んで実行するような実行順番を、２つの通常アクションの通常順番に基づいて決定し、アクション実行手段が、実行順番決定手段が実行順番を決定した後、決定した実行順番にしたがい、条件付アクションおよび通常アクションを実行するので、条件付アクションの状態条件をユーザが設定することにより、ユーザの希望に合った行動計画を行うことができるという効果を奏する。
【発明を実施するための最良の形態】
【００１２】
以下に、本発明にかかる行動計画装置、行動計画方法および行動計画プログラムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１３】
図１−１および図１−２は、実施の形態１にかかる行動計画装置１０を内蔵した移動ロボット１の外観構成を示す図である。図１−１は、移動ロボット１を正面から見た図である。図１−２は、移動ロボット１を側面から見た図である。
【００１４】
移動ロボット１は、人間と類似した形状であり、顔部２１、胴部２２、アーム部２３Ａ，２３Ｂ、移動部２４を有している。顔部２１は、音声を出力するスピーカ３１を含む口部２５と、音声を入力するマイク３２Ａ，３２Ｂをそれぞれ含む耳部２６Ａ，２６Ｂと、外部の映像を入力するカメラ３３Ａ，３３Ｂをそれぞれ含む２つの目部２７Ａ，２７Ｂとを備えている。アーム部２３Ａ，２３Ｂは、手や、幾つかの関節を備え、人間の型、腕、手に相当する動きを行うものである。
【００１５】
移動部２４は、４つのタイヤ２８Ａ，２８Ｂ，２８Ｃ，２８Ｄを備えており、移動ロボット１が移動する床面に対し、移動ロボット１を直進・後退したり左右へ方向を変えたりするもので、人間の足に相当する。
【００１６】
胴部２２は、移動ロボット１の中心的な部位であり、顔部２１（の首）、アーム部２３Ａ，２３Ｂ、移動部２４とそれぞれ回転機構を介して接続されており、また、胴部２２の内部には、移動ロボット１の動作や情報処理などの制御全般を行うロボットシステム２０が内蔵されている。
【００１７】
図２は、ロボットシステム２０のシステム構成を示している。ロボットシステム２０は、移動ロボット１自身の動作や処理を決定するためのシステム制御部４０と、システム制御部４０で動作や処理を決定するための情報（以下、制御入力情報と称す）を入力したり、システム制御部４０で決定された動作や処理の指示情報（以下、制御出力情報と称す）を受けて実行するための各種サブシステム４１〜４６とを備えている。さらに本実施の形態に特徴的な行動計画装置１０を備えている。
【００１８】
音声処理サブシステム４１は、Ａ／Ｄ変換やＤ／Ａ変換、音声認識、音声合成などの音声処理全般を行うものであって、マイク３２Ａ，３２Ｂを介して入力された外界の音声のうち、システム制御部４０で必要とされる制御入力情報をシステム制御部４０へ供給したり、システム制御部４０や音声処理サブシステム４１の内部で生成した言葉等をスピーカ３１を介して音声出力するための処理を行ったりするものである。また、音声処理サブシステム４１は、例えば、入力した音声認識が上手くできなかった時に、システム制御部４０を介すことなく、音声合成を介して聞き返すといった音声出力を自動的に行う（音声処理サブシステム４１の内部で閉じて処理される）ような処理を含んでいても良い。
【００１９】
画像処理サブシステム４２は、カメラ３３Ａ，３３Ｂから入力された画像を画像認識し、画像認識された情報のうちシステム制御部４０で必要とされる制御入力情報をシステム制御部４０へ供給するものである。また、画像処理サブシステム４２は、２つのカメラ３３Ａ，３３Ｂを用いた三角測量法による撮像対象物の距離測定を行なう処理を含む。更に、画像処理サブシステム４２は、撮像対象の方向を常に追跡しつつ、撮影対象を撮像し続ける、従来より良く知られるトラッキング機能を備える。
【００２０】
アームサブシステム４３は、システム制御部４０から制御出力情報を受け取って、アーム部２３Ａ，２３Ｂの各関節の物理駆動量を決定しアーム部２３Ａ，２３Ｂを動作させるものである。胴回転サブシステム４４は、システム制御部４０から制御出力情報を受け取って、移動部２４に対する胴部２２の物理回転量を決定し胴部２２を回転動作させるものである。首回転サブシステム２６は、システム制御部４０から制御出力情報を受け取って、胴部２２に対する顔部２１（の首）の物理回転駆動量を決定し、顔部２１（の首）を回転動作させるものである。移動サブシステム４６は、システム制御部４０から制御出力情報を受け取って、各タイヤ２８Ａ〜２８Ｄの回転量を決定（直進の場合は単一に決定しても良い）し、各タイヤ８Ａ〜２８Ｄを回転動作させるものである。なお、一定時間内における回転量を調整することによって、速度を調整することも可能である。
【００２１】
システム制御部４０は、ロボット装置自身の動作や処理を決定するものであり、外界の状態や内部の状態（例えば、ロボット装置の姿勢、バッテリー残量、等）を制御入力情報として受け取って、例えば、予め定めたルールなどに従って一以上の動作や処理を決定し、それら動作や処理が可能な一以上のサブシステムへ制御出力情報を出力する。さらに、移動ロボット１は、時計機構、温度センサおよび湿度センサなどを有しており。システム制御部４０は、これらのセンサ等の制御も行う。
【００２２】
なお、例えば計算処理などの静的な処理は、サブシステムへさせることなくシステム制御部４０で処理するようにしても良いことは勿論である。
【００２３】
行動計画装置１０は、移動ロボット１の行動計画を行い、行動計画に沿って移動ロボット１を動作させるべくシステム制御部４０に対して指示を出す。
【００２４】
なお、本実施の形態の移動ロボット１は、上記のサブシステム４１〜４６を備えるようにしたが、これらに限らず他に、例えば、無線機能や表示機能などが必要な移動ロボット１を提供する場合には、無線通信処理を行う無線サブシステムや、別途表示装置を取り付けるとともに表示制御を行う表示サブシステムなどを備えるようにすればよい。
【００２５】
図３は、実施の形態１にかかる行動計画装置１０の機能構成を示すブロック図である。行動計画装置１０は、移動ロボット１の行動計画を行う。行動計画装置１０は、ゴール取得部１００と、プラン生成部１０２と、通常プランＤＢ１１０と、条件付プランＤＢ１２０と、実行可否判定部１３０と、再開可否判定部１３２と、実行順番決定部１３４と、アクション実行指示部１３６と、再実行制御部１３８と、目的達成情報取得部１４０と、環境情報取得部１４２とを備えている。
【００２６】
図４は、行動計画装置１０が扱うゴールと、プランおよびアクションの関係を説明するための図である。ゴールとは、実行完了したいタスクまたは達成したい状態のことである。他の例としては、達成したい目標状態であってもよい。プランとは、ゴールを実行または達成するための一連の処理である。プランは、複数のアクションを有している。アクションとは、プランを実行するときの最小単位である。
【００２７】
ゴール取得部１００は、外部からゴールを取得する。ここで、ゴールとは、実行完了したいタスクまたは達成したい状態のことである。他の例としては、達成したい目標状態であってもよい。
【００２８】
ゴール取得部１００は、具体的には、例えば図１を参照しつつ説明したマイク３２Ａ，３２Ｂが取得した音声をゴールとして取得してもよい。具体的には、音声処理サブシステム４１において音声認識され、ゴールと認識された場合に、ゴールと認識された音声認識結果をシステム制御部４０を介して取得する。
【００２９】
また他の例としては、カメラ３３Ａ，３３Ｂが撮像した画像をゴールとして取得してもよい。具体的には、例えば文字画像を撮像し、画像処理サブシステム４２は、文字画像の文字認識を行い、ゴールと認識された場合に、ゴールと認識された文字認識結果をシステム制御部４０を介して取得する。
【００３０】
さらに他の例としては、移動ロボット１０がネットワークに接続されている場合には、ＵＰｎＰ（Ｕｎｉｖｅｒｓａｌ Ｐｌｕｇ ａｎｄ Ｐｌａｙ）によりネットワークに接続している他のネットワーク機器からゴールを取得してもよい。
【００３１】
図５は、ゴール取得部１００が取得するゴールのデータ構成を模式的に示す図である。ゴールには、ゴール種別と、実行条件と、再実行条件と、ゴール定義とが含まれている。
【００３２】
ここで、ゴール種別には、通常ゴールと条件付ゴールとがある。通常ゴールとは、ゴール取得部１００が取得した順番に順次実行すべきプランにより達成されるゴールである。条件付ゴールとは、ゴール取得部１００が取得した順番に関わらず、所定の条件に合致した場合にのみ実行すべきプランにより達成されるゴールである。
【００３３】
例えば、ソフトウェアの分野においては、指示を受けた順番にしたがい、複数のプランが順次実行される。さらにこれとは別に、通常のプラン内容を中断し、割り込みにより優先的に実行させるプランもある。
【００３４】
移動ロボット１に実行させるプランとしては、これ以外にも割り込みほどの緊急は要さないが通常のプランのついでに実行可能であれば実行したいというようなプランもある。例えば、人の行動においては、部屋を移動中たまたま子供の前を通りかかった場合には、移動のついでに子供の様子を見ることがある。また、テーブルにおいてあるコップを取りに行く予定があるが緊急でないとする。このとき別の用事で部屋を移動中、テーブルの前を通過したとする。このような場合には、移動のついでにコップを取ってくることで、わざわざテーブルに行く手間を省くことができる。移動ロボット１においても、このように、緊急を要さないが通常のプランの途中で実行可能であれば行わせたいというプランが存在する。このようなプランに対するゴールを条件付ゴールとして扱うことができる。
【００３５】
本実施の形態にかかる通常ゴールおよび条件付ゴールは、いずれもアクションの実行主体である移動ロボット１の状態を変化させるプランにより達成されるゴールである。さらに、条件付ゴールは、所定の処理により変化する移動ロボット１の状態に関する条件に合致した場合に実行すべきプランにより達成されるゴールである。ここで、移動ロボット１の状態とは、移動ロボット１の位置、移動ロボット１の手足の位置などである。なお、ここでいうプランは、１つのアクションのみからなるものであってもよい。
【００３６】
例えば、玄関にいる移動ロボット１を通常ゴールまたは条件付ゴールにしたがって、居間に移動させると、移動ロボット１の位置は変化する。すなわち移動ロボット１の状態は変化する。すなわち、通常ゴールまたは条件付ゴールが達成されると、移動ロボット１の状態が変化する。
【００３７】
また、ゴールに含まれる実行条件とは、条件付ゴールに対するプランを実行する前提となる移動ロボット１の状態に関する条件である。実行条件には、移動ロボット１状態条件と、環境条件とが含まれている。移動ロボット１状態条件とは、例えば、移動ロボット１の現在位置や、移動ロボット１の腕の位置などである。環境条件とは、移動ロボット１の周囲環境に関する条件である。例えば、時刻、温度、湿度などである。
【００３８】
再実行条件とは、条件付ゴールが達成された後に、再度同一の条件付ゴールを達成するためのプランを実行するための条件である。具体的には、目的未達成という再実行条件が対応付けられている場合には、所定の目的が達成されるまで、条件付ゴールに対するプランが繰り返し実行される。すなわち、所定の目的が達成されるまで、条件付ゴールは、破棄されずに保持され続ける。再実行条件が対応付けられていない場合には、条件付ゴールに対するプランを一度実行すると当該条件付ゴールは破棄される。
【００３９】
例えば、上述のような子供の様子を見るという条件付ゴールに対するプランは、繰り返し実行したい。そこで、常にという再実行条件を対応付けておく。これにより、一度ゴールが達成された後も継続して子供の様子を見るという条件付ゴールを保持することができる。
【００４０】
一方、例えば床に落とした宝石を捜している場合には、移動中に床を見て宝石を検出させるという条件付ゴールを設定する。この条件付ゴールに対するプランは、宝石が検出されれば実行する必要はなくなる。そこで、宝石検出という目的未達成という再実行条件を含めておく。これにより、宝石を検出するまでは、一度ゴールが達成された後も継続してこの条件付ゴールを保持し、かつ目的が達成された後は条件付ゴールを破棄することができる。
【００４１】
再び説明を図３に戻す。プラン生成部１０２は、ゴール取得部１００が取得した通常ゴールに基づいて通常プランを生成する。プラン生成部１０２はまた、ゴール取得部１００が取得した条件付ゴールに基づいて条件付プランを生成する。
【００４２】
以下、通常ゴールから生成されたプランを通常プランと称する。通常プランに含まれるアクションを通常アクションと称する。また、条件付ゴールから生成されたプランを条件付プランと称する。条件付プランに含まれるアクションを条件付アクションと称する。
【００４３】
プラン生成部１０２はさらに、各アクションの内容に基づいて、各アクションに対する実行前状態および実行後状態を特定する。そして、図６に示すように実行前状態および実行後状態を各アクションに付与する。
【００４４】
実行前状態とは、アクションを実行可能とする、移動ロボット１の状態であり、かつアクションの実行直前に成立している必要のある状態のことである。具体的には、移動ロボット１の移動に関する状態に着目した場合には、「居間のドアを開ける」というアクションの直前には、移動ロボット１は居間の前にいる必要がある。この場合、実行前状態は「居間の前にいる」ことである。
【００４５】
実行後状態とは、アクションを実行した直後の移動ロボット１の状態である。具体的には、「居間まで移動」というアクションの直後には、移動ロボット１は居間にいる。この場合、実行後状態は「居間にいる」である。
【００４６】
なお、実行前状態に関わらず実行可能なアクションに対しては、実行前状態は付与されなくてもよい。また、アクションの実行により移動ロボット１の状態が変化しない場合には、実行後状態は付与されなくてもよい。
【００４７】
例えば、移動ロボット１の「挨拶をする」というアクションは、移動ロボット１の位置に関係なく実行可能である。したがって、実行前状態は付与しなくてもよい。また、「挨拶をする」というアクションにより移動ロボット１の現在位置は変化しない。したがって、実行後状態は付与しなくてもよい。
【００４８】
通常プランＤＢ１１０は、プラン生成部１０２によって生成された通常プランを格納する。条件付プランＤＢ１２０は、プラン生成部１０２によって生成された条件付プランを格納する。
【００４９】
図７は、通常プランＤＢ１１０に格納されている通常プランのデータ構成を模式的に示す図である。通常プランＤＢ１１０は、ゴール取得部１００が取得した通常ゴールを、通常プランＤＢ１１０が取得した順番である通常順番に配列した通常ゴール列を保持している。
【００５０】
さらに、通常プランＤＢ１１０は、プラン生成部１０２により各通常ゴールから生成された、複数の通常アクションを含む通常プランを保持している。このように、通常プランＤＢ１１０は、実行順番を認識可能に各通常アクションを保持している。
【００５１】
条件付プランＤＢ１２０に格納されている条件付プランのデータ構成は、図７を参照しつつ説明した通常プランＤＢ１１０に格納されている通常プランのデータ構成と同様である。
【００５２】
再び説明を図３に戻す。環境情報取得部１４２は、システム制御部４０から環境情報を取得する。ここで環境情報とは、環境条件に対応する情報である。すなわち、時刻、温度、湿度などである。例えば、時刻は、システム制御部４０の移動ロボット１時計機構から取得する。また、温度および湿度は、それぞれシステム制御部４０の移動ロボット１温度センサおよび湿度センサから取得する。
【００５３】
実行可否判定部１３０は、通常プランＤＢ１１０に保持されている通常アクションの実行途中において、条件付プランＤＢ１２０に保持されている条件付アクションを実行可能か否か判定する。すなわち、条件付プランＤＢ１２０に格納されている条件付プランを通常プランＤＢ１１０に保持されている通常プランの実行途中に割り込ませることができるか否かを判定する。実行可否判定部１３０は、このとき条件付プランに含まれる各条件付アクションの実行前状態、実行後状態、条件付プランに対応する条件付ゴールの実行条件および環境情報取得部１４２が取得した環境情報を参照する。
【００５４】
図８は、実行可否判定部１３０の処理を説明するための図である。実行可否判定部１３０は、通常プランＤＢ１１０に格納されている通常アクションの中から、条件付プランＤＢ１２０に格納されている条件付プランの実行前状態と適合する実行後状態が付与された通常アクションを検索する。条件付プランの実行前状態と適合する実行後状態が付与された通常アクションが存在し、かつ実行条件を満たす場合には、条件付プランを実行可能であると判断する。
【００５５】
なお、条件付プランの実行前状態と通常アクションの実行後状態とが適合するとは、通常アクションの実行後状態と、条件付プランの実行前状態が完全に一致する場合だけでなく、条件付プランを実行することができる状態になっている場合を含む。
【００５６】
例えば、「居間で挨拶をする」という条件付プランに「居間にいる」という実行前状態が付与されており、通常プランに「居間にいて、かつコップを持っている」という実行後状態が付与されている場合には、通常プランの実行後状態と条件付プランの実行前状態とは一部異なるが、条件付プランを実行することができるために必須の状態「居間にいる」ことを満たしている。この場合には、条件付プランの実行前状態と通常アクションの実行後状態とは適合する。
【００５７】
また、「冷蔵庫の扉を開ける」という条件付プランに「キッチンにいる」という実行前状態が付与されており、通常プランに「冷蔵庫の前にいる」という実行後状態が付与されているとする。この場合には、通常プランの実行後状態は、条件付プランの実行前状態に含まれている。この場合にも、条件付プランの実行前状態と通常アクションの実行後状態とは適合する。
【００５８】
再び説明を図３に戻す。再開可否判定部１３２は、実行可否判定部１３０が実行可能であると判断した条件付アクションを実行した後、実行途中であった通常プランに含まれる通常アクションを再開できるか否かを判断する。
【００５９】
図９は、再開可否判定部１３２の処理を説明するための図である。実行可否判定部１３０が特定した通常アクションの直後に実行されるべき通常アクションの実行前状態と条件付プランの実行後状態とが適合するか否かを判断する。適合する場合には再開可能であると判断する。
【００６０】
再び説明を図３に戻す。実行順番決定部１３４は、実行可否判定部１３０により実行可能であると判断され、かつ再開可否判定部１３２により再開可能であると判断された条件付プランの実行順番を決定する。アクション実行指示部１３６は、実行順番決定部１３４によって決定された実行順番にしたがい、各通常アクションおよび条件付プランに含まれる各条件付アクションの実行を指示する。
【００６１】
具体的には、システム制御部４０および各サブシステム４１〜４６を介して、移動部２４や、アーム部２３Ａ，２３Ｂ、胴部２２、顔部２１に動作指示を出す。また、システム制御部４０および各サブシステムを介してスピーカ３１に対する音声出力指示、マイク３２Ａ，３２Ｂに対する収音指示、およびカメラ３３Ａ，３３Ｂに対する撮像指示を出してもよい。
【００６２】
再実行制御部１３８は、条件付プランの再実行に関する処理を行う。目的達成情報取得部１４０は、アクション実行指示部１３６によるプラン実行により目的が達成されたことを示す目的達成情報を取得する。
【００６３】
なお、目的達成情報取得部１４０は、ユーザの入力により目的達成情報を取得する。また、システム制御部４０を介して移動ロボット１目的達成情報を取得してもよい。なお、システム制御部４０は、各サブシステム４１〜４６における処理の実行状況を監視する。そして、プランの実行により、対応するゴールが達成された場合に、目的達成情報を目的達成情報取得部１４０に送出する。
【００６４】
図１０は、行動計画装置１０による行動計画処理を説明するためのフローチャートである。なお、前提として、条件付プランＤＢ１２０は条件付プランを既に保持しているものとする。
【００６５】
まず、ゴール取得部１００が通常ゴールを取得すると、プラン生成部１０２は、通常ゴールに対応する通常プランを生成する（ステップＳ１００）。プラン生成部１０２はさらに各通常プランに含まれる各通常アクションに対し、実行前状態および実行後状態を付与する（ステップＳ１０２）。次に、実行可否判定部１３０は、条件付プランＤＢ１２０に格納されている条件付プランの中から各通常アクションの実行後状態に適合する実行条件を有する条件付プランを抽出する（ステップＳ１０４）。
【００６６】
次に、再開可否判定部１３２は、ステップＳ１０４において抽出した条件付プランに対し、この条件付プランを実行した後にステップＳ１０４において対象とした通常アクションの次に実行されるべき通常アクションを再開可能か否かを判定する。条件付プランの実行後に通常アクションを再開可能であると判定された場合には（ステップＳ１０６，Ｙｅｓ）、実行順番決定部１３４は、ステップＳ１０４において対象とした通常アクションの次の順番を条件付プランの割り込み位置と決定する（ステップＳ１０８）。
【００６７】
以上ステップＳ１０４からステップＳ１０８の処理を、通常プランに含まれるすべての通常アクションに対して行うと（ステップＳ１１０，Ｙｅｓ）、すべての通常アクションおよび通常アクションの途中に割り込ませる条件付プランの実行順番が確定する（ステップＳ１１２）。アクション実行指示部１３６は、通常プランと割り込ませる条件付プランの実行順番が確定した後で、確定した実行順番にしたがい通常アクションおよび条件付プランを順次実行すべく実行指示を出す（ステップＳ１１４）。
【００６８】
さらに、再実行制御部１３８は、条件付プランの実行が完了すると、条件付プランの再実行に対する処理を行う（ステップＳ１１６）。以上で、行動計画処理が完了する。
【００６９】
図１１は、図１０において説明した再実行制御処理（ステップＳ１１６）における再実行制御部１３８の詳細な処理を示すフローチャートである。再実行制御部１３８は、アクション実行指示部１３６が実行完了したアクションが条件付アクションであるか通常アクションであるかを判別する（ステップＳ２００）。条件付アクションである場合には、条件付アクションに対応するゴールに含まれている再実行条件を満たすか否かを判定する。具体的には、目的達成情報取得部１４０が目的達成情報を取得したか否かに基づいて判定する。再実行条件を満たさない場合には（ステップＳ２０２，Ｎｏ）、実行完了した条件付アクションを条件付プランＤＢ１２０から削除する（ステップＳ２０４）。
【００７０】
例えば床に落とした宝石を検出するという条件付ゴールに対し、宝石を検出するという目的に対する目的未達成が再実行条件であるとする。この場合、宝石が検出されるまでは再実行条件を満たしているが、宝石が検出されると再実行条件を満たさなくなる（ステップＳ２０２，Ｎｏ）。したがって、宝石が検出されると、この条件付ゴールに対応する条件付アクションは条件付プランＤＢ１２０から削除される（ステップＳ２１０）。
【００７１】
宝石を検出するという目的に対する目的未達成が再実行条件である場合には、移動ロボット１は、センサにより宝石を検出し、センサにより宝石が検出された場合に目的達成情報を目的達成情報取得部１４０に送るものとする。
【００７２】
一方、再実行条件を満たす場合には（ステップＳ２０２，Ｙｅｓ）、実行完了した条件付アクションを引き続き条件付プランＤＢ１２０に保持させる。
【００７３】
例えば子供の様子を見るという条件付ゴールに対し、常にという再実行条件が設定されているとする。この場合、常に再実行条件を満たすことになるので、条件付アクションは一度実行されても条件付プランＤＢ１２０から削除されることはない。したがって、通常ゴールを取得する度に、通常ゴールへの割り込みの可否が判定され、可能な場合には繰り返し実行される。
【００７４】
以上のように、通常の処理のついでに行いたい処理に対応する条件付ゴールを条件付プランＤＢ１２０に格納しておくことにより、ついでに行いたい処理を割り込み可能なタイミングで繰り返し実行させることができる。
【００７５】
以下、図１２および図１３に示す条件付ゴールが条件付プランＤＢ１２０に格納され、図１４に示す通常ゴールを取得している場合の具体的な処理を説明する。
【００７６】
図１２に示す条件付ゴールは、子供の様子を確認する旨のゴールである。また、実行条件として、子供部屋の前に移動ロボット１がいる旨の移動ロボット状態条件が含まれている。さらに、「常に」の再実行条件が含まれている。したがって、この条件付ゴールは、実行後も条件付プランＤＢ１２０に保持される。
【００７７】
図１３は、図１２に示す条件付ゴールから作成された条件付プランを示す図である。図１３に示すように、条件付プランは、３つの条件付アクションを含んでいる。また、各条件付アクションには、それぞれ実行前状態および実行後状態が付与されている。また、図１４に示すように、来客挨拶、来客引率およびお茶準備の３つの通常ゴールを取得している。
【００７８】
この場合、まず来客挨拶の通常ゴールから通常プランが作成される。図１５は、来客挨拶の通常ゴールから作成された通常プランである。この通常プランには、４つの通常アクションが含まれている。さらに４つの通常アクションにはそれぞれ実行前状態および実行後状態が付与されている。
【００７９】
実行可否判定部１３０は、まず通常プランの通常アクション１の実行後状態と条件付プランの条件付アクション１の実行前状態とを比較する。通常アクション１の実行後状態から、移動ロボット１は子供部屋の前にいることがわかる。また、条件付アクション１の実行前状態である「子供部屋の前にいる」を満たす。したがって、条件付アクション１を通常アクション１の次に割り込み可能であると判断する。
【００８０】
割り込み可能であると判断した場合には、さらに再開可否判定部１３２は再開可能であるか否かを判定する。具体的には、条件付アクション３の実行後状態と通常アクション２の実行前状態とを比較する。通常アクション２の実行前状態および条件付アクション３の実行後状態は、ともに「子供部屋の前にいる」である。したがって、条件付アクション３を実行後通常アクション２を再開可能であると判断する。
【００８１】
以上より、図１６に示すように、条件付アクション１から条件付アクション３の実行順番を通常アクション１の次と決定する。すなわち、条件付プランを通常アクション１の次に割り込ませる。これにより、３つの通常ゴール中の来客挨拶の途中で、ついでに子供の様子を確認することができる。
【００８２】
図１７は、実施の形態１に係る行動計画装置１０のハードウェア構成を示す図である。行動計画装置１０は、ハードウェア構成として、行動計画装置１０における行動計画処理を実行する行動計画プログラムなどが格納されているＲＯＭ５２と、ＲＯＭ５２内のプログラムに従って行動計画装置１０の各部を制御するＣＰＵ５１と、行動計画装置１０の制御に必要な種々のデータを記憶するＲＡＭ５３と、ネットワークに接続して通信を行う通信Ｉ／Ｆ５７と、各部を接続するバス６２とを備えている。
【００８３】
先に述べた行動計画装置１０における行動計画プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フロッピー（Ｒ）ディスク（ＦＤ）、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録されて提供されてもよい。
【００８４】
この場合には、行動計画プログラムは、行動計画装置１０において上記記録媒体から読み出して実行することにより主記憶装置上にロードされ、上記ソフトウェア構成で説明した各部が主記憶装置上に生成されるようになっている。
【００８５】
また、本実施の形態の行動計画プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。
【００８６】
以上、本発明を実施の形態を用いて説明したが、上記実施の形態に多様な変更または改良を加えることができる。
【００８７】
そうした変更例としては、本実施の形態においては、実行条件のうち移動ロボット状態条件を利用する場合について説明したが、これにかえて、またはさらに環境条件を利用してもよい。例えば、温度１０℃以下である旨の環境条件が定められているとする。この場合には、温度１０℃以下の場合にのみ実行条件を満たす、すなわち実行可能であると判断する。なお、環境情報取得部１４２は温度センサから定期的に温度を示す環境情報を取得し、実行可否判定部１３０は、温度を示す環境情報と環境条件とを比較することにより実行可能か否かを判定する。このように、環境条件をさらに加味することにより、より適切なタイミングで条件付プランを実行することができる。
【図面の簡単な説明】
【００８８】
【図１−１】移動ロボット１を正面から見た図である。
【図１−２】移動ロボット１を側面から見た図である。
【図２】ロボットシステム２０のシステム構成を示す図である。
【図３】実施の形態１にかかる行動計画装置１０の全体構成を示すブロック図である。
【図４】ゴールと、プランおよびアクションの関係を説明するための図である。
【図５】ゴール取得部１００が取得するゴールのデータ構成を模式的に示す図である。
【図６】各アクションに付与された実行前状態および実行後状態を示す図である。
【図７】通常プランＤＢ１１０に格納されている通常プランのデータ構成を模式的に示す図である。
【図８】実行可否判定部１３０の処理を説明するための図である。
【図９】再開可否判定部１３２の処理を説明するための図である。
【図１０】行動計画装置１０による行動計画処理を説明するためのフローチャートである。
【図１１】図１０において説明した再実行制御処理（ステップＳ１１６）における再実行制御部１３８の詳細な処理を示すフローチャートである。
【図１２】条件付ゴールを示す図である。
【図１３】条件付プランを示す図である。
【図１４】通常ゴールを示す図である。
【図１５】通常プランを示す図である。
【図１６】条件付アクションおよび通常アクションの実行順番を示す図である。
【図１７】実施の形態１に係る行動計画装置１０のハードウェア構成を示す図である。
【符号の説明】
【００８９】
１  移動ロボット
１０  行動計画装置
２０  ロボットシステム
２１  顔部
２２  胴部
２３Ａ，２３Ｂ  アーム部
２４  移動部
２５  口部
２６Ａ，２６Ｂ  耳部
２７Ａ，２７Ｂ  目部
２８Ａ〜２８Ｄ  タイヤ
３１  スピーカ
３２Ａ，３２Ｂ  マイク
３３Ａ，３３Ｂ  カメラ
４０  システム制御部
４１  音声処理サブシステム
４２  画像処理サブシステム
４３  アームサブシステム
４４  胴回転サブシステム
４５  首回転サブシステム
４６  移動サブシステム
５１  ＣＰＵ
５２  ＲＯＭ
５３  ＲＡＭ
５７  通信Ｉ／Ｆ
６２  バス
１００  ゴール取得部
１０２  プラン生成部
１１０  通常プランＤＢ
１２０  条件付プランＤＢ
１３０  実行可否判定部
１３２  再開可否判定部
１３４  実行順番決定部
１３６  アクション実行指示部
１３８  再実行制御部
１４０  目的達成情報取得部
１４２  環境情報取得部
【図１−１】
2007125621.tif 000003
【図１−２】
2007125621.tif 000004
【図２】
2007125621.tif 000005
【図３】
2007125621.tif 000006
【図４】
2007125621.tif 000007
【図５】
2007125621.tif 000008
【図６】
2007125621.tif 000009
【図７】
2007125621.tif 000010
【図８】
2007125621.tif 000011
【図９】
2007125621.tif 000012
【図１０】
2007125621.tif 000013
【図１１】
2007125621.tif 000014
【図１２】
2007125621.tif 000015
【図１３】
2007125621.tif 000016
【図１４】
2007125621.tif 000017
【図１５】
2007125621.tif 000018
【図１６】
2007125621.tif 000019
【図１７】
2007125621.tif 000020