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

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

▶ ズークス インコーポレイテッドの特許一覧

<>
  • 特許-ローカライゼーションエラー監視 図1
  • 特許-ローカライゼーションエラー監視 図2
  • 特許-ローカライゼーションエラー監視 図3
  • 特許-ローカライゼーションエラー監視 図4
  • 特許-ローカライゼーションエラー監視 図5
  • 特許-ローカライゼーションエラー監視 図6
  • 特許-ローカライゼーションエラー監視 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-02-19
(45)【発行日】2025-02-28
(54)【発明の名称】ローカライゼーションエラー監視
(51)【国際特許分類】
   B60W 50/04 20060101AFI20250220BHJP
   B60W 60/00 20200101ALI20250220BHJP
   B60W 50/035 20120101ALI20250220BHJP
   G08G 1/16 20060101ALI20250220BHJP
【FI】
B60W50/04
B60W60/00
B60W50/035
G08G1/16 C
【請求項の数】 15
(21)【出願番号】P 2022552707
(86)(22)【出願日】2021-02-09
(65)【公表番号】
(43)【公表日】2023-04-19
(86)【国際出願番号】 US2021017208
(87)【国際公開番号】W WO2021178110
(87)【国際公開日】2021-09-10
【審査請求日】2024-01-19
(31)【優先権主張番号】16/809,400
(32)【優先日】2020-03-04
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】518156417
【氏名又は名称】ズークス インコーポレイテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】デレク アダムス
(72)【発明者】
【氏名】デイビッド バーディック バーマン
(72)【発明者】
【氏名】マイケル カーステン ボッセ
(72)【発明者】
【氏名】ギレルモ デュエナス アラーナ
(72)【発明者】
【氏名】アン-クレール エリザベス マリー ル エナフ
(72)【発明者】
【氏名】フランセスコ パピ
(72)【発明者】
【氏名】ブライス レブサメン
【審査官】平井 功
(56)【参考文献】
【文献】特開2018-169319(JP,A)
【文献】特開2004-338637(JP,A)
【文献】国際公開第2018/180247(WO,A1)
【文献】特開2020-8461(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B60W 30/00-60/00
G08G 1/00-99/00
(57)【特許請求の範囲】
【請求項1】
システムであって、
1つまたは複数のプロセッサーと、
前記1つまたは複数のプロセッサーによって実行されると、前記システムに、
自律車両のセンサーからセンサーデータを受信することと、
前記センサーデータに少なくとも部分的に基づいて、前記自律車両のロケーション、位置、向き、速度、または加速度のうちの少なくとも1つを含む前記自律車両の状態を決定することと、
前記自律車両の前記状態に関連付けられたメトリックを決定することであって、前記メトリックは、分散、残差、または補正係数のうちの少なくとも2つを含む、ことと、
前記メトリックに関連付けられた前記自律車両のセンサーまたはコンポーネントのうちの少なくとも1つを決定することと、
前記センサーまたは前記コンポーネントのうちの前記少なくとも1つに関連付けられた重み付け値を決定することであって、前記重み付け値は、前記自律車両の制御に対する前記センサーまたは前記コンポーネントのうちの前記少なくとも1つに少なくとも部分的に基づく、ことと、
前記メトリックに前記重み付け値を適用して、重み付けされたメトリックを決定することと、
前記重み付けされたメトリックがメトリックしきい値以上であると決定することと、
前記重み付けされたメトリックが前記メトリックしきい値以上であることに少なくとも部分的に基づいて、前記自律車両の前記状態におけるエラーを決定することと、
前記エラーに少なくとも部分的に基づいて前記自律車両を制御することと
を含む動作を行わせる1つまたは複数の非一時的なコンピューター読取り可能媒体と
を備えたことを特徴とするシステム。
【請求項2】
前記重み付け値は、環境状況または気象状況に基づいて決定されることを特徴とする請求項1に記載のシステム。
【請求項3】
前記メトリックは、前記残差および前記分散を含み、
前記メトリックが前記メトリックしきい値以上であると決定することは、
前記残差および前記分散に少なくとも部分的に基づいて、更新されたメトリックを決定することと、
前記更新されたメトリックが前記メトリックしきい値以上であることを決定することと
を含むことを特徴とする請求項1または2に記載のシステム。
【請求項4】
前記メトリックは、前記自律車両の前記状態に関連付けられた第1の残差を含む第1のメトリックであり、前記動作は、
前記自律車両の前記状態に関連付けられた第2の残差を含む第2のメトリックを決定すること
をさらに含み、
前記メトリックが前記メトリックしきい値以上であると決定することは、第1のメトリックと前記第2のメトリックとの和が前記メトリックしきい値以上であると決定することを含むことを特徴とする請求項1ないし3のいずれか一項に記載のシステム。
【請求項5】
前記メトリックは、第1の時間に関連付けられた第1のメトリックであり、前記動作は、
第2の時間に関連付けられた第2のメトリックを決定することと、
前記第2のメトリックが前記メトリックしきい値を超えると決定することと、
前記第1の時間と前記第2の時間との間の時間がしきい値時間以上であると決定することと
をさらに含み、
前記エラーを決定することは、前記時間が前記しきい値時間以上であることに少なくとも部分的に基づくことを特徴とする請求項1ないし4のいずれか一項に記載のシステム。
【請求項6】
コンピューティングシステムによって実行される方法であって、
車両のセンサーからセンサーデータを受信することと、
前記センサーデータに少なくとも部分的に基づいて、前記車両のロケーション、位置、向き、速度、または加速度のうちの少なくとも1つに関連付けられた前記車両の状態を決定することと、
前記車両の前記状態に関連付けられたメトリックを決定することであって、前記メトリックは、分散、残差、または補正係数のうちの少なくとも2つを含む、ことと、
前記メトリックに関連付けられた前記車両のセンサーまたはコンポーネントのうちの少なくとも1つを決定することと、
前記センサーまたは前記コンポーネントのうちの前記少なくとも1つに関連付けられた重み付け値を決定することであって、前記重み付け値は、前記車両の制御に対する前記センサーまたは前記コンポーネントのうちの前記少なくとも1つに少なくとも部分的に基づく、ことと、
前記メトリックに前記重み付け値を適用して、重み付けされたメトリックを決定することと、
前記重み付けされたメトリックがしきい値以上であると決定することと、
前記重み付けされたメトリックが前記しきい値以上であることに少なくとも部分的に基づいて、前記車両の前記状態におけるエラーを決定することと
を備えることを特徴とする方法。
【請求項7】
前記エラーに少なくとも部分的に基づいて前記車両を制御することをさらに含み、前記車両を制御することは、
前記車両を停止させること、
前記車両の速度を減ずること、
前記車両の加速度を制限すること、または
前記車両の操舵角を制限すること
のうちの少なくとも1つを含むことを特徴とする請求項6に記載の方法。
【請求項8】
前記分散、前記残差、または前記補正係数のうちの前記少なくとも2つは、
前記車両のグローバル状態、
前記車両の前記状態の一部、
生のセンサーデータ、または
処理されたセンサーデータ
に少なくとも部分的に基づくことを特徴とする請求項6または7に記載の方法。
【請求項9】
前記メトリックは、前記車両の前記状態に関連付けられた前記残差を含み、前記方法は、
前記メトリックが少なくともしきい値時間の間前記しきい値を超えたと決定すること
をさらに備え、
前記エラーを決定することは、前記メトリックが前記少なくとも前記しきい値時間の間前記しきい値を超えることに少なくとも部分的に基づくことを特徴とする請求項6ないし8のいずれか一項に記載の方法。
【請求項10】
前記メトリックは、前記車両の第1のコンポーネントに関連付けられた第1のメトリックであり、前記方法は、
前記車両の第2のコンポーネントに関連付けられた第2のメトリックを決定することであって、前記第1のコンポーネントおよび前記第2のコンポーネントは、同一のまたは類似のタイプのコンポーネントである、ことと、
前記第1のメトリックと前記第2のメトリックとの間の差がしきい値差以上であることを決定することと
をさらに備え、
前記エラーを決定することは、前記差が前記しきい値差以上であることに少なくとも部分的に基づくことを特徴とする請求項6ないし9のいずれか一項に記載の方法。
【請求項11】
前記メトリックは、前記車両の前記状態に関連付けられた第1の残差を含む第1のメトリックであり、前記方法は、
前記車両の前記状態に関連付けられた第2の残差を含む第2のメトリックを決定すること
をさらに備え、
前記メトリックが前記しきい値以上であると決定することは、第1のメトリックと前記第2のメトリックとの和が前記しきい値以上であると決定することを含むことを特徴とする請求項6ないし10のいずれか一項に記載の方法。
【請求項12】
前記メトリックは、前記残差および前記分散を含み、前記メトリックが前記しきい値以上であることを決定することは、
前記残差および前記分散に少なくとも部分的に基づいて、更新されたメトリックを決定することと、
前記更新されたメトリックが前記しきい値以上であることを決定することと
を含むことを特徴とする請求項6ないし11のいずれか一項に記載の方法。
【請求項13】
前記重み付け値は、環境状況または気象状況に基づいて決定されることを特徴とする請求項6ないし12のいずれか一項に記載の方法。
【請求項14】
前記メトリックに関連付けられた前記車両の第1のセンサーまたは第1のコンポーネントを決定することと、
前記車両の第2のセンサーまたは第2のコンポーネントを識別することと、
前記第2のセンサーまたは前記第2のコンポーネントに関連付けられた第2のメトリックを決定することと、
前記第2のメトリックが前記しきい値未満であると決定することと、
前記第2のセンサーまたは前記第2のコンポーネントに少なくとも部分的に基づいて前記車両を制御することと
をさらに備えることを特徴とする請求項6ないし13のいずれか一項に記載の方法。
【請求項15】
1つまたは複数のプロセッサーによって実行されると、前記1つまたは複数のプロセッサーに、請求項6ないし14のいずれか一項に記載の方法を行わせる命令を含むことを特徴とする1つまたは複数の非一時的なコンピューター読取り可能媒体。
【発明の詳細な説明】
【背景技術】
【0001】
優先権
本出願は、全内容が参照によって本明細書に組み入れられる、2020年03月04日に出願された、「LOCALIZATION ERROR MONITORING」という表題の米国特許出願シリアル番号16/809,400に対する優先権を主張する。
【0002】
ローカライゼーションは、実体が環境におけるロケーションを決定する処理である。すなわち、ローカライゼーションすることによって、たとえば車両などの実体は、実体が置かれている環境に関連付けられたマップにおける要素との正確な関係を決定することが可能である。たとえば自律車両などのロボットアプリケーションにおいて用いられるとき、ローカライゼーションにおけるエラーは、好ましくないイベントを引き起こすことが可能である。
【0003】
詳細な説明は、添付の図面を参照して説明される。図面において、参照符号の最も左の数字(複数可)は、参照符号が最初に現れる図面を特定する。別の図面における同一の参照符号の使用は、同様のまたはまったく同じのコンポーネントまたは特徴を示す。
【図面の簡単な説明】
【0004】
図1】本明細書に説明されている例示的なローカライゼーションエラー監視システムのブロック図を示す図である。
図2】本明細書に説明されている車両のローカライゼーションコンポーネントからの出力を用いることに少なくとも部分的に基づいて車両をどのように制御するかを決定するための例示的な環境を示す図である。
図3】本明細書に説明されている時間をかけて決定される車両の車輪に関連付けられた残差の例示的なチャートである。
図4】本明細書に説明されている技法を行うための例示的なシステムを例示するブロック図である。
図5】本明細書に説明されている車両の状態に関連付けられたメトリックに基づいて車両を制御するための例示的な処理を示す図である。
図6】本明細書に説明されている車両の状態に関連付けられた残差値に基づいて車両を制御するための例示的な処理を示す図である。
図7】本明細書に説明されている最適化された車両の状態を決定するための例示的な処理を示す図である。
【発明を実施するための形態】
【0005】
本明細書に説明される技法は、たとえば車両などの実体に関連付けられたローカライゼーションエラー(localization error)を監視することに関する。車両の車両コンピューティングシステムは、現在の車両の状態を決定することがある。車両の状態は、ロケーション、位置、向き、速度、加速度、または同類のもののうちの1つまたは複数を含むことがある。いくつかの例では、状態は、車両自体の状態を含むことがある。いくつかの例では、状態は、車両のコンポーネントの状態(例えば、ホイールスピード(wheel speed)、車輪の向きなど)を含むことがある。車両コンピューティングシステムは、車両の状態に関連付けられた1つまたは複数の名目上のエラーおよび/または1つまたは複数のモデル化されていないエラーを決定することがある。車両コンピューティングシステムは、名目上のエラー(複数可)および/またはモデル化されていないエラー(複数可)に基づいて車両を制御することがある。
【0006】
車両は、1つまたは複数のセンサーによって収集されるセンサーデータを利用して、環境を通り抜けて進む自律車両または半自律車両を含むことがある。車両によってキャプチャされるセンサーデータは、ライダーセンサー(lidar sensor)、カメラセンサー、レーダーセンサー、タイムオブフライト(time-of-flight)センサー、ソナーセンサー、慣性計測装置(inertial measurement unit:IMU)、および同類のものによってキャプチャされるデータを含むことがある。種々の例では、加えて、車両コンピューティングシステムは、1つまたは複数のマップに関連付けられたマップデータに基づいて、環境を通り抜けて進むことがある。マップ(複数可)は、特徴マップ(例えば、環境に関連付けられた別個の特徴)、タイルマップ(例えば、データについての個別のリージョンにおいて表される環境)、および同類のものを含むことがある。いくつかの例では、車両コンピューティングシステムは、2018年6月28日に出願された「Multi-Resolution Maps for Localization」という表題の米国特許出願シリアル番号16/022,048、2018年6月28日に出願され、「Loading Multi-Resolution Maps for Localization」という表題の米国特許出願シリアル番号16/022,106、および2018年9月28日に出願された「Condition Dependent Parameters for Large-Scale Localization and/or Mapping」という表題の特許出願シリアル番号16/147,158と、2019年12月20日に出願された「Maps Comprising Covariances in Multi-Resolution Voxels」という表題の米国特許出願シリアル番号16/722,598とにおいて説明されているマップ(複数可)を利用することがあり、各々の全内容が参照によって本明細書に組み入れられる。
【0007】
種々の例では、車両コンピューティングシステムは、入力として特定のセンサーデータを受信し、車両の状態を出力するように構成された種々のローカライザーを含むことがある。ローカライザーは、本明細書に詳細に説明されているセンサーモダリティのうちのいずれか1つまたは複数に少なくとも部分的に基づいて行われるローカライゼーションを含む、ライダーローカライザー、レーダーローカライザー、ビジュアルローカライザー、IMU(internal measurement unit)ローカライザー、GPSローカライザー、および同類のものを含むことがある。例えば、ライダーローカライザーは、1つまたは複数のライダーシステムからのセンサーデータおよび/または環境に関連付けられた1つまたは複数のマップを受信することがある。ライダーローカライザーは、センサーデータおよびマップ(複数可)を処理して、車両の状態を決定することがある。別の例として、ビジュアルローカライザーは、1つまたは複数のカメラからのセンサーデータと1つまたは複数のマップとを受信することがある。ビジュアルローカライザーは、センサーデータおよびマップ(複数可)を処理して、車両の状態を決定することがある。依然として別の例として、IMUローカライザーは、1つまたは複数のIMUおよび/または1つまたは複数のオドメトリセンサー(例えば、ホイールスピードセンサー、モータースピードセンサー、操舵角センサー等)からセンサーデータを受信することがあり、センサーデータに基づいて車両の状態を決定することがある。
【0008】
既存の技術では、車両コンピューティングシステムは、車両状態におけるエラーについての直接の測定のためのシステムを含んでいない。代わりに、既存のシステムは、車両の位置および向きにおける一般的な矛盾に対して、たとえばすべてのローカライゼーションシステムにわたって監視することがある。決定された矛盾に基づいて、既存のシステムは、車両の動作を打ち切ることを決定することがある。
【0009】
本明細書に説明される技法は、複数のローカライザー(例えば、ローカライゼーションシステム)および/または車両システムによって出力されるメトリックを用いて、各ローカライザーおよび/または車両システムに関連付けられた1つまたは複数のエラーを決定することに関する。種々の例では、ローカライザー(例えば、ライダーローカライザー、ビジュアルローカライザー、IMUローカライザーなど)は、車両の状態をローカライゼーションエラー監視コンポーネントに出力することがある。いくつかの例では、ローカライゼーションコンポーネントは、1つまたは複数のローカライザーから受信した状態情報に基づいて、車両のグローバル状態(例えば、組み合わされた状態)を決定することがある。ローカライゼーションコンポーネントは、たとえば、全内容が参照によって本明細書に組み入れられる、2019年12月12日に出願された、「Localization Error Handling」という表題の米国特許出願シリアル番号16/712,753に記載されるなど、車両のロケーション、位置、向き、速度、および/または加速度を決定するように構成されたコンポーネントを含むことがある。いくつかの例では、ローカライゼーションコンポーネントは、車両のグローバル状態および/または状態情報をローカライゼーションエラー監視コンポーネントに出力することがある。
【0010】
いくつかの例では、ローカライゼーションエラー監視コンポーネントは、各ローカライザーから受信した状態情報に関連付けられた1つまたは複数のメトリックを決定することがある。ローカライゼーションエラー監視コンポーネントは、個々のローカライザーおよび/または車両システムによって提供される状態情報に基づいて、車両状態における1つまたは複数のエラーをメトリックに基づいて決定することがある。ローカライゼーションエラー監視コンポーネントは、エラーに関連付けられたデータと、関連するローカライザーおよび/または車両システムとを、プランナーコンポーネントに提供することがある。ゆえに、プランナーコンポーネントは、エラーの程度、および/または特定のローカライザーおよび/または車両システムに基づいて、車両が行う作動、たとえば、ローカライザーおよび/または車両システムをオフラインにする作動、速度を落とす作動、車両の動作を停止させる作動、および同類のものなどを決定することがある。したがって、本明細書に説明される技法は、車両に、メトリックを監視することによって高度に正確なロケーション情報を確実にすることを可能にし、および/または、メトリックに基づいてローカライゼーションシステムにおいて迅速な正確なエラー識別を可能にする。
【0011】
メトリックは、車両の各推定状態に対する分散を含むことがある。各推定状態に対する分散は、推定状態が正確であるそれぞれのローカライザーによって決定される信頼度(confidence)を含むことがある。いくつかの例では、分散は、線形化システムを用いて、入力から推定値に予想される不確実性を伝搬させることによって推定されることがある。いくつかの例では、ローカライゼーションエラー監視コンポーネントは、車両の各推定状態に対する共分散を決定することがある。上記の例では、ローカライゼーションエラー監視コンポーネントは、2以上の次元にわたって分散を監視することがある。例えば、共分散は、縦方向および横方向の次元(例えば、X/Y)にわたる分散を含むことがある。別の例として、共分散は、車両のピッチ、ロール、およびヨーにわたる分散を含むことがある。種々の例では、ローカライゼーションエラー監視コンポーネントは、分散および/または共分散をしきい値と比較することがある。以下に、より非常に詳細に述べられるだろう、しきい値は、監視される状態に対する警戒限界に基づいて決定されることがある。
【0012】
いくつかの例では、メトリックは、車両の各推定状態に対応するメトリックに関連付けられた1つまたは複数の最適化残差(本明細書において残差と呼ばれる)を含むことがある。残差(複数可)は、観測値(例えば、センサー入力に基づく)と、関心の量についての推定値(例えば、推定されるピッチ、ロール、ヨー、座標系および/または次元におけるロケーション、速度など)との間の差分を表すことがある。いくつかの例では、推定値は、以前のタイムステップに関連付けられた値(例えば、現在の測定より前に0.1秒を要した測定に関連付けられた値)に部分的に基づくことがある。上記の例では、残差は、測定値における矛盾を表すことがある。例えば、残差は、ある時間に観測された速度と、以前のタイムステップの速度との差分を含むことがある。差異を決定することに基づいて、ローカライゼーションエラー監視コンポーネントは、速度測定に関連付けられたシステムがエラーを生成していることがあると決定することがある。種々の例では、ローカライゼーションエラー監視コンポーネントは、残差を、測定値に関連付けられた予め決められたしきい値残差と比較することがある。上記の例では、比較に基づいて、ローカライゼーションエラー監視コンポーネントは、エラーの程度(例えば、規模)を決定することがある。
【0013】
種々の例では、加えて、ローカライゼーションエラー監視コンポーネントは、残差を、関連する分散および/または共分散と比較することがある。上記の例では、状態に関連付けられた測定値は、状態における信頼度と比較されることがある。いくつかの例では、残差は、分散および/または共分散によって正規化される(例えば、分散および/または共分散と同じスケールに修正される)ことがある。上記の例では、比較は、白色化された残差に帰着することがある。いくつかの例では、ローカライゼーションエラー監視コンポーネントは、残差における白色を決定することがある。残差における白色に関連付けられた値に基づいて、ローカライゼーションエラー監視コンポーネントは、残差がしきい値を超えるかどうかを決定することがある。いくつかの例では、プランナーコンポーネントは、残差値(residual value)の比較に基づいて車両を制御することがある。
【0014】
種々の例では、ローカライゼーションエラー監視コンポーネントおよび/またはプランナーコンポーネントは、異なるローカライザーに関連付けられた残差(複数可)に重み(例えば、1.2、1.5など)を割り当てるように構成されることがある。いくつかの例では、重みは、車両の制御に対するローカライザーの重要度(importance)を表すことがある。いくつかの例では、重みは、1つまたは複数の環境上の考慮事項(例えば、道路状況、1日のうちの時間、暗さのレベル(例えば、光レベル)など)および/または気象の考慮事項(例えば、温度、降水、霧など)に基づいて適用されることがある。上記の例では、ローカライゼーションエラー監視コンポーネントおよび/またはプランナーコンポーネントは、環境状況および/または気象状況が変わることに基づいて重みを動的に調節するように構成され、環境状況に基づいて特定のローカライザーに異なる重要度レベルを割り当てることがある。例えば、陽光がさんさんと注ぐ日の日照時間の間、ビジュアルローカライザーは、ライダーローカライザーよりも高く重み付けされることがある。しかしながら、闇夜の夜間に、ライダーローカライザーは、カメラの視力(visual acuity)が低下したことのために、カメラローカライザーより高く重み付けされることがある。上記の重みは、運転性能に少なくとも部分的に基づいて機械学習される、および/またはヒューリスティックを用いて決定されることがある。運転性能は、減じた照明、太陽のロケーションなどに基づいて、視力が下がったことによる速さ制限を含むことがある。
【0015】
いくつかの例では、重みは、しきい値と比較して残差の値を増加させることがある。上記の例では、車両の制御に対する関連システムの重要度に基づいて、プランナーコンポーネントは、残差値に基づいて、車両を制御することに関してより保守的な作動を選択することがある。例えば、IMUローカライザーによって決定された1つまたは複数の測定値に関連付けられた高い残差に、たとえば、重み付けされた残差に起因するものに基づいて、プランナーシステムは、車両の前進移動の停止を決定することがある。
【0016】
いくつかの例では、ローカライゼーションエラー監視コンポーネントは、特定のローカライザーおよび/または特定の車両システム(例えば、1つまたは複数の車輪からの測定データに関連付けられたローカライゼーションたとえばホイールエンコーダーなど)に関連付けられた高い残差を識別することがあり、高い残差を、同一のまたは類似のタイプのローカライザーおよび/または同一のまたは類似のタイプの車両システム(例えば、冗長なローカライザー、センサー、および/または車両コンポーネントまたはシステム)に関連付けられた別の残差と比較することがある。上記の例では、ローカライゼーションエラー監視コンポーネントは、特定のローカライザーおよび/または特定のシステムが、故障しているかどうか、および/または一時的なグリッチを体験しているかどうか、または、特定のローカライザーおよび/または特定のシステムへのセンサー入力が間違っているか(例えば、較正されていないセンサー)を決定するように構成されることがある。例えば、4つの車輪よりなる車両は、四輪の速さ測定値を含むことがある。ローカライゼーションエラー監視コンポーネントは、第1のホイールスピードの測定が高い残差を含むと決定することがある。ローカライゼーションエラー監視コンポーネントは、単一の車輪を、3つの他の車輪と比較して、第1の車輪が、たとえば車輪のスリップによるものなど、誤りのある測定を含むと決定することがある。ローカライゼーションエラー監視コンポーネントおよび/またはプランナーコンポーネントは、特定のタイムステップに対して誤りのある測定を無視することを決定することがある。同様の例では、システムは、1つの車輪が必要とされる圧力よりも低い圧力を有することがある(予測される状態において相違を引き起こす)と決定することがある。
【0017】
いくつかの例では、ローカライゼーションエラー監視コンポーネントおよび/またはプランナーコンポーネントは、時間期間にわたって残差を監視することがある。上記の例では、特定のローカライザーおよび/または特定のシステムが、しきい値時間期間にわたって高い残差を有する測定値を出力しているという決定に基づいて、特定のローカライザーおよび/または特定のシステムは較正を失っていることおよび/または車両制御の考慮事項に対して無視されると、ローカライゼーションエラー監視コンポーネントおよび/またはプランナーコンポーネントが決定することがある。いくつかの例では、プランナーコンポーネントは、特定のローカライザーおよび/または特定のシステムと、若干数の他の冗長なローカライザーおよび/またはシステムとに基づいて、車両が行う作動を決定することがある。例えば、IMUローカライザーは、4つの異なるIMUセンサーからデータを受信することがある。IMUローカライザーは、異なるIMUセンサーに関連付けられた測定値に対して4つの残差を、それに関連付けることがある。4つのセンサーのうちの第1のセンサーが、しきい値量より多い時間、しきい値の値より上である残差を有しているという決定に基づいて、プランナーコンポーネントは、車両制御の考慮事項においてIMUを無視することがある。
【0018】
いくつかの例では、プランナーコンポーネントは、利用可能な若干数の冗長システムに基づいて、センサー入力を無視することを決定すること、および/またはそれに関連付けられた測定値に基づいて車両が行う作動を決定することがある。いくつかの例では、しきい値の数のシステムが使用できるという決定に基づいて、プランナーコンポーネントは、車両の動作を継続することがある。いくつかの例では、システムに関連付けられたエラーの決定と、利用可能な代替システムの不十分な数とに基づいて、プランナーコンポーネントは、車両の動作を打ち切ることを決定することがある。上記の例では、プランナーコンポーネントは、車両を片側に寄せておよび/または車両を停止させて、車両の最大の安全動作を確実にすることがある。
【0019】
いくつかの例では、プランナーシステムは、車両システムに関連付けられた1つまたは複数の補正係数(correction factor)が限界内にあることを決定することによって、安全動作を最大化することがある。上記の例では、メトリックは、補正係数を含むことがある。補正係数は、IMUバイアス、車輪径のスケールファクター、および同類のものを含むことがある。補正係数は、予め定義されたモデルに従うことが分かっている入力エラーに対して補正するのに用いられることがある。いくつかの例では、補正係数は、関連する最大および/または最小のしきい値の値を有することがある。いくつかの例では、ローカライゼーションエラー監視コンポーネントは、適用された補正係数がしきい値の値を超えるかどうか(例えば、最大値以上、最小値以下)を決定することがある。例えば、車両の車輪の半径は、車両の動作の時間期間にわたって(例えば、摩耗、圧力/温度変化などにより)変わることがある。半径に対する変化は、正確な温度、道路状況などが公開(release)より前に分からないので、車両の動作より前に較正されないことがある。ホイールスケールエラー(wheel scale error)は、車輪がどれぐらい速く回転しているはずであるかと比較して、車輪がどれぐらい速く回転しているかについての決定を含むことがある。補正係数は、たとえば、半径におけるわずかな変化、および結果として生じるホイールスピードにおけるわずかな変化を補正するなど、車輪の半径とオドメトリとに対して説明することがある。補正係数が最大のまたは最小のしきい値を超えるという決定に基づいて、たとえば、車輪の半径がしきい値量よりも増加することまたは減少すること(例えば、0.5~1.0%の差)などに基づいて、ローカライゼーションエラー監視コンポーネントは、それぞれの車輪に関するエラーを識別することがある。
【0020】
いくつかの例では、ローカライゼーションエラー監視コンポーネントは、1つまたは複数のメトリック(例えば、分散、残差、補正係数)に関連付けられたエラーを識別することがあり、情報をプランナーコンポーネントに提供することがある。上記の例では、エラーは、関連する分散、残差、および/または補正係数が許容誤差の範囲外(例えば、しきい値を超える)であることに基づくことがある。プランナーコンポーネントは、識別されたエラーに基づいて行う作動を決定することがある。作動は、関連システムをオフラインにすること(例えば、車両制御動作に対する無視される)、車両を停止させること、予め決められた速度(例えば、時速25マイル、時速25キロメートルなど)まで速度を落とすこと、および/または予め決められた量の速度を落とすこと(例えば、速さの50%まで減速すること、前進の速さを時速10マイル減少させることなど)、特定の作動を控えること(例えば、速さを制限すること、回転半径を制限すること、加速度を制限することなど)を含むことがあるが、どんな他の操縦でも想定される。いくつかの例では、車両制御動作は、システムをオフラインにする決定に基づいて決定されることがある。例えば、3つのIMUのうち第1をオフラインにする決定に基づいて、プランナーコンポーネントは、車両の速さを最大限の時速20キロメートルまで減速させることがある。だが、今述べたことは、単なる例であり、どんな他のシステムおよび/または速さでも、本明細書にて想定される。
【0021】
いくつかの例では、作動は、エラーに関連付けられたローカライザーおよび/または車両システムに基づくことがある。例えば、IMUローカライザーに関連付けられたエラーは、プランナーコンポーネントが動作を打ち切ること(例えば、車両を停止させること)に帰着することがある。いくつかの例では、ローカライザーおよび/または車両システムは、たとえば車両制御に対する重要度に基づいてなど、階層の状態において位置づけられることがある。いくつかの例では、階層は、予め決められた階層であり得る。いくつかの例では、階層は、たとえば環境上の考慮事項に基づいてなど、動的に決定されることがある。例えば、雨降りの日に、プランナーコンポーネントは、濡れた表面での車輪のスリップへの傾向が増すことに基づいて、車輪のスリップに関連付けられたエラーを(例えば、補正係数および/または残差に基づいて)、他のシステムに関連付けられたエラーよりも低く位置づけることを決定することがある。上記の例では、プランナーコンポーネントは、雨降りの日に、一時的な車輪のスリップを無視するように構成されることがある。
【0022】
本明細書に説明される技法は、たとえば自律車両または他のロボットプラットフォームなどの車両に種々の技術上のおよび/または動作上の利益を提供する。例えば、個々のローカライザーからのメトリックを利用して、関連付けられたエラーを決定することによって、本明細書に説明される技法は、現在の技法により与えられるよりも、ローカライゼーションに関するより洗練された「検査」を提供する。すなわち、ローカライゼーションエラー監視コンポーネントは、現在の技法において用いられていない、ローカライゼーションと識別されたエラーとに関連付けられたコンテキストをプランナーコンポーネントに提供する。プランナーコンポーネントに提供されるコンテキストは、車両に関連付けられたシステム(例えば、ローカライザー、センサーなど)を開放する必要があるかどうか、および/または車両に速度を落とさせるまたは動作を停止させる(例えば、高速道路または交通混雑領域の片側に寄せる)必要があるかどうかを決定することを、プランナーコンポーネントに可能にすることがある。すなわち、個々のローカライザーの出力にアクセスすることにより利用できるようになるコンテキストをレバレッジすることによって、プランナーコンポーネントは、たとえローカライゼーションエラーがまだ解決されていなくても(例えば、メトリックが許容可能な値を含む)、車両を制御すること(例えば、自律的に運転すること)を継続することができる。
【0023】
より洗練された「検査」を提供することに加えて、本明細書に説明される技法は、プランナーコンポーネントに、ローカライゼーションにおけるエラーをより安全に扱うことを可能にする。すなわち、例えば、ローカライザーおよび/または他のシステムの出力にアクセスすることにより利用できるようになるコンテキストをレバレッジすることによって、および、高速道路または交通混雑領域の片側に寄せることの代わりに運転を継続することを車両に可能にすることによって、本明細書に説明される技法は、自律車両に、環境内でより安全に運転することを可能にする。
【0024】
本明細書に説明される技法は、若干数のやり方において実装されることが可能である。例示的な実装は、次の図面を参照して以下に提供される。例示的な実装は、自律車両という状況にて述べられるが、しかしながら、本明細書に説明される方法、装置、およびシステムは、いろいろなシステム(例えば、センサーシステムまたはロボットプラットフォーム)に適用されることが可能であり、自律車両に限定されない。加えて、本明細書に説明される技法は、(例えば、センサー(複数可)を用いてキャプチャされた)実データを、(例えば、シミュレーターによって生成された)シミュレーションデータを、または2つのどんな組み合わせでも、有して用いられることが可能である。
【0025】
図1は、本開示の例に係る車両の例示的なローカライゼーションエラー監視システム100のブロック図を示す図である。少なくとも1つの例では、ローカライゼーションエラー監視システム100は、たとえば自律車両、半自律車両、または手動により制御される車両などの車両102を含むことがある。
【0026】
少なくとも1つの例では、車両102は、環境内で動作する(例えば、運転する)ように構成された自律車両を含むことがある。自律車両は、運転者(または乗員)がいかなる時点においても車両を制御することが期待されない、全行程にすべてのセーフティクリティカルの機能を実行する性能がある車両を記述する、米国連邦道路交通安全局によって発行されるレベル5分類に従って、動作するように構成されることが可能である。上記の例にて、自律車両が、すべての駐車機能を含む、スタートからストップまでの全機能を制御するように構成されることがあるので、それは、占有されないことがある。今述べたことは、単に例であり、本明細書に説明されるシステムおよび方法は、常に運転者によって手動により制御される必要がある車両から、部分的にまたは完全に自律的に制御される車両までに及ぶ車両を含む、陸上輸送の、航空輸送の、または水上輸送のどんな車両にでも組み入れられることが可能である。
【0027】
車両102は、ローカライゼーションコンポーネント104を含むことがある。ローカライゼーションコンポーネント104は、車両102の状態(例えば、x-位置、y-位置、z-位置、x-、y-、z-速度および/または加速度、ロール、ピッチまたはヨー、ロール、ピッチまたはヨー速度および/または加速度などのうちの1つまたは複数)を決定するために、1つまたは複数のセンサー106からのセンサーデータ、および1つまたは複数のマップ108に関連付けられたマップデータを受信する機能性を含むことがある。少なくとも1つの例では、車両102の状態は、自由度(例えば、12の自由度、15の自由度)によって表されることがある。状態を決定するのに用いられるセンサー106は、限定されないが、ライダーセンサー、レーダーセンサー、超音波トランスデューサー、ソナーセンサー、ロケーションセンサー(例えば、全地球測位システム(GPS)、コンパスなど)、慣性センサー(例えば、慣性測定ユニット(IMU)、加速度計、磁気計、ジャイロスコープ、横速度センサー(例えば、グランドトラッキング(ground tracking)に基づいて横方向の速さを決定するセンサー)など)、カメラ(例えば、赤緑青(RGB)、赤外線(IR)、強度、深度など)、ホイールエンコーダー、環境センサー(例えば、温度センサー、湿度センサー、光センサー、圧力センサーなど)、タイムオブフライト(time-of-flight:ToF)センサーなどを含むことがある。いくつかの例では、ローカライゼーションコンポーネント104は、1つまたは複数のオドメトリセンサー110に基づいて車両102の状態を決定することがある。オドメトリセンサーは、ホイールスピードセンサー、モータースピードセンサー、操舵角センサー、および同類のものを含むことがある。
【0028】
少なくとも1つの例では、ローカライゼーションコンポーネント104は、環境のマップ(複数可)108に関連付けられたマップデータを含むおよび/または要求する/受信することがあり、マップ(複数可)108内の車両のロケーションおよび/または向き(例えば、状態)を連続的に決定することがある。マップ(複数可)108は、たとえば、限定されないが、トポロジー(たとえば、ジャンクション、レーン、合流ゾーンなど)、通り、山脈、道路、地形、および一般的な環境など、環境についての情報を提供する性能があるどんなの数のデータ構造でもあり得る。マップ(複数可)108は、現実の環境またはシミュレートされた環境と関連付けられることがある。いくつかの例では、マップ(複数可)108は、タイルマップ、特徴マップ、および/または他のタイプのマップ、たとえば上に説明された米国特許出願に説明されているものなどを含むことがある。いくつかの例では、マップ(複数可)108は、車両が環境の中を走る運転可能な表面に関するデータを含むことがある。いくつかの例では、データは、道路のピッチ(例えば、勾配)、道路の傾斜、表面タイプ、表面摩擦、および/または車両102が走ることがある運転可能な表面に関連付けられた他の情報を含むことがある。
【0029】
種々の例では、ローカライゼーションコンポーネント104は、車両102の状態を決定するように構成されたIMU112および/または1つまたは複数のローカライザーを含むことがある。上記の例では、IMU112および/または各ローカライザーは、センサー106および/または110のうちの1つまたは複数からのセンサーデータおよび/またはマップ(複数可)108からのマップデータを処理して、車両102の状態の少なくとも一部を決定する(または別の状況では車両102の状態または部分状態を決定するのに用いられる中間変数を決定する)ことがある。車両102の状態の少なくとも一部は、本明細書において、車両102の全体的な状態(例えば、グローバル状態)を決定するのに用いられることがある、疑似測定として説明されることがある。説明的な例では、ローカライゼーションコンポーネント104は、IMU112、ライダーローカライザー114、レーダーローカライザー116、ビジュアルローカライザー118、およびGPSローカライザー120を含むことがある。だが、今述べたことは、限定することを意図せず、追加のローカライザーが本明細書にてを想定されることがある。例えば、ライダーローカライザー114は、複数のライダーセンサー106からのライダーデータおよび1つまたは複数のマップ108に関連付けられたマップデータを受信することがある。ライダーデータおよびマップデータに基づいて、ライダーローカライザー114は、車両102についての推定されるロケーションを、状態の一部として出力することがある。別の例として、IMU112は、1つまたは複数のIMUセンサー106からIMUデータを受信し、1つまたは複数のオドメトリセンサー110からオドメトリデータを受信することがある。IMU112は、IMUセンサー106およびオドメトリセンサー(複数可)110に関連付けられたセンサーデータに基づいて、状態の一部としての車両102の向きを決定することがある。
【0030】
種々の例では、ローカライゼーションコンポーネント104は、IMU112、および/または114、116、118、および/または120からの状態データを組み合わせて(例えば、融合させて)、車両のグローバル状態(例えば、状態、全体的な状態など)を決定するよう構成されることがある。いくつかの例では、ローカライゼーションコンポーネント104は、IMU112、および/またはローカライザー114、116、118、および/または120からの測定値を、車両102の最適化された状態に融合させることがある。上記の例では、ローカライゼーションコンポーネント104は、IMU112、および/またはローカライザー114、116、118、および/または120の各々に関連付けられた状態測定値を最適化することがある。少なくとも1つの例では、IMU112および/またはローカライザー114、116、118、および/または120、および/またはローカライゼーションコンポーネント104のうちの少なくとも1つは、SLAM(simultaneous localization and mapping)、CLAMS(calibration, localization and mapping, simultaneously)、相対SLAM、バンドル調整、非線形最小二乗最適化、ベイジアンフィルター(たとえばカルマンフィルター)または同類のものを利用して車両102の最適化された状態を決定して、それぞれのデータ(例えば、画像データ、ライダーデータ、レーダーデータ、IMUデータ、GPSデータ、ホイールエンコーダーデータなど)を受信して、車両102のロケーション(および/または状態)を正確に決定することがある。
【0031】
種々の例では、プランナーコンポーネント122のローカライゼーションエラー監視コンポーネント124は、IMU112、および/またはローカライザー114、116、118、および/または120からの状態情報を、および/または、ローカライゼーションコンポーネント104からのグローバル状態情報(集合的に状態情報)を受信することがある。状態情報は、車両に関連付けられた現在のロケーション、位置、向き、速度、および/または加速度を含むことがある。いくつかの例では、状態情報は、状態に関連付けられた1つまたは複数のメトリックおよび/または関連付けられたメトリックを含むことがある。少なくとも1つの例において、ローカライゼーションエラー監視コンポーネント124は、ローカライゼーションコンポーネント104の特定のローカライザーによって提供される状態情報に関連付けられたエラーを決定するように構成されることがある。いくつかの例では、メトリックは、状態に関連付けられた分散(および/または共分散)、状態に対応する測定値に関連付けられた残差、および/または車両システムに適用される補正係数を含むことがある。
【0032】
図1に例示されているローカライゼーションエラー監視コンポーネント124は、分散コンポーネント126を含むことがある。分散コンポーネント126は、ローカライゼーションコンポーネント104によって出力される状態情報(例えば、グローバル状態)を受信し、出力に関連付けられた1つまたは複数の分散および/または共分散値128を決定するように構成されることがある。各推定状態に対する分散値128は、推定状態が正確であるそれぞれのローカライザーによって決定される信頼度を含むことがある。いくつかの例では、分散値128は、線形化システムを用いて、入力から推定値に予想される不確実性を伝搬させることによって推定されることがある。いくつかの例では、分散値128は、車両102の推定状態に関連付けられた共分散を含むことがある。上記の例では、分散コンポーネント126は、2以上の次元に関連付けられた分散値128を決定することがある。例えば、分散値128は、車両のピッチ、ロール、およびヨーにわたる分散を含むことがある。
【0033】
種々の例では、分散コンポーネント126は、1つまたは複数の分散しきい値130を含むことがある。いくつかの例では、分散コンポーネント126は、分散および/または共分散を分散しきい値130と比較することがある。分散しきい値(複数可)130は、監視される状態に関連付けられた警戒限界に基づいて決定されることがある。少なくとも1つの例では、分散しきい値(複数可)130は、次の式を利用して決定されることがある。
【0034】
【数1】
【0035】
ただし、ALstateは、監視状態に対する警戒限界であり、Φ-1は、逆正規累積分布関数(inverse normal Cumulative Distribution Function(CDF))であり、Pは、与えられた時間にALより大きいエラーを取得することについての尤度に関連付けられた与えられた確率である。
【0036】
いくつかの例では、分散しきい値(複数可)130は、IMU112および/またはローカライザー114、116、118、および/または120および/またはローカライゼーションコンポーネント104によって許容される最大分散(または共分散)を含むことがある。上記の例では、分散コンポーネント126は、IMU112および/またはローカライザー114、116、118、および/または120および/またはローカライゼーションコンポーネント104の各々からの出力を比較して、それぞれのシステムに関するエラーを決定することがある。いくつかの例では、分散しきい値(複数可)130は、特定のIMUおよび/またはローカライザー114、116、118、および/または120、状態決定に関連付けられた1つまたは複数のセンサー106および/または110、および/または、状態決定に関連付けられた1つまたは複数のマップ108に基づくことがある。上記の例では、分散しきい値(複数可)130は、決定された状態に関連付けられた特定のローカライザー、センサー、および/またはマップに固有であり得る。例えば、分散コンポーネント126は、ライダーローカライザー114に関連付けられた第1の分散しきい値130と、ビジュアルローカライザー118に関連付けられた第2の分散しきい値130とを含むことがある。分散コンポーネント126は、ライダーローカライザー114によって出力された第1の状態情報に第1の分散しきい値130を適用し、ビジュアルローカライザー118によって出力された第2の状態情報に第2の分散しきい値130を適用することがある。
【0037】
図1に例示されているローカライゼーションエラー監視コンポーネント124は、IMUおよび/またはローカライザー114、116、118、および/または120によって出力された状態情報を受信し、状態情報の測定値に関連付けられた1つまたは複数の残差値134を決定するように構成された残差コンポーネント132を含むことがある。いくつかの例では、残差値134は、アプリオリな残差を含むことがある。上記の例では、残差値134は、IMU112および/またはローカライザー114、116、118、および/または120に関連付けられた予測された測定に関連付けられた残差を含むことがある。いくつかの例では、残差値(複数可)134は、IMU112および/またはローカライザー114、116、118、および/または120のうちの少なくとも1つによってキャプチャされた測定値に関連付けられた残差を含むことがある。残差値(複数可)134は、観測値(例えば、センサー入力に基づく)と、関心の量についての推定値(例えば、推定されるピッチ、ロール、ヨー、座標系および/または次元におけるロケーション、速度など)との間の差分を表すことがある。いくつかの例では、推定値は、例えば、観測値に関連付けられた現在の時間まで先に伝搬されているなど、以前のタイムステップに関連付けられた値(例えば、現在の測定より前に0.06秒を要した測定に関連付けられた値)に部分的に基づくことがある。上記の例では、推定値は、タイムステップ(例えば、関連付けられた時間量)に関連付けられた積分またはフィルターを用いて決定されることがある。いくつかの例では、残差値(複数可)134は、測定値における矛盾を表すことがある。例えば、残差値134は、ある時間に観測された速度と、以前の時間の速度との差分を含むことがある。
【0038】
種々の例では、残差値(複数可)134は、最適化前または最適化後の測定値を含むことがある。種々の例では、残差値(複数可)134は、センサー106および/または110から受信される生センサーデータおよび/または処理されたセンサーデータと関連付けられることがある。いくつかの例では、残差値(複数可)134は、例えばIMU112および/または個々のローカライザー114、116、118、および/または120に基づいて決定されるものなど、車両102の状態に関連付けられた疑似測定値と関連付けられることがある。いくつかの例では、残差値(複数可)134は、例えばローカライゼーションコンポーネント104によって決定されるなど、車両の全体的な状態と関連付けられることがある。
【0039】
種々の例では、残差コンポーネント132は、1つまたは複数の残差しきい値136を含むことがある。いくつかの例では、残差しきい値(複数可)136は、IMU112および/またはローカライザー114、116、118、および/または120、および/または、それぞれのセンサー106および/または110に関連付けられた制御データを含むことがある。いくつかの例では、残差しきい値(複数可)136は、ローカライゼーションコンポーネント104によって許容される最大残差を含むことがある。上記の例では、残差しきい値(複数可)136は、関連付けられたセンサー106および/または110、および/またはIMU112および/またはローカライザー114、116、118、および/または120と関係なく、予想測定値と観測測定値との間の最大差分(maximum difference)を含むことがある。いくつかの例では、残差しきい値(複数可)136は、IMU112および/またはローカライザー114、116、118、および/または120によって出力される特定の測定値に関連付けられた個々の最大値を含むことがある。上記の例では、残差しきい値(複数可)136は、残差値134に関連付けられた特定の測定に基づくことがある。種々の例では、残差コンポーネント132は、残差値(複数可)134を、測定値に関連付けられた残差しきい値(複数可)136と比較することがある。上記の例では、比較に基づいて、ローカライゼーションエラー監視コンポーネントは、エラーの程度(例えば、規模)を決定することがある。
【0040】
種々の例では、残差コンポーネント132は、残差値(複数可)134に基づいておよび/または残差しきい値(複数可)136との比較に基づいて、IMU112および/またはローカライザー114、116、118、および/または120および/またはセンサー106および/または110に関連付けられたエラーを決定するよう構成されることがある。いくつかの例では、残差コンポーネント132は、関連する残差しきい値136を超える単一の残差値134に基づいてエラーを決定することがある。種々の例では、エラーを決定することに応答して、入力モダリティは、車両計画の考慮事項において無視されることがある。いくつかの例では、入力モダリティ(例えば、センサー106および/または110、IMU112および/またはローカライザー114、116、118、および/または120)は、例えばローカライゼーションコンポーネント104によって決定されるなど、車両102の全体状態の決定において考慮事項から取り除かれることがある。
【0041】
種々の例では、単一の入力モダリティを考慮事項から取り除いた後、残差コンポーネント132は、特定のIMU112および/または特定のローカライザー114、116、118、および/または120および/またはセンサー106および/または110に関連付けられた残りの残差値134の和に基づいてエラーを決定することがある。上記の例では、残差コンポーネント132は、残りの残差値134の和が全体的な残差しきい値136(例えば、残差の合計に関連付けられたしきい値)以上であるかどうかを決定することがある。いくつかの例では、入力される残差値134の和が全体的な残差しきい値136を超えるという決定に基づいて、残差コンポーネント132は、プランナーコンポーネント122にエラーのインディケーションを提供することがある。いくつかの例では、プランナーコンポーネント122は、エラーに基づいて、車両102が取る作動を決定することがある。
【0042】
種々の例では、加えて、分散コンポーネント126および/または残差コンポーネント132は、残差値(複数可)134を、関連する分散値(複数可)128と比較することがある。上記の例では、状態に関連付けられた測定値は、状態における信頼度と比較されることがある。いくつかの例では、残差値(複数可)134は、分散値(複数可)128によって正規化される(例えば、分散値(複数可)128と同じスケールに修正される)ことがある。上記の例では、比較は、白色化された残差に帰着することがある。いくつかの例では、残差コンポーネント132は、白色化された残差に関連付けられた値を決定することがある。白色化された残差に関連付けられた値に基づいて、残差コンポーネント132は、残差値134が残差しきい値136を超えるかどうかを決定することがある。いくつかの例では、残差コンポーネント132は、残差における白色に関連付けられた値と残差しきい値136との比較に基づいて、関連するIMU112および/またはローカライザー114、116、118、および/または120および/またはセンサー106および/または110におけるエラーを識別することがある。種々の例では、ローカライゼーションエラー監視コンポーネントは、例えば車両102の制御考慮事項に対してなど、エラーに関連付けられたデータをプランナーコンポーネント122に提供することがある。
【0043】
種々の例では、残差コンポーネント132は、異なるローカライザーに関連付けられた残差(複数可)に重み(例えば、1.2、1.5など)を割り当てるように構成されることがある。いくつかの例では、重みは、車両の制御に対するIMU112および/またはローカライザー114、116、118、および/または120および/または関連センサー106および/または110の重要度を表すことがある。いくつかの例では、重みは、車両102の関連システムにおける信頼度を表すことがある。重みは、試験、実験データ、経験的分析、機械学習、および同類のものに基づいて決定されることがある。いくつかの例では、重みは、1つまたは複数の環境上の考慮事項(例えば、道路状況、1日のうちの時間、暗さのレベルなど)に基づいて適用されることがある。上記の例では、残差コンポーネント132は、環境状況が変わることに基づいて重みを動的に調節するように構成され、環境状況に基づいて特定のローカライザーに異なる重要度レベルを割り当てることがある。例えば、陽光がさんさんと注ぐ日の日照時間の間、ビジュアルローカライザーは、ライダーローカライザー114よりも高く重み付けされることがある。しかしながら、闇夜の夜間に、ライダーローカライザー114は、カメラの視力(visual acuity)が低下したことのために、ビジュアルローカライザー118より高く重み付けされることがある。
【0044】
いくつかの例では、重みは、残差値134を増加させることがある(例えば、実際の残差×1.3など)。上記の例では、残差コンポーネント132は、車両の安全動作を最大化するために、より低い実際の残差値134にてクリティカルシステムに関連付けられたエラーを決定することがある。例えば、IMU112によって決定された1つまたは複数の測定値における高い残差に、たとえば重み付けされた残差値134に起因するものなどに基づいて、プランナーシステムは、車両の前進移動の停止を決定することがある。
【0045】
いくつかの例では、残差コンポーネント132は、特定のIMU112および/または特定のローカライザー114、116、118、および/または120および/または特定のセンサー106および/または110に関連付けられた高い残差を識別することがあり、高い残差を、同一のまたは類似のタイプのIMUおよび/またはローカライザー114、116、118、および/または120(または他の車両コンポーネント、例えば車輪など)および/または同一のまたは類似のタイプのセンサー106および/または110(例えば、冗長なローカライザーおよび/またはセンサー)に関連付けられた別の残差値134と比較することがある。上記の例では、残差コンポーネント132は、特定のIMU112および/または特定のローカライザー114、116、118、および/または120、および/または特定のセンサー106および/または110が故障しているかどうか、および/または一時的なグリッチを体験しているかどうか、または、特定のローカライザーへのセンサー入力が間違っているか(例えば、較正されていないセンサー)を決定するように構成されることがある。例えば、4つの車輪よりなる車両102は、四輪の速さ測定値を含むことがある。残差コンポーネント132は、第1のホイールスピードの測定が高い残差値134を含むと決定することがある。残差コンポーネント132は、単一の車輪を、3つの他の車輪と比較して、第1の車輪が、たとえば車輪のスリップによるものなど、誤りのある測定を含むと決定することがある。残差コンポーネント132および/またはプランナーコンポーネント122は、特定のタイムステップに対して誤りのある測定を無視することを決定することがある。
【0046】
いくつかの例では、残差コンポーネント132は、時間期間にわたって残差値(複数可)134を監視することがある。上記の例では、特定のIMU112および/または特定のローカライザー114、116、118、および/または120および/または特定のセンサー106および/またはが、しきい値時間期間にわたって高い残差値(複数可)134を有する測定値を出力しているという決定に基づいて、残差コンポーネント132は、特定のIMU112および/または特定のローカライザー114、116、118、および/または120および/または特定のセンサー106および/または110が、較正を失っている、および/または車両制御の考慮事項に対して無視されるべきであると決定することがある。例えば、IMU112は、4つの異なるIMUセンサー106からデータを受信することがある。IMU112は、異なるIMUセンサー106に関連付けられた測定値に対応する4つの残差値134を、それに関連付けることがある。4つのIMUセンサー106のうちの第1のIMUセンサーが、しきい値量より多い時間、しきい値136より上である残差値134を有しているという決定に基づいて、残差コンポーネント132は、第1のIMUセンサーにおけるエラーを識別することがある。
【0047】
いくつかの例では、プランナーコンポーネント122は、利用可能な若干数の冗長なセンサー106および/または110に基づいて、センサー106および/または110入力を無視することを決定すること、および/またはそれに関連付けられた測定値に基づいて車両が行う作動を決定することがある。いくつかの例では、しきい値の数のセンサー106および/または110が使用できるという決定に基づいて、プランナーコンポーネント122は、車両の動作を継続することがある。いくつかの例では、センサー106および/または110に関連付けられたエラーの決定と、利用可能な代替システムの不十分な数とに基づいて、プランナーコンポーネント122は、車両102の動作を打ち切ることを決定することがある。上記の例では、プランナーコンポーネント122は、車両102を片側に寄せておよび/または車両102を停止させて、車両102の最大の安全動作を確実にすることがある。
【0048】
いくつかの例では、ローカライゼーションエラー監視システム100は、車両システム(例えば、センサー106および/または110、車輪など)に関連付けられた1つまたは複数の補正係数が限界内にあることを決定することによって、安全動作を最大化することがある。上記の例では、ローカライゼーションエラー監視コンポーネント124は、1つまたは複数の車両システムに適用される1つまたは複数の補正値140を決定するように構成された補正係数コンポーネント138を含むことがある。補正値140は、IMUバイアス、マップ歪み率(map distortion factor)、車輪径スケールのスケールファクター、および同類のものを含むことがある。補正値140は、予め定義されたモデルに従うことが分かっている入力エラーに対して補正するのに用いられる値を含むことがある。補正係数140は、関係のある測定値(例えば、関係のあるコンポーネント(例えば、IMU、車輪のオドメトリセンサーなど)に関連付けられた測定値)を適用することがある。いくつかの例では、補正値140は、関連する最大および/または最小の補正しきい値142を有することがある。いくつかの例では、補正係数コンポーネント138は、適用された補正値140が補正しきい値142を超えるかどうか(例えば、最大値以上、最小値以下)を決定することがある。例えば、車両102の車輪の半径は、車両の動作の時間期間にわたって変わることがある。半径に対する変化は、正確な温度、道路状況などが公開(release)より前に分からないので、車両の動作より前に較正されないことがある。ホイールスケールエラー(wheel scale error)は、車輪がどれぐらい速く回転しているはずであるかと比較して、車輪がどれぐらい速く回転しているかについての決定を含むことがある。補正値140は、たとえば、半径におけるわずかな変化、および結果として生じるホイールスピードにおけるわずかな変化を補正するなど、車輪の半径とオドメトリとに対して説明することがある。補正値140が補正しきい値142を超えるという決定に基づいて、たとえば、車輪の半径がしきい値量よりも増加することまたは減少すること(例えば、0.5~1.0%の差)などに基づいて、補正係数コンポーネント138は、それぞれの車輪に関するエラーを識別することがある。
【0049】
いくつかの例では、ローカライゼーションエラー監視コンポーネント124は、分散コンポーネント126、残差コンポーネント132、および/または補正係数コンポーネント138によって評価されたメトリックに基づいて、IMU112および/または1つもしくは複数のローカライザー114、116、118、および/または120および/または1つもしくは複数のセンサー106および/または110に関連付けられたエラーを識別することがある。いくつかの例では、ローカライゼーションエラー監視コンポーネント124は、エラーに関連付けられたエラーデータ144をプランナーコンポーネント122に提供することがある。いくつかの例では、エラーデータ144は、IMU112および/またはローカライザー(複数可)114、116、118、および/または120および/またはセンサー(複数可)106および/または110に対応する情報、分散値(複数可)128、残差値(複数可)134、および/またはエラーに関連付けられた補正値(複数可)140、前述の値(複数可)128、134、および140がそれぞれのしきい値130、136、および/または142を超える量、冗長システムの数および/またはタイプ、IMU112および/または特定のローカライザー(複数可)114、116、118、および/または120および/またはセンサー(複数可)106および/または110の重み付け値(例えば、重要度)を、および/または車両が行う作動の決定を知らせるのに消費されるどんな他のデータでも、含むことがある。
【0050】
プランナーコンポーネント122は、エラーデータ144を受信し、識別されたエラーに基づいて車両102が行う作動を決定することがある。作動は、関連するIMU112および/またはローカライザー(複数可)114、116、118、および/または120および/またはセンサー(複数可)106および/または110をオフラインにすること(例えば、車両制御動作に対して無視される)、車両102を停止させること、予め決められた速さまで速度を落とすこと、および/または予め決められた量の速度を落とすこと(例えば、速さの50%まで減速すること、前進の速さを時速10マイル減少させることなど)、特定の作動を控えること(例えば、速さを制限すること、回転半径を制限すること、加速度を制限することなど)を含むことがあるが、どんな他の操縦でも想定される。いくつかの例では、車両制御動作は、IMU112および/またはローカライザー(複数可)114、116、118、および/または120および/またはセンサー(複数可)106および/または110をオフラインにするという決定に基づいて決定されることがある。例えば、8つのライダーセンサーのうちの1つをオフラインにする決定に基づいて、プランナーコンポーネント122は、車両の速さを最大限の時速25マイルまで減速させることがある。だが、今述べたことは、単なる例であり、どんな他のシステムおよび/または速さでも、本明細書にて想定される。
【0051】
いくつかの例では、作動は、IMU112および/またはローカライザー(複数可)114、116、118、および/または120および/またはエラーに関連付けられたセンサー(複数可)106および/または110に基づくことがある。例えば、IMU112に関連付けられたエラーは、プランナーコンポーネント122が動作を打ち切ること(例えば、車両102を停止させること)に帰着することがある。いくつかの例では、IMU112および/またはローカライザー(複数可)114、116、118、および/または120および/またはセンサー(複数可)106および/または110は、たとえば車両制御に対する重要度に基づいてなど、階層の状態において位置づけられることがある。いくつかの例では、階層は、予め決められた階層であり得る。いくつかの例では、階層は、たとえば環境上の考慮事項に基づいてなど、動的に決定されることがある。例えば、雨降りの日に、プランナーコンポーネント122は、濡れた表面での車輪のスリップへの傾向が増すことに基づいて、車輪のスリップに関連付けられたエラーを(例えば、補正値140および/または残差値134に基づいて)、他のシステムに関連付けられたエラーよりも低く位置づけることを決定することがある。上記の例では、プランナーコンポーネント122は、雨降りの日に、一時的な車輪のスリップを無視するように構成されることがある。
【0052】
種々の例では、プランナーコンポーネント122は、たとえば1つまたは複数のネットワーク148(例えば、ワイヤードネットワークまたはワイヤレスネットワーク)を介してなど、エラーデータ144をリモートコンピューティングデバイス146に送るように構成されることがある。いくつかの例では、リモートコンピューティングデバイス146は、少なくとも1つのプロセッサー150およびメモリー152を有するコンピューティングデバイスを含むことがある。いくつかの例では、リモートコンピューティングデバイス146は、車両102および/または車両102の種々のコンポーネントの状態を監視する、および/または車両102の種々のコンポーネントにメンテナンスを提供する、監視システムおよび/またはメンテナンスシステムに関連付けられることがある。したがって、エラーデータ144は、リモートコンピューティングデバイス146および/またはリモートコンピューティングデバイス146を用いる人に、エラーデータ144のエラー、および関連する車両102システム(例えば、IMU112および/またはローカライザー114、116、118、および/または120および/またはセンサー106および/または110)についての情報を含む種々の車両コンポーネントの状態に関係した情報の包括的パッケージを提供することがある。
【0053】
図2は、本明細書に説明されている車両のたとえばローカライゼーションコンポーネント104などのローカライゼーションコンポーネントからの出力を用いることに少なくとも部分的に基づいて、たとえば車両102などの車両をどのように制御するかを決定するための例示的な環境200を示す図である。
【0054】
少なくとも1つの例では、車両は、たとえばセンサー106および/または110など、車両に関連付けられたセンサーシステム(複数可)からセンサーデータ204、および/または車両が置かれている環境に関連付けられたマップデータ206を受信するように構成されたプランナーコンポーネント202を含むことがある。いくつかの例では、プランナーコンポーネント202は、センサーデータ204、マップデータ206、および/または車両に関連付けられた他のコンポーネントによって行われる任意の決定(例えば、ローカライゼーション、パーセプション、予測など)に少なくとも部分的に基づいて車両を制御するように構成されることがある。少なくとも1つの例では、プランナーコンポーネント202の出力は、車両を環境内において、走らせるまたは別の状況では制御するための1つまたは複数の命令を含むことがある。いくつかの例では、1つまたは複数の命令は、時間期間(例えば、将来への規定された秒数)、車両を制御するために、速度様相、加速度様相、操舵角様相、操車様相などを含むことがある。すなわち、少なくとも1つの例では、出力は、車両が時間期間、運転することになる軌道および/またはルートを含むことが可能である。
【0055】
種々の例では、プランナーコンポーネント202は、動作208にて例示されているローカライゼーションコンポーネントから信号を受信することがある。ローカライゼーションコンポーネントは、1つまたは複数のローカライザー、たとえば、1つまたは複数のIMUローカライザー、ライダーローカライザー、レーダーローカライザー、ビジュアルローカライザー、GPSローカライザー、および同類のものを含むことがある。いくつかの例では、ローカライゼーションコンポーネントは、グローバルローカライザーを含むことがある。上記の例では、グローバルローカライザーは、ローカライザー(複数可)からのローカライゼーションデータを組み合わせて、与えられた時間に車両のグローバル状態(例えば、ロケーション、位置、向き、速度、加速度など)を決定するように構成されることがある。いくつかの例では、信号は、車両の状態の部分(例えば、IMUおよび/または1つまたは複数のローカライザーによって決定される)、生のセンサーデータおよび/または処理されたセンサーデータを含む疑似測定値に関連付けられたグローバル状態の情報を含むことがある。状態情報は、1つまたは複数のx-位置、y-位置、z-位置、x-速度および/または加速度、y-速度および/または加速度、z-速度および/または加速度、ロール、ピッチ、またはヨー、ロール速度および/または加速度、ピッチ速度および/または加速度、またはヨー速度および/または加速度、および同類のもののうちの1つまたは複数を含むことがある。少なくとも1つの例では、信号は、与えられた時間に最適化された車両の状態を含むことがある。
【0056】
加えて、信号は、車両の状態に関連付けられた1つまたは複数のメトリックを含むことがある。メトリック(複数可)は、個々の次元(例えば、X-位置、ロールなどに関連付けられたメトリック)と、および/または2以上の次元(例えば、XY速度などに関連付けられたメトリック)にわたる個々の次元と関連付けられることがある。少なくとも1つの例では、メトリック(複数可)は、車両の状態に関連付けられた分散、状態に対応する測定に関連付けられた残差、および/またはシステムに関連付けられた入力エラー(例えば、ホイールスケールエラー、IMUバイアス等)を補正するのに適用される補正係数の値を含む。本明細書に用いられている分散は、信号に関連付けられた共分散を含むことがある。
【0057】
動作210において、プランナーコンポーネント202は、信号に関連付けられた分散を決定することがある。分散は、推定状態が正確であるローカライザーコンポーネントによって決定される信頼度を含むことがある。いくつかの例では、分散は、線形化システムに基づいて決定されることがある。いくつかの例では、分散は、車両の各推定状態に対する共分散を含むことがある。上記の例では、分散は、2以上の次元にわたって推定状態の信頼度を含むことがある。例えば、共分散は、縦方向および横方向の次元(例えば、X/Y)にわたる分散を含むことがある。別の例として、共分散は、車両のピッチ、ロール、およびヨーにわたる分散を含むことがある。
【0058】
動作212において、プランナーコンポーネント202は、信号に関連付けられた残差を決定することがある。残差は、観測値(例えば、センサー入力に基づく)と、関心の量についての推定値(例えば、推定されるピッチ、ロール、ヨー、座標系および/または次元におけるロケーション、速度など)との間の差分を表すことがある。いくつかの例では、推定値は、以前のタイムステップに関連付けられた値(例えば、現在の測定より前に0.1秒を要した測定に関連付けられた値)に、たとえば以前のタイムステップに関連付けられた値を現在の時間まで先に伝搬させることによってなど、部分的に基づくことがある。上記の例では、残差は、測定値における矛盾を表すことがある。例えば、残差は、ある時間に観測された速度と、以前のタイムステップの速度との差分を含むことがある。差異を決定することに基づいて、プランナーコンポーネントは、速度測定に関連付けられたシステムがエラーを生成していることがあると決定することがある。種々の例では、プランナーコンポーネントは、残差を、測定値に関連付けられた予め決められたしきい値残差と比較することがある。上記の例では、比較に基づいて、プランナーコンポーネントは、エラーの程度(例えば、規模)を決定することがある。
【0059】
種々の例では、加えて、プランナーコンポーネントは、残差を、動作210において決定された関連する分散と比較することがある。上記の例では、状態に関連付けられた測定は、状態における信頼度と比較されることがある。いくつかの例では、残差は、分散(および/または共分散)によって正規化されることがある。上記の例では、比較は、白色化された残差に帰着することがある。いくつかの例では、プランナーコンポーネントは、残差における白色を決定することがある。上記の例では、残差における白色は、たとえば動作216など、以下に述べられるしきい値と比較されることがある。
【0060】
動作214において、プランナーコンポーネント202は、信号の補正係数に関連付けられた値を決定することがある。補正係数は、IMUバイアス、マップ歪み率、車輪径スケールのスケールファクター、および同類のものを含むことがある。補正係数は、入力エラーに対して補正するのに用いられることがある。いくつかの例では、補正係数は、予め定義されたモデルに従うことが分かっている入力エラーに適用されることがある。
【0061】
動作216において、プランナーコンポーネント202は、分散、残差、または補正係数に関連付けられた値がしきい値以上であるかどうかを決定することがある。いくつかの例では、しきい値は、1つまたは複数の分散しきい値、残差しきい値、および/または補正しきい値を含むことがある。いくつかの例では、それぞれのしきい値は、分散、残差、および/または補正しきい値に関連付けられたローカライザーに基づいて決定されることがある。いくつかの例では、それぞれのしきい値は、分散、残差、および/または補正しきい値に関連付けられたセンサーに基づいて決定されることがある。
【0062】
いくつかの例では、しきい値は、残差および/または補正係数に関連付けられた値がしきい値より上であり得るしきい値時間期間(例えば、最大時間、1秒、0.5秒など)を含むことがある。上記の例では、残差および/または補正係数がしきい値を超えるという決定は、残差および/または補正係数が、しきい値時間期間以上、高いままであったという決定に基づくことがある。例えば、第1のホイールスピードに関連付けられた第1の補正係数は、第1の時間にしきい値補正係数の値を超えることがある。第1の時間の後のしきい値時間期間未満の第2の時間に、第2のホイールスピードに関連付けられた第2の補正係数は、しきい値よりも小さいことがある。プランナーコンポーネント202は、エラーが一時的(例えば、車輪のスリップ、または同類のものによって生じた一時的なグリッチ)だったこと、および値がしきい値を超えなかったと決定することがある。しかしながら、第3の時間に、第3のホイールスピードに関連付けられた第3の補正係数がしきい値補正係数を超えることがあり、第3の時間からのしきい値時間期間より大きい第4の時間に、さらに、第4のホイールスピードに関連付けられた第4の補正係数がしきい値補正係数を超えることもある。しきい値時間期間より長い超過に基づいて、プランナーコンポーネント202は、補正係数値がしきい値を超えると決定することがある。
【0063】
分散、残差、または値のうちの少なくとも1つがしきい値を超えないという決定(動作216において「いいえ」)に基づいて、プランナーコンポーネント202は、動作218において、信号に基づいて車両を制御することがある。いくつかの例では、プランナーコンポーネント202は、信号に基づいて車両の最初のロケーションを決定することがある。上記の例では、プランナーコンポーネント202は、最初のロケーションに基づいて、車両が環境を通り抜けて走る軌道を決定することがある。種々の例では、プランナーコンポーネント202は、2019年7月19日に出願された「Unstructured Vehicle Path Planner」という表題の米国特許出願シリアル番号16/517,506、および2019年8月13日に出願された「Cost-Based Path Determination」という表題の米国特許出願シリアル番号16/539,928に説明された技法を利用する信号に基づいて車両を制御することがあり、両方の出願の全内容が参照によって本明細書に組み入れられる。
【0064】
分散、残差、または値のうちの少なくとも1つがしきい値を超えるという決定(動作216において「はい」)に基づいて、プランナーコンポーネント202は、動作220において、車両に代替動作を行わせることがある。代替動作は、車両を予め決められた速さ(例えば、時速17マイル、時速25キロメートルなど)まで減速させること、車両を以前の速さの何分の一まで減速させること(例えば、以前の速度の60%まで減らすこと)、または車両を停止させること、特定の作動を控えること(例えば、速さを制限すること、回転半径を制限すること、加速度を制限することなど)を含むことがあるが、どんな他の操縦でも想定される。例えば、分散がしきい値を超えるという決定に基づいて、プランナーコンポーネントは、車両を停止させる(例えば、道路の片側に寄せる)ことを決定することがある。
【0065】
いくつかの例では、代替動作は、同一または類似のタイプの異なるセンサーに関連付けられたデータを比較することを含むことがある。例えば、プランナーコンポーネント202は、第1のIMUに関連付けられた残差はしきい値を超えるが、第2および第3のIMUに関連付けられた残差はしきい値を超えないと決定することがある。比較に少なくとも部分的に基づいて、プランナーコンポーネントは、車両の前進移動を、減じられた速度(例えば、現在の速さについての予め決められたまたは割合)まで減速することを決定することがある。
【0066】
いくつかの例では、代替動作は、しきい値超過に関連付けられたセンサーおよび/またはローカライザーを無視することを含むことがある。いくつかの例では、代替動作は、超過に関連付けられた特定の自由度(例えば、特定の次元における値)を無視することを含むことがある。上記の例では、プランナーコンポーネント202は、特定の自由度が車両の制御と関係がないと決定することがあり、車両制御の考慮事項において関連付けられた値(例えば、分散、残差など)を取り除くことがある。例えば、プランナーコンポーネント202は、車両のz-高さに関連付けられた残差がしきい値を超えると決定することがある。z-高さが実質的に平坦な道路(例えば、<3%の勾配など)を走る車両と関係がないという決定に基づいて、プランナーコンポーネント202は、車両制御計画の考慮事項から、z-高さと、関連する残差とを無視することを決定することがある。別の例として、プランナーコンポーネント202は、車両の横方向の速度に関連付けられた残差がしきい値の値を超えると決定することがある。横方向の速度が車両と関係があるという決定に基づいて、プランナーコンポーネント202は、エラーが解決されるまで車両の前進速度を遅くすることを決定することがある。
【0067】
いくつかの例では、代替動作は、エラーに関連付けられたデータを、たとえばリモートコンピューティングデバイス146などのリモートコンピューティングデバイスに送ることを含むことがある。いくつかの例では、リモートコンピューティングデバイスは、エラーを評価する、および/または1つまたは複数の車両システムに診断検査および/またはメンテナンスを行うように構成されることがある。いくつかの例では、加えて、プランナーコンポーネント202は、上の参照によって本明細書に組み入れられる、たとえば米国特許出願シリアル番号16/712,753に記載されているなど、障害データをリモートコンピューティングデバイスに送ることがある。上記の例では、プランナーコンポーネント202(例えば、車両の車両コンピューティングシステム)によって提供されるエラーデータおよび/または故障データに基づいて、リモートコンピューティングデバイスは、誤りのあるデータを提供している特定のセンサーおよび/またはローカライザーを識別することがある。
【0068】
図3は、本明細書に説明されている時間をかけて決定される車両302の車輪に関連付けられた残差(例えば、残差312、316など)の例示的なチャート300である。説明的な例では、車両302は、4つの車輪、第1の車輪304、第2の車輪306、第3の車輪308、および第4の車輪310を含むことがある。今述べたことは、限定していることを意図されず、車両は、より多いまたはより少ない数の車輪を含むことがある。
【0069】
いくつかの例では、プランナーコンポーネント、たとえばプランナーコンポーネント122などのローカライゼーションエラー監視コンポーネント、たとえばローカライゼーションエラー監視コンポーネント124などは、センサーデータに基づいて、測定値に関連付けられた1つまたは複数の残差を決定するように構成されることがある。説明的な例では、測定値は、ホイールスピードを含むことがある。他の例では、測定値は、どんな次元および/または自由度においても、および/または2以上の次元または自由度にわたって、状態情報に関連付けられた他の値(例えば、x-位置、y-位置、z-位置、x-速度、y-速度、z-速度、ピッチ、ロール、ヨー、関連付けられた進度、加速度、および同類のもの)を含むことがある。状態情報は、車両、および/または説明的な例として、車両のコンポーネント(例えば、車輪)に関連付けられた情報を含むことがある。
【0070】
種々の例では、ローカライゼーションエラー監視コンポーネントは、時間をかけて残差(複数可)を評価することがある。上記の例では、残差に関するエラー評価誤差は、残差に関連付けられた時間的な統計に基づくことがある。種々の例では、時間的な統計は、ローカライゼーションエラー監視コンポーネントに、特定の時間に特定の残差が、たとえば車輪のスリップに基づくなどの例外であったかどうか、または関連付けられたセンサーおよび/またはシステムが、センサーおよび/またはシステムにおける真のエラーを示す高い残差を一貫して生成しているかを決定することを可能にすることがある。いくつかの例では、残差は、たとえば、以前のタイムステップのホイールスピードを積分することによって、または現在の時間の推定ホイールスピードまで早く先に伝搬させることによってなど、以前のタイムステップのホイールスピードとの現在のホイールスピードの比較に部分的に基づいて決定されることがある。
【0071】
説明的な例では、第2の車輪306は、時間t2に残差312を含むことがあり、残差312がホイールスピードの測定に関連付けられる。残差312は、たとえば時間t1と比較されるなど、時間t2のホイールスピードにおける差に起因することがある。いくつかの例では、修正は、路面の水、くぼみに出くわすこと、または同類のものによるわずかな車輪のスリップによることがある。
【0072】
図3に例示されている残差312は、残差しきい値314より小さい値を含むことがある。種々の例では、残差しきい値314は、測定に関連付けられた特定のセンサーおよび/またはコンポーネントに基づいて決定されることがある。いくつかの例では、残差しきい値314は、測定値を提供するローカライザーに基づいて決定されることがある。種々の例では、残差しきい値314は、環境上の考慮事項(例えば、道路状況、気象状況、1日のうちの時間、暗さのレベルなど)に基づいて決定されることがある。例えば、ローカライゼーションエラー監視コンポーネントは、たとえば濡れた面による増加する車輪のスリップを説明するなど、乾いた日の使用のための第1の残差しきい値314と、雨降りの日の適用のための第2の、より高い残差しきい値314とを含むことがある。残差312が残差しきい値314より小さいという決定に少なくとも部分的に基づいて、ローカライゼーションエラー監視コンポーネントは、関連センサーおよび/または関連コンポーネントにエラーが存在しないと決定することがある。
【0073】
説明的な例では、時間t3に、ローカライゼーションエラー監視コンポーネントは、第1の車輪304および第3の車輪308に関連付けられた測定値に対応する残差316を識別することがある。いくつかの例では、ローカライゼーションエラー監視コンポーネントは、残差316が残差しきい値314より上であると決定することがある。いくつかの例では、残差が残差しきい値314より上であるという決定に基づいて、ローカライゼーションエラー監視コンポーネントは、たとえば、センサー(例えば、ホイールスピードセンサー)および/またはコンポーネント(例えば、車輪)に関連付けられた、可能性があるエラーを車両コンピューティングシステムに警告するなど、エラーデータを車両コンピューティングシステムのプランナーコンポーネントに提供することがある。
【0074】
いくつかの例では、第1の車輪304および第3の車輪308(例えば、平行な車輪)が同一の時間t3に(同じ大きさの)残差316を含むことに少なくとも部分的に基づいて、ローカライゼーションエラー監視コンポーネントは、残差が、たとえば、鉄道の軌道、スピードバンプ、または同類のものなど、運転可能表面の上に出くわした物体の結果であり得ると決定することがある。いくつかの例では、たとえば第1の車輪304および第3の車輪308など、平行な車輪が同時に同じ残差316を含むという決定に少なくとも部分的に基づいて、ローカライゼーションエラー監視コンポーネントは、残差316がしきい値314を超えていることに関連付けられたエラーが一時的なグリッチであったと決定することがある。
【0075】
いくつかの例では、ローカライゼーションエラー監視コンポーネントは、プランナーコンポーネントへエラーデータを提供するのを遅らせることを決定することがある。いくつかの例では、遅延は、車輪304、306、308、および310に関連付けられた残差の後続の決定までの時間(例えば、t4)を含むことがある。例えば、第1の車輪および第3の車輪308に関連付けられた残差316が時間t4においてしきい値より上のままならば、ローカライゼーションエラー監視コンポーネントは、関連付けられたエラーデータをプランナーコンポーネントに提供することがある。以下に述べられているだろうローカライゼーションエラー監視コンポーネントは、残差316が残差しきい値314より上であることに関連付けられた時間が、たとえばしきい値時間318など、しきい値時間より上であるという決定に基づいて、エラーデータを報告することがある。
【0076】
説明的な例では、第2の車輪306および第4の車輪310は、時間t4において残差316をそれに関連付けることがある。車両302に例示されている第2車輪306および第4の車輪310は、平行な、後輪を含むことがある。いくつかの例では、車両302は、二方向性であり得る。上記の例では、第2車輪306および第4の車輪310は、前輪として動作するように構成されることがある。第2の車輪306および第4の車輪310に関連付けられた測定値が、時間t3における第1の車輪304および第3の車輪に関連付けられたのと実質的に同じ残差、時間t4において関連付けられた残差316を有するという決定に少なくとも部分的に基づいて、ローカライゼーションエラー監視コンポーネントは、エラー(例えば、残差316が残差しきい値314を超える)が運転可能表面の上に出くわした物体によると決定することがある。例えば、車両302の前輪(例えば、第1の車輪304および第3の車輪308)は、時間t3に鉄道の軌道を越えて行き、第1の車輪304および第3の車輪308に関連付けられた測定値に、結果として生じる残差316を引き起こすことがある。時間t4において、車両302の後輪(第2の車輪306および第4の車輪310)が鉄道の軌道を越えて行き、第2の車輪306および第4の車輪310に関連付けられた測定値に、結果として生じる残差316を引き起こすことがある。実質的に同じ(例えば、しきい値差以内、<3%差など)残差316が、後続の時間(例えば、t3およびt4)に前輪および後輪に関連付けられたという決定に基づいて、ローカライゼーションエラー監視コンポーネントは、エラーが一時的であったおよび/または外部条件もしくはイベントに基づいたと、およびプランナーコンポーネントに報告されるべきでないと決定することがある。
【0077】
図3に例示されているローカライゼーションエラー監視コンポーネントは、時間t8における第3の車輪308に関連付けられた測定に対応する残差320を決定することがある。いくつかの例では、ローカライゼーションエラー監視コンポーネントは、残差320が残差しきい値314より上であると決定することがある。いくつかの例では、ローカライゼーションエラー監視コンポーネントは、残差320が残差しきい値314より上であるという決定に基づいて、プランナーコンポーネントにエラーデータを提供することがある。
【0078】
いくつかの例では、ローカライゼーションエラー監視コンポーネントは、残差320を、第1の車輪304、第2の車輪306、および第4の車輪310に関連付けられた残差と比較することがある。いくつかの例では、比較に基づいて、ローカライゼーションエラー監視コンポーネントは、第3の車輪308が個別的にエラーを体験しているかどうか、またはさらに他の車輪304、306、および/または310も(例えば、線路の例にて上に説明された)エラーを体験しているかを決定することがある。いくつかの例では、第3の車輪308が個別的に高い残差(例えば、エラー)を含むという決定に基づいて、ローカライゼーションエラー監視コンポーネントは、第3の車輪308が車両制御の考慮事項から無視されるべきであるというプランナーコンポーネントへのインディケーションを送ることがある。
【0079】
後続の時間(例えば、t9)に第3の車輪308に対応する測定が残差320を含まないという決定に基づいて、ローカライゼーションエラー監視コンポーネントは、エラーが一時的であったと決定することがある。いくつかの例では、ローカライゼーションエラー監視コンポーネントは、エラーがもはや存在しないというインディケーションを、および/または第3の車輪308に関連付けられた後続の測定値(例えば、時間t9、t10など)が車両制御の考慮事項に含まれることがあるというインディケーションを、プランナーコンポーネントに送ることがある。
【0080】
説明的な例では、ローカライゼーションエラー監視コンポーネントは、第1の車輪304、第2の車輪306、第3の車輪308、および第4の車輪310に関連付けられた残差322を決定することがある。例示されている残差322は、残差しきい値314以上である値を含むことがある。種々の例では、ローカライゼーションエラー監視コンポーネントは、時間t11の4つの車輪304、306、308、および310に関するエラーを決定することがあり、関連するエラーデータをプランナーコンポーネントに送ることがある。いくつかの例では、プランナーコンポーネントは、行う第1の作動、たとえばエラーに基づいて速度を落とすなどを決定することがある。
【0081】
いくつかの例では、ローカライゼーションエラー監視コンポーネントは、後続の時間に、車輪304、306、308、および310に関連付けられた測定値が実質的に同じ残差322を含むと決定することがある。種々の例では、ローカライゼーションエラー監視コンポーネントは、残差に関連付けられた総時間(Δt)がしきい値時間318より上であると決定することがある。残差322に関連付けられた総時間がしきい値時間318より上であるという決定に基づいて、ローカライゼーションエラー監視コンポーネントは、更新されたエラーデータをプランナーコンポーネントに送ることがある。いくつかの例では、プランナーコンポーネントは、更新されたエラーデータに基づいて、車両が行う第2の作動を決定することがある。いくつかの例では、第2の作動は、たとえば、車両を減速させる、車両を停止させる、または同類のものなど、保守的な動作を含むことがある。上記の例では、プランナーコンポーネントは、車両302の動作の間、安全性を最大化することがある。いくつかの例では、第2の作動は、第1の動作からより保守的な作動を含むことがある。例えば、第1の作動は、前進速度時速5マイル遅くすることを含み、第2の作動は、別の時速10マイルの差で前進速度を遅くすることを含むことがある。
【0082】
図4は、本明細書に説明されている技法を行うための例示的なシステム400を例示するブロック図である。少なくとも1つの例では、図1の車両102または図3の車両302に対応することがある車両402は、1つまたは複数の車両コンピューティングデバイス404、1つまたは複数のセンサーシステム406、1つまたは複数のエミッター408、1つまたは複数の通信接続410、少なくとも1つの直接接続412、および1つまたは複数のドライブシステム414を含むことがある。上に説明されている車両402は、運転者(または乗員)がいかなる時点においても車両を制御することが期待されない、全行程にすべてのセーフティクリティカルの機能を実行する性能がある車両を記述する、米国連邦道路交通安全局によって発行されるレベル5分類に従って、動作するように構成された自律車両であり得る。上記の例では、車両402が、すべての駐車機能を含む、スタートからストップまでの全機能を制御するように構成されることがあるので、それは、占有されないことがある。今述べたことは、単に例であり、本明細書に説明されるシステムおよび方法は、常にドライバーによって手動により制御される必要がある車両から、部分的にまたは完全に自律的に制御される車両までに及ぶ車両を含む、陸上輸送の、航空輸送の、または水上輸送のどんな車両にでも組み入れられることがある。すなわち、例示された例では、車両402は、自律車両であるが、しかしながら、車両402は、どんな他の種類の車両でもあることが可能であろう。単一の車両402のみが図4に例示されるが、実際の適用では、例示的なシステム400は、複数の車両を含むことがあり、いくつかの例では、車両隊を含むことが可能である。
【0083】
車両コンピューティングデバイス(複数可)404は、プロセッサー(複数可)416と、プロセッサー(複数可)416に通信接続されたメモリー418とを含むことがある。例示された例では、車両コンピューティングデバイス(複数可)404のメモリー418は、ローカライゼーションコンポーネント420(図1を参照して上に説明したローカライゼーションコンポーネント104に対応することがある)、パーセプションコンポーネント422、予測コンポーネント424、プランナーコンポーネント426(図1のプランナーコンポーネント122および/または図2のプランナーコンポーネント202に対応することがある)、ならびに1つまたは複数のシステムコントローラー428を格納する。加えて、メモリー418は、マップ(複数可)、モデル(複数可)、以前の出力などを格納することが可能であるストレージ430を含むことがある。上に説明しているマップは、たとえば、限定されないが、トポロジー(たとえば、ジャンクション、レーン、合流ゾーンなど)、通り、山脈、道路、地形、および一般的な環境など、環境についての情報を提供する性能があるどんなの数のデータ構造であることも可能である。マップは、現実の環境またはシミュレートされた環境と関連付けられることが可能である。モデル(複数可)は、以下に説明されている機械学習モデルを含むことがある。いくつかの例では、ストレージ430は、以前の出力を格納することが可能である。
【0084】
少なくとも1つの例では、たとえばローカライゼーションコンポーネント104などのローカライゼーションコンポーネント420は、センサーシステム(複数可)406から受信したセンサーデータおよび/または(例えば、マップ(複数可)の)マップに関連付けられたマップデータに少なくとも部分的に基づいて、ローカルマップおよび/またはグローバルマップに関して、車両402のロケーション、1つまたは複数の位置、向き、速度、および/または加速度を決定することがある。少なくとも1つの例では、ローカライゼーションコンポーネント420は、較正する(センサーシステム(複数可)406のうちのいずれか1つまたは複数に関連付けられた種々の固有のパラメーターおよび固有でないパラメーターを決定する)、ローカライズする、および実質的に同時にマッピングするために作動を行う性能がある較正システムを含む、または関連付けられることがある。ローカライゼーションコンポーネント420に関連付けられた追加の詳細は、図1を参照して上に説明されている。
【0085】
少なくとも1つの例では、パーセプションコンポーネント422は、センサーシステム(複数可)406から受信したセンサーデータに少なくとも部分的に基づいて、物体の検出、分割、および/または分類を行うことがある。少なくとも1つの例では、パーセプションコンポーネント422は、生のセンサーデータを(例えば、センサーシステム(複数可)406から)受信することがある。少なくとも1つの例では、パーセプションコンポーネント422は、画像データを受信することがあり、1つまたは複数の画像処理アルゴリズムを利用して、画像データにおいて識別される物体(複数可)に関して、物体の検出、分割、および/または分類を行うことがある。いくつかの例では、パーセプションコンポーネント422は、識別された物体とバウンディングボックス(または別の状況ではインスタンスセグメンテーション)を関連付けることがあり、識別された物体と、識別された物体の分類に関連付けられた信頼度スコアを関連付けることがある。いくつかの例では、物体は、ディスプレイを介してレンダリングされるとき、わかったクラスに基づいて着色されることがある。パーセプションコンポーネント422は、1つまたは複数の他のモダリティに対して、類似した処理を行うことがある。
【0086】
予測コンポーネント424は、センサーシステム(複数可)406からのセンサーデータ、(例えば、ストレージ430にあり得るマップ(複数可)の)マップに関連付けられたマップデータ、および/またはパーセプションコンポーネント422から出力されるパーセプションデータ(例えば、処理されたセンサーデータ)を受信することがあり、車両402の環境内の1つまたは複数の物体に関連付けられた予測を出力することがある。少なくとも1つの例では、プランナーコンポーネント426は、センサーシステム(複数可)406から受信したセンサーデータに、マップデータに、および/または車両402の他のコンポーネントによってなされたどんな決定にでも、少なくとも部分的に基づいて、上に説明されている車両402が行う作動のことがある。
【0087】
使用に適したローカライゼーションシステム、パーセプションシステム、予測システム、および/またはプランニングシステムの追加の詳細は、2017年4月4日に発行された米国特許第9,612,123号、および2019年7月16日に発行された米国特許第10,353,390号に見つけられることが可能であり、両方の全内容が参照によって本明細書に組み入れられる。いくつかの例では(例えば、車両402が自律車両ではない場合)、前述したシステムのうちの1つまたは複数は、車両402から省略されることがある。上に説明されたシステムは、車両402の「車載」として例示されるが、他の実装では、システムは、車両402に対して、遠隔に位置されることがある、および/またはリモートアクセス可能であり得る。その上さらに、システムは、「システム」として上に説明されるが、上記のシステムは、各システムに属する動作を行うための1つまたは複数のコンポーネントを含むことがある。
【0088】
少なくとも1つの例では、ローカライゼーションコンポーネント420、パーセプションコンポーネント422、予測コンポーネント424、および/またはプランナーコンポーネント426は、上に説明されているセンサーデータを処理し、ネットワーク(複数可)432を介してそれぞれの出力をコンピューティングデバイス(複数可)434に送ることがある。少なくとも1つの例では、ローカライゼーションコンポーネント420、パーセプションコンポーネント422、予測コンポーネント424、および/またはプランナーコンポーネント426は、それぞれの出力を、特定の周波数において、予め決められた時間期間が経つと、ほぼリアルタイムにおいてなど、コンピューティングデバイス(複数可)434に送ることがある。
【0089】
少なくとも1つの例では、車両コンピューティングデバイス(複数可)404は、車両402の操舵、推進、制動、安全、エミッター、通信、および他のシステムを制御するように構成されることが可能である1つまたは複数のシステムコントローラー428を含むことがある。今述べたシステムコントローラー(複数可)428は、車両402のドライブシステム(複数可)414および/または他のシステムの対応するシステムに対して通信するおよび/または制御することがある。
【0090】
少なくとも1つの例では、センサーシステム(複数可)406は、ライダーセンサー、レーダーセンサー、超音波トランスデューサー、ソナーセンサー、ロケーションセンサー(例えば、GPS、方位磁針など)、慣性センサー(例えば、慣性測定ユニット、加速度計、磁力計、ジャイロスコープなど)、カメラ(例えば、RGB、IR、強度、深度など)、ホイールエンコーダー、オーディオセンサー、環境センサー(例えば、温度センサー、湿度センサー、光センサー、圧力センサーなど)、ToFセンサーなどを含むことがある。センサーシステム(複数可)406は、入力を、車両コンピューティングデバイス(複数可)404に提供することがある。いくつかの例では、センサーシステム(複数可)406は、センサーデータを車両コンピューティングデバイス(複数可)404に送信する前に、センサーデータの少なくともいくつかを前処理することがある。少なくとも1つの例では、センサーシステム(複数可)406は、ネットワーク(複数可)432を介して、センサーデータを、特定の周波数において、予め決められた時間期間が経つと、ほぼリアルタイムにおいてなど、コンピューティングデバイス(複数可)434に送ることがある。
【0091】
さらに、車両402は、上に説明されている光および/または音を発するために、1つまたは複数のエミッター408を含むこともある。今述べた例におけるエミッター(複数可)408は、車両402の乗客と通信する内部のオーディオおよびビジュアルのエミッターを含む。例および非限定として、内部エミッターは、スピーカー、ライト、サイン、ディスプレイスクリーン、タッチスクリーン、触覚に関するエミッター(例えば、振動および/またはフォースフィードバック)、メカニカルアクチュエーター(例えば、シートベルトテンショナー、シートポジショナー、ヘッドレストポジショナーなど)、および同類のものを含むことがある。さらに、今述べた例におけるエミッター(複数可)408は、外部のエミッターも含む。例として制限しないが、今述べた例における外部のエミッターは、歩行者、他の運転者、他の近くの車両などと視覚的に通信するライトエミッター(たとえば、インジケーターライト、サイン、ライトアレイなど)、歩行者、他の運転者、または他の近くの車両などと可聴的に通信する1つまたは複数のオーディオエミッター(たとえば、スピーカー、スピーカーアレイ、ホーンなど)などを含む。少なくとも1つの例にて、エミッター(複数可)408は、車両402の外部および/または内部のあちこちに、種々のロケーションに置かれることがある。
【0092】
さらに、車両402は、車両402と、他のローカルまたはリモートのコンピューティングデバイス(複数可)との間の通信を可能にする通信接続(複数可)410を含むこともある。例として、通信接続(複数可)410は、車両402の他のローカルコンピューティングデバイス(複数可)との、および/またはドライブシステム(複数可)414との通信を容易にすることがある。更に、通信接続(複数可)410は、車両が、他の近くのコンピュータデバイス(複数可)(たとえば、他の近くの車両、交通信号機など)と通信できるようにすることもある。さらに、通信接続(複数可)410は、車両402に、リモート遠隔操作コンピューティングデバイス、または他のリモートサービスと通信するのを可能にする。
【0093】
通信接続(複数可)410は、車両コンピューティングデバイス(複数可)404を、別のコンピューティングデバイスに、または例えば、ネットワーク(複数可)432などのネットワークに接続するための物理および/または論理インターフェースを含むことがある。例えば、通信接続(複数可)410は、たとえば、IEEE802.11規格によって定義された周波数、たとえばBLUETOOTH(登録商標)などのショートレンジのワイヤレス周波数、またはそれぞれのコンピューティングデバイスに他のコンピューティングデバイス(複数可)とインターフェースできるようにするどんな適切なワイヤードまたはワイヤレスの通信プロトコルでも介してなど、Wi-Fiベースの通信を可能にすることがある。
【0094】
直接接続412は、ドライブシステム(複数可)414と車両402の他のシステムとを直接接続することがある。
【0095】
少なくとも1つの例では、車両402は、ドライブシステム(複数可)414を含むことがある。いくつかの例では、車両402は、単一のドライブシステム414を有することがある。少なくとも1つの例にて、車両402が複数のドライブシステム414を有するならば、個々のドライブシステム414は、車両402の向き合う端部(例えば、前方および後方など)に置かれることがある。少なくとも1つの例では、ドライブシステム(複数可)414は、ドライブシステム(複数可)414の状況を、および/または車両402の周囲の状態を検出するセンサーシステム(複数可)を含むことがある。例として、および限定ではない、センサーシステム(複数可)は、ドライブモジュールの車輪の回転を感知するホイールエンコーダー(複数可)(例えば、ロータリーエンコーダー)、ドライブモジュールの位置および加速度を測定する慣性センサー(例えば、慣性測定ユニット、加速度計、ジャイロスコープ、磁力計など)、カメラまたは他の画像センサー、ドライブモジュールの周囲の物体を聴覚的に検出する超音波センサー、ライダーセンサー、レーダーセンサーなどを含むことがある。いくつかのセンサー、たとえばホイールエンコーダー(複数可)などは、ドライブシステム(複数可)414に一意的であることが可能である。ときには、ドライブシステム(複数可)414のセンサーシステム(複数可)は、車両402の対応するシステム(例えば、センサーシステム(複数可)406)に対して重ねる、または補うことがある。
【0096】
ドライブシステム(複数可)414は、高電圧バッテリー、車両402を推進するモーター、他の車両システムによる使用のためにバッテリーからの直流を交流に変換するインバーター、(電気で動くことが可能である)ステアリングモーターおよびステアリングラックを含むステアリングシステム、油圧または電気アクチュエーターを含むブレーキングシステム、油圧および/または空気圧コンポーネントを含むサスペンションシステム、けん引のロスを軽減し制御を維持するブレーキ力を分配するための安定性制御システム、HVACシステム、ライティング(例えば、車両の外部の周囲を照らすヘッド/テールライトなどのライティング)、および1つまたは複数の他のシステム(例えば、冷却システム、安全性システム、オンボード充電システム、たとえば、DC/DCコンバーター、高電圧ジャンクション、高電圧ケーブル、充電システム、充電ポート等の他の電気コンポーネント)を含む、多くの車両システムを含むことがある。加えて、ドライブシステム(複数可)414は、センサーシステム(複数可)からのデータを受信し前処理することが可能であり、種々の車両システムの動作を制御するためのドライブモジュールコントローラーを含むことがある。いくつかの例にて、ドライブモジュールコントローラーは、プロセッサー(複数可)と、プロセッサー(複数可)に通信接続されたメモリーとを含むことがある。メモリーは、ドライブシステム(複数可)414の種々の機能性を行う1つまたは複数のモジュールを格納することがある。その上さらに、ドライブシステム(複数可)414は、それぞれのドライブモジュールによる、他のローカルまたはリモートのコンピューティングデバイス(複数可)との通信を可能にする通信接続(複数可)も含む。
【0097】
図4において、車両コンピューティングデバイス(複数可)404、センサーシステム(複数可)406、エミッター(複数可)408、および通信接続(複数可)410は、車両402に搭載されて示される。しかしながら、いくつかの例では、車両コンピューティングデバイス(複数可)404、センサーシステム(複数可)406、エミッター(複数可)408、および通信接続(複数可)410は、実際の車両の外側に(すなわち、車両402に搭載されずに)実装されることがある。
【0098】
上に説明されている車両402は、センサーデータを、ネットワーク(複数可)432を介してコンピューティングデバイス(複数可)434に送ることがある。いくつかの例では、車両402は、生のセンサーデータを、コンピューティングデバイス(複数可)434に送ることがある。他の例では、車両402は、コンピューティングデバイス(複数可)434に、処理されたセンサーデータ、および/またはセンサーデータの表現(例えば、ローカライゼーションシステム420、パーセプションコンポーネント422、予測システム424、および/またはプランナーコンポーネント426から出力されるデータ)を送ることがある。いくつかの例では、車両402は、センサーデータを、特定の周波数において、予め決められた時間期間が経つと、ほぼリアルタイムにおいてなど、コンピューティングデバイス(複数可)434に送ることがある。
【0099】
コンピューティングデバイス(複数可)434は、車両402および/または他のデータ収集デバイスから(生の、または処理された)センサーデータを、1つまたは複数のサードパーティーのソースおよび/またはシステムからのデータも同様に、受信することがある。少なくとも1つの例では、コンピューティングデバイス(複数可)434は、プロセッサー(複数可)436と、プロセッサー(複数可)436に通信接続されたメモリー438とを含むことがある。例示される例では、コンピューティングデバイス(複数可)434のメモリー438は、トレーニングシステム440と、マップ(複数可)ストレージ432(例えば、1つまたは複数のマップを格納する)と、履歴データストレージ444(例えば、以前のエラーに関連付けられたデータ)とを格納する。いくつかの例では、システムおよび/またはストレージリポジトリのうちの1つまたは複数は、コンピューティングデバイス(複数可)434のメモリー438に関連付けられる代わりにまたは加えて、車両402と、またはシステム400に関連付けられた他のコンピューティングデバイス(複数可)と関連付けられることが可能である。
【0100】
少なくとも1つの例では、トレーニングシステム440は、本明細書に説明されている種々の動作のために用いられることが可能であるデータモデル(複数可)をトレーニングすることが可能である。例えば、機械学習モデル(複数可)をトレーニングするための機械学習アルゴリズムは、限定されないが、回帰アルゴリズム(例えば、通常の最小二乗回帰(OLSR)、線形回帰、ロジスティック回帰、ステップワイズ回帰、多変量適応型回帰スプライン(MARS)、局所推定スキャッタープロット平滑化法(LOESS))、イグザンプルベースのアルゴリズム(例えば、リッジ回帰、最小絶対収縮および選択演算子(LASSO)、弾性ネット、最小角度回帰(LARS))、ディシジョンツリーアルゴリズム(例えば、分類および回帰ツリー(CART)、反復二分法3(ID3)、カイ二乗自動相互作用検出(CHAID)、決定断端、条件付きディシジョンツリー)、ベイジアンアルゴリズム(例えば、ナイーブベイズ、ガウスナイーブベイズ、多項式ナイーブベイズ、アベレージワンディペンデンスエスティメータズ(AODE)、ベイジアンビリーフネットワーク(BNN)、ベイジアンネットワーク)、クラスタリングアルゴリズム(例えば、k平均法、kメジアン、期待値最大化(EM)、階層クラスタリング)、相関ルール学習アルゴリズム(例えば、パーセプトロン、逆伝搬、ホップフィールドネットワーク、動径基底関数ネットワーク(RBFN))、深層学習アルゴリズム(例えば、ディープボルツマンマシン(DBM)、他のディープビリーフネットワーク(DBN)、人工ニューラルネットワーク(ANN)、スタックドオートエンコーダ)、次元縮退アルゴリズム(例えば、主成分分析(PCA)、主成分回帰(PCR)、部分的最小二乗回帰(PLSR)、サモンマッピング、多次元尺度構成法(MDS)、投影追跡、線形判別分析(LDA)、混合判別分析(MDA)、二次判別分析(QDA)、柔軟判別分析(FDA))、SVM(サポートベクターマシン)、教師あり学習、教師なし学習、準教師あり学習など含むことがある。結果として生じるデータモデル(複数可)は、車両402のメモリー438および/またはストレージ430に格納されることが可能であり、車両コンピューティングデバイス(複数可)404の1つまたは複数のコンポーネントによってほぼリアルタイムでアクセスされることが可能である。
【0101】
車両402のプロセッサー(複数可)416およびコンピューティングデバイス(複数可)434のプロセッサー(複数可)436は、本明細書に説明されているデータを処理し、動作を行う命令を実行する性能があるどんな適切なプロセッサーでもあり得る。例としておよび限定ではない、プロセッサー(複数可)416、436は、1つまたは複数のCPU(中央処理装置)、GPU(Graphics Processing Unit)、または電子データを処理して、その電子データを、レジスターおよび/もしくはメモリーに格納されることがある他の電子データに変換するどんな他のデバイスもしくはデバイスの部分でも含むことがある。いくつかの例では、さらに、集積回路(例えば、ASICなど)、ゲートアレイ(例えば、FPGAなど)、および他のハードウェアデバイスは、エンコードされた命令を実装するように構成される限り、考慮されるプロセッサーであることも可能である。
【0102】
メモリー418および438は、非一時的なコンピューター読取り可能媒体の例である。メモリー418および438は、本明細書に説明される方法と、種々のシステムに帰する機能とを実装するためのオペレーティングシステムおよび1つまたは複数のソフトウェアアプリケーション、命令、プログラム、および/またはデータを格納することがある。種々の実装において、メモリーは、どんな適切なメモリー技術でも、たとえば、SRAM(スタティックRAM)、SDRAM(シンクロナスDRAM)、不揮発性/フラッシュ型メモリー、または情報を格納する性能がある他のタイプのメモリーを用いて実装されることがある。本明細書に説明されるアーキテクチャー、システム、および個々の要素は、多くの他の論理的な、プログラム的な、および物理的なコンポーネントを含むことがあり、添付の図面に示されるそれらは、本明細書の議論に関係のある単なる例である。
【0103】
図4が分散システムとして例示される一方、いくつかの例では、車両402のシステムが、コンピューティングデバイス(複数可)434と関連付けられることがある、および/またはコンピューティングデバイス(複数可)434のシステムが、車両402と関連付けられることがあることは特筆されるべきである。すなわち、車両402は、コンピューティングデバイス(複数可)434に関連付けられた1つまたは複数の機能を行い、逆もまた同様であり得る。
【0104】
図2図5、および図6は、本開示の態様にしたがう例示的な処理を示す図である。今述べた処理は、各動作が、ハードウェア、ソフトウェア、またはそれらの組合せにおいて実装されることがある動作のシーケンスを表す、ロジカルフローグラフとして例示される。ソフトウェアという状況にて、動作は、1つまたは複数のコンピューター読取り可能な記録媒体に格納されたコンピューター実行可能な命令を表し、1つまたは複数のプロセッサーによって実行されると、引用される動作を行う。一般に、コンピューター実行可能命令は、特定の機能を行うまたは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造、および同類のものを含む。動作が説明される順序は、限定として解釈されることを意図せず、処理を実装するために、説明される動作をいくらでも、どんな順序でもおよび/または並列に組み合わされることがある。さらに、動作は、本開示の範囲内のまま、省略されるまたは追加されることがある。
【0105】
図5は、本明細書に説明されている車両の状態に関連付けられたメトリックに基づいて車両を制御するための例示的な処理500を示す図である。処理500のいくつかまたはすべては、本明細書に説明されている図4における1つまたは複数のコンポーネントによって行われることがある。例えば、処理500のいくつかまたはすべては、車両コンピューティングデバイス(複数可)404および/またはコンピューティングデバイス(複数可)434によって行われることがある。
【0106】
動作502において、処理は、車両の1つまたは複数のセンサーシステムからセンサーデータを受信することを含むことがある。センサーデータは、ライダーセンサー、レーダーセンサー、超音波トランスデューサー、ソナーセンサー、ロケーションセンサー(例えば、全地球測位システム(GPS)、コンパスなど)、慣性センサー(例えば、慣性測定ユニット(IMU)、加速度計、磁気計、ジャイロスコープ、横速度センサー(例えば、グランドトラッキング(ground tracking)に基づいて横方向の速さを決定するセンサー)など)、カメラ(例えば、赤緑青(RGB)、赤外線(IR)、強度、深度など)、ホイールエンコーダー、環境センサー(例えば、温度センサー、湿度センサー、光センサー、圧力センサーなど)、タイムオブフライト(time-of-flight:ToF)センサーなどによってキャプチャされたデータを含むことがある。
【0107】
いくつかの例では、加えて、処理は、車両および/またはリモートコンピューティングデバイスに格納された1つまたは複数のマップからマップデータを受信することを含むことがある。上に述べているマップは、たとえば、限定されないが、トポロジー(たとえば、ジャンクション、レーン、合流ゾーンなど)、通り、山脈、道路、地形、および一般的な環境など、環境についての情報を提供する性能があるどんなの数のデータ構造であることもある。いくつかの例では、マップ(複数可)は、タイルマップ、特徴マップ、および/または他のタイプのマップ、たとえば上に説明された米国特許出願に説明されているものなどを含むことがある。
【0108】
動作504において、処理は、センサーデータに少なくとも部分的に基づいて車両の状態を決定することを含むことがある。車両の状態は、与えられた時間の車両のロケーション、位置、向き、速度、および/または加速度を含むことがある。車両の状態は、生のおよび/または処理されたセンサーデータに基づいて最適化された車両の状態を含むことがある。いくつかの例では、最適化された車両の状態は、たとえばIMU112および/またはローカライザー114、116、118、および/または120など、1つまたは複数のIMUおよび/または1つまたは複数のローカライザーからの入力に基づいて決定されることがある。上記の最適化は、例えば、本明細書に説明される個々のコンポーネントに関して定義された残差のうちのいずれか1つまたは複数を最小化する非線形最小二乗最適化(どんな他の最適化メカニズムでも想定されるが)を含むことがある。いくつかの例では、車両の状態は、1つまたは複数の自由度(例えば、12の自由度、15の自由度)に基づいて表されることがある。いくつかの例では、状態は、1つまたは複数のロケーション(例えば、x-ロケーション、y-ロケーション、および/またはz-ロケーション)、1つまたは複数の位置および/または向き(例えば、ピッチ、ロール、ヨー、関連するレート)、1つまたは複数の速度(例えば、-x-速度、y-速度、z-速度)、加速度(例えば、x-加速度、y-加速度、z-加速度)、または同様のものを含むことがある。いくつかの例では、状態は、2以上の次元にわたって表されることがある。
【0109】
動作506において、処理は、車両の状態に関連付けられたメトリックを決定することを含むことがあり、メトリックは、分散、残差、または補正係数のうちの少なくとも1つを含む。状態に関連付けられた分散は、推定状態が正確であるという信頼度を表すことがある。いくつかの例では、分散は、線形化システムに基づいて決定されることがある。いくつかの例では、分散は、車両の推定状態に関連付けられた共分散を含むことがある。上記の例では、分散に関連付けられた値は、2以上の次元にわたって状態の信頼度を表すことがある。
【0110】
残差は、観測された測定(値)(例えば、センサー入力に基づく)と、関心の量についての推定された測定(値)(例えば、推定されたピッチ、ロール、ヨー、座標系および/または次元におけるロケーション、速度など)との間の差を表すことがある。いくつかの例では、推定された測定は、以前のタイムステップに関連付けられた値(例えば、現在の測定より前に0.06秒を要した測定に関連付けられた値)に部分的に基づくことがある。上記の例では、残差は、測定値における矛盾を表すことがある。補正係数は、入力エラーに対して補正するのに用いられる値を含むことがある。いくつかの例では、入力エラーは、予め定義されたモデルに従うと分かっているものを含むことがある。補正係数は、限定されないが、IMUバイアス、車輪径のスケールファクター、および同類のものを含むことがある。
【0111】
動作508において、処理は、メトリックがしきい値以上であるかどうかを決定することを含むことがある。いくつかの例では、しきい値は、メトリックに基づいて決定されることがある。いくつかの例では、しきい値は、関連付けられたセンサーに基づいて決定されることがある。いくつかの例では、しきい値は、メトリックに関連付けられたローカライザーに基づいて決定されることがある。種々の例では、しきい値は、監視される状態に関連付けられた警戒限界に基づいて決定されることがある。いくつかの例では、しきい値は、1つまたは複数の環境上の考慮事項に基づくことがある。
【0112】
いくつかの例では、メトリックがしきい値以上であるかどうかの決定は、メトリックがしきい値時間期間(例えば、0.5秒、1秒、2秒)に対してしきい値より上であると決定することに基づくことがある。上記の例では、エラー決定は、誤りのある測定値の長引いた決定に基づくことがある。いくつかの例では、メトリックは、最大値および最小値を含むことがある。上記の例では、メトリックがしきい値以上であることは、メトリックのうちの少なくとも1つが、最大値以上である、または最小値以下であることを決定することを含むことがある。いくつかの例では、最大値および最小値は、車両動作の間のコンポーネントについての許容可能な修正の百分率を表すことがある。例えば、動作環境の温度により、車輪の半径は、動作の間、増加するおよび/または減少することがある。車両コンピューティングシステムは、補正係数を車両の変化する半径に適用することがある。しかしながら、補正係数は、車両の半径の0.75%増加(例えば、最大)および0.75%減少(例えば、最小)の最大を補正するように制限されることがある。
【0113】
メトリックがしきい値より下であるという決定(動作508において「いいえ」)に基づいて、処理は、動作510において、状態に少なくとも部分的に基づいて車両を制御することを含むことがある。いくつかの例では、車両制御は、車両に関連付けられた軌道を維持することを含むことがある。いくつかの例では、車両制御は、たとえば他の(状態に基づかない)決定(例えば、停止標識または赤信号により停止すること、歩行者に譲ることなど)に基づいてなど、軌道を修正することを含むことがある。
【0114】
メトリックがしきい値以上であるという決定(動作508において「はい」)に基づいて、処理は、動作512において、メトリックに関連付けられたセンサーまたはコンポーネントのうちの少なくとも1つを識別することを含むことがある。種々の例では、しきい値の超過は、センサーまたはコンポーネントのうちの少なくとも1つに関連付けられたエラーのインディケーションを提供することがある。
【0115】
動作514において、処理は、センサーまたはコンポーネントのうちの少なくとも1つに関連付けられたエラーを決定することを含むことがある。いくつかの例では、車両コンピューティングシステムは、エラーの程度(例えば、大きなエラー、小さなエラーなど)を決定することがある。種々の例では、エラーの程度は、メトリックがしきい値を超える量に基づくことがある。
【0116】
動作516において、処理は、エラーに少なくとも部分的に基づいて車両を制御することを含むことがある。エラーに基づいて車両を制御することは、車両を停止させること、予め決められた速さまで速度を落とすこと、および/または予め決められた量の速度を落とすること(例えば、速さの50%まで減速する、前進速さを時速10マイル減少させるなど)、または同類のものを含むことがある。いくつかの例では、行う作動の決定は、エラーの程度、利用可能な冗長システムの数、車両制御に対する関連センサーおよび/または関連コンポーネントの重要度、および同類のものに基づくことがある。
【0117】
図6は、本明細書に説明されている車両の状態に関連付けられた残差値に基づいて車両を制御するための例示的な処理600を示す図である。処理600のいくつかまたはすべては、本明細書に説明されている図4における1つまたは複数のコンポーネントによって行われることがある。例えば、処理600のいくつかまたはすべては、車両コンピューティングデバイス(複数可)404および/またはコンピューティングデバイス(複数可)434によって行われることがある。
【0118】
動作602において、処理は、第1の時間期間の間、車両の状態に関連付けられた第1の測定を受信することを含むことがある。いくつかの例では、第1の測定は、第1の時間期間にわたって取得された測定値に関連付けられた平均を含むことがある。いくつかの例では、車両コンピューティングデバイスは、センサーによってキャプチャされた測定値に、および/または車両のコンポーネント、たとえば、IMU、ローカライザー、または同類のものによって決定された測定値に、オートアグレッシブムービングアベレージフィルター(auto aggressive moving average filter)を適用することがある。例えば、第1の測定は、たとえば自己回帰移動平均(auto regressive moving average:ARMA)フィルターなどの関数を利用して決定されることがある。
【0119】
いくつかの例では、第1の測定は、第1の時間に関連付けられることがある。測定は、車両の1つまたは複数のセンサーから受信したセンサーデータに基づいて決定されることがある。いくつかの例では、車両の状態は、与えられた時間の車両のロケーション、位置、向き、速度、および/または加速度を含むことがある。いくつかの例では、車両の状態は、1つまたは複数の自由度(例えば、12の自由度、15の自由度)に基づいて表されることがある。いくつかの例では、状態は、1つまたは複数のロケーション(例えば、x-ロケーション、y-ロケーション、および/またはz-ロケーション)、1つまたは複数の位置および/または向き(例えば、ピッチ、ロール、ヨー、関連するレート)、1つまたは複数の速度(例えば、-x-速度、y-速度、z-速度)、加速度(例えば、x-加速度、y-加速度、z-加速度)、または同様のものを含むことがある。いくつかの例では、状態は、2以上の次元にわたって表されることがある。
【0120】
動作604において、処理は、第1の測定に関連付けられた第1の残差を決定することを含むことがある。残差は、観測された測定(例えば、センサー入力に基づく)と、関心の量についての推定された測定(例えば、推定されるピッチ、ロール、ヨー、座標系および/または次元におけるロケーション、速度など)との間の差分を表すことがある。いくつかの例では、推定された測定は、以前のタイムステップに関連付けられた値(例えば、現在の測定より前に0.06秒を要した測定に関連付けられた値)に部分的に基づくことがある。上記の例では、残差は、時間をかけた測定値における矛盾を表すことがある。
【0121】
いくつかの例では、車両コンピューティングシステムは、たとえば分散に基づいて残差を正規化することによってなど、第1の残差を第1の時間における状態に関連付けられた分散と比較することがある。上記の例では、比較は、白色化された残差に帰着することがある。種々の例では、第1の残差は、白色化された残差における白色に関連付けられた値を含むことがある。
【0122】
動作606において、処理は、第1の残差がしきい値以上であるかどうかを決定することを含むことがある。いくつかの例では、しきい値は、関連付けられたセンサーおよび/またはコンポーネントに基づいて決定されることがある。いくつかの例では、しきい値は、第1の残差に関連付けられたローカライザーに基づいて決定されることがある。いくつかの例では、しきい値は、1つまたは複数の環境上の考慮事項に基づくことがある。
【0123】
第1の残差がしきい値未満であるという決定(動作606において「いいえ」)に基づいて、処理は、動作608において、状態に少なくとも部分的に基づいて車両を制御することを含むことがある。いくつかの例では、車両制御は、車両に関連付けられた軌道を維持することを含むことがある。いくつかの例では、車両制御は、たとえば他の(状態に基づかない)決定(例えば、停止標識または赤信号により停止すること、歩行者に譲ることなど)に基づいてなど、軌道を修正することを含むことがある。
【0124】
第1の残差がしきい値以上であるという決定(動作606において「はい」)に基づいて、処理は、動作610において、第1の残差が時間のしきい値量以上の間、しきい値以上のままであったかどうかを決定することを含むことがある。時間のしきい値量は、関連付けられたセンサー、コンポーネント、および/またはローカライザーに基づいて決定されることがある。いくつかの例では、しきい値時間量は、車両に関連付けられた速度、動作環境(例えば、高速道路、ビジネス街など)、環境上の考慮事項、気象状況、(例えば、検出される雨、雪、氷など)、交通密度、および同類のものに基づくことがある。
【0125】
第1の残差が時間のしきい値量の間、しきい値以上であったという決定(動作610において「はい」)に基づいて、処理は、動作612において、車両のセンサーまたはコンポーネントのうちの少なくとも1つに関連付けられたエラーを識別することを含むことがある。いくつかの例では、車両コンピューティングシステムは、たとえばしきい値超過の程度に基づいてなど、エラーの程度を決定することがある。
【0126】
動作614において、処理は、エラーに少なくとも部分的に基づいて車両を制御することを含むことがある。エラーに基づいて車両を制御することは、車両を停止させること、予め決められた速さまで速度を落とすこと、および/または予め決められた量の速度を落とすること(例えば、速さの50%まで減速する、前進速さを時速10マイル減少させるなど)、または同類のものを含むことがある。いくつかの例では、行う作動の決定は、エラーの程度、利用可能な冗長システムの数、車両制御に対する関連センサーおよび/または関連コンポーネントの重要度、および同類のものに基づくことがある。
【0127】
第1の残差が、しきい値時間期間の間、しきい値以上であるという決定に基づいて(動作610において「いいえ」)、処理は、動作616において、第2の時間における車両の第2の状態に関連付けられた第2の測定を受信することを含むことがある。第2の測定は、第1の測定と同じローカライザー、センサー、および/またはコンポーネントに関連付けられることがある。
【0128】
動作618において、処理は、第2の測定に関連付けられた第2の残差を決定することを含むことがある。第2の残差は、第2の時間に観測された測定と、関心の量についての推定された測定(例えば、推定されるピッチ、ロール、ヨー、座標系および/または次元におけるロケーション、速度など)との間の差分を表すことがある。いくつかの例では、推定された測定は、第1の時間にまたは別の以前のタイムステップに関連付けられた値に部分的に基づくことがある。種々の例では、車両コンピューティングシステムは、動作606において、第2の残差がしきい値の値以上であるかどうかを決定することがある。
【0129】
図7は、本明細書に説明されている最適化された車両の状態を決定するための例示的な処理700を示す図である。処理700のいくつかまたはすべては、本明細書に説明されている図4における1つまたは複数のコンポーネントによって行われることがある。例えば、処理700のいくつかまたはすべては、車両コンピューティングデバイス(複数可)404および/またはコンピューティングデバイス(複数可)434によって行われることがある。
【0130】
動作702において、処理は、第1の時間における車両の以前の状態を決定することを含むことがある。車両の以前の状態は、車両のグローバル状態、および/または、第1の時間(例えば、以前のタイムステップ)における車両の状態の一部を含むことがある。
【0131】
動作704において、処理は、(第1の時間の後の)第2の時間において、車両の1つまたは複数のセンサーシステムからセンサーデータを受信することを含むことがある。センサーデータは、上に説明されている1つまたは複数のセンサーによってキャプチャされたデータを含むことがある。加えて、処理は、上に説明されているマップデータを受信することを含むことがある。
【0132】
動作706において、処理は、第1のローカライザー(またはIMU)によって、第2の時間における車両の状態の少なくとも第1の部分(または別の状況では、最終状態の少なくとも一部分を決定するためのいくつかの中間変数)を決定することを含むことがある。車両の状態の第1の部分は、第1のローカライザーによって決定されている第2の時間における車両のロケーション、位置、向き、速度、および/または加速度のうちの少なくとも1つを含むことがある。いくつかの例では、車両の状態の第1の部分は、2以上の次元にわたって表されることがある。
【0133】
動作708において、処理は、第2のローカライザー(またはIMU)によって、第2の時間における車両の状態の少なくとも第2の部分(または、上のように、いくつかの中間変数)を決定することを含むことがある。車両の状態の第2の部分は、第2のローカライザーによって決定されている第2の時間における車両のロケーション、位置、向き、速度、および/または加速度のうちの少なくとも1つを含むことがある。いくつかの例では、車両の状態の第2の部分は、2以上の次元にわたって表されることがある。
【0134】
動作706および/または708のいずれかにおいて、残差は、1つまたは複数のローカライザーに関して決定されることがある。
【0135】
動作710において、処理は、第1の時間における車両の以前の状態、第2の時間における車両の状態の第1の部分、および/または第2の時間における車両の状態の第2の部分に少なくとも部分的に基づいて、最適化された車両の状態を決定することを含むことがある。
【0136】
動作712において、処理は、最適化された車両の状態に関連付けられた少なくとも1つのメトリックを決定することを含むことがある。少なくとも1つのメトリックは、本明細書に説明されている分散(または共分散)、残差、または、補正係数に関連付けられた値を含むことがある。
【0137】
例示的な箇条
A:1つまたは複数のプロセッサーと、1つまたは複数のプロセッサーによって実行されると、システムに、自律車両のセンサーからセンサーデータを受信することと、センサーデータに少なくとも部分的に基づいて、自律車両のロケーション、位置、向き、速度、または加速度のうちの少なくとも1つを含む自律車両の状態を決定することと、自律車両の状態に関連付けられたメトリックを決定することと、メトリックが、分散、残差、または補正係数のうちの少なくとも2つを含み、メトリックがメトリックしきい値以上であると決定することと、メトリックがメトリックしきい値以上であることに少なくとも部分的に基づいて、自律車両の状態におけるエラーを決定することと、エラーに少なくとも部分的に基づいて自律車両を制御することと、を含む動作を行わせる1つまたは複数非一時的なコンピューター読取り可能媒体と、を含むシステム。
【0138】
B:動作は、メトリックに関連付けられた車両のセンサーまたはコンポーネントのうちの少なくとも1つを決定することと、センサーまたはコンポーネントのうちの少なくとも1つに関連付けられた重み値を決定することと、重み値が、車両の制御に対するセンサーまたはコンポーネントのうちの少なくとも1つに少なくとも部分的に基づき、メトリックに重み値を適用して重み付けされたメトリックを決定することと、をさらに含み、メトリックがしきい値以上であると決定することは、重み付けされたメトリックがしきい値以上であると決定することを含む、項Aに説明のシステム。
【0139】
C:メトリックは、残差および分散を含み、メトリックがしきい値の値以上であることを決定することは、残差および分散に少なくとも部分的に基づいて、更新されたメトリックを決定することと、更新されたメトリックがしきい値の値以上であることを決定することと、を含む、項Aまたは項Bのいずれかに説明のシステム。
【0140】
D:メトリックは、自律車両の状態に関連付けられた第1の残差を含む第1のメトリックであり、動作は、自律車両の状態に関連付けられた第2の残差を含む第2のメトリックを決定することをさらに含み、メトリックがメトリックしきい値以上であると決定することは、第1のメトリックと第2のメトリックとの和がメトリックしきい値以上であると決定することを含む、項A-Cのいずれか1つに説明のシステム。
【0141】
E:メトリックは、第1の時間に関連付けられた第1のメトリックであり、動作は、第2の時間に関連付けられた第2のメトリックを決定することと、第2のメトリックがメトリックしきい値を超えると決定することと、第1の時間と第2の時間との間の時間がしきい値時間以上であると決定することと、をさらに含み、エラーを決定することは、時間がしきい値時間以上であることに少なくとも部分的に基づく、項A-Dのいずれか1つに説明のシステム。
【0142】
F:車両のセンサーからセンサーデータを受信することと、センサーデータに少なくとも部分的に基づいて、車両のロケーション、位置、向き、速度、または加速度のうちの少なくとも1つに関連付けられた車両の状態を決定することと、自律車両の状態に関連付けられたメトリックを決定することと、メトリックが分散、残差、または補正係数のうちの少なくとも2つを含み、メトリックがしきい値以上であると決定することと、メトリックがしきい値以上であることに少なくとも部分的に基づいて車両の状態におけるエラーを決定することと、を含む方法。
【0143】
G:エラーに少なくとも部分的に基づいて車両を制御することをさらに含み、車両を制御することは、車両を停止させること、車両の速度を減ずること、車両の加速度を制限すること、または車両の操舵角を制限することのうちの少なくとも1つを含む、項Fに説明の方法。
【0144】
H:分散、残差、または補正係数のうちの少なくとも2つは、車両のグローバル状態、車両の状態の一部、生のセンサーデータ、または処理されたセンサーデータに少なくとも部分的に基づく、項Fまたは項Gのいずれかに説明の方法。
【0145】
I:メトリックは、車両の状態に関連付けられた残差を含み、方法は、メトリックが、少なくともしきい値時間の間、しきい値を超えたと決定することをさらに含み、エラーを決定することは、メトリックが、少なくともしきい値時間の間、しきい値を超えていることに少なくとも部分的に基づく、項F-Hのいずれか1つに説明の方法。
【0146】
J:メトリックは、車両の第1のコンポーネントに関連付けられた第1のメトリックであり、方法は、車両の第2のコンポーネントに関連付けられた第2のメトリックを決定することと、第1のコンポーネントおよび第2のコンポーネントが同一のまたは類似のタイプのコンポーネントであり、第1のメトリックと第2のメトリックとの間の差がしきい値以上であることを決定することと、をさらに含み、エラーを決定することは、差がしきい値以上であることに少なくとも部分的に基づく、項F-Iのいずれか1つに説明の方法。
【0147】
K:メトリックは、車両の状態に関連付けられた第1の残差を含む第1のメトリックであり、方法は、車両の状態に関連付けられた第2の残差を含む第2のメトリックを決定することをさらに含み、メトリックがしきい値以上であると決定することは、第1のメトリックと第2のメトリックとの和が、しきい値以上であることを決定することを含む、項F-Jのいずれか1つに説明の方法。
【0148】
L:メトリックは、残差および分散を含み、メトリックがしきい値の値以上であることを決定することは、残差および分散に少なくとも部分的に基づいて、更新されたメトリックを決定することと、更新されたメトリックがしきい値の値以上であることを決定することと、を含む、項F-Kのいずれか1つに説明の方法。
【0149】
M:メトリックに関連付けられた車両のセンサーまたはコンポーネントのうちの少なくとも1つを決定することと、センサーまたはコンポーネントのうちの少なくとも1つに関連付けられた重み値を決定することと、重み値が、車両の制御に対するセンサーまたはコンポーネントのうちの少なくとも1つに少なくとも部分的に基づき、メトリックに重み値を適用して重み付けされたメトリックを決定することと、をさらに含み、メトリックがしきい値以上であると決定することは、重み付けされたメトリックがしきい値以上であると決定することを含む、項F-Lのいずれか1つに説明の方法。
【0150】
N:メトリックに関連付けられた車両の第1のセンサーまたは第1のコンポーネントを決定することと、車両の第2のセンサーまたは第2のコンポーネントを識別することと、第2のセンサーまたは第2のコンポーネントに関連付けられた第2のメトリックを決定することと、第2のメトリックがしきい値未満であると決定することと、第2のセンサーまたは第2のコンポーネントに少なくとも部分的に基づいて車両を制御することと、をさらに含む、項F-Mのいずれか1つに説明の方法。
【0151】
O:メトリックに関連付けられた車両のセンサーまたはコンポーネントのうちの少なくとも1つを決定することと、センサーまたはコンポーネントのうちの少なくとも1つに関連付けられた重み値を決定することと、重み値が、車両の制御に対するセンサーまたはコンポーネントのうちの少なくとも1つに少なくとも部分的に基づき、メトリックに重み値を適用して重み付けされたメトリックを決定することと、をさらに含み、メトリックがしきい値以上であると決定することは、重み付けされたメトリックがしきい値以上であると決定することを含む、項F-Nのいずれか1つに説明の方法。
【0152】
P:プロセッサーと、実行されると、プロセッサーに、項F-Oのいずれか1つに説明のコンピューター実装方法を行わせる命令を格納する非一時的なコンピューター読取り可能媒体と、を含むシステムまたはデバイス。
【0153】
Q:処理する手段と、処理する手段に接続された格納する手段と、を含み、格納する手段は、項F-Oのいずれか1つに説明のコンピューター実装方法を行うように1つまたは複数のデバイスを構成する命令を含む、システムまたはデバイス。
【0154】
R:1つまたは複数のプロセッサーによって実行されると、1つまたは複数のプロセッサーに、車両のセンサーからセンサーデータを受信することと、センサーデータに少なくとも部分的に基づいて、車両のロケーション、位置、向き、速度、または加速度のうちの少なくとも1つに関連付けられた車両の状態を決定することと、自律車両の状態に関連付けられたメトリックを決定することと、メトリックが分散、残差、または補正係数のうちの少なくとも2つを含み、メトリックがしきい値以上であると決定することと、メトリックがしきい値以上であることに少なくとも部分的に基づいて車両の状態におけるエラーを決定することと、を含む動作を行わせる命令を含む1つまたは複数の非一時的なコンピューター読取り可能媒体。
【0155】
S:動作は、メトリックに関連付けられた車両のセンサーまたはコンポーネントのうちの少なくとも1つを決定することと、センサーまたはコンポーネントのうちの少なくとも1つに関連付けられた重み値を決定することと、重み値が、車両の制御に対するセンサーまたはコンポーネントのうちの少なくとも1つに少なくとも部分的に基づき、メトリックに重み値を適用して重み付けされたメトリックを決定することと、をさらに含み、メトリックがしきい値以上であると決定することは、重み付けされたメトリックがしきい値以上であると決定することを含む、項Rに説明の1つまたは複数の非一時的なコンピューター読取り可能媒体。
【0156】
T:重み付け値は、車両の動作に対応する道路に関連付けられた道路状況、1日のうちの時間、光レベル、温度、または降水のうちの少なくとも1つに少なくとも部分的に基づいて決定される、項Sに説明の1つまたは複数の非一時的なコンピューター読取り可能媒体。
【0157】
U:メトリックは、残差および分散を含み、メトリックがしきい値の値以上であることを決定することは、残差および分散に少なくとも部分的に基づいて、更新されたメトリックを決定することと、更新されたメトリックがしきい値の値以上であることを決定することと、を含む、項R-Tのいずれか1つに説明の1つまたは複数の非一時的なコンピューター読取り可能媒体。
【0158】
V:メトリックに関連付けられた車両の第1のセンサーまたは第1のコンポーネントを決定することと、車両の第2のセンサーまたは第2のコンポーネントを識別することと、第2のセンサーまたは第2のコンポーネントに関連付けられた第2のメトリックを決定することと、第2のメトリックがしきい値未満であると決定することと、第2のセンサーまたは第2のコンポーネントに少なくとも部分的に基づいて車両を制御することと、をさらに含む、項R-Uのいずれか1つに説明の1つまたは複数の非一時的なコンピューター読取り可能媒体。
【0159】
W:プロセッサーと、プロセッサーに接続された項R-Vのいずれか1つに説明の非一時的なコンピューター読取り可能媒体と、を含む車両。
【0160】
X:プロセッサーと、プロセッサーに接続された項R-Vのいずれか1つに説明の非一時的なコンピューター読取り可能媒体と、を含むシステム。
【0161】
上に説明される例示的な箇条が、1つの特有の実装に関して説明されるが、本文書という状況にて、さらに、例示的な箇条の内容が、方法、デバイス、システム、コンピューター読取り可能媒体、および/または別の実装を介して実装されることも可能であることは、理解されるべきである。加えて、例A-Xのいずれかは、単独にて、または例A-Xのうちのいずれか他の1つまたは複数との組み合わせにおいて、実装されることがある。
【0162】
終結
本明細書に説明される技法に関する1つまたは複数の例が説明されたが、種々の代替、追加、置換および均等は、本明細書に説明される技法の範囲内に含まれる。
【0163】
例の説明において、参照は、主張される主題の特定の例を実例として示す、一部を形成する添付の図面に対してされる。他の例が用いられることが可能であること、および、変更または代替、たとえば構造的な変更などがされることが可能であることは、理解されることである。上記の例、変更、または代替は、意図され主張される主題に関して、必ずしも範囲からの逸脱でない。本明細書におけるステップが、ある順において与えられることが可能であるが、ときには、順は、ある入力が、説明されるシステムおよび方法の機能を変更することなしに異なる時間に、または別個の順に提供されるように、変更されることが可能である。さらに、開示される手順は、異なる順において実行されることも可能だろう。さらに加えて、本明細書にある種々の計算は、開示された順において行われる必要がなく、計算の代替えの順にすることを用いる他の例は、難なく実装されることが可能であろう。並べ替えられることに加えて、さらに、計算は、同一の結果を有する部分計算に分解されることも可能であろう。
図1
図2
図3
図4
図5
図6
図7