(57)【要約】様々な実施形態は、一般的に、自律車両、ならびに、自律車両群をサービスとして提供するための関連付けられる機械的、電気的および電子的ハードウェア、コンピュータソフトウェアおよびシステム、ならびに、有線およびワイヤレスネットワーク通信に関係する。より具体的には、システム、デバイス、および方法は、自律車両の群を管理するように構成され、特に、方法は、自律車両の目的地ロケーションを決定するステップと、自律車両サービスプラットフォームにおいて、自律車両が向けられることになる送達ロケーションを計算するステップと、自律車両と関連付けられる送達ロケーションを実施するためのデータを識別するステップと、コマンドを表現するデータを自律車両に送信するステップとを含むことができる。コマンドは、自律車両の送達ロケーションへのナビゲーションを引き起こすように構成することができる。
2019505059.tif 000002
【特許請求の範囲】
【請求項１】
複数の自律車両のうちの１つの自律車両の目的地ロケーションを判断するステップと、
前記複数の自律車両が向けられることになる複数の起点ロケーションを判断するステップと、
前記自律車両の前記目的地ロケーションから、前記複数の起点ロケーションのうちの１つの起点ロケーションまでの少なくとも１つのルートを示すルーティングデータを識別するステップと、
前記ルーティングデータに少なくとも部分的に基づいて、前記起点ロケーションへとナビゲートするための前記自律車両を選択するステップと、
前記ルーティングデータを使用して前記自律車両のためのコマンドデータを生成するステップであって、前記コマンドデータは、前記自律車両に、前記ルートを介して前記起点ロケーションへとナビゲートさせるように構成される、ステップと、
前記コマンドデータを前記自律車両に送信するステップと
を備える方法。
【請求項４】
前記自律車両と前記目的地ロケーションとの間の第１の経路の部分と関連付けられたルーティング特性の変化を検出するステップと、
前記自律車両の第２の経路を識別するステップと、
前記自律車両のための追加のコマンドデータを生成するステップであって、前記追加のコマンドデータは、前記自律車両に、前記第２の経路を介してナビゲートさせるように構成される、ステップと、
前記追加のコマンドデータを前記自律車両に送信するステップと
をさらに備える請求項１に記載の方法。
【請求項７】
前記ルーティング特性の変化を検出するステップは、
前記目的地ロケーションを別の目的地ロケーションに変更する要求を検出するステップと、
前記要求にサービスするための前記第２の経路を判断するステップと
を備える請求項４に記載の方法。
【請求項８】
遠隔操作者コンピューティングデバイスを介して、前記追加のコマンドデータを前記自律車両に送信して、前記第２の経路を介してナビゲートさせるための遠隔操作者コマンドを受信するステップをさらに備える請求項４に記載の方法。
【請求項１５】
前記ルーティングデータは、前記自律車両と関連付けられた１つまたは複数の第１の特性をさらに示し、前記方法は、
前記複数の自律車両のうちの追加の自律車両の追加の目的地ロケーションを判断するステップと、
少なくとも、
前記追加の自律車両の前記追加の目的地ロケーションから前記起点ロケーションへの追加のルート、および
前記追加の自律車両と関連付けられた１つまたは複数の第２の特性
を指示する追加のルーティングデータを識別するステップと、
前記ルーティングデータおよび前記追加のルーティングデータに少なくとも部分的に基づいて、前記自律車両を前記起点ロケーションへとルーティングすることに関連付けられた第１の費用が、前記追加の自律車両を前記起点ロケーションへとルーティングすることに関連付けられた第２の費用よりも低いことを判断するステップと
をさらに備え、
前記自律車両を選択するステップは、前記第１の費用が前記第２の費用よりも低いという判断に少なくとも部分的に基づく請求項１に記載の方法。
【請求項１７】
ポリシデータまたは環境データのうちの少なくとも１つを受信するステップと、
前記ポリシデータまたは前記環境データのうちの少なくとも１つに少なくとも部分的に基づいて、前記ルーティングデータを生成するステップと
をさらに備える請求項１に記載の方法。
【請求項１８】
プロセッサを含む１つまたは複数のコンピューティングデバイスであって、前記１つまたは複数のコンピューティングデバイスは、
複数の自律車両のうちの少なくとも１つの自律車両の目的地ロケーションを判断することと、
前記複数の自律車両が向けられることになる複数の起点ロケーションを判断することと、
前記自律車両の前記目的地ロケーションから、前記複数の起点ロケーションのうちの１つの起点ロケーションまでの少なくとも１つのルートを示すルーティングデータを識別することと、
前記ルーティングデータに少なくとも部分的に基づいて前記自律車両のためのコマンドデータを生成することであって、前記コマンドデータは、前記自律車両に、前記ルートを介して前記起点ロケーションへとナビゲートさせるように構成される、ことと、
前記コマンドデータを前記自律車両に送信することと
を行うように構成される、１つまたは複数のコンピューティングデバイスを備えるシステム。
【請求項１９】
前記１つまたは複数のコンピューティングデバイスは、
コンピューティングデバイスから、前記複数の自律車両のうちの１つによる輸送の要求を受信することと、
前記コンピューティングデバイスと関連付けられたロケーションを判断することと
を行うようにさらに構成され、
前記複数の起点ロケーションを判断することは、少なくとも、前記コンピューティングデバイスと関連付けられた前記ロケーションに少なくとも部分的に基づいて前記起点ロケーションを判断することを備える請求項１８に記載のシステム。
【請求項２０】
前記１つまたは複数のコンピューティングデバイスは、
前記自律車両と前記目的地ロケーションとの間の第１の経路の部分と関連付けられたルーティング特性の変化を検出することと、
前記自律車両の第２の経路を識別することと、
前記自律車両のための追加のコマンドデータを生成することであって、前記追加のコマンドデータは、前記自律車両に、前記第２の経路を介してナビゲートさせるように構成される、ことと、
前記追加のコマンドデータを前記自律車両に送信することと
を行うようにさらに構成される請求項１８に記載のシステム。
【請求項２２】
前記１つまたは複数のコンピューティングデバイスは、
前記複数の自律車両のうちの追加の自律車両の追加の目的地ロケーションを判断することと、
前記追加の自律車両の前記追加の目的地ロケーションから前記起点ロケーションへの少なくとも１つの追加のルートを示す追加のルーティングデータを識別することと、
前記自律車両を、前記ルートを介して前記起点ロケーションへとナビゲートすることに関連付けられた第１の時間を判断することと、
前記追加の自律車両を、前記追加のルートを介して前記起点へとナビゲートすることに関連付けられた第２の時間を判断することと、
前記第１の時間が前記第２の時間よりも短いと判断することと、
前記第１の時間が前記第２の時間よりも短いという判断に少なくとも部分的に基づいて、前記起点ロケーションへとナビゲートするための前記自律車両を選択することと
を行うようにさらに構成される請求項１８に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
様々な実施形態は、一般的に、自律車両、ならびに、自律車両群をサービスとして提供するための関連付けられる機械的、電気的および電子的ハードウェア、コンピュータソフトウェアおよびシステム、ならびに、有線およびワイヤレスネットワーク通信に関係する。より具体的には、システム、デバイス、および方法は、自律車両の群を管理するように構成される。
【背景技術】
【０００２】
関連出願の相互参照
本ＰＣＴ国際出願は、２０１５年１１月４日に出願された「ＣＯＯＲＤＩＮＡＴＩＯＮ  ＯＦ  ＤＩＳＰＡＴＣＨＩＮＧ  ＡＮＤ  ＭＡＩＮＴＡＩＮＩＮＧ  ＦＬＥＥＴ  ＯＦ  ＡＵＴＯＮＯＭＯＵＳ  ＶＥＨＩＣＬＥＳ」と題する米国出願第１４／７５６，９９５号の継続出願であり、この出願は、２０１５年１１月４日に出願された「ＡＵＴＯＮＯＭＯＵＳ  ＶＥＨＩＣＬＥ  ＦＬＥＥＴ  ＳＥＲＶＩＣＥ  ＡＮＤ  ＳＹＳＴＥＭ」と題する米国特許出願第１４／９３２，９５９号、２０１５年１１月４日に出願された「ＡＤＡＰＴＩＶＥ  ＭＡＰＰＩＮＧ  ＴＯ  ＮＡＶＩＧＡＴＥ  ＡＵＴＯＮＯＭＯＵＳ  ＶＥＨＩＣＬＥＳ  ＲＥＳＰＯＮＳＩＶＥ  ＴＯ  ＰＨＹＳＩＣＡＬ  ＥＮＶＩＲＯＮＭＥＮＴ  ＣＨＡＮＧＥＳ」と題する米国特許出願第１４／９３２，９６３号、２０１５年１１月４日に出願された「ＴＥＬＥＯＰＥＲＡＴＩＯＮ  ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＦＯＲ  ＴＲＡＪＥＣＴＯＲＹ  ＭＯＤＩＦＩＣＡＴＩＯＮ  ＯＦ  ＡＵＴＯＮＯＭＯＵＳ  ＶＥＨＩＣＬＥＳ」と題する米国特許出願第１４／９３２，９６６号、２０１５年１１月４日に出願された「ＡＵＴＯＭＡＴＥＤ  ＥＸＴＲＡＣＴＩＯＮ  ＯＦ  ＳＥＭＡＮＴＩＣ  ＩＮＦＯＲＭＡＴＩＯＮ  ＴＯ  ＥＮＨＡＮＣＥ  ＩＮＣＲＥＭＥＮＴＡＬ  ＭＡＰＰＩＮＧ  ＭＯＤＩＦＩＣＡＴＩＯＮＳ  ＦＯＲ  ＲＯＢＯＴＩＣ  ＶＥＨＩＣＬＥＳ」と題する米国特許出願第１４／９３２，９４０号、２０１５年１１月４日に出願された「ＡＤＡＰＴＩＶＥ  ＡＵＴＯＮＯＭＯＵＳ  ＶＥＨＩＣＬＥ  ＰＬＡＮＮＥＲ  ＬＯＧＩＣ」と題する米国特許出願第１４／７５６，９９２号、２０１５年１１月４日に出願された「ＳＥＮＳＯＲ−ＢＡＳＥＤ  ＯＢＪＥＣＴ−ＤＥＴＥＣＴＩＯＮ  ＯＰＴＩＭＩＺＡＴＩＯＮ  ＦＯＲ  ＡＵＴＯＮＯＭＯＵＳ  ＶＥＨＩＣＬＥＳ」と題する米国特許出願第１４／７５６，９９１号、および２０１５年１１月４日に出願された「ＣＡＬＩＢＲＡＴＩＯＮ  ＦＯＲ  ＡＵＴＯＮＯＭＯＵＳ  ＶＥＨＩＣＬＥ  ＯＰＥＲＡＴＩＯＮ」と題する米国特許出願第１４／７５６，９９６号に関係付けられ、これらはすべて本明細書において、参照によりそれらの全体が本明細書に組み込まれる。
【０００３】
無人運転車両を開発するための様々な手法は、主に、消費者が購入するための無人運転車両を製造するという目的をもって従来の車両（例えば、手動運転される自動車両）を自動化することに焦点を当てている。例えば、いくつかの自動車会社および関連会社は、消費者に、運転者なしで動作することができる車両を所有する能力を提供するために、従来の自動車、および、ステアリングのような制御メカニズムを修正している。いくつかの手法において、従来の無人運転車両は、いくつかの条件において安全を重要視すべき運転機能を実施するが、運転者が、乗員の安全を危険にさらすおそれがある特定の課題を車両コントローラが解決することができない場合に、運転者が制御（例えば、ステアリングなど）を担うことを必要とする。
【０００４】
機能的ではあるが、従来の無人運転車両は、一般的に、いくつかの欠点を有する。例えば、開発中の多数の無人運転車は、手動（すなわち、人間によって制御される）ステアリングおよび他の同様の自動車機能を必要とする車両から発展している。それゆえ、多数の無人運転車は、特定の座席またはロケーションが車両内で確保されている免許を受けた運転者に対応するように設計されるべきであるというパラダイムに基づく。そのため、無人運転車両は、準最適に設計されており、一般的に、車両設計を単純化し、資源を節約する（例えば、無人運転車両を製造する費用を低減する）機会を逸している。従来の無人運転車両には、他の欠点も存在する。
【０００５】
他の欠点は従来の輸送サービスにも存在し、これらは、例えば、実効的に、従来の輸送および相乗りサービスを提供する一般的な手法に起因して車両の在庫を管理するのにあまり適合されていない。１つの従来の手法において、搭乗者は、人間の運転者および車両（例えば、個人が所有している）を搭乗者に割り当てる集中型サービスを介して輸送サービスを要求するために、モバイルアプリケーションにアクセスすることを要求される。異なる所有者によって所有されている車両を使用することによって、自家用車および安全システムの保守管理は検査されないままになる。別の従来の手法において、会員として登録している運転者が、会員の間で共有されている車両にアクセスすることを可能にすることによって、何らかのエンティティが、車両のグループの相乗りを可能にする。運転者は特定のロケーションにある、共有されている車両に乗車し、下車する必要があり、これは都市環境においては希少で少なく、相乗りされる車両を駐車するための相対的に高価な不動産（すなわち、駐車場）にアクセスすることを必要とするため、この手法は、従来の輸送サービスを提供するにはあまり適合されていない。上述されている従来の手法において、輸送サービスを提供するために使用される従来の車両は、運転者が離れると車両が動けなくされるため、一般的に在庫の観点から十分に利用されていない。さらに、相乗り手法（および個人によって所有されている車両の輸送サービス）は一般的に、使用状況および一般的な走行パターンに適合させるために輸送サービスの需要に合わせるために在庫のバランスを取り戻すのにはあまり適合されていない。また、自動運転自動化機能が制限されている、いくつかの従来記述されている車両もまた、人間の運転者が一般的に必要とされ得るため、在庫のバランスを取り戻すのにはあまり適合されていない。自動運転自動化機能が制限されている車両の例は、米国運輸省道路交通安全局（「ＮＨＴＳＡ」）による、レベル３（「Ｌ３」）車両として指定されている車両である。
【０００６】
別の欠点として、無人運転車両に対する一般的な手法は、一般的に、走行中の車両と、車両の他の運転者または個人との間の相互作用（例えば、社会的相互作用）に関して車両を検出およびナビゲートするのにはあまり適合されていない。例えば、いくつかの従来の手法は、無人運転車両の乗員および他の車両の運転者、歩行者などに対する安全性のリスクに対処する目的のために、歩行者、自転車利用者など、および、アイコンタクト、ジェスチャなどのような関連付けられる相互作用を識別することが十分に可能ではない。
【０００７】
したがって、必要とされているものは、従来の技法の制限なしに、自律車両を実施するための解決策である。
【図面の簡単な説明】
【０００８】
本発明の様々な実施形態または例（「例」）が、以下の詳細な説明および添付の図面において開示される。
【図１】いくつかの実施形態による、自律車両サービスプラットフォームに通信可能にネットワーク接続されている自律車両の群の実施を示す図である。
【図２】いくつかの実施形態による、自律車両の群を監視するためのフロー図の例である。
【図３Ａ】いくつかの例による、センサおよび他の自律車両構成要素の例を示す図である。
【図３Ｂ】いくつかの例による、センサフィールド冗長性およびセンサフィールドの喪失に対する自律車両の適合の例を示す図である。
【図３Ｃ】いくつかの例による、センサフィールド冗長性およびセンサフィールドの喪失に対する自律車両の適合の例を示す図である。
【図３Ｄ】いくつかの例による、センサフィールド冗長性およびセンサフィールドの喪失に対する自律車両の適合の例を示す図である。
【図３Ｅ】いくつかの例による、センサフィールド冗長性およびセンサフィールドの喪失に対する自律車両の適合の例を示す図である。
【図４】いくつかの例による、通信レイヤを介して自律車両コントローラに通信可能に結合されている自律車両サービスプラットフォームを含むシステムを示す基本ブロック図である。
【図５】いくつかの実施形態による、自律車両を制御するためのフロー図の例である。
【図６】いくつかの実施形態による、自律車両コントローラのアーキテクチャの例を示す図である。
【図７】いくつかの実施形態による、自律車両の群との信頼可能な通信を維持するために冗長な通信チャネルを実施する自律車両サービスプラットフォームの例を示す図である。
【図８】いくつかの実施形態による、様々なアプリケーションの間でデータを交換するように構成されているメッセージングアプリケーションの例を示す図である。
【図９】いくつかの例による、図８に記述されている通信プロトコルを使用した遠隔操作を促進するためのデータのタイプを示す図である。
【図１０】いくつかの実施形態による、遠隔操作者が経路プランニングに影響を与えることができる遠隔操作者インターフェースの例を示す図である。
【図１１】いくつかの例による、遠隔操作を呼び出すように構成されているプランナ（ｐｌａｎｎｅｒ）の例を示す図である。
【図１２】いくつかの実施形態による、自律車両を制御するように構成されているフロー図の例である。
【図１３】いくつかの例による、プランナが軌道を生成することができる例を示す図である。
【図１４】いくつかの実施形態による、自律車両サービスプラットフォームの別の例を示す図である。
【図１５】いくつかの実施形態による、自律車両を制御するためのフロー図の例である。
【図１６】いくつかの例による、群最適化マネージャ（ｆｌｅｅｔ  ｏｐｔｉｍｉｚａｔｉｏｎ  ｍａｎａｇｅｒ）を実施する自律車両群マネージャ（ａｕｔｏｎｏｍｏｕｓ  ｖｅｈｉｃｌｅ  ｆｌｅｅｔ  ｍａｎａｇｅｒ）の例の図である。
【図１７】いくつかの実施形態による、自律車両の群を管理するためのフロー図の例である。
【図１８】いくつかの実施形態による、自律車両通信リンクマネージャを実施する自律車両群マネージャを示す図である。
【図１９】いくつかの実施形態による、イベント中の自律車両に対するアクションを決定するためのフロー図の例である。
【図２０】いくつかの実施形態による、ローカライザの例を示す図である。
【図２１】いくつかの実施形態による、集積センサデータに基づいて局所的位置（ｌｏｃａｌ  ｐｏｓｅ）データを生成するためのフロー図の例である。
【図２２】いくつかの実施形態による、ローカライザの別の例を示す図である。
【図２３】いくつかの実施形態による、知覚エンジンの例を示す図である。
【図２４】いくつかの実施形態による、知覚エンジンデータを生成するためのフロー図の例である。
【図２５】いくつかの実施形態による、セグメンテーションプロセッサ（ｓｅｇｍｅｎｔａｔｉｏｎ  ｐｒｏｃｅｓｓｏｒ）の例を示す図である。
【図２６Ａ】様々な実施形態による、オブジェクトトラッカ（ｏｂｊｅｃｔ  ｔｒａｃｋｅｒ）およびクラシファイヤ（ｃｌａｓｓｉｆｉｅｒ）の例を示す図である。
【図２６Ｂ】少なくともいくつかの例による、オブジェクトトラッカの別の例を示す図である。
【図２７】いくつかの例による、知覚エンジンのフロントエンドプロセッサの例の図である。
【図２８】いくつかの実施形態による、合成環境において自律車両をシミュレートするように構成されているシミュレータを示す図である。
【図２９】いくつかの実施形態による、自律車両の様々な態様をシミュレートするためのフロー図の例である。
【図３０】いくつかの実施形態による、マップデータを生成するためのフロー図の例である。
【図３１】いくつかの実施形態による、マッピングエンジンのアーキテクチャを示す図である。
【図３２】いくつかの実施形態による、自律車両アプリケーションを示す図である。
【図３３】様々な実施形態による、自律車両サービスの構成要素に様々な機能を提供するように構成されている様々なコンピューティングプラットフォームの例を示す図である。
【図３４】様々な実施形態による、自律車両サービスの構成要素に様々な機能を提供するように構成されている様々なコンピューティングプラットフォームの例を示す図である。
【図３５】様々な実施形態による、自律車両サービスの構成要素に様々な機能を提供するように構成されている様々なコンピューティングプラットフォームの例を示す図である。
【図３６】いくつかの例による、群最適化マネージャの例を示す図である。
【図３７Ａ】いくつかの例による、自律車両群最適化データを格納するように構成されているリポジトリのデータタイプおよびデータ構成を示す図である。
【図３７Ｂ】いくつかの例による、自律車両群最適化データを格納するように構成されているリポジトリのデータタイプおよびデータ構成を示す図である。
【図３８】いくつかの例による、最適化されたルーティング経路のセットによる自律車両のルーティングの例を示す図である。
【図３９】いくつかの例による、特定の送達ロケーションによる自律車両のルーティングの例を示す図である。
【図４０】いくつかの例による、自律車両の少なくとも１つの構成要素の低減された機能による自律車両のルーティングの例を示す図である。
【図４１】いくつかの例による、自律車両の群を管理するためのルートのセットの最適化の例を示すフロー図である。
【図４２】様々な実施形態による、自律車両サービスの構成要素に様々な群管理関連機能および／または構造を提供するように構成されている様々なコンピューティングプラットフォームの例を示す図である。
【発明を実施するための形態】
【０００９】
様々な実施形態または例は、システム、プロセス、装置、ユーザインターフェース、コンピュータ可読記憶媒体または光、電子、もしくはワイヤレス通信リンクを介してプログラム命令が送信されるコンピュータネットワークのようなコンピュータ可読媒体上の一連のプログラム命令としてを含む、いくつかの方法で実施されてもよい。一般に、開示されているプロセスの動作は、特許請求の範囲において別途提供されない限り、任意の順序で実施されてもよい。
【００１０】
１つまたは複数の例の詳細な説明が、添付の図面とともに下記に提供される。詳細な説明は、そのような例と関連して提供されるが、いかなる特定の例にも限定されない。その範囲は、特許請求の範囲、ならびにいくつかのその代替形態、修正形態、および均等物によってのみ限定される。完全な理解を提供するために、以下の説明において、いくつかの特定の詳細が記載されている。これらの詳細は、例の目的のために提供されており、記述されている技法は、これらの特定の詳細のいくつかまたはすべてなしに、特許請求の範囲に従って実践されることができる。明瞭化のために、例に関係付けられる技術分野において知られている技術的資料は、説明を不必要に曖昧にすることを回避するために、詳細には記述されていない。
【００１１】
図１は、いくつかの実施形態による、自律車両サービスプラットフォームに通信可能にネットワーク接続されている自律車両の群の実施を示す図である。図１００は、サービスとして動作している自律車両の群１０９（例えば、自律車両１０９ａ〜１０９ｅのうちの１つまたは複数）を示し、各自律車両１０９は、道路網１１０を自動運転し、自律車両サービスプラットフォーム１０１との通信リンク１９２を確立するように構成されている。自律車両の群１０９がサービスを構成する例において、ユーザ１０２は、自律輸送手段を求める要求１０３を、１つまたは複数のネットワーク１０６を介して自律車両サービスプラットフォーム１０１に送信することができる。応答して、自律車両サービスプラットフォーム１０１は、ユーザ１０２を地理的ロケーション１１９から地理的ロケーション１１１へと自律的に輸送するために、自律車両１０９の１つを派遣することができる。自律車両サービスプラットフォーム１０１は、ステーション１９０から地理的ロケーション１１９へと自律車両を派遣してもよく、または、ユーザ１０２の輸送要求にサービスするために、すでに移動中の（例えば、乗員なしで）自律車両１０９ｃを転用してもよい。自律車両サービスプラットフォーム１０１は、ユーザ１０２（例えば、搭乗者としての）からの要求に応答して、搭乗者を乗せて移動中の自律車両１０９ｃを転用するようにさらに構成されてもよい。加えて、自律車両サービスプラットフォーム１０１は、既存の搭乗者が下車した後にユーザ１０２の要求にサービスするために転用するために、搭乗者を乗せて移動中の自律車両１０９ｃを確保するように構成されてもよい。複数の自律車両サービスプラットフォーム１０１（図示せず）および１つまたは複数のステーション１９０が、道路網１１０に関連して１つまたは複数の自律車両１０９をサービスするために実施されてもよい。１つまたは複数のステーション１９０は、自律車両１０９の在庫を格納、サービス、管理、および／または維持するように構成されてもよい（例えばステーション１９０は、自律車両サービスプラットフォーム１０１を実施する１つまたは複数のコンピューティングデバイスを含んでもよい）。
【００１２】
いくつかの例によれば、自律車両１０９ａ〜１０９ｅのうちの少なくともいくつかは、双方向性自律車両（「ＡＶ」）１３０のような双方向性自律車両として構成される。双方向性自律車両１３０は、限定ではないが、主に長手方向軸１３１に沿っていずれかの方向に走行するように構成されてもよい。したがって、双方向性自律車両１３０は、隣接した周辺の他者（例えば、他の運転者、歩行者、自転車利用者など）、および、双方向性自律車両１３０が走行している方向を警告するために、車両の外部のアクティブな照明を実施するように構成されてもよい。例えば、アクティブ光源１３６が、第１の方向に走行しているときはアクティブライト（ａｃｔｉｖｅ  ｌｉｇｈｔ）１３８ａとして実施されてもよく、または、第２の方向に走行しているときはアクティブライト１３８ｂとして実施されてもよい。アクティブライト１３８ａは、任意選択のアニメーション（例えば、可変強度の光の光パターンまたは経時的に変化し得る色）を伴う、１つまたは複数の色からなる第１のサブセットを使用して実施されてもよい。同様に、アクティブライト１３８ｂは、１つまたは複数の色からなる第２のサブセット、および、アクティブライト１３８ａのものとは異なってもよい光パターンを使用して実施されてもよい。例えば、アクティブライト１３８ａは、「テールライト」としての白色光を使用して実施されてもよい。アクティブライト１３８ａおよび１３８ｂ、またはその部分は、（例えば、黄色光を使用して）「ターンシグナル指示」機能を提供することのような、他の色に光関連機能を提供するように構成されてもよい。様々な例によれば、自律車両１３０内の論理は、任意の数の管轄に関する様々な安全性要件および交通規制または法律に準拠するように、アクティブライト１３８ａおよび１３８ｂを適応させるように構成されてもよい。
【００１３】
いくつかの実施形態において、双方向性自律車両１３０は、四半部１９４のような各四半部内に、同様の構造的要素および構成要素を有するように構成されてもよい。四半部は、少なくともこの例においては、両方とも、平面１３２および１３４の各側に２つの同様の半部を形成するのに車両を通過する平面１３２および１３４の交差によって規定される双方向性自律車両１３０の部分として示されている。さらに、双方向性自律車両１３０は、他の機能の中でも運転制御（例えば、推進、ステアリングなど）およびアクティブ光源１３６を含む主要ないくつかの車両機能を制御するように構成されている論理（例えば、ハードウェアもしくはソフトウェア、またはそれらの組み合わせ）を含む自律車両コントローラ１４７を含むことができる。双方向性自律車両１３０はまた、車両上の様々なロケーションに配置されているいくつかのセンサ１３９をも含む（他のセンサは図示されていない）。
【００１４】
自律車両コントローラ１４７は、自律車両１０９の局所的位置（例えば、ローカル場所）を決定し、車両に対する外部オブジェクトを検出するようにさらに構成されてもよい。例えば、双方向性自律車両１３０が、道路網１１０内で方向１１９に走行していると考える。自律車両コントローラ１４７のローカライザ（図示せず）が、地理的ロケーション１１１における局所的位置を決定することができる。そのため、ローカライザは、建造物１１５および１１７の表面と関連付けられるセンサデータのような、取得されるセンサデータを使用することができ、これは、局所的位置を決定するために、マップデータ（例えば、反射データを含む３Ｄマップデータ）のような基準データに対して比較されることができる。さらに、自律車両コントローラ１４７の知覚エンジン（図示せず）が、外部オブジェクト１１２（「樹木」）および外部オブジェクト１１４（「歩行者」）のような外部オブジェクトの挙動を検出、分類、および予測するように構成されてもよい。そのような外部オブジェクトの分類は、外部オブジェクト１１２のような静的オブジェクト、および、外部オブジェクト１１４のような動的オブジェクトとして、オブジェクトを広範に分類することができる。ローカライザおよび知覚エンジン、ならびにＡＶコントローラ１４７の他の構成要素は、協働して、自律車両１０９に自律的に運転させる。
【００１５】
いくつかの例によれば、自律車両サービスプラットフォーム１０１は、自律車両１０９が遠隔操作を要求する場合に、遠隔操作者サービスを提供するように構成されている。例えば、自律車両１０９ｄ内の自律車両コントローラ１４７が、挿入図１２０に示されているように、ポイント１９１において道路１２２上の経路１２４を閉塞しているオブジェクト１２６を検出すると考える。自律車両コントローラ１４７が、車両１０９ｄが相対的に高い確実度で安全に移動することができる経路または軌道を確定することができない場合、自律車両コントローラ１４７は、遠隔操作サービスを求める要求メッセージ１０５を送信することができる。応答して、遠隔操作者コンピューティングデバイス１０４が、障害物１２６を首尾よく（かつ安全に）切り抜けるための方策を実施するための命令を、遠隔操作者１０８から受信することができる。その後、車両に、例えば、代替の経路１２１に沿って移動するときに二重線のセットを安全にまたがせるために、自律車両１０９ｄに応答データ１０７が返信され得る。いくつかの例において、遠隔操作者コンピューティングデバイス１０４は、経路のプランニングから除外するために、地理的領域を識別する応答を生成することができる。特に、追従するための経路を提供するのではなく、遠隔操作者１０８は、自律車両が回避すべき領域またはロケーションを規定することができる。
【００１６】
上記を考慮して、自律車両１３０および／または自律車両コントローラ１４７、ならびにそれらの構成要素の構造および／または機能は、自律車両１０９が自動運転することを可能にするために、位置特定および知覚のような自律関連動作を通じてリアルタイム（またはほぼリアルタイム）の軌道計算を実施することができる。
【００１７】
いくつかの事例において、双方向性自律車両１３０の双方向性は、互いに同様または実質的に同様である四半部１９４（または任意の他の数の対称な部分）を有する車両を提供する。そのような対称性は、設計の複雑度を低減し、相対的に、固有の構成要素または構造の数を低減し、それによって、在庫および製造の複雑度を低減する。例えば、駆動系およびホイールシステムは、それら四半部１９４のいずれに配置されてもよい。さらに、自律車両コントローラ１４７は、そうでなければ乗員の安全性に影響を与える可能性があるイベントまたは課題を解決しながら、自律車両１０９が移動中に遅延される可能性を低減するために、遠隔操作サービスを呼び出すように構成されている。いくつかの事例において、道路網１１０の可視部分は、自律車両１０９の図１に示す道路網に対する動きを限定または他の様態で制御することができる地理上のフェンス領域を示す。様々な例によれば、自律車両１０９、およびその群は、共有されている車両の効率を提供しながら、ポイント間の人の移動の簡便性およびプライバシーを伴って需要に応じた輸送手段を提供することができるレベル４（「完全自動運転」またはＬ４）車両として動作するように構成可能であり得る。いくつかの例において、自律車両１０９、または、本明細書において記述されている任意の自律車両は、ステアリングホイール、または、自律車両１０９の手動（すなわち、人間によって制御される）ステアリングを提供する任意の他の機械的手段を省略するように構成されてもよい。さらに、自律車両１０９、または、本明細書において記述されている任意の自律車両は、座席、または、車両内で乗員がステアリングホイールまたはステアリングシステムの任意の機械インターフェースに携わるために確保されているロケーションを省略するように構成されてもよい。
【００１８】
図２は、いくつかの実施形態による、自律車両の群を監視するためのフロー図の例である。２０２において、フロー２００は、自律車両の群が監視されるときに開始する。少なくとも１つの自律車両が、車両に、第１の地理的領域から第２の地理的領域へと自律的に移動させるように構成されている自律車両コントローラを含む。２０４において、車両の計算されている信頼水準と関連付けられるイベントを表すデータが検出される。イベントは、自律車両の動作に影響を与えるか、または、動作に影響を与える可能性がある条件または状況であり得る。イベントは、自律車両の内部または外部であってもよい。例えば、道路を閉塞している障害物、および、通信の低減または喪失が、イベントとして見られ得る。イベントは、交通条件または渋滞、および、知覚エンジンによって知覚される、予想外のまたは異常な数またはタイプの外部オブジェクト（またはトラック）を含み得る。イベントは、天候関連条件（例えば、氷または雨に起因する摩擦の喪失）、または、他の車両の人間の運転者の目に明るく陽が差すようにする水平線に対する低い角度のような、陽が差している角度（例えば、日没時）を含み得る。これらのおよび他の条件は、遠隔操作者サービスの呼び出しを引き起こすか、または、車両に安全停止軌道を実行させるイベントとして見られ得る。
【００１９】
２０６において、候補軌道のサブセットを表すデータが、イベントの検出に応答して自律車両から受信され得る。例えば、自律車両コントローラのプランナが、１秒のような単位時間あたりに多数の軌道（例えば、数千以上）を計算および評価することができる。いくつかの実施形態において、候補軌道は、自律車両がイベントを考慮して（例えば、遠隔操作者によって提供される代替の経路を使用して）安全に前進することができる相対的により高い信頼水準を提供する軌道のサブセットである。いくつかの候補軌道は、他の候補軌道よりも高くランク付けされ、または、他の候補軌道よりも高い信頼度と関連付けられ得ることに留意されたい。いくつかの例によれば、候補軌道のサブセットは、プランナ、遠隔操作者コンピューティングデバイス（例えば、遠隔操作者が、近似の経路を決定および提供することができる）などのような任意の数のソースに由来することができ、または、候補軌道のサブセットとして組み合わされることができる。２０８において、経路案内データが、１つまたは複数のプロセッサにおいて識別され得る。経路案内データは、遠隔操作者が、候補軌道のうちの１つまたは複数から案内される軌道を選択するのを補助するように構成されてもよい。いくつかの事例において、経路案内データは、特定の候補軌道が、イベントが自律車両の動作に影響を与え得る可能性を低減または無視することができる確実度を指示する信頼水準または確率を指示する値を指定する。選択される候補軌道としての案内される軌道は、２１０において、遠隔操作者からの入力（例えば、遠隔操作者は、別様にランク付けされている候補軌道のグループから少なくとも１つの候補軌道を、案内される軌道として選択することができる）に応答して受信され得る。選択は、いくつかの候補軌道を、例えば、最も高い信頼水準から最も低い信頼水準への順序においてリストしている操作者インターフェースを介して行われてもよい。２１２において、案内される軌道としての候補軌道の選択が、車両に送信され得、これは、車両に、遠隔操作者によって指定される操作を実施させることによって、条件を解決するための案内される軌道を実施する。そのため、自律車両は、非規範的動作状態から移行することができる。
【００２０】
図３Ａは、いくつかの例による、センサおよび他の自律車両構成要素の例を示す図である。図３００は、センサ、信号ルータ３４５、駆動系３４９、取り外し可能電池３４３、オーディオ生成器３４４（例えば、スピーカまたはトランスデューサ）、および自律車両（「ＡＶ」）制御論理３４７を含む双方向性自律車両３３０の内部図を示す。図３００に示されているセンサは、他のセンサタイプおよびモダリティの中でも、画像キャプチャセンサ３４０（例えば、任意のタイプの光キャプチャデバイスまたはカメラ）、オーディオキャプチャセンサ３４２（例えば、任意のタイプのマイクロフォン）、レーダデバイス３４８、ソナーデバイス３４１（または、超音波センサまたは音響関連センサを含む、他の同様のセンサ）、およびライダ（ＬＩＤＡＲ）デバイス３４６を含む（慣性計測装置すなわち「ＩＭＵ」、全地球測位システム（「ＧＰＳ」）センサ、ソナーセンサなどのような、それらのいくつかは図示されていない）。四半部３５０は、双方向性自律車両３３０の４つの「四半部」の各々の対称性を表していることに留意されたい（例えば各四半部３５０は、図示されているものの他に、ホイール、駆動系３４９、同様のステアリングメカニズム、同様の構造的支持および部材などを含んでもよい）。図３Ａに示されているように、同様のセンサが、各四半部３５０内の同様のロケーションに配置されてもよいが、任意の他の構成が実施されてもよい。各ホイールは、個々に、かつ互いに独立してステアリング可能であり得る。また、取り外し可能電池３４３は、その場で充電するのではなく、スワップインおよびスワップアウトされることを促進するように構成され得、それによって、電池３４３を充電する必要性に起因する休止時間が低減される、または、無視できることを保証する。自律車両コントローラ３４７ａは、双方向性自律車両３３０内で使用されるものとして示されているが、自律車両コントローラ３４７ａは、そのように限定されず、地上、空中、または海上を問わず、一方向性自律車両または任意の他のタイプの車両内で実施されてもよい。図３Ａに示されているセンサの示されている、および、記述されている位置、ロケーション、向き、量、およびタイプは、限定であるようには意図されておらず、そのため、任意の数およびタイプのセンサがあってもよく、任意のセンサが自律車両３３０上のいずれの場所に配置および方向付けられてもよいことに留意されたい。
【００２１】
いくつかの実施形態によれば、自律車両（「ＡＶ」）制御論理３４７の部分は、グラフィックスプロセッシングユニット（「ＧＰＵ」）のクラスタをプログラミングするのに適したフレームワークおよびプログラミングモデルを実施するＧＰＵのクラスタを使用して実施されてもよい。例えば、ｃｏｍｐｕｔｅ  ｕｎｉｆｉｅｄ  ｄｅｖｉｃｅ  ａｒｃｈｉｔｅｃｔｕｒｅ（「ＣＵＤＡ」）に準拠したプログラミング言語およびアプリケーションプログラミングインターフェース（「ＡＰＩ」）モデルが、ＧＰＵをプログラミングするために使用されてもよい。ＣＵＤＡ（商標）は、カリフォルニア州サンタクララ所在のＮＶＩＤＩＡによって製造および維持されている。ＯｐｅｎＣＬ、または任意の他の並列プログラミング言語のような他のプログラミング言語が実施されてもよいことに留意されたい。
【００２２】
いくつかの実施形態によれば、自律車両制御論理３４７は、モーションコントローラ３６２、プランナ３６４、知覚エンジン３６６、およびローカライザ３６８を含むように示されている自律車両コントローラ３４７ａとして、ハードウェアおよび／またはソフトウェアにおいて実施されてもよい。示されているように、自律車両コントローラ３４７ａは、カメラデータ３４０ａ、ライダデータ３４６ａ、およびレーダデータ３４８ａ、または、ソナーデータ３４１ａ等を含む任意の他の範囲検知または位置特定データを受信するように構成されている。自律車両コントローラ３４７ａはまた、ＧＰＳデータ３５２、ＩＭＵデータ３５４、および他の位置検知データ（例えば、ステアリング角度、角速度などのようなホイール関連データ）のような測位データを受信するようにも構成されている。さらに、自律車両コントローラ３４７ａは、任意の他のセンサデータ３５６および基準データ３３９を受信してもよい。いくつかの事例において、基準データ３３９は、マップデータ（例えば、３Ｄマップデータ、２Ｄマップデータ、４Ｄマップデータ（例えば、エポック決定（Ｅｐｏｃｈ  Ｄｅｔｅｒｍｉｎａｔｉｏｎ））を含む）およびルートデータ（例えば、限定ではないが、ＲＮＤＦデータ（または同様のデータ）、ＭＤＦデータ（または同様のデータ）を含む道路網データなどを含む。
【００２３】
ローカライザ３６８は、ＧＰＳデータ３５２、ホイールデータ、ＩＭＵデータ３５４、ライダデータ３４６ａ、カメラデータ３４０ａ、レーダデータ３４８ａなどのような１つまたは複数のソースからのセンサデータ、および基準データ３３９（例えば、３Ｄマップデータおよびルートデータ）を受信するように構成されている。ローカライザ３６８は、双方向性自律車両３３０の局所的位置（または場所）を決定するために、センサデータをマップデータと比較することによって、データを統合（例えば、センサデータを融合）および分析する。いくつかの実施形態によれば、ローカライザ３６８は、任意の自律車両の位置または場所をリアルタイムまたはほぼリアルタイムに生成または更新することができる。ローカライザ３６８およびその機能は、「双方向性」車両に限定される必要はなく、任意のタイプの任意の車両において実施され得ることに留意されたい。それゆえ、ローカライザ３６８（およびＡＶコントローラ３４７ａの他の構成要素）は、「一方向性」車両または任意の非自律車両において実施されてもよい。いくつかの実施形態によれば、局所的位置を記述するデータは、ｘ座標、ｙ座標、ｚ座標（または、極座標系または円筒座標系などを含む任意の座標系の任意の座標）、ヨー値、ロール値、ピッチ値（例えば、角度値）、レート（例えば、速度）、高度などのうちの１つまたは複数を含んでもよい。
【００２４】
知覚エンジン３６６は、ライダデータ３４６ａ、カメラデータ３４０ａ、レーダデータ３４８ａなどのような１つまたは複数のソースからのセンサデータ、および局所的位置データを受信するように構成されている。知覚エンジン３６６は、センサデータおよび他のデータに基づいて外部オブジェクトのロケーションを決定するように構成され得る。例えば、外部オブジェクトは、運転可能な表面の部分でないオブジェクトであり得る。例えば、知覚エンジン３６６は、外部オブジェクトを、歩行者、自転車利用者、犬、他の車両などとして検出および分類することが可能であり得る（例えば、知覚エンジン３６６は、ラベルを含む意味情報と関連付けられ得る分類のタイプに従ってオブジェクトを分類するように構成される）。これらの外部オブジェクトの分類に基づいて、外部オブジェクトは、動的オブジェクトまたは静的オブジェクトとしてラベル付けされ得る。例えば、樹木として分類されている外部オブジェクトは静的オブジェクトとしてラベル付けされ得、一方、歩行者として分類されている外部オブジェクトは、静的オブジェクトとしてラベル付けされ得る。静的としてラベル付けされている外部オブジェクトは、マップデータ内に記述されてもよく、または、記述されなくてもよい。静的としてラベル付けされる可能性がある外部オブジェクトの例は、道路を横切って配置されているセメント壁、車線閉鎖標識、新たに配置された郵便ポスト、または、道路に隣接するごみ箱などを含む。動的としてラベル付けされる可能性がある外部オブジェクトの例は、自転車利用者、歩行者、動物、他の車両などを含む。外部オブジェクトが動的としてラベル付けされ、かつ、外部オブジェクトに関するさらなるデータが、分類タイプと関連付けられる一般的なレベルの活動および速度、ならびに、挙動パターンを指示し得る場合。外部オブジェクトに関するさらなるデータは、外部オブジェクトを追跡することによって生成され得る。そのため、分類タイプは、外部オブジェクトが、例えば、プランニングされている経路に沿って走行している自律車両と干渉し得る可能性を予測または他の様態で決定するために使用され得る。例えば、歩行者として分類される外部オブジェクトは、（例えば、追跡データに基づいて）何らかの最大速度、および、平均速度と関連付けられ得る。自律車両の速度に対する歩行者の速度は、衝突の可能性があるか否かを決定するために使用されることができる。さらに、知覚エンジン３６４は、オブジェクトの現在および未来の状態と関連付けられる不確定度を決定することができる。いくつかの例において、不確定度は、推定値（または確率）として表現されてもよい。
【００２５】
プランナ３６４は、知覚エンジン３６６から知覚データを受信するように構成されており、また、ローカライザ３６８からのローカライザデータをも含むことができる。いくつかの例によれば、知覚データは、自律車両の近傍に配置されている静的オブジェクトおよび動的オブジェクトを指定する障害物マップを含むことができ、一方で、ローカライザデータは、局所的位置または場所を含むことができる。動作時、プランナ３６４は、多数の軌道を生成し、少なくとも、外部の動的オブジェクトおよび静的オブジェクトの相対ロケーションに対する自律車両のロケーションに基づいて、軌道を評価する。プランナ３６４は、衝突のない走行を提供するように自律車両を誘導する最適な軌道を、様々な基準に基づいて選択する。いくつかの例において、プランナ３６４は、確率的に決定される軌道として軌道を計算するように構成されてもよい。さらに、プランナ３６４は、ステアリングおよび推進コマンド（ならびに減速またはブレーキコマンド）をモーションコントローラ３６２に送信することができる。モーションコントローラ３６２はその後、ステアリングコマンド、スロットルまたは推進コマンド、およびブレーキコマンドのようなコマンドのいずれかを、ステアリングまたはホイール角度および／または速度３５３の変更を実施するための制御信号（例えば、アクチュエータまたは他の機械的インターフェースに対する適用のための）に変換することができる。
【００２６】
図３Ｂ〜図３Ｅは、いくつかの例による、センサフィールド冗長性およびセンサフィールドの喪失に対する自律車両の適合の例を示す図である。図３Ｂの図３９１は、センサ３１０ａがオブジェクトを（例えば、範囲もしくは距離または他の情報を決定するために）検出するセンサフィールド３０１ａを示す。センサ３１０ａは、任意のタイプのセンサまたはセンサモダリティを実施することができるが、センサ３１０ａ、ならびに、センサ３１０ｂ、３１０ｃ、および３１０ｄのような同様に記述されているセンサは、ライダデバイスを含んでもよい。それゆえ、センサフィールド３０１ａ、３０１ｂ、３０１ｃ、および３０１ｄは各々、レーザが延伸するフィールドを含む。図３Ｃの図３９２は、各々が対応するライダセンサ３１０（図示せず）によって生成される４つの重なり合うセンサフィールドを示す。示されているように、センサフィールドの部分３０１は、重なり合うセンサフィールドを含まず（例えば、単一のライダフィールド）、センサフィールドの部分３０２は、２つの重なり合うセンサフィールドを含み、部分３０３は３つの重なり合うセンサフィールドを含み、それによって、そのようなセンサは、ライダセンサが機能不全になった場合に複数レベルの冗長性を提供する。
【００２７】
図３Ｄは、いくつかの例による、ライダ３０９の動作が機能不全にされることに起因するセンサフィールドの喪失を示す。図３Ｃのセンサフィールド３０２は、単一のセンサフィールド３０５に変換されており、図３Ｃのセンサフィールド３０１のうちの１つは失われて間隙３０４になっており、図３Ｃのセンサフィールド３０３のうちの３つは、センサフィールド３０６に変換されている（すなわち、２つの重なり合うフィールドに限定される）。自律車両３３０ｃが進行方向３９６に走行している場合、動いている自律車両の正面のセンサフィールドは、後端位置にあるものよりもロバストでない場合がある。いくつかの例によれば、自律車両コントローラ（図示せず）は、車両の正面の前方領域におけるセンサフィールドの喪失に対処するために、自律車両３３０ｃの双方向性を活用するように構成されている。図３Ｅは、自律車両３３０ｄの正面のセンサフィールドの一定のロバスト性を回復するための双方向性操作を示す。示されているように、テールライト３４８と同延のよりロバストなセンサフィールド３０２が、車両３３０ｄの後部に配置されている。好都合な場合、自律車両３３０ｄは、私道３９７に寄ることによって双方向性操作を実施し、テールライト３４８が自律車両３３０ｄの他の側（例えば、後縁）にアクティブに切り替わるように、その双方向性を切り替える。示されているように、自律車両３３０ｄは、進行方向３９８に沿って走行しているときに、車両の正面のロバストなセンサフィールド３０２を回復する。さらに、上述した双方向性操作は、交通量の多い車道に戻ることを必要とするより複雑化された操作の必要性を取り除く。
【００２８】
図４は、いくつかの例による、通信レイヤを介して自律車両コントローラに通信可能に結合されている自律車両サービスプラットフォームを含むシステムを示す機能ブロック図である。図４００は、自律車両４３０内に配置されている自律車両コントローラ（「ＡＶ」）４４７を示し、自律車両４３０は、自律車両コントローラ４４７に結合されているいくつかのセンサ４７０を含む。センサ４７０は、１つまたは複数のライダデバイス４７２、１つまたは複数のカメラ４７４、１つまたは複数のレーダ４７６、１つまたは複数の全地球測位システム（「ＧＰＳ」）データ受信機−センサ、１つまたは複数の慣性計測装置（「ＩＭＵ」）４７５、１つまたは複数のオドメトリセンサ４７７（例えば、ホイールエンコーダセンサ、ホイール速度センサなど）、および、赤外線カメラまたはセンサ、ハイパースペクトル対応センサ（ｈｙｐｅｒｓｐｅｃｔｒａｌ−ｃａｐａｂｌｅ  ｓｅｎｓｏｒ）、超音波センサ（または任意の他の音響エネルギーに基づくセンサ）、無線周波数に基づくセンサなどのような、任意の他の適切なセンサ４７８を含む。いくつかの事例において、ホイールのステアリング角度を検知するように構成されているホイール角度センサが、オドメトリセンサ４７７または適切なセンサ４７８として含まれてもよい。非限定例において、自律車両コントローラ４４７は、４つ以上のライダ４７２、１６個以上のカメラ４７４および４つ以上のレーダユニット４７６を含んでもよい。さらに、センサ４７０は、自律車両コントローラ４４７の構成要素、および、自律車両サービスプラットフォーム４０１の要素にセンサデータを提供するように構成されてもよい。図４００に示されているように、自律車両コントローラ４４７は、プランナ４６４と、モーションコントローラ４６２と、ローカライザ４６８と、知覚エンジン４６６と、局所的マップジェネレータ４４０とを含む。図４の図４００に示されている要素は、１つまたは複数の他の図面に関連して記述されている、同様に名付けられている要素としての構造および／または機能を含むことができることに留意されたい。
【００２９】
ローカライザ４６８は、マップデータ、ルートデータ（例えば、ＲＮＯＦのようなデータのような、道路網データ）などを含んでもよい基準データに対して自律車両を位置特定する（すなわち、局所的位置を決定する）ように構成されている。いくつかの事例において、ローカライザ４６８は、例えば、環境の表現の特徴に対する自律車両４３０のロケーションを表現することができる、空間内のポイントを識別するように構成されている。ローカライザ４６８は、各個々のタイプのセンサに関係付けられる不確実性を低減するために（例えば、異なるセンサモダリティの）センサデータの複数のサブセットを統合するように構成され得るセンサデータインテグレータ（ｓｅｎｓｏｒ  ｄａｔａ  ｉｎｔｅｇｒａｔｏｒ）４６９を含むように示されている。いくつかの例によれば、センサデータインテグレータ４６９は、局所的位置を決定するための統合されたセンサデータ値を形成するために、センサデータ（例えば、ライダデータ、カメラデータ、レーダデータなど）を融合するように構成されている。いくつかの例によれば、ローカライザ４６８は、２Ｄマップデータ、３Ｄマップデータ、４Ｄマップデータなどを格納するためのマップデータリポジトリ（ｍａｐ  ｄａｔａ  ｒｅｐｏｓｉｔｏｒｙ）４０５ａを含む、基準データリポジトリ（ｒｅｆｅｒｅｎｃｅ  ｄａｔａ  ｒｅｐｏｓｉｔｏｒｙ）４０５に由来する基準データを取り出す。ローカライザ４６８は、自律車両４３０の位置を識別、または、他の様態で確認するためにマップデータと照合するために、環境内の特徴の少なくともサブセットを識別するように構成され得る。いくつかの例によれば、ローカライザ４６８は、特徴のセットが１つまたは複数の特徴、またはすべての特徴を含むことができるように、環境内の任意の量の特徴を識別するように構成されてもよい。特定の例において、任意の量のライダデータ（例えば、ほとんどのまたは実質的にすべてのライダデータ）が、位置特定の目的のためにマップを表現するデータと比較され得る。一般的に、環境特徴とマップデータとの比較からもたらされる一致しないオブジェクトは、車両、自転車利用者、歩行者などのような動的オブジェクトであり得る。障害物を含む動的オブジェクトの検出は、マップデータを用いてまたは用いずに実施され得ることに留意されたい。特に、動的オブジェクトは、マップデータから独立して（すなわち、マップデータがない状態で）検出および追跡されてもよい。いくつかの事例において、２Ｄマップデータおよび３Ｄマップデータは、「グローバルマップデータ」、または、自律車両サービスプラットフォーム４０１によってある時点において認証されているマップデータとして見られ得る。マップデータリポジトリ４０５ａ内のマップデータは定期的に更新および／または認証され得るため、マップデータと、自律車両が位置決めされる実際の環境との間には逸脱が存在する場合がある。それゆえ、ローカライザ４６８は、位置特定を強化するために、局所的マップジェネレータ４４０によって生成される、ローカルに導出されたマップデータを取り出すことができる。局所的マップジェネレータ４４０は、局所的マップデータをリアルタイムまたはほぼリアルタイムに生成するように構成されている。任意選択的に、局所的マップジェネレータ４４０は、例えば、位置特定において動的オブジェクトを無視することによって、ローカルに生成されるマップの精度を強化するために、静的および動的オブジェクトマップデータを受信してもよい。少なくともいくつかの実施形態によれば、局所的マップジェネレータ４４０は、ローカライザ４６８と統合されてもよく、または、その部分として形成されてもよい。少なくとも１つの事例において、局所的マップジェネレータ４４０は、独立してまたはローカライザ４６８と協働してのいずれかで、ｓｉｍｕｌｔａｎｅｏｕｓ  ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  ｍａｐｐｉｎｇ（「ＳＬＡＭ」）などに基づいてマップおよび／または基準データを生成するように構成され得る。ローカライザ４６８は、マップデータの使用に対する「混合」手法を実施することができ、それによって、ローカライザ４６８内の論理は、マップデータの各ソースの信頼度に応じて、マップデータリポジトリ４０５ａからのマップデータまたは局所的マップジェネレータ４４０からの局所的マップデータのいずれかから様々な量のマップデータを選択するように構成されることができることに留意されたい。それゆえ、ローカライザ４６８は依然として、ローカルに生成されるマップデータを考慮して古いマップデータを使用することができる。
【００３０】
知覚エンジン４６６は、例えば、プランナ４６４が、自律車両４３０が移動している周囲環境内の対象のオブジェクトを識別することによってルートをプランニングし、軌道を生成するのを補助するように構成されている。さらに、対象のオブジェクトの各々と確率が関連付けられ得、それによって、確率は、対象のオブジェクトが安全な走行に対する脅威となり得る可能性を表現することができる（例えば、高速で動くオートバイは、新聞を読みながらバス停のベンチに座っている人よりも強化された追跡を必要とし得る）。示されているように、知覚エンジン４６６は、オブジェクトディテクタ４４２およびオブジェクトクラシファイヤ４４４を含む。オブジェクトディテクタ４４２は、環境内の他の特徴に対してオブジェクトを区別するように構成されており、オブジェクトクラシファイヤ４４４は、オブジェクトを動的オブジェクトまたは静的オブジェクトのいずれかとして分類し、プランニングの目的のために、自律車両４３０に対する動的オブジェクトまたは静的オブジェクトのロケーションを追跡するように構成されることができる。さらに、知覚エンジン４６６は、静的または動的オブジェクトに、オブジェクトがプランナ４６４における経路プランニングに影響を与える可能性がある障害物である（またはそうなる可能性を有する）か否かを指定する識別子を割り当てるように構成されることができる。図４には示されていないが、知覚エンジン４６６はまた、セグメンテーションおよび追跡のような、他の知覚関連機能を実施することもできることに留意されたい。それらの例は後述する。
【００３１】
プランナ４６４は、利用可能であるいくつかの経路またはルートを介して目的地に達するという目標を達成するためのいくつかの候補軌道を生成するように構成されている。軌道エバリュエータ（ｔｒａｊｅｃｔｏｒｙ  ｅｖａｌｕａｔｏｒ）４６５が、候補軌道を評価し、候補軌道のいずれのサブセットが目的地までの衝突のない経路を提供する最も高い程度の信頼水準と関連付けられるかを識別するように構成されている。そのため、軌道エバリュエータ４６５は、コマンドに、車両構成要素４５０（例えば、アクチュエータまたは他のメカニズム）に対する制御信号を生成させるための関連する基準に基づいて最適な軌道を選択することができる。関連する基準は、最適な軌道を規定する任意の数のファクタを含んでもよく、その選択は、衝突を低減することに限定される必要はないことに留意されたい。例えば、軌道の選択は、ユーザ経験（例えば、ユーザ快適性）、および、交通規制および法律に準拠する衝突のない軌道を最適化するように行われてもよい。ユーザ経験は、（例えば、けいれんのような走行または他の不快な動きを低減するために）様々な直線方向および角度方向における加速を加減することによって最適化され得る。いくつかの事例において、関連する基準の少なくとも部分は、最適化された衝突のない走行を維持しながら、他の基準のいずれに優越または優先すべきかを指定することができる。例えば、限定された状況において軌道を生成するときに（例えば、自転車利用者と併走するために二重黄色線をまたぐとき、または、交通流量に合わせるために提示されている速度制限よりも高速で走行しているとき）、法的な制約は一時的に撤廃または緩和され得る。そのため、制御信号は、駆動系および／またはホイールにおける推進および方向の変化を引き起こすように構成される。この例において、モーションコントローラ４６２は、コマンドを、自律車両４３０の移動を制御するための制御信号（例えば、速度、ホイール角度など）に変換するように構成されている。軌道エバリュエータ４６５が、衝突のない最適化された走行を提供するために十分に高い信頼水準を保証するためには不十分な情報を有する場合、プランナ４６４は、遠隔操作者４０４に対する、遠隔操作者の支持を求める要求を生成することができる。
【００３２】
自律車両サービスプラットフォーム４０１は、遠隔操作者４０４（例えば、遠隔操作者コンピューティングデバイス）と、基準データリポジトリ４０５と、マップアップデータ（ｍａｐ  ｕｐｄａｔｅｒ）４０６と、車両データコントローラ４０８と、キャリブレータ（ｃａｌｉｂｒａｔｏｒ）４０９と、オフラインオブジェクトクラシファイヤ４１０とを含む。自律車両サービスプラットフォーム４０１の各要素は、独立して配置または分散され得、自律車両サービスプラットフォーム４０１内の他の要素と通信することができることに留意されたい。さらに、自律車両サービスプラットフォーム４０１の要素は、独立して、通信レイヤ４０２を介して自律車両４３０と通信することができる。マップアップデータ４０６は、マップデータ（例えば、局所的マップジェネレータ４４０、センサ４６０、または、自律車両コントローラ４４７の任意の他の構成要素からの）を受信するように構成されており、例えば、マップデータリポジトリ４０５ａ内のマップデータの、ローカルに生成されるマップからの逸脱を検出するようにさらに構成されている。車両データコントローラ４０８は、マップアップデータ４０６に、リポジトリ４０５内の基準データを更新させ、２Ｄ、３Ｄ、および／または４Ｄマップデータに対する更新を促進することができる。いくつかの事例において、車両データコントローラ４０８は、局所的マップデータが自律車両サービスプラットフォーム４０８へと受信されるレート、および、マップアップデータ４０６がマップデータの更新を実施する頻度を制御することができる。
【００３３】
キャリブレータ４０９は、同じまたは異なるタイプの様々なセンサの較正を実施するように構成されている。キャリブレータ４０９は、センサの相対的な位置（例えば、デカルト空間（ｘ、ｙ、ｚ）における）およびセンサの向き（例えば、ロール、ピッチおよびヨー）を決定するように構成され得る。カメラ、ライダセンサ、レーダセンサなどのようなセンサの位置および向きは、他のセンサに対して、および、グローバルに車両の基準フレームに対して較正され得る。オフライン自己較正はまた、車両慣性テンソル、軸距、ホイール半径または路面摩擦のような他のパラメータを較正または推定することもできる。較正はまた、いくつかの例によれば、パラメータ変化を検出するためにオンラインで行われることもできる。また、キャリブレータ４０９による較正は、センサの内因性パラメータ（例えば、光学的歪み、ビーム角度など）および外因性パラメータを含み得ることに留意されたい。いくつかの事例において、キャリブレータ４０９は、例として、３Ｄレーザデータにおける深さの断絶と、画像データのエッジとの間の相関を最大化することによって実施され得る。オフラインオブジェクト分類４１０は、センサデータのようなデータを、センサ４７０または自律車両コントローラ４４７の任意の他の構成要素から受信するように構成されている。いくつかの実施形態によれば、オフラインオブジェクトクラシファイヤ４１０のオフライン分類パイプラインは、オブジェクトを事前にまとめ、（例えば、人間によって手動でおよび／またはオフラインラベル付けアルゴリズムを使用して自動的に）注釈を付けるように構成され得、オンライン自律動作中にオブジェクトタイプのリアルタイムの分類を提供することができるオンラインクラシファイヤ（例えば、オブジェクトクラシファイヤ４４４）を訓練するようにさらに構成され得る。
【００３４】
図５は、いくつかの実施形態による、自律車両を制御するためのフロー図の例である。５０２において、フロー５００は、自律車両にある複数のモダリティのセンサに由来するセンサデータが、例えば、自律車両コントローラによって受信されるときに開始する。センサデータの１つまたは複数のサブセットは、例えば、推定値を改善するために融合されたデータを生成するために統合され得る。いくつかの例において、５０４において、（例えば、同じまたは異なるモダリティの）１つまたは複数のセンサのセンサストリームが、融合されたセンサデータを形成するために融合され得る。いくつかの例において、ライダセンサデータおよびカメラセンサデータのサブセットが、位置特定を促進するために、５０４において融合され得る。５０６において、センサデータの少なくとも２つのサブセットに基づいてオブジェクトを表現するデータが、プロセッサにおいて導出され得る。例えば、静的オブジェクトまたは動的オブジェクトを識別するデータが、少なくともライダおよびカメラデータから（例えば、知覚エンジンにおいて）導出され得る。５０８において、プランニングされている経路に影響を与える、検出されたオブジェクトが決定され、５１０において、検出されたオブジェクトに応答して、軌道のサブセットが（例えば、プランナにおいて）評価される。５１２において、自律車両の規範的動作と関連付けられる許容可能な信頼水準の範囲を超える信頼水準が決定される。それゆえ、この事例において、信頼水準は、最適化された経路を選択する確実性がより可能性が低く、それによって、最適化された経路が、衝突のない走行を促進し、交通法規に準拠し、快適なユーザ経験（例えば、快適な搭乗）を提供し、および／または、任意の他のファクタに基づいて候補軌道を生成する確率に応じて決定され得るようなものであり得る。そのため、５１４において、代替の経路を求める要求が、遠隔操作者コンピューティングデバイスに送信され得る。その後、遠隔操作者コンピューティングデバイスは、プランナに、自律車両が走行するようにされる最適な軌道を提供することができる。状況によっては、車両はまた、安全停止操作（例えば、自律車両を、危険の確率が相対的に低いロケーションに安全かつ自動的に停止させること）が最善の方策であると決定することもできる。フロー図の各部分はこのフロー図および本明細書における他のフロー図に示されている順序は、順次実施されてもよく、またはフロー図の任意の１つまたは複数の他の部分と並列に実施されてもよく、また、独立して実施されてもよく、または、フロー図の他の部分に依存して実施されてもよいため、様々な機能を直線的に実施するための要件を暗示するようには意図されていないことに留意されたい。
【００３５】
図６は、いくつかの実施形態による、自律車両コントローラのアーキテクチャの例を示す図である。図６００は、モーションコントローラプロセス６６２、プランナプロセッサ６６４、知覚プロセス６６６、マッピングプロセス６４０、および位置特定プロセス６６８を含むいくつかのプロセスを示し、それらのうちのいくつかは、他のプロセスに関するデータを生成または受信し得る。プロセス６７０および６５０のような他のプロセスは、自律車両の１つまたは複数の機械的構成要素との相互作用を促進することができる。例えば、知覚プロセス６６６、マッピングプロセス６４０、および位置特定プロセス６６８は、センサ６７０からセンサデータを受信するように構成されており、一方で、プランナプロセス６６４および知覚プロセス６６６は、道路網データのようなルートデータを含み得る案内データ６０６を受信するように構成されている。さらに図６００について、位置特定プロセス６６８は、他のタイプのマップデータの中でも、マップデータ６０５ａ（すなわち、２Ｄマップデータ）、マップデータ６０５ｂ（すなわち、３Ｄマップデータ）、および局所的マップデータ６４２を受信するように構成されている。例えば、位置特定プロセス６６８はまた、例えば、エポック決定を含み得る、４Ｄマップデータのような他の形態のマップデータを受信することもできる。位置特定プロセス６６８は、局所的位置を表現するローカル場所データ６４１を生成するように構成されている。ローカル場所データ６４１は、モーションコントローラプロセス６６２、プランナプロセス６６４、および知覚プロセス６６６に提供される。知覚プロセス６６６は、静的および動的オブジェクトマップデータ６６７を生成するように構成されており、このマップデータは、プランナプロセス６６４に送信され得る。いくつかの例において、静的および動的オブジェクトマップデータ６６７は、意味論的分類情報および予測される物体挙動のような他のデータとともに送信されてもよい。プランナプロセス６６４は、プランナ６６４によって生成されるいくつかの軌道を記述する軌道データ６６５を生成するように構成されている。モーションコントローラプロセスは、ステアリング角度および／または速度の変化を引き起こすためにアクチュエータ６５０に適用するための低レベルコマンドまたは制御信号を生成するために、軌道データ６６５を使用する。
【００３６】
図７は、いくつかの実施形態による、自律車両の群との信頼可能な通信を維持するために冗長な通信チャネルを実施する自律車両サービスプラットフォームの例を示す図である。図７００は、基準データジェネレータ７０５、車両データコントローラ７０２、自律車両群マネージャ７０３、遠隔操作者マネージャ７０７、シミュレータ７４０、およびポリシマネージャ７４２を含む自律車両サービスプラットフォーム７０１を示す。基準データジェネレータ７０５は、マップデータおよびルートデータ（例えば、ＲＮＤＦデータ）を生成および修正するように構成されている。さらに、基準データジェネレータ７０５は、２Ｄマップデータリポジトリ７２０内の２Ｄマップにアクセスし、３Ｄマップデータリポジトリ７２２内の３Ｄマップにアクセスし、ルートデータリポジトリ７２４内のルートデータにアクセスするように構成され得る。エポック決定を含む４Ｄマップデータのような、他のマップ表現データおよびリポジトリが、いくつかの例において実施されてもよい。車両データコントローラ７０２は、様々な動作を実施するように構成されることができる。例えば、車両データコントローラ７０２は、チャネル７７０を介した通信の品質レベルに基づいて、自律車両の群とプラットフォーム７０１との間でデータが交換されるレートを変更するように構成されてもよい。帯域幅が制約されている期間中、例えば、データ通信は、自律車両７３０からの遠隔操作要求が、送達を保証するために高く優先順位付けされるように、優先順位付けされ得る。さらに、特定のチャネルにとって利用可能な帯域幅に依存して、可変レベルのデータ抽象化が、チャネル７７０を介して車両ごとに送信され得る。例えば、ロバストなネットワーク接続の存在下では、全ライダデータ（例えば、実質的にすべてのライダデータであるが、またより少なくてもよい）が送信されてもよく、一方で、劣化されたまたは低速の接続の存在下では、データのより単純なまたはより抽象的な描写（例えば、関連付けられているメタデータを有する境界ボックスなど）が送信されてもよい。自律車両群マネージャ７０３は、電池電力の効率的な使用、走行時間、電池の低充電状態の間に自律車両７３０内の空調装置が使用され得るか否かなどを含む、複数の変数を最適化するように、自律車両７３０の派遣を調整するように構成されており、それらの変数のいずれかまたはすべては、自律車両サービスの動作と関連付けられる費用関数を最適化することを考慮して監視され得る。自律車両の群の走行の費用または時間を最小化する様々な変数を分析するためのアルゴリズムが実施され得る。さらに、自律車両群マネージャ７０３は、群のアップタイムを最大化することを考慮してサービススケジュールを適合させるために、自律車両および部品の在庫を維持する。
【００３７】
遠隔操作者マネージャ７０７は、遠隔操作者７０８がそれを用いて入力を提供するいくつかの遠隔操作者コンピューティングデバイス７０４を管理するように構成されている。シミュレータ７４０は、１つまたは複数の自律車両７３０の動作、および、遠隔操作者マネージャ７０７と自律車両７３０との間の相互作用をシミュレートするように構成されている。シミュレータ７４０はまた、自律車両７３０内に配置されているいくつかのセンサの動作（シミュレートされるノイズの導入を含む）をシミュレートすることもできる。さらに、シミュレートされた自律車両が合成環境に導入されることができ、それによって、シミュレートされたセンサが、シミュレートされたレーザ戻りのようなシミュレートされたセンサデータを受信することができるように、都市のような環境がシミュレートされることができる。シミュレータ７４０は、ソフトウェア更新および／またはマップデータの検証を含む、他の機能をも提供することができる。ポリシマネージャ７４２は、道路網を走行している間に自律車両が遭遇する様々な条件またはイベントを考慮して自律車両がそれによって挙動すべきであるデータ表現ポリシまたは規則を維持するように構成されている。いくつかの事例において、更新されたポリシおよび／または規則が、ポリシに対する変更を考慮して自律車両の群の安全な動作を確認するために、シミュレータ７４０においてシミュレートされてもよい。自律車両サービスプラットフォーム７０１の上述されている要素のいくつかが、以下においてさらに記述される。
【００３８】
通信チャネル７７０は、自律車両の群７３０および自律車両サービスプラットフォーム７０１の間にネットワーク接続されている通信リンクを提供するように構成されている。例えば、通信チャネル７７０は、自律車両サービスを確実に動作させるために一定レベルの冗長性を保証するために、対応するサブネットワーク（例えば、７７１ａ〜７７１ｎ）を有する、いくつかの異なるタイプのネットワーク７７１、７７２、７７３、および７７４を含む。例えば、通信チャネル７７０内の異なるタイプのネットワークは、１つまたは複数のネットワーク７７１、７７２、７７３、および７７４の機能停止に起因する低減されたまたは喪失された通信の場合に、十分な帯域幅を保証するために、異なるセルラネットワークプロバイダ、異なるタイプのデータネットワークなどを含むことができる。
【００３９】
図８は、いくつかの実施形態による、様々なアプリケーションの間でデータを交換するように構成されているメッセージングアプリケーションの例を示す図である。図８００は、遠隔操作者マネージャ内に配置されている遠隔操作者アプリケーション８０１、および、自律車両内に配置されている自律車両アプリケーション８３０を示し、それによって、遠隔操作者アプリケーション８０１および自律車両アプリケーション８３０は、ネットワーク８７１、８７２、および他のネットワーク８７３のような様々なネットワークを介した通信を促進するプロトコルを介してメッセージデータを交換する。いくつかの例によれば、通信プロトコルは、Ｏｂｊｅｃｔ  Ｍａｎａｇｅｍｅｎｔ  Ｇｒｏｕｐ  ｃｏｎｓｏｒｔｉｕｍによって維持される仕様を有するＤａｔａ  Ｄｉｓｔｒｉｂｕｔｉｏｎ  Ｓｅｒｖｉｃｅ（商標）として実施されるミドルウェアプロトコルである。この通信プロトコルによれば、遠隔操作者アプリケーション８０１および自律車両アプリケーション８３０は、メッセージドメイン内に配置されているメッセージルータ８５４を含むことができ、メッセージルータは、遠隔操作者ＡＰＩ  ８５２とインターフェースするように構成されている。いくつかの例において、メッセージルータ８５４は、ルーティングサービスである。いくつかの例において、遠隔操作者アプリケーション８０１内のメッセージドメイン８５０ａが、遠隔操作者識別子によって識別され得、一方で、メッセージドメイン８５０ｂは、車両識別子と関連付けられるドメインとして識別され得る。遠隔操作者アプリケーション８０１内の遠隔操作者ＡＰＩ  ８５２は、遠隔操作者プロセス８０３ａ〜８０３ｃとインターフェースするように構成されており、それによって、遠隔操作者プロセス８０３ｂは、自律車両識別子８０４と関連付けられ、遠隔操作者プロセス８０３ｃは、イベント識別子８０６（例えば、衝突のない経路のプランニングにとって問題になり得る交差点を指定する識別子）と関連付けられる。自律車両アプリケーション８３０内の遠隔操作者ＡＰＩ  ８５２は、検知アプリケーション８４２、知覚アプリケーション８４４、位置特定アプリケーション８４６、および制御アプリケーション８４８を含む自律車両オペレーティングシステム８４０とインターフェースするように構成されている。上記を考慮して、上述されている通信プロトコルは、本明細書において記述されているような遠隔操作を促進するために、データ交換を促進することができる。さらに、上述されている通信プロトコルは、１つまたは複数の自律車両および１つまたは複数の自律車両サービスプラットフォームの間のセキュアなデータ交換を提供するように適合されることができる。例えば、メッセージルータ８５４は、例えば、遠隔操作者プロセス８０３と自律車両オペレーティングシステム８４０との間の安全確保された相互作用を提供するためのメッセージを暗号化および解読するように構成されることができる。
【００４０】
図９は、いくつかの例による、図８に記述されている通信プロトコルを使用した遠隔操作を促進するためのデータのタイプを示す図である。図９００は、１つまたは複数のネットワーク９７１内に実施される、データ処理を中心とするメッセージングバス９７２を介してデータを交換するように構成されている、遠隔操作者アプリケーション９０１に結合されている遠隔操作者コンピューティングデバイス９０４とインターフェースする遠隔操作者９０８を示す。データ処理を中心とするメッセージングバス９７２は、遠隔操作者アプリケーション９０１と自律車両アプリケーション９３０との間の通信リンクを提供する。遠隔操作者アプリケーション９０１の遠隔操作者ＡＰＩ  ９６２は、メッセージサービス構成データ９６４、および、道路網データ（例えば、ＲＮＤＦのようなデータ）、ミッションデータ（例えば、ＭＤＦデータ）などのようなルートデータ９６０を受信するように構成されている。同様に、メッセージングサービスブリッジ９３２も、メッセージングサービス構成データ９３４を受信するように構成されている。メッセージングサービス構成データ９３４および９６４は、遠隔操作者アプリケーション９０１と自律車両アプリケーション９３０との間のメッセージングサービスを構成するための構成データを提供する。メッセージングサービス構成データ９３４および９６４の例は、Ｄａｔａ  Ｄｉｓｔｒｉｂｕｔｉｏｎ  Ｓｅｒｖｉｃｅ（商標）アプリケーションを構成するために実施されるサービス品質（「ＱｏＳ」）構成データを含む。
【００４１】
通信プロトコルを介した遠隔操作を促進するためのデータ交換の例が以下のように記述される。自律車両コントローラの知覚システムによって、障害物データ９２０が生成されると考える。さらに、候補軌道のサブセットを遠隔操作者に通知するためのプランナ選択肢データ９２４がプランナによって生成され、場所データ９２６がローカライザによって生成される。障害物データ９２０、プランナ選択肢データ９２４、および場所データ９２６は、メッセージングサービスブリッジ９３２に送信され、メッセージングサービスブリッジ９３２は、メッセージサービス構成データ９３４に従って、テレメトリデータ９４０およびクエリデータ９４２を生成し、これらは両方とも、テレメトリデータ９５０およびクエリデータ９５２として、データ処理を中心とするメッセージングバス９７２を介して遠隔操作者アプリケーション９０１へと送信される。遠隔操作者ＡＰＩ  ９６２は、テレメトリデータ９５０および問い合わせデータ９５２を受信し、これらのデータは、ルートデータ９６０およびメッセージサービス構成データ９６４を考慮して処理される。結果もたらされるデータは、その後、遠隔操作者コンピューティングデバイス９０４および／または協働ディスプレイ（ｃｏｌｌａｂｏｒａｔｉｖｅ  ｄｉｓｐｌａｙ）（例えば、協働する遠隔操作者９０８のグループに見えるダッシュボードディスプレイ）を介して遠隔操作者９０８に提示される。遠隔操作者９０８は、遠隔操作者コンピューティングデバイス９０４のディスプレイ上に提示される候補軌道選択肢を検討し、案内される軌道を選択し、これは、コマンドデータ９８２およびクエリ応答データ９８０を生成し、これらは両方とも、クエリ応答データ９５４およびコマンドデータ９５６として、遠隔操作者ＡＰＩ  ９６２を通過される。その後、クエリ応答データ９５４およびコマンドデータ９５６は、クエリ応答データ９４４およびコマンドデータ９４６として、データ処理を中心とするメッセージングバス９７２を介して自律車両アプリケーション９３０へと送信される。メッセージングサービスブリッジ９３２は、クエリ応答データ９４４およびコマンドデータ９４６を受信し、遠隔操作者コマンドデータ９２８を生成し、これは、遠隔操作者によって選択された軌道を、プランナによる実施のために生成するように構成されている。上述されているメッセージングプロセスは、限定であるようには意図されておらず、他のメッセージングプロトコルも実施されてもよいことに留意されたい。
【００４２】
図１０は、いくつかの実施形態による、遠隔操作者が経路プランニングに影響を与えることができる遠隔操作者インターフェースの例を示す図である。図１０００は、遠隔操作を促進するように構成されている遠隔操作者マネージャ１００７を含む、自律車両サービスプラットフォーム１００１と通信する自律車両１０３０の例を示す。第１の例において、遠隔操作者マネージャ１００７は、遠隔操作者１００８が前もって課題に対処することが可能であり得るように、遠隔操作者１００８に、可能性のある障害物に接近している自律車両の経路、または、プランナ信頼水準の低い領域を前もって見るように要求するデータを受信する。例示のために、自律車両が接近している交差点が、問題があるものとしてタグ付けされ得ると考える。そのため、ユーザインターフェース１０１０は、プランナによって生成されるいくつかの軌道によって予測されている、経路１０１２に沿って移動している対応する自律車両１０３０の表現１０１４を表示する。また、プランナにおいて十分な混乱を引き起こす可能性があり、それによって遠隔操作者の支持を必要とする、他の車両１０１１、および、歩行者のような動的オブジェクト１０１３も表示される。ユーザインターフェース１０１０はまた、遠隔操作者１００８に、現在の速度１０２２、速度制限例も提示し、ユーザインターフェース１０１０は、自律車両１０３０から取得されるものとしてのセンサデータのような他のデータを表示してもよい。第２の例において、プランナ１０６４が、検出されている未確認オブジェクト１０４６にもかかわらず、プランナによって生成された経路１０４４と同延であるいくつかの軌道が生成されていると考える。プランナ１０６４はまた、候補軌道１０４０のサブセットをも生成し得るが、この例では、プランナは、現在の信頼水準を所与として進行することは不可能である。プランナ１０６４が代替の経路を決定することができない場合、遠隔操作者要求が送信され得る。この事例において、遠隔操作者は、遠隔操作者に基づく経路１０４２と一致する自律車両１０３０による走行を促進するために、候補軌道１０４０のうちの１つを選択することができる。
【００４３】
図１１は、いくつかの例による、遠隔操作を呼び出すように構成されているプランナの例を示す図である。図１１００は、地形マネージャ（ｔｏｐｏｇｒａｐｈｙ  ｍａｎａｇｅｒ）１１１０、ルートマネージャ１１１２、経路ジェネレータ（ｐａｔｈ  ｇｅｎｅｒａｔｏｒ）１１１４、軌道エバリュエータ１１２０、および軌道トラッカ１１２８を含むプランナ１１６４を示す。地形マネージャ１１１０は、地形学的特徴を指定する３Ｄマップデータまたは他の同様のマップデータのようなマップデータを受信するように構成されている。地形マネージャ１１１０は、目的地までの経路上の地形学関連特徴に基づいて候補経路を識別するようにさらに構成されている。様々な例によれば、地形マネージャ１１１０は、群内の１つまたは複数の自律車両と関連付けられるセンサによって生成される３Ｄマップを受信する。ルートマネージャ１１１２は、目的地までの経路として選択され得る１つまたは複数のルートと関連付けられる交通関連情報を含むことができる、環境データ１１０３を受信するように構成されている。経路ジェネレータ１１１４は、地形マネージャ１１１０およびルートマネージャ１１１２からデータを受信し、自律車両を目的地に向けて誘導するのに適した１つまたは複数の経路または経路セグメントを生成する。１つまたは複数の経路または経路セグメントを表現するデータは、軌道エバリュエータ１１２０へと送信される。
【００４４】
軌道エバリュエータ１１２０は、状態・イベントマネージャ（ｓｔａｔｅ  ａｎｄ  ｅｖｅｎｔ  ｍａｎａｇｅｒ）１１２２を含み、状態・イベントマネージャ１１２２は、信頼水準ジェネレータ１１２３を含むことができる。軌道エバリュエータ１１２０は、案内される軌道のジェネレータ（ｇｕｉｄｅｄ  ｔｒａｊｅｃｔｏｒｙ  ｇｅｎｅｒａｔｏｒ）１１２６および軌道ジェネレータ（ｔｒａｊｅｃｔｏｒｙ  ｇｅｎｅｒａｔｏｒ）１１２４をさらに含む。さらに、プランナ１１６４は、ポリシデータ１１３０、知覚エンジンデータ１１３２、およびローカライザデータ１１３４を受信するように構成されている。
【００４５】
ポリシデータ１１３０は、いくつかの例によれば、それをもって軌道を生成すべき十分な信頼水準を有する経路を決定するためにプランナ１１６４が使用する基準を含むことができる。ポリシデータ１１３０の例は、軌道生成が外部オブジェクトまでの離れた距離によって抑制されることを指定するポリシ（例えば、可能な限り、自転車利用者から３フィートの安全緩衝を維持すること）、または、軌道が中央の二重黄色線をまたいではならないことを要求するポリシ、または、（例えば、一般的にバス停に最も近い車線に集中することのような、過去のイベントに基づいて）４車線道路においては軌道が単一車線に限定されることを必要とするポリシ、および、ポリシによって指定される任意の他の同様の基準を含む。知覚エンジンデータ１１３２は、対象の静的オブジェクトおよび動的オブジェクトのロケーションのマップを含み、ローカライザデータ１１３４は、少なくとも局所的位置または場所を含む。
【００４６】
状態・イベントマネージャ１１２２は、自律車両の動作状態を確率論的に決定するように構成されることができる。例えば、第１の動作状態（すなわち、「規範的動作」）は、軌道が衝突のないものである状況を記述することができ、一方で、第２の動作状態（すなわち、「非規範的動作」）は、可能性のある軌道と関連付けられる信頼水準が、衝突のない走行を保証するには不十分である別の状況を記述することができる。いくつかの例によれば、状態・イベントマネージャ１１２２は、規範的または非規範的である自律車両の状態を決定するために、知覚データ１１３２を使用するように構成されている。信頼水準ジェネレータ１１２３は、自律車両の状態を決定するために、知覚データ１１３２を分析するように構成されることができる。例えば、信頼水準ジェネレータ１１２３は、プランナ１１６４が安全な方策を決定しているという確実度を強化するために、静的オブジェクトおよび動的オブジェクトと関連付けられる意味情報、および、関連付けられる確率推定を使用することができる。例えば、プランナ１１６４は、プランナ１１６４が安全に動作しているか否かを決定するために、オブジェクトが人間である、または、人間でない確率を指定する知覚エンジンデータ１１３２を使用することができる（例えば、プランナ１１６４は、オブジェクトが、９８％の人間である確率、および、オブジェクトが人間でないという２％の確率を有する確実度を受信することができる）。
【００４７】
信頼水準（例えば、統計および確率論的決定に基づく）が、予測される安全動作に必要とされる閾値を下回るという決定を受けて、相対的に低い信頼水準（例えば、単一の確率スコア）が、自律車両サービスプラットフォーム１１０１に遠隔操作者の支持を求める要求１１３５を送信するようにプランナ１１６４をトリガすることができる。いくつかの事例において、テレメトリデータおよび候補軌道のセットが、この要求に付随してもよい。テレメトリデータの例は、センサデータ、位置特定データ、知覚データなどを含む。遠隔操作者１１０８は、選択された軌道１１３７を、遠隔操作者コンピューティングデバイス１１０４を介して、案内される軌道のジェネレータ１１２６に送信することができる。そのため、選択された軌道１１３７は、遠隔操作者からの案内によって形成される軌道である。状態に変化がないという確認を受けて（例えば、非規範的状態が未決）、案内される軌道のジェネレータ１１２６は、軌道ジェネレータ１１２４にデータを渡し、軌道ジェネレータ１１２４は、軌道トラッカ１１２８に、軌道追跡コントローラとして、制御信号１１７０（例えば、ステアリング角度、速度など）を生成するために、遠隔操作者によって指定される軌道を使用させる。プランナ１１６４は、状態が非規範的状態に移行する前に、遠隔操作者の支持を求める要求１１３５の送信をトリガすることができることに留意されたい。特に、自律車両コントローラおよび／またはその構成要素は、離れた障害物に問題があり得ることを予測し、前もって、プランナ１１６４に、自律車両が障害物に達する前に遠隔操作を呼び出させることができる。そうでない場合、自律車両は、障害物またはシナリオへの遭遇を受けて安全状態に移行すること（例えば、路肩に寄り、停車すること）によって、遅延を引き起こすことができる。別の例において、遠隔操作は、ナビゲートすることが困難であることが分かっている特定のロケーションに自律車両が接近する前に、自動的に呼び出されてもよい。そのような状況が、センサ読み値、および様々なソースから導出される交通または事故データの信頼性に対する外乱を引き起こす可能性がある場合、この決定は、任意選択的に、時刻、太陽の位置を含む他のファクタを考慮に入れてもよい。
【００４８】
図１２は、いくつかの実施形態による、自律車両を制御するように構成されているフロー図の例である。１２０２において、フロー１２００が開始する。自律車両内のプランナにおいて受信されるオブジェクトのサブセットを表現するデータ、オブジェクトのサブセットは、分類タイプの確実度を表現するデータと関連付けられる少なくとも１つのオブジェクトを含む。例えば、知覚エンジンデータは、正確であるという８５％の信頼水準をもって「若い歩行者」として分類され得る。１２０４において、ローカライザデータが（例えば、プランナにおいて）受信され得る。ローカライザデータは、自律車両内でローカルに生成されるマップデータを含むことができる。局所的マップデータは、一定の地理的領域においてイベントが発生し得る確実度（不確実度を含む）を指定することができる。イベントは、自律車両の動作に影響を与えるか、または、動作に影響を与える可能性がある条件または状況であり得る。イベントは、自律車両の内部（例えば、機能不全にされたまたは機能が損なわれたセンサ）または外部（例えば、道路の閉塞）であってもよい。イベントの例は、図２ならびに他の図面および節など、本明細書において記述されている。対象の地理的領域と同延の経路が、１２０６において決定され得る。例えば、イベントが、ラッシュアワーの交通状態の間に太陽光が運転者の視覚の機能を損なう時刻における、空における太陽の位置付けであると考える。そのため、交通は、明るい太陽光に応答して減速し得ると予想または予測される。したがって、プランナは、イベントを回避するための代替の経路の可能性が低い場合、前もって遠隔操作を呼び出すことができる。１２０８において、プランナにおいて、局所的位置データに基づいてローカル場所が決定される。１２１０において、例えば、分類タイプの確実度、および、速度、位置、および他の状態情報のような任意の数のファクタに基づき得るイベントの確実度に基づいて、自律車両の動作状態が（例えば、確率論的に）決定され得る。例示のために、他の運転者の視覚が太陽によって機能を損なわれる可能性があり、それによって、若い歩行者にとって安全でない状況が引き起こされるイベントの間に、自律車両によって若い歩行者が検出される例を考える。それゆえ、相対的に安全でない状況が、発生する可能性があり得る確率論的なイベント（すなわち、遠隔操作者が呼び出される可能性がある安全でない状況）として検出され得る。１２１２において、動作状態が規範的状態である可能性が決定され、この決定に基づいて、次の動作状態への移行に前もって備える（例えば、規範的動作状態から、安全でない動作状態のような非規範的動作状態への移行に前もって備える）ように、遠隔操作者に要求するメッセージが、遠隔操作者コンピューティングデバイスに送信される。
【００４９】
図１３は、いくつかの例による、プランナが軌道を生成することができる例を示す図である。図１３００は、軌道エバリュエータ１３２０および軌道ジェネレータ１３２４を含む。軌道エバリュエータ１３２０は、信頼水準ジェネレータ１３２２および遠隔操作者クエリマネージャ１３２９を含む。示されているように、軌道エバリュエータ１３２０は、静的マップデータ１３０１、ならびに現在のおよび予測されるオブジェクト状態のデータ１３０３を受信するために、知覚エンジン１３６６に結合されている。軌道エバリュエータ１３２０はまた、ローカライザ１３６８からの局所的位置データ１３０５およびグローバルプランナ（ｇｌｏｂａｌ  ｐｌａｎｎｅｒ）１３６９からのプランデータ１３０７をも受信する。１つの動作状態（例えば、非規範的）において、信頼水準ジェネレータ１３２２は、静的マップデータ１３０１、ならびに現在のおよび予測されるオブジェクト状態のデータ１３０３を受信する。このデータに基づいて、信頼水準ジェネレータ１３２２は、検出された軌道が、許容不可能な信頼水準値と関連付けられることを決定することができる。そのため、信頼水準ジェネレータ１３２２は、遠隔操作者クエリマネージャ１３２９を介して遠隔操作者に通知するために、検出された軌道データ１３０９（例えば、候補軌道を含むデータ）を送信し、遠隔操作者クエリマネージャ１３２９は、遠隔操作者の支援を求める要求１３７０を送信する。
【００５０】
別の動作状態（例えば、規範的状態）において、静的マップデータ１３０１、現在のおよび予測されるオブジェクト状態のデータ１３０３、局所的位置データ１３０５、およびプランデータ１３０７（例えば、グローバルプランデータ）が軌道カリキュレータ１３２５へと受信され、軌道カリキュレータ１３２５は、最適な１つまたは複数の経路を決定するために、軌道を（例えば、反復的に）計算するように構成されている。次に、少なくとも１つの経路が選択され、選択された経路のデータ１３１１として送信される。いくつかの実施形態によれば、軌道カリキュレータ１３２５は、例として軌道の再プランニングを実施するように構成されている。公称運転軌道ジェネレータ（ｎｏｍｉｎａｌ  ｄｒｉｖｉｎｇ  ｔｒａｊｅｃｔｏｒｙ  ｇｅｎｅｒａｔｏｒ）１３２７が、ｒｅｃｅｄｉｎｇ  ｈｏｒｉｚｏｎ制御技法に基づいて軌道を生成することによってのような、洗練された手法において軌道を生成するように構成されている。公称運転軌道ジェネレータ１３２７はその後、公称運転軌道経路データ１３７２を、例えば、ステアリング、加速の物理的変更を実施するための軌道トラッカまたは車両コントローラ、および他の構成要素に送信することができる。
【００５１】
図１４は、いくつかの実施形態による、自律車両サービスプラットフォームの別の例を示す図である。図１４００は、遠隔操作者１４０８の間の相互作用および／または通信を管理するように構成されている遠隔操作者マネージャ１４０７、遠隔操作者コンピューティングデバイス１４０４を含む自律車両サービスプラットフォーム１４０１を示し、自律車両１４０１の他の構成要素は、シミュレータ１４４０、リポジトリ１４４１、ポリシマネージャ１４４２、基準データアップデータ（ｒｅｆｅｒｅｎｃｅ  ｄａｔａ  ｕｐｄａｔｅｒ）１４３８、２Ｄマップデータリポジトリ１４２０、３Ｄマップデータリポジトリ１４２２、およびルートデータリポジトリ１４２４を含む。４Ｄマップデータ（例えば、エポック決定を使用する）のような他のマップデータが実施され、リポジトリ（図示せず）に格納されてもよい。
【００５２】
遠隔操作者アクション推奨コントローラ（ｔｅｌｅｏｐｅｒａｔｏｒ  ａｃｔｉｏｎ  ｒｅｃｏｍｍｅｎｄａｔｉｏｎ  ｃｏｎｔｒｏｌｌｅｒ）１４１２は、遠隔操作者の支援を求める要求ならびにテレメトリデータおよび他のデータを含むことができる自律車両（「ＡＶ」）プランナデータ１４７２を介して遠隔操作サービス要求を受信および／または制御するように構成されている論理を含む。そのため、プランナデータ１４７２は、遠隔操作者１４０８が遠隔操作者コンピューティングデバイス１４０４を介してそこから選択することができる、推奨される候補軌道または経路を含むことができる。いくつかの例によれば、遠隔操作者アクション推奨コントローラ１４１２は、そこから最適な軌道を選択すべきである、推奨される候補軌道の他のソースにアクセスするように構成されることができる。例えば、自律車両プランナデータ１４７２内に含まれる候補軌道は、並列に、シミュレータ１４４０へと導入されてもよく、シミュレータ１４４０は、遠隔操作者の支援を要求している自律車両によって経験されているイベントまたは条件をシミュレートするように構成されている。シミュレータ１４４０は、マップデータ、および、候補軌道のセットに関するシミュレーションを実施するために必要な他のデータにアクセスすることができ、それによって、シミュレータ１４４０は、十分性を確認するためにシミュレーションを徹底的に繰り返す必要がない。むしろ、シミュレータ１４４０は、候補軌道の妥当性を確認し得、または、そうでなければ遠隔操作者に、それらの選択に注意するよう警告することができる。
【００５３】
遠隔操作者相互作用キャプチャアナライザ（ｔｅｌｅｏｐｅｒａｔｏｒ  ｉｎｔｅｒａｃｔｉｏｎ  ｃａｐｔｕｒｅ  ａｎａｌｙｚｅｒ）１４１６は、大量の遠隔操作者トランザクションまたは相互作用を、リポジトリ１４４１内に格納するためにキャプチャするように構成されることができ、リポジトリ１４４１は、例えば、少なくともいくつかの事例において、いくつかの遠隔操作者トランザクションに関係するデータを、ポリシの分析および生成のために累積することができる。いくつかの実施形態によれば、リポジトリ１４４１はまた、ポリシマネージャ１４４２によるアクセスのためにポリシデータを格納するように構成されることもできる。さらに、遠隔操作者相互作用キャプチャアナライザ１４１６は、遠隔操作者の支援を求める要求を引き起こすイベントまたは条件にいかに最良に応答すべきかを経験的に決定するために、機械学習技法を適用することができる。いくつかの事例において、ポリシマネージャ１４４２は、（例えば、機械学習技法の適用後に）遠隔操作者相互作用の大きなセットの分析に応答して、特定のポリシを更新し、または、新たなポリシを生成するように構成されることができる。ポリシマネージャ１４４２は、自律車両コントローラおよびその構成要素が、車両の自律動作に準拠するためにそれに基づいて動作する規則またはガイドラインとして見られ得るポリシを管理する。いくつかの事例において、修正または更新されたポリシが、そのようなポリシ変更を永続的にリリースまたは実施することの有効性を確認するために、シミュレータ１４４０に適用されてもよい。
【００５４】
シミュレータインターフェースコントローラ１４１４は、シミュレータ１４４０と遠隔操作者コンピューティングデバイス１４０４との間のインターフェースを提供するように構成されている。例えば、自律車両の群からのセンサデータが、自律（「ＡＶ」）群データ１４７０を介して基準データアップデータ１４３８に適用され、それによって、基準データアップデータ１４３８が更新されたマップおよびルートデータ１４３９を生成するように構成されると考える。いくつかの実施態様において、更新されたマップおよびルートデータ１４３９は、事前に、マップデータリポジトリ１４２０および１４２２内のデータに対する更新として、または、ルートデータリポジトリ１４２４内のデータに対する更新としてリリースされることができる。この事例において、そのようなデータは、例えば、事前に更新されている情報を含むマップタイルが自律車両によって使用されるときに、遠隔操作者サービスを要求するためのより低い閾値が実施され得る「ベータバージョン」であるものとしてタグ付けされ得る。さらに、更新されたマップおよびルートデータ１４３９は、更新されたマップデータを検証するためにシミュレータ１４４０に導入され得る。（例えば、ベータ試験の終了時の）全リリースを受けて、遠隔操作者サービスを要求するための以前に下げられていた閾値はキャンセルされる。ユーザインターフェースグラフィックスコントローラ１４１０は、豊富なグラフィックスを遠隔操作者１４０８に提供し、それによって、自律車両の群が、シミュレータ１４４０内でシミュレートされることができ、シミュレートされている自律車両の群があたかも現実であるかのように、遠隔操作者コンピューティングデバイス１４０４を介してアクセスされることができる。
【００５５】
図１５は、いくつかの実施形態による、自律車両を制御するためのフロー図の例である。１５０２において、フロー１５００が開始する。自律車両の群を管理するためのメッセージデータが、遠隔操作者コンピューティングデバイスにおいて受信され得る。メッセージデータは、自律車両のプランニングされている経路の文脈において非規範的動作状態と関連付けられるイベント属性を指示することができる。例えば、イベントは、例えば信号機に違反して急いで通りを渡っている多数の歩行者に起因して問題になる特定の交差点として特性化され得る。イベント属性は、例えば、通りを渡っている人間の数、増大した数の歩行者からもたらされる交通遅延などのようなイベントの特性を記述する。１５０４において、遠隔操作リポジトリは、自律車両のグループと関連付けられる、集約されているデータのシミュレートされている動作に基づいて、推奨の第１のサブセットを取り出すためにアクセスされることができる。この事例において、シミュレータは、それをもって遠隔操作者が実施することができる推奨のソースであり得る。さらに、遠隔操作リポジトリはまた、同様のイベント属性に応答した遠隔操作者相互作用の集約に基づいて、推奨の第２のサブセットを取り出すためにアクセスされることもできる。特に、遠隔操作者相互作用キャプチャアナライザは、遠隔操作者の支援を求める以前の要求に基づいて同様の属性を有するイベントにいかに最良に応答すべきかを経験的に決定するために、機械学習技法を適用することができる。１５０６において、推奨の第１のサブセットおよび第２のサブセットが、自律車両に対する推奨される方策のセットを形成するために、組み合わされる。１５０８において、推奨される方策のセットの表現が、遠隔操作者コンピューティングデバイスのディスプレイ上に、視覚的に提示されることができる。１５１０において、推奨される方策の選択（例えば、遠隔操作者による）を表現するデータ信号が検出されることができる。
【００５６】
図１６は、いくつかの例による、群最適化マネージャを実施する自律車両群マネージャの例の図である。図１６００は、道路網１６５０内を移動する自律車両の群１６３０を管理するように構成されている自律車両群マネージャを示す。自律車両群マネージャ１６０３は、遠隔操作者コンピューティングデバイス１６０４を介して遠隔操作者１６０８に結合されており、また、群管理データリポジトリ１６４６にも結合されている。自律車両群マネージャ１６０３は、ポリシデータ１６０２および環境データ１６０６、ならびに他のデータを受信するように構成されている。さらに図１６００について、群最適化マネージャ１６２０は、移動要求プロセッサ１６３１を含むように示されており、移動要求プロセッサ１６３１は、群データエクストラクタ（ｆｌｅｅｔ  ｄａｔａ  ｅｘｔｒａｃｔｏｒ）１６３２および自律車両派遣最適化カリキュレータ１６３４を含む。移動要求プロセッサ１６３１は、自律車両サービスを要求しているユーザ１６８８からのもののような、移動要求を処理するように構成されている。群データエクストラクタ１６３２は、群内の自律車両に関係するデータを抽出するように構成されている。各自律車両と関連付けられるデータはリポジトリ１６４６内に格納されている。例えば、各車両に関するデータは、保守管理課題、スケジュールされているサービス依頼、日常の使用状況、電池充電および放電率、および任意の他のデータを記述することができ、これらは、リアルタイムに更新されることができ、休止時間を最小化するために自律車両の群を最適化する目的のために使用されることができる。自律車両派遣最適化カリキュレータ１６３４は、抽出されたデータを分析し、ステーション１６５２などからの派遣される次の車両が、自律車両サービスについて、集合の中で最小の走行時間および／または費用を提供することを保証するように、群の最適化された使用状況を計算するように構成されている。
【００５７】
群最適化マネージャ１６２０は、混合自律車両／非自律車両プロセッサ１６４０を含むように示されており、混合自律車両／非自律車両プロセッサ１６４０は、ＡＶ／非ＡＶ最適化カリキュレータ１６４２および非ＡＶセレクタ１６４４を含む。いくつかの例によれば、混合自律車両／非自律車両プロセッサ１６４０は、自律車両および人間によって運転される車両（例えば、独立請負人としての）からなる混合群を管理するように構成されている。そのため、自律車両サービスは、過剰な需要を満たすために、または、地理上のフェンスを越える場合がある非ＡＶサービス領域１６９０のような領域、または、不満足な通信カバレージの領域において非自律車両を利用することができる。ＡＶ／非ＡＶ最適化カリキュレータ１６４２は、自律車両群の使用状況を最適化し、非ＡＶ運転者を輸送サービスに（例えば、自律車両サービスに対する損害を最小限にして、または、損害がまったくないように）招聘するように構成されている。非ＡＶセレクタ１６４４は、ＡＶ／非ＡＶ最適化カリキュレータ１６４２によって導出される計算に基づいて、支援するための非ＡＶ運転者の数を選択するための論理を含む。
【００５８】
図１７は、いくつかの実施形態による、自律車両の群を管理するためのフロー図の例である。１７０２において、フロー１７００が開始する。１７０２において、ポリシデータが受信される。ポリシデータは、移動要求にサービスするために自律車両を選択するためにいかに最良に適用するかを規定するパラメータを含むことができる。１７０４において、リポジトリからの群管理データが抽出され得る。群管理データは、自律車両のプールに関するデータのサブセットを含む（例えば、データは、輸送要求にサービスするために車両の準備ができているかを記述する）。１７０６において、移動要求を表現するデータが受信される。例示的な目的のために、移動要求は、第１の地理的ロケーションから第２の地理的ロケーションへの輸送手段に対するものであり得る。１７０８において、ポリシデータに基づく属性が、要求にサービスするために利用可能である自律車両のサブセットを決定するために計算される。例えば、属性は、電池充電レベル、および、次にスケジュールされている保守管理までの時間を含んでもよい。１７１０において、自律車両が、第１の地理的ロケーションから第２の地理的ロケーションへの輸送手段として選択され、自律車両を、移動要求の起点と関連付けられる第３の地理的ロケーションに派遣するためのデータが生成される。
【００５９】
図１８は、いくつかの実施形態による、自律車両通信リンクマネージャを実施する自律車両群マネージャを示す図である。図１８００は、「低減された通信の領域」１８８０として識別される通信機能停止と一致する道路網１８５０内を移動する自律車両の群１８３０を管理するように構成されている自律車両群マネージャを示す。自律車両群マネージャ１８０３は、遠隔操作者コンピューティングデバイス１８０４を介して遠隔操作者１８０８に結合されている。自律車両群マネージャ１８０３は、ポリシデータ１８０２および環境データ１８０６、ならびに他のデータを受信するように構成されている。さらに図１８００について、自律車両通信リンクマネージャ１８２０が、環境イベントディテクタ（ｅｎｖｉｒｏｎｍｅｎｔ  ｅｖｅｎｔ  ｄｅｔｅｃｔｏｒ）１８３１、ポリシ適合デタミネータ１８３２、および移動要求プロセッサ１８３４を含むように示されている。環境イベントディテクタ１８３１は、自律車両サービスが実施されている環境内の変化を指定する環境データ１８０６を受信するように構成されている。例えば、環境データ１８０６は、領域１８８０が劣化した通信サービスを有し、これによって自律車両サービスに影響を与える可能性があることを指定することができる。ポリシ適合デタミネータ（ｐｏｌｉｃｙ  ａｄａｐｔｉｏｎ  ｄｅｔｅｒｍｉｎａｔｏｒ）１８３２は、そのようなイベントの間に（例えば、通信の喪失の間に）移動要求を受信するときに適用すべきパラメータを指定することができる。移動要求プロセッサ１８３４は、劣化した通信を考慮して移動要求を処理するように構成されている。この例において、ユーザ１８８８が、自律車両サービスを要求している。さらに、移動要求プロセッサ１８３４は、不満足な通信に起因する複雑化を回避するように自律車両が派遣される方法を修正するための、適合されたポリシを適用するための論理を含む。
【００６０】
通信イベントディテクタ１８４０が、ポリシダウンロードマネージャ１８４２と、通信設定された（「ＣＯＭＭ設定された」）ＡＶディスパッチャ１８４４とを含む。ポリシダウンロードマネージャ１８４２は、低減された通信の領域１８８０を考慮して自律車両１８３０に更新されたポリシを提供するように構成されており、それによって、更新されたポリシは、自律車両が領域１８８０に入る場合に、その領域を迅速に出るためのルートを指定することができる。例えば、自律車両１８６４は、領域１８８０に入る前の時点で、更新されたポリシを受信することができる。通信の喪失を受けて、自律車両１８６４は、更新されたポリシを実施し、領域１８８０から迅速に出るためのルート１８６６を選択する。ＣＯＭＭ設定されたＡＶディスパッチャ１８４４は、領域１８８０にわたるピアツーピアネットワークの確立に対する中継装置として構成される、自律車両を駐めるためのポイント１８６５を識別するように構成されることができる。そのため、ＣＯＭＭ設定されたＡＶディスパッチャ１８４４は、ピアツーピアアドホックネットワークにおける電波塔として動作する目的のために、ロケーション１８６５に駐めるために自律車両１８６２（搭乗者なし）を派遣するように構成されている。
【００６１】
図１９は、いくつかの実施形態による、劣化または喪失した通信のようなイベント中の自律車両に対するアクションを決定するためのフロー図の例である。１９０１において、フロー１９００が開始する。ポリシデータが受信され、それによって、ポリシデータは、イベント中に地理的領域における移動要求に適用するためのパラメータを規定する。１９０２において、以下のアクションのうちの１つまたは複数が実施され得る。（１）その地理的ロケーションの部分内の地理的ロケーションに自律車両のサブセットを派遣する。自律車両のサブセットは、特定の地理的ロケーションに駐まり、各々が静的通信中継装置としての役割を果たすか、または、各々が移動通信中継装置としての役割を果たすために、地理的領域内で移動する。（２）その地理的領域の部分と関連付けられる自律車両のプールの部分の間でピアツーピア通信を実施する。（３）イベント中のその地理的領域の部分を脱出するためのルートを記述するイベントポリシを、自律車両に提供する。（４）遠隔操作を呼び出す。および（５）その地理的領域を回避するように、経路を再計算する。アクションの実施後、１９１４において、その自律車両の群が監視される。
【００６２】
図２０は、いくつかの実施形態による、ローカライザの例を示す図である。図２０００は、ライダデータ２０７２、カメラデータ２０７４、レーダデータ２０７６、および他のデータ２０７８のような、センサ２０７０からのセンサデータを受信するように構成されているローカライザ２０６８を含む。さらに、ローカライザ２０６８は、２Ｄマップデータ２０２２、３Ｄマップデータ２０２４、および３Ｄ局所的マップデータのような基準データ２０２０を受信するように構成されている。いくつかの例によれば、対応するデータ構造およびリポジトリを含む、４Ｄマップデータ２０２５および意味論的マップデータ（図示せず）のような他のマップデータも、実施されてもよい。さらに図２０００について、ローカライザ２０６８は、位置決めシステム２０１０および位置特定システム２０１２を含み、これらは両方とも、センサ２０７０からのセンサデータおよび基準データ２０２０を受信するように構成されている。位置特定データインテグレータ２０１４は、位置決めシステム２０１０からのデータおよび位置特定システム２０１２からのデータを受信するように構成されており、それによって、位置特定データインテグレータ２０１４は、局所的位置データ２０５２を形成するために複数のセンサからのセンサデータを統合または融合するように構成されている。
【００６３】
図２１は、いくつかの実施形態による、集積センサデータに基づいて局所的位置データを生成するためのフロー図の例である。２１０１において、フロー２１００が開始する。２１０２において、基準データが受信され、基準データは、三次元マップデータを含む。いくつかの例において、３Ｄまたは４Ｄマップデータのような基準データが、１つまたは複数のネットワークから受信されてもよい。２１０４において、１つまたは複数の位置特定センサからの位置特定データが受信され、位置特定システム内に配置される。２１０６において、１つまたは複数の位置決めセンサからの位置決めデータが受信され、位置決めシステム内に配置される。２１０８において、位置特定データおよび位置決めデータが統合される。２１１０において、自律車両の地理的位置を指定するローカル場所データを形成するために、位置特定データおよび位置決めデータが統合される。
【００６４】
図２２は、いくつかの実施形態による、ローカライザの別の例を示す図である。図２２００はローカライザ２２６８を含み、ローカライザ２２６８は、それぞれ位置決めに基づくデータ２２５０およびローカルなロケーションに基づくデータ２２５１を生成するための位置特定システム２２１０および相対位置特定システム２２１２を含む。位置特定システム２２１０は、他の任意選択のデータ（例えば、４Ｄマップデータ）の中でも、ＧＰＳデータ２２７３、ＧＰＳデータム２２１１、および３Ｄマップデータ２２２２を処理するための投影プロセッサ２２５４ａを含む。位置特定システム２２１０はまた、他の任意選択のデータの中でも、ホイールデータ２２７５（例えば、ホイール速度）、車両モデルデータ２２１３および３Ｄマップデータ２２２２を処理するためのオドメトリプロセッサ２２５４ｂをも含む。さらにまた、位置特定システム２２１０は、他の任意選択のデータの中でも、ＩＭＵデータ２２５７、車両モデルデータ２２１５および３Ｄマップデータ２２２２を処理するためのインテグレータプロセッサ２２５４ｃを含む。同様に、相対位置特定システム２２１２は、他の任意選択のデータの中でも、ライダデータ２２７２、２Ｄタイルマップデータ２２２０、３Ｄマップデータ２２２２、および３Ｄ局所的マップデータ２２２３を処理するためのライダ位置特定プロセッサ２２５４ｄを含む。相対位置特定システム２２１２はまた、他の任意選択のデータの中でも、カメラデータ２２７４、３Ｄマップデータ２２２２、および３Ｄ局所的マップデータ２２２３を処理するための視覚見当合わせプロセッサ２２５４ｅをも含む。さらにまた、相対位置特定システム２２１２は、他の任意選択のデータの中でも、レーダデータ２２７６、３Ｄマップデータ２２２２、および３Ｄ局所的マップデータ２２２３を処理するためのレーダ戻りプロセッサ２２５４ｆを含む。様々な例において、ソナーデータなどのような、他のタイプのセンサデータおよびセンサまたはプロセッサが実施されてもよいことに留意されたい。
【００６５】
さらに図２２００について、位置特定に基づくデータ２２５０および相対位置特定に基づくデータ２２５１は、それぞれデータインテグレータ２２６６ａおよび位置特定データインテグレータ２２６６に供給され得る。データインテグレータ２２６６ａおよび位置特定データインテグレータ２２６６は、対応するデータを融合するように構成されることができ、それによって、位置特定に基づくデータ２２５０は、位置特定データインテグレータ２２６６において相対位置特定に基づくデータ２２５１と融合される前に、データインテグレータ２２６６ａにおいて融合されることができる。いくつかの実施形態によれば、データインテグレータ２２６６ａは、位置特定データインテグレータ２２６６の部分として形成されるか、または、不在である。それに関係なく、位置特定に基づくデータ２２５０および相対位置特定に基づくデータ２２５１は両方とも、ローカル場所データ２２５２を生成するためにデータを融合する目的のために、位置特定データインテグレータ２２６６に供給されることができる。位置特定に基づくデータ２２５０は、投影プロセッサ２２５４ａからの単項制約データ（および不確定値）、ならびに、オドメトリプロセッサ２２５４ｂおよびインテグレータプロセッサ２２５４ｃからの二項制約データ（および不確定値）を含むことができる。相対位置特定に基づくデータ２２５１は、位置特定プロセッサ２２５４ｄおよび視覚見当合わせプロセッサ２２５４ｅ、ならびに、任意選択的にレーダ戻りプロセッサ２２５４ｆからの単項制約データ（および不確定値）を含むことができる。いくつかの実施形態によれば、位置特定データインテグレータ２２６６は、カルマンフィルタ（例えば、ゲートカルマンフィルタ（ｇａｔｅｄ  Ｋａｌｍａｎ  ｆｉｌｔｅｒ））、相対バンドルアジャスタ（ｒｅｌａｔｉｖｅ  ｂｕｎｄｌｅ  ａｄｊｕｓｔｅｒ）、位置グラフ緩和、粒子フィルタ、ヒストグラムフィルタなどのような非線形平滑化機能を実施することができる。
【００６６】
図２３は、いくつかの実施形態による、知覚エンジンの例を示す図である。図２３００は、知覚エンジン２３６６を含み、知覚エンジン２３６６は、セグメンテーションプロセッサ２３１０、オブジェクトトラッカ２３３０、およびクラシファイヤ２３６０を含む。さらに、知覚エンジン２３６６は、例えば、ローカル場所データ２３５２、ライダデータ２３７２、カメラデータ２３７４、およびレーダデータ２３７６を受信するように構成されている。ソナーデータのような他のセンサデータが、知覚エンジン２３６６の機能を提供するためにアクセスされてもよいことに留意されたい。セグメンテーションプロセッサ２３１０は、グランドプレーンデータを抽出し、および／または、画像の部分をセグメント化して、オブジェクトを互いから、および静的画像（例えば、背景）から区別するように構成されている。いくつかの事例において、３Ｄブロブが、互いを区別するためにセグメント化されることができる。いくつかの例において、ブロブは、空間的に再生された環境内でオブジェクトを識別する特徴のセットを参照することができ、強度および色のような、同様の特性を有する要素（例えば、カメラデータのピクセル、レーザ戻りデータのポイントなど）から構成されることができる。いくつかの例において、ブロブはまた、ポイントクラウド（例えば、色付けされたレーザ戻りデータから構成される）またはオブジェクトを構成する他の要素を参照することもできる。オブジェクトトラッカ２３３０は、ブロブ、または他のセグメント化された画像部分の動きのフレームごとの推定を実施するように構成されている。さらに、時刻ｔ１における第１のフレーム内の１つのロケーションにあるブロブを、時刻ｔ２における第２のフレーム内の異なるロケーションにあるブロブと関連付けるために、データ関連付けが使用される。いくつかの例において、オブジェクトトラッカ２３３０は、ブロブのような３Ｄオブジェクトのリアルタイムの確率的追跡を実施するように構成されている。クラシファイヤ２３６０は、オブジェクトを識別し、そのオブジェクトを分類タイプ（例えば、歩行者、自転車利用者などとして）によっておよびエネルギー／活動（例えば、オブジェクトが動的であるかまたは静的であるか）によって分類するように構成されており、それによって、分類を表現するデータは、意味ラベルによって記述される。いくつかの実施形態によれば、オブジェクトクラスごとに異なる信頼性で、オブジェクトを車両、自転車利用者、歩行者などとして分類することのような、オブジェクトカテゴリの確率的推定が実施されることができる。知覚エンジン２３６６は、知覚エンジンデータ２３５４を決定するように構成されており、知覚エンジンデータ２３５４は、静的オブジェクトマップおよび／または動的オブジェクトマップを含むことができ、それによって、例えば、プランナは、この情報を使用して、経路プランニングを強化することができる。様々な例によれば、セグメンテーションプロセッサ２３１０、オブジェクトトラッカ２３３０、およびクラシファイヤ２３６０のうちの１つまたは複数は、知覚エンジンデータ２３５４を生成するために機械学習技法を適用することができる。
【００６７】
図２４は、いくつかの実施形態による、知覚エンジンデータを生成するためのフロー図の例である。フロー図２４００は２４０２において開始し、自律車両のローカル場所を表現するデータが取り出される。２４０４において、１つまたは複数の位置特定センサからの位置特定データが受信され、２４０６において、セグメント化されたオブジェクトを形成するために、自律車両が配置されている環境の特徴がセグメント化される。２４０８において、動き（例えば、推定される動き）を有する少なくとも１つの追跡されているオブジェクトを形成するために、セグメント化されたオブジェクトの１つまたは複数の部分が空間的に追跡される。２４１０において、追跡されているオブジェクトが、少なくとも静的オブジェクトまたは動的オブジェクトのいずれかであるものとして分類される。いくつかの事例において、静的オブジェクトまたは動的オブジェクトは、分類タイプと関連付けられることができる。２４１２において、分類されたオブジェクトを識別するデータが生成される。例えば、分類されたオブジェクトを識別するデータは、意味情報を含むことができる。
【００６８】
図２５は、いくつかの実施形態による、セグメンテーションプロセッサの例である。図２５００は、１つまたは複数のライダ２５７２からのライダデータおよび１つまたは複数のカメラ２５７４からのカメラ画像データを受信するセグメンテーションプロセッサ２５１０を示す。局所的位置データ２５５２、ライダデータ、およびカメラ画像データが、メタスピンジェネレータ（ｍｅｔａ  ｓｐｉｎ  ｇｅｎｅｒａｔｏｒ）２５２１へと受信される。いくつかの例において、メタスピンジェネレータは、様々な属性（例えば、色、強度など）に基づいて、画像を区別可能な領域（例えば、ポイントクラウドのクラスタまたはグループ）へと分割するように構成されており、そのうちの少なくとも２つ以上は、同時にまたはほぼ同時に更新されることができる。メタスピンデータ２５２２が、セグメンテーションプロセッサ２５２３においてオブジェクトセグメンテーションおよびグランドセグメンテーション（ｇｒｏｕｎｄ  ｓｅｇｍｅｎｔａｔｉｏｎ）を実施するために使用され、それによって、メタスピンデータ２５２２とセグメンテーションプロセッサ２５２３からのセグメンテーション関連データの両方が、走査されている差分のプロセッサ（ｓｃａｎｎｅｄ  ｄｉｆｆｅｒｅｎｃｉｎｇ  ｐｒｏｃｅｓｓｏｒ）２５１３に適用される。走査されている差分のプロセッサ２５１３は、セグメント化された画像部分の動きおよび／または相対速度を予測するように構成されており、これは、２５１７において動的オブジェクトを識別するために使用されることができる。２５１７において検出された速度を有するオブジェクトを指示するデータが、任意選択的に、経路プランニング決定を強化するためにプランナに送信される。加えて、走査されている差分のプロセッサ２５１３からのデータは、そのようなオブジェクトのマッピングを形成する（また、任意選択的に、動きのレベルを識別する）ためにオブジェクトのロケーションを近似するために使用することができる。いくつかの例において、占有格子マップ２５１５が生成されることができる。占有格子マップ２５１５を表現するデータは、（例えば、不確定性を低減することによって）経路プランニング決定をさらに強化するために、プランナに送信されることができる。さらに図２５００について、１つまたは複数のカメラ２５７４からの画像カメラデータが、ブロブクラシファイヤ２５２０においてブロブを分類するために使用され、ブロブクラシファイヤ２５２０はまた、セグメンテーションプロセッサ２５２３からブロブデータ２５２４も受信する。セグメンテーションプロセッサ２５１０はまた、レーダ関連ブロブデータ２５１６を生成するレーダセグメンテーションプロセッサ２５１４においてセグメンテーションを実施するために、１つまたは複数のレーダ２５７６から未処理レーダ戻りデータ２５１２を受信することもできる。さらに図２５について、セグメンテーションプロセッサ２５１０はまた、レーダデータに関係付けられる、追跡されているブロブのデータ２５１８を受信および／または生成することもできる。ブロブデータ２５１６、追跡されているブロブのデータ２５１８、ブロブクラシファイヤ２５２０からのデータ、および、ブロブデ��タ２５２４はオブジェクトまたはその部分を追跡するために使用されることができる。いくつかの例によれば、以下、すなわち、走査されている差分のプロセッサ２５１３、ブロブ分類２５２０、およびレーダ２５７６からのデータのうちの１つまたは複数は、任意選択であってもよい。
【００６９】
図２６Ａは、様々な実施形態による、オブジェクトトラッカおよびクラシファイヤの例を示す図である。図２６００のオブジェクトトラッカ２６３０は、ブロブデータ２５１６、追跡されているブロブのデータ２５１８、ブロブクラシファイヤ２５２０からのデータ、ブロブデータ２５２４、および１つまたは複数のカメラ２６７６からのカメラ画像データを受信するように構成されている。画像トラッカ２６３３は、追跡されている画像のデータを生成するために、１つまたは複数のカメラ２６７６からのカメラ画像データを受信するように構成されており、追跡されている画像のデータは、データ関連付けプロセッサ２６３２に提供されることができる。示されているようにデータ関連付けプロセッサ２６３２は、ブロブデータ２５１６、追跡されているブロブのデータ２５１８、ブロブクラシファイヤ２５２０からのデータ、ブロブデータ２５２４、および画像トラッカ２６３３からの追跡画像データを受信するように構成されており、上述されているタイプのデータの間の１つまたは複数の関連付けを識別するようにさらに構成されている。データ関連付けプロセッサ２６３２は、とりわけ例えば、動きを推定するために、フレームごとに、例えば、様々なブロブデータを追跡するように構成されている。さらに、データ関連付けプロセッサ２６３２によって生成されるデータは、トラックアップデータ（ｔｒａｃｋ  ｕｐｄａｔｅｒ）２６３４によって、１つまたは複数のトラック、または追跡されているオブジェクトを更新するために使用されることができる。いくつかの例において、トラックアップデータ２６３４は、オンラインでトラックデータベース（「ＤＢ」）２６３６に格納することができる、追跡されているオブジェクトの更新されたデータを形成するために、カルマンフィルタなどを実施することができる。フィードバックデータが、データ関連付けプロセッサ２６３２とトラックデータベース２６３６との間で経路２６９９を介して交換されることができる。いくつかの例において、画像トラッカ２６３３は、任意選択であってもよく、除外されてもよい。オブジェクトトラッカ２６３０はまた、例えば、レーダまたはソナー、および、任意の他のタイプのセンサデータのような他のセンサデータを使用してもよい。
【００７０】
図２６Ｂは、少なくともいくつかの例による、オブジェクトトラッカの別の例を示す図である。図２６０１は、オブジェクト走査見当合わせおよびデータ融合を実施するように構成されているプロセッサに記述されている、同様に名付けられている要素としての構造および／または機能を含むことができるオブジェクトトラッカ２６３１を含む。プロセッサ２６９６は、結果もたらされるデータを３Ｄオブジェクトデータベース２６９８に格納するようにさらに構成されている。
【００７１】
図２６Ａに戻って参照すると、図２６００はまた、クラシファイヤ２６６０をも含み、クラシファイヤ２６６０は、静的障害物データ２６７２および動的障害物データ２６７４を生成するためのトラック分類エンジン２６６２を含むことができ、これらのデータは両方とも、経路プランニング目的のためにプランナに送信されることができる。少なくとも１つの例において、トラック分類エンジン２６６２は、障害物が静的であるかまたは動的であるか、および、オブジェクトの別の分類タイプ（例えば、オブジェクトが車両、歩行者、樹木、自転車利用者、犬、猫、紙袋などであるか）を決定するように構成されている。静的障害物データ２６７２は、障害物マップ（例えば、２Ｄ占有マップ）の部分として形成されることができ、動的障害物データ２６７４は、速度および分類タイプを指示するデータを有する境界ボックスを含むように形成されることができる。動的障害物データ２６７４は、少なくともいくつかの事例において、２Ｄ動的障害物マップデータを含む。
【００７２】
図２７は、いくつかの例による、知覚エンジンのフロントエンドプロセッサの例である。図２７００は、様々な例によれば、グランドセグメンテーションを実施するためのグランドセグメンテーションプロセッサ２７２３ａおよび「オーバーセグメンテーション」を実施するためのオーバーセグメンテーションプロセッサ２７２３ｂを含む。プロセッサ２７２３ａおよび２７２３ｂは、任意選択的に色付けされたライダデータ２７７５を受信するように構成されている。オーバーセグメンテーションプロセッサ２７２３ｂは、第１のブロブタイプ（例えば、相対的に小さいブロブ）のデータ２７１０を生成し、このデータは、第２のブロブタイプのデータ２７１４を生成する集約分類・セグメンテーションエンジン（ａｇｇｒｅｇａｔｉｏｎ  ｃｌａｓｓｉｆｉｃａｔｉｏｎ  ａｎｄ  ｓｅｇｍｅｎｔａｔｉｏｎ  ｅｎｇｉｎｅ）２７１２に提供される。データ２７１４は、データ関連付けプロセッサ２７３２に提供され、データ関連付けプロセッサ２７３２は、データ２７１４がトラックデータベース２７３６内に存在するか否かを検出するように構成されている。２７４０において、第２のブロブタイプ（例えば、１つまたは複数のより小さいブロブを含み得る相対的に大きいブロブ）のデータ２７１４が新たなトラックであるか否かの決定が行われる。そうである場合、２７４２においてトラックが初期化され、そうでない場合、トラックデータベース２７３６に格納されている、追跡されているオブジェクトデータおよびそのトラックが、トラックアップデータ２７４２によって拡張または更新されることができる。トラック分類エンジン２７６２は、トラックを識別し、例えば、トラック関連データを追加、除去または修正することによって、トラックを更新／修正するために、トラックデータベース２７３６に結合されている。
【００７３】
図２８は、様々な実施形態による、合成環境において自律車両をシミュレートするように構成されているシミュレータを示す図である。図２８００は、シミュレートされた環境２８０３を生成するように構成されているシミュレータ２８４０を含む。示されているように、シミュレータ２８４０は、シミュレートされた環境２８０３内に、シミュレートされた表面２８９２ａおよび２８９２ｂのようなシミュレートされた幾何学的形状を生成するために、基準データ２８２２（例えば、３Ｄマップデータおよび／もしくは他のマップ、または、ＲＮＤＦデータもしくは同様の道路網データを含むルートデータ）を使用するように構成されている。シミュレートされた表面２８９２ａおよび２８９２ｂは、道路に隣接する建造物の壁または側面をシミュレートすることができる。シミュレータ２８４０はまた、合成環境において動的な作用因子をシミュレートするために、動的オブジェクトデータを事前に生成または手続き的に生成することもできる。動的な作用因子の例は、シミュレートされた動的オブジェクト２８０１であり、これは、一定の速度を有するシミュレートされた自転車利用者を表す。シミュレートされた動的な作用因子は、任意選択的に、シミュレートされた自律車両を含む、シミュレートされた環境内の他の静的な作用因子および動的な作用因子に応答することができる。例えば、シミュレートされたオブジェクト２８０１は、予め設定された起動に従うのではなく、シミュレートされた環境２８０３内の他の障害物のために減速することができ、それによって、現実世界に存在する実際の動的な環境のより現実的なシミュレーションを生成する。
【００７４】
シミュレータ２８４０は、シミュレートされた自律車両コントローラ２８４７を生成するように構成されることができ、シミュレートされた自律車両コントローラ２８４７は、知覚エンジン２８６６、ローカライザ２８６８、モーションコントローラ２８６２、およびプランナ２８６４の合成適合を含み、これらの各々は、シミュレートされた環境２８０３内で本明細書において記述されている機能を有することができる。シミュレータ２８４０はまた、異なるセンサモダリティおよび異なるセンサデータフォーマットとのデータ交換をシミュレートするためのシミュレートされたインターフェース（「Ｉ／Ｆ」）２８４９を生成することもできる。そのため、シミュレートされたインターフェース２８４９は、例えば、シミュレートされたライダセンサ２８７２から、パケット化されたデータのためのソフトウェアインターフェースをシミュレートすることができる。さらに、シミュレータ２８４０はまた、シミュレートされたＡＶコントローラ２８４７を実施するシミュレートされた自律車両２８３０を生成するように構成されることもできる。シミュレートされた自律車両２８３０は、シミュレートされたライダセンサ２８７２、シミュレートされたカメラまたは画像センサ２８７４、およびシミュレートされたレーダセンサ２８７６を含む。示されている例において、シミュレートされたライダセンサ２８７２は、光線追跡２８９２と一致するシミュレートされたレーザを生成するように構成されることができ、これによって、シミュレートされたセンサ戻り２８９１が生成される。シミュレータ２８４０は、ノイズの追加またはセンサデータに対する他の環境効果（例えば、シミュレートされたセンサ戻り２８９１に影響を与える追加された拡散または反射）をシミュレートすることができることに留意されたい。さらにまた、シミュレータ２８４０は、センサ機能不全、センサ誤較正、断続的なデータの機能停止などを含む、様々なセンサ欠陥をシミュレートするように構成されることができる。
【００７５】
シミュレータ２８４０は、シミュレートされた自律車両２８３０の挙動のシミュレーションに使用するための、自律車両の機械的、静的、動的、および運動学的態様をシミュレートするための物理プロセッサ２８５０を含む。例えば、物理プロセッサ２８５０は、接触力学をシミュレートするための接触力学モジュール２８５１、シミュレートされているボディ間の相互作用をシミュレートするための衝突検出モジュール２８５２、および、シミュレートされている機械的相互作用間の相互作用をシミュレートするためのマルチボディ動態モジュール２８５４を含む。
【００７６】
シミュレータ２８４０はまた、とりわけ、因果関係を決定するためにシミュレートされた環境２８０３の任意の合成的に生成された要素の機能を適合させるようにシミュレーションを制御するように構成されているシミュレータコントローラ２８５６をも含む。シミュレータ２８４０は、シミュレートされた環境２８０３の性能合成的に生成された要素を評価するためのシミュレータエバリュエータ（ｓｉｍｕｌａｔｏｒ  ｅｖａｌｕａｔｏｒ）２８５８を含む。例えば、シミュレータエバリュエータ２８５８は、シミュレートされた車両コマンド２８８０（例えば、シミュレートされたステアリング角度およびシミュレートされた速度）を分析して、そのようなコマンドが、シミュレートされた環境２８０３内のシミュレートされた活動に対する適切な応答であるか否かを判定することができる。さらに、シミュレータエバリュエータ２８５８は、遠隔操作者コンピューティングデバイス２８０４を介した遠隔操作者２８０８の、シミュレートされた自律車両２８３０との相互作用を評価することができる。シミュレータエバリュエータ２８５８は、シミュレートされた自律車両２８３０の応答を案内するために追加されることができる、更新されたマップタイルおよびルートデータを含む、更新された基準データ２８２７の効果を評価することができる。シミュレータエバリュエータ２８５８はまた、ポリシデータ２８２９が更新、削除、または追加されるときに、シミュレータＡＶコントローラ２８４７の応答を評価することもできる。シミュレータ２８４０の上記の記述は、限定であるようには意図されていない。そのため、シミュレータ２８４０は、静的特徴と動的特徴の両方を含む、シミュレートされた環境に対する自律車両の様々な異なるシミュレーションを実施するように構成されている。例えば、シミュレータ２８４０は、信頼性を保証するためにソフトウェアバージョンの変更を検証するために使用されることができる。シミュレータ２８４０はまた、車両動態特性を決定するために、および、較正目的のために使用されることもできる。さらに、シミュレータ２８４０は、自己シミュレーションによる学習を行うように、適用可能な制御および結果もたらされる軌道の空間を探索するために使用されることができる。
【００７７】
図２９は、いくつかの実施形態による、自律車両の様々な態様をシミュレートするためのフロー図の例である。フロー図２９００は２９０２において開始し、三次元マップデータを含む基準データがシミュレータへと受信される。２９０４において、分類されているオブジェクトの運動パターンを規定する動的オブジェクトデータが取り出されることができる。２９０６において、シミュレートされた環境が、少なくとも三次元（「３Ｄ」）マップデータおよび動的オブジェクトデータに基づいて形成される。シミュレートされた環境は、１つまたは複数のシミュレートされた表面を含むことができる。２９０８において、シミュレートされた環境の部分を形成するシミュレートされた自律車両コントローラを含む自律車両がシミュレートされる。自律車両コントローラは、センサデータを受信するように構成されているシミュレートされた知覚エンジンおよびシミュレートされたローカライザを含むことができる。２９１０において、少なくとも１つのシミュレートされたセンサ戻りに関するデータに基づいて、シミュレートされたセンサデータが生成され、２９１２において、合成環境内のシミュレートされた自律車両によって動き（例えば、ベクトル化された推進）を引き起こすためのシミュレートされた車両コマンドが生成される。２９１４において、シミュレートされた自律車両が、予想される挙動と一致して（例えば、ポリシと一致して）挙動したか否かを決定するために、シミュレートされた車両コマンドが評価される。
【００７８】
図３０は、いくつかの実施形態による、マップデータを生成するためのフロー図の例である。フロー図３０００は３００２において開始し、軌道データが取り出される。軌道データは、一定の時間期間にわたって（例えば、ログ記録された軌道として）キャプチャされた軌道を含むことができる。３００４において、少なくとも位置特定データが取り出されることができる。位置特定データは、一定の時間期間にわたって（例えば、ログ記録された位置特定データとして）キャプチャされることができる。３００６において、位置特定データのサブセットを生成するために、カメラまたは他の画像センサが実施されることができる。そのため、取り出された位置特定データは、画像データを含むことができる。３００８において、位置特定データのサブセットが、グローバル場所（例えば、グローバル位置）を識別するために整列される。３０１０において、三次元（「３Ｄ」）マップデータが、グローバル場所に基づいて生成され、３０１２において、３次元マップデータが、例えば、手動ルートデータエディタ（例えば、ＲＮＤＦエディタのような手動道路網データエディタを含む）、自動ルートデータジェネレータ（例えば、自動ＲＮＤＦジェネレータを含む、自動道路網ジェネレータを含む）、自律車両の群、シミュレータ、遠隔操作者コンピューティングデバイス、および、自律車両サービスの任意の他の構成要素による実施のために利用可能である。
【００７９】
図３１は、いくつかの実施形態による、マッピングエンジンのアーキテクチャを示す図である。図３１００は、軌道ログデータ３１４０、ライダログデータ３１７２、カメラログデータ３１７４、レーダログデータ３１７６、および他の任意選択のログ記録されたセンサデータ（図示せず）を受信するように構成されている３Ｄマッピングエンジンを含む。論理３１４１は、とりわけ、空間内の近傍のポイントが以前に訪れられていることをセンサデータが指示するか否かを検出するように構成されている環閉合ディテクタ（ｌｏｏｐ−ｃｌｏｓｕｒｅ  ｄｅｔｅｃｔｏｒ）３１５０を含む。論理３１４１はまた、１つまたは複数の見当合わせポイントに対して、いくつかの事例においては３Ｄマップデータを含むマップデータを整列させるための見当合わせコントローラ３１５２をも含む。さらに、論理３１４１は、位置グラフデータ３１４５を生成するように構成されている全体的位置グラフジェネレータ（ｇｌｏｂａｌ  ｐｏｓｅ  ｇｒａｐｈ  ｇｅｎｅｒａｔｏｒ）３１４３によって使用するための環閉合の状態を表現するデータ３１４２を提供する。いくつかの例において、位置グラフデータ３１４５はまた、見当合わせ改良モジュール３１４６からのデータに基づいて生成されることもできる。論理３１４４は、３Ｄマッパ３１５４およびライダ自己較正ユニット３１５６を含む。さらに、論理３１４４は、３Ｄマップデータ３１２０（または、４Ｄマップデータのような他のマップデータ）を生成するために、センサデータおよび位置グラフデータ３１４５を受信する。いくつかの例において、論理３１４４は、最適な三次元マップを形成するためにセンサデータおよび／またはマップデータを融合するために切断符号付き距離関数（「ＴＳＤＦ」）を実施することができる。さらに、論理３１４４は、テクスチャおよび反射特性を含むように構成されている。３Ｄマップデータ３１２０は、手動ルートデータエディタ３１６０（例えば、ルートデータまたは他のタイプのルートもしくは基準データを操作するためのエディタ）、自動ルートデータジェネレータ３１６２（例えば、ルートデータまたは他のタイプの道路網もしくは基準データを生成するように構成されている論理）、自律車両の群３１６４、シミュレータ３１６６、遠隔操作者コンピューティングデバイス３１６８、および、自律車両サービスの任意の他の構成要素による使用のためにリリースされることができる。マッピングエンジン３１１０は、手動注釈または自動的に生成される注釈、および、ソナーまたは機器を備え付けられた環境（例えば、スマートストップランプ）から意味情報をキャプチャすることができる。
【００８０】
図３２は、いくつかの実施形態による、自律車両アプリケーションを示す図である。図３２００は、自律車両３２３０を介したユーザ３２０２の輸送手段を構成するために自律車両サービスプラットフォーム３２０１に接触するように構成されている自律サービスアプリケーション３２４０を含むモバイルコンピューティングデバイス３２０３を示す。示されているように、自律サービスアプリケーション３２４０は、コンピューティングデバイス（例えば、携帯電話３２０３など）上に存在するソフトウェアアプリケーションであってもよい輸送コントローラ３２４２を含むことができる。輸送コントローラ３２４２は、ユーザ３２０２がユーザのロケーションから目的地までの輸送手段を構成することができる自律車両および／または自律車両群に関係付けられる動作を受信、スケジュール、選択、または実施するように構成されている。例えば、ユーザ３２０２は、車両３２３０を要求するためにアプリケーションを開くことができる。アプリケーションは、マップを表示することができ、ユーザ３２０２は、例えば、地理上のフェンス領域内で自身の目的地を指示するためにピンをドロップすることができる。代替的に、アプリケーションは、近傍の予め指定された乗車ロケーションのリストを表示してもよく、または、ユーザに、住所もしくは名前のいずれかによって目的地をタイプするためのテキスト入力フィールドを提供してもよい。
【００８１】
さらに、示されている例について、自律車両アプリケーション３２４０はまた、自律車両３２３０が接近しているときに、ユーザ３２０２が車両の近くの地理的領域、または、近傍にいることを検出するように構成されることができるユーザ識別コントローラ３２４６を含むこともできる。いくつかの状況において、ユーザ３２０２は、（例えば、トラック、自動車、タクシーを含む様々な他の車両、および都市環境において一般的である他の障害物に起因して）ユーザ３２０３による使用のための自律車両３２３０が接近しているときに、これを容易に知覚または識別しない場合がある。例において、自律車両３２３０は、（例えば、無線周波数（「ＲＦ」）信号の相対方向および信号強度を使用して）自律車両３２３０に対するユーザ３２０２の空間ロケーションを通信および／または決定するために、ワイヤレス通信リンク３２６２（例えば、ＷｉＦｉまたはＢＬＥを含むＢｌｕｅｔｏｏｔｈ（登録商標）のようなＲＦ信号を介して）を確立することができる。いくつかの事例において、自律車両３２３０は、例えば、ＧＰＳデータなどを使用して、ユーザ３２０２の近似の地理的ロケーションを検出することができる。モバイルコンピューティングデバイス３２０３のＧＰＳ受信機（図示せず）は、自律車両サービスアプリケーション３２４０にＧＰＳデータを提供するように構成されることができる。したがって、ユーザ識別コントローラ３２４６は、リンク３２６０を介して自律車両サービスプラットフォーム３２０１にＧＰＳデータを提供することができ、自律車両サービスプラットフォーム３２０１は、リンク３２６１を介して自律車両３２３０にそのロケーションを提供することができる。その後、自律車両３２３０は、ユーザのＧＰＳデータを、車両のＧＰＳによって導出されるロケーションと比較することによって、ユーザ３２０２の相対距離および／または方向を決定することができる。
【００８２】
自律車両３２３０はまた、ユーザの固有の顔特性に基づいて一般的にユーザ３２０２を検出するか、または、ユーザ３２０２の識別情報（例えば、名前、電話番号など）を識別するための顔検出アルゴリズムを実施するように構成されている論理のような、ユーザ３２０２の存在を識別するための追加の論理をも含むことができる。さらに、自律車両３２３０は、ユーザ３２０２を識別するためのコードを検出するための論理を含むことができる。そのようなコードの例は、ＱＲコード、カラーコードなどのような特殊化された視覚コード、声によって起動または認識されるコードなどのような特殊化されたオーディオコードなどを含む。いくつかの事例において、コードは、セキュアな進入および／または脱出を保証するためにリンク３２６２を介して自律車両３２３０にデジタルに送信されることができる、符号化されたセキュリティキーであってもよい。さらに、ユーザ３２０２を識別するための、上記で識別された技法のうちの１つまたは複数は、他者が自律車両３２３０に入るのを防止するように（例えば、ユーザ３２０２に到達する前に第三者が占有されていない自律車両に入らないことを保証するために）、ユーザ３２０２に進入および脱出の特権を与えるための安全確保された手段として使用されることができる。様々な例によれば、ユーザ３２０２を識別し、安全確保された進入および脱出を提供するための任意の他の手段がまた、自律車両サービスアプリケーション３２４０、自律車両サービスプラットフォーム３２０１、および自律車両３２３０のうちの１つまたは複数において実施されてもよい。
【００８３】
ユーザ３３０２がその要求されている輸送手段に到達するのを支援するために、自律車両３２３０は、自律車両３２３０がユーザ３２０２に接近するときにその存在をユーザ３２０２に通知または他の様態で警告するように構成されることができる。例えば、自律車両３２３０は、特定の光パターンに従って、１つまたは複数の発光デバイス３２８０（例えば、ＬＥＯ）を起動することができる。特に、ユーザ３２０２の輸送手段要求にサービスするために自律車両３２３０が確保されていることを、ユーザ３２０２が容易に知覚することができるように、特定の光パターンが生成される。例として、自律車両３２３０は、ユーザ３２０２によって、そのような視覚的および時間的方法でその外部および内部ライトの「まばたき」または他のアニメーションとして知覚され得る光パターン３２９０を生成することができる。光のパターン３２９０は、ユーザ３２０２に対して、この車両がユーザが予約したものであることを識別するために、音声のパターンを伴ってまたは伴わずに生成されてもよい。
【００８４】
いくつかの実施形態によれば、自律車両ユーザコントローラ３２４４は、自律車両の様々な機能を制御するように構成されているソフトウェアアプリケーションを実施することができる。さらに、アプリケーションは、自律車両を、その最初の目的地への移動中に方向転換またはルート変更するように構成されることができる。さらに、自律車両ユーザコントローラ３２４４は、内蔵論理に、例えばムード照明を行うために自律車両３２３０の内部照明を修正させるように構成されることができる。コントローラ３２４４はまた、オーディオのソース（例えば、Ｓｐｏｔｉｆｙのような外部ソース、または、モバイルコンピューティングデバイス３２０３にローカルに格納されているオーディオ）を制御すること、搭乗のタイプを選択すること（例えば、所望される加速およびブレーキの積極性を修正すること、アクティブサスペンションパラメータを修正して「路面対処（ｒｏａｄ−ｈａｎｄｌｉｎｇ）」特性のセットを選択して、振動を含む積極的な運転特性を実施すること、または、快適性のために振動が減衰されている「穏やかな搭乗（ｓｏｆｔ−ｒｉｄｅ）」を選択すること）などもできる。例えば、モバイルコンピューティングデバイス３２０３は、換気および温度のような、ＨＶＡＣ機能をも制御するように構成されることができる。
【００８５】
図３３〜図３５は、様々な実施形態による、自律車両サービスの構成要素に様々な機能を提供するように構成されている様々なコンピューティングプラットフォームの例を示す。いくつかの例において、コンピューティングプラットフォーム３３００は、コンピュータプログラム、アプリケーション、方法、プロセス、アルゴリズム、または上述されている技法を実施するための他のソフトウェアを実施するために使用されることができる。
【００８６】
図３３の様々な構造および／または機能は、図３４および図３５に適用可能であり、そのため、それらの図面のいくつかの要素は、図３３の文脈において論じられ得ることに留意されたい。
【００８７】
いくつかの事例において、コンピューティングプラットフォーム３３００は、自律車両サービスプラットフォーム、自律車両３３９１内の１つまたは複数のコンピューティングデバイスに配置されるか、または、１つまたは複数のコンピューティングデバイスの間で分散されることができるコンピューティングデバイス３３９０ａ、および／またはモバイルコンピューティングデバイス３３９０ｂのような任意のデバイス内に配置されることができる。
【００８８】
コンピューティングプラットフォーム３３００は、情報を通信するためのバス３３０２または他の通信メカニズムを含み、これは、例えば、プロセッサを有するモバイルコンピューティングデバイスおよび／または通信デバイスを含むコンピューティングデバイスと通信するための通信リンク３３２１上でのポートを介した通信を促進するために、プロセッサ３３０４、システムメモリ３３０６（例えば、ＲＡＭなど）、記憶装置３３０８（例えば、ＲＯＭなど）、メモリ内キャッシュ（ＲＡＭ  ３３０６またはコンピューティングプラットフォーム３３００の他の部分内で実施されることができる）、通信インターフェース３３１３（例えば、Ｅｔｈｅｒｎｅｔまたはワイヤレスコントローラ、Ｂｌｕｅｔｏｏｔｈコントローラ、ＮＦＣ論理など）のようなサブシステムおよびデバイスを相互接続する。プロセッサ３３０４は、１つまたは複数のグラフィックスプロセッシングユニット（「ＧＰＵ」）、Ｉｎｔｅｌ（登録商標）  Ｃｏｒｐｏｒａｔｉｏｎによって製造されるもののような１つまたは複数の中央処理装置（「ＣＰＵ」）、または１つまたは複数の仮想プロセッサ、およびＣＰＵと仮想プロセッサとの任意の組み合わせによって実施されることができる。コンピューティングプラットフォーム３３００は、限定ではないが、キーボード、マウス、オーディオ入力（例えば、発話−テキストデバイス）、ユーザインターフェース、ディスプレイ、モニタ、カーソル、タッチセンサ式ディスプレイ、ＬＣＤまたはＬＥＤディスプレイ、および他のＩ／Ｏ関連デバイスを含む入出力デバイス３３０１を介して入力および出力を表現するデータを交換する。
【００８９】
いくつかの例によれば、コンピューティングプラットフォーム３３００は、システムメモリ３３０６に格納されている１つまたは複数の命令の１つまたは複数のシーケンスを実行するプロセッサ３３０４によって特定の動作を実施し、コンピューティングプラットフォーム３３００は、クライアント−サーバ構成、ピアツーピア構成において、または、スマートフォンなどを含む任意のモバイルコンピューティングデバイスとして実施されることができる。そのような命令またはデータは、記憶装置３３０８のような別のコンピュータ可読媒体からシステムメモリ３３０６へと読み出されることができる。いくつかの例において、ソフトウェア命令の代わりにまたはソフトウェアと組み合わせて、配線回路が実施のために使用されてもよい。命令は、ソフトウェアまたはファームウェアにおいて具現化されることができる。「コンピュータ可読媒体」という用語は、実行のためにプロセッサ３３０４に命令を提供することに関与する任意の有形媒体を参照する。そのような媒体は、限定ではないが、不揮発性媒体および揮発性媒体を含む多くの形態をとることができる。不揮発性媒体は、例えば、光または磁気ディスクなどを含む。揮発性媒体は、システムメモリ３３０６のようなダイナミックメモリを含む。
【００９０】
一般的な形態のコンピュータ可読媒体は、例えば、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、もしくは任意の他の磁気媒体、ＣＤ−ＲＯＭ、任意の他の光学媒体、パンチカード、紙テープ、穴のパターンを有する任意の他の物理媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＦＬＡＳＨ−ＥＰＲＯＭ、任意の他のメモリチップもしくはカートリッジ、または、コンピュータがそこから読み出すことができる任意の他の媒体を含む。命令は、さらに、伝送媒体を使用して送信または受信されることができる。「伝送媒体」という用語は、機械によって実行するための命令を格納、符号化または搬送することが可能である任意の有形または無形媒体を含むことができ、デジタルもしくはアナログ通信信号、または、そのような命令の通信を促進するための他の無形媒体を含む。伝送媒体は、コンピュータデータ信号を伝送するためのバス３３０２を含むワイヤを含む、同軸ケーブル、銅線、および光ファイバを含む。
【００９１】
いくつかの例において、命令のシーケンスの実行は、コンピューティングプラットフォーム３３００によって実施されることができる。いくつかの例によれば、コンピューティングプラットフォーム３３００は、互いに協働して（または互いに対して非同期的に）命令のシーケンスを実施するために、通信リンク３３２１（例えば、ＬＡＮ、ＰＳＴＮのような有線ネットワーク、または、様々な規格およびプロトコルのＷｉＦｉ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＮＦＣ、Ｚｉｇ−Ｂｅｅ等を含む任意のワイヤレスネットワーク）によって任意の他のプロセッサに結合されることができる。コンピューティングプラットフォーム３３００は、通信リンク３３２１および通信インターフェース３３１３を通じて、プログラムコード（例えば、アプリケーションコード）を含むメッセージ、データ、および命令を送信および受信することができる。受信されるプログラムコードは、受信されるときにプロセッサ３３０４によって実行されてもよく、および／または、後の実行のためにメモリ３３０６または他の不揮発性記憶装置に格納されてもよい。
【００９２】
示されている例において、システムメモリ３３０６は、本明細書において記述されている機能を実施するための実行可能命令を含む様々なモジュールを含むことができる。システムメモリ３３０６は、オペレーティングシステム（「Ｏ／Ｓ」）３３３２、ならびに、アプリケーション３３３６および／または論理モジュール３３５９を含むことができる。図３３に示されている例において、システムメモリ３３０６は、自律車両（「ＡＶ」）コントローラモジュール３３５０および／またはその構成要素（例えば、知覚エンジンモジュール、位置特定モジュール、プランナモジュール、および／またはモーションコントローラモジュール）を含み、それらのうちのいずれか、または、それらの１つもしくは複数の部分は、本明細書において記述されている１つまたは複数の機能を実施することによって、自律車両サービスを促進するように構成されることができる。
【００９３】
図３４に示されている例を参照すると、システムメモリ３３０６は、自律車両サービスプラットフォームモジュール３４５０および／またはその構成要素（例えば、遠隔操作者マネージャ、シミュレータなど）を含み、それらのうちのいずれか、または、それらの１つもしくは複数の部分は、本明細書において記述されている１つまたは複数の機能を実施することによって、自律車両サービスの管理を促進するように構成されることができる。
【００９４】
図３５に示されている例を参照すると、システムメモリ３３０６は、例えば、モバイルコンピューティングデバイスにおける使用のために、自律車両（「ＡＶ」）モジュールおよび／またはその構成要素を含む。モジュール３５５０の１つまたは複数の部分は、本明細書において記述されている１つまたは複数の機能を実施することによって、自律車両サービスの送達を促進するように構成されることができる。
【００９５】
図３３に戻って参照すると、上述されている特徴のうちのいずれかの構造および／または機能は、ソフトウェア、ハードウェア、ファームウェア、回路、またはそれらの組み合わせにおいて実施されることができる。上記の構造および構成要素ならびにそれらの機能は、１つまたは複数の他の構造または要素とともに集約されてもよいことに留意されたい。代替的に、要素およびそれらの機能は、もしあれば、構成部分要素に分割されることができる。ソフトウェアとして、上述されている技法は、様々なタイプのプログラミングまたはフォーマット言語、フレームワーク、構文、アプリケーション、プロトコル、オブジェクト、または技法を使用して実施されてもよい。ハードウェアおよび／またはファームウェアとして、上述されている技法は、フィールドプログラマブルゲートアレイ（「ＦＰＧＡ」）、特定用途向け集積回路（「ＡＳＩＣ」）、または任意の他のタイプの集積回路を設計するように構成されている任意のレジスタ転送言語（「ＲＴＬ」）のようなハードウェア記述言語を含む、様々なタイプのプログラミングまたは集積回路設計言語を使用して実施されてもよい。いくつかの実施形態によれば、「モジュール」という用語は、例えば、ハードウェア回路もしくはソフトウェアのいずれか、または、それらの組み合わせにおいて実施されるアルゴリズムもしくはその部分、および／または論理を参照することができる。これらは、変更されることができ、提供されている例または記述に限定されない。
【００９６】
いくつかの実施形態において、図３３のモジュール３３５０、図３４のモジュール３４５０、および図３５のモジュール３５５０、またはそれらの構成要素のうちの１つもしくは複数、または本明細書において記述されている任意のプロセスもしくはデバイスは、携帯電話またはモバイルコンピューティングデバイスのようなモバイルデバイスと（例えば、有線またはワイヤレスで）通信することができ、または、その中に配置されることができる。
【００９７】
いくつかの事例において、モバイルデバイス、または、１つもしくは複数のモジュール３３５９（図３３のモジュール３３５０、図３４のモジュール３４５０、および図３５のモジュール３５５０）もしくはその構成要素のうちの１つもしくは複数と通信する任意のネットワーク接続されているコンピューティングデバイス（図示せず）（または本明細書において記述されている任意のプロセスまたはデバイス）は、本明細書において記述されている特徴のうちのいずれかの構造および／または機能のうちの少なくともいくつかを提供することができる。上述されている図面に示されているように、上述されている特徴のうちのいずれかの構造および／または機能は、ソフトウェア、ハードウェア、ファームウェア、回路、またはそれらの任意の組み合わせにおいて実施されることができる。上記の構造および構成要素ならびにそれらの機能は、１つまたは複数の他の構造または要素とともに集約され、または、組み合わされてもよいことに留意されたい。代替的に、要素およびそれらの機能は、もしあれば、構成部分要素に分割されることができる。ソフトウェアとして、上述されている技法のうちの少なくともいくつかは、様々なタイプのプログラミングまたはフォーマット言語、フレームワーク、構文、アプリケーション、プロトコル、オブジェクト、または技法を使用して実施されてもよい。例えば、図面のうちのいずれかに示されている要素のうちの少なくとも１つは、１つまたは複数のアルゴリズムを表現することができる。または、それらの要素のうちの少なくとも１つは、構成構造および／または機能を提供するように構成されているハードウェアの部分を含む、論理の部分を表現することができる。
【００９８】
例えば、図３３のモジュール３３５０、図３４のモジュール３４５０、および図３５のモジュール３５５０、またはその構成要素のうちの１つもしくは複数、または本明細書において記述されている任意のプロセスもしくはデバイスは、メモリ内の１つまたは複数のアルゴリズムを実行するように構成されている１つまたは複数のプロセッサを含む１つまたは複数のコンピューティングデバイス（すなわち、装着されるかまたは搬送されるかを問わず、ウェアラブルデバイス、オーディオデバイス（ヘッドフォンまたはヘッドセットなど）または携帯電話のような任意のモバイルコンピューティングデバイス）において実施されることができる。したがって、上述されている図面内の要素のうちの少なくともいくつかは、１つまたは複数のアルゴリズムを表現することができる。または、それらの要素のうちの少なくとも１つは、構成構造および／または機能を提供するように構成されているハードウェアの部分を含む、論理の部分を表現することができる。これらは、変更されることができ、提供されている例または記述に限定されない。
【００９９】
ハードウェアおよび／またはファームウェアとして、上述されている構造技法は、フィールドプログラマブルゲートアレイ（「ＦＰＧＡ」）、特定用途向け集積回路（「ＡＳＩＣ」）、マルチチップモジュール、または任意の他のタイプの集積回路を設計するように構成されている任意のレジスタ転送言語（「ＲＴＬ」）のようなハードウェア記述言語を含む、様々なタイプのプログラミング言語または集積回路設計言語を使用して実施されることができる。
【０１００】
例えば、図３３のモジュール３３５０、図３４のモジュール３４５０、および図３５のモジュール３５５０、またはその構成要素のうちの１つもしくは複数、または本明細書において記述されている任意のプロセスもしくはデバイスは、１つまたは複数の回路を含む１つまたは複数のコンピューティングデバイスにおいて実施されることができる。したがって、上述されている図面内の要素のうちの少なくとも１つは、ハードウェアの１つまたは複数の構成要素を表現することができる。または、それらの要素のうちの少なくとも１つは、構成構造および／または機能を提供するように構成されている回路の部分を含む、論理の部分を表現することができる。
【０１０１】
いくつかの実施形態によれば、「回路」という用語は、例えば、１つまたは複数の機能を実行するためにそれを通じて電流が流れるいくつかの構成要素を含む任意のシステムを参照することができ、構成要素は、個別のおよび複雑な構成要素を含む。個別の構成要素の例は、トランジスタ、抵抗器、キャパシタ、インダクタ、ダイオードなどを含み、複雑な構成要素の例は、フィールドプログラマブルゲートアレイ（「ＦＰＧＡ」）、特定用途向け集積回路（「ＡＳＩＣ」）を含む、メモリ、プロセッサ、アナログ回路、デジタル回路などを含む。それゆえ、回路は、電子構成要素および論理構成要素（例えば、例えばアルゴリズムの実行可能命令のグループのような命令を実行するように構成されており、したがって、回路の構成要素である論理）のシステムを含むことができる。いくつかの実施形態によれば、「モジュール」という用語は、例えば、ハードウェア回路もしくはソフトウェアのいずれか、または、それらの組み合わせにおいて実施されるアルゴリズムもしくはその部分、および／または論理を参照することができる（すなわち、モジュールは回路として実施することができる）。いくつかの実施形態において、アルゴリズムおよび／またはアルゴリズムが格納されているメモリは、回路の「構成要素」である。したがって、「回路」という用語は、例えば、アルゴリズムを含む構成要素のシステムをも参照することができる。これらは、変更されることができ、提供されている例または記述に限定されない。
【０１０２】
図３６は、いくつかの例による、群最適化マネージャの例を示す図である。図３６００は、それらのうちの１つまたは複数が道路網内を移動している自律車両３６３０ａの群の管理を促進するように構成されることができる群最適化マネージャ３６２０を示す。特に、群最適化マネージャ３６２０は、１つまたは複数の最適化プロセス（例えば、最適化アルゴリズム）に従って要求にサービスするために、ユーザ車両３６３０ａからのモバイルコンピューティングデバイス３６０３（例えば、携帯電話）を介した輸送を求める１つまたは複数の要求を受信するように構成されることができる。図３６００は、派遣データリポジトリ３６４７に結合されている移動要求プロセッサ３６３１であって、移動要求プロセッサ３６３１は、輸送を求める要求のような移動要求を処理するように構成されている、移動要求プロセッサ３６３１、および、コマンドデータ３６４２を生成するように構成されることができる群コマンドジェネレータ（ｆｌｅｅｔ  ｃｏｍｍａｎｄ  ｇｅｎｅｒａｔｏｒ）３６４０をさらに示す。コマンドデータ３６４２は、自律車両の自律車両コントローラによって送信および実行されると、１つまたは複数の自律車両３６３０ａのナビゲーションを、最適化された様式で提供する、実行可能命令の１つまたは複数のサブセットを含むことができる。
【０１０３】
示されている例において、移動要求プロセッサ３６３１は、群管理データリポジトリ３６４６内に格納されている群管理データにアクセスおよび／または群管理データを抽出するように構成されている群データエクストラクタ３６３２を含むことができる。群３６３０ａ内の１つまたは複数の自律車両に関係付けることができる群管理データの例は、保守管理問題、スケジュールされているサービス依頼、日常の使用状況、電池充電および放電率を記述するデータ、および、少なくともいくつかの自律車両特性を記述する任意の他のデータを含んでもよい。いくつかの実施形態において、群管理データの少なくともサブセット（例えば、自律車両特性）は、休止時間を最小化すること、電池放電率を最小化すること、乗車ロケーションと目的地ロケーションとの間の走行時間を低減することなどのような、１つまたは複数のルーティングメトリックに従って自律車両の群を最適化するためにリアルタイムで（またはほぼリアルタイムで）更新されることができる。移動要求プロセッサ３６３１は、いくつかの例によれば、様々なソースからのデータ（例えば、抽出されている群管理データ、ポリシデータ３６０１、環境データ３６０６など）を分析し、要求にサービスするために派遣される次の車両が、最小の走行時間および／または自律車両サービスの費用を提供することを保証するように、群３６３０ａの最適化された使用状況を計算するように構成されることができる自律車両（「ＡＶ」）派遣最適化カリキュレータ３６３４を含むことができる。示されているように、自律車両派遣最適化カリキュレータ３６３４は、自律車両（「ＡＶ」）キャラクタライザ（Ａｕｔｏｎｏｍｏｕｓ  ｖｅｈｉｃｌｅ  （”ＡＶ”）  ｃｈａｒａｃｔｅｒｉｚｅｒ）３６３５、派遣トラッカ（ｄｉｓｐａｔｃｈ  ｔｒａｃｋｅｒ）３６３６、要求マネージャ３６３７、およびオプティマイザ３６３８を含むことができ、これらの例は後述する。図３６の図３６００に示されている１つまたは複数の要素は、本明細書において記述されているように、とりわけ、図１６〜図１９のような、１つまたは複数の他の図面に関係して記述されている、同様に名付けられている要素としての構造および／または機能を含むことができることに留意されたい。
【０１０４】
自律車両派遣最適化カリキュレータ３６３４は、派遣データリポジトリ３６４７内に格納されることができる自律車両ルーティングデータ３６５０を生成するように構成されることができる。自律車両ルーティングデータ３６５０は、いくつかの例によれば、その上での自律車両の群３６３０ａの移動がユーザ３６０２のセットまたはサブセットに輸送サービスを提供することができる経路の最適なセットまたはサブセットを表すデータを含むことができる。いくつかの例において、自律車両ルーティングデータの各部分３６５０は、対応する自律車両をナビゲートするためのルーティング経路を記述することができる。示されているように、自律車両ルーティングデータ３６５０の事例は、地理的ロケーション（例えば、ＧＰＳ座標などによって記述されるような）のような、起点の地点３６８２を表現するデータ、および／または、ユーザが自律車両によって乗車させられる地点と関連付けられるデータを含むことができる。さらに、自律車両ルーティングデータ３６５０の事例はまた、起点地点（またはロケーション）３６８２から目的地地点（またはロケーション）３６８４、および、その後別のユーザ３６０２が、自律車両によって提供される後続の輸送サービスを取得するために乗車させられることができる送達地点（またはロケーション）３６８６までの経路３６８３を表現するデータを含むこともできる。図３６に示されている自律車両ルーティングデータ３６５０の事例は、１つもしくは複数の異なる自律車両または同じ自律車両に関するルーティングデータのセットを含むことができる。例えば、送達地点３６８６は、その後自律車両をルーティングするためのルーティングデータ３６５０の他のセットまたはサブセット内の起点ロケーション３６８６ｘと関連付けられることができる。
【０１０５】
いくつかの例によれば、自律車両派遣最適化カリキュレータ３６３４は、自律車両（「ＡＶ」）ルーティングデータ３６５０ａのようなルーティングデータを生成するように構成されることができる。示されているように、自律車両のルーティングデータは、起点ロケーションとしての第１の乗車ロケーション（「ＰＵｌ」）、および、目的地ロケーション（「Ｄｌａ」）３６８４ａを含むことができる。目的地ロケーション３６８４ａを表現するデータは、ＧＰＳ座標、到着予想時刻、推定走行時間、推定走行距離などを表現するデータのような、様々なタイプのデータと関連付けられるか、または、これらのデータを含むことができる。ルーティングデータ３６５０ａはまた、起点ロケーション３６８２ａから目的地ロケーション３６８４ａまでの経路３６８３ａを表現するデータを含むこともできる。ルーティングデータ３６５０ａは、第１の送達ロケーション３６８６ａ（「ＰＵ２ａ」）までの送達経路３６８７ａを含み、これは、別のユーザ３６０２に対する後続の輸送サービスを提供するために決定されることができる。いくつかの事例において、群最適化マネージャ３６２０は、起点ロケーション３６８２ａと目的地ロケーション３６８４ａとの間の移動中に、修正された経路（例えば、目的地の変更）を提供することができる。ルーティングデータ３６５０ａは、自律車両のナビゲーションの変更を反映するために更新されたデータを含むことができる。例えば、自律車両は、経路３６８３ａから、第２の目的地ロケーション（「Ｄｌｂ」）３６８４ｂまでの修正された経路（または修正された経路部分）３６８５へと転用されることができる。示されているように、第２の送達ロケーション３６８６ｂ（「ＰＵ２ｂ」）までの送達経路３６８７ｂは、異なるユーザ３６０２に対する後続の輸送サービスを提供するために、目的地ロケーション３６８４ｂを起点とすることができる。
【０１０６】
修正された経路３６８５は、（限定ではないが）自律車両の乗員による目的地の変更を求める要求、（例えば、残りの経路部分に沿った、増大された交通量または事故に起因する）経路３６８３ａの部分３６８９と関連付けられる検出されているルーティング特性、（例えば、ナビゲーションに関係付けられる複雑さを有する場合がある部分３６８９に沿った交差点に起因する）部分３６８９をまたぐ自律車両のルーティングを撤廃または回避するためのポリシ、修正された経路３６８５へのナビゲーションの変更のための、自律車両に送信される遠隔操作者コマンド（例えば、遠隔操作者３６０８は、自律車両コントローラにおいて遠隔操作者コンピューティングデバイス３６０４を介してルーティングデータを更新することができる）、および任意の他の理由のような様々な理由から実施されることができる。
【０１０７】
様々な例において、経路３６８３ａ、修正された経路３６８５、ならびに／または送達経路３６８７ａおよび３６８７ｂは、自律車両がそこにわたってルーティングされることができる任意の数の経路部分または道路セグメントのセットまたはサブセットを含むことができる。送達ロケーション３６８６ａおよび３６８６ｂは、輸送サービスのためにユーザ３６０２を乗車させるロケーションに限定される必要はないことに留意されたい。例えば、送達ロケーション３６８６ａおよび３６８６ｂ（ならびに目的地ロケーション３６８４ａおよび３８６４ｂ）は、自律車両が日常的に補修（例えば、充電、保守管理、修理、洗浄など）および／または格納されるステーションを含むことができる。送達ロケーション３６８６ａおよび３６８６ｂはまた、自律車両が駐車されることができる地理的領域を含むこともできる（例えば、地理的領域は、マップデータに従って「駐車スペース」として識別されることができる）。また、いくつかの事例において、目的地ロケーション３６８４ｂは、目的地ロケーション３６８４ａと一致する場合がある（例えば、修正された経路３６８５は迂回路である場合がある）ことにも留意されたい。
【０１０８】
自律車両（「ＡＶ」）キャラクタライザ３６３５は、自律車両の少なくともサブセット３６３０ａの自律車両特性を決定するように構成されることができ、それによって、自律車両特性は、自律車両派遣最適化カリキュレータ３６３４の１つまたは複数の構成要素によって、輸送を求める要求にサービスするための自律車両の少なくともサブセットを識別および選択するために使用されることができる。いくつかの事例において、自律車両特性のサブセットは、輸送サービスを提供するために自律車両が利用可能であるか否かを指示することができ、そうである場合、自律車両特性のサブセットはまた、そのようなサービスを提供する範囲を指示することもできる。例えば、自律車両キャラクタライザ３６３５は、各自律車両について、保守管理問題（例えば、ライダセンサのような劣化されたまたは機能していないセンサに起因する）、スケジュールされているサービスまたは修理の日時、電池充電および放電率の状態などを記述するデータを決定することができ、それらのいずれかは、特定の自律車両の使用を特定の輸送要求へのサービスから制限または回避させる要因になり得る。そのような情報に基づいて、自律車両派遣最適化カリキュレータ３６３４は、特定の自律車両を、それらの能力の範囲に最適に派遣することができる。例えば、２時間未満の電池充電を有する自律車両は、ステーション（例えば、電池がその場で充電されるか、または、交換され（すなわち、物理的に取り外され、１つまたは複数の充電されている電池と置き換えられ）得るステーション）に隣接するか、または、相対的に近い送達ロケーション３６８６を有し得るか、または、有し得ないより短い走行経路３６８３へのサービスに制限され得る。
【０１０９】
要求マネージャ３６３７は、自律車両３６３０ａに基づく輸送を求める要求を受信するように構成されることができ、そのような要求の待ち行列を管理するように構成されることができる。いくつかの例において、要求マネージャ３６３７（または自律車両サービスプラットフォーム内の任意の構成要素）は、輸送を求める要求を生成することができるコンピューティングデバイス３６０３（例えば、実行可能命令を含む携帯電話）と関連付けられるロケーションを決定するように構成されることができる。要求マネージャ３６３７はまた、コンピューティングデバイスと関連付けられるロケーションを送達ロケーションとして識別することもできる。要求マネージャ３６３７は、輸送を求める要求を、例えば受信される順序で待ち行列に入れることができるが、要求マネージャ３６３７の機能および／または構造は、そのように限定する必要はない。例えば、要求マネージャ３６３７は、何らかの要求を他の要求よりも優先することができ、それによって、相対的により優先度の高い要求が、他のユーザよりも前に特定のユーザ３６０２（例えば、「ゴールド会員」、より高い輸送料を支払っているユーザなど）に派遣するための自律車両に割り当てられることができる。要求マネージャ３６３７によって識別される要求に応答して、オプティマイザ３６３８（または自律車両派遣最適化カリキュレータ３６３４の任意の他の構成要素）は、要求にサービスし、自律車両に送信するためのコマンドデータ３６４２を生成するための自律車両を選択することができる。自律車両の自律車両コントローラは、コマンドデータ３６４２の命令を実行して、選択されている自律車両に、要求を生成したモバイルコンピューティングデバイスのロケーションと実質的に同延であり得る送達ロケーションへとナビゲートさせることができる。例えば、要求は、ユーザを乗車させるように自律車両をルーティングする目的のためのモバイルデバイス３６０３のロケーションデータ（例えば、ＧＰＳ座標など）を含むことができる。いくつかの事例において、モバイルデバイス３６０３内に配置されているアプリケーションは、たとえユーザ３６０２が、要求が元々送信された地理的ロケーションから外方に移動または進行（例えば、歩行）し得る場合であっても、自律車両がユーザのロケーションに向かうことができることを保証するために、ユーザ３６０２のロケーションを定期的に提供または送信するように構成されることができる。
【０１１０】
群最適化マネージャ３６２０（またはその任意の部分）は、ポリシデータ３６０１、環境データ３６０６、群管理データ３６４６、および、自律車両の群３６３０ａをナビゲートすべき最適化されたルーティング経路のセットを生成するための任意の他のルーティング関連データ（例えば、ルーティング特性）を受信するように構成されることができる。ポリシデータ３６０１の例は、輸送を求める要求（例えば、移動要求）にサービスするための１つまたは複数の自律車両を最適に選択するためのプロセスを規定するパラメータを指定するデータセットを含む。例えば、ポリシデータ３６０１は、自律車両のナビゲートにおいて一定レベルの複雑さが存在し得る道路セグメントまたは交差点を指定することができる。そのため、メインストリート（Ｍａｉｎ  Ｓｔｒｅｅｔ）とオークストリート（Ｏａｋ  Ｓｔｒｅｅｔ）との交差点が迂回されるべきであるというポリシを指定することができる。環境データ３６０６の例は、様々な道路セグメントまたは経路に関する交通関連データ、および、天候（例えば、雨、みぞれ、雪などのような荒れ模様の天候）などに起因する道路条件を指定するデータセットを含むことができる。
【０１１１】
派遣トラッカ３６３６は、派遣されている自律車両、ならびに、それを用いてルーティングデータおよびルーティング経路が（例えば、移動前または移動中に）決定されるデータを追跡するように構成されることができる。派遣トラッカ３６３６は、限定ではないが経路３６８３の１つまたは複数の経路部分または道路セグメントを含む、ルーティングデータ３６５０の様々な部分と関連付けられることができるルーティング特性を生成するために、ポリシデータ３６０１、環境データ３６０６（例えば、天候データ、交通データ、工事データなど）、群管理データ３６４６、および、任意の他のルーティング関連データを受信するように構成されることができる。ルーティング関連データに基づいて、派遣トラッカ３６３６は、１つまたは複数の経路部分または道路セグメントの上での走行時間、１つまたは複数の目的地ロケーションにおける予想到着時刻、満たされるべきいくつかの後続の要求の推定送達ロケーション、各経路部分または道路セグメントの交通の平均速度、それぞれの道路セグメントの速度制限、各経路部分または道路セグメントの推定距離などのようなルーティング特性を識別するように構成されることができ、それらのうちの１つまたは複数は、２つの地理的ロケーションの間で自律車両をルーティングするためのルーティング経路を特性化するために集計されることができる。さらに、派遣トラッカ３６３６は、ルーティング経路と関連付けられるルーティング特性を追跡し、そのようなルーティング特性の変化を検出するように構成されることができる。派遣トラッカ３６３６は、経路３６８３ａの部分３６８９と関連付けるルーティング特性の変化を検出することができ、それによって、オプティマイザ３６３８は、最適なルートの１つまたは複数のセットを再計算して修正された経路３６８５を識別することができる。いくつかの事例において、ルーティング特性の変化は、部分３６８９に沿った走行時間の増大を記述することができる。または、ルーティング特性の変化は、ユーザ３６０２によって要求されるものとしての目的地の変化であり得る。他のルーティング特性の他の変化が可能である。
【０１１２】
オプティマイザ３６３８は、自律車両サービスをユーザ３６０２に提供するために、１つまたは複数の経路部分または道路セグメントの１つまたは複数のルーティング特性に基づいて、ルーティング経路の最適化されたセットまたはサブセットを生成するように構成されており、それによって、ルーティング経路の最適化されたセットまたはサブセットは、１つまたは複数の目標（例えば、ルーティングメトリック）に従って最適化されることができる。ルーティングメトリックの例は、限定ではないが、走行時間の最小化、利益の最大化、搭乗者利便性の最大化、単位距離あたり（例えば、車両または集計距離あたりの）稼働中の自律車両の数の最小化、自律車両の群にわたる集計費用の最小化、走行された単位距離あたりの電池放電の最小化、単位電池充電あたりの走行距離の最大化、自律車両が動作していない時間に対する（または自律車両の群の集計休止時間に対する）、自律車両が搭乗者を輸送している時間（もしくは集計時間）（または自律車両の群について搭乗者を輸送するために使用される合計時間／マイル）の最大化、単位時間（例えば、その間に１つまたは複数の自律車両が搭乗者を輸送している）あたりの１つまたは複数の自律車両のルーティングを促進するための遠隔操作者−時間量の最小化、特定の動作状態の間の（例えば、電池充電の量が低い状態の間の）自律車両によって（例えば、内蔵ＨＶＡＣシステム、音楽システム、照明システム、および、電力を消費する任意の他の内蔵構成要素による電力使用に起因して）消費される電力量の最小化、経路３６８３の１つまたは複数の部分に沿った通信チャネルの帯域幅の最大化、などを含む。
【０１１３】
例として、オプティマイザ３６３８が、自律車両３６３０ａのサブセットのいくつかの目的地ロケーション３６８４を決定するように構成され、目的地ロケーション３６８４が、例えば、対応する要求からのＧＰＳデータによって記述されることを考える。オプティマイザ３６３８は、いくつかの起点ロケーション３６８２といくつかの目的地ロケーション３６８４との間の経路３６８３のルーティング特性を識別し、起点ロケーション３６８２の１つまたは複数のセットと目的地ロケーション３６８４の１つまたは複数のセットとの間の経路３６８３の経路部分または道路セグメントの任意の数の組み合わせ（例えば、道路網内の１つまたは複数の経路部分または道路セグメント）のルーティングメトリックを最適化するように構成されることができる。さらに、オプティマイザ３６３８は、目的地ロケーション３６８４の１つまたは複数のセットに到達した後に自律車両３６３０ａが向けられる対応する送達ロケーション３６８６の１つまたは複数のセットを計算するように構成されることができる。送達ロケーション３６８６は、そこから１つまたは複数のルーティングメトリックを最適化するために、送達経路３６８７ａのような最適な送達経路が選択されることができる、送達経路のセット３６８７のセットの計算に基づいて決定されることができる。いくつかの例において、オプティマイザ３６３８は、目的地ロケーション３６８４と送達ロケーション３６８６との間の送達経路３６８７ａおよび３６８７ｂの経路部分または道路セグメントの任意の数の組み合わせのルーティング特性を識別するように構成されることができ、目的地ロケーション３６８４と送達ロケーション３６８６との間の送達経路３６８７ａおよび３６８７ｂのルーティングメトリックを最適化するように（例えば、走行時間の最小化）さらに構成されることができる。オプティマイザ３６６８による送達経路３６８７ａおよび３６８７ｂの最適化は、少なくとも１つの例によれば、自律車両の群３６３０ａの任意の数の他の送達経路３６８７（図示せず）の最適化と同時に実施されてもよいことに留意されたい。
【０１１４】
いくつかの例によれば、オプティマイザ３６３８は、ハードウェアもしくはソフトウェア、またはそれらの組み合わせにおいて実施されることができ、例えば、１つまたは複数のルーティングメトリックを線形的に最適化することができる多変量費用関数（または目的関数）を最適化するように動作する最適化アルゴリズムに従って動作するように構成されることができる。いくつかの事例において、オプティマイザ３６３８は、例えば、少なくとも対応する送達ロケーション３６８６に対して（または合計的に）各経路の走行時間を最小化するための送達経路３６８７の最適化されたセットを識別するための１つまたは複数の回帰技法（例えば、線形または多項式回帰）を実施するためのアルゴリズムを実施することができる。さらに、オプティマイザ３６３８はまた、少なくとも起点ロケーション３６８２のセットに対して経路３６８３のセットを最適化するための回帰技法を実施することもできる。様々な例によれば、オプティマイザ３６３８は、回帰アルゴリズムの実施に限定される必要はなく、ルーティングデータ３６５０の最適なセットを生成するための任意の関数を実施することができる。
【０１１５】
いくつかの例において、オプティマイザ３６３８は、送達ロケーション３６８６ａを実施するためのデータを識別し、ルーティングデータ３６５０ａに従ってナビゲートするための自律車両を選択するように構成されることができる。ルーティングデータ３６５０ａに基づいて、コマンドデータ３６４２を表現するデータが、自律車両に送信されることができ、それによって、コマンドデータ３４６２は、自律車両に、その後、次の搭乗者−ユーザ３６０２を乗車させるための後続の起点ロケーションであり得る送達ロケーション３６８６ａへとナビゲートさせるように構成されることができる。オプティマイザ３６３８は、ジオフェンス領域（例えば、少なくともいくつかの例において、自律車両が（遠隔操作者による認証なしに）横切り得ない境界を有する地理的領域）内の送達ロケーション３６８６の数および／または目的地ロケーション３６８４の数を計算することができることに留意されたい。それゆえ、遠隔操作者３６０８は、遠隔操作者コンピューティングデバイス３６０４を介して、自律車両に、ジオフェンス領域を画定する境界を横切らせるためのコマンドデータ３６４２を生成することができる。この事例において、コマンドデータ３６４２は、自律車両コントローラ（図示せず）によって実行されると、自律車両に実施させるための実行可能命令を含むことができる。
【０１１６】
派遣トラッカ３６３６およびオプティマイザ３６３８の動作を例示するために、以下の例を考える。ルーティング特性ならびに起点ロケーション３６８２および要求されている目的地ロケーション３６８４に基づいて、オプティマイザ３６３８は、いくつかの自律車両を最適にルーティングするためのルーティングデータ３６５０のセットを生成する。ルートのうちの１つが、ルーティングデータ３６５０ａによって記述され得る。派遣トラッカ３６３６は、経路３６８３ａの１つまたは複数の部分と関連付けられる１つまたは複数のルーティング特性を監視するように構成されることができる。次に、派遣トラッカ３８３６が、１つまたは複数のルーティング特性の変化を検出し、それによって、自律車両が、変化されたルーティング特性に応答して経路３６８３ａから修正された経路部分３６８５へと逸脱することになると考える。記述されているように、変化されたルーティング特性の例は、搭乗者による目的地を変更することを求める要求、経路３６８３ａの部分３６８９と関連付けられる、検出されているルーティング特性（例えば、増大した交通量または事故に起因する変更）、経路３６８３ａの残りの部分にわたる自律車両のルーティングがそのために撤廃または回避され得るポリシ（例えば、ナビゲーションの複雑さが生じ得る交差点）、遠隔操作者コマンド（例えば、自律車両のナビゲーションを修正するための、遠隔操作者によって生成されるコマンド）などのうちの１つまたは複数を含むことができる。検出されたルーティング特性に応答して、オプティマイザ３６３８は、自律車両の修正された経路３６８５を識別するように構成されることができ、自律車両に送信され得る、コマンドデータ３６４２内の更新されたデータ（例えば、修正された経路３６８５に変更するための命令を表現するデータ）を含むようにさらに構成されることができる。そのため、コマンドデータ３６４２は、自律車両に、修正された経路３６８５（またはその部分）を介してナビゲートさせるように構成されることができる。いくつかの事例において、自律車両コントローラ（図示せず）は、目的地ロケーション３６８４ａ（例えば、初期目的地ロケーション）または目的地ロケーション３６８４ｂ（例えば、異なる目的地ロケーション）へのナビゲーションの変更を実行するための、コマンドデータ３６４２内に含まれる命令を実行することができる。様々な例によれば、オプティマイザ３６３８は、修正された経路３６８５の実施によって、該当する場合、（例えば、目的地ロケーション３６８４に対して）再計算された送達ロケーション３６８６に基づいて１つまたは複数の送達経路３６８７を再計算し、かつ／または、（例えば、起点ロケーション３６８２に対して）再計算された目的地ロケーション３６８４に基づいて１つまたは複数の経路３６８３を再計算するように構成されることができる。
【０１１７】
図３７Ａおよび図３７Ｂは、いくつかの例による、自律車両群最適化データを格納するように構成されているリポジトリのデータタイプおよびデータ構成を示す図である。図３７Ａの図３７００は、群管理データリポジトリ３７４６内の群管理データを関連付けおよび／または格納するためのデータタイプおよび／またはデータ構成（例えば、データ構造）の例を示す。図３７Ａおよび図３７Ｂに示されているデータ構造は例示の目的のためのものであり、限定されるようには意図されていないことに留意されたい。
【０１１８】
示されている例において、データ構成３７１０は、任意の数の自律車両特性を、データのサブセット３７２０〜３７２６として格納するように構成されることができ、それらの各々は、対応する自律車両のデータのサブセットを表現することができる。示されている例において、自律車両特性データ３７１１〜３７１９のセットは、データロケーション３７９０のいずれかに配置または格納されることができる。例示するために、データのサブセット３７２０と関連付けられる第１の自律車両は、自律車両（「ＡＶ」）識別子を表現するデータ３７１１、および、自律車両のステータスを表現するデータ３７１２を含むと考える。例えば、データ３７１２は、「ＡＶ１」として識別される自律車両が、「使用中」（すなわち、派遣されている）、「充電モード」（例えば、ステーションなどにおいて電池が充電または交換されている）、「アイドル」またはステーション内に格納されている、「修理中」、駐車場内に「駐車」されている、などのステータスを有するかを表現するデータを含むことができる。
【０１１９】
自律車両ＡＶ１の電池充電データを表現するデータ３７１３は、電池の充電の量、予測される負荷を受けている電池での放電の予測される速度、放電率、１つの充電レベル（例えば、２５％充電されている）から別の充電レベル（例えば、１００％充電されている）への充電のための推定される時間などを記述する任意のデータを含むことができる。ロケーションを表現するデータ３７１４は、自律車両のロケーションを記述する任意のデータを含むことができ、それによって、ロケーションは、リアルタイムで（またはほぼリアルタイムで）決定するものとしてのＧＰＳ座標に基づいて識別されることができる。データ３７１５は、１つまたは複数のタイプのセンサデータ（例えば、ライダデータ、ソナーデータ、レーダデータ、カメラデータなど）、および、センサデータの１つまたは複数のサブセット（例えば、ライダセンサ１データ、ライダセンサ２データ、ライダセンサ３データなど）を含む、任意のセンサデータを表現することができる。データの任意のサブセット３７２０〜３７２６のデータ３７１７は、１つまたは複数のタイヤの空気圧を表現することができる。データ３７１８は、自律車両が補修（例えば、保守管理、修理など）されることになっている日付および／または時刻の指示を表現することができる。データ３７１９は、自律車両輸送サービスを提供する目的のために自律車両をスケジュールまたは派遣すべきかを決定するために使用されることができる他の自律車両特性の１つまたは複数の他のサブセットを表現することができる。示されている例において、上述されているデータのいずれかは、データロケーション３７９０の任意のデータロケーション３７９０ａ内に格納されることができる。
【０１２０】
図３７Ｂの図３７５０は、派遣データリポジトリ３７４７内のルーティングデータを含む派遣データを関連付けおよび／または格納するためのデータタイプおよび／またはデータ構成（例えば、データ構造）の例を示す。示されている例において、データ構成３７１１は、任意の量のルーティングデータを、データのサブセット３７７０〜３７７６として格納するように構成されることができ、それらの各々は、対応する自律車両のデータのサブセットを表現することができる。示されている例において、様々なタイプのルーティングデータ３７６１〜３７６９のセットは、データロケーション３７９１のいずれかに配置または格納される。例示するために、データのサブセット３７７０と関連付けられる第１の自律車両は、自律車両（「ＡＶ」）識別子を表現するデータ３７６１、および、自律車両が搭乗者を乗車させている、または、乗車させた乗車ロケーション（例えば、起点ロケーション）を表現するデータ３７６２を含むと考える。例えば、データ３７６２は、１つまたは複数のＧＰＳ座標と関連付けられる起点ロケーションを表現するデータを含むことができる。データ３７６３は、搭乗者が降車させられると予測される目的地ロケーションを表現するデータを含むことができる。しかしながら、データ３７６３は、目的地ロケーションが変更されると更新され得ることに留意されたい。データ３７６４は、予想到着時刻（「ＥＴＡ」）、または、自律車両が目的地ロケーションに到着するようにスケジュールしている時刻の任意の他のメトリックを表現するデータを含むことができる。データ３７６５は、ルートデータを表現するデータを含むことができる。例えば、ルートデータ３７６５は、様々な例によれば、集計において、自律車両がナビゲートすることになっている経路を構成することができる経路部分または道路セグメントの１つまたは複数のセットを含むことができる。
【０１２１】
データ３７６６は、予測される乗車ロケーションを、別のユーザの後続する起点ロケーションとして表現するデータを含むことができる。ここでも、データ３７６６はまた、少なくともいくつかの例において、主要な乗車ロケーションが妨げられる場合に、代替の乗車ロケーションをも含むことができることに留意されたい。データ３７６７は、ＨＶＡＣシステム、照明システム、エンターテインメントシステムなどのような、自律車両の１つまたは複数の構成要素の電力消費の量（または電力消費の予測される速度）（「ＡＶ  ｃｏｍｐ．  ｐｏｗｅｒ  ｃｏｎｓ」）を表すデータを含むことができる。そのため、データ３７６７は、特定の自律車両と関連付けられる電池放電の速度を決定するために使用されることができ、電池放電の速度は、群最適化マネージャ（図示せず）が群内の１つまたは複数の自律車両をナビゲートするために選択することができる距離およびルートに影響を与え得る。例えば、相対的に低い電池充電を有する自律車両が、乗員がそのエンターテインメントシステムにおいて多くの光および低音を使用している可能性がある間に、その空調システムを全容量にさせる場合がある。そのため、電池が放電される速度が、自律車両が派遣され得る将来のルートに影響を与える場合がある。データ３７６８は、搭乗者の数、ユーザの身元などのような、乗員データを表現するデータを含むことができる。データ３７６９は、自律車両輸送サービスを提供する目的のために自律車両をスケジュールまたは派遣すべきかを決定するために使用されることができる他のタイプのルーティングデータの１つまたは複数の他のサブセットを表現することができる。
【０１２２】
示されている例において、上述されているデータのいずれかは、データロケーション３７９１の任意のデータロケーション３７９１ａ内に格納されることができる。様々な例によれば、データロケーション３７９０ａおよび３７９１ａは、データが格納されているデータベースアドレス、任意の量のデータストレージ（例えば、データブロックとしての）、１つまたは複数のデータファイル（または文書）、任意の量のデータストレージ（例えば、データベースオブジェクト）に対する１つまたは複数のキーまたはポインタなどのいずれかを表現することができる。図３７Ａおよび図３８Ｂのリポジトリ３７４６および３７４７のいずれかはそれぞれ、任意のタイプのデータベース技術を使用して実施されることができ、例えば、関係型データベースモデル、またはＳＱＬ、ＯＤＢＣ、ＪＤＢＣなど、および、ＭｏｎｇｏＤＢ（商標）のような、任意の正規化されたＳＱＬサーバデータベースまたは非ＳＱＬデータベース（例えば、ｎｏＳＱＬ）を実施するように構成されている任意のデータベース方式または任意のデータベース管理システムを含むことができる。様々な例において、１つまたは複数のルーティング特性は、リポジトリ３７４６内の自律車両特性データもしくはリポジトリ３７４７内のルーティングデータ、またはそれらの任意の組み合わせから形成または導出されることができる。
【０１２３】
図３８は、いくつかの例による、最適化されたルーティング経路のセットによる自律車両のルーティングの例を示す図である。図３８００は、自律車両（「ＡＶ」）派遣最適化カリキュレータ３８３４、および、コマンドデータ３８４２を生成するように構成されている群コマンドジェネレータ３８４０を含む群最適化マネージャ３８２０を示す。さらに、自律車両派遣最適化カリキュレータ３８３４は、派遣トラッカ３８３６、要求マネージャ３８３７、およびオプティマイザ３８３８を含むように構成されることができる。図３８の図３８００に示されている１つまたは複数の要素は、本明細書において記述されている１つまたは複数の他の図面に関係して記述されている、同様に名付けられている要素としての構造および／または機能を含むことができることに留意されたい。さらに、図３８００の群最適化マネージャ３８２０は、図３８に示されているよりも少ないまたは多い数の構成要素を含むことができる。
【０１２４】
この例において、群最適化マネージャ３８２０は、任意の数の自律車両（「ＡＶ」）ステーション３８５２ａ〜３８５２ｃを含み得る、道路網３８５０内の自律車両３８３０の群のルーティングの協調を最適化するように構成されることができる。自律車両ステーションは、ユーザ３８０２ａによって生成される要求のような、輸送要求にサービスするために自律車両がそこから派遣されることができる自律車両の在庫の供給源であり得る。さらに、自律車両ステーションはまた、車両が修理、保守管理、格納などされ得る目的地または送達ロケーションでもあり得る。
【０１２５】
様々な例によれば、オプティマイザ３８３８は、例えば、対応する目的地および送達ロケーションの間の送達経路を最適化するルートの様々なセットを決定するように構成されることができる。第１の例において、自律車両３８３０ａは、コマンドデータ３８４２を受信するように構成されることができ、コマンドデータ３８４２は、自律車両３８３８に、経路３８８３ａを介して、１人または複数の搭乗者が降車され得る目的地ロケーション３８８４ａまでナビゲートさせるように構成されることができる。その後、自律車両３８３０ａは、送達経路３８８７ａを介して、ユーザ３８０２ａが乗車させられることができる送達ロケーション３８８６ａまで（例えば、乗員なしで）ナビゲートすることができる。様々な例において、送達経路３８８７ａは、送達ロケーション３８８６ａにいる少なくとも１人のユーザ３８０２ａに自律車両サービスを最適に提供する１つまたは複数の経路部分または道路セグメントの最適化されたグループ分けを表現することができる。
【０１２６】
第２の例において、自律車両３８３０ｂが、送達経路３８８７ｂを介して送達ロケーション３６８６ｂに向かって移動中であるものとして示されている（例えば、自律車両３８３０ｂは、示されていない以前の目的地ロケーションから出ている場合がある）。示されているように、ユーザ３８０２ｂが、送達ロケーション３６８６ｂにおいて自律車両が乗車させるのを待っている。次に、オプティマイザ３８３８が、自律車両群内のいずれの自律車両が、ユーザ３８０２ｂにサービスするのに最適に適合され得るかを再計算するように構成されることができると考える。この例では、送達経路３８８７ｂ上で障害物が検出され得ると考える。そのため、オプティマイザ３８３８は、コマンドデータ３８４２が、自律車両ステーション３８５２ｂにおいて自律車両へと受信されるようにすることができる。応答して、コマンドデータ３８４２は、ステーション３８５２ｂから送達経路３８８７ｘを介して、ユーザ３８０２ｂを乗車させるために自律車両を派遣するように構成されることができる。さらに、オプティマイザ３８３８は、別のユーザ３８０２ｘを乗車させるために、自律車両３８３０ｂを起点ロケーション３８８２ｂへとルート変更することができる。示されていないが、オプティマイザ３８３０は、送達経路３８８７ｘを介した自律車両のルーティングに応答して、他の自律車両のための１つまたは複数の他のルートを再計算することができる。
【０１２７】
第３の例において、自律車両３８３０ｃが、経路３８８３ｃを介して目的地ロケーション３８８４ｃａへと移動中であるように示され得、その後、自律車両３８３０ｃは、ユーザ３８０２ｚを乗車させるために、送達経路３８８７ｃを介して送達ロケーション３８８６ｃへとナビゲートするように構成されることができる。いくつかの例によれば、自律車両３８３０ｃは、修正された経路３８８５ｃを介して別の目的地ロケーション３８８４ｃｂへとルート変更されることができる。そのため、自律車両３８３０ｃは、目的地ロケーション３８８４ｃａまたは送達ロケーション３８８６ｃへと走行するために利用可能でない場合がある。自律車両３８３０ｃのルート変更に基づいて、群最適化マネージャ３８２０は、別の自律車両３８３０ｚが、ユーザ３８０２ｚが乗車させられ得る送達ロケーション３８８６ｃ（起点ロケーションとしての）にルーティングされることができることを決定するために、ルーティング経路のセットを再計算するように構成されることができる。示されていないが、自律車両３８３０ｃの上述されているルーティング変更に応答して、１つまたは複数のルーティングメトリックを最適化するために、１つまたは複数の他の自律車両がルート変更されることができる。図３８００に記述されている例は、限定であるようには意図されておらず、それゆえ、群最適化マネージャ３８２０（またはその構成要素のうちの１つもしくは複数）は、１つまたは複数のルートまたはルーティング特性の変化に基づいてルーティング経路の最適なセットを繰り返し再計算するように構成されることができる。いくつかの例において、遠隔操作者３８０８が、遠隔操作者コンピューティングデバイス３８０４を介して、任意の自律車両３８３０のナビゲーションに対する修正を開始することができる。
【０１２８】
図３９は、いくつかの例による、特定の送達ロケーションによる自律車両のルーティングの例を示す図である。図３９００は、自律車両（「ＡＶ」）派遣最適化カリキュレータ３９３４、および、コマンドデータ３９４２を生成するように構成されている群コマンドジェネレータ３９４０を含む群最適化マネージャ３９２０を示す。さらに、自律車両派遣最適化カリキュレータ３９３４は、派遣トラッカ３９３６、要求マネージャ３９３７、およびオプティマイザ３９３８を含むように構成されることができる。図３９の図３９００に示されている１つまたは複数の要素は、本明細書において記述されている１つまたは複数の他の図面に関係して記述されている、同様に名付けられている要素としての構造および／または機能を含むことができることに留意されたい。さらに、図３９００の群最適化マネージャ３９２０は、図３９に示されているよりも少ないまたは多い量の構成要素を含むことができる。この例において、群最適化マネージャ３９２０は、任意の数の自律車両（「ＡＶ」）ステーション３９５２ａ〜３９５２ｃ、ならびに、自律車両３９３０が駐められるか、または、他の様態でそこに送達され得る任意の数の駐車スペース３９８１ａおよび３９８１ｂを含み得る、道路網３９５０内の自律車両３９３０の群のルーティングの協調を最適化するように構成されることができる。自律車両ステーションおよび駐車スペースは、輸送要求にサービスするために少なくとも１つの自律車両がそこから派遣されることができる在庫の供給源であり得る。
【０１２９】
いくつかの例によれば、自律車両派遣最適化カリキュレータ３９３４は、例えば、目的地ロケーションにおいて搭乗者を下車させた後に、自律車両がアイドルであり得るように、特定の自律車両３９３０の自律車両サービスを求める需要が低減されることができることを決定するように構成されることができる。いくつかの事例において、オプティマイザ３９３８が、自律車両に対する輸送を求める要求がないことを識別するように構成されることができる。この例において、オプティマイザ３９３８は、駐車スペース３９８１ａまでの距離が自律車両ステーション３９５２ａ〜３９５２ｃまでよりも短いものであり得ることを決定することができる。それゆえ、電池充電を節約するために、自律車両３９３０が、車両が利用を待つことができる駐車スペース（例えば、最も近い駐車スペースまたは駐車場）へと移動することができる。
【０１３０】
いくつかの例によれば、自律車両は、例えば、特定の時間間隔の間に、領域３９８０内で少なくとも１つの要求にサービスする確率の大きさによって決定されるものとしての、半径ｒを有する領域３９８０内でその後、輸送要求にサービスするために、中央に配置されている駐車スペース（例えば、駐車スペース３９８１ｂ）に移動することができる。いくつかの事例において、領域３９８０内で少なくとも１つの要求にサービスする確率は、時間間隔の間に領域３９８０内で生成される要求の確率の密度を規定することができる履歴データに基づくことができる。駐車スペース３９８１ｂのロケーションは、領域３９８０の中心（例えば、重心）にあると決定されることができ、これは、駐車スペース３９８１ｂを中心とした要求ロケーションの分布を含むことができることに留意されたい。
【０１３１】
いくつかの例において、自律車両３９３０は、１つの出力状態（例えば、運転モード出力状態）から別の出力状態（例えば、低出力の待機出力状態）へと出力を下げることができる。その後、オプティマイザ３９３８は、輸送要求にサービスするために、駐車スペース３９８１において待機モードにあり得る自律車両を識別することができる。したがって、自律車両３９３０は、輸送要求にサービスするために、駐車スペースから出て走行するために再び運転モード出力状態に移行することができる。例として、自律車両３９３０ａが、目的地ロケーション３９８４に移動して、搭乗者を降車させると考える。さらに、自律車両３９３０ａは、別のユーザ要求にサービスするためにまだ割り当てられていないと考える。それまで、自律車両３９３０ａは、送達経路３９８７ａを介して、最も近い駐車スペースの１つであり得る駐車スペース３９８１ａへとナビゲートし得る。したがって、電池充電は、自律車両がサービスを依頼させるまで節約されることができる。別の例として、自律車両３９３０ａは、送達経路部分３９８７ａおよび３９８７ｂを介して、駐車スペース３９８１ｂと一致する送達ロケーションへと移動することができる。ここで、自律車両３９３０ａは、一般的に、距離「ｒ」内で予測される将来の要求に対して実質的に等距離にあり得るロケーションにおいて出力を下げられ得る。領域３９８０内の特定の起点ロケーション（図示せず）において要求にサービスするためのコマンドデータ３９４２を受信すると、自律車両３９３０ａは、ユーザを乗車させるべき起点ロケーションにナビゲートすることができる。
【０１３２】
いくつかの例によれば、遠隔操作者３９０８は、遠隔操作者コンピューティングデバイス３９０４を介して、自律車両３９３０ａに、自律車両が任意選択的に待機状態へと出力を下げることができる領域へと駐まるようにするためのコマンドデータ３９４２を生成するためのコマンドを入力することができる。上述されている実施態様は例であり、限定であるようには意図されていないことに留意されたい。例えば、自律車両を駐車スペースへとナビゲートするための上述されているコマンド生成は、自律車両の内部の自律車両コントローラによって実施されてもよい。また、群最適化マネージャ３９２０が、自律車両３９３０に、輸送要求にサービスするように依頼されるまで待機状態へと出力を下げるために任意の地理的領域（ＡＶステーションを含む）に移動させるためのコマンドデータ３９４２を提供するように構成されてもよい。いくつかの例において、局所的マップデータまたはグローバルマップデータが、自律車両３９３０の近くの駐車スペースの可用性を指示することができる。それゆえ、自律車両３９３０は、例えば、ローカルに生成されるマップによって指定されるものとしての、利用可能な駐車スペースへとナビゲートすることができる。
【０１３３】
図４０は、いくつかの例による、自律車両の少なくとも１つの構成要素の低減された機能性による自律車両のルーティングの例を示す図である。図４０００は、自律車両（「ＡＶ」）派遣最適化カリキュレータ４０３４、および、コマンドデータ４０４２を生成するように構成されている群コマンドジェネレータ４０４０を含む群最適化マネージャ４０２０を示す。さらに、自律車両派遣最適化カリキュレータ４０３４は、派遣トラッカ４０３６、要求マネージャ４０３７、およびオプティマイザ４０３８を含むように構成されることができる。図４０の図４０００に示されている１つまたは複数の要素は、本明細書において記述されている１つまたは複数の他の図面に関係して記述されている、同様に名付けられている要素としての構造および／または機能を含むことができることに留意されたい。さらに、図４０００の群最適化マネージャ４０２０は、図４０に示されているものよりも少ないまたは多い数の構成要素を含むことができる。この例において、群最適化マネージャ４０２０は、自律車両４０３０が、センサ、電池、照明、タイヤ圧力、ＨＶＡＣシステム、安全設備、オーディオ警報システムなどのような１つまたは複数の構成要素の低減されている機能性の検出を考慮して補修または修理されることができる任意の数の自律車両（「ＡＶ」）ステーション４０５２ａ〜４０５２ｃを含み得る、道路網４０５０内の自律車両４０３０の群のルーティングの協調を最適化するように構成されることができる。
【０１３４】
いくつかの例によれば、自律車両派遣最適化カリキュレータ４０３４は、１つまたは複数の構成要素が動作範囲外で（例えば、規範的な使用および／またはパラメータ値を超えて）動作している可能性があるか否かを決定するために、自律車両特性データ４０４４を受信するように構成されることができる。自律車両特性データ４０４４は、群管理データリポジトリから受信されることができ、構成要素の機能性の相対的な状態（例えば、規範的、劣化されている、最小限に機能している、動作上の機能停止など）を規定する値の１つまたは複数の範囲を規定するセンサデータの予想される値および値の範囲を含むようにさらに構成されることができる。例えば、特定のライダセンサから受信されるライダデータが、規範的な範囲を超えて動作している可能性がある。複数のライダセンサが冗長な様式で（例えば、少なくとも３重の冗長性）自律車両上に存在することができるため、自律車両４０３０は、機能していないライダセンサを伴って（例えば、フェイルオペレーショナルモードにおいて）動作し続けることができる。
【０１３５】
いくつかの事例において、自律車両４０３０が、１つまたは複数の構成要素が動作の規範的な範囲未満で機能している状態で動作しているとき、オプティマイザ４０３８は、そのような自律車両４０３０を使用した要求のサービスを最適化するように構成されることができる。例えば、構成要素が機能性を低減されている自律車両は、それぞれＡＶステーション４０５２ａ、４０５２ｂ、および４０５２ｃに（例えば、任意の距離をおいて）隣接し得る境界４０５４ａ、４０５４ｂ、および４０５４ｃ内での要求へのサービスに限定され得る。それゆえ、機能が低減されている構成要素、または任意の他の構成要素に関係するさらなる問題が生じた場合、自律車両は、自律車両サービスステーション４０５２（サービスが生じる必要がある場合）の相対的に近くでルーティングされるように（例えば、コマンドデータ４０４２を介して）構成される。上述されている境界での使用は、機能性が低減されている自律車両の派遣の協調の一例に過ぎず、限定であるようには意図されていない。輸送要求にサービスするための（機能性が低減されている）自律車両の選択に対する任意の数の手法が、本開示の範囲内にある。自律車両派遣最適化カリキュレータ４０３４が、サービスを自動的にスケジュールし、機能が低減されている構成要素に置き換えるために部分を順序付けするために順序データ４０４６を生成することができることにさらに留意されたい。さらに、例えば、１つまたは複数の自律車両が、機能が低減されている構成要素によって影響を受けていることを考慮して、自律車両サービスを支援または補完するために、非ＡＶ運転者（例えば、人間が運転する車両）の輸送サービスへの（例えば、自律車両サービスへの損失を最小にまたはまったくなくして）使用を促進するために、非ＡＶ要求４０４８が生成されることができる。非ＡＶ運転者の例は、とりわけ、図１６に記述されている。
【０１３６】
図４１は、いくつかの例による、自律車両の群を管理するためのルートのセットの最適化の例を示すフロー図である。フロー４１００は、４１０２によって開始し、いくつかの目的地ロケーションが、いくつかの自律車両について決定される。４１０４において、いくつかの送達ロケーションが計算されることができ、それによって、いくつかの自律車両の各々が、対応する送達ロケーションにナビゲートするように案内または向けられる。４１０６において、自律車両と関連付けられる送達ロケーションを実施するためのデータが識別されることができる。４１０８において、自律車両を送達ロケーションにナビゲートさせるためのコマンドを表現するデータが、特定の自律車両に送信されることができる。フロー図の各部分は、順次実施されてもよく、またはフロー図の任意の１つまたは複数の他の部分と並列に実施されてもよく、また、独立して実施されてもよく、または、フロー図の他の部分に依存して実施されてもよいため、このフロー図および本明細書における他のフロー図に示されている順序は、様々な機能を直線的に実施するための要件を暗示するようには意図されていないことに留意されたい。
【０１３７】
図４２は、様々な実施形態による、自律車両サービスの構成要素に様々な群管理関連機能性および／または構造を提供するように構成されている様々なコンピューティングプラットフォームの例を示す。いくつかの例において、コンピューティングプラットフォーム３３００は、コンピュータプログラム、アプリケーション、方法、プロセス、アルゴリズム、または上述されている技法を実施するための他のソフトウェアを実施するために使用されることができる。図３３の様々な構造および／または機能性は、図４２に適用可能であり、そのため、それらの図面のいくつかの要素は、図３３の文脈において論じられ得ることに留意されたい。図４２の図４２００に示されている要素は、本明細書における１つまたは複数の他の図面に関連して記述されている、同様に名付けられている要素としての構造および／または機能を含むことができることにさらに留意されたい。
【０１３８】
図４２に示されている例を参照すると、システムメモリ３３０６は、自律車両サービスプラットフォームモジュール４２５０および／またはその構成要素（例えば、群最適化マネージャモジュール４２５２、自律車両派遣最適化カリキュレータモジュール４２５４など）を含み、それらのうちのいずれか、または、それらの１つもしくは複数の部分は、本明細書において記述されている１つまたは複数の機能を実施することによって、自律車両サービスのナビゲーションを促進するように構成されることができる。いくつかの事例において、コンピューティングプラットフォーム３３００は、自律車両サービスプラットフォーム内に配置されることができるコンピューティングデバイス３３９０ａ、および／またはモバイルコンピューティングデバイス３３９０ｂのような、任意のデバイス内に配置されることができる。
【０１３９】
上記の例は、理解の明瞭性の目的のためにいくらか詳細に記述されているが、上述されている本発明の技法は、提供されている詳細には限定されない。上述されている本発明の技法を実施する多くの代替的な方法がある。開示されている例は、例示であり、限定ではない。
【図１】
2019505059.tif 000003
【図２】
2019505059.tif 000004
【図３Ａ】
2019505059.tif 000005
【図３Ｂ】
2019505059.tif 000006
【図３Ｃ】
2019505059.tif 000007
【図３Ｄ】
2019505059.tif 000008
【図３Ｅ】
2019505059.tif 000009
【図４】
2019505059.tif 000010
【図５】
2019505059.tif 000011
【図６】
2019505059.tif 000012
【図７】
2019505059.tif 000013
【図８】
2019505059.tif 000014
【図９】
2019505059.tif 000015
【図１０】
2019505059.tif 000016
【図１１】
2019505059.tif 000017
【図１２】
2019505059.tif 000018
【図１３】
2019505059.tif 000019
【図１４】
2019505059.tif 000020
【図１５】
2019505059.tif 000021
【図１６】
2019505059.tif 000022
【図１７】
2019505059.tif 000023
【図１８】
2019505059.tif 000024
【図１９】
2019505059.tif 000025
【図２０】
2019505059.tif 000026
【図２１】
2019505059.tif 000027
【図２２】
2019505059.tif 000028
【図２３】
2019505059.tif 000029
【図２４】
2019505059.tif 000030
【図２５】
2019505059.tif 000031
【図２６Ａ】
2019505059.tif 000032
【図２６Ｂ】
2019505059.tif 000033
【図２７】
2019505059.tif 000034
【図２８】
2019505059.tif 000035
【図２９】
2019505059.tif 000036
【図３０】
2019505059.tif 000037
【図３１】
2019505059.tif 000038
【図３２】
2019505059.tif 000039
【図３３】
2019505059.tif 000040
【図３４】
2019505059.tif 000041
【図３５】
2019505059.tif 000042
【図３６】
2019505059.tif 000043
【図３７Ａ】
2019505059.tif 000044
【図３７Ｂ】
2019505059.tif 000045
【図３８】
2019505059.tif 000046
【図３９】
2019505059.tif 000047
【図４０】
2019505059.tif 000048
【図４１】
2019505059.tif 000049
【図４２】
2019505059.tif 000050
【手続補正書】
【提出日】平成30年7月3日(2018.7.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の自律車両のうちの１つの自律車両の目的地ロケーションを判断するステップと、
前記複数の自律車両が向けられることになる複数の起点ロケーションを判断するステップと、
前記自律車両の前記目的地ロケーションから、前記複数の起点ロケーションのうちの１つの起点ロケーションまでの少なくとも１つのルートを示すルーティングデータを識別するステップと、
前記ルーティングデータに少なくとも部分的に基づいて、前記起点ロケーションへとナビゲートするための前記自律車両を選択するステップと、
前記ルーティングデータを使用して前記自律車両のためのコマンドデータを生成するステップであって、前記コマンドデータは、前記自律車両に、前記ルートを介して前記起点ロケーションへとナビゲートさせるように構成される、ステップと、
前記コマンドデータを前記自律車両に送信するステップと
を備える方法。
【請求項２】
前記自律車両と前記目的地ロケーションとの間の第１の経路の部分と関連付けられたルーティング特性の変化を検出するステップと、
前記自律車両の第２の経路を識別するステップと、
前記自律車両のための追加のコマンドデータを生成するステップであって、前記追加のコマンドデータは、前記自律車両に、前記第２の経路を介してナビゲートさせるように構成される、ステップと、
前記追加のコマンドデータを前記自律車両に送信するステップと
をさらに備える請求項１に記載の方法。
【請求項３】
前記ルーティング特性の変化を検出するステップは、
前記目的地ロケーションを別の目的地ロケーションに変更する要求を検出するステップと、
前記要求にサービスするための前記第２の経路を判断するステップと
を備える請求項２に記載の方法。
【請求項４】
遠隔操作者コンピューティングデバイスを介して、前記追加のコマンドデータを前記自律車両に送信して、前記第２の経路を介してナビゲートさせるための遠隔操作者コマンドを受信するステップをさらに備える請求項２または３に記載の方法。
【請求項５】
前記ルーティングデータは、前記自律車両と関連付けられた１つまたは複数の第１の特性をさらに示し、前記方法は、
前記複数の自律車両のうちの追加の自律車両の追加の目的地ロケーションを判断するステップと、
少なくとも、
前記追加の自律車両の前記追加の目的地ロケーションから前記起点ロケーションへの追加のルート、および
前記追加の自律車両と関連付けられた１つまたは複数の第２の特性
を指示する追加のルーティングデータを識別するステップと、
前記ルーティングデータおよび前記追加のルーティングデータに少なくとも部分的に基づいて、前記自律車両を前記起点ロケーションへとルーティングすることに関連付けられた第１の費用が、前記追加の自律車両を前記起点ロケーションへとルーティングすることに関連付けられた第２の費用よりも低いことを判断するステップと
をさらに備え、
前記自律車両を選択するステップは、前記第１の費用が前記第２の費用よりも低いという判断に少なくとも部分的に基づく請求項１から４のいずれか一項に記載の方法。
【請求項６】
ポリシデータまたは環境データのうちの少なくとも１つを受信するステップと、
前記ポリシデータまたは前記環境データのうちの少なくとも１つに少なくとも部分的に基づいて、前記ルーティングデータを生成するステップと
をさらに備える請求項１から５のいずれか一項に記載の方法。
【請求項７】
プロセッサを含む１つまたは複数のコンピューティングデバイスであって、前記１つまたは複数のコンピューティングデバイスは、
複数の自律車両のうちの少なくとも１つの自律車両の目的地ロケーションを判断することと、
前記複数の自律車両が向けられることになる複数の起点ロケーションを判断することと、
前記自律車両の前記目的地ロケーションから、前記複数の起点ロケーションのうちの１つの起点ロケーションまでの少なくとも１つのルートを示すルーティングデータを識別することと、
前記ルーティングデータに少なくとも部分的に基づいて前記自律車両のためのコマンドデータを生成することであって、前記コマンドデータは、前記自律車両に、前記ルートを介して前記起点ロケーションへとナビゲートさせるように構成される、ことと、
前記コマンドデータを前記自律車両に送信することと
を行うように構成される、１つまたは複数のコンピューティングデバイスを備えるシステム。
【請求項８】
前記１つまたは複数のコンピューティングデバイスは、
コンピューティングデバイスから、前記複数の自律車両のうちの１つによる輸送の要求を受信することと、
前記コンピューティングデバイスと関連付けられたロケーションを判断することと
を行うようにさらに構成され、
前記複数の起点ロケーションを判断することは、少なくとも、前記コンピューティングデバイスと関連付けられた前記ロケーションに少なくとも部分的に基づいて前記起点ロケーションを判断することを備える請求項７に記載のシステム。
【請求項９】
前記１つまたは複数のコンピューティングデバイスは、
前記自律車両と前記目的地ロケーションとの間の第１の経路の部分と関連付けられたルーティング特性の変化を検出することと、
前記自律車両の第２の経路を識別することと、
前記自律車両のための追加のコマンドデータを生成することであって、前記追加のコマンドデータは、前記自律車両に、前記第２の経路を介してナビゲートさせるように構成される、ことと、
前記追加のコマンドデータを前記自律車両に送信することと
を行うようにさらに構成される請求項７または８に記載のシステム。
【請求項１０】
前記１つまたは複数のコンピューティングデバイスは、
前記複数の自律車両のうちの追加の自律車両の追加の目的地ロケーションを判断することと、
前記追加の自律車両の前記追加の目的地ロケーションから前記起点ロケーションへの少なくとも１つの追加のルートを示す追加のルーティングデータを識別することと、
前記自律車両を、前記ルートを介して前記起点ロケーションへとナビゲートすることに関連付けられた第１の時間を判断することと、
前記追加の自律車両を、前記追加のルートを介して前記起点へとナビゲートすることに関連付けられた第２の時間を判断することと、
前記第１の時間が前記第２の時間よりも短いと判断することと、
前記第１の時間が前記第２の時間よりも短いという判断に少なくとも部分的に基づいて、前記起点ロケーションへとナビゲートするための前記自律車両を選択することと
を行うようにさらに構成される請求項７から９のいずれか一項に記載のシステム。
【国際調査報告】
2019505059.tif 000051