説明

移動ロボット、自己位置補正方法および自己位置補正プログラム

【課題】演算量の増加を抑えつつ、正確に自己位置を推定することのできる移動ロボットを提供する。
【解決手段】自律移動可能な移動ロボット1であって、自己位置を推定する自己位置推定部16と、移動ロボット1が移動可能な領域を点集合データで示す環境地図を保持する環境地図保持部181と、移動ロボット1の周囲の移動可能な領域を検知する経路センサ17と、経路センサ17による検出結果を点集合データで示す周囲環境情報を生成する周囲環境情報生成部184と、環境地図中の対応点データの候補を、周囲環境情報中の所定の点データを基準として予め定められた閾値以下の距離の領域に存在する点データに限定する検索対象点限定部186と、限定された点を所定の点データに対する対応点データとして、環境地図中の各点データと、周囲環境情報中の対応点データとの間の位置ずれ量分自己位置を補正する位置補正部188とを備えた。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自律移動可能な移動ロボット、自己位置補正方法および自己位置補正プログラムに関するものである。
【背景技術】
【0002】
従来、ロボットが自律走行を行うためには、自己位置の認識が必要である。車輪型ロボットの場合は、車輪の回転数を計測することによる自己位置推定が一般的に行われている。また、車輪の回転数の計測だけでは走行距離に応じて誤差が蓄積していくため、走行経路上にロボットが自己位置を確認するためのロボット専用ランドマークを設置するなどして、このような蓄積誤差を解消する手法が多く提案されていた。
【0003】
例えば、車輪の回転数と光ファイバジャイロを用いてロボットの自己位置(x、y、θ)を推定する方法が知られている。タイヤスリップなどの蓄積誤差を減少させるため、ロボット専用ランドマークをロボット走行経路上に一定間隔で設置し、ロボットがこれを読み取ることでロボット自己位置推定の精度を保つものである。
【0004】
しかしながら、上記方法においては、ロボット専用ランドマークの設置や調整に労力がかかる、美観や建物構造の制約により、ロボット専用ランドマークが設置できないなどの問題があった。
【0005】
そのため、近年、走行経路の周囲の壁などを環境地図として事前に記憶しておき、ロボットが走行中にレーザレンジセンサで計測した周囲の距離情報(壁形状)とのマッチング処理を行うことで、ロボットの自己位置を推定する手法が登場した。このマッチング処理は、ICPアルゴリズムを適用することによって、ロボット自律走行への適用が可能となる(例えば、「非特許文献1」参照)。
【0006】
また、特許文献1には、ロボット周囲の距離情報を計測し、予め記憶していた環境地図との比較を行うことで自己位置同定を行う方法が開示されている。環境地図はバイナリトリー形式で構成され、計測距離情報から線分情報を抽出し、最尤位置候補を選定する。
【0007】
【特許文献1】特開平4−216487号公報
【非特許文献1】"レーザレンジファインダ搭載移動ロボットによる動的環境の3次元地図生成", 映像情報メディア学会技術報告, Vol.30, No.36, pp.25-30, 浜松, July 2006(中本 琢実, 山下 淳, 金子 透)http://robotics.caltech.edu/~atsushi/paper/E/E078Final.pdf
【発明の開示】
【発明が解決しようとする課題】
【0008】
ロボットが記憶している環境地図は、グローバル座標と呼ばれる二次元の絶対座標上に表され、ロボットが走行する周囲の壁や物体の外形を表す点集合である。ICPアルゴリズムなどでマッチング処理を行う際、同一の特徴を持った点集合同士であれば対応点が一致することによりマッチング精度が向上する。
【0009】
また、ICPアルゴリズムの中で行っている対応点検索処理は、点集合A,Bにおいてユークリッド距離が最小となる組合せを求めるものである。全検索を行った場合、演算量が(点集合Aの要素数)×(点集合Bの要素数)となり、点集合が大きくなるにつれて計算時間が増大する。ICPアルゴリズムの計算時間が増大すると、ロボットの走行スピードや加減速度が大きくなとともに自己位置推定誤差が増大するという問題があった。
【0010】
本発明は、上記に鑑みてなされたものであって、演算量の増加を抑えつつ、正確に自己位置を推定することのできる移動ロボット、自己位置補正方法および自己位置補正プログラムを提供することを目的とする。
【課題を解決するための手段】
【0011】
上述した課題を解決し、目的を達成するために、請求項1にかかる発明は、自律移動可能な移動ロボットであって、当該移動ロボットの移動量および移動方向を検知する移動センサと、前記移動センサによる検出結果に基づいて、自己位置を推定する自己位置推定手段と、当該移動ロボットが移動可能な領域を点集合データで示す点環境地図を保持する点環境地図保持手段と、当該移動ロボットの周囲の移動可能な領域を検知する経路センサと、前記経路センサによる検出結果を点集合データで示す周囲環境情報を生成する周囲環境情報生成手段と、前記周囲環境情報中の所定の点データに対応する点データであって、前記点環境地図中の点データである対応点データの候補を、前記点環境地図中の点データのうち前記所定の点データを基準として予め定められた閾値以下の距離の領域に存在する点データに限定する検索対象点限定手段と、前記検索対象点限定手段により限定された点を前記所定の点データに対する対応点データとして、前記点環境地図中の各点データと、前記周囲環境情報中の対応点データとの間の位置ずれ量分前記自己位置推定手段により推定された前記自己位置を補正する位置補正手段とを備えたことを特徴とする。
【0012】
また、請求項2にかかる発明は、請求項1に記載の移動ロボットであって、前記移動ロボットが移動可能な領域を線データで示す線環境地図を保持する線環境地図保持手段と、前記線環境地図保持手段が保持する前記線環境地図から所定の密度の点で示された前記点環境地図を生成する点環境地図生成手段とをさらに備え、前記点環境地図保持手段は、前記点環境地図生成手段により生成された前記点データを保持することを特徴とする。
【0013】
また、請求項3にかかる発明は、請求項1または2に記載の移動ロボットであって、前記周囲環境情報生成手段により生成された前記点集合データの点データの間隔が前記点環境地図保持手段が保持する前記点環境地図中の点集合データの点データの間隔に比べて狭い場合に、前記周囲環境情報中の点データの間隔が前記点環境地図中の点データの間隔になるよう前記点データを間引く周囲環境情報調整手段をさらに備えたことを特徴とする。
【0014】
また、請求項4にかかる発明は、請求項1から3のいずれか一項に記載の移動ロボットであって、ICPアルゴリズムを用いて前記検索対象点限定手段により限定された後の前記点環境地図中の各点データと、前記対応点データとの間の位置ずれ量を算出する位置ずれ量算出手段をさらに備え、前記自己位置補正手段は、前記位置ずれ量算出手段により算出された前記位置ずれ量分前記自己位置推定手段により推定された前記自己位置を補正することを特徴とする。
【0015】
また、請求項5にかかる発明は、自律移動可能な移動ロボットの自己位置補正方法であって、移動センサが当該移動ロボットの移動量および移動方向を検知する第1検知ステップと、前記移動センサによる検出結果に基づいて、自己位置を推定する自己位置推定ステップと、経路センサが当該移動ロボットの周囲の移動可能な領域を検知する第2検知ステップと、前記経路センサによる検出結果を点集合データで示す周囲環境情報を生成する周囲環境情報生成ステップと、前記周囲環境情報中の所定の点データに対応する点データであって、当該移動ロボットが移動可能な領域を点集合データで示す点環境地図を保持する点環境地図保持手段が保持する点環境地図中の点データである対応点データの候補を、前記点環境地図中の点データのうち前記所定の点データを基準として予め定められた閾値以下の距離の領域に存在する点データに限定する検索対象点限定ステップと、前記検索対象点限定ステップにおいて限定された点を前記所定の点データに対する対応点データとして、前記点環境地図中の各点データと、前記周囲環境情報中の対応点データとの間の位置ずれ量分前記自己位置推定ステップにおいて推定された前記自己位置を補正する位置補正ステップとを有することを特徴とする。
【0016】
また、請求項6にかかる発明は、自律移動可能な移動ロボットの自己位置補正処理をコンピュータに実行させる自己位置補正プログラムであって、当該移動ロボットの移動量および移動方向を検知する移動センサによる検出結果に基づいて、自己位置を推定する自己位置推定ステップと、当該移動ロボットの周囲の移動可能な領域を検知する経路センサによる検出結果を点集合データで示す周囲環境情報を取得する周囲環境情報取得ステップと、前記周囲環境情報中の所定の点データに対応する点データであって、当該移動ロボットが移動可能な領域を点集合データで示す点環境地図を保持する点環境地図保持手段が保持する点環境地図中の点データである対応点データの候補を、前記点環境地図中の点データのうち前記所定の点データを基準として予め定められた閾値以下の距離の領域に存在する点データに限定する検索対象点限定ステップと、前記検索対象点限定ステップにおいて限定された点を前記所定の点データに対する対応点データとして、前記点環境地図中の各点データと、前記周囲環境情報中の対応点データとの間の位置ずれ量分前記自己位置推定ステップにおいて推定された前記自己位置を補正する位置補正ステップとを有することを特徴とする。
【発明の効果】
【0017】
本発明によれば、移動センサが、当該移動ロボットの移動量および移動方向を検知し、自己位置推定手段が、移動センサによる検出結果に基づいて、自己位置を推定し、点環境地図保持手段が、当該移動ロボットが移動可能な領域を点集合データで示す点環境地図を保持し、経路センサが、当該移動ロボットの周囲の移動可能な領域を検知し、周囲環境情報生成手段が、経路センサによる検出結果を点集合データで示す周囲環境情報を生成し、検索対象点限定手段が、周囲環境情報中の所定の点データに対応する点データであって、点環境地図中の点データである対応点データの候補を、点環境地図中の点データのうち所定の点データを基準として予め定められた閾値以下の距離の領域に存在する点データに限定し、位置補正手段が、検索対象点限定手段により限定された点を所定の点データに対する対応点データとして、点環境地図中の各点データと、周囲環境情報中の対応点データとの間の位置ずれ量分自己位置推定手段により推定された自己位置を補正するので、演算量の増加を抑えつつ、正確に自己位置を推定することができるという効果を奏する。
【発明を実施するための最良の形態】
【0018】
以下に添付図面を参照して、この発明にかかる移動ロボット、自己位置補正方法および自己位置補正プログラムの最良な実施の形態を詳細に説明する。
【0019】
図1は、実施の形態にかかる移動ロボット1の全体構成を示す図である。移動ロボット1は、走行制御部10と、モーター11と、車輪12と、位置推定センサ13と、自己位置推定部16と、LRS(Laser Range Sensor)17と、自己位置補正部18とを備えている。
【0020】
走行制御部10は、移動ロボット1の走行を制御する。具体的には、移動の開始および停止の制御、速度制御、車輪12の方向の制御などを行う。モーター11は、走行制御部10の制御にしたがい車輪12を駆動する。位置推定センサ13は、光ファイバジャイロ14と、エンコーダ15とを有している。光ファイバジャイロ14は、移動ロボット1の傾きを検出する。エンコーダ15は、車輪12の回転に応じたパルスを検出する。自己位置推定部16は、光ファイバジャイロ14およびエンコーダ15の検出結果にしたがい移動ロボット1の自己位置(x,y,θ)を推定する。
【0021】
LRS17は、一定の角度間隔でレーザー光を照射し、反射の位相差や時間差などに基づいて壁や障害物の位置を特定する。LRS17は、例えば0.5度間隔でレーザー光を照射する。LRS17は、移動ロボット1の前方を中心とした180度の間を走査し、この間で、0.5度間隔でレーザー光を照射する。また、他の例としては、走査範囲は360度であってもよい。
【0022】
自己位置補正部18は、点環境地図を有している。点環境地図とは、移動ロボット1が移動可能な領域を示した地図である。すなわち、点環境地図には、移動ロボット1が移動可能な領域における移動経路の境界線となる壁や障害物が示されている。自己位置補正部18は、この点環境地図とLRS17による測定結果とを比較し、両者の間の位置ずれを算出する。そして、この位置ずれの程度に応じて自己位置を補正する。具体的には、ICP(Iterative Closest Point)アルゴリズムにより点環境地図と測定結果の間のずれを算出する。ICPアルゴリズムについては後述する。
【0023】
移動ロボット1が移動する際には、車輪12のスリップなどにより自身が移動していると判断している距離や方向と実際の移動距離や方向との間にずれが生じ、移動し続けることによりこの誤差が蓄積されていく。自己位置補正部18は、上記処理により適当なタイミングでこの誤差を補正する。具体的には、予め定められた時間が経過する毎に自己位置の補正を行う。また、他の例としては、自己位置補正部18は、一定の距離を移動する毎に自己位置の補正を行ってもよい。
【0024】
図2は、自己位置補正部18の詳細な機能構成を示すブロック図である。自己位置補正部18は、位置情報取得部180と、点環境地図DB181と、点環境地図読出部182と、不要点除去部183と、周囲環境情報取得部184と、周囲環境情報調整部185と、対象点特定部186と、誤差評価関数(E)算出部187と、位置補正部188とを有している。
【0025】
位置情報取得部180は、自己位置推定部16により推定された自己位置を示す位置情報を自己位置推定部16から取得する。点環境地図DB181は、点環境地図を格納しており、この点環境地図DB181は、ハードディスクドライブ装置(HDD)やメモリ等の記憶媒体に記憶されている。なお、他の例としては、点環境地図は外部から取得してもよい。図3は、点環境地図を説明するための図である。図3に示すように、点環境地図は、移動ロボットが移動可能な領域を示すデータであり、壁や障害物など上記移動可能な領域の移動通路の境界線を示すデータである。境界線は、例えば10cm間隔など一定密度の点で示された点集合データで示されている。
【0026】
なお、本実施の形態では、環境地図として点集合データで示される点環境地図を用いているがこれに限定されるものではない。例えば、環境地図として線データ集合で示される線環境地図を用いることもでき、この線データを点データに変換するように構成することができる。この場合には、LRS17のレーザビームと、線データの交点を点データとする。
【0027】
点環境地図読出部182は、点環境地図DB181から位置情報に示される自己位置周辺の点環境地図を読み出す。図4は、点環境地図読出部182の処理を説明するための図である。点環境地図読出部182は、図4に示すようにLRS17の位置と姿勢(xL,yL,θL)においてLRS17により計測可能な範囲の点環境地図を読み出す。
【0028】
図5は、移動ロボット1の位置および姿勢(xR,yR,θR)とLRS17の位置および姿勢(xL,yL,θL)の関係を示す図である。このように、移動ロボット1の位置および姿勢(xR,yR,θR)は、移動ロボット1の中心の座標である。これに対し、LRS17の位置および姿勢(xL,yL,θL)は、LRS17の中心の座標である。そこで、まず位置情報に示される移動ロボット1の位置および姿勢(xR,yR,θR)をLRS17の位置および姿勢(xL,yL,θL)に変換する。
【0029】
なお、ここで、(xL,yL,θL)および(xR,yR,θR)は、いずれもグローバル座標系における座標である。ここで、グローバル座標とは、点環境地図の座標系である。すなわち、地図上の所定の位置を原点とする座標系である。
【0030】
具体的には、式(1)により、(xR,yR,θR)を(xL,yL,θL)に変換する。ここで、offsetLRSは、(xR,yR,θR)と(xL,yL,θL)の間の距離である。
【数1】

【0031】
さらに、点環境地図読出部182は、(式2)によりLRS17の中心座標(xL,yL)と点環境地図の座標(xm,ym)との間の距離rmおよび角度θmを算出する。
【数2】

【0032】
点環境地図読出部182は、こうして得られた距離rmおよび角度θmと予め定められた閾値とを比較する。距離rmおよび角度θmがそれぞれ閾値よりも小さい場合には、この点(xm,ym)を点環境地図として読み出す。距離rmおよび角度θmの閾値は、LRS17の計測可能範囲に応じて定めておく。これにより、点環境地図読出部182は、LRS17により計測可能な範囲の点環境地図のみを読み出すことができる。
【0033】
図2の不要点除去部183は、点環境地図読出部182により読み出された点環境地図に含まれる点集合データから不要点を除去する。図6は、不要点除去部183の処理を説明するための図である。移動ロボット1が、図6に示す位置に存在する場合には、移動可能な領域の境界線となる壁領域200がLRS17により検出される。しかし、壁200によりレーザー光が遮断されるので、LRS17は、その奥の壁領域202,204を検出することはできない。このため、壁領域202,204のようないわゆる陰面領域の点環境地図については、LRS17による測定結果との比較を行うことができない。すなわち、後のICPアルゴリズムにおいて不要な点データである。そこで、不要点除去部183は、陰面領域中の点データを点環境地図読出部182が読み出した点環境地図から削除する。
【0034】
不要点除去部183は、陰面領域の点データを削除する。具体的には、以下1.から6.の処理を行う。
1.点環境地図上の一定間隔の点データを検索する。
2.図7は、グローバル座標系からfs座標系に変換する処理を説明するための図である。(式3)により、点環境地図の点データの座標をグローバル座標系の座標(xm,ym)からfs座標系の座標(xfs,yfs)に変換する。ここで、グローバル座標系とは、点環境地図における所定の位置を原点とする座標系である。fs座標系とは、LRS17の中心を原点とし、移動ロボット1の進行方向、すなわち正面をx軸のプラス方向とする座標系である。
【数3】

3.点環境地図の隣接する点データの直線式を導出する。隣接する点P1(x1,y1)と、点P2(x2,y2)の間の直線P12は(式4)のように示される。
【数4】

ここで、係数a1,b1,c1は、(式5)で示される。
【数5】

4.fs座標系におけるLRS17の各レーザー光の照射方向を示す直線式を算出する。図8は、レーザー光の照射方向を示す直線式を算出する処理を説明するための図である。図8において、点P3は、LRS17の中心位置であり、fs座標系における原点である。点P4は、レーザー光の照射方向上の任意の点である。θpは、fs座標系における原点(x3,y3)とレーザー光の照射方向のなす角である。点P4の座標は、(式6)のように示される。
【数6】

ここで、rpは、点P3および点P4を結ぶ線分P34の長さである。
【0035】
直線P34は、(式7)で表される。ここで、各係数は、(式8)の通りである。
【数7】

【数8】

5.図9に示すように、直線P12と直線P34の交点をP0とする。交点P0の座標(x0,y0)を(式9)により算出する。
【数9】

6.LRS17のすべての走査角度θpについて交点P0と原点P3の距離、すなわち深さ(rp)を(式10)により算出する。
【数10】

そして、各θpにおいて最小のrpとなるような点Pを出力する。すなわち、各θpにおいて最小のrpとなるような点P以外の点については、すべて陰面の点とみなし除去する。
【0036】
すなわち、本実施の形態では、点環境地図の各点の間隔を一例として10cmとしているが、不要点を除去する場合には、上述のように点と点の間は直線(直線P12)で接続されていると仮定し、直線P12とLRSセンサ17のレーザ光(直線P34)の交点P0を計算し、交点P0と原点P3の距離、すなわち深さ(rp)によって隠面の点であるか否かを判別している。言い換えれば、不要点除去処理では、一度、10cm間隔の点の間を直線で接続し関連づけてから不要点除去処理をしている。
【0037】
図2の周囲環境情報取得部184は、LRS17の測定結果、すなわち周囲環境情報を取得する。周囲環境情報は、点集合データである。LRS17から取得した周囲環境情報は、グローバル座標系の座標データである。そこで、周囲環境情報取得部184は、周辺環境情報に含まれる各点データをLRS回転中心座標系からグローバル座標系に変換する。LRS回転中心座標系とは、LRS17の中心を原点とし、移動ロボット1の正面をy軸のプラス方向とする座標系である。
【0038】
具体的には、図10に示すように、まず計測座標系の座標データ(xl,yl)をLRS17の中心を原点とするfs座標系の座標データ(xlfs,ylfs)に変換する。このとき、(式11)を用いる。
【数11】

さらに、グローバル座標系の座標データ(xgl,ygl)に変換する。このとき、(式12)を用いる。
【数12】

【0039】
図11は、周囲環境情報を説明するための図である。このように、周囲環境情報は、LRS17による一定角度間隔おきに走査されたレーザー光230による検出結果に対応した点集合データである。例えば、図11における移動ロボット1の右側の壁に照射されたレーザー光230a〜230eにより点240a〜240dが得られる。これらの点が点集合データに含まれている。
【0040】
周囲環境情報調整部185は、周囲環境情報取得部184が取得した周囲環境情報の点集合データのうち所定の点データを間引く。LRS17は、放射線状にレーザー光を照射する。このため、LRS17との距離が近い領域において得られた点においては、各点の間隔が狭く、遠くなるにしたがい、点の間隔が広くなっていく。そこで、点の間隔が狭い部分については、所定間隔で点の数を間引く。例えば、点環境地図が10cm間隔の点データである場合には、周囲環境情報においても、点の間隔が10cmよりも密な領域においては、10cmに近くなるように点を間引く。逆にレーザ光の間隔が広くなる場合、例えば点の間隔が10cm以上で粗な領域においては、LRS17との距離が遠くにある点と判断し、かかる領域の点を不要情報として除去する。
【0041】
図2の誤差評価関数算出部187は、ICPアルゴリズムにおいて、点環境地図と周囲環境情報の対応点の検索を行う。対応点の検索においては、点環境地図中のすべての点と周囲環境情報中のすべての点を対象とするため、点環境地図中の点の個数に周囲環境情報中の点の個数を乗じた計算量が必要となり、演算負荷が大きい。この検索にかかる演算負荷を低減すべく、対象点特定部186は、周囲環境情報中の所定の点の対応点を検索する際に、点環境地図中のすべての点を対象とするのではなく、対象をより少ない点に限定する。移動ロボット1の移動においては、推定された自己位置と実際の自己位置が大きくずれることはないことがわかっている。そこで、対象点特定部186は、推定された自己位置と実際の自己位置のずれの程度に応じた範囲内の点のみを、対応点を検索する際の対象点とする。
【0042】
図12は、対象点特定部186の処理を具体的に説明するための図である。図12において、白丸は点環境地図上の点、黒丸は周囲環境情報中の点を示している。例えば、周囲環境情報中の点300の対応点を点環境地図上の点から検索する場合、図12に示す点環境地図上のすべての点データを検索対象とするのではなく、例えば、点環境地図中の点データのうち、点300を中心としたLRSの照射角度±10度の領域310内に含まれる点データのみを検索対象とする。
【0043】
このように、検索対象点を制限することにより、処理の高速化を図ることができる。なお、領域のサイズは、ロボットの位置ずれの精度や、補正タイミング、路面の状態などの条件に応じて設定すればよく、実施の形態に限定されるものではない。
【0044】
図2の誤差評価関数算出部187は、ICPアルゴリズムを用いて周囲環境情報と点環境地図とを比較する。このとき、対象点特定部186により特定された検索対象点のみを検索対象とする。図13−1から図13−4は、ICPアルゴリズムを説明するための図である。ICPアルゴリズムは、2つの点集合間の距離誤差を最小化するような剛体変換(回転または平行移動)パラメータR,tを求める手法である。ICPアルゴリズムにおいては、図13−1に示す初期状態において、図13−2に示すように第1グループ中の点と第2グループ中の点のうち距離が最小となるような対応点(ペア)を探索する。これをすべての点に対して行う。次に、各対応点における2点間の距離が小さくなるように、図13−3に示すように剛体変換を行う。対応点の探索と剛体変換とを繰り返し、図13−4に示すように2つの点集合が重なり合えば、ICPアルゴリズム終了とする。
【0045】
2つの点集合が重なるということは、(式13)に示す誤差評価関数(E)を最小化することに等しい。誤差評価関数算出部187は、誤差評価関数(E)を最小化するようなパラメータR,tをニュートン法などを用いて算出する。
【数13】

【0046】
誤差評価関数算出部187は、点環境地図の点集合と周囲環境情報の点集合に対してこのICPアルゴリズムを施すことにより、各対応点間の誤差を最小化するようなパラメータR,tを算出する。位置補正部188は、誤差評価関数算出部187により算出されたパラメータにより、位置情報取得部180が取得した自己位置を補正する。なお、実施の形態にかかる誤差評価関数算出部187は、位置ずれ量算出手段に相当する。
【0047】
図14は、自己位置補正部18による自己位置補正処理を示すフローチャートである。まず、位置情報取得部180は、自己位置推定部16から位置情報を取得する(ステップS100)。次に、点環境地図読出部182は、点環境地図DB181から自己位置周辺の点環境地図を読み出す(ステップS102)。なお、このとき、LRS17の中心位置との距離および角度が予め定められた閾値以下の点環境地図のみを読み出す。次に、不要点除去部183は、点環境地図読出部182のうち不要点を除去する(ステップS104)。具体的には、点環境地図DB181読み出した点環境地図から陰面領域中の点データを除去する。
【0048】
このように、後のICPアルゴリズムにおける点環境地図と周囲環境情報の比較において比較対象とならない点を予め除去しておくことにより、2つの点集合データにおける対応点を検索する処理の演算量を削減することができる。
【0049】
次に、周囲環境情報取得部184は、LRS17から周囲環境情報を取得する(ステップS106)。次に、周囲環境情報調整部185は、周囲環境情報に含まれる点データを調整する(ステップS108)。具体的には、点環境地図の点密度に比べて点データが密な領域については点データを適宜間引く。
【0050】
点環境地図の点密度に比べて密に点データが存在していた場合、ICPアルゴリズムにおいては、点データが多いことに起因した演算精度の向上よりも、演算量の増加の方が問題となる。そこで、ICPアルゴリズムにおける処理結果に影響の小さい点データを間引く。これにより、ICPアルゴリズムにおける2つの点集合データにおける対応点を検索する処理の演算量を削減することができる。
【0051】
次に、対象点特定部186は、ICPアルゴリズムにおいて周囲環境情報中の所定の点に対応する点環境地図中の点、すなわち対応点の検索における検索対象となる点を、点環境地図中の一部の点に限定する(ステップS110)。このように、検索対象となる点を点環境地図中のすべての点ではなく、近傍の点のみに限定することにより、対応点を検索する処理の演算量を削減することができる。
【0052】
次に、誤差評価関数算出部187は、対象点特定部186により限定された点のみを検索対象点として、対応点となる最近傍点を検索する対応点検索処理を行う(ステップS112)。次に、誤差評価関数算出部187は、誤差評価関数(E)がゼロに最も近付くようなパラメータR,tを算出する(ステップS114)。次に、周囲環境情報をパラメータR,tを用いたアフィン変換する(ステップS116)。さらに、対応点の検索と、剛体変換(アフィン変換)を繰り返す。
【0053】
誤差評価関数(En)と、その直前に得られた誤差評価関数(En-1)の差分が予め定められた閾値以下である場合には、収束したと判断し(ステップS118,Yes)、このとき得られたパラメータR,tにより、自己位置推定部16により推定された自己位置を補正する(ステップS120)。以上で処理を終了する。一方、差分や誤差関数Eの値が閾値よりも大きい場合には(ステップS118,No)、再びステップS112へ戻る。以上の処理により、自己位置推定部16により推定された自己位置を実際の自己位置に推定することができる。
【0054】
図15は、対応点検索処理(ステップS112)における誤差評価関数算出部187の詳細な処理を示すフローチャートである。まず、点環境地図の点集合Mを読み込む(ステップS200)。次に、周辺点環境地図の点集合、すなわちLRSの点集合Dを読み込む(ステップS202)。次に、LRSの点集合の変数jを1に初期化する(ステップS204)。さらに、観測点djと点環境地図点miの間の全ての最小距離Mindistance[j]の初期値をMaxdistanceとする(ステップS205)。ここで、Maxdistanceは変数の最大値などである。
【0055】
さらに、LRSの観測点jに対する点環境地図の点集合の検索範囲をiminからimaxとし、この検索範囲を計算する(ステップS206)。次に、点環境地図の点集合の変数iをiminに初期化する(ステップS208)。次に、LRSの観測点djと、点環境地図点miの間の距離を計算する(ステップS210)。そして、Distance(dj,mi)をdistanceに設定する。
【0056】
次に、観測点djと点環境地図点miの間の最小距離Mindistance[j]と、distanceとを比較し、最小判別を行う。distanceがMindistance[j]に比べて小さい場合には(ステップS212,Yes)、distanceをMindistance[j]に設定し、iを最小距離点Minpoint[j]に設定する(ステップS214)。distanceがMindistance[j]以上である場合には(ステップS212,No)、ステップS216に進む。
【0057】
次に、変数iに「i+1」を設定する(ステップS216)。すなわち、次の点環境地図点を指定する。以上ステップS210からステップS216の処理を点環境地図点のすべてに対して行うまで繰り返す(ステップS218)。
【0058】
minからimaxまですべての点環境地図点に対してステップS210からステップS216の処理を行うと(ステップS218,Yes)、次に、LRSの観測の変数をjに「j+1」を設定する(ステップS220)。すなわち、次のLRSの観測点を指定する。すべての観測点jに対して、ステップS208からステップS220の処理を行うまで繰り返し(ステップS222)、すべての観測点に対する処理が終了すると(ステップS222,Yes)、対応点検索処理(ステップS112)が完了する。
【0059】
図16は、自己位置補正部17および自己位置補正部18のハードウェア構成を示す図である。自己位置補正部17および自己位置補正部18は、ハードウェア構成として、自己位置補正部17および自己位置補正部18における自己位置推定処理および自己位置補正処理を実行するプログラムなどが格納されているROM52と、ROM52内のプログラムに従って自己位置補正部17および自己位置補正部18の各部を制御するCPU51と、自己位置補正部17および自己位置補正部18の制御に必要な種々のデータを記憶するRAM53と、ネットワークに接続して通信を行う通信I/F57と、各部を接続するバス62とを備えている。
【0060】
先に述べた自己位置補正部17および自己位置補正部18におけるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フロッピー(登録商標)ディスク(FD)、DVD等のコンピュータで読み取り可能な記録媒体に記録されて提供されてもよい。
【0061】
この場合には、プログラムは、自己位置補正部17および自己位置補正部18において上記記録媒体から読み出して実行することにより主記憶装置上にロードされ、上記ソフトウェア構成で説明した各部が主記憶装置上に生成されるようになっている。
【0062】
また、本実施の形態のプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。
【0063】
以上、本発明を実施の形態を用いて説明したが、上記実施の形態に多様な変更または改良を加えることができる。
【0064】
図17は、そうした変更例にかかる自己位置補正部19の詳細な機能構成を示すブロック図である。自己位置補正部19の線環境地図DB190は、移動ロボットが移動可能な領域における壁や障害物などの境界線が点集合データで示された点環境地図にかえて移動ロボットが移動可能な領域における壁や障害物などの境界線が線データで示された線環境地図を保持している。この線環境地図DB190は、HDDやメモリ等の記憶媒体に記憶されている。自己位置補正部19は、さらに点環境地図生成部192を有している。点環境地図生成部192は、線環境地図DB190に保持されている線環境地図から予め定められた密度の点で示された点環境地図を生成する。点環境地図読出部182は、この点環境地図から位置情報に示される自己位置周辺の点環境地図を読み出す。
【0065】
なお、読み出した点環境地図からの不要点除去から位置情報修正までの処理(図14のステップS104〜S120)および対応点検索処理(図15の処理)については実施の形態1と同様に行われる。
【0066】
また、線環境地図DB190に保存されている線環境地図から不要点除去処理を行うように構成してもよい。点環境地図から不要点を除去する場合には、上述のように、一度10cm間隔の点の間を直線で接続し関連づけてから不要点除去処理をしているが、線環境地図の場合も同様に不要点除去を行うことができる。
図18は、線環境地図のを説明するための図である。図18に示すように、線環境地図は、線の始点および終点(点の間隔は任意とする)とこれを関連づけることによって線データが構成されている。このため、不要点除去部183は、図8、9を用いて説明した点環境地図から不要点除去を行う手法と同様に、LRS17のレーザ光(直線P34)と、線データ(直線P12)の交点P0を計算し、交点P0と原点P3の距離、すなわち深さ(rp)によって隠面の線であるか否かを判別している。図19は、不要点除去後の線環境地図の一例を示す説明図である。従って、線環境地図からの不要点除去も可能となる。
【図面の簡単な説明】
【0067】
【図1】移動ロボット1の全体構成を示す図である。
【図2】自己位置補正部18の詳細な機能構成を示すブロック図である。
【図3】点環境地図を説明するための図である。
【図4】点環境地図読出部182の処理を説明するための図である。
【図5】移動ロボット1の位置および姿勢(xR,yR,θR)とLRS17の位置および姿勢(xL,yL,θL)の関係を示す図である。
【図6】不要点除去部183の処理を説明するための図である。
【図7】グローバル座標系からfs座標系に変換する処理を説明するための図である。
【図8】レーザー光の照射方向を示す直線式を算出する処理を説明するための図である。
【図9】直線P12と直線P34の交点P0を示す図である。
【図10】座標変換を説明するための図である。
【図11】周囲環境情報を説明するための図である。
【図12】対象点特定部186の処理を具体的に説明するための図である。
【図13−1】ICPアルゴリズムを説明するための図である。
【図13−2】ICPアルゴリズムを説明するための図である。
【図13−3】ICPアルゴリズムを説明するための図である。
【図13−4】ICPアルゴリズムを説明するための図である。
【図14】自己位置補正部18による自己位置補正処理を示すフローチャートである。
【図15】対応点検索処理(ステップS112)における誤差評価関数算出部187の詳細な処理を示すフローチャートである。
【図16】自己位置補正部18のハードウェア構成を示す図である。
【図17】自己位置補正部19の詳細な機能構成を示すブロック図である。
【図18】線環境地図を説明するための図である。
【図19】不要点除去後の線環境地図の一例を示す説明図である。
【符号の説明】
【0068】
1 移動ロボット
10 走行制御部
11 モーター
12 車輪
13 位置推定センサ
14 光ファイバジャイロ
15 エンコーダ
16 自己位置推定部
17 LRS
18 自己位置補正部
51 CPU
52 ROM
53 RAM
57 通信I/F
62 バス
180 位置情報取得部
181 点環境地図DB
182 点環境地図読出部
183 不要点除去部
184 周囲環境情報取得部
185 周囲環境情報調整部
186 対象点特定部
187 誤差評価関数算出部
188 位置補正部
190 線環境地図DB
192 点環境地図生成部

【特許請求の範囲】
【請求項1】
自律移動可能な移動ロボットであって、
当該移動ロボットの移動量および移動方向を検知する移動センサと、
前記移動センサによる検出結果に基づいて、自己位置を推定する自己位置推定手段と、
当該移動ロボットが移動可能な領域を点集合データで示す点環境地図を保持する点環境地図保持手段と、
当該移動ロボットの周囲の移動可能な領域を検知する経路センサと、
前記経路センサによる検出結果を点集合データで示す周囲環境情報を生成する周囲環境情報生成手段と、
前記周囲環境情報中の所定の点データに対応する点データであって、前記点環境地図中の点データである対応点データの候補を、前記点環境地図中の点データのうち前記所定の点データを基準として予め定められた閾値以下の距離の領域に存在する点データに限定する検索対象点限定手段と、
前記検索対象点限定手段により限定された点を前記所定の点データに対する対応点データとして、前記点環境地図中の各点データと、前記周囲環境情報中の対応点データとの間の位置ずれ量分前記自己位置推定手段により推定された前記自己位置を補正する位置補正手段と、
を備えたことを特徴とする移動ロボット。
【請求項2】
前記移動ロボットが移動可能な領域を線データで示す線環境地図を保持する線環境地図保持手段と、
前記線環境地図保持手段が保持する前記線環境地図から所定の密度の点で示された前記点環境地図を生成する点環境地図生成手段と
をさらに備え、
前記点環境地図保持手段は、前記点環境地図生成手段により生成された前記点データを保持することを特徴とする請求項1に記載の移動ロボット。
【請求項3】
前記周囲環境情報生成手段により生成された前記点集合データの点データの間隔が、前記点環境地図保持手段が保持する前記点環境地図中の点集合データの点データの間隔に比べて狭い場合に、前記周囲環境情報中の点データの間隔が前記点環境地図中の点データの間隔になるよう前記点データを間引く周囲環境情報調整手段をさらに備えたことを特徴とする請求項1または2に記載の移動ロボット。
【請求項4】
ICPアルゴリズム(Iterative Closest Point)を用いて前記検索対象点限定手段により限定された後の前記点環境地図中の各点データと、前記対応点データとの間の位置ずれ量を算出する位置ずれ量算出手段をさらに備え、
前記自己位置補正手段は、前記位置ずれ量算出手段により算出された前記位置ずれ量分前記自己位置推定手段により推定された前記自己位置を補正することを特徴とする請求項1から3のいずれか一項に記載の移動ロボット。
【請求項5】
自律移動可能な移動ロボットの自己位置補正方法であって、
移動センサが当該移動ロボットの移動量および移動方向を検知する第1検知ステップと、
前記移動センサによる検出結果に基づいて、自己位置を推定する自己位置推定ステップと、
経路センサが当該移動ロボットの周囲の移動可能な領域を検知する第2検知ステップと、
前記経路センサによる検出結果を点集合データで示す周囲環境情報を生成する周囲環境情報生成ステップと、
前記周囲環境情報中の所定の点データに対応する点データであって、当該移動ロボットが移動可能な領域を点集合データで示す点環境地図を保持する点環境地図保持手段が保持する点環境地図中の点データである対応点データの候補を、前記点環境地図中の点データのうち前記所定の点データを基準として予め定められた閾値以下の距離の領域に存在する点データに限定する検索対象点限定ステップと、
前記検索対象点限定ステップにおいて限定された点を前記所定の点データに対する対応点データとして、前記点環境地図中の各点データと、前記周囲環境情報中の対応点データとの間の位置ずれ量分前記自己位置推定ステップにおいて推定された前記自己位置を補正する位置補正ステップと、
を有することを特徴とする自己位置補正方法。
【請求項6】
自律移動可能な移動ロボットの自己位置補正処理をコンピュータに実行させる自己位置補正プログラムであって、
当該移動ロボットの移動量および移動方向を検知する移動センサによる検出結果に基づいて、自己位置を推定する自己位置推定ステップと、
当該移動ロボットの周囲の移動可能な領域を検知する経路センサによる検出結果を点集合データで示す周囲環境情報を取得する周囲環境情報取得ステップと、
前記周囲環境情報中の所定の点データに対応する点データであって、当該移動ロボットが移動可能な領域を点集合データで示す点環境地図を保持する点環境地図保持手段が保持する点環境地図中の点データである対応点データの候補を、前記点環境地図中の点データのうち前記所定の点データを基準として予め定められた閾値以下の距離の領域に存在する点データに限定する検索対象点限定ステップと、
前記検索対象点限定ステップにおいて限定された点を前記所定の点データに対する対応点データとして、前記点環境地図中の各点データと、前記周囲環境情報中の対応点データとの間の位置ずれ量分前記自己位置推定ステップにおいて推定された前記自己位置を補正する位置補正ステップと、
を有することを特徴とする自己位置補正プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13−1】
image rotate

【図13−2】
image rotate

【図13−3】
image rotate

【図13−4】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate


【公開番号】特開2008−250906(P2008−250906A)
【公開日】平成20年10月16日(2008.10.16)
【国際特許分類】
【出願番号】特願2007−94623(P2007−94623)
【出願日】平成19年3月30日(2007.3.30)
【出願人】(000202361)綜合警備保障株式会社 (266)
【Fターム(参考)】