IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ウーブン・プラネット・ホールディングス株式会社の特許一覧

特開2025-10027正確なSLAMベースのマップを効率的に生成するシステム及び方法
<>
  • 特開-正確なSLAMベースのマップを効率的に生成するシステム及び方法 図1
  • 特開-正確なSLAMベースのマップを効率的に生成するシステム及び方法 図2
  • 特開-正確なSLAMベースのマップを効率的に生成するシステム及び方法 図3
  • 特開-正確なSLAMベースのマップを効率的に生成するシステム及び方法 図4A
  • 特開-正確なSLAMベースのマップを効率的に生成するシステム及び方法 図4B
  • 特開-正確なSLAMベースのマップを効率的に生成するシステム及び方法 図5A
  • 特開-正確なSLAMベースのマップを効率的に生成するシステム及び方法 図5B
  • 特開-正確なSLAMベースのマップを効率的に生成するシステム及び方法 図6
  • 特開-正確なSLAMベースのマップを効率的に生成するシステム及び方法 図7
  • 特開-正確なSLAMベースのマップを効率的に生成するシステム及び方法 図8A
  • 特開-正確なSLAMベースのマップを効率的に生成するシステム及び方法 図8B
  • 特開-正確なSLAMベースのマップを効率的に生成するシステム及び方法 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025010027
(43)【公開日】2025-01-20
(54)【発明の名称】正確なSLAMベースのマップを効率的に生成するシステム及び方法
(51)【国際特許分類】
   G01C 21/28 20060101AFI20250109BHJP
   G08G 1/0969 20060101ALI20250109BHJP
   G16Y 10/40 20200101ALI20250109BHJP
   G16Y 20/20 20200101ALI20250109BHJP
   G16Y 40/60 20200101ALI20250109BHJP
【FI】
G01C21/28
G08G1/0969
G16Y10/40
G16Y20/20
G16Y40/60
【審査請求】未請求
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024104724
(22)【出願日】2024-06-28
(31)【優先権主張番号】18/344,174
(32)【優先日】2023-06-29
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】521042770
【氏名又は名称】ウーブン・バイ・トヨタ株式会社
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100092624
【弁理士】
【氏名又は名称】鶴田 準一
(74)【代理人】
【識別番号】100147555
【弁理士】
【氏名又は名称】伊藤 公一
(74)【代理人】
【識別番号】100123593
【弁理士】
【氏名又は名称】関根 宣夫
(74)【代理人】
【識別番号】100133835
【弁理士】
【氏名又は名称】河野 努
(72)【発明者】
【氏名】リン ユーツォン
(57)【要約】
【課題】マッピング管理システムを実装するシステム、方法を提供すること。
【解決手段】一実施形態では、当該方法は、トレースデータを受信することと、車線区間内の通過のグループを提供するようにトレースデータを処理することと、車線区間内の通過のグループに関する誤差測定値を決定することと、基準を受信することと、誤差測定値に基づいて、基準を満たすための通過の推定数を決定することと、を含む。
【選択図】図8B
【特許請求の範囲】
【請求項1】
プロセッサと、
前記プロセッサに対して通信可能に接続され、機械可読命令を記憶するメモリと、
を備え、前記機械可読命令は、前記プロセッサによって実行されると、前記プロセッサに対して、
トレースデータを受信させ、
車線区間内の通過のグループを提供するように前記トレースデータを処理させ、
前記車線区間内の前記通過のグループに関する誤差測定値を決定させ、
基準を受信させ、
前記誤差測定値に基づいて、前記基準を満たすための通過の推定数を決定させる、
システム。
【請求項2】
前記車線区間内の前記通過のグループに関する前記誤差測定値を決定する前記機械可読命令は、第1の通過の後に前記車線区間に追加される各通過について、前記車線区間内で追加される全ての通過に基づいて推定軌道を修正し、次いで、前記誤差測定値のうちの1つを計算することを更に含む、請求項1に記載のシステム。
【請求項3】
前記誤差測定値のうちの1つを計算する前記機械可読命令は、グラウンドトゥルース軌道を使用した比較に基づく、請求項2に記載のシステム。
【請求項4】
前記グラウンドトゥルース軌道は、最終的な通過が前記車線区間に追加された後における修正された推定軌道に基づく、請求項3に記載のシステム。
【請求項5】
前記誤差測定値のうちの1つを計算する前記機械可読命令は更に、絶対姿勢誤差又は相対姿勢誤差に基づく、請求項3に記載のシステム。
【請求項6】
前記基準は、誤差測定値が閾値未満であるということである、請求項3に記載のシステム。
【請求項7】
前記誤差測定値に基づいて、前記基準を満たすための前記通過の推定数を決定する前記機械可読命令は、前記誤差測定値に関する傾向線を推定することを更に含む、請求項3に記載のシステム。
【請求項8】
前記基準は、通過に対する或る誤差測定値から別の誤差測定値までの2つの誤差測定値間の差が閾値未満であるということである、請求項4に記載のシステム。
【請求項9】
命令を含む非一時的コンピュータ可読媒体であって、前記命令は、1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに対して、
トレースデータを受信させ、
車線区間内の通過のグループを提供するように前記トレースデータを処理させ、
前記車線区間内の前記通過のグループに関する誤差測定値を決定させ、
基準を受信させ、
前記誤差測定値に基づいて、前記基準を満たすための通過の推定数を決定させる、
非一時的コンピュータ可読媒体。
【請求項10】
前記車線区間内の前記通過のグループに関する前記誤差測定値を決定する前記命令は、第1の通過の後に前記車線区間に追加される各通過について、前記車線区間内で追加される全ての通過に基づいて推定軌道を修正し、次いで、前記誤差測定値のうちの1つを計算することを更に含む、請求項9に記載の非一時的コンピュータ可読媒体。
【請求項11】
前記誤差測定値のうちの1つを計算する前記命令は、グラウンドトゥルース軌道を使用した比較に基づく、請求項10に記載の非一時的コンピュータ可読媒体。
【請求項12】
前記グラウンドトゥルース軌道は、最終的な通過が前記車線区間に追加された後における修正された推定軌道に基づく、請求項11に記載の非一時的コンピュータ可読媒体。
【請求項13】
前記誤差測定値のうちの1つを計算する前記命令は更に、絶対姿勢誤差又は相対姿勢誤差に基づく、請求項11に記載の非一時的コンピュータ可読媒体。
【請求項14】
前記基準は、誤差測定値が閾値未満であるということである、請求項11に記載の非一時的コンピュータ可読媒体。
【請求項15】
前記誤差測定値に基づいて、前記基準を満たすための前記通過の推定数を決定する前記命令は、前記誤差測定値に関する傾向線を推定することを更に含む、請求項11に記載の非一時的コンピュータ可読媒体。
【請求項16】
トレースデータを受信することと、
車線区間内の通過のグループを提供するように前記トレースデータを処理することと、
前記車線区間内の前記通過のグループに関する誤差測定値を決定することと、
基準を受信することと、
前記誤差測定値に基づいて、前記基準を満たすための通過の推定数を決定することと、
を含む、方法。
【請求項17】
前記車線区間内の前記通過のグループに関する前記誤差測定値を決定することは、第1の通過の後に前記車線区間に追加される各通過について、前記車線区間内で追加される全ての通過に基づいて推定軌道を修正し、次いで、前記誤差測定値のうちの1つを計算することを更に含む、請求項16に記載の方法。
【請求項18】
前記誤差測定値のうちの1つを計算することは、グラウンドトゥルース軌道を使用した比較に基づく、請求項17に記載の方法。
【請求項19】
前記グラウンドトゥルース軌道は、最終的な通過が前記車線区間に追加された後における修正された推定軌道に基づく、請求項18に記載の方法。
【請求項20】
前記誤差測定値のうちの1つを計算することは更に、絶対姿勢誤差又は相対姿勢誤差に基づく、請求項18に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書に記載される主題は概して、環境のマップを生成するために必要とされるトレースデータの量を推定することに関し、より具体的には、所望のレベルの精度で効率的に当該マップを生成することに関する。
【背景技術】
【0002】
車両は、モバイルプラットフォームの位置に関する決定及び環境のマッピングを同時に行いながらモバイルプラットフォームが未知の環境を移動することを可能にする、位置推定及びマッピングの同時実行(SLAM)技術などのシステムを備え得る。通常、SLAM技術は、離散的な時間単位で動作し、オドメトリ情報を使用して車両の位置を推定し、(例えば、カメラ又はLiDARからの)距離検知データを使用して当該推定を修正する。
【0003】
SLAM技術は多くの場合、車両が環境を移動するときに環境をマッピングするために使用されるため、SLAM技術は、環境の幾何学的マップを生成するために使用されている。例えば、オドメトリ情報及びカメラ画像は、静止オブジェクトの検出に重点を置いて、環境を通るモバイルプラットフォームの複数の通過を介して取得され、次いで、環境の幾何学的マップを作成するように処理され得る。当該処理がリアルタイムで生じない場合、当該SLAM技術は、オフラインSLAMと称され得る。
【発明の概要】
【0004】
一実施形態では、例示的なシステム及び方法は、接続された自律車両についてマッピング管理方策を実装する方法に関する。
【0005】
一実施形態では、マッピング管理システムが開示される。マッピング管理システムは、1つ以上のプロセッサと、1つ以上のプロセッサに対して通信可能に接続されたメモリと、を含む。メモリは、命令を含むコマンドモジュールを記憶し、当該命令は、1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに対して、トレースデータを受信させ、車線区間内の通過のグループを提供するようにトレースデータを処理させ、車線区間内の通過のグループに関する誤差測定値を決定させ、基準を受信させ、誤差測定値に基づいて、基準を満たすための通過の推定数を決定させる。
【0006】
一実施形態では、命令を含む非一時的コンピュータ可読媒体であって、当該命令は、1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに対して1つ以上の機能を行わせる、非一時的コンピュータ可読媒体が開示される。命令は、トレースデータを受信し、車線区間内の通過のグループを提供するようにトレースデータを処理し、車線区間内の通過のグループに関する誤差測定値を決定し、基準を受信し、誤差測定値に基づいて、基準を満たすための通過の推定数を決定する命令を含む。
【0007】
一実施形態では、接続された自律車両についてマッピング管理方策を実装する方法が開示される。一実施形態では、当該方法は、トレースデータを受信することと、車線区間内の通過のグループを提供するようにトレースデータを処理することと、車線区間内の通過のグループに関する誤差測定値を決定することと、基準を受信することと、誤差測定値に基づいて、基準を満たすための通過の推定数を決定することと、を含む。
【図面の簡単な説明】
【0008】
本明細書において援用され本明細書の一部を構成する添付図面は、本開示の様々なシステム、方法、及び他の実施形態を示す。図において示される要素の境界(例えば、ボックス、ボックスのグループ、又は他の形状)は、境界の一実施形態を表すことが理解されるであろう。一部の実施形態では、1つの要素は、複数の要素として設計されてもよく、又は複数の要素は、1つの要素として設計されてもよい。一部の実施形態では、別の要素の内部構成要素として示される要素は、外部構成要素として実装されてもよく、逆もまた同様である。更に、要素は、縮尺通りに描かれていない場合がある。
【0009】
図1】本明細書に開示されるシステム及び方法が実装され得る車両の一実施形態を示す図である。
図2】マッピング管理方策を実装することに関連付けられるマッピング管理システムの一実施形態を示す図である。
図3】クラウド計算環境における図2のマッピング管理システムの一実施形態を示す図である。
図4A】推定軌道を修正する方策の例を示す図である。
図4B】推定軌道を修正する方策の例を示す図である。
図5A】トレースデータを車線区間に処理する例を示す図である。
図5B】トレースデータを車線区間に処理する例を示す図である。
図6】キーポイント関連付けヒューリスティックに基づいて、車線区間内で推定軌道を修正する一例を示す図である。
図7】姿勢誤差について評価され得る軌道の一例を示す図である。
図8A】誤差測定値、対、車線区間内の通過の数をグラフ化する方法の一例を示す図である。
図8B】誤差測定値、対、車線区間内の通過の数をグラフ化する方法の別の例を示す図である。
図9】マッピング管理システムを実装することに関連付けられる方法の例示的なフローチャートを示す図である。
【発明を実施するための形態】
【0010】
マッピング管理システムを実装することに関連付けられるシステム、方法、及び他の実施形態。SLAMを有する車両は、ループで繰り返し走行する(又は関心のあるエリアについて、通過を繰り返し行う)ことによって幾何学的マップを作成するために使用され得る。概して、通過の数が増加すると、より正確な幾何学的マップが作られ得る。加えて、車両の推定軌道も、より正確に決定され得る(例えば、より正確な幾何学的マップが利用可能であるため)。
【0011】
正確な幾何学的マップを生成する現在の方法は、その作成に必要とされるリソースを推定する手段を提供しない。したがって、追加の通過が車線区間に追加される場合などに、参照軌道と比較して推定軌道の誤差推定を評価する技術が本明細書に記載される。このように、追加の通過が記録されるときの誤差推定の改善は、同様のマッピングされていない車線区間に関して同様のレベルの精度を得るために必要とされる通過の数を決定するために使用され得る。例えば、ハイウェイの1マイル(約1.60934km)のテストループに関する分析が、8回の通過が所望のレベルの精度に充分であることを示す場合、ハイウェイの追加のマッピング(例えば、ハイウェイの次の20マイル(約32.0869km))について計画する際、当該通過の数に依拠し得る。
【0012】
図1を参照すると、車両100の例が示されている。本明細書で使用される「車両」は、任意の形態の動力付き輸送手段である。1つ以上の実装態様では、車両100は、自動車である。自動車に関する機構が本明細書に記載されるが、実施形態は自動車に限定されないことが理解されるであろう。一部の実装態様では、車両100は、任意のロボットデバイス又は動力付き輸送手段の形態であってもよく、それらは、例えば、周囲の環境の態様を知覚するためのセンサを含み、したがって、マッピング管理方策に関連付けられる、本明細書で述べられる機能の恩恵を受ける。更なる注記として、本開示は概して、車両100自体と同様に解釈されることが意図される周囲の車両と共に車道上を走行しているものとして車両100を述べる。すなわち、周囲の車両は、車両100が車道上で遭遇し得る任意の車両を含み得る。
【0013】
車両100はまた、様々な要素を含む。様々な実施形態では、車両100が、図1に示される要素の全てを有する必要がない場合があることが理解されるであろう。車両100は、図1に示される様々な要素の任意の組み合わせを有し得る。更に、車両100は、図1に示されるものに対して追加の要素を有し得る。一部の機構では、車両100は、図1に示される要素のうちの1つ以上を用いずに実装され得る。様々な要素は、図1の車両100内に配置されているものとして示されるが、当該要素のうちの1つ以上が車両100の外部に配置され得ることが理解されるであろう。更に、示される要素は、長い距離、物理的に分離され得る。例えば、述べられるように、本開示のシステムの1つ以上の構成要素は、車両内で実装され得る一方、システムの更なる構成要素は、車両100から離れたクラウド計算環境又は他のシステム内で実装される。
【0014】
車両100の可能性のある要素のうちの一部が図1に示されており、後の図と共に記載される。しかしながら、図1の多数の要素に関する説明は、この説明を簡潔にするために図2図9の説明の後に提供される。更に、図示の簡略化及び明確化を目的として、対応する要素又は類似の要素を示すために異なる図の間で参照番号が適宜繰り返されていることが理解されるであろう。加えて、説明は、本明細書に記載される実施形態の完全な理解を提供するために、数多くの具体的な詳細を概説する。しかしながら、当業者は、本明細書に記載される実施形態が当該要素の様々な組み合わせを使用して実施され得ることを理解するであろう。いずれの場合も、車両100は、マッピング管理システム170を含み、マッピング管理システム170は、マッピング管理方策を実装することに関する、本明細書に開示されるような方法及び他の機能を行うように実装される。後でより詳細に述べられるように、様々な実施形態では、マッピング管理システム170は、クラウドベースのサービスとして車両100内で部分的に実装される。例えば、一手法では、マッピング管理システム170の少なくとも1つのモジュールに関連付けられる機能は、車両100内で実装されるが、更なる機能は、クラウドベースの計算システム内で実装される。
【0015】
図2を参照すると、図1のマッピング管理システム170の一実施形態が更に示されている。マッピング管理システム170は、図1の車両100のプロセッサ110を含むものとして示されている。したがって、プロセッサ110は、マッピング管理システム170の一部であり得るか、マッピング管理システム170は、車両100のプロセッサ110とは別個のプロセッサを含み得るか、又はマッピング管理システム170は、データバス若しくは別の通信経路を通じてプロセッサ110にアクセスし得る。一実施形態では、マッピング管理システム170は、検出モジュール220及びコマンドモジュール230を記憶するメモリ210を含む。メモリ210は、検出モジュール220及びコマンドモジュール230を記憶する、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、ハードディスクドライブ、フラッシュメモリ、又は他の好適なメモリである。検出モジュール220及びコマンドモジュール230は、例えば、プロセッサ110によって実行されると本明細書に開示される様々な機能をプロセッサ110に行わせるコンピュータ可読命令である。
【0016】
図2に示されるようなマッピング管理システム170は概して、車両100及びクラウド計算環境間で実装され得るようなマッピング管理システム170の抽象形態である。以下で更に記載される図3は、マッピング管理システム170と共に実装され得るクラウド計算環境300の一例を示す。図3に示されるように、マッピング管理システム170は少なくとも部分的に、クラウド計算環境300内で具現化され得る。
【0017】
図2を参照して、検出モジュール220は概して、プロセッサ110を制御して車両100の1つ以上のセンサからデータ入力を受信するように機能する命令を含む。一実施形態では、入力は、車両100に近い環境における1つ以上のオブジェクト、周囲に関する他の態様、又はその両方の観測結果である。一実施形態では、本明細書に提供される検出モジュール220は、カメラ画像及びオドメトリデータを少なくとも含むセンサデータ250を取得する。更なる機構では、検出モジュール220は、オドメトリデータ、距離検知データ、又は車両100の位置に関するデータを取得するのに好適であり得る、レーダ123、LIDAR124、及び他のセンサなどの更なるセンサからセンサデータ250を取得する。
【0018】
したがって、一実施形態では、検出モジュール220は、センサデータ250を提供するようにそれぞれのセンサを制御する。更に、検出モジュール220は、センサデータ250を提供するように様々なセンサを制御すると述べられているが、1つ以上の実施形態では、検出モジュール220は、アクティブ又はパッシブのいずれかであるセンサデータ250を取得するための他の技術を採用し得る。例えば、検出モジュール220は、様々なセンサによって車両100内の更なる構成要素に提供される電子情報の流れからセンサデータ250をパッシブに見つけ出し得る。更に、検出モジュール220は、様々な手法を行って、センサデータ250を提供する場合の複数のセンサからか、周囲の車両のうちの1台以上から無線通信リンク(例えば、v2v)において取得されるセンサデータからか、又はこれらの組み合わせから、データを融合させ得る。したがって、一実施形態では、センサデータ250は、複数のセンサから取得される知覚の組み合わせを表す。
【0019】
周囲の車両の位置に加えて、センサデータ250はまた、例えば、車線マークに関する情報などを含み得る。更に、一実施形態では、検出モジュール220は、車両100の周りの360度を包含するエリアに関するセンサデータを取得するようにセンサを制御し、次いで、当該センサデータは、センサデータ250に記憶され得る。一部の実施形態では、当該エリアセンサデータは、車両100の周囲の環境に関する包括的な評価を提供するために使用され得る。もちろん、代替的な実施形態では、例えば、車両100が車両の周りの追加の領域を含めるための更なるセンサを備えないか、又は追加の領域が他の理由(例えば、既知の現在の状態により不必要であること)によりスキャンされない場合、検出モジュール220は、前方向のみに関するセンサデータを取得し得る。
【0020】
更に、一実施形態では、マッピング管理システム170は、データベース240を含む。一実施形態では、データベース240は、メモリ210又は別のデータストアに記憶された電子データ構造であり、それは、記憶されたデータの分析、記憶されたデータの提供、記憶されたデータの編成などのためにプロセッサ110によって実行され得るルーチンで構成されている。したがって、一実施形態では、データベース240は、様々な機能を実行する際に検出モジュール220及びコマンドモジュール230によって使用されるデータを記憶する。一実施形態では、データベース240は、例えば、センサデータ250の様々な態様を特徴付けるメタデータと共にセンサデータ250を含む。例えば、メタデータは、位置座標(例えば、経度及び緯度)、相対的なマップ座標又はタイル識別子、別個のセンサデータ250が生成されたときからの時刻/日付スタンプなどを含み得る。
【0021】
一実施形態では、検出モジュール220は更に、センサデータ250を取得及び提供するようにそれぞれのセンサを制御することの他に追加のタスクを行うように構成されている。例えば、検出モジュール220は、本明細書に記載されるような分析のためにセンサデータ250内の情報をトレースデータにパッケージ化する命令を含み得る。
【0022】
一部の実施形態では、検出モジュール220は、車両100の位置推定及びマッピングの同時実行システムによって提供されるオドメトリデータ及び距離検知データなどのトレースデータを記録し得る。一部の実施形態では、トレースデータはまた、オドメトリデータ及び距離検知データに対応するGPS情報などの追加の情報を含み得る。例えば、車両100が第1のポイントから第2のポイントへ移動するとき、カメラ画像は、関心のあるエリアに関連付けられるキーポイント(例えば、エッジ、車線マーカ)を識別するように記録及び分析され得、次いで、当該キーポイントは、トレースデータに記憶され得る。当該カメラ画像に関連して、加速、ブレーキ、又は他の車両の動きからのオドメトリ情報はまた、当該カメラ画像の時間における車両100の位置を決定するように検出モジュール220によって分析され得、次いで、当該位置は、トレースデータに記憶され得る。更に、当該カメラ画像の時間におけるGPS位置データはまた、検出モジュール220によってトレースデータに記録され得る。一部の実施形態では、カメラデータ、オドメトリデータ、又はGPSデータは、当該データが異なる車両システムから取得される場合などに、わずかに異なる時間に記録され得る。したがって、一部の実施形態では、検出モジュール220又はコマンドモジュール230は、補間又は当該技術分野で既知である他の技術などによって、時間に関してカメラデータ、オドメトリデータ、又はGPSデータを整列させる分析を行い得る。一部の実施形態では、トレースデータは、オドメトリデータ、距離検知データ、又はGPSデータの組み合わせに関する1つのセッションを表し得る一方、他の実施形態では、トレースデータは、オドメトリデータ、距離検知データ、又はGPSデータの組み合わせに関する複数のセッションを含み得る。
【0023】
一部の実施形態では、コマンドモジュール230は、センサデータ250などからトレースデータを受信し得る。オドメトリデータ及びGPSデータが、当該データが記録されたときの真の位置に対する誤差を含み得ることを想定して、コマンドモジュール230は、ループ閉じ込み、定められた境界(例えば、道路などの走行の有効な経路)に対するトレースの制約、及び当該技術分野で既知である他の手法などの方法を使用して、トレースに記録された推定軌道を修正し得る。例えば、図4Aに示されるような一般的な特徴のキーポイント(例えば、交差点マーク)は、推定軌道によって与えられるループが一般的な特徴に対する有効な位置に戻るように、推定軌道を修正するために使用され得る。別の例として、図4Bに示されるように、推定軌道は、推定軌道が境界条件を違反している場合、例えば、推定軌道が、車両が車両バリアへ逸れていることを示す場合に、当該技術分野で既知であるように修正され得る。
【0024】
トレースデータが、大きいエリアにおいてカメラデータ、オドメトリデータ、及びGPSデータを提供し得るとき、コマンドモジュール230は、トレースデータを車線区間に分割し得る。例えば、車両は、図5Aに示されるようにハイウェイを上下にループで運転されている場合がある。当該車両からトレースを受信すると、図5Bに示されるように、コマンドモジュール230は、トレースを2つの区間(例えば、北行き車線、南行き車線)に分割し得る。次いで、各区間は、車線区間(例えば、北行き車線A、北行き車線B、南行き車線A、南行き車線B)に分割され得る。更に、トレースデータが車線区間を順次通過する度に、車線区間内のトレースデータは、車線区間通過(又は略して通過)として記録され得る。したがって、各々の車線区間通過は、区間、車線区間、及び車線区間通過数に基づいて識別され得る(例えば、識別子NA2を有する通過は、それが、北行き車線Aについての車線区間を通って記録される第2の通過であることを意味し得、同様に、NA5は、データが、同じ車線区間を通る第5の通過であることを意味し得る)。一部の実施形態では、車線区間は、車両が走行し得る道路車線以外の地理的エリア、例えば、駐車場に関して定められ得る。
【0025】
一部の実施形態では、コマンドモジュール230は、車線区間内のキーポイントに関する有効な関連付けを決定し得る。図6に示されるように、各々の車線区間通過は、車両による走行の経路に沿ったキーポイントの位置に関する情報を含み得る。当該キーポイントは、例えば、車両が運転された車線側の車線マーカに対応し得る。関連付けヒューリスティックは、有効であるとマークされる互いに近くにある充分な数のキーポイントが存在するかどうかを決定するために使用され得る。例えば、道路破線は、特定の長さ及び幅の車線マーカダッシュを備え得、その結果、個々の車線マーカダッシュの寸法に対して遠く離れすぎているキーポイントを互いに関連付けることはできない。
【0026】
最初に、環境を通る第1の通過は、関連付けヒューリスティックを満たすのに充分ないくつかのキーポイントを生成するだけであり得る。しかしながら、追加の通過が同じ車線区間を通じて行われると、当該追加の通過からのキーポイントは、キーポイントのより多くのグループが関連付けヒューリスティックを満たすことを可能にするように集められ得る。加えて、より多くのキーポイントが有効にされると、当該有効なキーポイントは、当該技術分野で既知であるように、車両の推定軌道を改善するために使用され得る。例えば、第1及び第3の通過からのデータが、有効なキーポイント(例えば、車線マーカ)の1つ以上のグループを確立するのに充分である場合、コマンドモジュール230は、第2の車線区間通過に対する調整が、そのデータを有効なキーポイントのグループに対してより充分に整列させ得るかどうかを決定し得る。更に、車線区間通過内での推定軌道に対する任意の当該修正はまた、(例えば、全体としてトレースに対して、その後の車線区間通過に対して)車線区間を超える推定軌道の修正を提供し得る。
【0027】
したがって、車線区間内の通過の数が増加すると、SLAM技術に基づく推定軌道は、車両のグラウンドトゥルース軌道により近接する可能性がある。しかしながら、通過の数としての数が増加すると、当該改善は通常、減少する(例えば、全ての通過が車線区間データに追加されて、より可能性の少ない車線マーカが有効のままにされるため)。したがって、一部の実施形態では、コマンドモジュール230は、各追加の通過を車線区間データに追加した結果を分析して、所望の精度のレベルを達成するために必要とされる通過の数を決定し得る。
【0028】
図7に示されるように、トレースデータからの推定軌道は、一連のタイムスタンプ(例えば、時間iにおける姿勢T)に対する姿勢データ(例えば、x、y、z、ピッチ、ヨー、ロール)を含み得る。加えて、トレースデータはまた、グラウンドトゥルース軌道に供給され得、当該トレースデータは、車両がトレースを記録していたときにおける車両の非常に正確な姿勢データ(例えば、時間iにおける姿勢T )を含む。例えば、当該グラウンドトゥルース軌道は、当該技術分野で既知である非常に正確なポジショニングシステム(例えば、DGPS、RTK GPS)によって供給され得る。
【0029】
推定軌道及びグラウンドトゥルース軌道に基づいて、絶対姿勢誤差(APE)の並進及び回転は、以下のようにコマンドモジュール230によって決定され得る。
【数1】
【数2】
ここで、Nは、評価されているTの姿勢の数であって、Tは、時間iにおける推定軌道に係る車両の姿勢であって、T は、グラウンドトゥルース軌道に係る車両の姿勢である。
【0030】
加えて、相対姿勢誤差(RPE)の並進及び回転は、以下のようにコマンドモジュール230によって決定され得る。
【数3】
【数4】
ここで、Nは、評価されているTの姿勢の数であって、Nは、姿勢Tの周囲で評価されるT近隣の姿勢の総数であって、Tは、時間iにおける推定軌道に係る車両の姿勢であって、Tは、時間jにおける推定軌道に係る車両の姿勢であって、T は、時間iにおけるグラウンドトゥルース軌道に係る車両の姿勢であって、T は、時間jにおけるグラウンドトゥルース軌道に係る車両の姿勢である。
【0031】
車線区間についての誤差計算、対、車線区間に追加される通過の数の例は、図8Aに示されており、図8Aは、追加される通過の数が増加すると、計算される平均誤差が減少する傾向にあることを実証する。したがって、トレースを与えられるコマンドモジュール230は、提供される通過の数に基づいて、車線区間についての誤差測定値を計算し得る。一部の実施形態では、コマンドモジュール230は更に、取得される誤差測定値を使用して、更なる通過の数が記録された場合に追加の誤差測定値がどのように減少し得るかを推定し得る。例えば、コマンドモジュール230は、当該技術分野で既知であるようなカーブフィッティング技術、又は他の予測方法(例えば、モデリング、機械学習)を使用して、追加の通過が提供される場合に誤差測定値についての可能性のある値を予測し得る。したがって、所望の誤差測定値が、記録された通過の数によって提供されるものに関する誤差測定値未満である場合、それにも関わらず、コマンドモジュール230は、所望の誤差測定値を達成するための通過の数を推定することが可能であり得る。
【0032】
車線区間についての誤差計算、対、車線区間に追加される通過の数の別例は、図8Bに示されており、図8Bは、追加される通過の数が増加すると、第1、第2、及び第3の四分位数がどのように減少する傾向にあるかに関する例を示す。当該実施形態は、例えば、式(1)、式(2)、式(3)、又は式(4)に示されるような平均化関数を行わないことによって実現され得る。平均化を行わないことによって、当該式は、代わりに、絶対姿勢誤差又は相対姿勢誤差のN個の指標を返し、次いで、当該指標は、第1、第2、及び第3の四分位数に処理され得る。当該実施形態では、四分位数を計算するために複数の閾値が基準として使用され得る。
【0033】
一部の実施形態では、コマンドモジュール230は、1つ以上の車線区間についての誤差測定値のグラフを表示し得る。一部の実施形態では、グラフの表示は、傾向線を更に含み得、当該傾向線はまた、追加の通過が取得される場合に取得され得る追加の誤差測定値の推定を示し得る。一部の実施形態では、コマンドモジュール230は、通過の充分な数を決定する際に使用される誤差測定値のタイプに関する命令を受信するように構成され得る。例えば、ユーザは、APE、RPE、又は当該技術分野で既知である他の測定値を選択し得る。加えて、コマンドモジュール230は、選択される誤差測定値に対して通過の充分な数を決定する際に使用される特定の基準に関する命令を受信するように構成され得る。例えば、指定された誤差測定値に関して閾値よりも上又は下である値を達成することは、通過の充分な数を推定するために使用され得る。別の例として、通過が追加されるときの1つ以上の誤差測定値に関する値の相対変化は、1つ以上の閾値に対して評価され得る(例えば、通過が追加されるときにAPEtransが少なくとも5%改善しない場合に基づいて、通過の数を推定する)。
【0034】
一部の実施形態では、多数の通過が追加された後の推定軌道は、誤差測定値を計算する際にグラウンドトゥルース軌道として使用され得る。例えば、車両は、非常に正確な位置決めが利用可能でない場合があるエリア(例えば、トンネル)で動作する必要があり得る。したがって、当該環境において、又は他の目的で、(例えば、全ての利用可能な通過が車線区間に追加された後の)車線区間内で記録される通過の数に基づく推定軌道は、より少ない通過の数についての代用グラウンドトゥルース軌道として(例えば、最善の利用可能な軌道として)使用され得る。
【0035】
一部の実施形態では、コマンドモジュール230は、通過の数に対する誤差測定値を決定するために分析された車線区間が別の車線区間と同様であるかどうかを決定し得る。例えば、コマンドモジュール230は、地形、道路の曲率、車線構成、道路面状態などに基づいて、2つの当該車線区間がほぼ同様であるかどうかを決定し得る。マッピングされていない車線区間がマッピングされた車線区間と同様であることを(例えば、所望の指標が同様に閾値を超えていることによって)コマンドモジュール230が決定する場合、コマンドモジュール230は、マッピングされた車線区間に基づいて、マッピングされていない車線区間に関する通過の数の推定を提供し得る。
【0036】
一部の実施形態では、コマンドモジュール230は、所望の誤差測定値に関する通過の数がその予測を逸脱する程度を追跡し得る。例えば、コマンドモジュール230は、通過の数が所望のものよりも少ないことが分かった場合や、通過の数が所望のものよりも多いことが分かった場合や、当初予測された通過の数が行われたときに、通過の推定数が増加した場合などを記録し得る。当該情報を考慮して、コマンドモジュール230は、当該逸脱の程度に関する統計指標(例えば、標準偏差)を決定し得る。例えば、同様の車線区間の中で、コマンドモジュール230は、予測の通過の数に関する平均が8.3であって標準偏差が1.2であることを決定し得る。一部の実施形態では、コマンドモジュール230は、当該集計統計分析に基づいて行われる通過の数を選択し得る(例えば、平均が8.3であることを想定して、9回の通過の値が選択され得、1.2の標準偏差も与えられる場合、所望の精度を達成するために行われる通過の数が不充分であるという可能性がより低いことを保証するために10の値が選択され得る)。
【0037】
一部の実施形態では、コマンドモジュール230は、通過の数の推定に関する情報を表示するユーザインターフェースを提供し得、当該ユーザインターフェースはまた、(例えば、タッチスクリーン、キーボード、リモートインターフェースを介して)ユーザによる選択又は入力の受信を提供することを含み得る。例えば、ユーザには、分析された車線区間に基づく誤差測定値、対、通過の数のグラフが与えられ得、当該グラフは、使用される誤差測定値のタイプを調整するメカニズムを提供し得る。別の例として、コマンドモジュール230は、通過の充分な数を推定する基準の選択を受信して、誤差測定値、対、通過の数のグラフ上に当該基準の描写を(例えば、閾値がある場所を示す水平線や、別の通過が追加される場合に、選択される基準を満たす誤差想定値の許容変化量を示す領域として)表示し得る。一部の実施形態では、コマンドモジュール230は、車線区間が同様であるかどうかを決定する基準を記載した情報を表示し得、当該情報はまた、当該情報に対する変更の受信を提供することを含み得る。一部の実施形態では、コマンドモジュール230は、誤差測定値、対、通過の数のグラフを表示する際、傾向線や、所望の精度を達成するために必要とされる通過の推定数や、前のトレース又は同様の車線区間からのデータに基づく結果の前の履歴などを示し得る。
【0038】
コマンドモジュール230は、予測モデル260と組み合わされて、機械学習ロジック、深層学習ロジック、ニューラルネットワークモデル、又は別の同様の手法などの計算モデルを形成し得ることを理解されたい。一実施形態では、予測モデル260は、センサデータ250又は本明細書に記載されるような他の情報源に基づいて、所望の精度に必要とされる通過の数を推定する、回帰モデルなどの統計モデルである。したがって、モデル260は、多項式回帰(最小加重多項式回帰)、最小二乗、又は別の好適な手法であり得る。
【0039】
更に、代替的な機構では、予測モデル260は、隠れマルコフモデルなどの確率論的手法である。いずれの場合も、コマンドモジュール230は、ニューラルネットワークモデル又は別のモデルとして実装される場合、一実施形態では、入力としてセンサデータ250を電子的に受け付ける。したがって、コマンドモジュール230は、予測モデル260と協調して、例えば、単一の電子的な値として記載の態様を特徴付ける電子出力として様々な決定/評価を生成する。更に、更なる態様では、マッピング管理システム170は、記載のデータを収集し、応答をログ記録し、データ及び応答を使用して、後で更にモデル260を訓練し得る。
【0040】
一実施形態では、コマンドモジュール230は概して、マッピング管理システムを実装するために、プロセッサ110、又は図3に示されるようなクラウド計算環境300内のプロセッサの集合を制御するように機能する命令を含む。
【0041】
図3を参照して、車両100は、ネットワーク305に接続され得、ネットワーク305は、車両100及びクラウドサーバ(例えば、クラウドサーバ310)、インフラストラクチャデバイス(例えば、インフラストラクチャデバイス340)、他の車両(例えば、車両380)、並びにネットワーク305に接続された任意の他のシステム間の通信を可能にする。ネットワーク305に関して、当該ネットワークは、データを交換するために任意の形態の通信又はネットワーキングを使用し得、これは、インターネット、有向狭域通信(DSRC)サービス、LTE、5G、ミリメートル波(ミリ波)通信などを含むが、これらに限定されない。
【0042】
クラウドサーバ310は、通信ユニット335によりネットワーク305を通じてマッピング管理システム170の一部であり得るプロセッサ315を含むものとして示されている。一実施形態では、クラウドサーバ310は、通信モジュール325を記憶するメモリ320を含む。メモリ320は、通信モジュール325を記憶する、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、ハードディスクドライブ、フラッシュメモリ、又は他の好適なメモリである。通信モジュール325は、例えば、プロセッサ315によって実行されると本明細書に開示される様々な機能をプロセッサ315に行わせるコンピュータ可読命令である。更に、一実施形態では、クラウドサーバ310は、データベース330を含む。一実施形態では、データベース330は、メモリ320又は別のデータストアに記憶された電子データ構造であり、それは、記憶されたデータの分析、記憶されたデータの提供、記憶されたデータの編成などのためにプロセッサ315によって実行され得るルーチンで構成されている。
【0043】
インフラストラクチャデバイス340は、通信ユニット370によりネットワーク305を通じてマッピング管理システム170の一部であり得るプロセッサ345を含むものとして示されている。一実施形態では、インフラストラクチャデバイス340は、通信モジュール355を記憶するメモリ350を含む。メモリ350は、通信モジュール355を記憶する、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、ハードディスクドライブ、フラッシュメモリ、又は他の好適なメモリである。通信モジュール355は、例えば、プロセッサ345によって実行されると本明細書に開示される様々な機能をプロセッサ345に行わせるコンピュータ可読命令である。更に、一実施形態では、インフラストラクチャデバイス340は、データベース360を含む。一実施形態では、データベース360は、メモリ350又は別のデータストアに記憶された電子データ構造であり、それは、記憶されたデータの分析、記憶されたデータの提供、記憶されたデータの編成などのためにプロセッサ345によって実行され得るルーチンで構成されている。
【0044】
したがって、センサデータ250から取得される情報に加えて、マッピング管理システム170は、クラウドサーバ(例えば、クラウドサーバ310)、インフラストラクチャデバイス(例えば、インフラストラクチャデバイス340)、他の車両(例えば、車両380)、及びネットワーク305に接続された任意の他のシステムから情報を取得し得る。一部の実施形態では、マッピング管理システム170に関して述べられるコマンドモジュール230のいずれか又は全ての機能は、クラウドサーバ310において実装され得る。加えて、車両についてのグラウンドトゥルース軌道に関する情報は、インフラストラクチャデバイス340によってコマンドモジュール230又はクラウドサーバ310に提供され得る(例えば、一時的又は永久的な設備は、非常に正確な車両位置測定値を提供する)。
【0045】
図9は、マッピング管理システムを実装することに関連付けられる方法900のフローチャートを示す。方法900は、図1及び図2のマッピング管理システム170の観点から述べられる。方法900は、マッピング管理システム170と組み合わされて述べられるが、方法900は、マッピング管理システム170内での実装に限定されるのではなく、方法900を実装し得るシステムの一例であることを理解されたい。
【0046】
910で、コマンドモジュール230は、トレースデータを受信し得る。例えば、コマンドモジュール230は、センサデータ250から、又はクラウド計算環境300を介してトレースデータを受信し得る。一部の実施形態では、コマンドモジュール230は、車両100の位置推定及びマッピングの同時実行システムによって提供されるオドメトリデータ及び距離検知データを含むトレースデータを受信し得る。一部の実施形態では、トレースデータはまた、オドメトリデータ及び距離検知データに対応するGPS情報などの追加の情報を含み得る。一部の実施形態では、カメラデータ、オドメトリデータ、又はGPSデータは、当該データが異なる車両システムから取得される場合などに、わずかに異なる時間に記録され得る。したがって、一部の実施形態では、コマンドモジュール230はまた、補間又は当該技術分野で既知である他の技術などによって、時間に関してカメラデータ、オドメトリデータ、又はGPSデータを整列させる分析を行い得る。一部の実施形態では、トレースデータは、オドメトリデータ、距離検知データ、又はGPSデータの組み合わせに関する1つのセッションを表し得る一方、他の実施形態では、トレースデータは、オドメトリデータ、距離検知データ、又はGPSデータの組み合わせに関する複数のセッションを含み得る。
【0047】
920で、コマンドモジュール230は、車線区間内の通過のグループを提供するようにトレースデータを処理し得る。例えば、トレースデータを受信すると、コマンドモジュール230は、トレースを2つの区間(例えば、北行き車線、南行き車線)に分割し得、次いで、各区間は、車線区間(例えば、北行き車線A、北行き車線B、南行き車線A、南行き車線B)に分割され得る。更に、トレースデータが車線区間を順次通過する度に、車線区間内のトレースデータは、車線区間通過(又は通過)として記録され得る。加えて、各々の車線区間通過は、区間、車線区間、及び車線区間通過数に基づいて識別され得る(例えば、或る通過は、識別子NA2を有する)。
【0048】
930で、コマンドモジュール230は、車線区間内の通過のグループに関する誤差測定値を決定し得る。一部の実施形態では、コマンドモジュール230による誤差測定値の決定の一部として、1つ以上の推定軌道に対する誤差修正は、車線区間通過に追加される各通過により生じ得る。例えば、第1の推定軌道は、第1の通過に基づいて修正され得、第2の推定軌道は、第1の通過及び第2の通過に基づいて修正され得、第3の推定軌道は、第1、第2、及び第3の通過に基づいて修正され得る)。一部の実施形態では、或る軌道が修正されると、他の軌道の修正にもつながり得る。当該修正は、当該技術分野で既知である様々な技術、例えば、ループ閉じ込みや境界制約の強制や有効なキーポイントを定めるための関連付けヒューリスティックの使用などを含む方法によって、車線区間に対する各通過の追加により生じ得る。したがって、追加される各通過により、誤差測定値は、位置又は姿勢に基づいて計算され得る。例えば、任意の推定軌道に対する修正が実装されると、絶対姿勢誤差又は相対姿勢誤差は、車線区間に対する各通過の追加により計算され得、その結果、1つ以上の誤差測定値は、車線区間に対する各通過の追加に関連付けられ得る。使用され得る誤差測定値のタイプに関して、コマンドモジュール230は、当該技術分野で既知であるような姿勢又は位置に関する任意の誤差測定、例えば、グラウンドトゥルース軌道や最善の利用可能な推定軌道などと推定軌道を比較することに関して既知である誤差測定を行い得る。
【0049】
940で、コマンドモジュール230は、上述のような誤差測定値を評価する、当該技術分野で既知である任意の基準を含み得る基準を受信し得る。例えば、コマンドモジュール230は、1つ以上の閾値又は値の範囲を受信し、それによって、車線区間内の多数の通過にわたって誤差測定値を評価し得る。
【0050】
950で、コマンドモジュール230は、誤差測定値に基づいて、基準を満たすために必要とされる通過の推定数を決定し得る。例えば、指定された誤差測定値に関して閾値基準よりも上又は下である値を達成することは、通過の充分な数を推定するために使用され得る。別の例として、通過が追加されるときの1つ以上の誤差測定値に関する値の相対変化は、1つ以上の閾値に対して評価され得る。
【0051】
ここで、本明細書に開示されるシステム及び方法が動作し得る例示的な環境として図1について充分詳細に述べる。一部の例では、車両100は、様々なモード、例えば、自律モード、1つ以上の半自律動作モード、マニュアルモードなどを選択的に切り替えるように構成されている。当該切り替えは、現在既知であるか又は今後開発される好適な方法で実装され得る。「マニュアルモード」は、全て又は大部分の車両のナビゲーション/操縦が、ユーザ(例えば、人間の運転者)から受信される入力に従って行われることを意味する。1つ以上の機構では、車両100は、マニュアルモードのみで動作するように構成された従来の車両であり得る。
【0052】
1つ以上の実施形態では、車両100は、自律車両である。本明細書で使用される「自律車両」は、自律モードで動作する車両を指す。「自律モード」は、1つ以上の計算システムを使用して、人間の運転者から最小限の入力又は入力無しで、車両100を制御すること、例えば、走行ルートに沿った車両100のナビゲーション/操縦を提供することを指す。1つ以上の実施形態では、車両100は、高度に自動化されるか、又は完全に自動化されるかのいずれかである。一実施形態では、車両100は、1つ以上の半自律動作モードで構成されており、当該半自律動作モードでは、1つ以上の計算システムは、走行ルートに沿った車両のナビゲーション/操縦の一部を行い、車両操作者(すなわち、運転者)は、走行ルートに沿った車両100のナビゲーション/操縦の一部を行うように入力を車両に提供する。
【0053】
車両100は、1つ以上のプロセッサ110を含み得る。1つ以上の機構では、プロセッサ110は、車両100のメインプロセッサであり得る。例えば、プロセッサ110は、電子制御ユニット(ECU)であり得る。車両100は、1つ以上のタイプのデータを記憶する1つ以上のデータストア115を含み得る。データストア115は、揮発性メモリ、不揮発性メモリ、又はその両方を含み得る。好適なデータストア115の例には、RAM(ランダムアクセスメモリ)、フラッシュメモリ、ROM(リードオンリーメモリ)、PROM(プログラマブルリードオンリーメモリ)、EPROM(消去可能なプログラマブルリードオンリーメモリ)、EEPROM(電気的に消去可能なプログラマブルリードオンリーメモリ)、レジスタ、磁気ディスク、光ディスク、ハードドライブ、若しくは任意の他の好適な記憶媒体、又はこれらの任意の組み合わせが含まれる。データストア115は、プロセッサ110の構成要素であり得るか、又はデータストア115は、プロセッサ110による使用のためにプロセッサ110に対して動作可能に接続され得る。本明細書の全体を通して使用される「動作可能に接続」という用語は、直接的又は間接的な接続を含み、直接的な物理的接触がない接続を含み得る。
【0054】
1つ以上の機構では、データストア115は、マップデータ116を含み得る。マップデータ116は、1つ以上の地理的エリアのマップを含み得る。一部の例では、マップデータ116は、1つ以上の地理的エリア内の道路、交通制御デバイス、道路マーク、構造物、特徴、目印、又はこれらの任意の組み合わせに関する情報又はデータを含み得る。マップデータ116は、任意の好適な形態であり得る。一部の例では、マップデータ116は、エリアの航空写真を含み得る。一部の例では、マップデータ116は、エリアの地上写真を含み、360度の地上写真を含み得る。マップデータ116は、マップデータ116に含まれる1つ以上の項目に関する測定値、寸法、距離、情報、又はこれらの任意の組み合わせを含み得る。マップデータ116はまた、マップデータ116に含まれる他の項目に対する測定値、寸法、距離、情報、又はこれらの任意の組み合わせを含み得る。マップデータ116は、道路形状に関する情報を有するデジタルマップを含み得る。マップデータ116は、高品質、高精細、又はその両方であり得る。
【0055】
1つ以上の機構では、マップデータ116は、1つ以上の地形マップ117を含み得る。地形マップ117は、1つ以上の地理的エリアの地面、地形、道路、地表、他の特徴、又はこれらの任意の組み合わせに関する情報を含み得る。地形マップ117は、1つ以上の地理的エリア内の高度データを含み得る。地形マップ117は、高品質、高精細、又はその両方であり得る。地形マップ117は、舗装された道路、舗装されていない道路、土地、及び地上面を定める他のものを含み得る1つ以上の地上面を定め得る。
【0056】
1つ以上の機構では、マップデータ116は、1つ以上の静止障害物マップ118を含み得る。静止障害物マップ118は、1つ以上の地理的エリア内に配置された1つ以上の静止障害物に関する情報を含み得る。「静止障害物」は、物理オブジェクトであり、その位置は、或る期間において変化しないか若しくは実質的に変化せず、そのサイズは、或る期間において変化しないか若しくは実質的に変化しない。静止障害物の例には、木、建物、縁石、フェンス、ガードレール、中央線、電柱、像、モニュメント、標識、ベンチ、備品、郵便ポスト、大きい岩、丘が含まれる。静止障害物は、地面の高さよりも上に延びるオブジェクトであり得る。静止障害物マップ118に含まれる1つ以上の静止障害物は、位置データ、サイズデータ、寸法データ、材料データ、他のデータ、又はそれに関連付けられるこれらの任意の組み合わせを有し得る。静止障害物マップ118は、1つ以上の静止障害物に関する測定値、寸法、距離、情報、又はこれらの任意の組み合わせを含み得る。静止障害物マップ118は、高品質、高精細、又はその両方であり得る。静止障害物マップ118は、マッピングされたエリア内の変化を反映させるように更新され得る。
【0057】
データストア115は、センサデータ119を含み得る。本文脈では、「センサデータ」は、当該センサに関する能力及び他の情報を含む、車両100が備えるセンサに関する任意の情報を意味する。以下で説明されるように、車両100は、センサシステム120を含み得る。センサデータ119は、センサシステム120の1つ以上のセンサに関するものであり得る。一例として、1つ以上の機構では、センサデータ119は、センサシステム120の1つ以上のLiDARセンサ124に関する情報を含み得る。
【0058】
一部の例では、マップデータ116又はセンサデータ119の少なくとも一部は、車両100に配置され搭載されたデータストア115に配置され得る。代替的に又は追加的に、マップデータ116又はセンサデータ119の少なくとも一部は、車両100から離れて配置されたデータストア115に配置され得る。
【0059】
上述のように、車両100は、センサシステム120を含み得る。センサシステム120は、1つ以上のセンサを含み得る。「センサ」は、何かを検出又は検知し得る、任意のデバイス、構成要素、又はシステムを意味する。1つ以上のセンサは、リアルタイムで検知、検出、又は機能するように構成され得る。本明細書で使用される「リアルタイム」という用語は、行われる特定のプロセス若しくは決定についてユーザ若しくはシステムが充分迅速に検知するか、又はプロセッサが何らかの外部プロセスに追随することを可能にする処理応答性のレベルを意味する。
【0060】
センサシステム120が複数のセンサを含む機構では、センサは、互いに独立して機能し得る。代替的に、センサのうちの2つ以上は、互いに組み合わさって機能し得る。当該実施形態では、2つ以上のセンサは、センサネットワークを形成し得る。センサシステム120、1つ以上のセンサ、又はその両方は、車両100のプロセッサ110、データストア115、別の要素(図1に示される要素のうちのいずれかを含む)、又はこれらの任意の組み合わせに対して動作可能に接続され得る。センサシステム120は、車両100の外部環境(例えば、近くの車両)の少なくとも一部に関するデータを取得し得る。
【0061】
センサシステム120は、任意の好適なタイプのセンサを含み得る。異なるタイプのセンサの様々な例が本明細書に記載される。しかしながら、実施形態は、記載される特定のセンサに限定されないことが理解されるであろう。センサシステム120は、1つ以上の車両センサ121を含み得る。車両センサ121は、車両100自体に関する情報の検出、決定、検知、又は取得を組み合わせて行い得る。1つ以上の機構では、車両センサ121は、例えば、慣性加速度などに基づいて、車両100の位置及び向きの変化に関する検出、検知、又は取得を組み合わせて行うように構成され得る。1つ以上の機構では、車両センサ121は、1つ以上の加速度計、1つ以上のジャイロスコープ、慣性計測ユニット(IMU)、推測航法システム、グローバルナビゲーションサテライトシステム(GNSS)、グローバルポジショニングシステム(GPS)、ナビゲーションシステム147、他の好適なセンサ、又はこれらの任意の組み合わせを含み得る。車両センサ121は、車両100の1つ以上の特徴に関する検出、検知、又は取得を組み合わせて行うように構成され得る。1つ以上の機構では、車両センサ121は、車両100の現在の速度を決定するための速度計を含み得る。
【0062】
代替的に又は追加的に、センサシステム120は、運転環境データの取得、検知、又は取得を組み合わせて行うように構成された1つ以上の環境センサ122を含み得る。「運転環境データ」は、自律車両が配置された外部環境又はその1つ以上の部分に関するデータ又は情報を含む。例えば、環境センサ122は、車両100の外部環境の少なくとも一部における障害物、当該障害物に関する情報/データ、又はこれらの組み合わせに関する検出、定量化、検知、又は取得を任意の組み合わせで行うように構成され得る。当該障害物は、静止オブジェクト、動的オブジェクト、又はこれらの組み合わせを備え得る。環境センサ122は、例えば、車線マーカ、標識、交通信号灯、交通標識、車線、横断歩道、車両100に近い縁石、路上外のオブジェクトなどの、車両100の外部環境における他のものに関する検出、測定、定量化、検知、又は取得を任意の組み合わせで行うように構成され得る。
【0063】
センサシステム120のセンサの様々な例が本明細書に記載される。例示的なセンサは、1つ以上の環境センサ122、1つ以上の車両センサ121、又はその両方の一部であり得る。しかしながら、実施形態は、記載される特定のセンサに限定されないことが理解されるであろう。
【0064】
一例として、1つ以上の機構では、センサシステム120は、1つ以上のレーダセンサ123、1つ以上のLiDARセンサ124、1つ以上のソナーセンサ125、1つ以上のカメラ126、又はこれらの任意の組み合わせを含み得る。1つ以上の機構では、カメラ126は、ハイダイナミックレンジ(HDR)カメラ又は赤外線(IR)カメラであり得る。
【0065】
車両100は、入力システム130を含み得る。「入力システム」は、情報/データを機械に入力することを可能にする、任意のデバイス、構成要素、システム、要素、若しくは機構、又はこれらのグループを含む。入力システム130は、車両乗客(例えば、運転者又は乗客)から入力を受信し得る。車両100は、出力システム135を含み得る。「出力システム」は、情報/データを車両乗客(例えば、人、車両乗客など)に提示することを可能にする、任意のデバイス、構成要素、若しくは機構、又はこれらのグループを含む。
【0066】
車両100は、1つ以上の車両システム140を含み得る。車両システム140の様々な例が図1に示されている。しかしながら、車両100は、より多くの車両システム、より少ない車両システム、又は異なる車両システムを含み得る。特定の車両システムが別々に定められているが、システム又はその一部の各々又はいずれかは、車両100内でハードウェア、ソフトウェア、又はこれらの組み合わせを介して他のように組み合わされ得るか又は分離され得ることを理解されたい。車両100は、推進システム141、ブレーキシステム142、ステアリングシステム143、スロットルシステム144、トランスミッションシステム145、信号伝達システム146、ナビゲーションシステム147、他のシステム、又はこれらの任意の組み合わせを含み得る。これらのシステムの各々は、現在既知であるか又は今後開発される、1つ以上のデバイス、構成要素、又はこれらの組み合わせを含み得る。
【0067】
ナビゲーションシステム147は、車両100の地理的位置の決定、車両100についての走行ルートの決定、又はその両方の決定を行うように構成された、現在既知であるか又は今後開発される、1つ以上のデバイス、アプリケーション、及び/又はこれらの組み合わせを含み得る。ナビゲーションシステム147は、車両100についての走行ルートを決定するための1つ以上のマッピングアプリケーションを含み得る。ナビゲーションシステム147は、グローバルポジショニングシステム、ローカルポジショニングシステム、ジオロケーションシステム、又はこれらの任意の組み合わせを含み得る。
【0068】
プロセッサ110、マッピング管理システム170、自動運転モジュール160、又はこれらの任意の組み合わせは、様々な態様の車両システム140又はその個々の構成要素と通信するように動作可能に接続され得る。例えば、図1に戻って、プロセッサ110、自動運転モジュール160、又はこれらの組み合わせは、様々な態様の車両システム140から情報を送信又は受信して車両100の動き、速度、操縦、進行方向、方向などを制御するように通信し得る。プロセッサ110、マッピング管理システム170、自動運転モジュール160、又はこれらの任意の組み合わせは、これらの車両システム140の一部又は全てを制御し得、したがって、部分的又は完全に自律的であり得る。
【0069】
プロセッサ110、マッピング管理システム170、自動運転モジュール160、又はこれらの任意の組み合わせは、車両システム140又はその構成要素のうちの1つ以上を制御することによって、車両100のナビゲーション又は操縦のうちの少なくとも一方を制御するように動作可能であり得る。例えば、自律モードで動作しているとき、プロセッサ110、マッピング管理システム170、自動運転モジュール160、又はこれらの任意の組み合わせは、車両100の方向、速度、又はその両方を制御し得る。プロセッサ110、マッピング管理システム170、自動運転モジュール160、又はこれらの任意の組み合わせは、(例えば、エンジンに提供される燃料の供給を増加させることによって)車両100を加速させるか、(例えば、エンジンへの燃料の供給を減少させることや、ブレーキをかけることによって)車両100を減速させるか、(例えば、前方2輪を旋回させることによって)車両100の方向を変更させるか、又はこれらの任意の組み合わせを車両100に行わせ得る。本明細書で使用される「させる」又は「させること」は、直接的又は間接的な方法のいずれかで、或る事象若しくは動作を、起こさせる(make)、起こさせる(force)、起こさせる(compel)、起こすように指図する、起こすように命令する、起こすように指示する、当該事象若しくは動作が起こるのを可能にする、若しくはこれらの任意の組み合わせであるか、又は当該事象若しくは動作を、少なくともこのような事象若しくは動作が起き得る状態になるように、させる(make)、させる(force)、させる(compel)、指図する、命令する、指示する、当該事象若しくは動作が少なくとも当該状態になるのを可能にする、若しくはこれらの任意の組み合わせであることを意味する。
【0070】
車両100は、1つ以上のアクチュエータ150を含み得る。アクチュエータ150は、プロセッサ110、自動運転モジュール160、又はこれらの組み合わせからの信号又は他の入力の受信に応じて、車両システム140又はその構成要素のうちの1つ以上に関する修正、調整、変更、又はこれらの任意の組み合わせを行うように動作可能な任意の要素又は要素の組み合わせであり得る。任意の好適なアクチュエータが使用され得る。例えば、アクチュエータ150は、単にいくつかの可能性を挙げれば、モータ、空気圧アクチュエータ、液圧ピストン、リレー、ソレノイド、及び圧電アクチュエータを含み得る。
【0071】
車両100は、1つ以上のモジュールを含み得、その少なくとも一部が本明細書に記載される。モジュールは、プロセッサ110によって実行されると、本明細書に記載される様々なプロセスのうちの1つ以上を実装するコンピュータ可読プログラムコードとして実装され得る。モジュールのうちの1つ以上は、プロセッサ110の構成要素であり得るか、又はモジュールのうちの1つ以上は、プロセッサ110が動作可能に接続された他の処理システム上で実行され得るか、若しくは当該他の処理システム間で分散され得る。モジュールは、プロセッサ110によって実行可能な命令(例えば、プログラムロジック)を含み得る。代替的に又は追加的に、データストア115は、当該命令を含み得る。
【0072】
1つ以上の機構では、本明細書に記載されるモジュールのうちの1つ以上は、人工知能要素又は演算知能要素、例えば、ニューラルネットワーク、ファジーロジック、又は他の機械学習アルゴリズムを含み得る。更に、1つ以上の機構では、モジュールのうちの1つ以上は、本明細書に記載される複数のモジュール間で分散され得る。1つ以上の機構では、本明細書に記載されるモジュールのうちの2つ以上は、単一のモジュールに組み合わされ得る。
【0073】
車両100は、1つ以上の自律運転モジュール160を含み得る。自動運転モジュール160は、センサシステム120から、又は車両100、車両100の外部環境、若しくはこれらの組み合わせに関する情報を取り込むことが可能な任意の他のタイプのシステムからデータを受信するように構成され得る。1つ以上の機構では、自動運転モジュール160は、当該データを使用して、1つ以上の運転シーンモデルを生成し得る。自動運転モジュール160は、車両100の位置及び速度を決定し得る。自動運転モジュール160は、障害物の位置、障害物、又は交通標識、木、低木、近隣車両、歩行者などを含む他の環境的特徴を決定し得る。
【0074】
自動運転モジュール160は、プロセッサ110、本明細書に記載されるモジュールのうちの1つ以上、又はこれらの任意の組み合わせによって使用され得る車両100の外部環境内の障害物に関する位置情報の受信、決定、又はこれらの組み合わせを行って、車両100の位置若しくは向き、複数の衛星若しくは他のジオロケーションシステムからの信号に基づくグローバル座標における車両位置若しくは向き、又は任意の他のデータ/信号を推定するように構成され得、当該任意の他のデータ/信号は、マップを作成する際又はマップデータに対する車両100の位置を決定する際のいずれかで使用される車両100の環境に関する車両100の位置又は向きを決定するために使用され得る。
【0075】
自動運転モジュール160は、走行経路、車両100についての現在の自律運転操縦、将来の自律運転操縦、現在の自律運転操縦に対する修正などを決定するように、独立して又はマッピング管理システム170と組み合わされて構成され得る。自動運転モジュール160による当該決定は、センサシステム120によって取得されるデータ、運転シーンモデル、センサデータ250からの決定などの任意の他の好適なソースからのデータ、又はこれらの任意の組み合わせに基づき得る。概して、自動運転モジュール160は、先進運転支援(ADAS)機能、半自律機能、及び完全自律機能を含む様々なレベルの自動化を実装するように機能し得る。「運転操縦」は、車両の動きに影響を与える1つ以上の動作を意味する。運転操縦の例には、単にいくつかの可能性を挙げれば、加速、減速、ブレーキ、旋回、車両100の横方向の移動、走行車線の変更、走行車線への合流、及び後退が含まれる。自動運転モジュール160は、運転操縦を実装するように構成され得る。自動運転モジュール160は直接的又は間接的に、当該自律運転操縦を実装させ得る。本明細書で使用される「させる」又は「させること」は、直接的又は間接的な方法のいずれかで、或る事象若しくは動作を、起こさせる、起こすように命令する、起こすように指示する、当該事象若しくは動作が起こるのを可能にする、若しくはこれらの任意の組み合わせであるか、又は当該事象若しくは動作を、少なくともこのような事象若しくは動作が起き得る状態になるようにさせる、命令する、指示する、当該事象若しくは動作が少なくとも当該状態になるのを可能にする、若しくはこれらの任意の組み合わせであることを意味する。自動運転モジュール160は、様々な車両機能を実行して、個々であるか組み合わせであるかに関わらず、車両100若しくはその1つ以上のシステム(例えば、車両システム140のうちの1つ以上)にデータを送信するか、そこからデータを受信するか、それと相互作用するか、又はそれを制御するように構成され得る。
【0076】
詳細な実施形態が本明細書に開示されている。しかしながら、本開示の実施形態は単なる例として意図されることを理解されたい。したがって、本明細書に開示される特定の構造的及び機能的な詳細は、限定的なものとして解釈されるべきではなく、単に、特許請求の範囲に対する根拠として、及び実質的に任意の適切な詳細構造で本明細書の態様を種々に採用するように当業者に教示する代表的な根拠として解釈されるべきである。更に、本明細書で使用される用語及びフレーズは、限定的であるように意図されるのではなく、むしろ、可能性のある実装態様の理解可能な説明を提供するように意図される。様々な実施形態が図1図9に示されているが、当該実施形態は、図示された構造又は用途に限定されない。
【0077】
図におけるフローチャート及びブロック図は、様々な実施形態に係るシステム、方法、及びコンピュータプログラム製品の可能性のある実装態様のアーキテクチャ、機能、及び動作を示す。この点で、フローチャート又はブロック図における各ブロックは、指定された論理機能を実装する1つ以上の実行可能命令を備える、モジュール、セグメント、又はコードの一部を表し得る。一部の代替的な実装態様では、ブロックに記される機能は、図に記される順序と関係なく生じ得ることにも留意されたい。例えば、連続して示される2つのブロックは実際、実質的に同時に実行され得るか、又はブロックは時には、関連する機能に応じて、逆順で実行され得る。
【0078】
上述のシステム、構成要素、又はプロセスは、ハードウェア又はハードウェア及びソフトウェアの組み合わせで実現され得、1つの処理システム内の中央集中方式、又は様々な要素がいくつかの相互接続された処理システムにわたって広がっている分散方式で実現され得る。本明細書に記載される方法を実行するように構成された任意の種類の処理システム又は別の装置が好適である。ハードウェア及びソフトウェアの典型的な組み合わせは、ロード及び実行されているとき、処理システムが本明細書に記載される方法を実行するように処理システムを制御するコンピュータ使用可能プログラムコードを有する処理システムであり得る。システム、構成要素、又はプロセスはまた、本明細書に記載される方法及びプロセスを行うために機械によって実行可能な命令のプログラムを有体的に具現化した、機械によって読み取り可能な、コンピュータプログラム製品又は他のデータプログラム記憶デバイスなどのコンピュータ可読ストレージに組み込まれ得る。これらの要素はまた、アプリケーション製品に組み込まれ得、当該アプリケーション製品は、本明細書に記載される方法の実装態様を可能にする全ての特徴を備え、処理システムにおいてロードされると当該方法を実行することができる。
【0079】
更に、本明細書に記載される機構は、コンピュータ可読プログラムコードが具現化、例えば記憶された1つ以上のコンピュータ可読媒体において具現化されたコンピュータプログラム製品の形態を取り得る。1つ以上のコンピュータ可読媒体の任意の組み合わせが利用され得る。コンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読記憶媒体であり得る。「コンピュータ可読記憶媒体」というフレーズは、非一時的記憶媒体を意味する。コンピュータ可読記憶媒体は、例えば、電子、磁気、光、電磁気、赤外線、若しくは半導体のシステム、装置、若しくはデバイス、又は以上の任意の好適な組み合わせであり得るが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例(非網羅的なリスト)は、以下のもの、すなわち、携帯型コンピュータディスケット、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)、リードオンリーメモリ(ROM)、消去可能なプログラマブルリードオンリーメモリ(EPROM若しくはフラッシュメモリ)、携帯型コンパクトディスクリードオンリーメモリ(CD-ROM)、デジタルバーサタイルディスク(DVD)、光記憶デバイス、磁気記憶デバイス、又は以上の任意の好適な組み合わせを含む。本明細書の文脈では、コンピュータ可読記憶媒体は、命令実行システム、装置、若しくはデバイスによって、又はこれらとの関連で使用されるプログラムを含み得るか又は記憶し得る任意の有体の媒体であり得る。
【0080】
概して、本明細書で使用されるモジュールは、特定のタスクを行うか、又は特定のデータタイプを実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。更なる態様では、メモリは概して、記されたモジュールを記憶する。モジュールに関連付けられるメモリは、プロセッサ内に組み込まれたバッファ若しくはキャッシュ、RAM、ROM、フラッシュメモリ、又は別の好適な電子記憶媒体であり得る。また更なる態様では、本開示によって構想されるモジュールは、特定用途向け集積回路(ASIC)として、システムオンチップ(SoC)のハードウェア構成要素として、プログラマブルロジックアレイ(PLA)として、又は本開示の機能を行うために定められた構成セット(例えば、命令)が組み込まれた別の好適なハードウェア構成要素として実装される。
【0081】
コンピュータ可読媒体上で具現化されるプログラムコードは、任意の適切な媒体を使用して送信され得、当該任意の適切な媒体は、無線、有線、光ファイバ、ケーブル、RFなど、又は以上の任意の好適な組み合わせを含むが、これらに限定されない。本機構の態様についての動作を実行するコンピュータプログラムコードは、1つ以上のプログラミング言語の任意の組み合わせで書かれ得、当該1つ以上のプログラミング言語は、Java(登録商標)、Smalltalk、C++、又は同種のものなどのオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語などの従来の手続き型プログラミング言語を含む。プログラムコードは、ユーザのコンピュータ上で完全に実行され得るか、ユーザのコンピュータ上で部分的に実行され得るか、スタンドアロンソフトウェアパッケージとして実行され得るか、ユーザのコンピュータ上で部分的に且つリモートコンピュータ上で部分的に実行され得るか、又はリモートコンピュータ若しくはサーバ上で完全に実行され得る。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)若しくはワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを通じてユーザのコンピュータに接続され得るか、又は(例えば、インターネットサービスプロバイダを使用してインターネットを通じて)外部コンピュータへの接続が行われ得る。
【0082】
本明細書で使用される「或る(a)」及び「或る(an)」という用語は、1つ又は1つよりも多いものとして定義される。本明細書で使用される「複数」という用語は、2つ又は2つよりも多いものとして定義される。本明細書で使用される「別の」という用語は、少なくとも第2の又はより多くのものとして定義される。本明細書で使用される「含む」及び「有する」という用語は、備える(すなわち、オープンランゲージ)として定義される。本明細書で使用されるフレーズ「~及び~のうちの少なくとも1つ」は、関連付けられた列挙事項のうちの1つ以上の任意の全ての可能性のある組み合わせを指し、当該組み合わせを包含する。一例として、「A、B、及びCのうちの少なくとも1つ」というフレーズは、Aのみ、Bのみ、Cのみ、又はそれらの任意の組み合わせ(例えば、AB、AC、BC、若しくはABC)を含む。
【0083】
本明細書における態様は、趣旨又はその本質的属性から逸脱することなく他の形態で具現化され得る。したがって、ここでの範囲を示すものとして、以上の明細書ではなく以下の特許請求の範囲を参照すべきである。
図1
図2
図3
図4A
図4B
図5A
図5B
図6
図7
図8A
図8B
図9
【外国語明細書】