(57)【要約】システムおよび方法は、車両とエンティティインフラストラクチャとの間の通信を対象とする。一実施例では、車両から、およびそれへの通信を促進するためのコンピュータ実装方法は、１つ以上のコンピューティングデバイスを備えるコンピューティングシステムによって、車両コンピューティングシステムから通信を確立するための要求を取得するステップを含む。本方法はさらに、コンピューティングシステムによって、車両コンピューティングシステムへの１つ以上の双方向通信接続を確立するステップを含む。本方法はさらに、コンピューティングシステムによって、車両コンピューティングシステムへの１つ以上の通信接続を経由して１つ以上のメッセージを受信するステップを含む。本方法はさらに、コンピューティングシステムによって、１つ以上の受信されたメッセージに関するルーティングを決定するステップを含む。
2020537431.tif 000002
【特許請求の範囲】
【請求項１】
車両からの通信および車両への通信を促進するためのコンピュータ実装方法であって、
１つ以上のコンピューティングデバイスを備えるコンピューティングシステムによって、車両コンピューティングシステムから通信を確立するための要求を取得することと、
前記コンピューティングシステムによって、前記車両コンピューティングシステムへの１つ以上の双方向通信接続を確立することと、
前記コンピューティングシステムによって、前記車両コンピューティングシステムへの前記１つ以上の通信接続を経由して１つ以上のメッセージを受信することと、
前記コンピューティングシステムによって、前記１つ以上の受信されたメッセージに関するルーティングを決定することと、
前記コンピューティングシステムによって、少なくとも部分的に、前記決定されたルーティングに基づいて、前記１つ以上のメッセージを１つ以上のクライアントに提供することと
を含む、コンピュータ実装方法。
【請求項２】
前記車両コンピューティングシステムへの前記１つ以上の双方向通信接続を確立することは、前記車両コンピューティングシステムを認証することを含む、請求項１に記載のコンピュータ実装方法。
【請求項３】
前記車両コンピューティングシステムへの前記１つ以上の双方向通信接続を確立することは、前記車両コンピューティングシステムへの少なくとも２つのハイパーテキスト転送プロトコル接続を確立することを含む、請求項１または請求項２に記載のコンピュータ実装方法。
【請求項４】
前記少なくとも２つのハイパーテキスト転送プロトコル接続は、ＨＴＴＰ／２接続を含む、請求項３に記載のコンピュータ実装方法。
【請求項５】
少なくとも１つのＨＴＴＰ／２接続は、高信頼性トラフィック専用であり、少なくとも１つのＨＴＴＰ／２接続は、ベストエフォート型トラフィック専用である、請求項４に記載のコンピュータ実装方法。
【請求項６】
前記１つ以上の通信接続を経由して１つ以上のメッセージを受信することは、部分的に、前記車両コンピューティングシステムによって決定される優先順位に基づいて、メッセージを受信することを含む、請求項１−５のいずれかに記載のコンピュータ実装方法。
【請求項７】
前記１つ以上の受信されたメッセージに関するルーティングを決定することは、少なくとも部分的に、１つ以上の現在のネットワーク条件に基づいて、前記１つ以上のメッセージに再び優先順位を付けることを含む、請求項１−６のいずれかに記載のコンピュータ実装方法。
【請求項８】
前記コンピューティングシステムによって、複数の車両コンピューティングシステムから複数のメッセージを含むデータを集約することと、
前記コンピューティングシステムによって、前記集約されたデータを前記１つ以上のクライアントに提供することと
をさらに含む、請求項１−７のいずれかに記載のコンピュータ実装方法。
【請求項９】
コンピューティングシステムであって、
１つ以上のプロセッサと、
１つ以上のメモリであって、前記１つ以上のメモリは、命令を含み、前記命令は、前記１つ以上のプロセッサによって実行されると、前記１つ以上のプロセッサに、動作を実施させ、前記動作は、
車両コンピューティングシステムから通信を確立するための要求を取得することと、
前記車両コンピューティングシステムへの１つ以上の双方向通信接続を確立することと、
前記車両コンピューティングシステムへの前記１つ以上の通信接続を経由して１つ以上のメッセージを受信することと、
前記１つ以上の受信されたメッセージに関するルーティングを決定することと、
少なくとも部分的に、前記決定されたルーティングに基づいて、前記１つ以上のメッセージを１つ以上のクライアントに提供することと
を含む、１つ以上のメモリと
を備える、コンピューティングシステム。
【請求項１０】
前記車両コンピューティングシステムへの前記１つ以上の双方向通信接続を確立することは、前記車両コンピューティングシステムを認証することを含む、請求項９に記載のコンピューティングシステム。
【請求項１１】
前記車両コンピューティングシステムへの前記１つ以上の双方向通信接続を確立することは、前記車両コンピューティングシステムへの少なくとも２つのハイパーテキスト転送プロトコル接続を確立することを含む、請求項９または請求項１０に記載のコンピューティングシステム。
【請求項１２】
前記少なくとも２つのハイパーテキスト転送プロトコル接続は、ＨＴＴＰ／２接続を含む、請求項１１に記載のコンピューティングシステム。
【請求項１３】
少なくとも１つのＨＴＴＰ／２接続は、高信頼性トラフィック専用であり、少なくとも１つのＨＴＴＰ／２接続は、ベストエフォート型トラフィック専用である、請求項１２に記載のコンピューティングシステム。
【請求項１４】
前記１つ以上の通信接続を経由して１つ以上のメッセージを受信することは、部分的に、前記車両コンピューティングシステムによって決定される優先順位に基づいて、メッセージを受信することを含む、請求項９−１３のいずれかに記載のコンピューティングシステム。
【請求項１５】
前記１つ以上の受信されたメッセージに関するルーティングを決定することは、少なくとも部分的に、１つ以上の現在のネットワーク条件に基づいて、前記１つ以上のメッセージに再び優先順位を付けることを含む、請求項９−１４のいずれかに記載のコンピューティングシステム。
【請求項１６】
前記動作はさらに、
前記クライアントのうちの１つ以上のものから前記車両コンピューティングシステムに関する１つ以上のコマンド／制御メッセージを受信することと、
前記１つ以上の通信接続を経由して、前記１つ以上のコマンド／制御メッセージを前記車両コンピューティングシステムに提供することと
を含む、請求項９−１５のいずれかに記載のコンピューティングシステム。
【請求項１７】
システムであって、
１つ以上の自律車両と、
オペレーションコンピューティングシステムと
を備え、
前記１つ以上の自律車両は、
車両コンピューティングシステムであって、前記車両コンピューティングシステムは、
１つ以上のプロセッサと、
１つ以上のメモリであって、前記１つ以上のメモリは、命令を含み、前記命令は、前記１つ以上のプロセッサによって実行されると、前記１つ以上のプロセッサに、動作を実施させ、前記動作は、
通信を確立するための要求を前記オペレーションコンピューティングシステムに送信することと、
前記オペレーションコンピューティングシステムへの１つ以上の双方向通信接続を確立することと、
１つ以上のメッセージに関する優先順位を決定することと、
前記１つ以上の通信接続を経由して、前記１つ以上のメッセージを前記オペレーションコンピューティングシステムに送信することと
を含む、１つ以上のメモリと
を備える、車両コンピューティングシステム
を備え、
前記オペレーションコンピューティングシステムは、
１つ以上のプロセッサと、
１つ以上のメモリであって、前記１つ以上のメモリは、命令を含み、前記命令は、前記１つ以上のプロセッサによって実行されると、前記１つ以上のプロセッサに、動作を実施させ、前記動作は、
前記車両コンピューティングシステムから前記通信を確立するための要求を取得することと、
前記車両コンピューティングシステムへの１つ以上の双方向通信接続を確立することと、
前記車両コンピューティングシステムへの前記１つ以上の通信接続を経由して前記１つ以上のメッセージを受信することと、
前記１つ以上の受信されたメッセージに関するルーティングを決定することと、
少なくとも部分的に、前記決定されたルーティングに基づいて、前記１つ以上のメッセージを１つ以上のクライアントに提供することと
を含む、１つ以上のメモリと
を備える、システム。
【請求項１８】
前記車両コンピューティングシステムへの前記１つ以上の双方向通信接続を確立することは、前記車両コンピューティングシステムへの少なくとも２つのＨＴＴＰ／２接続を確立することを含む、請求項１７に記載のシステム。
【請求項１９】
少なくとも１つのＨＴＴＰ／２接続は、高信頼性トラフィック専用であり、少なくとも１つのＨＴＴＰ／２接続は、ベストエフォート型トラフィック専用である、請求項１８に記載のシステム。
【請求項２０】
前記オペレーションコンピューティングシステムはさらに、
前記クライアントのうちの１つ以上のものから前記車両コンピューティングシステムに関する１つ以上のコマンド／制御メッセージを受信することと、
前記１つ以上の通信接続を経由して、前記１つ以上のコマンド／制御メッセージを前記車両コンピューティングシステムに提供することと
を含む動作を含む、請求項１７−１９のいずれかに記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、その両方が、あらゆる目的のために、本明細書に参照することによってその全体として本明細書に組み込まれる、２０１７年１０月１１日の出願日を有する、米国仮出願第６２／５７０，９５５号に基づき、その利益を主張する、２０１８年２月１４日の出願日を有する、米国出願第１５／８９６，２７６号に基づき、その利益を主張する。
【０００２】
本開示は、概して、自律車両の動作に関する。より具体的には、本開示は、自律車両とプロバイダインフラストラクチャとの間に通信を提供するシステムおよび方法に関する。
【背景技術】
【０００３】
自律車両は、人間の入力を殆どまたは全く伴わずにその環境を感知し、ナビゲートすることが可能な車両である。特に、自律車両は、種々のセンサを使用してその周辺環境を観察することができ、センサによって収集されたデータに対して種々の処理技法を実施することによって環境を理解するように試みることができる。これは、自律車両が、人間の介入を伴わずにナビゲートすることを可能にし、ある場合には、人間運転者の使用を完全に省略することさえできる。
【発明の概要】
【課題を解決するための手段】
【０００４】
本開示の実施形態の側面および利点が、以下の説明に部分的に記載されるであろう、または説明から学習されることができる、または実施形態の実践を通して学習されることができる。
【０００５】
本開示の一例示的側面は、車両からの、およびそれへの通信を促進するためのコンピュータ実装方法を対象とする。本方法は、１つ以上のコンピューティングデバイスを備えるコンピューティングシステムによって、車両コンピューティングシステムから通信を確立するための要求を取得するステップを含む。本方法はさらに、コンピューティングシステムによって、車両コンピューティングシステムへの１つ以上の双方向通信接続を確立するステップを含む。本方法はさらに、コンピューティングシステムによって、車両コンピューティングシステムへの１つ以上の通信接続を経由して１つ以上のメッセージを受信するステップを含む。本方法はさらに、コンピューティングシステムによって、１つ以上の受信されたメッセージに関するルーティングを決定するステップを含む。本方法はさらに、コンピューティングシステムによって、少なくとも部分的に、決定されたルーティングに基づいて、１つ以上のメッセージを１つ以上のクライアントに提供するステップを含む。
【０００６】
本方法はさらに、車両コンピューティングシステムへの１つ以上の双方向通信接続を確立するステップが、車両コンピューティングシステムを認証するステップを含むことを含んでもよい。本方法はさらに、車両コンピューティングシステムへの１つ以上の双方向通信接続を確立するステップが、車両コンピューティングシステムへの少なくとも２つのハイパーテキスト転送プロトコル接続を確立するステップを含むことを含んでもよい。本方法はさらに、少なくとも２つのハイパーテキスト転送プロトコル接続が、ＨＴＴＰ／２接続を含むことを含んでもよい。本方法はさらに、少なくとも１つのＨＴＴＰ／２接続が、高信頼性トラフィック専用であり、少なくとも１つのＨＴＴＰ／２接続が、ベストエフォート型トラフィック専用であることを含んでもよい。本方法はさらに、１つ以上の通信接続を経由して１つ以上のメッセージを受信するステップが、部分的に、車両コンピューティングシステムによって決定される優先順位に基づいて、メッセージを受信するステップを含むことを含んでもよい。本方法はさらに、１つ以上の受信されたメッセージに関するルーティングを決定するステップが、少なくとも部分的に、１つ以上の現在のネットワーク条件に基づいて、１つ以上のメッセージに再び優先順位を付けるステップを含むことを含んでもよい。本方法はさらに、コンピューティングシステムによって、複数の車両コンピューティングシステムから複数のメッセージを含むデータを集約するステップと、コンピューティングシステムによって、集約されたデータを１つ以上のクライアントに提供するステップとを含んでもよい。
【０００７】
本開示の別の例示的側面は、コンピューティングシステムを対象とする。コンピューティングシステムは、１つ以上のプロセッサと、１つ以上のプロセッサによって実行されると、１つ以上のプロセッサに、動作を実施させる命令を含む、１つ以上のメモリとを含む。動作は、車両コンピューティングシステムから通信を確立するための要求を取得するステップを含む。動作はさらに、車両コンピューティングシステムへの１つ以上の双方向通信接続を確立するステップを含む。動作はさらに、車両コンピューティングシステムへの１つ以上の通信接続を経由して１つ以上のメッセージを受信するステップを含む。動作はさらに、１つ以上の受信されたメッセージに関するルーティングを決定するステップを含む。動作はさらに、少なくとも部分的に、決定されたルーティングに基づいて、１つ以上のメッセージを１つ以上のクライアントに提供するステップを含む。
【０００８】
動作はさらに、車両コンピューティングシステムへの１つ以上の双方向通信接続を確立するステップが、車両コンピューティングシステムを認証するステップを含むことを含んでもよい。動作はさらに、車両コンピューティングシステムへの１つ以上の双方向通信接続を確立するステップが、車両コンピューティングシステムへの少なくとも２つのハイパーテキスト転送プロトコル接続を確立するステップを含むことを含んでもよい。動作はさらに、少なくとも２つのハイパーテキスト転送プロトコル接続が、ＨＴＴＰ／２接続を含むことを含んでもよい。動作はさらに、少なくとも１つのＨＴＴＰ／２接続が、高信頼性トラフィック専用であり、少なくとも１つのＨＴＴＰ／２接続が、ベストエフォート型トラフィック専用であることを含んでもよい。動作はさらに、１つ以上の通信接続を経由して１つ以上のメッセージを受信するステップが、部分的に、車両コンピューティングシステムによって決定される優先順位に基づいて、メッセージを受信するステップを含むことを含んでもよい。動作はさらに、１つ以上の受信されたメッセージに関するルーティングを決定するステップが、少なくとも部分的に、１つ以上の現在のネットワーク条件に基づいて、１つ以上のメッセージに再び優先順位を付けるステップを含むことを含んでもよい。動作はさらに、クライアントのうちの１つ以上のものから車両コンピューティングシステムに関する１つ以上のコマンド／制御メッセージを受信するステップと、１つ以上の通信接続を経由して、１つ以上のコマンド／制御メッセージを車両コンピューティングシステムに提供するステップとを含んでもよい。
【０００９】
本開示の別の例示的側面は、１つ以上の自律車両と、オペレーションコンピューティングシステムとを含むシステムを対象とする。１つ以上の自律車両は、１つ以上のプロセッサと、１つ以上のプロセッサによって実行されると、１つ以上のプロセッサに、動作を実施させる命令を含む、１つ以上のメモリとを含む、車両コンピューティングシステムを含む。動作は、通信を確立するための要求をオペレーションコンピューティングシステムに送信するステップを含む。動作はさらに、オペレーションコンピューティングシステムへの１つ以上の双方向通信接続を確立するステップを含む。動作はさらに、１つ以上のメッセージに関する優先順位を決定するステップを含む。動作はさらに、１つ以上の通信接続を経由して、１つ以上のメッセージをオペレーションコンピューティングシステムに送信するステップを含む。オペレーションコンピューティングシステムは、１つ以上のプロセッサと、１つ以上のプロセッサによって実行されると、１つ以上のプロセッサに、動作を実施させる命令を含む、１つ以上のメモリとを含む。動作は、車両コンピューティングシステムから通信を確立するための要求を取得するステップを含む。動作はさらに、車両コンピューティングシステムへの１つ以上の双方向通信接続を確立するステップを含む。動作はさらに、車両コンピューティングシステムへの１つ以上の通信接続を経由して１つ以上のメッセージを受信するステップを含む。動作はさらに、１つ以上の受信されたメッセージに関するルーティングを決定するステップを含む。動作はさらに、少なくとも部分的に、決定されたルーティングに基づいて、１つ以上のメッセージを１つ以上のクライアントに提供するステップを含む。
【００１０】
動作はさらに、車両コンピューティングシステムへの１つ以上の双方向通信接続を確立するステップが、車両コンピューティングシステムへの少なくとも２つのＨＴＴＰ／２接続を確立するステップを含むことを含んでもよい。動作はさらに、少なくとも１つのＨＴＴＰ／２接続が、高信頼性トラフィック専用であり、少なくとも１つのＨＴＴＰ／２接続が、ベストエフォート型トラフィック専用であることを含んでもよい。動作はさらに、クライアントのうちの１つ以上のものから車両コンピューティングシステムに関する１つ以上のコマンド／制御メッセージを受信するステップと、１つ以上の通信接続を経由して、１つ以上のコマンド／制御メッセージを車両コンピューティングシステムに提供するステップとを含んでもよい。
【００１１】
本開示の他の側面は、種々のシステム、装置、非一過性コンピュータ可読媒体、ユーザインターフェース、および電子デバイスを対象とする。
【００１２】
本開示の種々の実施形態のこれらおよび他の特徴、側面、および利点が、以下の説明および添付される請求項を参照して、より深く理解されるようになるであろう。本明細書に組み込まれ、その一部を構成する付随の図面は、本開示の例示的実施形態を図示し、説明とともに、関連する原理を解説する役割を果たす。
【図面の簡単な説明】
【００１３】
当業者を対象とする実施形態の詳細な議論が、添付される図を参照する本明細書に記載される。
【００１４】
【図１】図１は、本開示の例示的実施形態による、自律車両のナビゲーションを制御するための例示的システムのブロック図を描写する。
【００１５】
【図２】図２は、本開示の例示的実施形態による、例示的システムのブロック図を描写する。
【００１６】
【図３】図３は、本開示の例示的実施形態による、例示的車両−オペレーションシステムインターフェースのブロック図を描写する。
【００１７】
【図４】図４は、本開示の例示的実施形態による、車両とオペレーションセンターとの間の通信のための例示的動作のフローチャート図を描写する。
【発明を実施するための形態】
【００１８】
ここで、実施形態が、詳細に参照され、その１つ以上の実施例が、図面に図示される。各実施例は、本開示の限定ではなく、実施形態の解説として提供される。実際に、種々の修正および変形例が、本開示の範囲から逸脱することなく、実施形態に行われ得ることが、当業者に明白となるであろう。例えば、１つの実施形態の一部として例証または説明される特徴は、なおもさらなる実施形態をもたらすために、別の実施形態と併用されることができる。したがって、本開示の側面は、そのような修正および変形例を網羅することを意図している。
【００１９】
本開示の例示的側面は、車隊における車両と、エンティティインフラストラクチャ、例えば、サービスプロバイダのオペレーションまたは制御センターとの間の通信を対象とする。特に、本開示のシステムおよび方法は、サービスプロバイダの車隊における１つ以上の車両とサービスプロバイダのオペレーションまたは制御センターとの間のセキュアな双方向通信を促進することができる。本開示のシステムおよび方法は、例えば、データを分類することに基づいて、および／またはネットワーク条件（例えば、リンク劣化等）等の問題に応答して、通信トラフィックに動的に優先順位を付ける、および／またはその優先度を下げるステップを提供することができる。加えて、本開示のシステムおよび方法は、１つ以上のインフラストラクチャエンドポイント（例えば、システムクライアント、アプリケーション、データベース等）によって車両データにアクセスするステップを提供し、および、１つ以上のクライアントから１つ以上の車両にメッセージ（例えば、コマンド／制御メッセージ、アラート、勧告等）を中継するステップを提供することができる。
【００２０】
特に、本開示の側面によると、車両アプリケーションプログラミングインターフェース（車両ＡＰＩ）プラットフォームが、エンティティの車隊内の車両にオンボードの車両コンピューティングシステムと、エンティティのオペレーション／制御センター内で動作する１つ以上の遠隔クライアントおよび／またはアプリケーション（例えば、車隊報告、車隊管理、車隊点検／保守、遠隔車両補助、ルーティング、スケジューリング等）との間のインターフェースとして変換／トランスポート層を提供することができる。例えば、車両ＡＰＩプラットフォームは、車両ＡＰＩと車両との間に確立された通信パイプラインを経由して車両からデータを受信し、データを分類し、異なるメッセージングプロトコル上に一貫してデータを書き込み、一貫した方法で他のクライアント／アプリケーションに関するデータを集約し得るプラットフォームを提供する、異なる手段を提供することができる。車両ＡＰＩプラットフォームは、車両外での車両データの拡張処理、リアルタイムでのそのようなデータの分析、および／または同等物を可能にするセキュアな様式で車両データをオペレーション／制御センターに通信するステップを提供することができる。本開示の例示的側面によると、車両ＡＰＩプラットフォームは、車両非依存であり、任意の車両コンピューティングシステムが、車両データ（例えば、テレメトリ、ビデオ等）を報告する、および／またはエンティティのオペレーションシステムと関連付けられる１つ以上のクライアント（例えば、車隊報告、車隊管理、車隊点検／保守、遠隔車両補助、ルーティング、スケジューリング等）からメッセージ（例えば、コマンド／制御メッセージ、構成メッセージ、アラート、勧告等）を受信するために使用することが可能であろう一貫した通信パイプラインを提供することによって、任意の自律車両および／またはコンピュータ対応車両が、エンティティのオペレーション／制御センターと相互作用することを可能にすることができる。
【００２１】
より具体的には、エンティティ（例えば、サービスプロバイダ、所有者、管理者）は、１つ以上の車両（例えば、地上ベースの車両）を使用し、輸送サービス（例えば、ライドシェアサービス）、宅配サービス、配送サービス等の車両サービスを提供することができる。車両は、車両の動作を制御するように構成される種々のシステムおよびデバイスを含む、自律車両であり得る。例えば、自律車両は、自律車両を動作させるための（例えば、自律車両上またはその中に位置する）オンボード車両コンピューティングシステムを含むことができる。車両コンピューティングシステムは、車両にオンボードのセンサ（例えば、カメラ、ＬＩＤＡＲ、ＲＡＤＡＲ）からセンサデータを受信し、センサデータに対して種々の処理技法を実施することによって車両の周辺環境を理解するように試み、車両の周辺環境を通した適切な運動計画を生成することができる。さらに、自律車両は、車両から遠隔にある１つ以上のコンピューティングデバイスと通信するように構成されることができる。例えば、自律車両は、エンティティと関連付けられ得るオペレーションコンピューティングシステムと通信することができる。オペレーションコンピューティングシステムは、エンティティが車両の車隊を監視する、それと通信する、それを管理すること等に役立つことができる。
【００２２】
特に、本開示の例示的側面によると、本開示のシステムおよび方法は、サービスプロバイダ（例えば、オペレーションコンピューティングシステム）が任意のタイプの自律またはコンピュータ対応車両と双方向的に通信するための能力を提供し得る、車両ＡＰＩプラットフォームを提供することができる。車両ＡＰＩプラットフォームは、車両データのより複雑な理解、例えば、これが本データを受信／送信する理由の理解、異なるメッセージが相互に比較検討される方法の理解、および／または同等物を提供することができる。いくつかの実装では、車両ＡＰＩプラットフォームは、例えば、メッセージのタイプを理解し、現在のネットワーク条件に基づいて、メッセージに適切に優先順位を付けることによって、車両とサービスプロバイダのオペレーションシステムとの間の劣化した通信状況を知的に取り扱うステップを提供することができる。いくつかの実装では、車両ＡＰＩプラットフォームは、データをより効率的に伝送するステップを提供するために、データ（例えば、車両メッセージ）に動的に優先順位を付ける、および／またはその優先度を下げるステップを提供することができる。
【００２３】
本開示の例示的側面によると、車両ＡＰＩプラットフォームは、車両にオンボードで、通信のために車両データに優先順位を付けるステップを提供することができる。例えば、車両ＡＰＩプラットフォームは、知的サービス品質（ＱｏＳ）を使用してデータを通信するステップ、異なる通信ストリームを経由してデータを多重化するステップ、例えば、リンク条件に基づいて、動的にデータトラフィックに優先順位を付ける、および／またはその優先度を下げるステップ（例えば、接続不良状態では、最初に重大／重要なデータを送信し、可能なときに他のデータを送信する）、および／または同等物を提供し得る、自律車両および／またはコンピュータ対応車両にオンボードのクライアントソフトウェア（例えば、車両ＡＰＩクライアント）を提供することができる。いくつかの実装では、車両ＡＰＩプラットフォームは（例えば、車両ＡＰＩクライアントを介して）、車両が、より重要であるとこれが見なすデータについての決定を行うことを可能にし、適宜、そのデータの通信を取り扱うことができる。
【００２４】
車両ＡＰＩプラットフォームはまた、オフボード側で（例えば、サービスプロバイダオペレーションセンターにおいて）通信に優先順位を付けるステップを提供することができる。例えば、いくつかの実装では、多数の車両からのメッセージ等の大量のトラフィックを受信するとき、車両ＡＰＩプラットフォームは、例えば、制御／補助に関する要求のようなメッセージを、診断情報またはトラフィック情報よりも重要なものとして分類することによって等、異なるメッセージの重要レベルを理解し、それらを適切に取り扱うことができる。
【００２５】
本開示のある側面によると、車両ＡＰＩプラットフォームは、車両とサービスプロバイダシステムとの間に通信トンネルを確立するステップを提供することができる。いくつかの実装では、車両ＡＰＩプラットフォームは、同一の接続を通して恣意的な通信を送信するために使用され得る、車両とサービスプロバイダとの間の多重接続を確立することができる。例えば、いくつかの実装では、車両ＡＰＩプラットフォームは、車両とサービスプロバイダシステムとの間に複数のハイパーテキスト転送プロトコルバージョン２（ＨＴＴＰ／２）および／または他の好適なプロトコル接続を確立するステップを提供し、接続内でトラフィック優先順位を並列化およびアサートする能力を可能にすることができる。いくつかの実装では、車両ＡＰＩプラットフォームは、車両からサービスプロバイダシステムへの少なくとも２つのＨＴＴＰ／２および／または他の好適なプロトコル接続を確立することができ、少なくとも１つの接続は、高信頼性の高配信性トラフィック専用であり得、少なくとも１つの接続は、ベストエフォート型の非保証トラフィック専用であり得る。いくつかの実装では、複数の接続の使用は、下層トランスポートが、データがより重要なものとして識別され得るように異なる重要度を有する異なる接続の観点から制御されることを可能にすることができる。
【００２６】
いくつかの実装では、車両ＡＰＩプラットフォームは、ネットワーク条件等の現在の条件に基づいて、動的にデータトラフィックに優先順位を付ける、および／またはその優先度を下げることができる。例えば、いくつかの実装では、車両がデータを伝送しようとしており、通信が失敗し続ける場合、車両ＡＰＩプラットフォームは、タイプまたはメッセージに基づく優先順位を提供し、例えば、いくつかのメッセージが、それらが時間的に古いため、あまり重要ではない、および／または特定のメッセージが、これが送信される必要性があるため、時間的により重要であると決定し、これらの決定に基づいて、優先順位を修正することができる。
【００２７】
いくつかの実装では、車両ＡＰＩプラットフォームは、車両との通信のパターンに基づいて、データトラフィック（例えば、メッセージ）に優先順位を付ける、および／またはその優先度を下げることができる。例えば、いくつかの実装では、車両ＡＰＩプラットフォームは、通信の公称速度およびメッセージの公称ケーデンスを識別することができる。車両ＡＰＩプラットフォームが、車両からその公称通信およびケーデンスを認識していない場合、これが延長される程度、その重大度、および／または同等物に応じて、車両ＡＰＩプラットフォームは、それらに異なるように優先順位を付ける、それらに異なるようにフラグを付ける、および／または同等物のため等、それらの車両メッセージに関する挙動を変更することができる。実施例として、車両が車両ＡＰＩプラットフォームと通信する頻度に基づいて、これは、例えば、車両がデータを送信しており、次いで、これがドロップオフし、次いで、データを送信し始め、次いで、ドロップオフする場合（例えば、不安定な通信）、通信問題が存在すると決定してもよい。車両ＡＰＩプラットフォームは、次いで、車両がデータの送信に問題を有しているため、その車両からのメッセージがより高い優先順位にあり得ると決定することができる。
【００２８】
いくつかの実装では、車両ＡＰＩプラットフォームは、複数の車両からデータを集約するステップを提供し、その特定の時点で車両が行っている内容の理解を可能にすることができる。例えば、いくつかの実装では、車両ＡＰＩプラットフォームは、車両からデータを集約するステップを提供し、特定の車両が行っている内容の決定を可能にする、リアルタイムでの車両の追跡を可能にする、および／または同等物を可能にすることができる。いくつかの実装では、車両ＡＰＩプラットフォームは、車両からリアルタイムデータをストリーミングするステップを提供し、例えば、車両からオペレーションシステムにテレメトリデータのライブストリームを提供し、車両への補助の提供を可能にすることができる。いくつかの実装では、車両データを集約するステップを提供することによって、車両ＡＰＩプラットフォームは、例えば、車隊内にある全ての車両、それらが所属する対象、それらが行っている内容の理解を促進し、車両の挙動についてのある時間窓にわたる履歴を提供する、経時的な車両データの移動スナップショットを提供する、および／または同等物を提供することができる。
【００２９】
いくつかの実装では、車両ＡＰＩプラットフォームは、サービスプロバイダシステムが、複数のタイプのデータを車両への確立された接続を経由して車両に提供することを可能にすることができる。例えば、いくつかの実装では、車両ＡＰＩプラットフォームは、車両がそのコンピューティングシステムからデータをオフロードするための命令、車両が保守に関して報告するための命令、車両が燃料を調達するための命令、および／または同等物等、車両に高レベル割当データを送信するステップを提供することができる。いくつかの実装では、車両ＡＰＩプラットフォームは、例えば、緊急または重大な状況において直ちに停止するように車両に命令する、緊急コマンドを車両に送信するステップを提供することができる。いくつかの実装では、車両ＡＰＩプラットフォームは、例えば、ある座標に進むように車両に命令する、具体的制御メッセージを車両に送信するステップを提供することができる。いくつかの実装では、車両ＡＰＩプラットフォームは、例えば、回避するべきエリア、乗車者を獲得するためにより多くの時間を費やすべきエリア、迂回されるべき工事中のエリア、および／または同等物等の特定の地理的領域にフラグを付ける、勧告を車両に送信するステップを提供することができる。いくつかの実装では、そのような勧告は、車隊内の複数の車両に関する車両ＡＰＩ集約データに基づいて展開されることができる。
【００３０】
いくつかの実装では、車両ＡＰＩプラットフォームは、車両が、車両との確立された接続を経由してサービスプロバイダシステムに複数のタイプのデータを送信することを可能にすることができる。例えば、いくつかの実装では、車両ＡＰＩプラットフォームは、車両が、緊急または重大な状況において等、サービスプロバイダシステムに補助に関する要求を送信することを提供することができる。いくつかの実装では、車両ＡＰＩプラットフォームは、車両が、標識および／または幾何学形状等の低分解能知覚データをサービスプロバイダシステムに送信することを提供し、車両からオフボードのデータの処理および世界のより深い理解の展開を可能にすることができる。いくつかの実装では、車両ＡＰＩプラットフォームは、車両が、例えば、現在の車両ポーズ（例えば、グローバルかつマップに対して）、車両軌道、オンボード診断、および／または同等物等のデータをサービスプロバイダシステムに送信することを提供することができる。
【００３１】
いくつかの実装では、車両ＡＰＩプラットフォームは、機械学習モデル等のモデルを含む、採用する、および／または別様に活用することができる。例えば、機械学習モデルは、例えば、ニューラルネットワーク（例えば、深層ニューラルネットワーク）または他の多層非線形モデル等の１つ以上の種々のモデルであり得る、または別様にそれを含むことができる。ニューラルネットワークは、再帰ニューラルネットワーク（例えば、長い短期メモリ再帰ニューラルネットワーク）、フィードフォワードニューラルネットワーク、畳み込みニューラルネットワーク、および／または他の形態のニューラルネットワークを含むことができる。
【００３２】
特に、本開示の例示的側面によると、車両ＡＰＩプラットフォームは、メッセージを効率的に取り扱う方法をより深く理解するために、１つ以上の機械学習モデルを使用するステップを提供することができる。例えば、機械学習モデルは、車両ＡＰＩプラットフォームが、これが認識し慣れていない異なるタイプのメッセージに対処する方法を得ることを可能にすることができる。一実施例として、いくつかの実装では、車両ＡＰＩプラットフォームは、よりオープンエンドであり、車両がメッセージに関する厳密なフォーマットを有することを要求しなくてもよい。車両ＡＰＩプラットフォームは、メッセージの外側エンベロープの具体的フォーマットを提供することができ、メッセージの内側のデータは、車両によってフォーマットされる。機械学習モデルの使用を通して、車両ＡＰＩプラットフォームは、車両から異なるタイプのデータを認識し（例えば、データは、概して、車両ポーズデータ等のような状態を呈する）、メッセージを適切に取り扱う方法を決定することについてより知的になるように学習することができる。
【００３３】
いくつかの実装では、機械学習モデルは、２ステップアプローチを使用して訓練されることができる。第１の段階では、別個の制御経路（例えば、アクション可能ではない学習経路）が、モデルを訓練するためのライブデータを受信するステップを提供し得る、教師あり学習が、実施されることができる。モデルは、ライブデータを受信し、出力決定を生成することができる。比較が、次いで、制御パターンおよびモデルが出力として提供する内容に基づいて実施され、モデルを訓練することができる。第２の段階では、モデルは、出力を生産するためにデータの一次評価を実施することができ、次いで、モデル出力は、制御経路と比較されるであろう。いったんモデルがあるレベルの信頼性を達成すると、制御経路は、段階的に廃止されることができ、モデルは、より大きく依拠されることができる。
【００３４】
いくつかの実装では、機械学習モデルは、例えば、データルーティング、メッセージの分類、正しいメッセージ優先順位の決定、および／または同等物等の１つ以上のタイプの出力を提供することができる。例えば、いくつかの実装では、機械学習モデルは、ルーティングモデルであり得る。モデルは、特定のシステムが特定のデータを得る必要があることを理解することができる。モデルは、受信される異なるメッセージを分類し、認識されることが予期されるものから学習し、予期せぬメッセージ（例えば、ルーティングが必ずしも把握されない、認識されていない新しいメッセージ）を予期されるメッセージと比較し、予期せぬメッセージがルーティングされるべき方法を学習することができる。
【００３５】
いくつかの実装では、車両ＡＰＩプラットフォームは、公共世界からのサービスプロバイダのシステムへのアクセスを管理する１つ以上の認証スキームを提供することができる。例えば、車両ＡＰＩプラットフォームは、いったん車両が認証されると、同一の通信プロトコルを使用し、同一のエンドポイントに接続し、例えば、公開されたドキュメンテーションを使用することによって、車両が他のＯＥＭ（例えば、サービスプロバイダのために具体的に設計／製造されていない車両）からサービスプロバイダのシステムにアクセスすることを提供することができる。
【００３６】
いくつかの実装では、車両ＡＰＩプラットフォームは、車両とサービスプロバイダシステムとの間のセキュアな通信を提供することができる。例えば、車両ＡＰＩプラットフォームは、全てのクライアントが車両ＡＰＩプラットフォームとの通信を確立することに先立って認証を要求するであろう、１つ以上のセキュリティプロトコルを提供することができる。
【００３７】
本明細書に説明されるシステムおよび方法は、いくつかの技術的効果および利益を提供する。例えば、本システムおよび方法は、オペレーションシステムインフラストラクチャから車両プラットフォームを抽出するステップを提供することができる。例えば、本開示による車両ＡＰＩプラットフォームは、サービスプロバイダが、異なる車両（例えば、異なる相手先商標製造会社（ＯＥＭ）からの車両）を容易に導入し、そのような車両との双方向通信を提供し、それによって、サービスプロバイダの車隊のより容易および／またはより急速な拡大を可能にし得るように、車両（例えば、自律車両および／またはコンピュータ対応車両）についてより一般的に推論するステップを提供することができる。
【００３８】
本明細書に説明されるシステムおよび方法はまた、多数の車両からデータを迅速に集約するステップを提供することを含む、技術的効果および利益を提供することができる。例えば、いくつかの実装では、車両ＡＰＩプラットフォームは、車隊内の多数の車両と同時に通信することができ、複数の車両からデータを迅速に集約し、車隊内の車両の動作に影響を及ぼし得る現在の条件を決定するステップを提供することができる。車両ＡＰＩプラットフォームは、集約されたデータに基づいて、車隊内の１つ以上の車両に通知し、現在の条件に迅速に適合するステップを提供することができる。
【００３９】
本明細書に説明されるシステムおよび方法はまた、増加されたスケーラビリティを提供し得る分散システムを提供することを含む、技術的効果および利益を提供することができる。例えば、車両ＡＰＩプラットフォームは、処理および同等物の観点から有意なスケーラビリティを可能にし、任意の数の車両を取り扱うステップを提供する、通信パイプライン、メッセージルーティング、および／または同等物等のアーキテクチャを提供することができる。車両ＡＰＩプラットフォームスケーラビリティはまた、車両からオフボードのより多くの処理を提供し、車両にオンボードで行われ得るものよりも複雑な車両データの処理を可能にすることができる。
【００４０】
本明細書に説明されるシステムおよび方法はまた、自律車両の動作を任務とする車両コンピューティング技術の結果として生じる改良を提供することができる。例えば、車両ＡＰＩプラットフォームは、自律車両からオフボードの増加された処理を提供することができる。いくつかの実装では、車両ＡＰＩプラットフォームは、車両からオフボードのルーティング決定等のいくつかのタイプの車両コンピューティングシステム処理の移動（例えば、オペレーションコンピューティングシステムによる処理の実施）を可能にすることができる。車両コンピューティングシステムは、次いで、画像データ、センサデータ、および／または同等物の処理等の他のタスクに関するより多くの算出サイクル（例えば、ＣＰＵ時間等）を提供し、改良された処理を可能にすることができる。
【００４１】
図を参照すると、本開示の例示的実施形態が、さらに詳細に議論されるであろう。
【００４２】
図１は、本開示の例示的実施形態による、自律車両１０２のナビゲーションを制御するための例示的システム１００のブロック図を描写する。自律車両１０２は、人間の入力を殆どまたは全く伴わずにその環境を感知し、ナビゲートすることが可能である。自律車両１０２は、地上ベースの自律車両（例えば、自動車、トラック、バス等）、空中ベースの自律車両（例えば、飛行機、ドローン、ヘリコプタ、または他の航空機）、または他のタイプの車両（例えば、船舶）であり得る。自律車両１０２は、１つ以上のモード、例えば、完全自律動作モードおよび／または半自律動作モードにおいて動作するように構成されることができる。完全自律（例えば、自動運転）動作モードは、自律車用が、車両内に存在する人間運転者からの相互作用を殆どおよび／または全く伴わずに運転およびナビゲーション動作を提供し得るものであり得る。半自律（例えば、運転者補助）動作モードは、自律車両が、車両内に存在する人間運転者からのある程度の相互作用を用いて動作するものであり得る。
【００４３】
自律車両１０２は、１つ以上のセンサ１０４と、車両コンピューティングシステム１０６と、１つ以上の車両制御装置１０８とを含むことができる。車両コンピューティングシステム１０６は、自律車両１０２を制御することを補助することができる。特に、車両コンピューティングシステム１０６は、１つ以上のセンサ１０４からセンサデータを受信し、センサ１０４によって収集されたデータに対して種々の処理技法を実施することによって周辺環境を理解するように試み、そのような周辺環境を通して適切な運動経路を生成することができる。車両コンピューティングシステム１０６は、運動経路に従って自律車両１０２を動作させるために、１つ以上の車両制御装置１０８を制御することができる。
【００４４】
車両コンピューティングシステム１０６は、１つ以上のプロセッサ１３０と、少なくとも１つのメモリ１３２とを含むことができる。１つ以上のプロセッサ１３０は、任意の好適な処理デバイス（例えば、プロセッサコア、マイクロプロセッサ、ＡＳＩＣ、ＦＰＧＡ、コントローラ、マイクロコントローラ等）であり得、１つのプロセッサまたは動作可能に接続される複数のプロセッサであり得る。メモリ１３２は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＥＰＲＯＭ、フラッシュメモリデバイス、磁気ディスク等、およびそれらの組み合わせ等の１つ以上の非一過性コンピュータ可読記憶媒体を含むことができる。メモリ１３２は、データ１３４と、車両コンピューティングシステム１０６に動作を実施させるようにプロセッサ１３０によって実行される、命令１３６とを記憶することができる。いくつかの実装では、１つ以上のプロセッサ１３０および少なくとも１つのメモリ１３２は、車両コンピューティングシステム１０６内で、コンピューティングデバイス１２９等の１つ以上のコンピューティングデバイス内に構成されてもよい。
【００４５】
いくつかの実装では、車両コンピューティングシステム１０６はさらに、測位システム１２０を含むことができる。測位システム１２０は、自律車両１０２の現在の位置を決定することができる。測位システム１２０は、自律車両１０２の位置を分析するための任意のデバイスまたは回路であり得る。例えば、測位システム１２０は、慣性センサのうちの１つ以上のものを使用することによって、衛星測位システムを使用することによって、ＩＰアドレスに基づいて、三角測量および／またはネットワークアクセスポイントまたは他のネットワークコンポーネント（例えば、携帯電話中継塔、ＷｉＦｉアクセスポイント等）への近接性を使用することによって、および／または位置を決定するための他の好適な技法を使用することによって位置を決定することができる。自律車両１０２の位置は、車両コンピューティングシステム１０６の種々のシステムによって使用されることができる。
【００４６】
図１に図示されるように、いくつかの実施形態では、車両コンピューティングシステム１０６は、自律車両１０２の周辺環境を知覚し、それに応じて自律車両１０２の運動を制御するための運動計画を決定するように協働する、知覚システム１１０、予測システム１１２、および運動計画システム１１４を含むことができる。
【００４７】
特に、いくつかの実装では、知覚システム１１０は、自律車両１０２に結合される、または別様にその中に含まれる１つ以上のセンサ１０４からセンサデータを受信することができる。実施例として、１つ以上のセンサ１０４は、光検出および測距（ＬＩＤＡＲ）システム、無線検出および測距（ＲＡＤＡＲ）システム、１つ以上のカメラ（例えば、可視スペクトルカメラ、赤外線カメラ等）、および／または他のセンサを含むことができる。センサデータは、自律車両１０２の周辺環境内の物体の場所を説明する情報を含むことができる。
【００４８】
一実施例として、ＬＩＤＡＲシステムに関して、センサデータは、測距レーザを反射した物体に対応するいくつかの点の場所（例えば、ＬＩＤＡＲシステムに対する３次元空間内）を含むことができる。例えば、ＬＩＤＡＲシステムは、短いレーザパルスがセンサから物体に、そして戻るように進行するためにかかる飛行時間（ＴＯＦ）を測定し、既知の光速から距離を計算することによって、距離を測定することができる。
【００４９】
別の実施例として、ＲＡＤＡＲシステムに関して、センサデータは、測距無線波を反射した物体に対応するいくつかの点の場所（例えば、ＲＡＤＡＲシステムに対する３次元空間内）を含むことができる。例えば、ＲＡＤＡＲシステムによって伝送される無線波（パルス化または連続）は、物体から反射し、ＲＡＤＡＲシステムの受信機に戻り、物体の場所および速度についての情報を与えることができる。したがって、ＲＡＤＡＲシステムは、物体の現在の速度についての有用な情報を提供することができる。
【００５０】
さらに別の実施例として、１つ以上のカメラに関して、種々の処理技法（例えば、運動から構造、立体照明、ステレオ三角測量、および／または他の技法等、例えば、範囲撮像技法）が、１つ以上のカメラによって捕捉される像内に描写される物体に対応するいくつかの点の場所（例えば、１つ以上のカメラに対する３次元空間内）を識別するために実施されることができる。他のセンサシステムも、物体に対応する点の場所を同様に識別することができる。
【００５１】
したがって、１つ以上のセンサ１０４は、自律車両１０２の周辺環境内の物体に対応する点の場所（例えば、自律車両１０２に対する３次元空間内）を説明する情報を含むセンサデータを収集するために使用されることができる。
【００５２】
センサデータに加えて、知覚システム１１０は、自律車両１０２の周辺環境についての詳細な情報を提供する、マップデータ１１８を読み出す、または別様に取得することができる。マップデータ１１８は、異なる進行路（例えば、道路）、道路区画、建物、または他のアイテムまたは物体（例えば、街灯柱、横断歩道、縁石等）の識別および場所、交通車線の場所および方向（例えば、駐車車線、方向転換車線、自転車車線、または特定の道路または他の進行路内の他の車線の場所および方向）、交通制御データ（例えば、標識、交通信号、または他の交通制御デバイスの場所および命令）、および／または車両コンピューティングシステム１０６がその周辺環境およびそれとのその関係を理解および知覚することを補助する情報を提供する任意の他のマップデータに関する情報を提供することができる。
【００５３】
知覚システム１１０は、１つ以上のセンサ１０４から受信されるセンサデータおよび／またはマップデータ１１８に基づいて、自律車両１０２に近接する１つ以上の物体を識別することができる。特に、いくつかの実装では、知覚システム１１０は、物体毎に、そのような物体の現在の状態を説明する状態データを決定することができる。実施例として、物体毎の状態データは、物体の現在の場所（位置とも称される）、現在の速度、現在の進行方向（ともに速力とも称される）、現在の加速度、現在の配向、サイズ／占有面積（例えば、境界多角形または多面体等の境界形状によって表されるような）、クラス（例えば、車両対歩行者対自転車対その他）、ヨーレート、および／または他の状態情報の推定値を説明することができる。
【００５４】
いくつかの実装では、知覚システム１１０は、いくつかの反復にわたって物体毎に状態データを決定することができる。特に、知覚システム１１０は、各反復において物体毎に状態データを更新することができる。したがって、知覚システム１１０は、経時的に自律車両１０２に近接する物体（例えば、車両、歩行者、自転車、および同等物）を検出および追跡することができる。
【００５５】
予測システム１１２は、知覚システム１１０から状態データを受信し、そのような状態データに基づいて、物体毎の１つ以上の将来の場所を予測することができる。例えば、予測システム１１２は、各物体が次の５秒、１０秒、２０秒等以内に位置するであろう場所を予測することができる。一実施例として、物体が、その現在の速度に従って、その現在の軌道に従うことが予測されることができる。別の実施例として、他のより洗練された予測技法またはモデル化も、使用されることができる。
【００５６】
運動計画システム１１４は、少なくとも部分的に、予測システム１１２によって提供される物体に関する予測される１つ以上の将来の場所および／または知覚システム１１０によって提供される物体に関する状態データに基づいて、自律車両１０２に関する運動計画を決定することができる。別の言い方をすれば、物体の現在の場所および／または近接する物体の予測される将来の場所についての情報を前提として、運動計画システム１１４は、そのような場所における物体に対して自律車両１０２を最良にナビゲートする、自律車両１０２に関する運動計画を決定することができる。
【００５７】
一実施例として、いくつかの実装では、運動計画システム１１４は、少なくとも部分的に、物体の現在の場所および／または予測される将来の場所に基づいて、自律車両１０２に関する１つ以上の候補運動計画毎の費用関数を決定することができる。例えば、費用関数は、特定の候補運動計画に付随する費用（例えば、経時的）を説明することができる。例えば、費用関数によって説明される費用は、自律車両１０２が可能性として考えられる別の物体との衝突に接近する、および／または好ましい経路（例えば、事前承認された経路）から逸脱するときに増加し得る。
【００５８】
したがって、物体の現在の場所および／または予測される将来の場所についての情報を前提として、運動計画システム１１４は、特定の候補経路に付随する費用を決定することができる。運動計画システム１１４は、少なくとも部分的に、費用関数に基づいて、自律車両１０２に関する運動計画を選択または決定することができる。例えば、費用関数を最小限にする候補運動計画が、選択または別様に決定されることができる。運動計画システム１１４は、選択された運動計画を実行するために、１つ以上の車両制御装置１０８（例えば、ガス流、加速度、操向、制動等を制御するアクチュエータまたは他のデバイス）を制御する車両コントローラ１１６に選択された運動計画を提供することができる。
【００５９】
いくつかの実装では、車両コンピューティングシステム１０６は、サービスプロバイダのシステム上で動作する車両ＡＰＩプラットフォームを通してサービスプロバイダのシステム（例えば、オペレーションコンピューティングシステム）との双方向通信を可能にし得る、車両ＡＰＩクライアントを含むことができる。例えば、車両ＡＰＩプラットフォームおよび車両ＡＰＩクライアントは、車両コンピューティングシステムとサービスプロバイダシステムとの間に通信トンネルを確立するステップを提供することができる。いくつかの実装では、車両ＡＰＩクライアントは、知的サービス品質（ＱｏＳ）を使用してデータを通信するステップ、異なる通信ストリームを経由してデータを多重化するステップ、例えば、リンク条件に基づいて、動的にデータトラフィックに優先順位を付ける、および／またはその優先度を下げるステップ、および／または同等物を提供することができる。
【００６０】
知覚システム１１０、予測システム１１２、および運動計画システム１１４はそれぞれ、所望の機能性を提供するために利用されるコンピュータ論理を含むことができる。いくつかの実装では、知覚システム１１０、予測システム１１２、および運動計画システム１１４はそれぞれ、汎用プロセッサを制御するハードウェア、ファームウェア、および／またはソフトウェアにおいて実装されることができる。例えば、いくつかの実装では、知覚システム１１０、予測システム１１２、および運動計画システム１１４はそれぞれ、記憶デバイス上に記憶され、メモリにロードされ、１つ以上のプロセッサによって実行されるプログラムファイルを含む。他の実装では、知覚システム１１０、予測システム１１２、および運動計画システム１１４はそれぞれ、ＲＡＭハードディスクまたは光学または磁気媒体等の有形コンピュータ可読記憶媒体内に記憶される、コンピュータ実行可能命令の１つ以上のセットを含む。
【００６１】
図２は、本開示の例示的実施形態による、例示的システム２００のブロック図を描写する。図２に図示される例示的システム２００は、実施例としてのみ提供される。図２に図示されるコンポーネント、システム、接続、および／または他の側面は、随意であり、本開示を実装するために、要求されないが、可能であるものの実施例として提供される。図２は、１つ以上のネットワーク２３０を経由して相互に通信可能に結合され得、本開示のシステムおよび方法の例示的実施形態に従って１つ以上の動作を提供し得る、オペレーションコンピューティングシステム２０２と、車両コンピューティングシステム１０６を含む自律車両１０２とを含む、例示的システム２００を図示する。
【００６２】
図示されるように、システム２００は、１つ以上の自律車両１０２を含む車隊等の車両の車隊を監視する、それと通信する、それを管理するステップ等を提供し得る、オペレーションコンピューティングシステム２０２を含むことができる。例えば、オペレーションコンピューティングシステム２０２は、ライドシェアリングアプリケーションプラットフォーム、配送サービスアプリケーションプラットフォーム、宅配サービスアプリケーションプラットフォーム、および／または他のサービスアプリケーションプラットフォーム等のエンティティによって維持されるアプリケーションプラットフォームと関連付けられるデータを提供するために、１つ以上の自律車両１０２と通信することができる。オペレーションコンピューティングシステム２０２は、アプリケーションプラットフォームと関連付けられるサービスをプロビジョニングするために、１つ以上の車両コンピューティングシステム１０６と通信することができる。オペレーションコンピューティングシステム２０２は、中央オペレーションシステムおよび／または、例えば、車両所有者、車両管理者、車隊オペレータ、サービスプロバイダ等の自律車両および／またはアプリケーションプラットフォームと関連付けられるエンティティと関連付けられることができる。
【００６３】
より具体的には、オペレーションコンピューティングシステム２０２は、車両車隊と関連付けられる動作を実施するために、１つ以上のコンピューティングデバイス２０４を含むことができる。コンピューティングデバイス２０４は、１つ以上のプロセッサ２０６と、少なくとも１つのメモリ２０８とを含むことができる。１つ以上のプロセッサ２０６は、任意の好適な処理デバイス（例えば、プロセッサコア、マイクロプロセッサ、ＡＳＩＣ、ＦＰＧＡ、コントローラ、マイクロコントローラ等）であり得、１つのプロセッサまたは動作可能に接続される複数のプロセッサであり得る。メモリ２０８は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＥＰＲＯＭ、フラッシュメモリデバイス、磁気ディスク等、およびそれらの組み合わせ等の１つ以上の非一過性コンピュータ可読記憶媒体を含むことができる。
【００６４】
メモリ２０８は、データ２１０と、コンピューティングデバイス２０４に本明細書に説明されるもの等の動作を実施させるようにプロセッサ２０６によって実行される、コンピュータ可読命令２１２とを記憶することができる。命令２１２は、任意の好適なプログラミング言語で書き込まれたソフトウェアであり得る、またはハードウェアにおいて実装されることができる。加えて、または代替として、命令２１２は、プロセッサ２０６上の論理的および／または仮想的に別個のスレッドにおいて実行されることができる。例えば、メモリ２０８は、１つ以上のプロセッサ２０６によって実行されると、１つ以上のプロセッサ２０６に、例えば、図４の１つ以上の動作を含む、本明細書に説明される動作および／または機能のうちのいずれかを実施させる、命令２１２を記憶することができる。加えて、いくつかの実装では、メモリ２０８は、本明細書に説明されるもの等のデータを含み得るデータ２１０を記憶することができ、オペレーションコンピューティングシステム２０２は、例えば、自律車両内の車両コンピューティングシステム（例えば、車両コンピューティングシステム１０６）等の１つ以上の遠隔コンピューティングシステムにデータの少なくとも一部を提供することができる。
【００６５】
いくつかの実装では、１つ以上のプロセッサ２０６および少なくとも１つのメモリ２０８は、オペレーションコンピューティングシステム２０２内の１つ以上のコンピューティングデバイス内に構成されてもよい。いくつかの実装では、オペレーションコンピューティングシステム２０２は、オペレーションコンピューティングシステム２０２から遠隔にある１つ以上のメモリデバイスからデータを取得することができる。
【００６６】
オペレーションコンピューティングシステム２０２内に含まれる１つ以上のコンピューティングデバイス２０４はまた、ユーザから等の入力を受信し、ユーザへの表示または再生のため等の出力を提供するために使用され得る、１つ以上の入力／出力インターフェース２１６を含むことができる。入力／出力インターフェース２１６は、例えば、ディスプレイデバイス、タッチスクリーン、タッチパッド、マウス、データ入力キー、１つ以上のスピーカ等のオーディオ出力デバイス、マイクロホン、触覚フィードバックデバイス等のユーザから情報を受信するかまたはユーザに情報を提供するためのデバイスを含むことができる。入力／出力インターフェース２１６は、例えば、オペレーションコンピューティングシステム２０２内に含まれるコンピューティングデバイス２０４の動作を制御するためにユーザによって使用されることができる。
【００６７】
コンピューティングデバイス２０４はまた、例えば、車両コンピューティングシステム１０６および／または同等物等のコンピューティングデバイス２０４から遠隔に位置するシステムまたはデバイスを含む、１つ以上のシステムまたはデバイスと通信するために使用される１つ以上の通信インターフェース２１４を含むことができる。通信インターフェース２１４は、１つ以上のネットワーク（例えば、ネットワーク２３０）と通信するための任意の回路、コンポーネント、ソフトウェア等を含むことができる。いくつかの実装では、通信インターフェース２１４は、例えば、データを通信するための通信コントローラ、受信機、送受信機、送信機、ポート、導体、ソフトウェア、および／またはハードウェアのうちの１つ以上のものを含むことができる。
【００６８】
いくつかの実装では、オペレーションコンピューティングシステム２０２は、１つ以上のサーバコンピューティングデバイスを含むことができる。オペレーションコンピューティングシステム２０２が、複数のサーバコンピューティングデバイスを含む場合、そのようなサーバコンピューティングデバイスは、例えば、連続コンピューティングアーキテクチャ、並列コンピューティングアーキテクチャ、またはそれらのある組み合わせを含む、種々のコンピューティングアーキテクチャに従って動作することができる。
【００６９】
いくつかの実装では、オペレーションコンピューティングシステム２０２は、エンティティの車隊内の車両にオンボードの車両コンピューティングシステムと、エンティティのオペレーション／制御センター内で動作する１つ以上の遠隔クライアントおよび／またはアプリケーションとの間のインターフェースとして変換／トランスポート層を提供し得る、車両ＡＰＩプラットフォームを含むことができる。例えば、車両ＡＰＩプラットフォームは、車両ＡＰＩと車両（例えば、車両コンピューティングシステム）との間に確立された通信パイプラインを経由して車両からデータを受信し、データを分類し、異なるメッセージングプロトコル上に一貫してデータを書き込み、一貫した方法で他のクライアント／アプリケーションに関するデータを集約し得るプラットフォームを提供する異なる手段を提供することができる。車両ＡＰＩプラットフォームは、車両外での車両データの拡張処理、リアルタイムでのそのようなデータの分析、および／または同等物を可能にするセキュアな様式で車両データをオペレーション／制御センターに通信するステップを提供することができる。
【００７０】
さらに図示されるように、システム２００は、例えば、図１に関して説明されるように、自律車両１０２を制御するための動作を提供し得る、自律車両１０２内に含まれる車両コンピューティングシステム１０６を含むことができる。いくつかの実装では、車両コンピューティングシステム１０６は、本明細書に説明されるように、自律車両運動計画を実施し、自律車両の動作を可能にすることができる。
【００７１】
より具体的には、車両コンピューティングシステム１０６は、自律車両と関連付けられる動作を実施するために、１つ以上のコンピューティングデバイス１２９を含むことができる。コンピューティングデバイス１２９は、１つ以上のプロセッサ１３０と、少なくとも１つのメモリ１３２とを含むことができる。１つ以上のプロセッサ１３０は、任意の好適な処理デバイス（例えば、プロセッサコア、マイクロプロセッサ、ＡＳＩＣ、ＦＰＧＡ、コントローラ、マイクロコントローラ等）であり得、１つのプロセッサまたは動作可能に接続される複数のプロセッサであり得る。メモリ１３２は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＥＰＲＯＭ、フラッシュメモリデバイス、磁気ディスク等、およびそれらの組み合わせ等の１つ以上の非一過性コンピュータ可読記憶媒体を含むことができる。
【００７２】
メモリ１３２は、データ１３４と、例えば、オペレーションコンピューティングシステムとの通信を提供することを含む、コンピューティングデバイス１２９に本明細書に説明されるもの等の動作を実施させるようにプロセッサ１３０によって実行される、コンピュータ可読命令１３６とを記憶することができる。命令１３６は、任意の好適なプログラミング言語で書き込まれたソフトウェアであり得る、またはハードウェアにおいて実装されることができる。加えて、または代替として、命令１３６は、プロセッサ１３０上の論理的および／または仮想的に別個のスレッドにおいて実行されることができる。例えば、メモリ１３２は、１つ以上のプロセッサ１３０によって実行されると、１つ以上のプロセッサ１３０に、例えば、図４の１つ以上の動作を含む、本明細書に説明される動作および／または機能のうちのいずれかを実施させる、命令１３６を記憶することができる。
【００７３】
いくつかの実装では、１つ以上のプロセッサ１３０および少なくとも１つのメモリ１３２は、車両コンピューティングシステム１０６内の１つ以上のコンピューティングデバイス内に構成されてもよい。いくつかの実装では、車両コンピューティングシステム１０６は、車両コンピューティングシステム１０６から遠隔にある１つ以上のメモリデバイスからデータを取得することができる。
【００７４】
車両コンピューティングシステム１０６内に含まれる１つ以上のコンピューティングデバイス１２９はまた、ユーザから等の入力を受信し、ユーザへの表示または再生のため等の出力を提供するために使用され得る、１つ以上の入力／出力インターフェース２２２を含むことができる。入力／出力インターフェース２２２は、例えば、ディスプレイデバイス、タッチスクリーン、タッチパッド、マウス、データ入力キー、１つ以上のスピーカ等のオーディオ出力デバイス、マイクロホン、触覚フィードバックデバイス等のユーザから情報を受信するかまたはユーザに情報を提供するためのデバイスを含むことができる。入力／出力インターフェース２２２は、例えば、車両コンピューティングシステム１０６内に含まれるコンピューティングデバイス１２９の動作を制御するためにユーザによって使用されることができる。
【００７５】
コンピューティングデバイス１２９はまた、自律車両にオンボードのシステムおよびデバイス、および、例えば、オペレーションコンピューティングシステム２０２および／または同等物等のコンピューティングデバイス１２９および／または自律車両から遠隔に位置するシステムまたはデバイスを含む、１つ以上のシステムまたはデバイスと通信するために使用される１つ以上の通信インターフェース２２０を含むことができる。通信インターフェース２２０は、１つ以上のネットワーク（例えば、ネットワーク２３０）と通信するための任意の回路、コンポーネント、ソフトウェア等を含むことができる。いくつかの実装では、通信インターフェース２２０は、例えば、データを通信するための通信コントローラ、受信機、送受信機、送信機、ポート、導体、ソフトウェア、および／またはハードウェアのうちの１つ以上のものを含むことができる。
【００７６】
いくつかの実装では、車両コンピューティングシステム１０６は、オペレーションコンピューティングシステム２０２上で動作する車両ＡＰＩプラットフォームを通してオペレーションコンピューティングシステム２０２等のサービスプロバイダのシステムとの双方向通信を可能にし得る、車両ＡＰＩクライアントを含むことができる。例えば、車両ＡＰＩプラットフォームおよび車両ＡＰＩクライアントは、車両コンピューティングシステムとオペレーションコンピューティングシステム２０２との間に通信トンネルを確立するステップを提供することができる。いくつかの実装では、車両ＡＰＩクライアントは、知的サービス品質（ＱｏＳ）を使用してデータを通信するステップ、異なる通信ストリームを経由してデータを多重化するステップ、例えば、リンク条件に基づいて、動的にデータトラフィックに優先順位を付ける、および／またはその優先度を下げるステップ、および／または同等物を提供することができる。
【００７７】
ネットワーク２３０は、デバイスの間の通信を可能にする任意のタイプのネットワークまたはネットワークの組み合わせであり得る。いくつかの実施形態では、ネットワークは、ローカルエリアネットワーク、広域ネットワーク、インターネット、セキュアネットワーク、セルラーネットワーク、メッシュネットワーク、ピアツーピア通信リンク、および／またはそれらのある組み合わせのうちの１つ以上のものを含むことができ、任意の数の有線または無線リンクを含むことができる。ネットワーク２３０を経由する通信は、例えば、任意のタイプのプロトコル、保護スキーム、エンコーディング、フォーマット、パッケージング等を使用する通信インターフェースを介して遂行されることができる。
【００７８】
図３は、本開示の例示的実施形態による、例示的車両−オペレーションシステムインターフェース３００のブロック図を描写する。本開示のシステムおよび方法は、自律車両１０２等のサービスプロバイダの車隊における１つ以上の車両と、オペレーションコンピューティングシステム３０２等のサービスプロバイダのオペレーションまたは制御センターとの間のセキュアな双方向通信を提供することができる。
【００７９】
図３に図示されるように、車両−オペレーションシステムインターフェース３００は、オペレーションシステム３０２と関連付けられる車両ＡＰＩ３０４を含むことができる。車両ＡＰＩ３０４は、エンティティの車隊内の車両（例えば、自律車両１０２および／または同等物）にオンボードの車両コンピューティングシステムと、エンティティのオペレーション／制御センター（例えば、オペレーションシステム３０２）内で動作する１つ以上の遠隔クライアントおよび／またはアプリケーション（例えば、車隊報告、車隊管理、車隊点検／保守、遠隔車両補助、ルーティング、スケジューリング等）との間のインターフェースとして変換／トランスポート層を提供することができる。
【００８０】
車両ＡＰＩ３０４は、（例えば、車両コンピューティングシステム１０６等を介して）車両ＡＰＩ３０４と自律車両１０２等の車両との間の１つ以上の通信チャネルを確立するステップを提供し得る、オフボードゲートウェイ３０６を含むことができる。オフボードゲートウェイ３０６は、同一の接続を通して恣意的な通信を送信するために使用され得る、車両１０２と車両ＡＰＩ３０４との間の多重接続を確立することができる。
【００８１】
いくつかの実装では、車両ＡＰＩ３０４は、オフボードゲートウェイ３０６を通して、車両ＡＰＩリレー／クライアント３０８とオフボードゲートウェイ３０６との間に複数のハイパーテキスト転送プロトコル（または他の好適なプロトコル）接続を確立するステップ、例えば、ＨＴＴＰ／２を使用するステップを提供し、接続内でトラフィック優先順位を並列化およびアサートする能力を可能にすることができる。いくつかの実装では、車両ＡＰＩ３０４のオフボードゲートウェイ３０６は、車両からオペレーションコンピューティングシステムへのＨＴＴＰ／２接続等の少なくとも２つのハイパーテキスト転送プロトコル（または他の好適なプロトコル）接続を確立することができ、少なくとも１つの接続は、高信頼性の高配信性トラフィック専用であり得、少なくとも１つの接続は、ベストエフォート型の非保証トラフィック専用であり得る。いくつかの実装では、複数の接続の使用は、下層トランスポートが、データがより重要なものとして識別され得るように異なる重要度を有する異なる接続の観点から制御されることを可能にすることができる。
【００８２】
車両１０２は、例えば、車両ＡＰＩ３０４のオフボードゲートウェイ３０６と車両１０２との間の１つ以上の通信チャネルを確立するステップを提供し得る、車両コンピューティングシステム（例えば、車両コンピューティングシステム１０６）と関連付けられる、車両ＡＰＩリレー／クライアント３０８を含むことができる。いくつかの実装では、車両１０２にオンボードの車両ＡＰＩリレー／クライアント３０８は、知的サービス品質（ＱｏＳ）を使用してデータを通信するステップ、異なる通信ストリームを経由してデータを多重化するステップ、例えば、リンク条件に基づいて、動的にデータトラフィックに優先順位を付ける、および／またはその優先度を下げるステップ、および／または同等物を提供することができる。いくつかの実装では、車両ＡＰＩリレー／クライアント３０８は、より重要であるとこれが見なすデータについての決定を行うステップを提供し、適宜、そのデータの通信を取り扱うことができる。
【００８３】
いくつかの実装では、車両ＡＰＩ３０４は、オフボードゲートウェイ３０６および車両ＡＰＩリレー／クライアント３０８を通して、オンボードデータトラフィック３１０（例えば、テレメトリ、ビデオ等）を車両１０２からオペレーションシステム３０２に通信するステップを提供することができる。例えば、オフボードゲートウェイ３０６は、車両ＡＰＩリレー／クライアント３０８からオンボードデータトラフィック３１０を受信することができ、車両ＡＰＩ３０４は、オンボードデータトラフィック３１０を取り扱い、オンボードデータトラフィック３１０をクライアントメッセージ３１４内のオペレーションシステム３０２と関連付けられる１つ以上のクライアントおよび／またはアプリケーション（例えば、車隊報告、車隊管理、車隊点検／保守、遠隔車両補助、ルーティング、スケジューリング等）に提供するステップを提供することができる。
【００８４】
例えば、いくつかの実装では、車両ＡＰＩ３０４は、車両１０２が、車両１０２との確立された接続を経由してオペレーションシステム３０２に複数のタイプのデータを送信することを可能にすることができる。例えば、いくつかの実装では、車両ＡＰＩ３０４は、車両１０２が、緊急または重大な状況において等、オペレーションシステム３０２に補助に関する要求を送信することを提供することができる。いくつかの実装では、車両ＡＰＩ３０４は、車両１０２が、標識および／または幾何学形状等の低分解能知覚データをオペレーションシステムに送信することを提供し、オペレーションシステム３０２と関連付けられる１つ以上のクライアント／アプリケーションによる車両１０２からオフボードのデータの処理を可能にし、世界のより深い理解の展開を可能にすることができる。いくつかの実装では、車両ＡＰＩ３０４は、車両が、例えば、現在の車両ポーズ（例えば、グローバルかつマップに対して）、車両軌道、オンボード診断、ビデオストリーム、および／または同等物等のデータをオペレーションシステム３０２に送信し、オペレーションシステム３０２と関連付けられる１つ以上のクライアント／アプリケーションによって処理されることを提供することができる。
【００８５】
いくつかの実装では、車両ＡＰＩ３０４は、オフボードゲートウェイ３０６および車両ＡＰＩリレー／クライアント３０８を通して、認証された車両メッセージ３１２をオペレーションシステム３０２から車両１０２に（例えば、車両コンピューティングシステム等に）通信するステップを提供することができる。例えば、オフボードゲートウェイ３０６は、オペレーションシステム３０２と関連付けられる１つ以上のクライアント／アプリケーションから車両メッセージ３１６（例えば、車両に送信する前にメッセージの認証を可能にするためにクライアントによって署名されるメッセージ）を受信することができ、車両ＡＰＩ３０４は、オフボードゲートウェイ３０６および車両ＡＰＩリレー／クライアント３０８を通して、認証されたメッセージ３１２として（例えば、いったん車両ＡＰＩ３０４が署名された車両メッセージ３１６を認証すると）、車両メッセージ３１６を車両１０２に通信するステップを提供することができる。
【００８６】
いくつかの実装では、車両ＡＰＩ３０４は、オペレーションシステム３０２が、複数のタイプのデータを車両１０２への確立された接続を経由して車両１０２に提供することを可能にすることができる。例えば、いくつかの実装では、車両ＡＰＩ３０４は、車両がそのコンピューティングシステムからデータをオフロードするための命令、車両が保守に関して報告するための命令、車両が燃料を調達するための命令、および／または同等物等、車両１０２に高レベル割当データを送信するステップを提供することができる。いくつかの実装では、車両ＡＰＩ３０４は、例えば、緊急または重大な状況において直ちに停止するように車両に命令する、緊急コマンドを車両１０２に送信するステップを提供することができる。いくつかの実装では、車両ＡＰＩ３０４は、例えば、ある座標に進むように車両に命令する、具体的制御メッセージを車両１０２に送信するステップを提供することができる。いくつかの実装では、車両ＡＰＩ３０４は、例えば、回避するべきエリア、乗車者を獲得するためにより多くの時間を費やすべきエリア、迂回されるべき工事中のエリア、および／または同等物等の特定の地理的領域にフラグを付ける、アラートおよび／または勧告を車両１０２に送信するステップを提供することができる。いくつかの実装では、そのようなアラートおよび／または勧告は、車隊内の複数の車両に関する車両ＡＰＩ集約データに基づいて展開されることができる。
【００８７】
いくつかの実装では、車両ＡＰＩ３０４は、例えば、メッセージのタイプを理解し、現在のネットワーク条件に基づいて、メッセージに適切に優先順位を付けることによって、車両１０２とオペレーションシステム３０２との間の劣化した通信状況を知的に取り扱うステップを提供することができる。いくつかの実装では、車両ＡＰＩ３０４は、データをより効率的に伝送するステップを提供するために、動的にデータ（例えば、車両メッセージ、オンボードデータ等）に優先順位を付ける、および／またはその優先度を下げるステップを提供することができる。
【００８８】
車両ＡＰＩ３０４はまた、オフボード側で（例えば、オペレーションシステム３０２において）通信に優先順位を付けるステップを提供することができる。例えば、いくつかの実装では、多数の車両からのメッセージ等の大量のトラフィックを受信するとき、車両ＡＰＩ３０４は、例えば、制御／補助に関する要求のようなメッセージを、診断情報またはトラフィック情報よりも重要なものとして分類することによって等、異なるメッセージの重要レベルを理解し、それらを適切に取り扱うことができる。
【００８９】
図４は、本開示の例示的実施形態による、車両とオペレーションセンターとの間の通信のための例示的動作４００のフローチャート図を描写する。動作４００の１つ以上の部分は、例えば、図２のオペレーションコンピューティングシステム２０２、図３のオペレーションシステム３０２、図１の車両コンピューティングシステム１０６、および／または同等物等の１つ以上のコンピューティングデバイスによって実装されることができる。さらに、動作４００の１つ以上の部分は、例えば、サービスプロバイダの車隊における１つ以上の車両とサービスプロバイダのオペレーションシステムとの間のセキュアな双方向通信を提供するための、本明細書に説明される（例えば、図１、２、および３のような）デバイスのハードウェアコンポーネント上のアルゴリズムとして実装されることができる。
【００９０】
４０２において、コンピューティングシステム（例えば、オペレーションコンピューティングシステム２０２、オペレーションコンピューティングシステム３０２、および／または同等物）内に含まれる１つ以上のコンピューティングデバイスが、車両（例えば、図１の自律車両１０２および／または同等物）から通信要求を取得することができる。例えば、コンピューティングシステムと関連付けられる車両ＡＰＩプラットフォームは、車両とオペレーションコンピューティングシステムとの間に通信を確立するための要求を受信することができる。
【００９１】
４０４において、コンピューティングシステムは、コンピューティングシステムと車両との間に１つ以上のセキュアな双方向チャネルを確立することができる。例えば、車両ＡＰＩプラットフォームは、車両とオペレーションコンピューティングシステムとの間に双方向通信トンネルを確立するステップを提供することができる。いくつかの実装では、車両ＡＰＩプラットフォームは、同一の接続を通して恣意的な通信を送信するために使用され得る、車両とオペレーションコンピューティングシステムとの間の多重接続を確立することができる。例えば、いくつかの実装では、車両ＡＰＩプラットフォームは、車両とオペレーションコンピューティングシステムとの間に、複数のハイパーテキスト転送プロトコル（または他の好適なプロトコル）接続を確立するステップ、例えば、ＨＴＴＰ／２を使用するステップを提供し、接続内でトラフィック優先順位を並列化およびアサートする能力を可能にすることができる。いくつかの実装では、車両ＡＰＩプラットフォームは、車両からオペレーションコンピューティングシステムへのＨＴＴＰ／２接続等の少なくとも２つのハイパーテキスト転送プロトコル（または他の好適なプロトコル）接続を確立することができ、少なくとも１つの接続は、高信頼性の高配信性トラフィック専用であり得、少なくとも１つの接続は、ベストエフォート型の非保証トラフィック専用であり得る。いくつかの実装では、複数の接続の使用は、下層トランスポートが、データがより重要なものとして識別され得るように異なる重要度を有する異なる接続の観点から制御されることを可能にすることができる。
【００９２】
４０６において、コンピューティングシステムは、１つ以上のチャネルを経由して車両から１つ以上のデータストリームを受信することができる。例えば、いくつかの実装では、１つ以上のチャネルは、車両外での車両データの拡張処理、リアルタイムでのそのようなデータの分析、および／または同等物を可能にするセキュアな様式で車両データをオペレーションコンピューティングシステムに通信するステップを提供することができる。
【００９３】
４０８において、コンピューティングシステムは、例えば、車両データをオペレーションコンピューティングシステムと関連付けられる１つ以上のインフラストラクチャエンドポイント（例えば、クライアント）にルーティングするために、受信された車両データのルーティングを決定することができる。例えば、いくつかの実装では、コンピューティングシステムは、車両ＡＰＩと車両との間に確立された１つ以上のチャネルを経由して車両からデータを受信し、データを分類し、異なるメッセージングプロトコル上に一貫してデータを書き込み、一貫した方法で他のクライアント／アプリケーションに関するデータをルーティングし得るプラットフォームを提供する異なる手段を提供することができる。
【００９４】
いくつかの実装では、車両ＡＰＩプラットフォームは、車両データのより複雑な理解、例えば、これが本データを受信／送信する理由の理解、異なるメッセージが相互に比較検討される方法の理解、および／または同等物を提供することができる。例えば、いくつかの実装では、車両ＡＰＩプラットフォームは、例えば、メッセージのタイプを理解し、現在のネットワーク条件に基づいて、メッセージに適切に優先順位を付けることによって、車両とサービスプロバイダのオペレーションシステムとの間の劣化した通信状況を知的に取り扱うステップを提供することができる。いくつかの実装では、車両ＡＰＩプラットフォームは、データをより効率的に伝送するステップを提供するために、動的にデータ（例えば、車両メッセージ）に優先順位を付ける、および／またはその優先度を下げるステップを提供することができる。
【００９５】
４１０において、コンピューティングシステムは、他の車両（例えば、別個に確立されたチャネルを経由してオペレーションコンピューティングシステムと通信する車隊内の他の車両）から受信されたデータとともに、１つ以上のチャネルを経由して受信されたデータを集約することができる。
【００９６】
例えば、いくつかの実装では、車両ＡＰＩプラットフォームは、複数の車両からデータを集約するステップを提供し、その特定の時点で車両が行っている内容の理解を可能にすることができる。いくつかの実装では、車両ＡＰＩプラットフォームは、車両からデータを集約するステップを提供し、特定の車両が行っている内容の決定を可能にする、リアルタイムでの車両の追跡を可能にする、および／または同等物を可能にすることができる。いくつかの実装では、車両ＡＰＩプラットフォームは、車両からリアルタイムデータをストリーミングするステップを提供し、例えば、車両からオペレーションシステムにテレメトリデータのライブストリームを提供し、車両への補助の提供を可能にすることができる。いくつかの実装では、車両データを集約するステップを提供することによって、車両ＡＰＩプラットフォームは、例えば、車隊内にある全ての車両、それらが所属する対象、それらが行っている内容の理解を促進し、車両の挙動についてのある時間窓にわたる履歴を提供する、経時的な車両データの移動スナップショットを提供する、および／または同等物を提供することができる。
【００９７】
４１２において、コンピューティングシステムは、受信された車両データをオペレーションコンピューティングシステムと関連付けられる１つ以上のクライアントに提供することができる。例えば、車両ＡＰＩは、車両外での車両データの拡張処理、リアルタイムでのそのようなデータの分析、および／または同等物を可能にするセキュアな様式で車両データをオペレーションコンピューティングシステムと関連付けられる１つ以上のクライアントに提供するステップを提供することができる。いくつかの実装では、コンピューティングシステムはさらに、１つ以上のインフラストラクチャエンドポイントからのメッセージ（例えば、コマンド／制御メッセージ等）を１つ以上のチャネルを経由して車両に中継するステップを提供することができる。
【００９８】
車両から遠隔のコンピューティングデバイスにおいて実施されるものとして本明細書に議論されるコンピューティングタスクは、代わりに、車両において（例えば、車両コンピューティングシステムを介して）実施されることができ、または逆もまた同様である。そのような構成は、本開示の範囲から逸脱することなく実装されることができる。コンピュータベースのシステムの使用は、コンポーネントの間のタスクおよび機能性の多種多様な可能性として考えられる構成、組み合わせ、および分割を可能にする。コンピュータ実装動作は、単一のコンポーネント上で、または複数のコンポーネントを横断して実施されることができる。コンピュータ実装タスクおよび／または動作は、連続的に、または並行して実施されることができる。データおよび命令は、単一のメモリデバイス内に、または複数のメモリデバイスを横断して記憶されることができる。
【００９９】
本主題は、その種々の具体的例示的実施形態に関して詳細に説明されたが、各実施例は、本開示の限定ではなく、解説として提供される。当業者は、前述の理解を達成することに応じて、そのような実施形態の改変、変形例、および均等物を容易に生産することができる。故に、主題の開示は、当業者に容易に明白であろうように、本主題へのそのような修正、変形例、および／または追加の包含を除外しない。例えば、１つの実施形態の一部として例証または説明される特徴は、なおもさらなる実施形態をもたらすために、別の実施形態と併用されることができる。したがって、本開示は、そのような改変、変形例、および均等物を網羅することを意図している。
【図１】
2020537431.tif 000003
【図２】
2020537431.tif 000004
【図３】
2020537431.tif 000005
【図４】
2020537431.tif 000006
【国際調査報告】
2020537431.tif 000007
2020537431.tif 000008
2020537431.tif 000009