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