(57)【要約】  自動運転は、世界で最も困難な計算処理上の問題の１つである。リアル・タイムで安全且つ快適に車を制御するためのコマンドを生成するには、カメラ、レーダ、ＬＩＤＡＲ、及びＨＤマップからの非常に大量のデータが処理されなければならない。この困難なタスクには、エネルギー効率が高く低電力の複合高性能ソフトウェアである専用スーパーコンピュータ、及びディープ・ラーニングＡＩアルゴリズムの飛躍的進展が必要である。このタスクに対応するために、本技術は、自動運転レベル３、４、及び／又は５のためのプラットフォームを含む、自動運転機能を容易にする高度なシステム及び方法を提供する。好ましい実施例において、本技術は、コンピュータ・ビジョン及び知られているＡＤＡＳ技法を活用する自動運転車両用のアーキテクチャを含む多様性及び冗長性をもたらすとともに機能安全基準を満たす柔軟なアーキテクチャを備えた、エンド・ツー・エンド・プラットフォームを提供する。本技術は、車、タクシー、トラック、及びバス、並びに船舶及び航空機を含む広範な自動運転車両を可能にする柔軟で拡張可能なプラットフォームに組み込まれ得る、より高速で、より信頼性が高く、より安全で、エネルギー効率が高く、空間効率が高いシステム・オン・チップを提供する。【特許請求の範囲】
【請求項１】
システム・オン・チップであって、
仮想化をサポートする少なくとも１つのＣＰＵと、
超並列処理を提供する少なくとも１つのＧＰＵと、
少なくとも１つのコンピュータ・ビジョン・ハードウェア・ベース・アクセラレータと、
少なくとも１つのディープ・ラーニング・ハードウェア・ベース・アクセラレータと
を特徴とし、
少なくとも１つのメモリ・デバイス・インターフェースが、システム・オン・ザ・チップによって実行されると前記システム・オン・チップが自動運転車両コントローラとして動作することを可能にする命令を記憶する少なくとも１つのメモリ・デバイスに前記システム・オン・チップを接続するように構造化されることをさらに特徴とする、
システム・オン・チップ。
【請求項２】
前記システム・オン・チップが、前記自動運転車両コントローラが、ＳＡＥ規格Ｊ３０１６によって定義されたレベル５完全自動運転に実質的に準拠することを可能にするように構造化及び設計されることをさらに特徴とする、請求項１に記載のシステム・オン・チップ。
【請求項３】
前記システム・オン・チップが、前記自動運転車両コントローラが、ＩＳＯ規格２６２６２によって定義された完全性レベル「Ｄ」に実質的に準拠することを可能にするように構造化及び設計されることをさらに特徴とする、請求項１又は２に記載のシステム・オン・チップ。
【請求項４】
システム・オン・チップであって、
仮想化をサポートする少なくとも１つのＣＰＵと、
超並列処理を提供する少なくとも１つのＧＰＵと、
少なくとも１つのコンピュータ・ビジョン・ハードウェア・ベース・アクセラレータと、
少なくとも１つのディープ・ラーニング・ハードウェア・ベース・アクセラレータと
を特徴とし、
少なくとも１つのメモリ・デバイス・インターフェースが、システム・オン・ザ・チップによって実行されると前記システム・オン・チップが自動運転車両コントローラとして動作することを可能にする命令を記憶する少なくとも１つのメモリ・デバイスに前記システム・オン・チップを接続するように構造化されることをさらに特徴とする、システム・オン・チップ。
【請求項５】
前記少なくとも１つのＣＰＵ、前記少なくとも１つのＧＰＵ、前記少なくとも１つのコンピュータ・ビジョン・ハードウェア・ベース・アクセラレータ、及び前記少なくとも１つのディープ・ラーニング・ハードウェア・ベース・アクセラレータが、前記自動運転車両コントローラが、国際標準化機構の規格２６２６２によって定義された完全性レベル「Ｄ」に実質的に準拠することを可能にするように構造化及び相互接続されることをさらに特徴とする、請求項４に記載のシステム・オン・チップ。
【請求項６】
自動運転車両を制御するためのシステムであって、
ＣＰＵと、ＧＰＵと、ディープ・ラーニング・アクセラレータとを含む少なくとも１つのシステム・オン・チップと、
前記システム・オン・チップに接続された少なくとも１つのメモリ・デバイスであって、前記ＣＰＵ、前記ＧＰＵ、及び／又は前記ディープ・ラーニング・アクセラレータによって実行されると、国際標準化機構の規格２６２６２によって定義された自動車安全完全性レベルＤに実質的に準拠する自動運転車両制御を提供する命令を記憶するメモリ・デバイスをさらに特徴とする前記少なくとも１つのシステム・オン・チップ
を特徴とする、自動運転車両を制御するためのシステム。
【請求項７】
前記システム・オン・チップが、国際標準化機構の規格２６２６２における安全完全性レベルＤに実質的に準拠する自動運転車両制御を提供する少なくとも１つのコンピュータ・ビジョン・アクセラレータを含むことをさらに特徴とする、請求項６に記載の自動運転車両を制御するためのシステム。
【請求項８】
システム・オン・チップであって、
少なくとも１つのコンピュータ・ビジョン・アクセラレータと、
少なくとも１つのディープ・ラーニング・アクセラレータと
を特徴とし、
前記コンピュータ・ビジョン・アクセラレータ及び／又は前記ディープ・ラーニング・アクセラレータによって実行されると国際標準化機構の規格２６２６２によって定義された機能安全完全性レベル「Ｄ」に実質的に準拠する自動運転車両制御を可能にする自動運転車両制御命令を記憶する少なくとも１つのメモリ・デバイスに前記システム・オン・チップを接続するための少なくとも１つのメモリ・デバイス・インターフェースをさらに特徴とする、システム・オン・チップ。
【請求項９】
車輪によって支持される本体と、
パワー・トレインと、
センサと
を特徴とし、
前記パワー・トレイン及び前記センサに結合されたシステム・オン・チップであって、前記センサからデータを受け取り、前記パワー・トレインを少なくとも一部は制御し、
仮想化をサポートする少なくとも１つのＣＰＵと、
超並列処理を提供する少なくとも１つのＧＰＵと、
少なくとも１つのコンピュータ・ビジョン・ハードウェア・ベース・アクセラレータと、
少なくとも１つのディープ・ラーニング・ハードウェア・ベース・アクセラレータと、
システム・オン・ザ・チップによって実行されると前記システム・オン・チップが自動運転車両コントローラとして動作することを可能にする命令を記憶する少なくとも１つのメモリ・デバイスに前記システム・オン・チップを接続するように構造化された少なくとも１つのメモリ・デバイス・インターフェースと
を含むシステム・オン・チップをさらに特徴とする、自動運転車両。
【請求項１０】
前記システム・オン・チップが、前記自動運転車両コントローラが、ＩＳＯ規格及びＳＡＥ規格の下で完全性レベル「Ｄ」におけるレベル３〜５自動運転車両性能に実質的に準拠することを可能にするように構造化及び設計されることをさらに特徴とする、請求項９に記載のシステム・オン・チップ。
【請求項１１】
センサ・データを前処理するためのプリプロセッサと、
前記プリプロセッサからの前処理されたセンサ・データからアフォーダンスを認知するための１つ又は複数の認知器と、
ワールド・モデルに少なくとも一部は基づいて生成されたルート計画を実行するためのナビゲータと
を特徴とし、
前記１つ又は複数の認知器からの前記認知されたアフォーダンスに少なくとも一部は基づいて維持されるワールド・モデルをさらに特徴とする、自動運転車両制御システム。
【請求項１２】
前記１つ又は複数の認知器が、
障害物アフォーダンスを認知するための障害物認知器と、
経路アフォーダンスを認知するための経路認知器と、
待ち状態アフォーダンスを認知するための待ち状態認知器と、
地図アフォーダンスを認知するための地図認知器と
を含む前記複数の認知器からの少なくとも１つの認知器を備えることをさらに特徴とする、請求項１１に記載のシステム。
【請求項１３】
前記１つ又は複数の認知器が、少なくとも地図アフォーダンスを認知するための前記地図認知器を含むことをさらに特徴とし、前記システムが、
前記地図認知器からの出力に基づいて自動運転車両のためのローカライゼーションを実行するためのローカライザを備える
ことをさらに特徴とする、請求項１２に記載のシステム。
【請求項１４】
前記ローカライザが、前記地図認知器からの前記出力とマッピング・データ・プロバイダからの地図データを処理することによって、前記自動運転車両のためのローカライゼーションを実行することをさらに特徴とする、請求項１３に記載のシステム。
【請求項１５】
前記マッピング・データ・プロバイダがクラウド・マッピング・データ・プロバイダを含むことをさらに特徴とする、請求項１４に記載のシステム。
【請求項１６】
前記プリプロセッサが、
車線プリプロセッサと、
自己較正器と、
エゴ・モーション推定器と、
軌跡推定器と
を含むプリプロセッサのリストからの少なくとも１つのプリプロセッサを備えることをさらに特徴とする、請求項１１に記載のシステム。
【請求項１７】
前記センサ・データが、
カメラ・センサと、
ＬＩＤＡＲセンサと、
レーダ・センサと、
慣性測定ユニットと
を含むセンサのセットからの１つ又は複数のセンサによって生成されたデータを含むことをさらに特徴とする、請求項１６に記載のシステム。
【請求項１８】
前記自己較正器が、前記１つ又は複数のセンサに対する自己較正を実行することをさらに特徴とする、請求項１７に記載のシステム。
【請求項１９】
前記自己較正器が、前記１つ又は複数のセンサによって作成されたセンサ出力及びセンサ基準データのセットに基づいて前記１つ又は複数のセンサに対する自己較正を実行することをさらに特徴とする、請求項１７に記載のシステム。
【請求項２０】
前記センサ・データがカメラ・センサ・データと、ＬＩＤＡＲセンサ・データとを含み、前記車線プリプロセッサが、少なくとも前記カメラ・センサ・データ及び前記ＬＩＤＡＲセンサ・データに基づいて車線検出を実行することをさらに特徴とすることをさらに特徴とする、請求項１６に記載のシステム。
【請求項２１】
前記プリプロセッサが軌跡推定器を備え、前記センサ・データがＬＩＤＡＲセンサ・データを含み、前記１つ又は複数の認知器が障害物認知器を含むことをさらに特徴とし、
前記障害物認知器が、少なくとも前記ＬＩＤＡＲセンサ・データ及び前記軌跡推定器からの軌跡推定に基づいて障害物アフォーダンスを認知することをさらに特徴とする、請求項１６に記載のシステム。
【請求項２２】
前記ナビゲータが、
前記ワールド・モデルに基づいてルート計画を生成するためのルート計画器と、
前記ルート計画に基づいてルートを完成させるために１つ又は複数の制御動作を生成するための制御計画器と、
前記ルート計画を実行するために前記１つ又は複数の制御動作を実行するためのアクチュエータと
を備えることをさらに特徴とする、請求項１１に記載のシステム。
【請求項２３】
前記１つ又は複数の認知器が障害物認知器を含むことをさらに特徴とし、
前記障害物認知器の出力が、
動的占有率グリッドと、
空き空間アフォーダンスと、
１つ又は複数の認知された対象物に対応する軌道のセットと
を含む出力のリストからの少なくとも１つの出力を含むことをさらに特徴とする、請求項１２に記載のシステム。
【請求項２４】
前記１つ又は複数の認知器が経路認知器を含むことをさらに特徴とし、
前記経路認知器の出力が、追従車線グラフを含むことをさらに特徴とする、請求項１２に記載のシステム。
【請求項２５】
前記１つ又は複数の認知器が、障害物認知器と、経路認知器と、待ち状態認知器とを含むことをさらに特徴とし、
経路内判定が、
空き空間アフォーダンス及び前記障害物認知器からの１つ又は複数の認知された対象物に対応する軌道のセット、
前記経路認知器からの追従車線グラフ、並びに
前記待ち状態認知器からの１つ又は複数の待ち状態の識別
に基づいて生成されることをさらに特徴とする、請求項１２に記載のシステム。
【請求項２６】
前記経路内判定が、前記障害物認知器、経路認知器、及び待ち状態認知器からの出力によって連続的に更新されることをさらに特徴とし、
前記ワールド・モデルが前記経路内判定に基づいて維持されることをさらに特徴とする、請求項２５に記載のシステム。
【請求項２７】
カメラ・センサから画像データを受け取るために接続されたカメラ方位較正器と、
ＬＩＤＡＲセンサからＬＩＤＡＲデータを受け取るために接続されたＬＩＤＡＲ方位較正器と、
レーダ・センサからレーダ・データを受け取るために接続されたレーダ方位較正器と
を特徴とし、
前記カメラ方位較正器、前記ＬＩＤＡＲ方位較正器、及び前記レーダ方位較正器のうちの少なくとも１つが、前記較正器が受け取るデータを提供するセンサ以外のセンサの方位を較正するために使用されるデータを生成することをさらに特徴とする、
車両自己較正器。
【請求項２８】
ワールド・モデルを記憶するワールド・モデル記憶域と、
クラウド・ベース・マッピング・システムと通信する通信器であって、前記クラウド・ベース・マッピング・システムから地理情報を受信し、前記受信された地理情報に応じて前記記憶されたワールド・モデルを更新する通信器と、
障害物及び所在地キューを検出するために新着画像及び他のセンサ入力データを処理するように構成された超並列センサ入力プロセッサと、
前記超並列センサ入力プロセッサ及び前記記憶されたワールド・モデルに動作可能に結合された車線追従エンジンであって、ディープ・ラーニング・ハードウェア・アクセラレータとともに加速された少なくとも１つのニューラル・ネットワークを使用して、車両を車線内で運転させるために挙動制御信号を生成する車線追従エンジンと
を備える運転制御システム。
【請求項２９】
前記車線追従エンジン及び超並列センサ入力プロセッサが、互いと相互接続された複数のシステム・オン・チップを備える処理構成において実施されることをさらに特徴とする、請求項２８に記載の運転制御システム。
【請求項３０】
前記処理構成が、仮想マシンに、実行中の高性能アプリケーションを提供し、前記仮想マシンが、前記実行中の高性能アプリケーションを隔離することをさらに特徴とする、請求項２９に記載の運転制御システム。
【請求項３１】
前記仮想マシンが、前記複数のシステム・オン・チップとは別であるマイクロコントローラを含むエラー報告チェーンにエラーを報告するエラー・モニタを含むことをさらに特徴とする、請求項３０に記載の運転制御システム。
【請求項３２】
前記エラー・モニタがディープ・パケット・エラー検出器を含むことをさらに特徴とする、請求項３１に記載の運転制御システム。
【請求項３３】
軌跡推定器が、車両姿勢のシーケンスとしてパラメータ化され、オドメトリ及び／又は慣性センシングに少なくとも一部は基づいて実行される深度マッピングに少なくとも一部は基づいて動作することをさらに特徴とする、請求項２８に記載の運転制御システム。
【請求項３４】
動的占有率グリッドが、空間次元と時間次元とを有する体積測定配列であることをさらに特徴とする、請求項２８に記載の運転制御システム。
【請求項３５】
センサ自己較正器が、検知された垂直ランドマーク及び／又は検知された接地平面に少なくとも一部は基づいて少なくとも１つの方位用センサを較正するように構成されることをさらに特徴とする、請求項２８に記載の運転制御システム。
【請求項３６】
経路内及び自由形式待ち状態処理をさらに特徴とする、請求項２８に記載の運転制御システム。
【請求項３７】
挙動計画器、車線計画器、及びルート計画器を特徴とし、前記挙動計画器が前記車線計画器に入力を提供し、前記車線計画器が前記挙動計画器入力を処理し、前記ルート計画器への適用のための出力を生成し、前記ルート計画器が、前記記憶されたワールド・モデルと協働して、前記ワールド・モデルを通るルートを計画する、請求項２８に記載の運転制御システム。
【請求項３８】
処理コアが仮想マシンに割り振られることを特徴とする少なくとも１つのシステム・オン・チップと、
ハードウェアにおいて又はその近くで動作するハイパーバイザであって、前記仮想マシンによるＧＰＵなどの処理リソースの使用をスケジュールするハイパーバイザと
を特徴とし、
前記仮想マシンのうちの少なくとも１つが、侵入攻撃を検出及び軽減するニューラル・ネットワークを含む、
仮想化運転制御システム。
【請求項３９】
処理コアが複数のパーティションに割り振られることを特徴とする少なくとも１つのシステム・オン・チップと、
前記複数のパーティションによる処理リソースの使用をスケジュールするハイパーバイザと
を特徴とし、
前記パーティションのうちの少なくとも１つが、侵入攻撃を検出及び軽減するニューラル・ネットワーク・ベース・セキュリティ・パーティションを特徴とする、
パーティション化された運転制御システム。
【請求項４０】
複数のパーティションに割り振られた処理コアが高性能アプリケーションを実行することを特徴とする少なくとも１つのシステム・オン・チップと、
前記複数のパーティションをモニタするウォッチドッグ・モニタであって、前記実行中の高性能アプリケーションをモニタし、エラー状態を検出し、検出されたエラー状態を、前記複数のパーティションから隔離された安全パーティションに報告するように構造化されるウォッチドッグ・モニタ
を特徴とするパーティション化された運転制御システム。
【請求項４１】
前記安全パーティション及び前記複数のパーティションが異なるハードウェア上で動作することをさらに特徴とする、請求項４０に記載のパーティション化された運転制御システム。
【請求項４２】
前記安全パーティション及び前記複数のパーティションが、同じハードウェア上で動作する異なる仮想マシンを備えることをさらに特徴とする、請求項４０に記載のパーティション化された運転制御システム。
【請求項４３】
前記安全パーティションが安全プロセッサ・コア上で実行することをさらに特徴とする、請求項４０に記載のパーティション化された運転制御システム。
【請求項４４】
前記安全処理コアが前記システム・オン・チップの一部であることをさらに特徴とする、請求項４３に記載のパーティション化された運転制御システム。
【請求項４５】
前記安全処理コアが前記システム・オン・チップの一部でないことをさらに特徴とする、請求項４３に記載のパーティション化された運転制御システム。
【請求項４６】
前記安全処理コアが前記システム・オン・チップの一部であり、前記システムが、前記システム・オン・チップの一部でない追加の安全処理コアをさらに含むことをさらに特徴とし、前記システム・オン・チップの一部である前記安全処理コアが、前記システム・オン・チップの一部でない前記追加の安全処理コアと通信することをさらに特徴とする、請求項４３に記載のパーティション化された運転制御システム。
【請求項４７】
前記追加の安全処理コアが、エラー信号ピンを介してエラー信号を受け取るために接続されることをさらに特徴とする、請求項４６に記載のパーティション化された運転制御システム。
【請求項４８】
前記追加の安全処理コアが、前記システム・オン・チップの一部でない前記追加の安全処理コアが前記システム・オン・チップの一部である前記安全処理コアと通信することを可能にするバス上でチャレンジ／レスポンス・プロトコルを実行することをさらに特徴とする、請求項４６に記載のパーティション化された運転制御システム。
【請求項４９】
前記ウォッチドッグ・モニタがハードウェア・エラー検出器を含むことをさらに特徴とする、請求項４０に記載のパーティション化された運転制御システム。
【請求項５０】
ワールド・モデルと、
前記ワールド・モデルに接続された１つ又は複数の認知器であって、障害物、経路、待ち状態、及び地図認知器を特徴とし、ディープ・ラーニング・アクセラレータを含む少なくとも１つのシステム・オン・チップ上で実行する１つ又は複数の認知器と、
少なくとも前記地図認知器と通信するクラウド・ベース・システムであって、運転履歴及び／又は複数の車両の運転に基づいた前記モデルの更新を可能にするクラウド・ベース・システム
を特徴とする車両制御プラットフォーム。
【請求項５１】
挙動計画器と、
車線計画器と、
ルート計画器と、
挙動選択器と
を特徴とし、
前記挙動計画器、前記車線計画器、及び前記ルート計画器が、階層的に相互接続され、１つ又は複数のハードウェア・ベース・ディープ・ラーニング・アクセラレータを使用して実行することをさらに特徴とする、
車両コントローラ。
【請求項５２】
ルートをマップするように構成されたルート・マッパーと、
ローカライズされたジオ・データを判定するように構成されたローカライザと、
少なくとも前記ルート・マッパー及び前記ローカライザに動作可能に結合されたクラウド・ベース・マッチャー及びタイラーと
を特徴とし、
前記ルート・マッパーが、ハードウェア・アクセラレータを用いて超並列処理された多次元センサ・データの結果を処理することをさらに特徴とする、
ＡＳＩＬ  Ｄ  自動運転車両コントローラ。
【請求項５３】
ＣＰＵ
を特徴とし、
ディープ・ラーニング・アクセラレータをさらに特徴とする、
自動運転車両コントローラ。
【請求項５４】
ＣＰＵ
を特徴とし、
仮想化実行システムをさらに特徴とする、
自動運転車両コントローラ。
【請求項５５】
ＣＰＵ
を特徴とし、
レイ・トレーシング・アクセラレータをさらに特徴とする、
自動運転車両コントローラ。
【請求項５６】
ＣＰＵ
を特徴とし、
ニューラル・ネットワークに結合されたワールド・モデルをさらに特徴とする、
自動運転車両コントローラ。
【請求項５７】
ＣＰＵ
を特徴とし、
安全モニタＭＣＵをさらに特徴とする、
自動運転車両コントローラ。
【請求項５８】
ＣＰＵ
を特徴とし、
３レベル安全モニタをさらに特徴とする、
自動運転車両コントローラ。
【請求項５９】
パワー・トレインと、
ディープ・ラーニング・アクセラレータを含むコントローラと
を備える自動運転車両。
【請求項６０】
パワー・トレインと、
ディープ・ラーニング・アクセラレータを含むＳＯＣと
を備える自動運転車両。
【請求項６１】
パワー・トレインと、
ＡＳＩＬ  Ｄ  ＳＯＣコントローラと
を備える自動運転車両。
【請求項６２】
ＣＡＮバスと、
ＡＳＩＬ  Ｄ  ＳＯＣと
を備える自動運転車両。
【請求項６３】
カメラ・データを前処理する超並列プロセッサを備えるＧＰＵと、
ＡＳＩＬ  Ｄ  ＳＯＣと
を備える自動運転車両。
【請求項６４】
パワー・トレインと、
１つよりも多く３つよりも少ないＳＯＣを備える自動運転コントローラと
を備え、
前記コントローラがＡＳＩＬ  Ｄに実質的に準拠する、
自動運転車両。
【請求項６５】
パワー・トレインと、
１つよりも多く３つよりも少ないＳＯＣを備える自動運転コントローラと
を備え、
前記コントローラが、完全な自動運転車両動作のためにＡＳＩＬ  Ｄに実質的に準拠する、
自動運転車両。
【請求項６６】
ブレーキ・システムと、
前記ブレーキ・システムを自動的に作動させるコントローラであって、各々がディープ・ラーニング・アクセラレータを含む、１つよりも多く３つよりも少ないＳＯＣを備えるコントローラと
を備える自動運転車両。
【請求項６７】
ブレーキ・システムと、
前記ブレーキ・システムを自動的に作動させるコントローラであって、仮想パーティションをモニタするマルチレベル安全モニタを備えるコントローラと
を備える自動運転車両。
【請求項６８】
ビデオ・ストリーミング・センサと、
各々がディープ・ラーニング・アクセラレータを含む、１つよりも多く３つよりも少ないＳＯＣを備えるコントローラであって、前記センサの出力のディープ・パケット・インスペクションを実行するコントローラと
を備える自動運転車両。
【請求項６９】
ＣＰＵと、
ＧＰＵと、
メモリと、
３レベル安全モニタと
を備えるＳＯＣ。
【請求項７０】
ハウジングと、
冷却ファンと、
その上に第１のＳＯＣ及び第２のＳＯＣを有する基板であって、前記第１のＳＯＣ及び前記第２のＳＯＣのうちの少なくとも１つがディープ・ラーニング・アクセラレータを含む、基板と
を備え、
コントローラ・モジュールが、ＩＳＯ規格２６２６２によって定義されるＡＳＩＬ  Ｄに実質的に準拠する、
自動運転車両コントローラ・モジュール。
【請求項７１】
前記ＳＯＣのうちの少なくとも１つがリアル・タイム・レイ・トレーシング・アクセラレーション・ハードウェアを含む、請求項７０に記載のモジュール。
【請求項７２】
前記レイ・トレーシング・ハードウェアが空間衝突解析を実行するように構成される、請求項７１に記載のモジュール。
【請求項７３】
前記第１のＳＯＣと前記第２のＳＯＣとの間の高速通信を提供するバスをさらに含む、請求項７０に記載のモジュール。
【請求項７４】
前記バスが第３のＳＯＣへの拡張を提供する、請求項７３に記載のモジュール。
【請求項７５】
前記第１のＳＯＣ及び前記第２のＳＯＣと通信する安全モニタ・マイクロコントローラをさらに含む、請求項７０に記載のモジュール。
【請求項７６】
前記第１のＳＯＣ及び前記第２のＳＯＣが各々、前記安全モニタ・マイクロコントローラと通信するウォッチドッグ・モニタを含む、請求項７５に記載のモジュール。
【請求項７７】
前記ウォッチドッグ・モニタがソフトウェアを備える、請求項７６に記載のモジュール。
【請求項７８】
前記ウォッチドッグ・モニタがハードウェアを備える、請求項７６に記載のモジュール。
【請求項７９】
前記ウォッチドッグ・モニタが、ソフトウェアと、ハードウェアとを備える、請求項７６に記載のモジュール。
【請求項８０】
前記ウォッチドッグ・モニタが仮想パーティション内で実行する、請求項７６に記載のモジュール。
【請求項８１】
前記仮想パーティションが、高性能アプリケーション・パーティションと、安全パーティションとを含む、請求項８０に記載のモジュール。
【請求項８２】
前記パーティションが、共通ＣＰＵ上で実行する仮想マシンを備える、請求項８１に記載のモジュール。
【請求項８３】
前記仮想マシンが互いから隔離される、請求項８２に記載のモジュール。
【請求項８４】
前記仮想マシンが、仮想マシン間通信を介して互いと通信する、請求項８３に記載のモジュール。
【請求項８５】
前記仮想マシンがニューラル・ネットワークを実行する、請求項８３に記載のモジュール。
【請求項８６】
前記ニューラル・ネットワークがパターン認識を実行する、請求項８５に記載のモジュール。
【請求項８７】
前記ニューラル・ネットワークが衝突検出を実行する、請求項８６に記載のモジュール。
【請求項８８】
前記ニューラル・ネットワークが車線プランニングを実行する、請求項８７に記載のモジュール。
【請求項８９】
前記ニューラル・ネットワークがディープ・ニューラル・ネットワークを含む、請求項８７に記載のモジュール。
【請求項９０】
予約済み。
【請求項９１】
予約済み。
【請求項９２】
予約済み。
【請求項９３】
予約済み。
【請求項９４】
予約済み。
【請求項９５】
予約済み。
【請求項９６】
予約済み。
【請求項９７】
予約済み。
【請求項９８】
予約済み。
【請求項９９】
予約済み。
【請求項１００】
予約済み。
【請求項１０１】
中央処理ユニット複合体と、
グラフィックス処理ユニットと、
プログラマブル・ビジョン・アクセラレータと、
ディープ・ラーニング・アクセラレータと、
オン・チップ・メモリと
をさらに特徴とする、埋め込みハードウェア・アクセラレーション複合体と
を特徴とする、自律運転車両のためのシステム・オン・チップ。
【請求項１０２】
前記グラフィックス処理ユニットがＨＢＭメモリを含む
ことをさらに特徴とする、請求項１０［００５４２］に記載のシステム・オン・チップ。
【請求項１０３】
前記ＨＢＭメモリがＨＢＭ２メモリである
ことをさらに特徴とする、請求項１０［００５４２］に記載のシステム・オン・チップ。
【請求項１０４】
前記グラフィックス処理ユニットが、独立並列整数及び浮動小数点データ・パスを含む複数のストリーミング・マイクロプロセッサを備える
ことをさらに特徴とする、請求項１０［００５４２］に記載のシステム・オン・チップ。
【請求項１０５】
前記グラフィックス処理ユニットが、独立スレッド・スケジューリング能力を含む複数のストリーミング・マイクロプロセッサを備える
ことをさらに特徴とする、請求項１０［００５４２］に記載のシステム・オン・チップ。
【請求項１０６】
前記グラフィックス処理ユニットがユニファイド・メモリを含む
ことをさらに特徴とする、請求項１０［００５４２］に記載のシステム・オン・チップ。
【請求項１０７】
前記ユニファイド・メモリが、前記中央処理ユニット複合体及び前記グラフィックス処理ユニットに単一ユニファイド仮想アドレス空間を提供する
ことをさらに特徴とする、請求項１０１０６に記載のシステム・オン・チップ。
【請求項１０８】
ロックステップ・モードで動作し、単一のコアとして機能するように構成された複数のプロセッサ・コアと、
前記複数のプロセッサ・コアによって実行される動作間の差を検出する比較論理と
を特徴とする安全クラスタ・エンジン
をさらに特徴とする、請求項１０［００５４２］に記載のシステム・オン・チップ。
【請求項１０９】
メモリ・コントローラ
をさらに特徴とする、請求項１０［００５４２］に記載のシステム・オン・チップ。
【請求項１１０】
前記システム・オン・チップのパワー状態遷移を制御するように構成されたブート及びパワー管理プロセッサ
をさらに特徴とする、請求項１０［００５４２］に記載のシステム・オン・チップ。
【請求項１１１】
前記ブート及びパワー管理プロセッサが、前記システム・オン・チップの熱状態をモニタし、反応して前記システム・オン・チップのパワー状態を管理するようにさらに構成される
ことをさらに特徴とする、請求項１１０に記載のシステム・オン・チップ。
【請求項１１２】
Ｌ３キャッシュが前記中央処理ユニット複合体及び前記グラフィックス処理ユニットによって共有される
ことをさらに特徴とする、請求項１０１０９に記載のシステム・オン・チップ。
【請求項１１３】
複数の温度センサ
をさらに特徴とする、請求項１０［００５４２］に記載のシステム・オン・チップ。
【請求項１１４】
各々、出力周波数が温度に比例する１つ又は複数のリング・オシレータを特徴とする、前記複数の温度センサ
をさらに特徴とする、請求項１１１３に記載のシステム・オン・チップ。
【請求項１１５】
前記複数の温度センサが、前記中央処理ユニット複合体グループ、前記グラフィックス処理ユニット、及び前記アクセラレーション・クラスタのうちの１つ又は複数の温度を検出するように構成される
ことをさらに特徴とする、請求項１１１４に記載のシステム・オン・チップ。
【請求項１１６】
前記中央処理ユニット複合体が複数のＣＰＵコアを備える
ことをさらに特徴とする、請求項１０［００５４２］に記載のシステム・オン・チップ。
【請求項１１７】
前記中央処理ユニット複合体がＣＰＵコアのクラスタを備える
ことをさらに特徴とする、請求項１０［００５４２］に記載のシステム・オン・チップ。
【請求項１１８】
前記複数のＣＰＵコアにおける各ＣＰＵコアがオン・チップＬ２キャッシュ・メモリに結合される
ことをさらに特徴とする、請求項１１１６に記載のシステム・オン・チップ。
【請求項１１９】
前記ＣＰＵコアのクラスタがオン・チップＬ２キャッシュ・メモリに結合される
ことをさらに特徴とする、請求項１１１７に記載のシステム・オン・チップ。
【請求項１２０】
前記中央処理ユニット複合体がＣＰＵコアの複数のクラスタを備える
ことをさらに特徴とする、請求項１０［００５４２］に記載のシステム・オン・チップ。
【請求項１２１】
前記複数のクラスタの各クラスタが専用オン・チップＬ２キャッシュ・メモリに結合される
ことをさらに特徴とする、請求項１１２０に記載のシステム・オン・チップ。
【請求項１２２】
前記複数のクラスタの各クラスタが、前記中央処理ユニット複合体内の他のクラスタのステータスとは無関係にアクティブであるように構成される
ことをさらに特徴とする、請求項１１２１に記載のシステム・オン・チップ。
【請求項１２３】
前記複数のクラスタの各クラスタが、前記複数のクラスタのうちの１つ又は複数を用いたヘテロジニアス・マルチ・プロセッシングのために構成される
ことをさらに特徴とする、請求項１１２２に記載のシステム・オン・チップ。
【請求項１２４】
パワー管理プロセッサ
をさらに特徴とする、請求項１１２０に記載のシステム・オン・チップ。
【請求項１２５】
前記パワー管理プロセッサが各コアを独立してパワー・ゲーティングする
ことをさらに特徴とする、請求項１１２４に記載のシステム・オン・チップ。
【請求項１２６】
前記パワー管理プロセッサが各クラスタを独立してパワー・ゲーティングする
ことをさらに特徴とする、請求項１１２４に記載のシステム・オン・チップ。
【請求項１２７】
前記中央処理ユニット複合体がＣＰＵコアのクラスタを備える
ことをさらに特徴とする、請求項１［００５４４］に記載のシステム・オン・チップ。
【請求項１２８】
各ＣＰＵコアがＬ２キャッシュ・メモリに結合される
ことをさらに特徴とする、請求項１１２７に記載のシステム・オン・チップ。
【請求項１２９】
前記ＣＰＵコアのクラスタがＬ２キャッシュ・メモリに結合される
ことをさらに特徴とする、請求項１１２７に記載のシステム・オン・チップ。
【請求項１３０】
前記中央処理ユニット複合体がＣＰＵコアの複数のクラスタを備える
ことをさらに特徴とする、請求項１［００５４４］に記載のシステム・オン・チップ。
【請求項１３１】
前記複数のクラスタの各クラスタが専用Ｌ２キャッシュ・メモリに結合される
ことをさらに特徴とする、請求項１１３０に記載のシステム・オン・チップ。
【請求項１３２】
前記複数のクラスタの各クラスタが、前記中央処理ユニット複合体内の他のクラスタのステータスとは無関係にアクティブであるように構成される
ことをさらに特徴とする、請求項１１３１に記載のシステム・オン・チップ。
【請求項１３３】
前記複数のクラスタの各クラスタが、前記複数のクラスタのうちの１つ又は複数を用いたヘテロジニアス・マルチ・プロセッシングのために構成される
ことをさらに特徴とする、請求項１１３２に記載のシステム・オン・チップ。
【請求項１３４】
パワー管理プロセッサ
をさらに特徴とする、請求項１１２７に記載のシステム・オン・チップ。
【請求項１３５】
前記パワー管理プロセッサが各コアを独立してパワー・ゲーティングする
ことをさらに特徴とする、請求項１１３４に記載のシステム・オン・チップ。
【請求項１３６】
前記パワー管理プロセッサが各クラスタを独立してパワー・ゲーティングする
ことをさらに特徴とする、請求項１１３４に記載のシステム・オン・チップ。
【請求項１３７】
前記プログラマブル・ビジョン・アクセラレータに結合されたＳＲＡＭメモリ
をさらに特徴とする、請求項１０［００５４２］に記載のシステム・オン・チップ。
【請求項１３８】
前記ディープ・ラーニング・アクセラレータに結合されたＳＲＡＭメモリ
をさらに特徴とする、請求項１０［００５４２］に記載のシステム・オン・チップ。
【請求項１３９】
ビデオ画像合成器プロセッサ
をさらに特徴とする、請求項１０１０９に記載のシステム・オン・チップ。
【請求項１４０】
前記ビデオ画像合成器プロセッサが、少なくとも１つの魚眼カメラ・センサ又はワイド・ビュー・カメラ・センサからの画像データに対してレンズ収差補正を実行するように構成される
ことをさらに特徴とする、請求項１１３９に記載のシステム・オン・チップ。
【請求項１４１】
前記ビデオ画像合成器プロセッサが、少なくとも１つのカメラ・センサからの入力に対して時間的ノイズ低減を実行するように構成される
ことをさらに特徴とする、請求項１１３９に記載のシステム・オン・チップ。
【請求項１４２】
前記ビデオ画像合成器プロセッサが、２つのカメラから受け取られた画像データに対してステレオ平行化を実行するようにさらに構成される
ことをさらに特徴とする、請求項１１４０に記載のシステム・オン・チップ。
【請求項１４３】
前記ビデオ画像合成器プロセッサが、２つのカメラから受け取られた画像データに対してステレオ平行化を実行するようにさらに構成される
ことをさらに特徴とする、請求項１１４１に記載のシステム・オン・チップ。
【請求項１４４】
プロセッサ・コアと、
前記プロセッサ・コアに結合されたＲＡＭと、
割り込みコントローラと
を特徴とするリアル・タイム・カメラ・エンジン
をさらに特徴とする、請求項１０１０９に記載のシステム・オン・チップ。
【請求項１４５】
低電力モードのプロセッサ・コアと、
前記プロセッサ・コアに結合されたＲＡＭと、
割り込みコントローラと
を特徴とする常時オン・センサ処理エンジン
をさらに特徴とする、請求項１０１０９に記載のシステム・オン・チップ。
【請求項１４６】
前記常時オン・センサ処理エンジンが、車両の許可された操作者を認識するように訓練されたニューラル・ネットワークを備える
ことをさらに特徴とする、請求項１１４５に記載のシステム・オン・チップ。
【請求項１４７】
前記常時オン・センサ処理エンジンが、前記ニューラル・ネットワークが、車両の前記許可された操作者が前記車両にいることを示すとき、前記車両をロック解除するように構成される
ことをさらに特徴とする、請求項１１４６に記載のシステム・オン・チップ。
【請求項１４８】
前記常時オン・センサ処理エンジンが、前記ニューラル・ネットワークが、車両の前記許可された操作者が前記車両から離れたことを示すとき、前記車両をロックするように構成される
ことをさらに特徴とする、請求項１１４７に記載のシステム・オン・チップ。
【請求項１４９】
前記中央処理ユニット複合体と前記ビデオ画像合成器プロセッサを接続するシステム・コヒーレンシ・ファブリック
をさらに特徴とする、請求項１［００５４７］に記載のシステム・オン・チップ。
【請求項１５０】
前記システム・コヒーレンシ・ファブリックが、前記システム内での前記非コヒーレント・クライアントとのソフトウェア・ベース・コヒーレンシを容易にするコヒーレンシ・キャッシュ・フラッシュ・エンジンを備えること
をさらに特徴とする、請求項１１４９に記載のシステム・オン・チップ。
【請求項１５１】
前記中央処理ユニット複合体と前記リアル・タイム・カメラ・エンジンを接続するためのシステム・コヒーレンシ・ファブリック
をさらに特徴とする、請求項１［００５４７］に記載のシステム・オン・チップ。
【請求項１５２】
前記システム・コヒーレンシ・ファブリックが、前記システム内での前記非コヒーレント・クライアントとのソフトウェア・ベース・コヒーレンシを容易にするコヒーレンシ・キャッシュ・フラッシュ・エンジンを備える
ことをさらに特徴とする、請求項１１５１に記載のシステム・オン・チップ。
【請求項１５３】
前記中央処理ユニット複合体と前記常時オン・センサ処理エンジンを接続するためのシステム・コヒーレンシ・ファブリック
をさらに特徴とする、請求項１１４５に記載のシステム・オン・チップ。
【請求項１５４】
前記システム・コヒーレンシ・ファブリックが、前記システム内での前記非コヒーレント・クライアントとのソフトウェア・ベース・コヒーレンシを容易にするコヒーレンシ・キャッシュ・フラッシュ・エンジンを備えること
をさらに特徴とする、請求項１［００５５０］に記載のシステム・オン・チップ。
【請求項１５５】
前記プログラマブル・ビジョン・アクセラレータが、
少なくとも１つのプロセッサと、
少なくとも１つのダイレクト・メモリ・アクセス・エンジンと
を備える
ことをさらに特徴とする、請求項１０［００５４２］に記載のシステム・オン・チップ。
【請求項１５６】
前記プログラマブル・ビジョン・アクセラレータが、
第１のベクトル・プロセッサと、
前記第１のベクトル・プロセッサと関連づけられた第１の命令キャッシュと、
前記第１のベクトル・プロセッサと関連づけられた第１のベクトル・メモリと、
前記第１のベクトル・プロセッサと関連づけられた第１のダイレクト・メモリ・アクセス・エンジンと、
第２のベクトル・プロセッサと、
前記第２のベクトル・プロセッサと関連づけられた第２の命令キャッシュと、
前記第２のベクトル・プロセッサと関連づけられた第２のベクトル・メモリと、
前記第２のベクトル・プロセッサと関連づけられた第２のダイレクト・メモリ・アクセス・エンジンと
を備える
ことをさらに特徴とする、請求項１０［００５４２］に記載のシステム・オン・チップ。
【請求項１５７】
前記第１のベクトル・プロセッサが第１のコンピュータ・ビジョン・アルゴリズムを実行するように構成され、前記第２のベクトル・プロセッサが第２のコンピュータ・ビジョン・アルゴリズムを実行するように構成される
ことをさらに特徴とする、請求項１１５６に記載のシステム・オン・チップ。
【請求項１５８】
前記第１のベクトル・プロセッサが、画像の一部分に対して第１のコンピュータ・ビジョン・アルゴリズムを実行するように構成され、
前記第２のベクトル・プロセッサが、前記画像の別の部分に対して第２のコンピュータ・ビジョン・アルゴリズムを実行するように構成される
ことをさらに特徴とする、請求項１１５６に記載のシステム・オン・チップ。
【請求項１５９】
前記第１のベクトル・プロセッサがＤＳＰであり、
前記第２のベクトル・プロセッサがＤＳＰである
ことをさらに特徴とする、請求項１１５７に記載のシステム・オン・チップ。
【請求項１６０】
前記第１のベクトル・プロセッサがＳＩＭＤ  ＶＬＩＷ  ＤＳＰであり、
前記第２のベクトル・プロセッサがＳＩＭＤ  ＶＬＩＷ  ＤＳＰである
ことをさらに特徴とする、請求項１１５７に記載のシステム・オン・チップ。
【請求項１６１】
前記プログラマブル・ビジョン・アクセラレータが、
コンピュータ・ビジョンのために最適化されたデジタル信号プロセッサと、
前記デジタル信号プロセッサと関連づけられたメモリと、
前記デジタル信号プロセッサと関連づけられた命令キャッシュと
をさらに備える
ことをさらに特徴とする、請求項１１５５に記載のシステム・オン・チップ。
【請求項１６２】
複数のＣＰＵコアと専用Ｌ２キャッシュ・メモリとを特徴とする中央処理ユニット複合体と、
複数のＧＰＵコアと専用Ｌ２キャッシュ・メモリとを特徴とするグラフィックス処理ユニットと、
プログラマブル・ビジョン・アクセラレータと、
ディープ・ラーニング・アクセラレータと、
前記プログラマブル・ビジョン・アクセラレータ及び前記ディープ・ラーニング・アクセラレータに接続された専用ＳＲＡＭと
を特徴とする、埋め込みハードウェア・アクセラレーション複合体と
を特徴とする、自律運転車両のためのシステム・オン・チップ。
【請求項１６３】
前記グラフィックス処理ユニットがＨＢＭメモリを含む
ことをさらに特徴とする、請求項１［００５５５］に記載のシステム・オン・チップ。
【請求項１６４】
前記ＨＢＭメモリがＨＢＭ２メモリである
ことをさらに特徴とする、請求項１１６３に記載のシステム・オン・チップ。
【請求項１６５】
前記グラフィックス処理ユニットが、独立並列整数及び浮動小数点データ・パスを含む複数のストリーミング・マイクロプロセッサを備える
ことをさらに特徴とする、請求項１［００５５５］に記載のシステム・オン・チップ。
【請求項１６６】
前記グラフィックス処理ユニットが、独立スレッド・スケジューリング能力を含む複数のストリーミング・マイクロプロセッサを備える
ことをさらに特徴とする、請求項１［００５５５］に記載のシステム・オン・チップ。
【請求項１６７】
前記グラフィックス処理ユニットがユニファイド・メモリを含む
ことをさらに特徴とする、請求項１［００５５５］に記載のシステム・オン・チップ。
【請求項１６８】
前記ユニファイド・メモリが、前記中央処理ユニット複合体及び前記グラフィックス処理ユニットに単一ユニファイド仮想アドレス空間を提供する
ことをさらに特徴とする、請求項１１６７に記載のシステム・オン・チップ。
【請求項１６９】
前記中央処理ユニット複合体及び前記グラフィックス処理ユニットによって共有されるＬ３キャッシュ
をさらに特徴とする、請求項１［００５５５］に記載のシステム・オン・チップ。
【請求項１７０】
前記プログラマブル・ビジョン・アクセラレータが、
少なくとも１つのデジタル信号プロセッサと、
少なくとも１つのダイレクト・メモリ・アクセス・エンジンと
を備える
ことをさらに特徴とする、請求項１［００５５５］に記載のシステム・オン・チップ。
【請求項１７１】
前記プログラマブル・ビジョン・アクセラレータが、
コンピュータ・ビジョンのために最適化されたデジタル信号プロセッサと、
前記デジタル信号プロセッサと関連づけられたメモリと、
前記デジタル信号プロセッサと関連づけられた命令キャッシュと
をさらに備える
ことをさらに特徴とする、請求項１１７０に記載のシステム・オン・チップ。
【請求項１７２】
請求項１０［００５４２］に記載の第１のシステム・オン・チップと、
請求項１０［００５４２］に記載の第２のシステム・オン・チップと、
前記第１のシステム・オン・チップに結合された第１のディスクリート・グラフィックス処理ユニットと、
前記第２のシステム・オン・チップに結合された第２のディスクリート・グラフィックス処理ユニットと、
前記第１のシステム・オン・チップ及び前記第２のシステム・オン・チップに結合されたマイクロコントローラと
を特徴とする、自動運転車両を制御するためのコンピュータ。
【請求項１７３】
６軸慣性測定ユニット
をさらに特徴とする、請求項１［００５５８］に記載の自動運転車両を制御するためのコンピュータ。
【請求項１７４】
前記６軸慣性測定ユニットが、前記車両の加速及び回転に関する情報を前記第１のシステム・オン・チップに提供するために前記第１のシステム・オン・チップに結合され、
前記第１のシステム・オン・チップが、前記車両の加速及び回転に関する前記情報に対してセンサ・フュージョンを実行するように構成される
ことをさらに特徴とする、請求項１１７３に記載の自動運転車両を制御するためのコンピュータ。
【請求項１７５】
前記第１のシステム・オン・チップと、第２のシステム・オン・チップと、前記マイクロコントローラとを結合するためのスイッチ
をさらに特徴とする、請求項１［００５５８］に記載の自動運転車両を制御するためのコンピュータ。
【請求項１７６】
前記スイッチがＰＣＩｅスイッチである
ことをさらに特徴とする、請求項１１７５に記載の自動運転車両を制御するためのコンピュータ。
【請求項１７７】
前記スイッチに結合されたディスクリートＣＰＵ
をさらに特徴とする、請求項１１７５に記載の自動運転車両を制御するためのコンピュータ。
【請求項１７８】
前記ディスクリートＣＰＵがＸ８６  ＣＰＵである
ことをさらに特徴とする、請求項１１７７に記載の自動運転車両を制御するためのコンピュータ。
【請求項１７９】
前記第１のシステム・オン・チップ及び前記第２のシステム・オン・チップが、センサ・データを受け取るための複数の入力ポートに結合される
ことをさらに特徴とする、請求項１［００５５８］に記載の自動運転車両を制御するためのコンピュータ。
【請求項１８０】
請求項１０［００５４２］に記載の複数のシステム・オン・チップと、
各々が前記システム・オン・チップのうちの１つに結合された複数のディスクリート・グラフィックス処理ユニットと、
前記複数のシステム・オン・チップと前記複数のディスクリート・グラフィックス処理ユニットを相互接続するためのシステム・オン・チップと
を特徴とする、自動運転車両を制御するためのコンピュータ。
【請求項１８１】
前記複数のシステム・オン・チップが互いに結合される
ことをさらに特徴とする、請求項１１８０に記載の自動運転車両を制御するためのコンピュータ。
【請求項１８２】
前記複数のシステム・オン・チップがＩ２Ｃバスを通じて互いに結合される
ことをさらに特徴とする、請求項１１８１に記載の自動運転車両を制御するためのコンピュータ。
【請求項１８３】
前記複数のシステム・オン・チップが、共通プリント回路基板上に取り付けられ、同じハウジング内に配置される
ことをさらに特徴とする、請求項１１８２に記載の自動運転車両を制御するためのコンピュータ。
【請求項１８４】
前記ハウジングが、ファンシンクと前記システム・オン・チップからの熱を輸送する流体チャネルとを備える冷却システムをさらに備える
ことをさらに特徴とする、請求項１１８３に記載の自動運転車両を制御するためのコンピュータ。
【請求項１８５】
前記ハウジングが、ファンシンクと前記システム・オン・チップからの熱を輸送する空気チャネルとを備える冷却システムをさらに備える
ことをさらに特徴とする、請求項１１８４に記載の自動運転車両を制御するためのコンピュータ。
【請求項１８６】
前記ハウジングが、ファンシンクと、前記システム・オン・チップからの熱を輸送するための、流体チャネルと空気チャネルを特徴とするハイブリッド熱輸送モジュールとをさらに備える
ことをさらに特徴とする、請求項１１８５に記載の自動運転車両を制御するためのコンピュータ。
【請求項１８７】
請求項１０［００５４２］に記載の第１のシステム・オン・チップと、
請求項１０［００５４２］に記載の第２のシステム・オン・チップと、
請求項１０［００５４２］に記載の第３のシステム・オン・チップと、
請求項１０［００５４２］に記載の第４のシステム・オン・チップと、
請求項１０［００５４２］に記載の第５のシステム・オン・チップと、
請求項１０［００５４２］に記載の第６のシステム・オン・チップと、
請求項１０［００５４２］に記載の第７のシステム・オン・チップと、
請求項１０［００５４２］に記載の第８のシステム・オン・チップと、
前記第１のシステム・オン・チップに結合された第１のディスクリート・グラフィックス処理ユニットと、
前記第２のシステム・オン・チップに結合された第２のディスクリート・グラフィックス処理ユニットと、
前記第３のシステム・オン・チップに結合された第３のディスクリート・グラフィックス処理ユニットと、
前記第４のシステム・オン・チップに結合された第４のディスクリート・グラフィックス処理ユニットと、
前記第５のシステム・オン・チップに結合された第５のディスクリート・グラフィックス処理ユニットと、
前記第６のシステム・オン・チップに結合された第６のディスクリート・グラフィックス処理ユニットと、
前記第７のシステム・オン・チップに結合された第７のディスクリート・グラフィックス処理ユニットと、
前記第８のシステム・オン・チップに結合された第８のディスクリート・グラフィックス処理ユニットと、
前記システム・オン・チップの各々に結合されたマイクロコントローラと、
前記高性能ＳｏＣとディスクリートＧＰＵとの間のポイント・ツー・ポイント通信を提供するネットワーク・スイッチと
を特徴とする、自動運転車両を制御するためのコンピュータ。
【請求項１８８】
前記システム・オン・チップ、前記ディスクリート・グラフィックス処理ユニット、前記マイクロコントローラ、及び前記ネットワーク・スイッチが、共通プリント回路基板上に取り付けられ、同じハウジング内に配置される
ことをさらに特徴とする、請求項１［００５６３］に記載の自動運転車両を制御するためのコンピュータ。
【請求項１８９】
前記ハウジングが、ファンシンクと前記システム・オン・チップからの熱を輸送する流体チャネルとを備える冷却システムをさらに備える
ことをさらに特徴とする、請求項１１８８に記載の自動運転車両を制御するためのコンピュータ。
【請求項１９０】
前記ハウジングが、ファンシンクと前記システム・オン・チップからの熱を輸送する空気チャネルとを備える冷却システムをさらに備える
ことをさらに特徴とする、請求項１１８９に記載の自動運転車両を制御するためのコンピュータ。
【請求項１９１】
前記ハウジングが、ファンシンクと、前記システム・オン・チップからの熱を輸送するための、流体チャネルと空気チャネルを特徴とするハイブリッド熱輸送モジュールとをさらに備える
ことをさらに特徴とする、請求項１１９０に記載の自動運転車両を制御するためのコンピュータ。
【請求項１９２】
前記第１のシステム・オン・チップが、歩行者検出のためのニューラル・ネットワークを実行する
ことをさらに特徴とする、請求項１［００５６３］に記載の自動運転車両を制御するためのコンピュータ。
【請求項１９３】
前記第２のシステム・オン・チップが、標識検出のためのニューラル・ネットワークを実行する
ことをさらに特徴とする、請求項１１９２に記載の自動運転車両を制御するためのコンピュータ。
【請求項１９４】
前記第３のシステム・オン・チップが、距離推定のためのニューラル・ネットワークを実行する
ことをさらに特徴とする、請求項１１９３に記載の自動運転車両を制御するためのコンピュータ。
【請求項１９５】
前記第４のシステム・オン・チップが、車線検出のためのニューラル・ネットワークを実行する
ことをさらに特徴とする、請求項１１９４に記載の自動運転車両を制御するためのコンピュータ。
【請求項１９６】
前記第５のシステム・オン・チップが、衝突回避のためのニューラル・ネットワークを実行する
ことをさらに特徴とする、請求項１１９５に記載の自動運転車両を制御するためのコンピュータ。
【請求項１９７】
前記第６のシステム・オン・チップが、現行占有率グリッドのためのニューラル・ネットワークを実行する
ことをさらに特徴とする、請求項１１９６に記載の自動運転車両を制御するためのコンピュータ。
【請求項１９８】
前記第７のシステム・オン・チップが、予測占有率グリッドのためのニューラル・ネットワークを実行する
ことをさらに特徴とする、請求項１１９７に記載の自動運転車両を制御するためのコンピュータ。
【請求項１９９】
前記第８のシステム・オン・チップが、ステアリング制御のためのニューラル・ネットワークを実行する
ことをさらに特徴とする、請求項１１９８に記載の自動運転車両を制御するためのコンピュータ。
【請求項２００】
前記距離推定のためのニューラル・ネットワークが、ＬＩＤＡＲデータによって訓練されたネットワークである
ことをさらに特徴とする、請求項１１９４に記載の自動運転車両を制御するためのコンピュータ。
【請求項２０１】
自動運転車両を制御するためのシステムであって、
請求項１１７９に記載の第１のコンピュータを特徴とするプライマリ・コンピュータと、
請求項１１７９に記載の第２のコンピュータを特徴とするセカンダリ・コンピュータと、
前記第１のコンピュータ及び前記第２のコンピュータに結合された監視ＭＣＵと、
前記第１のコンピュータ及び前記第２のコンピュータに結合された複数のカメラ・センサと、
前記第１のコンピュータに結合された複数の車両モニタリング・センサと
を特徴とし、
前記プライマリ・コンピュータが、前記カメラ・センサから入力を受け取り、少なくとも１つの車両アクチュエータを制御するための少なくとも１つの信号を出力するように構成され、
前記セカンダリ・コンピュータが、前記カメラ・センサから入力を受け取り、少なくとも１つの車両アクチュエータを制御するための少なくとも１つの信号を出力するように構成され、
前記監視ＭＣＵが、前記プライマリ・コンピュータからの出力と前記セカンダリ・コンピュータからの出力を比較するように構成される
ことをさらに特徴とする、自動運転車両を制御するためのシステム。
【請求項２０２】
前記ＭＣＵが、請求項１１７９に記載の第３のコンピュータを備えることをさらに特徴とする、請求項［００５６６］に記載の自動運転車両を制御するためのシステム。
【請求項２０３】
前記プライマリ・コンピュータに電気的に結合されたワイヤレス・デバイスであって、ワイヤレス・ネットワークと通信するためのワイヤレス・デバイス、
ワイヤレス・ネットワークから少なくとも１つのニューラル・ネットワークに関する更新情報を受信するように構成された前記ワイヤレス・デバイス、
前記情報に応答して少なくとも１つのニューラル・ネットワークを更新するように構成された前記プライマリ・コンピュータ
をさらに特徴とする、請求項［００５６６］に記載の自動運転車両を制御するためのシステム。
【請求項２０４】
前記プライマリ・コンピュータが、前記更新されたニューラル・ネットワークを現在のニューラル・ネットワークと並列に実行し、結果を比較することによって、前記更新されたニューラル・ネットワークをテスト及び検証するように構成され、
前記プライマリ・コンピュータが、前記更新されたニューラル・ネットワークが完全にダウンロードされ、テストされ、検証された後で、前記更新されたニューラル・ネットワークに依拠するように構成される
ことをさらに特徴とする、請求項［００５６７］に記載の自動運転車両を制御するためのシステム。
【請求項２０５】
前記ワイヤレス・ネットワークがＬＴＥネットワークである
ことをさらに特徴とする、請求項［００５６７］に記載の自動運転車両を制御するためのシステム。
【請求項２０６】
前記ワイヤレス・ネットワークがＷＣＤＭＡ（登録商標）ネットワークである
ことをさらに特徴とする、請求項［００５６７］に記載の自動運転車両を制御するためのシステム。
【請求項２０７】
前記ワイヤレス・ネットワークがＵＭＴＳネットワークである
ことをさらに特徴とする、請求項［００５６７］に記載の自動運転車両を制御するためのシステム。
【請求項２０８】
前記ワイヤレス・ネットワークがＣＤＭＡ２０００ネットワークである
ことをさらに特徴とする、請求項［００５６７］に記載の自動運転車両を制御するためのシステム。
【請求項２０９】
１つ又は複数のＧＰＵサーバを特徴とし、前記ワイヤレス・ネットワークに結合され、
１つ又は複数の車両によって収集され、前記ワイヤレス・ネットワーク上で送信された訓練情報を受信し、
前記情報を使用して１つ又は複数のニューラル・ネットワークを訓練し、
１つ又は複数の自動運転車両への送信のために前記ワイヤレス・ネットワークに前記訓練されたニューラル・ネットワークを提供する
ように構成されたデータセンタ
をさらに特徴とする、請求項［００５６７］に記載の自動運転車両を制御するためのシステム。
【請求項２１０】
１つ又は複数のＧＰＵサーバを特徴とし、前記ワイヤレス・ネットワークに結合され、
車両によって収集され、前記ワイヤレス・ネットワーク上で送信された画像情報及び対象物検出情報を受信し、
前記画像情報を入力として使用して、前記ＧＰＵサーバのうちの１つ又は複数の上でニューラル・ネットワークを実行し、
前記ＧＰＵサーバのうちの１つ又は複数の上で実行された前記ニューラル・ネットワークの結果を、前記車両から受信された前記対象物検出情報と比較し、
前記比較の結果が信頼度しきい値を下回る場合、乗客に指示して安全な駐車操作を実行するように前記車両に指示するワイヤレス制御信号を前記車両に送る
ように構成されたデータセンタ
をさらに特徴とする、請求項［００５６７］に記載の自動運転車両を制御するためのシステム。
【請求項２１１】
前記プライマリ・コンピュータに電気的に結合されたワイヤレス・デバイスであって、ワイヤレス・ネットワークと通信するためのワイヤレス・デバイス、
ワイヤレス・ネットワークから更新された地図情報を受信するように構成された前記ワイヤレス・デバイス、
前記更新された地図情報をメモリに記憶するように構成された前記プライマリ・コンピュータ
をさらに特徴とする、請求項［００５６６］に記載の自動運転車両を制御するためのシステム。
【請求項２１２】
前記ワイヤレス・ネットワークがＬＴＥネットワークである
ことをさらに特徴とする、請求項２１１に記載の自動運転車両を制御するためのシステム。
【請求項２１３】
前記ワイヤレス・ネットワークがＷＣＤＭＡ（登録商標）ネットワークである
ことをさらに特徴とする、請求項２１１に記載の自動運転車両を制御するためのシステム。
【請求項２１４】
前記ワイヤレス・ネットワークがＵＭＴＳネットワークである
ことをさらに特徴とする、請求項２１１に記載の自動運転車両を制御するためのシステム。
【請求項２１５】
前記ワイヤレス・ネットワークがＣＤＭＡ２０００ネットワークである
ことをさらに特徴とする、請求項２１１に記載の自動運転車両を制御するためのシステム。
【請求項２１６】
前記プライマリ・コンピュータに電気的に結合されたワイヤレス・デバイスであって、ワイヤレス・ネットワークと通信するためのワイヤレス・デバイス、
別の車両に関して前記ネットワークからＣＡＣＣ情報を受信するように構成された前記ワイヤレス・デバイス
をさらに特徴とする、請求項［００５６６］に記載の自動運転車両を制御するためのシステム。
【請求項２１７】
前記プライマリ・コンピュータに結合されたＨＭＩディスプレイ、
前記システムが交通信号、交通標識、自転車、歩行者、又は道路内の障害物をいつ識別したかを示すように構成された前記ＨＭＩディスプレイ
をさらに特徴とする、請求項［００５６６］に記載の自動運転車両を制御するためのシステム。
【請求項２１８】
前記ＨＭＩディスプレイが、前記システムが、前記識別された交通信号、前記識別された交通標識、前記識別された自転車、前記識別された歩行者、又は前記識別された道路内の障害物に応じて、適切な措置をとることを示すようにさらに構成される
ことをさらに特徴とする、請求項２１７に記載の自動運転車両を制御するためのシステム。
【請求項２１９】
前記監視ＭＣＵが、前記第１のコンピュータからの出力と前記第２のコンピュータからの出力が一致しない場合にアラーム信号を出力するようにさらに構成される
ことをさらに特徴とする、請求項［００５６６］に記載の自動運転車両を制御するためのシステム。
【請求項２２０】
自動運転車両を制御するためのシステムであって、
請求項１７９に記載の第１のコンピュータを特徴とするプライマリ・コンピュータと、
ＡＤＡＳシステムを特徴とするセカンダリ・コンピュータと、
前記プライマリ・コンピュータ及び前記セカンダリ・コンピュータに結合された監視ＭＣＵと、
前記プライマリ・コンピュータに結合された複数のカメラ・センサと、
前記セカンダリ・コンピュータに結合された１つ又は複数のセカンダリ・センサと、
前記プライマリ・コンピュータに結合された複数の車両モニタリング・センサと
を特徴とし、
前記プライマリ・コンピュータが、前記カメラ・センサから入力を受け取り、少なくとも１つの車両アクチュエータを制御するための少なくとも１つの信号を出力するように構成され、
前記セカンダリ・コンピュータが、前記セカンダリ・センサから入力を受け取り、前記車両の動作に関する少なくとも１つの第２の信号を出力するように構成され、
前記監視ＭＣＵが、前記プライマリ・コンピュータからの前記信号と前記セカンダリ・コンピュータからの前記信号を比較するように構成される
ことをさらに特徴とする、自動運転車両を制御するためのシステム。
【請求項２２１】
前記ＡＤＡＳシステムがＥｙｅＱ  ＳｏＣを備えることをさらに特徴とする、請求項２２０に記載の自動運転車両を制御するためのシステム。
【請求項２２２】
前記ＡＤＡＳシステムが前方クラッシュ警告ユニットを備える
ことをさらに特徴とする、請求項２２０に記載の自動運転車両を制御するためのシステム。
【請求項２２３】
前記前方クラッシュ警告ユニットが、ＦＰＧＡと、ステレオ・ビデオ・カメラとを備える
ことをさらに特徴とする、請求項２２２に記載の自動運転車両を制御するためのシステム。
【請求項２２４】
前記前方クラッシュ警告ユニットが、ＦＰＧＡと、長距離レーダ・ユニットとを備える
ことをさらに特徴とする、請求項２２２に記載の自動運転車両を制御するためのシステム。
【請求項２２５】
前記前方クラッシュ警告ユニットが、プロセッサと、長距離レーダ・ユニットとを備える
ことをさらに特徴とする、請求項２２２に記載の自動運転車両を制御するためのシステム。
【請求項２２６】
前記ＡＤＡＳシステムが車線逸脱警告ユニットを備える
ことをさらに特徴とする、請求項２２０に記載の自動運転車両を制御するためのシステム。
【請求項２２７】
前記車線逸脱警告ユニットが、ＦＰＧＡと、ステレオ・ビデオ・カメラとを備える
ことをさらに特徴とする、請求項２２６に記載の自動運転車両を制御するためのシステム。
【請求項２２８】
前記車線逸脱警告ユニットが、ＦＰＧＡと、単眼カメラ・ユニットとを備える
ことをさらに特徴とする、請求項２２６に記載の自動運転車両を制御するためのシステム。
【請求項２２９】
前記車線逸脱警告ユニットが、プロセッサと、単眼カメラ・ユニットとを備える
ことをさらに特徴とする、請求項２２６に記載の自動運転車両を制御するためのシステム。
【請求項２３０】
前記ＡＤＡＳシステムが自動緊急ブレーキ・ユニットを備える
ことをさらに特徴とする、請求項２２０に記載の自動運転車両を制御するためのシステム。
【請求項２３１】
前記自動緊急ブレーキ・ユニットが、ＦＰＧＡと、ステレオ・ビデオ・カメラとを備える
ことをさらに特徴とする、請求項２３０に記載の自動運転車両を制御するためのシステム。
【請求項２３２】
前記自動緊急ブレーキ・ユニットが、ＦＰＧＡと、長距離レーダ・ユニットとを備える
ことをさらに特徴とする、請求項２３０に記載の自動運転車両を制御するためのシステム。
【請求項２３３】
前記自動緊急ブレーキ・ユニットが、プロセッサと、長距離レーダ・ユニットとを備える
ことをさらに特徴とする、請求項２３０に記載の自動運転車両を制御するためのシステム。
【請求項２３４】
前記自動緊急ブレーキ・ユニットが、ＡＳＩＣと、長距離レーダ・ユニットとを備える
ことをさらに特徴とする、請求項２３０に記載の自動運転車両を制御するためのシステム。
【請求項２３５】
前記ＡＤＡＳシステムが自動走行制御ユニットを備える
ことをさらに特徴とする、請求項２２０に記載の自動運転車両を制御するためのシステム。
【請求項２３６】
前記自動走行制御ユニットが縦方向自動走行制御ユニットを備える
ことをさらに特徴とする、請求項２３５に記載の自動運転車両を制御するためのシステム。
【請求項２３７】
前記縦方向走行制御ユニットが、先行車両への距離及び前記自動運転車両の現在のスピードに基づいて前記自動運転車両のスピードを調整するように構成される
ことをさらに特徴とする、請求項２３６に記載の自動運転車両を制御するためのシステム。
【請求項２３８】
前記自動走行制御ユニットが横方向自動走行制御ユニットを備える
ことをさらに特徴とする、請求項２３５に記載の自動運転車両を制御するためのシステム。
【請求項２３９】
前記自動走行制御ユニットが前向きレーダ・センサを備える
ことをさらに特徴とする、請求項２３５に記載の自動運転車両を制御するためのシステム。
【請求項２４０】
前記自動走行制御ユニットが、ＦＰＧＡと、前向きレーダ・センサとを備える
ことをさらに特徴とする、請求項２３５に記載の自動運転車両を制御するためのシステム。
【請求項２４１】
前記自動走行制御ユニットが、プロセッサと、前向きレーダ・センサとを備える
ことをさらに特徴とする、請求項２３５に記載の自動運転車両を制御するためのシステム。
【請求項２４２】
前記自動走行制御ユニットが、ＡＳＩＣと、前向きカメラとを備える
ことをさらに特徴とする、請求項２３５に記載の自動運転車両を制御するためのシステム。
【請求項２４３】
前記自動走行制御ユニットが前向きカメラを備える
ことをさらに特徴とする、請求項２３５に記載の自動運転車両を制御するためのシステム。
【請求項２４４】
前記自動走行制御ユニットが、ＦＰＧＡと、前向きカメラとを備える
ことをさらに特徴とする、請求項２３５に記載の自動運転車両を制御するためのシステム。
【請求項２４５】
前記自動走行制御ユニットが、プロセッサと、前向きカメラとを備える
ことをさらに特徴とする、請求項２３５に記載の自動運転車両を制御するためのシステム。
【請求項２４６】
前記自動走行制御ユニットが、ＡＳＩＣと、前向きカメラとを備える
ことをさらに特徴とする、請求項２３５に記載の自動運転車両を制御するためのシステム。
【請求項２４７】
前記前向きカメラがステレオ・カメラである
ことをさらに特徴とする、請求項２４３に記載の自動運転車両を制御するためのシステム。
【請求項２４８】
前記前向きカメラがステレオ・カメラである
ことをさらに特徴とする、請求項２４４に記載の自動運転車両を制御するためのシステム。
【請求項２４９】
前記前向きカメラがステレオ・カメラである
ことをさらに特徴とする、請求項２４５に記載の自動運転車両を制御するためのシステム。
【請求項２５０】
前記前向きカメラがステレオ・カメラである
ことをさらに特徴とする、請求項２４６に記載の自動運転車両を制御するためのシステム。
【請求項２５１】
前記ＡＤＡＳシステムが後方交差交通警告ユニットを備える
ことをさらに特徴とする、請求項２２０に記載の自動運転車両を制御するためのシステム。
【請求項２５２】
前記後方交差交通警告ユニットが、ＦＰＧＡと、１つ又は複数の後ろ向きカメラとを備える
ことをさらに特徴とする、請求項２５１に記載の自動運転車両を制御するためのシステム。
【請求項２５３】
前記後方交差交通警告ユニットが、ＦＰＧＡと、後ろ向き中距離レーダ・ユニットとを備える
ことをさらに特徴とする、請求項２５１に記載の自動運転車両を制御するためのシステム。
【請求項２５４】
前記後方交差交通警告ユニットが、プロセッサと、後ろ向き中距離レーダ・ユニットとを備える
ことをさらに特徴とする、請求項２５１に記載の自動運転車両を制御するためのシステム。
【請求項２５５】
前記ＡＤＡＳシステムが死角警告ユニットを備える
ことをさらに特徴とする、請求項２２０に記載の自動運転車両を制御するためのシステム。
【請求項２５６】
前記死角警告ユニットが、ＦＰＧＡと、１つ又は複数のカメラとを備える
ことをさらに特徴とする、請求項２５５に記載の自動運転車両を制御するためのシステム。
【請求項２５７】
前記死角警告ユニットが、ＦＰＧＡと、１つ又は複数のレーダ・ユニットとを備える
ことをさらに特徴とする、請求項２５５に記載の自動運転車両を制御するためのシステム。
【請求項２５８】
前記死角警告ユニットが、プロセッサと、１つ又は複数のレーダ・ユニットとを備える
ことをさらに特徴とする、請求項２５５に記載の自動運転車両を制御するためのシステム。
【請求項２５９】
前記死角警告ユニットが、プロセッサと、１つ又は複数のレーダ・ユニットとを備える
ことをさらに特徴とする、請求項２５５に記載の自動運転車両を制御するためのシステム。
【請求項２６０】
前記ＡＤＡＳシステムが、滑りやすい道路検出ユニットを備える
ことをさらに特徴とする、請求項２２０に記載の自動運転車両を制御するためのシステム。
【請求項２６１】
前記滑りやすい道路検出ユニットが、
少なくとも１つの動力駆動車軸の第１の角速度を判定するための第１の角速度検出器と、
少なくとも１つの自由回転車軸の第２の角速度を検出するための第２の角速度検出器と、
路面上での摩擦のレベルを判定するために前記第１の角速度と前記第２の角速度を比較するように構成されたプロセッサ
を備える
ことをさらに特徴とする、請求項２６０に記載の自動運転車両を制御するためのシステム。
【請求項２６２】
前記滑りやすい道路検出ユニットが、
前記動力駆動車軸の第１の振動を判定する第１の振動センサと、
前記少なくとも１つの自由回転車軸の第２の振動を判定する第２の振動センサと
をさらに備えることをさらに特徴とし、
前記プロセッサが、前記路面上での前記摩擦のレベルを判定するために前記第１の振動と前記第２の振動を比較するようにさらに構成されることをさらに特徴とする
請求項２６１に記載の自動運転車両を制御するためのシステム。
【請求項２６３】
前記プロセッサがＣＰＵを備える
ことをさらに特徴とする、請求項２６２に記載の自動運転車両を制御するためのシステム。
【請求項２６４】
前記プロセッサがＡＳＩＣを備える
ことをさらに特徴とする、請求項２６２に記載の自動運転車両を制御するためのシステム。
【請求項２６５】
前記監視ＭＣＵが、前記プライマリ・コンピュータからの前記出力と前記セカンダリ・コンピュータからの前記出力が一致する場合、前記第１の信号に従って前記車両の少なくとも１つのアクチュエータを制御するようにさらに構成される
ことをさらに特徴とする、請求項２２０に記載の自動運転車両を制御するためのシステム。
【請求項２６６】
前記監視ＭＣＵが、前記プライマリ・コンピュータからの出力と前記セカンダリ・コンピュータからの出力が一致しない場合にアラーム信号を出力するようにさらに構成される
ことをさらに特徴とする、請求項２２０に記載の自動運転車両を制御するためのシステム。
【請求項２６７】
前記監視ＭＣＵが、前記プライマリ・コンピュータからの前記出力と前記セカンダリ・コンピュータからの前記出力が一致しない場合でも、前記ＭＣＵが、前記プライマリ・コンピュータの出力が信頼度しきい値を超えると判定した場合、前記第１の信号に従って前記車両を制御するようにさらに構成される
ことをさらに特徴とする、請求項２２０に記載の自動運転車両を制御するためのシステム。
【請求項２６８】
前記監視ＭＣＵが、
前記プライマリ・コンピュータ及び前記セカンダリ・コンピュータからの出力に基づいて、前記セカンダリ・コンピュータがフォールス・アラームを提供する状態を判定するように構成されたニューラル・ネットワーク
をさらに備える
ことをさらに特徴とする、請求項２２０に記載の自動運転車両を制御するためのシステム。
【請求項２６９】
前記ＡＤＡＳシステムが少なくとも１つのレーダ・センサを含み、
前記ＭＣＵ上の前記ニューラル・ネットワークが、金属製排水格子によって引き起こされるフォールス・アラームの可能性を減少させるように訓練される
ことをさらに特徴とする、請求項２６８に記載の自動運転車両を制御するためのシステム。
【請求項２７０】
前記ＡＤＡＳシステムが少なくとも１つのレーダ・センサを含み、
前記ＭＣＵ上の前記ニューラル・ネットワークが、金属製排水格子によって引き起こされるフォールス・アラームの可能性を減少させるように訓練される
ことをさらに特徴とする、請求項２６８に記載の自動運転車両を制御するためのシステム。
【請求項２７１】
前記ＡＤＡＳシステムが少なくとも１つのレーダ・センサを含み、
前記ＭＣＵ上の前記ニューラル・ネットワークが、金属製マンホール蓋によって引き起こされるフォールス・アラームの可能性を減少させるように訓練される
ことをさらに特徴とする、請求項２６８に記載の自動運転車両を制御するためのシステム。
【請求項２７２】
前記セカンダリ・コンピュータが、前記ＡＤＡＳシステムからのフォールス・アラームの可能性を減少させるように構成されたニューラル・ネットワークをさらに備える
ことをさらに特徴とする、請求項２２０に記載の自動運転車両を制御するためのシステム。
【請求項２７３】
前記ＡＤＡＳシステムが少なくとも１つのレーダ・センサを含み、
前記セカンダリ・コンピュータ上の前記ニューラル・ネットワークが、金属製排水格子によって引き起こされるフォールス・アラームの可能性を減少させるように訓練される
ことをさらに特徴とする、請求項２７２に記載の自動運転車両を制御するためのシステム。
【請求項２７４】
前記ＡＤＡＳシステムが少なくとも１つのレーダ・センサを含み、
前記セカンダリ・コンピュータ上の前記ニューラル・ネットワークが、金属製マンホール蓋によって引き起こされるフォールス・アラームの可能性を減少させるように訓練される
ことをさらに特徴とする、請求項２７２に記載の自動運転車両を制御するためのシステム。
【請求項２７５】
前記ＡＤＡＳシステムが少なくとも１つのレーダ・センサを含み、
前記セカンダリ・コンピュータ上の前記ニューラル・ネットワークが、金属製ごみ箱によって引き起こされるフォールス・アラームの可能性を減少させるように訓練される
ことをさらに特徴とする、請求項２７２に記載の自動運転車両を制御するためのシステム。
【請求項２７６】
自動運転車両を制御するためのシステムであって、
請求項１１７９に記載の第１のコンピュータを特徴とするプライマリ・コンピュータと、
ＥｙｅＱ  ＳｏＣを特徴とするセカンダリ・コンピュータと、
前記第１のコンピュータ及び前記第２のコンピュータに結合された監視ＭＣＵと、
前記第１のコンピュータに結合された第１の複数のカメラ・センサと、
前記セカンダリ・コンピュータに結合された第２の複数のカメラ・センサと、
前記第１のコンピュータに結合された複数の車両モニタリング・センサと
を特徴とし、
前記第１のコンピュータが、前記カメラ・センサから入力を受け取り、少なくとも１つの車両アクチュエータを制御するための少なくとも１つの信号を出力するように構成され、
前記第２のコンピュータが、前記カメラ・センサから入力を受け取り、少なくとも１つの車両アクチュエータを制御するための少なくとも１つの信号を出力するように構成され、
前記監視ＭＣＵが、前記第１のコンピュータからの出力と前記第２のコンピュータからの出力を比較するように構成される
ことをさらに特徴とする、
自動運転車両を制御するためのシステム。
【請求項２７７】
前記監視ＭＣＵが、前記第１のコンピュータからの出力と前記第２のコンピュータからの出力が一致しない場合にアラーム信号を出力するようにさらに構成される
ことをさらに特徴とする、請求項２７６に記載の自動運転車両を制御するためのシステム。
【請求項２７８】
自動運転車両を制御するためのシステムであって、
請求項１１７９に記載の第１のコンピュータを特徴とするプライマリ・コンピュータと、
少なくとも１つのＣＰＵと１つのＧＰＵとを有する第２のコンピュータを特徴とするセカンダリ・コンピュータと、
前記第１のコンピュータ及び前記第２のコンピュータに結合された監視ＭＣＵと、
前記第１のコンピュータ及び前記第２のコンピュータに結合された複数のカメラ・センサと、
前記第１のコンピュータに結合された複数の車両モニタリング・センサと
を特徴とし、
前記第１のコンピュータが、前記カメラ・センサから入力を受け取り、少なくとも１つの車両アクチュエータを制御するための少なくとも１つの信号を出力するように構成され、
前記第２のコンピュータが、前記カメラ・センサから入力を受け取り、少なくとも１つの車両アクチュエータを制御するための少なくとも１つの信号を出力するように構成され、
前記監視ＭＣＵが、前記第１のコンピュータからの出力と前記第２のコンピュータからの出力を比較するように構成される
ことをさらに特徴とする、
自動運転車両を制御するためのシステム。
【請求項２７９】
前記監視ＭＣＵが、前記第１のコンピュータからの出力と前記第２のコンピュータからの出力が一致しない場合にアラーム信号を出力するようにさらに構成される
ことをさらに特徴とする、請求項［００５８４］に記載の自動運転車両を制御するためのシステム。
【請求項２８０】
前記第１の複数のカメラ・センサが、２５度の視野を有する少なくとも１つの長距離カメラと、５０度の視野を有する少なくとも１つの短距離カメラとを含む
ことをさらに特徴とする、請求項［００５６６］に記載の自動運転車両を制御するためのシステム。
【請求項２８１】
前記第１の複数のカメラ・センサが、１５０度の視野を有する少なくとも１つの魚眼前方カメラを含む
ことをさらに特徴とする、請求項［００５６６］に記載の自動運転車両を制御するためのシステム。
【請求項２８２】
前記第１の複数のカメラ・センサが少なくとも４つの広角カメラを含む
ことをさらに特徴とする、請求項［００５６６］に記載の自動運転車両を制御するためのシステム。
【請求項２８３】
前記第１の複数のカメラ・センサが少なくとも１つの赤外線カメラを含む
ことをさらに特徴とする、請求項［００５６６］に記載の自動運転車両を制御するためのシステム。
【請求項２８４】
前記プライマリ・コンピュータが、歩行者検出を向上させるために前記少なくとも１つの赤外線カメラからのデータと少なくとも１つの他のカメラからのデータを融合させる
ことをさらに特徴とする、請求項２８３に記載の自動運転車両を制御するためのシステム。
【請求項２８５】
前記少なくとも１つの赤外線カメラがパッシブ赤外線システムをどこに備えるか
をさらに特徴とする、請求項２８３に記載の自動運転車両を制御するためのシステム。
【請求項２８６】
前記少なくとも１つの赤外線カメラがアクティブ赤外線システムをどこに備えるか
をさらに特徴とする、請求項２８３に記載の自動運転車両を制御するためのシステム。
【請求項２８７】
前記アクティブ赤外線システムが、ゲーティングされた赤外線システムであることをさらに特徴とする、請求項２８３に記載の自動運転車両を制御するためのシステム。
【請求項２８８】
前記第１の複数のカメラ・センサが、１５度から４５度の間の水平視野を有する少なくとも１つの長距離カメラと、４５度から７５度の間の水平視野を有する少なくとも１つの短距離カメラとを含む
ことをさらに特徴とする、請求項［００５７３］に記載の自動運転車両を制御するためのシステム。
【請求項２８９】
前記第１の複数のカメラ・センサが、９０度から１８０度の間の水平視野を有する少なくとも１つの魚眼前方カメラを含む
ことをさらに特徴とする、請求項［００５７３］に記載の自動運転車両を制御するためのシステム。
【請求項２９０】
前記第１の複数のカメラ・センサが少なくとも４つの広角カメラを含む
ことをさらに特徴とする、請求項［００５７３］に記載の自動運転車両を制御するためのシステム。
【請求項２９１】
前記第１の複数のカメラ・センサが少なくとも１つの赤外線カメラを含む
ことをさらに特徴とする、請求項［００５７３］に記載の自動運転車両を制御するためのシステム。
【請求項２９２】
前記少なくとも１つの赤外線カメラがパッシブ赤外線システムを備える
ことをさらに特徴とする、請求項２９１に記載の自動運転車両を制御するためのシステム。
【請求項２９３】
前記少なくとも１つの赤外線カメラがアクティブ赤外線システムを備える
ことをさらに特徴とする、請求項２９１に記載の自動運転車両を制御するためのシステム。
【請求項２９４】
前記アクティブ赤外線システムが、ゲーティングされた赤外線システムである
ことをさらに特徴とする、請求項２９１に記載の自動運転車両を制御するためのシステム。
【請求項２９５】
前記プライマリ・コンピュータが、歩行者検出を向上させるために前記少なくとも１つの赤外線カメラからのデータと少なくとも１つの他のカメラからのデータを融合させる
ことをさらに特徴とする、請求項２９１に記載の自動運転車両を制御するためのシステム。
【請求項２９６】
前記第１の複数のカメラ・センサが、１５度から４５度の間の水平視野を有する少なくとも１つの長距離カメラと、４５度から７５度の間の水平視野を有する少なくとも１つの短距離カメラとを含む
ことをさらに特徴とする、請求項［００５８２］に記載の自動運転車両を制御するためのシステム。
【請求項２９７】
前記第１の複数のカメラ・センサが、９０度から１８０度の間の水平視野を有する少なくとも１つの魚眼前方カメラを含む
ことをさらに特徴とする、請求項［００５８２］に記載の自動運転車両を制御するためのシステム。
【請求項２９８】
前記第１の複数のカメラ・センサが少なくとも４つの広角カメラを含む
ことをさらに特徴とする、請求項［００５８２］に記載の自動運転車両を制御するためのシステム。
【請求項２９９】
前記第１の複数のカメラ・センサが少なくとも１つの赤外線カメラを含む
ことをさらに特徴とする、請求項［００５８２］に記載の自動運転車両を制御するためのシステム。
【請求項３００】
前記プライマリ・コンピュータが、歩行者検出を向上させるために前記少なくとも１つの赤外線カメラからのデータと少なくとも１つの他のカメラからのデータを融合させる
ことをさらに特徴とする、請求項２９９に記載の自動運転車両を制御するためのシステム。
【請求項３０１】
前記第１の複数のカメラ・センサが、１５度から４５度の間の水平視野を有する少なくとも１つの長距離カメラと、４５度から７５度の間の水平視野を有する少なくとも１つの短距離カメラとを含む
ことをさらに特徴とする、請求項［００５８４］に記載の自動運転車両を制御するためのシステム。
【請求項３０２】
前記第１の複数のカメラ・センサが、９０度から１８０度の間の水平視野を有する少なくとも１つの魚眼前方カメラを含む
ことをさらに特徴とする、請求項［００５８４］に記載の自動運転車両を制御するためのシステム。
【請求項３０３】
前記第１の複数のカメラ・センサが少なくとも４つの広角カメラを含む
ことをさらに特徴とする、請求項［００５８４］に記載の自動運転車両を制御するためのシステム。
【請求項３０４】
前記第１の複数のカメラ・センサが少なくとも４つの赤外線カメラを含む
ことをさらに特徴とする、請求項［００５８４］に記載の自動運転車両を制御するためのシステム。
【請求項３０５】
前記第１のコンピュータに結合されたＬＩＤＡＲセンサ
をさらに特徴とする、請求項［００５６６］に記載の自動運転車両を制御するためのシステム。
【請求項３０６】
前記第１のコンピュータに結合されたＬＩＤＡＲセンサ
をさらに特徴とする、請求項［００５７３］に記載の自動運転車両を制御するためのシステム。
【請求項３０７】
前記第１のコンピュータに結合されたＬＩＤＡＲセンサ
をさらに特徴とする、請求項［００５８２］に記載の自動運転車両を制御するためのシステム。
【請求項３０８】
前記第１のコンピュータに結合されたＬＩＤＡＲセンサ
をさらに特徴とする、請求項［００５８４］に記載の自動運転車両を制御するためのシステム。
【請求項３０９】
前記ＬＩＤＡＲセンサが前記自動運転車両の前面に取り付けられ、水平視野が４５度から１３５度の間である
ことをさらに特徴とする、請求項３０５に記載の自動運転車両を制御するためのシステム。
【請求項３１０】
前記ＬＩＤＡＲセンサが前記自動運転車両の前面に取り付けられ、水平視野が４５度から１３５度の間である
ことをさらに特徴とする、請求項３０６に記載の自動運転車両を制御するためのシステム。
【請求項３１１】
前記ＬＩＤＡＲセンサが前記自動運転車両の前面に取り付けられ、水平視野が４５度から１３５度の間である
ことをさらに特徴とする、請求項３０７に記載の自動運転車両を制御するためのシステム。
【請求項３１２】
前記ＬＩＤＡＲセンサが前記自動運転車両の前面に取り付けられ、水平視野が４５度から１３５度の間である
ことをさらに特徴とする、請求項３０８に記載の自動運転車両を制御するためのシステム。
【請求項３１３】
前記ＬＩＤＡＲセンサがフラッシュＬＩＤＡＲセンサである
ことをさらに特徴とする、請求項３０５に記載の自動運転車両を制御するためのシステム。
【請求項３１４】
前記ＬＩＤＡＲセンサがフラッシュＬＩＤＡＲセンサである
ことをさらに特徴とする、請求項３０６に記載の自動運転車両を制御するためのシステム。
【請求項３１５】
前記ＬＩＤＡＲセンサがフラッシュＬＩＤＡＲセンサである
ことをさらに特徴とする、請求項３０７に記載の自動運転車両を制御するためのシステム。
【請求項３１６】
前記ＬＩＤＡＲセンサがフラッシュＬＩＤＡＲセンサである
ことをさらに特徴とする、請求項３０８に記載の自動運転車両を制御するためのシステム。
【請求項３１７】
前記ＬＩＤＡＲセンサがソリッド・ステートＬＩＤＡＲセンサである
ことをさらに特徴とする、請求項３０５に記載の自動運転車両を制御するためのシステム。
【請求項３１８】
前記ＬＩＤＡＲセンサがソリッド・ステートＬＩＤＡＲセンサである
ことをさらに特徴とする、請求項３０６に記載の自動運転車両を制御するためのシステム。
【請求項３１９】
前記ＬＩＤＡＲセンサがソリッド・ステートＬＩＤＡＲセンサである
ことをさらに特徴とする、請求項３０７に記載の自動運転車両を制御するためのシステム。
【請求項３２０】
前記ＬＩＤＡＲセンサがソリッド・ステートＬＩＤＡＲセンサである
ことをさらに特徴とする、請求項３０８に記載の自動運転車両を制御するためのシステム。
【請求項３２１】
前記車両の前面に配置された第１のフラッシュＬＩＤＡＲセンサと、
前記車両の前記前面に配置された第２のフラッシュＬＩＤＡＲセンサと、
前記車両の前記前面に配置された第３のフラッシュＬＩＤＡＲセンサと、
前記車両の後面に配置された第４のフラッシュＬＩＤＡＲセンサと、
前記第１のコンピュータが、前記フラッシュＬＩＤＡＲセンサから情報を受け取るように構成されること
をさらに特徴とする、請求項［００５６６］に記載の自動運転車両を制御するためのシステム。
【請求項３２２】
前記車両の前面に配置された第１のフラッシュＬＩＤＡＲセンサと、
前記車両の前記前面に配置された第２のフラッシュＬＩＤＡＲセンサと、
前記車両の前記前面に配置された第３のフラッシュＬＩＤＡＲセンサと、
前記車両の後面に配置された第４のフラッシュＬＩＤＡＲセンサと、
前記第１のコンピュータが、前記フラッシュＬＩＤＡＲセンサから情報を受け取るように構成されること
をさらに特徴とする、請求項［００５７３］に記載の自動運転車両を制御するためのシステム。
【請求項３２３】
前記車両の前面に配置された第１のフラッシュＬＩＤＡＲセンサと、
前記車両の前記前面に配置された第２のフラッシュＬＩＤＡＲセンサと、
前記車両の前記前面に配置された第３のフラッシュＬＩＤＡＲセンサと、
前記車両の後面に配置された第４のフラッシュＬＩＤＡＲセンサと、
前記第１のコンピュータが、前記フラッシュＬＩＤＡＲセンサから情報を受け取るように構成されること
をさらに特徴とする、請求項［００５８２］に記載の自動運転車両を制御するためのシステム。
【請求項３２４】
前記車両の前面に配置された第１のフラッシュＬＩＤＡＲセンサと、
前記車両の前記前面に配置された第２のフラッシュＬＩＤＡＲセンサと、
前記車両の前記前面に配置された第３のフラッシュＬＩＤＡＲセンサと、
前記車両の後面に配置された第４のフラッシュＬＩＤＡＲセンサと、
前記第１のコンピュータが、前記フラッシュＬＩＤＡＲセンサから情報を受け取るように構成されること
をさらに特徴とする、請求項［００５８４］に記載の自動運転車両を制御するためのシステム。
【請求項３２５】
前記第１のコンピュータに結合されたレーダ・センサ
をさらに特徴とする、請求項［００５６６］に記載の自動運転車両を制御するためのシステム。
【請求項３２６】
前記第１のコンピュータに結合されたレーダ・センサ
をさらに特徴とする、請求項［００５７３］に記載の自動運転車両を制御するためのシステム。
【請求項３２７】
前記第１のコンピュータに結合されたレーダ・センサ
をさらに特徴とする、請求項［００５８２］に記載の自動運転車両を制御するためのシステム。
【請求項３２８】
前記第１のコンピュータに結合されたレーダ・センサ
をさらに特徴とする、請求項［００５８４］に記載の自動運転車両を制御するためのシステム。
【請求項３２９】
前記第１のコンピュータに結合された超音波センサ
をさらに特徴とする、請求項３２５に記載の自動運転車両を制御するためのシステム。
【請求項３３０】
前記第１のコンピュータに結合された超音波センサ
をさらに特徴とする、請求項３２６に記載の自動運転車両を制御するためのシステム。
【請求項３３１】
前記第１のコンピュータに結合された超音波センサ
をさらに特徴とする、請求項３２７に記載の自動運転車両を制御するためのシステム。
【請求項３３２】
前記第１のコンピュータに結合された超音波センサ
をさらに特徴とする、請求項３２８に記載の自動運転車両を制御するためのシステム。
【請求項３３３】
レーダ、ＬＩＤＡＲ、及び超音波センサからなる群から選択された前記第１のコンピュータに結合された少なくとも１つのセンサ
をさらに特徴とする、請求項［００５６６］に記載の自動運転車両を制御するためのシステム。
【請求項３３４】
レーダ、ＬＩＤＡＲ、及び超音波センサからなる群から選択された前記第１のコンピュータに結合された少なくとも１つのセンサ
をさらに特徴とする、請求項［００５７３］に記載の自動運転車両を制御するためのシステム。
【請求項３３５】
レーダ、ＬＩＤＡＲ、及び超音波センサからなる群から選択された前記第１のコンピュータに結合された少なくとも１つのセンサ
をさらに特徴とする、請求項［００５８２］に記載の自動運転車両を制御するためのシステム。
【請求項３３６】
レーダ、ＬＩＤＡＲ、及び超音波センサからなる群から選択された前記第１のコンピュータに結合された少なくとも１つのセンサ
をさらに特徴とする、請求項［００５８４］に記載の自動運転車両を制御するためのシステム。
【請求項３３７】
前記第１のコンピュータ上の少なくとも１つのディープ・ラーニング・アクセラレータ上で実行するニューラル・ネットワーク
をさらに特徴とする、請求項［００５６６］に記載の自動運転車両を制御するためのシステム。
【請求項３３８】
前記第１のコンピュータ上の少なくとも１つのディープ・ラーニング・アクセラレータ上で実行する前記ニューラル・ネットワークがＣＮＮを有する
ことをさらに特徴とする、請求項３３７に記載の自動運転車両を制御するためのシステム。
【請求項３３９】
前記ＣＮＮが領域ベース畳み込みニューラル・ネットワークを備える
ことをさらに特徴とする、請求項３３８に記載の自動運転車両を制御するためのシステム。
【請求項３４０】
前記ＣＮＮが対象物検出のために訓練される
ことをさらに特徴とする、請求項３３８に記載の自動運転車両を制御するためのシステム。
【請求項３４１】
前記ＣＮＮが、交通標識検出、歩行者検出、又は車両検出のうちの少なくとも１つのために訓練される
ことをさらに特徴とする、請求項３３８に記載の自動運転車両を制御するためのシステム。
【請求項３４２】
前記ＣＮＮが、カメラ・レンズが障害によって妨害された状態を検出するように訓練される
ことをさらに特徴とする、請求項３３８に記載の自動運転車両を制御するためのシステム。
【請求項３４３】
前記ＣＮＮの、前記レンズ妨害状態の検出に応答して、前記プライマリ・コンピュータが、レンズ清掃ルーチンを実行するために制御信号を送る
ことをさらに特徴とする、請求項３４２に記載の自動運転車両を制御するためのシステム。
【請求項３４４】
前記レンズ清掃ルーチンを実行する前記プライマリ・コンピュータによって指示されると１つ又は複数のレンズ上で圧縮空気のストリームを提供するためのノズル
をさらに特徴とする、請求項３４３に記載の自動運転車両を制御するためのシステム。
【請求項３４５】
前記レンズ清掃ルーチンを実行する前記プライマリ・コンピュータによって指示されると結露、霜、又は氷を減少させるために前記レンズを加熱するためのヒータ
をさらに特徴とする、請求項３４３に記載の自動運転車両を制御するためのシステム。
【請求項３４６】
前記ＣＮＮが、カメラの故障を検出するように訓練される
ことをさらに特徴とする、請求項３３８に記載の自動運転車両を制御するためのシステム。
【請求項３４７】
前記第１のコンピュータ上の少なくとも１つのディープ・ラーニング・アクセラレータ上で実行するニューラル・ネットワーク
をさらに特徴とする、請求項［００５７３］に記載の自動運転車両を制御するためのシステム。
【請求項３４８】
前記第１のコンピュータ上の少なくとも１つのディープ・ラーニング・アクセラレータ上で実行する前記ニューラル・ネットワークがＣＮＮを有すること
をさらに特徴とする、請求項３４７に記載の自動運転車両を制御するためのシステム。
【請求項３４９】
前記ＣＮＮが領域ベース畳み込みニューラル・ネットワークを備える
ことをさらに特徴とする、請求項３４８に記載の自動運転車両を制御するためのシステム。
【請求項３５０】
前記ＣＮＮが対象物検出のために訓練される
ことをさらに特徴とする、請求項３４８に記載の自動運転車両を制御するためのシステム。
【請求項３５１】
前記ＣＮＮが、交通標識検出、歩行者検出、又は車両検出のうちの少なくとも１つのために訓練される
ことをさらに特徴とする、請求項３５０に記載の自動運転車両を制御するためのシステム。
【請求項３５２】
前記ＣＮＮが、カメラ・レンズが障害によって妨害された状態を検出するように訓練される
ことをさらに特徴とする、請求項３４８に記載の自動運転車両を制御するためのシステム。
【請求項３５３】
前記ＣＮＮの、前記レンズ妨害状態の検出に応答して、前記プライマリ・コンピュータが、レンズ清掃ルーチンを実行するために制御信号を送る
ことをさらに特徴とする、請求項３５２に記載の自動運転車両を制御するためのシステム。
【請求項３５４】
前記レンズ清掃ルーチンを実行する前記プライマリ・コンピュータによって指示されると１つ又は複数のレンズ上で圧縮空気のストリームを提供するためのノズル
をさらに特徴とする、請求項３５３に記載の自動運転車両を制御するためのシステム。
【請求項３５５】
前記レンズ清掃ルーチンを実行する前記プライマリ・コンピュータによって指示されると結露、霜、又は氷を減少させるために前記レンズを加熱するためのヒータ
をさらに特徴とする、請求項３５３に記載の自動運転車両を制御するためのシステム。
【請求項３５６】
前記ＣＮＮが、カメラの故障を検出するように訓練される
ことをさらに特徴とする、請求項３４８に記載の自動運転車両を制御するためのシステム。
【請求項３５７】
前記第１のコンピュータ上の少なくとも１つのディープ・ラーニング・アクセラレータ上で実行するＣＮＮ
をさらに特徴とする、請求項［００５８２］に記載の自動運転車両を制御するためのシステム。
【請求項３５８】
前記ＣＮＮが対象物検出のために訓練される
ことをさらに特徴とする、請求項３５７に記載の自動運転車両を制御するためのシステム。
【請求項３５９】
前記ＣＮＮが、交通標識検出、歩行者検出、又は車両検出のうちの少なくとも１つのために訓練される
ことをさらに特徴とする、請求項３５８に記載の自動運転車両を制御するためのシステム。
【請求項３６０】
前記第１のコンピュータ上の少なくとも１つのディープ・ラーニング・アクセラレータ上で実行するＣＮＮ
をさらに特徴とする、請求項［００５８４］に記載の自動運転車両を制御するためのシステム。
【請求項３６１】
前記ＣＮＮが対象物検出のために訓練される
ことをさらに特徴とする、請求項３６０に記載の自動運転車両を制御するためのシステム。
【請求項３６２】
前記ＣＮＮが、交通標識検出、歩行者検出、又は車両検出のうちの少なくとも１つのために訓練される
ことをさらに特徴とする、請求項３６１に記載の自動運転車両を制御するためのシステム。
【請求項３６３】
前記第１のコンピュータ上の少なくとも１つのプログラマブル・ビジョン・アクセラレータ上で実行するコンピュータ・ビジョン・アルゴリズム
をさらに特徴とする、請求項［００５６６］に記載の自動運転車両を制御するためのシステム。
【請求項３６４】
前記第１のコンピュータ上の少なくとも１つのプログラマブル・ビジョン・アクセラレータ上で実行するコンピュータ・ビジョン・アルゴリズム
をさらに特徴とする、請求項［００５７３］に記載の自動運転車両を制御するためのシステム。
【請求項３６５】
前記第１のコンピュータ上の少なくとも１つのプログラマブル・ビジョン・アクセラレータ上で実行するコンピュータ・ビジョン・アルゴリズム
をさらに特徴とする、請求項［００５８２］に記載の自動運転車両を制御するためのシステム。
【請求項３６６】
前記第１のコンピュータ上の少なくとも１つのプログラマブル・ビジョン・アクセラレータ上で実行するコンピュータ・ビジョン・アルゴリズム
をさらに特徴とする、請求項［００５８４］に記載の自動運転車両を制御するためのシステム。
【請求項３６７】
前記コンピュータ・ビジョン・アルゴリズムが、交通標識検出、距離推定、又は車両検出のうちの少なくとも１つを実行する
ことをさらに特徴とする、請求項３６３に記載の自動運転車両を制御するためのシステム。
【請求項３６８】
前記コンピュータ・ビジョン・アルゴリズムが、交通標識検出、距離推定、又は車両検出のうちの少なくとも１つを実行する
ことをさらに特徴とする、請求項３６４に記載の自動運転車両を制御するためのシステム。
【請求項３６９】
前記コンピュータ・ビジョン・アルゴリズムが、交通標識検出、距離推定、又は車両検出のうちの少なくとも１つを実行する
ことをさらに特徴とする、請求項３６５に記載の自動運転車両を制御するためのシステム。
【請求項３７０】
前記コンピュータ・ビジョン・アルゴリズムが、交通標識検出、距離推定、又は車両検出のうちの少なくとも１つを実行する
ことをさらに特徴とする、請求項３６６に記載の自動運転車両を制御するためのシステム。
【請求項３７１】
前記第１のコンピュータ上の少なくとも１つのプログラマブル・ビジョン・アクセラレータ上で実行するコンピュータ・ビジョン・アルゴリズム
をさらに特徴とする、請求項３４１に記載の自動運転車両を制御するためのシステム。
【請求項３７２】
前記第１のコンピュータ上の少なくとも１つのプログラマブル・ビジョン・アクセラレータ上で実行するコンピュータ・ビジョン・アルゴリズム
をさらに特徴とする、請求項３５１に記載の自動運転車両を制御するためのシステム。
【請求項３７３】
前記第１のコンピュータ上の少なくとも１つのプログラマブル・ビジョン・アクセラレータ上で実行するコンピュータ・ビジョン・アルゴリズム
をさらに特徴とする、請求項３５９に記載の自動運転車両を制御するためのシステム。
【請求項３７４】
前記コンピュータ・ビジョン・アルゴリズムが、交通標識検出、距離推定、又は車両検出のうちの少なくとも１つを実行する
ことをさらに特徴とする、請求項３７１に記載の自動運転車両を制御するためのシステム。
【請求項３７５】
前記コンピュータ・ビジョン・アルゴリズムが、交通標識検出、距離推定、又は車両検出のうちの少なくとも１つを実行する
ことをさらに特徴とする、請求項３７２に記載の自動運転車両を制御するためのシステム。
【請求項３７６】
前記コンピュータ・ビジョン・アルゴリズムが、交通標識検出、距離推定、又は車両検出のうちの少なくとも１つを実行する
ことをさらに特徴とする、請求項３７３に記載の自動運転車両を制御するためのシステム。
【請求項３７７】
前記第１のコンピュータに結合された超音波センサ
をさらに特徴とする、請求項３２５に記載の自動運転車両を制御するためのシステム。
【請求項３７８】
前記第１のコンピュータに結合された超音波センサ
をさらに特徴とする、請求項３２６に記載の自動運転車両を制御するためのシステム。
【請求項３７９】
前記第１のコンピュータに結合された超音波センサ
をさらに特徴とする、請求項３２７に記載の自動運転車両を制御するためのシステム。
【請求項３８０】
前記第１のコンピュータに結合された超音波センサ
をさらに特徴とする、請求項３２８に記載の自動運転車両を制御するためのシステム。
【請求項３８１】
前記第１のコンピュータに電気的に結合された少なくとも１つのマイクロホン
をさらに特徴とする、請求項１［００５５８］に記載の自動運転車両を制御するためのシステム。
【請求項３８２】
オーディオ信号を処理するためのデジタル信号プロセッサと、内部ＲＡＭとを特徴とするオーディオ処理エンジン
をさらに特徴とする、請求項３８１に記載の自動運転車両を制御するためのシステム。
【請求項３８３】
前記第１のコンピュータが、緊急車両サイレンを識別するように訓練されたＣＮＮを含む
ことをさらに特徴とする、請求項３８２に記載の自動運転車両を制御するためのシステム。
【請求項３８４】
前記第１のコンピュータが、緊急車両サイレンを識別すると緊急車両安全ルーチンを実行するように構成される
ことをさらに特徴とする、請求項３８３に記載の自動運転車両を制御するためのシステム。
【請求項３８５】
前記緊急車両安全ルーチンが、前記車両を遅くすることと、前記道路の脇に寄せることと、前記車両を駐車させることと、緊急車両が通過するまで前記車両をアイドリングさせることとを含む
ことをさらに特徴とする、請求項３８４に記載の自動運転車両を制御するためのシステム。
【請求項３８６】
前記第１のコンピュータが、前記緊急車両安全ルーチンを実行するとき、１つ又は複数の超音波センサからの情報を使用するように構成される
ことをさらに特徴とする１つ又は複数の超音波センサ
をさらに特徴とする、請求項３８５に記載の自動運転車両を制御するためのシステム。
【請求項３８７】
前記緊急車両安全ルーチンを実行するように構成された前記第１のコンピュータに結合されたディスクリートＸ８６  ＣＰＵ
をさらに特徴とする、請求項３８６に記載の自動運転車両を制御するためのシステム。
【請求項３８８】
ＡＳＩＬ  Ｄ機能安全性評価を有する自動運転車両を制御するためのシステムであって、
請求項１［００５５８］に記載の自動運転車両を制御するためのコンピュータと、
ＡＳＩＬ−Ｂ機能安全性評価を有する前方衝突警告システムと
を特徴とし、
前記自動運転車両を制御するためのコンピュータがＡＳＩＬ−Ｃ機能安全性評価を有することをさらに特徴とする、
システム。
【請求項３８９】
請求項［００５６６］に記載の自動運転車両のシステムを特徴とする牽引車と、
複数の重量重心センサを特徴とするトレーラであって、
前記牽引車に電気的に結合されたトレーラと
を特徴とする、自律運転トラック。
【請求項３９０】
請求項２１９に記載の自動運転車両のシステムを特徴とする牽引車と、
複数の重量重心センサを特徴とするトレーラであって、
前記牽引車に電気的に結合されたトレーラと
を特徴とする、自律運転トラック。
【請求項３９１】
請求項［００５７３］に記載の自動運転車両のシステムを特徴とする牽引車と、
複数の重量重心センサを特徴とするトレーラであって、
前記牽引車に電気的に結合されたトレーラと
を特徴とする、自律運転トラック。
【請求項３９２】
請求項２６５に記載の自動運転車両のシステムを特徴とする牽引車と、
複数の重量重心センサを特徴とするトレーラであって、
前記牽引車に電気的に結合されたトレーラと
を特徴とする、自律運転トラック。
【請求項３９３】
請求項［００５８２］に記載の自動運転車両のシステムを特徴とする牽引車と、
複数の重量重心センサを特徴とするトレーラであって、
前記牽引車に電気的に結合されたトレーラと
を特徴とする、自律運転トラック。
【請求項３９４】
請求項２７７に記載の自動運転車両のシステムを特徴とする牽引車と、
複数の重量重心センサを特徴とするトレーラであって、
前記牽引車に電気的に結合されたトレーラと
を特徴とする、自律運転トラック。
【請求項３９５】
請求項［００５８４］に記載の自動運転車両のシステムを特徴とする牽引車と、
複数の重量重心センサを特徴とするトレーラであって、
前記牽引車に電気的に結合されたトレーラと
を特徴とする、自律運転トラック。
【請求項３９６】
前記トレーラに加えられた横風を検出するための、前記トレーラと関連づけられた少なくとも１つの突風センサ
をさらに特徴とする、請求項［００５９６］に記載の自律運転トラック。
【請求項３９７】
前記突風センサが、
前記トレーラの一方の側にピトー管を有する第１のセンサと、
前記トレーラの他方の側にピトー管を有する第２のセンサと、
前記プライマリ・コンピュータに電気的に結合された前記第１のセンサ及び前記第２のセンサ
を備えることをさらに特徴とし、
前記プライマリ・コンピュータが、横方向の突風を識別するために前記第１のセンサからの結果と前記第２のセンサからの結果を比較するように構成されることをさらに特徴とする、請求項３９６に記載の自律運転トラック。
【請求項３９８】
前記トラックの加速、ブレーキ、及びステアリングを制御するための複数の車両アクチュエータ
をさらに特徴とし、
前記プライマリ・コンピュータが、前記比較を使用して前記車両アクチュエータのうちの１つ又は複数を制御するように構成される
ことをさらに特徴とする、請求項３９７に記載の自律運転トラック。
【請求項３９９】
前記トレーラの重量及び重心を測定するために配置され、前記トレーラの前記重量及び重心に関する情報を前記プライマリ・コンピュータに提供するために前記プライマリ・コンピュータに電気的に結合された複数の重量重心センサ
を特徴とし、
前記プライマリ・コンピュータが、前記重量及び重心情報を使用して、突風を識別するために前記第１のセンサからの結果と前記第２のセンサからの結果の比較を検証するように構成される
ことをさらに特徴とする、請求項３９８に記載の自律運転トラック。
【請求項４００】
前記トレーラに加えられた横風を検出するための、前記トレーラと関連づけられた少なくとも１つの突風センサ
をさらに特徴とする、請求項３９０に記載の自律運転トラック。
【請求項４０１】
前記突風センサが、
前記トレーラの一方の側にピトー管を有する第１のセンサと、
前記トレーラの他方の側にピトー管を有する第２のセンサと、
前記プライマリ・コンピュータに電気的に結合された前記第１のセンサ及び前記第２のセンサ
を備えることをさらに特徴とし、
前記プライマリ・コンピュータが、横方向の突風を識別するために前記第１のセンサからの結果と前記第２のセンサからの結果を比較するように構成されることをさらに特徴とする、請求項４００に記載の自律運転トラック。
【請求項４０２】
前記トラックの加速、ブレーキ、及びステアリングを制御するための複数の車両アクチュエータ
をさらに特徴とし、
前記プライマリ・コンピュータが、前記比較を使用して前記車両アクチュエータのうちの１つ又は複数を制御するように構成される
ことをさらに特徴とする、請求項４０１に記載の自律運転トラック。
【請求項４０３】
前記トレーラの重量及び重心を測定するために配置され、前記トレーラの前記重量及び重心に関する情報を前記プライマリ・コンピュータに提供するために前記プライマリ・コンピュータに電気的に結合された複数の重量重心センサ
をさらに特徴とし、
前記プライマリ・コンピュータが、前記重量及び重心情報を使用して、突風を識別するために前記第１のセンサからの結果と前記第２のセンサからの結果の比較を検証するように構成される
ことをさらに特徴とする、請求項４０２に記載の自律運転トラック。
【請求項４０４】
前記トレーラに加えられた横風を検出するための、前記トレーラと関連づけられた少なくとも１つの突風センサ
をさらに特徴とする、請求項３９１に記載の自律運転トラック。
【請求項４０５】
前記突風センサが、
前記トレーラの一方の側にピトー管を有する第１のセンサと、
前記トレーラの他方の側にピトー管を有する第２のセンサと、
前記プライマリ・コンピュータに電気的に結合された前記第１のセンサ及び前記第２のセンサ
を備えることをさらに特徴とし、
前記プライマリ・コンピュータが、横方向の突風を識別するために前記第１のセンサからの結果と前記第２のセンサからの結果を比較するように構成されることをさらに特徴とする、請求項４０４に記載の自律運転トラック。
【請求項４０６】
前記トラックの加速、ブレーキ、及びステアリングを制御するための複数の車両アクチュエータ
をさらに特徴とし、
前記プライマリ・コンピュータが、前記比較を使用して前記車両アクチュエータのうちの１つ又は複数を制御するように構成される
ことをさらに特徴とする、請求項４０５に記載の自律運転トラック。
【請求項４０７】
前記トレーラの重量及び重心を測定するために配置され、前記トレーラの前記重量及び重心に関する情報を前記プライマリ・コンピュータに提供するために前記プライマリ・コンピュータに電気的に結合された複数の重量重心センサ
をさらに特徴とし、
前記プライマリ・コンピュータが、前記重量及び重心情報を使用して、突風を識別するために前記第１のセンサからの結果と前記第２のセンサからの結果の比較を検証するように構成される
ことをさらに特徴とする、請求項４０６に記載の自律運転トラック。
【請求項４０８】
前記トレーラに加えられた横風を検出するための、前記トレーラと関連づけられた少なくとも１つの突風センサ
をさらに特徴とする、請求項３９２に記載の自律運転トラック。
【請求項４０９】
前記突風センサが、
前記トレーラの一方の側にピトー管を有する第１のセンサと、
前記トレーラの他方の側にピトー管を有する第２のセンサと、
前記プライマリ・コンピュータに電気的に結合された前記第１のセンサ及び前記第２のセンサ
を備えることをさらに特徴とし、
前記プライマリ・コンピュータが、横方向の突風を識別するために前記第１のセンサからの結果と前記第２のセンサからの結果を比較するように構成されることをさらに特徴とする、請求項４０８に記載の自律運転トラック。
【請求項４１０】
前記トラックの加速、ブレーキ、及びステアリングを制御するための複数の車両アクチュエータ
をさらに特徴とし、
前記プライマリ・コンピュータが、前記比較を使用して前記車両アクチュエータのうちの１つ又は複数を制御するように構成される
ことをさらに特徴とする、請求項４０９に記載の自律運転トラック。
【請求項４１１】
前記トレーラの重量及び重心を測定するために配置され、前記トレーラの前記重量及び重心に関する情報を前記プライマリ・コンピュータに提供するために前記プライマリ・コンピュータに電気的に結合された複数の重量重心センサ
をさらに特徴とし、
前記プライマリ・コンピュータが、前記重量及び重心情報を使用して、突風を識別するために前記第１のセンサからの結果と前記第２のセンサからの結果の比較を検証するように構成される
ことをさらに特徴とする、請求項４１０に記載の自律運転トラック。
【請求項４１２】
前記トレーラに加えられた横風を検出するための、前記トレーラと関連づけられた少なくとも１つの突風センサ
をさらに特徴とする、請求項３９３に記載の自律運転トラック。
【請求項４１３】
前記突風センサが、
前記トレーラの一方の側にピトー管を有する第１のセンサと、
前記トレーラの他方の側にピトー管を有する第２のセンサと、
前記プライマリ・コンピュータに電気的に結合された前記第１のセンサ及び前記第２のセンサ
を備えることをさらに特徴とし、
前記プライマリ・コンピュータが、横方向の突風を識別するために前記第１のセンサからの結果と前記第２のセンサからの結果を比較するように構成されることをさらに特徴とする、請求項４１２に記載の自律運転トラック。
【請求項４１４】
前記トラックの加速、ブレーキ、及びステアリングを制御するための複数の車両アクチュエータ
をさらに特徴とし、
前記プライマリ・コンピュータが、前記比較を使用して前記車両アクチュエータのうちの１つ又は複数を制御するように構成される
ことをさらに特徴とする、請求項４１３に記載の自律運転トラック。
【請求項４１５】
前記トレーラの重量及び重心を測定するために配置され、前記トレーラの前記重量及び重心に関する情報を前記プライマリ・コンピュータに提供するために前記プライマリ・コンピュータに電気的に結合された複数の重量重心センサ
をさらに特徴とし、
前記プライマリ・コンピュータが、前記重量及び重心情報を使用して、突風を識別するために前記第１のセンサからの結果と前記第２のセンサからの結果の比較を検証するように構成される
ことをさらに特徴とする、請求項４１４に記載の自律運転トラック。
【請求項４１６】
前記トレーラに加えられた横風を検出するための、前記トレーラと関連づけられた少なくとも１つの突風センサ
をさらに特徴とする、請求項３９４に記載の自律運転トラック。
【請求項４１７】
前記突風センサが、
前記トレーラの一方の側にピトー管を有する第１のセンサと、
前記トレーラの他方の側にピトー管を有する第２のセンサと、
前記プライマリ・コンピュータに電気的に結合された前記第１のセンサ及び前記第２のセンサ
を備えることをさらに特徴とし、
前記プライマリ・コンピュータが、横方向の突風を識別するために前記第１のセンサからの結果と前記第２のセンサからの結果を比較するように構成されることをさらに特徴とする、請求項４１６に記載の自律運転トラック。
【請求項４１８】
前記トラックの加速、ブレーキ、及びステアリングを制御するための複数の車両アクチュエータ
をさらに特徴とし、
前記プライマリ・コンピュータが、前記比較を使用して前記車両アクチュエータのうちの１つ又は複数を制御するように構成される
ことをさらに特徴とする、請求項４１７に記載の自律運転トラック。
【請求項４１９】
前記トレーラの重量及び重心を測定するために配置され、前記トレーラの前記重量及び重心に関する情報を前記プライマリ・コンピュータに提供するために前記プライマリ・コンピュータに電気的に結合された複数の重量重心センサ
をさらに特徴とし、
前記プライマリ・コンピュータが、前記重量及び重心情報を使用して、突風を識別するために前記第１のセンサからの結果と前記第２のセンサからの結果の比較を検証するように構成される
ことをさらに特徴とする、請求項４１８に記載の自律運転トラック。
【請求項４２０】
前記トレーラに加えられた横風を検出するための、前記トレーラと関連づけられた少なくとも１つの突風センサ
をさらに特徴とする、請求項３９５に記載の自律運転トラック。
【請求項４２１】
前記突風センサが、
前記トレーラの一方の側にピトー管を有する第１のセンサと、
前記トレーラの他方の側にピトー管を有する第２のセンサと、
前記プライマリ・コンピュータに電気的に結合された前記第１のセンサ及び前記第２のセンサ
を備えることをさらに特徴とし、
前記プライマリ・コンピュータが、横方向の突風を識別するために前記第１のセンサからの結果と前記第２のセンサからの結果を比較するように構成されることをさらに特徴とする、請求項４２０に記載の自律運転トラック。
【請求項４２２】
前記トラックの加速、ブレーキ、及びステアリングを制御するための複数の車両アクチュエータ
をさらに特徴とし、
前記プライマリ・コンピュータが、前記比較を使用して前記車両アクチュエータのうちの１つ又は複数を制御するように構成される
ことをさらに特徴とする、請求項４２１に記載の自律運転トラック。
【請求項４２３】
前記トレーラの重量及び重心を測定するために配置され、前記トレーラの前記重量及び重心に関する情報を前記プライマリ・コンピュータに提供するために前記プライマリ・コンピュータに電気的に結合された複数の重量重心センサ
をさらに特徴とし、
前記プライマリ・コンピュータが、前記重量及び重心情報を使用して、突風を識別するために前記第１のセンサからの結果と前記第２のセンサからの結果の比較を検証するように構成される
ことをさらに特徴とする、請求項４２２に記載の自律運転トラック。
【請求項４２４】
前記トレーラのピッチ、ロール、及びヨーのうちの少なくとも１つを検出するための、前記トレーラと関連づけられた複数の慣性センサ
をさらに特徴とする、請求項３９６に記載の自律運転トラック。
【請求項４２５】
前記トレーラのピッチ、ロール、及びヨーのうちの少なくとも１つを検出するための、前記トレーラと関連づけられた複数の慣性センサ
をさらに特徴とする、請求項４００に記載の自律運転トラック。
【請求項４２６】
前記トレーラのピッチ、ロール、及びヨーのうちの少なくとも１つを検出するための、前記トレーラと関連づけられた複数の慣性センサ
をさらに特徴とする、請求項４０４に記載の自律運転トラック。
【請求項４２７】
前記トレーラのピッチ、ロール、及びヨーのうちの少なくとも１つを検出するための、前記トレーラと関連づけられた複数の慣性センサ
をさらに特徴とする、請求項４０８に記載の自律運転トラック。
【請求項４２８】
前記トレーラのピッチ、ロール、及びヨーのうちの少なくとも１つを検出するための、前記トレーラと関連づけられた複数の慣性センサ
をさらに特徴とする、請求項４１２に記載の自律運転トラック。
【請求項４２９】
前記トレーラのピッチ、ロール、及びヨーのうちの少なくとも１つを検出するための、前記トレーラと関連づけられた複数の慣性センサ
をさらに特徴とする、請求項４１６に記載の自律運転トラック。
【請求項４３０】
前記トレーラのピッチ、ロール、及びヨーのうちの少なくとも１つを検出するための、前記トレーラと関連づけられた複数の慣性センサ
をさらに特徴とする、請求項４２０に記載の自律運転トラック。
【請求項４３１】
前記ＭＣＵが、前記重量重心センサからの前記情報を使用して、前記トラックの速度、加速、又は減速のうちの少なくとも１つを制限するように構成される
ことをさらに特徴とする、請求項［００５９６］に記載の自律運転トラック。
【請求項４３２】
前記ＭＣＵが、前記重量重心センサからの前記情報を使用して、前記トラックの速度、加速、又は減速のうちの少なくとも１つを制限するように構成される
ことをさらに特徴とする、請求項３９０に記載の自律運転トラック。
【請求項４３３】
前記ＭＣＵが、前記重量重心センサからの前記情報を使用して、前記トラックの速度、加速、又は減速のうちの少なくとも１つを制限するように構成される
ことをさらに特徴とする、請求項３９１に記載の自律運転トラック。
【請求項４３４】
前記ＭＣＵが、前記重量重心センサからの前記情報を使用して、前記トラックの速度、加速、又は減速のうちの少なくとも１つを制限するように構成される
ことをさらに特徴とする、請求項３９２に記載の自律運転トラック。
【請求項４３５】
前記ＭＣＵが、前記重量重心センサからの前記情報を使用して、前記トラックの速度、加速、又は減速のうちの少なくとも１つを制限するように構成される
ことをさらに特徴とする、請求項３９３に記載の自律運転トラック。
【請求項４３６】
前記ＭＣＵが、前記重量重心センサからの前記情報を使用して、前記トラックの速度、加速、又は減速のうちの少なくとも１つを制限するように構成される
ことをさらに特徴とする、請求項３９４に記載の自律運転トラック。
【請求項４３７】
前記ＭＣＵが、前記重量重心センサからの前記情報を使用して、前記トラックの速度、加速、又は減速のうちの少なくとも１つを制限するように構成される
ことをさらに特徴とする、請求項３９５に記載の自律運転トラック。
【請求項４３８】
前記ＭＣＵが、前記突風センサからの前記情報を使用して、前記トラックの速度、加速、又は減速のうちの少なくとも１つを制限するように構成される
ことをさらに特徴とする、請求項３９６に記載の自律運転トラック。
【請求項４３９】
前記ＭＣＵが、前記突風センサからの前記情報を使用して、前記トラックの速度、加速、又は減速のうちの少なくとも１つを制限するように構成される
ことをさらに特徴とする、請求項４００に記載の自律運転トラック。
【請求項４４０】
前記ＭＣＵが、前記突風センサからの前記情報を使用して、前記トラックの速度、加速、又は減速のうちの少なくとも１つを制限するように構成される
ことをさらに特徴とする、請求項４０４に記載の自律運転トラック。
【請求項４４１】
前記ＭＣＵが、前記突風センサからの前記情報を使用して、前記トラックの速度、加速、又は減速のうちの少なくとも１つを制限するように構成される
ことをさらに特徴とする、請求項４０８に記載の自律運転トラック。
【請求項４４２】
前記ＭＣＵが、前記突風センサからの前記情報を使用して、前記トラックの速度、加速、又は減速のうちの少なくとも１つを制限するように構成される
ことをさらに特徴とする、請求項４１２に記載の自律運転トラック。
【請求項４４３】
前記ＭＣＵが、前記突風センサからの前記情報を使用して、前記トラックの速度、加速、又は減速のうちの少なくとも１つを制限するように構成される
ことをさらに特徴とする、請求項４１６に記載の自律運転トラック。
【請求項４４４】
前記ＭＣＵが、前記突風センサからの前記情報を使用して、前記トラックの速度、加速、又は減速のうちの少なくとも１つを制限するように構成される
ことをさらに特徴とする、請求項４２０に記載の自律運転トラック。
【請求項４４５】
前記プログラマブル・ビジョン・アクセラレータが、前記突風センサからの前記情報を使用して、前記トラックの速度、加速、又は減速のうちの少なくとも１つを制限するように構成される
ことをさらに特徴とする、請求項３９６に記載の自律運転トラック。
【請求項４４６】
前記プログラマブル・ビジョン・アクセラレータが、前記突風センサからの前記情報を使用して、前記トラックの速度、加速、又は減速のうちの少なくとも１つを制限するように構成される
ことをさらに特徴とする、請求項４００に記載の自律運転トラック。
【請求項４４７】
前記プログラマブル・ビジョン・アクセラレータが、前記突風センサからの前記情報を使用して、前記トラックの速度、加速、又は減速のうちの少なくとも１つを制限するように構成される
ことをさらに特徴とする、請求項４０４に記載の自律運転トラック。
【請求項４４８】
前記プログラマブル・ビジョン・アクセラレータが、前記突風センサからの前記情報を使用して、前記トラックの速度、加速、又は減速のうちの少なくとも１つを制限するように構成される
ことをさらに特徴とする、請求項４０８に記載の自律運転トラック。
【請求項４４９】
前記プログラマブル・ビジョン・アクセラレータが、前記突風センサからの前記情報を使用して、前記トラックの速度、加速、又は減速のうちの少なくとも１つを制限するように構成される
ことをさらに特徴とする、請求項４１２に記載の自律運転トラック。
【請求項４５０】
前記プログラマブル・ビジョン・アクセラレータが、前記突風センサからの前記情報を使用して、前記トラックの速度、加速、又は減速のうちの少なくとも１つを制限するように構成される
ことをさらに特徴とする、請求項４１６に記載の自律運転トラック。
【請求項４５１】
前記プログラマブル・ビジョン・アクセラレータが、前記突風センサからの前記情報を使用して、前記トラックの速度、加速、又は減速のうちの少なくとも１つを制限するように構成される
ことをさらに特徴とする、請求項４２０に記載の自律運転トラック。
【請求項４５２】
前記トレーラ内に配置されたカメラ・センサと、
前記システム・オン・チップに電気的に結合された前記センサと
をさらに特徴とする、請求項４２０に記載の自律運転トラック。
【請求項４５３】
前記トレーラ内に配置された煙検出器と、
前記システム・オン・チップに電気的に結合された前記センサと、
前記トレーラ内の火災を示す前記煙検出器からの信号に応答して火災応答プロトコルを実行するように構成された前記システム・オン・チップと、
火災の存在を示すワイヤレス信号を送ること、
前記トラックの所在地を示すワイヤレス信号を送ること、及び
前記トラックの駐車操作を実行すること
を特徴とする前記火災応答プロトコルと
をさらに特徴とする、請求項４２０に記載の自律運転トラック。
【請求項４５４】
第１の制御可能な車軸と、
前記第１の制御可能な車軸を制御するための第１のコントローラと、
第２の制御可能な車軸と、
前記第２の制御可能な車軸を制御するための第２のコントローラと、
請求項１１７９に記載のシステム・オン・チップを特徴とする前記第１のコントローラと、
請求項１１７９に記載のシステム・オン・チップを特徴とする前記第２のコントローラと
を特徴とする、自律運転トラック。
【請求項４５５】
第１の制御可能な車軸と、
前記第１の制御可能な車軸を制御するための第１のコントローラと、
第２の制御可能な車軸と、
前記第２の制御可能な車軸を制御するための第２のコントローラと、
請求項１１７９に記載のシステム・オン・チップを特徴とする前記第１のコントローラと、
ディープ・ラーニング・アクセラレータを特徴とする前記第２のコントローラと
を特徴とする、自律運転トラック。
【請求項４５６】
前記車両の前面に設置された少なくとも１つの赤外線カメラ
をさらに特徴とする、請求項［００６０１］に記載の自律運転トラック。
【請求項４５７】
前記赤外線カメラがズーム機能を含む
ことをさらに特徴とする、請求項［００６０１］に記載の自律運転トラック。
【請求項４５８】
前記車両の前面、後面、及び側面に設置された複数の赤外線カメラ
をさらに特徴とする、請求項４５５に記載の自律運転トラック。
【請求項４５９】
前記赤外線カメラのうちの１つ又は複数がズーム機能を含む
ことをさらに特徴とする、請求項［００６０１］に記載の自律運転トラック。
【請求項４６０】
車両本体と、
複数の乗客のための、前記車両本体内の座席エリアと、
請求項１１７９に記載のコンピュータを特徴とする前記車両を制御するためのコンピュータと、
前記座席エリアをモニタするための前記車両本体内の少なくとも１つのカメラであって、前記コンピュータに電気的に結合されたカメラと、
前記コンピュータ上で実行する少なくとも１つのニューラル・ネットワークであって、安全状態を識別するように訓練されたニューラル・ネットワークと、
セルラー・ネットワークと通信するためのワイヤレス・デバイスと、
前記セルラー・ネットワークを介して前記安全状態の通知を送るように構成された前記コンピュータと
を特徴とする、自律運転複数乗客車両。
【請求項４６１】
前記セルラー・ネットワークがＬＴＥネットワークを備える
ことをさらに特徴とする、請求項［００６０２］に記載の自律運転複数乗客車両。
【請求項４６２】
前記セルラー・ネットワークがＷＣＤＭＡ（登録商標）ネットワークを備える
ことをさらに特徴とする、請求項［００６０２］に記載の自律運転複数乗客車両。
【請求項４６３】
車両本体と、
請求項１１７９に記載のコンピュータを特徴とする前記車両を制御するためのコンピュータと、
前記車両本体の周りに配置された複数のカメラであって、前記コンピュータに電気的に結合されたカメラと、
前記コンピュータ上で実行する少なくとも１つのニューラル・ネットワークであって、少なくとも１つの他の車両を位置特定するように訓練されたニューラル・ネットワークと、
前記コンピュータに電気的に結合されたワイヤレス・デバイスであって、ワイヤレス・ネットワークと通信するためのワイヤレス・デバイスと、
前記セルラー・ネットワークを介して前記少なくとも１つの他の車両の存在及び所在地の通知を送るように構成された前記コンピュータ
を特徴とする、自律運転パトロール・カー。
【請求項４６４】
前記車両の前面に設置された少なくとも１つの赤外線カメラ
をさらに特徴とする、請求項［００６０３］に記載の自律運転パトロール・カー。
【請求項４６５】
前記赤外線カメラがズーム機能を含む
ことをさらに特徴とする、請求項４６４に記載の自律運転パトロール・カー。
【請求項４６６】
前記車両の前面、後面、及び側面に設置された複数の赤外線カメラ
をさらに特徴とする、請求項［００６０３］に記載の自律運転パトロール・カー。
【請求項４６７】
前記赤外線カメラのうちの１つ又は複数がズーム機能を含む
ことをさらに特徴とする、請求項４６６に記載の自律運転パトロール・カー。
【請求項４６８】
前記セルラー・ネットワークがＬＴＥネットワークを備える
ことをさらに特徴とする、請求項［００６０３］に記載の自律運転パトロール・カー。
【請求項４６９】
前記セルラー・ネットワークがＷＣＤＭＡ（登録商標）ネットワークを備える
ことをさらに特徴とする、請求項［００６０３］に記載の自律運転パトロール・カー。
【請求項４７０】
前記ニューラル・ネットワークが、ナンバー・プレートを識別することによって、前記少なくとも１つの他の車両を識別する
ことをさらに特徴とする、請求項［００６０３］に記載の自律運転パトロール・カー。
【請求項４７１】
前記ニューラル・ネットワークが、ナンバー・プレートの一部分並びに前記他の車両のメーカー及びモデルを識別することによって、前記少なくとも１つの他の車両を識別する
ことをさらに特徴とする、請求項［００６０３］に記載の自律運転パトロール・カー。
【請求項４７２】
前記ニューラル・ネットワークが、前記他の車両の外観を識別することによって、前記少なくとも１つの他の車両を識別する
ことをさらに特徴とする、請求項［００６０３］に記載の自律運転パトロール・カー。
【請求項４７３】
前記コンピュータが、前記ディープ・ラーニング・アクセラレータ上で前記ニューラル・ネットワークを実行する
ことをさらに特徴とする、請求項［００６０３］に記載の自律運転パトロール・カー。
【請求項４７４】
前記コンピュータが、前記ＧＰＵ上で前記ニューラル・ネットワークを実行する
ことをさらに特徴とする、請求項［００６０３］に記載の自律運転パトロール・カー。
【請求項４７５】
車両本体と、
請求項１１７９に記載のコンピュータを特徴とする前記車両を制御するためのコンピュータと、
前記車両本体の周りに配置された複数のカメラであって、前記コンピュータに電気的に結合されたカメラと、
前記コンピュータ上で実行する少なくとも１つのニューラル・ネットワークであって、少なくとも１つの安全状態を識別するように訓練されたニューラル・ネットワークと、
セルラー・ネットワークと通信するためのワイヤレス・デバイスと、
前記セルラー・ネットワークを介して前記少なくとも１つの安全状態の存在及び所在地の通知を送るように構成された前記コンピュータ
を特徴とする、自律運転パトロール・カー。
【請求項４７６】
前記安全状態が火災である
ことをさらに特徴とする、請求項［００６０６］に記載の自律運転パトロール・カー。
【請求項４７７】
前記安全状態が自動車事故である
ことをさらに特徴とする、請求項［００６０６］に記載の自律運転パトロール・カー。
【請求項４７８】
前記安全状態が負傷者である
ことをさらに特徴とする、請求項［００６０６］に記載の自律運転パトロール・カー。
【請求項４７９】
前記安全状態が人々の間の物理的衝突である
ことをさらに特徴とする、請求項２５６に記載の自律運転パトロール・カー。
【請求項４８０】
前記コンピュータが、前記ディープ・ラーニング・アクセラレータ上で前記ニューラル・ネットワークを実行する
ことをさらに特徴とする、請求項４７６に記載の自律運転パトロール・カー。
【請求項４８１】
前記コンピュータが、前記ディープ・ラーニング・アクセラレータ上で前記ニューラル・ネットワークを実行する
ことをさらに特徴とする、請求項４７７に記載の自律運転パトロール・カー。
【請求項４８２】
前記コンピュータが、前記ディープ・ラーニング・アクセラレータ上で前記ニューラル・ネットワークを実行する
ことをさらに特徴とする、請求項４７８に記載の自律運転パトロール・カー。
【請求項４８３】
前記コンピュータが、前記ディープ・ラーニング・アクセラレータ上で前記ニューラル・ネットワークを実行する
ことをさらに特徴とする、請求項４７９に記載の自律運転パトロール・カー。
【請求項４８４】
前記コンピュータが、前記ＧＰＵ上で前記ニューラル・ネットワークを実行する
ことをさらに特徴とする、請求項４７６に記載の自律運転パトロール・カー。
【請求項４８５】
前記コンピュータが、前記ＧＰＵ上で前記ニューラル・ネットワークを実行する
ことをさらに特徴とする、請求項４７７に記載の自律運転パトロール・カー。
【請求項４８６】
前記コンピュータが、前記ＧＰＵ上で前記ニューラル・ネットワークを実行する
ことをさらに特徴とする、請求項４７８に記載の自律運転パトロール・カー。
【請求項４８７】
前記コンピュータが、前記ＧＰＵ上で前記ニューラル・ネットワークを実行する
ことをさらに特徴とする、請求項４７９に記載の自律運転パトロール・カー。
【請求項４８８】
システム・オン・チップ上のディープ・ラーニング・アクセラレータ上で第１のニューラル・ネットワークを実行することと、
前記システム・オン・チップ上のＧＰＵ上で第２のニューラル・ネットワークを実行することと、
前記システム・オン・チップ上のプログラマブル・ビジョン・アクセラレータ上で第１のコンピュータ・ビジョン・アルゴリズムを実行することと、
前記第１のニューラル・ネットワーク、第２のニューラル・ネットワーク、及び前記コンピュータ・ビジョン・アルゴリズムの出力に応答して、前記自動運転車両上の１つ又は複数のアクチュエータを制御することと
を特徴とする、自動運転車両を制御するための方法。
【請求項４８９】
少なくとも１つの動力駆動車軸の第１の角速度を検出することと、
少なくとも１つの自由回転車軸の第２の角速度を検出することと、
路面上での摩擦のレベルを判定するために前記第１の角速度と前記第２の角速度を比較することと、
前記第１のニューラル・ネットワーク、第２のニューラル・ネットワーク、前記コンピュータ・ビジョン・アルゴリズム、及び前記第１の角速度と前記第２の角速度の前記比較の出力に応答して、前記自動運転車両上の１つ又は複数のアクチュエータを制御することと
をさらに特徴とする、請求項［００６０８］に記載の自動運転車両を制御するための方法。
【請求項４９０】
前記動力駆動車軸の第１の振動を検出することと、
前記少なくとも１つの自由回転車軸の第２の振動を判定する第２の振動センサを検出することと、
前記路面上での前記摩擦のレベルを判定するために前記第１の振動と前記第２の振動を比較することと
をさらに特徴とする、請求項４８９に記載の自動運転車両を制御するための方法。
【請求項４９１】
少なくとも１つのカメラ・センサからの画像情報を前記第１のニューラル・ネットワークへの入力として提供すること
をさらに特徴とする、請求項［００６０８］に記載の自動運転車両を制御するための方法。
【請求項４９２】
少なくとも１つのカメラ・センサからの画像情報を前記第２のニューラル・ネットワークへの入力として提供すること
をさらに特徴とする、請求項［００６０８］に記載の自動運転車両を制御するための方法。
【請求項４９３】
少なくとも１つの赤外線カメラ・センサからの画像情報を前記第１のニューラル・ネットワークへの入力として提供すること
をさらに特徴とする、請求項［００６０８］に記載の自動運転車両を制御するための方法。
【請求項４９４】
少なくとも１つの赤外線カメラ・センサからの画像情報を前記第２のニューラル・ネットワークへの入力として提供すること
をさらに特徴とする、請求項［００６０８］に記載の自動運転車両を制御するための方法。
【請求項４９５】
少なくとも１つの単眼カメラ・センサからの画像情報を前記第１のニューラル・ネットワークへの入力として提供すること
をさらに特徴とする、請求項［００６０８］に記載の自動運転車両を制御するための方法。
【請求項４９６】
少なくとも１つの単眼カメラ・センサからの画像情報を前記第２のニューラル・ネットワークへの入力として提供すること
をさらに特徴とする、請求項［００６０８］に記載の自動運転車両を制御するための方法。
【請求項４９７】
少なくとも１つのステレオ・カメラ・センサからの画像情報を前記第１のニューラル・ネットワークへの入力として提供すること
をさらに特徴とする、請求項［００６０８］に記載の自動運転車両を制御するための方法。
【請求項４９８】
少なくとも１つのステレオ・カメラ・センサからの画像情報を前記第２のニューラル・ネットワークへの入力として提供すること
をさらに特徴とする、請求項［００６０８］に記載の自動運転車両を制御するための方法。
【請求項４９９】
少なくともレーダ・センサからの情報を前記第１のコンピュータ・ビジョン・アルゴリズムへの入力として提供すること
をさらに特徴とする、請求項［００６０８］に記載の自動運転車両を制御するための方法。
【請求項５００】
少なくとも１つのＬＩＤＡＲセンサからの情報を前記第１のコンピュータ・ビジョン・アルゴリズムへの入力として提供すること
をさらに特徴とする、請求項［００６０８］に記載の自動運転車両を制御するための方法。
【請求項５０１】
少なくとも１つの超音波センサからの情報を前記第１のコンピュータ・ビジョン・アルゴリズムへの入力として提供すること
をさらに特徴とする、請求項［００６０８］に記載の自動運転車両を制御するための方法。
【請求項５０２】
少なくとも１つのフラッシュＬＩＤＡＲセンサからの情報を前記第１のコンピュータ・ビジョン・アルゴリズムへの入力として提供すること
をさらに特徴とする、請求項［００６０８］に記載の自動運転車両を制御するための方法。
【請求項５０３】
第２のシステム・オン・チップ上のディープ・ラーニング・アクセラレータ上で第３のニューラル・ネットワークを実行することと、
前記第２のシステム・オン・チップ上のＧＰＵ上で第４のニューラル・ネットワークを実行することと、
前記第２のシステム・オン・チップ上のプログラマブル・ビジョン・アクセラレータ上で第２のコンピュータ・ビジョン・アルゴリズムを実行することと、
前記第１のシステム・オン・チップの前記出力と前記第２のシステム・オン・チップの前記出力を比較することと、
前記比較に応答して前記自動運転車両上の１つ又は複数のアクチュエータを制御することと
をさらに特徴とする、請求項［００６０８］に記載の自動運転車両を制御するための方法。
【請求項５０４】
少なくとも１つのカメラ・センサからの画像情報を前記第１のニューラル・ネットワークへの入力として提供することと、
少なくとも１つのカメラ・センサからの画像情報を前記第３のニューラル・ネットワークへの入力として提供することと
をさらに特徴とする、請求項５０３に記載の自動運転車両を制御するための方法。
【請求項５０５】
少なくとも１つのカメラ・センサからの画像情報を前記第２のニューラル・ネットワークへの入力として提供することと、
少なくとも１つのカメラ・センサからの画像情報を前記第４のニューラル・ネットワークへの入力として提供することと
をさらに特徴とする、請求項５０３に記載の自動運転車両を制御するための方法。
【請求項５０６】
少なくとも１つの赤外線カメラ・センサからの画像情報を前記第１のニューラル・ネットワークへの入力として提供することと、
少なくとも１つのカメラ・センサからの画像情報を前記第３のニューラル・ネットワークへの入力として提供することと
をさらに特徴とする、請求項５０３に記載の自動運転車両を制御するための方法。
【請求項５０７】
少なくとも１つの赤外線カメラ・センサからの画像情報を前記第２のニューラル・ネットワークへの入力として提供することと、
少なくとも１つのカメラ・センサからの画像情報を前記第４のニューラル・ネットワークへの入力として提供することと
をさらに特徴とする、請求項５０３に記載の自動運転車両を制御するための方法。
【請求項５０８】
少なくとも１つのステレオ・カメラ・センサからの画像情報を前記第１のニューラル・ネットワークへの入力として提供することと、
少なくとも１つのＬＩＤＡＲセンサからの情報を前記第３のニューラル・ネットワークへの入力として提供することと
をさらに特徴とする、請求項５０３に記載の自動運転車両を制御するための方法。
【請求項５０９】
少なくとも１つの単眼カメラ・センサからの画像情報を前記第２のニューラル・ネットワークへの入力として提供することと、
少なくとも１つのＬＩＤＡＲセンサからの情報を前記第４のニューラル・ネットワークへの入力として提供することと
をさらに特徴とする、請求項５０３に記載の自動運転車両を制御するための方法。
【請求項５１０】
少なくとも１つのステレオ・カメラ・センサからの画像情報を前記第１のニューラル・ネットワークへの入力として提供することと、
少なくとも１つの単眼カメラ・センサからの画像情報を前記第３のニューラル・ネットワークへの入力として提供することと
をさらに特徴とする、請求項５０３に記載の自動運転車両を制御するための方法。
【請求項５１１】
少なくとも１つのステレオ・カメラ・センサからの画像情報を前記第２のニューラル・ネットワークへの入力として提供することと、
少なくとも１つの単眼カメラ・センサからの画像情報を前記第４のニューラル・ネットワークへの入力として提供することと
をさらに特徴とする、請求項５０３に記載の自動運転車両を制御するための方法。
【請求項５１２】
少なくとも１つのレーダ・センサからの情報を前記第１のコンピュータ・ビジョン・アルゴリズムへの入力として提供することと、
少なくとも１つのレーダ・センサからの情報を前記第２のコンピュータ・ビジョン・アルゴリズムへの入力として提供することと
をさらに特徴とする、請求項５０３に記載の自動運転車両を制御するための方法。
【請求項５１３】
少なくとも１つのＬＩＤＡＲセンサからの情報を前記第１のコンピュータ・ビジョン・アルゴリズムへの入力として提供することと、
少なくとも１つのＬＩＤＡＲセンサからの情報を前記第２のコンピュータ・ビジョン・アルゴリズムへの入力として提供することと
をさらに特徴とする、請求項５０３に記載の自動運転車両を制御するための方法。
【請求項５１４】
少なくとも１つの超音波センサからの情報を前記第１のコンピュータ・ビジョン・アルゴリズムへの入力として提供することと、
少なくとも１つの超音波センサからの情報を前記第２のコンピュータ・ビジョン・アルゴリズムへの入力として提供することと
をさらに特徴とする、請求項５０３に記載の自動運転車両を制御するための方法。
【請求項５１５】
少なくとも１つのフラッシュＬＩＤＡＲセンサからの情報を前記第１のコンピュータ・ビジョン・アルゴリズムへの入力として提供することと、
少なくとも１つのフラッシュＬＩＤＡＲセンサからの情報を前記第２のコンピュータ・ビジョン・アルゴリズムへの入力として提供することと
をさらに特徴とする、請求項５０３に記載の自動運転車両を制御するための方法。
【請求項５１６】
システム・オン・チップ上のディープ・ラーニング・アクセラレータ上で第１の複数のニューラル・ネットワークを実行することと、
前記システム・オン・チップ上のＧＰＵ上で第２の複数のニューラル・ネットワークを実行することと、
前記システム・オン・チップ上のプログラマブル・ビジョン・アクセラレータ上で複数のコンピュータ・ビジョン・アルゴリズムを実行することと、
前記第１の複数のニューラル・ネットワークの出力、第２の複数のニューラル・ネットワークの出力、及び前記複数のコンピュータ・ビジョン・アルゴリズムの出力に応答して、前記自動運転車両上で１つ又は複数のアクチュエータを制御することと
を特徴とする、自動運転車両を制御するための方法。
【請求項５１７】
第２のシステム・オン・チップ上のディープ・ラーニング・アクセラレータ上で第３の複数のニューラル・ネットワークを実行することと、
前記第２のシステム・オン・チップ上のＧＰＵ上で第４の複数のニューラル・ネットワークを実行することと、
前記第２のシステム・オン・チップ上のプログラマブル・ビジョン・アクセラレータ上で第２の複数のコンピュータ・ビジョン・アルゴリズムを実行することと、
前記第１のシステム・オン・チップの前記出力と第２のシステム・オン・チップの前記出力を比較することと、
前記比較に応答して前記自動運転車両上の１つ又は複数のアクチュエータを制御することと
をさらに特徴とする、請求項５１６に記載の自動運転車両を制御するための方法。
【請求項５１８】
請求項１１７９に記載の第１のコンピュータを特徴とするプライマリ・コンピュータに１つ又は複数のカメラ・センサからの入力を提供することと、
前記プライマリ・コンピュータ上で第１のニューラル・ネットワークを実行することと、
前記第１のコンピュータ内で、少なくとも１つの車両アクチュエータを制御するための少なくとも１つの第１の信号を生成することと、
請求項１１７９に記載の第２のコンピュータを特徴とするセカンダリ・コンピュータに、１つ又は複数のカメラ・センサからの入力を提供することと、
前記セカンダリ・コンピュータ上で第２のＣＮＮを実行することと、
前記第２のコンピュータ内で、少なくとも１つの車両アクチュエータを制御するための少なくとも１つの第２の信号を生成することと、
前記第１の信号及び前記第２の信号を監視ＭＣＵに提供することと、
前記ＭＣＵ内で、前記第１の信号と前記第２の信号を比較することと
を特徴とする、自動運転車両を制御するための方法。
【請求項５１９】
前記第１の信号と前記第２の信号が一致しない場合に、前記ＭＣＵ内で、アラーム信号を生成すること
をさらに特徴とする、請求項［００６０８］に記載の自動運転車両を制御するための方法。
【請求項５２０】
請求項１１７９に記載の第１のコンピュータを特徴とするプライマリ・コンピュータに、１つ又は複数のカメラ・センサからの入力を提供することと、
前記カメラ・センサからの前記入力に応答して少なくとも１つの第１の信号を生成するために、前記プライマリ・コンピュータ上で第１のニューラル・ネットワークを実行することと、
第２の信号を生成するために、プログラマブル・ビジョン・アクセラレータ上でコンピュータ・ビジョン・アルゴリズムを実行することと、
前記第１の信号前記第２の信号を使用して、少なくとも１つの車両アクチュエータを制御することと
を特徴とする、自動運転車両を制御するための方法。
【請求項５２１】
少なくとも１つの第１の信号を生成するために、第１のシステム・オン・チップ上で歩行者検出のためのニューラル・ネットワークを実行することと、
少なくとも１つの第２の信号を生成するために、第２のシステム・オン・チップ上で標識検出のためのニューラル・ネットワークを実行することと、
少なくとも１つの第３の信号を生成するために、第３のシステム・オン・チップ上で距離推定のためのニューラル・ネットワークを実行することと、
少なくとも１つの第４の信号を生成するために、第４のシステム・オン・チップ上で車線検出のためのニューラル・ネットワークを実行することと、
少なくとも１つの第５の信号を生成するために、第５のシステム・オン・チップ上で衝突回避のためのニューラル・ネットワークを実行することと、
少なくとも１つの第６の信号を生成するために、第６のシステム・オン・チップ上で現行占有率グリッドのためのニューラル・ネットワークを実行することと、
少なくとも第７の第１の信号を生成するために、第７のシステム・オン・チップ上で予測占有率グリッドのためのニューラル・ネットワークを実行することと、
少なくとも１つの第８の信号を生成するために、第８のシステム・オン・チップ上でステアリング制御のためのニューラル・ネットワークを実行することと、
少なくとも１つの第９の信号を生成するために、中央処理ユニット上でコンピュータ・ビジョン・アルゴリズムを実行することと、
前記信号を使用して、少なくとも１つの車両アクチュエータを制御することと
を特徴とする、自動運転車両を制御するための方法。
【請求項５２２】
請求項１１７９に記載の第１のコンピュータを特徴とするプライマリ・コンピュータに、１つ又は複数のカメラ・センサからの入力を提供することと、
前記入力に応答して第１の制御信号を生成することと、
自動走行制御ユニットから第２の信号を受け取ることと、
前記第１の制御信号が前記第２の信号と競合するかどうかを評価することと、
前記評価に応答して１つ又は複数の車両アクチュエータを制御することと
を特徴とする、自動運転車両を制御するための方法。
【請求項５２３】
前記自動走行制御ユニットが縦方向自動走行制御ユニットである
ことをさらに特徴とする、請求項［００６３２］に記載の自動運転車両を制御するための方法。
【請求項５２４】
前記自動走行制御ユニットが横方向自動走行制御ユニットである
ことをさらに特徴とする、請求項［００６３２］に記載の自動運転車両を制御するための方法。
【請求項５２５】
前記自動走行制御ユニットが前向きレーダ・センサを備える
ことをさらに特徴とする、請求項［００６３２］に記載の自動運転車両を制御するための方法。
【請求項５２６】
請求項１１７９に記載の第１のコンピュータを特徴とするプライマリ・コンピュータに、１つ又は複数のカメラ・センサからの入力を提供することと、
前記入力に応答して第１の制御信号を生成することと、
自動緊急ブレーキ・ユニットから第２の信号を受け取ることと、
前記第１の制御信号が前記第２の信号と競合するかどうかを評価することと、
前記評価に応答して１つ又は複数の車両アクチュエータを制御することと
を特徴とする、自動運転車両を制御するための方法。
【請求項５２７】
前記自動緊急ブレーキ・ユニットが、ＦＰＧＡと、ステレオ・ビデオ・カメラとを備える
ことをさらに特徴とする、請求項５２６に記載の自動運転車両を制御するための方法。
【請求項５２８】
請求項１１７９に記載の第１のコンピュータを特徴とするプライマリ・コンピュータに、１つ又は複数のカメラ・センサからの入力を提供することと、
前記入力に応答して第１の制御信号を生成することと、
前方クラッシュ警告ユニットから第２の信号を受け取ることと、
前記第１の制御信号が前記第２の信号と競合するかどうかを評価することと、
前記評価に応答して１つ又は複数の車両アクチュエータを制御することと
を特徴とする、自動運転車両を制御するための方法。
【請求項５２９】
前記前方クラッシュ警告ユニットが、ＦＰＧＡと、ステレオ・ビデオ・カメラとを備える
ことをさらに特徴とする、請求項５２８に記載の自動運転車両を制御するための方法。
【請求項５３０】
請求項１１７９に記載の第１のコンピュータを特徴とするプライマリ・コンピュータに、１つ又は複数のカメラ・センサからの入力を提供することと、
前記入力に応答して第１の制御信号を生成することと、
車線逸脱警告ユニットから第２の信号を受け取ることと、
前記第１の制御信号が前記第２の信号と競合するかどうかを評価することと、
前記評価に応答して１つ又は複数の車両アクチュエータを制御することと
を特徴とする、自動運転車両を制御するための方法。
【請求項５３１】
前記車線逸脱警告ユニットが、ＦＰＧＡと、モノ・カメラとを備える
ことをさらに特徴とする、請求項５３０に記載の自動運転車両を制御するための方法。
【請求項５３２】
請求項１１７９に記載の第１のコンピュータを特徴とするプライマリ・コンピュータに、１つ又は複数のカメラ・センサからの入力を提供することと、
前記入力に応答して第１の制御信号を生成することと、
衝突警告システムから第２の信号を受け取ることと、
前記第１の制御信号が前記第２の信号と競合するかどうかを評価することと、
前記評価に応答して１つ又は複数の車両アクチュエータを制御することと
を特徴とする、自動運転車両を制御するための方法。
【請求項５３３】
前記衝突警告システムが、ＦＰＧＡと、ステレオ・ビデオ・カメラとを備える
ことをさらに特徴とする、請求項５３２に記載の自動運転車両を制御するための方法。
【請求項５３４】
ＧＰＵ上で実行する畳み込みニューラル・ネットワークを特徴とするプライマリ・コンピュータに、１つ又は複数のカメラ・センサからの入力を提供することと、
前記入力に応答して第１の制御信号を生成することと、
自動走行制御ユニットから第２の信号を受け取ることと、
前記第１の制御信号が前記第２の信号と競合するかどうかを評価することと、
前記評価に応答して１つ又は複数の車両アクチュエータを制御することと
を特徴とする、自動運転車両を制御するための方法。
【請求項５３５】
ＧＰＵ上で実行する畳み込みニューラル・ネットワークを特徴とするプライマリ・コンピュータに、１つ又は複数のカメラ・センサからの入力を提供することと、
前記入力に応答して第１の制御信号を生成することと、
自動緊急ブレーキ・ユニットから第２の信号を受け取ることと、
前記第１の制御信号が前記第２の信号と競合するかどうかを評価することと、
前記評価に応答して１つ又は複数の車両アクチュエータを制御することと
を特徴とする、自動運転車両を制御するための方法。
【請求項５３６】
前記自動緊急ブレーキが、ＦＰＧＡと、ステレオ・ビデオ・カメラとを備える
ことをさらに特徴とする、請求項［００６３４］に記載の自動運転車両を制御するための方法。
【請求項５３７】
ＧＰＵ上で実行する畳み込みニューラル・ネットワークを特徴とするプライマリ・コンピュータに、１つ又は複数のカメラ・センサからの入力を提供することと、
前記入力に応答して第１の制御信号を生成することと、
前方クラッシュ警告ユニットから第２の信号を受け取ることと、
前記第１の制御信号が前記第２の信号と競合するかどうかを評価することと、
前記評価に応答して１つ又は複数の車両アクチュエータを制御することと
を特徴とする、自動運転車両を制御するための方法。
【請求項５３８】
ＧＰＵ上で実行する畳み込みニューラル・ネットワークを特徴とするプライマリ・コンピュータに、１つ又は複数のカメラ・センサからの入力を提供することと、
前記入力に応答して第１の制御信号を生成することと、
車線逸脱警告ユニットから第２の信号を受け取ることと、
前記第１の制御信号が前記第２の信号と競合するかどうかを評価することと、
前記評価に応答して１つ又は複数の車両アクチュエータを制御することと
を特徴とする、自動運転車両を制御するための方法。
【請求項５３９】
前記車線逸脱警告ユニットが、ＦＰＧＡと、単眼カメラとを備える
ことをさらに特徴とする、請求項５３８に記載の自動運転車両を制御するための方法。
【請求項５４０】
ＧＰＵ上で実行する畳み込みニューラル・ネットワークを特徴とするプライマリ・コンピュータに、１つ又は複数のカメラ・センサからの入力を提供することと、
前記入力に応答して第１の制御信号を生成することと、
前方クラッシュ警告ユニットから第２の信号を受け取ることと、
前記第１の制御信号が前記第２の信号と競合するかどうかを評価することと、
前記評価に応答して１つ又は複数の車両アクチュエータを制御することと
を特徴とする、自動運転車両を制御するための方法。
【請求項５４１】
ＤＬＡ上で実行する畳み込みニューラル・ネットワークを特徴とするプライマリ・コンピュータに、１つ又は複数のカメラ・センサからの入力を提供することと、
前記入力に応答して第１の制御信号を生成することと、
前方クラッシュ警告ユニットから第２の信号を受け取ることと、
前記第１の制御信号が前記第２の信号と競合するかどうかを評価することと、
前記評価に応答して１つ又は複数の車両アクチュエータを制御することと
を特徴とする、自動運転車両を制御するための方法。
【請求項５４２】
ＧＰＵ上で実行する畳み込みニューラル・ネットワークを特徴とするプライマリ・コンピュータに、１つ又は複数のカメラ・センサからの入力を提供することと、
前記入力に応答して第１の制御信号を生成することと、
自動緊急ブレーキ・ユニットから第２の信号を受け取ることと、
前記第１の制御信号が前記第２の信号と競合するかどうかを評価することと、
前記評価に応答して１つ又は複数の車両アクチュエータを制御することと
を特徴とする、自動運転車両を制御するための方法。
【請求項５４３】
ＤＬＡ上で実行する畳み込みニューラル・ネットワークを特徴とするプライマリ・コンピュータに、１つ又は複数のカメラ・センサからの入力を提供することと、
前記入力に応答して第１の制御信号を生成することと、
自動緊急ブレーキ・ユニットから第２の信号を受け取ることと、
前記第１の制御信号が前記第２の信号と競合するかどうかを評価することと、
前記評価に応答して１つ又は複数の車両アクチュエータを制御することと
を特徴とする、自動運転車両を制御するための方法。
【請求項５４４】
ＧＰＵ上で実行する畳み込みニューラル・ネットワークを特徴とするプライマリ・コンピュータに、１つ又は複数のカメラ・センサからの入力を提供することと、
前記入力に応答して第１の制御信号を生成することと、
車線逸脱警告ユニットから第２の信号を受け取ることと、
前記第１の制御信号が前記第２の信号と競合するかどうかを評価することと、
前記評価に応答して１つ又は複数の車両アクチュエータを制御することと
を特徴とする、自動運転車両を制御するための方法。
【請求項５４５】
ＤＬＡ上で実行する畳み込みニューラル・ネットワークを特徴とするプライマリ・コンピュータに、１つ又は複数のカメラ・センサからの入力を提供することと、
前記入力に応答して第１の制御信号を生成することと、
車線逸脱警告ユニットから第２の信号を受け取ることと、
前記第１の制御信号が前記第２の信号と競合するかどうかを評価することと、
前記評価に応答して１つ又は複数の車両アクチュエータを制御することと
を特徴とする、自動運転車両を制御するための方法。
【請求項５４６】
ＧＰＵ上で実行する畳み込みニューラル・ネットワークを特徴とするプライマリ・コンピュータに、１つ又は複数のカメラ・センサからの入力を提供することと、
前記入力に応答して第１の制御信号を生成することと、
車線維持支援ユニットから第２の信号を受け取ることと、
前記第１の制御信号が前記第２の信号と競合するかどうかを評価することと、
前記評価に応答して１つ又は複数の車両アクチュエータを制御することと
を特徴とする、自動運転車両を制御するための方法。
【請求項５４７】
ＧＰＵ上で実行する畳み込みニューラル・ネットワークを特徴とするプライマリ・コンピュータに、１つ又は複数のカメラ・センサからの入力を提供することと、
前記入力に応答して第１の制御信号を生成することと、
死角警告ユニットから第２の信号を受け取ることと、
前記第１の制御信号が前記第２の信号と競合するかどうかを評価することと、
前記評価に応答して１つ又は複数の車両アクチュエータを制御することと
を特徴とする、自動運転車両を制御するための方法。
【請求項５４８】
ＤＬＡ上で実行する畳み込みニューラル・ネットワークを特徴とするプライマリ・コンピュータに、１つ又は複数のカメラ・センサからの入力を提供することと、
前記入力に応答して第１の制御信号を生成することと、
死角警告ユニットから第２の信号を受け取ることと、
前記第１の制御信号が前記第２の信号と競合するかどうかを評価することと、
前記評価に応答して１つ又は複数の車両アクチュエータを制御することと
を特徴とする、自動運転車両を制御するための方法。
【請求項５４９】
ＧＰＵ上で実行する畳み込みニューラル・ネットワークを特徴とするプライマリ・コンピュータに、１つ又は複数のカメラ・センサからの入力を提供することと、
前記入力に応答して第１の制御信号を生成することと、
ＤＬＡ上で実行する畳み込みニューラル・ネットワークを特徴とするセカンダリ・コンピュータに、前記１つ又は複数のカメラ・センサからの入力を提供することと、
前記入力に応答して第１の制御信号を生成することと、
前記第１の制御信号が前記第２の信号と競合するかどうかを評価することと、
前記評価に応答して１つ又は複数の車両アクチュエータを制御することと
を特徴とする、自動運転車両を制御するための方法。
【請求項５５０】
ＧＰＵデータセンタ内の第１のニューラル・ネットワークを訓練することと、
自動運転車両に前記第１のニューラル・ネットワークを提供することと、
ＧＰＵデータセンタ内の第２のニューラル・ネットワークを訓練することと、
前記自動運転車両に前記第２のニューラル・ネットワークを提供することと、
前記自動運転車両内のメモリに前記第１のニューラル・ネットワークを記憶することと、
前記自動運転車両内のメモリに前記第２のニューラル・ネットワークを記憶することと、
前記自動運転車両の前面に配置された少なくとも１つのステレオ・カメラ・センサから画像情報を受け取ることと、
前記自動運転車両の前面に配置された少なくとも１つのＬＩＤＡＲセンサからＬＩＤＡＲ情報を受け取ることと、
前記画像情報を入力として使用して、前記自動運転車両内のプライマリ・コンピュータ上で前記第１のニューラル・ネットワークを実行することと、
前記ＬＩＤＡＲ情報を入力として使用して、前記自動運転車両内のプライマリ・コンピュータ上で前記第２のニューラル・ネットワークを実行することと、
前記第１のニューラル・ネットワーク及び前記第２のニューラル・ネットワークの出力に応答して、前記自動運転車両を制御することと
を特徴とする、自動運転車両を制御するための方法。
【請求項５５１】
ワイヤレス・ネットワークを介して前記第１のニューラル・ネットワークの更新されたインスタンスを受信すること
をさらに特徴とする、請求項［００６３７］に記載の自動運転車両を制御するための方法。
【請求項５５２】
前記ワイヤレス・ネットワークがＬＴＥネットワークである
ことをさらに特徴とする、請求項［００６３８］に記載の自動運転車両を制御するための方法。
【請求項５５３】
前記ワイヤレス・ネットワークがＷＣＤＭＡ（登録商標）ネットワークである
ことをさらに特徴とする、請求項［００６３８］に記載の自動運転車両を制御するための方法。
【請求項５５４】
前記ワイヤレス・ネットワークがＵＭＴＳネットワークである
ことをさらに特徴とする、請求項［００６３８］に記載の自動運転車両を制御するための方法。
【請求項５５５】
前記ワイヤレス・ネットワークがＣＤＭＡ２０００ネットワークである
ことをさらに特徴とする、請求項［００６３８］に記載の自動運転車両を制御するための方法。
【請求項５５６】
前記ＬＩＤＡＲセンサが３ＤフラッシュＬＩＤＡＲである
ことをさらに特徴とする、請求項［００６３７］に記載の自動運転車両を制御するための方法。
【請求項５５７】
前記画像情報を前方クラッシュ警告システムに適用することと、
前記プライマリ・コンピュータの結果と前記前方クラッシュ警告システムの結果を比較することと
をさらに特徴とする、請求項［００６３７］に記載の自動運転車両を制御するための方法。
【請求項５５８】
前記自動運転車両が、ディープ・ラーニング・アクセラレータ上で前記第１のニューラル・ネットワークを実行する
ことをさらに特徴とする、請求項［００６３７］に記載の自動運転車両を制御するための方法。
【請求項５５９】
前記自動運転車両が、ＧＰＵ上で前記第１のニューラル・ネットワークを実行する
ことをさらに特徴とする、請求項［００６３７］に記載の自動運転車両を制御するための方法。
【請求項５６０】
前記自動運転車両が、ディープ・ラーニング・アクセラレータ上で前記第２のニューラル・ネットワークを実行する
ことをさらに特徴とする、請求項［００６３７］に記載の自動運転車両を制御するための方法。
【請求項５６１】
前記自動運転車両が、ＧＰＵ上で前記第２のニューラル・ネットワークを実行する
ことをさらに特徴とする、請求項［００６３７］に記載の自動運転車両を制御するための方法。
【請求項５６２】
牽引車とトレーラとを特徴とする自動運転トラックを制御するための方法であって、
ＧＰＵ上で実行する少なくとも１つの畳み込みニューラル・ネットワークを特徴とするプライマリ・コンピュータに、前記牽引車上に配置された１つ又は複数のカメラ・センサからの入力を提供することと、
前記入力に応答して少なくとも１つの第１の信号を生成することと、
前記トレーラ上に配置された突風センサから第２の信号を受け取ることと、
前記第２の信号が突風状態を識別するかどうかを評価することと、
前記第１の信号及び前記評価に応答して１つ又は複数の車両アクチュエータを制御することと
を特徴とする方法。
【請求項５６３】
牽引車とトレーラとを特徴とする自動運転トラックを制御するための方法であって、
ＤＬＡ上で実行する少なくとも１つの畳み込みニューラル・ネットワークを特徴とするプライマリ・コンピュータに、前記牽引車上に配置された１つ又は複数のカメラ・センサからの入力を提供することと、
前記入力に応答して少なくとも１つの第１の信号を生成することと、
前記トレーラ上に配置された少なくとも１つの突風センサから第２の信号を受け取ることと、
前記第２の信号が突風状態を識別するかどうかを評価することと、
前記第１の信号及び前記評価に応答して１つ又は複数の車両アクチュエータを制御することと
を特徴とする方法。
【請求項５６４】
請求項１１７９に記載の第１のコンピュータを特徴とするプライマリ・コンピュータに、１つ又は複数のカメラ・センサからの入力を提供することと、
前記プライマリ・コンピュータ上のＧＰＵ上で第１のニューラル・ネットワークを実行することと、
前記プライマリ・コンピュータ内で、少なくとも１つの車両アクチュエータを制御するための少なくとも１つの第１の信号を生成することと、
請求項１１７９に記載の第２のコンピュータを特徴とするセカンダリ・コンピュータに、１つ又は複数のカメラ・センサからの入力を提供することと、
前記セカンダリ・コンピュータ上で第２のＣＮＮを実行することであって、前記第２のＣＮＮが、画像情報から少なくとも１つの他の車両を識別するように訓練される、実行することと、
前記第２のコンピュータ内で、少なくとも１つの他の車両の存在又は不在を識別する少なくとも１つの第２の信号を生成することと、
ワイヤレス・ネットワークを介して前記少なくとも１つの他の車両の前記存在及び所在地の通知を送ることと
を特徴とする、自律運転パトロール・カーを制御するための方法。
【請求項５６５】
ＣＰＵとＧＰＵと１つ又は複数のハードウェア・アクセラレータとを特徴とするプライマリ・コンピュータに、第１の画像情報を提供することと、
前記第１の画像情報を入力として用いて、前記プライマリ・コンピュータ上のＧＰＵ上で第１のニューラル・ネットワークを実行することと、
前記プライマリ・コンピュータ内で、少なくとも１つの車両アクチュエータを制御するための少なくとも１つの第１の信号を生成することと、
ＣＰＵとＧＰＵと１つ又は複数のハードウェア・アクセラレータとを特徴とするセカンダリ・コンピュータに、第２の画像情報を提供することと、
前記第２の画像情報を入力として用いて、前記セカンダリ・コンピュータ上のＧＰＵ上で第２のニューラル・ネットワークを実行することと、
前記セカンダリ・コンピュータ内で、少なくとも１つの他の車両の存在又は不在を示す少なくとも１つの第２の信号を生成することと、
ワイヤレス・ネットワークを介して前記少なくとも１つの他の車両の前記存在及び所在地の通知を送信することと
を特徴とする、自律運転パトロール・カーを制御するための方法。
【請求項５６６】
ＣＰＵとＧＰＵと１つ又は複数のハードウェア・アクセラレータとを特徴とするプライマリ・コンピュータに、第１の画像情報を提供することと、
前記第１の画像情報を入力として用いて、前記プライマリ・コンピュータ上の前記ハードウェア・アクセラレータのうちの１つの上で第１のニューラル・ネットワークを実行することと、
前記プライマリ・コンピュータ内で、少なくとも１つの車両アクチュエータを制御するための少なくとも１つの第１の信号を生成することと、
ＣＰＵとＧＰＵと１つ又は複数のハードウェア・アクセラレータとを特徴とするセカンダリ・コンピュータに、第２の画像情報を提供することと、
前記第２の画像情報を入力として用いて、前記セカンダリ・コンピュータ上のＧＰＵ上で第２のニューラル・ネットワークを実行することと、
前記セカンダリ・コンピュータ内で、少なくとも１つの他の車両の存在又は不在を示す少なくとも１つの第２の信号を生成することと、
ワイヤレス・ネットワークを介して前記少なくとも１つの他の車両の前記存在及び所在地の通知を送信することと
を特徴とする、自律運転パトロール・カーを制御するための方法。
【請求項５６７】
ＣＰＵとＧＰＵと１つ又は複数のハードウェア・アクセラレータとを特徴とするプライマリ・コンピュータに、第１の画像情報を提供することと、
前記第１の画像情報を入力として用いて、前記プライマリ・コンピュータ上のＧＰＵ上で第１のニューラル・ネットワークを実行することと、
前記プライマリ・コンピュータ内で、少なくとも１つの車両アクチュエータを制御するための少なくとも１つの第１の信号を生成することと、
ＣＰＵとＧＰＵと１つ又は複数のハードウェア・アクセラレータとを特徴とするセカンダリ・コンピュータに、第２の画像情報を提供することと、
前記第２の画像情報を入力として用いて、前記セカンダリ・コンピュータ上の前記ハードウェア・アクセラレータのうちの１つの上で第２のニューラル・ネットワークを実行することと、
前記セカンダリ・コンピュータ内で、少なくとも１つの他の車両の存在又は不在を示す少なくとも１つの第２の信号を生成することと、
ワイヤレス・ネットワークを介して前記少なくとも１つの他の車両の前記存在及び所在地の通知を送信することと
を特徴とする、自律運転パトロール・カーを制御するための方法。
【請求項５６８】
ＣＰＵとＧＰＵと１つ又は複数のハードウェア・アクセラレータとを特徴とするプライマリ・コンピュータに、第１の画像情報を提供することと、
前記第１の画像情報を入力として用いて、前記プライマリ・コンピュータ上の前記ハードウェア・アクセラレータのうちの１つの上で第１のニューラル・ネットワークを実行することと、
前記プライマリ・コンピュータ内で、少なくとも１つの車両アクチュエータを制御するための少なくとも１つの第１の信号を生成することと、
ＣＰＵとＧＰＵと１つ又は複数のハードウェア・アクセラレータとを特徴とするセカンダリ・コンピュータに、第２の画像情報を提供することと、
前記第２の画像情報を入力として用いて、前記セカンダリ・コンピュータ上の前記ハードウェア・アクセラレータのうちの１つの上で第２のニューラル・ネットワークを実行することと、
前記セカンダリ・コンピュータ内で、少なくとも１つの他の車両の存在又は不在を示す少なくとも１つの第２の信号を生成することと、
ワイヤレス・ネットワークを介して前記少なくとも１つの他の車両の前記存在及び所在地の通知を送信することと
を特徴とする、自律運転パトロール・カーを制御するための方法。
【請求項５６９】
ＣＰＵとＧＰＵと１つ又は複数のハードウェア・アクセラレータとを特徴とするプライマリ・コンピュータに、第１の画像情報を提供することと、
前記第１の画像情報を入力として用いて、前記プライマリ・コンピュータ上のＧＰＵ上で第１のニューラル・ネットワークを実行することと、
前記プライマリ・コンピュータ内で、少なくとも１つの車両アクチュエータを制御するための少なくとも１つの第１の信号を生成することと、
ＣＰＵとＧＰＵと１つ又は複数のハードウェア・アクセラレータとを特徴とするセカンダリ・コンピュータに、第２の画像情報を提供することと、
前記第２の画像情報を入力として用いて、前記セカンダリ・コンピュータ上のＧＰＵ上で第２のニューラル・ネットワークを実行することと、
前記セカンダリ・コンピュータ内で、少なくとも１つの安全状態の存在又は不在を示す少なくとも１つの第２の信号を生成することと、
ワイヤレス・ネットワークを介して前記少なくとも１つの安全状態の前記存在及び所在地の通知を送信することと
を特徴とする、自律運転パトロール・カーを制御するための方法。
【請求項５７０】
ＣＰＵとＧＰＵと１つ又は複数のハードウェア・アクセラレータとを特徴とするプライマリ・コンピュータに、第１の画像情報を提供することと、
前記第１の画像情報を入力として用いて、前記プライマリ・コンピュータ上の前記ハードウェア・アクセラレータのうちの１つの上で第１のニューラル・ネットワークを実行することと、
前記プライマリ・コンピュータ内で、少なくとも１つの車両アクチュエータを制御するための少なくとも１つの第１の信号を生成することと、
ＣＰＵとＧＰＵと１つ又は複数のハードウェア・アクセラレータとを特徴とするセカンダリ・コンピュータに、第２の画像情報を提供することと、
前記第２の画像情報を入力として用いて、前記セカンダリ・コンピュータ上のＧＰＵ上で第２のニューラル・ネットワークを実行することと、
前記セカンダリ・コンピュータ内で、少なくとも１つの安全状態の存在又は不在を示す少なくとも１つの第２の信号を生成することと、
ワイヤレス・ネットワークを介して前記少なくとも１つの安全状態の前記存在及び所在地の通知を送信することと
を特徴とする、自律運転パトロール・カーを制御するための方法。
【請求項５７１】
ＣＰＵとＧＰＵと１つ又は複数のハードウェア・アクセラレータとを特徴とするプライマリ・コンピュータに、第１の画像情報を提供することと、
前記第１の画像情報を入力として用いて、前記プライマリ・コンピュータ上のＧＰＵ上で第１のニューラル・ネットワークを実行することと、
前記プライマリ・コンピュータ内で、少なくとも１つの車両アクチュエータを制御するための少なくとも１つの第１の信号を生成することと、
ＣＰＵとＧＰＵと１つ又は複数のハードウェア・アクセラレータとを特徴とするセカンダリ・コンピュータに、第２の画像情報を提供することと、
前記第２の画像情報を入力として用いて、前記セカンダリ・コンピュータ上の前記ハードウェア・アクセラレータのうちの１つの上で第２のニューラル・ネットワークを実行することと、
前記セカンダリ・コンピュータ内で、少なくとも１つの安全状態の存在又は不在を示す少なくとも１つの第２の信号を生成することと、
ワイヤレス・ネットワークを介して前記少なくとも１つの安全状態の前記存在及び所在地の通知を送信することと
を特徴とする、自律運転パトロール・カーを制御するための方法。
【請求項５７２】
ＣＰＵとＧＰＵと１つ又は複数のハードウェア・アクセラレータとを特徴とするプライマリ・コンピュータに、第１の画像情報を提供することと、
前記第１の画像情報を入力として用いて、前記プライマリ・コンピュータ上の前記ハードウェア・アクセラレータのうちの１つの上で第１のニューラル・ネットワークを実行することと、
前記プライマリ・コンピュータ内で、少なくとも１つの車両アクチュエータを制御するための少なくとも１つの第１の信号を生成することと、
ＣＰＵとＧＰＵと１つ又は複数のハードウェア・アクセラレータとを特徴とするセカンダリ・コンピュータに、第２の画像情報を提供することと、
前記第２の画像情報を入力として用いて、前記セカンダリ・コンピュータ上の前記ハードウェア・アクセラレータのうちの１つの上で第２のニューラル・ネットワークを実行することと、
前記セカンダリ・コンピュータ内で、少なくとも１つの安全状態の存在又は不在を示す少なくとも１つの第２の信号を生成することと、
ワイヤレス・ネットワークを介して前記少なくとも１つの安全状態の前記存在及び所在地の通知を送信することと
を特徴とする、自律運転パトロール・カーを制御するための方法。
【請求項５７３】
前記安全状態が火災である
ことをさらに特徴とする、請求項［００６４４］に記載の方法。
【請求項５７４】
前記安全状態が自動車事故である
ことをさらに特徴とする、請求項５７０に記載の方法。
【請求項５７５】
前記安全状態が負傷者である
ことをさらに特徴とする、請求項５７１に記載の方法。
【請求項５７６】
前記安全状態が人々の間の物理的衝突である
ことをさらに特徴とする、請求項５７２に記載の方法。
【請求項５７７】
前記安全状態が火災である
ことをさらに特徴とする、請求項［００６４４］に記載の方法。
【請求項５７８】
前記安全状態が自動車事故である
ことをさらに特徴とする、請求項５７０に記載の方法。
【請求項５７９】
前記安全状態が負傷者である
ことをさらに特徴とする、請求項５７１に記載の方法。
【請求項５８０】
前記安全状態が人々の間の物理的衝突である
ことをさらに特徴とする、請求項５７２に記載の方法。
【請求項５８１】
前記安全状態が火災である
ことをさらに特徴とする、請求項［００６４４］に記載の方法。
【請求項５８２】
前記安全状態が自動車事故である
ことをさらに特徴とする、請求項５７０に記載の方法。
【請求項５８３】
前記安全状態が負傷者である
ことをさらに特徴とする、請求項５７１に記載の方法。
【請求項５８４】
前記安全状態が人々の間の物理的衝突である
ことをさらに特徴とする、請求項５７２に記載の方法。
【請求項５８５】
前記第１の画像情報が、１つ又は複数の赤外線カメラからの情報を含む
ことをさらに特徴とする、請求項［００６４４］に記載の方法。
【請求項５８６】
前記第１の画像情報が、１つ又は複数の赤外線カメラからの情報を含む
ことをさらに特徴とする、請求項５７０に記載の方法。
【請求項５８７】
前記第１の画像情報が、１つ又は複数の赤外線カメラからの情報を含む
ことをさらに特徴とする、請求項５７１に記載の方法。
【請求項５８８】
前記第１の画像情報が、１つ又は複数の赤外線カメラからの情報を含む
ことをさらに特徴とする、請求項５７２に記載の方法。
【請求項５８９】
前記第２の画像情報が、１つ又は複数の赤外線カメラからの情報を含む
ことをさらに特徴とする、請求項［００６４４］に記載の方法。
【請求項５９０】
前記第２の画像情報が、１つ又は複数の赤外線カメラからの情報を含む
ことをさらに特徴とする、請求項５７０に記載の方法。
【請求項５９１】
前記第２の画像情報が、１つ又は複数の赤外線カメラからの情報を含む
ことをさらに特徴とする、請求項５７１に記載の方法。
【請求項５９２】
前記第２の画像情報が、１つ又は複数の赤外線カメラからの情報を含む
ことをさらに特徴とする、請求項５７２に記載の方法。
【請求項５９３】
ＣＰＵとＧＰＵと１つ又は複数のハードウェア・アクセラレータとを特徴とするプライマリ・コンピュータに、第１の画像情報を提供することと、
前記第１の画像情報を入力として用いて、前記プライマリ・コンピュータ上の前記ハードウェア・アクセラレータのうちの１つの上で第１のニューラル・ネットワークを実行することと、
前記プライマリ・コンピュータ内で、第１の制御可能な車軸と関連づけられた少なくとも１つの車両アクチュエータを制御するための少なくとも１つの第１の信号を生成することと、
ＣＰＵとＧＰＵと１つ又は複数のハードウェア・アクセラレータとを特徴とするセカンダリ・コンピュータに、第２の画像情報を提供することと、
前記第２の画像情報を入力として用いて、前記セカンダリ・コンピュータ上の前記ハードウェア・アクセラレータのうちの１つの上で第２のニューラル・ネットワークを実行することと、
前記セカンダリ・コンピュータ内で、第２の制御可能な車軸と関連づけられた少なくとも１つの車両アクチュエータを制御するための少なくとも１つの第２の信号を生成することと
を特徴とする、自律運転はしご車を制御するための方法。
【請求項５９４】
ＣＰＵとＧＰＵと１つ又は複数のハードウェア・アクセラレータとを特徴とするプライマリ・コンピュータに、第１の画像情報を提供することと、
前記第１の画像情報を入力として用いて、前記プライマリ・コンピュータ上のＧＰＵ上で第１のニューラル・ネットワークを実行することと、
前記プライマリ・コンピュータ内で、第１の制御可能な車軸と関連づけられた少なくとも１つの車両アクチュエータを制御するための少なくとも１つの第１の信号を生成することと、
ＣＰＵとＧＰＵと１つ又は複数のハードウェア・アクセラレータとを特徴とするセカンダリ・コンピュータに、第２の画像情報を提供することと、
前記第２の画像情報を入力として用いて、前記セカンダリ・コンピュータ上の前記ハードウェア・アクセラレータのうちの１つの上で第２のニューラル・ネットワークを実行することと、
前記セカンダリ・コンピュータ内で、第２の制御可能な車軸と関連づけられた少なくとも１つの車両アクチュエータを制御するための少なくとも１つの第２の信号を生成することと
を特徴とする、自律運転はしご車を制御するための方法。
【請求項５９５】
ＣＰＵとＧＰＵと１つ又は複数のハードウェア・アクセラレータとを特徴とするプライマリ・コンピュータに、第１の画像情報を提供することと、
前記第１の画像情報を入力として用いて、前記プライマリ・コンピュータ上の前記ハードウェア・アクセラレータのうちの１つの上で第１のニューラル・ネットワークを実行することと、
前記プライマリ・コンピュータ内で、第１の制御可能な車軸と関連づけられた少なくとも１つの車両アクチュエータを制御するための少なくとも１つの第１の信号を生成することと、
ＣＰＵとＧＰＵと１つ又は複数のハードウェア・アクセラレータとを特徴とするセカンダリ・コンピュータに、第２の画像情報を提供することと、
前記第２の画像情報を入力として用いて、前記セカンダリ・コンピュータ上のＧＰＵ上で第２のニューラル・ネットワークを実行することと、
前記セカンダリ・コンピュータ内で、第２の制御可能な車軸と関連づけられた少なくとも１つの車両アクチュエータを制御するための少なくとも１つの第２の信号を生成することと
を特徴とする、自律運転はしご車を制御するための方法。
【請求項５９６】
ＣＰＵとＧＰＵと１つ又は複数のハードウェア・アクセラレータとを特徴とするプライマリ・コンピュータに、第１の画像情報を提供することと、
前記第１の画像情報を入力として用いて、前記プライマリ・コンピュータ上のＧＰＵ上で第１のニューラル・ネットワークを実行することと、
前記プライマリ・コンピュータ内で、第１の制御可能な車軸と関連づけられた少なくとも１つの車両アクチュエータを制御するための少なくとも１つの第１の信号を生成することと、
ＣＰＵとＧＰＵと１つ又は複数のハードウェア・アクセラレータとを特徴とするセカンダリ・コンピュータに、第２の画像情報を提供することと、
前記第２の画像情報を入力として用いて、前記セカンダリ・コンピュータ上のＧＰＵ上で第２のニューラル・ネットワークを実行することと、
前記セカンダリ・コンピュータ内で、第２の制御可能な車軸と関連づけられた少なくとも１つの車両アクチュエータを制御するための少なくとも１つの第２の信号を生成することと
を特徴とする、自律運転はしご車を制御するための方法。
【請求項５９７】
自律運転バスを制御するための方法であって、
ＣＰＵとＧＰＵと１つ又は複数のハードウェア・アクセラレータとを特徴とするプライマリ・コンピュータに、第１の画像情報を提供することと、
前記第１の画像情報を入力として用いて、前記プライマリ・コンピュータ上のＧＰＵ上で第１のニューラル・ネットワークを実行することと、
前記プライマリ・コンピュータ内で、少なくとも１つの車両アクチュエータを制御するための少なくとも１つの第１の信号を生成することと、
ＣＰＵとＧＰＵと１つ又は複数のハードウェア・アクセラレータとを特徴とする第２のコンピュータに、第２の画像情報を提供することであって、前記第２の画像情報が、前記バスの乗客区画の内部の少なくとも一部分の画像を含む、提供することと、
前記第２の画像情報を入力として用いて、前記セカンダリ・コンピュータ上のＧＰＵ上で第２のニューラル・ネットワークを実行することと、
前記第２の画像情報を入力として用いて、前記セカンダリ・コンピュータ上の前記ハードウェア・アクセラレータのうちの１つの上で第２のニューラル・ネットワークを実行することと、
前記セカンダリ・コンピュータ内で、少なくとも１つの安全状態の存在又は不在を示す少なくとも１つの第２の信号を生成することと、
ワイヤレス・ネットワークを介して前記少なくとも１つの安全状態の前記存在及び所在地の通知を送信することと
を特徴とする方法。
【請求項５９８】
前記安全状態が火災である
ことをさらに特徴とする、請求項［００６４６］に記載の自律運転バスを制御するための方法。
【請求項５９９】
前記安全状態が、負傷したバス乗客である
ことをさらに特徴とする、請求項［００６４６］に記載の自律運転バスを制御するための方法。
【請求項６００】
前記安全状態がバス乗客間の物理的衝突である
ことをさらに特徴とする、請求項［００６４６］に記載の自律運転バスを制御するための方法。
【請求項６０１】
前記ワイヤレス・ネットワークがＬＴＥネットワークである
ことをさらに特徴とする、請求項［００６４６］に記載の自律運転バスを制御するための方法。
【請求項６０２】
前記ワイヤレス・ネットワークがＷＣＤＭＡ（登録商標）ネットワークである
ことをさらに特徴とする、請求項［００６４６］に記載の自律運転バスを制御するための方法。
【請求項６０３】
前記ワイヤレス・ネットワークがＵＭＴＳネットワークである
ことをさらに特徴とする、請求項［００６４６］に記載の自律運転バスを制御するための方法。
【請求項６０４】
前記ワイヤレス・ネットワークがＣＤＭＡ２０００ネットワークである
ことをさらに特徴とする、請求項［００６４６］に記載の自律運転バスを制御するための方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、参照によりその全体が本明細書に組み込まれる２０１７年１１月１０日に出願された「Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｓａｆｅ  ａｎｄ  Ｒｅｌｉａｂｌｅ  Ａｕｔｏｎｏｍｏｕｓ  Ｖｅｈｉｃｌｅｓ」という名称の米国仮特許出願第６２／５８４，５４９号の優先権及び利益を主張する。
【０００２】
自動運転は、世界で最も困難な計算処理上の問題の１つである。リアル・タイムで安全且つ快適に車を制御するためのコマンドを生成するには、カメラ、レーダ、ＬＩＤＡＲ、及びＨＤマップからの非常に大量のデータが処理されなければならない。この困難なタスクには、エネルギー効率が高く低電力の複合高性能ソフトウェアである専用スーパーコンピュータ、及びディープ・ラーニングＡＩアルゴリズムの飛躍的進展が必要である。このタスクに対応するために、本技術は、自動運転レベル３、４、及び／又は５のためのプラットフォームを含む、自動運転機能を容易にする高度なシステム及び方法を提供する。好ましい実施例において、本技術は、コンピュータ・ビジョン及び知られているＡＤＡＳ技法を活用する自動運転車両用のアーキテクチャを含む、多様性及び冗長性をもたらすとともに機能安全基準を満たす柔軟なアーキテクチャを備えたエンド・ツー・エンド・プラットフォームを提供する。本技術は、車、タクシー、トラック、及びバス、並びに船舶及び航空機を含む広範な自動運転車両を可能にする柔軟で拡張可能なプラットフォームに組み込まれ得る、より高速で、より信頼性が高く、より安全で、エネルギー効率が高く、空間効率が高いシステム・オン・チップを提供する。
【０００３】
連邦政府資金による研究または開発
なし
【０００４】
以下の米国特許出願は、明記されるように、いかなる目的に対しても参照により本明細書に組み込まれる。
２０１６年４月２８日に出願された「Ｐｒｏｇｒａｍｍａｂｌｅ  Ｖｉｓｉｏｎ  Ａｃｃｅｌｅｒａｔｏｒ」、米国特許出願第１５／１４１，７０３号（代理人整理番号１５−ＳＣ−０１２８−ＵＳ０２）、現在の米国特許第＿＿＿＿＿＿号
２０１６年１０月２８日に出願された「Ｒｅｌｉａｂｉｌｉｔｙ  Ｅｎｈａｎｃｅｍｅｎｔ  Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ」、米国特許出願第１５／３３８，２４７号（代理人整理番号１５−ＳＣ−０３５６ＵＳ０１）、現在の米国特許第＿＿＿＿＿＿号
２０１７年６月２３日に出願された「Ｍｅｔｈｏｄｏｌｏｇｙ  ｏｆ  Ｕｓｉｎｇ  ａ  Ｓｉｎｇｌｅ  Ｃｏｎｔｒｏｌｌｅｒ  （ＥＣＵ）  Ｆｏｒ  ａ  Ｆａｕｌｔ−Ｔｏｌｅｒａｎｔ／Ｆａｉｌ−Ｏｐｅｒａｔｉｏｎａｌ  Ｓｅｌｆ−Ｄｒｉｖｉｎｇ  Ｓｙｓｔｅｍ」、米国仮特許出願第６２／５２４，２８３号（代理人整理番号１６−ＳＣ−０１３０−ＵＳ０１）
２０１８年１月２６日に出願された「Ｍｅｔｈｏｄ  Ｏｆ  Ｕｓｉｎｇ  Ａ  Ｓｉｎｇｌｅ  Ｃｏｎｔｒｏｌｌｅｒ  （ＥＣＵ）  Ｆｏｒ  Ａ  Ｆａｕｌｔ−Ｔｏｌｅｒａｎｔ／Ｆａｉｌ−Ｏｐｅｒａｔｉｏｎａｌ  Ｓｅｌｆ−Ｄｒｉｖｉｎｇ  Ｓｙｓｔｅｍ」、米国特許出願第１５／８８１，４２６号（代理人整理番号１６−ＳＣ−０１３０ＵＳ０２）、現在の米国特許第＿＿＿＿＿＿号
【背景技術】
【０００５】
多くの車両は今日、自動車線維持システム及びスマート走行制御システムなどの先進運転支援システム（「ＡＤＡＳ：Ａｄｖａｎｃｅｄ  Ｄｒｉｖｅｒ  Ａｓｓｉｓｔａｎｃｅ  Ｓｙｓｔｅｍ」）を含む。これらのシステムは、タイヤのパンク、ブレーキの故障、又は他の運転者による予期しない挙動などの重大な機械的故障が発生した場合、人間の運転者が車両を制御することに依存している。
【０００６】
ＡＤＡＳ及び自動運転車両を含む運転支援機能は、一般に、自動車技術者協会（ＳＡＥ：Ｓｏｃｉｅｔｙ  ｏｆ  Ａｕｔｏｍｏｔｉｖｅ  Ｅｎｇｉｎｅｅｒｓ）の、２０１８年６月１５日に公開された規格番号Ｊ３０１６−２０１８０６「Ｔａｘｏｎｏｍｙ  ａｎｄ  Ｄｅｆｉｎｉｔｉｏｎｓ  ｆｏｒ  Ｔｅｒｍｓ  Ｒｅｌａｔｅｄ  ｔｏ  Ｄｒｉｖｉｎｇ  Ａｕｔｏｍａｔｉｏｎ  Ｓｙｓｔｅｍｓ  ｆｏｒ  Ｏｎ−Ｒｏａｄ  Ｍｏｔｏｒ  Ｖｅｈｉｃｌｅｓ」、２０１６年９月３０日に公開された規格番号Ｊ３０１６−２０１６０９及びこの規格の旧版及び後続版、並びに米国運輸省の国家高速道路交通安全局（ＮＨＴＳＡ：Ｎａｔｉｏｎａｌ  Ｈｉｇｈｗａｙ  Ｔｒａｆｆｉｃ  Ｓａｆｅｔｙ  Ａｄｍｉｎｉｓｔｒａｔｉｏｎ）によって定義される自動化レベルの観点で説明されている。図１は、運転者のみ（レベル０）、支援付き（レベル１）、部分的自動化（レベル２）、条件付き自動化（レベル３）、高度自動化（レベル４）から完全自動化（レベル５）までに及ぶ自動運転レベルを示す。今日の商用のＡＤＡＳシステムは、一般に、レベル１又はレベル２の機能のみを提供する。
【０００７】
自動化レベル０〜２の場合、制御ループ内に人間の運転者が存在する必要があるが、自動化レベル３〜５の場合は必要ない。ＡＤＡＳシステムは、レベル１及びレベル２の場合は約１秒以内、レベル３の場合は数秒以内、レベル４及びレベル５の場合は数分以内に、人間の運転者が制御を行わなければならない。人間の運転者はレベル０〜２での運転中は注意を払い続けなければならず、他の活動を行うことはできないが、自動化レベル３の場合は他の制限された活動を行うことができ、自動化レベル４及びレベル５の場合は睡眠をとることもできる。レベル４の機能によって、運転者は眠りにつくことができ、車が自動での運転を継続することができず、且つ運転者が引き継がないような状況でも、車は安全に停車することになる。レベル５の機能には、あらかじめマッピングされた市街地又は大学構内で無人タクシーが動作するロボット・タクシーが含まれる。
【０００８】
レベル１及びレベル２のＡＤＡＳ製品の成功は、交通の安全性及び利便性の劇的な向上が見込まれることと相まって、自律運転車両技術への投資を推し進めている。しかし、莫大な投資にもかかわらず、今日は、レベル４又はレベル５の機能を提供し、且つ業界の安全基準を満たす車両を利用することはできず、自動運転は依然として世界で最も困難な計算処理上の問題の１つである。リアル・タイムで安全且つ快適に車を制御するためのコマンドを生成するには、カメラ、レーダ、ＬＩＤＡＲ、及びＨＤマップからの非常に大量のデータを処理しなければならない。絶え間なく急速に変化する状況に対して車が瞬時に正しく反応できることを保証するには、カメラ、レーダ、ＬＩＤＡＲ、超音波センサなどの広範なセンサから流れる急激に増加するデータを解釈する必要がある。何よりもまず、これには膨大な量の計算処理能力が必要である。この困難なタスクには、エネルギー効率が高く低電力の複合型高性能ソフトウェアである専用スーパーコンピュータ、及びディープ・ラーニングＡＩアルゴリズムの飛躍的進展が必要である。
【０００９】
加えて、自動車の部品及び機器の安全性評価を確立するためのプロセスを規定する業界標準化機構（「ＩＳＯ：Ｉｎｄｕｓｔｒｙ  Ｏｒｇａｎｉｚａｔｉｏｎ  ｆｏｒ  Ｓｔａｎｄａｒｄｉｚａｔｉｏｎ」）２６２６２規格「道路車両−機能安全」（２０１１英語）並びにこの規格の後続版及び拡張などの業界安全規格を満たすために、レベル４〜５の自動運転車両用のシステムは、全く異なる手法を必要とする。ＩＳＯ２６２６２は、自動車安全完全性レベル（「ＡＳＩＬ：Ａｕｔｏｍｏｔｉｖｅ  Ｓａｆｅｔｙ  Ｉｎｔｅｇｒｉｔｙ  Ｌｅｖｅｌ」）によって決定される、乗用車の電子システム及び電気システムの誤動作によって引き起こされる可能性のある危険を扱っている。ＡＳＩＬは、「Ａ」、「Ｂ」、「Ｃ」、及び「Ｄ」の４つの異なるリスク・レベルを扱っており、これらは３つの因子、すなわち（１）暴露度（危険確率）、（２）（運転者による）制御可能性、及び（３）（負傷の観点での）危害度によって決定される。ＡＳＩＬのリスク・レベルは、概ね危害度と暴露度と制御可能性との組合せと定義される。図２に示すように、ＩＳＯ２６２６２「道路車両−機能安全−第９部：自動車安全完全性レベル（ＡＳＩＬ）指向及び安全指向の分析」（ＩＳＯ２６２６２−９：２０１１（英語））は、ＡＳＩＬ「Ｄ」のリスクを、最高確率の暴露度（Ｅ４）と、可能な限り最高の制御可能性（Ｃ３）と、最高の危害度（Ｓ３）との組合せと定義する。ＡＳＩＬ「Ｄ」と評価された自動車機器は、その機器が、最も深刻なリスクをもたらす危険に安全に対処できることを意味する。危害度、暴露度、及び制御可能性の分類のうちのいずれか１つにおけるその最大値からの低下は、ＡＳＩＬの「Ａ」、「Ｂ」、「Ｃ」、及び「Ｄ」評価における１レベル低下に相当する。
【００１０】
基本的なＡＤＡＳシステム（レベル１又はレベル２）は、車両に対する制御を人間の運転者が引き継ぎ行使することに依存しているので、ＩＳＯ２６２６２規格を含む自動車業界の機能安全規格に適合するように容易に設計され得る。例えば、ＡＤＡＳシステムが故障して危険な状態になった場合、運転者は車両のコマンドを受け取り、そのソフトウェア機能をオーバーライドして、安全な状態に回復することができる。同様に、ＡＤＡＳシステムが適切に制御できない環境／状況（例えば、タイヤのパンク、薄氷、突然の障害物）に車両が遭遇した場合、人間の運転者が引き継ぎ、補正動作又は緩和動作を実行するものと見込まれている。
【００１１】
対照的に、レベル３〜５の自動運転車両は、運転者からの即時の補正動作なしでも、システムが単独で安全である必要がある。完全自動運転車両は、例外的な状況に対処するために人間の運転者に頼ることはできず、車両の制御システムはすべての故障、誤動作、及び異常な動作状態を単独で識別、管理、及び軽減しなければならない。レベル４〜５の自動運転車両は、最も厳しい安全要件を備えており、人間の運転者がハンドルを握りブレーキを踏むことに依存することなく、問題が発生し得るあらゆることに対処するように設計されなければならない。したがって、レベル４及びレベル５の完全自動運転にＡＳＩＬ  Ｄレベルの機能安全を提供することは困難なタスクである。ＡＳＩＬ  Ｄがハードウェア及びソフトウェアの設計においてこれまでにない精度を要求するので、ＡＳＩＬ  Ｄの機能安全を備えた単一のソフトウェア・サブシステムを作成するためのコストは法外に高い。別の手法が必要とされる。
【００１２】
レベル４〜５の自動運転車両に対するＡＳＩＬ  Ｄ機能安全を実現するには、運転者が動的運転タスクの実行を再開するための要求に適切に対応しない場合でも、動的運転タスクのすべての態様を実行し、関連する物体及び事象への適切な対応を提供する専用スーパーコンピュータが必要である。この野心的な目標には、新しいシステム・オン・チップ技術、新しいアーキテクチャ、及び新しい設計手法が必要である。
【００１３】
いくつかの関連技術
Ａ．ＡＤＡＳシステム
今日のＡＤＡＳシステムには、とりわけ、自律／適応／自動走行制御（「ＡＣＣ：Ａｕｔｏｎｏｍｏｕｓ／ａｄａｐｔｉｖｅ／ａｕｔｏｍａｔｉｃ  ｃｒｕｉｓｅ  ｃｏｎｔｒｏｌ」）、前方クラッシュ警告（「ＦＣＷ：Ｆｏｒｗａｒｄ  Ｃｒａｓｈ  Ｗａｒｎｉｎｇ」）、自動緊急ブレーキ（「ＡＥＢ：Ａｕｔｏ  Ｅｍｅｒｇｅｎｃｙ  Ｂｒａｋｉｎｇ」）、車線逸脱警告（「ＬＤＷ：Ｌａｎｅ  Ｄｅｐａｒｔｕｒｅ  Ｗａｒｎｉｎｇ」）、死角警告（「ＢＳＷ：Ｂｌｉｎｄ  Ｓｐｏｔ  Ｗａｒｎｉｎｇ」）、及び後方交差交通警告（「ＲＣＴＷ：Ｒｅａｒ  Ｃｒｏｓｓ−Ｔｒａｆｆｉｃ  Ｗａｒｎｉｎｇ」）が含まれる。
【００１４】
ＡＣＣは、縦方向ＡＣＣ及び横方向ＡＣＣに大きく分類され得る。縦方向ＡＣＣは、ホスト又は「自車両」の直前の車両までの距離を監視及び制御する。典型的な縦方向ＡＣＣシステムは、車両速度を自動的に調整して前方車両からの安全な距離を維持する。横方向ＡＣＣは、距離の保持を実行し、必要に応じて車線を変更するようにホスト車両に助言する。横方向ＡＣＣは、車線変更支援（「ＬＣＡ：Ｌａｎｅ  Ｃｈａｎｇｅ  Ａｓｓｉｓｔ」）及び衝突警告システム（「ＣＷＳ：Ｃｏｌｌｉｓｉｏｎ  Ｗａｒｎｉｎｇ  Ｓｙｓｔｅｍ」）などの他のＡＤＡＳアプリケーションに関連する。
【００１５】
最も一般的なＡＣＣシステムは単一のレーダを使用するが、他の組合せ（２つの短距離レーダと結合された１つの長距離レーダなどの複数のレーダ、又はＬＩＤＡＲとカメラの組合せ）も可能である。縦方向ＡＣＣシステムは、２つの主要なグループ、すなわちルール・ベースの手法とモデル・ベースの手法とに分けられ得るアルゴリズムを使用する。ルール・ベースの縦方向ＡＣＣ手法は、ＦＰＧＡ、ＣＰＵ、又はＡＳＩＣを含む任意のプロセッサ上で実行され得るｉｆ−ｔｈｅｎルールを使用する。入力信号は通常、前方車両までの距離、車両の現在の速度などを含み、出力は通常、スロットル及びブレーキである。例えば、縦方向ＡＣＣシステムは、自車と前方車の間の距離が２秒未満で通過可能な場合は車両速度を下げるという、ほとんどの運転者によく知られているルールを使用することができる。車両速度が毎秒２６．８２ｍ（８８フィート）（毎時９６．５６ｋｍ（６０マイル）に相当する）であり、且つ後続の距離が６．７１ｍ（２２フィート）の場合、その距離を通過するための時間はわずか０．２５秒である。これらの状況下では、縦方向ＡＣＣシステムは、スロットル、及び必要に応じてブレーキを制御することによって速度を下げることができる。スロットルが使用されることが好ましいが（スロットルを下げると車両が減速することになる）、距離が短く、減少している場合、ＡＣＣシステムはブレーキを使用するか、又はブレーキを解放し運転者に警告を通知してもよい。
【００１６】
モデル・ベースのシステムは、通常、比例積分微分コントローラ（「ＰＩＤ（ｐｒｏｐｏｒｔｉｏｎａｌ−ｉｎｔｅｇｒａｌ−ｄｅｒｉｖａｔｉｖｅ）コントローラ」）技法又はモデル予測制御（「ＭＰＣ：ｍｏｄｅｌ  ｐｒｅｄｉｃｔｉｖｅ  ｃｏｎｔｒｏｌ」）技法に基づく。車両の位置、距離、及び前方車両の速度に基づいて、コントローラは、運転の安全性及びエネルギー・コストを考慮して車輪トルクを最適に計算する。
【００１７】
協調型適応走行制御（「ＣＡＣＣ：Ｃｏｏｐｅｒａｔｉｖｅ  Ａｄａｐｔｉｖｅ  Ｃｒｕｉｓｅ  Ｃｏｎｔｒｏｌ」）は、他の車両からの情報を使用する。この情報は、アンテナ及びモデムを介して（近接した）他の車両から直接、ワイヤレス・リンク経由で、又はネットワーク接続から間接的に受け取られる場合がある。直接リンクは、車車間（「Ｖ２Ｖ：ｖｅｈｉｃｌｅ−ｔｏ−ｖｅｈｉｃｌｅ」）通信リンクによって提供される場合があり、一方、間接リンクは、しばしば路車間（「Ｉ２Ｖ：ｉｎｆｒａｓｔｒｕｃｔｕｒｅ−ｔｏ−ｖｅｈｉｃｌｅ」）リンクと呼ばれる。一般に、Ｖ２Ｖ通信概念は、すぐ前の車両（つまり、自車と同じ車線内の直前の車両）に関する情報を提供し、一方、Ｉ２Ｖ通信概念は、さらに前方の交通に関する情報を提供する。ＣＡＣＣシステムは、Ｉ２ＶとＶ２Ｖの情報ソースのいずれか又は両方を含むことができる。ホスト車両の前方車両の情報が与えられると、ＣＡＣＣの信頼性を高めることができ、ＣＡＣＣは交通の流れの円滑性を向上させ、道路上の混雑を緩和させる潜在的可能性を有する。
【００１８】
ＡＣＣシステムは今日、商用車両において広く使用されているが、しばしば道路状況に対して過剰補償又は過剰反応する。例えば、商用ＡＣＣシステムは、車が前方で合流するときに過剰反応して過度に減速し、その後車両が邪魔にならなくなったときに速度を回復するのが遅すぎる場合がある。ＡＣＣシステムは、車両の安全性及び運転者の利便性を提供する上で重要な役割を果たしているが、レベル３〜５の自動運転車両機能の要件を満たすにはほど遠い。
【００１９】
前方クラッシュ警告（「ＦＣＷ」）ＡＤＡＳシステムは、運転者に危険を警告し、その結果運転者が補正動作を行うことができるように設計される。典型的なＦＣＷ  ＡＤＡＳシステムは、ディスプレイ、スピーカ、又は振動コンポーネントなどの運転者フィードバックに電気的に結合された専用プロセッサ、ＤＳＰ、ＦＰＧＡ、又はＡＳＩＣに結合された、正面向きカメラ又はレーダ・センサを使用する。ＦＣＷシステムは通常、警告のみを提供し、車両に取って代わること、又はブレーキを作動させること、又は他の補正動作を行うことはない。むしろ、ＦＣＷシステムが危険を検出すると、ＦＣＷシステムは音、視覚による警告、振動、及び／又はクイック・ブレーキ・パルスの形式で警告をアクティブにする。ＦＣＷシステムは今日広く使用されているが、しばしば誤警報をもたらす。２０１７年消費者調査報告によれば、ＦＣＷを備えた車両の約４５％で少なくとも１回の誤警報が発生しており、いくつかの態様では６０％を超える誤警報が報告されている。レーダ・ベースのＦＣＷシステムは誤検出を起こしやすく、理由は、レーダが、車両を示していると誤解される可能性があるマンホール蓋、大きな缶、排水格子、及び他の金属製の物体の存在を報告することがあるからである。ＡＣＣシステムと同様に、ＦＣＷシステムは車両の安全性及び運転者の利便性を提供する上で重要な役割を果たしているが、レベル３〜５の自動運転車両機能の要件を満たすにはほど遠い。
【００２０】
自動緊急ブレーキ（「ＡＥＢ」）ＡＤＡＳシステムは、別の車両又は他の物体との前方衝突が間近に迫っていることを検出し、運転者が指定された時間又は距離のパラメータ内で補正動作を行わない場合、自動的にブレーキをかけることができる。典型的なＡＥＢ  ＡＤＡＳシステムは、専用プロセッサ、ＤＳＰ、ＦＰＧＡ、又はＡＳＩＣに結合された、正面向きカメラ又はレーダ・センサを使用する。ＡＥＢシステムは危険を検出すると、通常、ＦＣＷシステムと同様に、最初に衝突を回避するための補正動作を行うよう運転者に警告する。運転者が補正動作を行わない場合、ＡＥＢシステムは、予測された衝突の影響を防止するか、又は少なくとも軽減するために、自動的にブレーキをかけることができる。ＡＥＢシステムは、ダイナミック・ブレーキ・サポート（「ＤＢＳ：ｄｙｎａｍｉｃ  ｂｒａｋｅ  ｓｕｐｐｏｒｔ」）及び／又は衝突直前ブレーキ（「ＣＩＢ：ｃｒａｓｈ  ｉｍｍｉｎｅｎｔ  ｂｒａｋｉｎｇ」）などの技法を含み得る。ＤＢＳシステムは、ＦＣＷ又は典型的なＡＥＢシステムと同様に、運転者警告を提供する。運転者が警告に対応してブレーキをかけたが、専用プロセッサ、ＦＰＧＡ、又はＡＳＩＣが運転者の行動が追突を回避するには不十分であると判断した場合、ＤＢＳシステムは、運転者のブレーキを自動的に補助し、追突を回避しようと試みる。ＡＥＢシステムは今日広く使用されているが、過敏性、さらには望ましくない「補正」について批判を受けている。
【００２１】
車線逸脱警告（「ＬＤＷ」）ＡＤＡＳシステムは、車が車線区分線を超えると、運転者に警告するための視覚、聴覚、及び／又はステアリング・ホイール若しくはシートの振動などの触覚による警告を提供する。運転者が方向指示器を作動させることによって意図的に車線の逸脱を指示するとき、ＬＤＷシステムは作動しない。典型的なＬＤＷ  ＡＤＡＳシステムは、ディスプレイ、スピーカ、振動コンポーネントなどの運転者フィードバックに電気的に結合された専用プロセッサ、ＤＳＰ、ＦＰＧＡ、又はＡＳＩＣに結合された、前側向きカメラを使用する。ＬＤＷ  ＡＤＡＳシステムは今日広く使用されているが、時々車両が車線からはみ出して、且つ／又は路肩に向かってドリフトできることがあり、一貫性のない性能について批判を受けている。ＬＤＷ  ＡＤＡＳシステムは、特にカーブの多い道路上で誤りのある煩わしいフィードバックを提供することについても批判を受けている。
【００２２】
車線維持支援（「ＬＫＡ」）ＡＤＡＳシステムは、ＬＤＷシステムの一種である。ＬＫＡシステムは、車両が車線を出始めた場合、車両を補正するためにステアリング入力又はブレーキを提供する。ＬＫＡシステムは、とりわけ、特に狭い道路上で車両が自転車に乗っている人又は歩行者に遭遇したときに逆効果の制御信号を提供することについて批判を受けている。具体的には、運転者が自転車に乗っている人又は歩行者と適切な距離を置こうとするとき、ＬＫＷシステムは、車を車線の中央へ、ひいては自転車に乗っている人又は歩行者の方へ戻すようにシステムを操縦させることが知られている。
【００２３】
死角警告（「ＢＳＷ」）ＡＤＡＳシステムは、自動車の死角にある車両の運転者を検出及び警告する。典型的なＢＳＷシステムは、車線の合流又は変更が安全でないことを示す視覚、聴覚、及び／又は触覚による警報を提供する。運転者が方向指示器を使用するとき、システムは追加の警告を提供することができる。典型的なＢＳＷ  ＡＤＡＳシステムは、ディスプレイ、スピーカ、又は振動コンポーネントなどの運転者フィードバックに電気的に結合された専用プロセッサ、ＤＳＰ、ＦＰＧＡ、又はＡＳＩＣに結合された、後側向きカメラ又はレーダ・センサを使用する。ＢＳＷシステムは今日広く使用されているが、誤検出について批判を受けている。
【００２４】
後方交差交通警告（「ＲＣＴＷ」）ＡＤＡＳシステムは、車両が後退しているときにリア・カメラの範囲外で物体が検出されると、視覚、聴覚、及び／又は触覚による通知を提供する。いくつかのＲＣＴＷシステムは、衝突を回避するために確実に車両ブレーキが適用されるようにするために、ＡＥＢを含む。典型的なＲＣＴＷ  ＡＤＡＳシステムは、ディスプレイ、スピーカ、又は振動コンポーネントなどの運転者フィードバックに電気的に結合された専用プロセッサ、ＤＳＰ、ＦＰＧＡ、又はＡＳＩＣに結合された、１つ又は複数の後ろ向きレーダ・センサを使用する。ＲＣＴＷシステムは、他のＡＤＡＳシステムと同様に、誤検出について批判を受けている。
【００２５】
従来技術のＡＤＡＳシステムは商業的に成功しているが、どれもレベル３〜５の自動運転車両の性能に必要とされる機能を提供するものではない。
【００２６】
Ｂ．設計手法
１．古典的なコンピュータ・ビジョン及びルール・ベースの手法
自動運転車両について、２つの明確に異なる手法が提案されている。１つ目の手法であるコンピュータ・ビジョンは、視覚データを自動的に認識、分析、理解、及び／又は解釈するプロセスである。このような視覚データには、任意のタイプのカメラ又はビデオ記録デバイスによって捕捉された、ビデオ、画像、リアル・タイム又はほぼリアル・タイムのデータの任意の組合せが含まれ得る。コンピュータ・ビジョン・アプリケーションは、上位レベルの問題を解決するためのコンピュータ・ビジョン・アルゴリズムを実装する。例えば、ＡＤＡＳシステムは、車載カメラ又はビデオ録画デバイスによって捕捉された視覚データに基づいて、歩行者／自転車を検出し、交通標識を認識し、且つ／又は車線逸脱警告を発するための、リアル・タイムの物体検出アルゴリズムを実装することができる。
【００２７】
従来のコンピュータ・ビジョン手法は、所与のタスクに関連する指定された特徴（エッジ、コーナー、色など）の抽出を試みる。従来のコンピュータ・ビジョン手法は、人間のエンジニアによって手動で調整されたヒューリスティクスに基づいて特徴検出を実行する物体検出器を含む。パターン認識タスクは、典型的には初期段階の特徴抽出段階を使用し、その後に分類器が続く。
【００２８】
古典的なコンピュータ・ビジョンは、多くのＡＤＡＳアプリケーションで使用されているが、レベル３〜５のシステム性能にはあまり適していない。古典的なコンピュータ・ビジョンはルール・ベースの手法に従うので、古典的なコンピュータ・ビジョンを使用する自動運転車両は、すべての可能なシナリオを対象とすることを目的に、明確なプログラムされた決定ガイドラインのセットを有していなければならない。膨大な数の運転状況、環境、及び物体がある場合、古典的なコンピュータ・ビジョンは、レベル３〜５の自動運転車両に到達するために解決しなければならない問題を解決することができない。雪、氷、大雨、大きな屋外駐車場、歩行者、反射、対向交通への合流などを含む、あらゆる可能なシナリオ及びすべての運転課題にルールを提供できるシステムはない。
【００２９】
２．ニューラル・ネットワーク及び自動運転車両
ニューラル・ネットワークは、古典的なコンピュータ・ビジョンに対する代替手法と広く見なされている。ニューラル・ネットワークは、１９８９年のＰｏｍｅｒｌｅａｕによるニューラル・ネットワークの自律陸上車両（「ＡＬＶＩＮＮ：Ａｕｔｏｎｏｍｏｕｓ  Ｌａｎｄ  Ｖｅｈｉｃｌｅ  ｉｎ  ａ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ」）システムの研究に始まり、長年にわたって自動運転車両について提案されてきた。
【００３０】
ＡＬＶＩＮＮは、ＤＡＲＰＡ自動運転車両（「ＤＡＶＥ：ＤＡＲＰＡ  Ａｕｔｏｎｏｍｏｕｓ  Ｖｅｈｉｃｌｅ」）として知られている、２００４年の国防高等研究計画局（「ＤＡＲＰＡ：Ｄｅｆｅｎｓｅ  Ａｄｖａｎｃｅｄ  Ｒｅｓｅａｒｃｈ  Ｐｒｏｊｅｃｔｓ  Ａｇｅｎｃｙ」）の苗プロジェクトに着想を与え、このプロジェクトでは、サブスケールの無線操縦車が、廃品で埋め尽くされた狭い通路を走行した。ＤＡＶＥは、類似しているが同一ではない環境における人間の運転について何時間も訓練された。訓練データには、２台のカメラからのビデオ、及び人間の操作者によって送信された操縦命令が含まれた。ＤＡＶＥはニューラル・ネットワークの潜在的可能性を実証したが、ＤＡＶＥの性能はレベル３〜５の自動運転車両の要件を満たすには不十分だった。反対に、ＤＡＶＥの衝突間の平均距離は、複雑な環境では約２０メートルだった。
【００３１】
ＤＡＶＥの後、２つの開発がニューラル・ネットワークのさらなる研究に拍車をかけた。１つ目として、ＩｍａｇｅＮｅｔ大規模画像認識チャレンジ（「ＩＬＳＶＲＣ：ＩｍａｇｅＮｅｔ  Ｌａｒｇｅ  Ｓｃａｌｅ  Ｖｉｓｕａｌ  Ｒｅｃｏｇｎｉｔｉｏｎ  Ｃｈａｌｌｅｎｇｅ」）などのラベル付きの大きなデータ・セットが、訓練及び検証に広く利用できるようになった。ＩＬＳＲＶＣのデータ・セットは、１千を超えるカテゴリ内に１千万を超える画像を含む。
【００３２】
２つ目として、ニューラル・ネットワークは現在、超並列グラフィックス処理ユニット（「ＧＰＵ：ｇｒａｐｈｉｃｓ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ」）上に実装されており、学習能力及び推論能力を大幅に高速化する。「ＧＰＵ」という用語は旧来の用語であるが、本発明の技術のＧＰＵがグラフィックス処理に実際に使用されることを意味するものではない。反対に、本明細書に記載のＧＰＵは、分野に特化した並列処理アクセラレータである。ＣＰＵは通常、順次直列処理用に最適化された少数のコアから構成されるが、ＧＰＵは通常、複数のタスクを同時に扱うように設計された数千の小型でより効率的なコンピューティング・コアで構成される超並列アーキテクチャを有する。ＧＰＵは、高性能コンピューティング、ディープ・ラーニング及び人工知能の分析、並びに他の工学アプリケーションを高速化するためなど、グラフィックス以外の多くの目的に使用される。
【００３３】
ＧＰＵは、ディープ・ラーニング及びニューラル・ネットワークにとって理想的である。ＧＰＵは非常に多数の同時計算を実行し、ニューラル・ネットワークの訓練にかかる時間を、従来のＣＰＵ技術を用いた場合の数日から、わずか数時間に短縮する。
【００３４】
ディープ・ニューラル・ネットワークの大部分は、数百万のノードで構成され、且つ経時的に調整される「ブラック・ボックス」である。ＤＮＮの決定を解釈することは、不可能ではないとしても難解である場合があり、トラブルシューティング及び改良を困難にさせている。ディープ・ラーニングでは、ニューラル・ネットワークは多くのレベルの抽象化を学習する。それらは、単純な概念から複雑な概念まで様々である。各層は情報を分類する。このとき、各層は情報を洗練し、その情報を次の層に伝える。ディープ・ラーニングは層を積み重ね、マシンが「階層表現」を学習できるようにする。例えば、最初の層はエッジを探索してもよい。次の層は、角度を形成するエッジの集合体を探索してもよい。次の層は、エッジのパターンを探索してもよい。多くの層を経て、ニューラル・ネットワークは、例えば通りを横断する歩行者の概念を学習する。
【００３５】
図３は、交通標識を認識するためのニューラル・ネットワークの訓練を示す。ニューラル・ネットワークは、入力層（６０１０）、複数の隠れ層（６０２０）、及び出力層（６０３０）から構成される。訓練画像情報（６０００）はノード（３００）に入力され、ネットワークを介して前方に伝播する。正しい結果（６０４０）はノード（６０１１、６０２１、６０３１）の重みを調整するために使用され、このプロセスは数千の画像に対して使用され、それぞれが、修正された重みになる。十分な訓練の後、ニューラル・ネットワークは人間よりもさらに高い精度で、画像を正確に識別することができる。
【００３６】
Ｃ．ＮＶＩＤＩＡのＰａｒｋｅｒ  ＳｏＣ及びＤＲＩＶＥ  ＰＸプラットフォーム
ＧＰＵは、ＣＮＮが適切に訓練される場合は車を操縦するために使用され得ることを実証した。レベル３〜５の自動運転車両は、環境をナビゲートするために瞬時に多数の決定を行わなければならない。これらの選択は、初期のＡＬＶＩＮＮ及びＤＡＶＥシステムの車線追従及びステアリング・アプリケーションよりもはるかに複雑である。
【００３７】
ＮＶＩＤＩＡは、その初期の研究に続いて、Ｐａｒｋｅｒと呼ばれるシステム・オン・チップ（当初はモバイル・アプリケーション用に設計された）を、ＤＲＩＶＥ（商標）ＰＸ２と呼ばれる自律運転システム用のコントローラに適合させた。Ｐａｒｋｅｒを備えたＤＲＩＶＥ（商標）ＰＸ２プラットフォームは、Ａｕｔｏｃｈａｕｆｆｅｕｒ及びＡｕｔｏＣｒｕｉｓｅ機能をサポートした。
【００３８】
これまでに、業界安全基準を満たすことができるレベル４〜５の機能のための自動運転システムの構築に成功した企業はない。これは、極めて困難なタスクである。この構築は、成功裏になされたことはなく、様々なアーキテクチャ、ハードウェア、及びソフトウェア・ベースのシステムにまたがる多数の技術を必要とする。無限の訓練及びコンピューティング能力があれば、すべての意思決定は、少なくとも理論的には、ディープ・ラーニング方法論で最もよく処理され得る。自動運転車両は、明示的なルールでプログラムされる必要はなく、むしろ、あらゆる可能な運転シナリオ及び適切な結果を表す大量のデータで訓練されたニューラル・ネットワークによって動作されることになる。自動運転車両は、無限の集合的な経験という利点を有し、平均的な人間の運転者よりもはるかに運転技術が高くなる。一部の運転習慣は、非公式で地方的であり、交通法で成文化されたものではなく地元住民に知られているものであるので、集合的な体験は、理論上は、地域の運転慣行に関するローカライズされた情報も含むことになる。
【００３９】
しかし、単一の統合ニューラル・ネットワークはおそらく、運転に必要なあらゆる決定を下せるわけではない。車両を動作させるには、従来技術と組み合わせた多様なＡＩニューラル・ネットワークが必要である。それぞれが専門分野を担当する様々なＡＩネットワークを使用すると、自動運転車両における安全性及び信頼性が向上する。ステアリングを制御するネットワークに加えて、自動運転車両は、歩行者検出、車線検出、標識の読み取り、衝突回避などの特定のタスクに焦点を当てて訓練されたネットワークを備えなければならない。ニューラル・ネットワークの単一の組合せがレベル３〜５の機能を実現できたとしても、ニューラル・ネットワークの「ブラック・ボックス」の性質が、ＡＳＩＬ  Ｄ機能の実現を非現実的なものにしている。
【先行技術文献】
【特許文献】
【００４０】
【特許文献１】米国特許出願第１６／１０１，２３２号
【特許文献２】米国特許第９，７４２，８６９号明細書
【特許文献３】米国特許出願公開第２０１５／００６７６７２号明細書
【発明の概要】
【課題を解決するための手段】
【００４１】
既存の自動運転手法における問題を解決するために必要とされるものは、レベル３〜５にまたがる１つの柔軟なアーキテクチャ、すなわち、ダイバーシティ及び冗長性のためにコンピュータ・ビジョン及び／又はＡＤＡＳ技法を活用及び効率的に利用し、ディープ・ラーニング・ツールとともに柔軟で信頼性の高い運転ソフトウェア・スタックのためのプラットフォームを提供する、包括的な機能安全性アーキテクチャを有するエンド・ツー・エンド・プラットフォームである。必要とされるものは、自動車、タクシー、トラック、バス、及び他の車両を含む広範囲の自動運転車両を可能にする柔軟で拡張可能なプラットフォームに統合された、より速く、信頼性がより高く、さらにいっそうエネルギー効率が良く、さらにいっそう空間効率の良いＳｏＣである。必要とされるものは、商用ＡＤＡＳシステムを悩ませてきた誤判定及び過敏性のない、安全で、信頼性が高く、快適な自動運転を提供することができるシステムである。
【００４２】
実施例としては、レベル３、４、及び／又は５のために自動運転機能を容易にするシステム及び方法がある。本明細書におけるいくつかの例示的な実施例では、条件付き自動化レベル、高度自動化レベル、及び完全自動化レベル３、４、及び５は、プロセッサ構成要素が故障したときですら維持される。技術は、ダイバーシティ及び冗長性のためのコンピュータ・ビジョン及び／又はＡＤＡＳ技法を活用及び効率的に利用する包括的な機能安全性アーキテクチャを提供し、ディープ・ラーニング・ツールとともに柔軟で信頼性の高い運転ソフトウェア・スタックのためのプラットフォームを提供する、柔軟なアーキテクチャを有するエンド・ツー・エンド・プラットフォームをさらに提供する。本明細書における例示的な非限定的な技術は、自動車、タクシー、トラック、バス、及び他の車両を含む広範囲の自動運転車両を可能にする柔軟で拡張可能なプラットフォームに統合された、より速く、信頼性が高く、エネルギー効率が良く、空間効率の良いＳｏＣを提供する。
【図面の簡単な説明】
【００４３】
【図１】本技術の実施例による、運転者支援、ＡＤＡＳ、及び自動運転のレベルを示す図である。
【図２】本技術の実施例による、ＡＳＩＬリスクを判定するための例示的な要因の表を示す図である。
【図３】本技術の実施例による、対象物を認識するためにニューラル・ネットワークを訓練する例示的なデータ・フローの図である。
【図４】本技術の実施例による、例示的な自動運転車両の図である。
【図５】本技術の実施例による、例示的なカメラ・タイプ及び車両上での所在地の図である。
【図６】本技術の実施例による、クラウド・ベース・データセンタと自動運転車両との間の通信のための例示的なデータ・フロー・プロセスの図である。
【図７】本技術の実施例による、例示的な自動運転ハードウェア・プラットフォームを示すブロック図である。
【図８】本技術の実施例による、自動運転車両内の高性能システム・オン・チップ（ＳｏＣ）のための例示的な処理アーキテクチャを示すブロック図である。
【図９】本技術の実施例による、自動運転車両内の例示的な高性能ＳｏＣの構成要素図である。
【図１０】本技術の実施例による、例示的なプログラマブル・ビジョン・アクセラレータ（ＰＶＡ）のブロック図である。
【図１１】本技術の実施例による、例示的なハードウェア・アクセラレーション・クラスタ・メモリ・アーキテクチャの図である。
【図１２】本技術の実施例による、交通信号を解釈するためにディープ・ラーニング・アクセラレータ（ＤＬＡ）上で動作する複数のニューラル・ネットワークの例示的な構成を示す図である。
【図１３】本技術の実施例による、自動運転車両を制御するための例示的な高性能ＳｏＣアーキテクチャのシステム図である。
【図１４】本技術の実施例による、例示的な非限定的なＡＳＩＬ要件の表である。
【図１５】本技術の実施例による、高性能ＳｏＣ内の機能安全性機構のブロック図である。
【図１６】本技術の実施例による、３つのＳｏＣを有する例示的なハードウェア・プラットフォームを示す図である。
【図１７】本技術の実施例による、例示的なハードウェア・プラットフォーム・アーキテクチャを示す図である。
【図１８】本技術の実施例による、ＣＰＵを含む例示的なハードウェア・プラットフォーム・アーキテクチャを示す図である。
【図１９】本技術の実施例による、ＣＰＵを含む代替の例示的なハードウェア・プラットフォーム・アーキテクチャを示す図である。
【図２０】本技術の実施例による、通信インターフェースを有する例示的なハードウェア・プラットフォーム・アーキテクチャを示す図である。
【図２１】本技術の実施例による、自動運転システムのためのシステム図である。
【図２２】本技術の実施例による、８つの高性能ＳｏＣとディスクリートＧＰＵ（ｄＧＰＵ）とを含む自動運転システムの例示的なアーキテクチャを示す図である。
【図２３】本技術の実施例による、高性能ＳｏＣと４つのｄＧＰＵとを含む自動運転システムの例示的なアーキテクチャを示す図である。
【図２４】本技術の実施例による、割り振られたＡＳＩＬを有する高レベル・システム・アーキテクチャのブロック図である。
【図２５】本技術の実施例による、アービトレーション手順中の例示的なデータ・フローのブロック図である。
【図２６】本技術の実施例による、割り振られたＡＳＩＬを有する例示的なシステム・アーキテクチャを示す図である。
【図２７】本技術の実施例による、高度ＡＤＡＳシステムの例示的な構成を示す図である。
【図２８】本技術の実施例による、自動運転アプリケーションのための例示的な仮想マシン構成を示す図である。
【図２９】本技術の実施例による、自動運転システム内の仮想マシン上のアプリケーションの例示的な割り振りを示す図である。
【図３０】本技術の実施例による、プリエンプションを用いた計算命令を実行するための例示的なワークフローである。
【図３１】本技術の実施例による、自動運転システム内の機能安全性のためのパーティショニング・サービスの例示的な構成を示す図である。
【図３２】本技術の実施例による、自動運転システム内の例示的な通信及びセキュリティ・システム・アーキテクチャを示す図である。
【図３３】本技術の実施例による、自動運転システム内のハードウェア・インフラストラクチャに対応する例示的なソフトウェア・スタックを示す図である。
【図３４】本技術の実施例による、自動運転システム内の機能安全性機構を有する例示的な構成を示す図である。
【図３５】本技術の実施例による、自動運転システム内の仮想マシン・アプリケーションのための例示的な相互作用トポロジを示す図である。
【図３６】本技術の実施例による、自動運転システム内の仮想マシン内で実行するゲスト・オペレーティング・システム内のエラーをモニタするためのフローチャートである。
【図３７】本技術の実施例による、システム構成要素内で検出されたエラーのための安全性フレームワークにおける例示的なエラー報告手順を示す図である。
【図３８】本技術の実施例による、ハードウェア検出ケース中のエラー・ハンドリングのための例示的な流れ図である。
【図３９】本技術の実施例による、ソフトウェア検出ケース中のエラー・ハンドリングのための例示的な流れ図である。
【図４０】本技術の実施例による、周辺構成要素に対応するパーティションの例示的な構成を示す図である。
【図４１】本技術の実施例による、自動運転のための例示的なソフトウェア・システム図である。
【図４２】本技術の実施例による、自動運転のための別の例示的なソフトウェア・システム図である。
【図４３】本技術の実施例による、例示的な追従車線グラフを示す図である。
【図４４】本技術の実施例による、車線検出を実行するようにニューラル・ネットワークを訓練するための入力として妥当な経路の例示的なアノテーションを示す図である。
【図４５】本技術の実施例による、センサ較正を実行するための仮想ランドマークを検出することからの例示的な出力を示す図である。
【図４６】本技術の実施例による、センサから作成された複数の画像上での追跡機構のためのポイント検出器からの例示的な出力を示す図である。
【図４７】本技術の実施例による、ＬＩＤＡＲセンサによって生成された空間分離を用いたフレーム間の反復的な最も近いポイント・アライメントを実行することからの例示的な出力を示す図である。
【図４８】本技術の実施例による、例示的な自動化された自己較正器のブロック図である。
【図４９】本技術の実施例による、例示的な軌跡推定器のブロック図である。
【図５０】本技術の実施例による、例示的なピクセル単位クラス出力画像及び境界ボックスを示す図である。
【図５１】本技術の実施例による、対象物追跡からの例示的な出力を示す図である。
【図５２】本技術の実施例による、相対運動の範囲に基づいて時間的ベースラインを判定するためのプロセスを実行することからの例示的な出力を示す図である。
【図５３】本技術の実施例による、接地平面をヒューリスティックに再定義するためのプロセスを実行することからの例示的な出力を示す図である。
【図５４】本技術の実施例による、レーダ及びビジョン軌道上でマッピングを実行することからの例示的な出力を示す図である。
【図５５】本技術の実施例による、例示的な動的占有率グリッドを示す図である。
【図５６】本技術の実施例による、例示的な経路認知シナリオを示す図である。
【図５７】本技術の実施例による、例示的な経路内判定を実行するためのシナリオを示す図である。
【図５８】本技術の実施例による、例示的な待ち状態シナリオを示す図である。
【図５９】本技術の実施例による、例示的な地図認知シナリオを示す図である。
【図６０】本技術の実施例による、各ノードにおける点及び接線を有する例示的な有向グラフである。
【図６１】本技術の実施例による、待ち状態を有する例示的な有向グラフを示す図である。
【図６２】本技術の実施例による、有向グラフ内に追加の定義情報を表示するための例示的な代表的な概略図である。
【図６３】本技術の実施例による、例示的なプランニング階層を示す図である。
【図６４】本技術の実施例による、コントローラ・モジュールによって達成される軌跡への前方予測モデルからの計画軌跡をマップすることからの例示的な出力を示す図である。
【図６５】本技術の実施例による、自動運転が可能である例示的なトラックを示す図である。
【図６６】本技術の実施例による、自動運転が可能である例示的な２レベル・バスを示す図である。
【図６７】本技術の実施例による、自動運転が可能である例示的な連結式バスを示す図である。
【図６８】本技術の実施例による、自動運転が可能である例示的なはしご車を示す図である。
【発明を実施するための形態】
【００４４】
Ａ．例示的な自動運転車両
図４は、例示的な自律運転車両（５０）を示す。図示の実例における車両（５０）は、人間の運転者及び／又は人間の乗員を収容できる車又はトラックなどの乗用車を含む。車両（５０）は、シャーシ上に懸架された車体（５２）を含み、この実例では、４本のホイール（５４）及び関連する車軸から構成される。内燃機関、ハイブリッド発電装置、又はさらには全電力式エンジンなどの推進システム（５６）は、トランスミッション（図示せず）を含み得るドライブ・トレインを介してホイール（５４）の一部又は全部を駆動するように接続される。ステアリング・ホイール（５８）は、推進システム（５６）が動作して車両を推進するよう従事しているときに、ホイール（５４）の一部又は全部を操縦して車両（５０）を所望の経路に沿って方向付けるために使用され得る。レベル５の実施例では、ステアリング・ホイール（５８）などは任意選択である。１つ又は複数のコントローラ（１００（１）〜１００（３））は、以下でより詳細に説明するように、センサ・アレイからリアル・タイムで継続的に提供される信号に応答して、自動自律運転機能を提供する。
【００４５】
各コントローラは本質的に、リアル・タイムで、センサ信号を処理し、自律動作コマンドを自律運転車両（５０）に出力する、且つ／又は人間の車両運転者の運転を支援するように動作することができる、１つ又は複数の搭載スーパーコンピュータである。各車両は、機能の安全性及び追加の機能のために、任意の数の別個のコントローラを有してもよい。例えば、コントローラ（１００（１））は自動運転機能用のプライマリ・コンピュータの役割を果たすことができ、コントローラ（１００（２））は機能の安全機能用のセカンダリ・コンピュータの役割を果たすことができ、コントローラ（１００（３））はカメラ内蔵センサに人工知能機能を提供することができ、コントローラ（１００（４））（図示せず）は、インフォテインメント機能を提供し、緊急時に追加の冗長性を提供することができる。
【００４６】
コントローラ（１００）はコマンド信号を送信して、１つ又は複数のブレーキ・アクチュエータ（６１）を介して車両ブレーキ（６０）を動作させ、ステアリング・アクチュエータ（６２）を介してステアリング・メカニズム（５８）を動作させ、アクセラレータ／スロットル作動信号（６４）も受信する推進ユニット（５６）を動作させる。作動は、当業者に知られている方法によって実行され、用いる信号は通常、ブレーキ、加速度、ステアリング、フロント・ガラス・ワイパーなどを制御するために使用される現代の車内のネットワークであるコントローラ・エリア・ネットワークのデータ・インターフェース（「ＣＡＮ：Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋバス」）を介して送信される。ＣＡＮバスは、それぞれがそれ自体の一意の識別子（ＣＡＮ  ＩＤ）を備えた数十のノードを有するように構成され得る。好ましい実施例では、ＣＡＮネットワークは、１００を超える異なるＣＡＮノードＩＤを含むことができる。バスは、ステアリング・ホイール角度、対地速度、エンジンＲＰＭ、ボタン位置、及び他の車両ステータス・インジケータを見つけるために読み取られ得る。ＣＡＮバス・インターフェースに対する機能安全レベルは、通常ＡＳＩＬ  Ｂである。車両内での通信には、ＦｌｅｘＲａｙ及びイーサネットを含む他のプロトコルが使用されてもよい。
【００４７】
車両モデルを使用する実施例の場合、作動コントローラは、スロットル、ブレーキ、ステアリング、及びシフトの制御を可能にする、専用のハードウェア及びソフトウェアを使用して取得されてもよい。ハードウェアは、車両のＣＡＮバスとコントローラ（１００）の間のブリッジを提供し、方向指示器、車輪速度、加速度、ピッチ、ロール、ヨー、全地球測位システム（「ＧＰＳ：Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ」）データ、タイヤ圧、燃料レベル、ソナー、ブレーキ・トルクなどを含む車両データを、コントローラ（１００）に転送する。特殊用途のパトロール・カー及びセキュリティ・カー、ロボ・タクシー、トラクター・トレーラ構成を含む長距離トラック、耕うん用トラック、農業用車両、産業車両、並びに連結バスを含むがこれに限定されないバスを含む任意の他のメーカー及び型式の車両用に、同様の作動コントローラが構成されてもよい。
【００４８】
コントローラ（１００）は、例えば、１つ又は複数の超音波センサ（６６）、１つ又は複数のレーダ・センサ（６８）、１つ又は複数の光検出及び測距（「ＬＩＤＡＲ：Ｌｉｇｈｔ  Ｄｅｔｅｃｔｉｏｎ  ａｎｄ  Ｒａｎｇｉｎｇ」）センサ（７０）、１つ又は複数の周囲カメラ（７２）（典型的には、このようなカメラは、車体の周辺全体の領域を撮像するために車体（５２）上の様々な場所に配置される）、１つ又は複数のステレオ・カメラ（７４）（好ましい実施例では、少なくとも１台のこのようなステレオ・カメラは、車両経路での物体検出及び物体認識のための奥行き知覚を提供するために前方を向いている）、１つ又は複数の赤外線カメラ（７５）、位置座標を提供するＧＰＳユニット（７６）、ステアリング角度を検出するステアリング・センサ（７８）、速度センサ（８０）（各ホイール（５４）に１つ）、車体（５２）の動きをモニタする慣性センサ又は慣性測定ユニット（「ＩＭＵ：ｉｎｅｒｔｉａｌ  ｍｅａｓｕｒｅｍｅｎｔ  ｕｎｉｔ」）（８２）（このセンサは、例えば、加速度計及び／又はジャイロ・センサ及び／又は磁気コンパスとすることができる）、タイヤ振動センサ（８５）、並びに車両の周囲及び内部に配置されたマイクロホン（１０２）を含む、センサ・アレイの入力に応答して、自動運転出力を提供する。当業者に知られているように、他のセンサが使用されてもよい。
【００４９】
コントローラ（１００）はまた、計器クラスタ（８４）から入力を受け取り、ヒューマン・マシン・インターフェース（「ＨＭＩ：ｈｕｍａｎ−ｍａｃｈｉｎｅ  ｉｎｔｅｒｆａｃｅ」）ディスプレイ（８６）、可聴報知器、拡声器、及び／又は他の手段を介して、人間が知覚可能な出力を人間の操作者に提供することができる。速度、時間、他のよく知られた情報などの従来の情報に加えて、ＨＭＩディスプレイは、地図及び車両の位置、他の車両の位置（占有グリッドを含む）、さらにはコントローラによる物体及びステータスの識別に関する情報を、車両の乗員に提供してもよい。例えば、コントローラが一時停止標識、注意標識の存在、又は信号機の変化を識別し、適切な動作をしているとき、ＨＭＩディスプレイ（８６）は、乗客に警報を出し、コントローラが意図した通りに機能しているという安心感を車両の乗員に与えることができる。
【００５０】
計器クラスタ（８４）は、「本技術を実行するためのＡＩスーパーコンピュータ・プラットフォーム」という見出しのセクション以降、以下で説明する高性能システム・オン・チップを含む、ディープ・ラーニング及び人工知能機能を実行するように構成された別個のコントローラ／スーパーコンピュータを含み得る。
【００５１】
車両（５０）は、自律運転に使用されるニューラル・ネットワークの訓練及び改良を助けるために使用されるのが好ましいデータを収集する。車両は、モデム（１０３）、好ましくは変調及び復調機能を提供し、且つコントローラ（１００）がワイヤレス・ネットワーク（１１００）を介して通信することを可能にするシステム・オン・チップを含む。モデム（１０３）は、当技術分野で知られているように、ベースバンドからＲＦへのアップ・コンバージョン及びＲＦからベースバンドへのダウン・コンバージョンのためのＲＦフロント・エンドを含み得る。周波数変換は、当技術分野で知られているように、既知のダイレクト・コンバージョン・プロセス（ベースバンドからＲＦへ直接、及びその逆）を介して、又はスーパー・ヘテロダイン・プロセスを介してのいずれかによって実現され得る。代替として、そのようなＲＦフロント・エンド機能は、別個のチップによって提供されてもよい。モデム（１０３）は、ＬＴＥ、ＷＣＤＭＡ（登録商標）、ＵＭＴＳ、ＧＳＭ、ＣＤＭＡ２０００、又は他の既知の広く使用されているワイヤレス・プロトコルなどのこれらに限定されない１つ又は複数のワイヤレス・プロトコルに実質的に準拠するワイヤレス機能を含むことが好ましい。
【００５２】
１．カメラ
ソナー及びレーダと比較して、カメラはわずかなコストでより豊富な特徴のセットを生成する。したがって、自律運転車両（５０）は、車両の全周囲の周辺の画像を捕捉する複数のカメラ（７２、７３、７４、７５、７６）を含む。カメラのタイプ及びレンズの選択は、機能の性質とタイプによって異なる。車両は、車両の周辺を完全に対象範囲とするために、カメラのタイプとレンズを混合したものを有することが好ましく、一般に、狭いレンズは広視野を有していないが、さらに遠くまで見ることができる。好ましい実施例では、車両は１２台のカメラを含むが、より多い又はより少ない数のカメラが使用されてもよい。車両のすべてのカメラ位置は、ギガビット・マルチメディア・シリアル・リンク（ＧＭＳＬ：Ｇｉｇａｂｉｔ  Ｍｕｌｔｉｍｅｄｉａ  Ｓｅｒｉａｌ  Ｌｉｎｋ）及びギガビット・イーサネットなどのインターフェースをサポートすることが好ましい。
【００５３】
図５は、１２台のカメラ（７２、７３、７４、７６）及び１台の赤外線カメラ（７５）を用いた、カメラのタイプ及び位置の一実例を示す。
【００５４】
正面向きカメラは、正面の経路及び障害物を識別するのに役立ち、占有グリッドを作成すること、及び好ましい車両経路を決定することに不可欠な情報を提供する。正面向きカメラは、緊急ブレーキ、歩行者検出、及び衝突回避を含むＬＩＤＡＲと同じＡＤＡＳ機能の多くを実行するために使用され得る。正面向きカメラは、車線逸脱警告（「ＬＤＷ」）、自律走行制御（「ＡＣＣ」）、及び交通標識認識などの他の機能を含む、ＡＤＡＳ機能及びシステムのためにも使用され得る。
【００５５】
様々なカメラが正面向き構成で使用されてもよく、例えば、相補型金属酸化膜半導体（ＣＭＯＳ：ｃｏｍｐｌｅｍｅｎｔａｒｙ  ｍｅｔａｌ  ｏｘｉｄｅ  ｓｅｍｉｃｏｎｄｕｃｔｏｒ）カラー・イメージャ、並びにＣＡＮ、ＦｌｅｘＲａｙ、及びイーサネットなどの１つ又は複数のデータ通信インターフェースを含む単眼カメラ・プラットフォームが含まれる。
【００５６】
正面向きワイド・ビュー・カメラ（７３）は、周囲から視野に入る物体（例えば、歩行者、交差点、又は自転車）を知覚するために使用され得る。当業者に知られているように、他のワイド・ビュー・カメラ及びレンズが使用されてもよい。
【００５７】
好ましい実施例では、ロング・ビュー・ステレオ・カメラ・ペア（７４）は、深度ベースの物体検出、特にニューラル・ネットワークによってまだ訓練されていない物体の検出に使用され得る。ロング・ビュー・ステレオ・カメラ（７４）は、物体の検出及び分類、並びに基本的な物体追跡にも使用され得る。自動車アプリケーション用ステレオ・カメラは、プログラマブル論理（「ＦＰＧＡ」）と、統合されたＣＡＮ又はイーサネットのインターフェースとを単一チップ上に有するマルチ・コア・マイクロプロセッサとを設けた１つのスケーラブルな処理ユニットを備える、統合制御ユニットを含み得る。ユニットは、画像内のすべての地点に対する距離推定を含む、車両の環境の正確な３Ｄマップを生成する。
【００５８】
同様に、適切な代替手段は、２つのカメラ・レンズ（左右に１つずつ）と、車両から目標物体までの距離を測定するように構成され得、且つ自動緊急ブレーキ及び車線逸脱警告機能をアクティブにするように設計された画像処理チップとから構成された、コンパクト・ステレオ・ビジョン・センサを含む。当業者に知られているように、本技術を実践するために他のステレオ・カメラが使用されてもよい。
【００５９】
サイド・カメラ（７２）はサラウンド・ビュー用に使用され、占有グリッドを作成及び更新するために使用される情報、並びに側面衝突の警告を提供することができる。好ましい実施例では、４台のワイド／魚眼ビュー・カメラが使用され、車両の前面、後面、及び側面に配置される。代替として、車両は、３台の物理的な周囲専用カメラ（７２）（周囲左、右、後）を使用し、物理的なフロント・ワイド・カメラ（７３）を４台目の論理的なサラウンド・ビュー・カメラとして活用してもよい。ウィング・ミラー・アセンブリが使用される場合、これらは通常、カメラの取付けプレートがウィング・ミラー（７１）の形状と一致するようにカスタム３Ｄ印刷される。例示的な設計は、カメラを従来のミラーに統合し、より広い視野を提供する。サイド・カメラは、キャビンの各コーナーにある４本の柱に配置されてもよい。
【００６０】
リア・カメラは、駐車支援、サラウンド・ビュー、後方衝突警告、並びに占有グリッドの作成及び更新のために使用され得る。正面向きカメラとしても適したカメラを含む、多種多様なカメラが使用されてよい。リア・カメラは、上記のタイプのステレオ・カメラ（７４）とすることもできる。
【００６１】
本明細書に提供されるカメラ・タイプは、制限なく提供されている実例である。およそどのタイプのデジタル・カメラも、本技術と共に使用するために適合され得る。代替のカメラは、（限定されないが）６０ｆｐｓでグローバル・シャッターを含む任意の利用可能なタイプとすることができる。好ましくは、カラー・フィルタ・パターンはＲＣＣＢであり、感度を高めるためにクリア・ピクセル・カメラが使用される。以下で説明するように、本技術は、冗長設計又はフェイル・セーフ設計の一部として既知のＡＤＡＳ機能を実行するために設置されたカメラも含むこともできる。例えば、車線逸脱警告、交通標識支援、及びインテリジェント・ヘッドランプ制御を含む機能を提供するために、多機能モノ・カメラが設置されてもよい。
【００６２】
好ましい実施例では、すべてのカメラが同時にビデオ情報を記録及び提供する。（フロント・ガラス・ミラーで反射されたダッシュボードからの反射が主な懸念事項であるので）迷光だけでなく、カメラのデータ捕捉に干渉する可能性がある車内からの反射も遮断するために、すべてのカメラがカスタム設計（３Ｄ印刷）アセンブリに取り付けられることが好ましい。典型的なカメラの機能安全レベルは、ＡＳＩＬ  Ｂである。
【００６３】
２．ＬＩＤＡＲ
自律運転車両（５０）は、物体及び歩行者の検出、緊急ブレーキ、並びに衝突回避のためにしばしば使用される１つ又は複数のＬＩＤＡＲセンサ（７０）を含むことが好ましい。ＬＩＤＡＲセンサは、短レーザ・パルスがセンサから物体に移動して戻るまでの飛行時間（「ＴｏＦ：Ｔｉｍｅ  ｏｆ  Ｆｌｉｇｈｔ」）を測定し、既知の光速から距離を計算することによって、距離を測定する。ＬＩＤＡＲは、より小さい物体を検出し、比較的見通しが良い大気条件下で距離を検出するのに効果的である。しかし、ＬＩＤＡＲは悪天候ではうまく機能せず、泥又はほこりの多い物体など反射しない物体の検出にはあまり効果的ではない。したがって、レーダとは異なり、ＬＩＤＡＲセンサは通常、見通しが良く遮るものがない視線を有していなければならず、センサは、汚れ、ほこり、又は他の障害物によって隠れてはならない。
【００６４】
好ましい実施例では、車両（５０）は、ギガビット・イーサネット・スイッチにデータを提供する、イーサネット用に事前に配線された６つの周囲ＬＩＤＡＲセンサを有するが、より多い又はより少ない数のＬＩＤＡＲセンサが使用されてもよい。
【００６５】
本技術と共に多くの異なるタイプのＬＩＤＡＲ技術が使用されてもよい。一実施例では、使用されるＬＩＤＡＲセンサは、視野３６０度での物体及びそれらの距離のリストを提供することが可能である。代替の実施例では、水平視野３６０度を提供するＬＩＤＡＲセンサ。商用のＬＩＤＡＲセンサは、宣伝されている距離が約１００ｍであり、精度２〜３ｃｍ、（例えば）１００Ｍｂｐｓイーサネット接続のサポートを備える場合がある。
【００６６】
さらに別の実施例では、１つ又は複数の非突出ＬＩＤＡＲセンサが使用され得る。これらの実施例は、小型デバイスとして実装されたセンサを含み、このセンサは、車両の前面、側面、及びコーナーに埋め込まれる場合があり、最大で水平視野１２０度及び垂直視野３５度を提供し、低反射率の物体でも距離２００メートル、自動車完全性安全レベル評価ＡＳＩＬ  Ｂを備えるものとして宣伝されている。一般に、前面搭載ＬＩＤＡＲは、水平視野が４５度から１３５度の間で構成されることが好ましい。
【００６７】
別の実施例では、３ＤフラッシュＬＩＤＡＲなどのより新しいＬＩＤＡＲ技術も使用され得る。３ＤフラッシュＬＩＤＡＲは、レーザの光を送信源として使用して、車両周囲の約２００ｍを照射する。フラッシュＬＩＤＡＲユニットは、レーザ・パルスの通過時間及び各画素の反射光を記録するレセプタを含み、それにより、車両から物体までの距離に対応する。フラッシュＬＩＤＡＲにより、すべてのレーザ光を用いて、高精度で歪みのない周囲の画像を生成することができる。好ましい実施例では、自動運転車両の各側に１つずつ、４つのフラッシュＬＩＤＡＲが配備される。利用可能な３ＤフラッシュＬＩＤＡＲシステムは、ファン以外に可動部がない、言い換えれば、走査型ＬＩＤＡＲデバイスではない、ソリッド・ステートの３Ｄ凝視アレイＬＩＤＡＲカメラを含む。非限定的な一実例では、フラッシュＬＩＤＡＲデバイスは、フレーム当たり５ナノ秒のクラスＩの（目に安全な）レーザ・パルスを使用し、３Ｄ距離点群及び共同登録された強度データの形式で、反射したレーザ光を捕捉する。フラッシュＬＩＤＡＲは可動部がないソリッド・ステート・デバイスであるので、モーション・ブラー、振動、及び衝撃の影響を受けにくい。ＬＩＤＡＲの機能安全レベルは通常ＡＳＩＬ  Ｂである。
【００６８】
３．超音波センサ
自律運転車両（５０）は、１つ又は複数の超音波センサ（６６）を含むことが好ましい。前面、後面、さらには側面に配置される超音波センサは、駐車支援のために、且つ占有グリッドを作成及び更新するために最もよく使用される。しかし、ソナーの有用性は、高速では損なわれ、低速でも作動距離は約２メートルに制限される。多種多様な超音波センサが使用されてよい。適切な超音波センサは、様々な検出距離（例えば、２．５ｍ、４ｍ）用に設計され得る。典型的な超音波センサの機能安全レベルは、ＡＳＩＬ  Ｂである。
【００６９】
４．赤外線（熱）センサ
特定の実施例では、特に暗闇の中及び霧を通して物体を検出、分類、及び識別する車両の能力を高めるために、自律運転車両（５０）は１つ又は複数の赤外線カメラ又は熱カメラ（７５）を含むことが好ましい。本技術は、アクティブ赤外線システム又はパッシブ赤外線システムのいずれかを含むことができる。アクティブ・システムは、ゲーティングされる手法又はゲーティングされない手法のいずれかを使用して、赤外線光源を用いて車両の周囲を赤外線で照射する。ゲーティングされるアクティブ・システムは、パルス赤外線光源及び同期赤外線カメラを使用する。アクティブ・システムは赤外線光源を使用するので、歩行者、自転車に乗った人、及び動物などの生物を検出する際は十分に機能しない。
【００７０】
パッシブ赤外線システムは、サーモグラフィック・カメラを使用して、物体によって放出された熱放射を検出する。パッシブ赤外線システムは、生物を検出する際にうまく機能するが、特に暖かい天候では十分に機能しない。パッシブ赤外線システムは、一般にアクティブ赤外線システムよりも低い解像度で画像を提供する。赤外線システムは熱を検出するので、特に人及び動物を検出する車両の能力を高め、車両の信頼性を向上させ、安全性を高める。
【００７１】
本技術と共に多種多様な赤外線センサが使用されてもよい。適切な赤外線システムには、（実装例では）視野３６度、人に対する有効距離が３００ｍ、自動車などの熱を放出するより大きな物体に対しては約２倍の有効距離で３２０×２４０画素の画像を作成する、コンパクト・サーマル・イメージング・カメラが含まれるが、これに限定されない。ズーム能力を含む追加の変形形態を必要とする用途では、長波長赤外線（「ＬＷＩＲ：ｌｏｎｇｗａｖｅ  ｉｎｆｒａｒｅｄ」）サーマル・カメラ・コアが使用され得る。代替として、特に開発車両の場合、赤外線センサには、標準のＵＳＢ接続又は任意の適切なデータ通信規格を介して分析を提供する熱データ・ポートが装備され得る。典型的な赤外線カメラの機能安全レベルは、ＡＳＩＬ  Ｂである。
【００７２】
５．レーダ
自律運転車両（５０）は、１つ又は複数のレーダ・センサ（６８）を含むことが好ましい。レーダは長距離の車両検出によく適しており、近接する車の検出はソナーを用いて解決され得る。一般に、レーダは距離を正確に検出するので、暗闇及び悪天候の条件下でも機能する。しかし、レーダは、マンホール蓋、大きな缶、排水格子、及び他の金属製の物体を含む誤検知を起こしやすい。加えて、レーダは、方位に関する有意義な情報を提供せず、横方向の位置ではしばしば不正確であり、これは湾曲した高速道路及び急カーブにとって問題である。
【００７３】
本技術と共に多種多様なレーダ・センサが使用されてもよい。レーダ・センサは、制御のため及び物体追跡データへアクセスするためにＣＡＮを使用し、生データにアクセスするために任意選択のイーサネットを用いることが好ましい。車（５０）は、サイド・レーダ・センサも有することが好ましく、レーダ・センサからのデータは、ＣＡＮバスを介して提供される。
【００７４】
適切なセンサには、前方及び後方の両方のレーダ検出範囲に使用され得るレーダ・センサが含まれるが、これに限定されない。他の適切なセンサには、複数の構成、すなわち、より長距離でより狭視野である構成と、より短距離でより広視野である構成とを有することができる、パルス・ドップラー・レーダが含まれ得る。特定の構成に応じて、より少ない、より多い、又は代替の構成も可能である。他の実施例では、レーダ・センサは、側方のより短距離の検出範囲を提供するために使用され得る。センサが側方の検出範囲用に使用される場合、センサを使用して物体追跡及び車線割当て機能を提供することができる。
【００７５】
長距離レーダは、ＡＣＣ機能用にしばしば使用され、短距離及び中距離レーダは、交差交通警報（正面向きレーダの場合）、死角検出、及び後方衝突警告にしばしば使用される。適切な長距離レーダ・システムには、約２５０ｍ距離で、２つの独立した走査によって実現される広範な視野を提供するレーダ・システムが含まれるが、これに限定されない。例示的な実施例は、静止物体と移動物体を区別するセンサを含むことができ、緊急ブレーキ支援用又は前方衝突警告用の従来のＡＤＡＳで使用され得る。
【００７６】
他の適切な長距離レーダ・システムには、複数（例えば、６本以上）の固定レーダ・アンテナと高速ＣＡＮ及びＦｌｅｘＲａｙインターフェースとを備えたモノスタティック・マルチモーダル・レーダが含まれるが、これに限定されない。中央の４本のアンテナは、隣接する車線の交通からの干渉を最小限に抑えて車両の周囲を高速で記録するように設計される、集束ビーム・パターンを作成する。外側の２本のアンテナは視野を拡大し、車両の車線に出入りする車両を迅速に検出することを可能にする。
【００７７】
中距離レーダ・システムは、最大距離１６０ｍ（前方）又は８０ｍ（後方）、及び最大視野４２度（前方）又は１５０度（後方）を有する。適切な短距離レーダ・システムには、リア・バンパの両端に設置されるように設計されたレーダ・センサが含まれるが、これに限定されない。このようなレーダ・センサ・システムは、リア・バンパの両端に設置されると、後方の死角、及び車両の隣の死角を常にモニタする２つのビームを作成する。例示的な短距離レーダ・システムは、死角検出用又は車線変更支援用の従来のＡＤＡＳシステムで使用され得る。典型的なレーダ機能安全レベルは、ＡＳＩＬ  Ｂである。
【００７８】
６．ＧＰＳ
自律運転車両（５０）は、マッピング、知覚、占有グリッド、及び経路計画機能を支援するために、ＧＰＳ及び／又は補助ＧＰＳ（「ａＧＰＳ：ａｓｓｉｓｔｅｄ  ＧＰＳ」）を含むＧＰＳセンサ（７６）を含むことが好ましい。イーサネットとシリアル（ＲＳ−２３２）のブリッジを備えたＵＳＢコネクタを使用するＧＰＳを含むがこれに限定されない、任意の数の異なるＧＰＳセンサ及びコネクタが使用されてよい。
【００７９】
７．慣性測定単位（ＩＭＵ）
自律運転車両（５０）は、加速度計、ジャイロスコープ、及び磁力計などの慣性測定ユニット・センサ（ＩＭＵ）（８２）を含むことが好ましい。ＩＭＵ（８２）は、車両（５０）の後車軸の中心に配置されることが好ましい。
【００８０】
本技術を制限することなく、様々な異なるＩＭＵセンサが使用され得る。例えば、実施例は、６軸アプリケーション（加速度計及びジャイロスコープ）及び９軸アプリケーション（加速度計、ジャイロスコープ、及び磁力計）を含み得る。代替として、磁力計を使用するのではなく、ＩＭＵ（８２）は、ＭＥＭＳ慣性センサと、高感度ＧＰＳレシーバと、位置、速度、及び姿勢の最適な推定を提供するための拡張カルマン・フィルタリング・アルゴリズムとを組み合わせる、小型の高性能ＧＰＳ補強型慣性航法システム（ＧＰＳ／ＩＮＳ：ＧＰＳ−Ａｉｄｅｄ  Ｉｎｅｒｔｉａｌ  Ｎａｖｉｇａｔｉｏｎ  Ｓｙｓｔｅｍ）として実装され得る。実装例は、ＧＰＳから慣性センサまでの速度の変化を直接観測して相関させることによって、磁気センサからの入力を必要とせずに進行方向を推定することができる。代替として、ＩＭＵ（８２）及びＧＰＳ（７６）は、単一の統合ユニットに組み合わされてもよい。
【００８１】
８．ワイヤレス接続及びネットワーク・アクセス
レベル３〜５の機能は、車両が運転するときに継続的に学習することを車両に要求し、理想的には、レベル３〜５の車両は、車両自体の経験だけでなく、道路上の他の車両の経験からも学習する。したがって、自律運転車両（５０）は、外部ネットワーク及び他の車両へのワイヤレス接続のためのワイヤレス・モデム（１０３）及びアンテナ（１０１）を含むことが好ましい。
【００８２】
各レベル３〜５の車両によって収集されたデータは、セルラー・ネットワーク又は他の地上ネットワーク（利用可能な場合はＬＴＥ、ＷＣＤＭＡ（登録商標）、ＵＭＴＳ、ＣＤＭＡ２０００、ＨＳＰＡ＋、ＧＳＭ、又は衛星無線ネットワークなど）を介して、ディープ・ラーニング・スーパーコンピュータを含むクラウド・ベースのインフラストラクチャに転送されるべきである。代替として、データは、駐車場、給油所、及び／又は停止信号までも含むＷｉＦｉを備えたワイヤレス・ホットスポットを介してクラウドに転送されてよい。パケットが小さい場合は、ページング・ネットワーク・インフラストラクチャが使用されてもよい。車両（５０）によってネットワークに提供されるデータは、カメラ画像、ＬＩＤＡＲデータ、超音波センサ・データ、及びレーダ・データを含み得るが、これらに限定されない。
【００８３】
好ましい実施例では、クラウド・ベースのディープ・ラーニング・インフラストラクチャは、人工知能を使用して、車両から受信したデータを分析し、それをリアル・タイムのインテリジェント推論のための最新のリアル・タイム・ニューラル・ネットワークに組み込む。好ましい実施例では、ネットワーク・インフラストラクチャは、図６に示すように、ディープ・ラーニング用のＧＰＵを備えたデータセンタを使用する。
【００８４】
図６に示すように、クラウド・ベースのディープ・ラーニング・インフラストラクチャは、ワイヤレス・ネットワークのアップリンク（１１０１）及びダウンリンク（１１０２）を介して自律運転車両（５０）に更新を提供する。車両（５０）に提供される更新には、高精度地図すなわちＨＤ地図（１００２）に対する更新、及びコントローラ（１００）内のメモリに読み込まれた１つ又は複数のニューラル・ネットワーク（１００１）に対する修正が含まれる場合があり、この修正には、現地の他の車両から受け取った新しい訓練及び経験によって、又はネットワーク・データセンタで実行された訓練によって生じる更新が含まれ得る。地図更新（１００２）は、建設現場、道路の穴、迂回路、洪水、及び他の障害物に関する情報を含み得る更新されたＨＤ地図情報をさらに含む場合がある。
【００８５】
各レベル３〜５の車両によって収集されたデータは、セルラー・ネットワーク又は他のワイヤレス・ネットワーク（利用可能な場合はＬＴＥなど）を介して、ディープ・ラーニング・スーパーコンピュータ・サーバを含むクラウド・ベースのインフラストラクチャに転送されるべきである。ディープ・ラーニング・インフラストラクチャは、人工知能を使用してデータを分析し、それをリアル・タイムのインテリジェント推論のための最新のリアル・タイム・ニューラル・ネットワークに組み込む。
【００８６】
ディープ・ラーニング・インフラストラクチャは、ＧＰＵ技術を含むことが好ましい。ディープ・ラーニング・スーパーコンピュータは、ＧＰＵを搭載したサーバ、並びに／又はＮＶＩＤＩＡ  Ｃｏｒｐｏｒａｔｉｏｎによって開発されたＤＧＸ及びＤＧＸステーション・マシンなどの専用ＡＩコンピュータを含むことが好ましい。代替として、本技術は、ＣＰＵ搭載のデータセンタのみを使用するディープ・ラーニング・インフラストラクチャを用いて実践されてもよい。
【００８７】
ディープ・ラーニング・インフラストラクチャは、高速でリアル・タイムの推論が可能であり、その能力を使用して、車両（５０）内のプロセッサ、ソフトウェア、及び関連ハードウェアの状態を評価及び検証することができる。例えば、ディープ・ラーニング・インフラストラクチャは、画像のシーケンスと、その画像のシーケンスにおいて車両（５０）が（コンピュータ・ビジョン又は他の機械学習物体分類技法を介して）位置特定した物体とを含む定期的な更新を、車両（５０）から受け取ることが好ましい。ディープ・ラーニング・インフラストラクチャは、それ自体のニューラル・ネットワークを実行して物体を識別し、それらを車両（５０）によって識別された物体と比較し、結果が一致せず、インフラストラクチャが車両（５０）内のＡＩが誤動作していると判断した場合、車両（５０）に信号を送信して、フェイル・セーフ・コンピュータに、制御を担い、乗員に通知し、安全な駐車操作を完了するように指示することができる。
【００８８】
推論については、インフラストラクチャは、ＧＰＵを搭載したサーバと、ＮＶＩＤＩＡのＴｅｎｓｏｒＲＴ  ３などの１つ又は複数のプログラム可能な推論アクセラレータとを含むことが好ましい。ＧＰＵ搭載サーバと推論アクセラレーションの組合せにより、リアル・タイムの応答性が可能になる。代替として、性能がそれほど重要ではないとき、ＣＰＵ、ＦＰＧＡ、及び他のプロセッサを搭載したサーバが推論に使用されてよいが、それらは、ＧＰＵ／ＴｅｎｓｏｒＲＴ  ３ソリューションを搭載したサーバの性能を下回るので、好ましくない。
【００８９】
図６は、車両（５０）がワイヤレス・ネットワークを介して情報を提供し受け取る一実施例を示す。クラウド・ベースのインフラストラクチャ（５０００）は、複数のＧＰＵ搭載サーバ（５００１、５００２、．．．５００Ｎ）を含む。図６に示す好ましい実施例では、各ＧＰＵ搭載サーバは、高速相互接続（８０５）（ＮＶＩＤＩＡによって開発されたＮＶＬｉｎｋインターフェースなどであるが、これに限定されない）と、ＰＣＩｅ接続（９０２）とで相互接続された、複数のＧＰＵ（８０２）、ＰＣＩｅスイッチ（８０４）、及びＣＰＵ（９０１）を備える。他の実施例では、各サーバは、ＮＶＬｉｎｋ及び／又はＮＶＳｗｉｔｃｈ  ＳｏＣなどの高速相互接続で接続された複数の（例えば、１６、３２、又はそれより多い）ＧＰＵを備えることができる。ワイヤレス・アップリンク（１１０１）において、車両（５０）は、最近開始された道路工事などの予期しない又は変更された道路状況（１００３）を示す画像をアップロードする。ワイヤレス・ダウンリンク（１１０２）において、車両は、更新されたニューラル・ネットワーク（１００１）、並びに交通状況及び道路状況に関する情報を含む地図情報（１００２）をダウンロードする。
【００９０】
９．追加のセンサ及びシステム
上記のセンサに加えて、自動運転車両は、他のセンサ、ＡＤＡＳシステム、及び警告システムを含み得る。このようなシステムには、車両のタイヤにおいて空気圧が低下したときに自動的に検出するシステムが含まれるが、これに限定されない。空気圧低下警告システムは、単純なセンサを使用してタイヤ（８０）の角速度を測定し、角速度は、タイヤが収縮して小さくなるにつれて増加する。空気圧低下警告システムは、タイヤの振動数（８５）も測定し、振動数は、タイヤの空気圧が低下すると変化する。
【００９１】
車両（５０）は、駆動軸速度（８０）とタイヤ振動（８５）との差を使用して滑りやすい道路の存在を判定する、滑りやすい道路検出のための他の利用可能なシステムを組み込んでもよい。利用可能なシステムには、滑りやすい道路検出システムが含まれる。例示的な滑りやすい道路検出システムは、様々な運転状況における駆動軸と自由回転車軸の速度の差を推定するために使用され得、これにより摩擦のレベルを推測して、凍結した道路又は滑りやすい道路を識別することができる。同様に、代替のソリューションは、乾いたアスファルト道路などの滑りにくい道路で収集されたデータを、滑りやすい道路で収集されたデータと比較する。センサは、回転速度及び振動数を、乾いたアスファルト道路で測定されたものと比較し、凍結した道路又は滑りやすい道路を識別する。
【００９２】
本技術と共に多数のソフトウェア製品が使用されてもよく、それらには、車輪速度などの既存の自動車グレードのセンサからの信号を使用してリアル・タイムで道路の摩擦を継続的にモニタして、道路の摩擦及び粗さを決定し、速度バンプを検出し、可能性のある道路の穴の影響の損傷評価をする、ソフトウェア・システムが含まれる。他のシステムには、タイヤ圧インジケータ（「ＴＰＩ：Ｔｉｒｅ  Ｐｒｅｓｓｕｒｅ  Ｉｎｄｉｃａｔｏｒ」）、及び相対回転半径情報とホイール振動測定の両方を使用して空気圧不足を検出できる間接タイヤ圧モニタリング・システム（「ＴＰＭＳ：ｔｉｒｅ−ｐｒｅｓｓｕｒｅ  ｍｏｎｉｔｏｒｉｎｇ  ｓｙｓｔｅｍ」）が含まれる。例示的なＴＰＩ及びＴＰＭＳシステムは、主にアンチ・ロック・ブレーキ・システム（「ＡＢＳ：ａｎｔｉ−ｌｏｃｋ  ｂｒａｋｉｎｇ  ｓｙｓｔｅｍ」）（６０）及び電子安定性制御システム（「ＥＳＣ：ｅｌｅｃｔｒｏｎｉｃ  ｓｔａｂｉｌｉｔｙ  ｃｏｎｔｒｏｌ」）の一部である車輪速度センサの信号からタイヤ圧を推定する。ＴＰＩは、車両ですでに利用可能な信号を使用し、１本又は複数のタイヤの空気が低下しているかどうかを検出する。計算は、車両モデル、並びに多数の高性能信号処理アルゴリズム及びセンサ・フュージョン・アルゴリズムに基づく。ルーズ・ホイール・インジケータ（「ＬＷＩ：Ｌｏｏｓｅ  Ｗｈｅｅｌ  Ｉｎｄｉｃａｔｏｒ」）は、ＡＢＳ及びＥＳＣシステムからの情報を使用して車輪のボルト／ナットが車輪位置で緩んだことを検出するために含まれる場合があり、タイヤ・グリップ・インジケータ（「ＴＧＩ：Ｔｉｒｅ  Ｇｒｉｐ  Ｉｎｄｉｃａｔｏｒ」）は、道路とタイヤの間の得られる摩擦を常に推定する。
【００９３】
本技術は、滑りやすい道路状態を検出するためのセンサ及び／又はシステムを含む他の安全システムと共に使用されてもよい。ロード・アイは、氷と水とで異なって吸収されるいくつかの赤外線レーザ波長において道路の反射率を測定する。
【００９４】
これらの実例は、ＡＳＩＬ  Ｄ安全レベルでレベル３〜５の全性能を実現するために使用され得る、可能なセンサ及びシステムのごく一部にすぎない。自動運転システムは、カメラ、レーダ、ＬＩＤＡＲ、超音波、赤外線、ＧＰＳ、ＩＭＵ及び／又はＨＤ地図からの大量のデータをリアル・タイムで処理し、車を安全に、確実に、且つ快適に制御するためのコマンドを生成できなければならない。自動運転システムは、変化する状況に対して車両が瞬時に正しく反応することを保証しなければならない。この困難なタスクには、例えば「自動運転車両用のシステム・アーキテクチャ及びハードウェア」及び「本技術を使用した自律運転車両の追加の実例」というセクションにおいて以下で詳細に説明する、高性能ＡＩ機能、複数のニューラル・ネットワーク、高性能ＣＰＵ、ＧＰＵ、及びハードウェア・アクセラレータ機能を提供する、新しいスーパーコンピュータ・プラットフォームが必要である。
【００９５】
Ｂ．自動運転車両用のシステム・アーキテクチャ及びハードウェア
１．本技術を実行するためのＡＩスーパーコンピュータ・プラットフォーム
自律運転機能は、多数の別個の機能を迅速に、正確に、安全に、及び効率的に実行できるスーパーコンピュータを必要とするので、単一のプロセッサでレベル３〜５の自動運転車両機能を提供することはできない。むしろ、本技術を実行するための高性能プラットフォーム及び高性能ＳｏＣは、複数のタイプのプロセッサを有し、「作業に適したツール」、及び機能安全のための処理の多様性を提供することが好ましい。例えば、ＧＰＵはより高精度のタスクによく適している。一方、ハードウェア・アクセラレータは、機能のより特有のセットを実行するように最適化され得る。複数のプロセッサを組み合わせたものを提供することによって、高性能プラットフォーム及び高性能ＳｏＣは、レベル３〜５の自動運転車両に関連する複雑な機能を迅速に、確実に、効率的に実行できるツールの完全なセットを含む。
【００９６】
図７は、自動運転システム及び半自動運転システムに必要なコンピューティング処理能力を提供する高性能プラットフォーム（１００）の例示的な上位レベル図である。
【００９７】
プラットフォーム（１００）は、図７に示すコンポーネント（２００〜５００）のうちの１つ又は複数に対して別個の個別コンポーネントを使用して実装され得る。プラットフォーム（１００）は、小型で強力且つ効率的なＳｏＣにおいて、単一のダイ上に実装されているコンポーネント（２００〜５００）と共に実装されることが好ましい。プラットフォーム（１００）及びＳｏＣは、以下でさらに詳述するように、図７に示していない他のコンポーネントを含むこともできる。
【００９８】
上位レベルでは、ＣＰＵ（２００）は、それぞれが１つ又は複数のＣＰＵコアを備える１つ又は複数の汎用中央処理装置（ＣＰＵ）とすることができる。ＧＰＵ（３００）は、それぞれが数千のＧＰＵコアを備える１つ又は複数のグラフィックス処理ユニット（ＧＰＵ）とすることができる。各ＧＰＵは、任意の高度な処理タスク、特に超並列処理から利益を得る複雑なタスクに使用され得る。各ＧＰＵは通常、そのようなコンピュータ・グラフィックス及び並列処理に対して、各ＣＰＵよりもワット当たりの性能が優れている。
【００９９】
プラットフォーム（１００）は、それぞれが異なる機能又は機能の異なるカテゴリ用に最適化された、様々な異なるハードウェア・アクセラレータで構成され得る加速クラスタ（４００）を含む。
【０１００】
例えば、特定の非限定的な実施例では、加速クラスタ（４００）は、中程度の距離での車線検出及び冗長物体検出のために、コンピュータ・ビジョン・アルゴリズムを実行するためのモジュールを含み得る。モジュールは、１つ又は複数の埋め込みプログラマブル・ビジョン・アクセラレータ（「ＰＶＡ」）を含むことができ、これらはＩ／Ｏ（１７０）を介して１つ又は複数のセンサ（例えば、カメラ、レーダ、ＬＩＤＡＲ）から受信したセンサ・データ（例えば、カメラ、レーダ、ＬＩＤＡＲからのデータ）からの知覚タスク用に最適化され得る。各ＰＶＡは通常、このような知覚データ処理に対して、各ＣＰＵ又はＧＰＵよりもワット当たりの性能が優れている。加速クラスタ（４００）は、１つ又は複数のディープ・ラーニング・アクセラレータ（「ＤＬＡ」）も含み得る。各ＤＬＡは、汎用のＣＰＵ、ＧＰＵ、又はＦＰＧＡで実行した場合と同じネットワークよりもワット当たりの性能が高い特定のニューラル・ネットワークを実行するように設計され得る。例えば、１つ又は複数のＤＬＡは、Ｉ／Ｏ（１７０）を介して１つ又は複数のセンサ（例えば、カメラ、レーダ、ＬＩＤＡＲ）から受信した知覚データ（例えば、カメラ、レーダ、ＬＩＤＡＲからのデータ）中の特徴を検出するための畳み込みニューラル・ネットワーク（「ＣＮＮ：ｃｏｎｖｏｌｕｔｉｏｎａｌ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ」）を処理するように特別に設計され得る。
【０１０１】
プラットフォーム（１００）は、ＲＡＭ、ＳＲＡＭ、ＤＲＡＭ、ＶＲＡＭ、フラッシュ、ハード・ディスク、並びに少なくとも１ビットのデータを格納できる他のコンポーネント及びデバイスを含む１つ又は複数のストレージ要素から構成され得るストレージ（５００）をさらに含む。ストレージ（５００）は、オン・チップ・ストレージを含むことが好ましく、ＣＰＵ（２００）及び／又はＧＰＵ（３００）と共に使用するためのＬ２又はＬ３キャッシュを備え得る。
【０１０２】
入力／出力（１７０）は、ディスプレイ、センサ、キーボード、及びユーザ・インターフェース・デバイスを含む１つ又は複数の入力デバイス及び／又は出力デバイスにデータ（例えば、コマンド、応答、情報）を通信するための、１つ又は複数の入力／出力（Ｉ／Ｏ）インターフェース（及び／又はそのようなインターフェースを実装するコンポーネント）とすることができる。
【０１０３】
バス（１６０）は、コンポーネント（２００〜５００）がＩ／Ｏ（１７０）を介して相互に、また同様に入力デバイス及び／又は出力デバイスとデータ（例えば、コマンド、応答、情報）を交換することを可能にする、１つ又は複数のリンクとすることができる。バス（１６０）は、イーサネット、ＣＡＮ、Ｉ２Ｃバス、又はＰＣエクスプレス・バスを含むがこれらに限定されない、１つ又は複数のバス規格、スイッチ、及びネットワークを備えることができる。
【０１０４】
２．本技術を実行するための高性能システム・オン・チップ
好ましい実施例では、プラットフォーム（１００）は高性能ＳｏＣを備える。本技術の高性能ＳｏＣは自律運転車専用に構築されており、モバイル・チップ、又は自動車用に転用されたデスクトップではない。むしろ、ＳｏＣはＬ３〜５の機能用に最適化された特定の機能を備えた自律運転車で使用するために設計されたＡＩスーパーコンピュータである。ＳｏＣは、ＩＳＯ２６２６２機能安全仕様などの重要な自動車規格に適合するように設計されることが好ましい。好ましい実施例では、高性能ＳｏＣは少なくともＡＳＩＬ  Ｃの機能安全レベルを有する。
【０１０５】
図８及び図９は、本技術を実行するための好ましい実施例についての高性能ＳｏＣ（１００）の上位レベル図である。
【０１０６】
ａ）ＣＰＵ複合体
図８及び図９に示すように、ＳｏＣは、本明細書で「ＣＰＵ」又は「ＣＣＰＬＥＸ」と呼ばれる高速ＣＰＵクラスタ又はＣＰＵ複合体（２００）を含む。ＣＣＰＬＥＸは一般に、複数のＣＰＵコア（２０１）及び関連するＬ２キャッシュ（２０２）を含む直列作業の実行を担当する。一実施例では、ＣＣＰＬＥＸは、コヒーレント・マルチプロセッサ構成（２００）に８つのＣＰＵコア（２０１）を含む。ＣＣＰＬＥＸは同時クラスタ動作をサポートしており、クラスタの任意の組合せが、任意の所与の時間にアクティブになり得ることを意味する。
【０１０７】
一実施例では、ＣＰＵコアは、４つのデュアル・コア・クラスタとして編成され、各クラスタは、２ＭＢの専用のレベル２（Ｌ２）ユニファイド・キャッシュ（２０２）を有する。加えて、高速コヒーレンシ・ファブリックは、これらのプロセッサ複合体を接続し、必要に応じて８つのコアすべてでヘテロジニアス・マルチ・プロセッシングを可能にすることが好ましい。
【０１０８】
ＣＣＰＬＥＸ（２００）は、以下の特徴、すなわち（１）動的電力を節約するために、個々のハードウェア・ブロックは、アイドル時に自動的にクロック・ゲーティングされ得る、（２）ＷＦＩ／ＷＦＥ命令の実行によりコアが命令をアクティブに実行していないとき、各コア・クロックはゲーティングされ得る、（３）各コアは独立してパワー・ゲーティングされ得る、（４）すべてのコアがクロック・ゲーティング又はパワー・ゲーティングされるとき、各コア・クラスタは独立してクロック・ゲーティングされ得る及び／又は（５）すべてのコアがパワー・ゲーティングされるとき、各コア・クラスタは独立してパワー・ゲーティングされ得る、という特徴のうちの１つ又は複数を含む、積極的なパワー管理能力を実装することが好ましい。ＣＣＰＬＥＸ（２００）は、パワー状態を管理するための拡張アルゴリズムを実装することが好ましく、そこでは、許容されるパワー状態及び期待されるウェイクアップ時間が指定され、ハードウェア／マイクロコードが、コア、クラスタ、及びＣＣＰＬＥＸに入力するのに最適なパワー状態を決定する。処理コアは、作業がマイクロコードにオフロードされたソフトウェアにおける簡素化されたパワー状態エントリ・シーケンスをサポートする。
【０１０９】
ｂ）ＧＰＵ複合体
図８及び図９に示すように、ＳｏＣは、統合ＧＰＵ又は「ｉＧＰＵ」と呼ばれることもある少なくとも１つのＧＰＵ複合体（３００）を含む。ＧＰＵは、並列作業負荷に対してプログラム可能で効率的であり、拡張テンソル命令セットを使用することが好ましい。ＧＰＵアーキテクチャは、少なくとも８つのストリーミング・マルチプロセッサ（「ＳＭ：ｓｔｒｅａｍｉｎｇ  ｍｕｌｔｉｐｒｏｃｅｓｓｏｒ」）（３０１）を含み、それぞれが少なくとも９６ＫＢのＬＩキャッシュ（図示せず）を有し、少なくとも５１２ＫＢのＬ２キャッシュ（３０２）を共有することが好ましい。ＧＰＵは、ＣＵＤＡを含む広範なコンピュートＡＰＩ及びライブラリを使用することが好ましい。
【０１１０】
ＧＰＵは、自動車及び埋め込みのユース・ケースにおいて最高の性能が得られるように電力が最適化されていることが好ましい。一実施例では、ＧＰＵ（３００）は、ＦｉｎＦＥＴ高性能製造プロセスで製造されるが、他の半導体製造プロセスが使用されてもよい。各ＳＭ（３０１）は、複数（例えば、４つ）の処理ブロックに分割されたいくつかの混合精度処理コア（例えば、６４個のＦＰ３２コアと３２個のＦＰ６４コアであるがこれに限定されない）を組み込むことが好ましい。記載の実装例では、４つの処理ブロックのそれぞれに、１６個のＦＰ３２コア、８個のＦＰ６４コア、１６個のＩＮＴ３２コア、ディープ・ラーニング行列演算用の２つの混合精度Ｔｅｎｓｏｒコア、Ｌ０命令キャッシュ、１個のワープ・スケジューラ、１個のディスパッチ・ユニット、及び６４ＫＢのレジスタ・ファイルを割り当てることができる。好ましい実施例では、ＳＭ（３０１）は、計算及びアドレス指定計算の混合で作業負荷の効率的な実行を提供する、独立並列整数及び浮動小数点データ・パスを含む。ＧＰＵのＳＭは、並列スレッド間で細粒度の同期及び協調を可能にする、独立スレッド・スケジューリング能力を含むことが好ましい。さらに、ＳＭ（３０１）は、性能を大幅に向上させると同時にプログラミングを簡略化する、Ｌ１データ・キャッシュと共有メモリ・ユニットを組み合わせたものを含むことが好ましい。
【０１１１】
ＧＰＵ（３００）は、高帯域幅メモリ（「ＨＢＭ：Ｈｉｇｈ  Ｂａｎｄｗｉｄｔｈ  Ｍｅｍｏｒｙ」）、又は９００ＧＢ／秒のピーク・メモリ帯域幅を提供する１６ＧＢのＨＢＭ２メモリ・サブシステムのいずれかを含むことが好ましい。ＨＢＭ  ＨＢＭ２メモリは、様々なベンダーから入手され得る。代替として、ＧＤＤＲ５メモリが使用されてもよい。
【０１１２】
好ましい実施例では、ＧＰＵ（３００）は、アクセス・カウンタを備えたユニファイド・メモリ技術を含み、アクセス・カウンタにより、メモリ・ページを、最も頻繁にそのメモリ・ページにアクセスするプロセッサにより正確に移行することができ、プロセッサ間で共有されるメモリ範囲の効率が向上する。例示的な一実施例では、アドレス変換サービス（「ＡＴＳ：Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ  Ｓｅｒｖｉｃｅ」）サポートによって、ＧＰＵは、ＣＰＵのページ・テーブルに直接アクセスすることができる。ＧＰＵメモリ管理ユニット（「ＭＭＵ：Ｍｅｍｏｒｙ  Ｍａｎａｇｅｍｅｎｔ  Ｕｎｉｔ」）でミスが発生すると、コントローラはＣＰＵに対してアドレス変換リクエスト（「ＡＴＲ：Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ  Ｒｅｑｕｅｓｔ」）を行い、ＣＰＵはそのページ・テーブル中で、そのアドレスに対する仮想アドレスと物理アドレスのマッピングを検索し、ＧＰＵに変換結果を返す。ユニファイド・メモリは、単一ユニファイド仮想アドレス空間をＣＰＵとＧＰＵのメモリとすることができ、ＧＰＵプログラミング及びＧＰＵへのアプリケーション移植を簡略化する。
【０１１３】
好ましい実施例では、アクセス・カウンタは、他のプロセッサに配置されたメモリにＧＰＵがアクセスする頻度を追跡する。アクセス・カウンタは、ページに最も頻繁にアクセスするプロセッサの物理メモリにメモリ・ページが移動されることを保証するのに役立つ。アクセス・カウンタ機能は、ＮＶＬｉｎｋ接続又はＰＣＩｅ接続されたＧＰＵ−ＣＰＵ又はＧＰＵ−ＧＰＵアーキテクチャ内で動作し、Ｐｏｗｅｒ９、ｘ８６などを含む様々なＣＰＵと共に動作することができる。
【０１１４】
好ましい実施例では、ＳｏＣは、ＣＰＵとＧＰＵの両方に利用可能なレベル３キャッシュ（５００）を含む。Ｌ３キャッシュは、ＭＥＩ状態のラインを追跡できるライト・バック・キャッシュであることが好ましい。理想的には、Ｌ３キャッシュ（５００）は４ＭＢ以上であるが、より小さい又はより大きいキャッシュ・サイズが利用されてもよい。高性能ＳｏＣは、特定の機能向けに設計されたコンポーネントを含んでいるため、ＳｏＣをより高速にし、電力効率及び空間効率を高めることができる。
【０１１５】
いくつかの実施例では、ＧＰＵ３００は、例えば、２０１８年８月１０日に出願された米国特許出願第１６／１０１，２３２号に記載されているような、リアル・タイム・レイ・トレーシング・ハードウェア・ベース・アクセラレーションを含む。このようなレイ・トレーシング・ハードウェア・アクセラレーションは、例えば、以下に記載するようなワールド・モデル、リアル・タイム可視化シミュレーション、レーダ信号解釈、音伝播の合成／分析、ソナー・システムのシミュレーション、一般的な波動伝播シミュレーション、例えば車両の位置特定を目的としたＬＩＤＡＲデータとの比較、及び他の機能内の物体の位置及び範囲を迅速且つ効率的に決定するために使用され得る。
【０１１６】
ｃ）ハードウェア加速クラスタ
図８及び図９に示す好ましい実施例では、高性能ＳｏＣは、最適化されたハードウェア・アクセラレータ及び大型オン・チップ・メモリを含むハードウェア加速クラスタ（４００）を含む。大型オン・チップ・メモリ（好ましい実施例では、４ＭＢのＳＲＡＭ）により、ハードウェア加速クラスタ（４００）は、ニューラル・ネットワーク及び他の計算を高速化することができる。ハードウェア加速クラスタ（４００）は、ＧＰＵを補完し、ＧＰＵからいくつかのタスクをオフロードするために利用可能である。例えば、アクセラレータは、プログラマブルに対して、加速及びＡＰＩに対応できるほど十分に安定した、目標とされる作業負荷（知覚、ＣＮＮ）について機能する。アクセラレータは、ＧＰＵをオフロードして、他の作業のためにより多くのＧＰＵサイクルを解放することができる。
【０１１７】
（１）ディープ・ラーニング・アクセラレータ
好ましい実施例では、ハードウェア加速クラスタ（４００）は、ディープ・ラーニング・アプリケーション及び推論に、毎秒１０兆回の演算（「ＴＯＰ：Ｔｒｉｌｌｉｏｎ  Ｏｐｅｒａｔｉｏｎｓ  Ｐｅｒ  Ｓｅｃｏｎｄ」）を追加で提供する、１つ又は複数のテンソル処理ユニット（「ＴＰＵ：Ｔｅｎｓｏｒ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ」）（４０１）（ＴＰＵ０及びＴＰＵ１）を含む。ＴＰＵ（４０１）は、ＮＶＩＤＩＡのＮＶＤＬＡディープ・ラーニング・アクセラレータ設計に基づくことが好ましい。ＴＰＵ（４０１）は、画像処理機能（ＣＮＮ又はＲＣＮＮネットワーク）を実行するためのアクセラレータであり、その画像処理機能のタスク用に最適化されているが、他のディープ・ラーニング（「ＤＬ」）機能（例えば、オーディオ用の再帰型ニューラル・ネットワーク（「ＲＮＮ：ｒｅｃｕｒｒｅｎｔ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ」））用ほど効率的ではない場合がある。ＤＬＡは、ネットワークの特定のセット及び浮動小数点演算用に最適化されている。加えて、ＤＬＡは推論用に設計及び最適化されている。したがって、設計は、汎用ＧＰＵよりも１ミリメートル当たりの性能が高く、ＣＰＵの性能を大幅に上回る。ＴＰＵ（４０１）は、特徴と重みの両方についてのＩＮＴ８／ＩＮＴ１６／ＦＰ１６データ型をサポートする単一インスタンスの畳み込み関数（単一インスタンス）、及びポスト・プロセッサ関数を含む、いくつかの関数を実行することが好ましい。
【０１１８】
ＤＬＡは、任意の様々な機能についての処理済み又は未処理のデータに対して、ニューラル・ネットワーク、特にＣＮＮを迅速且つ効率的に実行することができ、ＣＮＮには、（１）カメラ・センサからのデータを使用した物体の識別及び検出のためのＣＮＮ、（２）カメラ・センサ（７２、７４）からのデータを使用した距離推定のためのＣＮＮ、（３）マイクロホン（１０２）からのデータを使用した緊急車両の検出及び識別及び検出のためのＣＮＮ、（４）カメラ・センサ（７２）からのデータを使用した顔認識及び車両所有者識別のためのＣＮＮ、並びに（５）自律運転バス及び自律運転パトロール・カーの説明における「本技術を使用した自律運転車両の追加の実例」のセクションでさらに詳細に説明するような、セキュリティ及び／又は安全関連のイベントのためのＣＮＮが含まれるが、これらに限定されない。本明細書及び特許請求の範囲で使用される場合、「ＣＮＮ」という用語は、領域ベースの畳み込みニューラル・ネットワーク（Ｒ−ＣＮＮ：ｒｅｇｉｏｎ−ｂａｓｅｄ  ｃｏｎｖｏｌｕｔｉｏｎａｌ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）、及び高速Ｒ−ＣＮＮを含む、物体検出に使用され得るすべてのタイプのＣＮＮを含む。
【０１１９】
しかし、ＤＬＡ（４０１）は、任意の機能を実行することができ、設計者は、推論アクセラレータを使用して、任意の機能に対しＤＬＡ（４０１）又はＧＰＵ（３００）のいずれかをターゲットにすることができる。実際問題として、ＤＬＡは、ＣＮＮ及び浮動小数点演算用に最適化されており、実行可能なものが限られている。
【０１２０】
（２）プログラマブル・ビジョン・アクセラレータ
本技術はニューラル・ネットワークを使用するが、コンピュータ・ビジョンはまた、例えば、車線検出、及び中程度の距離での冗長物体検出において役割を果たす。したがって、ＳｏＣ設計は、コンピュータ・ビジョン・アクセラレータ（４０２）（ＶＡ０、ＶＡ１）を含むことが好ましい。コンピュータ・ビジョン・アクセラレータ（４０２）は、ＮＶＩＤＩＡのプログラマブル・ビジョン・アクセラレータ（「ＰＶＡ：Ｐｒｏｇｒａｍｍａｂｌｅ  Ｖｉｓｉｏｎ  Ａｃｃｅｌｅｒａｔｏｒ」）を使用することが好ましい。ＰＶＡは、先進運転支援システム（「ＡＤＡＳ」）、自動運転、及びＡＲ／ＶＲアプリケーションのためのコンピュータ・ビジョン（「ＣＶ」）アルゴリズムを高速化するように設計されている。例示的なＰＶＡのブロック図を図１０に示す。
【０１２１】
一般に、ＰＶＡ（４０２）は、性能と柔軟性の最適化されたバランスを提供するように設計されている。ＰＶＡ（４０２）のそれぞれは、任意の数の縮小命令セット・コンピュータ（「ＲＩＳＣ：ｒｅｄｕｃｅｄ  ｉｎｓｔｒｕｃｔｉｏｎ  ｓｅｔ  ｃｏｍｐｕｔｅｒ」）コア（４０１０）、ダイレクト・メモリ・アクセス（ＤＭＡ：ｄｉｒｅｃｔ  ｍｅｍｏｒｙ  ａｃｃｅｓｓ）（４０２０）、及び任意の数のベクトル・プロセッサ（４０３０）を含むが、これらに限定されない。いくつかの実施例では、ＲＩＳＣコア（４０１０）はまた、画像センサ、画像信号プロセッサなどと相互作用する。ＲＩＳＣコア（４０１０）のそれぞれは、任意の量及びタイプのメモリ（４０１７）を含むが、これに限定されない。ＲＩＳＣコア（４０１０）は、当技術分野で知られている任意のプロトコルを使用して、技術的に実現可能な任意の方法で動作することができる。例えば、いくつかの実施例では、ＲＩＳＣコア（４０１０）は、リアル・タイム・オペレーティング・システム（「ＲＴＯＳ：ｒｅａｌ−ｔｉｍｅ  ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ」）を実行する。ＲＩＳＣコア（４０１０）は、１つ又は複数の集積回路デバイス、特定用途向け集積回路（ＡＳＩＣ：ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）、若しくはメモリ・デバイスを使用して、又は技術的に実現可能な任意の他の方法で実装され得る。好ましい一実施例では、ＲＩＳＣコアは、命令キャッシュ（４０１５）及び密結合ＲＡＭ（４０１７）を装備することができる。
【０１２２】
ＤＭＡ（４０２０）により、ＰＶＡシステム（４０２）に含まれるコンポーネントは、ＣＰＵ複合体（２００）とは独立してシステム・メモリにアクセスすることができる。ＤＭＡ（４０２０）は、ＰＶＡ（４０２）の性能をさらに最適化する任意の数の他の機能を含むことができる。様々な実施例では、ＤＭＡ（４０２０）は、多次元アドレス指定及び／又は循環アドレス指定をサポートする。より具体的には、いくつかの実施例では、ＤＭＡ（４０２０）は、６次元ものアドレス指定をサポートする。６次元は、例えば、ブロック幅、ブロック高さ、ブロック奥行き、水平ブロック・ステッピング、垂直ブロック・ステッピング、及び奥行きステッピングを含み得る。
【０１２３】
ベクトル・プロセッサ（４０３０）は、プログラミング共通コンピュータ・ビジョン・アルゴリズムを効率的且つ柔軟に実行し、包括的な信号処理機能力を提供するように設計されたプログラマブル・プロセッサである。好ましい実施例では、ＰＶＡは、ＰＶＡコア（「ＰＶＡＣ：ＰＶＡ  ｃｏｒｅ」）（４０５０）及び２つのベクトル処理サブシステム（「ＶＰＳ：Ｖｅｃｔｏｒ  Ｐｒｏｃｅｓｓｉｎｇ  Ｓｕｂｓｙｓｔｅｍ」）パーティション（４０６０）を含む。ＰＶＡＣ（４０５０）は、プロセッサ・サブシステム（４０１０）、２つのＤＭＡエンジン（４０２０）、及び他の周辺機器を含むことが好ましい。ＶＰＳ（４０６０）はＰＶＡ内のメイン処理エンジンであり、ベクトル処理ユニット（「ＶＰＵ：Ｖｅｃｔｏｒ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ」）（４０３０）、その命令キャッシュ（Ｉキャッシュ）（４０３５）、及びベクトル・メモリ（「ＶＭＥＭ：ｖｅｃｔｏｒ  ｍｅｍｏｒｙ」）（４０４０）を含む。ＶＰＵコア（４０３０）は、例えば、コンピュータ・ビジョン用に最適化されたシングル・インストラクション・マルチプル・データ（「ＳＩＭＤ：Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ，  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ」）、超長命令語（「ＶＬＩＷ：Ｖｅｒｙ  Ｌｏｎｇ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｗｏｒｄ」）、デジタル信号プロセッサ（「ＤＳＰ：ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ」）などのＤＳＰであることが好ましい。ＳＩＭＤとＶＬＩＷアーキテクチャの組合せにより、スループット及び速度が向上する。
【０１２４】
ベクトル・プロセッサ（４０３０）のそれぞれは、命令キャッシュ（４０３５）を備え、専用メモリ（４０４０）に結合されることが好ましい。その結果、いくつかの実施例では、ベクトル・プロセッサのそれぞれ、例えば（４０３０（１））は、他のベクトル・プロセッサ（４０４０（１））とは独立して実行されるように構成され得る。他の実施例では、特定のＰＶＡ（４０２）に含まれるベクトル・プロセッサ（４０３０）は、データ並列性を利用するように構成され得る。例えば、いくつかの実施例では、単一のＰＶＡ（４０２）に含まれる複数のベクトル・プロセッサ（４０３０）は、同じコンピュータ・ビジョン・アルゴリズムを、画像の異なる領域で実行することができる。他の実施例では、特定のＰＶＡ（４０２）に含まれるベクトル・プロセッサ（４０３０）は、異なるコンピュータ・ビジョン・アルゴリズムを同じ画像で同時に実行するか、又は異なるアルゴリズムを連続した画像又は画像の一部分で実行することもできる。とりわけ、ハードウェア・アクセラレータ・クラスタ（４００）に任意の数のＰＶＡ（４０２）が含まれてもよく、各ＰＶＡ（４０２）のそれぞれに任意の数のベクトル・プロセッサ（４０３０）が含まれてもよい。さらに、ＰＶＡは、システム全体の安全性を高めるために、追加のＥＣＣを含むことが好ましい。
【０１２５】
（３）メモリ
ハードウェア加速クラスタは、高いメモリ帯域幅要求を備えたマスタである、ＰＶＡとＤＬＡの両方を含むことが好ましい。図１１に示すように、ハードウェア加速クラスタに高帯域幅、低レイテンシのＳＲＡＭを提供するために、高性能ＳｏＣは、コンピュータ・ビジョン・ネットワーク・オン・チップ及びＳＲＡＭ（「ＣＶＮＡＳ」）を含むことが好ましい。好ましい実施例では、オン・チップ・メモリは、ＰＬＡとＤＬＡの両方によってアクセス可能な（例えば、限定されないが）８つのフィールド構成可能メモリ（「ＦＣＭ：Ｆｉｅｌｄ−Ｃｏｎｆｉｇｕｒａｂｌｅ  Ｍｅｍｏｒｙ」）ブロック（６０１）から構成された少なくとも４ＭＢのＳＲＡＭを含む。
【０１２６】
メモリ・ブロックの各ペアは、高性能周辺バス（「ＡＰＢ：Ａｄｖａｎｃｅｄ  Ｐｅｒｉｐｈｅｒａｌ  Ｂｕｓ」）インターフェース（６０４）、構成回路（６０５）、コントローラ（６０２）、及びＭＵＸ（６０３）を含むことが好ましい。どのタイプのメモリでも事足り得る。ＰＶＡ及びＤＬＡのマスタは、メモリへの信頼できる高速アクセスをマスタに提供する基幹回線（４０６）を介して、メモリにアクセスすることが好ましい。一実施例では、基幹回線は、マスタをメモリに相互接続するコンピュータ・ビジョン・ネットワーク・オン・チップ（「ＣＶＮＯＣ：Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  Ｎｅｔｗｏｒｋ−ｏｎ−Ｃｈｉｐ」）である。ＣＶＮＯＣは、ＡＰＢ（４０８）を使用して、ＣＶＳＲＡＭ（６００）をＰＶＡ（４０２）とＤＬＡ（４０１）のマスタに接続することが好ましい。
【０１２７】
ＣＶＮＯＣは、任意の制御信号／アドレス／データの送信の前に、マスタ（ＰＶＡ又はＤＬＡのいずれか）とスレーブ（ＣＶＳＲＡＭ）の両方が動作可能信号及び有効信号を介して提供しなければならないことを示すインターフェースも含むことが好ましい。このようなインターフェースは、制御信号／アドレス及びデータを送信するための個別のフェーズ並びに個別のチャネル、並びに継続的なデータ転送のためのバースト型通信を提供する。実装例は、自動車のＩＳＯ２６２６２又はＩＥＣ６１５０８規格を満たすために必要な信頼性と機能安全特徴を組み込むが、他の相互接続規格及びプロトコルが使用されてもよい。
【０１２８】
（４）ハードウェア・アクセラレータの使用例
ハードウェア・アクセラレータ（４００）及び関連するメモリ（６００）は、自動運転のための幅広い用途を有する。上記で広く述べられているように、ＰＶＡ（４０２）は、ＡＤＡＳ及び自動運転車両の主要な処理段階で使用され得るプログラマブル・ビジョン・アクセラレータである。ＰＶＡの能力は、低電力且つ低レイテンシで予測可能な処理を必要とするアルゴリズム領域に最適である。言い換えれば、ＰＶＡは、低レイテンシ且つ低電力で予測可能なランタイムを必要とする小さいデータ・セットに対しても、準高密度又は高密度の通常の計算で適切に機能する。したがって、自動運転車両用のプラットフォームのコンテキストでは、古典的なコンピュータ・ビジョン・アルゴリズムが物体検出及び整数演算での動作に有効であるので、ＰＶＡは古典的なコンピュータ・ビジョン・アルゴリズムを実行するように設計される。
【０１２９】
例えば、本技術の一実施例によれば、ＰＶＡは、コンピュータ・ステレオ・ビジョンを実行するために使用される。当業者に知られている他の手法と共に、セミ・グローバル・マッチング（「ＳＧＭ：Ｓｅｍｉ−ｇｌｏｂａｌ  ｍａｔｃｈｉｎｇ」）ベースのアルゴリズムが使用されてもよい。レベル３〜５の自動運転用の多くのアプリケーションには、ストラクチャ・フロム・モーション（ＳＦＭ：ｓｔｒｕｃｔｕｒｅ  ｆｒｏｍ  ｍｏｔｉｏｎ）、歩行者認識、車線検出など、オン・ザ・フライでのモーション推定／ステレオ・マッチングが必要である。ＰＶＡは、２台の単眼カメラからの入力に対してコンピュータ・ステレオ・ビジョン機能を実行することができる。
【０１３０】
本技術の別の実施例によれば、ＰＶＡは、高密度オプティカル・フローを実行するために使用される。本技術の別の実施例によれば、ＰＶＡは、例えば４Ｄ高速フーリエ変換（「ＦＦＴ：Ｆａｓｔ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ」）を使用して生のレーダ・データを処理し、処理済みのレーダを提供するために使用される。
【０１３１】
本技術の別の実施例によれば、ＰＶＡは、例えば、生の飛行時間（「ＴｏＦ」）データを処理して処理済みのＴｏＦデータを提供することによって、ＴｏＦ深度処理に使用される。ＴｏＦシステムはレーダ及びＬＩＤＡＲアプリケーションで使用されており、当業者に知られている。典型的なＴｏＦシステムは、信号を送信し、目標から返された信号の特性を測定する。測定は飛行時間を決定するために使用され、信号の速度に飛行時間を掛けることによって距離が得られる。例えば、ＴｏＦセンサは、レーザ光源と、それぞれが入射光の位相を検出することができる画素の配列とを備え得る。トランスミッタは光を変調し、反射光の変調エンベロープの位相を決定することによって、距離が測定される。
【０１３２】
制御及び運転の安全性を高めるために、ＤＬＡを使用して、例えば、各物体検出の信頼度の測定値を出力するニューラル・ネットワークを含む任意のタイプのネットワークを実行することができる。このような信頼値は、確率、又は他の検出と比較した各検出の相対的な「重み」を提供するものと解釈され得る。この信頼値により、システムは、どの検出を偽陽性検出ではなく真陽性検出であると見なすべきかについて、さらなる決定を行うことができる。例えば、システムは信頼度しきい値を設定し、しきい値を超える検出のみを真陽性検出と見なすことができる。自動緊急ブレーキ（ＡＥＢ）システムでは、偽陽性検出によって車両は自動的に緊急ブレーキをかけることになるが、これは明らかに望ましくない。したがって、最も信頼できる検出のみがＡＥＢのトリガと見なされるべきである。ＤＬＡは、信頼値を回帰するためにニューラル・ネットワークを実行することができる。ニューラル・ネットワークは、（１）バウンディング・ボックスの寸法、（２）例えば別のサブシステムから取得された接地平面推定、（３）自車両の方位と相関する慣性測定ユニット（ＩＭＵ）出力、（４）ニューラル・ネットワーク、及び／又は特にＬＩＤＡＲ若しくはレーダなどの他のセンサから取得された物体の距離又は３Ｄ位置推定などのパラメータの少なくともいくつかのサブセットを、その入力として受け取ることができる。
【０１３３】
一実装は、１つ又は複数の隠れ層を含む多層パーセプトロン（「ＭＬＰ：ｍｕｌｔｉ−ｌａｙｅｒ  ｐｅｒｃｅｐｔｒｏｎ」）とすることができる。訓練中、誤検出にはラベル「０」が割り当てられ、真の検出には信頼度に関するラベルが割り当てられる。このようにして、ネットワーク出力をグラウンド・トゥルース・ラベルと比較することができ、誤差項を計算することができ、逆伝播アルゴリズムを使用してネットワークの重みを調整することができる。訓練は通常、物体検出器の設計フェーズ中にオフラインで実行される。検出器が展開されて使用されると、フォワード・パスのみが実行される。例示の非限定的な実施例では、クラスタ化された境界ボックスが最初に計算される。次いで、クラスタ化された境界ボックス及び他の入力に基づいて、ネットワーク入力が計算される。入力の実例は、慣性測定ユニット、距離推定、物体検出内の入力画素で計算された統計などに関連する場合があるが、これらに限定されない。入力は、訓練フェーズ中に取得された重みがすでに読み込まれているネットワークに送られる。フォワード・パス中、ネットワークは、事前に読み込まれた重みを用いて事前に訓練されたネットワークを使用して、信頼度の出力を計算する。
【０１３４】
図１０に示すＰＶＡ設計は、限定するものではなく、ＰＶＡが本技術の目的の多くを達成するように様々な他の設計が利用されてよい。例えば、コンピュータ・ビジョン・アクセラレータ（４０２）は、参照により本明細書に完全に組み込まれる、２０１６年４月２８日に出願された「ＰＲＯＧＲＡＭＭＡＢＬＥ  ＶＩＳＩＯＮ  ＡＣＣＥＬＥＲＡＴＯＲ」、米国特許出願第１５／１４１，７０３号に記載されているように実装されてよい。
【０１３５】
ｄ）システム・コヒーレンシ・ファブリック及びオン・チップ・メモリ
図８に示すように、プラットフォームは、各プロセッサ・サブシステム用の専用メモリを含み、ＤＤＲへの圧力を低減し、より低い電力を必要とする。高性能ＳｏＣは、オン・チップ・メモリ（５００）及び（６００）を含み、好ましい実施例では、ＧＰＵ（３００）及びＤＬＡ（４００）上でそれぞれ実行されるニューラル・ネットワークを格納する。好ましい実施例では、メモリ（５００）及び（６００）は、安全性及び冗長性を確保するために、ニューラル・ネットワークの複数のインスタンスを格納するのに十分な大きさである。
【０１３６】
さらなる好ましい実施例では、高性能ＳｏＣは、自律運転車両（５０）が動作している間でも、更新されたニューラル・ネットワークをワイヤレス・アンテナ及びモデム（１０１）を介して受信及び格納するように構成される。例えば、ディープ・ラーニング・インフラストラクチャは、図６に示すように、交通標識又は他の障害物の認識を改善するようにニューラル・ネットワークを更新し、更新されたネットワーク（１００１）を車両（５０）にワイヤレス・リンクを介して送信することができる。車両（５０）がアクティブに動作している場合でも、本技術により、更新されたニューラル・ネットワークが高性能ＳｏＣによって受信、ダウンロード、及び検証され得るので、安全性が重要な更新が、無線による（「ＯＴＡ：ｏｖｅｒ−ｔｈｅ−ａｉｒ」）更新において可能な限り迅速に受信されることを保証する。更新されたニューラル・ネットワークが完全にダウンロードされて検証されると、高性能ＳｏＣはニューラル・ネットワークの更新されたバージョンに移行して使用する。
【０１３７】
システム・コヒーレンシ・ファブリック（「ＳＣＦ：Ｓｙｓｔｅｍ  Ｃｏｈｅｒｅｎｃｙ  Ｆａｂｒｉｃ」）（７１４）は、コヒーレント・クライアント、すなわちＣＰＵクラスタ（２０１）及び追加の埋め込みプロセッサ（（７０２）〜（７０５））を、ＤＲＡＭ及びＭＭＩＯ空間に接続する。ＳＣＦはまた、システム内の非コヒーレント・クライアントとのソフトウェア・ベース・コヒーレンシを容易にするコヒーレンシ・キャッシュ・フラッシュ・エンジンも実装する。フラッシュには２つの変形があり、１つは、システム内のすべてのＬ２及びＬ３キャッシュを削除し、ダーティ・データをメモリに書き戻すもので、もう１つは、フラッシュが開始される前にＣＰＵ  Ｌ２＋Ｌ３キャッシュに常駐するすべてのキャッシュ・ラインを無効にするものである。フラッシュが進行している間、ＣＰＵは休止する必要はない。
【０１３８】
高性能ＳｏＣのシステム・ファブリックは、周辺デバイス用に定義された単純な３２ビットの単一マスタ・バスなどの周辺バス（７１０）を使用することが好ましい。
【０１３９】
ｅ）追加の埋め込みプロセッサ
（１）ブート及びパワー管理
高性能ＳｏＣは、ブート及びパワー管理プロセッサ（「ＢＰＭＰ：Ｂｏｏｔ  ａｎｄ  Ｐｏｗｅｒ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｃｅｓｓｏｒ」）（７０３）を含むことが好ましい。ＢＰＭＰは、ブート及びパワー管理機能及び関連するセキュリティ実施を処理するための専用のプロセッサ及びサブシステムであることが好ましい。ＢＰＭＰ（７０３）はＳｏＣブート・シーケンスの一部であり、実行時のパワー管理サービスを提供する。ＢＰＭＰは、最初のブート後、すなわちブートＲＯＭ及びブート・ローダが完了した後に実行される。上位レベルでは、ＢＰＭＰ（７０３）によって提供される主なサービスは、（１）ＳｏＣクロック及び電圧プログラミング、（２）システムにおける低電力状態遷移の支援（ディープ・スリープ（ＳＣ７）の開始及び終了を含むＳＣ状態）、（３）ＳｏＣの熱センサ及び温度センサの管理、並びに（４）ＳｏＣのパワー状態の管理である。ＢＰＭＰランタイム・ファームウェアは、オペレーティング・システム、プラットフォーム、ボード、及びブート・ローダに依存しない。
【０１４０】
（２）温度センサ及び制御
好ましい実施例では、各温度センサは、その出力周波数が温度に比例するリング・オシレータとして実装され得る。高性能ＳｏＣは、ＣＰＵグループの温度、ＧＰＵグループの温度、及び加速クラスタの温度を検出し、ＢＰＭＰに報告するリング・オシレータを含むことが好ましい。ＣＰＵ、ＧＰＵ、又は加速クラスタの温度が安全な動作のしきい値を超えていることをＢＰＭＰが検出した場合、ＢＰＭＰは温度障害ルーチンを実行し、このルーチンにおいて、高性能ＳｏＣは、まず可能であれば低電力状態に入るよう試み、必要に応じて「安全停止のための運転手」（Ｃｈａｕｆｆｅｕｒ  ｔｏ  Ｓａｆｅ  Ｓｔｏｐ）モードに入る。
【０１４１】
（３）オーディオ処理エンジン
高性能ＳｏＣは、オーディオ処理エンジン（「ＡＰＥ：Ａｕｄｉｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｅｎｇｉｎｅ」）（７０１）を含む、埋め込みプロセッサのセットを含むことが好ましい。ＡＰＥは、複数のインターフェースを介したマルチ・チャネル・オーディオの完全なハードウェア・サポート、及び幅広い柔軟なオーディオＩ／Ｏインターフェースを可能にする、オーディオ・サブシステムである。ＡＰＥは、専用ＲＡＭを有するデジタル信号プロセッサ（「ＤＳＰ」）を備えた専用プロセッサ・コアであることが好ましい。
【０１４２】
（４）常時オン・センサ処理エンジン
高性能ＳｏＣは、常時オン・センサ処理エンジン（「ＡＯＮ：Ａｌｗａｙｓ−Ｏｎ」／「ＳＰＥ：Ｓｅｎｓｏｒ  Ｐｒｏｃｅｓｓｉｎｇ  Ｅｎｇｉｎｅ」）（７０２）を含むことが好ましい。ＡＯＮエンジン（７０２）は、低電力センサ管理及びウェイクのユース・ケースをサポートするために必要なすべてのハードウェア機能を提供する。エンジン（７０２）は、周辺機器（タイマー及び割り込みコントローラなど）、様々なＩ／Ｏコントローラ周辺機器、及びルーティング論理をサポートする、密結合ＲＡＭを備えたプロセッサ・コアから構成されることが好ましい。ＡＯＮブロック内のプロセッサは、センサ処理エンジン（「ＳＰＥ」）とも呼ばれる。これは、常時オン・パワー・ドメイン内のロー・アクティブ・パワー・プロセッサである。これは「常時オン」エンジンと呼ばれるものの、通常の使用ではロー・アクティブ・パワーで常時オンの状態を維持することになるが、完全シャットダウン・モードにすることもできる。
【０１４３】
（５）安全クラスタ・エンジン及びリアル・タイム・カメラ・エンジン
ＳｏＣは、自動車アプリケーション用安全管理を処理するための専用プロセッサ・サブシステムである安全クラスタ・エンジン（「ＳＣＥ：Ｓａｆｅｔｙ  Ｃｌｕｓｔｅｒ  Ｅｎｇｉｎｅ」）（７０４）を含むことが好ましい。好ましい実施例では、ＳＣＥ（７０４）は、密結合ＲＡＭ、サポート周辺機器（例えば、タイマー、割り込みコントローラ）、及びルーティング論理を備えた２つ以上のプロセッサ・コアから構成される。安全モードでは、２つのコアはロックステップ・モードで動作し、動作間の差を検出する比較論理を備えた単一のコアとして機能する。特定の実施例では、ＳｏＣは、リアル・タイム・カメラ・エンジン（「ＲＣＥ：Ｒｅａｌ−ｔｉｍｅ  Ｃａｍｅｒａ  Ｅｎｇｉｎｅ」）（７０５）を含むことが好ましい。好ましい実施例では、ＲＣＥは、リアル・タイム・カメラ管理を処理するための専用プロセッサ・サブシステムを備える。
【０１４４】
（６）ハイ・ダイナミック・レンジ画像信号プロセッサ
図８に示すように、高性能ＳｏＣは、好ましくは、ハイ・ダイナミック・レンジ画像信号プロセッサ（「ＨＤＲ  ＩＳＰ：Ｈｉｇｈ−Ｄｙｎａｍｉｃ  Ｒａｎｇｅ  Ｉｍａｇｅ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ」）４０３を含む。高性能ＳｏＣは、カメラ処理パイプラインの一部であるハードウェア・エンジンである画像信号プロセッサ（７１２）をさらに含むことが好ましい。
【０１４５】
（７）ビデオ画像コンポジタ
高性能ＳｏＣは、プレイヤ・ウィンドウの最終画像を作成するためにビデオ再生アプリケーションが必要とするビデオ後処理機能を実装するブロックである、ビデオ画像コンポジタ（「ＶＩＣ：Ｖｉｄｅｏ  Ｉｍａｇｅ  Ｃｏｍｐｏｓｉｔｏｒ」）（７０６）を含むことが好ましい。好ましい実施例では、ＶＩＣは、魚眼及び広視野カメラ・センサ（２０１）〜（２０５）上、並びに任意選択のイン・キャビン・モニタリング・カメラ・センサ上でもレンズ収差補正（「ＬＤＣ：ｌｅｎｓ  ｄｉｓｔｏｒｔｉｏｎ  ｃｏｒｒｅｃｔｉｏｎ」）を実行する。イン・キャビン・モニタリング・カメラ・センサは、キャビン内の事象を識別し、それに応じて対応するように構成された、高性能ＳｏＣの別のインスタンスで実行されるニューラル・ネットワークによってモニタされることが好ましい。イン・キャビン・システムは、リップ・リーディングを実行して、携帯電話サービスをアクティブにして電話をかける、電子メールを指示する、車両の目的地を変更する、車両のインフォテインメント・システム及び設定をアクティブにする若しくは変更する、又は音声起動ウェブ・サーフィンを提供することができる。特定の機能は、車両が自律モードで動作しているときにのみ運転者が使用でき、それ以外の場合は無効になる。
【０１４６】
ＶＩＣは、強化された時間ノイズ低減（「ＴＮＲ：Ｔｅｍｐｏｒａｌ  Ｎｏｉｓｅ  Ｒｅｄｕｃｔｉｏｎ」）も含むことが好ましい。ノイズ低減は通常、空間ノイズ低減と時間ノイズ低減の両方を含む。ビデオ内で動きが発生する場合、ノイズ低減は空間情報に適切に重みを付け、隣接するフレームによって提供される情報の重みを減らす。画像又は画像の一部が動きを含まない場合、ＶＩＣによって実行される時間ノイズ低減は、前の画像からの情報を使用して現在の画像内のノイズを低減する。
【０１４７】
ＶＩＣは、センサ・ペア１−２、８−９、及び１０−１１などの入力ステレオ・レンズ・フレームでステレオ平行化を実行することもできる。加えて、オペレーティング・システム・デスクトップが使用中のとき、Ｕｌ合成のためにＶＩＣを使用することができ、ＧＰＵは新しいサーフェスを継続的にレンダリングする必要がない。ＧＰＵの電源がオンで、アクティブに３Ｄレンダリングを行っているときでも、ＶＩＣを使用してＧＰＵをオフロードすることができ、性能及び応答性が向上する。ＶＩＣ（７０６）は、マイクロコントローラを使用して実装されることが好ましい。
【０１４８】
（８）入力／出力
高性能ＳｏＣは、ＭＩＰＩカメラ・シリアル・インターフェース（７１３）、標準高速シリアル・インターフェース、並びにカメラ及び関連する画素入力機能に使用されるブロックであるビデオ入力ブロック（ＶＩ：Ｖｉｄｅｏ  Ｉｎｐｕｔ  ｂｌｏｃｋ）（７１３）を介して、カメラ及びビデオから入力を受け取る。高性能ＳｏＣは、特定の役割にコミットされず、且つソフトウェアによって制御されるＩ／Ｏ信号用に、汎用入力／出力コントローラ（７１１）を含むことが好ましい。
【０１４９】
好ましい実施例では、高性能ＳｏＣは、周辺機器、オーディオ・コーデック、パワー管理、及び他のデバイスとの通信を可能にする広範囲にわたる周辺機器インターフェースを有する。ＳｏＣを使用して、（ギガビット・マルチメディア・シリアル・リンク（「ＧＭＳＬ」）及びイーサネット（「ＧｂＥ」）を介して接続された）カメラ、センサ（イーサネットを介して接続されたＬＩＤＡＲ、レーダ）からのデータ、ＣＡＮインターフェースからのデータ（車の速度、ステアリング・ホイール位置など）、（イーサネット又はＣＡＮを介して接続された）ＧＰＳからのデータを処理してもよい。独自のＤＭＡエンジンを備えた専用高性能マス・ストレージ・コントローラを使用して、ルーチン・データ管理タスクからＣＰＵ複合体（２００）を解放することができる。
【０１５０】
ｆ）他のシステム及び方法に対する高性能システム・オン・チップのいくつかの例示の非制限的な利点
高性能システム・オン・チップにより、レベル３〜５に及ぶ柔軟性のある１つのアーキテクチャを備えたエンド・ツー・エンド・プラットフォームが可能となり、このアーキテクチャは、多様性及び冗長性のためにコンピュータ・ビジョン及びＡＤＡＳ技法を活用し効果的に利用するとともに、柔軟で信頼できるドライビング・ソフトウェア・スタックのプラットフォームをディープ・ラーニング・ツールと共に提供する、包括的な機能安全アーキテクチャである。高性能ＳｏＣは、従来技術のシステム及び方法よりも高速で、信頼性が高く、さらにエネルギー効率及び空間効率が高い。例えば、ハードウェア加速クラスタは、ＣＰＵ複合体、ＧＰＵ複合体、及びメモリと組み合わされて、レベル３〜５の自動運転車両用の高速で効率的なプラットフォームを提供する。したがって、本技術は、従来技術の方法及びシステムでは達成できない能力及び機能を提供する。例えば、Ｃプログラミング言語などの高水準プログラミング言語を使用して構成され得るＣＶアルゴリズムは、ＣＰＵ上で実行されて、多種多様な視覚データにまたがって多種多様な処理アルゴリズムを実行することができる。しかし、ＣＰＵは、例えば実行時間及び消費電力に関連するアプリケーションなど、多くのコンピュータ・ビジョン・アプリケーションの性能要件を満たすことができないことがしばしばある。特に、多くのＣＰＵは、車載ＡＤＡＳアプリケーションの要件であるとともに実用的なレベル３〜５の自動運転車両の要件である、複雑な物体検出アルゴリズムをリアル・タイムで実行することができない。
【０１５１】
本技術は、ＣＰＵ複合体、ＧＰＵ複合体、及びハードウェア加速クラスタを提供することによって、複数のニューラル・ネットワークを同時に又は順次実行し、結果を共に組み合わせてレベル３〜５の自動運転機能を可能にすることができる。例えば、好ましい実施例では、ＤＬＡ又はｄＧＰＵ上で実行するＣＮＮは、文字認識及び単語認識を含む場合があり、これによりスーパーコンピュータは、ニューラル・ネットワークで特に訓練されていない標識を含む交通標識を読み取り理解することができる。例えば、標識は、以下の情報すなわち、駐車が禁止されているエリアを示す矢印を伴う「駐車禁止、午後４時〜午後７時、月曜日から金曜日」という情報を含む場合がある。ＤＬＡは、標識を識別して解釈し、標識の意味理解を実現し、且つその意味理解をＣＰＵ複合体で実行される経路計画モジュールに渡すことができる、ニューラル・ネットワークを含む場合がある。
【０１５２】
本技術は、レベル３、４、又は５の運転に必要とされるような、自動運転車両が複数のニューラル・ネットワークを実行するためのプラットフォームを提供する。例えば、図１２に示すように、電灯付きの「注意  点滅灯は凍結状態を示す」という警告標識は、いくつかのニューラル・ネットワークによって個別に又はまとめて解釈され得る。標識自体（７０２０）は、第１の訓練されたニューラル・ネットワーク（７０４０）によって交通標識として識別され得る。「点滅灯は凍結状態を示す」という文字（７０３０）は、点滅灯が検出されたときは凍結状態が存在するということを車両の経路計画ソフトウェア（ＣＰＵ複合体上で実行されることが好ましい）に通知する第２のニューラル・ネットワーク（７０５０）によって解釈され得る。点滅灯（７０１０）は、複数のフレームにわたって第３のニューラル・ネットワーク（７０６０）を動作させることによって識別され、点滅灯の存在（又は不在）が車両の経路計画ソフトウェアに通知される。３つのすべてのニューラル・ネットワークがＤＬＡ（４００）内で実行されてもよく、又はネットワークのいくつかがＧＰＵ（３００）上で実行されてもよい。
【０１５３】
好ましい実施例では、カメラ・センサからのデータを使用する顔認識及び車両所有者識別のためのＣＮＮを使用して、車両（５０）の許可された運転者及び／又は所有者の存在を識別する。システム・オン・チップの常時オン・センサ処理エンジン（「ＡＯＮ」／「ＳＰＥ」）（７０２）は、所有者が運転席のドアに近づいて照明をオンにしたときに車両のロックを解除し、セキュリティ・モードでは所有者が車両を離れたときに車両を使用不可にするために使用され得る。このように、ＣＮＮ及びＡＯＮ／ＳＰＥは、盗難及び／又はカージャックに対するセキュリティを提供する。
【０１５４】
別の好ましい実施例では、マイクロホンからのデータを使用した緊急車両の検出及び識別及び検出のためのＣＮＮは、緊急車両のサイレンを検出及び識別する。従来技術では、サイレンなどの環境音は、しばしば一般的な分類器を使用して手動で特徴を抽出することによって検出される。好ましい実施例は、環境音及び都市音を分類するため、並びに視覚データを分類するために使用されるＣＮＮの能力を利用する。好ましい実施例では、ＤＬＡ上で実行されるＣＮＮは、ドップラー効果を活用して、緊急車両の相対接近速度を識別するように訓練される。ＣＮＮはまた、ＧＰＳセンサ（７６）によって識別されるとき、車両が動作している局所的なエリアに特有の緊急車両を識別するようにも訓練され得る。したがって、例えば、ヨーロッパで動作しているときは、ＣＮＮはヨーロッパのサイレンを検出しようとし、米国で動作しているときは、ＣＮＮは北米のサイレンのみを識別しようとする。好ましい実施例では、ＣＮＮは、ドップラー効果を活用して緊急サイレンの存在及び相対接近速度を特定し、ＣＰＵ（２００）上で実行される制御プログラムに信号を提供する。次いで、制御プログラムは、緊急車両安全ルーチンを実行し、車両（５０）を減速させ、道路の脇に寄せ、車両を駐車させ、超音波センサ（６６）の補助を得て、緊急車両が通過するまで車両をアイドリングさせる。
【０１５５】
３．高性能ＳｏＣを使用した第１の実施例
１つ又は複数の高性能ＳｏＣ（１００）は、様々なプラットフォーム及びシステムにおいて自動運転車両を制御するために使用され得る。図１３に示す第１の例示的な実施例において、１つ又は複数の高性能ＳｏＣ（１００）は、ゲートウェイ（２１４）又はモデム（１０３）及び例えば「ワイヤレス接続及びネットワーク・アクセス」という見出しのセクションで上述したタイプのワイヤレス・トランシーバを介して地図のリフレッシュ／更新をクラウドから取得することができるＨＤマップシステム（２１２）とシステム内で組み合わされる。
【０１５６】
車両制御（２１６）（例えば、ヘッドライトのオン／オフの切り替え、フロント・ガラス・ワイパーのオン／オフの切り替えなど）及び他の機能も、「例示的な自動運転車両」という見出しのセクションで上述したものを含む、当技術分野で知られているアクチュエータ・コントローラによって提供され得る。コネクタ（２１８）は、拡張用及び／又はデバッグ用の他の機器によるアクセスを提供する。
【０１５７】
システムは、車両の周囲３６０度をカバーするように配置された、超音波センサ（６６）、ＧＰＳ（７６）、レーダ（６８）、ＬＩＤＡＲ（７０）、ステレオ・カメラ（７４）、魚眼カメラ又はワイド・ビュー・カメラ（７３）、赤外線カメラ（７５）、及び周囲カメラ（７２）を含む、「例示的な自動運転車両」という見出しのセクションで上述したセンサのうちの１つ又は複数を含む。
【０１５８】
システムは、ＲＡＭ、ＳＲＡＭ、ＤＲＡＭ、ＶＲＡＭ、フラッシュ、ハード・ディスク、並びに少なくとも１ビットのデータを格納できる他のコンポーネント及びデバイスを含む１つ又は複数のストレージ要素から構成され得る、オン・チップ・ストレージ（５００（１））とオフ・チップ・ストレージ（５００（２））の両方をさらに含む。オン・チップ・ストレージ（５００（１））は、ＣＰＵ（２００）及び／又はＧＰＵ（３００）と共に使用するためのＬ２キャッシュ又はＬ３キャッシュを備え得る。
【０１５９】
高性能ＳｏＣ（１００）は、ＣＰＵ複合体（２００）、ＧＰＵ複合体（３００）、ＣＰＵ複合体及びＧＰＵ複合体に接続されたＬ３キャッシュ、ＰＶＡ（４０２）及びＤＬＡ（４０１）を含むハードウェア加速複合体（４００）、並びに上述したようなプロセッサ（７０２）〜（７０５）のうちの１つ又は複数を含む追加の埋め込みプロセッサを含む、図９に関連してより詳細に説明されているコンポーネントを含むことが好ましい。高性能ＳｏＣ（１００）は、様々なセンサ及びサブ・システム（例えば、フォールト・オペラブル／フォールト・トレラント・ブレーキ・システム（６１Ａ）及びフォールト・オペラブル／フォールト・トレラント・ステアリング・システム（６２Ａ））に接続される。
【０１６０】
一実施例では、高性能ＳｏＣのＣＣＰＬＥＸ（２００）及び１つ又は複数のＧＰＵ複合体（３００）、又はハードウェア・アクセラレータ（４０１）、（４０２）は、ある程度又は完全に冗長な処理を独立して実行する。例示の非限定的な実施例では、異なるプロセッサによって提供される「冗長」機能は、同じ全体的な機能を包含するが、厳密に同一というわけではない。むしろ、同じ又は同等の機能を実行するアルゴリズム及びソフトウェアは、意図的に同一ではない処理を提供するように、異なる方法で設計及び実装され、それでもやはり、本質的に同じタスクを実行して、システムが正しく動作しているときには本質的に同じ結果を提供する。例えば、ＧＰＵ複合体（３００）は、ニューラル・ネットワークを実行して物体検出機能を実行し、一方ハードウェア・アクセラレータＰＶＡ（４０２）は、コンピュータ・ビジョン・アルゴリズムを実行して同じ物体を識別することができる。さらに、異なるプロセッサへの入力は異なる可能性があり、上記の実例では、ＧＰＵ複合体（３００）は、ニューラル・ネットワークを実行して、ステレオ・カメラからの入力情報を用いて物体検出機能を実行し、一方ハードウェア・アクセラレータＰＶＡ（４０２）は、コンピュータ・ビジョン・アルゴリズムを実行して単眼カメラ又は赤外線カメラから同じ物体を識別することができる。システムはまた、冗長性を提供し且つ機能安全を強化する、ＢＳＷ、ＡＣＣ、ＡＥＢ、ＬＤＷ、及びＡＥＢシステムを含む１つ又は複数のＡＤＡＳサブ・システム（８２）を含んでもよい。システムは、任意選択で、限定はしないがＮＶＬＩＮＫ（８０５）などの高速相互接続を介して高性能ＳｏＣに結合された個別のＧＰＵ、ｄＧＰＵ（８０２）を含んでよい。ｄＧＰＵ（８０２）は、追加のＡＩ機能を提供し、冗長の又は異なるニューラル・ネットワークを実行し、さらにシステムのセンサからの入力に基づいてニューラル・ネットワークを訓練及び／又は更新することができる。システムはまた、任意選択で、限定はしないがＰＣＩｅ（９０２）などの高速相互接続を介して高性能ＳｏＣ（１００）に接続された、Ｘ８６プロセッサなどのディスクリートＣＰＵ（９０１）を含んでもよい。ディスクリートＣＰＵ（９０１）は、ＡＤＡＳセンサ（８２）と高性能ＳｏＣ（１００）との間で潜在的に矛盾した結果を調停すること、並びに／又は車両制御（２１６）及びインフォテインメント・システム（７６）のステータス及び正常性をモニタすることを含む、様々な機能を実行するために使用され得る。
【０１６１】
異なる独立したハードウェア・コンポーネントにおいて、異なる独立した方法で同じ物体検出機能を実行することで、高性能ＳｏＣを使用するシステムのＡＳＩＬ安全性評価が強化され、これは「ＡＳＩＬデコンポジション」と呼ばれる。図１４に示すように、ＡＳＩＬデコンポジションは、アーキテクチャ内に冗長要素を提供することによって、特定の要素に対するＡＳＩＬ要件を低下させる。したがって、ＡＳＩＬ  Ｄの機能安全を必要とする単一の機能は、例えば、一方はＡＳＩＬ  Ｃで、バックアップはＡＳＩＬ  Ａでといった２つの冗長な独立したコンポーネントよって実装され得る。２つの冗長コンポーネントの組合せは、それぞれにＡＳＩＬ  Ｄよりも低いＡＳＩＬレベルを提供し、全体でＡＳＩＬ  Ｄの機能安全レベルを提供する。したがって、ＡＳＩＬ  Ｄの機能安全は、「ＡＳＩＬ  Ｃ（Ｄ）＋ＡＳＩＬ  Ａ（Ｄ）」によって実現されることになる。ＩＳＯ２６２６２第９部に準拠したＡＳＩＬデコンポジションは、以下のＡＳＩＬデコンポジション方法を提供している。
【表１】
2021508863.tif 000002
【０１６２】
上述した実例のコンテキストにおいて、ＳｏＣのＧＰＵ（３００）で実行されているニューラル・ネットワークがＡＳＩＬ  Ｂと評価され、ＰＶＡ（４０２）で実行される同じ機能もＡＳＩＬ  Ｂと評価される場合、冗長性により、その機能にＡＳＩＬ  Ｄの安全性が提供される。アクセラレータ（４０１）及び（４０２）によって実行されるタスク／機能は、単独では、より低い安全基準（ＡＳＩＬ  Ｂ）で評価される可能性があるが、ＧＰＵ複合体（３００）によって実行されるプロセスは、より高いレベルの機能安全（例えば、ＡＳＩＬ  Ｃ）を得ることになる。２つの独立した経路を提供することによって、高性能ＳｏＣは、アクセラレータ（４０１）及び（４０２）が提供する冗長性により、所望のＡＳＩＬ  Ｄ安全基準評価を実現する。
【０１６３】
言い換えれば、アクセラレータ（４０１）、（４０２）は、ＧＰＵ複合体（３００）によって実行される自動運転機能と組み合わされるときに共に提供する機能（例えば、差し迫った衝突の検出、車線逸脱警告、歩行者検出）を共に実行して、ＡＳＩＬ  Ｄレベルの機能安全を提供する。さらに、アクセラレータ（４０１）又は（４０２）のうちの１つが故障した場合、機能しているアクセラレータとＧＰＵ複合体（３００）を共に組み合わせることにより、安全な動作を保証する。アクセラレータ（４０１）と（４０２）の両方が故障した場合、システムはサービスが必要であることを示す障害メッセージを返し、運転者に通知し、運転者に制御を戻す移行ルーチンを実行する。
【０１６４】
上述のように、ＧＰＵ複合体（３００）及びＤＬＡアクセラレータ（４０１）は、ＣＮＮを含むニューラル・ネットワークを使用して、示されている上位レベルの機能の一部又はすべてを実行することができる。ＧＰＵ複合体（３００）及びＤＬＡアクセラレータ（４０１）は、ディープ・ニューラル・ネットワーク及びＣＮＮを使用して、慣性センシング・システムなどの車両運動センサからの情報、及び場合によっては車両の半自動運転システム（ＳＡＳ：ｓｅｍｉ−ａｕｔｏｎｏｍｏｕｓ  ｓｙｓｔｅｍ）（８２）又はＡＤＡＳシステムからの他の入力を処理することができる。ＰＶＡアクセラレータ（４０２）は、コンピュータ・ビジョン・アルゴリズムを実行するように最適化され、したがってＳＡＳシステム（８２）から受け取った情報を処理するように設計される。
【０１６５】
図１５は、本技術のＳｏＣが機能安全を強化するために提供する多様な冗長処理を示す。第１に、図１５に示すように、ハードウェア加速クラスタ（４００）は、ＰＶＡ（４０２）とＤＬＡ（４０１）の両方で多様な冗長処理を実行することができる。ＰＶＡ（４０２）は、前処理（１５０）、コンピュータ・ビジョン・アルゴリズム（１５２）、後処理を実行して、衝突検出、標識検出、物体検出、車線検出、又は任意の他のコンピュータ・ビジョン機能などの古典的なコンピュータ・ビジョン機能（１５６）を提供することができる。高性能ＳｏＣは、これらのタスクの一部又はすべてを、好ましくは前処理機能（１５０）を含むＣＰＵ複合体（２００）にオフロードすることができる。前処理タスクは、センサ・フュージョンを含む場合があり、センサ・フュージョンは、どのような個々のセンサからも不可能な多くのことをセンサの組合せから学習し性能を向上させるために、カルマン・フィルタリング、人工知能などを使用して様々なセンサの出力を組み合わせるために使用され得る（例えば、光の悪条件が原因で光学センサが効果的でないとき、代わりにレーダ・センサを使用することができ、又は光学センサからの情報と融合することができ、金属製の排水格子、大きな金属製のパネル、及び／又は道路上のマンホール蓋が原因でレーダ・センサの効果が低いとき、代わりに又は追加でＬＩＤＡＲ又は超音波を使用することができる）。この実例のこのようなセンサ・フュージョンは、融合時のセンサ・データ使用のタイプの順序／シーケンスを変更し、可能な場合は、実行可能ファイル／サブ関数の実行の順序を順序変更／再シーケンス化する多様化されたセンサ・フュージョン・ソフトウェアなどの多様化方法を含む。このような意図的な多様化方法は、耐障害性の向上をもたらす。
【０１６６】
第２に、図１５に示すように、ディープ・ラーニング・ハードウェア・アクセラレータ（ＤＬＡ）（４０１）は、前処理（１６０）、訓練されたニューラル・ネットワークでの推論（１６２）、及び後処理（１６４）を実行して、訓練されたニューラル・ネットワークによって実行され得る衝突検出、標識検出、物体検出、車線検出、又は他の機能などの任意の機能（１６６）を提供することができる。ＤＬＡ（４０１）は、ＣＮＮを実行するために最適化されることが好ましいが、他のニューラル・ネットワークを実行するために使用されてもよい。高性能ＳｏＣは、これらのタスクの一部又はすべてを、好ましくは前処理機能（１５０）を含むＣＰＵ複合体（２００）にオフロードすることができる。
【０１６７】
第３に、図１５に示すように、ＧＰＵ複合体（３００）は、物体検出、空き空間検出を含む自動運転に必要な機能を実行するために、ＣＮＮ、ＤＮＮ、及び任意の他のタイプのネットワークを含む任意の数の訓練されたニューラル・ネットワークを実行するように構成されることが好ましい。ＧＰＵ複合体（３００）はさらに、訓練されたニューラル・ネットワークを実行して、車両制御、車両管理、又は安全性に望ましい、知覚、計画及び制御の機能を含む任意のＡＩ機能を実行するように構成される。知覚機能はセンサ入力を使用して、好ましくは占有グリッドを含むワールド・モデルを生成し、計画はそのワールド・モデルを取得して最良の計画を生成し、制御はその計画を取得してそれを実施する。これらのステップは継続的に繰り返される。
【０１６８】
知覚機能及び計画機能を実行するために、ＧＰＵ複合体（３００）は、自動運転車両（５０）及び／又は（５５）並びに自動運転車両の所与の範囲内の移動物体を含む物体を追跡する占有グリッド（１６２）を維持するようにも構成されることが好ましい。ＧＰＵ複合体（３００）は、好ましい又は所望の経路をＳｏＣ（１００）が決定できるように、物体がどこにあるかを予測する予測占有グリッドを決定するように構成されることが好ましい。高性能ＳｏＣは、これらのタスクの一部又はすべてを、好ましくは前処理機能を含むＣＰＵ複合体（２００）にオフロードすることができる。ＣＰＵ複合体は、ＤＬＡ（４０１）、ＰＶＡ（４０２）、及びｉＧＰＵ（３００）から結果を受け取り、結果を比較及び評価し、それに応じて車両を制御することができる。
【０１６９】
１つ又は複数の実施例によれば、高性能ＳｏＣ（１００）は、機能安全を確保するために３つ以上の多様な冗長処理タスクを実行することができ、車両を制御する際にＡＤＡＳシステムを含む様々なセンサからの情報を使用することができる。例えば、好ましい実施例では、ＤＬＡ（４０１）は、雨、雪、氷、又は路面凍結を含む道路状態の存在を識別するように訓練されたニューラル・ネットワークを実行することができる。そのような道路状態が識別されると、ＤＬＡ（４０１）はＣＰＬＥＸ、ＧＰＵ、及び／又は安全クラスタ・エンジンに状態を通知し、その結果、経路計画及び制御ルーチンは状態を考慮に入れることができる。加えて、ＣＰＵ複合体（２００）は、例えば、本明細書の「追加のセンサ及びシステム」という見出しのセクションで上述したように、滑りやすい道路を特定するための既知のアルゴリズムを実行することができる。そのような実施例において、ＣＰＵ複合体（２００）は、車輪速度センサ（８０）から、少なくとも１つの動力駆動車軸の第１の角速度、及び少なくとも１つの自由回転車軸の第２の角速度を受け取る。ＣＰＵ複合体は、路面上での摩擦のレベルを判定するために第１の角速度と第２の角速度を比較し、道路が滑りやすいほど角速度間の差は大きくなる。相対角速度の急激な変化は、車両が氷又は油などの滑りやすい表面に遭遇したことを示す。ＣＰＵ複合体はさらに、振動センサ（８５）から車軸の振動に関する情報を受け取ることができる。動力駆動車軸と自由回転車軸の振動差は、路面での滑り量を示し、相対振動の急激な変化は、路面が変化したことを示す。滑りやすい道路の検出の結果は、滑りやすい道路状態を検出するように設計されたニューラル・ネットワークを訓練及び／又は強化するために使用されてもよい。
【０１７０】
特定の実施例では、高性能ＳｏＣは、知覚、計画、及び制御を含む機能を提供する、ＮＶＩＤＩＡが提供するソフトウェア・スタックを実行する。
【０１７１】
４．複数のコンピュータを使用する実施例
図１５は、単一の高性能ＳｏＣ（１００）を有する一実施例を示す。もちろん、車両（５０）は、一般的には、他の不可欠な所望の機能（例えば、ブレーキ作動、エレクトロニック・イグニション、環境制御、インフォテインメント・システム、ＧＰＳ、レーダ及びＬＩＤＡＲ処理など）を制御する追加のプロセッサと、ＡＳＩＣと、ＳｏＣとを含む。車両の機能安全性は、モニタ／アクチュエータ・アーキテクチャ及び冗長化を使用することによって向上され得る。モニタ／アクチュエータ・アーキテクチャは、１つのモジュール（アクチュエータ）を使用して主な機能を実行し、そのアクチュエータを、独立したモニタリング・モジュールを用いてモニタする。アクチュエータが故障した場合、モニタ・モジュールはフェイル・セーフ・モードに入り、アクチュエータに優先する。
【０１７２】
別の実施例では、高性能ＳｏＣは、図１６に示されるように、冗長なフェイル・セーフ機能を提供するために、プラットフォーム内で前世代ＳｏＣと統合されることがある。この実例では、プラットフォーム（１１００）は、ＣＰＵ複合体（２００）と、ＧＰＵ複合体（３００）と、ＣＰＵ複合体及びＧＰＵ複合体に接続されたＬ３キャッシュと、ＰＶＡ（４０２）とＤＬＡ（４０１）とを含むアクセラレータ（４００）と、上記で説明されたＣｏｒｔｅｘ  Ｒ５プロセッサ（７０２）〜（７０５）とを含む、図９に関連してより詳細に説明される構成要素を含むことが好ましい高性能ＳｏＣ（１００）を含む。プラットフォーム（１１００）は、ＳｏＣ（２００）も含む。高性能ＳｏＣ（１００）及びＳｏＣ（２００）はそれぞれ、ディスクリート・グラフィックス処理ユニット（ｄＧＰＵ）（８０２）（例えば、ＮＶＩＤＩＡのＰａｓｃａｌ、Ｖｏｌｔａ、又は後世代ＧＰＵ）に接続されてよい。
【０１７３】
図１６に示される実例では、第３のＳｏＣ（８０３）は、ロック・ステップ（「ＬＳ」）Ｔｒｉｃｏｒｅ（３２４）と２つの非ＬＳ  ＴｒｉＣｏｒｅ（３２５）とを含むマイクロプロセッサを備えることがある。第３のＳｏＣ（８０３）は、安全性管理ユニット（「ＳＭＵ」）（３１８）と、バス・インターフェース（３２０）、（３２２）とを含んでよい。よく知られているように、ロックステップ・システムは、動作の同じセットを同時に並列して実行するフォールト・トレラントなコンピュータ・システムである。ロック・ステップ動作からの出力が、障害があったかどうか、及び誤り訂正技法を用いて潜在的に修正されたかどうかを判定するために比較可能であるので、冗長性によって、エラー検出及び誤り訂正が可能になる。
【０１７４】
ＳｏＣ（１００）、（２００）、及び（８０３）の各々は、独立した電力管理を提供するために電力管理集積回路（「ＰＭＩＣ」）（３２６）に接続されてよい。例示的な非限定的な一実施例では、ＳｏＣ（１００）、（２００）、及び（８０３）のそれぞれは、独立した電源と、関連するメカニズムとを備えることができる。異なるプロセッサのための異なる電力提供メカニズムは、系統立ったレベルに対する追加の適用範囲を提供するように異なって設計されてよい。いくつかの実施例では、３つの、すなわち３つの独立的に機能するプロセッサの各々に対して１つの、独立した電源がある。他の実施例では、少なくとも２つの独立した電源があり、１つのプロセッサに供給される電力は、他の２つのプロセッサに供給される電力とは異なる。
【０１７５】
好ましい一実施例では、図８及び図９に示される複数の高性能ＳｏＣは、図１７において概略的な形で示された、自動運転車両のための全体的なシステム・プラットフォーム（８００）に含まれる。図１７は、高速相互接続（８０５）によってディスクリートＧＰＵに接続された２つの高性能ＳｏＣ（１００）を示す。高速相互接続（８０５）は、好ましくは、ＮＶＩＤＩＡのＮＶＬＩＮＫ技術である。
【０１７６】
図１７に示されるように、高性能ＳｏＣ（１００）は各々、マイクロコントローラ（「ＭＣＵ」）（８０３）に接続される。ＭＣＵは、ＳｏＣを備えてもよいし、スタンド・アロンＡＳＩＣを備えてもよいし、他のプロセッサを備えてもよい。市販のＭＣＵは、マイクロコントローラを含む。一般的な一実施例では、ＭＣＵは、ＡＳＩＬ  Ｄ機能安全性レベルのために設計される。
【０１７７】
ＭＣＵ（８０３）は、システムのためのマスタ・コントローラとして動作する。ＭＣＵ（８０３）は、２つの高性能ＳｏＣ（１００）をリセットし、２つの高性能ＳｏＣ間で表示を切り換え、カメラ電力を制御することができる。ＭＣＵと高性能ＳｏＣは、ＰＣＩＥスイッチ（８０４）を通して接続される。
【０１７８】
図１７に示されるように、高性能ＳｏＣ（１００）は、チップ・ツー・チップ（「Ｃ２Ｃ」）通信が可能である。そのような通信は、ＰＣＩＥスイッチ（８０４）を通してであってもよいし、２つの異なる高性能ＳｏＣを接続するセキュアなメッセージ層を通して直接的であってもよい。高性能ＳｏＣは、高速ＮＶＬＩＮＫを通して直接的に互いとペアにされてよい。Ｃ２Ｃ通信のために構成されたとき、２つの高性能ＳｏＣのシステムは、ある程度まで、単一の統合されたシステムであるかのように機能する。Ｃ２Ｃ通信のために構成されたとき、各高性能ＳｏＣは、他の高性能ＳｏＣのＤＲＡＭ及びＳｙｓＲＡＭをアドレス指定することができる。
【０１７９】
さらに、図１７に示される好ましい実施例では、高性能ＳｏＣ（１００）の各々は、ディスクリートＧＰＵ（ｄＧＰＵ）（８０２）とペアにされる。したがって、システムは、自動自律運転システムのために単一のコンピュータを使用することができ、冗長性は、複数の高性能ＳｏＣ上での冗長な計算の独立を通して提供される。例示的な非限定的な実施例では、自動運転動作を提供するために必要とされる機能の大部分は、異なるプロセッサ間のソフトウェア又はファームウェアにおいて重複される。したがって、いくつかの実装では、類似のアルゴリズムが、両方の高性能ＳｏＣ内で、又はさらにはＳｏＣとｄＧＰＵを含む４つのプロセッサすべてにおいて、実行される。いずれの場合にも、センサによって収集されたすべての関連入力は、プロセッサの各々へと送られる。プロセッサの各々は、センサ・データを独立的に処理してよく、作動情報及び／又は車両アクチュエータを制御するために使用され得る制御信号を独立的に提供する。ＭＣＵ（８０３）は、プロセッサから作動情報及び／又は制御信号を受け取り、それらの整合性を評価する。一般的な実施例では、ｄＧＰＵは、ＡＳＩＬ  Ｂ機能安全性レベルを有する。
【０１８０】
何らかの理由で高性能ＳｏＣの１つが故障した場合、他の高性能ＳｏＣは、引き続き動作する。高性能ＳｏＣが、故障した高性能ＳｏＣによって実行された動作にとって冗長な動作を実行しているので、自立性及びその関連する重大な機能は、プロセッサのいずれか１つが故障したときでも依然として維持可能である。
【０１８１】
いくつかの例示的な非限定的な実装では、両方の高性能ＳｏＣが、同じ入力を受け取る、又は少なくとも同じ入力へのアクセスを有する。例えば、両方の高性能ＳｏＣは、ＣＡＮバスなどの共通バス（又は複数の冗長なバスの構成）に接続されてよく、それによって、同じ情報にアクセスすることができる。一方、３つの異なるプロセッサによって実行される独立した処理により、高性能ＳｏＣの各々が、他のプロセッサが結果を計算するために使用している同じ入力を使用しなければならないという必要性はない。例えば、１つの可能な実装では、第１の高性能ＳｏＣは、レーダ入力のみに基づいて判断をすることがあるが、別の高性能ＳｏＣは、レーダとＬＩＤＡＲの両方の融合に基づいて、又はステレオ・カメラからの入力に基づいて、類似の判断をすることがある。別の可能な実装では、高性能ＳｏＣは各々、レーダ情報及びＬＩＤＡＲ情報を受け取ることがある。
【０１８２】
高性能ＳｏＣ（１００）及びｄＧＰＵ（８０２）は、ディープ・ニューラル・ネットワークを使用して、自動運転車両制御のために必要な高レベル機能のうちのいくつか又はすべてを実行することがある。上記で述べられたように、各高性能ＳｏＣ内のＧＰＵ複合体（３００）は、好ましくは、（例えば、限定するものではないが）車線検出、対象物検出、及び／又は空き空間検出を含む自動運転に必要な機能を実行するために、ＣＮＮ、ＤＮＮ、及び他の任意のタイプのネットワークを含む任意の数の訓練されたニューラル・ネットワークを実行するように構成される。ＧＰＵ複合体（３００）は、訓練されたニューラル・ネットワークを実行して、認知、プランニング、及び制御の機能を含む、車両制御、車両管理、又は安全性のために望ましい任意のＡＩ機能を実行するようにさらに構成される。認知機能は、センサ入力を使用して、好ましくは占有率グリッドを含むワールド・モデルを作成し、プランニングは、このワールド・モデルを受けて最も良い計画を作成し、制御は、この計画を受けて、それを実施する。これらのステップは、連続的に反復される。
【０１８３】
各高性能ＳｏＣは、これらのタスクのうちのいくつか又はすべてをディスクリートＧＰＵ（８０２）に肩代わりさせることがある。ｄＧＰＵ（８０２）は、高性能ＳｏＣ上のＧＰＵクラスタ上で実行する１つ又は複数のネットワークの冗長な動作を実行し、機能安全性を向上させ得る。代替的に、ｄＧＰＵ（８０２）は、追加のニューラル・ネットワークを実行して、車両制御、車両管理、又は安全性のために望ましい任意のＡＩ機能を実行することがある。好ましい一実施例では、ｄＧＰＵ（８０２）は、ネットワークを訓練するために、又はＧＰＵクラスタ（３００）上で実行されるネットワークと異なるシャドウ・ネットワークを実行するために使用され、さらなる機能安全性を提供することがある。
【０１８４】
示される実例では、構成要素（１００）、（８０２）、（８０３）は、共通プリント回路基板に取り付けられ、同じエンクロージャ又はハウジング内に配置され、したがって、「ワン・ボックス」コントローラ・ソリューションを提供する。ワン・ボックス・コンピュータ・ソリューションは、好ましくは、プロセッサ及び回路基板を効率的に冷却するためのシステムを含む。一実施例では、冷却システムは、ファンシンクと統合されるように適合された能動的ハイブリッド熱輸送モジュールを含む。この実施例では、ファンシンクは、限定するものではないが、１つ又は複数のファンと、壁と、底部プレートとを含む。一実施例では、システムは、とりわけ粒子及び他の混入物がファンに入ることとファンから吹かれた空気がシステムから漏れることを防止するヒート・シンクの蓋も含む。ヒート・シンクの蓋は、ファンシンクの壁及び底部プレートとともに、複数の空気チャネルを画定する。ハイブリッド熱輸送モジュールは、熱を輸送するように適合された流体チャネルと空気チャネルの両方を含む。ハイブリッド熱輸送モジュール及びファンシンクは、単独で使用されてもよいし、プロセッサから熱を放散させるために組み合わせて使用されてもよい。
【０１８５】
図１８は、プラットフォーム・アーキテクチャ（９００）のさらなる実施例を示す。実施例は、図１７に示される実施例と同一であるが、ＰＣＩＥ  ｘ８  バス（９０２）を通じてＰＣＩＥスイッチ（８０４）に接続されたＸ８６  ＣＰＵ（９０１）の追加がある。
【０１８６】
図１９は、プラットフォーム・アーキテクチャ（９００）の別の実施例を示す。実施例は、図１８に示される実施例と同一であるが、Ｘ８６  ＣＰＵ（９０１）がＰＣＩＥ  ｘ８  バス（９０２）を通じてＧＰＵ（８０２）と通信することを可能にする第２のＰＣＩＥスイッチ（８０４）の追加がある。
【０１８７】
Ｃ．通信アーキテクチャ
図２０は、任意の数の協働し相互接続されたシステム・オン・チップ（ＳＯＣ）２００２（１）、２００２（２）、…、２００２（Ｎ）を含む別の例示的なシステム・アーキテクチャ２０００を示す。示される特定の非限定的な実例では、１つ又は複数のＳＯＣ２００２（１）、２００２（２）があり、これらの各々は、プロセッサと、キャッシュ・メモリと、メモリ管理回路と、通信回路と、インターフェース回路と、ディープ・ラーニング・アクセラレータ（ＤＬＡ）などの他のコンピューティング構造とを有するコンピュータを含む。示されるＳＯＣ２００２の実例は、同じ集積回路パッケージング内の同じ基板上の所与のＳＯＣ２００２のすべてのそのような構造を提供するが、他の実装も可能である。例えば、各コンピュータは、複数の集積回路（ＩＣ）パッケージ及び／又は同じパッケージ内の複数の基板（例えば、マルチ・チップ・モジュール、すなわちＭＣＭ）にまたがって分散可能である。
【０１８８】
示される特定の実施例では、２つのＳＯＣ２００２（１）、２００２（２）は、いくつかの適用例では互いと同一であってもよいし、他の適用例では互いと異なってもよい。同一のＳＯＣ２００２を使用することによって、プログラミングの利便性と、減少したコストが提供され得る。様々なハードウェアが同じ障害、予想外の挙動、及び詳細な挙動特徴を示す可能性が低いので、異なるＳＯＣ２００２のために異なるアーキテクチャを使用することによって、増加したフォールト・トレランスが提供され得る。任意の所与の実装では、複数のＳＯＣ２００２の１つのセットが、互いと部分的に又は完全に同一であってよく、複数のＳＯＣの別のセットは、互いと部分的に又は完全に異なってよい。
【０１８９】
示される実例では、各ＳＯＣ２００２は、関連するメモリ・システム２００４を有する。示される実例では、ＳＯＣ２００２（１）は、それぞれのメモリ・システム２００４（１）にアクセスし、ＳＯＣ２００２（２）は、それぞれのメモリ・システム２００４（２）にアクセスする。示される実例では、メモリ・システム２００４（１）、２００４（２）は、互いと別個で、互いから独立しており、したがって、１つのメモリ・システム２００４内で発生する障害、ボトルネック、又は他の挙動は、他のメモリ・システムの動作に影響を与えない。示される例示的な実施例では、メモリ・システム２００４（１）、２００４（２）は、独立性を提供するために互いと通信しないが、他の実施例では、メモリ・システム２００４（１）、２００４（２）は、互いとの何らかの通信又は相互作用を有してもよいし、メモリ・システムのうちのいくつか又はすべてがＳＯＣ２００２間で共用されてもよい。
【０１９０】
各メモリ・システム２００４は、ＤＲＡＭなどのランダム・アクセス・メモリ、読み出し専用メモリ、リード／ライト・フラッシュ・メモリ、及び／又は他の半導体、又は他のメモリ・タイプを備えてよい。メモリ・システム２００４の一部であるメモリ・パーティションのうちのいくつかは、情報をセキュアに記憶するセキュアなメモリであってよい。メモリ・システム２００４は、少なくとも一部は、関連するＳＯＣ２００２がタスクを実行するために実行するプログラム命令を記憶する非一時的メモリを構成する。各メモリ・システム２００４は、関連するＳＯＣ２００２によって処理されることになるデータ及びＳＯＣによって作成されるデータも記憶する。
【０１９１】
示される実例では、各ＳＯＣ２００２は、少なくとも１つの関連するグラフィックス処理ユニット（ＧＰＵ）２００６と相互接続され、それらと相互作用する。したがって、ＳＯＣ２００２（１）は、関連するＧＰＵ２００６（１）と相互接続され、これと相互作用し、ＳＯＣ２００２（２）は、関連するＧＰＵ２００６（２）と相互接続され、これと相互作用する。そのような構成は、冗長性及びスケーラビリティを提供する。一実施例におけるＧＰＵ２００６は、超並列ストリーミング・マルチプロセッサ・ハードウェア計算及び加速サポートをＳＯＣ２００２に提供する。そのような相互接続は、高速専用通信リンク２００７を介してであってよい。いくつかの適用例は、ＧＰＵを有さないＳＯＣ２００２を提供することがあり、他の適用例は、複数のＧＰＵを有する又はＳＯＣ間で共有されるＧＰＵを有するＳＯＣ２００２を提供することがある。複数のＧＰＵ２００６は、いくつかの実施例では、他の１つと部分的又は完全に同一であってもよいし、他の実施例では、互いとは部分的又は完全に異なってよい。
【０１９２】
示される実例では、各ＧＰＵ２００６は、それ自体の関連するそれぞれのメモリ２００８にアクセスする。したがって、ＧＰＵ２００６（１）は、それぞれのメモリ２００８（１）にアクセスし、ＧＰＵ２００６（２）は、それぞれのメモリ２００８（２）にアクセスする。各ＧＰＵメモリ２００８は、ＤＲＡＭなどのランダム・アクセス・メモリ、読み出し専用メモリ、フラッシュ・メモリ、及び／又は他のメモリ・タイプを備えてよい。示される実例では、各ＧＰＵメモリ２００８は、少なくとも一部は、指定されたタスクを実行するように関連するＧＰＵ２００６に命令する又はその他の方法で定義する命令、コマンド、及び／又は構成フォーマットを記憶する非一時的メモリを構成する。ＧＰＵメモリ２００８は、関連するＧＰＵ２００６によって処理されることになるデータ及びＧＰＵによって作成されるデータを記憶する。示される実例では、ＧＰＵメモリ２００８は、追加のフォールト・トレランス及びメモリ帯域幅を提供するために、ＳＯＣメモリ２００４と別個であり、これから独立している。他の実施例では、ＧＰＵ２００６は、それらのそれぞれのメモリのうちのいくつか又はすべてを、他のＧＰＵ、ＳＯＣ２００２、及び／又は他の構成要素若しくはシステムと共有することがある。
【０１９３】
示される実例では、ＳＯＣ２００２は、１つ又は複数のマイクロコントローラ・ユニット（ＭＣＵ）２００３と通信及び相互作用する。非限定的な実例では、ＭＣＵ２００３は、プロセッサと、それらのプロセッサが実行する命令を記憶する関連するメモリとを備えてよい。示される実例では、複数のマイクロコントローラ・ユニット２００３（ａ）、２００３（ｂ）があることがあり、１つ又は複数のユニットが、障害の場合に別の又は他のユニットにフォールバック又は冗長性を提供する。例示的なアーキテクチャにおけるマイクロコントローラ・ユニット２００３は、例えば、障害モニタリング、通信などの特定の目的に使用され得る。
【０１９４】
示される実例では、ＧＰＵ２００６のうちのいくつか又はすべては、関連するＳＯＣ２００２に加えて、１つ又は複数の追加のプロセッサ２０１０と通信し得る。そのような追加のプロセッサ２０１０は、システム２０００の特定の物理的点所在地／インストール環境の内部又は外部であってよい。例えば、プロセッサ２０１０は、いくつかの実装では、クラウド内に設置され、ネットワーク又は他の通信リンクを介してＧＰＵ２００６と通信してよい。他の実装では、プロセッサ２０１０は、ＳＯＣ２００２と同じボード、バックプレーン、又は他の構造上で、同じ場所に設置されてよい。
【０１９５】
いくつかの例示的な実施例におけるプロセッサ２０１０は、ＳＯＣ２００２とは異なるアーキテクチャ、命令セット、及び機能を有し、適用例がその上で実行するための代替計算プラットフォームを提供する。一実例として、プロセッサ２０１０は、その第１の命令セット及び関連するアーキテクチャのために開発されたアプリケーションとの適合性を提供するために第１の命令セット及び関連するアーキテクチャを提供することがあるが、ＳＯＣ２００２は、その第２の命令セット及び関連するアーキテクチャのために開発されたアプリケーションとの適合性を提供するために、第２の命令セット及び関連するアーキテクチャ（第１の命令セット及び関連するアーキテクチャと異なる）を提供することがある。したがって、各タイプのアプリケーションは、ＧＰＵ２００６によって提供される超並列マルチプロセッシング及びアクセラレーション・ハードウェア・サポート能力にアクセスすることが可能になる。そのような実装では、ブロック２００２、２０１０によって提供される異なるプロセッサ・アーキテクチャは各々、ＧＰＵ２００６と相互作用することができる。
【０１９６】
示される実例では、ＳＯＣ２００２は、スイッチ、バス、又は非透過型ブリッジ２０１２を介して、互いと通信する。示される実例では、スイッチ又はバス２０１２は、それ自体の記憶域２０１６を有してよく、１つ又は複数の拡張コネクタ２０１８と相互接続してよい。示される実例では、バス又はスイッチ２０１２は、ＳＯＣ２００２（１）とＳＯＣ２００２（２）との間の通信を提供する。示される実例では、各ＳＯＣ２００２は、バス・マスタとして機能することができる。いくつかの例示的な実施例では、同じバス又はスイッチ２０１２は、ＳＯＣ２００２のどちらか又は両方がポート２０１４及び／又は拡張コネクタ２０１８を介して１つ又は複数の他のデバイスと通信することも可能にする。例えば、スケーラビリティを提供するために、一実施例は、示される構造の拡張を、拡張コネクタ２０１８を介して追加のＳＯＣ２００２に提供し、したがって、ＳＯＣのうちのいくつか又はすべては、拡張コネクタを介して互いと通信することができる。スイッチ又はバス２０１２はまた、特定の非限定的な一実例では１０Ｇｂｐｓ又は他の通信ポート２０１４などの、１つ又は複数の外部通信接続とインターフェースすることがある。他の実施例では、別個の、独立した、共有されていない、高速通信リンクが、ＳＯＣ２００２の各々が他のデバイスと通信することを可能にするために使用可能である。
【０１９７】
１つの特定の実例では、スイッチ又はバス２０１２は、ＰＣＩｅ（ＰＣＩ  Ｅｘｐｒｅｓｓ、すなわちＰｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｅｘｐｒｅｓｓ）スイッチを含んでよいが、ＰＣＩバス規格、ＰＣＩ−Ｘバス規格、若しくはＡＧＰバス規格などの、他の高速シリアル・バス規格、高速パラレル・バス規格、若しくは他のコンピュータ拡張バス規格、又は（限定するものではないが）ＮＶＩＤＩＡ  Ｃｏｒｐｏｒａｔｉｏｎによって開発された、シリアル複数車線短距離通信リンクとして実装されたワイヤ・ベース通信プロトコルであるＮＶＬｉｎｋなどのＰＣＩｅの将来の拡張物、代替物、若しくは後継が、代わりに、又は加えて、使用されてよい。
【０１９８】
示される実例では、ＳＯＣ２００２は、１つ又は複数のマルチポート・スイッチ２０２０を介して他のデバイスとも（いくつかの実施例では、互いと）通信することができる。例えば、マルチポート・スイッチ２０２０は、イーサネット（登録商標）２０２０又は他の通信リンク若しくはネットワークを介して任意の数の他のデバイスとインターフェースする能力を（例えば、重複を介して）提供することができる。そのような通信は、例えば、ＳＯＣ２００２がＷＬＡＮ、モデム、及び他の通信データ・ソースのようなデータ・ソースから、カメラ・センサ、ＬＩＤＡＲ、レーダ、慣性測定ユニット（ＩＭＵ）、及び他のセンサなどの車両上又はその中の広範囲の任意の数のセンサからもデータ及び信号を受け取ることを可能にするために使用可能である。
【０１９９】
示される実例では、ＳＯＣ２００２は、さらなる高速通信リンク又は他の通信リンク及び１つ又は複数のシリアライザ、デシリアライザ、又はシリアライザ／デシリアライザ・ペア（ＳｅｒＤｅｓ）２０２４を介して他のデバイスとも通信することができる。ＳｅｒＤｅｓペア２０２４は、並列データ・フォーマットと直列データ・フォーマットとの間の効率的な変換を提供する。例えば、ＳｅｒＤｅｓペア２０２４は、カメラ、ＬＩＤＡＲ、レーダ、又は他のセンシング・システムから複数の高解像度シリアル化ビデオ・データ・ストリームを受け取り、このシリアル化データ・ストリームをパラレル化データ・フォーマットに変換して、このパラレル化データ・フォーマットを記憶及び／又は処理のためにＳＯＣ２００２に提供するために使用可能である。例えば、２４以上のシリアル・インターフェース・カメラが、ＳｅｒＤｅｓペア２０２４を介してサポート可能である。いくつかの実施例では、同じパラレル化ストリームが、複数のＳＯＣ２００２の両方に冗長に提供可能である。他の実装では、異なるパラレル化ストリームが、異なるＳＯＣ２００２に提供可能である。
【０２００】
ＳＯＣ２００２は、インターフェース２０２８及び車両コネクタ２０３０を介して車両バス２０３２とも通信し得る。示される実例では、ＭＣＵ２００３も、インターフェース２０２８を介して車両バス２０３２と直接的に通信することができる。例示的な一実施例における車両バス２０３２は、多数の車両又は最新の車両において見られるなどの、車両コントローラ・エリア・ネットワーク（ＣＡＮ）マルチ・マスタ・メッセージ・ブロードキャスト・システム・バス２０３２を備えてよい。いくつかの実施例におけるそのような車両バス２０３２は、Ｂｏｓｃｈ  ＣＡＮ規格、及びＩＳＯ−１１８９８：２００３、又はそれらの将来のバージョン、後継、及び／若しくは代替物に準拠する。インターフェース２０２８は、そのような車両バス２０３２を介して通信するためにトランシーバを含む。他の車両インターフェース２０２８はＲＳ−２３２、Ｆｌｅｘｒａｙ、ＰＴＰ、ＧＰＩＯ、ＬＩＮ、ＵＡＲＴなどを用いてよい。
【０２０１】
そのようなアーキテクチャでは、ＳＯＣ２００２は、車両バス２０３２上に追加のコントローラを備え、車両バスに接続された他のコントローラ又はアクチュエータと通信することができる。このようにして、ＳＯＣ２００２は、車両バス２０３０を介して、車両センサを読み取って出力及び状態を制御し、他の車両コントローラ（例えば、エンジン制御モジュール）と通信し、限定するものではないが、ブレーキ・アクチュエータ、ステアリング・アクチュエータ、エンジン・スロットル・アクチュエータ、他のエンジン制御アクチュエータ、送信制御アクチュエータ、及び他のタイプの車両アクチュエータを含む車両アクチュエータにコマンド信号を送ることができる。示される実例では、ＭＣＵ２００３も、インターフェース２０２８を介して車両バス２０３２と通信することができる。
【０２０２】
図２１は、図１７、図１８、又は図１９に示されるプラットフォーム内の複数の高性能ＳｏＣ（１００（１）及び１００（２））が自動運転車両を制御する実施例を示す。上記で述べられたように、高性能ＳｏＣ（１００）及びｄＧＰＵ（８０２）は、ディープ・ニューラル・ネットワークを使用して、自動運転車両制御のために必要な高レベル機能のうちのいくつか又はすべてを実行することがある。上記で述べられたように、各高性能ＳｏＣ内のＧＰＵ複合体（３００）は、好ましくは、対象物検出、空き空間検出を含む自動運転に必要な機能を実行するために、ＣＮＮ、ＤＮＮ、及び他の任意のタイプのネットワークを含む任意の数の訓練されたニューラル・ネットワークを実行するように構成される。ＭＣＵ（８０３）は、高性能ＳｏＣのいずれか（１００（１）及び１００（２））とＡＤＡＳシステム及び機能（８２）からの矛盾する結果の場合に調停する。図２１に示されるシステムが、限定されるものではないが、示されている。異なる数及び組合せのセンサが、本技術の趣旨の範囲内で使用されてよい。そのうえ、ＡＤＡＳシステム（８２）は任意選択である。ＡＤＡＳシステム及びセンサのすべて又はいくつかは、レベル３〜５自動運転のためのシステムの一部として使用されてもよいし、ＡＤＡＳシステム及びセンサのいずれも、レベル３〜５自動運転のためのシステムの一部として使用されなくてもよい。
【０２０３】
図２２は、自動運転能力が意図された複雑なプラットフォームを含む本技術のさらなる実施例を示し、８つのｄＧＰＵ（８０２）とペアにされた最大８つの高性能ＳｏＣ（１００）が、ＮＶＳｗｉｔｃｈと呼ばれる別のＮＶＩＤＩＡオフ・チップＳｏＣ（１００１）を使用する。
【０２０４】
ＮＶＳｗｉｔｃｈ（１００１）構成は、高性能ＳｏＣ（１００）の１つからのＰＣＩｅリンク（１００３）を使用する。８つの高性能ＳｏＣ（１００）は、８つのＰＣＩｅリンク（９０２）を通して８つのｄＧＰＵ（８０２）とペアにされてよいが、或いは、ＮＶＬＩＮＫが使用されてもよい。８つの高性能ＳｏＣ（１００）及び８つのｄＧＰＵ（８０２）は、ＮＶＬＩＮＫ接続（８０５）を使用してＮＶＳｗｉｔｃｈ（１００１）に接続される。さらに、８つの高性能ＳｏＣ（１００）は、Ｉ２Ｃバス（１００２）を使用して、互いと直接的に通信する。代替的に、高性能ＳｏＣ（１００）は、高速ＮＶＬＩＮＫを通して直接的に互いとペアにされてよい。各高性能ＳｏＣは、他の高性能ＳｏＣのＤＲＡＭ及びＳｙｓＲＡＭをアドレス指定することができる。
【０２０５】
ＮＶＳｗｉｔｃｈ（１００１）は、ＮＶ  Ｌｉｎｋを使用して、様々な高性能ＳｏＣ（１００）とｄＧＰＵ（８０２）との間のポイント・ツー・ポイント通信を提供するネットワーク・スイッチである。ＮＶ  Ｌｉｎｋは、２０Ｇｂｉｔ／ｓよりも高いデータ転送レートを提供するポイント・ツー・ポイント通信プロトコルである。代替実施例では、ＮＶ  Ｓｗｉｔｃｈ（１００１）は、通信が様々な高性能ＳｏＣ（１００）とｄＧＰＵ（８０２）との間で発生することを可能にするために、１つ又は複数の通信プロトコルを利用する、１つ又は複数の他のスイッチ、ハブ、又は他のネットワーク・デバイスに置換されてもよいし、これで補われてもよい。
【０２０６】
動作中、８つの高性能ＳｏＣは各々、訓練され、歩行者検出、標識検出、距離推定、車線検出、衝突回避、現行占有率グリッド、予測占有率グリッド、及びステアリング制御のような特定のタスクに焦点を当てたネットワークを有し得る。代替的に、技術によって、単一ネットワークの共同訓練が、対象物検出、車線検出、空き空間、距離推定などの複数のタスクを扱うことが可能になる。
【０２０７】
前の実例は、各高性能ＳｏＣ（１００）に対する１つのディスクリートＧＰＵ（８０２）を示しているが、ＳｏＣは、図２３に示されるように、ＰＣＩｅリンク（９０２）を通して、ＮＶＬＩＮＫ（８０５）及びＮＶＳＷＩＴＣＨ  ＳｏＣ（１００１）を通して接続された任意の数のディスクリートＧＰＵと連携するように設計及び構成される。
【０２０８】
１．機能安全性を向上させるための追加の実施例
図８は、本技術を実行するための高性能ＳｏＣの一実施例を示し、図１７、図１８、図１９、及び図１９は、本技術を実行するための高性能ＳｏＣを組み込んだプラットフォームを示す。各プラットフォームは、自動運転のためのボードを備えてよく、構成要素（１００）、（８０２）、（８０３）は、共通プリント回路基板に取り付けられ、同じエンクロージャ又はハウジング内に配置され、したがって、「ワン・ボックス」コントローラ・ソリューション又はスーパーコンピュータ・ソリューションを提供する。上記で述べられたように、スーパーコンピュータ・ソリューションは、好ましくは、プロセッサ及び回路基板を効率的に冷却するためのシステムを含む。一実施例では、冷却システムは、ファンシンクと統合されるように適合された能動的ハイブリッド熱輸送モジュールを含む。ハイブリッド熱輸送モジュールは、熱を輸送するように適合された流体チャネルと空気チャネルの両方を含む。ハイブリッド熱輸送モジュール及びファンシンクは、単独で使用されてもよいし、プロセッサから熱を放散させるために組み合わせて使用されてもよい。
【０２０９】
自動運転車両は、複数の異なるスーパーコンピュータを有し、システム安全性、信頼性、及び冗長性を保証することがある。例えば、図２４は、本技術の一実施例による複数のコンピュータを有するアーキテクチャを示す。
【０２１０】
システムは、１つ又は複数のＬＩＤＡＲセンサ（３００）、並びにレーダ、カメラ、超音波、及び他のセンサを含む複数の他のセンサ（４００）を含んでよい。ＬＩＤＡＲセンサ（３００）、及び他のセンサ（４００）は、プライマリ・コンピュータ（オン・ボード・コンピュータ）（１００）への入力を提供する。複数の他のセンサ（４００）は、バックアップ・コンピュータ（オン・ボード・コンピュータ）（２００）への入力も提供する。
【０２１１】
プライマリ・コンピュータ（オン・ボード・コンピュータ）（１００）及びバックアップ・コンピュータ（オン・ボード・コンピュータ）（２００）は各々、図１７、図１８、又は図１９に従って構成されてよい。代替的に、プライマリ・コンピュータ（オン・ボード・コンピュータ）（１００）は、図１７、図１８、又は図１９に記載のもう１つの高性能ＳｏＣを含んでよく、バックアップ・コンピュータ（オン・ボード・コンピュータ）（２００）は、旧世代のプロセッサ、又は別のタイプのプロセッサを一緒に使用してよい。例えば、上記で述べられたように、バックアップ・コンピュータ（２００）は、前世代プラットフォームを備えてよい。
【０２１２】
代替的に、本技術は、別個の独立した組織体（ｅｎｔｉｔｙ）によって設計及び製造されたセカンダリ・コンピュータを提供し、ダイバーシティ及び機能安全性をさらに向上させる。例えば、技術の一実施例では、バックアップ・コンピュータ（２００）は、１つ又は複数のＡＤＡＳシステムを含んでよい。そのような実施例では、セカンダリ・コンピュータ（２００）は、とりわけ自動運転／適応／自動走行制御（「ＡＣＣ」）、前方クラッシュ警告（「ＦＣＷ」）、自動緊急ブレーキ（「ＡＥＢ」）、車線逸脱警告（「ＬＤＷ」）、死角警告（「ＢＳＷ」）、後方交差交通警告（「ＲＣＴＷ」）、及び滑りやすい道路検出を含む、複数のディスクリートＡＤＡＳシステムを含んでよい。これらの実施例では、セカンダリ・コンピュータ（２００）は単一のボックス内にある必要はなく、コンピュータを備える複数のＡＤＡＳシステムは、それらの機能は機能安全性のための冗長な実行を提供することであるので、互いと直接通信する必要はない。同様に、実施例では、セカンダリ・コンピュータ（２００）を備える複数のディスクリートＡＤＡＳシステムは、様々なＡＤＡＳ供給業者及び／又は半導体製造業者からのＣＰＵ、ＦＰＧＡ、ＳｏＣ、及びＡＳＩＣを含む、異なるディスクリート・センサ及びプロセッサに依拠してよい。そのような実施例では、本技術は、２つのＡＳＩＬ  Ｂサブシステム、又は１つのＡＳＩＬ  Ｃサブシステム及びＡＳＩＬ  Ａ、ＡＳＩＬ  Ｂ、若しくはＡＳＩＬ  Ｃの第２のサブシステムなどの、より低いＡＳＩＬの冗長で独立したサブシステムを組み合わせることによって、より大きなＡＳＩＬ機能安全性を提供する。
【０２１３】
いくつかの実施例では、プライマリ・コンピュータとセカンダリ・コンピュータは同一でない。そのような異なる実装及び意図的な非対称によって、システム全体の、ソフトウェア（又はソフトウェア・ハードウェア・インターフェース）機能によって引き起こされた障害に対するフォールト・トレラント性が高くなる。例えば、プライマリ・コンピュータ（１００）上で実行するソフトウェア内にソフトウェア・バグ又はエラーがあり、セカンダリ・コンピュータ（２００）上で実行する同一でないソフトウェア・コードが、同じ全体的な結果を提供するが、異なるように設計及び実装される場合、システムは、全体的な結果が適切であり、バグが重大なエラーを引き起こしていないという、より大きな信頼性を有することができる。そのような意図的に異なる設計は、ソフトウェア設計上の欠陥又はバグに基づく単一障害点の可能性を減少させる。一代替実施例では、同じアルゴリズムは、ソフトウェア開発コスト及び複雑度を減少させるためにコンピュータ（１００）、（２００）の各々の上で使用可能であり、追加のテスト及び検証は、ソフトウェア欠陥によってコンピュータ（１００）及び（２００）がすべて故障するかもしれないというリスクを減少させるために使用されてよい。意図的に異なるソフトウェアは、対応するハードウェア削減及び関連する複雑度管理を提供し、それによって、増加した信頼性及び減少した故障率を生じさせる。
【０２１４】
図２６は、本技術の一実施例によるシステムのさらなる図である。図２６に示されるように、システムは、プライマリ・コンピュータ（オン・ボード・コンピュータ）（１００）と、セカンダリ・コンピュータ又はバックアップ・コンピュータ（オン・ボード・コンピュータ）（２００）とを含む。プライマリ・コンピュータ（１００）は、複数のセンサ（７００）からセンサ入力を受け取り、複数のセンサ（７００）は、エンジン・センサ（７０１）と、ドア・センサ及び／又はトランク・センサ（７０２）と、重量重心センサ（７０３）と、タイヤ・センサ及びタイヤ振動センサ（７０４）と、ブレーキ・センサ（７０５）と、ステアリング・センサ（７０６）とを含んでよい。他のよく知られているセンサは、プライマリ・コンピュータ（１００）への入力を提供するために、技術により使用されてよい。
【０２１５】
重量重心センサ（７０３）は、シャシー及び本体のダイナミクスを正確に記録する商業用グレード低ｇ加速度センサを使用することによって実施可能である。適切なセンサは、単軸センサを含む。そのようなセンサは、以下の「本技術を使用する自律運転車両の追加の実例」という名称のセクションでより十分に説明される、自動運転トラック及び自動運転バスに特に有用である。
【０２１６】
複数のセンサ（７００）の観察下に置かれた重要な車両動作ステータス・パラメータには、とりわけ、（１）前方車両スピード、（２）車両方向、（３）スロットル位置、（４）ブレーキ作動、（５）ステアリング角及びステアリング・レート、（６）加えられるステアリング・トルク、（７）トランスミッション・ドライブ・ギア選択、（８）能動的安定性制御介入（オン／オフ）、及び（９）自動緊急ブレーキ介入（オン／オフ）がある。
【０２１７】
プライマリ・コンピュータ（１００）は、ミッション／プライマリ制御機能を含む。いくつかの好ましい実施例では、プライマリ・コンピュータ（１００）は、認知、プランニング、及び制御を含む機能を提供する、ＮＶＩＤＩＡからの自動運転ソフトウェア・スタックを実行する。上記で説明されたように、認知モジュール（１０１）は、センサ入力を受けて、ワールド・モデル、又は占有率グリッドを作成し、そのワールド・モデル内の対象物の挙動を予測し、運転シチュエーションにとって最も良い計画を作成し、その計画を実施するアクチュエータ・コマンドを作る。好ましい実施例では、認知モジュール（２０１）は、措置の合理的な過程に関する合理性モジュール（２０２）に指示する。認知モジュール（１０１）は、動的運転タスクを実行するように運転モジュール（１０２）に指示する。
【０２１８】
好ましい実施例では、特にセカンダリ・コンピュータ（２００）がプライマリ・コンピュータ（１００）と同じ又は類似したハードウェアを備えるとき、セカンダリ・コンピュータ（２００）は、冗長な異なるソフトウェアを実行させて、認知及び動的運転タスクにおける障害を検出する。セカンダリ・コンピュータ（２００）も認知モジュール（２０１）を含み、認知モジュール（２０１）は、センサ入力を受けて、ワールド・モデルを作成し、運転シチュエーションにとって最も良い計画を作成して、それを実施する。セカンダリ・コンピュータ（２００）が複数のＡＤＡＳシステムを備える実施例では、セカンダリ・コンピュータは、複数のＡＤＡＳシステムを独立して動作させ、とりわけ、車線逸脱、接近しつつある対象物、死角にある対象物、接近しつつある後方交差交通に関する起こり得る警告を含む出力を提供する。
【０２１９】
システムは、プライマリ・コンピュータ（１００）セカンダリ・コンピュータ（２００）から入力を受け取る監視ＭＣＵ（６００）を含む。監視ＭＣＵ（６００）は、入力を評価し、競合があれば調停し、コマンドをアクチュエータに渡す。監視ＭＣＵの制御下に置かれた重要なパラメータには、（１）スロットル、（２）ブレーキ、（３）加えられるステアリング・トルク、及び（４）トランスミッション・ドライブ・ギア選択がある。
【０２２０】
監視ＭＣＵ（６００）は、共有リソースをモニタし、パイプライン内の複数の段階において結果を比較する。監視ＭＣＵ（６００）は、プライマリ・コンピュータからのコマンドに従うべきであるように、プライマリ・コンピュータ（１００）セカンダリ・コンピュータ（２００）からの入力を比較して、２つのコンピュータが十分にアライメントされているかどうかを判定する。監視ＭＣＵ（６００）は、一連のシステム・リミッタを提供する安全性モジュールを実行する。監視ＭＣＵ（６００）は、スピードの関数としてステアリング角及びステアリング・トルクなどの項目を制限するための表及び曲線を提供する。これらの曲線は、ＣＡＮコマンドが車両コントローラに前方に渡される前の終点門番役として安全性関係を実施する。
【０２２１】
第１のコンピュータによって提供される結果と第２のコンピュータによって提供される結果が異なるとき、監視ＭＣＵ（６００）は、例えば、図２５に示されるように、それらを調停しなければならない。
【０２２２】
例示的な非限定的な実施例は、類似しているが同一でないアルゴリズムによる独立した処理を提供するので、異なるプロセッサからの作動制御結果は、異なる判断という結果になることがある。１つの実例として、車両カメラが、先行車両が減速しており、したがって、ブレーキが加えられる必要があることを示すとき、２つの独立したコンピュータ（１００）、（２００）及び／又は入ってくるセンサ・データを独立して処理するプロセスは各々、ブレーキが加えられるべきであると判定することがあるが、加えられるべきであるブレーキの量のそれぞれの判定における量が異なることがある。２つの独立したコンピュータ及び／又はプロセスは各々、ブレーキ・コマンドを提供し、２つの独立したコマンドは、両方のコマンドを受け取るために接続された周辺ブレーキ・コントローラ（７００）によって調停される。２つの独立して動作するコンピュータ（１００）、（２００）又はプロセスの各々が同じコマンド（例えば、０．５ｇでブレーキを加える）を生成する場合、必要とされるアービトレーションは単純であり、ブレーキ・コントローラは、０．５ｇでブレーキを加える命令に従うだけである。一方、ブレーキ・コントローラ（７００）が、ブレーキを提供する２つの異なるコマンドを受け取るが、ブレーキの量が異なる（例えば、一方のコントローラは０．５ｇのブレーキを命令し、他方のコントローラは０．３ｇのブレーキを命令する）場合、ブレーキ・コントローラは、これらの２つの異なるコマンドを調停することを必要とする。
【０２２３】
調停する１つの手段は、最小値（例えば０．３ｇ）でブレーキを加えることであろう。別のシナリオでは、０．５ｇのブレーキしきい値があり、一方のプロセッサ／プロセスはブレーキを加えるように命令し、他方のプロセッサ／プロセスは命令しないと仮定する。１つのシナリオでは、ブレーキ・モジュール（７００）は、ブレーキを加えなくてよい。別のシナリオでは、ブレーキ・モジュール（７００）は、ブレーキを加えてよいが、０．５ｇでのブレーキを要求したプロセッサによって命令されたよりも軽いブレーキ（例えば、０．３ｇのブレーキ）を加えてよい。別の可能性は、０．５ｇという指定された力でブレーキを加えるコマンドに従うが、自動運転システムは完全には信頼できないことを操作者（図２５の「警告」出力を参照されたい）に通知して、手動運転に引き継ぐ機会を運転者に与えることである。
【０２２４】
例示的な非限定的な実施例では、異なるプロセッサ／プロセス間の同期は必要とされない。むしろ、異なるプロセッサの独立した動作は、処理及び関連する出力生成は緩く同期されるにすぎないことを意味する。周辺デバイス（７００）によって実行されるアービトレーション判断は、異なるコンピュータ又はプロセッサから受け取られた異なるコマンドを調停するとき、この同期欠如を考慮に入れる。
【０２２５】
さらに、プロセッサから周辺機器にコマンドを通信するために使用される通信バスも、（例えば、競合及びバス上の他のメカニズムにより）非決定論的に非同期であってもよく、これは、周辺デバイス上のアービトレーションが考慮に入れる上の追加のタイミング要素である。１つの実例として、ブレーキ・コントローラ（７００）が１つのプロセッサからコマンドを受け取るとき、ブレーキ・コントローラ（７００）は、アービトレーション判断を行う前に別のプロセッサが類似のコマンドを提供するかどうかを知るために待つ、あるタイミング・ウィンドウ（図２５を参照されたい）を定義することがある。そのような許容度は、周辺モジュールが、複数の独立したプロセッサによって発行されたコマンドに応答することを保証するために組み込まれる。１０〜２５ミリ秒の範囲にあるそのような時間ウィンドウは、異なるコンピュータ（１００）、（２００）又はプロセス間の唯一の緩やかな同期を説明するために許容可能であってよい。しかしながら、タイミング・ウィンドウは、周辺デバイス（７００）が依然としてタイムアウトを検出することができるのに十分に短くあるべきである。第２のメッセージがタイムアウト期間の後に到着した場合、周辺デバイス（７００）は、これをその信頼性チェック（７０２）を用いて検出し、第２のコマンドを無視してもよいし、第１のコマンドを無視してもよい。いくつかの実施例では、ブレーキ・モジュール（７００）は、信頼性チェックが、独立した制御信号の一方又は他方が障害の結果であることを示す場合、フィードバック又は通知をＳｏＣ（１００）に提供することができる。
【０２２６】
一般に、周辺デバイス（７００）が２つの異なる独立したプロセッサ間の結果を調停することができるように冗長なコマンドを受け取ることが好ましいが、周辺デバイスは、単一のプロセッサからのコマンドのみに基づいて作動することも可能である。
【０２２７】
コンピュータ（１００）と（２００）の両方が故障したとき、ＭＣＵは、上記のように運転者に警告信号を提供する。この場合、例示的なシステムは、自動運転動作を続行する信頼性を有さず、そのため、例示的なシステムは、ブレーキ・モジュール（７００）、ステアリング・モジュール（６２）、及び推進モジュール（５６）に対して「安全な停止への運転手（Ｃｈａｕｆｆｅｕｒ  ｔｏ  Ｓａｆｅ  Ｓｔｏｐ）」コマンドを実行する、又は引き継ぐように運転者に要求する。２つのコンピュータ（１００）及び（２００）が故障しても、アーキテクチャは、ＭＣＵのロック・ステップ（ＬＳ）コアと非ＬＳコアの両方において冗長な機能を実行することによって、冗長性を維持する。したがって、システムは、障害にもかかわらず、安全性レベルを維持することが可能である。
【０２２８】
上記で「複数のコンピュータを使用する実施例」という名称のセクションにおいて説明された複数のコンピュータを有する実施例においてそうであったように、両方のコンピュータは、好ましくは、同じ入力へのアクセスを有し、好ましくは、ＣＡＮバス（又は複数の冗長なバスの構成）などの共通バスに接続され、それによって、同じ情報にアクセスすることが可能である。そのうえ、上記で「複数のコンピュータを使用する実施例」において説明された複数のコンピュータを有する実施例においてそうであったように、プライマリ・コンピュータ及びセカンダリ・コンピュータは、異なるセンサから情報を受け取って処理し、さらなる冗長性及び安全性を提供し得る。
【０２２９】
図２７は、バックアップ・コンピュータ又はセカンダリ・コンピュータ（２００）が、全部又は一部が、ビジュアル・コンピューティング・ＡＤＡＳシステムを含む１つ又は複数のＡＤＡＳシステムを含む実施例を示す。
【０２３０】
適切なＡＤＡＳ  ＳｏＣは、意図しない／指示されていない車線逸脱を運転者にアラートする車線逸脱警告（「ＬＤＷ」）、先行車両に対する現在のダイナミクス下で、衝突が差し迫っていることを示す前方衝突警告（「ＦＣＷ」）、差し迫った衝突を識別する自動緊急ブレーキ（「ＡＥＢ」）、適応走行制御（「ＡＣＣ」）、車線維持支援（「ＬＫＡ」）、及び車線センタリング（「ＬＣ」）に使用されるように設計される。
【０２３１】
本技術によるバックアップ・コンピュータ（２００）の一部として使用されるとき、適切なＡＤＡＳ  ＳｏＣ（２０１）は、バックアップ・コンピュータ合理性モジュール（２０２）に認知情報を提供する。合理性モジュール（２０２）は、認知及び動的運転タスクにおいて障害を検出するために、ハードウェア構成要素上で冗長な異なるソフトウェアを実行する。その後、システムは、ＳｏＣからの出力を監視ＭＣＵ（６００）に提供する。
【０２３２】
したがって、ＡＳＩＬ−Ｄは、主な機能のためのＮＶＩＤＩＡ製ＤＲＩＶＥ  ＰＸソフトウェア・スタックと、冗長でフェイル・セーフな機能を提供するモバイル・プロセッサとを有する本技術の高性能ＳｏＣを使用することによって達成され得る。
【０２３３】
プライマリ・コンピュータ（１００）からの出力とセカンダリ・コンピュータ（２００）からの出力が競合するとき、ＭＣＵは、安全な動作を保証するためにそれらの出力をどのようにして調和させるかを決定しなければならない。先に述べられたように、商用ＡＤＡＳシステムは、誤判定結果の傾向がある。人間が自動車を運転しているとき、ＡＤＡＳが、安全状態が本当に存在するかどうか、そしてそれに応じて行動するかどうかを判断することができる人間にアラートするので、誤判定は、いらいらさせ、気を散らせるが、一般的には破局的ではない。
【０２３４】
自律運転自動車（５０）において、車両自体が、相反する結果の場合、プライマリ・コンピュータ（１００）からの結果に留意すべきかセカンダリ・コンピュータ（２００）からの結果に留意すべきかを判定しなければならない。自律運転自動車（５０）内のＭＣＵ（６００）は、最も慎重な手法をとる、すなわち、プライマリ・コンピュータ（１００）又はセカンダリ・コンピュータ（２００）のどちらかが危険な状態を示した場合に是正措置をとるように構成されてよい。しかし、セカンダリ・コンピュータがＡＤＡＳシステムである実施例では、慎重な手法は、誤判定という結果になり、例えば、車両がフリーウェイ上で突然ブレーキをかける、又はレーダ・ベースＡＤＡＳシステムからのアラームをトリガする、排水格子又はマンホール蓋などの実際は危険物でない対象物を回避するために急に曲がる場合、受け入れがたい性能につながり、危険な状態すら作り出す。
【０２３５】
いくつかの好ましい実施例では、プライマリ・コンピュータ（１００）は、選ばれた結果に対するプライマリ・コンピュータの信頼度を示す信頼度スコアをＭＣＵに提供するように構成される。信頼度スコアがしきい値を超える場合、ＭＣＵは、セカンダリ・コンピュータが相反する結果又は一致しない結果を提供するかどうかに関係なく、プライマリ・コンピュータの指示に従う。信頼度スコアがしきい値を満たさない場合、及びプライマリ・コンピュータとセカンダリ・コンピュータが異なる結果を示す場合、ＭＣＵは、適切な成果を判定するためにコンピュータを調停する。
【０２３６】
好ましい実施例では、ＭＣＵ（６００）は、前記プライマリ・コンピュータ及び前記セカンダリ・コンピュータからの出力に基づいて、前記セカンダリ・コンピュータがフォールス・アラームを提供する状態を判定するように訓練及び構成されたニューラル・ネットワークを実行するように構成される。したがって、好ましい一実施例では、ＭＣＵ（６００）内のニューラル・ネットワークは、セカンダリ・コンピュータの出力がいつ信頼可能であるかと、いつ信頼できないかを学習する。例えば、セカンダリ・コンピュータ（２００）がレーダ・ベースＦＣＷ  ＡＤＡＳシステムであるとき、ＭＣＵ（６００）内のニューラル・ネットワークは、レーダ・ベースＡＤＡＳシステムが、レーダ・ベースＡＤＡＳシステムからのアラームをトリガする、排水格子又はマンホール蓋などの実際には危険物でない金属製対象物をいつ識別しているかを学習することができる。同様に、セカンダリ・コンピュータ（２００）がカメラ・ベースＬＤＷ  ＡＤＡＳシステムであるとき、ＭＣＵ（６００）内のニューラル・ネットワークは、自転車運転者又は歩行者が存在し、車線逸脱が実際には最も安全な操作であるとき、ＬＤＷに優先することを学習することができる。ＭＣＵ上で実行するニューラル・ネットワークを含む実施例では、ＭＣＵ（６００）は、好ましくは、関連するメモリを有するネットワークを実行するのに適したＤＬＡ又はＧＰＵのうちの少なくとも１つを含む。好ましい実施例では、ＭＣＵは、上記で「本技術を実行するためのＡＩスーパーコンピュータ・プラットフォーム」というセクションで説明された高性能システム・オン・チップを備えることができる。
【０２３７】
他の実施例では、図２７が示すように、セカンダリ・コンピュータ（２００）は、例えば、コンピュータ・ビジョンの従来のルールを使用してＡＤＡＳ機能を実行するＡＤＡＳシステムを含む、１つ又は複数の高性能ＡＤＡＳシステムであってよい。セカンダリ・コンピュータ（２００）が、古典的なコンピュータ・ビジョン・ルール（ｉｆ−ｔｈｅｎ）を使用する場合、ＭＣＵ（６００）にニューラル・ネットワークが存在することによって、信頼性、安全性、及び性能が改善される。この実施例では、異なる実装及び意図的な非一致性によって、システム全体の、ソフトウェア（又はソフトウェア・ハードウェア・インターフェース）機能によって引き起こされた障害に対するフォールト・トレラント性が高くなる。例えば、プライマリ・コンピュータ（１００）上で実行するソフトウェア内にソフトウェア・バグ又はエラーがあり、ＡＤＡＳ  ＳｏＣ（２０１）を有するセカンダリ・コンピュータ（２００）上で実行する同一でないソフトウェア・コードが同じ全体的な結果を提供する場合、監視ＭＣＵ（６００）は、全体的な結果が適切であり、プライマリ・コンピュータ（１００）上のソフトウェア又はハードウェア内のバグが重大なエラーを引き起こしていないという、より大きな信頼性を有することができる。
【０２３８】
図２７が示すように、高性能ＡＤＡＳシステム（２０１）からの出力は、プライマリ・コンピュータの認知ブロック（１０１（１））及び／又はプライマリ・コンピュータの動的運転タスク・ブロック（１０２（１））に送られてよい。例えば、高性能ＡＤＡＳシステム（２０１）が、対象物がすぐ前にあることにより前方クラッシュ警告を示す場合、認知ブロック（１０１（１））は、対象物を識別するときに、この情報を使用してよい。
【０２３９】
他の実施例では、セカンダリ・コンピュータ（２００）は、上記で説明された様式で訓練され、したがって誤判定のリスクを減少させる、それ自体のニューラル・ネットワークを有する。
【０２４０】
さらなる実施例では、車両（５０）は、多数の量産車においてＮＶＩＤＩＡによって提供される、ＧＰＵ機能を含むインフォテインメント・システムを含んでよい。例えば、図４に示される実施例では、車両（５０）は、プライマリ・コントローラ（１００（１））と、セカンダリ・コントローラ（１００（２））と、インフォテインメント・コントローラ（１００（３））とを含んでよく、各コントローラは、１つ又は複数のＧＰＵ及び／又は「本技術を実行するための高性能システム・オン・チップ」というセクションにおいて説明される高性能ＳｏＣなどの高性能ＳｏＣによって給電される。インフォテインメント・システムが監視ＭＣＵ（６００）に結合されるとき、インフォテインメント・システム内のＧＰＵは、プライマリ・コンピュータ（１００）とバックアップ・コンピュータ（２００）の両方が故障した場合に制限された自律運転機能を実行するようにプロビジョニング可能である。この実施例では、インフォテインメント・システムは、ブレーキ・モジュール（７００）、ステアリング・モジュール（６２）、及び推進モジュール（５６）に対して「安全な停止への運転手」コマンドを実行する又は引き継ぐように運転者に要求するように構成される。
【０２４１】
機能安全性は、センサの誤作動を検出し、これに安全に応答することもシステムに要求する。例えば、カメラが埃又は雨滴によって妨害されるとき、自動運転車両を制御するためのシステムは依然として、確実に機能することが可能でなければならない。自動運転は、一般に複数のセンサを必要とし、システムは信頼性が高い情報を必要とするので、センサ・システム妨害を検出することは重要である。カメラが妨害されたとき、画像は、一般に、少量の細部を有するぼけた領域を含む。一般的に言えば、センサ妨害検出は、パターン認識問題と見なすことができ、ニューラル・ネットワークは、ぼけた領域を識別しようとすることによってセンサ故障を検出するように訓練されてよい。
【０２４２】
センサ出力に基づいて、ニューラル・ネットワークは、２つの状態、すなわち正常ステータス又は異常ステータス（センサが妨害又は閉塞されている）の１つにセンサを分類することがある。システムは、システムを２つの段階、すなわち特徴抽出と検出／分類に分割する。
【０２４３】
好ましい一実施例では、エッジ検出及びシャノン・エントロピーが、泥水、油、塗料、濃霧、又は他の類似した障害からのカメラ妨害を検出するために使用される。方法は、カメラがそのような障害によって妨害されるとき、エッジはそのような障害によって覆い隠されるので、妨害されたカメラによって撮影された画像はエッジ情報をあまり含まないという仮定に依拠する。１つの方法では、各画像内の勾配情報が計算され、強度がしきい値を上回る強いエッジのみが使用される。強いエッジは時間とともに蓄積され、安定したエッジは、蓄積プロセスを通じて強化される。蓄積されたエッジ画像は、ブロックに分割される。各ブロックに対して、ブロック内の情報の量が、シャノン・エントロピーによって測定される。エントロピーの変化は、対応するブロックがカメラ妨害により覆い隠される可能性を示す。
【０２４４】
別の実施例では、前向きの霧検出ルーチンは、霧が出たとき、空と道路の交差点は消失点よりも下がると仮定する。この実施例では、検出された消失点及び道路／空の高さは、視界距離を推定するために使用される。
【０２４５】
さらに、検出アルゴリズムは、現在のフレームのみに基づいてもよいし、フレームの（例えば、最近の）シーケンスに基づいてもよい。フレームのシーケンスが使用される場合、現在のフレームは、異常な変化を検出するために学習された背景モデルと比較され、妨害検出は、入力と背景モデルとの比較に基づく。好ましくは、システムが妨害検出を検出したとき、プライマリ・コンピュータ（１００）は、車両が妨害物除去システムを装備している場合、妨害物を取り除くためにルーチンを実行する。妨害物除去システムは、ワイパーと同じくらい単純であってよく、レンズをきれいにする目的でレンズ上に圧縮空気のストリームを提供するためのノズルも含んでよい。妨害物除去システムは、好ましくは、レンズを加熱して、氷、霜、又は他の結露を軽減又は除去するように設計された、霜取り装置又は曇り取りシステムも含んでよい。
【０２４６】
Ｄ．仮想化及び機能安全性
自動運転制御システムは複雑である。自動運転制御システムは、多くの場合、システムのシステムと考えられる。重要な難題は、そのような大規模システムをどのようにして安全にするかである。物理的に別個のコンピューティング・ハードウェアは、自動運転車両動作におけるリスクを減少させるために使用可能である。そのような物理的に別個のハードウェアは、コンピューティング・デバイス間に空気ギャップを提供することによって、フォールト・トレランス及びセキュリティを提供することができ、したがって、１つのハードウェア構成要素に対する問題又は攻撃は、他のハードウェア構成要素に影響しない。しかしながら、自動運転車両制御のために実行される異なる計算タスクは、多くの場合に、異なるときにではあるが、同じ計算リソースの多くを必要とすると判明する。
【０２４７】
それほど多くの計算能力が、路上にてリアル・タイムで画像を認識する及び車両は何を行うべきであるかを判定するなどの集約的作業を実行するために必要とされるので、いくつかの適用例、状況、及び特定の実装では、完全に別個であるが冗長である、比較的高価なハードウェア・リソースをシステムの異なる部分に提供することは、費用対効果が高くないことがある。むしろ、いくつかの適用例及び状況では、より少数の強力な計算デバイスを使用し、自律運転車両制御の異なる目的及び態様に同じ計算ハードウェアを時間とともに再使用することが望ましい、又は望ましいことがある。言い換えれば、費用が多くの場合に重要な要素である状況で費用対効果を提供するために、様々な機能間でハードウェアを多重化することが望ましいことがある。
【０２４８】
いくつかの非限定的な実施例では、様々な自動運転車両機能間でのハードウェアのそのような共有又は多重化を提供することは、例えば、多層防御（ＤｉＤ）及び干渉からの解放を通して、セキュリティ脅威の冗長性、独立性、パーティショニング、及び軽減を提供するためにコンピューティング構造を抽象化及び仮想化することによって、安全に達成可能である。そのような仮想化された安全性及びセキュリティ・アーキテクチャは、例えば、自動運転車両の複雑度並びに自動運転車両動作と関連づけられた安全性及びセキュリティ・リスク（例えば、安全上の不備及び誤作動並びにサイバー攻撃を含む）によって通知されることがある。
【０２４９】
１つの実例として、コンピューティング構造は、無線（ＯＴＡ）プログラミング、データ、及び／又は他の更新を受け入れるように構造化可能である。しかしながら、いくつかの状況では、そのような無線更新が、どのようにして車両を運転するかについての判断を直接的に行ういかなる仮想マシン又は他の構成要素にも直接的に流れ込まないことを保証することが望ましいことがある。これは、無許可行為者が、車両制御ソフトウェアを実行している仮想マシンへの直接アクセスを有する外部インターネット又は他のネットワークを使用するリスクを回避し、攻撃者がＯＴＡプロセスを損なう又はその他の方法で攻撃の一部として使用することを防止する。
【０２５０】
アーキテクチャはまた、安全性にとって最も重要なコンピューティング構造及び／又は関連するソフトウェアの部分が互いから並びにコンピューティング構造及び／又は関連するソフトウェアの他の部分から隔離されるように仮想化可能である。例えば、通信コード実行は、それを別個の仮想マシン内で実行することによって、他の機能から隔離及びパーティショニング可能である。仮想化は、安全性を考慮に入れて設計されたＡＳＩＬ−Ｄ認定リアル・タイム・オペレーティング・システム（ＲＴＯＳ）が使用されている状況ですら、異なるプログラムの同じ計算リソース上への安全な統合及びパーティショニングを提供するために有益であることができる。さらに、セキュリティを増加させるために、限られた信頼モデルが、ピアが互いに信頼しない、親が子供を信頼しない、子供が限られた信頼を親に持つ、及び監査証跡が許可された措置に関する説明責任を提供し得ることを提供してもよいし、信頼モデルは、これを提供しなくてもよい。
【０２５１】
いくつかの例示的な実施例では、通信パーティションは、ゲスト・オペレーティング・システム間のすべてのプラットフォーム・トラフィックと、仮想化された外部インターフェース（例えば、イーサネット（登録商標）、ＣＡＮなど）上での外部世界を遮るために使用されてよく、セキュリティ・パーティションは、侵入攻撃の検出及び軽減を実行するために使用されてよい。いくつかの例示的な非限定的な実施例では、したがって、通信は、別個の仮想マシン内で隔離され、追加の防止及び検出機能は、疑わしい活動及び挙動を識別し、埋め込みシステムのセキュリティを保証する予防的及び防止的手段をとるために提供される。ディープ・パケット・インスペクションも、悪意のあるペイロードがないかどうかパケット内容をスキャンするために使用されてよい。
【０２５２】
図２８は、例示的な非限定的な仮想化された自動運転車両制御コンピューティング・プラットフォーム４０００を示す。仮想化されたプラットフォーム４０００は、任意の数の仮想化されたＣＰＵ４００４上で実行する任意の数の仮想マシン４００２を含む。仮想化されたＣＰＵ４００４は、任意の数のハードウェアＣＰＵコア４００６上で実行する。ハイパーバイザ又は仮想マシン・マネージャ（ＶＭＭ）優先式スケジューラ４００８は、異なる仮想マシン間の隔離を提供し、共通リソースを共有しようとするすべてのアプリケーションに対するサービス品質を保証しながら、異なるハードウェアＣＰＵコア４００６上での異なる仮想化されたＣＰＵ４００４のタスクの実行をスケジュールする。例えば、ハイパーバイザに関するさらなる情報については、本願の譲受人に譲渡された米国特許第９，７４２，８６９号明細書及び米国特許出願公開第２０１５／００６７６７２号明細書を参照されたい。
【０２５３】
１つの非限定的な例示的実例として、１つ、２つ、又は任意のＮ個の仮想マシン４００２（０）、…４００２（Ｎ）があってよい。プラットフォーム４０００は、異なる仮想マシン４００２間の隔離を提供する。１つ又は複数のアプリケーションは、各ホスト仮想マシン４００２内でゲストとして実行する。仮想マシン４００２（０）、…４００２（Ｎ）は、ＶＣＰＵ０  ４００４（０）、４００４（１）、４００４（２）、…４００４（９）、…４００４（Ｋ）などの任意の数の仮想ＣＰＵ上で実行することができる。仮想ＣＰＵ４００４は、同じハードウェアＣＰＵコア上で実行してもよいし、異なるハードウェアＣＰＵコア上で実行してもよい。例えば、以下の通りである。
・  ＶＣＰＵ４００４（０）は、コア４００６（０）上で実行してよい。
・  ＶＣＰＵ４００４（１）は、コア４００６（１）上で実行してよい。
・  ＶＣＰＵ４００４（２）は、コア４００６（２）上で実行してよい。
・  ＶＣＰＵ４００４（３）は、コア４００６（３）上で実行してよい。
・  ＶＣＰＵ４００４（４）及び４００４（９）は、コア４００６（４）上で実行してよい。
・  ＶＣＰＵ４００４（５）は、コア４００６（５）上で実行してよい。
・  ＶＣＰＵ４００４（６）及び４００４（８）は、コア４００６（６）上で実行してよい。
・  ＶＣＰＵ４００４（７）は、コア４００６（７）上で実行してよい。
【０２５４】
いくつかの場合では、仮想化されたＣＰＵ４００４とハードウェアＣＰＵコア４００６との間に１対１の対応があってよい。他の場合では、複数の仮想化されたＣＰＵ４００４は、所与のハードウェアＣＰＵコア４００６上で実行してよい。仮想化されたＣＰＵ４００４が複数のハードウェアＣＰＵコア４００６によってサポートされるシチュエーションもあってよい。いくつかの例示的な実装では、仮想ＣＰＵ４００４は、パーティション構成表内で定義されたマッピングを用いて物理的ＣＰＵコア４００６に静的に割り当てられる。他の例示的な実装では、ハイパーバイザ４００８は、優先順位、負荷分散、及び他の考慮事項を含む様々な要素に応じて、仮想化されたＣＰＵ４００４へのＣＰＵコア４００６の割り振りを動的に変更することができる。ハイパーバイザ４００８は、優先順位スケジューラを使用して、物理的ＣＰＵコア４００６上の仮想ＣＰＵ４００４を時分割してよい。
【０２５５】
仮想化されたプラットフォーム４０００は、リソース・マネージャ（ＲＭ）サーバ４０１０（１）、通信サーバ４０１０（２）、及び他のサーバ４０１０（３）…４０１０（Ｌ）などの任意の数の仮想サーバをさらに含んでよい。そのようなサーバは、仮想マシン４００２のいずれか又はすべてをサポートするために、直接的なハードウェア・サポートのない仮想化されたハードウェアを備えてよい。例えば、リソース・マネージャ・サーバ４０１０（１）は、何らかのハードウェア又は他のリソース（例えば、１つ又は複数のＧＰＵ並びに／又はエンコーダ、デコーダ、及び／若しくは合成器などのメディア・エンジン）に対する制御を行うサーバ・ソフトウェアを備え、複数のクライアント間のハードウェア又は他のリソースの使用を多重化してよく、そのため、クライアントは、競合なしに物理的コンピューティング・リソースを共有することができる。他の例示的なサーバ４０１０は、非限定的な実例として、
・  カメラ入力を管理するためのカメラ・ビデオ・ストリーミング・サーバ４０１０（３）、
・  記憶デバイスを管理する（そして、例えば、各仮想マシン４００２自体の仮想メモリ・アドレス空間を割り振り、サービス品質保証を実施するために、ゲストが多すぎるアクセスで物理的記憶域を圧倒するのを防止する）ためのストレージ・サーバ４０１０（４）、
・  Ｉ２Ｃなどのいくつかの通信バスの使用を管理するためのバス・サーバ４０１０（５）、
・  オーディオ・ハードウェア・リソースを管理するためのオーディオ・サーバ４０１０（６）、
・  ディスプレイ・リソースを管理するためのディスプレイ・サーバ４０１０（７）、
・  セキュリティ・エンジンを管理するためのセキュリティ・サーバ４０１０（８）、
・  デバッグにおいて使用するためのデバッグ・サーバ４０１０（９）、
・  ＣＰＵコア４００６上で実行する他の機能のすべてをモニタし、オン・チップ・ハードウェア若しくは他のリソースにステータスを報告する安全モニタ（ウォッチドッグ）サーバ４０１０（１０）、及び／又は
・  その他
を含んでよい。
【０２５６】
サーバ４０１０はまた、例示的な実装において仮想化され、１つ又は複数の仮想化されたＣＰＵ４００４上で実行し、実行をハイパーバイザ４００８によって優先式スケジュールさせる。いくつかの例示的な実施例では、仮想化されたサーバ４０１０は、ハイパーバイザ４００８によって別の方法で提供されることがある（そして、一般に、他のシステム内のハイパーバイザによって提供される）が、ハイパーバイザを最低限に抑え、単純で、簡単で、証明し得るように保つためにこのアーキテクチャ内でハイパーバイザから隔離されるサービスを提供する。
【０２５７】
例示的な実施例では、仮想マシン４００２は、標準的又は均一なハードウェア構成のイリュージョン（ｉｌｌｕｓｉｏｎ）を、それらの上で実行する自動運転車両アプリケーションに提示してもよいし、提示しなくてもよい。仮想マシン４００２の状況において、リアル・タイム自動運転車両システム内でハードウェア能力をエミュレートするためにソフトウェアを提供することが可能であるが、そのようなエミュレーションは、ランタイム・パフォーマンスの観点から高価すぎることがある。したがって、ホスト仮想マシン４００２上で実行するゲスト自動運転車両アプリケーションは、必ずしも、任意の標準化された仮想ハードウェア構成を予想する又はこれに依拠するように設計及び構造化されない。エミュレーション・ソフトウェア・ミドルウェアを最小にする及び／又は除去することによって、ゲスト自動運転車両アプリケーション（依然として、その上でそれが実行されているホスト仮想マシン４００２の「サンドボックス」内に閉じ込められているが）は、コア４００６及びＧＰＵ、ハードウェア・エンジンなどの他のハードウェア構成要素のハードウェア能力に直接的にアクセスし、その上で実行することができる。ハードウェア・コア４００６及び他のハードウェアは、一方、仮想化をサポートして、ハイパーバイザ４００８にかかる負荷を最小にするように、及び機能への直接アクセスをゲストに与えることによってランタイム・パフォーマンスを最大にするように設計されてよい。例えば、いくつかの実装では、ゲストは、プラットフォーム４０００によって提供された複数のエンジンの各々への直接的アクセスを与えられ得、それらのエンジンに作業を直接的に提示することが許可される。一方、エンジンは、エンジンがゲストのサービス内で実行するすべてのメモリ・アクセスが、そのゲストの割り当てられた／アクセス可能な仮想メモリの状況で、競合を防止し、ゲスト間の意図しない通信を回避し、ゲストが他のゲストの状態を損なうことを防止するために、なされるように設計される。したがって、様々なゲストは、同じエンジン及び他のリソースを共有している場合でも、空間的に隔離されたままでいる。
【０２５８】
したがって、アーキテクチャは、エンジンなどの基礎となる同じリソースを共有する異なる仮想マシン間のパーティショニング、隔離、及び分離を提供するが、スケジューリング問題は、複数のゲストが同じリソースを同時に使用することを望むときに生じる。例示的な実装におけるＲＭサーバ４０１０（１）は、そのようなスケジューリング競合を解消する。ＲＭサーバ４０１０（１）は、状況を管理すること及びゲスト間でメモリを保護することなどの多重化タスクを実行する。いくつかの実装では、一般的な場合又は通常の場合にゲストがＲＭサーバ４０１０（１）と実行時に通信する必要はない。ＲＭサーバ４０１０（１）は、そのような実装では、競合が生じる又は何か他のことがうまくいかないとき、リソースを例外的に管理することがある。例えば、仮想マシン４００２及び／又はゲスト自動運転車両アプリケーションがリソースを使用し始め、次いでそのリソースを解放しない場合、ＲＭサーバ４０１０（１）は、仮想マシン４００２にリソースを解放させ、前進を保証させることがある。
【０２５９】
示される実例では、ハイパーバイザ４００８は、プラットフォーム４０００が満たすべきである安全性及びセキュリティ目標を達成するための基礎である。そのため、ハイパーバイザ４００８は安全テスト及び認証可能であり、例示的な実装におけるハイパーバイザ４００８は、マルチコアＳＯＣ又は他のコンピューティング・デバイス上で複数の仮想マシン４００２を同時に実行することをサポートするその機能を果たすために、できる限り単純であるように、及びハードウェア上で直接的に実行するように設計及び構造化される。例示的な実施例におけるハイパーバイザ４００８は、ステートレス又は大部分はステートレスであるように構造化され、競合するアプリケーションによってリソース・ロッキングを最小にすることによって高いサービス品質レベルを提供する。維持するべき状態がほとんどない又はないので、そのような実施例におけるハイパーバイザ４００８は、そのような状態を維持するためにリソースをロックする必要はない。ハイパーバイザ４００８とは別のストレージ・サーバ４０１０（Ｂ）からの記憶域アクセスなどのサービスを分配することは、ハイパーバイザのそのようなステートレス動作を容易にする。ハイパーバイザ４００８は、依然として、同じリソース上で動作を同時に実行することによってサーバが互いと競合しないことを保証するように時間的隔離を提供するためにサーバ４０１０によって提供される様々なサービスのために優先式スケジューリングを実行してよい。
【０２６０】
例示的な非限定的な実施例では、ハイパーバイザ４００８は、非常に高い規格（例えば、オペレーティング・システム・カーネルよりも高い）に保持される。認証は、正確さの数学的証明を含んでもよいし、含まなくてもよい。安全でセキュアなテストは、正確さを証明するためにも実行されてよい。ハイパーバイザ４００８は、互いとは別のシステムの異なる部分を保つために、高度の保証とともに信頼可能である。示される実例では、ハイパーバイザ４００８とその上でそれが実行するハードウェアとの間にソフトウェアはない。それは、プロセッサ・ハードウェア上で直接的に実行する「ベア・メタル」ハイパーバイザである。他の実施例は、異なるハイパーバイザ展開を提供することがある。
【０２６１】
図２９は、プラットフォーム４０００の別のビューを示す。このビューでは、仮想マシン４００２は、仮想マシンと計算のために必要とされるリソースとの間の通信を提供するチャネル４０１２によってサポートされる。任意の数のチャネル４０１２が、任意の所与の仮想マシン４００２に割当て可能である。例えば、以下の通りである。
・  仮想マシン４００２（０）は、チャネル４０１２（０）、…４０１２（Ｎ）が割り当てられてよい。
・  仮想マシン４００２（１）は、チャネル４０１２（Ｎ＋１）、…４０１２（Ｍ）が割り当てられてよい。
・  仮想マシン４００２（２）は、チャネル４０１２（Ｍ＋１）、…４０１２（Ｐ）が割り当てられてよい。
・  以下同様である。
【０２６２】
異なる仮想マシン４００２が共有リソースと通信することを可能にするためのチャネル４０１２の異なるセットを割り当てるためのハードウェア及び／又はソフトウェア・サポートは、プロセス当たり及び仮想化されたマシン当たりの隔離を提供する。さらに、ＧＰＵなどの共有ハードウェア・リソースの使用は、チャネル割当てを通して異なる仮想マシン４００２間で負荷分散可能である。仮想マシン４００２上のホスト自動運転車両アプリケーションは、状況のソフトウェア管理及びメモリ保護を最小にするために、それら自身のチャネルが割り当てられてよい。さらに、上記で言及されたように、ＲＭサーバ４０１０（１）及び／又はストレージ・サーバ４０１０（４）などの他のサーバは、メモリを保護することを用いて充電されてよい。優先式スケジューリング及び計算命令レベル・プリエンプションは、サービス品質要件を満たすことを可能にするために使用されてよい。
【０２６３】
図３０は、例示的なきめ細かな計算命令レベル・プリエンプションを示す。この図では、コマンド・プッシュ・バッファは、ワークグループにディスパッチされるコマンドを提供し、それらは、最終的に、プロセッサ上で実行するスレッドに割り当てられる。計算命令は、プリエンプションを提供してよい。しかしながら、他のリアル・タイム自動運転車両実施例では、プリエンプションの使用は、非決定論的な実行結果を防止するために最小にされる又は回避される。障害を修正又は防止するために必要であるときを除いてプリエンプションを回避することによって、アプリケーションが可変の予測不可能な実行点において中断され、次いで、それらの予測不可能な点において再開するように命令されるインスタンスが減少する。
【０２６４】
チャネル・リセット能力は、自動運転車両アプリケーション（又はそれらの詐称者）が意図的に又は意図せずに不釣合な量のリソースを消費若しくは占有すること及び／又はＧＰＵ若しくは他のリソースをクラッシュさせることを防止するために使用されてよい。例えば、ゲストが提携する又は共有リソース内で障害を発生させるとき、それと通信するために使用されるリソース及びチャネルが強制的に自動的にリセットし、既知の、適切に機能する動作状態に戻ることができる降格した動作モードに傾くことが可能である。パーティション内でサポートされるそのような構造及び機能は、以下で詳述されるように、安全を最重視すべきプロセスとの及びそれらの間のリアル・タイムの安全でセキュアな通信能力を提供する。
【０２６５】
通信はまた、例えば、マッピング能力、ダウンロード可能な地図、及び他の情報を提供するクラウド・サーバなどの外部デバイスでサポートされる。自動運転車両プラットフォームの任意の外部のネットワーク・インターフェースは、それがセキュアで暗号化及び認証される場合でも、厳しい環境と考えられるべきである。具体的には、攻撃者がすべての他の防御を打ち破り、イーサネット（登録商標）又は他の入出力インターフェースを、ＳＯＣ又は自動運転車両制御を実行する他の処理デバイスにアクセスするというリスクがある。攻撃者がネットワーク・スタックへの直接的なアクセスを有し、ネットワーク・インターフェース上の着信パケット及び／又は発信パケットを制御する能力を有するというリスクもある。攻撃者が、ネットワーク・スタック内の欠陥又は弱点を利用することが可能である場合、攻撃者は、ネットワーク・スタックを制御することが可能であり得る。ネットワーク・スタックが、安全を最重視すべき作業もしている同じ仮想マシン４００２内で実行される場合、これは、攻撃者が安全を最重視すべき作業を損なう又はその他の方法で影響を与えることができるというリスクを生じさせる。攻撃者は、攻撃者が害を及ぼすために使用するかもしれない安全を最重視すべき作業を実行する仮想マシン４００２のオペレーティング・システム・インスタンスでの足場を有するであろう。例えば、攻撃者は、例えばオペレーティング・システム・カーネル内の欠陥を利用することによって、悪意のある地図データを生成するかもしれない。ネットワーク・スタックが損なわれると、攻撃は、オペレーティング・システム・カーネルのバグ又は弱点を利用してカーネルを制御することへとカスケードし得る。好ましい実施例は、仮想マシン・パーティショニング及び他の構造及びセキュリティ技法を使用して、そのような攻撃から保護する。
【０２６６】
図３１及び図３２は、上記で提示されたセキュリティ・リスクに対処する例示的な非限定的な実装を示す。この実例では、通信ネットワーク・インターフェースは、安全を最重視すべき運転処理を実行している仮想マシン／パーティション４００２（Ｐ）とは別個の仮想マシン／パーティション４００２（Ｌ）内に設置される。通信パーティション４００２（Ｌ）は、ネットワーク・インターフェース・サービス及び関連するスタック４００２をサポートし、通信ネットワーク・インターフェース・プロセスのためのリソース・マネージャとして機能し得る。通信パーティション４００２（Ｌ）は、例えば、追加のセキュリティを提供するためにネットワーク・アドレス変換４０４０もサポートしてよい。通信パーティション４００２（Ｌ）は、埋め込みシステムと関連づけられた通信ハードウェアを管理する。そのような埋め込みシステムは、限定するものではないが、自動運転車両動作に使用されるシステム・オン・チップ（ＳｏＣ）を含んでよい。
【０２６７】
好ましい実施例によれば、通信パーティション４００２（Ｌ）は、（例えば）埋め込まれたセキュアなオペレーティング・システムを実行する仮想マシンとして実施可能である。好ましい実施例では、通信パーティション４００２（Ｌ）は、仮想マシン間通信を実行する仮想化されたルータを含むことができ、ゲスト・オペレーティング・システムと仮想化されたインターフェース上の外部ネットワーク又はアプリケーション（例えば、イーサネット（登録商標）、ＣＡＮなど）との間のプラットフォーム・トラフィックを遮る。
【０２６８】
したがって、例示的な通信パーティションの機構及び機能には、
・  イーサネット（登録商標）仮想化
・  ファイアウォール
・  ネットワーク・アドレス変換（ＮＡＴ）
・  Ｘａｖｉｅｒ  ＣＡＮバスのためのＣＡＮ仮想化
・  外部ＭＣＵ  ＣＡＮバスのためのＣＡＮ仮想化
・  インターフェースＤＤｏＳ対抗策
・  他の車載ネットワーク（ＦｌｅｘＲａｙ、ＭＯＳＴ、ＬＩＮ）の仮想化
・  その他
があり得る。
【０２６９】
好ましい実施例では、通信パーティション４００２（Ｌ）は、複数の仮想マシンに対するサポートを提供する。そのような展開によれば、通信パーティション４００２（Ｌ）は、完全に形成されたイーサネット（登録商標）・フレーム（上位層によって形成された）を、埋め込みシステムによって使用される車両内のネットワーク（例えば、イーサネット（登録商標））インフラストラクチャに提示し、これを受け取ることが可能である。通信パーティション４００２（Ｌ）はまた、仮想マシンにおいて上位レベル・プロトコルによって必要とされる帯域幅及び待ち時間保証を実施し、各ＶＭは、仮想化されたイーサネット（登録商標）・ドライバからフレームを提示することを担当する。好ましい実施例では、通信パーティション４００２（Ｌ）は、分散型サーバ妨害攻撃（ＤＤＯＳ）抵抗、トラフィック・フィルタリング、ステートレス・ファイアウォール、及び制限付きコーン接続管理などの（限定するものではないが）ネットワーク周辺セキュリティ機構を提供する。通信パーティション４００２（Ｌ）はまた、インフラストラクチャ・プログラミング機構、例えば、限定するものではないが、スイッチ構成、トラフィック・シェーピング、トラフィック・クラス・アービタ・プログラミング、及びＶＬＡＮフィルタリングを用いても実施可能である。
【０２７０】
例示的な一実施例では、通信パーティション４０２０（Ｌ）は、セキュリティ・パーティション４００２（Ｍ）とも相互作用する。例示的なセキュリティ・パーティション４００２（Ｍ）機構には、
・  ＩＰステートフル・ファイアウォール及びＩＰステートレス・ファイアウォール（ＮＡＴを含む）
・  ＣＡＮファイアウォール
・  ＳＳＬプロキシ
・  リモート監査サーバへのログ・アップロードを伴うセキュリティ監査及びイベント・ロギング
・  暗号化マネージャ−セキュリティ・ログ及び構成ファイル暗号化
・  ＤＤｏＳ対抗策
・  イーサネット（登録商標）及びＣＡＮ上のディープ・パケット・インスペクション（ＤＰＩ）に関する機械学習
・  仮想マシン及びファイル整合性チェック
・  セキュリティ及び通信仮想マシンＯＴＡサービス及びバックアップ管理
・  他の車載ネットワーク・プロトコル（ＦｌｅｘＲａｙ、ＭＯＳＴ、ＬＩＮ）のためのセキュリティ
があり得る。
【０２７１】
通信パーティション４０２０（Ｌ）のように、セキュリティ・パーティション４００２（Ｍ）は、セキュアな埋め込みシステム固有オペレーティング・システムを実行する仮想マシンとして実施可能である。好ましい実施例では、セキュリティ・パーティション４００２（Ｍ）は、トラフィックのための検出及びポリシーを構成する構成ファイル（暗号化及び署名された）にアクセスする、及び／又はこれを維持し得る。攻撃が検出されると、セキュリティ・パーティション４００２（Ｍ）は、その攻撃のために構成されたポリシーを規定することを担当する。各ゲストＶＭは、各通信インターフェースと関連づけられたセキュリティ・ポリシーを有する。これらのセキュリティ・ポリシーは、互いとは無関係であってよい。したがって、２つのゲストＯＳのための仮想マシンは、同じ物理インターフェースのために異なるセキュリティ・ポリシーを有することができる。
【０２７２】
例示的な非限定的な一実施例では、セキュリティ・パーティションは、通信パーティションと１つ又は複数の追加のＶＭ４００２（Ｐ）との間に論理的に配置されてよい。ＶＭ間通信及びゲストＯＳ内で実行するアプリケーションと外部通信インターフェースとの間の通信は、検査及び侵入検出のためにセキュリティ・パーティションを通ってルーティングされてよい。通信パーティション４００２（Ｌ）と、セキュリティ・パーティション４００２（Ｍ）と、さらなるパーティション４００２（Ｐ）内で実行するゲストＯＳとの間の仮想マシン間通信は、１つ又は複数の例示的な実施例では、通信パーティション４００２（Ｌ）内で実施される仮想ルータ４０３２、セキュリティ・パーティション４００２（Ｍ）内で実施される仮想ブリッジ４０３４、及び追加の仮想マシン４００２（Ｐ）上で実行するゲストＯＳ内の仮想ドライバ４０３６（図３２を参照されたい）によって実行されてよい。セキュリティ・パーティション内で実行され得るセキュリティ機構は、１つ又は複数の通信インターフェース（例えば、ＩＰ、ＣＡＮ）のためのファイアウォール、セキュア・ソケット・レイヤ（ＳＳＬ）プロキシ、分散型サービス妨害攻撃（ＤＤＯＳ）対抗策、ＶＭ及びファイルのための整合性チェック、並びにＯＴＡサービスのためのバックアップ管理、のうちの１つ又は複数を含んでよい。
【０２７３】
例示的な実施例によれば、セキュリティ・パーティション４００２（Ｍ）は、通信パーティション２００２（Ｌ）によって受信及び／又は送信されたネットワーク・パケットを深く検査し（ディープ・パケット・インスペクション）、ネットワーク通信が疑わしく見え始めた場合にネットワーク通信を（例えば、１つ又は複数の機構及び／又はデータ処理構成要素又はルーティング構成要素の無力化を介して）停止する情報を生成する、深層機械学習ニューラル・ネットワーク４０４６も提供する。そのようなディープ・パケット・インスペクションは、悪意のあるペイロードがないかどうかパケット内容をスキャンすることと、並びに以前に検出されていない異常を検出することを含んでよく、何か疑わしいものを検出したときに通信パーティション動作を中止するために必要な許可を有する。セキュリティ・パーティション４００２（Ｍ）は、攻撃者によって破壊不可能なセキュアなイベント・ロギング／監査証跡４０４４を提供することもできる（そのようなログ及び監査証跡は、共通基準証明を取得するのに有用である）。例示的な実施例が、例示の目的でパーティション４００２間の直接的な通信を示しているが、仮想マシン／パーティション間でセキュアに通信するための一般に知られている技法が、例示的な実装において使用されることが好ましいであろう。
【０２７４】
Ｅ．例示的な仮想化安全性フレームワーク
例示的な非限定的なプラットフォームは、運転及び他のシステム・タスク又はミッション・クリティカルなタスクを制御するソフトウェア機能及び／又はハードウェア機能の動作を絶えずモニタする安全性フレームワークをさらに含む。安全性フレームワークは、運転制御機能がどのように動作しているかに関する情報を収集し、システム構成要素が適切に動作していることを保証するために診断プロセスを実行することができ、必要に応じて自動的終了／リブート／再起動プロセスなどの是正措置をとり得る別個の安全性専用ハードウェア（例えば、１つ又は複数の安全性マイクロコントローラ）に例外を報告する。
【０２７５】
安全性フレームワークは、運転制御ハードウェア／ソフトウェア機能の故障によって安全性フレームワークも故障しないようにモニタしている運転制御機能と独立して動作する。例示的な非限定的な実施例は、いくつかの安全性フレームワーク構成要素が、異なるハードウェア上で実行する他の安全性フレームワーク構成要素を見張りモニタする弾力的なマルチ・レベル／多層安全性フレームワーク構造を提供することによって、「誰が警備員を見張るのか？」という昔からの質問に答える。ハードウェアから独立した複数のレベルの見張り／モニタリングを提供することによって、マルチ・レベル／多層安全性フレームワーク構造は、複数の層及び複数のハードウェア・プロセッサ全体にわたってモニタリング機能を分散させ、そのため、安全性フレームワーク自体の何らかの部分の故障が、安全性フレームワーク全体が動作できないようにすることがなく、安全性フレームワークのどの部分も、高性能プロセスをリアル・タイムで見張る要求によって過負荷状態になる又は圧倒されることがない。
【０２７６】
例えば、高性能運転アプリケーション・プロセッサの仮想マシン／パーティション内で実行するアプリケーション・ウォッチドッグ・モニタリング機能は、それらのアプリケーション・プロセスの動作の複雑な詳細をモニタすることを担当することがある。アプリケーション・ウォッチドッグ・モニタリング機能は、次に、異なる仮想マシン／パーティション内及び／又は異なるハードウェア内で動作していることがある安全性フレームワークの上位レベルに簡潔なモニタリング結果を報告する。そのような安全性フレームワーク上位レベル自体は、アプリケーション・プロセス・アプリケーション・ウォッチドッグ・モニタの複雑な詳細に関与するようになる必要はない。安全性フレームワーク上位レベルは、アプリケーション・ウォッチドッグ・モニタリング機能が報告する簡潔な結果を処理しさえすればよい。したがって、これらの高レベルは、安全性フレームワークの下位レベル自体が適切に動作していることを保証するためにモニタすると同時に、計算構造のより詳細な動作がモニタされていることに関する情報を下位レベルから受け取る。このようにして、マルチ・レベル・安全性フレームワークは、圧倒されることなく複雑なシステムを通じて多数の複雑な高性能リアル・タイム運転制御（及び他の）制御機能を適時に効果的にモニタする処理能力も提供しながら、高レベルの弾力性及び冗長性を提供することが可能である。
【０２７７】
いくつかの例示的な実施例では、安全性フレームワークは、安全性関連ハードウェア及びソフトウェアのエラーの構造化された取り扱いのための収集／ディスパッチを合理化する機構を提供する。ＡＳＩＬ−Ｄ系統（ｓｙｓｔｅｍａｔｉｃｓ）のために設計された安全性監視フレームワーク上で階層化された自動運転オペレーティング・システムは、安全性のために強力な隔離／外部関数インターフェース（ＦＦＩ）を提供する。この例では、ＦＦＩは、あるプログラミング言語で又はあるアプリケーション・プログラミング・インターフェース（ＡＰＩ）に対して記述されたプログラムが別のプログラミング言語で及び／又は別のＡＰＩのために記述されたルーチンを呼び出す又はそのように記述されたサービスを利用することができるメカニズムである。
【０２７８】
いくつかの実施例では、マルチ・レベル・安全性フレームワークは、被監視エンティティとは別であり、それ自体が、独立して動作するが互いに監視する機能の複数のレベル又は層を提供する。例えば、いくつかの実装では、安全性フレームワークは、高性能アプリケーション・ソフトウェアの健康状態をモニタするモニタリング構成要素を提供する。これらの安全性構成要素は、次に、安全性フレームワーク・モニタリングの他の独立した層によってモニタされ／見張られ、次に、この他の独立した層が、安全性フレームワーク・モニタリングのさらに他の独立した層によって見張られ、以下同様である。任意の数のそのようなモニタリング層が提供されてよいが、いくつかの例示的な実施例では、３層安全性フレームワーク・アーキテクチャが提供される。安全性フレームワークは、いくつかの例示的な非限定的な実施例では、ソフトウェア安全性診断テスト機能（「ＳＤＴＦ」）の効率的な実行を管理し、安全性関連質問／応答のための層間の保護されたチャネルを介して通信を提供する。
【０２７９】
図３３は、追加の安全性機構に関連する例示的な非限定的なプラットフォームの例示的な詳細を示す。示される実例では、アプリケーション・プロセス５００２を実行し、ミドルウェア５００４と、ドライバ５００６と、安全性オペレーティング・システム５００８とを含む仮想マシン／パーティション４００２（ｋ）は、高性能アプリケーション・プロセス５００２の安全性プロキシング（ｐｒｏｘｙｉｎｇ）及びモニタリングを実行する安全性ウォッチドッグ・モニタリング・ソフトウェア５０１０も実行する。安全性ウォッチドッグ・モニタ５０１０は、例えば、アプリケーション・プロセス５００２の健康状態を見張り、モニタしてよい。安全性ウォッチドッグ・モニタ５０１０は、例えば、シーケシングが適切に進んでおり、デッドラインは満たされており、実行時間は予想よりも長くかかっていないことを保証するように構造化される。１つの実例として、安全性ウォッチドッグ・モニタ５０１０は、カメラ、レーダ、ＬＩＤＡＲなどからのセンサ・データを処理しているアプリケーション・プロセス５００２の場合にセンサ・データ整合性チェックを実行することがある。安全性ウォッチドッグ・モニタ５０１０がエラー又は障害を検出した場合、安全性ウォッチドッグ・モニタ５０１０は、安全性フレームワーク内の上位レベルまでエラー通知を伝播することがある。それは、工場の生産現場で検査官が、生産現場におけるいくつかの観察されたプロセスが欠陥のある部分が欠陥のあるプロセスによって製造されるのを防止するのに失敗していることを上司に告げるのと全く同様である。
【０２８０】
示される実例では、安全性ウォッチドッグ・モニタ５０１０は、アプリケーション・プロセス仮想マシン／パーティションを実行する同じプロセッサ５０５０（コアＣＰＵ複合体すなわちＣＣＰＬＥＸ）上のそれ自体の独立した仮想マシン／パーティション５０１４内で動作する第１のレベル（「Ｌ１ＳＳ」）安全監視装置５０１２（１）に報告する。この第１の安全性レベルＬ１ＳＳ安全監視装置５０１２（１）は、それ自体のテストを実行するために、診断５０１６及びユーティリティ５０１８などのそれ自体のテスト能力をさらに含んでよい。そのような診断５０１６は、例えば、ハードウェア機能をテストするために使用可能である。いくつかの例示的な実施例では、Ｌ１ＳＳ安全監視装置５０１２（１）は、特定の診断を実行して結果を報告することと、実行されるべき診断が実際に実行されていることを確認することを仮想マシン／パーティション４００２に要求する機能も有する。診断５０１６は、安全監視装置５０１２（１）が不適切な動作を適時に検出することができることを保証するのに十分な頻度でテストが実行されることを保証するのに適切な割合で実行されてよい。診断は、所望の適用範囲を提供するハードウェアとソフトウェアの組合せによって実施可能である。診断及びモニタリングは、障害時間許容間隔（例えば、１００ｍｓごと）内の任意の種類の障害を検出するように構造化される。例えば、以下のような、例示的な非限定的な実施例によってサポートされるいくつかの異なる種類の診断がある。
・  診断開始  −  システムがミッション・モード、例えば、ハードウェア・セキュリティ・モジュール（ＨＳＭ）構成に入ることができる前に実行及び検証される診断
・  定期的診断  −  定期的に実行される診断（通常、診断テスト時間間隔内で、例えば、重要なデバイス構成をゴールド基準（ｇｏｌｄｅｎ−ｒｅｆｅｒｅｎｃｅ）／チェックサムと照合する）
・  オン・デマンド診断  −  イベント発生に応じて動的に要求される診断、例えば、シングル・ビット・エラー報告があらかじめ設定されたしきい値を超えた、ある一定の数のフレームがある一定の量の時間内に削除された、などの後のメモリ診断
・  シャットダウン診断  −  シャットダウン時に実行される診断。これらのうちのいくつかは、安全性フレームワークがシャットダウンされた後に実行され、そのため、結果は、次回のブート時に利用可能になることがあることに留意されたい
・  ランタイム診断  −  通常のソフトウェア・フローの一部として実行される診断。実施例によれば、これらは、必ずしも安全性フレームワークによって独立して呼び出されるとは限らないが、いくつかはそうである場合がある。ランタイム診断は、機会主義的に又はソフトウェア・ドライバによる必要によって呼び出され、結果／ステータスは、安全性フレームワーク内の標準的なエラー・フローを使用して通知可能である。ランタイム診断の実例には、以下がある。
−  書き込み後のソフトウェア・レジスタ・リードバック検証
−  安全を最重視すべき構成データのソフトウェア・アイドル・タスク実行チェックサム検証
−  計算された信号値に関するソフトウェア実行信頼性（ｐｌａｕｓｉｂｉｌｉｔｙ）チェック
−  ソフトウェア制御下での冗長な実行及び比較、並びに
−  安全性フレームワーク・パスウェイ上で発行されたドメイン固有循環チャレンジ／レスポンス
【０２８１】
時間的モニタリングも適用されてよい。時間的隔離／ＦＦＩを必要とするソフトウェア・アプリケーションは、被監視エンティティ（例えば、実行可能）を異なるＯＳタスク・オブジェクト上にマップしてよい。被監視エンティティは、プログラム・フローの中でチェックポイント（ＣＰ）に到達したことを知らせてよい。専用ウォッチドッグは、あらかじめ規定されたスケジュール・ステータス−生存性（Ａｌｉｖｅｎｅｓｓ）、到着率、又はデッドライン、及び実行シーケンス−への準拠のために実行をモニタしてよい。障害が、通知の欠如（又は信じがたい通知）によりアーチファクトとして検出されることがある。障害ステータスは集計され、カウンタ／フラグに反映され、ハートビートを介して安全性フレームワークの上位レベルに公開される。措置は、登録されたハンドラを介して実行される。
【０２８２】
安全性フレームワーク全体は、障害を検出し、検出された障害に適時に、すなわち、障害によって安全でない状態が生じる前に、反応することが保証されるように構造化される。しかしながら、例示的な非限定的な実施例では、Ｌ１ＳＳ安全監視装置５０１２（１）は、ドメイン固有知識をあまり有さない再使用可能な構成要素である。したがって、Ｌ１ＳＳ安全監視装置５０１２（１）は、プロキシ又はルータとして機能し、安全性フレームワークの下位レベルで発見されたエラーに関する情報を安全性フレームワークの次の上位レベルに適切に伝播する。
【０２８３】
第１の安全性レベルＬ１ＳＳ安全監視装置５０１４（１）は、次に、異なる仮想マシン／パーティション５０１４（２）内で実行する並びに／又は同じ又は異なるシリコン・ダイ上の同じＳＯＣパッケージ５０５４内のデュアル・コアＲＩＳＣプロセッサなどの異なるプロセッサ５０５２上で実行する第２のレベルＬ２ＳＳ安全監視装置５０１４（２）と通信し、これに、検出されたエラー及び障害を報告し、このデュアル・コアはロックステップで実行する。したがって、第２のレベル安全監視装置５１０４（２）（仮想化されてもよいし、されなくてもよい）は、特定の実施例によれば、ハイパーバイザ４００８及びその関連するハードウェアとは無関係に動作する。いくつかの実装では第２のレベルＬ２ＳＳ安全監視装置５０１４（２）がその上で実行する異なるプロセッサ５０５２は、高性能アプリケーション５００２を実行するプロセッサよりも低い実行中のプロセッサであってよい。
【０２８４】
第２のレベルＬ２ＳＳ安全監視装置５０１４（２）は、さらなる安全性ウォッチドッグ・モニタ５０１２（２）と、診断５０１２（２）と、ユーティリティ５０１２（２）とを含む。第２のレベルＬ２ＳＳ安全監視装置５０１４（２）は、第１のレベル安全監視装置Ｌ１ＳＳ５０１２（１）と通信し、これに命令し、第１のレベル安全監視装置が収集した結果を受け取る。ハードウェアのサポートによって、Ｌ２ＳＳ安全監視装置５０１４（２）は、一過性障害又は非一過性障害を検出するように周囲のハードウェア論理を保護することも可能であり得る。
【０２８５】
ＳＯＣハードウェアが、ＳＯＣ５０５４ハードウェア及びソフトウェアの他の部分内で発生する大部分の障害がまた、Ｌ２ＳＳ安全監視装置５０１４（２）の障害を引き起こさないように、Ｌ２ＳＳ安全監視装置５０１４（２）及びその関連するプロセッサ５０５２を隔離するように設計及び構造化される。したがって、システムは、Ｌ２ＳＳ安全監視装置５０１４（２）が安全性「アイランド（ｉｓｌａｎｄ）」上で実行し、ＳＯＣ５０５４の他の部分、すなわちＳＯＣ「メインランド」上で発生し得る障害によって影響されることから隔離されるが、依然としてＳＯＣメインランド上でプロセスのすべてが実行されているのを見てモニタすることができるように設計及び構造化される。
【０２８６】
図３３の図は、第２の安全性レベルＬ２ＳＳ安全監視装置が１つの追加のパーティション／仮想マシン５０１４（１）内で１つの安全性アプリケーション・ウォッチドッグ５０１０のみと相互作用することを示しているが、第２の安全性レベルＬ２ＳＳ安全監視装置は、スループット、帯域幅、及び性能基準と一致する、任意の数のパーティション／仮想マシン内の任意の数の安全性アプリケーション・ウォッチドッグと相互作用してよい（図３５を参照されたい）。システム全体の複雑度及び程度に応じて、任意の数の第２のレベルＬ２ＳＳ安全監視装置があってよく、各々は、任意の数のアプリケーション仮想マシン／パーティション又は他の仮想化された若しくは仮想化されていない処理構成要素内の１つ又は複数のアプリケーション・ウォッチドッグ・モニタをモニタする。しかしながら、一般的には、いくつかのアーキテクチャでは、ＳＯＣ５０５４当たり少なくとも１つの第２のレベルＬ２ＳＳ安全監視装置があってよい。
【０２８７】
いくつかの例では、Ｌ２ＳＳ安全監視装置５０１４（２）は、障害が発生したハードウェアによって直接的に通知されることがある。そのような例では、Ｌ２ＳＳ安全監視装置５０１４（２）は、検出されたエラーをＬ１ＳＳ安全監視装置５０１４（１）に知らせることがあり、そのため、Ｌ１ＳＳ安全監視装置は、仮想マシン４００２及び関連するアプリケーション・プロセス５００２に知らせることができる。さらに、第２のレベルＬ２ＳＳ安全監視装置５０１４（２）は、Ｌ１ＳＳ安全監視装置５０１４（１）から受け取ったエラー／障害報告に対して何らかのフィルタリング及び処理を実行することがあり、いくつかの限られた例（例えば、いくつかの種類のローカル・メモリ・リセット）では、それ自体で是正措置をとり得る。しかしながら、一般に、例示的な実施例におけるＬ２ＳＳ安全監視装置５０１４（２）は、異なるパッケージ内の異なるシリコン上の異なるプロセッサ−この場合、安全性マイクロコントローラ５０２０−上に存在する異なるパーティション内で実行する第３の安全性レベルＬ３ＳＳ５０１４（３）安全監視装置と通信し、これに、検出されたエラー／障害を報告することによって、エラー・ルータとして機能する。
【０２８８】
この実例における第３のレベルＬ３ＳＳ安全監視装置５０１４（３）は、さらなる安全性ウォッチドッグ５０１２（３）と、診断５０１２（３）と、ユーティリティ５０１２（３）とを含む。安全性ＭＣＵ５０２０上で実行するこの第３の安全性レベルＬ３ＳＳ安全監視装置５０１４（３）は、ＳＯＣ５０５４上で実行する安全性構成要素と通信し、第２のレベル安全性ウォッチドッグ５０１２（２）に命令し、第２のレベル安全性ウォッチドッグが収集した結果を受け取る。第２の安全性レベルとちょうど同じように、第３の安全性レベルＬ３ＳＳ安全監視装置は、任意の数の他のプロセッサ／ＳＯＣ上で実行する任意の数の第２の安全性レベルＬ２ＳＳ安全監視装置構成要素と相互作用及びモニタしてよく、いくつかの実装では、複数の第３の安全性レベルＬ３ＳＳ安全監視装置インスタンスがあることがある。例えば、いくつかの実施例では、Ｌ３ＳＳ安全監視装置５０１４（３）は、それぞれのＳＯＣ５０５４上の複数のＬ２ＳＳ安全監視装置５０１４（２）と相互作用することができ、したがって、多数のそれぞれのアプリケーション５００２を実行する複数の仮想マシン／パーティション４００２を各々がサポートする複数のＳＯＣ５０５４をモニタすることができる。
【０２８９】
安全性アーキテクチャは、４つのレベルＬ４ＳＳ、第５のレベルＬ５ＳＳなどに拡張可能／スケーラブルである。しかしながら、いくつかのアプリケーションでは、図３３に示される３つのレベルは、十分である。例示的な非限定的な実施例では、最も高い安全性フレームワーク・レベル（この場合、Ｌ３ＳＳ安全監視装置）は、アプリケーション・プロセス５００２及び関連した仮想マシン／パーティション４００２（ｋ）並びに安全性フレームワーク・ウォッチドッグ５０１２及び仮想マシン／パーティション５０１４のいずれか又はすべてをシャットダウンする、再起動する、リブートする、及びその他の方法で制御する権限が与えられた、別個の、ハードウェアに依存しない（異なるシリコン及びパッケージ）安全性ＭＣＵ５０２０（本明細書において他の場所で説明されるように、冗長なバックアップも有することがある）上で実行する。アプリケーション・プロセス５００２を実行するプロセッサＳＯＣからの安全性ＭＣＵ５０２０のハードウェア独立性は、プロセッサＳＯＣ５０５４に影響するハードウェア障害が安全性ＭＣＵにも影響するというリスクを最小にする。例えば、いくつかの実装では、ＭＣＵ５０２０は、アプリケーション・プロセス５００２を実行するプロセッサＳＯＣに影響する電力障害が安全性ＭＣＵ５０２０に影響しないように、別個の電力又はバッテリ・バックアップを受け取る。
【０２９０】
したがって、マルチ・レベル・モニタリングは、そのうちのいくつかが互いと異なるハードウェア構成要素内で実行し得る、ローカル安全モニタ、中間安全モニタ、及びグローバル安全モニタを提供する。グローバル安全モニタは中間安全モニタをモニタし、次に、中間安全モニタがローカル・モニタをモニタする。示される実例では、安全性ＭＣＵ（マイクロコントローラ）５０２０は、グローバル・モニタリング機能を実行し、異なるハードウェア上で動作する様々な中間安全モニタ機能から入力を受け取り、次いで、中間安全モニタ機能は、様々なローカル安全モニタから入力を受け取る。安全性フレームワークの異なるレベル（及びハードウェア）上の安全性ウォッチドッグの複数のインスタンスによって、安全性ＭＣＵ５０２０が、ボトルネックになることなく異なるプロセッサＳＯＣ上の様々なパーティション４００２内で実行する多数の高性能ソフトウェア・プロセスをモニタすることが可能になる。特に、Ｌ１ＳＳは、この場合、高性能仮想マシン及び関連するプロセス４００２（ｋ）をモニタする安全モニタである。高性能仮想マシンがＬ２ＳＳ安全監視装置によって直接的にモニタされる場合、ＬＳ２２は過負荷状態にされ得る。しかしながら、Ｌ２ＳＳ安全監視装置がアプリケーション・プロセス５００２のあらゆる安全性態様をモニタする必要はないのは、そのような詳細なモニタリングは、代わりに、アプリケーション安全性ウォッチドッグ・モニタ５０１０によって実行されるからである。したがって、Ｌ２ＳＳ安全監視装置は、圧倒されないが、代わりに、アプリケーション・ウォッチドッグ・モニタ５０１０並びに追加のアプリケーション仮想マシン／パーティション内で動作する潜在的に他のアプリケーション・ウォッチドッグ・モニタの効果的なリアル・タイム・モニタであるままである。同様に、安全性ＭＣＵ５０２０上で動作するＬ３ＳＳ安全監視装置安全モニタリング・レベルは、任意の数の第２のレベルＬ２ＳＳ安全監視装置によって実行される安全モニタリング・タスクによって圧倒されない。図３４を参照されたい。
【０２９１】
図３５は、例示的な相互作用トポロジを示す。この概略的なブロック図は、Ｌ１ＳＳ５０１４（１）は、ネイティブ・ゲスト・オペレーティング・システム下でそれぞれの仮想マシン・パーティション内でネイティブに実行し、ドライバ５００６と通信するそれ自体のそれぞれの安全性ウォッチドッグ５０１０を各々が含む、任意の数の仮想マシン・パーティション４００２（Ｋ）、…４００２（Ｎ）をモニタすることができることを示す。Ｌ１ＳＳ５０１４（１）は、ＳＯＣ上で実行する様々なサーバ４０１０（Ａ）、４０１０（Ｂ）、…もモニタすることができ、各サーバは、それ自体のそれぞれの安全性ウォッチドッグ・ソフトウェア構成要素５０１０を含む。Ｌ１ＳＳ安全監視装置５０１４（１）は、ＳＯＣ５０５４（例えばＧＰＵサポート）並びに潜在的にはハイパーバイザ４００８のハードウェア及び／又はソフトウェアの態様の上で実行する他の基礎的なプロセスをモニタするのに忙しい追加の安全性ウォッチドッグ・モニタ５０１０と通信することができる。Ｌ１ＳＳ（１）安全モニタ５０１４（１）は、そのようなプロセスの初期化中に役割を果たすことができる。例えば、限定するものではないが、ＧＰＵサポートの場合に、メモリをＧＰＵに割り振るためのハードウェアとの直接的な保護された通信と、ＧＰＵへのチャネルの作成、これは、アプリケーション・プロセス５００２がＧＰＵコマンド・バッファへの直接的なアクセスを有することがあるので、機能を実行するようにＧＰＵに命じることとは別個である。
【０２９２】
示される実例では、Ｌ１ＳＳ安全監視装置５０１４（１）は、ブート・サーバ４０１０（Ａ）を介してブート及びパワー管理プロセッサ５０６０とも通信し、関連したウォッチドッグ５０１０（Ａ）を使用してブート・サーバの動作をモニタする。ブート及びパワー管理プロセッサ５０６０は、リセット及びクロックを制御する。Ｌ２ＳＳ安全監視装置５０１４（２）は、いくつかの実施例では、ブート及びパワー管理プロセッサ５０６０と直接的に通信することができるが、示される実施例では、Ｌ２ＳＳ安全監視装置は、Ｌ１ＳＳ安全監視装置５０１４（１）及びブート・サーバ４０１０（Ａ）のみを介してＳＯＣ５０５４と通信する。Ｌ２ＳＳセキュリティ監視装置５０１４（２）と、図３５に示されていないが、それにもかかわらずＳＯＣ５０５４上に含まれる他のプロセッサとの間の相互作用は、類似の戦略に従ってよい。Ｌ２ＳＳ安全監視装置５０１４（２）とブート・プロセッサ５０６０及び他のプロセッサとの間の直接的な相互作用のそのような回避によって、通信の複雑度が減少する（したがって、その検証可能性が増加する）。
【０２９３】
Ｌ３ＳＳセキュリティ監視装置５０１４（３）の指示の下で、Ｌ２ＳＳセキュリティ監視装置５０１４（２）は、以下の例示的な段階でＳＯＣ５０５４のセキュアなトラステッド・ブートを実行するようにブート・プロセッサ５０６０に命じることができる。
【表２】
2021508863.tif 000003
【０２９４】
ブート及びパワー管理プロセッサ５０６０はまた、例えば、過熱による障害を回避するために、クロック速度及びＳＯＣ５０５４に供給される電力を調整するように制御可能である。
【０２９５】
例示的な非限定的な実施例では、Ｌ１ＳＳ安全監視装置５０１４（１）は、各ゲスト仮想マシン参加者のための別個の独立した仮想マシン間通信（ＩＶＣ：ｉｎｔｅｒ−ｖｉｒｔｕａｌ  ｍａｃｈｉｎｅ  ｃｏｍｍｕｎｉｃａｔｉｏｎ）チャネル上で各仮想マシン安全性ウォッチドッグ・モニタ５０１０と通信する。ハイパーバイザ４００８は、そうでなければ仮想マシン／パーティション間の高性能通信を適時に阻止するであろうロッキング及び他の依存を回避することによってそのような高性能通信を許可及びサポートするように建築される。したがって、ハイパーバイザ４００８は、Ｌ１ＳＳ安全監視装置５０１４（１）が、システム安全性認定に必要な障害及び安全性報告保証を満たすことを可能にするように構造化される（例えば、エラー及び障害が、ある一定の安全性時間間隔、ある一定のＣＰＵ実行時間、最大待ち時間などで検出及び是正される）。次に、Ｌ１ＳＳ安全監視装置５０１４（１）は、この場合は同じＳＯＣ５０５４内の別個のプロセッサ上で動作するＬ２ＳＳ安全監視装置５０１４（２）と通信する。Ｌ２ＳＳ安全監視装置５０１４（２）とＬ３ＳＳ安全監視装置５０１４（３）（例示的な一実施例では、同じＳＯＣ５０５４上になく、むしろ異なるハードウェア・パッケージ内の異なるシリコン・ダイ上の異なるプロセッサ上で動作している）との間の通信は、ハートビート・コマンド／応答チャネルを提供するＳＰＩ又は他の通信バス５０７０を介して、潜在的にはＳＰＩバス５０７０上で通信されるデータとは無関係にエラーを知らせることができる別個のエラー信号ライン５０７２も介して、実行可能である。エラー・ピン信号５０７２は、何かおかしくなっている、エラー状態が存在する、及び／又はシステムが安全に動作していないことがあることを安全性ＭＣＵ５０２０に知らせるハードウェア安全モニタ・インフラストラクチャによって渡される単方向性エラー・フラグ信号であってよい。
【０２９６】
定期的に、別個の安全性ＭＣＵ５０２０上で実行するＬ３ＳＳ安全監視装置プロセス５０１４（３）は、Ｌ３ＳＳ安全監視装置を更新するメッセージを提供する（Ｌ２ＳＳ安全監視装置は電源が入っており、覚醒していることも示す）ように、ＳＯＣ５０５４内のプロセッサ５０５２上で実行するＬ２ＳＳ安全監視装置５０１４（２）に要求する。Ｌ２ＳＳ安全監視装置５０１４（２）がＬ３ＳＳ安全監視装置５０１４（３）からの要求に応答しない場合、Ｌ３ＳＳ安全監視装置は、Ｌ２ＳＳ安全監視装置が故障していると考え、是正措置をとる。いくつかの実施例では、安全性システムは、失敗したプロセス又は構成要素が、ある一定の安全性時間間隔（例えば、１００ｍｓ）内に正常に回復できない場合、失敗したプロセス又は構成要素がオフラインにされ、安全でない状態を引き起こすことができないように車両バスから切断されるように設計される。
【０２９７】
図３５に示されるパスウェイに加えて、仮想マシン４００２からＬ３ＳＳ安全監視装置５０１４（３）への追加の通信パスウェイを提供することも可能であろう。そのような通信パスウェイは、例えば、冗長な及び／又は異なる情報をＬ３ＳＳ安全監視装置５０１４（３）に通信するイーサネット（登録商標）及び／又はＰＣＩＥリンクを備えることがあり、ＳＰＩバス５０７０が故障した場合でも機能するであろう。
【０２９８】
図３６は、検出されたエラーがどのようにして安全性フレームワーク内を伝播し得るかの１つの実例を示すフローチャートである。示される実例では、カメラ・センサ・データが、ゲストＯＳパーティションと、例えばニューラル・ネットワークを含む、画像処理アプリケーション５００２によって処理されることになる関連する仮想マシン４００２とに届いていると想定する。パーティション内のソフトウェア・ベース・ウォッチドッグ５０１０は、届いたデータをモニタし、整合性チェックを実行して（ブロック５１０２）、整合性エラーの発生を（例えば、フレームがいつ削除されたかを検出するフレーム・カウンタに基づいて）検出する（ブロック５１０４）。１つの非限定的な実例として、フレーム・カウンタが増加しないことは、何らかの種類のエラー、例えば、同じ画像が何度も繰り返し送られるスタック・フレーム状態を示す。ローカル・ウォッチドッグ５０１０は、そのような例では、そのようなエラー状態が検出されたことをＬ１ＳＳ安全監視装置５０１４（１）に通知するであろう（ブロック５１０４、５１０６）。Ｌ１ＳＳ安全監視装置５０１４（１）は、エラー通知を受け取り、次に、エラー通知をＬ２ＳＳ５０１４（２）に送り（ブロック５１０８）、次に、Ｌ２ＳＳ５０１４（２）が、エラー通知をＬ３ＳＳ安全監視装置５０１４（３）に送る（ブロック５１１０）。Ｌ３ＳＳ安全監視装置５０１４（３）は、エラーをどのように扱うか、すなわち、措置をとるべきかどうか、及びどの措置をとるべきかを判断する（ブロック５１１２）。例えば、Ｌ３ＳＳ安全監視装置５０１４（３）は、１つの欠落したフレームは無視されるべきであるが、ｘ個の失敗したフレームがｙという時間の量内に発生する場合、是正措置をとる（ブロック５１１４、例えば、システムをリブートする）と判断することができる。
【０２９９】
安全性フレームワークのチェーンを上方へ報告する類似のエラーは、他のシステム構成要素内の検出されたエラーのために実行されてよい。図３７を参照されたい。
【０３００】
図３８及び図３９はそれぞれ、ハードウェア及びソフトウェアのエラー検出のための例示的なエラー・ハンドリング・シーケンスを示す。図３８のハードウェア・エラー・ハンドリング・シーケンスは、ＳＯＣ５０５４ハードウェアが障害を生成する（「１」）ことから始まる。このハードウェア障害は、従来のＳＯＣハードウェア・チェッカー（例えば、レジスタ、パリティ・チェッカーなど）によって検出される（「２」）。ハードウェア・エラー照合器は、検出されたエラーを他のハードウェア・エラー検出と照合し（「３」）、エラーをＳＯＣ上のハードウェア・セキュリティ・モジュール（ＨＳＭ）に知らせる（「４」）。ＨＳＭは、エラー信号ピン５０７２を介してＬ３ＳＳ安全監視装置５０１４（３）にハードウェア・エラーを直接的に知らせることができ、Ｌ２ＳＳ安全監視装置５０１４（２）に中断通知を提供し（「５ｂ」）、次に、Ｌ２ＳＳ安全監視装置５０１４（２）も、ＳＰＩバス５０７０を介してＬ３ＳＳ安全監視装置５０１４（３）にエラー・ステータスを通信する（「５ｃ」）。示される実例では、Ｌ２ＳＳ安全監視装置５０１４（２）は、Ｌ１ＳＳ安全監視装置５０１４（１）にハードウェア・エラーを知らせ（「６」）、次に、Ｌ１ＳＳ安全監視装置５０１４（１）は、仮想マシン／パーティション４００２上で実行する安全性ウォッチドッグ・モニタ５０１０に通知する（「７」）。安全性ウォッチドッグ・モニタ５０１０は、ハードウェア障害をアプリケーション・プロセス５００２に通知する（「８」）。ハードウェア障害が解消されるとき、ＳＯＣハードウェアは、ドライバを介して解消（又は少なくとも適切な動作若しくは再初期化された動作）をアプリケーション・プロセス５００２に直接的に通知することができる（「９」）。仮想マシン／パーティション４００２内で実行する安全性ウォッチドッグ・モニタ５０１０は、ドライバ５００６から解消について知り（「１０」）、Ｌ１ＳＳ安全監視装置５０１４（１）に通知する（「１１」）。次に、Ｌ１ＳＳ安全監視装置５０１４（１）が、Ｌ２ＳＳ安全監視装置５０１４（２）に通知する（「１２」）。一方、Ｌ３ＳＳ安全監視装置５０１４（３）は、チャレンジ／レスポンス・プロトコルを使用して、ハードウェア障害が解消されたかどうかハードウェア・セキュリティ・モジュールに尋ねてよい（「１３」）。Ｌ２ＳＳ安全監視装置５０１４（２）は、ＳＰＩバス５０７０を介してＬ３ＳＳ安全監視装置５０１４（３）にエラー解消を報告することができ（「１４ａ」）、及び／又はＬ３ＳＳ安全監視装置は、エラー信号ピンを介してハードウェア・セキュリティ・モジュールから直接的にエラー解消を知ることができる（「１４ａ」）。
【０３０１】
図３９は、別の例示的なエラー検出及びソフトウェア障害の場合の報告シナリオを示す。この場合、ソフトウェア障害は、アプリケーション・プロセス５００２内で発生する（「１」）。ローカル安全性ウォッチドッグ・モニタ５０１０は、障害を検出し（「２」）、それをＬ１ＳＳ安全監視装置５０１４（１）に報告し（「３」）、次に、Ｌ１ＳＳ安全監視装置５０１４（１）は、Ｌ２ＳＳ安全監視装置５０１４（２）に障害を報告する（「４」）。Ｌ２ＳＳ安全監視装置５０１４（２）は、障害を分析し（「５」）、エラー信号ピン（「６ａ」）とＳＰＩバス（「６ｂ」）の両方を介してＬ３ＳＳ安全監視装置５０１４（３）に障害を報告し得る。ハードウェア・リブート／再起動などによる障害の解消時に（「７」）、ローカル安全性ウォッチドッグ・モニタ５０１０は、障害が解消されたことを検出し（「８」）、それをＬ１ＳＳ安全監視装置５０１４（１）に報告し（「９」）、次いで、Ｌ２ＳＳ安全監視装置５０１４（２）にエラー解消を報告する（「１０」）。一方、Ｌ３ＳＳ安全監視装置５０１４（３）は、エラー・ステータスを求めてＳＯＣハードウェア・セキュリティ・モジュールにチャレンジ又は要求を発行することができる（「１１」）。ＳＯＣは、チャレンジ／レスポンスに応答して、及び／又はＳＰＩバス５０７０を介したＬ２ＳＳ安全監視装置５０１４（２）とＬ３ＳＳ安全監視装置５０１４（３）との間の通信によって（「１２ｂ」）、エラー信号ピンを介してＬ３ＳＳ安全監視装置５０１４（３）にエラー・ステータスを通信する（「１２ａ」）ことができる。
【０３０２】
図４０は、複数のパーティションを提供する別の例示的な実装を示す。
・  １つ又は複数のイベント参加適応パーティション４０５２、
・  １つ又は複数のタイム・トリガ型適応パーティション４０５４、及び
・  他のパーティション。
【０３０３】
この特定の実例では、イベント・パーティション４０５２は、カメラ・データ・ストリーム・チャネル４０５６（０）、レーダ・データ・ストリーム・チャネル４０５６（１）、ＬＩＤＡＲデータ・ストリーム・チャネル４０５６（２）、及びイーサネット（登録商標）・データ・ストリーム・チャネル４０５６（３）などの、入力及び出力に接続されてよい。イベント・パーティション４０５２は、これらのリアル・タイム入力及び出力をイベント処理パーティション４０５３とともに非同期に処理し、処理された結果をタイム・トリガ型パーティション４０５４に提供する。タイム・トリガ型パーティション４０５４は、バッファ４０５８と、ウォッチドッグ又は他のモニタ４０６０と、タイム・トリガ型グラフ実行器４０６２とを含む。バッファ４０５８は、タイム・トリガ型イベント実行器４０６２に提供するためのグローバル・トリガリング情報とともに、着信した、すぐ使用できるイベント・データ（タイムスタンプ及び／又はフィルタリングされてよい）を記憶する。ウォッチドッグ４０６０は、イベント処理パーティション４０５３並びにタイム・トリガ型グラフ実行器４０６２の同じ又は異なる出力又は他の状態情報をモニタし、障害又は他の問題が検出されたとき、モニタリング・マイクロコントローラなどの他のシステム構成要素を変える。
【０３０４】
通信パーティション又はサーバ４０１０（２）の１つの例示的な非限定的な実装は、抽出及び／又は分割の様々なレベルにおいてシステムの異なる部分間で機能することができる均一で効率的な最適化された通信インターフェースを提供する。例えば、そのような通信インターフェースは、
・  異なるＳＯＣ及び／又は
・  同じＳＯＣ上で実行する異なる仮想マシン、及び／又は
・  同じ仮想マシン内の異なるプログラム、及び／又は
・  同じプログラムの異なるスレッド
間の通信に使用可能である。
【０３０５】
例示的な実施例では、インターフェースは、メッセージに対して均一であり、ＧＰＵ及び／又はメディア使用事例のためにストリーミング・バッファ間の通信をサポートするためにも使用可能である。異なる通信ノードがどれくらい近い又は遠いかに関係なく、同じプログラミング・インターフェースが使用可能である。しかしながら、通信インターフェースは、通信が実際に行われている距離に関して最適化可能である。
【０３０６】
Ｆ．自動運転ソフトウェア・システム
例示的な自動運転プラットフォーム
例示的な非限定的な実施例は、運転のために直接的に行動可能である世界の性質を認知する自動運転プラットフォームを提供する。これらの行動可能である性質は、アフォーダンスと呼ばれることがあり、以下の全体的なカテゴリを含むことができる。
・  障害物
・  経路
・  待ち状態（例えば、交通信号、全方向一時停止など）
・  その他
自動運転は、定義された運転のアフォーダンスがセンサ入力から明らかであり、運転し続けるのに十分に行動可能であるとき、可能になる。
【０３０７】
例示的な非限定的な実施例は、アフォーダンスを使用して、明確なワールド・モデルを定義し、このワールド・モデルは、問題の因数分解を提供し、自動運転に十分に強力且つロバストである。例示的な実装は、リアル・タイムでライブである（ｌｉｖｅ）と認知可能である障害物、経路、及び待ち状態のためのアフォーダンスに関するワールド・モデルを定義する。例示的な非限定的な実施例は、マッピング及びローカライゼーションを使用して、現在のドライブに関係する以前のドライブからアフォーダンス推定をもたらす。例示的な非限定的な実施例は、プランニング、制御、及び最終的な作動を通して、ワールド・モデルに基づいて措置をとる。
【０３０８】
より詳細には、図４１は、自動運転プラットフォーム及び関連するアーキテクチャ３０００の例示的な非限定的な全体的なブロック図を示す。例示的な非限定的なアーキテクチャ３０００は、以下を含む、新たに集められた入力に基づいて、絶えず更新されるワールド・モデル３００２を提供する。
・  障害物認知３０１０
・  経路認知３０１２
・  待ち状態認知３０１４
・  地図認知３０１６
・  その他（図示せず）
【０３０９】
これらの様々な認知器３０１０、３０１２、３０１４、３０１６は、センサ３０１８と、（限定するものではないが）カメラ機構追跡及びＬＩＤＡＲ点クラウド・アライメントなどの関連する低レベル処理３０２０によって知らされる。例示的な実施例では、認知器３０１０、３０１２、３０１４、３０１６は、例えば、例えば自己較正３０２８と軌跡推定３０３０とを含むさらなるサポート層３０２１によってサポートされる。
【０３１０】
認知器３０１０、３０１２、３０１４、３０１６は、ワールド・モデル３００２を生成及び更新するために使用される。ワールド・モデル３００２は、プランニング３００４、制御３００６、及び車両作動３００８に使用される。
【０３１１】
例示的な非限定的な実施例では、地図認知３０１６の態様は、自車両からリモートに設置され、ネットワーク３０２４を介してアクセス可能であってよい、クラウド・マッピング・アプリケーション３０２２に提供される。この状況では、「自車両」とは、図４１のプラットフォームを（それ自体のステアリング、ブレーキ、ナビゲーション、意思決定を作動させるために）他のシステムと組み合わせて使用して自動運転を達成する車両の視点及び／又はインスタンスを指す。マッピングのための認知３０１６及びローカライゼーション３０２６は、アフォーダンス推定を自車両の以前のドライブから現在のドライブへと持ち込むために自車両の運転の間でクラウド３０２４を通して通信される。マッピングのための認知３０１６及びローカライゼーション３０２６は、自車両以外の車両の過去のドライブ及び現在のドライブのためのアフォーダンス推定をもたらすためにクラウド３０２４を通して通信することもある。クラウド・マッピング３０２２は、例えば、いくつかの異なる同時に及び／又は以前に動作している自動運転車両並びに他の情報源から入力を受け取ることがある。クラウド・マッピング３０２２は、例えば、自車両の特定の所在地に基づいてローカライゼーション３０２６によってローカライズされるマッピング出力を提供し、ローカライズされた出力は、ワールド・モデル３００２を生成及び／又は更新する助けとなるために使用される。そのように開発されリアル・タイムで維持されるワールド・モデル３００２は、自動運転車両のプランニング３００４、制御３００６、及び作動３００８に使用される。
【０３１２】
以下では、アフォーダンスと、それらが例示的な非限定的な実施例で果たす役割を簡単に説明する。さらなる詳細は、以下で図４２に関連して提示される。
【０３１３】
障害物認知３０１０
障害物認知は、車両はどこを運転することができるか、及び直接的に検知されている障害物（例えば、対象物、構造、エンティティ）に文字通りぶつかることなく車両はどれくらい速く運転することができるかという推定を中心に展開する。障害物との衝突を回避することは、一般に、安全な自動運転に必要であるが、それは十分でない。障害物を正常に回避するが、それにもかかわらず安全でない又は望ましくないと見なされ得る、車両の多数の挙動がある。
【０３１４】
経路認知３０１２
例示的な非限定的な実施例では、経路認知は、特定の状況で使用可能である名目上経路を認知するために使用される。経路アフォーダンスの追加の次元は、１つ又は複数の車線変更の利用可能性である。いくつかの例示的な実施例は、車線グラフと呼ばれる表現を有する経路アフォーダンスを表す。車線グラフは、ハイウェイのオン・ランプ上の単一の経路と同じくらい単純であってよい。他の車線グラフ表現は、所望の車線への経路を提供し、ハイウェイを下る利用可能な車線変更を示してよい。より複雑な車線グラフ又はより完全な車線グラフは、近くの車線、車線変更、分岐、曲がり角、クローバー型インターチェンジ、及び合流を示してよい。
【０３１５】
経路を明確にすることは必ずしも、車両のステアリング・ホイール位置又は回転半径を推定する完全に不可欠な手法と同じではない。しかしながら、経路アフォーダンスは、経路推定の、他の情報との混合を可能にする。経路アフォーダンスは、長手方向制御との相互作用における経路情報の効果的な使用も可能にする。経路アフォーダンスは、再訓練を伴わない異なる車両タイプに関する異なるコントローラ３００６の考慮も可能にする。さらに、より幾何学的な自己較正３０２８は、ワールド・モデル３００２を各個々の自車両の詳細との相互作用から解放することを支援し得る。
【０３１６】
開放的なエリアなどのいくつかの場合では、名目上経路の離散集合がないことがある。そのような状況は、「ゾーン運転」と呼ばれることがある。例示的な非限定的な実施例では、推定経路アフォーダンスは、この場合、このエリアをゾーンと識別することと、運転目標を達成するために基本的な障害物（障害物認知３０１０）のみに依拠するようにプランニング３００４及び制御３００６に示すことである。これは、例えば、開水域内の自動運転ボート又は僻地内の自動運転４ＷＤトラックの場合に適用してよい。
【０３１７】
待ち状態認知３０１４
例示的な非限定的な実施例はまた、ルール、慣例、及び／又は実際的な考慮事項のセットによって長手方向に制限されてよい。１つの例示的な慣例は、交通信号である。交通信号ルールは、自車両が停止し、ある一定の状態が真実になる（すなわち、交通信号が青になる）まである一定の点で待機することを強要する。これらのルール、慣例、及び実際的な考慮事項は、待ち状態アフォーダンスと呼ばれてよく、例示的な非限定的な実施例では、待ち状態認知３０１４によって扱われる。
【０３１８】
いくつかの例示的な非限定的な実施例は、待ち状態を、車両を長手方向に制限し、速度制限及びはっきりした明らかな障害物を除いて何らかの状態が真実になるまで待機又は減速することを車両に要求する任意の状況として表す。待ち状態には、例えば、以下があり得る。
・  交通信号交差点
・  全方向一時停止
・  譲り
・  合流
・  料金所
・  遮断機
・  交通整理をする警察官又は道路工夫
・  停車したスクール・バス
・  一方通行の橋の調停
・  連絡船入口
・  その他
【０３１９】
待ち状態は、多くの場合、交差点内の横断するトラフィックなどの潜在的な障害物から生じる。しかしながら、横断するトラフィックは、直接的なセンシングから認知可能でないことがあり、そのため、例示的な非限定的な実施例は、認知又は学習可能であるルール及び慣例を通して常にすぐ認知可能であるとは限らない障害物の危険を解消することによって、自動運転状況認識を提供する。
【０３２０】
地図認知３０１６
例示的な非限定的な実施例では、マッピングは、それ自体ではアフォーダンスでない。むしろ、マッピングは、特にどの慣例が特定の場面に適用されるかの具体的な実例を判定するための、挙動が認識されるメカニズムである。いくつかの実例には、以下がある。
・  ロード・アイランドでは、交通信号で左に曲がるために待機している第１の車は、信号が青になったとき、対向するトラフィックより前に曲がることによって、法律に違反する
・  異なる道路をゲート開閉するが互いとほとんどずれていない交通信号
・  木曜日の午後４時から午後６時までＵターン禁止
・  時刻に応じて車線の方向性を変更する電子標識
したがって、マッピングすることは、アフォーダンス推定を以前のドライブから現在のものへと移す手段を提供する。
【０３２１】
アフォーダンス推定は、事実から（すなわち、措置が選ばれた後で）作成可能であるので、以前のドライブからの方が得やすい。マッピングは、多くの場合、障害物を移動させることに関係しないが、多くの場合、固定インフラストラクチャ障害物に関する提案をする。マッピングは、経路及び待ち状態に関する非常に具体的な情報も提供してよい。例えば、車両が特定の経路をとるためにどの信号が青でなければならないかという統計量を観察することが可能である。
【０３２２】
より詳細な例示的アーキテクチャ
図４２は、例示的なプラットフォーム３０００の、より詳細に分解したものを示す。図４２では、濃い色の線を有するブロックは、データ構造（一般的には、非一時的なメモリに記憶される）を示し、他のボックスは、処理モジュール又は機能（一般的には、例えば限定するものではないが、１つ又は複数の訓練されたニューラル・ネットワークの展開を含み得る命令を実行する１つ又は複数のプロセッサによって実施される）を示す。
【０３２３】
図４２の例示的な非限定的なプラットフォームは、図４１に示される処理機能ブロックを含み、これらの機能ブロック間の相互接続に関する追加の詳細も示す。例えば、軌跡推定３０３０は、基本軌跡推定３０３０と高度軌跡推定３０３０ａとを含むように拡張されている。同様に、プランニング３００４は、基本挙動計画器３００４ａと、高度挙動計画器３００４ｂと、車線計画器３００４ｃと、ルート計画器３００４ｅと、挙動選択器３００４ｄとを含むように拡張されている。低レベル処理３０１８は、例えば、基本車線検出３１６０と、垂直ランドマーク検出３１５８と、ＬＩＤＡＲ接地平面検出３１５４と、ＬＩＤＡＲ  ＩＣＰ３１５２と、特徴追跡３１５０と、空き空間追跡３１６２と、対象物追跡３１６４と、動的占有率グリッド３１０２とを含むように示されている。自己較正３０２８は、仕様情報３１５６を入力として受け取り、較正テレメトリ３１５７を介してクラウド・システム３０２２と通信するように示されている。仕様情報３１５６は、例えば、参照情報又はサード・パーティ参照情報、特に、例示的な実施例の機械製図情報、技術仕様データ、ユーザ手動データなどを含むことができる。経路認知３０１２は、様々な機能を有する追従車線グラフ３１００、並びに経路内判定３１２０を含むように拡張される。待ち状態認知３０１４は、待ち状態３１０６を使用するように示されており、地図認知３０１６は、正確な地図３１０５と、ルート地図３１０４とを含むように拡張される。ローカライゼーション３０２６は、基本ローカライゼーション３０２６ａ及び高度ローカライゼーション３０２６ｂへと分解される。クラウド・システム３０２２は、ＨＤ地図リーダ３０２２ａと、クラウド待ち状態３０２２ｂと、クラウド車線グラフ３０２２ｃと、ドライブ・マッチング及びタイリング（ｔｉｌｉｎｇ）３０２２ｄとを含むように詳述されると示されている。
【０３２４】
ワールド・モデル３００２
例示的な非限定的なワールド・モデル３００２のデータ構造は、地図に由来し得るデータに対応し、前方の１つ又は２つの曲がり角を計画するなどの中距離プランニング３００４をサポートするのに十分に豊富である。このデータ構造はまた、ライブ認知からの比較的最小のアフォーダンスのみに基づいて運転に対応し得る。基本的なハイウェイ自動操縦の場合、初期ワールド・モデル３００４は、判定された経路内対象物３１２０を有する単一車線グラフ・エッジ３１００ｂと同じくらい単純であってよい。他の例示的な実施例及び状況では、ワールド・モデル３００２は、車線変更利用可能性及び隣接する車線内の対象物、プラス、長距離のより詳細な地図（３１０５）における全体的なルート計画に対するマップされたルート（３１０４）を用いて進歩されてよい。さらなる追加には、待ち状態３１０６、車線境界線、及び動的占有率グリッド３１０２があり得る。ゾーン運転などの場合によっては、動的占有率グリッド３１０２内の対象物のみが利用可能なことがあるが、他の実施例では、待ち状態３１０６も利用可能である。異なる能力は、運転システムの状況、能力、及び要件に応じて追加可能である。
【０３２５】
車線グラフ３１００
１つの例示的な非限定的な実施例及び状況では、ワールド・モデル３００２は、単一追従車線グラフ３１００ｂを含む。この状況では、「追従」は、車線グラフが通信されるとき、以前の車線グラフ配信との対応が含まれることを意味する。図４３に示される１つの例示的な実施例では、追従車線グラフ３１００ｂは、以下を提供してよい。
・  運転可能なエッジのスプライン
・  車線変更の存在及び利用可能性
・  車線境界線
・  待ち状態３１０６（この場合、分岐）
・  経路内対象物
・  他の対象物３１２０
・  動的占有率グリッド３１０２
・  基本ルート地図３１０４
・  車両状態
・  競合エリア
・  その他
車線グラフ３１００及び動的占有率グリッド３１０２は、一般的には、車両座標系内のプランニング３００４に配信され、これは、エンティティが配信ごとに移動することを意味する。これは、不具合を回避するためにその以前のプランニングにより明示的に結び付けることが可能であるデータに対して作用する計画器３００４にも有用である。したがって、例示的な非限定的な実施例は、この機能を通信インターフェースに組み込んでよい。
【０３２６】
例示的な非限定的な実施例では、車線グラフは、中央の経路若しくは車線として、又は２つの車線境界線として、説明可能である。「スプライン」は有向グラフからなってよいが、エッジは、車線の中央経路の座標を表す方向付けられた曲線を含む。その意味合いは、車両が、それから出る有向エッジのいずれかを通って有向エッジに沿って運転してノード及び葉へと入ることができることである。したがって、あるノードへと入る又はこれから出るすべての曲線は、そのノードにおいて同じ点及び接線を有してよい。例示的なパラメータ化は、各ノードにおける３Ｄ点及び接線方向を有し、各エッジに対応する曲線に３次スプラインを使用することである。次いで、スプラインは、その終点における座標及び接線制約によって一意に判定され、パラメータは、ノードを共有するエッジ間で共有される。
【０３２７】
さらに、それらのエッジはほぼ平行であり、車線変更がそれらに許可されることを示す、あるエッジから他のエッジへの接続のセットがある。これらの長さは、経路に沿った車線変更ターゲットがどれほど遠いかを示す２つのスカラ距離からもたらされる。第１のスカラ距離は、車線変更が完了されることが現実的に予想可能である最も早い点である（これは、プランニング中に使用されるターゲット点である）。第２のスカラ距離は、この点から前方の、車線変更が完了されなければならない距離である。これは必ずしも、車線変更が今すぐ利用可能であることを意味しない。
【０３２８】
例示的な実施例では、車線グラフ内に各エッジを有する左右の車線境界線もあり、これは、それ自体の終点と接線とを有する３次スプラインによって表されてもよい。簡単にするために、車線境界線のためのデータは、いくつかの例示的な実施例では車線グラフ・エッジ間で共有される必要はなく、そのため、境界線がエッジ間で連続すること又は隣接車線間で境界線が一致することを明示的に強要する表現内にない。この手法は、インデックス付与を簡単にし、グラフ構造を運転可能区間のグラフに限定する。車線グラフは、経路内対象物及び待ち状態のためのデータ構造プレースホルダも含んでよい（以下を参照されたい）。
【０３２９】
経路内対象物
例示的な非限定的な実施例では、経路内対象物は、車線グラフの運転可能な線上にとどめられたビーズのようなものである。それらは、対象物が車線グラフ区間に沿った前進をどのように妨げるかを表す。経路内対象物は、各車線グラフ区間に関するリストとなる。経路内対象物は、その始まりからその第１の対象物点までの３次スプライン区間に沿った距離を含む、対象物についての情報を含む。経路内対象物は、３次スプライン区間に沿った速度も含む。経路内対象物は、車線変更が利用可能であるかどうかを示すためにライブ認知によって使用される各車線変更に関するブール・フラグ又は他のデータ要素であってもよい（対象物障害を示すより単純な形）。
【０３３０】
待ち状態
例示的な非限定的な実施例では、待ち状態は経路内形式及び自由形式としてもたらされる（よく似た対象物も、経路内形式及び自由形式としてもたらされてよい）。経路内待ち状態は、車線グラフ内の運転可能なエッジのうちの１つに沿った前進の点として、経路内対象物と同様にコード化される。経路内待ち状態は、速度を有する場合がある。運転中の待ち状態の実例は、停止のプロセスにおける点滅するライトを有するスクール・バスのようなものであり、バスのさらに後ろにある前進の限界を生成する。例示的な非限定的な実施例における待ち状態は、タイプ（停止／譲り／合流／特徴拡張）、状態の表示（例えば、青／黄／赤）、並びに待ち状態が赤であるときの推奨速度を伴う。待ち状態は、状態が考慮されるべき開始点の後の、状態の長手方向範囲を符号化する空間的な長さも伴ってよい。非限定的な実施例では、青は、待ち状態が存在しない又はアクティブでないことを意味し、赤は、待ち状態が、推奨スピードよりも速いスピードでその間隔を通しての自車両からの移動を禁じる（ゼロであってよい）ことを意味し、黄は、間隔の開始点の前であるが快適及び安全にそのようにすることが可能である場合のみ、自車両が、スピードを減少させるべきであることを意味する。
【０３３１】
例示的な非限定的な実施例では、交通信号交差点は、その後に、信号に従って状態を設定するある一定の距離の範囲（例えば、１メートル）と、ゼロの推奨速度が続く、適切な待機線における「停止」というタイプを符号化することによって実施されることがある。全方向一時停止は、車両が停止し状態が青であることをチェックするまで、赤に類似の符号化であるが認知が状態の状態を変調することを用いて、実施される場合がある。譲り（ｙｉｅｌｄ）は、推奨速度は正確にはゼロでなく、おそらく這うようなスピードであることを除けば、類似している。合流は、車線グラフ内の近づいている合流点による対応する車線内の他の車両／対象物からの競合を探す明示的な提案であることを除いて、譲りのように処理可能である。合流は、対象物がまだ認知されていない場合でも超えられるべきでない、車線グラフに沿った所与の間隔上での推奨速度も伴う。したがって、例示的な非限定的な実施例は、必要とされる競争するトラフィックを「見る」可能性を認知が有することを可能にする、這うような挙動などのものを実施することができる。交通信号待ち状態は、多くの場合、例示的な車線グラフに示される分岐と一致し、そのために、異なる分岐は異なる交通信号に対応する。例示的な非限定的な実施例は、分岐に入るエッジではなく分岐から出るエッジに沿ったゼロ前進を有する待ち状態にすることによって、これを実施することができる。これによって、異なる状態を有する複数の待ち状態が可能になる。
【０３３２】
例示的な非限定的な実施例は、ゾーン運転中に見られる交通信号などのケースを通信するための自由形式の待ち状態も実施する。したがって、自由形式の待ち状態は、特定の進行方向に結び付けられるのでなく、代わりに、基本的な前方距離として表されてよいが、その他の方法では、いくつかの非限定的な実施例では同じである。
【０３３３】
いくつかの例示的な非限定的な実施例では、認知及びマッピングは、待ち状態の複雑度の大部分を扱う。待ち状態のいくつかの内部機構は、明示的に待ち状態に入る必要はないが、依然として、どの認知及びマッピングが内部で機能するかの一部であってよい。例えば、ライブ認知は、交通信号と、それらの角度を見つけてよく、マッピングは、交通信号の位置を３Ｄで表し、マップされた交通信号とライブ認知された交通信号とのマッチングを実行してよい。同様に、交差点の競合エリア、並びに全方向一時停止を通って前進する前に他のトラフィックがないかどうかチェックされなければならない競合エリア（図４３を参照されたい）は、ライブ及び／又はマッピングのどちらかで推定されてよい。したがって、そのようなものは、マップ内にあってよいが、プランニング３００４及び制御３００６によって使用されるワールド・モデルに押し込まれなくてよい。これは、計画器３００４が、合流又は全方向一時停止中の示唆的な運転を通して他の車両と交渉することを排除しないが、ワールド・モデル３００２内のより多くの情報に関する要求を促してよい。
【０３３４】
対象物
例示的な非限定的な実施例では、図４３に示される対象物は、自車両座標系内の３Ｄ点と３Ｄ速度からなる又はこれらを含む。対象物は、経路内判定３１２０及び動的占有率グリッド３１０２を通して扱われてよい。
【０３３５】
車両  状態（ｓｔａｔｅ）
例示的な非限定的な実施例では、（自）車両状態は、（自）車両の長手方向速度、長手方向加速度、及び横方向湾曲に基づいて符号化可能である。車両状態は、ルート地図３１０４とともに有用であることがある、ＧＰＳ（ジオロケーション）位置とコンパス方向も含んでよい。プランニング３００４及び制御３００６は、最近の相対移動の高速推定のための基本軌跡推定３０３０インターフェースと、自車両のセンシング及び制御のためのＣＡＮ（作動）インターフェースをもつことも可能にされる。
【０３３６】
動的占有率グリッド３１０２
図４３に示される動的占有率グリッド３１０２は、例示的な非限定的な実施例では、２つの次元が空間的であり、１つの次元が時間的である体積測定配列からなる。１つの特定の非限定的な実例では、グリッド３１０２は、車両の周りにあり、１０ｃｍ刻みで、次の５秒間に１０分の１秒間隔でレンダリングされ、グリッドの１０００×１０００×５０の配列という結果になる、１００ｍ×１００ｍグリッドを含んでよい。
【０３３７】
ルート地図３１０４
ルート地図３１０４は、いくつかの実施例では、ノードがＧＰＳ中間点であり、エッジは中間点を結び付け、予想横断時間を示す、大規模地図グラフである。ルート地図３１０４は、国、州、都市、近所などに対する別個のスケールなどの、複数のスケールで存在してよい。
【０３３８】
センサ抽出３１０８
車線グラフ３１００の状況では、センサ抽出３１５８は、同じタイプのすべてのセンサのための均一なフォーマットを提供し、センサはすべて、車線グラフの共通表示とともに使用可能である。すなわち、例示的な非限定的な実施例では、１つの内部フォーマットは、レーダ・データ、ＬＩＤＡＲデータ、カメラ・データなどに使用されてよい。類似の均一なフォーマットは、フレーム・レートを設定する又はゲイン制御を実行するなどの、センサに制御を適用するケースに使用されてよい。センサ抽出３１０８は、いくつかの実施例では、各センサ・パケットにタイムスタンプも提供する。
【０３３９】
基本車線検出３１６０
例示的な実施例では、車線検出は、経路が可能な限り直接的に適切であることを推定する。基本車線検出は、例示的な非限定的な実施例では、自己較正をサポートするので、図４２では経路認知から始められて示される。
【０３４０】
例示的な非限定的な実施例は、手動でラベルされたデータセットに対して訓練された１つ又は複数のニューラル・ネットワークを使用して基本車線検出３１６０を実行することがある。運転によって生成される自動ラベルされたデータセットは、中央経路の代わりになる場合があり、これは、自己較正及び経路追跡にデータを提供するが、手動ラベリングは、車線幅認識を支援し得る。経路アフォーダンスのために行われるラベリング手順が使用されてよい。すなわち、ラベリング時に、画像内の適切な経路にラベルを付与することが可能である。これは、例えば、経路の平行な辺を示す２つのポリラインをもつ各適切な経路にアノテーションを付与することによって行われ得る（図４４を参照されたい）。意図は、２つのポリライン間のエリアがその方向をもつ経路を有するようにポリラインを滑らかに保つことである。各点における経路の方向性と、ある点が車線エッジ上にあるかどうかなどの、画像内のこれについてのデータを提供するようにニューラル・ネットワークを訓練することが可能である。経路内の中央における１から経路間のエッジにおけるゼロまで低下する周期関数を定義することも可能である。分岐及び交差点の場合、何らかの追加の符号化複雑度を提供する複数の経路があることがある。１つの例示的な設計は、異なる進行角度セクタを別個に扱う。別の実例は、そのようなエリア（例えば、交差点）を明示的に識別し、それらのエリアに、又は（例えば、明示的なマーキングによって視覚的に十分にサポートされるかに関係なく）分岐の分岐経路を明示的に推定するために、何らかのより多くの自由形式経路推定を使用する。別の例示的な非限定的な手法は、異なる好みを有する数個の異なるネットワーク（例えば、左寄りのネットワーク、前寄りのネットワーク、及び右寄りのネットワーク）を有することであり、セクタ技法にやや類似している。さらに別の例示的な実装は、意図した経路（例えば、ＧＰＳによって提案される）とともに問い合わせされるようにネットワークを定義し、最も近い適切なオプションを返す。
【０３４１】
自己較正の目的で、例示的な非限定的な実施例は、マーキングが適度にはっきりしているときに機能する基本車線エッジ検出３１６０を提供し、そのため、車両は、何らかの手動ハイウェイ運転又は自動ハイウェイ運転から較正を判定又は改良することができる。エネルギー最小化は、ネットワーク出力に加えて使用可能であり、理想的な形での問題は、ニューラル・ネットワーク出力において（例えば、これとの最大の確証）最も強力なサポートを有する曲線の何らかの系統から曲線を見つけることである。検索を達成する実際的な手段の１つの非限定的な実例は、中間状態が、行に沿ったｘ座標及び画像、又はｘ座標プラス各列（又は各角度における各列）において始まる最もよくサポートされる曲線をもたらす検索を完了するために上方向又は下方向に進むエッジ線の角度である、動的プログラミングを使用することである。例示的な非限定的な実施例がｘ座標のみを使用する場合、連続性のみが強化される。角度の使用は、角度の連続性を強化する追加の機能を提供する。
【０３４２】
ヨーの自己較正のために、いくつかの例示的な非限定的な実施例は、基本追跡の形態を使用する。そのような基本追跡は、幾何学的フィッティングの後に基本左／右割当てを行うことよって、及び自己較正の目的のためにその分類を使用して与えられ得る（とはいえ、関連づけを与えるための時間追跡は、車線を変更するためにより弾力的であり得る）。例示的な非限定的な実施例は、車線エッジ・サポートのための直接キューとしてＬＩＤＡＲにおける輝度情報を使用することよって、ＬＩＤＡＲを使用する同じプロシージャを実施することができる。ニューラル・ネットワークも、この目的のために訓練され得る。
【０３４３】
仮想ランドマーク３１５８
例示的な非限定的な実施例は、自己較正ロールにおいて及びマッピングにおいて使用するための仮想ランドマーク検出３１５８（図４５を参照）を与える。垂直ランドマークは、検出され得る例示的な非限定的なランドマークの１種である。垂直ランドマーク検出３１５８は、いくつかの実施例における垂直ランドマーク検出が、自己較正をサポートするので、マップ認知３０１６から取り出され得る。
【０３４４】
例示的な非限定的な実施例では、ランドマークは、自己較正３０２８において補正することが望ましいロールの量を用いて検出される。ロールは、通常、１度又は２度以下であるべきであるが、それはより高くなることがあり、したがって、＋５度又は−５度のロールの範囲を配慮することが、いくつかの実施例において望ましいことがある。これは、変動させられた訓練データ又は訓練データのロール増強によって達成され得る。いくつかの例示的な実施例では、ニューラル・ネットワークは、垂直ランドマークのピクセル的なセマンティック・セグメンテーションを出すように訓練され、基本後処理は、（高さがそれについてそれほど重要でない）２つの終点によって表される線を作成する。そのような例示的な非限定的な実施例は、幾何学的抽出を実施するとき、半径方向ひずみを補正することができる。
【０３４５】
特徴追跡３１５０
画像特徴トラッカー３１５０は、常に、いくつかの例示的な非限定的な実施例において実行している。画像特徴トラッカー３１５０は、高性能軌跡推定３０３０ａ並びに対象物追跡３０１０の両方をサポートし、したがって、図４２中で別個のモジュールとして取り出されている。特徴トラッカー３１５０は、ＬＩＤＡＲ画像、光画像、レーダ画像、及び／又は他の検知された認知に対して動作することができる。
【０３４６】
コーナー点検出器は、トラックを補充するプロセスを開始する、追跡すべき有望な特徴（図４６を参照）を作成するために使用され得る。点の分布は、軌跡推定３０３０のためのビューの大部分をカバーし、すべての領域にわたって点を広げる必要と、十分な点をもってすべての対象物をカバーする必要とのバランスをとることによって、例示的な非限定的な実施例において実施される（とはいえ、別個の追跡機構も対象物上に強行され得る）。例示的な一実施例では、各トラックは、階層ピラミッドにおいて比較的標準的なＫＬＴ画像パッチ整合機構を通して次のフレームに進ませられる。基準パッチ（例えば、１６×１６及び場合によっては一部の階層スケール）が、トラックの第１の画像中で抽出される。
【０３４７】
整合が実施された後、新しい画像中の整合領域と基準経路との間の相関が検査される。それが低すぎる場合、特徴トラックは削除される。それが、受け付け可能であるが、依然として、すぐに失敗する危険性を示すしきい値を下回る場合、トラックは受け付けられるが、基準パッチは更新される。このプロシージャは、それを更新することによって導入されたドリフトを抑圧するためにできるだけ長い間基準パッチを保つことを希望することと、同時に、追跡することを適応し、追跡することに失敗しないのに十分頻繁にそれを更新することを希望することとの間のトレードオフを与える。特徴トラックは、例示的な非限定的な実施例では、トラック・テーブル・データ構造に記憶される。このトラック・テーブル・データ構造は、いくつかの実施例では、行が特徴トラックであり、列が画像フレームであるローリング・バッファとして実装される。テーブルは最大数の行を保持し、アライブである各トラックは、行を占有することができる。トラックが失敗するとすぐに、それは、削除され、テーブル中の行を解放する。
【０３４８】
反復最近点整合（ＬＩＤＡＲ  ＩＣＰ：Ｉｔｅｒａｔｉｖｅ  ｃｌｏｓｅｓｔ  ｐｏｉｎｔ  Ａｌｉｇｎｍｅｎｔ）３１５２
ＬＩＤＡＲセンサが存在するとき、例示的な非限定的な実施例は、何らかの空間分離のフレーム間の反復最近点整合をも実施する。図４７、図４８を参照。これは、いくつかの実施例では、第１のフレーム（基準）を深度マップ３３０４として、及び第２のフレームを３Ｄポイント・クラウドとして追跡することによって行われる。例示的な非限定的な実施例は、基本軌跡推定モジュール３０３０によって与えられたモーションに基づいて、相対姿勢３３０６を初期化し、また、そのデータを使用してモーションのためのＬＩＤＡＲスキャンを事前補正する。例示的な非限定的な実施例は、次いで、深度マップ３３０４の平滑化されたバージョンの微分画像を事前算出する。新しいフレームからの３Ｄ点は、（例えば、並列計算を通して）基準深度マップに投影され、深度マップ中の非常に小さい領域中の最良マッチング深度が見つけられる（距離が大変異なる場合、点は、ロバストネスのために拒否される）。いくつかの実施例では、導関数は、例えば、６×６  ３Ｄ姿勢更新式など、式に累算するために使用される。プロシージャは反復される。いくつかの非限定的な実施例では、この機能は、ＬＩＤＡＲを使用して、高性能軌跡推定３０３０ａと障害物検出３０１０の両方をサポートする。
【０３４９】
ＬＩＤＡＲ接地平面３１５４
ＬＩＤＡＲ接地平面３１５４について、１つの例示的な非限定的な推定プロセスは、深度マップ中の近接したすべての点に対してあらゆる可能な接地平面姿勢をテストするブルート・フォース探索を実施することである。他の実施例は、車両の近くの深度マップ中のピクセルの各ブロックへの最小２乗パッチ・フィットを実施するわずかにより少ない計算量的に重い手法を使用し、次いで、車両の近くの深度マップ中のブロックの各列上で車両から出る接地平面からの線の２次元探索を行い得る。いくつかの例示的な実施例は、次いで、線のセットを入力データとして使用して、ランダム・サンプル・コンセンサス（ＲＡＮＳＡＣ：ｒａｎｄｏｍ  ｓａｍｐｌｅ  ｃｏｎｓｅｎｓｕｓ）プロシージャを実行し、線の各ペアは仮説を与え、線自体はコンセンサス・テストとして使用される。例示的な非限定的な実施例は、反復最近点整合（ＩＣＰＡ）を実施する同じコードを使用することができるが、平面を基準深度マップとして使用する。
【０３５０】
自己較正３０２８
任意の形態の登録を実施するために、それが同じドライブの瞬間の間のものであるにせよ、異なるドライブの瞬間の間のものであるにせよ、例示的な非限定的な実施例は、一般に、車両上の異なるセンサ間の正確な登録を有することを希望する。これは、通常、較正と呼ばれ、固有較正と外因性較正とにスプリットされる。固有較正は、センサのカノニカル姿勢を仮定すれば、センサが世界角度から画像角度へ実施するマッピングを伴い得る。外因性較正は、世界又は車両上の何らかの基準座標系に対するセンサの姿勢を伴い得る。そのような登録の異なるソースは、仕様情報３１５６、（レンズのひずみ影響などについての）公称設計値、工場又はサービス・センタにおける較正、及び自己較正を含み、ここで、自己較正は、通常動作中に収集されたセンサ・データ（のみ）を使用して（例えば、１つ又は複数の他のセンサを較正するための１つ又は複数のセンサを使用して）較正のパラメータを判定することを指す。
【０３５１】
自己較正は、それが、柔軟性、動作単純さ及び高レベルの自動化の可能性をもたらすので、強力なツールである。実際には、工場較正プロシージャは、それらが、特別に設計されたマーカー又は剛性金属３Ｄコンスタレーションを使用して手元で推定タスクを簡略化するように設計され得るので、魅力的であるが、紛失した較正ファイル、ソフトウェア中のバグ、車両が工場を出た後に復元され得ないプロシージャ又は較正環境、及び／又はセンサ上の機械的力により発生する較正の変化など、実世界の問題による実践的な課題を有する。しかしながら、工場較正は、しばしば、いくつかの実施例では、プロセス変動を制御するのに、及び車両が仕様から外れて造られることを回避するのに有用であるというべきである。
【０３５２】
仕様情報３１５６及び光ひずみのための公称値が考慮に入れられると、最も大きい残りの変動性は、一般に、センサの回転姿勢に起因するものである。カメラ、レーダ及びＬＩＤＡＲの取付位置は、いくつかの実施例では、センチメートル（さらにはミリメートル）正確さまで再生されるべきであり、これは、センサ・データへの残りのトランスレーションの影響が最小であることを意味する。固有較正は、有意な効果を有することができるが、上述の理由のために、いくつかの実施例では、知られている公称値のあたりに慎重に変動を制御し、必要な場合のみ、センサごとに特定の固有較正を適用することが好ましいことがある。これは、それらの取付位置におけるセンサ（カメラ、レーダ、ＬＩＤＡＲ）のロール、ピッチ及びヨーの変動を残す。
【０３５３】
図４８は、非常に高いレベルの冗長性を使用する例示的な非限定的な完全に自動化された自己較正器３０２８を示す。較正は、概して、長い時間期間にわたって安定している（そうでない場合、これは、しばしば、機械的レベルで処理されるべきである）。これは、例示的な非限定的な実施例が、ある時間期間、例えば、数時間などにわたる多くの依存しない瞬間から自己較正証拠を集めることができることを意味する。例示的な非限定的な実施例は、次いで、これらの依存しないデータ点からクリアなコンセンサスを探し、それがクリアで明確である場合のみ、結果を受け付け、さもなければ、それを拒否することができる。拒否は、自動動作又はデータ収集を可能にする前に、最後の知られている良好な値の使用の前に、又は最終的にあまりに多くの時間が終了した場合、サービスのための車両のフラグ付けの前に、より多くのデータを待つことにつながることがある。高レベルの冗長性を使用して、このやり方は、本質的に、相互検証の適用例、統計及び機械学習における長年の手法であり、ここで、自己較正のより幾何学的な問題に適用される。例示的な実施例では、仕様情報３１５６は、クラウド３０２２における中央監視機能に送り返される、自己較正統計のテレメトリ情報３１５６をも含み得る（図４２を参照）。
【０３５４】
図４８は、車両オドメトリに部分的に基づいて、光カメラ、ＬＩＤＡＲ検出器及びレーダ検出器を自己較正する例示的な非限定的な自己較正器３０２８を示す。カメラは、ピッチ３２０６、ロール３２１２及びヨー３２１８について自己較正され、ＬＩＤＡＲセンサは、ピッチ３２３２、ロール３２３４及びヨー３２４０について自己較正され、レーダは、ヨー３２５２について自己較正される。センサ間の相互推定（例えば、カメラとＬＩＤＡＲとの間のピッチ及びヨー３２２０についての推定３２２０）も実施される。
【０３５５】
図４８の例示的な非限定的な実施例は、一度に１つのパラメータに対して、及びそれ自体によって、原則として、パラメータを判定するデータの小さいスニペットを使用する各パラメータについて較正を実施することと、データのそのスニペットが、そのパラメータに対する票のヒストグラムに投票することを可能にすることとよって、冗長性を管理することができる。成功又は失敗が、次いで、各スニペット単独で正しい較正値を示した場合に生じるであろう理想的な単一のピークに、ヒストグラムがどのくらい近いかを考慮することによって、時間とともに判定され得る。例示的な実施例は、較正値が時々変化し得るので、長いが有限の時間ウィンドウを考慮する。これは、例えば、票の明示的ローリング・バッファ、又は望まれる半減期を目標にするように設定された減衰をもつ票の緩やかに減衰するヒストグラムのいずれかによって達成され得る。
【０３５６】
いくつかの効果は、妥当な自己較正時間ウィンドウよりもはるかに速くセンサのための姿勢値を変更することができる。例えば、ブレーキをかけることは、通常、わずかに前方に車両をピッチする。しかしながら、そのような効果は、通常、センサ間の相対姿勢に対してよりもむしろ全体として車両に対して当てはまり、したがって、以下のセクションにおいて考察される、軌跡推定３０３０の一部としてより良く処理される。
【０３５７】
カメラのロール
例示的な非限定的な実施例は、接地平面に対するセンサの回転を判定する。これは、センサのロール３２１２及びピッチ３２０６のための基準を与える（しかし、ヨー３２１８のための基準は与えない）。原則として、ロールとピッチとは互いに依存し、結合して「上方向ベクトル」を形成し、これは、センサにおいて観測された接地平面に対する法線ベクトルを意味する。
【０３５８】
ロール３２１２の判定は、いくつかの文脈では、ロール変動が機械的に比較的制御可能であることと、わずかなロールの影響があまり直接的でないこととの結果として、運転目的のために絶対的に重要であるとは限らない。しかしながら、ロールは、しばしば又はさらには一般的に、特に、マッピング目的のために及び車の周りのセンサを結合するために無視できない。
【０３５９】
ロールについて自己較正するために、いくつかの例示的な実施例は、図４５に示されている垂直ランドマーク３１５８を使用する。ロールがひどくない場合、ニューラル・ネットワーク・ベース検出器は、シーン中の垂直ランドマークを見つけることができる。それの結果は、潜在的に、半径方向ひずみ及び内因性パラメータの何らかの形態の後処理及び補正の後、いくつかの例示的な実施例では、カメラの本質的に較正された座標系における線のセットである。ニューラル・ネットワークは、実際には、予想されるロール変動を反映するように訓練されるべきである。いくつかの例示的な実施例では、２つ又はそれ以上の異なる線が、射影座標系におけるそれらの交差点として、上方向ベクトルを特定する。代替的に、例示的な非限定的な実施例は、ピッチ３２０６が知られていると仮定することができる（これは、通常、少なくともほぼ真である）。それは、画像中の無限大における線の近くの線を与え、ロール３２１２のみが、垂直ランドマークからの単一の追加の線との交差によって決定されるようにする。これは、例示的な実施例が、時間とともにロール角に対してヒストグラム投票することを可能にする。
【０３６０】
フロント・カメラのピッチ
ピッチを決定するために、例示的な非限定的な実施例は、ロール較正及び補正が行われると仮定する。ピッチ３２０６について前向きカメラを自己較正するための１つのやり方は、車線検出３１６０を介して道路車線境界線を活用することである。これは、運転のための重要なことへの直接リンクを与え、長い時間期間にわたって、ほとんどどんな車でも、ピッチ較正をサポートするための車線境界線観測の十分な量に遭遇することになる。潜在的後処理を用いた車線境界線３１６０のニューラル・ネットワーク・ベース検出が、いくつかの実施例において採用され得、接続された曲線又は点リストを出力する。例示的な非限定的な実施例がそれらの接続された曲線のうちの１つ、画像の下部の近くの１つ、及びわずかにより高い１つから点のペアを取る場合、それらは、ほとんどの時間、車の近くの接地平面に沿って車線境界線と平行な線を形成するために使用され得る。２つのそのような線を使用すること、及びそれらを交差すること（例えば、同次座標におけるクロス乗積を使用すること）によって、例示的な非限定的な実施例は、画像中の交差点を得る。その点は、理想的には、車の周りのローカル接地平面の消失線である画像中の水平線上にあるべきである。したがって、例示的な非限定的な実施例は、水平消失線に対して投票するために、画像中の交差点の垂直座標を使用することができる。
【０３６１】
フロント・カメラのヨー
センサのヨー３２１８は、世界においてそれをゆだねるための接地ほどにカノニカルなものは何もないという意味で異なる。一方、接地平面は、単に、車両のホイールの下部接触点を結合する平面として考えられ得る。同様に、ヨーは、いくつかのセンサ位置を有する仕様情報３１５６からの機械製図中の姿勢に対して定義され得る。しかしながら、運転目的のために、少なくとも前向きカメラについて、運転の前方方向に対する、特に、例示的な非限定的な実施例が、ゼロのステアリング角度を指令するときに得る制御に対してカメラのヨー３２１８を知ることは有用である。理想的には、これはまた、車両が直線状にドライブすることを生じるべきである。
【０３６２】
可能な範囲内で、いくつかの例示的な実施例は、ヨー較正をステアリング・ラックの自己較正のためのタスクと見なす。いずれの場合も、例示的な非限定的な実施例は、車両がどのくらい遠くにドライブしたか、及びそれがどのくらい方向転換していることがあるかを決定するために、車両オドメトリを使用することができる。例示的な非限定的な実施例は、次いで、ある時点から別の時点へ前方に投影するために、車線境界線のいずれかの上の点を使用し（ブロック３１６０を参照）、点が、第２の時間的瞬間において対応する車線境界線と整列することを必要とすることがある。これは、接地の上のカメラの知られていないヨーを通した逆投影と、第２の時間的瞬間におけるカメラの知られていないヨーを通したバックとを伴う。これは、車両の制御ループに非常に近接して連結されたやり方でカメラのヨーについて解くことを可能にする。車両がそれにより近く走行した点の画像上のヨーの影響は、距離変化により異なる。例えば、距離が半分に小さくなった場合、加力レバー・アームは２倍に異なり、ヨーが、２倍に別様に画像点を移動することを生じる。
【０３６３】
他のカメラのピッチ及びヨー
図４８に示されているように、ロールは、すべてのカメラについて同じやり方で解決され得るが、立体などの高い正確さ目的のために、いくつかの実施例は、標準画像マッチング技法を使用して相対ロールについて解き、あるカメラのロールを他方にマッチングさせる。ピッチとヨーとは、相対技法がしばしば最良であるという点で同様である。例えば、例示的な非限定的な実施例は、フロント・カメラのうちの１つのロール３２１２、ピッチ３２０６及びヨー３２１８を計算したと想像する。次いで、すでに較正されたカメラと較正されるべきカメラの両方における車線境界線の観測のために、例示的な非限定的な実施例は、まだ較正されていないカメラのピッチ３２２４及びヨー３２２６のための提案を得る。例示的な非限定的な実施例では、接地上への車線境界線の２つの投影を行うピッチ及びヨーは整列する。そのような例示的な非限定的な実施例は、（空気圧、サスペンション及び荷重により）車両の高さについて解くことが可能である。各カメラのロール、ピッチ及びヨーが、原則として、それ自体によって解けるので、正しい高さは、次いで、接地平面上の異なるカメラからの投影を整列する高さであり、これは、カメラ間のベースラインがある場合、一意の高さを生じる。このプロシージャは、運転の間の道路線及び他のコンテンツの移動を予測するために車両オドメトリを使用することによって、最初のカメラの場合の瞬時重複を有しない他のカメラに続けられ得る。例えば、側面カメラのピッチは、フロント・カメラにおいて前に観測された車線境界線の観測によってうまく制約されることになる。
【０３６４】
例示的な非限定的な実施例が多くの対応を有する場合、それらは、知られている固有較正を用いて２つのカメラ間のエピポーラ幾何学について解くことができる。エピポーラ幾何学のエピポールが、（仕様情報３１５６において知られている線である）２つのセンサ間のベースライン方向を示す。エピポーラ幾何学は、そのベースラインの周りのカメラ間の相対的回転をも与える。唯一の残りのあいまいさは、１つのカメラのピッチと同じやり方で決定され得る、ベースラインの周りのジョイント回転である。より一般的には、カメラのジョイント・ジオメトリ及び投影中心は、対応から決定され得、カメラが共線でない場合、それらは、例えば、仕様情報３１５６において参照される機械製図中の投影中心を用いた一意の３Ｄ姿勢整合を有する。次いで、接地平面に関する車両フレーム（機械製図）の姿勢は、運転の方向によって決定され得る全体的ヨー回転を除いて、接地平面における複数の立体三角測量された点によって決定される。
【０３６５】
ＬＩＤＡＲのロール及びピッチ
例示的な実施例は、車両の近くの点が、接地平面に対応する頻度モードを有すべきであるという、及びそれらの点の構造が、両方向において等位であるべきであるというという仮定を使用して、任意のＬＩＤＡＲセンサのロール３２３４及びピッチ３２３２を決定する。例えば、例示的な非限定的な実施例は、各フレーム中の車両の近くの接地平面（３１５４）のロバストな平面フィットを探し、ロール及びピッチに対する別個の票を作成するために、それを使用することができる。高さは、次いで、ＬＩＤＡＲ距離においても観測される。複数のＬＩＤＡＲ間の相対位置は、反復最近点アルゴリズムを使用してうまく推定され得る。
【０３６６】
ＬＩＤＡＲのヨー
車線境界線は、車線境界線（３１６０’を参照）が、一般に、反射性であり、ＬＩＤＡＲアクティブ光のより強い反射を生じるので、ＬＩＤＡＲ強度データ中で並びにカメラにおいて観測され得る。この理由で、例示的な非限定的な実施例は、カメラに関して運転方向に対するＬＩＤＡＲセンサのヨー３２４０を較正するために、本質的に同じ技法を使用することができる。
【０３６７】
カメラの場合と同様に、例示的な非限定的な実施例はまた、一般的なモーション推定を使用し、それを、オドメトリに基づいて予想されたモーションと比較することができる。車線境界線を使用することは、これの特殊な場合と見なされ得るが、それは、運転にとって最も重要である領域中で、ヨー角とともに強く変化する特徴に基づいて行われるので、より直接的なように思われる。
【０３６８】
レーダ
自動車レーダが、主に、距離、相対速度及び軸受角度に有用であるので、較正すべき主要な物は、ヨー角３２５２である。興味深いことに、例示的な非限定的な実施例は、カメラに関して同様のアルゴリズムを使用することができる。レーダは、点目標と、またそれらが静止しているかどうかの決定とを返すので、例示的な非限定的な実施例は、各静止目標軌跡を使用し、それが現在の車両モーションについて補償された後の点に最も近い目標軌跡を生じるレーダ・センサのヨーを探すことができる。前向きレーダにおける目標について、横向き変動は、ヨー角と最も強く接続されるものであり、キューは、カメラヨー角較正のために使用されているものと同じ（及び、後向きレーダについて同様）である。
【０３６９】
軌跡推定３０３０
例示的な非限定的な実施例は、それらが、機能し、主要な推定プロセスに正しく通信される限り、完全な障害をあまり受けない概算軌跡推定値を与えることができるセンサを有し得る。ホイール「チック」（例えば、検知された回転角変化）は、（例えば、ステアリング・ホイール角度センサからの）ステアリング・ホイール角度とともに、すでに基本平面軌跡を与える。いくつかの例示的な非限定的な実施例は、正確な相対的回転を与えるために、ジャイロセンサをもつ慣性測定ユニット（ＩＭＵ：ｉｎｅｒｔｉａｌ  ｍｅａｓｕｒｅｍｅｎｔ  ｕｎｉｔ）を追加する。これは、例示的な非限定的な実施例が、軌跡推定を、それらのセンサを用いて構築された概算において開始する非線形最適化問題として扱い、複数の代替ソリューションを維持することについてあまり心配しないことがあることを意味する。
【０３７０】
基本軌跡推定３０３０
基本軌跡推定３０３０は、概算であるが高速で便利な推定である。それは、コントローラ３００６のために、及びすべての認知タスク、障害物、経路、待機条件内の前方予測のために、並びにマッピングのために有用である。これらのタスクのために、例示的な非限定的な実施例は、ＧＰＳに依存せず、一貫して滑らかな経路へのアクセスを有すべきである。したがって、基本軌跡推定３０３０のためのインターフェースは、クエリが、２つの異なる時間の間の相対的モーションのために配置され得るものである。実装形態は、車両オドメトリ及びＩＭＵを入力として取り、クエリをサービスするために結果をもつローリング・バッファを保つ、軽く高速の拡張カルマン・フィルタである。
【０３７１】
基本ローカライゼーション３０２６ａ
マップ中の現在の車両所在地のための開始点を見つけることなど、いくつかの他のタスクは、ＧＰＳ姿勢を用いてより良くサービスされる（この文脈では、ＧＰＳ姿勢は、緯度／経度又は北進／東進だけでなく、完全な６つの自由度を意味する）。これは、いくつかの実施例では、ＧＰＳ、車両オドメトリ及びＩＭＵとともに作用し、ＧＰＳ座標系においてであるが、基本軌跡推定と同様のフィルタ処理を実施する、基本ローカライゼーションモジュール３０２６ａによって果たされる。
【０３７２】
高性能軌跡推定３０３０ａ
図４９は、例示的な非限定的な軌跡推定器３０３０ａのブロック図を示す。高性能軌跡推定３０３０ａのために、タスクは、視覚ランドマーク又はＬＩＤＡＲマッピングの詳細な視覚三角測量をサポートするために、うまく登録されたカメラ又はＬＩＤＡＲセンサ示度に基づいて非常に正確な相対軌跡を与えることである。
【０３７３】
例示的な実施例では、軌跡推定は、登録のための礎石である。例示的な非限定的な実施例は、ドライブのすべての瞬間をマップにローカライズすることができ、それは、軌跡の推定値を与えることになることが論じられ得る。しかしながら、例示的な非限定的な実施例は、いくつかの登録タスクを難しく又は容易にする事実上の条件を考慮すべきである。センサ間の較正のために、タスクは、有用であるが、同じジオメトリの多くの冗長観測値を有するよって、及び同じから又は同じ時間的瞬間に近い環境を介して各瞬間について、より容易にされる。
【０３７４】
軌跡推定３０３０ａのために、いくつかの例示的な非限定的な実施例は、何らかの冗長性をもつが、例示的な非限定的な実施例が、軌跡を推定するために、車両オドメトリ、視覚オドメトリ、ＬＩＤＡＲポイント・クラウド登録及びレーダ軌跡を使用することができるので、観測の１つのセットを有する。例示的な非限定的な実施例はまた、問題を簡略化する平滑度及びモーション・モデルを有する。軌跡がドライブされるとき、すべてのそれらの測定値は、時間的に非常に近接して取られるので、視覚特徴を追跡すること、及びポイント・クラウドを生成する表面が変化しなかったことを信用することがはるかに容易である。これらの理由で、ドライブの瞬間の間の制約は、ドライブ間（又は等価的に、ドライブからマップへの）のものよりも実際には強い。したがって、例示的な非限定的な実施例は、それらが、ドライブ間の瞬間を登録する問題を、ドライブ軌跡を登録することに上げることができるようにドライブ軌跡を推定する（これは、後で説明されるように、非常に多くからほぼ３つに推定自由度を減らす）。
【０３７５】
マッピングについて、例示的な非限定的な実施例は、それらが、ドライブ間で登録することができるようにドライブ軌跡を推定し、これは、次いで前のドライブから現在のドライブに情報をもたらすことを可能にする。これの結果の１つは、例示的な非限定的な実施例が、「相対形状」として何らかの時間ウィンドウについて推定された軌跡を必要とするにすぎず、自由に又はＧＰＳ座標システムにおいて広域的にドリフトしないことである。例示的な非限定的な実施例は、十分に多くのスパース・ランドマークが、セグメントにわたって見られること、及びそれらの相対位置が、整合されるべき異なるドライブのセグメントについてあまりひずんでいないことを確認するのに十分長いウィンドウを必要とするにすぎない。
【０３７６】
いくつかの例示的な非限定的な実施例は、軌跡が、すべてのセンサの尤度寄与を用いた非線形改良によって、時間ウィンドウにわたって推定されるいわゆる「スライディング・ウィンドウ」フィルタ３３１２を使用し、次いで、前方にその時間ウィンドウをスライドし、推定を繰り返す。リアルタイム目的のために、高性能推定は、いくつかの実施例において、バックグラウンド・スレッドに対して実施され得、基本軌跡推定における高速フィルタは、推定値を、最高周波数ＩＭＵ／車両オドメトリ測定値の先頭にフォワーディングするために、フォアグラウンド・スレッドにおいて実行され得る。ドライブ間推定又はドライブマップ間推定値も、バックグラウンド・スレッドにおいて起こることがあり、したがって、高速フィルタは、リアルタイム目的のために、最近の現在の車両移動データを補正するために使用されるにすぎない。
【０３７７】
ウィンドウ化された軌跡推定問題は、車両の姿勢のシーケンスとしてパラメータ化される（上記で説明されたように、センサ較正は、共通座標系におけるセンサ姿勢のシーケンスを決定するために使用され得る）。例示的な制約は以下のようである。ホイール・チックは、姿勢間の予想された距離を与える。ステアリング・ホイール角度は、軌跡の予想されたローカル平面曲率を与える。ＩＭＵは、ローカル相対姿勢制約、及び場合によっては、重力ベクトル制約を与える。視覚特徴トラック３３０８は、三角測量３３１０され、相対姿勢制約を与えるバンドル調整３３１２中に含まれる（これらは、特に、カメラが、車両の周りのすべてをカバーする場合、高い視野が、視覚オドメトリの信頼性及び精度を改善することをよく知られているので、非常に強くなる）。後続のＬＩＤＡＲポイント・クラウド・セグメント間の反復最近点の結果は、相対姿勢制約を与える。静止レーダ目標は、視覚的に追跡される点と同様のやり方で使用され、相対姿勢を制約する距離及び軸受観測を与えることができる。ＧＰＳも、原則として、使用され得るが、ＧＰＳがドリフトを抑圧することによって役立つほど十分にウィンドウが長い場合、相対位置のひずみは、例示的な非限定的な実施例が目的としている整合正確さよりも大きいエラーの大きさにすでに到達する。うまく設計された例示的な実施例のドリフトの妥当な予想は、場合によっては、１パーセントであり、これは、ウィンドウが、例えば、１００ｍの最大値の場合、例えば、３０〜５０ｍに対応していることがあることを意味する。いくつかの実施例は、インター整合を実行するとき、ウィンドウのより最近の部分を強調する。
【０３７８】
障害物認知３０１０
例示的な非限定的な障害物モデリングは、対象物トラック３１６４、自由空間３１６２、及び動的占有グリッド３１０２を作成する。
【０３７９】
対象物検出
例示的な実施例は、ピクセルごとのクラス出力画像及びピクセルごとのリグレッサ出力を作成するために、個々のカメラ・フレーム（図５０を参照）中でディープ・ラーニングを使用する。対象物を作成するために、ピクセルごとのクラス画像は、複数の４つのレッグ・スカラ・リグレッサ画像と組み合わせられる。ピクセルごとのクラス・マップは、対象物コアを返し、ここで、対象物コア・ピクセルは、リグレッサが有効であるピクセルである。リグレッサは、バウンディング・ボックスに対する票を作成する。この出力は、検出バウンディング・ボックスに後処理される。別個のクラス・マップが、対象物のサブクラスを決定し得る。同様のプロセスが、（１スイープを取り、それを深度画像として表す）円筒形深度マップを表すために使用されるＬＩＤＡＲデータに対して使用され得る。他の実施例は、エゴ・モーションの影響を取り出した後、２回の後続の整合ＬＩＤＡＲ走査においてモーション・ベース検出を実施する。
【０３８０】
対象物追跡３１６４
例示的な実施例は、いくつかの理由のために対象物追跡３１６４を実施する。対象物追跡３１６４は、検出が弱いフレームをブリッジすることによって、より粘着性のある検出を与えることができる（図５１を参照）。対象物追跡３１６４は、それが、現代のニューラル・ネットよりも軽い処理であるので、検出がスキップされたフレーム間をブリッジすることよって、性能利得を与えることができる。対象物追跡３１６４は、それが、２つの依存しない検出の比較よりも時間フレーム間で正確であることがあるので、モーションの慎重な理解を与えるためにも使用される。
【０３８１】
テンプレートが何分の１秒前にそれについて与えられたフレームをマッチングする実施例のプロセスは、特定の対象物のフレームを、多種多様な対象物にわたる訓練を通して獲得された対象物の一般的なモデルにマッチングさせることよりも容易である。さらに、例示的な実施例は、追跡によってより良く行われる（例えば、経路内決定のための）何らかの単純な前方モーション予測を行うために、時間にわたる対象物検出を関連づける。時間にわたる対象物のモーション・トラックは、ビジョン・トラックをレーダ・トラック又はＬＩＤＡＲに関連づけるためにも使用される。
【０３８２】
いくつかの例示的な実施例は、レーダ関連づけ及び他の処理に関連する情報とともに、ほとんど特徴トラックのように、ローリング・バッファ・テーブルにバウンディング・ボックス・トラックを記憶する。
【０３８３】
以前のフレーム中の各バウンディング・ボックスについて、例示的な非限定的な実施例は、それのバウンド内の特徴トラックを使用する。最初に、例示的な非限定的な実施例は、特徴点のすべてのペアによって示されたスケール変化のメジアンとしての外れ値にロバストであるやり方で、スケール変化を推定する。次いで、例示的な非限定的な実施例は、スケーリングが調整された後のすべての特徴点によって、その次元におけるトランスレーションのメジアンとして２つのトランスレーション・スカラを推定する。これは、フレーム間トランスレーション、及び新しいフレームへの各バウンディング・ボックスのスケーリングを与える。次いで、例示的な非限定的な実施例は、（検出が新しいフレームのために実行された場合）前方追跡されたバウンディング・ボックスを、バウンディング・ボックスの新しい検出と一致させる。最終的に、到着時間測定値の精度を最大にするために、各バウンディング・ボックスについて、いくつかの例示的な非限定的な実施例は、各バウンディング・ボックスのサイズに依存する適切な時間ベースラインを用いて、現在のフレームから時間的に後の方に以前のフレームに特徴トラック分析を実行する。この処理は、特徴追跡によって与えられた特徴トラック・テーブルに基づいて行われる。
【０３８４】
到着時間
例示的な非限定的な実施例は、正しい時間ベースラインを決定するために様々な技法を使用する。そのような時間ベースラインは、例えば、現在の運転速度など、特定の速度まで相対的モーションの範囲に依存する。しかしながら、時間ベースラインは、移動している対象物の速度（例えば、何らかの最大速度で車両に接近する別の車両又は他の対象物の速度）によっても影響を及ぼされる。時間ベースラインは、例えば、最大所要距離範囲と比較的公称対象物サイズとにも依存し得る。例示的な非限定的な実施例は、最大距離範囲において、１つのピクセルの画像サイズの変化が、最も緊急可能な相対的モーションによって誘起されたピクセルの数の何らかの所与の部分の変化であるべきであるかどうかを分析する。図５２を参照。したがって、例えば、例示的な非限定的な実施例が、最大モーションからの変化のｎ個のピクセルについてテストすると、対象物がサイズｗを有すると、及び最大距離がｄであると仮定する。ピクセルにおける投影サイズｓは、ｓ＝ｆｗ／ｄであり、ここで、ｆは、何らかの焦点距離スケーリングである。最大クロージング速度がｖであると仮定すると、時間単位ごとのサイズの変化は、微分ｓ’＝−ｆｗｖ／ｄΛ２である。例示的な非限定的な実施例は、ｓのためのこの式をこれに代入し、ｓ’＝ｓｖ／ｄを取得することができることに留意されたい。長さｔの短時間間隔の間、サイズの変化の絶対値は、ｔｓｖ／ｄである。例示的な非限定的な実施例が、それが少なくともｎ個のピクセルであることを必要とする場合、要件ｔｓｖ／ｄ＞＝ｎが導出される。例示的な非限定的な実施例は、あるサイズを仮定すれば、どのくらいの時間、モーション分析以上を実施すべきかの方策としてこれを使用することができる、
ｔ＝ｄｎ／（ｓｖ）。
したがって、バウンディング・ボックスが小さいほど、例示的な非限定的な実施例は長く待つはずである。例示的な非限定的な実施例は、ｄのための固定値（例えば、１００ｍなど）、ｎのための固定値（例えば、６ピクセルなど）、及びｖのための固定値（例えば、３０ｍ／ｓなど）を使用することができる。これらの例の場合、例示的な非限定的な実施例は、ｔ＝２０／ｓを得る。
【０３８５】
２０ピクセル・サイズの場合、これは、１秒に達し、１００ピクセル・サイズにおいて、１秒の１／５に達する。特に、この分析は、後続のフレームに対して算出を実施することが、６００ピクセル・サイズを必要とするであろうことを示す。到着時間は、レーダ測定値に対する対応のあいまいさを除去するのを助けることができ、非常に大きい対象物の場合、角度は十分であり、したがって、モーション拡大は、しばしば、ビジョンのみ巡航制御について、及び遠方対象物について最も関連する。
【０３８６】
例示的な実施例は、以下のように（時間ｔ２における最も遅いフレーム測定値から）到着時間を決定する。時間ｔ１から時間ｔ２にかけて走行された距離と走行すべき残りの距離との間のスケーリングは、（ｄ２／（ｄ１−ｄ２））である。仮定は一定のモーションであり、したがって、例示的な非限定的な実施例が、そのスケーリングに（ｔ２−ｔ１）を乗算する場合、結果は到着時間になる。
ｔ＝ｄ２（ｔ２−ｔ１）／（ｄ１−ｄ２）
【０３８７】
いくつかの例示的な実施例は、（緊急度ｕと呼ばれる）逆到着時間で作用する。ピクセルにおける投影サイズのための式が反転され、ｄ＝ｆｗ／ｓをもたらす場合、ｄに代入するために反転を使用することは、緊急度について、以下の式、
Ｕ＝（ｄ１−ｄ２）／（ｄ２（ｔ２−ｔ１））＝（ｓ２／ｓ１−１）／（ｔ２−ｔ１）
を導出する。第２のスケールが第１のスケールよりも大きいとき、緊急度は正になり、それは、より短い時間期間においてより大きいスケール差とともに増加することに留意されたい。正確なタイム・スタンプｔ１及びｔ２（又は少なくとも正確な時間差）の重要性に留意されたい。
【０３８８】
十分な数の特徴トラックを生成しない任意の対象物（例えば、不十分に大きい対象物）の場合、いくつかの例示的な実施例は、トランスレーションに加えて、それのモデルにおけるスケーリングを含む特殊ＫＬＴ整合を実施する。これは、何らかの最小数の特徴トラックよりも多くを有さないすべてのバウンディング・ボックスについて行われ、処理の複数特徴トラック・バージョンと同じ関連づけ及び到着時間測定値を与える。
【０３８９】
距離
いくつかの例示的な実施例は、随意に、イメージ・スタビリゼーション又はＩＭＵ支援基本軌跡推定によって短時間スケールにわたって調整された、自己較正からの長期ピッチを使用して、観測された対象物の最も低い画像行を平坦な接地仮定上にマッピングすることによって、カメラ被写体について粗距離感を導出する。単純であるが、この方法の性質の１つは、それが、実際の距離の連続ひずみとして挙動することである。高速の場合、道路は、通常、より平坦であり、したがって、推定は、ある反応時間に関係するスケールにわたって知覚可能である傾向がある。地平線により近い距離は、ますます伸張され、したがって、地平線が到達される前に、距離を制限することがより良好である。いくつかの例示的な実施例は、接地平面を、ますます急になり、ある高さ（例えば、４０〜５０ｍ、図５３を参照）において壁にカーブする滑らかなランプにヒューリスティックに再定義することよってそれを行い、その上に画像行を投影し、得られた距離を取る。到着時間値は、次いで、測定された到着時間を「エミュレートする」対象物速度を決定するために使用される。そのエミュレーションを与える相対速度（接近速度）は、単に、緊急度を乗算された距離である。この出力で作用するクルーズ制御モジュールは、これらが物理的値であることを装うことができる。
【０３９０】
これは、遠方対象物を、その最大距離でほぼ「スティックする」ようにひずませる。しかしながら、距離は、たいてい、反応時間ホールドオフ距離を与えること、及びビジョン・レーダ関連づけのための粗示唆を与えることが必要とされる。距離を推定するように直接ニューラル・ネットワークを訓練することなど、距離を推定するためのより精巧な方法が、有用であり得る。ＬＩＤＡＲが存在する場合、それは、（そこにおいて、ＬＩＤＡＲに応じて、ビジョンが検出し、レーダがにおいて距離を与えることができる範囲よりも短いことがある）ＬＩＤＡＲの範囲まで正確な距離を与えるために使用され得る。
【０３９１】
レーダ検出及び追跡
例示的な実施例は、ビジョン・トラックと同様のローリング・バッファ・テーブルにレーダ・トラックを記憶する。レーダ・トラックは、一般に、正確な範囲と範囲レート、概算軸受角度、及びそれほど有用でない高度角度を備える。
【０３９２】
ビジョン・レーダ関連づけ
ビジョン及びレーダ・トラックをマッチングさせるために（図５４を参照）、例示的な実施例は、たいてい軸受角度及び緊急度である、レーダとビジョン・トラックとの間で共通である性質を使用する。例示的な実施例は、このようにしてトラック間のマッチ・スコアを形成する。例示的な実施例はまた、大きい分散（マッチ・スコアのこの部分上の軽量）をもつビジョンからの粗逆距離を使用することができる。例示的な実施例は、次いで、トラックを関連づけるために、短時間スライディング・ウィンドウを使用する。すなわち、例示的な実施例は、小さい時間間隔にわたってトラック・テーブル中のデータを使用して問題を解決する。時間ウィンドウを使用することの利益は、例示的な実施例が、新しいデータが利用可能になると変化され得る暫定的決定を依然として行いながら、現在の瞬間からだけでない情報に照らして決定を行うことができることである。例示的な実施例は、ペアワイズ関連づけスコア行列を計算し、次いで、グリーディ様式でマッチを割り当てることを開始する。例示的な実施例はまた、ペア内で、両方のメイトが、任意の他のマッチよりも互いを選好するという意味で、どのペアリングが「幸福な」ペアリングであるかを検査することができる。この性質を有しないペアリングは疑わしい。ここで、保守的手法を取り、縦方向加速度を最も制約するすべてのもっともらしいマッチのうちの１つを使用することが可能であるが、偽正及び偽負の両方が問題になる。
【０３９３】
自由空間３１６２
例示的な実施例は、画像中のすべてのドライブ可能な領域を示すピクセルごとの自由空間画像をも作成するディープ・ラーニング処理を実施する。これは、実施例が「自由空間速度」をも必要とする、又は自由空間がどのくらい速く変化するかという意味で十分でない。これの１つの場合は、自己車両が、別の車両のテールの後でドライブすることであり、その場合、自己車両は、先行車両が離れることを通して自由空間がそれの前で開けていることを確信しているべきである。これを処理するための１つの例示的なやり方は、対象物バウンディング・ボックス内にある領域で作用し、それらのピクセルがバウンディング・ボックスのモーション分析に従って移動すると仮定することである。さらに、何が移動することができる対象物であるか、及び何が静的バックグラウンドであるかを知ることなど、セマンティック・セグメンテーションが、その点において有用であり得る。いくつかの実施例はまた、車両と分類されないすべてのピクセルについて保守的であること（したがって、例えば、歩行者が離れると決して仮定しないこと）を必要とし得る。より完全な試みは、自由空間の境界の近くにあるすべての領域に対してモーション分析を実施することである。
【０３９４】
プロセスは、ＬＩＤＡＲについて同様である。例示的な非限定的な実施例は、車両の近くの接地平面推定値を使用すること、及び接地平面の上の点の有意なアグリゲーション又は障害物領域として有意な変化率を有する領域を宣言することのいずれかを行うことができる。例示的な実施例はまた、車両が、自由空間の十分な変化率を与える道程から外れて移動していることを確認するために、モーション・セグメンテーションを使用することができるか、又は視覚追跡とＬＩＤＡＲ距離とを組み合わせることができる。別のオプションは、深度マップと見なされるＬＩＤＡＲデータ上で実行する畳み込みニューラル・ネットワークに基づいて、自由空間を決定することである。
【０３９５】
動的占有グリッド３１０２
動的占有グリッド３１０２（図５５を参照）は、自由空間及び追跡されたバウンディング・ボックス、動的レーダ・トラック、接地平面の上のＬＩＤＡＲ点、及び深度マップと考えられるＬＩＤＡＲデータ中の深度の変化率によるモーション推定値を使用してなど、利用可能なデータのいずれかを使用してレンダリングされる。例示的な実施例は、間違って割り当てられたデータのスリバーを回避するために、何らかの形態のモーション・セグメンテーション及び接地点の分類を行い得る。
【０３９６】
経路認知３０１２
例示的な実施例は、経路認知３０１２のために利用可能なすべてのキューを活用する（図５６のシナリオを参照）。それらは、偏心パラメータ（経路の中心からの正又は負の横方向オフセット）、オフ方位パラメータ（経路の方向からの正又は負の角度オフセット）、及び曲率パラメータに関して、車両に対する主経路の推定値を得る。いくつかの実施例では、これは、時間的に前方にドライブされるどんな経路が現在の画像と組み合わせられるかの多くの例から訓練されたニューラル・ネットワークによって作成される。訓練データは、車線中で定常を保持しながら取られ、次いで、主カメラ及び２つのオフセット・カメラに基づく合成レンダリングを使用して横方向に及び方位的に増強される。例示的な実施例は、ＬＩＤＡＲデータを用いてこれを同様に行うことができる。このプロシージャは、特定の偏心／オフ方位／曲率を仮定すれば、中心へ戻る経路を定義するために、クラシック・プランナー／コントローラを用いて使用され、訓練例を定義するために、（何らかの時間的オフセットをもつ）経路の始まりにおいて逆回転半径を取っていることがある。この訓練時間制御は、このコントローラ３００６への入力を予測するようにネットワークを訓練し、それにより、経路推定値を明示的にし、望まれる因数分解と、結果を他の入力と組み合わせるための、及び望まれる場合、時間的にそれを融合させるための機会とを与えることになる。
【０３９７】
データは、右左分岐、右左折並びに直進に適した訓練データを与えるために、異なるやり方でキュレートされ得る。同時にそれらのネットワークを実行することは、マップさらにはルートに対する依拠なしに、各状況における複数の経路オプションのためのアフォーダンスを与える。他の実施例は、ローカライゼーション不確実性をキャプチャするのに十分大きく、先の選定の複雑さが十分な、現在のＧＰＳ姿勢の周りのウィンドウ中のマップの鳥瞰ビュー・カットアウトにおける、道路ネットワーク並びに望まれるナビゲーション・ルート（本質的に、道路／非道路及びルート／非ルートを示す２つのレイヤ）のレンダリングを使用する。ルートは、ただ左／まっすぐ／右と比較してより洗練された意図として働き、方向転換の形状へのキューを与え、ネットワークが、現在の姿勢への転換を推定することのみを必要とする。これのための訓練データは、ドライブし、一般的なＧＰＳエラーと同様の量だけマップ・カット・アウトをシフトすることによって自動的に生成され得る。例示的な実施例は、中心経路並びに車線エッジのための推定値を与え得る基本車線検出３１００ｂからの出力をも使用する。
【０３９８】
ビジョン・レーダ関連トラックからの車両軌跡も、経路ヒントを与えるために使用される。これは、マーキングが、漠然としているか又はほとんどなくなった場合において有用であるが、車のグリッド又は自己車両が追従している少なくとも先行車両がある。同じ速度を保持する自己車両の前の先行車両からのレーダ関連ビジョン・トラック（レーダからの距離、及びビジョンからのバウンディング・ボックスの例えば下部中心の角度）は、連続経路に「ブレッドクラム」を与える。例示的な実施例は、車線の中心があるところに対する票としてそれらを使用することができる。これは、車両が車線を変更している場合、紛らわしいことがあり得るが、非常にあいまいな状況においては依然として有用であり、他のキューがない場合、実施例が規則に従うことを可能にする。上記の測定値のすべては、自己較正から取得されたヨーのための値によって調整され得る（及びピッチは、接地投影のために使用される）。さらなる実施例によれば、マップからの道路の直接形状も使用され得る。
【０３９９】
例示的な実施例は、次いで、時間スライディング・ウィンドウにわたって推定を実施する。時間スライディング・ウィンドウは、それが、実施例が暫定的に情報を受け付け、拒否することを可能にするので、カルマン・フィルタよりも好ましいことがある。カルマン・フィルタは、１つが永続的に測定値を受け付けるか又は拒否するように要求するが、新しい測定値が、前の測定値を確証するか又は無効にするために到着し得る。時間スライディング・ウィンドウを使用して、例示的な実施例は、時間ウィンドウにわたってすべての入力ソースを使用してロバストなフィッティング・プロシージャを実施することができる。推定の出力は、車線グラフの成分である。車線の中心のためのスプライン並びに左右車線エッジが最も重要である。例示的な実施例は、自己車線（それの中心が自己車両に最も近い車線）と、また、（十分なサポートの場合）それの左右の車線の両方を推定する。これは、車線変更をサポートするためのものであり、車両が、車線内の中心に完全に位置しないときにうまく機能するためのものである。例示的な非限定的な実施例はまた、車線グラフの前のライブ推定値への時間関連づけを作成する。車線中心及び車線エッジは、時間にわたって対応させられる。それらがフレームごとにあまり移動せず、エゴ・モーション推定値が利用可能であるので、これは、車線変更中に不明確であり得る、車線エッジが左であるのか右であるのかを決めることよりも容易な決定である。しかしながら、対応は、新しい推定がなされると、前の推定値に後の方に行われ得、唯一の平滑化機構は、スライディング・ウィンドウが、同様の重複データを使用することである。
【０４００】
関連づけ情報は、任意の２つの時間的瞬間の間で左又は右に起こった車線変更の端数量を計数する累積スカラを保つために使用され得る。例示的な実施例は、スカラ値のローリング・バッファとしてこれを実装し、バッファを通るワン・パスを完了したとき、スカラをリセットする。インターフェースは、次いで、最近の過去における任意の２つの瞬間の間の車線変更の量を読み取ることを可能にする。
【０４０１】
経路内決定３１２０
図５７は、経路内決定の問題を示す。例示的な実施例は、追跡された対象物と各関連する経路との間の経路内決定３１２０を実施する。考慮中の経路は、ピクセル・マップとしてレンダリングされた画像（又はＬＩＤＡＲ座標系）に投影される（図５７を参照）。例示的な実施例は、対象物の決定された部分であった当該のバウンディング・ボックス中のすべてのピクセル（例えば、バウンディング・ボックス中のすべての非自由空間点、又はセマンティック・セグメンテーションによって対象物点であると決定されたすべてのピクセル）を取り、（例えば、もう１秒の間前方に外挿された最後の１／２秒にわたるバウンディング・ボックスのモーションを使用してなど）前方予測によってそれらを変調し、次いで、対象物のピクセル・マップと経路のピクセル・マップとの間の比較を実施する。例示的な実施例は、次いで、対象物が、テストされた経路上に浸食しているかどうかを決めるために、任意の重複エリアに対して何らかのしきい値を使用することができる。効率のために、これは、テストで使用されるほぼ固定された数のピクセルがあるようにバウンディング・ボックス・サイズに適応されたピラミッド・スケールで行われ得る。
【０４０２】
いくつかの実施例では、このプロセスは、すべての対象物と、左及び右上でそれに平行な経路に加えて主経路との間で実行される。対象物は、次いで、現在の自己車両ができるように、複数の車線に割り当てられ得る。側面カメラが利用可能である場合、それは、両側の現在の車両の隣の車線についても行われる（及び距離及び速度情報が、同様にそのような検出のために作成される）。
【０４０３】
待機条件認知３０１４
図５８は、一般的な待機条件シナリオを示す。例示的な実施例は、バウンディング・ボックスのためのリグレッサに加えて分類レイヤを用いたディープ・ラーニングを使用して、障害物と同様に交通信号を検出する。別個のレイヤが、赤／緑／黄を予測し、交通信号は、他の対象物と同じやり方で追跡される。停止及び減速標識が同様に検出される。例示的な実施例はまた、視覚交差点領域全体をマーキングし、それについてバウンディング・ボックスを予測することよって、交差点を検出するために訓練する。ここで、例示的な実施例は、セマンティック・セグメンテーション・クラスがそれについて交差点を示すエリア全体にわたってより慎重な幾何解析を行い、下、上、左及び右に対して投票したメジアンを探し得る。例示的な実施例はまた、終点を予測するリグレッサを用いて、ディープ・ラーニングを使用して可視待機線を検出する。すべてのこれらの検出は、三角測量のためにマップ認知３０１６に受け渡され、クラウド２０２２中のマッピングに送られる。高性能ローカライゼーション３０２６ｂをもつマップも、妥当性を検査し、情報に追加するために、及び交通信号方向転換関連づけを示唆するために使用される。
【０４０４】
マッピングされた交通信号とライブ認知との間の関連づけが、状態が適切な経路をゲートするために使用され得るように実施される。減速及び多方向停止のために、周囲が、競合トラフィックについて検査される。特に、多方向停止の場合、例示的な実施例は、自己車両が停止するまで待ち、移動している自己車両の前の一般的なエリア中のすべての他のトラフィック、並びに隣接するエリアから交差点に向いており、自己車両の前に停止したトラフィックを追跡する。例示的な実施例は、意図された走行経路において又はそれのほうへ移動しているものが他になく、交差点の近くで待機している競合するトラフィックが、自己車両の後に停止したか、長時間移動しなかったかのいずれかのとき、待機条件がクリアされたと見なすか、又は実施例は、マッピング統計値に基づいて、それが先行権を有し、それらが移動していないことを確定する。例示的な実施例は、次いで、交差点の交渉中に車両の周りの対象物を監視する。
【０４０５】
マップ認知３０１６
図５９は、例示的な非限定的なマップ認知シナリオを示す。センサ較正及び軌跡推定により、問題は、ほぼ、２つのドライブ・セグメントを整合させる３つの自由度を見つけることに低減される。２つのドライブ軌跡の姿勢は、（例えば、限定はしないが）１０ｍの程度の大きさまでＧＰＳ座標系においてほぼ知られる（ＧＰＳローカライゼーション精度は、時々、はるかに良いことがあるが、究極的には、より高い不確実性が含まれる分布である）。これは、互いに１０ｍ内で通過するドライブ軌跡が、軌跡が、共通ドライブ可能な地面を共有するのに十分近いどこででも、ローカル接地形状に沿ったローカル・トランスレーション及び回転としてモデル化され得る残差整合を有することを意味する。
【０４０６】
マッピング・ランドマーク検出
関連する視覚ランドマークは、道路マーキング（並列実線、ダッシュ及びドット、垂直線、道路画像）、道路境界（ドライブ可能な表面が、静止と見なされ得る非ドライブ可能な表面に遷移する点）、ポールなどの垂直ランドマーク、交通標識及び交通信号である。視覚ランドマークは、いくつかの実施例では、適切な後処理を用いてニューラル・ネットワークによって検出される。
【０４０７】
例示的な実施例はまた、特に、縦方向ローカライゼーション精度を改善し、並びに静止レーダ目標が、インフラストラクチャにおいて予想されるのか、停止車両など、予想されないのかに関する情報を与えるのにそれら自体で有用である可能性を有する、ランドマークとして静止レーダ目標を使用する。
【０４０８】
ＬＩＤＡＲポイント・クラウド又は高密度視覚特徴トラックの三角測量も、それらが、ドライブ間の整合に寄与することができるという意味で、「ランドマーク」として記憶及び使用され得る。例示的な実施例は、それらが生成するより高いデータ・レートにより、これらを別個のレイヤと見なし得る。いくつかの実施例は、平面、線又は表面フィッティングを使用して、又は特徴を検出することによってなど、完全な表面形状を符号化することなしに整合をサポートするやり方で、ポイント・クラウドを要約する。別の代替形態は、２Ｄ投影又はスライスを使用することである。
【０４０９】
ランドマーク・追跡及び三角測量
道路マーキング及び道路境界の３Ｄ位置は、いくつかの実施例では、接地平面への車両の近くの逆投影によって決定される（これは、車両が接地のその部分を通過した後に起こることさえあることに留意されたい）。ＬＩＤＡＲが利用可能な場合、これは、またさらに車両からの厳密な接地形状によって改善され得る。垂直ランドマーク、交通標識及び交通信号が追跡され、観測の時間ウィンドウを使用して三角測量される。ＬＩＤＡＲが利用可能な場合、ＬＩＤＡＲ距離が使用され得る。静止レーダ目標は、単一のレーダ観測からの３Ｄにおいてほぼ決定されるが、複数の観測値から慎重に推定される。すべての３Ｄ位置は、車両姿勢のうちの１つに対して決定され、ドライブ・セグメントからのすべてのランドマークが、それにより、推定されたドライブ軌跡を使用して同じ座標系にチェーン結合され得る。しかしながら、グローバル座標系の必要性が回避されることに留意されたい。
【０４１０】
マップ・ストリーム符号化
ランドマーク３１５８とともに軌跡推定３０３０、３０３０ａから出てくる姿勢のチェーンは、各運転車両によって作成された「マップ・ストリーム」を構成する。例示的な実施例は、それが、運転のメートルごとに数バイトに達するのみであるほど十分に効率的にこれを符号化する。現代のモバイル・データ・チャネル上でメートルごとに数バイトをクラウド３０２２に転送するコストは、車両を推進するコストによって小さく見せられる。これは、各車両に、リアルタイムでマップ・ストリームを寄与させる可能性を開き、Ｗｉ−Ｆｉホットスポットが使用され得るまでデータをバッファすること、又はいくつかのドライブ・セグメントのみを入念に選ぶことが、コストをいっそう低くすることができる。
【０４１１】
交通信号、垂直ランドマーク及び交通標識など、ランドマークは、現在の車両姿勢に対して数個の協調バイトを用いてそれらを符号化することが、帯域幅バジェットを破壊しないほど十分であることはまれである。道路マーキングは、「オン／オフ・イベント」をもつ曲線として慎重に符号化される。ダッシュのためのオン／オフ・イベントは、例えば、（一般に、メートルごとに１ダッシュ未満があり、センチメートル正確さは、概して、十分であるので）適切なエントロピー符号化が配慮される前にさえ、ダッシュごとに１バイト未満を用いて行われ得る。道路マーキングのシーケンスの横向きの曲率は、それの過去の軌跡が与えられれば、それの横方向位置尤度を予測することよってエントロピー符号化され得る。例えば、例示的な実施例は、２５ｃｍの段階で前方予測し、横方向位置のための８つの個別選定を作成する３ビットを使用し、メートルごとに最高１２ビットを追加し得る。完全な工業強度ソリューションは、より多くの粒状分布にわたる算術コーディングを使用し得る。単一のマップ・ストリームは、平均して、複数の４つのレッグ共点道路マーキング線を含んでいることがある。車両モーションのその時々の転換も、転換曲率が一定のままであると仮定すると、予測に対して差分の算術コーディングで符号化され得る。車両によってなされたＧＰＳ読取りも、マップ・ストリームにおいて符号化される。
【０４１２】
上述のように、ポイント・クラウドは、別個のレイヤとして処理され得る。それらは、１Ｄ又は２Ｄ信号として圧縮される。
【０４１３】
高性能ローカライゼーション３０２６ｂ
高性能ローカライゼーション３０２６ｂは、前のドライブに車両のローカライズし、それにより、前のドライブからのデータをもたらす際の最終ステップが、現在の運転タスクを支援することを可能にする。
【０４１４】
高性能ローカライゼーション３０２６ｂは、異なるランドマーク・ソースからの出力を組み合わせ、また、異なる時間的瞬間からの情報をパッケージ化することができる。これは、実装形態が、シングル・モード種類のより多くである場合でも、又はランダムな若しくは目標にされたサンプリングの何らかの形態に基づいて当てはまる。例示的な実施例は、探索空間中の位置のいくつかを評定し、次いで、全探索空間にレンダリングする。例えば、実施例が、ガウス・モード及びロバスト化外れ値混合物を用いて単一の勝者を選ぶ場合、それは、そのガウス及び外れ値混合物を全空間にレンダリングすることができる。このブルート・フォース表現はまた、ＧＰＵ並列度とうまく整合され、実施例が、管理可能な計算負荷を用いてすべての可能性を明示的にテストすることを可能にする。仮定され得る探索空間が、それが、無視できない尤度をもつすべての可能性をキャプチャするという意味で、完了していることを見つけることによって、実施例は、意思決定の順序を「反転させる」ことができる。他の実施例は、モジュールの１つ内で早期にモードにコミットすることを回避するために、システム・レベル探索、最適化又はサンプリングにおける異なるデータ・ソース及び時間的瞬間からの尤度のすべての詳細を統合することができる。
【０４１５】
例示的な実施例は、完全に独立して、又はどの姿勢をテストすべきかを示唆すために前の姿勢からの前のデータの何らかの使用をもってのいずれかで、各瞬間について姿勢（ログ）尤度空間を算出することができる。実施例は、時間的に後の方に証拠をアグリゲートするために、推定された車両軌跡を使用することができる。最新の姿勢空間中の各姿勢仮説について、推定された車両軌跡は、前の瞬間の各々のための後方姿勢のチェーンを暗示する。軌跡が、完全な６つの自由度（６ＤＯＦ）で推定されるので、それらの姿勢は、前の姿勢空間のわずかに外側にランドし得、したがって、実施例は、次いで、空間内で正確である最も近い姿勢にそれらを投影し得る。これは、最新の姿勢空間と同じ座標系に前の姿勢空間から値をフェッチすることを可能にする。実施例は、次いで、時間とともに何らかの減衰する重量をもつログ尤度を追加することなど、任意の組合せを使用することができる。実施例はまた、領域中の最も高い尤度が、次の時刻における累積尤度に寄与することを可能にすることによって、軌跡推定におけるドリフトを収容することができる。これは、前方に推定値を累積するための動的プログラミング・プロシージャにつながる。次いで、組み合わせられた尤度空間中の最大点が決定され得、分析が、（例えば、限定はしないが）信頼性形状、複数のモードがあるかどうか、及び最良のソリューションがどのくらいうまくサポートされるかに対して実施され得る。
【０４１６】
各データ・ソースについて尤度寄与を測定するために頼るべき証拠の種類は、投影された対象物（例えば、道路マーキング、道路境界、垂直ランドマーク、交通標識、交通信号、静止レーダ目標など）のためのデータが、（非限定的な例として、スコアリングが、ルックアップ及び累積がそれに続く投影からなるようにするために、各ランドマーク・タイプのための距離変換の単調マッピングなど、あらかじめ計算された画像を使用して）現在のセンサ値にどのくらいうまくマッチングするかである。ＬＩＤＡＲポイント・クラウドの場合、実施例は、現在のセンサ値を深度マップと見なすことと、この姿勢のためのマップ・ポイント・クラウドのレンダリングと比較することとによって同様に進むことができる。
【０４１７】
クラウド・マッピング３０２２
マップ・ストリーム・ストア（ドライブ・ストア）
例示的な一実施例において、完全なマッピング・ソリューションは、車両からデータを受信するクラウド・サービス成分のコンスタレーションを含み、ドライブを一緒に登録するためにデータを処理し、マップ・データを用いて車両をサービスする。それらは、従来のマップよりも「アグリゲート・ドライブ」である。
【０４１８】
マップ・サービスのこのコンスタレーションの第１の成分は、マップ・ストリーム・ストアである。この成分は、車両によって寄与され、ＧＰＳタイルによってセグメント化され、時間及び冗長性に基づいて、プルーニングの何らかの量を用いて、それらがＧＰＳタイルを通して前の方に及び後の方に追従され得るようにリンクされた生データを保持する。データは、それがすでにうまく圧縮されているので、いくつかの実施例では生形態で保持され、したがって、インデックス付け、マッチング及びマップ生成のための異なるアルゴリズムに対して最大フレキシビリティを与える。
【０４１９】
ドライブ・インデックス付け
ドライブ・インデクサーは、ストアに緊密に関係する。それは、ＧＰＳによってドライブ・セグメントを検索することと、概算セグメント・ルートによって随意にフィルタ処理することとを可能にする。
【０４２０】
ドライブ・マッチング
ドライブ・マッチングは、ランドマークによってもたらされる正確さまで慎重に複数のドライブを整合させるタスクである。一般的な動作は、ドライブ・インデクサーを使用してドライブ・セグメントの候補セットを見つけることである。候補セットは、同じ道路セグメント又は道路セグメントのシーケンスを通してドライブするためのわずかに異なるやり方であるように仮定される。基本動作は、次いで、いくつかのペアワイズ動作を通して複数のセグメントを整合させるように拡張され得る、２つのドライブ・セグメントをマッチングさせることが可能であることである。動作は、ドライブ・マッチャーが、現在、ある時点からの（過去のみでない）全ドライブを有する唯一の差がある、ローカライゼーションによって実施されるものと全く同様である。したがって、例示的な実施例は、ドライブ・セグメントの中央に中心を置かれた姿勢尤度空間にすべての証拠をもたらすために、いくつかの例において修正された同じ機構を使用することができる。別の代替形態は、フル６ＤＯＦ反復最近点プロシージャを使用することである。実施例は、それらのＧＰＳトレースによって判定されたものと同様である、固定の長さ、例えば、５０ｍのセグメントにマッチすることができ、マッチの結果は、セグメント内の（例えば、セグメントの中間の近くの）姿勢間の６ＤＯＦ姿勢リンクである。
【０４２１】
ドライブ・グラフ
ドライブ・グラフは、マッピング・エフォートの全範囲にわたって、できるだけ多くの有望なマッチについてドライブ・マッチングを系統的に実施することの結果である。ドライブ間の姿勢リンクへの参照は、それらが、ドライブ・セグメントから容易に見つけられ得るようなやり方で記憶される。したがって、前の方に及び後の方にドライブをトラバースすることを可能にする、ドライブ・ストアと組み合わせ、姿勢リンクは、それらが、最も良くマッチングされることが予想される場所におけるマッチングされたドライブ間のホッピングを可能にする。
【０４２２】
相対座標系
上記で説明されたドライブ・グラフは、（例えば、ＧＰＳ座標を介して）にインデックスを付けられ得るが、ドライブ・セグメントは、ドライブ・マッチングを通して、生ＧＰＳ座標が可能にするよりも潜在的に正確に関係し、例示的な実施例は、（ＧＰＳ  ｏｎｅのような）共通グローバル座標系へのすべてのドライブを強制しない。何らかのエンティティの座標は、常に、何らかの他の参照に対するものである。ＧＰＳ事例では、基準システムは、衛星のコンスタレーションである。写真測量では、座標系の選定はゲージと呼ばれる。ゲージの異なる選定は、物を別様に不確実に見えるようにする。例えば、三角測量されたランドマーク点に基づくゲージは、点をより確実に見えるようにすることになるが、カメラ位置をあまり確実に見えないようにすることになり、その逆も同様である。同様に、車線境界線又は停止線がどこにあるかについての基準として衛星のシステムを使用することは、衛星に対するその車線境界線又は停止線をローカライズする能力による精度を制限することになる。実施例が、代わりに、車線境界線又は停止線が観測された基準ドライブを使用する場合、精度は、基準ドライブに現在のドライブを登録する能力と同じくらい高いことがある。それは、実施例が、衛星システム及びバックを介して行く代わりに、車両の近くにある視覚／ＬＩＤＡＲ／レーダ・ランドマークに依拠するので、より正確であることがある。いくつかの実施例は、したがって、ＧＰＳ座標系ではなくドライブに関して定義された座標系で作用する。いくつかの実施例では、各タイルの最適精度は、衛星に対してでなく、タイルの自体の座標系に対してであり、それタイル間の関係は、１つのタイルの座標系をそれの近隣のタイルの座標系に関係付ける姿勢リンクを通して考察される（又は作業が、独立して各タイルにおいて実施され得、これも機能的手法である）。
【０４２３】
タイル・マップ
座標系を常に再評価する必要なしにタイルにおけるドライブで作用することの単純さのために、例示的な実施例は、タイル・マップを構成する。図６０を参照。これは、各ドライブと、それが登録されるＧＰＳタイルの各々との間の姿勢リンクの追加に達する。すなわち、例示的な実施例は、例えば、５０ｍ正方形タイルにおいて、ＧＰＳ座標系に基づいてタイルに地球をタイリングし、各ドライブについて、（〜１０ｍＧＰＳ不確実性でほぼ定義された）それが通過するか又はほぼ通過したタイルの各々へのドライブからの双方向インデックス・リンクを登録した。各タイルについて、実施例は、それが、ドライブ・マッチングを通してリンクされたすべてのドライブにマッチすることを試み、いくつかの姿勢リンク、及びドライブのいくつかの接続成分を生じる。これらの接続成分は、例えば、あるルート・ドライブから開始するダイクストラ・プロシージャを実施することによって、姿勢リンクを介して同じ座標系に変換され得る。これは、ＧＰＳが可能にするであろうよりも潜在的に正確であるそれらのドライブの登録を生じる。最終ステップとして、例示的な非限定的な実施例は、例えば、各ＧＰＳ観測についての依存しないロバスト化されたガウス・エラーを加えた、（大気条件バイアスをモデル化することなど）各ドライブについての単一のトランスレーションのオフセットのモデルを用いて、（おのずと、すべてのクラスタリングされたドライブからのすべてのＧＰＳ観測に基づいてＧＰＳ座標系に連帯して登録されたドライブを整合させる転換（単一の転換）を見つけるために最善を尽くす。これは、実施例が、タイルに登録するために多くのバイアス補正されたＧＰＳ測定値を一緒に結合するために、非常に正確なランドマーク整合を潜在的に活用しているので、個々のＧＰＳ測定値さらにはトレースよりも正確に各接続成分を登録する可能性を有する。これは、「視覚ランドマーク・ベース差分ＧＰＳ」に類似する。
とはいえ、タイル間の関係が「保証されない」ので、実施例はまた、各タイルにおける各接続成分と、近隣のタイルにおける接続成分（及び、適用可能な場合、同じタイル）との間の姿勢リンクを推定及び記憶する。これらの姿勢リンクは、常に存在するとは限らないことがあり、これは、当該の接続成分間の登録が、ＧＰＳ精度よりも正確に知られないことを意味する。あるセグメントから次のセグメントへのドライブに追従するとき、ドライブ自体は、（それが、相対チェーンとして記録されるので）２つのタイル間の自然姿勢リンクである。タイル・マップは、２つの異なるタイルへのドライブの登録を有し、チェーンが、タイル間の境界においてどこかで破壊されたときはいつでも、ドライブ内の姿勢リンクは、（タイルの１つへの）それの前の姿勢、及び（他のタイルへの）それの後の姿勢の登録にわずかに同意しないことになる。したがって、その姿勢リンクは、タイル間の予想されたグリッチを知らせるタイル間の姿勢リンクを与える。実施例は、個々のドライブで直接作用するか、又は２つの接続成分を結合し、タイル間のそれらの姿勢リンクをジョイント推定値に融合させるすべてのドライブを使用することができる。
【０４２４】
要約すれば、タイル・マップは、例示的な実施例が、それらの間の姿勢リンクをもつタイル整形された接続成分で作用することを可能にし、各接続成分において、関与するドライブのすべてのデータのためのすでに確定された座標位置がある。どこにもグリッチがない世界データの単一のエンフォースされたレイアウトは、依然としてなく、したがって、データで作用する１つのやり方は、１つのタイルの１つの接続成分において開始し、ルートとしてそれを用いるダイクストラ・プロセスを使用してデータをレイアウトすることである。タイル・マップは、ルートとして、指定されたタイル及び接続成分に基づいて、又は単に所与の指定されたタイルに基づいて、タイルの所与のセット上でデータをレイアウトするための機能を与える（その場合、機能は、１つの接続成分を見つけ、それで開始し、次いで、すべてのデータがレイアウトされるまで、続いて他の成分を追加することになる）。
【０４２５】
ローカライゼーション・タイル生成
ローカライゼーションの目的で、例示的な実施例は、タイル・グラフ中の各タイルの各接続成分のランドマーク情報を融合させる。整合の後、これは、道路マーキング、道路境界、垂直ランドマーク、交通標識、交通信号、静止レーダ目標及びポイント・クラウド表面など、ランドマークを関連づけること、それらを重複排除すること、及びそれらに最良推定値を与えることに達する。一般に、登録が、ベスト・エフォートに対処されたので、これは、概念的に、何らかの放射状に減衰するサポート測定カーネルに基づいて、何らかの関係する半径をもつ非最大抑圧を使用してピーク・サポートを見つけることに達する。ローカライゼーション・タイルのコンパクトな符号化は、次いで、マップ・ストリームの符号化と同様に実施される。
【０４２６】
複数のタイルにおけるローカライゼーション
ローカライゼーションは、タイルごとに（又はより正確には、タイルにおける接続成分ごとに）進む。タイルのエッジに接近するとき、接続成分間の姿勢リンクは、次のタイルからの接続成分を測位するために使用される。
【０４２７】
他の実施例は、重複タイルにおける別個のローカライゼーションを使用する。重複タイルが利用可能である限り、前のタイルを出る前に新しいタイルにおいてローカライズするのに十分な重複を用いて、単一のグローバル座標系にマップ全体を強制することなしに、マップ情報への連続アクセスをサポートすることが可能である。タイリングは、例えば、４方向冗長性をもつまっすぐな正方形タイリング、３方向冗長性を有するための各行におけるシフティングをもつ正方形タイリング、又は３方向冗長性をもつ六角格子を用いて達成され得る。タイル・サイズは、それが、十分なランドマークによる強力なローカライゼーションをサポートするのに十分大きく、軌跡推定の不正確さによる整合問題を有しないのに十分小さいべきであるので、トレードオフである。タイルはまた、望ましくは、不要なデータをロードしないのに十分小さいべきである。
【０４２８】
マッピング・メタデータ
登録に直接関係しないデータは、メタデータと呼ばれる。メタデータは、２つの異なるクラス、すなわち、運転を直接助けるものと、真に補助データであるものとに分割される。例えば、運転を助けるメタデータのタイプは、交差部の所在地及び待機条件、どの交通信号のどの状態が、どの車線軌跡が進む（又は進むが道を譲る）ことを可能にするか、どのエリアにおいて多方向停止における競合するトラフィックを探すべきか、駐車場の所在地、及び軌跡統計値である（とはいえ、後者はコア登録データから抽出される）。さらなる補助データの例は、どのアドレスがどのビジネスに対応するか、日の特定の時間及び特定曜日における特定の車線におけるトラフィックの一般的な密度がどれほどであるか、である。登録実装形態からメタデータ機能を分離するために、ユーザは、ドライブ・ストアに入っているドライブのいずれかの車両姿勢に対して１つのメタデータを挿入することを可能にされる。情報が、ＧＰＳレベル正確さにおいてのみである場合、これは、単に、ＧＰＳ座標に対してそれを挿入することによって処理され得る。しかしながら、情報が、より高い正確さを必要とする場合、要求は、ユーザに座標系アンカーを発行するコア登録レイヤによって処理される。ユーザの観点から、座標系アンカーはＧＵＩＤであり、座標系は、車両の現在の姿勢に対して表される。コア登録レイヤによってサービスされる機構は、同じＧＵＩＤがユーザによって指される場合、登録は、（ベスト・エフォートに）ＧＵＩＤがユーザに与えられたときに使用されたものと同じ座標系を復元することになることである。より高いレベルのサービス成分が、次いで、コア登録レイヤによって発行された座標系を参照することによって、正確に測位され、方位付けされた情報を挿入及び検索することができる。この機構は、データのストレージ及び所有権を、それの正確な登録をサポートするサービスから分離することを可能にする（とはいえ、正確な測位は、コア登録サービスに依存する）。
【０４２９】
例示的な実施例は、内部で協調アンカーの目標密度を保持し、ユーザ要求に応答してそれらのアンカーを発行するコア登録レイヤを実装する。要求に応答して、オン・ザ・フライでアンカーを生成することも可能である。後者の実装形態は、発行されるアンカーの密度のより慎重な制御を可能にする。
【０４３０】
クラウド車線グラフ
タイル・マップによって暗示されるドライブ・レイアウトにおいて、実施例は、十分な共通サポートを有するセグメントを探し、それにより、運転をサポートする車線グラフを導出する。サポートは、少なくとも一定数のセグメントに、（３０ｃｍなど）何らかのトランスレーション偏差及び（５度など）方位性偏差未満をもつ同じ経路に追従させることによって測定され得る。
【０４３１】
実施例は、各ノードにおける点及びタンジェントをもつ有向グラフを展開することよって、コア車線グラフ推定問題を解く。図６０を参照。これは、発生の尤度の推定値を用いるベイズ推定問題として公式化に原則として役立つ混合個別／連続推定問題である。これは、それが、パラメータ化、尤度決定及び前の定義、並びに探索／最適化手法を明らかに分離するという利益を有する。車線変更は、ドライブにおける車線変更の統計値、並びにドライブにおいて検出された道路マーキング及び自由空間のタイプを使用することによって、基本車線グラフを確定した後、第２のステップにおいて推定される。
【０４３２】
前の確率分布は、より単純なグラフ、より少数のノード、より少数のエッジ、複数のエッジをもつより少数のノードを選好するコスト項（負のログ前の尤度項）を含むことができる。これは、ドライブ・データを説明しないスプリアス車線セグメントを回避することである。実施例は、（Ｓ字形形状、又は最小車線幅の外側の一定値への他の高速減少のような何かを使用して）並列であるが、最小車線幅まで互いにノード反発を共有しない車線セグメントを作る項をも含むことができる。これは、多くのドライブがある道路の並列セグメントのための安定性を維持すること、及び車線の数を正規化することである。実施例は、（１０ｍなど）エッジのための公称長を選好する項をも含むことができる。
【０４３３】
尤度は、すべてのドライブがグラフを与えられることがどのくらい可能性があるかからなる。これは、近接した並列セグメント間の可能ないくつかの恣意的な車線変更を用いて恣意的にグラフを通して経路を選ぶことの生成尤度と同様である。ドライブをスコアリングするために、実施例は、ドライブを説明するためのグラフを通して最も可能性がある経路を見つけるプロシージャを実装する。このプロシージャは、２つの物、すなわち、ドライブのための既存の車線グラフを通して経路を割り当てること、及びスプラインの連続パラメータを調整することの両方に有用であり得る。このプロシージャは、動的プログラミングを通して進む。各姿勢について、実施例は、適度に近く適切な方向にあるスプライン経路を見つけ、各々について尤度を測定する。これは、各姿勢が、可能なエッジ点割当てのショート・リストを得ることを意味する。次いで、実施例は、いくつかのエッジ遷移の尤度を追加し、これは、ドライブにおける各姿勢のためのエッジ点割当てのセットという意味においてグラフを通した最も良好な経路のための動的プログラミング問題を生じる。実施例は、次いで、ノード・パラメータに関して最も良好な経路のコストの導関数を計算することができる。実施例が、グラフ・トポロジー及び概算レイアウトをすでに有する場合、それらは、それにより、非線形改良を使用して１つのタイル（より正確にはタイルの１つの接続成分）のノード・パラメータを微調整することができる。
【０４３４】
実施例は、３つのステップ、すなわち、最初に基本車線セグメントを決定すること、次いで分岐／合流を見つけること、及び最後に車線変更接続、において、初期グラフ・トポロジー及び概算レイアウトを見つけ出す。
【０４３５】
基本車線セグメントを判定するために、（点及び方向を有する）ドライブの各無限小部分が、点＋方向の３次元空間において、その点及び方向に対する票としてモデル化される。実施例は、方向に平行な車線幅の一部分において、及び小さい角度において低下するウェーブレット整形されたカーネルを適用し、次いで、何らかの最小車線幅及び角度分離まで点及び方向を抑圧することを適用し、次いで、０になる。実施例は、次いで、方向にローカル最大値で並列であり、（場合によってはヒステリシスをもつ）カーネル票の正の累積を有する点＋方向空間における点の接続されたセットを探索する。
【０４３６】
次いで、実施例は、分岐／合流を識別する。これらは、１つのセグメントのための強力なサポートに遷移する２つの個々のセグメントのための強力なサポートがある点として最も良好に識別される。これは、必ずしも、厳密に、分岐／合流点自体にあるとは限らず、むしろ、それの周りのわずかにより大きい構造にある。いくつかの実施例は、最良の結果を得るために近傍を分析する。例えば、実施例は、円半径を決め、そのサイズのあらゆる円を分析し、いくつのうまくサポートされたセグメントが、円に入り、円を出るかを調べることができる。分析は、いずれが、それぞれ、それの最も一般的な対応する出口及び入口であるかを判定するために、各出入口セグメントについて実施され得る。２つの異なる出口セグメントが、同じ入口セグメントを共有するとき、それは分岐であり、２つの異なる入口セグメントが、同じ出口セグメントを共有するとき、それは合流である。
【０４３７】
車線変更に配慮するために、実施例は、車両が車線境界線を横断している明らかな場合を識別する。これは、車線変更の可能性があるセグメントをマーキングするために、ライブ認知を（及び、随意に、インジケータ信号も）用いて行われ、これは、次いで、コア車線グラフ投票から削除されるが、代わりに、車線変更接続があるところに寄与することができる。車線変更がどこで許容され、安全であるかを判定するために、車線マーキング及び並列度を分析することも可能である。
【０４３８】
クラウド待機条件
マップ中の経路情報が、追従するべき「切替え可能レール」のグリッドを与える場合、待機条件は、それが、車両の前の障害物により直ちに明らかでないことがある場合に、待機又は減速を必要とし得る縦方向制約である。マッピングは、実施例が、ライブ認知よりも情報を用いてこれらを推定することを可能にする。太線セグメントによって示されているように、マップ上の待機条件を示す図６１を参照。
【０４３９】
ライブ外観に基づいて交通信号交差点及び多方向停止を捕らえる交差点検出器は、マップ・データのストリームとバンドルされた情報を送る。これはまた、実施例が、マッピングされたドライブからのこの情報をアグリゲートすることを可能にする。これは、マッピングされたドライブからのドライブ・パターン情報を用いて、交差する運転方向、及び車が繰返し可能な所在地において待機すること／停止することを用いて補強される。
【０４４０】
検出された視覚停止線も、マップ・ストリームとともに送られる。これは、交差点検出によって与えられる停止点を改良する。再び、停止線情報はまた、マッピングされたドライブ、及びレールに沿って共通停止点を検出することによって補強される。
【０４４１】
交通信号は、登録ランドマークの一部であるが、もちろん、それらの状態に関しても重要である。実施例は、停止線のためのドライブ、及び交通信号への車線経路詳細リンクをマイニングする。特に、車両が、停止線の後ろの最初の車として停止されたと判断された場合、実施例は、車両が、特定のルート上で進む直前及び直後に、その停止線から見られる交通信号の状態の統計値を集める。これは、実施例が、どの交通信号が、特定のルートを可能にするために状態を切り替えたかを検出することを可能にする。実施例は、トラフィックにわたる左折中になど、減速パターンにも留意する。
【０４４２】
多方向停止（本質的に、いずれもが完全な先行権を有しない、交通信号なしの停止挙動がある交差点）は、中心エリアを各停止点に接続することによって処理される。このエリアは、ある程度ライブ認知されるか、又は停止点の前のドライブ可能なエリアとして推定され得るが、マッピングを通しても補強される。他のトラフィックは、中心エリア並びに中心エリアを囲む競争者エリアにおいて検出及び追跡される。他のトラフィック（車両、自転車に乗る人、歩行者）がこのエリアにおいて検出され、中心エリアのほうへ向いている場合、それらは競争者と見なされる。車両が停止するとき、それらが存在し、停止されるか又はすでに進んでいる場合、それらは、車両の前方にあると判定される。それらが、直接的に脅威を与えておらず、中心エリアにまだ隣接していないようなやり方で依然として移動している場合、車両は、それらの前方にある。
【０４４３】
実施例は、交差する又は高速で現在の車両経路に合流する他のトラフィックに目配りをする間、減速及び合流が頻繁であり、ここで、車両は、それ自体に競合トラフィックを認知するチャンスを与えるために、停止するか又はスローダウンしなければならない。これの証拠は、特定の場所における頻繁なスローダウン又は停止、並びにトラフィック・パターン交差又は合流である。実施例が前者なしに後者に遭遇した場合、それは、合流をハイウェイ入口のようであるとより判定するが、それが両方を有する場合、それは、それが停止合流であると判定する。そのような点において、実施例は、各車線について集められた速度統計値を使用し、それが、その速度に対応する十分な可視性をそこにおいて有する最も早い点、並びに実際の最初の競合点を推定する。これは、それが慎重に速度を落とし、停止し適宜にクリープすることを可能にする。減速は、他のものが先行権を有する交差点、及びトラフィックを通した左折及び対向方向転換（すなわち、ここで、複数の車両が、いずれのものが「次の」方向転換を行うかに関して同意する）ボトルネックをも含む。
【０４４４】
マップ・マッチング
マップ・マッチングは、ローカライゼーションされたマップと他の既存のマップとの間の対応を見つける。これは、出口の名前、当該の点、住所、及び人間が理解できるルーティング先など、補助情報を、ローカライゼーションされたマップに注入する。経路以外の追加の定義情報を概略的に示す代表ビューを示す、図６２を参照。それは、補助情報のいくつかのプロバイダに適応する複数の形態でもたらされる可能性がある。
【０４４５】
例示的な手法は、人間注釈をもつ既存のマップに、マップの自動生成を基づかせず、むしろ、その後、マッチングのより軽い形態を実施する。ベスト・エフォートＧＰＳ座標に基づいて何らかのデータを維持することは、これが、安定した様態で長い時間期間の間より維持しやすいので、連続性理由のために魅力的である。しかしながら、これは、非常に正確なローカライゼーションを要するデータの場合、真でないことがある。
【０４４６】
プランニング３００４
例示的な実施例は、プランニング階層を使用する。図６３を参照。概念的に、ルート・プランナー３００４ｅは、都市外のルートのためのスコアを与える国のスケールにおいて実行し、エリア外のルートのためのスコアを与える都市のスケールにおいて実行し得る。次いで、最も望ましい挙動の要求を見つけ出す、次の少数のブロックのための車線シーケンスのためのスコアを与える車線プランナー３００４ｃがある。次いで、車線変更又は車線中にとどまることなど、異なる挙動の実現可能性をスコアリングするか又はそれをただ判定するための挙動プランナー３００４ａ、３００４ｂがある。最後に、挙動選択３００４ｄは、最も望ましい実現可能な挙動として行われ、制御３００６及び作動３００８に受け渡される。車線変更など、いくつかの挙動について、実施例は、それが、行われたか又は中止されたと判定されるまで、それをスティックする。プランニングは、（より小規模のプランニング・レイヤについてより高くなり得る）何らかの頻度で繰り返される。
【０４４７】
ルート・プランナー３００４ｅ
ルート・プランナー３００４ｅは、ルート・マップ及び目標ノード及び現在のノードから大規模マップグラフを取る。目標ノード及び現在のノードは、ＧＰＳ目標点及び最後の知られている良好なＧＰＳ示度に基づいて、単純な最近傍ルックアップによって取得されていることがある。ルート・プランナー３００４ｅは、いくつかの実施例では、（グラフが小さい場合、Ａ＊／Ｄ＊又はダイクストラなど）グラフ探索アルゴリズムを実行する。それは、現在のノードから目標ノードへのグラフを通して最善ルートを返す。大規模問題の場合、これは、ハイウェイのみがあるより単純なグラフをもつ米国大陸スケールにおいて、及びより詳細なグラフをもつ都市スケールにおいてなど、階層的に起こり得る。階層プランニングは、十分に遠くに（一方、より小規模のプランナーの範囲内に）あるより大規模のプランからの中間点を使用する、（プランニングのグラニュラリティ間の差による）ハンドオフ点における任意の潜在的グリッチは無視できること。（階層的に行われるかどうかにかかわらず）ルート・プランニングは、全体として、ＧＰＳ中間点のリストからなる計画された経路を作成する。そのような中間点は、車線プランナーのための目標として使用される（例えば、キロメートルなど）将来へのいくつかの都市ブロックの中間点を含む。他の実施例は、詳細なプランナーの次のレベルのための複数の代替形態のための各プランナー出力コストを有する。
【０４４８】
車線プランナー３００４ｃ
車線プランナー３００４ｃは、入力としてルート・プランナー３００４ｅの出力を取る。それは、マッピングされた車線グラフ（及び高性能ローカライゼーションによるそれの内の対象物姿勢）及びルート・プランナーからの将来へのいくつかの都市ブロックにおける目標点及び方向で作用する。目標点及び方向は、（一般に、ＧＰＳ及びコンパス方向を使用して）車線グラフ中の最良のマッチング・ドライブ可能な点及び方向にマッピングされる。次いで、グラフ探索アルゴリズムが、目標点への最短経路を見つけるために、車線グラフ中の現在のエッジから車線グラフ上で実行される。現在の点において、及び車線変更を有する車線グラフ中の各エッジの始まりにおいて開始する車線変更が含まれる。車線変更は、車線変更が直ちに始められる場合、より少ない（例えば、２５ｍ）距離ペナルティ（例えば、５０ｍ）を用いてペナルティが与えられ、したがって、車線変更が必要とされる場合、それは、利用可能なとき、注意をもって実施されることが計画される。
【０４４９】
基本挙動プランナー３００４ａ
挙動プランナー３００４は、車線中にとどまること或いは左又は右に車線を変更することなど、基本挙動の実現可能性を判定し、したがって、実現可能な挙動は、車線プランナー３００４ｃからの最も望まれる挙動とマッチ・アップされ得る。車線変更が、安全で利用可能であると判定されなかった場合、デフォルト挙動は、車線中にとどまることである。基本挙動プランナー３００４ａによってテストされる主要な３つの挙動は、車線中にとどまること、車線プランナーが要求したものとのマッチを最大にするために車線グラフ中の任意の分岐又は選定に追従すること、或いは左又は右に車線を変更し、マッチを最大にすることである。
【０４５０】
基本挙動プランナー３００４ａは、入力として、待機条件及び経路内対象物をもつ追跡された車線グラフを取る。追跡された車線グラフは、マッピング又はライブ認知のいずれかからもたらされることができる。プランナー３００４ａは、車線変更を実施することなしに、（５０〜１００ｍなど）何らかの短い距離のための主経路ツリーから入手可能な経路の各々を考慮し、最も近いものを見つけるために、それらの各々を車線プランナー３００４ｃの出力と比較する。高性能ローカライゼーション３０２６ｂが利用可能でない場合、ルート・プランナー３００４ｅの出力が代わりに使用される。代替的に、ルート・プランナー３００４ｅにおける次の厳しい曲率が、右又は左である場合、実施例は、右又は左分岐或いは右又は左車線変更を選好することができる。主要な車線グラフ・ツリーに加えて、いくつかの実施例はまた、（それらが存在する場合）現在の車線グラフ・エッジからの左及び右即時車線変更の後、車線グラフ・エッジから同じプロシージャを開始する。これは、車線グラフ、及び車線プランナー３００４ｃ出力へのマッチによって選好されるものを通して３つの経路を与える。また、経路のうちの１つは、前のルート車線グラフ・エッジに対応すべきである。
【０４５１】
いくつかの例示的な実施例では、すべての３つの経路は、本質的に、その挙動に適切な縦方向制約をもつ縦方向コントローラを実行することによって、独立して縦方向制御のために処理される。車線中にとどまるために、例えば、それは、主要な車線経路中の対象物及び待機条件を含み得る。車線変更の場合、自己車両の横の、及びそれの後ろの対象物を含む、目標車線中の対象物及び待機条件が、同様に追加される。結果は、最小減速量（又は最大加速度量）、或いは明白な安全拒否である。車線変更のための基本挙動プランナー３００４ａにおいて、いくつかの実施例は、主要な車線と目標車線との間の単純な速度依存スプライン補間を作成し、これは、車線変更を表すために、挙動セレクタ３００４ｄに送られる。実施例は、自己車両がすでに車線変更中にある場合にそれが利用可能であるように、そのような経路を作成することができる。主経路のみが、車線グラフから入手可能である場合、バックアップは、車線エッジのちょうど外側を行く経路を使用することである。
【０４５２】
高性能挙動プランナー３００４ｂ
高性能挙動プランナー３００４ｂは、基本挙動プランナー３００４ａよりも自由形態前方軌跡を考慮する。それを行うために、高性能挙動プランナー３００４ｂは、基本短期プランナー３００４ａへの入力に加えて、入力として動的占有グリッド３１０２を取る。高性能挙動プランナー３００４ｂは、次いで、方向転換の変動する量を用いて端部においてわずかに横方向にオフセットされた経路など、当該の挙動のための公称経路の周りの経路のファンを生成する。原則として、経路の任意のファミリーが使用され得るが、経路の２次元又は３次元ファミリーが、妥当な選定得る。高性能挙動はまた、対象物トラックを考慮に入れることができる。経路は、動的占有グリッドと比較され、それにより、安全性並びに、快適さ及び公称経路との合致など、望ましいものについて検査される。
【０４５３】
挙動セレクタ３００４ｄ
挙動セレクタ３００４ｄは、挙動プランナー３００４ａ、３００４ｂの出力、及び車線プランナー３００４ｃからの要求に基づいて、何らかの単純論理を実施する。自己車両がすでに車線変更中にあるのでない限り、以下の論理が、いくつかの実施例によって適用される。車線プランナー３００４ｃが、自己車両が車線中にとどまることを要求した場合、それは、単に、車線中にとどまる（これは、実施例が、車線グラフ中の主要な車線からの中心経路をコントローラ３００６に受け渡すことを意味する）。車線変更が車線プランナー３００４ｃによって要求された場合、実施例は、それが、車線グラフよって利用可能で、安全で、挙動プランナー３００４ａ、３００４ｂによる激しいブレーキングを用いないと判定されたとすれば、それを開始する。
【０４５４】
自己車両がすでに車線変更中にある場合、車線変更は、一般に、それが完了されたと判定されるまで続けられる。これは、追跡される車線グラフ中の偏心パラメータを調べ、車線変更の１／４、１／２、３／４を通して処理し、次いで、車線変更が完了されたと宣言することによって監視される。車線変更中に、コントローラ３００６に送られた経路は、挙動プランナー３００４ｄによって作成された車線変更経路である。
【０４５５】
制御３００６
プランニング３００４と制御３００６との間の線引きは、多くの実装形態において正確に定義されない。コントローラ・モジュール３００６のタスクは、できるだけ近接して挙動セレクタ３００４ｄから送られた、及び自己車両によって実装され得る何かに近接する前方軌跡（横方向及び縦方向）選定に追従することである。例えば、図６４を参照。コントローラ３００６は、未計画イベント、又はモデル化されない挙動、又は予想されない遅延など、理想からの相違を引き起こす何かを扱うためにタイトなフィードバックを使用する。いくつかの実施例では、コントローラ３００６は、プランナーと同様に、入力変数として制御を取る前方予測モデルを使用する。前方予測モデルは、望まれる状態（この場合、要求される横方向及び縦方向経路）と比較され得る予測を作成する。相違を最小限に抑える制御が、時間フィルタ処理を用いて見つけられる。（標準ＰＩＤコントローラにおけるなど）時間フィルタ処理は、時間要素がない場合、任意の非モデル化された遅延が、発振を生じ得るので、いくつかのコンテキストにおいて有用である。基本純粋探求モデルにおいて、単純な前方予測モデルは、相違が測定される単一のルックアヘッド点とともに使用され得る。
【０４５６】
実施例は、モデル予測的制御をも使用することができる。そのようなコントローラ３００５において、車両モーションをモデル化する微分方程式のオイラー前方統合（又は任意の形態の前方統合）が、採用され得る。相違は、次いで、将来において複数の点において測定され、何らかの目的機能によってバランスをとられ得る。車両モーションのモデリングは、ホイール・スリップと、正確な経路再生に有用な何かとを含むことができる。縦方向制御のために、いくつかの実施例は、相対距離、相対速度及び自己速度に基づいて、ルックアップ・テーブルをもつ標準ＰＩＤコントローラを使用する。快適限度が、（５ｍ／ｓΛ２など）加速度及びジャークに対して課される。同様に、速度依存限度が、ステアリング角度及びステアリング角度レートに対して課される。
【０４５７】
Ｇ．本技術を使用する自律運転車両の追加の例。
本技術は、警察又は企業セキュリティのいずれかによって使用される、自律運転パトロール・カーのためにも使用され得る。自律運転パトロール・カーは、パトロール及びセキュリティ機能のために設計された追加の特徴をもつ、上記で説明された自律運転車両（５０）の修正バージョンである。自律運転パトロール・カーとして使用されるとき、本技術は、車両本体と、車両を制御するための高性能システム・オン・チップをもつコンピュータと、パトロール及び／又は安全機能を実施するように訓練された１つ又は複数のニューラル・ネットワークとを含む。例えば、自律運転パトロール・カーは、車のＤＬＡ上で実行し、（１）他の車両のナンバー・プレート、メーカー、若しくは外観（例えば、モデル、色）のうちの１つ又は複数を識別することによる、少なくとも１つの他の車両、（２）交通事故、（３）自転車運転者、歩行者、又は他の居合わせた人など、負傷者、（４）火事、（５）人々の間の対立、（６）侵入又は麻薬取引など、犯罪行為、或いは（７）なぎ倒された木、電力線、破片、又はくぼみなど、道路ハザードのいずれかを識別するように訓練されたＣＮＮを含み得る。
【０４５８】
赤外線カメラが、好ましくは、犯罪行為、火炎を検出するために、及び人々を突き止めるために夜間パトロールのためにしばしば使用される、自律運転パトロール・カー上で使用される。好適な赤外線カメラは、人々について３６度の視野をもち、並びに３００ｍの、及び自動車など、より大きい熱放出対象物についてそのほぼ２倍の有効範囲をもつコンパクトな熱イメージング・カメラを含む。好ましい実施例では、長波長赤外線（「ＬＷＩ：ｌｏｎｇｗａｖｅ  ｉｎｆｒａｒｅｄ」）熱カメラ・コアが、ズーム能力を与えるために使用され得、コンピュータが十分な信頼性をもって識別され得ない、重要性の高い可能な項目を識別するとき、コンピュータは、安全なところに車両を停止し、より正確な評価のために項目にズームインする。
【０４５９】
自律運転パトロール・カーは、車両のセルラー・ワイヤレス・モデム及びアンテナを使用して、識別されたイベントの存在及びロケーションのワイヤレス通知を送るように構成され得る。ＤＬＡが、訓練されたＣＮＮを使用して高速で効率的な推論のために設計されるが、ＣＮＮは、代替的に、システム・オン・チップのＧＰＵ上で実行し得る。
【０４６０】
自律運転パトロール・カーは、警察によって捜されている車両のメーカー、モデル、及び／又はナンバー・プレートを識別する、広域指名手配又はアンバー・アラートのワイヤレス通知を受信し得る。このワイヤレス通知は、警察帯域無線、ＬＴＥ、ＷＣＤＭＡ（登録商標）、さらにはＷｉＦｉ上で受信され得る。自律運転パトロール・カーのＤＬＡ上で実行していることがあるＣＮＮは、メーカー、モデル、及び／又はナンバー・プレートによって車両を識別し、ＤＬＡによって与えられた情報と、捜されている車両との間の比較を実行する、自律運転パトロール・カーのＣＰＵに情報を受け渡す。代替的に、比較は、別個のＸ８６  ＣＰＵ上で、又は自律運転パトロール・カーのＰＶＡ上で実行され得る。
【０４６１】
自律運転パトロール・カーは、例えば、図２２に示されているように、複数の高性能システム・オン・チップを有し得る。この例では、高性能システム・オン・チップのうちの１つ又は複数が、自動運転機能を実施するように構成されることになるが、高性能システム・オン・チップの他のものは、上記で説明されたパトロール機能を実施するように構成されることになる。例えば、自律運転パトロール・カーは、パトロールのための６つの高性能システム・オン・チップをもつ、自動運転を実施するように構成された２つの高性能システム・オン・チップを有し得、６つの各々は、ＤＬＡ又はＧＰＵのいずれか上で実行するニューラル・ネットワークを使用して、以下、すなわち、（１）ナンバー・プレート、メーカー、又は外観を識別することによる、少なくとも１つの他の車両、（２）交通事故、（３）自転車運転者、歩行者、又は他の居合わせた人など、負傷者、（４）火事、（５）人々の間の対立、（６）侵入、不法侵入、又は違法物品を扱うことなど、犯罪行為、或いは（７）なぎ倒された木、電力線、破片、又はくぼみなど、道路ハザード、のうちの少なくとも１つを識別することを実施するように構成される。
【０４６２】
図６５は、自律運転長距離トラック（５０）及びトレーラ（５５）を示す。トラック（５０）及びトレーラ（５５）は、図４の自律運転車両（５０）の文脈
で説明したセンサの多くを含む。さらに、トレーラ（５５）は、重量重心センサ（８２）を含み、このセンサは、トレーラの重量及び重量分布に関する情報をコントローラ（１００）に提供する。トレーラはさらに、２つの慣性センサ（８２（１）及び８２（２））を含み、このセンサは、トレーラの速度、ヨー、ピッチ、ロールに関する情報をコントローラ（１００）に提供する。
【０４６３】
さらに、トレーラ（５５）は、トレーラの周囲の完全３６０度ビデオを提供するのに十分な複数のサラウンド・カメラ（７２）を含む。
【０４６４】
トレーラ（５５）は、自律運転トラック（５０）が突然の及び／又は大きな横風の影響を識別し、緩和するのを助けるために、トレーラの右舷側及び左舷側の両方に突風センサ（８１）を含むことが好ましい。横風の安定性及び性能は、多くの種類の車両にとって重要な問題であり、車両型、積載量、速度、及び路面状況によって異なる。トラック、バス、シャトル、自動車でさえも、様々な程度で横風の影響を受ける。横風は、特にトラック、バス、シャトルにとっては、安全上の大きな問題となる。横風への感度は、軽車両、高速、及び、氷、濡れた舗装、又は滑る舗装などの道路状況で最大になる。橋の上でしばしば経験されるような強い横方向の突風は特に危険である。車両は、抗力、揚力、横力、並びに、ヨー、ロール、及びピッチを引き起こす傾向のあるモーメントを含む空力モーメントを含む異なる空気力を受ける。横風が強い場合には、横力と揚力は、車両に横転、フィッシュテール、ジャックナイフを引き起こす可能性があり、又は車両の操縦能力が損なわれる可能性がある。
【０４６５】
突風センサ（８１）は、トレーラに垂直な縦方向軸及び横方向軸の両方の対気速度を決定し、コントローラ（１００）にトレーラが受けている横風に関する情報を提供することが好ましい。風速計が使用されてもよく、ピトー管の端部が周囲の空気に露出するように、ピトー管をトレーラの側面の穴を貫通させた状態でトレーラの内側に取り付けられる。好ましい実施例では、センサ（８１）は空気圧を測定し、インターフェース（例えば、ＵＳＢ）を介して結果を報告する。コントローラ（１００）は、右舷側と左舷側のセンサ（８１）の結果を比較し、大きな差がある場合には、突風事象の存在、方向、及び大きさを識別し、必要に応じて是正措置をとる。このような比較は、デュアルコア・セーフティ・クラスタ・エンジン（「ＳＣＥ」）（７０４）が存在する場合には、実行することもできる。
【０４６６】
誤検出を防止し、追加の安全性を提供するために、コントローラ（１００）はまた、重量重心センサ（８２）によって提供される信号を評価してもよく、大きな突風事象が発生した場合には、重量重心の突風に対向する側（右舷又は左舷）へのシフトを記録すべきである。代替的に、コントローラ（１００）は、慣性センサ（８２（１）、８２（２））の結果を用いて、突風センサ（８１）の結果を検証することができる。例えば、ＩＭＵ（８２）がトレーラ（５５）の上隅付近に配置されている場合、大きな突風は、ＩＭＵ（８２）によって報告された横加速度のスパイクとして登録されるべきである。突風センサ（８１）、慣性センサ（８２）、及び重量重心センサ（８３）から受信した情報の組合せを使用して、コントローラ（１００）は、強い横方向の突風の存在を判断し、トラックが横転したり、車線から逸脱したりするリスクを軽減するために、通常は車両を減速させるか、又は非常に強風の場合には、是正措置を講じることができる。好ましい実施例では、突風状態が存在する場合、コントローラ（１００）は、マップ（２１２）からの情報を使用して、突風が発生しやすいエリアを識別し、それに応じて積極的に対応する。例えば、マップ（２１２）は、大きな突風と関連づけられた陸橋、樹木の並木道、及び開けた野原のあるエリアを識別し、トラックがそれらのエリアに近づくと、コントローラ（１００）は、突風を予測し、速度を低下させる。追加的な措置としては、車両への車間距離を増加させること、及び潜在的に危険な状態を他の車両に警告するために自律運転トラックのハザード・ライトを作動させることが含まれる。突風の状況が、トラックが安全に走行できないようなしきい値を超えると、コントローラ（１００）は、トラックを道路の側方に引っ張って「安全停止への運転手」モードを実行する。コントローラは、突風センサ（８１）を使用して、システム・オン・チップの常時オン・センサ処理エンジンと通信しながら、状況を監視し続ける。
【０４６７】
好ましい実施例では、コントローラ（１００）はまた、ピトー管内の潜在的な故障及び／又は氷の妨害を識別するために突風センサ（８１）を監視し、場合によっては、センサ（８１）内の任意の氷又は妨害をクリアするために、加熱コイル又は他の適切な装置を制御してもよい。
【０４６８】
トレーラ（５５）は、ＣＡＮバス相互接続を介してトラック（５０）に電気的に接続される。代替的に、トレーラ（５５）は、トラック（５０）のネットワークにワイヤレスで接続されてもよい。
【０４６９】
トラックは大きな慣性を有し、大きな運動量を有し得、停止に持ち込むことが困難な場合があるので、トラック（５０）は、コントローラ（１００）に追加の情報を提供する長距離フロント・カメラ（７９）を含むことがさらに好ましい。
【０４７０】
図６６は、自律運転式２レベル・バス（５６）を示す。バス（５６）は、上述したセンサの多くを含み、図４の自律運転車両（５０）並びに図６５のトラック及びトレーラの文脈で説明されている。さらに、バスは、バス及びその乗客の安全並びにセキュリティを監視するために使用される４つの内部カメラ（７７）を含む。
【０４７１】
図６７は、自律運転連節バス（５７）を示す。バス（５７）は、上述した、また、図４、図６５、及び図６６で説明した自律運転車両の文脈で説明した、センサの多くを含む。
【０４７２】
図６８は、通常は１５．２４ｍ（５０フィート）を超える長さの自律運転耕耘機トラック（５８）を示しており、このトラックは、大規模な火災や緊急事態に対応するために必要な人員、ツール、機器を配送することを可能にしている。トラック（５８）は、上述した、また図４、図６５、図６６、及び図６７で説明した自律運転車両の文脈で説明した、センサの多くを含む。
【０４７３】
耕耘機トラックは、前輪と後輪の独立したステアリングによって操縦性を向上させるように設計されており、車両が、緊急対応車にとって重要な機能である急カーブをナビゲートすることができるようになっている。人間が運転する耕耘機トラックが前輪と後輪のステアリングホイールを独立させた、２人の運転手を有するように、自律運転耕耘機トラック（５８）は、車両の前部と後部を制御するための２つのコントローラ（１００）を有している。第１のコントローラ（１００（１））は、少なくとも第１の車軸を制御し、第２のコントローラ（１００（２））は、少なくとも第２の車軸を制御する。各コントローラは、図１７、図１８、図１９、又は図２２に関連して上述した自律運転用コンピュータを備え得、図８、図９、及び図１３に関連して上述した高性能ＳｏＣを使用し得る。
【０４７４】
自律運転耕耘機トラック（５８）における２つのコントローラ（１００）は、耕耘機トラックの２人の人間の運転者の間でしばしば発生する誤解や混乱が排除されるように、車両を運転する際に互いに通信し、調整する。一実施例では、人間の運転者は、前車軸（１）のステアリング及び車両の速度及び加速度を制御し、現在の技術の自律運転のための高性能コンピュータは、後車軸（２）を制御し、衝突、車線逸脱、及び他の安全事象を回避するために必要な場合に、人間の運転者に優先する。
【０４７５】
さらに、自律運転耕耘機トラック（５８）は、複数の赤外線カメラを含むことが好ましく、これは、ホット・スポット、火災、を検出し、人々を突き止めるために使用される。好適な赤外線カメラは、人々について３６度の視野をもち、並びに３００ｍの、及び自動車など、より大きい熱放出対象物についてそのほぼ２倍の有効範囲をもつコンパクトな熱イメージング・カメラを含む。好ましい実施例では、長波長赤外線（「ＬＷＩＲ」）熱カメラ・コアは、ズーム機能を提供するために使用され得、コンピュータが十分な信頼性で識別できない関心の高い可能性のあるアイテムを識別すると、コンピュータは、安全な場所で車両を停止し、より正確な評価のためにアイテムをズームインする。
【０４７６】
自律運転パトロール・カーの場合と同様に、自律運転耕耘機トラック（５８）は、車両のセルラー・ワイヤレス・モデム及びアンテナを使用して、識別された事象の存在及び所在地のワイヤレス通知を送るように構成されていてもよい。ＤＬＡは、訓練されたＣＮＮを用いた高速且つ効率的な推論のために設計されているが、ＣＮＮは、システム・オン・チップのＧＰＵ上で代替的に実行されてもよい。
【０４７７】
本技術の態様によれば、自律運転車両のためのシステム・オン・チップが提供される。１つ又は複数の実施例では、ＳｏＣは、中央処理ユニット複合体、グラフィックス処理ユニット、及びプログラマブル・ビジョン・アクセラレータ、ディープ・ラーニング・アクセラレータ、及びオン・チップ・メモリを備える埋め込みハードウェア・アクセラレーション複合体を含む。いくつかの実施例では、グラフィックス処理ユニットは、独立した並列整数及び浮動小数点データ・パス並びに／又は独立したスレッド・スケジューリング機能を含む複数のストリーミング・マイクロプロセッサを備える。１つ又は複数の実施例では、ＳｏＣのグラフィックス処理ユニットは、高帯域幅メモリ（ＨＢＭ）規格に実質的に準拠したメモリを含み、これには（これに限定されない）ＨＢＭ２メモリが含まれる。いくつかの実施例では、グラフィックス処理ユニットは、ユニファイド・メモリを含む。さらなる実施例によれば、ユニファイド・メモリは、中央処理ユニット複合体及びグラフィックス処理ユニットのための単一のユニファイド・仮想アドレス空間を提供する。
【０４７８】
１つ又は複数の実施例によれば、ＳｏＣはまた、ロックステップ・モードで動作し、単一のコアとして機能するように構成された複数のプロセッサ・コアを備える安全クラスタ・エンジンと、複数のプロセッサ・コアによって実行される動作間の相違を検出するための比較論理とを含むことができる。ＳｏＣはまた、メモリ・コントローラを含むことができる。ＳｏＣはまた、システム・オン・チップのパワー状態遷移を制御し、且つ／又はシステム・オン・チップの熱状態を監視し、システム・オン・チップのパワー状態を応答的に管理するように構成されたブート及びパワー管理プロセッサを含むことができる。
【０４７９】
システム・オン・チップはまた、いくつかの実施例では、中央処理ユニット複合体及びグラフィックス処理ユニットによって共有されるＬ３キャッシュを備えることができる。実施例はまた、複数の温度センサを含むことができ、これらは、中央処理ユニット複合体グループ、グラフィックス処理ユニット、及びアクセラレーション・クラスタのうちの１つ又は複数の温度を検出するように構成されていてもよく、且つ／又は、出力周波数が温度に比例する１つ又は複数のリング・オシレータで実装されていてもよい（これらに限定されるものではない）。
【０４８０】
中央処理ユニット複合体は、複数のＣＰＵコアを備え、いくつかの実施例では、ＣＰＵコアの１つ又は複数のクラスタとして実装されている。１つ又は複数の実施例では、複数のＣＰＵコアの各ＣＰＵコアは、オン・チップＬ２キャッシュ・メモリに結合されている。同様に、ＣＰＵコアの１つ又は複数のクラスタを用いて実装された実施例では、ＣＰＵコアのクラスタは、オン・チップＬ２キャッシュ・メモリに結合されてもよい。さらなる実施例では、複数のクラスタの各クラスタは、専用のオン・チップＬ２キャッシュ・メモリに結合される。複数のクラスタの各クラスタは、中央処理ユニット複合体内の他のクラスタの状態から独立してアクティブであるように構成されてもよい。１つ又は複数の実施例では、複数のクラスタの各クラスタは、複数のクラスタのうちの１つ又は複数のクラスタでヘテロジニアス・マルチ・プロセッシングを行うように構成されている。
【０４８１】
ＳｏＣはまた、パワー管理プロセッサを含むことができる。非限定的な実施例では、パワー管理プロセッサは、各コア及び／又は各クラスタを独立してパワー・ゲーティングする。１つ又は複数の実施例では、ＳｏＣは、プログラマブル・ビジョン・アクセラレータ及びディープ・ラーニング・アクセラレータのうちの１つ又は両方に結合されたメモリ（例えば、限定されないが、スタティック・ランダム・アクセス・メモリ又は「ＳＲＡＭ」）を含む。
【０４８２】
ＳｏＣはまた、ビデオ画像合成器プロセッサを含むことができ、このプロセッサは、いくつかの実施例では、少なくとも１つの魚眼カメラ・センサ又はワイド・ビュー・カメラ・センサからの画像データに対してレンズ歪み補正を実行するように構成されている。ビデオ画像合成器プロセッサはまた、少なくとも１つのカメラ・センサからの入力に対して時間的ノイズ低減を実行するように構成されてもよく、且つ／又は２つのカメラから受信した画像データに対してステレオ平行化を実行するように構成されてもよい。
【０４８３】
特定の実施例では、ＳｏＣはまた、リアル・タイム・カメラ・エンジン、プロセッサ・コア、プロセッサ・コアに結合されたＲＡＭ、及び割り込みコントローラを含んでもよい。他の実施例では、それ自体が低電力モードのプロセッサ・コア、プロセッサ・コアに結合されたＲＡＭ、及び割り込みコントローラを備える、常時オン・センサ処理エンジンを含むことができる。
【０４８４】
好ましい実施例では、常時オン・センサ処理エンジンは、車両の許可された操作者を認識するように訓練されたニューラル・ネットワークを備える。（例えば、限定することなく、ニューラル・ネットワークを使用する）常時オン・センサ処理エンジンは、ニューラル・ネットワークが、車両の許可された操作者が車両にいることを示すときに車両をロック解除し、ニューラル・ネットワークが車両の許可された操作者が車両を離れたことを示すときに車両をロックするように構成されていてもよい。
【０４８５】
中央処理ユニット複合体とビデオ画像合成器プロセッサとを接続するシステム・コヒーレンシ・ファブリックも、１つ又は複数の実施例によれば、ＳｏＣに含めることができる。システム・コヒーレンシ・ファブリックは、システム内の非コヒーレンシ・クライアントとのソフトウェア・ベース・コヒーレンシを容易にするコヒーレンシ・キャッシュ・フラッシュ・エンジンを備える。システム・コヒーレンシ・ファブリックはまた、中央処理ユニット複合体とリアル・タイム・カメラ・エンジン、及び／又は中央処理ユニット複合体と常時オン・センサ処理エンジンとを接続するために使用することができる。
【０４８６】
ＳｏＣの実施例のプログラマブル・ビジョン・アクセラレータは、少なくとも１つのプロセッサと、少なくとも１つのダイレクト・メモリ・アクセス・エンジンとを含むことができる。好ましい実施例では、プログラマブル・ビジョン・アクセラレータは、それ自体が、第１のベクトル・プロセッサと、第１のベクトル・プロセッサに関連づけられた第１の命令キャッシュと、第１のベクトル・プロセッサに関連づけられた第１のベクトル・メモリと、第１のベクトル・プロセッサに関連づけられた第１のダイレクト・メモリ・アクセス・エンジンと、第２のベクトル・プロセッサと、第２のベクトル・プロセッサに関連づけられた第２の命令キャッシュと、第２のベクトル・プロセッサに関連づけられた第２のベクトル・メモリと、第２のベクトル・プロセッサに関連づけられた第２のダイレクト・メモリ・アクセス・エンジンとを備えてもよい。
【０４８７】
例示的な実施例では、第１のベクトル・プロセッサは、第１のコンピュータ・ビジョン・アルゴリズムを実行するように構成され、第２のベクトル・プロセッサは、第２のコンピュータ・ビジョン・アルゴリズムを実行するように構成される。第１のベクトル・プロセッサは、画像の１つの部分について第１のコンピュータ・ビジョン・アルゴリズムを実行するように構成されてもよく、第２のベクトル・プロセッサは、例えば、画像の異なる部分について第２のコンピュータ・ビジョン・アルゴリズムを実行するように構成されてもよい。
【０４８８】
第１のベクトル・プロセッサは、例えば、デジタル信号プロセッサ（ＤＳＰ）として、又はＤＳＰとともに実装することができる。同様に、第２のベクトル・プロセッサもまた、ＤＳＰとして、又はＤＳＰとともに実装することができる。さらなる実施例では、第１及び第２のベクトル・プロセッサの一方又は両方は、単一命令、複数データ（ＳＩＭＤ）及び／又は超長命令語（ＶＬＩＷ）ＤＳＰとして実装することができる。
【０４８９】
プログラマブル・ビジョン・アクセラレータは、例えば、非限定的な実施例では、コンピュータ・ビジョンのために最適化されたデジタル信号プロセッサと、デジタル信号プロセッサに関連づけられたメモリと、デジタル信号プロセッサに関連づけられた命令キャッシュとをさらに含むことができる。
【０４９０】
本技術の態様は、自律運転車両のためのシステム・オン・チップとして実装されてもよい。好ましい実施例では、ＳｏＣは、複数のＣＰＵコアと専用Ｌ２キャッシュ・メモリとを備える中央処理ユニット複合体と、複数のＧＰＵコアと専用Ｌ２キャッシュ・メモリとを備えるグラフィックス処理ユニットと、プログラマブル・ビジョン・アクセラレータと、ディープ・ラーニング・アクセラレータと、及びプログラマブル・ビジョン・アクセラレータ及びディープ・ラーニング・アクセラレータに接続された専用ＳＲＡＭとを備える埋め込みハードウェア・アクセラレーション複合体とを含む。
【０４９１】
この態様の１つ又は複数の実施例では、グラフィックス処理ユニットは、ＨＢＭメモリ、例えば（限定されない）ＨＢＭ２メモリを含む。グラフィックス処理ユニットはまた、独立並列整数及び浮動小数点データ・パス並びに／又は独立スレッド・スケジューリング能力を含む複数のストリーミング・マイクロプロセッサを含むことができる。さらなる実施例によれば、グラフィックス処理ユニットは、中央処理ユニット複合体及びグラフィックス処理ユニットのための単一ユニファイド仮想アドレス空間を提供するユニファイド・メモリを含む。ＳｏＣの実施例はまた、中央処理ユニット複合体及びグラフィックス処理ユニットによって共有されるＬ３キャッシュを含んでもよい。
【０４９２】
この態様の１つ又は複数の実施例では、プログラマブル・ビジョン・アクセラレータは、少なくとも１つのデジタル信号プロセッサ、及び少なくとも１つのダイレクト・メモリ・アクセス・エンジンを備える。プログラマブル・ビジョン・アクセラレータは、コンピュータ・ビジョンのために最適化されたデジタル信号プロセッサ、デジタル信号プロセッサに関連づけられたメモリ、及びデジタル信号プロセッサに関連づけられた命令キャッシュを含む（これらに限定されない）１つ又は複数の小構成要素を備えることができる。
【０４９３】
本技術の別の態様は、自動運転車両を制御するためのコンピュータとして実装されてもよい。１つ又は複数の実施例では、コンピュータは、第１のシステム・オン・チップと、第２のシステム・オン・チップと、第１のシステム・オン・チップに結合された第１のディスクリート・グラフィックス処理ユニットと、第２のシステム・オン・チップに結合された第２のディスクリート・グラフィックス処理ユニットと、第１及び第２のシステム・オン・チップに結合されたマイクロコントローラとを含むように実施されてもよい。
【０４９４】
好ましい実施例によれば、コンピュータはまた、６軸慣性測定ユニットを含んでもよく、例示的な非限定的な実施例では、車両の加速度及び回転に関する情報を第１のシステム・オン・チップに提供するために、第１のシステム・オン・チップに結合されてもよい。そのような実施例によれば、第１のシステム・オン・チップは、車両の加速度及び回転に関する情報に対してセンサ・フュージョンを実行するように構成されている。
【０４９５】
第３の態様によるコンピュータは、第１のシステム・オン・チップ、第２のシステム・オン・チップ、及びマイクロコントローラを結合するためのスイッチをさらに含んでもよい。スイッチは、ＰＣＩｅスイッチとして実装されてもよく、１つ又は複数の実施例では、ディスクリートＣＰＵ（例えば、限定されないが、Ｘ８６  ＣＰＵ）がスイッチに結合されてもよい。
【０４９６】
第１のシステム・オン・チップ及び第２のシステム・オン・チップは、センサ・データを受信するための複数の入力ポートに結合されており、複数のディスクリート・グラフィックス処理ユニットが、それぞれシステム・オン・チップのうちの１つに結合されている。複数のシステム・オン・チップと複数のディスクリート・グラフィックス処理ユニットを相互接続するために、（第３の）システム・オン・チップを含むこともできる。実施例によれば、複数のシステム・オン・チップは、（例えば、限定されないが）集積回路間（Ｉ２Ｃ）バスを介して、互いに結合されている。
【０４９７】
実施例によれば、ＳｏＣのそれぞれは、共通プリント回路基板上に取り付けられ、同じハウジング内に配置される。ハウジングは、（例えば）ファンシンクと、システム・オン・チップからの熱を輸送するための流体チャネルとを備える冷却システムを含むことができる。代替的に、ハウジングは、ファンシンクと、システム・オン・チップからの熱を輸送するための流体チャネル及び／又は空気チャネルを備えるハイブリッド熱輸送モジュールとを含んでもよい。
【０４９８】
好ましい実施例では、コンピュータは、複数（例えば、８個以上）のＳｏＣ及び同数のディスクリートＧＰＵを含み、各ＧＰＵは、マイクロコントローラ及び対応するＳｏＣに結合されている。ＳｏＣとディスクリートＧＰＵとの間のポイント・ツー・ポイント通信は、ネットワーク・スイッチによって提供され得る。
【０４９９】
様々なニューラル・ネットワークは、ＳｏＣのうちの１つ又は複数の上で実行することができる。例示的な非限定的な実施例では、異なるニューラル・ネットワークは、各ＳｏＣ上で実行することができる。例えば、第１のシステム・オン・チップは歩行者検出のためのニューラル・ネットワークを実行することができ、第２のシステム・オン・チップは標識検出のためのニューラル・ネットワークを実行することができ、第３のシステム・オン・チップは距離推定のためのニューラル・ネットワークを実行することができ、第４のシステム・オン・チップは車線検出のためのニューラル・ネットワークを実行することができ、第５のシステム・オン・チップは衝突回避のためのニューラル・ネットワークを実行することができ、第６のシステム・オン・チップは現行占有率グリッドのためのニューラル・ネットワークを実行することができ、第７のシステム・オン・チップは予測占有率グリッドのためのニューラル・ネットワークを実行することができ、第８のシステム・オン・チップはステアリング制御のためのニューラル・ネットワークを実行することができる。
【０５００】
実施例によれば、１つ又は複数のニューラル・ネットワークは、目的のために、特定のデータ上で特別に訓練されることができる。例えば、距離推定のためのニューラル・ネットワークは、ＬＩＤＡＲセンサによって生成されたデータのために、及びそのデータ上で、訓練されてもよい。
【０５０１】
本技術の別の態様は、プライマリ・コンピュータと、セカンダリ・コンピュータと、第１のコンピュータ及び第２のコンピュータに結合された監視マイクロコントローラ・ユニット（ＭＣＵ）と、第１のコンピュータ及び第２のコンピュータに結合された複数のカメラ・センサと、第１のコンピュータ及び第２のコンピュータのうちの少なくとも１つに結合された複数の車両モニタリング・センサと、を備える自動運転車両を制御するためのシステムに向けられている。さらなる実施例によれば、プライマリ・コンピュータは、カメラ・センサからの入力を受け取り、少なくとも１つの車両アクチュエータを制御するための少なくとも１つの信号を出力するように構成され、セカンダリ・コンピュータは、カメラ・センサからの入力を受け取り、少なくとも１つの車両アクチュエータを制御するための少なくとも１つの信号を出力するように構成されている。一方、監視ＭＣＵ（１つ又は複数の実施例では、第３のコンピュータとして実装される）は、プライマリ・コンピュータからの出力とセカンダリ・コンピュータからの出力を比較するように構成され得る。
【０５０２】
好ましい実施例によれば、システムはまた、プライマリ・コンピュータに電気的に結合され、ワイヤレス・ネットワークと通信するように構成された、ワイヤレス・デバイスを含むことができる。ワイヤレス・デバイスは、非限定的な実例として、少なくとも１つのニューラル・ネットワークに関する更新情報を受信するように、又は情報に応答して少なくとも１つのニューラル・ネットワークを更新するように、ワイヤレス・ネットワークと通信するように構成されていてもよい
【０５０３】
プライマリ・コンピュータは、更新されたニューラル・ネットワークを現在のニューラル・ネットワークと並行して実行し、結果を比較することにより、更新されたニューラル・ネットワークをテスト及び検証するように構成することができ、更新されたニューラル・ネットワークが完全にダウンロードされ、テストされ、検証された後に、更新されたニューラル・ネットワークを実行するように構成することができる。ワイヤレス・ネットワークは、任意の数のワイヤレス・ネットワークのうちの１つであることができ、例示的な非限定的な実施例では、ワイヤレス・ネットワークは、ＬＴＥネットワーク、ＷＣＤＭＡ（登録商標）ネットワーク、ＵＭＴＳネットワーク、及び／又はＣＤＭＡ２０００ネットワークであることができる。
【０５０４】
１つ又は複数の実施例によれば、システムはまた、ワイヤレス・ネットワークに結合された１つ又は複数のＧＰＵサーバを備えるデータセンタを含み、以下に限定されないが、１つ又は複数の車両によって収集されワイヤレス・ネットワークを介して送信される訓練情報を受信し、その情報を使用して１つ又は複数のニューラル・ネットワークを訓練し、１つ又は複数の自動運転車両への送信のためにワイヤレス・ネットワークに訓練されたニューラル・ネットワークを提供するなどの多くの計算及び操作タスクを実行するように構成されている。
【０５０５】
データセンタは、車両によって収集され、ワイヤレス・ネットワーク上で送信された画像及び対象物検出情報を受信し、画像情報を入力として使用してＧＰＵサーバのうちの１つ又は複数の上でニューラル・ネットワークを実行し、ＧＰＵサーバのうちの１つ又は複数の上で実行されたニューラル・ネットワークの結果と車両から受信された対象物検出情報を比較し、比較の結果が信頼度しきい値を下回る場合に、乗員に指示して安全な駐車操作を実行するように車両に指示するワイヤレス制御信号を車両に送信するなどの他のタスクを実行するのに適し得る。
【０５０６】
システムは、プライマリ・コンピュータに電気的に結合されたワイヤレス・デバイスを含むことができる。具体的には、ワイヤレス・デバイスは、ワイヤレス・ネットワークと通信するように、且つ／又はワイヤレス・ネットワークから更新された地図情報を受信するように構成することができる。更新された地図情報は、プライマリ・コンピュータによってメモリに記憶され得る。１つ又は複数の実施例では、この目的のために使用されるワイヤレス・ネットワークは、ＬＴＥ、ＷＣＤＭＡ（登録商標）、ＵＭＴＳ、ＣＤＭＡ２０００ネットワークのうちの任意の１つ又は複数であることもできる。１つ又は複数の実施例では、ワイヤレス・デバイスはまた、別の車両に関してネットワークから協調適応走行制御（ＣＡＣＣ）情報を受信するように構成することができる。
【０５０７】
１つ又は複数の実施例では、システムは、プライマリ・コンピュータに結合されたＨＭＩディスプレイを含み、システムが道路内の交通信号、交通標識、自転車、歩行者、又は障害物をいつ識別したかを示すように構成されている。ＨＭＩディスプレイは、システムが、識別された道路内の交通信号、交通標識、自転車、歩行者、又は障害物に応じて、適切な措置を取ることを示すようにさらに構成され得る。これら及び他の実施例によれば、監視ＭＣＵは、第１のコンピュータからの出力と第２のコンピュータからの出力とが一致しない場合に、アラーム信号を出力するようにさらに構成され得る。
【０５０８】
さらなる別の態様によれば、自動運転車両を制御するためのシステムが提供され、このシステムは、プライマリ・コンピュータと、ＡＤＡＳシステムを備えるセカンダリ・コンピュータと、プライマリ・コンピュータ及びセカンダリ・コンピュータに結合された監視ＭＣＵと、プライマリ・コンピュータに結合された複数のカメラ・センサと、セカンダリ・コンピュータに結合された１つ又は複数のセカンダリ・センサと、プライマリ・コンピュータに結合された複数の車両モニタリング・センサとを含む。１つ又は複数の実施例によれば、プライマリ・コンピュータは、カメラ・センサからの入力を受け取り、少なくとも１つの車両アクチュエータを制御するための少なくとも１つの信号を出力するように構成され、セカンダリ・コンピュータは、セカンダリ・センサからの入力を受け取り、車両の動作に関する少なくとも１つの第２の信号を出力するように構成され、監視ＭＣＵは、プライマリ・コンピュータからの信号とセカンダリ・コンピュータからの信号を比較するように構成されている。
【０５０９】
ＡＤＡＳシステムは、任意の数の供給メーカーからの１つ又は複数のシステム又はＳｏＣを含んでもよい。ＡＤＡＳシステムは、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）及びステレオ・ビデオ・カメラを用いて実装された前方クラッシュ警告ユニットを含んでもよい（例えば、これに限定されない）。前方クラッシュ警告ユニットは、ＦＰＧＡと長距離レーダ・ユニット、及び／又はプロセッサと長距離レーダ・ユニットとして、他の好適な実施例で実装されてもよい。
【０５１０】
ＡＤＡＳシステムは、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）及びステレオ・ビデオ・カメラを用いて実装された車線逸脱警告ユニットを含んでもよい（例えば、これに限定されない）。車線逸脱警告ユニットは、ＦＰＧＡと単眼カメラ・ユニット、及び／又はプロセッサと単眼カメラ・ユニットとして、他の好適な実施例で実装されてもよい。
【０５１１】
ＡＤＡＳシステムは、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）及びステレオ・ビデオ・カメラで実装された、自動緊急ブレーキ（ＡＥＢ）ユニットを含んでもよい（例えば、これに限定されない）。ＡＥＢユニットは、ＦＰＧＡと長距離レーダ・ユニット、プロセッサと長距離レーダ・ユニット、及び／又は特定用途向け集積回路（ＡＳＩＣ）と長距離レーダ・ユニットとして、他の好適な実施例で実装されてもよい。
【０５１２】
ＡＤＡＳシステムは、（限定されないが）縦方向自動走行クルーズ制御（ＡＣＣ）ユニット及び／又は横方向ＡＣＣユニットなどのＡＣＣユニットを含んでもよい（例えば、これに限定されない）。縦方向ＡＣＣユニットは、すぐに先行する車両までの距離及びエゴ車両の現在の速度に基づいて、自動運転車両の速度を調整するように構成されてもよい。１つ又は複数の実施例では、ＡＣＣユニット（複数可）は、前向きレーダ・センサで実装されてもよい。ＡＥＢユニットは、ＦＰＧＡと前向きレーダ・センサ、プロセッサと前向きレーダ・センサ、及び／又はＡＳＩＣと前向きレーダ・センサとして、他の好適な実施例で実装されてもよい。１つ又は複数の実施例では、ＡＥＢユニットは、前向きカメラ、ＦＰＧＡと前向きカメラ、プロセッサと前向きカメラ、及び／又はＡＳＩＣと前向きカメラを用いて実装されてもよい。前向きカメラは、特定の実施例では、ステレオ・カメラを含んでもよい。
【０５１３】
ＡＤＡＳシステムは、後方交差交通警告ユニットを含んでもよい（例えば、これに限定されない）。１つ又は複数の実施例では、後方交差交通警告ユニットは、ＦＰＧＡと１つ若しくは複数の後向きカメラ、及び／又はＦＰＧＡ（又はプロセッサ）と後向き中距離レーダ・ユニットを用いて実装されてもよい。ＡＤＡＳシステムはまた、死角警告ユニットを含んでもよい。１つ又は複数の実施例では、死角警告ユニットは、ＦＰＧＡと１つ若しくは複数のカメラ、及び／又はＦＰＧＡ（又はプロセッサ）と１つ若しくは複数のレーダ・ユニットを用いて実装されてもよい。
【０５１４】
いくつかの実施例では、ＡＤＡＳシステムは、少なくとも１つの動力駆動車軸の第１の角速度を判定するための第１の角速度検出器と、少なくとも１つの自由回転車軸の第２の角速度を検出するための第２の角速度検出器と、路面上での摩擦のレベルを判定するために第１の角速度と第２の角速度を比較するように構成されたプロセッサとを有する、１つ又は複数の実施例で実装された滑りやすい道路検出ユニットを含む。これらの実施例によれば、滑りやすい道路検出ユニットは、動力駆動車軸の第１の振動を判定するための第１の振動センサと、少なくとも１つの自由回転車軸の第２の振動を判定するための第２の振動センサと、をさらに備える。これらの実施例では、プロセッサは、第１の振動と第２の振動を比較して路面上での摩擦のレベルを判定するようにさらに構成されることができる。
【０５１５】
これらのＡＤＡＳ実装のいずれかにおけるプロセッサは、それ自体がＣＰＵ、及び／又はＡＳＩＣを含むことができる。監視ＭＣＵは、好ましい実施例では、プライマリ・コンピュータからの出力とセカンダリ・コンピュータからの出力とが一致する場合には、第１の信号に従って車両の少なくとも１つのアクチュエータを制御し、且つ／又は、プライマリ・コンピュータからの出力とセカンダリ・コンピュータからの出力とが一致しない場合には、アラーム信号を出力するように、さらに構成されている。さらなる実施例では、監視ＭＣＵは、プライマリ・コンピュータからの出力とセカンダリ・コンピュータからの出力とが一致しない場合でも、ＭＣＵが、プライマリ・コンピュータの出力が信頼度しきい値を超えると判定した場合に、第１の信号に従って車両を制御するようにさらに構成されている。
【０５１６】
１つ又は複数の実施例では、ＡＤＡＳシステムは、少なくとも１つのレーダ・センサを含み、監視ＭＣＵは、プライマリ・コンピュータとセカンダリ・コンピュータからの出力に基づいて、セカンダリ・コンピュータがフォールス・アラームを提供する状態を判定するように構成されたニューラル・ネットワークを実行する。ＭＣＵによって実行されるニューラル・ネットワークは、ＡＤＡＳシステム（複数可）によって引き起こされるフォールス・アラームの可能性を減少させるように訓練される。特定の実施例では、ＭＣＵは、金属製排水格子、金属製マンホール蓋、金属製ごみ箱などの対象物によって引き起こされるフォールス・アラームの可能性を低減させるように訓練されることができる。
【０５１７】
本技術の次の態様は、自動運転車両を制御するためのシステムに向けられている。システムは、プライマリ・コンピュータと、ＡＤＡＳ ＳｏＣを含むセカンダリ・コンピュータと、第１のコンピュータ及び第２のコンピュータに結合された監視ＭＣＵと、第１のコンピュータに結合された第１の複数のカメラ・センサと、セカンダリ・コンピュータに結合された第２の複数のカメラ・センサと、第１のコンピュータに結合された複数の車両モニタリング・センサと、を備え得る。１つ又は複数の実施例では、第１のコンピュータは、カメラ・センサからの入力を受け取り、少なくとも１つの車両アクチュエータを制御するための少なくとも１つの信号を出力するように構成され、第２のコンピュータは、カメラ・センサからの入力を受け取り、少なくとも１つの車両アクチュエータを制御するための少なくとも１つの信号を出力するように構成され、監視ＭＣＵは、第１のコンピュータからの出力と第２のコンピュータからの出力を比較するように構成されている。
【０５１８】
監視ＭＣＵは、好ましい実施例では、第１のコンピュータからの出力と第２のコンピュータからの出力とが一致しない場合に、アラーム信号を出力するようにさらに構成されている。
【０５１９】
本技術の次の態様は、自動運転車両を制御するためのシステムに向けられている。１つ又は複数の実施例では、システムは、プライマリ・コンピュータと、少なくとも１つのＣＰＵ及び１つのＧＰＵを備えるセカンダリ・コンピュータと、第１のコンピュータ及び第２のコンピュータに結合された監視ＭＣＵと、第１のコンピュータ及び第２のコンピュータに結合された複数のカメラ・センサと、第１のコンピュータに結合された複数の車両モニタリング・センサと、を含む。好ましい実施例によれば、第１のコンピュータは、カメラ・センサからの入力を受け取り、少なくとも１つの車両アクチュエータを制御するための少なくとも１つの信号を出力するように構成され、第２のコンピュータは、カメラ・センサからの入力を受け取り、少なくとも１つの車両アクチュエータを制御するための少なくとも１つの信号を出力するように構成され、監視ＭＣＵは、第１のコンピュータからの出力と第２のコンピュータからの出力を比較するように構成されている。
【０５２０】
１つ又は複数の実施例では、監視ＭＣＵは、第１のコンピュータからの出力と第２のコンピュータからの出力とが一致しない場合にアラーム信号を出力するようにさらに構成されている。複数のカメラ・センサは、様々な機能及び／又は構成を有するカメラ・センサを含むことができる。例えば、カメラ・センサは、以下のリストから１つ又は複数のカメラを含むことができる。１）それぞれが約２５度の視野を有する１つ又は複数の長距離カメラ、２）約５０度の視野を有する１つ又は複数の短距離カメラ、３）約１５０度の視野を有する１つ又は複数の魚眼前方カメラ、４）１つ又は複数の広角カメラ、並びに／又は、５）１つ又は複数の赤外線カメラ。
【０５２１】
実施例によれば、プライマリ・コンピュータは、歩行者検出を向上させるために、少なくとも１つの赤外線カメラからのデータと、少なくとも１つの他のカメラからのデータと、を融合させる。１つ又は複数の赤外線カメラからの少なくとも１つの赤外線カメラは、パッシブ赤外線システムを備えることができる。１つ又は複数の赤外線カメラからの別の赤外線カメラは、アクティブ赤外線システムを備えることができる。さらに別の赤外線カメラは、ゲーティングされた赤外線カメラであることができる。
【０５２２】
例示的な非限定的な実装形態では、複数のカメラ・センサは、１５度から４５度の間の水平視野を有する少なくとも１つの長距離カメラと、４５度から７５度の間の水平視野を有する少なくとも１つの短距離カメラとを含む。
【０５２３】
例示的な別の非限定的な実装形態では、第１の複数のカメラ・センサは、９０度から１８０度の間の水平視野を有する少なくとも１つの魚眼前方カメラを含む。例示的な別の非限定的な実装形態では、第１の複数のカメラ・センサは、少なくとも４つの広角カメラを含む。例示的な別の非限定的な実装形態では、第１の複数のカメラ・センサは、少なくとも１つの赤外線カメラを含む。例示的な別の非限定的な実装形態では、少なくとも１つの赤外線カメラは、パッシブ赤外線システム、及び／又はアクティブ赤外線システム、及び／又はゲーティングされた赤外線システムを備える。これらの実装形態のうちの１つ又は複数によれば、プライマリ・コンピュータは、歩行者検出を向上させるために、少なくとも１つの赤外線カメラからのデータと、少なくとも１つの他のカメラからのデータと、を融合させる。
【０５２４】
例示的な別の非限定的な実装形態では、複数のカメラ・センサは、少なくとも４つの赤外線カメラを含む。例示的な別の非限定的な実装形態では、システムは、第１のコンピュータに結合されたＬＩＤＡＲセンサを含む。ＬＩＤＡＲセンサは、（以下に限定されないが）フラッシュＬＩＤＡＲセンサ、及び／若しくはソリッド・ステートＬＩＤＡＲセンサであることができ、且つ／又は４５度から１３５度の間の水平視野を有する自動運転車両の前部に取り付けられる。
【０５２５】
例示的な非限定的な実装形態では、自動運転車両を制御するためのシステムは、車両の周囲の様々な位置に配置された複数のセンサを含む。例示的な構成は、車両の前部に配置された第１のフラッシュＬＩＤＡＲセンサと、車両の前部に配置された第２のフラッシュＬＩＤＡＲセンサと、車両の前部に配置された第３のフラッシュＬＩＤＡＲセンサと、車両の後部に配置された第４のフラッシュＬＩＤＡＲセンサとを含むことができる。そのような実施例によれば、第１のコンピュータは、フラッシュＬＩＤＡＲセンサから情報を受け取るように構成されている。第１のコンピュータは、他のセンサに結合され、他のセンサから情報を受信するように構成され得る。例示的な構成は、例えば、第１のコンピュータに結合されたレーダ・センサ、及び／又は第１のコンピュータに結合された超音波（Ｕｌｔｒａｓｏｎｉｃ）／超音波（Ｕｌｔｒａｓｏｕｎｄ）センサ、及び／又はレーダ・センサ、ＬＩＤＡＲセンサ、及び超音波センサからなる群から選択された第１のコンピュータに結合された少なくとも１つのセンサを含むことができる。
【０５２６】
好ましい実施例では、システムは、第１のコンピュータ上の少なくとも１つのディープ・ラーニング・アクセラレータ上で実行するニューラル・ネットワークを含むことができる。１つ又は複数の実施例では、第１のコンピュータ上の少なくとも１つのディープ・ラーニング・アクセラレータ上で実行するニューラル・ネットワークは、畳み込みニューラル・ネットワーク（ＣＮＮ）を備える。例示的な別の実施例では、ＣＮＮは、領域ベース畳み込みニューラル・ネットワークを備える。ＣＮＮは、特定の対象物検出及び／又は分類タスクのために訓練され得る。例示的な実装形態では、対象物検出、及び／又は交通標識検出、歩行者検出、若しくは車両検出のうちの少なくとも１つのために訓練されたＣＮＮを含む。
【０５２７】
さらなる実施例では、ＣＮＮは、カメラのレンズが障害物によって妨害されている状態を検出するように訓練され得る。ＣＮＮのレンズ妨害状態の検出に応答して、プライマリ・コンピュータは、レンズ清掃ルーチンを実行するための制御信号を送る。そのような実施例によれば、システムは、レンズ清掃ルーチンを実行するプライマリ・コンピュータによって指示された場合に、１つ若しくは複数のレンズ上で圧縮空気のストリームを提供するためのノズル、及び／又はレンズ清掃ルーチンを実行するプライマリ・コンピュータによって指示された場合に、結露、霜、若しくは氷を減少させるためにレンズを加熱するためのヒータ、のうちの１つ又は複数を含むことができる。
【０５２８】
好ましい実施例では、システムによって実行される１つ又は複数のＣＮＮもまた、カメラの故障を検出するように訓練され得る。
【０５２９】
好ましい実施例では、システムは、特定のタスクを実行するために、第１のコンピュータ上の少なくとも１つのプログラマブル・ビジョン・アクセラレータ上で実行されるコンピュータ・ビジョン・アルゴリズムを含むことができる。例えば、コンピュータ・ビジョン・アルゴリズムは、交通標識検出、距離推定、又は車両検出のうちの少なくとも１つを実行するために実行することができる。
【０５３０】
システムの１つ又は複数の実施例は、オーディオ信号を処理するためのデジタル信号プロセッサと内部ＲＡＭとからなるオーディオ処理エンジンを含むことができる。そのような実施例によれば、第１のコンピュータは、緊急車両サイレンを識別するように訓練されたＣＮＮを実行することができる。第１のコンピュータは、そのような緊急車両サイレンを識別すると、緊急車両安全ルーチンを実行するように構成することができる。緊急車両安全ルーチンは、例えば、緊急車両が通過するまで、車両を遅くすること、道路の脇に寄せること、車両を駐車すること、車両をアイドリングすることなどの１つ又は複数の操作を含むことができる。システムは、１つ又は複数の超音波センサを含むことができる。１つ又は複数の超音波センサからの情報は、緊急車両安全ルーチンを実行するとき、第１のコンピュータによって使用され得る。第１のコンピュータに結合されたディスクリートＣＰＵ、例えばＸ８６  ＣＰＵは、緊急車両安全ルーチンを実行するように構成することができる。
【０５３１】
本技術の別の態様は、ＡＳＩＬ  Ｄ機能安全性評価を有する自動運転車両を制御するためのシステムに向けられている。１つ又は複数の実施例では、システムは、（例えば、限定されず）少なくともＡＳＩＬ−Ｂ機能安全性評価を有する前方衝突警告システムである、自動運転車両を制御するためのコンピュータを備えることができる。そのような実施例によれば、自動運転車両を制御するためのコンピュータは、（一例として、限定されないが）少なくともＡＳＩＬ−Ｃ機能安全性評価を有してもよい。特定の実施例によれば、自動運転車両は、牽引車及びトレーラを含む自律運転トラックのうちの任意の１つ又は複数を含んでもよい。１つ又は複数の実施例では、トレーラは、複数の重量重心センサを備える。トレーラはまた、牽引車に電気的に結合することができる。
【０５３２】
さらなる実施例では、トレーラに加えられた横風を検出するために、トレーラに関連づけられた少なくとも１つの突風センサを含むことができる。突風センサは、例えば、トレーラの一方の側にピトー管を有する第１のセンサと、トレーラの他方の側にピトー管を有する第２のセンサとを用いて実装されてもよい。第１及び第２のセンサは、プライマリ・コンピュータに電気的に結合されてもよく、横方向の突風を識別するために、プライマリ・コンピュータは、第１のセンサからの結果と第２のセンサからの結果を比較するように構成されている。
【０５３３】
他の実施例では、トラックの加速、ブレーキ、及びステアリングを制御するための複数の車両アクチュエータを含み、プライマリ・コンピュータは、比較を使用しての車両アクチュエータのうちの１つ又は複数を制御するように構成されている。複数の重量重心センサは、トレーラの重量及びバランスを測定するために、好ましい実施例に配置することができ、トレーラの重量及び重心に関する情報をプライマリ・コンピュータに提供するためにプライマリ・コンピュータに電気的に結合され、プライマリ・コンピュータは、突風を識別するために、第１のセンサからの結果と第２のセンサからの結果の比較を検証するために使用される。
【０５３４】
好ましい実施例によれば、自動運転車両（例えば、自律運転トラック）は、トレーラのピッチ、ロール、及びヨーのうちの少なくとも１つを検出するための、トレーラに関連づけられた複数の慣性センサを含むことができる。システム内のＭＣＵは、重量重心センサからの情報を使用して、トラックの速度、加速度、又は減速度のうちの少なくとも１つを制限するように構成される。
【０５３５】
好ましい実施例によれば、自動運転車両は、トレーラ内に配置され、システムのＳｏＣに電気的に結合された、カメラ・センサを含むことができる。他のセンサは、トレーラ内の煙検出器を含むことができる。ＳｏＣは、トレーラ内の火災を示す煙検出器からの信号に応答して、火災対応プロトコルを実行するように構成されることができる。火災応答プロトコルは、火災の存在を示すワイヤレス信号を送ること、トラックの所在地を示すワイヤレス信号を送ること、及びトラックの駐車操作を実行すること、などの任意の１つ又は複数の動作を含み得る。
【０５３６】
本技術の別の態様によれば、第１の制御可能な車軸と、第１の制御可能な車軸を制御するための第１のコントローラであって、第１のＳｏＣを備える第１のコントローラと、第２の制御可能な車軸と、第２の制御可能な車軸を制御するための第２のコントローラであって、第２のＳｏＣを備える第２のコントローラと、を含む自律運転トラックが提供される。１つ又は複数の実施例では、第２のコントローラは、ディープ・ラーニング・アクセラレータを備える。１つ又は複数の実施例では、自律運転トラックは、車両の前面に設置された少なくとも１つの赤外線カメラを含む。赤外線カメラは、例えば、ズーム機能を含むことができる。自律運転トラックは、車両の前面、後面、及び側面に設置された複数の赤外線カメラ（ズーム機能を含むことができる任意のもの）をさらに備えることができる。
【０５３７】
本技術のさらに別の態様は、車両本体と、複数の乗客のための車両本体内の座席エリアと、車両を制御するためのコンピュータと、座席エリアをモニタするための車両本体内の少なくとも１つのカメラであって、コンピュータに電気的に結合されたカメラと、安全状態を識別するように訓練され、コンピュータ上で実行される少なくとも１つのニューラル・ネットワークと、セルラー・ネットワークと通信するためのワイヤレス・デバイスと、を備える自律運転複数乗客車両を含んでいる。実施例によれば、コンピュータは、ＬＴＥネットワーク及びＷＣＤＭＡ（登録商標）ネットワークのうちの任意の１つ又は複数などのワイヤレス（例えば、セルラー）・ネットワークを介して安全状態の通知を送るように構成されることができる。
【０５３８】
本技術の別の態様は、車両本体と、車両を制御するためのコンピュータと、車両本体の周りに配置された複数のカメラであって、コンピュータに電気的に結合されたカメラと、コンピュータ上で実行する少なくとも１つのニューラル・ネットワークであって、少なくとも１つの他の車両を位置特定するように訓練されたニューラル・ネットワークと、コンピュータに電気的に結合されたワイヤレス・デバイスであって、ワイヤレス・ネットワークと通信するためのワイヤレス・デバイスと、を備える自己運転パトロール・カーに向けられている。１つ又は複数の実施例によれば、コンピュータは、ＬＴＥネットワーク及びＷＣＤＭＡ（登録商標）ネットワークのうちのいずれか１つ又は複数などの、ワイヤレス（例えば、セルラー）・ネットワークを介して、少なくとも１つの他の車両の存在及び所在地の通知を送るように構成されている。
【０５３９】
少なくとも１つの実施例は、車両の前面に設置された少なくとも１つの赤外線カメラを含む。赤外線カメラは、特定の実施例ではズーム機能を含む。車両の前面、後面、及び側面に設置された複数の赤外線カメラも含むことができ、これらのカメラのそれぞれはズーム機能を有することができるが、ズーム機能を有することは必須ではない。１つ又は複数の実施例では、ニューラル・ネットワークは、推論タスク及び他の処理タスクを実行するように構成されることができる。これらのタスクは、例えば、限定されないが、ナンバー・プレートを識別することによって少なくとも１つの他の車両を識別すること、ナンバー・プレートの一部分並びに他の車両のメーカー及びモデルを識別することによって少なくとも１つの他の車両を識別することと、他の車両の外観を識別することによって少なくとも１つの他の車両を識別することと、を含み得る。
【０５４０】
好ましい実施例では、ニューラル・ネットワークは、コンピュータによってディープ・ラーニング・アクセラレータ上で実行されることができる。さらなる実施例では、コンピュータは、ニューラル・ネットワークをＧＰＵ上で実行する。
【０５４１】
本技術の別の態様は、車両本体と、車両を制御するためのコンピュータと、車両本体の周りに配置された複数のカメラであって、コンピュータに電気的に結合されたカメラと、コンピュータ上で実行する少なくとも１つのニューラル・ネットワークであって、少なくとも１つの安全状態を識別するように訓練されたニューラル・ネットワークと、セルラー・ネットワークと通信するためのワイヤレス・デバイスと、を備える自律運転パトロール・カーを含む。好ましい実施例では、コンピュータは、セルラー・ネットワークを介して、少なくとも１つの安全状態の存在及び所在地の通知を送るように構成されている。安全状態は、限定されないが、火災、自動車事故、負傷者、及び／又は人々の間の物理的衝突を含んでもよい。
【０５４２】
１つ又は複数の実施例では、コンピュータは、ディープ・ラーニング・アクセラレータ及びＧＰＵの少なくとも一方でニューラル・ネットワークを実行する。１つ又は複数の実施例では、ディープ・ラーニング・アクセラレータ及びＧＰＵの一方又は両方はＳｏＣ上に備えられる。
【０５４３】
本技術のさらなる態様は、自動運転車両を制御するための方法に向けられており、その方法は、システム・オン・チップ上のディープ・ラーニング・アクセラレータ上で第１のニューラル・ネットワークを実行することと、システム・オン・チップ上のＧＰＵ上で第２のニューラル・ネットワークを実行することと、システム・オン・チップ上のプログラマブル・ビジョン・アクセラレータ上で第１のコンピュータ・ビジョン・アルゴリズムを実行することと、第１のニューラル・ネットワーク、第２のニューラル・ネットワーク、及びコンピュータ・ビジョン・アルゴリズムの出力に応答して、自動運転車両上の１つ又は複数のアクチュエータを制御することと、を含む。
【０５４４】
１つ又は複数の実施例によれば、自動運転車両を制御することはまた、少なくとも１つの動力駆動車軸の第１の角速度を検出することと、少なくとも１つの自由回転車軸の第２の角速度を検出することと、路面上での摩擦のレベルを判定するために第１の角速度と第２の角速度を比較ことと、第１のニューラル・ネットワーク、第２のニューラル・ネットワーク、コンピュータ・ビジョン・アルゴリズム、及び第１の角速度と第２の角速度の比較の出力に応答して、自動運転車両上の１つ又は複数のアクチュエータを制御することと、を含むことができる。
【０５４５】
１つ又は複数の実施例によれば、自動運転車両を制御することは、動力駆動車軸の第１の振動を検出することと、少なくとも１つの自由回転車軸の第２の振動を判定するために第２の振動センサを検出することと、路面上の摩擦のレベルを判定するために第１の振動と第２の振動を比較することと、を含むこともできる。
【０５４６】
例示的な実施例によれば、自動運転車両を制御することは、第１のニューラル・ネットワーク及び第２のニューラル・ネットワークのいずれか一方又は両方への入力として、少なくとも１つのカメラ・センサからの画像情報を提供することも含むことができる。例示的な実施例によれば、自動運転車両を制御することは、第１のニューラル・ネットワーク及び第２のニューラル・ネットワークの一方又は両方への入力として、少なくとも１つの赤外線カメラ・センサからの画像情報を提供することも含むことができる。
【０５４７】
別の例示的な実施例によれば、自動運転車両を制御することは、第１のニューラル・ネットワーク及び第２のニューラル・ネットワークのいずれか一方又は両方への入力として、少なくとも１つの単眼カメラ・センサからの画像情報を提供することも含むことができる。別の例示的な実施例によれば、自動運転車両を制御することは、第１のニューラル・ネットワーク及び第２のニューラル・ネットワークの一方又は両方への入力として、少なくとも１つのステレオ・カメラ・センサからの画像情報を提供することも含むことができる。
【０５４８】
例示的な別の実施例によれば、自動運転車両を制御することは、第１のコンピュータ・ビジョン・アルゴリズムへの入力として、レーダ・センサ、ＬＩＤＡＲセンサ、及び超音波センサのうちの少なくとも１つ又は複数からの情報を提供することを含むこともできる。１つ又は複数の実施例では、ＬＩＤＡＲセンサは、フラッシュＬＩＤＡＲセンサ及びソリッド・ステートＬＩＤＡＲセンサのうちの１つ又は複数として実装されることができる。
【０５４９】
例示的な別の実施例によれば、自動運転車両を制御することは、第２のシステム・オン・チップ上のディープ・ラーニング・アクセラレータ上で第３のニューラル・ネットワークを実行することと、第２のシステム・オン・チップ上のＧＰＵ上で第４のニューラル・ネットワークを実行することと、第２のシステム・オン・チップ上のプログラマブル・ビジョン・アクセラレータ上で第２のコンピュータ・ビジョン・アルゴリズムを実行することと、第１のシステム・オン・チップの出力と第２のシステム・オン・チップの出力を比較することと、比較に応答して自動運転車両上の１つ又は複数のアクチュエータを制御することと、を含むこともできる。
【０５５０】
例示的な別の実施例によれば、自動運転車両を制御することは、第１のニューラル・ネットワークへの入力として少なくとも１つのカメラ・センサからの画像情報を提供することと、第３のニューラル・ネットワークへの入力として少なくとも１つのカメラ・センサからの画像情報を提供することと、を含むこともできる。
【０５５１】
例示的な別の実施例によれば、自動運転車両を制御することは、第２のニューラル・ネットワークへの入力として少なくとも１つのカメラ・センサからの画像情報を提供することと、第４のニューラル・ネットワークへの入力として少なくとも１つのカメラ・センサからの画像情報を提供することと、を含むこともできる。
【０５５２】
例示的な別の実施例によれば、自動運転車両を制御することは、第１のニューラル・ネットワークへの入力として少なくとも１つの赤外線カメラ・センサからの画像情報を提供することと、第３のニューラル・ネットワークへの入力として少なくとも１つのカメラ・センサからの画像情報を提供することと、を含むこともできる。
【０５５３】
例示的な別の実施例によれば、自動運転車両を制御することは、第２のニューラル・ネットワークへの入力として少なくとも１つの赤外線カメラ・センサからの画像情報を提供することと、第４のニューラル・ネットワークへの入力として少なくとも１つのカメラ・センサからの画像情報を提供することと、を含むこともできる。
【０５５４】
例示的な別の実施例によれば、自動運転車両を制御することは、第１のニューラル・ネットワークへの入力として少なくとも１つのステレオ・カメラ・センサからの画像情報を提供することと、第３のニューラル・ネットワークへの入力として少なくとも１つのＬＩＤＡＲセンサからの情報を提供することと、を含むこともできる。
【０５５５】
例示的な別の実施例によれば、自動運転車両を制御することは、第２のニューラル・ネットワークへの入力として少なくとも１つの単眼カメラ・センサからの画像情報を提供することと、第４のニューラル・ネットワークへの入力として少なくとも１つのＬＩＤＡセンサからの情報を提供することと、を含むこともできる。
【０５５６】
例示的な別の実施例によれば、自動運転車両を制御することは、第１のニューラル・ネットワークへの入力として少なくとも１つのステレオ・カメラ・センサからの画像情報を提供することと、第３のニューラル・ネットワークへの入力として少なくとも１つの単眼カメラ・センサからの画像情報を提供することと、を含むこともできる。
【０５５７】
例示的な別の実施例によれば、自動運転車両を制御することは、第２のニューラル・ネットワークへの入力として少なくとも１つのステレオ・カメラ・センサからの画像情報を提供することと、第４のニューラル・ネットワークへの入力として少なくとも１つの単眼カメラ・センサからの画像情報を提供することと、を含むこともできる。
【０５５８】
例示的な別の実施例によれば、自動運転車両を制御することは、第１のコンピュータ・ビジョン・アルゴリズムへの入力として少なくとも１つのレーダ・センサからの情報を提供することと、第２のコンピュータ・ビジョン・アルゴリズムへの入力として少なくとも１つのレーダ・センサからの情報を提供することと、を含むこともできる。
【０５５９】
例示的な別の実施例によれば、自動運転車両を制御することは、第１のコンピュータ・ビジョン・アルゴリズムへの入力として少なくとも１つのＬＩＤＡＲセンサからの情報を提供することと、第２のコンピュータ・ビジョン・アルゴリズムへの入力として少なくとも１つのＬＩＤＡＲセンサからの情報を提供することと、を含むこともできる。
【０５６０】
例示的な別の実施例によれば、自動運転車両を制御することは、第１のコンピュータ・ビジョン・アルゴリズムへの入力として少なくとも１つの超音波センサからの情報を提供することと、第２のコンピュータ・ビジョン・アルゴリズムへの入力として少なくとも１つの超音波センサからの情報を提供することと、を含むこともできる。
【０５６１】
例示的な別の実施例によれば、自動運転車両を制御することは、第１のコンピュータ・ビジョン・アルゴリズムへの入力として少なくとも１つのフラッシュＬＩＤＡＲセンサからの情報を提供することと、第２のコンピュータ・ビジョン・アルゴリズムへの入力として少なくとも１つのフラッシュＬＩＤＡＲセンサからの情報を提供することと、を含むこともできる。
【０５６２】
本技術の１つの態様は、自動運転車両を制御するための方法に向けられている。この方法は、システム・オン・チップ上のディープ・ラーニング・アクセラレータ上で第１の複数のニューラル・ネットワークを実行することと、システム・オン・チップ上のＧＰＵ上で第２の複数のニューラル・ネットワークを実行することと、システム・オン・チップ上のプログラマブル・ビジョン・アクセラレータ上で複数のコンピュータ・ビジョン・アルゴリズムを実行することと、第１の複数のニューラル・ネットワークの出力、第２の複数のニューラル・ネットワークの出力、及び複数のコンピュータ・ビジョン・アルゴリズムの出力に応答して自動運転車両上の１つ又は複数のアクチュエータを制御することと、を含むことができる。
【０５６３】
例示的な実施例によれば、自動運転車両を制御することは、第２のシステム・オン・チップ上のディープ・ラーニング・アクセラレータ上で第３の複数のニューラル・ネットワークを実行することと、第２のシステム・オン・チップ上のＧＰＵ上で第４の複数のニューラル・ネットワークを実行することと、第２のシステム・オン・チップ上のプログラマブル・ビジョン・アクセラレータ上で第２の複数のコンピュータ・ビジョン・アルゴリズムを実行することと、第１のシステム・オン・チップの出力と第２のシステム・オン・チップの出力を比較することと、比較に応答して自動運転車両上の１つ又は複数のアクチュエータを制御することと、を含むこともできる。
【０５６４】
例示的な別の実施例によれば、自動運転車両を制御することは、プライマリ・コンピュータに１つ又は複数のカメラ・センサからの入力を提供することと、プライマリ・コンピュータ上で第１のニューラル・ネットワークを実行することと、第１のコンピュータ内で、少なくとも１つの車両アクチュエータを制御するための少なくとも１つの第１の信号を生成することと、セカンダリ・コンピュータに１つ又は複数のカメラ・センサからの入力を提供することと、セカンダリ・コンピュータ上で第２のＣＮＮを実行することと、第２のコンピュータ内で、少なくとも１つの車両アクチュエータを制御するための少なくとも１つの第２の信号を生成することと、第１の信号及び第２の信号を監視ＭＣＵに提供することと、ＭＣＵ内で、第１の信号及び第２の信号を比較することと、を含むこともできる。１つ又は複数の実施例では、ＭＣＵは、第１の信号と第２の信号とが一致しない場合にアラーム信号を生成するように構成されることができる。
【０５６５】
本技術の別の態様は、自動運転車両を制御するための方法に向けられており、この方法は、プライマリ・コンピュータに１つ又は複数のカメラ・センサからの入力を提供することと、カメラ・センサからの入力に応答する少なくとも１つの第１の信号を生成するためにプライマリ・コンピュータ上で第１のニューラル・ネットワークを実行することと、第２の信号を生成するためにプログラマブル・ビジョン・アクセラレータ上でコンピュータ・ビジョン・アルゴリズムを実行することと、第１の信号第２の信号を使用して、少なくとも１つの車両アクチュエータを制御することと、を含む。
【０５６６】
本技術の別の態様は、自動運転車両を制御するための方法に向けられており、その方法は、少なくとも１つの第１の信号を生成するために、第１のシステム・オン・チップ上で歩行者検出のためのニューラル・ネットワークを実行することと、少なくとも１つの第２の信号を生成するために、第２のシステム・オン・チップ上で標識検出のためのニューラル・ネットワークを実行することと、少なくとも１つの第３の信号を生成するために、第３のシステム・オン・チップ上で距離推定のためのニューラル・ネットワークを実行することと、少なくとも１つの第４の信号を生成するために、第４のシステム・オン・チップ上で車線検出のためのニューラル・ネットワークを実行することと、少なくとも１つの第５の信号を生成するために、第５のシステム・オン・チップ上で衝突回避のためのニューラル・ネットワークを実行することと、少なくとも１つの第６の信号を生成するために、第６のシステム・オン・チップ上で現行占有率グリッドのためのニューラル・ネットワークを実行することと、少なくとも１つの第７の第１の信号を生成するために、第７のシステム・オン・チップ上で予測占有率グリッドのためのニューラル・ネットワークを実行して少なくとも１つの第７の第１の信号を生成することと、少なくとも１つの第８の信号を生成するために、第８のシステム・オン・チップ上でステアリング制御のためのニューラル・ネットワークを実行することと、少なくとも１つの第９の信号を生成するために、中央処理ユニット上でコンピュータ・ビジョン・アルゴリズムを実行することと、その信号を使用して、少なくとも１つの車両アクチュエータを制御することと、を含む。
【０５６７】
別の態様は、自動運転車両を制御するための方法を提供し、その方法は、プライマリ・コンピュータに１つ又は複数のカメラ・センサからの入力を提供することと、入力に応答して第１の制御信号を生成することと、自動走行制御ユニットから第２の信号を受け取ることと、第１の制御信号が第２の信号と衝突するかどうかを評価することと、評価に応答して１つ又は複数の車両アクチュエータを制御することと、を含む。好ましい実施例では、自動走行制御ユニットは、縦方向自動走行制御ユニット及び横方向自動走行制御ユニットのいずれか一方又は両方であり得る。自動走行制御ユニットはまた、前向きレーダ・センサを備えることができる。
【０５６８】
本技術の１つ又は複数の態様は、自動運転車両を制御するための方法を使用して実装されることができ、その方法は、プライマリ・コンピュータに、１つ又は複数のカメラ・センサからの入力を提供することと、入力に応答して第１の制御信号を生成することと、１）自動緊急ブレーキ・ユニット、２）前方クラッシュ警告ユニット、３）車線逸脱警告ユニット、４）衝突警告ユニット、及び５）死角警告ユニットのうちの１つ又は複数から第２の信号を受け取ることと、第１の制御信号が第２の信号と衝突するかどうかを評価し、評価に応答して１つ又は複数の車両アクチュエータを制御することと、を含む。この態様の１つ又は複数の実施例では、自動緊急ブレーキ・ユニット、前方クラッシュ警告ユニット、車線逸脱警告ユニット、衝突警告ユニット、及び死角警告ユニットの各々は、ＦＰＧＡ、並びにステレオ・ビデオ・カメラ及びモノ・カメラのうちの１つ又は複数を備えることができる。
【０５６９】
さらに例示的な別の態様は、自動運転車両を制御するための方法を提供し、その方法は、ＧＰＵ上で畳み込みニューラル・ネットワークを実行するプライマリ・コンピュータに、１つ又は複数のカメラ・センサからの入力を提供することと、入力に応答して第１の制御信号を生成することと、自動走行制御ユニットから第２の信号を受け取ることと、第１の制御信号が第２の信号と衝突するかどうかを評価することと、評価に応答して１つ又は複数の車両アクチュエータを制御することと、を含む。
【０５７０】
本技術の態様は、自動運転車両を制御する方法も含むことができ、その方法は、ＧＰＵ上で畳み込みニューラル・ネットワークを実行するプライマリ・コンピュータに、１つ又は複数のカメラ・センサからの入力を提供し、入力に応答して第１の制御信号を生成すること、１）自動緊急ブレーキ・ユニット、２）前方クラッシュ警告ユニット、３）車線逸脱警告、４）衝突警告ユニット、及び５）死角警告ユニットのうちの１つ又は複数から第２の信号を受け取ること、第１の制御信号が第２の信号と衝突するかどうかを評価すること、及び、評価に応答して１つ又は複数の車両アクチュエータを制御すること、を含む。これらの態様の１つ又は複数の実施例では、自動緊急ブレーキ・ユニットは、ＦＰＧＡ及びステレオ・ビデオ・カメラを備える。この態様の１つ又は複数の実施例では、自動緊急ブレーキ・ユニット、前方クラッシュ警告ユニット、車線逸脱警告ユニット、衝突警告ユニット、及び死角警告ユニットの各々は、ＦＰＧＡ、並びにステレオ・ビデオ・カメラ及びモノ・カメラのうちの１つ又は複数を備えることができる。
【０５７１】
例示的な態様には、自動運転車両を制御する方法が含まれており、その方法は、ＤＬＡ上で畳み込みニューラル・ネットワークを実行するプライマリ・コンピュータに１つ又は複数のカメラ・センサからの入力を提供することと、入力に応答して第１の制御信号を生成することと、１）自動緊急ブレーキ・ユニット、２）前方クラッシュ警告ユニット、３）車線逸脱警告ユニット、４）衝突警告ユニット、及び５）死角警告ユニットのうちの１つ又は複数から第２の信号を受け取ることと、第１の制御信号が第２の信号と衝突するかどうかを評価することと、評価に応答して１つ又は複数の車両アクチュエータを制御することと、を含む。この態様の１つ又は複数の実施例では、自動緊急ブレーキ・ユニット、前方クラッシュ警告ユニット、車線逸脱警告ユニット、衝突警告ユニット、及び死角警告ユニットの各々は、ＦＰＧＡ、並びにステレオ・ビデオ・カメラ及びモノ・カメラのうちの１つ又は複数を備えることができる。
【０５７２】
本技術の１つ又は複数の態様は、自動運転車両を制御するための方法に向けられてもよく、その方法は、ＧＰＵデータセンタ内の第１のニューラル・ネットワークを訓練することと、自動運転車両に第１のニューラル・ネットワークを提供することと、ＧＰＵデータセンタ内の第２のニューラル・ネットワークを訓練することと、自動運転車両に第２のニューラル・ネットワークを提供することと、自動運転車両内のメモリに第１のニューラル・ネットワークを記憶することと、自動運転車両内のメモリに第２のニューラル・ネットワークを記憶することと、自動運転車両の前面に配置された少なくとも１つのステレオ・カメラ・センサから画像情報を受け取ることと、自動運転車両の前面に配置された少なくとも１つのＬＩＤＡＲセンサからＬＩＤＡＲ情報を受け取ることと、画像情報を入力として使用して、自動運転車両内のプライマリ・コンピュータ上で第１のニューラル・ネットワークを実行することと、ＬＩＤＡＲ情報を入力として使用して、自動運転車両内のプライマリ・コンピュータ上で第２のニューラル・ネットワークを実行することと、第１及び第２のニューラル・ネットワークの出力に応答して、自動運転車両を制御することと、を含む。
【０５７３】
１つ又は複数の実施例では、方法は、（以下に限定されないが）ＬＴＥネットワーク、ＷＣＤＭＡ（登録商標）ネットワーク、ＵＭＴＳネットワーク、及びＣＤＭＡ２０００ネットワークなどのワイヤレス・ネットワークを介して、第１のニューラル・ネットワークの更新されたインスタンスを受信することをさらに含むことができる。
【０５７４】
１つ又は複数の実施例では、方法はまた、画像情報を前方クラッシュ警告システムに適用することと、プライマリ・コンピュータの結果と前方クラッシュ警告システムの結果を比較することと、を含むことができる。第１のニューラル・ネットワーク及び第２のニューラル・ネットワークの１つ又は両方は、実施例によれば、ディープ・ラーニング・アクセラレータ及び／又はＧＰＵ上で実行されてもよい。
【０５７５】
例示的な態様は、牽引車とトレーラを備える自動運転トラックを制御するための方法を含むことができ、その方法は、ＧＰＵ上で少なくとも１つの畳み込みニューラル・ネットワークを実行するプライマリ・コンピュータに、牽引車上に配置された１つ又は複数のカメラ・センサからの入力を提供することと、入力に応答して少なくとも１つの第１の信号を生成することと、トレーラ上に配置された突風センサから第２の信号を受け取ることと、第２の信号が突風状態を識別するかどうかを評価することと、第１の信号及び評価に応答して１つ又は複数の車両アクチュエータを制御することと、を含む。
【０５７６】
例示的な別の態様は、牽引車及びトレーラを備える自動運転トラックを制御するための方法として実装されることができ、この方法は、ＤＬＡ上で実行する少なくとも１つの畳み込みニューラル・ネットワークを実行するプライマリ・コンピュータに、牽引車上に配置された１つ又は複数のカメラ・センサからの入力を提供することと、入力に応答して少なくとも１つの第１の信号を生成することと、トレーラ上に配置された少なくとも１つの突風センサから第２の信号を受け取ることと、第２の信号が突風状態を識別するかどうかを評価することと、第１の信号及び評価に応答して１つ又は複数の車両アクチュエータを制御することと、を含む。
【０５７７】
別の態様は、自律運転パトカーを制御するための方法を含むことができ、その方法は、プライマリ・コンピュータに、１つ又は複数のカメラ・センサからの入力を提供することと、プライマリ・コンピュータ上のＧＰＵの一方又は両方上で第１のニューラル・ネットワークを実行することと、セカンダリ・コンピュータに１つ又は複数のカメラ・センサからの入力を提供して、少なくとも１つの車両アクチュエータを制御するために少なくとも１つの第１の信号を第１のコンピュータで生成することと、画像情報から少なくとも１つの他の車両を識別するように訓練された第２のＣＮＮを（セカンダリ・コンピュータ上で）実行することと、第２のコンピュータ内で、少なくとも１つの他の車両の存在又は不在を識別する少なくとも１つの第２の信号を生成することと、ワイヤレス・ネットワークを介して少なくとも１つの他の車両の存在及び所在地の通知を送ることと、を含む。
【０５７８】
例示的な別の態様は、自律運転パトロール・カーを制御するための方法として実装されることができ、この方法は、ＣＰＵ、ＧＰＵ及び１つ又は複数のハードウェア・アクセラレータを備えるプライマリ・コンピュータに、第１の画像情報を提供することと、第１の画像情報を入力として用いて、プライマリ・コンピュータ上のＧＰＵ、及び１つ又は複数のハードウェア・アクセラレータの少なくとも１つの上で第１のニューラル・ネットワークを実行することと、プライマリ・コンピュータ内で、少なくとも１つの車両アクチュエータを制御するための少なくとも１つの第１の信号を生成することと、ＣＰＵ、ＧＰＵ、及び１つ又は複数のハードウェア・アクセラレータを備えるセカンダリ・コンピュータに、第２の画像情報を提供することと、第２の画像情報を入力として用いて、セカンダリ・コンピュータ上のＧＰＵ、及び１つ又は複数のハードウェア・アクセラレータの少なくとも１つの上で第２のニューラル・ネットワークを実行することと、セカンダリ・コンピュータ内で、少なくとも１つの他の車両の存在又は不在を示す少なくとも１つの第２の信号を生成することと、ワイヤレス・ネットワークを介して、少なくとも１つの他の車両の存在及び所在地の通知を送信することと、を含む。ワイヤレス・ネットワークは、ＬＴＥネットワーク、ＷＣＤＭＡ（登録商標）ネットワーク、ＵＭＴＳネットワーク、及びＣＤＭＡ２０００ネットワークを含むことができる（これに限定されない）。
【０５７９】
別の態様は、自律運転パトロール・カーを制御するための方法として実装されてもよく、その方法は、ＣＰＵ、ＧＰＵ、及び１つ又は複数のハードウェア・アクセラレータを備えるプライマリ・コンピュータに、第１の画像情報を提供することと、第１の画像情報を入力として用いて、プライマリ・コンピュータ上のＧＰＵ、及び１つ又は複数のハードウェア・アクセラレータのうちの少なくとも１つの上で第１のニューラル・ネットワークを実行することと、プライマリ・コンピュータ内で、少なくとも１つの車両アクチュエータを制御するための少なくとも１つの第１の信号を生成することと、ＣＰＵ、ＧＰＵ、及び１つ又は複数のハードウェア・アクセラレータを備えるセカンダリ・コンピュータに、第２の画像情報を提供することと、第２の画像情報を入力として用いて、セカンダリ・コンピュータ上のＧＰＵ、及び１つ又は複数のハードウェア・アクセラレータのうちの少なくとも１つの上で第２のニューラル・ネットワークを実行することと、セカンダリ・コンピュータ内で、少なくとも１つの安全状態の存在又は不在を示す少なくとも１つの第２の信号を生成することと、ワイヤレス・ネットワークを介して、少なくとも１つの安全状態の存在及び所在地の通知を送信することと、を含む。ワイヤレス・ネットワークは、ＬＴＥネットワーク、ＷＣＤＭＡ（登録商標）ネットワーク、ＵＭＴＳネットワーク、及びＣＤＭＡ２０００ネットワークを含むことができる（これらに限定されない）。１つ又は複数の実施例では、安全状態は、火災、自動車事故、負傷者、及び人々の間の物理的衝突のうちの１つ又は複数を含むことができる（これらに限定されない）。１つ又は複数の実施例では、第１の画像情報及び第２の画像情報のうちの１つ又は両方は、１つ又は複数の赤外線カメラからの情報を備える。
【０５８０】
本技術の態様は、自律運転耕耘機トラックを制御するための方法を実施することを含み、その方法は、ＣＰＵ、ＧＰＵ、及び１つ又は複数のハードウェア・アクセラレータを備えるプライマリ・コンピュータに第１の画像情報を提供することと、第１の画像情報を入力として用いて、プライマリ・コンピュータ上のＧＰＵ、及び１つ又は複数のハードウェア・アクセラレータのうちの少なくとも１つの上で第１のニューラル・ネットワークを実行することと、プライマリ・コンピュータ内で、第１の制御可能な車軸に関連づけられた少なくとも１つの車両アクチュエータを制御するための少なくとも１つの第１の信号を生成することと、ＣＰＵ、ＧＰＵ、及び１つ又は複数のハードウェア・アクセラレータを備えるセカンダリ・コンピュータに、第２の画像情報を提供することと、第２の画像情報を入力として用いて、セカンダリ・コンピュータ上のＧＰＵ、及び１つ又は複数のハードウェア・アクセラレータのうちの少なくとも１つの上で第２のニューラル・ネットワークを実行することと、及び、セカンダリ・コンピュータ内で、第２の制御可能な車軸に関連づけられた少なくとも１つの車両アクチュエータを制御するための少なくとも１つの第２の信号を生成することと、を含む。
【０５８１】
本技術の態様は、自律運転バスを制御するための方法を含むことができ、その方法は、ＣＰＵ、ＧＰＵ、及び１つ又は複数のハードウェア・アクセラレータを備えるプライマリ・コンピュータに、第１の画像情報を提供することと、第１の画像情報を入力として用いて、プライマリ・コンピュータ上のＧＰＵ、及び１つ又は複数のハードウェア・アクセラレータのうちの少なくとも１つの上で第１のニューラル・ネットワークを実行することと、プライマリ・コンピュータ内で、少なくとも１つの車両アクチュエータを制御するための少なくとも１つの第１の信号を生成することと、ＣＰＵ、ＧＰＵ及び１つ又は複数のハードウェア・アクセラレータを備える第２のコンピュータに、第２の画像情報を提供することであって、第２の画像情報が、バスの乗客区画の内部の少なくとも一部分の画像を含む、提供することと、第２の画像情報を入力として用いて、セカンダリ・コンピュータ上のＧＰＵ、及びハードウェア・アクセラレータ１つ又は複数のうちのうちの少なくとも１つの上で第２のニューラル・ネットワークを実行することと、第２の画像情報を入力として用いて、セカンダリ・コンピュータ上のハードウェア・アクセラレータうちの１つの上で第２のニューラル・ネットワークを実行することと、セカンダリ・コンピュータ内で、少なくとも１つの安全状態の存在又は不在を示す少なくとも１つの第２の信号を生成することと、ワイヤレス・ネットワークを介して、少なくとも１つの安全状態の存在及び所在地の通知を送信することと、を含む。ワイヤレス・ネットワークは、ＬＴＥネットワーク、ＷＣＤＭＡ（登録商標）ネットワーク、ＵＭＴＳネットワーク、及びＣＤＭＡ２０００ネットワークを含むことができる（これらに限定されない）。１つ又は複数の実施例では、安全状態は、火災、負傷したバスの乗客若しくは歩行者、及びバスの乗客間の物理的衝突のうちの１つ又は複数を含むことができる（これらに限定されない）。１つ又は複数の実施例では、第１の画像情報及び第２の画像情報のうちの一方又は両方は、１つ又は複数の赤外線カメラからの情報を備える。
【０５８２】
本明細書で触れた文献のすべては、あらゆる目的で、あたかもはっきりと明記されているように、参照により明示的に組み込まれている。
【０５８３】
最も実用的で好ましい実施例と現在考えられるものに関して、本発明を説明してきたが、本発明が開示された実施例に限定されるものではないことが理解されるべきである。例えば、明示していない限り、本発明は、どのようなタイプのセンサにも、どのような個数のセンサにも限定されるものではなく、請求項の文言内にあるいくつのセンサでも、どのようなタイプのセンサでも使用され得る。また、例として、上記の考察は、例としてＮＶＩＤＩＡハードウェアを使用して提示されているが、どのようなタイプのプロセッサでも、いくつのプロセッサでも使用することができる。むしろ、添付の請求項の趣旨及び範囲内に含まれている様々な修正形態及び等価配置に及ぶように意図されている。
【図１】
2021508863.tif 000004
【図２】
2021508863.tif 000005
【図３】
2021508863.tif 000006
【図４】
2021508863.tif 000007
【図５】
2021508863.tif 000008
【図６】
2021508863.tif 000009
【図７】
2021508863.tif 000010
【図８】
2021508863.tif 000011
【図９】
2021508863.tif 000012
【図１０】
2021508863.tif 000013
【図１１】
2021508863.tif 000014
【図１２】
2021508863.tif 000015
【図１３】
2021508863.tif 000016
【図１４】
2021508863.tif 000017
【図１５】
2021508863.tif 000018
【図１６】
2021508863.tif 000019
【図１７】
2021508863.tif 000020
【図１８】
2021508863.tif 000021
【図１９】
2021508863.tif 000022
【図２０】
2021508863.tif 000023
【図２１】
2021508863.tif 000024
【図２２】
2021508863.tif 000025
【図２３】
2021508863.tif 000026
【図２４】
2021508863.tif 000027
【図２５】
2021508863.tif 000028
【図２６】
2021508863.tif 000029
【図２７】
2021508863.tif 000030
【図２８】
2021508863.tif 000031
【図２９】
2021508863.tif 000032
【図３０】
2021508863.tif 000033
【図３１】
2021508863.tif 000034
【図３２】
2021508863.tif 000035
【図３３】
2021508863.tif 000036
【図３４】
2021508863.tif 000037
【図３５】
2021508863.tif 000038
【図３６】
2021508863.tif 000039
【図３７】
2021508863.tif 000040
【図３８】
2021508863.tif 000041
【図３９】
2021508863.tif 000042
【図４０】
2021508863.tif 000043
【図４１】
2021508863.tif 000044
【図４２】
2021508863.tif 000045
【図４３】
2021508863.tif 000046
【図４４】
2021508863.tif 000047
【図４５】
2021508863.tif 000048
【図４６】
2021508863.tif 000049
【図４７】
2021508863.tif 000050
【図４８】
2021508863.tif 000051
【図４９】
2021508863.tif 000052
【図５０】
2021508863.tif 000053
【図５１】
2021508863.tif 000054
【図５２】
2021508863.tif 000055
【図５３】
2021508863.tif 000056
【図５４】
2021508863.tif 000057
【図５５】
2021508863.tif 000058
【図５６】
2021508863.tif 000059
【図５７】
2021508863.tif 000060
【図５８】
2021508863.tif 000061
【図５９】
2021508863.tif 000062
【図６０】
2021508863.tif 000063
【図６１】
2021508863.tif 000064
【図６２】
2021508863.tif 000065
【図６３】
2021508863.tif 000066
【図６４】
2021508863.tif 000067
【図６５】
2021508863.tif 000068
【図６６】
2021508863.tif 000069
【図６７】
2021508863.tif 000070
【図６８】
2021508863.tif 000071
【手続補正書】
【提出日】令和2年7月10日(2020.7.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
中央処理ユニット複合体と、
グラフィックス処理ユニットと、
埋め込みハードウェア・アクセラレーション複合体と
を特徴とし、前記グラフィックス処理ユニットは、
プログラマブル・ビジョン・アクセラレータと、
ディープ・ラーニング・アクセラレータと、
オン・チップ・メモリと
を含むことを更に特徴とする、自律運転車両のためのシステム・オン・チップ。
【請求項２】
前記グラフィックス処理ユニットは、ＨＢＭメモリ、好ましくはＨＢＭ２メモリを含むことを更に特徴とする、請求項１に記載のシステム・オン・チップ。
【請求項３】
前記グラフィックス処理ユニットは、独立並列整数及び浮動小数点データ・パスを提供する複数のストリーミング・マイクロプロセッサを備えることを更に特徴とする、請求項１又は２に記載のシステム・オン・チップ。
【請求項４】
前記グラフィックス処理ユニットは、独立スレッド・スケジューリング能力を含む複数のストリーミング・マイクロプロセッサを備えることを更に特徴とする、請求項１〜３の何れか一項に記載のシステム・オン・チップ。
【請求項５】
前記グラフィックス処理ユニットは、前記中央処理ユニット複合体及び前記グラフィックス処理ユニットに単一ユニファイド仮想アドレス空間を提供するユニファイド・メモリを含むことを更に特徴とする、請求項１〜４の何れか一項に記載のシステム・オン・チップ。
【請求項６】
メモリ・コントローラを更に特徴とする、請求項１〜５の何れか一項に記載のシステム・オン・チップ。
【請求項７】
ブート及びパワー管理プロセッサが、前記システム・オン・チップのパワー状態遷移を制御するように構成され、前記ブート及びパワー管理プロセッサは、前記システム・オン・チップの熱状態をモニタし、反応して前記システム・オン・チップのパワー状態を管理するように更に構成されていることを更に特徴とする、請求項１〜６の何れか一項に記載のシステム・オン・チップ。
【請求項８】
Ｌ３キャッシュが、前記中央処理ユニット複合体及び前記グラフィックス処理ユニットによって共有されていることを更に特徴とする、請求項１〜７の何れか一項に記載のシステム・オン・チップ。
【請求項９】
複数の温度センサが、前記中央処理ユニット複合体及び／又は前記グラフィックス処理ユニットに結合され、前記複数の温度センサは、前記中央処理ユニット複合体、前記グラフィックス処理ユニット、及び前記アクセラレーション・クラスタのうちの１つ又は複数の温度を検出するように構成されていることを更に特徴とする、請求項１〜８の何れか一項に記載のシステム・オン・チップ。
【請求項１０】
前記複数の温度センサは、それぞれ出力周波数が温度に比例する１つ又は複数のリング・オシレータを特徴とすることを更に特徴とする、請求項９に記載のシステム・オン・チップ。
【請求項１１】
前記中央処理ユニット複合体は、複数のＣＰＵコア若しくはＣＰＵコアのクラスタ、又は複数のＣＰＵコアのクラスタを備えることを更に特徴とする、請求項１〜１０の何れか一項に記載のシステム・オン・チップ。
【請求項１２】
前記複数のＣＰＵコア若しくはＣＰＵコアのクラスタ、又は複数のＣＰＵコアのクラスタにおける各ＣＰＵコアは、オン・チップＬ２キャッシュ・メモリに結合されていることを更に特徴とする、請求項１１に記載のシステム・オン・チップ。
【請求項１３】
前記中央処理ユニット複合体における各クラスタは、前記中央処理ユニット複合体における他のクラスタのステータスとは無関係にアクティブであるように構成されていることを更に特徴とする、請求項１１に記載のシステム・オン・チップ。
【請求項１４】
各クラスタは、前記複数のクラスタのうちの１つ又は複数を用いたヘテロジニアス・マルチ・プロセッシングのために構成されていることを更に特徴とする、請求項１１に記載のシステム・オン・チップ。
【請求項１５】
各クラスタは、前記中央処理ユニット複合体における他のクラスタのステータスとは無関係にアクティブであるように構成されていることを更に特徴とする、請求項１１に記載のシステム・オン・チップ。
【請求項１６】
パワー管理プロセッサが、各ＣＰＵコア又はＣＰＵコアの各クラスタを独立してパワー・ゲーティングすることを更に特徴とする、請求項１〜１５の何れか一項に記載のシステム・オン・チップ。
【請求項１７】
ＳＲＡＭメモリが、前記プログラマブル・ビジョン・アクセラレータ及び前記ディープ・ラーニング・アクセラレータのうちの少なくとも１つに結合されていることを更に特徴とする、請求項１〜１６の何れか一項に記載のシステム・オン・チップ。
【請求項１８】
ビデオ画像合成器プロセッサが、
（ａ）少なくとも１つの魚眼カメラ・センサ又はワイド・ビュー・カメラ・センサからの画像データに対するレンズ収差補正、
（ｂ）少なくとも１つのカメラ・センサからの入力に対する時間的ノイズ低減、又は
（ｃ）複数のカメラから受け取られた画像データに対するステレオ平行化
のうちの少なくとも１つを実行するように構成されていることを更に特徴とする、請求項１〜１７の何れか一項に記載のシステム・オン・チップ。
【請求項１９】
前記プログラマブル・ビジョン・アクセラレータは、
第１のベクトル・プロセッサと、
前記第１のベクトル・プロセッサと関連づけられた第１の命令キャッシュと、
前記第１のベクトル・プロセッサと関連づけられた第１のベクトル・メモリと、
前記第１のベクトル・プロセッサと関連づけられた第１のダイレクト・メモリ・アクセス・エンジンと、
第２のベクトル・プロセッサと、
前記第２のベクトル・プロセッサと関連づけられた第２の命令キャッシュと、
前記第２のベクトル・プロセッサと関連づけられた第２のベクトル・メモリと、
前記第２のベクトル・プロセッサと関連づけられた第２のダイレクト・メモリ・アクセス・エンジンと
を備えることを更に特徴とする、請求項１〜１８の何れか一項に記載のシステム・オン・チップ。
【請求項２０】
前記プログラマブル・ビジョン・アクセラレータは、
コンピュータ・ビジョンのために最適化されたデジタル信号プロセッサと、
前記デジタル信号プロセッサと関連づけられたメモリと、
前記デジタル信号プロセッサと関連づけられた命令キャッシュと
を備えることを更に特徴とする、請求項１〜１９の何れか一項に記載のシステム・オン・チップ。
【国際調査報告】
2021508863.tif 000072
2021508863.tif 000073
2021508863.tif 000074
2021508863.tif 000075
2021508863.tif 000076