(57)【特許請求の範囲】
【請求項１】
移動体の位置姿勢を同定する、位置同定システムであって、
プロセッサと、
前記プロセッサが実行するプログラムを格納するメモリと、を含み、
前記メモリは、現在の地図と次候補の地図と、を格納し、
前記現在の地図と前記次候補の地図とは重複領域を有し、
前記プロセッサは、
前記重複領域において、距離センサによる周囲の幾何形状の測定結果と前記現在の地図とに基づき、前記現在の地図における前記移動体の現在位置姿勢を同定し、
前記現在位置姿勢を前記次候補の地図にマッピングし、
前記距離センサによる周囲の幾何形状の測定結果と前記次候補の地図における前記現在位置姿勢の周囲の幾何形状と、の一致度を決定し、
前記一致度に基づいて前記次候補の地図を次の地図として使用するか判定する、位置同定システム。
【請求項２】
請求項１に記載の位置同定システムであって、
前記現在の地図及び前記次候補の地図それぞれにおいて、前記重複領域内の１又は複数の接続点が定義され、
前記プロセッサは、
前記一致度を決定する前に、前記現在の地図と前記次候補の地図に共通の接続点が存在するか判定し、
共通の接続点が存在しない場合に、前記次候補の地図を次の地図として使用しないと判定する、位置同定システム。
【請求項３】
請求項１に記載の位置同定システムであって、
前記現在の地図及び前記次候補の地図それぞれにおいて、前記重複領域内の１又は複数の接続点が定義され、
前記プロセッサは、
前記現在の地図及び前記次候補の地図に共通の第１共通接続点を選択し、
前記第１共通接続点の前記現在の地図及び前記次候補の地図のローカル座標系における位置座標に基づいて、前記現在位置姿勢を前記次候補の地図にマッピングする、位置同定システム。
【請求項４】
請求項３に記載の位置同定システムであって、
前記プロセッサは、前記現在位置姿勢に最も近い、前記現在の地図及び前記次候補の地図に共通の接続点を、前記第１共通接続点として選択する、位置同定システム。
【請求項５】
請求項１に記載の位置同定システムであって、
前記メモリは、前記現在の地図のデータと前記次候補の地図のデータとを、それぞれ異なるスロットに格納し、
前記プロセッサは、前記現在の地図から前記次候補の地図に参照地図を切り替えた後、前記現在の地図のデータを格納するスロットを解放し、新しい次候補の地図のデータを前記解放したスロットに格納する、位置同定システム。
【請求項６】
移動体の位置姿勢を同定する、位置同定方法であって、
重複領域を有する現在の地図と次候補の地図を取得して記憶領域に格納し、
距離センサによる周囲の幾何形状の測定結果と前記現在の地図とに基づき、前記現在の地図における前記移動体の現在位置姿勢を同定し、
前記現在位置姿勢を前記次候補の地図にマッピングし、
前記距離センサによる周囲の幾何形状の測定結果と前記次候補の地図における前記現在位置姿勢の周囲の幾何形状と、の一致度を決定し、
前記一致度に基づいて前記次候補の地図を次の地図として使用するか判定する、方法。
【請求項７】
請求項６に記載の方法であって、
前記現在の地図及び前記次候補の地図それぞれにおいて、前記重複領域内の１又は複数の接続点が定義され、
前記方法は、
前記一致度を決定する前に、前記現在の地図と前記次候補の地図に共通の接続点が存在するか判定し、
共通の接続点が存在しない場合に、前記次候補の地図を次の地図として使用しないと判定する、方法。
【請求項８】
請求項６に記載の方法であって、
前記現在の地図及び前記次候補の地図それぞれにおいて、前記重複領域内の１又は複数の接続点が定義され、
前記方法は、
前記現在の地図及び前記次候補の地図に共通の第１共通接続点を選択し、
前記第１共通接続点の前記現在の地図及び前記次候補の地図のローカル座標系における位置座標に基づいて、前記現在位置姿勢を前記次候補の地図にマッピングする、方法。
【請求項９】
請求項８に記載の方法であって、
前記現在位置姿勢に最も近い、前記現在の地図及び前記次候補の地図に共通の接続点を、前記第１共通接続点として選択する、方法。
【請求項１０】
請求項６に記載の方法であって、
前記現在の地図から前記次候補の地図に参照地図を切り替えた後、前記現在の地図のデータを格納する記憶領域を解放し、新しい次候補の地図のデータを前記解放した記憶領域に格納する、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位置同定システムに関する。
【背景技術】
【０００２】
位置同定技術に関する背景技術として、自律移動する移動体（ロボット）で使用される位置同定システムが知られている。位置同定システムは、移動体に取り付けられたセンサによる計測データから地図を生成し、さらに、地図上における移動体の位置及び向きを同定する。移動体は、地図を保持し、測定した周囲環境と地図とを比較しつつ、指定された目的地に自律移動する。
【０００３】
位置同定の他の背景技術として、特開平６−３０１８９３号公報（特許文献１）は、経路探索に必要な地図データを減少させて、その地図データを保存するメモリ容量を低減すると共に、目的地と出発地とを結ぶ経路を高速で探索できる、経路探索装置を開示する。
【０００４】
具体的には、特許文献１は、「出発地点と目的地点が入力されたときに、これら両地点を直線により結ぶと共に、この直線を中心としてその両側方に任意の角度をそれぞれ選択させて探索範囲を設定せしめる探索範囲設定手段３と、この探索範囲設定手段３により選択された出発地図葉から目的地図葉までについて、これらの相互に隣接する地図葉同士の複数の隣接点の中から出発地点と目的地点とを探索前処理手段５によりそれぞれ結ぶ直線までに最も近い隣接点を抽出すると共に、これらの各最短隣接点と目的地点とを、それぞれ結ぶ直線に対して垂直方向で最も近い経路を１地図葉毎に順次求める経路計算処理手段６と」（要約）を含む経路探索装置を開示する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平６−３０１８９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１の経路探索装置は、メモリに読み込んだ地図葉に誤りがないことを前提としている。例えば、特許文献１は、上記経路探索装置を利用するカーナビゲーション装置を開示しており、カーナビゲーション装置で使用される地図葉の整合性は、メーカによって多重にチェックされる。
【０００７】
一方、工場、倉庫、ビル等の施設において利用される自律移動体のように、いくつかの位置同定システムにおいて、システムの専門家ではないユーザが地図葉を設定し得る。このようなシステムにおいては、不整合な地図葉が設定され得る。不整合な地図葉が設定されている場合、位置同定システムは、正確に位置を同定することができず、移動体が誤った方向に移動する。
【課題を解決するための手段】
【０００８】
本開示の一例は、移動体の位置姿勢を同定する、位置同定システムであって、プロセッサと、前記プロセッサが実行するプログラムを格納するメモリと、を含み、前記メモリは、現在の地図と次候補の地図と、を格納し、前記現在の地図と前記次候補の地図とは重複領域を有し、前記プロセッサは、前記重複領域において、距離センサによる周囲の幾何形状の測定結果と前記現在の地図とに基づき、前記現在の地図における前記移動体の現在位置姿勢を同定し、前記現在位置姿勢を前記次候補の地図にマッピングし、前記距離センサによる周囲の幾何形状の測定結果と前記次候補の地図における前記現在位置姿勢の周囲の幾何形状と、の一致度を決定し、前記一致度に基づいて前記次候補の地図を次の地図として使用するか判定する、ものである。
【０００９】
本開示の他の一例は、複数の地図のデータを含み、前記複数の地図それぞれは、隣接する地図との重複領域を含み、前記複数の地図それぞれのデータは、地図データ本体と、メタデータとを含み、前記メタデータは、対応地図の、前記複数の地図に共通のグローバル座標系における座標及び向きを示すオフセットと、前記対応地図の重複領域における点の識別子、及び、前記対応地図のローカル座標系における前記点の座標、を含む、地図データである。
【発明の効果】
【００１０】
本発明の一態様によれば、複数の地図を使用する位置同定システムにおいて、位置同定の誤りの可能性を低減できる。なお、上記した以外の課題、構成、及び効果は、以下の実施形態の説明により明らかになるであろう。
【図面の簡単な説明】
【００１１】
【図１】自律移動ロボットの論理構成の概略を示すブロック図である。
【図２】位置同定装置のハードウェア構成の概略を示すブロック図である。
【図３】地図データに含まれる部分地図（地図ファイル）の関係の例を示す。
【図４】地図ファイルの構成例を示す。
【図５Ａ】一つの地図ファイルが示す部分地図のローカル座標系を示す。
【図５Ｂ】グローバル座標系における一つの地図ファイルが示す部分地図を示す。
【図６Ａ】自律移動ロボットの位置をトラッキングしながら、地図の切り替えを行うフローチャートを示す。
【図６Ｂ】図６ＡにおけるステップＳ１１３の詳細を示すフローチャートである。
【図７】重複領域における接続点の例を示す。
【発明を実施するための形態】
【００１２】
以下、添付図面を参照して本発明の実施形態を説明する。本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。各図において共通の構成については同一の参照符号が付されている。
【００１３】
本開示は、位置同定システムにおける地図の切り替えに特徴を有する。位置同定システムは、例えば、自律移動する移動体（ロボット）に適用することができる。本開示の特徴を説明する前に、自律移動ロボットの概要を説明する。
【００１４】
図１は、自律移動する移動体（ロボット）の論理構成の概略を示すブロック図である。自律移動ロボット１０は、距離センサ１１、位置同定装置１３、上位制御装置１５、及び移動機構１７を含む。これら構成要素は、ロボットの筐体に設置されている。位置同定装置１３は、距離センサ１１及び上位制御装置１５と接続されており、さらに、上位制御装置１５は移動機構１７と通信接続されている。
【００１５】
位置同定装置１３は、距離センサ制御部１３１、位置姿勢推定部１３３、及び地図データ１３５を含む。上位制御装置１５は、位置同定装置制御部１５１、経路計画部１５３、経路データ１５５、及び移動機構制御部１５７を含む。
【００１６】
距離センサ１１は、任意のタイプでよいが、例えば、レーザ距離センサであり、より具体的には、２次元レーザレンジファインダのような２次元スキャン型距離センサが使用される。２次元スキャン型距離センサは、スキャン平面上においてセンサ取り付け位置を中心にして所定範囲（例えば１８０°又は２７０°の範囲）を扇状にレーザ光を照射し、所定角度の分解能において、反射光を受信して周囲物体までの距離を計測する。
【００１７】
レーザ距離センサは、レーザ光を照射してから、物体により反射してセンサに返ってくるまでの時間を計測することで、レーザ距離センサから物体までの距離を計測する。上述のように、レーザ距離センサは、レーザ光を一定の回転角毎に回転させながら反射光の時間を計測することで、回転角度の範囲内にある物体までの距離をスキャンする。
【００１８】
距離センサ制御部１３１は、距離センサ１１のレーザ光の照射を制御するとともに、距離センサ１１により得られた距離データを処理する。ここで、距離データは、距離センサ１１と環境中の物体の距離及び距離センサ１１から環境中の物体への方向を示す。具体的には、距離データは、レーザスキャン面上における、距離センサ１１から物体までの距離と方向の複数の組を示す。距離センサ制御部１３１は、自律移動ロボット１０の基準点及び基準方向を基に、距離データを、周囲の物体の幾何形状（位置）を示す幾何形状データに変換する。
【００１９】
距離センサ制御部１３１は、幾何形状データを位置姿勢推定部１３３に送信する。位置姿勢推定部１３３は、幾何形状データと、あらかじめ格納されている周囲環境の物体の形状を記載する地図データ１３５とを照合することによって、自律移動ロボット１０の位置姿勢を推定する。位置姿勢は、位置及び方向を意味する。
【００２０】
後述するように、地図データ１３５は、一つの大きな領域内の一部領域をそれぞれ示す、複数の領域の地図のデータを含む。自律移動ロボット１０の移動において、必要な地図が順次選択される。
【００２１】
各地図は、あらかじめ作成された周囲環境の物体（柱、壁等）の形状（境界）を示す。本開示における地図の形式の一例は、ＮＤＴ（Ｎｏｒｍａｌ  Ｄｉｓｔｒｉｂｕｔｉｏｎｓ  Ｔｒａｎｓｆｏｒｍａｔｉｏｎ）により作成された占有格子地図である。
【００２２】
占有格子地図は、格子上の各点に物体が存在するか否かを、数値によって表現する。具体的には、占有格子地図等間隔の格子に配置された確率変数で表現される地図のことであり、確率変数の値が高いほどその領域が物体によって占められている可能性が高いことを意味する。
【００２３】
たとえば、占有格子地図は、計測可能な物体（柱、壁等）がある格子を１、計測可能な物体がない格子を０、柱の内部など直接計測できない格子を−１など示す。物体の有無を表現する数値は、設計に依存する。占有格子地図は、物体形状を画像データとして表現している。
【００２４】
次に、地図データ１３５と、測定された幾何形状データとの照合について説明する。具体的には、地図データ１３５内の一つの占有格子地図のデータと幾何形状データとが比較される。
【００２５】
上述のように、地図データ１３５内の地図には、あらかじめ物体の形状が記述されている。位置姿勢推定部１３３は、幾何形状データ（の画像）を様々な位置と方向に変化させながら地図データと比較し、もっとも重なり合う（一致する）位置姿勢を探索して（マッチング）、この地図上における台車の位置姿勢を推定する。
【００２６】
位置姿勢は、地図上における自律移動ロボット１０の位置（Ｘ、Ｙ座標）及び向き（基準方向からの角度）である。マッチングは、ＩＣＰ（Ｉｔｅｒａｔｉｖｅ  Ｃｌｏｓｅｓｔ  Ｐｏｉｎｔ）やＮＤＴ等任意のアルゴリズムを使用することができる。
【００２７】
例えば、位置姿勢推定部１３３は、幾何形状データと地図データの一致の度合いを、幾何形状データの点（物体の境界点）と地図データ上での「物体あり」の格子が重なっている点数によって数値化し、これを一致度と呼ぶ。位置姿勢推定部１３３は、この一致度が最大になる位置姿勢を算出する。なお、ここで説明した一致度は一例であり、マッチングアルゴリズムに応じて、任意の方法で計算してよい。
【００２８】
以上のように、位置姿勢推定部１３３は、幾何形状データと地図データが最も重なりあうときの地図データ内の座標系での幾何形状データの位置及び向きを決定する。これは、自律移動ロボット１０の現在の位置姿勢を表す。
【００２９】
位置同定装置制御部１５１は、位置同定装置１３を制御する。位置同定装置制御部１５１は、位置同定装置１３に指示を送信し、必要な情報を取得する。経路計画部１５３は、位置同定装置制御部１５１を介して、位置姿勢推定部１３３から、自律移動ロボット１０の現在の推定位置姿勢を取得する。経路計画部１５３は、予め設定された経路データ１５５の現在の推定位置姿勢から、自律移動のための次の目標位置姿勢を決定する。
【００３０】
経路データ１５５は、自律移動ロボット１０が自律的に移動するのに必要となるデータであって、予め設定されている。経路データ１５５は、計画（指定）された経路における経由地点の位置（座標）や、目標位置まで移動（走行）する道順や経路などや、目標位置での移動体２の姿勢（角度）を示す。
【００３１】
移動機構制御部１５７は、移動機構１７を制御する。移動機構制御部１５７は、経路計画部１５３から、決定された目標位置姿勢と現在の位置姿勢の情報を取得する。移動機構制御部１５７は、目標位置姿勢と現在の位置姿勢の差分が小さくなるように、移動機構１７を制御する。移動機構１７は、例えば、車輪、当該車輪を回転するモータ及びステアリングを含み、移動機構制御部１５７は、これら構成要素を制御する。以上により、ロボットの経路への追従、ひいては目的地までの自動走行が実現される。
【００３２】
図２は、位置同定装置１３のハードウェア構成の概略を示すブロック図である。位置同定装置１３は、プロセッサ２０１、メモリ２０３、補助記憶装置２０５、及び通信インタフェース（Ｉ／Ｆ）２０７を含む。これら構成要素はバスにより通信接続されている。
【００３３】
プロセッサ２０１は、メモリ２０３に格納されているプログラムを実行することによって所定の機能を実現する。プロセッサ２０１は、複数のチップ及び複数のパッケージを含むことができる。メモリ２０３は、揮発性及び／又は不揮発性のメモリデバイスを含み、プロセッサ２０１によって実行されるプログラム、及び、プログラムの実行に必要なデータを記憶する。通信Ｉ／Ｆ２０７は、距離センサ１１や上位制御装置１５等、他の構成要素とのデータ通信のためのインタフェースである。
【００３４】
プログラムは、例えば、プログラム配布サーバや、計算機読み取り可能な非一時的記憶媒体によって位置同定装置１３にインストールすることができ、補助記憶装置２０５に格納される。補助記憶装置２０５は、例えば、不揮発性記憶デバイスを含む。典型的には、プログラム及びデータは、補助記憶装置２０５の記憶領域からメモリ２０３の記憶領域にロードされる。
【００３５】
図２において、メモリ２０３は、例えば、不図示のＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）の他、距離センサ制御プログラム２３１及び位置姿勢推定プログラム２３３を格納している。プロセッサ２０１は、プログラムに従って動作することによって、所定の機能を実現する機能部（手段）として動作する。例えば、プロセッサ２０１は、距離センサ制御プログラム２３１又は位置姿勢推定プログラム２３３に従って動作することで、距離センサ制御部１３１又は位置姿勢推定部１３３として動作する。
【００３６】
メモリ２０３は、さらに、選択された地図のデータをそれぞれ一時的に格納する、スロットＡ２３５Ａ及びスロットＢ２３５Ｂを含む。スロットＡ２３５Ａ及びスロットＢ２３５Ｂは、補助記憶装置２０５に格納されている地図データ１３５から選択された地図データを格納する。地図データ１３５はディレクトリであり、複数の地図ファイル３５１を含む。
【００３７】
位置姿勢推定プログラム２３３は、地図ファイル３５１を選択して、スロットＡ２３５Ａ又はスロットＢ２３５Ｂそれぞれに格納する。後述するように、スロットＡ２３５Ａ又はスロットＢ２３５Ｂの一方は現在参照されている地図ファイルを格納し、もう一方は次に使用する地図ファイル又はその候補を格納する。参照地図が切り替えられた後、過去の地図ファイルを格納しているスロットが解放され、次の参照地図又はその候補が新たにロードされる。
【００３８】
メモリ２０３が地図データ１３５の一部のみを格納することによって、自律移動ロボット１０の位置同定及び移動制御で参照する地図データを格納するためのメモリ領域を低減することができる。メモリ２０３は、３以上のスロットを含んでもよい。
【００３９】
なお、上位制御装置１５も同様のハードウェア構成を有することができる。ハードウェア及びハードウェアとソフトウェアとの関係についての上記説明は、上位制御装置１５に適用できる。例えば、上位制御装置１５は、位置同定装置制御プログラム、経路計画プログラム、又は移動機構制御プログラムを実行するプロセッサによって、位置同定装置制御部１５１、経路計画部１５３又は移動機構制御部１５７を構成できる。
【００４０】
位置同定装置１３及び上位制御装置１５内の各機能部は、プロセッサと異なる論理回路（ハードウェア）として実装されてもよい。距離センサ１１と移動機構１７を除く部分は、通信が可能な遠隔地に配置されてもよい。上記ハードウェア及びソフトウェアの構成要素は、実施形態に応じて取捨選択されてよい。
【００４１】
位置同定装置１３と上位制御装置１５は、ハードウェアを共有してもよい。位置同定装置１３の構成の一部が上位制御装置１５に含まれてもよく、上位制御装置１５の構成の一部又は全てが位置同定装置１３に含まれてもよい。自律移動ロボット１０において、位置同定に関する機能を含む構成要素を位置同定システムとも呼び、位置同定システムは、位置同定装置１３及び上位制御装置１５の一部又は全ての構成要素を含み得る。
【００４２】
図３は、地図データ１３５に含まれる部分地図（地図ファイル）の関係の例を示す。図３において、自律移動ロボット１０は、経路３１に沿って移動する。実線の矩形３５３Ａ〜３５３Ｄは、それぞれ、異なる地図ファイルが示す地図を示す。自律移動ロボット１０は、参照する地図（地図ファイル）を順次切り替える。図３の例において、自律移動ロボット１０は、地図３５３Ａ、地図３５３Ｂ、地図３５３Ｃの順で参照する。
【００４３】
図３に示すように、各地図は、隣接する地図それぞれと重複する重複領域（共通領域）を含む。例えば、図３において、地図３５３Ａと地図３５３Ｂとは重複領域３５５Ａを含み、地図３５３Ｂと地図３５３Ｃとは重複領域３５５Ｂを含む。地図データ１３５がカバーする全領域において、ロボット１０が一つの地図の領域から他の地図の領域に移動するためには、それら地図の重複領域を通過する。
【００４４】
図４は、地図ファイル３５１の構成例を示す。地図ファイル３５１は、ユーザによって予め設定されている。地図ファイル３５１は、メタデータ部４０１と地図データ本体部４０３とを含む。地図データ１３５において、全ての部分地図に共通のグローバル座標系が定義されており、さらに、各部分地図においてローカル座標系が定義されている。
【００４５】
メタデータ部４０１は、地図のメタデータを示す。具体的には、メタデータ部４０１は、地図バージョン、地図スケール及び解像度を示す。地図バージョンは、地図のバージョンであって、地図の生成時を示す。同一バージョンの異なる領域の地図は、同一時に生成されている。地図スケールは、地図ファイル示す地図のグローバル座標系における幅及び高さを示す。解像度は、地図の解像度を示す。占有格子地図における格子点の間隔が解像度に対応する。
【００４６】
メタデータ部４０１は、さらに、グローバル座標系オフセット、ローカル座標系での接続点の情報、及び地図データ本体のサイズを示す。グローバル座標系オフセットは、地図の原点のグローバル座標系における座標（Ｘ＿Ａ、Ｙ＿Ａ）及び向き（Θ＿Ａ）を示す。
【００４７】
図５Ａ及び図５Ｂは、一つの地図ファイル３５１が示す部分地図の一例として、地図３５３Ａを示す。図５Ａは、地図３５３Ａのローカル座標系を示し、図５Ｂはグローバル座標系における地図３５３Ａを示す。図５Ａにおいて、ローカル座標系の原点は地図３５３Ａの中心であり、Ｘ軸は幅方向に延び、Ｙ軸は高さ方向に延びている。
【００４８】
図５Ｂに示すように、グローバル座標系オフセットは、地図３５３Ａのローカル座標系における原点の座標及びローカル座標系における基準方向（例えばＹ軸方向）とグローバル座標系における同基準方向との間の角度を示す。グローバル座標系オフセットにより、ローカル座標系におけるロボット１０の座標及び向きを、グローバル座標系にマッピングすることができる。
【００４９】
図４に戻って、ローカル座標系での接続点の情報は、当該地図の他の地図との重複領域における点それぞれの情報を示す。重複領域それぞれにおいて、１又は複数の接続点が定義される。後述するように、接続点は、地図の切り替えにおいて、次候補地図が現在地図に接続する正しい地図であるかの判定、及び、候補地図における自律移動ロボット１０の位置を同定するために参照される。
【００５０】
このように、接続点の情報は、当該地図が接続し、重複する領域を共有する他の地図についての情報でもある。また、メタデータは、重複領域を共有し隣接する（接続する）他の地図を明示的示す情報（例えばラベルによって）を、含んでもよい。
【００５１】
一つの接続点の情報は、接続点のラベル、接続点の位置、及び接続点の向きの情報を含む。接続点のラベルは接続点の識別子であって、グローバル座標系における一つの接続点（一組のＸ、Ｙ座標）に対して、地図データ１３５において一意に定義されている。接続点の位置は、ローカル座標系における座標を示す。接続点の向きはローカル座標系における当該接続点の基準の向きである。例えば、接続点が自律移動ロボットの１０の目標点である場合、接続点の向きは自律移動ロボット１０の目標の向きを示す。
【００５２】
地図データ本体サイズは、地図データ本体のデータサイズを示す。地図データ本体部は、地図データ本体を格納している。地図データは、例えば、上述のように占有格子地図であり、格子点それぞれの値を示す配列である。地図データ本体は圧縮データ又は非圧縮データである。地図データ本体が圧縮データである場合、位置姿勢推定部１３３は、当該データを伸長してから参照する。
【００５３】
以下において、自律移動ロボット１０の移動における地図の切り替えを説明する。図６Ａ及び図６Ｂは、移動開始の後、自律移動ロボット１０の位置をトラッキングしながら、地図の切り替えを行うフローチャートを示す。
【００５４】
図６Ａのフローチャートの動作を開始する前に、自律移動ロボット１０は移動開始時の初期位置を同定する。例えば、上位制御装置１５は、ユーザ端末から移動先の目標位置と自律移動ロボットの凡その現在位置の情報又はそれ示す現在地図ファイルの識別子（ファイル名）を、ネットワークを介して受信する。
【００５５】
位置同定装置制御部１５１は、上記現在地図ファイルの識別子と、次候補地図ファイルの識別子とを、位置同定装置１３に与える。位置姿勢推定部１３３は、指定された二つの地図ファイルを補助記憶装置２０５の地図データ１３５から読み出し、スロットＡ２３５Ａ、スロットＢ２３５Ｂそれぞれに格納する。
【００５６】
位置姿勢推定部１３３は、距離センサ１１の測定結果による幾何形状データを距離センサ制御部１３１から取得し、幾何形状データとスロットに格納された現在地図とのマッチングにより、現在位置姿勢を同定する。同定方法は上述の通りである。位置同定できない場合、つまり、一致度が規定の閾値未満の位置を同定できない場合、位置姿勢推定部１３３は、上位制御装置１５にエラーを返す。
【００５７】
位置姿勢推定部１３３が現在の位置姿勢を推定できると、経路計画部１５３は、位置姿勢推定部１３３の現在位置姿勢の推定結果を取得し、経路データ１５５に従って自律移動ロボット１０の移動、及び、前回の位置同定結果を用いて次の計測を行うことを繰り返すトラッキング、を開始する。
【００５８】
図６Ａを参照して、トラッキングにおける地図の切り替え処理を説明する。参照地図が、スロットＡ２３５Ａの地図からスロットＢ２３５Ｂの地図に切り替えられたとする。位置姿勢推定部１３３は、過去の地図ファイル（不使用地図ファイル）を格納しているスロットＡ２３５Ａからデータを廃棄して、スロットＡ２３５Ａを解放する（Ｓ１００）。位置姿勢推定部１３３は、解放したスロットＡ２３５Ａに、補助記憶装置２０５から次候補地図ファイルを読み込む（Ｓ１０１）。
【００５９】
次候補地図ファイルの識別子は、上位制御装置１５から与えられる。例えば、経路計画部１５３は、地図データ１３５の管理情報、例えば、全地図ファイル３５１のメタデータを保持又は位置同定装置１３から取得し、経路データ１５５と比較することで、目標位置への経路において順次参照する地図ファイルを決定する。経路データ１５５は、順次参照する地図ファイルを示してもよい。
【００６０】
位置姿勢推定部１３３は、現在使用している地図ファイル（現在地図ファイル）と次候補地図ファイルのメタデータを参照し、メタデータに含まれる接続点ラベルを取得する。さらに、位置姿勢推定部１３３は、二つの地図ファイルの接続点ラベルを比較し、共通の接続点ラベルが存在するか判定する（Ｓ１０３）。
【００６１】
共通の接続点ラベルが存在しない場合（Ｓ１０３：ＮＯ）、位置姿勢推定部１３３は、次候補地図は正しい次の地図ではなく使用すべきではないと判定し、エラー通知を上位制御装置１５に送信する（Ｓ１２１）。上位制御装置１５は、例えば、エラー通知に応答して自律移動ロボット１０を停止させる。共通接続点ラベルが存在しない場合にエラー通知を行うことで、次に参照する地図が間違って選択され、自律移動ロボット１０の誤った位置同定及び移動制御が行われることを防ぐ。
【００６２】
共通の接続点ラベルが存在する場合（Ｓ１０３：ＮＯ）、位置姿勢推定部１３３は、現在地図と次候補地図との重複領域を、現在地図のローカル座標系において計算する（Ｓ１０５）。
【００６３】
例えば、位置姿勢推定部１３３は、現在地図ファイルと次候補地図ファイルを、それぞれのグローバル座標系オフセットを使用してグローバル座標系にマッピングし、さらに、それら地図ファイルそれぞれの地図スケールを参照することで、グローバル座標系での重複領域を同定する。位置姿勢推定部１３３は、現在地図ファイルのグローバル座標系オフセットを使用して、同定した重複領域を現在地図のローカル座標系にマッピングする。
【００６４】
位置姿勢推定部１３３は、現在地図における現在位置姿勢を同定する（Ｓ１０７）。位置姿勢の同定方法は上述の通りである。位置姿勢推定部１３３は、現在位置が上記重複領域内に存在するか判定する（Ｓ１０９）。現在位置が重複領域外に存在し、自律移動ロボット１０が重複領域にまだ侵入していない場合（Ｓ１０９：ＮＯ）、位置姿勢推定部１３３は、ステップＳ１０７に戻る。
【００６５】
現在位置が重複領域内に存在し、自律移動ロボット１０が重複領域に侵入している場合（Ｓ１０９：ＹＥＳ）、位置姿勢推定部１３３は、現在位置から現在地図の端までの距離と規定の閾値とを比較する（Ｓ１１１）。
【００６６】
現在位置から現在地図の端までの距離が閾値以上である場合（Ｓ１１１：ＮＯ）、位置姿勢推定部１３３は、エラー通知を上位制御装置１５に送信する（Ｓ１２１）。上位制御装置１５は、例えば、エラー通知に応答して自律移動ロボット１０を停止させる。これにより、次の参照地図を選択できないことによる自律移動ロボット１０の誤制御を防ぐ。
【００６７】
現在位置から現在地図の端までの距離が閾値未満である場合（Ｓ１１１：ＹＥＳ）、位置姿勢推定部１３３は、現在地図で同定された現在位置姿勢を次候補地図にマッピングする（Ｓ１１３）。
【００６８】
位置姿勢推定部１３３は、重複領域内の接続点を使用して、現在位置姿勢を次候補地図にマッピングする。これにより、より正確なマッピングを実現する。接続点とは異なる点、例えば、地図原点を使用してマッピングしてもよい。図６Ｂは、現在位置姿勢を次候補地図にマッピングするステップ（Ｓ１１３）の詳細を示すフローチャートである。
【００６９】
位置姿勢推定部１３３は、現在地図ファイルと次候補地図ファイルに共通の接続点であって、現在位置に最も近い接続点を選択する（Ｓ３１１）。位置姿勢推定部１３３は、現在地図ファイルと次候補地図ファイルの双方に含まれる同一ラベルの接続点を共通接続点として選択する。
【００７０】
さらに、位置姿勢推定部１３３は、現在地図ファイルから共通接続点の座標を取得して、現在地図における現在位置に最も近い接続点を選択する。これにより、現在位置姿勢の次候補地図へのマッピングをより正確に行うことができる。重複領域内の任意の共通接続点を使用してもよい。
【００７１】
図７は、重複領域における接続点の例を示す。地図３５３Ａと地図３５３Ｂとの重複領域３５５Ａが存在する。地図３５３Ａの地図ファイルは、接続点５３１Ａ、５３２Ａ、５３３Ａを示す。地図３５３Ｂの地図ファイルは、接続点５３１Ｂ、５３２Ｂ、５３３Ｂを示す。接続点５３１Ａ／５３１Ｂは共通接続点であり、接続点５３３Ａ／５３３Ｂは共通接続点である。自律移動ロボット１０の現在位置に最も近い共通接続点は、接続点５３１Ａ／５３１Ｂである。したがって、接続点５３１Ａ／５３１Ｂが選択される。
【００７２】
図６Ｂに戻って、位置姿勢推定部１３３は、選択した共通接続点の、次候補地図のローカル座標系における現在位置姿勢を同定する（Ｓ３１３）。具体的には、位置姿勢推定部１３３は、現在地図のローカル座標系において同定された現在位置姿勢、及び、選択した共通接続点の現在地図のローカル座標系における座標と次候補地図のローカル座標系における座標との間の差分、に基づき、次候補地図のローカル座標系における現在位置姿勢を同定する。
【００７３】
図６Ａに戻って、位置姿勢推定部１３３は、距離センサ１１の測定データから生成された幾何形状データと、次候補地図及びそこにマッピングされた現在位置姿勢から決定される周囲環境の形状と、を比較して、一致度を計算する（Ｓ１１５）。一致度の計算は、自律移動ロボット１０のトラッキングにおいて実行される上述の位置姿勢同定で使用できる任意の方法を使用できる。本ステップの一致度の計算と、トラッキングにおける位置姿勢同定の一致度の計算とは、同一方法であっても異なる方法であってもよい。
【００７４】
位置姿勢推定部１３３は、計算した一致度と規定の閾値とを比較する（Ｓ１１７）。計算した一致度が規定の閾値以下の場合（Ｓ１１７：ＮＯ）、位置姿勢推定部１３３は、ステップＳ１０７に戻る。計算した一致度が規定の閾値より大きい場合（Ｓ１１７：ＹＥＳ）、位置姿勢推定部１３３は、地図の切り替えが可能であることを、上位制御装置１５に通知する。
【００７５】
経路計画部１５３は、地図の切り替え可能通知を受けた後、位置同定装置制御部１５１を介して、参照地図の切り替えを位置同定装置１３に指示する。さらに、経路計画部１５３は、新しい次候補地図を位置同定装置１３に通知する。
【００７６】
例えば、経路計画部１５３は、現在地図ファイルと次の地図ファイルのバージョンに基づいて、切り替え指示を行う時を決定する。二つの地図ファイルのバージョンが同一又は次地図ファイルのバージョンが新しい場合、経路計画部１５３は、位置同定装置１３からの通知に応答してすぐに地図の切り替えを指示する。
【００７７】
現在地図ファイルのバージョンがより新しい場合、経路計画部１５３は、現在位置と現在地図の端との距離が所定の値に達したときに、地図の切り替えを指示する。これにより、重複領域において最新バージョンの地図での位置姿勢同定が実現される。経路計画部１５３に代わり、位置姿勢推定部１３３が同様の方法により、地図切り替えの時期を決定してもよい。
【００７８】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明したすべての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００７９】
また、上記の各構成・機能・処理部等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード等の記録媒体に置くことができる。
【００８０】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしもすべての制御線や情報線を示しているとは限らない。実際には殆どすべての構成が相互に接続されていると考えてもよい。
【符号の説明】
【００８１】
１０  自律移動ロボット、１１  距離センサ、１３  位置同定装置、１５  上位制御装置、１７  移動機構、３１  経路、１３１  距離センサ制御部、１３３  位置姿勢推定部、１３５  地図データ、１５１  位置同定装置制御部、１５３  経路計画部、１５５  経路データ、１５５  経路データ、１５７  移動機構制御部、２０１  プロセッサ、２０３  メモリ、２０５  補助記憶装置、２０７  通信インタフェース、２３１  距離センサ制御プログラム、２３３  位置姿勢推定プログラム、２３５Ａ、２３５Ｂ  スロット、３５１  地図ファイル、３５３Ａ〜３５３Ｄ  部分地図、３５５Ａ、３５５Ｂ  重複領域、４０１  メタデータ部、４０３  地図データ本体部、５３１Ａ〜５３３Ａ  接続点、５３１Ｂ〜５３３Ｂ  接続点
【図１】
0006647125.tif 000002
【図２】
0006647125.tif 000003
【図３】
0006647125.tif 000004
【図４】
0006647125.tif 000005
【図５Ａ】
0006647125.tif 000006
【図５Ｂ】
0006647125.tif 000007
【図６Ａ】
0006647125.tif 000008
【図６Ｂ】
0006647125.tif 000009
【図７】
0006647125.tif 000010