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

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

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

特表2022-544376軌道のためのビークルダイナミクスに対する制限の修正
<>
  • 特表-軌道のためのビークルダイナミクスに対する制限の修正 図1
  • 特表-軌道のためのビークルダイナミクスに対する制限の修正 図2
  • 特表-軌道のためのビークルダイナミクスに対する制限の修正 図3
  • 特表-軌道のためのビークルダイナミクスに対する制限の修正 図4
  • 特表-軌道のためのビークルダイナミクスに対する制限の修正 図5
  • 特表-軌道のためのビークルダイナミクスに対する制限の修正 図6
  • 特表-軌道のためのビークルダイナミクスに対する制限の修正 図7
  • 特表-軌道のためのビークルダイナミクスに対する制限の修正 図8
  • 特表-軌道のためのビークルダイナミクスに対する制限の修正 図9
  • 特表-軌道のためのビークルダイナミクスに対する制限の修正 図10
  • 特表-軌道のためのビークルダイナミクスに対する制限の修正 図11
  • 特表-軌道のためのビークルダイナミクスに対する制限の修正 図12
  • 特表-軌道のためのビークルダイナミクスに対する制限の修正 図13
  • 特表-軌道のためのビークルダイナミクスに対する制限の修正 図14
  • 特表-軌道のためのビークルダイナミクスに対する制限の修正 図15
  • 特表-軌道のためのビークルダイナミクスに対する制限の修正 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-10-18
(54)【発明の名称】軌道のためのビークルダイナミクスに対する制限の修正
(51)【国際特許分類】
   B60W 50/04 20060101AFI20221011BHJP
   B60W 60/00 20200101ALI20221011BHJP
   B60W 30/14 20060101ALI20221011BHJP
   G08G 1/16 20060101ALI20221011BHJP
   G08G 1/09 20060101ALI20221011BHJP
   G01C 21/34 20060101ALI20221011BHJP
   G16Y 40/30 20200101ALI20221011BHJP
   G16Y 10/40 20200101ALI20221011BHJP
【FI】
B60W50/04
B60W60/00
B60W30/14
G08G1/16 A
G08G1/09 F
G01C21/34
G16Y40/30
G16Y10/40
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022508472
(86)(22)【出願日】2020-08-12
(85)【翻訳文提出日】2022-03-14
(86)【国際出願番号】 US2020046034
(87)【国際公開番号】W WO2021030508
(87)【国際公開日】2021-02-18
(31)【優先権主張番号】16/539,893
(32)【優先日】2019-08-13
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/539,870
(32)【優先日】2019-08-13
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/539,878
(32)【優先日】2019-08-13
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/539,873
(32)【優先日】2019-08-13
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】518156417
【氏名又は名称】ズークス インコーポレイテッド
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】ファンク、ジョセフ
(72)【発明者】
【氏名】オルソン、サイ、ケリー
(72)【発明者】
【氏名】マクグレゴー、コーリン
(72)【発明者】
【氏名】パッカー、ジェファーソン、ブラッドフィールド
(72)【発明者】
【氏名】レチカ、アンドレアス、クリスチャン
(72)【発明者】
【氏名】ハデチェク、イエネク
(72)【発明者】
【氏名】ベロ、デイビッド、マーティンズ
【テーマコード(参考)】
2F129
3D241
5H181
【Fターム(参考)】
2F129AA03
2F129BB03
2F129BB20
2F129BB21
2F129BB23
2F129BB26
2F129BB39
2F129BB40
2F129CC03
2F129DD13
2F129DD14
2F129DD15
2F129DD20
2F129DD39
2F129DD53
2F129EE17
2F129EE52
2F129EE78
2F129EE79
2F129EE80
2F129EE94
2F129EE95
2F129FF02
2F129FF15
2F129FF20
2F129FF32
2F129FF57
2F129FF62
2F129FF63
2F129FF64
2F129FF71
2F129FF72
2F129GG04
2F129GG05
2F129GG06
2F129GG11
2F129GG17
2F129GG18
2F129HH02
2F129HH04
2F129HH12
2F129HH18
2F129HH19
2F129HH20
2F129HH21
2F129HH29
3D241BA01
3D241BA15
3D241BC01
3D241BC02
3D241BC04
3D241CD11
3D241CD15
3D241CE02
3D241CE09
3D241DB02Z
3D241DB05Z
3D241DB09Z
3D241DB12Z
3D241DB13Z
3D241DC45Z
5H181AA01
5H181BB04
5H181BB13
5H181BB20
5H181CC03
5H181CC04
5H181CC11
5H181CC14
5H181FF04
5H181FF10
5H181FF13
5H181FF33
5H181LL01
5H181LL02
5H181LL09
5H181MB01
(57)【要約】
本開示は、自律車両などのデバイスがナビゲートするための潜在的軌道に対して、1つ以上の妥当性チェックを実行することを対象としている。いくつかの例では、潜在的軌道は、潜在的軌道と現在の軌道とがあまり異ならないように、潜在的軌道が車両がナビゲートしている現在の軌道と一致しているかどうか、車両が現在の状態から潜在的軌道に実現可能にまたは運動学的にナビゲートすることができるかどうか、潜在的軌道が時間的に定時的であるかもしくは先行する軌道の時間内に受信されたかどうか、及び/または潜在的軌道がある一定の期間内に作成されたような陳腐化チェックに潜在的軌道が合格するかどうか、に基づいて確認され得る。いくつかの例では、潜在的軌道が実行可能であるかどうかを判定することは、車両のサブシステムのステータスの1つ以上の動作特性に基づいて実現可能制限のセットを更新することを含み得る。
【選択図】図1
【特許請求の範囲】
【請求項1】
方法であって、
デバイスのサブシステムの動作ステータスに関連付けられている信号を受信することであって、前記信号が、前記サブシステムの低減した動作ステータスを示す、前記受信することと、
前記信号に基づいて前記デバイスに課す能力制限を決定することと、
前記デバイスが通行するための軌道を受信することと、
前記軌道に追従する前記デバイスが前記能力制限を超えるかどうかを示す妥当性信号を決定することと、
前記妥当性信号に少なくとも部分的に基づいて、前記デバイスを前記軌道に従って動作させることと、を含む、方法。
【請求項2】
前記能力制限を決定することが、前記信号に基づいて既定能力制限を低減させる量を決定することを含む、請求項1に記載の方法。
【請求項3】
前記既定能力制限を低減させる前記量が、前記サブシステムの前記低減された動作ステータスと正常な動作状態との間の差に少なくとも部分的に基づいて決定される、請求項2に記載の方法。
【請求項4】
前記デバイスの第2のサブシステムの第2の動作ステータスに関連付けられている第2の信号を受信することであって、前記第2の信号が、前記第2のサブシステムの第2の低減した動作ステータスを示す、前記受信することと、
前記信号及び前記第2の信号に基づいて、前記デバイスに課す前記能力制限を決定することと、をさらに含む、請求項1~3のいずれか1項に記載の方法。
【請求項5】
前記能力制限が、前記デバイスの最大速度、第1の方向における前記デバイスの最大減速度、前記第1の方向における前記デバイスの最大加速度、第2の方向における前記デバイスの最大加速度、最大合成加速度、最大ヨーレート、最大ヨー加速度、または最大勾配のうちの少なくとも1つを含む、請求項1~4のいずれか1項に記載の方法。
【請求項6】
前記デバイスに課す前記能力制限を決定することが、前記軌道の少なくとも1つの特性に少なくとも部分的に基づいて決定された量だけ、前記能力制限を低減させることを含む、請求項1~5のいずれか1項に記載の方法。
【請求項7】
前記サブシステムの第2の動作ステータスを示す第2の信号が期間内に受信されたかどうかに基づいて、前記デバイスに課す第2の能力制限を決定することをさらに含む、請求項1~6のいずれか1項に記載の方法。
【請求項8】
前記サブシステムの増加または回復した動作ステータスを示す第2の信号を受信することと、
前記第2の信号に基づいて前記能力制限を増加させて、増加した能力制限をもたらすことと、
前記軌道に追従する前記デバイスが前記増加した能力制限を超えるかどうかを示す第2の妥当性信号を決定することと、をさらに含む、請求項1~7のいずれか1項に記載の方法。
【請求項9】
前記妥当性信号を決定することが、
前記デバイスの第1の状態を示す第1の値のセットを取得することと、
前記軌道に追従する前記デバイスの潜在的状態を示す第2の値のセットを取得することと、
前記妥当性信号として、前記デバイスが前記第1の状態及び容量制限に少なくとも部分的に基づいて、前記潜在的状態を占有できるかどうかを判定することと、をさらに含む、請求項1~8のいずれか1項に記載の方法。
【請求項10】
1つ以上のプロセッサと、
前記1つ以上のプロセッサによって実行可能な命令が記憶された非一時的コンピュータ可読記憶媒体と、を備えるシステムであって、
前記命令が、前記システムに、少なくとも、
デバイスのセンサからの入力を受信することであって、前記入力が、前記デバイスのサブシステムに関連付けられている、前記受信することと、
前記入力に基づいて前記デバイスに課す動作制限を決定することと、
前記デバイスが通行するための軌道を受信することと、
前記軌道に追従する前記デバイスが前記動作制限を超えるかどうかを示す妥当性信号を決定することと、
前記妥当性信号に少なくとも部分的に基づいて、前記デバイスを前記軌道に従って動作させることと、を行わせる、前記非一時的コンピュータ可読記憶媒体と、を備える、システム。
【請求項11】
前記動作制限が、公称動作制限よりも小さい低減した動作制限を含み、
前記命令が、前記システムにさらに、
前記入力に関連付けられている前記サブシステムに少なくとも部分的に基づいて、複数の動作制限から前記動作制限を決定させるように、前記1つ以上のプロセッサによって実行可能である、請求項10に記載のシステム。
【請求項12】
前記動作制限を決定することが、
前記入力に基づいて、前記デバイスの少なくとも1つの動作特性を制限する量を決定することを含む、請求項11に記載のシステム。
【請求項13】
前記デバイスの前記動作特性が、前記デバイスの最大速度、第1の方向における前記デバイスの最大減速度、前記第1の方向における前記デバイスの最大加速度、第2の方向における前記デバイスの最大加速度、最大合成加速度、最大ヨーレート、最大ヨー加速度、または最大勾配のうちの少なくとも1つを含む、請求項12に記載のシステム。
【請求項14】
前記デバイスの前記少なくとも1つの動作特性を制限する前記量が、前記サブシステムの異なるレベルの動作を示す異なる入力に対応する量のセットから決定される、請求項12または請求項13に記載のシステム。
【請求項15】
前記妥当性信号を決定することが、
前記デバイスの第1の状態を示す第1の値のセットを取得することと、
前記軌道に追従する前記デバイスの潜在的状態を示す第2の値のセットを取得することと、
前記動作制限に少なくとも部分的に基づいて、前記デバイスが前記デバイスの前記第1の状態から、前記軌道に追従する前記デバイスの前記潜在的状態に移動することができるかどうかを判定することと、をさらに含む、請求項10~14のいずれか1項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2019年8月13日に出願され、「MODIFYING LIMITS ON VEHICLE DYNAMICS FOR TRAJECTORIES」と題される米国特許出願第16/539,893号、2019年8月13日に出願され、「SYSTEM AND METHOD FOR TRAJECTORY VALIDATION」と題される米国特許出願第16/539,870号、2019年8月13日に出願され、「CONSISTENCY VALIDATION FOR VEHICLE TRAJECTORY SELECTION」と題される米国特許出願第16/539,878号、及び2019年8月13日に出願された「FEASIBILITY VALIDATION FOR VEHICLE TRAJECTORY SELECTION」と題される米国特許出願第16/539,873号の優先権を主張するものであり、あらゆる目的のために参照によりこれらの開示すべてを組み込む。
【背景技術】
【0002】
自律車両は、乗員の快適性、予測可能性、及び応答性などの目標の中でも、安全性を念頭に置いてプログラムされている。ナビゲーションシステムなどの自律車両のいくつかのシステムは、安全性を確保するために重要である。ナビゲーションシステムでは、説明が難しくなり得る多数の変形例を考慮に入れる必要がある場合があり、安全で効果的なナビゲーションが非常に複雑になってしまう。たとえば、複雑な方法で相互作用する、自律車両の複数のサブシステムが存在する場合がある。追加の環境変化では、安全なナビゲーションの複雑さが劇的に増加する場合もある。複数のサブシステム及び環境のこれらの相互作用は、乗員、歩行者、財産などの安全性を確保することがより困難になるような、変動性及び予測不可能性をもたらす可能性がある。
【0003】
添付図面を参照して詳細な説明を記載する。図面中、参照番号の左端の数字(複数可)は、参照番号が最初に現れる図を特定する。異なる図面における同じ参照番号は、類似または同一の構成要素または特徴を示す。
【図面の簡単な説明】
【0004】
図1】ナビゲーションのために複数の軌道のうちの1つを選択する自律車両の例示的な図である。
図2】一次コンピューティングシステム及び二次コンピューティングシステムを含む、自律車両管理及び/または制御システムのいくつかの要素の例を示す高レベルブロック図である。
図3】受信された軌道を検証及び/または確認するための、図2の軌道マネージャプロセス(「TMP」)の要素を示すブロック図である。
図4】自律車両のアクチュエータシステムとインターフェースするドライブマネージャの要素を示すブロック図である。
図5】システムモニタ及び軌道マネージャプロセス(「TMP」)の代替図を示すブロック図である。
図6図2の軌道プランナと、軌道マネージャプロセス(TMP)と、システムモニタとの間の例示的な相互作用を示す図である。
図7】軌道を処理し、軌道を選択及び/または軌道を修正するTMPに実装され得る状態図である。
図8】公称動作を表す公称軌道以外の軌道を選択したときのTMPの状態を表す、TMPに実装され得る状態図である。
図9】代替軌道を検証し、検証に基づいて軌道を選択するための例示的なプロセスを示す。
図10】代替軌道を検証し、検証に基づいて軌道を選択するための別の例示的なプロセスを示す。
図11】軌道を確認及び選択するための例示的なプロセスを示す。
図12】軌道に関連する複数の状態における自律車両の例示的な図を示す。
図13】軌道の一貫性を確認するための例示的なプロセスを示す。
図14】自律車両の実現可能性制約を更新するための、図2のシステムに示されているような自律車両のさまざまなサブシステム間の例示的な通信を示す。
図15】潜在的軌道の実現可能性を確認するための例示的なプロセスを示す。
図16】自律車両のアーキテクチャに従って使用され得る要素の例を示す。
【発明を実施するための形態】
【0005】
本開示は、自律車両などのデバイスのための未来の軌道を検証及び選択するための方法、装置、及びシステムを説明する。いくつかの例では、自律車両の人工知能(「AI」)ユニットは、車両のさまざまなサブシステムなどからの入力を検討し、考え得る軌道の選択を軌道マネージャプロセス(「TMP」)に出力し、このTMPは、特定の基準を使用して提供された軌道のうちの1つを選択及び検証することによって、衝突回避を実行するシステムとして動作することができる。この例では、TMPは次いで、選択された軌道を、場合によっては他のシステムの中で、車両の推進システムを制御するドライブマネージャに出力し得る。
【0006】
いくつかの態様では、TMPは、AIエンジンがどの軌道を出力するかとは独立して、提供された軌道に対して基準チェックを実行し、AIシステムが安全でない軌道を出力した場合に、TMPは、対応する信号をドライブマネージャプロセスまたはドライブアクチュエータに送信して、無効な、たとえば安全でない軌道を車両にナビゲートさせないようにする。いくつかの例では、提案された軌道のいずれもTMPの基準を満たさない場合、TMPは車両を停止に至らせるための軌道を出力し得る。
【0007】
いくつかの態様では、TMPは、軌道の妥当性を評価する。妥当性のテストは、定時性、一貫性、陳腐化、及び/または実現可能性をチェックすることなどによる、いくつかの異なるテストまたは評価を含み得る。たとえば、所与の軌道は、以前の軌道のある特定の期間内に受信されたといったような定時性に対して評価され得る。他の例では、所与の軌道は、テストされた軌道と車両の現在の状態及び/または以前の軌道との一貫性(たとえば、新しい軌道及び/または参照が、以前の軌道の閾値距離内にあるか)に対して評価され得る。いくつかの態様では、軌道が過去に長く生成されていないことを検証することなど、軌道の陳腐化に対してテストされ得る。いくつかの場合では、陳腐化は、一貫性チェックの一部としてみなされるかまたは参照され得る。さらに他の例では、軌道は、車両の物理的能力または制限に基づいてなど、テストされた軌道をナビゲートする車両の実現可能性に対して評価され得る。いくつかの態様では、これらの妥当性テストのうちの2つ以上は、軌道が安全であり、車両の乗員に望ましくない物理的負担をもたらさないことなどを保証するために、潜在的軌道に対して実行され得る。
【0008】
妥当性評価の結果は、少なくとも軌道が妥当であるか、たとえば、評価に合格したか、または軌道が評価に不合格であったかといったように無効であることを示す信号として出力され得る。妥当性信号は、いくつかの形態のうちのいずれかをとり、軌道が評価に合格したかどうか、及び実際に妥当であるかどうかを示すバイナリ値などの単純な値を含み得る。いくつかの場合では、軌道の識別子も含めてもよい。さらに他の場合には、軌道のさらなる詳細も含めてもよい。妥当性信号または選択された軌道自体は、車両に妥当な軌道を実行させるために、ドライブマネージャプロセスまたはドライブアクチュエータに送信され得る。いくつかの場合では、合格か不合格かにかかわらず、妥当性信号は、別の軌道を選択できるようにするためにまたは他の多くの理由のために、AIエンジンに通信され得る。
【0009】
いくつかの態様では、TMPはまた、潜在的軌道に対して衝突テストも実行し得る。これらの場合では、実行可能な軌道とは、少なくとも妥当性テスト及び衝突テストを満たす軌道である。他の場合では、他の評価または検証テストを、単独で、または上述した例と組み合わせて使用してもよい。いくつかの態様では、1つ以上の妥当性チェックは、軌道が受信されてからどれだけの時間が経過したかに関連する定時性チェックを含み得る。たとえば、二次システムは、軌道が特定の頻度で(たとえば、4秒ごとに)受信されることを予想することがある。そのような例では、その後に受信された軌道間の時間における差が、たとえば、4秒を上回ると、車両の1つ以上のサブシステムが正しくまたは期待どおりに動作していない(たとえば、遅延、伝達の問題、計画の難度などに起因する)ことを示している可能性があるため、定時性基準について不合格であるとみなされる可能性がある。定時性要件が満たされているかどうかを判定する際に、TMPは、軌道の受信された時間と現在の時間とを比較して、2つの間の差が所定の定時性制限よりも大きいかどうかを判定し得る。
【0010】
いくつかの態様では、1つ以上の妥当性チェックは、一貫性評価を含み得、これは、いくつかの所定の一貫性制約に基づいて、1つの軌道から次の軌道への車両状態またはコマンドの大きなジャンプを防止することに関連する。たとえば、現在の軌道と次の軌道との速度があまりにも異なる場合、次の軌道は一貫性がないというフラグが立てられてもよい。一貫性または運動学的評価の結果は、所与の軌道が一貫しているかどうか、いくつかの場合では、どの程度一貫しているかを示す運動学的妥当性または運動学的妥当性値の形態にあり得る。
【0011】
いくつかの例では、1つ以上の妥当性チェックは、生成された軌道の年齢が閾値年齢よりも低いかまたはそれに等しいかどうかをシステムが決定する陳腐化チェックを含み得る。そのような例では、軌道は、それらが生成されたときのタイムスタンプを含み得る。現在の時間と生成された時間との差を閾値と比較して、軌道が古くなっているかどうかを判定してもよい。非限定的な例として、定時的である(たとえば、以前の例のように以前の軌道から4秒以内に受信された)にもかかわらず、軌道のタイムスタンプは、生成された時間が100msよりも長く古い(50msという閾値を超えている)ことを示すことがあり、この場合、軌道は無効であるとマークされる。
【0012】
いくつかの態様では、1つ以上の妥当性チェックは、実現可能性チェックを含み得、これは、検証されている軌道が車両の現在の動的能力の範囲内である(たとえば、180KPHの速度または6m/s/sの横方向加速度を指令する新しい軌道には追従しないことがある)ことを検証することに関連する。
【0013】
いくつかの場合では、システムモニタは、車両の動作特性に基づいて、車両の既定能力制限のセットを修正し得る。たとえば、TMPは、1つ以上のタイヤが低い圧力を有すること、バッテリが全能力で動作していないこと、モータが75%の出力で動作していることなどを検出してもよい。TMPは、数値的または定性的なさまざまな動作ステータスを、車両に設定された1つ以上の実現可能性制限に加える変更に相関させてもよい。これら及び他の動作特性に基づいて、システムモニタは、車両に課される1つ以上の実現可能性値または制限を更新することができる。TMPはこれらの値にアクセスし、最新の値に基づいて潜在的軌道を検証し得る。いくつかの態様では、実現可能性評価の結果は、実現可能性値もしくは信号または実現可能性妥当性信号として出力され得る。
【0014】
システムモニタは、車両内のサブシステムの状態を監視し、軌道に関するTMPの決定を上書きできる要求をTMPに送信し、及び/または潜在的軌道についてのTMPの評価を通知及び修正し得る動作ステータス更新を送信することができる。いくつかの場合では、TMPは、特定のイベントなどの発生時に、さまざまな間隔で、定期的に、車両またはデバイスの監視システムまたはシステムモニタから(たとえば、1つ以上の動作特性の)更新を受信することができる。これらの更新は、車両の動作に影響を与える1つ以上のサブシステムのものであり得る。いくつかの場合では、TMPは、更新(複数可)に基づいて、軌道の選択/検証のその基準を変更し得る。いくつかの場合では、システムモニタは、軌道要求及び/または他の制約をTMPに通信してもよく、これらは、TMPによって実装される選択基準に影響を与えるか、またはさらにはこれを上書きしてもよい。
【0015】
いくつかの態様では、車両の能力または実現可能性制限のセットは、通常の状態または正常な動作状況において動作する車両に対して決定され得る。システムモニタは、車両のさまざまなサブシステムが通常どおり動作しているかどうか、または何らかの方式で車両の動作が低減するような、低減した動作状態を有しているかどうかに関する更新を検出及び提供し得る。システムモニタ及び/またはTMPは、動作更新に基づいて、車両能力制限のセットを更新し得る。TMPは次いで、軌道が妥当であるかどうかを判定するときに、更新された車両能力のセットに基づいて基準を修正し得る。具体的な例では、車両能力制限を使用して、実現可能性チェックを介してなど、軌道が実現可能であるかどうかを判定してもよい。非限定的な例として、低減した圧力または制動能力は、低減した最大加速度(横方向及び/または縦方向)と関連付けてもよい。
【0016】
いくつかの態様では、軌道検証プロセスはまた、衝突チェックも含み得る。衝突チェック基準は、エージェントまたはオブジェクトとの切迫した衝突を含むであろうとTMPが判定したTMP拒否軌道を含み得る。いくつかの場合では、軌道は、定時性、一貫性、陳腐化、及び実現可能性をカバーする個別の妥当性基準を有し、無衝突要件を有する。そのような場合、妥当性及び衝突回避性という2つのテストがあるが、これら2つのテストの基礎となるのは複数の基準であり得る。
【0017】
衝突チェックを使用して、車両が停止できる(制動距離または関連値を超える)と判定される前に、またはオブジェクトを回避できると判定する前に、任意のエージェントまたは障害物との予想される衝突を含む軌道の表現を防止することができる。回避可能でないが任意の予想される衝突を含む軌道は追従されなくてもよく、または利用可能な軌道のすべてが予想される衝突を含む場合、予想される衝突エネルギーまたは他のメトリックを最小化する軌道が選択された軌道であってもよい。
【0018】
衝突チェックは、空き空間チェッカの実行、オブジェクトリストに基づく軌道予測器の評価、ヒートマップでの機械学習を使用するプロセッサ、または他のアプローチを含み得る。いくつかの軌道は、起こり得る衝突に対してすべてのフレームにおいてチェックされ得るが、他の軌道はチェックされなくてもよい場合がある。たとえば、緊急停止(「E停止」)軌道が起こり得る可能性が最も低い軌道である場合、その軌道が衝突をもたらすであろうかどうかを判定するために、その軌道を繰り返しチェックしなくてもよい場合がある。なぜなら、その軌道は、最終手段である可能性が高く、減速するという目標を有しており、(ブレーキまたは他の方法によって)ステアリングをロックして最大減速度を適用することで停止に至らせるための最後の選択肢をすでに表現している可能性が高く、複数のシステム障害がある場合または疑わしいステータスの場合にのみ使用される可能性が高いためである。
【0019】
TMPが利用可能な軌道は、第1の軌道が第2の軌道よりも高い階層にあり、第2の軌道が第3の軌道よりも高い階層にあるなど、階層を有し得る。第1の軌道は公称動作軌道であり、より低い階層ある軌道は、より高い軌道が妥当でない場合など、理想でない状況またはエラー状況に対応し得る。たとえば、第1の軌道でいくつかのエラーが見つかり、第2の軌道が、その場合に使用されるであろう偶発的軌道でない限り、第1の軌道が使用される軌道である可能性がある。
【0020】
少なくともいくつかの例では、新たに取得された軌道が妥当でない及び/または無衝突でない場合に、受信された一次及び/または二次軌道の1つまたは複数のいずれかが、後続のフレームで使用されるように記憶されてもよい。このような軌道は、記憶された軌道と称され得る。任意の1つ以上の例では、(新たに取得されたか記憶されたかのいずれかの)任意の軌道は、そのような修正が衝突を防止する(または深刻度を最小化するなど)シナリオにつながるであろう場合に修正されてもよい。いくつかの例では、そのような修正は、軌道に追加の制動を加えることなどの、縦方向の修正に限定され得るが、他の例では、他の修正(たとえば、わずかな旋回)が提供されてもよい。階層に従って、システムは、第1(または一次)、二次(または代替/偶発的)、修正された二次、修正された記憶された二次、そして最後に、上記の軌道のいずれも衝突を緩和しない場合の緊急停止(本明細書では「E停止」とも称される)を選び得る。そのような例では、E停止は、自律車両の機械的能力及び乗員の安全制限の範囲内で、自律車両を迅速に停止に至らせようとする軌道であり得る。
【0021】
これらの特定の軌道のセットに言及する本明細書の例及び説明は、階層で提供される他の軌道のセットを有する例をカバーするように修正できることを理解されたい。また具体的な例では、厳密に順序付けられた階層も提供されているが、いくつかの例では、複数のタイプの軌道が同じレベルを有する階層が提供されていることがある。そのような例では、第1、第2、第3、及び第4の軌道があり得、第1の軌道は軌道上で最も高いと考えられ、第2及び第3は等しく、次に最も低いレベルにあると考えられ、第4は最も低いレベルの軌道である。
【0022】
一般的な場合では、軌道の階層があり、正常な動作状態では、TMPは第1の軌道を検討し、それが妥当及び無衝突である場合にそれを使用する。その正常な動作状態では、新しい軌道が提供されたときに各フレームにおいて軌道の各々をチェックし、最も高い、妥当及び無衝突である軌道を使用することができる。少なくともいくつかの例では、一次または二次のいずれかが無衝突及び妥当である場合、より低いレベルの軌道が妥当でも無衝突でもない場合でも、TMPはそのような軌道を選択することがある。TMPは次いで、使用された軌道を表す状態変数を記憶することができる。正常な動作が、第1の軌道が妥当及び無衝突であるようなものである場合、より低い軌道に下がることはエラーまたは異常な状況を示し得る。たとえば、第1の軌道は、生成時に妥当及び無衝突であり得るが、その後、自律車両の前を高速で移動するオブジェクトが通過したため、第1の軌道をチェックしたときに、それは確認されるが無衝突ではないようになる。これにより、TMPはより低い軌道を使用し、どちらが使用されたかを示すために状態変数を更新することになる。状態変数の記憶された値は、少なくともエラー状況が解放されるまで、TMPが使用する軌道を制限するために未来のフレームで使用される可能性がある。
【0023】
一般に、軌道は、軌道の開始状態から終点まで経時的に実行される、及び/またはそのようなウェイポイントに関連付けられている一連の制御(たとえば、加速度、ステアリング、及びヨーレートなど)を含む、ベクトル、経路、車両状態(位置、方位、速度、及び/または加速度)、コマンドなどを定義するデータ構造によって表すことができる。軌道は必ずしもその終点まで再生されるとは限らず、上書きされる場合がある。TMPに提供される軌道は、車両が停止するまで減速することを伴う軌道と、軌道のいくつかの詳細、方向の変化、スピードの変化などに従って車両が移動することを伴う軌道であり得る。軌道は、ブレーキ、ステアリング、アクセル、サスペンションなどのためのものなど、ドライブアクチュエータに送信するべき信号を表すデータを含み得る。
【0024】
終点まで追従されると、異常または安全な状況に起因して車両の停止に必然的につながるであろう軌道は、本明細書では停止軌道と呼ばれ、他の軌道は公称軌道である。いくつかの公称軌道は、停止標識まで走行すること、停止信号で停止すること、歩行者が横断するのを待つこと、人々を拾うために路肩に寄ることなど、異常ではない状況では、自律車両を停止に至らせる場合がある。停止軌道は、安全関連の理由または異常な状況のために、終点としての静止した位置を有する。
【0025】
TMPはまた、TMPの基準を満たす他の提案された軌道をTMPが有さないときに、TMPによって使用される記憶された停止軌道を有することもある。軌道の最後まで再生された場合、記憶された停止軌道及び/または受信された停止軌道は、車両が静止している状態で終了することになる。言い換えれば、そのような軌道の終点は静止車両である。すべての軌道が必ずしもそれらの終点まで再生されるわけではない。たとえば、以前に受信された軌道をその終点まで実行する前に、新たに取得された軌道を受信してもよい。少なくともいくつかの例では、停止軌道は、上述したような二次及び/または偶発的軌道を含み得る。いくつかの例では、そのような停止軌道は、停止に至ることを伴わないことがあるが、一次軌道に問題が生じた場合の偶発的な事態として、代替の経路及び/または制御を提供してもよい。
【0026】
AIは、一次(公称)軌道及び二次(たとえば、停止)軌道といった2つの軌道のみを提供することがあるが、いくつかの例では、AIは、3つ以上の軌道を提供してもよい。一例として、AIが、車線を続行する車両を有する一次軌道、約10秒以内で停車する車両を有する一次軌道、制動する車道を有する二次軌道、車線を変更して制動する車両を有する二次軌道などを提供する場合がある。別の例では、AIは、100msほどごとに新しい一次軌道及び新しい二次軌道を作成し、発行する。修正された二次軌道は、TMPが二次軌道に縦方向の宣言を適用することによって作成した軌道であり得る。
【0027】
より一般的な場合では、提供されるのは命令のセットであり、これは、軌道に関する命令であり得、1つ、2つ、またはそれ以上の命令のセットが提供され得る。他の命令のセットは、提供されたものから生成され得、たとえば、以前に提供された記憶されている命令のセットから導出された命令のセット、受信された命令のセットの変換または修正されたバージョン、及び固定された命令のセットなどであり得る。命令のセットが軌道を含む場合、命令のセットは、メッセージ、照明などの指示など、軌道とは無関係の指示、及び/または方向指示もしくは軌道に関連してとられる他のアクションなど、軌道にいくぶん関連する指示を含み得る。この場合、その最大レベルを上回るレベルを有する命令のセットが必ずしも実行されないであろうレベルの階層における最大レベルを表す状態変数が提供されることがあり、命令のセットが無効または異常であることが判明した場合、最大レベルは、その無効または異常な命令のセットのレベルを下回るレベルに設定される。状態変数は、解放信号が受信されて状態変数をより高いレベル、おそらく最も高いレベルにリセットするまで、そのレベル以下にとどまることがある。たとえば、公称軌道よりも偶発的軌道を選択することを示す要求は、公称軌道よりも偶発的軌道を選択することを表す偶発的状態である車両軌道状態を表すように状態変数を設定することができ、解放信号は、車両軌道状態を、偶発的軌道よりも公称軌道を選択することを示す公称要求状態にリセットすることができる。解放信号は、ユーザからの入力の受信に応答して信号を送信するように構成されたリモートシステムから受信された信号であり得る。
【0028】
例示的なシステムでは、システムモニタが車両内のシステムの状態を監視し、「下への」方向の軌道に関するTMPの決定(たとえば、一次→二次→修正された二次→記憶された二次→修正され記憶された二次→「E停止」など)を上書きすることができる要求を、TMPに送信することができる。要求は、一次、二次、または「E停止」から選択された特定のタイプの軌道に対する要求であり得、これは、システムモニタがそれらのいずれかを許容可能な選択肢とみなすという信号を送るために使用するものとなる。要求は、公称軌道上の偶発的軌道を要求する上書き要求であり得る。いくつかの論理表では、最終的な結果は、複数のシステムモニタの軌道タイプ要求で同じである。例として、TMPがいくつかの状態の組み合わせに基づいて二次軌道要求の発動を決定しようとしている場合、システムモニタが一次軌道タイプまたは二次軌道タイプを要求しても、結果は二次軌道になる可能性が高い。それは、本明細書の箇所では、一次または二次軌道タイプを指定するシステムモニタと呼ばれることがあるが、上述したように理解されるべきである。
【0029】
別の例では、AIがTMPに軌道を提供し、TMPがそれらのすべてを許容可能であることを発見した場合、TMPは一次軌道を選択することがあるが、その後、システムモニタが、4輪車両の4つのタイヤすべてのタイヤ空気圧が15PSI(すなわち、ランニングフラット)であることを示す入力を処理した場合、システムモニタは、「E停止」軌道の要求の信号を送るであろう。
【0030】
動作中、システムモニタは、機械的または電気的エラーの検出などの異常な状況が検知されたときに、二次軌道を求める信号を送ることがある。それに応じて、TMPはドライブマネージャに二次軌道を提供し、ドライブマネージャが自律車両を静止状態に至らせるために二次軌道を作動させている間に、システムモニタは、問題が十分に解決されたことを検出し、公称(たとえば、一次)軌道の要求の信号を送る一方で、TMPは別の軌道を他の方法で提供するであろう。
【0031】
いくつかの例では、いくつかの状況からの回復は、人間の介入を必要とするほど深刻であるとみなされる。そのような場合、システムモニタは、テレオペレータシステムからのシステムモニタ解放信号など、人間が介入するシステム(及び/または、人工的に知的な決定のための追加の計算能力を有するリモートシステム)から故障クリア信号を受信するまで、二次軌道または「E停止」軌道の要求を発行することがある。
【0032】
記載されたシステム及び技術は、特に車両のサブシステムの現在の動作ステータスに基づいて車両の実現可能性制限を更新する際に、冗長な軌道確認及び衝突チェックを通じて、自律車両または他の移動が可能なデバイスのより安全な動作など、多くの利点及び利益を提供し得る。記載されたシステム及び技術はまた、事前定義された基準による明確な妥当性チェックの使用を通じて、メモリ及び処理の必要性の低減など、資源経済性の向上も提供し得る。いくつかの態様では、記載されたシステム及び技術は、本開示全体にわたって記載されている他の利益及び利点の中で、特定の妥当性基準の使用を通じて、軌道を選択するための情報の通信においてより少ない帯域幅を使用することを可能にし得る。
【0033】
図1は、ナビゲーションのために複数の軌道110、112のうちの1つを選択及び検証する自律車両102の例示的な図面100である。図示されるように、自律車両102は、計画システム116を含み得る。計画サブシステム116は、一次システム106またはAIエンジンを含み得、これは、現在の軌道104、及び未来に自律車両102によってナビゲートされ得る軌道110、112など、自律車両102が追従またはナビゲートするための軌道を生成し得る。自律車両102の動作における安全性を高めるために、衝突をさらに回避するのを支援するために、冗長性を追加するために、及び他のさまざまな理由のために二次システム108が実装されて、自律車両がそれらの軌道のうちの1つに追従するように指示される前に、一次システム106によって生成された考え得る軌道のいくつかの異なる属性を検証し得る。
【0034】
二次システム108は、一次システム106によって生成された軌道を受信し、軌道が妥当であること、及び/またはいかなる回避可能な衝突ももたらさないことを保証するために、軌道に対していくつかの確認チェック120を実行する軌道マネージャプロセスまたはシステム(TMP)118を含み得る。TMP118は、検証または評価するために、一次システム106から2つ以上の軌道を受信し得る。たとえば、一次システム106は、各期間に対して、少なくとも1つの第1または一次軌道110を生成することができ、これは、自律車両102の少なくともある程度の距離の前進運動量を続行することを含み得る。一次システム106はまた、少なくとも1つの二次軌道112も生成することができ、その結果、自律車両102は、未来の任意の時間であり得る点114で停止できるようになる。他の例では、TMP118は、任意の所与の期間に対して、自律車両102のいくつかの軌道のいずれかを評価し得る。
【0035】
潜在的軌道を受信すると、TMP118は、選択された軌道が安全であり、自律車両102の乗員に急な移動または不快感をもたらさないことを保証するために、一次及び二次軌道110、112に対していくつかの確認チェック120を実行し得る。これらの確認チェックは、以下により詳細に記載されるように、定時性チェック、一貫性チェック、陳腐化チェック、及び/または実現可能性チェックを含み得る。いくつかの態様では、TMP118はまた、軌道上でも衝突チェックを実行して、選択された軌道上で回避可能な衝突が発生しないことを検証することができる。
【0036】
いくつかの場合では、二次システム108または一次システム106は、自律車両102のいくつかのサブシステムを監視し得る。サブシステムのうちの1つ以上が、正常な動作状態が指示するような、しかるべき状態で機能していない場合、一次または二次システム106、108は、車両の能力制限のセットを修正し得る。軌道が自律車両に対して実現可能かどうかを判定する際に、TMP118は、車両のための能力制限のセットに基づいて、自律車両が新しい軌道に安全にナビゲート及び追従することができるかどうかを判定し得る。このような方式で、軌道は、車両の現在の動作状況に基づいて確認され、安全性を高めることができる。
【0037】
自律車両102は、推進システムを実装するいくつかのハードウェア及びソフトウェア構成要素と、さまざまな地形及び障害物を通って車両を移動させ、また乗員を輸送するように推進システムを指示するためなどの制御及び計画システムと、を備え得る。自律車両102は、図16を参照して以下でより詳細に説明されるように、いくつかのサブシステムを含み得る。本開示は、自律車両のための軌道を検証することに主に焦点を当てているが、本明細書に記載される技術は、いくつかのタイプの推進システムまたは移動システムを含む任意のデバイスなど、いくつかの異なるタイプのデバイスのいずれにも等しく適用可能であることを理解されたい。
【0038】
いくつかの態様では、計画システム116は、図16を参照して以下に記載される計画サブシステム1628の例であり得る。計画システム116、ならびに一次システム106及び二次システム108は、自律車両、またはより一般的には、いくつかの異なる種類のデバイスのいずれかのための軌道を生成及び検証するための命令を含む、1つ以上のプロセッサ及びメモリを含み得る。
【0039】
図2は、一次計算ユニット202及び二次計算ユニット204を含む、自律車両管理及び/または制御システム200のいくつかの要素の例を示す高レベルのブロック図である。一次計算ユニット202及び二次計算ユニット204は、それらの間に通信チャネルを有する別個のプロセッサ、または他の何らかの構造体であり得る。図示されるように、一次計算ユニット202は、システムモニタAI210、軌道プランナAI212を実行し、そしてセンサデータ214を記憶し、二次計算ユニット204は、システムモニタ220、軌道マネージャプロセス(「TMP」)222、及び安全/無知覚コリドーチェッカ224を実行する。
【0040】
システムモニタAI210は、自律車両のモニタのさまざまな構成要素のステータスに関連して、システムモニタ220から送信されるメッセージに含まれ得るようなデータを受信する。例には、電力システム、タイヤシステム、環境センサシステム、バッテリモニタなどが含まれ得る。システムモニタ220はまた、これらのアクチュエータシステムのステータス及び動作に関連するメッセージをアクチュエータシステムから受信することもある。システムモニタAI210は、他のソースからもデータメッセージを受信してもよい。動作時、システムモニタAI210は、これらの入力を処理して、システムモニタ220に送信される軌道タイプの要求メッセージなどの、システムモニタAI出力を決定し得る。例として、システムモニタAI210は、公称軌道が使用する予定の軌道のタイプであること、あるいは緊急停止タイプ、または何らかの異常もしくは公称ではない状況に起因して自律車両が停止に至る停止タイプの軌道であることを決定することができる。システムモニタ220は、アクチュエータ診断メッセージを出力し得る。
【0041】
軌道プランナAI212は、さまざまな状態、状況、及び/または入力を考慮し、1つ以上の軌道を生成する。軌道は、軌道データメッセージで渡される軌道データ記録によって表され得る。軌道データ記録には、軌道がいつ作成されたかを示すタイムスタンプ、軌道がカバーするフレームにおける方向、スピード、アクチュエータへの入力などの詳細を含み得る。所与のフレームに対して、軌道プランナAI212は、1つ以上の軌道を軌道マネージャプロセス(「TMP」)222に出力してもよく、公称軌道と、公称軌道が妥当でないかもしくは衝突を含む場合、またはTMP222が公称軌道を実行しないことを決定したときに使用される偶発的軌道と、を含み得る。軌道プランナAI212は、TMP222がいくつかの軌道を処理できないことを示すメッセージなど、TMP222から警告メッセージを受信し得る。
【0042】
センサデータ214は、点群によって表される車両周囲などの点群データ、画像データ、レーダーデータ、及び他のセンサデータを含み得、またメッセージに含まれる。一次計算ユニット202は、このセンサデータ214をメッセージで安全/無知覚コリドーチェッカ224に提供することができ、このコリドーチェッカ224は、その情報を使用して、最大減速度を有する変換(修正)された軌道をTMP222に提供し得る。
【0043】
アクチュエータシステムから、それらのアクチュエータシステムのステータス及び動作に関するメッセージを受信すること、及びシステムモニタAI210から軌道タイプ要求メッセージを受信することに加えて、システムモニタ220は、テレオペレータシステムからの受信メッセージでシステムモニタ解放信号を受信し得る。その入力に基づいて、システムモニタ220は、TMP222が選択できる軌道を制限する軌道制限メッセージをTMP222に出力し得る。軌道制限メッセージは、TMP222が公称(たとえば、一次)軌道を実行せず、自律車両が静止位置に至ることをもたらす軌道または他の軌道を実行すべきであることの指示であり得る。軌道制限メッセージは、TMP222が緊急停止軌道を実行することの指示であり得る。
【0044】
システムモニタ220はまた、「クリアして発進」メッセージなどのクリアメッセージを出力し、TMP222が最も高いレベルの軌道を再び選択できることについてTMP222に信号を送ることができる。これは、システムモニタ220による以前の要求に起因してTMP222がより低いレベルの軌道を使用した場合に、またはより高いレベルの軌道が妥当及び無衝突でないことを理由に使用されることがあり、TMP222は、「クリアして発進」メッセージまたはシステムモニタ解放信号のいずれかによって解放されるまで、そのレベルを維持する。いくつかの例では、システムモニタ解放信号は、解除のために必要とされる。いくつかの例では、システムモニタ解放信号は、車両からのデータを確認した後、テレオペレータシステムを使用して、人間のオペレータからシステムモニタ220によって受信される。いくつかの例では、システムモニタの解放信号がTMP222によって直接受信される。
【0045】
本明細書の他の箇所でさらに詳細に説明されているように、TMP222は、TMP222で利用可能な軌道から、軌道階層における軌道のレベル、TMP222が上限とするレベル、及び軌道の妥当性及び無衝突状況を決定する。TMP222は、軌道を妥当性について評価し、それらが無衝突となるであろうかどうかを評価し、それらの軌道のうちの1つ、またはTMP222が記憶している軌道、またはTMP222が別の軌道を修正することによって生成した軌道(たとえば、衝突回避軌道またはE停止軌道)を選択する。確認プロセスは、以下でより詳細に説明されるように、定時性テスト、陳腐化テストを含むかまたはそれとは別の一貫性テスト、及び実現可能性テスト234を含み得る。他の例では、TMP222は、確認及び衝突チェック、または他のチェックのいくつかもしくは異なる組み合わせを含み得る。次に、TMP222は、軌道データメッセージ(または他の場合には軌道記録と呼ばれる)をドライブマネージャに出力する。軌道の処理のいくつかはTMP222によって実行されてもよく、いくつかはドライブマネージャによって実行されてもよい。
【0046】
衝突チェック236は、空き空間チェッカの実行、オブジェクトリストに基づく軌道予測器の評価、ヒートマップでの機械学習を使用したプロセッサ、カルマンフィルタ、AIエンジン206によって決定されるセンサデータとオブジェクト追跡とのデータ関連付け、または他のアプローチを含み得る。一次軌道、偶発的軌道、及び記憶された偶発的軌道、及び/またはそれらの修正は、起こり得る衝突に対して期間ごとにチェックされてもよい。他の軌道がチェックされなくてもよい。たとえば、緊急停止(「E停止」)軌道は、その軌道が衝突をもたらすであろうかどうかを判定するために繰り返しチェックされる必要はない。なぜなら、その軌道は、最終手段である可能性が高く、減速するという目標を有しており、ステアリングをロックして最大制動を適用することで停止に至るための最後の選択肢をすでに表している可能性が高く、複数のシステム障害がある場合または疑わしいステータスを有する場合にのみ使用される可能性が高いためである。
【0047】
いくつかの場合では、軌道記録は、妥当である軌道のためなどの、妥当性信号の例であり得る。軌道が妥当でないと決定されたときなどの他の場合では、そのようなことを示す妥当性信号が、フィードバックとして、一次計算ユニット202または軌道プランナAI212に通信され得る。他の場合では、妥当性信号または値は、TMP222の内部で使用されてもよく、妥当性値または信号の生成時に、TMP222は、妥当な軌道を軌道記録として一次計算ユニット202に出力してもよく、またはテストされた軌道が妥当でないことが決定された場合には、評価のために別の軌道を選択できるようになっている。全体を通して使用されるように、妥当性値及び妥当性信号は交換可能に使用され得ることを理解されたい。
【0048】
いくつかの態様では、システムモニタ220は、自律車両上の他のシステムの状態に関するさまざまな入力を受信し得る。入力は、アクティブであることが予想され、自律車両の適切な動作にとって重要である構成要素からのハートビート信号、障害通知、及び能力低減通知などを含み得る。いくつかの態様では、システムモニタ220は、システムモニタAI210にステータスメッセージを送信することができ、システムモニタAI210が、ステータス更新を処理し、自律車両の潜在的軌道に対する任意の制限を決定できるようになっている。いくつかの場合では、これは、ステータス更新に基づいて、最大加速度、減速度、ヨー、及び車両の移動に対する他の運動学的制約など、車両の1つ以上の能力制限を更新する形態をとることができる。次いで、システムモニタAI210は、任意の軌道タイプが選択から制限または制約されるべきかどうかを判定し、システムモニタ210への軌道タイプ要求メッセージでそのように示し、これは次いで、TMP222への制限を示し得る。いくつかの場合では、軌道タイプの要求は、車両が安全にとることができる最も寛容な軌道を示すことができ、これによりTMP222は、次いで、示された軌道またはより制限的な軌道(たとえば、衝突回避軌道または緊急停止軌道)を検証することができる。他の態様では、システムモニタAI210は、入力に基づいて車両の1つ以上の能力値をどの程度、たとえば、どれだけ制限するかを決定することができ、それによってシステムモニタ220は、車両の能力制限のセットを更新してもよい。このシナリオでは、TMP222は、1つ以上の軌道の実現可能性を確認するときに、システムモニタ220から能力または実現可能性制限を要求することができ、その決定は実現可能性制限に基づいていてもよい。
【0049】
図3は、衝突チェッカ304、軌道バリデータ302、軌道ステータスマネージャ320、及び軌道セレクタ330を含む、図2からのTMP222の要素をより詳細に示すブロック図300である。いくつかの例では、TMP222は、衝突回避のための別個のプロセス及びシステムを含み得る。
【0050】
軌道バリデータ302は、一貫性バリデータ310、定時性バリデータ312、実現可能性バリデータ314、及び陳腐化バリデータ316、ならびに潜在的に、軌道上で他のテストを実行し得る他のバリデータ(図示せず)を含み得る。衝突チェッカ304は、軌道をチェックして、それが無衝突であるかどうかを判定する。妥当性チェック及び衝突チェックの結果は、軌道ステータスマネージャ320に提供され得、軌道ステータスマネージャ310は、それらの結果とともに軌道を軌道ストレージ322に記憶し得る。
【0051】
一般的な場合では、TMP222は、TMP222で利用可能な複数の軌道を有し、そのうちのいくつかは、一次計算ユニット102のAIシステムから受信され得、そのうちのいくつかは、以前のフレームから記憶されたものであり、そのうちのいくつかは、受信された軌道が変換され、その変換及び/または変換された軌道が軌道変換ストレージ326に記憶される、受信された軌道の修正バージョンであり、そしていくつかは、比較的固定された軌道(緊急停止タイプの軌道など)であり得る。AIが提供する軌道は、センサデータに基づいてAIシステムによって生成され得、センサは、道路、天候、周囲環境などに関する情報を提供し得る。提供される軌道は、公称軌道であることが予想される軌道と、公称軌道が使用できない場合に備えた1つ以上の偶発的軌道と、を含み得る。
【0052】
軌道ストレージ322に記憶された軌道は、公称軌道と、車両が静止している状態で終了しても終了しなくてもよいさまざまな偶発的軌道を含み得る。記憶された偶発的軌道は、TMP222が受信及び記憶した以前のフレームからの偶発的軌道であり得、おそらくTMP222が受信し、使用しないことを選択し、代わりに受信された公称軌道を使用するものである。別の例は、受信された偶発的軌道から導出されるが、場合によっては、最大減速度まで適用される制動を反復的に増加させること、縦方向に小さな距離だけ調整すること、及び/または軌道を完全に放棄することなく衝突を回避するために他の軽微な変更を行うことによって、起こり得る衝突を回避するために修正された偶発的タイプの軌道(すなわち、衝突回避軌道)である。さらに別の例は、記憶された偶発的軌道から導出されるが、同様の方法で修正された、変換され記憶された偶発的タイプの軌道である。さらに別の例は、緊急停止タイプの軌道であり、ステアリングがロックされた状態で、制動を反復的に増加させるのではなく、最大宣言が即座に適用される。
【0053】
妥当性値及び衝突値は、妥当性制約及び以前または現在再生中の軌道に関するデータから決定することができる。これらの値を使用して、軌道セレクタ330は、軌道を選択し、これは、バイナリ値、及びこれらのバイナリ値に基づいて選択する軌道のインジケータを提供することができる。
【0054】
いくつかの例では、システムモニタ(上述したシステムモニタ220及び/またはシステムモニタAI210など)は、自律車両の構成要素の健全性を監視し、そこから利用可能な軌道のうちどれを使用するかに関する要求を発行し得る。たとえば、システムモニタは、安全性に関連していない状況であるが緊急停止を必要とするものを指摘し、次いで、自律車両を最終的に停止に至らせる偶発的軌道を使用すべきであることを示すだろう。この要求は、構成要素/部分構成要素の健全性に関連し得る。少なくともいくつかの例では、追加情報(たとえば、天候、摩擦などであるがこれらに限定されない)が、要求する軌道を決定する際にシステムモニタによって使用され得る。
【0055】
いくつかの態様では、システムモニタは、車両のさまざまなサブシステムからステータス更新を取得し、主要な移動方向(縦方向)及び横方向の両方の加速及び減速制限など、実現可能性制限のセットを更新し得る。実現可能性制限のセットは、最初は、たとえば、車両の構成要素の構成要素メーカーによって指定されたもの、経験的に決定されたものなどの既定値に設定されてもよい。次いでこれらの値は、1つ以上の動作ステータスが車両の実現可能性制限に与える決定された影響に基づいて修正されてもよい。非限定的な例として、悪天候が検出された場合、最大加速度/減速度を10%低減させてもよい。
【0056】
一例では、より高い軌道が妥当性テストもしくは衝突チェックに不合格であったこと、またはシステムモニタが偶発的軌道を使用すべきであると示したことのいずれかを理由に、TMP222が偶発的軌道を使用する場合、TMP222は、それが使用した軌道のレベルを状態変数ストレージ324に記録することになり、解放の信号が送られるまで、より高いレベルの軌道を使用することはない。解放は、さまざまなレベルの解放を有することがあり、それらは偶発的軌道の使用につながった異常の深刻度によって異なり得る。たとえば、異常がバッテリのうちの1つにおける軽微な電力低下であったが、電力が自力で正常に戻った場合、それは1つのレベルの異常である場合があり、システムモニタAIシステムは解放を発行する権限を与えられてもよい。
【0057】
より一般的には、システムモニタは、解放が発行されるまで、軌道制限メッセージで指定された制限を上回るレベルの軌道を使用してはならないことを示す軌道制限メッセージをTMP222に送信する。たとえば、軌道制限メッセージは、第1の偶発的軌道よりも高い軌道を実行してはならないことを示し得る。その場合、TMP222は、軌道階層のより高いところにある公称軌道の実行を引き継ぐことになる。
【0058】
解放が発行されると、次いでTMP222は、そのテストに合格した最も高いレベルの軌道を使用することができる。チェックされたときに軌道のすべてが無効であることが判明し、TMP222が緊急停止軌道を使用しなければならなかったときなど、いくつかの異常に対しては、おそらくより高いレベルの解放が必要になる場合がある。そのようなより高いレベルは、人間が状況を確認し、人間が異常のクリアに対応することが必要になる場合がある。
【0059】
軌道ストレージ322は、軌道セレクタ330が選択することができるさまざまな軌道のための記憶を含み得、各々に対して、タイプ指標、軌道を記述するデータ、TMP222が軌道が妥当であると判定したかどうかを示す確認値、及びTMP222が軌道が無衝突であると判定したかどうかを示す衝突値または無衝突値を含み得る。いくつかの例では、示されているデータオブジェクトごとに明示的なストレージがないことがある。
【0060】
軌道セレクタ330は、本明細書でより詳細に説明されるように、軌道が妥当であるかどうか、無衝突であるかどうか、及び場合によっては他の状況に基づいて、おそらく軌道ストレージ322から軌道を選択し、次いで、提案された軌道を有するメッセージをドライブマネージャに送信する。軌道セレクタ330は、TMP222の「現在のレベル」を表す状態変数ストレージ324における状態変数を考慮に入れる。本書の他の箇所で説明されているように、TMP222は、軌道を評価し、その状態が指定されたレベルを上回ってはならないことを示さない限り、階層上で最も高い軌道を使用する。階層の例は、公称軌道から緊急停止軌道までである。指定されたレベルは、システムモニタ220が最も高い許容レベルを示していることに起因するか、またはTMP222が軌道を処理し、最も高いレベルの軌道が妥当でないか、もしくは衝突を含んでいることを発見したことに起因し得る。いくつかの例では、TMP222の現在のレベルは、現在のレベルの軌道が妥当及び無衝突であり、レベルを下げるための外部信号を受信していない場合、フレームからフレームまで同じままであり、TMP222の現在のレベルは、現在のレベルにある軌道が妥当でないかもしくは無衝突でないか、またはレベルを下げるための外部信号を受信している場合に下がる。そのような場合、TMP222は、システムモニタの「クリアして発進」信号及び/またはシステムモニタの解放信号を探す。
【0061】
軌道セレクタ330は、軌道を選択すると、選択された軌道と一致するデータメッセージをドライブマネージャに送信する。軌道が利用可能でない場合、または他の理由により、軌道セレクタ330は、ドライブマネージャに故障メッセージを送信し、及び/または既定の「E停止」になり得る。軌道セレクタ330はまた、その出力を安全/無知覚コリドーチェッカ224へのフィードバックとしても提供し得る。
【0062】
いくつかの状況では、軌道ステータスマネージャ320は、軌道を検討し、それが妥当であるが無衝突ではないと判定し、軌道を変換したものが無衝突であろうと判定する。たとえば、階層があり得、これには、最高から最低まで、公称軌道、第1の偶発的軌道、記憶された偶発的軌道、衝突を有する妥当な第1の偶発的軌道から無衝突の軌道への変換である変換された偶発的軌道、衝突を有する妥当な記憶された偶発的軌道の無衝突の軌道への変換である変換された記憶された偶発的軌道、及び緊急停止軌道がある。変換の例には、軌道を無衝突の軌道にするために、軌道に追加の制動を加えることが含まれる。そのような例では、TMP222は、終点までそのような軌道を実行し続けるか、または他の方法で本明細書に記載される技術に従って解放され得る。
【0063】
軌道変換ストレージ326は、未来のフレームで必要とされる場合、そのような変換の詳細を記憶し得る。変換された偶発的軌道は、完全な軌道として記憶され、未来のフレームで使用され得る。その例では、第1の偶発軌道が変換された偶発的軌道に変換され、その変換された偶発軌道が使用される場合、TMP222がより高いレベルの軌道を使用できるようになる解放があるまで、変換された偶発的軌道が未来のフレームで再使用される。変換された偶発的軌道がもはや妥当及び無衝突でない場合、より低いレベルの軌道が使用されることになる。いくつかの例では、別個の軌道変換ストレージは使用されず、変換された軌道は単に軌道ストレージ322に記憶される。
【0064】
軌道セレクタ330は、システムモニタ「クリアして発進」信号及び/またはシステムモニタ解放信号を受信したときに、状態変数ストレージ324を更新して、新しい最大許容軌道レベルを示し得る。通常のプロセスでは、システムモニタはTMP222をクリアして、利用可能な最も高いレベルの軌道を使用するが、いくつかのプロセスでは、システムモニタは、TMP222をその現在のレベルよりも上のレベルまで部分的にクリアするが、最高レベルまではクリアしない場合がある。
【0065】
図4は、自律車両のアクチュエータまたはアクチュエータシステム404とインターフェースするドライブマネージャ402の要素を示すブロック図400である。そこに図示されているように、ドライブマネージャ402は、図3に示されている軌道セレクタ330などの軌道セレクタからドライブマネージャ402に渡される軌道を含むデータ構造を維持する軌道トラッカ406を含み得る。また、ドライブマネージャ402は、制御マネージャ408も含み得る。
【0066】
アクチュエータシステム404内のアクチュエータの例は、ステアリングシステム410、摩擦制動システム412、インバータ414、牽引システム416、電動パーキングブレーキシステム418、及びアクティブサスペンションコントローラ420を含み得る。これらのシステムの各々は、低減した動作容量が、車両が主要な移動方向及び/または横方向に加速または減速し得る量を減少させるように、車両の1つ以上の実現可能性制限に影響を与え得る。
【0067】
動作中、ドライブマネージャ402は、アクチュエータコマンドメッセージをアクチュエータシステム404に出力し得、アクチュエータシステム404からフィードバックメッセージを受信し得る。そのようなフィードバックメッセージは、以下により詳細に記載されるように、要求された軌道を決定する際にシステムモニタによって使用され得る。
【0068】
図5は、システムモニタ220及びTMP222の代替図500を示すブロック図である。図5は、存在し得るすべてのデータ構造を必ずしも示しているわけではなく、示されているそれらのいくつかは、論理データ構造及び/またはリモートもしくは分散データ構造であり得る。そこに示されているように、システムモニタ220は、自律車両から離れたテレマティクスシステム508にインターフェースする通信システム504を有し得、情報を検討し、自律車両に信号及び入力を提供するために、テレマティクスオペレータ512によって使用されるディスプレイ510に情報を提示し得る。
【0069】
どの種類の解放信号がTMPをより高いレベルの軌道使用に解放するのに十分であるかに対する要件は、いくつかのレベルに対して、解放信号が人間の相互作用からのみ生じることができることを必要とし得る。人間との相互作用は、テレマティクスデータを人間に提供するシステムを使用するリモートテレマティクスオペレータからのものであり得る。少なくともいくつかの例では、そのようなテレマティクスオペレータは、クリアランスメッセージを発行するためのより高度な診断を実行することができるより強力なマシンを備え得る。
【0070】
一例として、システムモニタ220は、いくつかの値または状況が正常な動作範囲から外れていることを発見し、テレマティクスシステム508に問い合わせを送信する一方で、自律車両または環境の異常な状況を検知した後、最終的に停止して静止位置にとどまることにつながる偶発的軌道を要求する軌道タイプ要求メッセージ502を、TMP222に送信し得る。いくつかの例では、異常な状況は、テレマティクスオペレータ512が状況を評価し、自律車両が静止位置に至った後に、異常な状況が十分にクリアされたと判定するまで、移動を開始すべきではないほど深刻である場合がある。
【0071】
たとえば、システムモニタ220が、安全上の理由から自律車両の停止につながるはずの故障を検出し、TMP222に軌道タイプ要求を発行したが、その後、テレマティクスオペレータ512は、その故障がもはや存在しないか、または実行可能な故障ではないと判定した場合、テレマティクスオペレータ512は、システムモニタ解放信号(たとえば、「解放して発進」メッセージ)をシステムモニタ220に送信するように、テレマティクスシステム508に指示することができる。このメカニズムは、自律車両がいったん停止すると、システムモニタ220が「解放して発進」メッセージを受信するまで、システムモニタ220がTMP222に停止状態を維持するように指示することになるという状況を作り出す。
【0072】
図6は、図2及び図3に関して上記でより詳細に説明したように、一次計算ユニット202の軌道プランナAI212と、二次計算ユニット204のTMP222と、システムモニタ220との間の例示的な相互作用を示す図面600である。上述したように、システムモニタ220は、システムモニタAI210と連携して動作し、1つ以上の実現可能性制限を更新し、更新された1つ以上の実現可能性制限をTMP222に通知して、更新された実現可能性制限に基づく軌道の確認を可能にし得る。他の例では、システムモニタ220は、システムモニタAI210の機能性を含み得、一次または二次計算ユニット202、204のいずれかに常駐し得る。図示される相互作用において、軌道プランナAI212は、1つ以上の軌道を決定し得、TMP222は、妥当性チェック、無衝突チェック、及び/または特定のタイプ(単数または複数)の軌道を要求するシステムモニタ220からの要求に基づいて、それらの軌道のうちの1つを選択し得る。
【0073】
示される例示的なプロセスフローでは、軌道プランナAI212は、動作602においていくつかの軌道を発行してもよく、これは、一次軌道及び二次軌道などの異なるタイプの軌道のうちの1つ以上を含み得る。たとえば、軌道プランナAI212は、1つの間隔においてまたは1つの期間に、(a)そのミッションで車両を続行させる一次軌道(及び/または、車両によって実行されたときに、車両をその目的地まで通行させることになる一次軌道のセット)と、(b)異常な状況に起因するある時点で車両を停止させる二次(または偶発的)軌道と、を発行し得る。
【0074】
動作604において、TMP222は、軌道プランナAI212から軌道を受信し得る。いくつかの場合では、TMP222は、たとえば、記憶された二次軌道、またはさらにはTMP222によって少なくとも部分的に決定された軌道など、現在の時間フレーム内で軌道プランナAI212から必ずしも受信されていない、利用可能な他の軌道にアクセスすることができる。例には、受信及び記憶された以前のタイムスタンプからの二次軌道である、記憶された二次タイプの軌道(たとえば、検証後)、おそらく、TMP222が受信して使用しないことを選択し、代わりに別の軌道を使用する軌道が含まれる。別の例は、二次軌道または記憶された二次軌道などの別の軌道に基づく衝突回避軌道または修正もしくは変換された偶発的軌道である。変換された偶発的軌道は、受信された二次軌道から導出されるが、たとえば、最大減速度まで適用される制動を反復的に増加させることを加えること、縦方向に小さな距離だけ調整すること、または軌道を完全に放棄することなく、他の軽微な変更を介して衝突を回避することによって、起こり得る衝突を回避するように修正されてもよい。さらに別の例は、E停止タイプの軌道であり、ステアリングがロックされた状態で、制動を反復的に増加させるのではなく、最大宣言が即座に適用される。
【0075】
いくつかの場合では、動作604におけるTMP222の軌道の受信、もしくはTMP222の他の動作と同時に、または異なる時間に、システムモニタ220は、動作606において、図4を参照して上述した1つ以上のシステムからのもの、またはそれに関連付けられているものなどの、車両のシステムまたはサブシステムの1つ以上のステータス更新を受信し得る。これらのステータス更新は、たとえば、1つ以上のサブシステムの定期的な更新またはハートビート動作を含み、サブシステムが完全に機能していることを示し得る。ステータス更新はまた、システムが低減した容量で動作しているかどうか、故障しているかどうか、及び/または、車両の動作に関連する他の情報を示し得る。
【0076】
これらのステータス更新に基づいて、システムモニタ220は、動作608において、車両の既存の実現可能性または能力制限のセットを決定または更新し、それらをTMP222に送信してもよく、その後、TMP222は、動作610において実現可能性制限を受信し、動作616において、それらを軌道の評価に使用し得る。これには、1つ以上のサブシステムのステータスに基づいて、1つ以上の実現可能性制限を更新する量を決定することが含まれ得る。いくつかの例では、車両のさまざまなサブシステムの動作ステータスは、程度の問題として(たとえば、パーセンテージなどを介して)決定され得る。さまざまなサブシステムの動作のパーセンテージのさまざまな範囲は、車両の能力制限に相関し得る。たとえば、4つのタイヤの35PSIを上回るタイヤ空気圧は、縦方向の加速度、減速度、及び横方向の加速度の100%に相関し得る。25~35PSIのタイヤ空気圧は、それらの能力のうち1つ以上の75%などに相関し得る。車両のさまざまなサブシステムを監視することができ、次いで、1つ以上の動作制限に対するその後の影響を決定することができる。動作制限の変化によって表され得る影響は、経験的に、構成要素または車両製造業者から設定されて、または他の手段を介して決定され得る。
【0077】
いくつかの態様では、システムモニタ220は、いくつかの態様では、必要に応じてテレマティクスシステムでチェックし、動作612において、要求する軌道のタイプを決定し得る。これは、システムモニタが車両が選択することを許可するであろう最も高いレベルの軌道を決定する形態にあり得る。次に、システムモニタ220は、動作614において、TMP222に軌道要求を発行することができ、これは、プロセス間メッセージの形態にあり得る。いくつかの場合では、TMP222は、軌道選択を行うためにシステムモニタ220からの入力を予想しないか、またはさらには必要としない可能性があることを理解されたい。たとえば、TMP222は、システムまたはステータスの更新を直接、または別のエンティティもしくはシステムなどを通じて受信し得る。
【0078】
動作616において、TMP222は、1つ以上の妥当性チェック及び/または衝突チェックを実行することなどによって、受信された軌道を評価し得る。いくつかの態様では、動作606は、以下でより詳細に説明するように、動作604において受信された各軌道に対して、定時性テスト、一貫性テスト、陳腐化チェック、実現可能性試験、及び/または衝突試験のうちの1つ以上を実行することを含み得る。いくつかの場合では、1つ以上のテストは、図3を参照して上述したように、一貫性バリデータ310、定時性バリデータ314、実現可能性バリデータ314、及び/または陳腐化バリデータ316などの、軌道バリデータ302のうちの1つ以上によって実行され得る。
【0079】
いくつかの場合では、TMP222は、システムモニタ220からなんらかの軌道要求が決定または送信された場合、軌道要求に基づいて、動作616において軌道をさらに評価し得る。いくつかの態様では、TMP222は、軌道要求に基づいて動作618において軌道を選択し得、これによりその選択は、軌道要求に指示される最も高い軌道によって制限され得る。TMP222は、動作620において軌道を実行するように、一次計算ユニット202などの車両の他のサブシステムを実行または指示し得る。
【0080】
いくつかの態様では、TMP222は、動作618において軌道を評価するために、システムモニタ220から軌道要求を受信するまで待機し得る。他の態様では、TMP222は、動作620において軌道を選択する前に、システムモニタ220からの軌道要求を待機しなくてもよい。
【0081】
いくつかの場合では、TMP222は、受信された軌道の妥当性、及び軌道が無衝突であるかどうかを評価し得る。少なくともいくつかの例では、結果は、バイナリ値(たとえば、真もしくは偽、または1及び0)によって表され得るが、本明細書では、限定されないが、不確実性情報、及びエラーバーなどを含む同様の効果に対して、任意の値のセットまたはキーイングシステムが使用され得ることが企図されている。本開示を通じて説明したように、妥当性信号または値は、定時性チェック、一貫性チェック、陳腐化チェック、実現可能性チェック、または車両もしくはデバイスの安全な動作を保証するのに有用な他のテストなど、任意の数の異なるテストまたは動作の合計スコアを表すことができる。いくつかの場合では、真または正の値を割り当てるには、軌道がすべての妥当性テストに合格する必要がある。
【0082】
いくつかの態様では、事前定義された軌道選択を使用して軌道を選択及び検証することは、多くの利点及び/または利益を提供することができる。たとえば、ルールに基づくアプローチと比較したとき、より包括的な軌道選択のセットを使用することを通じて、軌道選択におけるより高い一貫性が達成される可能性がある。さらにいくつかの例では、ルールに基づくアプローチよりも、テーブルまたは他のデータ構造などの事前定義された値のセットを使用することによって、たとえば、妥当及び無衝突の軌道を検証するための時間が低減される場合がある。
【0083】
図7は、動作618において上述したように、軌道を処理し、軌道を選択し、及び/または軌道を修正している、上述したTMP222などのTMPで実装され得る状態図である。このような状態図は、システム(自律車両システムなど)が、1つの動作モード(たとえば、公称モード)から偶発的モードまたはバックアップモードに移動する方法を説明し得る。TMPは、フレームに対する1つ以上の軌道、及び/または、システムモニタ220などのシステムモニタから、フレームに対する要求軌道を指示する要求を受信し得る。これらのいずれかは、同期的に受信され、及び/または非同期的に受信され得る。
【0084】
動作モードは、そのモードに関連付けられている軌道を有し得る。たとえば、公称モードは、道路、自律車両、及び/または乗員に関連する制約を観察しながら、自律車両を開始ロケーションから目的地まで経路に沿って移動させるなど、システムを経路に沿って移動させる軌道を有することができ、一方、偶発的モードは、自律車両を衝突を回避しながら自律車両を停止に至らせる経路に沿って移動させる軌道に関連付けられた軌道を有することができる。
【0085】
図7の状態図では、状態が動作モードに対応しており、TMPは、状態を指示する状態変数を記憶し得る。代わりに、TMPは他の情報からその状態を導出し得る。本明細書に記載されるように、TMPでは、任意の所与のフレームにおいていくつかの軌道が利用可能であり得る。
【0086】
第1の状態(図7では「状態A」として示されている)にあるとき、TMPは、受信された公称軌道を確認し、これは、図3に示されているものなどの1つ以上の確認テストに対して、一次軌道と呼ばれ得る。状態Aから、軌道が妥当及び無衝突であり、システムモニタが公称軌道を許可している場合(軌道制限メッセージを送信しないこと、またはTMPが任意の軌道を使用するためにクリアされていることを示すことなどによって)、TMPはその軌道を処理し、その状態を示すようにその状態変数を設定することになる。TMPは、軌道を実行するか、または実行のために別のサブシステムに渡すことによって、軌道を処理することができる。次のフレームにおいて、TMPは、その次のフレームの軌道を取得し、状態Aに戻ることができる。
【0087】
TMPは、偶発的軌道と一緒に複数の公称軌道を受信することができ、場合によっては、受信された軌道を修正することなどによって、TMPが自ら生成する1つ以上の軌道も受信することもできる。本明細書に記載される例では、TMPは、1つの公称軌道のみを受信してもよい。TMPは、各フレームで妥当及び無衝突であるかどうかを判定するために他の軌道をチェックすることができ、いくつかの例では、軌道の階層の上位にある軌道が妥当でないか、または無衝突ではない場合など、TMPがそのような軌道を使用する可能性があると決定した場合にのみ、他の軌道をチェックすることができる。公称軌道は、正常な状況で車両が停止標識で停止に至る場合、または乗員を乗降させるためになど、停止を伴う場合がある。
【0088】
状態Aから、これらの状況のいずれかが満たされない場合、たとえば、TMPが、公称軌道が妥当ではないかもしくは無衝突ではないと判定した場合、またはシステムモニタが、TMPが公称軌道を使用してはならないことを示した場合(「クリアして発進」以外の信号を送るシステムモニタとして図7に示されているように)、TMPは、受信された第1の偶発的軌道の妥当性及び衝突をチェックする状態Bに遷移する。第1の偶発的軌道が妥当及び無衝突の両方である場合、TMPは、状態Gに移動し、その第1の偶発的軌道を実行し(ここでも、軌道を実行するか、または実行のために軌道を別のサブシステムに渡すかのいずれかによって)、完了時に、状態Hに移動する。この例では、状態Hは、自律車両が静止している状態である。図8に示されるように、TMPは、システムモニタから「クリアして発進」信号を受信するまで、及び/またはテレマティクスシステムなどの人間が監視するシステムからシステムモニタ解放要求を受信するまで、この状態を維持する。
【0089】
状態Bにおいて、TMPが、第1の偶発的軌道が妥当でないと決定した場合、TMPは状態Cに遷移し、前のフレームからの記憶された偶発的軌道であり得る第2の偶発的軌道を試みる。状態Bにおいて、TMPが、第1の偶発的軌道は妥当であるが、無衝突でないことを決定した場合、TMPは、状態Dに遷移し、第1の偶発的軌道を第3の偶発的軌道に変換することによって修正するように試みる。
【0090】
状態Cにおいて、TMPは、第2の偶発的軌道の妥当性及び衝突をチェックする。第2の偶発的軌道が妥当及び無衝突の両方である場合、TMPは、状態Jに移動し、その第2の偶発的軌道を実行し(軌道を実行すること、または実行のために軌道渡すことによって)、完了時に、状態Kに移動する。この例では、状態Kもまた、自律車両が静止している状態である。TMPはまた、その階層内の許容レベルを示す状態変数も維持しているので、TMPは、状態Cに到達すると、未来のフレームでは、解放が受信されるまで状態A及び状態Bをスキップする。
【0091】
状態Cにおいて、TMPが、第2の偶発的軌道が妥当でないと決定した場合、TMPは状態Fに遷移し、緊急停止軌道を実行するが、これは、まれであるはずである。というのも、公称軌道が実行可能でないことも、両方の偶発的軌道が無効であることも必要とするためである。
【0092】
状態Dにおいて、TMPは、第3の偶発的軌道の妥当性及び衝突をチェックする。第3の偶発的軌道が妥当及び無衝突の両方である場合、TMPは、状態Mに移動し、その第3の偶発的軌道を実行し(軌道を実行すること、または実行のために軌道を渡すことによって)、完了時に、状態Nに移動する。この例では、状態Nもまた、自律車両が静止している状態である。TMPはまた、階層内のその許容レベルを示す状態変数も維持しているので、TMPは、状態Dに到達すると、未来のフレームでは、解放が受信されるまで状態A、B、及びCをスキップする。
【0093】
状態Eにおいて、TMPは、第4の偶発的軌道の妥当性及び衝突をチェックする。第4の偶発的軌道が妥当及び無衝突の両方である場合、TMPは、状態Pに移動し、その第4の偶発的軌道を実行し(軌道を実行すること、または実行のために軌道を渡すことによって)、完了時に、状態Qに移動する。この例では、状態Pもまた、自律車両が静止している状態である。TMPはまた、階層内のその許容レベルを示す状態変数も維持しているので、TMPは、状態Eに到達すると、未来のフレームでは、解放が受信されるまで状態AからDをスキップする。
【0094】
状態DまたはEにおいて、TMPが、偶発的軌道を無衝突である変換された軌道に変換することができない(または、何かが起こったことにより妥当でなくなったか、または変換により無効になった)と決定した場合、TMPは状態Fに移動する。また、システムモニタが、おそらくシステムエラー、機械的エラー、電気的エラーなどを検出したことに応答して、緊急停止を実行するようにTMPにメッセージを送信した場合、TMPは状態Fに移動する。
【0095】
このように、図7を参照して説明したように、TMPは、あるべき状態と実行すべき軌道を識別することができる。偶発的軌道の各々は、エラーまたは予期しない状況に応答している可能性が高いので、TMPは、解放信号を受信するまで公称動作を再開しないであろう。
【0096】
図8は、公称軌道以外の軌道を選択したときのTMPの状態を表す、TMPに実装され得る状態図である。TMPがあるタイプの偶発的軌道を実行している状態の例には、状態G(TMPが、軌道プランナAIから受信した、妥当及び無衝突である軌道である第1の偶発的軌道を実行する場合)、状態J(TMPが、以前に軌道プランナAIから受信した、有効及び無衝突である軌道である、記憶された偶発的軌道を実行する場合)、状態M(TMPが、無衝突にされた第1偶発的軌道の変換バージョンを実行する場合)、状態P(TMPが、無衝突にされた記憶されている偶発的軌道の変換バージョンを実行する場合)、及び状態F(TMPが、緊急停止軌道を実行する場合)が含まれる。
【0097】
状態P及び状態F以外の状態では、自律車両が静止した(または、いくつかの例では、ゼロではない速度を有しているが、その速度が閾値速度より低いかまたはそれと等しい)後、システムモニタが公称タイプの軌道を要求した場合に、TMPは状態Aに戻ることがあり得るが、状態Aへの遷移にはテレマティクスシステムからの解放信号が要求される。たとえば、状態Fにおいて、TMPが緊急停止を実行し、静止状態である状態Rに遷移すると、状態Sにおいて、TMPが人間のオペレータによって発行された解除要求を受信するまで、TMPはその状態に留まることになり、自律車両は静止したままとなる。
【0098】
図8に示されるように、システムモニタが異常状況をクリアすることで、自律車両が再び移動すること、または自律車両の停止につながり得る状態から抜け出すことがもたらされ得るいくつかの状態がある一方で、自律車両が再び移動することをもたらすために、テレマティクスシステムから解放信号を受信することが必要とされる他の状態もある。
【0099】
特定の例では、公称軌道は一次軌道とラベル付けされ、第1の偶発的軌道は二次軌道とラベル付けされ、第2の偶発的軌道は記憶された偶発的軌道であり、第3の偶発的軌道は第1の偶発的軌道の変換であり、第4の偶発的軌道は第2の偶発的軌道の変換であるが、公称軌道及び偶発的軌道の他の可能性も考えられる。公称軌道が車両の移動を継続させることは必要ではなく、すべての偶発的軌道が車両を停止に至らせることは必要ではない。
【0100】
より一般的な例では、公称軌道が実行されている公称モードと、妥当及び無衝突である最も高いレベルの軌道が実行され、TMPが開放されるまでそのレベルに留まる偶発的軌道の階層とがある。一般的な例では、レベルは、より高いレベルは自動化されたシステムによって解放することができ、より低いレベルは、最終的に実行された軌道のレベルよりも高いレベルに解放するために、人間のレビュー及び介入を必要とするようなものであり得る。
【0101】
いくつかの例では、システムモニタからの解放が完全かつ無条件の解放ではないことがある(たとえば、TMPを最も高いレベル及び状態Aに戻すことを許可する)。代わりに、システムモニタの解放は、現在のTMPレベルよりもある程度高いが、最高レベルよりは低い場合がある。
【0102】
図8は、システムモニタが状態H、K、及びNからクリアできることを示しているが、いくつかの例では、TMPは、自律車両が移動している状態である、状態G、J、及びMからのシステムモニタの解放を可能にするようにプログラムされていてもよいが、状態H、K、及びNからのシステムモニタの解放よりも多くのことを必要とする。本明細書における図及び説明を確認すると、他のバリエーションが明らかになるはずである。さらに、システムモニタが一次軌道にクリアするように図示されているが、システムモニタは、図7に関して説明される状態図に反映されるように、任意の他のレベルにクリアしてもよい。
【0103】
図9は、代替軌道を検証し、その検証に基づいて軌道を選択するための例示的なプロセス900を示しており、このプロセスは、上述したように、自律車両またはデバイスによって実行され得る。いくつかの例では、プロセス900は、図16を参照して以下に記載されるように、計画サブシステム1628によって、及び/または上述のTMP222及び/またはシステムモニタ220によって実行され得る。
【0104】
プロセス900は、動作902から開始することができ、動作902において、デバイスの少なくとも2つの代替軌道が決定または受信され得る。いくつかの場合では、動作902は、TMP222によって実行され得る。
【0105】
次に、動作904において、1つ以上の検証テストまたは評価が、たとえば、TMP222によって、代替軌道に対して実行され得る。検証テストは、以下でより詳細に説明するように、定時性、一貫性、陳腐化及び/または実現可能性テストなどの妥当性テスト、及び/または衝突テストのうちの1つ以上を含み得る。
【0106】
次に、動作906において、検証テストに基づいてデータセットが生成され得る。いくつかの場合では、TMP222がデータセットを生成してもよい。データセットは、代替軌道に対して実行された検証テストの結果を含み得る。
【0107】
データセットに基づいて、動作908において軌道が選択され得る。動作908は、妥当性及び/または衝突チェックに少なくとも部分的に基づいて、選択された軌道を決定することを含み得る。少なくともいくつかの例では、そのような選択された軌道は、図7及び8を参照して上述した状態図700及び800に従うような、無衝突及び妥当の両方である最も高いレベルの軌道を含み得る。さまざまな例では、妥当及び無衝突の軌道がない場合には、緊急停止(E停止)が選択されてもよい。
【0108】
次に、動作910において、デバイスは、選択された軌道に従って動作するように指示されるかまたは引き起こされ得る。動作910は、TMP222が、選択された軌道を一次計算ユニット202、ドライブマネージャ402、及び/またはアクチュエータ404、あるいはデバイスまたは車両の他のサブシステムに送信して、デバイスに選択された軌道に追従させることを含み得る。
【0109】
図10は、代替軌道を検証し、その検証に基づいて軌道を選択するための別の例示的なプロセス1000を示しており、このプロセスは、上述したように、自律車両またはデバイスによって実行され得る。いくつかの例では、プロセス1000は、図16を参照して以下に記載されるように、計画サブシステム1628によって、及び/または上述したTMP222及び/またはシステムモニタ220によって実行され得る。
【0110】
プロセス1000は、デバイスのための第1及び第2の代替軌道が取得され得る動作1002において開始され得る。デバイスが自律車両であるいくつかの場合では、第1及び第2の代替軌道は、上述した軌道プランナAI212、または他の軌道生成コンピューティングデバイスもしくはプロセスから取得することができる。
【0111】
次に、動作1004及び1006において、妥当性値は、第1及び第2の代替軌道の各々に対して決定され得る。いくつかの態様では、決定された妥当性値は、分析及び/または比較の複雑さを容易にするかまたは低減し、計算効率を高めるために、バイナリ値であってもよい。他の態様では、妥当性値は、たとえば、軌道選択の精度を高めるために3つ以上の値を含んでもよい。動作1004及び1006は、いくつかの別個のまたは相互接続されたテストもしくは評価のいずれかを実行することを含み得る。たとえば、妥当性は、軌道がある特定の期間内に受信されたことを確認するための定時性チェック、軌道がデバイスがある現在の軌道と合致する(たとえば、軌道へのステアリング)ように、未来の軌道が現在の軌道の定義された物理的パラメータと一致もしくは適合しているか、またはその範囲内にあることを確認する一貫性チェック、車両が軌道に沿って及び軌道上を物理的にナビゲートできる(たとえば、速度加速度制限内)ことを確認するための実現可能性、軌道がある一定の期間内に生成されたことを確認する陳腐化、及び/または他の妥当性テストを実行することによって決定することができる。いくつかの態様では、動作1004及び1006は、上述したTMP222の一貫性バリデータ310、定時性バリデータ312、実現可能性バリデータ314、及び/または陳腐化バリデータ316によって実行され得る。
【0112】
次に、動作1008及び1010において、衝突値は、第1及び第2の軌道の各々に対して決定され得る。いくつかの場合では、動作1008及び1010は、TMP222及び/または衝突チェッカ304によって実行され得る。いくつかの態様では、動作1008及び1010は、TMP222がエージェントまたはオブジェクトとの切迫した衝突を含むであろうことを、TMP222が判定する軌道を拒否することを含み得る。動作1008及び1010は、空き空間チェッカの実行、オブジェクトリストに基づく軌道予測器の評価、ヒートマップでの機械学習を使用するプロセッサ、または他のアプローチを含み得る。いくつかの場合では、動作1004及び1008のうちの1つ以上は、動作1006及び1010と並行して、同時に、またはさらには実質的に一斉に(たとえば、技術的な許容範囲内で)実行され得る。
【0113】
次に、動作1012において、事前の動作で決定された妥当性及び衝突値に基づいて、たとえば、上述した状態図700及び800による無衝突及び妥当の両方である最も高い優先度の軌道を選択することによって、軌道を選択することができる。いくつかの態様では、動作1012は、少なくとも2つの代替軌道の妥当性及び衝突値を含む、データセットの比較を含み得る。
【0114】
次に、動作1014において、デバイスは、選択された軌道に従って動作するように命令されるかまたは引き起こされ得る。動作1014は、TMP222が、選択された軌道を一次計算ユニット202、ドライブマネージャ402、及び/またはアクチュエータ404、またはデバイスもしくは車両の他のサブシステムに送信して、デバイスに選択された軌道に追従させることを含み得る。
【0115】
図11は、軌道を検証するための例示的なプロセス1100を示しており、このプロセスは、上述したように自律車両またはデバイスによって実行され得る。いくつかの例では、プロセス1100は、図16を参照して以下に記載されるように、計画サブシステム1628によって、及び/または上述したTMP222及び/またはシステムモニタ220によって実行され得る。
【0116】
プロセス1100は、自律車両の軌道が受信され得る動作1102において開始することができる。動作1102は、軌道計画AI212または自律車両の他の構成要素またはサブシステムからなど、TMP222によって実行され得る。
【0117】
動作1104において、実現可能性値が軌道に対して決定され得る。いくつかの態様では、動作1104は、実現可能性バリデータ314によって実行され得る。実現可能性値は、図14及び15を参照して以下により詳細に記載されるように、車両のいくつかの動作特性に基づいて決定され得る。いくつかの例では、実現可能性値は、車両の最大速度、1つ以上の方向における最大減速度、1つ以上の方向における最大加速度、最大合成加速度、または他のいくつかの特性(旋回半径、及び/または他の運動学的制約)に基づくなど、車両が潜在的軌道にナビゲートすることが物理的に可能であるかどうかに関連し得る。いくつかの場合では、潜在的軌道を評価するために使用される実現可能性値は、車両及びそのサブシステムの現在の動作状況に基づいて更新され得、または外部もしくは客観的なメトリックを介して定義され得る。
【0118】
動作1106において、軌道の定時性値が決定され得る。いくつかの態様では、動作1106は、定時性バリデータ312によって実行され得る。いくつかの場合では、定時性は、たとえばTMP222によって、以前の軌道が受信されてからどれくらいの時間が経過したかによって定義され得る。いくつかの場合では、動作806は、軌道が受信された時間と以前の軌道が受信された時間との間の第2の時間的差を決定することを含み得る。
【0119】
定時性は、車両またはデバイスのさまざまなサブシステムが適切に機能しており、かつ予想される境界内にあるかどうかの指標として使用され得る。たとえば、新しい軌道が通常、ある特定の期間内またはある特定の頻度で受信される場合、その期間外に受信された軌道、またはまったく受信されなかった軌道は、自律車両の1つ以上のシステムの障害または問題を指示している可能性がある。したがって、車両の動作ステータスの指標として定時性及び他の同様のチェックを使用することは、車両の動作における安全性を改善するのに特に有用である可能性がある。いくつかの場合では、受信された軌道が定時的であるかどうかを示す1つ以上の期間または制限が定義されてもよい。これらの制限は、すべての軌道に共通である場合もあれば、軌道が一次軌道であるか偶発的軌道であるかによって設定される場合もある。
【0120】
いくつかの態様では、定時性は、除外された軌道の数に関して定義され得る。除外された軌道の数は、10分の1秒または100分の1秒ごとなど、軌道が通常受信される時間間隔の経過に従っていてもよい。いくつかの場合では、1つの除外された軌道は、軌道が無効になることをもたらす誤動作または他の状況を示している可能性がある。他の場合では、2つまたは異なる数の除外された軌道が問題を示し、定時性テストが不合格になる原因となる可能性がある。さらにいくつかの場合では、異なるタイプの軌道(たとえば、一次、偶発的、E停止など)に対して、異なる期間または数の除外される軌道の数が設定され得る。たとえば、一次軌道では、2つ以下が除外されても、なおもその軌道が定時的であるかまたは定時性テストに合格することが決定される場合がある。偶発的軌道は、1つ以下の軌道が除外された場合にのみ、定時的に妥当になる場合などがある。このような方式で、説明された技術は、潜在的軌道を確認するために定時性テストを利用することができ、軌道が定時性テストに合格するかまたは不合格になるかを判定するために使用される制限またはメトリクスは、多くの異なる方法で構成可能である。
【0121】
定時性チェックは、軌道が最近受信されたことを確認するために実行されてもよく、たとえば、TMP222によって軌道プランナAI212から軌道が受信された時間と、TMPによって維持され得るような、現在の時間とを比較することを含み得る。たとえば、X秒間の電波停止の後に、新しく作成された軌道が続くという可能性もある。この場合では、軌道は定時性テストに不合格になるであろうが、以下により詳細に記載されるように、陳腐化テストに合格することになる。言い換えれば、本明細書に記載するような定時性テストは、新しい軌道が定時的に受信されることを保証する。
【0122】
動作1108において、たとえば、軌道のバイナリ値などの値によって表される一貫性の妥当性を決定することができる。いくつかの場合では、動作1108は、一貫性バリデータ310によって実行され得る。一貫性の妥当性または一貫性の妥当性値は、一般に、潜在的軌道が、車両が進行している現在の軌道に関して、ある特定の物理的関係内にあるかどうかを示し得る。いくつかの場合では、特定の物理的関係は、1つまたはいくつかの異なる値によって定義され得、それらの値は、車両の動作特性または制限(たとえば、実現可能性値)によって修正される。値は、距離差、時間差、ステアリング閾値、ヨー閾値、速度偏差閾値、または共線閾値を含み得る。比較は車両の状態ではなく軌道に基づいているため、このような妥当性は実現可能性の妥当性とは異なる場合がある。このような比較では、車両の公称動作時には、後続の軌道が以前に生成された軌道から大きく逸脱することはないと予想される(十分に速く、たとえば、100msごとまたはそれ以上の速さで生成された場合)。したがって、このような例では、プランナサブシステムのエラーを示すものとして逸脱のフラグを立てることができる。いくつかの態様では、小さな逸脱が許容可能であってもよく、これにより、1つ以上の閾値の偏差値を使用して、差が軌道を以前の軌道と矛盾させるであろうかどうかを判定する。
【0123】
一貫性の妥当性値の決定は、車両の現在の位置、方位、ヨー、及び/または速度など、車両の現在の状態を取得することを含み得る。車両を潜在的軌道上に、好ましくは車両の現在の状態に最も近いまたは少なくとも近接する潜在的軌道上のロケーションに配置するであろう車両の潜在的状態も決定され得る。次に、現在の状態及び潜在的状態に基づいて、車両が潜在的軌道に安全かつ効率的にナビゲートできるかどうかを判定することができる。一貫性の妥当性を決定することは、図12図13を参照して以下により詳細に記載される。
【0124】
動作1110において、軌道の陳腐化値(陳腐化の妥当性値とも呼ばれる)が決定され得る。いくつかの態様では、動作1110は、陳腐化バリデータ316によって実行され得る。他の場合では、陳腐化は一貫性の妥当性の一部とみなされ、一貫性バリデータ310によって実行され得る。いくつかの場合では、陳腐化は、デバイスが軌道に移動し、軌道を実行することができるかどうかの指標として、軌道が現在の時間または軌道が評価された時間に対していつ作成されたかによって定義されてもよい。たとえば、軌道が作成された時間(たとえば、軌道に関連付けられているタイムスタンプに示され得るような時間)と現在の時間との間の第1の時間的差が決定され得る。この値は、いくつかの場合では、実現可能な軌道に対して、所定の時間制限などの時間制限と比較され得る。時間制限を満たすかまたは超える時間差により、陳腐化の妥当性値が偽に設定され得る。
【0125】
動作1112において、妥当性信号は、実現可能性、定時性、一貫性、及び/または陳腐化の値に基づいて生成され得る。いくつかの場合では、4つの値すべてが正であるとき、または車両が軌道に安全にナビゲートできることを示すときなどに、真または正の値が生成されてもよい。1つ以上の値が負である場合には、動作1112において負の結果が生成されてもよい。いくつかの場合では、同様の効果を得るために、妥当性テストのサブセットのみを実装してもよいこと(たとえば、動作1104/1106、1108、1110のうちの1つ以上)、及び他のテストまたは評価を上述したものと同様に組み合わせてもよいことを理解されたい。
【0126】
いくつかの態様では、プロセス1100は、より多くの軌道が受信されたかどうか、及び/または評価に利用可能であるかどうかを判定する動作1114を含み得る。本明細書で使用される場合、動作を示すために使用される場合の点線は、プロセスが示された動作(複数可)を伴わずに実行され得るように任意である。決定が正である場合、プロセス1100は、利用可能な軌道がなくなるまで、及び/または時間閾値(たとえば、実際の軌道を選択して実装しなければならないときまでのある一定の時間)の満了時まで、動作1102~1112をループし得る。いくつかの場合では、評価のための軌道は、上述した状態図700及び800に従って選択され得る。
【0127】
次に、動作1116において、軌道は、上で決定された妥当性値に基づいて任意選択で選択され得る。いくつかの態様では、軌道を選択することは、上述した状態図700及び/または800を利用してもよい。動作1118において、自律車両は、妥当性信号に少なくとも部分的に基づいて、選択された軌道に従って制御され得る。いくつかの例では、動作1118は、TMP222が、選択された軌道またはその指示を、デバイスまたは車両の一次計算ユニット202、ドライブマネージャ402、及び/またはアクチュエータ404、あるいは他のサブシステムに送信して、デバイスに選択された軌道に追従させることを含み得る。
【0128】
図12は、本明細書に記載されるような一貫性及び実現可能性の妥当性テストのさまざまな特徴を示すための例として、潜在的軌道1204と物理的な関係にある、現在の軌道1214上の、自律車両の例示的な図を示している。図示された例では、軌道1204は、右折を定義することができ、状態1202、1206、1208、1210、及び1212の車両によって表されるように、軌道上の車両のいくつかの異なる状態によって表され得る。現在の軌道1214は、状態1216の車両によって表され得る。
【0129】
現在の状態1216及び潜在的状態1208などの車両の各状態は、1つ以上のプロパティまたはパラメータで定義されるか、またはそれに関連付けられ得る。たとえば、車両の状態は、時間及び空間内の所与の点における車両の位置、方位、ヨーレート、速度、加速度、ジャーク、及び/または他の物理的及び運動学的質のうちの1つ以上によって定義され得る。
【0130】
潜在的軌道が車両の現在の軌道または状態と一致しているかどうかを判定するために、現在のロケーションが最初に取得または決定され得る。いくつかの場合では、現在のロケーションは、たとえば、車両が潜在的軌道1204を開始するときのロケーション、または軌道1214の終わりにあるロケーションに対応する、未来の推定されたロケーションであり得る。車両は、潜在的軌道1204上に、状態1208などの潜在的状態に投影され得る。いくつかの場合では、状態1208は、軌道1204上の車両の現在の状態1216に最も近いロケーションになるように選択され得る。潜在的状態1208は、たとえば、2点間の距離を最小化するために、現在の状態1216に対して決定され得る。これは、幾何学的評価を含み得る(軌道1204と状態1216との間、または他の手段を介した最短のユークリッド距離を決定することなど)。
【0131】
いくつかの場合では、ロケーション1216における車両の状態によって表される現在の軌道は、潜在的軌道1204上の状態1208と比較され得る。車両の各状態1216及び1208は、位置、方位、ヨー、及び/または速度など、いくつかのパラメータによって表されてもよい。これらの値を比較して、2つの状態間の距離、第1の状態1216における車両と第2の状態1208における車両との間のコマンドステアリング位置差、2つの状態間のヨー偏差、及び/または2つの状態間の速度偏差など、1つ以上の偏差値を決定してもよい。たとえば、軌道閾値までの距離は、車両が潜在的軌道から遠すぎて一貫性がないときを示すことができる。別の例は、コマンドステアリング位置を含み、これは、潜在的軌道に到達するために車両がそのステアリング角度をどの程度変更しなければならないかを示すことができる。次に、偏差値を1つ以上の閾値と比較して、潜在的軌道1204が車両の現在の軌道と一致するかどうかを判定することができる。いくつかの場合では、1つの偏差値が設定された差または許容差よりも大きい場合、潜在的軌道は矛盾していると分かるであろう。いくつかの態様では、差は線形であってもよく、導出されたメトリックなどの他のメトリックでは、他の比較を利用して、軌道が一貫しているかどうかを判定することができる。
【0132】
いくつかの場合では、クランプ機能を介してなど、車両のさまざまな速度または速度範囲に対して、さまざまな速度偏差閾値が決定及び使用されてもよい。たとえば、現在の軌道上での車両の現在の速度が1秒あたり0.05~3メートルの間である場合、閾値を10%の差に設定してもよい。より速いスピードでは、5または7%の差が許容可能な速度偏差を超えるであろうように、閾値を低く設定してもよい。
【0133】
いくつかの場合では、一貫性チェックは、潜在的状態1204が軌道1214と共線であるかどうかに関する判定も含み得る。これは、たとえば、2つの軌道を表す2つのベクトルの外積をとることによって実行することができる。これは、2つの軌道2104及び1214が、乗員にとって安全であり、車両または乗員を緊張させるか、または他の方法で過度な力をかけないように、十分な程度に合致することを保証するために実行されてもよい。
【0134】
いくつかの態様では、一貫性は、陳腐化チェックのテストを含み得、1,000msを超えるなど、あまりにも古くに作成された潜在的軌道が一貫性に対して確認されないようにすることができる。他の場合では、陳腐化は、それ自体の妥当性チェックとして、一貫性とは別に決定されてもよい。
【0135】
いくつかの例では、差は、2つの軌道、状態及び軌道、または2つの状態が一貫しているかどうかを判定するために使用されるいくつかの変数、許容値、または閾値のいずれかなど、1つ以上の許容値または偏差値と比較されてもよい。たとえば、軌道閾値までの距離は、車両が潜在的軌道から遠すぎて一貫性がないときを示すことができる。他の閾値は、コマンドステアリング位置(たとえば、潜在的軌道に到達するために車両がそのステアリング角度をどの程度変更しなければならないか)、ヨー偏差、車両の異なる速度範囲に関連付けられている1つ以上の速度偏差、及び共線偏差を含み得る。
【0136】
いくつかの態様では、実現可能性チェックは、車両の1つ以上の能力または実現可能性制限内で、車両が現在の状態1216から潜在的軌道1204まで進行できるかどうかを判定することを含み得る。これは、線1218によって表される、車両を状態1216から状態1208に移動させる運動学を決定することを含み得る。これは、主要な移動方向(軌道1214の方向に継続する)における必要な加速度もしくは減速度、横方向加速度もしくは減速度、及び/または合成加速度を決定することを含み得る。運動学的決定は、状態1216における車両の現在位置(たとえば、車両の状態に対応するロケーション)、車両の現在のスピードまたは速度、進行方向、及び車両の他の特性、ならびに潜在的状態1208における対応する結果値に基づいてもよい。
【0137】
いくつかの態様では、実現可能性閾値のうちの1つ以上は、車両または車両のサブシステムの1つ以上の動作ステータスに基づいて修正され得る。たとえば、車両のサブシステムは、タイヤのうちの1つ以上のタイヤ空気圧が低いことを検出することができる。たとえば、システムモニタは、タイヤ空気圧が低いことを検出することに基づいて、車両の実現可能性値のセットを修正することができる。図13は、潜在的軌道に対して一貫性チェックを実行し、一貫性チェックに基づいてデバイスを潜在的軌道に従って動作させるための例示的なプロセスを示しており、このプロセスは、TMP222などのTMPによって、及び/または、図16を参照して以下に記載されるように、計画サブシステム1328によって実行することができる。プロセス1300は、図11を参照して上述したプロセス1100の動作1108のより詳細な例であり得る。
【0138】
プロセス1300は、動作1302において開始することができ、そこでは、自律車両などのデバイスの現在の状態が取得され得る。いくつかの態様では、上述したTMP222及び/またはシステムモニタ220などの、自律車両の1つ以上の構成要素が現在の状態を決定し得る。いくつかの態様では、現在の状態は、第1の位置、第1の方位、第1のヨーレート、または第1の速度のうちの1つ以上を含む第1の値のセットによって定義され得る。
【0139】
動作1304において、潜在的軌道に追従するためのデバイスの潜在的状態は、たとえば、デバイスが自律車両である場合のTMP222、及び/またはシステムモニタ220によって取得され得る。いくつかの場合では、動作1304は、現在の状態に関連付けられているロケーションに近接するロケーションなど、現在の状態に基づいて潜在的状態を決定することを含み得る。
【0140】
動作1306において、現在の状態を潜在的状態と比較することができ、動作1308において、潜在的軌道が1つ以上の一貫性チェックに合格するかどうかを判定することができる。1つ以上の一貫性チェックは、上述した一貫性チェックのうちの1つ以上を含み得る。動作1306及び1308は、現在の状態と潜在的状態との間の差を生成することと、その差を、上述したものなどの偏差値のセットと比較することと、を含み得る。
【0141】
動作1308における決定が負である場合、不合格であった妥当性信号が動作1314において生成され得、評価のために別の軌道が選択され得る。しかしながら、動作1308における決定が正である場合、妥当な軌道を示す妥当性信号が動作1310において生成され得、デバイスは、動作1312において潜在的軌道に従って動作させられ得る。
【0142】
図14は、図2図5を参照して説明された自律車両などの、自律車両のさまざまなサブシステム間の例示的な通信1400を示している。通信1400は、システムモニタ220が、車両に課せられた実現可能性制限または値に車両更新を送信することができる例示的な方法を示している。
【0143】
図示された例では、システムモニタ220は、一次計算ユニット202及び/またはドライブマネージャ402からなど、自律車両内のさまざまなソースからシステムデータを受信し得る。システムデータは、車両のさまざまなサブシステムからのさまざまな更新、ステータス情報、及びハートビート情報などを含み得る。いくつかの態様では、システムモニタ220によって受信されるシステムデータはまた、天候、道路状況、温度など、車両が動作している環境に関するセンサデータも含み得る。
【0144】
システムモニタ220は、デバイスの実現可能性制限のセットまたはデータ構造を維持し得る。これらの実現可能性制限または能力制限は、車両の移動に課せられるさまざまな物理的制限を定義し得る。一例は、車両のさまざまな実現可能アクションまたはアクションに対する制限を含み得、そして既定の能力と現在の能力との両方の値を含み得る。たとえば、実現可能アクションは、最大速度、最大縦方向減速度、最大縦方向加速度(現在の動きの方向における)、最大横方向加速度、及び最大合成加速度(たとえば、横方向及び縦方向の最大加速度)を含み得る。車両の動作における安全性及び乗員への安全性を高めるために、他の実現可能アクション/制限もまた、車両に課される可能性があることを理解されたい。
【0145】
ステムモニタ220は、一次計算ユニット202及び/またはドライブマネージャ402からのシステムデータ及びステータス更新、及び/またはセンサデータなどの他のデータを含む、システムモニタ220によって受信されたさまざまな入力に従って、実現可能性制限を更新してもよい。いくつかの態様では、システムモニタ220は、たとえば、1つ以上の実現可能性制限に影響を与え得るいくつかのサブシステムの現在の状態を含む、車両のさまざまなサブシステムに関するさまざまなステータス情報を維持及び更新し得る。一例では、自律車両1400のさまざまなサブシステムの動作状態またはステータスは、タイヤ空気圧情報、パーセンテージとしてのモータ動作、車両電気システムのさまざまな構成要素、及び車両もしくは自律車両、または移動可能な他のデバイスに見られ得るようなさまざまな他のサブシステムを含み得る。いくつかの場合では、さまざまなサブシステムの動作状態を数値(たとえば、パーセンテージとしての)、3つの機能状態、劣化状態、及び動作不能状態のうちの1つとして、または他のスキームを介して表され得る。いくつかの態様では、システムモニタ220は、車両のさまざまなサブシステムのステータス更新を、状況の変化に応じて定期的に、または他の定期的もしくは非定期的な間隔で受信し得る。いくつかの態様では、間隔は、新しい軌道が作成及び/または評価されるタイミングに対応し得る。
【0146】
システムモニタ220はまた、さまざまなサブシステムの動作状態またはステータスに対する1つ以上の変化の、実現可能性制限または値に対する影響を示す値の集合を維持するか、またはこれにアクセスすることもできる。一例では、動作状態またはステータスの例である、タイヤ空気圧監視システム(TPMS)のさまざまなレベルまたはPSI値の効果は、最大速度、最大縦方向加速度、最大縦方向減速度、最大横方向加速度、及び/または最大合成加速度のうちの1つ以上に対する異なる影響または制限に相関し得る。同様の方法で、車両の任意のサブシステムまたはセンサ入力は、車両の実現可能性値のうちの1つ以上の変化に相関し得る。いくつかの場合では、車両のサブシステムのさまざまな動作ステータスの影響は、経験的に決定されるか、事前に設定されるか、または車両の動作状況、ユーザの好みなどに対して提示され、また適応可能であってもよい。いくつかの例では、タイヤのPSIなどの単一のサブシステムの変化が、複数の実現可能性制限に影響を与え得る。いくつかの例では、2つ以上のサブシステムの動作ステータスが、車両の単一または複数の実現可能性制限の変化に寄与することがある。
【0147】
システムモニタ220は、上述した情報を利用して、サブシステムのステータス情報を取得すること、サブシステムのステータス情報が実現可能性制限のうちの1つ以上にどのような影響を与えるかを判定すること、及び影響を受けた実現可能性制限を更新することによって、車両またはデバイスの実現可能性制限または物理的動作制限を更新し得る。他の態様では、記載された動作のうちの1つ以上は、TMP222または一次もしくは二次計算ユニット202、204の他の態様によって追加としてまたは交互に実行され得る。
【0148】
いくつかの態様では、実現可能性制限の集合及び/またはそれに対する調整は、一次軌道、及び偶発的軌道など、1つ以上の軌道タイプに固有であってもよい。この例では、システムモニタ220は、異なるタイプの軌道に対して異なる能力制限を設定し得る。たとえば、偶発的軌道の最大速度は、一次軌道の場合よりも低く設定され得る。同様に、車両の1つ以上のサブシステムのステータスの変化は、さまざまなタイプの軌道の実現可能性制限にさまざまな影響を引き起こす可能性がある。たとえば、タイヤ空気圧の変化は、一次軌道の最大縦方向減速度の第1の減少、及び偶発的軌道の最大縦方向減速度の第2の減少を引き起こす可能性がある。
【0149】
実現可能性制限を更新すると、システムモニタ220は、たとえば、1つ以上の値TMP222及び一次計算ユニット202の形態で、更新された制限を送信し得る。TMP222は、潜在的軌道を確認するプロセスにおいて実現可能性制限を使用してもよく、一次計算ユニット202及び/または軌道プランナAI212は、新しい軌道を生成する際に実現可能性制限を使用してもよい。潜在的軌道を選択すると、TMP222は、次に、1つ以上の軌道を一次計算ユニット202、システムモニタ220、及びドライブマネージャ402に送信して、未来の軌道決定のためのさらなるフィードバックを提供し得る。
【0150】
図15は、潜在的軌道の実現可能性を確認するための例示的なプロセスを示しており、このプロセスは、上述したTMP222及びシステムモニタ220のうちの1つ以上によって、及び/または、図16を参照して以下に記載されるように、計画サブシステム1628によって実行され得る。プロセス1500は、図11を参照して上述したプロセス1100の動作1104のより詳細な例であり得る。
【0151】
プロセス1500は、動作1502において開始することができ、そこでは、デバイスの少なくとも1つのサブシステムに対応する1つ以上のステータス更新が取得され得る。1つ以上のステータス更新は、サブシステム、それに関連付けられているセンサ、またはシステムモニタ220などの監視システムから直接取得してもよい。ステータス更新は、タイヤ空気圧値、バッテリ充電レベル、動作レベル(たとえば、パーセンテージ)などのサブシステムの動作ステータスもしくは値を示してもよく、またはある特定のサブシステムが誤動作していることを示してもよい。この例では、サブシステムが100%の容量で動作していないという指示などから、動作ステータスまたはステータス更新が導出され得る。
【0152】
動作1504において、デバイスの実現可能性制限は、1つ以上のステータス更新に基づいて低減され得る。いくつかの態様では、動作1504は、1つ以上の能力値の更新を含み得る。いくつかの態様では、1つのサブシステムの変化が、複数の実現可能性制限に影響を与え得る。このシナリオでは、複数の実現可能性制限または能力制限が更新され得る。他の場合では、実現可能性制限は、デバイスの1つ以上の正のステータス更新に基づいて、増加されるか、または既定制限に回復され得る。
【0153】
動作1506において、デバイスのための潜在的軌道は、たとえば、軌道プランナAI212から取得され得る。動作1508において、潜在的軌道を追従する(または開始点または潜在的軌道上の点にナビゲートする)デバイスが、低減された実現可能性制限を超えるであろうかどうかが判定され得る。動作1508は、潜在的軌道にナビゲートし、これに追従するために、加速度、速度、方向変更などの車両の1つ以上の運動学的値をシミュレートまたは決定することを含み得る。
【0154】
動作1508における判定が負である場合、不合格であった妥当性信号が動作1514において生成され得、評価のために別の軌道が選択され得る。しかしながら、動作1508における判定が正である場合、妥当な軌道を示す妥当性信号が動作1510において生成され得、デバイスは、動作1512において潜在的軌道に従って動作させられ得る。
【0155】
図16は、ナビゲーションのための軌道を確認及び選択するための自律車両の自律車両構成要素1600の例示的なアーキテクチャに従って使用され得る要素の例を示している。自律車両は、さまざまなコントローラに結合された自律車両動作システム1602を有するものとして特徴付けられてもよく、このコントローラは、次いで、自律車両のさまざまな構成要素に結合されて、運動、電力管理などを処理する。自律車両動作システム1602の要素は、本明細書に記載されるように、軌道を生成し、それらの軌道の1つ以上の検証を実行するための計算システムを提供する。これらの要素は、自律車両以外の他の用途で使用されてもよい。
【0156】
アーキテクチャ1600は、本明細書に記載されるシステム、方法、及び装置の態様を実装するために、さまざまなハードウェア、ソフトウェア、ファームウェアなどを含む1つ以上のコンピュータシステム(複数可)を指定し得る。たとえば、自律車両動作システム1602は、周囲分析システム1603及び自律車両のさまざまな態様に使用可能な他の構成要素を含み得る。周囲分析システム1603は、自律車両動作システム1602が、モータ、ステアリング、オブジェクト回避などのためのコントローラを動作させるために使用し得る情報を取り込むために使用され得る。
【0157】
周囲分析システム1603は、実装を単純化するために、別個のチームが特定のサブシステムのために開発できるようにするために、または他の理由のために、複数のサブシステムとして編成され得る。いくつかの実施形態では、サブシステムは独立して実装され、一方、他の実施形態では、複数のサブシステムが部分的または完全に一緒に統合される。サブシステムは、LIDARサブシステム1604、カメラサブシステム1606、レーダーサブシステム1608、ソナーサブシステム1610、ボクセル空間サブシステム1612、地面判定サブシステム1614、クラスタリングサブシステム1616、補間サブシステム1618、オブジェクト判定サブシステム1620、動的オブジェクト判定サブシステム1622、レイキャスティングサブシステム1624、追跡サブシステム1626、計画サブシステム1628、センサ較正サブシステム1630、注釈サブシステム1632、及び場合によっては他のサブシステム1634を含み得る。
【0158】
所定のサブシステムは、他のサブシステムと通信し、入力を受信し、出力を提供するためのプログラムコードまたはハードウェアで実装され得る。入力のいくつかはセンサからのものであり得る。本明細書のいくつかの説明では、読みやすさのために、サブシステムは、サブシステムがデータまたは信号を取得するセンサ、及び/またはサブシステムがデータまたは信号を出力するエミッタを含むものとして説明されることがある。たとえば、ソナーサブシステムは、超音波センサを有するものとして説明され得るか、または超音波センサから信号を受信するものとして説明され得る。別の例として、カメラサブシステムは、カメラ及びディスプレイを有するものとして説明され得るか、または信号またはデータをカメラから受信し、信号またはデータをディスプレイに送信するものとして説明され得る。
【0159】
図16には示されていないが、サブシステム間の通信は必要に応じて提供されてもよいことを理解すべきである。所与のサブシステムは、何らかのチャネルを介してデータを他のサブシステムに直接送信することによって、別のサブシステムと通信し得、周囲分析システム1603は、サブシステムがその間にデータ及び/または信号を渡すことによって通信できるバスサブシステムまたは通信インフラストラクチャを備え得る。周囲分析システム1603はまた、外部データを受信し、周囲分析システム1603の外部に情報を通信するようにも構成され得る。
【0160】
所与のサブシステムは、それ自体の計算処理のいくつかを有してもよく、それは、その所与のサブシステムに専用のハードウェアによって実行されてもよく、またはそのサブシステムの計算を実行するように割り当てられたプロセッサまたは回路によって実行されてもよく、場合によっては、サブシステムは、完全にソフトウェアに実装され、プログラムコードメモリ及びデータ記憶メモリなどのメモリ1638を使用して1つ以上のプロセッサ(複数可)1636によって実行され得る。メモリは、RAMなどの変数及びデータの一時的記憶のためのもの、及び恒久的記憶(すなわち、ある寿命期間、リフレッシュ、電力などを必要とすることなく持続するデータ)のためのメモリであってもよく、明示的に言及されていなくても、示された箇所では暗示されるべきである。たとえば、サブシステムがデータベース上で動作している、またはデータを記憶しているものとして説明されている場合、電子的に読み取り可能な形態でデータを記憶するための何らかの形態のメモリが存在するであろう。いくつかの場合では、データベースまたはメモリ内のデータストレージは、1つのサブシステムに固有ではなく、その内部にはない。このような場合、メモリには複数のサブシステムからアクセス可能である。たとえば、あるサブシステムは、そのサブシステムによって取得されたセンサデータに基づいて記録を作成し、それらの記録をデータベースまたは他のデータ構造に書き込み、次に、別のサブシステムがそのデータを読み取って使用することができる。サブシステムがソフトウェアに実装されている場合、サブシステムは、そのサブシステムに固有のプロセッサ、またはより一般的なプログラムコードメモリ及びプロセッサに結合されたプログラムコードを含むことがある。
【0161】
いくつかの例では、周囲分析システム1603が自律車両に使用されている。いくつかの例では、周囲分析システム1603は、自律車両に知覚機能及び計画機能性を提供し得る。一般に、周囲分析システム1603は、LIDAR知覚、レーダー知覚、視覚(カメラ)知覚、音響知覚、セグメント化及び分類、追跡及び融合、ならびに予測/計画とともに、ドライブコントローラ、電力コントローラ、環境コントローラ、及び通信コントローラなどの他のコントローラとのインターフェースを提供し得る。
【0162】
自律車両動作システム1602は、計画システム1640、道路ナビゲーションシステム1642、マニフェストマネージャ1644、及び監査/故障ロガー1646を含み得る。自律車両動作システム1602はまた、さまざまなセンサ1650及びエミッタ1652を含むか、またはこれらにインターフェースすることもできる。
【0163】
自律車両動作システム1602は、モータ1680、ステアリング1682、ブレーキ1684、及びサスペンション1686と相互作用するドライブコントローラ1670、バッテリ1688及びインバータ/チャージャ1690と相互作用する電力コントローラ1672、暖房、換気、空調(HVAC)構成要素1692、及び照明1694と相互作用する環境コントローラ1674、自律車両、自律車両で使用されているデバイス、ならびにネットワーク、セルラーチャネル、またはWi‐Fiチャネル1696などを介した外部デバイスとの間の通信を処理する通信コントローラ1676とインターフェースし得る。自律車両動作システム1602、コントローラ、及び自律車両に設置された車両構成要素の組み合わせは、絶え間ない人間の介入を伴わずに安全にナビゲートすることができる車両を提供することができる。
【0164】
周囲分析システム1603及びそのサブシステム、LIDARサブシステム1604をここでも参照すると、LIDARサブシステム1604は、本明細書に記載されるように、セグメント化のためのLIDARデータを捕捉するための1つ以上のLIDARセンサを含み得、本明細書に詳細に記載されるように、任意の1つ以上の深度センサを備え得る。いくつかの例では、LIDARサブシステム1604は、複数のLIDARセンサからのLIDARデータを組み合わせるかまたは合成して、LIDARデータのメタスピンを生成するための機能性を含み得、これは、複数のLIDARセンサに基づくLIDARデータを参照し得る。LIDARデータのメタスピンの場合、LIDARサブシステム1604は、メタスピンデータの仮想起点(たとえば、すべてのLIDARセンサに共通の座標基準フレーム)を決定し、1つ以上のLIDARセンサの各々からのLIDARデータが仮想起点に関して表現されるようなデータ変換を実行するための機能性を含み得る。本開示の文脈で理解され得るように、LIDARサブシステム1604は、データを捕捉し、後続の処理のために、データセットを周囲分析システム1603の他のサブシステムに送信し得る。
【0165】
カメラサブシステム1606は、画像セグメント化及び/または分類のために視覚データを捕捉するための、1つ以上のカメラセンサを含むか、またはそれにインターフェースし得る。カメラサブシステム1606は、任意の数及びタイプのカメラセンサを含み得る。たとえば、カメラサブシステム1606は、任意のカラーカメラ、モノクロカメラ、深度カメラ、RGB-Dカメラ、ステレオカメラ、赤外線(IR)カメラ、紫外線(UV)カメラなどを含み得る。本開示の文脈で理解され得るように、カメラサブシステム1606は、データを捕捉し得、後続の処理のために他のサブシステムにデータセットを送信し得る。たとえば、カメラサブシステム1606からのデータは、別のサブシステムによってそのように処理されるマルチチャネル画像の1つ以上のチャネルとして含まれ得る。
【0166】
レーダーサブシステム1608は、環境内のオブジェクトの範囲、角度、及び/または速度を捕捉するための1つ以上のレーダーセンサを含み得る。本開示の文脈で理解され得るように、レーダーサブシステム1608は、データを捕捉し、後続の処理のために、データセットを周囲分析システム1603の他のサブシステムに送信し得る。たとえば、レーダーサブシステム1608からのデータは、別のサブシステムに提供されるマルチチャネル画像の1つ以上のチャネルとして含まれ得る。
【0167】
ソナーサブシステム1610は、環境内のオブジェクトから音響情報を捕捉するために、1つ以上のスピーカまたはサウンドエミッタ及び1つ以上のマイクロフォン(マイクロフォンアレイなど)を含むか、またはそれらにインターフェースすることができる。追加として、または代替では、そのようなソナーサブシステム1610は、さまざまな超音波トランスデューサを備え得る。たとえば、ソナーサブシステム1610は、超音波トランスデューサに音のパルスを放出させることができ、環境内のオブジェクトに関連する位置及び/または動き情報を決定するために、エコーを聴取し得る。本開示の文脈で理解され得るように、ソナーサブシステム1610は、データを捕捉し、後続の処理のためにデータセットを他のサブシステムに送信し得る。たとえば、周囲分析システム1603の別のサブシステムは、オブジェクトをより正確にセグメント化するために、及び/またはオブジェクトに関する情報を決定するために、または他の目的のために、ソナーサブシステム1610から取得されたデータをLIDARサブシステム1604から取得されたデータと融合し得る。
【0168】
自律車両動作システム1602は、図示されたもの以外の自律車両における使用に適した任意の数またはタイプの他のセンサを含み得る。さまざまなセンサ1650は、超音波トランスデューサ、ホイールエンコーダ、環境センサ、マイクロフォン、慣性測定ユニット(複数可)(IMU)、加速度計、ジャイロスコープ、磁気計、温度センサ、湿度センサ、光センサ、全地球測位システム(GPS)センサ、ロケーションセンサなどを含み得るが、これらに限定されない。
【0169】
いくつかの例では、LIDARサブシステム1604、カメラサブシステム1606、レーダーサブシステム1608、及び/またはソナーサブシステム1610は、改善されたセグメント化のためにデータを結合及び/または合成するために、1つ以上データセットを周囲分析システム1603の他のサブシステムに提供し得る。
【0170】
周囲分析システム1603は、テストで部分的に使用するために、コンピュータシミュレーションアルゴリズムによって生成されたシミュレートされたデータのためのストレージをさらに含み得る。いくつかの例では、シミュレートされたデータは、カメラデータ、LIDARデータ、レーダーデータ、ソナーデータ、慣性データ、GPSデータなど、任意のタイプのシミュレートされたデータを含み得る。いくつかの例では、周囲分析システム1603は、動作を検証するために、及び/または本明細書に記載されるように機械学習アルゴリズムをトレーニングするために、シミュレートされたデータに対して、本明細書に記載される変換動作を修正、変換、及び/または実行することができる。たとえば、実験室環境でいくつかの機能性をテストするために、実際のセンサデータであるかのように、シミュレートされたセンサデータ/信号をサブシステムに供給して、いくつかのサブシステムの性能をテストすることができる。
【0171】
ボクセル空間サブシステム1612は、データをボクセルマップに変換またはマッピングするための機能性を含み得る。たとえば、ボクセル空間サブシステム1612は、LIDARデータ、カメラデータ、レーダーデータ、ソナーデータなどを受信し、個々のデータ点を、環境内の三次元空間を表すボクセルマップにマッピング、変換、または関連付けることができる。ボクセル空間は、自律車両を取り巻く空間などの3次元環境の論理表現であり、個別の小さなボリューム、たとえばボクセルとして表される。ボクセルマップは、ボクセル空間内のそれぞれのボクセルのデータまたは値を提供する。三次元環境表現として、ボクセルマップをメモリに記憶し、プロセッサで操作することができる。
【0172】
いくつかの例では、ボクセル空間サブシステム1612は、ボクセル空間の長さ、幅、及び高さを含む、ボクセル空間の寸法を定義することができる。さらに、ボクセル空間サブシステム1612は、個々のボクセルのサイズを決定してもよい。いくつかの例では、ボクセルは、ボクセル空間全体で均一なサイズ及び形状であり得るが、いくつかの例では、ボクセルのサイズ及び/または密度は、ボクセル空間内の相対的なロケーションに基づいて変化し得る。たとえば、ボクセルのサイズは、ボクセル空間の起点または中心からのボクセルの距離に比例して増加または減少し得る。追加として、または代替では、そのようなボクセル空間サブシステム1612は、仮想起点とボクセル空間の起点との間の変換を含み得る。いくつかの例では、ボクセル空間サブシステム1612は、データを含まないボクセル、またはデータ閾値を下回るある量のデータを含むボクセルがボクセルマップに存在する必要はなく、それらのボクセルの値を仮定または無視することができる、疎らなボクセル空間を生成するための機能性を含み得る。そのような例では、ボクセルマップは、オクトマップ、またはボクセルハッシュなどとして編成され得る。いくつかの例では、ボクセル空間サブシステム1612は、データがボクセル空間にマッピングされ、ボクセルマップに記憶されるときにデータをフィルタリングすることによって、ボクセルマップのデータまたはボクセルマップを生成するために使用されるデータのノイズの量を低減するための機能性を含み得る。たとえば、フィルタリングは、ボクセルあたりのデータの閾値量を下回るデータ(たとえば、ボクセルに関連付けられているLIDARデータ点の数)、またはボクセルの所定の数を上回るデータ(たとえば、いくつかの近接するボクセルに関連付けられているLIDARデータ点の数)を除去することを含み得る。いくつかの例では、ボクセル空間サブシステム1612は、データが経時的に収集されるとき、またはボクセル空間が対応する実世界環境内をナビゲートする自律車両に応答して、ボクセルマップを更新することができる。たとえば、ボクセル空間サブシステム1612は、自律車両が環境内をナビゲートするときに、ボクセルマップからデータを追加し、及び/またはデータを破棄することができる。
【0173】
いくつかの例では、ボクセル空間サブシステム1612は、ボクセルマップ、及びボクセルサイズ、方位、及びエクステントなどの他のボクセル空間パラメータを初期化することができ、初期のボクセルマップを空き空間を表すものとして扱い、ボクセル空間サブシステム1612は、LIDARデータが経時的に捕捉されるにつれて、オブジェクトの表現を構築することができる。他の例では、ボクセル空間サブシステム1612は、全体マップデータを使用してボクセルマップ及びボクセル空間パラメータを初期化することができ、これにより局所的に捕捉されたLIDARデータが、全体マップ空間内で自律車両を局所化するために使用され得、また全体マップのボクセルをクリーンアップまたはクリアするために使用され得る。
【0174】
地面判定サブシステム1614は、ボクセル空間内の環境に関連付けられている地面を判定するために、ボクセル空間の個々のボクセルを解析するための機能性を含み得る。たとえば、地面判定サブシステム1614は、特定のボクセルに関連付けられているデータを表す平面を推定すること、及びその平面の法線ベクトルを決定することによって、局所的に平坦なボクセルを判定し得る。たとえば、地面判定サブシステム1614は、ボクセルマップのボクセルに対して主成分分析を実行して、ボクセルに関連付けられているデータに関連付けられている最小の主成分を決定し得る。いくつかの例では、主成分分析のために、最小の固有ベクトルは、平面の法線ベクトルに対応し得、一方、固有ベクトルに関連付けられている固有値は、最小の固有ベクトルの方向における特定のボクセルに関連付けられているデータの拡散またはレベルに対応し得る。
【0175】
別の例として、限定されるものではないが、そのような表面法線決定は、ボクセル内の点PからPの最近傍のうちの2つへの方向を示すベクトルの外積の法線を算定することによって行ってもよい。別の例として、限定されるものではないが、そのような表面法線決定は、個々のボクセルに関連付けられている共分散行列に対して固有値分解を実行することによって行ってもよい。いくつかの例では、地面判定サブシステム1614は、隣接するボクセルに関連付けられている値に基づいてターゲットボクセルに関連付けられている表面を決定することによって、ターゲットボクセルが局所的に平坦なボクセルであるかどうかを判定し得る。さらに、いくつかの例では、地面判定サブシステム1614は、マーチングキューブタイプのアルゴリズムを利用して、ボクセルに関連付けられている平均点値に基づいてメッシュを作成し、少なくとも3つの点を含む三角形を決定して表面を作成し得る。さらに、地面判定サブシステム1614は、自律車両の方向または方位に対応し得る基準方位を受信し得る。地面判定サブシステム1614は、ボクセルに関連付けられている法線ベクトルが、上述したように基準方位の閾値量内にある場合、ボクセルが局所的に平坦なボクセルであることを決定し得る。
【0176】
クラスタリングサブシステム1616は、地面判定サブシステム1614と連携して動作し、おそらくメモリ内の地面領域の表現を拡張させることによって、LIDARデータの起点に最も近い表面から開始するか、または自律車両の下にある表面から開始して、地面領域を決定し得る。すなわち、自律車両に近接する実世界の位置に対応するボクセル空間内の位置にあるボクセルは、クラスタリングサブシステム1616によってシードボクセルとして使用され得、次いで、それらのシードボクセルからボクセルの表現を拡張することができる。クラスタリングサブシステム1616は、隣接する局所的に平坦なボクセルが同じクラスタに属することを決定し得、地面平面を包含するように領域を拡張させ得る。さらに、クラスタリングサブシステム1616は、以下で考察されるオブジェクト判定サブシステム1620と連携して動作して、クラスタ内のまたは他の場所のボクセルが特定のオブジェクトに関連付けられていることを決定し得る。クラスタリングサブシステム1616は、領域拡張(region growing)、階層的クラスタリング(hierarchical clustering)、分割クラスタリング(partitional clustering)、平方誤差クラスタリング(square error clustering)、グラフ理論クラスタリング(graph theoretic clustering)、混合‐分解クラスタリング(mixture-resolving clustering)、平均シーククラスタリング(mean-seeking clustering)、k平均クラスタリング(k-means clustering)、Nカットクラスタリング(N-cut clustering)、近接クラスタリング(proximity clustering)などを含むが、これらに限定されない、さまざまなクラスタリングアルゴリズムを利用してもよい。
【0177】
補間サブシステム1618は、地面判定サブシステム1614及び/またはクラスタリングサブシステム1616と連携して動作し、さまざまなクラスタを組み合わせるかまたは一緒に関連付けて、地面平面の表現を拡大し得る。たとえば、局所的に平坦なボクセルは、自律車両に関連付けられている地面領域を決定するときに単一のクラスタを形成しない場合があり、その場合、補間サブシステム1618は、点間を補間して、勾配が地面平面クラスタを拡張させるための閾値勾配を上回るかまたは下回るかを判定することができる。地面判定サブシステム1614、クラスタリングサブシステム1616、及び補間サブシステム1618の追加の態様は、これらのサブシステムを理解するために必要に応じて、本明細書の他の箇所で提供され得る。
【0178】
オブジェクト判定サブシステム1620は、ボクセルマップによってボクセル空間に表されるオブジェクトを判定するための機能性を含み得る。たとえば、オブジェクト判定サブシステム1620は、地面判定サブシステム1614から地面平面についての指示を受信し、及び/または局所的に平坦なボクセルのいくつかまたはすべてについての指示を受信することができ、ボクセルマップが他のボクセルの値のみを含むように、ボクセル空間から地面に関連付けられているボクセルを除去することができる。次に、オブジェクト判定サブシステム1620は、残りのボクセルを解析して、ボクセルの接続性に基づいてオブジェクトを判定し得る。たとえば、オブジェクト判定サブシステム1620は、クラスタリングサブシステム1616と連携して動作して、隣接するボクセルが同じオブジェクトの一部であるとみなされるべきであることを判定することによって、オブジェクトに対応するボクセル空間内の領域を拡張させることができる。オブジェクト判定サブシステム1620は、特定のオブジェクトに関連付けられているすべてのボクセルにオブジェクト識別子を割り当て得、いくつかの例では、オブジェクト判定サブシステム1620によって割り当てられるかまたは判定されたオブジェクト識別子は、特定のオブジェクトを含むボクセルに関連付けられているLIDARデータに伝搬され得る。オブジェクト、地面、クラスタなどに関する追加の情報は、ボクセルマップとともに、または個別のデータ構造として記憶され得る。オブジェクト判定サブシステム1620の追加の態様は、オブジェクト判定サブシステム1620を理解するために必要に応じて、本明細書の他の場所で提供され得る。
【0179】
動的オブジェクト判定サブシステム1622は、ボクセル空間に対応する空間に存在すると判定され得る静的オブジェクトと動的オブジェクトとを区別するための機能性を含み得る。たとえば、動的オブジェクト判定サブシステム1622は、データを経時的に蓄積して、第1の時間におけるボクセル値を第2の時間におけるボクセル値と比較して、ボクセルの占有が経時的に変化したかどうかを判定することによって、オブジェクトの動きを判定し得る。たとえば、第1の時間にオブジェクトによって占有されていたボクセルが、第2の時間にそのオブジェクトによって占有されていない場合、動的オブジェクト判定サブシステム1622は、そのオブジェクトを動的オブジェクトであるとみなし、その評価をボクセルマップデータとして記録し得る。どのボクセルが時間の経過とともに占有されるようになり、または占有されなくなるかに基づいて、動的オブジェクト判定サブシステム1622は、移動のスピード及び方向などの動的オブジェクトの移動を判定することができる。いくつかの例では、動的オブジェクト判定サブシステム1622は、動的オブジェクトからの移動を判定するための指示を提供することができる。動的オブジェクト判定サブシステム1622の追加の態様は、動的オブジェクト判定サブシステム1622を理解するために必要に応じて、本明細書の他の箇所で提供され得る。
【0180】
レイキャスティングサブシステム1624は、動的オブジェクト判定サブシステム1622と連携して動作して、静的オブジェクトと動的オブジェクトとの間を区別することができる。さらに、レイキャスティングサブシステム1624は、データがボクセルマップの表現に蓄積するにつれて、経時的にボクセルマップをクリアするための機能性を含み得る。たとえば、オブジェクトが経時的にボクセル空間全体を移動するにつれて、動的オブジェクトが占有するボクセルの表現には、経時的にますます多くのデータが含まれ得る。しかしながら、レイキャスティングサブシステム1624は、LIDARデータに関連付けられている光線の経路を分析して、たとえば、光線が内部を進行するいくつかのボクセルがクリアされたとみなされるべきであり、ボクセルマップ内の対応するストレージがクリアされるべきであることを判定し得る。したがって、レイキャスティングサブシステム1624は、第1の時間に占有されていたボクセルが第2の時間に占有されていないことを判定するための追加の機能性を提供してもよく、それは、たとえば、さまざまなモジュールに提供されて、オブジェクトが動的オブジェクトであることを判定し得る。いくつかの例では、ボクセルマップは、疎な方法(たとえば、占有されたボクセルを表すデータを提供し、占有されていないボクセルを無視する)または密な方法(たとえば、ボクセルの破棄を伴わない)で表され得る。いくつかの例では、レイキャスティングサブシステム1624は、密な方法でレイキャスティング情報を記憶してもよく、すなわち、疎なボクセル表現に存在しないボクセル(たとえば、ボクセルが関連するLIDARデータを有していないため)が、そのようなボクセルに関連付けられているレイキャスティング情報を有することができる。たとえば、関連するLIDARデータを有さないボクセルは、それでも、ボクセル空間のボクセルに関連付けられているレイキャスティング情報を含めるために、密なボクセルマップで表され得る。いくつかの例では、密なボクセル表現は、本明細書で考察されるレイキャスティング動作に少なくとも部分的に対応して、ボクセルが占有されていないという正の情報をボクセルに関連付けてもよい。さらに、LIDARデータは個々のボクセルに対して蓄積されるので、負の情報は、たとえば、それらが静的オブジェクトで占有されていることを示すために、ボクセルマップにおいて個々のボクセルに関連付けられてもよい。データは時間の経過とともに蓄積されるため、情報を部分的に集約して、たとえば、ボクセルが空き空間に対応するのか、または静的オブジェクトに対応するのかを判定することができる。さらに、レイキャスティングサブシステム1624を使用して、局所的に捕捉されたLIDARデータを全体マップデータと比較することによって、全体マップをクリーンアップすることができる。レイキャスティングサブシステム1624の追加の態様は、レイキャスティングサブシステム1624を理解するために必要に応じて、本明細書の他の箇所で提供され得る。
【0181】
追跡サブシステム1626は、1つ以上の動的オブジェクトの指示を受信し、オブジェクトを追跡するために追加の処理を実行するための機能性を含み得る。たとえば、追跡サブシステム1626は、動的オブジェクトの速度を決定することができ、及び/または動的オブジェクトの軌道を経時的に決定及び記憶し得る。いくつかの例では、追跡サブシステム1626は、オブジェクトの以前の動きに基づいて追跡されるオブジェクトの経路を予測し得る予測アルゴリズムを実行するようにプログラムされ得る。
【0182】
計画サブシステム1628は、自律車両の軌道を決定するために、セグメント化されたデータ及び/または地面平面、静的オブジェクト、及び/または動的オブジェクトの指示を受信するための機能性を含み得る。たとえば、計画サブシステム1628は、地面平面を識別するセグメント化情報を受信することができ、自律車両が追従する軌道を生成することができる。計画サブシステム1628及び/または動作システム1602の別のサブシステムは、計画サブシステム1628によって決定された軌道に対して1つまたはいくつかの検証を実行するために、上述したような衝突回避システムを含むかまたは実装し得る。
【0183】
センサ較正サブシステム1630は、環境に関して決定されたセグメント化情報に少なくとも部分的に基づいて、1つ以上のセンサを較正するための機能性を含み得る。たとえば、LIDARサブシステム1604、カメラサブシステム1606、レーダーサブシステム1608、及び/またはソナーサブシステム1610からのセンサデータは、(たとえば、(同時位置特定及びマッピング(SLAM)を使用して)、ロケーション及び/または方位を推定するために使用され得るが、自律車両はまた、環境における自律車両のロケーションを決定するための、慣性測定ユニット(IMU)及び/またはGPSユニットなどの追加のセンサも含み得る。いくつかの例では、IMUは、自律車両が第1のロケーションにあることを示し得、一方で、本明細書に記載されるLIDARデータの分析は、車両が第1のロケーションとは異なる第2のロケーションにあることを示し得る。センサ較正サブシステム1630は、ロケーションの差を決定し得、自律車両のロケーション、または1つ以上のセンサ固有特性もしくは外部特性を更新するために、もう1つのセンサを調整または較正し得る。
【0184】
注釈サブシステム1632は、本明細書で考察されるセグメント化情報を受信するための機能性を含み得、ボクセルマップとともにデータとしてまたは他の方法で記憶されたオブジェクトに関連付けられている情報で、地面平面、静的オブジェクト、及び/または動的オブジェクトに注釈を付け得る。いくつかの例では、注釈サブシステム1632は、たとえば、技術者による手動の確認及び/または調整のために、グラフィカルユーザインターフェースでセグメント化情報を提供し得る。いくつかの例では、注釈サブシステム1632は、本明細書で考察されるオブジェクトの分類を決定及び適用するための機能性を含み得る。注釈サブシステム1632は、セグメント化及び分類の動作を実行するために、ニューラルネットワークプロセスなどの機械学習アルゴリズムを実行するようにプログラムされ得る。
【0185】
例示的なニューラルネットワークは、出力を生成するために一連の接続された層を通じて入力データを渡し得る。ニューラルネットワークの一例は、畳み込みニューラルネットワーク(CNN)を含み得る。CNNの各層はまた、別のCNNを含み得るか、またはいくつかの層を含み得る。本開示の文脈で理解され得るように、ニューラルネットワークは機械学習を利用することができ、これは、学習されたパラメータに基づいて出力が生成される、そのようなアルゴリズムの広いクラスを指すことができる。
【0186】
ニューラルネットワークの文脈で考察されているが、本開示に一致する任意のタイプの機械学習が使用されもよい。たとえば、機械学習アルゴリズムは、回帰アルゴリズム(たとえば、通常の最小二乗回帰(OLSR)、線形回帰、ロジスティック回帰、ステップワイズ回帰、多変量適応型回帰スプライン(MARS)、局所的に推定された散布図平滑化(LOESS))、インスタンスベースのアルゴリズム(たとえば、リッジ回帰、最小絶対収縮及び選択演算子(LASSO)、弾性ネット、最小角回帰(LARS))、決定木アルゴリズム(たとえば、分類回帰木(CART)、反復二分法3(ID3)、カイ二乗自動相互作用検出(CHAID)、決定株、条件付き決定木)、ベイジアンアルゴリズム(たとえば、ナイーブベイズ、ガウシアンナイーブベイズ、多項ナイーブベイズ、平均一依存エスティメータ(AODE)、ベイジアン信念ネットワーク(BNN)、ベイジアンネットワーク)、クラスタリングアルゴリズム(たとえば、k平均法、kメジアン法、期待値最大化(EM)、階層的クラスタリング)、相関ルール学習アルゴリズム(たとえば、パーセプトロン、バックプロパゲーション、ホップフィールドネットワーク、放射基底関数ネットワーク(RBFN))、深層学習アルゴリズム(たとえば、深層ボルツマンマシン(DBM)、深層信念ネットワーク(DBN)、畳み込みニューラルネットワーク(CNN)、積層オートエンコーダ)、次元削減アルゴリズム(たとえば、主成分分析(PCA)、主成分回帰(PCR)、部分最小二乗回帰(PLSR)、サモンマッピング、多次元スケーリング(MDS)、射影追跡、線形判別分析(LDA)、混合判別分析(MDA)、二次判別分析(QDA)、柔軟判別分析(FDA))、アンサンブルアルゴリズム(たとえば、ブースティング、ブートストラップ集計(バギング)、アダブースト、スタック汎化(ブレンディング)勾配ブースティングマシン(GBM)、勾配ブースト会機器(GBRT)、ランダムフォレスト)、SVM(サポートベクターマシン)、教師あり学習、教師なし学習、半教師あり学習などを含み得るが、これらに限定されない。
【0187】
図16に示される環境は、ストレージ、1つ以上のプロセッサ(複数可)、メモリ、及び場合によっては、オペレーティングシステムを含む1つ以上のコンピュータシステムで実装され得る。
【0188】
本明細書に記載されるシステム及び方法は、ソフトウェアもしくはハードウェア、またはこれらの任意の組み合わせで実装され得る。本明細書に記載されるシステム及び方法は、互いに物理的または論理的に分離していてもしていなくてもよい1つ以上のコンピューティングデバイスを使用して実装され得る。方法は、オンプレミスハードウェア、オンプレミス仮想システム、またはホストされたプライベートインスタンスのいずれかとして配置された構成要素によって実行することができる。さらに、本明細書に記載される方法のさまざまな態様を組み合わせるか、または他の機能に統合することができる。
【0189】
システム及び方法を実装するための例示的な環境及びコンピュータ化されたシステムは、プロセッサまたはコンピュータシステムを含み得、本明細書に記載される方法のいくつかまたはすべてを特に実行するように構成され得る。いくつかの実施形態では、方法は、1つ以上のコンピュータまたはプロセッサによって部分的または完全に自動化することができる。本明細書に記載されるシステム及び方法は、ハードウェア、ファームウェア、及び/またはソフトウェアのいずれかの組み合わせを使用して実装することができる。本明細書に記載される本システム及び方法(またはその任意の部分(複数可)もしくは機能(複数可))は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせを使用して実装することができ、1つ以上のコンピュータシステムまたは他の処理システムに実装することができる。いくつかの実施形態では、図示されたシステム要素は、単一のハードウェアデバイスに組み合わされるか、または複数のハードウェアデバイスに分離され得る。複数のハードウェアデバイスを使用する場合、ハードウェアデバイスは物理的に互いに近接するか、または互いから離れて位置付けられ得る。説明及び図示された方法の実施形態は、例示を意図するものであり、限定を意図するものではない。たとえば、方法のステップのいくつかまたはすべてを、異なる実施形態において組み合わせ、再配置し、及び/または省略することができる。
【0190】
1つの例示的な実施形態では、本明細書に記載されるシステム及び方法は、本明細書に記載される機能性を実行することができる1つ以上のコンピュータシステムを対象とし得る。例示的なコンピューティングデバイスは、OS X(登録商標)、iOS(登録商標)、Linux(登録商標)、Android(登録商標)、及びMicrosoft(登録商標)、Windows(登録商標)などの、ただしこれらに限定されない、任意のオペレーティングシステムを動作させる、パーソナルコンピュータ(PC)システムであり得るが、これらに限定されない。しかしながら、本明細書に記載されるシステム及び方法は、これらのプラットフォームに限定されなくてもよい。代わりに、本明細書に記載されるシステム及び方法は、任意の適切なオペレーティングシステムを動作させる任意の適切なコンピュータシステム上に実装されてもよい。
【0191】
システムは、1つ以上のプロセッサを含み得る。プロセッサは、通信バス、クロスオーバーバー、またはネットワークなどの、ただしこれらに限定されない、通信インフラストラクチャに接続され得る。プロセス及びプロセッサは、同じ物理的ロケーションに位置付けられなくてもよい。言い換えると、プロセスは、たとえば、LANまたはWAN接続を介して、1つ以上の地理的に離れたプロセッサにおいて実行され得る。コンピューティングデバイスは、ディスプレイユニット上での表示のために、グラフィックス、テキスト、及び他のデータを通信インフラストラクチャから転送することができる、ディスプレイインターフェースを含み得る。
【0192】
コンピュータシステムはまた、メインメモリ、ランダムアクセスメモリ(RAM)、及び二次メモリなどを含み得るが、これらに限定されない。二次メモリは、たとえば、ハードディスクドライブ、及び/またはコンパクトディスクドライブCD-ROMなどのリムーバブル記憶ドライブなどを含み得る。リムーバブル記憶ドライブは、リムーバブル記憶ユニットから読み取ることができ、及び/またはリムーバブル記憶ユニットに書き込むことができる。理解され得るように、リムーバブル記憶ユニットは、コンピュータソフトウェア及び/またはデータを内部に記憶した、コンピュータ使用可能記憶媒体を含み得る。いくつかの実施形態では、マシンアクセス可能媒体は、コンピュータによってアクセス可能なデータを記憶するために使用される任意の記憶デバイスを指すことができる。マシンアクセス可能媒体の例は、たとえば、磁気ハードディスク、フロッピーディスク、コンパクトディスクリードオンリメモリ(CD-ROM)もしくはデジタル多用途ディスク(DVD)などの光ディスク、磁気テープ、及び/またはメモリチップなどを含み得るが、これらに限定されない。
【0193】
プロセッサはまた、データを記憶するための1つ以上のデータ記憶デバイスも含み得、またはそれらと通信するように動作可能に結合され得る。そのようなデータ記憶デバイスは、非限定的な例として、(内蔵ハードディスク及びリムーバブルディスクを含む)磁気ディスク、光磁気ディスク、光ディスク、リードオンリーメモリ、ランダムアクセスメモリ、及び/またはフラッシュストレージを含み得る。コンピュータプログラム命令及びデータを有形的に具体化するのに適した記憶デバイスはまた、たとえば、EPROM、EEPROM、及びフラッシュメモリデバイスなどの半導体メモリデバイス、内部ハードディスク及びリムーバブルディスクなどの磁気ディスク、磁気-光ディスク、並びにCD-ROM及びDVD-ROMディスクを含む、すべての形態の不揮発性メモリも含み得る。プロセッサ及びメモリは、ASIC(特定用途向け集積回路)によって補完され得るか、またはASICに組み込まれ得る。
【0194】
処理システムは、コンピュータ化されたデータ記憶システムと通信することができる。データ記憶システムは、非リレーショナルデータストア、またはMySQL(登録商標)もしくは他のリレーショナルデータベースなどのリレーショナルデータストアを含み得る。他の物理的及び論理的データベースタイプが使用され得る。データストアは、Microsoft SQL Server(登録商標)、Oracle(登録商標)、IBM DB2(登録商標)、SQLITE(登録商標)、またはリレーショナルもしくは他の方法の任意の他のデータベースソフトウェアなどの、データベースサーバであり得る。データストアは、構文タグを識別する情報、及び構文タグを演算するのに必要とされる任意の情報を記憶することができる。いくつかの実施形態では、処理システムは、オブジェクト指向プログラミングを使用することができ、データをオブジェクト内に記憶することができる。これらの実施形態では、処理システムは、オブジェクトリレーショナルマッパー(ORM)を使用して、データオブジェクトをリレーショナルデータベースに記憶することができる。本明細書に記載されるシステム及び方法は、任意の数の物理データモデルを使用して実装することができる。例示的な一実施形態では、リレーショナルデータベース管理システム(RDBMS)が使用され得る。これらの実施形態では、RDBMS内のテーブルは、座標を表す列を含み得る。経済的システムの場合、会社、製品などを表すデータが、RDBMS内のテーブルに記憶され得る。テーブルは、それらの間の事前定義された関係を有し得る。テーブルはまた、座標に関連付けられた付加物も有し得る。
【0195】
例示的な代替実施形態では、二次メモリは、コンピュータプログラムまたは他の命令が、コンピュータシステムにロードされることを可能にするための、他の類似のデバイスを含み得る。そのようなデバイスは、たとえば、リムーバブル記憶ユニット及びインターフェースを含み得る。そのようなものの例は、(たとえば、ビデオゲームデバイスに見出されるものなどの、ただしこれらに限定されない)プログラムカートリッジ及びカートリッジインターフェース、(たとえば、消去可能プログラマブルリードオンリーメモリ(EPROM)、またはプログラマブルリードオンリーメモリ(PROM)、及び関連するソケットなどの、ただしこれらに限定されない)リムーバブルメモリチップ、ならびにソフトウェア及びデータがリムーバブル記憶ユニットからコンピュータシステムに転送されることを可能にし得る、他のリムーバブル記憶ユニット及びインターフェースを含み得る。
【0196】
コンピューティングデバイスはまた、マイクロフォンなどの音声入力デバイス、タッチスクリーン、カメラなどのジェスチャ認識デバイス、他の自然なユーザインターフェース、マウス、またはデジタイザなどの他のポインティングデバイス、キーボード、または他のデータ入力デバイスなどの、ただしこれらに限定されない、入力デバイスも含み得る。コンピューティングデバイスはまた、ディスプレイ、及びディスプレイインターフェースなどの、ただしこれらに限定されない、出力デバイスも含み得る。コンピューティングデバイスは、通信インターフェース、ケーブル、及び通信経路などの、ただしこれらに限定されない、入力/出力(I/O)デバイスを含み得る。これらのデバイスは、ネットワークインターフェースカード、及びモデムを含むが、これらに限定されない。通信インターフェース(複数可)は、ソフトウェア及びデータがコンピュータシステムと1つ以上の外部デバイスとの間で転送されることを可能にし得る。
【0197】
1つ以上の実施形態では、コンピューティングデバイスは、自動車システムに動作可能に結合され得る。そのような自動車システムは、手動で動作させられてもよく、半自律的であってもよく、または完全に自律的であってもよい。そのような実施形態では、入力及び出力デバイスは、加速、制動、及びステアリングなどの、ただしこれらに限定されない、自動車機能を制御するための、1つ以上の画像捕捉デバイス、コントローラ、マイクロコントローラ、及び/または他のプロセッサを含み得る。さらに、そのような実施形態における通信インフラストラクチャまた、コントローラエリアネットワーク(CAN)バスも含み得る。
【0198】
1つ以上の実施形態では、コンピューティングデバイスは、任意の機械に基づく視覚システムに動作可能に結合され得る。たとえば、そのようなマシンに基づくビジョンシステムは、手動で動作させられる、半自律的な、または完全に自律的な産業用または農業用ロボット、家庭用ロボット、検査システム、セキュリティシステムなどを含むが、これらに限定されない。すなわち、本明細書に記載される実施形態は、1つの特定の状況に限定されず、マシンビジョンを利用する任意の用途に適用可能であり得る。
【0199】
1つ以上の実施形態では、本実施形態は、1つ以上のコンピュータネットワーク(単数または複数)の環境において実践することができる。ネットワークは、プライベートネットワーク、もしくはパブリックネットワーク(たとえば、以下に記載されるような、インターネット)、または両方の組み合わせを含み得る。ネットワークは、ハードウェア、ソフトウェア、または両方の組み合わせを含み得る。
【0200】
リモート通信指向の観点からは、ネットワークは、通信施設によって相互接続されたハードウェアノードのセットとして説明することができ、1つ以上のプロセス(ハードウェア、ソフトウェア、またはこれらの組み合わせ)が、そのような各ノードにおいて機能する。プロセスは、プロセス間通信経路を使用する、それらの間の通信経路を介して、互いに情報を相互通信し、交換することができる。これらの経路上では、適切な通信プロトコルが使用される。
【0201】
本実施形態に従った例示的なコンピュータ及び/またはリモート通信ネットワーク環境は、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアとの組み合わせを含み得るノードを含み得る。ノードは、通信ネットワークを介して相互接続され得る。各ノードは、ノードに組み込まれたプロセッサによって実行可能な1つ以上のプロセスを含み得る。たとえば、単一のプロセスが、複数のプロセッサによって実行され得るか、または複数のプロセスが、単一のプロセッサによって実行され得る。さらに、ノードの各々は、ネットワークと外部世界との間のインターフェース点を提供することができ、サブネットワークの集合を含むことができる。
【0202】
例示的な実施形態では、プロセスは、任意の通信プロトコルを通して通信をサポートするプロセス間通信経路を通して、互いに通信し得る。経路は、順次的または並列的に、連続的または断続的に機能し得る。経路は、多くのコンピュータによって使用される標準的な並列命令セットに加えて、通信ネットワークに関して本明細書に記載される、通信規格、プロトコル、または技術のいずれかを使用することができる。
【0203】
ノードは、処理機能を実行することができる任意のエンティティを含み得る。実施形態とともに使用され得るそのようなノードの例は、コンピュータ(パーソナルコンピュータ、ワークステーション、サーバ、もしくはメインフレームなど)、ハンドヘルド無線デバイス及び有線デバイス(パーソナルデジタルアシスタント(PDA)、処理能力を有するモデムセルフォン、BlackBerry(登録商標)デバイスを含む無線電子メールデバイスなど)、文書処理デバイス(スキャナ、プリンタ、ファクシミリマシン、もしくは多機能文書マシンなど)、または記載されたように、プロセッサの集合が接続される複合エンティティ(ローカルエリアネットワークもしくはワイドエリアネットワークなど)を含む。たとえば、本開示との関連において、ノード自体が、ワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、プライベートネットワーク(仮想プライベートネットワーク(VPN)など)、またはネットワークの集合とすることができる。
【0204】
ノード間の通信は、通信ネットワークによって可能にされ得る。ノードは、通信ネットワークを用いて、連続的または断続的のいずれかで接続され得る。例として、本開示の文脈おいて、通信ネットワークは、適切な帯域幅及び情報セキュリティを提供する、デジタル通信インフラストラクチャとすることができる。
【0205】
通信ネットワークは、任意のタイプの規格、プロトコル、または技術を使用する、任意の周波数における、有線通信能力、無線通信能力、または両方の組み合わせを含むことができる。さらに、本実施形態では、通信ネットワークは、プライベートネットワーク(たとえば、VPN)、またはパブリックネットワーク(たとえば、インターネット)とすることができる。
【0206】
通信ネットワークによって使用される例示的な無線プロトコル及び技術の非包括的リストは、Bluetooth(登録商標)、汎用パケット無線サービス(GPRS)、セルラーデジタルパケットデータ(CDPD)、モバイルソリューションプラットフォーム(MSP)、マルチメディアメッセージング(MMS)、無線アプリケーションプロトコル(WAP)、符号分割多元接続(CDMA)、ショートメッセージサービス(SMS)、無線マークアップ言語(WML)、ハンドヘルドデバイスマークアップ言語(HDML)、無線用バイナリランタイム環境(BREW)、無線アクセスネットワーク(RAN)、及びパケット交換コアネットワーク(PS-CN)を含み得る。また、さまざまな世代の無線技術が含まれる。通信ネットワークによって使用される主に無線プロトコル及び技術の例示的な非包括的リストは、非同期転送モード(ATM)、拡張内部ゲートウェイルーティングプロトコル(EIGRP)、フレームリレー(FR)、高レベルデータリンク制御(HDLC)、インターネット制御メッセージプロトコル(ICMP)、内部ゲートウェイルーティングプロトコル(IGRP)、ネットワーク間パケット交換(IPX)、ISDN、ポイントツーポイントプロトコル(PPP)、伝送制御プロトコル/インターネットプロトコル(TCP/IP)、ルーティング情報プロトコル(RIP)、及びユーザデータグラムプロトコル(UDP)を含む。当業者が認識するように、他の任意の知られた、または予想される無線または有線プロトコル及び技術を使用することができる。
【0207】
本開示の実施形態は、本明細書における動作を実行するための装置を含み得る。装置は、所望の目的のために特別に構築されてよく、またはそれは、デバイス内に記憶されたプログラムによって選択的にアクティブ化または再構成される、汎用デバイスを備え得る。
【0208】
1つ以上の実施形態では、本実施形態は、マシン実行可能命令で具体化される。命令は、命令を用いてプログラムされる処理デバイス、たとえば、汎用または専用プロセッサに、本開示のステップを実行させるために使用され得る。あるいは、本開示のステップは、ステップを実行するための配線論理を含む特定のハードウェア構成要素によって、またはプログラムされたコンピュータ構成要素とカスタムハードウェア構成要素との任意の組み合わせによって実行することができる。たとえば、本開示は、上で概説されたような、コンピュータプログラム製品として、提供され得る。この環境では、実施形態は、命令が内部に記憶されたマシン可読媒体を含むことができる。命令は、例示的な本実施形態に従って、プロセスまたは方法を実行するように、任意のプロセッサ(単数もしくは複数)(または他の電子デバイス)をプログラムするために、使用され得る。さらに、本開示はまた、ダウンロードされ、コンピュータプログラム製品上に記憶され得る。ここでは、プログラムは、通信リンク(たとえば、モデムまたはネットワーク接続)を介して、搬送波または他の伝搬媒体内に具体化されたデータ信号により、リモートコンピュータ(たとえば、サーバ)から要求コンピュータ(たとえば、クライアント)に転送することができ、最終的に、そのような信号は、後続の実行のために、コンピュータシステム上に記憶されてもよい。
【0209】
方法は、コンピュータまたは任意の命令実行システムによる使用のために、またはそれらとの関連において、プログラムコードを提供する、コンピュータ使用可能または可読記憶媒体からアクセス可能な、コンピュータプログラム製品において実装することができる。コンピュータ使用可能または可読記憶媒体は、コンピュータ、もしくは命令実行システム、装置、もしくはデバイスによる使用のために、またはそれらとの関連において、プログラムを含むかまたは記憶することができる、任意の装置とすることができる。
【0210】
対応するプログラムコードを記憶及び/または実行するのに適したデータ処理システムは、メモリ要素などのコンピュータ化されたデータ記憶デバイスに直接的または間接的に結合された、少なくとも1つのプロセッサを含むことができる。入力/出力(I/O)デバイス(キーボード、ディスプレイ、ポインティングデバイスなどを含むが、これらに限定されない)をシステムに結合することができる。データ処理システムが、介在するプライベートまたはパブリックネットワークを通して、他のデータ処理システム、またはリモートプリンタもしくは記憶デバイスに結合されることを可能にするために、ネットワークアダプタもシステムに結合されてもよい。ユーザとの相互作用を提供するために、これらの機能を、LCD(液晶ディスプレイ)などの表示デバイス、または情報をユーザに表示するための別のタイプのモニタ、ならびにユーザが入力をコンピュータに提供することができる、キーボード、及びマウスまたはトラックボールなどの入力デバイスを備えるコンピュータ上において実装することができる。
【0211】
コンピュータプログラムは、コンピュータにおいて直接的または間接的に使用することができる命令のセットとすることができる。本明細書に記載されるシステム及び方法は、コンパイル言語またはインタープリタ言語を含む、CUDA、OpenCL、Flash(登録商標)、JAVA(登録商標)、C++、C、C#、Python、Visual Basic(登録商標)、JavaScript(登録商標)、PHP、XML、HTMLなどのプログラミング言語、またはプログラミング言語の組み合わせを使用して実装することができ、スタンドアロンプログラムとして、またはコンピューティング環境における使用に適したサブシステム、構成要素、サブルーチン、もしくは他のユニットとして、任意の形態で展開することができる。ソフトウェアは、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むことができるが、これらに限定されない。プログラミングサブシステム間のインターフェースを実装する際に、SOAP/HTTPなどのプロトコルが使用され得る。本明細書に記載される構成要素及び機能性は、仮想化または非仮想化環境において実行される、Microsoft Windows(登録商標)、Apple(登録商標) Mac(登録商標)、iOS(登録商標)、Unix(登録商標)/X-Windows(登録商標)、Linux(登録商標)の異なるバージョンを含むが、これらに限定されない、任意のデスクトップオペレーティングシステム上において、ソフトウェア開発に適した任意のプログラミング言語を使用して実装され得る。システムは、ルビーオンレイルズなどの、ウェブアプリケーションフレームワークを使用して実装することができる。
【0212】
命令からなるプログラムの実行に適したプロセッサは、任意の種類のコンピュータの、汎用及び専用マイクロプロセッサ、ならびに単独のプロセッサ、または複数のプロセッサもしくはコアのうちの1つを含むが、これらに限定されない。プロセッサは、リードオンリーメモリ、ランダムアクセスメモリ、両方、または本明細書に記載されるデータ記憶デバイスの任意の組み合わせなどの、コンピュータ化されたデータ記憶デバイスから、命令及びデータを受信し、記憶し得る。プロセッサは、電子デバイスの動作及び実行を制御するように動作する、任意の処理回路または制御回路を含み得る。
【0213】
本明細書に記載されるシステム、サブシステム、及び方法は、ソフトウェア要素またはハードウェア要素の任意の組み合わせを使用して実装することができる。本明細書に記載されるシステム、サブシステム、及び方法は、単独で、または互いに組み合わさって動作する、1つ以上の仮想マシンを使用して実装することができる。物理的コンピューティングマシンプラットフォームを、ハードウェアコンピューティングプラットフォームまたはホスト上で動作する仮想化ソフトウェアの制御下で実行される仮想マシンにカプセル化するために、任意の適用可能な仮想化ソリューションを使用することができる。仮想マシンは、仮想システムハードウェアとゲストオペレーティングシステムソフトウェアとの両方を有することができる。
【0214】
本明細書に記載されるシステム及び方法は、データサーバなどのバックエンド構成要素を含む、またはアプリケーションサーバもしくはインターネットサーバなどのミドルウェア構成要素を含む、またはグラフィカルユーザインターフェースもしくはインターネットブラウザを有するクライアントコンピュータなどのフロントエンド構成要素を含む、またはそれらの任意の組み合わせを含む、コンピュータシステムにおいて実装することができる。システムの構成要素は、通信ネットワークなど、デジタルデータ通信の任意の形態または媒体によって接続され得る。通信ネットワークの例は、たとえば、LAN、WAN、ならびにインターネットを形成するコンピュータ及びネットワークを含む。
【0215】
本開示の1つ以上の実施形態は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベースまたはプログラマブル家電製品、ミニコンピュータ、メインフレームコンピュータなどを含む、他のコンピュータシステム構成を用いて実践され得る。本明細書に記載されるシステム及び方法はまた、ネットワークを通してリンクされたリモート処理デバイスによってタスクが実行される、分散コンピューティング環境においても実践することができる。
【0216】
「コンピュータプログラム媒体」及び「コンピュータ可読媒体」という用語は、リムーバブル記憶ドライブ、ハードディスクドライブ内に設置されたハードディスクなどの、ただしこれらに限定されない媒体を一般に指すために使用され得る。これらのコンピュータプログラム製品は、ソフトウェアをコンピュータシステムに提供し得る。本明細書に記載されるシステム及び方法は、そのようなコンピュータプログラム製品を対象とし得る。
【0217】
「一実施形態」、「実施形態」、「例示的な実施形態」、「さまざまな実施形態」などに対する言及は、本開示の実施形態(複数可)が、特定の特徴、構造、または特性を含み得るが、あらゆる実施形態が、特定の特徴、構造、または特性を必ずしも含むわけではないことを示すことがある。さらに、「一実施形態では」または「例示的な実施形態では」という句の繰り返される使用は、同じ実施形態を必ずしも指しているわけではないが、同じ実施形態を指すことがある。同様に、「例」に対する言及は、本開示のさまざまな例(複数可)が、特定の特徴、構造、または特性を含み得るが、あらゆる例が、特定の特徴、構造、または特性を必ずしも含むわけではないことを示すことがある。さらに、「いくつかの例では」という句の繰り返される使用は、同じ例を必ずしも指しているわけではないが、同じ例を指すことがある。
【0218】
説明及び特許請求の範囲において、「結合される」及び「接続される」という用語が、それらの派生形とともに使用され得る。これらの用語は、互いに同義語として意図されていなくてよいことが理解されるべきである。むしろ、特定の実施形態では、「接続される」は、2つ以上の要素が、互いに物理的または電気的に直接接触していることを示すために使用され得る。「結合される」は、2つ以上の要素が、物理的または電気的に直接接触していることを意味することがある。しかしながら、「結合される」は、2つ以上の要素が、互いに直接接触しておらず、それでもなお、互いに協力するか、または相互作用することを意味することがある。
【0219】
ここでは、また一般に、アルゴリズムは、所望の結果にいたる、行為または動作の自己矛盾のないシーケンスであるとみなされてもよい。これらは、物理量の物理的動作を含む。必ずではないが、通常、これらの量は、記憶され、転送され、組み合わされ、比較され、他の方法で動作されることが可能な、電気または磁気信号の形態をとる。主として、共通使用の理由で、これらの信号を、ビット、値、要素、シンボル、文字、項、または数などと呼ぶことが、時には便利であることが分かっている。しかしながら、これら及び類似の用語のすべては、適切な物理量と関連付けられるべきであり、これらの量に適用される便利なラベルにすぎないことが、理解されるべきである。
【0220】
特に別段の指摘がない限り、本明細書全体において、「処理する」、「計算する」、「算定する」、または「決定する」などの用語は、コンピューティングシステムのレジスタ及び/またはメモリ内の電子的などの物理量として表されるデータを、コンピュータシステムのメモリ、レジスタ、または他のそのような情報記憶、伝送、もしくは表示デバイス内の物理量として同様に表される他のデータに操作及び/または変換する、コンピュータもしくはコンピューティングシステム、または類似の電子コンピューティングデバイスの、アクション及び/またはプロセスを指すことが、理解されてよい。
【0221】
同様の方式で、「プロセッサ」という用語は、レジスタ及び/またはメモリからの電子データを処理して、その電子データを、レジスタ及び/またはメモリ内に記憶され得る他の電子データに変換する、任意のデバイス、またはデバイスの一部分を指してもよい。非限定的な例として、「プロセッサ」は、中央処理ユニット(CPU)、またはグラフィカル処理ユニット(GPU)であり得る。「コンピューティングプラットフォーム」は、1つ以上のプロセッサを備え得る。本明細書で使用されるとき、「ソフトウェア」プロセスは、たとえば、タスク、スレッド、及びインテリジェントエージェントなどの、経時的に作業を実行するソフトウェアエンティティ及び/またはハードウェアエンティティを含み得る。また、各プロセスは、命令を順次的または並列的、連続的または断続的に実施するための、複数のプロセスを指し得る。「システム」及び「方法」という用語は、システムが1つ以上の方法を具体化されてもよく、方法がシステムとみなされてもよい限り、本明細書において交換可能に使用される。
【0222】
1つ以上の実施形態が説明されたが、それらのさまざまな改変、追加、置換、及び均等物が、本開示の範囲内に含まれる。
【0223】
実施形態の説明において、それの一部を形成する添付の図面に対する参照が行われ、それは、特許請求される発明の特定の実施形態を例示として示している。他の実施形態が使用されてよく、構造的変更などの変更または改変が行われ得ることが理解されるべきである。そのような実施形態、変更または改変は、意図された特許請求される発明に関する範囲からの逸脱であるとは限らない。ステップは、本明細書では、ある特定の順序で提示され得るが、いくつかの場合には、順序付けは、ある特定の入力が、説明されるシステム及び方法の機能を変更することなく、異なる時間にまたは異なる順序で提供されるように変更されてもよい。開示される手順もまた、異なる順序で実行され得る。さらに、本明細書におけるさまざまな計算は、開示された順序で実行される必要はなく、計算の代替的な順序付けを使用する他の実施形態が容易に実装され得る。並べ替えられることに加えて、計算は、同じ結果を有する部分計算に分解されてもよい。
【0224】
上の考察は、説明される技術の例示的な実装について説明するが、他のアーキテクチャが、説明される機能性を実装するために使用されてよく、それは、本開示の範囲内にあることが意図されている。さらに、考察の目的で上記では、責務の特定の分配が定義されたが、さまざまな機能及び責務は、状況に応じて、異なる方法で、分配され、分割されてよい。
【0225】
さらに本主題は、構造的特徴及び/または方法論的行為に特有の言語で説明されてきたが、添付の特許請求の範囲で定義される本主題が必ずしも説明した特定の特徴または行為に限定されないことを理解されたい。むしろ、特定の特徴及び行為は、特許請求の範囲を実施する例示的形態として開示される。
【0226】
実施例の条項
【0227】
本開示の実施形態は、以下の条項を考慮して説明され得る。
【0228】
軌道確認のためのシステム及び方法
1.衝突回避システムであって、
1つ以上のプロセッサと、命令を記憶するメモリと、を備え、前記命令が、前記1つ以上のプロセッサによって実行されたときに、前記システムに、自律車両を環境を通してナビゲートするための軌道を受信することと、陳腐化の妥当性として、前記軌道が作成された第1の時間と現在の時間との間の第1の時間的差が第1の時間閾値を満たすかどうかを判定することと、定時性の妥当性として、前記軌道が受信された第2の時間と以前の軌道が受信された第3の時間との間の第2の時間的差が第2の時間閾値を満たすかどうかを判定することと、実現可能性の妥当性として、前記軌道が前記自律車両によって実行され得るかどうかを判定することと、前記陳腐化の妥当性、前記定時性の妥当性、または運動学的妥当性のうちの1つ以上に少なくとも部分的に基づいて、妥当性信号を生成することと、前記妥当性信号に少なくとも部分的に基づいて、前記軌道に従って前記自律車両を制御することと、を含む動作を実行させる、前記衝突回避システム。
【0229】
2.前記動作が、前記自律車両の現在の状態を受信することと、前記軌道に少なくとも部分的に基づいて、前記自律車両の潜在的状態を決定することと、前記自律車両が、前記現在の状態に少なくとも部分的に基づいて、前記潜在的状態に移動することができるかどうかを判定することと、をさらに含む、条項1に記載のシステム。
【0230】
3.前記自律車両の前記現在の状態が、第1の位置、第1の方位、第1のヨーレート、または第1の速度のうちの1つ以上を含み、前記自律車両の前記潜在的状態が、第2の位置、第2の方位、第2のヨーレート、または第2の速度のうちの1つ以上を含み、前記現在の状態に少なくとも部分的に基づいて、前記自律車両が前記潜在的状態に移動することができるかどうかを判定することは、前記自律車両が前記現在の状態から前記潜在的状態に進行するための少なくとも1つの方向における加速度または減速度のうちの少なくとも1つを決定することと、前記少なくとも1つの方向における前記加速度または前記減速度のうちの少なくとも1つが、対応する実現可能性加速度または減速度の閾値を満たすかどうかを判定することと、をさらに含む、条項2に記載のシステム。
【0231】
4.前記動作が、前記自律車両を前記環境を通してナビゲートするための第2の軌道を受信することであって、前記第2の軌道が、前記軌道の代替である、前記受信することと、前記第2の軌道が作成された第4の時間と前記現在の時間との間の第3の時間的差を決定することと、前記第2の軌道が受信された第5の時間と前記以前の軌道が受信された前記第3の時間との間の第4の時間的差を決定することと、第2の運動学的妥当性として、前記第2の軌道が前記自律車両によって実行され得るかどうかを判定することと、前記第3の時間的差、前記第4の時間的差、または前記第2の運動学的妥当性のうちの1つ以上に少なくとも部分的に基づいて、第2の妥当性信号を生成することと、前記妥当性信号及び前記第2の妥当性信号に基づいて、少なくとも前記軌道及び前記第2の軌道からもたらされる軌道を決定することと、前記もたらされる軌道に従って前記自律車両を制御することと、をさらに含む、条項1~3のいずれか1つに記載のシステム。
【0232】
5.前記もたらされる軌道を決定することが、少なくとも前記軌道、前記第2の軌道、及び前記記憶された軌道から前記もたらされる軌道を決定することを含み、前記記憶された軌道が、第3の妥当性値に関連付けられおり、前記もたらされる軌道を選択することが、前記妥当性信号、前記第2の妥当性信号、及び前記第3の妥当性信号に基づいている、条項1~4のいずれか1つに記載のシステム。
【0233】
6.方法であって、デバイスをナビゲートするための軌道を受信することと、一貫性の妥当性として、前記軌道が前記デバイスの現在の状態と合致しているかどうか、運動学的妥当性として、前記軌道が前記デバイスによって実行され得るどうか、または定時性の妥当性として、前記軌道が時間閾値内に受信されたかどうか、のうちの少なくとも1つを判定することと、前記一貫性の妥当性、前記運動学的妥当性、または前記定時性の妥当性のうちの1つ以上に少なくとも部分的に基づいて、妥当性信号を生成することと、前記妥当性信号に少なくとも部分的に基づいて、前記軌道に従って前記デバイスを制御することと、を含む、前記方法。
【0234】
7.前記軌道が作成された時間と現在の時間との間の時間的差を決定することと、前記時間的差が時間的閾値を満たすかどうかに基づいて、陳腐化の妥当性を決定することをさらに含み、前記妥当性信号を生成することがさらに、前記陳腐化の妥当性に少なくとも部分的に基づいている、条項6に記載の方法。
【0235】
8.前記一貫性の妥当性を判定することが、前記軌道上への前記デバイスの投影を生成することと、前記デバイスの前記現在の状態と前記投影とを比較して、投影データを生成することと、前記投影データが少なくとも1つの偏差閾値を満たすかどうかに基づいて、前記一貫性の妥当性を判定することと、をさらに含む、条項6または7に記載の方法。
【0236】
9.前記一貫性の妥当性を判定することが、前記軌道上に前記デバイスの投影を生成することと、前記デバイスの前記現在の状態と前記投影との間の少なくとも1つの物理的差を決定することであって、前記少なくとも1つの物理的差が距離を含む、前記判定することと、前記少なくとも1つの物理的差が少なくとも1つの偏差閾値を満たすかどうかに基づいて、前記一貫性の妥当性を判定することと、をさらに含む、条項6~8のいずれか1つに記載の方法。
【0237】
10.前記運動学的妥当性として、前記軌道が前記デバイスによって実行され得るかどうかを判定することが、前記軌道に追従するための前記デバイスの潜在的状態を受信することと、前記デバイスが前記現在の状態に少なくとも部分的に基づいて前記潜在的状態を占有することができるかどうかを判定することと、をさらに含む、条項6~9のいずれか1つに記載の方法。
【0238】
11.前記デバイスの前記現在の状態が、第1の位置、第1の方位、第1のヨーレート、または第1の速度のうちの1つ以上を含み、前記デバイスの前記潜在的状態が、第2の位置、第2の方位、第2のヨーレート、または第2の速度のうちの1つ以上を含む、条項6~10のいずれか1つに記載の方法。
【0239】
12.前記デバイスのための第2の軌道を受信することと、第2の一貫性の妥当性として、前記第2の軌道が前記デバイスの現在の状態と合致するかどうか、第2の運動学的妥当性として、前記第2の軌道が前記デバイスによって実行され得るかどうか、または第2の定時性の妥当性として、前記第2の軌道が第2の時間閾値内に受信されたかどうか、のうちの少なくとも1つを判定することと、
前記第2の一貫性の妥当性、前記第2の運動学的妥当性、または前記第2の定時性の妥当性のうちの1つ以上に少なくとも部分的に基づいて、第2の妥当性信号を生成することと、前記妥当性信号及び前記第2の妥当性信号に基づいて、少なくとも前記軌道及び前記第2の軌道からもたらされる軌道を選択することと、前記もたらされる軌道に従って前記デバイスを制御することと、をさらに含む、条項6~11のいずれか1つに記載の方法。
【0240】
13.前記軌道をナビゲートする前記デバイスが衝突をもたらす可能性が高いかどうかを示す第1の衝突値、及び前記第2の軌道をナビゲートする前記デバイスが衝突をもたらす可能性が高いかどうかを示す第2の衝突値を決定することをさらに含み、少なくとも前記軌道及び前記第2の軌道から前記もたらされる軌道を選択することが、前記第1の衝突値及び前記第2の衝突値にさらに基づいている、条項6~12のいずれか1つに記載の方法。
【0241】
14.前記デバイスの少なくとも1つのサブシステムの動作ステータスを受信することをさらに含み、少なくとも前記軌道及び前記第2の軌道から前記もたらされる軌道を選択することが、前記動作ステータスに少なくとも部分的に基づいている、条項6~13のいずれか1つに記載の方法。
【0242】
15.前記デバイスの少なくとも1つのサブシステムの動作ステータスを受信することと、前記動作ステータスに基づいて複数の能力制限のうちの1つの能力制限を低減させて、低減した能力制限をもたらすことをさらに含み、前記運動学的妥当性として、前記軌道が前記デバイスによって実行され得るかどうかを判定することが、前記低減した容量制限にさらに基づいている、条項6~14のいずれか1つに記載の方法。
【0243】
16.実行可能命令が記憶された非一時的コンピュータ可読記憶媒体であって、前記命令が、コンピュータシステムの1つ以上のプロセッサによって実行されたときに、前記コンピュータシステムに、デバイスをナビゲートするための第1の軌道及び第2の軌道を受信することと、前記第1の軌道が前記デバイスの現在の状態と一致しているかどうかを示す第1の一貫性の妥当性、及び前記第2の軌道が前記デバイスの現在の状態と一致しているかどうかを示す第2の一貫性の妥当性、前記第1の軌道が前記デバイスによって実行され得るかどうかを示す第1の運動学的妥当性、及び前記第2の軌道が前記デバイスによって実行され得るかどうかを示す第2の運動学的妥当性、または前記第1の軌道が時間閾値内に受信されたかどうかを示す第1の定時性の妥当性、及び前記第2の軌道が前記時間閾値内に受信されたかどうかを示す第2の定時性の妥当性のうちの少なくとも1つを判定することと、前記第1の一貫性の妥当性、前記第2の一貫性の妥当性、前記第1の運動学的妥当性、前記第2の運動学的妥当性、前記第1の定時性の妥当性、または前記第2の定時性の妥当性のうちの少なくとも1つに基づいて、前記第1の軌道または前記第2の軌道のうちの1つを決定して、選択された軌道をもたらすことと、前記デバイスを前記選択された軌道に従って動作させることと、のうちの少なくとも1つを行わせる、前記非一時的コンピュータ可読記憶媒体。
【0244】
17.前記命令が、前記コンピュータシステムの前記1つ以上のプロセッサによって実行されたときに、前記コンピュータシステムにさらに、少なくとも、軌道の階層にさらに基づいて、前記第1の軌道または前記第2の軌道のうちの1つを決定させて、前記選択された軌道をもたらすようにし、前記軌道の階層が、少なくとも前記第1の軌道及び前記第2の軌道を含む、条項16に記載の非一時的コンピュータ可読記憶媒体。
【0245】
18.前記第1の一貫性の妥当性は、前記第1の軌道が前記デバイスの現在の状態と時間または空間のうちの少なくとも1つにおいて一致しているかどうかを示しており、前記第2の一貫性の妥当性は、前記第2の軌道が前記デバイスの現在の状態と時間または空間のうちの少なくとも1つにおいて一致しているかどうかを示している、条項16または17に記載の非一時的コンピュータ可読記憶媒体。
【0246】
19.前記命令が、前記コンピュータシステムの前記1つ以上のプロセッサによって実行されたときに、前記コンピュータシステムにさらに、少なくとも、前記デバイスの少なくとも1つのサブシステムの動作ステータスを取得させ、前記第1の軌道または前記第2の軌道のうちの1つを選択して、前記選択された軌道をもたらすことがさらに、前記動作ステータスに少なくとも部分的に基づいている、条項16~18のいずれか1つに記載の非一時的コンピュータ可読記憶媒体。
【0247】
20.前記第1の運動学的妥当性及び前記第2の運動学的妥当性を決定するための前記命令が、前記コンピュータシステムの前記1つ以上のプロセッサによって実行されたときに、前記コンピュータシステムにさらに、前記デバイスの現在の状態を示す第1の値のセットを取得することと、前記第1の軌道に追従するための前記デバイスの潜在的状態を示す第2の値のセット、及び前記第2の軌道に追従するための前記デバイスの第2の潜在的な状態を示す第3の値のセットを取得することと、前記現在の状態に少なくとも部分的に基づいて、前記デバイスが前記潜在的状態及び前記第2の潜在的状態を占有することができるかどうかを判定することと、のうちの少なくとも1つを行わせる命令をさらに含む、条項16~19のいずれか1つに記載の非一時的コンピュータ可読記憶媒体。
【0248】
車両軌道選択のための実現可能性確認
21.自律車両監視システムであって、
1つ以上のプロセッサと、命令を記憶するメモリと、を備え、前記命令が、前記1つ以上のプロセッサによって実行されたときに、前記システムに、前記自律車両両の移動に対する実現可能性制限のセットを取得することと、前記自律車両の現在の状態を受信することと、確認のための潜在的軌道を受信することと、前記現在の状態から前記潜在的軌道に進行するための前記自律車両の運動学を決定することと、前記運動学を前記実現可能性制限と比較することによって、前記運動学が前記実現可能性制限のセットを満たすかどうかを示す妥当性信号を決定することと、前記妥当性値に少なくとも部分的に基づいて、前記自律車両を前記潜在的軌道に従って動作させることと、を行わせる、前記自律車両監視システム。
【0249】
22.前記実現可能性制限のセットが、前記自律車両の最大速度、第1の方向における前記自律車両の最大減速度、前記第1の方向における前記自律車両の最大加速度、第2の方向における前記自律車両の最大加速度、及び最大合成加速度のうちの少なくとも1つを含む、条項21に記載のシステム。
【0250】
23.前記現在の状態から前記軌道に進行するための前記自律車両の運動学を決定することが、前記第1の方向における前記自律車両の減速度、前記第1の方向における前記自律車両の加速度、前記第2の方向における前記自律車両の加速度、及び合成加速度のうちの少なくとも1つを決定することをさらに含む、条項21または22に記載のシステム。
【0251】
24.前記実現可能性制限のセットが、前記自律車両に課される少なくとも1つの物理的動作制限を含み、前記命令が、前記1つ以上のプロセッサによって実行されたときに、前記システムにさらに、前記自律車両の少なくとも1つのサブシステムの現在の動作ステータスに基づいて、前記実現可能性制限のセットの少なくとも1つの値を更新させる、条項21~23のいずれか1つに記載のシステム。
【0252】
25.前記現在の状態から前記潜在的軌道に進行するための前記自律車両の運動学を決定することが、前記潜在的軌道上の第1の位置を決定することと、前記第1の位置と前記自律車両の前記現在の状態に関連付けられている第2の位置とを比較することと、をさらに含む、条項21~24のいずれか1つに記載のシステム。
【0253】
26.方法であって、デバイスの移動のための少なくとも1つの実現可能性制限を取得することであって、前記少なくとも1つの実現可能性制限が、少なくとも1つの方向における加速または減速制限を含む、前記取得することと、前記デバイスの現在の状態を受信することと、確認のための潜在的軌道を受信することと、前記現在の状態から前記軌道に進行するための前記デバイスの運動学を決定することと、前記運動学が前記少なくとも1つの実現可能性制限を満たすかどうかを示す妥当性値を決定することと、を含む、前記方法。
【0254】
27.前記少なくとも1つの実現可能性制限が、前記デバイスの動作における安全性を高めるために前記デバイスに課される少なくとも1つの物理的動作制限を含む、条項26に記載の方法。
【0255】
28.前記デバイスの少なくとも1つのサブシステムの現在の動作ステータスに基づいて、少なくとも1つの実現可能性制限を更新することをさらに含む、条項26または27の方法。
【0256】
29.前記少なくとも1つの実現可能性制限が、前記デバイスの最大速度、前記デバイスの最大加速度、前記デバイスの最大減速度、または前記デバイスの最大横方向加速度のうちの少なくとも1つをさらに含む、条項26~28のいずれか1つに記載の方法。
【0257】
30.前記デバイスが自律車両であり、前記現在の状態から前記軌道に進行するための前記デバイスの運動学を決定することが、前記第1の方向における前記自律車両の減速度、前記第1の方向における前記自律車両の加速度、または横方向における前記自律車両の加速度のうちの少なくとも1つを決定することをさらに含む、条項26~29のいずれか1つに記載の方法。
【0258】
31.前記現在の状態から前記潜在的軌道に進行するための前記デバイスの運動学を決定することが、前記潜在的軌道上の第1の位置を決定することと、前記第1の位置と前記自律車両の前記現在の状態に関連付けられている第2の位置とを比較することと、をさらに含む、条項26~30のいずれか1つに記載の方法。
【0259】
32.前記潜在的軌道上の前記第1の位置を決定することが、前記第1の位置と前記第2の位置との間の距離を最小化するように、前記第1の位置を決定することをさらに含む、条項26~31のいずれか1つに記載の方法。
【0260】
33.前記少なくとも1つの実現可能性制限が、前記デバイスの現在の軌道または前記デバイスの前記潜在的軌道に基づいて決定される、条項26~32のいずれか1つに記載の方法。
【0261】
34.前記妥当性値に少なくとも部分的に基づいて、前記デバイスを前記潜在的軌道に従って動作させることをさらに含む、条項26~33のいずれか1つに記載の方法。
【0262】
35.実行可能命令が記憶された非一時的コンピュータ可読記憶媒体であって、前記実行可能命令が、コンピュータシステムの1つ以上のプロセッサによって実行されたときに、前記コンピュータシステムに、少なくとも、自律車両の移動のための少なくとも1つの実現可能性制限を取得することであって、前記少なくとも1つの実現可能性制限が、少なくとも1つの方向における加速または減速制限を含む、前記取得することと、前記自律車両の現在の状態を受信することと、前記現在の状態から前記軌道に進行するための前記自律車両の運動学を決定することと、前記運動学が前記少なくとも1つの実現可能性制限と等しいかまたはそれを下回ることを示す妥当性値を決定することと、を行わせる、前記非一時的コンピュータ可読記憶媒体。
【0263】
36.前記少なくとも1つの実現可能性制限が、前記デバイスの少なくとも1つの物理的動作制限を含む、条項35に記載の非一時的コンピュータ可読記憶媒体。
【0264】
37.前記少なくとも1つの実現可能性制限が、前記デバイスの最大速度、前記デバイスの最大加速度、前記デバイスの最大減速度、または前記デバイスの最大横方向加速度のうちの少なくとも1つをさらに含む、条項35または36に記載の非一時的コンピュータ可読記憶媒体。
【0265】
38.前記現在の状態から前記軌道に進行するための前記デバイスの運動学を決定することが、前記第1の方向における前記自律車両の減速度、前記第1の方向における前記自律車両の加速度、または横方向における前記自律車両の加速度のうちの少なくとも1つを決定することをさらに含む、条項35~37のいずれか1つに記載の非一時的コンピュータ可読記憶媒体。
【0266】
39.前記実行可能命令が、コンピュータシステムの1つ以上のプロセッサによって実行された結果として、前記コンピュータシステムにさらに、少なくとも、前記デバイスの少なくとも1つのサブシステムの現在の動作ステータスに基づいて、少なくとも1つの実現可能性制限を更新させる、条項35~38のいずれか1つに記載の非一時的コンピュータ可読記憶媒体。
【0267】
40.前記少なくとも1つの実現可能性制限が、前記デバイスの現在の軌道または前記デバイスの前記潜在的軌道に基づいて決定される、条項35~39のいずれか1つに記載の非一時的コンピュータ可読記憶媒体。
【0268】
車両軌道選択のための一貫性確認
41.衝突回避システムであって、
1つ以上のプロセッサと、命令を記憶するメモリと、を備え、前記命令が、前記1つ以上のプロセッサによって実行されたときに、前記システムに、自律車両の現在の状態を示す第1の値のセットを受信することであって、前記第1の値のセットが、第1の位置、第1の方位、第1のヨーレート、または第1の速度のうちの1つ以上を含む、前記受信することと、前記自律車両の潜在的軌道を受信することと、前記潜在的軌道上の前記自律車両の潜在的状態を示す第2の値のセットを決定することであって、前記第2の値のセットが、第2の位置、第2の方位、第2のヨーレート、または第2の速度のうちの1つ以上を含む、前記決定することと、妥当性信号として、前記第2の値のセットが前記第1の値のセットとは、対応する閾値量のセットだけ異なるかどうかを判定することと、前記妥当性信号に少なくとも部分的に基づいて、前記自律車両を前記潜在的軌道に従って動作させることと、を行わせる、前記衝突回避システム。
【0269】
42.前記閾値量のセットが、距離閾値、時間閾値、ステアリング閾値、ヨー閾値、速度偏差閾値、または共線閾値のうちの少なくとも2つを含む、条項41に記載のシステム。
【0270】
43.前記妥当性値を決定することが、前記第1の値のセットと前記第2の値のセットとの比較を実行して、偏差値のセットを決定することと、前記偏差値のセットと前記閾値量のセットとの第2の比較を実行することに少なくとも部分的に基づいて、前記妥当性信号を決定することと、をさらに含む、条項41または42に記載のシステム。
【0271】
44.前記第2の値のセットを決定することが、前記第1の位置への近接度に基づいて、前記第2の位置を決定することを含む、条項41~43のいずれか1つに記載のシステム。
【0272】
45.前記命令が、前記1つ以上のプロセッサによって実行されたときに、前記システムにさらに、前記自律車両の第2の潜在的軌道を受信することと、前記第2の潜在的軌道に追従するための前記自律車両の第2の潜在的状態を示す第3の値のセットを決定することであって、前記第3の値のセットが、第3の位置、第3の方位、第3のヨーレート、または第3の速度のうちの1つ以上を含む、前記決定することと、第2の妥当性信号として、前記現在の状態に少なくとも部分的に基づいて、前記自律車両が前記第2の潜在的状態を占有することができるかどうかを判定することと、前記妥当性信号及び前記第2の妥当性信号に基づいて、前記潜在的軌道または前記第2の潜在的軌道のうちの1つを選択して、選択された軌道をもたらすことと、前記自律車両を前記選択された軌道に従って動作させることと、行わせる、条項41~44のいずれか1つに記載のシステム。
【0273】
46.方法であって、現在の軌道上のデバイスの現在の状態を取得することと、潜在的軌道に追従するための前記デバイスの潜在的状態を取得することと、前記潜在的状態が前記現在の状態とは、少なくとも1つの閾値量だけ異なるかどうかを示す妥当性値を決定して、前記潜在的軌道が前記現在の軌道と一致するかどうかを示すことと、前記妥当性値に少なくとも部分的に基づいて、前記デバイスを前記潜在的軌道に従って動作させることと、を含む、前記方法。
【0274】
47.前記デバイスの前記現在の状態が、第1の位置、第1の方位、第1のヨーレート、または第1の速度のうちの1つ以上を含み、前記デバイスの前記潜在的状態が、第2の位置、第2の方向、第2のヨーレート、または第2の速度のうちの1つ以上を含む、条項46に記載の方法。
【0275】
48.前記少なくとも1つの閾値が、距離差、時間差、ステアリング閾値、ヨー閾値、速度偏差閾値、または共線閾値のうちの少なくとも1つを含む、条項46または47に記載の方法。
【0276】
49.前記妥当性値を決定することが、前記現在の状態と前記潜在的状態との比較を実行して、偏差値のセットを決定することと、前記偏差値のセットと前記少なくとも1つの閾値量との第2の比較を実行することに少なくとも部分的に基づいて、前記妥当性信号を決定することと、をさらに含む、条項46~48のいずれか1つに記載の方法。
【0277】
50.前記現在の状態が第1の位置を含み、前記デバイスの前記潜在的状態を取得することは、前記第1の位置からの距離が最も短い前記潜在的軌道上の第2の位置を決定することをさらに含む、条項46~49のいずれか1つに記載の方法。
【0278】
51.前記妥当性値を決定することは、前記潜在的軌道が前記現在の軌道と共線的であるかどうかを判定することをさらに含む、条項46~50のいずれか1つに記載の方法。
【0279】
52.前記少なくとも1つの閾値が、前記デバイスの動作状況とは独立して決定される、条項46~51のいずれか1つに記載の方法。
【0280】
53.前記妥当性値を決定することがさらに、前記潜在的軌道が作成された第1の時間と現在の時間との間の時間的差に少なくとも部分的に基づいている、条項46~52のいずれか1つに記載の方法。
【0281】
54.第2の潜在的軌道に追従するための前記デバイスの第2の潜在的状態を示す第3の値のセットを取得することと、前記現在の状態に少なくとも部分的に基づいて、前記デバイスが前記第2の潜在的状態を占有することができるかどうかを示す第2の妥当性値を決定することと、前記妥当値及び前記第2の妥当値に基づいて、前記潜在的軌道または前記第2の潜在的軌道のうちの1つを選択して、選択された軌道をもたらすことと、前記デバイスを前記選択された軌道に従って動作させることと、をさらに含む、条項46~53のいずれか1つに記載の方法。
【0282】
55.実行可能命令が記憶された非一時的コンピュータ可読記憶媒体であって、前記命令が、コンピュータシステムの1つ以上のプロセッサによって実行されたときに、前記コンピュータシステムに、少なくとも、第1の軌道をナビゲートするデバイスの第1の状態を受信することであって、前記第1の状態が、第1の位置及び第1の速度のうちの少なくとも1つを含む、前記受信することと、潜在的軌道に追従する前記デバイス潜在的な状態を受信することであって、前記潜在的状態が、第2の位置及び第2の速度のうちの少なくとも1つを含む、前記受信することと、前記第1の状態が前記第2の状態の少なくとも1つの閾値内にあるかどうかを示す妥当性値を決定することと、前記妥当性値に少なくとも部分的に基づいて、前記デバイスを前記潜在的軌道に従って動作させることと、を行わせる、前記非一時的コンピュータ可読記憶媒体。
【0283】
56.前記妥当性値を決定することが、前記第1の位置と前記第2の位置との間の距離を決定することと、前記距離と前記少なくとも1つの閾値の距離閾値とを比較することと、前記第1の速度と前記第2の速度との間の速度差を決定することと、前記速度差と前記少なくとも1つの閾値値の速度閾値とを比較することと、をさらに含む、条項55に記載の非一時的コンピュータ可読記憶媒体。
【0284】
57.前記デバイスの前記第1の状態が、第1の方位または第1のヨーレートのうちの少なくとも1つをさらに含み、前記デバイスの前記潜在的状態が、第2の方位または第2のヨーレートのうちの1つ以上を含む、条項55または56に記載の非一時的コンピュータ可読記憶媒体。
【0285】
58.前記妥当性値を決定することはさらに、前記潜在的軌道が作成された第1の時間と現在の時間との間の時間的差に少なくとも部分的に基づいている、条項55~57のいずれか1つに記載の非一時的コンピュータ可読記憶媒体。
【0286】
59.前記少なくとも1つの閾値を決定することが、距離差、時間差、ステアリング閾値、ヨー閾値、速度偏差閾値、または共線閾値のうちの少なくとも1つを含む、条項55~58のいずれか1つに記載の非一時的コンピュータ可読記憶媒体。
【0287】
軌道のビークルダイナミクスに対する修正制限
60.自律車両監視システムであって、1つ以上のプロセッサと、命令を記憶するメモリとを備え、前記命令が、前記1つ以上のプロセッサによって実行されたときに、前記システムに、前記自律車両の複数のセンサからの入力を受信することであって、前記複数の入力のうちの1つの入力が、前記自律車両のサブシステムの動作状態に関連付けられている、前記受信することと、前記入力に少なくとも部分的に基づいて、前記サブシステムが低減した動作状態で動作しているかどうかを判定することと、前記サブシステムが前記低減した動作状態で動作していることを判定することに少なくとも部分的に基づいて、複数の能力制限の低減した能力制限を決定することであって、前記低減された能力制限が、公称動作能力制限よりも小さい、前記決定することと、前記自律車両の潜在的軌道を受信することと、前記潜在的軌道に追従する前記自律車両が、前記低減した能力制限を超えるかどうかを示す妥当性信号を決定することと、を行わせる、前記自律車両監視システム。
【0288】
61.前記低減した動作状態が、複数の動作状態のうちの1つであり、前記低減した能力制限を決定することが、前記低減した動作状態と前記サブシステムの正常な動作状態との間の差に少なくとも部分的に基づいて、前記公称動作能力制限を低減させる量を決定することを含む、条項60項に記載のシステム。
【0289】
62.前記複数の能力制限が、前記自律車両の最大速度、第1の方向における前記自律車両の最大減速度、前記第1の方向における前記自律車両の最大加速度、第2の方向における前記自律車両の最大加速度、または最大合成加速度のうちの少なくとも1つを含む、条項60または61に記載のシステム。
【0290】
63.前記命令が、前記1つ以上のプロセッサによって実行されたときに、前記システムにさらに、前記潜在的軌道の少なくとも1つの特性に少なくとも部分的に基づいて、ある量だけ前記能力制限を低減させる、条項60~62のいずれか1つに記載のシステム。
【0291】
64.前記妥当性信号を決定することが、前記自律車両の第1の状態を示す第1の値のセットを取得することと、前記潜在的軌道に追従する前記自律車両の潜在的状態を示す第2の値のセットを取得することと、前記妥当性信号として、前記第1の状態及び前記低減した容量制限に少なくとも部分的に基づいて、前記デバイスが前記潜在的状態を占有することができるかどうかを判定することと、をさらに含む、条項60~63のいずれか1つに記載のシステム。
【0292】
65.方法であって、デバイスのサブシステムの動作ステータスに関連付けられている信号を受信することであって、前記信号が、前記サブシステムの低減した動作ステータスを示す、前記受信することと、前記信号に基づいて、前記デバイスに課す能力制限を決定することと、前記デバイスが通行するための軌道を受信することと、前記潜在軌道に追従する前記デバイスが前記能力制限を超えるであろうかどうかを示す妥当性信号を決定することと、前記妥当性信号に少なくとも部分的に基づいて、前記デバイスを前記潜在的軌道に従って動作させることと、を含む、前記方法。
【0293】
66.前記能力制限を決定することが、前記信号に基づいて既定能力制限を低減させる量を決定することを含む、条項65に記載の方法。
【0294】
67.前記既定能力制限を低減させる前記量が、前記サブシステムの前記低減した動作状態と正常な動作状態との間の差に少なくとも部分的に基づいて決定される、条項65または66に記載の方法。
【0295】
68.前記デバイスの第2のサブシステムの第2の動作状態に関連付けられている第2の信号を受信することであって、前記第2の信号が、前記第2のサブシステムの第2の低減した動作ステータスを示す、前記受信することと、前記信号及び前記第2の信号に基づいて、前記デバイスに課す前記能力制限を決定することと、をさらに含む、条項65~67のいずれか1つに記載の方法。
【0296】
69.前記能力制限が、前記デバイスの最大速度、第1の方向における前記デバイスの最大減速度、前記第1の方向における前記デバイスの最大加速度、第2の方向における前記デバイスの最大加速度、最大合成加速度、最大ヨーレート、最大ヨー加速度、または最大勾配のうちの少なくとも1つを含む、条項65~68のいずれか1つに記載の方法。
【0297】
70.前記デバイスに課す前記能力制限を決定することが、前記軌道の少なくとも1つの特性に少なくとも部分的に基づいて決定された量だけ、前記能力制限を低減させることを含む、条項65~69のいずれか1つに記載の方法。
【0298】
71.前記サブシステムの第2の動作ステータスを示す第2の信号が期間内に受信されたかどうかに基づいて、前記デバイスに課す第2の能力制限を決定することをさらに含む、条項65~70のいずれか1つに記載の方法。
【0299】
72.前記サブシステムの増加または回復した動作ステータスを示す第2の信号を受信することと、前記第2の信号に基づいて前記能力制限を増加させて、増加した能力制限もたらすことと、前記潜在的軌道に追従する前記デバイスが前記増加した能力制限を超えるかどうかを示す第2の妥当性信号を決定することと、をさらに含む、条項65~71のいずれか1つに記載の方法。
【0300】
73.前記妥当性信号を決定することが、前記デバイスの第1の状態を示す第1の値のセットを取得することと、前記軌道に追従する前記デバイスの潜在的状態を示す第2の値のセットを取得することと、前記妥当性信号として、前記第1の状態及び前記容量制限に少なくとも部分的に基づいて、前記デバイスが前記潜在的状態を占有することができるかどうかを判定することと、をさらに含む、条項65~72のいずれか1つに記載の方法。
【0301】
74.実行可能命令が記憶された非一時的コンピュータ可読記憶媒体であって、前記実行可能命令が、コンピュータシステムの1つ以上のプロセッサによって実行されたときに、前記コンピュータシステムに、少なくとも、デバイスのセンサからの入力を受信することであって、前記入力が、前記デバイスのサブシステムに関連付けられている、前記受信することと、前記入力に基づいて前記デバイスに課す動作制限を決定することと、前記デバイスが通行するための軌道を受信することと、前記軌道に追従する前記デバイスが前記動作制限を超えるかどうかを示す妥当性信号を決定することと、前記妥当性信号に少なくとも部分的に基づいて、前記デバイスを前記軌道に従って動作させることと、を行わせる、前記非一時的コンピュータ可読記憶媒体。
【0302】
75.前記動作制限が、公称動作制限よりも小さい低減した動作制限を含み、前記命令が、前記1つ以上のプロセッサによって実行されたときに、前記コンピュータシステムにさらに、前記入力に関連付けられている前記サブシステムに少なくとも部分的に基づいて、複数の動作制限から前記動作制限を決定させる、条項74に記載の非一時的コンピュータ可読記憶媒体。
【0303】
76.前記動作制限を決定することが、前記入力に基づいて前記デバイスの少なくとも1つの動作特性を制限する量を決定することを含む、条項74または75に記載の非一時的コンピュータ可読記憶媒体。
【0304】
77.前記デバイスの前記動作特性が、前記デバイスの最大速度、第1の方向における前記デバイスの最大減速度、前記第1の方向における前記デバイスの最大加速度、第2の方向における前記デバイスの最大加速度、最大合成加速度、最大ヨーレート、最大ヨー加速度、または最大勾配のうちの少なくとも1つを含む、条項74~76のいずれか1つに記載の非一時的コンピュータ可読記憶媒体。
【0305】
78.前記デバイスの前記少なくとも1つの動作特性を制限する前記量が、前記サブシステムの異なるレベルの動作を示す異なる入力に対応する量のセットから決定される、条項74~77のいずれか1つに記載の非一時的コンピュータ可読記憶媒体。
【0306】
79.前記妥当性信号を決定することが、前記デバイスの第1の状態を示す第1の値のセットを取得することと、前記軌道に追従する前記デバイスの潜在的状態を示す第2の値のセットを取得することと、前記動作制限に少なくとも部分的に基づいて、前記デバイスが前記デバイスの前記第1の状態から、前記軌道に追従するための前記潜在的状態に移動することができるかどうかを判定することと、をさらに含む、第74~78項のいずれか1つに記載の非一時的コンピュータ可読記憶媒体。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
【国際調査報告】