(57)【要約】  自律型車両は、安全で確実な動作をサポートするために、精確な位置推定を必要とする。現行のシステムは、カメラと３Ｄ式ＬｉＤＡＲの組み合わせからの観測に基づいて、６ＤＯＦで位置特定を行い、高密度な従来の３Ｄマップとマッチングさせることを意図している。これらのマップは非常に大きく複雑であり、マッチング、保存、及び取得に関して、演算上の課題及び物理的な課題の両方を示している。中で車両が動作する環境のほとんどは、２Ｄ位置推定にとって十分な明確な垂直構造を多く包含しており、一方で、ロール及びピッチを復元するためには最新技術のＩＭＵを使用することができる。本開示は、環境中の垂直構造を集約する２Ｄマップを構築するための高速の方法を紹介し、これを使用して車両及び他の用途で正確な位置特定を行うことができることを実証する。
2020508506.tif 000002
【特許請求の範囲】
【請求項１】
シーンの３次元点データを受信することと、
前記シーンの地面を複数のセルへと区画化することと、
前記３次元点データからの点を前記複数のセル内へと射影することと、
前記複数のセル中の各セルについて、前記セル内で前記点が生じる高さを記録することと、
前記複数のセル中の各セルについて、前記セル内の前記点の特性を判定することと、
前記複数のセル中の各セル内で判定された前記特性から、前記シーンの２次元表現を生成することと
を含む、シーン中の構造の２次元表現を生成する方法。
【請求項２】
前記３次元点データをＬｉＤＡＲセンサから取り込むことを更に含む、請求項１に記載の方法。
【請求項３】
前記セル内で前記点が生じる高さを記録することは、高さを列ベクトルの要素へと量子化し、このことにより複数のベクトル列を形成することを含み、前記列ベクトル中の各要素は、基準点よりも上にある異なる高さの範囲に対応している、請求項１に記載の方法。
【請求項４】
列ベクトルの要素において高さを量子化することは、所与の要素における点の存在又は不在を二値数としてコード化することを更に含む、請求項３に記載の方法。
【請求項５】
列ベクトル中の要素の数は、処理ユニットの整数データ型のサイズ以下である、請求項３に記載の方法。
【請求項６】
各セルは、前記列ベクトル中の各ビットの意味をシフトさせる高さオフセット値を含む、請求項３に記載の方法。
【請求項７】
所与のセル内の前記点の特性を、前記所与のセルに対してポピュレーション・カウントを実行することによって判定することを更に含む、請求項３に記載の方法。
【請求項８】
所与のセル内の前記点の特性を、前記所与のセルに対するビットＡＮＤ及びポピュレーション・カウントのシークエンスを通して判定することを更に含む、請求項３に記載の方法。
【請求項９】
前記点が生じる高さを記録することは、所与の列ベクトルによって定義された前記高さの範囲外にある新しい点を受信することと、前記所与の列ベクトル中の要素をビット・シフトさせることによって前記高さの範囲を調整することと、を更に含む、請求項３に記載の方法。
【請求項１０】
前記複数のセルにルール・セットを適用することによって、セル内の前記点の特性を判定することであって、前記ルール・セットは、静止した構造を前記シーン内で検出された他の物体から区別する、判定すること、を更に含む、請求項１に記載の方法。
【請求項１１】
移動可能な物体の位置を判定するための方法であって、
前記移動可能な物体の周囲にあるシーンの３次元点データを収集することと、
前記シーン内で検出された任意の構造の垂直度を列ベクトルで表すことによって、前記３次元点データを前記シーン内の現在の構造の２次元マップに変換することであって、前記列ベクトル中の各要素は、基準点よりも上にある異なる高さの範囲に対応している、変換することと、
前記現在の２次元マップを２次元候補マップのセットのうちの１つ又は複数とマッチングさせることであって、前記２次元候補マップのセット中の各２次元候補マップはグローバル座標を含む、マッチングさせることと、
１つ又は複数のマッチングした２次元候補マップを使用して、前記移動可能な物体の位置を判定することと、を含む、方法。
【請求項１２】
前記３次元点データを２次元マップに変換することは、
前記シーンの地面を複数のセルへと区画化することと、
前記３次元点データからの点を前記複数のセル内へと射影することと、
前記複数のセル中の各セルについて、前記セル内で前記点が生じる高さを記録することと、
前記複数のセル中の各セルについて、前記セル内の前記点の特性を判定することと、
前記複数のセル中の各セル内で判定された前記特性から、前記シーンの２次元表現を生成することと、
を含む、請求項１１に記載の方法。
【請求項１３】
前記セル内で前記点が生じる高さを記録することは、高さを列ベクトルの要素へと量子化し、このことにより複数のベクトル列を形成することを含み、前記列ベクトル中の各要素は、基準点よりも上にある異なる高さの範囲に対応している、請求項１２に記載の方法。
【請求項１４】
前記現在の２次元マップを２次元候補マップのセットのうちの１つ又は複数とマッチングすることは、
前記移動可能な物体の現在の位置を推定することと、
前記移動可能な物体の前記現在の位置を使用して、複数の所定の２次元マップから、前記２次元候補マップのセットを識別することと、を含む、請求項１１に記載の方法。
【請求項１５】
前記現在の２次元マップを２次元候補マップのセットのうちの１つ又は複数とマッチングさせることは、前記現在の２次元マップを前記２次元候補マップのセット中の各２次元候補マップと位置整合させ、このことにより前記２次元候補マップのセット中の各２次元候補マップと関連させて、前記現在の２次元マップに関する地点推定値を決定することを含む、請求項１１に記載の方法。
【請求項１６】
前記現在の２次元マップを前記２次元候補マップのセット中の各２次元候補マップと位置整合させることは、前記現在の２次元マップと前記２次元候補マップのセット中の各２次元候補マップとの間の剛性変換を演算することを含む、請求項１５に記載の方法。
【請求項１７】
前記移動可能な物体の位置を判定する前記ステップの前に、前記現在の２次元マップとの位置整合に基づいて前記２次元候補マップのセットをフィルタリングすることを更に含む、請求項１６に記載の方法。
【請求項１８】
粒子フィルタを使用して前記移動可能な物体の位置を判定することを更に含む、請求項１５に記載の方法。
【請求項１９】
前記移動可能な物体の位置を判定することは、
前記２次元候補マップのセット中の各２次元候補マップと関連している前記現在の２次元マップに関する前記地点推定値を使用して、ファクター・グラフを構築することであって、前記ファクター・グラフ中のノードは、前記移動可能な物体の既知及び未知の位置を表し、前記ファクター・グラフ中のエッジは、ノードの値を互いに関連させる観測を表す、構築することと、
非線形最小二乗法を使用してファクター・グラフを解くことと、を含む、請求項１５に記載の方法。
【請求項２０】
様々な位置において前記シーンの３次元点データを収集することと、前記ステップを繰り返して前記様々な位置において前記移動可能な物体の位置を判定することと、を更に含む、請求項１１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
政府条項
本発明は、米国海軍研究局が授与した助成金番号Ｎ０００１４−１３−１−０２１７、及び米国内務省／国防高等研究計画局が授与した助成金番号Ｄ１３ＡＰ０００５９の政府支援を受けて成された。政府は本発明において一定の権利を有する。
【０００２】
関連出願の相互参照
本出願は、２０１７年１月２６日に出願された米国仮出願６２／４５０，６１６第号の利益を主張する。上記出願の開示全体が、参照により本明細書に組み込まれている。
【０００３】
本開示は、３Ｄ点データにおける垂直構造を取り込む２Ｄマップを使用する、ロボット又は車両などの物体の高速位置推定のための技法に関する。
【背景技術】
【０００４】
最も基本的なタスクを実行するためでさえ、自律型車両は高速且つ正確な位置の推定を必要とする。車線維持などの単純動作でさえ、その地点推定の小さな（例えば、０．５ｍ）誤差に起因して、通常動作から破局的なものへと変わり得る。消費者グレードのＧＰＳはこれらの必要性をサポートするには正確度が不十分であり、このことが、ＬｉＤＡＲ及びカメラからのデータに基づいたアルゴリズムの開発へとつながっている。
【０００５】
３Ｄ式ＬｉＤＡＲは、正確度と周囲の環境についての高速の３６０°視野（ＦＯＶ：ｆｉｅｌｄ  ｏｆ  ｖｉｅｗ）情報を生み出す能力とに起因して、最新式の自律型車両において特に一般的になっている。更に、３Ｄ式ＬｉＤＡＲセンサは、２Ｄ式ＬｉＤＡＲセンサよりも遮蔽に対してロバストである。しかしながら、これらのセンサからのデータは、位置推定用途で使用するのが困難である。３Ｄマッチング作業をサポートするために必要な高密度な事前３Ｄマップは大量の保存スペースを占めるため、大きな地理的領域の完全な３Ｄマップをローカルに保存するのは現実的ではない。実際のところ、都市部の小さな領域でさえ、数百ＭＢのストレージを要し得る。他方で、遠隔のソースからオン・デマンドでデータをフェッチすることで生じるリスクは、システムにとって容認できない。
【０００６】
保存の課題が克服されているとしても、６自由度での位置整合及び位置推定には依然として課題が見られる。反復最近傍点法（ＩＣＰ：Ｉｔｅｒａｔｉｖｅ  Ｃｌｏｓｅｓｔ  Ｐｏｉｎｔ）などの従来の３Ｄ位置整合アルゴリズムは収束特性が悪く、高品質の位置整合を得るためには初期の良好な重ね合わせが必要である。３Ｄ式ＬｉＤＡＲのデータが不均一であると、収束問題が悪化し得る。
【０００７】
多くの環境において２Ｄ式ＬｉＤＡＲセンサが使用されて、大きな効果を上げてきた。事前マップ表現はコンパクトであり、マッチングの対象とするのに効率的である。しかしながら、これらのセンサはその平面的な性質により、一過性の障害物による遮蔽に起因する誤差を生じ易く、又は、面外の危険要因を全く観測できない可能性がある。したがって、リッチ且つロバストな３Ｄ式ＬｉＤＡＲの情報を、既存の２Ｄデータと同程度に効率的に使用するための方法を見付けることが望ましい。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】Ｔ．  Ｋｏｒａｈら著、「Ｓｔｒｉｐ  Ｈｉｓｔｏｇｒａｍ  Ｇｒｉｄ  ｆｏｒ  Ｅｆｆｉｃｉｅｎｔ  ＬｉＤＡＲ  Ｓｅｇｍｅｎｔａｔｉｏｎ  ｆｒｏｍ  Ｕｒｂａｎ  Ｅｎｖｉｒｏｎｍｅｎｔｓ」、Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  ａｎｄ  Ｐａｔｔｅｒｎ  Ｒｅｃｏｇｎｉｔｉｏｎ  Ｗｏｒｋｓｈｏｐｓ（ＣＶＰＲＷ）、２０１１  ＩＥＥＥ  Ｃｏｍｐｕｔｅｒ  Ｓｏｃｉｅｔｙ  Ｃｏｎｆｅｒｅｎｃｅ（２０１１）
【非特許文献２】Ｅｄｗｉｎ  Ｏｌｓｏｎ著、表題「Ｍ３ＲＳＭ：  Ｍａｎｙ−ｔｏ−Ｍａｎｙ  Ｍｕｌｔｉ−Ｒｅｓｏｌｕｔｉｏｎ  Ｓｃａｎ  Ｍａｔｃｈｉｎｇ」、Ｐｒｏｃｅｅｄｉｎｇｓ  −  ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｒｏｂｏｔｉｃｓ  ａｎｄ  Ａｕｔｏｍａｔｉｏｎ  （Ｊｕｎｅ  ２０１５）
【非特許文献３】Ｅｄｗｉｎ  Ｏｌｓｏｎら著、表題「Ｉｎｆｅｒｅｎｃｅ  ｏｎ  Ｎｅｔｗｏｒｋｓ  ｏｆ  Ｍｉｘｔｕｒｅｓ  ｆｏｒ  Ｒｏｂｕｓｔ  Ｒｏｂｏｔ  Ｍａｐｐｉｎｇ」、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｊｏｕｒｎａｌ  ｏｆ  Ｒｏｂｏｔｉｃｓ  Ｒｅｓｅａｒｃｈ、３２（７）：８２６〜８４０頁、２０１３年６月
【発明の概要】
【課題を解決するための手段】
【０００９】
本項目は本開示の一般的概要を提供するものであって、その全範囲の又はその特徴の全ての包括的な開示ではない。
【００１０】
１つの態様では、シーン中の構造の２次元表現を生成する方法が提供される。方法は、シーンの３次元点データを受信することと、シーンの地面を複数のセルへと区画化することと、３次元点データからの点を複数のセル内へと射影することと、複数のセル中の各セルについて、セル内で点が生じる高さを記録することと、複数のセル中の各セルについて、セル内の点の特性を判定することと、複数のセル中の各セル内で判定された特性から、シーンの２次元表現を生成することと、を含む。３次元点データは、ＬｉＤＡＲセンサ又は別のタイプのセンサを使用して取り込むことができる。
【００１１】
セル内で点が生じる高さを記録することは、高さを列ベクトルの要素へと量子化し、このことにより複数のベクトル列を形成することを含み、列ベクトル中の各要素は、基準点よりも上にある異なる高さの範囲に対応している。いくつかの実施例では、列ベクトルの要素における高さは、所与の要素における点の存在又は不在を二値数としてコード化することによって量子化される。列ベクトル中の要素の数は、処理ユニットの整数データ型のサイズ以下である。更に、各セルは、列ベクトル中の各ビットの意味をシフトさせる高さオフセット値を含んでもよい。
【００１２】
１つの実施例では、所与のセルに対してポピュレーション・カウントを行うことによって、所与のセル内の点の特性が判定される。他の実施例では、所与のセル内の点の特性が、その所与のセルに対するビットＡＮＤ及びポピュレーション・カウントのシークエンスを通して判定される。
【００１３】
所与の列ベクトルによって定義される高さの範囲外にある新しい点を受信すると、高さの範囲は、その所与の列ベクトル中の要素をビット・シフトさせることによって調整される。
【００１４】
別の態様では、移動可能な物体の位置を判定するための方法が提示される。方法は、移動可能な物体の周囲にあるシーンの３次元点データを収集することと、シーン内で検出された任意の構造の垂直度を列ベクトルで表すことによって、３次元点データをシーン内の現在の構造の２次元マップに変換することであって、列ベクトル中の各要素は、基準点よりも上にある異なる高さの範囲に対応している、変換することと、現在の２次元マップを２次元候補マップのセットのうちの１つ又は複数とマッチングさせることであって、２次元候補マップのセット中の各２次元候補マップはグローバル座標を含む、マッチングさせることと、１つ又は複数のマッチングした２次元候補マップを使用して、移動可能な物体の位置を判定することと、を含む。
【００１５】
現在の２次元マップを２次元候補マップのセットのうちの１つ又は複数とマッチングさせることは、移動可能な物体の現在の位置を推定することと、移動可能な物体の現在の位置を使用して、複数の所定の２次元マップから、２次元候補マップのセットを識別することと、を含む。現在の２次元マップを２次元候補マップのセットのうちの１つ又は複数とマッチングさせることは、現在の２次元マップを２次元候補マップのセット中の各２次元候補マップと位置整合させ、このことにより２次元候補マップのセット中の各２次元候補マップと関連付けて、現在の２次元マップに関する地点推定値を決定することを更に含み得る。２次元候補マップのセットはまた、移動可能な物体の位置を判定するステップの前に、現在の２次元マップとの位置整合に基づいて、フィルタリングすることもできる。
【００１６】
１つの実施例では、移動可能な物体の位置は、粒子フィルタを使用して判定される。
【００１７】
他の実施例では、移動可能な物体の測位は、２次元候補マップのセット中の各２次元候補マップと関連している現在の２次元マップに関する地点推定値を使用して、ファクター・グラフを構築することと、非線形最小二乗法を使用してファクター・グラフを解くこととを、含み、この場合、ファクター・グラフ中のノードは、移動可能な物体の既知及び未知の位置を表し、ファクター・グラフ中のエッジは、ノードの値を互いに関連付ける観測を表す。
【００１８】
本明細書で提供される記載から、適用可能な更なる領域が明らかになるであろう。本概要中の記載及び特定の実例は、例示のみを目的として意図されており、本開示の範囲を限定することは意図していない。
【００１９】
本明細書に記載する図面は、全ての可能な実装ではなく、選択された実施例の例示のみを目的としており、本開示の範囲を限定することは意図していない。
【図面の簡単な説明】
【００２０】
【図１】３次元点データからシーン中の構造の２次元表現を生成するための改善された方法を記述するフローチャートである。
【図２Ａ】停止標識の垂直度を表す列ベクトルの図である。
【図２Ｂ】高架交差路の垂直度を表す列ベクトルの図である。
【図３Ａ】列ベクトルが観測される最低高さに位置整合されるようにビットがシフトするのを示す図である。
【図３Ｂ】列ベクトルが観測される最低高さに位置整合されるようにビットがシフトするのを示す図である。
【図４】移動可能な物体の位置を判定するための実例としての方法を記述するフローチャートである。
【図５】未知の２Ｄマップを複数の所定の２Ｄマップのうちの１つ又は複数とマッチングさせるための実例としての方法を記述するフローチャートである。
【図６】部分的なファクター・グラフの図である。
【図７】様々な高さの障害物を表す実例としての２Ｄマップである。
【図８Ａ】ＳＬＡＭシステムが作り出した開ループの軌道についてのマップである。
【図８Ｂ】ＳＬＡＭシステムが作り出した修正された軌道についてのマップである。
【図９】垂直構造分類の様々な閾値に基づく、位置推定に関するラジアン単位の角度誤差の度数を示すグラフである。
【図１０】極座標系の占有マップ、デカルト座標系の占有グリッド、及びフィル・イン（ｆｉｌｌ−ｉｎ）を適用したデカルト座標系の占有グリッドに基づく、位置推定に関するラジアン単位の角度誤差の度数を示すグラフである。
【図１１】開ループの走行距離計測法を本発明者らの最終的な位置推定システムと比較した、位置推定に関するラジアン単位の角度誤差の度数を示すグラフである。
【発明を実施するための形態】
【００２１】
図面のいくつかの図の全てにわたって、対応する参照符号は対応する部分を示す。
【００２２】
ここで実例としての実施例について、添付の図面を参照してより十分に記載する。
【００２３】
最も一般的に適用される２Ｄ構造抽出法は、ＸＹ空間における世界の量子化を中心にして構築される。最も単純な場合では、地面からの指定されたｚ高さ帯域内に収まる範囲戻り値（ｒａｎｇｅ  ｒｅｔｕｒｎ）が、このグリッド内へと射影され、障害物としてマークされる。これは危険要因推定に関して良好に機能するが、ノイズの影響を非常に受け易い。別法として、世界を複数のボクセルへと区画化し、ある垂直線上の占有されたボクセルの数が指定された閾値を上回る場合にだけ２Ｄ要約マップ上の構造をマークすることができる。このことにより、検出された構造において、あるレベルの垂直度が（高い再現性で）確保される。これらの方法の１つの弱点は、それらが目立たない障害物（ｎｅｇａｔｉｖｅ  ｏｂｓｔａｃｌｅ）に対処できないことである。目立たない障害物は、範囲戻り値を全く生成しないか又は非常に離れた範囲戻り値を生成し、このためこれらがマップ上に全く現れなくなる場合がある。ノイズに起因する量子化誤差からも、問題が生じる。
【００２４】
図１には、３次元点データからシーン中の構造の２次元表現を生成するための改善された方法が記述されている。最初に、１２に示すように、シーンの３Ｄ点データが受信される。３Ｄ点データは、例えば、ロボット又は車両などの移動可能な物体に装着された、ＬｉＤＡＲセンサによって取り込むことができる。説明を容易にするために、本出願では、ロボットであるものとして移動可能な物体に言及する。他のタイプの移動可能な物体が本開示の範囲内にあることが理解される。本開示はまた、３Ｄ点データを取り込むための他の技法も企図している。
【００２５】
シーンを区画化するために、３Ｄ点データからの点が、シーンのＸ−Ｙ平面（例えば地面）上のセル上へと射影される。例えば、１３において、データ点を上へとＸＹグリッド上へと射影することができる。１４において、ＸＹグリッド内の各セルについて、所与のセル内で検出された任意の物体の垂直度（又は高さ）が判定される。例えば、停止標識を包含するセルは、観測される最低の高さから地面より上に約２１３．３６センチメートル（７フィート）までの垂直度を有するが、２１３．３６センチメートル（７フィート）を超える垂直度は有さないであろう。高架交差路の場合、垂直度は地面から３６５．７６センチメートル（１２フィート）から４２６．７２センチメートル（１４フィート）の間で生じ得るが、これを上回る又は下回ることはない。これらの実例から、異なる垂直度を有する物体の様々なタイプとセル内で点が生じる高さとが記録されることが、理解されるであろう。
【００２６】
ＸＹグリッド中の各セルについて、１５において、検出された任意の物体の垂直度が列ベクトル（すなわちｍ×１マトリックス）によって表され、この列ベクトル中の各要素は、何らかの規準高さを超える、異なる高さの範囲に対応している。規準高さは、全てのセルについて固定することができるか、又は各セルについて動的に調整することができる。後者の場合、ｍ×１の列ベクトルが最大範囲の有用な垂直度を有するように、最低垂直度の高さを規準高さとして使用することができる。ＸＹグリッド内の各セルを列ベクトルで表す結果、複数の列ベクトルが得られる。上述した実例から引き続き、図２Ａに示すような列ベクトル中のシェーディングしたボックスによって、停止標識の垂直度が表され、一方、図２Ｂに示すような列ベクトル中のシェーディングされたボックスによって、高架交差路の垂直度が表される。この図では、全てのセルについて、規準高さはロボットの高さである。このタイプのボクセル表現は、コンパクト且つ高速である。規準高さは、各セルについて調整すると、局所的な地形高さへの適合性が増す。
【００２７】
実例としての実施例では、空間の垂直度が６４個の要素を有する列ベクトルによって表されており、各要素は二進値を保存する。最小ｚ高さを保存するために１つの要素を使用することもできる。ベクトルの各要素は、垂直方向範囲の固定された帯域（例えば１０ｃｍ）に対応している。この範囲は、最小ｚ高さを基準にした特定の関心領域（すなわち２０ｃｍから２００ｃｍ）に焦点が合うように調節することができる。このｚ高さは、観測が追加されるにしたがって、例えば関心領域を観測される最低点と関連するようにシフトさせることによって、動的に更新することができる。図３Ａ及び３Ｂに見られるような単純なビット・シフトを介して、最小ｚ高さの更新を行うことができる。
【００２８】
この実施例では、垂直構造の識別は、列ベクトルに対するＰＯＰＣＯＵＮＴ演算を用いて行うことができる、すなわち、１に設定されているビットの数が閾値を上回る場合、そのセルは垂直度テストに合格し、構造としてマークされる。更に、データのより小さい垂直方向の帯域を、ビット・マスキング演算を用いて効率的に分離することができる、すなわち、例えば、車両と同じ高さの障害物を分離すること、又は道路の高架交差路と同じ高さの障害物を分離することができる。ビット・マスキング及びＰＯＰＣＯＵＮＴを介して、広範囲の有用な分類指標（ｃｌａｓｓｉｆｉｅｒ）を効率的に実施することができる。
【００２９】
これらの表現は、極座標で作業することによって更に改善され得る。ほとんどの３Ｄ式ＬｉＤＡＲセンサは、複数のレーザから成る垂直な扇形の回転によって機能し、この結果、データと極座標枠との間に明らかな関連性が生じる。極座標でビンすることにより、デカルト座標への高コストな射影が回避される。同様に、この場合、量子化誤差は、Ｘ及びＹの両方においてではなく、範囲の次元においてのみ生じる。ＳＨＧは極座標ビニング法の例であって、Ｔ．  Ｋｏｒａｈら著、「Ｓｔｒｉｐ  Ｈｉｓｔｏｇｒａｍ  Ｇｒｉｄ  ｆｏｒ  Ｅｆｆｉｃｉｅｎｔ  ＬｉＤＡＲ  Ｓｅｇｍｅｎｔａｔｉｏｎ  ｆｒｏｍ  Ｕｒｂａｎ  Ｅｎｖｉｒｏｎｍｅｎｔｓ」、Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  ａｎｄ  Ｐａｔｔｅｒｎ  Ｒｅｃｏｇｎｉｔｉｏｎ  Ｗｏｒｋｓｈｏｐｓ（ＣＶＰＲＷ）、２０１１  ＩＥＥＥ  Ｃｏｍｐｕｔｅｒ  Ｓｏｃｉｅｔｙ  Ｃｏｎｆｅｒｅｎｃｅ（２０１１）に記載されており、同文献は参照によって本明細書に組み込まれている。
【００３０】
図１に戻ると、１６において、複数のベクトル列からシーンの２次元表現が生成される。複数のベクトル列にルール・セットを適用することによって、シーン内の静止した構造の２次元表現を生成することができ、これらのルール・セットは、静止した構造をシーン内で検出された他の物体から区別する。例えば、列ベクトルが少なくとも何らかの決定的な数のビットのセットを有する場合、又はこれらのビットが特定のｚ高さに亘る場合、又はこれらのビットがｚ高さの何らかの重要な範囲内での物体検出を表している場合、分類指標はその所与のｘ，ｙセルを、障害物を包含するものとして分類することができる。本開示の肝要な寄与は、ＬｉＤＡＲの表現がビット・ベクトルになり、これらのタイプのテストを効率的に演算できることである。使用される特定の分類規準は当然ながら特定の用途と相関しており、一般には経験的に見出されるものである。ただし、これらのルールを機械学習ツールを使用して、例えば、分類指標の出力とグラウンド・トゥルースなデータセットとの間の一致を最大にすることによって、最適化することもまた可能である。
【００３１】
２Ｄ構造表現の拡張の１つは、１つの２Ｄマップにおいて構造の複数の分類を表すことである。ナビゲーション用途では、危険要因と、ナビゲーションにとっての障害物と、ＳＬＡＭ可能な構造、すなわち高い信頼性でスキャン・マッチングさせることのできる垂直構造と、を区別するのが有用であると考えられる。この場合、ナビゲーション・システム及び位置推定システムが、どちらの性能にも悪影響を与えることなく、同じデータ・ストリームでサポートされる。このことは、物体の様々なタイプに合わせて微調整された複数の分類指標を使用することによって達成される。各分類指標が各グリッドセルに適用されて、各（ｘ，ｙ）セル用の複数のラベルが生み出される。これらは相互に排他的である必要はない、すなわち、単一の（ｘ，ｙ）セルが、例えば「樹木」及び「障害物」の両方として認識されてもよい。
【００３２】
この場合、シーンの２次元マップを様々な用途で使用することができる。例えば、移動可能な物体（例えば、ロボット）の位置を判定するための方法が、図４に示されている。前提として、グローバル及びローカルの２つの座標系が定義されており、ロボットはこれらの中で動作できる。１つの実施例では、ロボットのローカル座標はその開ループ走行距離計測法によって決定されるが、一方、ロボットのグローバル座標は、世界におけるロボットの実際の地点である（例えば緯度及び経度の地理的座標）。位置推定の目標は、ロボットのローカル座標をグローバル座標へと転換できる変換を演算することである。本開示において提示されている方法は、同時位置推定及び地図生成（ＳＬＡＭ：ｓｉｍｕｌｔａｎｅｏｕｓ  ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  ｍａｐｐｉｎｇ）システムの一部として実装することもできる。
【００３３】
ロボットの周囲にあるシーンの３次元点データが、４１において、例えばそのロボットに装着されたＬＩＤＡＲセンサによって収集される。３次元点データは次いで４２で、上記のように２次元マップに変換される。このマップ中の各ピクセルは、セルの垂直度ベクトルに対して作用する分類指標の出力である。位置推定のために、分類指標は典型的には、大きな静止した物体（例えば標識及び建造物）を保持するが非永続的な物体（雪、歩行者、自動車、等）は棄却するものとなるように選ばれる。このマップは二値化されていてもよく（すなわち、分類指標が「静止した物体」と告げている場合は１、そうでない場合はゼロ）、又は、連続値化されていてもよい（すなわち、より大きい値は、物体が静止している信頼度がより高いことを示す）。この２Ｄマップは以下で、未知の２Ｄマップと呼ばれる場合がある。
【００３４】
グローバル座標を決定するために、４３において、未知の２次元マップを複数の所定の２次元マップのうちの１つとマッチングさせる。複数の所定の２次元マップは、ロボットによって前もって決定され、データ保存部に保存されている。各所定の２Ｄマップは様々な位置におけるシーンを描写しており、グローバル座標、又はローカル座標をグローバル座標に移し替えるための別の手段を含む。２Ｄマップは、以下で更に記載するようなスキャン・マッチング法を使用して、複数の所定の２Ｄマップのうちの１つ又は複数とマッチングされる。
【００３５】
図５には、未知の２Ｄマップを複数の所定の２Ｄマップのうちの１つ又は複数とマッチングさせるための、実例としての実施例が描かれている。開始点として、５１で、データ保存部から複数の所定の２Ｄマップが取得される。各所定の２Ｄマップは、２Ｄマップを導出するために使用されるデータを取り込んだ場所のグローバル座標、及び／又は、マップ中の各点のグローバル座標の演算を可能にする追加の情報を含む。
【００３６】
更に、５２において、ロボットの地点の初期推定が行われる。ロボットの現在の地点は、グローバル座標、すなわち、未知の２Ｄマップを導出するために使用されるデータをロボットが収集した場所の位置として表現される。１つの実例では、現在の位置は、ロボットに設置されているＧＰＳ受信機から取得することができる。別の実例では、使用者が表示されたマップ上でロボットの現在の位置を指定してもよい。本開示では、ロボットの開始位置を判定するための他の方法が企図されている。５２によって得られた推定値は一般に、正確度及び／又は信頼性が低いものであると想定できる。
【００３７】
５３において、ロボットの現在の位置を使用して、複数の所定の２Ｄマップから、候補２Ｄマップのサブセットを抽出する。例えば、候補２Ｄマップのサブセットは、ロボットの推定された現在の位置に近いマップであってもよく、この場合「近さ」は、推定された現在の位置の信頼度の関数である。或いは、ロボットは単純に、ロボットの推定された現在の位置からの距離が何らかの閾値距離（例えば１００メートル）未満である全てのマップを使用してもよい。候補マップによっては、位置整合処理に適さないという理由で棄却される場合がある。この棄却の考えられる理由には、有するピクセルが非常に少ないこと、各方向におけるマッチング処理を制約しないピクセルを有すること、又は位置整合を不明確にする繰り返し構造を有することを含めることができる。
【００３８】
次いで５４において、候補２Ｄマップのサブセット中の候補２Ｄマップの各々に対して、位置整合手続きが実行される。すなわち、未知の２Ｄマップと候補２Ｄマップの各々との間の剛性変換が演算される。スキャン・マッチング法を含め、剛性変換を演算するための様々な技法が知られている。この用途での使用に適した実例としての１つのスキャン・マッチング法は、Ｅｄｗｉｎ  Ｏｌｓｏｎ著、表題「Ｍ３ＲＳＭ：  Ｍａｎｙ−ｔｏ−Ｍａｎｙ  Ｍｕｌｔｉ−Ｒｅｓｏｌｕｔｉｏｎ  Ｓｃａｎ  Ｍａｔｃｈｉｎｇ」、Ｐｒｏｃｅｅｄｉｎｇｓ  −  ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｒｏｂｏｔｉｃｓ  ａｎｄ  Ａｕｔｏｍａｔｉｏｎ  （Ｊｕｎｅ  ２０１５）の論文に見出すことができ、同文献は参照によってその全体が本明細書に組み込まれている。各剛性変換はロボットの位置推定と等価であるが、その理由は、これが現在のマップにおけるロボットの位置を事前マップにおけるロボットの位置に関連付けるからであり、事前マップの全体座標系における地点は既知である。実例としての他の可能なスキャン・マッチング法としては、極座標の使用、ヒストグラム・ベースの方法、特徴ベースの方法、及び反復最近傍点法が挙げられる。
【００３９】
いくつかの実施例では、５５において、剛体変換の出力に基づいて、候補２Ｄマップのセットを更にフィルタリング又は削減することができる。１つの実例では、位置整合手続きによって得られる位置整合の性能指数が低い場合、所与の候補２Ｄマップを除外してもよい。例えば、マップ間の重なり合いが少ないとき（例えば、マッチングするピクセルが１００個未満）、又は、性能指数が類似している位置整合が複数見つかる場合（このことは解の曖昧さを示している）、位置整合が棄却される場合がある。
【００４０】
各剛体変換は、ロボットの現在の地点に関する証拠を包含している。この証拠を組み合わせるための１つの方法は、粒子フィルタである。粒子フィルタの背後にある発想は、各候補軌道が高次元空間において「粒子」となるように、車両の可能な軌道のセットを維持する、というものである。各剛体変換が、各粒子が主張する信念（ｂｅｌｉｅｆ）と比較される。軌道がこれらの変換と最もよく揃う粒子には高いスコアが付き、一方、よく揃わない粒子には低いスコアが付く。最高のスコアの粒子が最も可能性の高い軌道と解釈される。粒子フィルタのこうした適用は当技術分野で知られている。
【００４１】
別法として、剛体変換のセットを最適化問題と見なすことができ、この場合目標は、変換と最もよく一致する現在の車両地点を見付けることである。ロボットの位置の最適化された推定値を決定するために、逐次非線形最小二乗アプローチを採用することができる。当技術分野で知られていることであるが、この最小二乗問題は、「ファクター・グラフ」として視覚的に描写することができ、図６で示すように、未知の値をシェーディングした円で、既知の値を空の円で、及び値同士を関連付ける等式（又は観測）をエッジで描くように、選択してもよい。好ましい実施例では、ファクター・グラフが構築される。結果的なグラフを解くことにより、ロボットに関する現時点の位置が得られる。時間とともに、ファクター・グラフにロボットの軌道に関する追加のノードが追加され、グラフを解くことによりこれらの追加の軌道点に関する位置推定値もまた得られるようになる。位置推定をグラフ解決問題として定式化することの１つの利点は、最大値混合エッジ（ｍａｘ  ｍｉｘｔｕｒｅ  ｅｄｇｅ）のような概念を解決法に組み込むことができることである。最大値混合エッジにより、システムは、例えばスキャン・マッチングの不良又はＧＰＳフィックス（ＧＰＳ  ｆｉｘ）の不良に起因する、誤った観測値を棄却して、位置推定値の急で破局的なシフトを防止することができる。粒子フィルタに対するグラフ解決手法の別の利点は、粒子の消尽が起こり得ないことである。
【００４２】
図６を参照すると、ファクター・グラフの実例が更に記載されている。グラフ中のシェーディングされたノードは、ロボットの未知の位置を表す。特に、ノード６１によってロボットの開始位置が指定されており、ノード６２によってロボットの軌道に沿った別の位置が指定されている。これらの２つのノードの間のエッジ６４は、２つの位置の間の相対移動を表す。１つの実施例では、この移動は、走行距離計又は加速度計などの搭載センサ上で値が導出される、等式のセットによって定義される。ロボットが移動するにつれ、周期的な演算間隔で、より多くの位置が未知であるノードがグラフに追加される。
【００４３】
グラフ中の残りのノード６３は、候補２Ｄマップと関連付けられた既知の位置を表す。第１の演算間隔において、剛性変換ステップから第１の候補２Ｄマップのセットに関する出力が受信され、この場合各候補２Ｄマップは、既知の位置を含む。次いでグラフに各候補２Ｄマップに関するノードが追加され、これが開始ノード６１に接続されるが、このとき対応する剛性変換は、所与の候補２Ｄマップと開始ノード６１との間のエッジの役割を果たす。言い換えれば、エッジはノード間の位置の違いを表す。１つの実施例では、この違いは、剛性変換によって出力される等式のセットによって定義される。グラフに他の因子（例えば、ＧＰＳ観測値）を組み込んでもよいが、その因子はスキャン・マッチングに関する因子よりもかなり小さく重み付けされることが企図されている。
【００４４】
ロボットは、移動していく際、周囲にあるシーンの３Ｄ点データの収集を継続し、周期的な演算間隔で新しい２Ｄマップを生成する。各新しい２Ｄマップについて、上述した位置推定処理を繰り返し、このことによりもう１つの候補２Ｄマップのセットを生成できる。第２の候補２Ｄマップのセットが、ノード６２と関連付けられる。多くの場合、候補２Ｄマップに関するノードはファクター・グラフ中に既に見出されている。これらの場合、これらのノードをノード６２に接続する新しいエッジがグラフに追加される。場合によっては、第２の候補２Ｄマップのセット中の所与の候補２Ｄマップに関するノードは、グラフ中には見られない。これらの場合、対応する新しいノードがグラフに追加される。各新しい候補２Ｄマップのセットについて、このようにしてファクター・グラフを更新できることが企図されている。
【００４５】
残念ながら、この定式化にはコストが必要となる。車両の動作時間が長くなるほどより多くのノード及びファクターがグラフ内に蓄積され、この結果、メモリ消費の増加及び解決時間（ｓｏｌｖｅ  ｔｉｍｅ）の遅れがもたらされる。過剰な蓄積を防止するために、グラフ中のノードの最大数を固定する。新しい観測の結果この閾値が超過されることになる場合には、グラフから最も古い観測値を削除して、位置推定システムが固定されたメモリ・フットプリントで及び安定した解決時間で動作できるようにする。当技術分野で知られている他のグラフ単純化アルゴリズムもまた適用可能であり、それらは本開示の範囲内にある。
【００４６】
図５に戻ると、５７において、ファクター・グラフを解くことによってロボットの未知の位置が推定される。一般的には、この問題を解くためにロバストな非線形最小二乗解法を使用することができ。そのような解法は当技術分野で容易に見つかる。実例としての１つの具体的な方法は、Ｅｄｗｉｎ  Ｏｌｓｏｎら著、表題「Ｉｎｆｅｒｅｎｃｅ  ｏｎ  Ｎｅｔｗｏｒｋｓ  ｏｆ  Ｍｉｘｔｕｒｅｓ  ｆｏｒ  Ｒｏｂｕｓｔ  Ｒｏｂｏｔ  Ｍａｐｐｉｎｇ」、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｊｏｕｒｎａｌ  ｏｆ  Ｒｏｂｏｔｉｃｓ  Ｒｅｓｅａｒｃｈ、３２（７）：８２６〜８４０頁、２０１３年６月、の論文に記載されている最大値混合の手法であり、同文献は参照によってその全体が本明細書に組み込まれている。非線形最小二乗問題を解くための他の方法もまた、本開示の範囲内にある。
【００４７】
上で指摘したように、ロボットは周囲にあるシーンの３Ｄ点データの収集を継続し、５８に示すように、周囲にあるシーンに関する新しい２Ｄマップを生成する。５９では、新しい各演算間隔において、ロボットによって位置の相対変化に関する判定が行われる。この位置の相対変化はファクター・グラフを構築するために使用されることになるもので、走行距離計又は加速度計などの搭載センサから導出することができる。更に、この位置の相対変化は、５３において、新しい候補２Ｄマップのセットを識別するために使用することができる。新しい未知の２Ｄマップ及び対応するロボットの地点が与えられると、この処理が繰り返される。
【００４８】
ファクター・グラフを漸進的に作り上げその後解くことの主要な利点は、ロボットの現在の地点についてのより多くの情報を同時に活用できることである。ファクター・グラフ中の各追加のエッジにより、適正でない測定値を識別すること、及び、個別の各エッジに対するノイズの効果を軽減することが、より容易になる。したがって、ロボットの現在の位置を、高い正確度及び高いロバスト性で見付けることが可能である。
【００４９】
いくつかの実施例では、ロボットは、ＧＰＳ及び既知のマップに対するスキャン・マッチングを含むがこれらに限定されない、ローカルからグローバルへの座標推定値を生成することのできる１つ又は複数のシステムを有してもよい。これらの推定値を統合する課題を、同時位置推定及び地図生成問題の解決と等価なものとして定式化することが便利な場合がある、すなわち、ローカルからグローバルへの各推定法は、一定量の信頼度が置かれるノイズの多い観測値を生み出す。この場合、これらの個別の推定値間の誤差を最小にすることによって、最尤推定値（ＭＥＬ：Ｍａｘｉｍｕｍ  Ｌｉｋｅｌｉｈｏｏｄ  Ｅｓｔｉｍａｔｅ）を見付けることができる。
【００５０】
上記した地図生成及び位置推定技法の実験結果について検討する。実例としてのシステムのバリエーションを、２つのプラットフォーム、すなわちＳｍａｒｔＣａｒｔｓ自律型ゴルフ・カートと、ＭＡＧＩＣ２．０マッピングロボットと、で展開した：。いずれのプラットフォームも、クロック周波数が２．８ＧＨｚでＲＡＭが８ＧＢのＩｎｔｅｌ  ｉ７−４９００ＭＱを装備した、Ｕｂｕｎｔｕ  １４．０４ラップトップで駆動される。
【００５１】
２Ｄ構造分類を、２つのシーンで検証した、すなわち、１つは、危険要因検出閾値マップが実世界の傾斜を有する障害物によく適合していることを実証するためのものであり、もう１つは、部分的な遮蔽が存在しても広範囲の垂直構造を分類できることを検証するためのものである。
【００５２】
提案された方法が実世界のナビゲーション危険要因間の区別を適正に行えることを証明するために、傾斜度１０、１４．５、及び１６°の斜面を包含するシーンを創出した。これらの角度は、実例としての１５°の危険要因閾値と近くなるように選択した。１０及び１４．５°の傾斜が安全であるとしてマークされる一方、１６°の傾斜は危険要因であるとしてマークされることが、予想される。ロボットは、数メートル離れたところから、斜面をその低い方の地面レベルの端部から見て、シーンを取り込んだ。地形分類指標は、閾値に基づいて予想されるように、１０°の斜面を運転可能として、及び１６°の斜面を危険要因であるとして、マークすることに成功した。センサ・ノイズに起因して、１４．５°の傾斜の複数の部分もまた、危険要因であるとしてマークされた。このことは、危険要因検出システムは適正に機能しているが、ノイズに対して完全にロバストなわけではないことを実証している。
【００５３】
提案した方法が、部分的に遮蔽された構造についての情報を保持でき、スキャン・マッチング用の有用な特徴がマップから除去されないことが保証されることを実証するために、追加のシーンを設定した。このシーンは、高さの低い順に並べられて均等に離間された、高さが０．１ｍから１ｍの範囲の、いくつかの垂直構造から成るものであった。ロボットを、より高い構造がより短い構造によって部分的に見えなくなるような状態で、このシーンを端から見るように、配置した。
【００５４】
図７に見られるように、ロボットの前方に構造の５つの帯がはっきりと見えている。最も小さい物体である高さ０．１ｍのボックスには、ＬｉＤＡＲ照射（ＬｉＤＡＲ  ｓｔｒｉｋｅ）のただ１つの帯域しか当たらなかった。この結果、その垂直面は検出されず、危険要因となる、ＳＬＡＭ化不可能な構造としてしかマークされなかった。しかしながら、残りの構造は、ｓｌａｍ化可能としてマークされるのに十分な垂直度を有するとして適正に識別され、グリッド・マップ内に正確に配置された。このことは、提案したアルゴリズムが、環境中の垂直構造を２Ｄスキャン・マッチングにおいて使用するために適正に識別及び表示できることを示している。
【００５５】
２Ｄ保存の１つの利点は、マップ表現のコンパクトさである。占有グリッド実装では、各セル用の分類ラベルは単一のバイトを使用して保存され、各セルは世界の中の５×５ｃｍのエリアに対応している。図８Ａ及び８Ｂに、ＳＬＡＭシステムが作り出す事前マップを見ることができる。このマップは７４×８５ｍの領域をカバーしている。このマップは圧縮されていない状態で、２．５ＭＢのスペースしか占めない。しかしながら、この表現は単純であるため良好に圧縮を行うことができる。マップはｇｚｉｐの適用後、たった８４ｋＢまで圧縮される。このことは予想と一致しており、マップは圧縮が容易な開放空間の大きな領域を包含している。
【００５６】
更に、屋内／屋外両用に設計されたシステムであるＭＡＧＩＣ２．０プラットフォーム上で、位置推定経路を試験した。ＭＡＧＩＣ２．０ロボットには、ＭＥＭＳグレードのジャイロと、ホイール・エンコーダと、地上約０．６ｍに装着されたＶｅｌｏｄｙｎｅ社のＶＰＬ−１６と、を装備した。光ファイバ・ジャイロ（ＦＯＧ：ｆｉｂｅｒ−ｏｐｔｉｃ  ｇｙｒｏ）を使用して、建造物の１回の通過のスケールにわたって、グラウンド・トゥルースに近い向き推定値を取得した。手動による個別の走行のログに基づいて、本発明者らの建造物の３階のマップを、位置推定システムで生成及び評価した。図８Ａ及び８Ｂに、開ループの姿勢に関する結果、及びこれに対する修正したグローバルの姿勢に関する結果を見ることができる。開ループ走行距離計測法でドリフトが生じても、位置推定システムはこれらの誤差を修正して、ロボットを常に廊下の中央に維持することができる。
【００５７】
次に、ＳＬＡＭシステムの様々な部分を、θにわたる回転を測定するＦＯＧのグラウンド・トゥルースからの結果と対比して、数値的に評価した。様々な占有グリッド生成経路を採用した場合に、ＦＯＧのθ推定値と位置推定によって得られたグローバルな推定値とを対比することによって、実施するのに最良の特徴の組み合わせ及び適切なパラメータ化が特定される。位置推定の品質を定量化するために、個別の時間幅でサンプリングされたシータ誤差の分布を提示し、０．００５ラジアン（およそ０．２５°に等しい）の角度誤差幅でビンした。
【００５８】
最初に、この傾斜度ベースの方法における、垂直構造検出のための様々な閾値設定の影響を調べた。過剰に高い及び低い値はスキャン・マッチング結果に好ましくない影響を与え、この結果位置推定の品質が低くなると予想される。構造閾値を７０、８０、及び８５°に設定して、本発明者らの試験環境の走行について位置推定の試験を行った。観測された角度誤差の結果的な分布を、図９に見ることができる。
【００５９】
中間の閾値である８０°が最も良好に機能することが分かる。これは本発明者らの予想と一致している。８５°の閾値に基づいて構築したマップは、おそらくはセンサ・ノイズに起因して、垂直構造をマークする頻度が低い。スキャン・マッチング部は、構造のマッチングを制約するには構造が少ないか又は不十分である場合、得られるマッチングの品質が結果的に低い。対照的に、７０°の閾値は許容範囲が広過ぎ、非垂直構造がマークされており、場合によっては垂直構造が拡張されている。スキャン・マッチング部による良好なマッチングの獲得は明瞭簡潔な（ｃｒｉｓｐ）構造に依存しており、したがってこの拡張はマッチング（及びしたがって位置推定）品質を損なう。
【００６０】
次に、フィル・インを行う傾斜度法及び行わない傾斜度法と比較した、コンパクトな極座標ベースのｐｏｐｃｏｕｎｔ法を採用する影響を調べた。フィル・インにより性能が上がると予想されるが、その理由は、スキャン・マッチング部が離れた観測値をより効果的にマッチングさせることができるからである。極座標系の方法及びデカルト座標系の方法は、その他の点では同様の性能であると予想される。
【００６１】
各方法について、最高の条件の性能が提供されるようにビン・サイズ・パラメータを微調整した。傾斜度法については、グリップ分解能を５ｃｍに設定し、ｓｌａｍ化可能閾値を８０°に設定した。フィル・インは、使用する場合、互いから２５ｃｍ以内の点に対して実行した。極座標系のｐｏｐｃｏｕｎｔ法は、θが幅０．５°、距離（ｒａｎｇｅ）が５ｃｍのビンを有するように設定した。少なくとも２ビットがマークされている構造をビンに入れマークした。観測された角度誤差の結果的な分布を、図１０に見ることができる。
【００６２】
フィル・インは傾斜度ベースの方法に対して予想通りの影響を有し、誤差の分布がより０°近くにシフトした。予想されていなかったが、極座標系のｐｏｐｃｏｕｎｔは両傾斜度法よりも著しく性能が悪く、２．５°を超えて誤差が大きく尾を引いている。このことが、極座標系の枠におけるビン・サイズが大きな距離でより拡開することに起因していると仮定する。ビンの自然な拡開はスキャン・マッチングに好ましくない影響を与えるが、その理由は、長距離の観測値がますます広いエリアに広がってぼやけてしまうからである。このことは、結果に見られるより大きい角度誤差として現れている。
【００６３】
最後に、先の分析からの本発明者らの最良の方法と、開ループのＭＥＭｓ走行距離計測法との間の比較を提示する。走行距離計測法ベースの推定値は、最初にグローバル座標枠と位置整合されるが、その後は自然なドリフトに任せられる。これらの結果は図１１に見ることができる。
【００６４】
ロボットのＭＥＭｓグレードのＩＭＵに基づいて得られたθ推定値は、建造物の１０分の走行にわたって大きくドリフトし、ほぼ９°の最大誤差を蓄積する。逆に、傾斜度ベースの構造マップに基づく２Ｄスキャン・マッチングは、時間の８７％でグラウンド・トゥルースから１°、時間の９７％で１．５°でロボットの位置を推定することができ、最悪の場合でもグラウンド・トゥルースからたった２．５°未満しか逸脱しない。
【００６５】
本発明者らのＳｍａｒｔＣａｒｔｓ自律型ゴルフ・カートのプラットフォーム上で、位置推定経路を屋外試験した。車両には、ヨー推定用ＦＯＧと、左後輪上のエンコーダと、スキャン・マッチング用のＶｅｌｏｄｙｎｅ社のＨＤＬ−３２Ｅと、を装備した。手で描きこんだレーンを試験前に集めた環境のＳＬＡＭマップと重ね合わせた。その後ロボットを開始位置まで駆動し、道路ネットワーク中のいくつかのウェイポイントの間で自律的に駆動するようタスクを与えた。開ループの走行距離計測法では、ＦＯＧのような高品位のセンサを用いる場合でさえ、時間をかけて誤差が蓄積される。スキャンを２Ｄ構造マップに対してマッチングさせることによってこの誤差が補正されるが、試験の間を通してこのＳｍａｒｔＣａｒｔをそのレーン内に維持される。
【００６６】
本開示では、３Ｄ式ＬｉＤＡＲセンサによって提供されるリッチな構造データを利用するが、演算及び保存の効率は２Ｄ方法のものである、位置推定システムが提示される。３Ｄ式ＬｉＤＡＲから２Ｄスキャン・マッチングをサポートする２Ｄ構造情報を抽出するための２つの方法、並びにＧｒａｐｈ−ＳＬＡＭアルゴリズムに基づく位置推定方法を導入した。これらの方法の性能は実世界のシステムにおいて定量化され、ＦＯＧから得られる高品質の推定値に対して、予測された向き推定値が評価される。
【００６７】
上記の記載のいくつかの部分は、本明細書に記載する技法を、情報に対する操作のアルゴリズム及び記号的表現の観点から提示している。アルゴリズムに基づいたこれらの記載及び表現は、データ処理技術の当業者が自身の取り組みの本質を他の当業者に最も効果的に伝えるために使用する手段である。これらの動作は、機能の観点で又は論理の観点で記載されているが、コンピュータ・プログラムによって実装されるものと理解される。更に、場合によっては動作のこれらの構成を、モジュール、又は機能に関する名称で呼称すると、一般性を失うことなく、都合がよいことも分かっている。
【００６８】
そうではないと明確に述べられていない限り、上記の考察から明らかであるように、記載の全体を通して、「処理する」又は「演算する」又は「計算する」又は「判定する」又は「表示する」などのような用語を利用する考察は、コンピュータ・システムのメモリ又はレジスタ又は他のそのような情報記憶、伝送、若しくは表示デバイス内の物理（電子）量として表されているデータを、コンピュータ・システム又は類似の電子演算デバイスが操作及び変換する動作及び処理を指していることが諒解される。
【００６９】
記載されている技法の特定の態様は、本明細書においてアルゴリズムの形態で記載されている処理ステップ及び命令を含む。記載されている処理ステップ及び命令を、ソフトウェア、ファームウェア、又はハードウェアにおいて具現化でき、ソフトウェアにおいて具現化される場合、リアルタイム・ネットワークのオペレーティング・システムによって使用される異なるプラットフォーム上にダウンロードして常駐させ、そこから動作させることが可能であることに、留意すべきである。
【００７０】
本開示はまた、本明細書中の動作を実行するための装置にも関する。この装置は、要求される目的に合わせて特別に構築されてもよく、又は、コンピュータがアクセス可能なコンピュータ可読媒体に保存されたコンピュータ・プログラムによって選択的に起動若しくは又は構成変更される、汎用コンピュータを備えてもよい。かかるコンピュータ・プログラムは、限定するものではないが、フロッピー（登録商標）・ディスク、光学ディスク、ＣＤ−ＲＯＭ、磁気−光学ディスクを含む、任意のタイプのディスク、読み出し専用メモリ（ＲＯＭ：ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、ランダム・アクセス・メモリ（ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気カード若しくは光学カード、特定用途向け集積回路（ＡＳＩＣ：ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）、又は電子的命令を保存するのに好適な任意のタイプの媒体などの、有形のコンピュータ可読記憶媒体に保存することができ、いずれもコンピュータ・システムのバスに結合される。更に、本明細書において言及されるコンピュータは、単一のプロセッサを含み得るか、又は、演算能力を高めるための複数プロセッサ設計を採用するアーキテクチャであり得る。
【００７１】
本明細書に提示するアルゴリズム及び動作は、どのような特定のコンピュータ又は他の装置とも本来的な関連を有さない。本明細書の教示に従うプログラムを有する様々な汎用システムを使用することもでき、又は、要求される方法ステップを実行することにより特化された装置を構築するのが便利である場合もある。これらの様々なシステムに要求される構造、並びに等価な変形は、当業者には明らかであろう。更に、本開示は、記載にあたってどのような特定のプログラミング言語も参照していない。本明細書に記載されているような本開示の教示を実装するために、様々なプログラム原語を使用できることが諒解される。
【００７２】
実施例の前述の説明は、例示及び説明のために与えられている。網羅的であること又は本開示を限定することは意図されていない。特定の実施例の個々の要素又は特徴は、一般にその特定の実施例に限定されず、適切であれば、入れ替え可能であり、特定的に示されていない又は記載されていない場合でも、ある選択した実施例において使用することができる。それらはまた、多くの点で変更されてもよい。そのような変更は本開示からの逸脱と見なすべきではなく、そのような修正は全て、本開示の範囲内に含まれることが意図されている。
【図１】
2020508506.tif 000003
【図２Ａ】
2020508506.tif 000004
【図２Ｂ】
2020508506.tif 000005
【図３Ａ】
2020508506.tif 000006
【図３Ｂ】
2020508506.tif 000007
【図４】
2020508506.tif 000008
【図５】
2020508506.tif 000009
【図６】
2020508506.tif 000010
【図７】
2020508506.tif 000011
【図８Ａ】
2020508506.tif 000012
【図８Ｂ】
2020508506.tif 000013
【図９】
2020508506.tif 000014
【図１０】
2020508506.tif 000015
【図１１】
2020508506.tif 000016
【手続補正書】
【提出日】令和1年9月26日(2019.9.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
シーンの３次元点データを受信することと、
前記シーンの地面を複数のセルへと区画化することと、
前記３次元点データからの点を前記複数のセル内へと射影することと、
前記複数のセル中の各セルについて、前記セル内で前記点が生じる高さを記録することであって、前記高さは、列ベクトルで記録され、前記列ベクトル中の各要素は、異なる高さの範囲に対応している、記録することと、
前記複数のセル中の各セルについて、前記複数のセルにルール・セットを適用することによって、前記セル内の前記点の特性を判定することと、
前記複数のセル中の各セル内で判定された前記特性から、前記シーンの２次元表現を生成することと
を含む、シーン中の構造の２次元表現を生成する方法。
【請求項２】
前記３次元点データをＬｉＤＡＲセンサから取り込むことを更に含む、請求項１に記載の方法。
【請求項３】
前記セル内で前記点が生じる高さを記録することは、高さを列ベクトルの要素へと量子化し、このことにより複数のベクトル列を形成することを含み、前記列ベクトル中の各要素は、基準点よりも上にある異なる高さの範囲に対応している、請求項１に記載の方法。
【請求項４】
列ベクトルの要素において高さを量子化することは、所与の要素における点の存在又は不在を二値数としてコード化することを更に含む、請求項３に記載の方法。
【請求項５】
列ベクトル中の要素の数は、処理ユニットの整数データ型のサイズ以下である、請求項３に記載の方法。
【請求項６】
各セルは、前記列ベクトル中の各ビットの値をシフトさせる高さオフセット値を含む、請求項３に記載の方法。
【請求項７】
所与のセル内の前記点の特性を、前記所与のセルに対してポピュレーション・カウントを実行することによって判定することを更に含む、請求項３に記載の方法。
【請求項８】
所与のセル内の前記点の特性を、前記所与のセルに対するビットＡＮＤ及びポピュレーション・カウントのシークエンスを通して判定することを更に含む、請求項３に記載の方法。
【請求項９】
前記点が生じる高さを記録することは、所与の列ベクトルによって定義された前記高さの範囲外にある新しい点を受信することと、前記所与の列ベクトル中の要素をビット・シフトさせることによって前記高さの範囲を調整することと、を更に含む、請求項３に記載の方法。
【請求項１０】
前記複数のセルにルール・セットを適用することによって、セル内の前記点の特性を判定することであって、前記ルール・セットは、静止した構造を前記シーン内で検出された他の物体から区別する、判定すること、を更に含む、請求項１に記載の方法。
【請求項１１】
移動可能な物体の位置を判定するための方法であって、
前記移動可能な物体の周囲にあるシーンの３次元点データを収集することと、
前記シーン内で検出された任意の構造の垂直度を列ベクトルで表すことによって、前記３次元点データを前記シーン内の現在の構造の２次元マップに変換することであって、前記列ベクトル中の各要素は、基準点よりも上にある異なる高さの範囲に対応している、変換することと、
前記現在の２次元マップを２次元候補マップのセットのうちの１つ又は複数とマッチングさせることであって、前記２次元候補マップのセット中の各２次元候補マップはグローバル座標を含む、マッチングさせることと、
１つ又は複数のマッチングした２次元候補マップを使用して、前記移動可能な物体の位置を判定することと、を含む、方法。
【請求項１２】
前記３次元点データを２次元マップに変換することは、
前記シーンの地面を複数のセルへと区画化することと、
前記３次元点データからの点を前記複数のセル内へと射影することと、
前記複数のセル中の各セルについて、前記セル内で前記点が生じる高さを記録することと、
前記複数のセル中の各セルについて、前記セル内の前記点の特性を判定することと、
前記複数のセル中の各セル内で判定された前記特性から、前記シーンの２次元表現を生成することと、
を含む、請求項１１に記載の方法。
【請求項１３】
前記セル内で前記点が生じる高さを記録することは、高さを列ベクトルの要素へと量子化し、このことにより複数のベクトル列を形成することを含み、前記列ベクトル中の各要素は、基準点よりも上にある異なる高さの範囲に対応している、請求項１２に記載の方法。
【請求項１４】
前記現在の２次元マップを２次元候補マップのセットのうちの１つ又は複数とマッチングすることは、
前記移動可能な物体の現在の位置を推定することと、
前記移動可能な物体の前記現在の位置を使用して、複数の所定の２次元マップから、前記２次元候補マップのセットを識別することと、を含む、請求項１１に記載の方法。
【請求項１５】
前記現在の２次元マップを２次元候補マップのセットのうちの１つ又は複数とマッチングさせることは、前記現在の２次元マップを前記２次元候補マップのセット中の各２次元候補マップと位置整合させ、このことにより前記２次元候補マップのセット中の各２次元候補マップと関連させて、前記現在の２次元マップに関する地点推定値を決定することを含む、請求項１１に記載の方法。
【請求項１６】
前記現在の２次元マップを前記２次元候補マップのセット中の各２次元候補マップと位置整合させることは、前記現在の２次元マップと前記２次元候補マップのセット中の各２次元候補マップとの間の剛性変換を演算することを含む、請求項１５に記載の方法。
【請求項１７】
前記移動可能な物体の位置を判定する前記ステップの前に、前記現在の２次元マップとの位置整合に基づいて前記２次元候補マップのセットをフィルタリングすることを更に含む、請求項１６に記載の方法。
【請求項１８】
粒子フィルタを使用して前記移動可能な物体の位置を判定することを更に含む、請求項１５に記載の方法。
【請求項１９】
前記移動可能な物体の位置を判定することは、
前記２次元候補マップのセット中の各２次元候補マップと関連している前記現在の２次元マップに関する前記地点推定値を使用して、ファクター・グラフを構築することであって、前記ファクター・グラフ中のノードは、前記移動可能な物体の既知及び未知の位置を表し、前記ファクター・グラフ中のエッジは、ノードの値を互いに関連させる観測を表す、構築することと、
非線形最小二乗法を使用してファクター・グラフを解くことと、を含む、請求項１５に記載の方法。
【請求項２０】
様々な位置において前記シーンの３次元点データを収集することと、前記ステップを繰り返して前記様々な位置において前記移動可能な物体の位置を判定することと、を更に含む、請求項１１に記載の方法。
【国際調査報告】
2020508506.tif 000017
2020508506.tif 000018
2020508506.tif 000019