(57)【特許請求の範囲】
【請求項１】
座標系が定義された地図上のルートに従って環境内の路を移動しながら自己位置の検出および路上視の撮影を行うことによって位置情報および画像情報ならびに幾何情報を収集する収集ステップ、
前記収集ステップで収集した画像情報からランドマークを検出する第１検出ステップ、
前記収集ステップで収集した位置情報および幾何情報に基づいてグリッド地図を作成する第１作成ステップ、
前記第１作成ステップで作成したグリッド地図に基づいて、前記環境内の各路をノードおよびエッジの集合で表現したトポロジカル地図を作成する第２作成ステップ、
前記第２作成ステップで作成したトポロジカル地図上でスタートからゴールに至るルートを計算するルート計算ステップ、
前記ルート計算ステップで計算したルートに含まれるノードのうちスタートおよびゴール以外の各ノードが、進路に関して意思決定を必要としない冗長ノードに該当するか否かを当該ノードに接続されたエッジの状態に基づいて判別する判別ステップ、
前記ルート計算ステップで計算したルートに対して、前記判別ステップで冗長ノードに該当すると判別されたノードを除去する一方、冗長ノードに該当しないと判別されたノードを、進路に関して意思決定を必要するノードであるサブゴールとして残し、そして当該ルートを当該サブゴールで区分してセグメンテーションを行うセグメンテーションステップ、および
前記セグメンテーション後のルートに含まれるサブゴールに前記第１検出ステップで検出したランドマークを示す第１情報を割り付ける割付ステップを備え、
前記判別ステップでは、スタートおよびゴール以外の各ノードにおいて、当該ノードのエッジの数が３の場合、当該ノードからルート沿いに出るエッジとの間の角度が鈍角であって、かつ当該ノードから出る２個のエッジの間の角度が直角または鋭角であれば当該ノードは冗長ノードでないと判別する、ルートパースペクティブモデル構築方法。
【請求項２】
前記判別ステップで冗長ノードに該当しないと判別したノードについて当該ノードに接続されたエッジの数および角度に基づく、幾何学的な分類である属性を検出する第２検出ステップをさらに備え、
前記割付ステップでは前記第２検出ステップで検出した属性を示す第２情報をサブゴールにさらに割り付ける、請求項１記載のルートパースペクティブモデル構築方法。
【請求項３】
前記割付ステップではサブゴールにそこで行わせるべき行動を示す第３情報をさらに割り付ける、請求項２記載のルートパースペクティブモデル構築方法。
【請求項４】
前記ルート計算ステップではスタートからゴールに至る各ルートを計算し、前記判別ステップ、前記セグメンテーションステップ、前記割付ステップは各ルートについて実行される、請求項１ないし３のいずれかに記載のルートパースペクティブモデル構築方法。
【請求項５】
前記ルート計算ステップで計算した各ルートの有用性を評価して最適ルートを決定する決定ステップをさらに備える、請求項４記載のルートパースペクティブモデル構築方法。
【請求項６】
前記割付ステップで各パスを往復する往ルートおよび復ルートに含まれるエッジおよび／またはノードに対して第１情報の割付を行うことにより構築された第１ルートパースペクティブモデルを前記第２計算ステップで計算したルートに沿ってスキャンして第１情報を抽出する抽出ステップをさらに備え、
前記割付ステップでは前記抽出ステップで抽出した第１情報をサブゴールに割り付けることで、第２ルートパースペクティブモデルを構築する、請求項５記載のルートパースペクティブモデル構築方法。
【請求項７】
座標系が定義された地図を少なくとも記憶する記憶手段、
前記記憶手段に記憶された地図上のルートに従って環境内の路を移動しながら自己位置の検出および路上視の撮影を行うことによって位置情報および画像情報ならびに幾何情報を収集する収集手段、
前記収集手段で収集した画像情報からランドマークを検出する第１検出手段、
前記収集手段で収集した位置情報および幾何情報に基づいてグリッド地図を作成する第１作成手段、
前記第１作成手段で作成したグリッド地図に基づいて、前記環境内の各路をノードおよびエッジの集合で表現したトポロジカル地図を作成する第２作成手段、
前記第２作成手段で作成したトポロジカル地図上でスタートからゴールに至るルートを計算するルート計算手段、
前記ルート計算手段で計算したルートに含まれるノードのうちスタートおよびゴール以外の各ノードが、進路に関して意思決定を必要としない冗長ノードに該当するか否かを当該ノードに接続されたエッジの状態に基づいて判別する判別手段、
前記ルート計算手段で計算したルートに対して、前記判別手段で冗長ノードに該当すると判別されたノードを除去する一方、冗長ノードに該当しないと判別されたノードを、進路に関して意思決定を必要するノードであるサブゴールとして残し、そして当該ルートを当該サブゴールで区分してセグメンテーションを行うセグメンテーション手段、
前記セグメンテーション後のルートに含まれるサブゴールに前記第１検出ステップで検出したランドマークを示す第１情報を割り付ける割付手段、および
前記割付手段で割り付けて得られたルートパースペクティブモデルに基づいてコミュニケーションを行うコミュニケーション手段を備え、
前記判別手段は、スタートおよびゴール以外の各ノードにおいて、当該ノードのエッジの数が３の場合、当該ノードからルート沿いに出るエッジとの間の角度が鈍角であって、かつ当該ノードから出る２個のエッジの間の角度が直角または鋭角であれば当該ノードは冗長ノードでないと判別する、ロボット。
【請求項８】
座標系が定義された地図を少なくとも記憶する記憶手段、
前記記憶手段に記憶された地図上のルートに従って環境内の路を移動しながら自己位置の検出および路上視の撮影を行うことによって位置情報および画像情報ならびに幾何情報を収集する収集手段、
前記収集手段で収集した画像情報からランドマークを検出する第１検出手段、
前記収集手段で収集した位置情報および幾何情報に基づいてグリッド地図を作成する第１作成手段、
前記第１作成手段で作成したグリッド地図に基づいて、前記環境内の各路をノードおよびエッジの集合で表現したトポロジカル地図を作成する第２作成手段、
前記第２作成手段で作成したトポロジカル地図上でスタートからゴールに至るルートを計算するルート計算手段、
前記ルート計算手段で計算したルートに含まれるノードのうちスタートおよびゴール以外の各ノードが、進路に関して意思決定を必要としない冗長ノードに該当するか否かを当該ノードに接続されたエッジの状態に基づいて判別する判別手段、 
前記ルート計算手段で計算したルートに対して、前記判別手段で冗長ノードに該当すると判別されたノードを除去する一方、冗長ノードに該当しないと判別されたノードを、進路に関して意思決定を必要するノードであるサブゴールとして残し、そして当該ルートを当該サブゴールで区分してセグメンテーションを行うセグメンテーション手段、
前記セグメンテーション後のルートに含まれるサブゴールに前記第１検出ステップで検出したランドマークを示す第１情報を割り付ける割付手段、および
前記割付手段で割り付けて得られたルートパースペクティブモデルに基づいてコミュニケーションを行うロボットを備え、
前記判別手段は、スタートおよびゴール以外の各ノードにおいて、当該ノードのエッジの数が３の場合、当該ノードからルート沿いに出るエッジとの間の角度が鈍角であって、かつ当該ノードから出る２個のエッジの間の角度が直角または鋭角であれば当該ノードは冗長ノードでないと判別する、ルートパースペクティブモデル構築システム。
【請求項９】
座標系が定義された地図を少なくとも記憶する記憶手段、
前記記憶手段に記憶された地図上のルートに従って環境内の路を移動しながら自己位置の検出および路上視の撮影を行うことによって位置情報および画像情報ならびに幾何情報を収集する収集手段、
前記収集手段で収集した画像情報からランドマークを検出する第１検出手段、
前記収集手段で収集した位置情報および幾何情報に基づいてグリッド地図を作成する第１作成手段、
前記第１作成手段で作成したグリッド地図に基づいて、前記環境内の各路をノードおよびエッジの集合で表現したトポロジカル地図を作成する第２作成手段、
前記第２作成手段で作成したトポロジカル地図上でスタートからゴールに至るルートを計算するルート計算手段、
前記ルート計算手段で計算したルートに含まれるノードのうちスタートおよびゴール以外の各ノードが、進路に関して意思決定を必要としない冗長ノードに該当するか否かを当該ノードに接続されたエッジの状態に基づいて判別する判別手段、
前記ルート計算手段で計算したルートに対して、前記判別手段で冗長ノードに該当すると判別されたノードを除去する一方、冗長ノードに該当しないと判別されたノードを、進路に関して意思決定を必要するノードであるサブゴールとして残し、そして当該ルートを当該サブゴールで区分してセグメンテーションを行うセグメンテーション手段、および
前記セグメンテーション後のルートに含まれるサブゴールに前記第１検出ステップで検出したランドマークを示す第１情報を割り付ける割付手段を備え、
前記判別手段は、スタートおよびゴール以外の各ノードにおいて、当該ノードのエッジの数が３の場合、当該ノードからルート沿いに出るエッジとの間の角度が鈍角であって、かつ当該ノードから出る２個のエッジの間の角度が直角または鋭角であれば当該ノードは冗長ノードでないと判別する、ルートパースペクティブモデル構築システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ルートパースペクティブモデル構築方法およびロボットに関し、特にたとえば、環境でルートパースペクティブ（路上視）に基づくモデルを構築する方法、および、構築したルートパースペクティブモデルを用いて路について人と対話するロボットに関する。
【背景技術】
【０００２】
この種の背景技術の一例として、特許文献１には、地図情報に基づいて目的地までの経路を特定し、特定した経路を音声とジェスチャ（目的地の方向を示す身体動作）により案内する、道案内ロボットが開示されている。この背景技術の主な特徴は、経路の複雑さによってジェスチャを行う身体部位を変える点にある。具体的には、経路が複雑でなければ腕を用い、経路が複雑であれば腕と体を用いてジェスチャを行う。一方、音声による案内では、交差点などの曲り角でとるべき行動が、「赤い看板」といったランドマークを用いて「赤い看板が見える向き（右／左）に曲がってください」のように表現される。ランドマークに関する情報は、地図情報と共に予め地図情報データベースに登録されている。
【特許文献１】特開２０１０−０４６７８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
一般に、人が経路案内を行う場合、実際に路上を移動しているとき見えるランドマークを用いることが多い。言い換えると、経路に関する人の理解は、路上から環境を見た視界（ルートビュー）に基づく。
【０００４】
これに対して、上記の背景技術では、ランドマークは単に地図上の位置を示すものであって、実際に路上を移動している人から必ずしも見える（視界に入る）とは限らない。たとえば、ある路を往復する場合、往路で正面に見えた看板は、復路では見えない可能性がある。言い換えると、背景技術における経路の表現は、言わば上空から環境を見た視界（サーベイビュー）に基づくものであり、必ずしも人の理解に適していない。
【０００５】
それゆえに、この発明の主たる目的は、新規な、ルートパースペクティブモデル構築方法およびロボットを提供することである。
【０００６】
この発明の他の目的は、人の理解に適した仕方で路について対話が行える、ルートパースペクティブモデル構築方法およびロボットを提供することである。
【課題を解決するための手段】
【０００７】
この発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施の形態との対応関係を示したものであって、本発明を何ら限定するものではない。
【０００８】
第１の発明は、座標系が定義された地図上のルートに従って環境内の路を移動しながら自己位置の検出および路上視の撮影を行うことによって位置情報および画像情報ならびに幾何情報を収集する収集ステップ、収集ステップで収集した画像情報からランドマークを検出する第１検出ステップ、収集ステップで収集した位置情報および幾何情報に基づいてグリッド地図を作成する第１作成ステップ、第１作成ステップで作成したグリッド地図に基づいて、環境内の各路をノードおよびエッジの集合で表現したトポロジカル地図を作成する第２作成ステップ、第２作成ステップで作成したトポロジカル地図上でスタートからゴールに至るルートを計算するルート計算ステップ、ルート計算ステップで計算したルートに含まれるノードのうちスタートおよびゴール以外の各ノードが、進路に関して意思決定を必要としない冗長ノードに該当するか否かを当該ノードに接続されたエッジの状態に基づいて判別する判別ステップ、ルート計算ステップで計算したルートに対して、判別ステップで冗長ノードに該当すると判別されたノードを除去する一方、冗長ノードに該当しないと判別されたノードを、進路に関して意思決定を必要するノードであるサブゴールとして残し、そして当該ルートを当該サブゴールで区分してセグメンテーションを行うセグメンテーションステップ、およびセグメンテーション後のルートに含まれるサブゴールに第１検出ステップで検出したランドマークを示す第１情報を割り付ける割付ステップを備え、判別ステップでは、スタートおよびゴール以外の各ノードにおいて、当該ノードのエッジの数が３の場合、当該ノードからルート沿いに出るエッジとの間の角度が鈍角であって、かつ当該ノードから出る２個のエッジの間の角度が直角または鋭角であれば当該ノードは冗長ノードでないと判別する、ルートパースペクティブモデル構築方法である。
【０００９】
なお、上記の各ステップは、典型的にはロボットによって実行されるが、これに限らず、位置検出機能および撮影機能を有する自動走行可能な移動体（無人計測車両など）によって実行されてもよい。または、移動を伴う収集ステップだけ移動体で実行し、他のステップは別のコンピュータ装置（ＰＣなど）で実行してもよい。
【００１０】
なお、環境内の路は、たとえば屋内の通路や屋外の道路などであり、地図上のパス（Ｐｉ）に対応する。地図上のパスは、座標系（ｘ，ｙ）に従う点の集合または関係式などで記述される。
【００１１】
単なる「路」，「パス」は、往復の方向（順逆の向き，上り下りともいう）の区別（方向性）を有しておらず、方向性が付加されることで「経路（往路または復路）」，「ルート（往ルートまたは復ルート）」となる。
【００１２】
たとえば、ある路（パスＰｉ）について、一方端および他方端にスタートおよびゴールを設定すれば往路（往ルートＰｉａ）が形成され、スタートおよびゴールの設定を逆にすれば復路（復ルートＰｉｂ）が形成される。また、複数の路（複数のパスＰ１，Ｐ２，…）を含む環境内（地図上）でスタートおよびゴールを設定すれば、当該スタートからゴールに至る経路（ルートＲｊ）が形成される。
【００１３】
なお、地図は、与えられた地図（ＢＭ）でも、自ら収集した情報に基づいて作成した地図（ＧＭ，ＴＭ）でもよい。
【００１４】
なお、ランドマーク（目印）は、ある実施例では、環境内の店舗や施設の名称（看板の文字）であり、光学文字認識（ＯＣＲ）によって検出されるが、他の実施例では、店舗等の名称と関連付けられたマークや図案、あるいは、信号機や横断歩道のような路の付設物でもよく、形状や幾何学模様も対象とするパターン認識によって検出できる。
【００１５】
なお、収集された位置情報および画像情報は、ある実施例では、軌跡情報と位置情報付き連結画像とを含む環境データ（１７６）の態様で記憶される。
【００１６】
なお、第１情報は、ある実施例では文字情報（テキストデータなど）であるが、他の実施例では画像情報（イメージデータなど）でもよい。
【００１７】
第１の発明によれば、環境内の路を移動しながら位置情報および画像情報を収集し、収集結果からランドマークを検出してそれが見える視点位置（経路上の撮影場所）を特定し、そして検出したランドマークを示す第１情報を特定した視点位置に従って地図上のルートに割り付けたことで、人の理解に適した仕方で路について対話が行える、ルートパースペクティブモデル（ＲＰＭ）を構築できる。
さらに、自ら路を移動して収集した情報に基づいてグリッド地図さらにはトポロジカル地図を作成し、作成したトポロジカル地図上でルートパースペクティブモデルを構築するので、障害物の存在など路の現況を反映した経路案内が行える。しかも、ノードおよびエッジで表現されたルートをサブゴールおよびセグメントによる表現に変換したことで、効率的な経路案内が行える。
【００１９】
なお、ある実施例では、前向き（つまり移動方向と同じ向き）の路上視を撮影するが、このような場合でも、路を往復移動することで、往路および復路の一方でしか見えないランドマーク（方向性を有する目印：看板，交通標識など）を検出することができる。他の実施例では、２台のカメラを用いて前向きの路上視と後向きの路上視とを同時に撮影することで、往復移動と同様の効果が得られる。または、単一のカメラの向きを変えながら各向きの路上視を時分割的に撮影してもよい。
【００２０】
ただし、路上視の方向が前向きとは限らない（カメラの向きを変えることができる）場合には、収集ステップでさらに路上視の方向を検出することによって方向情報を収集し、特定ステップではさらに方向情報に基づいて目印を含む路上視の方向を特定し、割付ステップではこうして特定した路上視の方向とルートの方向との関係を考慮して文字情報の配置を行えば、より好ましい。
【００３２】
なお、ある実施例では、図２４（Ａ）に示したノードｂ〜ｅのように、当該ノードに接続されたエッジの数が“２”、つまり、当該ノードに入るエッジと当該ノードから出るエッジとが各１個の場合、これら２個のエッジ間の角度が鈍角であれば当該ノード（ｂ〜ｄ）は冗長ノードであり、直角または鋭角であれば当該ノード（ｅ）は冗長ノードではないと判別する。
【００３３】
また、図２４（Ｂ）および図２４（Ｃ）に示したノードｃのように、当該ノードに接続されたエッジの数が“３”、つまり、当該ノードに入るエッジが１個に対して、当該ノードから出るエッジが２個であれば、後者２個のうち一方がルートに沿うエッジで他方はルートから外れたエッジとなる。この場合、当該ノードに入るエッジと、当該ノードからルート沿いに出るエッジとの間の角度が鈍角であって、かつ、当該ノードから出る２個のエッジの間の角度が直角または鋭角であれば、当該ノード（図２４（Ｂ）のノードｃ）は冗長ノードでないと判別し、一方、当該ノードに入るエッジと、当該ノードからルート沿いに出るエッジとの間の角度が鈍角であって、かつ、当該ノードから出る２個のエッジの間の角度が鈍角であれば、当該ノード（図２４（Ｃ）のノードｃ）は冗長ノードであると判別する。なお、図示は省略するが、当該ノードに入るエッジと、当該ノードからルート沿いに出るエッジとの間の角度が直角または鋭角であれば、そのノードから出る２個のエッジの間の角度によらず、当該ノードは冗長ノードでないと判別されてよい。
【００３５】
第２の発明は、第１の発明に従属するルートパースペクティブモデル構築方法であって、判別ステップで冗長ノードに該当しないと判別したノードについて当該ノードに接続されたエッジの数および角度に基づく、幾何学的な分類である属性を検出する第２検出ステップ（Ｓ７３）をさらに備え、割付ステップでは第２検出ステップで検出した属性を示す第２情報（「突当り／右向きの曲がり角」，「２分岐の交差点」など）をサブゴールにさらに割り付ける。
【００３６】
なお、第２検出ステップで当該ノードの順位（たとえばスタートに近いものから数えて何番目のノードか）に基づく属性をさらに検出し、割付ステップでその属性（「１つ目の角」など）を第２情報に記述してもよい。また、各種の属性を検出する際に、トポロジカル地図に加えて、第１作成ステップで作成したグリッド地図や、収集ステップで収集した位置情報および画像情報なども参照してよい。
【００３７】
第３の発明は、第２の発明に従属するルートパースペクティブモデル構築方法であって、割付ステップではサブゴールにそこで行わせるべき行動を示す第３情報をさらに割り付ける。
【００３８】
なお、第２および第３情報は、ある実施例では、第１情報と同様に文字情報である。
【００３９】
第２および第３の発明によれば、サブゴールに第１〜第３情報を一組として割り付けることで、たとえば「本屋のある突き当りの角を右に曲がる」といった理解し易い経路案内が可能になる。
【００４０】
第４の発明は、第１ないし第３のいずれかの発明に従属するルートパースペクティブモデル構築方法であって、ルート計算ステップではスタートからゴールに至る各ルート（Ｒ１，Ｒ２，…）を計算し、判別ステップ、セグメンテーションステップ、割付ステップは各ルートについて実行される。
第４の発明によれば、スタートからゴールに至る全ての経路を案内できる。
【００４１】
第５の発明は、第４の発明に従属するルートパースペクティブモデル構築方法であって、ルート計算ステップで計算した各ルートの有用性を評価して最適ルートを決定する決定ステップ（Ｓ８３）をさらに備える。
【００４２】
第５の発明によれば、有用性を考慮した最適経路を案内できる。
【００４５】
第６の発明は、第５の発明に従属するルートパースペクティブモデル構築方法であって、割付ステップで各パスを往復する往ルートおよび復ルート（Ｐ１ａ＆Ｐ１ｂ，Ｐ２ａ＆Ｐ２ｂ，…）に含まれるエッジおよび／またはノードに対して第１情報の割付を行うことにより構築された第１ルートパースペクティブモデル（１８２）を第２計算ステップで計算したルートに沿ってスキャンして第１情報を抽出する抽出ステップ（Ｓ７１）をさらに備え、割付ステップでは抽出ステップで抽出した第１情報をサブゴールに割り付けることで第２ルートパースペクティブモデル（１８６）を構築する。
【００４６】
第６の発明によれば、汎用的な第１ルートパースペクティブモデルから経路案内用の第２ルートパースペクティブモデルを容易に構築できる。経路案内以外の用途のルートパースペクティブモデルの構築も容易になる。
【００４７】
第７の発明は、座標系が定義された地図を少なくとも記憶する記憶手段、記憶手段に記憶された地図上のルートに従って環境内の路を移動しながら自己位置の検出および路上視の撮影を行うことによって位置情報および画像情報ならびに幾何情報を収集する収集手段、収集手段で収集した画像情報からランドマークを検出する第１検出手段、収集手段で収集した位置情報および幾何情報に基づいてグリッド地図を作成する第１作成手段、第１作成手段で作成したグリッド地図に基づいて、環境内の各路をノードおよびエッジの集合で表現したトポロジカル地図を作成する第２作成手段、第２作成手段で作成したトポロジカル地図上でスタートからゴールに至るルートを計算するルート計算手段、ルート計算手段で計算したルートに含まれるノードのうちスタートおよびゴール以外の各ノードが、進路に関して意思決定を必要としない冗長ノードに該当するか否かを当該ノードに接続されたエッジの状態に基づいて判別する判別手段、ルート計算手段で計算したルートに対して、判別手段で冗長ノードに該当すると判別されたノードを除去する一方、冗長ノードに該当しないと判別されたノードを、進路に関して意思決定を必要するノードであるサブゴールとして残し、そして当該ルートを当該サブゴールで区分してセグメンテーションを行うセグメンテーション手段、セグメンテーション後のルートに含まれるサブゴールに第１検出ステップで検出したランドマークを示す第１情報を割り付ける割付手段、および割付手段で割り付けて得られたルートパースペクティブモデルに基づいてコミュニケーションを行うコミュニケーション手段を備え、判別手段は、スタートおよびゴール以外の各ノードにおいて、当該ノードのエッジの数が３の場合、当該ノードからルート沿いに出るエッジとの間の角度が鈍角であって、かつ当該ノードから出る２個のエッジの間の角度が直角または鋭角であれば当該ノードは冗長ノードでないと判別する、ロボットである。
【００４８】
第８の発明は、座標系が定義された地図を少なくとも記憶する記憶手段、記憶手段に記憶された地図上のルートに従って環境内の路を移動しながら自己位置の検出および路上視の撮影を行うことによって位置情報および画像情報ならびに幾何情報を収集する収集手段、収集手段で収集した画像情報からランドマークを検出する第１検出手段、収集手段で収集した位置情報および幾何情報に基づいてグリッド地図を作成する第１作成手段、第１作成手段で作成したグリッド地図に基づいて、環境内の各路をノードおよびエッジの集合で表現したトポロジカル地図を作成する第２作成手段、第２作成手段で作成したトポロジカル地図上でスタートからゴールに至るルートを計算するルート計算手段、ルート計算手段で計算したルートに含まれるノードのうちスタートおよびゴール以外の各ノードが、進路に関して意思決定を必要としない冗長ノードに該当するか否かを当該ノードに接続されたエッジの状態に基づいて判別する判別手段、ルート計算手段で計算したルートに対して、判別手段で冗長ノードに該当すると判別されたノードを除去する一方、冗長ノードに該当しないと判別されたノードを、進路に関して意思決定を必要するノードであるサブゴールとして残し、そして当該ルートを当該サブゴールで区分してセグメンテーションを行うセグメンテーション手段、セグメンテーション後のルートに含まれるサブゴールに第１検出ステップで検出したランドマークを示す第１情報を割り付ける割付手段、および割付手段で割り付けて得られたルートパースペクティブモデルに基づいてコミュニケーションを行うロボットを備え、判別手段は、スタートおよびゴール以外の各ノードにおいて、当該ノードのエッジの数が３の場合、当該ノードからルート沿いに出るエッジとの間の角度が鈍角であって、かつ当該ノードから出る２個のエッジの間の角度が直角または鋭角であれば当該ノードは冗長ノードでないと判別する、ルートパースペクティブモデル構築システムである。
第９の発明は、座標系が定義された地図を少なくとも記憶する記憶手段、記憶手段に記憶された地図上のルートに従って環境内の路を移動しながら自己位置の検出および路上視の撮影を行うことによって位置情報および画像情報ならびに幾何情報を収集する収集手段、収集手段で収集した画像情報からランドマークを検出する第１検出手段、収集手段で収集した位置情報および幾何情報に基づいてグリッド地図を作成する第１作成手段、第１作成手段で作成したグリッド地図に基づいて、環境内の各路をノードおよびエッジの集合で表現したトポロジカル地図を作成する第２作成手段、第２作成手段で作成したトポロジカル地図上でスタートからゴールに至るルートを計算するルート計算手段、ルート計算手段で計算したルートに含まれるノードのうちスタートおよびゴール以外の各ノードが、進路に関して意思決定を必要としない冗長ノードに該当するか否かを当該ノードに接続されたエッジの状態に基づいて判別する判別手段、ルート計算手段で計算したルートに対して、判別手段で冗長ノードに該当すると判別されたノードを除去する一方、冗長ノードに該当しないと判別されたノードを、進路に関して意思決定を必要するノードであるサブゴールとして残し、そして当該ルートを当該サブゴールで区分してセグメンテーションを行うセグメンテーション手段、およびセグメンテーション後のルートに含まれるサブゴールに第１検出ステップで検出したランドマークを示す第１情報を割り付ける割付手段を備え、判別手段は、スタートおよびゴール以外の各ノードにおいて、当該ノードのエッジの数が３の場合、当該ノードからルート沿いに出るエッジとの間の角度が鈍角であって、かつ当該ノードから出る２個のエッジの間の角度が直角または鋭角であれば当該ノードは冗長ノードでないと判別する、ルートパースペクティブモデル構築システムである。
第７ないいし第９の発明でも、第１の発明と同様にルートパースペクティブモデルを構築して、人の理解に適した仕方で路について対話が行える。
【発明の効果】
【００４９】
この発明によれば、人の理解に適した仕方で路について対話が行える、ルートパースペクティブモデル構築方法およびロボットが実現される。
【００５０】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００５１】
【図１】この発明の一実施例である移動ロボットの外観図を示す図解図である。
【図２】移動ロボットの電気的構成を示すブロック図である。
【図３】移動ロボットが経路案内を行うための環境モデルの階層構造を示す図解図である。
【図４】環境モデルで管理されるルートビューの一例を示す図解図であり、（Ａ）はスタート位置付近での、（Ｂ）は突き当たり付近での、そして（Ｃ）はゴール付近でのルートビューをそれぞれ示す。
【図５】ルートビューによる経路案内の一例を示す図解図であり、（Ａ）はユーザが路を尋ねる様子を、（Ｂ）は移動ロボットが経路案内を行う様子をそれぞれ示す。
【図６】環境データからのルートパースペクティブモデル（ＲＰＭ）の構築方法の概要を示す図解図であり、（Ａ）は地図の作成処理を、（Ｂ）はルートのセグメンテーション処理を、そして（Ｃ）はセグメンテーション後のルートに含まれるサブゴールへのランドマーク等の割付処理をそれぞれ示す。
【図７】移動ロボットのメモリマップを示す図解図である。
【図８】移動ロボットのＣＰＵ動作の一部を示すフロー図である。
【図９】移動ロボットのＣＰＵ動作の他の一部を示すフロー図である。
【図１０】移動ロボットのＣＰＵ動作のその他の一部を示すフロー図である。
【図１１】移動ロボットのＣＰＵ動作のさらにその他の一部を示すフロー図である。
【図１２】移動ロボットのＣＰＵ動作の他の一部を示すフロー図である。
【図１３】移動ロボットのＣＰＵ動作のその他の一部を示すフロー図である。
【図１４】移動ロボットのＣＰＵ動作のさらにその他の一部を示すフロー図である。
【図１５】移動ロボットのＣＰＵ動作の他の一部を示すフロー図である。
【図１６】移動ロボットのＣＰＵ動作のその他の一部を示すフロー図である。
【図１７】環境データ収集処理の詳細を示す図解図であり、（Ａ）は収集対象となる各パスを、（Ｂ）はあるパスの往ルートへの割付処理を、そして（Ｃ）はそのパスの復ルートへの割付処理をそれぞれ示す。
【図１８】地図作成処理の詳細を示す図解図であり、（Ａ）は幾何情報からのグリッド地図作成処理を、（Ｂ）はグリッド地図からのトポロジカル地図作成処理をそれぞれ示す。
【図１９】汎用ＲＰＭ構築処理を示す図解図であり、（Ａ）はあるパスの往ルートへの、（Ｂ）はそのパスの復ルートへのランドマーク割付処理をそれぞれ示す。
【図２０】経路案内用ＲＰＭ構築処理の一部を示す図解図であり、（Ａ）はスタートおよびゴールの設定処理を、（Ｂ）は設定されたスタートからゴールへの可能なルートの計算処理をそれぞれ示す。
【図２１】経路案内用ＲＰＭ構築処理の他の一部を示す図解図であり、（Ａ）は第１ルートの、（Ｂ）は第２ルートのセグメンテーション処理をそれぞれ示す。
【図２２】経路案内用ＲＰＭ構築処理のその他の一部を示す図解図であり、（Ａ）は第１ルートの、（Ｂ）は第２ルートのパースペクティブモデル構築処理をそれぞれ示す。
【図２３】経路案内用ＲＰＭの構造の一例を示す図解図である。
【図２４】他のルートセグメンテーション処理を示す図解図であり、（Ａ）は分岐のないルートの、（Ｂ）は視認が容易な分岐をもつルートの、そして（Ｃ）は視認が困難な分岐をもつルートのセグメンテーション処理をそれぞれ示す。
【図２５】経路案内用ＲＰＭ構築処理のさらにその他の一部（最適ルート決定処理）を示す図解図である。
【図２６】最適ルート決定のための演算の一例を示す図解図である。
【発明を実施するための形態】
【００５２】
図１を参照して、この発明の一実施例である移動ロボット１０は、自律型のロボットであり、予め記憶した地図（間取り図）情報および自身に備わる各種センサからのセンサ情報に基づいて自律的に動く（移動および動作する）ことができる。
【００５３】
最初、概要を説明する。移動ロボット１０は、複数（たとえば４つ）のレーザレンジファインダ（以下“ＬＲＦ”）４０を備えている。ＬＲＦ４０は、自身から目標ないし周辺環境（通路沿いの壁面，道路沿いの付設物や障害物など）までの距離を計測し、距離データを出力する。移動ロボット１０は、記憶している地図情報に基づいて移動しながら、ＬＲＦ４０からの距離データ（および図２に示す右左の車輪速度センサ１１２ａおよび１１２ｂの出力データ）に基づいて、環境における移動ロボット１０自身の位置（自己位置）および移動方向を計算する。なお、位置や方向に関する情報は、共通の座標系たとえば基本地図（ＢＭ）の座標系（ｘ，ｙ：図３参照）で記述される。
【００５４】
ここで、ＬＲＦは一般に、レーザーを照射し、それが目標で反射して戻ってくるまでの時間に基づいて、当該目標までの距離を計測するものである。ＬＲＦ４０は、たとえば、トランスミッタ（図示せず）から照射したレーザーを回転ミラー（図示せず）で反射させて、前方を扇状に一定角度（たとえば０．５度）ずつスキャンすることで、単に目標までの距離を計測するだけでなく、目標の表面に関する２次元距離情報（表面の形状を角度および距離の２変数で記述した情報）も生成することができる。ＬＲＦ４０からの距離データには、このような２次元距離情報が含まれており、移動ロボット１０は、２次元距離情報に基づいて目標を識別することができる。
【００５５】
なお、移動ロボット１０に搭載されて距離を計測するセンサ（距離センサ）は、ＬＲＦに限らず、たとえば赤外線距離センサ，レーダ，ソナーなどでもよい。
【００５６】
移動ロボット１０では、記憶している地図情報とＬＲＦ４０からの距離データ（２次元距離情報）を含む各種のセンサ情報とに基づいて動き制御情報が生成され、この生成された動き制御情報に基づいて各種モータ（９２〜９８，１１０，３６ａおよび３６ｂ）やスピーカ（６４）が駆動される。こうして、移動ロボット１０の自律的な動き（自動走行，発話動作，指差し動作など）が実現される。
【００５７】
また、移動ロボット１０は、相互作用指向のロボットでもあり、人のようなコミュニケーション対象との間で、身振り手振りのような身体動作あるいは音声による会話（対話）といったコミュニケーション行動を実行する機能も有している。
【００５８】
特に、移動ロボット１０は、環境内を自動走行して環境データを収集し、環境データから環境モデルを構築し、そして環境モデルに基づいて路について人（ユーザＵｒ）と対話する（たとえば経路案内を行う：図５参照）ことができる。
【００５９】
次に、各要素について詳しく説明する。図１はこの実施例の移動ロボット１０の外観を示す正面図である。図１を参照して、移動ロボット１０は台車３０を含み、台車３０の下面には右車輪３２ａおよび左車輪３２ｂ（特に区別しない場合には「車輪３２」と記す）ならびに１つの従輪３４が設けられる。右車輪３２ａおよび左車輪３２ｂは、右車輪モータ３６ａおよび左車輪モータ３６ｂ（図２参照）によってそれぞれ独立に駆動され、台車３０ひいては移動ロボット１０全体を前後左右の任意方向に動かすことができる。また、従輪３４は車輪３２を補助する補助輪である。
【００６０】
台車３０の上には、円柱形のセンサ取り付けパネル３８が設けられ、このセンサ取り付けパネル３８には、多数の赤外線距離センサ４０が取り付けられる。これらの赤外線距離センサ４０は、センサ取り付けパネル３８つまり移動ロボット１０自身と、その周囲の物体（人間や障害物など）との距離を測定するものである。
【００６１】
なお、この実施例では、距離センサとして、赤外線距離センサを用いるようにしてあるが、赤外線距離センサに代えて、小型のＬＲＦ、超音波距離センサまたはミリ波レーダなどを用いることもできるし、これらを適宜組み合わせて用いてもよい。
【００６２】
センサ取り付けパネル３８の上には、胴体４２が直立するように設けられる。また、胴体４２の前方中央上部（人の胸に相当する位置）には、上述した赤外線距離センサ４０がさらに設けられており、これによって前方の対象たとえば人間との距離を計測する。また、胴体４２には、その側面側上端部のほぼ中央から伸びる支柱４４が設けられ、支柱４４の上には、アンテナ１１８ならびに全方位カメラ４６が設けられる。
【００６３】
アンテナ１１８は、図示しない外部コンピュータ（たとえばＰＣ）と無線通信を行うためのアンテナであり、ＰＣからの無線信号を受信し、ＰＣに無線信号を送信する。全方位カメラ４６は、移動ロボット１０の周囲を撮影するものであり、後述する眼カメラ７０とは区別される。全方位カメラ４６としては、たとえばＣＣＤやＣＭＯＳのような固体撮像素子を用いるカメラを採用することができる。なお、これら赤外線距離センサ４０，アンテナ１１８および全方位カメラ４６の設置位置は、当該部位に限定されず適宜変更されてもよい。
【００６４】
胴体４２の両側面上端部（人の肩に相当する位置）には、それぞれ、肩関節４８Ｒおよび肩関節４８Ｌによって、上腕５０Ｒおよび上腕５０Ｌが設けられる。図示は省略するが、肩関節４８Ｒおよび肩関節４８Ｌは、それぞれ、直交する３軸の自由度を有する。すなわち、肩関節４８Ｒは、直交する３軸のそれぞれの軸廻りにおいて上腕５０Ｒの角度を制御できる。肩関節４８Ｒの或る軸（ヨー軸）は、上腕５０Ｒの長手方向（または軸）に平行な軸であり、他の２軸（ピッチ軸およびロール軸）は、その軸にそれぞれ異なる方向から直交する軸である。同様にして、肩関節４８Ｌは、直交する３軸のそれぞれの軸廻りにおいて上腕５０Ｌの角度を制御できる。肩関節４８Ｌの或る軸（ヨー軸）は、上腕５０Ｌの長手方向（または軸）に平行な軸であり、他の２軸（ピッチ軸およびロール軸）は、その軸にそれぞれ異なる方向から直交する軸である。
【００６５】
また、上腕５０Ｒおよび上腕５０Ｌのそれぞれの先端には、肘関節５２Ｒおよび肘関節５２Ｌが設けられる。図示は省略するが、肘関節５２Ｒおよび肘関節５２Ｌは、それぞれ１軸の自由度を有し、この軸（ピッチ軸）の軸回りにおいて前腕５４Ｒおよび前腕５４Ｌの角度を制御できる。
【００６６】
前腕５４Ｒおよび前腕５４Ｌのそれぞれの先端には、人の手に相当する球体５６Ｒおよび球体５６Ｌがそれぞれ固定的に設けられる。ただし、指や掌の機能が必要な場合には、人間の手の形をした「手」を用いることも可能である。また、図示は省略するが、台車３０の前面、肩関節４８Ｒと肩関節４８Ｌとを含む肩に相当する部位、上腕５０Ｒ、上腕５０Ｌ、前腕５４Ｒ、前腕５４Ｌ、球体５６Ｒおよび球体５６Ｌには、それぞれ、接触センサ５８（図２で包括的に示す）が設けられる。台車３０の前面の接触センサ５８は、台車３０への人間や他の障害物の接触を検知する。したがって、移動ロボット１０は、その自身の移動中に障害物との接触が有ると、それを検知し、直ちに車輪３２の駆動を停止して移動ロボット１０の移動を急停止させることができる。また、その他の接触センサ５８は、当該各部位に触れたかどうかを検知する。なお、接触センサ５８の設置位置は、当該部位に限定されず、適宜な位置（人の胸、腹、脇、背中および腰に相当する位置）に設けられてもよい。
【００６７】
胴体４２の中央上部（人の首に相当する位置）には首関節６０が設けられ、さらにその上には頭部６２が設けられる。図示は省略するが、首関節６０は、３軸の自由度を有し、３軸の各軸廻りに角度制御可能である。或る軸（ヨー軸）は移動ロボット１０の真上（鉛直上向き）に向かう軸であり、他の２軸（ピッチ軸、ロール軸）は、それぞれ、それと異なる方向で直交する軸である。
【００６８】
頭部６２には、人の口に相当する位置に、スピーカ６４が設けられる。スピーカ６４は、移動ロボット１０が、それの周辺の人間に対して音声ないし音によってコミュニケーションを取るために用いられる。また、人の耳に相当する位置には、マイク６６Ｒおよびマイク６６Ｌが設けられる。以下、右のマイク６６Ｒと左のマイク６６Ｌとをまとめてマイク６６と言うことがある。マイク６６は、周囲の音、とりわけコミュニケーションを実行する対象である人間の音声を取り込む。さらに、人の目に相当する位置には、眼球部６８Ｒおよび眼球部６８Ｌが設けられる。眼球部６８Ｒおよび眼球部６８Ｌは、それぞれ眼カメラ７０Ｒおよび眼カメラ７０Ｌを含む。以下、右の眼球部６８Ｒと左の眼球部６８Ｌとをまとめて眼球部６８と言うことがある。また、右の眼カメラ７０Ｒと左の眼カメラ７０Ｌとをまとめて眼カメラ７０と言うことがある。
【００６９】
眼カメラ７０は、移動ロボット１０自身から見える前方の視界（たとえばルートビュー）や、移動ロボット１０に接近した人間の顔や他の部分ないし物体などを撮影して、それに対応する映像信号を取り込む。また、眼カメラ７０は、上述した全方位カメラ４６と同様のカメラを用いることができる。たとえば、眼カメラ７０は、眼球部６８内に固定され、眼球部６８は、眼球支持部（図示せず）を介して頭部６２内の所定位置に取り付けられる。図示は省略するが、眼球支持部は、２軸の自由度を有し、それらの各軸廻りに角度制御可能である。たとえば、この２軸の一方は、頭部６２の上に向かう方向の軸（ヨー軸）であり、他方は、一方の軸に直交しかつ頭部６２の正面側（顔）が向く方向に直行する方向の軸（ピッチ軸）である。眼球支持部がこの２軸の各軸廻りに回転されることによって、眼球部６８ないし眼カメラ７０の先端（正面）側が変位され、カメラ軸すなわち視線方向が移動される。なお、上述のスピーカ６４、マイク６６および眼カメラ７０の設置位置は、当該部位に限定されず、適宜な位置に設けられてよい。
【００７０】
このように、この実施例の移動ロボット１０は、車輪３２の独立２軸駆動、肩関節４８の３自由度（左右で６自由度）、肘関節５２の１自由度（左右で２自由度）、首関節６０の３自由度および眼球支持部の２自由度（左右で４自由度）の合計１７自由度を有する。
【００７１】
図２は移動ロボット１０の電気的な構成を示すブロック図である。図２を参照して、移動ロボット１０は、ＣＰＵ８０を含む。ＣＰＵ８０は、マイクロコンピュータ或いはプロセッサとも呼ばれ、バス８２を介して、メモリ８４、モータ制御ボード８６、センサ入力／出力ボード８８および音声入力／出力ボード９０に接続される。ＣＰＵ８０は、ＲＴＣ(Real Time Clock)８０ａを含んでおり、各センサからの信号ないしデータ（センサ情報）に対してＲＴＣに基づく時刻データを付加する。
【００７２】
メモリ８４は、図示は省略をするが、不揮発メモリ（保存領域）としてＳＳＤ(Solid State Drive)およびＲＯＭと、揮発メモリ（一時記憶領域）としてＲＡＭとを含む。ＳＳＤ，ＲＯＭつまり保存領域（１４０：図７参照）には、移動ロボット１０自身の動きやＰＣとの間の通信を制御するための各種の制御プログラム，地図情報など（後述）が予め記憶される。ＲＡＭつまり一時記憶領域（１６０：図７参照）は、ワークメモリないしバッファメモリとして、送受信データを一時保持したり、制御プログラムによって参照される各種の情報（後述）を更新可能に記憶したりする。
【００７３】
モータ制御ボード８６は、たとえばＤＳＰで構成され、各腕や首関節および眼球部などの各軸モータの駆動を制御する。すなわち、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、右眼球部６８Ｒの２軸のそれぞれの角度を制御する２つのモータ（図２では、まとめて「右眼球モータ９２」と示す。）の回転角度を制御する。同様に、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、左眼球部６８Ｌの２軸のそれぞれの角度を制御する２つのモータ（図２では、まとめて「左眼球モータ９４」と示す。）の回転角度を制御する。
【００７４】
また、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、肩関節４８Ｒの直交する３軸のそれぞれの角度を制御する３つのモータと肘関節５２Ｒの角度を制御する１つのモータとの計４つのモータ（図２では、まとめて「右腕モータ９６」と示す。）の回転角度を制御する。同様に、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、肩関節４８Ｌの直交する３軸のそれぞれの角度を制御する３つのモータと肘関節５２Ｌの角度を制御する１つのモータとの計４つのモータ（図２では、まとめて「左腕モータ９８」と示す。）の回転角度を制御する。
【００７５】
さらに、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、首関節６０の直交する３軸のそれぞれの角度を制御する３つのモータ（図２では、まとめて「頭部モータ１１０」と示す。）の回転角度を制御する。そして、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、右車輪３２ａを駆動する右車輪モータ３６ａ、左車輪３２ｂを駆動する左車輪モータ３６ｂの回転角度を、それぞれ個別に制御する。なお、この実施例では、車輪モータ３６を除くモータは、制御を簡素化するためにステッピングモータ（すなわち、パルスモータ）を用いる。ただし、車輪モータ３６と同様に直流モータを用いるようにしてもよい。また、移動ロボット１０の身体部位を駆動するアクチュエータは、電流を動力源とするモータに限らず適宜変更されてもよい。たとえば、他の実施例では、エアアクチュエータなどが適用されてもよい。
【００７６】
センサ入力／出力ボード８８は、モータ制御ボード８６と同様に、たとえばＤＳＰで構成され、各センサからの信号（センサ情報）を取り込んでＣＰＵ８０に与える。すなわち、赤外線距離センサ４０のそれぞれからの反射時間に関するデータがこのセンサ入力／出力ボード８８を通じてＣＰＵ８０に入力される。また、全方位カメラ４６からの映像信号が、必要に応じてセンサ入力／出力ボード８８で所定の処理を施してからＣＰＵ８０に入力される。眼カメラ７０からの映像信号も、同様に、ＣＰＵ８０に入力される。また、上述した複数の接触センサ５８（図２では、まとめて「接触センサ５８」と示す。）からの信号がセンサ入力／出力ボード８８を介してＣＰＵ８０に与えられる。
【００７７】
また、センサ入力／出力ボード８８には、右車輪３２ａの回転速度（車輪速）を検出する右車輪速センサ１１２ａ、左車輪３２ｂの回転速度を検出する左車輪速センサ１１２ｂがさらに接続される。そして、右車輪速センサ１１２ａおよび左車輪速センサ１１２ｂからのそれぞれから、一定時間における右車輪３２ａおよび左車輪３２ｂの回転数（車輪速）に関するデータが、センサ入力／出力ボート８８を通じて、ＣＰＵ８０に入力される。
【００７８】
音声入力／出力ボード９０も、他の入力／出力ボードと同様にたとえばＤＳＰで構成され、図２ではＣＰＵ８０，メモリ８４または音声入力／出力ボード９０から与えられる音声合成データに従った音声または声がスピーカ６４から出力される。また、マイク６６からの音声入力が、音声入力／出力ボード９０を介してＣＰＵ８０に与えられる。
【００７９】
また、ＣＰＵ８０は、バス８２を介して通信ＬＡＮボード１１４に接続される。通信ＬＡＮボード１１４は、たとえばＤＳＰで構成され、ＣＰＵ８０から与えられた送信データを無線通信回路１１６に与え、無線通信回路１１６は送信データを、アンテナ１１８からネットワーク２００を介して図示しないＰＣ，遠隔操作装置など（以下“ＰＣ等”）に送信する。また、通信ＬＡＮボード１１４は、無線通信回路１１６を介してアンテナ１１８でＰＣ等からデータを受信し、受信したデータをＣＰＵ８０に与える。
【００８０】
図３には、以上のように構成された移動ロボット１０が路について人と対話する（たとえば人に経路案内を行う）ための環境モデルが示される。図３を参照して、この環境モデルは、下位層である環境データ層と、中位層であるサーベイビュー層と、上位層であるルートビュー層とで構成され、共通の座標系たとえば基本地図（ＢＭ）の座標系（ｘ，ｙ）に従う。
【００８１】
サーベイビューとは、環境の外部（たとえば上空）から環境を俯瞰した視界（俯瞰視）であり、ルートビューとは、環境内の路上から環境を見渡した視界（路上視）を意味する。言い換えると、サーベイビューが客観的(objective)な視点に基づく環境認識であるのに対し、ルートビューは主観的(subjective)な視点に基づく環境認識である。このため、サーベイビューによる経路案内では絶対方向（東西南北）が多用されるのと対照的に、ルートビューによる対話では専ら相対方向（左右）が使用される。
【００８２】
下位層である環境データ層は、環境データを管理するための層である。環境データは、環境内の路を移動しながら各種センサ（４０，４６，５８，７０，１１２ａおよび１１２ｂ）で計測を行うことにより収集されるデータであり、この実施例では、右左の車輪速センサ１１２ａおよび１１２ｂの出力に基づく軌跡情報と、ＬＲＦ４０の出力に基づく幾何情報と、眼カメラ７０の出力に基づく連結画像とを含む。
【００８３】
より詳しくは、主として右左の車輪速センサ１１２ａおよび１１２ｂの出力に基づいて、まず移動ロボット１０の自己位置が計算され、計算結果を示す位置情報を蓄積することで、移動ロボット１０の移動軌跡を示す軌跡情報が得られる。また、右左の車輪速センサ１１２ａおよび１１２ｂからの位置情報とＬＲＦからの２次元距離情報とに基づいて、移動ロボット１０が移動可能な領域つまり環境内の路（地図上のパス）を示す幾何情報が得られる。
【００８４】
一方、眼カメラ７０は、たとえば毎秒３０フレームのレートでルートビューの画像を撮影しており、撮影した各画像に計算した位置情報を付加することで、各画像を撮影したときの自己位置つまり視点位置を示す位置情報付きの連結画像（適宜「連結画像」と略記する）が構成される。言い換えると、連結画像とは、各画像を移動軌跡に沿って配列した画像である。なお、全方位カメラ４６の出力に基づく画像情報や接触センサ５８の出力に基づく触覚情報なども環境データに含めてよい。
【００８５】
中位層であるサーベイビュー層は、グリッド地図（ＧＭ）およびトポロジカル地図（ＴＭ）を管理するための層である。グリッド地図（ＧＭ）は、環境内の各路をグリッド（図示せず）の集合で表現した地図であり、上述した軌跡情報および幾何情報に基づいて作成される。トポロジカル地図（ＴＭ）は、環境内の各路をノード（Ｎ１，Ｎ２，…）およびエッジ（Ｅ１，Ｅ２，…）の集合で表現した地図であり、グリッド地図（ＧＭ）に基づいて作成される。
【００８６】
上位層であるルートビュー層は、ルートパースペクティブモデル（適宜“ＲＰＭ”のように略記）を管理するための層である。ＲＰＭは、連結画像から検出されたランドマーク（目印）をトポロジカル地図（ＴＭ）上のルートに割り付けることにより得られる。ランドマークは、この実施例では、環境内の店舗や施設の名称（看板の文字）であり、光学文字認識（ＯＣＲ）によって検出される。たとえば、図４（Ａ）〜図４（Ｃ）の画像からは、“ＢＯＵＴＩＱＵＥ”，“ＢＯＯＫＳＴＯＲＥ”，“ＧＬＡＳＳＥＳ  ＳＨＯＰ”がそれぞれ検出される。トポロジカル地図（ＴＭ）上のルートには、検出されたランドマークつまり店舗等の名称（文字情報：たとえば“ＢＯＯＫＳＴＯＲＥ”に対応するテキストデータ）が割り付けられる。
【００８７】
なお、ランドマークは、店舗等の名称と関連付けられたマークや図案、あるいは、信号機や横断歩道のような路の付設物でもよく、形状や幾何学模様も対象とするパターン認識によって検出できる。ルートには、検出された店舗等の名称のほか、検出された付設物の名称（たとえば“信号”，“横断歩道”）などがランドマークとして割り付けられる。
【００８８】
また、ランドマークは、ここでは文字情報の態様でルートに割り付けられるが、連結画像から抽出された画像情報を割り付けておき、経路案内を行う際に文字情報に変換する方法もある。
【００８９】
図４には、図３のトポロジカル地図（ＴＭ）上に矢印付の折れ線で示されたルート、つまり環境内のスタート（Ａ地点）からゴール（Ｂ地点）に至る経路上でのルートビューの例が示される。図４（Ａ）はＡ地点の手前でのルートビューを、図４（Ｂ）は曲がり角（突き当）の手前でのルートビューを、そして図４（Ｃ）はＢ地点の手前でのルートビューをそれぞれ示す。
【００９０】
図５には、図４のようなルートビューによる経路案内の一例が示される。図５（Ａ）はユーザＵｒからめがね店までの経路を尋ねられている場面を、図５（Ｂ）はユーザＵｒにめがね店までの経路を案内している場面をそれぞれ示す。移動ロボット１０は、図５（Ａ）に示すように「めがね店はどこですか」と尋ねられると、進むべき方向を手で示しながら「この通路（洋品店の横の路）をまっすぐ進んで突き当たりの角を右に曲がるとすぐ次の角のところに（めがね店が）あります」のように発話することで、現在位置からめがね店までの経路を案内する。
【００９１】
図５に示したようなルートビューによる経路案内を行うための環境モデルがルートパースペクティブモデルであり、Ａ地点からＢ地点に至るルートのパースペクティブモデルは、たとえば図６に示す手順で構築される。
【００９２】
移動ロボット１０は、事前に環境内の全ての路を往復走行して環境データを収集しており、最初、こうして収集した環境データに含まれる軌跡情報および幾何情報から、図６（Ａ）に示すようなグリッド地図さらにはトポロジカル地図を作成する。このトポロジカル地図には、ノードＮ１〜Ｎ５およびエッジＥ１〜Ｅ４が含まれている。ノードＮ１〜Ｎ５の座標ならびにエッジＥ１〜Ｅ４の長さおよび方向は、基本地図の座標系（ｘ，ｙ）に従って記述される。
【００９３】
次に、上記のトポロジカル地図上で、図６（Ｂ）に示すように、Ａ地点およびＢ地点に対応するノードＮ１およびＮ５をスタートおよびゴールに設定すると、スタートであるノードＮ１からエッジＥ１，ノードＮ２，エッジＥ３，ノードＮ４およびエッジＥ４を経てゴールであるノードＮ５に至るルートＲが形成される。このルートＲは、ルートセグメンテーションによって、ノードおよびエッジによる表現からセグメントおよびサブゴールによる表現へと変換される。
【００９４】
ルートセグメンテーションでは、ルートＲに含まれるスタートおよびゴール以外の各ノード（ここではノードＮ２およびＮ４）について冗長ノードであるか否かの判別を行い、冗長ノードであると判別されたノード（ここではノードＮ２）を除去する一方、冗長ノードでないと判別されたノード（ここではノードＮ４）をサブゴール（ＳＧ）として残す。そして、ルートＲをサブゴール（ＳＧ）でセグメンテーション群（Ｓｇｍ１およびＳｇｍ２）に区分する。言い換えると、スタートとサブゴールＳＧとの間の２つのエッジＥ１およびＥ２は、これらを接続するノードＮ２が削除されたために統合されて１つのセグメントＳｇｍ１となり、サブゴールＳＧとゴールとの間のエッジＥ４は単独でセグメントＳｇｍ２となる。
【００９５】
次に、セグメンテーション後のルートＲに含まれるサブゴールＳＧに対して、図６（Ｃ）に示すように、エッジＥ３（セグメントＳｇｍ１の後半部分）に対応する連結画像から抽出されたランドマークである“ＢＯＯＫＳＴＯＲＥ”が、サブゴールＳＧの属性を示す“突当り／右向きの曲がり角”およびサブゴールＳＧで行うべき行動を示す“（本屋のある突当りの角を）右に曲がる”と共に割り付けられる。
【００９６】
移動ロボット１０は、図６（Ｃ）のように構築されたルートパースペクティブモデルを参照することで、図５（Ｂ）に示すような案内音声を出力する（発話動作を行う）ことができる。
【００９７】
なお、ルートＲに含まれるスタートおよびゴールに対しても、上記と同様の割付を行ってよい。詳しくは、スタートに対して、エッジＥ１（セグメントＳｇｍ１の前半部分）に対応する連結画像から抽出されたランドマークである“ＢＯＵＴＩＱＵＥ”が、スタート直後に行うべき行動を示す“（洋品店の横の路を）まっすぐ進む”と共に割り付けられてよい。ゴールに対しては、エッジＥ４（セグメントＳｇｍ２）に対応する連結画像から抽出されたランドマークである“ＧＬＡＳＳＥＳ  ＳＨＯＰ”が、ゴール直前に行うべき行動を示す“（次の角まで）まっすぐ進む（とめがね店が見える）”と共に割り付けられてよい。
【００９８】
なお、上述した例では、路を尋ねられたときルートを検出し、そのルートのパースペクティブモデルを構築して経路案内を行ったが、事前に全てのルートを検出して各ルートのパースペクティブモデルを構築しておき、路を尋ねられたら該当するルートパースペクティブモデルを取出して経路案内を行うようにしてもよい。
【００９９】
また、上述した例では、経路案内用ＲＰＭつまりスタートからゴールに至るルートのパースペクティブモデルを構築したが、スタートおよびゴールを特定せずに単なる路（方向性を持たないパス）について対話するためのＲＰＭを構築してもよい。このようなＲＰＭとしては、たとえば各路沿いの店舗を紹介する店舗紹介用ＲＰＭが挙げられる。さらには、環境内の各路について往復ルートを網羅したルートパースペクティブモデルを汎用ＲＰＭとして構築しておき、この汎用ＲＰＭから必要に応じて経路案内用ＲＰＭや店舗案内用ＲＰＭを再構築してもよい。
【０１００】
以下には、環境内の各路を自動走行して環境データを収集し、環境データから汎用ＲＰＭを構築し、そして汎用ＲＰＭから経路案内用ＲＰＭを再構築して経路案内を行う場合の処理について、図７のメモリマップ、図８〜図１６のフローチャートおよび図１７〜図２６の図解図を用いて詳しく説明する。
【０１０１】
図７を参照して、メモリ８４は保存領域１４０および一時記憶領域１６０を含み、保存領域１４０には環境モデル構築プログラム１４２，経路案内プログラム１４４，動き制御プログラム１４６および発話テンプレート１４８が記憶される。環境モデル構築プログラム１４２は、環境データ１７６を収集して環境モデル（１８０，１８２，１８４，１８８）を構築するためのプログラムであり、図８〜図１４のフローチャートに対応する。経路案内プログラム１４４は、環境モデル（１８０，１８２，１８４，１８８）を用いて経路案内を行うためのプログラムであり、図１５のフローチャートに対応する。
【０１０２】
動き制御プログラム１４６は、動き制御情報１６８に基づいて移動ロボット１０の動き（移動および動作）を制御するためのプログラムであり、図１６のフローチャートに対応する。動き制御プログラム１４６には、移動制御プログラム１４６ａおよび動作制御プログラム１４６ｂが含まれる。移動制御プログラム１４６ａはそれぞれ、図１６のステップＳ１５３およびＳ１５７に対応する。
【０１０３】
発話テンプレート１４８は、経路案内用の発話テンプレートであり、たとえば「この路を［まっすぐ，突当りまで］進む」，「［突き当たり，１つ目］の角を［右，左］に曲がる」，「［１，２］番目の交差点を［右折，左折］する」といった定形文を含む。１つの定形文または複数の定形文の組み合わせに対して、ルートパースペクティブモデル（１８８）から抽出されるランドマーク（本屋），属性（突当り）および行動（右に曲がる）を適用することで、図５（Ｂ）に示したような案内文（文字情報）が作成される。
【０１０４】
なお、経路案内プログラム１４４は、環境モデル構築プログラム１４２による構築処理が完了した後に実行される。動き制御プログラム１４６は、環境モデル構築プログラム１４２または経路案内プログラム１４４と並列に（バックグラウンドで）実行される。
【０１０５】
一時記憶領域１６０には、基本地図（ＢＭ）１６２，店名ＤＢ（データベース）１６４，パス情報１６６，動き制御情報１６８，位置情報１７０，２次元距離情報１７２，カメラ画像１７４，環境データ１７６，グリッド地図１７８，トポロジカル地図１８０，汎用ＲＰＭ１８２，スタート＆ゴール情報１８４および経路案内用ＲＰＭ１８６が更新可能に記憶される。
【０１０６】
基本地図１６２は、移動ロボット１０が環境内を自動走行するための地図であり、位置検出および経路検索が可能な汎用的な地図が用いられる。基本地図１６２によって、環境モデルを構築するための座標系（ｘ，ｙ）が定義される。なお、移動ロボット１０自身が過去に作成したグリッド地図（ＧＭ）１７８および／またはトポロジカル地図（ＴＭ）１８０を基本地図１６２として用いてもよい。店名ＤＢ１６４は、環境内に存在する店舗等の名称（文字情報）が記述されたデータベースである。基本地図１６２および店名ＤＢ１６４は、環境データ１７６の収集を開始する前に、図示しないＰＣ等から通信ＬＡＮボード１１４および無線通信回路１１６を通して一時記憶領域１６０内に取り込まれる。
【０１０７】
パス情報１６６は、環境内の走行可能な各路と対応する各パス（Ｐ１，Ｐ２，…：図１７（Ａ）参照）を示す情報であり、基本地図１６２から計算される。各パスは、両端を有する直線または曲線（両端を連結したループでもよい）であり、互いに接続されることで、環境内の道路（通路）網に対応するパス網が形成される。言い換えると、パスの計算とは、このようなパス網を適宜な数のパスに区分することである。
【０１０８】
動き制御情報１６８は、移動ロボット１０自身の動きを制御する（各種モータ３６ａ，３６ｂ，９２〜９８および１１０を駆動する）ための情報であり、移動を制御する（主として右左の車輪モータ３６ａおよび３６ｂを駆動する）ための移動制御情報１６８ａと、動作を制御する（主として右左の眼球モータ９２および９４，右左の腕モータ９６および９８ならびに頭部モータ１１０を駆動する）ための動作制御情報１６８ｂとを含む。
【０１０９】
位置情報１７０は、移動ロボット１０自身の位置（自己位置）を示す情報であり、自己位置は、主として右および左の車輪速センサ１１２ａおよび１１２ｂの出力および基本地図１６２に基づいて検出される。２次元距離情報１７２は、移動ロボット１０から環境の表面（路沿いの側壁等）までの距離に関する情報であり、ＬＲＦ４０の出力に基づいて検出される。カメラ画像１７４は、路上を移動中に眼カメラ７０で撮影された画像（１フレームの静止画）であり、前述した路上視（ルートビュー）を示す。なお、位置情報１７０および２次元距離情報１７２はたとえば１／５０秒の周期で、カメラ画像１７４はたとえば１／３０秒周期でそれぞれ更新される。
【０１１０】
環境データ１７６は、位置情報１７０，２次元距離情報１７２およびカメラ画像１７４に基づいて作成されるデータであり、図３に示した軌跡情報，幾何情報および連結画像を含む。軌跡情報は、位置情報１７０を蓄積することにより作成される情報であり、移動ロボット１０の移動軌跡を示す。幾何情報は、軌跡情報に沿って２次元距離情報１７２を整列させることにより作成される情報であり、路の輪郭（路の領域と路以外の領域との境界線）を示す。連結画像は、カメラ画像１７４に位置情報１７０を付加したものを蓄積することにより作成される画像であり、路上の各位置で捉えられる視界（ルートビュー）を示す。つまり、連結画像とは、一連の静止画を連結して得られる動画であって、各静止画に自己位置（つまりその静止画の視点位置）が記録された画像をいう。そして、このような環境データ１７６は、各路を往復移動しながら作成され、各路で作成された往復分の環境データ１７６が、対応する各パスに割り付けられる（図１７参照：後述）。
【０１１１】
グリッド地図１７８は、環境データ１７６に含まれる各パスの幾何情報を統合することにより作成される地図であり、たとえば路か路以外かを示すグリッドの集合で表現される。トポロジカル地図１８０は、グリッド地図１７８から所定のアルゴリズムに従って作成される地図であり、グリッド地図１７８上の特徴点（突き当たりや交差点）に対応するノード（Ｎ１，Ｎ２，…）、およびノード間を接続するエッジ（Ｅ１，Ｅ２，…）の集合で表現される。各ノードの位置ならびに各エッジの長さおよび方向は、グリッド地図１７８上での特徴点の位置ならびに特徴点間を接続する区間の長さおよび方向を反映している（図１８参照）。
【０１１２】
汎用ＲＰＭ１８２は、トポロジカル地図１８０上の各パス（Ｐｉ）を往復する往復ルート（ＰｉａおよびＰｉｂ）のパースペクティブモデルであり、環境データ１７６に含まれる連結画像に基づいて作成される。スタート＆ゴール情報１８４は、トポロジカル地図１８０上で設定されたスタート＆ゴールを示す情報である。経路案内用ＲＰＭ１８６は、トポロジカル地図１８０上で設定されたスタートからゴールに至るルートのパースペクティブモデルであり、汎用ＲＰＭ１８２に基づいて作成される。
【０１１３】
ＣＰＵ８０は、メモリ８４に記憶された各種のプログラム（１４２〜１４６）およびデータ（１４８，１６２〜１８６）に基づいて、図８〜図１６に示すフローに従う処理を実行する。まず図８を参照して、最初、ステップＳ１で初期処理を実行する。初期処理では、事前に準備された基本地図１６２および店名ＤＢ１６４が、通信ＬＡＮボード１１４等を通じてメモリ８４内に取り込まれる。次に、ステップＳ３で、環境内を自動走行して環境データ１７６を収集する。この環境データ収集処理は、詳しくは、図９に示すフローに従って実行される。
【０１１４】
図９を参照して、まずステップＳ２１で、基本地図１６２上で走行可能な全てのパス（Ｐ１〜Ｐｎ：ｎは１以上の整数）を計算する。たとえば、図１７（Ａ）に点線で示した基本地図（ＢＭ）から、互いに接続された（または交差する）４つのパスＰ１〜Ｐ４が計算される。次に、ステップＳ２３で変数ｉに初期値“１”をセットし、ステップＳ２５では、パスＰｉを往復走行するための移動制御情報１６８ａを生成する。この移動制御情報１６８ａは、バックグラウンドで実行されている動き制御処理（図１６参照：後述）に渡され、これによりパスＰｉの往復走行が実現される。
【０１１５】
ステップＳ２７では、自己位置の検出を行いながらパスＰｉを往復走行して環境データ１７６を収集する。こうして収集された往路側環境データおよび復路側環境データは、次のステップＳ２９で、図１７（Ｂ）および図１７（Ｃ）に示すようにパスＰｉの往ルートＰｉａおよび復ルートＰｉｂそれぞれに割り付けられる。なお、環境データ１７６に含まれる軌跡情報，幾何情報および連結画像は、基本地図１６２の座標系（ｘ，ｙ）で記述された位置情報を含んでいるので、基本地図１６２上で定義された往ルートＰｉａおよび復ルートＰｉｂへの割付が行える。
【０１１６】
次に、ステップＳ３１で変数ｉをインクリメントした後、変数ｉがパス数ｎを超えたか否かを判別し、ＮＯであればステップＳ２５に戻って上記と同様の処理を繰り返す。これにより、パスＰ２，Ｐ３，…についても、図１７（Ｂ）および図１７（Ｃ）と同様に、往ルート（Ｐ２ａ，Ｐ２ａ，…）および復ルート（Ｐ２ｂ，Ｐ２ｂ，…）それぞれに環境データ１７６が割り付けられて行く。ステップＳ３３でＹＥＳであれば、上位のフロー（図８）に戻る。この時点で、全パスＰ１〜Ｐｎの往復分の環境データ１７６がメモリ８４内に記憶される結果となる。
再び図８を参照して、次のステップＳ５では、環境データ１７６に含まれる幾何情報から、たとえば図１８（Ａ）に示すようなグリッド地図１７８を作成する。グリッド地図１７８の作成にあたっては、幾何情報の整合性を高めるために、たとえば大域的緩和法などの手法が用いられる。その次のステップＳ７では、グリッド地図１７８から、たとえば図１８（Ｂ）に示すようなトポロジカル地図１８０を作成する。このトポロジカル地図１８０は、１０個のノード（Ｎ１〜Ｎ１０）および１０個のエッジ（Ｅ１〜Ｅ１０）で構成される。そしてステップＳ９に進み、トポロジカル地図１８０上で汎用ＲＰＭ１８２を構築する。この汎用ＲＰＭ構築処理は、詳しくは図１０に示すフローに従って実行される。
【０１１７】
ここで図１０を参照して、最初のステップＳ４１では、変数ｉに初期値“１”をセットする。次のステップＳ４３では、往復ルートＰｉａおよびＰｉｂそれぞれに割り付けられた連結画像からランドマークを検出する。ランドマークは、この実施例では看板に描かれた店名（たとえば“ＢＯＯＫＳＴＯＲＥ”，“ＢＯＵＴＩＱＵＥ”，“ＧＬＡＳＳＥＳ  ＳＨＯＰ”など：図１７（Ｂ）および図１７（Ｃ）参照）であり、店名は、詳しくは図１３のフローに従って検出される。
【０１１８】
ここで図１３を参照して、まずステップＳ９１で連結画像を二値化し、ステップＳ９３では二値化後の連結画像からブロフ（白または黒の領域）を抽出する。ステップＳ９５では、抽出したブロフに対して光学文字認識（ＯＣＲ）を行い、ステップＳ９７では、認識結果について店名ＤＢ１６４とのマッチングをとる。ステップＳ９９では、マッチング結果に基づいて、認識した文字列との間で一致条件（たとえば“８割以上の文字が一致する”など）を満足する店名が存在するか否かを判別する。そして、判別結果がＮＯであればステップＳ１０３で“未検出”を記憶し、ＹＥＳであればその店名を記憶した後、上位のフロー（図１０）に戻る。
【０１１９】
こうして、たとえば図１７（Ｂ）および図１７（Ｃ）に示すように、パスＰ１の往ルートＰ１ａに割り付けられた連結画像からは、往路側ランドマークとして“ＢＯＵＴＩＱＵＥ”，“ＢＯＯＫＳＴＯＲＥ”および“ＧＬＡＳＳＥＳ  ＳＨＯＰ”が検出され、パスＰ１の復ルートＰ１ａに割り付けられた連結画像からは、復路側ランドマークとして“ＢＯＯＫＳＴＯＲＥ”が検出される。
【０１２０】
再び図１０を参照して、ステップＳ４５では、先のステップＳ４３で店名が検出されたか否かを判別し、ＮＯであればステップＳ５３（後述）に進む。ステップＳ４５でＹＥＳであれば、ステップＳ４７に進み、連結画像に付加された位置情報を参照して、当該ランドマークを含む画像の視点位置を特定する。
【０１２１】
なお、あるランドマークが複数の画像に跨って検出される場合、ステップＳ４７では、各画像の視点位置の集合（つまり視点の軌跡）が特定される。たとえば、図１７（Ｂ）に示した往路側ランドマーク“ＢＯＵＴＩＱＵＥ”は、往路側連結画像の最初の３フレームから検出されるので、“ＢＯＵＴＩＱＵＥ”の視点位置としては、これら３フレーム分の視点位置が検出される。ただし、ランドマークを含む各画像の視点位置の集合を全て特定する代わりに、中央の画像の視点位置だけを特定してもよい。
【０１２２】
その後、ステップＳ４９に進み、ステップＳ７で作成したトポロジカル地図１８０上で往復ルートＰｉａおよびＰｉｂを構築する。なお、トポロジカル地図上でルートを構築するとは、そのルートに含まれるノードおよびエッジの集合を特定することをいう。たとえば、往ルートＰ１ａは、ノードＮ５〜Ｎ２，Ｎ６およびＮ９と、エッジＥ４〜Ｅ２，Ｅ５およびＥ９とで構築され、復ルートＰｉｂは、ノードＮ９，Ｎ６およびＮ２〜Ｎ５と、エッジＥ９，Ｅ５およびＥ２〜Ｅ４とで構築される。
【０１２３】
そして、ステップＳ５１で、当該ランドマーク（店名を示す文字情報たとえばテキストデータ）を、特定した視点位置に従って往復ルートＰｉａおよびＰｉｂそれぞれのエッジに割り付ける。たとえば、図１７（Ｂ）で検出された往路側ランドマーク“ＢＯＵＴＩＱＵＥ”，“ＢＯＯＫＳＴＯＲＥ”および“ＧＬＡＳＳＥＳ  ＳＨＯＰ”は、図１９（Ａ）に示すように、往ルートＰ１ａのエッジＥ４，Ｅ２およびＥ５にそれぞれ割り付けられる。また、図１７（Ｃ）で検出された復路側ランドマーク“ＢＯＯＫＳＴＯＲＥ”は、図１９（Ｂ）に示すように、復ルートＰ１ｂのエッジＥ５に割り付けられる。
【０１２４】
なお、各ランドマークをどのエッジに割り付けるかは、そのランドマークを含む画像の視点位置と各エッジとの間の距離の比較に基づいて決定される。典型的には、視点位置に最も近いエッジが割付先となる。ただし、エッジ単位での割り付ける際に、さらにエッジ内で割付位置を変えてもよい。この場合の割付位置は、典型的にはエッジ上で視点位置に最も近い点となる。
【０１２５】
その後、ステップＳ５３に進んで変数ｉをインクリメントし、変数ｉがパス数ｎを超えたか否かをステップＳ５５で判別する。ステップＳ５５でＮＯであれば、ステップＳ４３に戻って上記と同様の処理を繰り返す。これにより、ステップＳ２１で計算された全てのパス、たとえば図１７（Ａ）に示されたパスＰ１〜Ｐ４ついて、往路側および復路側ランドマークの検出（図１７（Ｂ）および図１７（Ｃ）参照）、各ランドマークを含む画像の視点位置特定、トポロジカル地図１８０上での往復ルートの構築、および往復ルートそれぞれの対応エッジへのランドマーク割付が行われる（図１９（Ａ）および図１９（Ｂ）参照）。ステップＳ５５の判別結果がＮＯからＹＥＳに変化すると、上位のフロー（図８）に戻る。
【０１２６】
再び図８を参照して、ステップＳ１１では、上記のようにして構築した汎用ＲＰＭ１８２を利用して、さらに経路案内用ＲＰＭ１８６を構築する。ステップＳ１１の経路案内用ＲＰＭ構築処理は、詳しくは図１１および図１２に示すフローに従って実行される。
【０１２７】
ここで図１１および図１２を参照して、最初のステップＳ６１では、トポロジカル地図１８０上で全てのスタートおよびゴールの組を計算する。たとえば、図１８（Ｂ）に示すトポロジカル地図１８０の場合、１０個のノードＮ１〜Ｎ１０を含むので、基本的には、これらの中から２つを選択する順列として１０・９=９０通りの組が計算される。なお、エッジＥ１〜Ｅ１０上に適宜な点を定義して、１０個のノードＮ１〜Ｎ１０とこうして定義した点とからなる集合の中からスタートおよびゴールの組を計算してもよい。
【０１２８】
次に、ステップＳ６３に進んで、上記のような計算結果の中から１組を選択し、ステップＳ６５では、選択した組のスタートからゴールに至る全てのルート（Ｒ１〜Ｒｍ：ｍは１以上の整数）を計算する。たとえば、図２０（Ａ）に示すように、スタートおよびゴールの組としてノードＮ５およびＮ６が選択された場合、図２０（Ｂ）に示すように、スタートであるノードＮ５からゴールであるノードＮ６に至る２つのルート（第１ルートおよび第２ルート）Ｒ１およびＲ２が計算される。そして、ステップＳ６７で変数ｊに初期値“１”をセットした後、ステップＳ６９〜Ｓ８１のループを通じて各ルートＲ１，Ｒ２，…，Ｒｍのパースペクティブモデルを構築していく。
【０１２９】
具体的には、まずステップＳ６９で、ルートセグメンテーションを実行することにより、ルートＲｊの表現をノードおよびエッジによるものからサブゴールおよびセグメントによるものに変換する。たとえば、図２０（Ｂ）に示した第１ルートＲ１および第２ルートＲ２は、図２１（Ａ）および図２１（Ｂ）に示すように変換される。このルートセグメンテーションは、詳しくは図１４に示すフローに従って実行される。
【０１３０】
ここで図１４を参照して、最初のステップＳ１１１では、ルートＲｊに含まれるノードのうちスタートおよびゴール以外のノードを１つ選択する。たとえば、図２１（Ａ）に示す第１ルートＲ１ではノードＮ４〜Ｎ２の１つが、図２１（Ｂ）に示す第２ルートＲ２ではノードＮ４およびＮ７の１つが、ここでの選択の対象となる。次のステップＳ１１３では、そのノードが冗長ノードであるか否かを判別し、ＹＥＳであればそのノードを削除する一方、ＮＯであればそのノードをサブゴール化する。
【０１３１】
あるノードが冗長であるか否かは、そのノードに対応する曲がり角や交差点でユーザＵｒが進路について特段の意思決定を行う必要があるか否かに基づいて判別される。具体的には、見通しのよい曲がり角や単に直進すればよい交差点では特段の意思決定は必要ないので、この種の曲がり角や交差点に対応するノードは冗長ノードであると判別される。一方、先の進路が見通せない“突当り”では、その場所に到達して初めて進むべき方向が明らかとなるため、方向転換について意思決定が必要であり、これに対応するノードは冗長ノードでないと判別される。進路の変更や選択を伴う交差点に対応するノードもまた、意思決定を要するため冗長ノードでないと判別される。言い換えると、“まっすぐ”ないし“路なり”に進めばよいノードは冗長ノードであると判別され、方向転換や進路変更が必要なノードは冗長ノードでないと判別される。
【０１３２】
このような基準に従えば、図２１（Ａ）に示す第１ルートＲ１の場合、ノードＮ４およびＮ３はどちらも“まっすぐ”に進めばよい交差点に対応するので冗長ノードとして除去される一方、ノードＮ２は“突当り”に対応するのでサブゴール化される。図２１（Ｂ）に示す第２ルートＲ２の場合、ノードＮ４およびＮ７は、どちらも進路変更を要する交差点に該当するのでサブゴール化される。
【０１３３】
他のルートセグメンテーションの例を図２４に示す。図２４（Ａ）には、６個のノードａ（スタート）〜ｆ（ゴール）を含むルートが示される。このルートは、分岐点（交差点）のない一本道であり、ただ１つの突当り（ノードｅ）を有する。この場合、スタートおよびゴールを除くノードｂ〜ｅのうち、突当りであるノードｅ以外では、意思決定は不要である。このため、ノードｂ〜ｄは冗長ノードとして除去され、ノードｅがサブゴール化される。
【０１３４】
図２４（Ｂ）には、４個のノードｄ（スタート），ｃ，ａ，ｂ（ゴール）を含むルートが示される。このルートでは、ノードｃが分岐点となっていて、ノードｃの手前でノードａへの分岐路の存在を視認できるため、ノードｃでノードａ側に向かうかノードｂ側に向かうかを決定する必要がある。したがって、ノードｃはサブゴール化され、ノードａは冗長ノードとして除去される。
【０１３５】
図２４（Ｃ）には、４個のノードａ（スタート），ｂ，ｃ，ｄ（ゴール）を含むルートが示される。このルートでは、ノードｃが分岐点となっているが、ノードｃの手前でノードａへの分岐路を視認できないため、ノードｃでの意思決定は不要である。したがって、ノードｃは、ノードａと共に冗長ノードとして除去される。
【０１３６】
言い換えると、あるノードが冗長ノードか否かは、そのノード接続されたエッジの数および角度に基づいて判別できる。具体的には、図２４（Ａ）に示したノードｂ〜ｅのように、そのノードに接続されたエッジの数が“２”、つまり、そのノードに入るエッジとそのノードから出るエッジとが各１個の場合、これら２個のエッジ間の角度が鈍角であればそのノード（ｂ〜ｄ）は冗長ノードであり、直角または鋭角であればそのノード（ｅ）は冗長ノードではないと判別する。
【０１３７】
また、図２４（Ｂ）および図２４（Ｃ）に示したノードｃのように、そのノードに接続されたエッジの数が“３”、つまり、そのノードに入るエッジが１個に対して、そのノードから出るエッジが２個であれば、後者２個のうち一方がルートに沿うエッジで他方はルートから外れたエッジとなる。このような場合、そのノードに入るエッジと、そのノードからルート沿いに出るエッジとの間の角度が鈍角であって、かつ、そのノードから出る２個のエッジの間の角度が直角または鋭角であれば、そのノード（図２４（Ｂ）のノードｃ）は冗長ノードでないと判別し、一方、そのノードに入るエッジと、そのノードからルート沿いに出るエッジとの間の角度が鈍角であって、かつ、そのノードから出る２個のエッジの間の角度が鈍角であれば、そのノード（図２４（Ｃ）のノードｃ）は冗長ノードであると判別する。なお、図示は省略するが、そのノードに入るエッジと、そのノードからルート沿いに出るエッジとの間の角度が直角または鋭角であれば、そのノードから出る２個のエッジの間の角度によらず、そのノードは冗長ノードでないと判別してよい。
【０１３８】
なお、上記の判別アルゴリズムでは、エッジ間の角度は、鋭角（＜９０度），直角（＝９０度），鈍角（＞９０度）に区分されたが、９０度とは異なる角度（たとえば１２０度）を基準に区分されてもよい。
【０１３９】
また、注目するノードの接続エッジ数が３以上の場合には、たとえば、そのノードに入るエッジに対して、そのノードから出る２以上のエッジの各々が鈍角であればそのノードは冗長ノードではないと判別する（たとえば図２４（Ｂ）のノードｃ）一方、そのノードに入るエッジに対して、そのノードから出る２以上のエッジのうち鈍角のものがただ１つであればそのノードは冗長ノードであると判別する（たとえば図２４（Ｃ）のノードｃ）、といった方法が考えられる。
【０１４０】
その後、ステップＳ１１９に進んで、全てのノードを選択し終えたか否かを判別し、ＮＯであればステップＳ１１１に戻って、別のノードについて上記と同様の処理を繰り返す。ステップＳ１１９の判別結果がＮＯからＹＥＳに変化すると、ステップＳ１２１に進み、ルートＲｊにサブゴールがあるか否かを判別する。ステップＳ１２１の判別結果がＮＯであれば、ステップＳ１２５でルートＲｊをセグメント化する。つまり、サブゴールのないルートＲｊは、単一のセグメントで表現される（図２４（Ｃ）参照）。一方、ステップＳ１２１の判別結果がＹＥＳであれば、ステップＳ１２３に進み、ルートＲｊをサブゴールで区分してセグメント群化する。
【０１４１】
たとえば、図２１（Ａ）に示す第１ルートＲ１は、１つのサブゴールＳＧ１を含んでおり、このサブゴールＳＧ１で２つのセグメントＳｇｍ１，Ｓｇｍ２に区分される。言い換えると、ノードを失ったエッジＥ４およびＥ３は、サブゴールに接続されたエッジＥ２に統合されてセグメントＳｇｍ１となり、エッジＥ５は、単独でセグメントＳｇｍ２となる。こうして、ノードＮ２〜Ｎ６およびエッジＥ２〜Ｅ５で表現された第１ルートＲ１は、ルートセグメンテーションによって、サブゴールＳＧ１およびセグメントＳｇｍ１，Ｓｇｍ２で表現される結果となる。
【０１４２】
同様に、図２１（Ｂ）に示す第２ルートＲ２は、２つのサブゴールＳＧ２およびＳＧ３を含んでおり、これらのサブゴールＳＧ２およびＳＧ３で３つのセグメントＳｇｍ３〜Ｓｇｍ５に区分される。言い換えると、エッジＥ４，Ｅ６およびＥ７それぞれがセグメントＳｇｍ３，Ｓｇｍ４およびＳｇｍ５となる。こうして、ノードＮ４〜Ｎ７およびエッジＥ４，Ｅ６，Ｅ７で表現された第２ルートＲ２は、サブゴールＳＧ２，ＳＧ３およびセグメントＳｇｍ３〜Ｓｇｍ５で表現される結果となる。
【０１４３】
このようなセグメント化またはセグメント群化の後、上位のフロー（図１１および図１２）に戻る。再び図１１および図１２を参照して、ステップＳ７１では、トポロジカル地図１８０上に構築した汎用ＲＰＭ１８２をルートＲｊに沿ってスキャンすることにより、ルートＲｊ沿いのランドマークを抽出する。たとえば、図２１（Ａ）に示す第１ルートＲ１沿いのランドマークを抽出したい場合、汎用ＲＰＭ１８２のうち第１ルートＲ１に対応する部分、つまり図１９（Ａ）に示したパスＰ１の往ルートＰ１ａ内でノードＮ５からエッジＥ４，ノードＮ４，エッジＥ３，ノードＮ３，エッジＥ２，ノードＮ２およびエッジＥ５を経てノードＮ６に至る区間をスキャンする。この結果、サブゴールＳＧ１となったノードＮ２に入るエッジＥ２から“ＢＯＯＫＳＴＯＲＥ”が抽出される。なお、エッジＥ４にも“ＢＯＵＴＩＱＵＥ”が割り付けられているが、エッジＥ４の入るノードＮ４が除去されたので、これを抽出する必要性は低い。したがって、第１ルートＲ１沿いのランドマークとして抽出されるのは、エッジＥ２からの“ＢＯＯＫＳＴＯＲＥ”だけである。
【０１４４】
一方、図２１（Ｂ）に示す第２ルートＲ２沿いのランドマークを抽出したい場合、汎用ＲＰＭ１８２のうち第２ルートＲ２に対応する部分、つまり図１７（Ａ）に示したパスＰ１，Ｐ３およびＰ４に跨って、ノードＮ５からエッジＥ４，ノードＮ４，エッジＥ６，ノードＮ７およびエッジＥ７を経てノードＮ６に至る区間をスキャンする。この結果、サブゴールＳＧ２となったノードＮ４に入るエッジＥ４から“ＢＯＵＴＩＱＵＥ”が抽出される。なお、サブゴールＳＧ３となったノードＮ７に入るエッジＥ６には、ランドマークは割り付けられていない。したがって、第２ルートＲ２沿いのランドマークとして抽出されるのは、エッジＥ４からの“ＢＯＵＴＩＱＵＥ”だけである。
【０１４５】
次に、ステップＳ７３で、ルートＲｊに含まれる各サブゴールの属性を検出する。属性は、たとえば“突当り”や“交差点”といった幾何的な分類である。なお、“突当り”には“右向き／左向きの曲がり角”といった区別が、“交差点”には“２分岐／３分岐”といった区別が、それぞれ付されてもよい。ステップＳ１１３で冗長ノードに該当しないと判別した各ノードについて、当該ノードに出入りするエッジの数および角度を記憶しておくことで、このような各サブゴールの属性を検出することができる。なお、直前のサブゴールから見た相対的な位置を示す“１つ目の角”，“２つ目の角”なども、ここで各サブゴールの属性として検出される。たとえば、あるサブゴールが直前のサブゴールから見て１つ目の角にあるとき、そのサブゴールは“１つ目の角”に分類される。同様に、そのサブゴールが直前のサブゴールから見て２つ目の角にあるとき、そのサブゴールは“２つ目の角”に分類される。
【０１４６】
次に、ステップＳ７５で、ルートＲｊに従って進路を切り換えるための各サブゴールでの行動を定義する。たとえば、図２１（Ａ）に示す第１ルートＲ１の場合、サブゴールＳＧ１での行動は“（突当りを）右に曲がる”のように定義される。また、図２１（Ｂ）に示す第２ルートＲ２の場合、サブゴールＳＧ２，ＳＧ３での行動は“（１つ目の角／交差点を）右に曲がる”，“（１つ目の角／交差点を）左に曲がる”のように定義される。
【０１４７】
次に、ステップＳ７７で、ルートＲｊに含まれる各サブゴールに、上記のようにして抽出，検出および定義したランドマーク，属性および行動（を示すランドマーク情報，属性情報および行動情報）を割り付ける。
【０１４８】
たとえば、図２１（Ａ）に示した第１ルートＲ１の場合、図２２（Ａ）に示すように、サブゴールＳＧ１にランドマーク，属性および行動として“ＢＯＯＫＳＴＯＲＥ”，“突当り”および“右に曲がる”が割り付けられる。また、図２１（Ｂ）に示した第２ルートＲ２の場合、図２２（Ｂ）に示すように、サブゴールＳＧ２に“ＢＯＵＴＩＱＵＥ”，“１つ目の角／交差点”および“右折する”が、サブゴールＳＧ３には“２つ目の角／交差点”および“左折する”がそれぞれ割り付けられる。
【０１４９】
一般に、ルートＲｊのパースペクティブモデル（経路案内用ＲＰＭ１８６の一部）は、たとえば図２３に示すような構造を有する。図２３を参照して、ルートＲｊは、サブゴールＳＧ１，ＳＧ２，…，ＳＧｎおよびセグメントＳｇｍ１，Ｓｇｍ２，…，Ｓｇｍ（ｎ＋１）を含み、各サブゴール（ＳＧ１，ＳＧ２，…，ＳＧｎ）にランドマーク（１，２，…，ｎ），属性（１，２，…，ｎ）および行動（１，２，…，ｎ）が割り付けられている。なお、このルートＲｊは、簡単のために１次元で表現されている。
【０１５０】
そして、各サブゴール（ＳＧ１，ＳＧ２，…，ＳＧｎ）へのランドマーク（１，２，…，ｎ）は、汎用ＲＰＭ１８２をルートＲｊ沿いにスキャンして得られたものである。具体的には、サブゴールＳＧ１へのランドマーク１は、サブゴールＳＧ１自身に対応するノード（Ｎａ）に入るエッジ（Ｅａ）から抽出され、サブゴールＳＧ２のランドマーク２は、サブゴールＳＧ２自身に対応するノード（Ｎｂ）に入るエッジ（Ｅｂ）から抽出される。他のサブゴール（ＳＧ３，…，ＳＧｎ）へのランドマーク（３，…，ｎ）も同様である。対応するノードにランドマークがなければ、そのサブゴールのランドマークは空欄となる。
【０１５１】
なお、先述したような、あるパス（Ｐｉ）沿いの店舗を紹介するための店舗紹介用ＲＰＭは、汎用ＲＰＭ１８２をパスＰｉの往復ルート（ＰｉａおよびＰｉｂ）に沿ってスキャンして往路側および復路側それぞれのランドマーク（店舗名）を抽出し、抽出したランドマークをパスＰｉに付け替える（ただし往路側および復路側で重複するものは除外する）ことで構築できる。
【０１５２】
こうしてルートＲｊのパースペクティブモデルが完成すると、ステップＳ７９に進み、変数ｊをインクリメントする。その後、変数ｊがルート数ｍを上回ったか否かを次のステップＳ８１で判別し、ＮＯであればステップＳ６９に戻って上記と同様の処理を繰り返す。ステップＳ８１の判別結果がＹＥＳであれば、ステップＳ８３に進む。
【０１５３】
ステップＳ８３では、各ルートＲ１〜Ｒｍのパースペクティブモデルを参照して、各ルートＲ１〜Ｒｍの間で距離および理解し易さを比較し、比較結果に基づいてルートＲ１〜Ｒｍのうち最適ルートを決定する。理解し易さは、具体的にはサブゴール数，各サブゴールの属性，各サブゴールのランドマーク（目印の有無）などに基づいて評価される。
【０１５４】
たとえば、図２２（Ａ）および図２２（Ｂ）に示した第１ルートＲ１および第２ルートＲ２のパースペクティブモデルからは、図２５に示すような比較結果が得られる。まず、距離について比較すると、第１ルートＲ１および第２ルートＲ２は同等である。
【０１５５】
次に、理解し易さに関し、サブゴール数について比較すると、第１ルートＲ１の１個に対して第２ルートＲ２は２個なので、第１ルートＲ１の方が、第２ルートＲ２よりも単純である（進路変更の回数が少ない）点で、基本的に有利である。また、各サブゴールの属性について比較すると、第１ルートＲ１では唯一のサブゴールＳＧ１が突当りであるのに対して、第２ルートＲ２では２つのサブゴールＳＧ２，ＳＧ３は共に１つ目の角／交差点である。突き当たりは一般に、１つ目の角／交差点よりも理解し易い（ユーザＵｒに好まれる）ので、各サブゴールの属性を考慮しても、第１ルートＲ１の方が有利である。
【０１５６】
さらに、各サブゴールのランドマークについて比較すると、第１ルートＲ１ではサブゴールＳＧ１に“ＢＯＯＫＳＴＯＲＥ”が付されているのに対し、第２ルートＲ２では、サブゴールＳＧ２に“ＢＯＵＴＩＱＵＥ”が付されているものの、サブゴールＳＧ３にはランドマークがない。ランドマークを欠いたサブゴールは一般に、ランドマーク付きのサブゴールと比べて識別が難しい（ユーザＵｒに見落とされやすい）ので、第２ルートＲ２は、ランドマークを欠いたサブゴールＳＧ３を含む点で、第１ルートＲ１よりも不利である。
【０１５７】
したがって、図２５の比較結果から、距離については第１ルートＲ１および第２ルートＲ２は同等であり、理解し易さについては第１ルートＲ１の方が第２ルートＲ２よりも有利であると判断されるので、第１ルートＲ１が最適ルートに決定される結果となる。
【０１５８】
なお、上述の例では、各ルートの距離が同等なので、最も理解し易いルートが直ちに最適ルートとなったが、一般には、理解し易さと距離とはトレードオフの関係にあり、両者のバランスを考慮して最適ルートを決める必要がある。その場合には、たとえば距離，サブゴール数，ランドマーク数などを変数として、各ルートの好ましさ（有用性）を評価すればよい。評価のための演算の一例を図２６に示す。
【０１５９】
図２６の演算によれば、ルートの有用性（Ｕｔｕｌｉｔｙ）が、距離を示す変数Ｄ、ランドマーク付の突当りの数を示す変数Ｎ１、ランドマークの数を示す変数Ｎ２、突当りの数を示す変数Ｎ３、１つ目の角の数を示す変数Ｎ４、および２つ目の角の数を示す変数Ｎ５に基づいて評価される。なお、距離は、最も短いルートに対する相対距離である。
【０１６０】
Ｕｔｉｌｉｔｙは、具体的には、上記の変数Ｄ，Ｎ１〜Ｎ５に重み付けのための係数ｋ０〜ｋ５を乗算して乗算結果を合計する演算式、すなわち“Ｕｔｉｌｉｔｙ＝Ｋ０・Ｄ＋ｋ１・Ｎ１＋ｋ２・Ｎ２＋ｋ３・Ｎ３＋ｋ４・Ｎ４＋ｋ５・Ｎ５”によって計算される。係数ｋ０〜ｋ５には、たとえば“−０．４３８”，“１．１０５”，“０．３７２”，“−０．０２３”，“０．２１３”および“−０．４８４”といった数値が与えられる。これらの数値は、人による経路理解の特徴を考慮して決められたものである。
【０１６１】
たとえば、係数ｋ１〜ｋ３には、ランドマークが人による経路理解の助けとなる点、そして、特にランドマークを突当りと組み合わせることで経路理解を助ける効果が顕著となる点、などが反映されている。また、係数ｋ１〜ｋ３と係数Ｄとの間には、ランドマーク付の突当りを含むルートは、それを含まないルートと比べて距離が３倍ほどであっても有用性が高い点、が反映されている。また、係数Ｄ，ｋ４およびｋ５には、経路に２つ目の角が多く含まれていると理解が難しくなる点、そして、２つ目の角が１つ増えることは、距離が２倍ほどになるのと同じくらいルートの有用性を損なう点、などが反映されている。
【０１６２】
こうして、現在選択している組のルートＲ１，Ｒ２，…の中から最適ルートが決定されると、次のステップＳ８５に進む。
【０１６３】
再び図１１および図１２を参照して、ステップＳ８５では、全組を選択し終えたか否かを判別し、ＮＯであればステップＳ６３に戻って上記と同様の処理を繰り返す。これにより、次の組が選択され、その組のスタートからゴールに至るルート１，Ｒ２，…のパースペクティブモデルが構築されると共に、それらルート１，Ｒ２，…の中から最適ルートが決定される。最後の組についてこのような処理が終わると、ステップＳ８５でＹＥＳと判別され、上位のフロー（図８）に戻る。
【０１６４】
再び図８を参照して、ステップＳ１１の経路案内用ＲＰＭ構築処理が完了すると、このフローは終了され、図１５に示す経路案内のフローが開始される。
【０１６５】
次に、図１５を参照して、ステップＳ１３１では、マイク６６および音声入力／出力ボード９０を通じて取り込まれる音声を認識し、ステップＳ１３３では、路を尋ねられたか否かを認識結果に基づいて判別する。ステップＳ１３３でＮＯであれば、ステップＳ１３１に戻って同様の処理を繰り返す。ユーザＵｒが目標（めがね店）までの路を移動ロボット１０に尋ねたとすると（図５（Ａ）参照）、ステップＳ１３３でＹＥＳと判別して、ステップＳ１３５に進む。
【０１６６】
ステップＳ１３５では、スタート＆ゴール情報１８４を参照して、現在位置（移動ロボット１０自身の自己位置）および目標位置に対応するスタートおよびゴールの組を選択する。そしてステップＳ１３７で、経路案内用ＲＰＭ１８６から当該組の最適ルートに対応するＲＰＭを取得する。なお、場合によっては（いくつかの選択肢を提示する場合など）、最適ルートに限らず、当該組の全てのルート（または最適ルートを含む一部のルート）のＲＰＭを取得してもよい。
【０１６７】
その後、ステップＳ１３９に進み、上記のようにして取得したＲＰＭからランドマーク，属性および行動を抽出して発話テンプレート１４８に当てはめる。そしてステップＳ１４１で、発話および指差しによる経路案内を行うための動作制御情報１６８ｂを生成し、その後、ステップＳ１３１に戻って上記と同様の処理を繰り返す。
【０１６８】
ＣＰＵ８０は、先述した環境データ収集処理（図９参照）または上記の経路案内処理（図１５参照）と並列に、図１６に示す動き制御処理を実行している。図１６を参照して、ステップＳ１５１では、移動制御情報１６８ａが生成（更新）されたか否かを判別し、ＮＯであればステップＳ１５５に進む。環境データ収集処理のステップＳ２５を通じて移動制御情報１６８ａが生成されると、ステップＳ１５１でＹＥＳと判別してステップＳ１５３に進み、当該移動制御情報１６８ａに基づいて右左の車輪モータ３６ａおよび３６ｂを駆動する。これにより、環境データ収集のための各パスＰ１，Ｐ２，…の往復走行が実現される。その後、ステップＳ１５５に進む。
【０１６９】
ステップＳ１５５では、動作制御情報１６８ｂが生成（更新）されたか否かを判別し、ＮＯであればステップＳ１５１に戻って上記と同様の処理を繰り返す。経路案内処理のステップＳ１４１を通じて動作制御情報１６８ｂが生成されると、ステップＳ１５５でＹＥＳと判別してステップＳ１５７に進み、当該動作制御情報１６８ｂに基づいて右左の腕モータ９６および９８ならびにスピーカ６４を駆動する。これにより、移動ロボット１０の発話および指差しによる経路案内（図５（Ｂ）参照）が実現される。その後、ステップＳ１５１に戻って上記と同様の処理を繰り返す。
【０１７０】
なお、上記のフローでは、予め全てのスタートおよびゴールの組についてルートパースペクティブモデルを計算しておいたが、経路案内の度に設定されたスタートおよびゴールの組について計算を行い、結果を蓄積していくようにしてもよい。
【０１７１】
また、上記のフローでは、汎用ＲＰＭ１８２をスキャンして（言い換えると、汎用ＲＰＭ１８２で構成された仮想空間内を走行しながら）経路案内用ＲＰＭ１８６を構築したが、実際に環境内を走行しながらこれを構築してもよい。つまり、設定されたスタートからゴールに至るルート（Ｒｊ）に従って環境内を移動しながら環境データを収集し、収集した環境データから経路案内用ＲＰＭ１８６を構築してもよい。
【０１７２】
以上から明らかなように、この実施例の移動ロボット１０は、座標系（ｘ，ｙ）が定義された地図（ＢＭ，ＧＭ，ＴＭ）上のルート（Ｐｉａ，Ｐｉｂ，Ｒｊ）に従って環境内の路を移動しながら自己位置の検出および路上視の撮影を行うことによって位置情報および画像情報を収集し（Ｓ２７）、収集した画像情報からランドマークを検出し（Ｓ４３）、検出したランドマークを含む路上視の視点位置を収集した位置情報に基づいて特定し（Ｓ４７）、そして検出したランドマークを特定した視点位置に従ってルートに割り付ける（Ｓ５１，Ｓ７７）。その後、こうして得られたルートパースペクティブモデルに基づいて路について対話する（Ｓ１３１〜Ｓ１４１）。
【０１７３】
こうして、環境内の路を移動しながら位置情報および画像情報を収集し、収集結果からランドマークを検出してそれが見える視点位置（経路上の撮影場所）を特定し、そして検出したランドマーク（を示す文字情報）を特定した視点位置に従って地図上のルートに割り付けたことで、人の理解に適した仕方で路について対話が行える、ルートパースペクティブモデルを構築できる。
【０１７４】
なお、以上の説明では、一実施例である移動ロボット１０について説明したが、この発明は、無人カートなどロボット以外の移動体、カーナビ、携帯端末（携帯電話，携帯情報端末）などにも適用できる。
【符号の説明】
【０１７５】
１０  …移動ロボット
３６ａ，３６ｂ  …右左の車輪モータ
４０  …ＬＲＦ（レーザレンジファインダ）
６４  …スピーカ
６６  …マイク
７０  …眼カメラ
８０  …ＣＰＵ
８４  …メモリ
９８，９８  …右左の腕モータ
１２２ａ，１２２ｂ  …右左の車輪速センサ
【図１】
0005891553.tif 000002
【図２】
0005891553.tif 000003
【図３】
0005891553.tif 000004
【図４】
0005891553.tif 000005
【図５】
0005891553.tif 000006
【図６】
0005891553.tif 000007
【図７】
0005891553.tif 000008
【図８】
0005891553.tif 000009
【図９】
0005891553.tif 000010
【図１０】
0005891553.tif 000011
【図１１】
0005891553.tif 000012
【図１２】
0005891553.tif 000013
【図１３】
0005891553.tif 000014
【図１４】
0005891553.tif 000015
【図１５】
0005891553.tif 000016
【図１６】
0005891553.tif 000017
【図１７】
0005891553.tif 000018
【図１８】
0005891553.tif 000019
【図１９】
0005891553.tif 000020
【図２０】
0005891553.tif 000021
【図２１】
0005891553.tif 000022
【図２２】
0005891553.tif 000023
【図２３】
0005891553.tif 000024
【図２４】
0005891553.tif 000025
【図２５】
0005891553.tif 000026
【図２６】
0005891553.tif 000027