(57)【特許請求の範囲】
【請求項１】
遠隔操作または自律制御により、人間との間で身体動作および音声の少なくとも一方によるコミュニケーション行動を行うロボットと、ネットワークを介して前記ロボットの遠隔操作を行う複数の操作端末と、前記ネットワークを介して前記ロボットと前記操作端末との仲介を行う中央制御装置とを有する、ロボット遠隔操作システムであって、
前記ロボットが自律制御により前記人間との間におけるコミュニケーション行動の実行が困難であるかどうかを判断する判断手段、
自律制御により前記人間との間におけるコミュニケーション行動の実行が困難であると判断されたとき、前記ロボットの遠隔操作を行う操作者が満たすべき条件についての条件リストを作成する条件リスト作成手段、
前記複数の操作端末の各々について操作者の属性情報を含む端末情報を記憶する端末情報記憶手段、
前記条件作成手段によって作成された条件リストと前記端末情報記憶手段に記憶された端末情報とに基づいて、前記条件リストの全部または一部の条件を満足する端末情報を有する第１操作端末と、当該一部の条件を除く残りの条件を満足する端末情報を有する１または複数の第２操作端末とを前記ロボットの遠隔操作を行う操作端末として選択する選択手段、および
前記ロボットと前記第１操作端末および前記第２操作端末とを前記ネットワークを介して通信可能に接続させる接続制御手段を備える、ロボット遠隔操作システム。
【請求項２】
特定条件が満たされたとき、前記選択手段による第２操作端末の選択を制限する制限手段をさらに備える、請求項１記載のロボット遠隔操作システム。
【請求項３】
前記特定条件は、前記条件リストの全条件において満たされた条件の数が一定の割合を超えるという条件を含み、
前記制限手段は、前記条件リストの全条件において満たされた条件の数が一定の割合を超えたとき、前記選択手段による第２操作端末の選択を制限する、請求項２記載のロボット遠隔操作システム。
【請求項４】
前記特定条件は、選択手段によって選択された第１操作端末および第２操作端末の数が一定数以上であるという条件を含み、
前記選択手段によって選択された第１操作端末および第２操作端末の数が一定数以上であるかどうかを判定する端末数判定手段をさらに備え、
前記制限手段は、前記端末数判定手段によって一定数以上であることが判定されたとき、前記選択手段による第２操作端末の選択を制限する、請求項２または３記載のロボット遠隔操作システム。
【請求項５】
前記ロボットと前記第１操作端末および前記第２操作端末との通信速度によって、前記ロボットから前記第１操作端末および前記第２操作端末に送信する前記ロボットの情報を制御する送信情報制御手段をさらに備える、請求項１ないし４のいずれかに記載のロボット遠隔操作システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ロボット遠隔操作システムに関し、特にたとえばロボットを遠隔操作するための、ロボット遠隔操作システムに関する。
【背景技術】
【０００２】
この種の従来のロボット遠隔操作システムの一例が、特許文献１に開示されている。この特許文献１のロボット遠隔操作システムは、ネットワークを介して接続された複数のロボット，中央制御装置および複数の操作端末を含む。複数の操作端末のそれぞれは、オペレータによって操作される。ロボットは、人間とコミュニケーション可能な自律型ロボットであり、自律制御だけでは対応が困難な状況などになったときに、必要に応じてオペレータを呼び出す。中央制御装置は、最も適切な操作端末（オペレータ）を選択し、当該操作端末に遠隔操作を依頼する。オペレータを呼び出したロボットは、その操作端末からの操作コマンドに基づいて自身の動作を制御する。
【特許文献１】特開２００７−１９０６５９［B25J 13/00, B25J 5/00］
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、特許文献１に示す背景技術では、ロボットを遠隔操作するのは１人のオペレータであるため、コミュニケーション対象の人間が要求する条件を全て満たそうとすると、個々のオペレータに対して高い知識レベルが要求される。このようなロボット遠隔操作システムの構築は困難であり、現実的ではないと考えられる。また、１人のオペレータでは、十分に対応できない場合もある。
【０００４】
それゆえに、この発明の主たる目的は、新規な、ロボット遠隔操作システムを提供することである。
【０００５】
この発明の他の目的は、遠隔操作するロボットとコミュニケーションする相手の要求に適切に対応することができる、ロボット遠隔操作システムを提供することである。
【課題を解決するための手段】
【０００６】
この発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、この発明の理解を助けるために記述する実施形態との対応関係を示したものであって、この発明を何ら限定するものではない。
【０００７】
第１の発明は、遠隔操作または自律制御により、人間との間で身体動作および音声の少なくとも一方によるコミュニケーション行動を行うロボットと、ネットワークを介してロボットの遠隔操作を行う複数の操作端末と、ネットワークを介してロボットと操作端末との仲介を行う中央制御装置とを有する、ロボット遠隔操作システムであって、ロボットが自律制御により人間との間におけるコミュニケーション行動の実行が困難であるかどうかを判断する判断手段、自律制御により人間との間におけるコミュニケーション行動の実行が困難であると判断されたとき、ロボットの遠隔操作を行う操作者が満たすべき条件についての条件リストを作成する条件リスト作成手段、複数の操作端末の各々について操作者の属性情報を含む端末情報を記憶する端末情報記憶手段、条件作成手段によって作成された条件リストと端末情報記憶手段に記憶された端末情報とに基づいて、条件リストの全部または一部の条件を満足する端末情報を有する第１操作端末と、当該一部の条件を除く残りの条件を満足する端末情報を有する１または複数の第２操作端末とをロボットの遠隔操作を行う操作端末として選択する選択手段、およびロボットと第１操作端末および第２操作端末とをネットワークを介して通信可能に接続させる接続制御手段を備える、ロボット遠隔操作システムである。
【０００８】
第１の発明では、ロボット遠隔操作システム（１０）は、遠隔操作または自律制御により、人間との間で身体動作および音声の少なくとも一方によるコミュニケーション行動を行うロボット（１２ａ，１２ｂ）と、ネットワーク（１００）を介してロボットの遠隔操作を行う複数の操作端末（１６ａ〜１６ｃ）と、ネットワークを介してロボットと操作端末との仲介を行う中央制御装置（１４）とを有する。判断手段（６０，Ｓ４０３，Ｓ５０５〜Ｓ５１７）が、自律制御により人間との間におけるコミュニケーション行動の実行が困難であるかどうかを判断する。条件リスト作成手段（６０，６２，５２，５４，７０，８２，８４，１００，Ｓ３５，Ｓ６５，Ｓ７１，Ｓ１０１〜Ｓ１１３）は、自律制御により人間との間におけるコミュニケーション行動の実行が困難であると判断されたとき、ロボットの遠隔操作を行う操作者が満たすべき条件についての条件リストを作成する。端末情報記憶手段（Ｓ１）は、複数の操作端末の各々について操作者の属性情報を含む端末情報を記憶している。選択手段（Ｓ７，Ｓ６９，Ｓ７７，Ｓ８３）は、条件作成手段によって作成された条件リストと端末情報記憶手段に記憶された端末情報とに基づいて、条件リストの全部または一部の条件を満足する端末情報を有する第１操作端末と、当該一部の条件を除く残りの条件を満足する端末情報を有する１または複数の第２操作端末とをロボットの遠隔操作を行う操作端末として選択する。接続制御手段（Ｓ８５〜Ｓ８９）は、ロボットと第１操作端末および第２操作端末とをネットワークを介して通信可能に接続させる。
【０００９】
たとえば、ロボットとコミュニケーションする人間からの質問に５つの条件（要求）があり、５つの要求をすべて満たすことができるオペレータが存在しなかったとする。このような場合に、３つの要求に対応することができる或るオペレータの操作端末と、残りの２つの要求に対応することができる他のオペレータの操作端末とが選択される。したがって、２人のオペレータが当該ロボットの遠隔操作を行うことで、当該ロボットとコミュニケーションする人間からの質問（５つの要求）について対応することができる。
【００１０】
第１の発明によれば、第１操作端末および第２操作端末の操作者の遠隔操作によって人間からの要求を満たすことができる。つまり、ロボットとコミュニケーションする相手の要求に適切に応えて、円滑に対応することができる。
【００１１】
第２の発明は、第１の発明に従属し、特定条件が満たされたとき、選択手段による第２操作端末の選択を制限する制限手段をさらに備える。
【００１２】
第２の発明では、制限手段（Ｓ７９，Ｓ８１）は、特定条件が満たされたとき、選択手段による第２操作端末の選択を制限する。
【００１５】
第３の発明は、第２の発明に従属し、特定条件は、条件リストの全条件において満たされた条件の数が一定の割合を超えるという条件を含み、制限手段は、条件リストの全条件において満たされた条件の数が一定の割合を超えたとき、選択手段による第２操作端末の選択を制限する。
【００１６】
第３の発明では、特定条件は、条件リストの全条件において満たされた条件の数が一定の割合を超えるという条件を含む。制限手段は、条件リストの全条件において満たされた条件の数が一定の割合を超えたとき、選択手段による第２操作端末の選択を制限する。
【００１７】
たとえば、一定の割合を８０％とし、ロボットとコミュニケーションする人間から５つの要求があった場合に、少なくとも４つの要求が満たされるまで、第２操作端末を選択する。この場合には、複数人の操作者によって、ロボットが遠隔操作される。
【００１８】
ここで、一定の割合以上を満たせば良いようにしてあるのは、必ず全ての条件を満たさなければならないようにすると、選択手段の選択処理が、無限ループになってしまう可能性があるからである。ただし、このような場合であっても、一定の割合以上の要求に応答することができるので、全く対応できないような不都合な状態は回避される。
【００１９】
第３の発明によれば、ロボットとコミュニケーションする人間からの要求を全て満たしていなくても、操作者がロボットを遠隔操作することにより、全く対応できないような不都合を回避して、当該人間の要求に可及的多く対応するようにすることができる。また、操作端末の選択処理が無限ループになるのを防止することができる。
【００２０】
第４の発明は、第２の発明または第３の発明に従属し、特定条件は、選択手段によって選択された第１操作端末および第２操作端末の数が一定数以上であるという条件を含み、選択手段によって選択された第１操作端末および第２操作端末の数が一定数以上であるかどうかを判定する端末数判定手段をさらに備え、制限手段は、端末数判定手段によって一定数以上であることが判定されたとき、選択手段による第２操作端末の選択を制限する。
【００２１】
第４の発明では、特定条件は、選択手段によって選択された第１操作端末および第２操作端末の数が一定数以上であるという条件を含む。端末数判定手段（Ｓ８１）は、選択手段によって選択された第１操作端末および第２操作端末の数が一定数以上であるかどうかを判定する。制限手段は、端末数判定手段によって一定数以上であることが判定されたとき、選択手段による第２操作端末の選択を制限する。たとえば、一定数を３とした場合に、中央制御装置によって３台の操作端末が選択されれば、第２操作端末の選択が終了する。
【００２２】
第４の発明によれば、第３の発明と同様に、操作端末の選択処理が無限ループになってしまうのを防止することができる。また、操作端末の数を制限するので、遠隔操作する操作者の人数が多数になり、操作者同士での調整等に時間がかかるのを防止することができる。これにより、円滑にロボットを遠隔操作することができる。
【００２３】
第５の発明は、第１の発明ないし第４の発明に従属し、ロボットと第１操作端末および第２操作端末との通信速度によって、ロボットから第１操作端末および第２操作端末に送信するロボットの情報を制御する送信情報制御手段をさらに備える。
【００２４】
第５の発明では、送信情報制御手段（Ｓ１１，Ｓ３０１〜Ｓ３２９）は、ロボットと第１操作端末および第２操作端末との通信速度によってロボットから各操作端末に送信するロボットの情報を制御する。たとえば、ロボットから操作端末に送信するデータが映像データ，音声データおよび距離データの３種類であるとする。このとき操作者は、ロボットから送信されるデータを参照するなどして、ロボットを遠隔操作する。通信速度が速い場合には、ロボットは、映像データ，音声データおよび距離データを送信する。また、通信速度が遅い場合には、ロボットは、距離データのみを送信する。さらに、通信速度がそれらの中間程度である場合には、ロボットは、映像データのみ、または、音声データのみを送信する。
【００２５】
第５の発明によれば、ロボットが送信するデータの種類を通信速度に応じて選択するので、たとえば、送信するデータ量を調整することができる。したがって、ネットワークが過負荷になるのを防止することができる。つまり、通信がいたずらに遅延することがないため、ロボットを円滑に遠隔操作することができる。
【発明の効果】
【００２９】
この発明によれば、ロボットと選択された操作者が操作する操作端末とを通信可能に接続させるので、オペレータの遠隔操作によって人間からの要求を満たすことができる。つまり、ロボットとコミュニケーションする相手の要求に適切に応えて、円滑に対応することができる。
【００３０】
この発明の上述の目的、その他の目的、特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【００３１】
図１を参照して、この実施例のロボット遠隔操作システム１０は、ロボット１２ａおよび１２ｂを含む。このロボット１２ａおよび１２ｂは、ネットワーク１００を介して、中央制御装置１４，操作端末１６ａ，１６ｂおよび１６ｃに接続される。以下、ロボット１２ａ，１２ｂを区別する必要がない場合には、ロボット１２と呼ぶことにする。同様に、操作端末１６ａ−１６ｃのそれぞれを区別する必要がない場合には、操作端末１６と呼ぶことにする。
【００３２】
ロボット１２は、相互作用指向のロボット（コミュニケーションロボット）であり、主として人間Ａのようなコミュニケーションの対象（コミュニケーション対象）との間で、身振り手振りのような身体動作および音声の少なくとも一方を含むコミュニケーション行動を実行する機能を備えている。ロボット１２は、一例として、受付ロボットや接客ロボットなどであり、たとえば或るイベント会場や家電量販店の販売フロアなどの様々な場所および状況に配置され、通常は自律制御によって、道案内や商品紹介などの役割を果たす。
【００３３】
しかし、自律制御だけでは、対応することが難しい事態になった場合に、人間によってより細やかな対応（コミュニケーション等）が求められると、ロボット１２はオペレータを呼び出す。そして、ロボット１２は、呼び出したオペレータによって入力された操作コマンド情報を受信した時には、受信した操作コマンドに基づいて自身の動作を制御する。つまり、ロボット１２は、その自身の状況に応じてオペレータを呼び出し、オペレータによって操作される。
【００３４】
なお、図１には、簡単のため、２台のロボット（１２ａ，１２ｂ）およびロボット１２を遠隔操作する３台の操作端末（１６ａ−１６ｃ）を示してあるが、これによって限定される必要はない。ロボット１２は１台でもよく、３台以上であっても構わない。また、操作端末は、２台以上であれば何台でも構わない。
【００３５】
図２を参照して、ロボット１２のハードウェアの構成について説明する。また、図２はこの実施例のロボット１２の外観を示す正面図である。ロボット１２は台車１８を含み、台車１８の下面にはロボット１２を自律移動させる２つの車輪２０および１つの従輪２２が設けられる。２つの車輪２２は車輪モータ２４（図３参照）によってそれぞれ独立に駆動され、台車１８すなわちロボット１２を前後左右の任意方向に動かすことができる。また、従輪２２は車輪２０を補助する補助輪である。したがって、ロボット１２は、配置された空間内を自律制御によって移動可能である。ただし、ロボット１２は、或る場所に固定的に配置されても構わない。
【００３６】
台車１８の上には、円柱形のセンサ取り付けパネル２６が設けられ、このセンサ取り付けパネル２６には、多数の赤外線距離センサ２８が取り付けられる。これらの赤外線距離センサ２８は、センサ取り付けパネル２６すなわちロボット１２の周囲の物体（人間や障害物など）との距離を測定するものである。
【００３７】
センサ取り付けパネル２６の上には、胴体３０が直立するように設けられる。また、胴体３０の前方中央上部（人の胸に相当する位置）には、上述した赤外線距離センサ２８がさらに設けられ、ロボット１２の前方の主として人間との距離を計測する。また、胴体３０には、その側面側上端部のほぼ中央から伸びる支柱３２が設けられ、支柱３２の上には、全方位カメラ３４が設けられる。全方位カメラ３４は、ロボット１２の周囲を撮影するものであり、後述する眼カメラ５８とは区別される。この全方位カメラ３４としては、たとえばＣＣＤやＣＭＯＳのような固体撮像素子を用いるカメラを採用することができる。なお、これら赤外線距離センサ２８および全方位カメラ３４の設置位置は、当該部位に限定されず適宜変更され得る。
【００３８】
胴体３０の両側面上端部（人の肩に相当する位置）には、それぞれ、肩関節３６Ｒおよび肩関節３６Ｌによって、上腕３８Ｒおよび上腕３８Ｌが設けられる。図示は省略するが、肩関節３６Ｒおよび肩関節３６Ｌは、それぞれ、直交する３軸の自由度を有する。すなわち、肩関節３６Ｒは、直交する３軸のそれぞれの軸廻りにおいて上腕３８Ｒの角度を制御できる。肩関節３６Ｒの或る軸（ヨー軸）は、上腕３８Ｒの長手方向（または軸）に平行な軸であり、他の２軸（ピッチ軸およびロール軸）は、その軸にそれぞれ異なる方向から直交する軸である。同様にして、肩関節３６Ｌは、直交する３軸のそれぞれの軸廻りにおいて上腕３８Ｌの角度を制御できる。肩関節３６Ｌの或る軸（ヨー軸）は、上腕３８Ｌの長手方向（または軸）に平行な軸であり、他の２軸（ピッチ軸およびロール軸）は、その軸にそれぞれ異なる方向から直交する軸である。
【００３９】
また、上腕３８Ｒおよび上腕３８Ｌのそれぞれの先端には、肘関節４０Ｒおよび肘関節４０Ｌが設けられる。図示は省略するが、肘関節４０Ｒおよび肘関節４０Ｌは、それぞれ１軸の自由度を有し、この軸（ピッチ軸）の軸回りにおいて前腕４２Ｒおよび前腕４２Ｌの角度を制御できる。
【００４０】
前腕４２Ｒおよび前腕４２Ｌのそれぞれの先端には、人の手に相当する球体４４Ｒおよび球体４４Ｌがそれぞれ固定的に設けられる。ただし、指や掌の機能が必要な場合には、人間の手の形をした「手」を用いることも可能である。また、図示は省略するが、台車１８の前面，肩関節３６Ｒと肩関節３６Ｌとを含む肩に相当する部位，上腕３８Ｒ，上腕３８Ｌ，前腕４２Ｒ，前腕４２Ｌ，球体４４Ｒおよび球体４４Ｌには、それぞれ、接触センサ（図３で包括的に示す）４６が設けられる。台車１８の前面の接触センサ４６は、台車１８への人間や他の障害物の接触を検知する。したがって、ロボット１２は、その自身の移動中に障害物との接触が有ると、それを検知し、直ちに車輪２０の駆動を停止してロボット１２の移動を急停止させることができる。また、その他の接触センサ４６は、当該各部位に触れたかどうかを検知する。なお、接触センサ４６の設置位置は、当該部位に限定されず、適宜な位置（人の胸，腹，脇，背中および腰に相当する位置）に設けられてもよい。
【００４１】
胴体３０の中央上部（人の首に相当する位置）には首関節４８が設けられ、さらにその上には頭部５０が設けられる。図示は省略するが、首関節４８は、３軸の自由度を有し、３軸の各軸廻りに角度制御可能である。或る軸（ヨー軸）はロボット１２の真上（鉛直上向き）に向かう軸であり、他の２軸（ピッチ軸、ロール軸）は、それぞれ、それと異なる方向で直交する軸である。
【００４２】
頭部５０には、人の口に相当する位置に、スピーカ５２が設けられる。スピーカ５２は、ロボット１２が、それの周辺の人間に対して音声ないし音によってコミュニケーションを取るために用いられる。また、人の耳に相当する位置には、マイク５４Ｒおよびマイク５４Ｌが設けられる。以下、右のマイク５４Ｒと左のマイク５４Ｌとをまとめてマイク５４ということがある。マイク５４は、周囲の音、とりわけコミュニケーションを実行する対象である人間の声を取り込む。さらに、人の目に相当する位置には、眼球部５６Ｒおよび眼球部５６Ｌが設けられる。眼球部５６Ｒおよび眼球部５６Ｌは、それぞれ眼カメラ５８Ｒおよび眼カメラ５８Ｌを含む。以下、右の眼球部５６Ｒと左の眼球部５６Ｌとをまとめて眼球部５６ということがある。また、右の眼カメラ５８Ｒと左の眼カメラ５８Ｌとをまとめて眼カメラ５８ということがある。
【００４３】
眼カメラ５８は、ロボット１２に接近した人間の顔や他の部分ないし物体などを撮影して、それに対応する映像信号を取り込む。また、眼カメラ５８は、上述した全方位カメラ３４と同様のカメラを用いることができる。たとえば、眼カメラ５８は、眼球部５６内に固定され、眼球部５６は、眼球支持部（図示せず）を介して頭部５０内の所定位置に取り付けられる。図示は省略するが、眼球支持部は、２軸の自由度を有し、それらの各軸廻りに角度制御可能である。たとえば、この２軸の一方は、頭部５０の上に向かう方向の軸（ヨー軸）であり、他方は、一方の軸に直交しかつ頭部５０の正面側（顔）が向く方向に直行する方向の軸（ピッチ軸）である。眼球支持部がこの２軸の各軸廻りに回転されることによって、眼球部５６ないし眼カメラ５８の先端（正面）側が変位され、カメラ軸すなわち視線方向が移動される。なお、上述のスピーカ５２，マイク５４および眼カメラ５８の設置位置は、当該部位に限定されず、適宜な位置に設けられてよい。
【００４４】
このように、この実施例のロボット１２は、車輪２０の独立２軸駆動，肩関節３６の３自由度（左右で６自由度），肘関節４０の１自由度（左右で２自由度），首関節４８の３自由度および眼球支持部の２自由度（左右で４自由度）の合計１７自由度を有する。
【００４５】
図３はロボット１２の電気的な構成を示すブロック図である。この図３を参照して、ロボット１２は、ＣＰＵ６０を含む。ＣＰＵ６０は、マイクロコンピュータ或いはプロセッサとも呼ばれ、バス６２を介して、メモリ６４，モータ制御ボード６６，センサ入力／出力ボード６８および音声入力／出力ボード７０に接続される。
【００４６】
メモリ６４は、図示は省略をするが、ＲＯＭ，ＨＤＤおよびＲＡＭを含む。ＲＯＭおよびＨＤＤには、ロボット１２の動作を制御するための制御プログラムが予め記憶される。たとえば、各センサの出力（センサ情報）を検知するための検知プログラム、および外部コンピュータ（中央制御装置１４および操作端末１６など）との間で必要なデータやコマンドを送受信するための通信プログラムなどが記録される。また、ＲＡＭは、ワークメモリやバッファメモリとして用いられる。
【００４７】
モータ制御ボード６６は、たとえばＤＳＰで構成され、各腕や首関節および眼球部などの各軸モータの駆動を制御する。すなわち、モータ制御ボード６６は、ＣＰＵ６０からの制御データを受け、右眼球部５６Ｒの２軸のそれぞれの角度を制御する２つのモータ（図３では、まとめて「右眼球モータ７２」と示す）の回転角度を制御する。同様にして、モータ制御ボード６６は、ＣＰＵ６０からの制御データを受け、左眼球部５６Ｌの２軸のそれぞれの角度を制御する２つのモータ（図３では、まとめて「左眼球モータ７４」と示す）の回転角度を制御する。
【００４８】
また、モータ制御ボード６６は、ＣＰＵ６０からの制御データを受け、右肩関節３６Ｒの直交する３軸のそれぞれの角度を制御する３つのモータと右肘関節４０Ｒの角度を制御する１つのモータとの計４つのモータ（図３では、まとめて「右腕モータ７６」と示す）の回転角度を制御する。同様にして、モータ制御ボード６６は、ＣＰＵ６０からの制御データを受け、左肩関節３６Ｌの直交する３軸のそれぞれの角度を制御する３つのモータと左肘関節４０Ｌの角度を制御する１つのモータとの計４つのモータ（図３では、まとめて「左腕モータ７８」と示す）の回転角度を制御する。
【００４９】
さらに、モータ制御ボード６６は、ＣＰＵ６０からの制御データを受け、首関節４８の直交する３軸のそれぞれの角度を制御する３つのモータ（図３では、まとめて「頭部モータ８０」と示す）の回転角度を制御する。そして、モータ制御ボード６６は、ＣＰＵ６０からの制御データを受け、車輪２０を駆動する２つのモータ（図３では、まとめて「車輪モータ２４」と示す）の回転角度を制御する。なお、この実施例では、車輪モータ２４を除くモータは、制御を簡素化するためにステッピングモータ（すなわち、パルスモータ）を用いる。ただし、車輪モータ２４と同様に直流モータを用いるようにしてもよい。また、ロボット１２の身体部位を駆動するアクチュエータは、電流を動力源とするモータに限らず適宜変更された、たとえば、他の実施例では、エアアクチュエータが適用されてもよい。
【００５０】
センサ入力／出力ボード６８もまた、同様に、ＤＳＰで構成され、各センサからの信号を取り込んでＣＰＵ６０に与える。すなわち、赤外線距離センサ２８のそれぞれからの反射時間に関するデータがこのセンサ入力／出力ボード６８を通じてＣＰＵ６０に入力される。また、全方位カメラ３４からの映像信号が、必要に応じてセンサ入力／出力ボード６８で所定の処理を施してからＣＰＵ６０に入力される。眼カメラ５８からの映像信号も、同様にして、ＣＰＵ６０に入力される。また、上述した複数の接触センサ（図３では、まとめて「接触センサ４６」と示す）からの信号がセンサ入力／出力ボード６８を介してＣＰＵ６０に与えられる。
【００５１】
音声入力／出力ボード７０もまた、同様に、ＤＳＰで構成され、ＣＰＵ６０から与えられる音声合成データに従った音声または声がスピーカ５２から出力される。また、マイク５４からの音声入力が、音声入力／出力ボード７０を介してＣＰＵ６０に与えられる。
【００５２】
また、ＣＰＵ６０は、バス６２を介して通信ＬＡＮボード８２に接続される。通信ＬＡＮボード８２は、ＤＳＰで構成され、ＣＰＵ６０から与えられた送信データを無線通信装置８４に与え、無線通信装置８４から送信データを、ネットワーク１００を介して外部コンピュータ（中央制御装置１４および操作端末１６など）に送信する。また、通信ＬＡＮボード８２は、無線通信装置８４を介してデータを受信し、受信したデータをＣＰＵ６０に与える。つまり、ロボット１２は、通信ＬＡＮボード８２および無線通信装置８４によって、中央制御装置１４および操作端末１６と無線通信を行うことができる。
【００５３】
さらに、ＣＰＵ６０は、バス６２を介して無線タグ読取装置８６が接続される。無線タグ読取装置８６は、アンテナ（図示せず）を介して、無線タグ（ＲＦＩＤタグ）から送信される識別情報の重畳された電波を受信する。そして、無線タグ読取装置８６は、受信した電波信号を増幅し、当該電波信号から識別信号を分離し、当該識別情報を復調（デコード）してＣＰＵ６０に与える。無線タグは、イベント会場や家電量販店の販売フロアなどに居る人間に装着されており、無線タグ読取装置８６は、通信可能範囲内の無線タグを検出する。なお、無線タグは、アクティブ型であってもよいし、無線タグ読み取り装置８６から送信される電波に応じて駆動されるパッシブ型であってもよい。
【００５４】
図１に戻って、中央制御装置１４は、当該ロボット遠隔操作システム１０におけるオペレータの呼び出しを制御するコンピュータであり、ロボット１２および操作端末１６の状態を示す情報を管理する。中央制御装置１４は、図示は省略するがＣＰＵを含み、ＣＰＵにはメモリやデータベース、通信装置などが接続されている。中央制御装置１４は、通信装置を介してネットワーク１００に有線または無線で接続されている。
【００５５】
メモリには、当該中央制御装置１４の動作を制御するための制御プログラムおよび必要なデータが記憶される。制御プログラムは、たとえば、ロボット１２および操作端末１６のそれぞれとの間で必要なデータやコマンドを送受信するための通信プログラムおよびロボット１２からオペレータの呼び出し要求があったときに適切なオペレータ（操作端末１６）を選択するための選択プログラムなどを含む。
【００５６】
また、データベースには、ロボット１２の情報を示すロボット情報テーブル（図４参照）と、操作端末１６の情報を示すオペレータ端末情報テーブル（図５参照）とが記憶される。また、データベースには、イベント会場および家電量販店の販売フロアなどに存在する人間の情報（たとえば、無線タグの識別情報，使用言語および行動履歴）なども記憶される。
【００５７】
図４を参照して、ロボット情報テーブルには、ロボット名，状態，位置および対話相手などの情報が記憶される。ロボット名の欄には、ロボット１２の名前（たとえば、Ｒ１，Ｒ２，…）が登録される。状態の欄には、該当するロボット１２の現在の状態が登録される。具体的には、「ＢＵＳＹ」または「ＩＤＬＥ」が登録される。ＢＵＳＹは、家電量販店の販売フロアにおいて人間と対話などのコミュニケーション行動を実行している状態などを意味する。ＩＤＬＥは人間と対話などのコミュニケーション行動を実行していない状態、すなわち、空いている状態を意味する。
【００５８】
図４に戻って、位置の欄には、当該ロボット１２の現在位置の情報が登録される。この実施例では、当該ロボット１２の配置された建物や会場などの場所を示す情報および当該場所においての当該ロボット１２が現在存在している位置の座標が登録される。具体的には、ロボット名「Ｒ１」に対応して、位置の欄に、「家電量販店」，「販売フロア」および「１２０，１４０」が登録されている。このことから、ロボット名「Ｒ１」のロボット１２は、「家電量販店」の「販売フロア」に配置され、その現在位置は、座標（１２０，１４０）で表される位置であることが分かる。
【００５９】
なお、中央制御装置１４のメモリないしデータベースには、ロボット１２が配置される場所等の地図（マップ）データが記憶され、マップデータをＸＹ座標で表し、これによって、ロボット１２の位置を座標で表している。ただし、ロボット１２は移動するため、その移動制御量をロボット１２から得たり、別途環境センサ（カメラ，赤外線センサなど）を用いてロボット１２の位置を監視したりするようにしてもよい。
【００６０】
対話相手の欄には、当該ロボット１２が現在コミュニケーション行動を実行している人間の情報が登録される。具体的には、対話相手の識別情報（ＩＤ）に対応付けて、名前（たとえば、山田太郎），使用言語（たとえば、日本語）および現在位置（座標）などが登録される。また、当該ロボット１２が人間と対話していない場合にはコミュニケーション行動を行う対象が存在しないことを表す「ＮＵＬＬ」が登録される。
【００６１】
中央制御装置１４は、ロボット１２との通信によって当該ロボット１２の状態を示す情報，位置を示す情報および対話相手を示す情報などを一定時間ごとに取得して、ロボット情報テーブルを作成および更新する。図４には示していないが、たとえば、対話相手の来訪回数や来訪してからの経過時間およびロボット１２が当該相手にすでに実行した行動の履歴（たとえば、挨拶を済ませたなど）などの情報も必要に応じてデータベースから取得して適宜登録するようにしてもよい。なお、ロボット情報テーブルには、当該ロボット１２のアドレス（ＩＰアドレス）も登録されてもよい。
【００６２】
図５を参照して、オペレータ端末情報テーブルには、ＩＤ，名前，状態，所在地，ステータス値およびスキルリストなどの情報が登録される。ＩＤの欄には、操作端末１６またはこの操作端末１６を操作するオペレータを識別するための識別情報が登録される。この実施例では、ＩＤは数値で表される。ただし、「ｉｄ＿ｍａｘ」は、操作端末ないしオペレータの最大値に対応する定数である。名前の欄には、当該操作端末１６を操作するオペレータの名前が登録される。状態の欄には、当該操作端末１６の現在の状態が登録される。具体的には「ＩＤＬＥ」および「ＢＵＳＹ−Ｒ１」などが記載される。「ＩＤＬＥ」は、現在ロボット１２を操作せずに、中央制御装置１４からの呼び出し待ちの状態（待機の状態）を意味する。「ＢＵＳＹ」は、ロボット１２を遠隔操作している状態を意味し、たとえば、「ＢＵＳＹ−Ｒ１」と記載されている場合には、ロボット名「Ｒ１」のロボット１２を操作している状態であることが分かる。所在地の欄には、当該操作端末１６が設置されている場所（都道府県または地域など）が登録される。
【００６３】
ステータス値の情報は、さらに、経験，言語数およびスキル数の情報に分類される。このステータス値は、オペレータを検索するときに、ロボット遠隔操作システム１０の使用者によって任意に決められた条件（使用者条件）と対比される情報であり、使用者によって設定および変更が可能である。なお、オペレータ検索処理（図１３参照）の詳細については後述する。経験の欄には、ロボット１２の操作歴（年月）が登録される。言語数の欄には、当該オペレータが話すことのできる言語の数が登録される。たとえば、当該オペレータが、日本語，英語および独語を話すことができる場合には、言語数の欄には「３」が登録される。スキル数の欄には、オペレータが持つ能力や知識など（以下、「スキル」という。）の数が登録される。具体的なスキルの内容については、スキルリストに登録される。スキルリストの情報には、各オペレータのスキルが記述される。このスキルリストは、オペレータを選択するときに、ロボット１２が要求する条件と対比される。なお、オペレータ選択処理（図８−図１１参照）の詳細については後述する。
【００６４】
スキルリストには、言語およびスキル１,スキル２,…，スキルＭ（Ｍ：自然数）の情報を含む。言語の欄には、当該オペレータが話すことのできる言語が登録される。スキル１,スキル２,…，スキルＭの欄には、当該オペレータのスキルとして、得意とする分野または担当する分野（内容）が登録される。なお、オペレータ端末情報テーブルには、操作端末１６のアドレス（ＩＰアドレス）も登録されてよい。
【００６５】
中央制御装置１４は、たとえば、操作端末１６との通信によって、当該操作端末１６の位置，状態，所在地，ステータス値およびスキルリストの情報を一定時間毎に取得して、オペレータ端末情報テーブルを生成および更新する。或いは、状態，所在地，ステータス値およびスキルリストの変更があった場合には、当該操作端末１６を操作するオペレータから中央制御装置１４の管理者に通知し、中央制御装置１４の管理者がオペレータ端末情報テーブルを生成および更新するようにしてもよい。
【００６６】
たとえば、このオペレータ端末情報テーブルを参照すると、ＩＤが「１」の操作端末１６は、「大阪」に設置されており、当該操作端末１６を操作するオペレータの名前が「山田」であることが分かる。また、当該オペレータ（山田）は、「日本語」を話すことができ、言語数は「１」であり、ロボット１２の操作歴が「３６ヶ月」であることが分かる。さらに、当該操作端末１６の現在の状態が「ＩＤＬＥ」であることが分かる。さらにまた、当該オペレータ（山田）のスキル数は「１」であり、スキル１の内容から「パソコン担当」であることが分かる。
【００６７】
同様に、ＩＤが「２」の操作端末１６は、「東京」に設置されており、当該操作端末１６を操作するオペレータの名前が「鈴木」であることが分かる。また、当該オペレータ（鈴木）は、「日本語」および「英語」を話すことができ、言語数は「２」であり、ロボット１２の操作歴は「２ヶ月」であることが分かる。さらに、当該操作端末１６の現在の状態が「ＩＤＬＥ」であることが分かる。さらにまた、当該オペレータ（鈴木）のスキル数は「２」であり、スキル１の内容から「ｉＰｏｄ担当」（「ｉＰｏｄ」は、登録商標である）であることが分かり、スキル２の内容から「ラグビー」の知識が有ることが分かる。
【００６８】
さらに、操作端末ＩＤが「ｉｄ＿ｍａｘ」の操作端末１６は、「福岡」に設置されており、当該操作端末１６を操作するオペレータの名前が「宮崎」であることが分かる。また、当該オペレータ（宮崎）は、「日本語」，「英語」および「独語」を話すことができ、言語数は「３」であり、ロボット１２の操作歴は「１２ヶ月」であることが分かる。さらに、当該操作端末１６の現在状態が「ＢＵＳＹ−Ｒ１」（ロボットＲ１を操作している状態）であることが分かる。さらにまた、当該オペレータ（宮崎）のスキル数は「Ｍ」であり、スキル１の内容から「家電担当」であることが分かり、スキル２の内容から「サッカー」の知識が有ることが分かり、スキルＭの内容から「野球」の知識が有ることが分かる。
【００６９】
なお、図示は省略するが、操作端末１６をオペレータが操作していない場合（オフラインの場合）は、「ＮＵＬＬ」（すなわち、遠隔操作不能な状態）と登録されてもよい。
【００７０】
図１に示した操作端末１６は、コンピュータであり、図示は省略するがＣＰＵを含み、ＣＰＵにはメモリ，表示装置，入力装置，スピーカ，マイクおよび通信装置などが接続される。操作端末１６は、通信装置を介してネットワーク１００に有線または無線で接続されている。メモリには、当該操作端末１６の動作を制御するための制御プログラムおよび必要なデータが記録される。制御プログラムは、たとえば、ロボット１２および中央制御装置１４との間で必要なデータやコマンドを送受信するための通信プログラム、入力装置から入力された操作コマンドを検出する検出プログラムおよび表示装置に画像などを表示するための表示プログラムなどを含む。
【００７１】
表示装置は、ＬＣＤやＣＲＴであり、この表示装置には、後述するように、ＧＵＩとしてロボットカメラ画像２１２，ロボット情報２１４および操作パネル２１６などを含む遠隔操作画面２１０（図６参照）が表示される。入力装置はコンピュータマウス，キーボードおよびタッチパネルなどである。たとえば、オペレータは、表示装置に表示された遠隔操作画面２１０を見て入力装置を操作することによって、ロボット１２を遠隔操作するための遠隔操作コマンドを入力することができる。スピーカは、主として遠隔操作するロボット１２のマイク５４を通して検出された人間の音声を出力する。さらに、マイクは、主として、オペレータの音声を検出し、オペレータの音声はロボット１２のスピーカ５２を通じて出力される。
【００７２】
図６を参照して、この遠隔操作画面２１０では、たとえば、ロボットカメラ画像２１２、ロボット情報２１４および操作パネル２１６が表示される。ロボットカメラ画像２１２には、ロボット１２から受信した眼カメラ５８の撮影画像が表示される。これによって、オペレータは、ロボット１２の眼カメラ５８が捕らえている画像、たとえば、対話している人間をリアルタイムで見ることができる。
【００７３】
ロボット情報２１４には、当該ロボット１２の情報、状況および対話相手の情報などが表示される。具体的には、当該ロボット１２の配置された場所（イベント会場や家電量販店など），名前（もしくは識別情報），配置された場所の地図および対話している人間の情報が表示される。地図には、ロボット１２および対話相手を示すアイコンが各存在位置に対応して表示される。これによって、ロボット１２が設置場所のどこに存在しているのか、対話相手がロボット１２に対してどこに存在しているのかなどを、オペレータは容易に把握することができる。
【００７４】
なお、操作端末１６は、地図情報を予め記憶しておいてもよいし、中央制御装置１４から当該ロボット１２に関する情報とともに受信するようにしてもよい。また、ロボット１２および対話相手の位置は、たとえばロボット１２から一定時間ごとに操作端末１６に送信される。ロボット１２は、初期の配置位置および向きを記憶しているので、自分の現在の位置および向きを常に把握し、赤外線距離センサ２８の出力情報と自分の位置などから対話相手のおよその位置を推定できる。また、地図には、その場所に存在する対話相手以外の人間を示すアイコンも表示されてよい。この場合には、オペレータはその場所におけるロボット１２の状況をさらに詳細に知ることができる。
【００７５】
また、ロボット１２の配置場所における人間の位置情報は、周囲に設置された天井カメラまたは無線タグ読取装置などのような環境のセンサを用いて、当該環境のセンサと接続された他のコンピュータで検出してよく、当該他のコンピュータからロボット１２に与え、ロボット１２から操作端末１６に送信されてもよい。または、当該位置情報は上述の他のコンピュータから中央制御装置１４を経由して、操作端末１６に送信されてもよい。また、環境のセンサによってロボット１２の位置なども検出可能であるので、ロボット１２は、自分の位置および向きなどの情報も、人間の位置情報などとともに上述の他のコンピュータから取得してもよい。
【００７６】
また、対話している人間の情報としては、名前，所属（たとえば、カウンターの人間や来客），来店回数，前回の来店日，今回の来店後の経過時間およびロボット１２が当該相手にすでに行ったコミュニケーション行動の履歴などが表示される。これによって、オペレータは、ロボット１２の対話相手の情報を知ることができる。対話相手の情報は、中央制御装置１４から操作端末１６に送信される。なお、これらオペレータに提示される情報は一例であり、ロボット情報２１４には適宜適切な情報が表示される。このようなロボット情報２１４によって、オペレータは、ロボット１２および対話相手の情報ならびに両者の置かれている状況などを容易に把握することができる。
【００７７】
さらに、ロボット１２と対話相手が話している場合には、ロボット１２から音声情報が送信されて、操作端末１６のスピーカから当該音声が出力される。したがって、オペレータは、さらに対話相手の言葉を聞くことによって、現在の状況をより容易に把握することができる。また、オペレータは、遠隔操作画面でロボット１２の状況を確認しながら、対話相手からの質問の内容を容易に判断することができるため、質問に対する回答を操作端末１６およびロボット１２を介して、対話相手に答えることができる。
【００７８】
操作パネル２１６では、オペレータが入力装置を操作することにより、ロボット１２の動作を制御する操作コマンドが入力される。たとえば、図６に示すように、操作パネル２１６には、移動を指示するためのボタン，コミュニケーション行動を指示するためのボタンおよび遠隔操作の終了を指示するためのボタンなどが設けられる。具体的には、「前進」ボタンは、ロボット１２を前進させるためのボタンである。オペレータが、「前進」ボタンを選択すると、ロボット１２は、たとえば、一定距離だけ前進する。同様に、「後退」ボタンはロボット１２を後退させ、「右」ボタンはロボット１２を右旋回させ、「左」ボタンはロボット１２を左旋回させる。また、「お辞儀」ボタンは、ロボット１２にお辞儀というコミュニケーション行動を実行させるためのボタンである。具体的には、オペレータが「お辞儀」ボタンを選択すると、ロボット１２は、首関節４８を制御して頭部５０を下に向け、すなわち、お辞儀をする。また、「右指差し」のボタンは、ロボット１２に右指差しというコミュニケーション行動を実行させためのボタンである。具体的には、オペレータが「右指差し」のボタンを選択すると、ロボット１２は、右肩関節３６Ｒおよび右肘関節４０Ｒを制御して腕を前方に上げる。同様にして、操作パネル２１６に表示されたボタンをオペレータが選択することにより、ロボット１２に、うなずき、左指差しなどの身振りや発話を含む所定のコミュニケーション行動を実行させることができる。また、「終了」ボタンは、遠隔操作を終了させるためのボタンである。オペレータが「終了」ボタンを選択すると、ロボット１２は遠隔操作モードから自律制御モードに移行する。
【００７９】
操作端末１６は、中央制御装置１４に選ばれたオペレータに基づいて呼び出される。対話相手の質問は、ロボット１２のマイク５４によって取得され、ネットワーク１００を介してスピーカから出力される。オペレータは、対話相手がした質問を聞くと、操作パネル２１６に対応するコミュニケーション行動や、オペレータ自身の音声などで対話相手の質問に答えることで対応する。
【００８０】
このロボット遠隔操作システム１０では、上述したように、ロボット１２は、通常、自律制御によって、人間との間でコミュニケーション行動を行い、受付や案内などのサービスを提供する。しかし、自律制御だけでは対応することが難しい状況になった場合など、必要に応じて、当該ロボット１２は、操作端末１６つまりオペレータを呼び出す。ロボット１２には、図示は省略するが、オペレータを呼び出すための条件（オペレータ呼出条件）が予めメモリ６４に記憶されている。ロボット１２は、オペレータ呼出条件を満足すると判定した場合に、オペレータを呼び出す。ロボット１２は、中央制御装置１４にオペレータの呼出要求を送信する。中央制御装置１４は、オペレータの呼出要求を受けると、オペレータを選択する。簡単に説明すると、ロボット１２が対話（コミュニケーション）する人間が要求する条件（質問など）を検出し、この条件に合致する１または複数のオペレータを選択する。そして、選択したオペレータにロボット情報を送信して、各オペレータが操作する操作端末１６とロボット１２とを通信可能に接続される。
【００８１】
具体的には、中央制御装置１４のＣＰＵは、図７−図１４に示す処理を含む、複数の処理を並行的に実行する。また、ロボット１２のＣＰＵ６０は、図１６−図１８に示す処理を含む、複数の処理を並行的に実行する。さらに、操作端末１６のＣＰＵは、図１９に示す遠隔操作対応処理を含む、複数の処理を並行的に実行する。
【００８２】
図７に示すように、中央制御装置１４のＣＰＵは、全体処理を開始すると、ステップＳ１で、各操作端末１６の状態を取得し、テーブルを更新する。具体的には、中央制御装置１４のＣＰＵは、各操作端末１６から、その位置，オペレータの情報および現在の使用状況などを含む情報を取得し、図５に示したようなオペレータ端末情報テーブルを更新する。次のステップＳ３では、各ロボット１２の状態を取得し、テーブルを更新する。具体的には、中央制御装置１４のＣＰＵは、各ロボット１２から、当該ロボット１２の位置，現在の作動状態および対話相手の情報などを含む情報を取得し、図４に示したようなロボット情報テーブルを更新する。
【００８３】
続いて、ステップＳ５では、ロボットｘからの呼び出しがあるか否か、すなわち、或るロボット１２からのオペレータ呼び出し要求を受信したか否かを判断する。ここでは、「ロボットｘ」は、複数台のロボット１２のうちの或る１台のロボット１２を意味する。ステップＳ５でＮＯであれば、すなわちロボットｘからの呼び出しが無ければ、ステップＳ１５で、全体処理を終了するか否かを判断する。ここでは、たとえば、ロボット遠隔操作システム１０の使用者ないし中央制御装置１４の管理者から終了指示が与えられたかどうかを判断する。ステップＳ１５でＹＥＳであれば、つまり終了指示があれば、そのまま全体処理を終了する。一方、ステップＳ１５でＮＯであれば、つまり終了指示がなければ、ステップＳ１に戻る。このように、中央制御装置１４では、オペレータ操作端末テーブルの更新、ロボット情報テーブルの更新および呼び出し要求の有無の判断が一定時間毎に繰り返し実行される。
【００８４】
また、ステップＳ５でＹＥＳであれば、すなわちロボットｘからの呼び出しがあれば、ステップＳ７で、後述するオペレータ選択処理（図８−図１１参照）を行う。次のステップＳ９では、オペレータＯＰｋが選択されたか否かを判断する。この「オペレータＯＰk」は、オペレータ選択処理で選択された１または複数のオペレータを意味する。ただし、オペレータが選択されていない場合もある。つまり、変数ｋは０，１，…，ｊ（最大値）のいずれかの値を取る。ステップＳ９でＮＯであれば、すなわち、１人もオペレータＯＰｋが選択されていない場合には、ステップＳ１３で、オペレータの呼び出しを要求してきたロボットｘに「エラー」を送信して、ステップＳ１５に進む。つまり、中央制御装置１４のＣＰＵは、ロボットｘを操作するオペレータＯＰｋ（操作端末１６）が存在しないことをロボット１２に伝える。
【００８５】
一方、ステップＳ９でＹＥＳであれば、すなわち、オペレータの呼び出しを要求してきたロボットｘを操作するオペレータＯＰｋ（操作端末１６）が選択された場合には、ステップＳ１１で、後述するセンサ情報選択処理（図１４参照）を実行して、ステップＳ１５に進む。このステップＳ１１では、ロボットｘと、オペレータＯＰｋが操作する操作端末１６との通信速度によって、ロボットｘから当該操作端末１６に送信するセンサ情報（データの種類）を選択することにより、データ量が調整される。これは、通信時間の遅延を防止するためである。
【００８６】
図８−図１１は、図７に示したステップＳ７のオペレータ選択処理を示すフロー図である。図８に示すように、中央制御装置１４のＣＰＵは、オペレータ選択処理開始すると、ステップＳ３１で、変数を初期化する。具体的には、変数ｋおよび変数ｊのそれぞれに１が設定され、変数ｊｐｎ，変数ｅｎｇおよび変数ｄｅｕのそれぞれに０が設定される。ここで、変数ｋは選択されたオペレータＯＰｋを個別に識別するための変数であり、変数ｊは選択されたオペレータＯＰｋの人数のカウント値（総数）を示す。また、変数ｊｐｎはロボットｘが対話している人間の音声から日本語らしさ演算をした演算結果を格納し、変数ｅｎｇはロボットｘが対話している人間の音声から英語らしさ演算をした演算結果を格納し、そして、変数ｄｅｕはロボットｘが対話している人間の音声からドイツ語らしさ演算をした演算結果を格納する。
【００８７】
続いて、ステップＳ３３では、条件リストＬおよび残存条件リストＬＡを初期化する。つまり、条件リストＬおよび残存条件リストＬＡに含まれる条件が全て消去される。条件リストＬには、オペレータを検索するための１または複数の条件が記述される。この実施例では、条件リストＬは、条件（Ｌ０＋ＬｉＬ）（ｉＬ＝１，２，…，ＬＮ）と表される。条件Ｌ０は、言語についての条件であり、この実施例では、日本語，英語およびドイツ語のいずれかが設定される。また、条件ＬｉＬは言語以外の他の条件であり、変数ｉＬによって個別に識別される。
【００８８】
次のステップＳ３５では、ロボットｘに音声入力が有るか否かを判断する。つまり、中央制御装置１４のＣＰＵは、対話相手の音声がロボットｘで検出され、検出された音声に対応する音声信号がロボットｘから送信され、その音声信号を受信したか否かを判断する。ステップＳ３５でＮＯであれば、つまりロボットｘに音声入力が無ければ、ステップＳ３７で、ロボットｘに音声の出力を指示して、ステップＳ３５に戻る。ステップＳ３７では、たとえば、「何か御用でしょうか？」などのように、対話相手に発話させるような音声をロボット１２から出力させるためのコマンドがロボットｘに送信される。このようにして、中央制御装置１４のＣＰＵは、対話相手の質問（要求）を聞き出して、条件リストＬを作成するのである。
【００８９】
また、ステップＳ３５でＹＥＳであれば、つまり、ロボットｘに音声入力があれば、ステップＳ４１で、日本語らしさ演算を行う。ここで、日本語らしさ演算とは、ロボットｘの対話相手の言語がどれだけ日本語に近いかの割合を求める演算である。具体的には、中央制御装置１４のＣＰＵは、受信した音声信号を、日本語用辞書を用いてＤＰマッチング法やＨＭＭ（隠れマルコフモデル）法により音声認識し、認識結果とそのスコア（近似度ないし正確さを示す割合）とを得る。次のステップＳ４３では、演算結果を変数ｊｐｎに格納する。ここでは、上述のようにして演算した結果のうち、スコアを日本語らしさとして変数ｊｐｎに格納する。
【００９０】
続くステップＳ４５では、英語らしさ演算を行う。ここでは、中央制御装置１４のＣＰＵは、英語用辞書を用いて、ステップＳ４１と同様の方法で音声認識し、認識結果とそのスコアとを得る。そして、ステップＳ４７で、演算結果（スコア）を英語らしさとして変数ｅｎｇに格納する。図９に示すように、次のステップＳ４９では、ドイツ語らしさ演算を行う。ここでは、中央制御装置１４のＣＰＵは、ドイツ語用辞書を用いて、ステップＳ４１と同様の方法で音声認識し、認識結果とスコアとを得る。次のステップＳ５１では、演算結果（スコア）をドイツ語らしさとして変数ｄｅｕに格納する。
【００９１】
次のステップＳ５３では、変数ｊｐｎが変数ｅｎｇよりも大きいか否かを判断する。つまり、ここでは、中央制御装置１４のＣＰＵは、ロボットｘの対話相手の言語が日本語または英語のどちらに近いのかを判断する。ここでＹＥＳであれば、つまり変数ｊｐｎが変数ｅｎｇよりも大きければ、ロボットｘの対話相手の言語が英語よりも日本語に近いと判断し、ステップＳ５５で、変数ｊｐｎが変数ｄｅｕよりも大きいか否かを判断する。つまり、ここでは、中央制御装置１４のＣＰＵは、ロボットｘの対話相手の言語が日本語またはドイツ語のどちらに近いのかを判断する。
【００９２】
ステップＳ５５でＹＥＳであれば、つまり変数ｊｐｎが変数ｄｅｕよりも大きければ、ロボットｘの対話相手の言語がドイツ語よりも日本語に近いと判断し、ステップＳ５７で、条件Ｌ０を日本語に設定して、ステップＳ６５に進む。一方、ステップＳ５５でＮＯであれば、つまり変数ｊｐｎが変数ｄｅｕ以下であれば、ロボットｘの対話相手の言語が日本語よりもドイツ語に近いと判断し、ステップＳ６１で、条件Ｌ０をドイツ語に設定して、ステップＳ６５に進む。
【００９３】
また、上述したステップＳ５３でＮＯであれば、つまり変数ｊｐｎが変数ｅｎｇ以下であれば、ロボットｘの対話相手の言語が日本語よりも英語に近いと判断し、ステップＳ５９で、変数ｅｎｇが変数ｄｅｕよりも大きいか否かを判断する。ここでは、中央制御装置１４のＣＰＵは、ロボットｘの対話相手の言語が英語またはドイツ語のどちらに近いのかを判断する。
【００９４】
ステップＳ５９でＹＥＳであれば、つまり変数ｅｎｇが変数ｄｅｕよりも大きければ、ロボットｘの対話相手の言語がドイツ語よりも英語に近いと判断し、ステップＳ６３で、条件Ｌ０を英語に設定して、ステップＳ６５に進む。一方、ステップＳ５９でＮＯであれば、つまり変数ｅｎｇが変数ｄｅｕ以下であれば、ロボットｘの対話相手の言語が英語よりもドイツ語に近いと判断し、ステップＳ６１に進む。
【００９５】
続いて、ステップＳ６５で、後述する条件リスト作成処理（図１２参照）を実行し、ステップＳ６７で、後述するオペレータ検索処理（図１３参照）を実行し、図１０に示すステップＳ６９では、ステップＳ６７で検索されたオペレータＯＰｋ（ｋ＝１）が条件リストＬの全ての条件を満たしているか否かを判断する。つまり、中央制御装置１４のＣＰＵは、検索された１人目のオペレータＯＰｋの言語およびスキルが、条件リストＬのすべての条件に合致するか、または包含しているかを判断するのである。
【００９６】
ステップＳ６９でＹＥＳであれば、つまり１人目のオペレータＯＰｋが条件リストＬのすべての条件を満たす場合には、そのまま図１１に示すステップＳ８３に進む。一方、ステップＳ６９でＮＯであれば、つまり、１人目のオペレータＯＰｋでは、条件リストＬの一部の条件しか満たしていない場合には、ステップＳ７１で、残存条件リストＬＡを作成する。つまり、オペレータＯＰｋが満たしていない残りの条件についてのリスト（残存条件リストＬＡ）を作成（更新）する。ここで、残存条件リストＬＡは、残存条件（ＬＡ０＋ＬＡｉＬＡ）（ｉＬＡ＝１，２，…，ＬＡＮ）と表すことができる。残存条件ＬＡ０は、言語についての条件であり、条件Ｌ０と一致する。また、残存条件ＬＡｉＬＡは言語以外の他の条件である。ただし、変数ＬＮＡは、言語以外の残存条件ＬＡｉＬＡの最大値（最大数）を示す。具体的には、残存条件リストＬＡは、数１および数２に従って作成（更新）される。
［数１］
残存条件ＬＡ０＝条件Ｌ０
［数２］
残存条件ＬＡｉＬＡ＝条件ＬｉＬ−ＧｅｔＬｉｓｔ（オペレータＯＰｋ）
ただし、数２では、オペレータＯＰｋ（ｋ＝０，１，…，ｊ）が満たす条件（スキル）を「ＧｅｔＬｉｓｔ（オペレータＯＰｋ）」関数によってオペレータ端末情報テーブルから読み出し、条件リストＬに含まれる条件ＬｉＬから削除して、残存条件ＬＡｉＬＡを決定する。たとえば、オペレータＯＰ1が「パソコン売り場」のスキルを持ち、条件リストＬに条件として「パソコン売り場」および「ｉＰｏｄ」が含まれている場合に、数２に従って残存条件リストＬＡを作成すると、条件リストＬに含まれる条件から、オペレータＯＰ1が持つスキル「パソコン売り場」が削除され、残存条件リストＬＡに条件として「ｉＰｏｄ」が設定される。
【００９７】
続いて、ステップＳ７３では、変数ｋおよび変数ｊをインクリメントする。つまり、検索されたオペレータＯＰｋの番目と、選択されたオペレータＯＰｋの総数ｊとが、それぞれ１加算される。次のステップＳ７５では、残存条件リストＬＡを最も満たすオペレータの検索処理（図１３参照）を実行する。さらに、ステップＳ７７では、ステップＳ７５で検索されたオペレータＯＰｋが残存条件リストＬＡのすべての条件を満たしているか否かを判断する。ここで、ＹＥＳであれば、つまり、ステップＳ７５で検索されたオペレータＯＰｋが残存条件リストＬＡのすべての条件を満たしている場合には、ステップＳ８３に進む。
【００９８】
ここで、ステップＳ７７でＮＯであれば、つまり、ステップＳ７５で検索されたオペレータＯＰｋが残存条件リストＬＡの一部を満たす場合には、ステップＳ７９で、条件リストＬのすべての条件のうち、８０％以上の条件を満たしているか否かを判断する。たとえば、条件リストＬに５つの条件が含まれる場合に、そのうちの４つの条件を満たしたか否かを判断する。ステップＳ７９でＹＥＳであれば、つまり、条件リストＬのすべての条件のうち、８０％以上の条件を満たしている場合には、ステップＳ８３に進む。一方、ステップＳ７９でＮＯであれば、つまり、条件リストＬのすべての条件のうち、８０％未満の条件しか満たしていない場合には、ステップＳ８１で、検索したオペレータＯＰｋの人数が３人以上であるか否かを判断する。つまり、変数ｋまたは変数（総数）ｊが３以上であるかどうかを判断する。ここで、ステップ８１でＮＯであれば、オペレータＯＰｋが３人未満であれば、そのままステップＳ７１に戻って、残存条件リストＬＡを更新し、次のオペレータＯＰｋを検索する。
【００９９】
このように、条件リストＬのすべての条件のうちの一定の割合を超える数の条件を満たしたり、検索されたオペレータＯＰｋの数が一定数を超えたりする場合にも、後述の処理に以降するのは、無限ループになってしまったり、ほとんどの場合にロボット１２に「エラー」を送信してしまうような不都合を回避するためである。また、選択されたオペレータＯＰｋの人数があまり多くなり過ぎると、オペレータＯＰｋ間で、ロボット１２の遠隔操作の方法や順番等を調整するのが煩わしくなってしまうからである。ただし、「８０％」や「３人」は単なる一例であり、これに限定される必要はなく、任意に設定することができる。また、条件リストＬを満たす割合やオペレータＯＰｋの数は、条件リストＬに含まれる条件の数に応じて可変的に設定するようにしてもよい。
【０１００】
図１１に示すように、ステップＳ８３では、選択されたオペレータＯＰｋが使用する操作端末１６を、ロボットｘに紹介する。たとえば、中央制御装置１４のＣＰＵは、ロボットｘに対して、選択されたオペレータＯＰｋが使用する操作端末１６の接続情報（ＩＰアドレス）を送信する。続いて、ステップＳ８５では、選択されたオペレータＯＰｋが使用する操作端末１６に、ロボットｘの遠隔操作依頼を送信する。たとえば、選択されたオペレータＯＰｋが操作する操作端末１６に対して、呼出要求を送信したロボットｘの接続情報（ＩＰアドレス）を送付する。
【０１０１】
なお、図示は省略するが、ステップＳ８５では、オペレータ端末情報テーブルにおいて、選択されたオペレータＯＰｋが使用する操作端末１６の状態が「ＢＵＳＹ−Ｒｘ」に更新される。
【０１０２】
そして、ステップＳ８７では、変数ｊが０より大きいか否かを判断する。すなわち、選択されたオペレータＯＰｋが２人以上であるか否かを判断する。ステップＳ８７でＮＯであれば、つまり変数ｊが０以下であれば、図７に示した全体処理にリターンする。一方、ステップＳ８７でＹＥＳであれば、つまり、変数ｊが１以上であれば、ステップＳ８９で、選択されたオペレータＯＰｋ間の通信を確立して、全体処理にリターンする。
【０１０３】
たとえば、ステップＳ８９では、中央制御装置１４のＣＰＵは、選択された２人以上のオペレータに対して、それぞれ、他のオペレータが使用する操作端末１６の接続情報（ＩＰアドレス）を通知するとともに、チャットソフトを起動させる（音声チャット処理の実行させる）コマンドが送信される。したがって、選択されたオペレータＯＰkの各オペレータ端末１６は他のオペレータ端末１６と通信可能に接続され、たとえば、オペレータＯＰｋ同士が音声チャットにより、ロボットｘの遠隔操作についての情報交換や調整を行うことができる。これにより、ロボットｘの遠隔操作を円滑に実行し、ロボットｘを通して、このロボットｘの対話相手と円滑にコミュニケーションすることができる。
【０１０４】
なお、この実施例では、簡単のため、音声チャットにより、オペレータＯＰｋ同士が会話するようにしてあるが、テキスト入力によりチャットするようにしてもよい。或いは、音声とテキストとの両方を用いたチャットであってもよい。
【０１０５】
図１２は、図９に示したステップＳ６５の条件リスト作成処理のフロー図である。図１２に示すように、中央制御装置１４のＣＰＵは、条件リスト作成処理を開始すると、ステップＳ１０１で、ロボットｘで検出された音声からキーワードリストＫＬを作成する。簡単に説明すると、ロボットｘで検出された対話相手の音声対応する音声信号を音声認識する。ここでは、上述した音声認識の結果に、周知の形態素解析の処理を施し、名詞に相当する単語（キーワード）を抽出する。そして、抽出されたすべてのキーワードがキーワードリストＫＬに設定される。ここで、抽出されたキーワードは、条件Ｌ0（言語）以外の条件ＬiLとして条件リストＬに設定される。たとえば、音声認識の結果が「パソコンはどこですか？あと、ｉＰｏｄも探しています。」である場合には、キーワードとして、「パソコン」および「ｉＰｏｄ」が抽出され、たとえば、条件Ｌ1として「パソコン」が設定され、条件Ｌ2として「ｉＰｏｄ」が設定される。
【０１０６】
続いて、ステップＳ１０３では、変数ＫＬＮにキーワードリストＫＬのキーワード数を設定する。ここで設定されるキーワード数は、抽出したキーワードの総数である。次のステップＳ１０５では、変数を初期化する。つまり、上述した、条件リストＬに含まれる条件の数をカウントする変数ＬＮに１が設定され、抽出したキーワードを順番に指定するための変数ｉＬＢに０が設定される。
【０１０７】
続いて、ステップＳ１０７では、変数ＫＬＮが０より大きいか否かを判断する。つまり、対話相手の音声からキーワードが抽出されたか否かを判断する。ステップＳ１０７でＮＯであれば、つまり、変数ＫＬＮが０であれば、対話相手の音声からキーワードが抽出されていないと判断して、そのまま図８−図１１に示したオペレータ選択処理にリターンする。一方、ステップＳ１０７でＹＥＳであれば、つまり、変数ＫＬＮが１以上であれば、対話相手の音声からキーワードが抽出されたと判断して、ステップＳ１０９へ進む。
【０１０８】
ステップＳ１０９では、条件ＬＬＮにキーワードＫＬｉＬＢを設定する。たとえば、キーワードＫＬ０に「パソコン」が設定されている場合には、条件Ｌ１として「パソコン」が設定される。続いて、ステップＳ１１１で、変数ｉＬＢと変数ＬＮとのそれぞれをインクリメントする。次のステップＳ１１３では、変数ｉＬＢと変数ＫＬＮとが等しいかどうかを判断する。つまり、キーワードリストＫＬに含まれるキーワードをすべて条件リストＬに設定したか否かを判断する。ステップＳ１１３でＹＥＳであれば、つまり、変数ｉＬＢと変数ＫＬＮとが等しければ、そのままオペレータ選択処理にリターンする。一方、ステップＳ１１３でＮＯであれば、つまり変数ｉＬＢと変数ＫＬＮとが等しくなければ、ステップＳ１０９に戻る。
【０１０９】
図１３は、図９に示したステップＳ６７および図１０に示したステップＳ７５のオペレータの検索処理を示すフロー図である。図１３に示すように、中央制御装置１４のＣＰＵは、オペレータの検索処理を開始すると、ステップＳ２０１で、残存条件リストＬＡが初期化されているか否かを判断する。つまり、中央制御装置１４のＣＰＵは、条件リストＬを満たすオペレータを検索しているのか、残存条件リストＬＡを満たすオペレータを検索しているのかを判断する。よって、ステップＳ２０１でＹＥＳであれば、つまり残存条件リストＬＡが初期化されていれば、条件リストＬを用いてオペレータを検索すると判断して、ステップＳ２０３で、検索条件リストＬＢとして条件リストＬを設定する。しかし、ステップＳ２０１でＮＯであれば、つまり残存条件リストＬＡが初期化されていなければ、残存条件リストＬＡを用いてオペレータを検索すると判断して、ステップＳ２０５で、検索条件リストＬＢとして残存条件リストＬＡを設定する。ここで、「検索条件ＬＢｉＬＣ」は、検索条件リストＬＢに含まれる条件の１つを指し、「ｉＬＣ」は、検索条件リストＬＢの集合に含まれる各条件を個別に指定するための変数である。また、検索条件リストＬＢには、条件リストＬまたは残存条件リストＬＡが設定されるため、検索条件リストＬＢに含まれる条件の総数は、それぞれのリストに含まれる条件の総数に対応する変数ＬＮまたは変数ＬＡＮとなる。
【０１１０】
続いてステップＳ２０７では、変数を初期化する。具体的には、変数ｉＬＣ，変数ｋａおよび変数ｉｄに１を設定する。ここで、変数ｉＬＣは、検索条件リストＬＢに含まれる条件を個別に指定するための変数である。また、変数ｋａは、スキルリストに含まれるスキルを個別に指定するための変数である。変数ｉｄは、オペレータ（操作端末１６）を個別に指定するための変数である。
【０１１１】
次のステップＳ２０９では、配列ｍａｔｃｈ［１〜ｉｄ＿ｍａｘ］を初期化する。すなわち、中央制御装置１４のＣＰＵは、配列ｍａｔｃｈ［１］〜ｍａｔｃｈ［ｉｄ＿ｍａｘ］に０を設定する。ここで、配列ｍａｔｃｈ［１〜ｉｄ＿ｍａｘ］の配列番号は、図５に示したオペレータ端末情報テーブルのオペレータ（操作端末１６）のＩＤに対応している。このオペレータのＩＤで指定された配列ｍａｔｃｈ［１〜ｉｄ＿ｍａｘ］には、当該オペレータが持つスキルと条件リストＬに含まれる条件とが一致した数（一致数）が設定（記憶）される。
【０１１２】
続くステップＳ２１１では、変数ｉｄがｉｄ＿ｍａｘより大きいか否かを判断する。つまり、変数ｉｄがオペレータ端末情報テーブルに登録されるオペレータの総数を超えたか否かを判断する。ステップＳ２１１でＮＯであれば、つまり変数ｉｄがｉｄ＿ｍａｘ以下であれば、ステップＳ２１３で、ｉｄ＿ｓｔａｔｅ（ｉｄ）が「ＩＤＬＥ」であるか否かを判断する。ここで、関数ｉｄ＿ｓｔａｔｅ（ｉｄ）は、変数ｉｄで指定したＩＤに対応して記載された状態を返す関数である。つまり、中央制御装置１４のＣＰＵは、オペレータ端末情報テーブルを参照して、変数ｉｄで指定するＩＤのオペレータ（操作端末１６）が「待機中の状態」であるか否かを判断するのである。
【０１１３】
ステップＳ２１３でＮＯであれば、つまり、ｉｄ＿ｓｔａｔｅ（ｉｄ）が「ＩＤＬＥ」でなければ、ステップＳ２２７で、変数ｉｄをインクリメントし、変数ｋａを初期化して、ステップＳ２１１に戻る。一方、ステップＳ２１３でＹＥＳであれば、つまりｉｄ＿ｓｔａｔｅ（ｉｄ）が「ＩＤＬＥ」であれば、ステップＳ２１５で、変数ｋａがｉｄ＿ｓｎ（ｉｄ）より大きいか否かを判断する。
【０１１４】
ここで、関数ｉｄ＿ｓｎ（ｉｄ）は、変数ｉｄで指定するＩＤのオペレータが持つスキル数を返す関数である。したがって、ステップＳ２１５では、変数ｉｄで指定するＩＤのオペレータが持つすべてのスキルと、条件リストＬに含まれるすべての条件との一致数／不一致を調べたか否かを判断するのである。ステップＳ２１５でＹＥＳであれば、つまり、変数ｋａがｉｄ＿ｓｎ（ｉｄ）より大きければ、そのままステップＳ２２７に進む。一方、ステップＳ２１５でＮＯであれば、つまり、変数ｋａがｉｄ＿ｓｎ（ｉｄ）以下であれば、ステップＳ２１７で、変数ｉＬＣが変数ＬＢＮより大きいか否かを判断する。つまり、検索条件ＬＢｉＬＣが、検索条件リストＬＢの総数（ＬＢＮ）よりも大きいか否かを判断する。ステップＳ２１７でＹＥＳであれば、つまり変数ｉＬＣが変数ＬＢＮより大きければ、ステップＳ２２５で、変数ｋａをインクリメントし、変数ｉＬＣを初期化して、ステップＳ２１５に進む。一方、ステップＳ２１７でＮＯであれば、つまり変数ｉＬＣが変数ＬＢＮ以下であれば、ステップＳ２１９で、検索条件ＬＢｉＬＣがｉｄ＿ｓｋ（ｉｄ，ｋａ）と一致するか否かを判断する。
【０１１５】
ここで、関数ｉｄ＿ｓｋ（ｉｄ，ｋａ）は、変数ｉｄで指定するＩＤのオペレータが持つスキルｋａを返す関数である。たとえば、図５に示したオペレータ情報端末テーブルを参照して分かるように、関数ｉｄ＿ｓｋ（２，１）は「ｉＰｏｄ」を返す。ステップＳ２１９でＹＥＳであれば、つまり、検索条件ＬＢｉＬＣがｉｄ＿ｓｋ（ｉｄ，ｋａ）と一致すれば、ステップＳ２２１で、配列ｍａｔｃｈ［ｉｄ］をインクリメントして、ステップＳ２２３に進む。つまり、ステップＳ２２１では、変数ｉｄが示すＩＤのオペレータについて、当該オペレータのスキルと、条件リストＬまたは残存条件リストＬＡの条件との一致数がカウントされるのである。一方、ステップＳ２１９でＮＯであれば、つまり検索条件ＬＢｉＬＣがｉｄ＿ｓｋ（ｉｄ，ｋａ）と一致しなければ、そのままステップＳ２２３に進む。ステップＳ２２３では、変数ｉＬＣをインクリメントする。したがって、次の検索条件ＬＢｉＬＣと関数ｉｄ＿ｓｋ（ｉｄ，ｋａ）が返すスキルとが一致するか否かの判断処理が実行される。
【０１１６】
また、ステップＳ２１１でＹＥＳであれば、つまりｉｄがｉｄ＿ｍａｘより大きければ、ステップＳ２２９で、配列ｍａｔｃｈ［１〜ｉｄ＿ｍａｘ］の中で、最大値かつ使用者条件を満たすＩＤのオペレータをオペレータＯＰｋに設定して、オペレータの選択処理にリターンする。
【０１１７】
ここで、使用者条件は、上述したとおり、オペレータを検索するときに、ロボット遠隔操作システム１０の使用者によって、任意に決めることができる条件である。たとえば、使用者条件が「経験歴が豊富なオペレータを優先して呼び出したい」である場合に、配列ｍａｔｃｈ［０〜ｉｄ＿ｍａｘ］のそれぞれに含まれる値の中で最も大きい値が設定される配列が２つ以上有る場合に、それぞれの配列数に対応したＩＤを持つオペレータが持つステータス値の「経験」に含まれる値が一番大きいオペレータが、オペレータＯＰ検索処理によって検索されたオペレータとなる。たとえば、配列ｍａｔｃｈ［２］および配列ｍａｔｃｈ［ｉｄ＿ｍａｘ］が示す一致数が最大である場合には、図５に示したオペレータ端末情報テーブルを参照して分かるように、ＩＤが「２」であるオペレータの経験（２月）と、ＩＤが「ｉｄ＿ｍａｘ」であるオペレータの経験（１２月）とから、上記使用者条件を満たすのは、ＩＤが「ｉｄ＿ｍａｘ」であるオペレータである。このオペレータ（宮崎）がオペレータＯＰｋとして設定されるのである。
【０１１８】
また、他の実施例では、使用者条件が「多くのキーワードに対応可能なオペレータを出きるだけ温存したい」である場合には、一致数が最大である複数のオペレータの中で、スキル数が最も少ないオペレータがオペレータＯＰｋとして設定される。
【０１１９】
さらに、その他の実施例では、使用者条件が「複数の言語を話すことができるオペレータを出きるだけ温存したい」である場合には、一致数が最大である複数のオペレータの中で、言語数が最も少ないオペレータがオペレータＯＰｋとして設定される。
【０１２０】
図１４は、図７に示したステップＳ１１のセンサ情報選択処理のフロー図である。図１４を参照して、ステップＳ３０１では、変数ｋを初期化する（ｋ＝１）。続いて、ステップＳ３０３では、変数ｋが変数ｊ以下であるか否かを判断する。すなわち、ｋ番目のオペレータＯＰｋが、オペレータＯＰｋの総数ｊ以上であるか否かを判断する。ステップＳ３０３でＮＯであれば、つまり、変数ｋが変数ｊよりも大きければ、ステップＳ３１１に進む。一方、ステップＳ３０３でＹＥＳであれば、つまり、変数ｋが変数ｊ以下であれば、ステップＳ３０５で、ロボットｘとオペレータＯＰｋが操作する操作端末１６との通信速度Ｓが閾値Ｓａ以上か否かを判断する。つまり、閾値Ｓａよりも通信速度Ｓが大きければ、オペレータＯＰｋが操作する操作端末１６に音声情報が送信される。
【０１２１】
ステップＳ３０５でＮＯであれば、つまりロボットｘと操作端末１６との通信速度が閾値Ｓａ未満であれば、そのままステップＳ３０９に進む。一方、ステップＳ３０５でＹＥＳであれば、ステップＳ３０７で、音声情報をオペレータＯＰｋに送信させて、ステップＳ３０９に進む。このステップＳ３０７では、中央制御装置１４のＣＰＵは、ロボットｘの対話相手の音声に対応する音声信号を音声情報として、オペレータＯＰｋが操作する操作端末１６に送信させるべく、そのためのコマンドをロボットｘに送信する。オペレータＯＰｋは、その音声信号の音声を聞くことにより、対話相手の発話内容を容易に知ることができ、したがって、対話相手と会話をすることができる。このため、適切に対応することができる。ステップＳ３０９では、変数ｋをインクリメントして、ステップＳ３０３に戻る。
【０１２２】
ステップＳ３１１では、変数ｋを初期化する。続いて、ステップＳ３１３では、変数ｋが変数ｊ以下であるか否かを判断する。ステップＳ３１３でＹＥＳであれば、ステップＳ３１５で、ロボットｘとオペレータＯＰｋが操作する操作端末１６との通信速度Ｓが閾値Ｓｖ以上か否かを判断する。たとえば、閾値Ｓｖよりも通信速度Ｓが大きければ、オペレータＯＰｋが操作する操作端末１６にカメラ情報が送信される。
【０１２３】
ステップＳ３１５でＮＯであれば、つまりロボットｘと操作端末１６との通信速度が閾値Ｓｖ未満であれば、そのままステップＳ３１９で、変数ｋをインクリメントして、ステップＳ３１３に戻る。一方、ステップＳ３１５でＹＥＳであれば、つまりロボットｘと操作端末１６との通信速度が閾値Ｓｖ以上であれば、ステップＳ３１７で、カメラ情報をオペレータＯＰｋに送信させて、ステップＳ３１９に進む。このステップＳ３１７では、中央制御装置１４のＣＰＵは、ロボットｘの全方位カメラ３４や眼カメラ５８で撮影された映像に対応する映像信号を映像情報として、オペレータＯＰｋが操作する操作端末１６に送信させるべく、そのためのコマンドをロボットｘに送信する。オペレータＯＰｋは、その映像を見ることにより、ロボットｘの周囲の状況や対話相手の顔の表情、身振り手振りなどを知ることができる。したがって、たとえば、相手の表情を見て対応することができるので、より適切に対応することができる。
【０１２４】
ステップＳ３２１では、変数ｋを初期化する。続いてステップＳ３２３では、変数ｋが変数ｊ以下であるか否かを判断する。ステップＳ３２３でＮＯであれば、図７に示した全体処理にリターンする。一方、ステップＳ３２３でＹＥＳであれば、ステップＳ３２５で、ロボットｘとオペレータＯＰｋが操作する操作端末１６との通信速度Ｓが閾値Ｓｓ以上か否かを判断する。たとえば、閾値Ｓｓよりも通信速度Ｓが大きければ、オペレータＯＰｋが操作する操作端末１６に距離情報が送信される。
【０１２５】
ステップＳ３２５でＮＯであれば、つまりロボットｘと操作端末１６との通信速度Ｓが閾値Ｓｓ未満であれば、そのままステップＳ３２９へ進み、変数ｋをインクリメントして、ステップＳ３２３に戻る。一方、ステップＳ３２５でＹＥＳであれば、つまりロボットｘと操作端末１６との通信速度Ｓが閾値Ｓｓ以上であれば、ステップＳ３２７で、距離情報をオペレータＯＰｋに送信させて、ステップＳ３２９に進む。このステップＳ３２７では、中央制御装置１４のＣＰＵは、ロボットｘの赤外線距離センサ２８で検出されたロボットｘと対話相手との距離についての距離データおよび接触センサ４６で検出された対話相手とロボット１２との接触状態などを、距離情報としてオペレータＯＰｋが操作する操作端末１６に送信させるべく、そのためのコマンドをロボットｘに送信する。この距離情報を見ることにより、オペレータＯＰｋは、対話相手とロボット１２との状態（対話相手までの距離）を認識することができる。これにより、たとえば、ロボットｘを通してスキンシップを図ることが可能である。
【０１２６】
なお、閾値Ｓａ，閾値Ｓｖおよび閾値Ｓｓの値は、使用者によって任意に変更可能である。たとえば、アナログ電話の通信速度が約５４ｋｂｐｓであるため、閾値Ｓａを５４ｋｂｐｓに設定するようにしてもよい。または、閾値Ｓａを０に設定することで、ロボット１２が常に音声情報をオペレータＯＰｋが使用する操作端末１６に送信するようにしてもよい。
【０１２７】
ただし、ロボット１２と操作端末１６との通信速度Ｓは、中央制御装置１４に記憶される呼出要求を送信したロボット１２と操作端末１６とのそれぞれの通信回線の最大通信速度（ベストエフォート）に基づいて決められる。また、通信速度Ｓは、中央制御装置１４から基準データをロボット１２および操作端末１６のそれぞれに送信することで、当該基準データの送信にかかった時間から決められてもよい。
【０１２８】
また、この実施例では、通信速度Ｓが或る閾値を超えるか否かで、ロボット１２から操作端末１６に送信する情報を決定するようにしてあるが、通信環境等を考慮しない場合には、音声情報，カメラ情報および距離情報のいずれか１つまたは２つ以上を必ず送信するようにしてもよい。
【０１２９】
さらに、この実施例では、通信速度Ｓに応じて、送信する情報を決定するようにしてあるが、ロボット１２が設置される環境に応じて送信する情報を決定するようにしてもよい。
【０１３０】
ここで、カメラ情報およびセンサ情報が制限された場合に、操作端末１６の表示装置に表示される遠隔操作画面２１０の表示例を図１５に示す。図１５から分かるように、操作パネル２１６の表示内容は、図６に示した遠隔操作画面２１０と同じである。ロボットカメラ画像２１２の表示部は、カメラ情報が制限されているため、「カメラ情報制限中」の文字列（テキスト）が表示される。ロボット情報２１４の表示部には、図６に示した遠隔操作画面２１０と同様に、ロボットが設置される位置，当該ロボットの名前，設置された場所の地図および対話している人間の情報が表示される。ただし、ロボット情報２１４の下部に示されるように、音声情報は、図６に示した遠隔操作画面２１０と同様に、「通信中」と表示されるが、距離情報は、「制限中」のテキストが表示される。
【０１３１】
図１６は、ロボット１２（ロボットｘ）のＣＰＵ６０の全体処理を示すフロー図である。図１６に示すように、ロボット１２（ロボットｘ）のＣＰＵ６０は、全体処理を開始すると、ステップＳ４０１で、後述するオペレータ呼出条件判定処理（図１７参照）を実行し、ステップＳ４０３で、オペレータ呼出フラグがオンであるか否かを判断する。図示は省略するが、オペレータの呼出フラグは、１ビットのレジスタで構成され、メモリ６４（ＲＡＭ）に設けられる。この呼出フラグは、オペレータ呼出条件判定処理を実行することにより、オン／オフされる。具体的には、オペレータ呼出条件を満たす場合には、呼出フラグはオンされ、逆に、オペレータ呼出条件を満たさない場合には、呼出フラグはオフされる。呼出フラグがオンされると、レジスタにデータ値「１」が設定され、逆に、呼出フラグがオフされると、レジスタにデータ値「０」が設定される。
【０１３２】
ステップＳ４０３でＮＯであれば、つまり呼出フラグがオフであれば、ステップＳ４０９で、自立行動処理を実行する。なお、自律行動処理では、自立制御によって必要に応じて人間との間でコミュニケーション行動を実行する。たとえば、人間と対面した場合には、当該人間に挨拶をしたり、また、人間に道を尋ねられた場合には、道案内を行ったりする。一方、ステップＳ４０３でＹＥＳであれば、つまり、呼出フラグがオンであれば、ステップＳ４０５で、後述する遠隔操作対応処理（図１８参照）を実行する。
【０１３３】
続いてステップＳ４０７では、停止命令があるかどうかを判断する。たとえば、停止命令（停止コマンド）は、オペレータの操作に従って、操作端末１６からネットワーク１００を介してロボット１２に送信される。ただし、ロボット１２やロボット１２が配置される環境に停止ボタンを設けておき、当該ボタンを操作することにより、ロボット１２に停止コマンドを入力するようにしてもよい。ステップＳ４０７でＹＥＳであれば、つまり停止命令が有れば、そのまま全体処理を終了する。一方、ステップＳ４０７でＮＯであれば、つまり停止命令が無ければ、ステップＳ４０１に戻る。
【０１３４】
図１７は、図１６に示したステップＳ４０１のオペレータ呼出条件判定処理のフロー図である。図１７に示すように、ロボット１２のＣＰＵ６０は、オペレータ呼出条件判定処理を開始すると、ステップＳ５０１で、呼出条件フラグをオフし、ステップＳ５０３で、周囲情報を検出する。つまり、オペレータ呼出条件の判断に必要なセンサ（赤外線距離センサ２８，全方位カメラ３４，マイク５４，眼カメラ５８，接触センサ４６および無線タグ読み取り装置８６）の出力を検出し、周囲および自身の状況（状態）を認識する。
【０１３５】
続いてステップＳ５０５では、特定の文章や単語を検出したか否かを判断する。ステップＳ５０５でＹＥＳであれば、つまり、特定の文章や単語を検出すれば、オペレータ呼出条件を満たすと判断して、ステップＳ５１９で呼出条件フラグをオンして、図１６に示したロボット１２の全体処理にリターンする。たとえば、特定の文章や単語としては、ロボット１２が相手（対話相手）の意図を理解できないことを意味する文章や単語、たとえば、「違う」，「責任者を呼んで」，「そうじゃないんだけど」および「わからないかなあ」などが考えられる。
【０１３６】
一方、ステップＳ５０５でＮＯであれば、つまり特定の文章や単語を検出していなければ、ステップＳ５０７で、特定の顔の表情を取得したか否かを判断する。たとえば、特定の表情とは、人の顔表情認識で怒りが検出されたこと、顔特定機能で特定の人を検出したことが考えられる。ステップＳ５０７でＹＥＳであれば、つまり、特定の顔の表情を取得すれば、オペレータ呼出条件を満たすと判断して、ステップＳ５１９に進む。
【０１３７】
また、ステップＳ５０７でＮＯであれば、つまり、特定の顔の表情を取得していなければ、ステップＳ５０９で特定の人間を検出したか否かを判断する。たとえば、特定の人物を検出する方法としては、特定のＩＤの無線タグを検出したこと（たとえば、ＶＩＰとして登録された人が現れたこと）などが考えられる。ステップＳ５０９でＹＥＳであれば、つまり特定の人間を検出すれば、オペレータ呼出条件を満たすと判断して、ステップＳ５１９へ進む。一方、ステップＳ５０９でＮＯであれば、つまり、特定の人間を検出していなければ、ステップＳ５１１で、人間と長時間会話している状況であるか否かを判断する。たとえば、赤外線距離センサ２８で取得された距離が１ｍ以内である状態が５分以上になればＹＥＳと判断されるようにしてもよい。
【０１３８】
ステップＳ５１１でＹＥＳであれば、つまり、人間と長時間会話している状況であれば、オペレータ呼出条件を満たすと判断して、ステップＳ５１９に進む。一方、ステップＳ５１１でＮＯであれば、つまり人間と長時間会話している状況でなければ、ステップＳ５１３で、行く手を塞がれた状況であるか否かを判断する。ステップＳ５１３でＹＥＳであれば、つまり行く手を塞がれた状況であれば、オペレータ呼出条件を満たすと判断して、ステップＳ５１９に進む。一方、ステップＳ５１３でＮＯであれば、つまり行く手を塞がれていない状況であれば、ステップＳ５１５で周囲に人が多く存在する状況であるか否かを判断する。ここで、周囲に人が多く存在する状態は、ロボット１２または周囲の環境に設けられた他のセンサの出力に基づいて検出されるようにしてもよい。
【０１３９】
ステップＳ５１５でＹＥＳであれば、つまり周囲に人が多く存在する状況であれば、オペレータ呼出条件を満たすと判断して、ステップＳ５１９に進む。一方、ステップＳ５１５でＮＯであれば、つまり周囲に人が多く存在していない状況であれば、ステップＳ５１７で、オペレータ呼出ボタンが押されたかどうかを判断する。なお、オペレータ呼び出しボタンはロボット１２または周囲の環境に設けられてもよい。ステップＳ５１７でＹＥＳであれば、つまりオペレータ呼出条件判定を満たすと判断して、ステップＳ５１９に進む。一方、ステップＳ５１７でＮＯであれば、つまりオペレータ呼出ボタンが押されていなければ、図１６に示したロボット１２の全体処理にリターンする。
【０１４０】
図１８は、図１６に示したステップＳ４０５の遠隔操作対応処理のフロー図である。図１８に示すように、ロボット１２のＣＰＵ６０は、遠隔操作対応処理を開始すると、ステップＳ６０１で、中央制御装置１４に対して、オペレータ呼出要求を送信し、当該要求に対する応答の受信を待つ。続いて、ステップＳ６０３では、中央制御装置１４から操作端末１６の紹介があったか否かを判断する。たとえば、操作端末１６のアドレス（ＩＰアドレス）を含む呼出応答を受信したか、エラーを受信したかが判断される。ステップＳ６０３でＮＯであれば、すなわち中央制御装置１４からエラーを受信した場合には、ステップＳ６１３で、エラー処理を実行して、図１６に示したロボット１２の全体処理にリターンする。
【０１４１】
たとえば、エラー処理では、利用可能な操作端末１６（オペレータ）が存在せず、オペレータの遠隔操作による制御が望めないので、ロボット１２は自立的にエラー対応処理を行う。たとえば、特定の文章や単語を検出した場合のように、ロボット１２自身で対処することができないような状況では、「手空きのオペレータがおりませんので、しばらくお待ちください。」、「申し訳ございません。対応できるオペレータが存在しません。」といった発話を含むコミュニケーション行動を実行するようにすることができる。これによって、ロボット１２は、対話相手に、自身が対応不可能な状態であることを知らせることができ、また対話相手の違った反応を引き出して、自立制御で対応可能な状態に変化することが期待される。また、ＶＩＰが来たり多くの人に囲まれたりした状況では、エラー対応としての発話や身振りを特に提示せずに、自立制御を継続するようにしてもよい。ただし、エラーを受信してから一定時間経過後に呼出要求を再送信するようにしてもよい。
【０１４２】
なお、ステップＳ６１３で呼出要求に対する応答の受信待ち時間切れになったと判断されるときには、たとえば、通信困難であることを対話相手に通知したり、呼び出しを再度試みたりしてから、全体に処理にリターンする。
【０１４３】
また、ステップＳ６０３でＹＥＳであれば、すなわち、中央制御装置１４から操作端末１６を紹介された場合は、ステップＳ６０５に進む。なお、上述したように、中央制御装置１４からの紹介は、中央制御装置１４が操作端末１６の識別情報（ＩＰアドレス）を送信することにより行われる。ここで、操作端末１６の紹介があったときは、遠隔操作対応モードに移行して、続くステップＳ６０５−Ｓ６１１の処理を一定時間後に繰り返し実行する。この遠隔操作対応モードでは、ロボット１２の動作は、遠隔操作があったときには操作コマンドに従った動作を実行するが、遠隔操作がないときには自律制御する。
【０１４４】
ステップＳ６０５では、紹介された操作端末１６に対して、センサ情報（音声情報，カメラ情報およびセンサ情報など）を送信する。すなわち、マイク５４が取得した音声情報（対話相手の発話音声），眼カメラ５８が撮影したカメラ情報および赤外線距離センサ２８による障害物（対話相手）までの距離などが操作端末１６に対して送信される。
【０１４５】
続いてステップＳ６０７では、操作端末１６から、自身の動作を制御する操作コマンド（音声情報の送信も含む）を受信したか否かを判断する。ステップＳ６０７でＮＯであれば、すなわち、操作コマンドを受信しなかった場合には、ステップＳ６０５に戻る。
【０１４６】
一方、ステップＳ６０７でＹＥＳであれば、すなわち、操作端末１６からの操作コマンドを受信した場合には、ステップＳ６０９で遠隔操作終了要求があったか否かを判断する。つまり、ステップＳ６０７で受信した操作コマンドが、遠隔操作終了コマンドであったか否かを判断する。
【０１４７】
ステップＳ６０９でＮＯであれば、すなわちコミュニケーション行動を指示する操作コマンドを受信した場合には、ステップＳ６１１で、当該操作コマンドに応じた動作を実行して、ステップＳ６０５に戻る。このステップＳ６１１の処理によって、上述したように、ロボット１２の動作が遠隔操作に基づいて制御される。たとえば、スピーカ５２およびマイク５４を用いた当該操作端末を使用するオペレータと対話相手との会話，お辞儀や指差しなどの身体動作および前進や旋回などの移動を実行する。
【０１４８】
なお、操作コマンドを受信したときに、自律制御によってコミュニケーション行動などを実行中であった場合には、当該実行中の行動が終了するのを待ってから操作コマンドに対応する動作を実行してもよいし、当該実行中の行動を中止してから操作コマンドに対応する動作を実行してもよい。
【０１４９】
一方、ステップＳ６０９でＹＥＳであれば、図１６に示すロボット１２の全体処理にリターンする。つまり、ステップＳ６０９でＹＥＳと判断されるか、ステップＳ６１３の処理が終了すれば、ロボット１２の動作モードは遠隔操作対応モードから自律制御モードに戻る。
【０１５０】
図１９は、操作端末１６のＣＰＵの遠隔操作処理のフロー図である。図１９に示すように、操作端末１６のＣＰＵは、遠隔操作処理を開始すると、ステップＳ７０１で、中央制御装置１４からの遠隔操作依頼が有るか否かを判断する。具体的には、中央制御装置１４から送信されたロボット１２のＩＰアドレスを含む遠隔操作依頼を受信したか否かが判断される。
【０１５１】
ステップＳ７０１でＮＯであれば、すなわち、中央制御装置１４からの遠隔操作依頼がなければ、そのまま同じステップＳ７０１に戻る。ただし、このステップＳ７０１の処理は一定時間（たとえば、３０秒）毎に実行される。一方、ステップＳ７０１でＹＥＳであれば、すなわち、中央制御装置１４からの遠隔操作依頼を有れば、ステップＳ７０３で、表示装置に図６や図１５に示したような遠隔操作画面２１０が表示される。
【０１５２】
なお、この遠隔操作画面２１０を表示した当初では、当該操作端末１６を呼び出したロボット１２のカメラ画像および当該ロボット１２に関する情報は取得されていないので、ロボットカメラ画像２１２の内容の表示はない。続いて、ステップＳ７０５では、音声チャット処理の実行指示が有るか否かを判断する。ステップＳ７０５でＹＥＳであれば、すなわち、中央制御装置１４から音声チャット処理の実行指示がされれば、ステップＳ７０７で、音声チャット処理を実行する。すなわち、中央制御装置１４の指示に従い、音声チャット処理を実行する。また、ステップＳ７０７の処理が終了すれば、ステップＳ７０９に進む。同様にして、ステップＳ７０５でＮＯであっても、ステップＳ７０９に進む。さらに、ステップＳ７０５またはステップＳ７０７の処理が終了すると、続くステップＳ７０９−Ｓ７１７の処理が一定時間ごとに繰り返し実行される。
【０１５３】
ステップＳ７０９では、ロボット情報の受信および更新が行われる。すなわち、中央制御装置１４またはロボット１２からロボット情報を受信して、遠隔操作画面２１０のロボット情報２１４の表示を更新する。なお、ロボット情報２１４を最初に表示する際には、当該ロボット１２の位置，名前および対話相手の情報などは中央制御装置１４から取得される。また、地図表示のためのロボット１２および相手の位置情報は当該ロボット１２から取得される。
【０１５４】
続いて、ステップＳ７１１では、センサ情報（音声情報，カメラ情報および距離情報など）の受信および更新が行われる。すなわち、ロボット１２から音声情報を受信して、操作端末１６のスピーカから当該音声情報を出力する。また、ロボット１２からカメラ情報を受信して、遠隔操作画面のロボットカメラ画像２１２の表示を更新する。さらに、ロボット１２から距離情報を受信して、障害物（対話相手）までの距離を表示する。
【０１５５】
なお、ロボット１２と当該操作端末１６との通信速度Ｓによっては、ロボット１２から送信されないセンサ情報があるため、かかる場合には、一部または全部のセンサ情報についての表示に制限がかかる。
【０１５６】
続いてステップＳ７１３では、操作コマンドの入力があったか否かを判断する。たとえば、入力装置からの入力データと操作パネル２１６のボタン配置データとに基づいて、オペレータによって操作コマンドボタンが選択されたか否かが判断される。ステップＳ７１３でＮＯであれば、すなわち、操作コマンドの入力が無い場合には、そのままステップＳ７０９に戻る。
【０１５７】
一方、ステップＳ７１３でＹＥＳであれば、すなわち、操作コマンドの入力があった場合には、ステップＳ７１５で、選択された操作コマンドを特定し、当該操作コマンドをロボット１２に送信する。
【０１５８】
そして、ステップＳ７１７で、遠隔操作の終了要求があったか否かを判断する。つまり、ステップＳ７１３で入力された操作コマンドが遠隔操作の終了を指示するコマンド（終了コマンド）であるか否かを判断する。ステップＳ７１３でＮＯであれば、すなわち終了コマンドが入力されていない場合には、そのままステップＳ７０９に戻る。一方、ステップＳ７１７でＹＥＳであれば、すなわち、オペレータによって終了コマンドが入力された場合には、遠隔操作処理を終了する。
【０１５９】
この実施例によれば、ロボットからの呼出要求があると、ロボットの対話相手の要求を満たすスキルを持つ１人または複数のオペレータを選択し、選択した１人または複数のオペレータがロボットを遠隔操作し、当該ロボットを通して、対話相手とコミュニケーションすることができる。したがって、対話相手の要求に適切に対応することができる。
【０１６０】
なお、本実施例では、赤外線距離センサ２８を用いているが、赤外線距離センサ２８に代えて、超音波距離センサやミリ波レーダなどを用いてロボット１２と対話相手との距離を計測してもよい。また、オペレータ選択処理では、３つ言語の「らしさ演算」を行っているが、必要に応じて言語の数を増やしてもよい。
【０１６１】
また、ロボット１２のオペレータの呼出フラグは、体表に設けた接触などを検出するセンサ（たとえば、皮膚センサ）で、そのロボット１２自身が殴られたことを検出し、オンになるようにしてもよい。また、ロボット１２は、呼出要求を送信する場合に、さらに、一時的にロボットセンサ情報（音声情報，カメラ情報および距離情報など）が記憶されるようにしてもよい。
【図面の簡単な説明】
【０１６２】
【図１】図１はこの発明の一実施例のロボット遠隔操作システムの概要を示す図解図である。
【図２】図２は図１に示すロボットの外観を正面から見た図解図である。
【図３】図３は図１に示すロボットの電気的な構成を示すブロック図である。
【図４】図４は図１に示す中央制御装置のデータベースに記憶されるロボット情報テーブルの一例を示す図解図である。
【図５】図５は図１に示す中央制御装置のデータベースに記憶されるオペレータ端末情報テーブルの一例を示す図解図である。
【図６】図６は図１に示す操作端末の表示装置に表示される遠隔操作画面の一例を示す図解図である。
【図７】図７は図１に示す中央制御措置のＣＰＵの全体処理を示すフロー図である。
【図８】図８は図１に示す中央制御措置のＣＰＵのオペレータ選択処理の一部を示すフロー図である。
【図９】図９は図１に示す中央制御措置のＣＰＵのオペレータ選択処理の他の一部であって、図８に後続するフロー図である。
【図１０】図１０は図１に示す中央制御措置のＣＰＵのオペレータ選択処理のその他の一部であって、図９に後続するフロー図である。
【図１１】図１１は図１に示す中央制御措置のＣＰＵのオペレータ選択処理のさらに他の一部であって、図１０に後続するフロー図である。
【図１２】図１２は図１に示す中央制御措置のＣＰＵの条件リスト作成処理を示すフロー図である。
【図１３】図１３は図１に示す中央制御措置のＣＰＵのオペレータの検索処理を示すフロー図である。
【図１４】図１４は図１に示す中央制御措置のＣＰＵのセンサ情報選択処理を示すフロー図である。
【図１５】図１５は図１に示す操作端末の表示装置に表示される遠隔操作画面の他の例を示す図解図である。
【図１６】図１６は図１に示すロボットのＣＰＵの全体処理を示すフロー図である。
【図１７】図１７は図１に示すロボットのＣＰＵのオペレータ呼出条件判定処理を示すフロー図である。
【図１８】図１８は図１に示すロボットのＣＰＵの遠隔操作対応処理を示すフロー図である。
【図１９】図１９は図１に示す操作端末のＣＰＵの遠隔操作処理を示すフロー図である。
【符号の説明】
【０１６３】
１０  …ロボット遠隔操作システム
１２  …コミュニケーションロボット
１４  …中央制御装置
１６  …操作端末
２８  …超音波距離センサ
３４  …全方位カメラ
４６  …接触センサ
５２  …スピーカ
５４  …マイク
５８  …眼カメラ
６０  …ＣＰＵ
６２  …バス
６４  …メモリ
６６  …モータ制御ボード
６８  …センサ入力／出力ボード
７０  …音声入力／出力ボード
８２  …通信ＬＡＮボード
８４  …無線通信装置
８６  …無線タグ読取装置
１００  …ネットワーク
【図１】
0005070441.tif 000002
【図２】
0005070441.tif 000003
【図３】
0005070441.tif 000004
【図４】
0005070441.tif 000005
【図５】
0005070441.tif 000006
【図６】
0005070441.tif 000007
【図７】
0005070441.tif 000008
【図８】
0005070441.tif 000009
【図９】
0005070441.tif 000010
【図１０】
0005070441.tif 000011
【図１１】
0005070441.tif 000012
【図１２】
0005070441.tif 000013
【図１３】
0005070441.tif 000014
【図１４】
0005070441.tif 000015
【図１５】
0005070441.tif 000016
【図１６】
0005070441.tif 000017
【図１７】
0005070441.tif 000018
【図１８】
0005070441.tif 000019
【図１９】
0005070441.tif 000020