(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024137839
(43)【公開日】2024-10-07
(54)【発明の名称】自律車両におけるセンサ集約
(51)【国際特許分類】
H04L 12/66 20060101AFI20240927BHJP
H04L 12/22 20060101ALI20240927BHJP
【FI】
H04L12/66
H04L12/22
【審査請求】有
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024042976
(22)【出願日】2024-03-19
(31)【優先権主張番号】18/124,328
(32)【優先日】2023-03-21
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】523360544
【氏名又は名称】エンバーク トラックス インコーポレーテッド
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100229448
【弁理士】
【氏名又は名称】中槇 利明
(72)【発明者】
【氏名】クワベナ アジェマン
(72)【発明者】
【氏名】イゴール プリルポフ
【テーマコード(参考)】
5K030
【Fターム(参考)】
5K030GA15
5K030HD03
5K030JA10
5K030JA11
5K030KA02
(57)【要約】
【課題】自律車両におけるセンサ集約に関する技術を提供する。
【解決手段】コンピュータシステムが、セーフティゲートウェイを介して自律車両を動作させるためのシステム及び方法であって、セーフティゲートウェイは、異なる通信プロトコルを介して多様なセンサからの入力データストリームを集約し、トルク、ブレーキ、ステアリング、及び任意の他の車両固有指令を発行するための抽象化メカニズムを提供する。
【選択図】
図4
【特許請求の範囲】
【請求項1】
自律車両の動作を制御及び監視するように構成されたコンピュータシステムであって、少なくとも第1のコンフィグレーションファイルを記憶するメモリを含むコンピュータシステムと、
少なくとも第2のコンフィグレーションファイルを記憶するメモリと、プロセッサと、を含むセーフティゲートウェイと、を含み、前記プロセッサは、
前記少なくとも第2のコンフィグレーションファイルのステータスを判定することと、
前記ステータスに基づいて、前記コンピュータシステムからのコンフィグレーションコンテンツを要求することと、
前記少なくとも第2のコンフィグレーションファイルが、前記少なくとも第1のコンフィグレーションファイルと実質的に同一のコンフィグレーションコンテンツを有するように、前記少なくとも第2のコンフィグレーションファイルを前記コンフィグレーションコンテンツで更新することであって、前記コンフィグレーションコンテンツが、前記自律車両に設置された複数のセンサからセンサデータを受信し、かつネットワークインターフェースを介して前記コンピュータシステムに標準化フォーマットで前記センサデータを伝送するように、前記セーフティゲートウェイを構成するための1つ以上のデータ構造を定義する、ことと、を行うように構成されている、システム。
【請求項2】
前記コンフィグレーションコンテンツは、
前記複数のセンサの各々に対する、センサ名と、データポートと、ペイロードフォーマットと、データ場所と、を含む、請求項1に記載のシステム。
【請求項3】
前記セーフティゲートウェイは、前記コンフィグレーションコンテンツからの情報を使用して前記複数のセンサの各々からのメッセージを処理して、前記ネットワークインターフェースを介して前記コンピュータシステムへの伝送のために前記メッセージを前記標準化フォーマットに標準化する、請求項2に記載のシステム。
【請求項4】
前記ネットワークインターフェースは、イーサネットプロトコルのネットワークインターフェースであり、前記セーフティゲートウェイによって受信される前記センサデータは、シリアルインターフェースを介して少なくとも1つのセンサから受信されたセンサデータを含む、請求項1に記載のシステム。
【請求項5】
前記シリアルインターフェースを介して前記少なくとも1つのセンサから受信された前記センサデータは、前記セーフティゲートウェイによって、前記コンフィグレーションコンテンツからの情報に基づいて、前記イーサネットプロトコルと互換性のあるメッセージフォーマットに変換される、請求項4に記載のシステム。
【請求項6】
前記少なくとも第2のコンフィグレーションファイルの前記ステータスは、(i)前記少なくとも第2のコンフィグレーションファイルがプロビジョニングされていないステータス、及び(ii)前記少なくとも第2のコンフィグレーションファイルが保存されているステータスのうちの1つである、請求項1に記載のシステム。
【請求項7】
前記プロセッサは、前記自律車両が新しい経路を開始していることを判定するようにさらに構成されている、請求項1に記載のシステム。
【請求項8】
少なくとも第2のセーフティゲートウェイをさらに含み、前記少なくとも第2のセーフティゲートウェイは、少なくとも第3のコンフィグレーションファイルを記憶するメモリと、プロセッサと、を含み、前記プロセッサは、
前記少なくとも第3のコンフィグレーションファイルのステータスを判定することと、
前記ステータスに基づいて、前記コンピュータシステムからのコンフィグレーションコンテンツを要求することと、
前記少なくとも第3のコンフィグレーションファイルが、前記少なくとも第1のコンフィグレーションファイル及び前記少なくとも第2のコンフィグレーションファイルと実質的に同一のコンフィグレーションコンテンツを有するように、前記少なくとも第3のコンフィグレーションファイルを前記コンフィグレーションコンテンツで更新することであって、前記コンフィグレーションコンテンツが、前記自律車両に設置された前記複数のセンサからセンサデータを受信し、かつ前記ネットワークインターフェースを介して前記コンピュータシステムに標準化フォーマットで前記センサデータを伝送するように、前記少なくとも第2のセーフティゲートウェイを構成するための1つ以上のデータ構造を定義する、ことと、を行うように構成されている、請求項1に記載のシステム。
【請求項9】
前記セーフティゲートウェイ及び前記少なくとも第2のセーフティゲートウェイは、実質的に同じセンサデータを受信する、請求項8に記載のシステム。
【請求項10】
自律車両に設置されたセーフティゲートウェイのメモリに記憶されたコンフィグレーションファイルのステータスを判定することと、
前記ステータスに基づいて、前記自律車両に設置されたコンピュータシステムのメモリに記憶された第2のコンフィグレーションファイルと実質的に同じになるように、前記コンフィグレーションファイルを記憶又は更新することであって、前記コンフィグレーションファイルは、センサデータを受信するようにセーフティゲートウェイを構成するための複数のデータ構造を定義し、前記コンフィグレーションファイルは、自律車両に設置された複数のセンサの各々に対する、センサ名、データポート、ペイロードフォーマット、及びデータ場所を定義する、ことと、
センサデータを受信することと、
前記コンフィグレーションファイルに基づいて、前記セーフティゲートウェイから前記コンピュータシステムへの伝送のためにセンサデータを再フォーマットすることと、を含む、方法。
【請求項11】
前記自律車両に設置された第2のセーフティゲートウェイのメモリに記憶された第3のコンフィグレーションファイルのステータスを判定することと、
前記ステータスに基づいて、前記第3のコンフィグレーションファイルが、前記コンフィグレーションファイル及び前記第2のコンフィグレーションファイルと実質的に同じになるように、前記第3のコンフィグレーションファイルを前記第2のセーフティゲートウェイのメモリに記憶するか、又は前記第2のセーフティゲートウェイのメモリにおける前記第3のコンフィグレーションファイルを更新することと、をさらに含む、請求項10に記載の方法。
【請求項12】
前記セーフティゲートウェイ及び前記第2のセーフティゲートウェイは、実質的に同じセンサデータを受信する、請求項11に記載の方法。
【請求項13】
前記コンフィグレーションファイルは、前記複数のセンサの各々に対する、センサ名、データポート、ペイロードフォーマット、及びデータ場所と、を含む、請求項10に記載の方法。
【請求項14】
前記セーフティゲートウェイは、前記コンフィグレーションファイルからの情報を使用して前記複数のセンサの各々からのメッセージを処理して、ネットワークインターフェースを介して前記コンピュータシステムへの伝送のために前記メッセージを標準フォーマットに標準化する、請求項13に記載の方法。
【請求項15】
前記センサデータは、イーサネットプロトコルのネットワークインターフェースを介して前記セーフティゲートウェイから前記コンピュータシステムに伝送され、前記セーフティゲートウェイによって受信される前記センサデータは、シリアルインターフェースを介して少なくとも1つのセンサから受信されたセンサデータを含む、請求項10に記載の方法。
【請求項16】
前記シリアルインターフェースを介して前記少なくとも1つのセンサから受信された前記センサデータは、前記セーフティゲートウェイによって、前記コンフィグレーションファイルからの情報に基づいて、前記イーサネットプロトコルと互換性のあるメッセージフォーマットに変換される、請求項15に記載の方法。
【請求項17】
前記コンフィグレーションファイルの前記ステータスは、(i)前記コンフィグレーションファイルがプロビジョニングされていないステータス、及び(ii)前記コンフィグレーションファイルが保存されているステータスのうちの1つである、請求項10に記載の方法。
【請求項18】
前記コンピュータシステムを動作させて、車両指令を生成することと、
前記車両指令をメッセージにおいて前記セーフティゲートウェイに伝送することであって、前記メッセージのフォーマットは、前記コンフィグレーションファイルによって定義されている、ことと、をさらに含む、請求項10に記載の方法。
【請求項19】
前記セーフティゲートウェイを動作させて、前記メッセージを第2のメッセージに変換することであって、前記第2のメッセージのフォーマットは、前記コンフィグレーションファイルによって定義されている、ことと、
前記第2のメッセージを車両システムに伝送して、前記車両システムに、その動作を修正させることと、をさらに含む、請求項18に記載の方法。
【請求項20】
前記メッセージの前記フォーマットは、イーサネット伝送プロトコルと互換性のあるものであり、前記第2のメッセージの前記フォーマットは、CANバスプロトコルと互換性のあるものである、請求項19に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
自律車両(例えば、自動運転トラック)は、車両の位置、速度、動作特性、自動運転車両の特定の周囲の指標、及び車両の状態に関連する様々なパラメータ値を示すセンサデータを生成するように一緒に機能し得るセンサ、デバイス、及びシステムを含む。これらのセンサ及び他のデバイスは、カメラ、車両診断デバイス、ライダー、温度及び圧力センサなどを含むことができる。これらのセンサ又はデバイスの多くは、異なるデータフォーマット及び伝送プロトコルを使用する。自律車両は、このデータを収集、記憶、及び処理する1つ以上の中央コンピュータを有してもよい。
【背景技術】
【0002】
残念ながら、これらのセンサ又はデバイスの多くは、コントローラエリアネットワーク(「CAN」)バス、異なるイーサネットプロトコル(RJ-45、光ファイバ、同軸などの異なるコネクタタイプを含む)、シリアル通信(RS-232など)などを含め、異なるプロトコルを介してデータを通信する。これは、ケーブル、ワイヤ、コネクタ、及び他のアダプタのアソートメントを管理することが困難になることをもたらす可能性がある。これらの接続は、自動運転環境では振動や故障の影響を受けやすい。さらに、それらは、管理及び維持が困難である。このタイプの接続アプローチはまた、配線及び接続の問題が複数のコンピューティングシステムで悪化するので、冗長なコンピューティングシステムを実装することを困難にする。
【0003】
そのため、自律車両内のセンサ及び他のデバイスを集約するシステム及び方法が必要である。
【図面の簡単な説明】
【0004】
例示の実施形態の特徴及び利点、並びにそれが達成される方式は、添付の図面と併せて解釈される以下の詳細な説明を参照することによって、より容易に明らかになるであろう。
【0005】
【
図1】いくつかの実施形態による、自律車両に配備され得る制御システムの例示的なブロック図である。
【0006】
【
図2】いくつかの実施形態による、制御システムの例示的なブロック図である。
【0007】
【
図3】いくつかの実施形態による、ゲートウェイとコンピューティングシステムとの間の通信の例示的な描写である。
【0008】
【
図4】いくつかの実施形態による、ゲートウェイとコンピューティングシステムとの間のコンフィグレーションパーソナライズ化フローの例示的な描写である。
【0009】
【
図5A】いくつかの実施形態による、冗長制御システムの例示的なブロック図である。
【
図5B】いくつかの実施形態による、冗長制御システムの例示的なブロック図である。
【0010】
【
図6】いくつかの実施形態による、ゲートウェイのネットワークアーキテクチャの例示的なブロック図である。
【0011】
【
図7A】いくつかの実施形態による、自律車両の例示的なビューである。
【
図7B】いくつかの実施形態による、自律車両の例示的なビューである。
【
図7C】いくつかの実施形態による、自律車両の例示的なビューである。
【0012】
図面及び詳細な説明を通じて、特に説明がない限り、同じ図面参照番号は、同じ要素、特徴、及び構造を指すものと理解されよう。これらの要素の相対的な大きさ及び描写は、明瞭さ、例解、及び/又は便宜のために誇張されるか、又は調整され得る。
【発明を実施するための形態】
【0013】
以下の説明では、様々な例示の実施形態の完全な理解を提供するために、具体的な詳細が説明される。実施形態に対する様々な修正は、当業者には容易に明らかであり、本明細書で定義される1つ以上の原理は、本開示の精神及び範囲から逸脱することなく、他の実施形態及び用途に適用され得ると理解されたい。さらに、以下の説明では、説明を目的として多くの詳細が説明される。しかし、当業者は、これらの具体的な詳細を使用せずに実施形態が実施され得ると理解すべきである。他の事例では、不要な詳細で説明を不明瞭にしないように、周知の構造、方法、手順、コンポーネント及び回路は示されないか、又は説明されない。したがって、本開示は、示された実施形態に限定されることを意図しないが、本明細書に開示された原理及び特徴と一致する最も広い範囲が与えられるべきである。
【0014】
便宜上かつ提示の分かりやすさのために、多くの用語が本明細書で使用される。例えば、「セミトラック」という用語は、例示の実施形態のシステムが使用され得る車両を指すために使用される。「セミトラック」、「トラック」、「トラクター」、「車両」、及び「セミ」という用語は、本明細書では交換可能に使用されてもよい。しかし、本発明の範囲は、セミトラック内での使用に限定されないことが理解される。
【0015】
本発明のセンサ集約システム及び方法の説明に先立ち、まず、限定されるものではないが、例えば、セミトラック(
図7A~
図7Cに示されるセミトラック700など)などの自律又は半自律車両に配備され得る制御システム100の態様を例解する
図1を参照する。制御システム100は、自律又は半自律車両(以下、このような車両は、便宜上、一般に「自律」車両と称される)上のコンピュータシステム140と通信し得るタイプのセンサ及び他のデバイスを導入し、例解するように説明される。
【0016】
制御システム100は、例えば、ゲートウェイ180を介して車両のコンポーネントを制御する制御動作を含む動作を実行するために、コンピュータシステム140に提供されるデータ及び情報を収集するセンサ110を含んでもよい。いくつかの実施形態によれば、ゲートウェイ180は、コンピュータシステム140が異なる製造業者からの車両コンポーネントを制御することを可能にするように構成されている。コンピュータシステム140は、本明細書において他の箇所で説明されるような本発明の実施形態の特徴を実装する処理を含む処理を実行すると共に、制御システム100が配備される車両のシステムに関連付けられた1つ以上のアクチュエータ又は他のコントローラ(例えば、スロットル184、ステアリングシステム186、ブレーキ188及び/又は他のデバイス及びシステムの制御を可能にするアクチュエータ又はコントローラ)を制御するための制御信号を生成する際に使用するためにセンサ110からセンサデータを受信するために、1つ以上の中央処理ユニット(CPU)142を備えて構成されてもよい。一般に、制御システム100は、自律(又は半自律)動作モードで車両(例えば、セミトラック700)を動作させるように構成されてもよい。
【0017】
例えば、制御システム100は、セミトラック700の様々な場所に装着された1つ以上のカメラ112から画像を捕捉し、これらの捕捉された画像に処理(例えば、画像処理)を実行して、セミトラック700の経路に近接する又はその経路内の物体を識別するように動作されてもよい。いくつかの態様では、1つ以上のライダー114及びレーダー116センサが車両上に配置されて、セミトラック700の経路に近接する又はその経路内の物体の存在及び体積を感知又は検出してもよい。他のセンサも、位置データなどの他の情報を捕捉するために、セミトラック700の様々な場所に配置又は装着されてもよい。例えば、センサは、1つ以上の衛星測位センサ、及び/又はGNSS/IMU 118のような慣性航法システムを含んでもよい。全地球航法衛星システム(GNSS)は、GNSS受信機と呼ばれるデバイスに、地球上又は地球近傍のあらゆる気象条件における場所情報(経度、緯度、高度)及び時間情報を提供する衛星の宇宙ベースのシステムである。GPSは、世界で最も使用されているGNSSシステムであり、本明細書においてGNSSと交換可能に使用されてもよい。慣性計測ユニット(「IMU」)は、慣性航法システムである。一般に、慣性航法システム(「INS」)は、移動物体の方位、位置、速度、及び加速度を測定し、統合する。INSは測定データを統合し、GNSSは、INS方位計算の統合誤差に対する補正として使用される。本発明の特徴と併せて、任意の数の異なるタイプのGNSS/IMU118センサが使用されてもよい。
【0018】
センサ110の各々によって収集されたデータは、コンピュータシステム140によって処理されて、セミトラック700の動作を制御するために使用され得る制御信号を生成してもよい。例えば、画像及び場所情報が処理されて、セミトラック700の経路の周り又はその経路内の物体を識別又は検出してもよく、自律又は半自律方式でセミトラック700を安全に運転するために、制御信号が、必要に応じて、コントローラ182を介してエンジン184、ステアリング186、及び/又はブレーキ188を調整するために伝送されてもよい。
図1には、例示的なセンサ、アクチュエータ、及び他の車両システム及びデバイスが示されているが、当業者は、本開示を読んだ後、他のセンサ、アクチュエータ、及びシステムも本開示に合致するシステム100に含まれてもよいことを理解するであろう。例えば、いくつかの実施形態では、車両(例えば、セミトラック700)のトランスミッションの制御を可能にするメカニズムを提供するアクチュエータも提供されてもよい。
【0019】
制御システム100は、1つ以上のソフトウェア、ファームウェア、及び制御アプリケーション(例えば、アイテム160~182)が実行されて、本明細書に説明される処理の少なくともいくつかを実行し得るコンピューティング環境を提供するように構成されるコンピュータシステム140(例えば、コンピュータサーバ)を含んでもよい。いくつかの実施形態では、コンピュータシステム140は、車両に配備される(例えば、
図7Cに示すように、セミトラックのスリーパ室712内に配置されたシステムラック740に配備される)コンポーネントを含む。コンピュータシステム140は、セミトラック700に対してローカルである、及び/又はセミトラックからリモートであり得る他のコンピュータシステム(図示せず)と通信してもよい(例えば、コンピュータシステム140は、無線通信ネットワーク接続を介して、1つ以上のリモート地上又はクラウドベースのコンピュータシステムと通信する可能性がある)。
【0020】
本明細書に説明される様々な実施形態によれば、コンピュータシステム140は、サーバとして実装されてもよい。いくつかの実施形態では、コンピュータシステム140は、パーソナルコンピュータシステム、クラウドプラットフォーム、サーバコンピュータシステム、シンクライアント、シッククライアント、ハンドヘルド又はラップトップデバイス、タブレット、スマートフォン、データベース、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラマブル消費者電子機器、ネットワークPC、ミニコンピュータシステム、メインフレームコンピュータシステム、分散クラウドコンピューティング環境などであるが、これらに限定されない多数のコンピューティングシステム、環境、及び/又はコンフィグレーションのいずれかを使用して構成されてもよく、これらは、上記のシステム又はデバイスなどのいずれかを含んでもよい。
【0021】
コンピュータシステム140及び制御システム100によって、異なるソフトウェアアプリケーション又はコンポーネントが実行される可能性がある。例えば、アクティブ学習ポーネント160に示すように、1つ以上のカメラ112によって捕捉された画像及びライダー114によって取得された情報を処理するためにアクティブ学習機械処理を実行するアプリケーションが提供されてもよい。例えば、画像データは、捕捉された画像内の関心のある物体(例えば、他の車両、建設標識など)を識別する深層学習セグメンテーションモデル162を使用して処理されてもよい。本明細書のいくつかの態様において、深層学習セグメンテーションが、ライダースキャン内の車線ポイントを識別するために使用されてもよい。一例として、システムは、強度ベースのボクセルフィルタを使用して、ライダースキャン内の車線ポイントを識別してもよい。ライダーデータは、ライダーセンサによって位置が特定された関心のある物体を識別するために、画像データ上にバウンディングボックスを描画又は識別する機械学習アプリケーション164によって処理されてもよい。
【0022】
機械学習アプリケーションから出力された情報は、オブジェクト融合168及びビジョンマップ融合170ソフトウェアコンポーネントへの入力として提供されてもよく、これは、他の道路利用者の行動を予測し、リアルタイムでローカルな車両のポーズをグローバルマップジオメトリと融合させ、オンザフライのマップ補正を可能にする処理を実行してもよい。機械学習アプリケーションからの出力は、レーダー116からの情報及び地図位置特定166アプリケーションデータ(並びに測位データ)で捕捉されてもよい。いくつかの態様では、これらのアプリケーションは、制御システム100が地図への依存度を減らし、絶えず変化する道路環境をより処理することができることを可能にする。さらに、任意のマップ誤差をオンザフライで補正することによって、制御システム100は、代替的なマップ中心アプローチと比較して、より安全で、よりスケーラブルで、より効率的な動作を促進してもよい。
【0023】
情報は、軌道計画174のコンポーネントに入力を提供する予測計画アプリケーション172に提供され、セミトラック700とトラック動作環境内の他の関連する車両との間の相互作用及び予測された相互作用に基づいて、軌道生成システム176によって軌道をリアルタイムで生成することを可能にする。いくつかの実施形態では、例えば、制御システム100は、60秒の計画期間を生成し、関連するアクター及び利用可能な軌道を分析する。複数の基準(安全性、快適性、及び経路の好みを含む)に最も適合する計画が選択されてもよく、計画を実装するために必要な任意の関連する制御入力が、セミトラック700の移動を制御するためにコントローラ182に提供される。
【0024】
いくつかの実施形態では、これらの開示されたアプリケーション又はコンポーネント(並びに本明細書に説明される他のコンポーネント又はフロー)は、特に指定されない限り、ハードウェア、プロセッサによって実行されるコンピュータプログラム、ファームウェア、又は上記の組み合わせで実装されてもよい。いくつかの事例では、コンピュータプログラムは、記憶媒体又は記憶デバイスなどのコンピュータ可読媒体上で具現化されてもよい。例えば、コンピュータプログラム、コード、又は命令は、ランダムアクセスメモリ(RAM)、フラッシュメモリ、リードオンリーメモリ(ROM)、消去可能なプログラマブルリードオンリーメモリ(EPROM)、電気的消去可能なプログラマブルリードオンリーメモリ(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、コンパクトディスクリードオンリーメモリ(CD-ROM)、又は当技術分野で知られている他の任意の形態の非一時的な記憶媒体に存在してもよい。
【0025】
非一時的な記憶媒体は、プロセッサが記憶媒体から情報を読み出し、記憶媒体に情報を書き込んでもよいように、プロセッサに結合されてもよい。代替的に、記憶媒体は、プロセッサに統合されてもよい。プロセッサ及び記憶媒体は、特定用途向け集積回路(ASIC)に存在してもよい。代替的な実施形態では、プロセッサ及び記憶媒体は、別個のコンポーネントとして存在してもよい。例えば、
図1は、以下に開示されるコンポーネントのいずれかを表すか、又はそれに一体化され得る例示のコンピュータシステム140を例示する。そのため、
図1は、本明細書に開示されたシステム及び方法の実施形態の使用範囲又は機能性に関するいかなる制限も示唆することを意図しない。コンピュータシステム140は、本明細書に開示された機能性のいずれかを実装されること及び/又は実行することができる。
【0026】
コンピュータシステム140は、コンピュータシステムによって実行されるプログラムモジュールなどのコンピュータシステム実行可能な命令の一般のコンテキストにおいて説明されてもよい。一般に、プログラムモジュールは、特定のタスクを実行するか、又は特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含み得る。コンピュータシステム140は、タスクが通信ネットワークを介してリンクされたリモート処理デバイスによって実行される分散クラウドコンピューティング環境で実装されてもよい。分散クラウドコンピューティング環境では、プログラムモジュールは、非一時的メモリ記憶デバイスを含むローカル及びリモートの両方のコンピュータシステム記憶媒体に位置してもよい。
【0027】
図1を参照すると、コンピュータシステム140は、汎用コンピューティングデバイスの形態で示されている。コンピュータシステム140のコンポーネントは、1つ以上のプロセッサ(例えば、CPU142及びGPU144)、通信インターフェース146、1つ以上の入出力インターフェース148、及び1つ以上の記憶デバイス150を含んでもよいが、これらに限定されない。図示されていないが、コンピュータシステム140は、システムメモリを含む様々なシステムコンポーネントをCPU142に結合するシステムバスも含んでもよい。いくつかの実施形態では、入出力(I/O)インターフェース148は、ネットワークインターフェースも含んでもよい。例えば、いくつかの実施形態では、制御システム100のコンポーネントの一部又は全部は、制御システム100が配備され、関連付けられている車両内部の様々なコンポーネントを相互接続するコントローラエリアネットワーク(CAN)バスなどを介して通信してもよい。
【0028】
いくつかの実施形態では、記憶デバイス150は、様々なタイプ及び形態の非一時的なコンピュータ可読媒体を含んでもよい。このような媒体は、コンピュータシステム/サーバによってアクセス可能な任意の利用可能な媒体であり得、揮発性媒体と不揮発性媒体の両方、リムーバブル媒体と非リムーバブル媒体を含み得る。システムメモリは、一実施形態では、本明細書における他の図のフロー図によって表されるプロセスを実装する。システムメモリは、ランダムアクセスメモリ(RAM)及び/又はキャッシュメモリなどの揮発性メモリの形態のコンピュータシステム可読媒体を含むことができる。別の例として、記憶デバイス150は、取り外し不可能な不揮発性磁気媒体(図示せず、典型的には「ハードドライブ」又は「ソリッドステートドライブ」と呼ばれる)に対して読み書きすることができる。図示されていないが、記憶デバイス150は、磁気、テープ、又は光ディスクドライブなどの1つ以上の取り外し可能な不揮発性ディスクドライブを含んでもよい。このような事例では、各々は、1つ以上のデータ媒体インターフェースによってバスに接続され得る。記憶デバイス150は、アプリケーションの様々な実施形態の機能を実行するように構成されているプログラムモジュール、コード、及び/又は命令のセット(例えば、少なくとも1つ)を有する少なくとも1つのプログラム製品を含んでもよい。
【0029】
上述したように、配線及び接続は、
図1のセンサ及び他のデバイスが、多様な異なる配線タイプ及び通信プロトコルを含むコンピュータシステム140とデータを交換することを可能にする。例えば、車両システムのいくつか(スロットル184、ステアリング186、ブレーキ188など)は、CANバスを使用して通信してもよいが、センサ112~118などの他のデバイスは、他のプロトコル又は通信方法(RS232/485、異なるイーサネットコネクタタイプなど)を介して通信してもよい。その結果、ケーブル、ワイヤ、及び接続のアソートメントを管理することが複雑で困難になる可能性がある。さらに、接続タイプのいくつかは、走行車両が経験する振動又は困難な条件(特にセミトラックが遭遇するもの)に耐性のないタイプを含んでもよい。その結果、配線及び接続は、接続及び維持が困難であり、任意のコンピュータシステム冗長性を実現することが困難になる。さらに問題を複雑にすることに、異なる車両は、異なるコンフィグレーションのセンサ又は車両システムを有することがある。
【0030】
ここで、
図2を参照すると、これらの問題及び他の問題を改善する制御システム200が示されている。図示されるように、制御システム200は、
図1のコンピュータシステム140と同様のコンピュータシステム140を含む。
図2に示す実施形態では、様々なセンサ(GPS、ライダー、レーダー、IMU、カメラなどを含む)とコンピュータシステム140との間、及び他のデバイス(スロットル、ブレーキ、ステアリングなどのトラックシステムなど)との間の通信ゲートウェイとして機能するセーフティゲートウェイ280が提供される。セーフティゲートウェイ280は、単一の接続、例えば、イーサネット上りリンク接続を使用してコンピュータシステム140と通信してもよい。コンピュータシステム140とのこの単一の接続は、本明細書でさらに説明するように、多くの利点を提供する。いくつかの実施形態では単一の接続が使用されるが、セーフティゲートウェイ280とコンピュータシステム140との間の1つ以上の追加の接続も(例えば、冗長性などのために)使用されてもよい。
【0031】
図2に示される実施形態では、セーフティゲートウェイ280は、1つ以上のセンサ110からデータを受信し、車両システム184~188とデータを送受信するように構成されている。例えば、セーフティゲートウェイ280は、センサ110から入力データを受信し(メッセージ経路(1))、そのデータをコンピュータシステム140に提供し(メッセージ経路(2))、コンピュータシステム140から指令を受信し(メッセージ経路(3))、車両システム184~188から車両状態更新を受信し(メッセージ経路(4))、車両システム指令を伝送する(メッセージ経路(5))。いくつかの実施形態では、センサ110(
図2には示されていない)にセンサ指令を発行するために、さらなるメッセージ経路が提供されてもよい。ゲートウェイ280は、様々なセンサ110及び車両システム184~188と接続するために、複数のコネクタポート(
図2には示されていない)を備えて構成されている。ゲートウェイ280のポートの異なるコンフィグレーションは、
図5及び
図6の説明と併せて以下にさらに説明される。
【0032】
いくつかの実施形態によれば、セーフティゲートウェイ280は、ネットワークプロセッサ並びに1つ以上のネットワークコネクタを使用して実装される。いくつかの実施形態によれば、セーフティゲートウェイ280は、2.5Gイーサネット接続(コンピュータシステム140への接続のため)、車両CANバスに接続するためのポート(車両システム184~188との通信のため)、RS232コネクタ、1つ以上のGPSコネクタ(汎用非同期受信機/送信機(「UART」)シリアル通信を使用)、及び他のイーサネットポート(例えば、ライダーセンサデータ、カメラデータ、及び他のセンサデータを受信するため)を備えて構成されている。
【0033】
異なる車両は、異なるセンサ及び車両システムを備えて構成され得るので、セーフティゲートウェイ280の動作は、特定の車両及び特定のコンピュータシステム140(並びに、例えば、コンピュータシステム140によって動作されるソフトウェアの特定のコンフィグレーション)に対して、各通信チャネルの人間が読むことができる目的(例えば、「左中距離ライダー」、「ブレーキユニットCANバス」など)、トランスポートパラメータ(例えば、UDPポート、優先度など)、各チャネルのデータフォーマット(例えば、「CANフレーム」、「IMUパケット」など)、及びゲートウェイ側で使用される各チャネルの物理的インターフェース詳細(例えば、Linux(登録商標)デバイス、ボーレートなど)などのパラメータを定義するコンフィグレーションファイルで構成されている。
【0034】
いくつかの実施形態によれば、セーフティゲートウェイ280は、特定の車両のコンフィグレーションから様々な入力及び出力を抽象化し、異なるセンサ及びシステムコンフィグレーションを有する異なる車両でセーフティゲートウェイ280の標準コンフィグレーションを使用することを可能にする。各セーフティゲートウェイ280のコンフィグレーションファイルは、マスタ及びスレーブコンピュータのIPアドレス及びポート、並びにセーフティゲートウェイ280とコンピュータシステム140との間の任意の数の論理チャネルを定義する。論理チャネルの各々は、単方向である(例えば、
図2に描写されるチャネル(1)~(5)の各々は、単方向である)。本発明の特徴を用いて実装され得る論理チャネルの例示的な例が
図3に示されており、複数のチャネルがセーフティゲートウェイ280とコンピュータシステム140との間に示されている。チャネルは、センサ及び車両システム(例えば、「左中距離ライダー」、「左短距離ライダー」、「ブレーキユニット更新」、「エンジン更新」など)に関連付けられたデータを転送するための入力チャネル(コンピュータシステム140への入力)を含んでもよい。チャネルはまた、セーフティゲートウェイ280によって関連する車両システム又はデバイスに送達される指令又は他のデータ(例えば、「ブレーキユニット指令」、「スロットル指令」、「ステアリング指令」など)を転送するための出力チャネル(セーフティゲートウェイ280によってルーティングするためのコンピュータシステム140からの出力)を含んでもよい。チャネルは、特定の車両で使用するためのセーフティゲートウェイ280のコンフィグレーションに関連付けられた1つ以上のチャネルを含んでもよい。
【0035】
実施形態は、セーフティゲートウェイ280の標準的なハードウェアコンフィグレーションが異なる車両環境で使用されることを可能にする。いくつかの実施形態によれば、これは、セーフティゲートウェイ280が車両内で使用されるときにプロビジョニングされる1つ以上のコンフィグレーションファイルの使用を通じて部分的に達成される。いくつかの実施形態によれば、各コンフィグレーションファイルは、
図4に示されるプロビジョニングプロセス400などのプロセスを使用してプロビジョニングされる。このプロビジョニングプロセス400は、車両が運転されるたびに実行され、コンピュータシステム140のコンフィグレーション若しくはソフトウェア、又はセーフティゲートウェイ280のコンフィグレーション若しくはソフトウェアに変更が加えられた場合でも、セーフティゲートウェイ280が適切に構成されることを保証する。例えば、実施形態は、セーフティゲートウェイ280が、コンピュータシステム140のソフトウェア上で動くものとは異なるソフトウェア構築プロセス及びチームがセーフティゲートウェイ280のソフトウェア上で動く状況においても、特定の車両での動作のために適切に構成されることを保証する。各チャネルが特定のデータタイプに関連付けられ、それによって自動テストデータの生成を可能にするので、実施形態は、単純化され、かつより反復可能な様式でのセーフティゲートウェイ280のコンフィグレーションの正式な検証を可能にする。
【0036】
図4に示すように、プロビジョニングプロセス400は、セーフティゲートウェイ280を動作させて、セーフティゲートウェイ280がプロビジョニングされていないかどうか(例えば、セーフティゲートウェイ280が新たに設置されるなど)、又はコンフィグレーションファイルが存在するかどうか(ゲートウェイが車両に対して以前にプロビジョニングされた場合のような「保存された」プロビジョニング)を判定することを含む。コンピュータ140とセーフティゲートウェイ280の両方が同一のコンフィグレーションを有することが重要であるため、セーフティゲートウェイ280が以前にプロビジョニングされた状況においても(例えば、コンフィグレーションファイルが最後にプロビジョニングされてからコンピュータ140又は車両の他の態様が変更された状況を回避するために)、プロビジョニングプロセス400が実行される。例えば、車両が走行中に単に一時停止した場合、プロビジョニングは必要とされないことがある。
【0037】
セーフティゲートウェイ280がプロビジョニングされていないか、又はコンフィグレーションが保存されているという判定である場合、プロセスは、セーフティゲートウェイ280の動作を続けて、コンピュータシステム140からコンフィグレーションコンテンツを要求する。コンピュータシステム140は、車両モデル及びコンフィグレーションファイルのリスト(並びにいくつかの実施形態では、各ファイルの現在のバージョンを識別するバージョン情報)などの情報を含むコンフィグレーションスナップショットを返すことによって、コンフィグレーションコンテンツに関するそのような要求に応答するように構成されている。いくつかの実施形態では、セーフティゲートウェイ280は、リスト内の各コンフィグレーションファイルを反復的に要求してもよい。他の実施形態では、コンフィグレーションファイルは、バッチで提供されてもよい。
図4に描写された実施形態では、セーフティゲートウェイ280は、コンフィグレーションファイルのリストを反復的にループし、各コンフィグレーションファイルを要求することによって、コンピュータシステム140によって提供されたリストに応答する。いくつかの実施形態では、全てのコンフィグレーションファイルが同期を必要としなくてもよく、例えば、いくつかの実施形態では、セーフティゲートウェイ280は、コンフィグレーションファイルの正しいバージョンを既に有していることがあり、その場合に、そのファイルは要求される必要はない。
【0038】
いくつかの実施形態では、コンフィグレーションファイルは、リモートサーバによって提供されてもよい。例えば、コンピュータシステム140は、ネットワーク接続190を介してサーバからの1つ以上のコンフィグレーションファイルを要求してもよい。次いで、コンフィグレーションファイルコンテンツは、コンピュータシステム140に記憶され、セーフティゲートウェイ280に提供され、そのため、コンピュータシステム140とセーフティゲートウェイ280の両方が同一のコンフィグレーションの詳細を共有する。
【0039】
いくつかの実施形態では、コンフィグレーションファイルは、チャネルのリスト及びそれらのコンフィグレーションを含み、人間が読むことができるテキストファイルに記憶される。例えば、いくつかの実施形態では、ファイルは、プロトコルバッファ(「protobuf」とも称され、これは、構造化データをシリアライズするために使用され、かつGoogle(登録商標)によって開発されたオープンソースのクロスプラットフォームデータフォーマットである)を使用して実装される。他のフォーマット(例えば、ROSメッセージ、フラットバッファ、XMLなど)が同様に使用されてもよい。protobufを使用する実施形態では、proto定義ファイル(例えば、「.proto」)は、車両に関連付けられた各センサのコンフィグレーションを実装するためのデータ構造、メッセージ、及びサービスを説明してもよい。いくつかの事例では、他のデータフォーマットを使用して、本明細書におけるコンフィグレーションファイルのデータを正式に定義してもよい。いくつかの実施形態では、各チャネルは、1つのノード又はデバイスの入力として、及び通信の別の側(例えば、
図3に示されるような)の出力として見ることができる。いくつかの実施形態では、コンフィグレーションファイルは、マスタ視点(入力を受信するデバイス)からの入力及び出力チャネルを列挙する。例えば、
図3に示すように、セーフティゲートウェイ280は、入力をコンピュータシステム140に送信するときにスレーブとして動作し、出力チャネルの変更をリスンする。コンフィグレーションファイルは、マスタ(例えば、コンピュータシステム140など)のIPアドレスを識別する情報と、スレーブ(例えば、セーフティゲートウェイ280など)のIPアドレスを識別する情報とを含んでもよい。いくつかの実施形態では、コンフィグレーションファイルは、異なる車両に対する現在のコンフィグレーションファイルを維持するコンフィグレーションサーバとして機能するリモートサーバのアドレスをさらに指定してもよい。
【0040】
いくつかの実施形態では、コンフィグレーションファイルは、特定のチャネルのデータフォーマットの概念を含んでもよい。例えば、データチャネルフォーマットは、チャネルのタイプを識別する情報(例えば、「入力」、「出力」などであり、入力は、スレーブからマスタに送信される情報であり、出力は、マスタからスレーブに送信される情報である)を含んでもよい。例えば、入力は、カメラなどのセンサからセーフティゲートウェイ280によって受信された情報を含むチャネルであってもよく、この情報は、コンフィグレーション情報と共にコンピュータシステム140に伝送される。別の例として、出力は、車両システムを制御する際に使用するためにコンピュータシステム140からセーフティゲートウェイ280に伝送される車両システムの動作を制御するための情報を含むチャネルであってもよい。
【0041】
コンフィグレーションファイルは、各入力及び各出力を識別する人間が読むことができる情報を含んでもよい。例えば、カメラからの情報を含む入力は、車両上の特定のカメラ(例えば、「前方右側カメラ」)を識別する人間が読むことができるラベルを含んでもよい。各入力及び出力は、チャネル情報のフォーマットと同様に、チャネルが送信されるデータポートを識別する情報をさらに含んでもよい。多くの異なるタイプのフォーマットが使用されてもよい。異なるタイプのフォーマットは、異なるタイプの処理を必要とすることがある(例えば、いくつかのタイプのフォーマットは、ドロップされたパケットのチェック、長いペイロードフラグメンテーションのチェックなどを必要とすることがある)。例示的であるが限定されない例では、フォーマットは、(i)RAW_DATA(例えば、カメラデータが伝送されるときのように、データがrawフォーマットで伝送されるフォーマット)、(ii)ANY_PAYLOAD(任意のペイロードが、送信時間、フラグメンテーション情報、及びロストパケットをチェックするための自動インクリメントカウンタを含む共通ヘッダーを有するパケットにラップされるフォーマット)、又は(iii)FRAGMENTED_DATA(ANY_PAYLOADフォーマットの使用が各フラグメント上で余分なシリアライゼーション/デシリアライゼーション呼び出しをもたらす大きなペイロードを送信するためのフォーマット)を含んでもよい。
【0042】
いくつかの実施形態では、各入力又は出力は、送信され得るパケットの最大サイズを指定する最大伝送単位(又は「MTU」)を識別する情報をさらに含む。いくつかの実施形態では、(チャネルフォーマット情報に加えて)ペイロードフォーマットも指定されてもよい。例えば、ANY_PAYLOADフォーマットを使用してデータが送信されるチャネルは、ペイロードフォーマットが、(i)CAN_MESSAGE(CANメッセージデータを伝送するためのフォーマット)、(ii)CAN_BATCH(CANメッセージのバッチを伝送するためのフォーマット)、(iii)POWER_STATE(異なる車両センサ又はデバイスに関連付けられた電力状態データを伝送するためのフォーマット)、(iv)IMU_PACKET(IMU更新データを伝送するためのフォーマット)、(v)HEALTH_REPORT(セーフティゲートウェイの健康ステータスに関する詳細情報)であることを指定する情報を含んでもよい。必要に応じて、他の特殊化が簡単に追加され得る。チャネルフォーマットに加えてペイロードフォーマットを使用することにより、受信機が受信データを適切に処理することを可能にする。これにより、コンピュータシステム140を動作させるために必要なケーブル配線及び接続の数及びタイプが大幅に減少する。
【0043】
チャネル情報は、例えば、試験目的のために現実的なデータストリームをシミュレートするために使用され得るファイルへのリンクであってもよいデータサンプルをさらに含んでもよい。メッセージボディはまた、メッセージの他の詳細を識別する情報(例えば、ボディが更新される時間間隔を識別する情報、又はメッセージボディのフォーマットをさらに識別する情報など)を含んでもよい。
【0044】
このようにして、実施形態は、コンピュータシステム140及びセーフティゲートウェイ280が、各々が互いにどのように通信すべきかを(コンフィグレーションファイルに基づいて)動的に定義することを可能にする。例えば、コンフィグレーションファイルのコンテンツに基づいて、コンピュータシステム140及びセーフティゲートウェイ280は、どのチャネルが利用可能であるか、更新されたデータをどこで見つけるか、更新が利用可能にされるべき更新間隔、並びに各チャネルのデータのフォーマット及びコンテンツを知る。さらに、コンフィグレーションファイルは、メッセージが送信されるフォーマットを定義するので、実施形態は、たとえ異なるセンサ又は車両システムが他の通信プロトコル(例えば、シリアルインターフェース、CANなど)を使用してセーフティゲートウェイ280と通信しても、コンピュータシステム140が、(例えば、イーサネット接続などを介して)統一された通信チャネルを使用して、セーフティゲートウェイ280と通信することを可能にする。コンピュータシステム140は、車両システム(例えば、ステアリング制御、ブレーキシステムなど)の動作を修正するための指令を、イーサネット接続を使用してセーフティゲートウェイ280に伝送してもよく、セーフティゲートウェイ280は、車両システムへの伝送のために、その指令をCANバスプロトコル(又は類似のもの)に変換することができる。同様の変換は、セーフティゲートウェイ280によって受信されたセンサデータ及び車両データと一緒に発生することができる。
【0045】
実施形態は、
図5に示されるような冗長コンフィグレーションの使用を可能にする。
図5Aのシステム500は、コンピュータシステム140にデータを供給する2つの二重冗長データ経路を提供する。各データ経路は、セーフティゲートウェイ280a又は280bと、対応するスイッチ192a及び192bとを含む。各センサ110から受信されたデータは、スイッチ194a~194d及びコネクタ196のセットを使用して複製される。例えば、1つのスイッチ194aが、2つのスイッチ192a、192bの各々にセンサデータを伝送してもよい。第2のスイッチ194dは、2つのセーフティゲートウェイ280a、280bの各々にセンサデータを伝送してもよい。冗長セーフティゲートウェイ280を提供することによって、実施形態は、自律車両(
図7のセミトラック700など)が車両を動作させるために必要とされる情報を有することを妨げ得るタイプの故障を実質的に低減又は排除する。2つのセーフティゲートウェイ280は、各々、同じコンフィグレーションファイルを使用して構成されており、車両の動作を監視及び制御するためにコンピュータシステム140によって必要とされる同じ情報を生成する。
【0046】
さらに、いくつかの実施形態では、車両の周りのセンサは、単一のスイッチ194が同様のセンサデータを搬送しないように、スイッチ194にわたってストライプ状又は互い違いに配置されてもよい。例えば、
図5Aのスイッチ194aが、車両の前方左側に配置されたカメラからセンサデータを受信してもよく、異なるスイッチ194dが、車両の前方右側に配置されたカメラからセンサデータを受信してもよい。同様のコンフィグレーションは、他のタイプのセンサデータ(例えば、ライダーなど)のために、スイッチ194にわたって交互にされてもよいし、又は変動してもよい。このようなコンフィグレーションは、自律車両の動作を妨げるか、又は阻害する可能性のあるタイプの故障をさらに低減又は排除する。
【0047】
図5Aに描写されるコンフィグレーションは、いくつかのイーサネット接続196を示す。非イーサネット信号(CANデータなど)の場合、各セーフティゲートウェイ280a、280bは、関連する入力ソースからデータを受信するように構成されてもよい(例えば、CANバスデータの場合、各セーフティゲートウェイ280a、280bは、コンピュータシステム140がCANバスデータの2つのソースを有することを保証するCANバスに結合されてもよい)。このようなコンフィグレーションは、
図5Bに示される。
図5A及び
図5Bのコンフィグレーションは、単一のシステムで使用され、それらは、便宜及び例示の容易さのために別個に示される。
図5Bでは、イーサネットを介して通信しない1つ以上のセンサ110が、2つのセーフティゲートウェイ280a、280bにデータを提供するものとして示されている。各セーフティゲートウェイ280は、同じ情報を受信し、それによって、車両動作のための冗長性を提供する。セーフティゲートウェイ280の一方が利用できなくなった場合、他方が、コンピュータシステム140にセンサデータを提供し続け、コンピュータシステム140が車両を動作、監視、及び制御し続けることを可能にする。イーサネットを介して通信しないことがあるセンサの例は、例えば、レーダーデバイス、CANバスデバイス、IMUデバイス(一般に、RS232/422を使用して通信する)、及びGPSデバイスを含む。項目110は「センサ」とラベル付けされているが、この用語はより一般に使用され、コンピュータシステム140が動作、監視及び制御のために使用するデータを生成する任意の車両システム又はデバイスを含んでもよい。
【0048】
図5A及び
図5Bに描写されるシステムでは、単一のコンピュータシステム140が示されている。いくつかの実施形態では、冗長コンピュータシステム140もまた、提供されてもよい。さらに、いくつかの実施形態では、セーフティゲートウェイ280の各々は、コンピュータシステム140として動作するように構成されてもよい。例えば、コンピュータシステム140が動作不能又は利用できないとされた場合、セーフティゲートウェイ280は、制御機能を引き継いで、限定された又は最小のリスクの操縦で車両を安全に運転してもよい(例えば、車両を安全に停止させるため、又は人間のオペレータが制御を再開するのに十分な時間を与えるため)。
【0049】
セーフティゲートウェイ280は、多くの異なる方法で構成されてもよい。例えば、
図6を参照すると、セーフティゲートウェイ280が示されており、これは、いくつかのスイッチ194(例えば、イーサネットスイッチなど)と併せて車両ネットワークプロセッサ198を使用して、複数のネットワーク接続196を介して通信して、1つ以上の車両センサ又はシステムにデータを受信及び/又は伝送する。セーフティゲートウェイ280は、上りリンク接続を介してリモートコンピュータシステム140と通信し、それによって、コンピュータシステム140に関連付けられた複数のケーブルの必要性を実質的に排除する。他のコンフィグレーションも提供されてもよく、
図6に描写されるコンフィグレーションは、例示の目的のためだけである。
【0050】
図7A~
図7Cは、例示の実施形態に関連付けられて、又はそれに従って使用され得るセミトラック700の外観図の例示的な描写である。セミトラック700は、例示的な目的のためにのみ示されている。そのため、当業者は、本開示を読んだ後、実施形態が、多くの異なるタイプの車両と併せて使用されてもよく、
図7A~
図7Cに示されるタイプの車両に限定されないことを理解する。
図7A~
図7Cに示す例示のセミトラック700は、キャブ702の前方にあるエンジン706、ステアリング車軸714、及び2つの駆動車軸716を含む、北米で通常のトラックコンフィグレーションの1つのスタイルである。トレーラ(図示せず)は、典型的には、フレーム718に設けられ、駆動車軸716に配置された第5の車輪トレーラー結合を介してセミトラック700に取り付けられてもよい。
図7A及び
図7Cに示すように、スリーパ室712がキャブ702の後方に配置されてもよい。
図7A~
図7Cは、セミトラック700の異なる場所に配置された複数のセンサをさらに例示する。例えば、1つ以上のセンサが、センサラック720上のキャブ702の屋根に装着されてもよい。センサはまた、サイドミラー710、及びセミトラックの他の場所にも装着されてもよい。センサは、バンパー704上、並びにキャブ702の側面及び他の場所に装着されてもよい。例えば、
図7Aでは、後向きレーダー736がキャブ702の側面に取り付けられているように示されている。実施形態は、トラック及び他の車両の他のコンフィグレーション(例えば、キャブオーバー又はキャブフォワードコンフィグレーションなどを有するセミトラックなど)と共に使用されてもよい。一般に、本開示の実施形態を限定することなく、本発明の特徴は、長期的なセミトラック経路のような長距離にわたって貨物を運搬する車両における所望の結果を伴って使用されてもよい。
【0051】
図7Bは、セミトラック700の正面図であり、多数のセンサ及びセンサ場所を示す。センサラックは、長距離ライダー722、長距離カメラ724、GPSアンテナ734、及び中距離前面カメラ726を含むいくつかのセンサをフロントガラス708の上に固定及び配置してもよい。サイドミラー710は、後向きカメラ728及び中距離ライダー730のための装着場所を提供してもよい。フロントレーダ732は、バンパー704上に装着されてもよい。他のセンサ(示されたもの及び示されていないものを含む)は、セミトラック700の他の場所に装着され、又は設置されてもよい。そのため、
図7A~
図7Cに示された場所及び装着は、例示的な目的のためだけである。
【0052】
ここで、
図7Cを参照すると、キャブ702の内部及びスリーパ室712のいくつかの態様を示すセミトラック700の部分図が示されている。いくつかの実施形態では、
図2の制御システム200の一部分は、スリーパ室712内のシステムラック740内に配備され、メンテナンス及び動作のために制御システム200のコンポーネントに容易なアクセスを可能にする。
【0053】
前述の明細書に基づいて理解されるように、本開示の上述の例は、コンピュータソフトウェア、ファームウェア、ハードウェア、又はそれらの任意の組み合わせ若しくはサブセットを含む、コンピュータプログラミング又はエンジニアリング技術を使用して実装されてもよい。コンピュータ可読コードを有する、そのような結果として生じるプログラムは、1つ以上の非一時的なコンピュータ可読媒体内で具現化又は提供されてもよく、それにより、本開示の議論された例に従って、コンピュータプログラム製品、すなわち、製造物品を作製する。例えば、非一時的なコンピュータ可読媒体は、固定ドライブ、ディスケット、光ディスク、磁気テープ、フラッシュメモリ、外部ドライブ、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)などの半導体メモリ、及び/又はインターネット、クラウドストレージ、モノのインターネット(IoT)、又は他の通信ネットワーク又はリンクなどの任意の他の非一時的な伝送及び/又は受信媒体であり得るが、これらに限定されない。コンピュータコードを含む製造物品は、1つの媒体から直接コードを実行することによって、1つの媒体から別の媒体にコードをコピーすることによって、又はネットワークを介してコードを伝送することによって、作製及び/又は使用されてもよい。
【0054】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、「app」、又はコードとも呼ばれる)は、プログラマブルプロセッサのための機械命令を含んでもよく、高水準手続き型及び/又はオブジェクト指向型プログラミング言語、及び/又はアセンブリ/機械語で実装されてもよい。本明細書で使用される場合、「機械可読媒体」及び「コンピュータ可読媒体」という用語は、機械命令及び/又はデータをプログラマブルプロセッサに提供するために使用される、任意のコンピュータプログラム製品、装置、クラウドストレージ、モノのインターネット、及び/又はデバイス(例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指し、機械命令を機械可読信号として受信する機械可読媒体を含む。しかし、「機械可読媒体」及び「コンピュータ可読媒体」は、一時的な信号を含まない。「機械可読信号」という用語は、機械命令及び/又は任意の他の種類のデータをプログラマブルプロセッサに提供するために使用され得る任意の信号を指す。
【0055】
本明細書におけるプロセスの上記の説明及び例示は、プロセスステップを実行するための固定された順序を意味すると考えるべきではない。むしろ、プロセスステップは、少なくともいくつかのステップの同時実行を含め、実施可能な任意の順序で実行されてもよい。本開示は、特定の例に関連して説明されているが、当業者には明らかな様々な変更、置換、及び改変が、添付の特許請求の範囲に説明されている本開示の精神及び範囲から逸脱することなく、開示された実施形態に対してなされ得ることが理解されるべきである。
【外国語明細書】