(57)【要約】【課題】外部から提供されるマップのみに依存することなくモバイルプラットフォーム向けの自律ナビゲーションを実現する。【解決手段】モバイルプラットフォームによって支持される第１のセンサからのデータに基づいて該モバイルプラットフォームの近傍内の環境を示すリアルタイムの環境情報を取得し、前記第１のセンサおよび前記モバイルプラットフォームにより支持されるおよび第２のセンサの少なくとも１つから取得されたセンサデータに基づいてナビゲーション特徴を検出し、該ナビゲーション特徴に対応する情報を少なくとも環境情報と統合して、ローカルナビゲーションマップを生成し、生成されたローカルナビゲーションマップに基づいて、前記モバイルプラットフォームの動きを制御するためのナビゲーションコマンドを生成する。【選択図】  図２
2020135874.tif 000002
【特許請求の範囲】
【請求項１】
自律ビークルを制御するためのコンピュータにより実施される方法であって、
（ａ）自律ビークルの近傍にある環境の少なくとも一部を示す３次元（３Ｄ）環境情報と、
（ｂ）前記自律ビークルによって支持される視覚センサおよび慣性センサから取得されたデータに少なくとも部分的に基づいて、リアルタイムでの前記３Ｄ環境情報に対する前記自律ビークルの位置および向きの少なくともいずれかと、
を決定することと、
前記自律ビークルにより支持される１つまたは複数のセンサから取得されたセンサデータに少なくとも部分的に基づいて、車線、エッジライン、ガイドライン、横断歩道、信号、交通標識、ガイドボード、ナビゲーション可能な表面または空間、静止障害物、または移動障害物の少なくとも１つを含むナビゲーション特徴を検出することと、
前記ナビゲーション特徴に対応する情報を少なくとも前記３Ｄ環境情報と統合してローカルナビゲーションマップを生成することと、
（ａ）生成されたローカルナビゲーションマップおよび（ｂ）前記自律ビークルの決定された位置および方向の少なくともいずれかに少なくとも部分的に基づいて、前記自律ビークルのアクションを決定することと、
決定されたアクションに従って前記自律ビークルを移動させることと、
を備える方法。
【請求項２】
前記１つ以上のセンサは、視覚センサおよび慣性センサの少なくとも１つを含む、請求項１に記載の方法。
【請求項３】
モバイルプラットフォームを制御するためのコンピュータにより実施される方法であって、
前記モバイルプラットフォームによって支持される第１のセンサから受信したデータに少なくとも部分的に基づいて、前記モバイルプラットフォームの近傍内の環境の少なくとも一部を示すリアルタイムの環境情報を取得することと、
少なくとも部分的に、前記モバイルプラットフォームにより支持される第１および第２のセンサの少なくとも１つから取得されたセンサデータに少なくとも部分的に基づいてナビゲーション特徴を検出することと、
ナビゲーション特徴に対応する情報を少なくとも前記環境情報と統合して、ローカルナビゲーションマップを生成することと、
生成されたローカルナビゲーションマップに少なくとも部分的に基づいて、前記モバイルプラットフォームの動きを少なくとも部分的に制御するための１つまたは複数のナビゲーションコマンドを生成することと、
を備える方法。
【請求項４】
前記環境情報は深度情報を含む、請求項３に記載の方法。
【請求項５】
前記環境情報は、前記モバイルプラットフォームの近傍内の前記環境の少なくとも一部の３Ｄ表現に対応する、請求項３に記載の方法。
【請求項６】
前記第１のセンサは、ＬｉＤＡＲセンサまたはステレオカメラのうちの少なくとも１つを含む、請求項３に記載の方法。
【請求項７】
前記第２のセンサは、カメラ、ＬｉＤＡＲセンサ、超音波センサ、およびレーダーのうちの少なくとも１つを含む、請求項３に記載の方法。
【請求項８】
前記ナビゲーション特徴は、レーンマーキング、エッジライン、ガイドライン、横断歩道、信号機、交通標識、ガイドボード、ナビゲーション可能な表面または空間、静止障害物、および移動障害物のうちの少なくとも１つを含む、請求項３に記載の方法。
【請求項９】
ナビゲーション特徴を検出することは、少なくとも部分的に、１つ以上の人工ニューラルネットワークをセンサデータに適用することに基づく、請求項３に記載の方法。
【請求項１０】
前記ナビゲーション特徴に対応する情報を少なくとも前記環境情報と統合することは、少なくとも前記ナビゲーション特徴のサブセットを前記環境情報の１つ以上の部分に関連付けることを含む、請求項３に記載の方法。
【請求項１１】
前記ナビゲーション特徴に対応する情報を少なくとも前記環境情報と統合することは、リアルタイムで実行される、請求項３に記載の方法。
【請求項１２】
前記ナビゲーション特徴に対応する情報を少なくとも前記環境情報と統合することは、少なくとも部分的に、前記モバイルプラットフォームによって支持される少なくとも２つのセンサに関連付けられた参照システム間の空間的変換および時間的変換の少なくともいずれかに基づく、請求項３に記載の方法。
【請求項１３】
前記ナビゲーション特徴に対応する情報を少なくとも前記環境情報と統合することは、少なくとも部分的に、前記モバイルプラットフォームの推定された位置および方向の少なくともいずれかに基づく、請求項３に記載の方法。
【請求項１４】
前記推定された位置および方向の少なくともいずれかは、１つまたは複数の精度基準を満たす、請求項１３に記載の方法。
【請求項１５】
前記ナビゲーション特徴は第１のナビゲーション特徴であり、少なくとも１つの所定のナビゲーションマップに少なくとも部分的に基づいて第２のナビゲーション特徴を取得することをさらに含む、請求項３に記載の方法。
【請求項１６】
前記所定のナビゲーションマップに対する前記モバイルプラットフォームの位置を決定することをさらに含む、請求項１５に記載の方法。
【請求項１７】
前記モバイルプラットフォームの前記決定された位置の近傍内の前記所定のナビゲーションマップから前記第２のナビゲーション特徴を取得することをさらに含む、請求項１６に記載の方法。
【請求項１８】
前記第２のナビゲーション特徴を少なくとも前記環境情報と統合して、前記ローカルナビゲーションマップを生成することをさらに含む請求項１５に記載の方法。
【請求項１９】
所定のナビゲーションマップに基づいて前記モバイルプラットフォームを制御するための行動予測を取得することをさらに含む、請求項３に記載の方法。
【請求項２０】
前記行動予測は、前記モバイルプラットフォームの閾値距離内での車線変更、停止、および方向転換のうちの少なくとも１つの予測を含む、請求項１９に記載の方法。
【請求項２１】
１つ以上のナビゲーションコマンドを生成することは、前記行動予測にさらに基づく、請求項１９に記載の方法。
【請求項２２】
前記モバイルプラットフォームは、無人航空機（ＵＡＶ）、有人航空機、自律車両、自己平衡化車両、およびロボットのうちの少なくとも１つを含む、請求項３に記載の方法。
【請求項２３】
請求項３から請求項２２のいずれか一項に記載の方法をコンピュータに実行させるためのプログラム。
【請求項２４】
請求項３から請求項２２のいずれか一項に記載の方法に従って車両の１つまたは複数の動きを少なくとも部分的に制御するようにプログラムされたコントローラを含むビークル。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、自律ナビゲーションの技術分野に関し、より具体的には、モバイルプラットフォーム用のローカルセンシングベースの自律運動を対象とする。
【背景技術】
【０００２】
通常、自動運転車は、自動運転機能を実行するために、外部から提供される高精度のマップへのアクセスに依存している。外部の高精度マップは通常、データ収集車などの他のソースによって収集されたデータから事前に生成される。たとえば、データ収集車には、事前に計画されたルートに沿って道路をスキャンして画像データを収集するステレオカメラを含めることができ、これを（位置データを含む）高精度ＧＰＳオーバーレイと組み合わせて地域、国、または世界の３次元（３Ｄ）モデルを形成することができる。３Ｄモデルに基づいて、レーンマーキング、ナビゲーション可能エリアなどの基本的なナビゲーション特徴に自動または半自動のラベルを付けて、自動運転の基本的な「真の値」を提供できる。外部の高精度マップに依存して、車両の自動運転システムは通常、動的な障害物の検出と追跡に計算リソースを集中させ、車両を「運転」またはそれ以外の方法でナビゲートできるようにする。
【０００３】
しかしながら、外部から提供されたマップへのアクセスに依存すると、さまざまな欠点が生じる上、柔軟性がなくなる場合がある。したがって、モバイルプラットフォーム向けの自律ナビゲーションの改善されたシステムが必要とされている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１１２６４４
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、外部の高精度マップに依存することなくモバイルプラットフォーム向けの自律ナビゲーションを実現することを主な目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１の側面によれば、自律ビークルを制御するためのコンピュータにより実施される方法が提供され、前記方法は、
（ａ）自律ビークルの近傍にある環境の少なくとも一部を示す３次元（３Ｄ）環境情報と、
（ｂ）前記自律ビークルによって支持される視覚センサおよび慣性センサから取得されたデータに少なくとも部分的に基づいて、リアルタイムでの前記３Ｄ環境情報に対する前記自律ビークルの位置および向きの少なくともいずれかと、
を決定することと、
前記自律ビークルにより支持される１つまたは複数のセンサから取得されたセンサデータに少なくとも部分的に基づいて、車線、エッジライン、ガイドライン、横断歩道、信号、交通標識、ガイドボード、ナビゲーション可能な表面または空間、静止障害物、または移動障害物の少なくとも１つを含むナビゲーション特徴を検出することと、
前記ナビゲーション特徴に対応する情報を少なくとも前記３Ｄ環境情報と統合してローカルナビゲーションマップを生成することと、
（ａ）生成されたローカルナビゲーションマップおよび（ｂ）前記自律ビークルの決定された位置および方向の少なくともいずれかに少なくとも部分的に基づいて、前記自律ビークルのアクションを決定することと、
決定されたアクションに従って前記自律ビークルを移動させることと、
を備える。
【０００７】
本発明の第２の側面によれば、コンピュータにより実施される、モバイルプラットフォームを制御するための方法が提供され、前記方法は、
前記モバイルプラットフォームによって支持される第１のセンサから受信したデータに少なくとも部分的に基づいて、前記モバイルプラットフォームの近傍内の環境の少なくとも一部を示すリアルタイムの環境情報を取得することと、
少なくとも部分的に、前記モバイルプラットフォームにより支持される第１および第２のセンサの少なくとも１つから取得されたセンサデータに少なくとも部分的に基づいてナビゲーション特徴を検出することと、
ナビゲーション特徴に対応する情報を少なくとも前記環境情報と統合して、ローカルナビゲーションマップを生成することと、
生成されたローカルナビゲーションマップに少なくとも部分的に基づいて、前記モバイルプラットフォームの動きを少なくとも部分的に制御するための１つまたは複数のナビゲーションコマンドを生成することと、
を備える。
【０００８】
本発明の第３の側面によれば、上記方法をコンピュータに実行させるためのプログラムが提供される。
本発明の第４の側面によれば、モバイルプラットフォームに関連付けられた１つまたは複数のプロセッサに読み取られて以下の手順を前記プロセッサに実行させるコンピュータ実行可能命令を格納する非一時的なコンピュータ読み取り可能な記憶媒体が提供される：
モバイルプラットフォームによって支持される第１のセンサから受信したデータに少なくとも部分的に基づいて、前記モバイルプラットフォームの近傍内の環境の少なくとも一部を示すリアルタイムの環境情報を取得する手順、
少なくとも部分的に、前記モバイルプラットフォームにより支持される第１センサおよび第２センサの少なくとも１つから取得されたセンサデータに少なくとも部分的に基づいてナビゲーション特徴を検出する手順、
ナビゲーション特徴に対応する情報を少なくとも前記環境情報と統合して、ローカルナビゲーションマップを生成する手順、および、
生成されたローカルナビゲーションマップに少なくとも部分的に基づいて、前記モバイルプラットフォームの動きを少なくとも部分的に制御するための１つまたは複数のナビゲーションコマンドを生成する手順。
【０００９】
本発明の第５の側面によれば、上記方法に従って車両の１つまたは複数の動きを少なくとも部分的に制御するようにプログラムされたコントローラを含むビークルが提供される。
【００１０】
さらに、本発明の第６の側面によれば、ビークルの１つまたは複数の動きを少なくとも部分的に制御するようにプログラムされたコントローラを含むビークルが提供される。
前記プログラムされたコントローラは、
モバイルプラットフォームによって支持される第１のセンサから受信したデータに少なくとも部分的に基づいて、前記モバイルプラットフォームの近傍内の環境の少なくとも一部を示すリアルタイムの環境情報を取得し、
少なくとも部分的に、前記モバイルプラットフォームにより支持される第１センサおよび第２のセンサの少なくとも１つから取得されたセンサデータに少なくとも部分的に基づいてナビゲーション特徴を検出し、
ナビゲーション特徴に対応する情報を少なくとも前記環境情報と統合して、ローカルナビゲーションマップを生成し、
生成されたローカルナビゲーションマップに少なくとも部分的に基づいて、前記モバイルプラットフォームの動きを少なくとも部分的に制御するための１つまたは複数のナビゲーションコマンドを生成する、
ように構成される１つまたは複数のプロセッサを含む。
【発明の効果】
【００１１】
本発明のいくつかの実施形態によれば、外部の高精度マップに依存することなく、堅牢で効率的な自律ナビゲーションを実現することができる。
【図面の簡単な説明】
【００１２】
【図１】本開示技術のいくつかの実施形態に従って構成された要素を有する代表的なシステムの概略図の一例である。
【図２】本開示技術のいくつかの実施形態による、ローカルナビゲーションマップに基づく自律ナビゲーションのための方法を示すフローチャートである。
【図３】本開示技術のいくつかの実施形態による、ローカルセンサデータおよび所定のナビゲーションマップに基づいてローカルナビゲーションマップを生成する方法を示すフローチャートである。
【図４】本開示技術のいくつかの実施形態による、ローカルナビゲーションマップおよび所定のナビゲーションマップに基づいてモバイルプラットフォームのアクションを決定する方法を示すフローチャートである。
【図５】本開示技術のいくつかの実施形態による、点群形式の３Ｄ環境情報の例示的表現を示す。
【図６】本開示技術のいくつかの実施形態による、モバイルプラットフォームによって支持されるセンサから取得されたセンサデータの例を示す。
【図７】図６のセンサデータから本開示技術のいくつかの実施形態に従い検出されるナビゲーション特徴の一例を示す。
【図８】本開示技術の様々な実施形態に従って構成されたモバイルプラットフォームの例を示している。
【図９】本開示技術の様々な部分を実装するために利用できるコンピュータシステムまたは他の制御デバイスのアーキテクチャの例を示すブロック図である。
【図１０】図１に示すシステムに実装された、本開示技術のいくつかの実施形態による例示的なアーキテクチャを示す図である。
【発明を実施するための形態】
【００１３】
本明細書で紹介する技術は、添付の図面と併せて以下の詳細な説明を参照することにより、より充分に理解することができる。
【００１４】
図面において同一または対応する要素・部材には同一の参照符号を付し、その重複説明は適宜省略する。また、図中の各部材の形状・サイズについては、説明を容易にするため、適宜拡大・縮小・省略するために現実の縮尺・比率とは合致していない場合がある。また、図面の説明においても、紙面の上下方向に即してそれぞれ「上」「下」の用語を便宜的に用いるために、重力加速度の方向と一致しない場合がある点に留意されたい。また、「実質的に」の用語は、測定誤差をも含む趣旨で使用される。
【００１５】
また、以下で使用される第１、第２等のような用語は、同一又は相応する構成要素を区別するための識別記号に過ぎなく、同一又は相応する構成要素が、第１、第２等の用語によって限定されるものではない。
【００１６】
さらに、結合とは、各構成要素間の接触関係において、各構成要素間に物理的に直接接触される場合だけを意味するのではなく、他の構成が各構成要素間に介在され、その他の構成に構成要素がそれぞれ接触されている場合まで含む概念である。
【００１７】
外部の高精度マップと高精度GPSは、自動運転車両に自動運転やその他のナビゲーション用のデータを提供する場合があるが、（例えば屋内の環境など）GPS信号が弱いかまたは望ましくないなどの理由で高精度マップが利用できない場合がある。これらの状況により、自律ナビゲーションが機能しなくなったり、無効になったりする可能性がある。さらに、外部の高精度マップに依存すると、少なくとも以下の欠点がある。
【００１８】
1. たとえば、高精度のデータ（たとえば、誤差がセンチメートル以下に制限されている）を通常、多数のソースからの比較的高価なセンサで収集する必要があるため、オフラインで高精度のマップを作成するとコストがかかる。
【００１９】
2. 高精度マップの更新と維持は、たとえば、現在の環境の正確な反映を提供するためにマップを通常頻繁に更新および維持する必要があるため、コストがかかる可能性がある。
【００２０】
3. （たとえば、マップが時間内に更新されず、自動車両にダウンロードされず、アクセスできないなどにより）高精度マップの取り込みに失敗した場合、自動運転システムの安全性が深刻な影響を受ける可能性がある。さらに、
【００２１】
4. 高精度のマップを作成するには、マッププロバイダーの資格または認証が必要になる場合がある。これは、さまざまな国や地域によって施行される現地の法律や規制を考えると複雑になる場合がある。
【００２２】
一般的に言えば、本開示技術のいくつかの態様は、モバイルプラットフォームによってローカルに検出されたナビゲーション特徴を統合して、ローカルの高精度ナビゲーションマップを形成することに向けられている。ローカルナビゲーションマップは、モバイルプラットフォームが静止、移動、またはさまざまな自律ナビゲーション機能を実行している間にローカルに取得された高精度の姿勢情報に一部基づいて、リアルタイムで生成できる。本開示技術のいくつかの側面は、外部マップから取得した機能を（「真実」データとは対照的に）補足データまたは参照データとして使用し、ローカルで生成されたナビゲーションマップを向上したり、モバイルプラットフォームのその他の自律ナビゲーション機能を支援したりするために使用することを目的とする。
【００２３】
実例として、本開示技術は、モバイルプラットフォームを制御する方法を提供する。代表的な方法によれば、モバイルプラットフォームに関連付けられたコントローラは、モバイルプラットフォームの近傍にある環境の少なくとも一部を示すリアルタイム環境情報を取得する。例えば、リアルタイム環境情報は、環境の少なくとも一部の3D表現に対応する深度情報を含むことができる。リアルタイム環境情報は、モバイルプラットフォームに搭載された1つまたは複数のセンサ（ステレオカメラやLiDAR（Light Detection and Ranging）センサなど）によって生成されたセンサデータに基づくことができる。
【００２４】
代表的な方法によれば、コントローラは、モバイルプラットフォームに搭載された1つ以上のセンサから取得したセンサデータに基づいてナビゲーション特徴を検出できる。これらのセンサは、リアルタイムの環境情報を生成するために使用されるセンサと重複する場合と重複しない場合がある。たとえば、ナビゲーション特徴の検出に使用されるセンサには、カメラ、LiDARセンサ、超音波センサ、レーダーなどがある。実例として、検出されたナビゲーション特徴には、車線またはマーキング、エッジラインまたはマーキング、ガイドラインまたはマーキング、横断歩道、信号、交通標識、ガイドボード、ナビゲーション可能な表面または空間、静止障害物、または動く障害物が含まれる。ナビゲーション特徴を検出するために、コントローラは、1つ以上の人工ニューラルネットワーク（artificial neural networks；ANN）および他の適切な機械学習技術の少なくともいずれかをセンサデータに適用できる。
【００２５】
代表的な方法によれば、コントローラは、ナビゲーション特徴に対応する情報をリアルタイム環境情報と統合して、ローカルナビゲーションマップを生成できる。情報統合プロセスには、ナビゲーション特徴のサブセットを環境情報の1つまたは複数の部分にリアルタイムで関連付けることが含まれる。実例として、統合プロセスは、（a）環境情報の生成に使用されるセンサと（b）ナビゲーション特徴の検出のために使用されるセンサに関連する参照システム間における空間的変換および時間的変換の少なくともいずれかに基づくことができる。代替的または追加的に、情報統合プロセスは、1つまたは複数の精度基準を満たすモバイルプラットフォームの推定位置および向きの少なくともいずれかに基づくことができる。たとえば、モバイルプラットフォームのローカリゼーションエラーは、推定位置ではセンチメートル、ミリメートル、またはそれ以下の大きさ、もしくは、推定方向角では１０分の１度、１００分の１度、またはそれより小さいもの、またはこれらのサイズ推定位置および推定方向角に制限できる。ローカルナビゲーションマップを使用すると、コントローラは１つ以上のナビゲーションコマンドを生成して、モバイルプラットフォームの動きを少なくとも部分的に制御できる。
【００２６】
場合によっては、コントローラは、（外部の高精度マップなどの）事前に決定されたナビゲーションマップに基づいて、追加の（たとえば、２番目の）ナビゲーション特徴をさらに取得することができる。コントローラは、所定のナビゲーションマップに対するモバイルプラットフォームの位置を決定し、モバイルプラットフォームの決定された位置の近傍にある所定のナビゲーションマップから第２のナビゲーション特徴を取得することができる。これらの場合、コントローラはさらに、２番目のナビゲーション特徴を環境情報と統合して、ローカルナビゲーションマップを生成できる。
【００２７】
場合によっては、コントローラは、所定のナビゲーションマップ（たとえば、外部の低精度マップ）に基づいてモバイルプラットフォームを制御するための行動予測をさらに取得することができる。行動予測には、移動プラットフォームが向かう方向に、あるしきい値距離内で車線変更、停止、または方向転換の予測を含めることができる。これらの場合、コントローラは、ローカルナビゲーションマップに加えて、行動予測に基づいてモバイルプラットフォームの1つ以上のナビゲーションコマンドを生成できる。
【００２８】
具体的には、未知の環境でナビゲートするために、代表的なモバイルプラットフォームはさまざまなセンサを使用して周囲の環境を検知し、環境をモデル化する高精度の３Ｄ情報（３Ｄ深度マップ、３Ｄ点群など）を生成できる。高精度３Ｄ環境情報の測定誤差は、センチメートル（たとえば、１０センチメートル以下）、ミリメートル（たとえば、１０ミリメートル以下）、またはそれ以下（たとえば、１ミリメートル未満）の大きさに制限できる。モバイルプラットフォームは、ローカルセンサから取得した姿勢情報を使用して、３Ｄ環境情報内で同時に自身（たとえば、その相対的な位置および向きの少なくともいずれか）を特定することができる。ローカリゼーションエラー（たとえば、３Ｄ環境情報内でモバイルプラットフォームを特定するためのエラー）は、センチメートル、ミリメートル、またはそれ以下の大きさに制限することもできる。
【００２９】
モバイルプラットフォームはナビゲートしているため、新しく収集されたセンサデータ（新しいステレオ画像、新しい点群など）に基づいて３Ｄ環境情報を継続的に更新できる。モバイルプラットフォームに関連付けられた計算リソースの制限を考えると、モバイルプラットフォームは、モバイルプラットフォームの現在の場所の特定の近接を超える環境機能を反映するセンサデータを無視または無視できる。３Ｄ環境情報が更新されると、モバイルプラットフォーム（またはそのセンサの１つ）の現在位置を中心とするローカル参照システム（３Ｄ座標系など）で表現または関連付けられる。
【００３０】
実例として、３Ｄ環境情報内でモバイルプラットフォームの位置を特定するために、モバイルプラットフォームに関連付けられたコントローラは、モバイルプラットフォームに搭載された適用可能なセンサの姿勢を判断できる。たとえば、コントローラは、慣性測定ユニット（Ｉｎｅｒｔｉａｌ  Ｍｅａｓｕｒｅｍｅｎｔ  Ｕｎｉｔ；以下、単に「ＩＭＵ」と称する。）またはモバイルプラットフォームに搭載された車輪走行距離計によって提供される姿勢情報にアクセスできる。
【００３１】
別の例として、コントローラは、新しく収集されたセンサデータに基づく点群を、更新される３Ｄ環境情報と比較して、センサの姿勢を決定できる。これを達成するための２つの代表的なアプローチは、ランドマークベースのアプローチと生データアプローチです。ランドマークは、環境内で一意に識別可能なオブジェクトであり、センサで推定できる場所がある。これらは、Ｗｉ−Ｆｉアクセスポイントなどの物理的に特徴的なオブジェクト、または他の特徴的な特性（色など）を持つ空間ポイントにすることができる。このアプローチでは、コントローラは新しく収集されたセンサデータと３Ｄ環境情報のランドマークを識別し、それらを照合して姿勢を決定できる。一方、生データのアプローチでは、ランドマークを特定できるという仮定はせず、代わりに場所の関数として直接モデル化する。オプションで、ＩＭＵおよび走行距離計の少なくともいずれかによって提供されるデータを利用して、姿勢誤差をさらに減らすことができる。コントローラは、センサの姿勢を取得した後、新しく収集されたセンサデータ（たとえば、深度画像）を、その姿勢に従って融合することにより、３Ｄ環境情報を更新することができる。
【００３２】
したがって、外部の高精度マップに依存することなく、本開示技術の実施形態は、例えば、（ステレオカメラなどの）ビジョンセンサ、ＩＭＵ、およびモバイルプラットフォームに搭載されたホイールオドメーターを使用して、モバイルプラットフォームコントローラにリアルタイムで姿勢の変化を（例えば６自由度および高精度で）推定することを可能にすることができる。高精度の姿勢推定に基づいて、本開示技術は、モバイルプラットフォームの近傍（たとえば２００から５００メートル以内）で小さな姿勢誤差を提供し、検出されたナビゲーション特徴を高い精度で統合または融合できるローカルナビゲーションマップを作成できる。ローカルの高精度ナビゲーションマップには、自律ナビゲーションに必要なすべての情報を含めることができるため、外部の高精度マップに依存することなく、堅牢で効率的な自律ナビゲーションシステムを実現できる。
【００３３】
いくつかの実施形態によれば、モバイルプラットフォームに関連付けられたコントローラは、機能の複数の層を含むことができる。たとえば、コントローラにはセンサレイヤを含めることができる。センサレイヤでは、多くのタイプのセンサが３Ｄ環境情報を生成するための深度情報を提供できる。例えば、レーザーセンサ（例えば、ＬｉＤＡＲセンサ）および視覚センサ（例えば、ステレオ視覚カメラまたはＲＧＢ−Ｄカメラ）の少なくともいずれかをセンサレイヤとともに使用することができる。これらのセンサの動作原理は異なる場合があるが、周囲の環境の一部に関する深度情報やその他の３Ｄ情報を収集することができる。モバイルプラットフォームが動いている場合、オンボードセンサは、さまざまな角度から検出された深度または３Ｄ情報を継続的に収集できる。センサレイヤを使用すると、モバイルプラットフォームコントローラは、周囲の環境の少なくとも一部をモデル化する３Ｄ環境情報（たとえば、点群の形式）を生成できる。センサレイヤは、本開示技術の様々な実施形態に従って使用できる他のセンサ（例えば、ＩＭＵ、ＧＰＳセンサなど）も含むことができる。
【００３４】
コントローラには認識レイヤ（認識層）を含めることができる。このレイヤでは、モバイルプラットフォームに搭載されているさまざまなセンサから取得したセンサデータからナビゲーション特徴を検出または抽出することができる。前述したように、ナビゲーション特徴には、特に道路状況、交通規制、方向情報、障害物に関連する要素を含めることができる。コントローラは、認識層に畳み込みニューラルネットワーク（ＣＮＮ）などの適切な機械学習手法を実装できる。いくつかの実施形態では、特定のナビゲーション特徴の検出は、センサデータの個々の単一フレームで実行することができる。いくつかの実施形態では、特定のナビゲーション特徴の検出は、一連のセンサデータフレームで実行することができる。
【００３５】
コントローラには、統合レイヤを含むことができ、この統合レイアで、コントローラは、検出されたナビゲーション特徴（たとえば、車線またはマーキング、エッジラインまたはマーキング、ガイドラインまたはマーキング、シマウマの交差点、信号、交通標識、ガイドボード、ナビゲート可能な表面、または空間、静止障害物、または移動障害物）を、３Ｄ環境情報を使用して、時間的もしくは空間的に、または時間的および空間的に統合し、リアルタイムのローカルナビゲーションマップを生成することができる。統合レイヤを使用すると、コントローラは、モバイルプラットフォームの近傍にあるローカル環境と比較して高精度の表現を持つ検出されたナビゲーション特徴を提供できる。いくつかの実施形態では、検出されたナビゲーション特徴のすべては、モバイルプラットフォームに関連付けられたローカル座標系で（たとえば、モバイルプラットフォームの位置および向きの少なくともいずれかに基づいて更新されるローリングバッファの形で）表現される。いくつかの他の実施形態では、検出されたナビゲーション特徴は、他の適切な座標系で表現されてもよい。上述のように、ローカルナビゲーションマップを使用して、コントローラは1つ以上のナビゲーションコマンドを生成して、モバイルプラットフォームの動きを少なくとも部分的に制御することができる。
【００３６】
よく知られ、モバイルプラットフォーム（自動運転車、ＵＡＶ、および他のタイプのモバイルプラットフォームの少なくともいずれかなど）および対応するシステムとサブシステムに関連付けられることが多い構造およびプロセスの少なくともいずれかのいくつかの詳細を説明する、いくつかの重要な側面を不必要に曖昧にする可能性がある本開示技術については、明確化の目的のために以下の説明では述べられていない。さらに、以下の開示は、本開示技術の異なる態様のいくつかの実施形態を説明しているが、いくつかの他の実施形態は、本明細書で説明したものとは異なる構成または異なるコンポーネントを有することができる。したがって、ここで開示されている技術は、追加の要素を備えた、および図１〜図１０を参照して以下に説明する要素のいくつかの少なくともいずれかを備えない他の実施形態を有し得る。
【００３７】
図１〜図１０は、本開示技術の代表的な実施形態を示すために提供されている。別段の定めがない限り、図面は、本出願の特許請求の範囲を限定することを意図していない。
【００３８】
以下に説明する技術の多くの実施形態は、プログラム可能なコンピュータまたはコントローラによって実行されるルーチンを含む、コンピュータまたはコントローラにより実行可能な命令（プログラム）の形を取り得る。プログラマブルコンピュータまたはコントローラは、対応するモバイルプラットフォーム上にある場合とない場合がある。たとえば、プログラム可能なコンピュータまたはコントローラは、モバイルプラットフォームのオンボードコンピュータ、モバイルプラットフォームに関連付けられた別個の専用コンピュータ、またはネットワークまたはクラウドベースのコンピューティングサービスの一部にすることができる。当業者は、以下に示され説明されるもの以外のコンピュータまたはコントローラシステム上で本開示技術を実施できることを理解するであろう。この技術は、以下で説明する1つ以上のコンピュータ実行可能命令を実行するように特別にプログラム、構成、または構築された専用コンピュータまたはデータプロセッサで実現できる。したがって、本明細書で一般的に使用される「コンピュータ」および「コントローラ」という用語は、任意のデータプロセッサを指し、（パームトップコンピュータ、ウェアラブルコンピュータ、携帯電話または移動電話、マルチプロセッサシステム、プロセッサベースまたはプログラム可能な家庭用電化製品、ネットワークコンピュータ、ミニコンピュータなどを含む）インターネット機器およびハンドヘルドデバイスを含むことができる。これらのコンピュータとコントローラで処理される情報は、ＬＣＤ（液晶ディスプレイ）などの適切なディスプレイ媒体で表示できる。コンピュータまたはコントローラの実行可能なタスクを実行するための命令は、ハードウェア、ファームウェア、またはハードウェアとファームウェアの組み合わせを含む、任意の適切なコンピュータ読み取り可能な媒体中または媒体上に保存できる。命令は、例えば、フラッシュドライブ、ＵＳＢ（ユニバーサルシリアルバス）デバイス、および他の適切な媒体の少なくともいずれかを含む、任意の適切なメモリデバイスに含めることができる。したがって、特定の実施形態では、命令は一時的ではない。
【００３９】
図１は、本開示技術のいくつかの実施形態に従って構成された要素を有する代表的なシステム１００の概略図である。システム１００は、モバイルプラットフォーム１１０（例えば、自律車両）および制御システム１２０を含む。モバイルプラットフォーム１１０は、自律車両、無人航空機、またはロボットなどの任意の適切なタイプの可動物体であり得る。
【００４０】
モバイルプラットフォーム１１０は、ペイロード（例えば、乗客および貨物の少なくともいずれか）を運ぶことができる本体１１２を含むことができる。本体１１２は、撮像装置および光電子走査装置の少なくともいずれかなどの１つまたは複数のセンサを含むセンサセット１１４も担持することができる。例えば、センサセット１１４は、ステレオカメラ、モノカメラ、ビデオカメラ、スチールカメラ、およびＬｉＤＡＲセンサの少なくともいずれかを含むことができる。いくつかの実施形態では、センサセット１１４を使用して、ナビゲーションなどの機能を実行またはサポートすることができる。さらなる実施形態では、センサセット１１４を使用して、他の目的、例えば、とりわけ検査、不動産写真撮影、森林火災の監視などのために画像を取得することができる。
【００４１】
いくつかの実施形態では、センサセット１１４は、運搬機構１１６（例えば、ジンバル、ラック、もしくはクロスバー、またはこれらの組み合わせ）で本体１１２に対して支持される。運搬機構１１６により、センサセット１１４を本体１１２に対して独立して位置決めすることができる。
【００４２】
モバイルプラットフォーム１１０は、制御システム１２０からの制御コマンドの受信および制御システム１２０へのデータ送信の少なくともいずれかを行うように構成することができる。図１に示すように、図１に示す実施形態では、制御システム１２０は、モバイルプラットフォーム１１０に搭載されたいくつかのコンポーネントと、モバイルプラットフォーム１１０から離れて配置された、いくつかのコンポーネントとを含む。たとえば、制御システム１２０は、モバイルプラットフォーム１１０によって支持される第１のコントローラ１２２と、モバイルプラットフォーム１１０から離隔して配置されて通信リンク１２８（例えば、無線周波数（ＲＦ）ベースのリンク、Ｗｉ−Ｆｉネットワーク、セルラーネットワーク、Ｂｌｕｅｔｏｏｔｈ（登録商標）ベースのリンク、および他の近接場の無線リンクの少なくともいずれかなど）を介して接続される第２のコントローラ１２４（たとえば、リモートカーキーまたはコントローラアプリを実行するスマートフォンなどの人間操作のリモートコントローラ）を含むことができる。第１のコントローラ１２２は、これに限定されないが、モバイルプラットフォームの動きおよびペイロード１１６の動作を含む、モバイルプラットフォーム１１０の動作を指示する命令を実行するプログラムが格納されたコンピュータ可読媒体１２６を含むことができる。第２のコントローラ１２４は、１つ以上の入力／出力デバイス、例えばディスプレイおよび制御ボタンを含むことができる。いくつかの実施形態では、オペレータは、第２のコントローラ１２４を少なくとも部分的に操作してモバイルプラットフォーム１１０を遠隔制御し、ディスプレイ上および第２のコントローラ１２４上の少なくともいずれかの他のインターフェースを介してモバイルプラットフォーム110からフィードバックを受信する。いくつかの実施形態では、モバイルプラットフォーム１１０は自律的に動作する。その場合、第２のコントローラ１２４は排除するか、またはオペレータオーバーライド機能のみに使用することができる。
【００４３】
安全で効率的な操作を提供するために、モバイルプラットフォームが障害物を自律的または半自律的に検出できるようにすること、もしくは、障害物を回避するための回避操作を行えるようにすること、またはこれらの検出および回避操作の両方を行えるようにすることが有益な場合がある。さらに、環境オブジェクトの検知は、特にモバイルプラットフォームが半自律的または完全に自律的に動作している場合、ナビゲーション、ターゲット追跡、マッピングなどのモバイルプラットフォーム機能に役立つ。
【００４４】
本明細書で説明するモバイルプラットフォームは、（たとえば、センサセット１１４とは独立して）モバイルプラットフォームを取り巻く環境内のオブジェクトを検出するように構成された１つまたは複数のセンサを含むことができる。いくつかの実施形態では、モバイルプラットフォームは、物体とモバイルプラットフォームとの間の距離を測定するように構成された１つまたは複数のセンサ（たとえば、図１の距離測定デバイス１４０）を含む。距離測定装置は、モバイルプラットフォームの上部、下部、側面、または本体内など、さまざまな方法でモバイルプラットフォームに搭載できる。任意で、距離測定装置は、移動プラットフォームに対する平行移動および回転の少なくともいずれかを距離測定装置に可能にさせる、ジンバルまたは他の運搬機構を介して移動プラットフォームに結合することができる。いくつかの実施形態では、距離測定装置は、光を使用して物体までの距離を測定する光学距離測定装置を含むことができる。いくつかの実施形態では、距離測定装置は、ステレオ視覚データを提供できるステレオビジョンシステムであり、そこから深度情報を決定することができる。ステレオビジョンシステムは、ステレオカメラにすることができる。いくつかの実施形態では、距離測定装置は、ＬｉＤＡＲシステム、レーダーシステム、またはレーザー距離計を含むことができる。
【００４５】
図１０は、図１のモバイルプラットフォーム上で実施される例示的なアーキテクチャであって、本開示技術のいくつかの実施形態によるアーキテクチャ１０００を示す。実例として、アーキテクチャ１０００は、複数の機能レイヤを含むことができ、そのいくつかは、コントローラ（例えば、モバイルプラットフォームのオンボードコンピュータ、関連するコンピューティングデバイス、および関連するコンピューティングサービスの少なくともいずれか）を介して実装される。
【００４６】
図１０を参照すると、アーキテクチャ１０００は、モバイルプラットフォームによって支持される様々なセンサ（例えば、ＬｉＤＡＲ、ステレオカメラ、レーダー、走行距離計、ＩＭＵ、ＧＰＳなど）へのアクセスを含むことができるセンサレイヤ１０１０を含むことができる。一部の実施形態では、センサレイヤは、外部マップ（例えば、外部の高精度マップ）へのアクセスも含むことができる。アーキテクチャ１０００は、センサレイヤへの直接または間接的なデータアクセスに基づいて、さまざまなタイプの推定、検出、位置特定、融合、または他の分析を実行する複数の機能モジュールを含むことができる。たとえば、個別のモジュールは、マルチセンサ状態推定および／または位置特定、マルチセンサ深度推定、マップベースの位置特定、ＬｉＤＡＲベースの３Ｄ検出、ステレオベースの３Ｄ検出、レーダーベースの検出、リアルタイム３Ｄ再構築、車線と標識の検出、地図ベースの通過可能性、車線および標識の抽出、移動物体追跡のためのマルチセンサ融合、通過可能性分析、車線観測の融合などを実行できる。実例として、ローカルナビゲーションマップの例は、移動物体の追跡、横断性解析、車線観測の融合のためのマルチセンサ融合を実行するモジュールによって生成できる。アーキテクチャ１００は、セマンティックレイヤ１０２０をさらに含むことができ、セマンティックレイヤ１０２０は、（例えば、モバイルプラットフォーム操縦の意思決定および／またはルート計画のため）モジュール生成結果を、より高いレベルのナビゲーションモジュールに送ることができるセマンティック値または表現にマッピングするためのセマンティックマッピングモジュールを含むことができる。
【００４７】
図２は、本開示技術のいくつかの実施形態による、ローカルナビゲーションマップに基づく自律ナビゲーションのための方法２００を示すフローチャートである。方法２００は、コントローラ（例えば、モバイルプラットフォームのオンボードコンピュータ、関連するコンピューティングデバイス、および関連するコンピューティングサービスの少なくともいずれか）によって実装され得る。
【００４８】
図２を参照すると、ブロック２１０で、方法２００は、（ａ）モバイルプラットフォームの近傍にある環境の少なくとも一部を示す３次元（３Ｄ）環境情報、および、（ｂ）３Ｄ環境情報に対する自律車両の位置および方向の少なくともいずれか、を決定することを含む。いくつかの実施形態では、この決定はリアルタイムで実行される。
【００４９】
実例として、３Ｄ環境情報の決定は、視覚センサ（例えば、ステレオカメラ）、ＬｉＤＡＲ、またはモバイルプラットフォームによって支持されるレーダーに基づいて行うことができる。たとえば、ステレオカメラで生成されたステレオ画像を使用して、モバイルプラットフォームを取り巻く環境の少なくとも一部（モバイルプラットフォームが向かう方向など）をモデル化する高精度の３Ｄ環境情報を生成できる。３Ｄ環境情報は、さまざまな方法で表現およびフォーマットの少なくともいずれかを行うことができる。たとえば、３Ｄ情報は、３Ｄ点群、３Ｄメッシュ、符号付き距離フィールドなどの形式にすることができる。高精度３Ｄ環境情報の測定誤差は、センチメートル、ミリメートル、またはそれ以下の大きさに制限できる。これは、たとえば、ＬｉＤＡＲ、ステレオカメラ、および特定の精度要件を満たす他のセンサの少なくともいずれかを使用し、モバイルプラットフォームの特定の近接範囲内の測定に対応するセンサデータのみを３Ｄ環境情報に組み込むことで実現できる。モバイルプラットフォームはナビゲートしているため、新しく収集されたセンサデータ（つまり、新しいステレオ画像、新しい点群など）に基づいて３Ｄ環境情報を継続的に更新できる。モバイルプラットフォームに関連付けられた計算リソースの制限を考えると、コントローラは、モバイルプラットフォームの現在の場所への特定の近接を超える環境機能を反映するセンサデータをスキップまたはマージナリングできる。図５は、本開示技術のいくつかの実施形態による、点群形式の３Ｄ環境情報の少なくとも一部の例示的表現を示す。
【００５０】
図２に戻ると、３Ｄ環境情報の作成および更新の少なくともいずれかとほぼ同時に、コントローラは、携帯端末によって支持されるセンサから取得した姿勢情報を使用して、３Ｄ環境情報内でモバイルプラットフォーム（たとえば、その相対的位置および向きの少なくともいずれか）を特定することができる。言い換えれば、３Ｄ環境情報の作成および更新の少なくともいずれかの操作とモバイルプラットフォームの位置特定の操作とは、時間的に重複する可能性がある。このプロセスは、一般的にローカライゼーションと呼ばれる。実例として、コントローラは、ＩＭＵ、車輪走行距離計、視覚センサ、およびモバイルプラットフォームによって支持される他のセンサの少なくともいずれかによって提供されるデータにアクセスすることにより、モバイルプラットフォームを特定することができる。たとえば、コントローラは、新しく収集されたセンサデータから生成された点群を、既存のまだ更新されていない３Ｄ環境情報（たとえば、以前に収集されたセンサデータに基づく点群）と比較して、センサ／モバイルプラットフォームの姿勢を決定できる。この目的を達成するための２つの代表的なアプローチには、ランドマークベースのアプローチと生データアプローチがある。ランドマークは、環境内で一意に識別可能なオブジェクトであり、その位置はセンサによって推定できる。これらは、Ｗｉ−Ｆｉアクセスポイントなどの物理的に特徴的なオブジェクト、または他の特徴的な特性（色など）を持つ環境に存在する機能ポイントにすることができる。このアプローチでは、コントローラは、新たに収集されたセンサデータと既存の３Ｄ環境情報の両方のランドマークを（たとえば、適用可能なパターン認識技術を使用して）識別し、それらを照合して現在の姿勢（たとえば、ランドマークのマッチングを実現するために、既存の３Ｄ環境情報に関連付けられた座標系と新しく収集されたセンサデータとの間での相対回転および／または並進）を決定する。この一方、生データアプローチでは、ランドマークを特定できるという仮定はせず、代わりに、新たに収集されたセンサデータを新しい向きや位置の関数として直接モデル化する。オプションで、姿勢誤差をさらに減らすために、ＩＭＵ、走行距離計、および他のセンサの少なくともいずれかによって提供されるデータを利用できる。ローカリゼーションエラー（たとえば、３Ｄ環境情報内でモバイルプラットフォームを特定するためのエラー）は、センチメートル、ミリメートル、またはそれ以下の大きさに制限することもできる。これらの精度は、３Ｄ環境情報が高精度で取得され（たとえば、誤差が数十センチメートル、センチメートル以下に制限され）、モバイルプラットフォームから特定の近接度（たとえば、数百メートル、数十メートル、数メートル、またはそれ以下）に制限される。コントローラは、センサの姿勢を取得した後、姿勢に従って新たに収集されたセンサデータ（深度データなど）を融合することにより、３Ｄ環境情報を更新できる。たとえば、新しく収集されたセンサデータに基づいて生成された新しい点群は、姿勢に基づく回転変換および並進変換の少なくともいずれかの後に、既存の３Ｄ環境情報（たとえば、点群形式）とマージできる。更新プロセスの一部として、３Ｄ環境情報は、モバイルプラットフォームの現在位置を中心とするローカル参照システム（３Ｄ座標系など）で表現または関連付けられる。
【００５１】
引き続き図２を参照し、ブロック２２０で、方法２００は、少なくとも部分的には、モバイルプラットフォームに搭載された1つ以上のセンサから取得されたセンサデータに基づいて（例えば、車線、エッジ線、ガイド線、横断歩道、信号、交通標識、ガイドボード、ナビゲーション可能な表面または空間、静止障害物、または移動障害物などの）ナビゲーション特徴を検出することを含む。実例として、コントローラは、ナビゲーション特徴を検出するためにモバイルデバイスによって支持される様々なセンサ（例えば、LiDARセンサ、カメラ、レーダー、超音波センサなど）から取得したセンサデータにアクセスすることができる。ナビゲーション特徴の検出に使用されるセンサは、３Ｄ環境情報の決定に使用されるセンサと重複する場合と重複しない場合がある。たとえば、コストに敏感なシステムでは、ナビゲーション特徴の検出に使用されるセンサは、３Ｄ環境情報の決定に使用されるセンサと同じ（またはそのサブセット）にすることができる。別の例として、３Ｄ環境情報の決定に使用されないセンサは、ナビゲーション特徴検出用の追加データを提供できるため、自律ナビゲーションのパフォーマンスと堅牢性が向上する。
【００５２】
上述のように、ナビゲーション特徴には、道路状況、交通規制、方向情報、障害物などに関連する要素を含めることができる。コントローラは、適切な機械学習または他のオブジェクト検出技術を実装して、センサデータを分析し、ナビゲーション特徴（たとえば、そのタイプ、コンテンツ、サイズ、境界、場所など）を抽出できる。たとえば、選択検索オブジェクト検出器、領域ベースの畳み込みニューラルネットワーク（Ｒ−ＣＮＮ）、高速Ｒ−ＣＮＮなどを使用して、ナビゲーション特徴の検出を実現できる。いくつかの実施形態では、特定のナビゲーション特徴の検出は、センサデータの個々の単一フレームで実行することができる。いくつかの実施形態では、特定のナビゲーション特徴の検出は、一連のセンサデータフレームで実行することができる。
【００５３】
例としてレーンマーキングを使用する。画像データ（または点群データ）の各フレームに対して、レーンマーキングに対応する画像内のピクセル（または点群内のポイント）が検出される。必要に応じて、コントローラは、検出されたマーキングの２Ｄから３Ｄ（または３Ｄから３Ｄ）の位置変換を実行できる。コントローラは、適切なレーンフィッティングのアルゴリズムをさらに実装して、レーンマーキングをリンクし、複数の平行レーンをトレースするためにレーンセグメントでそれらを表すことができる。
【００５４】
図６は、本開示技術のいくつかの実施形態による、モバイルプラットフォームによって担持されるセンサ（例えば、カメラ）から取得されたセンサデータ（例えば、画像のフレーム）の一例を示す。センサから取得されたセンサデータは、図５に示す３Ｄ環境情報と少なくとも部分的に重複する可能性がある。つまり、モバイルプラットフォームを取り巻く環境の同じ部分の表現を含めることができる。様々な実施形態において、センサデータのフォーマットは、３Ｄ環境情報のフォーマットと異なっていても異なっていなくてもよい。
【００５５】
実例として、図6に示すような画像は、モバイルプラットフォームに搭載された正面カメラでキャプチャされた単一フレームの画像であり得る。この画像は、モバイルプラットフォームに向かう環境や、ナビゲートする必要がある環境を示している。（たとえば、ステレオカメラで生ｆ成された場合など）画像には深度情報がある場合とない場合がある。
【００５６】
図７は、図６のセンサデータから本開示技術のいくつかの実施形態により検出されるナビゲーション特徴（例えば、車線表示、方向案内板、制限速度標識、移動車両）の一例を示す。実例として、図６に示すように単一フレームの画像を分析することにより、コントローラは、適用可能なパターン認識および機械学習技術の少なくともいずれかを使用して、車線表示７０２、制限速度７０４、移動障害物７０６、および方向標識７０８を検出することができる。いくつかの実施形態では、コントローラは、図６のセンサデータを使用して、考えられるすべてのナビゲーション特徴を検出できない場合がある。例えば、コントローラは、検出に関連付けられた信頼レベルがしきい値よりも高い場合にのみ、ナビゲーション特徴の検出を確認することを決定する場合がある。いくつかの実施形態では、コントローラは、異なるセンサから収集されたセンサデータの組み合わせを使用して、より多くのナビゲーション特徴を検出することができる。
【００５７】
図２に戻ると、ブロック２３０で、方法２００は、３Ｄ環境情報および検出されたナビゲーション特徴に少なくとも部分的に基づいてローカルナビゲーションマップを生成することを含む。実例として、コントローラは、検出されたナビゲーション特徴を、時間的および空間的の少なくともいずれかで、３Ｄ環境情報とリアルタイムで統合できる。コントローラは、検出されたナビゲーション特徴に、モバイルプラットフォームの近傍のローカル環境に関連する高精度の表現を提供できる。いくつかの実施形態では、検出されたナビゲーション特徴のすべては、（たとえば、モバイルプラットフォームの位置および向きの少なくともいずれかに基づいて更新されるローリングバッファの形で）モバイルプラットフォームに関連付けられたローカル参照システムで表される。
【００５８】
実例として、センサデータの各フレームについて、モバイルプラットフォーム（またはセンサ）の姿勢（例えば、位置および方向の少なくともいずれか）は、ブロック２１０を参照して上述したように推定することができる。姿勢情報に基づいて、コントローラは、検出されたナビゲーション特徴と現在の３Ｄ環境情報に関連付けられた参照システムとの間の変換（たとえば、並進および回転の少なくともいずれか）を決定できる。コントローラは、検出されたナビゲーション特徴を3D環境情報に投影して、ローカルナビゲーションマップを生成できる。
【００５９】
より具体的な例として、モバイルプラットフォームに搭載されたカメラから生成された画像の各フレームについてコントローラは、（たとえば、領域ベースの畳み込みニューラルネットワーク（Ｒ−ＣＮＮ）、高速Ｒ−ＣＮＮ、高速Ｒ−ＣＮＮ、およびその他の適切なアルゴリズムまたは方法の少なくともいずれかに基づいて）画像内のレーンマーキングのピクセル位置を特定できる。コントローラは、適切な深度推定アルゴリズム（例えば、セミグローバルマッチングおよび相互情報メソッド、マルチスケールディープネットワークベースのメソッド、および他の適切なアルゴリズムまたはメソッドの少なくともいずれか）を使用してレーンマーキングピクセルの深度情報を計算できる。コントローラはさらに、カメラに関連して特定されたレーンマーキングピクセルの３次元（３Ｄ）座標を計算できる。
【００６０】
レーンマーキングの３Ｄ座標（ｘ、ｙ、ｚ）を指定すると、コントローラは、次の投影式を使用してレーンマーキングを２次元（２Ｄ）鳥瞰図空間（ｘ’、ｙ’）に投影できる：
x’＝ Sｘ＊x＋Cｘ
y’＝ Sy＊y＋Cy
【００６１】
ここで、ベクトルSｘおよびSyはスケールファクターであり、スカラーCｘおよびCyはオフセットである。これらの定数はオプションであり、事前に設定できる。たとえば、Sｘ、Sy、 CｘおよびCyの値は、鳥瞰図のビュースペースの視点を適切に調整する方法で設定できる。
【００６２】
その後、コントローラはレーンマーキングをグループ化し、異なるグループに属するレーンマーキングをカーブフィッティングして、ローカルナビゲーションマップの一部として３Ｄ環境情報に投影できる構造化されたレーンラインを取得できる。
【００６３】
別の特定の例として、モバイルプラットフォームに搭載されたカメラから生成された画像の各フレームについて、コントローラは、（例えば、領域ベースの畳み込みニューラルネットワーク（Ｒ−ＣＮＮ）、高速Ｒ−ＣＮＮ、高速Ｒ−ＣＮＮ、および／またはその他の適切なアルゴリズムまたは方法に基づいて）画像から（例えば、制限速度、交通ルール、方向などを指定する）交通標識のピクセル位置を特定できる。コントローラは、適切な深度推定アルゴリズム（例えば、セミグローバルマッチングおよび相互情報メソッド、マルチスケールディープネットワークベースの方法、並びに、他の適切なアルゴリズムまたは方法の少なくともいずれか）を使用して、交通標識ピクセルの深度情報を計算できる。コントローラはさらに、カメラに対して特定されたトラフィックピクセルの３次元（３Ｄ）座標を計算できる。交通標識のピクセルの３Ｄ座標が与えられると、コントローラは上記の車線投影と同様の方法で交通標識を２次元（２Ｄ）の上面図空間に投影できる。
【００６４】
誤認識を排除または軽減するために、コントローラは、画像の各フレームに関連付けられたモバイルプラットフォームの位置情報および方向情報の少なくともいずれかを使用して、識別された交通標識の重み付けされた一時的な蓄積を実行できる。実例として、カルマンフィルター、八分木、確率的多仮説追跡方法、および他の適切なアルゴリズムまたは方法の少なくともいずれかを使用して、一時的蓄積と、位置で検出された兆候があるかどうかの信頼レベルを実行することができる。実例として、更新前と更新後の信頼レベルをそれぞれｚｎ−１およびｚｎとし、更新の重みをｗ、現在の観測値をｚとすると、現在の位置で検出されている兆候の信頼更新式は次のようになり得る：
ｚｎ＝ｗ＊ｚ＋（１−ｗ）＊ｚｎ−１
【００６５】
コントローラは、交通標識を3D環境情報に投影し、ローカルナビゲーションマップの一部としてモバイルプラットフォームが移動し続けるときに更新されるそれぞれの信頼レベルに関連付けることができる。
【００６６】
引き続き図２を参照すると、ブロック２４０において、方法２００は、少なくとも部分的にローカルナビゲーションマップおよびモバイルプラットフォームの位置および向きの少なくともいずれかに基づいて、モバイルプラットフォームの次のアクションを決定することを含む。上述したように、ローカルの高精度ナビゲーションマップには、モバイルプラットフォームを自律的にナビゲートするために必要なすべての情報を含めることができるため、コントローラは、外部マップに依存することなくモバイルプラットフォームの動きを少なくとも部分的に制御する1つ以上のコマンド（例えば、停止、加速、減速、左折、右折など）を生成することができる。
【００６７】
たとえば、ローカルナビゲーションマップで特定された車線を考えると、モバイルプラットフォームは車線維持操作を実行できる。別の例として、ローカルナビゲーションマップで速度制限が特定されている場合、モバイルプラットフォームは速度制御操作を実行できる。さらに別の例として、ローカルナビゲーションマップで特定された静止物体および移動物体の少なくともいずれかが与えられると、モバイルプラットフォームは障害物回避操作を実行できる。
【００６８】
図３および図４でより詳細に説明するように、いくつかの実施形態において、コントローラは、ローカルで生成されたナビゲーションマップの強化、およびモバイルプラットフォームの他の自律ナビゲーション特徴の支援の少なくともいずれかを行うために、（「真実」データとは対照的に）補足データまたは参照データとして外部マップから特徴を取得できる。
【００６９】
ブロック２５０で、方法２００は、ローカルナビゲーションマップの更新を継続するかどうかを決定し、自律ナビゲーションを実行することを含む。コントローラがプロセスを継続すると決定した場合、方法200はブロック210に戻る。そうでない場合、方法２００は終了する。
【００７０】
図３は、本開示の技術のいくつかの実施形態による、ローカルセンサデータおよび所定のナビゲーションマップに基づいてローカルナビゲーションマップを生成するための方法３００を示すフローチャートである。方法３００は、コントローラ（例えば、モバイルプラットフォームのオンボードコンピュータ、関連するコンピューティングデバイス、および関連するコンピューティングサービスの少なくともいずれか）によって実施することができる。
【００７１】
図３を参照し、ブロック３１０において、方法３００は、モバイルプラットフォームによって支持されるセンサから取得されたデータに少なくとも部分的に基づいて、ナビゲーション特徴の第１セットを検出することを含む。実例として、これは、図２のブロック２１０および２２０を参照して説明した方法と同様の方法で達成することができる。
【００７２】
ブロック３２０で、方法３００は、所定のナビゲーションマップに対してモバイルプラットフォームを見つけることを含む。実例として、所定のナビゲーションマップは、コントローラにアクセス可能な外部の高精度マップ（精度誤差が１０ｃｍ以下の高解像度（ＨＤ）マップなど）にすることができる。事前に決定されたナビゲーションマップに関連してモバイルプラットフォームを特定するために、コントローラは、グローバルローカリゼーション方法または他の適切なローカリゼーション手法を適用できる。実例として、位置特定プロセスは、二乗誤差を最小化することにより、２つの参照システム（モバイルプラットフォームに関連付けられたものと所定のナビゲーションマップに関連付けられたものなど）の間の変換を発見することを目的とする反復最接近点（ＩＣＰ）アルゴリズムに基づくことができる。
【００７３】
ブロック３３０で、方法３００は、マップに対するモバイルプラットフォームの位置に従って、所定のナビゲーションマップからナビゲーション特徴の第２セットを取得することを含む。実例として、モバイルプラットフォームの相対的な位置が与えられると、コントローラは、所定のナビゲーションマップに含まれてマップ上のモバイルプラットフォームの位置の近傍（たとえば、２００から５００メートル）にあるナビゲーション特徴を検索および取得できる。
【００７４】
ブロック３４０で、方法３００は、少なくとも第１および第２のナビゲーション特徴のセットを使用してローカルナビゲーションマップを生成することを含む。実例として、モバイルプラットフォームのローカルセンサから取得したセンサデータに基づいて生成され更新される３Ｄ環境情報に、ナビゲーション特徴の第１セットと第２セットの両方を投影できる。いくつかの実施形態では、ナビゲーション特徴の第２のセットの少なくともいくつかは、第１のセットと重複しない。コントローラは、両方のセットに異なる重みを割り当て、それらの投影を結合することを決定できる。いくつかの実施形態では、ナビゲーション特徴の第１セットと第２セットの間で矛盾する情報が発生する可能性があり、コントローラは、第１セットの機能のみを使用するか、または少なくとも第2セットから時代遅れもしくは不正確であるかもしれないために特定の機能をスキップするかを決定することができる。いくつかの実施形態では、コントローラは、第１のセットからすべてのナビゲーション特徴を投影することができるが、第１のセットに相補的な（例えば、特徴タイプに関して）第２のセットからのナビゲーション特徴のサブセットのみを投影することができる。
【００７５】
したがって、ローカルナビゲーションマップは、自律ナビゲーションの安全性冗長メカニズムとして機能する。外部または他の所定のHDマップが利用可能な場合、HDマップをセンサデータの形式としてローカルナビゲーションマップにマージできる。外部または他の所定のHDマップがローカルナビゲーションマップの情報と競合する、または矛盾する情報を提供する場合、コントローラはローカルナビゲーションマップを自律ナビゲーション用に使用でき、それによりナビゲーションの安全性が向上する。
【００７６】
補足データまたは参照データ（「真実」データとは対照的に）としての外部マップの機能により、ローカルナビゲーションマップは、自律ナビゲーションにとってより包括的で信頼性の高いものになる。
【００７７】
図４は、本開示技術のいくつかの実施形態による、ローカルナビゲーションマップおよび所定のナビゲーションマップに基づいてモバイルプラットフォームのアクションを決定する方法４００を示すフローチャートである。方法４００は、コントローラ（例えば、モバイルプラットフォームのオンボードコンピュータ、関連するコンピューティングデバイス、および関連するコンピューティングサービスの少なくともいずれか）によって実施することができる。
【００７８】
図４を参照し、ブロック４１０で、方法４００は、（１）モバイルプラットフォームによって支持されるセンサから取得されるセンサデータに基づいて生成されるローカルナビゲーションマップ、並びに、（２）モバイルプラットフォームの位置および向きの少なくともいずれかを取得することを含む。実例として、これは、図２のブロック２１０、２２０および２３０を参照して説明した方法とほぼ同様の方法で達成することができる。
【００７９】
ブロック４２０で、方法４００は、所定のナビゲーションマップに対してモバイルプラットフォームを特定することを含む。実例として、所定のナビゲーションマップは、コントローラにアクセス可能な外部の低精度マップ（たとえば、精度誤差が５ｍ以上の標準定義（ＳＤ）マップ）にすることができる。コントローラは、図３のブロック３２０を参照して説明したものとほぼ同様の方法で、所定のナビゲーションマップに対してモバイルプラットフォームを特定することができる。いくつかの実施形態では、コントローラは、あらかじめ決められたナビゲーションマップから特定のナビゲーション指示（例えば、「３００メートルで左車線変更を行う」）を取得できる限り、所定のナビゲーションマップに関してモバイルプラットフォームの正確な位置特定を必要としない場合がある。
【００８０】
ブロック４３０で、この方法は、所定のナビゲーションマップに少なくとも部分的に基づいて行動予測を取得することを含む。実例として、モバイルプラットフォームの相対的な位置および方向の少なくともいずれか、並びに、目標目的地または方向が与えられると、コントローラは、ナビゲーション指示について所定のナビゲーションマップを検索することができる。ナビゲーション指示には、移動プラットフォームのしきい値距離内で、進行方向の車線変更、停止、または方向転換の予測を含めることができる。所定のナビゲーションマップの精度が高くない場合や、モバイルプラットフォームの相対的な位置や方向が正確でない場合があるため、ナビゲーション指示のすべてが有用な予測とは限らない。しきい値の距離または時間を超えるアクションを予測するナビゲーション指示の一部は、コントローラによって取得でき検討できる。
【００８１】
ブロック４４０で、方法４００は、ローカルナビゲーションマップと、所定のナビゲーションマップから検索された行動予測とに基づいて、モバイルプラットフォームの次のアクションを決定することを含む。たとえば、所定のナビゲーションマップから取得された行動予測は「４００メートルで右折します」であり、所定のナビゲーションマップには約＋／−５０メートルの誤差がある。この場合、コントローラは、近づく交差点を検出するため、ローカルの高精度ナビゲーションマップで関連する道路トポロジ（たとえば、予測される右折の交差点）を特定し、モバイルプラットフォームに道路の右車線を確実に走行させることができる。右折の検出が成功すると、コントローラは「右折」コマンドを発行して、モバイルプラットフォームを制御してターンを完了することができる。したがって、モバイルプラットフォームの操作の忠実度は、数十メートルではなく、センチメートル、ミリメートル、またはそれ以下のオーダーに改善できる。
【００８２】
したがって、（「真実」データとは対照的に）補足データまたは参照データとして外部マップから取得した機能により、コントローラはローカルで生成されたナビゲーションマップを強化したり、モバイルプラットフォームの他の自律ナビゲーション特徴を支援したりできる。
【００８３】
図８は、本開示技術の様々な実施形態に従って構成されたモバイルプラットフォームの例を示している。図示されるように、本明細書に開示される代表的なモバイルプラットフォームは、無人航空機（ＵＡＶ）８０２、有人航空機８０４、自律車両８０６、自己平衡車両８０８、地上ロボット８１０、スマートウェアラブルデバイス８１２、仮想現実（ＶＲ）ヘッドマウントディスプレイ８１４、および拡張現実（ＡＲ）ヘッドマウントディスプレイ８１６のうちの少なくとも１つを含み得る。
【００８４】
図９は、本開示技術の様々な部分を実施するために利用することができるコンピュータシステムまたは他の制御デバイス９００のアーキテクチャの一例を示すブロック図である。図９に示されるように、コンピュータシステム９００は、相互接続９２５を介して接続された１つ以上のプロセッサ９０５およびメモリ９１０を含む。相互接続９２５は、適切なブリッジ、アダプタおよびコントローラの少なくともいずれかによって接続された、１つまたは複数の別個の物理バス、ポイントツーポイント接続、またはその両方を表してもよい。したがって、相互接続９２５は、例えば、システムバス、周辺機器相互接続（ＰＣＩ）バス、ハイパートランスポートまたは業界標準アーキテクチャ（ＩＳＡ）バス、小型コンピュータシステムインターフェース（ＳＣＳＩ）バス、ユニバーサルシリアルバス（ＵＳＢ）、ＩＩＣ（Ｉ２Ｃ）バス、または（「Ｆｉｒｅｗｉｒｅ」とも呼ばれる）米国電気電子学会（ＩＥＥＥ）標準６７４バスを含み得る。
【００８５】
プロセッサ９０５は、例えばホストコンピュータの全体的な動作を制御するための中央処理装置（ＣＰＵ）を含むことができる。特定の実施形態では、プロセッサ９０５は、メモリ９１０に格納されたソフトウェアまたはファームウェアを実行することによりこれを達成する。プロセッサ９０５は、１つ以上のプログラマブル汎用または専用マイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、プログラマブルコントローラ、特定用途向け集積回路（ＡＳＩＣ）、プログラマブルロジックデバイス（ＰＬＤ）などやそのようなデバイスの組み合わせであってもよく、またはそのようなデバイスの任意の組み合わせを含んでもよい。
【００８６】
メモリ９１０は、コンピュータシステムのメインメモリであるか、それを含むことができる。メモリ９１０は、任意の適切な形態のランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、フラッシュメモリなど、またはそのようなデバイスの組み合わせを表す。使用中、メモリ９１０は、とりわけ、プロセッサ９０５によって実行されると、本開示技術の実施形態を実施する動作をプロセッサ９０５に実行させる機械命令のセットを組み込んだプログラムを含むことができる。
【００８７】
プロセッサ９０５には、相互接続９２５を介して（オプションの）ネットワークアダプタ９１５もまた接続されている。ネットワークアダプタ９１５は、ストレージクライアント、および他のストレージサーバの少なくともいずれかなどのリモートデバイスと通信する能力をコンピュータシステム９００に提供し、例えば、イーサネット（登録商標）アダプタまたはファイバチャネルアダプタであってもよい。
【００８８】
本明細書に記載の技術は、例えば、ソフトウェアおよびファームウェアの少なくともいずれかでプログラムされたプログラマブル回路（例えば、1つまたは複数のマイクロプロセッサ）によって、または完全に専用のハードワイヤード回路で、またはそのような形態の組み合わせで実施可能である。専用ハードワイヤード回路は、たとえば、１つ以上の特定用途向け集積回路（ＡＳＩＣ）、プログラマブルロジックデバイス（ＰＬＤ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）などの形をとることがある。
【００８９】
ここで紹介する技術を実施する際に使用するソフトウェアまたはファームウェアは、機械読み取り可能な記憶媒体に保存され、1つまたは複数の汎用または専用のプログラム可能なマイクロプロセッサによって実行される。用語が本明細書で使用される「機械読み取り可能な記憶媒体」または「コンピュータ読み取り可能な記憶媒体」には、機械によってアクセス可能な形式で情報を格納できる任意のメカニズムが含まれる（機械は、たとえば、コンピュータ、ネットワークデバイス、携帯電話、個人向け携帯情報端末（ＰＤＡ）、製造ツール、１つ以上のプロセッサを備えたデバイスなどであり得る）。たとえば、機械アクセス可能な記憶媒体には、記録可能／記録不可能な媒体（たとえば、読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリデバイスなど) が含まれる。
【００９０】
本明細書で使用される「論理」という用語は、例えば、特定のソフトウェアおよびファームウェアの少なくともいずれかでプログラムされたプログラマブル回路、専用ハードワイヤード回路、またはそれらの組み合わせを含むことができる。当業者は、添付図面に示されているコンポーネントおよびステップまたはプロセス要素が、本開示技術から逸脱することなく様々な方法で変更され得ることを理解するであろう。たとえば、ロジックの順序を並べ替えたり、サブステップを並行して実行したり、図示したロジックを省略したり、他のロジックを含めたりすることができる。いくつかの実施形態では、説明したコンポーネントの1つまたは複数が、説明したステップの1つまたは複数を実行できる。
【００９１】
本明細書における「実施形態」（例えば、「いくつかの実施形態」、「様々な実施形態」、「一実施形態」、「実施形態」など）への言及は、実施形態に関連して説明される特定の特徴、構造、または特性を意味する開示の少なくとも１つの実施形態または実行に含まれる。本明細書の様々な場所でのこれらの語句の出現は、必ずしもすべてが同じ実施形態を指しているわけではなく、他の実施形態と相互に排他的な、別個のまたは代替的な実施形態でもない。さらに、いくつかの実施形態によって示され、他の実施形態によって示されない可能性のあるさまざまな特徴が説明されている。同様に、いくつかの実施形態の要件であるが、他の実施形態の要件ではないことがある様々な要件が説明されている。
【００９２】
参照により本明細書に組み込まれている資料が本開示と矛盾する範囲では、本開示が優先する。主題は構造的特徴および方法論的行為の少なくともいずれかに特有の言語で説明されているが、添付の特許請求の範囲で定義される主題は必ずしも上述の特定の特徴または行為に限定されないことを理解されたい。本明細書では、例示の目的で特定の実施形態および実行が説明されたが、実施形態および実行の範囲から逸脱することなく様々な修正を行うことができる。上述の特定の特徴および行為は、添付の特許請求の範囲を実施する例示的な形態として開示されている。したがって、実施形態および実行は、添付の特許請求の範囲による場合を除いて限定されない。
【００９３】
上記から、開示された技術の特定の実施形態が例示のために本明細書に記載されたが、本発明の技術思想から逸脱することなく様々な修正がなされ得ることが理解されるであろう。例えば、図２の方法２００は、図８に示されるものを含むがこれらに限定されない、任意の適切なモバイルプラットフォームに関して実施され得る。特定の実施形態の文脈で説明された本技術の特定の側面は、他の実施形態で組み合わされるか、または排除され得る。例えば、図４の方法４００は、図３の方法３００と組み合わせて実施することができる。さらに、開示された技術の特定の実施形態に関連する利点がそれらの実施形態の文脈で説明されたが、他の実施形態もまたそのような利点を示すことがあり、技術範囲内に入るそのような利点をすべての実施形態が必ずしも示す必要はない。したがって、本開示および関連技術は、本明細書において明示的には示されていないか説明されていない他の実施形態を包含することができる。
【符号の説明】
【００９４】
１００…システム
１１０…モバイルプラットフォーム
１１２…本体
１１４…センサセット
１１６…運搬機構
１２０…制御システム
１２２…第１のコントローラ
１２４…第２のコントローラ
１２６…コンピュータ可読媒体
１２８…通信リンク
１４０…距離測定デバイス
７０２…車線表示
７０４…制限速度
７０６…移動障害物
７０８…方向標識
８０２…無人航空機（ＵＡＶ）
８０４…有人航空機
８０６…自律車両
８０８…自己平衡車両
８１０…地上ロボット
８１２…デバイス
８１４…仮想現実（ＶＲ）ヘッドマウントディスプレイ
８１６…拡張現実（ＡＲ）ヘッドマウントディスプレイ
９００…コンピュータシステムまたは他の制御デバイス
９０５…プロセッサ
９１０…メモリ
９１５…ネットワークアダプタ
９２５…相互接続
９３０…オペレーティングシステム
１０００…アーキテクチャ
１０１０…センサレイヤ
１０２０…セマンティックレイヤ
【図１】
2020135874.tif 000003
【図２】
2020135874.tif 000004
【図３】
2020135874.tif 000005
【図４】
2020135874.tif 000006
【図５】
2020135874.tif 000007
【図６】
2020135874.tif 000008
【図７】
2020135874.tif 000009
【図８】
2020135874.tif 000010
【図９】
2020135874.tif 000011
【図１０】
2020135874.tif 000012