JP2020537431A - 車両アプリケーションプログラミングインターフェースのためのシステムおよび方法 - Google Patents

車両アプリケーションプログラミングインターフェースのためのシステムおよび方法 Download PDF

Info

Publication number
JP2020537431A
JP2020537431A JP2020520458A JP2020520458A JP2020537431A JP 2020537431 A JP2020537431 A JP 2020537431A JP 2020520458 A JP2020520458 A JP 2020520458A JP 2020520458 A JP2020520458 A JP 2020520458A JP 2020537431 A JP2020537431 A JP 2020537431A
Authority
JP
Japan
Prior art keywords
computing system
vehicle
messages
vehicle computing
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2020520458A
Other languages
English (en)
Other versions
JP7026215B2 (ja
JP2020537431A5 (ja
Inventor
マシュー ジェイムズ ウェイ,
マシュー ジェイムズ ウェイ,
チェー ユー,
チェー ユー,
スティーブ エイヤース,
スティーブ エイヤース,
Original Assignee
ユーエーティーシー, エルエルシー
ユーエーティーシー, エルエルシー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ユーエーティーシー, エルエルシー, ユーエーティーシー, エルエルシー filed Critical ユーエーティーシー, エルエルシー
Publication of JP2020537431A publication Critical patent/JP2020537431A/ja
Publication of JP2020537431A5 publication Critical patent/JP2020537431A5/ja
Application granted granted Critical
Publication of JP7026215B2 publication Critical patent/JP7026215B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/008Registering or indicating the working of vehicles communicating information to a remotely located station
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0841Registering performance data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • H04W40/246Connectivity information discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/0088Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/566Grouping or aggregating service requests, e.g. for unified processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/44Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for communication between vehicles and infrastructures, e.g. vehicle-to-cloud [V2C] or vehicle-to-home [V2H]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/90Services for handling of emergency or hazardous situations, e.g. earthquake and tsunami warning systems [ETWS]

Abstract

システムおよび方法は、車両とエンティティインフラストラクチャとの間の通信を対象とする。一実施例では、車両から、およびそれへの通信を促進するためのコンピュータ実装方法は、1つ以上のコンピューティングデバイスを備えるコンピューティングシステムによって、車両コンピューティングシステムから通信を確立するための要求を取得するステップを含む。本方法はさらに、コンピューティングシステムによって、車両コンピューティングシステムへの1つ以上の双方向通信接続を確立するステップを含む。本方法はさらに、コンピューティングシステムによって、車両コンピューティングシステムへの1つ以上の通信接続を経由して1つ以上のメッセージを受信するステップを含む。本方法はさらに、コンピューティングシステムによって、1つ以上の受信されたメッセージに関するルーティングを決定するステップを含む。

Description

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

Claims (20)

  1. 車両からの通信および車両への通信を促進するためのコンピュータ実装方法であって、
    1つ以上のコンピューティングデバイスを備えるコンピューティングシステムによって、車両コンピューティングシステムから通信を確立するための要求を取得することと、
    前記コンピューティングシステムによって、前記車両コンピューティングシステムへの1つ以上の双方向通信接続を確立することと、
    前記コンピューティングシステムによって、前記車両コンピューティングシステムへの前記1つ以上の通信接続を経由して1つ以上のメッセージを受信することと、
    前記コンピューティングシステムによって、前記1つ以上の受信されたメッセージに関するルーティングを決定することと、
    前記コンピューティングシステムによって、少なくとも部分的に、前記決定されたルーティングに基づいて、前記1つ以上のメッセージを1つ以上のクライアントに提供することと
    を含む、コンピュータ実装方法。
  2. 前記車両コンピューティングシステムへの前記1つ以上の双方向通信接続を確立することは、前記車両コンピューティングシステムを認証することを含む、請求項1に記載のコンピュータ実装方法。
  3. 前記車両コンピューティングシステムへの前記1つ以上の双方向通信接続を確立することは、前記車両コンピューティングシステムへの少なくとも2つのハイパーテキスト転送プロトコル接続を確立することを含む、請求項1または請求項2に記載のコンピュータ実装方法。
  4. 前記少なくとも2つのハイパーテキスト転送プロトコル接続は、HTTP/2接続を含む、請求項3に記載のコンピュータ実装方法。
  5. 少なくとも1つのHTTP/2接続は、高信頼性トラフィック専用であり、少なくとも1つのHTTP/2接続は、ベストエフォート型トラフィック専用である、請求項4に記載のコンピュータ実装方法。
  6. 前記1つ以上の通信接続を経由して1つ以上のメッセージを受信することは、部分的に、前記車両コンピューティングシステムによって決定される優先順位に基づいて、メッセージを受信することを含む、請求項1−5のいずれかに記載のコンピュータ実装方法。
  7. 前記1つ以上の受信されたメッセージに関するルーティングを決定することは、少なくとも部分的に、1つ以上の現在のネットワーク条件に基づいて、前記1つ以上のメッセージに再び優先順位を付けることを含む、請求項1−6のいずれかに記載のコンピュータ実装方法。
  8. 前記コンピューティングシステムによって、複数の車両コンピューティングシステムから複数のメッセージを含むデータを集約することと、
    前記コンピューティングシステムによって、前記集約されたデータを前記1つ以上のクライアントに提供することと
    をさらに含む、請求項1−7のいずれかに記載のコンピュータ実装方法。
  9. コンピューティングシステムであって、
    1つ以上のプロセッサと、
    1つ以上のメモリであって、前記1つ以上のメモリは、命令を含み、前記命令は、前記1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに、動作を実施させ、前記動作は、
    車両コンピューティングシステムから通信を確立するための要求を取得することと、
    前記車両コンピューティングシステムへの1つ以上の双方向通信接続を確立することと、
    前記車両コンピューティングシステムへの前記1つ以上の通信接続を経由して1つ以上のメッセージを受信することと、
    前記1つ以上の受信されたメッセージに関するルーティングを決定することと、
    少なくとも部分的に、前記決定されたルーティングに基づいて、前記1つ以上のメッセージを1つ以上のクライアントに提供することと
    を含む、1つ以上のメモリと
    を備える、コンピューティングシステム。
  10. 前記車両コンピューティングシステムへの前記1つ以上の双方向通信接続を確立することは、前記車両コンピューティングシステムを認証することを含む、請求項9に記載のコンピューティングシステム。
  11. 前記車両コンピューティングシステムへの前記1つ以上の双方向通信接続を確立することは、前記車両コンピューティングシステムへの少なくとも2つのハイパーテキスト転送プロトコル接続を確立することを含む、請求項9または請求項10に記載のコンピューティングシステム。
  12. 前記少なくとも2つのハイパーテキスト転送プロトコル接続は、HTTP/2接続を含む、請求項11に記載のコンピューティングシステム。
  13. 少なくとも1つのHTTP/2接続は、高信頼性トラフィック専用であり、少なくとも1つのHTTP/2接続は、ベストエフォート型トラフィック専用である、請求項12に記載のコンピューティングシステム。
  14. 前記1つ以上の通信接続を経由して1つ以上のメッセージを受信することは、部分的に、前記車両コンピューティングシステムによって決定される優先順位に基づいて、メッセージを受信することを含む、請求項9−13のいずれかに記載のコンピューティングシステム。
  15. 前記1つ以上の受信されたメッセージに関するルーティングを決定することは、少なくとも部分的に、1つ以上の現在のネットワーク条件に基づいて、前記1つ以上のメッセージに再び優先順位を付けることを含む、請求項9−14のいずれかに記載のコンピューティングシステム。
  16. 前記動作はさらに、
    前記クライアントのうちの1つ以上のものから前記車両コンピューティングシステムに関する1つ以上のコマンド/制御メッセージを受信することと、
    前記1つ以上の通信接続を経由して、前記1つ以上のコマンド/制御メッセージを前記車両コンピューティングシステムに提供することと
    を含む、請求項9−15のいずれかに記載のコンピューティングシステム。
  17. システムであって、
    1つ以上の自律車両と、
    オペレーションコンピューティングシステムと
    を備え、
    前記1つ以上の自律車両は、
    車両コンピューティングシステムであって、前記車両コンピューティングシステムは、
    1つ以上のプロセッサと、
    1つ以上のメモリであって、前記1つ以上のメモリは、命令を含み、前記命令は、前記1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに、動作を実施させ、前記動作は、
    通信を確立するための要求を前記オペレーションコンピューティングシステムに送信することと、
    前記オペレーションコンピューティングシステムへの1つ以上の双方向通信接続を確立することと、
    1つ以上のメッセージに関する優先順位を決定することと、
    前記1つ以上の通信接続を経由して、前記1つ以上のメッセージを前記オペレーションコンピューティングシステムに送信することと
    を含む、1つ以上のメモリと
    を備える、車両コンピューティングシステム
    を備え、
    前記オペレーションコンピューティングシステムは、
    1つ以上のプロセッサと、
    1つ以上のメモリであって、前記1つ以上のメモリは、命令を含み、前記命令は、前記1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに、動作を実施させ、前記動作は、
    前記車両コンピューティングシステムから前記通信を確立するための要求を取得することと、
    前記車両コンピューティングシステムへの1つ以上の双方向通信接続を確立することと、
    前記車両コンピューティングシステムへの前記1つ以上の通信接続を経由して前記1つ以上のメッセージを受信することと、
    前記1つ以上の受信されたメッセージに関するルーティングを決定することと、
    少なくとも部分的に、前記決定されたルーティングに基づいて、前記1つ以上のメッセージを1つ以上のクライアントに提供することと
    を含む、1つ以上のメモリと
    を備える、システム。
  18. 前記車両コンピューティングシステムへの前記1つ以上の双方向通信接続を確立することは、前記車両コンピューティングシステムへの少なくとも2つのHTTP/2接続を確立することを含む、請求項17に記載のシステム。
  19. 少なくとも1つのHTTP/2接続は、高信頼性トラフィック専用であり、少なくとも1つのHTTP/2接続は、ベストエフォート型トラフィック専用である、請求項18に記載のシステム。
  20. 前記オペレーションコンピューティングシステムはさらに、
    前記クライアントのうちの1つ以上のものから前記車両コンピューティングシステムに関する1つ以上のコマンド/制御メッセージを受信することと、
    前記1つ以上の通信接続を経由して、前記1つ以上のコマンド/制御メッセージを前記車両コンピューティングシステムに提供することと
    を含む動作を含む、請求項17−19のいずれかに記載のシステム。
JP2020520458A 2017-10-11 2018-10-10 車両アプリケーションプログラミングインターフェースのためのシステムおよび方法 Active JP7026215B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762570955P 2017-10-11 2017-10-11
US62/570,955 2017-10-11
US15/896,276 US10791436B2 (en) 2017-10-11 2018-02-14 Systems and methods for a vehicle application programming interface
US15/896,276 2018-02-14
PCT/US2018/055127 WO2019074998A1 (en) 2017-10-11 2018-10-10 SYSTEMS AND METHODS FOR VEHICLE APPLICATION PROGRAMMING INTERFACE

Publications (3)

Publication Number Publication Date
JP2020537431A true JP2020537431A (ja) 2020-12-17
JP2020537431A5 JP2020537431A5 (ja) 2021-12-02
JP7026215B2 JP7026215B2 (ja) 2022-02-25

Family

ID=65994095

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020520458A Active JP7026215B2 (ja) 2017-10-11 2018-10-10 車両アプリケーションプログラミングインターフェースのためのシステムおよび方法

Country Status (5)

Country Link
US (1) US10791436B2 (ja)
EP (1) EP3679710B1 (ja)
JP (1) JP7026215B2 (ja)
CN (1) CN111357258B (ja)
WO (1) WO2019074998A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022201343A1 (ja) * 2021-03-24 2022-09-29 三菱電機株式会社 情報配信システム

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190220016A1 (en) * 2018-01-15 2019-07-18 Uber Technologies, Inc. Discrete Decision Architecture for Motion Planning System of an Autonomous Vehicle
WO2020006161A1 (en) * 2018-06-28 2020-01-02 Cavh Llc Cloud-based technology for connected and automated vehicle highway systems
JP6988723B2 (ja) * 2018-07-17 2022-01-05 株式会社オートネットワーク技術研究所 車載通信装置、通信プログラム及びメッセージ送信方法
EP3849150B1 (en) * 2018-09-04 2023-03-15 BYD Company Limited Secure open api for a vehicle
US10986686B2 (en) * 2019-07-11 2021-04-20 International Business Machines Corporation Offline device management
US11297474B2 (en) 2019-08-16 2022-04-05 The Boeing Company Aircraft to ground data systems and computing methods
US10848939B1 (en) * 2019-12-19 2020-11-24 The Boeing Company Aircraft to ground data systems and computing methods
US20210389137A1 (en) * 2020-06-16 2021-12-16 Uatc, Llc Systems and Methods for Integrating Autonomous Vehicles and Light Electric Vehicles
CN114255604A (zh) * 2020-09-21 2022-03-29 阿波罗智联(北京)科技有限公司 用于驾驶控制的方法、装置、设备、介质和系统
US20220148437A1 (en) * 2020-11-10 2022-05-12 Joby Aero, Inc. Systems and Methods for Facilitating Communication Between Aerial Computing Devices
DE112021006545T5 (de) * 2020-12-18 2024-01-18 Robocars Inc. Systeme und verfahren zur latenztoleranten unterstützung von autonomen fahrzeugen

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090077267A1 (en) * 2007-09-17 2009-03-19 Gm Global Technology Operations, Inc. Method and apparatus for implementing a mobile server
JP2010187289A (ja) * 2009-02-13 2010-08-26 Denso Corp ハンズフリー機能付き車載装置
US20120089684A1 (en) * 2010-10-08 2012-04-12 Ian Gareth Angus Methods and systems for communicating between a vehicle and a remote application server
US20170255966A1 (en) * 2014-03-28 2017-09-07 Joseph Khoury Methods and systems for collecting driving information and classifying drivers and self-driving systems
US20170264688A1 (en) * 2015-09-09 2017-09-14 Telefonaktiebolaget Lm Ericsson (Publ) Methods and devices for requesting and providing information

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI104593B (fi) * 1996-09-30 2000-02-29 Nokia Networks Oy Hierarkkinen synkronointimenetelmä
US8140658B1 (en) 1999-10-06 2012-03-20 Borgia/Cummins, Llc Apparatus for internetworked wireless integrated network sensors (WINS)
US7207041B2 (en) 2001-06-28 2007-04-17 Tranzeo Wireless Technologies, Inc. Open platform architecture for shared resource access management
US9459622B2 (en) 2007-01-12 2016-10-04 Legalforce, Inc. Driverless vehicle commerce network and community
US8750266B2 (en) * 2009-11-25 2014-06-10 Alcatel Lucent Dual transmission for communication networks
US20110167182A1 (en) * 2010-01-05 2011-07-07 Nokia Corporation Transport prioritization based on message type
US8543508B2 (en) 2010-07-09 2013-09-24 Visa International Service Association Gateway abstraction layer
US9014888B2 (en) 2011-07-21 2015-04-21 Saturna Green Systems Inc. Vehicle communication, analysis and operation system
US8407306B1 (en) * 2012-06-25 2013-03-26 Google Inc. Systems and methods for managing message delivery based on message priority
CN103167414B (zh) * 2013-03-18 2015-11-18 南京信息工程大学 基于智能手机参与感知的气象信息服务系统及其实现方法
US9547985B2 (en) 2014-11-05 2017-01-17 Here Global B.V. Method and apparatus for providing access to autonomous vehicles based on user context
US9547309B2 (en) 2015-05-13 2017-01-17 Uber Technologies, Inc. Selecting vehicle type for providing transport
EP3332398A4 (en) 2015-08-07 2019-03-13 Nokia Solutions and Networks Oy METHOD AND DEVICE FOR SUPPORTING VEHICLE-TO-INFRASTRUCTURE OR VEHICLE-TO-VEHICLE SERVICES
US9805605B2 (en) 2015-08-12 2017-10-31 Madhusoodhan Ramanujam Using autonomous vehicles in a taxi service
US10375174B2 (en) 2015-09-14 2019-08-06 Vinli, Inc. Cloud integrated vehicle platform
US9865163B2 (en) 2015-12-16 2018-01-09 International Business Machines Corporation Management of mobile objects
US9606794B1 (en) 2015-12-16 2017-03-28 International Business Machines Corporation Generating and managing applications using any number of different platforms
US10255582B2 (en) 2016-08-18 2019-04-09 Amazon Technologies, Inc. AGV traffic management system
WO2018067196A1 (en) 2016-10-03 2018-04-12 Gentex Corporation Driver identification and authentication systems and methods
US11164275B2 (en) 2016-12-30 2021-11-02 Lyft, Inc. Flexible API framework
US10475257B2 (en) 2017-06-02 2019-11-12 Moj.Io, Inc. Vehicle telematics compatibility
US11009868B2 (en) 2017-07-20 2021-05-18 Nuro, Inc. Fleet of autonomous vehicles with lane positioning and platooning behaviors

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090077267A1 (en) * 2007-09-17 2009-03-19 Gm Global Technology Operations, Inc. Method and apparatus for implementing a mobile server
JP2010187289A (ja) * 2009-02-13 2010-08-26 Denso Corp ハンズフリー機能付き車載装置
US20120089684A1 (en) * 2010-10-08 2012-04-12 Ian Gareth Angus Methods and systems for communicating between a vehicle and a remote application server
JP2013545345A (ja) * 2010-10-08 2013-12-19 ザ・ボーイング・カンパニー ビークルとリモートアプリケーションサーバとの間で通信する方法及びシステム
US20170255966A1 (en) * 2014-03-28 2017-09-07 Joseph Khoury Methods and systems for collecting driving information and classifying drivers and self-driving systems
US20170264688A1 (en) * 2015-09-09 2017-09-14 Telefonaktiebolaget Lm Ericsson (Publ) Methods and devices for requesting and providing information

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022201343A1 (ja) * 2021-03-24 2022-09-29 三菱電機株式会社 情報配信システム

Also Published As

Publication number Publication date
JP7026215B2 (ja) 2022-02-25
CN111357258A (zh) 2020-06-30
US20190110174A1 (en) 2019-04-11
US10791436B2 (en) 2020-09-29
EP3679710B1 (en) 2022-11-23
CN111357258B (zh) 2022-03-08
WO2019074998A1 (en) 2019-04-18
EP3679710A1 (en) 2020-07-15

Similar Documents

Publication Publication Date Title
JP7026215B2 (ja) 車両アプリケーションプログラミングインターフェースのためのシステムおよび方法
US20200302662A1 (en) System and Methods for Generating High Definition Maps Using Machine-Learned Models to Analyze Topology Data Gathered From Sensors
US11685403B2 (en) Systems and methods for vehicle-to-vehicle communications for improved autonomous vehicle operations
US11922341B2 (en) Context-based remote autonomous vehicle assistance
US11960290B2 (en) Systems and methods for end-to-end trajectory prediction using radar, LIDAR, and maps
US20200409369A1 (en) System and Methods for Autonomous Vehicle Testing
US11747808B2 (en) Systems and methods for matching an autonomous vehicle to a rider
US20210191398A1 (en) System and Methods for Automated Detection of Vehicle Cabin Events for Triggering Remote Operator Assistance
US20210279640A1 (en) Systems and Methods for Training Machine-Learned Models with Deviating Intermediate Representations
US11731663B2 (en) Systems and methods for actor motion forecasting within a surrounding environment of an autonomous vehicle
US20200033847A1 (en) Integration Platform for Autonomous Vehicles
US11704998B2 (en) System and methods for automatic generation of remote assistance sessions based on anomaly data collected from human-driven vehicle
US20220137615A1 (en) Systems and Methods for Dynamic Data Buffering for Autonomous Vehicle Remote Assistance
US20220105955A1 (en) Metrics for Evaluating Autonomous Vehicle Performance
US20230199450A1 (en) Autonomous Vehicle Communication Gateway Architecture

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20210601

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210915

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210915

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210915

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220113

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220214

R150 Certificate of patent or registration of utility model

Ref document number: 7026215

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150