(57)【特許請求の範囲】
【請求項１】
役割を持った複数の人間の移動行動データから構成されるデータベースおよび役割が設定されるロボットを含む、ロボットの移動制御システムであって、
前記ロボットに設定された役割に基づいて前記データベースから移動行動データを選択する選択手段、
前記選択手段によって選択された移動行動データから前記ロボットの複数の移動行動を予測する第１予測手段、
前記第１予測手段によって予測された複数の移動行動のそれぞれの発生確率を算出する算出手段、および
前記算出手段によって算出された複数の発生確率に基づいて、前記ロボットに移動行動を指示する指示手段を備える、ロボットの移動制御システム。
【請求項２】
前記ロボットの移動軌跡を取得する移動軌跡取得手段をさらに備え、
前記選択手段は、前記移動軌跡取得手段によって取得された移動軌跡、前記ロボットに設定された役割および各移動行動データに含まれる移動軌跡に基づいて、前記データベースから移動行動データを選択する、請求項１記載のロボットの移動制御システム。
【請求項３】
前記第１予測手段によって予測された移動行動は、前記ロボットの将来位置を含み、
前記ロボットの周囲に人間が存在するとき、人間の将来位置を予測する第２予測手段をさらに備え、
前記算出手段は、前記第２予測手段によって予測された人間の将来位置を除いた前記ロボットの将来位置に基づいて、複数の移動行動の発生確率を算出する、請求項１または２記載のロボットの移動制御システム。
【請求項４】
役割を持った複数の人間の移動行動データから構成されるデータベースおよび役割が設定されるロボットを含む、ロボットの移動制御システムのプロセッサによって実行されるロボットの移動制御プログラムであって、
前記ロボットの移動制御システムのプロセッサを、
前記ロボットに設定された役割に基づいて前記データベースから移動行動データを選択する選択手段、
前記選択手段によって選択された移動行動データから前記ロボットの複数の移動行動を予測する予測手段、
前記予測手段によって予測された複数の移動行動のそれぞれの発生確率を算出する算出手段、および
前記算出手段によって算出された複数の発生確率に基づいて、前記ロボットに移動行動を指示する指示手段として機能させる、ロボットの移動制御プログラム。
【請求項５】
役割を持った複数の人間の移動行動データから構成されるデータベースおよび役割が設定されるロボットを含む、ロボットの移動制御システムにおけるロボットの移動制御方法であって、前記ロボットの移動制御システムのプロセッサが、
前記ロボットに設定された役割に基づいて前記データベースから移動行動データを選択する選択ステップ、
前記選択ステップによって選択された移動行動データから前記ロボットの複数の移動行動を予測する予測ステップ、
前記予測ステップによって予測された複数の移動行動のそれぞれの発生確率を算出する算出ステップ、および
前記算出ステップによって算出された複数の発生確率に基づいて、前記ロボットに移動行動を指示する指示ステップを実行する、ロボットの移動制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ロボットの移動制御システム、ロボットの移動制御プログラムおよびロボットの移動制御方法に関し、特にたとえば、ロボットの移動行動を決定する、ロボットの移動制御システム、ロボットの移動制御プログラムおよびロボットの移動制御方法に関する。
【背景技術】
【０００２】
非特許文献１に開示されている、環境情報構造化システムは、大量に蓄積された人々の行動から、環境の意味や行動を理解し、人々の大局行動を予測する。そして、予測された結果を利用して、ロボットは、特定の大局行動を行う人間に対して、サービスを提供することができる。
【非特許文献１】Takayuki Kanda, Dylan F. Glas, Masahiro Shiomi, Hiroshi Ishiguro and Norihiro Hagita, Who will be the customer?: A social robot that anticipates people’s behavior from their trajectories, Tenth International Conference on Ubiquitous Computing  (UbiComp 2008), pp.380-389, 2008
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ところが、大量に蓄積された人々の行動を利用して、ロボットの移動行動を決定するようなシステムは存在しなかった。
【０００４】
それゆえに、この発明の主たる目的は、新規な、ロボットの移動制御システム、ロボットの移動制御プログラムおよびロボットの移動制御方法を提供することである。
【０００５】
この発明の他の目的は、役割が設定されたロボットの移動行動を決定することができる、ロボットの移動制御システム、ロボットの移動制御プログラムおよびロボットの移動制御方法を提供することである。
【課題を解決するための手段】
【０００６】
この発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、この発明の理解を助けるために記述する実施形態との対応関係を示したものであって、この発明を何ら限定するものではない。
【０００７】
第１の発明は、役割を持った複数の人間の移動行動データから構成されるデータベースおよび役割が設定されるロボットを含む、ロボットの移動制御システムであって、ロボットに設定された役割に基づいてデータベースから移動行動データを選択する選択手段、選択手段によって選択された移動行動データからロボットの複数の移動行動を予測する第１予測手段、第１予測手段によって予測された複数の移動行動のそれぞれの発生確率を算出する算出手段、および算出手段によって算出された複数の発生確率に基づいて、ロボットに移動行動を指示する指示手段を備える、ロボットの移動制御システムである。
【０００８】
第１の発明では、移動制御システム（１００：実施例において対応する部分を例示する参照符号。以下、同じ。）は、複数の移動行動データから構成されるデータベース（２０）およびロボット（１４）を含む。また、移動行動データは役割を持った人間の移動軌跡および行動を含み、ロボットには人間が持つ役割が設定される。たとえば、ロボットに「話しかけやすい警備員」の役割が設定されていれば、選択手段（１６，Ｓ４７）は、「話しかけやすい警備員」の移動行動データがデータベースから選択される。第１予測手段（１６，Ｓ４９）は、役割が設定されたロボットの複数の移動行動を、選択された移動行動データに基づいて予測する。算出手段（１６，Ｓ５７，Ｓ５９）は、予測された複数の移動行動のそれぞれの発生確率を算出する。そして、指示手段（１６，Ｓ６１，Ｓ６３）は、たとえば、算出された発生確率が最も高い移動行動を、ロボットに指示する。
【０００９】
第１の発明によれば、ロボットと同じ役割を持った人間の移動行動データに基づいて、ロボットの移動行動を決定することができる。そのため、役割が設定されたロボットを、同じ役割を持った人間と同じように動作させることができる。
【００１０】
第２の発明は、第１の発明に従属し、ロボットの移動軌跡を取得する移動軌跡取得手段をさらに備え、選択手段は、移動軌跡取得手段によって取得された移動軌跡、ロボットに設定された役割および各移動行動データに含まれる移動軌跡に基づいて、データベースから移動行動データを選択する。
【００１１】
第２の発明では、移動軌跡取得手段（１６，Ｓ４５）は、たとえば、ＬＲＦ（１２）によって連続して取得されたロボットの現在位置を、ロボットの移動軌跡として取得する。そして、ロボットの移動軌跡役割および各移動行動データに含まれる移動軌跡に基づいて、データベースから移動行動データが選択される。
【００１２】
第２の発明によれば、ロボットの現在位置やそれまでの移動を考慮して、ロボットの移動行動を決めることができる。
【００１３】
第３の発明は、第１の発明または第２の発明に従属し、第１予測手段によって予測された移動行動は、ロボットの将来位置を含み、ロボットの周囲に人間が存在するとき、人間の将来位置を予測する第２予測手段をさらに備え、算出手段は、第２予測手段によって予測された人間の将来位置を除いたロボットの将来位置に基づいて、複数の移動行動の発生確率を算出する。
【００１４】
第３の発明では、第１予測手段は、ロボットの移動行動として、ロボットの将来位置も予測する。第２予測手段（１６，Ｓ５５）は、たとえばロボットと人間とが同じ領域（Ｅ）に存在する場合、人間の将来位置を予測する。また、第２予測手段は、役割に関係なく蓄積された移動行動データに基づいて人間の将来位置を予測する。そして、算出手段は、予測された人間の将来位置が除かれたロボットの将来位置に基づいて、複数の移動行動の発生確率を算出する。
【００１５】
第３の発明によれば、人間が居る位置にはロボットは進むことができないため、人間の将来位置ではロボットの移動行動が予測されないようにできる。
【００１６】
第４の発明は、役割を持った複数の人間の移動行動データから構成されるデータベース（２０）および役割が設定されるロボット（１４）を含む、ロボットの移動制御システム（１００）のプロセッサ（１６）によって実行されるロボットの移動制御プログラムであって、ロボットの移動制御システムのプロセッサを、ロボットに設定された役割に基づいてデータベースから移動行動データを選択する選択手段（Ｓ４７）、選択手段によって選択された移動行動データからロボットの複数の移動行動を予測する予測手段（Ｓ４９）、予測手段によって予測された複数の移動行動のそれぞれの発生確率を算出する算出手段（Ｓ５７，Ｓ５９）、および算出手段によって算出された複数の発生確率に基づいて、ロボットに移動行動を指示する指示手段（Ｓ６１，Ｓ６３）として機能させる、ロボットの移動制御プログラムである。
【００１７】
第４の発明でも、第１の発明と同様、ロボットと同じ役割を持った人間の移動行動データに基づいて、ロボットの移動行動を決定することができる。そのため、役割が設定されたロボットを、同じ役割を持った人間と同じように動作させることができる。
【００１８】
第５の発明は、役割を持った複数の人間の移動行動データから構成されるデータベース（２０）および役割が設定されるロボット（１４）を含む、ロボットの移動制御システム（１００）におけるロボットの移動制御方法であって、ロボットの移動制御システムのプロセッサが、ロボットに設定された役割に基づいてデータベースから移動行動データを選択する選択ステップ（Ｓ４７）、選択ステップによって選択された移動行動データからロボットの複数の移動行動を予測する予測ステップ（Ｓ４９）、予測ステップによって予測された複数の移動行動のそれぞれの発生確率を算出する算出ステップ（Ｓ５７，Ｓ５９）、および算出ステップによって算出された複数の発生確率に基づいて、ロボットに移動行動を指示する指示ステップ（Ｓ６１，Ｓ６３）を実行する、ロボットの移動制御方法である。
【００１９】
第５の発明でも、第１の発明と同様、ロボットと同じ役割を持った人間の移動行動データに基づいて、ロボットの移動行動を決定することができる。そのため、役割が設定されたロボットを、同じ役割を持った人間と同じように動作させることができる。
【発明の効果】
【００２０】
この発明によれば、ロボットと同じ役割を持った人間の移動行動データに基づいて、ロボットの移動行動が決まる。そのため、システムの管理者は、役割が設定されたロボットを、同じ役割を持った人間と同じように動作させることができる。
【００２１】
この発明の上述の目的、その他の目的、特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００２２】
【図１】図１はこの発明の一実施例のロボットの移動制御システムの概要を示す図解図である。
【図２】図２は図１に示すロボットの外観を正面から見た図解図である。
【図３】図３は図１に示すロボットの電気的な構成を示すブロック図である。
【図４】図４は図１に示す中央制御装置の電気的な構成を示すブロック図である。
【図５】図５は図１および図４に示すＬＲＦの計測領域を示す図解図である。
【図６】図６は図１および図４に示すＬＲＦを利用して検出された移動軌跡の一例を示す図解図である。
【図７】図７は図４に示す役割データベースに含まれるテーブルの一例を示す図解図である。
【図８】図８は図１に示す中央制御措置によって検出された移動行動データの一例を示す図解図である。
【図９】図９は図４に示す役割データベースに含まれる代表移動行動データの一例を示す図解図である。
【図１０】図１０は図１に示すロボットが移動している様子の一例を示す図解図である。
【図１１】図１１は図１に示すロボットの移動が制御されている様子の一例を示す図解図である。
【図１２】図１２は図１に示すロボットの移動が制御されている様子の他の一例を示す図解図である。
【図１３】図１３は図４に示すメモリのメモリマップの一例を示す図解図である。
【図１４】図１４は図４に示すＣＰＵの役割データベース構築処理を示すフロー図である。
【図１５】図１５は図４に示すＣＰＵの役割設定処理を示すフロー図である。
【図１６】図１６は図４に示すＣＰＵの移動制御処理の一部を示すフロー図である。
【図１７】図１７は図４に示すＣＰＵの移動制御処理の一部であって、図１６に後続するフロー図である。
【発明を実施するための形態】
【００２３】
図１を参照して、この実施例のロボットの移動制御システム１００は、ＬＲＦ１２ａ，１２ｂを含む数台のＬＲＦを有する中央制御装置１０および自律移動ロボット（以下、単に「ロボット」と言う。）１４を備える。ＬＲＦ１２ａ，１２ｂは、人間が任意に移動することができる場所（環境）に設置される。なお、人間が任意に行動する場所は、会社のフロア、博物館、ショッピングモールまたはアトラクション会場などであり、ＬＲＦ１２ａ，１２ｂは様々な場所に設置される。
【００２４】
中央制御装置１０は、ＬＲＦ１２ａ，１２ｂによって、任意に移動する人間の移動軌跡を検出する。また、中央制御装置１０は、ＬＲＦ１２ａ，１２ｂなどによって取得された移動軌跡およびその移動軌跡が示す移動態様（行動）から構成される移動行動データを、データベースに蓄積する。さらに、中央制御装置１０は、ネットワーク２００を介して、ロボット１４に役割を設定したり、役割に応じた移動行動の動作命令をロボット１４に付与したりする。なお、移動態様、つまり行動は、後述する空間グリッド内における移動速度に基づいて求めることができる。
【００２５】
ロボット１４は、システムの管理者によって役割が設定され、中央制御装置１０が付与する動作命令に基づいて動作する。また、ロボット１４は、相互作用指向のロボット（コミュニケーションロボット）でもあり、人間のようなコミュニケーションの対象（コミュニケーション対象）との間で、身振り手振りのような身体動作および音声の少なくとも一方を含むコミュニケーション行動を実行する機能を備えている。
【００２６】
なお、図１では簡単のため人間は１人しか示していないが、中央制御装置１０は２人以上の位置を同時に検出することができる。さらに、ロボット１４も同様に１台しか示していないが、中央制御装置１０は２台以上のロボット１４を同時に管理することができる。
【００２７】
図２はこの実施例のロボット１４の外観を示す正面図である。図２を参照して、ロボット１４は台車３０を含み、台車３０の下面にはロボット１４を自律移動させる２つの車輪３２および１つの従輪３４が設けられる。２つの車輪３２は車輪モータ３６（図３参照）によってそれぞれ独立に駆動され、台車３０すなわちロボット１４を前後左右の任意方向に動かすことができる。また、従輪３４は車輪３２を補助する補助輪である。したがって、ロボット１４は、配置された空間内を自律制御によって移動可能である。
【００２８】
台車３０の上には、円柱形のセンサ取り付けパネル３８が設けられ、このセンサ取り付けパネル３８には、多数の赤外線距離センサ４０が取り付けられる。これらの赤外線距離センサ４０は、センサ取り付けパネル３８すなわちロボット１４の周囲の物体（人間や障害物など）との距離を測定するものである。
【００２９】
なお、この実施例では、距離センサとして、赤外線距離センサを用いるようにしてあるが、赤外線距離センサに代えて、小型のＬＲＦや、超音波距離センサおよびミリ波レーダなどを用いることもできる。
【００３０】
センサ取り付けパネル３８の上には、胴体４２が直立するように設けられる。また、胴体４２の前方中央上部（人の胸に相当する位置）には、上述した赤外線距離センサ４０がさらに設けられ、ロボット１４の前方の主として人間との距離を計測する。また、胴体４２には、その側面側上端部のほぼ中央から伸びる支柱４４が設けられ、支柱４４の上には、全方位カメラ４６が設けられる。全方位カメラ４６は、ロボット１４の周囲を撮影するものであり、後述する眼カメラ７０とは区別される。この全方位カメラ４６としては、たとえばCCDやCMOSのような固体撮像素子を用いるカメラを採用することができる。なお、これら赤外線距離センサ４０および全方位カメラ４６の設置位置は、当該部位に限定されず適宜変更され得る。
【００３１】
胴体４２の両側面上端部（人の肩に相当する位置）には、それぞれ、肩関節４８Ｒおよび肩関節４８Ｌによって、上腕５０Ｒおよび上腕５０Ｌが設けられる。図示は省略するが、肩関節４８Ｒおよび肩関節４８Ｌは、それぞれ、直交する３軸の自由度を有する。すなわち、肩関節４８Ｒは、直交する３軸のそれぞれの軸廻りにおいて上腕５０Ｒの角度を制御できる。肩関節４８Ｒの或る軸（ヨー軸）は、上腕５０Ｒの長手方向（または軸）に平行な軸であり、他の２軸（ピッチ軸およびロール軸）は、その軸にそれぞれ異なる方向から直交する軸である。同様にして、肩関節４８Ｌは、直交する３軸のそれぞれの軸廻りにおいて上腕５０Ｌの角度を制御できる。肩関節４８Ｌの或る軸（ヨー軸）は、上腕５０Ｌの長手方向（または軸）に平行な軸であり、他の２軸（ピッチ軸およびロール軸）は、その軸にそれぞれ異なる方向から直交する軸である。
【００３２】
また、上腕５０Ｒおよび上腕５０Ｌのそれぞれの先端には、肘関節５２Ｒおよび肘関節５２Ｌが設けられる。図示は省略するが、肘関節５２Ｒおよび肘関節５２Ｌは、それぞれ１軸の自由度を有し、この軸（ピッチ軸）の軸回りにおいて前腕５４Ｒおよび前腕５４Ｌの角度を制御できる。
【００３３】
前腕５４Ｒおよび前腕５４Ｌのそれぞれの先端には、人の手に相当する球体５６Ｒおよび球体５６Ｌがそれぞれ固定的に設けられる。ただし、指や掌の機能が必要な場合には、人間の手の形をした「手」を用いることも可能である。また、図示は省略するが、台車３０の前面、肩関節４８Ｒと肩関節４８Ｌとを含む肩に相当する部位、上腕５０Ｒ、上腕５０Ｌ、前腕５４Ｒ、前腕５４Ｌ、球体５６Ｒおよび球体５６Ｌには、それぞれ、接触センサ５８（図３で包括的に示す）が設けられる。台車３０の前面の接触センサ５８は、台車３０への人間や他の障害物の接触を検知する。したがって、ロボット１４は、自身の移動中に障害物との接触が有ると、それを検知し、直ちに車輪３２の駆動を停止してロボット１４の移動を急停止させることができる。また、その他の接触センサ５８は、当該各部位に触れたかどうかを検知する。なお、接触センサ５８の設置位置は、当該部位に限定されず、適宜な位置（人の胸、腹、脇、背中および腰に相当する位置）に設けられてもよい。
【００３４】
胴体４２の中央上部（人の首に相当する位置）には首関節６０が設けられ、さらにその上には頭部６２が設けられる。図示は省略するが、首関節６０は、３軸の自由度を有し、３軸の各軸廻りに角度制御可能である。或る軸（ヨー軸）はロボット１４の真上（鉛直上向き）に向かう軸であり、他の２軸（ピッチ軸、ロール軸）は、それぞれ、それと異なる方向で直交する軸である。
【００３５】
頭部６２には、人の口に相当する位置に、スピーカ６４が設けられる。スピーカ６４は、ロボット１４が、それの周辺の人間に対して音声ないし音によってコミュニケーションを取るために用いられる。また、人の耳に相当する位置には、マイク６６Ｒおよびマイク６６Ｌが設けられる。以下、右のマイク６６Ｒと左のマイク６６Ｌとをまとめてマイク６６と言うことがある。マイク６６は、周囲の音、とりわけコミュニケーションを実行する対象である人間の音声を取り込む。さらに、人の目に相当する位置には、眼球部６８Ｒおよび眼球部６８Ｌが設けられる。眼球部６８Ｒおよび眼球部６８Ｌは、それぞれ眼カメラ７０Ｒおよび眼カメラ７０Ｌを含む。以下、右の眼球部６８Ｒと左の眼球部６８Ｌとをまとめて眼球部６８と言うことがある。また、右の眼カメラ７０Ｒと左の眼カメラ７０Ｌとをまとめて眼カメラ７０と言うことがある。
【００３６】
眼カメラ７０は、ロボット１４に接近した人間の顔や他の部分ないし物体などを撮影して、それに対応する映像信号を取り込む。また、眼カメラ７０は、上述した全方位カメラ４６と同様のカメラを用いることができる。たとえば、眼カメラ７０は、眼球部６８内に固定され、眼球部６８は、眼球支持部（図示せず）を介して頭部６２内の所定位置に取り付けられる。図示は省略するが、眼球支持部は、２軸の自由度を有し、それらの各軸廻りに角度制御可能である。たとえば、この２軸の一方は、頭部６２の上に向かう方向の軸（ヨー軸）であり、他方は、一方の軸に直交しかつ頭部６２の正面側（顔）が向く方向に直行する方向の軸（ピッチ軸）である。眼球支持部がこの２軸の各軸廻りに回転されることによって、眼球部６８ないし眼カメラ７０の先端（正面）側が変位され、カメラ軸すなわち視線方向が移動される。なお、上述のスピーカ６４、マイク６６および眼カメラ７０の設置位置は、当該部位に限定されず、適宜な位置に設けられてよい。
【００３７】
このように、この実施例のロボット１４は、車輪３２の独立２軸駆動、肩関節４８の３自由度（左右で６自由度）、肘関節５２の１自由度（左右で２自由度）、首関節６０の３自由度および眼球支持部の２自由度（左右で４自由度）の合計１７自由度を有する。
【００３８】
図３はロボット１４の電気的な構成を示すブロック図である。この図３を参照して、ロボット１４は、ＣＰＵ８０を含む。ＣＰＵ８０は、マイクロコンピュータ或いはプロセッサとも呼ばれ、バス８２を介して、メモリ８４、モータ制御ボード８６、センサ入力／出力ボード８８および音声入力／出力ボード９０に接続される。
【００３９】
メモリ８４は、図示は省略をするが、ROMおよびRAMを含む。ROMには、ロボット１４の動作を制御するための制御プログラムが予め記憶される。たとえば、各センサの出力（センサ情報）を検知するための検知プログラムや、外部コンピュータ（中央制御装置１０）との間で必要なデータやコマンドを送受信するための通信プログラムなどが記録される。また、RAMは、ＣＰＵ８０のワークメモリやバッファメモリとして用いられる。
【００４０】
モータ制御ボード８６は、たとえばDSPで構成され、各腕や首関節および眼球部などの各軸モータの駆動を制御する。すなわち、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、右眼球部６８Ｒの２軸のそれぞれの角度を制御する２つのモータ（図３では、まとめて「右眼球モータ９２」と示す）の回転角度を制御する。同様に、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、左眼球部６８Ｌの２軸のそれぞれの角度を制御する２つのモータ（図３では、まとめて「左眼球モータ９４」と示す）の回転角度を制御する。
【００４１】
また、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、肩関節４８Ｒの直交する３軸のそれぞれの角度を制御する３つのモータと肘関節５２Ｒの角度を制御する１つのモータとの計４つのモータ（図３では、まとめて「右腕モータ９６」と示す）の回転角度を制御する。同様に、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、肩関節４８Ｌの直交する３軸のそれぞれの角度を制御する３つのモータと肘関節５２Ｌの角度を制御する１つのモータとの計４つのモータ（図３では、まとめて「左腕モータ９８」と示す）の回転角度を制御する。
【００４２】
さらに、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、首関節６０の直交する３軸のそれぞれの角度を制御する３つのモータ（図３では、まとめて「頭部モータ１１０」と示す）の回転角度を制御する。そして、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、車輪３２を駆動する２つのモータ（図３では、まとめて「車輪モータ３６」と示す）の回転角度を制御する。なお、この実施例では、車輪モータ３６を除くモータは、制御を簡素化するためにステッピングモータ（すなわち、パルスモータ）を用いる。ただし、車輪モータ３６と同様に直流モータを用いるようにしてもよい。また、ロボット１４の身体部位を駆動するアクチュエータは、電流を動力源とするモータに限らず適宜変更されてもよい。たとえば、他の実施例では、エアアクチュエータなどが適用されてもよい。
【００４３】
センサ入力／出力ボード８８は、モータ制御ボード８６と同様に、DSPで構成され、各センサからの信号を取り込んでＣＰＵ８０に与える。すなわち、赤外線距離センサ４０のそれぞれからの反射時間に関するデータがこのセンサ入力／出力ボード８８を通じてＣＰＵ８０に入力される。また、全方位カメラ４６からの映像信号が、必要に応じてセンサ入力／出力ボード８８で所定の処理を施してからＣＰＵ８０に入力される。眼カメラ７０からの映像信号も、同様に、ＣＰＵ８０に入力される。また、上述した複数の接触センサ５８（図３では、まとめて「接触センサ５８」と示す）からの信号がセンサ入力／出力ボード８８を介してＣＰＵ８０に与えられる。音声入力／出力ボード９０もまた、同様に、DSPで構成され、ＣＰＵ８０から与えられる音声合成データに従った音声または声がスピーカ６４から出力される。また、マイク６６からの音声入力が、音声入力／出力ボード９０を介してＣＰＵ８０に与えられる。
【００４４】
また、ＣＰＵ８０は、バス８２を介して通信ＬＡＮボード１１２に接続される。通信ＬＡＮボード１１２は、たとえばDSPで構成され、ＣＰＵ８０から与えられた送信データを無線通信装置１１４に与え、無線通信装置１１４は送信データを、ネットワーク２００を介して外部コンピュータ（中央制御装置１０）に送信する。また、通信ＬＡＮボード１１２は、無線通信装置１１４を介してデータを受信し、受信したデータをＣＰＵ８０に与える。たとえば、送信データとしては、全方位カメラ４６および目カメラ７０によって撮影された周囲の映像データであったりする。
【００４５】
図４は中央制御装置１０の電気的な構成を示すブロック図である。図４を参照して、中央制御装置１０は、ＬＲＦ１２ａ−１２ｆおよびＣＰＵ１６などを含む。ＣＰＵ１６は、マイクロコンピュータ或いはプロセッサとも呼ばれる。また、ＣＰＵ１６には、先述したＬＲＦ１２ａおよびＬＲＦ１２ｂに加えて、ＬＲＦ１２ｃ，ＬＲＦ１２ｄ，ＬＲＦ１２ｅおよびＬＲＦ１２ｆも接続される。さらに、ＣＰＵ１６には、メモリ１８、役割データベース２０、予測用データベース２２および通信ＬＡＮボード２４も接続される。
【００４６】
なお、ＬＲＦ１２ａ−１２ｆを区別する必要がない場合には、まとめて「ＬＲＦ１２」と言う。
【００４７】
ＬＲＦ１２は、レーザーを照射し、物体（人間も含む）に反射して戻ってくるまでの時間から当該物体までの距離を計測するものである。たとえば、トランスミッタ（図示せず）から照射したレーザーを回転ミラー（図示せず）で反射させて、前方を扇状に一定角度（たとえば、０．５度）ずつスキャンする。ここで、ＬＲＦ１２としては、SICK社製のレーザーレンジファインダ（型式 LMS200）を用いることができる。このレーザーレンジファインダを用いた場合には、距離８mを±１５mm程度の誤差で計測可能である。
【００４８】
メモリ１８は、図示は省略をするが、ROM，HDDおよびRAMを含み、ROMおよびHDDには、中央制御装置１０の動作を制御するための制御プログラムが予め記憶される。たとえば、ＬＲＦ１２による人間の検出に必要なプログラムなどが記録される。また、RAMは、ＣＰＵ１６のワークメモリやバッファメモリとして用いられる。
【００４９】
役割データベース２０は、役割を持つ複数の人間の移動行動データから構成されるデータベースである。また、予測用データベース２２は、人間の役割に関係なく、移動行動データが一定期間（たとえば、１週間）蓄積されたデータベースである。そして、本実施例では、役割データベース２０を利用してロボット１４の移動が制御され、予測用データベース２２を利用して空間に存在する人間の将来位置などが予測される。
【００５０】
通信ＬＡＮボード２４は、たとえばDSPで構成され、ＣＰＵ１６から与えられた送信データを無線通信装置２６に与え、無線通信装置２４は送信データを、ネットワーク２００を介してロボット１４に送信する。たとえば、送信データとしては、ロボット１４に指示する動作命令の信号（コマンド）であったりする。また、通信ＬＡＮボード２４は、無線通信装置２６を介してデータを受信し、受信したデータをＣＰＵ１６に与える。
【００５１】
次に、ＬＲＦ１２について詳細に説明する。図５を参照して、ＬＲＦ１２の計測範囲は、半径ｒ（ｒ≒８m）の半円形状（扇形）で示される。つまり、ＬＲＦ１２は、その正面方向を中心とした場合に、左右９０度の方向を所定の距離（ｒ）以内で計測可能である。
【００５２】
また、使用しているレーザーは、日本工業規格 JIS C 6802「レーザー製品の安全基準」におけるクラス１レーザーであり、人の眼に対して影響を及ぼさない安全なレベルである。また、この実施例では、ＬＲＦ１２のサンプリングレートを３７Hzとした。これは、歩行するなどにより移動する人間の位置を連続して検出するためである。
【００５３】
さらに、ＬＲＦ１２の各々は、検出領域が重なるように配置され、図示は省略するが、床面から約９０cmの高さに固定される。この高さは、被験者の胴体と腕（両腕）とを検出可能とするためであり、たとえば、日本人の成人の平均身長から算出される。したがって、中央制御装置１０を設ける場所（地域ないし国）や被験者の年齢ないし年代（たとえば、子供，大人）に応じて、ＬＲＦ１２を固定する高さを適宜変更するようにしてよい。なお、本実施例では、設定されるＬＲＦ１２は６台としたが、２台以上であれば、任意の台数のＬＲＦ１２が設置されてもよい。
【００５４】
このような構成の中央制御装置１０では、ＣＰＵ１６がＬＲＦ１２からの出力（距離データ）に基づいて、パーティクルフィルタを用いて、人間の現在位置の変化を推定する。そして、推定された現在位置の変化は移動軌跡として記録される。
【００５５】
たとえば、図６を参照して、ＬＲＦ１２ａ，１２ｂは互いに向い合せに設置され、ＬＲＦ１２ａ，１２ｂの計測範囲が重なる範囲は斜線が付されて示される。斜線が付された範囲は検出領域Ｅとされ、この検出領域Ｅ内では人間の現在位置が連続的に検出される。そして、連続的に検出された現在位置の変化が移動軌跡ｔとなる。なお、検出領域Ｅ内は、Ｘ−Ｙ座標が設定され、人間の位置は（Ｘ，Ｙ）の座標で示すことができる。
【００５６】
役割データベース２０について詳細に説明する。役割データベース２０は、図７（Ａ）に示す役割テーブルと、図７（Ｂ）に示す代表移動行動データテーブルとを含む。
【００５７】
図７（Ａ）を参照して、役割テーブルは、役割ＩＤ、代表移動行動ＩＤおよび平均移動速度の列から構成される。また、代表移動行動ＩＤの列は、ｎ（ｎは自然数）個の代表移動行動ＩＤのそれぞれに対応する複数の列を含む。
【００５８】
役割ＩＤの列には、役割を識別するためのＩＤとして、「ａ」−「ｅ」が記録されている。たとえば、役割ＩＤ「ａ」は「話しかけやすい警備員」を表す。また、役割ＩＤの列に「ａ」と記録されている行では、代表移動行動ＩＤの各列には、代表移動行動ＩＤ「Ｔａ１」、「Ｔａ２」および「Ｔａｎ」などが記録され、平均移動速度の列には「７００mm/sec」が記録される。したがって、「話しかけやすい警備員」は、約７００mm/secの速度で、代表移動行動ＩＤ「Ｔａ１」、「Ｔａ２」または「Ｔａｎ」などによって示される移動軌跡（図９（Ａ），（Ｂ）参照）を描くように移動していることが分かる。
【００５９】
役割ＩＤ「ｂ」は「話しかけにくい警備員」を表す。また、役割ＩＤの列に「ｂ」と記録されている行では、代表移動行動ＩＤの各列には、代表移動行動ＩＤ「Ｔｂ１」、「Ｔｂ２」および「Ｔｂｎ」などが記録され、平均移動速度の列には「１２００mm/sec」が記録される。したがって、「話しかけにくい警備員」は、約１２００mm/secの速度で、代表移動行動ＩＤ「Ｔｂ１」、「Ｔｂ２」または「Ｔｂｎ」などによって示される移動軌跡（図９（Ｃ），（Ｄ）参照）を描くように移動していることが分かる。
【００６０】
また、役割ＩＤ「ｃ」は「清掃員」を表し、役割ＩＤ「ｄ」は「あまり動かない監視員」を表し、役割ＩＤ「ｄ」は「受付係」を表す。また、これらの役割ＩＤが記録される行の代表移動行動ＩＤの列については、役割ＩＤ「ａ」または役割ＩＤ「ｂ」が記録される行と略同じ構成であるため、詳細な説明は省略する。そして、平均移動速度の列では、役割ＩＤ「ｃ」に対応して「６００mm/sec」が記録され、役割ＩＤ「ｄ」に対応して「１００mm/sec」が記録され、役割ＩＤ「ｅ」に対応して「０mm/sec」が記録される。
【００６１】
また、図７（Ｂ）を参照して、代表移動行動データテーブルは、代表移動行動ＩＤの列および移動行動データの列から構成される。代表移動行動ＩＤの列には、役割テーブルに記録される代表移動行動ＩＤと同じＩＤが記録される。また、移動行動データの列には、移動軌跡を構成する座標（Ｘ，Ｙ）と、その座標で行われた行動（Ａ）とから表される移動行動データが記録される。
【００６２】
たとえば、代表移動行動ＩＤ「Ｔａ１」に対応して、移動行動データの列には「（Ｘａ１，Ｙａ１，Ａａ１），（Ｘａ２，Ｙａ２，Ａａ２），…」が記録される。また、代表移動行動ＩＤ「Ｔｂ１」に対応して、移動行動データの列には「（Ｘｂ１，Ｙｂ１，Ａｂ１），（Ｘｂ２，Ｙｂ２，Ａｂ２），…」が記録される。そして、代表移動行動ＩＤ「Ｔｃ１」、「Ｔｄ１」および「Ｔｅ１」のそれぞれにも、対応する移動行動データが記録される。
【００６３】
このようにして、役割データベース２０には、役割に対応する移動行動データが記録される。また、代表移動行動データが読み出される場合、役割テーブルが参照された後に、ロボット１４に設定された役割に対応する移動行動データが読みされる。
【００６４】
なお、これらの５つの役割は、街角で活動する人々を想定して決められたものだが、他の実施例では場所や状況に応じて他の役割が付加されてもよい。たとえば、他の実施例では、数分は一か所で静止し、その後、少し身体の向きを変えたり移動したりする「あまり移動しない警備員」の役割が追加されてもよい。
【００６５】
次に、移動行動データに含まれる移動軌跡および行動について説明する。図８を参照して、検出領域Ｅが２５cm四方で空間グリッド化され、その検出領域Ｅを人間が移動すると、人間の移動軌跡Ｈｔが得られる。また、グリッド毎に移動速度が算出され、グリッド毎に行動（Ａ）が求められる。
【００６６】
たとえば、或るグリッドにおける移動速度が第１閾値（たとえば、１０mm/sec）以下であれば、そのグリッド内の行動は「立ち止まる」となる。また、移動速度が第１閾値よりも大きく第２閾値（８００mm/sec）以下であれば、グリッド内の行動は「ゆっくり直進」となる。さらに、移動速度が第２閾値よりも大きければ、グリッド内の移動速度は「早歩きで直進」となる。そして、図８では、行動が「立ち止まる」と判断されたグリッドは黄色（図面では水玉模様）に彩色され、行動が「ゆっくり直進」と判断されたグリッドは青色（図面では横縞模様）に彩色され、行動が「早歩きで直進」と判断されたグリッドは赤色（図面では縦縞模様）に彩色される。なお、本実施例における移動行動とは、上記した行動を伴う移動を意味する。
【００６７】
これらのことを踏まえて、「話しかけやすい警備員」および「話しかけにくい警備員」の代表移動行動データについて説明する。まず、図９（Ａ）の代表移動行動ＩＤ「Ｔａ１」の移動行動データは、「話しかけやすい警備員」が中央付近をうろうろするように「ゆっくり直進」していることを表す。また、図９（Ｂ）の代表移動行動ＩＤ「Ｔａ２」の移動行動データは、「話しかけやすい警備員」が空間の中央付近で円を描くように「ゆっくり直進」していることを表す。そして、これらの代表移動行動データから、「話しかけやすい警備員」は目的を持っていないかのように、中央付近をゆっくりと移動していることが分かる。
【００６８】
これに対して、図９（Ｃ）の代表移動行動ＩＤ「Ｔｂ１」の移動行動データは、「話しかけにくい警備員」が「早歩きで直進」しながら空間の縁に沿って空間内を一周していることを表す。また、図９（Ｄ）の代表移動行動ＩＤ「Ｔｂ２」の移動行動データは、「話しかけにくい警備員」が空間の右と上の淵を「早歩きで直進」していることを表す。そして、これらの代表移動行動データから、「話しかけにくい警備員」は目的を持っているかのように、素早く移動していることが分かる。
【００６９】
そして、本実施例では、ロボット１４に役割が設定されると、ロボット１４の役割などに基づいて代表移動行動データが選択され、選択された代表移動行動データに基づいてロボット１４の移動行動が制御される。
【００７０】
まず、代表移動行動データを選択するために、ＤＰマッチングを利用するため、ロボット１４の移動軌跡が状態列に変換される。また、役割テーブルにおいて、ロボット１４に設定されている役割を示す、代表移動行動ＩＤの行に基づいて、複数の代表移動行動データが読み出され、複数の代表移動行動データのそれぞれに含まれる移動軌跡が状態列に変換される。さらに、ロボット１４の状態列と各代表移動行動データの状態列それぞれとの類似度がＤＰマッチングによって算出される。そして、算出された類似度に基づいて、役割データベース２０から代表移動行動データが選択される。なお、ＤＰマッチングを利用して移動軌跡を比較する手法については、非特許文献１で開示されているため、詳細な説明は省略する。
【００７１】
このように、ロボット１４の移動軌跡を利用して代表移動行動データを選択することができるため、ロボット１４の現在位置やそれまでの移動を考慮して、ロボット１４の移動行動を決めることができる。
【００７２】
また、代表移動行動データが選択されると、ロボット１４の現在位置において、複数の将来位置および複数の将来位置における行動が予測される。さらに、予測された行動のそれぞれは発生確率が算出され、算出された各発生確率に基づいて、ロボットの１４の移動行動が決められる。そして、中央制御装置１０は、このようにして決められた移動行動に対応する動作命令を、ロボット１４に付与する。
【００７３】
たとえば、図１０に示す状態では、ロボット１０は左から右への移動軌跡を描きながら移動しており、そのロボット１４に「話しかけにくい警備員」が設定されている。この場合、ロボット１４の役割および移動軌跡などに基づいて、代表移動行動ＩＤ「ｂ」の行が参照され、代表移動行動ＩＤ「Ｔｂ１」の移動行動データ（図９（Ｃ）参照）が選択される。
【００７４】
そして、図１１（Ａ）を参照して、ロボット１４の将来位置および行動として、ロボット１４の右のグリッドに「早歩きで直進」、同じグリッドで「立ち止まる」、左のグリッドに「早歩きで直進」が予測される。さらに、予測された行動のそれぞれは発生確率が算出され、ロボット１４の移動先は、発生確率が最も高い行動が求められたグリッドに決められる。ここでは、右のグリッドに「早歩きで直進」の発生確率が最も高いため、図１１（Ｂ）に示すように、ロボット１４は「早歩きで直進」して右側のグリッドに移動する。
【００７５】
さらに、図１１（Ｃ），（Ｄ）を参照して、移動した先のグリッドにおいても、ロボット１４の将来位置および行動は予測され、右へ移動し続ける。つまり、ロボット１４は、代表移動行動ＩＤ「Ｔｂ１」の移動行動データに含まれる移動軌跡と同じように移動する。
【００７６】
たとえば、「話しかけやすい警備員」は、検出領域Ｅの中央付近をうろうろするような振る舞いが多くなる。そのため、ロボット１４に「話しかけやすい警備員」の役割が設定されている場合、検出領域Ｅの中央付近では、うろうろするような移動行動の発生確率が高くなる。一方、検出領域Ｅの縁などでは、中央付近に移動する移動行動の発生確率が高くなる。また、他の実施例において「あまり移動しない警備員」の役割がロボット１４に設定されていれば、数分は静止する移動行動の発生確率が高くなり、数分後には移動に関する移動行動の発生確率が高くなる。
【００７７】
このように、役割を持った人間の移動行動データを蓄積することで、データを蓄積した同一の空間では、管理者は、役割を持った人間と同じようにロボット１４を動作させることができる。
【００７８】
なお、図１１（Ａ）−（Ｄ）において、グリッドの模様（色）は、発生確率によって濃度が変化する。たとえば、縦縞模様（赤色）または横縞模様（青色）の場合、発生確率が高くなるにつれて縞の密度（色の濃度）が高くなる。また、水玉模様（黄色）の場合、発生確率が高くなるにつれて水玉の密度（色の濃度）が高くなる。また、上記した色の濃度は、他の図面でも同じように表現されることが有る。
【００７９】
ここで、ロボット１４の周囲に人間Ｈが存在する場合について説明する。まず、図１２（Ａ）−図１２（Ｃ）を参照して、「話しかけやすい警備員」が設定されたロボット１４は、代表移動行動ＩＤ「Ｔａ１」の移動行動データに含まれる移動軌跡と同じように移動する。また、図１２（Ｄ）で示される時刻に、検出領域Ｅ内で人間Ｈが検出されると、次の時刻では、その人間Ｈの将来位置および行動が、ロボット１４の将来位置および行動よりも先に予測される。そして、図１２（Ｅ），（Ｆ）を参照して、ロボット１４の将来位置および行動は、人間Ｈの将来位置（点線で囲われた範囲）を除いたグリッドにおいて予測される。つまり、人間が進む位置にはロボット１４は進むことができないため、人間の将来位置ではロボット１４の将来位置および行動は予測されないように出来る。
【００８０】
なお、他の実施例では、検出領域Ｅ内で、複数の人間が同時に検出されてもよい。この場合、複数の人間のそれぞれに対して将来位置が予測される。
【００８１】
図１３は図４に示す中央制御装置１０におけるメモリ１８のメモリマップ３００の一例を示す図解図である。図１３が示すように、メモリ１８はプログラム記憶領域３０２およびデータ記憶領域３０４を含む。プログラム記憶領域３０２には、中央制御装置１０を動作させるためのプログラムとして、役割データベース構築プログラム３１０、役割設定プログラム３１２および移動制御プログラム３１４などが記憶される。
【００８２】
役割データベース構築プログラム３１０は、新しい移動行動データを役割データベース２０に追加するためのプログラムである。役割設定プログラム３１２は、ロボット１４に役割を設定するためのプログラムである。移動制御プログラム３１４は、役割が設定されたロボット１４の移動行動を制御するためのプログラムである。
【００８３】
なお、図示は省略するが、中央制御装置１０を動作させるためのプログラムには、ロボット１４との無線通信を確立するためのプログラムなども含まれる。
【００８４】
また、データ記憶領域３０４には、移動軌跡バッファ３３０、移動行動予測バッファ３３２、代表移動行動バッファ３３４および発生確率バッファ３３６が設けられる。また、データ記憶領域３０４には、地図データ３３８および役割データ３４０が記憶される。
【００８５】
移動軌跡バッファ３３０には、ＬＲＦ１２によって検出された人間およびロボット１４の移動軌跡が一時的に記憶される。移動行動予測バッファ３３２には、ロボット１４および人間の予測された複数の将来位置および行動が一時的に記憶される。たとえば、移動行動予測バッファ３３２には、複数の将来位置を示す座標およびその座標に対応付けられた行動を示す代表移動行動ＩＤが記憶される。代表移動行動バッファ３３４には、役割データベース２０から選択された代表移動行動データが一時的に記憶される。発生確率バッファ３３６には、移動行動予測バッファ３３２に格納されている、予測された行動の発生確率が一時的に記憶される。
【００８６】
地図データ３３８は、検出領域Ｅを示す地図の画像データであり、たとえば図８に示すように空間がグリッドに分けられた地図である。役割データ３４０は、ロボット１４に設定された役割を示すデータである。
【００８７】
なお、図示は省略するが、データ記憶領域３０４には、様々な計算の結果を一時的に格納するバッファなどが設けられると共に、中央制御装置１０の動作に必要な他のカウンタやフラグなども設けられる。
【００８８】
以下、中央制御装置１０のＣＰＵ１６によって実行されるプログラムについて説明する。図１４のフロー図は役割データベース構築プログラム３１０による処理を示し、図１５のフロー図は役割設定プログラム３１２による処理を示し、図１６および図１７のフロー図は移動制御プログラム３１４による処理を示す。
【００８９】
図１４は役割データベース構築処理のフロー図である。たとえば、管理者が役割を持つ人間の移動行動データを新たに追加する操作を行うと、中央制御装置１０のＣＰＵ１６は、ステップＳ１で開始操作がされたか否かを判断する。つまり、人間の移動軌跡および行動の蓄積を開始する操作がされたか否かを判断する。ステップＳ１で“ＮＯ”であれば、つまり開始する操作がされなければ、ステップＳ１の処理が繰り返し実行される。また、ステップＳ１で“ＹＥＳ”であれば、つまり開始する操作がされると、ステップＳ３で移動軌跡および行動を蓄積する。つまり、ＬＲＦ１２によって検出された移動軌跡とその移動軌跡が示す行動とが移動軌跡バッファ３３０に格納される。
【００９０】
続いて、ステップＳ５では、所定時間（たとえば、６０秒）が経過したか否かを判断する。つまり、移動行動を予測するに十分な移動軌跡および行動が蓄積されたか否かを判断する。ステップＳ５で“ＮＯ”であれば、つまり所定時間が経過していなければ、ステップＳ３に戻る。一方、ステップＳ５で“ＹＥＳ”であれば、つまり所定時間が経過すれば、ステップＳ７でラベル付け操作がされたか否かを判断する。たとえば、蓄積した移動軌跡および行動に対して、「話しかけやすい警備員」などのラベルを付ける操作がされたか否かを判断する。ステップＳ７で“ＮＯ”であれば、つまりラベルを付ける操作がされなければステップＳ７の処理が繰り返し実行される。
【００９１】
また、ステップＳ７で“ＹＥＳ”であれば、つまりラベルを付ける操作がされると、ステップＳ９で蓄積した移動軌跡および行動に、代表移動行動ＩＤを付けて、役割データベースに追加する。たとえば、「話しかけやすい警備員」のラベルが付ける操作がされると、蓄積した移動軌跡および行動に対して、「話しかけやすい警備員」の代表移動行動ＩＤを付けて、代表移動行動データテーブルに追加する。なお、ステップＳ９の処理を実行するＣＰＵ１６は追加手段として機能する。
【００９２】
続いて、ステップＳ１１では、終了操作がされたか否かが判断される。つまり、役割データベース構築処理を終了する操作がされた否かを判断する。ステップＳ１１で“ＮＯ”であれば、つまり終了操作がされなければ、ステップＳ１に戻る。一方、ステップＳ１１で“ＹＥＳ”であれば、つまり終了操作がされると、役割データベース構築処理が終了する。
【００９３】
図１５は役割設定処理のフロー図である。たとえば、管理者がロボット１４に役割を設定するための処理を行うと、ＣＰＵ１６はステップＳ２１で、役割が選択されたか否かを判断する。たとえば、「話しかけやすい警備員」、「話しかけにくい警備員」、「清掃員」、「あまり動かない監視員」および「受付係」の中から１つの役割が選択されたか否かを判断する。ステップＳ２１で“ＮＯ”であれば、つまり役割が選択されなければ、ステップＳ２１の処理が繰り返し実行される。また、ステップＳ２１で“ＹＥＳ”であれば、つまり役割が選択されると、ステップＳ２３でロボット１４に選択された役割を設定し、役割設定処理を終了する。
【００９４】
たとえば、「話しかけやすい警備員」が選択されていた場合、ステップＳ２３では、ロボット１４には「話しかけやすい警備員」が設定される。また、設定された役割は、役割データ３４０としてメモリ１８に記憶される。なお、ステップＳ２３の処理を実行するＣＰＵ１６は、役割手段として機能する。
【００９５】
図１６および図１７は移動制御処理のフロー図である。たとえば、中央制御装置１０の電源がオンにされると、ＣＰＵ１６はステップＳ４１で、ロボット１４に設定された役割を取得する。つまり、役割データ３４０からロボット１４に設定されている役割が取得される。続いて、ステップＳ４３で終了操作か否かを判断する。つまり、移動制御処理を終了するための操作がされたか否かを判断する。ステップＳ４３で“ＮＯ”であれば、終了操作がされなければ、ステップＳ４５でロボットの現在位置および移動軌跡を取得する。つまり、移動軌跡バッファ３３０に格納されている移動軌跡を読み出し、移動軌跡の最後の位置を現在位置として取得する。なお、ステップＳ４５の処理を実行するＣＰＵ１６は移動軌跡取得手段として機能する。
【００９６】
続いて、ステップＳ４７でロボット１４の役割、現在位置および移動軌跡に基づいて、代表移動行動データを選択する。まず、ＣＰＵ１６は、ロボット１４の役割を示す役割ＩＤの行から各代表移動行動ＩＤを読み出す。次に、ＣＰＵ１６は、各代表移動行動ＩＤが示す移動行動データに含まれる移動軌跡とロボット１４の移動軌跡とを状態列に変換して、ＤＰマッチングによって類似度を算出する。そして、類似度が最も高い代表移動行動データを、役割データベース２０の代表移動行動データテーブルから選択する。また、選択された代表移動行動データは、代表移動行動バッファ３３４に格納される。なお、ステップＳ４７の処理を実行するＣＰＵ１６は選択手段として機能する。
【００９７】
続いて、ステップＳ４９でロボット１４の将来位置および行動を予測する。つまり、選択された代表移動行動データに基づいて、次の時刻における複数の将来位置および行動を予測する。なお、ステップＳ４９の処理を実行するＣＰＵ１６は第１予測手段として機能する。
【００９８】
続いて、ステップＳ５１で人間が周囲に存在するか否かを判断する。つまり、検出領域Ｅ内で人間が検出されているか否かを判断する。ステップＳ５１で“ＹＥＳ”であれば、つまり検出領域Ｅに人間が存在していれば、ステップＳ５３で人間の移動軌跡を取得する。つまり、移動軌跡バッファ３３０から人間の移動軌跡を取得する。続いて、ステップＳ５５で人間の移動軌跡に基づいて人間の将来位置を予測する。つまり、ロボット１４の将来位置を予測する場合と同じように、予測用データベース２２から人間の移動軌跡と類似する移動軌跡を選択する。そして、選択された移動軌跡に基づいて、次の時刻における人間の将来位置を予測する。なお、ステップＳ５５の処理を実行するＣＰＵ１６は第２予測手段として機能する。
【００９９】
続いて、ステップＳ５７では、人間の将来位置を除き、予測された行動の発生確率を算出する。たとえば、図１２（Ｅ）のように、人間の将来位置を除いて、ロボット１４の各将来位置において、ロボット１４の行動の発生確率が算出される。そして、算出された発生確率は、将来位置を示す座標と対応付けられて発生確率バッファ３３６に格納される。
【０１００】
また、周囲に人間がいなければ、ステップＳ５１で“ＮＯ”と判断され、ステップＳ５９で予測された行動の発生確率が算出される。たとえば、図１１（Ａ）に示すように、ロボット１４の将来位置において行動の発生確率が算出される。
【０１０１】
なお、ステップＳ５７またはステップＳ５９の処理を実行するＣＰＵ１６は算出手段として機能する。
【０１０２】
続いて、ステップＳ６１では、算出された発生確率に基づいて、次の移動行動を決定する。たとえば、図１１（Ａ）のように発生確率が算出された場合、ロボット１４の右側のグリッドにおける行動の発生確率が最も高いため、「右側のグリッドへ早歩きで直進する」という移動行動がステップＳ６１の処理によって決められる。続いて、ステップＳ６３では、ロボット１４に移動行動を指示して、ステップＳ４３に戻る。つまり、ステップＳ６１で決められた移動行動の動作命令が、ロボット１４に付与される。
【０１０３】
なお、ステップＳ４３で“ＹＥＳ”であれば、つまり終了操作がされると、移動制御処理が終了する。
【０１０４】
以上のことから、移動制御システム１００は、役割データベース２０を備える中央制御装置１０および役割が設定されたロボット１４を有する。また、役割データベース２０は、役割を持った人間の代表移動行動データから構成される。たとえば、ロボット１４に「話しかけやすい警備員」の役割が設定されている場合、「話しかけやすい警備員」の代表移動行動データが役割データベース２０から選択される。また、中央制御装置１０では、役割が設定されたロボット１４の複数の将来位置および各将来位置における行動が代表移動行動データに基づいて予測され、予測された複数の行動のそれぞれの発生確率が算出される。そして、ロボット１４には、算出された発生確率に基づいて移動行動が指示される。
【０１０５】
したがって、ロボット１４と同じ役割を持った人間の移動行動データに基づいて、ロボット１４の移動行動が決まる。そのため、システムの管理者は、役割が設定されたロボットを、同じ役割を持った人間と同じように動作させることができる。
【０１０６】
なお、ロボット１４が移動しておらず、移動軌跡が存在しない場合、ＤＰマッチングを利用せずに、ロボット１４の現在位置に近い座標を含む代表移動行動データが選択される。また、他の実施例では、ＤＰマッチングとは異なる手法を利用して、代表移動行動が選択されてもよい。
【０１０７】
また、本実施例では、最も発生確率が高い行動が選択されたが、他の実施例では発生確率が８０％を超える上位３つの行動からランダムに選択されてもよい。
【０１０８】
また、他の実施例では、「立ち止まってから、身体の向きを変える」や「後進する」などの行動が移動軌跡から検出されてもよい。
【０１０９】
また、人間の位置を検出するためにＬＲＦ１２を用いたが、ＬＲＦ１２に代えて超音波距離センサやミリ波レーダなどを用いて、人間の位置が検出されてもよい。さらに、人間が所持する携帯通信端末の電波強度を利用して、人間の位置および移動軌跡が検出されてもよい。
【０１１０】
また、本実施例では、役割データベースを構成する代表移動行動は管理者の操作によって追加されているが、他の実施例では移動行動データが自動的に追加されてもよい。たとえば、人間の移動速度、行動範囲および移動軌跡の形状が所定条件を満たす場合に、その人間の移動行動データが役割データベース２０に追加される。この場合、役割を持った人間の移動軌跡は携帯通信端末の電波強度を利用して検出し、その他の人間の移動軌跡はＬＲＦ１２によって検出されてもよい。
【０１１１】
また、他の実施例では、複数の役割データベース２０を用意しておき、季節、イベントおよび時間帯などによって使い分けてもよい。
【０１１２】
また、「機能的に同じ場所」であれば、役割データベースを構成した場所とは異なる場所で、その役割データベース２０を利用してロボットの移動制御システム１００を動作させてもよい。そして、「機能的に同じ場所」とは、空間の面積、空間の形、利用目的および内部と外部とに設置される設備などが同じ場所のことを表す。たとえば、幅および長さが略同じであり、内部と外部とに何も設備が設置されていない、２つの廊下は「機能的に同じ場所」と言うことができる。
【０１１３】
また、役割データベース構築プログラム３１０、役割設定プログラム３１２および移動制御プログラム３１４は、データ配信用のサーバのHDDに記憶され、ネットワークを介して本実施例と同等の構成のシステムにおける中央制御装置などに配信されてもよい。また、CD, DVD, BD (Blu-ray Disc)などの光学ディスク、USBメモリおよびメモリカードなどの記憶媒体にこれらのプログラムを記憶させた状態で、その記憶媒体が販売または配布されてもよい。そして、上記したサーバや記憶媒体などを通じてダウンロードされた、役割データベース構築プログラム３１０、役割設定プログラム３１２および移動制御プログラム３１４が、本実施例と同等の構成のシステムにおける中央制御装置にインストールされた場合、本実施例と同等の効果が得られる。
【０１１４】
そして、本明細書中で挙げた、自由度、距離、一定期間、半径、角度、周波数、平均移動速度、第１閾値、第２閾値および所定時間などの具体的な数値は、いずれも単なる一例であり、製品の仕様などの必要に応じて適宜変更可能である。
【符号の説明】
【０１１５】
１０  …中央制御装置
１２ａ−１２ｆ  …ＬＲＦ
１４  …ロボット
１６  …ＣＰＵ
１８  …メモリ
２０  …役割データベース
１００  …移動制御システム
２００  …ネットワーク
【図１】
0005552710.tif 000002
【図２】
0005552710.tif 000003
【図３】
0005552710.tif 000004
【図４】
0005552710.tif 000005
【図５】
0005552710.tif 000006
【図６】
0005552710.tif 000007
【図７】
0005552710.tif 000008
【図８】
0005552710.tif 000009
【図９】
0005552710.tif 000010
【図１０】
0005552710.tif 000011
【図１１】
0005552710.tif 000012
【図１２】
0005552710.tif 000013
【図１３】
0005552710.tif 000014
【図１４】
0005552710.tif 000015
【図１５】
0005552710.tif 000016
【図１６】
0005552710.tif 000017
【図１７】
0005552710.tif 000018