(57)【要約】    【構成】ロボット制御システム１０はロボット１２を含み、このロボット１２は、コミュニケーション行動の動作履歴情報を中央制御装置１４に送信する。中央制御装置１４は、ロボット１２からの動作履歴情報のうち遠隔操作によるものに基づいて、個人用ビヘービア遷移ＤＢ，年代・性別依存ビヘービア遷移ＤＢおよび場所依存ビヘービア遷移ＤＢを構築する。そして、ロボット１２は、対話相手の名前、年代・性別、または場所に応じたＤＢを選択し、選択したＤＢを参照して、現在のロボット１２の動作を示すコマンドと、そのロボット１２の動作に対する対話相手の行動とに一致する動作履歴情報に基づいて、次のコミュニケーション行動を決定する。    【効果】遠隔操作の動作履歴情報に基づいて自律行動を行うので、オペレータの遠隔操作の回数をできるだけ減らすことができる。【選択図】図１
2009131914.tif 000002
【特許請求の範囲】
【請求項１】
遠隔操作または自律制御により、人間との間で身体動作および音声の少なくとも一方によるコミュニケーション行動を行うロボットと、ネットワークを介して前記ロボットの遠隔操作を行う操作端末と、前記ネットワークを介して前記ロボットと前記操作端末とを仲介する中央制御装置とを備える、ロボット制御システムにおいて、
前記ロボットは、
前記操作端末からの遠隔操作に従ってコミュニケーション行動を実行する遠隔操作モードと、コミュニケーションの状況に応じたコミュニケーション行動についてのデータベースを参照して自律制御によるコミュニケーション行動を実行する自律制御モードとを切り替える切替手段、および
前記切替手段によって切り替えられた前記遠隔操作モードまたは前記自律制御モードにおけるコミュニケーション行動についての動作履歴情報を中央制御装置に送信する送信手段を備え、
前記中央制御装置は、
前記送信手段によって送信された動作履歴情報を受信する受信手段、
前記受信手段によって受信された動作履歴情報についてのコミュニケーション行動が遠隔操作によって実行されたかどうかを判断する判断手段、
前記判断手段によって前記遠隔操作であることが判断された前記動作履歴情報を記憶装置に記憶する記憶手段、および
前記記憶手段によって記憶された遠隔操作による前記動作履歴情報に基づいて前記データベースを構築する構築手段を備えることを特徴とする、ロボット制御システム。
【請求項２】
前記中央制御装置は、前記ロボットがコミュニケーション行動を実行する対象である人間の属性情報を取得する属性情報取得手段をさらに備え、
前記構築手段は、前記属性情報に応じた前記データベースを構築する、請求項１のロボット制御システム。
【請求項３】
前記属性情報は、前記人間の名称の情報を含み、
前記構築手段は、前記人間の名称の情報が示す名称毎に前記データベースを構築する、請求項２記載のロボット制御システム。
【請求項４】
前記属性情報は、前記人間の年齢および性別の情報を含み、
前記構築手段は、前記人間の年齢および性別の情報が示す年齢および性別毎に前記データベースを構築する、請求項２または３記載のロボット制御システム。
【請求項５】
前記中央制御装置は、前記ロボットがコミュニケーション行動を行ったときに当該人間が存在した場所の情報を取得する場所情報取得手段をさらに備え、
前記構築手段は、前記場所の情報が示す場所毎に前記データベースを構築する、請求項１ないし４のいずれかに記載のロボット制御システム。
【請求項６】
前記ロボットは、前記人間との間でコミュニケーション行動を行う状況を検出する検出手段、および前記検出手段によって検出された状況に応じたデータベースを選択する選択手段をさらに備える、請求項５記載のロボット制御システム。
【請求項７】
前記コミュニケーション行動を行う状況は、前記人間の名称と、前記人間の年齢および性別と、前記人間の存在場所との少なくとも１つを含む、請求項６記載のロボット制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ロボット制御システムに関し、特にたとえば人間との間でコミュニケーション行動を実行するロボットを用いた、ロボット制御システムに関する。
【背景技術】
【０００２】
この種の従来のロボット制御システムの一例が、特許文献１に開示されている。この特許文献１のコミュニケーションロボットは、自律的に動作を行う第１のモードと、専門家によって指示された動作を実行する第２のモードと、専門家の動作を反映する行動を実行し、対象者と専門家とのコミュニケーションを媒介する第３のモードとを実行する。また、第２のモードおよび第３のモードでは、専門家の遠隔操作によってコミュニケーションロボットは動作する。通常、コミュニケーションロボットは、第１のモードで対象者とコミュニケーションを行うが、コミュニケーションの状況などに応じて、第２のモードまたは第３のモードに切り替わり遠隔操作される。
【０００３】
たとえば、このコミュニケーションロボットは、博物館などに設置され、博物館に来館した人に対してコミュニケーションを行う。専門家が操作側装置によってコミュニケーションロボットに指示を出せば、コミュニケーションロボットは、第１のモードから第２のモードに切り替わる。また、対象者（コミュニケーションロボットの周囲の人間）から話しかけられれば（質問されれば）、コミュニケーションロボットは、第１のモードから第３のモードに切り替わる。
【特許文献１】特開２００７−２１６３６３［B25J 13/08, B25J 5/00］
【発明の開示】
【発明が解決しようとする課題】
【０００４】
この特許文献１に示すコミュニケーションロボットは、たとえば、博物館などに設置されるため、博物館に来館した不特定多数の対象者とコミュニケーションを行うことになる。このような状況下では、コミュニケーションロボットは、対象者に話しかけられることが多いと推測される。このため、コミュニケーションロボットは、第３のモードで動作する頻度が高くなる。したがって、このコミュニケーションロボットを遠隔操作する専門家の負担が増加することになる。
【０００５】
それゆえに、この発明の主たる目的は、新規な、ロボット制御システムを提供することである。
【０００６】
この発明の他の目的は、オペレータによる遠隔操作の回数をできるだけ減らすことができる、ロボット制御システムを提供することである。
【課題を解決するための手段】
【０００７】
この発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、この発明の理解を助けるために記述する実施形態との対応関係を示したものであって、この発明を何ら限定するものではない。
【０００８】
第１の発明は、遠隔操作または自律制御により、人間との間で身体動作および音声の少なくとも一方によるコミュニケーション行動を行うロボットと、ネットワークを介してロボットの遠隔操作を行う操作端末と、ネットワークを介してロボットと操作端末とを仲介する中央制御装置とを備える、ロボット制御システムである。このロボット制御システムでは、ロボットは、操作端末からの遠隔操作に従ってコミュニケーション行動を実行する遠隔操作モードと、コミュニケーションの状況に応じたコミュニケーション行動についてのデータベースを参照して自律制御によるコミュニケーション行動を実行する自律制御モードとを切り替える切替手段、および切替手段によって切り替えられた遠隔操作モードまたは自律制御モードにおけるコミュニケーション行動についての動作履歴情報を中央制御装置に送信する送信手段を備え、中央制御装置は、送信手段によって送信された動作履歴情報を受信する受信手段、受信手段によって受信された動作履歴情報についてのコミュニケーション行動が遠隔操作によって実行されたかどうかを判断する判断手段、判断手段によって遠隔操作であることが判断された動作履歴情報を記憶装置に記憶する記憶手段、および記憶手段によって記憶された遠隔操作による動作履歴情報に基づいてデータベースを構築する構築手段を備えることを特徴とする。
【０００９】
第１の発明では、ロボット制御システム（１０）は、遠隔操作または自律制御により、人間との間で身体動作および音声の少なくとも一方によるコミュニケーション行動を行うロボット（１２）と、ネットワークを介してロボットの遠隔操作を行う操作端末（１６）と、ネットワークを介してロボットと操作端末とを仲介する中央制御装置（１４）とを備える。ロボットでは、切替手段（８０，Ｓ３１３，Ｓ３１９，Ｓ３２１）は、操作端末からの遠隔操作に従ってコミュニケーション行動を実行する遠隔操作モードと、コミュニケーションの状況に応じたコミュニケーション行動についてのデータベースを参照して自律制御によるコミュニケーション行動を実行する自律制御モードとを切り替える。送信手段（８０，１０２，１０４，Ｓ３２９）は、切替手段によって切り替えられた遠隔操作モードまたは自律制御モードにおけるコミュニケーション行動についての動作履歴情報を中央制御装置に送信する。中央制御装置では、受信手段（Ｓ３）は、送信手段によって送信された動作履歴情報を受信する。判断手段（Ｓ１３）は、受信手段によって受信された動作履歴情報についてのコミュニケーション行動が遠隔操作によって実行されたかどうかを判断する。記憶手段（Ｓ７，Ｓ９，Ｓ１５）は、判断手段によって遠隔操作であることが判断された動作履歴情報を記憶装置（１４ａ）に記憶する。構築手段（Ｓ３７，Ｓ４１，Ｓ４５）は、記憶手段によって記憶された遠隔操作による動作履歴情報に基づいてデータベースを構築する。たとえば、動作履歴情報は、遠隔操作履歴記録テーブルなどの名称で中央制御装置のメモリに記憶される。
【００１０】
第１の発明によれば、遠隔操作によってロボットが過去に振舞った同じ動作を経験として記憶しておくので、自律行動を行う場合に、記憶しておいた経験に基づいて自律行動を行うことができる。これによって、オペレータによる遠隔操作の回数をできるだけ減らすことができる。
【００１１】
第２の発明は、第１の発明に従属し、中央制御装置は、ロボットがコミュニケーション行動を実行する対象である人間の属性情報を取得する属性情報取得手段をさらに備え、構築手段は、属性情報に応じたデータベースを構築する。
【００１２】
第２の発明では、属性情報取得手段（Ｓ９）は、ロボットがコミュニケーション行動を実行する対象である人間の属性情報を取得する。そして、構築手段では、属性情報に応じたデータベースが構築される。つまり、コミュニケーション行動を行う対象の人間の属性情報が取得される場合に、構築手段は、属性情報が取得された人間に対して行われた遠隔操作の動作情報履歴からデータベースを構築する。
【００１３】
第２の発明によれば、ロボットは、属性情報が取得された人間に対して過去に行った行動、つまり経験に基づいて自律行動を行うことができる。
【００１４】
第３の発明は、第２の発明に従属し、属性情報は、人間の名称の情報を含み、構築手段は、人間の名称の情報が示す名称毎にデータベースを構築する。
【００１５】
第３の発明では、属性情報には、人間の名称の情報が含まれる。そして、構築手段では、人間の名称の情報が示す名称毎にデータベースが構築される。たとえば、第３の発明で構築されるデータベースは、個人用ビヘービア遷移ＤＢの名称で記憶される。また、個人名が山田一郎である場合に、個人用ビヘービア遷移ＤＢは、山田一郎専用のデータベースとなる。つまり、属性情報に人間の名称の情報が含まれるため、構築手段は、名称の異なる人間に対して行った遠隔操作の動作情報履歴毎にデータベースを構築する。
【００１６】
第３の発明によれば、ロボットは、コミュニケーション行動を行う対象の人間の名称を取得することで、その人間に対して過去に行った行動、つまり経験にもとづいて自律行動を行うことができる。さらに、個人用のデータベースが中央制御装置に記憶されている人間は、ロボット制御システムが導入されている場所であれば、初めて訪れる場所であっても、ロボットと円滑にコミュニケーションを行うことができる。
【００１７】
第４の発明は、第２の発明または第３の発明に従属し、属性情報は、人間の年齢および性別の情報を含み、構築手段は、人間の年齢および性別の情報が示す年齢および性別毎にデータベースを構築する。
【００１８】
第４の発明では、属性情報には、人間の年齢（年代）および性別の情報が含まれる。そして、構築手段では、人間の年齢および性別の情報が示す年齢および性別毎にデータベースが構築される。たとえば、第４の発明で構築されるデータベースは、年齢・性別依存ビヘービア遷移ＤＢの名称で記憶される。
【００１９】
第４の発明によれば、ロボットは、個人名が特定できない場合であっても、年齢・性別が取得された人間に対して過去に行った行動、つまり経験にもとづいて自律行動を行うことができる。さらに、年齢および性別のデータベースが中央制御装置に記憶されている人間は、ロボット制御システムの使用者は、デパートや百貨店などの様々な年代の人間が集まる場所で構築された年齢・性別データベースを、新たにデパートや百貨店などにロボット制御システムを導入する場合に、活用することができる。
【００２０】
第５の発明は、第１の発明ないし第４の発明のいずれかに従属し、中央制御装置は、ロボットがコミュニケーション行動を行ったときに当該人間が存在した場所の情報を取得する場所情報取得手段をさらに備え、構築手段は、場所の情報が示す場所毎にデータベースを構築する。
【００２１】
第５の発明では、中央制御装置では、場所情報取得手段（Ｓ５）は、ロボットがコミュニケーション行動を行ったときに当該人間が存在した場所の情報を取得する。そして、構築手段では、場所の情報が示す場所毎にデータベースが構築される。たとえば、第５の発明で構築されるデータベースは、場所依存ビヘービア遷移ＤＢの名称で記憶される。
【００２２】
第５の発明によれば、コミュニケーション行動を行う対象の人間の属性情報が取得できなくても、構築手段は、ロボットが遠隔操作の動作を行った場所の情報に基づいてデータベースを構築する。これによって、コミュニケーション行動を行う対象の人間の属性情報が取得できない場合であっても、ロボットは、コミュニケーション行動を行う場所で過去に行った行動、つまり経験に基づいて自律行動を行うことができる。さらに、ロボット制御システムの使用者は、様々な所で開催される、内容がほぼ同一のイベント会場でロボット制御システムを導入する場合に、過去に開催したイベントで構築した場所データベースを利用することができる。
【００２３】
第６の発明は、第５の発明に従属し、ロボットは、人間との間でコミュニケーション行動を行う状況を検出する検出手段、および検出手段によって検出された状況に応じたデータベースを選択する選択手段をさらに備える。
【００２４】
第６の発明では、ロボットの検出手段（８０，Ｓ３１３）は、人間との間でコミュニケーション行動を行う状況を検出する。選択手段（８０，Ｓ３０３，Ｓ３０７）は、検出手段によって検出された状況に応じたデータベースを選択する。たとえば、検索手段は、現在のロボットの動作に対応するデータを検索する。
【００２５】
第６の発明によれば、ロボットは、現在の動作に応じて選択された過去に振舞った同じ動作のデータベースを検索することができる。これによって、ロボットは、オペレータを呼び出すことなく、自律行動によって人間とのコミュニケーション行動を行うことができる。
【００２６】
第７の発明は、第６の発明に従属し、コミュニケーション行動を行う状況は、人間の名称と、人間の年齢および性別と、人間の存在場所との少なくとも１つを含む。
【００２７】
第７の発明では、コミュニケーション行動を行う状況には、人間の名称と、人間の年齢および性別と、人間の存在場所との少なくとも１つが含まれる。つまり、ロボットは、人間の名称と、人間の年齢および性別と、人間の存在場所との少なくとも１つに基づいて、データベースを選択することができる。
【００２８】
第７の発明によれば、ロボットは、人間の名称と、人間の年齢および性別と、人間の存在場所との少なくとも１つに基づいて、データベースを選択することができる。
【発明の効果】
【００２９】
この発明によれば、ロボットが過去に振舞った同じ動作を経験として記憶しておくので、自律行動を行う場合に、記憶しておいた経験に基づいて自律行動を行うことができる。これによって、オペレータによる遠隔操作の回数をできるだけ減らすことができる。
【００３０】
この発明の上述の目的、その他の目的、特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【００３１】
図１を参照して、この実施例のロボット制御システム１０は、ロボット１２を含む。このロボット１２は、ネットワーク２００を介して、中央制御装置１４および操作端末１６に接続される。ロボット１２は、相互作用指向のロボット（コミュニケーションロボット）であり、主として人間Ａのようなコミュニケーションの対象（コミュニケーション対象）との間で、身振り手振りのような身体動作および音声の少なくとも一方を含むコミュニケーション行動を実行する機能を備えている。ロボット１２は、一例として、受付ロボット，子守ロボットおよび介護ロボットなどであり、たとえば会社の受付や一般家庭の居間などの様々な場所および状況に配置され、通常は自律制御によって接客，道案内，子守および介護などの役割を果たす（自律制御モード）。
【００３２】
なお、図１では、簡単のため、１台のロボット１２および１台の操作端末１６を示してあるが、いずれも２台以上であってよい。また、人間は１人に限定される必要はなく、複数であってよい。
【００３３】
ロボット１２は、自律制御だけでは対応することが難しい事態や人間によってより細やかな対応（コミュニケーション等）が必要な事態になると、オペレータを呼び出す。具体的には、ロボット１２は、オペレータの呼出要求（遠隔操作の依頼）を、ネットワーク２００を介して中央制御装置１４に送信する。中央制御装置１４は、ロボット１２からの呼出要求を受けて、対応（遠隔操作）可能なオペレータが操作する操作端末１６を選択する。そして、中央制御装置１４は、選択された操作端末１６に、ロボット１２の通信情報（ＩＰアドレス）を通知する。すると、操作端末１６のオペレータの操作により、ロボット１２と操作端末１６とがネットワーク２００を介して通信可能に接続される。つまり、中央制御装置１４は、ロボット１２と操作端末１６とを仲介する。その後、オペレータが操作端末１６を用いてロボット１２を遠隔操作する。たとえば、オペレータが操作端末１６を用いて操作コマンドをロボット１２に送信すると、ロボット１２はその操作コマンドを受信し、受信した操作コマンドに従って動作（コミュニケーション行動）を実行する（遠隔操作モード）。
【００３４】
図２を参照して、ロボット１２のハードウェアの構成について説明する。また、図２はこの実施例のロボット１２の外観を示す正面図である。ロボット１２は台車３０を含み、台車３０の下面にはロボット１２を自律移動させる２つの車輪３２および１つの従輪３４が設けられる。２つの車輪３２は車輪モータ３６（図３参照）によってそれぞれ独立に駆動され、台車３０すなわちロボット１２を前後左右の任意方向に動かすことができる。また、従輪３４は車輪３２を補助する補助輪である。したがって、ロボット１２は、配置された空間内を自律制御によって移動可能である。ただし、ロボット１２は、或る場所に固定的に配置されても構わない。
【００３５】
台車３０の上には、円柱形のセンサ取り付けパネル３８が設けられ、このセンサ取り付けパネル３８には、多数の赤外線距離センサ４０が取り付けられる。これらの赤外線距離センサ４０は、センサ取り付けパネル３８すなわちロボット１２の周囲の物体（人間や障害物など）との距離を測定するものである。
【００３６】
なお、この実施例では、距離センサとして、赤外線距離センサを用いるようにしてあるが、赤外線距離センサに代えて、超音波距離センサやミリ波レーダなどを用いることもできる。
【００３７】
センサ取り付けパネル３８の上には、胴体４２が直立するように設けられる。また、胴体４２の前方中央上部（人の胸に相当する位置）には、上述した赤外線距離センサ４０がさらに設けられ、ロボット１２の前方の主として人間との距離を計測する。また、胴体４２には、その側面側上端部のほぼ中央から伸びる支柱４４が設けられ、支柱４４の上には、全方位カメラ４６が設けられる。全方位カメラ４６は、ロボット１２の周囲を撮影するものであり、後述する眼カメラ７０とは区別される。この全方位カメラ４６としては、たとえばＣＣＤやＣＭＯＳのような固体撮像素子を用いるカメラを採用することができる。なお、これら赤外線距離センサ４０および全方位カメラ４６の設置位置は、当該部位に限定されず適宜変更され得る。
【００３８】
胴体４２の両側面上端部（人の肩に相当する位置）には、それぞれ、肩関節４８Ｒおよび肩関節４８Ｌによって、上腕５０Ｒおよび上腕５０Ｌが設けられる。図示は省略するが、肩関節４８Ｒおよび肩関節４８Ｌは、それぞれ、直交する３軸の自由度を有する。すなわち、肩関節４８Ｒは、直交する３軸のそれぞれの軸廻りにおいて上腕５０Ｒの角度を制御できる。肩関節４８Ｒの或る軸（ヨー軸）は、上腕５０Ｒの長手方向（または軸）に平行な軸であり、他の２軸（ピッチ軸およびロール軸）は、その軸にそれぞれ異なる方向から直交する軸である。同様にして、肩関節４８Ｌは、直交する３軸のそれぞれの軸廻りにおいて上腕５０Ｌの角度を制御できる。肩関節４８Ｌの或る軸（ヨー軸）は、上腕５０Ｌの長手方向（または軸）に平行な軸であり、他の２軸（ピッチ軸およびロール軸）は、その軸にそれぞれ異なる方向から直交する軸である。
【００３９】
また、上腕５０Ｒおよび上腕５０Ｌのそれぞれの先端には、肘関節５２Ｒおよび肘関節５２Ｌが設けられる。図示は省略するが、肘関節５２Ｒおよび肘関節５２Ｌは、それぞれ１軸の自由度を有し、この軸（ピッチ軸）の軸回りにおいて前腕５４Ｒおよび前腕５４Ｌの角度を制御できる。
【００４０】
前腕５４Ｒおよび前腕５４Ｌのそれぞれの先端には、人の手に相当する球体５６Ｒおよび球体５６Ｌがそれぞれ固定的に設けられる。ただし、指や掌の機能が必要な場合には、人間の手の形をした「手」を用いることも可能である。また、図示は省略するが、台車３０の前面，肩関節４８Ｒと肩関節４８Ｌとを含む肩に相当する部位，上腕５０Ｒ，上腕５０Ｌ，前腕５４Ｒ，前腕５４Ｌ，球体５６Ｒおよび球体５６Ｌには、それぞれ、接触センサ５８（図３で包括的に示す）が設けられる。台車３０の前面の接触センサ５８は、台車３０への人間や他の障害物の接触を検知する。したがって、ロボット１２は、その自身の移動中に障害物との接触が有ると、それを検知し、直ちに車輪３２の駆動を停止してロボット１２の移動を急停止させることができる。また、その他の接触センサ５８は、当該各部位に触れたかどうかを検知する。なお、接触センサ５８の設置位置は、当該部位に限定されず、適宜な位置（人の胸，腹，脇，背中および腰に相当する位置）に設けられてもよい。
【００４１】
胴体４２の中央上部（人の首に相当する位置）には首関節６０が設けられ、さらにその上には頭部６２が設けられる。図示は省略するが、首関節６０は、３軸の自由度を有し、３軸の各軸廻りに角度制御可能である。或る軸（ヨー軸）はロボット１２の真上（鉛直上向き）に向かう軸であり、他の２軸（ピッチ軸、ロール軸）は、それぞれ、それと異なる方向で直交する軸である。
【００４２】
頭部６２には、人の口に相当する位置に、スピーカ６４が設けられる。スピーカ６４は、ロボット１２が、それの周辺の人間に対して音声ないし音によってコミュニケーションを取るために用いられる。また、人の耳に相当する位置には、マイク６６Ｒおよびマイク６６Ｌが設けられる。以下、右のマイク６６Ｒと左のマイク６６Ｌとをまとめてマイク６６ということがある。マイク６６は、周囲の音、とりわけコミュニケーションを実行する対象である人間の音声を取り込む。さらに、人の目に相当する位置には、眼球部６８Ｒおよび眼球部６８Ｌが設けられる。眼球部６８Ｒおよび眼球部６８Ｌは、それぞれ眼カメラ７０Ｒおよび眼カメラ７０Ｌを含む。以下、右の眼球部６８Ｒと左の眼球部６８Ｌとをまとめて眼球部６８ということがある。また、右の眼カメラ７０Ｒと左の眼カメラ７０Ｌとをまとめて眼カメラ７０ということがある。
【００４３】
眼カメラ７０は、ロボット１２に接近した人間の顔や他の部分ないし物体などを撮影して、それに対応する映像信号を取り込む。また、眼カメラ７０は、上述した全方位カメラ４６と同様のカメラを用いることができる。たとえば、眼カメラ７０は、眼球部６８内に固定され、眼球部６８は、眼球支持部（図示せず）を介して頭部６２内の所定位置に取り付けられる。図示は省略するが、眼球支持部は、２軸の自由度を有し、それらの各軸廻りに角度制御可能である。たとえば、この２軸の一方は、頭部６２の上に向かう方向の軸（ヨー軸）であり、他方は、一方の軸に直交しかつ頭部６２の正面側（顔）が向く方向に直行する方向の軸（ピッチ軸）である。眼球支持部がこの２軸の各軸廻りに回転されることによって、眼球部６８ないし眼カメラ７０の先端（正面）側が変位され、カメラ軸すなわち視線方向が移動される。なお、上述のスピーカ６４，マイク６６および眼カメラ７０の設置位置は、当該部位に限定されず、適宜な位置に設けられてよい。
【００４４】
このように、この実施例のロボット１２は、車輪３２の独立２軸駆動，肩関節４８の３自由度（左右で６自由度），肘関節５２の１自由度（左右で２自由度），首関節６０の３自由度および眼球支持部の２自由度（左右で４自由度）の合計１７自由度を有する。
【００４５】
図３はロボット１２の電気的な構成を示すブロック図である。この図３を参照して、ロボット１２は、ＣＰＵ８０を含む。ＣＰＵ８０は、マイクロコンピュータ或いはプロセッサとも呼ばれ、バス８２を介して、メモリ８４，モータ制御ボード８６，センサ入力／出力ボード８８および音声入力／出力ボード９０に接続される。
【００４６】
メモリ８４は、図示は省略をするが、ＲＯＭ，ＨＤＤおよびＲＡＭを含む。ＲＯＭおよびＨＤＤには、ロボット１２の動作を制御するための制御プログラムが予め記憶される。たとえば、各センサの出力（センサ情報）を検知するための検知プログラムや、外部コンピュータ（中央制御装置１４および操作端末１６など）との間で必要なデータやコマンドを送受信するための通信プログラムなどが記録される。また、ＲＡＭは、ワークメモリやバッファメモリとして用いられる。
【００４７】
モータ制御ボード８６は、たとえばＤＳＰで構成され、各腕や首関節および眼球部などの各軸モータの駆動を制御する。すなわち、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、右眼球部６８Ｒの２軸のそれぞれの角度を制御する２つのモータ（図３では、まとめて「右眼球モータ９２」と示す）の回転角度を制御する。同様にして、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、左眼球部６８Ｌの２軸のそれぞれの角度を制御する２つのモータ（図３では、まとめて「左眼球モータ９４」と示す）の回転角度を制御する。
【００４８】
また、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、肩関節４８Ｒの直交する３軸のそれぞれの角度を制御する３つのモータと肘関節５２Ｒの角度を制御する１つのモータとの計４つのモータ（図３では、まとめて「右腕モータ９６」と示す）の回転角度を制御する。同様にして、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、肩関節４８Ｌの直交する３軸のそれぞれの角度を制御する３つのモータと肘関節５２Ｌの角度を制御する１つのモータとの計４つのモータ（図３では、まとめて「左腕モータ９８」と示す）の回転角度を制御する。
【００４９】
さらに、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、首関節６０の直交する３軸のそれぞれの角度を制御する３つのモータ（図３では、まとめて「頭部モータ１００」と示す）の回転角度を制御する。そして、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、車輪３２を駆動する２つのモータ（図３では、まとめて「車輪モータ３６」と示す）の回転角度を制御する。なお、この実施例では、車輪モータ３６を除くモータは、制御を簡素化するためにステッピングモータ（すなわち、パルスモータ）を用いる。ただし、車輪モータ３６と同様に直流モータを用いるようにしてもよい。また、ロボット１２の身体部位を駆動するアクチュエータは、電流を動力源とするモータに限らず適宜変更された、たとえば、他の実施例では、エアアクチュエータが適用されてもよい。
【００５０】
センサ入力／出力ボード８８は、モータ制御ボード８６と同様に、ＤＳＰで構成され、各センサからの信号を取り込んでＣＰＵ８０に与える。すなわち、赤外線距離センサ４０のそれぞれからの反射時間に関するデータがこのセンサ入力／出力ボード８８を通じてＣＰＵ８０に入力される。また、全方位カメラ４６からの映像信号が、必要に応じてセンサ入力／出力ボード８８で所定の処理を施してからＣＰＵ８０に入力される。眼カメラ７０からの映像信号も、同様にして、ＣＰＵ８０に入力される。また、上述した複数の接触センサ５８（図３では、まとめて「接触センサ５８」と示す）からの信号がセンサ入力／出力ボード８８を介してＣＰＵ８０に与えられる。音声入力／出力ボード９０もまた、同様に、ＤＳＰで構成され、ＣＰＵ８０から与えられる音声合成データに従った音声または声がスピーカ６４から出力される。また、マイク６６からの音声入力が、音声入力／出力ボード９０を介してＣＰＵ８０に与えられる。
【００５１】
また、ＣＰＵ８０は、バス８２を介して通信ＬＡＮボード１０２に接続される。通信ＬＡＮボード１０２は、たとえばＤＳＰで構成され、ＣＰＵ８０から与えられた送信データを無線通信装置１０４に与え、無線通信装置１０４は送信データを、ネットワーク２００を介して外部コンピュータ（中央制御装置１４および操作端末１６）に送信する。また、通信ＬＡＮボード１０２は、無線通信装置１０４を介してデータを受信し、受信したデータをＣＰＵ８０に与える。たとえば、送信データとしては、ロボット１２から中央制御装置１４へのオペレータ呼出要求の信号（コマンド）であったり、ロボット１２が行ったコミュニケーション行動についての動作履歴情報（履歴データ）などであったりする。このように、コマンドのみならず履歴データを送信するのは、メモリ８４の容量を少なくするためと、消費電力を抑えるためである。この実施例では、履歴データはコミュニケーション行動が実行される度に、中央制御装置１４に送信されたが、一定時間または一定量の単位で中央制御装置１４に送信されるようにしてもよい。
【００５２】
さらに、ＣＰＵ８０は、バス８２を介して無線タグ読取装置１０６が接続される。無線タグ読取装置１０６は、アンテナ（図示せず）を介して、無線タグ１８（ＲＦＩＤタグ）から送信される識別情報の重畳された電波を受信する。そして、無線タグ読取装置１０６は、受信した電波信号を増幅し、当該電波信号から識別信号を分離し、当該識別情報を復調（デコード）してＣＰＵ８０に与える。図１によれば無線タグ１８は、ロボット１２が配置された会社の受付や一般家庭の居間などに居る人間（人間Ａ）に装着され、無線タグ読取装置１０６は、通信可能範囲内の無線タグ１８を検出する。なお、無線タグ１８は、アクティブ型であってもよいし、無線タグ読取装置１０６から送信される電波に応じて駆動されるパッシブ型であってもよい。
【００５３】
図１に戻って、中央制御装置１４は、当該ロボット遠隔操作システム１０におけるオペレータの呼び出しを制御するコンピュータであり、ロボット１２および操作端末１６の状態を示す情報を管理する。中央制御装置１４は、図示は省略するがＣＰＵを含み、ＣＰＵにはメモリ１４ａ，表示装置，入力装置および通信装置などが接続されている。中央制御装置１４は、通信装置を介してネットワーク２００に有線または無線で接続されている。メモリ１４ａには、当該中央制御装置１４の動作を制御するための制御プログラムおよび必要なデータが記憶される。制御プログラムは、たとえば、ロボット１２および操作端末１６のそれぞれとの間で必要なデータやコマンドを送受信するための通信プログラムおよびロボット１２からオペレータの呼出要求があったときに、オペレータ（操作端末１６）を呼び出すための呼出プログラムなどを含む。
【００５４】
また、操作端末１６は、コンピュータであり、図示は省略するがＣＰＵを含み、ＣＰＵにはメモリ，表示装置，入力装置，スピーカ，マイクおよび通信装置などが接続される。操作端末１６は、通信装置を介してネットワーク２００に有線または無線で接続されている。メモリには、当該操作端末１６の動作を制御するための制御プログラムおよび必要なデータが記録される。制御プログラムは、たとえば、ロボット１２および中央制御装置１４との間で必要なデータやコマンドを送受信するための通信プログラム、入力装置から入力された操作コマンドを検出する検出プログラムおよび表示装置に画像などを表示するための表示プログラムなどを含む。
【００５５】
ここで、中央制御装置１４のメモリ１４ａには、ロボット１２から送信されるコミュニケーション行動の履歴データなどが記録される。この実施例では、コミュニケーション行動の履歴データとしては、ビヘービア（行動）履歴記録テーブルデータおよび遠隔操作履歴記録テーブルデータの２種類がメモリ１４ａに記録される。ビヘービア履歴記録テーブルは、自律制御およびオペレータの遠隔操作によるロボット１２のコミュニケーション行動についての履歴を記録し、遠隔操作履歴記録テーブルは、オペレータの遠隔操作によるロボット１２のコミュニケーション行動についての履歴を記録する。
【００５６】
図４はビヘービア履歴記録テーブルの一例を示す図解図である。この図４を参照して、ビヘービア履歴記録テーブルには、ＢＥＦＯＲＥ，ＶＡＬＵＥ，ＡＦＴＥＲ，場所，名前，年代および性別などの情報が記録される。ＢＥＦＯＲＥ（変化前のビヘービア名）の欄には、後述するＶＡＬＵＥの値が変化される前においてロボット１２が対話相手に対して行ったコミュニケーション行動（ビヘービア）のコマンド名が記録される。たとえば、「ＧＲＥＥＴ」，「ＨＥＡＲ」および「ＡＫＵＳＨＵ」などのコマンド名が記録される。
【００５７】
ここで、ＧＲＥＥＴのコマンドが実行されると、ロボット１２は挨拶についてのコミュニケーション行動を実行する。たとえば、ロボット１２は、「おはよう」，「こんにちは」または「こんばんは」と発話しながら、お辞儀する。ＨＥＡＲのコマンドが実行されると、ロボット１２は質問についてのコミュニケーション行動を実行する。たとえば、ロボット１２は、「何をして遊ぼうか」または「どうかしましたか」と発話して、その後、対話相手の返答を待つ。ＡＫＵＳＨＵのコマンドが実行されると、ロボット１２は握手についてのコミュニケーション行動を実行する。たとえば、ロボット１２は、手を差し出す。
【００５８】
また、図４では示されていないが、他にも「ＧＯＣＨＩＳＯＵＳＡＭＡ」，「ＺＹＡＮ」および「ＨＵＧ」などのコマンドがある。ＧＯＣＨＩＳＯＵＳＡＭＡのコマンドが実行されると、ロボット１２は食事の終了を意味する挨拶についてのコミュニケーション行動を実行する。たとえば、ロボット１２は、「ごちそうさま」と発話しながら、手を合わせる。ＺＹＡＮのコマンドが実行されると、ロボット１２はジャンケンについてのコミュニケーション行動を実行する。たとえば、ロボット１２は、「じゃんけん  ぽん」と発話しながら、手を前に出す。ＨＵＧのコマンドが実行されると、ロボット１２は抱擁についてのコミュニケーション行動を実行する。たとえば、ロボット１２は、両手を前に出す。
【００５９】
図４に戻って、ＶＡＬＵＥ（戻り値）の欄には、ＢＥＦＯＲＥの欄に記録されたコマンドに従ったコミュニケーション行動に対する対話相手の行動や反応などが対応する数値で記録される。ＶＡＬＵＥの数値は、それぞれ異なる意味や内容であり、各コマンド（コミュニケーション行動）に対応して予め決められている。この実施例では、変化前のビヘービア（コミュニケーション行動）に対する対話相手の反応（反応の有無も含む）について、予め実験等により得られた意味や内容を数値で識別可能にメモリ１４ａ等に記録してある。
【００６０】
たとえば、ＧＲＥＥＴのコマンドが実行された場合には、対話相手の反応（反応なしを含む）に関らず、ＶＡＬＵＥには「１（常に）」が記録される。
【００６１】
また、ＨＥＡＲのコマンドが実行された場合に、対話相手が「遊ぼう」などと言うと、ＶＡＬＵＥには「１（遊ぼうといわれた）」が記録される。同様の場合に、対話相手が「○○に行きたいのですが」などと言うと、ＶＡＬＵＥには「２（道案内を頼まれた）」が記録される。詳細な説明は省略するが、ロボット１２は音声認識機能を備えており、たとえば、マイク６６を通して入力された対話相手の音声に対応する音声信号をＤＰマッチング法やＨＭＭ（隠れマルコフモデル）法を用いて音声認識することにより、その対話相手の発話内容を認識することができる。
【００６２】
さらに、ＡＫＵＳＨＵのコマンドが実行された場合に、対話相手がロボット１２の球体５６に触れると、ＶＡＬＵＥには「１（握手された）」が記録される。同様の場合に、対話相手がロボット１２の手に触れなければ、ＶＡＬＵＥには「２（触れられなかった）」が記録される。ただし、ロボット１２は、手つまり球体５６Ｒまたは球体５６Ｌに設けられた接触センサ５８からの入力に基づいて握手された（触られた）かどうかを判断する。
【００６３】
また、図４では示されていない、「ＧＯＣＨＩＳＯＵＳＡＭＡ」，「ＺＡＹＮ」および「ＨＵＧ」についても同様である。ＧＯＣＨＩＳＯＵＳＡＭＡのコマンドが実行された場合には、対話相手の反応（反応なしを含む）に関らず、ＶＡＬＵＥには「１（常に）」が記録される。また、ＺＹＡＮのコマンドが実行された場合には、対話相手の反応（反応なしを含む）に関らず、ＶＡＬＵＥには「１（常に）」が記録される。さらに、ＨＵＧのコマンドが実行された場合には、対話相手の反応（反応なしを含む）に関らず、ＶＡＬＵＥには「１（常に）」が記録される。
【００６４】
図４に戻って、ＡＦＴＥＲ（変化後のビヘービア名）の欄には、ＶＡＬＵＥの欄に記録した対話相手の行動（反応なしを含む）の後に、ロボット１２が行ったコミュニケーション行動のコマンド名が記録される。たとえば、「ＡＫＵＳＨＵ」，「ＧＵＩＤＥ」，「ＮＡＭＥ」，「ＢＹＥ」および「ＨＵＧ」などが記録される。
【００６５】
ここで、ＧＵＩＤＥのコマンドが実行されると、ロボット１２は道案内についてのコミュニケーション行動を実行する。たとえば、ロボット１２は、ＨＥＡＲのコマンドを実行することで得た（質問された）目的地まで対話相手を案内する。ただし、ロボット１２は、予め決められている目的地まで対話相手を案内するようにしてもよい。また、ＮＡＭＥのコマンドが実行されると、そのロボット１２自身の名前を発話するコミュニケーション行動を実行する。たとえば、ロボット１２は、或る対話相手に自身の名前（ロボビーＲ１など）を伝える。また、ＢＹＥのコマンドが実行されると、コミュニケーション終了についてのコミュニケーション行動を実行する。たとえば、ロボット１２は、「さよなら」，「またね」または「ありがとうございました」と発話する。
【００６６】
なお、「ＡＫＵＳＨＵ」および「ＨＵＧ」のコマンドは、上述したとおりであるため、重複した説明は省略する。
【００６７】
また、図４では示されていないが、他にも「ＳＯＮＧ」，「ＤＲＡＧ」，「ＦＲＯＭ」，「ＰＡＴＲＯＬ」および「ＫＩＳＳ」などのコマンドがある。ＳＯＮＧのコマンドが実行されると、ロボット１２は歌唱についてのコミュニケーション行動を実行する。たとえば、ロボット１２は、メモリ８４に記録された音楽データ（たとえば、ｍｐ３ファイル形式などのデータ）に再生処理を施し、スピーカ６４から音声として出力する。また、ＤＲＡＧのコマンドが実行されると、ロボット１２は薬の服用についてのコミュニケーション行動を実行する。たとえば、ロボット１２は、或る対話相手に対して「薬を飲んでね」と発話することにより、薬を服用するように促す。また、ＦＲＯＭのコマンドが実行されると、ロボット１２は出身地の質問についてのコミュニケーション行動を実行する。たとえば、ロボット１２は、「どこからいらっしゃいましたか」と発話して、その後、対話相手の返答を待つ。また、ＰＡＴＲＯＬのコマンドが実行されると、ロボット１２は巡回についてのコミュニケーション行動を実行する。たとえば、ロボット１２は、自身が置かれている空間（環境）を、予め決められたコースで移動する。さらに、ＫＩＳＳのコマンドが実行されると、ロボット１２はスキンシップについてのコミュニケーション行動を実行する。たとえば、ロボット１２は、対話相手とだっこなどの遊びを行い、「キスしてね」と発話する。
【００６８】
図４に戻って、場所の欄には、ロボット１２が配置されている場所（対応するビヘービアを行った場所）が記録される。たとえば、「外」および「家庭内」などが記録される。「外」は、ロボット１２が配置されている場所が、屋外で行われる或るイベント会場や家以外の建物などであることを意味する。「家庭内」は、ロボット１２が配置されている場所が、或る家の中であることを意味する。名前の欄には、ロボット１２がビヘービア（コミュニケーション行動）を行った対話相手の名前が記録される。たとえば、「佐藤三郎」，「大村四郎」，「山田一郎」および「鈴木二郎」などが記述される。年代の欄には、対話相手の年代が記録される。たとえば、年代は、対話相手の年齢に基づいて、「大人」または「子ども」に分けて記録される。ただし、年代は、「１０代」，「２０代」，…，「６０代以上」などのように細かく分けるようにしてもよい。性別の欄には、対話相手の性別が記録される。具体的には、「男性」，「女性」に分けて記憶される。
【００６９】
ここで、ビヘービア履歴記録テーブル（後述する遠隔操作履歴テーブルの場合も同様）に記録される名前，年代および性別の情報は、対話相手が所持する無線タグ１８から送信される識別情報（タグＩＤ）に基づいて取得される。たとえば、中央制御装置１４のメモリ１４ａなどにタグＩＤに対応して名前，年代（年齢）および性別の情報が記憶される。これは、中央制御装置１４（ロボット制御装置システム１０）の管理者がロボット１２の対話相手となり得る者（ロボット１２のサービスの提供を受ける者）からそのような情報を取得して、中央制御装置１４に登録する。ただし、対話相手となり得る者の名前，年代および性別の情報は、中央制御装置１４がアクセス可能なデータベース（図示せず）に登録されるようにしてもよい。
【００７０】
後述するように、ロボット１２は対話相手が所持する無線タグ１８のタグＩＤを検出して、中央制御装置１４に送信する。中央制御装置１４は、タグＩＤを受信すると、これに対応する名前，年代および性別の情報をメモリ１４ａ等から取得し、ビヘービア履歴記録テーブルに記録する。
【００７１】
ただし、場所、名前、年代および性別のような対話相手に関する情報（属性情報）のうち、名前、年代および性別の情報については、取得できない情報もある。したがって、情報を取得できない場合には、対応する箇所を空欄にしてある。
【００７２】
なお、個人を同定（特定）する手段としては、顔画像認識，静脈認識，虹彩認識および指紋認識などのバイオメトリクス認識を用いてもよい。
【００７３】
このようなロボット制御システム１０では、上述したように、自律制御やオペレータの遠隔操作により、ロボット１２はコミュニケーション行動を実行する。しかし、オペレータが遠隔操作する場合であっても、同じ状況では、ロボット１２に実行させるコミュニケーション行動が繰り返される（同じである）ことがある。したがって、この実施例では、遠隔操作の場合の履歴情報から異なる状況の各々についてのデータベースを生成し、生成したデータベースを選択的に参照して、自律制御することにより、オペレータによる遠隔操作の回数（頻度）をできるだけ減らすようにしてある。
【００７４】
ただし、この実施例では、状況とは、特定の個人とコミュニケーション行動する場合、特定の年代および性別の対話相手とコミュニケーション行動する場合、および特定の場所でコミュニケーション行動する場合を意味する。
【００７５】
図５は、遠隔操作履歴記録テーブルを示す図解図である。この図５を参照して、遠隔操作履歴記録テーブルには、ＢＥＦＯＲＥ，ＶＡＬＵＥ，ＡＦＴＥＲ，場所，名前，年代および性別などの情報が記録される。また、上述したとおり、遠隔操作履歴記録テーブルは、オペレータの遠隔操作によるロボット１２のコミュニケーション行動の動作履歴情報を記録する。この実施例では、ビヘービア履歴記録テーブルに記録された動作履歴情報のうち、オペレータによってロボット１２の遠隔操作が行われた場合の動作履歴情報のみが遠隔操作履歴記録テーブルに記録される。なお、各欄に記録される情報は、図４に示したビヘービア履歴記録テーブルと同様のため重複した説明は省略する。
【００７６】
この遠隔操作履歴記録テーブルから、３種類のデータセットが抽出される。具体的には、個人名が記録されているデータを抽出したデータセットＤｐ，年齢・性別が記録されているデータを抽出したデータセットＤａｓ，他の情報（場所など）が記録されているデータを抽出したデータセットＤｎである。図６に示すように、データセットＤｐは、図５に示した遠隔操作履歴記録テーブルにおいて名前が記録されている動作履歴情報を抽出して生成される。また、図７に示すように、データセットＤａｓは、図５に示した遠隔操作履歴記録テーブルにおいて、年代および性別が記録されている動作履歴情報を抽出して生成される。さらに、図８に示すように、データセットＤｎは、図５に示した遠隔操作履歴テーブルにおいて、場所が記録されている動作履歴情報を抽出して生成される。
【００７７】
次に、上述したように、この実施例では、中央制御装置１４は、データセットＤｐ，ＤａｓおよびＤｎのそれぞれから、各状況についてのデータベース（ＤＢ）を生成（構築）する。この実施例では、中央制御装置１４は、データセットＤｐに基づいて個人用ビヘービア遷移ＤＢを構築し、データセットＤａｓに基づいて年代・性別依存ビヘービア遷移ＤＢを構築し、そして、データセットＤｎに基づいて場所依存ビヘービア遷移ＤＢを構築する。
【００７８】
図９は、個人用ビヘービア遷移ＤＢの一例を示す図解図である。この個人用ビヘービア遷移ＤＢは、上述したデータセットＤｐにおいて、特定の個人（ここでは、山田一郎）についてフィルタリングしたデータに基づいて生成される。図９からも分かるように、個人用ビヘービア遷移ＤＢには、場所，ＢＥＦＯＲＥ，ＶＡＬＵＥ，ＡＦＴＥＲの情報が記録されるとともに、ＣＯＵＮＴ（回数）の情報が記録される。場所，ＢＥＦＯＲＥ，ＶＡＬＵＥおよびＡＦＴＥＲの情報については上述したとおりであるため、重複した説明は省略する。ＣＯＵＮＴの情報は、データセットＤｐを特定の個人についてフィルタリングしたデータにおいて、場所，ＢＥＦＯＲＥ，ＶＡＬＵＥおよびＡＦＴＥＲの情報が示す内容が同じものについての回数を示す。
【００７９】
図９に示す例では、場所の情報が「外」である場合に、ＢＥＦＯＲＥの情報が「ＡＫＵＳＨＵ」で、「ＶＡＬＵＥ」の情報が「１（握手された）」で，ＡＦＴＥＲの情報が「ＮＡＭＥ」であるビヘービアの遷移が２０回であることが分かる。また、場所の情報が「家庭内」である場合に、ＢＥＦＯＲＥの情報が「ＧＯＣＨＩＳＯＵＳＡＭＡ」で、ＶＡＬＵＥの情報が「１（常に）」で、ＡＦＴＥＲの情報が「ＤＲＵＧ」であるビヘービアが３０回であることが分かる。
【００８０】
なお、説明は省略するが、他の場合についても同様である。また、図示は省略するが、他の特定の個人（たとえば、鈴木二郎や佐藤三郎）についても同様の個人用ビヘービア遷移ＤＢを生成することができる。
【００８１】
図１０は、年代・性別依存ビヘービア遷移ＤＢである。この年代・性別依存ビヘービア遷移ＤＢは、上述したデータセットＤａｓにおいて、或る年代と性別と（ここでは、大人・男性）についてフィルタリングしたデータに基づいて生成される。図１０からも分かるように、年代・性別依存ビヘービア遷移ＤＢには、場所，ＢＥＦＯＲＥ，ＶＡＬＵＥ，ＡＦＴＥＲの情報が記録されるとともに、ＣＯＵＮＴの情報が記録される。これらの情報は上述したとおりであるため、重複した説明は省略する。
【００８２】
図１０に示す例では、場所の情報が「外」である場合に、ＢＥＦＯＲＥの情報が「ＡＫＵＳＨＵ」で、ＶＡＬＵＥの情報が「２（触れられなかった）」であり、ＡＦＴＥＲの情報が「ＢＹＥ」であるビヘービアの遷移が５回であることが分かる。また、場所の情報が「家庭内」である場合に、ＢＥＦＯＲＥの情報が「ＺＹＡＮ」で、ＶＡＬＵＥの情報が「１（常に）」で、ＡＦＴＥＲの情報が「ＰＡＴＲＯＬ」であるビヘービアの遷移が３回であることが分かる。
【００８３】
なお、説明は省略するが、他の場合についても同様である。また、図示は省略するが、他の年代・性別（大人・女性，子ども・男性，子ども・女性）についても同様の年代・性別依存ビヘービア遷移ＤＢを生成することができる。
【００８４】
図１１は、場所依存ビヘービアＤＢである。この場所依存ビへービア遷移ＤＢは、上述したデータセットＤｎにおいて、或る場所（ここでは、外）についてフィルタリングしたデータに基づいて生成される。図１１からも分かるように，場所依存ビヘービア遷移ＤＢには、ＢＥＦＯＲＥ，ＶＡＬＵＥ，ＡＦＴＥＲの情報が記録されるとともに、ＣＯＵＮＴの情報が記録される。これらの情報は上述したとおりであるため、重複した説明は省略する。
【００８５】
図１１に示す例では、場所の情報が「外」である場合に、ＢＥＦＯＲＥの情報が「ＡＫＵＳＨＵ」で、ＶＡＬＵＥの情報が「１（握手された）」であり、ＡＦＴＥＲの情報が「ＦＲＯＭ」であるビヘービア遷移が５回であることが分かる。また、場所の情報が「外」である場合に、ＢＥＦＯＲＥの情報が「ＨＵＧ」で、ＶＡＬＵＥの情報が「１（常に）」で、ＡＦＴＥＲの情報が「ＫＩＳＳ」であるビヘービアの遷移が１０回であることが分かる。
【００８６】
なお、説明は省略するが、他の場合についても同様である。また、図示は省略するが、他の場所（家庭内など）についても同様の場所依存ビヘービア遷移ＤＢを生成することができる。
【００８７】
具体的には、中央制御装置１４のＣＰＵは、図１２−図１６に示す処理を含む、複数の処理を並行的に実行することで、複数のデータベースを構築する。また、ロボット１２のＣＰＵ８０は、図１７に示す自律行動処理を含む、複数の処理を並列的に実行する。
【００８８】
図１２は、履歴記憶処理を示すフロー図である。図１２に示すように、中央制御装置１４のＣＰＵは、履歴記憶処理を開始すると、ステップＳ１で、停止命令が有るか否かを判断する。たとえば、中央制御装置１４の管理者によって、停止命令の指示が与えられたか否かを判断する。ステップＳ１でＹＥＳであれば、つまり停止命令が有れば、そのまま履歴記憶処理を終了する。一方、ステップＳ１でＮＯであれば、つまり停止命令が無ければ、ステップＳ３で、ロボット１２のビヘービアが変化したか否かを判断する。つまり、ロボット１２からコミュニケーション行動の動作履歴情報が送信されたか否かを判断する。ステップＳ３でＮＯであれば、つまりロボット１２のビヘービアが変化していなければ、ステップＳ１に戻る。一方、ステップＳ３でＹＥＳであれば、つまりロボット１２のビヘービアが変化すれば、ステップＳ５で、ＢＥＦＯＲＥ，ＶＡＬＵＥ，ＡＦＴＥＲおよび場所の値をメモリ１４ａのバッファ領域に一時的に記録させる。
【００８９】
次のステップＳ７では、個人同定が行われているか否かを判断する。ここでは、ステップＳ３においてビヘービアが変化したと判断されたロボット１２がコミュニケーションを行う対話相手の名前，年代および性別などの情報が分かるか否かを判断する。上述したように、ロボット１２は、対話相手が所持する無線タグ１８から送信されるタグＩＤを受信し、これを中央制御装置１４に送信する。中央制御装置１４は、メモリ１４ａを参照して、タグＩＤに対応する、対話相手の名前，年代および性別などの情報を取得する。ただし、上述したように、名前、年代および性別などの情報は全部または一部について取得できない場合もある。ステップＳ７でＹＥＳであれば、つまり、個人同定が行われていれば、ステップＳ９で、名前，年代および性別などをメモリ１４ａのバッファ領域に一時的に記録して、ステップＳ１３に進む。一方、ステップＳ７でＮＯであれば、つまり個人同定が行われていなければ、そのままステップＳ１１に進む。
【００９０】
ステップＳ１１では、メモリ１４ａのバッファ領域に一時的に記録されたデータをビヘービア履歴記録テーブル（図４参照）に記録する。つまり、ステップＳ７でＮＯの場合には、ＢＥＦＯＲＥ，ＶＡＬＵＥ，ＡＦＴＥＲおよび場所の情報がビヘービア履歴記録テーブルに記録される。一方、ステップＳ７でＹＥＳの場合には、ＢＥＦＯＲＥ，ＶＡＬＵＥ，ＡＦＴＥＲおよび場所の情報に加えて、対話相手の名前、年代および性別などがビヘービア履歴記録テーブルに記録される。
【００９１】
次のステップＳ１３では、ビヘービア（行動）が遠隔操作によって変化したか否かを判断する。詳細な説明は省略するが、上述したように、中央制御装置１４は、ロボット１２と操作端末１６（オペレータ）とを仲介するため、中央制御装置１４では、操作端末１６が遠隔操作中であるかどうかの情報やどの操作端末１６がどのロボット１２を遠隔操作しているかについての情報を管理している。したがって、今回行動履歴情報を送信してきたロボット１４が遠隔操作中（遠隔操作モード）であるか否かを知ることができる。これにより、ビヘービアが遠隔操作によって変化したか否かを判断するのである。
【００９２】
ステップＳ１３でＮＯであれば、つまりビヘービアが遠隔操作によって変化していなければ、ロボット１２がオペレータによって遠隔操作されていない（自律制御モード）と判断して、そのままステップＳ１に戻る。一方、ステップＳ１３でＹＥＳであれば、つまりビヘービアが遠隔操作によって変化していれば、ロボット１２がオペレータによって遠隔操作されていると判断して、ステップＳ１５で、メモリ１４ａのバッファ領域に一時的に記録されたデータを遠隔操作履歴記憶テーブルに記録して、ステップＳ１に戻る。つまり、ステップＳ１５では、ステップＳ１１でビヘービア履歴記憶テーブルに記録したデータを遠隔操作履歴記憶テーブルにも記録しているのである。
【００９３】
図１３は、データベース構築処理を示すフロー図である。図１３に示すように、中央制御装置１４のＣＰＵは、データベース構築処理を実行すると、ステップＳ３１で、中止命令が有るか否か判断する。ここでは、たとえば、中央制御装置１４の管理者によって、データベース構築の中止命令の指示が入力されたか否かを判断する。ステップＳ３１でＹＥＳであれば、つまり中止命令が有れば、データベース構築処理を終了する。一方、ステップＳ３１でＮＯであれば、つまり終了指示が無ければ、ステップＳ３３で、遠隔操作履歴記録テーブルに個人名つきの新しい履歴データが記録されたか否かを判断する。つまり、遠隔操作履歴記録テーブルに対話相手の名前を含む動作履歴情報が記録されたか否かを判断する。
【００９４】
ステップＳ３３でＹＥＳであれば、つまり遠隔操作履歴記録テーブルに個人名つきの新しい履歴データが記録されれば、ステップＳ３７で、後述するデータセットＤｐから個人用ビヘービア遷移ＤＢの構築処理（図１４参照）を実行して、ステップＳ３９に進む。一方、ステップＳ３３でＮＯであれば、つまり遠隔操作履歴テーブルに個人名つきの新しい履歴データが記録されていなければ、ステップＳ３５で、遠隔操作履歴記録テーブルに個人名なしの新しい履歴データが記録されたか否かを判断する。つまり、遠隔操作履歴記録テーブルに対話相手の名前の情報を含まない動作履歴情報が記録されたか否かを判断する。ステップＳ３５でＮＯであれば、つまり遠隔操作履歴記録テーブルに個人名なしの新しい履歴データが記録されていなければ、ステップＳ３１に戻る。一方、ステップＳ３５でＹＥＳであれば、つまり遠隔操作履歴記録テーブルに個人名なしの履歴データが記録されれば、ステップＳ３９に進む。
【００９５】
ステップＳ３９では、新しい履歴データに年代および性別の情報が記録さているか否かを判断する。ステップＳ３９でＮＯであれば、つまり新しい履歴データに年代および性別の情報が記録されていなければ、そのままステップＳ４３に進む。一方、ステップＳ３９でＹＥＳであれば、つまり新しい履歴データに年代および性別の情報が記録されていれば、ステップＳ４１で、後述するデータセットＤａｓから年代・性別依存ビヘービアＤＢの構築処理（図１５参照）を実行して、ステップＳ４３に進む。
【００９６】
ステップＳ４３では、年代および性別が記録されていない履歴データが存在するか否かを判断する。ステップＳ４３でＮＯであれば、つまり年代および性別が記録されていない履歴データが存在しなければ、ステップＳ３１に戻る。一方、ステップＳ４３でＹＥＳであれば、つまり年代および性別が記録されていない履歴データが存在すれば、ステップＳ４５で、後述するデータセットＤｎから場所依存ビヘービア遷移ＤＢの構築処理（図１６参照）を実行して、ステップＳ３１に戻る。
【００９７】
なお、この実施例では、新しい動作履歴情報が記録される度にデータベース構築処理（Ｓ３７，Ｓ４１，Ｓ４５）を行うようにしてあるが、中央制御装置１４のＣＰＵの処理負荷を軽減するために、一定の時間（たとえば、３時間）が経過するか、または一定の数（たとえば、１００個）の新しい動作履歴情報が記録される毎に、データベース構築処理が行われるようにしてもよい。
【００９８】
図１４は、図１３に示したステップＳ３７の個人用ビヘービア遷移ＤＢの構築処理のフロー図である。図１４に示すように、中央制御装置１４のＣＰＵは、個人用ビヘービア遷移ＤＢの構築処理を開始すると、ステップＳ６１で、変数ｎを初期化する（ｎ＝１）。この、変数ｎは、データセットＤｐに含まれる個人（個人名）ＮＮａｎ（ｎ＝１，２，…，Ｎａ）を識別するための変数である。ただし、変数ｉの最大値Ｎａは、データセットＤｐに含まれる人間の総人数に相当する。
【００９９】
次のステップＳ６３では、変数ｎが最大値Ｎａより大きいか否かを判断する。つまり、データセットＤｐに含まれるすべての個人名についての個人用ビヘービア遷移ＤＢを構築したかどうかを判断する。ステップＳ６３でＹＥＳであれば、すなわち、変数ｎが最大値Ｎａより大きければ、図１３に示したデータベース構築処理にリターンする。一方、ステップＳ６３でＮＯであれば、つまり変数ｎが最大値Ｎａ以下であれば、ステップＳ６５で他の変数ｉ，ｊ，ｋ，ｐを初期化する（ｉ＝１，ｊ＝１，ｋ＝１，ｐ＝１）。ここで、変数ｉは、場所ＮＬｉ（ｉ＝１，２，…，Ｌ）を識別するための変数である。ただし、変数ｉの最大値Ｌは、データセットＤｐに含まれる場所の種類の総数に相当する。また、変数ｊは、ＢＥＦＯＲＥのコマンド名ＮＢｊ（ｊ＝１，２，…，Ｂ）を識別するための変数である。ただし、変数ｊの最大値Ｂは、データセットＤｐに含まれるＢＥＦＯＲＥのコマンド名の種類の総数に相当する。さらに、変数ｋは、ＶＡＬＵＥの戻り値ＮＶｋ（ｋ＝１，２，…，Ｖ）を識別するための変数である。ただし、変数ｋの最大値Ｖは、データセットＤｐに含まれるＶＡＬＵＥの戻りの最大値に相当する。さらにまた、変数ｐは、ＡＦＴＥＲのコマンド名ＮＡｆｐ（ｐ＝１，２，…，Ａｆ）を識別するための変数である。ただし、変数ｐの最大値Ａｆは、データセットＤｐに含まれるＡＦＴＥＲのコマンド名の総数に相当する。
【０１００】
次のステップＳ６７では、配列Ｔｒａｎｓｉｔｉｏｎ［１，２，…，ｍ］［１，２，…，ｍ］［１，２，…，ｍ］［１，２，…，ｍ］を初期化する。つまり、配列Ｔｒａｎｓｉｔｉｏｎ［１，２，…，ｍ］［１，２，…，ｍ］［１，２，…，ｍ］［１，２，…，ｍ］のそれぞれの配列に０を設定する。
【０１０１】
続いて、ステップＳ６９では、変数ｉが最大値Ｌよりも大きいか否かを判断する。つまり、すべての場所ＮＬｉについて検索したかどうかを判断する。ステップＳ６９でＮＯであれば、つまり変数ｉが最大値Ｌ以下であれば、ステップＳ７１で、変数ｊが最大値Ｂよりも大きいか否かを判断する。つまり、すべてのＢＥＦＯＲＥのコマンド名ＮＢｊについて検索したかどうかを判断する。ステップＳ７１でＹＥＳであれば、つまり変数ｊが最大値Ｂよりも大きければ、ステップＳ８１で、変数ｉをインクリメントするとともに、変数ｊ，変数ｋおよび変数ｐのそれぞれを初期化（ｉ＝１，ｋ＝１，ｐ＝１）して、ステップ６９に戻る。一方、ステップＳ７１でＮＯであれば、つまり変数ｊが最大値Ｂ以下であれば、ステップＳ７３で変数ｋが最大値Ｖよりも大きいか否かを判断する。つまり、ＶＡＬＵＥの戻り値ＮＶｋが最大値を超えたかどうかを判断する。
【０１０２】
ステップＳ７３でＹＥＳであれば、つまり変数ｋが最大値Ｖよりも大きければ、ステップＳ８３で、変数ｊをインクリメントするとともに、変数ｋおよび変数ｐのそれぞれを初期化（ｋ＝１，ｐ＝１）して、ステップＳ７１に戻る。一方、ステップＳ７３でＮＯであれば、つまり変数ｋが最大値Ｖ以下であれば、ステップＳ７５で、変数ｐが最大値Ａｆよりも大きいか否かを判断する。つまり、すべてのＡＦＴＥＲのコマンド名ＮＡｆｐを検索したかどうかを判断する。
【０１０３】
ステップＳ７５でＹＥＳであれば、つまり変数ｐが最大値Ａｆより大きければ、ステップＳ８５で、変数ｋをインクリメントするとともに、変数ｐを初期化（ｐ＝１）して、ステップＳ７３に戻る。一方、ステップＳ７５でＮＯであれば、つまり変数ｐが最大値Ａｆ以下であれば、ステップＳ７７で、データセットＤｐに含まれるデータのうち、変数ｉ，ｊ，ｋ，ｐで指定されるデータの数（個数）を配列Ｔｒａｎｓｉｔｉｏｎ［ＮＬｉ］［ＮＢｊ］［ＮＶｋ］［ＮＡｆｐ］に対して設定し、ステップＳ７９で、変数ｐをインクリメントして、ステップＳ７５に戻る。
【０１０４】
たとえば、変数（ｉ，ｊ，ｋ，ｐ）＝（１，１，１，１）であり、この変数ｉ，ｊ，ｋ，ｐに対応する、場所ＮＬ１＝外，ＢＥＦＯＲＥのコマンド名ＮＢ１＝ＡＫＵＳＨＵ，ＶＡＬＵＥの戻り値ＮＶ１＝１（握手された），ＡＦＴＥＲのコマンド名ＮＡｆｐ１＝ＮＡＭＥであり、データセットＤｐをサーチした結果、このようなビヘービアの遷移についてのデータの個数が２０個見つかった場合には、ステップＳ７７では、配列Ｔｒａｎｓｉｔｉｏｎ［ＮＬ１］［ＮＢ１］［ＮＶ１］［ＮＡｆ１］に「２０」が設定される。
【０１０５】
つまり、ステップＳ７７では、中央制御装置１４のＣＰＵは、データセットＤｐを先頭から末尾までサーチし、変数ｉ，ｊ，ｋ，ｐで決定されるビヘービアの遷移すなわち配列Ｔｒａｎｓｉｔｉｏｎ［ＮＬｉ］［ＮＢｊ］［ＮＶｋ］［ＮＡｆｐ］と一致するビヘービアの遷移についてのデータを検出するたびに、当該配列Ｔｒａｎｓｉｔｉｏｎ［ＮＬｉ］［ＮＢｊ］［ＮＶｋ］［ＮＡｆｐ］に対応する回数（Ｃｏｕｎｔ）を１加算する。
【０１０６】
なお、すべての配列Ｔｒａｎｓｉｔｉｏｎ［ＮＬｉ］［ＮＢｊ］［ＮＶｋ］［ＮＡｆｐ］についてサーチするため、データセットＤｐに存在しない配列Ｔｒａｎｓｉｔｉｏｎ［ＮＬｉ］［ＮＢｊ］［ＮＶｋ］［ＮＡｆｐ］も存在する。かかる場合の回数は「０」である。回数が「０」であるデータに関しては、その後のロボット１２の自律制御に利用されることがないため、図９に示したように、個人用ビヘービア遷移ＤＢ（年代・性別依存ビヘービア遷移ＤＢと場所依存ビヘービア遷移ＤＢも同様。）では、回数が「０」のビヘービアの遷移についてのデータは削除してある。
【０１０７】
図１４に戻って、ステップＳ６９でＹＥＳであれば、つまり変数ｉが最大値Ｌよりも大きければ、ステップＳ８７で、配列Ｔｒａｎｓｉｔｉｏｎ［１，２，…，ｍ］［１，２，…，ｍ］［１，２，…，ｍ］［１，２，…，ｍ］の値をテーブルＮＮａｎに書き込む。ここで、テーブルＮＮａｎとは、変数ｎで指定される個人名（個人）のテーブルを意味する。たとえば、ｎ＝１で指定される個人名が山田一郎である場合に、テーブルＮＮａ1は、山田一郎の個人用ビヘービア遷移ＤＢである。そして、次のステップＳ８９では、変数ｎをインクリメントして、ステップＳ６３に戻る。つまり、次の（山田一郎とは別の）個人名についての個人用ビヘービア遷移ＤＢの構築処理に移る。
【０１０８】
図１５は、図１３に示したステップＳ４１の年代・性別依存ビヘービア遷移ＤＢの構築処理を示すフロー図である。なお、この年代・性別依存ビヘービア遷移ＤＢの構築処理は、上述した個人用ビヘービア遷移ＤＢの構築処理とほぼ同じであるため、同様の処理については簡単に説明することにする。
【０１０９】
図１５に示すように、中央制御装置１４のＣＰＵは、年代・性別依存ビヘービア遷移ＤＢの構築処理を開始すると、ステップＳ１０１で、変数ａｇｅ，ｓｅｘを初期化する（ａｇｅ＝１，ｓｅｘ＝１）。この変数ａｇｅは、データセットＤａｓに含まれる年代ＮＡｇａｇｅ（ａｇｅ＝１，２）を識別するための変数である。この実施例では、年代を子どもと大人と分類してあるため、変数ａｇｅは１（子ども）または２（大人）である。また、変数ｓｅｘは、データセットＤａｓに含まれる性別ＮＳｓｅｘ（ｓｅｘ＝１，２）を識別するための変数である。この実施例では、性別を男性と女性とに分類してあるため、変数ｓｅｘは１（男性）または２（女性）である。
【０１１０】
次のステップＳ１０３では、変数ｓｅｘが最大値２より大きいか否かを判断する。つまり、データセットＤａｓに含まれる男性と女性との両方について検索したかどうかを判断する。ステップＳ１０３でＮＯであれば、つまり変数ｓｅｘが最大値２以下であれば、ステップＳ１０９に進む。一方、ステップＳ１０３でＹＥＳであれば、つまり変数ｓｅｘが最大値２よりも大きければ、ステップＳ１０５で、変数ａｇｅをインクリメントするとともに、変数ｓｅｘを初期化して（ｓｅｘ＝１）、ステップＳ１０７で、変数ａｇｅが最大値２よりも大きいか否かを判断する。つまり、データセットＤａｓに含まれる子どもと大人との両方について検索したかどうかを判断する。ステップＳ１０７でＹＥＳであれば、つまり変数ａｇｅが最大値２よりも大きければ、図１３に示したデータベース構築処理にリターンする。一方、ステップＳ１０７でＮＯであれば、つまり変数ａｇｅが最大値２以下であれば、ステップＳ１０９に進む。
【０１１１】
また、ステップＳ１０９では、変数ｉ，ｊ，ｋ，ｐを初期化する（ｉ＝１，ｊ＝１，ｋ＝１，ｐ＝１）。なお、変数ｉ，ｊ，ｋ，ｐは、いずれも上述の個人用ビヘービア遷移ＤＢ構築処理（図１４参照）で説明したため、重複した説明は省略する。次のステップＳ１１１では、配列Ｔｒａｎｓｔｉｏｎ［１，２，…，ｍ］［１，２，…，ｍ］［１，２，…，ｍ］［１，２，…，ｍ］を初期化する。次のステップＳ１１３では、変数ｉが最大値Ｌよりも大きいか否かを判断する。ステップＳ１１３でＮＯであれば、つまり変数ｉが最大値Ｌ以下であれば、ステップＳ１１５で変数ｊが最大値Ｂよりも大きいか否かを判断する。ステップＳ１１５でＹＥＳであれば、つまり変数ｊが最大値Ｂよりも大きければ、ステップＳ１２５で、変数ｉをインクリメントするとともに、変数ｊ，変数ｋおよび変数ｐのそれぞれを初期化して、ステップ１１３に戻る。一方、ステップＳ１１５でＮＯであれば、つまり変数ｊが最大値Ｂ以下であれば、ステップＳ１１７で、変数ｋが最大値Ｖよりも大きいか否かを判断する。
【０１１２】
ステップＳ１１７でＹＥＳであれば、つまり変数ｋが最大値Ｖよりも大きければ、ステップＳ１２７で、変数ｊをインクリメントするとともに、変数ｋおよび変数ｐのそれぞれを初期化して、ステップＳ１１５に戻る。一方、ステップＳ１１７でＮＯであれば、つまり変数ｋが最大値以下であれば、ステップＳ１１９で、変数ｐが最大値Ａｆよりも大きいか否かを判断する。ステップＳ１１９でＹＥＳであれば、つまり変数ｐが最大値Ａｆよりも大きければ、ステップＳ１２９で、変数ｋをインクリメントするとともに、変数ｐを初期化して、ステップＳ１１７に戻る。一方、ステップＳ１１９でＮＯであれば、つまり変数ｐが最大値Ａｆ以下であれば、ステップＳ１２１で、データセットＤａｓに含まれるデータのうち、変数ｉ，ｊ，ｋ，ｐで指定されるデータの数を、配列Ｔｒａｎｓｉｔｉｏｎ［ＮＬｉ］［ＮＢｊ］［ＮＶｋ］［ＮＡｆｐ］に設定する。そして、ステップＳ１２３で、変数ｐをインクリメントして、ステップＳ１１９に戻る。
【０１１３】
また、ステップＳ１１３でＹＥＳであれば、つまり変数ｉが最大値Ｌよりも大きければ、ステップＳ１３１で、配列Ｔｒａｎｓｉｔｉｏｎ［１，２，…，ｍ］［１，２，…，ｍ］［１，２，…，ｍ］［１，２，…，ｍ］の値をテーブルＮＡｇａｇｅＮＳｓｅｘに書き込む。ここで、テーブルＮＡｇａｇｅＮＳｓｅｘは変数ａｇｅおよび変数ｓｅｘで指定する年代および性別のテーブルを意味する。たとえば、変数（ａｇｅ，ｓｅｘ）＝（１，１）であれば、テーブルＮＡｇ１ＮＳ１は、子どもの男性についての年代・性別依存ビヘービア遷移ＤＢを意味する。次のステップＳ１３３では、変数ｓｅｘをインクリメントし、ステップＳ１０３に戻る。つまり、次の性別（女性）についての年代・性別依存ビヘービア遷移ＤＢの構築処理に移行する。
【０１１４】
図１６は、図１３に示したステップＳ４５の場所依存ビヘービア遷移ＤＢの構築処理を示すフロー図である。なお、この図１６に示す場所依存ビヘービア遷移ＤＢの構築処理も、上述した個人用ビヘービア遷移ＤＢの構築処理とほぼ同じであるため、同様の処理については簡単に説明することにする。
【０１１５】
図１６に示すように、中央制御装置１４のＣＰＵは、場所依存ビヘービア遷移ＤＢの構築処理を開始すると、ステップＳ２０１で、変数ｉを初期化する（ｉ＝１）。なお、変数ｉについては、上述してあるため、重複した説明は省略する。次のステップＳ２０３では、変数ｉが最大値Ｌより大きいか否かを判断する。
【０１１６】
ステップＳ２０３でＹＥＳであれば、つまり変数ｉが最大値Ｌよりも大きければ、すべての場所についての場所依存ビヘービア遷移ＤＢを構築したと判断して、図１３に示したデータベース構築処理にリターンする。一方、ステップＳ２０３でＮＯであれば、つまり変数ｉが最大値Ｌ以下であれば、ステップＳ２０５で、他の変数ｊ，ｋ，ｐを初期化する（ｊ＝１，ｋ＝１，ｐ＝１）。この変数ｊ，ｋ，ｐについても上述してあるため、重複した説明は省略する。次のステップＳ２０７では、配列ＴｒａｎｓｔｉｏｎＬ［１，２，…，ｍ］［１，２，…，ｍ］［１，２，…，ｍ］を初期化する。つまり、配列ＴｒａｎｓｔｉｏｎＬ［１，２，…，ｍ］［１，２，…，ｍ］［１，２，…，ｍ］のそれぞれの配列に０を設定する。
【０１１７】
続いて、ステップＳ２０９では、変数ｊが最大値Ｂよりも大きいか否かを判断する。ステップＳ２０９でＮＯであれば、つまり変数ｊが最大値Ｂ以下であれば、ステップＳ２１１で、変数ｋが最大値Ｖよりも大きいか否かを判断する。ステップＳ２１１でＹＥＳであれば、つまり変数ｋが最大値Ｖより大きければ、ステップＳ２１９で、変数ｊをインクリメントするとともに、変数ｋおよび変数ｐを初期化して、ステップＳ２０９に戻る。一方、ステップＳ２１１でＮＯであれば、つまり変数ｋが変数Ｖより大きくなければ、ステップＳ２１３で変数ｐが最大値Ａｆよりも大きいか否かを判断する。
【０１１８】
ステップＳ２１３でＹＥＳであれば、つまり変数ｐが最大値Ａｆよりも大きければ、ステップＳ２２１で、変数ｋをインクリメントするとともに、変数ｐを初期化して、ステップＳ２１１に戻る。一方、ステップＳ２１３でＮＯであれば、つまり変数ｐが最大値Ａｆ以下であれば、ステップＳ２１５で、データセットＤｎに含まれるデータのうち、変数ｊ，ｋ，ｐで指定されるデータの数（個数）を、配列ＴｒａｎｓｉｔｉｏｎＬ［ＮＢｊ］［ＮＶｋ］［ＮＡｆｐ］に設定する。次のステップＳ２１７では、変数ｐをインクリメントして、ステップＳ２１３に戻る。
【０１１９】
また、ステップＳ２０９でＹＥＳであれば、つまり変数ｊが最大値Ｂよりも大きければ、ステップＳ２２３で、配列ＴｒａｎｓｔｉｏｎＬ［１，２，…，ｍ］［１，２，…，ｍ］［１，２，…，ｍ］の値をテーブルＮＬｉに書き込み、ステップＳ２２５で、変数ｉをインクリメントして、ステップＳ２０３に戻る。ただし、ステップＳ２２３におけるテーブルＮＬｉは、変数ｉで指定する場所についてのテーブルを意味する。たとえば、ｉ＝１で指定する場所が「外」である場合に、テーブルＮＬ１は、場所が「外」である場合についてのテーブルを意味する。つまり、場所依存ビヘービア遷移ＤＢには、変数ｉの最大値Ｌで示される個数分の（場所毎の）テーブルが記憶される。
【０１２０】
図１７は、図１に示したロボット１２のＣＰＵ８０の全体処理を示すフロー図である。図１７に示すように、ロボット１２のＣＰＵ８０は、全体処理を実行すると、ステップＳ３０１で、停止命令が有るか否かを判断する。ここでは、オペレータからの停止命令が入力されたか否かを判断する。ステップＳ３０１でＹＥＳであれば、つまり停止命令が有れば、ロボット１２の全体処理を終了する。一方、ステップＳ３０１でＮＯであれば、つまり停止命令が無ければ、ステップＳ３０３で、個人を特定できたか否かを判断する。
【０１２１】
ここでは、たとえば、ロボット１２は、対話相手が所持する無線タグ１８のタグＩＤを検出し、検出したタグＩＤを中央制御装置１４に送信する。中央制御装置１４は、タグＩＤを受信すると、メモリ１４ａに記憶された個人名，年代（年齢）および性別に関するデータベース（図示せず）を参照して、タグＩＤに対応する個人名，年代，性別の情報を検出する。そして、中央制御装置１４は、検索した結果を、ロボット１２に送信する。このとき、ロボット１２は、中央制御装置１４から送信された情報に個人名が含まれている場合に、個人を特定できたと判断する。ただし、メモリ１４ａに、タグＩＤに対応して個人名，年代，性別のいずれの情報も登録されていない場合には、中央制御装置１４は、情報が無い旨のメッセージをロボット１２に送信する。
【０１２２】
ステップＳ３０３でＹＥＳであれば、つまり個人を特定できれば、ステップＳ３０５で、利用するＤＢを個人用ビヘービア遷移ＤＢに設定して、図１８に示すステップＳ３１３に進む。ただし、ここで利用する個人用ビヘービア遷移ＤＢは、特定された個人についてのＤＢである。一方、ステップＳ３０３でＮＯであれば、つまり個人を特定できなければ、ステップＳ３０７で、年代および性別の情報を取得できたか否かを判断する。つまり、中央制御装置１４から送信された情報に、個人名は含まれていないが、年代および性別が含まれているか否かを判断する。
【０１２３】
ステップＳ３０７でＹＥＳであれば、つまり年代および性別の情報を取得できれば、ステップＳ３０９で、利用するＤＢを年代・性別依存ビヘービアＤＢに設定して、ステップＳ３１３に進む。ただし、ここで利用する年代・性別依存ビヘービアＤＢは、取得された年代および性別についてのＤＢである。一方、ステップＳ３０７でＮＯあれば、つまり年代および性別の情報を取得できなければ、ステップＳ３１１で、利用するＤＢを場所依存ビヘービア遷移ＤＢに設定して、ステップＳ３１３に進む。ただし、ここで利用する場所依存ビヘービア遷移ＤＢは、対話相手（ロボット１２）が現在存在する場所についてのＤＢである。詳細な説明は省略するが、このロボット１２が現在存在する場所は、ロボット制御システム１０の使用者等によって予め設定され、ロボット１２内部のメモリ（図示せず）に記憶される。そして、中制御装置１４には、ロボット１２内部のメモリに記憶された場所の情報が、履歴データとともに送信される。
【０１２４】
図１８に示すステップＳ３１３では、現在のビヘービアとＶＡＬＵＥとに対応するデータがＤＢに存在するか否かを判断する。つまり、ロボット１２が対話相手に行うコミュニケーション行動についてのコマンド名がＢＥＦＯＲＥの欄に記述されるとともに、そのコミュニケーション行動に対する対話相手の行動が示す戻り値がＶＡＬＵＥの欄に記述されているデータが設定したＤＢ内に存在するか否かを判断する。ステップＳ３１３でＮＯであれば、つまり現在のビヘービアとＶＡＬＵＥとに対応するデータがＤＢに存在しなければ、ステップＳ３１５で、オペレータを呼び出し、ステップＳ３１７で、遠隔操作処理を実行する。つまり、遠隔操作モードに切り替えられる。たとえば、ロボット１２は、オペレータの呼出信号を中央制御装置１４に送信し、中央制御装置１４によって選択されたオペレータが操作端末１６を操作することにより、遠隔操作される。なお、遠隔操作処理を終了すると、ステップＳ３２９で、履歴データを中央制御装置１４に送信して、ステップＳ３０１に戻る。
【０１２５】
また、ステップＳ３１３でＹＥＳであれば、つまり現在のビヘービアとＶＡＬＵＥとに対応するデータがＤＢに存在すれば、ステップＳ３１９で、そのデータに対応するＣＯＵＮＴが一定数Ｘ（たとえば、３０）より大きいか否かを判断する。ステップＳ３１９でＹＥＳであれば、つまりＣＯＵＮＴの値が一定数Ｘよりも大きければ、そのままステップＳ３２３に進む。一方、ステップＳ３１９でＮＯであれば、つまりＣＯＵＮＴの値が一定数Ｘ以下であれば、ステップＳ３２１で、ＣＯＵＮＴの値の割合がＹ（たとえば、３０）％より大きいか否かを判断する。ただし、ＣＯＵＮＴの値の割合は、設定されたＤＢに記述されたＣＯＵＮＴの総数に対する当該データに記述されたＣＯＵＮＴが示す数の割合である。
【０１２６】
ステップＳ３２１でＮＯであれば、つまりＣＯＵＮＴの値の割合がＹ％以下であれば、ステップＳ３１５に進む。一方、ステップＳ３２１でＹＥＳであれば、つまりＣＯＵＮＴの値の割合がＹ％よりも大きければ、自律制御モードに切り替えられ、ステップＳ３２３で、対応する遷移情報をＤＢから取得する。具体的には、ステップＳ３１９またはＳ３２１でＹＥＳと判断されたデータのＡＦＴＥＲに記述されたコマンド名を取得する。そして、ステップＳ３２５では、ステップＳ３２３で取得した遷移情報（ここでは、ＡＦＴＥＲのコマンド名）に従い動作を決定する。図示は省略するが、ここでは、決定されたコマンド名に従うコミュニケーション行動（ビヘービア）が実行される。
【０１２７】
次のステップＳ３２７では、動作が終了したか否かを判断する。つまり、ロボット１２が、ステップＳ３２５で決定された動作（コミュニケーション行動）を終了したか否かを判断する。ステップＳ３２７でＮＯであれば、つまり動作が終了していなければ、ステップＳ３２７に戻って、動作が終了するのを待機する。一方、ステップＳ３２７でＹＥＳであれば、つまり動作が終了すれば、ステップＳ３２９に進む。
【０１２８】
この実施例によれば、遠隔操作による動作履歴情報に基づいて個人名、年代および性別、場所のような環境に応じたデータベースを作成し、いずれかのデータベースを参照して、コミュニケーション行動を決定するので、オペレータの操作なしに自律行動する機会を増加させることができる。このため、オペレータが遠隔操作する回数や頻度を出切るだけ低減することができる。
【０１２９】
なお、この実施例では、個人用ビヘービア遷移ＤＢ，年代・性別依存ビヘービア遷移ＤＢおよび場所依存ビヘービア遷移ＤＢを作成し、これらを選択的に利用するため、たとえば、異なる場所にこのロボット制御システム（ロボット）が配置される場合であっても、ロボットは、特定に個人や特定の年代・個人に応じたサービスを提供することができ、また、個人や年代・性別を知ることができなくても、場所毎に適切なサービスを提供することができる。
【０１３０】
また、この実施例では、ロボットは、対話相手の個人名等の情報を中央制御装置に問い合わせるようにしてあるが、中央制御装置のメモリに記憶された個人名，年代（年齢）および性別に関するデータベースと同様のデータベースをロボットのメモリに記憶しておいて、ロボット自身で、個人名，年代，性別の情報を取得できるようにしてもよい。
【図面の簡単な説明】
【０１３１】
【図１】図１はこの発明の一実施例のロボット制御システムの概要を示す図解図である。
【図２】図２は図１に示すロボットの外観を正面から見た図解図である。
【図３】図３は図１に示すロボットの電気的な構成を示すブロック図である。
【図４】図４は図１に示す中央制御装置のメモリに記憶されるビヘービア履歴記録テーブルの一例を示す図解図である。
【図５】図５は図１に示す中央制御装置のメモリに記憶される遠隔操作履歴記録テーブルの一例を示す図解図である。
【図６】図６は、図１に示す中央制御装置のメモリに記憶される遠隔操作履歴記録テーブルから個人の名前が記録された動作履歴情報を抽出したデータセットの一例を示す図解図である。
【図７】図７は、図１に示す中央制御装置のメモリに記憶される遠隔操作履歴記録テーブルから年齢および性別が記録された動作履歴情報を抽出したデータセットの一例を示す図解図である。
【図８】図８は、図１に示す中央制御装置のメモリに記憶される遠隔操作履歴記録テーブルから場所が記録された動作履歴情報を抽出したデータセットの一例を示す図解図である。
【図９】図９は図１に示す中央制御装置のメモリに記憶される個人用ビヘービア遷移ＤＢの一例を示す図解図である。
【図１０】図１０は図１に示す中央制御装置のメモリに記憶される年代・性別依存ビヘービア遷移ＤＢの一例を示す図解図である。
【図１１】図１１は図１に示す中央制御措置のメモリに記憶される場所依存ビヘービア遷移ＤＢの一例を示す図解図である。
【図１２】図１２は図１に示す中央制御措置のＣＰＵの履歴記憶処理を示すフロー図である。
【図１３】図１３は図１に示す中央制御措置のＣＰＵのデータベース構築処理を示すフロー図である。
【図１４】図１４は図１に示す中央制御措置のＣＰＵの個人用ビヘービア遷移ＤＢの構築処理を示すフロー図である。
【図１５】図１５は図１に示す中央制御措置のＣＰＵの年代・性別依存ビヘービア遷移ＤＢの構築処理を示すフロー図である。
【図１６】図１６は図１に示す中央制御措置のＣＰＵの場所依存ビヘービア遷移ＤＢの構築処理を示すフロー図である。
【図１７】図１７は図１に示すロボットのＣＰＵの自律制御処理を示すフロー図である。
【図１８】図１８は図１に示すロボットのＣＰＵの自律制御処理の他の一部であって、図１７に後続するフロー図である。
【符号の説明】
【０１３２】
１０  …ロボット制御システム
１２  …ロボット
１４  …中央制御装置
１４ａ  …メモリ
１６  …操作端末
１８  …無線タグ
６４  …スピーカ
６６  …マイク
８０  …ＣＰＵ
８２  …バス
８４  …メモリ
８８  …センサ入力／出力ボード
９０  …音声入力／出力ボード
１０２  …通信ＬＡＮボード
１０４  …無線通信装置
１０６  …無線タグ読取装置
２００  …ネットワーク
【図１】
2009131914.tif 000003
【図２】
2009131914.tif 000004
【図３】
2009131914.tif 000005
【図４】
2009131914.tif 000006
【図５】
2009131914.tif 000007
【図６】
2009131914.tif 000008
【図７】
2009131914.tif 000009
【図８】
2009131914.tif 000010
【図９】
2009131914.tif 000011
【図１０】
2009131914.tif 000012
【図１１】
2009131914.tif 000013
【図１２】
2009131914.tif 000014
【図１３】
2009131914.tif 000015
【図１４】
2009131914.tif 000016
【図１５】
2009131914.tif 000017
【図１６】
2009131914.tif 000018
【図１７】
2009131914.tif 000019
【図１８】
2009131914.tif 000020