説明

検出能に限りのある移動ロボットを用い室内環境の地図を実時間で作成するシステムおよび方法

【課題】検出能に限りのある移動ロボットを用い、室内環境の実時間での地図作成システムおよび方法を提供する。
【解決手段】壁追従動作から、複数の軌道通過点を含む生の軌道データを受け取る。生の軌道データに足跡分割を適用し、線分を生成する。線分を、相互に修正する。修正された線分から、地図を生成する。

【発明の詳細な説明】
【技術分野】
【0001】
合衆国政府は、DARPA(国防高等研究計画局)により裁定された契約第FA8650−08−C−7814号の条項が規定する妥当な条項に基づき、本発明の対価支払い済み使用許諾権と、特許権者に対し他者への使用許諾を要求する制限付き環境における権利とを有するものである。
【0002】
一つの環境における地図作成と位置特定は、効率的かつ有効なロボット探査と誘導にとって不可欠である。地図作成は、移動ロボットの目標を増大あるいは隠匿することのある環境の特徴の識別に有用である。例えば、室内環境内の廊下の角部や交差箇所の識別は、査察やネットワーク化用途には有用である。加えて、ロボットがある領域を既に横断したかどうかの知識は、電池寿命の節約と時間的効率の手助けとなる。
【背景技術】
【0003】
移動ロボットはしばしば、地図がなかったり遠隔地であったり、あるいは従来の計測技法ではアクセス不能な物理的環境内で展開させられる。最も有効に機能させるために、移動ロボットは配置される物理的環境の特性を発見する必要がある。位置詳細の知識は、誘導や通信や目標検索あるいは目標配置の手助けとなることができる。
【0004】
物理的環境の地図作成はロボットが探査する領域の大きさの特定に役立ち、ロボットが障害物により動けなくなったりまたは妨害されたりした場合に、ロボットを既知のより意義ある領域に戻すことができる。物理的環境の識別は、領域全体を横断したかどうか、ロボットとの間でより良好な接続性を有するのはどの領域か、何らかの追加のロボットやユーザ、加えて電池寿命を最大化し探査時間を最小化するロボットの動きの最適化も特定するのにも役立つ。
【0005】
一般に、移動ロボットは内蔵型のオンボード誘導システムを用いており、これには相対的な動きを追尾したり、衝突を検出したり、障害を識別したり、あるいは直近の環境の認識を提供する環境センサを含めることができる。センサの読み取り値は、遂行すべき次のロボットの動作あるいは機能を計画するのに用いられる。動きは単一方向で発生することがあり、一連の個々の動きや旋回や静止位置ともなりうる。
【発明の概要】
【発明が解決しようとする課題】
【0006】
ロボットによる物理的環境の従来の地図作成態様には、ロボットの前方あるいは周囲の障害物を検出するために、カメラや超音波測距器や光検出測距(LIDAR:light detection and ranging)等の長距離センサを有する包括的なセンサの使用が含まれる。環境の長距離計測は、構成要素の高コストに起因する経済性と高電力要求に起因する効率の両方で高額の諸経費を抱えるものである。加えて、環境地図作成用に高レベルコンピュータ認知モデルが用いられているが、しばしば外部の時間遅延を伴う計算を必要とする大量の計算諸経費を招く。センサを多用するロボットと強力な計算処理能力についてのこれらの要件は、短距離のセンサを有する低力なロボットの能力を超えることがある。
【課題を解決するための手段】
【0007】
それ故、対費用効果がありかつ効率的である環境のオンボード実時間地図作成に対する手法の必要性が存在する。好ましくは、この種の手法はセンサの誤読み取りと物理的環境内の障害物とにより作成される誤差を抽出して取り除くことができるようにする。
【0008】
物理的環境の特性は、移動ロボットが収集するデータに基づき特定される。移動ロボットの動きパターンとセンサから受信したデータの継続的分析は、移動ロボットによる環境のオンボード実時間地図作成に用いることができる。
【0009】
一実施形態は、検出能に限りのある移動ロボットを用いた室内環境の実時間地図作成用のシステムおよび方法を提供するものである。壁追従動作から、複数の軌道通過点を含む生の軌道データを受け取る。生の軌道データに足跡分割を適用し、線分を生成する。線分は、相互に修正される。修正された線分から、地図が生成される。
【0010】
本発明のさらに別の実施形態は下記の詳細な説明から当業者には即明らかとなるものであり、ここでは本発明の実施に合わせ熟慮した最良の態様を例示することで本発明の実施形態を説明する。理解されるように、本発明は他の異なる実施形態が可能であり、その幾つかの細部は全て本発明の趣旨ならびに範囲から逸脱することなく、様々な自明な観点において改変が可能である。従って、図面と詳細な説明は本来が例示であって、限定するものでないと考えるべきである。
【図面の簡単な説明】
【0011】
【図1】移動ロボット展開用の代表的な物理的環境を例示により示すブロック線図である。
【図2】検出能に限りのある移動ロボットを用いた内部環境の実時間地図作成方法を例示により示すフロー線図である。
【図3】図2の方法に用いる壁追従動作を示すフロー線図である。
【図4】図2の方法に用いる足跡分割を示すフロー線図である。
【図5】図2の方法に用いる地図修正を示すフロー線図である。
【図6】図2の方法に用いるループ検出と閉包とを示すフロー線図である。
【発明を実施するための形態】
【0012】
物理的な環境は、移動ロボットの動きパターンに基づき実時間で地図を作成する。図1は、移動ロボット11を展開させる代表的な物理的環境10を例示により示すブロック線図である。物理的環境10には、壁で仕切られた1以上の部屋12と廊下13とを含めることができる。物理的環境10の他の構成要素も可能である。物理的環境10内で、1以上の移動ロボット11を展開させることができる。加えて、1以上の障害物14すなわち邪魔な物が環境10内に存在することがある。
【0013】
移動ロボット11には、電源や、他のロボットとのインタフェースをとる通信インタフェースや、基地局や、ユーザノードを含めることができる。ロボットにはまた、環境周辺で移動ロボットを移動案内する移動用電源および内蔵誘導システムと、環境内での移動ロボット11の移動距離と位置とを計測する路程測定器と、左側衝突センサと、随意選択的ではあるが右側衝突センサと、ロボット中心を通って長手方向に延びる軸の360度に亙るロボットの進行方位を算出する進行方位構成要素とを含めることができる。もう一つの実施形態では、移動ロボット11には、ロボットが物体に物理的に接触するようになる前に、壁等の物体を検出する赤外線式あるいは超音波式の1以上の短距離センサを含めることができる。他のロボット11の構造と構成要素も可能である。
【0014】
ロボット11には、プログラムされた埋め込み型微小システムとして、あるいはノートブック型コンピュータ等の汎用可搬式コンピュータシステムとして実装することのできるプロセッサに対するインタフェースを含めることもできる。プロセッサは、ロボットが収集したデータを分析し、本願明細書に説明する如くその中をロボットが展開する物理的環境を特性解明する1以上のモジュールを含む。プロセッサはソフトウェアプログラムを実行するプログラム可能な計算処理デバイスであり、例えば中央処理装置やメモリやネットワークインタフェースや持続的記憶装置やこれらの構成要素を相互接続する様々な構成要素を含む。モジュールは従来のプログラミング言語にてソースコードとして書かれたコンピュータプログラムあるいは手順として実装することができ、オブジェクトコードまたはバイトコードとして中央処理装置の実行用に提示される。
【0015】
別の選択肢として、モジュールはまた集積回路網としてあるいはリード・オンリー・メモリの構成要素に組み込むかのいずれかでハードウェア内に実装しうる。ソースコードやオブジェクト・バイトコードの様々な実装は、フロッピー(登録商標)ディスク、ハードドライブ、デジタル・ビデオ・ディスク(DVD)、ランダム・アクセス・メモリ(RAM)、リード・オンリー・メモリ(ROM)、同様の記憶媒体等のコンピュータ可読記憶媒体に保持させることができる。物理的なハードウェア構成要素だけでなく、他種のモジュールおよびモジュール機能もまた可能である。
【0016】
一実施形態では、収集データは埋め込み型あるいはオンボード型のプロセッサにより実時間で分析し、出力は後程アクセスすべくメモリに記憶させる。別の実施形態では、出力はネットワークインタフェースを介してロボット11によりこれにインタフェースを有する外部コンピュータに記憶させる。なおさらなる実施形態では、複数ロボット11から収集されるデータを分類し、分析し、相互に組み合わせて比較する。他のデータ分析と記憶の組み合わせが可能である。
【0017】
モジュールロボット11が収集する生データは、実時間で環境地図を特定すべく分析される。図2は、検出能に限りのある移動ロボットを用いた室内環境での実時間地図作成方法を例示により示すフロー線図である。ロボット11は、図3を参照して下記にさらに説明する如く、壁追従動作戦略を用いて(ブロック21)環境10内を周回移動する。路程測定器を介する壁追従動作期間中に、移動距離と旋回角度とを含む生の軌道データが収集される。壁センサと衝突センサとから、さらなる軌道データを収集することができる。生の軌道データは、図4を参照して下記にさらに説明するように、足跡分割を用いて線分片ごとに適合(ブロック22)させる。
【0018】
線分はそこで、図5を参照して下記にさらに説明するように、相互に平行か垂直かのいずれかとなるよう修正(ブロック23)される。随意選択的には、既に横断した領域上での移動ロボット11の何らかのループ周回が検出され、図6を参照して下記にさらに説明するように、このループはそこで閉じられる(ブロック24)。最後に、地図が完成する(ブロック25)。
【0019】
壁追従動作により、ロボット11の探査期間中、環境の境界の完全な横断が可能になる。加えて、既に横断した領域は、正確な路程測定の必要性を伴うことなく、以前とは逆方向に壁に沿って移動することで逆行壁追従動作を介して到達することができる。図3は、図2の方法に用いる壁追従動作を示すフロー線図である。路程測定器、壁センサ、および衝突センサの読み取り値からの移動距離と方位角度とを含む生の軌道データを、ロボット移動期間中に収集し記憶させる。一旦環境内に導入すると、ロボット11がデータを収集し壁センサが壁を検出したかどうか判定する
【0020】
一実施形態では、ロボット11の右側にある壁センサが壁追従動作用に用いられる。壁が検出されない場合、壁センサがトリガーされるまでロボット11は時計回りに回転する。ロボット11が完全に一回転した後、壁センサがトリガーされない場合、ロボット11は壁と想定される接触を介して衝突センサの一方または両方が物体を検出してトリガーされるまで直線方向31に移動する。一旦衝突センサの一つがトリガーされると、ロボット11は衝突センサがもはやトリガーされなくなるまで反時計回り32に回転し、続いて壁センサを用いて壁33に追従すなわち追尾する。
【0021】
路程測定器は、定期的に距離と方位角度データを収集する。基準となるロボットフレームは、物理的環境内での展開時のロボットの初期位置あるいは姿勢に基づき特定される。別の選択肢として、路程測定読み取り値を収集する前に、ロボットの姿勢を何時でも初期位置にリセットすることができる。例えば、ロボットの初期位置すなわち始動位置は(x,y,θ)に設定することができ、ここでx,yは座標であり、θは方位であって、初期的には0に設定される。路程測定データ収集時の任意の現在地(x,y,θ)は、x=xk−1+dcos(θ),y=yk−1+dsin(θ)とθ=θ+aにより算出され、ここでdとaはそれぞれ計測を行なった最後の点からのそのときの距離計測値と角度計測値である。他の位置特定も、可能である。
【0022】
路程測定器の読み取り値における誤差やノイズが、方位角度算出時の誤差等の量子化や車輪のスリップ等が原因で生ずることがある。他の誤差源も存在しうる。距離誤差は通常小さいが、丸めや読み取り時の積算器リセットが故に角度誤差は大きくなることがある。例えば、一実施形態では、距離に関するセンサの解像度は0.001mであり、角度計測については1°すなわち0.0175ラジアンである。距離と角度の計測値は、各読み取り後に0にリセットされる。読み取り用のサンプリング時間が極端に短かったり、あるいはサンプル間での角度移動が1°未満となるほど角度変化が緩慢であったりする場合には、たとえ堆積した実際の動きが正もしくは負であっても、角度読み取り値は0とされる筈である。サンプリングレートを増やすことで、応答遅延等の他の誤差源を招くことがある。他の解決策が可能であるが、デジタル処理によって制限されることがある。図4を参照することから始め下記にさらに説明する如く、誤差は外部環境に関して作成した前提に基づき補正される。
【0023】
加えて、データは左バンパ(bl)と壁センサ(wr)から記録される。左側衝突センサがトリガーされると、bl読み取り値は1に設定され、それ以外は読み取り値は0に設定される。0から1までの衝突センサの読み取り値の変化は、ロボット11が左側に、すなわち反時計回りに旋回する可能性を示すものとなる。センサ計測値が強度閾値を上回るときは、壁センサ読み取り値wrは1に設定され、壁と想定される障害物がロボット11の右側に接近していることが示される。計測値が閾値未満である場合、ロボットは右側の障害物に接近している可能性はなく、壁センサの読み取り値は0に設定される。もう一つの実施形態では、壁センサはロボット11の左側に配置される。そこで、壁追従動作戦略は反転され、例えば壁センサが一切壁を検出しないときにロボットの回転は反時計回りとされる。他の壁追従動作戦略も可能である。
【0024】
バンパと壁センサの読み取り値は、定期的や周期的やあるいは間欠的に収集することができる。一実施形態では、センサは20Hzでポーリングされ、生の軌道(x,y,bl,wr)が1Hzでかつ衝突センサあるいは壁センサの状態が変化したときに必ず記憶させる。他のデータ収集周波数が可能である。
【0025】
収集データの足跡分割は、共通センサ誤差を抽出除去し、地図作成用の算出諸経費を低減する。図4は、図2の方法に用いる足跡分割を示すフロー線図である。足跡分割期間中、路程測定器と衝突センサと壁センサとから収集される生の軌道データを切片単位で直線に適合させる。個々の軌道通過点は、短い直線切片に群別分類される。線分はそこで、図5を参照して下記にさらに説明する確率的手法を用いて離散直線方向に修正される。個々のデータ点を線分に群別分類することで、計算の複雑さ、かくしてロボットに関する算出諸経費は大幅に減り、何故なら修正はより多数の個々の点ではなく、より少数の線分に適用されるからである。加えて、足跡分割は計測値と制御ノイズの一部を取り除くことができる。壁追従動作は微調制御戦略とセンサノイズとが原因でジグザグあるいは湾曲軌跡を生ずることがあるが、分割が障害物の境界の輪郭を描く連続的な線を生成する。大半の室内環境にあっては、壁や障害物は真っすぐであり、それ故この種のフィルタにより効率的に捕捉することができる。
【0026】
線分は、経時的な入力軌道を用いて生成される。例えば、入力データ{x,y,bl,wrk=1,2,...,K,ただし(x,y)は位置座標で、blとwrはそれぞれ左バンパと壁センサ読み取り値であるデータを用い、{l,θ,t}により表わされる線分として出力を生成し、ただしlは線分の長さであり、θはロボットの基準フレームに対する切片の方位、換言すれば初期方位に対する方位であり、tは線分が先の線分に対し左旋回あるいは右旋回したか、あるいは直進しているかを示すものである。
【0027】
先ず、収集された第1の2個の軌道データ点を用い、線分が始まる(ブロック41)。長さlは、式l={(x−x+(y−y1/2に従って決定され、ここで(x,y)と(x,y)はそれぞれ第1と第2の軌道通過点の場所座標位置である。切片の方位は、式θ=arctan(y−y,x−x)に従って特定され、tは当初直進に設定される。各後続の軌道通過点は、旋回が検出されるまでそのときの線分に追加される(ブロック42)。旋回が識別されると、次の2個の軌道データ点を用いて新規線分が始まる。
【0028】
旋回は、幾つかの方法で検出することができる。路程測定器と衝突センサと壁センサは、ロボット11に関する方向の変化を特定する情報を提供することができる。衝突センサ状態の変化blは、衝突センサが障害物との接触によりトリガーされたときに発生する。この状態は、衝突センサがトリガーされないときは0に設定される。左側衝突センサがそのときの読み取り値bl=1を有し、衝突センサの接触を示し、先のデータ点blk−1が0であるとき、ロボットは左方に旋回しており、新たな切片が始まり、blをもって開始され、新規切片に関するtは左旋回に設定される。
【0029】
壁センサ強度が閾値を上回るときは、ロボット11は壁を追従していることになる。壁センサの状態は、閾値を上回るときは1に設定され、強度が閾値未満であるときは0とされる。wr=0でwrk−1=1であるときは、ロボットは壁との接触の喪失に応答して右方へ旋回し、新規切片についてのtは右旋回に設定される。
【0030】
路程測定器を介して収集されるデータは、方向の変化の検出にも用いることができる。そのときの点からそのときの線分までの距離は、そのときの点と先の点との間の距離と比較される。そのときの点(x,y)からそのときの線分までの距離dは、式d=|cos(θ)(y−y)−sin(θ)(x−x)|に従って特定され、ここで(x,y)はそのときの線分の始点であり、θはそのときの切片の方位であり、θ=arctan(y−y,x−x)である。そのときの点(x,yk)から先の点(xk−1,yk−1)までの距離は、式dバー={(x−xk−1+(y−yk−11/2に従って決定される。
【0031】
≧K・dバーであるとき、ただしKは切片間の最小旋回角度に関する閾値である0と1との間の定数であるが、新規切片が作成される。そうでなければ、そのときの切片はそのときの点を含むよう延長(ブロック43)される。一実施形態では、Kは0.1に設定される。もう一つの実施形態では、lすなわちそのときの切片の長さは設定最小切片長であるパラメータLと比較される。l>Lで、d≧K・dバーである場合、新規切片が作成される。そうでなければ、そのときの切片はそのときの点を含むよう拡張される。一実施形態では、Lは0.7mに設定されるが、他の最小切片長も可能である。さらなる軌道データが収集されないか、一旦旋回が検出されると、そのときの切片は完了する(ブロック45)。足跡分割は、実時間で収集される各付加的軌道データに適用される。
【0032】
路程測定器の誤差が故に、足跡分割はロボット11の壁追従動作の軌跡に適合する線分を生み出し、軌跡は計測ノイズが故に変形することがある。修正は、線分を相互に平行か垂直のいずれかとすることで、変形を補正する。図5は、図2の方法に用いる地図修正を示すフロー線図である。多くの室内環境は垂直壁でもって直線的に囲まれており、直線状の室内は線分内のノイズ補正に用いることができる。修正の入力は足跡分割から生ずる一連の線分(l,θ,t)であり、出力はsを修正角度とした場合に新規の一連の線分(l,s)となる。任意の2つの隣接切片が整列配置もしくは直線的となるかのいずれかとなるよう、制限を適用する。一旦修正されると、各切片は相互にπ/2の倍数となる。
【0033】
一実施形態では、2個の隣接切片間の旋回角度を調査し、直線前進分類アルゴリズムを用いて例えば0°や90°等の離散角度に分類する。閾値未満の旋回角度、例えば45°は0°すなわち直線として分類され、そうでなければその旋回角度は直線反転として分類される。しかし、この分類アルゴリズムは若干の例において問題を含むことがある。例えば、それぞれ方向θ=0°,30°,60°,90°を有する4個の線分の場合、2つの同時並行的な切片間の角度は30°でしかなく、これ故に直線前進分類アルゴリズムは各旋回角度を0°と分類することになる。しかしながら、ロボットは実際に90°旋回を終えている。この問題は、分類を前述の瞬間的な旋回角度の状態欠落分類から旋回角度履歴を用いた状態依拠分類に拡張することで、解決することができる。
【0034】
もう一つの実施形態では、各線分は特定の線分の旋回角度だけでなく、先の線分の水平旋回角度履歴もまた用いて修正される(ブロック51)。線分iについては、履歴{i−1,i−2,.,i−H}と共に切片の旋回角度を考慮するが、ここでHは水平長さである。水平長さは、そのときの線分の旋回角度を特定すべく考慮する先の線分の値であり、幾つかの仕方で定義することができる。例えば、水平長さは、そのときの切片の5m等の物理距離内の線分とすることができる。別の選択肢として、水平長さはそのときの線分に先行する線分の設定値として定義することができる。他種の水平長さも可能である。いずれにせよ、水平内線分はそのときの線分を修正するものと集約的に考えられ、前述の状態欠落分類の問題を回避することができる。さらに、水平履歴はノイズの多いデータを取り除き、障害物前後の線分を修正に用いるが故に、水平履歴に比べ障害物が小さいときに障害物の存在下で移動の正確な地図作成を提供することができる。
【0035】
次に、そのときの切片の方位の確率を説明する(ブロック52)。一実施形態では、ほぼ連続するベイズ式フィルタリングを用い、観測シーケンスzi+1バー={z,z,K,zi+1}を用いた後天的な基本的状態si+1の推定値を反復更新し、下式で与えられる。
p(si+1|zi+1バー)∝・p(zi+1|si+1)・∫(si+1|s)・p(s|zバー)ds (1)
式(1)は繰り返し演算型であり、信念p(si+1|zi+1バー)は各ステップごとに先の時刻iの信念p(s|zバー)から算出される。式(1)中の積分は、先の状態sをその時点でのsi+1までもっていく単一の予測工程であり、続いて新規の外部計測値zi+1が状態の修正に適用される。続いてこの推定値に尤度を乗算し、一つの観測モデルp(zi+1|si+1)を用いた観測値zi+1の寄与を反映する。
【0036】
一連のベイズ式フィルタリング手法に必須の2つの重要な構成要素は、動力学モデルp(si+1|s)と観測モデルp(z|s)である。
【0037】
動力学モデルは、基本的状態の展開あるいは漂動を説明するものである。ここで、sは方位の方向{s,si+1,...,si−H}である。壁を画成する線分は、直線または垂直な角度で相互に交差すると想定しているため、このモデルは下式により与えられる。
i+1=s=0.5; 直進率%
i+1=s+π p=0.1; Uターン率%
i+1=s−(π/2) p=0.2; 右旋回率%
i+1=s+(π/2) p=0.2; 左旋回率%
(2)
【0038】
上記では特定の確率分布を用いたが、他の分布も可能である。例えば、上記モデルは多くの45度の角度を有する環境に対し4方向ではなく8方向に拡張することができる。
【0039】
次に、観測モデルは、基本的状態と計測値観測との間の関係を記述する。路程測定器からの旋回角度θの計測値が水平履歴に対し用いられ、ここでz={θ,θi−1,...θi−H}である。計測された旋回角度は真の旋回角度ではあるがノイズにより汚染されているとの仮定を立て、例えばθi+l−θi−j=s,−si−j,+nj,とする。ただし、jはj番目の先の切片を示し、nはノイズである。
【0040】
一実施形態では、ノイズ用モデルとして一般化正規分布(GGD:generalized Gaussian distribution)を用いる。ただし、他のノイズモデルも可能である。GGDは、形状係数rと標準偏差σとによってパラメータ化される。もう一つの実施形態では、GGDはr=2のときの特別な場合として正規分布を含んでいるが、より柔軟性があり、何故なら形状パラメータrは大きな裾野部分を有するノイズを記述すべく可変することができる(r<2のとき)からである。このことは、角度ノイズのモデル化に必要となることがあり、何故なら路程測定データは特に線分の長さが短いときに極めて多量のノイズを含むことがあるからである。例えば、ロボット11が殆ど静止しているとき、路程測定器からのどのような角度計測も可能であり、換言するならば、(x,y)と(x,y)との間の距離が極めて短いか0に近い場合、θ=arctan(y−y,x−x)は不定となる。一実施形態では、r=0.5の場合の形状パラメータとnについて標準偏差10°とnについて(H−1)・20°、ただし1<j≦Hが用いられる。他の形状パラメータや標準偏差量も、可能である。
【0041】
もう一つの実施形態では、図3を参照して前述した足跡分割から得られるt={直進、左折、右折}旋回情報を、修正に用いる。前記に特定された仮説における旋回状態が旋回観測値tに一致する場合は、簡単な尤度関数p(t|s)=1を適用し、2つが一致しない場合は、p(t|s)=0.5が用いられる。仮説は半分程度に割り引かれ、これはセンサ観測値とは相反するものとなる。観測尤度は、異なる検出様式が相互に無関係であると仮定して路程測定データの尤度に乗算され、何故なら路程測定誤差はバンパと壁センサの誤差とは無関係であるとの一つの仮定がなされているからである。
【0042】
修正工程はそこで、経時的に線分入力を取り込み、最大N、例えば最も確率の高い状態シーケンスとその個々の確率pのうちの100個までを維持する。新規線分(l,θ,t)が決定される(ブロック53)ときはいつも、各既存の状態シーケンス(s,s,...s)が4個の可能性に分岐し、新規移動方向si+1は直進と左旋回と右旋回とUターンとされる。新規状態シーケンスの確率は、前述の動力学モデルと観測モデルとを用いて更新される。低い確率(p<1/N)を有する状態シーケンスは廃棄され、最大N個の確率状態シーケンスが維持され、確率はそこでp←p/Pにより最大1まで積算されて正規化され、PはΣpとされ、新規切片の特定時にpは次の更新にまで通ずる。最終的な地図作成結果は、最も確率の高い状態シーケンスとなる(ブロック54)。
【0043】
ロボット11が同じ領域上を横断により環境周辺を周回しているかどうかの検出は、時間節約と電力の有効利用にとって重要である。周回(ループ)が検出された場合、ロボット11はさらなる動きを停止するか、あるいは先に探索していない領域を移動することができる。図6は、図2の方法に用いるループ検出と閉包を示すフロー線図である。環境地図は線分から生成されるため、地図は1次関数によって表わすことができる(ブロック61)。一実施形態では、この関数はs(d)で表わされ、ここでdはロボット11の始動位置または点からの移動距離であり、s(d)はその点での壁の方位である。
【0044】
もう一つの実施形態では、sは始動位置からの特定距離にある累積旋回数(ATC:accumlated turn counts)とすることができる。例えば、左方旋回は値1を割り当てることができ、一方で右方旋回は値−1が割り当てられる。ATCは、その時点までの全旋回の総和である。10以上や、−10以下等の大きな正値、もしくは小さな負値のATC計数値は、ループを示す。4または−4のATC計数値は、左回りまたは右回りの完全な一回転を示す。sに関する他の値も可能である。
【0045】
いずれにせよ、壁方位θはそこでs・π/2となる。ループ検出は、新規切片(l,θ,t)の修正時には必ず行なわれる。特に、修正された地図の第1の角部の位置は(x,y)であり、地図内に既に(x,y),(x,y),(x,y),......,(x,y)の点が存在する場合、下記の3条件が満たされると、(lm+1,sm+1)においてループが検出(ブロック62)される。
1) s=2πまたはs=−2π、換言すればロボット11による角度上の完全な一回転
2) sm+1≠s、換言すれば、角部の回り込み
3) {(x−x+(y−y1/2<pΣi=1(Σi=1はlのi=1からmまでの総和)、ただし(x,y)は修正された地図内の最後の角部の位置であり、小さな寸法距離係数、例えば0.1であるが、他の距離係数も可能であり、lは(i−1)番目とi番目の間の距離である。
【0046】
一部構造では、ループ検出は路程測定器誤差あるいは地図作成により組み込まれる誤差、例えば湾曲壁切片の直線化あるいは非修正切片の修正が故に、困難となるかもしくは失敗することすらある。もう一つの実施形態では、対応する一致点を見いだすべく修正切片シーケンス内の自己相関を特定することができる。壁追従動作しながらロボット11が周回(ループ)するときは、シーケンスs(d)は反復的に見え、例えばシーケンスの一部はシーケンスの別の部分と同様とすることができる。この種の類似度は、信号相関を介して検出することができる。たとえロボット11が閉包点を当初見失おうとも、ロボット11は修正された切片シーケンスにおける自己相関検出後に閉包点を識別することができる。特に、s,s,...,s,sm+1...にループが存在する場合、sから始まるシーケンスはsからのものに類似する筈である。
【0047】
一つのループにおいて一旦切片対応が決定されると、線分の長さは、各切片iごとにlから推定誤差Δを減算し、切片mの終端で第1の重複する角部でループを閉じる(ブロック64)ことで調整される。Δ=[Δ...Δを見いだすのに、最大尤度推定が用いられる。切片の推定方向は、不変のままである。線分長lは、偏差σを有するゼロ平均正規分布ノイズを有するものと仮定する。すなわち、Δ〜N(0,σ)である。
【0048】
σ∝・lであると仮定した場合、路程測定器に関する累積正規分布ノイズはσ=lとなり、下記にさらに説明する最小化において取り出される比例定数が故に、lを用いることができる。他方で、誤差とノイズが距離とは無関係である、すなわち主に旋回によって引き起こされると仮定した場合、σ=1を用いることができる。Δの最大尤度推定値は、
Δ∈R(Δはn次元ベクトル空間Rの元である)とし、
【0049】
【数1】



【0050】
を得ることを条件に、
i=1からmまでの(Δ/σの総和Σi=1(Δ/σ
を最小化する解となる。
=Δ/σと定義することで、これは最小ノルム問題(4)に再定式化することができる。すなわち、
Δ∈R(Δはn次元ベクトル空間Rの元である)とし、
【0051】
【数2】



【0052】
を得ることを条件に、
i=1からmまでの(zの総和Σi=1(z
を最小化する。
ここで、oはアダマール(元ごとの演算)積であり、θ=[θ...θであり、σ=[σ...σである。その解は、そこで下式
【0053】
【数3】



【0054】
【数4】



【0055】
【数5】



【0056】
により与えられる。行列は2行2列に転置され、これはオンボード実時間実装用に簡単に分析的に算出することができる。
【0057】
ループ検出は、1個の移動ロボット11からのループを識別して閉じるだけでなく、2以上の異なるロボットにより特定される部分的なあるいは完成した地図間の類似度を見いだすのにも用い、一つに組み合わせることができる。加えて、地図どうしの一致部分を整合させることで、多数のより小さな地図をより大きな地図に組み合わせることができる。さらに、移動ロボットにより生成される地図を、恐らくより大きな先の周知の地図と相互に比較し、整合させることができる。
【0058】
本発明は、その実施形態を参照して具体的に図示し説明してきたが、当業者はその形態と細部における前述の変形や他の変形が本発明の趣旨ならびに範囲から逸脱することなく行なえることを理解するであろう。

【特許請求の範囲】
【請求項1】
検出能に限りのある移動ロボットを用いて室内環境の地図を実時間で作成するシステムであって、
壁追従動作からの複数の軌道通過点を含む生の軌道データと、
前記生の軌道データに足跡分割を適用し、線分を生成する分割モジュールと、
前記線分を相互に修正する修正モジュールと、
前記修正線分から地図を生成する地図モジュールとを備える、システム。
【請求項2】
前記軌道通過点のうちの2つを用いて最初の線分を生成し、旋回が検出されるまで、次の各軌道通過点を通って前記線分を延長する線分モジュールをさらに備える、請求項1に記載のシステム。
【請求項3】
前記線分を、式
p(si+1|zi+1バー)∝・p(zi+1|si+1)・∫(si+1|s)・p(s|zバー)ds
に従って修正し、ここでpは一連の計測値が与えられたときの修正シーケンスの確率であり、sは状態、この場合は切片の方位であり、zは路程測定器観測値とセンサ観測値の両方を含む観測値であり、p(si+1|zi+1バー)は各工程ごとに先の時刻iの信念p(s|zバー)から算出され、zi+1は観測値であり、p(zi+1|si+1)とp(z|s)は観測モデルであり、p(si+1|s)は動力学モデルであり、θは旋回角度であり、z={θ,θi−1,...θi−H}であり、Hは水平履歴である、請求項1に記載のシステム。
【請求項4】
そのときの線分と前記そのときの線分に先行する1以上の線分からなる水平履歴との方位角度を識別する方位モジュールと、
前記そのときの線分および前記水平履歴の各線分のそのときの方位の複数の確率を特定し、各線分ごとの最も確率の高い方向を用いて前記地図を完成する確率モジュールとをさらに備える、請求項1に記載のシステム。
【請求項5】
前記地図を1次関数として表示する表示モジュールと、
前記地図内で重複線分を含むループを検出するループモジュールと、
推定誤差により前記重複線分の線分長を調整する誤差モジュールと、
調整された線分の交差点で前記ループを閉じる閉包モジュールとをさらに備える、請求項1に記載のシステム。
【請求項6】
検出能に限りのある移動ロボットを用いて室内環境の地図を実時間で作成する方法であって、
壁追従動作から複数の軌道通過点を含む生の軌道データを受け取る工程と、
前記生の軌道データに足跡分割を適用して線分を生成する工程と、
前記線分を相互に修正する工程と、
前記修正された線分から地図を生成する工程とを含む、方法。
【請求項7】
前記軌道通過点のうちの2つを用いて初期線分を生成する工程と、
旋回が検出されるまで次の各軌道通過点を通って線分を延長する工程とをさらに含む、請求項6に記載の方法。
【請求項8】
前記線分を、式
p(si+1|zi+1バー)∝・p(zi+1|si+1)・∫(si+1|s)・p(s|zバー)ds
に従って修正し、ここでpは一連の計測値が与えられたときの修正シーケンスの確率であり、sは状態、この場合は切片の方位であり、zは路程測定器観測値とセンサ観測値の両方を含む観測値であり、p(si+1|zi+1バー)は各工程ごとに先の時刻iの信念p(s|zバー)から算出され、zi+1は観測値であり、p(zi+1|si+1)とp(z|s)は観測モデルであり、p(si+1|s)は動力学モデルであり、θは旋回角度であり、z={θ,θi−1,...θi−H}であり、Hは水平履歴である、請求項6に記載の方法。
【請求項9】
そのときの線分と前記そのときの線分に先行する1以上の線分からなる水平履歴との方位角度を識別する工程と、
前記そのときの線分および前記水平履歴の各線分のそのときの方向の複数の確率を特定する工程と、
各線分ごとに最も確率の高い方向を用いて前記地図を完成させる工程とをさらに含む、請求項6に記載の方法。
【請求項10】
前記地図を1次関数として表示する工程と、
前記地図内で重複線分を含むループを検出する工程と、
推定誤差により前記重複線分の線分長を調整する工程と、
前記調整線分の交差箇所で前記ループを閉じる工程とをさらに含む、請求項6に記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2012−212412(P2012−212412A)
【公開日】平成24年11月1日(2012.11.1)
【国際特許分類】
【出願番号】特願2011−152201(P2011−152201)
【出願日】平成23年7月8日(2011.7.8)
【出願人】(502096543)パロ・アルト・リサーチ・センター・インコーポレーテッド (393)
【氏名又は名称原語表記】Palo Alto Research Center Incorporated
【Fターム(参考)】