JP7346401B2 - 安全で信頼できる自動運転車両のためのシステム及び方法 - Google Patents

安全で信頼できる自動運転車両のためのシステム及び方法 Download PDF

Info

Publication number
JP7346401B2
JP7346401B2 JP2020525931A JP2020525931A JP7346401B2 JP 7346401 B2 JP7346401 B2 JP 7346401B2 JP 2020525931 A JP2020525931 A JP 2020525931A JP 2020525931 A JP2020525931 A JP 2020525931A JP 7346401 B2 JP7346401 B2 JP 7346401B2
Authority
JP
Japan
Prior art keywords
safety
vehicle
processing unit
chip
soc
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020525931A
Other languages
English (en)
Other versions
JP2021508863A (ja
Inventor
アラン ディティ、マイケル
ヒコック、ゲーリー
スウィードラー、ジョナサン
ファラベット、クレメント
ユーサフ、モハメッド、アブデュラ
チャン、ティー.ワイ.
ガナパティ、ラム
スリニバサン、アソック
トラッグ、マイク
グレブ、カール
マシソン、ジョン
ニスター、デイビッド
フローリー、ケビン
ペラン、ダニエル
ヘッテナ、ダン
Original Assignee
エヌビディア コーポレーション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by エヌビディア コーポレーション filed Critical エヌビディア コーポレーション
Publication of JP2021508863A publication Critical patent/JP2021508863A/ja
Application granted granted Critical
Publication of JP7346401B2 publication Critical patent/JP7346401B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/0088Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G05D1/0248Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means in combination with a laser
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/023Avoiding failures by using redundant parts
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0015Planning or execution of driving tasks specially adapted for safety
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0027Planning or execution of driving tasks using trajectory prediction for other traffic participants
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/588Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/16Anti-collision systems
    • G08G1/165Anti-collision systems for passive traffic, e.g. including static obstacles, trees
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/16Anti-collision systems
    • G08G1/166Anti-collision systems for active traffic, e.g. moving vehicles, pedestrians, bikes
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0005Processor details or data handling, e.g. memory registers or chip architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Description

本出願は、参照によりその全体が本明細書に組み込まれる2017年11月10日に出願された「Systems and Methods for Safe and Reliable Autonomous Vehicles」という名称の米国仮特許出願第62/584,549号の優先権及び利益を主張する。
自動運転は、世界で最も困難な計算処理上の問題の1つである。リアル・タイムで安全且つ快適に車を制御するためのコマンドを生成するには、カメラ、レーダ、LIDAR、及びHDマップからの非常に大量のデータが処理されなければならない。この困難なタスクには、エネルギー効率が高く低電力の複合高性能ソフトウェアである専用スーパーコンピュータ、及びディープ・ラーニングAIアルゴリズムの飛躍的進展が必要である。このタスクに対応するために、本技術は、自動運転レベル3、4、及び/又は5のためのプラットフォームを含む、自動運転機能を容易にする高度なシステム及び方法を提供する。好ましい実施例において、本技術は、コンピュータ・ビジョン及び知られているADAS技法を活用する自動運転車両用のアーキテクチャを含む、多様性及び冗長性をもたらすとともに機能安全基準を満たす柔軟なアーキテクチャを備えたエンド・ツー・エンド・プラットフォームを提供する。本技術は、車、タクシー、トラック、及びバス、並びに船舶及び航空機を含む広範な自動運転車両を可能にする柔軟で拡張可能なプラットフォームに組み込まれ得る、より高速で、より信頼性が高く、より安全で、エネルギー効率が高く、空間効率が高いシステム・オン・チップを提供する。
連邦政府資金による研究または開発
なし
以下の米国特許出願は、明記されるように、いかなる目的に対しても参照により本明細書に組み込まれる。
2016年4月28日に出願された「Programmable Vision Accelerator」、米国特許出願第15/141,703号(代理人整理番号15-SC-0128-US02)、現在の米国特許第______号
2016年10月28日に出願された「Reliability Enhancement Systems and Methods」、米国特許出願第15/338,247号(代理人整理番号15-SC-0356US01)、現在の米国特許第______号
2017年6月23日に出願された「Methodology of Using a Single Controller (ECU) For a Fault-Tolerant/Fail-Operational Self-Driving System」、米国仮特許出願第62/524,283号(代理人整理番号16-SC-0130-US01)
2018年1月26日に出願された「Method Of Using A Single Controller (ECU) For A Fault-Tolerant/Fail-Operational Self-Driving System」、米国特許出願第15/881,426号(代理人整理番号16-SC-0130US02)、現在の米国特許第______号
多くの車両は今日、自動車線維持システム及びスマート走行制御システムなどの先進運転支援システム(「ADAS:Advanced Driver Assistance System」)を含む。これらのシステムは、タイヤのパンク、ブレーキの故障、又は他の運転者による予期しない挙動などの重大な機械的故障が発生した場合、人間の運転者が車両を制御することに依存している。
ADAS及び自動運転車両を含む運転支援機能は、一般に、自動車技術者協会(SAE:Society of Automotive Engineers)の、2018年6月15日に公開された規格番号J3016-201806「Taxonomy and Definitions for Terms Related to Driving Automation Systems for On-Road Motor Vehicles」、2016年9月30日に公開された規格番号J3016-201609及びこの規格の旧版及び後続版、並びに米国運輸省の国家高速道路交通安全局(NHTSA:National Highway Traffic Safety Administration)によって定義される自動化レベルの観点で説明されている。図1は、運転者のみ(レベル0)、支援付き(レベル1)、部分的自動化(レベル2)、条件付き自動化(レベル3)、高度自動化(レベル4)から完全自動化(レベル5)までに及ぶ自動運転レベルを示す。今日の商用のADASシステムは、一般に、レベル1又はレベル2の機能のみを提供する。
自動化レベル0~2の場合、制御ループ内に人間の運転者が存在する必要があるが、自動化レベル3~5の場合は必要ない。ADASシステムは、レベル1及びレベル2の場合は約1秒以内、レベル3の場合は数秒以内、レベル4及びレベル5の場合は数分以内に、人間の運転者が制御を行わなければならない。人間の運転者はレベル0~2での運転中は注意を払い続けなければならず、他の活動を行うことはできないが、自動化レベル3の場合は他の制限された活動を行うことができ、自動化レベル4及びレベル5の場合は睡眠をとることもできる。レベル4の機能によって、運転者は眠りにつくことができ、車が自動での運転を継続することができず、且つ運転者が引き継がないような状況でも、車は安全に停車することになる。レベル5の機能には、あらかじめマッピングされた市街地又は大学構内で無人タクシーが動作するロボット・タクシーが含まれる。
レベル1及びレベル2のADAS製品の成功は、交通の安全性及び利便性の劇的な向上が見込まれることと相まって、自律運転車両技術への投資を推し進めている。しかし、莫大な投資にもかかわらず、今日は、レベル4又はレベル5の機能を提供し、且つ業界の安全基準を満たす車両を利用することはできず、自動運転は依然として世界で最も困難な計算処理上の問題の1つである。リアル・タイムで安全且つ快適に車を制御するためのコマンドを生成するには、カメラ、レーダ、LIDAR、及びHDマップからの非常に大量のデータを処理しなければならない。絶え間なく急速に変化する状況に対して車が瞬時に正しく反応できることを保証するには、カメラ、レーダ、LIDAR、超音波センサなどの広範なセンサから流れる急激に増加するデータを解釈する必要がある。何よりもまず、これには膨大な量の計算処理能力が必要である。この困難なタスクには、エネルギー効率が高く低電力の複合型高性能ソフトウェアである専用スーパーコンピュータ、及びディープ・ラーニングAIアルゴリズムの飛躍的進展が必要である。
加えて、自動車の部品及び機器の安全性評価を確立するためのプロセスを規定する業界標準化機構(「ISO:Industry Organization for Standardization」)26262規格「道路車両-機能安全」(2011英語)並びにこの規格の後続版及び拡張などの業界安全規格を満たすために、レベル4~5の自動運転車両用のシステムは、全く異なる手法を必要とする。ISO26262は、自動車安全完全性レベル(「ASIL:Automotive Safety Integrity Level」)によって決定される、乗用車の電子システム及び電気システムの誤動作によって引き起こされる可能性のある危険を扱っている。ASILは、「A」、「B」、「C」、及び「D」の4つの異なるリスク・レベルを扱っており、これらは3つの因子、すなわち(1)暴露度(危険確率)、(2)(運転者による)制御可能性、及び(3)(負傷の観点での)危害度によって決定される。ASILのリスク・レベルは、概ね危害度と暴露度と制御可能性との組合せと定義される。図2に示すように、ISO26262「道路車両-機能安全-第9部:自動車安全完全性レベル(ASIL)指向及び安全指向の分析」(ISO26262-9:2011(英語))は、ASIL「D」のリスクを、最高確率の暴露度(E4)と、可能な限り最高の制御可能性(C3)と、最高の危害度(S3)との組合せと定義する。ASIL「D」と評価された自動車機器は、その機器が、最も深刻なリスクをもたらす危険に安全に対処できることを意味する。危害度、暴露度、及び制御可能性の分類のうちのいずれか1つにおけるその最大値からの低下は、ASILの「A」、「B」、「C」、及び「D」評価における1レベル低下に相当する。
基本的なADASシステム(レベル1又はレベル2)は、車両に対する制御を人間の運転者が引き継ぎ行使することに依存しているので、ISO26262規格を含む自動車業界の機能安全規格に適合するように容易に設計され得る。例えば、ADASシステムが故障して危険な状態になった場合、運転者は車両のコマンドを受け取り、そのソフトウェア機能をオーバーライドして、安全な状態に回復することができる。同様に、ADASシステムが適切に制御できない環境/状況(例えば、タイヤのパンク、薄氷、突然の障害物)に車両が遭遇した場合、人間の運転者が引き継ぎ、補正動作又は緩和動作を実行するものと見込まれている。
対照的に、レベル3~5の自動運転車両は、運転者からの即時の補正動作なしでも、システムが単独で安全である必要がある。完全自動運転車両は、例外的な状況に対処するために人間の運転者に頼ることはできず、車両の制御システムはすべての故障、誤動作、及び異常な動作状態を単独で識別、管理、及び軽減しなければならない。レベル4~5の自動運転車両は、最も厳しい安全要件を備えており、人間の運転者がハンドルを握りブレーキを踏むことに依存することなく、問題が発生し得るあらゆることに対処するように設計されなければならない。したがって、レベル4及びレベル5の完全自動運転にASIL Dレベルの機能安全を提供することは困難なタスクである。ASIL Dがハードウェア及びソフトウェアの設計においてこれまでにない精度を要求するので、ASIL Dの機能安全を備えた単一のソフトウェア・サブシステムを作成するためのコストは法外に高い。別の手法が必要とされる。
レベル4~5の自動運転車両に対するASIL D機能安全を実現するには、運転者が動的運転タスクの実行を再開するための要求に適切に対応しない場合でも、動的運転タスクのすべての態様を実行し、関連する物体及び事象への適切な対応を提供する専用スーパーコンピュータが必要である。この野心的な目標には、新しいシステム・オン・チップ技術、新しいアーキテクチャ、及び新しい設計手法が必要である。
いくつかの関連技術
A.ADASシステム
今日のADASシステムには、とりわけ、自律/適応/自動走行制御(「ACC:Autonomous/adaptive/automatic cruise control」)、前方クラッシュ警告(「FCW:Forward Crash Warning」)、自動緊急ブレーキ(「AEB:Auto Emergency Braking」)、車線逸脱警告(「LDW:Lane Departure Warning」)、死角警告(「BSW:Blind Spot Warning」)、及び後方交差交通警告(「RCTW:Rear Cross-Traffic Warning」)が含まれる。
ACCは、縦方向ACC及び横方向ACCに大きく分類され得る。縦方向ACCは、ホスト又は「自車両」の直前の車両までの距離を監視及び制御する。典型的な縦方向ACCシステムは、車両速度を自動的に調整して前方車両からの安全な距離を維持する。横方向ACCは、距離の保持を実行し、必要に応じて車線を変更するようにホスト車両に助言する。横方向ACCは、車線変更支援(「LCA:Lane Change Assist」)及び衝突警告システム(「CWS:Collision Warning System」)などの他のADASアプリケーションに関連する。
最も一般的なACCシステムは単一のレーダを使用するが、他の組合せ(2つの短距離レーダと結合された1つの長距離レーダなどの複数のレーダ、又はLIDARとカメラの組合せ)も可能である。縦方向ACCシステムは、2つの主要なグループ、すなわちルール・ベースの手法とモデル・ベースの手法とに分けられ得るアルゴリズムを使用する。ルール・ベースの縦方向ACC手法は、FPGA、CPU、又はASICを含む任意のプロセッサ上で実行され得るif-thenルールを使用する。入力信号は通常、前方車両までの距離、車両の現在の速度などを含み、出力は通常、スロットル及びブレーキである。例えば、縦方向ACCシステムは、自車と前方車の間の距離が2秒未満で通過可能な場合は車両速度を下げるという、ほとんどの運転者によく知られているルールを使用することができる。車両速度が毎秒26.82m(88フィート)(毎時96.56km(60マイル)に相当する)であり、且つ後続の距離が6.71m(22フィート)の場合、その距離を通過するための時間はわずか0.25秒である。これらの状況下では、縦方向ACCシステムは、スロットル、及び必要に応じてブレーキを制御することによって速度を下げることができる。スロットルが使用されることが好ましいが(スロットルを下げると車両が減速することになる)、距離が短く、減少している場合、ACCシステムはブレーキを使用するか、又はブレーキを解放し運転者に警告を通知してもよい。
モデル・ベースのシステムは、通常、比例積分微分コントローラ(「PID(proportional-integral-derivative)コントローラ」)技法又はモデル予測制御(「MPC:model predictive control」)技法に基づく。車両の位置、距離、及び前方車両の速度に基づいて、コントローラは、運転の安全性及びエネルギー・コストを考慮して車輪トルクを最適に計算する。
協調型適応走行制御(「CACC:Cooperative Adaptive Cruise Control」)は、他の車両からの情報を使用する。この情報は、アンテナ及びモデムを介して(近接した)他の車両から直接、ワイヤレス・リンク経由で、又はネットワーク接続から間接的に受け取られる場合がある。直接リンクは、車車間(「V2V:vehicle-to-vehicle」)通信リンクによって提供される場合があり、一方、間接リンクは、しばしば路車間(「I2V:infrastructure-to-vehicle」)リンクと呼ばれる。一般に、V2V通信概念は、すぐ前の車両(つまり、自車と同じ車線内の直前の車両)に関する情報を提供し、一方、I2V通信概念は、さらに前方の交通に関する情報を提供する。CACCシステムは、I2VとV2Vの情報ソースのいずれか又は両方を含むことができる。ホスト車両の前方車両の情報が与えられると、CACCの信頼性を高めることができ、CACCは交通の流れの円滑性を向上させ、道路上の混雑を緩和させる潜在的可能性を有する。
ACCシステムは今日、商用車両において広く使用されているが、しばしば道路状況に対して過剰補償又は過剰反応する。例えば、商用ACCシステムは、車が前方で合流するときに過剰反応して過度に減速し、その後車両が邪魔にならなくなったときに速度を回復するのが遅すぎる場合がある。ACCシステムは、車両の安全性及び運転者の利便性を提供する上で重要な役割を果たしているが、レベル3~5の自動運転車両機能の要件を満たすにはほど遠い。
前方クラッシュ警告(「FCW」)ADASシステムは、運転者に危険を警告し、その結果運転者が補正動作を行うことができるように設計される。典型的なFCW ADASシステムは、ディスプレイ、スピーカ、又は振動コンポーネントなどの運転者フィードバックに電気的に結合された専用プロセッサ、DSP、FPGA、又はASICに結合された、正面向きカメラ又はレーダ・センサを使用する。FCWシステムは通常、警告のみを提供し、車両に取って代わること、又はブレーキを作動させること、又は他の補正動作を行うことはない。むしろ、FCWシステムが危険を検出すると、FCWシステムは音、視覚による警告、振動、及び/又はクイック・ブレーキ・パルスの形式で警告をアクティブにする。FCWシステムは今日広く使用されているが、しばしば誤警報をもたらす。2017年消費者調査報告によれば、FCWを備えた車両の約45%で少なくとも1回の誤警報が発生しており、いくつかの態様では60%を超える誤警報が報告されている。レーダ・ベースのFCWシステムは誤検出を起こしやすく、理由は、レーダが、車両を示していると誤解される可能性があるマンホール蓋、大きな缶、排水格子、及び他の金属製の物体の存在を報告することがあるからである。ACCシステムと同様に、FCWシステムは車両の安全性及び運転者の利便性を提供する上で重要な役割を果たしているが、レベル3~5の自動運転車両機能の要件を満たすにはほど遠い。
自動緊急ブレーキ(「AEB」)ADASシステムは、別の車両又は他の物体との前方衝突が間近に迫っていることを検出し、運転者が指定された時間又は距離のパラメータ内で補正動作を行わない場合、自動的にブレーキをかけることができる。典型的なAEB ADASシステムは、専用プロセッサ、DSP、FPGA、又はASICに結合された、正面向きカメラ又はレーダ・センサを使用する。AEBシステムは危険を検出すると、通常、FCWシステムと同様に、最初に衝突を回避するための補正動作を行うよう運転者に警告する。運転者が補正動作を行わない場合、AEBシステムは、予測された衝突の影響を防止するか、又は少なくとも軽減するために、自動的にブレーキをかけることができる。AEBシステムは、ダイナミック・ブレーキ・サポート(「DBS:dynamic brake support」)及び/又は衝突直前ブレーキ(「CIB:crash imminent braking」)などの技法を含み得る。DBSシステムは、FCW又は典型的なAEBシステムと同様に、運転者警告を提供する。運転者が警告に対応してブレーキをかけたが、専用プロセッサ、FPGA、又はASICが運転者の行動が追突を回避するには不十分であると判断した場合、DBSシステムは、運転者のブレーキを自動的に補助し、追突を回避しようと試みる。AEBシステムは今日広く使用されているが、過敏性、さらには望ましくない「補正」について批判を受けている。
車線逸脱警告(「LDW」)ADASシステムは、車が車線区分線を超えると、運転者に警告するための視覚、聴覚、及び/又はステアリング・ホイール若しくはシートの振動などの触覚による警告を提供する。運転者が方向指示器を作動させることによって意図的に車線の逸脱を指示するとき、LDWシステムは作動しない。典型的なLDW ADASシステムは、ディスプレイ、スピーカ、振動コンポーネントなどの運転者フィードバックに電気的に結合された専用プロセッサ、DSP、FPGA、又はASICに結合された、前側向きカメラを使用する。LDW ADASシステムは今日広く使用されているが、時々車両が車線からはみ出して、且つ/又は路肩に向かってドリフトできることがあり、一貫性のない性能について批判を受けている。LDW ADASシステムは、特にカーブの多い道路上で誤りのある煩わしいフィードバックを提供することについても批判を受けている。
車線維持支援(「LKA」)ADASシステムは、LDWシステムの一種である。LKAシステムは、車両が車線を出始めた場合、車両を補正するためにステアリング入力又はブレーキを提供する。LKAシステムは、とりわけ、特に狭い道路上で車両が自転車に乗っている人又は歩行者に遭遇したときに逆効果の制御信号を提供することについて批判を受けている。具体的には、運転者が自転車に乗っている人又は歩行者と適切な距離を置こうとするとき、LKWシステムは、車を車線の中央へ、ひいては自転車に乗っている人又は歩行者の方へ戻すようにシステムを操縦させることが知られている。
死角警告(「BSW」)ADASシステムは、自動車の死角にある車両の運転者を検出及び警告する。典型的なBSWシステムは、車線の合流又は変更が安全でないことを示す視覚、聴覚、及び/又は触覚による警報を提供する。運転者が方向指示器を使用するとき、システムは追加の警告を提供することができる。典型的なBSW ADASシステムは、ディスプレイ、スピーカ、又は振動コンポーネントなどの運転者フィードバックに電気的に結合された専用プロセッサ、DSP、FPGA、又はASICに結合された、後側向きカメラ又はレーダ・センサを使用する。BSWシステムは今日広く使用されているが、誤検出について批判を受けている。
後方交差交通警告(「RCTW」)ADASシステムは、車両が後退しているときにリア・カメラの範囲外で物体が検出されると、視覚、聴覚、及び/又は触覚による通知を提供する。いくつかのRCTWシステムは、衝突を回避するために確実に車両ブレーキが適用されるようにするために、AEBを含む。典型的なRCTW ADASシステムは、ディスプレイ、スピーカ、又は振動コンポーネントなどの運転者フィードバックに電気的に結合された専用プロセッサ、DSP、FPGA、又はASICに結合された、1つ又は複数の後ろ向きレーダ・センサを使用する。RCTWシステムは、他のADASシステムと同様に、誤検出について批判を受けている。
従来技術のADASシステムは商業的に成功しているが、どれもレベル3~5の自動運転車両の性能に必要とされる機能を提供するものではない。
B.設計手法
1.古典的なコンピュータ・ビジョン及びルール・ベースの手法
自動運転車両について、2つの明確に異なる手法が提案されている。1つ目の手法であるコンピュータ・ビジョンは、視覚データを自動的に認識、分析、理解、及び/又は解釈するプロセスである。このような視覚データには、任意のタイプのカメラ又はビデオ記録デバイスによって捕捉された、ビデオ、画像、リアル・タイム又はほぼリアル・タイムのデータの任意の組合せが含まれ得る。コンピュータ・ビジョン・アプリケーションは、上位レベルの問題を解決するためのコンピュータ・ビジョン・アルゴリズムを実装する。例えば、ADASシステムは、車載カメラ又はビデオ録画デバイスによって捕捉された視覚データに基づいて、歩行者/自転車を検出し、交通標識を認識し、且つ/又は車線逸脱警告を発するための、リアル・タイムの物体検出アルゴリズムを実装することができる。
従来のコンピュータ・ビジョン手法は、所与のタスクに関連する指定された特徴(エッジ、コーナー、色など)の抽出を試みる。従来のコンピュータ・ビジョン手法は、人間のエンジニアによって手動で調整されたヒューリスティクスに基づいて特徴検出を実行する物体検出器を含む。パターン認識タスクは、典型的には初期段階の特徴抽出段階を使用し、その後に分類器が続く。
古典的なコンピュータ・ビジョンは、多くのADASアプリケーションで使用されているが、レベル3~5のシステム性能にはあまり適していない。古典的なコンピュータ・ビジョンはルール・ベースの手法に従うので、古典的なコンピュータ・ビジョンを使用する自動運転車両は、すべての可能なシナリオを対象とすることを目的に、明確なプログラムされた決定ガイドラインのセットを有していなければならない。膨大な数の運転状況、環境、及び物体がある場合、古典的なコンピュータ・ビジョンは、レベル3~5の自動運転車両に到達するために解決しなければならない問題を解決することができない。雪、氷、大雨、大きな屋外駐車場、歩行者、反射、対向交通への合流などを含む、あらゆる可能なシナリオ及びすべての運転課題にルールを提供できるシステムはない。
2.ニューラル・ネットワーク及び自動運転車両
ニューラル・ネットワークは、古典的なコンピュータ・ビジョンに対する代替手法と広く見なされている。ニューラル・ネットワークは、1989年のPomerleauによるニューラル・ネットワークの自律陸上車両(「ALVINN:Autonomous Land Vehicle in a Neural Network」)システムの研究に始まり、長年にわたって自動運転車両について提案されてきた。
ALVINNは、DARPA自動運転車両(「DAVE:DARPA Autonomous Vehicle」)として知られている、2004年の国防高等研究計画局(「DARPA:Defense Advanced Research Projects Agency」)の苗プロジェクトに着想を与え、このプロジェクトでは、サブスケールの無線操縦車が、廃品で埋め尽くされた狭い通路を走行した。DAVEは、類似しているが同一ではない環境における人間の運転について何時間も訓練された。訓練データには、2台のカメラからのビデオ、及び人間の操作者によって送信された操縦命令が含まれた。DAVEはニューラル・ネットワークの潜在的可能性を実証したが、DAVEの性能はレベル3~5の自動運転車両の要件を満たすには不十分だった。反対に、DAVEの衝突間の平均距離は、複雑な環境では約20メートルだった。
DAVEの後、2つの開発がニューラル・ネットワークのさらなる研究に拍車をかけた。1つ目として、ImageNet大規模画像認識チャレンジ(「ILSVRC:ImageNet Large Scale Visual Recognition Challenge」)などのラベル付きの大きなデータ・セットが、訓練及び検証に広く利用できるようになった。ILSRVCのデータ・セットは、1千を超えるカテゴリ内に1千万を超える画像を含む。
2つ目として、ニューラル・ネットワークは現在、超並列グラフィックス処理ユニット(「GPU:graphics processing unit」)上に実装されており、学習能力及び推論能力を大幅に高速化する。「GPU」という用語は旧来の用語であるが、本発明の技術のGPUがグラフィックス処理に実際に使用されることを意味するものではない。反対に、本明細書に記載のGPUは、分野に特化した並列処理アクセラレータである。CPUは通常、順次直列処理用に最適化された少数のコアから構成されるが、GPUは通常、複数のタスクを同時に扱うように設計された数千の小型でより効率的なコンピューティング・コアで構成される超並列アーキテクチャを有する。GPUは、高性能コンピューティング、ディープ・ラーニング及び人工知能の分析、並びに他の工学アプリケーションを高速化するためなど、グラフィックス以外の多くの目的に使用される。
GPUは、ディープ・ラーニング及びニューラル・ネットワークにとって理想的である。GPUは非常に多数の同時計算を実行し、ニューラル・ネットワークの訓練にかかる時間を、従来のCPU技術を用いた場合の数日から、わずか数時間に短縮する。
ディープ・ニューラル・ネットワークの大部分は、数百万のノードで構成され、且つ経時的に調整される「ブラック・ボックス」である。DNNの決定を解釈することは、不可能ではないとしても難解である場合があり、トラブルシューティング及び改良を困難にさせている。ディープ・ラーニングでは、ニューラル・ネットワークは多くのレベルの抽象化を学習する。それらは、単純な概念から複雑な概念まで様々である。各層は情報を分類する。このとき、各層は情報を洗練し、その情報を次の層に伝える。ディープ・ラーニングは層を積み重ね、マシンが「階層表現」を学習できるようにする。例えば、最初の層はエッジを探索してもよい。次の層は、角度を形成するエッジの集合体を探索してもよい。次の層は、エッジのパターンを探索してもよい。多くの層を経て、ニューラル・ネットワークは、例えば通りを横断する歩行者の概念を学習する。
図3は、交通標識を認識するためのニューラル・ネットワークの訓練を示す。ニューラル・ネットワークは、入力層(6010)、複数の隠れ層(6020)、及び出力層(6030)から構成される。訓練画像情報(6000)はノード(300)に入力され、ネットワークを介して前方に伝播する。正しい結果(6040)はノード(6011、6021、6031)の重みを調整するために使用され、このプロセスは数千の画像に対して使用され、それぞれが、修正された重みになる。十分な訓練の後、ニューラル・ネットワークは人間よりもさらに高い精度で、画像を正確に識別することができる。
C.NVIDIAのParker SoC及びDRIVE PXプラットフォーム
GPUは、CNNが適切に訓練される場合は車を操縦するために使用され得ることを実証した。レベル3~5の自動運転車両は、環境をナビゲートするために瞬時に多数の決定を行わなければならない。これらの選択は、初期のALVINN及びDAVEシステムの車線追従及びステアリング・アプリケーションよりもはるかに複雑である。
NVIDIAは、その初期の研究に続いて、Parkerと呼ばれるシステム・オン・チップ(当初はモバイル・アプリケーション用に設計された)を、DRIVE(商標)PX2と呼ばれる自律運転システム用のコントローラに適合させた。Parkerを備えたDRIVE(商標)PX2プラットフォームは、Autochauffeur及びAutoCruise機能をサポートした。
これまでに、業界安全基準を満たすことができるレベル4~5の機能のための自動運転システムの構築に成功した企業はない。これは、極めて困難なタスクである。この構築は、成功裏になされたことはなく、様々なアーキテクチャ、ハードウェア、及びソフトウェア・ベースのシステムにまたがる多数の技術を必要とする。無限の訓練及びコンピューティング能力があれば、すべての意思決定は、少なくとも理論的には、ディープ・ラーニング方法論で最もよく処理され得る。自動運転車両は、明示的なルールでプログラムされる必要はなく、むしろ、あらゆる可能な運転シナリオ及び適切な結果を表す大量のデータで訓練されたニューラル・ネットワークによって動作されることになる。自動運転車両は、無限の集合的な経験という利点を有し、平均的な人間の運転者よりもはるかに運転技術が高くなる。一部の運転習慣は、非公式で地方的であり、交通法で成文化されたものではなく地元住民に知られているものであるので、集合的な体験は、理論上は、地域の運転慣行に関するローカライズされた情報も含むことになる。
しかし、単一の統合ニューラル・ネットワークはおそらく、運転に必要なあらゆる決定を下せるわけではない。車両を動作させるには、従来技術と組み合わせた多様なAIニューラル・ネットワークが必要である。それぞれが専門分野を担当する様々なAIネットワークを使用すると、自動運転車両における安全性及び信頼性が向上する。ステアリングを制御するネットワークに加えて、自動運転車両は、歩行者検出、車線検出、標識の読み取り、衝突回避などの特定のタスクに焦点を当てて訓練されたネットワークを備えなければならない。ニューラル・ネットワークの単一の組合せがレベル3~5の機能を実現できたとしても、ニューラル・ネットワークの「ブラック・ボックス」の性質が、ASIL D機能の実現を非現実的なものにしている。
米国特許出願第16/101,232号 米国特許第9,742,869号明細書 米国特許出願公開第2015/0067672号明細書
既存の自動運転手法における問題を解決するために必要とされるものは、レベル3~5にまたがる1つの柔軟なアーキテクチャ、すなわち、ダイバーシティ及び冗長性のためにコンピュータ・ビジョン及び/又はADAS技法を活用及び効率的に利用し、ディープ・ラーニング・ツールとともに柔軟で信頼性の高い運転ソフトウェア・スタックのためのプラットフォームを提供する、包括的な機能安全性アーキテクチャを有するエンド・ツー・エンド・プラットフォームである。必要とされるものは、自動車、タクシー、トラック、バス、及び他の車両を含む広範囲の自動運転車両を可能にする柔軟で拡張可能なプラットフォームに統合された、より速く、信頼性がより高く、さらにいっそうエネルギー効率が良く、さらにいっそう空間効率の良いSoCである。必要とされるものは、商用ADASシステムを悩ませてきた誤判定及び過敏性のない、安全で、信頼性が高く、快適な自動運転を提供することができるシステムである。
実施例としては、レベル3、4、及び/又は5のために自動運転機能を容易にするシステム及び方法がある。本明細書におけるいくつかの例示的な実施例では、条件付き自動化レベル、高度自動化レベル、及び完全自動化レベル3、4、及び5は、プロセッサ構成要素が故障したときですら維持される。技術は、ダイバーシティ及び冗長性のためのコンピュータ・ビジョン及び/又はADAS技法を活用及び効率的に利用する包括的な機能安全性アーキテクチャを提供し、ディープ・ラーニング・ツールとともに柔軟で信頼性の高い運転ソフトウェア・スタックのためのプラットフォームを提供する、柔軟なアーキテクチャを有するエンド・ツー・エンド・プラットフォームをさらに提供する。本明細書における例示的な非限定的な技術は、自動車、タクシー、トラック、バス、及び他の車両を含む広範囲の自動運転車両を可能にする柔軟で拡張可能なプラットフォームに統合された、より速く、信頼性が高く、エネルギー効率が良く、空間効率の良いSoCを提供する。
本技術の実施例による、運転者支援、ADAS、及び自動運転のレベルを示す図である。 本技術の実施例による、ASILリスクを判定するための例示的な要因の表を示す図である。 本技術の実施例による、対象物を認識するためにニューラル・ネットワークを訓練する例示的なデータ・フローの図である。 本技術の実施例による、例示的な自動運転車両の図である。 本技術の実施例による、例示的なカメラ・タイプ及び車両上での所在地の図である。 本技術の実施例による、クラウド・ベース・データセンタと自動運転車両との間の通信のための例示的なデータ・フロー・プロセスの図である。 本技術の実施例による、例示的な自動運転ハードウェア・プラットフォームを示すブロック図である。 本技術の実施例による、自動運転車両内の高性能システム・オン・チップ(SoC)のための例示的な処理アーキテクチャを示すブロック図である。 本技術の実施例による、自動運転車両内の例示的な高性能SoCの構成要素図である。 本技術の実施例による、例示的なプログラマブル・ビジョン・アクセラレータ(PVA)のブロック図である。 本技術の実施例による、例示的なハードウェア・アクセラレーション・クラスタ・メモリ・アーキテクチャの図である。 本技術の実施例による、交通信号を解釈するためにディープ・ラーニング・アクセラレータ(DLA)上で動作する複数のニューラル・ネットワークの例示的な構成を示す図である。 本技術の実施例による、自動運転車両を制御するための例示的な高性能SoCアーキテクチャのシステム図である。 本技術の実施例による、例示的な非限定的なASIL要件の表である。 本技術の実施例による、高性能SoC内の機能安全性機構のブロック図である。 本技術の実施例による、3つのSoCを有する例示的なハードウェア・プラットフォームを示す図である。 本技術の実施例による、例示的なハードウェア・プラットフォーム・アーキテクチャを示す図である。 本技術の実施例による、CPUを含む例示的なハードウェア・プラットフォーム・アーキテクチャを示す図である。 本技術の実施例による、CPUを含む代替の例示的なハードウェア・プラットフォーム・アーキテクチャを示す図である。 本技術の実施例による、通信インターフェースを有する例示的なハードウェア・プラットフォーム・アーキテクチャを示す図である。 本技術の実施例による、自動運転システムのためのシステム図である。 本技術の実施例による、8つの高性能SoCとディスクリートGPU(dGPU)とを含む自動運転システムの例示的なアーキテクチャを示す図である。 本技術の実施例による、高性能SoCと4つのdGPUとを含む自動運転システムの例示的なアーキテクチャを示す図である。 本技術の実施例による、割り振られたASILを有する高レベル・システム・アーキテクチャのブロック図である。 本技術の実施例による、アービトレーション手順中の例示的なデータ・フローのブロック図である。 本技術の実施例による、割り振られたASILを有する例示的なシステム・アーキテクチャを示す図である。 本技術の実施例による、高度ADASシステムの例示的な構成を示す図である。 本技術の実施例による、自動運転アプリケーションのための例示的な仮想マシン構成を示す図である。 本技術の実施例による、自動運転システム内の仮想マシン上のアプリケーションの例示的な割り振りを示す図である。 本技術の実施例による、プリエンプションを用いた計算命令を実行するための例示的なワークフローである。 本技術の実施例による、自動運転システム内の機能安全性のためのパーティショニング・サービスの例示的な構成を示す図である。 本技術の実施例による、自動運転システム内の例示的な通信及びセキュリティ・システム・アーキテクチャを示す図である。 本技術の実施例による、自動運転システム内のハードウェア・インフラストラクチャに対応する例示的なソフトウェア・スタックを示す図である。 本技術の実施例による、自動運転システム内の機能安全性機構を有する例示的な構成を示す図である。 本技術の実施例による、自動運転システム内の仮想マシン・アプリケーションのための例示的な相互作用トポロジを示す図である。 本技術の実施例による、自動運転システム内の仮想マシン内で実行するゲスト・オペレーティング・システム内のエラーをモニタするためのフローチャートである。 本技術の実施例による、システム構成要素内で検出されたエラーのための安全性フレームワークにおける例示的なエラー報告手順を示す図である。 本技術の実施例による、ハードウェア検出ケース中のエラー・ハンドリングのための例示的な流れ図である。 本技術の実施例による、ソフトウェア検出ケース中のエラー・ハンドリングのための例示的な流れ図である。 本技術の実施例による、周辺構成要素に対応するパーティションの例示的な構成を示す図である。 本技術の実施例による、自動運転のための例示的なソフトウェア・システム図である。 本技術の実施例による、自動運転のための別の例示的なソフトウェア・システム図である。 本技術の実施例による、例示的な追従車線グラフを示す図である。 本技術の実施例による、車線検出を実行するようにニューラル・ネットワークを訓練するための入力として妥当な経路の例示的なアノテーションを示す図である。 本技術の実施例による、センサ較正を実行するための仮想ランドマークを検出することからの例示的な出力を示す図である。 本技術の実施例による、センサから作成された複数の画像上での追跡機構のためのポイント検出器からの例示的な出力を示す図である。 本技術の実施例による、LIDARセンサによって生成された空間分離を用いたフレーム間の反復的な最も近いポイント・アライメントを実行することからの例示的な出力を示す図である。 本技術の実施例による、例示的な自動化された自己較正器のブロック図である。 本技術の実施例による、例示的な軌跡推定器のブロック図である。 本技術の実施例による、例示的なピクセル単位クラス出力画像及び境界ボックスを示す図である。 本技術の実施例による、対象物追跡からの例示的な出力を示す図である。 本技術の実施例による、相対運動の範囲に基づいて時間的ベースラインを判定するためのプロセスを実行することからの例示的な出力を示す図である。 本技術の実施例による、接地平面をヒューリスティックに再定義するためのプロセスを実行することからの例示的な出力を示す図である。 本技術の実施例による、レーダ及びビジョン軌道上でマッピングを実行することからの例示的な出力を示す図である。 本技術の実施例による、例示的な動的占有率グリッドを示す図である。 本技術の実施例による、例示的な経路認知シナリオを示す図である。 本技術の実施例による、例示的な経路内判定を実行するためのシナリオを示す図である。 本技術の実施例による、例示的な待ち状態シナリオを示す図である。 本技術の実施例による、例示的な地図認知シナリオを示す図である。 本技術の実施例による、各ノードにおける点及び接線を有する例示的な有向グラフである。 本技術の実施例による、待ち状態を有する例示的な有向グラフを示す図である。 本技術の実施例による、有向グラフ内に追加の定義情報を表示するための例示的な代表的な概略図である。 本技術の実施例による、例示的なプランニング階層を示す図である。 本技術の実施例による、コントローラ・モジュールによって達成される軌跡への前方予測モデルからの計画軌跡をマップすることからの例示的な出力を示す図である。 本技術の実施例による、自動運転が可能である例示的なトラックを示す図である。 本技術の実施例による、自動運転が可能である例示的な2レベル・バスを示す図である。 本技術の実施例による、自動運転が可能である例示的な連結式バスを示す図である。 本技術の実施例による、自動運転が可能である例示的なはしご車を示す図である。
A.例示的な自動運転車両
図4は、例示的な自律運転車両(50)を示す。図示の実例における車両(50)は、人間の運転者及び/又は人間の乗員を収容できる車又はトラックなどの乗用車を含む。車両(50)は、シャーシ上に懸架された車体(52)を含み、この実例では、4本のホイール(54)及び関連する車軸から構成される。内燃機関、ハイブリッド発電装置、又はさらには全電力式エンジンなどの推進システム(56)は、トランスミッション(図示せず)を含み得るドライブ・トレインを介してホイール(54)の一部又は全部を駆動するように接続される。ステアリング・ホイール(58)は、推進システム(56)が動作して車両を推進するよう従事しているときに、ホイール(54)の一部又は全部を操縦して車両(50)を所望の経路に沿って方向付けるために使用され得る。レベル5の実施例では、ステアリング・ホイール(58)などは任意選択である。1つ又は複数のコントローラ(100(1)~100(3))は、以下でより詳細に説明するように、センサ・アレイからリアル・タイムで継続的に提供される信号に応答して、自動自律運転機能を提供する。
各コントローラは本質的に、リアル・タイムで、センサ信号を処理し、自律動作コマンドを自律運転車両(50)に出力する、且つ/又は人間の車両運転者の運転を支援するように動作することができる、1つ又は複数の搭載スーパーコンピュータである。各車両は、機能の安全性及び追加の機能のために、任意の数の別個のコントローラを有してもよい。例えば、コントローラ(100(1))は自動運転機能用のプライマリ・コンピュータの役割を果たすことができ、コントローラ(100(2))は機能の安全機能用のセカンダリ・コンピュータの役割を果たすことができ、コントローラ(100(3))はカメラ内蔵センサに人工知能機能を提供することができ、コントローラ(100(4))(図示せず)は、インフォテインメント機能を提供し、緊急時に追加の冗長性を提供することができる。
コントローラ(100)はコマンド信号を送信して、1つ又は複数のブレーキ・アクチュエータ(61)を介して車両ブレーキ(60)を動作させ、ステアリング・アクチュエータ(62)を介してステアリング・メカニズム(58)を動作させ、アクセラレータ/スロットル作動信号(64)も受信する推進ユニット(56)を動作させる。作動は、当業者に知られている方法によって実行され、用いる信号は通常、ブレーキ、加速度、ステアリング、フロント・ガラス・ワイパーなどを制御するために使用される現代の車内のネットワークであるコントローラ・エリア・ネットワークのデータ・インターフェース(「CAN:Controller Area Networkバス」)を介して送信される。CANバスは、それぞれがそれ自体の一意の識別子(CAN ID)を備えた数十のノードを有するように構成され得る。好ましい実施例では、CANネットワークは、100を超える異なるCANノードIDを含むことができる。バスは、ステアリング・ホイール角度、対地速度、エンジンRPM、ボタン位置、及び他の車両ステータス・インジケータを見つけるために読み取られ得る。CANバス・インターフェースに対する機能安全レベルは、通常ASIL Bである。車両内での通信には、FlexRay及びイーサネットを含む他のプロトコルが使用されてもよい。
車両モデルを使用する実施例の場合、作動コントローラは、スロットル、ブレーキ、ステアリング、及びシフトの制御を可能にする、専用のハードウェア及びソフトウェアを使用して取得されてもよい。ハードウェアは、車両のCANバスとコントローラ(100)の間のブリッジを提供し、方向指示器、車輪速度、加速度、ピッチ、ロール、ヨー、全地球測位システム(「GPS:Global Positioning System」)データ、タイヤ圧、燃料レベル、ソナー、ブレーキ・トルクなどを含む車両データを、コントローラ(100)に転送する。特殊用途のパトロール・カー及びセキュリティ・カー、ロボ・タクシー、トラクター・トレーラ構成を含む長距離トラック、耕うん用トラック、農業用車両、産業車両、並びに連結バスを含むがこれに限定されないバスを含む任意の他のメーカー及び型式の車両用に、同様の作動コントローラが構成されてもよい。
コントローラ(100)は、例えば、1つ又は複数の超音波センサ(66)、1つ又は複数のレーダ・センサ(68)、1つ又は複数の光検出及び測距(「LIDAR:Light Detection and Ranging」)センサ(70)、1つ又は複数の周囲カメラ(72)(典型的には、このようなカメラは、車体の周辺全体の領域を撮像するために車体(52)上の様々な場所に配置される)、1つ又は複数のステレオ・カメラ(74)(好ましい実施例では、少なくとも1台のこのようなステレオ・カメラは、車両経路での物体検出及び物体認識のための奥行き知覚を提供するために前方を向いている)、1つ又は複数の赤外線カメラ(75)、位置座標を提供するGPSユニット(76)、ステアリング角度を検出するステアリング・センサ(78)、速度センサ(80)(各ホイール(54)に1つ)、車体(52)の動きをモニタする慣性センサ又は慣性測定ユニット(「IMU:inertial measurement unit」)(82)(このセンサは、例えば、加速度計及び/又はジャイロ・センサ及び/又は磁気コンパスとすることができる)、タイヤ振動センサ(85)、並びに車両の周囲及び内部に配置されたマイクロホン(102)を含む、センサ・アレイの入力に応答して、自動運転出力を提供する。当業者に知られているように、他のセンサが使用されてもよい。
コントローラ(100)はまた、計器クラスタ(84)から入力を受け取り、ヒューマン・マシン・インターフェース(「HMI:human-machine interface」)ディスプレイ(86)、可聴報知器、拡声器、及び/又は他の手段を介して、人間が知覚可能な出力を人間の操作者に提供することができる。速度、時間、他のよく知られた情報などの従来の情報に加えて、HMIディスプレイは、地図及び車両の位置、他の車両の位置(占有グリッドを含む)、さらにはコントローラによる物体及びステータスの識別に関する情報を、車両の乗員に提供してもよい。例えば、コントローラが一時停止標識、注意標識の存在、又は信号機の変化を識別し、適切な動作をしているとき、HMIディスプレイ(86)は、乗客に警報を出し、コントローラが意図した通りに機能しているという安心感を車両の乗員に与えることができる。
計器クラスタ(84)は、「本技術を実行するためのAIスーパーコンピュータ・プラットフォーム」という見出しのセクション以降、以下で説明する高性能システム・オン・チップを含む、ディープ・ラーニング及び人工知能機能を実行するように構成された別個のコントローラ/スーパーコンピュータを含み得る。
車両(50)は、自律運転に使用されるニューラル・ネットワークの訓練及び改良を助けるために使用されるのが好ましいデータを収集する。車両は、モデム(103)、好ましくは変調及び復調機能を提供し、且つコントローラ(100)がワイヤレス・ネットワーク(1100)を介して通信することを可能にするシステム・オン・チップを含む。モデム(103)は、当技術分野で知られているように、ベースバンドからRFへのアップ・コンバージョン及びRFからベースバンドへのダウン・コンバージョンのためのRFフロント・エンドを含み得る。周波数変換は、当技術分野で知られているように、既知のダイレクト・コンバージョン・プロセス(ベースバンドからRFへ直接、及びその逆)を介して、又はスーパー・ヘテロダイン・プロセスを介してのいずれかによって実現され得る。代替として、そのようなRFフロント・エンド機能は、別個のチップによって提供されてもよい。モデム(103)は、LTE、WCDMA(登録商標)、UMTS、GSM、CDMA2000、又は他の既知の広く使用されているワイヤレス・プロトコルなどのこれらに限定されない1つ又は複数のワイヤレス・プロトコルに実質的に準拠するワイヤレス機能を含むことが好ましい。
1.カメラ
ソナー及びレーダと比較して、カメラはわずかなコストでより豊富な特徴のセットを生成する。したがって、自律運転車両(50)は、車両の全周囲の周辺の画像を捕捉する複数のカメラ(72、73、74、75、76)を含む。カメラのタイプ及びレンズの選択は、機能の性質とタイプによって異なる。車両は、車両の周辺を完全に対象範囲とするために、カメラのタイプとレンズを混合したものを有することが好ましく、一般に、狭いレンズは広視野を有していないが、さらに遠くまで見ることができる。好ましい実施例では、車両は12台のカメラを含むが、より多い又はより少ない数のカメラが使用されてもよい。車両のすべてのカメラ位置は、ギガビット・マルチメディア・シリアル・リンク(GMSL:Gigabit Multimedia Serial Link)及びギガビット・イーサネットなどのインターフェースをサポートすることが好ましい。
図5は、12台のカメラ(72、73、74、76)及び1台の赤外線カメラ(75)を用いた、カメラのタイプ及び位置の一実例を示す。
正面向きカメラは、正面の経路及び障害物を識別するのに役立ち、占有グリッドを作成すること、及び好ましい車両経路を決定することに不可欠な情報を提供する。正面向きカメラは、緊急ブレーキ、歩行者検出、及び衝突回避を含むLIDARと同じADAS機能の多くを実行するために使用され得る。正面向きカメラは、車線逸脱警告(「LDW」)、自律走行制御(「ACC」)、及び交通標識認識などの他の機能を含む、ADAS機能及びシステムのためにも使用され得る。
様々なカメラが正面向き構成で使用されてもよく、例えば、相補型金属酸化膜半導体(CMOS:complementary metal oxide semiconductor)カラー・イメージャ、並びにCAN、FlexRay、及びイーサネットなどの1つ又は複数のデータ通信インターフェースを含む単眼カメラ・プラットフォームが含まれる。
正面向きワイド・ビュー・カメラ(73)は、周囲から視野に入る物体(例えば、歩行者、交差点、又は自転車)を知覚するために使用され得る。当業者に知られているように、他のワイド・ビュー・カメラ及びレンズが使用されてもよい。
好ましい実施例では、ロング・ビュー・ステレオ・カメラ・ペア(74)は、深度ベースの物体検出、特にニューラル・ネットワークによってまだ訓練されていない物体の検出に使用され得る。ロング・ビュー・ステレオ・カメラ(74)は、物体の検出及び分類、並びに基本的な物体追跡にも使用され得る。自動車アプリケーション用ステレオ・カメラは、プログラマブル論理(「FPGA」)と、統合されたCAN又はイーサネットのインターフェースとを単一チップ上に有するマルチ・コア・マイクロプロセッサとを設けた1つのスケーラブルな処理ユニットを備える、統合制御ユニットを含み得る。ユニットは、画像内のすべての地点に対する距離推定を含む、車両の環境の正確な3Dマップを生成する。
同様に、適切な代替手段は、2つのカメラ・レンズ(左右に1つずつ)と、車両から目標物体までの距離を測定するように構成され得、且つ自動緊急ブレーキ及び車線逸脱警告機能をアクティブにするように設計された画像処理チップとから構成された、コンパクト・ステレオ・ビジョン・センサを含む。当業者に知られているように、本技術を実践するために他のステレオ・カメラが使用されてもよい。
サイド・カメラ(72)はサラウンド・ビュー用に使用され、占有グリッドを作成及び更新するために使用される情報、並びに側面衝突の警告を提供することができる。好ましい実施例では、4台のワイド/魚眼ビュー・カメラが使用され、車両の前面、後面、及び側面に配置される。代替として、車両は、3台の物理的な周囲専用カメラ(72)(周囲左、右、後)を使用し、物理的なフロント・ワイド・カメラ(73)を4台目の論理的なサラウンド・ビュー・カメラとして活用してもよい。ウィング・ミラー・アセンブリが使用される場合、これらは通常、カメラの取付けプレートがウィング・ミラー(71)の形状と一致するようにカスタム3D印刷される。例示的な設計は、カメラを従来のミラーに統合し、より広い視野を提供する。サイド・カメラは、キャビンの各コーナーにある4本の柱に配置されてもよい。
リア・カメラは、駐車支援、サラウンド・ビュー、後方衝突警告、並びに占有グリッドの作成及び更新のために使用され得る。正面向きカメラとしても適したカメラを含む、多種多様なカメラが使用されてよい。リア・カメラは、上記のタイプのステレオ・カメラ(74)とすることもできる。
本明細書に提供されるカメラ・タイプは、制限なく提供されている実例である。およそどのタイプのデジタル・カメラも、本技術と共に使用するために適合され得る。代替のカメラは、(限定されないが)60fpsでグローバル・シャッターを含む任意の利用可能なタイプとすることができる。好ましくは、カラー・フィルタ・パターンはRCCBであり、感度を高めるためにクリア・ピクセル・カメラが使用される。以下で説明するように、本技術は、冗長設計又はフェイル・セーフ設計の一部として既知のADAS機能を実行するために設置されたカメラも含むこともできる。例えば、車線逸脱警告、交通標識支援、及びインテリジェント・ヘッドランプ制御を含む機能を提供するために、多機能モノ・カメラが設置されてもよい。
好ましい実施例では、すべてのカメラが同時にビデオ情報を記録及び提供する。(フロント・ガラス・ミラーで反射されたダッシュボードからの反射が主な懸念事項であるので)迷光だけでなく、カメラのデータ捕捉に干渉する可能性がある車内からの反射も遮断するために、すべてのカメラがカスタム設計(3D印刷)アセンブリに取り付けられることが好ましい。典型的なカメラの機能安全レベルは、ASIL Bである。
2.LIDAR
自律運転車両(50)は、物体及び歩行者の検出、緊急ブレーキ、並びに衝突回避のためにしばしば使用される1つ又は複数のLIDARセンサ(70)を含むことが好ましい。LIDARセンサは、短レーザ・パルスがセンサから物体に移動して戻るまでの飛行時間(「ToF:Time of Flight」)を測定し、既知の光速から距離を計算することによって、距離を測定する。LIDARは、より小さい物体を検出し、比較的見通しが良い大気条件下で距離を検出するのに効果的である。しかし、LIDARは悪天候ではうまく機能せず、泥又はほこりの多い物体など反射しない物体の検出にはあまり効果的ではない。したがって、レーダとは異なり、LIDARセンサは通常、見通しが良く遮るものがない視線を有していなければならず、センサは、汚れ、ほこり、又は他の障害物によって隠れてはならない。
好ましい実施例では、車両(50)は、ギガビット・イーサネット・スイッチにデータを提供する、イーサネット用に事前に配線された6つの周囲LIDARセンサを有するが、より多い又はより少ない数のLIDARセンサが使用されてもよい。
本技術と共に多くの異なるタイプのLIDAR技術が使用されてもよい。一実施例では、使用されるLIDARセンサは、視野360度での物体及びそれらの距離のリストを提供することが可能である。代替の実施例では、水平視野360度を提供するLIDARセンサ。商用のLIDARセンサは、宣伝されている距離が約100mであり、精度2~3cm、(例えば)100Mbpsイーサネット接続のサポートを備える場合がある。
さらに別の実施例では、1つ又は複数の非突出LIDARセンサが使用され得る。これらの実施例は、小型デバイスとして実装されたセンサを含み、このセンサは、車両の前面、側面、及びコーナーに埋め込まれる場合があり、最大で水平視野120度及び垂直視野35度を提供し、低反射率の物体でも距離200メートル、自動車完全性安全レベル評価ASIL Bを備えるものとして宣伝されている。一般に、前面搭載LIDARは、水平視野が45度から135度の間で構成されることが好ましい。
別の実施例では、3DフラッシュLIDARなどのより新しいLIDAR技術も使用され得る。3DフラッシュLIDARは、レーザの光を送信源として使用して、車両周囲の約200mを照射する。フラッシュLIDARユニットは、レーザ・パルスの通過時間及び各画素の反射光を記録するレセプタを含み、それにより、車両から物体までの距離に対応する。フラッシュLIDARにより、すべてのレーザ光を用いて、高精度で歪みのない周囲の画像を生成することができる。好ましい実施例では、自動運転車両の各側に1つずつ、4つのフラッシュLIDARが配備される。利用可能な3DフラッシュLIDARシステムは、ファン以外に可動部がない、言い換えれば、走査型LIDARデバイスではない、ソリッド・ステートの3D凝視アレイLIDARカメラを含む。非限定的な一実例では、フラッシュLIDARデバイスは、フレーム当たり5ナノ秒のクラスIの(目に安全な)レーザ・パルスを使用し、3D距離点群及び共同登録された強度データの形式で、反射したレーザ光を捕捉する。フラッシュLIDARは可動部がないソリッド・ステート・デバイスであるので、モーション・ブラー、振動、及び衝撃の影響を受けにくい。LIDARの機能安全レベルは通常ASIL Bである。
3.超音波センサ
自律運転車両(50)は、1つ又は複数の超音波センサ(66)を含むことが好ましい。前面、後面、さらには側面に配置される超音波センサは、駐車支援のために、且つ占有グリッドを作成及び更新するために最もよく使用される。しかし、ソナーの有用性は、高速では損なわれ、低速でも作動距離は約2メートルに制限される。多種多様な超音波センサが使用されてよい。適切な超音波センサは、様々な検出距離(例えば、2.5m、4m)用に設計され得る。典型的な超音波センサの機能安全レベルは、ASIL Bである。
4.赤外線(熱)センサ
特定の実施例では、特に暗闇の中及び霧を通して物体を検出、分類、及び識別する車両の能力を高めるために、自律運転車両(50)は1つ又は複数の赤外線カメラ又は熱カメラ(75)を含むことが好ましい。本技術は、アクティブ赤外線システム又はパッシブ赤外線システムのいずれかを含むことができる。アクティブ・システムは、ゲーティングされる手法又はゲーティングされない手法のいずれかを使用して、赤外線光源を用いて車両の周囲を赤外線で照射する。ゲーティングされるアクティブ・システムは、パルス赤外線光源及び同期赤外線カメラを使用する。アクティブ・システムは赤外線光源を使用するので、歩行者、自転車に乗った人、及び動物などの生物を検出する際は十分に機能しない。
パッシブ赤外線システムは、サーモグラフィック・カメラを使用して、物体によって放出された熱放射を検出する。パッシブ赤外線システムは、生物を検出する際にうまく機能するが、特に暖かい天候では十分に機能しない。パッシブ赤外線システムは、一般にアクティブ赤外線システムよりも低い解像度で画像を提供する。赤外線システムは熱を検出するので、特に人及び動物を検出する車両の能力を高め、車両の信頼性を向上させ、安全性を高める。
本技術と共に多種多様な赤外線センサが使用されてもよい。適切な赤外線システムには、(実装例では)視野36度、人に対する有効距離が300m、自動車などの熱を放出するより大きな物体に対しては約2倍の有効距離で320×240画素の画像を作成する、コンパクト・サーマル・イメージング・カメラが含まれるが、これに限定されない。ズーム能力を含む追加の変形形態を必要とする用途では、長波長赤外線(「LWIR:longwave infrared」)サーマル・カメラ・コアが使用され得る。代替として、特に開発車両の場合、赤外線センサには、標準のUSB接続又は任意の適切なデータ通信規格を介して分析を提供する熱データ・ポートが装備され得る。典型的な赤外線カメラの機能安全レベルは、ASIL Bである。
5.レーダ
自律運転車両(50)は、1つ又は複数のレーダ・センサ(68)を含むことが好ましい。レーダは長距離の車両検出によく適しており、近接する車の検出はソナーを用いて解決され得る。一般に、レーダは距離を正確に検出するので、暗闇及び悪天候の条件下でも機能する。しかし、レーダは、マンホール蓋、大きな缶、排水格子、及び他の金属製の物体を含む誤検知を起こしやすい。加えて、レーダは、方位に関する有意義な情報を提供せず、横方向の位置ではしばしば不正確であり、これは湾曲した高速道路及び急カーブにとって問題である。
本技術と共に多種多様なレーダ・センサが使用されてもよい。レーダ・センサは、制御のため及び物体追跡データへアクセスするためにCANを使用し、生データにアクセスするために任意選択のイーサネットを用いることが好ましい。車(50)は、サイド・レーダ・センサも有することが好ましく、レーダ・センサからのデータは、CANバスを介して提供される。
適切なセンサには、前方及び後方の両方のレーダ検出範囲に使用され得るレーダ・センサが含まれるが、これに限定されない。他の適切なセンサには、複数の構成、すなわち、より長距離でより狭視野である構成と、より短距離でより広視野である構成とを有することができる、パルス・ドップラー・レーダが含まれ得る。特定の構成に応じて、より少ない、より多い、又は代替の構成も可能である。他の実施例では、レーダ・センサは、側方のより短距離の検出範囲を提供するために使用され得る。センサが側方の検出範囲用に使用される場合、センサを使用して物体追跡及び車線割当て機能を提供することができる。
長距離レーダは、ACC機能用にしばしば使用され、短距離及び中距離レーダは、交差交通警報(正面向きレーダの場合)、死角検出、及び後方衝突警告にしばしば使用される。適切な長距離レーダ・システムには、約250m距離で、2つの独立した走査によって実現される広範な視野を提供するレーダ・システムが含まれるが、これに限定されない。例示的な実施例は、静止物体と移動物体を区別するセンサを含むことができ、緊急ブレーキ支援用又は前方衝突警告用の従来のADASで使用され得る。
他の適切な長距離レーダ・システムには、複数(例えば、6本以上)の固定レーダ・アンテナと高速CAN及びFlexRayインターフェースとを備えたモノスタティック・マルチモーダル・レーダが含まれるが、これに限定されない。中央の4本のアンテナは、隣接する車線の交通からの干渉を最小限に抑えて車両の周囲を高速で記録するように設計される、集束ビーム・パターンを作成する。外側の2本のアンテナは視野を拡大し、車両の車線に出入りする車両を迅速に検出することを可能にする。
中距離レーダ・システムは、最大距離160m(前方)又は80m(後方)、及び最大視野42度(前方)又は150度(後方)を有する。適切な短距離レーダ・システムには、リア・バンパの両端に設置されるように設計されたレーダ・センサが含まれるが、これに限定されない。このようなレーダ・センサ・システムは、リア・バンパの両端に設置されると、後方の死角、及び車両の隣の死角を常にモニタする2つのビームを作成する。例示的な短距離レーダ・システムは、死角検出用又は車線変更支援用の従来のADASシステムで使用され得る。典型的なレーダ機能安全レベルは、ASIL Bである。
6.GPS
自律運転車両(50)は、マッピング、知覚、占有グリッド、及び経路計画機能を支援するために、GPS及び/又は補助GPS(「aGPS:assisted GPS」)を含むGPSセンサ(76)を含むことが好ましい。イーサネットとシリアル(RS-232)のブリッジを備えたUSBコネクタを使用するGPSを含むがこれに限定されない、任意の数の異なるGPSセンサ及びコネクタが使用されてよい。
7.慣性測定単位(IMU)
自律運転車両(50)は、加速度計、ジャイロスコープ、及び磁力計などの慣性測定ユニット・センサ(IMU)(82)を含むことが好ましい。IMU(82)は、車両(50)の後車軸の中心に配置されることが好ましい。
本技術を制限することなく、様々な異なるIMUセンサが使用され得る。例えば、実施例は、6軸アプリケーション(加速度計及びジャイロスコープ)及び9軸アプリケーション(加速度計、ジャイロスコープ、及び磁力計)を含み得る。代替として、磁力計を使用するのではなく、IMU(82)は、MEMS慣性センサと、高感度GPSレシーバと、位置、速度、及び姿勢の最適な推定を提供するための拡張カルマン・フィルタリング・アルゴリズムとを組み合わせる、小型の高性能GPS補強型慣性航法システム(GPS/INS:GPS-Aided Inertial Navigation System)として実装され得る。実装例は、GPSから慣性センサまでの速度の変化を直接観測して相関させることによって、磁気センサからの入力を必要とせずに進行方向を推定することができる。代替として、IMU(82)及びGPS(76)は、単一の統合ユニットに組み合わされてもよい。
8.ワイヤレス接続及びネットワーク・アクセス
レベル3~5の機能は、車両が運転するときに継続的に学習することを車両に要求し、理想的には、レベル3~5の車両は、車両自体の経験だけでなく、道路上の他の車両の経験からも学習する。したがって、自律運転車両(50)は、外部ネットワーク及び他の車両へのワイヤレス接続のためのワイヤレス・モデム(103)及びアンテナ(101)を含むことが好ましい。
各レベル3~5の車両によって収集されたデータは、セルラー・ネットワーク又は他の地上ネットワーク(利用可能な場合はLTE、WCDMA(登録商標)、UMTS、CDMA2000、HSPA+、GSM、又は衛星無線ネットワークなど)を介して、ディープ・ラーニング・スーパーコンピュータを含むクラウド・ベースのインフラストラクチャに転送されるべきである。代替として、データは、駐車場、給油所、及び/又は停止信号までも含むWiFiを備えたワイヤレス・ホットスポットを介してクラウドに転送されてよい。パケットが小さい場合は、ページング・ネットワーク・インフラストラクチャが使用されてもよい。車両(50)によってネットワークに提供されるデータは、カメラ画像、LIDARデータ、超音波センサ・データ、及びレーダ・データを含み得るが、これらに限定されない。
好ましい実施例では、クラウド・ベースのディープ・ラーニング・インフラストラクチャは、人工知能を使用して、車両から受信したデータを分析し、それをリアル・タイムのインテリジェント推論のための最新のリアル・タイム・ニューラル・ネットワークに組み込む。好ましい実施例では、ネットワーク・インフラストラクチャは、図6に示すように、ディープ・ラーニング用のGPUを備えたデータセンタを使用する。
図6に示すように、クラウド・ベースのディープ・ラーニング・インフラストラクチャは、ワイヤレス・ネットワークのアップリンク(1101)及びダウンリンク(1102)を介して自律運転車両(50)に更新を提供する。車両(50)に提供される更新には、高精度地図すなわちHD地図(1002)に対する更新、及びコントローラ(100)内のメモリに読み込まれた1つ又は複数のニューラル・ネットワーク(1001)に対する修正が含まれる場合があり、この修正には、現地の他の車両から受け取った新しい訓練及び経験によって、又はネットワーク・データセンタで実行された訓練によって生じる更新が含まれ得る。地図更新(1002)は、建設現場、道路の穴、迂回路、洪水、及び他の障害物に関する情報を含み得る更新されたHD地図情報をさらに含む場合がある。
各レベル3~5の車両によって収集されたデータは、セルラー・ネットワーク又は他のワイヤレス・ネットワーク(利用可能な場合はLTEなど)を介して、ディープ・ラーニング・スーパーコンピュータ・サーバを含むクラウド・ベースのインフラストラクチャに転送されるべきである。ディープ・ラーニング・インフラストラクチャは、人工知能を使用してデータを分析し、それをリアル・タイムのインテリジェント推論のための最新のリアル・タイム・ニューラル・ネットワークに組み込む。
ディープ・ラーニング・インフラストラクチャは、GPU技術を含むことが好ましい。ディープ・ラーニング・スーパーコンピュータは、GPUを搭載したサーバ、並びに/又はNVIDIA Corporationによって開発されたDGX及びDGXステーション・マシンなどの専用AIコンピュータを含むことが好ましい。代替として、本技術は、CPU搭載のデータセンタのみを使用するディープ・ラーニング・インフラストラクチャを用いて実践されてもよい。
ディープ・ラーニング・インフラストラクチャは、高速でリアル・タイムの推論が可能であり、その能力を使用して、車両(50)内のプロセッサ、ソフトウェア、及び関連ハードウェアの状態を評価及び検証することができる。例えば、ディープ・ラーニング・インフラストラクチャは、画像のシーケンスと、その画像のシーケンスにおいて車両(50)が(コンピュータ・ビジョン又は他の機械学習物体分類技法を介して)位置特定した物体とを含む定期的な更新を、車両(50)から受け取ることが好ましい。ディープ・ラーニング・インフラストラクチャは、それ自体のニューラル・ネットワークを実行して物体を識別し、それらを車両(50)によって識別された物体と比較し、結果が一致せず、インフラストラクチャが車両(50)内のAIが誤動作していると判断した場合、車両(50)に信号を送信して、フェイル・セーフ・コンピュータに、制御を担い、乗員に通知し、安全な駐車操作を完了するように指示することができる。
推論については、インフラストラクチャは、GPUを搭載したサーバと、NVIDIAのTensorRT 3などの1つ又は複数のプログラム可能な推論アクセラレータとを含むことが好ましい。GPU搭載サーバと推論アクセラレーションの組合せにより、リアル・タイムの応答性が可能になる。代替として、性能がそれほど重要ではないとき、CPU、FPGA、及び他のプロセッサを搭載したサーバが推論に使用されてよいが、それらは、GPU/TensorRT 3ソリューションを搭載したサーバの性能を下回るので、好ましくない。
図6は、車両(50)がワイヤレス・ネットワークを介して情報を提供し受け取る一実施例を示す。クラウド・ベースのインフラストラクチャ(5000)は、複数のGPU搭載サーバ(5001、5002、...500N)を含む。図6に示す好ましい実施例では、各GPU搭載サーバは、高速相互接続(805)(NVIDIAによって開発されたNVLinkインターフェースなどであるが、これに限定されない)と、PCIe接続(902)とで相互接続された、複数のGPU(802)、PCIeスイッチ(804)、及びCPU(901)を備える。他の実施例では、各サーバは、NVLink及び/又はNVSwitch SoCなどの高速相互接続で接続された複数の(例えば、16、32、又はそれより多い)GPUを備えることができる。ワイヤレス・アップリンク(1101)において、車両(50)は、最近開始された道路工事などの予期しない又は変更された道路状況(1003)を示す画像をアップロードする。ワイヤレス・ダウンリンク(1102)において、車両は、更新されたニューラル・ネットワーク(1001)、並びに交通状況及び道路状況に関する情報を含む地図情報(1002)をダウンロードする。
9.追加のセンサ及びシステム
上記のセンサに加えて、自動運転車両は、他のセンサ、ADASシステム、及び警告システムを含み得る。このようなシステムには、車両のタイヤにおいて空気圧が低下したときに自動的に検出するシステムが含まれるが、これに限定されない。空気圧低下警告システムは、単純なセンサを使用してタイヤ(80)の角速度を測定し、角速度は、タイヤが収縮して小さくなるにつれて増加する。空気圧低下警告システムは、タイヤの振動数(85)も測定し、振動数は、タイヤの空気圧が低下すると変化する。
車両(50)は、駆動軸速度(80)とタイヤ振動(85)との差を使用して滑りやすい道路の存在を判定する、滑りやすい道路検出のための他の利用可能なシステムを組み込んでもよい。利用可能なシステムには、滑りやすい道路検出システムが含まれる。例示的な滑りやすい道路検出システムは、様々な運転状況における駆動軸と自由回転車軸の速度の差を推定するために使用され得、これにより摩擦のレベルを推測して、凍結した道路又は滑りやすい道路を識別することができる。同様に、代替のソリューションは、乾いたアスファルト道路などの滑りにくい道路で収集されたデータを、滑りやすい道路で収集されたデータと比較する。センサは、回転速度及び振動数を、乾いたアスファルト道路で測定されたものと比較し、凍結した道路又は滑りやすい道路を識別する。
本技術と共に多数のソフトウェア製品が使用されてもよく、それらには、車輪速度などの既存の自動車グレードのセンサからの信号を使用してリアル・タイムで道路の摩擦を継続的にモニタして、道路の摩擦及び粗さを決定し、速度バンプを検出し、可能性のある道路の穴の影響の損傷評価をする、ソフトウェア・システムが含まれる。他のシステムには、タイヤ圧インジケータ(「TPI:Tire Pressure Indicator」)、及び相対回転半径情報とホイール振動測定の両方を使用して空気圧不足を検出できる間接タイヤ圧モニタリング・システム(「TPMS:tire-pressure monitoring system」)が含まれる。例示的なTPI及びTPMSシステムは、主にアンチ・ロック・ブレーキ・システム(「ABS:anti-lock braking system」)(60)及び電子安定性制御システム(「ESC:electronic stability control」)の一部である車輪速度センサの信号からタイヤ圧を推定する。TPIは、車両ですでに利用可能な信号を使用し、1本又は複数のタイヤの空気が低下しているかどうかを検出する。計算は、車両モデル、並びに多数の高性能信号処理アルゴリズム及びセンサ・フュージョン・アルゴリズムに基づく。ルーズ・ホイール・インジケータ(「LWI:Loose Wheel Indicator」)は、ABS及びESCシステムからの情報を使用して車輪のボルト/ナットが車輪位置で緩んだことを検出するために含まれる場合があり、タイヤ・グリップ・インジケータ(「TGI:Tire Grip Indicator」)は、道路とタイヤの間の得られる摩擦を常に推定する。
本技術は、滑りやすい道路状態を検出するためのセンサ及び/又はシステムを含む他の安全システムと共に使用されてもよい。ロード・アイは、氷と水とで異なって吸収されるいくつかの赤外線レーザ波長において道路の反射率を測定する。
これらの実例は、ASIL D安全レベルでレベル3~5の全性能を実現するために使用され得る、可能なセンサ及びシステムのごく一部にすぎない。自動運転システムは、カメラ、レーダ、LIDAR、超音波、赤外線、GPS、IMU及び/又はHD地図からの大量のデータをリアル・タイムで処理し、車を安全に、確実に、且つ快適に制御するためのコマンドを生成できなければならない。自動運転システムは、変化する状況に対して車両が瞬時に正しく反応することを保証しなければならない。この困難なタスクには、例えば「自動運転車両用のシステム・アーキテクチャ及びハードウェア」及び「本技術を使用した自律運転車両の追加の実例」というセクションにおいて以下で詳細に説明する、高性能AI機能、複数のニューラル・ネットワーク、高性能CPU、GPU、及びハードウェア・アクセラレータ機能を提供する、新しいスーパーコンピュータ・プラットフォームが必要である。
B.自動運転車両用のシステム・アーキテクチャ及びハードウェア
1.本技術を実行するためのAIスーパーコンピュータ・プラットフォーム
自律運転機能は、多数の別個の機能を迅速に、正確に、安全に、及び効率的に実行できるスーパーコンピュータを必要とするので、単一のプロセッサでレベル3~5の自動運転車両機能を提供することはできない。むしろ、本技術を実行するための高性能プラットフォーム及び高性能SoCは、複数のタイプのプロセッサを有し、「作業に適したツール」、及び機能安全のための処理の多様性を提供することが好ましい。例えば、GPUはより高精度のタスクによく適している。一方、ハードウェア・アクセラレータは、機能のより特有のセットを実行するように最適化され得る。複数のプロセッサを組み合わせたものを提供することによって、高性能プラットフォーム及び高性能SoCは、レベル3~5の自動運転車両に関連する複雑な機能を迅速に、確実に、効率的に実行できるツールの完全なセットを含む。
図7は、自動運転システム及び半自動運転システムに必要なコンピューティング処理能力を提供する高性能プラットフォーム(100)の例示的な上位レベル図である。
プラットフォーム(100)は、図7に示すコンポーネント(200~500)のうちの1つ又は複数に対して別個の個別コンポーネントを使用して実装され得る。プラットフォーム(100)は、小型で強力且つ効率的なSoCにおいて、単一のダイ上に実装されているコンポーネント(200~500)と共に実装されることが好ましい。プラットフォーム(100)及びSoCは、以下でさらに詳述するように、図7に示していない他のコンポーネントを含むこともできる。
上位レベルでは、CPU(200)は、それぞれが1つ又は複数のCPUコアを備える1つ又は複数の汎用中央処理装置(CPU)とすることができる。GPU(300)は、それぞれが数千のGPUコアを備える1つ又は複数のグラフィックス処理ユニット(GPU)とすることができる。各GPUは、任意の高度な処理タスク、特に超並列処理から利益を得る複雑なタスクに使用され得る。各GPUは通常、そのようなコンピュータ・グラフィックス及び並列処理に対して、各CPUよりもワット当たりの性能が優れている。
プラットフォーム(100)は、それぞれが異なる機能又は機能の異なるカテゴリ用に最適化された、様々な異なるハードウェア・アクセラレータで構成され得る加速クラスタ(400)を含む。
例えば、特定の非限定的な実施例では、加速クラスタ(400)は、中程度の距離での車線検出及び冗長物体検出のために、コンピュータ・ビジョン・アルゴリズムを実行するためのモジュールを含み得る。モジュールは、1つ又は複数の埋め込みプログラマブル・ビジョン・アクセラレータ(「PVA」)を含むことができ、これらはI/O(170)を介して1つ又は複数のセンサ(例えば、カメラ、レーダ、LIDAR)から受信したセンサ・データ(例えば、カメラ、レーダ、LIDARからのデータ)からの知覚タスク用に最適化され得る。各PVAは通常、このような知覚データ処理に対して、各CPU又はGPUよりもワット当たりの性能が優れている。加速クラスタ(400)は、1つ又は複数のディープ・ラーニング・アクセラレータ(「DLA」)も含み得る。各DLAは、汎用のCPU、GPU、又はFPGAで実行した場合と同じネットワークよりもワット当たりの性能が高い特定のニューラル・ネットワークを実行するように設計され得る。例えば、1つ又は複数のDLAは、I/O(170)を介して1つ又は複数のセンサ(例えば、カメラ、レーダ、LIDAR)から受信した知覚データ(例えば、カメラ、レーダ、LIDARからのデータ)中の特徴を検出するための畳み込みニューラル・ネットワーク(「CNN:convolutional neural network」)を処理するように特別に設計され得る。
プラットフォーム(100)は、RAM、SRAM、DRAM、VRAM、フラッシュ、ハード・ディスク、並びに少なくとも1ビットのデータを格納できる他のコンポーネント及びデバイスを含む1つ又は複数のストレージ要素から構成され得るストレージ(500)をさらに含む。ストレージ(500)は、オン・チップ・ストレージを含むことが好ましく、CPU(200)及び/又はGPU(300)と共に使用するためのL2又はL3キャッシュを備え得る。
入力/出力(170)は、ディスプレイ、センサ、キーボード、及びユーザ・インターフェース・デバイスを含む1つ又は複数の入力デバイス及び/又は出力デバイスにデータ(例えば、コマンド、応答、情報)を通信するための、1つ又は複数の入力/出力(I/O)インターフェース(及び/又はそのようなインターフェースを実装するコンポーネント)とすることができる。
バス(160)は、コンポーネント(200~500)がI/O(170)を介して相互に、また同様に入力デバイス及び/又は出力デバイスとデータ(例えば、コマンド、応答、情報)を交換することを可能にする、1つ又は複数のリンクとすることができる。バス(160)は、イーサネット、CAN、I2Cバス、又はPCエクスプレス・バスを含むがこれらに限定されない、1つ又は複数のバス規格、スイッチ、及びネットワークを備えることができる。
2.本技術を実行するための高性能システム・オン・チップ
好ましい実施例では、プラットフォーム(100)は高性能SoCを備える。本技術の高性能SoCは自律運転車専用に構築されており、モバイル・チップ、又は自動車用に転用されたデスクトップではない。むしろ、SoCはL3~5の機能用に最適化された特定の機能を備えた自律運転車で使用するために設計されたAIスーパーコンピュータである。SoCは、ISO26262機能安全仕様などの重要な自動車規格に適合するように設計されることが好ましい。好ましい実施例では、高性能SoCは少なくともASIL Cの機能安全レベルを有する。
図8及び図9は、本技術を実行するための好ましい実施例についての高性能SoC(100)の上位レベル図である。
a)CPU複合体
図8及び図9に示すように、SoCは、本明細書で「CPU」又は「CCPLEX」と呼ばれる高速CPUクラスタ又はCPU複合体(200)を含む。CCPLEXは一般に、複数のCPUコア(201)及び関連するL2キャッシュ(202)を含む直列作業の実行を担当する。一実施例では、CCPLEXは、コヒーレント・マルチプロセッサ構成(200)に8つのCPUコア(201)を含む。CCPLEXは同時クラスタ動作をサポートしており、クラスタの任意の組合せが、任意の所与の時間にアクティブになり得ることを意味する。
一実施例では、CPUコアは、4つのデュアル・コア・クラスタとして編成され、各クラスタは、2MBの専用のレベル2(L2)ユニファイド・キャッシュ(202)を有する。加えて、高速コヒーレンシ・ファブリックは、これらのプロセッサ複合体を接続し、必要に応じて8つのコアすべてでヘテロジニアス・マルチ・プロセッシングを可能にすることが好ましい。
CCPLEX(200)は、以下の特徴、すなわち(1)動的電力を節約するために、個々のハードウェア・ブロックは、アイドル時に自動的にクロック・ゲーティングされ得る、(2)WFI/WFE命令の実行によりコアが命令をアクティブに実行していないとき、各コア・クロックはゲーティングされ得る、(3)各コアは独立してパワー・ゲーティングされ得る、(4)すべてのコアがクロック・ゲーティング又はパワー・ゲーティングされるとき、各コア・クラスタは独立してクロック・ゲーティングされ得る及び/又は(5)すべてのコアがパワー・ゲーティングされるとき、各コア・クラスタは独立してパワー・ゲーティングされ得る、という特徴のうちの1つ又は複数を含む、積極的なパワー管理能力を実装することが好ましい。CCPLEX(200)は、パワー状態を管理するための拡張アルゴリズムを実装することが好ましく、そこでは、許容されるパワー状態及び期待されるウェイクアップ時間が指定され、ハードウェア/マイクロコードが、コア、クラスタ、及びCCPLEXに入力するのに最適なパワー状態を決定する。処理コアは、作業がマイクロコードにオフロードされたソフトウェアにおける簡素化されたパワー状態エントリ・シーケンスをサポートする。
b)GPU複合体
図8及び図9に示すように、SoCは、統合GPU又は「iGPU」と呼ばれることもある少なくとも1つのGPU複合体(300)を含む。GPUは、並列作業負荷に対してプログラム可能で効率的であり、拡張テンソル命令セットを使用することが好ましい。GPUアーキテクチャは、少なくとも8つのストリーミング・マルチプロセッサ(「SM:streaming multiprocessor」)(301)を含み、それぞれが少なくとも96KBのLIキャッシュ(図示せず)を有し、少なくとも512KBのL2キャッシュ(302)を共有することが好ましい。GPUは、CUDAを含む広範なコンピュートAPI及びライブラリを使用することが好ましい。
GPUは、自動車及び埋め込みのユース・ケースにおいて最高の性能が得られるように電力が最適化されていることが好ましい。一実施例では、GPU(300)は、FinFET高性能製造プロセスで製造されるが、他の半導体製造プロセスが使用されてもよい。各SM(301)は、複数(例えば、4つ)の処理ブロックに分割されたいくつかの混合精度処理コア(例えば、64個のFP32コアと32個のFP64コアであるがこれに限定されない)を組み込むことが好ましい。記載の実装例では、4つの処理ブロックのそれぞれに、16個のFP32コア、8個のFP64コア、16個のINT32コア、ディープ・ラーニング行列演算用の2つの混合精度Tensorコア、L0命令キャッシュ、1個のワープ・スケジューラ、1個のディスパッチ・ユニット、及び64KBのレジスタ・ファイルを割り当てることができる。好ましい実施例では、SM(301)は、計算及びアドレス指定計算の混合で作業負荷の効率的な実行を提供する、独立並列整数及び浮動小数点データ・パスを含む。GPUのSMは、並列スレッド間で細粒度の同期及び協調を可能にする、独立スレッド・スケジューリング能力を含むことが好ましい。さらに、SM(301)は、性能を大幅に向上させると同時にプログラミングを簡略化する、L1データ・キャッシュと共有メモリ・ユニットを組み合わせたものを含むことが好ましい。
GPU(300)は、高帯域幅メモリ(「HBM:High Bandwidth Memory」)、又は900GB/秒のピーク・メモリ帯域幅を提供する16GBのHBM2メモリ・サブシステムのいずれかを含むことが好ましい。HBM HBM2メモリは、様々なベンダーから入手され得る。代替として、GDDR5メモリが使用されてもよい。
好ましい実施例では、GPU(300)は、アクセス・カウンタを備えたユニファイド・メモリ技術を含み、アクセス・カウンタにより、メモリ・ページを、最も頻繁にそのメモリ・ページにアクセスするプロセッサにより正確に移行することができ、プロセッサ間で共有されるメモリ範囲の効率が向上する。例示的な一実施例では、アドレス変換サービス(「ATS:Address Translation Service」)サポートによって、GPUは、CPUのページ・テーブルに直接アクセスすることができる。GPUメモリ管理ユニット(「MMU:Memory Management Unit」)でミスが発生すると、コントローラはCPUに対してアドレス変換リクエスト(「ATR:Address Translation Request」)を行い、CPUはそのページ・テーブル中で、そのアドレスに対する仮想アドレスと物理アドレスのマッピングを検索し、GPUに変換結果を返す。ユニファイド・メモリは、単一ユニファイド仮想アドレス空間をCPUとGPUのメモリとすることができ、GPUプログラミング及びGPUへのアプリケーション移植を簡略化する。
好ましい実施例では、アクセス・カウンタは、他のプロセッサに配置されたメモリにGPUがアクセスする頻度を追跡する。アクセス・カウンタは、ページに最も頻繁にアクセスするプロセッサの物理メモリにメモリ・ページが移動されることを保証するのに役立つ。アクセス・カウンタ機能は、NVLink接続又はPCIe接続されたGPU-CPU又はGPU-GPUアーキテクチャ内で動作し、Power9、x86などを含む様々なCPUと共に動作することができる。
好ましい実施例では、SoCは、CPUとGPUの両方に利用可能なレベル3キャッシュ(500)を含む。L3キャッシュは、MEI状態のラインを追跡できるライト・バック・キャッシュであることが好ましい。理想的には、L3キャッシュ(500)は4MB以上であるが、より小さい又はより大きいキャッシュ・サイズが利用されてもよい。高性能SoCは、特定の機能向けに設計されたコンポーネントを含んでいるため、SoCをより高速にし、電力効率及び空間効率を高めることができる。
いくつかの実施例では、GPU300は、例えば、2018年8月10日に出願された米国特許出願第16/101,232号に記載されているような、リアル・タイム・レイ・トレーシング・ハードウェア・ベース・アクセラレーションを含む。このようなレイ・トレーシング・ハードウェア・アクセラレーションは、例えば、以下に記載するようなワールド・モデル、リアル・タイム可視化シミュレーション、レーダ信号解釈、音伝播の合成/分析、ソナー・システムのシミュレーション、一般的な波動伝播シミュレーション、例えば車両の位置特定を目的としたLIDARデータとの比較、及び他の機能内の物体の位置及び範囲を迅速且つ効率的に決定するために使用され得る。
c)ハードウェア加速クラスタ
図8及び図9に示す好ましい実施例では、高性能SoCは、最適化されたハードウェア・アクセラレータ及び大型オン・チップ・メモリを含むハードウェア加速クラスタ(400)を含む。大型オン・チップ・メモリ(好ましい実施例では、4MBのSRAM)により、ハードウェア加速クラスタ(400)は、ニューラル・ネットワーク及び他の計算を高速化することができる。ハードウェア加速クラスタ(400)は、GPUを補完し、GPUからいくつかのタスクをオフロードするために利用可能である。例えば、アクセラレータは、プログラマブルに対して、加速及びAPIに対応できるほど十分に安定した、目標とされる作業負荷(知覚、CNN)について機能する。アクセラレータは、GPUをオフロードして、他の作業のためにより多くのGPUサイクルを解放することができる。
(1)ディープ・ラーニング・アクセラレータ
好ましい実施例では、ハードウェア加速クラスタ(400)は、ディープ・ラーニング・アプリケーション及び推論に、毎秒10兆回の演算(「TOP:Trillion Operations Per Second」)を追加で提供する、1つ又は複数のテンソル処理ユニット(「TPU:Tensor Processing Unit」)(401)(TPU0及びTPU1)を含む。TPU(401)は、NVIDIAのNVDLAディープ・ラーニング・アクセラレータ設計に基づくことが好ましい。TPU(401)は、画像処理機能(CNN又はRCNNネットワーク)を実行するためのアクセラレータであり、その画像処理機能のタスク用に最適化されているが、他のディープ・ラーニング(「DL」)機能(例えば、オーディオ用の再帰型ニューラル・ネットワーク(「RNN:recurrent neural network」))用ほど効率的ではない場合がある。DLAは、ネットワークの特定のセット及び浮動小数点演算用に最適化されている。加えて、DLAは推論用に設計及び最適化されている。したがって、設計は、汎用GPUよりも1ミリメートル当たりの性能が高く、CPUの性能を大幅に上回る。TPU(401)は、特徴と重みの両方についてのINT8/INT16/FP16データ型をサポートする単一インスタンスの畳み込み関数(単一インスタンス)、及びポスト・プロセッサ関数を含む、いくつかの関数を実行することが好ましい。
DLAは、任意の様々な機能についての処理済み又は未処理のデータに対して、ニューラル・ネットワーク、特にCNNを迅速且つ効率的に実行することができ、CNNには、(1)カメラ・センサからのデータを使用した物体の識別及び検出のためのCNN、(2)カメラ・センサ(72、74)からのデータを使用した距離推定のためのCNN、(3)マイクロホン(102)からのデータを使用した緊急車両の検出及び識別及び検出のためのCNN、(4)カメラ・センサ(72)からのデータを使用した顔認識及び車両所有者識別のためのCNN、並びに(5)自律運転バス及び自律運転パトロール・カーの説明における「本技術を使用した自律運転車両の追加の実例」のセクションでさらに詳細に説明するような、セキュリティ及び/又は安全関連のイベントのためのCNNが含まれるが、これらに限定されない。本明細書及び特許請求の範囲で使用される場合、「CNN」という用語は、領域ベースの畳み込みニューラル・ネットワーク(R-CNN:region-based convolutional neural network)、及び高速R-CNNを含む、物体検出に使用され得るすべてのタイプのCNNを含む。
しかし、DLA(401)は、任意の機能を実行することができ、設計者は、推論アクセラレータを使用して、任意の機能に対しDLA(401)又はGPU(300)のいずれかをターゲットにすることができる。実際問題として、DLAは、CNN及び浮動小数点演算用に最適化されており、実行可能なものが限られている。
(2)プログラマブル・ビジョン・アクセラレータ
本技術はニューラル・ネットワークを使用するが、コンピュータ・ビジョンはまた、例えば、車線検出、及び中程度の距離での冗長物体検出において役割を果たす。したがって、SoC設計は、コンピュータ・ビジョン・アクセラレータ(402)(VA0、VA1)を含むことが好ましい。コンピュータ・ビジョン・アクセラレータ(402)は、NVIDIAのプログラマブル・ビジョン・アクセラレータ(「PVA:Programmable Vision Accelerator」)を使用することが好ましい。PVAは、先進運転支援システム(「ADAS」)、自動運転、及びAR/VRアプリケーションのためのコンピュータ・ビジョン(「CV」)アルゴリズムを高速化するように設計されている。例示的なPVAのブロック図を図10に示す。
一般に、PVA(402)は、性能と柔軟性の最適化されたバランスを提供するように設計されている。PVA(402)のそれぞれは、任意の数の縮小命令セット・コンピュータ(「RISC:reduced instruction set computer」)コア(4010)、ダイレクト・メモリ・アクセス(DMA:direct memory access)(4020)、及び任意の数のベクトル・プロセッサ(4030)を含むが、これらに限定されない。いくつかの実施例では、RISCコア(4010)はまた、画像センサ、画像信号プロセッサなどと相互作用する。RISCコア(4010)のそれぞれは、任意の量及びタイプのメモリ(4017)を含むが、これに限定されない。RISCコア(4010)は、当技術分野で知られている任意のプロトコルを使用して、技術的に実現可能な任意の方法で動作することができる。例えば、いくつかの実施例では、RISCコア(4010)は、リアル・タイム・オペレーティング・システム(「RTOS:real-time operating system」)を実行する。RISCコア(4010)は、1つ又は複数の集積回路デバイス、特定用途向け集積回路(ASIC:application specific integrated circuit)、若しくはメモリ・デバイスを使用して、又は技術的に実現可能な任意の他の方法で実装され得る。好ましい一実施例では、RISCコアは、命令キャッシュ(4015)及び密結合RAM(4017)を装備することができる。
DMA(4020)により、PVAシステム(402)に含まれるコンポーネントは、CPU複合体(200)とは独立してシステム・メモリにアクセスすることができる。DMA(4020)は、PVA(402)の性能をさらに最適化する任意の数の他の機能を含むことができる。様々な実施例では、DMA(4020)は、多次元アドレス指定及び/又は循環アドレス指定をサポートする。より具体的には、いくつかの実施例では、DMA(4020)は、6次元ものアドレス指定をサポートする。6次元は、例えば、ブロック幅、ブロック高さ、ブロック奥行き、水平ブロック・ステッピング、垂直ブロック・ステッピング、及び奥行きステッピングを含み得る。
ベクトル・プロセッサ(4030)は、プログラミング共通コンピュータ・ビジョン・アルゴリズムを効率的且つ柔軟に実行し、包括的な信号処理機能力を提供するように設計されたプログラマブル・プロセッサである。好ましい実施例では、PVAは、PVAコア(「PVAC:PVA core」)(4050)及び2つのベクトル処理サブシステム(「VPS:Vector Processing Subsystem」)パーティション(4060)を含む。PVAC(4050)は、プロセッサ・サブシステム(4010)、2つのDMAエンジン(4020)、及び他の周辺機器を含むことが好ましい。VPS(4060)はPVA内のメイン処理エンジンであり、ベクトル処理ユニット(「VPU:Vector Processing Unit」)(4030)、その命令キャッシュ(Iキャッシュ)(4035)、及びベクトル・メモリ(「VMEM:vector memory」)(4040)を含む。VPUコア(4030)は、例えば、コンピュータ・ビジョン用に最適化されたシングル・インストラクション・マルチプル・データ(「SIMD:Single Instruction, Multiple Data」)、超長命令語(「VLIW:Very Long Instruction Word」)、デジタル信号プロセッサ(「DSP:digital signal processor」)などのDSPであることが好ましい。SIMDとVLIWアーキテクチャの組合せにより、スループット及び速度が向上する。
ベクトル・プロセッサ(4030)のそれぞれは、命令キャッシュ(4035)を備え、専用メモリ(4040)に結合されることが好ましい。その結果、いくつかの実施例では、ベクトル・プロセッサのそれぞれ、例えば(4030(1))は、他のベクトル・プロセッサ(4040(1))とは独立して実行されるように構成され得る。他の実施例では、特定のPVA(402)に含まれるベクトル・プロセッサ(4030)は、データ並列性を利用するように構成され得る。例えば、いくつかの実施例では、単一のPVA(402)に含まれる複数のベクトル・プロセッサ(4030)は、同じコンピュータ・ビジョン・アルゴリズムを、画像の異なる領域で実行することができる。他の実施例では、特定のPVA(402)に含まれるベクトル・プロセッサ(4030)は、異なるコンピュータ・ビジョン・アルゴリズムを同じ画像で同時に実行するか、又は異なるアルゴリズムを連続した画像又は画像の一部分で実行することもできる。とりわけ、ハードウェア・アクセラレータ・クラスタ(400)に任意の数のPVA(402)が含まれてもよく、各PVA(402)のそれぞれに任意の数のベクトル・プロセッサ(4030)が含まれてもよい。さらに、PVAは、システム全体の安全性を高めるために、追加のECCを含むことが好ましい。
(3)メモリ
ハードウェア加速クラスタは、高いメモリ帯域幅要求を備えたマスタである、PVAとDLAの両方を含むことが好ましい。図11に示すように、ハードウェア加速クラスタに高帯域幅、低レイテンシのSRAMを提供するために、高性能SoCは、コンピュータ・ビジョン・ネットワーク・オン・チップ及びSRAM(「CVNAS」)を含むことが好ましい。好ましい実施例では、オン・チップ・メモリは、PLAとDLAの両方によってアクセス可能な(例えば、限定されないが)8つのフィールド構成可能メモリ(「FCM:Field-Configurable Memory」)ブロック(601)から構成された少なくとも4MBのSRAMを含む。
メモリ・ブロックの各ペアは、高性能周辺バス(「APB:Advanced Peripheral Bus」)インターフェース(604)、構成回路(605)、コントローラ(602)、及びMUX(603)を含むことが好ましい。どのタイプのメモリでも事足り得る。PVA及びDLAのマスタは、メモリへの信頼できる高速アクセスをマスタに提供する基幹回線(406)を介して、メモリにアクセスすることが好ましい。一実施例では、基幹回線は、マスタをメモリに相互接続するコンピュータ・ビジョン・ネットワーク・オン・チップ(「CVNOC:Computer Vision Network-on-Chip」)である。CVNOCは、APB(408)を使用して、CVSRAM(600)をPVA(402)とDLA(401)のマスタに接続することが好ましい。
CVNOCは、任意の制御信号/アドレス/データの送信の前に、マスタ(PVA又はDLAのいずれか)とスレーブ(CVSRAM)の両方が動作可能信号及び有効信号を介して提供しなければならないことを示すインターフェースも含むことが好ましい。このようなインターフェースは、制御信号/アドレス及びデータを送信するための個別のフェーズ並びに個別のチャネル、並びに継続的なデータ転送のためのバースト型通信を提供する。実装例は、自動車のISO26262又はIEC61508規格を満たすために必要な信頼性と機能安全特徴を組み込むが、他の相互接続規格及びプロトコルが使用されてもよい。
(4)ハードウェア・アクセラレータの使用例
ハードウェア・アクセラレータ(400)及び関連するメモリ(600)は、自動運転のための幅広い用途を有する。上記で広く述べられているように、PVA(402)は、ADAS及び自動運転車両の主要な処理段階で使用され得るプログラマブル・ビジョン・アクセラレータである。PVAの能力は、低電力且つ低レイテンシで予測可能な処理を必要とするアルゴリズム領域に最適である。言い換えれば、PVAは、低レイテンシ且つ低電力で予測可能なランタイムを必要とする小さいデータ・セットに対しても、準高密度又は高密度の通常の計算で適切に機能する。したがって、自動運転車両用のプラットフォームのコンテキストでは、古典的なコンピュータ・ビジョン・アルゴリズムが物体検出及び整数演算での動作に有効であるので、PVAは古典的なコンピュータ・ビジョン・アルゴリズムを実行するように設計される。
例えば、本技術の一実施例によれば、PVAは、コンピュータ・ステレオ・ビジョンを実行するために使用される。当業者に知られている他の手法と共に、セミ・グローバル・マッチング(「SGM:Semi-global matching」)ベースのアルゴリズムが使用されてもよい。レベル3~5の自動運転用の多くのアプリケーションには、ストラクチャ・フロム・モーション(SFM:structure from motion)、歩行者認識、車線検出など、オン・ザ・フライでのモーション推定/ステレオ・マッチングが必要である。PVAは、2台の単眼カメラからの入力に対してコンピュータ・ステレオ・ビジョン機能を実行することができる。
本技術の別の実施例によれば、PVAは、高密度オプティカル・フローを実行するために使用される。本技術の別の実施例によれば、PVAは、例えば4D高速フーリエ変換(「FFT:Fast Fourier Transform」)を使用して生のレーダ・データを処理し、処理済みのレーダを提供するために使用される。
本技術の別の実施例によれば、PVAは、例えば、生の飛行時間(「ToF」)データを処理して処理済みのToFデータを提供することによって、ToF深度処理に使用される。ToFシステムはレーダ及びLIDARアプリケーションで使用されており、当業者に知られている。典型的なToFシステムは、信号を送信し、目標から返された信号の特性を測定する。測定は飛行時間を決定するために使用され、信号の速度に飛行時間を掛けることによって距離が得られる。例えば、ToFセンサは、レーザ光源と、それぞれが入射光の位相を検出することができる画素の配列とを備え得る。トランスミッタは光を変調し、反射光の変調エンベロープの位相を決定することによって、距離が測定される。
制御及び運転の安全性を高めるために、DLAを使用して、例えば、各物体検出の信頼度の測定値を出力するニューラル・ネットワークを含む任意のタイプのネットワークを実行することができる。このような信頼値は、確率、又は他の検出と比較した各検出の相対的な「重み」を提供するものと解釈され得る。この信頼値により、システムは、どの検出を偽陽性検出ではなく真陽性検出であると見なすべきかについて、さらなる決定を行うことができる。例えば、システムは信頼度しきい値を設定し、しきい値を超える検出のみを真陽性検出と見なすことができる。自動緊急ブレーキ(AEB)システムでは、偽陽性検出によって車両は自動的に緊急ブレーキをかけることになるが、これは明らかに望ましくない。したがって、最も信頼できる検出のみがAEBのトリガと見なされるべきである。DLAは、信頼値を回帰するためにニューラル・ネットワークを実行することができる。ニューラル・ネットワークは、(1)バウンディング・ボックスの寸法、(2)例えば別のサブシステムから取得された接地平面推定、(3)自車両の方位と相関する慣性測定ユニット(IMU)出力、(4)ニューラル・ネットワーク、及び/又は特にLIDAR若しくはレーダなどの他のセンサから取得された物体の距離又は3D位置推定などのパラメータの少なくともいくつかのサブセットを、その入力として受け取ることができる。
一実装は、1つ又は複数の隠れ層を含む多層パーセプトロン(「MLP:multi-layer perceptron」)とすることができる。訓練中、誤検出にはラベル「0」が割り当てられ、真の検出には信頼度に関するラベルが割り当てられる。このようにして、ネットワーク出力をグラウンド・トゥルース・ラベルと比較することができ、誤差項を計算することができ、逆伝播アルゴリズムを使用してネットワークの重みを調整することができる。訓練は通常、物体検出器の設計フェーズ中にオフラインで実行される。検出器が展開されて使用されると、フォワード・パスのみが実行される。例示の非限定的な実施例では、クラスタ化された境界ボックスが最初に計算される。次いで、クラスタ化された境界ボックス及び他の入力に基づいて、ネットワーク入力が計算される。入力の実例は、慣性測定ユニット、距離推定、物体検出内の入力画素で計算された統計などに関連する場合があるが、これらに限定されない。入力は、訓練フェーズ中に取得された重みがすでに読み込まれているネットワークに送られる。フォワード・パス中、ネットワークは、事前に読み込まれた重みを用いて事前に訓練されたネットワークを使用して、信頼度の出力を計算する。
図10に示すPVA設計は、限定するものではなく、PVAが本技術の目的の多くを達成するように様々な他の設計が利用されてよい。例えば、コンピュータ・ビジョン・アクセラレータ(402)は、参照により本明細書に完全に組み込まれる、2016年4月28日に出願された「PROGRAMMABLE VISION ACCELERATOR」、米国特許出願第15/141,703号に記載されているように実装されてよい。
d)システム・コヒーレンシ・ファブリック及びオン・チップ・メモリ
図8に示すように、プラットフォームは、各プロセッサ・サブシステム用の専用メモリを含み、DDRへの圧力を低減し、より低い電力を必要とする。高性能SoCは、オン・チップ・メモリ(500)及び(600)を含み、好ましい実施例では、GPU(300)及びDLA(400)上でそれぞれ実行されるニューラル・ネットワークを格納する。好ましい実施例では、メモリ(500)及び(600)は、安全性及び冗長性を確保するために、ニューラル・ネットワークの複数のインスタンスを格納するのに十分な大きさである。
さらなる好ましい実施例では、高性能SoCは、自律運転車両(50)が動作している間でも、更新されたニューラル・ネットワークをワイヤレス・アンテナ及びモデム(101)を介して受信及び格納するように構成される。例えば、ディープ・ラーニング・インフラストラクチャは、図6に示すように、交通標識又は他の障害物の認識を改善するようにニューラル・ネットワークを更新し、更新されたネットワーク(1001)を車両(50)にワイヤレス・リンクを介して送信することができる。車両(50)がアクティブに動作している場合でも、本技術により、更新されたニューラル・ネットワークが高性能SoCによって受信、ダウンロード、及び検証され得るので、安全性が重要な更新が、無線による(「OTA:over-the-air」)更新において可能な限り迅速に受信されることを保証する。更新されたニューラル・ネットワークが完全にダウンロードされて検証されると、高性能SoCはニューラル・ネットワークの更新されたバージョンに移行して使用する。
システム・コヒーレンシ・ファブリック(「SCF:System Coherency Fabric」)(714)は、コヒーレント・クライアント、すなわちCPUクラスタ(201)及び追加の埋め込みプロセッサ((702)~(705))を、DRAM及びMMIO空間に接続する。SCFはまた、システム内の非コヒーレント・クライアントとのソフトウェア・ベース・コヒーレンシを容易にするコヒーレンシ・キャッシュ・フラッシュ・エンジンも実装する。フラッシュには2つの変形があり、1つは、システム内のすべてのL2及びL3キャッシュを削除し、ダーティ・データをメモリに書き戻すもので、もう1つは、フラッシュが開始される前にCPU L2+L3キャッシュに常駐するすべてのキャッシュ・ラインを無効にするものである。フラッシュが進行している間、CPUは休止する必要はない。
高性能SoCのシステム・ファブリックは、周辺デバイス用に定義された単純な32ビットの単一マスタ・バスなどの周辺バス(710)を使用することが好ましい。
e)追加の埋め込みプロセッサ
(1)ブート及びパワー管理
高性能SoCは、ブート及びパワー管理プロセッサ(「BPMP:Boot and Power Management Processor」)(703)を含むことが好ましい。BPMPは、ブート及びパワー管理機能及び関連するセキュリティ実施を処理するための専用のプロセッサ及びサブシステムであることが好ましい。BPMP(703)はSoCブート・シーケンスの一部であり、実行時のパワー管理サービスを提供する。BPMPは、最初のブート後、すなわちブートROM及びブート・ローダが完了した後に実行される。上位レベルでは、BPMP(703)によって提供される主なサービスは、(1)SoCクロック及び電圧プログラミング、(2)システムにおける低電力状態遷移の支援(ディープ・スリープ(SC7)の開始及び終了を含むSC状態)、(3)SoCの熱センサ及び温度センサの管理、並びに(4)SoCのパワー状態の管理である。BPMPランタイム・ファームウェアは、オペレーティング・システム、プラットフォーム、ボード、及びブート・ローダに依存しない。
(2)温度センサ及び制御
好ましい実施例では、各温度センサは、その出力周波数が温度に比例するリング・オシレータとして実装され得る。高性能SoCは、CPUグループの温度、GPUグループの温度、及び加速クラスタの温度を検出し、BPMPに報告するリング・オシレータを含むことが好ましい。CPU、GPU、又は加速クラスタの温度が安全な動作のしきい値を超えていることをBPMPが検出した場合、BPMPは温度障害ルーチンを実行し、このルーチンにおいて、高性能SoCは、まず可能であれば低電力状態に入るよう試み、必要に応じて「安全停止のための運転手」(Chauffeur to Safe Stop)モードに入る。
(3)オーディオ処理エンジン
高性能SoCは、オーディオ処理エンジン(「APE:Audio Processing Engine」)(701)を含む、埋め込みプロセッサのセットを含むことが好ましい。APEは、複数のインターフェースを介したマルチ・チャネル・オーディオの完全なハードウェア・サポート、及び幅広い柔軟なオーディオI/Oインターフェースを可能にする、オーディオ・サブシステムである。APEは、専用RAMを有するデジタル信号プロセッサ(「DSP」)を備えた専用プロセッサ・コアであることが好ましい。
(4)常時オン・センサ処理エンジン
高性能SoCは、常時オン・センサ処理エンジン(「AON:Always-On」/「SPE:Sensor Processing Engine」)(702)を含むことが好ましい。AONエンジン(702)は、低電力センサ管理及びウェイクのユース・ケースをサポートするために必要なすべてのハードウェア機能を提供する。エンジン(702)は、周辺機器(タイマー及び割り込みコントローラなど)、様々なI/Oコントローラ周辺機器、及びルーティング論理をサポートする、密結合RAMを備えたプロセッサ・コアから構成されることが好ましい。AONブロック内のプロセッサは、センサ処理エンジン(「SPE」)とも呼ばれる。これは、常時オン・パワー・ドメイン内のロー・アクティブ・パワー・プロセッサである。これは「常時オン」エンジンと呼ばれるものの、通常の使用ではロー・アクティブ・パワーで常時オンの状態を維持することになるが、完全シャットダウン・モードにすることもできる。
(5)安全クラスタ・エンジン及びリアル・タイム・カメラ・エンジン
SoCは、自動車アプリケーション用安全管理を処理するための専用プロセッサ・サブシステムである安全クラスタ・エンジン(「SCE:Safety Cluster Engine」)(704)を含むことが好ましい。好ましい実施例では、SCE(704)は、密結合RAM、サポート周辺機器(例えば、タイマー、割り込みコントローラ)、及びルーティング論理を備えた2つ以上のプロセッサ・コアから構成される。安全モードでは、2つのコアはロックステップ・モードで動作し、動作間の差を検出する比較論理を備えた単一のコアとして機能する。特定の実施例では、SoCは、リアル・タイム・カメラ・エンジン(「RCE:Real-time Camera Engine」)(705)を含むことが好ましい。好ましい実施例では、RCEは、リアル・タイム・カメラ管理を処理するための専用プロセッサ・サブシステムを備える。
(6)ハイ・ダイナミック・レンジ画像信号プロセッサ
図8に示すように、高性能SoCは、好ましくは、ハイ・ダイナミック・レンジ画像信号プロセッサ(「HDR ISP:High-Dynamic Range Image Signal Processor」)403を含む。高性能SoCは、カメラ処理パイプラインの一部であるハードウェア・エンジンである画像信号プロセッサ(712)をさらに含むことが好ましい。
(7)ビデオ画像コンポジタ
高性能SoCは、プレイヤ・ウィンドウの最終画像を作成するためにビデオ再生アプリケーションが必要とするビデオ後処理機能を実装するブロックである、ビデオ画像コンポジタ(「VIC:Video Image Compositor」)(706)を含むことが好ましい。好ましい実施例では、VICは、魚眼及び広視野カメラ・センサ(201)~(205)上、並びに任意選択のイン・キャビン・モニタリング・カメラ・センサ上でもレンズ収差補正(「LDC:lens distortion correction」)を実行する。イン・キャビン・モニタリング・カメラ・センサは、キャビン内の事象を識別し、それに応じて対応するように構成された、高性能SoCの別のインスタンスで実行されるニューラル・ネットワークによってモニタされることが好ましい。イン・キャビン・システムは、リップ・リーディングを実行して、携帯電話サービスをアクティブにして電話をかける、電子メールを指示する、車両の目的地を変更する、車両のインフォテインメント・システム及び設定をアクティブにする若しくは変更する、又は音声起動ウェブ・サーフィンを提供することができる。特定の機能は、車両が自律モードで動作しているときにのみ運転者が使用でき、それ以外の場合は無効になる。
VICは、強化された時間ノイズ低減(「TNR:Temporal Noise Reduction」)も含むことが好ましい。ノイズ低減は通常、空間ノイズ低減と時間ノイズ低減の両方を含む。ビデオ内で動きが発生する場合、ノイズ低減は空間情報に適切に重みを付け、隣接するフレームによって提供される情報の重みを減らす。画像又は画像の一部が動きを含まない場合、VICによって実行される時間ノイズ低減は、前の画像からの情報を使用して現在の画像内のノイズを低減する。
VICは、センサ・ペア1-2、8-9、及び10-11などの入力ステレオ・レンズ・フレームでステレオ平行化を実行することもできる。加えて、オペレーティング・システム・デスクトップが使用中のとき、Ul合成のためにVICを使用することができ、GPUは新しいサーフェスを継続的にレンダリングする必要がない。GPUの電源がオンで、アクティブに3Dレンダリングを行っているときでも、VICを使用してGPUをオフロードすることができ、性能及び応答性が向上する。VIC(706)は、マイクロコントローラを使用して実装されることが好ましい。
(8)入力/出力
高性能SoCは、MIPIカメラ・シリアル・インターフェース(713)、標準高速シリアル・インターフェース、並びにカメラ及び関連する画素入力機能に使用されるブロックであるビデオ入力ブロック(VI:Video Input block)(713)を介して、カメラ及びビデオから入力を受け取る。高性能SoCは、特定の役割にコミットされず、且つソフトウェアによって制御されるI/O信号用に、汎用入力/出力コントローラ(711)を含むことが好ましい。
好ましい実施例では、高性能SoCは、周辺機器、オーディオ・コーデック、パワー管理、及び他のデバイスとの通信を可能にする広範囲にわたる周辺機器インターフェースを有する。SoCを使用して、(ギガビット・マルチメディア・シリアル・リンク(「GMSL」)及びイーサネット(「GbE」)を介して接続された)カメラ、センサ(イーサネットを介して接続されたLIDAR、レーダ)からのデータ、CANインターフェースからのデータ(車の速度、ステアリング・ホイール位置など)、(イーサネット又はCANを介して接続された)GPSからのデータを処理してもよい。独自のDMAエンジンを備えた専用高性能マス・ストレージ・コントローラを使用して、ルーチン・データ管理タスクからCPU複合体(200)を解放することができる。
f)他のシステム及び方法に対する高性能システム・オン・チップのいくつかの例示の非制限的な利点
高性能システム・オン・チップにより、レベル3~5に及ぶ柔軟性のある1つのアーキテクチャを備えたエンド・ツー・エンド・プラットフォームが可能となり、このアーキテクチャは、多様性及び冗長性のためにコンピュータ・ビジョン及びADAS技法を活用し効果的に利用するとともに、柔軟で信頼できるドライビング・ソフトウェア・スタックのプラットフォームをディープ・ラーニング・ツールと共に提供する、包括的な機能安全アーキテクチャである。高性能SoCは、従来技術のシステム及び方法よりも高速で、信頼性が高く、さらにエネルギー効率及び空間効率が高い。例えば、ハードウェア加速クラスタは、CPU複合体、GPU複合体、及びメモリと組み合わされて、レベル3~5の自動運転車両用の高速で効率的なプラットフォームを提供する。したがって、本技術は、従来技術の方法及びシステムでは達成できない能力及び機能を提供する。例えば、Cプログラミング言語などの高水準プログラミング言語を使用して構成され得るCVアルゴリズムは、CPU上で実行されて、多種多様な視覚データにまたがって多種多様な処理アルゴリズムを実行することができる。しかし、CPUは、例えば実行時間及び消費電力に関連するアプリケーションなど、多くのコンピュータ・ビジョン・アプリケーションの性能要件を満たすことができないことがしばしばある。特に、多くのCPUは、車載ADASアプリケーションの要件であるとともに実用的なレベル3~5の自動運転車両の要件である、複雑な物体検出アルゴリズムをリアル・タイムで実行することができない。
本技術は、CPU複合体、GPU複合体、及びハードウェア加速クラスタを提供することによって、複数のニューラル・ネットワークを同時に又は順次実行し、結果を共に組み合わせてレベル3~5の自動運転機能を可能にすることができる。例えば、好ましい実施例では、DLA又はdGPU上で実行するCNNは、文字認識及び単語認識を含む場合があり、これによりスーパーコンピュータは、ニューラル・ネットワークで特に訓練されていない標識を含む交通標識を読み取り理解することができる。例えば、標識は、以下の情報すなわち、駐車が禁止されているエリアを示す矢印を伴う「駐車禁止、午後4時~午後7時、月曜日から金曜日」という情報を含む場合がある。DLAは、標識を識別して解釈し、標識の意味理解を実現し、且つその意味理解をCPU複合体で実行される経路計画モジュールに渡すことができる、ニューラル・ネットワークを含む場合がある。
本技術は、レベル3、4、又は5の運転に必要とされるような、自動運転車両が複数のニューラル・ネットワークを実行するためのプラットフォームを提供する。例えば、図12に示すように、電灯付きの「注意 点滅灯は凍結状態を示す」という警告標識は、いくつかのニューラル・ネットワークによって個別に又はまとめて解釈され得る。標識自体(7020)は、第1の訓練されたニューラル・ネットワーク(7040)によって交通標識として識別され得る。「点滅灯は凍結状態を示す」という文字(7030)は、点滅灯が検出されたときは凍結状態が存在するということを車両の経路計画ソフトウェア(CPU複合体上で実行されることが好ましい)に通知する第2のニューラル・ネットワーク(7050)によって解釈され得る。点滅灯(7010)は、複数のフレームにわたって第3のニューラル・ネットワーク(7060)を動作させることによって識別され、点滅灯の存在(又は不在)が車両の経路計画ソフトウェアに通知される。3つのすべてのニューラル・ネットワークがDLA(400)内で実行されてもよく、又はネットワークのいくつかがGPU(300)上で実行されてもよい。
好ましい実施例では、カメラ・センサからのデータを使用する顔認識及び車両所有者識別のためのCNNを使用して、車両(50)の許可された運転者及び/又は所有者の存在を識別する。システム・オン・チップの常時オン・センサ処理エンジン(「AON」/「SPE」)(702)は、所有者が運転席のドアに近づいて照明をオンにしたときに車両のロックを解除し、セキュリティ・モードでは所有者が車両を離れたときに車両を使用不可にするために使用され得る。このように、CNN及びAON/SPEは、盗難及び/又はカージャックに対するセキュリティを提供する。
別の好ましい実施例では、マイクロホンからのデータを使用した緊急車両の検出及び識別及び検出のためのCNNは、緊急車両のサイレンを検出及び識別する。従来技術では、サイレンなどの環境音は、しばしば一般的な分類器を使用して手動で特徴を抽出することによって検出される。好ましい実施例は、環境音及び都市音を分類するため、並びに視覚データを分類するために使用されるCNNの能力を利用する。好ましい実施例では、DLA上で実行されるCNNは、ドップラー効果を活用して、緊急車両の相対接近速度を識別するように訓練される。CNNはまた、GPSセンサ(76)によって識別されるとき、車両が動作している局所的なエリアに特有の緊急車両を識別するようにも訓練され得る。したがって、例えば、ヨーロッパで動作しているときは、CNNはヨーロッパのサイレンを検出しようとし、米国で動作しているときは、CNNは北米のサイレンのみを識別しようとする。好ましい実施例では、CNNは、ドップラー効果を活用して緊急サイレンの存在及び相対接近速度を特定し、CPU(200)上で実行される制御プログラムに信号を提供する。次いで、制御プログラムは、緊急車両安全ルーチンを実行し、車両(50)を減速させ、道路の脇に寄せ、車両を駐車させ、超音波センサ(66)の補助を得て、緊急車両が通過するまで車両をアイドリングさせる。
3.高性能SoCを使用した第1の実施例
1つ又は複数の高性能SoC(100)は、様々なプラットフォーム及びシステムにおいて自動運転車両を制御するために使用され得る。図13に示す第1の例示的な実施例において、1つ又は複数の高性能SoC(100)は、ゲートウェイ(214)又はモデム(103)及び例えば「ワイヤレス接続及びネットワーク・アクセス」という見出しのセクションで上述したタイプのワイヤレス・トランシーバを介して地図のリフレッシュ/更新をクラウドから取得することができるHDマップシステム(212)とシステム内で組み合わされる。
車両制御(216)(例えば、ヘッドライトのオン/オフの切り替え、フロント・ガラス・ワイパーのオン/オフの切り替えなど)及び他の機能も、「例示的な自動運転車両」という見出しのセクションで上述したものを含む、当技術分野で知られているアクチュエータ・コントローラによって提供され得る。コネクタ(218)は、拡張用及び/又はデバッグ用の他の機器によるアクセスを提供する。
システムは、車両の周囲360度をカバーするように配置された、超音波センサ(66)、GPS(76)、レーダ(68)、LIDAR(70)、ステレオ・カメラ(74)、魚眼カメラ又はワイド・ビュー・カメラ(73)、赤外線カメラ(75)、及び周囲カメラ(72)を含む、「例示的な自動運転車両」という見出しのセクションで上述したセンサのうちの1つ又は複数を含む。
システムは、RAM、SRAM、DRAM、VRAM、フラッシュ、ハード・ディスク、並びに少なくとも1ビットのデータを格納できる他のコンポーネント及びデバイスを含む1つ又は複数のストレージ要素から構成され得る、オン・チップ・ストレージ(500(1))とオフ・チップ・ストレージ(500(2))の両方をさらに含む。オン・チップ・ストレージ(500(1))は、CPU(200)及び/又はGPU(300)と共に使用するためのL2キャッシュ又はL3キャッシュを備え得る。
高性能SoC(100)は、CPU複合体(200)、GPU複合体(300)、CPU複合体及びGPU複合体に接続されたL3キャッシュ、PVA(402)及びDLA(401)を含むハードウェア加速複合体(400)、並びに上述したようなプロセッサ(702)~(705)のうちの1つ又は複数を含む追加の埋め込みプロセッサを含む、図9に関連してより詳細に説明されているコンポーネントを含むことが好ましい。高性能SoC(100)は、様々なセンサ及びサブ・システム(例えば、フォールト・オペラブル/フォールト・トレラント・ブレーキ・システム(61A)及びフォールト・オペラブル/フォールト・トレラント・ステアリング・システム(62A))に接続される。
一実施例では、高性能SoCのCCPLEX(200)及び1つ又は複数のGPU複合体(300)、又はハードウェア・アクセラレータ(401)、(402)は、ある程度又は完全に冗長な処理を独立して実行する。例示の非限定的な実施例では、異なるプロセッサによって提供される「冗長」機能は、同じ全体的な機能を包含するが、厳密に同一というわけではない。むしろ、同じ又は同等の機能を実行するアルゴリズム及びソフトウェアは、意図的に同一ではない処理を提供するように、異なる方法で設計及び実装され、それでもやはり、本質的に同じタスクを実行して、システムが正しく動作しているときには本質的に同じ結果を提供する。例えば、GPU複合体(300)は、ニューラル・ネットワークを実行して物体検出機能を実行し、一方ハードウェア・アクセラレータPVA(402)は、コンピュータ・ビジョン・アルゴリズムを実行して同じ物体を識別することができる。さらに、異なるプロセッサへの入力は異なる可能性があり、上記の実例では、GPU複合体(300)は、ニューラル・ネットワークを実行して、ステレオ・カメラからの入力情報を用いて物体検出機能を実行し、一方ハードウェア・アクセラレータPVA(402)は、コンピュータ・ビジョン・アルゴリズムを実行して単眼カメラ又は赤外線カメラから同じ物体を識別することができる。システムはまた、冗長性を提供し且つ機能安全を強化する、BSW、ACC、AEB、LDW、及びAEBシステムを含む1つ又は複数のADASサブ・システム(82)を含んでもよい。システムは、任意選択で、限定はしないがNVLINK(805)などの高速相互接続を介して高性能SoCに結合された個別のGPU、dGPU(802)を含んでよい。dGPU(802)は、追加のAI機能を提供し、冗長の又は異なるニューラル・ネットワークを実行し、さらにシステムのセンサからの入力に基づいてニューラル・ネットワークを訓練及び/又は更新することができる。システムはまた、任意選択で、限定はしないがPCIe(902)などの高速相互接続を介して高性能SoC(100)に接続された、X86プロセッサなどのディスクリートCPU(901)を含んでもよい。ディスクリートCPU(901)は、ADASセンサ(82)と高性能SoC(100)との間で潜在的に矛盾した結果を調停すること、並びに/又は車両制御(216)及びインフォテインメント・システム(76)のステータス及び正常性をモニタすることを含む、様々な機能を実行するために使用され得る。
異なる独立したハードウェア・コンポーネントにおいて、異なる独立した方法で同じ物体検出機能を実行することで、高性能SoCを使用するシステムのASIL安全性評価が強化され、これは「ASILデコンポジション」と呼ばれる。図14に示すように、ASILデコンポジションは、アーキテクチャ内に冗長要素を提供することによって、特定の要素に対するASIL要件を低下させる。したがって、ASIL Dの機能安全を必要とする単一の機能は、例えば、一方はASIL Cで、バックアップはASIL Aでといった2つの冗長な独立したコンポーネントよって実装され得る。2つの冗長コンポーネントの組合せは、それぞれにASIL Dよりも低いASILレベルを提供し、全体でASIL Dの機能安全レベルを提供する。したがって、ASIL Dの機能安全は、「ASIL C(D)+ASIL A(D)」によって実現されることになる。ISO26262第9部に準拠したASILデコンポジションは、以下のASILデコンポジション方法を提供している。
上述した実例のコンテキストにおいて、SoCのGPU(300)で実行されているニューラル・ネットワークがASIL Bと評価され、PVA(402)で実行される同じ機能もASIL Bと評価される場合、冗長性により、その機能にASIL Dの安全性が提供される。アクセラレータ(401)及び(402)によって実行されるタスク/機能は、単独では、より低い安全基準(ASIL B)で評価される可能性があるが、GPU複合体(300)によって実行されるプロセスは、より高いレベルの機能安全(例えば、ASIL C)を得ることになる。2つの独立した経路を提供することによって、高性能SoCは、アクセラレータ(401)及び(402)が提供する冗長性により、所望のASIL D安全基準評価を実現する。
言い換えれば、アクセラレータ(401)、(402)は、GPU複合体(300)によって実行される自動運転機能と組み合わされるときに共に提供する機能(例えば、差し迫った衝突の検出、車線逸脱警告、歩行者検出)を共に実行して、ASIL Dレベルの機能安全を提供する。さらに、アクセラレータ(401)又は(402)のうちの1つが故障した場合、機能しているアクセラレータとGPU複合体(300)を共に組み合わせることにより、安全な動作を保証する。アクセラレータ(401)と(402)の両方が故障した場合、システムはサービスが必要であることを示す障害メッセージを返し、運転者に通知し、運転者に制御を戻す移行ルーチンを実行する。
上述のように、GPU複合体(300)及びDLAアクセラレータ(401)は、CNNを含むニューラル・ネットワークを使用して、示されている上位レベルの機能の一部又はすべてを実行することができる。GPU複合体(300)及びDLAアクセラレータ(401)は、ディープ・ニューラル・ネットワーク及びCNNを使用して、慣性センシング・システムなどの車両運動センサからの情報、及び場合によっては車両の半自動運転システム(SAS:semi-autonomous system)(82)又はADASシステムからの他の入力を処理することができる。PVAアクセラレータ(402)は、コンピュータ・ビジョン・アルゴリズムを実行するように最適化され、したがってSASシステム(82)から受け取った情報を処理するように設計される。
図15は、本技術のSoCが機能安全を強化するために提供する多様な冗長処理を示す。第1に、図15に示すように、ハードウェア加速クラスタ(400)は、PVA(402)とDLA(401)の両方で多様な冗長処理を実行することができる。PVA(402)は、前処理(150)、コンピュータ・ビジョン・アルゴリズム(152)、後処理を実行して、衝突検出、標識検出、物体検出、車線検出、又は任意の他のコンピュータ・ビジョン機能などの古典的なコンピュータ・ビジョン機能(156)を提供することができる。高性能SoCは、これらのタスクの一部又はすべてを、好ましくは前処理機能(150)を含むCPU複合体(200)にオフロードすることができる。前処理タスクは、センサ・フュージョンを含む場合があり、センサ・フュージョンは、どのような個々のセンサからも不可能な多くのことをセンサの組合せから学習し性能を向上させるために、カルマン・フィルタリング、人工知能などを使用して様々なセンサの出力を組み合わせるために使用され得る(例えば、光の悪条件が原因で光学センサが効果的でないとき、代わりにレーダ・センサを使用することができ、又は光学センサからの情報と融合することができ、金属製の排水格子、大きな金属製のパネル、及び/又は道路上のマンホール蓋が原因でレーダ・センサの効果が低いとき、代わりに又は追加でLIDAR又は超音波を使用することができる)。この実例のこのようなセンサ・フュージョンは、融合時のセンサ・データ使用のタイプの順序/シーケンスを変更し、可能な場合は、実行可能ファイル/サブ関数の実行の順序を順序変更/再シーケンス化する多様化されたセンサ・フュージョン・ソフトウェアなどの多様化方法を含む。このような意図的な多様化方法は、耐障害性の向上をもたらす。
第2に、図15に示すように、ディープ・ラーニング・ハードウェア・アクセラレータ(DLA)(401)は、前処理(160)、訓練されたニューラル・ネットワークでの推論(162)、及び後処理(164)を実行して、訓練されたニューラル・ネットワークによって実行され得る衝突検出、標識検出、物体検出、車線検出、又は他の機能などの任意の機能(166)を提供することができる。DLA(401)は、CNNを実行するために最適化されることが好ましいが、他のニューラル・ネットワークを実行するために使用されてもよい。高性能SoCは、これらのタスクの一部又はすべてを、好ましくは前処理機能(150)を含むCPU複合体(200)にオフロードすることができる。
第3に、図15に示すように、GPU複合体(300)は、物体検出、空き空間検出を含む自動運転に必要な機能を実行するために、CNN、DNN、及び任意の他のタイプのネットワークを含む任意の数の訓練されたニューラル・ネットワークを実行するように構成されることが好ましい。GPU複合体(300)はさらに、訓練されたニューラル・ネットワークを実行して、車両制御、車両管理、又は安全性に望ましい、知覚、計画及び制御の機能を含む任意のAI機能を実行するように構成される。知覚機能はセンサ入力を使用して、好ましくは占有グリッドを含むワールド・モデルを生成し、計画はそのワールド・モデルを取得して最良の計画を生成し、制御はその計画を取得してそれを実施する。これらのステップは継続的に繰り返される。
知覚機能及び計画機能を実行するために、GPU複合体(300)は、自動運転車両(50)及び/又は(55)並びに自動運転車両の所与の範囲内の移動物体を含む物体を追跡する占有グリッド(162)を維持するようにも構成されることが好ましい。GPU複合体(300)は、好ましい又は所望の経路をSoC(100)が決定できるように、物体がどこにあるかを予測する予測占有グリッドを決定するように構成されることが好ましい。高性能SoCは、これらのタスクの一部又はすべてを、好ましくは前処理機能を含むCPU複合体(200)にオフロードすることができる。CPU複合体は、DLA(401)、PVA(402)、及びiGPU(300)から結果を受け取り、結果を比較及び評価し、それに応じて車両を制御することができる。
1つ又は複数の実施例によれば、高性能SoC(100)は、機能安全を確保するために3つ以上の多様な冗長処理タスクを実行することができ、車両を制御する際にADASシステムを含む様々なセンサからの情報を使用することができる。例えば、好ましい実施例では、DLA(401)は、雨、雪、氷、又は路面凍結を含む道路状態の存在を識別するように訓練されたニューラル・ネットワークを実行することができる。そのような道路状態が識別されると、DLA(401)はCPLEX、GPU、及び/又は安全クラスタ・エンジンに状態を通知し、その結果、経路計画及び制御ルーチンは状態を考慮に入れることができる。加えて、CPU複合体(200)は、例えば、本明細書の「追加のセンサ及びシステム」という見出しのセクションで上述したように、滑りやすい道路を特定するための既知のアルゴリズムを実行することができる。そのような実施例において、CPU複合体(200)は、車輪速度センサ(80)から、少なくとも1つの動力駆動車軸の第1の角速度、及び少なくとも1つの自由回転車軸の第2の角速度を受け取る。CPU複合体は、路面上での摩擦のレベルを判定するために第1の角速度と第2の角速度を比較し、道路が滑りやすいほど角速度間の差は大きくなる。相対角速度の急激な変化は、車両が氷又は油などの滑りやすい表面に遭遇したことを示す。CPU複合体はさらに、振動センサ(85)から車軸の振動に関する情報を受け取ることができる。動力駆動車軸と自由回転車軸の振動差は、路面での滑り量を示し、相対振動の急激な変化は、路面が変化したことを示す。滑りやすい道路の検出の結果は、滑りやすい道路状態を検出するように設計されたニューラル・ネットワークを訓練及び/又は強化するために使用されてもよい。
特定の実施例では、高性能SoCは、知覚、計画、及び制御を含む機能を提供する、NVIDIAが提供するソフトウェア・スタックを実行する。
4.複数のコンピュータを使用する実施例
図15は、単一の高性能SoC(100)を有する一実施例を示す。もちろん、車両(50)は、一般的には、他の不可欠な所望の機能(例えば、ブレーキ作動、エレクトロニック・イグニション、環境制御、インフォテインメント・システム、GPS、レーダ及びLIDAR処理など)を制御する追加のプロセッサと、ASICと、SoCとを含む。車両の機能安全性は、モニタ/アクチュエータ・アーキテクチャ及び冗長化を使用することによって向上され得る。モニタ/アクチュエータ・アーキテクチャは、1つのモジュール(アクチュエータ)を使用して主な機能を実行し、そのアクチュエータを、独立したモニタリング・モジュールを用いてモニタする。アクチュエータが故障した場合、モニタ・モジュールはフェイル・セーフ・モードに入り、アクチュエータに優先する。
別の実施例では、高性能SoCは、図16に示されるように、冗長なフェイル・セーフ機能を提供するために、プラットフォーム内で前世代SoCと統合されることがある。この実例では、プラットフォーム(1100)は、CPU複合体(200)と、GPU複合体(300)と、CPU複合体及びGPU複合体に接続されたL3キャッシュと、PVA(402)とDLA(401)とを含むアクセラレータ(400)と、上記で説明されたCortex R5プロセッサ(702)~(705)とを含む、図9に関連してより詳細に説明される構成要素を含むことが好ましい高性能SoC(100)を含む。プラットフォーム(1100)は、SoC(200)も含む。高性能SoC(100)及びSoC(200)はそれぞれ、ディスクリート・グラフィックス処理ユニット(dGPU)(802)(例えば、NVIDIAのPascal、Volta、又は後世代GPU)に接続されてよい。
図16に示される実例では、第3のSoC(803)は、ロック・ステップ(「LS」)Tricore(324)と2つの非LS TriCore(325)とを含むマイクロプロセッサを備えることがある。第3のSoC(803)は、安全性管理ユニット(「SMU」)(318)と、バス・インターフェース(320)、(322)とを含んでよい。よく知られているように、ロックステップ・システムは、動作の同じセットを同時に並列して実行するフォールト・トレラントなコンピュータ・システムである。ロック・ステップ動作からの出力が、障害があったかどうか、及び誤り訂正技法を用いて潜在的に修正されたかどうかを判定するために比較可能であるので、冗長性によって、エラー検出及び誤り訂正が可能になる。
SoC(100)、(200)、及び(803)の各々は、独立した電力管理を提供するために電力管理集積回路(「PMIC」)(326)に接続されてよい。例示的な非限定的な一実施例では、SoC(100)、(200)、及び(803)のそれぞれは、独立した電源と、関連するメカニズムとを備えることができる。異なるプロセッサのための異なる電力提供メカニズムは、系統立ったレベルに対する追加の適用範囲を提供するように異なって設計されてよい。いくつかの実施例では、3つの、すなわち3つの独立的に機能するプロセッサの各々に対して1つの、独立した電源がある。他の実施例では、少なくとも2つの独立した電源があり、1つのプロセッサに供給される電力は、他の2つのプロセッサに供給される電力とは異なる。
好ましい一実施例では、図8及び図9に示される複数の高性能SoCは、図17において概略的な形で示された、自動運転車両のための全体的なシステム・プラットフォーム(800)に含まれる。図17は、高速相互接続(805)によってディスクリートGPUに接続された2つの高性能SoC(100)を示す。高速相互接続(805)は、好ましくは、NVIDIAのNVLINK技術である。
図17に示されるように、高性能SoC(100)は各々、マイクロコントローラ(「MCU」)(803)に接続される。MCUは、SoCを備えてもよいし、スタンド・アロンASICを備えてもよいし、他のプロセッサを備えてもよい。市販のMCUは、マイクロコントローラを含む。一般的な一実施例では、MCUは、ASIL D機能安全性レベルのために設計される。
MCU(803)は、システムのためのマスタ・コントローラとして動作する。MCU(803)は、2つの高性能SoC(100)をリセットし、2つの高性能SoC間で表示を切り換え、カメラ電力を制御することができる。MCUと高性能SoCは、PCIEスイッチ(804)を通して接続される。
図17に示されるように、高性能SoC(100)は、チップ・ツー・チップ(「C2C」)通信が可能である。そのような通信は、PCIEスイッチ(804)を通してであってもよいし、2つの異なる高性能SoCを接続するセキュアなメッセージ層を通して直接的であってもよい。高性能SoCは、高速NVLINKを通して直接的に互いとペアにされてよい。C2C通信のために構成されたとき、2つの高性能SoCのシステムは、ある程度まで、単一の統合されたシステムであるかのように機能する。C2C通信のために構成されたとき、各高性能SoCは、他の高性能SoCのDRAM及びSysRAMをアドレス指定することができる。
さらに、図17に示される好ましい実施例では、高性能SoC(100)の各々は、ディスクリートGPU(dGPU)(802)とペアにされる。したがって、システムは、自動自律運転システムのために単一のコンピュータを使用することができ、冗長性は、複数の高性能SoC上での冗長な計算の独立を通して提供される。例示的な非限定的な実施例では、自動運転動作を提供するために必要とされる機能の大部分は、異なるプロセッサ間のソフトウェア又はファームウェアにおいて重複される。したがって、いくつかの実装では、類似のアルゴリズムが、両方の高性能SoC内で、又はさらにはSoCとdGPUを含む4つのプロセッサすべてにおいて、実行される。いずれの場合にも、センサによって収集されたすべての関連入力は、プロセッサの各々へと送られる。プロセッサの各々は、センサ・データを独立的に処理してよく、作動情報及び/又は車両アクチュエータを制御するために使用され得る制御信号を独立的に提供する。MCU(803)は、プロセッサから作動情報及び/又は制御信号を受け取り、それらの整合性を評価する。一般的な実施例では、dGPUは、ASIL B機能安全性レベルを有する。
何らかの理由で高性能SoCの1つが故障した場合、他の高性能SoCは、引き続き動作する。高性能SoCが、故障した高性能SoCによって実行された動作にとって冗長な動作を実行しているので、自立性及びその関連する重大な機能は、プロセッサのいずれか1つが故障したときでも依然として維持可能である。
いくつかの例示的な非限定的な実装では、両方の高性能SoCが、同じ入力を受け取る、又は少なくとも同じ入力へのアクセスを有する。例えば、両方の高性能SoCは、CANバスなどの共通バス(又は複数の冗長なバスの構成)に接続されてよく、それによって、同じ情報にアクセスすることができる。一方、3つの異なるプロセッサによって実行される独立した処理により、高性能SoCの各々が、他のプロセッサが結果を計算するために使用している同じ入力を使用しなければならないという必要性はない。例えば、1つの可能な実装では、第1の高性能SoCは、レーダ入力のみに基づいて判断をすることがあるが、別の高性能SoCは、レーダとLIDARの両方の融合に基づいて、又はステレオ・カメラからの入力に基づいて、類似の判断をすることがある。別の可能な実装では、高性能SoCは各々、レーダ情報及びLIDAR情報を受け取ることがある。
高性能SoC(100)及びdGPU(802)は、ディープ・ニューラル・ネットワークを使用して、自動運転車両制御のために必要な高レベル機能のうちのいくつか又はすべてを実行することがある。上記で述べられたように、各高性能SoC内のGPU複合体(300)は、好ましくは、(例えば、限定するものではないが)車線検出、対象物検出、及び/又は空き空間検出を含む自動運転に必要な機能を実行するために、CNN、DNN、及び他の任意のタイプのネットワークを含む任意の数の訓練されたニューラル・ネットワークを実行するように構成される。GPU複合体(300)は、訓練されたニューラル・ネットワークを実行して、認知、プランニング、及び制御の機能を含む、車両制御、車両管理、又は安全性のために望ましい任意のAI機能を実行するようにさらに構成される。認知機能は、センサ入力を使用して、好ましくは占有率グリッドを含むワールド・モデルを作成し、プランニングは、このワールド・モデルを受けて最も良い計画を作成し、制御は、この計画を受けて、それを実施する。これらのステップは、連続的に反復される。
各高性能SoCは、これらのタスクのうちのいくつか又はすべてをディスクリートGPU(802)に肩代わりさせることがある。dGPU(802)は、高性能SoC上のGPUクラスタ上で実行する1つ又は複数のネットワークの冗長な動作を実行し、機能安全性を向上させ得る。代替的に、dGPU(802)は、追加のニューラル・ネットワークを実行して、車両制御、車両管理、又は安全性のために望ましい任意のAI機能を実行することがある。好ましい一実施例では、dGPU(802)は、ネットワークを訓練するために、又はGPUクラスタ(300)上で実行されるネットワークと異なるシャドウ・ネットワークを実行するために使用され、さらなる機能安全性を提供することがある。
示される実例では、構成要素(100)、(802)、(803)は、共通プリント回路基板に取り付けられ、同じエンクロージャ又はハウジング内に配置され、したがって、「ワン・ボックス」コントローラ・ソリューションを提供する。ワン・ボックス・コンピュータ・ソリューションは、好ましくは、プロセッサ及び回路基板を効率的に冷却するためのシステムを含む。一実施例では、冷却システムは、ファンシンクと統合されるように適合された能動的ハイブリッド熱輸送モジュールを含む。この実施例では、ファンシンクは、限定するものではないが、1つ又は複数のファンと、壁と、底部プレートとを含む。一実施例では、システムは、とりわけ粒子及び他の混入物がファンに入ることとファンから吹かれた空気がシステムから漏れることを防止するヒート・シンクの蓋も含む。ヒート・シンクの蓋は、ファンシンクの壁及び底部プレートとともに、複数の空気チャネルを画定する。ハイブリッド熱輸送モジュールは、熱を輸送するように適合された流体チャネルと空気チャネルの両方を含む。ハイブリッド熱輸送モジュール及びファンシンクは、単独で使用されてもよいし、プロセッサから熱を放散させるために組み合わせて使用されてもよい。
図18は、プラットフォーム・アーキテクチャ(900)のさらなる実施例を示す。実施例は、図17に示される実施例と同一であるが、PCIE x8 バス(902)を通じてPCIEスイッチ(804)に接続されたX86 CPU(901)の追加がある。
図19は、プラットフォーム・アーキテクチャ(900)の別の実施例を示す。実施例は、図18に示される実施例と同一であるが、X86 CPU(901)がPCIE x8 バス(902)を通じてGPU(802)と通信することを可能にする第2のPCIEスイッチ(804)の追加がある。
C.通信アーキテクチャ
図20は、任意の数の協働し相互接続されたシステム・オン・チップ(SOC)2002(1)、2002(2)、…、2002(N)を含む別の例示的なシステム・アーキテクチャ2000を示す。示される特定の非限定的な実例では、1つ又は複数のSOC2002(1)、2002(2)があり、これらの各々は、プロセッサと、キャッシュ・メモリと、メモリ管理回路と、通信回路と、インターフェース回路と、ディープ・ラーニング・アクセラレータ(DLA)などの他のコンピューティング構造とを有するコンピュータを含む。示されるSOC2002の実例は、同じ集積回路パッケージング内の同じ基板上の所与のSOC2002のすべてのそのような構造を提供するが、他の実装も可能である。例えば、各コンピュータは、複数の集積回路(IC)パッケージ及び/又は同じパッケージ内の複数の基板(例えば、マルチ・チップ・モジュール、すなわちMCM)にまたがって分散可能である。
示される特定の実施例では、2つのSOC2002(1)、2002(2)は、いくつかの適用例では互いと同一であってもよいし、他の適用例では互いと異なってもよい。同一のSOC2002を使用することによって、プログラミングの利便性と、減少したコストが提供され得る。様々なハードウェアが同じ障害、予想外の挙動、及び詳細な挙動特徴を示す可能性が低いので、異なるSOC2002のために異なるアーキテクチャを使用することによって、増加したフォールト・トレランスが提供され得る。任意の所与の実装では、複数のSOC2002の1つのセットが、互いと部分的に又は完全に同一であってよく、複数のSOCの別のセットは、互いと部分的に又は完全に異なってよい。
示される実例では、各SOC2002は、関連するメモリ・システム2004を有する。示される実例では、SOC2002(1)は、それぞれのメモリ・システム2004(1)にアクセスし、SOC2002(2)は、それぞれのメモリ・システム2004(2)にアクセスする。示される実例では、メモリ・システム2004(1)、2004(2)は、互いと別個で、互いから独立しており、したがって、1つのメモリ・システム2004内で発生する障害、ボトルネック、又は他の挙動は、他のメモリ・システムの動作に影響を与えない。示される例示的な実施例では、メモリ・システム2004(1)、2004(2)は、独立性を提供するために互いと通信しないが、他の実施例では、メモリ・システム2004(1)、2004(2)は、互いとの何らかの通信又は相互作用を有してもよいし、メモリ・システムのうちのいくつか又はすべてがSOC2002間で共用されてもよい。
各メモリ・システム2004は、DRAMなどのランダム・アクセス・メモリ、読み出し専用メモリ、リード/ライト・フラッシュ・メモリ、及び/又は他の半導体、又は他のメモリ・タイプを備えてよい。メモリ・システム2004の一部であるメモリ・パーティションのうちのいくつかは、情報をセキュアに記憶するセキュアなメモリであってよい。メモリ・システム2004は、少なくとも一部は、関連するSOC2002がタスクを実行するために実行するプログラム命令を記憶する非一時的メモリを構成する。各メモリ・システム2004は、関連するSOC2002によって処理されることになるデータ及びSOCによって作成されるデータも記憶する。
示される実例では、各SOC2002は、少なくとも1つの関連するグラフィックス処理ユニット(GPU)2006と相互接続され、それらと相互作用する。したがって、SOC2002(1)は、関連するGPU2006(1)と相互接続され、これと相互作用し、SOC2002(2)は、関連するGPU2006(2)と相互接続され、これと相互作用する。そのような構成は、冗長性及びスケーラビリティを提供する。一実施例におけるGPU2006は、超並列ストリーミング・マルチプロセッサ・ハードウェア計算及び加速サポートをSOC2002に提供する。そのような相互接続は、高速専用通信リンク2007を介してであってよい。いくつかの適用例は、GPUを有さないSOC2002を提供することがあり、他の適用例は、複数のGPUを有する又はSOC間で共有されるGPUを有するSOC2002を提供することがある。複数のGPU2006は、いくつかの実施例では、他の1つと部分的又は完全に同一であってもよいし、他の実施例では、互いとは部分的又は完全に異なってよい。
示される実例では、各GPU2006は、それ自体の関連するそれぞれのメモリ2008にアクセスする。したがって、GPU2006(1)は、それぞれのメモリ2008(1)にアクセスし、GPU2006(2)は、それぞれのメモリ2008(2)にアクセスする。各GPUメモリ2008は、DRAMなどのランダム・アクセス・メモリ、読み出し専用メモリ、フラッシュ・メモリ、及び/又は他のメモリ・タイプを備えてよい。示される実例では、各GPUメモリ2008は、少なくとも一部は、指定されたタスクを実行するように関連するGPU2006に命令する又はその他の方法で定義する命令、コマンド、及び/又は構成フォーマットを記憶する非一時的メモリを構成する。GPUメモリ2008は、関連するGPU2006によって処理されることになるデータ及びGPUによって作成されるデータを記憶する。示される実例では、GPUメモリ2008は、追加のフォールト・トレランス及びメモリ帯域幅を提供するために、SOCメモリ2004と別個であり、これから独立している。他の実施例では、GPU2006は、それらのそれぞれのメモリのうちのいくつか又はすべてを、他のGPU、SOC2002、及び/又は他の構成要素若しくはシステムと共有することがある。
示される実例では、SOC2002は、1つ又は複数のマイクロコントローラ・ユニット(MCU)2003と通信及び相互作用する。非限定的な実例では、MCU2003は、プロセッサと、それらのプロセッサが実行する命令を記憶する関連するメモリとを備えてよい。示される実例では、複数のマイクロコントローラ・ユニット2003(a)、2003(b)があることがあり、1つ又は複数のユニットが、障害の場合に別の又は他のユニットにフォールバック又は冗長性を提供する。例示的なアーキテクチャにおけるマイクロコントローラ・ユニット2003は、例えば、障害モニタリング、通信などの特定の目的に使用され得る。
示される実例では、GPU2006のうちのいくつか又はすべては、関連するSOC2002に加えて、1つ又は複数の追加のプロセッサ2010と通信し得る。そのような追加のプロセッサ2010は、システム2000の特定の物理的点所在地/インストール環境の内部又は外部であってよい。例えば、プロセッサ2010は、いくつかの実装では、クラウド内に設置され、ネットワーク又は他の通信リンクを介してGPU2006と通信してよい。他の実装では、プロセッサ2010は、SOC2002と同じボード、バックプレーン、又は他の構造上で、同じ場所に設置されてよい。
いくつかの例示的な実施例におけるプロセッサ2010は、SOC2002とは異なるアーキテクチャ、命令セット、及び機能を有し、適用例がその上で実行するための代替計算プラットフォームを提供する。一実例として、プロセッサ2010は、その第1の命令セット及び関連するアーキテクチャのために開発されたアプリケーションとの適合性を提供するために第1の命令セット及び関連するアーキテクチャを提供することがあるが、SOC2002は、その第2の命令セット及び関連するアーキテクチャのために開発されたアプリケーションとの適合性を提供するために、第2の命令セット及び関連するアーキテクチャ(第1の命令セット及び関連するアーキテクチャと異なる)を提供することがある。したがって、各タイプのアプリケーションは、GPU2006によって提供される超並列マルチプロセッシング及びアクセラレーション・ハードウェア・サポート能力にアクセスすることが可能になる。そのような実装では、ブロック2002、2010によって提供される異なるプロセッサ・アーキテクチャは各々、GPU2006と相互作用することができる。
示される実例では、SOC2002は、スイッチ、バス、又は非透過型ブリッジ2012を介して、互いと通信する。示される実例では、スイッチ又はバス2012は、それ自体の記憶域2016を有してよく、1つ又は複数の拡張コネクタ2018と相互接続してよい。示される実例では、バス又はスイッチ2012は、SOC2002(1)とSOC2002(2)との間の通信を提供する。示される実例では、各SOC2002は、バス・マスタとして機能することができる。いくつかの例示的な実施例では、同じバス又はスイッチ2012は、SOC2002のどちらか又は両方がポート2014及び/又は拡張コネクタ2018を介して1つ又は複数の他のデバイスと通信することも可能にする。例えば、スケーラビリティを提供するために、一実施例は、示される構造の拡張を、拡張コネクタ2018を介して追加のSOC2002に提供し、したがって、SOCのうちのいくつか又はすべては、拡張コネクタを介して互いと通信することができる。スイッチ又はバス2012はまた、特定の非限定的な一実例では10Gbps又は他の通信ポート2014などの、1つ又は複数の外部通信接続とインターフェースすることがある。他の実施例では、別個の、独立した、共有されていない、高速通信リンクが、SOC2002の各々が他のデバイスと通信することを可能にするために使用可能である。
1つの特定の実例では、スイッチ又はバス2012は、PCIe(PCI Express、すなわちPeripheral Component Interconnect Express)スイッチを含んでよいが、PCIバス規格、PCI-Xバス規格、若しくはAGPバス規格などの、他の高速シリアル・バス規格、高速パラレル・バス規格、若しくは他のコンピュータ拡張バス規格、又は(限定するものではないが)NVIDIA Corporationによって開発された、シリアル複数車線短距離通信リンクとして実装されたワイヤ・ベース通信プロトコルであるNVLinkなどのPCIeの将来の拡張物、代替物、若しくは後継が、代わりに、又は加えて、使用されてよい。
示される実例では、SOC2002は、1つ又は複数のマルチポート・スイッチ2020を介して他のデバイスとも(いくつかの実施例では、互いと)通信することができる。例えば、マルチポート・スイッチ2020は、イーサネット(登録商標)2020又は他の通信リンク若しくはネットワークを介して任意の数の他のデバイスとインターフェースする能力を(例えば、重複を介して)提供することができる。そのような通信は、例えば、SOC2002がWLAN、モデム、及び他の通信データ・ソースのようなデータ・ソースから、カメラ・センサ、LIDAR、レーダ、慣性測定ユニット(IMU)、及び他のセンサなどの車両上又はその中の広範囲の任意の数のセンサからもデータ及び信号を受け取ることを可能にするために使用可能である。
示される実例では、SOC2002は、さらなる高速通信リンク又は他の通信リンク及び1つ又は複数のシリアライザ、デシリアライザ、又はシリアライザ/デシリアライザ・ペア(SerDes)2024を介して他のデバイスとも通信することができる。SerDesペア2024は、並列データ・フォーマットと直列データ・フォーマットとの間の効率的な変換を提供する。例えば、SerDesペア2024は、カメラ、LIDAR、レーダ、又は他のセンシング・システムから複数の高解像度シリアル化ビデオ・データ・ストリームを受け取り、このシリアル化データ・ストリームをパラレル化データ・フォーマットに変換して、このパラレル化データ・フォーマットを記憶及び/又は処理のためにSOC2002に提供するために使用可能である。例えば、24以上のシリアル・インターフェース・カメラが、SerDesペア2024を介してサポート可能である。いくつかの実施例では、同じパラレル化ストリームが、複数のSOC2002の両方に冗長に提供可能である。他の実装では、異なるパラレル化ストリームが、異なるSOC2002に提供可能である。
SOC2002は、インターフェース2028及び車両コネクタ2030を介して車両バス2032とも通信し得る。示される実例では、MCU2003も、インターフェース2028を介して車両バス2032と直接的に通信することができる。例示的な一実施例における車両バス2032は、多数の車両又は最新の車両において見られるなどの、車両コントローラ・エリア・ネットワーク(CAN)マルチ・マスタ・メッセージ・ブロードキャスト・システム・バス2032を備えてよい。いくつかの実施例におけるそのような車両バス2032は、Bosch CAN規格、及びISO-11898:2003、又はそれらの将来のバージョン、後継、及び/若しくは代替物に準拠する。インターフェース2028は、そのような車両バス2032を介して通信するためにトランシーバを含む。他の車両インターフェース2028はRS-232、Flexray、PTP、GPIO、LIN、UARTなどを用いてよい。
そのようなアーキテクチャでは、SOC2002は、車両バス2032上に追加のコントローラを備え、車両バスに接続された他のコントローラ又はアクチュエータと通信することができる。このようにして、SOC2002は、車両バス2030を介して、車両センサを読み取って出力及び状態を制御し、他の車両コントローラ(例えば、エンジン制御モジュール)と通信し、限定するものではないが、ブレーキ・アクチュエータ、ステアリング・アクチュエータ、エンジン・スロットル・アクチュエータ、他のエンジン制御アクチュエータ、送信制御アクチュエータ、及び他のタイプの車両アクチュエータを含む車両アクチュエータにコマンド信号を送ることができる。示される実例では、MCU2003も、インターフェース2028を介して車両バス2032と通信することができる。
図21は、図17、図18、又は図19に示されるプラットフォーム内の複数の高性能SoC(100(1)及び100(2))が自動運転車両を制御する実施例を示す。上記で述べられたように、高性能SoC(100)及びdGPU(802)は、ディープ・ニューラル・ネットワークを使用して、自動運転車両制御のために必要な高レベル機能のうちのいくつか又はすべてを実行することがある。上記で述べられたように、各高性能SoC内のGPU複合体(300)は、好ましくは、対象物検出、空き空間検出を含む自動運転に必要な機能を実行するために、CNN、DNN、及び他の任意のタイプのネットワークを含む任意の数の訓練されたニューラル・ネットワークを実行するように構成される。MCU(803)は、高性能SoCのいずれか(100(1)及び100(2))とADASシステム及び機能(82)からの矛盾する結果の場合に調停する。図21に示されるシステムが、限定されるものではないが、示されている。異なる数及び組合せのセンサが、本技術の趣旨の範囲内で使用されてよい。そのうえ、ADASシステム(82)は任意選択である。ADASシステム及びセンサのすべて又はいくつかは、レベル3~5自動運転のためのシステムの一部として使用されてもよいし、ADASシステム及びセンサのいずれも、レベル3~5自動運転のためのシステムの一部として使用されなくてもよい。
図22は、自動運転能力が意図された複雑なプラットフォームを含む本技術のさらなる実施例を示し、8つのdGPU(802)とペアにされた最大8つの高性能SoC(100)が、NVSwitchと呼ばれる別のNVIDIAオフ・チップSoC(1001)を使用する。
NVSwitch(1001)構成は、高性能SoC(100)の1つからのPCIeリンク(1003)を使用する。8つの高性能SoC(100)は、8つのPCIeリンク(902)を通して8つのdGPU(802)とペアにされてよいが、或いは、NVLINKが使用されてもよい。8つの高性能SoC(100)及び8つのdGPU(802)は、NVLINK接続(805)を使用してNVSwitch(1001)に接続される。さらに、8つの高性能SoC(100)は、I2Cバス(1002)を使用して、互いと直接的に通信する。代替的に、高性能SoC(100)は、高速NVLINKを通して直接的に互いとペアにされてよい。各高性能SoCは、他の高性能SoCのDRAM及びSysRAMをアドレス指定することができる。
NVSwitch(1001)は、NV Linkを使用して、様々な高性能SoC(100)とdGPU(802)との間のポイント・ツー・ポイント通信を提供するネットワーク・スイッチである。NV Linkは、20Gbit/sよりも高いデータ転送レートを提供するポイント・ツー・ポイント通信プロトコルである。代替実施例では、NV Switch(1001)は、通信が様々な高性能SoC(100)とdGPU(802)との間で発生することを可能にするために、1つ又は複数の通信プロトコルを利用する、1つ又は複数の他のスイッチ、ハブ、又は他のネットワーク・デバイスに置換されてもよいし、これで補われてもよい。
動作中、8つの高性能SoCは各々、訓練され、歩行者検出、標識検出、距離推定、車線検出、衝突回避、現行占有率グリッド、予測占有率グリッド、及びステアリング制御のような特定のタスクに焦点を当てたネットワークを有し得る。代替的に、技術によって、単一ネットワークの共同訓練が、対象物検出、車線検出、空き空間、距離推定などの複数のタスクを扱うことが可能になる。
前の実例は、各高性能SoC(100)に対する1つのディスクリートGPU(802)を示しているが、SoCは、図23に示されるように、PCIeリンク(902)を通して、NVLINK(805)及びNVSWITCH SoC(1001)を通して接続された任意の数のディスクリートGPUと連携するように設計及び構成される。
1.機能安全性を向上させるための追加の実施例
図8は、本技術を実行するための高性能SoCの一実施例を示し、図17、図18、図19、及び図19は、本技術を実行するための高性能SoCを組み込んだプラットフォームを示す。各プラットフォームは、自動運転のためのボードを備えてよく、構成要素(100)、(802)、(803)は、共通プリント回路基板に取り付けられ、同じエンクロージャ又はハウジング内に配置され、したがって、「ワン・ボックス」コントローラ・ソリューション又はスーパーコンピュータ・ソリューションを提供する。上記で述べられたように、スーパーコンピュータ・ソリューションは、好ましくは、プロセッサ及び回路基板を効率的に冷却するためのシステムを含む。一実施例では、冷却システムは、ファンシンクと統合されるように適合された能動的ハイブリッド熱輸送モジュールを含む。ハイブリッド熱輸送モジュールは、熱を輸送するように適合された流体チャネルと空気チャネルの両方を含む。ハイブリッド熱輸送モジュール及びファンシンクは、単独で使用されてもよいし、プロセッサから熱を放散させるために組み合わせて使用されてもよい。
自動運転車両は、複数の異なるスーパーコンピュータを有し、システム安全性、信頼性、及び冗長性を保証することがある。例えば、図24は、本技術の一実施例による複数のコンピュータを有するアーキテクチャを示す。
システムは、1つ又は複数のLIDARセンサ(300)、並びにレーダ、カメラ、超音波、及び他のセンサを含む複数の他のセンサ(400)を含んでよい。LIDARセンサ(300)、及び他のセンサ(400)は、プライマリ・コンピュータ(オン・ボード・コンピュータ)(100)への入力を提供する。複数の他のセンサ(400)は、バックアップ・コンピュータ(オン・ボード・コンピュータ)(200)への入力も提供する。
プライマリ・コンピュータ(オン・ボード・コンピュータ)(100)及びバックアップ・コンピュータ(オン・ボード・コンピュータ)(200)は各々、図17、図18、又は図19に従って構成されてよい。代替的に、プライマリ・コンピュータ(オン・ボード・コンピュータ)(100)は、図17、図18、又は図19に記載のもう1つの高性能SoCを含んでよく、バックアップ・コンピュータ(オン・ボード・コンピュータ)(200)は、旧世代のプロセッサ、又は別のタイプのプロセッサを一緒に使用してよい。例えば、上記で述べられたように、バックアップ・コンピュータ(200)は、前世代プラットフォームを備えてよい。
代替的に、本技術は、別個の独立した組織体(entity)によって設計及び製造されたセカンダリ・コンピュータを提供し、ダイバーシティ及び機能安全性をさらに向上させる。例えば、技術の一実施例では、バックアップ・コンピュータ(200)は、1つ又は複数のADASシステムを含んでよい。そのような実施例では、セカンダリ・コンピュータ(200)は、とりわけ自動運転/適応/自動走行制御(「ACC」)、前方クラッシュ警告(「FCW」)、自動緊急ブレーキ(「AEB」)、車線逸脱警告(「LDW」)、死角警告(「BSW」)、後方交差交通警告(「RCTW」)、及び滑りやすい道路検出を含む、複数のディスクリートADASシステムを含んでよい。これらの実施例では、セカンダリ・コンピュータ(200)は単一のボックス内にある必要はなく、コンピュータを備える複数のADASシステムは、それらの機能は機能安全性のための冗長な実行を提供することであるので、互いと直接通信する必要はない。同様に、実施例では、セカンダリ・コンピュータ(200)を備える複数のディスクリートADASシステムは、様々なADAS供給業者及び/又は半導体製造業者からのCPU、FPGA、SoC、及びASICを含む、異なるディスクリート・センサ及びプロセッサに依拠してよい。そのような実施例では、本技術は、2つのASIL Bサブシステム、又は1つのASIL Cサブシステム及びASIL A、ASIL B、若しくはASIL Cの第2のサブシステムなどの、より低いASILの冗長で独立したサブシステムを組み合わせることによって、より大きなASIL機能安全性を提供する。
いくつかの実施例では、プライマリ・コンピュータとセカンダリ・コンピュータは同一でない。そのような異なる実装及び意図的な非対称によって、システム全体の、ソフトウェア(又はソフトウェア・ハードウェア・インターフェース)機能によって引き起こされた障害に対するフォールト・トレラント性が高くなる。例えば、プライマリ・コンピュータ(100)上で実行するソフトウェア内にソフトウェア・バグ又はエラーがあり、セカンダリ・コンピュータ(200)上で実行する同一でないソフトウェア・コードが、同じ全体的な結果を提供するが、異なるように設計及び実装される場合、システムは、全体的な結果が適切であり、バグが重大なエラーを引き起こしていないという、より大きな信頼性を有することができる。そのような意図的に異なる設計は、ソフトウェア設計上の欠陥又はバグに基づく単一障害点の可能性を減少させる。一代替実施例では、同じアルゴリズムは、ソフトウェア開発コスト及び複雑度を減少させるためにコンピュータ(100)、(200)の各々の上で使用可能であり、追加のテスト及び検証は、ソフトウェア欠陥によってコンピュータ(100)及び(200)がすべて故障するかもしれないというリスクを減少させるために使用されてよい。意図的に異なるソフトウェアは、対応するハードウェア削減及び関連する複雑度管理を提供し、それによって、増加した信頼性及び減少した故障率を生じさせる。
図26は、本技術の一実施例によるシステムのさらなる図である。図26に示されるように、システムは、プライマリ・コンピュータ(オン・ボード・コンピュータ)(100)と、セカンダリ・コンピュータ又はバックアップ・コンピュータ(オン・ボード・コンピュータ)(200)とを含む。プライマリ・コンピュータ(100)は、複数のセンサ(700)からセンサ入力を受け取り、複数のセンサ(700)は、エンジン・センサ(701)と、ドア・センサ及び/又はトランク・センサ(702)と、重量重心センサ(703)と、タイヤ・センサ及びタイヤ振動センサ(704)と、ブレーキ・センサ(705)と、ステアリング・センサ(706)とを含んでよい。他のよく知られているセンサは、プライマリ・コンピュータ(100)への入力を提供するために、技術により使用されてよい。
重量重心センサ(703)は、シャシー及び本体のダイナミクスを正確に記録する商業用グレード低g加速度センサを使用することによって実施可能である。適切なセンサは、単軸センサを含む。そのようなセンサは、以下の「本技術を使用する自律運転車両の追加の実例」という名称のセクションでより十分に説明される、自動運転トラック及び自動運転バスに特に有用である。
複数のセンサ(700)の観察下に置かれた重要な車両動作ステータス・パラメータには、とりわけ、(1)前方車両スピード、(2)車両方向、(3)スロットル位置、(4)ブレーキ作動、(5)ステアリング角及びステアリング・レート、(6)加えられるステアリング・トルク、(7)トランスミッション・ドライブ・ギア選択、(8)能動的安定性制御介入(オン/オフ)、及び(9)自動緊急ブレーキ介入(オン/オフ)がある。
プライマリ・コンピュータ(100)は、ミッション/プライマリ制御機能を含む。いくつかの好ましい実施例では、プライマリ・コンピュータ(100)は、認知、プランニング、及び制御を含む機能を提供する、NVIDIAからの自動運転ソフトウェア・スタックを実行する。上記で説明されたように、認知モジュール(101)は、センサ入力を受けて、ワールド・モデル、又は占有率グリッドを作成し、そのワールド・モデル内の対象物の挙動を予測し、運転シチュエーションにとって最も良い計画を作成し、その計画を実施するアクチュエータ・コマンドを作る。好ましい実施例では、認知モジュール(201)は、措置の合理的な過程に関する合理性モジュール(202)に指示する。認知モジュール(101)は、動的運転タスクを実行するように運転モジュール(102)に指示する。
好ましい実施例では、特にセカンダリ・コンピュータ(200)がプライマリ・コンピュータ(100)と同じ又は類似したハードウェアを備えるとき、セカンダリ・コンピュータ(200)は、冗長な異なるソフトウェアを実行させて、認知及び動的運転タスクにおける障害を検出する。セカンダリ・コンピュータ(200)も認知モジュール(201)を含み、認知モジュール(201)は、センサ入力を受けて、ワールド・モデルを作成し、運転シチュエーションにとって最も良い計画を作成して、それを実施する。セカンダリ・コンピュータ(200)が複数のADASシステムを備える実施例では、セカンダリ・コンピュータは、複数のADASシステムを独立して動作させ、とりわけ、車線逸脱、接近しつつある対象物、死角にある対象物、接近しつつある後方交差交通に関する起こり得る警告を含む出力を提供する。
システムは、プライマリ・コンピュータ(100)セカンダリ・コンピュータ(200)から入力を受け取る監視MCU(600)を含む。監視MCU(600)は、入力を評価し、競合があれば調停し、コマンドをアクチュエータに渡す。監視MCUの制御下に置かれた重要なパラメータには、(1)スロットル、(2)ブレーキ、(3)加えられるステアリング・トルク、及び(4)トランスミッション・ドライブ・ギア選択がある。
監視MCU(600)は、共有リソースをモニタし、パイプライン内の複数の段階において結果を比較する。監視MCU(600)は、プライマリ・コンピュータからのコマンドに従うべきであるように、プライマリ・コンピュータ(100)セカンダリ・コンピュータ(200)からの入力を比較して、2つのコンピュータが十分にアライメントされているかどうかを判定する。監視MCU(600)は、一連のシステム・リミッタを提供する安全性モジュールを実行する。監視MCU(600)は、スピードの関数としてステアリング角及びステアリング・トルクなどの項目を制限するための表及び曲線を提供する。これらの曲線は、CANコマンドが車両コントローラに前方に渡される前の終点門番役として安全性関係を実施する。
第1のコンピュータによって提供される結果と第2のコンピュータによって提供される結果が異なるとき、監視MCU(600)は、例えば、図25に示されるように、それらを調停しなければならない。
例示的な非限定的な実施例は、類似しているが同一でないアルゴリズムによる独立した処理を提供するので、異なるプロセッサからの作動制御結果は、異なる判断という結果になることがある。1つの実例として、車両カメラが、先行車両が減速しており、したがって、ブレーキが加えられる必要があることを示すとき、2つの独立したコンピュータ(100)、(200)及び/又は入ってくるセンサ・データを独立して処理するプロセスは各々、ブレーキが加えられるべきであると判定することがあるが、加えられるべきであるブレーキの量のそれぞれの判定における量が異なることがある。2つの独立したコンピュータ及び/又はプロセスは各々、ブレーキ・コマンドを提供し、2つの独立したコマンドは、両方のコマンドを受け取るために接続された周辺ブレーキ・コントローラ(700)によって調停される。2つの独立して動作するコンピュータ(100)、(200)又はプロセスの各々が同じコマンド(例えば、0.5gでブレーキを加える)を生成する場合、必要とされるアービトレーションは単純であり、ブレーキ・コントローラは、0.5gでブレーキを加える命令に従うだけである。一方、ブレーキ・コントローラ(700)が、ブレーキを提供する2つの異なるコマンドを受け取るが、ブレーキの量が異なる(例えば、一方のコントローラは0.5gのブレーキを命令し、他方のコントローラは0.3gのブレーキを命令する)場合、ブレーキ・コントローラは、これらの2つの異なるコマンドを調停することを必要とする。
調停する1つの手段は、最小値(例えば0.3g)でブレーキを加えることであろう。別のシナリオでは、0.5gのブレーキしきい値があり、一方のプロセッサ/プロセスはブレーキを加えるように命令し、他方のプロセッサ/プロセスは命令しないと仮定する。1つのシナリオでは、ブレーキ・モジュール(700)は、ブレーキを加えなくてよい。別のシナリオでは、ブレーキ・モジュール(700)は、ブレーキを加えてよいが、0.5gでのブレーキを要求したプロセッサによって命令されたよりも軽いブレーキ(例えば、0.3gのブレーキ)を加えてよい。別の可能性は、0.5gという指定された力でブレーキを加えるコマンドに従うが、自動運転システムは完全には信頼できないことを操作者(図25の「警告」出力を参照されたい)に通知して、手動運転に引き継ぐ機会を運転者に与えることである。
例示的な非限定的な実施例では、異なるプロセッサ/プロセス間の同期は必要とされない。むしろ、異なるプロセッサの独立した動作は、処理及び関連する出力生成は緩く同期されるにすぎないことを意味する。周辺デバイス(700)によって実行されるアービトレーション判断は、異なるコンピュータ又はプロセッサから受け取られた異なるコマンドを調停するとき、この同期欠如を考慮に入れる。
さらに、プロセッサから周辺機器にコマンドを通信するために使用される通信バスも、(例えば、競合及びバス上の他のメカニズムにより)非決定論的に非同期であってもよく、これは、周辺デバイス上のアービトレーションが考慮に入れる上の追加のタイミング要素である。1つの実例として、ブレーキ・コントローラ(700)が1つのプロセッサからコマンドを受け取るとき、ブレーキ・コントローラ(700)は、アービトレーション判断を行う前に別のプロセッサが類似のコマンドを提供するかどうかを知るために待つ、あるタイミング・ウィンドウ(図25を参照されたい)を定義することがある。そのような許容度は、周辺モジュールが、複数の独立したプロセッサによって発行されたコマンドに応答することを保証するために組み込まれる。10~25ミリ秒の範囲にあるそのような時間ウィンドウは、異なるコンピュータ(100)、(200)又はプロセス間の唯一の緩やかな同期を説明するために許容可能であってよい。しかしながら、タイミング・ウィンドウは、周辺デバイス(700)が依然としてタイムアウトを検出することができるのに十分に短くあるべきである。第2のメッセージがタイムアウト期間の後に到着した場合、周辺デバイス(700)は、これをその信頼性チェック(702)を用いて検出し、第2のコマンドを無視してもよいし、第1のコマンドを無視してもよい。いくつかの実施例では、ブレーキ・モジュール(700)は、信頼性チェックが、独立した制御信号の一方又は他方が障害の結果であることを示す場合、フィードバック又は通知をSoC(100)に提供することができる。
一般に、周辺デバイス(700)が2つの異なる独立したプロセッサ間の結果を調停することができるように冗長なコマンドを受け取ることが好ましいが、周辺デバイスは、単一のプロセッサからのコマンドのみに基づいて作動することも可能である。
コンピュータ(100)と(200)の両方が故障したとき、MCUは、上記のように運転者に警告信号を提供する。この場合、例示的なシステムは、自動運転動作を続行する信頼性を有さず、そのため、例示的なシステムは、ブレーキ・モジュール(700)、ステアリング・モジュール(62)、及び推進モジュール(56)に対して「安全な停止への運転手(Chauffeur to Safe Stop)」コマンドを実行する、又は引き継ぐように運転者に要求する。2つのコンピュータ(100)及び(200)が故障しても、アーキテクチャは、MCUのロック・ステップ(LS)コアと非LSコアの両方において冗長な機能を実行することによって、冗長性を維持する。したがって、システムは、障害にもかかわらず、安全性レベルを維持することが可能である。
上記で「複数のコンピュータを使用する実施例」という名称のセクションにおいて説明された複数のコンピュータを有する実施例においてそうであったように、両方のコンピュータは、好ましくは、同じ入力へのアクセスを有し、好ましくは、CANバス(又は複数の冗長なバスの構成)などの共通バスに接続され、それによって、同じ情報にアクセスすることが可能である。そのうえ、上記で「複数のコンピュータを使用する実施例」において説明された複数のコンピュータを有する実施例においてそうであったように、プライマリ・コンピュータ及びセカンダリ・コンピュータは、異なるセンサから情報を受け取って処理し、さらなる冗長性及び安全性を提供し得る。
図27は、バックアップ・コンピュータ又はセカンダリ・コンピュータ(200)が、全部又は一部が、ビジュアル・コンピューティング・ADASシステムを含む1つ又は複数のADASシステムを含む実施例を示す。
適切なADAS SoCは、意図しない/指示されていない車線逸脱を運転者にアラートする車線逸脱警告(「LDW」)、先行車両に対する現在のダイナミクス下で、衝突が差し迫っていることを示す前方衝突警告(「FCW」)、差し迫った衝突を識別する自動緊急ブレーキ(「AEB」)、適応走行制御(「ACC」)、車線維持支援(「LKA」)、及び車線センタリング(「LC」)に使用されるように設計される。
本技術によるバックアップ・コンピュータ(200)の一部として使用されるとき、適切なADAS SoC(201)は、バックアップ・コンピュータ合理性モジュール(202)に認知情報を提供する。合理性モジュール(202)は、認知及び動的運転タスクにおいて障害を検出するために、ハードウェア構成要素上で冗長な異なるソフトウェアを実行する。その後、システムは、SoCからの出力を監視MCU(600)に提供する。
したがって、ASIL-Dは、主な機能のためのNVIDIA製DRIVE PXソフトウェア・スタックと、冗長でフェイル・セーフな機能を提供するモバイル・プロセッサとを有する本技術の高性能SoCを使用することによって達成され得る。
プライマリ・コンピュータ(100)からの出力とセカンダリ・コンピュータ(200)からの出力が競合するとき、MCUは、安全な動作を保証するためにそれらの出力をどのようにして調和させるかを決定しなければならない。先に述べられたように、商用ADASシステムは、誤判定結果の傾向がある。人間が自動車を運転しているとき、ADASが、安全状態が本当に存在するかどうか、そしてそれに応じて行動するかどうかを判断することができる人間にアラートするので、誤判定は、いらいらさせ、気を散らせるが、一般的には破局的ではない。
自律運転自動車(50)において、車両自体が、相反する結果の場合、プライマリ・コンピュータ(100)からの結果に留意すべきかセカンダリ・コンピュータ(200)からの結果に留意すべきかを判定しなければならない。自律運転自動車(50)内のMCU(600)は、最も慎重な手法をとる、すなわち、プライマリ・コンピュータ(100)又はセカンダリ・コンピュータ(200)のどちらかが危険な状態を示した場合に是正措置をとるように構成されてよい。しかし、セカンダリ・コンピュータがADASシステムである実施例では、慎重な手法は、誤判定という結果になり、例えば、車両がフリーウェイ上で突然ブレーキをかける、又はレーダ・ベースADASシステムからのアラームをトリガする、排水格子又はマンホール蓋などの実際は危険物でない対象物を回避するために急に曲がる場合、受け入れがたい性能につながり、危険な状態すら作り出す。
いくつかの好ましい実施例では、プライマリ・コンピュータ(100)は、選ばれた結果に対するプライマリ・コンピュータの信頼度を示す信頼度スコアをMCUに提供するように構成される。信頼度スコアがしきい値を超える場合、MCUは、セカンダリ・コンピュータが相反する結果又は一致しない結果を提供するかどうかに関係なく、プライマリ・コンピュータの指示に従う。信頼度スコアがしきい値を満たさない場合、及びプライマリ・コンピュータとセカンダリ・コンピュータが異なる結果を示す場合、MCUは、適切な成果を判定するためにコンピュータを調停する。
好ましい実施例では、MCU(600)は、前記プライマリ・コンピュータ及び前記セカンダリ・コンピュータからの出力に基づいて、前記セカンダリ・コンピュータがフォールス・アラームを提供する状態を判定するように訓練及び構成されたニューラル・ネットワークを実行するように構成される。したがって、好ましい一実施例では、MCU(600)内のニューラル・ネットワークは、セカンダリ・コンピュータの出力がいつ信頼可能であるかと、いつ信頼できないかを学習する。例えば、セカンダリ・コンピュータ(200)がレーダ・ベースFCW ADASシステムであるとき、MCU(600)内のニューラル・ネットワークは、レーダ・ベースADASシステムが、レーダ・ベースADASシステムからのアラームをトリガする、排水格子又はマンホール蓋などの実際には危険物でない金属製対象物をいつ識別しているかを学習することができる。同様に、セカンダリ・コンピュータ(200)がカメラ・ベースLDW ADASシステムであるとき、MCU(600)内のニューラル・ネットワークは、自転車運転者又は歩行者が存在し、車線逸脱が実際には最も安全な操作であるとき、LDWに優先することを学習することができる。MCU上で実行するニューラル・ネットワークを含む実施例では、MCU(600)は、好ましくは、関連するメモリを有するネットワークを実行するのに適したDLA又はGPUのうちの少なくとも1つを含む。好ましい実施例では、MCUは、上記で「本技術を実行するためのAIスーパーコンピュータ・プラットフォーム」というセクションで説明された高性能システム・オン・チップを備えることができる。
他の実施例では、図27が示すように、セカンダリ・コンピュータ(200)は、例えば、コンピュータ・ビジョンの従来のルールを使用してADAS機能を実行するADASシステムを含む、1つ又は複数の高性能ADASシステムであってよい。セカンダリ・コンピュータ(200)が、古典的なコンピュータ・ビジョン・ルール(if-then)を使用する場合、MCU(600)にニューラル・ネットワークが存在することによって、信頼性、安全性、及び性能が改善される。この実施例では、異なる実装及び意図的な非一致性によって、システム全体の、ソフトウェア(又はソフトウェア・ハードウェア・インターフェース)機能によって引き起こされた障害に対するフォールト・トレラント性が高くなる。例えば、プライマリ・コンピュータ(100)上で実行するソフトウェア内にソフトウェア・バグ又はエラーがあり、ADAS SoC(201)を有するセカンダリ・コンピュータ(200)上で実行する同一でないソフトウェア・コードが同じ全体的な結果を提供する場合、監視MCU(600)は、全体的な結果が適切であり、プライマリ・コンピュータ(100)上のソフトウェア又はハードウェア内のバグが重大なエラーを引き起こしていないという、より大きな信頼性を有することができる。
図27が示すように、高性能ADASシステム(201)からの出力は、プライマリ・コンピュータの認知ブロック(101(1))及び/又はプライマリ・コンピュータの動的運転タスク・ブロック(102(1))に送られてよい。例えば、高性能ADASシステム(201)が、対象物がすぐ前にあることにより前方クラッシュ警告を示す場合、認知ブロック(101(1))は、対象物を識別するときに、この情報を使用してよい。
他の実施例では、セカンダリ・コンピュータ(200)は、上記で説明された様式で訓練され、したがって誤判定のリスクを減少させる、それ自体のニューラル・ネットワークを有する。
さらなる実施例では、車両(50)は、多数の量産車においてNVIDIAによって提供される、GPU機能を含むインフォテインメント・システムを含んでよい。例えば、図4に示される実施例では、車両(50)は、プライマリ・コントローラ(100(1))と、セカンダリ・コントローラ(100(2))と、インフォテインメント・コントローラ(100(3))とを含んでよく、各コントローラは、1つ又は複数のGPU及び/又は「本技術を実行するための高性能システム・オン・チップ」というセクションにおいて説明される高性能SoCなどの高性能SoCによって給電される。インフォテインメント・システムが監視MCU(600)に結合されるとき、インフォテインメント・システム内のGPUは、プライマリ・コンピュータ(100)とバックアップ・コンピュータ(200)の両方が故障した場合に制限された自律運転機能を実行するようにプロビジョニング可能である。この実施例では、インフォテインメント・システムは、ブレーキ・モジュール(700)、ステアリング・モジュール(62)、及び推進モジュール(56)に対して「安全な停止への運転手」コマンドを実行する又は引き継ぐように運転者に要求するように構成される。
機能安全性は、センサの誤作動を検出し、これに安全に応答することもシステムに要求する。例えば、カメラが埃又は雨滴によって妨害されるとき、自動運転車両を制御するためのシステムは依然として、確実に機能することが可能でなければならない。自動運転は、一般に複数のセンサを必要とし、システムは信頼性が高い情報を必要とするので、センサ・システム妨害を検出することは重要である。カメラが妨害されたとき、画像は、一般に、少量の細部を有するぼけた領域を含む。一般的に言えば、センサ妨害検出は、パターン認識問題と見なすことができ、ニューラル・ネットワークは、ぼけた領域を識別しようとすることによってセンサ故障を検出するように訓練されてよい。
センサ出力に基づいて、ニューラル・ネットワークは、2つの状態、すなわち正常ステータス又は異常ステータス(センサが妨害又は閉塞されている)の1つにセンサを分類することがある。システムは、システムを2つの段階、すなわち特徴抽出と検出/分類に分割する。
好ましい一実施例では、エッジ検出及びシャノン・エントロピーが、泥水、油、塗料、濃霧、又は他の類似した障害からのカメラ妨害を検出するために使用される。方法は、カメラがそのような障害によって妨害されるとき、エッジはそのような障害によって覆い隠されるので、妨害されたカメラによって撮影された画像はエッジ情報をあまり含まないという仮定に依拠する。1つの方法では、各画像内の勾配情報が計算され、強度がしきい値を上回る強いエッジのみが使用される。強いエッジは時間とともに蓄積され、安定したエッジは、蓄積プロセスを通じて強化される。蓄積されたエッジ画像は、ブロックに分割される。各ブロックに対して、ブロック内の情報の量が、シャノン・エントロピーによって測定される。エントロピーの変化は、対応するブロックがカメラ妨害により覆い隠される可能性を示す。
別の実施例では、前向きの霧検出ルーチンは、霧が出たとき、空と道路の交差点は消失点よりも下がると仮定する。この実施例では、検出された消失点及び道路/空の高さは、視界距離を推定するために使用される。
さらに、検出アルゴリズムは、現在のフレームのみに基づいてもよいし、フレームの(例えば、最近の)シーケンスに基づいてもよい。フレームのシーケンスが使用される場合、現在のフレームは、異常な変化を検出するために学習された背景モデルと比較され、妨害検出は、入力と背景モデルとの比較に基づく。好ましくは、システムが妨害検出を検出したとき、プライマリ・コンピュータ(100)は、車両が妨害物除去システムを装備している場合、妨害物を取り除くためにルーチンを実行する。妨害物除去システムは、ワイパーと同じくらい単純であってよく、レンズをきれいにする目的でレンズ上に圧縮空気のストリームを提供するためのノズルも含んでよい。妨害物除去システムは、好ましくは、レンズを加熱して、氷、霜、又は他の結露を軽減又は除去するように設計された、霜取り装置又は曇り取りシステムも含んでよい。
D.仮想化及び機能安全性
自動運転制御システムは複雑である。自動運転制御システムは、多くの場合、システムのシステムと考えられる。重要な難題は、そのような大規模システムをどのようにして安全にするかである。物理的に別個のコンピューティング・ハードウェアは、自動運転車両動作におけるリスクを減少させるために使用可能である。そのような物理的に別個のハードウェアは、コンピューティング・デバイス間に空気ギャップを提供することによって、フォールト・トレランス及びセキュリティを提供することができ、したがって、1つのハードウェア構成要素に対する問題又は攻撃は、他のハードウェア構成要素に影響しない。しかしながら、自動運転車両制御のために実行される異なる計算タスクは、多くの場合に、異なるときにではあるが、同じ計算リソースの多くを必要とすると判明する。
それほど多くの計算能力が、路上にてリアル・タイムで画像を認識する及び車両は何を行うべきであるかを判定するなどの集約的作業を実行するために必要とされるので、いくつかの適用例、状況、及び特定の実装では、完全に別個であるが冗長である、比較的高価なハードウェア・リソースをシステムの異なる部分に提供することは、費用対効果が高くないことがある。むしろ、いくつかの適用例及び状況では、より少数の強力な計算デバイスを使用し、自律運転車両制御の異なる目的及び態様に同じ計算ハードウェアを時間とともに再使用することが望ましい、又は望ましいことがある。言い換えれば、費用が多くの場合に重要な要素である状況で費用対効果を提供するために、様々な機能間でハードウェアを多重化することが望ましいことがある。
いくつかの非限定的な実施例では、様々な自動運転車両機能間でのハードウェアのそのような共有又は多重化を提供することは、例えば、多層防御(DiD)及び干渉からの解放を通して、セキュリティ脅威の冗長性、独立性、パーティショニング、及び軽減を提供するためにコンピューティング構造を抽象化及び仮想化することによって、安全に達成可能である。そのような仮想化された安全性及びセキュリティ・アーキテクチャは、例えば、自動運転車両の複雑度並びに自動運転車両動作と関連づけられた安全性及びセキュリティ・リスク(例えば、安全上の不備及び誤作動並びにサイバー攻撃を含む)によって通知されることがある。
1つの実例として、コンピューティング構造は、無線(OTA)プログラミング、データ、及び/又は他の更新を受け入れるように構造化可能である。しかしながら、いくつかの状況では、そのような無線更新が、どのようにして車両を運転するかについての判断を直接的に行ういかなる仮想マシン又は他の構成要素にも直接的に流れ込まないことを保証することが望ましいことがある。これは、無許可行為者が、車両制御ソフトウェアを実行している仮想マシンへの直接アクセスを有する外部インターネット又は他のネットワークを使用するリスクを回避し、攻撃者がOTAプロセスを損なう又はその他の方法で攻撃の一部として使用することを防止する。
アーキテクチャはまた、安全性にとって最も重要なコンピューティング構造及び/又は関連するソフトウェアの部分が互いから並びにコンピューティング構造及び/又は関連するソフトウェアの他の部分から隔離されるように仮想化可能である。例えば、通信コード実行は、それを別個の仮想マシン内で実行することによって、他の機能から隔離及びパーティショニング可能である。仮想化は、安全性を考慮に入れて設計されたASIL-D認定リアル・タイム・オペレーティング・システム(RTOS)が使用されている状況ですら、異なるプログラムの同じ計算リソース上への安全な統合及びパーティショニングを提供するために有益であることができる。さらに、セキュリティを増加させるために、限られた信頼モデルが、ピアが互いに信頼しない、親が子供を信頼しない、子供が限られた信頼を親に持つ、及び監査証跡が許可された措置に関する説明責任を提供し得ることを提供してもよいし、信頼モデルは、これを提供しなくてもよい。
いくつかの例示的な実施例では、通信パーティションは、ゲスト・オペレーティング・システム間のすべてのプラットフォーム・トラフィックと、仮想化された外部インターフェース(例えば、イーサネット(登録商標)、CANなど)上での外部世界を遮るために使用されてよく、セキュリティ・パーティションは、侵入攻撃の検出及び軽減を実行するために使用されてよい。いくつかの例示的な非限定的な実施例では、したがって、通信は、別個の仮想マシン内で隔離され、追加の防止及び検出機能は、疑わしい活動及び挙動を識別し、埋め込みシステムのセキュリティを保証する予防的及び防止的手段をとるために提供される。ディープ・パケット・インスペクションも、悪意のあるペイロードがないかどうかパケット内容をスキャンするために使用されてよい。
図28は、例示的な非限定的な仮想化された自動運転車両制御コンピューティング・プラットフォーム4000を示す。仮想化されたプラットフォーム4000は、任意の数の仮想化されたCPU4004上で実行する任意の数の仮想マシン4002を含む。仮想化されたCPU4004は、任意の数のハードウェアCPUコア4006上で実行する。ハイパーバイザ又は仮想マシン・マネージャ(VMM)優先式スケジューラ4008は、異なる仮想マシン間の隔離を提供し、共通リソースを共有しようとするすべてのアプリケーションに対するサービス品質を保証しながら、異なるハードウェアCPUコア4006上での異なる仮想化されたCPU4004のタスクの実行をスケジュールする。例えば、ハイパーバイザに関するさらなる情報については、本願の譲受人に譲渡された米国特許第9,742,869号明細書及び米国特許出願公開第2015/0067672号明細書を参照されたい。
1つの非限定的な例示的実例として、1つ、2つ、又は任意のN個の仮想マシン4002(0)、…4002(N)があってよい。プラットフォーム4000は、異なる仮想マシン4002間の隔離を提供する。1つ又は複数のアプリケーションは、各ホスト仮想マシン4002内でゲストとして実行する。仮想マシン4002(0)、…4002(N)は、VCPU0 4004(0)、4004(1)、4004(2)、…4004(9)、…4004(K)などの任意の数の仮想CPU上で実行することができる。仮想CPU4004は、同じハードウェアCPUコア上で実行してもよいし、異なるハードウェアCPUコア上で実行してもよい。例えば、以下の通りである。
・ VCPU4004(0)は、コア4006(0)上で実行してよい。
・ VCPU4004(1)は、コア4006(1)上で実行してよい。
・ VCPU4004(2)は、コア4006(2)上で実行してよい。
・ VCPU4004(3)は、コア4006(3)上で実行してよい。
・ VCPU4004(4)及び4004(9)は、コア4006(4)上で実行してよい。
・ VCPU4004(5)は、コア4006(5)上で実行してよい。
・ VCPU4004(6)及び4004(8)は、コア4006(6)上で実行してよい。
・ VCPU4004(7)は、コア4006(7)上で実行してよい。
いくつかの場合では、仮想化されたCPU4004とハードウェアCPUコア4006との間に1対1の対応があってよい。他の場合では、複数の仮想化されたCPU4004は、所与のハードウェアCPUコア4006上で実行してよい。仮想化されたCPU4004が複数のハードウェアCPUコア4006によってサポートされるシチュエーションもあってよい。いくつかの例示的な実装では、仮想CPU4004は、パーティション構成表内で定義されたマッピングを用いて物理的CPUコア4006に静的に割り当てられる。他の例示的な実装では、ハイパーバイザ4008は、優先順位、負荷分散、及び他の考慮事項を含む様々な要素に応じて、仮想化されたCPU4004へのCPUコア4006の割り振りを動的に変更することができる。ハイパーバイザ4008は、優先順位スケジューラを使用して、物理的CPUコア4006上の仮想CPU4004を時分割してよい。
仮想化されたプラットフォーム4000は、リソース・マネージャ(RM)サーバ4010(1)、通信サーバ4010(2)、及び他のサーバ4010(3)…4010(L)などの任意の数の仮想サーバをさらに含んでよい。そのようなサーバは、仮想マシン4002のいずれか又はすべてをサポートするために、直接的なハードウェア・サポートのない仮想化されたハードウェアを備えてよい。例えば、リソース・マネージャ・サーバ4010(1)は、何らかのハードウェア又は他のリソース(例えば、1つ又は複数のGPU並びに/又はエンコーダ、デコーダ、及び/若しくは合成器などのメディア・エンジン)に対する制御を行うサーバ・ソフトウェアを備え、複数のクライアント間のハードウェア又は他のリソースの使用を多重化してよく、そのため、クライアントは、競合なしに物理的コンピューティング・リソースを共有することができる。他の例示的なサーバ4010は、非限定的な実例として、
・ カメラ入力を管理するためのカメラ・ビデオ・ストリーミング・サーバ4010(3)、
・ 記憶デバイスを管理する(そして、例えば、各仮想マシン4002自体の仮想メモリ・アドレス空間を割り振り、サービス品質保証を実施するために、ゲストが多すぎるアクセスで物理的記憶域を圧倒するのを防止する)ためのストレージ・サーバ4010(4)、
・ I2Cなどのいくつかの通信バスの使用を管理するためのバス・サーバ4010(5)、
・ オーディオ・ハードウェア・リソースを管理するためのオーディオ・サーバ4010(6)、
・ ディスプレイ・リソースを管理するためのディスプレイ・サーバ4010(7)、
・ セキュリティ・エンジンを管理するためのセキュリティ・サーバ4010(8)、
・ デバッグにおいて使用するためのデバッグ・サーバ4010(9)、
・ CPUコア4006上で実行する他の機能のすべてをモニタし、オン・チップ・ハードウェア若しくは他のリソースにステータスを報告する安全モニタ(ウォッチドッグ)サーバ4010(10)、及び/又は
・ その他
を含んでよい。
サーバ4010はまた、例示的な実装において仮想化され、1つ又は複数の仮想化されたCPU4004上で実行し、実行をハイパーバイザ4008によって優先式スケジュールさせる。いくつかの例示的な実施例では、仮想化されたサーバ4010は、ハイパーバイザ4008によって別の方法で提供されることがある(そして、一般に、他のシステム内のハイパーバイザによって提供される)が、ハイパーバイザを最低限に抑え、単純で、簡単で、証明し得るように保つためにこのアーキテクチャ内でハイパーバイザから隔離されるサービスを提供する。
例示的な実施例では、仮想マシン4002は、標準的又は均一なハードウェア構成のイリュージョン(illusion)を、それらの上で実行する自動運転車両アプリケーションに提示してもよいし、提示しなくてもよい。仮想マシン4002の状況において、リアル・タイム自動運転車両システム内でハードウェア能力をエミュレートするためにソフトウェアを提供することが可能であるが、そのようなエミュレーションは、ランタイム・パフォーマンスの観点から高価すぎることがある。したがって、ホスト仮想マシン4002上で実行するゲスト自動運転車両アプリケーションは、必ずしも、任意の標準化された仮想ハードウェア構成を予想する又はこれに依拠するように設計及び構造化されない。エミュレーション・ソフトウェア・ミドルウェアを最小にする及び/又は除去することによって、ゲスト自動運転車両アプリケーション(依然として、その上でそれが実行されているホスト仮想マシン4002の「サンドボックス」内に閉じ込められているが)は、コア4006及びGPU、ハードウェア・エンジンなどの他のハードウェア構成要素のハードウェア能力に直接的にアクセスし、その上で実行することができる。ハードウェア・コア4006及び他のハードウェアは、一方、仮想化をサポートして、ハイパーバイザ4008にかかる負荷を最小にするように、及び機能への直接アクセスをゲストに与えることによってランタイム・パフォーマンスを最大にするように設計されてよい。例えば、いくつかの実装では、ゲストは、プラットフォーム4000によって提供された複数のエンジンの各々への直接的アクセスを与えられ得、それらのエンジンに作業を直接的に提示することが許可される。一方、エンジンは、エンジンがゲストのサービス内で実行するすべてのメモリ・アクセスが、そのゲストの割り当てられた/アクセス可能な仮想メモリの状況で、競合を防止し、ゲスト間の意図しない通信を回避し、ゲストが他のゲストの状態を損なうことを防止するために、なされるように設計される。したがって、様々なゲストは、同じエンジン及び他のリソースを共有している場合でも、空間的に隔離されたままでいる。
したがって、アーキテクチャは、エンジンなどの基礎となる同じリソースを共有する異なる仮想マシン間のパーティショニング、隔離、及び分離を提供するが、スケジューリング問題は、複数のゲストが同じリソースを同時に使用することを望むときに生じる。例示的な実装におけるRMサーバ4010(1)は、そのようなスケジューリング競合を解消する。RMサーバ4010(1)は、状況を管理すること及びゲスト間でメモリを保護することなどの多重化タスクを実行する。いくつかの実装では、一般的な場合又は通常の場合にゲストがRMサーバ4010(1)と実行時に通信する必要はない。RMサーバ4010(1)は、そのような実装では、競合が生じる又は何か他のことがうまくいかないとき、リソースを例外的に管理することがある。例えば、仮想マシン4002及び/又はゲスト自動運転車両アプリケーションがリソースを使用し始め、次いでそのリソースを解放しない場合、RMサーバ4010(1)は、仮想マシン4002にリソースを解放させ、前進を保証させることがある。
示される実例では、ハイパーバイザ4008は、プラットフォーム4000が満たすべきである安全性及びセキュリティ目標を達成するための基礎である。そのため、ハイパーバイザ4008は安全テスト及び認証可能であり、例示的な実装におけるハイパーバイザ4008は、マルチコアSOC又は他のコンピューティング・デバイス上で複数の仮想マシン4002を同時に実行することをサポートするその機能を果たすために、できる限り単純であるように、及びハードウェア上で直接的に実行するように設計及び構造化される。例示的な実施例におけるハイパーバイザ4008は、ステートレス又は大部分はステートレスであるように構造化され、競合するアプリケーションによってリソース・ロッキングを最小にすることによって高いサービス品質レベルを提供する。維持するべき状態がほとんどない又はないので、そのような実施例におけるハイパーバイザ4008は、そのような状態を維持するためにリソースをロックする必要はない。ハイパーバイザ4008とは別のストレージ・サーバ4010(B)からの記憶域アクセスなどのサービスを分配することは、ハイパーバイザのそのようなステートレス動作を容易にする。ハイパーバイザ4008は、依然として、同じリソース上で動作を同時に実行することによってサーバが互いと競合しないことを保証するように時間的隔離を提供するためにサーバ4010によって提供される様々なサービスのために優先式スケジューリングを実行してよい。
例示的な非限定的な実施例では、ハイパーバイザ4008は、非常に高い規格(例えば、オペレーティング・システム・カーネルよりも高い)に保持される。認証は、正確さの数学的証明を含んでもよいし、含まなくてもよい。安全でセキュアなテストは、正確さを証明するためにも実行されてよい。ハイパーバイザ4008は、互いとは別のシステムの異なる部分を保つために、高度の保証とともに信頼可能である。示される実例では、ハイパーバイザ4008とその上でそれが実行するハードウェアとの間にソフトウェアはない。それは、プロセッサ・ハードウェア上で直接的に実行する「ベア・メタル」ハイパーバイザである。他の実施例は、異なるハイパーバイザ展開を提供することがある。
図29は、プラットフォーム4000の別のビューを示す。このビューでは、仮想マシン4002は、仮想マシンと計算のために必要とされるリソースとの間の通信を提供するチャネル4012によってサポートされる。任意の数のチャネル4012が、任意の所与の仮想マシン4002に割当て可能である。例えば、以下の通りである。
・ 仮想マシン4002(0)は、チャネル4012(0)、…4012(N)が割り当てられてよい。
・ 仮想マシン4002(1)は、チャネル4012(N+1)、…4012(M)が割り当てられてよい。
・ 仮想マシン4002(2)は、チャネル4012(M+1)、…4012(P)が割り当てられてよい。
・ 以下同様である。
異なる仮想マシン4002が共有リソースと通信することを可能にするためのチャネル4012の異なるセットを割り当てるためのハードウェア及び/又はソフトウェア・サポートは、プロセス当たり及び仮想化されたマシン当たりの隔離を提供する。さらに、GPUなどの共有ハードウェア・リソースの使用は、チャネル割当てを通して異なる仮想マシン4002間で負荷分散可能である。仮想マシン4002上のホスト自動運転車両アプリケーションは、状況のソフトウェア管理及びメモリ保護を最小にするために、それら自身のチャネルが割り当てられてよい。さらに、上記で言及されたように、RMサーバ4010(1)及び/又はストレージ・サーバ4010(4)などの他のサーバは、メモリを保護することを用いて充電されてよい。優先式スケジューリング及び計算命令レベル・プリエンプションは、サービス品質要件を満たすことを可能にするために使用されてよい。
図30は、例示的なきめ細かな計算命令レベル・プリエンプションを示す。この図では、コマンド・プッシュ・バッファは、ワークグループにディスパッチされるコマンドを提供し、それらは、最終的に、プロセッサ上で実行するスレッドに割り当てられる。計算命令は、プリエンプションを提供してよい。しかしながら、他のリアル・タイム自動運転車両実施例では、プリエンプションの使用は、非決定論的な実行結果を防止するために最小にされる又は回避される。障害を修正又は防止するために必要であるときを除いてプリエンプションを回避することによって、アプリケーションが可変の予測不可能な実行点において中断され、次いで、それらの予測不可能な点において再開するように命令されるインスタンスが減少する。
チャネル・リセット能力は、自動運転車両アプリケーション(又はそれらの詐称者)が意図的に又は意図せずに不釣合な量のリソースを消費若しくは占有すること及び/又はGPU若しくは他のリソースをクラッシュさせることを防止するために使用されてよい。例えば、ゲストが提携する又は共有リソース内で障害を発生させるとき、それと通信するために使用されるリソース及びチャネルが強制的に自動的にリセットし、既知の、適切に機能する動作状態に戻ることができる降格した動作モードに傾くことが可能である。パーティション内でサポートされるそのような構造及び機能は、以下で詳述されるように、安全を最重視すべきプロセスとの及びそれらの間のリアル・タイムの安全でセキュアな通信能力を提供する。
通信はまた、例えば、マッピング能力、ダウンロード可能な地図、及び他の情報を提供するクラウド・サーバなどの外部デバイスでサポートされる。自動運転車両プラットフォームの任意の外部のネットワーク・インターフェースは、それがセキュアで暗号化及び認証される場合でも、厳しい環境と考えられるべきである。具体的には、攻撃者がすべての他の防御を打ち破り、イーサネット(登録商標)又は他の入出力インターフェースを、SOC又は自動運転車両制御を実行する他の処理デバイスにアクセスするというリスクがある。攻撃者がネットワーク・スタックへの直接的なアクセスを有し、ネットワーク・インターフェース上の着信パケット及び/又は発信パケットを制御する能力を有するというリスクもある。攻撃者が、ネットワーク・スタック内の欠陥又は弱点を利用することが可能である場合、攻撃者は、ネットワーク・スタックを制御することが可能であり得る。ネットワーク・スタックが、安全を最重視すべき作業もしている同じ仮想マシン4002内で実行される場合、これは、攻撃者が安全を最重視すべき作業を損なう又はその他の方法で影響を与えることができるというリスクを生じさせる。攻撃者は、攻撃者が害を及ぼすために使用するかもしれない安全を最重視すべき作業を実行する仮想マシン4002のオペレーティング・システム・インスタンスでの足場を有するであろう。例えば、攻撃者は、例えばオペレーティング・システム・カーネル内の欠陥を利用することによって、悪意のある地図データを生成するかもしれない。ネットワーク・スタックが損なわれると、攻撃は、オペレーティング・システム・カーネルのバグ又は弱点を利用してカーネルを制御することへとカスケードし得る。好ましい実施例は、仮想マシン・パーティショニング及び他の構造及びセキュリティ技法を使用して、そのような攻撃から保護する。
図31及び図32は、上記で提示されたセキュリティ・リスクに対処する例示的な非限定的な実装を示す。この実例では、通信ネットワーク・インターフェースは、安全を最重視すべき運転処理を実行している仮想マシン/パーティション4002(P)とは別個の仮想マシン/パーティション4002(L)内に設置される。通信パーティション4002(L)は、ネットワーク・インターフェース・サービス及び関連するスタック4002をサポートし、通信ネットワーク・インターフェース・プロセスのためのリソース・マネージャとして機能し得る。通信パーティション4002(L)は、例えば、追加のセキュリティを提供するためにネットワーク・アドレス変換4040もサポートしてよい。通信パーティション4002(L)は、埋め込みシステムと関連づけられた通信ハードウェアを管理する。そのような埋め込みシステムは、限定するものではないが、自動運転車両動作に使用されるシステム・オン・チップ(SoC)を含んでよい。
好ましい実施例によれば、通信パーティション4002(L)は、(例えば)埋め込まれたセキュアなオペレーティング・システムを実行する仮想マシンとして実施可能である。好ましい実施例では、通信パーティション4002(L)は、仮想マシン間通信を実行する仮想化されたルータを含むことができ、ゲスト・オペレーティング・システムと仮想化されたインターフェース上の外部ネットワーク又はアプリケーション(例えば、イーサネット(登録商標)、CANなど)との間のプラットフォーム・トラフィックを遮る。
したがって、例示的な通信パーティションの機構及び機能には、
・ イーサネット(登録商標)仮想化
・ ファイアウォール
・ ネットワーク・アドレス変換(NAT)
・ Xavier CANバスのためのCAN仮想化
・ 外部MCU CANバスのためのCAN仮想化
・ インターフェースDDoS対抗策
・ 他の車載ネットワーク(FlexRay、MOST、LIN)の仮想化
・ その他
があり得る。
好ましい実施例では、通信パーティション4002(L)は、複数の仮想マシンに対するサポートを提供する。そのような展開によれば、通信パーティション4002(L)は、完全に形成されたイーサネット(登録商標)・フレーム(上位層によって形成された)を、埋め込みシステムによって使用される車両内のネットワーク(例えば、イーサネット(登録商標))インフラストラクチャに提示し、これを受け取ることが可能である。通信パーティション4002(L)はまた、仮想マシンにおいて上位レベル・プロトコルによって必要とされる帯域幅及び待ち時間保証を実施し、各VMは、仮想化されたイーサネット(登録商標)・ドライバからフレームを提示することを担当する。好ましい実施例では、通信パーティション4002(L)は、分散型サーバ妨害攻撃(DDOS)抵抗、トラフィック・フィルタリング、ステートレス・ファイアウォール、及び制限付きコーン接続管理などの(限定するものではないが)ネットワーク周辺セキュリティ機構を提供する。通信パーティション4002(L)はまた、インフラストラクチャ・プログラミング機構、例えば、限定するものではないが、スイッチ構成、トラフィック・シェーピング、トラフィック・クラス・アービタ・プログラミング、及びVLANフィルタリングを用いても実施可能である。
例示的な一実施例では、通信パーティション4020(L)は、セキュリティ・パーティション4002(M)とも相互作用する。例示的なセキュリティ・パーティション4002(M)機構には、
・ IPステートフル・ファイアウォール及びIPステートレス・ファイアウォール(NATを含む)
・ CANファイアウォール
・ SSLプロキシ
・ リモート監査サーバへのログ・アップロードを伴うセキュリティ監査及びイベント・ロギング
・ 暗号化マネージャ-セキュリティ・ログ及び構成ファイル暗号化
・ DDoS対抗策
・ イーサネット(登録商標)及びCAN上のディープ・パケット・インスペクション(DPI)に関する機械学習
・ 仮想マシン及びファイル整合性チェック
・ セキュリティ及び通信仮想マシンOTAサービス及びバックアップ管理
・ 他の車載ネットワーク・プロトコル(FlexRay、MOST、LIN)のためのセキュリティ
があり得る。
通信パーティション4020(L)のように、セキュリティ・パーティション4002(M)は、セキュアな埋め込みシステム固有オペレーティング・システムを実行する仮想マシンとして実施可能である。好ましい実施例では、セキュリティ・パーティション4002(M)は、トラフィックのための検出及びポリシーを構成する構成ファイル(暗号化及び署名された)にアクセスする、及び/又はこれを維持し得る。攻撃が検出されると、セキュリティ・パーティション4002(M)は、その攻撃のために構成されたポリシーを規定することを担当する。各ゲストVMは、各通信インターフェースと関連づけられたセキュリティ・ポリシーを有する。これらのセキュリティ・ポリシーは、互いとは無関係であってよい。したがって、2つのゲストOSのための仮想マシンは、同じ物理インターフェースのために異なるセキュリティ・ポリシーを有することができる。
例示的な非限定的な一実施例では、セキュリティ・パーティションは、通信パーティションと1つ又は複数の追加のVM4002(P)との間に論理的に配置されてよい。VM間通信及びゲストOS内で実行するアプリケーションと外部通信インターフェースとの間の通信は、検査及び侵入検出のためにセキュリティ・パーティションを通ってルーティングされてよい。通信パーティション4002(L)と、セキュリティ・パーティション4002(M)と、さらなるパーティション4002(P)内で実行するゲストOSとの間の仮想マシン間通信は、1つ又は複数の例示的な実施例では、通信パーティション4002(L)内で実施される仮想ルータ4032、セキュリティ・パーティション4002(M)内で実施される仮想ブリッジ4034、及び追加の仮想マシン4002(P)上で実行するゲストOS内の仮想ドライバ4036(図32を参照されたい)によって実行されてよい。セキュリティ・パーティション内で実行され得るセキュリティ機構は、1つ又は複数の通信インターフェース(例えば、IP、CAN)のためのファイアウォール、セキュア・ソケット・レイヤ(SSL)プロキシ、分散型サービス妨害攻撃(DDOS)対抗策、VM及びファイルのための整合性チェック、並びにOTAサービスのためのバックアップ管理、のうちの1つ又は複数を含んでよい。
例示的な実施例によれば、セキュリティ・パーティション4002(M)は、通信パーティション2002(L)によって受信及び/又は送信されたネットワーク・パケットを深く検査し(ディープ・パケット・インスペクション)、ネットワーク通信が疑わしく見え始めた場合にネットワーク通信を(例えば、1つ又は複数の機構及び/又はデータ処理構成要素又はルーティング構成要素の無力化を介して)停止する情報を生成する、深層機械学習ニューラル・ネットワーク4046も提供する。そのようなディープ・パケット・インスペクションは、悪意のあるペイロードがないかどうかパケット内容をスキャンすることと、並びに以前に検出されていない異常を検出することを含んでよく、何か疑わしいものを検出したときに通信パーティション動作を中止するために必要な許可を有する。セキュリティ・パーティション4002(M)は、攻撃者によって破壊不可能なセキュアなイベント・ロギング/監査証跡4044を提供することもできる(そのようなログ及び監査証跡は、共通基準証明を取得するのに有用である)。例示的な実施例が、例示の目的でパーティション4002間の直接的な通信を示しているが、仮想マシン/パーティション間でセキュアに通信するための一般に知られている技法が、例示的な実装において使用されることが好ましいであろう。
E.例示的な仮想化安全性フレームワーク
例示的な非限定的なプラットフォームは、運転及び他のシステム・タスク又はミッション・クリティカルなタスクを制御するソフトウェア機能及び/又はハードウェア機能の動作を絶えずモニタする安全性フレームワークをさらに含む。安全性フレームワークは、運転制御機能がどのように動作しているかに関する情報を収集し、システム構成要素が適切に動作していることを保証するために診断プロセスを実行することができ、必要に応じて自動的終了/リブート/再起動プロセスなどの是正措置をとり得る別個の安全性専用ハードウェア(例えば、1つ又は複数の安全性マイクロコントローラ)に例外を報告する。
安全性フレームワークは、運転制御ハードウェア/ソフトウェア機能の故障によって安全性フレームワークも故障しないようにモニタしている運転制御機能と独立して動作する。例示的な非限定的な実施例は、いくつかの安全性フレームワーク構成要素が、異なるハードウェア上で実行する他の安全性フレームワーク構成要素を見張りモニタする弾力的なマルチ・レベル/多層安全性フレームワーク構造を提供することによって、「誰が警備員を見張るのか?」という昔からの質問に答える。ハードウェアから独立した複数のレベルの見張り/モニタリングを提供することによって、マルチ・レベル/多層安全性フレームワーク構造は、複数の層及び複数のハードウェア・プロセッサ全体にわたってモニタリング機能を分散させ、そのため、安全性フレームワーク自体の何らかの部分の故障が、安全性フレームワーク全体が動作できないようにすることがなく、安全性フレームワークのどの部分も、高性能プロセスをリアル・タイムで見張る要求によって過負荷状態になる又は圧倒されることがない。
例えば、高性能運転アプリケーション・プロセッサの仮想マシン/パーティション内で実行するアプリケーション・ウォッチドッグ・モニタリング機能は、それらのアプリケーション・プロセスの動作の複雑な詳細をモニタすることを担当することがある。アプリケーション・ウォッチドッグ・モニタリング機能は、次に、異なる仮想マシン/パーティション内及び/又は異なるハードウェア内で動作していることがある安全性フレームワークの上位レベルに簡潔なモニタリング結果を報告する。そのような安全性フレームワーク上位レベル自体は、アプリケーション・プロセス・アプリケーション・ウォッチドッグ・モニタの複雑な詳細に関与するようになる必要はない。安全性フレームワーク上位レベルは、アプリケーション・ウォッチドッグ・モニタリング機能が報告する簡潔な結果を処理しさえすればよい。したがって、これらの高レベルは、安全性フレームワークの下位レベル自体が適切に動作していることを保証するためにモニタすると同時に、計算構造のより詳細な動作がモニタされていることに関する情報を下位レベルから受け取る。このようにして、マルチ・レベル・安全性フレームワークは、圧倒されることなく複雑なシステムを通じて多数の複雑な高性能リアル・タイム運転制御(及び他の)制御機能を適時に効果的にモニタする処理能力も提供しながら、高レベルの弾力性及び冗長性を提供することが可能である。
いくつかの例示的な実施例では、安全性フレームワークは、安全性関連ハードウェア及びソフトウェアのエラーの構造化された取り扱いのための収集/ディスパッチを合理化する機構を提供する。ASIL-D系統(systematics)のために設計された安全性監視フレームワーク上で階層化された自動運転オペレーティング・システムは、安全性のために強力な隔離/外部関数インターフェース(FFI)を提供する。この例では、FFIは、あるプログラミング言語で又はあるアプリケーション・プログラミング・インターフェース(API)に対して記述されたプログラムが別のプログラミング言語で及び/又は別のAPIのために記述されたルーチンを呼び出す又はそのように記述されたサービスを利用することができるメカニズムである。
いくつかの実施例では、マルチ・レベル・安全性フレームワークは、被監視エンティティとは別であり、それ自体が、独立して動作するが互いに監視する機能の複数のレベル又は層を提供する。例えば、いくつかの実装では、安全性フレームワークは、高性能アプリケーション・ソフトウェアの健康状態をモニタするモニタリング構成要素を提供する。これらの安全性構成要素は、次に、安全性フレームワーク・モニタリングの他の独立した層によってモニタされ/見張られ、次に、この他の独立した層が、安全性フレームワーク・モニタリングのさらに他の独立した層によって見張られ、以下同様である。任意の数のそのようなモニタリング層が提供されてよいが、いくつかの例示的な実施例では、3層安全性フレームワーク・アーキテクチャが提供される。安全性フレームワークは、いくつかの例示的な非限定的な実施例では、ソフトウェア安全性診断テスト機能(「SDTF」)の効率的な実行を管理し、安全性関連質問/応答のための層間の保護されたチャネルを介して通信を提供する。
図33は、追加の安全性機構に関連する例示的な非限定的なプラットフォームの例示的な詳細を示す。示される実例では、アプリケーション・プロセス5002を実行し、ミドルウェア5004と、ドライバ5006と、安全性オペレーティング・システム5008とを含む仮想マシン/パーティション4002(k)は、高性能アプリケーション・プロセス5002の安全性プロキシング(proxying)及びモニタリングを実行する安全性ウォッチドッグ・モニタリング・ソフトウェア5010も実行する。安全性ウォッチドッグ・モニタ5010は、例えば、アプリケーション・プロセス5002の健康状態を見張り、モニタしてよい。安全性ウォッチドッグ・モニタ5010は、例えば、シーケシングが適切に進んでおり、デッドラインは満たされており、実行時間は予想よりも長くかかっていないことを保証するように構造化される。1つの実例として、安全性ウォッチドッグ・モニタ5010は、カメラ、レーダ、LIDARなどからのセンサ・データを処理しているアプリケーション・プロセス5002の場合にセンサ・データ整合性チェックを実行することがある。安全性ウォッチドッグ・モニタ5010がエラー又は障害を検出した場合、安全性ウォッチドッグ・モニタ5010は、安全性フレームワーク内の上位レベルまでエラー通知を伝播することがある。それは、工場の生産現場で検査官が、生産現場におけるいくつかの観察されたプロセスが欠陥のある部分が欠陥のあるプロセスによって製造されるのを防止するのに失敗していることを上司に告げるのと全く同様である。
示される実例では、安全性ウォッチドッグ・モニタ5010は、アプリケーション・プロセス仮想マシン/パーティションを実行する同じプロセッサ5050(コアCPU複合体すなわちCCPLEX)上のそれ自体の独立した仮想マシン/パーティション5014内で動作する第1のレベル(「L1SS」)安全監視装置5012(1)に報告する。この第1の安全性レベルL1SS安全監視装置5012(1)は、それ自体のテストを実行するために、診断5016及びユーティリティ5018などのそれ自体のテスト能力をさらに含んでよい。そのような診断5016は、例えば、ハードウェア機能をテストするために使用可能である。いくつかの例示的な実施例では、L1SS安全監視装置5012(1)は、特定の診断を実行して結果を報告することと、実行されるべき診断が実際に実行されていることを確認することを仮想マシン/パーティション4002に要求する機能も有する。診断5016は、安全監視装置5012(1)が不適切な動作を適時に検出することができることを保証するのに十分な頻度でテストが実行されることを保証するのに適切な割合で実行されてよい。診断は、所望の適用範囲を提供するハードウェアとソフトウェアの組合せによって実施可能である。診断及びモニタリングは、障害時間許容間隔(例えば、100msごと)内の任意の種類の障害を検出するように構造化される。例えば、以下のような、例示的な非限定的な実施例によってサポートされるいくつかの異なる種類の診断がある。
・ 診断開始 - システムがミッション・モード、例えば、ハードウェア・セキュリティ・モジュール(HSM)構成に入ることができる前に実行及び検証される診断
・ 定期的診断 - 定期的に実行される診断(通常、診断テスト時間間隔内で、例えば、重要なデバイス構成をゴールド基準(golden-reference)/チェックサムと照合する)
・ オン・デマンド診断 - イベント発生に応じて動的に要求される診断、例えば、シングル・ビット・エラー報告があらかじめ設定されたしきい値を超えた、ある一定の数のフレームがある一定の量の時間内に削除された、などの後のメモリ診断
・ シャットダウン診断 - シャットダウン時に実行される診断。これらのうちのいくつかは、安全性フレームワークがシャットダウンされた後に実行され、そのため、結果は、次回のブート時に利用可能になることがあることに留意されたい
・ ランタイム診断 - 通常のソフトウェア・フローの一部として実行される診断。実施例によれば、これらは、必ずしも安全性フレームワークによって独立して呼び出されるとは限らないが、いくつかはそうである場合がある。ランタイム診断は、機会主義的に又はソフトウェア・ドライバによる必要によって呼び出され、結果/ステータスは、安全性フレームワーク内の標準的なエラー・フローを使用して通知可能である。ランタイム診断の実例には、以下がある。
- 書き込み後のソフトウェア・レジスタ・リードバック検証
- 安全を最重視すべき構成データのソフトウェア・アイドル・タスク実行チェックサム検証
- 計算された信号値に関するソフトウェア実行信頼性(plausibility)チェック
- ソフトウェア制御下での冗長な実行及び比較、並びに
- 安全性フレームワーク・パスウェイ上で発行されたドメイン固有循環チャレンジ/レスポンス
時間的モニタリングも適用されてよい。時間的隔離/FFIを必要とするソフトウェア・アプリケーションは、被監視エンティティ(例えば、実行可能)を異なるOSタスク・オブジェクト上にマップしてよい。被監視エンティティは、プログラム・フローの中でチェックポイント(CP)に到達したことを知らせてよい。専用ウォッチドッグは、あらかじめ規定されたスケジュール・ステータス-生存性(Aliveness)、到着率、又はデッドライン、及び実行シーケンス-への準拠のために実行をモニタしてよい。障害が、通知の欠如(又は信じがたい通知)によりアーチファクトとして検出されることがある。障害ステータスは集計され、カウンタ/フラグに反映され、ハートビートを介して安全性フレームワークの上位レベルに公開される。措置は、登録されたハンドラを介して実行される。
安全性フレームワーク全体は、障害を検出し、検出された障害に適時に、すなわち、障害によって安全でない状態が生じる前に、反応することが保証されるように構造化される。しかしながら、例示的な非限定的な実施例では、L1SS安全監視装置5012(1)は、ドメイン固有知識をあまり有さない再使用可能な構成要素である。したがって、L1SS安全監視装置5012(1)は、プロキシ又はルータとして機能し、安全性フレームワークの下位レベルで発見されたエラーに関する情報を安全性フレームワークの次の上位レベルに適切に伝播する。
第1の安全性レベルL1SS安全監視装置5014(1)は、次に、異なる仮想マシン/パーティション5014(2)内で実行する並びに/又は同じ又は異なるシリコン・ダイ上の同じSOCパッケージ5054内のデュアル・コアRISCプロセッサなどの異なるプロセッサ5052上で実行する第2のレベルL2SS安全監視装置5014(2)と通信し、これに、検出されたエラー及び障害を報告し、このデュアル・コアはロックステップで実行する。したがって、第2のレベル安全監視装置5104(2)(仮想化されてもよいし、されなくてもよい)は、特定の実施例によれば、ハイパーバイザ4008及びその関連するハードウェアとは無関係に動作する。いくつかの実装では第2のレベルL2SS安全監視装置5014(2)がその上で実行する異なるプロセッサ5052は、高性能アプリケーション5002を実行するプロセッサよりも低い実行中のプロセッサであってよい。
第2のレベルL2SS安全監視装置5014(2)は、さらなる安全性ウォッチドッグ・モニタ5012(2)と、診断5012(2)と、ユーティリティ5012(2)とを含む。第2のレベルL2SS安全監視装置5014(2)は、第1のレベル安全監視装置L1SS5012(1)と通信し、これに命令し、第1のレベル安全監視装置が収集した結果を受け取る。ハードウェアのサポートによって、L2SS安全監視装置5014(2)は、一過性障害又は非一過性障害を検出するように周囲のハードウェア論理を保護することも可能であり得る。
SOCハードウェアが、SOC5054ハードウェア及びソフトウェアの他の部分内で発生する大部分の障害がまた、L2SS安全監視装置5014(2)の障害を引き起こさないように、L2SS安全監視装置5014(2)及びその関連するプロセッサ5052を隔離するように設計及び構造化される。したがって、システムは、L2SS安全監視装置5014(2)が安全性「アイランド(island)」上で実行し、SOC5054の他の部分、すなわちSOC「メインランド」上で発生し得る障害によって影響されることから隔離されるが、依然としてSOCメインランド上でプロセスのすべてが実行されているのを見てモニタすることができるように設計及び構造化される。
図33の図は、第2の安全性レベルL2SS安全監視装置が1つの追加のパーティション/仮想マシン5014(1)内で1つの安全性アプリケーション・ウォッチドッグ5010のみと相互作用することを示しているが、第2の安全性レベルL2SS安全監視装置は、スループット、帯域幅、及び性能基準と一致する、任意の数のパーティション/仮想マシン内の任意の数の安全性アプリケーション・ウォッチドッグと相互作用してよい(図35を参照されたい)。システム全体の複雑度及び程度に応じて、任意の数の第2のレベルL2SS安全監視装置があってよく、各々は、任意の数のアプリケーション仮想マシン/パーティション又は他の仮想化された若しくは仮想化されていない処理構成要素内の1つ又は複数のアプリケーション・ウォッチドッグ・モニタをモニタする。しかしながら、一般的には、いくつかのアーキテクチャでは、SOC5054当たり少なくとも1つの第2のレベルL2SS安全監視装置があってよい。
いくつかの例では、L2SS安全監視装置5014(2)は、障害が発生したハードウェアによって直接的に通知されることがある。そのような例では、L2SS安全監視装置5014(2)は、検出されたエラーをL1SS安全監視装置5014(1)に知らせることがあり、そのため、L1SS安全監視装置は、仮想マシン4002及び関連するアプリケーション・プロセス5002に知らせることができる。さらに、第2のレベルL2SS安全監視装置5014(2)は、L1SS安全監視装置5014(1)から受け取ったエラー/障害報告に対して何らかのフィルタリング及び処理を実行することがあり、いくつかの限られた例(例えば、いくつかの種類のローカル・メモリ・リセット)では、それ自体で是正措置をとり得る。しかしながら、一般に、例示的な実施例におけるL2SS安全監視装置5014(2)は、異なるパッケージ内の異なるシリコン上の異なるプロセッサ-この場合、安全性マイクロコントローラ5020-上に存在する異なるパーティション内で実行する第3の安全性レベルL3SS5014(3)安全監視装置と通信し、これに、検出されたエラー/障害を報告することによって、エラー・ルータとして機能する。
この実例における第3のレベルL3SS安全監視装置5014(3)は、さらなる安全性ウォッチドッグ5012(3)と、診断5012(3)と、ユーティリティ5012(3)とを含む。安全性MCU5020上で実行するこの第3の安全性レベルL3SS安全監視装置5014(3)は、SOC5054上で実行する安全性構成要素と通信し、第2のレベル安全性ウォッチドッグ5012(2)に命令し、第2のレベル安全性ウォッチドッグが収集した結果を受け取る。第2の安全性レベルとちょうど同じように、第3の安全性レベルL3SS安全監視装置は、任意の数の他のプロセッサ/SOC上で実行する任意の数の第2の安全性レベルL2SS安全監視装置構成要素と相互作用及びモニタしてよく、いくつかの実装では、複数の第3の安全性レベルL3SS安全監視装置インスタンスがあることがある。例えば、いくつかの実施例では、L3SS安全監視装置5014(3)は、それぞれのSOC5054上の複数のL2SS安全監視装置5014(2)と相互作用することができ、したがって、多数のそれぞれのアプリケーション5002を実行する複数の仮想マシン/パーティション4002を各々がサポートする複数のSOC5054をモニタすることができる。
安全性アーキテクチャは、4つのレベルL4SS、第5のレベルL5SSなどに拡張可能/スケーラブルである。しかしながら、いくつかのアプリケーションでは、図33に示される3つのレベルは、十分である。例示的な非限定的な実施例では、最も高い安全性フレームワーク・レベル(この場合、L3SS安全監視装置)は、アプリケーション・プロセス5002及び関連した仮想マシン/パーティション4002(k)並びに安全性フレームワーク・ウォッチドッグ5012及び仮想マシン/パーティション5014のいずれか又はすべてをシャットダウンする、再起動する、リブートする、及びその他の方法で制御する権限が与えられた、別個の、ハードウェアに依存しない(異なるシリコン及びパッケージ)安全性MCU5020(本明細書において他の場所で説明されるように、冗長なバックアップも有することがある)上で実行する。アプリケーション・プロセス5002を実行するプロセッサSOCからの安全性MCU5020のハードウェア独立性は、プロセッサSOC5054に影響するハードウェア障害が安全性MCUにも影響するというリスクを最小にする。例えば、いくつかの実装では、MCU5020は、アプリケーション・プロセス5002を実行するプロセッサSOCに影響する電力障害が安全性MCU5020に影響しないように、別個の電力又はバッテリ・バックアップを受け取る。
したがって、マルチ・レベル・モニタリングは、そのうちのいくつかが互いと異なるハードウェア構成要素内で実行し得る、ローカル安全モニタ、中間安全モニタ、及びグローバル安全モニタを提供する。グローバル安全モニタは中間安全モニタをモニタし、次に、中間安全モニタがローカル・モニタをモニタする。示される実例では、安全性MCU(マイクロコントローラ)5020は、グローバル・モニタリング機能を実行し、異なるハードウェア上で動作する様々な中間安全モニタ機能から入力を受け取り、次いで、中間安全モニタ機能は、様々なローカル安全モニタから入力を受け取る。安全性フレームワークの異なるレベル(及びハードウェア)上の安全性ウォッチドッグの複数のインスタンスによって、安全性MCU5020が、ボトルネックになることなく異なるプロセッサSOC上の様々なパーティション4002内で実行する多数の高性能ソフトウェア・プロセスをモニタすることが可能になる。特に、L1SSは、この場合、高性能仮想マシン及び関連するプロセス4002(k)をモニタする安全モニタである。高性能仮想マシンがL2SS安全監視装置によって直接的にモニタされる場合、LS22は過負荷状態にされ得る。しかしながら、L2SS安全監視装置がアプリケーション・プロセス5002のあらゆる安全性態様をモニタする必要はないのは、そのような詳細なモニタリングは、代わりに、アプリケーション安全性ウォッチドッグ・モニタ5010によって実行されるからである。したがって、L2SS安全監視装置は、圧倒されないが、代わりに、アプリケーション・ウォッチドッグ・モニタ5010並びに追加のアプリケーション仮想マシン/パーティション内で動作する潜在的に他のアプリケーション・ウォッチドッグ・モニタの効果的なリアル・タイム・モニタであるままである。同様に、安全性MCU5020上で動作するL3SS安全監視装置安全モニタリング・レベルは、任意の数の第2のレベルL2SS安全監視装置によって実行される安全モニタリング・タスクによって圧倒されない。図34を参照されたい。
図35は、例示的な相互作用トポロジを示す。この概略的なブロック図は、L1SS5014(1)は、ネイティブ・ゲスト・オペレーティング・システム下でそれぞれの仮想マシン・パーティション内でネイティブに実行し、ドライバ5006と通信するそれ自体のそれぞれの安全性ウォッチドッグ5010を各々が含む、任意の数の仮想マシン・パーティション4002(K)、…4002(N)をモニタすることができることを示す。L1SS5014(1)は、SOC上で実行する様々なサーバ4010(A)、4010(B)、…もモニタすることができ、各サーバは、それ自体のそれぞれの安全性ウォッチドッグ・ソフトウェア構成要素5010を含む。L1SS安全監視装置5014(1)は、SOC5054(例えばGPUサポート)並びに潜在的にはハイパーバイザ4008のハードウェア及び/又はソフトウェアの態様の上で実行する他の基礎的なプロセスをモニタするのに忙しい追加の安全性ウォッチドッグ・モニタ5010と通信することができる。L1SS(1)安全モニタ5014(1)は、そのようなプロセスの初期化中に役割を果たすことができる。例えば、限定するものではないが、GPUサポートの場合に、メモリをGPUに割り振るためのハードウェアとの直接的な保護された通信と、GPUへのチャネルの作成、これは、アプリケーション・プロセス5002がGPUコマンド・バッファへの直接的なアクセスを有することがあるので、機能を実行するようにGPUに命じることとは別個である。
示される実例では、L1SS安全監視装置5014(1)は、ブート・サーバ4010(A)を介してブート及びパワー管理プロセッサ5060とも通信し、関連したウォッチドッグ5010(A)を使用してブート・サーバの動作をモニタする。ブート及びパワー管理プロセッサ5060は、リセット及びクロックを制御する。L2SS安全監視装置5014(2)は、いくつかの実施例では、ブート及びパワー管理プロセッサ5060と直接的に通信することができるが、示される実施例では、L2SS安全監視装置は、L1SS安全監視装置5014(1)及びブート・サーバ4010(A)のみを介してSOC5054と通信する。L2SSセキュリティ監視装置5014(2)と、図35に示されていないが、それにもかかわらずSOC5054上に含まれる他のプロセッサとの間の相互作用は、類似の戦略に従ってよい。L2SS安全監視装置5014(2)とブート・プロセッサ5060及び他のプロセッサとの間の直接的な相互作用のそのような回避によって、通信の複雑度が減少する(したがって、その検証可能性が増加する)。
L3SSセキュリティ監視装置5014(3)の指示の下で、L2SSセキュリティ監視装置5014(2)は、以下の例示的な段階でSOC5054のセキュアなトラステッド・ブートを実行するようにブート・プロセッサ5060に命じることができる。
ブート及びパワー管理プロセッサ5060はまた、例えば、過熱による障害を回避するために、クロック速度及びSOC5054に供給される電力を調整するように制御可能である。
例示的な非限定的な実施例では、L1SS安全監視装置5014(1)は、各ゲスト仮想マシン参加者のための別個の独立した仮想マシン間通信(IVC:inter-virtual machine communication)チャネル上で各仮想マシン安全性ウォッチドッグ・モニタ5010と通信する。ハイパーバイザ4008は、そうでなければ仮想マシン/パーティション間の高性能通信を適時に阻止するであろうロッキング及び他の依存を回避することによってそのような高性能通信を許可及びサポートするように建築される。したがって、ハイパーバイザ4008は、L1SS安全監視装置5014(1)が、システム安全性認定に必要な障害及び安全性報告保証を満たすことを可能にするように構造化される(例えば、エラー及び障害が、ある一定の安全性時間間隔、ある一定のCPU実行時間、最大待ち時間などで検出及び是正される)。次に、L1SS安全監視装置5014(1)は、この場合は同じSOC5054内の別個のプロセッサ上で動作するL2SS安全監視装置5014(2)と通信する。L2SS安全監視装置5014(2)とL3SS安全監視装置5014(3)(例示的な一実施例では、同じSOC5054上になく、むしろ異なるハードウェア・パッケージ内の異なるシリコン・ダイ上の異なるプロセッサ上で動作している)との間の通信は、ハートビート・コマンド/応答チャネルを提供するSPI又は他の通信バス5070を介して、潜在的にはSPIバス5070上で通信されるデータとは無関係にエラーを知らせることができる別個のエラー信号ライン5072も介して、実行可能である。エラー・ピン信号5072は、何かおかしくなっている、エラー状態が存在する、及び/又はシステムが安全に動作していないことがあることを安全性MCU5020に知らせるハードウェア安全モニタ・インフラストラクチャによって渡される単方向性エラー・フラグ信号であってよい。
定期的に、別個の安全性MCU5020上で実行するL3SS安全監視装置プロセス5014(3)は、L3SS安全監視装置を更新するメッセージを提供する(L2SS安全監視装置は電源が入っており、覚醒していることも示す)ように、SOC5054内のプロセッサ5052上で実行するL2SS安全監視装置5014(2)に要求する。L2SS安全監視装置5014(2)がL3SS安全監視装置5014(3)からの要求に応答しない場合、L3SS安全監視装置は、L2SS安全監視装置が故障していると考え、是正措置をとる。いくつかの実施例では、安全性システムは、失敗したプロセス又は構成要素が、ある一定の安全性時間間隔(例えば、100ms)内に正常に回復できない場合、失敗したプロセス又は構成要素がオフラインにされ、安全でない状態を引き起こすことができないように車両バスから切断されるように設計される。
図35に示されるパスウェイに加えて、仮想マシン4002からL3SS安全監視装置5014(3)への追加の通信パスウェイを提供することも可能であろう。そのような通信パスウェイは、例えば、冗長な及び/又は異なる情報をL3SS安全監視装置5014(3)に通信するイーサネット(登録商標)及び/又はPCIEリンクを備えることがあり、SPIバス5070が故障した場合でも機能するであろう。
図36は、検出されたエラーがどのようにして安全性フレームワーク内を伝播し得るかの1つの実例を示すフローチャートである。示される実例では、カメラ・センサ・データが、ゲストOSパーティションと、例えばニューラル・ネットワークを含む、画像処理アプリケーション5002によって処理されることになる関連する仮想マシン4002とに届いていると想定する。パーティション内のソフトウェア・ベース・ウォッチドッグ5010は、届いたデータをモニタし、整合性チェックを実行して(ブロック5102)、整合性エラーの発生を(例えば、フレームがいつ削除されたかを検出するフレーム・カウンタに基づいて)検出する(ブロック5104)。1つの非限定的な実例として、フレーム・カウンタが増加しないことは、何らかの種類のエラー、例えば、同じ画像が何度も繰り返し送られるスタック・フレーム状態を示す。ローカル・ウォッチドッグ5010は、そのような例では、そのようなエラー状態が検出されたことをL1SS安全監視装置5014(1)に通知するであろう(ブロック5104、5106)。L1SS安全監視装置5014(1)は、エラー通知を受け取り、次に、エラー通知をL2SS5014(2)に送り(ブロック5108)、次に、L2SS5014(2)が、エラー通知をL3SS安全監視装置5014(3)に送る(ブロック5110)。L3SS安全監視装置5014(3)は、エラーをどのように扱うか、すなわち、措置をとるべきかどうか、及びどの措置をとるべきかを判断する(ブロック5112)。例えば、L3SS安全監視装置5014(3)は、1つの欠落したフレームは無視されるべきであるが、x個の失敗したフレームがyという時間の量内に発生する場合、是正措置をとる(ブロック5114、例えば、システムをリブートする)と判断することができる。
安全性フレームワークのチェーンを上方へ報告する類似のエラーは、他のシステム構成要素内の検出されたエラーのために実行されてよい。図37を参照されたい。
図38及び図39はそれぞれ、ハードウェア及びソフトウェアのエラー検出のための例示的なエラー・ハンドリング・シーケンスを示す。図38のハードウェア・エラー・ハンドリング・シーケンスは、SOC5054ハードウェアが障害を生成する(「1」)ことから始まる。このハードウェア障害は、従来のSOCハードウェア・チェッカー(例えば、レジスタ、パリティ・チェッカーなど)によって検出される(「2」)。ハードウェア・エラー照合器は、検出されたエラーを他のハードウェア・エラー検出と照合し(「3」)、エラーをSOC上のハードウェア・セキュリティ・モジュール(HSM)に知らせる(「4」)。HSMは、エラー信号ピン5072を介してL3SS安全監視装置5014(3)にハードウェア・エラーを直接的に知らせることができ、L2SS安全監視装置5014(2)に中断通知を提供し(「5b」)、次に、L2SS安全監視装置5014(2)も、SPIバス5070を介してL3SS安全監視装置5014(3)にエラー・ステータスを通信する(「5c」)。示される実例では、L2SS安全監視装置5014(2)は、L1SS安全監視装置5014(1)にハードウェア・エラーを知らせ(「6」)、次に、L1SS安全監視装置5014(1)は、仮想マシン/パーティション4002上で実行する安全性ウォッチドッグ・モニタ5010に通知する(「7」)。安全性ウォッチドッグ・モニタ5010は、ハードウェア障害をアプリケーション・プロセス5002に通知する(「8」)。ハードウェア障害が解消されるとき、SOCハードウェアは、ドライバを介して解消(又は少なくとも適切な動作若しくは再初期化された動作)をアプリケーション・プロセス5002に直接的に通知することができる(「9」)。仮想マシン/パーティション4002内で実行する安全性ウォッチドッグ・モニタ5010は、ドライバ5006から解消について知り(「10」)、L1SS安全監視装置5014(1)に通知する(「11」)。次に、L1SS安全監視装置5014(1)が、L2SS安全監視装置5014(2)に通知する(「12」)。一方、L3SS安全監視装置5014(3)は、チャレンジ/レスポンス・プロトコルを使用して、ハードウェア障害が解消されたかどうかハードウェア・セキュリティ・モジュールに尋ねてよい(「13」)。L2SS安全監視装置5014(2)は、SPIバス5070を介してL3SS安全監視装置5014(3)にエラー解消を報告することができ(「14a」)、及び/又はL3SS安全監視装置は、エラー信号ピンを介してハードウェア・セキュリティ・モジュールから直接的にエラー解消を知ることができる(「14a」)。
図39は、別の例示的なエラー検出及びソフトウェア障害の場合の報告シナリオを示す。この場合、ソフトウェア障害は、アプリケーション・プロセス5002内で発生する(「1」)。ローカル安全性ウォッチドッグ・モニタ5010は、障害を検出し(「2」)、それをL1SS安全監視装置5014(1)に報告し(「3」)、次に、L1SS安全監視装置5014(1)は、L2SS安全監視装置5014(2)に障害を報告する(「4」)。L2SS安全監視装置5014(2)は、障害を分析し(「5」)、エラー信号ピン(「6a」)とSPIバス(「6b」)の両方を介してL3SS安全監視装置5014(3)に障害を報告し得る。ハードウェア・リブート/再起動などによる障害の解消時に(「7」)、ローカル安全性ウォッチドッグ・モニタ5010は、障害が解消されたことを検出し(「8」)、それをL1SS安全監視装置5014(1)に報告し(「9」)、次いで、L2SS安全監視装置5014(2)にエラー解消を報告する(「10」)。一方、L3SS安全監視装置5014(3)は、エラー・ステータスを求めてSOCハードウェア・セキュリティ・モジュールにチャレンジ又は要求を発行することができる(「11」)。SOCは、チャレンジ/レスポンスに応答して、及び/又はSPIバス5070を介したL2SS安全監視装置5014(2)とL3SS安全監視装置5014(3)との間の通信によって(「12b」)、エラー信号ピンを介してL3SS安全監視装置5014(3)にエラー・ステータスを通信する(「12a」)ことができる。
図40は、複数のパーティションを提供する別の例示的な実装を示す。
・ 1つ又は複数のイベント参加適応パーティション4052、
・ 1つ又は複数のタイム・トリガ型適応パーティション4054、及び
・ 他のパーティション。
この特定の実例では、イベント・パーティション4052は、カメラ・データ・ストリーム・チャネル4056(0)、レーダ・データ・ストリーム・チャネル4056(1)、LIDARデータ・ストリーム・チャネル4056(2)、及びイーサネット(登録商標)・データ・ストリーム・チャネル4056(3)などの、入力及び出力に接続されてよい。イベント・パーティション4052は、これらのリアル・タイム入力及び出力をイベント処理パーティション4053とともに非同期に処理し、処理された結果をタイム・トリガ型パーティション4054に提供する。タイム・トリガ型パーティション4054は、バッファ4058と、ウォッチドッグ又は他のモニタ4060と、タイム・トリガ型グラフ実行器4062とを含む。バッファ4058は、タイム・トリガ型イベント実行器4062に提供するためのグローバル・トリガリング情報とともに、着信した、すぐ使用できるイベント・データ(タイムスタンプ及び/又はフィルタリングされてよい)を記憶する。ウォッチドッグ4060は、イベント処理パーティション4053並びにタイム・トリガ型グラフ実行器4062の同じ又は異なる出力又は他の状態情報をモニタし、障害又は他の問題が検出されたとき、モニタリング・マイクロコントローラなどの他のシステム構成要素を変える。
通信パーティション又はサーバ4010(2)の1つの例示的な非限定的な実装は、抽出及び/又は分割の様々なレベルにおいてシステムの異なる部分間で機能することができる均一で効率的な最適化された通信インターフェースを提供する。例えば、そのような通信インターフェースは、
・ 異なるSOC及び/又は
・ 同じSOC上で実行する異なる仮想マシン、及び/又は
・ 同じ仮想マシン内の異なるプログラム、及び/又は
・ 同じプログラムの異なるスレッド
間の通信に使用可能である。
例示的な実施例では、インターフェースは、メッセージに対して均一であり、GPU及び/又はメディア使用事例のためにストリーミング・バッファ間の通信をサポートするためにも使用可能である。異なる通信ノードがどれくらい近い又は遠いかに関係なく、同じプログラミング・インターフェースが使用可能である。しかしながら、通信インターフェースは、通信が実際に行われている距離に関して最適化可能である。
F.自動運転ソフトウェア・システム
例示的な自動運転プラットフォーム
例示的な非限定的な実施例は、運転のために直接的に行動可能である世界の性質を認知する自動運転プラットフォームを提供する。これらの行動可能である性質は、アフォーダンスと呼ばれることがあり、以下の全体的なカテゴリを含むことができる。
・ 障害物
・ 経路
・ 待ち状態(例えば、交通信号、全方向一時停止など)
・ その他
自動運転は、定義された運転のアフォーダンスがセンサ入力から明らかであり、運転し続けるのに十分に行動可能であるとき、可能になる。
例示的な非限定的な実施例は、アフォーダンスを使用して、明確なワールド・モデルを定義し、このワールド・モデルは、問題の因数分解を提供し、自動運転に十分に強力且つロバストである。例示的な実装は、リアル・タイムでライブである(live)と認知可能である障害物、経路、及び待ち状態のためのアフォーダンスに関するワールド・モデルを定義する。例示的な非限定的な実施例は、マッピング及びローカライゼーションを使用して、現在のドライブに関係する以前のドライブからアフォーダンス推定をもたらす。例示的な非限定的な実施例は、プランニング、制御、及び最終的な作動を通して、ワールド・モデルに基づいて措置をとる。
より詳細には、図41は、自動運転プラットフォーム及び関連するアーキテクチャ3000の例示的な非限定的な全体的なブロック図を示す。例示的な非限定的なアーキテクチャ3000は、以下を含む、新たに集められた入力に基づいて、絶えず更新されるワールド・モデル3002を提供する。
・ 障害物認知3010
・ 経路認知3012
・ 待ち状態認知3014
・ 地図認知3016
・ その他(図示せず)
これらの様々な認知器3010、3012、3014、3016は、センサ3018と、(限定するものではないが)カメラ機構追跡及びLIDAR点クラウド・アライメントなどの関連する低レベル処理3020によって知らされる。例示的な実施例では、認知器3010、3012、3014、3016は、例えば、例えば自己較正3028と軌跡推定3030とを含むさらなるサポート層3021によってサポートされる。
認知器3010、3012、3014、3016は、ワールド・モデル3002を生成及び更新するために使用される。ワールド・モデル3002は、プランニング3004、制御3006、及び車両作動3008に使用される。
例示的な非限定的な実施例では、地図認知3016の態様は、自車両からリモートに設置され、ネットワーク3024を介してアクセス可能であってよい、クラウド・マッピング・アプリケーション3022に提供される。この状況では、「自車両」とは、図41のプラットフォームを(それ自体のステアリング、ブレーキ、ナビゲーション、意思決定を作動させるために)他のシステムと組み合わせて使用して自動運転を達成する車両の視点及び/又はインスタンスを指す。マッピングのための認知3016及びローカライゼーション3026は、アフォーダンス推定を自車両の以前のドライブから現在のドライブへと持ち込むために自車両の運転の間でクラウド3024を通して通信される。マッピングのための認知3016及びローカライゼーション3026は、自車両以外の車両の過去のドライブ及び現在のドライブのためのアフォーダンス推定をもたらすためにクラウド3024を通して通信することもある。クラウド・マッピング3022は、例えば、いくつかの異なる同時に及び/又は以前に動作している自動運転車両並びに他の情報源から入力を受け取ることがある。クラウド・マッピング3022は、例えば、自車両の特定の所在地に基づいてローカライゼーション3026によってローカライズされるマッピング出力を提供し、ローカライズされた出力は、ワールド・モデル3002を生成及び/又は更新する助けとなるために使用される。そのように開発されリアル・タイムで維持されるワールド・モデル3002は、自動運転車両のプランニング3004、制御3006、及び作動3008に使用される。
以下では、アフォーダンスと、それらが例示的な非限定的な実施例で果たす役割を簡単に説明する。さらなる詳細は、以下で図42に関連して提示される。
障害物認知3010
障害物認知は、車両はどこを運転することができるか、及び直接的に検知されている障害物(例えば、対象物、構造、エンティティ)に文字通りぶつかることなく車両はどれくらい速く運転することができるかという推定を中心に展開する。障害物との衝突を回避することは、一般に、安全な自動運転に必要であるが、それは十分でない。障害物を正常に回避するが、それにもかかわらず安全でない又は望ましくないと見なされ得る、車両の多数の挙動がある。
経路認知3012
例示的な非限定的な実施例では、経路認知は、特定の状況で使用可能である名目上経路を認知するために使用される。経路アフォーダンスの追加の次元は、1つ又は複数の車線変更の利用可能性である。いくつかの例示的な実施例は、車線グラフと呼ばれる表現を有する経路アフォーダンスを表す。車線グラフは、ハイウェイのオン・ランプ上の単一の経路と同じくらい単純であってよい。他の車線グラフ表現は、所望の車線への経路を提供し、ハイウェイを下る利用可能な車線変更を示してよい。より複雑な車線グラフ又はより完全な車線グラフは、近くの車線、車線変更、分岐、曲がり角、クローバー型インターチェンジ、及び合流を示してよい。
経路を明確にすることは必ずしも、車両のステアリング・ホイール位置又は回転半径を推定する完全に不可欠な手法と同じではない。しかしながら、経路アフォーダンスは、経路推定の、他の情報との混合を可能にする。経路アフォーダンスは、長手方向制御との相互作用における経路情報の効果的な使用も可能にする。経路アフォーダンスは、再訓練を伴わない異なる車両タイプに関する異なるコントローラ3006の考慮も可能にする。さらに、より幾何学的な自己較正3028は、ワールド・モデル3002を各個々の自車両の詳細との相互作用から解放することを支援し得る。
開放的なエリアなどのいくつかの場合では、名目上経路の離散集合がないことがある。そのような状況は、「ゾーン運転」と呼ばれることがある。例示的な非限定的な実施例では、推定経路アフォーダンスは、この場合、このエリアをゾーンと識別することと、運転目標を達成するために基本的な障害物(障害物認知3010)のみに依拠するようにプランニング3004及び制御3006に示すことである。これは、例えば、開水域内の自動運転ボート又は僻地内の自動運転4WDトラックの場合に適用してよい。
待ち状態認知3014
例示的な非限定的な実施例はまた、ルール、慣例、及び/又は実際的な考慮事項のセットによって長手方向に制限されてよい。1つの例示的な慣例は、交通信号である。交通信号ルールは、自車両が停止し、ある一定の状態が真実になる(すなわち、交通信号が青になる)まである一定の点で待機することを強要する。これらのルール、慣例、及び実際的な考慮事項は、待ち状態アフォーダンスと呼ばれてよく、例示的な非限定的な実施例では、待ち状態認知3014によって扱われる。
いくつかの例示的な非限定的な実施例は、待ち状態を、車両を長手方向に制限し、速度制限及びはっきりした明らかな障害物を除いて何らかの状態が真実になるまで待機又は減速することを車両に要求する任意の状況として表す。待ち状態には、例えば、以下があり得る。
・ 交通信号交差点
・ 全方向一時停止
・ 譲り
・ 合流
・ 料金所
・ 遮断機
・ 交通整理をする警察官又は道路工夫
・ 停車したスクール・バス
・ 一方通行の橋の調停
・ 連絡船入口
・ その他
待ち状態は、多くの場合、交差点内の横断するトラフィックなどの潜在的な障害物から生じる。しかしながら、横断するトラフィックは、直接的なセンシングから認知可能でないことがあり、そのため、例示的な非限定的な実施例は、認知又は学習可能であるルール及び慣例を通して常にすぐ認知可能であるとは限らない障害物の危険を解消することによって、自動運転状況認識を提供する。
地図認知3016
例示的な非限定的な実施例では、マッピングは、それ自体ではアフォーダンスでない。むしろ、マッピングは、特にどの慣例が特定の場面に適用されるかの具体的な実例を判定するための、挙動が認識されるメカニズムである。いくつかの実例には、以下がある。
・ ロード・アイランドでは、交通信号で左に曲がるために待機している第1の車は、信号が青になったとき、対向するトラフィックより前に曲がることによって、法律に違反する
・ 異なる道路をゲート開閉するが互いとほとんどずれていない交通信号
・ 木曜日の午後4時から午後6時までUターン禁止
・ 時刻に応じて車線の方向性を変更する電子標識
したがって、マッピングすることは、アフォーダンス推定を以前のドライブから現在のものへと移す手段を提供する。
アフォーダンス推定は、事実から(すなわち、措置が選ばれた後で)作成可能であるので、以前のドライブからの方が得やすい。マッピングは、多くの場合、障害物を移動させることに関係しないが、多くの場合、固定インフラストラクチャ障害物に関する提案をする。マッピングは、経路及び待ち状態に関する非常に具体的な情報も提供してよい。例えば、車両が特定の経路をとるためにどの信号が青でなければならないかという統計量を観察することが可能である。
より詳細な例示的アーキテクチャ
図42は、例示的なプラットフォーム3000の、より詳細に分解したものを示す。図42では、濃い色の線を有するブロックは、データ構造(一般的には、非一時的なメモリに記憶される)を示し、他のボックスは、処理モジュール又は機能(一般的には、例えば限定するものではないが、1つ又は複数の訓練されたニューラル・ネットワークの展開を含み得る命令を実行する1つ又は複数のプロセッサによって実施される)を示す。
図42の例示的な非限定的なプラットフォームは、図41に示される処理機能ブロックを含み、これらの機能ブロック間の相互接続に関する追加の詳細も示す。例えば、軌跡推定3030は、基本軌跡推定3030と高度軌跡推定3030aとを含むように拡張されている。同様に、プランニング3004は、基本挙動計画器3004aと、高度挙動計画器3004bと、車線計画器3004cと、ルート計画器3004eと、挙動選択器3004dとを含むように拡張されている。低レベル処理3018は、例えば、基本車線検出3160と、垂直ランドマーク検出3158と、LIDAR接地平面検出3154と、LIDAR ICP3152と、特徴追跡3150と、空き空間追跡3162と、対象物追跡3164と、動的占有率グリッド3102とを含むように示されている。自己較正3028は、仕様情報3156を入力として受け取り、較正テレメトリ3157を介してクラウド・システム3022と通信するように示されている。仕様情報3156は、例えば、参照情報又はサード・パーティ参照情報、特に、例示的な実施例の機械製図情報、技術仕様データ、ユーザ手動データなどを含むことができる。経路認知3012は、様々な機能を有する追従車線グラフ3100、並びに経路内判定3120を含むように拡張される。待ち状態認知3014は、待ち状態3106を使用するように示されており、地図認知3016は、正確な地図3105と、ルート地図3104とを含むように拡張される。ローカライゼーション3026は、基本ローカライゼーション3026a及び高度ローカライゼーション3026bへと分解される。クラウド・システム3022は、HD地図リーダ3022aと、クラウド待ち状態3022bと、クラウド車線グラフ3022cと、ドライブ・マッチング及びタイリング(tiling)3022dとを含むように詳述されると示されている。
ワールド・モデル3002
例示的な非限定的なワールド・モデル3002のデータ構造は、地図に由来し得るデータに対応し、前方の1つ又は2つの曲がり角を計画するなどの中距離プランニング3004をサポートするのに十分に豊富である。このデータ構造はまた、ライブ認知からの比較的最小のアフォーダンスのみに基づいて運転に対応し得る。基本的なハイウェイ自動操縦の場合、初期ワールド・モデル3004は、判定された経路内対象物3120を有する単一車線グラフ・エッジ3100bと同じくらい単純であってよい。他の例示的な実施例及び状況では、ワールド・モデル3002は、車線変更利用可能性及び隣接する車線内の対象物、プラス、長距離のより詳細な地図(3105)における全体的なルート計画に対するマップされたルート(3104)を用いて進歩されてよい。さらなる追加には、待ち状態3106、車線境界線、及び動的占有率グリッド3102があり得る。ゾーン運転などの場合によっては、動的占有率グリッド3102内の対象物のみが利用可能なことがあるが、他の実施例では、待ち状態3106も利用可能である。異なる能力は、運転システムの状況、能力、及び要件に応じて追加可能である。
車線グラフ3100
1つの例示的な非限定的な実施例及び状況では、ワールド・モデル3002は、単一追従車線グラフ3100bを含む。この状況では、「追従」は、車線グラフが通信されるとき、以前の車線グラフ配信との対応が含まれることを意味する。図43に示される1つの例示的な実施例では、追従車線グラフ3100bは、以下を提供してよい。
・ 運転可能なエッジのスプライン
・ 車線変更の存在及び利用可能性
・ 車線境界線
・ 待ち状態3106(この場合、分岐)
・ 経路内対象物
・ 他の対象物3120
・ 動的占有率グリッド3102
・ 基本ルート地図3104
・ 車両状態
・ 競合エリア
・ その他
車線グラフ3100及び動的占有率グリッド3102は、一般的には、車両座標系内のプランニング3004に配信され、これは、エンティティが配信ごとに移動することを意味する。これは、不具合を回避するためにその以前のプランニングにより明示的に結び付けることが可能であるデータに対して作用する計画器3004にも有用である。したがって、例示的な非限定的な実施例は、この機能を通信インターフェースに組み込んでよい。
例示的な非限定的な実施例では、車線グラフは、中央の経路若しくは車線として、又は2つの車線境界線として、説明可能である。「スプライン」は有向グラフからなってよいが、エッジは、車線の中央経路の座標を表す方向付けられた曲線を含む。その意味合いは、車両が、それから出る有向エッジのいずれかを通って有向エッジに沿って運転してノード及び葉へと入ることができることである。したがって、あるノードへと入る又はこれから出るすべての曲線は、そのノードにおいて同じ点及び接線を有してよい。例示的なパラメータ化は、各ノードにおける3D点及び接線方向を有し、各エッジに対応する曲線に3次スプラインを使用することである。次いで、スプラインは、その終点における座標及び接線制約によって一意に判定され、パラメータは、ノードを共有するエッジ間で共有される。
さらに、それらのエッジはほぼ平行であり、車線変更がそれらに許可されることを示す、あるエッジから他のエッジへの接続のセットがある。これらの長さは、経路に沿った車線変更ターゲットがどれほど遠いかを示す2つのスカラ距離からもたらされる。第1のスカラ距離は、車線変更が完了されることが現実的に予想可能である最も早い点である(これは、プランニング中に使用されるターゲット点である)。第2のスカラ距離は、この点から前方の、車線変更が完了されなければならない距離である。これは必ずしも、車線変更が今すぐ利用可能であることを意味しない。
例示的な実施例では、車線グラフ内に各エッジを有する左右の車線境界線もあり、これは、それ自体の終点と接線とを有する3次スプラインによって表されてもよい。簡単にするために、車線境界線のためのデータは、いくつかの例示的な実施例では車線グラフ・エッジ間で共有される必要はなく、そのため、境界線がエッジ間で連続すること又は隣接車線間で境界線が一致することを明示的に強要する表現内にない。この手法は、インデックス付与を簡単にし、グラフ構造を運転可能区間のグラフに限定する。車線グラフは、経路内対象物及び待ち状態のためのデータ構造プレースホルダも含んでよい(以下を参照されたい)。
経路内対象物
例示的な非限定的な実施例では、経路内対象物は、車線グラフの運転可能な線上にとどめられたビーズのようなものである。それらは、対象物が車線グラフ区間に沿った前進をどのように妨げるかを表す。経路内対象物は、各車線グラフ区間に関するリストとなる。経路内対象物は、その始まりからその第1の対象物点までの3次スプライン区間に沿った距離を含む、対象物についての情報を含む。経路内対象物は、3次スプライン区間に沿った速度も含む。経路内対象物は、車線変更が利用可能であるかどうかを示すためにライブ認知によって使用される各車線変更に関するブール・フラグ又は他のデータ要素であってもよい(対象物障害を示すより単純な形)。
待ち状態
例示的な非限定的な実施例では、待ち状態は経路内形式及び自由形式としてもたらされる(よく似た対象物も、経路内形式及び自由形式としてもたらされてよい)。経路内待ち状態は、車線グラフ内の運転可能なエッジのうちの1つに沿った前進の点として、経路内対象物と同様にコード化される。経路内待ち状態は、速度を有する場合がある。運転中の待ち状態の実例は、停止のプロセスにおける点滅するライトを有するスクール・バスのようなものであり、バスのさらに後ろにある前進の限界を生成する。例示的な非限定的な実施例における待ち状態は、タイプ(停止/譲り/合流/特徴拡張)、状態の表示(例えば、青/黄/赤)、並びに待ち状態が赤であるときの推奨速度を伴う。待ち状態は、状態が考慮されるべき開始点の後の、状態の長手方向範囲を符号化する空間的な長さも伴ってよい。非限定的な実施例では、青は、待ち状態が存在しない又はアクティブでないことを意味し、赤は、待ち状態が、推奨スピードよりも速いスピードでその間隔を通しての自車両からの移動を禁じる(ゼロであってよい)ことを意味し、黄は、間隔の開始点の前であるが快適及び安全にそのようにすることが可能である場合のみ、自車両が、スピードを減少させるべきであることを意味する。
例示的な非限定的な実施例では、交通信号交差点は、その後に、信号に従って状態を設定するある一定の距離の範囲(例えば、1メートル)と、ゼロの推奨速度が続く、適切な待機線における「停止」というタイプを符号化することによって実施されることがある。全方向一時停止は、車両が停止し状態が青であることをチェックするまで、赤に類似の符号化であるが認知が状態の状態を変調することを用いて、実施される場合がある。譲り(yield)は、推奨速度は正確にはゼロでなく、おそらく這うようなスピードであることを除けば、類似している。合流は、車線グラフ内の近づいている合流点による対応する車線内の他の車両/対象物からの競合を探す明示的な提案であることを除いて、譲りのように処理可能である。合流は、対象物がまだ認知されていない場合でも超えられるべきでない、車線グラフに沿った所与の間隔上での推奨速度も伴う。したがって、例示的な非限定的な実施例は、必要とされる競争するトラフィックを「見る」可能性を認知が有することを可能にする、這うような挙動などのものを実施することができる。交通信号待ち状態は、多くの場合、例示的な車線グラフに示される分岐と一致し、そのために、異なる分岐は異なる交通信号に対応する。例示的な非限定的な実施例は、分岐に入るエッジではなく分岐から出るエッジに沿ったゼロ前進を有する待ち状態にすることによって、これを実施することができる。これによって、異なる状態を有する複数の待ち状態が可能になる。
例示的な非限定的な実施例は、ゾーン運転中に見られる交通信号などのケースを通信するための自由形式の待ち状態も実施する。したがって、自由形式の待ち状態は、特定の進行方向に結び付けられるのでなく、代わりに、基本的な前方距離として表されてよいが、その他の方法では、いくつかの非限定的な実施例では同じである。
いくつかの例示的な非限定的な実施例では、認知及びマッピングは、待ち状態の複雑度の大部分を扱う。待ち状態のいくつかの内部機構は、明示的に待ち状態に入る必要はないが、依然として、どの認知及びマッピングが内部で機能するかの一部であってよい。例えば、ライブ認知は、交通信号と、それらの角度を見つけてよく、マッピングは、交通信号の位置を3Dで表し、マップされた交通信号とライブ認知された交通信号とのマッチングを実行してよい。同様に、交差点の競合エリア、並びに全方向一時停止を通って前進する前に他のトラフィックがないかどうかチェックされなければならない競合エリア(図43を参照されたい)は、ライブ及び/又はマッピングのどちらかで推定されてよい。したがって、そのようなものは、マップ内にあってよいが、プランニング3004及び制御3006によって使用されるワールド・モデルに押し込まれなくてよい。これは、計画器3004が、合流又は全方向一時停止中の示唆的な運転を通して他の車両と交渉することを排除しないが、ワールド・モデル3002内のより多くの情報に関する要求を促してよい。
対象物
例示的な非限定的な実施例では、図43に示される対象物は、自車両座標系内の3D点と3D速度からなる又はこれらを含む。対象物は、経路内判定3120及び動的占有率グリッド3102を通して扱われてよい。
車両 状態(state)
例示的な非限定的な実施例では、(自)車両状態は、(自)車両の長手方向速度、長手方向加速度、及び横方向湾曲に基づいて符号化可能である。車両状態は、ルート地図3104とともに有用であることがある、GPS(ジオロケーション)位置とコンパス方向も含んでよい。プランニング3004及び制御3006は、最近の相対移動の高速推定のための基本軌跡推定3030インターフェースと、自車両のセンシング及び制御のためのCAN(作動)インターフェースをもつことも可能にされる。
動的占有率グリッド3102
図43に示される動的占有率グリッド3102は、例示的な非限定的な実施例では、2つの次元が空間的であり、1つの次元が時間的である体積測定配列からなる。1つの特定の非限定的な実例では、グリッド3102は、車両の周りにあり、10cm刻みで、次の5秒間に10分の1秒間隔でレンダリングされ、グリッドの1000×1000×50の配列という結果になる、100m×100mグリッドを含んでよい。
ルート地図3104
ルート地図3104は、いくつかの実施例では、ノードがGPS中間点であり、エッジは中間点を結び付け、予想横断時間を示す、大規模地図グラフである。ルート地図3104は、国、州、都市、近所などに対する別個のスケールなどの、複数のスケールで存在してよい。
センサ抽出3108
車線グラフ3100の状況では、センサ抽出3158は、同じタイプのすべてのセンサのための均一なフォーマットを提供し、センサはすべて、車線グラフの共通表示とともに使用可能である。すなわち、例示的な非限定的な実施例では、1つの内部フォーマットは、レーダ・データ、LIDARデータ、カメラ・データなどに使用されてよい。類似の均一なフォーマットは、フレーム・レートを設定する又はゲイン制御を実行するなどの、センサに制御を適用するケースに使用されてよい。センサ抽出3108は、いくつかの実施例では、各センサ・パケットにタイムスタンプも提供する。
基本車線検出3160
例示的な実施例では、車線検出は、経路が可能な限り直接的に適切であることを推定する。基本車線検出は、例示的な非限定的な実施例では、自己較正をサポートするので、図42では経路認知から始められて示される。
例示的な非限定的な実施例は、手動でラベルされたデータセットに対して訓練された1つ又は複数のニューラル・ネットワークを使用して基本車線検出3160を実行することがある。運転によって生成される自動ラベルされたデータセットは、中央経路の代わりになる場合があり、これは、自己較正及び経路追跡にデータを提供するが、手動ラベリングは、車線幅認識を支援し得る。経路アフォーダンスのために行われるラベリング手順が使用されてよい。すなわち、ラベリング時に、画像内の適切な経路にラベルを付与することが可能である。これは、例えば、経路の平行な辺を示す2つのポリラインをもつ各適切な経路にアノテーションを付与することによって行われ得る(図44を参照されたい)。意図は、2つのポリライン間のエリアがその方向をもつ経路を有するようにポリラインを滑らかに保つことである。各点における経路の方向性と、ある点が車線エッジ上にあるかどうかなどの、画像内のこれについてのデータを提供するようにニューラル・ネットワークを訓練することが可能である。経路内の中央における1から経路間のエッジにおけるゼロまで低下する周期関数を定義することも可能である。分岐及び交差点の場合、何らかの追加の符号化複雑度を提供する複数の経路があることがある。1つの例示的な設計は、異なる進行角度セクタを別個に扱う。別の実例は、そのようなエリア(例えば、交差点)を明示的に識別し、それらのエリアに、又は(例えば、明示的なマーキングによって視覚的に十分にサポートされるかに関係なく)分岐の分岐経路を明示的に推定するために、何らかのより多くの自由形式経路推定を使用する。別の例示的な非限定的な手法は、異なる好みを有する数個の異なるネットワーク(例えば、左寄りのネットワーク、前寄りのネットワーク、及び右寄りのネットワーク)を有することであり、セクタ技法にやや類似している。さらに別の例示的な実装は、意図した経路(例えば、GPSによって提案される)とともに問い合わせされるようにネットワークを定義し、最も近い適切なオプションを返す。
自己較正の目的で、例示的な非限定的な実施例は、マーキングが適度にはっきりしているときに機能する基本車線エッジ検出3160を提供し、そのため、車両は、何らかの手動ハイウェイ運転又は自動ハイウェイ運転から較正を判定又は改良することができる。エネルギー最小化は、ネットワーク出力に加えて使用可能であり、理想的な形での問題は、ニューラル・ネットワーク出力において(例えば、これとの最大の確証)最も強力なサポートを有する曲線の何らかの系統から曲線を見つけることである。検索を達成する実際的な手段の1つの非限定的な実例は、中間状態が、行に沿ったx座標及び画像、又はx座標プラス各列(又は各角度における各列)において始まる最もよくサポートされる曲線をもたらす検索を完了するために上方向又は下方向に進むエッジ線の角度である、動的プログラミングを使用することである。例示的な非限定的な実施例がx座標のみを使用する場合、連続性のみが強化される。角度の使用は、角度の連続性を強化する追加の機能を提供する。
ヨーの自己較正のために、いくつかの例示的な非限定的な実施例は、基本追跡の形態を使用する。そのような基本追跡は、幾何学的フィッティングの後に基本左/右割当てを行うことよって、及び自己較正の目的のためにその分類を使用して与えられ得る(とはいえ、関連づけを与えるための時間追跡は、車線を変更するためにより弾力的であり得る)。例示的な非限定的な実施例は、車線エッジ・サポートのための直接キューとしてLIDARにおける輝度情報を使用することよって、LIDARを使用する同じプロシージャを実施することができる。ニューラル・ネットワークも、この目的のために訓練され得る。
仮想ランドマーク3158
例示的な非限定的な実施例は、自己較正ロールにおいて及びマッピングにおいて使用するための仮想ランドマーク検出3158(図45を参照)を与える。垂直ランドマークは、検出され得る例示的な非限定的なランドマークの1種である。垂直ランドマーク検出3158は、いくつかの実施例における垂直ランドマーク検出が、自己較正をサポートするので、マップ認知3016から取り出され得る。
例示的な非限定的な実施例では、ランドマークは、自己較正3028において補正することが望ましいロールの量を用いて検出される。ロールは、通常、1度又は2度以下であるべきであるが、それはより高くなることがあり、したがって、+5度又は-5度のロールの範囲を配慮することが、いくつかの実施例において望ましいことがある。これは、変動させられた訓練データ又は訓練データのロール増強によって達成され得る。いくつかの例示的な実施例では、ニューラル・ネットワークは、垂直ランドマークのピクセル的なセマンティック・セグメンテーションを出すように訓練され、基本後処理は、(高さがそれについてそれほど重要でない)2つの終点によって表される線を作成する。そのような例示的な非限定的な実施例は、幾何学的抽出を実施するとき、半径方向ひずみを補正することができる。
特徴追跡3150
画像特徴トラッカー3150は、常に、いくつかの例示的な非限定的な実施例において実行している。画像特徴トラッカー3150は、高性能軌跡推定3030a並びに対象物追跡3010の両方をサポートし、したがって、図42中で別個のモジュールとして取り出されている。特徴トラッカー3150は、LIDAR画像、光画像、レーダ画像、及び/又は他の検知された認知に対して動作することができる。
コーナー点検出器は、トラックを補充するプロセスを開始する、追跡すべき有望な特徴(図46を参照)を作成するために使用され得る。点の分布は、軌跡推定3030のためのビューの大部分をカバーし、すべての領域にわたって点を広げる必要と、十分な点をもってすべての対象物をカバーする必要とのバランスをとることによって、例示的な非限定的な実施例において実施される(とはいえ、別個の追跡機構も対象物上に強行され得る)。例示的な一実施例では、各トラックは、階層ピラミッドにおいて比較的標準的なKLT画像パッチ整合機構を通して次のフレームに進ませられる。基準パッチ(例えば、16×16及び場合によっては一部の階層スケール)が、トラックの第1の画像中で抽出される。
整合が実施された後、新しい画像中の整合領域と基準経路との間の相関が検査される。それが低すぎる場合、特徴トラックは削除される。それが、受け付け可能であるが、依然として、すぐに失敗する危険性を示すしきい値を下回る場合、トラックは受け付けられるが、基準パッチは更新される。このプロシージャは、それを更新することによって導入されたドリフトを抑圧するためにできるだけ長い間基準パッチを保つことを希望することと、同時に、追跡することを適応し、追跡することに失敗しないのに十分頻繁にそれを更新することを希望することとの間のトレードオフを与える。特徴トラックは、例示的な非限定的な実施例では、トラック・テーブル・データ構造に記憶される。このトラック・テーブル・データ構造は、いくつかの実施例では、行が特徴トラックであり、列が画像フレームであるローリング・バッファとして実装される。テーブルは最大数の行を保持し、アライブである各トラックは、行を占有することができる。トラックが失敗するとすぐに、それは、削除され、テーブル中の行を解放する。
反復最近点整合(LIDAR ICP:Iterative closest point Alignment)3152
LIDARセンサが存在するとき、例示的な非限定的な実施例は、何らかの空間分離のフレーム間の反復最近点整合をも実施する。図47、図48を参照。これは、いくつかの実施例では、第1のフレーム(基準)を深度マップ3304として、及び第2のフレームを3Dポイント・クラウドとして追跡することによって行われる。例示的な非限定的な実施例は、基本軌跡推定モジュール3030によって与えられたモーションに基づいて、相対姿勢3306を初期化し、また、そのデータを使用してモーションのためのLIDARスキャンを事前補正する。例示的な非限定的な実施例は、次いで、深度マップ3304の平滑化されたバージョンの微分画像を事前算出する。新しいフレームからの3D点は、(例えば、並列計算を通して)基準深度マップに投影され、深度マップ中の非常に小さい領域中の最良マッチング深度が見つけられる(距離が大変異なる場合、点は、ロバストネスのために拒否される)。いくつかの実施例では、導関数は、例えば、6×6 3D姿勢更新式など、式に累算するために使用される。プロシージャは反復される。いくつかの非限定的な実施例では、この機能は、LIDARを使用して、高性能軌跡推定3030aと障害物検出3010の両方をサポートする。
LIDAR接地平面3154
LIDAR接地平面3154について、1つの例示的な非限定的な推定プロセスは、深度マップ中の近接したすべての点に対してあらゆる可能な接地平面姿勢をテストするブルート・フォース探索を実施することである。他の実施例は、車両の近くの深度マップ中のピクセルの各ブロックへの最小2乗パッチ・フィットを実施するわずかにより少ない計算量的に重い手法を使用し、次いで、車両の近くの深度マップ中のブロックの各列上で車両から出る接地平面からの線の2次元探索を行い得る。いくつかの例示的な実施例は、次いで、線のセットを入力データとして使用して、ランダム・サンプル・コンセンサス(RANSAC:random sample consensus)プロシージャを実行し、線の各ペアは仮説を与え、線自体はコンセンサス・テストとして使用される。例示的な非限定的な実施例は、反復最近点整合(ICPA)を実施する同じコードを使用することができるが、平面を基準深度マップとして使用する。
自己較正3028
任意の形態の登録を実施するために、それが同じドライブの瞬間の間のものであるにせよ、異なるドライブの瞬間の間のものであるにせよ、例示的な非限定的な実施例は、一般に、車両上の異なるセンサ間の正確な登録を有することを希望する。これは、通常、較正と呼ばれ、固有較正と外因性較正とにスプリットされる。固有較正は、センサのカノニカル姿勢を仮定すれば、センサが世界角度から画像角度へ実施するマッピングを伴い得る。外因性較正は、世界又は車両上の何らかの基準座標系に対するセンサの姿勢を伴い得る。そのような登録の異なるソースは、仕様情報3156、(レンズのひずみ影響などについての)公称設計値、工場又はサービス・センタにおける較正、及び自己較正を含み、ここで、自己較正は、通常動作中に収集されたセンサ・データ(のみ)を使用して(例えば、1つ又は複数の他のセンサを較正するための1つ又は複数のセンサを使用して)較正のパラメータを判定することを指す。
自己較正は、それが、柔軟性、動作単純さ及び高レベルの自動化の可能性をもたらすので、強力なツールである。実際には、工場較正プロシージャは、それらが、特別に設計されたマーカー又は剛性金属3Dコンスタレーションを使用して手元で推定タスクを簡略化するように設計され得るので、魅力的であるが、紛失した較正ファイル、ソフトウェア中のバグ、車両が工場を出た後に復元され得ないプロシージャ又は較正環境、及び/又はセンサ上の機械的力により発生する較正の変化など、実世界の問題による実践的な課題を有する。しかしながら、工場較正は、しばしば、いくつかの実施例では、プロセス変動を制御するのに、及び車両が仕様から外れて造られることを回避するのに有用であるというべきである。
仕様情報3156及び光ひずみのための公称値が考慮に入れられると、最も大きい残りの変動性は、一般に、センサの回転姿勢に起因するものである。カメラ、レーダ及びLIDARの取付位置は、いくつかの実施例では、センチメートル(さらにはミリメートル)正確さまで再生されるべきであり、これは、センサ・データへの残りのトランスレーションの影響が最小であることを意味する。固有較正は、有意な効果を有することができるが、上述の理由のために、いくつかの実施例では、知られている公称値のあたりに慎重に変動を制御し、必要な場合のみ、センサごとに特定の固有較正を適用することが好ましいことがある。これは、それらの取付位置におけるセンサ(カメラ、レーダ、LIDAR)のロール、ピッチ及びヨーの変動を残す。
図48は、非常に高いレベルの冗長性を使用する例示的な非限定的な完全に自動化された自己較正器3028を示す。較正は、概して、長い時間期間にわたって安定している(そうでない場合、これは、しばしば、機械的レベルで処理されるべきである)。これは、例示的な非限定的な実施例が、ある時間期間、例えば、数時間などにわたる多くの依存しない瞬間から自己較正証拠を集めることができることを意味する。例示的な非限定的な実施例は、次いで、これらの依存しないデータ点からクリアなコンセンサスを探し、それがクリアで明確である場合のみ、結果を受け付け、さもなければ、それを拒否することができる。拒否は、自動動作又はデータ収集を可能にする前に、最後の知られている良好な値の使用の前に、又は最終的にあまりに多くの時間が終了した場合、サービスのための車両のフラグ付けの前に、より多くのデータを待つことにつながることがある。高レベルの冗長性を使用して、このやり方は、本質的に、相互検証の適用例、統計及び機械学習における長年の手法であり、ここで、自己較正のより幾何学的な問題に適用される。例示的な実施例では、仕様情報3156は、クラウド3022における中央監視機能に送り返される、自己較正統計のテレメトリ情報3156をも含み得る(図42を参照)。
図48は、車両オドメトリに部分的に基づいて、光カメラ、LIDAR検出器及びレーダ検出器を自己較正する例示的な非限定的な自己較正器3028を示す。カメラは、ピッチ3206、ロール3212及びヨー3218について自己較正され、LIDARセンサは、ピッチ3232、ロール3234及びヨー3240について自己較正され、レーダは、ヨー3252について自己較正される。センサ間の相互推定(例えば、カメラとLIDARとの間のピッチ及びヨー3220についての推定3220)も実施される。
図48の例示的な非限定的な実施例は、一度に1つのパラメータに対して、及びそれ自体によって、原則として、パラメータを判定するデータの小さいスニペットを使用する各パラメータについて較正を実施することと、データのそのスニペットが、そのパラメータに対する票のヒストグラムに投票することを可能にすることとよって、冗長性を管理することができる。成功又は失敗が、次いで、各スニペット単独で正しい較正値を示した場合に生じるであろう理想的な単一のピークに、ヒストグラムがどのくらい近いかを考慮することによって、時間とともに判定され得る。例示的な実施例は、較正値が時々変化し得るので、長いが有限の時間ウィンドウを考慮する。これは、例えば、票の明示的ローリング・バッファ、又は望まれる半減期を目標にするように設定された減衰をもつ票の緩やかに減衰するヒストグラムのいずれかによって達成され得る。
いくつかの効果は、妥当な自己較正時間ウィンドウよりもはるかに速くセンサのための姿勢値を変更することができる。例えば、ブレーキをかけることは、通常、わずかに前方に車両をピッチする。しかしながら、そのような効果は、通常、センサ間の相対姿勢に対してよりもむしろ全体として車両に対して当てはまり、したがって、以下のセクションにおいて考察される、軌跡推定3030の一部としてより良く処理される。
カメラのロール
例示的な非限定的な実施例は、接地平面に対するセンサの回転を判定する。これは、センサのロール3212及びピッチ3206のための基準を与える(しかし、ヨー3218のための基準は与えない)。原則として、ロールとピッチとは互いに依存し、結合して「上方向ベクトル」を形成し、これは、センサにおいて観測された接地平面に対する法線ベクトルを意味する。
ロール3212の判定は、いくつかの文脈では、ロール変動が機械的に比較的制御可能であることと、わずかなロールの影響があまり直接的でないこととの結果として、運転目的のために絶対的に重要であるとは限らない。しかしながら、ロールは、しばしば又はさらには一般的に、特に、マッピング目的のために及び車の周りのセンサを結合するために無視できない。
ロールについて自己較正するために、いくつかの例示的な実施例は、図45に示されている垂直ランドマーク3158を使用する。ロールがひどくない場合、ニューラル・ネットワーク・ベース検出器は、シーン中の垂直ランドマークを見つけることができる。それの結果は、潜在的に、半径方向ひずみ及び内因性パラメータの何らかの形態の後処理及び補正の後、いくつかの例示的な実施例では、カメラの本質的に較正された座標系における線のセットである。ニューラル・ネットワークは、実際には、予想されるロール変動を反映するように訓練されるべきである。いくつかの例示的な実施例では、2つ又はそれ以上の異なる線が、射影座標系におけるそれらの交差点として、上方向ベクトルを特定する。代替的に、例示的な非限定的な実施例は、ピッチ3206が知られていると仮定することができる(これは、通常、少なくともほぼ真である)。それは、画像中の無限大における線の近くの線を与え、ロール3212のみが、垂直ランドマークからの単一の追加の線との交差によって決定されるようにする。これは、例示的な実施例が、時間とともにロール角に対してヒストグラム投票することを可能にする。
フロント・カメラのピッチ
ピッチを決定するために、例示的な非限定的な実施例は、ロール較正及び補正が行われると仮定する。ピッチ3206について前向きカメラを自己較正するための1つのやり方は、車線検出3160を介して道路車線境界線を活用することである。これは、運転のための重要なことへの直接リンクを与え、長い時間期間にわたって、ほとんどどんな車でも、ピッチ較正をサポートするための車線境界線観測の十分な量に遭遇することになる。潜在的後処理を用いた車線境界線3160のニューラル・ネットワーク・ベース検出が、いくつかの実施例において採用され得、接続された曲線又は点リストを出力する。例示的な非限定的な実施例がそれらの接続された曲線のうちの1つ、画像の下部の近くの1つ、及びわずかにより高い1つから点のペアを取る場合、それらは、ほとんどの時間、車の近くの接地平面に沿って車線境界線と平行な線を形成するために使用され得る。2つのそのような線を使用すること、及びそれらを交差すること(例えば、同次座標におけるクロス乗積を使用すること)によって、例示的な非限定的な実施例は、画像中の交差点を得る。その点は、理想的には、車の周りのローカル接地平面の消失線である画像中の水平線上にあるべきである。したがって、例示的な非限定的な実施例は、水平消失線に対して投票するために、画像中の交差点の垂直座標を使用することができる。
フロント・カメラのヨー
センサのヨー3218は、世界においてそれをゆだねるための接地ほどにカノニカルなものは何もないという意味で異なる。一方、接地平面は、単に、車両のホイールの下部接触点を結合する平面として考えられ得る。同様に、ヨーは、いくつかのセンサ位置を有する仕様情報3156からの機械製図中の姿勢に対して定義され得る。しかしながら、運転目的のために、少なくとも前向きカメラについて、運転の前方方向に対する、特に、例示的な非限定的な実施例が、ゼロのステアリング角度を指令するときに得る制御に対してカメラのヨー3218を知ることは有用である。理想的には、これはまた、車両が直線状にドライブすることを生じるべきである。
可能な範囲内で、いくつかの例示的な実施例は、ヨー較正をステアリング・ラックの自己較正のためのタスクと見なす。いずれの場合も、例示的な非限定的な実施例は、車両がどのくらい遠くにドライブしたか、及びそれがどのくらい方向転換していることがあるかを決定するために、車両オドメトリを使用することができる。例示的な非限定的な実施例は、次いで、ある時点から別の時点へ前方に投影するために、車線境界線のいずれかの上の点を使用し(ブロック3160を参照)、点が、第2の時間的瞬間において対応する車線境界線と整列することを必要とすることがある。これは、接地の上のカメラの知られていないヨーを通した逆投影と、第2の時間的瞬間におけるカメラの知られていないヨーを通したバックとを伴う。これは、車両の制御ループに非常に近接して連結されたやり方でカメラのヨーについて解くことを可能にする。車両がそれにより近く走行した点の画像上のヨーの影響は、距離変化により異なる。例えば、距離が半分に小さくなった場合、加力レバー・アームは2倍に異なり、ヨーが、2倍に別様に画像点を移動することを生じる。
他のカメラのピッチ及びヨー
図48に示されているように、ロールは、すべてのカメラについて同じやり方で解決され得るが、立体などの高い正確さ目的のために、いくつかの実施例は、標準画像マッチング技法を使用して相対ロールについて解き、あるカメラのロールを他方にマッチングさせる。ピッチとヨーとは、相対技法がしばしば最良であるという点で同様である。例えば、例示的な非限定的な実施例は、フロント・カメラのうちの1つのロール3212、ピッチ3206及びヨー3218を計算したと想像する。次いで、すでに較正されたカメラと較正されるべきカメラの両方における車線境界線の観測のために、例示的な非限定的な実施例は、まだ較正されていないカメラのピッチ3224及びヨー3226のための提案を得る。例示的な非限定的な実施例では、接地上への車線境界線の2つの投影を行うピッチ及びヨーは整列する。そのような例示的な非限定的な実施例は、(空気圧、サスペンション及び荷重により)車両の高さについて解くことが可能である。各カメラのロール、ピッチ及びヨーが、原則として、それ自体によって解けるので、正しい高さは、次いで、接地平面上の異なるカメラからの投影を整列する高さであり、これは、カメラ間のベースラインがある場合、一意の高さを生じる。このプロシージャは、運転の間の道路線及び他のコンテンツの移動を予測するために車両オドメトリを使用することによって、最初のカメラの場合の瞬時重複を有しない他のカメラに続けられ得る。例えば、側面カメラのピッチは、フロント・カメラにおいて前に観測された車線境界線の観測によってうまく制約されることになる。
例示的な非限定的な実施例が多くの対応を有する場合、それらは、知られている固有較正を用いて2つのカメラ間のエピポーラ幾何学について解くことができる。エピポーラ幾何学のエピポールが、(仕様情報3156において知られている線である)2つのセンサ間のベースライン方向を示す。エピポーラ幾何学は、そのベースラインの周りのカメラ間の相対的回転をも与える。唯一の残りのあいまいさは、1つのカメラのピッチと同じやり方で決定され得る、ベースラインの周りのジョイント回転である。より一般的には、カメラのジョイント・ジオメトリ及び投影中心は、対応から決定され得、カメラが共線でない場合、それらは、例えば、仕様情報3156において参照される機械製図中の投影中心を用いた一意の3D姿勢整合を有する。次いで、接地平面に関する車両フレーム(機械製図)の姿勢は、運転の方向によって決定され得る全体的ヨー回転を除いて、接地平面における複数の立体三角測量された点によって決定される。
LIDARのロール及びピッチ
例示的な実施例は、車両の近くの点が、接地平面に対応する頻度モードを有すべきであるという、及びそれらの点の構造が、両方向において等位であるべきであるというという仮定を使用して、任意のLIDARセンサのロール3234及びピッチ3232を決定する。例えば、例示的な非限定的な実施例は、各フレーム中の車両の近くの接地平面(3154)のロバストな平面フィットを探し、ロール及びピッチに対する別個の票を作成するために、それを使用することができる。高さは、次いで、LIDAR距離においても観測される。複数のLIDAR間の相対位置は、反復最近点アルゴリズムを使用してうまく推定され得る。
LIDARのヨー
車線境界線は、車線境界線(3160’を参照)が、一般に、反射性であり、LIDARアクティブ光のより強い反射を生じるので、LIDAR強度データ中で並びにカメラにおいて観測され得る。この理由で、例示的な非限定的な実施例は、カメラに関して運転方向に対するLIDARセンサのヨー3240を較正するために、本質的に同じ技法を使用することができる。
カメラの場合と同様に、例示的な非限定的な実施例はまた、一般的なモーション推定を使用し、それを、オドメトリに基づいて予想されたモーションと比較することができる。車線境界線を使用することは、これの特殊な場合と見なされ得るが、それは、運転にとって最も重要である領域中で、ヨー角とともに強く変化する特徴に基づいて行われるので、より直接的なように思われる。
レーダ
自動車レーダが、主に、距離、相対速度及び軸受角度に有用であるので、較正すべき主要な物は、ヨー角3252である。興味深いことに、例示的な非限定的な実施例は、カメラに関して同様のアルゴリズムを使用することができる。レーダは、点目標と、またそれらが静止しているかどうかの決定とを返すので、例示的な非限定的な実施例は、各静止目標軌跡を使用し、それが現在の車両モーションについて補償された後の点に最も近い目標軌跡を生じるレーダ・センサのヨーを探すことができる。前向きレーダにおける目標について、横向き変動は、ヨー角と最も強く接続されるものであり、キューは、カメラヨー角較正のために使用されているものと同じ(及び、後向きレーダについて同様)である。
軌跡推定3030
例示的な非限定的な実施例は、それらが、機能し、主要な推定プロセスに正しく通信される限り、完全な障害をあまり受けない概算軌跡推定値を与えることができるセンサを有し得る。ホイール「チック」(例えば、検知された回転角変化)は、(例えば、ステアリング・ホイール角度センサからの)ステアリング・ホイール角度とともに、すでに基本平面軌跡を与える。いくつかの例示的な非限定的な実施例は、正確な相対的回転を与えるために、ジャイロセンサをもつ慣性測定ユニット(IMU:inertial measurement unit)を追加する。これは、例示的な非限定的な実施例が、軌跡推定を、それらのセンサを用いて構築された概算において開始する非線形最適化問題として扱い、複数の代替ソリューションを維持することについてあまり心配しないことがあることを意味する。
基本軌跡推定3030
基本軌跡推定3030は、概算であるが高速で便利な推定である。それは、コントローラ3006のために、及びすべての認知タスク、障害物、経路、待機条件内の前方予測のために、並びにマッピングのために有用である。これらのタスクのために、例示的な非限定的な実施例は、GPSに依存せず、一貫して滑らかな経路へのアクセスを有すべきである。したがって、基本軌跡推定3030のためのインターフェースは、クエリが、2つの異なる時間の間の相対的モーションのために配置され得るものである。実装形態は、車両オドメトリ及びIMUを入力として取り、クエリをサービスするために結果をもつローリング・バッファを保つ、軽く高速の拡張カルマン・フィルタである。
基本ローカライゼーション3026a
マップ中の現在の車両所在地のための開始点を見つけることなど、いくつかの他のタスクは、GPS姿勢を用いてより良くサービスされる(この文脈では、GPS姿勢は、緯度/経度又は北進/東進だけでなく、完全な6つの自由度を意味する)。これは、いくつかの実施例では、GPS、車両オドメトリ及びIMUとともに作用し、GPS座標系においてであるが、基本軌跡推定と同様のフィルタ処理を実施する、基本ローカライゼーションモジュール3026aによって果たされる。
高性能軌跡推定3030a
図49は、例示的な非限定的な軌跡推定器3030aのブロック図を示す。高性能軌跡推定3030aのために、タスクは、視覚ランドマーク又はLIDARマッピングの詳細な視覚三角測量をサポートするために、うまく登録されたカメラ又はLIDARセンサ示度に基づいて非常に正確な相対軌跡を与えることである。
例示的な実施例では、軌跡推定は、登録のための礎石である。例示的な非限定的な実施例は、ドライブのすべての瞬間をマップにローカライズすることができ、それは、軌跡の推定値を与えることになることが論じられ得る。しかしながら、例示的な非限定的な実施例は、いくつかの登録タスクを難しく又は容易にする事実上の条件を考慮すべきである。センサ間の較正のために、タスクは、有用であるが、同じジオメトリの多くの冗長観測値を有するよって、及び同じから又は同じ時間的瞬間に近い環境を介して各瞬間について、より容易にされる。
軌跡推定3030aのために、いくつかの例示的な非限定的な実施例は、何らかの冗長性をもつが、例示的な非限定的な実施例が、軌跡を推定するために、車両オドメトリ、視覚オドメトリ、LIDARポイント・クラウド登録及びレーダ軌跡を使用することができるので、観測の1つのセットを有する。例示的な非限定的な実施例はまた、問題を簡略化する平滑度及びモーション・モデルを有する。軌跡がドライブされるとき、すべてのそれらの測定値は、時間的に非常に近接して取られるので、視覚特徴を追跡すること、及びポイント・クラウドを生成する表面が変化しなかったことを信用することがはるかに容易である。これらの理由で、ドライブの瞬間の間の制約は、ドライブ間(又は等価的に、ドライブからマップへの)のものよりも実際には強い。したがって、例示的な非限定的な実施例は、それらが、ドライブ間の瞬間を登録する問題を、ドライブ軌跡を登録することに上げることができるようにドライブ軌跡を推定する(これは、後で説明されるように、非常に多くからほぼ3つに推定自由度を減らす)。
マッピングについて、例示的な非限定的な実施例は、それらが、ドライブ間で登録することができるようにドライブ軌跡を推定し、これは、次いで前のドライブから現在のドライブに情報をもたらすことを可能にする。これの結果の1つは、例示的な非限定的な実施例が、「相対形状」として何らかの時間ウィンドウについて推定された軌跡を必要とするにすぎず、自由に又はGPS座標システムにおいて広域的にドリフトしないことである。例示的な非限定的な実施例は、十分に多くのスパース・ランドマークが、セグメントにわたって見られること、及びそれらの相対位置が、整合されるべき異なるドライブのセグメントについてあまりひずんでいないことを確認するのに十分長いウィンドウを必要とするにすぎない。
いくつかの例示的な非限定的な実施例は、軌跡が、すべてのセンサの尤度寄与を用いた非線形改良によって、時間ウィンドウにわたって推定されるいわゆる「スライディング・ウィンドウ」フィルタ3312を使用し、次いで、前方にその時間ウィンドウをスライドし、推定を繰り返す。リアルタイム目的のために、高性能推定は、いくつかの実施例において、バックグラウンド・スレッドに対して実施され得、基本軌跡推定における高速フィルタは、推定値を、最高周波数IMU/車両オドメトリ測定値の先頭にフォワーディングするために、フォアグラウンド・スレッドにおいて実行され得る。ドライブ間推定又はドライブマップ間推定値も、バックグラウンド・スレッドにおいて起こることがあり、したがって、高速フィルタは、リアルタイム目的のために、最近の現在の車両移動データを補正するために使用されるにすぎない。
ウィンドウ化された軌跡推定問題は、車両の姿勢のシーケンスとしてパラメータ化される(上記で説明されたように、センサ較正は、共通座標系におけるセンサ姿勢のシーケンスを決定するために使用され得る)。例示的な制約は以下のようである。ホイール・チックは、姿勢間の予想された距離を与える。ステアリング・ホイール角度は、軌跡の予想されたローカル平面曲率を与える。IMUは、ローカル相対姿勢制約、及び場合によっては、重力ベクトル制約を与える。視覚特徴トラック3308は、三角測量3310され、相対姿勢制約を与えるバンドル調整3312中に含まれる(これらは、特に、カメラが、車両の周りのすべてをカバーする場合、高い視野が、視覚オドメトリの信頼性及び精度を改善することをよく知られているので、非常に強くなる)。後続のLIDARポイント・クラウド・セグメント間の反復最近点の結果は、相対姿勢制約を与える。静止レーダ目標は、視覚的に追跡される点と同様のやり方で使用され、相対姿勢を制約する距離及び軸受観測を与えることができる。GPSも、原則として、使用され得るが、GPSがドリフトを抑圧することによって役立つほど十分にウィンドウが長い場合、相対位置のひずみは、例示的な非限定的な実施例が目的としている整合正確さよりも大きいエラーの大きさにすでに到達する。うまく設計された例示的な実施例のドリフトの妥当な予想は、場合によっては、1パーセントであり、これは、ウィンドウが、例えば、100mの最大値の場合、例えば、30~50mに対応していることがあることを意味する。いくつかの実施例は、インター整合を実行するとき、ウィンドウのより最近の部分を強調する。
障害物認知3010
例示的な非限定的な障害物モデリングは、対象物トラック3164、自由空間3162、及び動的占有グリッド3102を作成する。
対象物検出
例示的な実施例は、ピクセルごとのクラス出力画像及びピクセルごとのリグレッサ出力を作成するために、個々のカメラ・フレーム(図50を参照)中でディープ・ラーニングを使用する。対象物を作成するために、ピクセルごとのクラス画像は、複数の4つのレッグ・スカラ・リグレッサ画像と組み合わせられる。ピクセルごとのクラス・マップは、対象物コアを返し、ここで、対象物コア・ピクセルは、リグレッサが有効であるピクセルである。リグレッサは、バウンディング・ボックスに対する票を作成する。この出力は、検出バウンディング・ボックスに後処理される。別個のクラス・マップが、対象物のサブクラスを決定し得る。同様のプロセスが、(1スイープを取り、それを深度画像として表す)円筒形深度マップを表すために使用されるLIDARデータに対して使用され得る。他の実施例は、エゴ・モーションの影響を取り出した後、2回の後続の整合LIDAR走査においてモーション・ベース検出を実施する。
対象物追跡3164
例示的な実施例は、いくつかの理由のために対象物追跡3164を実施する。対象物追跡3164は、検出が弱いフレームをブリッジすることによって、より粘着性のある検出を与えることができる(図51を参照)。対象物追跡3164は、それが、現代のニューラル・ネットよりも軽い処理であるので、検出がスキップされたフレーム間をブリッジすることよって、性能利得を与えることができる。対象物追跡3164は、それが、2つの依存しない検出の比較よりも時間フレーム間で正確であることがあるので、モーションの慎重な理解を与えるためにも使用される。
テンプレートが何分の1秒前にそれについて与えられたフレームをマッチングする実施例のプロセスは、特定の対象物のフレームを、多種多様な対象物にわたる訓練を通して獲得された対象物の一般的なモデルにマッチングさせることよりも容易である。さらに、例示的な実施例は、追跡によってより良く行われる(例えば、経路内決定のための)何らかの単純な前方モーション予測を行うために、時間にわたる対象物検出を関連づける。時間にわたる対象物のモーション・トラックは、ビジョン・トラックをレーダ・トラック又はLIDARに関連づけるためにも使用される。
いくつかの例示的な実施例は、レーダ関連づけ及び他の処理に関連する情報とともに、ほとんど特徴トラックのように、ローリング・バッファ・テーブルにバウンディング・ボックス・トラックを記憶する。
以前のフレーム中の各バウンディング・ボックスについて、例示的な非限定的な実施例は、それのバウンド内の特徴トラックを使用する。最初に、例示的な非限定的な実施例は、特徴点のすべてのペアによって示されたスケール変化のメジアンとしての外れ値にロバストであるやり方で、スケール変化を推定する。次いで、例示的な非限定的な実施例は、スケーリングが調整された後のすべての特徴点によって、その次元におけるトランスレーションのメジアンとして2つのトランスレーション・スカラを推定する。これは、フレーム間トランスレーション、及び新しいフレームへの各バウンディング・ボックスのスケーリングを与える。次いで、例示的な非限定的な実施例は、(検出が新しいフレームのために実行された場合)前方追跡されたバウンディング・ボックスを、バウンディング・ボックスの新しい検出と一致させる。最終的に、到着時間測定値の精度を最大にするために、各バウンディング・ボックスについて、いくつかの例示的な非限定的な実施例は、各バウンディング・ボックスのサイズに依存する適切な時間ベースラインを用いて、現在のフレームから時間的に後の方に以前のフレームに特徴トラック分析を実行する。この処理は、特徴追跡によって与えられた特徴トラック・テーブルに基づいて行われる。
到着時間
例示的な非限定的な実施例は、正しい時間ベースラインを決定するために様々な技法を使用する。そのような時間ベースラインは、例えば、現在の運転速度など、特定の速度まで相対的モーションの範囲に依存する。しかしながら、時間ベースラインは、移動している対象物の速度(例えば、何らかの最大速度で車両に接近する別の車両又は他の対象物の速度)によっても影響を及ぼされる。時間ベースラインは、例えば、最大所要距離範囲と比較的公称対象物サイズとにも依存し得る。例示的な非限定的な実施例は、最大距離範囲において、1つのピクセルの画像サイズの変化が、最も緊急可能な相対的モーションによって誘起されたピクセルの数の何らかの所与の部分の変化であるべきであるかどうかを分析する。図52を参照。したがって、例えば、例示的な非限定的な実施例が、最大モーションからの変化のn個のピクセルについてテストすると、対象物がサイズwを有すると、及び最大距離がdであると仮定する。ピクセルにおける投影サイズsは、s=fw/dであり、ここで、fは、何らかの焦点距離スケーリングである。最大クロージング速度がvであると仮定すると、時間単位ごとのサイズの変化は、微分s’=-fwv/dΛ2である。例示的な非限定的な実施例は、sのためのこの式をこれに代入し、s’=sv/dを取得することができることに留意されたい。長さtの短時間間隔の間、サイズの変化の絶対値は、tsv/dである。例示的な非限定的な実施例が、それが少なくともn個のピクセルであることを必要とする場合、要件tsv/d>=nが導出される。例示的な非限定的な実施例は、あるサイズを仮定すれば、どのくらいの時間、モーション分析以上を実施すべきかの方策としてこれを使用することができる、
t=dn/(sv)。
したがって、バウンディング・ボックスが小さいほど、例示的な非限定的な実施例は長く待つはずである。例示的な非限定的な実施例は、dのための固定値(例えば、100mなど)、nのための固定値(例えば、6ピクセルなど)、及びvのための固定値(例えば、30m/sなど)を使用することができる。これらの例の場合、例示的な非限定的な実施例は、t=20/sを得る。
20ピクセル・サイズの場合、これは、1秒に達し、100ピクセル・サイズにおいて、1秒の1/5に達する。特に、この分析は、後続のフレームに対して算出を実施することが、600ピクセル・サイズを必要とするであろうことを示す。到着時間は、レーダ測定値に対する対応のあいまいさを除去するのを助けることができ、非常に大きい対象物の場合、角度は十分であり、したがって、モーション拡大は、しばしば、ビジョンのみ巡航制御について、及び遠方対象物について最も関連する。
例示的な実施例は、以下のように(時間t2における最も遅いフレーム測定値から)到着時間を決定する。時間t1から時間t2にかけて走行された距離と走行すべき残りの距離との間のスケーリングは、(d2/(d1-d2))である。仮定は一定のモーションであり、したがって、例示的な非限定的な実施例が、そのスケーリングに(t2-t1)を乗算する場合、結果は到着時間になる。
t=d2(t2-t1)/(d1-d2)
いくつかの例示的な実施例は、(緊急度uと呼ばれる)逆到着時間で作用する。ピクセルにおける投影サイズのための式が反転され、d=fw/sをもたらす場合、dに代入するために反転を使用することは、緊急度について、以下の式、
U=(d1-d2)/(d2(t2-t1))=(s2/s1-1)/(t2-t1)
を導出する。第2のスケールが第1のスケールよりも大きいとき、緊急度は正になり、それは、より短い時間期間においてより大きいスケール差とともに増加することに留意されたい。正確なタイム・スタンプt1及びt2(又は少なくとも正確な時間差)の重要性に留意されたい。
十分な数の特徴トラックを生成しない任意の対象物(例えば、不十分に大きい対象物)の場合、いくつかの例示的な実施例は、トランスレーションに加えて、それのモデルにおけるスケーリングを含む特殊KLT整合を実施する。これは、何らかの最小数の特徴トラックよりも多くを有さないすべてのバウンディング・ボックスについて行われ、処理の複数特徴トラック・バージョンと同じ関連づけ及び到着時間測定値を与える。
距離
いくつかの例示的な実施例は、随意に、イメージ・スタビリゼーション又はIMU支援基本軌跡推定によって短時間スケールにわたって調整された、自己較正からの長期ピッチを使用して、観測された対象物の最も低い画像行を平坦な接地仮定上にマッピングすることによって、カメラ被写体について粗距離感を導出する。単純であるが、この方法の性質の1つは、それが、実際の距離の連続ひずみとして挙動することである。高速の場合、道路は、通常、より平坦であり、したがって、推定は、ある反応時間に関係するスケールにわたって知覚可能である傾向がある。地平線により近い距離は、ますます伸張され、したがって、地平線が到達される前に、距離を制限することがより良好である。いくつかの例示的な実施例は、接地平面を、ますます急になり、ある高さ(例えば、40~50m、図53を参照)において壁にカーブする滑らかなランプにヒューリスティックに再定義することよってそれを行い、その上に画像行を投影し、得られた距離を取る。到着時間値は、次いで、測定された到着時間を「エミュレートする」対象物速度を決定するために使用される。そのエミュレーションを与える相対速度(接近速度)は、単に、緊急度を乗算された距離である。この出力で作用するクルーズ制御モジュールは、これらが物理的値であることを装うことができる。
これは、遠方対象物を、その最大距離でほぼ「スティックする」ようにひずませる。しかしながら、距離は、たいてい、反応時間ホールドオフ距離を与えること、及びビジョン・レーダ関連づけのための粗示唆を与えることが必要とされる。距離を推定するように直接ニューラル・ネットワークを訓練することなど、距離を推定するためのより精巧な方法が、有用であり得る。LIDARが存在する場合、それは、(そこにおいて、LIDARに応じて、ビジョンが検出し、レーダがにおいて距離を与えることができる範囲よりも短いことがある)LIDARの範囲まで正確な距離を与えるために使用され得る。
レーダ検出及び追跡
例示的な実施例は、ビジョン・トラックと同様のローリング・バッファ・テーブルにレーダ・トラックを記憶する。レーダ・トラックは、一般に、正確な範囲と範囲レート、概算軸受角度、及びそれほど有用でない高度角度を備える。
ビジョン・レーダ関連づけ
ビジョン及びレーダ・トラックをマッチングさせるために(図54を参照)、例示的な実施例は、たいてい軸受角度及び緊急度である、レーダとビジョン・トラックとの間で共通である性質を使用する。例示的な実施例は、このようにしてトラック間のマッチ・スコアを形成する。例示的な実施例はまた、大きい分散(マッチ・スコアのこの部分上の軽量)をもつビジョンからの粗逆距離を使用することができる。例示的な実施例は、次いで、トラックを関連づけるために、短時間スライディング・ウィンドウを使用する。すなわち、例示的な実施例は、小さい時間間隔にわたってトラック・テーブル中のデータを使用して問題を解決する。時間ウィンドウを使用することの利益は、例示的な実施例が、新しいデータが利用可能になると変化され得る暫定的決定を依然として行いながら、現在の瞬間からだけでない情報に照らして決定を行うことができることである。例示的な実施例は、ペアワイズ関連づけスコア行列を計算し、次いで、グリーディ様式でマッチを割り当てることを開始する。例示的な実施例はまた、ペア内で、両方のメイトが、任意の他のマッチよりも互いを選好するという意味で、どのペアリングが「幸福な」ペアリングであるかを検査することができる。この性質を有しないペアリングは疑わしい。ここで、保守的手法を取り、縦方向加速度を最も制約するすべてのもっともらしいマッチのうちの1つを使用することが可能であるが、偽正及び偽負の両方が問題になる。
自由空間3162
例示的な実施例は、画像中のすべてのドライブ可能な領域を示すピクセルごとの自由空間画像をも作成するディープ・ラーニング処理を実施する。これは、実施例が「自由空間速度」をも必要とする、又は自由空間がどのくらい速く変化するかという意味で十分でない。これの1つの場合は、自己車両が、別の車両のテールの後でドライブすることであり、その場合、自己車両は、先行車両が離れることを通して自由空間がそれの前で開けていることを確信しているべきである。これを処理するための1つの例示的なやり方は、対象物バウンディング・ボックス内にある領域で作用し、それらのピクセルがバウンディング・ボックスのモーション分析に従って移動すると仮定することである。さらに、何が移動することができる対象物であるか、及び何が静的バックグラウンドであるかを知ることなど、セマンティック・セグメンテーションが、その点において有用であり得る。いくつかの実施例はまた、車両と分類されないすべてのピクセルについて保守的であること(したがって、例えば、歩行者が離れると決して仮定しないこと)を必要とし得る。より完全な試みは、自由空間の境界の近くにあるすべての領域に対してモーション分析を実施することである。
プロセスは、LIDARについて同様である。例示的な非限定的な実施例は、車両の近くの接地平面推定値を使用すること、及び接地平面の上の点の有意なアグリゲーション又は障害物領域として有意な変化率を有する領域を宣言することのいずれかを行うことができる。例示的な実施例はまた、車両が、自由空間の十分な変化率を与える道程から外れて移動していることを確認するために、モーション・セグメンテーションを使用することができるか、又は視覚追跡とLIDAR距離とを組み合わせることができる。別のオプションは、深度マップと見なされるLIDARデータ上で実行する畳み込みニューラル・ネットワークに基づいて、自由空間を決定することである。
動的占有グリッド3102
動的占有グリッド3102(図55を参照)は、自由空間及び追跡されたバウンディング・ボックス、動的レーダ・トラック、接地平面の上のLIDAR点、及び深度マップと考えられるLIDARデータ中の深度の変化率によるモーション推定値を使用してなど、利用可能なデータのいずれかを使用してレンダリングされる。例示的な実施例は、間違って割り当てられたデータのスリバーを回避するために、何らかの形態のモーション・セグメンテーション及び接地点の分類を行い得る。
経路認知3012
例示的な実施例は、経路認知3012のために利用可能なすべてのキューを活用する(図56のシナリオを参照)。それらは、偏心パラメータ(経路の中心からの正又は負の横方向オフセット)、オフ方位パラメータ(経路の方向からの正又は負の角度オフセット)、及び曲率パラメータに関して、車両に対する主経路の推定値を得る。いくつかの実施例では、これは、時間的に前方にドライブされるどんな経路が現在の画像と組み合わせられるかの多くの例から訓練されたニューラル・ネットワークによって作成される。訓練データは、車線中で定常を保持しながら取られ、次いで、主カメラ及び2つのオフセット・カメラに基づく合成レンダリングを使用して横方向に及び方位的に増強される。例示的な実施例は、LIDARデータを用いてこれを同様に行うことができる。このプロシージャは、特定の偏心/オフ方位/曲率を仮定すれば、中心へ戻る経路を定義するために、クラシック・プランナー/コントローラを用いて使用され、訓練例を定義するために、(何らかの時間的オフセットをもつ)経路の始まりにおいて逆回転半径を取っていることがある。この訓練時間制御は、このコントローラ3006への入力を予測するようにネットワークを訓練し、それにより、経路推定値を明示的にし、望まれる因数分解と、結果を他の入力と組み合わせるための、及び望まれる場合、時間的にそれを融合させるための機会とを与えることになる。
データは、右左分岐、右左折並びに直進に適した訓練データを与えるために、異なるやり方でキュレートされ得る。同時にそれらのネットワークを実行することは、マップさらにはルートに対する依拠なしに、各状況における複数の経路オプションのためのアフォーダンスを与える。他の実施例は、ローカライゼーション不確実性をキャプチャするのに十分大きく、先の選定の複雑さが十分な、現在のGPS姿勢の周りのウィンドウ中のマップの鳥瞰ビュー・カットアウトにおける、道路ネットワーク並びに望まれるナビゲーション・ルート(本質的に、道路/非道路及びルート/非ルートを示す2つのレイヤ)のレンダリングを使用する。ルートは、ただ左/まっすぐ/右と比較してより洗練された意図として働き、方向転換の形状へのキューを与え、ネットワークが、現在の姿勢への転換を推定することのみを必要とする。これのための訓練データは、ドライブし、一般的なGPSエラーと同様の量だけマップ・カット・アウトをシフトすることによって自動的に生成され得る。例示的な実施例は、中心経路並びに車線エッジのための推定値を与え得る基本車線検出3100bからの出力をも使用する。
ビジョン・レーダ関連トラックからの車両軌跡も、経路ヒントを与えるために使用される。これは、マーキングが、漠然としているか又はほとんどなくなった場合において有用であるが、車のグリッド又は自己車両が追従している少なくとも先行車両がある。同じ速度を保持する自己車両の前の先行車両からのレーダ関連ビジョン・トラック(レーダからの距離、及びビジョンからのバウンディング・ボックスの例えば下部中心の角度)は、連続経路に「ブレッドクラム」を与える。例示的な実施例は、車線の中心があるところに対する票としてそれらを使用することができる。これは、車両が車線を変更している場合、紛らわしいことがあり得るが、非常にあいまいな状況においては依然として有用であり、他のキューがない場合、実施例が規則に従うことを可能にする。上記の測定値のすべては、自己較正から取得されたヨーのための値によって調整され得る(及びピッチは、接地投影のために使用される)。さらなる実施例によれば、マップからの道路の直接形状も使用され得る。
例示的な実施例は、次いで、時間スライディング・ウィンドウにわたって推定を実施する。時間スライディング・ウィンドウは、それが、実施例が暫定的に情報を受け付け、拒否することを可能にするので、カルマン・フィルタよりも好ましいことがある。カルマン・フィルタは、1つが永続的に測定値を受け付けるか又は拒否するように要求するが、新しい測定値が、前の測定値を確証するか又は無効にするために到着し得る。時間スライディング・ウィンドウを使用して、例示的な実施例は、時間ウィンドウにわたってすべての入力ソースを使用してロバストなフィッティング・プロシージャを実施することができる。推定の出力は、車線グラフの成分である。車線の中心のためのスプライン並びに左右車線エッジが最も重要である。例示的な実施例は、自己車線(それの中心が自己車両に最も近い車線)と、また、(十分なサポートの場合)それの左右の車線の両方を推定する。これは、車線変更をサポートするためのものであり、車両が、車線内の中心に完全に位置しないときにうまく機能するためのものである。例示的な非限定的な実施例はまた、車線グラフの前のライブ推定値への時間関連づけを作成する。車線中心及び車線エッジは、時間にわたって対応させられる。それらがフレームごとにあまり移動せず、エゴ・モーション推定値が利用可能であるので、これは、車線変更中に不明確であり得る、車線エッジが左であるのか右であるのかを決めることよりも容易な決定である。しかしながら、対応は、新しい推定がなされると、前の推定値に後の方に行われ得、唯一の平滑化機構は、スライディング・ウィンドウが、同様の重複データを使用することである。
関連づけ情報は、任意の2つの時間的瞬間の間で左又は右に起こった車線変更の端数量を計数する累積スカラを保つために使用され得る。例示的な実施例は、スカラ値のローリング・バッファとしてこれを実装し、バッファを通るワン・パスを完了したとき、スカラをリセットする。インターフェースは、次いで、最近の過去における任意の2つの瞬間の間の車線変更の量を読み取ることを可能にする。
経路内決定3120
図57は、経路内決定の問題を示す。例示的な実施例は、追跡された対象物と各関連する経路との間の経路内決定3120を実施する。考慮中の経路は、ピクセル・マップとしてレンダリングされた画像(又はLIDAR座標系)に投影される(図57を参照)。例示的な実施例は、対象物の決定された部分であった当該のバウンディング・ボックス中のすべてのピクセル(例えば、バウンディング・ボックス中のすべての非自由空間点、又はセマンティック・セグメンテーションによって対象物点であると決定されたすべてのピクセル)を取り、(例えば、もう1秒の間前方に外挿された最後の1/2秒にわたるバウンディング・ボックスのモーションを使用してなど)前方予測によってそれらを変調し、次いで、対象物のピクセル・マップと経路のピクセル・マップとの間の比較を実施する。例示的な実施例は、次いで、対象物が、テストされた経路上に浸食しているかどうかを決めるために、任意の重複エリアに対して何らかのしきい値を使用することができる。効率のために、これは、テストで使用されるほぼ固定された数のピクセルがあるようにバウンディング・ボックス・サイズに適応されたピラミッド・スケールで行われ得る。
いくつかの実施例では、このプロセスは、すべての対象物と、左及び右上でそれに平行な経路に加えて主経路との間で実行される。対象物は、次いで、現在の自己車両ができるように、複数の車線に割り当てられ得る。側面カメラが利用可能である場合、それは、両側の現在の車両の隣の車線についても行われる(及び距離及び速度情報が、同様にそのような検出のために作成される)。
待機条件認知3014
図58は、一般的な待機条件シナリオを示す。例示的な実施例は、バウンディング・ボックスのためのリグレッサに加えて分類レイヤを用いたディープ・ラーニングを使用して、障害物と同様に交通信号を検出する。別個のレイヤが、赤/緑/黄を予測し、交通信号は、他の対象物と同じやり方で追跡される。停止及び減速標識が同様に検出される。例示的な実施例はまた、視覚交差点領域全体をマーキングし、それについてバウンディング・ボックスを予測することよって、交差点を検出するために訓練する。ここで、例示的な実施例は、セマンティック・セグメンテーション・クラスがそれについて交差点を示すエリア全体にわたってより慎重な幾何解析を行い、下、上、左及び右に対して投票したメジアンを探し得る。例示的な実施例はまた、終点を予測するリグレッサを用いて、ディープ・ラーニングを使用して可視待機線を検出する。すべてのこれらの検出は、三角測量のためにマップ認知3016に受け渡され、クラウド2022中のマッピングに送られる。高性能ローカライゼーション3026bをもつマップも、妥当性を検査し、情報に追加するために、及び交通信号方向転換関連づけを示唆するために使用される。
マッピングされた交通信号とライブ認知との間の関連づけが、状態が適切な経路をゲートするために使用され得るように実施される。減速及び多方向停止のために、周囲が、競合トラフィックについて検査される。特に、多方向停止の場合、例示的な実施例は、自己車両が停止するまで待ち、移動している自己車両の前の一般的なエリア中のすべての他のトラフィック、並びに隣接するエリアから交差点に向いており、自己車両の前に停止したトラフィックを追跡する。例示的な実施例は、意図された走行経路において又はそれのほうへ移動しているものが他になく、交差点の近くで待機している競合するトラフィックが、自己車両の後に停止したか、長時間移動しなかったかのいずれかのとき、待機条件がクリアされたと見なすか、又は実施例は、マッピング統計値に基づいて、それが先行権を有し、それらが移動していないことを確定する。例示的な実施例は、次いで、交差点の交渉中に車両の周りの対象物を監視する。
マップ認知3016
図59は、例示的な非限定的なマップ認知シナリオを示す。センサ較正及び軌跡推定により、問題は、ほぼ、2つのドライブ・セグメントを整合させる3つの自由度を見つけることに低減される。2つのドライブ軌跡の姿勢は、(例えば、限定はしないが)10mの程度の大きさまでGPS座標系においてほぼ知られる(GPSローカライゼーション精度は、時々、はるかに良いことがあるが、究極的には、より高い不確実性が含まれる分布である)。これは、互いに10m内で通過するドライブ軌跡が、軌跡が、共通ドライブ可能な地面を共有するのに十分近いどこででも、ローカル接地形状に沿ったローカル・トランスレーション及び回転としてモデル化され得る残差整合を有することを意味する。
マッピング・ランドマーク検出
関連する視覚ランドマークは、道路マーキング(並列実線、ダッシュ及びドット、垂直線、道路画像)、道路境界(ドライブ可能な表面が、静止と見なされ得る非ドライブ可能な表面に遷移する点)、ポールなどの垂直ランドマーク、交通標識及び交通信号である。視覚ランドマークは、いくつかの実施例では、適切な後処理を用いてニューラル・ネットワークによって検出される。
例示的な実施例はまた、特に、縦方向ローカライゼーション精度を改善し、並びに静止レーダ目標が、インフラストラクチャにおいて予想されるのか、停止車両など、予想されないのかに関する情報を与えるのにそれら自体で有用である可能性を有する、ランドマークとして静止レーダ目標を使用する。
LIDARポイント・クラウド又は高密度視覚特徴トラックの三角測量も、それらが、ドライブ間の整合に寄与することができるという意味で、「ランドマーク」として記憶及び使用され得る。例示的な実施例は、それらが生成するより高いデータ・レートにより、これらを別個のレイヤと見なし得る。いくつかの実施例は、平面、線又は表面フィッティングを使用して、又は特徴を検出することによってなど、完全な表面形状を符号化することなしに整合をサポートするやり方で、ポイント・クラウドを要約する。別の代替形態は、2D投影又はスライスを使用することである。
ランドマーク・追跡及び三角測量
道路マーキング及び道路境界の3D位置は、いくつかの実施例では、接地平面への車両の近くの逆投影によって決定される(これは、車両が接地のその部分を通過した後に起こることさえあることに留意されたい)。LIDARが利用可能な場合、これは、またさらに車両からの厳密な接地形状によって改善され得る。垂直ランドマーク、交通標識及び交通信号が追跡され、観測の時間ウィンドウを使用して三角測量される。LIDARが利用可能な場合、LIDAR距離が使用され得る。静止レーダ目標は、単一のレーダ観測からの3Dにおいてほぼ決定されるが、複数の観測値から慎重に推定される。すべての3D位置は、車両姿勢のうちの1つに対して決定され、ドライブ・セグメントからのすべてのランドマークが、それにより、推定されたドライブ軌跡を使用して同じ座標系にチェーン結合され得る。しかしながら、グローバル座標系の必要性が回避されることに留意されたい。
マップ・ストリーム符号化
ランドマーク3158とともに軌跡推定3030、3030aから出てくる姿勢のチェーンは、各運転車両によって作成された「マップ・ストリーム」を構成する。例示的な実施例は、それが、運転のメートルごとに数バイトに達するのみであるほど十分に効率的にこれを符号化する。現代のモバイル・データ・チャネル上でメートルごとに数バイトをクラウド3022に転送するコストは、車両を推進するコストによって小さく見せられる。これは、各車両に、リアルタイムでマップ・ストリームを寄与させる可能性を開き、Wi-Fiホットスポットが使用され得るまでデータをバッファすること、又はいくつかのドライブ・セグメントのみを入念に選ぶことが、コストをいっそう低くすることができる。
交通信号、垂直ランドマーク及び交通標識など、ランドマークは、現在の車両姿勢に対して数個の協調バイトを用いてそれらを符号化することが、帯域幅バジェットを破壊しないほど十分であることはまれである。道路マーキングは、「オン/オフ・イベント」をもつ曲線として慎重に符号化される。ダッシュのためのオン/オフ・イベントは、例えば、(一般に、メートルごとに1ダッシュ未満があり、センチメートル正確さは、概して、十分であるので)適切なエントロピー符号化が配慮される前にさえ、ダッシュごとに1バイト未満を用いて行われ得る。道路マーキングのシーケンスの横向きの曲率は、それの過去の軌跡が与えられれば、それの横方向位置尤度を予測することよってエントロピー符号化され得る。例えば、例示的な実施例は、25cmの段階で前方予測し、横方向位置のための8つの個別選定を作成する3ビットを使用し、メートルごとに最高12ビットを追加し得る。完全な工業強度ソリューションは、より多くの粒状分布にわたる算術コーディングを使用し得る。単一のマップ・ストリームは、平均して、複数の4つのレッグ共点道路マーキング線を含んでいることがある。車両モーションのその時々の転換も、転換曲率が一定のままであると仮定すると、予測に対して差分の算術コーディングで符号化され得る。車両によってなされたGPS読取りも、マップ・ストリームにおいて符号化される。
上述のように、ポイント・クラウドは、別個のレイヤとして処理され得る。それらは、1D又は2D信号として圧縮される。
高性能ローカライゼーション3026b
高性能ローカライゼーション3026bは、前のドライブに車両のローカライズし、それにより、前のドライブからのデータをもたらす際の最終ステップが、現在の運転タスクを支援することを可能にする。
高性能ローカライゼーション3026bは、異なるランドマーク・ソースからの出力を組み合わせ、また、異なる時間的瞬間からの情報をパッケージ化することができる。これは、実装形態が、シングル・モード種類のより多くである場合でも、又はランダムな若しくは目標にされたサンプリングの何らかの形態に基づいて当てはまる。例示的な実施例は、探索空間中の位置のいくつかを評定し、次いで、全探索空間にレンダリングする。例えば、実施例が、ガウス・モード及びロバスト化外れ値混合物を用いて単一の勝者を選ぶ場合、それは、そのガウス及び外れ値混合物を全空間にレンダリングすることができる。このブルート・フォース表現はまた、GPU並列度とうまく整合され、実施例が、管理可能な計算負荷を用いてすべての可能性を明示的にテストすることを可能にする。仮定され得る探索空間が、それが、無視できない尤度をもつすべての可能性をキャプチャするという意味で、完了していることを見つけることによって、実施例は、意思決定の順序を「反転させる」ことができる。他の実施例は、モジュールの1つ内で早期にモードにコミットすることを回避するために、システム・レベル探索、最適化又はサンプリングにおける異なるデータ・ソース及び時間的瞬間からの尤度のすべての詳細を統合することができる。
例示的な実施例は、完全に独立して、又はどの姿勢をテストすべきかを示唆すために前の姿勢からの前のデータの何らかの使用をもってのいずれかで、各瞬間について姿勢(ログ)尤度空間を算出することができる。実施例は、時間的に後の方に証拠をアグリゲートするために、推定された車両軌跡を使用することができる。最新の姿勢空間中の各姿勢仮説について、推定された車両軌跡は、前の瞬間の各々のための後方姿勢のチェーンを暗示する。軌跡が、完全な6つの自由度(6DOF)で推定されるので、それらの姿勢は、前の姿勢空間のわずかに外側にランドし得、したがって、実施例は、次いで、空間内で正確である最も近い姿勢にそれらを投影し得る。これは、最新の姿勢空間と同じ座標系に前の姿勢空間から値をフェッチすることを可能にする。実施例は、次いで、時間とともに何らかの減衰する重量をもつログ尤度を追加することなど、任意の組合せを使用することができる。実施例はまた、領域中の最も高い尤度が、次の時刻における累積尤度に寄与することを可能にすることによって、軌跡推定におけるドリフトを収容することができる。これは、前方に推定値を累積するための動的プログラミング・プロシージャにつながる。次いで、組み合わせられた尤度空間中の最大点が決定され得、分析が、(例えば、限定はしないが)信頼性形状、複数のモードがあるかどうか、及び最良のソリューションがどのくらいうまくサポートされるかに対して実施され得る。
各データ・ソースについて尤度寄与を測定するために頼るべき証拠の種類は、投影された対象物(例えば、道路マーキング、道路境界、垂直ランドマーク、交通標識、交通信号、静止レーダ目標など)のためのデータが、(非限定的な例として、スコアリングが、ルックアップ及び累積がそれに続く投影からなるようにするために、各ランドマーク・タイプのための距離変換の単調マッピングなど、あらかじめ計算された画像を使用して)現在のセンサ値にどのくらいうまくマッチングするかである。LIDARポイント・クラウドの場合、実施例は、現在のセンサ値を深度マップと見なすことと、この姿勢のためのマップ・ポイント・クラウドのレンダリングと比較することとによって同様に進むことができる。
クラウド・マッピング3022
マップ・ストリーム・ストア(ドライブ・ストア)
例示的な一実施例において、完全なマッピング・ソリューションは、車両からデータを受信するクラウド・サービス成分のコンスタレーションを含み、ドライブを一緒に登録するためにデータを処理し、マップ・データを用いて車両をサービスする。それらは、従来のマップよりも「アグリゲート・ドライブ」である。
マップ・サービスのこのコンスタレーションの第1の成分は、マップ・ストリーム・ストアである。この成分は、車両によって寄与され、GPSタイルによってセグメント化され、時間及び冗長性に基づいて、プルーニングの何らかの量を用いて、それらがGPSタイルを通して前の方に及び後の方に追従され得るようにリンクされた生データを保持する。データは、それがすでにうまく圧縮されているので、いくつかの実施例では生形態で保持され、したがって、インデックス付け、マッチング及びマップ生成のための異なるアルゴリズムに対して最大フレキシビリティを与える。
ドライブ・インデックス付け
ドライブ・インデクサーは、ストアに緊密に関係する。それは、GPSによってドライブ・セグメントを検索することと、概算セグメント・ルートによって随意にフィルタ処理することとを可能にする。
ドライブ・マッチング
ドライブ・マッチングは、ランドマークによってもたらされる正確さまで慎重に複数のドライブを整合させるタスクである。一般的な動作は、ドライブ・インデクサーを使用してドライブ・セグメントの候補セットを見つけることである。候補セットは、同じ道路セグメント又は道路セグメントのシーケンスを通してドライブするためのわずかに異なるやり方であるように仮定される。基本動作は、次いで、いくつかのペアワイズ動作を通して複数のセグメントを整合させるように拡張され得る、2つのドライブ・セグメントをマッチングさせることが可能であることである。動作は、ドライブ・マッチャーが、現在、ある時点からの(過去のみでない)全ドライブを有する唯一の差がある、ローカライゼーションによって実施されるものと全く同様である。したがって、例示的な実施例は、ドライブ・セグメントの中央に中心を置かれた姿勢尤度空間にすべての証拠をもたらすために、いくつかの例において修正された同じ機構を使用することができる。別の代替形態は、フル6DOF反復最近点プロシージャを使用することである。実施例は、それらのGPSトレースによって判定されたものと同様である、固定の長さ、例えば、50mのセグメントにマッチすることができ、マッチの結果は、セグメント内の(例えば、セグメントの中間の近くの)姿勢間の6DOF姿勢リンクである。
ドライブ・グラフ
ドライブ・グラフは、マッピング・エフォートの全範囲にわたって、できるだけ多くの有望なマッチについてドライブ・マッチングを系統的に実施することの結果である。ドライブ間の姿勢リンクへの参照は、それらが、ドライブ・セグメントから容易に見つけられ得るようなやり方で記憶される。したがって、前の方に及び後の方にドライブをトラバースすることを可能にする、ドライブ・ストアと組み合わせ、姿勢リンクは、それらが、最も良くマッチングされることが予想される場所におけるマッチングされたドライブ間のホッピングを可能にする。
相対座標系
上記で説明されたドライブ・グラフは、(例えば、GPS座標を介して)にインデックスを付けられ得るが、ドライブ・セグメントは、ドライブ・マッチングを通して、生GPS座標が可能にするよりも潜在的に正確に関係し、例示的な実施例は、(GPS oneのような)共通グローバル座標系へのすべてのドライブを強制しない。何らかのエンティティの座標は、常に、何らかの他の参照に対するものである。GPS事例では、基準システムは、衛星のコンスタレーションである。写真測量では、座標系の選定はゲージと呼ばれる。ゲージの異なる選定は、物を別様に不確実に見えるようにする。例えば、三角測量されたランドマーク点に基づくゲージは、点をより確実に見えるようにすることになるが、カメラ位置をあまり確実に見えないようにすることになり、その逆も同様である。同様に、車線境界線又は停止線がどこにあるかについての基準として衛星のシステムを使用することは、衛星に対するその車線境界線又は停止線をローカライズする能力による精度を制限することになる。実施例が、代わりに、車線境界線又は停止線が観測された基準ドライブを使用する場合、精度は、基準ドライブに現在のドライブを登録する能力と同じくらい高いことがある。それは、実施例が、衛星システム及びバックを介して行く代わりに、車両の近くにある視覚/LIDAR/レーダ・ランドマークに依拠するので、より正確であることがある。いくつかの実施例は、したがって、GPS座標系ではなくドライブに関して定義された座標系で作用する。いくつかの実施例では、各タイルの最適精度は、衛星に対してでなく、タイルの自体の座標系に対してであり、それタイル間の関係は、1つのタイルの座標系をそれの近隣のタイルの座標系に関係付ける姿勢リンクを通して考察される(又は作業が、独立して各タイルにおいて実施され得、これも機能的手法である)。
タイル・マップ
座標系を常に再評価する必要なしにタイルにおけるドライブで作用することの単純さのために、例示的な実施例は、タイル・マップを構成する。図60を参照。これは、各ドライブと、それが登録されるGPSタイルの各々との間の姿勢リンクの追加に達する。すなわち、例示的な実施例は、例えば、50m正方形タイルにおいて、GPS座標系に基づいてタイルに地球をタイリングし、各ドライブについて、(~10mGPS不確実性でほぼ定義された)それが通過するか又はほぼ通過したタイルの各々へのドライブからの双方向インデックス・リンクを登録した。各タイルについて、実施例は、それが、ドライブ・マッチングを通してリンクされたすべてのドライブにマッチすることを試み、いくつかの姿勢リンク、及びドライブのいくつかの接続成分を生じる。これらの接続成分は、例えば、あるルート・ドライブから開始するダイクストラ・プロシージャを実施することによって、姿勢リンクを介して同じ座標系に変換され得る。これは、GPSが可能にするであろうよりも潜在的に正確であるそれらのドライブの登録を生じる。最終ステップとして、例示的な非限定的な実施例は、例えば、各GPS観測についての依存しないロバスト化されたガウス・エラーを加えた、(大気条件バイアスをモデル化することなど)各ドライブについての単一のトランスレーションのオフセットのモデルを用いて、(おのずと、すべてのクラスタリングされたドライブからのすべてのGPS観測に基づいてGPS座標系に連帯して登録されたドライブを整合させる転換(単一の転換)を見つけるために最善を尽くす。これは、実施例が、タイルに登録するために多くのバイアス補正されたGPS測定値を一緒に結合するために、非常に正確なランドマーク整合を潜在的に活用しているので、個々のGPS測定値さらにはトレースよりも正確に各接続成分を登録する可能性を有する。これは、「視覚ランドマーク・ベース差分GPS」に類似する。
とはいえ、タイル間の関係が「保証されない」ので、実施例はまた、各タイルにおける各接続成分と、近隣のタイルにおける接続成分(及び、適用可能な場合、同じタイル)との間の姿勢リンクを推定及び記憶する。これらの姿勢リンクは、常に存在するとは限らないことがあり、これは、当該の接続成分間の登録が、GPS精度よりも正確に知られないことを意味する。あるセグメントから次のセグメントへのドライブに追従するとき、ドライブ自体は、(それが、相対チェーンとして記録されるので)2つのタイル間の自然姿勢リンクである。タイル・マップは、2つの異なるタイルへのドライブの登録を有し、チェーンが、タイル間の境界においてどこかで破壊されたときはいつでも、ドライブ内の姿勢リンクは、(タイルの1つへの)それの前の姿勢、及び(他のタイルへの)それの後の姿勢の登録にわずかに同意しないことになる。したがって、その姿勢リンクは、タイル間の予想されたグリッチを知らせるタイル間の姿勢リンクを与える。実施例は、個々のドライブで直接作用するか、又は2つの接続成分を結合し、タイル間のそれらの姿勢リンクをジョイント推定値に融合させるすべてのドライブを使用することができる。
要約すれば、タイル・マップは、例示的な実施例が、それらの間の姿勢リンクをもつタイル整形された接続成分で作用することを可能にし、各接続成分において、関与するドライブのすべてのデータのためのすでに確定された座標位置がある。どこにもグリッチがない世界データの単一のエンフォースされたレイアウトは、依然としてなく、したがって、データで作用する1つのやり方は、1つのタイルの1つの接続成分において開始し、ルートとしてそれを用いるダイクストラ・プロセスを使用してデータをレイアウトすることである。タイル・マップは、ルートとして、指定されたタイル及び接続成分に基づいて、又は単に所与の指定されたタイルに基づいて、タイルの所与のセット上でデータをレイアウトするための機能を与える(その場合、機能は、1つの接続成分を見つけ、それで開始し、次いで、すべてのデータがレイアウトされるまで、続いて他の成分を追加することになる)。
ローカライゼーション・タイル生成
ローカライゼーションの目的で、例示的な実施例は、タイル・グラフ中の各タイルの各接続成分のランドマーク情報を融合させる。整合の後、これは、道路マーキング、道路境界、垂直ランドマーク、交通標識、交通信号、静止レーダ目標及びポイント・クラウド表面など、ランドマークを関連づけること、それらを重複排除すること、及びそれらに最良推定値を与えることに達する。一般に、登録が、ベスト・エフォートに対処されたので、これは、概念的に、何らかの放射状に減衰するサポート測定カーネルに基づいて、何らかの関係する半径をもつ非最大抑圧を使用してピーク・サポートを見つけることに達する。ローカライゼーション・タイルのコンパクトな符号化は、次いで、マップ・ストリームの符号化と同様に実施される。
複数のタイルにおけるローカライゼーション
ローカライゼーションは、タイルごとに(又はより正確には、タイルにおける接続成分ごとに)進む。タイルのエッジに接近するとき、接続成分間の姿勢リンクは、次のタイルからの接続成分を測位するために使用される。
他の実施例は、重複タイルにおける別個のローカライゼーションを使用する。重複タイルが利用可能である限り、前のタイルを出る前に新しいタイルにおいてローカライズするのに十分な重複を用いて、単一のグローバル座標系にマップ全体を強制することなしに、マップ情報への連続アクセスをサポートすることが可能である。タイリングは、例えば、4方向冗長性をもつまっすぐな正方形タイリング、3方向冗長性を有するための各行におけるシフティングをもつ正方形タイリング、又は3方向冗長性をもつ六角格子を用いて達成され得る。タイル・サイズは、それが、十分なランドマークによる強力なローカライゼーションをサポートするのに十分大きく、軌跡推定の不正確さによる整合問題を有しないのに十分小さいべきであるので、トレードオフである。タイルはまた、望ましくは、不要なデータをロードしないのに十分小さいべきである。
マッピング・メタデータ
登録に直接関係しないデータは、メタデータと呼ばれる。メタデータは、2つの異なるクラス、すなわち、運転を直接助けるものと、真に補助データであるものとに分割される。例えば、運転を助けるメタデータのタイプは、交差部の所在地及び待機条件、どの交通信号のどの状態が、どの車線軌跡が進む(又は進むが道を譲る)ことを可能にするか、どのエリアにおいて多方向停止における競合するトラフィックを探すべきか、駐車場の所在地、及び軌跡統計値である(とはいえ、後者はコア登録データから抽出される)。さらなる補助データの例は、どのアドレスがどのビジネスに対応するか、日の特定の時間及び特定曜日における特定の車線におけるトラフィックの一般的な密度がどれほどであるか、である。登録実装形態からメタデータ機能を分離するために、ユーザは、ドライブ・ストアに入っているドライブのいずれかの車両姿勢に対して1つのメタデータを挿入することを可能にされる。情報が、GPSレベル正確さにおいてのみである場合、これは、単に、GPS座標に対してそれを挿入することによって処理され得る。しかしながら、情報が、より高い正確さを必要とする場合、要求は、ユーザに座標系アンカーを発行するコア登録レイヤによって処理される。ユーザの観点から、座標系アンカーはGUIDであり、座標系は、車両の現在の姿勢に対して表される。コア登録レイヤによってサービスされる機構は、同じGUIDがユーザによって指される場合、登録は、(ベスト・エフォートに)GUIDがユーザに与えられたときに使用されたものと同じ座標系を復元することになることである。より高いレベルのサービス成分が、次いで、コア登録レイヤによって発行された座標系を参照することによって、正確に測位され、方位付けされた情報を挿入及び検索することができる。この機構は、データのストレージ及び所有権を、それの正確な登録をサポートするサービスから分離することを可能にする(とはいえ、正確な測位は、コア登録サービスに依存する)。
例示的な実施例は、内部で協調アンカーの目標密度を保持し、ユーザ要求に応答してそれらのアンカーを発行するコア登録レイヤを実装する。要求に応答して、オン・ザ・フライでアンカーを生成することも可能である。後者の実装形態は、発行されるアンカーの密度のより慎重な制御を可能にする。
クラウド車線グラフ
タイル・マップによって暗示されるドライブ・レイアウトにおいて、実施例は、十分な共通サポートを有するセグメントを探し、それにより、運転をサポートする車線グラフを導出する。サポートは、少なくとも一定数のセグメントに、(30cmなど)何らかのトランスレーション偏差及び(5度など)方位性偏差未満をもつ同じ経路に追従させることによって測定され得る。
実施例は、各ノードにおける点及びタンジェントをもつ有向グラフを展開することよって、コア車線グラフ推定問題を解く。図60を参照。これは、発生の尤度の推定値を用いるベイズ推定問題として公式化に原則として役立つ混合個別/連続推定問題である。これは、それが、パラメータ化、尤度決定及び前の定義、並びに探索/最適化手法を明らかに分離するという利益を有する。車線変更は、ドライブにおける車線変更の統計値、並びにドライブにおいて検出された道路マーキング及び自由空間のタイプを使用することによって、基本車線グラフを確定した後、第2のステップにおいて推定される。
前の確率分布は、より単純なグラフ、より少数のノード、より少数のエッジ、複数のエッジをもつより少数のノードを選好するコスト項(負のログ前の尤度項)を含むことができる。これは、ドライブ・データを説明しないスプリアス車線セグメントを回避することである。実施例は、(S字形形状、又は最小車線幅の外側の一定値への他の高速減少のような何かを使用して)並列であるが、最小車線幅まで互いにノード反発を共有しない車線セグメントを作る項をも含むことができる。これは、多くのドライブがある道路の並列セグメントのための安定性を維持すること、及び車線の数を正規化することである。実施例は、(10mなど)エッジのための公称長を選好する項をも含むことができる。
尤度は、すべてのドライブがグラフを与えられることがどのくらい可能性があるかからなる。これは、近接した並列セグメント間の可能ないくつかの恣意的な車線変更を用いて恣意的にグラフを通して経路を選ぶことの生成尤度と同様である。ドライブをスコアリングするために、実施例は、ドライブを説明するためのグラフを通して最も可能性がある経路を見つけるプロシージャを実装する。このプロシージャは、2つの物、すなわち、ドライブのための既存の車線グラフを通して経路を割り当てること、及びスプラインの連続パラメータを調整することの両方に有用であり得る。このプロシージャは、動的プログラミングを通して進む。各姿勢について、実施例は、適度に近く適切な方向にあるスプライン経路を見つけ、各々について尤度を測定する。これは、各姿勢が、可能なエッジ点割当てのショート・リストを得ることを意味する。次いで、実施例は、いくつかのエッジ遷移の尤度を追加し、これは、ドライブにおける各姿勢のためのエッジ点割当てのセットという意味においてグラフを通した最も良好な経路のための動的プログラミング問題を生じる。実施例は、次いで、ノード・パラメータに関して最も良好な経路のコストの導関数を計算することができる。実施例が、グラフ・トポロジー及び概算レイアウトをすでに有する場合、それらは、それにより、非線形改良を使用して1つのタイル(より正確にはタイルの1つの接続成分)のノード・パラメータを微調整することができる。
実施例は、3つのステップ、すなわち、最初に基本車線セグメントを決定すること、次いで分岐/合流を見つけること、及び最後に車線変更接続、において、初期グラフ・トポロジー及び概算レイアウトを見つけ出す。
基本車線セグメントを判定するために、(点及び方向を有する)ドライブの各無限小部分が、点+方向の3次元空間において、その点及び方向に対する票としてモデル化される。実施例は、方向に平行な車線幅の一部分において、及び小さい角度において低下するウェーブレット整形されたカーネルを適用し、次いで、何らかの最小車線幅及び角度分離まで点及び方向を抑圧することを適用し、次いで、0になる。実施例は、次いで、方向にローカル最大値で並列であり、(場合によってはヒステリシスをもつ)カーネル票の正の累積を有する点+方向空間における点の接続されたセットを探索する。
次いで、実施例は、分岐/合流を識別する。これらは、1つのセグメントのための強力なサポートに遷移する2つの個々のセグメントのための強力なサポートがある点として最も良好に識別される。これは、必ずしも、厳密に、分岐/合流点自体にあるとは限らず、むしろ、それの周りのわずかにより大きい構造にある。いくつかの実施例は、最良の結果を得るために近傍を分析する。例えば、実施例は、円半径を決め、そのサイズのあらゆる円を分析し、いくつのうまくサポートされたセグメントが、円に入り、円を出るかを調べることができる。分析は、いずれが、それぞれ、それの最も一般的な対応する出口及び入口であるかを判定するために、各出入口セグメントについて実施され得る。2つの異なる出口セグメントが、同じ入口セグメントを共有するとき、それは分岐であり、2つの異なる入口セグメントが、同じ出口セグメントを共有するとき、それは合流である。
車線変更に配慮するために、実施例は、車両が車線境界線を横断している明らかな場合を識別する。これは、車線変更の可能性があるセグメントをマーキングするために、ライブ認知を(及び、随意に、インジケータ信号も)用いて行われ、これは、次いで、コア車線グラフ投票から削除されるが、代わりに、車線変更接続があるところに寄与することができる。車線変更がどこで許容され、安全であるかを判定するために、車線マーキング及び並列度を分析することも可能である。
クラウド待機条件
マップ中の経路情報が、追従するべき「切替え可能レール」のグリッドを与える場合、待機条件は、それが、車両の前の障害物により直ちに明らかでないことがある場合に、待機又は減速を必要とし得る縦方向制約である。マッピングは、実施例が、ライブ認知よりも情報を用いてこれらを推定することを可能にする。太線セグメントによって示されているように、マップ上の待機条件を示す図61を参照。
ライブ外観に基づいて交通信号交差点及び多方向停止を捕らえる交差点検出器は、マップ・データのストリームとバンドルされた情報を送る。これはまた、実施例が、マッピングされたドライブからのこの情報をアグリゲートすることを可能にする。これは、マッピングされたドライブからのドライブ・パターン情報を用いて、交差する運転方向、及び車が繰返し可能な所在地において待機すること/停止することを用いて補強される。
検出された視覚停止線も、マップ・ストリームとともに送られる。これは、交差点検出によって与えられる停止点を改良する。再び、停止線情報はまた、マッピングされたドライブ、及びレールに沿って共通停止点を検出することによって補強される。
交通信号は、登録ランドマークの一部であるが、もちろん、それらの状態に関しても重要である。実施例は、停止線のためのドライブ、及び交通信号への車線経路詳細リンクをマイニングする。特に、車両が、停止線の後ろの最初の車として停止されたと判断された場合、実施例は、車両が、特定のルート上で進む直前及び直後に、その停止線から見られる交通信号の状態の統計値を集める。これは、実施例が、どの交通信号が、特定のルートを可能にするために状態を切り替えたかを検出することを可能にする。実施例は、トラフィックにわたる左折中になど、減速パターンにも留意する。
多方向停止(本質的に、いずれもが完全な先行権を有しない、交通信号なしの停止挙動がある交差点)は、中心エリアを各停止点に接続することによって処理される。このエリアは、ある程度ライブ認知されるか、又は停止点の前のドライブ可能なエリアとして推定され得るが、マッピングを通しても補強される。他のトラフィックは、中心エリア並びに中心エリアを囲む競争者エリアにおいて検出及び追跡される。他のトラフィック(車両、自転車に乗る人、歩行者)がこのエリアにおいて検出され、中心エリアのほうへ向いている場合、それらは競争者と見なされる。車両が停止するとき、それらが存在し、停止されるか又はすでに進んでいる場合、それらは、車両の前方にあると判定される。それらが、直接的に脅威を与えておらず、中心エリアにまだ隣接していないようなやり方で依然として移動している場合、車両は、それらの前方にある。
実施例は、交差する又は高速で現在の車両経路に合流する他のトラフィックに目配りをする間、減速及び合流が頻繁であり、ここで、車両は、それ自体に競合トラフィックを認知するチャンスを与えるために、停止するか又はスローダウンしなければならない。これの証拠は、特定の場所における頻繁なスローダウン又は停止、並びにトラフィック・パターン交差又は合流である。実施例が前者なしに後者に遭遇した場合、それは、合流をハイウェイ入口のようであるとより判定するが、それが両方を有する場合、それは、それが停止合流であると判定する。そのような点において、実施例は、各車線について集められた速度統計値を使用し、それが、その速度に対応する十分な可視性をそこにおいて有する最も早い点、並びに実際の最初の競合点を推定する。これは、それが慎重に速度を落とし、停止し適宜にクリープすることを可能にする。減速は、他のものが先行権を有する交差点、及びトラフィックを通した左折及び対向方向転換(すなわち、ここで、複数の車両が、いずれのものが「次の」方向転換を行うかに関して同意する)ボトルネックをも含む。
マップ・マッチング
マップ・マッチングは、ローカライゼーションされたマップと他の既存のマップとの間の対応を見つける。これは、出口の名前、当該の点、住所、及び人間が理解できるルーティング先など、補助情報を、ローカライゼーションされたマップに注入する。経路以外の追加の定義情報を概略的に示す代表ビューを示す、図62を参照。それは、補助情報のいくつかのプロバイダに適応する複数の形態でもたらされる可能性がある。
例示的な手法は、人間注釈をもつ既存のマップに、マップの自動生成を基づかせず、むしろ、その後、マッチングのより軽い形態を実施する。ベスト・エフォートGPS座標に基づいて何らかのデータを維持することは、これが、安定した様態で長い時間期間の間より維持しやすいので、連続性理由のために魅力的である。しかしながら、これは、非常に正確なローカライゼーションを要するデータの場合、真でないことがある。
プランニング3004
例示的な実施例は、プランニング階層を使用する。図63を参照。概念的に、ルート・プランナー3004eは、都市外のルートのためのスコアを与える国のスケールにおいて実行し、エリア外のルートのためのスコアを与える都市のスケールにおいて実行し得る。次いで、最も望ましい挙動の要求を見つけ出す、次の少数のブロックのための車線シーケンスのためのスコアを与える車線プランナー3004cがある。次いで、車線変更又は車線中にとどまることなど、異なる挙動の実現可能性をスコアリングするか又はそれをただ判定するための挙動プランナー3004a、3004bがある。最後に、挙動選択3004dは、最も望ましい実現可能な挙動として行われ、制御3006及び作動3008に受け渡される。車線変更など、いくつかの挙動について、実施例は、それが、行われたか又は中止されたと判定されるまで、それをスティックする。プランニングは、(より小規模のプランニング・レイヤについてより高くなり得る)何らかの頻度で繰り返される。
ルート・プランナー3004e
ルート・プランナー3004eは、ルート・マップ及び目標ノード及び現在のノードから大規模マップグラフを取る。目標ノード及び現在のノードは、GPS目標点及び最後の知られている良好なGPS示度に基づいて、単純な最近傍ルックアップによって取得されていることがある。ルート・プランナー3004eは、いくつかの実施例では、(グラフが小さい場合、A*/D*又はダイクストラなど)グラフ探索アルゴリズムを実行する。それは、現在のノードから目標ノードへのグラフを通して最善ルートを返す。大規模問題の場合、これは、ハイウェイのみがあるより単純なグラフをもつ米国大陸スケールにおいて、及びより詳細なグラフをもつ都市スケールにおいてなど、階層的に起こり得る。階層プランニングは、十分に遠くに(一方、より小規模のプランナーの範囲内に)あるより大規模のプランからの中間点を使用する、(プランニングのグラニュラリティ間の差による)ハンドオフ点における任意の潜在的グリッチは無視できること。(階層的に行われるかどうかにかかわらず)ルート・プランニングは、全体として、GPS中間点のリストからなる計画された経路を作成する。そのような中間点は、車線プランナーのための目標として使用される(例えば、キロメートルなど)将来へのいくつかの都市ブロックの中間点を含む。他の実施例は、詳細なプランナーの次のレベルのための複数の代替形態のための各プランナー出力コストを有する。
車線プランナー3004c
車線プランナー3004cは、入力としてルート・プランナー3004eの出力を取る。それは、マッピングされた車線グラフ(及び高性能ローカライゼーションによるそれの内の対象物姿勢)及びルート・プランナーからの将来へのいくつかの都市ブロックにおける目標点及び方向で作用する。目標点及び方向は、(一般に、GPS及びコンパス方向を使用して)車線グラフ中の最良のマッチング・ドライブ可能な点及び方向にマッピングされる。次いで、グラフ探索アルゴリズムが、目標点への最短経路を見つけるために、車線グラフ中の現在のエッジから車線グラフ上で実行される。現在の点において、及び車線変更を有する車線グラフ中の各エッジの始まりにおいて開始する車線変更が含まれる。車線変更は、車線変更が直ちに始められる場合、より少ない(例えば、25m)距離ペナルティ(例えば、50m)を用いてペナルティが与えられ、したがって、車線変更が必要とされる場合、それは、利用可能なとき、注意をもって実施されることが計画される。
基本挙動プランナー3004a
挙動プランナー3004は、車線中にとどまること或いは左又は右に車線を変更することなど、基本挙動の実現可能性を判定し、したがって、実現可能な挙動は、車線プランナー3004cからの最も望まれる挙動とマッチ・アップされ得る。車線変更が、安全で利用可能であると判定されなかった場合、デフォルト挙動は、車線中にとどまることである。基本挙動プランナー3004aによってテストされる主要な3つの挙動は、車線中にとどまること、車線プランナーが要求したものとのマッチを最大にするために車線グラフ中の任意の分岐又は選定に追従すること、或いは左又は右に車線を変更し、マッチを最大にすることである。
基本挙動プランナー3004aは、入力として、待機条件及び経路内対象物をもつ追跡された車線グラフを取る。追跡された車線グラフは、マッピング又はライブ認知のいずれかからもたらされることができる。プランナー3004aは、車線変更を実施することなしに、(50~100mなど)何らかの短い距離のための主経路ツリーから入手可能な経路の各々を考慮し、最も近いものを見つけるために、それらの各々を車線プランナー3004cの出力と比較する。高性能ローカライゼーション3026bが利用可能でない場合、ルート・プランナー3004eの出力が代わりに使用される。代替的に、ルート・プランナー3004eにおける次の厳しい曲率が、右又は左である場合、実施例は、右又は左分岐或いは右又は左車線変更を選好することができる。主要な車線グラフ・ツリーに加えて、いくつかの実施例はまた、(それらが存在する場合)現在の車線グラフ・エッジからの左及び右即時車線変更の後、車線グラフ・エッジから同じプロシージャを開始する。これは、車線グラフ、及び車線プランナー3004c出力へのマッチによって選好されるものを通して3つの経路を与える。また、経路のうちの1つは、前のルート車線グラフ・エッジに対応すべきである。
いくつかの例示的な実施例では、すべての3つの経路は、本質的に、その挙動に適切な縦方向制約をもつ縦方向コントローラを実行することによって、独立して縦方向制御のために処理される。車線中にとどまるために、例えば、それは、主要な車線経路中の対象物及び待機条件を含み得る。車線変更の場合、自己車両の横の、及びそれの後ろの対象物を含む、目標車線中の対象物及び待機条件が、同様に追加される。結果は、最小減速量(又は最大加速度量)、或いは明白な安全拒否である。車線変更のための基本挙動プランナー3004aにおいて、いくつかの実施例は、主要な車線と目標車線との間の単純な速度依存スプライン補間を作成し、これは、車線変更を表すために、挙動セレクタ3004dに送られる。実施例は、自己車両がすでに車線変更中にある場合にそれが利用可能であるように、そのような経路を作成することができる。主経路のみが、車線グラフから入手可能である場合、バックアップは、車線エッジのちょうど外側を行く経路を使用することである。
高性能挙動プランナー3004b
高性能挙動プランナー3004bは、基本挙動プランナー3004aよりも自由形態前方軌跡を考慮する。それを行うために、高性能挙動プランナー3004bは、基本短期プランナー3004aへの入力に加えて、入力として動的占有グリッド3102を取る。高性能挙動プランナー3004bは、次いで、方向転換の変動する量を用いて端部においてわずかに横方向にオフセットされた経路など、当該の挙動のための公称経路の周りの経路のファンを生成する。原則として、経路の任意のファミリーが使用され得るが、経路の2次元又は3次元ファミリーが、妥当な選定得る。高性能挙動はまた、対象物トラックを考慮に入れることができる。経路は、動的占有グリッドと比較され、それにより、安全性並びに、快適さ及び公称経路との合致など、望ましいものについて検査される。
挙動セレクタ3004d
挙動セレクタ3004dは、挙動プランナー3004a、3004bの出力、及び車線プランナー3004cからの要求に基づいて、何らかの単純論理を実施する。自己車両がすでに車線変更中にあるのでない限り、以下の論理が、いくつかの実施例によって適用される。車線プランナー3004cが、自己車両が車線中にとどまることを要求した場合、それは、単に、車線中にとどまる(これは、実施例が、車線グラフ中の主要な車線からの中心経路をコントローラ3006に受け渡すことを意味する)。車線変更が車線プランナー3004cによって要求された場合、実施例は、それが、車線グラフよって利用可能で、安全で、挙動プランナー3004a、3004bによる激しいブレーキングを用いないと判定されたとすれば、それを開始する。
自己車両がすでに車線変更中にある場合、車線変更は、一般に、それが完了されたと判定されるまで続けられる。これは、追跡される車線グラフ中の偏心パラメータを調べ、車線変更の1/4、1/2、3/4を通して処理し、次いで、車線変更が完了されたと宣言することによって監視される。車線変更中に、コントローラ3006に送られた経路は、挙動プランナー3004dによって作成された車線変更経路である。
制御3006
プランニング3004と制御3006との間の線引きは、多くの実装形態において正確に定義されない。コントローラ・モジュール3006のタスクは、できるだけ近接して挙動セレクタ3004dから送られた、及び自己車両によって実装され得る何かに近接する前方軌跡(横方向及び縦方向)選定に追従することである。例えば、図64を参照。コントローラ3006は、未計画イベント、又はモデル化されない挙動、又は予想されない遅延など、理想からの相違を引き起こす何かを扱うためにタイトなフィードバックを使用する。いくつかの実施例では、コントローラ3006は、プランナーと同様に、入力変数として制御を取る前方予測モデルを使用する。前方予測モデルは、望まれる状態(この場合、要求される横方向及び縦方向経路)と比較され得る予測を作成する。相違を最小限に抑える制御が、時間フィルタ処理を用いて見つけられる。(標準PIDコントローラにおけるなど)時間フィルタ処理は、時間要素がない場合、任意の非モデル化された遅延が、発振を生じ得るので、いくつかのコンテキストにおいて有用である。基本純粋探求モデルにおいて、単純な前方予測モデルは、相違が測定される単一のルックアヘッド点とともに使用され得る。
実施例は、モデル予測的制御をも使用することができる。そのようなコントローラ3005において、車両モーションをモデル化する微分方程式のオイラー前方統合(又は任意の形態の前方統合)が、採用され得る。相違は、次いで、将来において複数の点において測定され、何らかの目的機能によってバランスをとられ得る。車両モーションのモデリングは、ホイール・スリップと、正確な経路再生に有用な何かとを含むことができる。縦方向制御のために、いくつかの実施例は、相対距離、相対速度及び自己速度に基づいて、ルックアップ・テーブルをもつ標準PIDコントローラを使用する。快適限度が、(5m/sΛ2など)加速度及びジャークに対して課される。同様に、速度依存限度が、ステアリング角度及びステアリング角度レートに対して課される。
G.本技術を使用する自律運転車両の追加の例。
本技術は、警察又は企業セキュリティのいずれかによって使用される、自律運転パトロール・カーのためにも使用され得る。自律運転パトロール・カーは、パトロール及びセキュリティ機能のために設計された追加の特徴をもつ、上記で説明された自律運転車両(50)の修正バージョンである。自律運転パトロール・カーとして使用されるとき、本技術は、車両本体と、車両を制御するための高性能システム・オン・チップをもつコンピュータと、パトロール及び/又は安全機能を実施するように訓練された1つ又は複数のニューラル・ネットワークとを含む。例えば、自律運転パトロール・カーは、車のDLA上で実行し、(1)他の車両のナンバー・プレート、メーカー、若しくは外観(例えば、モデル、色)のうちの1つ又は複数を識別することによる、少なくとも1つの他の車両、(2)交通事故、(3)自転車運転者、歩行者、又は他の居合わせた人など、負傷者、(4)火事、(5)人々の間の対立、(6)侵入又は麻薬取引など、犯罪行為、或いは(7)なぎ倒された木、電力線、破片、又はくぼみなど、道路ハザードのいずれかを識別するように訓練されたCNNを含み得る。
赤外線カメラが、好ましくは、犯罪行為、火炎を検出するために、及び人々を突き止めるために夜間パトロールのためにしばしば使用される、自律運転パトロール・カー上で使用される。好適な赤外線カメラは、人々について36度の視野をもち、並びに300mの、及び自動車など、より大きい熱放出対象物についてそのほぼ2倍の有効範囲をもつコンパクトな熱イメージング・カメラを含む。好ましい実施例では、長波長赤外線(「LWI:longwave infrared」)熱カメラ・コアが、ズーム能力を与えるために使用され得、コンピュータが十分な信頼性をもって識別され得ない、重要性の高い可能な項目を識別するとき、コンピュータは、安全なところに車両を停止し、より正確な評価のために項目にズームインする。
自律運転パトロール・カーは、車両のセルラー・ワイヤレス・モデム及びアンテナを使用して、識別されたイベントの存在及びロケーションのワイヤレス通知を送るように構成され得る。DLAが、訓練されたCNNを使用して高速で効率的な推論のために設計されるが、CNNは、代替的に、システム・オン・チップのGPU上で実行し得る。
自律運転パトロール・カーは、警察によって捜されている車両のメーカー、モデル、及び/又はナンバー・プレートを識別する、広域指名手配又はアンバー・アラートのワイヤレス通知を受信し得る。このワイヤレス通知は、警察帯域無線、LTE、WCDMA(登録商標)、さらにはWiFi上で受信され得る。自律運転パトロール・カーのDLA上で実行していることがあるCNNは、メーカー、モデル、及び/又はナンバー・プレートによって車両を識別し、DLAによって与えられた情報と、捜されている車両との間の比較を実行する、自律運転パトロール・カーのCPUに情報を受け渡す。代替的に、比較は、別個のX86 CPU上で、又は自律運転パトロール・カーのPVA上で実行され得る。
自律運転パトロール・カーは、例えば、図22に示されているように、複数の高性能システム・オン・チップを有し得る。この例では、高性能システム・オン・チップのうちの1つ又は複数が、自動運転機能を実施するように構成されることになるが、高性能システム・オン・チップの他のものは、上記で説明されたパトロール機能を実施するように構成されることになる。例えば、自律運転パトロール・カーは、パトロールのための6つの高性能システム・オン・チップをもつ、自動運転を実施するように構成された2つの高性能システム・オン・チップを有し得、6つの各々は、DLA又はGPUのいずれか上で実行するニューラル・ネットワークを使用して、以下、すなわち、(1)ナンバー・プレート、メーカー、又は外観を識別することによる、少なくとも1つの他の車両、(2)交通事故、(3)自転車運転者、歩行者、又は他の居合わせた人など、負傷者、(4)火事、(5)人々の間の対立、(6)侵入、不法侵入、又は違法物品を扱うことなど、犯罪行為、或いは(7)なぎ倒された木、電力線、破片、又はくぼみなど、道路ハザード、のうちの少なくとも1つを識別することを実施するように構成される。
図65は、自律運転長距離トラック(50)及びトレーラ(55)を示す。トラック(50)及びトレーラ(55)は、図4の自律運転車両(50)の文脈
で説明したセンサの多くを含む。さらに、トレーラ(55)は、重量重心センサ(82)を含み、このセンサは、トレーラの重量及び重量分布に関する情報をコントローラ(100)に提供する。トレーラはさらに、2つの慣性センサ(82(1)及び82(2))を含み、このセンサは、トレーラの速度、ヨー、ピッチ、ロールに関する情報をコントローラ(100)に提供する。
さらに、トレーラ(55)は、トレーラの周囲の完全360度ビデオを提供するのに十分な複数のサラウンド・カメラ(72)を含む。
トレーラ(55)は、自律運転トラック(50)が突然の及び/又は大きな横風の影響を識別し、緩和するのを助けるために、トレーラの右舷側及び左舷側の両方に突風センサ(81)を含むことが好ましい。横風の安定性及び性能は、多くの種類の車両にとって重要な問題であり、車両型、積載量、速度、及び路面状況によって異なる。トラック、バス、シャトル、自動車でさえも、様々な程度で横風の影響を受ける。横風は、特にトラック、バス、シャトルにとっては、安全上の大きな問題となる。横風への感度は、軽車両、高速、及び、氷、濡れた舗装、又は滑る舗装などの道路状況で最大になる。橋の上でしばしば経験されるような強い横方向の突風は特に危険である。車両は、抗力、揚力、横力、並びに、ヨー、ロール、及びピッチを引き起こす傾向のあるモーメントを含む空力モーメントを含む異なる空気力を受ける。横風が強い場合には、横力と揚力は、車両に横転、フィッシュテール、ジャックナイフを引き起こす可能性があり、又は車両の操縦能力が損なわれる可能性がある。
突風センサ(81)は、トレーラに垂直な縦方向軸及び横方向軸の両方の対気速度を決定し、コントローラ(100)にトレーラが受けている横風に関する情報を提供することが好ましい。風速計が使用されてもよく、ピトー管の端部が周囲の空気に露出するように、ピトー管をトレーラの側面の穴を貫通させた状態でトレーラの内側に取り付けられる。好ましい実施例では、センサ(81)は空気圧を測定し、インターフェース(例えば、USB)を介して結果を報告する。コントローラ(100)は、右舷側と左舷側のセンサ(81)の結果を比較し、大きな差がある場合には、突風事象の存在、方向、及び大きさを識別し、必要に応じて是正措置をとる。このような比較は、デュアルコア・セーフティ・クラスタ・エンジン(「SCE」)(704)が存在する場合には、実行することもできる。
誤検出を防止し、追加の安全性を提供するために、コントローラ(100)はまた、重量重心センサ(82)によって提供される信号を評価してもよく、大きな突風事象が発生した場合には、重量重心の突風に対向する側(右舷又は左舷)へのシフトを記録すべきである。代替的に、コントローラ(100)は、慣性センサ(82(1)、82(2))の結果を用いて、突風センサ(81)の結果を検証することができる。例えば、IMU(82)がトレーラ(55)の上隅付近に配置されている場合、大きな突風は、IMU(82)によって報告された横加速度のスパイクとして登録されるべきである。突風センサ(81)、慣性センサ(82)、及び重量重心センサ(83)から受信した情報の組合せを使用して、コントローラ(100)は、強い横方向の突風の存在を判断し、トラックが横転したり、車線から逸脱したりするリスクを軽減するために、通常は車両を減速させるか、又は非常に強風の場合には、是正措置を講じることができる。好ましい実施例では、突風状態が存在する場合、コントローラ(100)は、マップ(212)からの情報を使用して、突風が発生しやすいエリアを識別し、それに応じて積極的に対応する。例えば、マップ(212)は、大きな突風と関連づけられた陸橋、樹木の並木道、及び開けた野原のあるエリアを識別し、トラックがそれらのエリアに近づくと、コントローラ(100)は、突風を予測し、速度を低下させる。追加的な措置としては、車両への車間距離を増加させること、及び潜在的に危険な状態を他の車両に警告するために自律運転トラックのハザード・ライトを作動させることが含まれる。突風の状況が、トラックが安全に走行できないようなしきい値を超えると、コントローラ(100)は、トラックを道路の側方に引っ張って「安全停止への運転手」モードを実行する。コントローラは、突風センサ(81)を使用して、システム・オン・チップの常時オン・センサ処理エンジンと通信しながら、状況を監視し続ける。
好ましい実施例では、コントローラ(100)はまた、ピトー管内の潜在的な故障及び/又は氷の妨害を識別するために突風センサ(81)を監視し、場合によっては、センサ(81)内の任意の氷又は妨害をクリアするために、加熱コイル又は他の適切な装置を制御してもよい。
トレーラ(55)は、CANバス相互接続を介してトラック(50)に電気的に接続される。代替的に、トレーラ(55)は、トラック(50)のネットワークにワイヤレスで接続されてもよい。
トラックは大きな慣性を有し、大きな運動量を有し得、停止に持ち込むことが困難な場合があるので、トラック(50)は、コントローラ(100)に追加の情報を提供する長距離フロント・カメラ(79)を含むことがさらに好ましい。
図66は、自律運転式2レベル・バス(56)を示す。バス(56)は、上述したセンサの多くを含み、図4の自律運転車両(50)並びに図65のトラック及びトレーラの文脈で説明されている。さらに、バスは、バス及びその乗客の安全並びにセキュリティを監視するために使用される4つの内部カメラ(77)を含む。
図67は、自律運転連節バス(57)を示す。バス(57)は、上述した、また、図4、図65、及び図66で説明した自律運転車両の文脈で説明した、センサの多くを含む。
図68は、通常は15.24m(50フィート)を超える長さの自律運転耕耘機トラック(58)を示しており、このトラックは、大規模な火災や緊急事態に対応するために必要な人員、ツール、機器を配送することを可能にしている。トラック(58)は、上述した、また図4、図65、図66、及び図67で説明した自律運転車両の文脈で説明した、センサの多くを含む。
耕耘機トラックは、前輪と後輪の独立したステアリングによって操縦性を向上させるように設計されており、車両が、緊急対応車にとって重要な機能である急カーブをナビゲートすることができるようになっている。人間が運転する耕耘機トラックが前輪と後輪のステアリングホイールを独立させた、2人の運転手を有するように、自律運転耕耘機トラック(58)は、車両の前部と後部を制御するための2つのコントローラ(100)を有している。第1のコントローラ(100(1))は、少なくとも第1の車軸を制御し、第2のコントローラ(100(2))は、少なくとも第2の車軸を制御する。各コントローラは、図17、図18、図19、又は図22に関連して上述した自律運転用コンピュータを備え得、図8、図9、及び図13に関連して上述した高性能SoCを使用し得る。
自律運転耕耘機トラック(58)における2つのコントローラ(100)は、耕耘機トラックの2人の人間の運転者の間でしばしば発生する誤解や混乱が排除されるように、車両を運転する際に互いに通信し、調整する。一実施例では、人間の運転者は、前車軸(1)のステアリング及び車両の速度及び加速度を制御し、現在の技術の自律運転のための高性能コンピュータは、後車軸(2)を制御し、衝突、車線逸脱、及び他の安全事象を回避するために必要な場合に、人間の運転者に優先する。
さらに、自律運転耕耘機トラック(58)は、複数の赤外線カメラを含むことが好ましく、これは、ホット・スポット、火災、を検出し、人々を突き止めるために使用される。好適な赤外線カメラは、人々について36度の視野をもち、並びに300mの、及び自動車など、より大きい熱放出対象物についてそのほぼ2倍の有効範囲をもつコンパクトな熱イメージング・カメラを含む。好ましい実施例では、長波長赤外線(「LWIR」)熱カメラ・コアは、ズーム機能を提供するために使用され得、コンピュータが十分な信頼性で識別できない関心の高い可能性のあるアイテムを識別すると、コンピュータは、安全な場所で車両を停止し、より正確な評価のためにアイテムをズームインする。
自律運転パトロール・カーの場合と同様に、自律運転耕耘機トラック(58)は、車両のセルラー・ワイヤレス・モデム及びアンテナを使用して、識別された事象の存在及び所在地のワイヤレス通知を送るように構成されていてもよい。DLAは、訓練されたCNNを用いた高速且つ効率的な推論のために設計されているが、CNNは、システム・オン・チップのGPU上で代替的に実行されてもよい。
本技術の態様によれば、自律運転車両のためのシステム・オン・チップが提供される。1つ又は複数の実施例では、SoCは、中央処理ユニット複合体、グラフィックス処理ユニット、及びプログラマブル・ビジョン・アクセラレータ、ディープ・ラーニング・アクセラレータ、及びオン・チップ・メモリを備える埋め込みハードウェア・アクセラレーション複合体を含む。いくつかの実施例では、グラフィックス処理ユニットは、独立した並列整数及び浮動小数点データ・パス並びに/又は独立したスレッド・スケジューリング機能を含む複数のストリーミング・マイクロプロセッサを備える。1つ又は複数の実施例では、SoCのグラフィックス処理ユニットは、高帯域幅メモリ(HBM)規格に実質的に準拠したメモリを含み、これには(これに限定されない)HBM2メモリが含まれる。いくつかの実施例では、グラフィックス処理ユニットは、ユニファイド・メモリを含む。さらなる実施例によれば、ユニファイド・メモリは、中央処理ユニット複合体及びグラフィックス処理ユニットのための単一のユニファイド・仮想アドレス空間を提供する。
1つ又は複数の実施例によれば、SoCはまた、ロックステップ・モードで動作し、単一のコアとして機能するように構成された複数のプロセッサ・コアを備える安全クラスタ・エンジンと、複数のプロセッサ・コアによって実行される動作間の相違を検出するための比較論理とを含むことができる。SoCはまた、メモリ・コントローラを含むことができる。SoCはまた、システム・オン・チップのパワー状態遷移を制御し、且つ/又はシステム・オン・チップの熱状態を監視し、システム・オン・チップのパワー状態を応答的に管理するように構成されたブート及びパワー管理プロセッサを含むことができる。
システム・オン・チップはまた、いくつかの実施例では、中央処理ユニット複合体及びグラフィックス処理ユニットによって共有されるL3キャッシュを備えることができる。実施例はまた、複数の温度センサを含むことができ、これらは、中央処理ユニット複合体グループ、グラフィックス処理ユニット、及びアクセラレーション・クラスタのうちの1つ又は複数の温度を検出するように構成されていてもよく、且つ/又は、出力周波数が温度に比例する1つ又は複数のリング・オシレータで実装されていてもよい(これらに限定されるものではない)。
中央処理ユニット複合体は、複数のCPUコアを備え、いくつかの実施例では、CPUコアの1つ又は複数のクラスタとして実装されている。1つ又は複数の実施例では、複数のCPUコアの各CPUコアは、オン・チップL2キャッシュ・メモリに結合されている。同様に、CPUコアの1つ又は複数のクラスタを用いて実装された実施例では、CPUコアのクラスタは、オン・チップL2キャッシュ・メモリに結合されてもよい。さらなる実施例では、複数のクラスタの各クラスタは、専用のオン・チップL2キャッシュ・メモリに結合される。複数のクラスタの各クラスタは、中央処理ユニット複合体内の他のクラスタの状態から独立してアクティブであるように構成されてもよい。1つ又は複数の実施例では、複数のクラスタの各クラスタは、複数のクラスタのうちの1つ又は複数のクラスタでヘテロジニアス・マルチ・プロセッシングを行うように構成されている。
SoCはまた、パワー管理プロセッサを含むことができる。非限定的な実施例では、パワー管理プロセッサは、各コア及び/又は各クラスタを独立してパワー・ゲーティングする。1つ又は複数の実施例では、SoCは、プログラマブル・ビジョン・アクセラレータ及びディープ・ラーニング・アクセラレータのうちの1つ又は両方に結合されたメモリ(例えば、限定されないが、スタティック・ランダム・アクセス・メモリ又は「SRAM」)を含む。
SoCはまた、ビデオ画像合成器プロセッサを含むことができ、このプロセッサは、いくつかの実施例では、少なくとも1つの魚眼カメラ・センサ又はワイド・ビュー・カメラ・センサからの画像データに対してレンズ歪み補正を実行するように構成されている。ビデオ画像合成器プロセッサはまた、少なくとも1つのカメラ・センサからの入力に対して時間的ノイズ低減を実行するように構成されてもよく、且つ/又は2つのカメラから受信した画像データに対してステレオ平行化を実行するように構成されてもよい。
特定の実施例では、SoCはまた、リアル・タイム・カメラ・エンジン、プロセッサ・コア、プロセッサ・コアに結合されたRAM、及び割り込みコントローラを含んでもよい。他の実施例では、それ自体が低電力モードのプロセッサ・コア、プロセッサ・コアに結合されたRAM、及び割り込みコントローラを備える、常時オン・センサ処理エンジンを含むことができる。
好ましい実施例では、常時オン・センサ処理エンジンは、車両の許可された操作者を認識するように訓練されたニューラル・ネットワークを備える。(例えば、限定することなく、ニューラル・ネットワークを使用する)常時オン・センサ処理エンジンは、ニューラル・ネットワークが、車両の許可された操作者が車両にいることを示すときに車両をロック解除し、ニューラル・ネットワークが車両の許可された操作者が車両を離れたことを示すときに車両をロックするように構成されていてもよい。
中央処理ユニット複合体とビデオ画像合成器プロセッサとを接続するシステム・コヒーレンシ・ファブリックも、1つ又は複数の実施例によれば、SoCに含めることができる。システム・コヒーレンシ・ファブリックは、システム内の非コヒーレンシ・クライアントとのソフトウェア・ベース・コヒーレンシを容易にするコヒーレンシ・キャッシュ・フラッシュ・エンジンを備える。システム・コヒーレンシ・ファブリックはまた、中央処理ユニット複合体とリアル・タイム・カメラ・エンジン、及び/又は中央処理ユニット複合体と常時オン・センサ処理エンジンとを接続するために使用することができる。
SoCの実施例のプログラマブル・ビジョン・アクセラレータは、少なくとも1つのプロセッサと、少なくとも1つのダイレクト・メモリ・アクセス・エンジンとを含むことができる。好ましい実施例では、プログラマブル・ビジョン・アクセラレータは、それ自体が、第1のベクトル・プロセッサと、第1のベクトル・プロセッサに関連づけられた第1の命令キャッシュと、第1のベクトル・プロセッサに関連づけられた第1のベクトル・メモリと、第1のベクトル・プロセッサに関連づけられた第1のダイレクト・メモリ・アクセス・エンジンと、第2のベクトル・プロセッサと、第2のベクトル・プロセッサに関連づけられた第2の命令キャッシュと、第2のベクトル・プロセッサに関連づけられた第2のベクトル・メモリと、第2のベクトル・プロセッサに関連づけられた第2のダイレクト・メモリ・アクセス・エンジンとを備えてもよい。
例示的な実施例では、第1のベクトル・プロセッサは、第1のコンピュータ・ビジョン・アルゴリズムを実行するように構成され、第2のベクトル・プロセッサは、第2のコンピュータ・ビジョン・アルゴリズムを実行するように構成される。第1のベクトル・プロセッサは、画像の1つの部分について第1のコンピュータ・ビジョン・アルゴリズムを実行するように構成されてもよく、第2のベクトル・プロセッサは、例えば、画像の異なる部分について第2のコンピュータ・ビジョン・アルゴリズムを実行するように構成されてもよい。
第1のベクトル・プロセッサは、例えば、デジタル信号プロセッサ(DSP)として、又はDSPとともに実装することができる。同様に、第2のベクトル・プロセッサもまた、DSPとして、又はDSPとともに実装することができる。さらなる実施例では、第1及び第2のベクトル・プロセッサの一方又は両方は、単一命令、複数データ(SIMD)及び/又は超長命令語(VLIW)DSPとして実装することができる。
プログラマブル・ビジョン・アクセラレータは、例えば、非限定的な実施例では、コンピュータ・ビジョンのために最適化されたデジタル信号プロセッサと、デジタル信号プロセッサに関連づけられたメモリと、デジタル信号プロセッサに関連づけられた命令キャッシュとをさらに含むことができる。
本技術の態様は、自律運転車両のためのシステム・オン・チップとして実装されてもよい。好ましい実施例では、SoCは、複数のCPUコアと専用L2キャッシュ・メモリとを備える中央処理ユニット複合体と、複数のGPUコアと専用L2キャッシュ・メモリとを備えるグラフィックス処理ユニットと、プログラマブル・ビジョン・アクセラレータと、ディープ・ラーニング・アクセラレータと、及びプログラマブル・ビジョン・アクセラレータ及びディープ・ラーニング・アクセラレータに接続された専用SRAMとを備える埋め込みハードウェア・アクセラレーション複合体とを含む。
この態様の1つ又は複数の実施例では、グラフィックス処理ユニットは、HBMメモリ、例えば(限定されない)HBM2メモリを含む。グラフィックス処理ユニットはまた、独立並列整数及び浮動小数点データ・パス並びに/又は独立スレッド・スケジューリング能力を含む複数のストリーミング・マイクロプロセッサを含むことができる。さらなる実施例によれば、グラフィックス処理ユニットは、中央処理ユニット複合体及びグラフィックス処理ユニットのための単一ユニファイド仮想アドレス空間を提供するユニファイド・メモリを含む。SoCの実施例はまた、中央処理ユニット複合体及びグラフィックス処理ユニットによって共有されるL3キャッシュを含んでもよい。
この態様の1つ又は複数の実施例では、プログラマブル・ビジョン・アクセラレータは、少なくとも1つのデジタル信号プロセッサ、及び少なくとも1つのダイレクト・メモリ・アクセス・エンジンを備える。プログラマブル・ビジョン・アクセラレータは、コンピュータ・ビジョンのために最適化されたデジタル信号プロセッサ、デジタル信号プロセッサに関連づけられたメモリ、及びデジタル信号プロセッサに関連づけられた命令キャッシュを含む(これらに限定されない)1つ又は複数の小構成要素を備えることができる。
本技術の別の態様は、自動運転車両を制御するためのコンピュータとして実装されてもよい。1つ又は複数の実施例では、コンピュータは、第1のシステム・オン・チップと、第2のシステム・オン・チップと、第1のシステム・オン・チップに結合された第1のディスクリート・グラフィックス処理ユニットと、第2のシステム・オン・チップに結合された第2のディスクリート・グラフィックス処理ユニットと、第1及び第2のシステム・オン・チップに結合されたマイクロコントローラとを含むように実施されてもよい。
好ましい実施例によれば、コンピュータはまた、6軸慣性測定ユニットを含んでもよく、例示的な非限定的な実施例では、車両の加速度及び回転に関する情報を第1のシステム・オン・チップに提供するために、第1のシステム・オン・チップに結合されてもよい。そのような実施例によれば、第1のシステム・オン・チップは、車両の加速度及び回転に関する情報に対してセンサ・フュージョンを実行するように構成されている。
第3の態様によるコンピュータは、第1のシステム・オン・チップ、第2のシステム・オン・チップ、及びマイクロコントローラを結合するためのスイッチをさらに含んでもよい。スイッチは、PCIeスイッチとして実装されてもよく、1つ又は複数の実施例では、ディスクリートCPU(例えば、限定されないが、X86 CPU)がスイッチに結合されてもよい。
第1のシステム・オン・チップ及び第2のシステム・オン・チップは、センサ・データを受信するための複数の入力ポートに結合されており、複数のディスクリート・グラフィックス処理ユニットが、それぞれシステム・オン・チップのうちの1つに結合されている。複数のシステム・オン・チップと複数のディスクリート・グラフィックス処理ユニットを相互接続するために、(第3の)システム・オン・チップを含むこともできる。実施例によれば、複数のシステム・オン・チップは、(例えば、限定されないが)集積回路間(IC)バスを介して、互いに結合されている。
実施例によれば、SoCのそれぞれは、共通プリント回路基板上に取り付けられ、同じハウジング内に配置される。ハウジングは、(例えば)ファンシンクと、システム・オン・チップからの熱を輸送するための流体チャネルとを備える冷却システムを含むことができる。代替的に、ハウジングは、ファンシンクと、システム・オン・チップからの熱を輸送するための流体チャネル及び/又は空気チャネルを備えるハイブリッド熱輸送モジュールとを含んでもよい。
好ましい実施例では、コンピュータは、複数(例えば、8個以上)のSoC及び同数のディスクリートGPUを含み、各GPUは、マイクロコントローラ及び対応するSoCに結合されている。SoCとディスクリートGPUとの間のポイント・ツー・ポイント通信は、ネットワーク・スイッチによって提供され得る。
様々なニューラル・ネットワークは、SoCのうちの1つ又は複数の上で実行することができる。例示的な非限定的な実施例では、異なるニューラル・ネットワークは、各SoC上で実行することができる。例えば、第1のシステム・オン・チップは歩行者検出のためのニューラル・ネットワークを実行することができ、第2のシステム・オン・チップは標識検出のためのニューラル・ネットワークを実行することができ、第3のシステム・オン・チップは距離推定のためのニューラル・ネットワークを実行することができ、第4のシステム・オン・チップは車線検出のためのニューラル・ネットワークを実行することができ、第5のシステム・オン・チップは衝突回避のためのニューラル・ネットワークを実行することができ、第6のシステム・オン・チップは現行占有率グリッドのためのニューラル・ネットワークを実行することができ、第7のシステム・オン・チップは予測占有率グリッドのためのニューラル・ネットワークを実行することができ、第8のシステム・オン・チップはステアリング制御のためのニューラル・ネットワークを実行することができる。
実施例によれば、1つ又は複数のニューラル・ネットワークは、目的のために、特定のデータ上で特別に訓練されることができる。例えば、距離推定のためのニューラル・ネットワークは、LIDARセンサによって生成されたデータのために、及びそのデータ上で、訓練されてもよい。
本技術の別の態様は、プライマリ・コンピュータと、セカンダリ・コンピュータと、第1のコンピュータ及び第2のコンピュータに結合された監視マイクロコントローラ・ユニット(MCU)と、第1のコンピュータ及び第2のコンピュータに結合された複数のカメラ・センサと、第1のコンピュータ及び第2のコンピュータのうちの少なくとも1つに結合された複数の車両モニタリング・センサと、を備える自動運転車両を制御するためのシステムに向けられている。さらなる実施例によれば、プライマリ・コンピュータは、カメラ・センサからの入力を受け取り、少なくとも1つの車両アクチュエータを制御するための少なくとも1つの信号を出力するように構成され、セカンダリ・コンピュータは、カメラ・センサからの入力を受け取り、少なくとも1つの車両アクチュエータを制御するための少なくとも1つの信号を出力するように構成されている。一方、監視MCU(1つ又は複数の実施例では、第3のコンピュータとして実装される)は、プライマリ・コンピュータからの出力とセカンダリ・コンピュータからの出力を比較するように構成され得る。
好ましい実施例によれば、システムはまた、プライマリ・コンピュータに電気的に結合され、ワイヤレス・ネットワークと通信するように構成された、ワイヤレス・デバイスを含むことができる。ワイヤレス・デバイスは、非限定的な実例として、少なくとも1つのニューラル・ネットワークに関する更新情報を受信するように、又は情報に応答して少なくとも1つのニューラル・ネットワークを更新するように、ワイヤレス・ネットワークと通信するように構成されていてもよい
プライマリ・コンピュータは、更新されたニューラル・ネットワークを現在のニューラル・ネットワークと並行して実行し、結果を比較することにより、更新されたニューラル・ネットワークをテスト及び検証するように構成することができ、更新されたニューラル・ネットワークが完全にダウンロードされ、テストされ、検証された後に、更新されたニューラル・ネットワークを実行するように構成することができる。ワイヤレス・ネットワークは、任意の数のワイヤレス・ネットワークのうちの1つであることができ、例示的な非限定的な実施例では、ワイヤレス・ネットワークは、LTEネットワーク、WCDMA(登録商標)ネットワーク、UMTSネットワーク、及び/又はCDMA2000ネットワークであることができる。
1つ又は複数の実施例によれば、システムはまた、ワイヤレス・ネットワークに結合された1つ又は複数のGPUサーバを備えるデータセンタを含み、以下に限定されないが、1つ又は複数の車両によって収集されワイヤレス・ネットワークを介して送信される訓練情報を受信し、その情報を使用して1つ又は複数のニューラル・ネットワークを訓練し、1つ又は複数の自動運転車両への送信のためにワイヤレス・ネットワークに訓練されたニューラル・ネットワークを提供するなどの多くの計算及び操作タスクを実行するように構成されている。
データセンタは、車両によって収集され、ワイヤレス・ネットワーク上で送信された画像及び対象物検出情報を受信し、画像情報を入力として使用してGPUサーバのうちの1つ又は複数の上でニューラル・ネットワークを実行し、GPUサーバのうちの1つ又は複数の上で実行されたニューラル・ネットワークの結果と車両から受信された対象物検出情報を比較し、比較の結果が信頼度しきい値を下回る場合に、乗員に指示して安全な駐車操作を実行するように車両に指示するワイヤレス制御信号を車両に送信するなどの他のタスクを実行するのに適し得る。
システムは、プライマリ・コンピュータに電気的に結合されたワイヤレス・デバイスを含むことができる。具体的には、ワイヤレス・デバイスは、ワイヤレス・ネットワークと通信するように、且つ/又はワイヤレス・ネットワークから更新された地図情報を受信するように構成することができる。更新された地図情報は、プライマリ・コンピュータによってメモリに記憶され得る。1つ又は複数の実施例では、この目的のために使用されるワイヤレス・ネットワークは、LTE、WCDMA(登録商標)、UMTS、CDMA2000ネットワークのうちの任意の1つ又は複数であることもできる。1つ又は複数の実施例では、ワイヤレス・デバイスはまた、別の車両に関してネットワークから協調適応走行制御(CACC)情報を受信するように構成することができる。
1つ又は複数の実施例では、システムは、プライマリ・コンピュータに結合されたHMIディスプレイを含み、システムが道路内の交通信号、交通標識、自転車、歩行者、又は障害物をいつ識別したかを示すように構成されている。HMIディスプレイは、システムが、識別された道路内の交通信号、交通標識、自転車、歩行者、又は障害物に応じて、適切な措置を取ることを示すようにさらに構成され得る。これら及び他の実施例によれば、監視MCUは、第1のコンピュータからの出力と第2のコンピュータからの出力とが一致しない場合に、アラーム信号を出力するようにさらに構成され得る。
さらなる別の態様によれば、自動運転車両を制御するためのシステムが提供され、このシステムは、プライマリ・コンピュータと、ADASシステムを備えるセカンダリ・コンピュータと、プライマリ・コンピュータ及びセカンダリ・コンピュータに結合された監視MCUと、プライマリ・コンピュータに結合された複数のカメラ・センサと、セカンダリ・コンピュータに結合された1つ又は複数のセカンダリ・センサと、プライマリ・コンピュータに結合された複数の車両モニタリング・センサとを含む。1つ又は複数の実施例によれば、プライマリ・コンピュータは、カメラ・センサからの入力を受け取り、少なくとも1つの車両アクチュエータを制御するための少なくとも1つの信号を出力するように構成され、セカンダリ・コンピュータは、セカンダリ・センサからの入力を受け取り、車両の動作に関する少なくとも1つの第2の信号を出力するように構成され、監視MCUは、プライマリ・コンピュータからの信号とセカンダリ・コンピュータからの信号を比較するように構成されている。
ADASシステムは、任意の数の供給メーカーからの1つ又は複数のシステム又はSoCを含んでもよい。ADASシステムは、フィールド・プログラマブル・ゲート・アレイ(FPGA)及びステレオ・ビデオ・カメラを用いて実装された前方クラッシュ警告ユニットを含んでもよい(例えば、これに限定されない)。前方クラッシュ警告ユニットは、FPGAと長距離レーダ・ユニット、及び/又はプロセッサと長距離レーダ・ユニットとして、他の好適な実施例で実装されてもよい。
ADASシステムは、フィールド・プログラマブル・ゲート・アレイ(FPGA)及びステレオ・ビデオ・カメラを用いて実装された車線逸脱警告ユニットを含んでもよい(例えば、これに限定されない)。車線逸脱警告ユニットは、FPGAと単眼カメラ・ユニット、及び/又はプロセッサと単眼カメラ・ユニットとして、他の好適な実施例で実装されてもよい。
ADASシステムは、フィールド・プログラマブル・ゲート・アレイ(FPGA)及びステレオ・ビデオ・カメラで実装された、自動緊急ブレーキ(AEB)ユニットを含んでもよい(例えば、これに限定されない)。AEBユニットは、FPGAと長距離レーダ・ユニット、プロセッサと長距離レーダ・ユニット、及び/又は特定用途向け集積回路(ASIC)と長距離レーダ・ユニットとして、他の好適な実施例で実装されてもよい。
ADASシステムは、(限定されないが)縦方向自動走行クルーズ制御(ACC)ユニット及び/又は横方向ACCユニットなどのACCユニットを含んでもよい(例えば、これに限定されない)。縦方向ACCユニットは、すぐに先行する車両までの距離及びエゴ車両の現在の速度に基づいて、自動運転車両の速度を調整するように構成されてもよい。1つ又は複数の実施例では、ACCユニット(複数可)は、前向きレーダ・センサで実装されてもよい。AEBユニットは、FPGAと前向きレーダ・センサ、プロセッサと前向きレーダ・センサ、及び/又はASICと前向きレーダ・センサとして、他の好適な実施例で実装されてもよい。1つ又は複数の実施例では、AEBユニットは、前向きカメラ、FPGAと前向きカメラ、プロセッサと前向きカメラ、及び/又はASICと前向きカメラを用いて実装されてもよい。前向きカメラは、特定の実施例では、ステレオ・カメラを含んでもよい。
ADASシステムは、後方交差交通警告ユニットを含んでもよい(例えば、これに限定されない)。1つ又は複数の実施例では、後方交差交通警告ユニットは、FPGAと1つ若しくは複数の後向きカメラ、及び/又はFPGA(又はプロセッサ)と後向き中距離レーダ・ユニットを用いて実装されてもよい。ADASシステムはまた、死角警告ユニットを含んでもよい。1つ又は複数の実施例では、死角警告ユニットは、FPGAと1つ若しくは複数のカメラ、及び/又はFPGA(又はプロセッサ)と1つ若しくは複数のレーダ・ユニットを用いて実装されてもよい。
いくつかの実施例では、ADASシステムは、少なくとも1つの動力駆動車軸の第1の角速度を判定するための第1の角速度検出器と、少なくとも1つの自由回転車軸の第2の角速度を検出するための第2の角速度検出器と、路面上での摩擦のレベルを判定するために第1の角速度と第2の角速度を比較するように構成されたプロセッサとを有する、1つ又は複数の実施例で実装された滑りやすい道路検出ユニットを含む。これらの実施例によれば、滑りやすい道路検出ユニットは、動力駆動車軸の第1の振動を判定するための第1の振動センサと、少なくとも1つの自由回転車軸の第2の振動を判定するための第2の振動センサと、をさらに備える。これらの実施例では、プロセッサは、第1の振動と第2の振動を比較して路面上での摩擦のレベルを判定するようにさらに構成されることができる。
これらのADAS実装のいずれかにおけるプロセッサは、それ自体がCPU、及び/又はASICを含むことができる。監視MCUは、好ましい実施例では、プライマリ・コンピュータからの出力とセカンダリ・コンピュータからの出力とが一致する場合には、第1の信号に従って車両の少なくとも1つのアクチュエータを制御し、且つ/又は、プライマリ・コンピュータからの出力とセカンダリ・コンピュータからの出力とが一致しない場合には、アラーム信号を出力するように、さらに構成されている。さらなる実施例では、監視MCUは、プライマリ・コンピュータからの出力とセカンダリ・コンピュータからの出力とが一致しない場合でも、MCUが、プライマリ・コンピュータの出力が信頼度しきい値を超えると判定した場合に、第1の信号に従って車両を制御するようにさらに構成されている。
1つ又は複数の実施例では、ADASシステムは、少なくとも1つのレーダ・センサを含み、監視MCUは、プライマリ・コンピュータとセカンダリ・コンピュータからの出力に基づいて、セカンダリ・コンピュータがフォールス・アラームを提供する状態を判定するように構成されたニューラル・ネットワークを実行する。MCUによって実行されるニューラル・ネットワークは、ADASシステム(複数可)によって引き起こされるフォールス・アラームの可能性を減少させるように訓練される。特定の実施例では、MCUは、金属製排水格子、金属製マンホール蓋、金属製ごみ箱などの対象物によって引き起こされるフォールス・アラームの可能性を低減させるように訓練されることができる。
本技術の次の態様は、自動運転車両を制御するためのシステムに向けられている。システムは、プライマリ・コンピュータと、ADAS SoCを含むセカンダリ・コンピュータと、第1のコンピュータ及び第2のコンピュータに結合された監視MCUと、第1のコンピュータに結合された第1の複数のカメラ・センサと、セカンダリ・コンピュータに結合された第2の複数のカメラ・センサと、第1のコンピュータに結合された複数の車両モニタリング・センサと、を備え得る。1つ又は複数の実施例では、第1のコンピュータは、カメラ・センサからの入力を受け取り、少なくとも1つの車両アクチュエータを制御するための少なくとも1つの信号を出力するように構成され、第2のコンピュータは、カメラ・センサからの入力を受け取り、少なくとも1つの車両アクチュエータを制御するための少なくとも1つの信号を出力するように構成され、監視MCUは、第1のコンピュータからの出力と第2のコンピュータからの出力を比較するように構成されている。
監視MCUは、好ましい実施例では、第1のコンピュータからの出力と第2のコンピュータからの出力とが一致しない場合に、アラーム信号を出力するようにさらに構成されている。
本技術の次の態様は、自動運転車両を制御するためのシステムに向けられている。1つ又は複数の実施例では、システムは、プライマリ・コンピュータと、少なくとも1つのCPU及び1つのGPUを備えるセカンダリ・コンピュータと、第1のコンピュータ及び第2のコンピュータに結合された監視MCUと、第1のコンピュータ及び第2のコンピュータに結合された複数のカメラ・センサと、第1のコンピュータに結合された複数の車両モニタリング・センサと、を含む。好ましい実施例によれば、第1のコンピュータは、カメラ・センサからの入力を受け取り、少なくとも1つの車両アクチュエータを制御するための少なくとも1つの信号を出力するように構成され、第2のコンピュータは、カメラ・センサからの入力を受け取り、少なくとも1つの車両アクチュエータを制御するための少なくとも1つの信号を出力するように構成され、監視MCUは、第1のコンピュータからの出力と第2のコンピュータからの出力を比較するように構成されている。
1つ又は複数の実施例では、監視MCUは、第1のコンピュータからの出力と第2のコンピュータからの出力とが一致しない場合にアラーム信号を出力するようにさらに構成されている。複数のカメラ・センサは、様々な機能及び/又は構成を有するカメラ・センサを含むことができる。例えば、カメラ・センサは、以下のリストから1つ又は複数のカメラを含むことができる。1)それぞれが約25度の視野を有する1つ又は複数の長距離カメラ、2)約50度の視野を有する1つ又は複数の短距離カメラ、3)約150度の視野を有する1つ又は複数の魚眼前方カメラ、4)1つ又は複数の広角カメラ、並びに/又は、5)1つ又は複数の赤外線カメラ。
実施例によれば、プライマリ・コンピュータは、歩行者検出を向上させるために、少なくとも1つの赤外線カメラからのデータと、少なくとも1つの他のカメラからのデータと、を融合させる。1つ又は複数の赤外線カメラからの少なくとも1つの赤外線カメラは、パッシブ赤外線システムを備えることができる。1つ又は複数の赤外線カメラからの別の赤外線カメラは、アクティブ赤外線システムを備えることができる。さらに別の赤外線カメラは、ゲーティングされた赤外線カメラであることができる。
例示的な非限定的な実装形態では、複数のカメラ・センサは、15度から45度の間の水平視野を有する少なくとも1つの長距離カメラと、45度から75度の間の水平視野を有する少なくとも1つの短距離カメラとを含む。
例示的な別の非限定的な実装形態では、第1の複数のカメラ・センサは、90度から180度の間の水平視野を有する少なくとも1つの魚眼前方カメラを含む。例示的な別の非限定的な実装形態では、第1の複数のカメラ・センサは、少なくとも4つの広角カメラを含む。例示的な別の非限定的な実装形態では、第1の複数のカメラ・センサは、少なくとも1つの赤外線カメラを含む。例示的な別の非限定的な実装形態では、少なくとも1つの赤外線カメラは、パッシブ赤外線システム、及び/又はアクティブ赤外線システム、及び/又はゲーティングされた赤外線システムを備える。これらの実装形態のうちの1つ又は複数によれば、プライマリ・コンピュータは、歩行者検出を向上させるために、少なくとも1つの赤外線カメラからのデータと、少なくとも1つの他のカメラからのデータと、を融合させる。
例示的な別の非限定的な実装形態では、複数のカメラ・センサは、少なくとも4つの赤外線カメラを含む。例示的な別の非限定的な実装形態では、システムは、第1のコンピュータに結合されたLIDARセンサを含む。LIDARセンサは、(以下に限定されないが)フラッシュLIDARセンサ、及び/若しくはソリッド・ステートLIDARセンサであることができ、且つ/又は45度から135度の間の水平視野を有する自動運転車両の前部に取り付けられる。
例示的な非限定的な実装形態では、自動運転車両を制御するためのシステムは、車両の周囲の様々な位置に配置された複数のセンサを含む。例示的な構成は、車両の前部に配置された第1のフラッシュLIDARセンサと、車両の前部に配置された第2のフラッシュLIDARセンサと、車両の前部に配置された第3のフラッシュLIDARセンサと、車両の後部に配置された第4のフラッシュLIDARセンサとを含むことができる。そのような実施例によれば、第1のコンピュータは、フラッシュLIDARセンサから情報を受け取るように構成されている。第1のコンピュータは、他のセンサに結合され、他のセンサから情報を受信するように構成され得る。例示的な構成は、例えば、第1のコンピュータに結合されたレーダ・センサ、及び/又は第1のコンピュータに結合された超音波(Ultrasonic)/超音波(Ultrasound)センサ、及び/又はレーダ・センサ、LIDARセンサ、及び超音波センサからなる群から選択された第1のコンピュータに結合された少なくとも1つのセンサを含むことができる。
好ましい実施例では、システムは、第1のコンピュータ上の少なくとも1つのディープ・ラーニング・アクセラレータ上で実行するニューラル・ネットワークを含むことができる。1つ又は複数の実施例では、第1のコンピュータ上の少なくとも1つのディープ・ラーニング・アクセラレータ上で実行するニューラル・ネットワークは、畳み込みニューラル・ネットワーク(CNN)を備える。例示的な別の実施例では、CNNは、領域ベース畳み込みニューラル・ネットワークを備える。CNNは、特定の対象物検出及び/又は分類タスクのために訓練され得る。例示的な実装形態では、対象物検出、及び/又は交通標識検出、歩行者検出、若しくは車両検出のうちの少なくとも1つのために訓練されたCNNを含む。
さらなる実施例では、CNNは、カメラのレンズが障害物によって妨害されている状態を検出するように訓練され得る。CNNのレンズ妨害状態の検出に応答して、プライマリ・コンピュータは、レンズ清掃ルーチンを実行するための制御信号を送る。そのような実施例によれば、システムは、レンズ清掃ルーチンを実行するプライマリ・コンピュータによって指示された場合に、1つ若しくは複数のレンズ上で圧縮空気のストリームを提供するためのノズル、及び/又はレンズ清掃ルーチンを実行するプライマリ・コンピュータによって指示された場合に、結露、霜、若しくは氷を減少させるためにレンズを加熱するためのヒータ、のうちの1つ又は複数を含むことができる。
好ましい実施例では、システムによって実行される1つ又は複数のCNNもまた、カメラの故障を検出するように訓練され得る。
好ましい実施例では、システムは、特定のタスクを実行するために、第1のコンピュータ上の少なくとも1つのプログラマブル・ビジョン・アクセラレータ上で実行されるコンピュータ・ビジョン・アルゴリズムを含むことができる。例えば、コンピュータ・ビジョン・アルゴリズムは、交通標識検出、距離推定、又は車両検出のうちの少なくとも1つを実行するために実行することができる。
システムの1つ又は複数の実施例は、オーディオ信号を処理するためのデジタル信号プロセッサと内部RAMとからなるオーディオ処理エンジンを含むことができる。そのような実施例によれば、第1のコンピュータは、緊急車両サイレンを識別するように訓練されたCNNを実行することができる。第1のコンピュータは、そのような緊急車両サイレンを識別すると、緊急車両安全ルーチンを実行するように構成することができる。緊急車両安全ルーチンは、例えば、緊急車両が通過するまで、車両を遅くすること、道路の脇に寄せること、車両を駐車すること、車両をアイドリングすることなどの1つ又は複数の操作を含むことができる。システムは、1つ又は複数の超音波センサを含むことができる。1つ又は複数の超音波センサからの情報は、緊急車両安全ルーチンを実行するとき、第1のコンピュータによって使用され得る。第1のコンピュータに結合されたディスクリートCPU、例えばX86 CPUは、緊急車両安全ルーチンを実行するように構成することができる。
本技術の別の態様は、ASIL D機能安全性評価を有する自動運転車両を制御するためのシステムに向けられている。1つ又は複数の実施例では、システムは、(例えば、限定されず)少なくともASIL-B機能安全性評価を有する前方衝突警告システムである、自動運転車両を制御するためのコンピュータを備えることができる。そのような実施例によれば、自動運転車両を制御するためのコンピュータは、(一例として、限定されないが)少なくともASIL-C機能安全性評価を有してもよい。特定の実施例によれば、自動運転車両は、牽引車及びトレーラを含む自律運転トラックのうちの任意の1つ又は複数を含んでもよい。1つ又は複数の実施例では、トレーラは、複数の重量重心センサを備える。トレーラはまた、牽引車に電気的に結合することができる。
さらなる実施例では、トレーラに加えられた横風を検出するために、トレーラに関連づけられた少なくとも1つの突風センサを含むことができる。突風センサは、例えば、トレーラの一方の側にピトー管を有する第1のセンサと、トレーラの他方の側にピトー管を有する第2のセンサとを用いて実装されてもよい。第1及び第2のセンサは、プライマリ・コンピュータに電気的に結合されてもよく、横方向の突風を識別するために、プライマリ・コンピュータは、第1のセンサからの結果と第2のセンサからの結果を比較するように構成されている。
他の実施例では、トラックの加速、ブレーキ、及びステアリングを制御するための複数の車両アクチュエータを含み、プライマリ・コンピュータは、比較を使用しての車両アクチュエータのうちの1つ又は複数を制御するように構成されている。複数の重量重心センサは、トレーラの重量及びバランスを測定するために、好ましい実施例に配置することができ、トレーラの重量及び重心に関する情報をプライマリ・コンピュータに提供するためにプライマリ・コンピュータに電気的に結合され、プライマリ・コンピュータは、突風を識別するために、第1のセンサからの結果と第2のセンサからの結果の比較を検証するために使用される。
好ましい実施例によれば、自動運転車両(例えば、自律運転トラック)は、トレーラのピッチ、ロール、及びヨーのうちの少なくとも1つを検出するための、トレーラに関連づけられた複数の慣性センサを含むことができる。システム内のMCUは、重量重心センサからの情報を使用して、トラックの速度、加速度、又は減速度のうちの少なくとも1つを制限するように構成される。
好ましい実施例によれば、自動運転車両は、トレーラ内に配置され、システムのSoCに電気的に結合された、カメラ・センサを含むことができる。他のセンサは、トレーラ内の煙検出器を含むことができる。SoCは、トレーラ内の火災を示す煙検出器からの信号に応答して、火災対応プロトコルを実行するように構成されることができる。火災応答プロトコルは、火災の存在を示すワイヤレス信号を送ること、トラックの所在地を示すワイヤレス信号を送ること、及びトラックの駐車操作を実行すること、などの任意の1つ又は複数の動作を含み得る。
本技術の別の態様によれば、第1の制御可能な車軸と、第1の制御可能な車軸を制御するための第1のコントローラであって、第1のSoCを備える第1のコントローラと、第2の制御可能な車軸と、第2の制御可能な車軸を制御するための第2のコントローラであって、第2のSoCを備える第2のコントローラと、を含む自律運転トラックが提供される。1つ又は複数の実施例では、第2のコントローラは、ディープ・ラーニング・アクセラレータを備える。1つ又は複数の実施例では、自律運転トラックは、車両の前面に設置された少なくとも1つの赤外線カメラを含む。赤外線カメラは、例えば、ズーム機能を含むことができる。自律運転トラックは、車両の前面、後面、及び側面に設置された複数の赤外線カメラ(ズーム機能を含むことができる任意のもの)をさらに備えることができる。
本技術のさらに別の態様は、車両本体と、複数の乗客のための車両本体内の座席エリアと、車両を制御するためのコンピュータと、座席エリアをモニタするための車両本体内の少なくとも1つのカメラであって、コンピュータに電気的に結合されたカメラと、安全状態を識別するように訓練され、コンピュータ上で実行される少なくとも1つのニューラル・ネットワークと、セルラー・ネットワークと通信するためのワイヤレス・デバイスと、を備える自律運転複数乗客車両を含んでいる。実施例によれば、コンピュータは、LTEネットワーク及びWCDMA(登録商標)ネットワークのうちの任意の1つ又は複数などのワイヤレス(例えば、セルラー)・ネットワークを介して安全状態の通知を送るように構成されることができる。
本技術の別の態様は、車両本体と、車両を制御するためのコンピュータと、車両本体の周りに配置された複数のカメラであって、コンピュータに電気的に結合されたカメラと、コンピュータ上で実行する少なくとも1つのニューラル・ネットワークであって、少なくとも1つの他の車両を位置特定するように訓練されたニューラル・ネットワークと、コンピュータに電気的に結合されたワイヤレス・デバイスであって、ワイヤレス・ネットワークと通信するためのワイヤレス・デバイスと、を備える自己運転パトロール・カーに向けられている。1つ又は複数の実施例によれば、コンピュータは、LTEネットワーク及びWCDMA(登録商標)ネットワークのうちのいずれか1つ又は複数などの、ワイヤレス(例えば、セルラー)・ネットワークを介して、少なくとも1つの他の車両の存在及び所在地の通知を送るように構成されている。
少なくとも1つの実施例は、車両の前面に設置された少なくとも1つの赤外線カメラを含む。赤外線カメラは、特定の実施例ではズーム機能を含む。車両の前面、後面、及び側面に設置された複数の赤外線カメラも含むことができ、これらのカメラのそれぞれはズーム機能を有することができるが、ズーム機能を有することは必須ではない。1つ又は複数の実施例では、ニューラル・ネットワークは、推論タスク及び他の処理タスクを実行するように構成されることができる。これらのタスクは、例えば、限定されないが、ナンバー・プレートを識別することによって少なくとも1つの他の車両を識別すること、ナンバー・プレートの一部分並びに他の車両のメーカー及びモデルを識別することによって少なくとも1つの他の車両を識別することと、他の車両の外観を識別することによって少なくとも1つの他の車両を識別することと、を含み得る。
好ましい実施例では、ニューラル・ネットワークは、コンピュータによってディープ・ラーニング・アクセラレータ上で実行されることができる。さらなる実施例では、コンピュータは、ニューラル・ネットワークをGPU上で実行する。
本技術の別の態様は、車両本体と、車両を制御するためのコンピュータと、車両本体の周りに配置された複数のカメラであって、コンピュータに電気的に結合されたカメラと、コンピュータ上で実行する少なくとも1つのニューラル・ネットワークであって、少なくとも1つの安全状態を識別するように訓練されたニューラル・ネットワークと、セルラー・ネットワークと通信するためのワイヤレス・デバイスと、を備える自律運転パトロール・カーを含む。好ましい実施例では、コンピュータは、セルラー・ネットワークを介して、少なくとも1つの安全状態の存在及び所在地の通知を送るように構成されている。安全状態は、限定されないが、火災、自動車事故、負傷者、及び/又は人々の間の物理的衝突を含んでもよい。
1つ又は複数の実施例では、コンピュータは、ディープ・ラーニング・アクセラレータ及びGPUの少なくとも一方でニューラル・ネットワークを実行する。1つ又は複数の実施例では、ディープ・ラーニング・アクセラレータ及びGPUの一方又は両方はSoC上に備えられる。
本技術のさらなる態様は、自動運転車両を制御するための方法に向けられており、その方法は、システム・オン・チップ上のディープ・ラーニング・アクセラレータ上で第1のニューラル・ネットワークを実行することと、システム・オン・チップ上のGPU上で第2のニューラル・ネットワークを実行することと、システム・オン・チップ上のプログラマブル・ビジョン・アクセラレータ上で第1のコンピュータ・ビジョン・アルゴリズムを実行することと、第1のニューラル・ネットワーク、第2のニューラル・ネットワーク、及びコンピュータ・ビジョン・アルゴリズムの出力に応答して、自動運転車両上の1つ又は複数のアクチュエータを制御することと、を含む。
1つ又は複数の実施例によれば、自動運転車両を制御することはまた、少なくとも1つの動力駆動車軸の第1の角速度を検出することと、少なくとも1つの自由回転車軸の第2の角速度を検出することと、路面上での摩擦のレベルを判定するために第1の角速度と第2の角速度を比較ことと、第1のニューラル・ネットワーク、第2のニューラル・ネットワーク、コンピュータ・ビジョン・アルゴリズム、及び第1の角速度と第2の角速度の比較の出力に応答して、自動運転車両上の1つ又は複数のアクチュエータを制御することと、を含むことができる。
1つ又は複数の実施例によれば、自動運転車両を制御することは、動力駆動車軸の第1の振動を検出することと、少なくとも1つの自由回転車軸の第2の振動を判定するために第2の振動センサを検出することと、路面上の摩擦のレベルを判定するために第1の振動と第2の振動を比較することと、を含むこともできる。
例示的な実施例によれば、自動運転車両を制御することは、第1のニューラル・ネットワーク及び第2のニューラル・ネットワークのいずれか一方又は両方への入力として、少なくとも1つのカメラ・センサからの画像情報を提供することも含むことができる。例示的な実施例によれば、自動運転車両を制御することは、第1のニューラル・ネットワーク及び第2のニューラル・ネットワークの一方又は両方への入力として、少なくとも1つの赤外線カメラ・センサからの画像情報を提供することも含むことができる。
別の例示的な実施例によれば、自動運転車両を制御することは、第1のニューラル・ネットワーク及び第2のニューラル・ネットワークのいずれか一方又は両方への入力として、少なくとも1つの単眼カメラ・センサからの画像情報を提供することも含むことができる。別の例示的な実施例によれば、自動運転車両を制御することは、第1のニューラル・ネットワーク及び第2のニューラル・ネットワークの一方又は両方への入力として、少なくとも1つのステレオ・カメラ・センサからの画像情報を提供することも含むことができる。
例示的な別の実施例によれば、自動運転車両を制御することは、第1のコンピュータ・ビジョン・アルゴリズムへの入力として、レーダ・センサ、LIDARセンサ、及び超音波センサのうちの少なくとも1つ又は複数からの情報を提供することを含むこともできる。1つ又は複数の実施例では、LIDARセンサは、フラッシュLIDARセンサ及びソリッド・ステートLIDARセンサのうちの1つ又は複数として実装されることができる。
例示的な別の実施例によれば、自動運転車両を制御することは、第2のシステム・オン・チップ上のディープ・ラーニング・アクセラレータ上で第3のニューラル・ネットワークを実行することと、第2のシステム・オン・チップ上のGPU上で第4のニューラル・ネットワークを実行することと、第2のシステム・オン・チップ上のプログラマブル・ビジョン・アクセラレータ上で第2のコンピュータ・ビジョン・アルゴリズムを実行することと、第1のシステム・オン・チップの出力と第2のシステム・オン・チップの出力を比較することと、比較に応答して自動運転車両上の1つ又は複数のアクチュエータを制御することと、を含むこともできる。
例示的な別の実施例によれば、自動運転車両を制御することは、第1のニューラル・ネットワークへの入力として少なくとも1つのカメラ・センサからの画像情報を提供することと、第3のニューラル・ネットワークへの入力として少なくとも1つのカメラ・センサからの画像情報を提供することと、を含むこともできる。
例示的な別の実施例によれば、自動運転車両を制御することは、第2のニューラル・ネットワークへの入力として少なくとも1つのカメラ・センサからの画像情報を提供することと、第4のニューラル・ネットワークへの入力として少なくとも1つのカメラ・センサからの画像情報を提供することと、を含むこともできる。
例示的な別の実施例によれば、自動運転車両を制御することは、第1のニューラル・ネットワークへの入力として少なくとも1つの赤外線カメラ・センサからの画像情報を提供することと、第3のニューラル・ネットワークへの入力として少なくとも1つのカメラ・センサからの画像情報を提供することと、を含むこともできる。
例示的な別の実施例によれば、自動運転車両を制御することは、第2のニューラル・ネットワークへの入力として少なくとも1つの赤外線カメラ・センサからの画像情報を提供することと、第4のニューラル・ネットワークへの入力として少なくとも1つのカメラ・センサからの画像情報を提供することと、を含むこともできる。
例示的な別の実施例によれば、自動運転車両を制御することは、第1のニューラル・ネットワークへの入力として少なくとも1つのステレオ・カメラ・センサからの画像情報を提供することと、第3のニューラル・ネットワークへの入力として少なくとも1つのLIDARセンサからの情報を提供することと、を含むこともできる。
例示的な別の実施例によれば、自動運転車両を制御することは、第2のニューラル・ネットワークへの入力として少なくとも1つの単眼カメラ・センサからの画像情報を提供することと、第4のニューラル・ネットワークへの入力として少なくとも1つのLIDAセンサからの情報を提供することと、を含むこともできる。
例示的な別の実施例によれば、自動運転車両を制御することは、第1のニューラル・ネットワークへの入力として少なくとも1つのステレオ・カメラ・センサからの画像情報を提供することと、第3のニューラル・ネットワークへの入力として少なくとも1つの単眼カメラ・センサからの画像情報を提供することと、を含むこともできる。
例示的な別の実施例によれば、自動運転車両を制御することは、第2のニューラル・ネットワークへの入力として少なくとも1つのステレオ・カメラ・センサからの画像情報を提供することと、第4のニューラル・ネットワークへの入力として少なくとも1つの単眼カメラ・センサからの画像情報を提供することと、を含むこともできる。
例示的な別の実施例によれば、自動運転車両を制御することは、第1のコンピュータ・ビジョン・アルゴリズムへの入力として少なくとも1つのレーダ・センサからの情報を提供することと、第2のコンピュータ・ビジョン・アルゴリズムへの入力として少なくとも1つのレーダ・センサからの情報を提供することと、を含むこともできる。
例示的な別の実施例によれば、自動運転車両を制御することは、第1のコンピュータ・ビジョン・アルゴリズムへの入力として少なくとも1つのLIDARセンサからの情報を提供することと、第2のコンピュータ・ビジョン・アルゴリズムへの入力として少なくとも1つのLIDARセンサからの情報を提供することと、を含むこともできる。
例示的な別の実施例によれば、自動運転車両を制御することは、第1のコンピュータ・ビジョン・アルゴリズムへの入力として少なくとも1つの超音波センサからの情報を提供することと、第2のコンピュータ・ビジョン・アルゴリズムへの入力として少なくとも1つの超音波センサからの情報を提供することと、を含むこともできる。
例示的な別の実施例によれば、自動運転車両を制御することは、第1のコンピュータ・ビジョン・アルゴリズムへの入力として少なくとも1つのフラッシュLIDARセンサからの情報を提供することと、第2のコンピュータ・ビジョン・アルゴリズムへの入力として少なくとも1つのフラッシュLIDARセンサからの情報を提供することと、を含むこともできる。
本技術の1つの態様は、自動運転車両を制御するための方法に向けられている。この方法は、システム・オン・チップ上のディープ・ラーニング・アクセラレータ上で第1の複数のニューラル・ネットワークを実行することと、システム・オン・チップ上のGPU上で第2の複数のニューラル・ネットワークを実行することと、システム・オン・チップ上のプログラマブル・ビジョン・アクセラレータ上で複数のコンピュータ・ビジョン・アルゴリズムを実行することと、第1の複数のニューラル・ネットワークの出力、第2の複数のニューラル・ネットワークの出力、及び複数のコンピュータ・ビジョン・アルゴリズムの出力に応答して自動運転車両上の1つ又は複数のアクチュエータを制御することと、を含むことができる。
例示的な実施例によれば、自動運転車両を制御することは、第2のシステム・オン・チップ上のディープ・ラーニング・アクセラレータ上で第3の複数のニューラル・ネットワークを実行することと、第2のシステム・オン・チップ上のGPU上で第4の複数のニューラル・ネットワークを実行することと、第2のシステム・オン・チップ上のプログラマブル・ビジョン・アクセラレータ上で第2の複数のコンピュータ・ビジョン・アルゴリズムを実行することと、第1のシステム・オン・チップの出力と第2のシステム・オン・チップの出力を比較することと、比較に応答して自動運転車両上の1つ又は複数のアクチュエータを制御することと、を含むこともできる。
例示的な別の実施例によれば、自動運転車両を制御することは、プライマリ・コンピュータに1つ又は複数のカメラ・センサからの入力を提供することと、プライマリ・コンピュータ上で第1のニューラル・ネットワークを実行することと、第1のコンピュータ内で、少なくとも1つの車両アクチュエータを制御するための少なくとも1つの第1の信号を生成することと、セカンダリ・コンピュータに1つ又は複数のカメラ・センサからの入力を提供することと、セカンダリ・コンピュータ上で第2のCNNを実行することと、第2のコンピュータ内で、少なくとも1つの車両アクチュエータを制御するための少なくとも1つの第2の信号を生成することと、第1の信号及び第2の信号を監視MCUに提供することと、MCU内で、第1の信号及び第2の信号を比較することと、を含むこともできる。1つ又は複数の実施例では、MCUは、第1の信号と第2の信号とが一致しない場合にアラーム信号を生成するように構成されることができる。
本技術の別の態様は、自動運転車両を制御するための方法に向けられており、この方法は、プライマリ・コンピュータに1つ又は複数のカメラ・センサからの入力を提供することと、カメラ・センサからの入力に応答する少なくとも1つの第1の信号を生成するためにプライマリ・コンピュータ上で第1のニューラル・ネットワークを実行することと、第2の信号を生成するためにプログラマブル・ビジョン・アクセラレータ上でコンピュータ・ビジョン・アルゴリズムを実行することと、第1の信号第2の信号を使用して、少なくとも1つの車両アクチュエータを制御することと、を含む。
本技術の別の態様は、自動運転車両を制御するための方法に向けられており、その方法は、少なくとも1つの第1の信号を生成するために、第1のシステム・オン・チップ上で歩行者検出のためのニューラル・ネットワークを実行することと、少なくとも1つの第2の信号を生成するために、第2のシステム・オン・チップ上で標識検出のためのニューラル・ネットワークを実行することと、少なくとも1つの第3の信号を生成するために、第3のシステム・オン・チップ上で距離推定のためのニューラル・ネットワークを実行することと、少なくとも1つの第4の信号を生成するために、第4のシステム・オン・チップ上で車線検出のためのニューラル・ネットワークを実行することと、少なくとも1つの第5の信号を生成するために、第5のシステム・オン・チップ上で衝突回避のためのニューラル・ネットワークを実行することと、少なくとも1つの第6の信号を生成するために、第6のシステム・オン・チップ上で現行占有率グリッドのためのニューラル・ネットワークを実行することと、少なくとも1つの第7の第1の信号を生成するために、第7のシステム・オン・チップ上で予測占有率グリッドのためのニューラル・ネットワークを実行して少なくとも1つの第7の第1の信号を生成することと、少なくとも1つの第8の信号を生成するために、第8のシステム・オン・チップ上でステアリング制御のためのニューラル・ネットワークを実行することと、少なくとも1つの第9の信号を生成するために、中央処理ユニット上でコンピュータ・ビジョン・アルゴリズムを実行することと、その信号を使用して、少なくとも1つの車両アクチュエータを制御することと、を含む。
別の態様は、自動運転車両を制御するための方法を提供し、その方法は、プライマリ・コンピュータに1つ又は複数のカメラ・センサからの入力を提供することと、入力に応答して第1の制御信号を生成することと、自動走行制御ユニットから第2の信号を受け取ることと、第1の制御信号が第2の信号と衝突するかどうかを評価することと、評価に応答して1つ又は複数の車両アクチュエータを制御することと、を含む。好ましい実施例では、自動走行制御ユニットは、縦方向自動走行制御ユニット及び横方向自動走行制御ユニットのいずれか一方又は両方であり得る。自動走行制御ユニットはまた、前向きレーダ・センサを備えることができる。
本技術の1つ又は複数の態様は、自動運転車両を制御するための方法を使用して実装されることができ、その方法は、プライマリ・コンピュータに、1つ又は複数のカメラ・センサからの入力を提供することと、入力に応答して第1の制御信号を生成することと、1)自動緊急ブレーキ・ユニット、2)前方クラッシュ警告ユニット、3)車線逸脱警告ユニット、4)衝突警告ユニット、及び5)死角警告ユニットのうちの1つ又は複数から第2の信号を受け取ることと、第1の制御信号が第2の信号と衝突するかどうかを評価し、評価に応答して1つ又は複数の車両アクチュエータを制御することと、を含む。この態様の1つ又は複数の実施例では、自動緊急ブレーキ・ユニット、前方クラッシュ警告ユニット、車線逸脱警告ユニット、衝突警告ユニット、及び死角警告ユニットの各々は、FPGA、並びにステレオ・ビデオ・カメラ及びモノ・カメラのうちの1つ又は複数を備えることができる。
さらに例示的な別の態様は、自動運転車両を制御するための方法を提供し、その方法は、GPU上で畳み込みニューラル・ネットワークを実行するプライマリ・コンピュータに、1つ又は複数のカメラ・センサからの入力を提供することと、入力に応答して第1の制御信号を生成することと、自動走行制御ユニットから第2の信号を受け取ることと、第1の制御信号が第2の信号と衝突するかどうかを評価することと、評価に応答して1つ又は複数の車両アクチュエータを制御することと、を含む。
本技術の態様は、自動運転車両を制御する方法も含むことができ、その方法は、GPU上で畳み込みニューラル・ネットワークを実行するプライマリ・コンピュータに、1つ又は複数のカメラ・センサからの入力を提供し、入力に応答して第1の制御信号を生成すること、1)自動緊急ブレーキ・ユニット、2)前方クラッシュ警告ユニット、3)車線逸脱警告、4)衝突警告ユニット、及び5)死角警告ユニットのうちの1つ又は複数から第2の信号を受け取ること、第1の制御信号が第2の信号と衝突するかどうかを評価すること、及び、評価に応答して1つ又は複数の車両アクチュエータを制御すること、を含む。これらの態様の1つ又は複数の実施例では、自動緊急ブレーキ・ユニットは、FPGA及びステレオ・ビデオ・カメラを備える。この態様の1つ又は複数の実施例では、自動緊急ブレーキ・ユニット、前方クラッシュ警告ユニット、車線逸脱警告ユニット、衝突警告ユニット、及び死角警告ユニットの各々は、FPGA、並びにステレオ・ビデオ・カメラ及びモノ・カメラのうちの1つ又は複数を備えることができる。
例示的な態様には、自動運転車両を制御する方法が含まれており、その方法は、DLA上で畳み込みニューラル・ネットワークを実行するプライマリ・コンピュータに1つ又は複数のカメラ・センサからの入力を提供することと、入力に応答して第1の制御信号を生成することと、1)自動緊急ブレーキ・ユニット、2)前方クラッシュ警告ユニット、3)車線逸脱警告ユニット、4)衝突警告ユニット、及び5)死角警告ユニットのうちの1つ又は複数から第2の信号を受け取ることと、第1の制御信号が第2の信号と衝突するかどうかを評価することと、評価に応答して1つ又は複数の車両アクチュエータを制御することと、を含む。この態様の1つ又は複数の実施例では、自動緊急ブレーキ・ユニット、前方クラッシュ警告ユニット、車線逸脱警告ユニット、衝突警告ユニット、及び死角警告ユニットの各々は、FPGA、並びにステレオ・ビデオ・カメラ及びモノ・カメラのうちの1つ又は複数を備えることができる。
本技術の1つ又は複数の態様は、自動運転車両を制御するための方法に向けられてもよく、その方法は、GPUデータセンタ内の第1のニューラル・ネットワークを訓練することと、自動運転車両に第1のニューラル・ネットワークを提供することと、GPUデータセンタ内の第2のニューラル・ネットワークを訓練することと、自動運転車両に第2のニューラル・ネットワークを提供することと、自動運転車両内のメモリに第1のニューラル・ネットワークを記憶することと、自動運転車両内のメモリに第2のニューラル・ネットワークを記憶することと、自動運転車両の前面に配置された少なくとも1つのステレオ・カメラ・センサから画像情報を受け取ることと、自動運転車両の前面に配置された少なくとも1つのLIDARセンサからLIDAR情報を受け取ることと、画像情報を入力として使用して、自動運転車両内のプライマリ・コンピュータ上で第1のニューラル・ネットワークを実行することと、LIDAR情報を入力として使用して、自動運転車両内のプライマリ・コンピュータ上で第2のニューラル・ネットワークを実行することと、第1及び第2のニューラル・ネットワークの出力に応答して、自動運転車両を制御することと、を含む。
1つ又は複数の実施例では、方法は、(以下に限定されないが)LTEネットワーク、WCDMA(登録商標)ネットワーク、UMTSネットワーク、及びCDMA2000ネットワークなどのワイヤレス・ネットワークを介して、第1のニューラル・ネットワークの更新されたインスタンスを受信することをさらに含むことができる。
1つ又は複数の実施例では、方法はまた、画像情報を前方クラッシュ警告システムに適用することと、プライマリ・コンピュータの結果と前方クラッシュ警告システムの結果を比較することと、を含むことができる。第1のニューラル・ネットワーク及び第2のニューラル・ネットワークの1つ又は両方は、実施例によれば、ディープ・ラーニング・アクセラレータ及び/又はGPU上で実行されてもよい。
例示的な態様は、牽引車とトレーラを備える自動運転トラックを制御するための方法を含むことができ、その方法は、GPU上で少なくとも1つの畳み込みニューラル・ネットワークを実行するプライマリ・コンピュータに、牽引車上に配置された1つ又は複数のカメラ・センサからの入力を提供することと、入力に応答して少なくとも1つの第1の信号を生成することと、トレーラ上に配置された突風センサから第2の信号を受け取ることと、第2の信号が突風状態を識別するかどうかを評価することと、第1の信号及び評価に応答して1つ又は複数の車両アクチュエータを制御することと、を含む。
例示的な別の態様は、牽引車及びトレーラを備える自動運転トラックを制御するための方法として実装されることができ、この方法は、DLA上で実行する少なくとも1つの畳み込みニューラル・ネットワークを実行するプライマリ・コンピュータに、牽引車上に配置された1つ又は複数のカメラ・センサからの入力を提供することと、入力に応答して少なくとも1つの第1の信号を生成することと、トレーラ上に配置された少なくとも1つの突風センサから第2の信号を受け取ることと、第2の信号が突風状態を識別するかどうかを評価することと、第1の信号及び評価に応答して1つ又は複数の車両アクチュエータを制御することと、を含む。
別の態様は、自律運転パトカーを制御するための方法を含むことができ、その方法は、プライマリ・コンピュータに、1つ又は複数のカメラ・センサからの入力を提供することと、プライマリ・コンピュータ上のGPUの一方又は両方上で第1のニューラル・ネットワークを実行することと、セカンダリ・コンピュータに1つ又は複数のカメラ・センサからの入力を提供して、少なくとも1つの車両アクチュエータを制御するために少なくとも1つの第1の信号を第1のコンピュータで生成することと、画像情報から少なくとも1つの他の車両を識別するように訓練された第2のCNNを(セカンダリ・コンピュータ上で)実行することと、第2のコンピュータ内で、少なくとも1つの他の車両の存在又は不在を識別する少なくとも1つの第2の信号を生成することと、ワイヤレス・ネットワークを介して少なくとも1つの他の車両の存在及び所在地の通知を送ることと、を含む。
例示的な別の態様は、自律運転パトロール・カーを制御するための方法として実装されることができ、この方法は、CPU、GPU及び1つ又は複数のハードウェア・アクセラレータを備えるプライマリ・コンピュータに、第1の画像情報を提供することと、第1の画像情報を入力として用いて、プライマリ・コンピュータ上のGPU、及び1つ又は複数のハードウェア・アクセラレータの少なくとも1つの上で第1のニューラル・ネットワークを実行することと、プライマリ・コンピュータ内で、少なくとも1つの車両アクチュエータを制御するための少なくとも1つの第1の信号を生成することと、CPU、GPU、及び1つ又は複数のハードウェア・アクセラレータを備えるセカンダリ・コンピュータに、第2の画像情報を提供することと、第2の画像情報を入力として用いて、セカンダリ・コンピュータ上のGPU、及び1つ又は複数のハードウェア・アクセラレータの少なくとも1つの上で第2のニューラル・ネットワークを実行することと、セカンダリ・コンピュータ内で、少なくとも1つの他の車両の存在又は不在を示す少なくとも1つの第2の信号を生成することと、ワイヤレス・ネットワークを介して、少なくとも1つの他の車両の存在及び所在地の通知を送信することと、を含む。ワイヤレス・ネットワークは、LTEネットワーク、WCDMA(登録商標)ネットワーク、UMTSネットワーク、及びCDMA2000ネットワークを含むことができる(これに限定されない)。
別の態様は、自律運転パトロール・カーを制御するための方法として実装されてもよく、その方法は、CPU、GPU、及び1つ又は複数のハードウェア・アクセラレータを備えるプライマリ・コンピュータに、第1の画像情報を提供することと、第1の画像情報を入力として用いて、プライマリ・コンピュータ上のGPU、及び1つ又は複数のハードウェア・アクセラレータのうちの少なくとも1つの上で第1のニューラル・ネットワークを実行することと、プライマリ・コンピュータ内で、少なくとも1つの車両アクチュエータを制御するための少なくとも1つの第1の信号を生成することと、CPU、GPU、及び1つ又は複数のハードウェア・アクセラレータを備えるセカンダリ・コンピュータに、第2の画像情報を提供することと、第2の画像情報を入力として用いて、セカンダリ・コンピュータ上のGPU、及び1つ又は複数のハードウェア・アクセラレータのうちの少なくとも1つの上で第2のニューラル・ネットワークを実行することと、セカンダリ・コンピュータ内で、少なくとも1つの安全状態の存在又は不在を示す少なくとも1つの第2の信号を生成することと、ワイヤレス・ネットワークを介して、少なくとも1つの安全状態の存在及び所在地の通知を送信することと、を含む。ワイヤレス・ネットワークは、LTEネットワーク、WCDMA(登録商標)ネットワーク、UMTSネットワーク、及びCDMA2000ネットワークを含むことができる(これらに限定されない)。1つ又は複数の実施例では、安全状態は、火災、自動車事故、負傷者、及び人々の間の物理的衝突のうちの1つ又は複数を含むことができる(これらに限定されない)。1つ又は複数の実施例では、第1の画像情報及び第2の画像情報のうちの1つ又は両方は、1つ又は複数の赤外線カメラからの情報を備える。
本技術の態様は、自律運転耕耘機トラックを制御するための方法を実施することを含み、その方法は、CPU、GPU、及び1つ又は複数のハードウェア・アクセラレータを備えるプライマリ・コンピュータに第1の画像情報を提供することと、第1の画像情報を入力として用いて、プライマリ・コンピュータ上のGPU、及び1つ又は複数のハードウェア・アクセラレータのうちの少なくとも1つの上で第1のニューラル・ネットワークを実行することと、プライマリ・コンピュータ内で、第1の制御可能な車軸に関連づけられた少なくとも1つの車両アクチュエータを制御するための少なくとも1つの第1の信号を生成することと、CPU、GPU、及び1つ又は複数のハードウェア・アクセラレータを備えるセカンダリ・コンピュータに、第2の画像情報を提供することと、第2の画像情報を入力として用いて、セカンダリ・コンピュータ上のGPU、及び1つ又は複数のハードウェア・アクセラレータのうちの少なくとも1つの上で第2のニューラル・ネットワークを実行することと、及び、セカンダリ・コンピュータ内で、第2の制御可能な車軸に関連づけられた少なくとも1つの車両アクチュエータを制御するための少なくとも1つの第2の信号を生成することと、を含む。
本技術の態様は、自律運転バスを制御するための方法を含むことができ、その方法は、CPU、GPU、及び1つ又は複数のハードウェア・アクセラレータを備えるプライマリ・コンピュータに、第1の画像情報を提供することと、第1の画像情報を入力として用いて、プライマリ・コンピュータ上のGPU、及び1つ又は複数のハードウェア・アクセラレータのうちの少なくとも1つの上で第1のニューラル・ネットワークを実行することと、プライマリ・コンピュータ内で、少なくとも1つの車両アクチュエータを制御するための少なくとも1つの第1の信号を生成することと、CPU、GPU及び1つ又は複数のハードウェア・アクセラレータを備える第2のコンピュータに、第2の画像情報を提供することであって、第2の画像情報が、バスの乗客区画の内部の少なくとも一部分の画像を含む、提供することと、第2の画像情報を入力として用いて、セカンダリ・コンピュータ上のGPU、及びハードウェア・アクセラレータ1つ又は複数のうちのうちの少なくとも1つの上で第2のニューラル・ネットワークを実行することと、第2の画像情報を入力として用いて、セカンダリ・コンピュータ上のハードウェア・アクセラレータうちの1つの上で第2のニューラル・ネットワークを実行することと、セカンダリ・コンピュータ内で、少なくとも1つの安全状態の存在又は不在を示す少なくとも1つの第2の信号を生成することと、ワイヤレス・ネットワークを介して、少なくとも1つの安全状態の存在及び所在地の通知を送信することと、を含む。ワイヤレス・ネットワークは、LTEネットワーク、WCDMA(登録商標)ネットワーク、UMTSネットワーク、及びCDMA2000ネットワークを含むことができる(これらに限定されない)。1つ又は複数の実施例では、安全状態は、火災、負傷したバスの乗客若しくは歩行者、及びバスの乗客間の物理的衝突のうちの1つ又は複数を含むことができる(これらに限定されない)。1つ又は複数の実施例では、第1の画像情報及び第2の画像情報のうちの一方又は両方は、1つ又は複数の赤外線カメラからの情報を備える。
本明細書で触れた文献のすべては、あらゆる目的で、あたかもはっきりと明記されているように、参照により明示的に組み込まれている。
最も実用的で好ましい実施例と現在考えられるものに関して、本発明を説明してきたが、本発明が開示された実施例に限定されるものではないことが理解されるべきである。例えば、明示していない限り、本発明は、どのようなタイプのセンサにも、どのような個数のセンサにも限定されるものではなく、請求項の文言内にあるいくつのセンサでも、どのようなタイプのセンサでも使用され得る。また、例として、上記の考察は、例としてNVIDIAハードウェアを使用して提示されているが、どのようなタイプのプロセッサでも、いくつのプロセッサでも使用することができる。むしろ、添付の請求項の趣旨及び範囲内に含まれている様々な修正形態及び等価配置に及ぶように意図されている。

Claims (20)

  1. 自律運転車両のためのシステム・オン・チップであって、
    中央処理ユニット複合体と、
    第1のニューラル・ネットワークを実行するように構成されたグラフィックス処理ユニットと、
    オン・チップ・メモリと、
    埋め込みハードウェア・アクセラレーション・クラスタ
    備え、前記埋め込みハードウェア・アクセラレーション・クラスタは、
    コンピュータ・ビジョン・アルゴリズムを実行するように構成されたプログラマブル・ビジョン・アクセラレータと、
    第2のニューラル・ネットワークを実行するように構成されたディープ・ラーニング・アクセラレータと
    備え、
    前記中央処理ユニット複合体は、前記自律運転車両を制御するために、前記グラフィックス処理ユニット、前記プログラマブル・ビジョン・アクセラレータ、及び前記ディープ・ラーニング・アクセラレータからの結果を受け取り、前記結果を比較及び評価するように構成され、
    前記第1のニューラル・ネットワーク、前記コンピュータ・ビジョン・アルゴリズム、及び前記第2のニューラル・ネットワークは、同一でない処理を提供するように実装され、
    前記グラフィックス処理ユニット、前記プログラマブル・ビジョン・アクセラレータ、及び前記ディープ・ラーニング・アクセラレータのうちの少なくとも2つは、同一のタスクを実行するように構成され、前記少なくとも2つからの結果を組み合わせることによってより高い機能安全を提供する、システム・オン・チップ。
  2. 前記グラフィックス処理ユニットは、HBMメモリはHBM2メモリを含む、請求項1に記載のシステム・オン・チップ。
  3. 前記グラフィックス処理ユニットは、独立並列整数及び浮動小数点データ・パスを提供する複数のストリーミング・マイクロプロセッサを備える、請求項1又は2に記載のシステム・オン・チップ。
  4. 前記グラフィックス処理ユニットは、独立スレッド・スケジューリング能力を含む複数のストリーミング・マイクロプロセッサを備える、請求項1~3の何れか一項に記載のシステム・オン・チップ。
  5. 前記グラフィックス処理ユニットは、前記中央処理ユニット複合体及び前記グラフィックス処理ユニットに単一ユニファイド仮想アドレス空間を提供するユニファイド・メモリを含む、請求項1~4の何れか一項に記載のシステム・オン・チップ。
  6. メモリ・コントローラを更に備える、請求項1~5の何れか一項に記載のシステム・オン・チップ。
  7. ブート及びパワー管理プロセッサが、前記システム・オン・チップのパワー状態遷移を制御するように構成され、前記ブート及びパワー管理プロセッサは、前記システム・オン・チップの熱状態をモニタし、反応して前記システム・オン・チップのパワー状態を管理するように更に構成されている、請求項1~6の何れか一項に記載のシステム・オン・チップ。
  8. L3キャッシュが、前記中央処理ユニット複合体及び前記グラフィックス処理ユニットによって共有されている、請求項1~7の何れか一項に記載のシステム・オン・チップ。
  9. 複数の温度センサが、前記中央処理ユニット複合体及び/又は前記グラフィックス処理ユニットに結合され、前記複数の温度センサは、前記中央処理ユニット複合体、前記グラフィックス処理ユニット、及び前記埋め込みハードウェア・アクセラレーション・クラスタのうちの1つ又は複数の温度を検出するように構成されている、請求項1~8の何れか一項に記載のシステム・オン・チップ。
  10. 温度センサは、1つ又は複数のリング・オシレータを備え、各リング・オシレータは、出力周波数が温度に比例するように設定されている、請求項9に記載のシステム・オン・チップ。
  11. 前記中央処理ユニット複合体は、複数のCPUコア若しくはCPUコアのクラスタ、又は複数のCPUコアのクラスタを備える、請求項1~10の何れか一項に記載のシステム・オン・チップ。
  12. 前記複数のCPUコア若しくはCPUコアのクラスタ、又は複数のCPUコアのクラスタにおける各CPUコアは、オン・チップL2キャッシュ・メモリに結合されている、請求項11に記載のシステム・オン・チップ。
  13. 前記中央処理ユニット複合体における各クラスタは、前記中央処理ユニット複合体における他のクラスタのステータスとは無関係にアクティブであるように構成されている、請求項11に記載のシステム・オン・チップ。
  14. 前記中央処理ユニット複合体における各クラスタは、ヘテロジニアス・マルチ・プロセッシングのために構成されている、請求項11に記載のシステム・オン・チップ。
  15. 前記中央処理ユニット複合体における各クラスタは、前記中央処理ユニット複合体における他のクラスタのステータスとは無関係にアクティブであるように構成されている、請求項1に記載のシステム・オン・チップ。
  16. パワー管理プロセッサが、各CPUコア又はCPUコアの各クラスタを独立してパワー・ゲーティングする、請求項1~15の何れか一項に記載のシステム・オン・チップ。
  17. SRAMメモリが、前記プログラマブル・ビジョン・アクセラレータ及び前記ディープ・ラーニング・アクセラレータのうちの少なくとも1つに結合されている、請求項1~16の何れか一項に記載のシステム・オン・チップ。
  18. ビデオ画像合成器プロセッサが、
    (a)少なくとも1つの魚眼カメラ・センサ又はワイド・ビュー・カメラ・センサからの画像データに対するレンズ収差補正、
    (b)少なくとも1つのカメラ・センサからの入力に対する時間的ノイズ低減、又は
    (c)複数のカメラから受け取られた画像データに対するステレオ平行化
    のうちの少なくとも1つを実行するように構成されている、請求項1~17の何れか一項に記載のシステム・オン・チップ。
  19. 前記プログラマブル・ビジョン・アクセラレータは、
    第1のベクトル・プロセッサと、
    前記第1のベクトル・プロセッサと関連づけられた第1の命令キャッシュと、
    前記第1のベクトル・プロセッサと関連づけられた第1のベクトル・メモリと、
    前記第1のベクトル・プロセッサと関連づけられた第1のダイレクト・メモリ・アクセス・エンジンと、
    第2のベクトル・プロセッサと、
    前記第2のベクトル・プロセッサと関連づけられた第2の命令キャッシュと、
    前記第2のベクトル・プロセッサと関連づけられた第2のベクトル・メモリと、
    前記第2のベクトル・プロセッサと関連づけられた第2のダイレクト・メモリ・アクセス・エンジンと
    を備える、請求項1~18の何れか一項に記載のシステム・オン・チップ。
  20. 前記プログラマブル・ビジョン・アクセラレータは、
    コンピュータ・ビジョンのために最適化されたデジタル信号プロセッサと、
    前記デジタル信号プロセッサと関連づけられたメモリと、
    前記デジタル信号プロセッサと関連づけられた命令キャッシュと
    を備える、請求項1~19の何れか一項に記載のシステム・オン・チップ。
JP2020525931A 2017-11-10 2018-11-09 安全で信頼できる自動運転車両のためのシステム及び方法 Active JP7346401B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762584549P 2017-11-10 2017-11-10
US62/584,549 2017-11-10
PCT/US2018/060205 WO2019094843A1 (en) 2017-11-10 2018-11-09 Systems and methods for safe and reliable autonomous vehicles

Publications (2)

Publication Number Publication Date
JP2021508863A JP2021508863A (ja) 2021-03-11
JP7346401B2 true JP7346401B2 (ja) 2023-09-19

Family

ID=64664395

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020525931A Active JP7346401B2 (ja) 2017-11-10 2018-11-09 安全で信頼できる自動運転車両のためのシステム及び方法

Country Status (5)

Country Link
US (3) US11644834B2 (ja)
EP (1) EP3707572B1 (ja)
JP (1) JP7346401B2 (ja)
CN (1) CN111587407B (ja)
WO (1) WO2019094843A1 (ja)

Families Citing this family (467)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10279488B2 (en) 2014-01-17 2019-05-07 Knightscope, Inc. Autonomous data machines and systems
US10514837B1 (en) 2014-01-17 2019-12-24 Knightscope, Inc. Systems and methods for security data analysis and display
JP6524943B2 (ja) * 2016-03-17 2019-06-05 株式会社デンソー 走行支援装置
GB2551516B (en) * 2016-06-20 2019-03-20 Jaguar Land Rover Ltd Activity monitor
JP6261812B1 (ja) * 2016-11-17 2018-01-17 三菱電機株式会社 車載装置、携帯端末装置、認識支援システム、認識支援方法、及び認識支援プログラム
CN114296093A (zh) 2016-11-29 2022-04-08 布莱克莫尔传感器和分析有限责任公司 用于以点云数据集合对对象进行分类的方法和系统
US11624828B2 (en) 2016-11-30 2023-04-11 Blackmore Sensors & Analytics, Llc Method and system for adaptive scanning with optical ranging systems
CN113985427A (zh) 2016-11-30 2022-01-28 布莱克莫尔传感器和分析有限责任公司 对光学啁啾距离检测进行多普勒检测和校正的方法和系统
WO2018102188A1 (en) 2016-11-30 2018-06-07 Blackmore Sensors and Analytics Inc. Method and system for automatic real-time adaptive scanning with optical ranging systems
US10422880B2 (en) 2017-02-03 2019-09-24 Blackmore Sensors and Analytics Inc. Method and system for doppler detection and doppler correction of optical phase-encoded range detection
DE102017204691B3 (de) * 2017-03-21 2018-06-28 Audi Ag Steuervorrichtung zum redundanten Ausführen einer Betriebsfunktion sowie Kraftfahrzeug
US10386465B2 (en) 2017-03-31 2019-08-20 Velodyne Lidar, Inc. Integrated LIDAR illumination power control
CN109923488A (zh) * 2017-04-27 2019-06-21 深圳市大疆创新科技有限公司 使用可移动物体生成实时地图的系统和方法
US10401495B2 (en) 2017-07-10 2019-09-03 Blackmore Sensors and Analytics Inc. Method and system for time separated quadrature detection of doppler effects in optical range measurements
KR20200016386A (ko) * 2017-07-20 2020-02-14 닛산 지도우샤 가부시키가이샤 차량 주행 제어 방법 및 차량 주행 제어 장치
US20190033875A1 (en) * 2017-07-31 2019-01-31 Ford Global Technologies, Llc Occupancy-based vehicle collision management
WO2019042523A1 (en) * 2017-08-28 2019-03-07 HELLA GmbH & Co. KGaA METHOD FOR OPERATING A RADAR SYSTEM
DE102017215718B4 (de) * 2017-09-07 2019-06-13 Audi Ag Verfahren zum Auswerten eines optischen Erscheinungsbildes in einer Fahrzeugumgebung und Fahrzeug
US20190079526A1 (en) * 2017-09-08 2019-03-14 Uber Technologies, Inc. Orientation Determination in Object Detection and Tracking for Autonomous Vehicles
US11599795B2 (en) * 2017-11-08 2023-03-07 International Business Machines Corporation Reducing the cost of n modular redundancy for neural networks
AU2018365091B2 (en) 2017-11-13 2021-03-04 Raven Industries, Inc. Safety system for autonomous operation of off-road and agricultural vehicles using machine learning for detection and identification of obstacles
CN111386550A (zh) * 2017-11-15 2020-07-07 谷歌有限责任公司 图像深度和自我运动预测神经网络的无监督学习
US20190155283A1 (en) * 2017-11-17 2019-05-23 Waymo Llc Determining pullover locations for autonomous vehicles
US11163309B2 (en) * 2017-11-30 2021-11-02 Direct Current Capital LLC Method for autonomous navigation
KR102030462B1 (ko) * 2017-12-08 2019-10-10 현대오트론 주식회사 복수의 차량용 멀티 코어 프로세서 오류 모니터링 장치 및 그 방법
US11273836B2 (en) * 2017-12-18 2022-03-15 Plusai, Inc. Method and system for human-like driving lane planning in autonomous driving vehicles
US11130497B2 (en) 2017-12-18 2021-09-28 Plusai Limited Method and system for ensemble vehicle control prediction in autonomous driving vehicles
US20190185012A1 (en) 2017-12-18 2019-06-20 PlusAI Corp Method and system for personalized motion planning in autonomous driving vehicles
US10852731B1 (en) 2017-12-28 2020-12-01 Waymo Llc Method and system for calibrating a plurality of detection systems in a vehicle
CN109993300B (zh) 2017-12-29 2021-01-29 华为技术有限公司 一种神经网络模型的训练方法及装置
US11328210B2 (en) 2017-12-29 2022-05-10 Micron Technology, Inc. Self-learning in distributed architecture for enhancing artificial neural network
US10551850B2 (en) * 2018-01-03 2020-02-04 Uatc, Llc Low quality pose
US11042163B2 (en) 2018-01-07 2021-06-22 Nvidia Corporation Guiding vehicles through vehicle maneuvers using machine learning models
JP7204326B2 (ja) * 2018-01-15 2023-01-16 キヤノン株式会社 情報処理装置及びその制御方法及びプログラム、並びに、車両の運転支援システム
US11262756B2 (en) * 2018-01-15 2022-03-01 Uatc, Llc Discrete decision architecture for motion planning system of an autonomous vehicle
DE102018200982A1 (de) 2018-01-23 2019-08-08 Volkswagen Aktiengesellschaft Verfahren zur Verarbeitung von Sensordaten in einer Anzahl von Steuergeräten, entsprechend ausgelegte Vorverarbeitungseinheit sowie Fahrzeug
FR3077382B1 (fr) * 2018-01-30 2020-02-21 Transdev Group Procede et dispositif electronique de controle de la vitesse d'un vehicule autonome, programme d'ordinateur, vehicule autonome et plateforme de supervision associes
US11091162B2 (en) * 2018-01-30 2021-08-17 Toyota Motor Engineering & Manufacturing North America, Inc. Fusion of front vehicle sensor data for detection and ranging of preceding objects
CN110352153A (zh) 2018-02-02 2019-10-18 辉达公司 自主车辆中用于障碍物躲避的安全程序分析
KR102066219B1 (ko) * 2018-02-05 2020-01-14 주식회사 만도 리던던트 구조 기반의 차량 제어 장치 및 방법
KR102541561B1 (ko) * 2018-02-12 2023-06-08 삼성전자주식회사 차량의 주행을 위한 정보를 제공하는 방법 및 그 장치들
DE102018202296A1 (de) * 2018-02-15 2019-08-22 Robert Bosch Gmbh Radarsensor-System und Verfahren zum Betreiben eines Radarsensor-Systems
US10769840B2 (en) 2018-02-27 2020-09-08 Nvidia Corporation Analysis of point cloud data using polar depth maps and planarization techniques
JP6607272B2 (ja) * 2018-03-02 2019-11-20 株式会社Jvcケンウッド 車両用記録装置、車両用記録方法及びプログラム
US10605897B2 (en) * 2018-03-06 2020-03-31 Veoneer Us, Inc. Vehicle lane alignment correction improvements
US10884115B2 (en) * 2018-03-09 2021-01-05 Waymo Llc Tailoring sensor emission power to map, vehicle state, and environment
EP3540710A1 (en) * 2018-03-14 2019-09-18 Honda Research Institute Europe GmbH Method for assisting operation of an ego-vehicle, method for assisting other traffic participants and corresponding assistance systems and vehicles
WO2019178548A1 (en) 2018-03-15 2019-09-19 Nvidia Corporation Determining drivable free-space for autonomous vehicles
WO2019182974A2 (en) 2018-03-21 2019-09-26 Nvidia Corporation Stereo depth estimation using deep neural networks
RU2716322C2 (ru) * 2018-03-23 2020-03-11 Общество с ограниченной ответственностью "Аби Продакшн" Репродуцирующая аугментация данных изображения
DE112019001605T5 (de) 2018-03-27 2020-12-17 Nvidia Corporation Trainieren, testen und verifizieren von autonomen maschinen unter verwendung simulierter umgebungen
US10946868B2 (en) * 2018-03-28 2021-03-16 Nio Usa, Inc. Methods and devices for autonomous vehicle operation
US10676085B2 (en) 2018-04-11 2020-06-09 Aurora Innovation, Inc. Training machine learning model based on training instances with: training instance input based on autonomous vehicle sensor data, and training instance output based on additional vehicle sensor data
US10522038B2 (en) 2018-04-19 2019-12-31 Micron Technology, Inc. Systems and methods for automatically warning nearby vehicles of potential hazards
WO2019209727A1 (en) * 2018-04-23 2019-10-31 Blackmore Sensors and Analytics Inc. Method and system for controlling autonomous vehicle using coherent range doppler optical sensors
JP6746037B2 (ja) * 2018-04-24 2020-08-26 三菱電機株式会社 攻撃検知装置、攻撃検知プログラム及び攻撃検知方法
US11593119B2 (en) * 2018-04-27 2023-02-28 Tesla, Inc. Autonomous driving controller parallel processor boot order
KR20210008836A (ko) * 2018-05-09 2021-01-25 씨에이브이에이치 엘엘씨 차량 및 고속도로 사이의 주행 지능 할당을 위한 시스템 및 방법
US11042156B2 (en) * 2018-05-14 2021-06-22 Honda Motor Co., Ltd. System and method for learning and executing naturalistic driving behavior
US11231715B2 (en) * 2018-05-22 2022-01-25 King Fahd University Of Petroleum And Minerals Method and system for controlling a vehicle
US11372115B2 (en) * 2018-05-24 2022-06-28 Cyngn, Inc. Vehicle localization
EP3572939A1 (en) * 2018-05-25 2019-11-27 TTTech Auto AG Method, device and real-time network for highly-integrated automotive systems
FR3082162B1 (fr) * 2018-06-11 2020-06-05 Renault S.A.S Procede et dispositif de mise au point d'une boucle fermee d'un dispositif d'aide a la conduite avance
US11966838B2 (en) 2018-06-19 2024-04-23 Nvidia Corporation Behavior-guided path planning in autonomous machine applications
US11296999B2 (en) * 2018-06-26 2022-04-05 Telefonaktiebolaget Lm Ericsson (Publ) Sliding window based non-busy looping mode in cloud computing
US11354406B2 (en) * 2018-06-28 2022-06-07 Intel Corporation Physics-based approach for attack detection and localization in closed-loop controls for autonomous vehicles
US11119478B2 (en) * 2018-07-13 2021-09-14 Waymo Llc Vehicle sensor verification and calibration
WO2020014683A1 (en) * 2018-07-13 2020-01-16 Kache.AI Systems and methods for autonomous object detection and vehicle following
US11216007B2 (en) * 2018-07-16 2022-01-04 Phantom Auto Inc. Normalization of intelligent transport system handling characteristics
KR102077201B1 (ko) * 2018-07-20 2020-02-13 현대모비스 주식회사 차량의 통합 제어 장치 및 방법
FR3084631B1 (fr) * 2018-07-31 2021-01-08 Valeo Schalter & Sensoren Gmbh Assistance a la conduite pour le controle longitudinal et/ou lateral d'un vehicule automobile
US11204605B1 (en) * 2018-08-03 2021-12-21 GM Global Technology Operations LLC Autonomous vehicle controlled based upon a LIDAR data segmentation system
US10479356B1 (en) 2018-08-17 2019-11-19 Lyft, Inc. Road segment similarity determination
US10942030B2 (en) 2018-08-17 2021-03-09 Lyft, Inc. Road segment similarity determination
US11129024B2 (en) * 2018-08-21 2021-09-21 Continental Teves Ag & Co. Ohg Vehicle-to-X communication device and method for realizing a safety integrity level in vehicle-to-X communication
US10816979B2 (en) * 2018-08-24 2020-10-27 Baidu Usa Llc Image data acquisition logic of an autonomous driving vehicle for capturing image data using cameras
WO2020045978A1 (ko) * 2018-08-29 2020-03-05 한국과학기술원 초음파 신호를 이용한 노면 종류 추정 방법 및 장치
US11800827B2 (en) * 2018-09-14 2023-10-31 Agjunction Llc Using non-real-time computers for agricultural guidance systems
US10712434B2 (en) 2018-09-18 2020-07-14 Velodyne Lidar, Inc. Multi-channel LIDAR illumination driver
DE102018216082A1 (de) * 2018-09-20 2018-12-13 Robert Bosch Gmbh Verfahren zur kooperativen Manöverabstimmung
US11199847B2 (en) * 2018-09-26 2021-12-14 Baidu Usa Llc Curvature corrected path sampling system for autonomous driving vehicles
US11403517B2 (en) * 2018-09-27 2022-08-02 Intel Corporation Proximity-based distributed sensor processing
KR102233260B1 (ko) * 2018-10-02 2021-03-29 에스케이텔레콤 주식회사 정밀 지도 업데이트 장치 및 방법
US11138348B2 (en) * 2018-10-09 2021-10-05 Intel Corporation Heterogeneous compute architecture hardware/software co-design for autonomous driving
US10627819B1 (en) * 2018-10-11 2020-04-21 Pony Ai Inc. On-site notification from autonomous vehicle for traffic safety
JP7014129B2 (ja) * 2018-10-29 2022-02-01 オムロン株式会社 推定器生成装置、モニタリング装置、推定器生成方法及び推定器生成プログラム
CN109543245B (zh) * 2018-10-31 2021-08-10 百度在线网络技术(北京)有限公司 无人车应对能力边界信息确定方法、装置和电子设备
US11256263B2 (en) * 2018-11-02 2022-02-22 Aurora Operations, Inc. Generating targeted training instances for autonomous vehicles
US11403492B2 (en) 2018-11-02 2022-08-02 Aurora Operations, Inc. Generating labeled training instances for autonomous vehicles
US20200153926A1 (en) * 2018-11-09 2020-05-14 Toyota Motor North America, Inc. Scalable vehicle data compression systems and methods
US11032370B2 (en) * 2018-11-14 2021-06-08 Toyota Jidosha Kabushiki Kaisha Wireless communications in a vehicular macro cloud
US10789728B2 (en) * 2018-11-15 2020-09-29 Denso International America, Inc. Machine learning framework for visual tracking
US11610115B2 (en) 2018-11-16 2023-03-21 Nvidia Corporation Learning to generate synthetic datasets for training neural networks
US11126197B2 (en) * 2018-11-19 2021-09-21 Waymo Llc Verification of iterative closest point alignments for autonomous vehicles
US10823855B2 (en) * 2018-11-19 2020-11-03 Fca Us Llc Traffic recognition and adaptive ground removal based on LIDAR point cloud statistics
US10936902B1 (en) 2018-11-27 2021-03-02 Zoox, Inc. Training bounding box selection
US11010907B1 (en) * 2018-11-27 2021-05-18 Zoox, Inc. Bounding box selection
JP2020087001A (ja) * 2018-11-27 2020-06-04 株式会社デンソー 車線位置情報出力装置
US11030476B2 (en) * 2018-11-29 2021-06-08 Element Ai Inc. System and method for detecting and tracking objects
US11137762B2 (en) * 2018-11-30 2021-10-05 Baidu Usa Llc Real time decision making for autonomous driving vehicles
US10997729B2 (en) * 2018-11-30 2021-05-04 Baidu Usa Llc Real time object behavior prediction
DE102018221063A1 (de) * 2018-12-05 2020-06-10 Volkswagen Aktiengesellschaft Konfiguration eines Steuerungssystems für ein zumindest teilautonomes Kraftfahrzeug
US11971988B2 (en) * 2018-12-07 2024-04-30 Arris Enterprises Llc Detection of suspicious objects in customer premises equipment (CPE)
CN109737977A (zh) * 2018-12-10 2019-05-10 北京百度网讯科技有限公司 自动驾驶车辆定位方法、装置及存储介质
US20200184321A1 (en) * 2018-12-11 2020-06-11 Fotonation Limited Multi-processor neural network processing apparatus
JP7082940B2 (ja) * 2018-12-17 2022-06-09 本田技研工業株式会社 走行軌道決定処理及び自動運転装置
JP6708249B1 (ja) * 2018-12-26 2020-06-10 株式会社Jvcケンウッド 車両用記録制御装置、車両用記録装置、車両用記録制御方法およびプログラム
IT201800021244A1 (it) * 2018-12-27 2020-06-27 Fiat Ricerche Sistema elettronico autoveicolistico di controllo della dinamica laterale di un autoveicolo
US11214268B2 (en) * 2018-12-28 2022-01-04 Intel Corporation Methods and apparatus for unsupervised multimodal anomaly detection for autonomous vehicles
US11144417B2 (en) * 2018-12-31 2021-10-12 Texas Instruments Incorporated Debug for multi-threaded processing
US11822010B2 (en) 2019-01-04 2023-11-21 Blackmore Sensors & Analytics, Llc LIDAR system
US11327490B2 (en) * 2019-01-07 2022-05-10 Velodyne Lidar Usa, Inc. Dynamic control and configuration of autonomous navigation systems
US10545893B1 (en) * 2019-01-11 2020-01-28 Arm Limited Interrupt controller and method of operation of an interrupt controller
CN109870698B (zh) * 2019-01-15 2021-12-24 阿波罗智能技术(北京)有限公司 一种超声波阵列障碍物检测结果处理方法及系统
JP7172625B2 (ja) * 2019-01-16 2022-11-16 トヨタ自動車株式会社 情報処理装置
US11447152B2 (en) * 2019-01-25 2022-09-20 Cavh Llc System and methods for partially instrumented connected automated vehicle highway systems
US10628688B1 (en) * 2019-01-30 2020-04-21 Stadvision, Inc. Learning method and learning device, and testing method and testing device for detecting parking spaces by using point regression results and relationship between points to thereby provide an auto-parking system
US10817777B2 (en) * 2019-01-31 2020-10-27 StradVision, Inc. Learning method and learning device for integrating object detection information acquired through V2V communication from other autonomous vehicle with object detection information generated by present autonomous vehicle, and testing method and testing device using the same
US11373466B2 (en) 2019-01-31 2022-06-28 Micron Technology, Inc. Data recorders of autonomous vehicles
US11410475B2 (en) 2019-01-31 2022-08-09 Micron Technology, Inc. Autonomous vehicle data recorders
KR102211604B1 (ko) * 2019-02-01 2021-02-04 재단법인대구경북과학기술원 Gpu 기반의 채널 단위 딥뉴럴 네트워크 구조 검색을 사용하는 인공지능 시스템
WO2020163390A1 (en) 2019-02-05 2020-08-13 Nvidia Corporation Driving lane perception diversity and redundancy in autonomous driving applications
DE102019102830A1 (de) * 2019-02-05 2020-08-06 Bayerische Motoren Werke Aktiengesellschaft Notmanöver-Steuerungssystem und Notmanöver-Steuerungsverfahren für ein Fahrzeug
JP7221070B2 (ja) * 2019-02-07 2023-02-13 日立Astemo株式会社 電子制御装置、制御方法
US11050932B2 (en) * 2019-03-01 2021-06-29 Texas Instruments Incorporated Using real time ray tracing for lens remapping
US11681030B2 (en) 2019-03-05 2023-06-20 Waymo Llc Range calibration of light detectors
CN113811886B (zh) 2019-03-11 2024-03-19 辉达公司 自主机器应用中的路口检测和分类
US11550320B2 (en) * 2019-03-18 2023-01-10 Pony Ai Inc. Vehicle redundant processing resource usage
WO2020186518A1 (en) * 2019-03-21 2020-09-24 Hangzhou Fabu Technology Co. Ltd Method and apparatus for debugging, and system on chip
KR20200112439A (ko) * 2019-03-22 2020-10-05 삼성전자주식회사 멀티 코어를 포함하는 전자 장치 및 이의 패킷 처리를 위한 방법
US11507084B2 (en) * 2019-03-27 2022-11-22 Intel Corporation Collaborative 3-D environment map for computer-assisted or autonomous driving vehicles
US11532060B2 (en) * 2019-03-28 2022-12-20 Lyft, Inc. Systems and methods for matching autonomous transportation provider vehicles and transportation requests in transportation management systems
US11148676B2 (en) * 2019-03-29 2021-10-19 Intel Corporation Detection of an anomalous image associated with image data from one or more cameras of a computer-aided or autonomous driving vehicle
US11520297B2 (en) * 2019-03-29 2022-12-06 Intel Corporation Enhancing diagnostic capabilities of computing systems by combining variable patrolling API and comparison mechanism of variables
US11169513B2 (en) 2019-03-29 2021-11-09 Tusimple, Inc. Operational testing of autonomous vehicles
US11157004B2 (en) * 2019-04-01 2021-10-26 GM Global Technology Operations LLC Real-time control system for a vehicle and a method of executing control of the vehicle via the real-time control system
EP3720098B1 (en) 2019-04-02 2023-10-11 The Raymond Corporation Systems and methods for an arbitration controller to arbitrate multiple automation requests on a warehouse material handling vehicle
US11068295B2 (en) 2019-04-12 2021-07-20 Ghost Locomotion Inc. Device operation across multiple operating system modalities
JP2020177074A (ja) * 2019-04-16 2020-10-29 株式会社デンソー 車両用装置、車両用装置の制御方法
JP7215315B2 (ja) * 2019-04-26 2023-01-31 トヨタ自動車株式会社 車両システム
CN110110787A (zh) * 2019-05-06 2019-08-09 腾讯科技(深圳)有限公司 目标的位置获取方法、装置、计算机设备及存储介质
US11110917B2 (en) * 2019-05-13 2021-09-07 Great Wall Motor Company Limited Method and apparatus for interaction aware traffic scene prediction
JP7160190B2 (ja) * 2019-05-16 2022-10-25 日本電信電話株式会社 異常検出装置、方法、システム及びプログラム
US11214253B2 (en) * 2019-05-24 2022-01-04 Toyota Jidosha Kabushiki Kaisha Longitudinal motion control of connected and automated vehicles
US11610142B2 (en) 2019-05-28 2023-03-21 Ati Technologies Ulc Safety monitor for image misclassification
EP3745310A1 (en) * 2019-05-28 2020-12-02 Robert Bosch GmbH Method for calibrating a multi-sensor system using an artificial neural network
US11391649B2 (en) * 2019-05-29 2022-07-19 Pony Ai Inc. Driving emulation system for an autonomous vehicle
US11210199B2 (en) 2019-05-31 2021-12-28 Ati Technologies Ulc Safety monitor for invalid image transform
US20220340112A1 (en) * 2019-06-07 2022-10-27 Mando Corporation Control device structure of brake system
CN110188062A (zh) * 2019-06-11 2019-08-30 苏州浪潮智能科技有限公司 一种ai服务器
US11928557B2 (en) 2019-06-13 2024-03-12 Lyft, Inc. Systems and methods for routing vehicles to capture and evaluate targeted scenarios
US11727272B2 (en) * 2019-06-19 2023-08-15 Nvidia Corporation LIDAR-based detection of traffic signs for navigation of autonomous vehicles
US11531349B2 (en) * 2019-06-21 2022-12-20 Volkswagen Ag Corner case detection and collection for a path planning system
US11449475B2 (en) 2019-06-28 2022-09-20 Lyft, Inc. Approaches for encoding environmental information
WO2020258222A1 (en) * 2019-06-28 2020-12-30 Bayerische Motoren Werke Aktiengesellschaft Method and system for identifying object
US11227167B2 (en) 2019-06-28 2022-01-18 Baidu Usa Llc Determining vanishing points based on lane lines
US11157007B2 (en) 2019-06-28 2021-10-26 Lyft, Inc. Approaches for encoding environmental information
US10625748B1 (en) * 2019-06-28 2020-04-21 Lyft, Inc. Approaches for encoding environmental information
US11120566B2 (en) * 2019-06-28 2021-09-14 Baidu Usa Llc Determining vanishing points based on feature maps
US11422553B2 (en) * 2019-06-28 2022-08-23 Intel Corporation Methods and apparatus to adjust autonomous vehicle driving software using machine programming
KR102087046B1 (ko) * 2019-06-28 2020-03-10 웨이즈원 주식회사 자율 주행 차량에서 ldm을 이용하여 차선 기반으로 사각 지대에 대한 정보를 제공하는 방법 및 장치
US11368471B2 (en) * 2019-07-01 2022-06-21 Beijing Voyager Technology Co., Ltd. Security gateway for autonomous or connected vehicles
US11531346B2 (en) * 2019-07-05 2022-12-20 Uatc, Llc Goal-directed occupancy prediction for autonomous driving
WO2021007117A1 (en) * 2019-07-05 2021-01-14 DeepMap Inc. Generating training data for deep learning models for building high definition maps
US11208117B2 (en) * 2019-07-09 2021-12-28 Refraction Ai, Inc. Method and system for autonomous vehicle control
CN110348636B (zh) * 2019-07-12 2023-07-28 南方科技大学 路径规划预测方法、装置、设备和计算机可读存储介质
CN110349109B (zh) * 2019-07-12 2023-04-21 创新奇智(重庆)科技有限公司 基于鱼眼畸变校正方法及其系统、电子设备
KR102147912B1 (ko) * 2019-08-13 2020-08-25 삼성전자주식회사 프로세서 칩 및 그 제어 방법들
US11392796B2 (en) 2019-08-20 2022-07-19 Micron Technology, Inc. Feature dictionary for bandwidth enhancement
US11755884B2 (en) 2019-08-20 2023-09-12 Micron Technology, Inc. Distributed machine learning with privacy protection
US11636334B2 (en) 2019-08-20 2023-04-25 Micron Technology, Inc. Machine learning with feature obfuscation
CN114089379A (zh) * 2019-08-28 2022-02-25 汽车服务集团有限责任公司 用于高级驾驶员辅助系统的校准系统
US11475255B2 (en) * 2019-08-30 2022-10-18 Kabushiki Kaisha Toshiba Method for adaptive context length control for on-line edge learning
JP7372784B2 (ja) * 2019-08-30 2023-11-01 マツダ株式会社 中央演算装置
US11788861B2 (en) 2019-08-31 2023-10-17 Nvidia Corporation Map creation and localization for autonomous driving applications
CN110321319B (zh) * 2019-09-02 2020-09-29 广东高云半导体科技股份有限公司 片上系统
CN110705358B (zh) * 2019-09-03 2023-09-26 湖南九域同创高分子新材料有限责任公司 一种列车aeb系统隧道场景控制决策方法
US10837795B1 (en) 2019-09-16 2020-11-17 Tusimple, Inc. Vehicle camera calibration system
US11485018B2 (en) * 2019-09-16 2022-11-01 The Boeing Company Robotic end effector system with surface tracking and methods for use
US11958183B2 (en) 2019-09-19 2024-04-16 The Research Foundation For The State University Of New York Negotiation-based human-robot collaboration via augmented reality
US11087147B2 (en) 2019-09-19 2021-08-10 Ford Global Technologies, Llc Vehicle lane mapping
US20200017114A1 (en) * 2019-09-23 2020-01-16 Intel Corporation Independent safety monitoring of an automated driving system
EP3798886A1 (en) * 2019-09-26 2021-03-31 General Electric Company Devices, systems, and methods for securely initializing an embedded system
US20210094555A1 (en) * 2019-09-26 2021-04-01 Magna Electronics Inc. Vehicular collision avoidance system using adaptive filtering of vehicle speed
US11788846B2 (en) 2019-09-30 2023-10-17 Lyft, Inc. Mapping and determining scenarios for geographic regions
WO2021072380A1 (en) * 2019-10-10 2021-04-15 Ouster, Inc. Processing time-series measurements for lidar accuracy
US20210110217A1 (en) * 2019-10-11 2021-04-15 Zf Active Safety And Electronics Us Llc Automotive sensor fusion
KR20210044963A (ko) * 2019-10-15 2021-04-26 현대자동차주식회사 자율주행차량의 차선변경 경로 결정 장치 및 그 방법
CN112668597B (zh) * 2019-10-15 2023-07-28 杭州海康威视数字技术股份有限公司 一种特征比对方法、装置及设备
US11273806B2 (en) * 2019-10-17 2022-03-15 Ford Global Technologies, Llc Enhanced collision mitigation
CN110765923A (zh) * 2019-10-18 2020-02-07 腾讯科技(深圳)有限公司 一种人脸活体检测方法、装置、设备及存储介质
US11816900B2 (en) 2019-10-23 2023-11-14 Lyft, Inc. Approaches for encoding environmental information
TWI738095B (zh) * 2019-10-23 2021-09-01 中華電信股份有限公司 字元識別系統和字元識別方法
US20210127090A1 (en) * 2019-10-28 2021-04-29 Micron Technology, Inc. Distributed neural network processing on an intelligent image sensor stack
US11378681B2 (en) * 2019-10-30 2022-07-05 Nxp Usa, Inc. Systems and methods for automotive synthetic aperture radar
US11577757B2 (en) * 2019-11-01 2023-02-14 Honda Motor Co., Ltd. System and method for future forecasting using action priors
US11747453B1 (en) 2019-11-04 2023-09-05 Waymo Llc Calibration system for light detection and ranging (lidar) devices
CN112784639A (zh) * 2019-11-07 2021-05-11 北京市商汤科技开发有限公司 路口检测、神经网络训练及智能行驶方法、装置和设备
WO2021094967A1 (en) * 2019-11-15 2021-05-20 Marvell Asia Pte, Ltd. Automotive gateway providing secure open platform for guest applications
US11120280B2 (en) 2019-11-15 2021-09-14 Argo AI, LLC Geometry-aware instance segmentation in stereo image capture processes
CN114787739A (zh) * 2019-11-15 2022-07-22 伟摩有限责任公司 使用向量化输入的智能体轨迹预测
US11101996B2 (en) * 2019-11-15 2021-08-24 Red Hat, Inc. TPM-based data integrity
US11531107B2 (en) 2019-11-19 2022-12-20 Volvo Car Corporation Long range LIDAR-based speed estimation
KR20210060779A (ko) * 2019-11-19 2021-05-27 현대자동차주식회사 차량센서의 이상 진단 장치 및 그 방법
CN111025959B (zh) * 2019-11-20 2021-10-01 华为技术有限公司 一种数据管理的方法、装置、设备及智能汽车
EP3832341A1 (en) * 2019-11-21 2021-06-09 NVIDIA Corporation Deep neural network for detecting obstacle instances using radar sensors in autonomous machine applications
US20210155158A1 (en) * 2019-11-22 2021-05-27 Telenav, Inc. Navigation system with lane estimation mechanism and method of operation thereof
CN111131069B (zh) * 2019-11-25 2021-06-08 北京理工大学 一种基于深度学习策略的异常加密流量检测与分类方法
US20230015771A1 (en) * 2019-11-26 2023-01-19 B. G. Negev Technologies And Applications Ltd. Methods for detecting phantom projection attacks against computer vision algorithms
DE102020204078A1 (de) * 2019-11-27 2021-05-27 Robert Bosch Gesellschaft mit beschränkter Haftung Fahrerassistenzsystem für Kraftfahrzeuge
CN111079800B (zh) * 2019-11-29 2023-06-23 上海汽车集团股份有限公司 一种智能驾驶虚拟测试的加速方法及加速系统
CN111211903B (zh) * 2019-12-02 2021-06-11 中国矿业大学 基于雾计算和保护隐私的移动群体感知数据报告去重方法
KR102388782B1 (ko) * 2019-12-05 2022-04-20 부산대학교 산학협력단 Pir 센서를 이용한 딥러닝 기반 객체 인지 시스템 및 방법
US11952010B1 (en) * 2019-12-06 2024-04-09 Matthew MacGregor Roy Automatically adjustable steering geometry for autonomous vehicle
CA3157095A1 (en) 2019-12-09 2021-06-17 Alon Green Method and system for high integrity can bus traffic supervision in safety critical application
US11127147B2 (en) * 2019-12-10 2021-09-21 GM Global Technology Operations LLC Three-dimensional point cloud generation using a polarimetric camera in a drive assistance system equipped vehicle
US20210182386A1 (en) * 2019-12-11 2021-06-17 Samsung Electronics Co., Ltd. Electronic apparatus that monitors a safety function and a controlling method thereof
US11420645B2 (en) * 2019-12-11 2022-08-23 At&T Intellectual Property I, L.P. Method and apparatus for personalizing autonomous transportation
CN111125495A (zh) * 2019-12-19 2020-05-08 京东方科技集团股份有限公司 一种信息推荐方法、设备及存储介质
GB2591332B (en) * 2019-12-19 2024-02-14 Motional Ad Llc Foreground extraction using surface fitting
DE102019135372A1 (de) * 2019-12-20 2021-06-24 HELLA GmbH & Co. KGaA Verfahren zur Überprüfung eines Radarsensors eines Fahrzeuges
US11415992B2 (en) * 2019-12-27 2022-08-16 Woven Planet North America, Inc. Resource prioritization based on travel path relevance
US11172219B2 (en) 2019-12-30 2021-11-09 Texas Instruments Incorporated Alternating frame processing operation with predicted frame comparisons for high safety level use
US11127142B2 (en) * 2019-12-31 2021-09-21 Baidu Usa Llc Vehicle trajectory prediction model with semantic map and LSTM
US11462020B2 (en) * 2020-01-03 2022-10-04 Ford Global Technologies, Llc Temporal CNN rear impact alert system
US11687778B2 (en) 2020-01-06 2023-06-27 The Research Foundation For The State University Of New York Fakecatcher: detection of synthetic portrait videos using biological signals
EP3848807A1 (en) * 2020-01-07 2021-07-14 Aptiv Technologies Limited Data processing system and method for configuring and operating a data processing system
CN111103577A (zh) * 2020-01-07 2020-05-05 湖南大学 一种基于循环神经网络的端到端激光雷达标定方法
CN111242000A (zh) * 2020-01-09 2020-06-05 电子科技大学 一种结合激光点云转向的道路边沿检测方法
KR20210089846A (ko) * 2020-01-09 2021-07-19 주식회사 만도 능동 후방 추돌 방지 장치 및 방법
WO2021142453A1 (en) * 2020-01-10 2021-07-15 Workhorse Group Inc. Electric delivery truck control system for electric power management
US11385656B2 (en) * 2020-01-22 2022-07-12 Huawei Technologies Co., Ltd. System, device and method of identifying and updating the operational design domain of an autonomous vehicle
DE102020201182A1 (de) * 2020-01-31 2021-08-05 Robert Bosch Gesellschaft mit beschränkter Haftung Hardwarebeschleunigte Berechnung von Faltungen
US11485429B2 (en) * 2020-02-03 2022-11-01 GM Global Technology Operations LLC Control system for active aerodynamic devices
US11416959B1 (en) * 2020-02-10 2022-08-16 Zoox, Inc. Vision architecture
US20210252698A1 (en) * 2020-02-14 2021-08-19 Nvidia Corporation Robotic control using deep learning
JP7111755B2 (ja) * 2020-02-17 2022-08-02 矢崎総業株式会社 車載通信システム
EP3869338A1 (en) * 2020-02-18 2021-08-25 Veoneer Sweden AB A vehicle safety electronic control system
DE112021000216T5 (de) * 2020-02-19 2022-11-03 Nvidia Corporation Verhaltensplanung für autonome Fahrzeuge
DE102020001083A1 (de) * 2020-02-20 2021-08-26 Man Truck & Bus Se Sensorvorrichtung zur Umfelderfassung für ein Kraftfahrzeug
US11574463B2 (en) 2020-02-24 2023-02-07 Ford Global Technologies, Llc Neural network for localization and object detection
US20210263527A1 (en) * 2020-02-24 2021-08-26 Thales Canada Inc. Controller, control system and method for vehicle control
CN111221762B (zh) * 2020-02-25 2021-05-25 深圳市春盛海科技有限公司 图像控制器及图像系统
CN111208482B (zh) * 2020-02-28 2022-02-18 成都汇蓉国科微系统技术有限公司 基于距离对齐的雷达精度分析方法
US11325603B2 (en) 2020-02-28 2022-05-10 Toyota Research Institute, Inc. Systems and methods for estimating lane geometry
CN111368424B (zh) * 2020-03-03 2023-09-01 阿波罗智能技术(北京)有限公司 一种车辆仿真方法、装置、设备及介质
US11254323B2 (en) * 2020-03-04 2022-02-22 Zoox, Inc. Localization error monitoring
US20210281440A1 (en) * 2020-03-05 2021-09-09 Texas Instruments Incorporated System-in-loop testing for adas socs
US11450116B2 (en) 2020-03-09 2022-09-20 Ford Global Technologies, Llc Systems and methods for sharing camera setting control among multiple image processing components in a vehicle
CN115279647A (zh) * 2020-03-12 2022-11-01 海拉有限双合股份公司 用于确定道路状况和/或车辆的底盘系统的至少一个构件的状况的系统
US11966673B2 (en) 2020-03-13 2024-04-23 Nvidia Corporation Sensor simulation and learning sensor models with generative machine learning methods
US11814073B2 (en) * 2020-03-18 2023-11-14 Baidu Usa Llc Learning based controller for autonomous driving
US20210295171A1 (en) * 2020-03-19 2021-09-23 Nvidia Corporation Future trajectory predictions in multi-actor environments for autonomous machine applications
DE102020203543A1 (de) * 2020-03-19 2021-09-23 Continental Automotive Gmbh Verfahren und System zur Erstellung einer semantischen Repräsentation eines Umfelds eines Fahrzeugs
DE102020108070A1 (de) 2020-03-24 2021-09-30 Basler Aktiengesellschaft Robuste Überwachung von Computersystemen und/oder Steuerungssystemen
US11364883B2 (en) * 2020-03-27 2022-06-21 Nvidia Corporation Leveraging rear-view sensors for automatic emergency braking in autonomous machine applications
CN111327790B (zh) * 2020-03-27 2022-02-08 武汉烛照科技有限公司 一种视频处理芯片
US11458994B2 (en) 2020-03-30 2022-10-04 Toyota Research Institute, Inc. Systems and methods for semi-autonomously controlling a vehicle
DE102020109761A1 (de) * 2020-04-08 2021-10-14 Valeo Schalter Und Sensoren Gmbh Umfeldsensorsystem
US11681598B2 (en) * 2020-04-16 2023-06-20 Texas Instruments Incorporated Method and apparatus to facilitate low latency fault mitigation, QoS management and debug of a processing pipeline
US11551534B2 (en) * 2020-04-17 2023-01-10 Oshkosh Corporation Thermal management controls
CA3115486A1 (en) 2020-04-17 2021-10-17 Oshkosh Corporation Thermal management sensors
US11676291B1 (en) * 2020-04-20 2023-06-13 Everguard, Inc. Adaptive multimodal safety systems and methods
US11453409B2 (en) * 2020-04-21 2022-09-27 Baidu Usa Llc Extended model reference adaptive control algorithm for the vehicle actuation time-latency
CN111522026B (zh) * 2020-04-21 2022-12-09 北京三快在线科技有限公司 一种数据融合的方法及装置
EP3902205B1 (de) * 2020-04-21 2023-06-14 TTTech Auto AG Echtzeitcomputersystem und verfahren zur steuerung einer anlage oder eines fahrzeuges
KR20210132496A (ko) * 2020-04-27 2021-11-04 한국전자기술연구원 영상 기반 차선 검출 및 주행 차로 인식 방법 및 장치
CN111539112B (zh) * 2020-04-27 2022-08-05 吉林大学 一种用于自动驾驶车快速查找交通对象的场景建模方法
US20210331695A1 (en) * 2020-04-28 2021-10-28 Rahul Ramakrishnan Object detection and tracking for automated operation of vehicles and machinery
US11675878B1 (en) 2020-04-30 2023-06-13 Everguard, Inc. Auto-labeling method for multimodal safety systems
US11803955B1 (en) 2020-04-30 2023-10-31 Everguard, Inc. Multimodal safety systems and methods
DE102020205525A1 (de) * 2020-04-30 2021-11-04 Zf Friedrichshafen Ag Verarbeitungssystem für ein Fahrzeug
WO2021226093A1 (en) * 2020-05-04 2021-11-11 Optimus Ride, Inc. Mapping system and method
DE102021112349A1 (de) * 2020-05-12 2021-11-18 Motional Ad Llc Fahrzeugbetrieb unter verwendung eines dynamischen belegungsrasters
US11399084B2 (en) * 2020-05-12 2022-07-26 Nxp Usa, Inc. Hot plugging of sensor
US11919545B2 (en) 2020-05-15 2024-03-05 Perceptive Automata, Inc. Scenario identification for validation and training of machine learning based models for autonomous vehicles
CN113689705B (zh) * 2020-05-19 2022-11-29 深圳市丰驰顺行信息技术有限公司 车辆闯红灯检测方法、装置、计算机设备和存储介质
US20210370941A1 (en) * 2020-05-27 2021-12-02 Baidu Usa Llc Precautionary slowdown speed planning
US11940786B2 (en) 2020-06-06 2024-03-26 Honeywell International Inc. Building management system and method with virtual controller and failsafe mode
US11829150B2 (en) * 2020-06-10 2023-11-28 Toyota Research Institute, Inc. Systems and methods for using a joint feature space to identify driving behaviors
US11769332B2 (en) * 2020-06-15 2023-09-26 Lytx, Inc. Sensor fusion for collision detection
US11520343B2 (en) 2020-06-15 2022-12-06 Argo AI, LLC Methods and systems for performing inter-trajectory re-linearization about an evolving reference path for an autonomous vehicle
US11574100B2 (en) * 2020-06-19 2023-02-07 Micron Technology, Inc. Integrated sensor device with deep learning accelerator and random access memory
US11891075B2 (en) * 2020-06-23 2024-02-06 Tusimple, Inc. Redundant hardware and software architecture for autonomous vehicles
US11605228B2 (en) 2020-06-26 2023-03-14 Nxp Usa, Inc. System and method for sensor fusion system having distributed convolutional neural network
US20200326721A1 (en) * 2020-06-26 2020-10-15 Intel Corporation Occupancy verification device and method
DE102020116959A1 (de) 2020-06-26 2021-12-30 Infineon Technologies Ag Watchdog-schaltung, schaltung, system-auf-chip, verfahren zum betrieb einer watchdog-schaltung, verfahren zum betrieb einer schaltung und verfahren zum betrieb eines systems-auf-chip
US11352023B2 (en) 2020-07-01 2022-06-07 May Mobility, Inc. Method and system for dynamically curating autonomous vehicle policies
DE102020208309A1 (de) * 2020-07-02 2022-01-05 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Erstellen eines maschinellen Lernsystems
CN111818037A (zh) * 2020-07-02 2020-10-23 上海工业控制安全创新科技有限公司 基于信息熵的车载网络流量异常检测防御方法及防御系统
WO2022014327A1 (ja) * 2020-07-14 2022-01-20 ソニーセミコンダクタソリューションズ株式会社 情報処理装置、情報処理方法、およびプログラム
CN112585583B (zh) * 2020-07-17 2021-12-03 华为技术有限公司 数据处理方法、装置及智能车辆
US11514588B1 (en) * 2020-07-21 2022-11-29 Amazon Technologies, Inc. Object localization for mapping applications using geometric computer vision techniques
US20220032932A1 (en) * 2020-07-29 2022-02-03 Micron Technology, Inc. Image sensor for processing sensor data to reduce data traffic to host system
US11463555B2 (en) 2020-08-04 2022-10-04 Nxp B.V. Local interconnect network (LIN) messaging between LIN partitions separated by a backbone communication network
US11594040B2 (en) * 2020-08-05 2023-02-28 Fca Us Llc Multiple resolution deep neural networks for vehicle autonomous driving systems
CN111915488B (zh) * 2020-08-05 2023-11-28 成都圭目机器人有限公司 大数据下的高性能图像瓦块图生成方法
JP7074166B2 (ja) * 2020-08-07 2022-05-24 トヨタ自動車株式会社 サーバ、車両の制御装置、および車両の機械学習システム
EP4196859A1 (en) * 2020-08-12 2023-06-21 Autonomous Solutions, Inc. Autonomous safety rider
US20230306633A1 (en) * 2020-08-18 2023-09-28 Foresight Automotive Ltd. System and method for pose estimation of sensors using motion and angular shift
US11553618B2 (en) 2020-08-26 2023-01-10 PassiveLogic, Inc. Methods and systems of building automation state load and user preference via network systems activity
EP3961255A1 (en) * 2020-08-28 2022-03-02 Aptiv Technologies Limited Driver assistance system for a vehicle, vehicle and a driver assistance method implementable by the system
WO2022051767A1 (en) * 2020-09-03 2022-03-10 The Regents Of The University Of California Temporally and spectrally adaptive sonar for autonomous vehicle navigation
DE102020211216B3 (de) 2020-09-07 2021-10-28 Volkswagen Aktiengesellschaft Verfahren, Computerprogramm und Vorrichtung für eine Netzwerkkomponente zur Auflösung einer ungeplanten Verkehrssituation für ein selbstfahrendes Fahrzeug.
CN112083456B (zh) * 2020-09-14 2023-04-07 电子科技大学 一种货运状态识别方法、装置、设备及存储介质
EP3967565B1 (en) * 2020-09-14 2022-09-28 Bayerische Motoren Werke Aktiengesellschaft Methods and apparatuses for estimating an environmental condition
DE102020123831A1 (de) * 2020-09-14 2022-03-17 ASFINAG Maut Service GmbH Konzept zum Unterstützen eines zumindest teilautomatisiert geführten Kraftfahrzeugs
US11321862B2 (en) 2020-09-15 2022-05-03 Toyota Research Institute, Inc. Systems and methods for multi-camera modeling with neural camera networks
US11615544B2 (en) 2020-09-15 2023-03-28 Toyota Research Institute, Inc. Systems and methods for end-to-end map building from a video sequence using neural camera models
US11494927B2 (en) 2020-09-15 2022-11-08 Toyota Research Institute, Inc. Systems and methods for self-supervised depth estimation
US11508080B2 (en) 2020-09-15 2022-11-22 Toyota Research Institute, Inc. Systems and methods for generic visual odometry using learned features via neural camera models
CN111929693B (zh) * 2020-09-18 2021-01-08 雷熵信息科技(潍坊)有限公司 一种基于激光点云距离序列的井下定位方法
CN112182133B (zh) * 2020-09-29 2022-02-15 南京北斗创新应用科技研究院有限公司 一种基于ais数据的船舶徘徊检测方法
DE102020126220A1 (de) 2020-10-07 2022-04-07 Valeo Schalter Und Sensoren Gmbh Verfahren zum Betreiben eines Fahrerassistenzsystems, Computerprogrammprodukt, Fahrerassistenzsystem und Fahrzeug
CN112389464A (zh) * 2020-10-19 2021-02-23 雅析安全系统(上海)有限公司 符合安全等级要求的自动驾驶远端控制方法及控制系统
US11978266B2 (en) 2020-10-21 2024-05-07 Nvidia Corporation Occupant attentiveness and cognitive load monitoring for autonomous and semi-autonomous driving applications
EP3988417A1 (en) * 2020-10-23 2022-04-27 Tusimple, Inc. Safe driving operations of autonomous vehicles
CN112277799B (zh) * 2020-10-30 2023-01-06 重庆长安汽车股份有限公司 一种汽车盲区检测报警方法及系统
CN112428989B (zh) * 2020-10-30 2022-03-11 惠州华阳通用电子有限公司 一种车辆控制方法
US11386784B2 (en) * 2020-11-02 2022-07-12 GM Global Technology Operations LLC Systems and methods for vehicle pose prediction
CN112286819A (zh) * 2020-11-03 2021-01-29 深圳市云伽智能技术有限公司 Adas系统的故障处理方法、装置、设备及存储介质
CN112345942B (zh) * 2020-11-09 2024-02-23 阳光储能技术有限公司 一种电池系统及其bms和满充满放soc校准方法
US11960993B2 (en) * 2020-11-10 2024-04-16 Equifax Inc. Machine-learning techniques involving monotonic recurrent neural networks
CN112256590B (zh) * 2020-11-12 2022-04-29 腾讯科技(深圳)有限公司 虚拟场景有效性判定方法、装置和自动驾驶系统
EP4002215A1 (en) * 2020-11-13 2022-05-25 NavInfo Europe B.V. Method to improve scale consistency and/or scale awareness in a model of self-supervised depth and ego-motion prediction neural networks
WO2022115009A1 (en) * 2020-11-24 2022-06-02 Telefonaktiebolaget Lm Ericsson (Publ) Network parameter for cellular network based on safety
WO2022115713A1 (en) * 2020-11-30 2022-06-02 Nuro, Inc. Hardware systems for an autonomous vehicle
CN112561152A (zh) * 2020-12-07 2021-03-26 安徽四创电子股份有限公司 一种基于聚类分析的公共安全重点区域点位规划方法
US11718287B2 (en) * 2020-12-09 2023-08-08 Bendix Commercial Vehicle Systems Llc Automated system and method for parking a commercial vehicle
CN114625424B (zh) * 2020-12-09 2023-09-29 博泰车联网科技(上海)股份有限公司 基于硬隔离的资源重分配方法、系统和设备
US11827240B2 (en) * 2020-12-09 2023-11-28 Uatc, Llc Systems and methods for costing autonomous vehicle maneuvers
WO2022132774A1 (en) * 2020-12-14 2022-06-23 May Mobility, Inc. Autonomous vehicle safety platform system and method
US11603116B2 (en) * 2020-12-16 2023-03-14 Zoox, Inc. Determining safety area based on bounding box
CN112596685A (zh) * 2020-12-17 2021-04-02 华南理工大学 一种基于arm核心的远程访问dlp 3d打印方法及装置
CN112590815B (zh) * 2020-12-22 2021-07-23 吉林大学 基于act-r的自动驾驶预测节能认知模型的构建方法
CN112622930A (zh) * 2020-12-22 2021-04-09 北京百度网讯科技有限公司 无人车的行驶控制方法、装置、设备以及自动驾驶车辆
GB2602369B (en) * 2020-12-23 2023-04-19 Motional Ad Llc Security gateway
CN112765095B (zh) * 2020-12-24 2022-08-23 山东省国土测绘院 一种立体测绘卫星影像数据归档方法和系统
CN112738469A (zh) * 2020-12-25 2021-04-30 浙江合众新能源汽车有限公司 图像处理方法、设备、系统和计算机可读介质
US20220206831A1 (en) * 2020-12-28 2022-06-30 Ati Technologies Ulc Method and system for managing applications on a virtual machine
CN112644517B (zh) * 2020-12-29 2022-01-25 北京宸控科技有限公司 一种井下车辆自动驾驶算法
CN112686609B (zh) * 2020-12-31 2021-08-13 江苏佳利达国际物流股份有限公司 基于优化效率评价算法的智能无人物流运输方法和系统
CN112550303A (zh) * 2021-01-12 2021-03-26 蔚来汽车科技(安徽)有限公司 车辆控制系统、车辆控制方法及存储介质
US20220222386A1 (en) * 2021-01-13 2022-07-14 University Of Florida Research Foundation, Inc. Decommissioning and erasing entropy in microelectronic systems
DE102021000246A1 (de) 2021-01-19 2022-07-21 Mercedes-Benz Group AG Steuerungsverfahren zum automatischen Aufbau oder zur automatischen Umschaltung einer Fahrzeugkommunikation zum Datenaustausch zwischen einem Fahrzeug und einer Gegenstelle
US11676403B2 (en) * 2021-01-21 2023-06-13 Hitachi Astemo, Ltd. Combining visible light camera and thermal camera information
FR3119118B1 (fr) * 2021-01-25 2022-12-09 Psa Automobiles Sa Procédé et dispositif de contrôle de témoins d’une interface homme-machine pour véhicule
US20220232763A1 (en) * 2021-01-27 2022-07-28 Deere & Company Machine control using a map with regime zones
US11489940B2 (en) * 2021-01-28 2022-11-01 Arm Limited Data processing systems
CN112818834B (zh) * 2021-01-29 2022-11-25 山东大学 一种交叉口针对应急车辆的避让判定方法、设备及介质
CN112884210B (zh) * 2021-01-31 2022-03-15 中国人民解放军63963部队 一种基于模糊聚类的车辆健康管理系统
US11580060B2 (en) * 2021-02-13 2023-02-14 Drako Motors, Inc. Policy driven latency control applied to a vehicular real time network apparatus
US20220266862A1 (en) * 2021-02-25 2022-08-25 Autonomous Solutions, Inc. Intelligent urgent stop system for an autonomous vehicle
CN113163108B (zh) * 2021-02-26 2022-04-29 山东英信计算机技术有限公司 图像采集系统
US20220281478A1 (en) * 2021-03-02 2022-09-08 Steering Solutions Ip Holding Corporation Motion monitoring safety diagnostic for the detection of erroneous autonomous motion requests
US11635507B2 (en) * 2021-03-03 2023-04-25 Adobe Inc. Systems for estimating three-dimensional trajectories of physical objects
US11827245B2 (en) 2021-03-09 2023-11-28 Toyota Motor Engineering & Manufacturing North America, Inc. Systems and methods for estimating motion of an automated vehicle for cooperative driving
US11214271B1 (en) * 2021-03-10 2022-01-04 Aurora Operations, Inc. Control system interface for autonomous vehicle
CN117015493A (zh) * 2021-03-15 2023-11-07 动态Ad有限责任公司 自动紧急制动系统
US11145208B1 (en) * 2021-03-15 2021-10-12 Samsara Networks Inc. Customized route tracking
CN113126130B (zh) * 2021-03-25 2022-06-24 中国电子科技集团公司第五十四研究所 一种多层次深耦合的导航信号异常高精度监测方法
US20210247743A1 (en) * 2021-03-26 2021-08-12 Intel Corporation Functional safety with root of safety and chain of safety
CN112896162B (zh) * 2021-03-29 2022-09-27 东风汽车集团股份有限公司 一种匝道工况下的汽车纵向行驶优化控制方法及装置
JP2022154943A (ja) * 2021-03-30 2022-10-13 本田技研工業株式会社 車両用制御システム、車両、制御方法
WO2022212944A1 (en) 2021-04-02 2022-10-06 May Mobility, Inc. Method and system for operating an autonomous agent with incomplete environmental information
US11954894B2 (en) 2021-04-08 2024-04-09 Rivian Ip Holdings, Llc Systems and methods for determining camera blockage
CN113400937B (zh) * 2021-04-15 2022-05-24 浙江吉利控股集团有限公司 车辆娱乐信息显示系统及车辆
CN113954879B (zh) * 2021-04-15 2023-09-19 上海丰豹商务咨询有限公司 具有融合感知和协同决策功能的车载智能单元和控制方法
KR102511142B1 (ko) * 2021-04-19 2023-03-17 대한민국 디지털 영상을 이용한 차량의 이동 경로 추정 장치 및 그 방법
US11967122B2 (en) 2021-04-19 2024-04-23 Argo AI, LLC Context aware verification for sensor pipelines
US20220334862A1 (en) * 2021-04-20 2022-10-20 Stmicroelectronics International N.V. Virtual mode execution manager
CN113011388B (zh) * 2021-04-23 2022-05-06 吉林大学 一种基于车牌及车道线的车辆外轮廓尺寸检测方法
US20220342702A1 (en) * 2021-04-26 2022-10-27 GM Global Technology Operations LLC Real-time scheduling for a heterogeneous multi-core system
CN113162809A (zh) * 2021-04-30 2021-07-23 腾讯科技(深圳)有限公司 驾驶辅助处理方法、装置、计算机可读介质及电子设备
US11768283B2 (en) 2021-05-03 2023-09-26 Waymo Llc Sound source distance estimation
TWI759194B (zh) * 2021-05-03 2022-03-21 廣達電腦股份有限公司 車用電子系統及其控制方法
DE102021113037A1 (de) * 2021-05-19 2022-11-24 B-Horizon GmbH Fahrzeugdatenkommunikationssystem zur Übermittlung von Fahrzeugdaten
CN113313271B (zh) * 2021-06-03 2022-09-30 国家电网有限公司客户服务中心 一种基于远程客服的电力系统故障报修方法及装置
CN113222295B (zh) * 2021-06-07 2022-05-27 吉林大学 一种面向l3级自动驾驶汽车控制权切换状态下的接管时间预测方法
US20220405573A1 (en) * 2021-06-18 2022-12-22 Ford Global Technologies, Llc Calibration for a distributed system
DE102021117311A1 (de) * 2021-07-05 2023-01-05 Spleenlab GmbH Steuer- und Navigationsvorrichtung für ein autonom bewegtes System und autonom bewegtes System
WO2023287052A1 (ko) * 2021-07-12 2023-01-19 재단법인대구경북과학기술원 관제 인프라를 이용한 다중 센서 융합 기반의 회피 경로 생성 방법 및 제어 장치
CN113386669A (zh) * 2021-07-13 2021-09-14 虹软科技股份有限公司 一种辅助驾驶系统及车辆
WO2023007209A1 (en) * 2021-07-26 2023-02-02 Molex, Llc Fault-tolerant distributed computing for vehicular systems
WO2023009549A2 (en) * 2021-07-26 2023-02-02 Cyngn, Inc. High-definition mapping
US11869353B2 (en) 2021-07-26 2024-01-09 Toyota Motor Engineering & Manufacturing North America, Inc. Vehicular topple risk notification
US11582064B1 (en) * 2021-07-28 2023-02-14 GM Cruise Holdings LLC. Secure ethernet and transmission control protocol
US20230029993A1 (en) * 2021-07-28 2023-02-02 Toyota Research Institute, Inc. Systems and methods for behavior cloning with structured world models
US11803668B2 (en) 2021-07-30 2023-10-31 Nvidia Corporation Isolating a region of a system on a chip for safety critical operations
DE112022001192T5 (de) * 2021-07-30 2023-12-21 Nvidia Corporation Isolierung eines Bereichs eines Systems auf einem Chip für sicherheitskritische Operationen
US11704067B2 (en) * 2021-08-02 2023-07-18 Nvidia Corporation Performing multiple point table lookups in a single cycle in a system on chip
WO2023014731A1 (en) 2021-08-02 2023-02-09 Cyngn, Inc. System and methods of adaptive relevancy prediction for autonomous driving
US11836527B2 (en) 2021-08-02 2023-12-05 Nvidia Corporation Accelerating table lookups using a decoupled lookup table accelerator in a system on a chip
JP7471756B2 (ja) 2021-08-04 2024-04-22 矢崎総業株式会社 車両システム
WO2023028277A1 (en) * 2021-08-25 2023-03-02 Cyngn, Inc. System and method of off-board-centric autonomous driving computation
CN113705474B (zh) * 2021-08-30 2022-04-15 北京易航远智科技有限公司 车位检测方法和装置
CN113721622B (zh) * 2021-08-31 2024-02-23 安徽工业大学 一种机器人路径规划方法
US20230060776A1 (en) * 2021-09-01 2023-03-02 Baidu Usa Llc Decision consistency profiler for an autonomous driving vehicle
US20230071312A1 (en) * 2021-09-08 2023-03-09 PassiveLogic, Inc. External Activation of Quiescent Device
US11830383B2 (en) 2021-09-08 2023-11-28 PassiveLogic, Inc. External activating of quiescent device
CN113984403A (zh) * 2021-09-13 2022-01-28 惠州市德赛西威智能交通技术研究院有限公司 一种Autobox端实时泊车试验台及泊车测试方法
US11626027B2 (en) 2021-09-13 2023-04-11 Morphix, Inc. Classifying possession or control of target assets
CN113568713A (zh) * 2021-09-22 2021-10-29 国汽智控(北京)科技有限公司 基于自动驾驶系统的数据处理方法、装置、设备及产品
CN113873200B (zh) * 2021-09-26 2024-02-02 珠海研果科技有限公司 一种图像标识方法及系统
CN113830106A (zh) * 2021-09-28 2021-12-24 英博超算(南京)科技有限公司 一种基于高精度六轴自动驾驶的实现方法
DE102021125525A1 (de) * 2021-10-01 2023-04-06 Deere & Company Verfahren zur Ausgabe von Kollisionswarnungen für ein land-wirtschaftliches Fahrzeuggespann
DE102021125672A1 (de) 2021-10-04 2023-04-06 Bayerische Motoren Werke Aktiengesellschaft Prozessorsystem für ein Fahrzeug und Verfahren zum Überwachen eines Prozesszustands nach einem Remote-Software-Update
CN113706737B (zh) * 2021-10-27 2022-01-07 北京主线科技有限公司 基于自动驾驶车辆的路面巡检系统及方法
CN114084141A (zh) * 2021-10-27 2022-02-25 东风汽车股份有限公司 一种电动教练车行驶模式切换方法
US20230136643A1 (en) * 2021-10-29 2023-05-04 Kyndryl, Inc. Intelligent locking of display devices for remote use
WO2023080891A1 (en) * 2021-11-04 2023-05-11 Zeku, Inc. System and method for dual-microcontroller unit parallel data processing
CN114066759B (zh) * 2021-11-18 2023-08-01 电子科技大学 一种基于fpga的红外图像实时畸变校正方法和系统
CN113822234B (zh) * 2021-11-22 2022-04-22 成都星宇融科电力电子股份有限公司 基于车载热成像的目标检测预警分析方法、系统及终端
US11527074B1 (en) * 2021-11-24 2022-12-13 Continental Automotive Technologies GmbH Systems and methods for deep multi-task learning for embedded machine vision applications
CN114179824B (zh) * 2021-11-30 2024-05-07 广东浪潮智慧计算技术有限公司 一种无人驾驶的计算系统
US20230171397A1 (en) * 2021-11-30 2023-06-01 Texas Instruments Incorporated Fail safe surround view
CN113868778B (zh) * 2021-12-02 2022-03-11 中智行科技有限公司 仿真场景管理方法和装置
US20230174110A1 (en) * 2021-12-03 2023-06-08 Zoox, Inc. Vehicle perception system with temporal tracker
US11687483B1 (en) * 2021-12-05 2023-06-27 Western Digital Technologies, Inc. Embedded physical layers with passive interfacing for configurable integrated circuits
TWI809592B (zh) * 2021-12-08 2023-07-21 財團法人工業技術研究院 模型預測控制系統及其方法
CN113911103B (zh) * 2021-12-14 2022-03-15 北京理工大学 一种混合动力履带车辆速度与能量协同优化方法及系统
CN114104002B (zh) * 2021-12-21 2023-11-21 华人运通(江苏)技术有限公司 自动驾驶系统监控方法、装置、设备和存储介质
CN114285693B (zh) * 2021-12-23 2023-04-21 延锋伟世通电子科技(上海)有限公司 Autosar网络flexray硬件buffer复用的实现方法及系统
DE102022201123A1 (de) 2022-02-03 2023-08-03 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zur Ermittlung einer Sichtweitendegradation eines LiDAR-Systems sowie Computerprogramm und maschinenlesbares Speichermedium
US11814072B2 (en) 2022-02-14 2023-11-14 May Mobility, Inc. Method and system for conditional operation of an autonomous agent
US20230280183A1 (en) * 2022-03-01 2023-09-07 Mobileye Vision Technologies Ltd. Machine learning-based traffic light relevancy mapping
CN114859847B (zh) * 2022-03-11 2023-05-09 四川大学 一种适用于互联非线性系统的可靠优化控制系统及方法
US20230286508A1 (en) * 2022-03-14 2023-09-14 Garrett Transportation I Inc. Non-selfish traffic lights passing advisory systems
CN114331645B (zh) * 2022-03-14 2022-08-05 广州宸祺出行科技有限公司 一种提升网约车的运力利用率的方法及系统
CN114739554B (zh) * 2022-04-02 2024-02-02 中国第一汽车股份有限公司 一种四驱车传动系扭转强度测试实验方法和评价方法
CN114537341A (zh) * 2022-04-24 2022-05-27 中国重汽集团济南动力有限公司 一种基于红外传感器的前向主动防碰撞系统及方法
WO2023211966A1 (en) * 2022-04-26 2023-11-02 Motional Ad Llc Scalable configurable chip architecture
WO2023211980A1 (en) * 2022-04-26 2023-11-02 Motional Ad Llc Boot process system-on-chip node configuration
WO2023206346A1 (en) * 2022-04-29 2023-11-02 Nvidia Corporation Detecting hardware faults in data processing pipelines
US20230410490A1 (en) * 2022-05-11 2023-12-21 Aptiv Technologies Limited Deep Association for Sensor Fusion
CN115050093A (zh) * 2022-05-23 2022-09-13 山东大学 一种基于分阶段多级金字塔的跨视角步态识别方法
CN115009291B (zh) * 2022-05-23 2023-05-23 暨南大学 基于网络演化重放缓冲区的自动驾驶辅助决策方法及系统
WO2023239008A1 (ko) * 2022-06-10 2023-12-14 엘지전자 주식회사 차량의 신호 처리 장치 및 이를 구비하는 차량용 통신 장치용 통신 장치
CN114815852B (zh) * 2022-06-14 2023-02-03 北京航空航天大学 一种基于空间离散化的cacc车队轨迹规划方法
US20230410423A1 (en) * 2022-06-15 2023-12-21 Gm Cruise Holdings Llc Three-dimensional motion grid system for autonomous vehicle perception
CN115240150A (zh) * 2022-06-21 2022-10-25 佛山仙湖实验室 基于单目相机的车道偏离预警方法、系统、设备及介质
CN115123385A (zh) * 2022-06-24 2022-09-30 中科领航智能科技(苏州)有限公司 一种无人巴士线控底盘及其自动驾驶系统
CN114817900A (zh) * 2022-06-24 2022-07-29 北京阿帕科蓝科技有限公司 一种车辆主控系统空中下载升级的验证方法及系统
EP4300236A1 (fr) * 2022-06-27 2024-01-03 Loxo AG Système de pilotage de véhicule autonome et méthode de gestion
CN114966618A (zh) * 2022-06-29 2022-08-30 威健国际贸易(上海)有限公司 一种使用mipi与hssl通信接口的daniellin型汽车激光雷达系统
US11914468B1 (en) * 2022-08-15 2024-02-27 Western Digital Technologies, Inc. NVMe boot partition error correction code enhancement
WO2024054746A1 (en) * 2022-09-07 2024-03-14 Cummins Inc. Vehicle braking management systems and methods
US20240089628A1 (en) * 2022-09-08 2024-03-14 Micron Technology, Inc. Image Compression using Integrated Circuit Devices having Analog Inference Capability
WO2024071944A1 (ko) * 2022-09-27 2024-04-04 엘지전자 주식회사 신호 처리 장치 및 이를 구비하는 차량용 디스플레이 장치
WO2024071942A1 (ko) * 2022-09-27 2024-04-04 엘지전자 주식회사 신호 처리 장치 및 이를 구비하는 차량용 디스플레이 장치
CN115269205B (zh) * 2022-09-27 2022-12-27 之江实验室 一种面向神经网络计算的内存优化方法和装置
US20240114162A1 (en) * 2022-09-29 2024-04-04 Nvidia Corporation Frame selection for streaming applications
CN115471495B (zh) * 2022-09-30 2024-02-13 北京瑞莱智慧科技有限公司 模型鲁棒性检测方法、相关装置及存储介质
WO2024085580A1 (ko) * 2022-10-18 2024-04-25 엘지전자 주식회사 신호 처리 장치 및 이를 구비하는 차량용 디스플레이 장치
CN115617217B (zh) * 2022-11-23 2023-03-21 中国科学院心理研究所 一种车辆状态的显示方法、装置、设备及可读存储介质
US11943328B1 (en) * 2022-11-29 2024-03-26 GM Global Technology Operations LLC Secure method and apparatus for mixed criticality services discovery in a vehicle
CN116071353B (zh) * 2023-03-06 2023-09-05 成都盛锴科技有限公司 一种螺栓装配检测方法及系统
CN116461539A (zh) * 2023-04-10 2023-07-21 北京辉羲智能科技有限公司 一种采集传感器时序数据的自动驾驶SoC芯片
CN116350190B (zh) * 2023-05-29 2023-08-18 中国第一汽车股份有限公司 一种驾驶能力确定方法、电子设备及存储介质
CN116339957B (zh) * 2023-05-30 2023-08-11 北京理工大学 一种异构分布式平台混合关键系统的任务调度方法及系统
CN116450207A (zh) * 2023-06-14 2023-07-18 北京鉴智科技有限公司 自动驾驶感知处理方法、装置、电子设备及存储介质
CN116620287B (zh) * 2023-06-30 2024-03-19 南京项尚车联网技术有限公司 一种智能驾驶方法、系统
US11954587B2 (en) * 2023-08-30 2024-04-09 Deepx Co., Ltd. System-on-chip for artificial neural network being operated according to dynamically calibrated phase of clock signal
CN116954950B (zh) * 2023-09-04 2024-03-12 北京凯芯微科技有限公司 一种核间通信方法和电子设备
CN117274781B (zh) * 2023-11-21 2024-04-16 成都合能创越软件有限公司 基于双管道信息交错车载实时检测方法及系统
CN117274941A (zh) * 2023-11-22 2023-12-22 安徽蔚来智驾科技有限公司 占用栅格预测方法和装置、智能设备和存储介质
CN117609749B (zh) * 2024-01-19 2024-04-02 中国航发四川燃气涡轮研究院 一种基于过临界特征的发动机整机振动故障诊断方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007141870A1 (ja) 2006-06-09 2007-12-13 Fujitsu Limited 温度センサ用リングオシレータ、温度センサ回路及びこれを備える半導体装置
WO2009078081A1 (ja) 2007-12-14 2009-06-25 Fujitsu Limited 半導体集積回路
US20100149193A1 (en) 2008-12-11 2010-06-17 Yu Meng-Shiue Method And System For Enabling Managed Code-Based Application Program To Access Graphics Processing Unit
JP2014516443A (ja) 2011-04-22 2014-07-10 クアルコム,インコーポレイテッド ポータブルコンピューティングデバイスにおける熱負荷の管理
JP2015524597A (ja) 2012-08-06 2015-08-24 クゥアルコム・インコーポレイテッドQualcomm Incorporated リリース一貫性メモリ順序付けモデルを用いたマルチコア計算キャッシュコヒーレンシ
JP2016075558A (ja) 2014-10-06 2016-05-12 日本電産エレシス株式会社 レーダシステム、レーダ信号処理装置、車両走行制御装置および方法、ならびにコンピュータプログラム
JP2016517207A (ja) 2013-03-13 2016-06-09 クゥアルコム・インコーポレイテッドQualcomm Incorporated ドライバの注意散漫検出および報告
US20160321074A1 (en) 2015-05-01 2016-11-03 Nvidia Corporation Programmable Vision Accelerator
JP2017062666A (ja) 2015-09-25 2017-03-30 富士ゼロックス株式会社 情報処理装置および画像形成装置
WO2017118907A1 (en) 2016-01-05 2017-07-13 Mobileye Vision Technologies Ltd. Systems and methods for estimating future paths

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4432265C2 (de) * 1994-09-10 1996-12-12 Daimler Benz Aerospace Ag Verfahren zur Bestimmung des Drehimpulsvektors eines Satelliten
KR101861742B1 (ko) 2011-08-30 2018-05-30 삼성전자주식회사 이종의 가속기들 사이에서 스위칭할 수 있는 데이터 처리 시스템과 그 방법
US8874162B2 (en) * 2011-12-23 2014-10-28 Microsoft Corporation Mobile device safe driving
US9123128B2 (en) * 2012-12-21 2015-09-01 Nvidia Corporation Graphics processing unit employing a standard processing unit and a method of constructing a graphics processing unit
US9098323B2 (en) 2013-09-05 2015-08-04 Nvidia Corporation Simultaneous utilization of a first graphics processing unit (GPU) and a second GPU of a computing platform through a virtual machine (VM) in a shared mode and a dedicated mode respectively
US9742869B2 (en) 2013-12-09 2017-08-22 Nvidia Corporation Approach to adaptive allocation of shared resources in computer systems
US9710714B2 (en) * 2015-08-03 2017-07-18 Nokia Technologies Oy Fusion of RGB images and LiDAR data for lane classification
US9767565B2 (en) * 2015-08-26 2017-09-19 Digitalglobe, Inc. Synthesizing training data for broad area geospatial object detection
CN205621018U (zh) * 2016-02-26 2016-10-05 陈进民 手机细胞/卷积神经网络加速器
WO2017177128A1 (en) 2016-04-08 2017-10-12 The Trustees Of Columbia University In The City Of New York Systems and methods for deep reinforcement learning using a brain-artificial intelligence interface
US10829116B2 (en) * 2016-07-01 2020-11-10 nuTonomy Inc. Affecting functions of a vehicle based on function-related information about its environment
WO2018057978A1 (en) * 2016-09-23 2018-03-29 Apple Inc. Decision making for autonomous vehicle motion control
CN106525057A (zh) * 2016-10-26 2017-03-22 陈曦 高精度道路地图的生成系统
CN110291477B (zh) * 2016-12-02 2022-08-16 嘉蒂克人工智能公司 车辆控制系统及使用方法
CN106647757B (zh) * 2016-12-23 2019-06-18 江西理工大学 基于组合个体差分演化的机器人路径规划方法
US10380886B2 (en) * 2017-05-17 2019-08-13 Cavh Llc Connected automated vehicle highway systems and methods
US10671076B1 (en) * 2017-03-01 2020-06-02 Zoox, Inc. Trajectory prediction of third-party objects using temporal logic and tree search
US10282995B2 (en) * 2017-09-05 2019-05-07 Starship Technologies Oü Mobile robot having collision avoidance system for crossing a road from a pedestrian pathway

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007141870A1 (ja) 2006-06-09 2007-12-13 Fujitsu Limited 温度センサ用リングオシレータ、温度センサ回路及びこれを備える半導体装置
WO2009078081A1 (ja) 2007-12-14 2009-06-25 Fujitsu Limited 半導体集積回路
US20100149193A1 (en) 2008-12-11 2010-06-17 Yu Meng-Shiue Method And System For Enabling Managed Code-Based Application Program To Access Graphics Processing Unit
JP2014516443A (ja) 2011-04-22 2014-07-10 クアルコム,インコーポレイテッド ポータブルコンピューティングデバイスにおける熱負荷の管理
JP2015524597A (ja) 2012-08-06 2015-08-24 クゥアルコム・インコーポレイテッドQualcomm Incorporated リリース一貫性メモリ順序付けモデルを用いたマルチコア計算キャッシュコヒーレンシ
JP2016517207A (ja) 2013-03-13 2016-06-09 クゥアルコム・インコーポレイテッドQualcomm Incorporated ドライバの注意散漫検出および報告
JP2016075558A (ja) 2014-10-06 2016-05-12 日本電産エレシス株式会社 レーダシステム、レーダ信号処理装置、車両走行制御装置および方法、ならびにコンピュータプログラム
US20160321074A1 (en) 2015-05-01 2016-11-03 Nvidia Corporation Programmable Vision Accelerator
JP2017062666A (ja) 2015-09-25 2017-03-30 富士ゼロックス株式会社 情報処理装置および画像形成装置
WO2017118907A1 (en) 2016-01-05 2017-07-13 Mobileye Vision Technologies Ltd. Systems and methods for estimating future paths

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FOLEY,Denis et al.,Ultra-Performance PASCAL GPU and NVlink Interconnect,IEEE Micro,米国,IEEE,2017年04月30日,Volume37,Issue2,pages:7-17
Hisa Ando,GPUを支える技術 ,第1版,株式会社技術評論社,第124頁-第130頁、第154頁、第262頁

Also Published As

Publication number Publication date
CN111587407A (zh) 2020-08-25
US11644834B2 (en) 2023-05-09
WO2019094843A1 (en) 2019-05-16
US20230176577A1 (en) 2023-06-08
EP3707572B1 (en) 2023-08-23
CN111587407B (zh) 2024-01-23
US20190258251A1 (en) 2019-08-22
WO2019094843A4 (en) 2019-07-18
JP2021508863A (ja) 2021-03-11
EP3707572A1 (en) 2020-09-16
US20240045426A1 (en) 2024-02-08

Similar Documents

Publication Publication Date Title
JP7346401B2 (ja) 安全で信頼できる自動運転車両のためのシステム及び方法
US20210342609A1 (en) Top-down object detection from lidar point clouds
US11885907B2 (en) Deep neural network for detecting obstacle instances using radar sensors in autonomous machine applications
US11531088B2 (en) Deep neural network for detecting obstacle instances using radar sensors in autonomous machine applications
WO2021041854A1 (en) Object detection and classification using lidar range images for autonomous machine applications
US11961243B2 (en) Object detection using image alignment for autonomous machine applications
US20220415059A1 (en) Multi-view deep neural network for lidar perception
US20220391766A1 (en) Training perception models using synthetic data for autonomous systems and applications
US20230135088A1 (en) 3d surface reconstruction with point cloud densification using deep neural networks for autonomous systems and applications
US20230130814A1 (en) Yield scenario encoding for autonomous systems
US20220349725A1 (en) High definition mapping for autonomous systems and applications
US20230136235A1 (en) 3d surface reconstruction with point cloud densification using artificial intelligence for autonomous systems and applications
JP2023021910A (ja) 自律マシン・アプリケーションにおける距離画像マッピングのための信念伝搬
US20230135234A1 (en) Using neural networks for 3d surface structure estimation based on real-world data for autonomous systems and applications
US20230406315A1 (en) Encoding junction information in map data
US20230213945A1 (en) Obstacle to path assignment for autonomous systems and applications
US20230136860A1 (en) 3d surface structure estimation using neural networks for autonomous systems and applications
JP2023066377A (ja) 自律システム及びアプリケーションのための人工知能を使用した点群高密度化を有する3d表面再構成
US20220333950A1 (en) System and methods for updating high definition maps
US20240028041A1 (en) Ground surface estimation using depth information for autonomous systems and applications
US20230351638A1 (en) Detecting hazards based on disparity maps using computer vision for autonomous machine systems and applications
US20240161341A1 (en) Sensor calibration for autonomous systems and applications
US20240161342A1 (en) Sensor calibration for autonomous systems and applications
US20230139772A1 (en) 3d surface structure estimation using neural networks for autonomous systems and applications
WO2024019922A1 (en) Ground surface estimation using depth information for autonomous systems and applications

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200710

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210112

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211027

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221129

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230224

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230428

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230526

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230905

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230906

R150 Certificate of patent or registration of utility model

Ref document number: 7346401

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150