説明

座標補正方法、座標補正プログラム、及び自律移動ロボット

【課題】2つの環境地図の間の姿勢ずれを補正することで、一方の環境地図上の点を他方の環境地図の座標系に合わせて座標変換する処理を、自動的に、かつ少ない計算量で行なうことを可能とする。
【解決手段】(a)一方の環境地図の座標系を並進又は回転させることにより、一方の環境地図の姿勢を変動させ、(b)一方の環境地図に含まれる移動不可能な領域である複数の障害物セルの各々について、姿勢変動後の一方の環境地図の各障害物セルから、他方の環境地図における最寄りの障害物セルまでの距離を求める。(c)複数の障害物セルについて算出した最寄りの障害物セルまでの距離の合計値を目的関数として最適化計算を行い、目的関数が最適化される一方の環境地図の姿勢を決定する。(d)最適化計算により得られた一方の環境地図の姿勢に基づいて、2つの環境地図のうちの一方の地図上の座標を、他方の地図上の座標に座標変換する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自律移動ロボットに関し、特に移動ロボットに参照される環境地図の更新時において、過去の環境地図上の点を新たな環境地図の座標系に合わせて座標変換する技術に関する。
【背景技術】
【0002】
自律移動ロボット(以下、単にロボットと呼ぶ)は、環境地図を参照することによって、壁などの障害物に衝突せずにゴール地点まで移動するための経路を計画し、当該経路に従って移動を行う。ロボット用の環境地図は、ロボットの移動空間内における移動可能領域を示す。
【0003】
環境地図は、例えば、ロボットが移動を行う2次元の移動空間を格子状に分割し、格子に囲まれた各々のセルが移動可能なであるか否かを表したグリッド地図として作成される。環境地図の作成は、例えば、視覚センサを搭載したロボット自身によって行なわれる。具体的には、ロボットに視覚センサを搭載し、ロボット自身が移動空間内を移動しながら外部環境を計測し、ロボットの移動量及び視覚センサによる計測データを用いて環境地図が作成される。ロボットの自己位置推定と環境地図の構築を同時に行なう技術は、SLAM(Simultaneous Localization and Mapping)と呼ばれる。なお、環境地図は、予め人手により環境の計測を行って、コンピュータを用いて編集された後に、ロボットに供給される場合もある。
【0004】
障害物の配置変更などによって環境地図の構成に変更が発生すると、これに合わせて新たな環境地図を作成する必要がある。新たな環境地図の作成は、上述したSLAM等の地図作成技術を用いて行なわれる。しかしながら、一般的に、新たな環境地図を作成する際のロボットの初期位置を過去の環境地図の作成時の初期位置と完全に一致させることは困難である。したがって、新しい環境地図の座標系が古い環境地図の座標系に比べてずれてしまうことがしばしば発生する。例えば、展示場内を案内するロボットを考えると、環境地図を更新したにもかかわらず、古い環境地図に対して設定されたゴール地点の座標を目標に移動を行なった場合、ゴール地点のずれにより案内先がずれてしまう。
【0005】
このため、環境地図の更新時には、古い環境地図に対して設定されていたゴール地点の座標をそのまま使用することができず、新たな環境地図の座標系に対応したゴール地点の座標を新たに生成する必要がある。このためには、ゴール地点の座標を、古い環境地図の座標系から新しい環境地図の座標系に座標変換する必要がある。一般的に、2つの地図(例えば古い環境地図と新しい環境地図)間の座標変換を行うためには、2つの地図の姿勢のずれを求める必要がある。ここで地図間の姿勢のずれとは、比較される2つの地図の間での地図原点の位置ずれ及び回転ずれである。
【0006】
2つの地図の姿勢のずれを求めてこれを補正するように座標変換を行う技術が特許文献1及び2に開示されている。
【0007】
特許文献1には、携帯電話端末等の利用者に対して地図画像データを提示し、地図画像データ上の点を現在地として指定するユーザの入力操作を受け付け、ユーザによって現在地に指定された地図画像データ上の点の座標と、GPS(Global Positioning System)によって取得した実際の現在地の座標とを対応付ける技術が示されている。
【0008】
特許文献2には、レーザ距離センサを搭載したロボットに移動空間内を走行させ、レーザ距離センサによる計測値からロボット周囲の障害物の有無を示すグリッド地図を順次生成し、異なるロボット位置で作成された複数のグリッド画像を結合することによって、移動空間全体の環境地図を生成する技術が開示されている。特許文献2には、異なるロボット位置で作成された複数のグリッド画像の結合手順の具体例として、以下の手順(1)〜(3)が開示されている。
(1)まず、結合する2枚のグリッド画像の各々から複数の特徴点を抽出する。
(2)次に、2枚のグリッド画像間で複数の特徴点を照合して一致する特徴点を識別する。特徴点の照合は、例えば、特徴点周囲の複数のグリッドにおける占有グリッド、非占有グリッド及び未知グリッドの数を表すヒストグラムを比較することにより行われる。ここで、占有グリッドは障害物に占有されているために走行不可能なグリッドであり、非占有グリッドは走行可能なグリッドであり、未知グリッドは未計測のグリッドである。
(3)続いて、一致した特徴点同士が重なるように、2枚のグリッド画像の重ね合わせ、すなわち座標変換を実行する。
【0009】
さらに、上述した手順(2)における一致する特徴点を識別するための特徴点の照合手順の具体例として、以下の手順(2−1)〜(2−3)が開示されている。
(2−1)一方のグリッド画像の複数の特徴点の中から2点を選択し、これら2点を通る座標系を設定し、設定された座標系における他の特徴点の座標を算出する。もう一方のグリッド画像についても同様に、2つの特徴点を選択し、これら2点を通る座標系を設定し、設定された座標系における他の特徴点の座標を算出する。
(2−2)次に、2つのグリッド画像に含まれる全ての特徴点の間でヒストグラムを照合し、占有グリッドの数の差が所定の閾値以下である場合に特徴点間の相対距離を求め、得られた相対距離が所定の閾値以下である場合にこれらの特徴点が一致したものとしてカウントする。
(2−3)上記の(2−1)及び(2−2)の処理を2つの特徴点の全通りの組み合わせの座標系に対して行なう。
(2−4)特徴点の一致率の最も高かった座標系を2枚のグリッド画像の重ね合わせ用の座標系に決定する。
【特許文献1】特開2005−106953号公報
【特許文献2】特開2005−326944号公報
【発明の開示】
【発明が解決しようとする課題】
【0010】
特許文献1に開示された技術を用いて、2つの地図(即ち地図画像データと緯度及び経度によって表される世界地図)の間の座標変換を求めるためには、ユーザによる手動操作が必要である。このため、作業が煩雑であるし、コンピュータによる自動化に適していない。例えば、特許文献1に開示された技術を用いて、上述した案内ロボット等に環境地図の更新に伴うゴール地点の座標補正を自動的に行わせることは困難である。
【0011】
また、上述した特許文献2に開示された技術は、ロボットの周囲について作成された比較的小さなグリッド地図間の姿勢ずれを求めるには有効と考えられる。しかしながら、特許文献2に開示された技術は、特徴点数をn個とした場合に、計算量が特徴点数の4乗のオーダO(n)で増大する。これは、座標系を設定するためにn個の特徴点の中から2点を選択する組合せ()のオーダがO(n)であること、さらに2つの特徴点間のヒストグラムを照合して相対距離を算出するために、n−2個の中から2点を選択する組合せ(n−2)のオーダもまたO(n)であるためである。このため、特許文献2に開示された技術では、環境地図のサイズが増大し、これに伴って環境地図から抽出される特徴点数が増大した場合に、計算量が膨大となるおそれがある。したがって、特許文献2に開示された技術を用いて、広大な移動空間に関する環境地図の姿勢ずれを補正することは実質的に困難であると考えられる。
【0012】
本発明は上述した知見に基づいてなされたものであって、本発明の目的は、2つの環境地図の間の姿勢ずれを補正することで、一方の環境地図上の点を他方の環境地図の座標系に合わせて座標変換する処理を、自動的に、かつ少ない計算量で行なうことが可能な座標補正方法、座標補正プログラム、及び自律移動ロボットを提供することである。
【課題を解決するための手段】
【0013】
本発明の第1の態様は、各々がグリッド地図として構成され、前記グリッド地図を構成する複数のセルの各々に関連付けて、ロボットが移動可能な領域であるか否かを示す情報が少なくとも保持される第1及び第2の環境地図の間での座標補正方法である。当該方法は、以下のステップ(a)〜(d)を含む。
(a)前記第1の環境地図の座標系を並進又は回転させることにより、前記前記第1の環境地図の姿勢を変動させるステップ、
(b)前記第1の環境地図に含まれる移動不可能な領域である複数の障害物セルの各々について、姿勢変動後の前記第1の環境地図の各障害物セルから、前記第2の環境地図における最寄りの障害物セルまでの距離を求めるステップ、
(c)前記複数の障害物セルについて算出した前記距離の合計値又は前記合計値に関連するパラメータを目的関数として最適化計算を行い、前記目的関数が最適化される前記第1の環境地図の姿勢を決定するステップ、及び、
(d)前記最適化計算により得られた前記第1の環境地図の姿勢に基づいて、前記第1及び前記第2の環境地図のうちの一方の地図上の座標を、他方の地図上の座標に座標変換するステップ。
【0014】
本発明の第2の態様は、各々がグリッド地図として構成され、前記グリッド地図を構成する複数のセルの各々に関連付けて、ロボットが移動可能な領域であるか否かを示す情報が少なくとも保持される第1及び第2の環境地図の間での座標補正処理をコンピュータに実行させるための座標補正プログラムである。ここで、前記座標補正処理は、以下の処理(a)〜(d)を含む。
(a)前記第1の環境地図の座標系を並進又は回転させることにより、前記前記第1の環境地図の姿勢を変動させる処理、
(b)前記第1の環境地図に含まれる移動不可能な領域である複数の障害物セルの各々について、姿勢変動後の前記第1の環境地図の各障害物セルから、前記第2の環境地図における最寄りの障害物セルまでの距離を求める処理、
(c)前記複数の障害物セルについて算出した前記距離の合計値又は前記合計値に関連するパラメータを目的関数として最適化計算を行い、前記目的関数が最適化される前記第1の環境地図の姿勢を決定する処理、及び、
(d)前記最適化計算により得られた前記第1の環境地図の姿勢に基づいて、前記第1及び前記第2の環境地図のうちの一方の地図上の座標を、他方の地図上の座標に座標変換する処理。
【0015】
本発明の第3の態様は、移動空間に関する環境地図を作成する機能を有する自律移動ロボットである。当該自律移動ロボットは、センサ、地図作成部、相対姿勢算出部、及び座標変換部を備える。前記センサは、前記自律移動ロボットの周囲環境を計測する。前記地図作成部は、前記センサの計測情報に基づいて、新たな環境地図を作成する。前記相対姿勢算出部は、過去に作成された環境地図と前記新たな環境地図との間の相対姿勢を算出する。前記座標変換部は、前記相対姿勢に基づいて、前記過去の環境地図上の座標を、前記新たな環境地図上の座標に変換する。ここで、前記新たな環境地図及び前記過去の環境地図は、各々がグリッド地図として構成され、前記グリッド地図を構成する複数のセルの各々に関連付けて、前記自律移動ロボットが移動可能な領域であるか否かを示す情報が少なくとも保持された地図である。さらに、前記相対姿勢算出部は、(a)前記新たな環境地図及び前記過去の環境地図のうちの一方の環境地図の座標系を並進又は回転させることにより、前記一方の環境地図の姿勢を変動させ、(b)前記一方の環境地図に含まれる移動不可能な領域である複数の障害物セルの各々について、姿勢変動後の前記一方の環境地図の各障害物セルから、他方の環境地図における最寄りの障害物セルまでの距離を求め、(c)前記複数の障害物セルについて算出した前記距離の合計値又は前記合計値に関連するパラメータを目的関数として最適化計算を行い、前記目的関数が最適化される前記一方の環境地図の姿勢を決定する。
【0016】
上述した本発明の第1乃至第3の態様によれば、環境地図間の相対姿勢を、一方の環境地図に含まれる障害物セルから見た他方の環境地図の最寄りの障害物セルまでの距離の合計値(又はこれに関連するパラメータ)を目的関数とする最適化計算によって求める。したがって、ユーザによる手動入力が不要であり、自律移動ロボット等が自動的に新ゴール座標の生成を行う場合に好適である。また、本発明の第1乃至第3の態様において、環境地図間の相対姿勢を求めるのに要する計算量のオーダは、2つの環境地図の各々のセル総数をnとした場合にO(n)である。このため、環境地図のサイズが大きくなった場合でも計算量の増大を抑制できる。
【発明の効果】
【0017】
本発明により、2つの環境地図の間の姿勢ずれを補正することで、一方の環境地図上の点を他方の環境地図の座標系に合わせて座標変換する処理を、自動的に、かつ少ない計算量で行なうことが可能な座標補正方法、座標補正プログラム、及び自律移動ロボットを提供できる。
【発明を実施するための最良の形態】
【0018】
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。
【0019】
<発明の実施の形態1>
本実施の形態にかかる自律移動ロボット1(以下、単にロボット1と呼ぶ)は、移動空間内の床面上を車輪153で走行する。なお、本実施の形態では、車輪走行型の自律移動ロボットを例にとって具体的に説明するが、脚歩行型など他の移動ロボットも本発明に含まれることは勿論である。
【0020】
ロボット1の自律移動に関する制御系の構成を図1に示す。図1において、視覚センサ11は、ロボット1の外界の距離画像データを取得する。具体的には、レーザレンジファインダ等のアクティブ距離センサによって距離画像データを取得すればよい。なお、CCD(Charge Coupled Device)イメージセンサ又はCMOS(Complementary Metal Oxide Semiconductor)イメージセンサ等の撮像素子を備えた複数のカメラを備え、これら複数のカメラによって撮影した画像データを用いて距離画像データを生成してもよい。具体的には、複数のカメラによって撮影した画像データから対応点を検出し、ステレオ視によって対応点の3次元位置を復元すればよい。ここで、複数の撮影画像における対応点の探索は、複数の撮影画像に対する時空間微分の拘束式を用いた勾配法や相関法等の公知の手法を適用して行えばよい。
【0021】
環境地図生成部12は、距離画像データを用いて、ロボット1が移動を行なう移動空間に関する環境地図を生成する。本実施の形態では、環境地図は、移動空間を2次元格子状に分割したグリッド地図として作成される。環境地図を構成する各セルは、少なくともロボット1が移動可能であるか否かを示す値を保持する。以下では、ロボット1が移動可能なセルを「移動可能セル」と呼び、移動不可能なセルを「壁セル」と呼ぶ。なお、移動不可能なセルをさらに分類してもよく、例えば、ロボット1が位置する場所から見て障害物を介して向こう側に位置し、未観測であるために移動不可能であるセルを「未知セル」として、観測済みの「壁セル」と分類してもよい。
【0022】
ロボット1により作成される環境地図の一例を図2に示す。図2の環境地図21は、6ピクセル×6ピクセルのグリッド地図である。図2において、セル210を含む白抜きのセルは、「移動可能セル」を示し、セル211を含む斜線でハッチングされたセルは、「壁セル」を示している。環境地図21の各セルが、「移動可能セル」であるか「壁セル」であるかは、例えば、1ビットの値により識別すればよい。具体的には、セルの値が0のとき「移動可能セル」を示し、1のとき「壁セル」を示すこととすればよい。以下では、環境地図21のような、各セルの値として移動可能であるか否かを示す値が保持されたグリッド地図を「壁マップ」と呼ぶ。
【0023】
なお、環境地図生成部12による環境地図の生成は、視覚センサ11の計測から得られる距離画像データと、後述するエンコーダ154により取得されるオドメトリ情報を入力として、例えば、スキャンマッチング又は確率推定手法などの公知の手法を用いて行なえばよい。
【0024】
相対姿勢算出部13は、環境地図生成部12によって新たに作成された環境地図(以下、新環境地図と呼ぶ)と、過去に作成済みの古い環境地図(以下、旧環境地図と呼ぶ)の間の相対姿勢を算出する。ここで、2次元の環境地図間の相対姿勢とは、環境地図面内での並進ずれ若しくは環境地図面に垂直な回転軸周りの回転ずれ、又はこれら並進ずれ及び回転ずれの組合せを意味する。したがって、相対姿勢は、3つのパラメータ(dX,dY,dΘ)で表現することができる。これは、環境地図面をxy平面とした場合に、一方の環境地図(例えば旧環境地図)をx軸方向にdXだけ並進させ、y軸方向にdyだけ並進させ、xy平面に垂直なz軸周りにdΘだけ回転させることにより、一方の環境地図が他方の環境地図(例えば新環境地図)に最も類似する状態になることを表している。なお、新旧の環境地図間の相対姿勢の算出手順の具体例については後述する。
【0025】
座標変換部14は、相対姿勢算出部13により算出された相対姿勢(dX,dY,dΘ)と、旧環境地図に対して設定された古いゴール座標(以下、旧ゴール座標と呼ぶ)を用いて、新環境地図の座標系に対応した新しいゴール座標を算出する。ここで、ゴール座標とは、ロボット1の到達目標地点の座標を意味する。具体的に述べると、座標変換部14は、相対姿勢(dX,dY,dΘ)を用いて表される以下の座標変換式(1)によって、旧ゴール座標(G´,G´)を新ゴール座標(G,G)に座標変換すればよい。
【数1】

【0026】
自律移動部15は、環境地図生成部12及び座標変換部14より供給される新環境地図及び新ゴール座標を入力し、新ゴール座標で表されるゴール地点まで自律的に移動するための制御を実行する。例えば、図1に示すように、自律移動部15は、動作計画部150、動作制御部151、駆動部152、車輪153、及びエンコーダ154を含む。
【0027】
動作計画部150は、新環境地図、新ゴール座標、視覚センサ11によって取得した外界情報などに基づいて、ロボット1の動作内容を決定する。より具体的に延べると、動作計画部150は、ロボット1の移動経路、目標移動速度、及び目標加速度、ロボット1が備える関節(不図示)の目標角度軌道などを生成する。
【0028】
動作制御部151は、動作計画部150により決定された目標移動速度又は目標加速度などの制御目標値と、エンコーダ154によって計測される車輪153の回転量を入力してフィードバック制御を実行し、車輪153を回転駆動するためのトルク制御値を算出する。動作制御部151によって算出されたトルク制御値に従って駆動部152が車輪153を駆動することにより、ロボット1の移動が行なわれる。
【0029】
図3は、新環境地図の生成から座標変換により新ゴール座標を得るまでの全体的な処理手順を示すフローチャートである。ステップS11では、環境地図生成部12が新環境地図を生成する。ステップS12では、相対姿勢算出部13が、旧環境地図と新環境地図を比較することにより、これら2つの環境地図間の相対姿勢を算出する。ステップS13では、座標変換部14が、相対姿勢算出部13により算出された相対姿勢を用いて、旧ゴール座標を新ゴール座標に変換する。最後に、ステップS14では、環境地図生成部12及び座標変換部14が、新環境地図及び新ゴール座標を自律移動部15に供給する。
【0030】
続いて以下では、旧環境地図と新環境地図の間の相対姿勢の算出手順の具体例について、図4〜6を用いて説明する。図4は、2つの環境地図間の相対姿勢の算出手順の一例を示すフローチャートである。図4に示す具体例は、最適化計算により相対姿勢(dX,dY,dΘ)を求めるものである。具体的には、相対姿勢(dX,dY,dΘ)を変数とし、旧環境地図の壁セル座標CAから新環境地図における最寄りの壁セルまでの距離(以下、壁距離と呼ぶ)を全ての壁セルに関して合計した合計値を目的関数として、当該目的関数を最小化する最適化計算を行なう。以下、図4のフローチャートに従って、処理内容を順に説明する。
【0031】
ステップS101では、壁マップとして作成された旧環境地図に含まれる全ての壁セルの座標CAを抽出する。なお、ここでは、全ての壁セルを対象としているが、例えば、旧環境地図の一部分(例えば、中央部分など)に含まれる壁セルのみを対象としてもよい。
【0032】
ステップS102では、座標CAの揺動パターンを6つの選択肢+dx,−dx,+dy,−dy,+dθ,−dθの中から選択する。なお、これら6つの選択肢は、予め定められた順序で選択すればよく、後述するように、繰り返し処理によって全ての選択肢が網羅される。dxは、旧環境地図の平面に含まれるx軸方向の微小変位を意味する。同様に、dyは、旧環境地図の平面に含まれるy軸方向の微小変位を意味する。また、dθは、旧環境地図の平面に垂直なz軸周りの微小回転角度を意味する。なお、dx、dy及びdθの大きさは予め設定しておけばよく、例えば、旧環境地図の1グリッドサイズ程度移動できる量とすればよい。
【0033】
ステップS103では、ステップS102で選択された揺動パターンに従って、旧環境地図の壁セル座標CAを移動させる。移動後の壁セル座標をCBとする。
【0034】
ステップS104では、移動後の旧環境地図の壁セル座標CBの全てについて、新環境地図の最寄りの壁セルからの距離を算出する。具体的には、後述する「壁距離マップ」に変換された新環境地図から、座標CBに対応するセルに保持された壁距離の値を読み出せばよい。
【0035】
ここで最寄りの壁セルまでの距離の算出に使用される「壁距離マップ」について、図5(a)及び(b)を用いて説明する。図5(a)は、図2に示したのと同様に、「壁マップ」として作成された新環境地図51を示している。図5(a)において、セル510を含む白抜きのセルは、「移動可能セル」を示し、セル511を含む斜線でハッチングされたセルは、「壁セル」を示している。
【0036】
一方、図5(b)は、図5(a)の「壁マップ」として作成された新環境地図51を「壁距離マップ」に変換した例を示している。図5(b)の「壁距離マップ」に変換された新環境地図52は、各セルの値として最寄りの壁セルからの距離が保持されている。例えば、図5(b)の斜線でハッチングされたセルは、セル511を含む壁セルに対応しているため、最寄りの壁セルからの距離はゼロである。したがって、壁セルの保持値はゼロである。また、これら壁セルの上下左右のいずれかに隣接するセルの保持値は1である。その他のセルも同様に、セルピッチ(セルの一辺の長さ)を単位距離として、各セルの中心から最寄りの壁セルの中心までの距離を表した数値を保持している。
【0037】
なお、図5(b)に示したような壁距離マップは、図4のフローチャートの実行前に予め作成しておくとよい。そして、図4のフローチャートに示す手順において、最寄りの壁セル案での距離を繰り返し求める際には、予め壁距離マップに変換された新環境地図を参照するとよい。これにより、新環境地図の保持値を読み出すことによって所望の距離値が得られるため、距離の解析的な計算を都度行う必要が無く計算量を削減することができる。
【0038】
壁距離マップの作成は、例えば、以下に示す手順で行なうことができる。ここでは、最寄りの壁セルまでの距離及び最寄りの壁セル座標が各セルに保持された壁距離マップの作成について説明する。まず、始めに、壁距離マップの初期値を設定する。具体的には、壁マップとして作成された新環境地図の壁セルについて、自身の座標を最寄りの壁セル座標としてセットし、壁距離をゼロにセットする。壁セル以外のセル、例えば、「移動可能セル」及び「未知セル」等については、十分遠方の座標を壁セル座標の初期値にセットし、壁距離の値も予め定められた最大値にセットする。
【0039】
次に、図6に示すように、壁マップとして作成された新環境地図の最外周のセルを除くセル601から右方向に1セルずつ走査する。順次走査される各セルでは、隣接する8セルに保持されている最寄りの壁セル座標(x、y)を用いて走査対象セルの座標から最寄りの壁セルまでの距離を計算する。例えば、セル601の場合、四角形603で囲まれたセルC1〜C8が対象となる。8つの隣接セルの保持値を用いて最寄りの壁セルまでの距離を計算した結果、最小となった距離と、最小値を与える壁セル座標を、走査対象セルに関連付けて保存する。このようなセルの走査を、左上から右下まで順次行い、次に、右下のセル602から左上のセル601まで逆順序で走査する。このような手順により、壁マップとして作成された新環境地図をもとに、壁距離マップとされた新環境地図を生成することができる。
【0040】
図4に戻り説明を続ける。ステップS105では、移動後の旧環境地図の全ての壁セル座標CBに関して、ステップS104で得られた壁距離を合計した合計値を記録する。
【0041】
ステップS106では、全ての揺動パターン、つまり図4の例では、6つの揺動パターン+dx,−dx,+dy,−dy,+dθ,及び−dθの全てについて、壁距離の合計値の計算が完了したか否かを判定する。全揺動パターンについての計算が完了していなければ、ステップS102に戻り、未完了の揺動パターンについて計算を継続する。一方、全揺動パターンについて壁距離の合計値の計算が完了した場合(ステップS106でYES)、記録された壁距離の合計値が最小となる揺動パターンを決定する(ステップS107)。
【0042】
ステップS108では、今回のステップS102〜S107の繰り返し処理によって得られた壁距離の合計値の最小値が、前回のステップS102〜S107の繰り返し処理で得られた最小値より小さい値であるか否かを判定する。今回の処理で得られた壁距離の合計値の最小値のほうが前回のものより小さければ、新環境地図と旧環境地図とのマッチングが終了していないものとして、言い換えると、最適解に到達していないものとして、ステップS109に進む。
【0043】
ステップS109では、壁距離の合計値の最小値を与えるものとしてステップS107で決定された揺動パターンを移動履歴として保存する。さらに、決定された揺動パターンに対応する移動後の座標CBによって移動前の座標CAを上書き更新する。つまり、決定された揺動パターンに従って姿勢を変更した旧環境地図を、次のステップS102実行時の初期値とする。
【0044】
一方、ステップS108において前回得られた最小値のほうが今回の揺動後の最小値より小さいと判定された場合、前回得られた壁距離の合計値の最小値が最適解であるとみなし、前回までの揺動パターンの積み重ねによる座標CAの移動履歴を用いて、旧環境地図に対する新環境地図の相対姿勢(dX,dY,dΘ)を算出する(ステップS110)。
【0045】
例えば、旧環境地図の座標系及び新環境地図の座標系の原点をともに地図の左下に置くとともに、揺動パターンdθによる回転を地図中心を通る回転軸を基準として行った場合、相対姿勢(dX,dY,dΘ)は、移動履歴として保存されている揺動パターンの積算値dX´、dY´及びdΘ´を用いて以下の(2)〜(4)式により表される。揺動パターンの積算値dX´、dY´及びdΘ´は、(5)〜(7)式により表される。(2)式及び(3)式中のLは、新環境地図及び旧環境地図の幅、つまりx軸方向の長さである。また、Lは、新環境地図及び旧環境地図の高さ、つまりy軸方向の長さである。
【数2】

【数3】

【0046】
(2)〜(4)式により得られた相対姿勢(dX,dY,dΘ)を用いて、旧環境地図の座標系で設定された旧ゴール座標を(1)式に示した座標変換式に従って座標変換することにより、新環境地図の座標系で表された新ゴール座標を生成することができる。
【0047】
なお、(2)〜(4)式及び(1)式の座標変換式を用いた解析的な計算により新ゴール座標を求める方法は一例である。例えば、座標CAの移動履歴として記録された全揺動パターンに従って、旧ゴール座標を移動させることにより、新ゴール座標を生成してもよい。
【0048】
上述したように、本実施の形態では、新環境地図と旧環境地図との相関計算を、環境地図間の相対姿勢を変数とし、最寄りの壁セルからの距離の合計値を目的関数とする最適化手法によって行なうこととした。
【0049】
本実施の形態で述べた環境地図間の相対姿勢を求める手法は、ユーザによる手動入力が不要であり、自律移動ロボット等が自動的に新ゴール座標の生成を行う場合に好適である。
【0050】
また、本実施の形態で述べた環境地図間の相対姿勢を求める手法の計算量のオーダは、セル総数(ピクセル数)をnとした場合にO(n)である。事前処理として壁距離マップの作成に要する計算量のオーダがO(n)であり、図4のフローチャートを実行する際の計算量のオーダもO(n)であるためである。このため、環境地図のサイズが大きくなった場合でも計算量の増大を抑制できる。
【0051】
ところで、図1に示した環境地図生成部12、相対姿勢算出部13及び座標変換部14が実行する処理は、CPU(Central Processing Unit)と、新旧の環境地図データ及び新旧のゴール座標データを格納するためのメモリを有するコンピュータに、図3及び図4の処理手順が記述されたプログラムを実行させることによって実現可能である。
【0052】
また、図4に示した相対姿勢(dX,dY,dΘ)を得るための手順は一例に過ぎない。例えば、粗い揺動パターンを用いてステップS108まで完了した後に、より微細な揺動パターンを用いて再度ステップS102〜S108までの処理を実行してもよい。このような手順によれば、より誤差の小さい相対姿勢(dX,dY,dΘ)を算出することができる。また、その他の公知の最適化手法を適用して、目的関数(最寄りの壁セルまでの距離の合計値)の最小解を求めてもよい。また、目的関数は、最寄りの壁セルまでの距離の合計値に限らず、これと関連する他のパラメータ、例えば、最寄りの壁セルまでの距離の二乗和としてもよい。
【0053】
また、図4では、新環境地図を壁距離マップに変換し、旧環境地図の壁セル座標CAを揺動させる例を示した。しかしながら、新環境地図と旧環境地図を入れ替えてもよい。つまり、旧環境地図を壁距離マップに変換し、新環境地図の壁セル座標CAを揺動させてもよい。
【0054】
また、壁距離マップの作成を行わずに、壁距離を都度、解析的に計算してもよい。具体的には、図7の概念図に示すように、新環境地図及び旧環境地図の壁セルの配置を共に座標化し、一方の環境地図(例えば、新環境地図)の壁座標を基準として、他方の環境地図(例えば旧環境地図)の最寄りの壁座標を検索してもよい。このとき、一方の環境地図の壁座標から他方の環境地図の最寄りの壁座標までの距離を、壁距離マップを用いずに解析的に計算してもよい。なお、図7のΣD(i)は、一方の環境地図の壁座標から他方の環境地図の最寄りの壁座標までの距離を全ての壁セルに亘って合計した合計値を表している。
【0055】
<その他の実施の形態>
上述した発明の実施の形態1は、車輪走行型の移動ロボットについて具体的に説明した。しかしながら、本発明は、車輪走行型に限らず様々な移動ロボットに適用可能である。例えば、本発明は、球形の回転体の回転駆動によって走行する移動ロボット、脚部によって歩行する二足歩行型又は多足歩行型の移動ロボット等にも適用可能である。
【0056】
また、ロボット1は、自ら環境地図の生成を行うものとして説明したが、外部から供給される旧環境地図及び新環境地図を用いて相対姿勢の算出及びゴール座標の座標変換を行ってもよい。
【0057】
さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【図面の簡単な説明】
【0058】
【図1】本発明の実施の形態にかかる自律移動ロボットの制御系を示すブロック図である。
【図2】壁マップとして生成された環境地図の一例を示す図である。
【図3】新環境地図の生成からゴール座標の座標変換までの全体的な処理手順を示すフローチャートである。
【図4】旧環境地図と新環境地図の間の相対姿勢を算出する手順の具体例を示すフローチャートである。
【図5】壁マップとして生成された環境地図の壁距離マップへの変換例を示す図である。
【図6】壁距離マップの生成手順を説明するための概念図である。
【図7】旧環境地図と新環境地図の間の相対姿勢を算出する手順の他の例を説明するための概念図である。
【符号の説明】
【0059】
1 自律移動ロボット
11 視覚センサ
12 環境地図生成部
13 相対姿勢算出部
14 座標変換部
15 自律移動部
150 動作計画部
151 動作制御部
152 駆動部
153 車輪
154 エンコーダ
21、51 環境地図(壁マップ)
52 環境地図(壁距離マップ)

【特許請求の範囲】
【請求項1】
各々がグリッド地図として構成され、前記グリッド地図を構成する複数のセルの各々に関連付けて、ロボットが移動可能な領域であるか否かを示す情報が少なくとも保持される第1及び第2の環境地図の間での座標補正方法であって、
前記第1の環境地図の座標系を並進又は回転させることにより、前記前記第1の環境地図の姿勢を変動させるステップ(a)と、
前記第1の環境地図に含まれる移動不可能な領域である複数の障害物セルの各々について、姿勢変動後の前記第1の環境地図の各障害物セルから、前記第2の環境地図における最寄りの障害物セルまでの距離を求めるステップ(b)と、
前記複数の障害物セルについて算出した前記距離の合計値又は前記合計値に関連するパラメータを目的関数として最適化計算を行い、前記目的関数が最適化される前記第1の環境地図の姿勢を決定するステップ(c)と、
前記最適化計算により得られた前記第1の環境地図の姿勢に基づいて、前記第1及び前記第2の環境地図のうちの一方の地図上の座標を、他方の地図上の座標に座標変換するステップ(d)と、
を含む座標補正方法。
【請求項2】
前記第2の環境地図に基づいて、前記第2の環境地図を構成する各セルに関連付けて、最寄りの前記障害物セルからの距離情報が保持されたグリッド地図としての障害物距離マップを作成するステップをさらに含み、
前記ステップ(b)では、姿勢変動後の前記第1の環境地図の各障害物セルの位置に対応する前記障害物距離マップ上のセルに関連付けられた前記距離情報を読み出すことにより、前記距離を求める、請求項1に記載の座標補正方法。
【請求項3】
各々がグリッド地図として構成され、前記グリッド地図を構成する複数のセルの各々に関連付けて、ロボットが移動可能な領域であるか否かを示す情報が少なくとも保持される第1及び第2の環境地図の間での座標補正処理をコンピュータに実行させるための座標補正プログラムであって、
前記座標補正処理は、
(a)前記第1の環境地図の座標系を並進又は回転させることにより、前記前記第1の環境地図の姿勢を変動させる処理と、
(b)前記第1の環境地図に含まれる移動不可能な領域である複数の障害物セルの各々について、姿勢変動後の前記第1の環境地図の各障害物セルから、前記第2の環境地図における最寄りの障害物セルまでの距離を求める処理と、
(c)前記複数の障害物セルについて算出した前記距離の合計値又は前記合計値に関連するパラメータを目的関数として最適化計算を行い、前記目的関数が最適化される前記第1の環境地図の姿勢を決定する処理と、
(d)前記最適化計算により得られた前記第1の環境地図の姿勢に基づいて、前記第1及び前記第2の環境地図のうちの一方の地図上の座標を、他方の地図上の座標に座標変換する処理と、
を含む座標補正プログラム。
【請求項4】
前記座標補正処理は、
前記第2の環境地図に基づいて、前記第2の環境地図を構成する各セルに関連付けて、最寄りの前記障害物セルからの距離情報が保持されたグリッド地図としての障害物距離マップを作成する処理をさらに含み、
前記処理(b)では、姿勢変動後の前記第1の環境地図の各障害物セルの位置に対応する前記障害物距離マップ上のセルに関連付けられた前記距離情報を読み出すことにより、前記距離を求める、請求項3に記載の座標補正プログラム。
【請求項5】
移動空間に関する環境地図を作成する機能を有する自律移動ロボットであって、
前記自律移動ロボットの周囲環境を計測するセンサと、
前記センサの計測情報に基づいて、新たな環境地図を作成する地図作成部と、
過去に作成された環境地図と前記新たな環境地図との間の相対姿勢を算出する相対姿勢算出部と、
前記相対姿勢に基づいて、前記過去の環境地図上の座標を、前記新たな環境地図上の座標に変換する座標変換部と備え、
前記新たな環境地図及び前記過去の環境地図は、各々がグリッド地図として構成され、前記グリッド地図を構成する複数のセルの各々に関連付けて、前記自律移動ロボットが移動可能な領域であるか否かを示す情報が少なくとも保持されており、
前記相対姿勢算出部は、
前記新たな環境地図及び前記過去の環境地図のうちの一方の環境地図の座標系を並進又は回転させることにより、前記一方の環境地図の姿勢を変動させ、
前記一方の環境地図に含まれる移動不可能な領域である複数の障害物セルの各々について、姿勢変動後の前記一方の環境地図の各障害物セルから、他方の環境地図における最寄りの障害物セルまでの距離を求め、
前記複数の障害物セルについて算出した前記距離の合計値又は前記合計値に関連するパラメータを目的関数として最適化計算を行い、前記目的関数が最適化される前記一方の環境地図の姿勢を決定する、
自律移動ロボット。
【請求項6】
前記相対姿勢算出部は、
前記他方の環境地図に基づいて、前記他方の環境地図を構成する各セルに関連付けて、最寄りの前記障害物セルからの距離情報が保持されたグリッド地図としての障害物距離マップを参照し、
姿勢変動後の前記一方の環境地図の各障害物セルの位置に対応する前記障害物距離マップ上のセルに関連付けられた前記距離情報を読み出すことにより、前記距離を求める、請求項5に記載の自律移動ロボット。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2009−157430(P2009−157430A)
【公開日】平成21年7月16日(2009.7.16)
【国際特許分類】
【出願番号】特願2007−331795(P2007−331795)
【出願日】平成19年12月25日(2007.12.25)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】