(57)【要約】    【構成】人間に目的地までの経路を案内する際に、目的地までの経路が複雑であり難易度が高いか否かを判断する（Ｓ２５，Ｓ３１）。そして、難易度が高くない場合は（フラグＨ：オフ）、人間が容易に経路を理解できるため、腕による方向の指示と音声とによって経路を説明して案内し、難易度が高い場合は（フラグＨ：オン）、人間の理解を助けるため、腕による方向の指示および音声に、体の向きによる方向の指示を加えて経路を説明して案内する。    【効果】人間による理解の容易化と、道案内ロボットの体の旋回による無駄な待ち時間の発生やエネルギーの消費の防止とを両立できる。【選択図】図７
2010046780.tif 000002
【特許請求の範囲】
【請求項１】
音声ならびに腕および体による身体動作を用いて人間に目的地までの経路を案内する道案内ロボットであって、
目的地を示す目的地情報を取得する目的地情報取得手段、
自身の現在地を示す現在地情報を取得する現在地情報取得手段、
道案内の対象地域の地図情報を記憶する地図情報記憶手段、
前記目的地情報取得手段によって取得された目的地情報、前記現在地情報取得手段によって取得された現在地情報、および前記地図情報記憶手段に記憶された地図情報に基づいて現在地から目的地までの経路を特定する特定手段、
前記特定手段によって特定された経路が複雑であるか否かを判断する判断手段、
前記判断手段によって前記経路が複雑でないと判断した場合に、腕による方向の指示と音声とを用いて前記経路を案内する第１案内手段、および
前記判断手段によって前記経路が複雑であると判断した場合に、腕による方向の指示、体の向きによる方向の指示、および音声を用いて前記経路を案内する第２案内手段を備える、道案内ロボット。
【請求項２】
前記判断手段は、前記経路における曲がり角の数に基づいて当該経路が複雑であるか否かを判断する、請求項１記載の道案内ロボット。
【請求項３】
前記判断手段は、前記経路における階移動の有無に基づいて当該経路が複雑であるか否かを判断する、請求項１または２記載の道案内ロボット。
【請求項４】
前記第１案内手段は、音声で曲がる方向を案内する際に、腕によって曲がる方向を指し示す、請求項１ないし３のいずれかに記載の道案内ロボット。
【請求項５】
前記第２案内手段は、音声で曲がる方向を案内する際に、体の向きおよび腕によって曲がる方向を示す、請求項１ないし４のいずれかに記載の道案内ロボット。
【請求項６】
前記第１案内手段は、音声で目的地の方向を案内する際に、腕によって目的地の方向を指し示す、請求項１ないし５のいずれかに記載の道案内ロボット。
【請求項７】
前記第２案内手段は、音声で目的地の方向を案内する際に、体の向きおよび腕によって目的地の方向を示す、請求項１ないし６のいずれかに記載の道案内ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、道案内ロボットに関し、特に、音声および身体動作を用いて人間に目的地までの経路を案内する道案内ロボットに関する。
【背景技術】
【０００２】
この種の道案内ロボットの一例が特許文献１に開示されている。特許文献１に開示されている道案内ロボットは液晶ディスプレイなどとともに道案内システムを構成する。この道案内ロボットは、液晶ディスプレイの近辺に配置され、液晶ディスプレイの近くに寄ってきた人間に対して、液晶ディスプレイに表示されている地図を人間に参照させつつ人間の所望する目的地への経路を説明して案内する。そして、この道案内ロボットは、道案内に際して、音声の出力、腕による方向の指示、および体の向きによる方向の指示を用いつつ人間に経路を伝える。
【特許文献１】特開２００７−２６５３２９号公報［G08G 1/005,B25J 13/00,G09B 29/00,G09B 29/10］
【発明の開示】
【発明が解決しようとする課題】
【０００３】
このように、特許文献１の道案内ロボットは、体の向きによって進行方向や曲がる方向を人間に示すために旋回して体の向きを変える。しかし、道案内ロボットが旋回して体の向きを変えるには時間がかかるので、特許文献１の道案内ロボットでは、道案内ロボットが体を旋回させる間、人間は無駄な時間を過ごさなければならなかった。また、道案内ロボットの体の旋回には比較的大きな電気エネルギーを必要とするので、道案内ロボットのエネルギーの消耗が早まっていた。しかし、体の向きによる方向の指示を省略すると、人間がロボットによる経路の説明を理解しにくくなるという問題が発生する。
【０００４】
それゆえに、この発明の主たる目的は、新規な、道案内ロボットを提供することである。
【０００５】
また、この発明の他の目的は、人間による理解の容易化と、旋回による体の向きの変更のための無駄な待ち時間の発生やエネルギーの消費の防止とを両立できる道案内ロボットを提供することである。
【課題を解決するための手段】
【０００６】
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明などは、本発明の理解を助けるために後述する実施の形態との対応関係を示したものであって、本発明を何ら限定するものではない。
【０００７】
第１の発明は、音声ならびに腕および体による身体動作を用いて人間に目的地までの経路を案内する道案内ロボットであって、目的地を示す目的地情報を取得する目的地情報取得手段、自身の現在地を示す現在地情報を取得する現在地情報取得手段、道案内の対象地域の地図情報を記憶する地図情報記憶手段、目的地情報取得手段によって取得された目的地情報、現在地情報取得手段によって取得された現在地情報、および地図情報記憶手段に記憶された地図情報に基づいて現在地から目的地までの経路を特定する特定手段、特定手段によって特定された経路が複雑であるか否かを判断する判断手段、判断手段によって経路が複雑でないと判断した場合に、腕による方向の指示と音声とを用いて経路を案内する第１案内手段、および判断手段によって経路が複雑であると判断した場合に、腕による方向の指示、体の向きによる方向の指示、および音声を用いて経路を案内する第２案内手段を備える、道案内ロボットである。
【０００８】
第１の発明によれば、道案内ロボット（１０）は、音声ならびに腕および体による身体動作を用いて人間に目的地までの経路を案内する。そして、道案内ロボットにおいて、目的地情報取得手段（５６，７２，６２，Ｓ５）は目的地を示す目的地情報を取得し、現在地情報取得手段（５６，７２，６２，Ｓ１１）は自身の現在地を示す現在地情報を取得する。そして、地図情報記憶手段（８８）は道案内の対象地域の地図情報を記憶する。また、特定手段（６２，Ｓ１３）は目的地情報取得手段によって取得された目的地情報、現在地情報取得手段によって取得された現在地情報、および地図情報記憶手段に記憶された地図情報に基づいて現在地から目的地までの経路を特定し、判断手段（６２，Ｓ２５，Ｓ３１）は特定手段によって特定された経路が複雑であるか否かを判断する。さらに、第１案内手段（６２）は判断手段によって経路が複雑でないと判断した場合に、腕による方向の指示と音声とを用いて経路を案内し、第２案内手段（６２）は判断手段によって経路が複雑であると判断した場合に、腕による方向の指示、体の向きによる方向の指示、および音声を用いて経路を案内する案内する。
【０００９】
第１の発明によれば、案内する経路が複雑でない場合には、体の向きによる方向の指示を省略し、案内する経路が複雑である場合には、体の向きによる方向の指示を行うので、人間による案内の理解の容易化と、体の向きの変更に伴う無駄な時間の発生および無駄なエネルギーの消費の防止とを両立することができる。
【００１０】
第２の発明は、第１の発明に従属する発明であって、判断手段は、経路における曲がり角の数に基づいて当該経路が複雑であるか否かを判断する。
【００１１】
第２の発明では、判断手段は、経路における曲がり角の数に基づいて当該経路が複雑であるか否かを判断するので、曲がり角の数が多くて人間が経路の説明を理解しづらい場合には、体の向きによって方向を示して理解を容易にすることができる。
【００１２】
第３の発明は、第１の発明および第２の発明に従属する発明であって、記判断手段は、経路における階移動の有無に基づいて当該経路が複雑であるか否かを判断する。
【００１３】
第３の発明では、判断手段は経路における階移動の有無に基づいて当該経路が複雑であるか否かを判断するので、エレベータや階段などを使用する階の移動があり、人間が経路の説明を理解しづらい場合には、体の向きによって方向を示して理解を容易にすることができる。
【００１４】
第４の発明は、第１の発明ないし第３の発明のいずれかに従属する発明であって、第１案内手段は、音声で曲がる方向を案内する際に、腕によって曲がる方向を指し示す。
【００１５】
第４の発明によれば、第１案内手段は、音声で曲がる方向を案内する際に、腕によって曲がる方向を指し示すので、体の向きを変えることによる無駄な待ち時間の発生やエネルギーの消費を防止することができる。
【００１６】
第５の発明は、第１の発明ないし第４の発明のいずれかに従属する発明であって、第２案内手段は、音声で曲がる方向を案内する際に、体の向きおよび腕によって曲がる方向を示す。
【００１７】
第５の発明によれば、第２案内手段は、音声で曲がる方向を案内する際に、体の向きおよび腕によって曲がる方向を示すので、人間が曲がる方向を容易に理解することができる。
【００１８】
第６の発明は、第１の発明ないし第５の発明のいずれかに従属する発明であって、第１案内手段は、音声で目的地の方向を案内する際に、腕によって目的地の方向を指し示す。
【００１９】
第６の発明によれば、第１案内手段は、音声で目的地の方向を案内する際に、腕によって目的地の方向を指し示すので、体の向きを変えることによる無駄な待ち時間の発生やエネルギーの消費を防止することができる。
【００２０】
第７の発明は、第１の発明ないし第６の発明のいずれかに従属する発明であって、第２案内手段は、音声で目的地の方向を案内する際に、体の向きおよび腕によって目的地の方向を示す。
【００２１】
第７の発明によれば、第２案内手段は、音声で目的地の方向を案内する際に、体の向きおよび腕によって目的地の方向を示すので、人間が目的地の方向を容易に理解することができる。
【発明の効果】
【００２２】
この発明によれば、人間による理解の容易化と、道案内ロボットの体の向きの変更に伴う無駄な時間の発生やエネルギーの消費の防止を両立することができる。
【００２３】
この発明の上述の目的、その他の目的、特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【００２４】
図１を参照して、本発明の実施の形態の一例である道案内ロボット（以下、単に「ロボット」と言う。）１０は、主として人間のようなコミュニケーションの対象とコミュニケーションを実行することを目的とした相互作用指向のものである。このロボット１０は、音声ならびに腕および体による身体動作を用いて人間に所望の目的地までの経路を説明して案内する。
【００２５】
ロボット１０は、たとえば、地下街やイベント会場などの当該場所に不慣れな人間が存在する場所に配置され、道案内を求める人間に対して道案内のサービスを提供する。
【００２６】
図１はロボット１０の外観を示す正面図であり、この図１を参照して、ロボット１０のハードウェアの構成について説明する。ロボット１０は台車２０を含み、この台車２０の下面にはロボット１０を自律移動させる２つの車輪２２および１つの従輪２４が設けられる。２つの車輪２２は車輪モータ２６（図２参照）によってそれぞれ独立に駆動され、台車２０すなわちロボット１０を前後左右任意の方向に動かすことが可能であり、またロボット１０を旋回させてその場で体の向きを変えることができる。また、従輪２４は車輪２２を補助する補助輪である。このように、ロボット１０は、配置された空間内を移動可能である。
【００２７】
台車２０の上には、円柱形のセンサ取付パネル２８が設けられ、このセンサ取付パネル２８には、赤外線距離センサ３０が取り付けられる。この赤外線距離センサ３０は、センサ取付パネル２８すなわちロボット１０の周囲の物体（人間や障害物など）との距離を計測するものである。
【００２８】
また、センサ取付パネル２８の上には、胴体３２が直立するように設けられる。胴体３２の前方中央上部（胸に相当する位置）には、上述した赤外線距離センサ３０がさらに設けられる。これは、ロボット１０の前方の主として人間との距離を計測するものである。また。胴体３２には、１つの全方位カメラ３４が設けられる。全方位カメラ３４は、たとえば背面側上端部のほぼ中央から延びる支柱３６上に設けられる。全方位カメラ３４は、ロボット１０の周囲を撮影するものであり、後述する眼カメラ６０とは区別される。この全方位カメラ３４としては、たとえばＣＣＤ（Charge Coupled Devices）やＣＭＯＳ（Complementary Metal Oxide Semiconductor）のような固体撮像素子を用いるカメラを採用することができる。なお、これら赤外線距離センサ３０および全方位カメラ３４の設置位置は当該部位に限られず適宜変更され得る。
【００２９】
胴体３２の両側面上端部（肩に相当する位置）には、それぞれ、肩関節３８Ｒおよび３８Ｌによって、上腕４０Ｒおよび４０Ｌが設けられる。図示は省略するが、肩関節３８Ｒおよび３８Ｌは、それぞれ、直交する３軸の自由度を有する。すなわち、肩関節３８Ｒは、直交する３軸のそれぞれの軸廻りにおいて上腕４０Ｒの角度を制御できる。肩関節３８Ｒのある軸（ヨー軸）は、上腕４０Ｒの長手方向（または軸）に平行な軸であり、他の２軸（ピッチ軸、ロール軸）は、それにそれぞれ異なる方向から直交する軸である。同様に、肩関節３８Ｌは、直交する３軸のそれぞれの軸廻りにおいて上腕４０Ｌの角度を制御できる。肩関節３８Ｌのある軸（ヨー軸）は、上腕４０Ｌの長手方向（または軸）に平行な軸であり、他の２軸（ピッチ軸、ロール軸）は、それにそれぞれ異なる方向から直交する軸である。
【００３０】
また、上腕４０Ｒおよび４０Ｌのそれぞれの先端には、肘関節４２Ｒおよび４２Ｌを介して、前腕４４Ｒおよび４４Ｌが設けられる。図示は省略するが、肘関節４２Ｒおよび４２Ｌは、それぞれ１軸の自由度を有し、この軸（ピッチ軸）の軸廻りにおいて前腕４４Ｒおよび４４Ｌの角度を制御できる。
【００３１】
前腕４４Ｒおよび４４Ｌのそれぞれの先端には、手に相当する球体４６Ｒおよび４６Ｌがそれぞれ固定的に設けられる。ただし、指や掌の機能が必要な場合には、人間の手の形をした「手」を用いることも可能である。
【００３２】
このように、ロボット１０は、上腕４０Ｒおよび４０Ｌ、肘関節４２Ｒおよび４２Ｌ、並びに前腕４４Ｒおよび４４Ｌからなる腕を供えているので、道案内に際して、進む方向や角を曲がる方向などを腕で示すことができる。以下において、上腕４０Ｒおよび４０Ｌ、肘関節４２Ｒおよび４２Ｌ、並びに前腕４４Ｒおよび４４Ｌを単に腕と言う場合がある。
【００３３】
また、図示は省略するが、台車２０の前面、肩関節３８Ｒ，３８Ｌを含む肩に相当する部位、上腕４０Ｒ，４０Ｌ、前腕４４Ｒ，４４Ｌおよび球体４６Ｒ，４６Ｌには、それぞれ、接触センサ（図２で包括的に示す。：４８）が設けられている。台車２０の前面の接触センサ４８は、台車２０への人間や他の障害物の接触を検知する。したがって、ロボット１０の移動中に障害物との接触があると、それを検知し、直ちに車輪２２の駆動を停止してロボット１０の移動を急停止させることができる。また、その他の接触センサ４８は、主に、人間がロボット１０の当該各部位に触れたかどうかを検知する。なお、接触センサ４８の設置位置はこれらに限定されず、適宜な位置（胸、腹、脇、背中、腰など）に設けられてよい。
【００３４】
胴体３２の中央上部（首に相当する位置）には首関節５０が設けられ、さらにその上には頭部５２が設けられる。図示は省略するが、首関節５０は、３軸の自由度を有し、３軸の各軸廻りに角度制御可能である。ある軸（ヨー軸）はロボット１０の真上（鉛直上向き）に向かう軸であり、他の２軸（ピッチ軸、ロール軸）は、それぞれ、それと異なる方向で直交する軸である。
【００３５】
頭部５２には、口に相当する位置に、スピーカ５４が設けられる。スピーカ５４は、ロボット１０が、それの周辺の人間に対して音声ないし音によってコミュニケーションを取るために用いられる。また、耳に相当する位置には、マイク５６Ｒおよび５６Ｌが設けられる。以下、右耳に相当するマイク５６Ｒと左耳に相当するマイク５６Ｌとをまとめてマイク５６ということがある。マイク５６は、周囲の音、とりわけコミュニケーションを実行する対象である人間の声を取り込む。さらに、目に相当する位置には、眼球部５８Ｒおよび５８Ｌが設けられる。眼球部５８Ｒおよび５８Ｌは、それぞれ眼カメラ６０Ｒおよび６０Ｌを含む。以下、右の眼球部５８Ｒと左の眼球部５８Ｌとをまとめて眼球部５８ということがあり、また、右の眼カメラ６０Ｒと左の眼カメラ６０Ｌとをまとめて眼カメラ６０ということがある。
【００３６】
眼カメラ６０は、ロボット１０に接近した人間の顔や他の部分ないし物体などを撮影して、それに対応する映像信号を取り込む。眼カメラ６０としては、上述した全方位カメラ３４と同様のカメラを用いることができる。たとえば、眼カメラ６０は眼球部５８内に固定され、眼球部５８は眼球支持部（図示せず）を介して頭部５２内の所定位置に取り付けられる。図示は省略するが、眼球支持部は、２軸の自由度を有し、それらの各軸廻りに角度制御可能である。たとえば、この２軸の一方は、頭部５２の上へ向かう方向の軸（ヨー軸）であり、他方は、一方の軸に直交しかつ頭部５２の正面側（顔）が向く方向に直交する方向の軸（ピッチ軸）である。眼球支持部がこの２軸の各軸廻りに回転されることによって、眼球部５８ないし眼カメラ６０の先端（正面）側が変位され、カメラ軸すなわち視線方向が移動される。
【００３７】
なお、上述のスピーカ５４、マイク５６および眼カメラ６０の設置位置は、これらに限定されず、適宜な位置に設けてられてよい。
【００３８】
図２はロボット１０の電気的な構成を示すブロック図であり、この図２を参照して、ロボット１０は、全体を制御するＣＰＵ６２を含む。ＣＰＵ６２は、マイクロコンピュータあるいはプロセサとも呼ばれ、バス６４を介して、メモリ６６、モータ制御ボード６８、センサ入力／出力ボード７０および音声入力／出力ボード７２に接続される。
【００３９】
メモリ６６は、図示は省略するが、ＲＯＭやＨＤＤおよびＲＡＭを含む。ＲＯＭやＨＤＤには、ロボット１０の主制御プログラムが予め記憶されるとともに、音声出力による発話ならびに腕や体による身体動作によって目的地までの経路を説明して案内するための案内プログラム、および外部コンピュータとの間で必要な情報を送受信するための通信プログラムなどが記録される。
【００４０】
また、ＲＯＭやＨＤＤには、ロボット１０による音声出力ならびに腕や体による身体動作のそれぞれの動作を実行するためのデータの集まりである行動モジュールが各行動毎に記憶されている。この行動モジュールは、音声を発話する行動の行動モジュールであれば音声データなどが含まれ、腕を動かしたり体の向きを変えたりといった物理的動きを伴う行動の行動モジュールであれば各モータを制御するためのモータ制御データなどが含まれる。なお、物理的動きを伴う行動の行動モジュールには、モータについての角度データを含むものと、角度データを引数としてその都度に取り込むものがある。また、ＲＡＭは、ワークメモリやバッファメモリとして用いられる。
【００４１】
モータ制御ボード６８は、たとえばＤＳＰで構成され、各腕や首関節５０および眼球部５８などの各軸モータの駆動を制御する。すなわち、モータ制御ボード６８は、ＣＰＵ６２からの制御データを受け、右眼球部５８Ｒの２軸のそれぞれの角度を制御する２つのモータ（図２では、まとめて「右眼球モータ」と示す。）７４の回転角度を制御する。同様に、モータ制御ボード６８は、ＣＰＵ６２からの制御データを受け、左眼球部５８Ｌの２軸のそれぞれの角度を制御する２つのモータ（図２では、まとめて「左眼球モータ」と示す。）７６の回転角度を制御する。
【００４２】
また、モータ制御ボード６８は、ＣＰＵ６２からの制御データを受け、右肩関節３８Ｒの直交する３軸のそれぞれの角度を制御する３つのモータと右肘関節４２Ｒの角度を制御する１つのモータとの計４つのモータ（図２では、まとめて「右腕モータ」と示す。）７８の回転角度を調節する。同様に、モータ制御ボード６８は、ＣＰＵ６２からの制御データを受け、左肩関節３８Ｌの直交する３軸のそれぞれの角度を制御する３つのモータと左肘関節４２Ｌの角度を制御する１つのモータとの計４つのモータ（図２では、まとめて「左腕モータ」と示す。）８０の回転角度を調節する。
【００４３】
さらに、モータ制御ボード６８は、ＣＰＵ６２からの制御データを受け、首関節５０の直交する３軸のそれぞれの角度を制御する３つのモータ（図２では、まとめて「頭部モータ」と示す。）８２の回転角度を制御する。さらにまた、モータ制御ボード６８は、ＣＰＵ６２からの制御データを受け、車輪２２を駆動する２つのモータ（図２では、まとめて「車輪モータ」と示す。）２６の回転角度を制御する。
【００４４】
なお、この実施例では、車輪モータ２６を除くモータは、制御を簡素化するために、ステッピングモータあるいはパルスモータを用いるようにしてある。ただし、車輪モータ２６と同様に、直流モータを用いるようにしてもよい。
【００４５】
センサ入力／出力ボード７０もまた、同様に、ＤＳＰで構成され、各センサからの信号を取り込んでＣＰＵ６２に与える。すなわち、赤外線距離センサ３０のそれぞれからの反射時間に関するデータがこのセンサ入力／出力ボード７０を通してＣＰＵ６２に入力される。また、全方位カメラ３４からの映像信号が、必要に応じてこのセンサ入力／出力ボード７０で所定の処理を施された後、ＣＰＵ６２に入力される。眼カメラ６０からの映像信号も、同様にして、ＣＰＵ６２に入力される。また、上述した複数の接触センサ（図２では、まとめて「接触センサ４８」と示す。）からの信号がセンサ入力／出力ボード７０を介してＣＰＵ６２に与えられる。
【００４６】
音声入力／出力ボード７２もまた、同様に、ＤＳＰで構成され、ＣＰＵ６２から与えられる音声合成データに従った音声または声がスピーカ５４から出力される。また、マイク５６からの音声入力が、音声入力／出力ボード７２を介してＣＰＵ６２に取り込まれる。
【００４７】
また、ＣＰＵ６２は、バス６４を介して通信ＬＡＮボード８４に接続される。通信ＬＡＮボード８４は、ＤＳＰで構成され、ＣＰＵ６２から送られる送信データを無線通信装置８６に与え、無線通信装置８６から送信データを、たとえば、無線ＬＡＮのようなネットワークを介して外部コンピュータに送信する。また、通信ＬＡＮボード８４は、無線通信装置８６を介してデータを受信し、受信したデータをＣＰＵ６２に与える。つまり、この通信ＬＡＮボード８４および無線通信装置８６によって、ロボット１０は外部コンピュータなどと無線通信を行うことができる。
【００４８】
さらに、ＣＰＵ６２は、バス６４を介して地図情報データベース（以下、「地図情報ＤＢ」という。）８８に接続される。地図情報ＤＢ８８は、ロボット１０が現在地から人間が所望する目的地までの経路を特定し、その経路を案内するために必要な、環境内の地図データをはじめとする地図に関する情報を記憶するデータベースである。この地図情報ＤＢ８８には、ダイクストラ法やウォーシャルフロイド法などの既存の経路探索アルゴリズムを用いて、現在地から目的地までの最短経路を特定するために必要な情報が記憶されている。また、地図情報ＤＢ８８には、経路探索アルゴリズムによって特定された最短経路に含まれる通路（道）の方向を特定するための情報や、経路上において目印となるランドマークの情報も記憶されている。ＣＰＵ６２は、現在地の情報と目的地の情報とを元にこの地図情報ＤＢ８８を参照して、目的地までの最短経路に含まれる通路（道）、曲がり角、曲がり角において曲がる角度（方向）、曲がる方向の目印となるランドマーク、階移動の手段のリストを得ることができる。このリストを「経路リスト」と呼ぶ。なお、曲がり角において曲がる角度（方向）は、たとえば、曲がり角によって接続される経路上の２つの通路（道）のそれぞれの方向から特定することができる。
【００４９】
図３は、ロボット１０が道案内を行う、たとえば、イベント会場の地図を示すものであり、現在地Ｓから目的地Ｇまでの最短経路が示されている。このような図３に示す条件の場合、経路リストは「Ｌ１Ｃ１α１ＬＭ１＋Ｌ２Ｃ２α２ＬＭ２＋Ｌ３Ｇα３」となる。ここで、「Ｌｉ（ｉは自然数。以下同じ）」は通路（道）、「Ｃｉ」は曲がり角、「αｉ」は曲がる角度（方向）、「ＬＭｉ」はランドマーク、「Ｇ」は目的地をそれぞれ示している。なお、「Ｌ３Ｇα３」のように目的地「Ｇ」に続く「αｉ」（ここでは「α３」）は、進行方向において目的地が存在する方向（の角度）を示している。
【００５０】
また、図４に示すような条件の場合、経路リストは「Ｌ１Ｃ１α１ＬＭ１＋Ｌ２Ｃ２α２ＬＭ２＋Ｌ３Ｃ３α３ＬＭ３＋Ｌ４Ｃ４α４ＬＭ４＋Ｌ５Ｃ５α５ＬＭ５＋Ｌ６Ｇα６」となる。
【００５１】
さらに、図５の（ａ）および（ｂ）に示すような条件の場合、経路リストは「Ｌ１Ｃ１α１ＬＭ１＋Ｌ２Ｃ２α２ＬＭ２＋Ｌ３Ｅ３α３＋Ｌ４Ｃ４α４ＬＭ４＋Ｌ５Ｇα５」となる。ここで、「Ｅｉ」はエレベータを示している。なお、「Ｌ３Ｅ３α３」のようにエレベータ「Ｅｉ」（ここでば「Ｅ３」）に続く「αｉ」（ここでは「α３」）は、エレベータ内での向きの変更を示している。図５の（ａ）および（ｂ）の例では、エレベータの入口と出口は同じでありエレベータ内では向きを反転するので「αｉ」は「１８０°」である。しかし、停止する階によって出口として開くドアが異なる特殊なエレベータが存在するので、このような場合には「αｉ」は停止する階によって異なったものとなる。
【００５２】
ところで、ロボット１０は、このような経路リストに基づいて人間に現在地から目的地までの経路を説明する場合、２つの車輪２２を互いに逆の方向に駆動させるなどして旋回して体の向きを変えることによって、体の向きで進行方向や曲がり角で曲がる方向を人間に示すことができる。しかし、旋回して体の向きを変える動作には時間がかかって人間を待たせることになるし、多くの電気エネルギーを必要とする。そのため、旋回して体の向きを変える動作は極力控える方がよい。しかし、体の向きによって方向を指示する動作を省略すると、人間が進行方向や曲がり角での曲がる方向を認識しづらくなる。
【００５３】
そこで、ロボット１０が案内する経路が簡単で難易度が低い場合は体の向きによって方向を指示する動作を省略し、経路が複雑で難易度が高い場合は体の向きによって方向を指示する動作を実行する。たとえば、図３に示した場合の経路リストのように、案内する経路に含まれる曲がり角「Ｃｉ」の数が５個未満の場合には経路が簡単であり難易度が低いとし、図４に示した場合の経路リストのように、案内する経路に含まれる曲がり角「Ｃｉ」の数が５個以上の場合には経路が複雑であり難易度が高いとする。
【００５４】
また、曲がり角「Ｃｉ」の数が５個未満であっても、図５の（ａ）および（ｂ）に示した場合の経路リストのように、案内する経路にエレベータ「Ｅｉ」が含まれて階を移動する場合は経路が複雑であり難易度が高いとする。このようにすることによって、旋回して体の向きを変える動作を必要な場合のみ実行して極力省略することができる。
【００５５】
次に、図６から図１１に示すフロー図を用いて、ロボット１０が道案内をする場合に、ＣＰＵ６２が実行する処理について説明する。なお、ＣＰＵ６２は、メモリ６６に記憶されている所定のプログラムに基づいて図６から図１１に示すフロー図の処理を実行する。なお、以下の説明において、上述の経路リストにおける「Ｌｉ」や「Ｃｉ」などの経路リストを構成する要素のそれぞれを「項目」と呼ぶことにする。
【００５６】
まず、ＣＰＵ６２は、ステップＳ１において、周囲に人間が存在するか否かを判断する。ロボット１０は、上述したように、自身が配置された環境の地図データを地図情報ＤＢ８８に記憶しているため、この環境内に存在する壁、柱、置物などの障害物の位置を把握している。したがって、たとえば、赤外線距離センサ３０の検出結果に基づいて地図データに存在しない物を検出すると、それを人間とみなすことによって、自身の周囲に存在する人間を認識することができる。
【００５７】
ただし、人間を検出する方法はこれに限定されず、赤外線距離センサ３０に代えて、あるいは赤外線距離センサとともに、レーザレンジファインダや超音波距離センサを備えるようにし、これらを用いて人間を検出するようにしてもよい。また、ロボット１０自身が備えるセンサによって人間を検出する必要は無く、たとえば、外部コンピュータが管理する、環境に設置された床センサや天井カメラなどのセンサによって人間を検出し、その検出結果を外部コンピュータからロボット１０に与えるようにしてもよい。人間を検出する方法は、この他にも適宜な方法が採用され得る。
【００５８】
ＣＰＵ６２がステップＳ１で人間が周囲に存在すると判断すると（ステップＳ１：ＹＥＳ）、次に、ＣＰＵ６２は、ステップＳ３で存在する（検出された）人間が道案内を必要としているか否かを判断する。道案内が必要か否かを確認するのは、検出されたすべての人間が道案内を必要としているとは限らないからである。
【００５９】
たとえば、ロボット１０は、「道案内は必要ですか？」などと人間に問いかけ、この問いかけに対する人間の返答を音声認識することによって当該人間が道案内を必要としているか否かを判断する。「道案内は必要ですか？」の発話は、メモリ６６から「道案内は必要ですか？」に対応する行動モジュールを読み出し、さらに、読み出した行動モジュールから取り出した音声合成データを、音声入力／出力ボート７２を介してスピーカ５４から出力することによって行う。以下における各発話はこれと同様にして行われる。また、たとえば、「道案内が必要な場合は僕の肩に触れてね」などと人間に対して発話し、それに応じて人間がロボット１０の肩に触れた場合、すなわち肩部の接触センサ４８がオンになった場合に、当該人間が道案内を必要としていると判断するようにしてもよい。
【００６０】
検出した人間が道案内を必要としていると判断すると（ステップＳ３：ＹＥＳ）、次に、ＣＰＵ６２は、ステップＳ５で人間から目的地の情報を取得する。たとえば、「どこに行きたいの？」などと発話することによって人間に目的地を質問し、人間の返答した音声を音声認識することによって目的地の情報を取得する。
【００６１】
そして、次に、ステップＳ７で、ステップ５において取得した目的地の情報が地図情報ＤＢ８８に存在するか否かを判断する。目的地の情報が地図情報ＤＢ８８に存在しないと判断すると（ステップＳ７：ＮＯ）、ステップＳ９で、「ご案内できません」と発話して頭を下げる。つまり、目的地までの経路が分からず道案内サービスを提供することができないので、その旨を人間に伝える。このとき、メモリ６６から頭を下げる動作のための行動モジュールを読み出し、読み足した行動モジュールに含まれる頭部モータ８２についてのモータ制御データと角度データとに基づいて、頭を下げるように頭の角度を制御する。
【００６２】
一方、目的地の情報が地図情報ＤＢ８８に存在すると判断すると（ステップＳ７：ＹＥＳ）、ＣＰＵ６２は、ステップＳ１１で自身の現在地の情報を取得する。ロボット１０は、上述したように、配置される環境内の地図データを予め地図情報ＤＢ８８に記憶しており、この地図データを参照して自律移動を行う。つまあり、ロボット１０は、現在、自身がどの地点にいてどの方向を向いているかを、たとえば、内蔵されたあるいは環境に配置されたセンサの情報に基づいて、常に把握している。したがって、ロボット１０のＣＰＵ６２は、当該地図データとセンサ情報を参照して現在地の情報および現在の向きの情報を取得することができる。
【００６３】
目的地の情報と現在地の情報とを取得すると、ＣＰＵ６２は、ステップＳ１３で目的地の情報と現在地の情報とを基に地図情報ＤＢ８８を利用して上述の経路リストを作成する。経路リストの作成には、上述したように、ウォーシャルフロイド法やダイクストラ法などの既存の経路探索アルゴリズムが用いられる。なお、経路リストの作成は、必ずしもロボット１０で実行する必要は無く、たとえば、外部コンピュータで経路リストを生成して、これを外部コンピュータからロボット１０に与えるようにしてもよい。したがって、地図情報ＤＢ８８も外部コンピュータなどが備えるようにしてもよい。
【００６４】
そして、経路リストが作成されると、ＣＰＵ６２は、ステップＳ１５において経路の難易度を評価し、ステップＳ１７でこの経路の難易度の評価と経路リストに基づいて道案内を行う。
【００６５】
経路の難易度の評価の処理は、具体的には、図７のフロー図に示す処理に従って実行される。まず、ＣＰＵ６２は、ステップＳ２１でフラグＨをオフ状態に設定し、ステップＳ２３でフラグＥをオフ状態に設定してそれぞれのフラグを初期化する。フラグＨは、経路リストに基づいて案内する経路が複雑であり難易度が高いと評価したか否かを示すフラグであり、複雑であり難易度が高いと評価した場合にオン状態に設定される。また、フラグＥは経路リストに基づいて案内する経路においてエレベータが存在するか否か、つまり階移動が行われるか否かを示すフラグであり、エレベータが存在する場合（階移動が行われる場合）にオン状態に設定される。なお、この実施の形態ではエレベータの使用により階移動するものとするが、階段の使用により階移動してもかまわない。
【００６６】
次に、ＣＰＵ６２は、案内する経路上にエレベータが存在するか否かを判断する。つまり、経路リストに「Ｅｉ」の項目が含まれるか否かを判断する。そして、経路上にエレベータが存在すると判断すると（ステップＳ２５：ＹＥＳ）、ステップＳ２７でフラグＥをオン状態に設定し、ステップＳ２９でフラグＨをオン状態に設定する。
【００６７】
一方、経路上にエレベータが存在しないと判断すると（ステップＳ２５：ＮＯ）、ステップＳ３１において経路上に曲がり角が５つ以上存在するか否かを判断する。つまり、経路リストに「Ｃｉ」の項目が５つ以上含まれるか否かを判断する。経路上に曲がり角が５つ以上存在すると判断すると（ステップＳ３１：ＹＥＳ）、ステップＳ２９でフラグＨをオン状態とする。一方、曲がり角が５つ以上存在しないと判断すると（ステップＳ３１：ＮＯ）、そのまま経路の難易度の評価の処理を終了してリターンする。
【００６８】
また、道案内の処理は、具体的には、図８ないし図１１のフロー図に示す処理に従って実行される。まず、ＣＰＵ６２は、ステップＳ４１において、フラグＥがオン状態であるか否か、つまり経路にエレベータが存在し階移動を伴うか否かを判断する。ステップＳ４１において経路にエレベータが存在すると判断すると（ステップＳ４１：ＹＥＳ）、ＣＰＵ６２は、目的地は現在地のある階とは異なる階にあることを示すために、ステップＳ４３において、たとえば、「目的地は２階にあります」と発話する。一方、経路にエレベータが存在しないと判断すると（ステップＳ４１：ＮＯ）、ステップＳ４３をスキップする。
【００６９】
そして、ステップＳ４５で、「そこに行くには」と発話して経路の案内を開始し、ステップＳ４７において、ポインタｐの値を「１」として初期化する。このポインタｐは、経路リストに含まれる項目を順にポイントするためのものである。なお、経路リストの先頭の項目は常に通路（道）を示す「Ｌ１」である。
【００７０】
ステップＳ４９では、地図情報ＤＢ８８でポインタｐが示している１番目の項目である「Ｌ１」の通路を参照して通路「Ｌ１」の方向の情報を取得し、この情報に基づいて特定される進行方向にロボット１０の体の向きを変える。このとき、メモリ６６から体の向きを変えるための行動モジュールを読み出し、この行動モジュールに含まれる車輪モータ２６についてのモータ制御データと引数として与えられた角度データとをモータ制御ボード６８へ送信してロボット１０の体が旋回するように車輪２２を制御する。なお、引数としての角度データは、ロボット１０の現在の向きと通路「Ｌ１」の方向とから算出した現在の向きから通路「Ｌ１」の方向への角度に基づいて決定される。このステップＳ４９では、経路の難易度の評価の結果とは無関係に、つまりフラグＨの状態とは無関係にロボット１０を旋回させて体の向きを進行方向に向ける。
【００７１】
次に、ステップＳ５１では、経路リストについてポインタｐがポイントしているｐ番目の項目が通路「Ｌｉ」であるか否かを判断する。ｐ番目の項目が通路「Ｌｉ」でないと判断した場合には（ステップＳ５１：ＮＯ）、ステップＳ６７でエラー処理を行う。ステップＳ６７のエラー処理では、「エラーが発生しました。プログラムを初期化します。」と発話してプログラムカウンターを初期化してステップＳ１に戻る。
【００７２】
一方、ｐ番目の項目が通路「Ｌｉ」であると判断すると（ステップＳ５１：ＹＥＳ）、ステップＳ５２において、地図情報ＤＢ８８でポインタｐが示しているｐ番目の項目である「Ｌｉ」の通路の情報を参照して通路「Ｌｉ」の方向をの情報を取得し、この情報に基づいて特定される進行方向をたとえば右腕で示す。このとき、メモリ６６から右腕で方向を指し示すための行動モジュールを読み出し、この行動モジュールに含まれる右肩関節３８Ｒを制御するモータについてのモータ制御データと引数として与えられた角度データとをモータ制御ボード６８へ送信して右腕で方向を指し示すように制御する。なお、引数としての角度データは、腕の現在の向きと通路「Ｌｉ」の方向とから算出された現在の腕の向きから通路「Ｌｉ」の方向への角度に基づいて決定される。そして、ステップＳ５３で、ポインタｐの値を「１」だけインクリメントする。
【００７３】
次に、ＣＰＵ６２は、ステップＳ５５で、現在経路リストにおいてポインタｐがポイントしているｐ番目の項目が曲がり角「Ｃｉ」であるか否かを判断する。ｐ番目の項目が曲がり角「Ｃｉ」であると判断すると（ステップＳ５５：ＹＥＳ）、ステップＳ５７でポインタｐの値を「１」だけインクリメントし、さらに図９のステップＳ７１で、ポインタｐがポイントしているｐ番目の項目が、曲がる角度を示す角度「αｉ」であるか否かを判断する。
【００７４】
ステップＳ７１で角度「αｉ」でないと判断すると（ステップＳ７１：ＮＯ）、図８のステップＳ６７において上述したようなエラー処理を行う。一方、角度「αｉ」であると判断すると（ステップＳ７１：ＹＥＳ）、ステップＳ７５で「この方向を曲がり角まで進んでください」を発話する。なお、先のステップＳ５５において判断した曲がり角「Ｃｉ」に対応つけて曲がり角の態様についての情報を地図情報ＤＢ８８に記憶しておき、ここではその態様の情報に従って、「この方向を十字路まで進んでください」や「この方向をＴ字路まで進んでください」などと発話してもよい。
【００７５】
次に、ＣＰＵ６２は、ステップＳ７７で「曲がり角に来たら」を発話し、ステップＳ７９でフラグＨがオン状態であるか否か、つまり経路の難易度の評価において難易度が高いと評価したか否かを判断する。
【００７６】
フラグＨがオン状態である、つまり経路の難易度が高いと判断すると（ステップＳ７９：ＹＥＳ）、ステップＳ７１で、ポインタｐがポイントしている角度「αｉ」に基づいて曲がり角で曲がる角度（方向）を特定し、その方向にロボット１０を旋回して体を向ける。このとき、メモリ６６から体の向きを変えるための行動モジュールを読み出し、この行動モジュールに含まれる車輪モータ２６についてのモータ制御データと引数として与えられた角度データとをモータ制御ボード６８へ送信してロボット１０の体が旋回するように車輪２２を制御する。なお、引数として与えられる角度データは、ステップＳ７１でポインタｐがポイントしている角度「αｉ」に基づいて決定される。
【００７７】
ここで、角度「αｉ」は、たとえば、ロボット１０の正面を基準として時計回りの角度であり、曲がり角「Ｃｉ」において右側に曲がる場合は角度「αｉ」は「９０°」であり、左側に曲がる場合は角度「αｉ」は「２７０°」である。また、十字路で直進する場合は角度「αｉ」は「０°」である。
【００７８】
次に、ステップＳ８３では、現在ロボット１０の体が向いている方向、つまり曲がる方向であるロボット１０の正面を右腕で指し示す。このとき、メモリ６６から右腕で方向を指し示すための行動モジュールを読み出し、この行動モジュールに含まれる右肩関節３８Ｒを制御するモータについてのモータ制御データと引数として与えられた角度データとをモータ制御ボード６８へ送信して右腕で方向を指し示すように制御する。なお、引数としての角度データは、腕がロボット１０の正面を指し示すように予め設定された値によって与えられる。
【００７９】
一方、ステップＳ７９においてフラグＨがオン状態でない、つまり経路の難易度が高くないと判断すると（ステップＳ７９：ＮＯ）、ステップＳ８５で、ポインタｐがポイントしている角度「αｉ」に基づいて曲がり角で曲がる角度（方向）を特定し、その方向を右腕で指し示す。このとき、メモリ６６から右腕で方向を指し示すための行動モジュールを読み出し、この行動モジュールに含まれる右肩関節３８Ｒを制御するモータについてのモータ制御データと引数として与えられた角度データとをモータ制御ボード６８へ送信して右腕で方向を指し示すように制御する。なお、引数としての角度データは、ステップＳ７１でポインタｐがポイントしている角度「αｉ」に基づいて決定される。
【００８０】
そして、ステップＳ８７では、ポインタｐの値を「１」だけインクリメントし、ステップＳ８９で経路リストにおいてポインタｐがポイントしているｐ番目の項目がランドマーク「ＬＭｉ」であるか否かを判断する。
【００８１】
ｐ番目の項目がランドマークであると判断すると（ステップＳ８９：ＹＥＳ）、ステップＳ９１で、たとえば、「赤い看板が見える右に曲がってください」を発話する。この発話の例は、ステップＳ８９で判断されたランドマークが「赤い看板」であり、ステップＳ７１で判断された角度「αｉ」が「９０°」である場合である。なお、角度「αｉ」が「２７０°」である場合には「赤い看板が見える左に曲がってください」と発話し、角度「αｉ」が「０°」である場合には「赤い看板が見える前方に直進してください」と発話する。そして、ステップＳ９３では、ポインタｐの値を「１」だけインクリメントして、図８のステップＳ５１に戻る。
【００８２】
一方、ステッ８９でｐ番目の項目がランドマークでないと判断すると（ステップＳ８９：ＮＯ）、ステップＳ９５で、たとえば、「右に曲がってください」と発話する。この発話の例は、ステップＳ７１で判断された角度「αｉ」が「９０°」である場合である。なお、角度「αｉ」が「２７０°」である場合には「左に曲がってください」と発話し、角度「αｉ」が「０°」である場合には「前方に直進してください」と発話する。そして、図８のステップＳ５１に戻る。
【００８３】
図８のステップＳ５５に戻って、現在ポインタｐがポイントしている経路リストのｐ番目の項目が曲がり角「Ｃｉ」でないと判断すると（ステップＳ５５：ＮＯ）、ステップＳ５９でｐ番目の項目がエレベータ「Ｅｉ」であるか否かを判断する。ｐ番目の項目がエレベータであると判断すると（ステップＳ５９：ＹＥＳ）、ポインタｐの値を「１」だけインクリメントする。
【００８４】
次に、図１０のステップＳ１０１で、ポインタｐが現在ポイントしている経路リストのｐ番目の項目が角度「αｉ」であるか否かを判断する。ｐ番目の項目が角度「αｉ」でないと判断すると（ステップＳ１０１：ＮＯ）、図８のステップＳ６７で上述したようなエラー処理を実行する。
【００８５】
一方、ｐ番目の項目が角度「αｉ」であると判断すると（ステップＳ１０１：ＹＥＳ）、ステップＳ１０５で、たとえば、「前方にあるエレベータに乗って２階を目指してください」を発話する。そして、ステップＳ１０１で判断した「αｉ」に基づいて、ステップＳ１０７で体の向きを「αｉ」だけ変えて、ステップＳ１０９で、たとえば、「２階に到着したらエレベータを降りてください」を発話する。
【００８６】
このとき、メモリ６６から体の向きを変えるための行動モジュールを読み出し、この行動モジュールに含まれる車輪モータ２６についてのモータ制御データと引数として与えられた角度データとをモータ制御ボード６８へ送信してロボット１０の体が旋回するように車輪２２を制御する。なお、引数として与えられる角度データは、ステップＳ１０１でポインタｐがポイントしている角度「αｉ」に基づいて決定される。
【００８７】
なお、エレベータを降りるときの出口の扉が、エレベータに乗り込んだときの入口の扉と異なる場合には、先のステップ１０９で、たとえば、「２階に到着したら、乗り込んだときの入口の扉の右側にある扉からエレベータを降りてください」などとと発話するようにするとよい。ここで、出口の扉が入口の扉のたとえば右側にあることは、ステップＳ１０１で判断した「αｉ」の値から判断することができる。
【００８８】
ステップＳ１１１では、ポインタｐの値を「１」だけインクリメントして、図８のステップＳ５１に戻る。
【００８９】
図８のステップＳ５９に戻って、ｐ番目の項目がエレベータ「Ｅｉ」でないと判断すると（ステップＳ５９：ＮＯ）、ステップＳ６３において、ｐ番目の項目は目的地「Ｇ」であるか否かを判断する。ｐ番目の項目が目的地「Ｇ」でないと判断すると（ステップＳ６３：ＮＯ）、ステップＳ６７で上述したようなエラー処理を実行する。
【００９０】
一方、ｐ番目の項目が目的地「Ｇ」であると判断すると（ステップＳ６３：ＹＥＳ）、ステップＳ６５でポインタｐの値を「１」だけインクリメントする。
【００９１】
次に、図１１のステップＳ１２１で、経路リストにおいてポインタｐがポイントしているｐ番目の項目が角度「αｉ」であるか否かを判断する。ｐ番目の項目が角度「αｉ」でないと判断すると（ステップＳ１２１：ＮＯ）、図８のステップＳ６７で上述したようなエラー処理を実行する。
【００９２】
一方、ｐ番目の項目が角度「αｉ」であると判断すると（ステップＳ１２１：ＹＥＳ）、ステップＳ１２５で、「この方向を真っ直ぐ目的地まで進んでください」を発話する。
【００９３】
そして、ステップＳ１２７で、フラグＨがオン状態であるか否か、つまり経路の難易度が高いか否かを判断する。フラグＨがオン状態であると判断すると（ステップＳ１２７：ＹＥＳ）、ステップＳ１２９で、ステップＳ１２１において判断した角度「αｉ」に基づいて目的地がある方向を判断し、その方向にロボット１０を旋回して体を向ける。
【００９４】
このとき、メモリ６６から体の向きを変えるための行動モジュールを読み出し、この行動モジュールに含まれる車輪モータ２６についてのモータ制御データと引数として与えられた角度データとをモータ制御ボード６８へ送信してロボット１０の体が旋回するように車輪２２を制御する。なお、引数として与えられる角度データは、ステップＳ１２１でポインタｐがポイントしている角度「αｉ」に基づいて決定される。
【００９５】
さらに、ステップＳ１３１で、目的地の方向、つまりロボット１０の正面を右腕で指し示す。このとき、メモリ６６から右腕で方向を指し示すための行動モジュールを読み出し、この行動モジュールに含まれる右肩関節３８Ｒを制御するモータについてのモータ制御データと引数として与えられた角度データとをモータ制御ボード６８へ送信して右腕で方向を指し示すように制御する。なお、引数としての角度データは、腕がロボット１０の正面を指し示すように予め設定された値によって与えられる。
【００９６】
一方、ステップＳ１２７で、フラグＨがオン状態でないと判断すると（ステップＳ１２７：ＮＯ）、ステップＳ１２１において判断した角度「αｉ」に基づいて目的地がある方向を判断し、その方向を右腕で指し示す。このとき、メモリ６６から右腕で方向を指し示すための行動モジュールを読み出し、この行動モジュールに含まれる右肩関節３８Ｒを制御するモータについてのモータ制御データと引数として与えられた角度データとをモータ制御ボード６８へ送信して右腕で方向を指し示すように制御する。なお、引数として与えられる角度データは、ステップＳ１２１でポインタｐがポイントしている角度「αｉ」に基づいて決定される。
【００９７】
そして、ステップＳ１３５では、たとえば、「目的地は左側にあります」を発話する。なお、この発話の例は、ステップＳ１２１において判断した角度「αｉ」が「２７０°」の場合である。角度「αｉ」が「９０°」の場合は「目的地は右側にあります」と発話し、角度「αｉ」が「０°」の場合は「目的地は正面にあります」と発話する。ステップＳ１３５の後はリターンして道案内の処理を終了する。
【００９８】
以上に説明したように、この実施例のロボット１０は、人間に目的地までの経路を案内する際に、目的地までの経路が複雑であり難易度が高いか否かを判断する。そして、難易度が高くない場合は、人間が容易に経路の説明を理解できるため、腕による方向の指示と音声とによって経路を説明して案内し、難易度が高い場合は、人間の理解を助けるため、腕による方向の指示および音声に、体の向きによる方向の指示を加えて経路を説明して案内する。
【００９９】
このように、人間の理解を助けるために必要な場合にのみ体の向きによる方向の指示を行うことによって、人間による経路の理解の容易化と、ロボット１０の旋回による体の向きの変更に伴う無駄な待ち時間の発生やエネルギーの消費の防止とを両立することができる。
【図面の簡単な説明】
【０１００】
【図１】この発明の道案内ロボットの外観を正面から見た図解図である。
【図２】図１に示す道案内ロボットの電気的な構成を示すブロック図である。
【図３】道案内ロボットが案内する経路の一例を示す図解図である。
【図４】道案内ロボットが案内する経路の一例を示す図解図である。
【図５】道案内ロボットが案内する経路の一例を示す図解図である。
【図６】道案内ロボットの図２に示すＣＰＵの全体処理の一例を示すフロー図である。
【図７】道案内ロボットの図２に示すＣＰＵの経路の難易度の決定の処理の一例を示すフロー図である。
【図８】道案内ロボットの図２に示すＣＰＵの道案内の処理の一例を示すフロー図である。
【図９】道案内ロボットの図２に示すＣＰＵの道案内の処理の一例を示すフロー図である。
【図１０】道案内ロボットの図２に示すＣＰＵの道案内の処理の一例を示すフロー図である。
【図１１】道案内ロボットの図２に示すＣＰＵの道案内の処理の一例を示すフロー図である。
【符号の説明】
【０１０１】
１０  …道案内ロボット（ロボット）
６２  …ＣＰＵ
８８  …地図情報データベース（地図情報ＤＢ）
【図１】
2010046780.tif 000003
【図２】
2010046780.tif 000004
【図３】
2010046780.tif 000005
【図４】
2010046780.tif 000006
【図５】
2010046780.tif 000007
【図６】
2010046780.tif 000008
【図７】
2010046780.tif 000009
【図８】
2010046780.tif 000010
【図９】
2010046780.tif 000011
【図１０】
2010046780.tif 000012
【図１１】
2010046780.tif 000013