(57)【要約】      （修正有）【解決手段】ロボット制御システムは、空間に設けられた複数の距離画像センサ１２ａ，１２ｂによって人（ユーザ）の位置および向きを検出する。また、ロボット１０は、空間内を自律移動することが可能である。展示物Ｅには説明範囲が対応している。たとえば、中央制御装置は、ユーザが説明範囲に入り、展示物Ｅの方を向くと、ロボット１０の指さしによって展示物Ｅを指すことが可能か不可能かを判定する。この判定結果に応じて、指さしを伴う第１発話コンテンツおよび指さしを伴わない第２発話コンテンツのどちらかが選択される。そして、選択された発話コンテンツが、ロボット１０から出力される。【効果】ロボット１０の体を効率的に利用して、指さしを交えた発話コンテンツの提供が出来る。【選択図】図１
2015066622.tif 000002
【特許請求の範囲】
【請求項１】
展示物が置かれた空間において自律移動可能なロボットを含む、ロボット制御システムであって、
前記展示物をポインティングによって指すことが可能かを判定する判定手段、
前記判定手段による判定結果に基づいて、発話コンテンツを選択する選択手段、および
選択された発話コンテンツを、前記ロボットから出力させる出力手段を備える、ロボット制御システム。
【請求項２】
前記発話コンテンツは、ポインティングを伴う第１発話コンテンツおよびポインティングを伴わない第２発話コンテンツを含み、
選択された発話コンテンツにおいてポインティングによって指すことが可能だと判定されているとき、前記展示物をポインティングによって指すポインティング手段を備え、
前記出力手段は、選択された発話コンテンツにおいてポインティングによって指すことが可能だと判定されているとき前記第１発話コンテンツを出力し、前記選択された発話コンテンツにおいてポインティングによって指すことが不可能だと判定されたとき、前記第２発話コンテンツを出力する、請求項１記載のロボット制御システム。
【請求項３】
前記判定手段は、ユーザが所定範囲に入っているかを判定する範囲判定手段および前記ユーザが所定範囲に入ったと判定されたとき、ポインティングによって指すことが可能だと設定する設定手段を含み、
前記ポインティング手段は、選択された発話コンテンツにおいてポインティングによって指すことが可能だと設定されているとき、前記展示物をポインティングによって指す、請求項２記載のロボット制御システム。
【請求項４】
前記ポインティングは、前記展示物の一部を指す第１ポインティングを含み、
前記判定手段は、前記ユーザと前記展示物との間に障害物が無いかを判定する障害物判定手段をさらに含み、
前記設定手段は、前記ユーザが所定範囲に入っており、かつ当該ユーザと前記展示物との間に障害物が無いと判定されたとき、前記第１ポインティングによって指すことが可能だと設定する第１設定手段を含み、
前記ポインティング手段は、選択された発話コンテンツにおいて第１ポインティングによって指すことが可能だと設定されているとき、前記展示物の一部を第１ポインティングによって指す、請求項３記載のロボット制御システム。
【請求項５】
前記ポインティングは、前記展示物の全体を指す第２ポインティングを含み、
前記設定手段は、前記ユーザが所定範囲に入っていると判定されたとき、前記第２ポインティングによって指すことが可能だと設定する第２設定手段を含み、
前記ポインティング手段は、選択された発話コンテンツにおいて第２ポインティングによって指すことが可能だと設定されているとき、前記展示物の全体を第２ポインティングによって指す、請求項３または４記載のロボット制御システム。
【請求項６】
前記判定手段による判定結果に基づいて、発話コンテンツの優先度を計算する計算手段をさらに備え、
前記選択手段は、前記計算手段によって計算された優先度がもっとも高い発話コンテンツを選択する、請求項１ないし５のいずれかに記載のロボット制御システム。
【請求項７】
展示物が置かれた空間において自律移動可能なロボットを含む、ロボット制御システムのプロセッサを、
前記展示物をポインティングによって指すことが可能かを判定する判定手段、
前記判定手段による判定結果に基づいて、発話コンテンツを選択する選択手段、および
選択された発話コンテンツを、前記ロボットから出力させる出力手段として機能させる、出力制御プログラム。
【請求項８】
展示物が置かれた空間において自律移動可能なロボットを含む、ロボット制御システムにおける出力制御方法であって、前記ロボット制御システムのプロセッサが、
前記展示物をポインティングによって指すことが可能かを判定する判定ステップ、
前記判定ステップによる判定結果に基づいて、発話コンテンツを選択する選択ステップ、および
選択された発話コンテンツを、前記ロボットから出力させる出力ステップを実行する、出力制御方法。
【請求項９】
展示物が置かれた空間において自律移動可能な、ロボットであって、
前記展示物をポインティングによって指すことが可能かを判定する判定手段、
前記判定手段による判定結果に基づいて、発話コンテンツを選択する選択手段、および
選択された発話コンテンツを出力する出力手段を備える、ロボット。
【請求項１０】
展示物が置かれた空間において自律移動可能な、ロボットのプロセッサを、
前記展示物をポインティングによって指すことが可能かを判定する判定手段、
前記判定手段による判定結果に基づいて、発話コンテンツを選択する選択手段、および
選択された発話コンテンツを出力する出力手段として機能させる、出力制御プログラム。
【請求項１１】
展示物が置かれた空間において自律移動可能な、ロボットにおける出力制御方法であって、前記ロボットのプロセッサが、
前記展示物をポインティングによって指すことが可能かを判定する判定ステップ、
前記判定手段による判定結果に基づいて、発話コンテンツを選択する選択ステップ、および
選択された発話コンテンツを出力する出力ステップを実行する、出力制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ロボット制御システム、ロボット、出力制御プログラムおよび出力制御方法に関し、特にたとえば、来場者に展示物の説明をする、ロボット制御システム、ロボット、出力制御プログラムおよび出力制御方法に関する。
【背景技術】
【０００２】
背景技術の一例である非特許文献１では、ロボットが指を指して説明および案内を行う。また、特許文献１の情報提供ロボットは、腕部の手先が指し示している物体を特定し、その物体の情報を提供する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2010-231315号公報[G06Q 50/00]
【非特許文献１】O. Sugiyama, T. Kanda, M. Imai, H. Ishiguro, N. Hagita, Humanlike conversation with gestures and verbal cues based on a three-layer attention-drawing model, connection science (Special issues on android science), 18(4), pp. 379-402, 2006.
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところが、非特許文献１および特許文献１のロボットでは、物体を指し示したときに、ユーザと物体のとの間に障害物などが存在していると、指し示された物体をユーザが正しく認識できない場合がある。この場合、ユーザは、ロボットから情報の提供を受けても、その情報の内容を正しく把握することが出来ない可能性が高い。
【０００５】
それゆえに、この発明の主たる目的は、新規な、ロボット制御システム、ロボット、出力制御プログラムおよび出力制御方法を提供することである。
【０００６】
この発明の他の目的は、発話コンテンツを適切に提供することが出来る、ロボット制御システム、ロボット、出力制御プログラムおよび出力制御方法を提供することである。
【課題を解決するための手段】
【０００７】
この発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、この発明の理解を助けるために記述する実施形態との対応関係を示したものであって、この発明を何ら限定するものではない。
【０００８】
第１の発明は、展示物が置かれた空間において自律移動可能なロボットを含む、ロボット制御システムであって、展示物をポインティングによって指すことが可能かを判定する判定手段、判定手段による判定結果に基づいて、発話コンテンツを選択する選択手段、および選択された発話コンテンツを、ロボットから出力させる出力手段を備える、ロボット制御システムである。
【０００９】
第１の発明では、ボット制御システム（１００：実施例において対応する部分を例示する参照符号。以下、同じ。）のロボット（１０）は、展示物（Ｅ）が置かれた空間の中を自律移動する。判定手段（１６，Ｓ１１，Ｓ３１，Ｓ３３）は、ロボットの腕や指などによるポインティングによって展示物を指すことが可能かを判定する。選択手段（１６，Ｓ１５，Ｓ３７）は、ポインティングが可能か不可能かという判定結果に基づいて、発話コンテンツを選択する。たとえば、出力手段（１６，Ｓ１７，Ｓ４１）は、このようにして選択された発話コンテンツの出力命令をロボットに出す。
【００１０】
第１の発明によれば、ロボットの体を効率的に利用して、ポインティングを交えた発話コンテンツの提供が出来る。
【００１１】
第２の発明は、第１の発明に従属し、発話コンテンツは、ポインティングを伴う第１発話コンテンツおよびポインティングを伴わない第２発話コンテンツを含み、選択された発話コンテンツにおいてポインティングによって指すことが可能だと判定されているとき、展示物をポインティングによって指すポインティング手段を備え、出力手段は、選択された発話コンテンツにおいてポインティングによって指すことが可能だと判定されているとき第１発話コンテンツを出力し、選択された発話コンテンツにおいてポインティングによって指すことが不可能だと判定されたとき、第２発話コンテンツを出力する。
【００１２】
第２の発明では、第１発話コンテンツは、たとえば展示物がポインティングによって指されている状態で出力されることが想定されている。一方、第２発話コンテンツは、展示物がポインティングによって指されていない状態で出力されることが想定されている。たとえば、ポインティング手段（１６，Ｓ１３）は、展示物をポインティングによって指すことが可能だと判定されているとき、ポインティングによって展示物を指す命令をロボットに出す。そして、ロボットは、展示物をポインティングによって指しているときには第１発話コンテンツを出力し、展示物をポインティングによって指していないときには第２発話コンテンツを出力する。
【００１３】
第２の発明によれば、ポインティングによって指すことが出来ない場合と出来る場合とに応じて、発話コンテンツを変化させることが出来るため、ユーザはロボットの説明を理解しやすくなる。
【００１４】
第３の発明は、第２の発明に従属し、判定手段は、ユーザが所定範囲に入っているかを判定する範囲判定手段およびユーザが所定範囲に入ったと判定されたとき、ポインティングによって指すことが可能だと設定する設定手段を含み、ポインティング手段は、選択された発話コンテンツにおいてポインティングによって指すことが可能だと設定されているとき、展示物をポインティングによって指す。
【００１５】
第３の発明では、範囲判定手段（１６，Ｓ５５，Ｓ８５）は、展示物に対して設定される所定範囲に、ユーザが入っているかを判定する。ユーザが所定範囲に入ると、設定手段（１６，Ｓ５９，Ｓ８７）は、展示物をポインティングによって指すことが可能だと設定する。そして、このように設定されている状態では、ポインティング手段は展示物をポインティングによって指し、第１発話コンテンツが出力される。
【００１６】
第３の発明によれば、ポインティングが可能を判定する範囲を所定範囲としたため、ユーザは所定範囲内では、ポインティングを交えた説明を受けることが出来る。
【００１７】
第４の発明は、第３の発明に従属し、ポインティングは、展示物の一部を指す第１ポインティングを含み、判定手段は、ユーザと展示物との間に障害物が無いかを判定する障害物判定手段をさらに含み、設定手段は、ユーザが所定範囲に入っており、かつ当該ユーザと展示物との間に障害物が無いと判定されたとき、第１ポインティングによって指すことが可能だと設定する第１設定手段を含み、ポインティング手段は、選択された発話コンテンツにおいて第１ポインティングによって指すことが可能だと設定されているとき、展示物の一部を第１ポインティングによって指す。
【００１８】
第４の発明では、第１ポインティングは、たとえば指などにっよって展示物の一部を指す。障害物判定手段（１６，Ｓ５７）は、たとえばユーザと展示物との間に他のユーザ（人）が立っていないかを判定する。ユーザが所定範囲に入っていて、かつユーザと展示物との間に他のユーザが立っていなければ、第１設定手段（１６，Ｓ５９）は、展示物を第１ポインティングによって指すことが可能だと設定する。そして、このように設定されている状態では、ポインティング手段は展示物の一部を第１ポインティングによって指す。
【００１９】
第４の発明によれば、第１ポインティングによって展示物の一部を指した状態で説明を行うことが出来る。
【００２０】
第５の発明は、第３の発明または第４の発明に従属し、ポインティングは、展示物の全体を指す第２ポインティングを含み、設定手段は、ユーザが所定範囲に入っていると判定されたとき、第２ポインティングによって指すことが可能だと設定する第２設定手段を含み、ポインティング手段は、選択された発話コンテンツにおいて第２ポインティングによって指すことが可能だと設定されているとき、展示物の全体を第２ポインティングによって指す。
【００２１】
第５の発明では、第２ポインティングは、ロボットの腕など利用して展示物の全体を指す。ユーザが所定範囲に入っているとき、第２設定手段（１６，Ｓ８７）は、第２ポインティングによって指すことが可能だと設定する。そして、このように設定されると、ポインティング手段は、展示物の全体を第２ポインティングによって指す。
【００２２】
第５の発明によれば、第１ポインティングによって展示物の一部を指すことが出来ない場合は、第２ポインティングによって展示物の全体を指した状態で説明を行うことが出来る。
【００２３】
第６の発明は、第１の発明ないし第５の発明のいずれかに従属し、判定手段による判定結果に基づいて、発話コンテンツの優先度を計算する計算手段をさらに備え、選択手段は、算出手段によって算出された優先度がもっとも高い発話コンテンツを選択する。
【００２４】
第６の発明では、優先度は、複数の発話コンテンツのうち、現在のユーザの状況に適切な発話コンテンツを選択するために計算される。そして、計算手段は（１６，Ｓ３５）、ポインティングによって指すことが可能か不可能化の判定結果に基づいて、発話コンテンツの優先度を計算する。そして、選択手段は、優先度が最も高い発話コンテンツを選択する。
【００２５】
第６の発明によれば、優先度に基づいて発話コンテンツを出力するようにしたため、発話コンテンツを選択する処理を単純にすることが出来る。また、ロボットは、展示物の周囲の状況に合わせて、適切な説明を行うことが出来る。
【００２６】
第７の発明は、展示物（Ｅ）が置かれた空間において自律移動可能なロボット（１０）を含む、ロボット制御システム（１００）のプロセッサ（１６）を、展示物をポインティングによって指すことが可能かを判定する判定手段（Ｓ１１，Ｓ３１，Ｓ３３）、判定手段による判定結果に基づいて、発話コンテンツを選択する選択手段（Ｓ１５，Ｓ３７）、および選択された発話コンテンツを、ロボットから出力させる出力手段（Ｓ１７，Ｓ４１）として機能させる、出力制御プログラムである。
【００２７】
第７の発明でも、第１の発明と同様、ロボットの体を効率的に利用して、ポインティングを交えた発話コンテンツの提供が出来る。
【００２８】
第８の発明は、展示物（Ｅ）が置かれた空間において自律移動可能なロボット（１０）を含む、ロボット制御システム（１００）における出力制御方法であって、ロボット制御システムのプロセッサ（１６）が、展示物をポインティングによって指すことが可能かを判定する判定ステップ（Ｓ１１，Ｓ３１，Ｓ３３）、判定ステップによる判定結果に基づいて、発話コンテンツを選択する選択ステップ（Ｓ１５，Ｓ３７）、および選択された発話コンテンツを、ロボットから出力させる出力ステップ（Ｓ１７，Ｓ４１）を実行する、出力制御方法である。
【００２９】
第８の発明でも、第１の発明と同様、ロボットの体を効率的に利用して、ポインティングを交えた発話コンテンツの提供が出来る。
【００３０】
第９の発明は、展示物（Ｅ）が置かれた空間において自律移動可能な、ロボット（１０）であって、展示物をポインティングによって指すことが可能かを判定する判定手段（９０，Ｓ１１，Ｓ３１，Ｓ３３）、判定手段による判定結果に基づいて、発話コンテンツを選択する選択手段（９０，Ｓ１５，Ｓ３７）、および選択された発話コンテンツを出力する出力手段（９０，Ｓ１７，Ｓ４１）を備える、ロボットである。
【００３１】
第９の発明でも、第１の発明と同様、ロボットの体を効率的に利用して、ポインティングを交えた発話コンテンツの提供が出来る。
【００３２】
第１０の発明は、展示物（Ｅ）が置かれた空間において自律移動可能な、ロボット（１０）のプロセッサ（９０）を、展示物をポインティングによって指すことが可能かを判定する判定手段（Ｓ１１，Ｓ３１，Ｓ３３）、判定手段による判定結果に基づいて、発話コンテンツを選択する選択手段（Ｓ１５，Ｓ３７）、および選択された発話コンテンツを出力する出力手段（Ｓ１７，Ｓ４１）として機能させる、出力制御プログラムである。
【００３３】
第１０の発明でも、第１の発明と同様、ロボットの体を効率的に利用して、ポインティングを交えた発話コンテンツの提供が出来る。
【００３４】
第１１の発明は、展示物（Ｅ）が置かれた空間において自律移動可能な、ロボット（１０）における出力制御方法であって、ロボットのプロセッサ（９０）が、展示物をポインティングによって指すことが可能かを判定する判定ステップ（Ｓ１１，Ｓ３１，Ｓ３３）、判定ステップによる判定結果に基づいて、発話コンテンツを選択する選択ステップ（Ｓ１５，Ｓ３７）、および選択された発話コンテンツを出力する出力ステップ（Ｓ１７，Ｓ４１）を実行する、出力制御方法である。
【００３５】
第１１の発明でも、第１の発明と同様、ロボットの体を効率的に利用して、ポインティングを交えた発話コンテンツの提供が出来る。
【発明の効果】
【００３６】
この発明によれば、発話コンテンツを適切に提供することが出来る。
【００３７】
この発明の上述の目的、その他の目的、特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００３８】
【図１】図１はこの発明の一実施例のロボット制御システムの概要を示す図解図である。
【図２】図２は図１に示すロボット制御システムの構成の一例を示す図解図である。
【図３】図３は図１に示す中央制御装置の電気的な構成の一例を示すブロック図である。
【図４】図４は図１に示すロボットの外観を正面から見た図解図である。
【図５】図５は図１に示すロボットの電気的な構成の一例を示すブロック図である。
【図６】図６は図１に示す距離画像センサが設置される或る空間の地図の一例を示す図解図である。
【図７】図７は図３に示す発話コンテンツＤＢの構成の一例を示す図解図である。
【図８】図８は図３に示す中央制御装置のメモリのメモリマップの一例を示す図解図である。
【図９】図９は図３に示す中央制御装置のプロセッサの出力制御処理の一例を示すフロー図である。
【図１０】図１０は図１に示す距離画像センサが設置される或る空間の地図の他の一例を示す図解図である。
【図１１】図１１は図３に示す発話コンテンツＤＢの構成の他の一例を示す図解図である。
【図１２】図１２は図３に示す中央制御装置のメモリに記憶される判定テーブルの構成の一例を示す図解図である。
【図１３】図１３は図３に示す中央制御装置のメモリのメモリマップの他の一例を示す図解図である。
【図１４】図１４は図３に示す中央制御装置のプロセッサの第２実施例の出力制御処理の一例を示すフロー図である。
【図１５】図１５は図３に示す中央制御装置のプロセッサの第１ポインティング判定処理の一例を示すフロー図である。
【図１６】図１６は図３に示す中央制御装置のプロセッサの第２ポインティング判定処理の一例を示すフロー図である。
【発明を実施するための形態】
【００３９】
＜第１実施例＞
図１を参照して、この実施例のロボット制御システム１００は、展示物Ｅが置かれた展示会場などの空間（環境）で利用される。展示会場の中では、人（ユーザまたは来場者）およびロボット１０が任意に移動することができ、天井には複数の距離画像センサ１２（１２ａ，１２ｂ，…）が設けられている。
【００４０】
ロボット１０は、相互作用指向のロボット（コミュニケーションロボット）でもあり、ユーザのようなコミュニケーションの対象との間で、音声を含むコミュニケーション行動を実行する機能を備えている。また、ロボット１０はコミュニケーションの一環として、展示物Ｅについての説明（発話コンテンツ）をユーザに対して出力したり、展示会場を案内したりするサービスを行う。ロボット１０は、サービスを行う上で必要であれば、展示会場内を自律的に移動したり、中央制御装置１４が付与する行動命令に基づいて動作したりする。
【００４１】
また、実施例の空間は展示物Ｅが置かれた展示会場であるが、これに限らずショッピングモール、会社のフロア、博物館またはアトラクション会場などでも、ロボット制御システム１００は利用可能である。
【００４２】
なお、図１では簡単のため、ユーザは１人しか示していないが、展示会場にはさらに多くのユーザがいてもよい。同様にロボット１０も１台しか示していないが、ロボット制御システム１００は２台より多くのロボット１０を同時に制御することができる。
【００４３】
また、ロボット１０は、音声に加えて、身振り手振りのような身体動作を含むコミュニケーション行動を行うこともある。
【００４４】
図２を参照して、ロボット制御システム１００の中央制御装置１４は、一定時間（たとえば、１秒）毎に距離画像センサ１２ａ，１２ｂによって、任意に移動するユーザの位置を検出すると共に、ユーザの向きを検出する。また、中央制御装置１４は、ネットワーク１０００を介してロボット１０と無線通信を行い、必要であればロボット１０の行動を制御する。空間の中で位置が検出されたユーザには、ユーザＩＤが付与される。
【００４５】
図３は中央制御装置１４の電気的な構成を示すブロック図である。図３を参照して、中央制御装置１４は、距離画像センサ１２ａ，１２ｂおよびプロセッサ１６などを含む。プロセッサ１６は、マイクロコンピュータ或いはＣＰＵと呼ばれることもある。プロセッサ１６には、先述した距離画像センサ１２ａおよび距離画像センサ１２ｂに加えて、他の距離画像センサ１２が接続される。なお、距離画像センサ１２ａ，１２ｂを区別する必要がない場合、単に「距離画像センサ１２」と言う。
【００４６】
プロセッサ１６にはメモリ１８、通信ＬＡＮボード２０が接続されると共に、発話コンテンツデータベース（ＤＢ：Ｄａｔａｂａｓｅ）２４も接続される。
【００４７】
距離画像センサ１２は、赤外光またはレーザーなどの光を照射し、対象物から反射した光（反射光）をＣＣＤセンサなどの光学センサによって捉える。距離画像センサ１２は、光が戻るまでの時間を画素ごとに計測することで、対象物までの実際の距離を測距する。実施例の距離画像センサ１２には、ＡＳＵＳ（登録商標）社製のＸｔｉｏｎと呼ばれる製品が採用されている。なお、他の実施例では、距離画像センサ１２は、Ｍｉｃｒｏｓｏｆｔ（登録商標）社製のＫｉｎｅｃｔ（登録商標）センサ、パナソニック（登録商標）社製の３次元距離画像センサＤ−ＩＭａｇｅｒ（登録商標）などを使用することも可能である。この種のセンサは、３次元距離計測センサ、３Ｄスキャナなどと呼ばれる場合もある。
【００４８】
プロセッサ１６は、このような距離画像センサ１２を通じて対象の３次元情報を取得する。距離画像センサ１２からの３次元情報には、対象物の形状および対象物までの距離が含まれている。たとえば、ユーザが天井に設けられた距離画像センサ１２によってセンシングされると、人を上から見た状態の頭部および両肩の形状と、頭部および両肩までの距離が３次元情報として得られる。
【００４９】
たとえば、空間には３５個の距離画像センサ１２が所定の位置（既知）に設置されており、プロセッサ１６は、各々から３次元情報を取得して、３次元空間（ワールド座標系）における位置（たとえば、重心など特徴点の位置座標（ｘ，ｙ，ｚ））およびユーザの向き（たとえば、頭部および両肩など特徴部位の向き）を計算することが出来る。
【００５０】
なお、他の実施例では、距離画像センサ１２にではなく、２次元または３次元のＬＲＦを利用して、ユーザの位置および向きが検出されてもよい。
【００５１】
メモリ１８はＲＯＭ，ＨＤＤおよびＲＡＭを含む。ＲＯＭおよびＨＤＤには、中央制御装置１４の動作を制御するための制御プログラムが予め記憶される。また、ＲＡＭは、プロセッサ１６のワークメモリやバッファメモリとして用いられる。
【００５２】
通信ＬＡＮボード２０は、たとえばＤＳＰで構成され、プロセッサ１６から与えられた送信データを無線通信装置２２に与え、無線通信装置２２は送信データを、ネットワーク１０００を介してロボット１０に送信する。たとえば、送信データは、ロボット１０の自立移動に必要なデータや、サービスを行うために必要なデータおよびロボット１０に指示する行動命令の信号（コマンド）などである。また、通信ＬＡＮボード２０は、無線通信装置２２を介してデータを受信し、受信したデータをプロセッサ１６に与える。
【００５３】
発話コンテンツＤＢ２４は、ロボット１０がユーザに対して出力する発話コンテンツが記憶されている。
【００５４】
なお、他の実施例では、中央制御装置１４は、ディスプレイなどの出力装置と、マウスおよびキーボードなどの入力装置とを備えていてもよい。
【００５５】
図４はこの実施例のロボット１０の外観を示す正面図である。図４を参照して、ロボット１０は台車４０を含み、台車４０の下面にはロボット１０を自律移動させる２つの車輪４２および１つの従輪４４が設けられる。２つの車輪４２は車輪モータ４６（図５参照）によってそれぞれ独立に駆動され、台車４０すなわちロボット１０を前後左右の任意方向に動かすことができる。また、従輪４４は車輪４２を補助する補助輪である。したがって、ロボット１０は、配置された空間内を自律制御によって移動可能である。
【００５６】
台車４０の上には、円柱形のセンサ取り付けパネル４８が設けられ、このセンサ取り付けパネル４８には、多数の赤外線距離センサ５０が取り付けられる。これらの赤外線距離センサ５０は、センサ取り付けパネル４８すなわちロボット１０の周囲の物体（ユーザや障害物など）との距離を測定するものである。
【００５７】
なお、この実施例では、距離センサとして、赤外線距離センサを用いるようにしてあるが、赤外線距離センサに代えて、ＬＲＦや、超音波距離センサおよびミリ波レーダなどを用いることもできる。
【００５８】
センサ取り付けパネル４８の上には、胴体５２が直立するように設けられる。また、胴体５２の前方中央上部（人の胸に相当する位置）には、上述した赤外線距離センサ５０がさらに設けられ、ロボット１０の前方の主としてユーザとの距離を計測する。また、胴体５２には、その側面側上端部のほぼ中央から伸びる支柱５４が設けられ、支柱５４の上には、全方位カメラ５６が設けられる。全方位カメラ５６は、ロボット１０の周囲を撮影するものであり、後述する眼カメラ８０とは区別される。この全方位カメラ５６としては、たとえばＣＣＤやＣＭＯＳのような固体撮像素子を用いるカメラを採用することができる。なお、これら赤外線距離センサ５０および全方位カメラ５６の設置位置は、当該部位に限定されず適宜変更され得る。
【００５９】
胴体５２の両側上端部（人の肩に相当する位置）には、それぞれ、肩関節５８Ｒおよび肩関節５８Ｌによって、上腕６０Ｒおよび上腕６０Ｌが設けられる。図示は省略するが、肩関節５８Ｒおよび肩関節５８Ｌは、それぞれ、直交する３軸の自由度を有する。すなわち、肩関節５８Ｒは、直交する３軸のそれぞれの軸廻りにおいて上腕６０Ｒの角度を制御できる。肩関節５８Ｒの或る軸（ヨー軸）は、上腕６０Ｒの長手方向（または軸）に平行な軸であり、他の２軸（ピッチ軸およびロール軸）は、その軸にそれぞれ異なる方向から直交する軸である。同様にして、肩関節５８Ｌは、直交する３軸のそれぞれの軸廻りにおいて上腕６０Ｌの角度を制御できる。肩関節５８Ｌの或る軸（ヨー軸）は、上腕６０Ｌの長手方向（または軸）に平行な軸であり、他の２軸（ピッチ軸およびロール軸）は、その軸にそれぞれ異なる方向から直交する軸である。
【００６０】
また、上腕６０Ｒおよび上腕６０Ｌのそれぞれの先端には、肘関節６２Ｒおよび肘関節６２Ｌが設けられる。図示は省略するが、肘関節６２Ｒおよび肘関節６２Ｌは、それぞれ１軸の自由度を有し、この軸（ピッチ軸）の軸回りにおいて前腕６４Ｒおよび前腕６４Ｌの角度を制御できる。
【００６１】
前腕６４Ｒおよび前腕６４Ｌのそれぞれの先端には、手６６Ｒおよび手６６Ｌがそれぞれ設けられる。各手６６には、人と同じように親指、人差し指、中指、薬指および小指が設けられている。手６６の親指および人差し指の根本には指関節（図示せず）が設けられており、それぞれを独立して動かすことができる。また、中指、薬指および小指は一体成型され、親指および人差し指と同様、根元に指関節が設けられている。そして、中指、薬指および小指はまとめて動かすことが出来る。
【００６２】
また、手６６Ｒおよび手６６Ｌのそれぞれ根元には、手首が設けられる。図示は省略するが、左右の手首は、それぞれ１軸の自由度を有し、この軸（ヨー軸）の軸回りにおいて手６６Ｒおよび手６６Ｌの角度を制御できる。また、図示は省略するが手６６Ｒおよび手６６Ｌの親指、人差し指および残りの３本の指（中指、薬指および小指）の指関節は、それぞれ１自由度を有し、この軸の軸回りにおいて指の角度を制御できる。
【００６３】
従って、ロボット１０は、親指、中指、薬指および小指が折り曲げられた指さしの状態の手６６で任意の対象を指したり、手６６を開いた状態で上腕６０、前腕６４および手６６の全体を使って任意の対象を指したりすることが可能となる。ここで、実施例では、ロボット１０の手６６の指を使った指し方を、指さし、第１ポインティングまたはフィンガーポインティングと呼ぶことがある。また、ロボット１０の手６６を開いた状態で上腕６０、前腕６４および手６６の全体を使った指し方を、第２ポインティングまたはパームポインティングと呼ぶことがある。
【００６４】
なお、他の実施例では、人と同じようにそれぞれの指が独立し、かつ人の指と同じ数の指関節を持つ手６６が採用されてもよい。この場合、ロボット１０は、指さしだけでなく、物を指で掴んだり、手話によるコミュニケーションを行ったりすることが可能となる。
【００６５】
また、図示は省略するが、台車４０の前面、肩関節５８Ｒと肩関節５８Ｌとを含む肩に相当する部位、上腕６０Ｒ、上腕６０Ｌ、前腕６４Ｒ、前腕６４Ｌ、手６６Ｒおよび手６６Ｌには、それぞれ、接触センサ６８（図５で包括的に示す）が設けられる。台車４０の前面の接触センサ６８は、台車４０へのユーザや他の障害物の接触を検知する。したがって、ロボット１０は、自身の移動中に障害物との接触が有ると、それを検知し、直ちに車輪４２の駆動を停止してロボット１０の移動を急停止させることができる。また、その他の接触センサ６８は、当該各部位に触れたかどうかを検知する。なお、接触センサ６８の設置位置は、当該部位に限定されず、適宜な位置（人の胸、腹、脇、背中および腰に相当する位置）に設けられてもよい。
【００６６】
胴体５２の中央上部（人の首に相当する位置）には首関節７０が設けられ、さらにその上には頭部７２が設けられる。図示は省略するが、首関節７０は、３軸の自由度を有し、３軸の各軸廻りに角度制御可能である。或る軸（ヨー軸）はロボット１０の真上（鉛直上向き）に向かう軸であり、他の２軸（ピッチ軸、ロール軸）は、それぞれ、それと異なる方向で直交する軸である。
【００６７】
頭部７２には、人の口に相当する位置に、スピーカ７４が設けられる。スピーカ７４は、ロボット１０が、それの周辺のユーザに対して音声ないし音によってコミュニケーションを取るために用いられる。また、人の耳に相当する位置には、マイク７６Ｒおよびマイク７６Ｌが設けられる。以下、右のマイク７６Ｒと左のマイク７６Ｌとをまとめてマイク７６と言うことがある。マイク７６は、周囲の音、とりわけコミュニケーションを実行する対象であるユーザの音声を取り込む。さらに、人の目に相当する位置には、眼球部７８Ｒおよび眼球部７８Ｌが設けられる。眼球部７８Ｒおよび眼球部７８Ｌは、それぞれ眼カメラ８０Ｒおよび眼カメラ８０Ｌを含む。以下、右の眼球部７８Ｒと左の眼球部７８Ｌとをまとめて眼球部７８と言うことがある。また、右の眼カメラ８０Ｒと左の眼カメラ８０Ｌとをまとめて眼カメラ８０と言うことがある。
【００６８】
眼カメラ８０は、ロボット１０に接近したユーザの顔や他の部分ないし物体などを撮影して、それに対応する映像信号を取り込む。また、眼カメラ８０は、上述した全方位カメラ５６と同様のカメラを用いることができる。たとえば、眼カメラ８０は、眼球部７８内に固定され、眼球部７８は、眼球支持部（図示せず）を介して頭部７２内の所定位置に取り付けられる。図示は省略するが、眼球支持部は、２軸の自由度を有し、それらの各軸廻りに角度制御可能である。たとえば、この２軸の一方は、頭部７２の上に向かう方向の軸（ヨー軸）であり、他方は、一方の軸に直交しかつ頭部７２の正面側（顔）が向く方向に直行する方向の軸（ピッチ軸）である。眼球支持部がこの２軸の各軸廻りに回転されることによって、眼球部７８ないし眼カメラ８０の先端（正面）側が変位され、カメラ軸すなわち視線方向が移動される。なお、上述のスピーカ７４、マイク７６および眼カメラ８０の設置位置は、当該部位に限定されず、適宜な位置に設けられてよい。
【００６９】
このように、この実施例のロボット１０は、車輪４２の独立２軸駆動、肩関節５８の３自由度（左右で６自由度）、肘関節６２の１自由度（左右で２自由度）、手首の１自由度（左右で２自由度）、指関節の１自由度（左右の各指で６自由度）、首関節７０の３自由度および眼球支持部の２自由度（左右で４自由度）の合計２５自由度を有する。
【００７０】
図５はロボット１０の電気的な構成を示すブロック図である。この図５を参照して、ロボット１０は、プロセッサ９０を含む。プロセッサ９０は、マイクロコンピュータ或いはプロセッサとも呼ばれ、バス９２を介して、メモリ９４、モータ制御ボード９６、センサ入力／出力ボード９８、音声入力／出力ボード１１０および通信ＬＡＮボード１３０に接続される。
【００７１】
メモリ９４はＲＯＭおよびＲＡＭを含む。ＲＯＭには、ロボット１０の動作を制御するための制御プログラムが予め記憶される。たとえば、各センサの出力（センサ情報）を検知するための検知プログラムや、外部コンピュータ（中央制御装置１４）との間で必要なデータやコマンドを送受信するための通信プログラムなどが記憶される。また、ＲＡＭは、プロセッサ９０のワークメモリやバッファメモリとして用いられる。
【００７２】
モータ制御ボード９６は、たとえばＤＳＰで構成され、各腕や首関節および眼球部などの各軸モータの駆動を制御する。すなわち、モータ制御ボード９６は、プロセッサ９０からの制御データを受け、右眼球部７８Ｒの２軸のそれぞれの角度を制御する２つのモータ（図５では、まとめて「右眼球モータ１１２」と示す）の回転角度を制御する。同様に、モータ制御ボード９６は、プロセッサ９０からの制御データを受け、左眼球部７８Ｌの２軸のそれぞれの角度を制御する２つのモータ（図５では、まとめて「左眼球モータ１１４」と示す）の回転角度を制御する。
【００７３】
また、モータ制御ボード９６は、プロセッサ９０からの制御データを受け、肩関節５８Ｒの直交する３軸のそれぞれの角度を制御する３つのモータと肘関節６２Ｒの角度を制御する１つのモータとの計４つのモータ（図５では、まとめて「右腕モータ１１６」と示す）の回転角度を制御する。同様に、モータ制御ボード９６は、プロセッサ９０からの制御データを受け、肩関節５８Ｌの直交する３軸のそれぞれの角度を制御する３つのモータと肘関節６２Ｌの角度を制御する１つのモータとの計４つのモータ（図５では、まとめて「左腕モータ１１８」と示す）の回転角度を制御する。
【００７４】
また、モータ制御ボード９６は、プロセッサ９０からの制御データを受け、右の手首の１軸の角度を制御する１つのモータと右手６６Ｒの３つの指関節のそれぞれの角度を制御する３つのモータとの４つのモータ（図５では、まとめて「右手モータ１２０」と示す）の回転角度を制御する。同様に、モータ制御ボード９６は、プロセッサ９０からの制御データを受け、左手の手首の１軸の角度を制御する１つのモータと左手６６Ｌの３つの指関節のそれぞれの角度を制御する３つのモータとの４つのモータ（図５では、まとめて「左手モータ１２２」と示す）の回転角度を制御する。
【００７５】
ここで、指関節の角度は、モータの回転がそのまま反映されるわけではなく、モータの回転によって動作する流体圧シリンダによって制御される。具体的には、流体圧シリンダには、動作流体を移動させるピストンが移動自在に収容されており、このピストンの位置がモータの回転によって変化する。そして、流体圧シリンダの動きに応じて指関節の角度が変化する。なお、流体圧シリンダを用いたロボットの手については、たとえば特開２０１３−９６５１４号公報に詳しく説明されているので、ここでは、その公開公報を参照することによって、詳細な説明を省略する。
【００７６】
さらに、モータ制御ボード９６は、プロセッサ９０からの制御データを受け、首関節７０の直交する３軸のそれぞれの角度を制御する３つのモータ（図５では、まとめて「頭部モータ１２４」と示す）の回転角度を制御する。
【００７７】
そして、モータ制御ボード９６は、プロセッサ９０からの制御データを受け、車輪４２を駆動する２つのモータ（図５では、まとめて「車輪モータ４６」と示す）の回転角度を制御する。なお、この実施例では、車輪モータ４６を除くモータは、制御を簡素化するためにステッピングモータ（すなわち、パルスモータ）を用いる。ただし、車輪モータ４６と同様に直流モータを用いるようにしてもよい。また、ロボット１０の身体部位を駆動するアクチュエータは、電流を動力源とするモータに限らず適宜変更されてもよい。たとえば、他の実施例では、エアアクチュエータなどが適用されてもよい。
【００７８】
センサ入力／出力ボード９８は、モータ制御ボード９６と同様に、ＤＳＰで構成され、各センサからの信号を取り込んでプロセッサ９０に与える。すなわち、赤外線距離センサ５０のそれぞれからの反射時間に関するデータがこのセンサ入力／出力ボード９８を通じてプロセッサ９０に入力される。また、全方位カメラ５６からの映像信号が、必要に応じてセンサ入力／出力ボード９８で所定の処理を施してからプロセッサ９０に入力される。眼カメラ８０からの映像信号も、同様に、プロセッサ９０に入力される。また、上述した複数の接触センサ６８（図５では、まとめて「接触センサ６８」と示す）からの信号がセンサ入力／出力ボード９８を介してプロセッサ９０に与えられる。
【００７９】
音声入力／出力ボード１１０もまた、同様に、ＤＳＰで構成され、プロセッサ９０から与えられる音声合成データに従った音声または声がスピーカ７４から出力される。また、マイク７６からの音声入力が、音声入力／出力ボード１１０を介してプロセッサ９０に与えられる。
【００８０】
通信ＬＡＮボード１３０は、たとえばＤＳＰで構成され、プロセッサ９０から与えられた送信データを無線通信装置１３２に与え、無線通信装置１３２は送信データを、ネットワーク１０００を介して外部コンピュータ（中央制御装置１４）に送信する。また、通信ＬＡＮボード１３０は、無線通信装置１３２を介してデータを受信し、受信したデータをプロセッサ９０に与える。たとえば、送信データとしては、全方位カメラ５６および目カメラ８０によって撮影された周囲の映像データなどである。
【００８１】
図６は展示会場（空間）の地図である。図６を参照して、展示会場には、入り口および３つの展示物Ｅ（Ｅ１，Ｅ２，Ｅ３）が含まれる。入口にはＩＲＩＤタグのリーダが設置されている。たとえば、ユーザは自身が持つＲＦＩＤタグをリーダに読み取らせることによって、展示会場に入場可能になる。ＲＦＩＤタグにはユーザＩＤが記憶されており、リーダはＲＦＩＤタグからユーザＩＤを読み取る。中央制御装置１４には、リーダによって読み取られたユーザＩＤが送信される。そのため、中央制御装置１４は、入り口で検出されたユーザの位置と受信したユーザＩＤとを対応付けることで、展示会場内にいる複数のユーザをそれぞれ識別することが出来る。
【００８２】
ここで、２つの対象点Ｃを含む展示物Ｅ１には、２つの説明範囲Ａが対応付けられる。説明範囲Ａ１は展示物Ｅの対象点Ｃ１に対応付けられており、説明範囲Ａ２は展示物Ｅ１の対象点Ｃ２に対応付けられている。そして、各説明範囲Ａは、ユーザに対して出力する発話コンテンツ（説明する内容）が対応している。なお、説明範囲Ａは所定範囲と呼ばれることもある。
【００８３】
図７を参照して、発話コンテンツＤＢ２４は、たとえばテーブルで構成されており、そのテーブルは番号、対象点、説明範囲、内容（ポインティングあり）および内容（ポインティングなし）の列を含む。そして、１つの発話コンテンツが１つの行で示される。たとえば、番号の欄に「１」が記憶されている発話コンテンツでは、対象点の欄には「Ｃ１」が記憶され、説明範囲の欄には「Ａ１」が記憶される。そして、内容（ポインティングあり）の欄には「これは充電用のプラグです」が記憶され、内容（ポインティングなし）の欄には「このバイクの後ろ側の荷台の上の所に伸びている黒いコードは充電用のコンセントです」が記憶される。また、番号の欄に「２」が記憶されている発話コンテンツでは、対象点の欄には「Ｃ１」が記憶され、説明範囲の欄には「Ａ２」が記憶される。そして、内容（ポインティングあり）の欄には「これはモータです」が記憶され、内容（ポインティングなし）の欄には「足元にある銀色のものはモータです」が記憶される。ここで、実施例では、内容（ポインティングあり）の欄に記憶されている情報は第１発話コンテンツと言い、内容（ポインティングなし）の欄に記憶されている情報は第２発話コンテンツと言う。
【００８４】
たとえば、ユーザの位置と向きが検出されたときに、ユーザの位置が説明範囲Ａ１に含まれており、かつユーザの向きが対象点Ｃ１の方に向くと、展示物Ｅ（対象点Ｃ１）と対応する発話コンテンツが発話コンテンツＤＢ２４から読み出される。また、略同時に、ロボット１０をユーザの近傍に移動させるための動作命令が、ロボット１０に与えられる。次に、ユーザと展示物（対象点Ｃ）との間を遮る人などの障害物が無いか、つまりロボット１０の手６６のよる指さしによって展示物Ｅを指すことが出来るかが判定される。そして、展示物Ｅを指さしによって指すことが出来れば、「１」番の発話コンテンツのうち、指さしを伴う第１発話コンテンツが選択され、ロボット１０に送信される。その結果、ロボット１０は受信した第１発話コンテンツに従って、展示物Ｅの説明を行う。具体的には、ロボット１０は、ユーザに近づいてから、ユーザに対して挨拶をした後に、手６６で対象点Ｃの方を指しながら、「これは充電用のプラグです」と展示物Ｅについて説明（発話）する。なお、発話コンテンツなどに基づく音声は、ロボット１０のスピーカ７４から出力される。
【００８５】
一方、展示物Ｅを指さしによって指すことが出来なければ、「１」番の発話コンテンツのうち、指さしを伴わない第２発話コンテンツが選択されロボット１０に送信される。その結果、ロボット１０は受信した第２発話コンテンツに従って、展示物Ｅの説明を行う。具体的には、ロボット１０は、ユーザに近づき挨拶をしてから、指さしを行わずに、「このバイクの後ろ側の荷台の上の所に伸びている黒いコードは充電用のコンセントです」と展示物Ｅについて説明（発話）する。そして、発話コンテンツの出力が終了すると、ロボット１０は別れの挨拶をユーザに行った後、別の場所または別のユーザの所へ移動する。
【００８６】
このように、第１実施例では、ロボット１０の体を効率的に利用して、ポインティングを交えた発話コンテンツの提供が出来る。特に、ポインティングによって指すことが出来ない場合と出来る場合とに応じて、発話コンテンツを変化させることが出来るため、ユーザはロボット１０の説明を理解しやすくなる。
【００８７】
なお、ユーザが説明範囲Ａの外に出た場合は、発話コンテンツの出力中であっても、出力を停止する。つまり、ユーザが展示物Ｅに興味を持っていないと考えられるため、発話コンテンツの提供を停止することが出来る。また、図示は省略しているが、展示物Ｅ２および展示物Ｅ３に対しても、対象点Ｃ、説明範囲Ａおよび発話コンテンツが対応付けられる。
【００８８】
上述では第１実施例の特徴を概説した。以下では、図８に示すメモリマップ、図９に示すフロー図を用いて、第１実施例について詳細に説明する。
【００８９】
図８は図２に示す中央制御装置１４におけるメモリ１８のメモリマップの一例を示す図解図である。図８で示すように、メモリ１８はプログラム記憶領域３０２およびデータ記憶領域３０４を含む。プログラム記憶領域３０２には、中央制御装置１４を動作させるためのプログラムとして、発話コンテンツの出力を制御する出力制御プログラム３１０などが記憶される。なお、図示は省略するが、中央制御装置１４を動作させるためのプログラムには、距離画像センサ１２からユーザの位置および向きを検出するためのプログラムなども含まれる。
【００９０】
データ記憶領域３０４には、ユーザ情報バッファ３３０が設けられると共に、地図データ３３２が記憶される。たとえば、ユーザ情報バッファ３３０には、３次元情報に基づいて計算された、ユーザの位置およびユーザの向きがユーザ情報として一時的に記憶される。
【００９１】
地図データ３３２には、空間に置かれている展示物Ｅおよびその展示物Ｅと対応する所定範囲の情報（座標）が含まれる。なお、図示は省略するが、データ記憶領域３０４には、様々な計算の結果を一時的に格納するバッファや、中央制御装置１４の動作に必要な他のカウンタやフラグなども設けられる。
【００９２】
中央制御装置１４のプロセッサ１６は、Ｌｉｎｕｘ（登録商標）ベースのＯＳや、その他のＯＳの制御下で、図９に示す出力制御処理などを含む、複数のタスクを処理する。
【００９３】
図９は出力制御処理のフロー図である。中央制御装置１４の電源がオンにされると、中央制御装置１４のプロセッサ１６は、ステップＳ１で終了命令か否かを判断する。たとえば、中央制御装置１４を終了させる操作が管理人によって行われたかが判断される。ステップＳ１で“ＮＯ”であれば、つまり終了命令を受け付けていなければ、ステップＳ３でプロセッサ１６は、ユーザ情報を取得する。つまり、ユーザ情報バッファ３３０から、ユーザの位置および向きが読み出される。
【００９４】
続いて、ステップＳ５でプロセッサ１６は、ユーザが説明範囲Ａに入っているか否かを判断する。たとえば、プロセッサ１６は、地図データ３３２を読み出して、ユーザの位置が展示物Ｅ１の説明範囲Ａ１に含まれているかを判断する。ステップＳ５で“ＮＯ”であれば、たとえばユーザの位置が入口の周囲であれば、プロセッサ１６はステップＳ１の処理に戻る。また、ステップＳ５で“ＹＥＳ”であれば、たとえばユーザの位置が説明範囲Ａ１に含まれていれば、ステップＳ７でプロセッサ１６は、ユーザが対象点Ｃの方を向いているか否かを判断する。たとえば、ユーザが説明範囲Ａ１にいる場合は、ユーザの向きが展示物Ｅ１の対象点Ｃ１の方に向いているかが判断される。なお、ユーザの向きが対象点Ｃを向いているかを判断する場合、±５度は許容範囲とされる。つまり、ステップＳ７では、ユーザの向きに対して±５度の許容範囲に対象点Ｃが含まれているかが判断される。ステップＳ７で“ＮＯ”であれば、つまりユーザが対象点Ｃの方を向いていなければ、プロセッサ１６はステップＳ１の処理に戻る。
【００９５】
また、ステップＳ７で“ＹＥＳ”であれば、つまりユーザが対象点Ｃの方を向いていれば、ステップＳ９でプロセッサ１６は、ロボット１０をユーザの近傍へ移動させる。つまり、プロセッサ１６は、ユーザの位置を示す座標と、その座標への移動命令をロボット１０に対して出す。その結果、ロボット１０はユーザに近づくことになる。
【００９６】
続いて、ステップＳ１１でプロセッサ１６は、ポインティング可能か否かを判定する。つまり、プロセッサ１６は、展示物Ｅ（対象点Ｃ）とユーザのとの間に障害物が存在しないかを判定する。なお、ステップＳ１１の処理を実行するプロセッサ１６は判定手段として機能する。ステップＳ１１で“ＮＯ”であれば、つまり指さしによって展示物Ｅを指すことが不可能であれば、プロセッサ１６はステップＳ１５の処理に進む。一方、ステップＳ１１で“ＹＥＳ”であれば、つまり指さしによって展示物を指すことが可能であれば、ステップＳ１３でプロセッサ１６は、展示物Ｅをポインティングする。つまり、中央制御装置１４は、対象点Ｃを指す指さしの動作命令をロボット１０に対して送信する。そして、ロボット１０は指さしの動作命令を受けて、対象点Ｃを指す指さしを行う。なお、ステップＳ１３の処理を実行するプロセッサ１６はポインティング手段として機能する。
【００９７】
続いて、ステップＳ１５でプロセッサ１６は、発話コンテンツを選択する。たとえば、ユーザが説明範囲Ａ１にいる場合、説明範囲Ａ１と対応する「１」番の発話コンテンツが読み出される。そして、指さしによって展示物Ｅを指すことが出来るか否かの判定結果に基づいて、第１発話コンテンツまたは第２発話コンテンツが選択される。なお、ステップＳ１５の処理を実行するプロセッサ１６は選択手段として機能する。続いて、ステップＳ１７でプロセッサ１６は、発話コンテンツを出力する。つまり、ステップＳ１５の処理で選択された発話コンテンツをロボット１０に送信する。たとえば、説明範囲Ａ１と対応する「１」番の発話コンテンツにおける第１発話コンテンツがロボット１０に送信された場合、ロボット１０は展示物Ｅの対象点Ｃ１を指さしで指した状態で、「これはモータです」と発話する。なお、ステップＳ１７の処理を実行するプロセッサ１６は出力手段として機能する。
【００９８】
続いて、ステップＳ１９でプロセッサ１６は、出力終了か否かを判断する。つまり、プロセッサ１６は、発話コンテンツの出力が終了したことがロボット１０から通知されたかを判断する。ステップＳ１９で“ＮＯ”であれば、つまり発話コンテンツの出力が続いていれば、プロセッサ１６はステップＳ１９の処理を繰り返して実行する。一方、ステップＳ１９で“ＹＥＳ”であれば、つまり発話コンテンツの出力が終了すると、プロセッサ１６はステップＳ１の処理に戻る。
【００９９】
そして、ステップＳ１で“ＹＥＳ”であれば、たとえばユーザが中央制御装置１４を終了させる操作を行うと、プロセッサ１６は出力制御処理を終了する。
【０１００】
＜第２実施例＞
第２実施例では、展示物Ｅの一部を指すフィンガーポインティング（指さし）に加えて、展示物Ｅの全体を指すパームポインティングを、ロボット１０が行う。また、発話コンテンツのそれぞれの優先度を算出し、優先度が高い発話コンテンツが出力される。なお、第２実施例のロボット制御システム１００は、第１実施例と略同じであるため、システムの構成、ロボット１０の外観および電気的な構成、中央制御装置１４の電気的な構成などの説明は省略する。
【０１０１】
図１０を参照して、第２実施例では、説明範囲Ａ１，Ａ２に加えて、対象点Ｃ１を中心とする楕円形の説明範囲Ａ３が設けられる。また、説明範囲Ａ３の中には、展示物Ｅ、説明範囲Ａ１および説明範囲Ａ２が含まれ、説明範囲Ａ３は２つの説明範囲Ａよりも広い。そして、説明範囲Ａ３には、展示物Ｅの全体を指すパームポインティングが発話コンテンツに対応付けられている。
【０１０２】
図１１を参照して、第２実施例の発話コンテンツＤＢ２４では、ポインティング種類および優先度の列がさらに加えられる。たとえば、フィンガーポインティングと対応する「１」および「２」番の発話コンテンツにおいて、ポインティング種類の欄には「フィンガーポインティング」が記憶される。また、「１」番の発話コンテンツの優先度の欄には「６０」が記憶され、「２」番の発話コンテンツの優先度の欄には「５０」が記憶される。そして、パームポインティングと対応する「３」番の発話コンテンツにおいて、ポインティング種類の欄には「パームポインティング」が記憶され、「優先度」の欄には「３０」が記憶される。また、「３」番の発話コンテンツの内容（ポインティングあり）の欄には「これは電動バイクです」が記憶され、内容（ポインティングなし）の欄には「今ご覧いただいているのは電動バイクです」が記憶される。実施例の優先度とは、複数の発話コンテンツのうち、現在のユーザの状況に適切な発話コンテンツを選択するための値である。たとえば、２つの説明範囲Ａが重なっている場合、優先度を計算することで、ユーザの状況に適切な発話コンテンツを選択することが出来る。そして、この優先度は、ポインティングの可能／不可能の判定結果に基づいて算出される。
【０１０３】
ここで、フィンガーポインティングの可能／不可能の判定結果は、上述したように、説明範囲Ａに入っているかの範囲判定と、ユーザと対象点Ｃとの間に障害物が存在するかの障害物判定とによって得られる。また、パームポインティングの可能／不可能の判定結果は、説明範囲Ａに入っているかの範囲判定によって得られる。ただし、パームポインティングは、展示物Ｅの全体を指すため、障害物が存在するかの判定は行わない。
【０１０４】
図１２を参照して、ポインティングの可能／不可能の判定結果が記憶される判定テーブルには、発話コンテンツの番号、判定結果および判定結果に基づく優先度が記憶される列が設けられる。たとえば、説明範囲Ａ１にユーザが入った状態で、ユーザと対象点Ｃ１との間に障害物がある場合、「１」番の発話コンテンツの判定結果は「ポインティング不可能」となる。また、この状態のユーザは説明範囲Ａ２に入っていないため「２」番の発話コンテンツの判定結果も「ポインティング不可能」となる。ただし、説明範囲Ａ３は説明範囲Ａ１を包含しているため、「３」番の発話コンテンツの判定結果は「ポインティング可能」となる。
【０１０５】
次に、フィンガーポインティングの判定結果が「ポインティング不可能」である場合、発話コンテンツの優先度から第１所定値（たとえば、「４０」）が減算される。また、パームポインティングの判定結果が「ポインティング不可能」である場合は、優先度から第２所定値（たとえば、「５」）が減算される。ただし、「ポインティング可能」である場合は、優先度はそのままの値となる。したがって、図１２に示す判定テーブルでは、「１」および「２」番の発話コンテンツでは、元の優先度から第１所定値が減算され、計算後の優先度は「２０」および「１０」が記憶される。また、「３」番の発話コンテンツでは「ポインティング可能」と判定されているため、優先度は減算されずに「３０」が記憶される。
【０１０６】
判定テーブルに優先度が記憶されると、優先度が最も高い発話コンテンツが選択される。そして、発話コンテンツが選択されると、ポインティングの判定結果に基づいて発話コンテンツが出力される。また、判定テーブルにおいて、ポインティング可能と記憶されているかが判断され、ポインティング可能と記憶されていれば、ロボット１０は展示物Ｅをポインティングする。
【０１０７】
たとえば、図１２に示すように優先度が記憶されている場合は、「３」番の発話コンテンツが選択され、ロボット１０は、パームポインティングによって展示物Ｅの全体を指すと共に、「これは電動バイクです」という説明を行う。ただし、「３」番の発話コンテンツにおいてポインティング不可能と判定されていた場合、ロボット１０は、パームポインティングを行わずに、「今ご覧い頂いているのは電動バイクです」と説明する。
【０１０８】
また、判定テーブルにおいて「１」番の発話コンテンツの優先度が最も高く、かつポインティング可能と判定されている場合は、「１」番の発話コンテンツが選択され、ロボット１０はフィンガーポインティングによって展示物Ｅの一部を指すと共に、「これは充電用のプラグです」と言う説明を行う。なお、「１」番の発話コンテンツにおいてポインティング不可能と判定されていた場合については、第１実施例で詳細に説明したため、ここでの説明は省略する。
【０１０９】
このように、ポインティングが可能を判定する範囲を説明範囲Ａとしたため、ユーザは説明範囲Ａ内では、ポインティングを交えた説明を受けることが出来る。また、優先度に基づいて発話コンテンツを出力するようにしたため、発話コンテンツを選択する処理を単純にすることが出来る。また、ロボット制御システムの管理者は、発話コンテンツの優先度を、フィンガーポインティングが優先して行われるように設定することが可能である。たとえばこのように設定した場合、通常はフィンガーポインティングによって展示物Ｅの一部が指された状態で説明が行われ、フィンガーポインティングによって展示物Ｅの一部を指すことが出来ない場合は、パームポインティングによって展示物Ｅの全体が指された状態で説明が行われる。つまり、ロボット１０は、展示物Ｅの周囲の状況に合わせて、適切な説明を行うことが出来る。
【０１１０】
上述では第２実施例の特徴を概説した。以下では、図１３に示すメモリマップおよび図１４−図１６に示すフロー図を用いて、第２実施例について詳細に説明する。
【０１１１】
図１３は、第２実施例の中央制御装置１４におけるメモリ１８のメモリマップの一例を示す図解図である。第２実施例のプログラム記憶領域３０２には、第１実施例のプログラムに加えて、フィンガーポインティングが可能か不可能かを判定するための第１ポインティング判定プログラム３１２およびパームポインティングが可能か不可能かを判定するための第２ポインティングプログラム３１４が記憶される。
【０１１２】
第２実施例のデータ記憶領域３０４には、第１実施例のバッファやデータに加えて、判定バッファ３３４が設定される。判定バッファ３３４には、図１２に示すような判定テーブルが一時的に記憶される。
【０１１３】
第２実施例の中央制御装置１４のプロセッサ１６は、Ｌｉｎｕｘ（登録商標）ベースのＯＳや、その他のＯＳの制御下で、図１４に示す出力制御処理、図１５に示す第１ポインティング判定処理および図１６に示す第２ポインティング判定処理などを含む、複数のタスクを処理する。
【０１１４】
図１４は、第２実施例の出力制御処理のフロー図である。なお、第２実施例の出力制御処理では、ステップＳ１，Ｓ３，Ｓ１１，Ｓ１５，Ｓ１９は第１実施例と略同じであるため、詳細な説明は省略する。
【０１１５】
中央制御装置１４の電源がオンにされると、プロセッサ１６は、ステップＳ１で終了命令か否かを判断する。ステップＳ１で“ＮＯ”であれば、つまり終了命令でなければ、ステップＳ３でプロセッサ１６は、ユーザ情報を取得する。
【０１１６】
続いて、プロセッサ１６は、ステップＳ３１で第１ポインティング判定処理を実行し、ステップＳ３３で第２ポインティング判定処理を実行する。つまり、各発話コンテンツについて、展示物Ｅをポインティングによって指すことが可能か不可能かを判定する。また、第１ポインティング判定処理および第２ポインティング判定処理については、図１５および図１６を用いて詳細に説明するため、ここでの説明は省略する。なお、ステップＳ３１，Ｓ３３の処理を実行するプロセッサ１６は判定処理として機能する。
【０１１７】
続いて、ステップＳ３５でプロセッサ１６は、発話コンテンツの優先度を計算する。つまり、２つのポインティング判定処理が実行されると、判定結果が判定テーブルに記憶された状態となるため、その判定結果に基づいて、各発話コンテンツの優先度が計算される。続いて、ステップＳ３７でプロセッサ１６は、優先度が最も高い発話コンテンツを選択する。つまり、ユーザおよび展示物Ｅの現在の周囲の状況において、出力するのに適切な発話コンテンツが選択される。続いて、ステップＳ９でプロセッサ１６は、ロボット１０をユーザの近傍に移動させる。なお、ステップＳ３５の処理を実行するプロセッサ１６は計算手段として機能する。また、ステップＳ３７の処理を実行するプロセッサ１６は選択手段として機能する。
【０１１８】
続いて、ステップＳ３９でプロセッサ１６は、ポインティングが可能か否かを判断する。つまり、選択された発話コンテンツにおいて、判定テーブルの判定結果として「ポインティング可能」が記憶されているかが判断される。ステップＳ３９で“ＮＯ”であれば、つまり選択された発話コンテンツの判定結果が「ポインティング不可能」であれば、プロセッサ１６はステップＳ４１の処理に進む。また、ステップＳ３９で“ＹＥＳ”であれば、つまり選択された発話コンテンツの判定結果が「ポインティング可能」であれば、プロセッサ１６はステップＳ１３で展示物Ｅをポインティングする。
【０１１９】
続いて、ステップＳ４１でプロセッサ１６は、ポインティングの判定結果に基づいて発話コンテンツを出力する。たとえば、選択された発話コンテンツでポインティング可能と判定されていれば、選択された発話コンテンツにおいて第１発話コンテンツ（たとえば、「これはモータです」）がロボット１０に送信される。一方、ポインティング不可能と判定されていれば、第２発話コンテンツ（たとえば、「足元にある銀色の者はモータです」）がロボット１０に送信される。そして、ロボット１０は、受信した発話コンテンツを出力する。なお、ステップＳ４１の処理を実行するプロセッサ１６は出力部として機能する。
【０１２０】
続いて、ステップＳ１９でプロセッサ１６は、終了か否かを判断する。プロセッサ１６は、ステップＳ１９で“ＮＯ”であればステップＳ１９の処理を繰り返して実行し、“ＹＥＳ”であればステップＳ１の処理に戻る。そして、ステップＳ１で“ＹＥＳ”であれば、つまり終了命令が出されると、プロセッサ１６は出力制御処理を終了する。
【０１２１】
図１５は第１ポインティング判定処理のフロー図である。図１４の出力制御処理でステップＳ３１の処理が実行されると、プロセッサ１６はステップＳ５１で変数ｉを初期化する。変数ｉは複数の発話コンテンツの内の１つを指定するための変数である。また、初期化された変数ｉの値は「１」となる。
【０１２２】
続いて、ステップＳ５３でプロセッサ１６は、ｉ番目の発話コンテンツのポインティング種類は第１ポインティングか否かを判断する。たとえば、ｉが「１」であれば、プロセッサ１６は、「１」番目の発話コンテンツのポインティング種類がフィンガーポインティングかを判断する。ステップＳ５３で“ＮＯ”であれば、つまり「ｉ」番目の発話コンテンツのポインティング種類がパームポインティングであれば、プロセッサ１６はステップＳ６３の処理に進む。つまり、選択されている発話コンテンツについては、フィンガーポインティングが可能か不可能かを判断する必要が無いため、プロセッサ１６はステップＳ６３の処理に進む。
【０１２３】
一方、ステップＳ５３で“ＹＥＳ”であれば、つまり「ｉ」番目の発話コンテンツのポインティング種類がフィンガーポインティングであれば、ステップＳ５５でプロセッサ１６は、ユーザが説明範囲Ａに入っているか否かを判定する。つまり、プロセッサ１６は、「ｉ」番目の発話コンテンツの説明範囲Ａの中に、ユーザの位置が含まれているかを判定する。
【０１２４】
また、ステップＳ５５で“ＹＥＳ”であれば、つまりユーザが説明範囲Ａに入っていれば、ステップＳ５７でプロセッサ１６は、ユーザと対象点Ｃとの間を遮る障害物がないか否かを判定する。つまり、空間内の障害物（人および他のロボットなど）の位置が、ユーザと対象点Ｃとの間に存在しているかが判定される。なお、ステップＳ５７の処理を実行するプロセッサ１６は障害物判定手段として機能する。
【０１２５】
また、ステップＳ５７の処理で“ＹＥＳ”であれば、つまりユーザと対象点との間に障害物がなければ、ステップＳ５９でプロセッサ１６は、ｉ番目の発話コンテンツの判定結果としてポインティング可能を設定する。たとえば、ｉが「１」であり、ユーザが説明範囲Ａ１にいて、かつユーザと対象点Ｃ１との間に障害物がなければ、判定テーブルにおいて、「１」番目の発話コンテンツに対応する判定結果の欄に「ポインティング可能」と記憶される。なお、ステップＳ５９の処理を実行するプロセッサ１６は第１設定手段として機能する。
【０１２６】
また、ステップＳ５５で“ＮＯ”またはステップＳ５７で“ＮＯ”であれば、たとえばユーザが説明範囲Ａの中に入っていないか、ユーザと対象点Ｃとの間に障害物があれば、ステップＳ６１でプロセッサ１６は、ｉ番目の発話コンテンツの判定結果としてポインティング不可能を設定する。たとえば、ｉが「１」であり、ユーザが説明範囲Ａ１いなければ、判定テーブルにおいて、「１」番目の発話コンテンツに対応する判定結果の欄に「ポインティング不可能」と記憶される。
【０１２７】
続いて、ステップＳ６３でプロセッサ１６は、変数ｉをインクリメントする。つまり、次の発話コンテンツを指定するために、変数ｉの値が１つ大きくなる。続いて、ステップＳ６５でプロセッサ１６は、変数ｉは最大値より大きいか否かを判断する。つまり、全ての発話コンテンツについて、フィンガーポインティングが可能か不可能かの判定が終わったかが判断される。ステップＳ６５で“ＮＯ”であれば、全ての発話コンテンツに対して判定が終わっていなければ、プロセッサ１６はステップＳ５３の処理に戻る。一方、ステップＳ６５で“ＹＥＳ”であれば、つまり全ての発話コンテンツに対して判定が終わっていれば、プロセッサ１６は第１ポインティング判定処理を終了して、出力制御処理に戻る。
【０１２８】
図１６は第２ポインティング判定処理のフロー図である。なお、ステップＳ８１，Ｓ８５，Ｓ９１，Ｓ９３の処理は、第１ポインティング判定処理のステップＳ５１，Ｓ５５，Ｓ６３，Ｓ６５の処理と略同じであるため詳細な説明は省略する。
【０１２９】
図１４の出力制御処理でステップＳ３３の処理が実行されると、プロセッサ１６はステップＳ８１で変数ｉを初期化する。
【０１３０】
続いて、ステップＳ８３でプロセッサ１６はｉ番目の発話コンテンツのポインティング種類は第２ポインティングか否かを判断する。つまり、選択されている発話コンテンツがと対応するポインティングがパームポインティングであるかが判断される。ステップＳ８３で“ＮＯ”であれば、つまり選択された発話コンテンツのポインティング種類がフィンガーポインティングであれば、プロセッサ１６はステップＳ９１の処理に進む。つまり、選択されている発話コンテンツについては、パームポインティングが可能か不可能かを判定する必要が無いため、プロセッサ１６はステップＳ９１の処理に進む。
【０１３１】
続いて、ステップＳ８３で“ＹＥＳ”であれば、つまり選択されている発話コンテンツのポインティング種類がパームポインティングであれば、ステップＳ８５でプロセッサ１６は、ユーザが発明範囲Ａに入っているか否かを判定する。ステップＳ８５で“ＹＥＳ”であれば、つまりユーザが説明範囲Ａに入っていれば、ステップＳ８７でプロセッサ１６は、ｉ番目の発話コンテンツの判定結果としてポインティング可能が設定される。たとえば、ｉが「３」であり、ユーザが説明範囲Ａ３に入っていれば、「３」番目の発話コンテンツと対応する判定テーブルの判定結果の欄には「ポインティング可能」が記憶される。なお、ステップＳ８７の処理を実行するプロセッサ１６は第２設定手段として機能する。
【０１３２】
一方、ステップＳ８５で“ＮＯ”であれば、つまりユーザが説明範囲Ａに入っていなければ、ステップＳ８９でプロセッサ１６は、ｉ番目の発話コンテンツの判定結果としてポインティング不可能を設定する。たとえば、ｉが「３」であれば、ユーザが説明範囲Ａ３に入っていなければ、「３」番目の発話コンテンツと対応する判定テーブルの判定結果の欄には「ポインティング不可能」が記憶される。
【０１３３】
続いて、プロセッサ１６は、ステップＳ９１で変数ｉをインクリメントして、ステップＳ９３で変数ｉが最大値よりも大きいかを判断する。ステップＳ９３で“ＮＯ”であれば、プロセッサ１６はステップＳ８３の処理に戻る。一方、ステップＳ９３で“ＹＥＳ”であれば、プロセッサ１６は第２ポインティング判定処理を終了して、出力制御処理に戻る。
【０１３４】
なお、ステップＳ５５，Ｓ８５の処理を実行するプロセッサ１６は範囲判定手段として機能する。また、ステップＳ５９，Ｓ８７の処理を実行するプロセッサ１６は設定手段として機能する。
【０１３５】
また、展示物Ｅに対するポインティングは、ロボット１０の顔の動きや、視線などによって行われてもよい。また、ロボット１０は、レーザポインタや指し棒などのポインティング手段を備えていてもよい。また、他の実施例では、第１ポインティングおよび第２ポインティングに加えて、指示する範囲を指などで指定する第３ポインティングをロボット１０が行うようにしてもよい。
【０１３６】
また、その他の実施例では、ロボット１０が中央制御装置１４を有し、ロボット１０が距離画像センサ１２から無線接続または有線接続によって３次元情報を直接取得できてもよい。この場合、ロボット１０単独で、ユーザに出力する発話コンテンツを決めて、出力することが出来る。たとえば、第１実施例の出力制御処理を実行するロボット１０のプロセッ９０は、ステップＳ９の処理ではユーザ情報に基づいてユーザの近傍に移動し、ステップＳ１３の処理では展示物Ｅを指さしによって指し、ステップＳ１７の処理では自身で選択した発話コンテンツを出力する。また、第２実施例の出力制御処理を実行するロボット１０のプロセッサ９０は、ステップＳ９およびステップＳ１３の処理は第１実施例と同様に実行し、ステップＳ４１の処理では優先度が最も高い発話コンテンツから、判定テーブルに基づいて、第１発話コンテンツまたは第２発話コンテンツを選んだうえで、選んだ発話コンテンツを出力する。
【０１３７】
また、さらにその他の実施例では、ロボット１０がユーザまたはユーザの入場を検出したときに、ロボット１０が発話コンテンツを出力するために、中央制御装置１４に対して出力制御処理の実行命令を出してもよい。このように、ロボット１０の自律行動をサポートするために、中央制御装置１４がロボット１０によって利用されてもよい。
【０１３８】
また、他の実施例では、ロボット１０がディスプレイを有している場合は、発話コンテンツは音声だけでなく、映像を利用して出力されてもよい。たとえば、発話コンテンツを出力するロボット１０は、自身のディスプレイに映像を表示しながら、展示物Ｅの説明を行う。
【０１３９】
また、ロボット１０は、実施例のような車輪移動型のロボットだけでなく、２足歩行型のロボットであってもよい。
【０１４０】
また、空間に入ったユーザは、ＲＦＩＤタグではなく、顔認識によって識別されてもよい。
【０１４１】
また、本実施例で説明した複数のプログラムは、データ配信用のサーバのHDDに記憶され、ネットワークを介して本実施例と同等の構成のシステムに配信されてもよい。また、CD, DVD, BD (Blu-ray（登録商標） Disc)などの光学ディスク、USBメモリおよびメモリカードなどの記憶媒体にこれらのプログラムを記憶させた状態で、その記憶媒体が販売または配布されてもよい。そして、上記したサーバや記憶媒体などを通じてダウンロードされた、上記複数のプログラムが、本実施例と同等の構成のシステムに適用された場合、本実施例と同等の効果が得られる。
【０１４２】
そして、本明細書中で挙げた、具体的な数値は、いずれも単なる一例であり、製品の仕様変更などに応じて適宜変更可能である。また、本明細書中で挙げた、具体的な発話コンテンツは、展示会場や展示物の種類に応じて適宜変更可能である。
【符号の説明】
【０１４３】
１０  …ロボット
１２ａ，１２ｂ  …距離画像センサ
１４  …中央制御装置
１６  …プロセッサ
１８  …メモリ
２４  …発話コンテンツＤＢ
６０Ｒ，６０Ｌ  …上腕
６４Ｒ，６４Ｌ  …前腕
６６Ｒ，６６Ｌ  …手
９０  …プロセッサ
９４  …メモリ
１００  …ロボット制御システム
１０００  …ネットワーク
【図１】
2015066622.tif 000003
【図２】
2015066622.tif 000004
【図３】
2015066622.tif 000005
【図４】
2015066622.tif 000006
【図５】
2015066622.tif 000007
【図６】
2015066622.tif 000008
【図７】
2015066622.tif 000009
【図８】
2015066622.tif 000010
【図９】
2015066622.tif 000011
【図１０】
2015066622.tif 000012
【図１１】
2015066622.tif 000013
【図１２】
2015066622.tif 000014
【図１３】
2015066622.tif 000015
【図１４】
2015066622.tif 000016
【図１５】
2015066622.tif 000017
【図１６】
2015066622.tif 000018