(57)【要約】    【課題】  子供などの割り込みによって中断しない案内ロボットを提供する。    【解決手段】  案内ロボットシステム（１００）において、案内ロボット１０は、経路を決定するときには、発話可能時間が長くかつ移動距離の短い移動経路を選択し、ひとたび移動を開始したとき、なるべく止まらず、人Ｈが歩く程度の速度を保ったまま案内タスクを実行する。ロボットが停止したときの子供達の割り込みによる破綻が回避できる。【選択図】  図１
2018144118.tif 000002
【特許請求の範囲】
【請求項１】
移動手段および発話手段を備え、移動空間において目標地点まで移動しながら発話コンテンツを出力する案内ロボットであって、
現在地点から前記目標地点までの移動経路を設定する移動経路設定手段、
前記移動経路設定手段によって設定された移動経路を第１速度で移動するとき、前記目標地点に到達するまでに前記発話手段によってすべての発話コンテンツが発話できるかどうか判断する判断手段、
前記判断手段によってすべての発話コンテンツを発話できると判断したとき、前記移動手段による移動速度として前記第１速度を設定する第１速度設定手段、
前記判断手段によってすべての発話コンテンツを発話できると判断しなかったとき、前記移動手段による移動速度として前記第１速度より減速した第２速度を設定する第２速度設定手段を備え、
前記移動手段は前記第１速度または前記第２速度で移動する、案内ロボット。
【請求項２】
前記移動経路設定手段は、現在地点から目標地点までの全移動経路を計算する全移動経路計算手段、および前記全移動経路のうち、移動しながら発話を行うツアーガイドに適した移動経路を選択して設定する最適経路設定手段を含む、請求項１記載の案内ロボット。
【請求項３】
前記第１速度は人の早歩きと同程度の移動速度である、請求項１または２記載の案内ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は案内ロボットに関し、特にたとえば、環境内を移動しながら、場所に応じた発話をする、案内ロボットに関する。
【背景技術】
【０００２】
背景技術の一例である特許文献１には、施設内において訪問者を案内する自律走行型の案内ロボットを、訪問者との間の相対距離に応じて案内ロボットの走行を制御する、案内ロボットシステムが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2005-66745号公報［B25J 13/08 A63H 3/33 A63H 11/00 A63H 13/04 B25J 5/00］
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１などの従来の案内ロボットシステムでは、多くの参加者が案内サービスを中断して立ち去ってしまう。この大きな原因の１つは、ロボットが停止したときの、子供達による割り込みであった。
【０００５】
ところが、従来の案内ロボットでは、他者（特に子供）による案内サービスへの割り込みによる影響を除く工夫はされていなかった。
【０００６】
それゆえに、この発明の主たる目的は、新規な、案内ロボットを提供することである。
【０００７】
この発明の他の目的は、割り込みによる案内タスクの破綻を回避することができる、案内ロボットを提供することである。
【課題を解決するための手段】
【０００８】
第１の発明は、移動手段および発話手段を備え、移動空間において目標地点まで移動しながら発話コンテンツを出力する案内ロボットであって、現在地点から目標地点までの移動経路を設定する移動経路設定手段、移動経路設定手段によって設定された移動経路を第１速度で移動するとき、目標地点に到達するまでに発話手段によってすべての発話コンテンツが発話できるかどうか判断する判断手段、判断手段によってすべての発話コンテンツを発話できると判断したとき、移動手段による移動速度として第１速度を設定する第１速度設定手段、判断手段によってすべての発話コンテンツを発話できると判断しなかったとき、移動手段による移動速度として第１速度より減速した第２速度を設定する第２速度設定手段を備え、移動手段は第１速度または第２速度で移動する、案内ロボットである。
【０００９】
第１の発明によれば、案内ロボットを第１速度より遅い第２速度で移動しても、目標地点までに到達するまでに全ての発話コンテンツを発話できるので、案内ロボットが移動を停止する必要がなく、他者（子供達）の割り込みによる案内タスクの破綻を回避することができる。
【００１０】
第２の発明は、第１の発明に従属し、移動経路設定手段は、現在地点から目標地点までの全移動経路を計算する全移動経路計算手段、および全移動経路のうち、移動しながら発話を行うツアーガイドに適した移動経路を選択して設定する最適経路設定手段を含む、案内ロボットである。
【００１１】
第２の発明によれば、全移動経路計算手段が計算した経路候補に含まれるすべての経路について、最適経路設定手段が、移動しながら発話を行うツアーガイドに適した移動経路、すなわちツアーガイドの実施に十分な発話時間を確保できる経路の中で、最も移動距離の短い経路を設定するので、案内タスクの破綻を回避しながら、効率的に案内タスクを実行することができる。
【００１２】
第３の発明は、第１または第２の発明に従属し、第１速度は人の早歩きと同程度の移動速度である、案内ロボットである。
【００１３】
第３の発明によれば、判断手段によってすべての発話コンテンツを発話できると判断したときの案内ロボットの移動速度を、人の早歩きと同程度、たとえば１．１ｍ／ｓ程度に設定するので、たとえ、案内ロボットの最高速度が人の歩行速度よりずっと早い場合でも、安全である。
【発明の効果】
【００１４】
この発明によれば、他者（子供達）の割り込みによる案内タスクの破綻を回避することができる。
【００１５】
この発明の上述の目的、その他の目的、特徴および利点は、図面を参照して行う後述の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００１６】
【図１】この発明の一実施例の案内ロボットシステムの一例を示す図解図である。
【図２】図１実施例において案内ロボットが移動する移動空間の一例を示す図解図である。
【図３】図３は図１実施例の案内ロボットシステムの構成の一例を示すブロック図である。
【図４】図１の案内ロボットの外観の一例を示す図解図である。
【図５】図５は図４の案内ロボットの電気的構成の一例を示すブロック図である。
【図６】図５に示すメモリのメモリマップの一例を示す図解図である。
【図７】図７は案内ロボットの案内処理動作の一例を示すフロー図である。
【図８】図７実施例における移動経路設定処理の一例を示すフロー図である。
【図９】図９は案内ロボットによる経路候補を示す図解図である。
【図１０】図１０は案内ロボットの扇形の視覚モデルを示す図解図である。
【図１１】図１１は案内ロボットによる移動経路の一例を示す図解図である。
【図１２】図１２は案内ロボットによる移動経路の他の例を示す図解図である。
【発明を実施するための形態】
【００１７】
図１を参照して、この実施例の案内ロボットシステム１００は、案内ロボット（以下、単に「ロボット」という。）１０を含み、このロボットは、音声および身体動作を用いて人間とコミュニケーションを実行する機能を備える相互作用指向の人間型ロボットである。ただし、このロボットは、発話可能で、移動可能であれば、車輪移動ロボットや２足歩行ロボットなど任意のロボットが利用可能である。
【００１８】
ロボット１０は、地下街、イベント会場、遊園地および美術館などの不特定多数の人間が存在する図２に示すような移動空間２００に配置され、人間（被案内者）Ｈを先導して目的地まで案内する案内サービスを提供する。ロボット１０が提供する案内サービス、つまりロボット１０に与えられる案内タスクには、展示案内サービス、誘導案内サービス等が含まれる。
【００１９】
ここで、展示案内サービスとは、たとえば、配置された環境内を巡回して人間を展示物（或いは商品）まで案内し、展示物に応じた説明を行うような案内サービスをいう。また、誘導案内サービスとは、たとえば、環境内の或る場所で催し物が始まるときに、その場所まで人間を誘導するような案内サービスをいう。ただし、ロボット１０が提供するこれらの案内サービスはあくまで一例であり、人間を先導して目的地まで案内する案内サービスであれば、その具体的態様は限定されない。
【００２０】
なお、図２に示す移動空間２００は、一例として、商業施設を示し、太線で示す通路を挟んでその両側に、飲食店舗、物販店舗などが配置されるとともに、通路の一部に広場やオープン店舗が設定される。ただし、この発明の案内ロボット１０が適用可能な移動空間は図２の移動空間２００に限定されるものではない。このような移動空間２００には、ロボット１０の位置を検出したり人Ｈの位置や属性を特定したりするために、天井などの比較的高所には複数の距離画像センサ１２（図３）が設けられている。
【００２１】
図３を参照して、案内ロボットシステム１００の遠隔操作用のコンピュータ１４は、後に説明するが、一定時間（たとえば、１秒）毎に複数の距離画像センサ１２によって、任意に移動する人の位置を検出すると共に、その人の向いている方向などを検出する。そのために、コンピュータ１４は、距離画像センサ１２からのセンサ出力を受ける。
【００２２】
コンピュータ１４にはメモリ１６、通信ＬＡＮボード１８が接続されると共に、発話コンテンツデータベース（ＤＢ）２０および地図データベース（ＤＢ）２１が接続される。
【００２３】
発話コンテンツデータベース２０には、ロボット１０が人に対して広告、宣伝などのサービスを提供する際に必要な発話文を予め登録しておき、必要なとき、コンピュータ１４がこの発話コンテンツデータベース２０から必要な発話文を読み出してロボット１０に与える。
【００２４】
ただし、発話コンテンツデータベース２０は、ロボット１０に設けられていてもよい。その場合には、コンピュータ１４は、ロボット１０に対して、発話すべき発話文を指定する命令だけをロボット１０に送ればよい。
【００２５】
地図データベース２１には、図２に示すような移動空間２００の地図データ、たとえば広場、壁、店舗、ロボット１０が移動可能な通路などの位置を示すデータを予め登録しておき、必要なとき、コンピュータ１４がこの地図データベース２１から必要な地図データを読み出してロボット１０に与える。
【００２６】
ただし、地図データベース２１は、ロボット１０に設けられていてもよい。その場合には、コンピュータ１４は、ロボット１０に対して、参照すべき地図データを指定する命令だけをロボット１０に送ればよい。
【００２７】
距離画像センサ１２は、赤外光またはレーザなどの光を照射し、対象物から反射した光（反射光）をＣＣＤセンサなどの光学センサによって捉える。距離画像センサ１２は、光が戻るまでの時間を画素ごとに計測することで、対象物までの実際の距離を測距する。実施例の距離画像センサ１２には、ＡＳＵＳ（登録商標）社製のＸｔｉｏｎと呼ばれる製品が採用されている。この種のセンサは、３次元距離計測センサ、３Ｄスキャナなどと呼ばれる場合もある。
【００２８】
距離画像センサ１２はそのレーザ走査面（スキャン面）の傾斜角を変化させながら計測することができ、そのため、１回の計測によって（最小傾斜角から最大傾斜角まで変化する期間に）、対象の３次元形状を計算することができる。また、対象が停止していても、その３次元形状を計算することができる（ただし、対象が動いていれば、多様な位置関係で計測が行えるので、３次元形状の計算精度が高まる点で好ましい）。
【００２９】
また、スキャン面の傾斜角がこのように変化することで、計測領域が拡がると共に、複数の対象が密集している状態でも、対象群を直上ないしその近傍から計測した計測データに基づいて１つ１つの対象に容易に分離することができる。そして、様々な傾斜角で計測した計測データに基づいて、分離した１つ１つの対象の３次元形状を精度よく計算することができる。
【００３０】
たとえば本件出願人の出願に係る、特開２０１２‐２１５５５５号において詳細に説明しているように、コンピュータ１４によって、距離画像センサ１２を利用して移動空間２００内の対象すなわち人Ｈの状態（たとえば位置，移動方向，３次元形状および姿勢など）をパーティクルフィルタでリアルタイムに推定することができる。そして、コンピュータ１４はそのような状態推定処理の結果データ、たとえば人Ｈの位置，移動方向，３次元形状および姿勢などを示すデータをロボット１０のＣＰＵ８０（図５）へ送信する。
【００３１】
図３に示すメモリ１６はＲＯＭ、ＨＤＤおよびＲＡＭなどを含む。ＲＯＭおよびＨＤＤには、コンピュータ１４の動作を制御するための制御プログラムが予め記憶される。また、ＲＡＭは、コンピュータ１４のワークメモリやバッファメモリとして用いられる。
【００３２】
通信ＬＡＮボード１８は、たとえばＤＳＰで構成され、コンピュータ１４から与えられた送信データを無線通信モジュール２２に与え、無線通信モジュール２２は送信データを、ネットワーク２４を介してロボット１０に送信する。たとえば、送信データは、上述の結果データを含めてロボット１０の自律移動に必要なデータや、案内タスクの遂行のために必要なデータおよびロボット１０に指示する行動命令の信号（コマンド）などである。また、通信ＬＡＮボード１８は、無線通信モジュール２２を介してデータを受信し、受信したデータをコンピュータ１４に与える。
【００３３】
なお、コンピュータ１４は、オペレータ（図示せず）のための、ディスプレイなどの出力装置と、マウスおよびキーボードなどの入力装置とを備えていてもよい。
【００３４】
ここで、図４および図５を参照して、この発明の理解に必要な範囲でロボット１０の構成について説明する。ロボット１０は台車３０を含み、台車３０の下面にはロボット１０を自律移動させる２つの車輪３２および１つの従輪３４が設けられる。移動手段を構成するこの２つの車輪３２は、同じく移動手段を構成する車輪モータ３６（図５参照）によってそれぞれ独立に駆動され、台車３０すなわちロボット１０を前後左右の任意方向に動かすことができる。
【００３５】
台車３０の上には、円柱形のセンサ取り付けパネル３８が設けられ、このセンサ取り付けパネル３８には、多数の距離センサ４０が取り付けられる。これらの距離センサ４０は、たとえば赤外線や超音波などを用いてロボット１０の周囲の物体（人や障害物など）との距離を測定するものである。
【００３６】
センサ取り付けパネル３８の上には、胴体４２が直立して設けられる。また、胴体４２の前方中央上部（人の胸に相当する位置）には、上述した距離センサ４０がさらに設けられ、ロボット１０の前方の主として人との距離を計測する。また、胴体４２には、その側面側上端部のほぼ中央から伸びる支柱４４が設けられ、支柱４４の上には、全方位カメラ４６が設けられる。全方位カメラ４６は、ロボット１０の周囲を撮影するものであり、後述する眼カメラ７０とは区別される。この全方位カメラ４６としては、たとえばＣＣＤやＣＭＯＳのような固体撮像素子を用いるカメラを採用することができる。
【００３７】
胴体４２の両側面上端部（人の肩に相当する位置）には、それぞれ、肩関節４８Ｒおよび肩関節４８Ｌによって、上腕５０Ｒおよび上腕５０Ｌが設けられる。図示は省略するが、肩関節４８Ｒおよび肩関節４８Ｌは、それぞれ、直交する３軸の自由度を有する。すなわち、肩関節４８Ｒは、直交する３軸のそれぞれの軸廻りにおいて上腕５０Ｒの角度を制御できる。肩関節４８Ｒの或る軸（ヨー軸）は、上腕５０Ｒの長手方向（または軸）に平行な軸であり、他の２軸（ピッチ軸およびロール軸）は、その軸にそれぞれ異なる方向から直交する軸である。同様にして、肩関節４８Ｌは、直交する３軸のそれぞれの軸廻りにおいて上腕５０Ｌの角度を制御できる。肩関節４８Ｌの或る軸（ヨー軸）は、上腕５０Ｌの長手方向（または軸）に平行な軸であり、他の２軸（ピッチ軸およびロール軸）は、その軸にそれぞれ異なる方向から直交する軸である。
【００３８】
また、上腕５０Ｒおよび上腕５０Ｌのそれぞれの先端には、肘関節５２Ｒおよび肘関節５２Ｌが設けられる。図示は省略するが、肘関節５２Ｒおよび肘関節５２Ｌは、それぞれ１軸の自由度を有し、この軸（ピッチ軸）の軸回りにおいて前腕５４Ｒおよび前腕５４Ｌの角度を制御できる。
【００３９】
前腕５４Ｒおよび前腕５４Ｌのそれぞれの先端には、人の手に相当するハンド５６Ｒおよびハンド５６Ｌがそれぞれ設けられる。これらのハンド５６Ｒおよび５６Ｌは、詳細な図示は省略するが、開閉可能に構成され、それによってロボット１０は、ハンド５６Ｒおよび５６Ｌを用いて物体を把持または挟持することができる。ただし、ハンド５６Ｒ、５６Ｌの形状は実施例の形状に限らず、人の手に酷似した形状や機能を持たせるようにしてもよい。
【００４０】
また、図示は省略するが、台車３０の前面、肩関節４８Ｒと肩関節４８Ｌとを含む肩に相当する部位、上腕５０Ｒ、上腕５０Ｌ、前腕５４Ｒ、前腕５４Ｌ、ハンド５６Ｒおよびハンド５６Ｌには、それぞれ、接触センサ５８（図３で包括的に示す）が設けられる。台車３０の前面の接触センサ５８は、台車３０への人Ｈや他の障害物の接触を検知する。したがって、ロボット１０は、その自身の移動中に障害物との接触が有ると、それを検知し、直ちに車輪３２の駆動を停止してロボット１０の移動を急停止させることができる。また、その他の接触センサ５８は、当該各部位に触れたかどうかを検知する。
【００４１】
胴体４２の中央上部（人の首に相当する位置）には首関節６０が設けられ、さらにその上には頭部６２が設けられる。図示は省略するが、首関節６０は、３軸の自由度を有し、３軸の各軸廻りに角度制御可能である。或る軸（ヨー軸）はロボット１０の真上（鉛直上向き）に向かう軸であり、他の２軸（ピッチ軸、ロール軸）は、それぞれ、それと異なる方向で直交する軸である。
【００４２】
頭部６２には、人の口に相当する位置に、発話手段を構成するスピーカ６４が設けられる。スピーカ６４は、ロボット１０が、案内タスクを実行するための発話を出力するために用いられる。また、人の耳に相当する位置には、マイク６６Ｒおよびマイク６６Ｌが設けられる。以下、右のマイク６６Ｒと左のマイク６６Ｌとをまとめてマイク６６ということがある。マイク６６は、周囲の音、とりわけコミュニケーションを実行する対象である人Ｈの音声を取り込む。さらに、人の目に相当する位置には、視覚手段を構成する右の眼球部６８Ｒおよび左の眼球部６８Ｌが設けられる。右の眼球部６８Ｒおよび左の眼球部６８Ｌは、それぞれ右の眼カメラ７０Ｒおよび左の眼カメラ７０Ｌを含む。以下、右の眼球部６８Ｒと左の眼球部６８Ｌとをまとめて眼球部６８ということがある。また、右の眼カメラ７０Ｒと左の眼カメラ７０Ｌとをまとめて眼カメラ７０ということがある。
【００４３】
眼カメラ７０は、ロボット１０に接近した人の顔や他の部分ないし物体などを撮影して、それに対応する映像信号を取り込む。この実施例では、ロボット１０は、この眼カメラ７０からの映像信号によって、ターゲット（案内対象）が見えるかどうか、つまり後述する視覚モデル１０Ａ（図１０）の中にターゲット（案内対象）が存在しているかどうかを検出（判断）することができる。
【００４４】
また、眼カメラ７０は、上述した全方位カメラ４６と同様のカメラを用いることができる。たとえば、眼カメラ７０は、眼球部６８内に固定され、眼球部６８は、眼球支持部（図示せず）を介して頭部６２内の所定位置に取り付けられる。図示は省略するが、眼球支持部は、２軸の自由度を有し、それらの各軸廻りに角度制御可能である。たとえば、この２軸の一方は、頭部６２の上に向かう方向の軸（ヨー軸）であり、他方は、一方の軸に直交しかつ頭部６２の正面側（顔）が向く方向に直行する方向の軸（ピッチ軸）である。眼球支持部がこの２軸の各軸廻りに回転されることによって、眼球部６８ないし眼カメラ７０の先端（正面）側が変位され、カメラ軸すなわち視線方向が移動される。なお、上述のスピーカ６４、マイク６６および眼カメラ７０の設置位置は、当該部位に限定されず、適宜な位置に設けられてよい。
【００４５】
このように、この実施例のロボット１０は、車輪３２の独立２軸駆動、肩関節４８の３自由度（左右で６自由度）、肘関節５２の１自由度（左右で２自由度）、首関節６０の３自由度および眼球支持部の２自由度（左右で４自由度）の合計１７自由度を有する。
【００４６】
図５はロボット１０の電気的な構成を示すブロック図である。この図５を参照して、ロボット１０は、ＣＰＵ８０を含む。ＣＰＵ８０は、マイクロコンピュータ或いはプロセッサとも呼ばれ、バス８２を介して、メモリ８４、モータ制御ボード８６、センサ入力／出力ボード８８および音声入力／出力ボード９０に接続される。
【００４７】
メモリ８４は、図示は省略をするが、ＲＯＭ、ＨＤＤおよびＲＡＭを含む。ＲＯＭおよびＨＤＤには、後述の各種プログラムが予め記憶される。
【００４８】
モータ制御ボード８６は、たとえばＤＳＰで構成され、各腕や首関節６０および眼球部６８などの各軸モータの駆動を制御する。すなわち、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、右眼球部６８Ｒの２軸のそれぞれの角度を制御する２つのモータ（図５では、まとめて「右眼球モータ９２」と示す）の回転角度を制御する。同様にして、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、左眼球部６８Ｌの２軸のそれぞれの角度を制御する２つのモータ（図５では、まとめて「左眼球モータ９４」と示す）の回転角度を制御する。
【００４９】
また、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、肩関節４８Ｒの直交する３軸のそれぞれの角度を制御する３つのモータと肘関節５２Ｒの角度を制御する１つのモータとの計４つのモータ（図５では、まとめて「右腕モータ９６」と示す）の回転角度を制御する。同様にして、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、肩関節４８Ｌの直交する３軸のそれぞれの角度を制御する３つのモータと肘関節５２Ｌの角度を制御する１つのモータとの計４つのモータ（図５では、まとめて「左腕モータ９８」と示す）の回転角度を制御する。
【００５０】
さらに、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、首関節６０の直交する３軸のそれぞれの角度を制御する３つのモータ（図５では、まとめて「頭部モータ１００」と示す）の回転角度を制御する。そして、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、車輪３２を駆動する２つのモータ（図５では、まとめて「車輪モータ３６」と示す）の回転角度を制御する。
【００５１】
モータ制御ボード８６にはさらにハンドアクチュエータ１０８が結合され、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、ハンド５６Ｒ、５６Ｌの開閉を制御する。
【００５２】
センサ入力／出力ボード８８は、モータ制御ボード８６と同様に、ＤＳＰで構成され、各センサからの信号を取り込んでＣＰＵ８０に与える。すなわち、距離センサ４０のそれぞれからの反射時間に関するデータがこのセンサ入力／出力ボード８８を通じてＣＰＵ８０に入力される。また、全方位カメラ４６からの映像信号が、必要に応じてセンサ入力／出力ボード８８で所定の処理を施してからＣＰＵ８０に入力される。眼カメラ７０からの映像信号も、同様にして、ＣＰＵ８０に入力される。また、上述した複数の接触センサ５８（図５では、まとめて「接触センサ５８」と示す）からの信号がセンサ入力／出力ボード８８を介してＣＰＵ８０に与えられる。発話手段を構成する音声入力／出力ボード９０もまた、同様に、ＤＳＰで構成され、ＣＰＵ８０から与えられる音声合成データに従った音声または声がスピーカ６４から出力される。また、マイク６６からの音声入力が、音声入力／出力ボード９０を介してＣＰＵ８０に与えられる。
【００５３】
また、ＣＰＵ８０は、バス８２を介して通信ＬＡＮボード１０２に接続される。通信ＬＡＮボード１０２は、たとえばＤＳＰで構成され、ＣＰＵ８０から与えられた送信データを無線通信モジュール１０４に与え、無線通信モジュール１０４は送信データを、ネットワーク２４（図３）および通信ＬＡＮボード１８、無線通信モジュール２２（図３）を介して遠隔操作用コンピュータ１４（図３）に送信する。また、通信ＬＡＮボード１０２は、無線通信モジュール１０４を介して遠隔操作用コンピュータ１４からデータを受信し、受信したデータをＣＰＵ８０に与える。
【００５４】
このような構成のロボット１０は、上述したように、イベント会場などの移動空間２００に配置され、人間を先導して目的地まで案内する案内サービスを提供する。
【００５５】
図６に示すように、メモリ８４には、プログラム記憶領域１１０およびデータ記憶領域１１２が形成される。プログラム記憶領域１１０には、ＣＰＵ８０のＯＳなどの基本プログラムの他、案内プログラム１１０ａが設定されている。
【００５６】
データ記憶領域１１２には、遠隔操作コンピュータ１４（図３）から送られてくるデータに従って、図２のような移動空間２００の地図や発話データなどを含む案内コンテンツ１１２ａ、経路候補データ１１２ｂ、位置データ１１２ｃなどが記憶される。このデータ記憶領域１１２は、ＣＰＵ８０のためのワーキング領域として利用され、さらには、図示しないが、ＣＰＵ８０による案内プログラム９２ａの実行に必要なフラグやタイマ（カウンタ）などが形成される。
【００５７】
なお、以下には、ロボット１０のＣＰＵ８０が案内プログラム１１０ａや案内コンテンツリスト１１２ａ、経路候補データ１１２ｂなどに従って自律的に案内タスクを実行する実施例について説明する。
【００５８】
ロボット１０が案内サービスを開始する際には、先ず、コンピュータ１４（図１）によって、案内サービスの内容を規定する案内タスクが指定される。この場合、ロボット１０のＣＰＵ８０は、先に説明したように、コンピュータ１４から、その実行処理に必要なデータ、たとえばロボット１２の現在位置や、人Ｈ（図１）の位置や属性を示すデータ、案内コンテンツリストのデータを受け取り、それらをデータ記憶領域１１２に記憶する。ロボット１０のＣＰＵ８０はデータ記憶領域１１２に記憶したデータに基づいて図７および図８に示す動作を実行する。
【００５９】
上述の案内タスクが設定されると、図７のステップＳ１において、ロボット１０のＣＰＵ８０は、図６のデータ記憶領域１１２から案内コンテンツリストList_contを取得する。この案内コンテンツList_contには、目標地点を示した地図データなどが含まれており、移動経路設定手段を構成するステップＳ３で、プロセサ６２は、コンピュータ１４から取得するロボット１０の現在地点から、その地図データが示す目標地点までの経路P_giuideを計算する。このステップＳ３のサブルーチンが図８に示される。
【００６０】
なお、図７および図８のフロー図に示すルーチンは、所定時間たとえば１００ｍｓｅｃごとに実行される、ということを予め指摘しておく。
【００６１】
図８のステップＳ３１では、ＣＰＵ８０は、案内コンテンツリストList_contから、案内タスクを実行するに必要な発話時間T_utterを計算する。ただし、このときの案内タスクのための発話コンテンツは、図３の発話コンテンツデータベース２０から読み出して遠隔操作用コンピュータ１４から送信され、データ記憶領域１１２に案内コンテンツリストList_contとして記憶されている。
【００６２】
発話時間T_utterは、案内コンテンツリストList_contに含まれる各発話コンテンツを発話するに必要な時間に発話コンテンツの数を掛けることによって計算できる。この発話時間T_utterは、ロボット１０のツアーガイド時に必要な発話時間である。
【００６３】
ステップＳ３１では、出力すべき移動経路P_guideをクリアしておく。
【００６４】
そして、ステップＳ３３で、ＣＰＵ８０は、ロボット１０の現在位置から目標地点２０４（図９）までの全移動経路を計算し、距離の短い順に、経路候補P_candidateとして、データ記憶領域１１２に記憶する。
【００６５】
案内コンテンツリストList_contに含まれる地図データには、図９に示すように、ロボット１０が移動（通過）可能な多数のノード２０２が予め設定される。他方、ロボット１０には、たとえば眼カメラ７０によって形成される、たとえば図１０に示すような扇形の視覚モデル１０Ａが固有に設定されていて、この視覚モデル１０Ａによって、ターゲット（目標地点）２０４（図９）がロボット１０の視覚に入るかどうか判断することで、移動経路Ｐを計算することができる。
【００６６】
たとえば図１１に示す最短距離の移動経路を移動する場合には、ロボット１０が移動中にターゲット（案内先）２０４を見ることができる時間t_visibleは比較的短い。ロボット１０が直線的に移動するので、視覚モデル１０Ａ内にターゲット２０４を捉える時間が短いからである。これに対して、図１２に示す例では、ターゲット２０４に直進するのではなく、ターゲット２０４の前方のノード２０２を、一旦別のサブゴール２０６として設定し、そのサブコール２０６を経由してターゲット２０４に向かうような経路を設定する。この場合、ターゲット可視時間t_visibleが図１１の場合に比べてかなり長くなる。つまり、図１２のように、ロボット１０の視覚モデル１０Ａの範囲内にできるだけ長くターゲットを補足できるように、遠回りまたは迂回経路を設定する（detour planning）ことによって、ターゲット２０４を見ながら案内発話を完了できる移動経路を選択する。
【００６７】
なお、可視時間t_visibleは、ロボット１０の現在位置と、それぞれ地図データから既知であるターゲット２０４の位置および障害物の位置の位置、そして視覚モデル１０Ａから計算することができる。視覚モデル１０Ａは、図１０の例では扇形の中心角は一例として６０°に設定されているが、このような視覚モデル１０Ａの形状やサイズはロボット１０に固有に変更可能である。
【００６８】
上述のように、図１２の例では、たとえばロボット１０がターゲット２０４の前方にサブゴール２０６を設定することによって迂回経路を計算した。
【００６９】
このようにして、全移動経路計算手段を構成するステップＳ３３で、図９に示す経路Ｐ１、Ｐ２、Ｐ３が計算される。この経路Ｐ１、Ｐ２、Ｐ３を、距離の短い順、図９の例ではたとえばＰ２、Ｐ１、Ｐ３の順で、経路候補Candidate_pathとして、データ記憶領域１１２に記憶する。
【００７０】
そして、ステップＳ３５で、ＣＰＵ８０は、経路候補Candidate_pathに含まれるすべての経路Ｐ_iについて、ロボット１０が移動しながら連続で案内できる時間T_guide,iを計算する。
【００７１】
時間T_guide,iは、そのターゲット（目標地点）までの発話可能時間を意味し、ステップＳ３７では、時間T_guide,iがステップＳ３１の発話時間T_utter以上の長さの全ての移動経路について、順番iの最も小さい移動経路をP_guideに設定する。つまり、必要な発話時間T_utterより長い連続発話可能時間T_guideを持ちかつ移動距離が最も短い経路をP_guideとして設定する。図９の例でいえば、経路候補Ｐ２およびＰ３の連続発話可能時間T_guideが必要発話時間T_utterより長いと仮定する。一方で、経路候補Ｐ２およびＰ３の移動距離を比べると、候補Ｐ２のほうが短い。したがって、図９の例においては、最適経路設定手段を構成するステップＳ３７で、経路候補Ｐ２を経路P_guideとして設定する。
【００７２】
ついで、ステップＳ３９で、ＣＰＵ８０は、経路P_guideとして既に移動経路が設定されているかどうか判断する。“ＹＥＳ”なら、その設定されている経路P_guideを出力して、図７のステップＳ５にリターンする。
【００７３】
ステップＳ３９で“ＮＯ”と判断したとき、つまり、経路P_guideにまだ移動経路が設定されていないときは、必要発話時間T_utter以上の発話時間を持つ移動経路が存在しないことを意味する。その場合には、ステップＳ４３で、ＣＰＵ８０は、発話必要時間T_utterと発話可能時間T_guide,iの差（T_utter−T_guide,i）が最も小さくなる移動経路候補Piのうち、移動距離が最も短い経路、つまり、番号が一番小さい移動経路を経路P_guideとして設定し、ステップＳ４５で当該経路P_guideを出力して、図７のステップＳ５にリターンする。
【００７４】
このようにして、図８の処理によれば、案内（ツアーガイド）のために必要な発話時間T_utterが確保できてしかも移動距離が最短の移動経路つまり移動時間が最も短い移動経路P_guideが設定できる。
【００７５】
ステップＳ３でこのような経路P_guideを設定した後、ステップＳ５で、ロボット１０のＣＰＵ８０は、案内コンテンツリストList_content内に設定されている発話コンテンツがすべて発話されたかどうか判断する。たとえば発話コンテンツに番号を付しておき、発話の都度カウンタ（図示せず）をインクリメントし、ステップＳ５でその最後の発話コンテンツ番号とカウンタのカウント値とを比較することによって、全ての発話コンテンツを発話したかどうか判断することができる。
【００７６】
“ＹＥＳ”ならそのまま終了するが、“ＮＯ”なら、次のステップＳ７に進み、ＣＰＵ８０は、ターゲット２０４に到着するまでに案内コンテンツリストList_content内に設定されている発話コンテンツがすべて発話可能かどうか判断する。このステップＳ７では、残りの発話コンテンツの個数と各発話時間によって「残発話時間」を計算し、それが経路の残り移動時間（ただし、第１速度、たとえば最高速度たとえばVmax=1.1m/sで移動したときの残移動時間）より短いかどうか判断すればよい。
【００７７】
“ＹＥＳ”なら、次のステップＳ９以降で、ロボット１０の移動速度として第１速度、たとえば人の早歩きと同程度の移動速度たとえばV=1.1m/sを設定する。つまり、判断手段として機能するステップＳ７によってすべての発話コンテンツを発話できると判断したときの案内ロボットの移動速度を、人の早歩きと同程度、たとえば1.1m/s程度に設定するので、たとえ、案内ロボットの最高速度が人の歩行速度よりずっと早い場合でも、安全である。
【００７８】
ステップＳ７で“ＮＯ”と判断したとき、つまり、残移動時間内にすべての発話ができないときには、ステップＳ１１において、エラー処理として、ロボット１０の移動速度として第２速度を設定する。この第２速度は、第１速度より減速した移動速度である。ただし、どの程度減速した第２速度に設定すべきかは、残発話時間（すべての案内発話を完了できる時間）に基づいて計算すればよい。つまり、第２速度は、目標地点に到着するまでに全ての発話コンテンツを出力できる最高速度ということができる。
【００７９】
ステップＳ９またはステップＳ１１の後、ステップＳ１３では、ＣＰＵ８０は、設定した移動経路P_guideを通りかつ人Ｈ（図１）を回避する、移動速度Ｖと回頭速度Ｗを設定する。ただし、人Ｈの刻々の位置は、図１の遠隔操作用コンピュータ１４からの受信データから取得できる。そして、移動速度Ｖはできるだけ最高速度に近づけるよう計算する。
【００８０】
ステップＳ１３では、ＤＷＡ（Dynamic Window Approach）を適用する。このＤＷＡ法は、現在の位置情報と速度情報、地図に示した障害物の位置情報、およびゴール（目標地点）の位置情報から、ロボットの運動モデルに則した制御入力（次の時刻に入力すべき制御入力）を計算する。つまり、ＤＷＡ法は、現在のロボットの速度とロボットの運動モデルから次の時刻までにロボットの制御入力の範囲（Dynamic Window）を計算し、その範囲内の制御入力をサンプリングして、事前に決めた評価関数が最大になる制御入力を計算するアルゴリズムである。
【００８１】
次のステップＳ１５で、ＣＰＵ８０は、ロボット１０の現在位置からターゲットが見えるかどうか判断する。つまり、図１０に示す視覚モデル１０Ａの範囲内にターゲットが見えるかどうか判断する。これは、地図データに登録されたターゲットの位置および形状データ、ロボット１０の現在位置およびロボット１０の視覚モデル１０Ａの範囲データから簡単に判断することができる。
【００８２】
このステップＳ１５で“ＹＥＳ”と判断したときは、ステップＳ１７で、案内コンテンツリストList_contentから適宜の発話コンテンツを選択する。しかしながら、“ＮＯ”の場合には、その発話コンテンツは発話できないので、ステップＳ１９で、発話Utterをクリアする。
【００８３】
そして、ステップＳ２１で、ＣＰＵ８０は、ステップＳ１３で計算した速度Ｖ、回頭速度Ｗおよび発話Utterを、出力する。つまり、図２のモータ制御ボード８６を通して移動手段を構成する車輪モータ３６を制御するとともに、発話コンテンツを音声入／出力ボード９０を通して発話手段を構成するスピーカ６４から出力させる。
【００８４】
このように、この実施例では、ステップＳ３すなわち図８において、発話可能時間が長くかつ移動距離の短い移動経路Ｐ（図９）を経路P_guideを選択し、ステップＳ７で、ターゲットに到着するまでに発話が完了するかを判断し、完了すると判断したときにはロボット１０の最大速度で移動させ、完了しないと判断したときでも、ロボット１０を停止させることなく、減速して移動させるようにした。したがって、今までの案内ロボットではロボットが停止したときの子供達の割り込みによる破綻が生じたが、この実施例によればそのような破綻を回避できる。
【００８５】
発明者等の実験では、実施例のように、多少遠回りしても、周囲の人を避けて移動速度の低下を防ぎ、移動しながら案内発話を実行するようにした場合、ツアーガイドの成功率は、従来方法の場合には２０回中２回であったものが、１９回中１０回と０．５以上となった。逆に、ツアーガイドの中断率は、従来方法の場合には２０回中１８回であったが、１９回中９回となった。
【００８６】
なお、上述の実施例では、ロボット１０のＣＰＵ８０が遠隔操作用コンピュータ１４から、その実行処理に必要なデータを取得し、ロボット１０のＣＰＵ８０が案内プログラム１１０ａや案内コンテンツ１１２ａ、経路候補データ１１２ｂなどに従って自律的に案内タスクを実行したが、遠隔操作用コンピュータ１４がロボット１０の移動速度や移動経路を含めた指令データをロボット１０に出力し、ロボット１０のＣＰＵ８０はその指令データに従ってモータ３６、９２‐１０２およびアクチュエータ１０８（図５）を制御することも可能である。この場合には、図６に示した案内プログラム１１０ａはコンピュータ１４のメモリ１６に予め設定されることになる。
【符号の説明】
【００８７】
１００  …案内ロボットシステム
１０  …案内ロボット
１４  …遠隔操作用コンピュータ
３２  …車輪
３６  …車輪モータ
８０  …ＣＰＵ
８４  …メモリ
【図１】
2018144118.tif 000003
【図２】
2018144118.tif 000004
【図３】
2018144118.tif 000005
【図４】
2018144118.tif 000006
【図５】
2018144118.tif 000007
【図６】
2018144118.tif 000008
【図７】
2018144118.tif 000009
【図８】
2018144118.tif 000010
【図９】
2018144118.tif 000011
【図１０】
2018144118.tif 000012
【図１１】
2018144118.tif 000013
【図１２】
2018144118.tif 000014