(57)【要約】【課題】処理負担の増加を抑えつつ、正確にかつ効率的に移動することのできる移動ロボットを提供する。【解決手段】ランドマークを検出可能な経路であるアークと、当該アークにおいて検出可能な前記ランドマークとを対応付けて格納する地図情報格納手段１２０と、所定の位置間隔でランドマークの有無を検出するランドマーク検出手段１０６と、検出したランドマークが地図情報格納手段１２０においてアークに対応付けられているランドマーク以外のランドマークである場合に、ランドマークを検出したときの移動ロボットの位置を特定するロボット位置特定手段１００と、ロボットの位置に基づいて作成したアークと、ランドマークとを対応付けて前記地図情報格納手段１２０に新たに格納させる地図情報更新手段１１０とを備えた。【選択図】        図２
2006184976.tif 000002
【特許請求の範囲】
【請求項１】
目的地まで移動可能な移動ロボットであって、
当該移動ロボットが所定のランドマークを検出可能な経路であるアークと、当該アークにおいて検出可能な前記ランドマークとを対応付けて格納する地図情報格納手段と、
当該移動ロボットが前記地図情報格納手段に格納されている前記アーク上を移動するときに、所定の位置間隔でランドマークの有無を検出するランドマーク検出手段と、
前記ランドマーク検出手段が検出した前記ランドマークが前記地図情報格納手段において前記アークに対応付けられているランドマーク以外のランドマークである場合に、当該ランドマークを検出したときの当該移動ロボットの位置を特定するロボット位置特定手段と、
前記ロボット位置特定手段が特定した前記ロボットの位置に基づいて、前記地図情報格納手段において前記アークに対応付けられているランドマーク以外の前記ランドマークを検出可能なアークを作成するアーク作成手段と、
前記アーク作成手段が作成した前記アークと、当該アークにおいて検出可能なランドマークとを対応付けて前記地図情報格納手段に新たに格納させる更新を行う地図情報更新手段と
を備えたことを特徴とする移動ロボット。
【請求項２】
目的地まで移動可能な移動ロボットであって、
当該移動ロボットが所定のランドマークを検出可能な経路であるアークと、当該アークにおいて検出可能なランドマークとを対応付けて格納する地図情報格納手段と、
当該移動ロボットが前記地図情報格納手段に格納されている前記アーク上を移動するときに、所定の位置間隔でランドマークの有無を検出するランドマーク検出手段と、
前記ランドマーク検出手段が、前記地図情報格納手段において前記アークに対応付けられているランドマークを検出しない場合に、当該ロボットが移動中の前記アークおよび当該アークに対応付けられている前記ランドマークを前記地図情報格納手段から削除する更新を行う地図情報更新手段と
を備えたことを特徴とする移動ロボット。
【請求項３】
前記地図情報更新手段によって更新された後の前記地図情報格納手段に格納されている前記アークおよび前記ランドマークに基づいて、当該移動ロボットを前記目的地まで移動させるための移動経路を作成する移動経路作成手段をさらに備えたことを特徴とする請求項１または２に記載の移動ロボット。
【請求項４】
前記目的地の指定を受け付ける目的地指定受付手段をさらに備え、
前記目的地指定受付手段が前記目的地の指定を受け付けたときに当該移動ロボットが移動中の位置において、前記ランドマーク検出手段が前記目的地を示すランドマークを検出できない場合に、前記移動手段は当該移動ロボットを現在移動中のアーク上をさらに移動させ、
前記ランドマーク検出手段は、前記アーク上において所定の位置間隔で目的地を示すランドマークの有無を検出し、
前記移動経路作成手段は、前記ランドマーク検出手段が前記目的地を示すランドマークを検出した場合に、当該ランドマークを検出したときの当該移動ロボットの位置から当該ランドマークを検出した方向に向かう移動経路を作成することを特徴とする請求項３に記載の移動ロボット。
【請求項５】
前記目的地指定受付手段が前記目的地の指定を受け付けたときに当該移動ロボットが移動中の位置において、前記ランドマーク検出手段が前記目的地を示すランドマークを検出できない場合に、当該目的地を示すランドマークに対応付けて前記地図情報格納手段に格納されている前記アークと当該移動ロボットが移動中のアークとの交点を算出するアーク交点算出手段をさらに備え、
前記移動経路作成手段は、さらに前記アーク交点算出手段によって算出された前記アークとの交点を経由し、かつ前記目的地を検出可能なアークを経由する移動経路を作成することを特徴とする請求項４に記載の移動ロボット。
【請求項６】
前記目的地の指定を受け付ける目的地指定受付手段をさらに備え、
前記目的地指定受付手段が前記目的地の指定を受け付けたときに当該移動ロボットが移動中の位置において前記ランドマーク検出手段が前記目的地を示すランドマークを検出できない場合に、前記移動手段は当該移動ロボットを、現在移動中のアーク上をさらに移動させ、
前記ランドマーク検出手段は、前記アーク上において所定の位置間隔で前記目的地を示すランドマークの有無を検出し、
前記移動経路作成手段は、前記ランドマーク検出手段が前記目的地を示すランドマークを検出しない場合に、前記アークの端部であるノードを経由して前記目的地のランドマークまで移動する移動経路を作成することを特徴とする請求項３に記載の移動ロボット。
【請求項７】
前記ロボット位置特定手段は、前記ランドマーク検出手段が前記地図情報格納手段に格納されているランドマークを検出したときの当該移動ロボットの位置を特定し、
前記ロボット位置特定手段が特定した前記ロボットの位置が前記地図情報登録手段において前記ランドマーク検出手段が検出した前記ランドマークに対応付けられている前記アーク上の位置と異なる場合に、前記地図情報更新手段は、前記地図情報格納手段に格納されている当該アークを、前記ロボット位置特定手段が特定した前記ロボットの位置に基づいて修正することを特徴とする請求項１または２に記載の移動ロボット。
【請求項８】
当該移動ロボットが、前記移動経路作成手段により作成された前記移動経路に含まれる所定のアーク上を移動しているときに、前記ランドマーク検出手段が前記地図情報格納手段において当該アークに対応付けられている前記ランドマークを検出せず、前記地図情報更新手段が前記地図情報格納手段に格納されている情報を更新した場合に、前記移動手段は、当該移動ロボットが前記アーク上を移動する前の位置まで当該移動ロボットを戻し、
前記移動経路作成手段は、前記移動手段により戻された後の当該移動ロボットの位置から前記目的地までの移動経路を、前記地図情報更新手段による更新後の前記地図情報格納手段に格納されている前記アークおよび前記ランドマークに基づいて作成することを特徴とする請求項３に記載の移動ロボット。
【請求項９】
前記移動経路作成手段は、前記地図情報格納手段に格納されている前記アークおよび前記ランドマークに基づいて、前記目的地を示すランドマークまでの最短経路を前記移動経路として作成することを特徴とする請求項３から８のいずれか一項に記載の移動ロボット。
【請求項１０】
前記移動経路作成手段は、前記地図情報格納手段に格納されている前記アークおよび前記ランドマークに基づいて、当該移動ロボットが移動したことのない経路を含む移動経路を作成することを特徴とする請求項３から８のいずれか一項に記載の移動ロボット。
【請求項１１】
前記ランドマークは視認可能であって、
前記ランドマーク検出手段は、前記ランドマークを撮像する画像センサであることを特徴とする請求項１から１０のいずれか一項に記載の移動ロボット。
【請求項１２】
前記ランドマーク検出手段は、赤外線センサであることを特徴とする請求項１から１０のいずれか一項に記載の移動ロボット。
【請求項１３】
目的地まで移動可能な移動ロボットであって、
当該移動ロボットを移動させる移動手段と、
当該移動ロボットが移動するときに、所定の位置間隔で前記ランドマークの有無を検出するランドマーク検出手段と、
前記ランドマーク検出手段が前記ランドマークを検出したときの当該移動ロボットの位置を特定するロボット位置特定手段と、
前記ロボット位置特定手段が特定した前記移動ロボットの位置に基づいて、前記ランドマークを検出可能な経路であるアークを特定するアーク特定手段と、
前記アーク特定手段が特定した前記アークを当該アークにおいて検出可能なランドマークに対応付けて格納する地図情報格納手段と、
前記地図情報格納手段に格納されている前記アークおよび前記ランドマークに基づいて、当該移動ロボットを前記目的地まで移動させるための移動経路を作成する移動経路作成手段と
を備えたことを特徴とする移動ロボット。
【請求項１４】
目的地まで移動可能な移動ロボットの移動方法であって、
当該移動ロボットが所定のランドマークを検出可能な経路であるアークと、当該アークにおいて検出可能な前記ランドマークとを対応付けて格納する地図情報格納手段に格納されている前記アーク上を前記移動ロボットが移動するときに、所定の位置間隔でランドマークの有無を検出するランドマーク検出ステップと、
前記ランドマーク検出ステップにおいて検出した前記ランドマークが前記地図情報格納手段において前記アークに対応付けられているランドマーク以外のランドマークである場合に、当該ランドマークを検出したときの当該移動ロボットの位置を特定するロボット位置特定ステップと、
前記ロボット位置特定ステップにおいて特定した前記ロボットの位置に基づいて、前記地図情報格納手段において前記アークに対応付けられているランドマーク以外の前記ランドマークを検出可能なアークを作成するアーク作成ステップと、
前記アーク作成ステップにおいて作成した前記アークと、当該アークにおいて検出可能なランドマークとを対応付けて前記地図情報格納手段に新たに格納させる更新を行う地図情報更新ステップと
を有することを特徴とする移動ロボットの移動方法。
【請求項１５】
目的地まで移動可能な移動ロボットの移動方法であって、
当該移動ロボットが所定のランドマークを検出可能な経路であるアークと、当該アークにおいて検出可能なランドマークとを対応付けて格納する地図情報格納手段に格納されている前記アーク上を前記移動ロボットが移動するときに、所定の位置間隔でランドマークの有無を検出するランドマーク検出ステップと、
前記ランドマーク検出ステップにおいて、前記地図情報格納手段において前記アークに対応付けられているランドマークを検出しない場合に、当該ロボットが移動中の前記アークおよび当該アークに対応付けられている前記ランドマークを前記地図情報格納手段から削除する更新を行う地図情報更新ステップと
を有することを特徴とする移動ロボットの移動方法。
【請求項１６】
目的地まで移動可能な移動ロボットの移動方法であって、
当該移動ロボットを移動させる移動ステップと、
当該移動ロボットが移動するときに、所定の位置間隔で前記ランドマークの有無を検出するランドマーク検出ステップと、
前記ランドマーク検出ステップにおいて前記ランドマークを検出したときの当該移動ロボットの位置を特定するロボット位置特定ステップと、
前記ロボット位置特定ステップにおいて特定した前記移動ロボットの位置に基づいて、前記ランドマークを検出可能な経路であるアークを特定するアーク特定ステップと、
前記アーク特定ステップにおいて特定した前記アークを当該アークにおいて検出可能なランドマークに対応付けて地図情報格納手段に格納する格納ステップと、
前記地図情報格納手段に格納されている前記アークおよび前記ランドマークに基づいて、当該移動ロボットを前記目的地まで移動させるための移動経路を作成する移動経路作成ステップと
を有することを特徴とする移動ロボットの移動方法。
【請求項１７】
目的地まで移動可能な移動ロボットの移動処理をコンピュータに実行させる移動プログラムであって、
当該移動ロボットが所定のランドマークを検出可能な経路であるアークと、当該アークにおいて検出可能な前記ランドマークとを対応付けて格納する地図情報格納手段に格納されている前記アーク上を前記移動ロボットが移動するときに、所定の位置間隔でランドマークの有無を検出するランドマーク検出ステップと、
前記ランドマーク検出ステップにおいて検出した前記ランドマークが前記地図情報格納手段において前記アークに対応付けられているランドマーク以外のランドマークである場合に、当該ランドマークを検出したときの当該移動ロボットの位置を特定するロボット位置特定ステップと、
前記ロボット位置特定ステップにおいて特定した前記ロボットの位置に基づいて、前記地図情報格納手段において前記アークに対応付けられているランドマーク以外の前記ランドマークを検出可能なアークを作成するアーク作成ステップと、
前記アーク作成ステップにおいて作成した前記アークと、当該アークにおいて検出可能なランドマークとを対応付けて前記地図情報格納手段に新たに格納させる更新を行う地図情報更新ステップと
を有することを特徴とする移動プログラム。
【請求項１８】
目的地まで移動可能な移動ロボットの移動処理をコンピュータに実行させる移動プログラムであって、
当該移動ロボットが所定のランドマークを検出可能な経路であるアークと、当該アークにおいて検出可能なランドマークとを対応付けて格納する地図情報格納手段に格納されている前記アーク上を前記移動ロボットが移動するときに、所定の位置間隔でランドマークの有無を検出するランドマーク検出ステップと、
前記ランドマーク検出ステップにおいて、前記地図情報格納手段において前記アークに対応付けられているランドマークを検出しない場合に、当該ロボットが移動中の前記アークおよび当該アークに対応付けられている前記ランドマークを前記地図情報格納手段から削除する更新を行う地図情報更新ステップと
を有することを特徴とする移動プログラム。
【請求項１９】
目的地まで移動可能な移動ロボットの移動処理をコンピュータに実行させる移動プログラムであって、
当該移動ロボットを移動させる移動ステップと、
当該移動ロボットが移動するときに、所定の位置間隔で前記ランドマークの有無を検出するランドマーク検出ステップと、
前記ランドマーク検出ステップにおいて前記ランドマークを検出したときの当該移動ロボットの位置を特定するロボット位置特定ステップと、
前記ロボット位置特定ステップにおいて特定した前記移動ロボットの位置に基づいて、前記ランドマークを検出可能な経路であるアークを特定するアーク特定ステップと、
前記アーク特定ステップにおいて特定した前記アークを当該アークにおいて検出可能なランドマークに対応付けて地図情報格納手段に格納する格納ステップと、
前記地図情報格納手段に格納されている前記アークおよび前記ランドマークに基づいて、当該移動ロボットを前記目的地まで移動させるための移動経路を作成する移動経路作成ステップと
を有することを特徴とする移動プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、目的地まで移動可能な移動ロボット、移動ロボットの移動方法および移動プログラムに関するものである。
【背景技術】
【０００２】
従来の移動ロボットは、予め登録された地図に基づいて、所定の目的地までの経路を特定する。そして、その経路に沿って移動する。このような移動のための地図は、移動ロボットが対象となる領域を移動することにより作成される。例えば、壁沿いを経路とする地図を作成する方法が知られている(例えば、「特許文献１参照」)。これは、超音波センサを使って、ロボットが壁沿いを移動することにより地図を作成する方法である。
【０００３】
また、同様に壁沿いを経路とするトポロジカルな地図を作成する方法が知られている。トポロジカルな地図とは、コーナーなど位置を特定可能なノードと、２つのノードの間を結ぶ直線であるアークで表現されたグラフ構造の地図である。
【０００４】
また、他の例としては、ロボット搭載のカメラからの視覚情報から、ランドマークを検出する方法もある。ランドマークを検出すると、検出したランドマークの方向に移動する。
【０００５】
【特許文献１】特開平０９−１７４４７１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、予め地図を登録する場合にはデータ量が多くなり面倒である。また、地図を利用するためには、移動ロボットが正しく自己の位置を特定する必要がある。
【０００７】
超音波センサを利用して壁沿いに移動する場合、予め地図を登録しておく必要がない。このためデータ量の問題を解消することができる。さらに、自己位置を正確に認識できなくとも超音波センサの検出結果に応じて精度よく移動することができる。
【０００８】
しかし、超音波センサのみを使った移動では、壁沿いの移動しか行えない。このため、目的地の位置によっては、遠回りとなる経路を移動することになり不便である。
【０００９】
本発明は、上記に鑑みてなされたものであって、処理負担の増加を抑えつつ、正確にかつ効率的に移動することのできる移動ロボットを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、本発明は、目的地まで移動可能な移動ロボットであって、当該移動ロボットが所定のランドマークを検出可能な経路であるアークと、当該アークにおいて検出可能な前記ランドマークとを対応付けて格納する地図情報格納手段と、当該移動ロボットが前記地図情報格納手段に格納されている前記アーク上を移動するときに、所定の位置間隔でランドマークの有無を検出するランドマーク検出手段と、前記ランドマーク検出手段が検出した前記ランドマークが前記地図情報格納手段において前記アークに対応付けられているランドマーク以外のランドマークである場合に、当該ランドマークを検出したときの当該移動ロボットの位置を特定するロボット位置特定手段と、前記ロボット位置特定手段が特定した前記ロボットの位置に基づいて、前記地図情報格納手段において前記アークに対応付けられているランドマーク以外の前記ランドマークを検出可能なアークを作成するアーク作成手段と、前記アーク作成手段が作成した前記アークと、当該アークにおいて検出可能なランドマークとを対応付けて前記地図情報格納手段に新たに格納させる更新を行う地図情報更新手段とを備えたことを特徴とする。
【００１１】
また、本発明は、目的地まで移動可能な移動ロボットであって、当該移動ロボットが所定のランドマークを検出可能な経路であるアークと、当該アークにおいて検出可能なランドマークとを対応付けて格納する地図情報格納手段と、当該移動ロボットが前記地図情報格納手段に格納されている前記アーク上を移動するときに、所定の位置間隔でランドマークの有無を検出するランドマーク検出手段と、前記ランドマーク検出手段が、前記地図情報格納手段において前記アークに対応付けられているランドマークを検出しない場合に、当該ロボットが移動中の前記アークおよび当該アークに対応付けられている前記ランドマークを前記地図情報格納手段から削除する更新を行う地図情報更新手段とを備えたことを特徴とする。
【００１２】
また、本発明は、目的地まで移動可能な移動ロボットであって、当該移動ロボットを移動させる移動手段と、当該移動ロボットが移動するときに、所定の位置間隔で前記ランドマークの有無を検出するランドマーク検出手段と、前記ランドマーク検出手段が前記ランドマークを検出したときの当該移動ロボットの位置を特定するロボット位置特定手段と、前記ロボット位置特定手段が特定した前記移動ロボットの位置に基づいて、前記ランドマークを検出可能な経路であるアークを特定するアーク特定手段と、前記アーク特定手段が特定した前記アークを当該アークにおいて検出可能なランドマークに対応付けて格納する地図情報格納手段と、前記地図情報格納手段に格納されている前記アークおよび前記ランドマークに基づいて、当該移動ロボットを前記目的地まで移動させるための移動経路を作成する移動経路作成手段とを備えたことを特徴とする。
【００１３】
また、本発明は、目的地まで移動可能な移動ロボットの移動方法であって、当該移動ロボットが所定のランドマークを検出可能な経路であるアークと、当該アークにおいて検出可能な前記ランドマークとを対応付けて格納する地図情報格納手段に格納されている前記アーク上を前記移動ロボットが移動するときに、所定の位置間隔でランドマークの有無を検出するランドマーク検出ステップと、前記ランドマーク検出ステップにおいて検出した前記ランドマークが前記地図情報格納手段において前記アークに対応付けられているランドマーク以外のランドマークである場合に、当該ランドマークを検出したときの当該移動ロボットの位置を特定するロボット位置特定ステップと、前記ロボット位置特定ステップにおいて特定した前記ロボットの位置に基づいて、前記地図情報格納手段において前記アークに対応付けられているランドマーク以外の前記ランドマークを検出可能なアークを作成するアーク作成ステップと、前記アーク作成ステップにおいて作成した前記アークと、当該アークにおいて検出可能なランドマークとを対応付けて前記地図情報格納手段に新たに格納させる更新を行う地図情報更新ステップとを有することを特徴とする。
【００１４】
また、本発明は、目的地まで移動可能な移動ロボットの移動方法であって、当該移動ロボットが所定のランドマークを検出可能な経路であるアークと、当該アークにおいて検出可能なランドマークとを対応付けて格納する地図情報格納手段に格納されている前記アーク上を前記移動ロボットが移動するときに、所定の位置間隔でランドマークの有無を検出するランドマーク検出ステップと、前記ランドマーク検出ステップにおいて、前記地図情報格納手段において前記アークに対応付けられているランドマークを検出しない場合に、当該ロボットが移動中の前記アークおよび当該アークに対応付けられている前記ランドマークを前記地図情報格納手段から削除する更新を行う地図情報更新ステップとを有することを特徴とする。
【００１５】
また、本発明は、目的地まで移動可能な移動ロボットの移動方法であって、当該移動ロボットを移動させる移動ステップと、当該移動ロボットが移動するときに、所定の位置間隔で前記ランドマークの有無を検出するランドマーク検出ステップと、前記ランドマーク検出ステップにおいて前記ランドマークを検出したときの当該移動ロボットの位置を特定するロボット位置特定ステップと、前記ロボット位置特定ステップにおいて特定した前記移動ロボットの位置に基づいて、前記ランドマークを検出可能な経路であるアークを特定するアーク特定ステップと、前記アーク特定ステップにおいて特定した前記アークを当該アークにおいて検出可能なランドマークに対応付けて地図情報格納手段に格納する格納ステップと、前記地図情報格納手段に格納されている前記アークおよび前記ランドマークに基づいて、当該移動ロボットを前記目的地まで移動させるための移動経路を作成する移動経路作成ステップとを有することを特徴とする。
【００１６】
また、本発明は、目的地まで移動可能な移動ロボットの移動処理をコンピュータに実行させる移動プログラムであって、当該移動ロボットが所定のランドマークを検出可能な経路であるアークと、当該アークにおいて検出可能な前記ランドマークとを対応付けて格納する地図情報格納手段に格納されている前記アーク上を前記移動ロボットが移動するときに、所定の位置間隔でランドマークの有無を検出するランドマーク検出ステップと、前記ランドマーク検出ステップにおいて検出した前記ランドマークが前記地図情報格納手段において前記アークに対応付けられているランドマーク以外のランドマークである場合に、当該ランドマークを検出したときの当該移動ロボットの位置を特定するロボット位置特定ステップと、前記ロボット位置特定ステップにおいて特定した前記ロボットの位置に基づいて、前記地図情報格納手段において前記アークに対応付けられているランドマーク以外の前記ランドマークを検出可能なアークを作成するアーク作成ステップと、前記アーク作成ステップにおいて作成した前記アークと、当該アークにおいて検出可能なランドマークとを対応付けて前記地図情報格納手段に新たに格納させる更新を行う地図情報更新ステップとを有することを特徴とする。
【００１７】
また、本発明は、目的地まで移動可能な移動ロボットの移動処理をコンピュータに実行させる移動プログラムであって、当該移動ロボットが所定のランドマークを検出可能な経路であるアークと、当該アークにおいて検出可能なランドマークとを対応付けて格納する地図情報格納手段に格納されている前記アーク上を前記移動ロボットが移動するときに、所定の位置間隔でランドマークの有無を検出するランドマーク検出ステップと、前記ランドマーク検出ステップにおいて、前記地図情報格納手段において前記アークに対応付けられているランドマークを検出しない場合に、当該ロボットが移動中の前記アークおよび当該アークに対応付けられている前記ランドマークを前記地図情報格納手段から削除する更新を行う地図情報更新ステップとを有することを特徴とする。
【００１８】
また、本発明は、目的地まで移動可能な移動ロボットの移動処理をコンピュータに実行させる移動プログラムであって、当該移動ロボットを移動させる移動ステップと、当該移動ロボットが移動するときに、所定の位置間隔で前記ランドマークの有無を検出するランドマーク検出ステップと、前記ランドマーク検出ステップにおいて前記ランドマークを検出したときの当該移動ロボットの位置を特定するロボット位置特定ステップと、前記ロボット位置特定ステップにおいて特定した前記移動ロボットの位置に基づいて、前記ランドマークを検出可能な経路であるアークを特定するアーク特定ステップと、前記アーク特定ステップにおいて特定した前記アークを当該アークにおいて検出可能なランドマークに対応付けて地図情報格納手段に格納する格納ステップと、前記地図情報格納手段に格納されている前記アークおよび前記ランドマークに基づいて、当該移動ロボットを前記目的地まで移動させるための移動経路を作成する移動経路作成ステップとを有することを特徴とする。
【発明の効果】
【００１９】
本発明にかかる移動ロボットは、地図情報格納手段が、当該移動ロボットが所定のランドマークを検出可能な経路であるアークと、当該アークにおいて検出可能な前記ランドマークとを対応付けて格納し、ランドマーク検出手段が、当該移動ロボットが地図情報格納手段に格納されているアーク上を移動するときに、所定の位置間隔でランドマークの有無を検出し、ロボット位置特定手段が、ランドマーク検出手段が検出したランドマークが地図情報格納手段においてアークに対応付けられているランドマーク以外のランドマークである場合に、当該ランドマークを検出したときの当該移動ロボットの位置を特定し、アーク作成手段が、ロボット位置特定手段が特定したロボットの位置に基づいて、地図情報格納手段においてアークに対応付けられているランドマーク以外のランドマークを検出可能なアークを作成し、地図情報更新手段が、アーク作成手段により作成されたアークと、当該アークにおいて検出可能なランドマークとを対応付けて地図情報格納手段に新たに格納させる更新を行うので、移動ロボットが移動する範囲における障害物の設置位置が変更された場合など、地図情報と実際の位置とが異なった場合には、実際の位置を特定し地図情報を更新することができる。すなわち、実際の配置が変更された場合であっても、配置の変更に対応した更新がなされた後の地図情報を利用して移動することができるので、正確にかつ効率的に目的地まで移動することができるという効果を奏する。また、当該処理は移動ロボットの移動中において適宜行うことができるので、利用者は、実際の配置が変更される度に移動ロボットに格納されている地図情報を更新する必要がなく、利便性に優れているという効果を奏する。
【発明を実施するための最良の形態】
【００２０】
以下に、本発明にかかる移動ロボット、当該移動ロボットの移動方法および移動プログラムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００２１】
図１は、実施の形態にかかる移動ロボット４００の外観図である。移動ロボット４００は、人間が命令内容を発話すると、音声認識により命令内容を認識する。そして、命令内容を実行する。例えば、「ノード１に移動」と命令すると、ノード１に移動というフレーズを音声認識し、実際にノード１として登録されている位置に移動する。
【００２２】
移動ロボット４００は、ＣＣＤカメラ４１１，４１２と、カメラ雲台４２０と、マイクロホンアレイ４３０と、超音波センサ４４０と、移動用車輪４５１，４５２とを備えている。
【００２３】
ＣＣＤカメラ４１１，４１２は、画像センサである。２つのＣＣＤカメラ４１１，４１２を備えることにより、ステレオ視による距離の算出が可能である。カメラ雲台４２０は、後述のカメラ雲台駆動機構により駆動する。これによりＣＣＤカメラ４１１，４１２の向きを変更することができる。マイクロホンアレイ４３０は、複数の音声マイクにより形成されている。
【００２４】
超音波センサ４４０は、測距センサである。なお、距離を測定するためのセンサであればよく、特に超音波センサ４４０に限定されるものではない。他の例としては、例えば、レーザーレンジファインダーであってもよい。
【００２５】
また、超音波センサ４４０の検出結果を利用することにより、移動ロボット４００は例えば部屋の壁に沿って移動することができる。具体的には、移動ロボット４００は、超音波センサ４４０による検出結果に基づき壁から一定距離の位置を壁沿いに移動する。
【００２６】
移動用車輪４５１，４５２は、移動ロボット４００自身を移動させるための移動手段である。移動用車輪４５１，４５２はさらに回転可能であって、移動方向を変更することもできる。このように、移動手段を備えることにより、自律的に任意の位置および方向に移動することができる。
【００２７】
図２は、移動ロボット４００に特徴的な音声認識処理を実現する処理部１０の機能構成を示すブロック図である。処理部１０は、ロボット位置推定部１００と、移動指示取得部１０２と、移動経路作成部１０４と、ランドマーク検出部１０６と、ロボット移動処理部１０８と、データベース（ＤＢ）更新部１１０と、地図ＤＢ１２０とを備えている。
【００２８】
ロボット位置推定部１００は、ロボット位置を推定する。ロボット位置推定部１００は例えば、超音波センサ４４０の検出結果に基づいて音源距離を推定する。
【００２９】
移動指示取得部１０２は、移動指示を取得する。移動指示には、周回指示と目的地到達指示とがある。周回指示とは、移動ロボット４００の周囲の壁に沿った移動をすべき旨の指示である。また目的地到達指示とは、移動ロボット４００の所定の移動先である目的地まで移動する旨を示す指示である。
【００３０】
具体的には、利用者が例えば「ノード１まで移動」と移動ロボット４００に対して話し掛ける。この場合、マイクロホンアレイ４３０は、この音声を収音し、音声認識手段（図示せず）による音声認識の結果「ノード１まで移動」という目的地到達指示が得られる。そして、移動指示取得部１０２は、音声認識手段より目的地到達指示を取得する。
【００３１】
なお、他の例としては、移動ロボット４００はキーボード等のユーザインターフェースを備えており、ユーザはこのユーザインターフェースにおいて周回指示および目的地到達指示を入力することとしてもよい。この場合、移動指示取得部１０２は、ユーザインターフェースから移動指示を取得する。
【００３２】
地図ＤＢ１２０は、移動ロボット４００が移動する範囲内における地図情報を格納している。本実施の形態にかかる移動ロボット４００はトポロジカル地図を利用して移動する。移動ロボット４００が利用する地図情報は具体的には、所定のノードまで到達するためのアークの情報、および各ノードの情報などである。
【００３３】
ここで、ノードとは、移動ロボット４００が移動する範囲内の所定の位置である。例えば、部屋のコーナーの位置である。また、アークとは、２つのノードにより形成される直線である。本実施の形態にかかる移動ロボット４００は、このノードとアークを利用して目的地まで移動する。
【００３４】
移動経路作成部１０４は、ロボット位置推定部１００からロボット位置を取得する。さらに、移動指示取得部１０２から移動指示を取得する。そして、地図ＤＢ１２０に格納されている地図情報、ロボット位置および移動指示に基づいて移動経路を作成する。ここで、移動経路とは、移動ロボット４００が目的地到達指示にしたがって移動する場合に目的地に到達するための経路である。
【００３５】
ランドマーク検出部１０６は、ランドマークを検出する。具体的には、例えば、ＣＣＤカメラ４１１，４１２により撮像された画像からランドマークを検出する。本実施の形態においては、ランドマークは、部屋のコーナーであるものとする。コーナーは、ＣＣＤカメラ４１１，４１２により撮像された画像から検出することができる。
【００３６】
なお、他の例としては、移動ロボット４００は赤外線レーザをさらに備え、赤外線レーザによる検出結果に基づいて、ランドマークを検出してもよい。
【００３７】
ロボット移動処理部１０８は、ランドマーク検出部１０６が検出したランドマークおよび１０４が作成した移動経路に基づいて当該移動ロボット４００自身を移動させるための処理を行う。具体的には、移動用車輪４５１，４５２の駆動機構である車輪駆動機構（後述）に対して移動用車輪４５１，４５２を移動させる旨の命令を出力する。これにより、車輪駆動機構が駆動し、実際に移動用車輪４５１，４５２が移動する。
【００３８】
ＤＢ更新部１１０は、ランドマーク検出部１０６からの指示により地図ＤＢ１２０の情報を更新する。また、地図ＤＢ１２０に地図情報が登録されていない場合には、新たに地図を作成する。具体的には、ノード情報およびアーク情報を作成する。
【００３９】
なお、本実施の形態にかかるＤＢ更新部１１０は、特許請求の範囲に記載の地図情報更新手段およびアーク作成手段に相当する。
【００４０】
図３は、地図ＤＢ１２０に格納されているノードの情報のデータ構成を模式的に示している。図３に示すように、地図ＤＢ１２０は、ノードの情報として、ノードを識別するノードＩＤと、各ノードの座標値と、種類と、検出可能ランドマークとを格納している。
【００４１】
座標値は、所定のノードを原点とした場合の相対的な座標値である。本実施の形態においては、ノードＩＤがノード１であるノードを原点とした場合の座標値が格納されている。また、種類とは、ノード自身の種類であり、例えば部屋のコーナーであるとか、ランドマーク検出境界点であるなどの情報である。ここで、ランドマーク検出境界点とは、移動ロボット４００が存在する位置であるロボット位置以外の位置に配置されたランドマークを検出可能か否かの境界となる点である。
【００４２】
図４は、ランドマーク検出境界点について説明するための図である。例えば、図４に示すような部屋５００において、移動ロボット４００が西壁５２２の壁沿いに移動する。この場合、コーナー１からノードＸの地点までの位置では、ＣＣＤカメラ４１１，４１２は、コーナー４を視認することができる。すなわち、ＣＣＤカメラ４１１，４１２がコーナー４の方向を撮像した画像からコーナー４を検出することができる。しかし、ノードＸからノード２の間においては障害物５１０の存在によりコーナー４を検出することができない。この場合、ノードＸは、ランドマーク検出境界点となる。このように、所定の移動経路においてランドマークを検出できる位置とランドマークを検出できない位置とがある場合に、この境界となる位置がランドマーク検出境界点である。
【００４３】
すなわち、ランドマーク検出境界点とは、自己以外のランドマークを検出可能か否かの境界点である。
【００４４】
図５は、地図ＤＢ１２０に格納されているアークの情報のデータ構成を模式的に示している。図５に示すように、地図ＤＢ１２０は、アークの情報として、アークを識別するアークＩＤと、各アークにおける移動領域と移動種類とを格納している。
【００４５】
ここで、移動領域とは、当該アークから移動可能な地点を示す情報である。例えば、図４に示すアーク１の移動領域の情報は、ノード１からノード２に移動可能であり、かつノード２からノード１に移動可能であることを示している。また、アーク２の移動情報は、ノード３からノード２に移動可能であることを示している。ただし、ノード２からノード３への矢印がないので、ノード２からノード３には移動できない。また、アーク３の移動情報は、アーク２上のいずれの位置からもノード１に移動可能であることを示している。
【００４６】
なお、より具体的には、アーク情報およびノード情報は、以下の記述として地図ＤＢ１２０に記録される。例えば、ノード１というノードが座標（０，０）にあることは以下のように記述する：
ｎｏｄｅ（ｎｏｄｅ１，０，０）
【００４７】
また、ノードには、自身が移動ロボット４００から検出可能なランドマークであるものとランドマーク検出境界点であるものがある。ノード１がランドマークであることは以下のように記述する：
ｌａｎｄｍａｒｋ（ｎｏｄｅ１）
【００４８】
また、ノード１がノード１以外のノードであるノード３を検出可能か否かの境界点であるランドマーク検出境界点であることは、以下のように記述する：
ｌａｎｄｍａｒｋＣｈｅｃｋＰｏｉｎｔ（ｎｏｄｅ３，ｎｏｄｅ１）
【００４９】
また、隣り合う２つのノード間の連結関係はアークで表す。アーク１は、隣り合う２つのノードであるノード１とノード２の連結関係を示すアークである。ノード１からノード２に移動可能である。このことは以下のように記述する：
ａｒｃ(ａｒｃ１，ｎｏｄｅ１，ｎｏｄｅ２)
さらに、アーク１においてノード２からノード１へも移動可能である場合には、（つまり、双方向に移動可能である場合には）以下の内容をさらに記述する：
ａｒｃ（ａｒｃ１，ｎｏｄｅ２，ｎｏｄｅ１）
アーク１上では、壁沿いに移動するという情報は、以下のように記述する：
ａｌｏｎｇＷａｌｌ（ａｒｃ１）
【００５０】
すなわち、以下の記述から双方向に移動可能な壁沿いの移動であることがわかる。
ａｒｃ(ａｒｃ１，ｎｏｄｅ１，ｎｏｄｅ２)
ａｒｃ（ａｒｃ１，ｎｏｄｅ２，ｎｏｄｅ１）
ａｌｏｎｇＷａｌｌ（ａｒｃ１）
【００５１】
また、別のアークであるアーク３上において、ノード１をランドマークとして検出しつつその方向へ移動することは、以下のように記述する：
ｔｏＬａｎｄｍａｒｋ（ａｒｃ３，ｎｏｄｅ１）
【００５２】
図６は、移動ロボット４００が地図ＤＢ１２０に格納すべき地図情報を作成するときの処理を示すフローチャートである。なお、前提として、移動ロボット４００は、図７に示す部屋５００の地図情報を作成するものとする。図７に示す部屋５００の中央部分には障害物５１０が存在している。
【００５３】
地図ＤＢ１２０に地図情報がまだ登録されていない状態で、部屋のコーナー１にいる移動ロボット４００が利用者から周回移動を指示されると、移動ロボット４００は、壁沿いに部屋の移動を開始する。本実施の形態にかかる移動ロボット４００は、図７に示すようにコーナー１からコーナー２、コーナー３、コーナー４の順に半時計回りに壁沿いを移動する。なお、移動方向は時計回りであってもよい。
【００５４】
移動ロボット４００の移動指示取得部１０２が、利用者から周回移動の指示を取得したときに、地図ＤＢ１２０に地図情報が登録されていない場合には、周回移動の際に新たに地図を作成する。
【００５５】
まず、移動ロボット４００のＤＢ更新部１１０は、地図作成のための開始位置であるコーナー１を地図情報として登録する（ステップＳ１００）。具体的には、コーナーに対してノードＩＤを付与する。ここでは、「ノード１」のノードＩＤを付与する。さらに、ノード１の座標（０，０，０）を登録する。ここで、座標値は当該コーナーを原点とする値である。さらに、ノード１がコーナー１である旨を登録する。
【００５６】
次に、移動ロボット４００は移動を開始する。移動ロボット４００は、西壁５２２に沿って移動する（ステップＳ１０２）。移動の間、ランドマーク検出部１０６はランドマークを検出する。具体的には、カメラ雲台４２０はＣＣＤカメラ４１１，４１２を回転させる。そして、ＣＣＤカメラ４１１，４１２は各方向の画像を撮像する。ランドマーク検出部１０６は、得られた各方向の画像に基づいてランドマークの有無を検出する。
【００５７】
次のコーナーに到達すると（ステップＳ１０４，Ｙｅｓ）、到達したコーナーをノードとして登録する（ステップＳ１０６）。さらに、このとき登録したノードと直前に移動ロボット４００が通過したノードとの間の直線をアークとして新たに登録する（ステップＳ１０８）。
【００５８】
なお、壁沿いに移動し、前方に壁が存在することを認識した場合、コーナーであると認識することができる。より具体的には、ＣＣＤカメラ４１１，４１２により撮像された画像または超音波センサ４４０の検出結果に基づいて前方の壁との距離を推定する。そして、壁との距離が予め定めた閾値以下となったときに、当該位置をコーナーと認識することとする。
【００５９】
一方、コーナーに到達するまでの移動の途中において、ランドマーク検出部１０６は、ＣＣＤカメラ４１１，４１２によってランドマークが撮像されたか否かに基づいてランドマークを検出する。
【００６０】
ランドマーク検出部１０６は、移動中は常にランドマークの有無を確認する。そして、ランドマーク検出境界点に到達すると（ステップＳ１２０，Ｙｅｓ）、ランドマーク検出境界点をノードとして登録する（ステップＳ１２２）。
【００６１】
具体的には、ノードＩＤを新たに付与し、当該ノードＩＤに対してロボット位置を示す座標値を登録する。さらに、当該のノードの種類としてランドマーク検出境界点である旨を登録する。また、このとき検出されたランドマークのランドマークＩＤを登録する。
【００６２】
ステップＳ１２０におけるランドマーク検出境界点か否かの判断は、以下のように行われる。すなわち、移動ロボット４００が所定の経路を移動中それまで検出できなかったランドマークをはじめて検出した場合、このランドマークを検出した位置はランドマークの検出可否の境界位置であるからランドマーク検出境界点と特定される。
【００６３】
また、移動ロボット４００が所定の経路を移動中たえず所定のランドマークを検出していたとする。そして、ある地点においてこのランドマークを検出することができなくなった場合、このランドマークが検出できなくなった位置はランドマークの検出可否の境界位置である。すなわち、ランドマーク検出境界点と特定される。
【００６４】
さらに、今回登録したノードに到着する直前に経由したノードと今回登録したノードとの間の直線をアークとして新たに登録する（ステップＳ１２４）。このとき登録したアーク上の任意の位置において検出可能なランドマークが存在する場合には（ステップＳ１２６，Ｙｅｓ）、登録したアークとランドマークとの間の直線をアークとして新たに登録する（ステップＳ１２８）。以上の処理を出発地点であるコーナー１に到達するまで行う（ステップＳ１３０）。
【００６５】
以下、図８から図１４を参照しつつ、地図作成処理についてより詳細に説明する。まず、地図作成開始時に、ＤＢ更新部１１０は、現在のロボット位置であるコーナー１をノード１として地図ＤＢ１２０に登録する。また、座標値（０，０）を登録する。さらに、ノード１がランドマークである旨を登録する。具体的には、以下の記述を地図ＤＢ１２０に格納する。
ｎｏｄｅ（ｎｏｄｅ１，０，０）
ｌａｎｄｍａｒｋ（ｎｏｄｅ１）
【００６６】
そして、移動ロボット４００は、図８に示すようにマイクロホンアレイ４３０の検出結果に基づいて、コーナー１からコーナー２に向かって壁沿いの移動を開始する。
【００６７】
移動ロボット４００は、まず次のコーナーまで移動する。そして、コーナーに到達するとＤＢ更新部１１０は、到達したコーナーをノード２として登録する。さらにノード２の座標値（０，−７０）を登録する。すなわち、以下の記述を地図ＤＢ１２０に格納する。
ｎｏｄｅ（ｎｏｄｅ２，０，-７０）
【００６８】
なお、ロボット位置推定部１００は、移動中のロボット位置の座標値は、移動ロボット４００のタイヤの角度、回転量等に基づいて推定する。
【００６９】
さらにノード２がランドマークである旨を登録する。すなわち、以下の記述を地図ＤＢ１２０に格納する。
ｌａｎｄｍａｒｋ（ｎｏｄｅ２）
【００７０】
さらに、ＤＢ更新部１１０は、ノード１とノード２の間の直線であるアークを登録する。当該アークに対してアークＩＤとして「アーク１」を付与する。そして、当該アークによりノード１からノード２へ移動可能である旨を登録する。すなわち、以下の記述を地図ＤＢ１２０に格納する。
ａｒｃ（ａｒｃ１，ｎｏｄｅ１，ｎｏｄｅ２）
【００７１】
また、アーク１がノード２からノード１へ移動可能である旨を登録する。すなわち、以下の記述を地図ＤＢ１２０に格納する。
ａｒｃ（ａｒｃ１，ｎｏｄｅ２，ｎｏｄｅ１）
【００７２】
また、アーク１上では壁沿いに移動する旨を登録する。すなわち、以下の記述を地図ＤＢ１２０に格納する。
ａｌｏｎｇＷａｌｌ（ａｒｃ１）
【００７３】
以上の処理によりコーナー２までの地図の作成が完了する。続いて、コーナー３に向かって移動し、コーナー２からコーナー３までの間の地図を作成する。
【００７４】
図９は、コーナー２からコーナー３まで移動しつつ地図を作成する処理を説明するための図である。
【００７５】
移動ロボット４００は、コーナー２すなわちノード２から南壁５２４に沿って移動する。ランドマーク検出部１０６は、ノード２において、地図ＤＢ１２０に登録されているノード１を検出する。ノード１が検出可能であることを確認しつつ、南壁５２４に沿って移動する。
【００７６】
具体的には、ＣＣＤカメラ４１１，４１２を頻繁にノード１の方向に向ける。これにより、移動中の各位置において、ノード１を検出可能か否かを判断する。移動ロボット４００が南壁５２４上の位置５２４２に到達すると、ノード１は障害物５１０の陰に隠れてしまう。このため、ランドマーク検出部１０６は、ノード１を検出できなくなる。すなわち、位置５２４２は、ランドマーク検出境界点である。
【００７７】
そこで、ランドマーク検出部１０６は、位置５２４２をノードとして登録する。具体的には、位置５２４２をノード３として登録する。ノード３の相対座標として以下の記述を地図ＤＢ１２０に登録する。
ｎｏｄｅ(ｎｏｄｅ３，５０,−７０)
【００７８】
さらに、ノード３がランドマーク検出境界点である旨を登録する。すなわち、以下の記述を登録する。
ｌａｎｄｍａｒｋＣｈｅｃｋＰｏｉｎｔ（ｎｏｄｅ３，ｎｏｄｅ１）
【００７９】
また、ノード２とノード３の間の直線をアーク２として登録する。アーク２では、ノード２からノード３へ移動可能である。また、逆に、ノード３からノード２まで移動可能である。さらに、アーク２は壁沿いに移動可能である。したがって、以下の記述を登録する。
ａｒｃ(ａｒｃ２，ｎｏｄｅ２，ｎｏｄｅ３)
ａｒｃ(ａｒｃ２，ｎｏｄｅ３，ｎｏｄｅ２)
ａｌｏｎｇＷａｌｌ(ａｒｃ２)
【００８０】
さらに、アーク２上の任意の点からノード１を検出することができる。検出したノード１の方向に移動することにより、ノード１に到達することができる。そこで、アーク２上のすべての位置からノード１まで移動可能である旨を登録する。すなわち、以下の記述を登録する。
ａｒｃ(ａｒｃ３，ａｒｃ２，ｎｏｄｅ１)
ｔｏＬａｎｄｍａｒｋ(ａｒｃ３，ｎｏｄｅ１)
【００８１】
以上の登録が完了すると、以降も続けて壁沿いに移動する。次に到達するコーナー３までノード１は検出されない。したがって、コーナー３まで新たなノードは登録されない。
【００８２】
そして、コーナー３に到達すると、コーナー３をノード４として登録する。すなわち、ノード４の座標と、ランドマークである旨を登録する。
ｎｏｄｅ(ｎｏｄｅ４，１２０，−７０)
ｌａｎｄｍａｒｋ(ｎｏｄｅ４)
また、ノード３とノード４の間のアークをアーク４として登録する。すなわち、以下の記述を登録する。
ａｒｃ(ａｒｃ４，ｎｏｄｅ３，ｎｏｄｅ４)
ａｒｃ(ａｒｃ４，ｎｏｄｅ４，ｎｏｄｅ３)
ａｌｏｎｇＷａｌｌ(ａｒｃ４)
【００８３】
図１０は、コーナー３からコーナー５に向けて移動しつつ地図を作成する処理を説明するための図である。
【００８４】
移動ロボット４００は、コーナー３すなわちノード４から東壁５２６に沿って移動する。ランドマーク検出部１０６は、ノード３において地図ＤＢ１２０に登録されているノード２を検出する。ノード２が検出可能なことを確認しつつ東壁５２６に沿って移動する。
【００８５】
移動ロボット４００が位置５２６２に到達すると、ノード２は障害物５１０の陰に隠れてしまう。このため、ランドマーク検出部１０６は、ノード３を検出できなくなる。すなわち、位置５２６２は、ランドマーク検出境界点である。そこで、ＤＢ更新部１１０は、位置５２６２をノード５として登録する。さらに、ノード５の相対座標として以下の記述を地図ＤＢ１２０に登録する。
ｎｏｄｅ(ｎｏｄｅ５，１２０，−５２)
さらに、ノード５がランドマークであるノード２のランドマーク検出境界点である旨を登録する。
ｌａｎｄｍａｒｋＣｈｅｃｋＰｏｉｎｔ(ｎｏｄｅ５，ｎｏｄｅ２)
【００８６】
また、ノード４からノード５までのアークをアーク５として登録する。アーク５は、壁沿いに双方向に移動可能なので、以下のように記録する。
ａｒｃ(ａｒｃ５，ｎｏｄｅ４，ｎｏｄｅ５)
ａｒｃ(ａｒｃ５，ｎｏｄｅ５，ｎｏｄｅ４)
ａｌｏｎｇＷａｌｌ(ａｒｃ５)
【００８７】
さらに、アーク５上の任意の点からノード２を検出することができる。ノード２を検出し、検出した方向に進むことにより、移動ロボット４００は、アーク５上の任意の点からノード２に移動することができる。そこで、このアークをアーク６として地図ＤＢ１２０に登録する。さらに、アーク６によりノード２に到達可能な旨を登録する。
ａｒｃ(ａｒｃ６，ａｒｃ５，ｎｏｄｅ２)
ｔｏＬａｎｄｍａｒｋ(ａｒｃ６，ｎｏｄｅ２)
【００８８】
移動ロボット４００は、ノード５を通過し、さらに東壁５２６を壁沿いに移動する。図１１は、ノード５を通過後、コーナー４まで移動しつつ地図を作成する処理を説明するための図である。
【００８９】
移動ロボット４００が位置５２６２に到達すると、ランドマーク検出部１０６は、東壁５２６においてはじめてノード１を検出する。すなわち位置５２６２は、ランドマーク検出境界点である。そこで、位置５２６２をノード１のランドマーク検出境界点のノードとして新たに登録する。ノード６の相対座標およびランドマーク検出境界点である旨を記録する。
ｎｏｄｅ(ｎｏｄｅ６，１２０，−４８)
ｌａｎｄｍａｒｋＣｈｅｃｋＰｏｉｎｔ(ｎｏｄｅ６，ｎｏｄｅ１)
【００９０】
また、ノード５とノード６の間の直線をアーク７として登録する。さらに、アーク７においては壁沿いに双方向に移動可能である旨を記録する。
ａｒｃ(ａｒｃ７，ｎｏｄｅ５，ｎｏｄｅ６)
ａｒｃ(ａｒｃ７，ｎｏｄｅ６，ｎｏｄｅ５)
ａｌｏｎｇＷａｌｌ(ａｒｃ７)
【００９１】
そして、ノード１が検出可能であることを確認しつつ、東壁５２６に沿って移動する。コーナー４までの間ノード１を検出可能な状態のままコーナー４に到達する。ここで、コーナー４をノード７として新たに登録する。ノード７の相対座標およびランドマークである旨を記録する。
ｎｏｄｅ(ｎｏｄｅ７，１２０，０)
ｌａｎｄｍａｒｋ(ｎｏｄｅ７)
【００９２】
また、ノード６とノード７の間の直線をアーク８として登録する。さらに、アーク８においては壁沿いに双方向に移動可能である旨を記録する。
ａｒｃ(ａｒｃ８，ｎｏｄｅ６，ｎｏｄｅ７)
ａｒｃ(ａｒｃ８，ｎｏｄｅ７，ｎｏｄｅ６)
ａｌｏｎｇＷａｌｌ(ａｒｃ８)
【００９３】
さらに、アーク８上の任意の点からノード１を検出可能である。これにより、移動ロボット４００はノード１に移動可能である。そこで、アーク８上の点からノード１へのアークを新たに登録する。
ａｒｃ(ａｒｃ９，ａｒｃ８，ｎｏｄｅ１)
ｔｏＬａｎｄｍａｒｋ(ａｒｃ９，ｎｏｄｅ１)
【００９４】
図１２は、コーナー４からコーナー１に向けて移動しつつ地図を作成する処理を説明するための図である。
【００９５】
移動ロボット４００は、コーナー４すなわちノード７から北壁５２８に沿って移動する。ランドマーク検出部１０６は、ノード７において地図ＤＢ１２０に登録されているノード４を検出する。ノード４が検出可能なことを確認しつつ北壁５２８に沿って移動する。
【００９６】
移動ロボット４００が位置５２８２に到達すると、ランドマーク検出部１０６は、これまで障害物５１０の陰に隠れていたノード２を検出する。すなわち、位置５２８２はランドマーク検出境界点である。そこで、ＤＢ更新部１１０は、位置５２８２をノード８として登録する。また、相対座標を登録する。
ｎｏｄｅ(ｎｏｄｅ８，７０，０)
【００９７】
また、ノード８はランドマークであるノード２のランドマーク検出境界点である旨を記録する。
ｌａｎｄｍａｒｋＣｈｅｃｋＰｏｉｎｔ(ｎｏｄｅ８，ｎｏｄｅ２)
【００９８】
さらに、ノード７とノード８の間のアーク１０として登録する。アーク１０は壁沿いに双方向に移動可能であり、以下のように記録する。
ａｒｃ(ａｒｃ１０，ｎｏｄｅ７，ｎｏｄｅ８)
ａｒｃ(ａｒｃ１０，ｎｏｄｅ８，ｎｏｄｅ７)
ａｌｏｎｇＷａｌｌ(ａｒｃ１０)
【００９９】
さらに、アーク１０上の任意の点からノード４を検出することができる。したがって、移動ロボット４００は、アーク１０上の任意の点からノード４に移動することができる。そこで、このアークをアーク１１として以下の内容を登録する。
ａｒｃ(ａｒｃ１１，ａｒｃ１０，ｎｏｄｅ４)
ｔｏＬａｎｄｍａｒｋ(ａｒｃ１１,ｎｏｄｅ４)
【０１００】
移動ロボット４００はノード８を通過し、さらに北壁５２８を壁沿いに移動する。図１３は、ノード８を通過後、コーナー１に向けて移動しつつ地図を作成する処理を説明するための図である。
【０１０１】
移動ロボット４００が位置５２８４に到達すると、ノード４は、障害物５１０の陰に隠れてしまう。このため、ランドマーク検出部１０６はノード４を検出できなくなる。すなわち、位置５２８４は、ランドマーク検出境界点である。そこで、ＤＢ更新部１１０は、位置５２８４をノード９として登録する。
さらに、ノード９の相対座標として以下の記述を地図ＤＢ１２０に登録する。
ｎｏｄｅ(ｎｏｄｅ９，４０，０)
【０１０２】
さらに、ノード９はランドマークであるノード４のランドマーク検出境界点である旨を登録する。
ｌａｎｄｍａｒｋＣｈｅｃｋＰｏｉｎｔ(ｎｏｄｅ９，ｎｏｄｅ４)
【０１０３】
また、ノード８からノード９までのアーク（壁沿いに双方向に移動可能）は以下のように記録する。
ａｒｃ(ａｒｃ１２，ｎｏｄｅ８，ｎｏｄｅ９)
ａｒｃ(ａｒｃ１２，ｎｏｄｅ９，ｎｏｄｅ８)
ａｌｏｎｇＷａｌｌ(ａｒｃ１２)
【０１０４】
アーク１２上の任意の点からノード４とノード２が視覚認識できるので、ノード４やノード２に行くことができる。このようなアークからノード（ランドマーク）への経路もアークとして以下のように記録する。
ａｒｃ(ａｒｃ１３，ａｒｃ１２，ｎｏｄｅ４)
ｔｏＬａｎｄｍａｒｋ(ａｒｃ１３，ｎｏｄｅ４)
ａｒｃ(ａｒｃ１４，ａｒｃ１２，ｎｏｄｅ２)
ｔｏＬａｎｄｍａｒｋ(ａｒｃ１４，ｎｏｄｅ２)
【０１０５】
図１４は、ノード９を通過後ノード１まで移動しつつ地図を作成する処理を説明するための図である。
【０１０６】
移動ロボット４００は、ノード９を通過するとノード２を検出可能な状態のままノード１に到達する。そして、ノード９からノード１までのアーク（壁沿いに双方向に移動可能）を以下のように記録する。
ａｒｃ(ａｒｃ１５，ｎｏｄｅ９，ｎｏｄｅ１)
ａｒｃ(ａｒｃ１５，ｎｏｄｅ１，ｎｏｄｅ９)
ａｌｏｎｇＷａｌｌ(ａｒｃ１５)
【０１０７】
アーク１５上の任意の点からノード２を検出することができる。したがって、アーク１５からノード２へのアークをアーク１６として以下のように記録する。
ａｒｃ(ａｒｃ１６，ａｒｃ１５，ｎｏｄｅ２)
ｔｏＬａｎｄｍａｒｋ(ａｒｃ１６，ｎｏｄｅ２)
【０１０８】
以上のように、移動ロボット４００は、部屋を周回することにより、ランドマークであるコーナーを検出可能か否かに基づいて移動するためのトポロジカル地図を作成することができる。
【０１０９】
図１５は、利用者から目的地到達指示が与えられたときに目的地まで移動する移動処理を示すフローチャートである。移動ロボット４００の移動指示取得部１０２が移動指示を取得すると(ステップＳ２００)、まず移動経路作成部１０４は現在のロボット位置を特定する。現在のロボット位置が地図ＤＢ１２０に登録されているいずれかのノードでもない場合には(ステップＳ２０２，Ｎｏ)、ノードまで移動する（ステップＳ２０４）。
【０１１０】
移動ロボット４００がアーク上を移動している場合には、このようにノード以外の位置に存在する。この場合には、アーク上の移動を続行することによりノードに到達する。
【０１１１】
次に、移動経路作成部１０４は、地図ＤＢ１２０に格納されている地図情報に基づいて経路を特定する(ステップＳ２０６)。なお、このとき、移動ロボット４００が移動する対象となる部屋の全体の地図データが格納されている必要はない。
【０１１２】
そして、移動ロボット４００は、移動経路作成部１０４が作成した移動経路にしたがって、まず次のノードへの移動を開始する(ステップＳ２０８)。すなわち、例えば目的地に到達するまでに３つのノードを経由する必要がある場合には、そのうちの一番目のノードに向けて移動する。具体的には、地図ＤＢ１２０において一番目のノードに到達するための経路として登録されているアーク上を移動する。
【０１１３】
移動中は、移動ロボット４００はカメラ雲台４２０を回転させて絶えずランドマークの有無を検出する。そして、１番目のノードに到達する前に、ランドマーク検出部１０６が新たなノードを検出すると(ステップＳ２１０，Ｙｅｓ)、新たなノードについての地図情報を地図ＤＢ１２０に登録する(ステップＳ２１２)。新たなノードの地図情報を地図ＤＢ１２０に登録する処理については後述する。
【０１１４】
そして、次のノードに到達し(ステップＳ２１４，Ｙｅｓ)、かつ到達したノードが目的地でない場合には(ステップＳ２１６，Ｎｏ)、目的地に到達するまでステップＳ２０８からステップＳ２１６の処理を繰り返す。
【０１１５】
一方、次に到達すべきノードに向けて進んでいるにもかかわらず次のノードに到達しない場合には(ステップＳ２１４，Ｎｏ)、次に到達すべきノードの前のノード、すなわち直前に経由したノードに戻る(ステップＳ２２０)。そして、ＤＢ更新部１１０は、移動を試みたアークに関する地図情報を地図ＤＢ１２０から削除する(ステップＳ２２２)。
【０１１６】
そして、再びステップＳ２０６に戻り、移動経路作成部１０４は、移動を試みたアークに関する地図情報が削除された後、すなわち更新後の地図ＤＢ１２０に格納されている地図情報に基づいて目的地までの移動経路を作成する(ステップＳ２０６)。以上により、目的地までの移動処理が完了する。
【０１１７】
このように、次のノードに到達しない場合としては、例えばこれまで部屋の中にあった障害物が取り除かれた場合や、逆に新たな障害物が設置された場合が想定される。この場合には、このような障害物の位置の変更前の地図情報は利用することができない。
【０１１８】
そこで、本実施の形態にかかるＤＢ更新部１１０は、このように次のノードに到達しない場合には、実際の部屋の中の障害物の配置が変更されていると判断し、変更にかかる地図情報を削除する。すなわち、障害物の配置が変更されている場合には、障害物の配置の変更に応じて、地図ＤＢ１２０に格納されている地図情報を更新することができる。
【０１１９】
さらに、この場合には、直前のノードに戻り、更新後の地図ＤＢ１２０に格納されている地図情報に基づいて経路を特定することができる。したがって、障害物の配置が変更されている場合であっても、速やかに最も適切な移動経路を作成することができる。
【０１２０】
なお、本実施の形態においては、次のノードに到達できない場合にのみ、直前のノードに戻ることとしたが、これにかえて、新たなノードに関する地図情報を地図ＤＢ１２０に登録した場合にも、直前のノードに戻り、新たなノードに関する地図情報が登録された地図ＤＢ１２０に格納されている地図情報に基づいて再度目的地までの移動経路を作成してもよい。これにより、より適切な移動経路を作成することができる。
【０１２１】
図１６は、ステップＳ２１２におけるロボット位置推定部１００の処理を示すフローチャートである。移動ロボット４００がアーク上を移動しているときに、移動途中のロボット位置がランドマーク検出境界点であると特定された場合に、当該ロボット位置をノードとして新たに登録する(ステップＳ３００)。
【０１２２】
移動中のアークが壁沿いに２つのノード間を双方向に移動可能なアークＳである場合には(ステップＳ３０２，Ｙｅｓ)、新たに登録したノードと直前に経由したノードの間の直線を双方向移動可能なアークＴとして地図ＤＢ１２０に記録する(ステップＳ３０４)。
【０１２３】
次に、ステップＳ３００において新たに登録したノードと次に移動する予定であったノードの間の直線を壁沿いに双方向移動可能なアークＵとして新たに地図ＤＢ１２０に記録する(ステップＳ３０６)。次に、新たに登録したアークＴ上の任意の点から検出可能なランドマークへのアークＴ’をさらに記録する(ステップＳ３０８)。次に、新たに登録したアークＵ上の任意の点から検出可能なランドマークへのアークＵ’をさらに記録する(ステップＳ３１０)。そして、これまで移動していたアークＸに関する地図情報をすべて削除する(ステップＳ３１２)。
【０１２４】
一方、移動中のアークがランドマークＢの検出方向に移動可能なアークＸである場合には(ステップＳ３０２，Ｎｏ)、新たに登録したノードと直前に経由したノードの間の直線は、ランドマークＢを検出することにより移動可能なアークＹとして地図ＤＢ１２０に記録する(ステップＳ３２０)。
【０１２５】
次に、ステップＳ３００において新たに登録したノードと次に移動する予定だったノードまではランドマークＢを検出することにより移動可能なアークＺとして地図ＤＢ１２０に記録する(ステップＳ３２２)。
【０１２６】
次に、新たに登録したアークＹ上の任意の点から検出可能なランドマークへのアークＹ’をさらに記録する(ステップＳ３２４)。同様に、新たに登録したアークＺ上の任意の点から検出可能なランドマークへのアークＺ’をさらに記録する(ステップＳ３２６)。そして、これまで移動していたアークＸに関する地図情報を全て削除する(ステップＳ３１２)。以上でステップＳ２１２における処理が完了し地図ＤＢ１２０に格納されている地図情報が更新される。
【０１２７】
このように、移動ロボット４００が例えば目的地に向けて移動しているときに地図ＤＢ１２０に登録されていないランドマーク検出境界点を特定した場合には、特定した時点で地図ＤＢ１２０登録されている地図情報を更新することができる。したがって、部屋の内部における障害物の配置が変更された場合には自動的に地図ＤＢ１２０に格納されている地図情報を更新することができる。
【０１２８】
したがって、障害物の配置が変更された場合であっても、移動経路作成部１０４は、変更に対応した更新後の地図ＤＢ１２０に格納されている地図情報を利用することにより、目的地までの適切な経路を示す移動経路を作成することができる。
【０１２９】
図１７を参照しつつ、目的地到達指示を受けた場合の処理についてより詳細に説明する。図１７は移動ロボット４００が地図作成処理を終了し、ノード１に到達した後に、ノード４に移動する旨の目的地到達指示を受けた場合に作成される移動経路を示している。
【０１３０】
移動指示取得部１０２がノード４に移動する旨の目的地到達指示を取得すると、移動経路作成部１０４は、地図ＤＢ１２０に登録されている地図情報に基づいてノード１からノード４へ移動するための移動経路を作成する。なお、このとき地図ＤＢ１２０に登録されている地図情報は、図６等を参照しつつ説明した地図作成処理によって作成された情報である。
【０１３１】
この場合、移動経路作成部１０４が以下の経路を作成する。
（１）ノード１
（２）アーク１５（壁沿い）
（３）ノード９
（４）アーク１３（ノード４検出）
（５）ノード４
移動ロボット４００は、（１）から（５）の順に移動することによりノード４に到達することができる。
【０１３２】
移動経路作成部１０４は具体的には、地図ＤＢ１２０に格納されている以下の情報に基づいて上記（１）から（５）の移動経路を作成する。すなわち、
ａｒｃ（ａｒｃ１５，ｎｏｄｅ１，ｎｏｄｅ９）
という情報から、ノード１からアーク１５経由でノード９まで移動可能である。
ａｌｏｎｇＷａｌｌ（ａｒｃ１５）
という情報からは、アーク１５は、壁沿いに移動可能な経路である。
ａｒｃ（ａｒｃ１２，ｎｏｄｅ９，ｎｏｄｅ８）
ａｒｃ（ａｒｃ１３，ａｒｃ１２，ｎｏｄｅ４）
から、ノード９はアーク１２上の点であり、アーク１２の任意の点からノード４まで移動可能（アーク１３）である。したがって、ノード９からノード４までは、アーク１３を経由して直接到達することができる。
【０１３３】
さらに、
ｔｏＬａｎｄｍａｒｋ（ａｒｃ１３，ｎｏｄｅ４）
という情報から、アーク１３の区間では、ランドマーク４を検出して移動すればよい。
【０１３４】
なお、移動経路作成部１０４は、ノード１からノード４までの異なる複数の移動経路を作成することができる。本実施の形態にかかる移動経路作成部１０４は、このうち、最短ルートとなる移動経路を選択する。最短ルートを選ぶ方法としては、いくつかの経路を作成した後に、その移動距離が最も短い経路を選択することとしてもよい。また、他の例としては、よく知られた「Ａ＊」や「ダイクストラの方法」等を利用してもよい。
【０１３５】
また、他の例としては、未だ通過したことのないアークやノードを経由するような経路を優先的に選択することとしてもよい。これにより、新たなアークやノードを地図情報として地図ＤＢ１２０に登録することができる。この場合、地図ＤＢ１２０において各ノード情報やアーク情報に対応付けて、当該ノードやアークの経過の有無を示す情報を格納しておくこととする。
【０１３６】
また、他の例としては、一定期間以上通過していないアークやノードを経由するような経路を優先的に選択することとしてもよい。これにより、当該アーク等にかかる障害物の配置等が変更されていた場合には、障害物の配置等の変更に対応する地図情報の更新を行うことができる。
【０１３７】
さらに、図１７を参照しつつ説明した移動経路に従い移動ロボット４００がノード４に向けて移動している途中、アーク１３上の位置に到達した時点で、ユーザからノード４に行くのを中止してノード２に行く旨の目的地到達指示を取得したとする。
【０１３８】
図１８は、この場合に作成される移動経路を示している。移動ロボット４００はアーク１３上の位置５３００まで移動したところで、ノード２への目的地到達指示を取得したとする。ここで、位置５３００は、ノード２を検出不能な位置である。
【０１３９】
このように、アークを移動している途中で他の目的地到達指示を取得した場合には、投機的にノード２に直接向かう移動経路を作成する。しかし、ノード２との間に障害物５１０が存在するため、位置５３０２からはノード２を検出することができない。
【０１４０】
そこで、次に、移動ロボット４００が移動中のアーク１３上の別の点からノード２へ移動可能な経路を検討する。
【０１４１】
まず、ノード２を検出可能であり、かつ検出したノード２の方向に移動可能なアークを検出する。
ｔｏＬａｎｄｍａｒｋ（ａｒｃ６，ｎｏｄｅ２）
ｔｏＬａｎｄｍａｒｋ（ａｒｃ１４，ｎｏｄｅ２）
ｔｏＬａｎｄｍａｒｋ（ａｒｃ１６，ｎｏｄｅ２）
から、アーク６、アーク１４およびアーク１６のそれぞれが、ノード２へ移動可能なアークである。
【０１４２】
したがって、アーク６、アーク１４およびアーク１６のいずれかとアーク６とが交われば、その交点においてノード２を検出することができる。さらに、検出したノード２の方向に移動することによりノード２に到達することができる。
【０１４３】
さらに、以下の記録から、アーク６は、ノード５からノード４までのアーク５上の任意の点からノード２まで移動するためのアークであることがわかる。
ａｒｃ（ａｒｃ５，ｎｏｄｅ５，ｎｏｄｅ４）
ａｒｃ（ａｒｃ６，ａｒｃ５，ｎｏｄｅ２）
【０１４４】
また、以下の記録からノード５はノード２のランドマーク検出境界点である。
ｌａｎｄｍａｒｋＣｈｅｃｋＰｏｉｎｔ（ｎｏｄｅ５，ｎｏｄｅ２）
【０１４５】
そこで、ノード５とノード２を結ぶ線分と、移動ロボット４００の移動中の位置５３００とノード４を結ぶ線分の交点を求める。この交点をノード１６と定める。ノード１６からノード２を検出可能である。したがって、最終的に以下の移動経路を作成することができる。
（１）現在位置５３００
（２）アーク１３（ノード４検出）
（３）ノード１６
（４）アーク６（ノード２検出）
（５）ノード２
【０１４６】
なお、移動ロボット４００の位置５３００とノード６とを結ぶ線分と、先に候補としてあげたアーク１４およびアーク１６とは交わらない。したがって、これらのアークを経由する移動経路は作成しない。
【０１４７】
このように、現在の経路と交差するアークに特定することにより、演算量を抑えることができる。また、より適切な経路を特定することができる。
【０１４８】
以上のように、本実施の形態にかかる移動ロボット４００においては、地図ＤＢ１２０が格納している地図情報から計算可能なノードは、新ノードとして登録する必要がない。したがって、地図ＤＢ１２０に地図情報を格納するために要するメモリ容量を抑えることができる。
【０１４９】
また、他の例としては、本実施の形態のように２つの線分の交点を算出するのにかえて、アーク１３途中からノード２を検出可能になると仮定し、アーク１３を移動してもよい。この場合の経路は以下のようになる。
（１）現在位置５３００
（２）アーク１３（ノード４検出）
（３）ノード２検出
（４）ノード２まで移動（ノード２検出）
なお、この場合に、（３）においてノード２を検出する位置は、先に説明したノード１６と同一の位置となる。
【０１５０】
さらに、図１８を参照しつつ説明したようにノード２に移動すべくアーク１３上を移動しているときに、ノード１へ移動する旨の目的地到達指示を取得したとする。
【０１５１】
図１９は、この場合に作成される移動経路を示している。移動ロボット４００は、アーク１３上の位置５３０２まで移動したところで、ノード１への目的地到達支持を取得したとする。すると、移動ロボット４００はノード２に行くための移動を中止する。そして、移動経路作成部１０４は、再度経路探索を行う。
【０１５２】
ノード１はランドマークである。そこで、投機的に、ノード１に直接向かうプランを立てる。しかし、ノード１は障害物５１０の存在により検出することができない。そこで、次に、投機的に、アーク１３上のどこかでノード１が見えるだろうと仮定する。そして、以下の経路を作成する。
（１）現在位置５３０２
（２）アーク１３（ノード４認識）
（３）ノード１検出
（２）ノード１まで移動（ノード１検出）
【０１５３】
しかし、図１９に示すように、障害物５１０の存在によりアーク１３上を移動した場合ノード４に到達するまでノード１を検出することができない。このように、仮定して移動した結果所定のノードに到達するまで、移動経路上検出すべきランドマークを検出できない場合には到達したノードから改めて移動経路を計算する。
【０１５４】
このとき作成される移動経路は以下のようになる。
（１）現在位置（ノード４）
（２）アーク４（ノード２検出）
（３）ノード３
（４）アーク３（ノード１検出）
（５）ノード１
【０１５５】
次に、図２０および図２１を参照しつつ、ランドマーク検出境界点を新たにノードとして登録する処理について詳細に説明する。図２０は、壁沿いに移動している場合について説明するための図である。図２１は、検出したノードの方向に移動している場合について説明するための図である。
【０１５６】
図２０に示すように部屋５００にこれまで設置されていなかった障害物５１２が新たに設置されていたとする。そして、障害物５１２の設置後、移動ロボット４００がアーク２（アーク２は、図１６におけるアークＸに対応する。）上をノード２からノード３に向かって移動する。
【０１５７】
この場合、アーク２の途中の位置５３１０において障害物５１２の存在により、ノード１を検出できなくなる。すなわち、このときのロボット位置はランドマーク検出境界点となる。
【０１５８】
しかし、これまでは、障害物５１２は存在していなかったため、地図ＤＢ１２０には、当該ランドマーク検出境界点のノードは登録されていない。そこで、この場合には、新たにノードとして当該ランドマーク検出境界点を登録する。
【０１５９】
具体的には、まず今回特定したランドマーク検出境界点を新たにノードＡとして登録する。そして、ノード２とノードＡとの間の直線を新たにアークＴとして登録する。また、ノードＡとノード３との間の直線を新たにアークＵとして登録する。
【０１６０】
さらに、アークＴからノード１に移動するためのアークを新たにアークＴ’として登録し、アークＵからノード１に移動するためのアークを新たにアークＵ’として登録する。
【０１６１】
そして、既に地図ＤＢ１２０に登録されていたアーク２に関する地図情報をすべて削除する。ここで、アーク３に関する情報とは、例えば、アーク２だけでなく、アーク３からノード１へ向かうアークであるアーク３などがある。
【０１６２】
図２１に示すように、部屋５００にこれまで設置されていなかった障害物５１４が新たに設置されていたとする。そして、障害物５１４の設置後、移動ロボット４００がアーク９上をアーク８からノード１の方向に移動する。
【０１６３】
この場合、アーク９の途中の位置５３１２において、障害物５１４の存在によりノード７を検出できなくなる。すなわち、このときのロボット位置はランドマーク検出境界点となる。この場合には、新たにノードとして当該ランドマーク検出境界点を登録する。
【０１６４】
具体的には、まず今回特定したランドマーク検出境界点を新たにノードＢとして登録する。そしてアーク８からノードＢまでの線分を新たにアークＹとして登録する。また、アーク８からノード１までの線分を新たにアークＺとして登録する。
【０１６５】
このように、部屋５００に新たにランドマーク検出の障害となる物が設置された場合であっても、当該障害物を検出した時点で、地図ＤＢ１２０に格納されている地図情報を更新することができる。
【０１６６】
したがって、部屋の中の障害物の配置が変更された場合であっても、移動ロボット４００は適切な経路を経由して目的地に到達することができる。また、このような更新処理を自動的に行うことができるので、利便性に優れている。
【０１６７】
図２２は、実施の形態に係る移動ロボット４００のハードウェア構成を示す図である。移動ロボット４００は、ハードウェア構成として、移動ロボット４００における地図作成処理を実行する地図作成プログラムおよび作成された地図による移動を行う移動処理を実行する移動処理プログラムなどが格納されているＲＯＭ５２と、ＲＯＭ５２内のプログラムに従って移動ロボット４００の各部を制御するＣＰＵ５１と、移動ロボット４００の制御に必要な種々のデータを記憶するＲＡＭ５３と、ネットワークに接続して通信を行う通信I／Ｆ５７と、各部を接続するバス６２とを備えている。
【０１６８】
先に述べた処理部１０における地図作成プログラムおよび移動処理プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フロッピー（Ｒ）ディスク（ＦＤ）、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録されて提供されてもよい。
【０１６９】
この場合には、地図作成プログラムおよび移動処理プログラムは、処理部１０において上記記録媒体から読み出して実行することにより主記憶装置上にロードされ、上記ソフトウェア構成で説明した各部が主記憶装置上に生成されるようになっている。
【０１７０】
また、本実施の形態の地図作成プログラムおよび移動処理プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。
【０１７１】
さらに、移動ロボット４００は、ハードウェア構成として、前述のマイクロホンアレイ４３０と、ＣＣＤカメラ４１１，４１２と、カメラ雲台４２０と、カメラ雲台駆動機構４２２と、超音波センサ４４０と、移動用車輪４５１，４５２と、車輪駆動機構４６０と、これらのハードウェアを制御するコントローラ３００とを備えている。
【０１７２】
以上、本発明を実施の形態を用いて説明したが、上記実施の形態に多様な変更または改良を加えることができる。
【図面の簡単な説明】
【０１７３】
【図１】実施の形態にかかる移動ロボット４００の外観図である。
【図２】移動ロボット４００に特徴的な音声認識処理を実現する処理部１０の機能構成を示すブロック図である。
【図３】地図ＤＢ１２０に格納されているノードの情報のデータ構成を模式的に示す図である。
【図４】ランドマーク検出境界点について説明するための図である。
【図５】地図ＤＢ１２０に格納されているアークの情報のデータ構成を模式的に示す図である。
【図６】移動ロボット４００が地図ＤＢ１２０に格納すべき地図情報を作成するときの処理を示すフローチャートである。
【図７】移動ロボット４００が地図情報を作成する対象となる部屋５００を示す図である。
【図８】コーナー１からコーナー２に移動しつつ地図を作成する処理を説明するための図である。
【図９】コーナー２からコーナー３まで移動しつつ地図を作成する処理を説明するための図である。
【図１０】コーナー３からコーナー５に向けて移動しつつ地図を作成する処理を説明するための図である。
【図１１】ノード５を通過後、コーナー４まで移動しつつ地図を作成する処理を説明するための図である。
【図１２】コーナー４からコーナー１に向けて移動しつつ地図を作成する処理を説明するための図である。
【図１３】ノード８を通過後、コーナー１に向けて移動しつつ地図を作成する処理を説明するための図である。
【図１４】ノード９を通過後ノード１まで移動しつつ地図を作成する処理を説明するための図である。
【図１５】利用者から目的地到達指示が与えられたときに目的地まで移動する移動処理を示すフローチャートである。
【図１６】ステップＳ２１２におけるロボット位置推定部１００の処理を示すフローチャートである。
【図１７】移動ロボット４００が地図作成処理を終了し、ノード１に到達した後に、ノード４に移動する旨の目的地到達指示を受けた場合に作成される移動経路を示す図である。
【図１８】移動ロボット４００がノード４に向けて移動している途中、アーク１３上の位置に到達した時点で、ユーザからノード４に行くのを中止してノード２に行く旨の目的地到達指示を取得した場合に作成される移動経路を示す図である。
【図１９】図１８を参照しつつ説明したようにノード２に移動すべくアーク１３上を移動しているときに、ノード１へ移動する旨の目的地移到達指示を取得した場合に作成される移動経路を示す図である。
【図２０】壁沿いの移動において、ランドマーク検出境界点を新たにノードとして登録する処理について説明するための図である。
【図２１】検出したノード方向への移動において、ランドマーク検出境界点を新たにノードとして登録する処理について説明する目の図である。
【図２２】実施の形態に係る移動ロボット４００のハードウェア構成を示す図である。
【符号の説明】
【０１７４】
１０  処理部
５１  ＣＰＵ
５２  ＲＯＭ
５３  ＲＡＭ
５７  通信I／Ｆ
６２  バス
１００  ロボット位置推定部
１０２  移動指示取得部
１０４  移動経路作成部
１０６  ランドマーク検出部
１０８  ロボット移動処理部
１１０  ＤＢ更新部
１２０  地図ＤＢ
３００  コントローラ
４００  移動ロボット
４１１，４１２  ＣＣＤカメラ
４２０  カメラ雲台
４２２  カメラ雲台駆動機構
４３０  マイクロホンアレイ
４４０  超音波センサ
４５１，４５２  移動用車輪
４６０  車輪駆動機構
５００  部屋
５１０，５１２，５１４  障害物
５２２  西壁
５２４  南壁
５２６  東壁
５２８  北壁
【図１】
2006184976.tif 000003
【図２】
2006184976.tif 000004
【図３】
2006184976.tif 000005
【図４】
2006184976.tif 000006
【図５】
2006184976.tif 000007
【図６】
2006184976.tif 000008
【図７】
2006184976.tif 000009
【図８】
2006184976.tif 000010
【図９】
2006184976.tif 000011
【図１０】
2006184976.tif 000012
【図１１】
2006184976.tif 000013
【図１２】
2006184976.tif 000014
【図１３】
2006184976.tif 000015
【図１４】
2006184976.tif 000016
【図１５】
2006184976.tif 000017
【図１６】
2006184976.tif 000018
【図１７】
2006184976.tif 000019
【図１８】
2006184976.tif 000020
【図１９】
2006184976.tif 000021
【図２０】
2006184976.tif 000022
【図２１】
2006184976.tif 000023
【図２２】
2006184976.tif 000024