(57)【要約】【課題】ロボットの自律動作を迅速に実行させる。【解決手段】認識モジュール５１は、頭部ユニット１４より供給される外部情報に基づいて、抽象的な認識情報を生成して行動選択モジュール５２に供給し、具体的な認識情報を生成して認識行動モジュール５３に供給する。行動選択モジュール５２は、抽象的な認識情報に基づいて抽象的なコマンドを認識行動モジュール５３に供給する。認識行動モジュール５３は、抽象的なコマンドと具体的な認識情報から具体的なコマンドを生成し行動モジュール５４に供給する。行動モジュール５４は、具体的なコマンドに基づいて、頭部ユニット１４、脚部ユニット１３、および、尻尾部ユニット１５の各種のアクチュエータを制御して、ロボットを動作させる。本発明は、玩具用ロボットに適用することができる。【選択図】図４
2005074594.tif 000002
【特許請求の範囲】
【請求項１】
外部情報を認識する認識手段と、
前記認識手段により認識された外部情報に基づいて、具体的な認識情報と抽象的な認識情報を生成する認識情報生成手段と、
前記認識情報生成手段により生成された抽象的な認識情報に基づいて、抽象的なコマンドを生成する抽象的コマンド生成手段と、
前記抽象的コマンド生成手段により生成された抽象的なコマンドと、前記認識情報生成手段により生成された具体的な認識情報に基づいて、具体的なコマンドを生成する具体的コマンド生成手段と、
前記具体的コマンド生成手段により生成された具体的なコマンドを実行させるコマンド実行手段と
を備えることを特徴とするロボット制御装置。
【請求項２】
外部情報は、音声情報、画像情報、圧力情報、または、温度情報を含む
ことを特徴とする請求項１に記載のロボット制御装置。
【請求項３】
外部情報を認識する認識ステップと、
前記認識ステップの処理で認識された外部情報に基づいて、具体的な認識情報と抽象的な認識情報を生成する認識情報生成ステップと、
前記認識情報生成ステップの処理で生成された抽象的な認識情報に基づいて、抽象的なコマンドを生成する抽象的コマンド生成ステップと、
前記抽象的コマンド生成ステップの処理で生成された抽象的なコマンドと、前記認識情報生成ステップの処理で生成された具体的な認識情報に基づいて、具体的なコマンドを生成する具体的コマンド生成ステップと、
前記具体的コマンド生成ステップの処理で生成された具体的なコマンドを実行させるコマンド実行ステップと
を含むことを特徴とするロボット制御方法。
【請求項４】
外部情報の認識を制御する認識制御ステップと、
前記認識制御ステップの処理で認識が制御された外部情報に基づいて、具体的な認識情報と抽象的な認識情報を生成する認識情報生成ステップと、
前記認識情報生成ステップの処理で生成された抽象的な認識情報に基づいて、抽象的なコマンドを生成する抽象的コマンド生成ステップと、
前記抽象的コマンド生成ステップの処理で生成された抽象的なコマンドと、前記認識情報生成ステップの処理で生成された具体的な認識情報に基づいて、具体的なコマンドを生成する具体的コマンド生成ステップと、
前記具体的コマンド生成ステップの処理で生成された具体的なコマンドの実行を制御させるコマンド実行制御ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項５】
外部情報の認識を制御する認識制御ステップと、
前記認識制御ステップの処理で認識が制御された外部情報に基づいて、具体的な認識情報と抽象的な認識情報を生成する認識情報生成ステップと、
前記認識情報生成ステップの処理で生成された抽象的な認識情報に基づいて、抽象的なコマンドを生成する抽象的コマンド生成ステップと、
前記抽象的コマンド生成ステップの処理で生成された抽象的なコマンドと、前記認識情報生成ステップの処理で生成された具体的な認識情報に基づいて、具体的なコマンドを生成する具体的コマンド生成ステップと、
前記具体的コマンド生成ステップの処理で生成された具体的なコマンドの実行を制御させるコマンド実行制御ステップと
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット制御装置および方法、記録媒体、並びにプログラムに関し、特に、外部情報に対するロボットの自律動作の応答速度を向上させるようにしたロボット制御装置および方法、記録媒体、並びにプログラムに関する。
【背景技術】
【０００２】
近年においては、例えば、玩具等として、外部の状態を認識し、その認識結果に基づいて、ある仕草をしたりするロボット（本明細書においては、ぬいぐるみ状のものを含む）が製品化されている。
【０００３】
このロボットの制御方法としてロボットのハードウェアに依存するミドルウェア層とハードウェア非依存のアプリケーション層とを組み合わせて、認識結果に基づいて、所定のしぐさをしたりするロボットが開示されている（例えば、特許文献１参照）。
【０００４】
このハードウェアに依存するミドルウェア層とハードウェア非依存のアプリケーション層は、より詳細には、図１で示されるような構成となっている。すなわち、図１の1点鎖線と点線で挟まれた領域で示される認識モジュール１、および、行動モジュール３が、設けられハードウェアからの情報を取得し、さらに、ハードウェアを直接制御するミドルウェア層であり、図中の1点鎖線より上の領域で示される行動選択モジュール２が、アプリケーション層である。
【０００５】
認識モジュール１は、ロボットのハードウェア（各種のセンサなど）から入力されるロボットの外部情報を取得し、取得した具体的な外部情報に基づいて抽象的な外部情報を行動選択モジュール２に供給する。具体的な外部情報とは、例えば、外部情報が画像情報であった場合、自らの位置からみたボールの角度と、ボールまでの距離といったハードウェアにより測定される情報である。これに対して、抽象的な外部情報とは、具体的な外部情報を抽象的にしたもので、例えば、ボールが自らの位置から見て「右側にある」、「左側にある」、または「正面にある」といった情報である。
【０００６】
認識モジュール１は、例えば、上述のように、具体的な外部情報としてボールが撮像された場合、この具体的な外部情報に基づいて、ボールが自らの位置から見て「右側にある」、「正面にある」、または「左側にある」といった、抽象的な外部情報を生成して行動選択モジュール２に供給する。
【０００７】
行動選択モジュール２は、認識モジュール１より供給される抽象的な情報に基づいて、行動を選択し、抽象的なコマンドを行動モジュール３に供給する。すなわち、上述したようにボールが撮像された場合、抽象的な外部情報としてボールが自らの「正面にある」とき、例えば、行動選択モジュール２は、行動モジュール３に対して「ボールを蹴れ」という抽象的なコマンドを供給する。また、抽象的な外部情報としてボールが自らの「右側にある」、または、「左側にある」とき、例えば、行動選択モジュール２は、行動モジュール３に対して「左に移動せよ」、または、「右に移動せよ」といった抽象的なコマンドを供給する。
【０００８】
行動モジュール３は、行動選択モジュール２から供給された抽象的なコマンドに対応して、ロボットの動作機構を制御して、コマンドに応じた動作を実行させる。すなわち、例えば、「ボールを蹴れ」というコマンドを受けた場合、行動モジュール３は、例えば、脚部を制御するアクチュエータを制御して、ボールを蹴る動作を実行させる。また、例えば、「右に移動せよ」、または、「左に移動せよ」というコマンドを受けた場合、自らの位置を所定の距離だけ、右側、または、左側に移動させるように動作機構を制御する。
【０００９】
以上のような処理により、例えば、ロボットは、ボールが見えると自らの右側であるか、左側であるかの情報に基づいて、所定の距離だけ左側に移動したり、または、右側に移動したりするといった動作をすることで、ボールが自らの正面の位置であると判定されるまで繰り返し、最終的に正面であると判定される状態になった場合、すなわち、実際にロボットがボールの正面に移動した場合、ボールを蹴るといった動作を実行することになる。
【特許文献１】特開２００２−１１３６７５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上述の構成では、行動選択モジュール２が行動モジュール３に供給するコマンドそのものが抽象的なものでしかないので、行動モジュール３からロボットの各動作機構の制御も抽象的なコマンドでしかないものとなってしまう。結果として、例えば、上述のようにボールを見たら蹴るという行動をさせる場合、ボールが、例えば、自分の右側、または、左側にあると認識できたとしても、行動モジュール３に供給されるコマンドは抽象的なものであるので、自分の右側にボールがあれば、所定の距離だけ右に移動し、左側にボールがあれば、所定の距離だけ左に移動するのみで、具体的に右や左に移動する距離が指示されないため、ボールが自らの正面にあると判定されるまで、何度か右への移動、または、左への移動を繰り返す必要があり、ボールを見つけてから、ボールを蹴るまでに時間が掛かり過ぎてしまうという課題があった。
【００１１】
本発明はこのような状況に鑑みてなされたものであり、特に、ミドルウェア層とアプリケーション層の構造を残したまま、外部情報に対するロボットの自律動作の応答速度を向上させるようにするものである。
【課題を解決するための手段】
【００１２】
本発明のロボット制御装置は、外部情報を認識する認識手段と、認識手段により認識された外部情報に基づいて、具体的な認識情報と抽象的な認識情報を生成する認識情報生成手段と、認識情報生成手段により生成された抽象的な認識情報に基づいて、抽象的なコマンドを生成する抽象的コマンド生成手段と、抽象的コマンド生成手段により生成された抽象的なコマンドと、認識情報生成手段により生成された具体的な認識情報に基づいて、具体的なコマンドを生成する具体的コマンド生成手段と、具体的コマンド生成手段により生成された具体的なコマンドを実行させるコマンド実行手段とを備えることを特徴とする。
【００１３】
前記外部情報には、音声情報、画像情報、圧力情報、または、温度情報を含ませるようにすることができる。
【００１４】
本発明のロボット制御方法は、外部情報を認識する認識ステップと、認識ステップの処理で認識された外部情報に基づいて、具体的な認識情報と抽象的な認識情報を生成する認識情報生成ステップと、認識情報生成ステップの処理で生成された抽象的な認識情報に基づいて、抽象的なコマンドを生成する抽象的コマンド生成ステップと、抽象的コマンド生成ステップの処理で生成された抽象的なコマンドと、認識情報生成ステップの処理で生成された具体的な認識情報に基づいて、具体的なコマンドを生成する具体的コマンド生成ステップと、具体的コマンド生成ステップの処理で生成された具体的なコマンドを実行させるコマンド実行ステップとを含むことを特徴とする。
【００１５】
本発明の記録媒体のプログラムは、外部情報の認識を制御する認識制御ステップと、認識制御ステップの処理で認識が制御された外部情報に基づいて、具体的な認識情報と抽象的な認識情報を生成する認識情報生成ステップと、認識情報生成ステップの処理で生成された抽象的な認識情報に基づいて、抽象的なコマンドを生成する抽象的コマンド生成ステップと、抽象的コマンド生成ステップの処理で生成された抽象的なコマンドと、認識情報生成ステップの処理で生成された具体的な認識情報に基づいて、具体的なコマンドを生成する具体的コマンド生成ステップと、具体的コマンド生成ステップの処理で生成された具体的なコマンドの実行を制御させるコマンド実行制御ステップとを含むことを特徴とする。
【００１６】
本発明のプログラムは、外部情報の認識を制御する認識制御ステップと、認識制御ステップの処理で認識が制御された外部情報に基づいて、具体的な認識情報と抽象的な認識情報を生成する認識情報生成ステップと、認識情報生成ステップの処理で生成された抽象的な認識情報に基づいて、抽象的なコマンドを生成する抽象的コマンド生成ステップと、抽象的コマンド生成ステップの処理で生成された抽象的なコマンドと、認識情報生成ステップの処理で生成された具体的な認識情報に基づいて、具体的なコマンドを生成する具体的コマンド生成ステップと、具体的コマンド生成ステップの処理で生成された具体的なコマンドの実行を制御させるコマンド実行制御ステップとをコンピュータに実行させることを特徴とする。
【００１７】
本発明のロボット制御装置および方法、並びにプログラムにおいては、外部情報が認識され、認識された外部情報に基づいて、具体的な認識情報と抽象的な認識情報が生成され、生成された抽象的な認識情報に基づいて、抽象的なコマンドが生成され、生成された抽象的なコマンドと、生成された具体的な認識情報に基づいて、具体的なコマンドが生成され、生成された具体的なコマンドが実行させられる。
【００１８】
本発明のロボット制御装置は、独立した装置であっても良いし、ロボット制御を行うブロックであっても良い。
【発明の効果】
【００１９】
本発明によれば、ミドルウェア層とアプリケーション層の構造を残したまま、外部情報に対するロボットの自律動作の応答速度を向上させるようにすることが可能となる。
【発明を実施するための最良の形態】
【００２０】
以下に本発明の実施の形態を説明するが、本明細書に記載の発明と、発明の実施の形態との対応関係を例示すると、次のようになる。この記載は、本明細書に記載されている発明をサポートする実施の形態が本明細書に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
【００２１】
さらに、この記載は、本明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、本明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現、追加される発明の存在を否定するものではない。
【００２２】
即ち、本発明のロボット制御装置は、外部情報を認識する認識手段（例えば、図４の胴体ユニット１２、または、頭部ユニット１４）と、認識手段により認識された外部情報に基づいて、具体的な認識情報と抽象的な認識情報を生成する認識情報生成手段（例えば、図４の認識モジュール５１）と、認識情報生成手段により生成された抽象的な認識情報に基づいて、抽象的なコマンドを生成する抽象的コマンド生成手段（例えば、図４の行動選択モジュール５２）と、抽象的コマンド生成手段により生成された抽象的なコマンドと、認識情報生成手段により生成された具体的な認識情報に基づいて、具体的なコマンドを生成する具体的コマンド生成手段（例えば、図４の認識行動モジュール５３）と、具体的コマンド生成手段により生成された具体的なコマンドを実行させるコマンド実行手段（例えば、図４の行動モジュール５４）とを備えることを特徴とする。
【００２３】
本発明のロボット制御方法は、外部情報を認識する認識ステップ（例えば、図５のフローチャートのステップＳ２）と、認識ステップの処理で認識された外部情報に基づいて、具体的な認識情報と抽象的な認識情報を生成する認識情報生成ステップ（例えば、図５のフローチャートのステップＳ３，Ｓ４）と、認識情報生成ステップの処理で生成された抽象的な認識情報に基づいて、抽象的なコマンドを生成する抽象的コマンド生成ステップ（例えば、図６のフローチャートのステップＳ１３、またはＳ１６）と、抽象的コマンド生成ステップの処理で生成された抽象的なコマンドと、認識情報生成ステップの処理で生成された具体的な認識情報に基づいて、具体的なコマンドを生成する具体的コマンド生成ステップ（例えば、図５のフローチャートのステップＳ２５）と、具体的コマンド生成ステップの処理で生成された具体的なコマンドを実行させるコマンド実行ステップ（例えば、図５のフローチャートのステップＳ２６）とを含むことを特徴とする。
【００２４】
尚、記録媒体、および、プログラムに係る発明については、ロボット制御方法と同様であるので省略する。
【００２５】
図２は、本発明を適用したロボットの一実施の形態の外観構成例を示しており、図３は、その電気的構成例を示している。
【００２６】
本実施の形態では、ロボットは、例えば、犬等の四つ足の動物の形状のものとなっており、胴体部ユニット１２の前後左右に、それぞれ脚部ユニット１３Ａ，１３Ｂ，１３Ｃ，１３Ｄが連結されるとともに、胴体部ユニット１２の前端部と後端部に、それぞれ頭部ユニット１４と尻尾部ユニット１５が連結されることにより構成されている。
【００２７】
尻尾部ユニット１５は、胴体部ユニット１２の上面に設けられたベース部１５Ｂから、２自由度をもって湾曲または揺動自在に引き出されている。
【００２８】
胴体部ユニット１２には、ロボット全体の制御を行うコントローラ２０、ロボットの動力源となるバッテリ２１、並びにバッテリセンサ２２および熱センサ２３からなる内部センサ部２４などが収納されている。
【００２９】
頭部ユニット１４には、「耳」に相当するマイク（マイクロフォン）２５、「目」に相当するＣＣＤ(Charge Coupled Device)カメラ１６、「触覚」に相当するタッチセンサ２７、および「口」に相当するスピーカ２８が、それぞれ所定位置に配設されている他、ＬＥＤ（Light Emitting Diode）２９が、「目」の位置の設けられている。また、頭部ユニット１４には、口の下顎に相当する下顎部１４Ａが１自由度をもって可動に取り付けられており、この下顎部１４Ａが動くことにより、ロボットの口の開閉動作が実現されるようになっている。
【００３０】
脚部ユニット１３Ａ乃至１３Ｄそれぞれの関節部分や、脚部ユニット１３Ａ乃至１３Ｄそれぞれと胴体部ユニット１２の連結部分、頭部ユニット１４と胴体部ユニット１２の連結部分、頭部ユニット１４と下顎部１４Ａの連結部分、並びに尻尾部ユニット１５と胴体部ユニット１２の連結部分などには、図３に示すように、それぞれアクチュエータ１３ＡＡ1乃至１３ＡＡK、１３ＢＡ1乃至１３ＢＡK、１３ＣＡ1乃至１３ＣＡK、１３ＤＡ1乃至１３ＤＡK、１４Ａ1乃至１４ＡL、１５Ａ1、１５Ａ2が配設されている。
【００３１】
頭部ユニット１４におけるマイク２５は、ユーザからの発話を含む周囲の音声（音）を集音し、得られた音声信号を、コントローラ２０に送出する。ＣＣＤカメラ２６は、周囲の状況を撮像し、得られた画像信号を、コントローラ２０に送出する。
【００３２】
タッチセンサ２７は、例えば、頭部ユニット１４の上部に設けられており、ユーザからの「なでる」や「たたく」といった物理的な働きかけにより受けた圧力を検出し、その検出結果を圧力検出信号としてコントローラ２０に送出する。
【００３３】
胴体部ユニット１２におけるバッテリセンサ２２は、バッテリ２１の残量を検出し、その検出結果を、バッテリ残量検出信号としてコントローラ２０に送出する。熱センサ２３は、ロボット内部の熱を検出し、その検出結果を、熱検出信号としてコントローラ２０に送出する。
【００３４】
コントローラ２０は、ＣＰＵ(Central Processing Unit)２０Ａやメモリ２０Ｂ等を内蔵しており、ＣＰＵ２０Ａにおいて、メモリ２０Ｂに記憶された制御プログラムが実行されることにより、各種の処理を行う。
【００３５】
即ち、コントローラ２０は、マイク２５や、ＣＣＤカメラ２６、タッチセンサ２７、バッテリセンサ２２、熱センサ２３から与えられる音声信号、画像信号、圧力検出信号、バッテリ残量検出信号、熱検出信号に基づいて、周囲の状況や、ユーザからの指令、ユーザからの働きかけなどの有無を判断する。
【００３６】
さらに、コントローラ２０は、この判断結果等に基づいて、続く行動を決定し、その決定結果に基づいて、アクチュエータ１３ＡＡ1乃至１３ＡＡK、１３ＢＡ1乃至１３ＢＡK、１３ＣＡ1乃至１３ＣＡK、１３ＤＡ1乃至１３ＤＡK、１４Ａ1乃至１４ＡL、１５Ａ1、１５Ａ2のうちの必要なものを駆動させる。これにより、頭部ユニット１４を上下左右に振らせたり、下顎部１４Ａを開閉させる。さらには、尻尾部ユニット１５を動かせたり、各脚部ユニット１３Ａ乃至１３Ｄを駆動して、ロボットを歩行させるなどの行動を行わせる。
【００３７】
また、コントローラ２０は、必要に応じて、合成音、あるいは後述するようなエコーバック音声を生成し、スピーカ２８に供給して出力させたり、ロボットの「目」の位置に設けられたＬＥＤ２９を点灯、消灯または点滅させる。
【００３８】
以上のようにして、ロボットは、周囲の状況等に基づいて自律的に行動をとるようになっている。
【００３９】
次に、図５の機能ブロック図を参照して、コントローラ２０の機能について説明する。
【００４０】
コントローラ２０の機能は、ミドルウェア層（図４の点線と１点鎖線の間の領域）とアプリケーション層とに大別することができる。ミドルウェア層は、脚部ユニット１３、頭部ユニット１４、および、尻尾ユニット１５といったハードウェア（図４の点線より下の領域）から直接情報を取得して、アプリケーション層のソフトウェアに取得した情報を抽象化して供給し、アプリケーション層の機能より供給される抽象的なコマンドに基づいて動作を制御する、ハードウェアに依存する。アプリケーション層は、ミドルウェアからの情報に基づいて、行動内容の選択を行い、選択結果となるコマンドをミドルウェア層に供給し、実際にロボットを動作させるものであり、ハードウェアには実質的に依存しないものである。
【００４１】
認識モジュール５１は、頭部ユニット１４のマイク２５からの音声信号、ＣＣＤセンサ２６からの画像信号、および、タッチセンサ２７からの圧力検出信号といった具体的な外部情報を取得し、音声認識部５１ａが音声信号を、画像認識部５１ｂが画像信号を、圧力認識部５１ｃが圧力信号を、バッテリ状態認識部５１ｄがバッテリ検出信号を、そして、熱認識部５１ｅが熱検出信号を、それぞれ認識した上で認識した情報に基づいて、抽象的な認識情報を生成して行動選択モジュール５２に供給する。ここで、抽象的な認識情報とは、例えば、「音がした」、「ボールが見えた」、「人が見えた」、「叩かれた」、「バッテリが減った」、または、「熱くなった」といった認識情報である。尚、ここで、バッテリ検出信号、および、熱検出信号は、ロボットの内部情報であるが、ここでいう外部情報は、ロボットの自律行動を決定する要素を示すものであるので、本明細書においては、バッテリ検出信号、および、熱検出信号も外部情報として扱うものとする。
【００４２】
また、認識モジュール５１は、取得した外部情報に基づいて、具体的な認識情報を認識行動モジュール５３に供給する。ここで、具体的な認識情報とは、抽象的な認識情報に対応する情報であって、例えば、「ボールが見えた」という抽象的な認識情報に対応する具体的な認識情報としては、自らの位置からみたボールの存在する角度とボールまでの距離の情報、「叩かれた」という抽象的な認識情報に対応する具体的な認識情報としては、そのときの圧力の情報、「バッテリが減った」という抽象的な認識情報に対応する具体的な認識情報としては、そのときのバッテリの充電容量の情報、「熱くなった」という抽象的な認識情報に対応する具体的な認識情報としては、そのときの温度の情報などである。
【００４３】
行動選択モジュール５２は、認識モジュール５１より供給された抽象的な認識情報に基づいて、複数の予め設定された行動から、抽象的な認識情報に対応する行動を選択して抽象的なコマンドを認識行動モジュール５３に供給する。例えば、抽象的な認識情報が「ボールが見えた」と言うものであった場合、行動選択モジュール５２は、設定された行動として「ボールを蹴れ」という抽象的なコマンドを認識行動モジュール５３に供給する。また、例えば、抽象的な情報が「人が見えた」と言うものであった場合、行動選択モジュール５２は、設定された行動として「人にあいさつをせよ」という抽象的なコマンドを認識行動モジュール５３に供給する。
【００４４】
認識行動モジュール５３は、行動選択モジュール５２より供給された抽象的なコマンドと、認識モジュール５１より供給された具体的な認識情報に基づいて、具体的なコマンドを生成して、行動モジュール５４に供給する。より詳細には、例えば、「ボールを蹴れ」という抽象的なコマンドが、行動選択モジュール５２より供給された場合、認識モジュール５１より供給された具体的な認識情報が、自らの位置からのボールの角度が角度Aで、かつ、距離Ｂであるとき、認識行動モジュール５３は、「自らの位置から角度Aで距離Ｂまで移動し、ボールを蹴れ」という、ボールを蹴るために頭部ユニット１４、脚部ユニット１３、および、尻尾ユニット１５の、それぞれのアクチュエータ１３ＡＡ1乃至１３ＡＡK、１３ＢＡ1乃至１３ＢＡK、１３ＣＡ1乃至１３ＣＡK、１３ＤＡ1乃至１３ＤＡK、１４Ａ1乃至１４ＡL、１５Ａ1、１５Ａ2を制御する上で必要な具体的なコマンドを生成し、行動モジュール５４に供給する。
【００４５】
行動モジュール５４は、認識行動モジュール５３より供給された具体的なコマンドに基づいて、頭部ユニット１４、脚部ユニット１３、および、尻尾ユニット１５の、それぞれのアクチュエータ１３ＡＡ1乃至１３ＡＡK、１３ＢＡ1乃至１３ＢＡK、１３ＣＡ1乃至１３ＣＡK、１３ＤＡ1乃至１３ＤＡK、１４Ａ1乃至１４ＡL、１５Ａ1、１５Ａ2のうちのコマンドに対応する必要なものを駆動させる。すなわち、今の場合、行動モジュール５４は、アクチュエータ１３ＡＡ1乃至１３ＡＡK、１３ＢＡ1乃至１３ＢＡK、１３ＣＡ1乃至１３ＣＡK、１３ＤＡ1乃至１３ＤＡK、１４Ａ1乃至１４ＡL、１５Ａ1、１５Ａ2を制御して、ロボットが自らの位置から角度Aで距離Ｂまで移動するように駆動させ、さらに、その位置に存在するボールを蹴るように駆動させる。
【００４６】
ところで、上述したように、コントローラ２０は、ハードウェアの依存性が比較的低いソフトウェア層であるアプリケーション層と、ハードウェアの依存性が高いソフトウェア層すなわちミドルウェア層とを独立したことにより、以下のような効果を奏している。
【００４７】
すなわち、第１の効果は、１つの行動選択モジュール５２で様々なハードウェア構成のロボットに対応できるようにさせることが可能となる。（ユーザは、自分が所有する（あるいは育てた）行動選択モジュール５２を他のロボットに移植させたりでき、行動選択モジュール５２のみを流通・販売することができる。）
【００４８】
第２の効果は、ある１つのハードウェア構成を持つロボットで、さまざまな認識モジュール５１、認識行動モジュール５３、および行動モジュール５４を作成することができる。結果として、認識モジュール５１、認識行動モジュール５３、および行動モジュール５４は、再利用し易くなるので、行動選択モジュール５２の開発効率を向上させることが可能となる。
【００４９】
第３の効果は、同一のハードウェア構成を持つロボットで、同一の行動選択モジュール５２であっても、認識モジュール５１、認識行動モジュール５３、および行動モジュール５４を変更することで、実際の表現力や制御性の向上を図ることが可能となる。
【００５０】
第４の効果は、認識モジュール５１、行動選択モジュール５２、認識行動モジュール５３、または行動モジュール５４のプログラムを半導体メモリなどの記録媒体などからロボット本体にダウンロードすることによって、簡単に入れ替えることが可能となる。
【００５１】
第５の効果は、行動選択モジュール５２と、認識モジュール５１、認識行動モジュール５３、または行動モジュール５４とが独立しているので、ソフトウェア開発ベンダは、得意な領域の機能開発に集中することができる。例えば、制御系を専門とするベンダはミドルウェアの開発に注力することにより、色々なアプリケーションを利用することができる。
【００５２】
次に、図５のフローチャートを参照して、認識モジュール５１の認識処理について説明する。
【００５３】
ステップＳ１において、認識モジュール５１は、頭部ユニット１４のマイク２５や、ＣＣＤカメラ２６、タッチセンサ２７、バッテリセンサ２２、および熱センサ２３よりそれぞれ供給される音声信号、画像信号、圧力検出信号、バッテリ検出信号、および、熱検出信号を検出する。
【００５４】
ステップＳ２において、認識モジュール５１の音声認識部５１ａは、検出した音声信号に基づいて、音声を認識し（音声によるコマンドの認識などを認識し）、画像認識部５１ｂは、画像信号に基づいて、画像を認識し（画像に写るボールや人といった被写体の認識と、その被写体の位置までの方向や距離などを認識し）、さらに、圧力認識部５１ｃは、圧力検出信号に基づいて、圧力を認識し、（触られたか、撫でられたか、叩かれたかなどを認識する）、バッテリ状態認識部５１ｄは、バッテリ検出信号に基づいて、バッテリの残量を認識し、熱認識部５１ｅは、熱検出信号に基づいて温度から内部の温度状態を認識する。
【００５５】
ステップＳ３において、認識モジュール５１は、音声認識部５１ａ、画像認識部５１ｂ、圧力認識部５１ｃ、バッテリ状態認識部５１ｄ、および熱認識部５１ｅにより認識された認識情報に基づいて、具体的な認識情報を生成し、認識行動モジュール５３に供給する。すなわち、例えば、画像信号に基づいてボールが撮像されていた場合、そのボールまでの角度、および、距離といった具体的な認識情報を認識行動モジュール５３に供給する。尚、このとき認識モジュール５１は、音声信号、画像信号、圧力検出信号、バッテリ検出信号、および、熱検出信号も合わせて認識行動モジュール５３に供給する。
【００５６】
ステップＳ４において、認識モジュール５１は、音声認識部５１ａ、画像認識部５１ｂ、圧力認識部５１ｃ、バッテリ状態認識部５１ｄ、および、熱認識部５１ｅにより認識された認識情報に基づいて、抽象的な認識情報を生成し、行動選択モジュール５２に供給する。すなわち、認識モジュール５１は、例えば、画像信号に基づいてボールが撮像されていた場合、「ボールが見えた」、または、人が撮像されていた場合、「人が見えた」といった抽象的な認識情報を生成し、ステップＳ５において、その抽象的な認識情報を行動選択モジュール５２に供給し、その処理が繰り返される。
【００５７】
以上の処理により、認識モジュール５１は、外部情報である音声信号、画像信号、圧力検出信号、バッテリ検出信号、および、熱検出信号に基づいて、抽象的な認識情報と具体的な認識情報を発生する。抽象的な認識情報は、「ボールが見えた」、「人が見えた」というものに限られるものではなく、それ以外の抽象的な認識情報であってもよく、例えば、音声認識として「音がした」といったものや、圧力認識として「撫でられた」といったものであってもよい。
【００５８】
次に、図６のフローチャートを参照して、行動選択モジュール５２による行動選択処理について説明する。
【００５９】
ステップＳ１１において、行動選択モジュール５２は、認識モジュール５１より供給される抽象的な認識情報が、「ボールが見えた」であるか否かを判定し、例えば、「ボールが見えた」という抽象的な認識情報が供給されたと判定された場合、その処理は、ステップＳ１２に進む。
【００６０】
ステップＳ１２において、行動選択モジュール５２は、今現在ボールを蹴る処理が実行中であるか否かを認識行動モジュール５３に対して問い合わせて、ボールを蹴る処理が実行されていないと判定された場合、その処理は、ステップＳ１３に進む。
【００６１】
ステップＳ１３において、行動選択モジュール５２は、「ボールを蹴れ」という抽象的なコマンドを生成し、認識行動モジュール５３に供給し、その処理は、ステップＳ１１に戻る。
【００６２】
ステップＳ１１において、供給された抽象的な認識情報が、「ボールが見えた」では無かった場合、または、ステップＳ１２において、ボールを蹴る処理が実行中であると判定された場合、その処理は、ステップＳ１４に進む。
【００６３】
ステップＳ１４において、行動選択モジュール５２は、認識モジュール５１より供給される抽象的な認識情報が、「人が見えた」であるか否かを判定し、例えば、「人が見えた」という抽象的な認識情報が供給されたと判定された場合、その処理は、ステップＳ１５に進む。
【００６４】
ステップＳ１５において、行動選択モジュール５２は、今現在、あいさつをする処理が実行中であるか否かを認識行動モジュール５３に対して問い合わせて、あいさつをする処理が実行されていないと判定された場合、その処理は、ステップＳ１６に進む。
【００６５】
ステップＳ１６において、行動選択モジュール５２は、「あいさつをしろ」という抽象的なコマンドを生成し、認識行動モジュール５３に供給し、その処理は、ステップＳ１１に戻る。
【００６６】
ステップＳ１４において、供給された抽象的な認識情報が、「人が見えた」では無かった場合、または、ステップＳ１５において、あいさつをする処理が実行中であると判定された場合、その処理は、ステップＳ１１に戻り、それ以降の処理が繰り返される。
【００６７】
すなわち、以上の処理により、行動選択モジュール５２は、認識モジュール５１より供給されてくる抽象的な認識情報に基づいて（「ボールが見えた」、または、「人が見えた」かのいずれかであるかに基づいて）、「ボールを蹴る」、または、「あいさつをする」という行動を選択し、選択した行動に対応する抽象的なコマンドを生成して、認識行動モジュール５３に供給する。尚、以上においては、選択できる行動として「ボールを蹴る」、または、「あいさつをする」の２種類であったが、行動の種類は、これに限るものではなくこれ以外のものであってもいいことは言うまでもない。
【００６８】
次に、図７のフローチャートを参照して、ボールを蹴る処理について説明する。
【００６９】
ステップＳ２１において、認識行動モジュール５３は、行動選択モジュール５２から「ボールを蹴れ」というコマンドの供給を受けたか否かを判定し、行動選択モジュール５２から「ボールを蹴れ」というコマンドの供給を受けたと判定されるまで、その処理を繰り返す。そして、例えば、図６のフローチャートを参照して説明したステップＳ１３の処理により、行動選択モジュール５２からから「ボールを蹴れ」というコマンドの供給を受けたと判定された場合、その処理は、ステップＳ２２に進む。
【００７０】
ステップＳ２２において、認識行動モジュール５３は、ステップＳ２２において、認識モジュール５１より供給される画像信号に基づいて、ボールの位置を認識する。ステップＳ２３において、認識行動モジュール５３は、ボールは自らの位置で蹴ることが可能な範囲に存在するか否かを判定する。
【００７１】
例えば、ロボットとボールが図８で示されるような位置関係であった場合について説明する。すなわち、図８においては、Ｄがロボットであり、Ｂ１がボールである。認識行動モジュール５３は、以下のようにボールは蹴ることができる範囲外であるか否かを判定する。
【００７２】
ここで、図８において、点線で示される領域は、ロボットＤの視野Ｚ１であり、領域Ｚ’１は、ロボットＤがボールＢ１を蹴ることができる範囲であることを示している。すなわち、認識行動モジュール５３は、領域Ｚ’１の中にボールＢ１が認識されているとき、ボールは蹴ることができる範囲であると判定する。一方、図８で示されるように、ボールＢ１が、領域Ｚ’１の範囲外である場合、ボールは蹴ることができる範囲外であると判定されることになる。
【００７３】
例えば、ステップＳ２３において、図８で示されるように、視野Ｚ１内において、領域Ｚ’１内にボールＢ１が捕らえられていないのでボールは蹴ることが可能な範囲外にあると判定され、その処理は、ステップＳ２４に進む。
【００７４】
ステップＳ２４において、認識行動モジュール５３は、認識モジュール５１より供給された具体的な認識情報に基づいて、ボールを蹴ることができる位置までの距離と角度の情報を計算する。すなわち、認識モジュール５１より供給されるボールＢ１の位置と方向の情報から、自らがどの角度にどれだけ移動する必要があるのかを計算する。図８の場合、ボールの中心位置であるＢ１Ｃの情報と、自らの位置からの距離が、具体的な認識情報として取得されているので、その情報に基づいて、図８で示される自らの移動量Ｍの角度と距離を計算する。
【００７５】
ステップＳ２５において、認識行動モジュール５３は、移動量Ｍに相当する角度と距離の情報と共に行動モジュール５４に対して、ボールを蹴ることができる位置までの移動を指令する。
【００７６】
ステップＳ２６において、行動モジュール５４は、脚部ユニット１３の各アクチュエータ１３ＡＡ1乃至１３ＡＡK、１３ＢＡ1乃至１３ＢＡK、１３ＣＡ1乃至１３ＣＡK、１３ＤＡ1乃至１３ＤＡKを制御して、ボールを蹴ることができる位置までロボットを移動させ、その処理は、ステップＳ２２に戻る。
【００７７】
ステップＳ２４乃至Ｓ２６の処理により、ボールを蹴ることができる位置に移動していることになるので、その処理により、ボールの位置が変化していない限り、または、脚部ユニット１３の各アクチュエータ１３ＡＡ1乃至１３ＡＡK、１３ＢＡ1乃至１３ＢＡK、１３ＣＡ1乃至１３ＣＡK、１３ＤＡ1乃至１３ＤＡKに動作不良や、環境の変化がない限り、ボールを蹴ることができる位置に移動している。従って、ステップＳ２４乃至Ｓ２６の処理後は、ステップＳ２３においては、ボールを蹴ることが可能な範囲外ではないと判定されることになる。ただし、ステップＳ２４乃至Ｓ２６においても、ボールを蹴ることができる範囲外であると判定された場合、再び、ステップＳ２４乃至Ｓ２６の処理が繰り返される。
【００７８】
ステップＳ２７において、認識行動モジュール５３は、ボールは蹴ることが可能な範囲内であるか否かを判定する。今の場合、ロボットＤは、移動量ＭによりロボットＤ’の位置に存在する。このとき、ロボットＤ’は、実線で示される視野Ｚ２となるこのとき、ボールを蹴ることができる領域は、実線で示されるＺ２’となる。図８においては、この領域Ｚ２’内にボールＢ１が存在するので、ステップＳ２７においては、ボールは蹴ることが可能な範囲内であると判定される。
【００７９】
ステップＳ２８において、認識行動モジュール５３は、行動モジュール５４にボールを蹴るように指令する。尚、今の場合、ボールは右足で蹴るものとする。
【００８０】
ステップＳ２９において、行動モジュール５４は、脚部ユニット１３の各アクチュエータ１３ＡＡ1乃至１３ＡＡK、１３ＢＡ1乃至１３ＢＡK、１３ＣＡ1乃至１３ＣＡK、１３ＤＡ1乃至１３ＤＡKを制御して、右足でボールを蹴らせ、その処理は終了する。
【００８１】
ステップＳ２７において、ボールは蹴ることが可能な範囲内ではないと判定された場合、すなわち、ステップＳ２３において、ボールを蹴ることが可能な範囲外ではないと判定されて、かつ、ボールは蹴ることが可能な範囲内ではないと判定されることにより、ボールＢ１が視野Ｚ２外にあるものとみなし、その処理は、ステップＳ３０に進む。尚、ステップＳ２３においては、ボールＢ１は、視野外に存在する場合、ボールＢ１は蹴ることが可能な範囲外ではないと判定するものとする。すなわち、ボールＢ１が蹴ることが可能な範囲内であるか否か、または、範囲外であるか否かは、ボールＢ１が視野の領域内に存在する場合に判定されるものであって、ボールが視野外にある場合、判定はいずれもＮｏであるものとする。
【００８２】
ステップＳ３０において、認識行動モジュール５３は、ボールＢ１が見つけられず、ボールＢ１を蹴ることができないことを示す動作をするように、行動モジュール５４に指令する。
【００８３】
ステップＳ３１において、行動モジュール５４は、アクチュエータ１３ＡＡ1乃至１３ＡＡK、１３ＢＡ1乃至１３ＢＡK、１３ＣＡ1乃至１３ＣＡK、１３ＤＡ1乃至１３ＤＡK、１４Ａ1乃至１４ＡL、１５Ａ1、１５Ａ2を制御して、ボールＢ１が見つけられず、ボールＢ１を蹴ることができないことを示す動作をさせる。すなわち、例えば、行動モジュール５４は、頭部ユニット１４のアクチュエータ１４Ａ1乃至１４ＡLを制御して、首を左右に振っているような動作をさせる。
【００８４】
以上の処理により、ロボットは、ボールが見えたとき、ボールを蹴るという行動を行わせることができる。結果として、ユーザにはあたかも自律的にロボットがボールを見て、蹴っているように見せることができる。さらに、認識モジュール５１から供給される具体的な認識情報であるボールへの角度と距離に基づいて、自らの位置を移動させてからボールを蹴ることができるので、蹴ることができる位置になるまで所定の距離だけ移動してはボールの位置を確認し、ボールが自らで蹴ることができる領域内となるまで、同様の処理を繰り返す必要がなくなり、ボールが見えるという外部の環境に対して、迅速に、そして自律的にボールを蹴るという行動を実行させることが可能となる。
【００８５】
次に、図９のフローチャートを参照して、あいさつをする処理について説明する。
【００８６】
すなわち、ステップＳ４１において、認識行動モジュール５３は、行動選択モジュール５２から「あいさつしろ」というコマンドの供給を受けたか否かを判定し、行動選択モジュール５２から「あいさつしろ」というコマンドの供給を受けたと判定されるまで、その処理を繰り返す。そして、例えば、図６のフローチャートを参照して説明したステップＳ１６の処理により、行動選択モジュール５２から「あいさつしろ」というコマンドの供給を受けたと判定された場合、その処理は、ステップＳ４２に進む。
【００８７】
ステップＳ４２において、認識行動モジュール５３は、ステップＳ４２において、認識モジュール５１より供給される画像信号に基づいて、人の位置を認識する。ステップＳ４３において、認識行動モジュール５３は、人が、あいさつすることが可能な範囲に存在するか否かを判定する。尚、移動については、図８を参照して説明したようにボールに対して移動する場合と同様であるので、その説明は省略する。
【００８８】
例えば、ステップＳ４３において、あいさつすることが可能な範囲外にあると判定された場合、その処理は、ステップＳ４４に進む。
【００８９】
ステップＳ４４において、認識行動モジュール５３は、認識モジュール５１より供給された具体的な認識情報に基づいて、人にあいさつすることができる位置までの距離と角度の情報を計算する。
【００９０】
ステップＳ４５において、認識行動モジュール５３は、人にあいさつすることができる位置までの移動を指令する。
【００９１】
ステップＳ４６において、行動モジュール５４は、脚部ユニット１３の、それぞれのアクチュエータ１３ＡＡ1乃至１３ＡＡK、１３ＢＡ1乃至１３ＢＡK、１３ＣＡ1乃至１３ＣＡK、１３ＤＡ1乃至１３ＤＡKを制御して、人にあいさつすることができる位置までロボットを移動させ、その処理は、ステップＳ４２に戻る。
【００９２】
ステップＳ４３においては、ボールを蹴ることが可能な範囲外ではないと判定された場合、その処理は、ステップＳ４７に進む。
【００９３】
ステップＳ４７において、認識行動モジュール５３は、人にあいさつをすることが可能な範囲内であるか否かを判定し、人にあいさつすることが可能な範囲内であると判定した場合、その処理は、ステップＳ４８に進む。
【００９４】
ステップＳ４８において、認識行動モジュール５３は、行動モジュール５４に人にあいさつするように指令する。
【００９５】
ステップＳ４９において、行動モジュール５４は、頭部ユニット１４の各アクチュエータ１４Ａ1乃至１４ＡLを制御して、首を縦に振るなどしてあいさつしているような行動を取らせ、その処理は終了する。
【００９６】
ステップＳ４７において、人はあいさつをすることが可能な範囲内ではないと判定された場合、その処理は、ステップＳ５０に進む。尚、ステップＳ４３においては、人は、視野外に存在する場合、人にあいさつすることが可能な範囲外ではないと判定するものとする。すなわち、人があいさつすることができる範囲内であるか否か、または、範囲外であるか否かは、人が視野の領域内に存在する場合に判定されるものであって、人が視野外にある場合、判定はいずれもＮｏであるものとする。
【００９７】
ステップＳ５０において、認識行動モジュール５３は、人が見つけられず、人にあいさつすることができないことを示す動作をするように、行動モジュール５４に指令する。
【００９８】
ステップＳ５１において、行動モジュール５４は、アクチュエータ１３ＡＡ1乃至１３ＡＡK、１３ＢＡ1乃至１３ＢＡK、１３ＣＡ1乃至１３ＣＡK、１３ＤＡ1乃至１３ＤＡK、１４Ａ1乃至１４ＡL、１５Ａ1、１５Ａ2を制御して、人が見つけられず、人にあいさつすることができないことを示す動作をさせる。すなわち、例えば、行動モジュール５４は、頭部ユニット１４のアクチュエータ１４Ａ1乃至１４ＡLを制御して、首を左右に振っているような動作をさせる。
【００９９】
以上の処理により、ロボットは、人が見えたとき、あいさつするという行動をとるため、ユーザにはあたかも自律的にロボットがあいさつしているように見せることができる。さらに、認識モジュール５１から供給される具体的な認識情報である人への角度と距離に基づいて、自らの位置を移動させてから人にあいさつすることができるので、人にあいさつをすることができる位置になるまで所定の距離だけ移動しては人の位置を確認する処理を人があいさつできる範囲に存在すると判定されるまで繰り返す必要がなくなるため、人が見えるという外部の環境に対して、迅速に自立的な行動である、あいさつをすると言う行動を実行することが可能となる。
【０１００】
以上によれば、ボールが見えたり、または、人が見えたりといった外部環境の変化に応じて、行動を変化させることができるので、ユーザには、自律的に動作しているように見せることが可能となり、さらに、自律動作を行う際に必要な動作、例えば、ボールや人との位置を具体的な認識情報に基づいて行うことができるため、迅速に自立的な動作を行うことが可能となる。
【０１０１】
さらに、認証モジュール５１は、具体的な認識情報を認識行動モジュール５３に供給することで、より具体的なコマンドを行動モジュール５４に供給可能となるため、ロボットの動作を迅速に行わせることができると共に、認証モジュール５１からの抽象的な認識情報をより抽象的な認識情報にすることができ、上位層であるアプリケーション層の行動選択モジュール５２の処理負荷を軽減させることが可能となる。すなわち、例えば、従来においては、具体的な認識情報を処理に反映させていないため、ボールを見た場合、ボールを蹴ることができるように自らを移動させる必要があり、そのためにボールの位置を示す情報を含む、「ボールは自らの位置の右側である」、「ボールは自らの位置の左側である」または、「ボールは自らの正面である」といった方向の情報を含ませる分だけ、認識情報は、やや具体的である必要があり、その分、行動選択モジュール５２の判定処理が増える分だけ、負荷が高いと言える。
【０１０２】
しかしながら、本願においては、具体的な認識情報を下位層であるミドルウェア層の認識モジュール５１、認識行動モジュール５３、および、行動モジュール５４で処理することができる構成となっているので、ソフトウェア層である上位層とミドルウェア層である下位層とした構成となっていることにより生じる効果を維持しつつ、上位層である行動選択モジュール５２は、より抽象的な認識情報をコマンドを処理するだけで済むので、負荷が軽減される。結果として、行動選択モジュール５２は、処理に余裕が生じるため、より高度な処理を行うようにさせることも可能となり、ロボット自体が複雑な動作を自律的に行うことも可能となる。
【０１０３】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行させることが可能な、例えば汎用のパーソナルコンピュータなどに記録媒体からインストールされる。
【０１０４】
図１０は、図４のコントローラ２０の電気的な内部構成をソフトウェアにより実現する場合のパーソナルコンピュータの一実施の形態の構成を示している。パーソナルコンピュータのCPU１０１は、パーソナルコンピュータの全体の動作を制御する。また、CPU１０１は、バス１０４および入出力インタフェース１０５を介してユーザからキーボードやマウスなどからなる入力部１０６から指令が入力されると、それに対応してROM(Read Only Memory)１０２に格納されているプログラムを実行する。あるいはまた、CPU１０１は、ドライブ１１０に接続された磁気ディスク１２１、光ディスク１２２、光磁気ディスク１２３、または半導体メモリ１２４から読み出され、記憶部１０８にインストールされたプログラムを、RAM(Random Access Memory) １０３にロードして実行する。これにより、上述した図４のコントローラ２０の機能が、ソフトウェアにより実現されている。さらに、CPU１０１は、通信部１０９を制御して、外部と通信し、データの授受を実行する。
【０１０５】
プログラムが記録されている記録媒体は、図１０に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク１２１（フレキシブルディスクを含む）、光ディスク１２２（CD-ROM(Compact Disc-Read Only Memory)，DVD（Digital Versatile Disk）を含む）、光磁気ディスク１２３（MD（Mini-Disc）を含む）、もしくは半導体メモリ１２４などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM１０２や、記憶部１０８に含まれるハードディスクなどで構成される。
【０１０６】
尚、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理は、もちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。
【図面の簡単な説明】
【０１０７】
【図１】従来のロボットの機能を説明する図である。
【図２】本発明を適用したロボットの一実施の形態の外観構成例を示す斜視図である。
【図３】図２のロボットの内部構成例を示すブロック図である。
【図４】図３のコントローラの機能を説明する機能ブロック図である。
【図５】認識処理を説明するフローチャートである。
【図６】行動選択処理を説明するフローチャートである。
【図７】ボールを蹴る処理を説明するフローチャートである。
【図８】ボールを蹴る処理を説明する図である。
【図９】あいさつをする処理を説明するフローチャートである。
【図１０】記録媒体を説明する図である。
【符号の説明】
【０１０８】
１３，１３Ａ乃至１３Ｄ  脚部ユニット，  １４  頭部ユニット，  １５  尻尾部ユニット，  ２０  コントローラ，  ２２  バッテリセンサ，  ２３  熱センサ，  ２４  内部センサ，  ２５  マイク，  ２６  ＣＣＤ，  ２７  タッチセンサ，  ２８  スピーカ，  ２９  ＬＥＤ，  ５１  認識モジュール，  ５２  行動選択モジュール，  ５３  認識行動モジュール，  ５４  行動モジュール
【図１】
2005074594.tif 000003
【図２】
2005074594.tif 000004
【図３】
2005074594.tif 000005
【図４】
2005074594.tif 000006
【図５】
2005074594.tif 000007
【図６】
2005074594.tif 000008
【図７】
2005074594.tif 000009
【図８】
2005074594.tif 000010
【図９】
2005074594.tif 000011
【図１０】
2005074594.tif 000012