(57)【要約】【課題】  バッテリー残量に応じて最適な作業命令を選択できるようにする。【解決手段】  ロボットは全体管理部２と、データベース部３と、タスクプラニング部４と、音声認識部５と、音声合成部６と、画像認識部７と、画像生成部８と、外部インタフェース（I/F）部９とを備えている。現在のバッテリー残量を検出し、各コマンド別の消費電力データを参照して、各コマンドを実行可能なバッテリー残量があるかどうかを判断し、その判断結果を使用者に提示したり、実行コマンドを変更したりするため、ロボットが動作中にバッテリー切れで停止してしまい、意図せぬ結果を招くような不具合を確実に防止できる。【選択図】  図１
2006150562.tif 000002
【特許請求の範囲】
【請求項１】
バッテリー残量を検出する残量検出手段と、
複数の作業命令を実行するのに要する消費電力に関する情報を作業命令ごとに記憶する消費電力情報記憶手段と、
前記残量検出手段で検出されたバッテリー残量と前記消費電力情報記憶手段に記憶された情報とに基づいて、与えられた作業命令を実行可能なバッテリー残量があるか否かを判断する実行可能判断手段と、
前記実行可能判断手段によりバッテリー残量がないと判断されると、前記残量検出手段で検出されたバッテリー残量で実行可能な作業命令を提示する命令提示手段と、を備えることを特徴とするロボット。
【請求項２】
作業命令を実行中に、実行予定の作業命令を実行するのに要する消費電力を予測計算する消費電力予測手段を備え、
前記実行可能判断手段は、前記消費電力予測手段で予測した結果に基づいて、実行予定の作業命令すべてを実行するだけのバッテリー残量があるか否かを判断し、
前記命令提示手段は、実行予定の作業命令すべてを実行するだけのバッテリー残量がないと前記命令提示手段により判断された場合には、実行可能な作業命令の少なくとも一部を変更して新たな作業命令を提示することを特徴とする請求項１に記載のロボット。
【請求項３】
前記命令提示手段は、前記実行可能判断手段によりバッテリー残量がないと判断されると、任意の位置に復帰させるための作業命令を優先的に提示することを特徴とする請求項１または２に記載のロボット。
【請求項４】
画像入力、音声入力およびセンサ入力の少なくとも一つの入力に基づいて、ロボットの動作を示すタスクを生成するメタレベルタスク生成手段と、
生成したタスクを解析して、詳細な作業命令の実行順序を決定するスケジューリング手段と、を備え、
前記実行可能判断手段は、前記消費電力情報記憶手段に記憶された情報に基づいて、前記スケジューリング手段で決定された作業命令を実行可能なバッテリー残量があるか否かを判断することを特徴とする請求項１乃至３のいずれかに記載のロボット。
【請求項５】
それぞれが互いに異なる動作を実行する複数の機能モジュールのそれぞれに、消費電力を含む属性情報と、識別情報と、ロボット本体との接続情報とを対応づけて記憶する個別ブロック情報記憶手段と、
前記個別ブロック情報記憶手段に記憶された情報に基づいて、ロボットを構成するための少なくとも一つの機能ブロックを選択するモジュール選択手段と、を備えることを特徴とするモジュール選択装置。
【請求項６】
前記モジュール選択手段は、前記個別ブロック情報記憶手段に記憶された情報に基づいて、ロボットが任意の動作を実行する際に消費電力が最小になる機能ブロックを選択することを特徴とする請求項５に記載のモジュール選択装置。
【請求項７】
前記モジュール選択手段により選択された機能モジュールと、選択された機能モジュールを用いて構成されるロボットの組立手順とを提示する選択モジュール組立情報提示手段を備えることを特徴とする請求項５または６に記載のモジュール選択装置。
【請求項８】
ロボットが複数の作業命令を実行するのに要する消費電力に関する情報を作業命令ごとに消費電力情報記憶手段に記憶し、
前記消費電力情報記憶手段に記憶された情報に基づいて、与えられた作業命令を実行可能なバッテリー残量があるか否かを判断し、
バッテリー残量がないと判断されると、前記残量検出手段で検出されたバッテリ残量で実行可能な作業命令を命令提示手段により提示することを特徴とするロボット制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、種々の動作を実行可能なロボットと、複数の機能モジュールの中から少なくとも一つを選択するモジュール選択装置とに関する。
【背景技術】
【０００２】
何らかの移動機構を持ったバッテリーで駆動される移動ロボットでは、作業中のバッテリー切れによる作業中断や、バッテリ切れによる動作停止が問題になる。従来はこの問題に関して、バッテリー電圧や動作時間などを常時監視し、作業中に設定した電圧よりもバッテリ電圧が低下したり、バッテリ駆動を開始してから所定時間を越えた場合、作業を中断して、充電場所あるいは充電作業を実行する人間のところに移動する、といった対処方法がとられている。
【０００３】
また、バッテリー残量に応じて駆動系の遮断などを行う方法（特許文献１を参照）が提案されているが、この場合、達成すべきタスクが途中で中断されてしまう。また、行動シーケンスごとの消費エネルギー量からバッテリー残量が少なくなったときの行動シーケンス補正を行う方法が提案（特許文献２を参照）されているが、動作実行中の判断で、また全体のタスクを考慮していないため、タスクの途中終了時に本実施形態で説明するような予期しない問題を引き起こす可能性がある。
【特許文献１】特開２００１−３２８０９１公報
【特許文献２】特開２００２−１４４２６１公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記の対処方法は、作業が床掃除や芝刈りあるいは巡回見回りなど、作業を中断しても周辺への影響が少なく、また作業の再開も容易な移動と作業が一体となった作業の場合には有効である。しかし、指定された場所の様子を見てくる、指定された場所から物を持ってくる等、移動と作業が不連続な場合には、中断のタイミングによっては、そこまでの移動や作業がまったく意味のないものになる可能性がある。さらには冷蔵庫からビールを持ってくる、といった作業で冷蔵庫のドアを開けた状態で中断するなど、作業内容によっては中断することが、環境側に重大な問題を引き起こす可能性もある。
【０００５】
本発明は、バッテリー残量に応じて最適な作業命令を選択可能なロボット、モジュール選択装置およびロボットの制御方法を提供する。
【課題を解決するための手段】
【０００６】
本発明の一態様によれば、バッテリー残量を検出する残量検出手段と、複数の作業命令を実行するのに要する消費電力に関する情報を作業命令ごとに記憶する消費電力情報記憶手段と、前記残量検出手段で検出されたバッテリー残量と前記消費電力情報記憶手段に記憶された情報とに基づいて、与えられた作業命令を実行可能なバッテリー残量があるか否かを判断する実行可能判断手段と、前記実行可能判断手段によりバッテリー残量がないと判断されると、前記残量検出手段で検出されたバッテリー残量で実行可能な作業命令を提示する命令提示手段と、バッテリー残量で実行可能な作業命令を提示する命令実行手段と、を備える。
【０００７】
また、本発明の一態様によれば、それぞれが互いに異なる動作を実行する複数の機能モジュールのそれぞれごとに、消費電力を含む属性情報と、識別情報と、ロボット本体との接続情報とを対応づけて記憶する個別ブロック情報記憶手段と、前記個別ブロック情報記憶手段に記憶された情報に基づいて、ロボットを構成するための少なくとも一つの機能ブロックを選択するモジュール選択手段と、を備える。
【発明の効果】
【０００８】
本発明によれば、バッテリー残量に応じて最適な作業命令を選択することができる。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照しながら、本発明の一実施形態について説明する。
【００１０】
図１は本発明の一実施形態に係るロボットの内部構成を示すブロック図である。図１のロボットは、上位系通信バスＬ１と、下位系通信バスＬ２とを備えており、各バス間には、軌道生成／目標値生成部１が接続されている。
【００１１】
上位系通信バスＬ１には、全体管理部２と、データベース部３と、タスクプラニング部４と、音声認識部５と、音声合成部６と、画像認識部７と、画像生成部８と、外部インタフェース（I/F）部９とが接続されている。音声認識部５には音声前処理部１０が接続され、画像認識部７には画像前処理部１１が接続されている。
【００１２】
下位系通信バスＬ２には、センサ信号処理部１２と複数のモータ制御部１３とが接続されている。複数のモータ制御部１３はそれぞれ対応するモータ１４を制御する。
【００１３】
全体管理部２は、図１のロボット全体の管理（制御）を行う。タスクプラニング部４は、ロボットが実行する命令の種類や順序を制御する。音声認識部５と音声前処理部１０は、マイクから入力された音声信号の認識処理を行う。画像認識部７と画像前処理部１１は、カメラから入力された画像信号の認識処理を行う。音声合成部６と画像生成部８は、外部への情報発信を行うスピーカからの音声や表示装置の画像を生成する。外部I/F９は、無線LANや携帯電話などの無線通信や高速の有線LANなどのロボット外部の通信装置とのデータ通信を行う。軌道生成／目標値生成部１は、タスクプラニング部４や全体管理部２が出力するコマンドレベルのタスクを実行するためのロボット機構部（図１では不図示）のアーム先端軌道、移動部の目標値生成、各モータへの指令値などを生成する。また、全体管理部２は、ロボットが駆動電源として用いるバッテリーの残容量を検出する機能を持つ。
【００１４】
データベース部３は、ロボットに対する複数の作業命令を実行するのに要する消費電力に関する情報を作業命令ごとに記憶する。
【００１５】
上位系通信バスＬ１に接続された各部は、最短でも数msオーダのサンプリングタイムで動作すればよいため、実時間性の要求が低い。このため、上位系通信バスＬ１としては、GbE（Gigabit Ethernet（登録商標））やPCI-Xなどの利用が考えられる。
【００１６】
センサ信号処理部１２は、超音波センサやタッチセンサなど、ロボットが動作する上で瞬時の回避や停止機能に必要な信号処理を行う。モータ制御部１３は、軌道生成／目標値生成部１で生成したモータの動作目標値を実現するためのサーボ制御演算やモータへの出力を行う。
【００１７】
下位系通信バスＬ２に接続された各部は、１ms以下の高速なサンプリングを必要とし、信号げー物は少ない方が配線上有利であるため、下位系通信バスＬ２としては、同期通信機能を持つシリアル通信をUSB2.0やIEEE1394などの利用が考えられる。
【００１８】
図２は本実施形態に係るロボットのソフトウェア構成図である。図２に示した各ブロックは、ソフトウェアの個々の機能モジュールに相当する。本実施形態に係るロボットのソフトウェアは、ヒューマンインタフェース部２１と、画像入力・認識部２２と、音声入力・認識部２３と、外界情報２０を検出する外界センサ信号入力・認識部２４と、コマンド機能一覧提供部２５と、機能別消費電力データ提供部２６と、コマンド別消費電力データ提供部２７と、バッテリー残量検出部２８と、メタレベルタスク生成部２９と、メタレベルタスク解析部３０と、コマンドレベル作業スケジューリング部３１と、コマンドレベルタスク実行可能性機能検討部３２と、コマンドレベルタスク実行可能性エネルギー検討部３３と、実行可能性表示部３４と、個別モジュール部３５と、使用可能モジュールデータベース３６とを有する。個別モジュール部３５は、機能プロファイル３７と、モジュール識別子３８と、接続情報信号３９とを有する。
【００１９】
ヒューマンインタフェース部２１は、マイクやカメラ、あるいは押しボタンなどの状態を取得する。例えば、音声により「ビール持ってきて」という命令をマイク入力すると、音声入力・認識部２３を通してメタレベルタスク生成部２９にて、メタレベルタスクとして認識される。また、画像入力・認識部２２により人の腕と指を撮像した結果に基づいて、「あっちの方に行け」というメタレベルタスクが生成されたりする。押しボタンなどが押下された場合も同様であり、予め何らかのメタレベルタスクを設定しておくことができる。
【００２０】
メタレベルタスクは、本ロボットのクライアントからの命令だけでなく、ロボット自身が外界情報から取得することも考えられる。異音の認識や不審者の発見、障害物の検出などのメタレベルタスクは、画像入力・認識部２２、音声入力・認識部２３あるいは外界センサ入力・認識部からの入力・認識結果から生成されることも可能である。
【００２１】
メタレベルタスク生成部２９で生成されたメタレベルタスクは、メタレベルタスク解析部３０にて、ロボットコマンドレベルに分解される。ここでの分解手法は、例えば、過去のタスク実行データベースやナレッジ技術などを利用することが考えられる。また、この時点で、コマンドレベルへの分解が不可能であれば、タスク実行不可能である旨をロボットの外部に告知することも考えられる。
【００２２】
本実施形態のロボットは、複数のロボットモジュールを組み合わせて構成され、各ロボットモジュールはタスクを実行する。図２の使用可能モジュールデータベース３６は、各ロボットモジュールが所持する機能をデータベース化したものである。コマンドレベルタスク実行可能性機能検討部３２は、使用可能モジュールデータベース３６を参照して、どのようなロボットモジュールが必要で、現在あるロボットモジュールでタスクの実行が可能か否かを判断する。タスクの実行が不可能なら、この時点でタスクの実行が不可能である旨をロボット各部に告知することも考えられる。
【００２３】
各ロボットモジュールは、電源系および信号系ともに、例えばUSB規格のようなワンタッチコネクタにより接続される。この接続は、接続情報信号３９により、全体管理用モジュール（不図示）に通知される。この全体管理用モジュールは、図２のどのモジュールが代用してもよい。全体管理用モジュールは、ロボット内部の動作をソフトウェア的に制御する。全体管理用モジュールは、図２に示した複数のブロックを組み合わせて実現してもよいが、その場合、複数のモジュールが全体管理機能を持つことになる。この場合、例えば先着順などの優先度を決めて、いずれかのモジュールが全体管理機能を持てばよい。
【００２４】
図２に示した各ロボットモジュールは、モジュール識別子信号とプロファイルデータを有する。プロファイルデータには消費電力情報が含まれている。これらの情報は、使用可能モジュールデータベース３６に格納される。使用可能モジュールデータベース３６に格納されたデータは、対応するロボットモジュールがロボットから除去された場合でも、継続して格納される。
【００２５】
これにより、どのロボットモジュールを使用すべきかを検討している段階では、あるロボットモジュールがタスク実行に必要な機能を満たさないことがわかると、すでに接続したことがあるロボットモジュールの消費電力情報等を使用可能モジュールデータベース３６から読み出して、使用者に提示することができる。
【００２６】
また、使用可能モジュールデータベース３６にネットワークや記憶媒体を介して、接続経験がないモジュールの機能データも蓄積しておけば、使用者にタスク実行のために新たに用意しなければならない機能モジュールを提示することも可能になる。
【００２７】
コマンドレベルタスク実行可能性検討部３２は、バッテリー残量検出部２８で検出されたバッテリー残量、機能別消費電力データ、およびコマンド別消費電力データを用いて、メタレベルタスク解析部３０の解析結果が現状のエネルギー残量で実現可能か否かを検討する。
【００２８】
バッテリー残量による実現可能性の検討を行う際は、与えられたメタレベルタスクが以下の（ａ）〜（ｅ）のいずれかによって実現可能性の検討方法が変わる。
（ａ）作業中にバッテリーを使い切ってもよいタスク。
（ｂ）作業をいつでも中断して充電可能状態に戻ってもよいタスク。
（ｃ）作業をいくつかの段階で中断して充電可能状態に戻ってもよいタスク。
（ｄ）作業中断が不可能なタスク。
（ｅ）作業量と作業内容が予め予測不可能なタスク。
【００２９】
上記（ａ）のタスクとしては、例えば画像出力や音声出力等の娯楽系や情報提示系のタスクが考えられる。これらのタスクは、特に移動を伴わず、またバッテリー切れで完全に機能が停止しても、使用者に大きな影響は及ばない。この場合、バッテリー残量にかかわらず、ロボットコマンドを実行する。
【００３０】
上記（ｂ）のタスクとしては、例えば、掃除や庭の芝刈り等のタスクが考えられる。これらのタスクでは、タスク実行中に作業を中断し、再充電後に同じタスクを継続可能である。この場合、下記の（１）式を満たすときに、タスク実行可能と判断すればよい。なお、Prはバッテリー残量（Power Remaining）、Psはタスク開始位置に移動するのに要する消費電力（Power for moving to Start point）、Pmはロボットの諸要素を勘案して予め設定されるマージンである。
Pr＞Ps＋Pres＋Pm    …（１）
【００３１】
タスク実行中の実時間バッテリー残量cPrは（２）式で表される。
cPr＞Pres＋Pm    （２）
【００３２】
（ｃ）のタスクとしては、部屋の片づけタスクや皿洗いタスクなどが考えられる。この種のタスクは、片づけるものや皿などを持ったままで帰還動作に入ることはできないため、少なくともロボットアームで把持する動作に関するタスクを終了してから帰還動作に入る必要がある。ただし、タスク全体としては、上記の条件の下で途中で帰還しても大きな影響がなく、また充電後のタスク継続も可能である。
【００３３】
図３はメタレベルのタスクである「台所の皿洗い作業」のタスクスケジューリングの一例を示す図である。図３に示すように、メタレベルのタスクである「台所の皿洗い作業」は複数のコマンドに関する動作からなる。具体的には、音声コマンド受付、コマンド認識、話者確認、コマンド受付応答、台所シンク移動、シンク内画像認識、作業手順作成、ｎ枚目の皿洗い、帰還、終了報告、およびコマンド待ち状態の動作からなる。各動作は、画像入力、画像認識、画像合成、画像表示、音声入力、音声認識、音声合成、音声出力、外部との通信、センサ入力、センサ信号処理、全体管理、タスクプラニング、軌道生成／目標値生成部１、移動用のモータ制御、およびアーム制御用のモータ制御などの機能からなる。
【００３４】
図３には、各機能別に、必要な消費電力を記述するとともに、各機能の中に含まれる詳細なコマンド動作ごとに消費電力と、各コマンド動作を行うのに要する想定時間とを記述している。図３中の「○」は、その機能の中にその動作が含まれることを意味する。
【００３５】
「台所の皿洗い」は、上述したように、作業をいくつかの段階で中断して充電可能状態に戻ってもよいタスクに相当する。皿の枚数は未確認情報であるが、１枚でも洗い終われば、そこで中断して任意の位置に帰還しても特に問題ない。そこで、図３のステップＳ５の実行可能性の検討では、１枚の皿洗いを実行するための消費エネルギーPminを用いて、以下の（３）式を満たすときに、実行可能と判断する。
Pr＞Pmin＋Pothers＋Ps＋Pres＋Pm    …（３）
【００３６】
ここで、Pothersは、図３中のシンク内画像認識や作業手順作成などの開始位置移動や帰還作業以外の消費電力の合計である。
【００３７】
「台所の皿洗い」のように、「（ｃ）作業をいくつかの段階で中断して充電可能状態に戻ってもよいタスク」の場合、Pminが一つの作業単位であり、この途中で作業を中断することはできない。そこで、作業中のバッテリー残量チェックでは、以下の（４）式が成立している間は、次の皿洗い作業を続け、（４）式が成立しなくなったら、１枚の皿洗い作業を終了した後、帰還動作を開始すればよい。
cPr＞Pmin＋Pres＋Pm    …（４）
【００３８】
上述した「（ｄ）作業中断が不可能なタスク」としては、見回り作業や介護補助作業などが考えられる。これらのタスクでは、途中で作業を中断すると、作業の意味がなくなってしまったり、あるいは作業対象物や環境に大きな影響を与える可能性があるものである。
【００３９】
図４はメタレベルのタスクである「見回り作業」のタスクスケジューリングの一例を示す図である。図４に示すように、メタレベルのタスクである「見回り作業」は複数のコマンドに関する動作からなる。具体的には、音声コマンド受付、コマンド認識、話者確認、コマンド受付応答、見回りルート生成、見回り動作、ドア開け、障害物回避、不審物発見、終了報告、およびコマンド待ち状態の動作からなる。各動作は、画像入力、画像認識、画像合成、画像表示、音声入力、音声認識、音声合成、音声出力、外部との通信、センサ入力、センサ信号処理、全体管理、タスクプラニング、軌道生成／目標値生成部１、移動用のモータ制御、およびアーム制御用のモータ制御などの機能からなる。
【００４０】
図４の「見回り作業」の場合、（５）式が成り立つときにタスク実行可能と判断できる。ここで、Pallは、本タスクを実行するのに必要な消費電力である。
Pr＞Pall＋Pm    …（５）
【００４１】
上述した「（ｅ）作業量と作業内容が予め予測不可能なタスク」の場合、買い物補助（ポーター）作業、移動している物を探して持ってくる作業などが考えられる。これらの作業では、作業時間や作業負荷が予測不可能であり、また途中で作業を中断すると、それまでの作業の意味がなくなるものである。そこで、上述した（ｅ）のタスクの場合、ロボットが使用者に対して、作業内容未定のため、作業を完遂できるかどうかわからない旨を提示し、使用者の判断を仰ぐようにする。ここで、再度実行が指令されれば、本タスクを実行することになる。
【００４２】
上述した（ｄ）および（ｅ）のタスクでは、最後までタスクを完了させる必要があるため、作業中の実時間バッテリー残量cPrをモニタしても、適当な作業中断ができない。しかしながら、そこで停止する方が影響が大きい場合には、その作業を作業対象物や環境に影響を与えずに中断するための消費電力Pstopを対象物重量などから算出し、以下の（６）式を満たす間だけ、作業を継続することも可能である。ただし、これにより、そのまでの作業の価値はなくなる。
cP＞Pstop＋Pres＋Pm    …（６）
【００４３】
上述した（ｂ）および（ｅ）のタスクでは、作業を中断して帰還するための消費電力の残量Presを事前に設定している。ところが、（２）式で、帰路途中に事前に想定していない障害物があって、これを避けたために消費電力Pmを使い切ってしまったり、（４）式において最後の一つの作業単位で予想外のエネルギーを消費したり、（６）式で中断作業に予想以上の電力消費があった場合、（７）式の状態になることが想定できる。
cPr＜Pres    …（７）
【００４４】
この場合、例えば図３の帰還コマンドで使用している機能のうち、音声入力機能を停止させたり、帰還のための環境認識用の画像入力や画像認識を停止し、エネルギー消費の少ない赤外線センサのみでの低消費電力型緊急帰還動作モードを設定したり、その位置で使用者に異常を知らせるアラームを鳴らすなどの方法を用意しておく。
【００４５】
図５は本実施形態に係るロボットを構成する個々のロボットモジュールを示す図である。図５には、ロボットの頭頂部となるロボットモジュールＭ１と、胴体部となるロボットモジュールＭ２と、移動部となるロボットモジュールＭ３と、アーム部となるロボットモジュールＭ４とが図示されている。これらは一例であり、他のロボットモジュールを設けてもよいし、図５のいくつかのロボットモジュールを一つにまとめてもよい。
【００４６】
図５に示したロボットモジュールは、必要に応じて組み合わせて使用可能である。したがって、複数のロボットモジュールの中から所望のロボットモジュールを任意に組み合わせることにより、各用途に応じたロボットを実現できる。
【００４７】
図５に示した各ロボットモジュールＭ１〜Ｍ５は、図１に示した各構成部分と図２に示した機能モジュールを内蔵する。例えば、頭頂部であるロボットモジュールＭ１は、図２の全体管理部２、タスクプラニング部４、マイクと、音声前処理部１０と、スピーカと、音声合成部６と、カメラと、画像前処理部１１と、画像認識部７と、画像生成部８と、小型の表示装置と、外部I/F部９とを有する。
【００４８】
胴体部であるロボットモジュールＭ２は、画像生成部８と、大型の表示装置と、一部のセンサ信号処理部１２（超音波距離センサなど）とを有する。
【００４９】
移動部であるロボットモジュールＭ３は、移動用の軌道生成／目標値生成部１と、モータ制御部１３と、モータとを有する。アーム部であるロボットモジュールＭ４は、アーム用の軌道生成／目標値生成部１と、モータ１４とを有する。
【００５０】
図５の各ロボットモジュールは、電源系および信号系ともに、例えばUSB規格を用いて、ワンタッチのコネクタで接続される。この接続は、接続情報信号３９により、全体管理部２に通知される。全体管理部２は、図５のいずれのロボットモジュールが内蔵してもよい。複数のロボットモジュールを組み合わせてロボットを構成している場合には、複数のロボットが全体管理部２を所持することも考えられるが、その場合は、複数のロボットモジュール間で例えば優先順位を定めてもよいし、全体管理部２の機能を複数のロボットモジュールで分担してもよい。
【００５１】
図６は図５の各ロボットモジュールを任意に組み合わせて構成したロボットの一例を示す図である。図６（ａ）は情報端末用のロボット、図６（ｂ）は見回り用のロボット、図６（ｃ）は食事を提供するサービスロボット、図６（ｄ）は作業用のサービスロボットである。
【００５２】
図６（ａ）のロボットは、頭頂部のロボットモジュールＭ１だけを有する。図６（ｂ）のロボットは、頭頂部のロボットモジュールＭ１と移動部のロボットモジュールＭ３を有する。図６（ｃ）のロボットは、頭頂部のロボットモジュールＭ１と、胴体部のロボットモジュールＭ２と、移動部のロボットモジュールＭ３とを有する。図６（ｄ）のロボットは、ロボットモジュールＭ１〜Ｍ４を有する。
【００５３】
図７は本実施形態に係るロボットの処理手順を示すフローチャートである。まず、カメラによる画像入力、マイクによる音声入力、および各種センサの入力を取得する（ステップＳ１）。次に、取得した結果に基づいてメタレベルタスクを生成する（ステップＳ２）。このステップＳ２の処理は、メタレベルタスク生成部２９が行う。
【００５４】
次に、生成したメタレベルタスクを解析し、コマンドレベルのタスクに分解する（ステップＳ３）。このステップＳ３の処理はメタレベルタスク解析部３０が行う。
【００５５】
次に、コマンド機能一覧を参照して、コマンドレベルの作業スケジューリングを行う（ステップＳ４）。このステップＳ４の処理は、コマンドレベル作業スケジューリング部３１が行う。
【００５６】
次に、バッテリー残量とコマンド別の消費電力データを参照して、スケジューリングした各コマンドについて、機能上の実行可能性と消費電力上の実行可能性を検討する（ステップＳ５）。このステップＳ５の処理はコマンドレベルタスク実行可能性機能検討部３２が行う。コマンドレベルタスク実行可能性機能検討部３２は、各ロボットモジュールが持つ機能をデータベース化した使用可能モジュールデータベース３６とステップＳ３の解析結果とに基づいて、どのようなロボットモジュールが必要で、現在存在するロボットモジュールでタスクの実行が可能か否かを判断する。実行可能な場合には、その旨を使用者に知らせる（ステップＳ６）。その際、使用者にそのロボットモジュールの組み合わせの具体的な構成を知らせるようにすれば、利便性が高くなる。
【００５７】
また、タスクによっては、複数のロボットモジュールの構成案が考えられるが、その場合、各ロボットモジュールの機能ごとの消費電力をそれぞれ算出して、どのようなロボットモジュールの組み合わせのときに消費電力が最も少ないかを使用者に提示するのが望ましい。これにより、ある機能を実行可能なロボットを組み立てる際、消費電力が最小になるようなロボットモジュールの組み合わせを容易に選択できる。
【００５８】
このように、本実施形態では、現在のバッテリー残量を検出し、各コマンド別の消費電力データを参照して、各コマンドを実行可能なバッテリー残量があるかどうかを判断し、その判断結果を使用者に提示したり、実行コマンドを変更したりするため、ロボットが動作中にバッテリー切れで停止してしまい、意図せぬ結果を招くような不具合を確実に防止できる。
【００５９】
上述した実施形態で説明した図２および図６の処理の少なくとも一部は、ハードウェアで構成してもよいし、ソフトウェアで構成してもよい。ソフトウェアで構成する場合には、同処理の少なくとも一部の機能を実現するプログラムをフロッピーディスクやＣＤ−ＲＯＭ等の記録媒体に収納し、コンピュータに読み込ませて実行させてもよい。記録媒体は、磁気ディスクや光ディスク等の携帯可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でもよい。
【００６０】
また、図２および図６の処理の少なくとも一部を実現するプログラムを、インターネット等の通信回線（無線通信も含む）を介して頒布してもよい。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布してもよい。
【図面の簡単な説明】
【００６１】
【図１】本発明の一実施形態に係るロボットの内部構成を示すブロック図。
【図２】本実施形態に係るロボットのソフトウェア構成図。
【図３】メタレベルのタスクである「台所の皿洗い作業」のタスクスケジューリングの一例を示す図。
【図４】メタレベルのタスクである「見回り作業」のタスクスケジューリングの一例を示す図。
【図５】本実施形態に係るロボットを構成する個々のロボットモジュールを示す図。
【図６】図５の各ロボットモジュールを任意に組み合わせて構成したロボットの一例を示す図。
【図７】本実施形態に係るロボットの処理手順を示すフローチャート。
【符号の説明】
【００６２】
２  全体管理部
３  データベース部
４  タスクプラニング部
２９  メタレベルタスク生成部
３０  メタレベルタスク解析部
３１  コマンドレベル作業スケジューリング部
３２  コマンドレベルタスク実行可能性機能検討部
３３  コマンドレベルタスク実行可能性エネルギー検討部
３４  実行可能性表示部
３５  個別モジュール部
３６  使用可能モジュールデータベース
【図１】
2006150562.tif 000003
【図２】
2006150562.tif 000004
【図３】
2006150562.tif 000005
【図４】
2006150562.tif 000006
【図５】
2006150562.tif 000007
【図６】
2006150562.tif 000008
【図７】
2006150562.tif 000009