(57)【特許請求の範囲】
【請求項１】
環境中のロボットシステムが取得したパラメータをマッピングする方法であって、
前記環境中の前記ロボットシステムを駆動する工程と、
前記環境の特徴を表す第１組のパラメータを測定する工程と、
前記ロボットシステムの現在の姿勢を推定する工程と、
複数のアンカーノードのうちの１つである、前記現在の姿勢の推定値を表す第１のアンカーノードを設定する工程と、
第１の姿勢を基準にしてマッピングされた測定済の前記第１組のパラメータの地図を含み、かつ前記第１のアンカーノードと関連する第１のグリッドを生成する工程と、
設定した時間の間駆動した後、前記ロボットシステムの前記現在の姿勢の推定値を設定する工程と、
前記現在の姿勢の推定値と前記第１の姿勢との間の不確実性を求める工程と、
前記不確実性が第１の閾値よりも大きい場合、
ａ）前記ロボットシステムの前記現在の姿勢の推定値を表す第２のアンカーノードを設定する工程と、
ｂ）第２の姿勢を基準にしてマッピングされた測定済の第２組のパラメータの地図を含み、かつ前記第２のアンカーノードと関連する第２のグリッドを生成する工程とを備えた方法。
【請求項２】
請求項１に記載の方法において、
複数のアンカーノードと関連する複数のグリッドを統合する工程を更に備え、
前記統合する工程は、
前記複数のアンカーノードの各姿勢の推定値と、前記複数のアンカーノードの他の全ての姿勢との間の不確実性を求める工程と、
前記複数のアンカーノードのうち２つのアンカーノードの姿勢の推定値間の不確実性を求める工程と、
前記２つのアンカーノードの姿勢の推定値間の不確実性が第２の閾値を下回る場合、当該２つのアンカーノードと関連するグリッドを、１つのアンカーノードと関連する１つのグリッドに集約する工程とを有する方法。
【請求項３】
請求項２に記載の方法において、
前記姿勢の推定値の間の不確実性は、相対姿勢推定値の共分散行列に基づいている方法。
【請求項４】
請求項１〜３のいずれか１項に記載の方法において、
前記環境中で複数のランドマークを識別する工程と、
前記複数のランドマークの位置を求める工程とを更に備えた方法。
【請求項５】
請求項４に記載の方法において、
前記現在の姿勢を推定する工程は、
前記環境中で前記複数のランドマークを識別する工程と、
前記環境と関連するグローバル基準フレームを基準にして前記複数のランドマークの位置を求める工程と、
前記複数のランドマークの位置に基づいて、前記グローバル基準フレームを基準にして前記ロボットシステムの前記現在の姿勢を求める工程とを有する方法。
【請求項６】
請求項５に記載の方法において、
前記複数のランドマークの位置に基づいて、前記複数のアンカーノードと関連する姿勢を更新する工程と、
前記複数のグリッドから占有地図を生成する工程とを更に備え、
前記複数のグリッドの位置は、対応するアンカーノードの位置に基づいている方法。
【請求項７】
請求項１〜６のいずれか１項に記載の方法において、
マッピングされた前記第１組のパラメータは、占有データを含んでいる方法。
【請求項８】
請求項７に記載の方法において、
前記占有データは、前記環境中の障害物の位置を示す方法。
【請求項９】
請求項１〜８のいずれか１項に記載の方法において、
マッピングされた前記第１組のパラメータは、前記環境中の汚れの位置を示す方法。
【請求項１０】
環境中の移動マッピングシステムが取得したパラメータをマッピングする方法であって、
前記環境中の前記移動マッピングシステムを駆動する工程と、
前記環境の特徴を表すパラメータデータを測定する工程と、
各々が複数の姿勢推定値のうちの１つと関連する複数のグリッドに対して前記測定されたパラメータデータをマッピングする工程と、
各姿勢推定値と他の全ての姿勢推定値との間の不確実性を求める工程と、
前記複数の姿勢推定値のうちの２つの間の不確実性が第２の閾値を下回る場合、当該２つの姿勢推定値と関連するグリッドを、１つの姿勢推定値と関連する空間的集約グリッドに集約する工程とを備えた方法。
【請求項１１】
請求項１０に記載の方法において、
複数の前記空間的集約グリッドを１つのグローバルパラメータ地図にする工程を更に備えた方法。
【請求項１２】
請求項１１に記載の方法において、
前記空間的集約グリッドのうち少なくとも１つは、関連する姿勢推定値によって特定される位置と近接するパラメータデータの地図を含んでいる方法。
【請求項１３】
請求項１１又は１２に記載の方法において、
前記空間的集約グリッドのうち少なくとも１つは、前記グローバルパラメータ地図とは異なるデカルト座標系を含んでいる方法。
【請求項１４】
請求項１０〜１３のいずれか１項に記載の方法において、
前記空間的集約グリッドは、１つのグリッドからなり、
当該１つのグリッドは、別々の姿勢推定値と関連する少なくとも２つのグリッドからのパラメータデータを含んでいる方法。
【請求項１５】
請求項１４に記載の方法において、
パラメータデータは、１つ以上の多角形を用いて、少なくとも１つの空間的集約グリッドで表される方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本願は、あらゆる目的のために参照により本明細書に援用される、「センサデータの空間的集約を用いる適応マッピング」と題する、２０１１年９月３０日出願の米国仮特許出願第６１／５４１７４９号の利益を主張する。
【０００２】
本発明は、複数のサブマップを用いて環境地図を生成するための技術に関し、特に、センサデータが取得されるとともにセンサの位置に関する確実性が分かったときに、センサの位置に基づいてセンサデータを集約して複数のサブマップにするためのシステム及び方法に関する。
【背景技術】
【０００３】
ここ数年、ＳＬＡＭ（Simultaneous Localization and Mapping）問題について実質的な研究努力がなされてきた。ＳＬＡＭ分野における「地図」という用語は、概して、観察されたランドマーク又は特徴の空間配置を表す。当該ランドマークが障害物の位置（例えば、レーザ距離計によって集められた測定値）に相当する場合、「地図」はロボットが動作している空間の床配置図を示す占有地図になる。そうでない場合には、すなわち、ランドマーク情報が障害物の位置（例えば、カメラによって測定された測定値）に相当しない場合には、ＳＬＡＭ技術によって推定された「地図」は、障害物の位置（占有地図）からは切り離して考えられる。しかしながら、占有地図は、ロボットが適切に判断するとともに環境内を移動するために必要である。
【０００４】
姿勢の推定（すなわち、自己位置推定）と地図の構築とを同時に行うために多数のＳＬＡＭ技術が提案されている。方法によっては、新しい情報が収集されるときに、最近の姿勢だけでなく過去の複数の姿勢が再推定され、自己位置推定システムが更新されるときにロボットの軌道の推定が改良されるものもある。移動式ロボットが室内環境の中を移動するとき、例えば、レーザスキャンデータが収集される。当該スキャンデータは、オドメトリ情報と合成されてロボットの軌道を推定することによって、建物の床配置図を示す地図を生成する。収集される情報が多ければ多いほど、ロボットの過去の姿勢の推定値が改良されるため、地図の精度が上がる。このシステムの欠点は、新しい情報を入手したときに全てのセンサ読み取り値及び関連する姿勢を再処理できるように当該センサデータを蓄積していなければならないことである。この結果、蓄積の必要性が時間とともに直線的に高まる。そのため、新しい情報を用いて占有地図を効率的に作成することによって、蓄積の必要性が時間とともに直線的に高まることなく地図の精度が上がる自己位置推定及び地図構築技術が要求されている。
【発明の概要】
【０００５】
本発明の好適な実施形態は、環境中を移動するロボット又は他のマッピングシステムが取得したパラメータデータをマッピングするためのシステム及び方法を特徴とする。この方法は、概して、環境中にロボットを駆動させながら環境の特徴を表すパラメータを測定する工程と、現在のロボットの姿勢の推定値を生成する工程と、現在の姿勢と前のアンカーノードとの間の姿勢不確実性の推定値が閾値を越えるまでアンカーノードと関連する現在のグリッドに対してパラメータデータをマッピングする工程とを備える。閾値を上回る場合、ロボットは、新しいアンカーノードと関連する新しいグリッドを生成することによって、パラメータデータを記録する。ロボットは、パラメータデータを記録するために、別々のアンカーノードと関連する新しいグリッドを繰り返し生成する。アンカーノードの推定位置は、ロボットが環境中の位置を求める基準とするランドマークの位置の推定値を改良するたびに、経時的に更新される。占有地図又は他のグローバルパラメータ地図が必要な場合、ロボットは、局所グリッドを、グローバル基準フレームにおけるパラメータデータを示す包括地図に統合する。
【０００６】
本発明の実施形態により、ロボットは、新しいパラメータデータを、新しい局所パラメータグリッド又は既存のパラメータグリッドに対してマッピングしてもよい。現在のロボット姿勢推定値と、既存のグリッドに関連する姿勢推定値との間の不確実性が所定の閾値を下回る場合、データを既存のパラメータグリッドに記録する。既存のグリッドを用いて、ロボットは、メモリ必要量が時間とともに直線的に増大することなく、環境をマッピングするのに必要なメモリ必要量を制限することができる。
【０００７】
本発明は、例示によって説明され、添付の図面中の図に限定されるものではない。
【図面の簡単な説明】
【０００８】
【図１】本発明の好適な実施形態に係るロボットシステムの機能ブロック図である。
【図２Ａ】本発明の好適な実施形態に係る、グローバル基準フレーム内の移動式ロボットシステムの概略図である。
【図２Ｂ】グローバル基準フレーム内のアンカーノードと一致する位置にある本発明の好適な実施形態に係る局所グリッドの概略図である。
【図３Ａ】ノードと、対応するセンサデータとを示す、本発明の好適な実施形態に係るロボットの軌道である。
【図３Ｂ】アンカーノードと、センサデータの集約とを示す、本発明の好適な実施形態に係るロボットの軌道である。
【図３Ｃ】アンカーノードと、センサデータの集約とを示す、本発明の好適な実施形態に係るロボットの軌道である。
【図４】本発明の好適な実施形態に係る、センサデータを集約するプロセスを示すフローチャートである。
【図５Ａ】本発明の好適な実施形態に係るノードを示すロボットの軌道である。
【図５Ｂ】本発明の好適な実施形態に係る複数の局所パラメータグリッドを示す。
【図６Ａ】本発明の好適な実施形態に係るノードを示すロボットの軌道である。
【図６Ｂ】本発明の好適な実施形態に係る複数の局所パラメータグリッドを示す。
【図７Ａ】本発明の好適な実施形態に係る、ロボットシステムが探査した環境における空き空間を示す占有地図である。
【図７Ｂ】本発明の好適な実施形態に係る、ロボットシステムが探査した環境における障害物を示す占有地図である。
【図８】本発明の好適な実施形態に係る、自己位置推定とパラメータマッピングとを並行して行うプロセスのフローチャートである。
【発明を実施するための形態】
【０００９】
図１に、より詳細に以下に記載されるように空間的集約を生成するために構成された移動式ロボットシステムの機能ブロック図を示す。ロボットシステム１００は、例えば、１つ以上のセンサ１１０と、中央処理プロセッサ１３０と、関連データを蓄積するための１つ以上のデータベースと、駆動ホイール１５２を含む駆動機構１５０とを備えている。１つ以上のセンサ１１０には、ロボットが動き回っている環境の画像を取得するための１つ以上の視覚センサ１１２（カメラ、ビデオカメラ、ＣＣＤ撮像装置やＣＭＯＳ撮像装置や赤外線撮像装置を含む撮像装置など）が含まれている。好適な実施形態におけるセンサ一式は、駆動システムのホイールの回転を測定するための１つ以上のホイールオドメータ（オドメトリセンサ）１１４も備えている。センサ一式は、移動式ロボットの経路に障害物があることを示す信号を生成するための１つ以上のバンプセンサ１１８を更に備えていてもよい。
【００１０】
センサ１１２，１１４からのデータは、プロセッサユニット１１６において前処理を受けてもよい。例えば、プロセッサユニット１１６は、既知のランドマークを認識するために画像データから視覚的特徴を抽出するとともに、オドメトリデータを処理してホイールエンコーダ信号又は他のオドメトリデータを距離及び回転数の推定値に変換してもよい。実施形態には、オドメトリデータを用いて、表面が濡れていたり、滑りやすかったり、カーペットが敷かれていたりするために駆動ホイールがスリップする状況を検出・補償してもよいものもいくつかある。プロセッサユニット１２０においてバンプセンサ１１８からのデータを前処理することによって、ロボットが障害物に直面する時刻と、ロボットの経路に対する障害物の位置とを求めてもよい。
【００１１】
他の実施形態では、センサ１１０一式には、レーザ距離計、赤外線（ＩＲ）距離計、音響距離計などを含む距離計と、環境における物体までの横方向の距離を測定するための横方向近接センサを含む近接センサと、ロボットによる移動に適していない階段などの位置を検出するための落下センサと、汚れ濃度とすべり量と汚れの特徴とを測定するためのセンサを含む床面センサとが含まれている。
【００１２】
移動式ロボットシステム１００は、自己位置推定と、ロボットが動作している環境を特徴付ける特性の地図を生成することと、環境中を移動することとのうち１つ以上を行うよう構成された少なくとも１つのプロセッサ１３０を更に備えている。好適な実施形態では、プロセッサ１３０は、参照により本明細書に援用される米国特許第７１３５９９２号明細書に教示されたＳＬＡＭ（Simultaneous Localization and Mapping）１３４と呼ばれる技術を用いて視覚データ及びオドメトリデータによってランドマーク及び移動式ロボットの位置を求める自己位置推定モジュール１３２を備えている。この技術を用いて、このロボットシステムは、環境を探査し、環境の画像を多数撮像し、環境内のランドマークを表す地図を作成し、当該ランドマークを基準にしてロボットの位置を推定する。
【００１３】
米国特許第７１３５９９２号明細書には、視覚処理のための視覚的フロントエンドにおいて用いることができる例示的なプロセスが記載されている。記載のように、ＶＳＬＡＭ（Visual SLAM）を用いたロボットは、環境中を移動しながら、ロボット自身が目にした物理的ランドマークを分析する。認識したランドマークを用いて、１つ以上の地図の中においてロボットの位置が推定できる。１つ以上の地図には、新しく作成されたランドマークが追加できる。新しいランドマークを作成する行為は、ランドマークを「生成する」と呼ばれてもよい。当業者にとっては当然のことながら、このプロセスは様々な方法で変更できる。例えば、他の実施形態では、このプロセスにおける様々な部分が組み合わされたり、代替の順序に並べ変えられたり、省略されたりすることができる。なお、このプロセスは、多目的コンピュータにおいて動作するソフトウェア、マイクロプロセッサによって実行されるファームウェア、専用のハードウェアなどのような様々な方法で実施できる。
【００１４】
このプロセスは、視覚センサ又は関連するデータバッファから画像を取得することによって開始する。プロセスにおけるこの時点では、多数の視点は用いられていない。例えば、ロボット用の視覚センサが多数のカメラに相当する場合、カメラからの１つの画像を分析用に選択できる。当然、この画像は、タイムスタンプに関連していてもよく、こうして、他のプロセスにおいて、自律航法センサからこの画像までの適切なデータを参照できる。
【００１５】
このプロセスでは、マッチングしたランドマークのリストが生成される。例えば、このプロセスでは、ＳＩＦＴ特徴ベクトルのような特徴記述子を画像から抽出できるとともに、前もって観察及び蓄積したランドマークの特徴と抽出した特徴とを比較できる。例えば、ランドマークの特徴は、ランドマークデータベースに蓄積できる。ある実施形態では、特徴記述子を比較的迅速に検索するために、オプションの物体認識テーブルを用いる。ある実施形態では、１つ以上のマッチングランドマークを含むランドマークが、更に分析を行うために、ランドマーク識別子リストのようなリストによって識別される。
【００１６】
ループ処理が始まる。ループでは、リストによって識別されたマッチングランドマークの特徴を、観察された画像の特徴と更に比較する。当然のことながら、マッチングランドマークが確認されない場合、プロセスでは、ループの実行を飛ばしてループの最後に進んでもよい。
【００１７】
各マッチングランドマーク毎に、ループ処理は決定ブロックから始まる。決定ブロックでは、プロセスにおいて、画像とマッチングランドマークとの間でマッチングしている特徴の数を比較する。このプロセスでは、検出した特徴を用いて、ランドマークを基準に姿勢を推定する。ある実施形態では、検出した特徴の数が、構造及び動作の問題を解決するために必要な特徴の最小限の数に相当する所定数と比較される。当然のことながら、特徴の最小限の数は、構造及び動作の問題を解決するために用いる技術によって決まるものであってよい。例えば、構造及び動作の問題が３焦点テンソル法を用いて解決される場合、解の収束のための特徴の最小限の数は５程度である。ランドマークのマッチングしている特徴が十分にある場合に、このプロセスは決定ブロックから次に進む。そうでない場合は、プロセスはループの最後に進み、更に他のランドマークを処理するために元に戻るか、ループを抜けるかのいずれかを行う。
【００１８】
このプロセスでは、ランドマーク基準フレームを基準にしてロボットのカメラ姿勢を算出する。このカメラ姿勢は、取得した画像に対応する姿勢と、マッチングしたランドマークの姿勢との間の、Δｘ，Δｙ，Δθのような相対的な姿勢に相当する。当然のことながら、相対的な姿勢の算出には、垂直成分（Δｚ）、ロール、及びピッチの変化のような他の寸法が含まれてもよく、相対的な姿勢は、他の座標系で表されてもよい。
【００１９】
当業者にとっては当然のことながら、多数の技術を用いて相対的な姿勢を算出できる。相対的な姿勢を算出するための計算効率の良い技術には、最小の投影誤差のような比較的小さい投影誤差しか生じない相対的な姿勢を計算する方法がある。
【００２０】
ある実施形態では、ランドマークデータベースの特徴テーブル１４２のようなデータ格納場所からランドマークの特徴の３Ｄ座標が取り出される。プロセスでは、仮想姿勢（ランドマークの姿勢を基準とする）が３Ｄ座標からシフトされ、３Ｄ座標からの投影及び姿勢の変更によって、新しい２Ｄ画像座標が計算される。ある実施形態では、例えば、ｘ，ｙ，ｚ，ロール，ピッチ，ヨー（θ）のような６次元の３Ｄ姿勢空間の中から、現在測定されている特徴座標と、３Ｄ特徴から画像に投影された座標との間に比較的小さい二乗平均平方根（ＲＭＳ）投影誤差を有するポイントを検索することによって相対的な姿勢が求められる。このプロセスは決定ブロックに進む。
【００２１】
数値解を求めるための反復演算を用いて、相対的な姿勢を算出できる。ただし、このような技術は、何らかの結果に収束するとは限らない。収束が実現した場合、すなわち、ランドマークが比較的マッチングしている場合、プロセスは、決定ブロックから次に進み、マッチングしたランドマークに関する情報が蓄積される。そうではない場合、プロセスは、決定ブロックからループの最後に進む。当然ながら、計算効率の比較的悪いブルートフォース技術などの他の技術を用いて、比較的小さい投影誤差を有する相対的な姿勢を計算してもよい。
【００２２】
このプロセスでは、マッチングしたランドマークに関する結果のプレフィルタリングプロセスへの提供とＳＬＡＭプロセスへの直接提供とを両方できるように、又は、この結果のプレフィルタリングプロセスへの提供とＳＬＡＭプロセスへの直接提供とのいずれかができるように、この結果が蓄積される。ある実施形態では、ランドマークのマッチング結果には、評価済のランドマークのランドマーク識別子と、計算済のカメラ姿勢と、計算済のカメラ姿勢の投影誤差の二乗平均平方根（ＲＭＳ）値と、マッチングしている特徴の数と、傾斜の算出値とが含まれている。ある実施形態では、投影誤差の算出ＲＭＳ値と、マッチングしている特徴の数と、傾斜の算出値のうち１つ以上を蓄積することは随意であり、当該尺度のうち１つ以上がプレフィルタリングプロセスによって用いられるときにこの蓄積を実施する。プロセスにおいて、結果の１つ以上を後で再算出しないで済むように、当該尺度が蓄積されてもよい。プロセスはループの最後に進み、ここで、ループの始めに戻って他のマッチングしているランドマークを処理するか、マッチングしているランドマークの処理が終わったときに決定ブロックに進むかのいずれかを行う。
【００２３】
プロセスでは、例えば、Δｘ，Δｙ，及びΔθなどの相対的な姿勢又はカメラ姿勢の収束解が少なくとも１つあるかどうかが求められる。例えば、ある実施形態では、プロセスにおいて、マッチングしていることが確認されたランドマークのうち少なくとも１つのランドマークの収束解が少なくとも１つあるかどうかが求められる。
【００２４】
少なくとも１つの収束解があった場合、ロボットによって観察されたものと、データベース内のランドマークのうち少なくとも１つとの間に少なくとも１つの比較的「ぴったりの」組み合わせがあったことを示し、プロセスでは、マッチングしたランドマークを用いてグローバル基準フレームの範囲内でロボットの位置を推定できるように、前もって蓄積されたマッチング結果がプレフィルタリングプロセス及び／又はＳＬＡＭプロセスに提供される。ＳＬＡＭプロセスによってこの情報が用いられることにより、自律航法情報のずれを補正できることが好ましい。マッチング結果は、１つ以上のランドマークのマッチング結果を含んでいてもよい。複数のランドマークが同じ画像内で確認されるとき、ＳＬＡＭプロセスの一実施形態では、当該ランドマーク全てが処理できる。
【００２５】
プロセスのこの時点では、ロボットによって観察されたものと、データベース内のランドマークとの間に比較的「ぴったりの」組み合わせがないことが判定されており、プロセスはランドマーク作成プロセスに進む。
【００２６】
環境中の新しい物理的ランドマークが認識されるとともにデータベースの１つ以上の地図中に対応するランドマークが作成される際に視覚的フロントエンドにおいて随意に用いることができるプロセスが説明される。新しいランドマークが作成される行為は、ランドマークを「生成する」と呼ばれてもよい。当業者にとっては当然のことながら、図示したプロセスは発明の趣旨及び範囲から逸脱することなく様々な方法で変更できる。例えば、他の実施形態では、図示したプロセスにおける様々な部分が組み合わされたり、代替の順序に並べ変えられたり、省略されたりすることができる。なお、このプロセスは、多目的コンピュータにおいて動作するソフトウェア、マイクロプロセッサによって実行されるファームウェア、専用のハードウェアなどのような様々な方法で実施できる。
【００２７】
米国特許第７１３５９９２号明細書に記載のように、プロセスでは、分析用の少なくとも２つの画像のグループが取得される。例えば、双眼カメラ又は三眼カメラのような多数の撮像装置を有する視覚センサ又は単眼カメラのような１つの撮像装置を有する視覚センサによって画像が提供できる。単眼カメラからの画像が用いられる場合、プロセスでは、適切に間隔が空けられている画像が選択できる。図示の実施形態では、ロボットに単眼前方監視カメラが搭載され、前進して関連画像を撮影する。視覚センサは他の構成でもよい。他の例では、視覚センサは、略上向きカメラ、側方監視カメラ、又は、前方、上方、及び／又は側方の間の位置に対応していてもよい。単眼前方監視カメラを備えている図示の実施形態に戻ると、ある例では、それぞれ少なくとも約１０センチメートル（ｃｍ）の離間距離がある３つの画像が選択される。当然のことながら、この離間距離に適切な距離は、環境次第で広い範囲内で変動してもよい。例えば、動作環境が、屋外環境のような比較的開放的な環境である場合、特徴の遠近感を得るために、適切な画像離間距離は長くなってもよい。ある実施形態では、離間距離は、ロボットの動きを妨げ得る障害物までの距離の推定値に応じて適応的に変化させてもよい。ある実施形態では、ロボットに単眼前方監視カメラが搭載されている場合、ロボットは、画像を撮像しながら前方に略直線状に移動する。ロボットが画像を撮像している間に何らかの方向転換が許容されてもよいが、ランドマークの特徴がカメラの視界から外れるほど過剰な方向転換はすべきではない。
【００２８】
ロボットに三眼カメラのような多数の撮像装置を有する視覚センサが搭載されている場合、特定の工程が省略されてもよく、視覚センサ間の間隔は、メモリに記憶されたパラメータから取り出してもよい。
【００２９】
単眼カメラが視覚センサとして用いられるとともにロボットが移動して様々な視点から様々な画像を撮像する場合、プロセスでは、画像間の実際の距離が取得されるとともに、移動量が確認される。ある実施形態では、画像が撮像された時刻に相当する自律航法データを確認することによって画像間の実際の距離が求められる。
【００３０】
このプロセスでは、「ベースライン」と呼ばれる、画像間の移動距離が検査される。例えば、画像間のベースラインの量が所定値と比較されてもよい。当然のことながら、所定値は、非常に広い範囲内で変動してもよい。一戸建て又はマンションの室内のような屋内環境では、所定値に適した値は、約１０センチメートルであってもよい。もちろん、この適した値は、環境によって決められてもよく、他の適した値は、当業者によって容易に求められる。ロボットの移動がグループ内の画像のうち２つ以上の間で十分ではない場合、プロセスではランドマークが作成されない。ロボットの移動が十分な場合は、ランドマークが作成されてもよい。
【００３１】
プロセスでは、選択画像が分析されることにより、グループ内の画像に共通の２Ｄ特徴が確認される。確認可能な特徴の数は、環境に応じて変動する。好適な特徴の抽出について、文献に広く記載されている。ＳＩＦＴ特徴は、このような２Ｄ特徴の一例である。例えば、デイビッド・Ｇ・ロウ（David G. Lowe）著、「３次元物体認識のための局所特徴ビュークラスタリング」、ハワイ・カウアイ、コンピュータ視覚及びパターン認識に関するＩＥＥＥカンファレンス予稿集（２００１年１２月）を参照。ただし、特徴の計算において用いる他の情報には、内部カメラキャリブレーションパラメータと、外部カメラキャリブレーションパラメータとが含まれてもよい。内部カメラキャリブレーションパラメータとしては、例えば、光学中心、歪パラメータ、焦点距離などが挙げられる。外部カメラキャリブレーションパラメータとしては、例えば、カメラ基準フレームと局所基準フレームとの間のカメラ剛体変換などが挙げられる。
【００３２】
プロセスでは、グループ内の画像、例えば、３つの画像に共通する特徴が十分確認されているかどうかが判定され、ランドマークを確実に確認する。例えば、プロセスにおいて、グループ内の画像に共通している特徴が所定数より少ないと判定されている場合、今後確実にランドマークを確認できるほど十分な特徴が検出されていないと判定される。この場合には、プロセスにおいて、ランドマークが「作成」されない。当然のことながら、特徴の所定数に適した値は、非常に広い範囲内で変動してもよく、視覚的特徴を確認するために用いる方法によって決められてもよい。ある実施形態では、ランドマーク作成のための特徴の所定数は、既に蓄積されているランドマークと画像を比較するために用いる所定値よりも大きい。
【００３３】
ある実施形態では、ＳＩＦＴ特徴が用いられる場合、特徴の所定数のサンプル値の例は約１０である。当業者によって他の適した値が容易に求められる。ある実施形態では、ＶＳＬＡＭシステムは、所定値をユーザが設定できるように構成されていてもよい。
【００３４】
グループ内の画像に共通する特徴が十分確認された場合、プロセスにおいて、３Ｄ局所基準フレーム位置又は確認された共通特徴への３Ｄ局所基準フレームの移動量を算出する。ある実施形態では、３Ｄ局所基準フレーム位置は、ロボットの視覚センサを基準とした特徴の概略３Ｄ位置（ｘ，ｙ，ｚ）に対応する。ロボットが移動するのに伴って１つの視覚センサからの画像が多数撮像される場合、３Ｄ局所基準フレーム位置は、ロボットがグループ内の最初の画像などのグループ内の画像のうち１つを撮像したときのロボットの位置を基準にしていてもよい。ある例では、構造及び動作の問題を３焦点テンソル法を用いて解決することによって３Ｄ位置の算出が解決される。当然のことながら、特徴は、対応する３Ｄ位置が比較的概算であってもよいように点よりも大きい空間を占有してもよい。
【００３５】
プロセスでは、ランドマークについて求められる特徴が確実に認識されるのに十分な数の３Ｄ局所基準フレーム位置があるかどうかが判定される。当然のことながら、プロセスでは、場合によって、対応する移動量情報を含む３Ｄ特徴の数が前述の最初に検出された特徴の数と異なってもよいように特定の特徴についての３Ｄ局所基準フレーム位置の解が求められないこともある。プロセスでは、例えば、ランドマークの特徴について求められる３Ｄ局所基準フレーム位置の数を所定数と比較してもよい。ある実施形態では、ＳＩＦＴ特徴が用いられる場合、プロセスでは、比較的確実な認識のために求められる３Ｄ局所基準フレーム位置を含む特徴が１０以上あるときに、ランドマークには、このような特徴が十分な数あると判定される。他の適した値は、当業者によって容易に求められる。
【００３６】
ランドマークが確実に認識されると判定された場合、プロセスでは、特徴と、３次元位置と、オプションとして、基準とされる画像の特徴に対応する概略２Ｄ画像位置とが識別可能なように蓄積される。例えば、何らかの特徴の３Ｄ位置及び２Ｄ画像位置が、特徴テーブルのレコードに蓄積される。当然のことながら、作成されるランドマークは、それぞれ、固有の番号を持った識別子などの固有の基準を有しているはずであり、基準の特徴は、それぞれ、ランドマークＩＤなどのランドマークの基準と、特徴ＩＤなどの特徴の基準との組み合わせなどによって識別可能なはずである。
【００３７】
プロセスでは、ＶＳＬＡＭのＳＬＡＭ部に関連するプロセスなどの他のプロセスに対して、新しいランドマークが作成済であることが示される。例えば、ソフトウェアコール、ハードウェア割り込み又はソフトウェア割り込みなどのパラメータ又はフラグとして新しいランドマークが作成済であることを示す指標が与えられる。この指標にも、新しく作成されたランドマークのランドマーク識別子が伴っていてもよい。
【００３８】
随意の実施形態では、例示的なＳＬＡＭプロセスにおいて、新しいランドマークが観察済であることの指標が受け取られる。プロセスでは、ＳＬＡＭシステムの最終更新時刻からの姿勢の変化が算出される。必要に応じて、ＳＬＡＭシステムのパーティクルが全て同時に更新され、特定のパーティクルの最終更新時刻が他のパーティクルの最終更新時刻と同じになるようにする。自律航法センサ及び／又は自律航法インターフェースによって提供されるデータを取得することによって姿勢の変化が算出されてもよい。必要に応じて、プロセスでは、自律航法データ行列を含むデータベースなどのデータ記憶装置から適切なデータが取得される。例えば、パーティクルの最終更新時刻に関連するタイムスタンプと、観察されたランドマークの認識に関連するタイムスタンプとを用いて、自律航法データ行列から取得されるべき適切なデータを識別できる。必要に応じて、プロセスでは、自律航法データから姿勢［Δ１，Δ２，Δ３］Ｔの変化が算出され、この結果を後で用いて、グローバル基準フレームにおけるロボットの姿勢の推定又は予測とランドマークの姿勢の更新とを両方行うか、又は、グローバル座標系におけるロボットの姿勢の推定又は予測とランドマークの姿勢の更新とのいずれかを行う。
【００３９】
【数１】
0005931287.tif 000002
【００４０】
数式１において、時刻ｋの第１自律航法姿勢（ｘｋ，ｙｋ，θｋ）から時刻ｌの第２自律航法姿勢（ｘｌ，ｙｌ，θｌ）への姿勢変化が算出される。必要に応じて、「姿勢変化」サブルーチンへの呼び出しなどの関数呼び出しによって姿勢変化が算出される。変数Δ１ｏｄｏｍは、（ｘｋ，ｙｋ）と（ｘｌ，ｙｌ）との間のユークリッド距離に対応する。変数Δ２ｏｄｏｍは、時刻ｋから時刻ｌに至るまでのロボットの方位に対応する。変数Δ３ｏｄｏｍは、時刻ｋから時刻ｌまでのロボットの進行方向の変化を表す。「ｍｏｄ」は、算術剰余演算子を示す。
【００４１】
多数のパーティクルを用いて多数の仮定を追跡する場合、ループでは、各パーティクルが更新されて維持される。プロセスでは、新しく設定されたランドマークのランドマーク識別子が取得される。必要に応じて、同じランドマーク識別子を用いて、ＳＬＡＭプロセスにおけるランドマークを視覚的自己位置推定プロセスにおけるランドマークの識別子として識別する。もちろん、異なるランドマーク識別子が生成されて相互参照されてもよい。ただし、ＳＬＡＭプロセスでは、ランドマークの３Ｄ特徴などの視覚的情報が蓄積される必要はない。どちらかと言えば、ＳＬＡＭプロセスは、必要に応じて、ランドマークＩＤなどの、どのランドマークに直面したかの識別表示によって機能して、データベースレコード識別子を用いてＳＬＡＭ範囲内でランドマークを識別するようにしてもよい。プロセスでは、データベースに対して、新しいランドマークの姿勢が追加される。必要に応じて、新しいランドマークの姿勢の初期推定値を、物理的なランドマークそのものの空間中の推定位置ではなく、データベースに蓄積されているランドマークが観察された時点に対応するロボットの推定姿勢とする。データベースに新しいランドマークの姿勢を追加するためには、プロセスにおいて、ループの特定の回の実行に対応するパーティクルに関するロボットの現在の姿勢が推定される。必要に応じて、この状態において計算された自律航法データからの姿勢変化を、パーティクルの最終更新時刻から取得された、このパーティクルに関するロボットの以前の姿勢と結合することによって現在の姿勢が推定される。数式２には、姿勢変化［Δ１ｏｄｏｍ，Δ２ｏｄｏｍ，Δ３ｏｄｏｍ］Ｔを以前の姿勢（ｘｋ，ｙｋ，θｋ）と結合することによって新しいランドマークの姿勢として用いる新しい姿勢（ｘｌ，ｙｌ，θｌ）が生成される１つの方法が表されている。当然のことながら、ｋ及びｌの下付き文字は、以下に用いるｋ及びｌの同じ下付き文字とは異なる変数を表す。
【００４２】
【数２】
0005931287.tif 000003
【００４３】
ある実施形態では、「姿勢予測」サブルーチンへの呼び出しなどの関数呼び出しによって、新しいロボットの姿勢（ｘｌ，ｙｌ，θｌ）が算出される。プロセスでは、ループの１回分に対応するパーティクルに関連するランドマーク共分散行列Ｃｍｋが初期設定される。ここでは、ｍはパーティクルループ変数であり、ｋはランドマークループ変数である。ある実施形態では、ランドマーク共分散行列Ｃｍｋが３×３の対角行列に初期設定される。ある実施形態では、ランドマーク共分散行列Ｃｍｋが、ｄｉａｇ（８１ｃｍ２，８１ｃｍ２，０．０７６ｒａｄ２）の対角行列に初期設定される。ランドマーク共分散行列Ｃｍｋに好適な他の初期値は、当業者によって容易に求められるであろう。ランドマーク共分散行列Ｃｍｋの値は、地図テーブルのレコードに蓄積されてもよい。当然のことながら、適切な初期値は、非常に広い範囲の中で変動してもよく、カメラの仕様や自律航法装置の精度などを含む様々な要素に左右されてもよい。この後、ループが終了してもよい。プロセスでは、更新されるべき残りのパーティクルがある場合に、ループの始めに戻ることになる。残りのパーティクルがない場合、プロセスは終了する。
【００４４】
好適な実施形態では、ランドマークは、画像データからの視覚的特徴を用いて視覚認識される。当該視覚的特徴は、スケール不変特徴量変換（Scale Invariant Feature Transform：ＳＩＦＴ）、高速化ロバスト特徴（Speeded Up Robust Features：ＳＵＲＦ）、勾配位置及び方向ヒストグラム（Gradient Location and Orientation Histogram：ＧＬＯＨ）、二値ロバスト独立基本特徴（Binary Robust Independent Elementary Features：ＢＲＩＥＦ）、又は当業者に公知の他のタイプの視覚的特徴を用いて抽出・照合されている。視覚的ランドマークは、画像が撮像されたときのロボット位置及び方位（姿勢）の推定値とともにランドマークデータベース１４２に蓄積されている。
【００４５】
プロセッサ１３０は、局所パラメータを備える複数のサブマップ又はグリッドを生成するとともに当該グリッドに基づいてグローバルパラメータ地図を構築するように構成されたパラメータマッピングモジュール１３６を備えている。とりわけ、パラメータマッピングモジュール１３６は、関連するアンカーノード、すなわち、対応する局所基準フレームに固定された基準ポイントに近接する環境の特性を表すグリッドを構築する。ＳＬＡＭモジュール１３４において環境の特徴を表す自己位置推定地図が改良されるたびに、グローバル基準フレーム内のアンカーノードの位置の推定値が継続的に更新される。好適な実施形態では、パラメータマッピングモジュール１３６によってマッピングされたパラメータには、以下により詳細に説明されるように、障害物と、ロボットシステムが自由に動き回る空き空間とが含まれている。各アンカーノードはノードデータベース１４４に蓄積されるとともに、関連するグリッドはグリッドデータベース１４６に蓄積される。好適な実施形態では、パラメータマッピングモジュールには、アンカーノードの座標及びグローバル基準フレーム内の進行方向と一緒に蓄積されているアンカーノードの位置推定値に関連する不確実性を測定するための不確実性トラッキングモジュール１３８が含まれている。
【００４６】
好適な実施形態におけるプロセッサ１３０は、ロボットの移動を制御する信号を生成するよう構成されたナビゲーションモジュール１４０を更に備えている。例えば、ナビゲーションモジュールは制御信号を与えて、前進、停止、後退、方向転換、又は垂直軸を中心にした回転を行うようロボットに指示できる。移動式ロボットシステムが自律型又は半自律型ロボットであれば、ナビゲーションモジュール１４０も経路設計モジュール１４１を用いて経路を設計することによって、所望の目的地までのロボットシステムの効率的な誘導と所望の目標の実現との両方又はいずれか一方を行うことができる。好適な実施形態によれば、経路設計は、複数のパラメータグリッドに対応するアンカーノードの姿勢の現在の推定値を用いて当該グリッドから生成されるパラメータ地図に基づいている。
【００４７】
ロボットシステム１００は、ロボットの環境周辺でロボットを移動させるための駆動機構１５０を更に備えている。この環境は、屋内、屋外、これらの組み合わせのいずれでもよい。好適な実施形態では、駆動機構は、例えば、モータ１５４によって動力が供給される２つ以上の駆動ホイール１５２と、電池パック１５６とを備えている。駆動ホイールに加えて又は駆動ホイールの代わりに、トラック、ローラ、プロペラ、脚部などを含む他の形態の移動手段がロボットシステムに組み込まれることによって、ロボットシステムが動き回れるようにしてもよい。駆動機構１５０は、例えば、ホイールの回転を測定するとともにロボットシステムが移動する距離を推定するための１つ以上の光学ホイールエンコーダ１５８を更に備えていてもよい。また、対向するホイールの回転の差によって進行方向の変化を示していてもよい。
【００４８】
ホイールエンコーダ１５８又は他のタイプの自律航法によって、ロボットシステムは、以前の位置及び方位（姿勢）から移動進路と移動距離とを算出するとともに、この情報を用いて現在の姿勢を推定することができる。自律航法検知は、比較的短い距離の場合比較的正確であるが、時間とともにドリフトしやすい。他の形態の自律航法には、（歩行ロボット用の）歩数計、慣性計測装置による測定、光学マウス装置に用いるような光学センサなどが含まれてもよい。
【００４９】
好適な実施形態では、ロボットシステム２１０は、図２Ａに示すように、デカルト（ｘ，ｙ）座標２５０によって表わされるグローバル基準フレームを基準にしてこのロボットシステム２１０の現在の位置、経路、又はその組み合わせをトラックする。当然のことながら、極座標のような他の座標系が用いられてもよい。図２Ａに関して、横軸２５２はｘ軸に対応し、縦軸２５４はｙ軸に対応する。座標系の原点２５６は、ロボットのスタート位置、ロボットの位置、先のアンカーノード、又は他の任意の位置と一致していてもよい。ロボットシステムの位置及び方位を含む姿勢は、デカルト座標及び角度θに換算して記録されてもよい。
【００５０】
一方、好適な実施形態におけるグリッドには、局所基準フレームにおけるアンカーノードを基準にして配置される局所パラメータデータの地図が含まれる。図２Ｂに示すように、アンカーノードに近接する環境の特性が、アンカーノードＡ１の位置を基準にしてグリッド２６０にマッピングされる。そのため、グリッド２６０は、アンカーノード周辺の領域における環境を表す局所地図である。好適な実施形態では、各グリッドには、バンプセンサ１１８によって検出された障害物（黒色セル）と、（原寸に比例していない）ロボットによって横断された空き空間（白色セル）との位置を表す２次元デカルト表示が含まれている。好適な実施形態では、グリッドのデカルト座標系の軸は、アンカーノードにおけるロボットの方位θと一致する。この方位θは、グローバル基準フレームにおけるｘ軸２５２及びｙ軸２５４の方位とは概して異なる。グローバル基準フレームに関して、アンカーノードは、一般的に、環境中を動き回っている最中のロボットの経路沿いのポイントである。
【００５１】
好適な実施形態におけるグリッドは２次元（２Ｄ）デカルトサブマップとして図示されるが、当該グリッドには、例えば、球座標系と円柱座標系とを含む他の基準系を用いて局所パラメータデータが効果的に記録されてもよい。パラメータデータは、好適な実施形態では、デカルト座標系における画素によって表される。代替の実施形態では、グリッドは、局所パラメータデータを、例えば、（１）円柱座標系における画素、（２）任意の数の辺を有する多角形、又は、（３）他の任意の形状で表してもよい。
【００５２】
図３Ａにおいては、例示的実施形態におけるロボットシステム１００は、環境中の経路を行き来するよう構成されている。この経路は、例えば、ナビゲーションモジュール１４０によって予め設定されたり、場当たり的に設定されたり、人間の運転士又はナビゲータによって手動で設定されたりする。経路を行き来している間に、自己位置推定モジュールは、新しいランドマークを生成するのに用いる画像データを取得するとともに、環境をマッピングしてロボットシステムを環境内に配置するために、既知のランドマークを認識する。ランドマーク情報とオドメトリ情報とが組み合わされることによって、ロボットシステムが環境におけるロボットの位置の正確な推定値を出すことができる。
【００５３】
ロボットシステムは、位置判定と同時に、１つ以上の関心パラメータの地図を生成する。とりわけ、パラメータマッピングモジュールは、環境の特性を検出するとともに当該特性を表すパラメータ地図を生成する。図３Ａにおいては、マッピングプロセスが、当該特性と環境中の様々な位置又は姿勢を測定することによって始まる。ロボットの姿勢は、円Ｎ１〜Ｎ８として表され、当該姿勢時に観察された対応するパラメータは、正方形Ａ〜Ｈとして表される。当業者には当然であるように、パラメータデータは、一般的に、ロボットが測定値を収集し続けると、時間とともに直線的に増加することになる。パラメータを処理しやすいレベルに制限するために、本発明におけるロボットシステムは、特定の地理的な位置であるパラメータデータを効果的に集約した空間的集約を生成する。図３Ｂにおいて、ロボットシステムは、当該姿勢間の相対不確実性が小さい場合、別々の姿勢のパラメータ測定値を集約するよう構成されている。例えば、図３Ａにおける姿勢Ｎ２と姿勢Ｎ３との相対的な姿勢変換の不確実性が低ければ、センサデータＢとセンサデータＣとが１つに集約されて、図３Ｂに示す姿勢Ａｌに相当するものになる。センサデータＢとセンサデータＣとを集約したものに関連する姿勢は、本明細書においてアンカーノードと呼ばれる、ある基礎姿勢に関係している。アンカーノードとして選択された姿勢は、姿勢Ｎ２、姿勢Ｎ３、又は、姿勢Ｎ２と姿勢Ｎ３との組み合わせから作られた新しい姿勢に関連する姿勢であってもよい。
【００５４】
姿勢Ｎ２と姿勢Ｎ３のような連続的な姿勢は、（自律航法センサの精度に起因して）比較的低い相対不確実性を一般的に有しているので、多くの場合には、１つに集約されてもよい。位置モジュールによって生成された自己位置指定情報が時間とともに改良されるにつれて、２つの集約のアンカーノード間の相対姿勢不確実性が低くなる。２つのアンカーノード間の相対的な姿勢が十分に確実になる場合、すなわち、相対不確実性が閾値よりも低くなる場合、多数のノードに関連する集約は１つに集約され、この１つの集約は１つのアンカーノードに関連することになる。図３Ｃに示すように、センサデータＢとセンサデータＣとの集約は、センサデータＨとセンサデータＧとの集約と結合されて、アンカーノードＡ１と関連する１つの新しい集約を作成する。この新しい集約は、アンカーＡｌの領域におけるセンサデータを効果的に集約しているので、センサデータＢと、センサデータＣと、センサデータＧと、センサデータＨとを含む集約は、本明細書においては、空間的集約と呼ばれる。図４に示すように、多数対のアンカーノード姿勢が比較される。極端な場合には、各アンカーの姿勢が、他の全てのアンカーノードの姿勢と比較される。アンカーノード間の相対的な姿勢に関連する不確実性が閾値よりも低い場合、決定ブロックに肯定的に応じるとともに、当該アンカーノードの（センサデータからなる）集約は１つに集約される。この集約は１つのアンカーノードに関連する。一方、不確実性が閾値を上回る場合、１対のアンカーノードは集約されず、現在のノードに関連するグリッドに新しいセンサデータが追加される。好適な実施形態では、アンカーノード間の相対的な姿勢の「不確実性」は、相対的な姿勢の推定値の共分散行列の対角成分の合計である。他の実施形態では、相対不確実性を測定する方法には、マハラノビス距離又は同様な不確実性測定尺度を生成することが含まれる。
【００５５】
上述のように、複数のグリッドからのパラメータデータは、相対的な姿勢の不確実性に基づいて統合されて、１つのアンカーノードに関連する１つの集約になる。グリッドを集約するかどうかが決定されるときに、他の基準が用いられてもよい。当該基準には、限定されないが、（ａ）この集約によってメモリ必要量が少なくなるかどうか、すなわち、アンカーノードとグリッドの数が少なくなるかどうか、（ｂ）この集約によって性能が向上するかどうか、すなわち、この集約によって完全なパラメータ地図を算出するのに必要な時間が少なくなるかどうか、（ｃ）地図の質が向上するかどうか、すなわち、比較的「新しい」地図を保持しながら比較的「古い」期限切れの地図を統合又は削除することによって、パラメータ地図の精度が上がるかどうか、又は（ｄ）当該基準の組み合わせが含まれている。
【００５６】
ロボット経路５００と、複数の対応するノード５１０とを図５Ａに示すとともに、アンカーノードと、図５Ａに示すノード５１０のセンサデータを集約したものである関連グリッドとを図５Ｂに示す。図５Ａにおいては、ロボットシステムは、環境中の軌道５００を行き来しながらセンサデータを収集する。例えば、障害物を含むセンサデータは、センサデータが取得された時点でのロボットの姿勢と関連付けられている。しかしながら、このデータの量に起因して、ロボットシステムは、図５Ｂに示すようにこのデータを集約する。図５Ｂにおいて、アンカーノードＡ１〜Ａ４は円として示し、グリッド５２０〜５２３は矩形として示す。好適な実施形態では、センサデータには、障害物があることを示すバンプセンサデータが含まれている。したがって、各グリッドは、対応するアンカーノードに近接する、往来できる空き領域（白色セルとして示す）と、障害物又は占有領域（黒色セルとして示す）との位置を表す。
【００５７】
好適な実施形態によれば、パラメータマッピングモジュール１３６は、閾値を下回る相対姿勢不確実性を有するノードを識別し、当該姿勢のセンサデータを１つのグリッドに集約し、このグリッドを１つのアンカーノードと対応させる。例えば、グリッド５２０〜５２３からのパラメータデータは、グリッドの重ね合わせ５３０によって示すようにそれぞれのグリッド５２０〜５２３を重ね合せることによって集約されてもよい。当業者にとっては当然であるように、複数のグリッドは、物理的に重なり合い、対応する局所基準フレームにおいて異なる方位を有し、サイズがばらばらであってもよい。その後、グリッドの重ね合わせ５３０からのデータは、例えば、新しいアンカーノードと関連付けられる１つの空間的集約に集約されてもよい。別の方法では、空間的集約の重ね合わせを用いて、例えば、環境中のロボットの新しい経路を設計するために用いるグローバルパラメータ地図を構築してもよい。例示的なパラメータ地図は、図７Ａ及び図７Ｂに示すとともに、図７Ａ及び図７Ｂに基づいて説明される。
【００５８】
図５Ａ及び図５Ｂと同様に、図６Ａは、ロボット経路を対応するノードとともに示し、図６Ｂは、アンカーノードを関連するグリッドとともに示す。図６Ａに示すように、移動式ロボットの軌道は、円を描いて元の位置に戻っている。この際、ロボットは、その軌道における以前に通った領域を横切る。図６Ｂに示すように、一巡して元に戻ることによって、ロボットは、１つ以上の以前のグリッドを更新するために用いることができる追加のセンサデータを収集したり、古いバージョンの同じグリッドに入力するために用いるセンサデータを修整したりもできる。ロボットシステムの現在の姿勢が前の姿勢を基準にして十分な確実性があることが分かっていれば、前の姿勢に関連するアンカーノードが取得され、前のアンカーノードと関連するグリッドに新しいセンサデータがマッピングされる。
【００５９】
例えば、アンカーノードＡ１及びＡ２と関連するグリッドのセル５２０，５２１は、図５Ｂにおいて占有領域（又はサーチされていない領域）を示す。図６Ｂにおいては、ロボットが２回目に同じ領域を横切った後、アンカーＡ１及びＡ２の対応するグリッド６２０，６２１における同じセル６５０，６５２が更新されて、当該セルを「空き領域」として示した。同様に、センサ１１０からの新しいパラメータデータを用いて新しいセル６５４を図５Ｂにおけるグリッド５２３に導入することによって、図６Ｂにおける更新済拡張グリッド６２３を作成する。上記の両方の例では、最初の姿勢と後の姿勢とに関連する不確実性が許容可能な閾値を下回ったので、円を描いて元に戻っている間に収集された新しいセンサデータが前のグリッドに追加される。この際、マッピングモジュール１３６は、新しいアンカーノード又はグリッドを作成しないで既存のグリッドを新しい情報で効果的に更新する。そのため、本発明によって、センサデータ用の必要メモリが時間とともに直線的に増大することなく、パラメータ地図を新しいセンサデータで継続的に更新することができる。
【００６０】
どの時点においても、グリッドを集約して、例えば、経路設計のために環境全体又は環境の一部の完全なパラメータ地図を生成してもよい。典型的なパラメータ地図を図７Ａ及び図７Ｂに示す。好適な実施形態では、障害物があることを示す複数のグリッドが統合されて、図７Ａにおける「空き」領域（すなわち、障害物のない開放的な領域）の占有地図と、図７Ｂにおける「障害物」（例えば、開放的な領域と境界を接する壁）の占有地図とを作成する。グリッド（統合されたときには集約としても知られる）は、グローバル基準フレームにおける対応する位置にあるグリッドを重ね合せることによって統合されてもよい。それぞれのグリッドの位置は、対応するアンカーポイントの位置と方位との最新推定値によって決定される。各アンカーノードの位置及び姿勢は、新しいＳＬＡＭデータが受信されるとともに姿勢推定値に関連する不確実性が低くなると、順次グローバル基準フレーム内に定期的に更新される。図７Ａ及び図７Ｂに示す占有地図は、２次元（２Ｄ）で描画される。他の実施形態では、例えば、センサデータ及び対応するグリッドに高度情報が含まれている場合、占有地図又は他のパラメータ地図は、３次元（３Ｄ）で描画されてもよい。
【００６１】
本発明の好適な実施形態に係る自己位置推定及びパラメータマッピングの方法を示すフローチャートを図８に示す。好適な実施形態では、ロボットシステムが環境中を動き回る（８０２）と同時又はほぼ同時に、自己位置推定及びパラメータマッピングが行われる。自己位置推定に関しては、ロボットシステムは、環境の画像を繰り返し取得して、当該画像を用いてランドマークを識別する（８０４）。ロボットが環境を行き来するにつれて、ロボットは、通常、各ランドマークの多数の画像又は他の測定値を取得することによって、２次元（２Ｄ）又は３次元（３Ｄ）空間内のランドマークの位置を求める（８０６）ことができるようになる。ランドマークの地図を構築して改良するたびに、ロボットは、現在の姿勢８０８と、各アンカーノードに関連する姿勢８１０との推定値をますます正確なものにすることができる。自己位置推定システムによって、アンカーノードの推定位置が更新され、グローバル基準フレームにおいて例えば占有地図が生成されてもよい。例えば、占有地図が経路設計に必要な場合、決定ブロック８１２に肯定的に回答し、アンカーノードの位置の更新済の推定値を用いて、対応するグリッドを重ね合わせるとともに、図７Ａ及び図７Ｂに示すようにグリッドを包括地図にする（８１４）。
【００６２】
ロボットシステムは、環境中を動き回りながら（８０２）、バンプセンサを含む搭載センサを用いて局所パラメータを測定する（８１６）。現在の姿勢の推定値を用いて、パラメータマッピングモジュールは、現在のノードを基準にして最も低い相対姿勢不確実性を有する既存のアンカーノードを検索して識別する（８１８）。識別されたノードは、ロボット経路における直前のノード又は現在のノードまでの距離が一番近い前のノードであってもよい。現在のノードと前のノードとの相対姿勢不確実性が所定の閾値を下回る場合、決定ブロック８２０に肯定的に回答する。この場合、前のアンカーノードに関連するグリッドが選択されて（８２２）現在のグリッドとなり、受信したセンサデータがこの現在のグリッドにマッピングされる（８２６）。不確実性は、例えば、視覚的ＳＬＡＭモジュール及びオドメトリセンサを用いて、自己位置推定に関連する位置的な不確実性を表す共分散行列から求められる。しかしながら、不確実性が所定の閾値を越える場合、決定ブロック８２０に否定的に回答する。この場合、新しいアンカーノードが生成され（８２４）、受信したセンサデータがこの新しいアンカーノードに関連する新しいグリッドにマッピングされる（８２６）。受信したパラメータデータをマッピングするプロセス８２６は、不確実性が十分に低い状態のままである間は続行する。比較的短い距離の場合、オドメトリの測定値から取得される値などの自律航法測定値は、かなり正確であり得る。このように、不確実性が低い状態に保たれ、通常、受信したセンサデータを用いて現在のパラメータに代入する。新しいノードは、ロボットが以前に調査していない領域である程度の距離移動した後で生成される傾向にある。新しいアンカーノード８３０は、ノードデータベース１４４に記録され、新しい更新済グリッド８２８は、グリッドデータベース１４６に記録される。
【００６３】
必要に応じて、複数の局所グリッドからのパラメータデータが統合され（８３２）、１つ以上の空間的集約となる。図４に詳細に説明するように、グリッドは、対応するアンカーノード間の相対的な姿勢に関連する不確実性が閾値を下回る場合、空間的集約に集約されてもよい。マッピングモジュール１３６は、（１）経過時間と、（２）移動式ロボットによってカバーされた空間又は移動式ロボットによってマッピングされた領域と、（３）グリッドメモリの限界と、（４）グリッド又はアンカーノードの合計数と、これらの組み合わせとを含む多数の事象又は状況のいずれかに応じて空間的集約を生成することを定期的に試みる。更に、複数のグリッドをグローバルパラメータ地図にするプロセスは、上述の状況に基づいて、必要に応じて繰り返されてもよい。
【００６４】
本発明のロボットシステムは、ハードウェア、ソフトウェア、ファームウェア、又はこれらの組み合わせを含むシステムにおいて実行できる。ハードウェアには、例えば、１つ以上の汎用コンピュータ、マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ネットワークシステムによって接続されたこれらの組み合わせなどが含まれてもよい。ソフトウェアには、様々なプロセッサ、コンピュータ、サーバー、同様な回路基板又はチップ上で実行できるコンピュータが読める命令が含まれていてもよい。コンピュータが読める命令は、例えば、メモリチップ、ハードドライブ、又はコンパクトディスクを含む揮発性又は不揮発性メモリに入れられてもよい。
【００６５】
本発明は、例えば、離れた中央処理装置（ＣＰＵ）と協働するネットワーク使用可能ロボットを２つ以上備えた分散プラットフォームを含む複数のプラットフォームにおいて実現されることによって、比較的大きい環境からランドマーク情報を収集してもよい。ＣＰＵには、パーソナルコンピュータ、携帯電話、タブレットコンピュータ、サーバ、又はプロセッサ１３０の算出を実行する同様なデバイスが含まれていてもよい。実施形態によっては、各ロボットが他のロボットによって調査済の全部のパラメータについての情報を有するように環境を行き来しながら位置設定情報とパラメータ地図（１つの地図又は個別のサブマップを集めたもののいずれか）とを定期的に交換するロボットの集団によって本発明が実現されるものもある。
【００６６】
上述の説明には多数の仕様が含まれているが、当該は、本発明の範囲を限定するものとして解釈されるべきではなく、現時点での本発明の好適な実施形態のうちの一部を説明したものであるに過ぎない。
【図１】
0005931287.tif 000004
【図２Ａ】
0005931287.tif 000005
【図２Ｂ】
0005931287.tif 000006
【図３Ａ】
0005931287.tif 000007
【図３Ｂ】
0005931287.tif 000008
【図３Ｃ】
0005931287.tif 000009
【図４】
0005931287.tif 000010
【図５Ａ】
0005931287.tif 000011
【図５Ｂ】
0005931287.tif 000012
【図６Ａ】
0005931287.tif 000013
【図６Ｂ】
0005931287.tif 000014
【図７Ａ】
0005931287.tif 000015
【図７Ｂ】
0005931287.tif 000016
【図８】
0005931287.tif 000017