(57)【特許請求の範囲】
【請求項１】
検出能に限りのある移動ロボットを用いて室内環境の地図を実時間で作成するシステムであって、
壁追従動作からの複数の軌道通過点を含む生の軌道データと、
前記生の軌道データに足跡分割を適用し、線分を生成する分割モジュールと、
前記線分を相互に修正する修正モジュールと、
前記修正された線分から地図を生成する地図モジュールと、
そのときの線分と前記そのときの線分に先行する１以上の線分からなる水平履歴との方位角度を識別する方位モジュールと、
前記そのときの線分および前記水平履歴の各線分のそのときの方位の複数の確率を特定し、各線分ごとの最も確率の高い方向を用いて前記地図を完成する確率モジュールと、
を備える、システム。
【請求項２】
前記複数の軌道通過点のうちの２つを用いて最初の線分を生成し、旋回が検出されるまで、次の各軌道通過点を通って前記線分を延長する線分モジュールをさらに備える、請求項１に記載のシステム。
【請求項３】
検出能に限りのある移動ロボットを用いて室内環境の地図を実時間で作成するシステムであって、
壁追従動作からの複数の軌道通過点を含む生の軌道データと、
前記生の軌道データに足跡分割を適用し、線分を生成する分割モジュールと、
前記線分を相互に修正する修正モジュールと、
前記修正された線分から地図を生成する地図モジュールと、
を備え、
前記線分を、式
ｐ（ｓｉ＋１｜ｚｉ＋１バー）∝・ｐ０（ｚｉ＋１｜ｓｉ＋１）・∫ｓｐｄ（ｓｉ＋１｜ｓｉ）・ｐ（ｓｉ｜ｚｉバー）ｄｓｉ
に従って修正し、ここでｐは一連の計測値が与えられたときの修正シーケンスの確率であり、ｓは状態、この場合は切片の方位であり、ｚは路程測定器観測値とセンサ観測値の両方を含む観測値であり、ｐ（ｓｉ＋１｜ｚｉ＋１バー）は各工程ごとに先の時刻ｉの確率ｐ（ｓｉ｜ｚｉバー）から算出され、ｚｉ＋１は観測値であり、ｐｏ（ｚｉ＋１｜ｓｉ＋１）とｐｏ（ｚ｜ｓ）は観測モデルであり、ｐｄ（ｓｉ＋１｜ｓｉ）は動力学モデルであり、θは旋回角度であり、ｚ＝｛θｉ，θｉ−１，．．．θｉ−Ｈ｝であり、Ｈは水平履歴である、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
合衆国政府は、ＤＡＲＰＡ（国防高等研究計画局）により裁定された契約第ＦＡ８６５０−０８−Ｃ−７８１４号の条項が規定する妥当な条項に基づき、本発明の対価支払い済み使用許諾権と、特許権者に対し他者への使用許諾を要求する制限付き環境における権利とを有するものである。
【０００２】
一つの環境における地図作成と位置特定は、効率的かつ有効なロボット探査と誘導にとって不可欠である。地図作成は、移動ロボットの目標を増大あるいは隠匿することのある環境の特徴の識別に有用である。例えば、室内環境内の廊下の角部や交差箇所の識別は、査察やネットワーク化用途には有用である。加えて、ロボットがある領域を既に横断したかどうかの知識は、電池寿命の節約と時間的効率の手助けとなる。
【背景技術】
【０００３】
移動ロボットはしばしば、地図がなかったり遠隔地であったり、あるいは従来の計測技法ではアクセス不能な物理的環境内で展開させられる。最も有効に機能させるために、移動ロボットは配置される物理的環境の特性を発見する必要がある。位置詳細の知識は、誘導や通信や目標検索あるいは目標配置の手助けとなることができる。
【０００４】
物理的環境の地図作成はロボットが探査する領域の大きさの特定に役立ち、ロボットが障害物により動けなくなったりまたは妨害されたりした場合に、ロボットを既知のより意義ある領域に戻すことができる。物理的環境の識別は、領域全体を横断したかどうか、ロボットとの間でより良好な接続性を有するのはどの領域か、何らかの追加のロボットやユーザ、加えて電池寿命を最大化し探査時間を最小化するロボットの動きの最適化も特定するのにも役立つ。
【０００５】
一般に、移動ロボットは内蔵型のオンボード誘導システムを用いており、これには相対的な動きを追尾したり、衝突を検出したり、障害を識別したり、あるいは直近の環境の認識を提供する環境センサを含めることができる。センサの読み取り値は、遂行すべき次のロボットの動作あるいは機能を計画するのに用いられる。動きは単一方向で発生することがあり、一連の個々の動きや旋回や静止位置ともなりうる。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ロボットによる物理的環境の従来の地図作成態様には、ロボットの前方あるいは周囲の障害物を検出するために、カメラや超音波測距器や光検出測距（ＬＩＤＡＲ：ｌｉｇｈｔ  ｄｅｔｅｃｔｉｏｎ  ａｎｄ  ｒａｎｇｉｎｇ）等の長距離センサを有する包括的なセンサの使用が含まれる。環境の長距離計測は、構成要素の高コストに起因する経済性と高電力要求に起因する効率の両方で高額の諸経費を抱えるものである。加えて、環境地図作成用に高レベルコンピュータ認知モデルが用いられているが、しばしば外部の時間遅延を伴う計算を必要とする大量の計算諸経費を招く。センサを多用するロボットと強力な計算処理能力についてのこれらの要件は、短距離のセンサを有する低力なロボットの能力を超えることがある。
【課題を解決するための手段】
【０００７】
それ故、対費用効果がありかつ効率的である環境のオンボード実時間地図作成に対する手法の必要性が存在する。好ましくは、この種の手法はセンサの誤読み取りと物理的環境内の障害物とにより作成される誤差を抽出して取り除くことができるようにする。
【０００８】
物理的環境の特性は、移動ロボットが収集するデータに基づき特定される。移動ロボットの動きパターンとセンサから受信したデータの継続的分析は、移動ロボットによる環境のオンボード実時間地図作成に用いることができる。
【０００９】
一実施形態は、検出能に限りのある移動ロボットを用いた室内環境の実時間地図作成用のシステムおよび方法を提供するものである。壁追従動作から、複数の軌道通過点を含む生の軌道データを受け取る。生の軌道データに足跡分割を適用し、線分を生成する。線分は、相互に修正される。修正された線分から、地図が生成される。
【００１０】
本発明のさらに別の実施形態は下記の詳細な説明から当業者には即明らかとなるものであり、ここでは本発明の実施に合わせ熟慮した最良の態様を例示することで本発明の実施形態を説明する。理解されるように、本発明は他の異なる実施形態が可能であり、その幾つかの細部は全て本発明の趣旨ならびに範囲から逸脱することなく、様々な自明な観点において改変が可能である。従って、図面と詳細な説明は本来が例示であって、限定するものでないと考えるべきである。
【図面の簡単な説明】
【００１１】
【図１】移動ロボット展開用の代表的な物理的環境を例示により示すブロック線図である。
【図２】検出能に限りのある移動ロボットを用いた内部環境の実時間地図作成方法を例示により示すフロー線図である。
【図３】図２の方法に用いる壁追従動作を示すフロー線図である。
【図４】図２の方法に用いる足跡分割を示すフロー線図である。
【図５】図２の方法に用いる地図修正を示すフロー線図である。
【図６】図２の方法に用いるループ検出と閉包とを示すフロー線図である。
【発明を実施するための形態】
【００１２】
物理的な環境は、移動ロボットの動きパターンに基づき実時間で地図を作成する。図１は、移動ロボット１１を展開させる代表的な物理的環境１０を例示により示すブロック線図である。物理的環境１０には、壁で仕切られた１以上の部屋１２と廊下１３とを含めることができる。物理的環境１０の他の構成要素も可能である。物理的環境１０内で、１以上の移動ロボット１１を展開させることができる。加えて、１以上の障害物１４すなわち邪魔な物が環境１０内に存在することがある。
【００１３】
移動ロボット１１には、電源や、他のロボットとのインタフェースをとる通信インタフェースや、基地局や、ユーザノードを含めることができる。ロボットにはまた、環境周辺で移動ロボットを移動案内する移動用電源および内蔵誘導システムと、環境内での移動ロボット１１の移動距離と位置とを計測する路程測定器と、左側衝突センサと、随意選択的ではあるが右側衝突センサと、ロボット中心を通って長手方向に延びる軸の３６０度に亙るロボットの進行方位を算出する進行方位構成要素とを含めることができる。もう一つの実施形態では、移動ロボット１１には、ロボットが物体に物理的に接触するようになる前に、壁等の物体を検出する赤外線式あるいは超音波式の１以上の短距離センサを含めることができる。他のロボット１１の構造と構成要素も可能である。
【００１４】
ロボット１１には、プログラムされた埋め込み型微小システムとして、あるいはノートブック型コンピュータ等の汎用可搬式コンピュータシステムとして実装することのできるプロセッサに対するインタフェースを含めることもできる。プロセッサは、ロボットが収集したデータを分析し、本願明細書に説明する如くその中をロボットが展開する物理的環境を特性解明する１以上のモジュールを含む。プロセッサはソフトウェアプログラムを実行するプログラム可能な計算処理デバイスであり、例えば中央処理装置やメモリやネットワークインタフェースや持続的記憶装置やこれらの構成要素を相互接続する様々な構成要素を含む。モジュールは従来のプログラミング言語にてソースコードとして書かれたコンピュータプログラムあるいは手順として実装することができ、オブジェクトコードまたはバイトコードとして中央処理装置の実行用に提示される。
【００１５】
別の選択肢として、モジュールはまた集積回路網としてあるいはリード・オンリー・メモリの構成要素に組み込むかのいずれかでハードウェア内に実装しうる。ソースコードやオブジェクト・バイトコードの様々な実装は、フロッピー（登録商標）ディスク、ハードドライブ、デジタル・ビデオ・ディスク（ＤＶＤ）、ランダム・アクセス・メモリ（ＲＡＭ）、リード・オンリー・メモリ（ＲＯＭ）、同様の記憶媒体等のコンピュータ可読記憶媒体に保持させることができる。物理的なハードウェア構成要素だけでなく、他種のモジュールおよびモジュール機能もまた可能である。
【００１６】
一実施形態では、収集データは埋め込み型あるいはオンボード型のプロセッサにより実時間で分析し、出力は後程アクセスすべくメモリに記憶させる。別の実施形態では、出力はネットワークインタフェースを介してロボット１１によりこれにインタフェースを有する外部コンピュータに記憶させる。なおさらなる実施形態では、複数ロボット１１から収集されるデータを分類し、分析し、相互に組み合わせて比較する。他のデータ分析と記憶の組み合わせが可能である。
【００１７】
モジュールロボット１１が収集する生データは、実時間で環境地図を特定すべく分析される。図２は、検出能に限りのある移動ロボットを用いた室内環境での実時間地図作成方法を例示により示すフロー線図である。ロボット１１は、図３を参照して下記にさらに説明する如く、壁追従動作戦略を用いて（ブロック２１）環境１０内を周回移動する。路程測定器を介する壁追従動作期間中に、移動距離と旋回角度とを含む生の軌道データが収集される。壁センサと衝突センサとから、さらなる軌道データを収集することができる。生の軌道データは、図４を参照して下記にさらに説明するように、足跡分割を用いて線分片ごとに適合（ブロック２２）させる。
【００１８】
線分はそこで、図５を参照して下記にさらに説明するように、相互に平行か垂直かのいずれかとなるよう修正（ブロック２３）される。随意選択的には、既に横断した領域上での移動ロボット１１の何らかのループ周回が検出され、図６を参照して下記にさらに説明するように、このループはそこで閉じられる（ブロック２４）。最後に、地図が完成する（ブロック２５）。
【００１９】
壁追従動作により、ロボット１１の探査期間中、環境の境界の完全な横断が可能になる。加えて、既に横断した領域は、正確な路程測定の必要性を伴うことなく、以前とは逆方向に壁に沿って移動することで逆行壁追従動作を介して到達することができる。図３は、図２の方法に用いる壁追従動作を示すフロー線図である。路程測定器、壁センサ、および衝突センサの読み取り値からの移動距離と方位角度とを含む生の軌道データを、ロボット移動期間中に収集し記憶させる。一旦環境内に導入すると、ロボット１１がデータを収集し壁センサが壁を検出したかどうか判定する
【００２０】
一実施形態では、ロボット１１の右側にある壁センサが壁追従動作用に用いられる。壁が検出されない場合、壁センサがトリガーされるまでロボット１１は時計回りに回転する。ロボット１１が完全に一回転した後、壁センサがトリガーされない場合、ロボット１１は壁と想定される接触を介して衝突センサの一方または両方が物体を検出してトリガーされるまで直線方向３１に移動する。一旦衝突センサの一つがトリガーされると、ロボット１１は衝突センサがもはやトリガーされなくなるまで反時計回り３２に回転し、続いて壁センサを用いて壁３３に追従すなわち追尾する。
【００２１】
路程測定器は、定期的に距離と方位角度データを収集する。基準となるロボットフレームは、物理的環境内での展開時のロボットの初期位置あるいは姿勢に基づき特定される。別の選択肢として、路程測定読み取り値を収集する前に、ロボットの姿勢を何時でも初期位置にリセットすることができる。例えば、ロボットの初期位置すなわち始動位置は（ｘ０，ｙ０，θ０）に設定することができ、ここでｘ，ｙは座標であり、θは方位であって、初期的には０に設定される。路程測定データ収集時の任意の現在地（ｘｋ，ｙｋ，θｋ）は、ｘｋ＝ｘｋ−１＋ｄｃｏｓ（θｋ），ｙｋ＝ｙｋ−１＋ｄｓｉｎ（θｋ）とθｋ＝θｋ＋ａにより算出され、ここでｄとａはそれぞれ計測を行なった最後の点からのそのときの距離計測値と角度計測値である。他の位置特定も、可能である。
【００２２】
路程測定器の読み取り値における誤差やノイズが、方位角度算出時の誤差等の量子化や車輪のスリップ等が原因で生ずることがある。他の誤差源も存在しうる。距離誤差は通常小さいが、丸めや読み取り時の積算器リセットが故に角度誤差は大きくなることがある。例えば、一実施形態では、距離に関するセンサの解像度は０．００１ｍであり、角度計測については１°すなわち０．０１７５ラジアンである。距離と角度の計測値は、各読み取り後に０にリセットされる。読み取り用のサンプリング時間が極端に短かったり、あるいはサンプル間での角度移動が１°未満となるほど角度変化が緩慢であったりする場合には、たとえ堆積した実際の動きが正もしくは負であっても、角度読み取り値は０とされる筈である。サンプリングレートを増やすことで、応答遅延等の他の誤差源を招くことがある。他の解決策が可能であるが、デジタル処理によって制限されることがある。図４を参照することから始め下記にさらに説明する如く、誤差は外部環境に関して作成した前提に基づき補正される。
【００２３】
加えて、データは左バンパ（ｂｌ）と壁センサ（ｗｒ）から記録される。左側衝突センサがトリガーされると、ｂｌ読み取り値は１に設定され、それ以外は読み取り値は０に設定される。０から１までの衝突センサの読み取り値の変化は、ロボット１１が左側に、すなわち反時計回りに旋回する可能性を示すものとなる。センサ計測値が強度閾値を上回るときは、壁センサ読み取り値ｗｒは１に設定され、壁と想定される障害物がロボット１１の右側に接近していることが示される。計測値が閾値未満である場合、ロボットは右側の障害物に接近している可能性はなく、壁センサの読み取り値は０に設定される。もう一つの実施形態では、壁センサはロボット１１の左側に配置される。そこで、壁追従動作戦略は反転され、例えば壁センサが一切壁を検出しないときにロボットの回転は反時計回りとされる。他の壁追従動作戦略も可能である。
【００２４】
バンパと壁センサの読み取り値は、定期的や周期的やあるいは間欠的に収集することができる。一実施形態では、センサは２０Ｈｚでポーリングされ、生の軌道（ｘ，ｙ，ｂｌ，ｗｒ）が１Ｈｚでかつ衝突センサあるいは壁センサの状態が変化したときに必ず記憶させる。他のデータ収集周波数が可能である。
【００２５】
収集データの足跡分割は、共通センサ誤差を抽出除去し、地図作成用の算出諸経費を低減する。図４は、図２の方法に用いる足跡分割を示すフロー線図である。足跡分割期間中、路程測定器と衝突センサと壁センサとから収集される生の軌道データを切片単位で直線に適合させる。個々の軌道通過点は、短い直線切片に群別分類される。線分はそこで、図５を参照して下記にさらに説明する確率的手法を用いて離散直線方向に修正される。個々のデータ点を線分に群別分類することで、計算の複雑さ、かくしてロボットに関する算出諸経費は大幅に減り、何故なら修正はより多数の個々の点ではなく、より少数の線分に適用されるからである。加えて、足跡分割は計測値と制御ノイズの一部を取り除くことができる。壁追従動作は微調制御戦略とセンサノイズとが原因でジグザグあるいは湾曲軌跡を生ずることがあるが、分割が障害物の境界の輪郭を描く連続的な線を生成する。大半の室内環境にあっては、壁や障害物は真っすぐであり、それ故この種のフィルタにより効率的に捕捉することができる。
【００２６】
線分は、経時的な入力軌道を用いて生成される。例えば、入力データ｛ｘｋ，ｙｋ，ｂｌｋ，ｗｒｋ｝ｋ＝１，２，．．．，Ｋ，ただし（ｘｋ，ｙｋ）は位置座標で、ｂｌｋとｗｒｋはそれぞれ左バンパと壁センサ読み取り値であるデータを用い、｛ｌｉ，θｉ，ｔｉ｝により表わされる線分として出力を生成し、ただしｌは線分の長さであり、θはロボットの基準フレームに対する切片の方位、換言すれば初期方位に対する方位であり、ｔは線分が先の線分に対し左旋回あるいは右旋回したか、あるいは直進しているかを示すものである。
【００２７】
先ず、収集された第１の２個の軌道データ点を用い、線分が始まる（ブロック４１）。長さｌは、式ｌ＝｛（ｘ２−ｘ１）２＋（ｙ２−ｙ１）２｝１／２に従って決定され、ここで（ｘ１，ｙ１）と（ｘ２，ｙ２）はそれぞれ第１と第２の軌道通過点の場所座標位置である。切片の方位は、式θ＝ａｒｃｔａｎ（ｙ２−ｙ１，ｘ２−ｘ１）に従って特定され、ｔは当初直進に設定される。各後続の軌道通過点は、旋回が検出されるまでそのときの線分に追加される（ブロック４２）。旋回が識別されると、次の２個の軌道データ点を用いて新規線分が始まる。
【００２８】
旋回は、幾つかの方法で検出することができる。路程測定器と衝突センサと壁センサは、ロボット１１に関する方向の変化を特定する情報を提供することができる。衝突センサ状態の変化ｂｌｋは、衝突センサが障害物との接触によりトリガーされたときに発生する。この状態は、衝突センサがトリガーされないときは０に設定される。左側衝突センサがそのときの読み取り値ｂｌｋ＝１を有し、衝突センサの接触を示し、先のデータ点ｂｌｋ−１が０であるとき、ロボットは左方に旋回しており、新たな切片が始まり、ｂｌｋをもって開始され、新規切片に関するｔは左旋回に設定される。
【００２９】
壁センサ強度が閾値を上回るときは、ロボット１１は壁を追従していることになる。壁センサの状態は、閾値を上回るときは１に設定され、強度が閾値未満であるときは０とされる。ｗｒｋ＝０でｗｒｋ−１＝１であるときは、ロボットは壁との接触の喪失に応答して右方へ旋回し、新規切片についてのｔは右旋回に設定される。
【００３０】
路程測定器を介して収集されるデータは、方向の変化の検出にも用いることができる。そのときの点からそのときの線分までの距離は、そのときの点と先の点との間の距離と比較される。そのときの点（ｘｋ，ｙｋ）からそのときの線分までの距離ｄｋは、式ｄｋ＝｜ｃｏｓ（θ）（ｙｋ−ｙｂ）−ｓｉｎ（θ）（ｘｋ−ｘｂ）｜に従って特定され、ここで（ｘｂ，ｙｂ）はそのときの線分の始点であり、θはそのときの切片の方位であり、θ＝ａｒｃｔａｎ（ｙｋ−ｙｂ，ｘｋ−ｘｂ）である。そのときの点（ｘｋ，ｙｋ）から先の点（ｘｋ−１，ｙｋ−１）までの距離は、式ｄバー＝｛（ｘｋ−ｘｋ−１）２＋（ｙｋ−ｙｋ−１）２｝１／２に従って決定される。
【００３１】
ｄｋ≧Ｋ・ｄバーであるとき、ただしＫは切片間の最小旋回角度に関する閾値である０と１との間の定数であるが、新規切片が作成される。そうでなければ、そのときの切片はそのときの点を含むよう延長（ブロック４３）される。一実施形態では、Ｋは０．１に設定される。もう一つの実施形態では、ｌすなわちそのときの切片の長さは設定最小切片長であるパラメータＬと比較される。ｌ＞Ｌで、ｄｋ≧Ｋ・ｄバーである場合、新規切片が作成される。そうでなければ、そのときの切片はそのときの点を含むよう拡張される。一実施形態では、Ｌは０．７ｍに設定されるが、他の最小切片長も可能である。さらなる軌道データが収集されないか、一旦旋回が検出されると、そのときの切片は完了する（ブロック４５）。足跡分割は、実時間で収集される各付加的軌道データに適用される。
【００３２】
路程測定器の誤差が故に、足跡分割はロボット１１の壁追従動作の軌跡に適合する線分を生み出し、軌跡は計測ノイズが故に変形することがある。修正は、線分を相互に平行か垂直のいずれかとすることで、変形を補正する。図５は、図２の方法に用いる地図修正を示すフロー線図である。多くの室内環境は垂直壁でもって直線的に囲まれており、直線状の室内は線分内のノイズ補正に用いることができる。修正の入力は足跡分割から生ずる一連の線分（ｌｉ，θｉ，ｔｉ）であり、出力はｓを修正角度とした場合に新規の一連の線分（ｌｉ，ｓｉ）となる。任意の２つの隣接切片が整列配置もしくは直線的となるかのいずれかとなるよう、制限を適用する。一旦修正されると、各切片は相互にπ／２の倍数となる。
【００３３】
一実施形態では、２個の隣接切片間の旋回角度を調査し、直線前進分類アルゴリズムを用いて例えば０°や９０°等の離散角度に分類する。閾値未満の旋回角度、例えば４５°は０°すなわち直線として分類され、そうでなければその旋回角度は直線反転として分類される。しかし、この分類アルゴリズムは若干の例において問題を含むことがある。例えば、それぞれ方向θｉ＝０°，３０°，６０°，９０°を有する４個の線分の場合、２つの同時並行的な切片間の角度は３０°でしかなく、これ故に直線前進分類アルゴリズムは各旋回角度を０°と分類することになる。しかしながら、ロボットは実際に９０°旋回を終えている。この問題は、分類を前述の瞬間的な旋回角度の状態欠落分類から旋回角度履歴を用いた状態依拠分類に拡張することで、解決することができる。
【００３４】
もう一つの実施形態では、各線分は特定の線分の旋回角度だけでなく、先の線分の水平旋回角度履歴もまた用いて修正される（ブロック５１）。線分ｉについては、履歴｛ｉ−１，ｉ−２，．，ｉ−Ｈ｝と共に切片の旋回角度を考慮するが、ここでＨは水平長さである。水平長さは、そのときの線分の旋回角度を特定すべく考慮する先の線分の値であり、幾つかの仕方で定義することができる。例えば、水平長さは、そのときの切片の５ｍ等の物理距離内の線分とすることができる。別の選択肢として、水平長さはそのときの線分に先行する線分の設定値として定義することができる。他種の水平長さも可能である。いずれにせよ、水平内線分はそのときの線分を修正するものと集約的に考えられ、前述の状態欠落分類の問題を回避することができる。さらに、水平履歴はノイズの多いデータを取り除き、障害物前後の線分を修正に用いるが故に、水平履歴に比べ障害物が小さいときに障害物の存在下で移動の正確な地図作成を提供することができる。
【００３５】
次に、そのときの切片の方位の確率を説明する（ブロック５２）。一実施形態では、ほぼ連続するベイズ式フィルタリングを用い、観測シーケンスｚｉ＋１バー＝｛ｚ０，ｚ１，Ｋ，ｚｉ＋１｝を用いた後天的な基本的状態ｓｉ＋１の推定値を反復更新し、下式で与えられる。
ｐ（ｓｉ＋１｜ｚｉ＋１バー）∝・ｐ０（ｚｉ＋１｜ｓｉ＋１）・∫ｓｐｄ（ｓｉ＋１｜ｓｉ）・ｐ（ｓｉ｜ｚｉバー）ｄｓｉ    （１）
式（１）は繰り返し演算型であり、信念ｐ（ｓｉ＋１｜ｚｉ＋１バー）は各ステップごとに先の時刻ｉの信念ｐ（ｓｉ｜ｚｉバー）から算出される。式（１）中の積分は、先の状態ｓｉをその時点でのｓｉ＋１までもっていく単一の予測工程であり、続いて新規の外部計測値ｚｉ＋１が状態の修正に適用される。続いてこの推定値に尤度を乗算し、一つの観測モデルｐｏ（ｚｉ＋１｜ｓｉ＋１）を用いた観測値ｚｉ＋１の寄与を反映する。
【００３６】
一連のベイズ式フィルタリング手法に必須の２つの重要な構成要素は、動力学モデルｐｄ（ｓｉ＋１｜ｓｉ）と観測モデルｐｏ（ｚ｜ｓ）である。
【００３７】
動力学モデルは、基本的状態の展開あるいは漂動を説明するものである。ここで、ｓｉは方位の方向｛ｓｉ，ｓｉ＋１，．．．，ｓｉ−Ｈ｝である。壁を画成する線分は、直線または垂直な角度で相互に交差すると想定しているため、このモデルは下式により与えられる。
ｓｉ＋１＝ｓｉ              ｐＳ＝０．５；    直進率％
ｓｉ＋１＝ｓｉ＋π          ｐＵ＝０．１；    Ｕターン率％
ｓｉ＋１＝ｓｉ−（π／２）  ｐＬ＝０．２；    右旋回率％
ｓｉ＋１＝ｓｉ＋（π／２）  ｐＲ＝０．２；    左旋回率％
（２）
【００３８】
上記では特定の確率分布を用いたが、他の分布も可能である。例えば、上記モデルは多くの４５度の角度を有する環境に対し４方向ではなく８方向に拡張することができる。
【００３９】
次に、観測モデルは、基本的状態と計測値観測との間の関係を記述する。路程測定器からの旋回角度θの計測値が水平履歴に対し用いられ、ここでｚ＝｛θｉ，θｉ−１，．．．θｉ−Ｈ｝である。計測された旋回角度は真の旋回角度ではあるがノイズにより汚染されているとの仮定を立て、例えばθｉ＋ｌ−θｉ−ｊ＝ｓｉ，−ｓｉ−ｊ，＋ｎｊ，とする。ただし、ｊはｊ番目の先の切片を示し、ｎｊはノイズである。
【００４０】
一実施形態では、ノイズ用モデルとして一般化正規分布（ＧＧＤ：ｇｅｎｅｒａｌｉｚｅｄ  Ｇａｕｓｓｉａｎ  ｄｉｓｔｒｉｂｕｔｉｏｎ）を用いる。ただし、他のノイズモデルも可能である。ＧＧＤは、形状係数ｒと標準偏差σとによってパラメータ化される。もう一つの実施形態では、ＧＧＤはｒ＝２のときの特別な場合として正規分布を含んでいるが、より柔軟性があり、何故なら形状パラメータｒは大きな裾野部分を有するノイズを記述すべく可変することができる（ｒ＜２のとき）からである。このことは、角度ノイズのモデル化に必要となることがあり、何故なら路程測定データは特に線分の長さが短いときに極めて多量のノイズを含むことがあるからである。例えば、ロボット１１が殆ど静止しているとき、路程測定器からのどのような角度計測も可能であり、換言するならば、（ｘ１，ｙ１）と（ｘ２，ｙ２）との間の距離が極めて短いか０に近い場合、θ＝ａｒｃｔａｎ（ｙ２−ｙ１，ｘ２−ｘ１）は不定となる。一実施形態では、ｒ＝０．５の場合の形状パラメータとｎ１について標準偏差１０°とｎｊについて（Ｈ−１）・２０°、ただし１＜ｊ≦Ｈが用いられる。他の形状パラメータや標準偏差量も、可能である。
【００４１】
もう一つの実施形態では、図３を参照して前述した足跡分割から得られるｔ＝｛直進、左折、右折｝旋回情報を、修正に用いる。前記に特定された仮説における旋回状態が旋回観測値ｔに一致する場合は、簡単な尤度関数ｐ（ｔ｜ｓ）＝１を適用し、２つが一致しない場合は、ｐ（ｔ｜ｓ）＝０．５が用いられる。仮説は半分程度に割り引かれ、これはセンサ観測値とは相反するものとなる。観測尤度は、異なる検出様式が相互に無関係であると仮定して路程測定データの尤度に乗算され、何故なら路程測定誤差はバンパと壁センサの誤差とは無関係であるとの一つの仮定がなされているからである。
【００４２】
修正工程はそこで、経時的に線分入力を取り込み、最大Ｎ、例えば最も確率の高い状態シーケンスとその個々の確率ｐｎのうちの１００個までを維持する。新規線分（ｌ，θ，ｔ）が決定される（ブロック５３）ときはいつも、各既存の状態シーケンス（ｓ０，ｓ１，．．．ｓｉ）が４個の可能性に分岐し、新規移動方向ｓｉ＋１は直進と左旋回と右旋回とＵターンとされる。新規状態シーケンスの確率は、前述の動力学モデルと観測モデルとを用いて更新される。低い確率（ｐｎ＜１／Ｎ）を有する状態シーケンスは廃棄され、最大Ｎ個の確率状態シーケンスが維持され、確率はそこでｐｎ←ｐｎ／Ｐにより最大１まで積算されて正規化され、ＰはΣｐｎとされ、新規切片の特定時にｐｎは次の更新にまで通ずる。最終的な地図作成結果は、最も確率の高い状態シーケンスとなる（ブロック５４）。
【００４３】
ロボット１１が同じ領域上を横断により環境周辺を周回しているかどうかの検出は、時間節約と電力の有効利用にとって重要である。周回（ループ）が検出された場合、ロボット１１はさらなる動きを停止するか、あるいは先に探索していない領域を移動することができる。図６は、図２の方法に用いるループ検出と閉包を示すフロー線図である。環境地図は線分から生成されるため、地図は１次関数によって表わすことができる（ブロック６１）。一実施形態では、この関数はｓ（ｄ）で表わされ、ここでｄはロボット１１の始動位置または点からの移動距離であり、ｓ（ｄ）はその点での壁の方位である。
【００４４】
もう一つの実施形態では、ｓは始動位置からの特定距離にある累積旋回数（ＡＴＣ：ａｃｃｕｍｌａｔｅｄ  ｔｕｒｎ  ｃｏｕｎｔｓ）とすることができる。例えば、左方旋回は値１を割り当てることができ、一方で右方旋回は値−１が割り当てられる。ＡＴＣは、その時点までの全旋回の総和である。１０以上や、−１０以下等の大きな正値、もしくは小さな負値のＡＴＣ計数値は、ループを示す。４または−４のＡＴＣ計数値は、左回りまたは右回りの完全な一回転を示す。ｓに関する他の値も可能である。
【００４５】
いずれにせよ、壁方位θはそこでｓ・π／２となる。ループ検出は、新規切片（ｌ，θ，ｔ）の修正時には必ず行なわれる。特に、修正された地図の第１の角部の位置は（ｘ１，ｙ１）であり、地図内に既に（ｘ０，ｙ０），（ｘ１，ｙ１），（ｘ２，ｙ２），．．．．．．，（ｘｍ，ｙｍ）の点が存在する場合、下記の３条件が満たされると、（ｌｍ＋１，ｓｍ＋１）においてループが検出（ブロック６２）される。
１）  ｓｍ＝２πまたはｓｍ＝−２π、換言すればロボット１１による角度上の完全な一回転
２）  ｓｍ＋１≠ｓｍ、換言すれば、角部の回り込み
３）  ｛（ｘｍ−ｘ１）２＋（ｙｍ−ｙ１）２｝１／２＜ｐΣｉ＝１ｍｌｉ（Σｉ＝１ｍｌｉはｌｉのｉ＝１からｍまでの総和）、ただし（ｘｍ，ｙｍ）は修正された地図内の最後の角部の位置であり、小さな寸法距離係数、例えば０．１であるが、他の距離係数も可能であり、ｌｉは（ｉ−１）番目とｉ番目の間の距離である。
【００４６】
一部構造では、ループ検出は路程測定器誤差あるいは地図作成により組み込まれる誤差、例えば湾曲壁切片の直線化あるいは非修正切片の修正が故に、困難となるかもしくは失敗することすらある。もう一つの実施形態では、対応する一致点を見いだすべく修正切片シーケンス内の自己相関を特定することができる。壁追従動作しながらロボット１１が周回（ループ）するときは、シーケンスｓ（ｄ）は反復的に見え、例えばシーケンスの一部はシーケンスの別の部分と同様とすることができる。この種の類似度は、信号相関を介して検出することができる。たとえロボット１１が閉包点を当初見失おうとも、ロボット１１は修正された切片シーケンスにおける自己相関検出後に閉包点を識別することができる。特に、ｓ１，ｓ２，．．．，ｓｍ，ｓｍ＋１．．．にループが存在する場合、ｓｍから始まるシーケンスはｓ１からのものに類似する筈である。
【００４７】
一つのループにおいて一旦切片対応が決定されると、線分の長さは、各切片ｉごとにｌｉから推定誤差Δｉを減算し、切片ｍの終端で第１の重複する角部でループを閉じる（ブロック６４）ことで調整される。Δ＝［Δ１．．．Δｍ］Ｔを見いだすのに、最大尤度推定が用いられる。切片の推定方向は、不変のままである。線分長ｌｉは、偏差σｉ２を有するゼロ平均正規分布ノイズを有するものと仮定する。すなわち、Δｉ〜Ｎ（０，σｉ２）である。
【００４８】
σｉ２∝・ｌｉであると仮定した場合、路程測定器に関する累積正規分布ノイズはσｉ２＝ｌｉとなり、下記にさらに説明する最小化において取り出される比例定数が故に、ｌｉを用いることができる。他方で、誤差とノイズが距離とは無関係である、すなわち主に旋回によって引き起こされると仮定した場合、σｉ２＝１を用いることができる。Δの最大尤度推定値は、
Δ∈Ｒｎ（Δはｎ次元ベクトル空間Ｒの元である）とし、
【００４９】
【数１】
0005820168.tif 000002
【００５０】
を得ることを条件に、
ｉ＝１からｍまでの（Δｉ／σｉ）２の総和Σｉ＝１ｍ（Δｉ／σｉ）２
を最小化する解となる。
Ｚｉ＝Δｉ／σｉと定義することで、これは最小ノルム問題（４）に再定式化することができる。すなわち、
Δ∈Ｒｎ（Δはｎ次元ベクトル空間Ｒの元である）とし、
【００５１】
【数２】
0005820168.tif 000003
【００５２】
を得ることを条件に、
ｉ＝１からｍまでの（ｚｉ）２の総和Σｉ＝１ｍ（ｚｉ）２
を最小化する。
ここで、ｏはアダマール（元ごとの演算）積であり、θ＝［θ１．．．θｍ］Ｔであり、σ＝［σ１．．．σｍ］Ｔである。その解は、そこで下式
【００５３】
【数３】
0005820168.tif 000004
【００５４】
【数４】
0005820168.tif 000005
【００５５】
【数５】
0005820168.tif 000006
【００５６】
により与えられる。行列は２行２列に転置され、これはオンボード実時間実装用に簡単に分析的に算出することができる。
【００５７】
ループ検出は、１個の移動ロボット１１からのループを識別して閉じるだけでなく、２以上の異なるロボットにより特定される部分的なあるいは完成した地図間の類似度を見いだすのにも用い、一つに組み合わせることができる。加えて、地図どうしの一致部分を整合させることで、多数のより小さな地図をより大きな地図に組み合わせることができる。さらに、移動ロボットにより生成される地図を、恐らくより大きな先の周知の地図と相互に比較し、整合させることができる。
【００５８】
本発明は、その実施形態を参照して具体的に図示し説明してきたが、当業者はその形態と細部における前述の変形や他の変形が本発明の趣旨ならびに範囲から逸脱することなく行なえることを理解するであろう。
【図１】
0005820168.tif 000007
【図２】
0005820168.tif 000008
【図３】
0005820168.tif 000009
【図４】
0005820168.tif 000010
【図５】
0005820168.tif 000011
【図６】
0005820168.tif 000012