(57)【要約】      （修正有）【課題】オペレータがロボットの環境に適した行動情報を適切に選択することができる制御システムを提供する。【解決手段】ロボット制御システム１０はコミュニケ−ショロボット１２および第１コンピュータ１４を含む。第１コンピュータ１４には、ロボット１２を遠隔制御するためのプログラムが記憶され、当該プログラムが起動されると、ロボット１２を制御するための操作画面が表示装置１４ａに表示される。操作画面では、ロボット１２から送信される環境情報（人間の有無、人間の数、人間との距離、人間の接触、周囲の音など）に基づいて、次にロボット１２が実行すべきコミュニケーション行動についての行動情報（コマンド）を含む行動カテゴリが表示領域の先頭に来るように、その表示が変化される。【選択図】図１
2007160427.tif 000002
【特許請求の範囲】
【請求項１】
オペレータの指示に従って制御コマンドをロボットに送信して、当該ロボットを遠隔操作するロボット制御システムであって、
ロボットが存在する環境情報を検出する環境情報検出手段、および
前記環境情報検出手段によって検出された環境情報に基づいて、前記ロボットが次に実行すべき行動についての制御コマンドを選択可能に表示する表示制御手段を備える、ロボット制御システム。
【請求項２】
前記表示制御手段によって表示された制御コマンドが選択されたか否かを判断する選択判断手段、および
前記選択判断手段によって選択されたことが判断された前記制御コマンドを前記ロボットに送信する制御コマンド送信手段をさらに備える、請求項１記載のロボット制御システム。
【請求項３】
前記選択判断手段によって前記制御コマンドが選択されたことが判断されたとき、当該制御コマンドを前記ロボットに送信するか否かを判断する送信判断手段、
前記送信判断手段によって前記ロボットに前記制御コマンドを送信することを判断したとき、前記ロボットが割り込み動作の状態であるかどうかを判断するロボット状態判断手段、および
前記ロボット状態判断手段によって前記ロボットの状態が割り込み動作の状態あることが判断されたとき、前記選択判断手段によって選択されたことが判断された前記制御コマンドを一時記憶する一時記憶手段を備え、
前記制御コマンド送信手段は、前記ロボット状態判断手段によって前記ロボットの状態が割り込み動作の状態でないことが判断されたとき、前記選択判断手段によって選択されたことが判断された前記制御コマンドを前記ロボットに送信する、請求項２記載のロボット制御システム。
【請求項４】
前記環境情報は、少なくとも前記ロボットの周囲に存在する人間の数を含む、請求項１ないし３のいずれかに記載のロボット制御システム。
【請求項５】
前記ロボットは、身体動作および音声の少なくとも一方を用いて人間との間でコミュニケーション行動を実行するコミュニケーションロボットを含む、請求項１ないし４のいずれかに記載のロボット制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はロボット制御システムに関し、特にたとえば、オペレータの指示に従って制御コマンドをロボットに送信して、当該ロボットを遠隔操作する、ロボット制御システムに関する。
【背景技術】
【０００２】
背景技術のロボット制御システムの一例が特許文献１に開示される。この特許文献１によれば、パーソナルコンピュータでは、ＰＣ用遠隔操作ソフトが起動されると、モニタにコントロールパネルが表示される。ユーザは、コントロールパネルを用いてロボットに行わせるべき各種動作を指定すると、対応するコマンドがロボットに送信される。ロボットは、パーソナルコンピュータからのコマンドを受信すると、当該コマンドに対応する動作を発現する。このようにして、ロボットが遠隔操作される。
【特許文献１】特開２００３−１３６４５５号
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、この背景技術では、コントロールパネルに設けられた所望のＧＵＩを選択したり、モーション選択メニューから所望のモーションを選択したりするだけなので、ロボットが存在する場所（空間）の状況（環境）の動的な変化に対応することができない。
【０００４】
それゆえに、この発明の主たる目的は、新規な、ロボット制御システムを提供することである。
【０００５】
この発明の他の目的は、環境に適した行動を実行させることができる、ロボット制御システムを提供することである。
【課題を解決するための手段】
【０００６】
請求項１の発明は、オペレータの指示に従って制御コマンドをロボットに送信して、当該ロボットを遠隔操作するロボット制御システムであって、ロボットが存在する環境情報を検出する環境情報検出手段、および環境情報検出手段によって検出された環境情報に基づいて、ロボットが次に実行すべき行動についての制御コマンドを選択可能に表示する表示制御手段を備える、ロボット制御システムである。
【０００７】
請求項１の発明では、ロボット制御システム（１０：実施例で相当する参照符号。以下、同じ。）は、オペレータの指示に従って制御コマンドをロボット（１２）に送信し、当該ロボットを遠隔操作する。環境情報検出手段（１４，ＳＳ１３）は、ロボットが存在する環境情報を検出する。表示制御手段（１４，Ｓ１５）は、ロボットが次に実行すべき行動についての制御コマンドを選択可能に表示する。
【０００８】
請求項１の発明によれば、ロボットが存在する環境情報に応じて次に実行すべき行動についての制御コマンドを選択可能に表示させるので、適切な行動を実行させることができる。
【０００９】
請求項２の発明は請求項１に従属し、表示制御手段によって表示された制御コマンドが選択されたか否かを判断する選択判断手段、および選択判断手段によって選択されたことが判断された制御コマンドをロボットに送信する制御コマンド送信手段をさらに備える。
【００１０】
請求項２の発明では、選択判断手段（１４，Ｓ１７，Ｓ２３）は、表示制御手段によって表示された制御コマンドが選択されたか否かを判断する。制御コマンド送信手段（１４，Ｓ２９，Ｓ３１）は、選択判断手段によって選択されたことが判断された制御コマンドをロボットに送信する。
【００１１】
請求項２の発明によれば、オペレータが選択した制御コマンドをロボットに送信することができる。
【００１２】
請求項３の発明は請求項２に従属し、選択判断手段によって制御コマンドが選択されたことが判断されたとき、当該制御コマンドをロボットに送信するか否かを判断する送信判断手段、送信判断手段によってロボットに制御コマンドを送信することを判断したとき、ロボットの状態が割り込み動作の状態であるかどうかを判断するロボット状態判断手段、およびロボット状態判断手段によってロボットの状態が割り込み動作の状態であることが判断されたとき、選択判断手段によって選択されたことが判断された制御コマンドを一時記憶する一時記憶手段を備え、制御コマンド送信手段は、ロボット状態判断手段によってロボットの状態が割り込み動作の状態でないことが判断されたとき、選択判断手段によって選択されたことが判断された制御コマンドをロボットに送信する。
【００１３】
請求項３の発明では、送信判断手段（１４，Ｓ２１）は制御コマンドをロボットに送信するか否かを判断する。たとえば、オペレータからの送信指示が有るか否かを判断する。ロボット状態判断手段（１４，Ｓ２５）は、送信判断手段によって制御コマンドをロボットに送信することが判断されたとき、ロボットの状態が割り込み動作の状態であるかどうかを判断する。たとえば、ロボットがオペレータの遠隔操作によって或る行動を実行中であるかどうかを判断する。一時記憶手段（１４，Ｓ３３）は、ロボットが割り込み動作の状態であるとき、送信することが判断された制御コマンドを一時記憶する。制御コマンド送信手段は、ロボットが割り込み動作の状態でないとき、選択された制御コマンドをロボットに送信する。
【００１４】
請求項３の発明によれば、ロボットに状態に応じて制御コマンドを送信するので、ロボットの状態に応じて所望の行動を実行させることができる。
【００１５】
請求項４の発明は請求項１ないし３のいずれかに従属し、環境情報は、少なくともロボットの周囲に存在する人間の数を含む。
【００１６】
請求項４の発明では、環境情報は、少なくともロボットの周囲に存在する人間の数を含む。したがって、たとえば、人間の数に応じた制御コマンドが表示される。これは、個人と複数人とでは、行動や発話する内容に違いがあるためである。
【００１７】
請求項４の発明によれば、ロボットの周囲に存在する人間の数に応じて適切な行動を実行させることができる。
【００１８】
請求項５の発明は請求項１ないし４のいずれかに従属し、ロボットは、身体動作および音声の少なくとも一方を用いて人間との間でコミュニケーション行動を実行するコミュニケーションロボットを含む。
【００１９】
請求項５の発明では、ロボットは、身体動作（振る舞い）および音声の少なくとも一方を用いて人間との間でコミュニケーション行動を実行するコミュニケーションロボットである。したがって、通常、ロボットは、自律行動により、配置された屋内（空間内）を移動し、または、人間との間でコミュニケーション行動を実行し、必要に応じて、オペレータの指示に従う行動（コミュニケーション行動）を実行する。
【００２０】
請求項５の発明によれば、遠隔操作によってロボットにコミュニケーション行動を実行させることができる。
【発明の効果】
【００２１】
この発明によれば、環境に応じたコマンドを選択可能に表示するので、環境に応じた行動をロボットに実行させることができる。
【００２２】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【００２３】
図１を参照して、この実施例のロボット制御システム（以下、単に「システム」という。）１０は、コミュニケーションロボット（以下、単に「ロボット」という。）１２を備える。ロボット１２は、人間との間で、身振り手振りのような身体動作（振る舞い）ないし行動（以下、「コミュニケーション行動」ということがある。）を取ることができる。ただし、コミュニケーション行動としては、ロボット１２と人間との間における会話（発話）が含まれる場合もある。
【００２４】
また、システム１０はＰＣ或いはワークステーション（ＷＳ）のような汎用のコンピュータ（説明の便宜上、「第１コンピュータ」という。）１４を含む。この第１コンピュータ１４は、無線ＬＡＮのようなネットワーク１８を介して、ロボット１２およびコンピュータ（説明の便宜上、「第２コンピュータ」という。）２０に通信可能に接続される。ただし、ロボット１２、第１コンピュータ１４および第２コンピュータ２０は、ネットワーク１８を介さずに直接的に通信するようにしてもよい。かかる場合には、ロボット１２、第１コンピュータ１４および第２コンピュータ２０は、たとえば、Bluetooth（登録商標）のような近距離無線によって通信することができる。また、第１コンピュータ１４には、ＣＲＴモニタやＬＣＤのような表示装置１４ａおよびキーボードやコンピュータマウスなどの入力装置１４ｂが接続される。
【００２５】
第２コンピュータ２０もまた、第１コンピュータ１４と同様に、ＰＣ或いはＷＳのような汎用のコンピュータであり、ロボット１２が配置される（存在する）場所ないしはその周辺に設置される。この第２コンピュータ２０には、床センサ（床圧力センサ）２２が接続される。図示は省略するが、床センサ２２は多数の検出素子（感圧センサ）を含み、この多数の検出素子がロボット１２の配置される（存在する）部屋ないし会場の床に埋め込まれる（敷き詰められる）。この実施例では、床センサ２２は、ロボット１２や人間が部屋ないし会場に存在するとき、その圧力による信号（検出信号）を第２コンピュータ２０に出力する。第２コンピュータ２０は、検出信号に基づいて２次元座標を検出し、検出した２次元座標の信号（座標信号）をロボット１２に送信する。
【００２６】
ここで、後述するように、ロボット１２は、自身の状態（行動状態）および自身の周囲の環境（状況）を示す情報（環境情報）を含む送信信号を、第１コンピュータ１４に送信するようにしてある。この環境情報に座標信号を含めて送信するため、第２コンピュータ２０はロボット１２に座標信号を送信するのであるが、直接第１コンピュータ１４に座標信号を送信するようにしてもよい。ただし、環境情報は、ロボット１２が存在する環境が変化したときだけ第１コンピュータ１４に送信される。また、この実施例では、環境情報としては、ロボット１２の周囲の混雑度（人間の数）に加えて、周囲音（騒音）または人間の声、人間との距離、人間の接触の有無とその強度、および人間の特定（個人認識）などが該当する。
【００２７】
なお、ロボット１２は、このシステム１０が適用される会場等のマップデータ（２次元データ）を内部メモリ（メモリ８０：図３参照）に記憶している。そして、ロボット１２は、任意に設定された原点位置を基準として、マップデータを参照して、会場内を移動する。ただし、ロボット１２が参照するマップデータの座標系と、第１コンピュータ１４で算出される２次元座標の座標系とは同じに設定される。
【００２８】
また、詳細な説明は省略するが、この実施例では、ロボット１２の周囲には、立った状態で人間が存在することを前提とするため、第２コンピュータ２０は、床センサ２２からの出力に基づいて、２本の足の中点についての座標を人間の座標として算出するようにしてある。また、第２コンピュータ２０は、２つの車輪３４（図２参照）の中点についての座標をロボット１２の位置座標として算出する。
【００２９】
ロボット１２は、人間のような身体を有し、その身体を用いてコミュニケーションのために必要な複雑な身体動作を生成する。具体的には、図２を参照して、ロボット１２は台車３２を含み、この台車３２の下面には、このロボット１２を自律移動させる車輪３４が設けられる。この車輪３４は、車輪モータ（ロボット１２の内部構成を示す図３において参照番号「３６」で示す。）によって駆動され、台車３２すなわちロボット１２を前後左右任意の方向に動かすことができる。
【００３０】
なお、図２では示さないが、この台車３２の前面には、衝突センサ（図３において参照番号「３８」で示す。）が取り付けられ、この衝突センサ３８は、台車３２への人や他の障害物の接触を検知する。そして、ロボット１２の移動中に障害物との接触を検知すると、直ちに車輪３４の駆動を停止してロボット１２の移動を急停止させる。
【００３１】
また、ロボット１２の背の高さは、この実施例では、人、特に子供に威圧感を与えることがないように、１００ｃｍ程度とされている。ただし、この背の高さは任意に変更可能である。
【００３２】
台車３２の上には、多角形柱のセンサ取付パネル４０が設けられ、このセンサ取付パネル４０の各面には、超音波距離センサ４２が取り付けられる。この超音波距離センサ４２は、取付パネル４０すなわちロボット１２の周囲の主として人との間の距離を計測するものである。
【００３３】
台車３２の上には、さらに、ロボット１２の胴体が、その下部が上述の取付パネル４０に囲まれて、直立するように取り付けられる。この胴体は下部胴体４４と上部胴体４６とから構成され、これら下部胴体４４および上部胴体４６は、連結部４８によって連結される。連結部４８には、図示しないが、昇降機構が内蔵されていて、この昇降機構を用いることによって、上部胴体４６の高さすなわちロボット１２の高さを変化させることができる。昇降機構は、後述のように、腰モータ（図３において参照番号「５０」で示す。）によって駆動される。上で述べたロボット１２の身長１００ｃｍは、上部胴体４６をそれの最下位置にしたときの値である。したがって、ロボット１２の身長は１００ｃｍ以上にすることができる。
【００３４】
上部胴体４６のほぼ中央には、１つの全方位カメラ５２と、１つのマイク１６とが設けられる。全方位カメラ５２は、ロボット１２の周囲を撮影するもので、後述の眼カメラ５４と区別される。マイク１６は、周囲の音、とりわけ人の声を取り込む。
【００３５】
上部胴体４６の両肩には、それぞれ、肩関節５６Ｒおよび５６Ｌによって、上腕５８Ｒおよび５８Ｌが取り付けられる。肩関節５６Ｒおよび５６Ｌは、それぞれ３軸の自由度を有する。すなわち、右肩関節５６Ｒは、Ｘ軸，Ｙ軸およびＺ軸の各軸廻りにおいて上腕５８Ｒの角度を制御できる。Ｙ軸は、上腕５８Ｒの長手方向（または軸）に平行な軸であり、Ｘ軸およびＺ軸は、そのＹ軸に、それぞれ異なる方向から直交する軸である。左肩関節５６Ｌは、Ａ軸，Ｂ軸およびＣ軸の各軸廻りにおいて上腕５８Ｌの角度を制御できる。Ｂ軸は、上腕５８Ｌの長手方向（または軸）に平行な軸であり、Ａ軸およびＣ軸は、そのＢ軸に、それぞれ異なる方向から直交する軸である。
【００３６】
上腕５８Ｒおよび５８Ｌのそれぞれの先端には、肘関節６０Ｒおよび６０Ｌを介して、前腕６２Ｒおよび６２Ｌが取り付けられる。肘関節６０Ｒおよび６０Ｌは、それぞれ、Ｗ軸およびＤ軸の軸廻りにおいて、前腕６２Ｒおよび６２Ｌの角度を制御できる。
【００３７】
なお、上腕５８Ｒおよび５８Ｌならびに前腕６２Ｒおよび６２Ｌ（いずれも図２）の変位を制御するＸ，Ｙ，Ｚ，Ｗ軸およびＡ，Ｂ，Ｃ，Ｄ軸では、「０度」がホームポジションであり、このホームポジションでは、上腕５８Ｒおよび５８Ｌならびに前腕６２Ｒおよび６２Ｌは下方向に向けられる。
【００３８】
また、図２では示さないが、上部胴体４６の肩関節５６Ｒおよび５６Ｌを含む肩の部分や上述の上腕５８Ｒおよび５８Ｌならびに前腕６２Ｒおよび６２Ｌを含む腕の部分には、それぞれ、タッチセンサ（図３において参照番号６４で包括的に示す。）が設けられていて、これらのタッチセンサ６４は、人がロボット１２のこれらの部位に接触したかどうかを検知する。
【００３９】
前腕６２Ｒおよび６２Ｌのそれぞれの先端には、手に相当する球体６６Ｒおよび６６Ｌがそれぞれ固定的に取り付けられる。なお、この球体６６Ｒおよび６６Ｌに代えて、この実施例のロボット１２と異なり指の機能が必要な場合には、人の手の形をした「手」を用いることも可能である。
【００４０】
上部胴体４６の中央上方には、首関節６８を介して、頭部７０が取り付けられる。この首関節６８は、３軸の自由度を有し、Ｓ軸，Ｔ軸およびＵ軸の各軸廻りに角度制御可能である。Ｓ軸は首から真上に向かう軸であり、Ｔ軸およびＵ軸は、それぞれ、このＳ軸に対して異なる方向で直交する軸である。頭部７０には、人の口に相当する位置に、スピーカ７２が設けられる。スピーカ７２は、ロボット１２が、それの周囲の人に対して音声または声によってコミュニケーションを図るために用いられる。ただし、スピーカ７２は、ロボット１２の他の部位たとえば胴体に設けられてもよい。
【００４１】
また、頭部７０には、目に相当する位置に眼球部７４Ｒおよび７４Ｌが設けられる。眼球部７４Ｒおよび７４Ｌは、それぞれ眼カメラ５４Ｒおよび５４Ｌを含む。なお、右の眼球部７４Ｒおよび左の眼球部７４Ｌをまとめて眼球部７４といい、右の眼カメラ５４Ｒおよび左の眼カメラ５４Ｌをまとめて眼カメラ５４ということもある。眼カメラ５４は、ロボット１２に接近した人の顔や他の部分ないし物体等を撮影してその映像信号を取り込む。
【００４２】
なお、上述の全方位カメラ５２および眼カメラ５４のいずれも、たとえばＣＣＤやＣＭＯＳのような固体撮像素子を用いるカメラであってよい。
【００４３】
たとえば、眼カメラ５４は眼球部７４内に固定され、眼球部７４は眼球支持部（図示せず）を介して頭部７０内の所定位置に取り付けられる。眼球支持部は、２軸の自由度を有し、α軸およびβ軸の各軸廻りに角度制御可能である。α軸およびβ軸は頭部７０に対して設定される軸であり、α軸は頭部７０の上へ向かう方向の軸であり、β軸はα軸に直交しかつ頭部７０の正面側（顔）が向く方向に直交する方向の軸である。この実施例では、頭部７０がホームポジションにあるとき、α軸はＳ軸に平行し、β軸はＵ軸に平行するように設定されている。このような頭部７０において、眼球支持部がα軸およびβ軸の各軸廻りに回転されることによって、眼球部７４ないし眼カメラ５４の先端（正面）側が変位され、カメラ軸すなわち視線方向が移動される。
【００４４】
なお、眼カメラ５４の変位を制御するα軸およびβ軸では、「０度」がホームポジションであり、このホームポジションでは、図２に示すように、眼カメラ５４のカメラ軸は頭部７０の正面側（顔）が向く方向に向けられ、視線は正視状態となる。
【００４５】
図３には、ロボット１２の内部構成を示すブロック図が示される。この図３に示すように、ロボット１２は、全体の制御のためにマイクロコンピュータまたはＣＰＵ７６を含み、このＣＰＵ７６には、バス７８を通して、メモリ８０，モータ制御ボード８２，センサ入力／出力ボード８４および音声入力／出力ボード８６が接続される。
【００４６】
メモリ８０は、図示しないが、ＲＯＭやＨＤＤ、ＲＡＭ等を含み、ＲＯＭまたはＨＤＤにはこのロボット１２の制御プログラムおよびデータ等が予め格納されている。ＣＰＵ７６は、このプログラムに従って処理を実行する。具体的には、ロボット１２のコミュニケーション行動を制御するための複数のプログラム（行動モジュールと呼ばれる。）が記憶される。また、行動モジュールの実行により、発話する内容についての音声ファイル（音声合成データ）も記憶される。たとえば、行動モジュールが示すコミュニケーション行動としては、「こんにちは」、「あそぼ」、「握手」、「じゃんけん」、「抱っこ」、「万歳」…などがある。行動モジュールが示すコミュニケーション行動が「こんにちは」の場合には、当該行動モジュールを実行すると、ロボット１２は、たとえば右手を挙げて、「こんにちは」と発話する。行動モジュールが示すコミュニケーション行動が「あそぼ」である場合には、当該行動モジュールを実行すると、ロボット１２は、たとえば両手を広げて、「あそぼ」と発話する。行動モジュールが示すコミュニケーション行動が「握手」である場合には、当該行動モジュールを実行すると、ロボット１２は、たとえば右手を前に差し出す。行動モジュールが示すコミュニケーション行動が「抱っこ」である場合には、当該行動モジュールを実行すると、ロボット１２は、たとえば、両手を前に差し出す。そして、行動モジュールが示すコミュニケーション行動が「万歳」である場合には、当該行動モジュールを実行すると、ロボット１２は、たとえば、両手を数回（たとえば、２回）上下させる。また、ＲＡＭは、一時記憶メモリとして用いられるとともに、ワーキングメモリとして利用され得る。
【００４７】
モータ制御ボード８２は、たとえばＤＳＰ(Digital Signal Processor)で構成され、右腕、左腕、頭および眼等の身体部位を駆動するためのモータを制御する。すなわち、モータ制御ボード８２は、ＣＰＵ７６からの制御データを受け、右肩関節５６ＲのＸ，ＹおよびＺ軸のそれぞれの角度を制御する３つのモータと右肘関節６０Ｒの軸Ｗの角度を制御する１つのモータを含む計４つのモータ（図３ではまとめて、「右腕モータ」として示す。）８８の回転角度を調節する。また、モータ制御ボード８２は、左肩関節５６ＬのＡ，ＢおよびＣ軸のそれぞれの角度を制御する３つのモータと左肘関節６０ＬのＤ軸の角度を制御する１つのモータとを含む計４つのモータ（図３ではまとめて、「左腕モータ」として示す。）９０の回転角度を調節する。モータ制御ボード８２は、また、首関節６８のＳ，ＴおよびＵ軸のそれぞれの角度を制御する３つのモータ（図３ではまとめて、「頭部モータ」として示す。）９２の回転角度を調節する。モータ制御ボード８２は、また、腰モータ５０、および車輪３４を駆動する２つのモータ（図３ではまとめて、「車輪モータ」として示す。）３６を制御する。さらに、モータ制御ボード８２は、右眼球部７４Ｒのα軸およびβ軸のそれぞれの角度を制御する２つのモータ（図３ではまとめて、「右眼球モータ」として示す。）９４の回転角度を調節し、また、左眼球部７４Ｌのα軸およびβ軸のそれぞれの角度を制御する２つのモータ（図３ではまとめて、「左眼球モータ」として示す。）９６の回転角度を調節する。
【００４８】
なお、この実施例の上述のモータは、車輪モータ３６を除いて、制御を簡単化するためにそれぞれステッピングモータまたはパルスモータであるが、車輪モータ３６と同様に、直流モータであってよい。
【００４９】
センサ入力／出力ボード８４も、同様に、ＤＳＰで構成され、各センサやカメラからの信号を取り込んでＣＰＵ７６に与える。すなわち、超音波距離センサ４２の各々からの反射時間に関するデータがこのセンサ入力／出力ボード８４を通して、ＣＰＵ７６に入力される。また、全方位カメラ５２からの映像信号が、必要に応じてこのセンサ入力／出力ボード８４で所定の処理が施された後、ＣＰＵ７６に入力される。眼カメラ５４からの映像信号も、同様にして、ＣＰＵ７６に与えられる。また、タッチセンサ６４からの信号がセンサ入力／出力ボード８４を介してＣＰＵ７６に与えられる。
【００５０】
スピーカ７２には音声入力／出力ボード８６を介して、ＣＰＵ７６から、合成音声データが与えられ、それに応じて、スピーカ７２からはそのデータに従った音声または声が出力される。また、マイク２４からの音声入力が、音声入力／出力ボード８６を介してＣＰＵ７６に取り込まれる。
【００５１】
また、ＣＰＵ７６には、バス７８を通して、通信ＬＡＮボード９８が接続される。この通信ＬＡＮボード９８も、同様に、ＤＳＰで構成され、ＣＰＵ７６から与えられた送信データを無線通信装置１００に与え、無線通信装置１００から送信データを送信させる。また、通信ＬＡＮボード９８は無線通信装置１００を介してデータを受信し、受信データをＣＰＵ７６に与える。
【００５２】
このような構成のシステム１０では、オペレータ（ユーザ）が第１コンピュータ１４を用いてロボット１２を操作（遠隔操作）することができる。たとえば、オペレータが入力装置１４ｂを用いて、遠隔操作のプログラム（アプリケーションソフト）を起動すると、図４に示すようなメイン操作画面２００が表示装置１４ａに表示される。また、ロボット１２は、少なくとも行動状態を含む送信信号を第１コンピュータ１４に、定期的（一定時間毎）に送信する。ただし、環境情報が変化した場合には、当該環境情報が送信信号に含まれる。
【００５３】
ここで、行動情報は、ロボット１２の状態（ＩＤＬＥ，ＢＵＳＹ）および現在実行しているコミュニケーション行動（行動モジュール）の名称（コマンド名）を含む。ロボット１２は、オペレータの指示によらないで自律行動している場合には、その状態はＩＤＬＥであり、逆に、オペレータに指示に従ってコミュニケーション行動している場合には、その状態はＢＵＳＹである。
【００５４】
また、環境情報は、上述したように、周囲の混雑度（人間の数）、周囲音（騒音）または人間の声、人間との距離、人間の接触とその強度、および人間の特定（個人認識）などである。ロボット１２は、第２コンピュータ２０から出力される座標信号に基づいて、自身の周囲に存在する人間の数（混雑度）を検出する。また、ロボット１２は、マイク１６に入力される音量を検出することにより、周囲音を検出する。この周囲音の音量を検出するようにすれば、さらに騒音（雑音）であるか否かを判断することもできる。また、マイク１６を介して入力される音声を音声認識することにより、周囲に存在する人間の発話内容を知ることもできる。さらに、ロボット１２は、超音波距離センサ４２の出力を検出することにより、周囲に存在する人間との距離（位置関係）を知ることもできる。さらにまた、ロボット１２は、タッチセンサ６４の出力を検出することにより、人間が自身に触れているか否かを知ることもできる。また、ロボット１２は、たとえば、無線タグの識別情報（ＩＤ情報）を検出することにより、周囲に存在する人間を個別に認識（特定）することもできる。具体的には、人間が周波数タグのような無線タグを所持し、この受信機（アンテナを含む。）をロボット１２に設けて、周波数タグが発信（送信）するＩＤ情報を受信可能にしておく。一方、ＩＤ情報に対応して人間の名称（愛称）等を記載したデータベースを、ロボット１２に内蔵したり、ロボット１２がアクセス可能に外部に設けたりしておく。このようにすれば、ロボット１２は、ＩＤ情報を受信（検出）すると、データベースを参照して、当該ＩＤ情報に対応する人間の名称（愛称）等を知ることができる。
【００５５】
このような環境情報に基づいて、ロボット１２が次に行動すべきコマンドの候補（この実施例では、後述するように、カテゴリに分類した複数のコマンド。以下、「行動カテゴリ」ということがある。）がオペレータによって選択可能に表示される。具体的な内容については、以下に、操作画面を用いて説明することにする。
【００５６】
図４を参照して、メイン操作画面２００は、第１領域２０２および第２領域２０４を含み、第１領域２０２には、現在のロボット１２の状況（状態）および実行中のコミュニケーション行動（行動モジュール）のコマンド名を示す内容がテキスト（文字）で表示される。図４に示す例では、ロボット１２は、その状態が「ＩＤＬＥ」であり、“あそぼ（ＡＳＯＢＯ）”の行動モジュールを実行していることが示される。図示は省略するが、オペレータの指示に従ってコミュニケーション行動を実行している場合には、その状態として「ＢＵＳＹ」が表示される。
【００５７】
第２領域２０４には、表示領域２０４ａ，２０４ｂ，２０４ｃ，２０４ｄ，２０４ｅ，２０４ｆ，２０４ｇ，２０４ｈ，２０４ｉおよび２０４ｊが設けられる。表示領域２０４ａ−２０４ｃには、オペレータがロボット１２に指示することができるコミュニケーション行動（行動モジュール）の名称（コマンド名）が表示されている。詳細な説明は省略するが、表示領域２０４ａ−２０４ｃには、上述したように、「こんにちは（ＨＥＬＬＯ）」、「あそぼ（ＡＳＯＢＯ）」、「握手（ＡＫＵＳＨＵ）」や「じゃんけん（ＺＹＡＮ）」などのコミュニケーション行動についてのコマンド名が表示される。ただし、オペレータの操作の便宜上、すいている時（ロボット１２の周囲の人が少ない時）、混んでいる時（ロボット１２の周囲の人が多い時）、通常動作の３つの表示領域２０４ａ−２０４ｃに分類してコマンド名を表示してあるが、分類せずに１つの表示領域に表示するようにしてもよい。また、図面では省略するが、多数のコマンド名が表示されるため、実際には、表示内容をスクロールするためのスクロールバーが設けられる。他の表示領域も同様である。
【００５８】
なお、表示領域２０４ａ−２０４ｃの各々に表示されるコマンド名は、このソフトの開発者ないし設計者によって予め登録される。ただし、このソフトのオペレータがカスタマイズできるようにしてもよい。
【００５９】
表示領域２０４ｄには、コマンド履歴が表示される。つまり、ロボット１２に送信され、実行されたコミュニケーション行動についてのコマンド名が、たとえば時系列に従って表示される。表示領域２０４ｅには、未送信コマンドが表示される。たとえば、ロボット１２が第１コンピュータ１４から送信されたコマンドに従って割り込みでコミュニケーション行動を実行している状態（ＢＵＳＹ状態）では、次の（他の）コマンドが送信（指示）された場合であっても、当該次のコマンドを割り込みで実行しないようにしてあるため、当該次のコマンドが未送信コマンドとして表示領域２０４ｅに表示（一時記憶）される。
【００６０】
表示領域２０４ｆには、割り込み音声のコマンド名（ファイル名）が表示される。割り込み音声は、割り込み処理によってロボット１２に発話（出力）させる音声を意味する。したがって、割り込み音声のファイル名をロボット１２に送信すると、ロボット１２では、対応する音声ファイルが再生され、スピーカ７２から出力される。
【００６１】
なお、図４では、簡単のため、割り込み音声のコマンド名を１つだけ記載してあるが、オペレータによってさらに追加することができる。
【００６２】
表示領域２０４ｇには、割り込み動作のコマンド名が表示される。割り込み動作は、割り込み処理によってロボット１２に実行させたい動作を意味する。ここで、「動作」は、単に首を動かしたり、手を上げたりするような仕草を意味するが、コミュニケーション行動であってもよい。したがって、割り込み動作のコマンドをロボット１２に送信すると、ロボット１２は対応する動作を実行する。ただし、上述したように、ロボット１２の状態がＢＵＳＹである場合には、割り込み動作は実行されない。或いは、コミュニケーション行動の実行が終了し、ロボット１２の状態がＢＵＳＹでなくなったときに、割り込み動作が実行される。
【００６３】
表示領域２０４ｈには、オペレータによって選択されたコマンドについての説明文がテキスト表示される。たとえば、表示領域２０４ｃに記載されたコマンド「ＺＹＡＮ」が選択されると、表示領域２０４ｈには、「じゃんけん」と表示され、ロボット１２が当該コマンドを実行すると、コミュニケーション行動として「じゃんけん」することが分かる。ただし、表示領域２０４ｈには、単に「じゃんけん」と表示するのではなく、実際のロボット１２のコミュニケーション行動について解説した内容を表示してもよい。たとえば、「“じゃんけん、ぽん”と発話しながら、右手を前に出す。」のような解説（説明文）を表示することができる。
【００６４】
表示領域２０４ｉには、個人認識された人間の名前が記述される。個人の認識方法は上述したとおりである。表示領域２０４ｊには、エピソード・ルールを記載したテキストデータのファイル名が記述される。ここで、エピソード・ルールとは、行動モジュールの基本的な実行順序に関する規則をいう。また、基本的な実行順序とは、短期的な行動の遷移ないし推移であることを意味し、たとえば数個程度の行動モジュールの繋がりないし関係であり得るが、長期（たとえば一日中）やすべての行動の推移を定めたものではない。つまり、人間の行動について、たとえば挨拶したら握手するなど、或る程度の行動の短い繋がり或いは順序付けを定めることが可能であるが、一日中の行動のすべてを予め定めることは不可能であり、エピソード・ルールとしてはこのような短い繋がりないし順序付けを規定する。エピソード・ルールは、基本的には、或る状況（履歴）において次に実行する行動モジュールが規定される。また、エピソード・ルールは、次の行動モジュールの実行を抑制するための否定の規則を含む。たとえば、ロボット１２が人に何処から来たのか尋ねてその数分後にその人に同じ質問をしてしまう場合等は、状況が調和しておらず矛盾していて不適切であるので、このような不適切な行動の推移はエピソード・ルールによって抑制される。
【００６５】
なお、行動モジュールおよびエピソード・ルールについては、本件出願人が先に出願し、既に出願公開された特開２００４−１１４２４２号公報に開示されている。
【００６６】
また、メイン操作画面２００では、第１領域２０２に、ボタン（アイコン）２１０および２１２が表示され、第２領域２０４に、ボタン２１４，２１６，２１８，２２０，２２２，２２４，２２６，２２８，２３０，２３２，２３４および２３６が表示される。
【００６７】
ボタン２１０は、メイン操作画面２００を閉じる、すなわちロボット１２の遠隔操作を終了するためのボタンである。ボタン２１２は、後述するサブ操作画面３００（図５参照）を表示するためのボタンである。後で説明するが、サブ操作画面３００には、選択すべきコマンドがカテゴリに分類されて表示される。ボタン２１４は、オペレータによって選択されたコマンドをロボット１２に送信するためのボタンである。ただし、ボタン２１４を操作しなくても、選択されたコマンドが再度選択されることにより（ダブルクリック）、当該コマンドをロボット１２に送信することもできる。また、ロボット１２の状態がＢＵＳＹであれば、オペレータによって選択されたコマンドが未送信コマンドとして一時記憶され、表示領域２０４ｅにコマンド名が表示される。
【００６８】
ボタン２１６は、ロボット１２を緊急停止させるためのボタンである。たとえば、ロボット１２の腕などに人間の服が引っかかったり、ロボット１２が自力で脱出できない所に嵌ってしまったりしたような緊急時に、ボタン２１６が操作される。ただし、ボタン２１６の操作に代えて、コントロールキー（Ｃｒｔｌキー）とアルファベットの「Ｑ」キーとを複合的に操作することにより、緊急停止のコマンドを送信することも可能である。
【００６９】
なお、詳細な説明は省略するが、ロボット１２が緊急である旨の行動情報を送信するようにしてもよく、ロボット１２から全方位カメラ５２や眼カメラ５４の映像を第１コンピュータ１４に送信するようにしておき、その映像を表示装置１４ａに表示して、オペレータが緊急時か否かを判断するようにしてもよい。
【００７０】
ボタン２１８は、ロボット１２の首を左に所定角度だけ回動させるためのボタンである。たとえば、ボタン２１８がクリックされる度に、ロボット１２の首が左方向に５度ずつ回動される。ボタン２２０は、ロボット１２の首を正面（０度）の方向に向ける（回動させる）ためのボタンである。したがって、たとえば、ボタン２２０がクリックされると、ロボット１２が正面を向くように、首が回動される。ボタン２２２は、ロボット１２の首を右に所定角度だけ回動させるためのボタンである。たとえば、ボタン２２２がクリックされる度に、ロボット１２の首が右方向に５度ずつ回動される。
【００７１】
ボタン２２４は、表示領域２０４ｅに表示された未送信コマンドを削除するためのボタンである。たとえば、ボタン２２４がクリックされると、表示領域２０４ｅに表示されたすべての未送信コマンドが削除される。ただし、未送信コマンドを１つずつ削除するようにしてもよい。または、予め選択された未送信コマンドを削除するようにしてもよい。
【００７２】
ボタン２２６は、ロボット１２を前進させるためのボタンである。たとえば、ボタン２２６がクリックされると、ロボット１２は前進し、停止命令が与えられると、停止する。ただし、ボタン２２６の操作に代えて、Ｃｒｔｌキーとアルファベットの「Ｗ」キーとを複合的に操作することにより、前進のコマンドを送信することも可能である。
【００７３】
ボタン２２８は、ロボット１２を左回転（左旋回）させるためのボタンである。たとえば、ボタン２２８がクリックされると、ロボット１２は左回転（左旋回）し、停止命令が与えられると、停止する。ただし、ボタン２２８の操作に代えて、Ｃｒｔｌキーとアルファベットの「Ａ」キーとを複合的に操作することにより、左回転のコマンドを送信することも可能である。
【００７４】
ボタン２３０は、ロボット１２を右回転（右旋回）させるためのボタンである。たとえば、ボタン２３０がクリックされると、ロボット１２は右回転（右旋回）し、停止命令が与えられると、停止する。ただし、ボタン２３０の操作に代えて、Ｃｒｔｌキーとアルファベットの「Ｄ」キーとを複合的に操作することにより、右回転のコマンドを送信することも可能である。
【００７５】
ボタン２３２は、ロボット１２を後退させるためのボタンである。たとえば、ボタン２３２がクリックされると、ロボット１２は後退し、停止命令が与えられると、停止する。ただし、ボタン２３２の操作に代えて、Ｃｒｔｌキーとアルファベットの「Ｘ」キーとを複合的に操作することにより、後退のコマンドを送信することも可能である。
【００７６】
ボタン２３４は、ロボット１２を停止されるためのボタンである。たとえば、ボタン２３４がクリックされると、ロボット１２に停止命令が与えられ、ロボット１２は、前進、左回転、右回転または後退を停止する。ただし、ボタン２３４の操作に代えて、Ｃｒｔｌキーとアルファベットの「Ｓ」キーとを複合的に操作することにより、停止のコマンドを送信することも可能である。
【００７７】
ボタン２３６は、ロボット１２自体の運転を終了（停止）させるためのボタンである。たとえば、ボタン２３６がクリックされると、ロボット１２に終了命令が与えられ、ロボット１２は、各部位をホームポジションに戻した後、図３に示したような回路コンポーネントへの電源供給を停止する。ただし、ボタン２３６の操作に代えて、Ｃｒｔｌキーとアルファベットの「Ｆ」キーとを複合的に操作することにより、終了のコマンドを送信することも可能である。
【００７８】
また、上述したように、ボタン２１２がクリックされると、図５に示すようなサブ操作画面３００が表示装置１４ａに表示される。ただし、このサブ操作画面３００は、遠隔操作のプログラムを起動したときに、メイン操作画面２００とともに表示装置１４ａに表示されるようにしてもよい。図面では省略するが、メイン操作画面２００とサブ操作画面３００とは、表示装置１４ａに並んで表示される。
【００７９】
図５に示すように、サブ操作画面３００は、６つの表示領域３００ａ，３００ｂ，３００ｃ，３００ｄ，３００ｅおよび３００ｆを含む。表示領域３００ａは、以前のビヘービア（コミュニケーション行動）についてのコマンド名が表示される領域である。ただし、上述したように、メイン操作画面２００の表示領域２０４ｄにコマンドの履歴を表示するようにしてあるため、この表示領域３００ａは無くてもよい。表示領域３００ｂは、選択されたコマンド（ビヘービア）についての説明文が表示される領域である。ただし、上述したように、メイン操作画面２００の表示領域２０４ｈに説明文を表示するようにしてあるため、この表示領域３００ｂは無くてもよい。
【００８０】
表示領域３００ｃは、次に選択されるべきコマンドがカテゴリに分けて表示される領域である。この表示領域３００ｃでは、次に選択されるべきコマンドがその先頭に表示されるように、適宜ソートされる。たとえば、次に選択されるべきコマンドは、環境情報に基づいて、通常の人間が行う動作に従って（たとえば、エピソード・ルールと同様のルールに従って）決定される。具体的には、１人の人間と挨拶を行った後では、当該人間と握手したり、当該人間に自己紹介したりするなどの行動カテゴリが表示される。また、複数の人間と挨拶を行った後では、当該複数の人間に自己紹介したり、数人程度であれば、各人間と握手したりするなどの行動カテゴリが表示される。図５からも分かるように、各カテゴリは、さらに異なる種類のカテゴリに分類され、行動カテゴリがツリー状に表示される。つまり、大分類、中分類、小分類のように分類され、その中に複数のコマンドが記述（表示）されているのである。したがって、たとえば、「挨拶」の行動カテゴリは、「初めての挨拶」と「初めてじゃない挨拶」との行動カテゴリに分類される。そして、「初めての挨拶」の行動カテゴリには、「ＨＥＬＬＯ」，「ＮＡＭＥ」および「ＨＡＺＩＭＥＴＥ＿ＡＩＳＡＴＵ」のように異なるビヘービアの名称（コマンド名）が表示される。詳細な説明は省略するが、他の行動カテゴリについても同様である。なお、コマンドをロボット１２に送信する方法は、メイン操作画面２００を用いて説明したのと同様である。
【００８１】
表示領域３００ｄは、常に使うもの（コマンド）として、カテゴリに分類された複数のコマンドがツリー状に表示される領域である。ここでは、常に使用されるコマンドがカテゴリに分類されて固定的に表示される以外は、表示領域３００ｃと同様である。表示領域３００ｅは、次の次に選択されるべきコマンドが表示される領域である。たとえば、表示領域３００ｃに表示されたコマンドのいずれかが選択（指示）されたとき、当該コマンドの次に選択されるべきコマンドが表示領域３００ｅに表示される。表示領域３００ｆは、ロボット１２が存在する場所の環境状態（周囲の状況）が表示される領域である。たとえば、ロボット１２の周囲（周辺）に数人の人間が存在する場合には、図５に示すように、「近くに少し居る」と表示される。図示は省略するが、たくさんの人間が存在する場合には、「近くにたくさん居る」と表示される。また、検出される音（音声）が大きい場合には、「ざわついている（うるさい）」などと表示される。逆に、検出される音（音声）が小さい場合には、「静か」などと表示される。
【００８２】
具体的には、図１に示した第１コンピュータ１４（厳密には、ＣＰＵのようなプロセサ）が図６および図７に示すフロー図に従って操作画面の表示制御およびコマンド送信処理を実行する。図６を参照して、第１コンピュータ１４が操作画面の表示制御およびコマンド送信処理を開始すると、ステップＳ１で、メイン操作画面２００およびサブ操作画面３００を表示する。なお、ここでは、簡単のため、メイン操作画面２００およびサブ操作画面３００の両方が表示されるようにしてあるが、実際には、上述したように、メイン操作画面２００のボタン２１２がクリックされると、サブ操作画面３００が表示される。続くステップＳ３では、ロボット１２を制御する行動情報（コマンド）を、メイン操作画面２００の第２領域２０４に表示する。つまり、表示領域２０４ａ、２０４ｂ、２０４ｃ、２０４ｆ、２０４ｇおよび２０４ｊの内容が表示される。
【００８３】
続いて、ステップＳ５では、オペレータによる遠隔操作の終了指示が有るかどうかを判断する。つまり、ボタン２１０がクリックされたかどうかを判断する。ステップＳ５で“ＹＥＳ”であれば、つまりボタン２１０がクリックされれば、オペレータによる遠隔操作の終了指示が有ると判断して、ロボット１２の遠隔操作を終了すべく、操作画面の表示制御およびコマンド送信処理を終了する。一方、ステップＳ５で“ＮＯ”であれば、つまりボタン２１０がクリックされていなければ、オペレータによる遠隔操作の終了指示が無いと判断して、ステップＳ７で、ロボット１２からの送信信号が有るかどうかを判断する。ステップＳ７で“ＮＯ”であれば、つまりロボット１２からの送信信号が無ければ、そのまま図７に示すステップＳ１７に進む。
【００８４】
しかし、ステップＳ７で“ＹＥＳ”であれば、つまりロボット１２からの送信信号が有れば、ステップＳ９で、ロボット１２の状態変化が有るかどうかを判断する。つまり、ロボット１２から送信信号に含まれる状態情報に変化が有るか否かを判断するのである。ステップＳ９で“ＮＯ”であれば、つまりロボット１２の状態変化が無ければそのままステップＳ１３に進む。しかし、ステップＳ９で“ＹＥＳ”であれば、つまりロボット１２の状態変化が有れば、ステップＳ１１で、ロボット１２の状態をメイン操作画面２００の第１領域２０２に表示して、ステップＳ１３に進む。ただし、ロボット１２の遠隔操作を開始した当初では、つまり操作画面の表示制御およびコマンド送信処理を開始した当初では、ロボット１２の状態変化ではなく、ロボット１２の状態を検出して、検出した状態が第１領域２０２に表示される。
【００８５】
ステップＳ１３では、環境情報が有るかどうかを判断する。つまり、ロボット１２からの送信信号に環境情報が含まれるかどうかを判断する。ステップＳ１３で“ＮＯ”であれば、つまり環境情報が無ければ、そのままステップＳ１７に進む。しかし、ステップＳ１３で“ＹＥＳ”であれば、つまり環境情報が有れば、ステップＳ１５で、環境情報から限定されたロボット１２を制御する行動カテゴリをサブ操作画面３００に設けられる次候補の表示領域３００ｃ（の先頭）に表示して、ステップＳ１７に進む。つまり、ステップＳ１５では、次に選択すべきコミュニケーション行動の候補が選択可能に表示されるのである。
【００８６】
図７に示すように、ステップＳ１７では、オペレータがロボット１２の行動情報すなわちコマンドを選択したかどうかを判断する。ステップＳ１７で“ＮＯ”であれば、つまりロボット１２の行動情報が選択されていなければ、そのまま図６に示したステップＳ５に戻る。一方、ステップＳ１７で“ＹＥＳ”であれば、つまりロボット１２の行動情報が選択されれば、ステップＳ１９で、選択された行動情報についての説明文を説明文の表示領域２０４ｈに表示する。
【００８７】
続くステップＳ２１では、行動情報の送信指示が有るかどうかを判断する。ここでは、上述したように、コマンド送信のボタン２１４がクリックされたり、コマンド（行動情報）がダブルクリックされたりしたかどうかを判断する。ステップＳ２１で“ＮＯ”であれば、つまり行動情報の送信指示が無ければ、ステップＳ２３で、行動情報の選択変更かどうかを判断する。つまり、他の行動情報が選択されたかどうかを判断する。ステップＳ２３で“ＮＯ”であれば、つまり選択変更でなければ、そのままステップＳ２１に戻る。一方、ステップＳ２３で“ＹＥＳ”であれば、つまり選択変更であれば、ステップＳ１９に戻って、変更された行動情報の説明文を表示する。
【００８８】
また、ステップＳ２１で“ＹＥＳ”であれば、つまり行動情報の送信指示が有れば、ステップＳ２５で、ロボット１２の状態がＢＵＳＹであるかどうかを判断する。つまり、現在、ロボット１２がオペレータの指示に従ったコミュニケーション行動を実行しているかどうかを判断する。ステップＳ２５で“ＹＥＳ”であれば、つまりロボット１２の状態がＢＵＳＹであれば、そのままステップＳ３３に進む。一方、ステップＳ２５で“ＮＯ”であれば、ロボット１２の状態がＢＵＳＹでなけば、ステップＳ２７で、未送信の行動情報が有るかどうかを判断する。つまり、表示領域２０４ｅに行動情報が表示されているかどうかを判断する。
【００８９】
ステップＳ２７で“ＹＥＳ”であれば、つまり未送信の行動情報が有れば、未送信の行動情報のうち、最も古い行動情報をロボット１２に送信して、ステップＳ３３で、今回選択された行動情報を未送信コマンドの表示領域２０４ｅに表示して、ステップＳ３５に進む。つまり、ステップＳ３３では、行動情報が一時記憶される。しかし、ステップＳ２７で“ＮＯ”であれば、つまり未送信の行動情報がなければ、ステップＳ３１で、今回選択された行動情報をロボット１２に送信し、ステップＳ３５で、行動情報をメイン操作画面２００のコマンド履歴の表示領域２０４ｄに表示して、ステップＳ５に戻る。
【００９０】
たとえば、ロボット１２は、或る会場の展示物を説明したり、或る会場の道案内をしたりするなどのサービスを提供する。図８は、ロボット１２が或る展示物ＯＢを複数の人間（ここでは、３人の人間Ａ，Ｂ，Ｃ）に説明している様子を示す。図示は省略するが、ロボット１２以外の第１コンピュータ１４、ネットワーク１８、第２コンピュータ２０および床コンピュータ２２も勿論設けられる。ただし、第１コンピュータ１４は、ロボット１２が設置される場所或いはその近傍に必ずしも設ける必要はなく、ネットワーク１８を介してロボット１２に接続可能であれば、どこに設けてもよい。
【００９１】
図８に示す例では、ロボット１２は、オペレータの遠隔操作に従って、１または複数の人間に挨拶し、当該１または複数の人間に展示品（展示物）などを説明し、そして、お別れの挨拶するというコミュニケーション行動を実行する。ただし、通常、ロボット１２は自律行動により、会場を移動したり、出会った人間との間でコミュニケーション行動を実行したりしている。
【００９２】
このような場合、たとえば、第２コンピュータ２０からの出力（座標信号）に従って人間の人数（環境情報）を検出し、この環境情報に基づいてサブ操作画面３００の表示を制御することができる。具体的なサブ操作画面３００の表示制御処理の一例は図９に示すフロー図で表わされるが、これはロボット１２を展示会場における説明員として適用させる場合の処理であり、図６に示したステップＳ１５の処理を具体化したものである。
【００９３】
図９を参照して、第１コンピュータ１４は、サブ操作画面の表示制御処理を開始すると、ステップＳ５１で、ロボット１２の周囲に人間が存在するかどうかを判断する。ここでは、ロボット１２から送信された環境情報を検出し、周囲に人間が存在するか否かを判断する。ステップＳ５１で“ＮＯ”であれば、つまりロボット１２の周囲に人間が存在しなければ、ステップＳ５３で、次候補の表示領域３００ｃの先頭に、「待機」の行動カテゴリを表示（ソート）して、サブ操作画面の表示制御処理をリターンする。一方、ステップＳ５１で“ＹＥＳ”であれば、つまりロボット１２の周囲に人間が存在すれば、ステップＳ５５で、現在のロボット１２の行動状態が「待機」であるかどうかを判断する。
【００９４】
ステップＳ５５で“ＮＯ”であれば、つまり現在のロボット１２の行動状態が「待機」でなければ、そのままステップＳ６３に進む。一方、ステップＳ５５で“ＹＥＳ”であれば、つまり現在のロボット１２の行動状態が「待機」であれば、ステップＳ５７で、複数の人間がロボット１２の周囲に存在するか否かを判断する。ステップＳ５７で“ＮＯ”であれば、つまり１人の人間がロボット１２の周囲に存在する場合には、ステップＳ５９で、表示領域３００ｃの先頭に「個人への挨拶」を表示して、サブ操作画面の表示制御処理をリターンする。一方、ステップＳ５７で“ＹＥＳ”であれば、つまり複数の人間がロボット１２の周囲に存在する場合には、ステップＳ６１で、表示領域３００ｃの先頭に「集団への挨拶」を表示して、サブ操作画面の表示制御処理をリターンする。
【００９５】
なお、詳細な説明は省略するが、個人への挨拶と集団への挨拶とでは、異なるコミュニケーション行動が実行される。たとえば、個人への挨拶の場合、当該個人の方を向き、「〇〇さん、はじめまして」や「〇〇さん、こんにちは」と発話する。また、集団への挨拶の場合、集団を見渡すように首を左右に動かした後に正面を向いて、「みなさん、はじめまして」や「みなさん、こんにちは」と発話する。
【００９６】
ステップＳ６３では、ロボット１２の現在のコミュニケーション行動が「お別れの挨拶」であるかどうかを判断する。つまり、展示物ＯＢの説明が終了したかどうかを判断する。ステップＳ６３で“ＹＥＳ”であれば、つまりロボット１２の現在のコミュニケーション行動が「お別れの挨拶」であれば、次の説明機会までロボット１２を待機させるべく、ステップＳ６５で、次候補の表示領域３００ｃの先頭に「待機」の行動カテゴリを表示して、サブ操作画面の表示制御をリターンする。
【００９７】
また、ステップＳ６３で“ＮＯ”であれば、つまりロボット１２の現在のコミュニケーション行動が「お別れの挨拶」でなければ、ステップＳ６７で、ロボット１２の現在のコミュニケーション行動が「展示説明」であるかどうかを判断する。ステップＳ６７で“ＹＥＳ”であれば、つまりロボット１２の現在のコミュニケーション行動が「展示説明」であれば、ステップＳ６９で、次候補の表示領域３００ｃの先頭に「お別れの挨拶」を表示して、サブ操作画面の表示制御処理をリターンする。一方、ステップＳ６７で“ＮＯ”であれば、つまりロボット１２の現在のコミュニケーション行動が「展示説明」でなければ、ステップＳ７１で、次候補の表示領域３００ｃの先頭に「展示説明」の行動カテゴリを表示して、サブ操作画面の表示制御をリターンする。
【００９８】
なお、図８および図９に示す例では、環境情報としての人間の人数のみに基づいてサブ操作画面の表示制御を実行する場合について説明した。しかし、上述したように、環境情報は他の情報を含むため、この例に限定されるべきではない。
【００９９】
図示は省略するが、たとえば、環境情報に含まれる周囲音の音量も参照する場合には、ステップＳ７１の前に、周囲音の音量が一定の閾値以上であるか否かを判断する。つまり、ロボット１２の周囲がざわついているかどうかを判断する。ここで、周囲音が一定の閾値未満であれば、ステップＳ７１に進むが、音量が一定の閾値以上であれば、ざわついていると判断して、表示領域３００ｃの先頭に「注意」の行動カテゴリを表示するようにする。したがって、オペレータは、「注意」の行動カテゴリの中から「静かにするように注意する」旨のコマンドを選択して、これをロボット１２に送信することができる。ただし、上述の「挨拶」の行動カテゴリの場合と同様に、「注意」の行動カテゴリを、さらに「個人への注意」と「集団への注意」との行動カテゴリに分類しておき、これを人間の人数で選択的に表示するようにしてもよい。
【０１００】
また、たとえば、人間との距離が一定の範囲内であるかどうかを判断し、人間との距離が一定の範囲外である場合には、人間を「誘導」するための行動カテゴリを表示領域３００ｃの先頭に表示して、人間を一定範囲内に移動させた（誘導した）後に、展示品の説明を実行するようにしてもよい。また、「誘導」の行動カテゴリを、さらに「個人の誘導」と「集団の誘導」との行動カテゴリに分類しておき、これを人間の人数で選択的に表示するようにしてもよい。
【０１０１】
さらに、たとえば、個人認識の情報を参照するようにしておき、ロボット１２が展示品の説明を行った人間の履歴を記憶しておくようにすれば、同じ人間に対して同じ行動を繰り返すような不都合を避けることもできる。このことは、単に挨拶する場合にも同様のことが言える。つまり、初めて挨拶する場合と、それ以降に挨拶する場合とでは異なる行動を取るべきだからである。
【０１０２】
さらにまた、この実施例では、ロボット１２が或る会場で説明員として存在する場合について説明したが、これに限定される必要はなく、ロボット１２と人間とが共存し得る場所に適用することができることは言うまでもない。
【０１０３】
この実施例によれば、ロボットが存在する環境ないし状況に基づいて行動すべき次候補を表示するため、オペレータは適切な行動をロボットに指示することができる。
【０１０４】
なお、この実施例では、人間の存在やその人数を検出するために床センサを設け、この床センサの出力に基づいてコンピュータで座標信号を求め、コンピュータからロボットに座標信号を与えるようにした。ただし、ロボットの全方位カメラの映像を解析することにより、ロボットの周囲に存在する人間およびその人数を検出することもできる。かかる場合には、第２コンピュータと床センサとを省略することができる。また、床センサに代えて、天井カメラを設け、当該天井カメラの映像を解析することにより、ロボットの周囲に存在する人間およびその数を検出することもできる。かかる場合には、人間の向き（ロボットの方を向いているかどうか）も知ることができる。
【図面の簡単な説明】
【０１０５】
【図１】図１はこの発明のロボット制御システムの一例を示すブロック図である。
【図２】図２は図１実施例に示すロボットの外観を説明するための図解図である。
【図３】図３は図１および図２に示すロボットの電気的な構成を示す図解図である。
【図４】図４は図１に示すロボットを遠隔制御するためのメイン操作画面の一例を示す図解図である。
【図５】図５は図１に示すロボットを遠隔制御するためのサブ操作画面の一例を示す図解図である。
【図６】図６は図３に示すＣＰＵの操作画面の表示制御およびコマンド送信処理の一部を示すフロー図である。
【図７】図７は図３に示すＣＰＵの操作画面の表示制御およびコマンド送信処理の他の一部であり、図６に後続するフロー図である。
【図８】図８は図１に示すシステムの適用例を示す図解図である。
【図９】図９は図３に示すＣＰＵのサブ操作画面の表示制御処理の一例を示すフロー図である。
【符号の説明】
【０１０６】
１０  …ロボット制御システム
１２  …コミュニケーションロボット
１４，２０  …コンピュータ
１６  …マイク
２２  …床センサ
３８  …衝突センサ
４２  …超音波距離センサ
５２  …全方位カメラ
５４  …眼カメラ
６４  …タッチセンサ
７６  …ＣＰＵ
８０  …メモリ
８２  …モータ制御ボード
８４  …センサ入力／出力ボード
８６  …音声入力／出力ボード
８８−９６  …モータ
９８  …通信ＬＡＮボード
１００  …無線通信装置
【図１】
2007160427.tif 000003
【図２】
2007160427.tif 000004
【図３】
2007160427.tif 000005
【図４】
2007160427.tif 000006
【図５】
2007160427.tif 000007
【図６】
2007160427.tif 000008
【図７】
2007160427.tif 000009
【図８】
2007160427.tif 000010
【図９】
2007160427.tif 000011