IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ズークス インコーポレイテッドの特許一覧

特許7049996自律車両サービスを要求および制御するソフトウェアアプリケーション
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-30
(45)【発行日】2022-04-07
(54)【発明の名称】自律車両サービスを要求および制御するソフトウェアアプリケーション
(51)【国際特許分類】
   G08G 1/123 20060101AFI20220331BHJP
   G08G 1/00 20060101ALI20220331BHJP
   G06Q 50/30 20120101ALI20220331BHJP
【FI】
G08G1/123 A
G08G1/00 X
G08G1/00 D
G06Q50/30
【請求項の数】 9
(21)【出願番号】P 2018544029
(86)(22)【出願日】2016-11-02
(65)【公表番号】
(43)【公表日】2019-01-10
(86)【国際出願番号】 US2016060021
(87)【国際公開番号】W WO2017079222
(87)【国際公開日】2017-05-11
【審査請求日】2019-11-05
(31)【優先権主張番号】14/932,966
(32)【優先日】2015-11-04
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】14/933,665
(32)【優先日】2015-11-05
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】14/932,959
(32)【優先日】2015-11-04
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】14/756,992
(32)【優先日】2015-11-04
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】14/932,963
(32)【優先日】2015-11-04
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】14/933,706
(32)【優先日】2015-11-05
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】14/756,995
(32)【優先日】2015-11-04
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】14/933,469
(32)【優先日】2015-11-05
(33)【優先権主張国・地域又は機関】US
【前置審査】
(73)【特許権者】
【識別番号】518156417
【氏名又は名称】ズークス インコーポレイテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】特許業務法人 谷・阿部特許事務所
(72)【発明者】
【氏名】ティモシー デイビッド ケントリー-クレイ
(72)【発明者】
【氏名】ラシャド ユーセフ ガマラ
(72)【発明者】
【氏名】ギャリー リンスコット
【審査官】菅家 裕輔
(56)【参考文献】
【文献】特開2015-092320(JP,A)
【文献】米国特許第09151628(US,B1)
【文献】特開2003-151083(JP,A)
【文献】特表2014-516441(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G08G 1/00-99/00
B60W 10/00-10/30
B60W 30/00-60/00
G01C 21/00-21/36
G01C 23/00-25/00
G06Q 50/30
(57)【特許請求の範囲】
【請求項1】
コンピュータシステムによって実行される方法であって、
ユーザデバイスから、自律車両システムサービスを通じてユーザを起点位置から目的地に輸送することを求める搭乗要求を受信するステップと、
前記要求と関連付けられた前記起点位置および動作効率メトリックに基づいて、前記自律車両システムサービスによって管理される自律車両システムのうちの自律車両システムを決定するステップであって、前記動作効率メトリックは、前記自律車両システムの前記ユーザデバイスに対する近接性、前記自律車両システムのセンサ較正度、または前記自律車両システムの残りのデータ記憶容量、のうちの少なくともつに基づいている、ステップと、
前記搭乗要求を前記自律車両システムに提供するステップと、
前記自律車両システムに関する情報を前記ユーザデバイスに提供するステップと
を備える方法。
【請求項2】
前記自律車両システムサービスによって管理される、派遣される自律車両システムと関連付けられた動作効率メトリックを決定するステップと、
前記動作効率メトリックにさらに基づいて、前記搭乗要求に応答して前記ユーザに派遣する前記自律車両システムを決定するステップと
をさらに備える請求項1に記載の方法。
【請求項3】
前記自律車両システムサービスによって管理される、派遣される自律車両システムと関連付けられた交通データを決定するステップと
前記交通データにさらに基づいて、前記搭乗要求に応答して前記ユーザに派遣する前記自律車両システムを決定するステップと
をさらに備える請求項1または2に記載の方法。
【請求項4】
前記搭乗要求を前記自律車両システムに提供するステップは、
前記搭乗要求を実行する前記自律車両システムの位置に基づいて1つまたは複数の軌道を決定するステップと、
前記1つまたは複数の軌道から軌道を選択するステップと、
前記自律車両システムに、前記選択されている軌道を実行し、前記搭乗要求と関連付けられた前記起点位置に到達するための命令を提供するステップと
をさらに備える請求項1乃至3のいずれか一項に記載の方法。
【請求項5】
前記搭乗要求を前記自律車両システムに提供するステップは、
前記搭乗要求を実行する前記自律車両システムの位置に基づいて1つまたは複数の軌道を決定するステップと、
前記搭乗要求を実行する前記自律車両システムに前記1つまたは複数の軌道を提供するステップと
をさらに備える請求項1乃至4のいずれか一項に記載の方法。
【請求項6】
システムであって、
道路上を自律的に運転するように構成されている自律車両であり、前記自律車両は、前記自律車両の環境内の1つまたは複数の物体を検知するための1つまたは複数のセンサを含む、自律車両と、
前記自律車両に通信可能に結合されて、データを受信、および自律車両を制御するための命令を送信するコンピューティングシステムと
を備え、
前記コンピューティングシステムは、
搭乗要求と関連付けられた起点位置および動作効率メトリックに基づいて、複数の自律車両から、派遣する自律車両システムを決定し、前記動作効率メトリックは、前記自律車両システムのユーザデバイスに対する近接性、前記自律車両システムのセンサ較正度、または前記自律車両システムの残りのデータ記憶容量、のうちの少なくともつに基づいており、
前記自律車両を、ユーザを軌道に沿って第1の目的地に輸送するように制御し、
前記ユーザを第2の目的地に輸送するためのユーザコマンドを受信し、
前記ユーザコマンドの受信に応答して、複数の方策を決定し、
前記方策の各々の信頼水準を決定し、
前記信頼水準に少なくとも部分的に基づいて、前記方策のうちの方策を実行するように、前記自律車両を制御する
ようにプログラムされているシステム。
【請求項7】
前記コンピューティングシステムは、
前記方策の各々の確率モデルを決定するようにさらにプログラムされており、前記信頼水準は、前記確率モデルに少なくとも部分的に基づいて決定される請求項6に記載のシステム。
【請求項8】
前記方策の前記信頼水準は、所定の閾値レベルよりも高い請求項6または7に記載のシステム。
【請求項9】
前記信頼水準は、前記センサからのデータに少なくとも部分的に基づいて決定される請求項6乃至8のいずれか一項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
様々な実施形態は、一般的に、自律車両、ならびに、自律車両サービスを要求および制御するための関連付けられた機械的、電気的および電子的ハードウェア、コンピュータソフトウェアおよびシステム、ならびに、有線および無線ネットワーク通信に関係する。
【背景技術】
【0002】
関連出願の相互参照
本PCT国際出願は、2015年11月5日に出願された「SOFTWARE APPLICATION TO REQUEST AND CONTROL AN AUTONOMOUS VEHICLE」と題する米国特許出願第14/933,469号、2015年11月5日に出願された「SOFTWARE APPLICATION AND LOGIC TO MODIFY CONFIGURATION OF AN AUTONOMOUS VEHICLE」と題する米国特許出願第14/933,665号、2015年11月5日に出願された「INTERACTIVE AUTONOMOUS VEHICLE COMMAND CONTROLLER」と題する米国特許出願第14/933,706号、2015年11月4日に出願された「AUTONOMOUS VEHICLE FLEET SERVICE AND SYSTEM」と題する米国特許出願第14/932,959号、2015年11月4日に出願された「ADAPTIVE MAPPING TO NAVIGATE AUTONOMOUS VEHICLES RESPONSIVE TO PHYSICAL ENVIRONMENT CHANGES」と題する米国特許出願第14/932,963号、2015年11月4日に出願された「TELEOPERATION SYSTEM AND METHOD FOR REMOTE TRAJECTORY MODIFICATION OF AUTONOMOUS VEHICLES」と題する米国特許出願第14/932,966号、2015年11月4日に出願された「COORDINATION OF DISPATCHING AND MAINTAINING FLEET OF AUTONOMOUS VEHICLES」と題する米国特許出願第14/756,995号、および、2015年11月4日に出願された「ADAPTIVE AUTONOMOUS VEHICLE PLANNER LOGIC」と題する米国特許出願第14/756,992号の継続出願であり、本出願は、2015年11月4日に出願された「AUTOMATED EXTRACTION OF SEMANTIC INFORMATION TO ENHANCE INCREMENTAL MAPPING MODIFICATIONS FOR ROBOTIC VEHICLES」と題する米国特許出願第14/932,940号、2015年11月5日に出願された「SYSTEMS AND METHOD TO OPTIMIZE NAVIGATION OF AUTONOMOUS VEHICLE TELEOPERATION AND PLANNING LOGIC」と題する米国特許出願第14/933,602号、2015年11月5日に出願された「SIMULATION SYSTEM AND METHODS FOR AUTONOMOUS VEHICLES」と題する米国特許出願第14/757,016号、2015年11月5日に出願された「SOFTWARE APPLICATION AND LOGIC TO MODIFY CONFIGURATION OF AN AUTONOMOUS VEHICLE」と題する米国特許出願第14/933,665号、2015年11月4日に出願された「METHOD FOR ROBOTIC VEHICLE COMMUNICATION WITH AN EXTERNAL ENVIRONMENT VIA ACOUSTIC BEAM FORMING」と題する米国特許出願第14/756,993号、2015年11月4日に出願された「SENSOR-BASED OBJECT-DETECTION OPTIMIZATION FOR AUTONOMOUS VEHICLES」と題する米国特許出願第14/756,991号、2015年11月4日に出願された「CALIBRATION FOR AUTONOMOUS VEHICLE OPERATION」と題する米国特許出願第14/756,996号、2015年11月4日に出願された「ACTIVE LIGHTING CONTROL FOR COMMUNICATING A STATE OF AN AUTONOMOUS VEHICLE TO ENTITIES IN A SURROUNDING ENVIRONMENT」と題する米国特許出願第14/932,948号、2015年11月5日に出願された「INTERACTIVE AUTONOMOUS VEHICLE COMMAND CONTROLLER」と題する米国特許出願第14/933,706号、2015年11月4日に出願された「QUADRANT CONFIGURATION OF ROBOTIC VEHICLES」と題する米国特許出願第14/932,958号、および、2015年11月4日に出願された「ROBOTIC VEHICLE ACTIVE SAFETY SYSTEMS AND METHODS」と題する米国特許出願第14/932,962号にも関係付けられ、これらはすべて本明細書において、参照によりそれらの全体が本明細書に組み込まれる。
【0003】
無人運転車両を開発するための様々な手法は、主に、消費者が購入するための無人運転車両を製造するという目的をもって従来の車両(例えば、手動運転される自動車両)を自動化することに焦点を当てている。例えば、いくつかの自動車会社および関連会社は、消費者に、運転者なしで動作することができる車両を所有する能力を提供するために、従来の自動車、およびステアリングのような制御メカニズムを修正している。いくつかの手法において、従来の無人運転車両は、いくつかの条件において安全を重要視すべき運転機能を実施するが、運転者が、乗員の安全を危険にさらすおそれがある特定の課題を車両コントローラが解決することができない場合に、運転者が制御(例えば、ステアリングなど)を担うことを必要とする。
【0004】
機能的ではあるが、従来の無人運転車両は、一般的に、いくつかの欠点を有する。例えば、開発中の多数の無人運転車は、手動(すなわち、人間によって制御される)ステアリングおよび他の同様の自動車機能を必要とする車両から発展している。それゆえ、多数の無人運転車は、特定の座席または位置が車両内で確保されている免許を受けた運転者に対応するように設計されるべきであるというパラダイムに基づく。そのため、無人運転車両は、準最適に設計されており、一般的に、車両設計を単純化し、資源を節約する(例えば、無人運転車両を製造する費用を低減する)機会を逸している。従来の無人運転車両には、他の欠点も存在する。
【0005】
他の欠点は従来の輸送サービスにも存在し、これらは、例えば、従来の輸送および相乗りサービスを提供する一般的な手法に起因して車両の在庫を管理するのにあまり効率的に適合されていない。1つの従来の手法において、搭乗者は、人間の運転者および車両(例えば、個人が所有している)を搭乗者に割り当てる集中型サービスを介して輸送サービスを要求するために、モバイルアプリケーションにアクセスすることを要求される。異なる所有者によって所有されている車両を使用することによって、自家用車および安全システムの保守管理は検査されないままになる。別の従来の手法において、会員として登録している運転者が、会員の間で共有されている車両にアクセスすることを可能にすることによって、何らかのエンティティが、車両のグループの相乗りを可能にする。運転者は特定の位置にある、共有されている車両に乗車し、下車する必要があり、これは都市環境においては希少で少なく、相乗りされる車両を駐車するための相対的に高価な不動産(すなわち、駐車場)にアクセスすることを必要とするため、この手法は、従来の輸送サービスを提供するにはあまり適合されていない。上述されている従来の手法において、輸送サービスを提供するために使用される従来の車両は、運転者が離れると車両が動けなくされるため、一般的に在庫の観点から十分に利用されていない。さらに、相乗り手法(および個人によって所有されている車両の輸送サービス)は一般的に、使用状況および一般的な走行パターンに適合させるために輸送サービスの需要に合わせるために在庫のバランスを取り戻すのにはあまり適合されていない。また、自動運転自動化機能が制限されている、いくつかの従来記述されている車両もまた、人間の運転者が一般的に必要とされることがあるため、在庫のバランスを取り戻すのにはあまり適合されていない。自動運転自動化機能が制限されている車両の例は、米国運輸省道路交通安全局(「NHTSA」)による、レベル3(「L3」)車両として指定されている車両である。
【0006】
別の欠点として、無人運転車両に対する一般的な手法は、一般的に、走行中の車両と、車両の他の運転者または個人との間の対話(例えば、社会的対話)に関して車両を検出およびナビゲートするのにはあまり適合されていない。例えば、いくつかの従来の手法は、無人運転車両の乗員および他の車両の運転者、歩行者などに対する安全性のリスクに対処する目的のために、歩行者、自転車利用者など、および、アイコンタクト、ジェスチャなどのような関連付けられた対話を識別することが十分に可能ではない。
【0007】
したがって、必要とされているものは、従来の技法の制限なしに、自律車両の実施を促進するための解決策である。
【発明の概要】
【0008】
本発明の様々な実施形態または例が、以下の詳細な説明および添付の図面において開示される。
【図面の簡単な説明】
【0009】
図1】いくつかの実施形態による、自律車両サービスプラットフォームに通信可能にネットワーク接続されている自律車両の群の実施を示す図である。
図2】いくつかの実施形態による、自律車両の群を監視するためのフロー図の例である。
図3A】いくつかの例による、センサおよび他の自律車両構成要素の例を示す図である。
図3B】いくつかの例による、センサフィールド冗長性(sensor field redundancy)およびセンサフィールドの喪失(a loss of a sensor field)に対する自律車両の適合の例を示す図である。
図3C】いくつかの例による、センサフィールド冗長性およびセンサフィールドの喪失に対する自律車両の適合の例を示す図である。
図3D】いくつかの例による、センサフィールド冗長性およびセンサフィールドの喪失に対する自律車両の適合の例を示す図である。
図3E】いくつかの例による、センサフィールド冗長性およびセンサフィールドの喪失に対する自律車両の適合の例を示す図である。
図4】いくつかの例による、通信レイヤを介して自律車両コントローラに通信可能に結合されている自律車両サービスプラットフォームを含むシステムを示す基本ブロック図である。
図5】いくつかの実施形態による、自律車両を制御するためのフロー図の例である。
図6】いくつかの実施形態による、自律車両コントローラのアーキテクチャの例を示す図である。
図7】いくつかの実施形態による、自律車両の群との信頼可能な通信を維持するために冗長な通信チャネルを実施する自律車両サービスプラットフォームの例を示す図である。
図8】いくつかの実施形態による、様々なアプリケーションの間でデータを交換するように構成されているメッセージングアプリケーションの例を示す図である。
図9】いくつかの例による、図8に記述されている通信プロトコルを使用した遠隔操作を促進するためのデータのタイプを示す図である。
図10】いくつかの実施形態による、遠隔操作者が経路プランニングに影響を与えることができる遠隔操作者インターフェースの例を示す図である。
図11】いくつかの例による、遠隔操作を呼び出すように構成されているプランナ(planner)の例を示す図である。
図12】いくつかの実施形態による、自律車両を制御するように構成されているフロー図の例である。
図13】いくつかの例による、プランナが軌道(trajectory)を生成することができる例を示す図である。
図14】いくつかの実施形態による、自律車両サービスプラットフォームの別の例を示す図である。
図15】いくつかの実施形態による、自律車両を制御するためのフロー図の例である。
図16】いくつかの例による、群最適化マネージャ(fleet optimization manager)を実施する自律車両群マネージャ(autonomous vehicle fleet manager)の例の図である。
図17】いくつかの実施形態による、自律車両の群を管理するためのフロー図の例である。
図18】いくつかの実施形態による、自律車両通信リンクマネージャを実施する自律車両群マネージャを示す図である。
図19】いくつかの実施形態による、イベント中の自律車両に対するアクションを決定するためのフロー図の例である。
図20】いくつかの実施形態による、ローカライザの例を示す図である。
図21】いくつかの実施形態による、集積センサデータに基づいて局所的位置(local pose)データを生成するためのフロー図の例である。
図22】いくつかの実施形態による、ローカライザの別の例を示す図である。
図23】いくつかの実施形態による、知覚エンジンの例を示す図である。
図24】いくつかの実施形態による、知覚エンジンデータを生成するためのフロー図の例である。
図25】いくつかの実施形態による、セグメンテーションプロセッサ(segmentation processor)の例を示す図である。
図26A】様々な実施形態による、オブジェクトトラッカ(object tracker)および分類器の例を示す図である。
図26B】少なくともいくつかの例による、オブジェクトトラッカの別の例を示す図である。
図27】いくつかの例による、知覚エンジンのフロントエンドプロセッサの例の図である。
図28】いくつかの実施形態による、合成環境において自律車両をシミュレートするように構成されているシミュレータを示す図である。
図29】いくつかの実施形態による、自律車両の様々な態様をシミュレートするためのフロー図の例である。
図30】いくつかの実施形態による、マップデータを生成するためのフロー図の例である。
図31】いくつかの実施形態による、マッピングエンジンのアーキテクチャを示す図である。
図32】いくつかの実施形態による、自律車両アプリケーションを示す図である。
図33】様々な実施形態による、自律車両サービスの構成要素に様々な機能を提供するように構成されている様々なコンピューティングプラットフォームの例を示す図である。
図34】様々な実施形態による、自律車両サービスの構成要素に様々な機能を提供するように構成されている様々なコンピューティングプラットフォームの例を示す図である。
図35】様々な実施形態による、自律車両サービスの構成要素に様々な機能を提供するように構成されている様々なコンピューティングプラットフォームの例を示す図である。
図36A】様々な実施形態による、ユーザデバイスと対話する様々なサブシステムを有する自律車両システムを示す高レベルブロック図である。
図36B】様々な実施形態による、ユーザデバイスと対話する様々なサブシステムを有する自律車両システムを示す高レベルブロック図である。
図37】様々な実施形態による、自律車両システムの様々な特徴の要求制御の高レベルブロック図である。
図38】実施形態による、自律車両管理システムのブロック図を示す、自律車両サービスを通じて自律車両システムに要求し、これを制御するためのシステムのネットワーク図である。
図39】いくつかの例による、自律車両サービスの要求および制御のための処理を示す高レベルフロー図である。
図40】いくつかの例による、自律車両サービスを提供するための処理を示す高レベルフロー図である。
図41】いくつかの例による、自律車両サービスの特徴の要求および制御のための処理を示す高レベルフロー図である。
図42】いくつかの例による、自律車両サービスの特徴の要求および制御のための処理を示す高レベルフロー図である。
図43】いくつかの例による、自律車両サービスに対するアクセスを可能にするための処理を示す高レベルフロー図である。
図44】様々な実施形態による、自律車両サービスを要求および制御するように構成されているデバイスに配置されている例示的なコンピューティングプラットフォームを示す図である。
図45】様々な実施形態による、自律車両サービスを要求および制御するように構成されているデバイスに配置されている例示的なコンピューティングプラットフォームを示す図である。
図46】様々な実施形態による、自律車両サービスを要求および制御するように構成されているデバイスに配置されている例示的なコンピューティングプラットフォームを示す図である。
【発明を実施するための形態】
【0010】
様々な実施形態または例は、システム、処理、装置、ユーザインターフェース、コンピュータ可読記憶媒体または光、電子、もしくは無線通信リンクを介してプログラム命令が送信されるコンピュータネットワークのようなコンピュータ可読媒体上の一連のプログラム命令として含む、いくつかの方法で実施されてもよい。一般に、開示されている処理の動作は、特許請求の範囲において別途提供されない限り、任意の順序で実施されてもよい。
【0011】
1つまたは複数の例の詳細な説明が、添付の図面とともに下記に提供される。詳細な説明は、そのような例と関連して提供されるが、いかなる特定の例にも限定されない。その範囲は、特許請求の範囲、ならびにいくつかのその代替形態、修正形態、および均等物によってのみ限定される。完全な理解を提供するために、以下の説明において、いくつかの特定の詳細が記載されている。これらの詳細は、例の目的のために提供されており、記述されている技法は、これらの特定の詳細のいくつかまたはすべてなしに、特許請求の範囲に従って実践されることができる。明瞭化のために、例に関係付けられる技術分野において知られている技術的資料は、説明を不必要に曖昧にすることを回避するために、詳細には記述されていない。
【0012】
図1は、いくつかの実施形態による、自律車両サービスプラットフォームに通信可能にネットワーク接続されている自律車両の群の実施を示す図である。図100は、サービスとして動作している自律車両の群109(例えば、自律車両109a~109eのうちの1つまたは複数)を示し、各自律車両109は、道路網110を自動運転し、自律車両サービスプラットフォーム101との通信リンク192を確立するように構成されている。自律車両の群109がサービスを構成する例において、ユーザ102は、自律輸送手段を求める要求103を、1つまたは複数のネットワーク106を介して自律車両サービスプラットフォーム101に送信することができる。応答して、自律車両サービスプラットフォーム101は、ユーザ102を地理的位置119から地理的位置111に自律的に輸送するために、自律車両109の1つを派遣することができる。自律車両サービスプラットフォーム101は、ステーション190から地理的位置119に自律車両を派遣してもよく、または、ユーザ102の輸送要求にサービスするために、すでに移動中の(例えば、乗員なしで)自律車両109cを転用してもよい。自律車両サービスプラットフォーム101は、ユーザ102(例えば、搭乗者としての)からの要求に応答して、搭乗者を乗せて移動中の自律車両109cを転用するようにさらに構成されてもよい。加えて、自律車両サービスプラットフォーム101は、既存の搭乗者が下車した後にユーザ102の要求にサービスするために転用するために、搭乗者を乗せて移動中の自律車両109cを確保するように構成されてもよい。複数の自律車両サービスプラットフォーム101(図示せず)および1つまたは複数のステーション190が、道路網110に関連して1つまたは複数の自律車両109をサービスするために実施されてもよい。1つまたは複数のステーション190は、自律車両109の在庫を記憶、サービス、管理、および/または維持するように構成されてもよい(例えばステーション190は、自律車両サービスプラットフォーム101を実施する1つまたは複数のコンピューティングデバイスを含んでもよい)。
【0013】
いくつかの例によれば、自律車両109a~109eのうちの少なくともいくつかは、双方向性自律車両(「AV」)130のような双方向性自律車両として構成される。双方向性自律車両130は、限定ではないが、主に長手方向軸131に沿っていずれかの方向に走行するように構成されてもよい。したがって、双方向性自律車両130は、隣接した周辺の他者(例えば、他の運転者、歩行者、自転車利用者など)、および、双方向性自律車両130が走行している方向を警告するために、車両の外部のアクティブな照明を実施するように構成されてもよい。例えば、アクティブ光源136が、第1の方向に走行しているときはアクティブライト(active light)138aとして実施されてもよく、または、第2の方向に走行しているときはアクティブライト138bとして実施されてもよい。アクティブライト138aは、任意選択のアニメーション(例えば、可変強度の光の光パターンまたは経時的に変化することができる色)を伴う、1つまたは複数の色からなる第1のサブセットを使用して実施されてもよい。同様に、アクティブライト138bは、1つまたは複数の色からなる第2のサブセット、および、アクティブライト138aのものとは異なってもよい光パターンを使用して実施されてもよい。例えば、アクティブライト138aは、「ヘッドライト」としての白色光を使用して実施されてもよく、一方、アクティブライト138bは、「テールライト」としての赤色光を使用して実施されてもよい。アクティブライト138aおよび138b、またはその部分は、(例えば、黄色光を使用して)「ターンシグナル指示」機能を提供することのような、他の色に光関連機能を提供するように構成されてもよい。様々な例によれば、自律車両130内の論理は、任意の数の管轄に関する様々な安全性要件および交通規制または法律に準拠するように、アクティブライト138aおよび138bを適応させるように構成されてもよい。
【0014】
いくつかの実施形態において、双方向性自律車両130は、四半部194のような各四半部において、同様の構造的要素および構成要素を有するように構成されてもよい。四半部は、少なくともこの例においては、両方とも、平面132および134の各側に2つの同様の半部を形成するのに車両を通過する平面132および134の交差によって規定される双方向性自律車両130の部分として示されている。さらに、双方向性自律車両130は、他の機能の中でも運転制御(例えば、推進、ステアリングなど)およびアクティブ光源136を含む主要ないくつかの車両機能を制御するように構成されている論理(例えば、ハードウェアもしくはソフトウェア、またはそれらの組み合わせ)を含む自律車両コントローラ147を含むことができる。双方向性自律車両130はまた、車両上の様々な位置に配置されているいくつかのセンサ139をも含む(他のセンサは図示されていない)。
【0015】
自律車両コントローラ147は、自律車両109の局所的場所(local pose)(例えば、局所的位置)を決定し、車両に対する外部オブジェクトを検出するようにさらに構成されてもよい。例えば、双方向性自律車両130が、道路網110内で方向199に走行していると考える。自律車両コントローラ147のローカライザ(図示せず)が、地理的位置111における局所的場所を決定することができる。そのため、ローカライザは、建造物115および117の表面と関連付けられたセンサデータのような、取得されるセンサデータを使用することができ、これは、局所的場所を決定するために、マップデータ(例えば、反射データを含む3Dマップデータ)のような基準データ(reference data)に対して比較されることができる。さらに、自律車両コントローラ147の知覚エンジン(図示せず)が、外部オブジェクト112(「樹木」)および外部オブジェクト114(「歩行者」)のような外部オブジェクトの挙動を検出、分類、および予測するように構成されてもよい。そのような外部オブジェクトの分類は、外部オブジェクト112のような静的オブジェクト、および、外部オブジェクト114のような動的オブジェクトとして、オブジェクトを広範に分類することができる。ローカライザおよび知覚エンジン、ならびにAVコントローラ147の他の構成要素は、協働して、自律車両109に自律的に運転させる。
【0016】
いくつかの例によれば、自律車両サービスプラットフォーム101は、自律車両109が遠隔操作を要求する場合に、遠隔操作者サービスを提供するように構成されている。例えば、自律車両109d内の自律車両コントローラ147が、挿入図120に示されているように、ポイント191において道路122上の経路124を閉塞している(obscuring)オブジェクト126を検出すると考える。自律車両コントローラ147が、車両109dが相対的に高い確度で安全に移動することができる経路または軌道を確定することができない場合、自律車両コントローラ147は、遠隔操作サービスを求める要求メッセージ105を送信することができる。応答して、遠隔操作者コンピューティングデバイス104が、障害物126を首尾よく(かつ安全に)切り抜けるための方策(course of action)を実施するための命令を、遠隔操作者108から受信することができる。その後、車両に、例えば、代替の経路121に沿って移動するときに二重線のセットを安全にまたがせるために、自律車両109dに応答データ107が返信されてもよい。いくつかの例において、遠隔操作者コンピューティングデバイス104は、経路のプランニングから除外するために、地理的領域を識別する応答を生成することができる。特に、追従するための経路を提供するのではなく、遠隔操作者108は、自律車両が回避すべき領域または位置を規定することができる。
【0017】
上記を考慮して、自律車両130および/または自律車両コントローラ147、ならびにそれらの構成要素の構造および/または機能は、自律車両109が自動運転することを可能にするために、位置特定および知覚のような自律関連動作を通じてリアルタイム(またはほぼリアルタイム)の軌道計算を実施することができる。
【0018】
いくつかの事例において、双方向性自律車両130の双方向性は、互いに同様または実質的に同様である四半部194(または任意の他の数の対称な部分)を有する車両を提供する。そのような対称性は、設計の複雑度を低減し、相対的に、固有の構成要素または構造の数を低減し、それによって、在庫および製造の複雑度を低減する。例えば、駆動系およびホイールシステムは、それら四半部194のいずれに配置されてもよい。さらに、自律車両コントローラ147は、そうでなければ乗員の安全性に影響を与える可能性があるイベントまたは課題を解決しながら、自律車両109が移動中に遅延される尤度を低減するために、遠隔操作サービスを呼び出すように構成されている。いくつかの事例において、道路網110の可視部分は、自律車両109の図1に示す道路網に対する動きを限定または他の様態で制御することができる地理上のフェンス領域を示す。様々な例によれば、自律車両109、およびその群は、共有されている車両の効率を提供しながら、ポイント間の人の移動の簡便性およびプライバシーを伴って需要に応じた輸送手段を提供することができるレベル4(「完全自動運転」またはL4)車両として動作するように構成可能であってもよい。いくつかの例において、自律車両109、または、本明細書において記述されている任意の自律車両は、ステアリングホイール、または、自律車両109の手動(すなわち、人間によって制御される)ステアリングを提供する任意の他の機械的手段を省略するように構成されてもよい。さらに、自律車両109、または、本明細書において記述されている任意の自律車両は、座席、または、車両内で乗員がステアリングホイールに携わるために確保されている位置を省略するように構成されてもよい。
【0019】
図2は、いくつかの実施形態による、自律車両の群を監視するためのフロー図の例である。202において、フロー200は、自律車両の群が監視されるときに開始する。少なくとも1つの自律車両が、車両に、第1の地理的領域から第2の地理的領域に自律的に移動させるように構成されている自律車両コントローラを含む。204において、車両の計算されている信頼水準と関連付けられたイベントを表すデータが検出される。イベントは、自律車両の動作に影響を与えるか、または、動作に影響を与える可能性がある条件または状況であってもよい。イベントは、自律車両の内部または外部であってもよい。例えば、道路を閉塞している障害物、および、通信の低減または喪失が、イベントとして考えられてもよい。イベントは、交通条件または渋滞、および、知覚エンジンによって知覚される、予想外のまたは異常な数またはタイプの外部オブジェクト(またはトラック)を含んでもよい。イベントは、天候関連条件(例えば、氷または雨に起因する摩擦の喪失)、または、他の車両の人間の運転者の目に明るく陽が差すようにする水平線に対する低い角度のような、陽が差している角度(例えば、日没時)を含んでもよい。これらのおよび他の条件は、遠隔操作者サービスの呼び出しを引き起こすか、または、車両に安全停止軌道を実行させるイベントとして考えられてもよい。
【0020】
206において、候補軌道(candidate trajectory)のサブセットを表すデータが、イベントの検出に応答して自律車両から受信されてもよい。例えば、自律車両コントローラのプランナが、1秒のような単位時間あたりに多数の軌道(例えば、数千以上)を計算および評価することができる。いくつかの実施形態において、候補軌道は、自律車両がイベントを考慮して(例えば、遠隔操作者によって提供される代替の経路を使用して)安全に前進することができる相対的により高い信頼水準を提供する軌道のサブセットである。いくつかの候補軌道は、他の候補軌道よりも高くランク付けされ、または、他の候補軌道よりも高い信頼度と関連付けられてもよいことに留意されたい。いくつかの例によれば、候補軌道のサブセットは、プランナ、遠隔操作者コンピューティングデバイス(例えば、遠隔操作者が、近似の経路を決定および提供することができる)などのような任意の数のソースから発生することができ、または、候補軌道のサブセットとして組み合わされることができる。208において、経路案内データ(path guidance data)が、1つまたは複数のプロセッサにおいて識別されてもよい。経路案内データは、遠隔操作者が、候補軌道のうちの1つまたは複数から案内される軌道を選択するのを補助するように構成されてもよい。いくつかの事例において、経路案内データは、特定の候補軌道が、イベントが自律車両の動作に影響を与えることがある可能性を低減または無視することができる確度を指示する信頼水準または確率を指示する値を指定する。選択される候補軌道としての案内される軌道は、210において、遠隔操作者からの入力(例えば、遠隔操作者は、別様にランク付けされている候補軌道のグループから少なくとも1つの候補軌道を、案内される軌道として選択することができる)に応答して受信されてもよい。選択は、いくつかの候補軌道を、例えば、最も高い信頼水準から最も低い信頼水準への順序においてリストしている操作者インターフェースを介して行われてもよい。212において、案内される軌道としての候補軌道の選択が、車両に送信されてもよく、これは、車両に、遠隔操作者によって指定される操作を実施させることによって、条件を解決するための案内される軌道を実施する。そのため、自律車両は、非規範的動作状態(non-normative operational state)から移行することができる。
【0021】
図3Aは、いくつかの例による、センサおよび他の自律車両構成要素の例を示す図である。図300は、センサ、信号ルータ345、駆動系349、取り外し可能電池343、オーディオ生成器344(例えば、スピーカまたはトランスデューサ)、および自律車両(「AV」)制御論理347を含む双方向性自律車両330の内部図を示す。図300に示されているセンサは、他のセンサタイプおよび方式の中でも、画像キャプチャセンサ340(例えば、任意のタイプの光キャプチャデバイスまたはカメラ)、オーディオキャプチャセンサ342(例えば、任意のタイプのマイクロフォン)、レーダ(RADAR)デバイス348、ソナーデバイス341(または、超音波センサまたは音響関連センサを含む、他の同様のセンサ)、およびライダ(LIDAR)デバイス346を含む(慣性計測装置すなわち「IMU」、全地球測位システム(「GPS」)センサ、ソナーセンサなどのような、それらのいくつかは図示されていない)。四半部350は、双方向性自律車両330の4つの「四半部」の各々の対称性を表していることに留意されたい(例えば各四半部350は、図示されているものの他に、ホイール、駆動系349、同様のステアリングメカニズム、同様の構造的支持および部材などを含んでもよい)。図3Aに示されているように、同様のセンサが、各四半部350内の同様の位置に配置されてもよいが、任意の他の構成が実施されてもよい。各ホイールは、個々に、かつ互いに独立してステアリング可能であってもよい。また、取り外し可能電池343は、その場で充電するのではなく、スワップインおよびスワップアウトされることを促進するように構成されてもよく、それによって、電池343を充電する必要性に起因する休止時間が低減される、または、無視できることを保証する。自律車両コントローラ347aは、双方向性自律車両330内で使用されるものとして示されているが、自律車両コントローラ347aは、そのように限定されず、地上、空中、または海上を問わず、一方向性自律車両または任意の他のタイプの車両内で実施されてもよい。図3Aに示されているセンサの示されている、および、記述されている位置、位置、向き、量、およびタイプは、限定であるようには意図されておらず、そのため、任意の数およびタイプのセンサがあってもよく、任意のセンサが自律車両330上のいずれの場所に配置および方向付けされてもよいことに留意されたい。
【0022】
いくつかの実施形態によれば、自律車両(「AV」)制御論理347の部分は、グラフィックスプロセッシングユニット(「GPU」)のクラスタをプログラミングするのに適したフレームワークおよびプログラミングモデルを実施するGPUのクラスタを使用して実施されてもよい。例えば、compute unified device architecture(「CUDA」)に準拠したプログラミング言語およびアプリケーションプログラミングインターフェース(「API」)モデルが、GPUをプログラミングするために使用されてもよい。CUDA(商標)は、カリフォルニア州サンタクララ所在のNVIDIAによって製造および維持されている。OpenCL、または任意の他の並列プログラミング言語のような他のプログラミング言語が実施されてもよいことに留意されたい。
【0023】
いくつかの実施形態によれば、自律車両制御論理347は、動きコントローラ362、プランナ364、知覚エンジン366、およびローカライザ368を含むように示されている自律車両コントローラ347aとして、ハードウェアおよび/またはソフトウェアにおいて実施されてもよい。示されているように、自律車両コントローラ347aは、カメラデータ340a、ライダデータ346a、およびレーダデータ348a、または、ソナーデータ341a等を含む任意の他の範囲検知または位置特定データを受信するように構成されている。自律車両コントローラ347aはまた、GPSデータ352、IMUデータ354、および他の位置検知データ(例えば、ステアリング角度、角速度などのようなホイール関連データ)のような測位データを受信するようにも構成されている。さらに、自律車両コントローラ347aは、任意の他のセンサデータ356および基準データ339を受信してもよい。いくつかの事例において、基準データ339は、マップデータ(例えば、3Dマップデータ、2Dマップデータ、4Dマップデータ(例えば、エポック決定(Epoch Determination))を含む)およびルートデータ(例えば、限定ではないが、RNDFデータ(または同様のデータ)、MDFデータ(または同様のデータ))を含む道路網データなどを含む)。
【0024】
ローカライザ368は、GPSデータ352、ホイールデータ、IMUデータ354、ライダデータ346a、カメラデータ340a、レーダデータ348aなどのような1つまたは複数のソースからのセンサデータ、および基準データ339(例えば、3Dマップデータおよびルートデータ)を受信するように構成されている。ローカライザ368は、双方向性自律車両330の局所的場所(または位置)を決定するために、センサデータをマップデータと比較することによって、データを統合(例えば、センサデータを融合)および分析する。いくつかの実施形態によれば、ローカライザ368は、任意の自律車両の場所または位置(pose or position)をリアルタイムまたはほぼリアルタイムに生成または更新することができる。ローカライザ368およびその機能は、「双方向性」車両に限定される必要はなく、任意のタイプの任意の車両において実施されてもよいことに留意されたい。それゆえ、ローカライザ368(およびAVコントローラ347aの他の構成要素)は、「一方向性」車両または任意の非自律車両において実施されてもよい。いくつかの実施形態によれば、局所的位置を記述するデータは、x座標、y座標、z座標(または、極座標系または円筒座標系などを含む任意の座標系の任意の座標)、ヨー値、ロール値、ピッチ値(例えば、角度値)、レート(例えば、速度)、高度などのうちの1つまたは複数を含んでもよい。
【0025】
知覚エンジン366は、ライダデータ346a、カメラデータ340a、レーダデータ348aなどのような1つまたは複数のソースからのセンサデータ、および局所的位置データを受信するように構成されている。知覚エンジン366は、センサデータおよび他のデータに基づいて外部オブジェクトの位置を決定するように構成されてもよい。例えば、外部オブジェクトは、運転可能な表面の部分でないオブジェクトであってもよい。例えば、知覚エンジン366は、外部オブジェクトを、歩行者、自転車利用者、犬、他の車両などとして検出および分類することが可能であってもよい(例えば、知覚エンジン366は、ラベルを含む意味情報と関連付けられてもよい分類のタイプに従ってオブジェクトを分類するように構成される)。これらの外部オブジェクトの分類に基づいて、外部オブジェクトは、動的オブジェクトまたは静的オブジェクトとしてラベル付けされてもよい。例えば、樹木として分類されている外部オブジェクトは静的オブジェクトとしてラベル付けされてもよく、一方、歩行者として分類されている外部オブジェクトは、動的オブジェクトとしてラベル付けされてもよい。静的としてラベル付けされている外部オブジェクトは、マップデータにおいて記述されてもよく、または、記述されなくてもよい。静的としてラベル付けされる可能性がある外部オブジェクトの例は、道路を横切って配置されているセメント壁、車線閉鎖標識、新たに配置された郵便ポスト、または、道路に隣接するごみ箱などを含む。動的としてラベル付けされる可能性がある外部オブジェクトの例は、自転車利用者、歩行者、動物、他の車両などを含む。外部オブジェクトが動的としてラベル付けされ、外部オブジェクトに関するさらなるデータが、分類タイプと関連付けられた一般的なレベルの活動および速度、ならびに、挙動パターンを指示することができる場合。外部オブジェクトに関するさらなるデータは、外部オブジェクトを追跡することによって生成されてもよい。そのため、分類タイプは、外部オブジェクトが、例えば、プランニングされている経路に沿って走行している自律車両と干渉することがある尤度を予測または他の様態で決定するために使用されてもよい。例えば、歩行者として分類される外部オブジェクトは、(例えば、追跡データに基づいて)何らかの最大速度、および、平均速度と関連付けられてもよい。自律車両の速度に対する歩行者の速度は、衝突の可能性があるか否かを決定するために使用されることができる。さらに、知覚エンジン364は、オブジェクトの現在および未来の状態と関連付けられた不確定度を決定することができる。いくつかの例において、不確定度は、推定値(または確率)として表現されてもよい。
【0026】
プランナ364は、知覚エンジン366から知覚データを受信するように構成されており、また、ローカライザ368からのローカライザデータをも含むことができる。いくつかの例によれば、知覚データは、自律車両の近傍に配置されている静的オブジェクトおよび動的オブジェクトを指定する障害物マップを含むことができ、一方で、ローカライザデータは、局所的位置または位置を含むことができる。動作時、プランナ364は、多数の軌道を生成し、少なくとも、外部の動的オブジェクトおよび静的オブジェクトの相対位置に対する自律車両の位置に基づいて、軌道を評価する。プランナ364は、衝突のない走行を提供するように自律車両を誘導する最適な軌道を、様々な基準に基づいて選択する。いくつかの例において、プランナ364は、確率的に決定される軌道として軌道を計算するように構成されてもよい。さらに、プランナ364は、ステアリングおよび推進コマンド(ならびに減速またはブレーキコマンド)を動きコントローラ362に送信することができる。動きコントローラ362はその後、ステアリングコマンド、スロットルまたは推進コマンド、およびブレーキコマンドのようなコマンドのいずれかを、ステアリングまたはホイール角度および/または速度353の変更を実施するための制御信号(例えば、アクチュエータまたは他の機械的インターフェースに対する適用のための)に変換することができる。
【0027】
図3B図3Eは、いくつかの例による、センサフィールド冗長性およびセンサフィールドの喪失に対する自律車両の適合の例を示す図である。図3B図391は、センサ310aがオブジェクトを(例えば、範囲もしくは距離または他の情報を決定するために)検出するセンサフィールド301aを示す。センサ310aは、任意のタイプのセンサまたはセンサ方式(modality)を実施することができるが、センサ310a、ならびに、センサ310b、310c、および310dのような同様に記述されているセンサは、ライダデバイスを含んでもよい。それゆえ、センサフィールド301a、301b、301c、および301dは各々、レーザが延伸するフィールドを含む。図3C図392は、各々が対応するライダセンサ310(図示せず)によって生成される4つの重なり合うセンサフィールドを示す。示されているように、センサフィールドの部分301は、重なり合うセンサフィールドを含まず(例えば、単一のライダフィールド)、センサフィールドの部分302は、2つの重なり合うセンサフィールドを含み、部分303は3つの重なり合うセンサフィールドを含み、それによって、そのようなセンサは、ライダセンサが機能不全になった場合に複数レベルの冗長性を提供する。
【0028】
図3Dは、いくつかの例による、ライダ 309の動作が機能不全にされることに起因するセンサフィールドの喪失を示す。図3Cのセンサフィールド302は、単一のセンサフィールド305に変換されており、図3Cのセンサフィールド301のうちの1つは失われて間隙304になっており、図3Cのセンサフィールド303のうちの3つは、センサフィールド306に変換されている(すなわち、2つの重なり合うフィールドに限定される)。自律車両330cが進行方向396に走行している場合、動いている自律車両の正面のセンサフィールドは、後端位置にあるものよりもロバストでない場合がある。いくつかの例によれば、自律車両コントローラ(図示せず)は、車両の正面の前方領域におけるセンサフィールドの喪失に対処するために、自律車両330cの双方向性を活用するように構成されている。図3Eは、自律車両330dの正面のセンサフィールドの一定のロバスト性を回復するための双方向性操作を示す。示されているように、テールライト348と同延の(coextensive)よりロバストなセンサフィールド302が、車両330dの後部に配置されている。好都合な場合、自律車両330dは、私道397に寄ることによって双方向性操作を実施し、テールライト348が自律車両330dの他の側(例えば、後縁)にアクティブに切り替わるように、その双方向性を切り替える。示されているように、自律車両330dは、進行方向398に沿って走行しているときに、車両の正面のロバストなセンサフィールド302を回復する。さらに、上述した双方向性操作は、交通量の多い車道に戻ることを必要とするより複雑化された操作の必要性を取り除く。
【0029】
図4は、いくつかの例による、通信レイヤを介して自律車両コントローラに通信可能に結合されている自律車両サービスプラットフォームを含むシステムを示す機能ブロック図である。図400は、自律車両430に配置されている自律車両コントローラ(「AV」)447を示し、自律車両430は、自律車両コントローラ447に結合されているいくつかのセンサ470を含む。センサ470は、1つまたは複数のライダデバイス472、1つまたは複数のカメラ474、1つまたは複数のレーダ476、1つまたは複数の全地球測位システム(「GPS」)データ受信機-センサ、1つまたは複数の慣性計測装置(「IMU」)475、1つまたは複数のオドメトリセンサ477(例えば、ホイールエンコーダセンサ、ホイール速度センサなど)、および、赤外線カメラまたはセンサ、ハイパースペクトル対応センサ(hyperspectral-capable sensor)、超音波センサ(または任意の他の音響エネルギーに基づくセンサ)、無線周波数に基づくセンサなどのような、任意の他の適切なセンサ478を含む。いくつかの事例において、ホイールのステアリング角度を検知するように構成されているホイール角度センサが、オドメトリセンサ477または適切なセンサ478として含まれてもよい。非限定例において、自律車両コントローラ447は、4つ以上のライダ 472、16個以上のカメラ474および4つ以上のレーダユニット476を含んでもよい。さらに、センサ470は、自律車両コントローラ447の構成要素、および、自律車両サービスプラットフォーム401の要素にセンサデータを提供するように構成されてもよい。図400に示されているように、自律車両コントローラ447は、プランナ464と、動きコントローラ462と、ローカライザ468と、知覚エンジン466と、局所的マップジェネレータ440とを含む。図4図400に示されている要素は、1つまたは複数の他の図面に関連して記述されている、同様に名付けられている要素としての構造および/または機能を含むことができることに留意されたい。
【0030】
ローカライザ468は、マップデータ、ルートデータ(例えば、RNDFのようなデータのような、道路網データ)などを含んでもよい基準データに対して自律車両を位置特定する(すなわち、局所的位置を決定する)ように構成されている。いくつかの事例において、ローカライザ468は、例えば、環境の表現の特徴に対する自律車両430の位置を表現することができる、空間内のポイントを識別するように構成されている。ローカライザ468は、各個々のタイプのセンサに関係付けられる不確実性を低減するために(例えば、異なるセンサ方式の)センサデータの複数のサブセットを統合するように構成されてもよいセンサデータインテグレータ(sensor data integrator)469を含むように示されている。いくつかの例によれば、センサデータインテグレータ469は、局所的位置を決定するための統合されたセンサデータ値を形成するために、センサデータ(例えば、ライダデータ、カメラデータ、レーダデータなど)を融合するように構成されている。いくつかの例によれば、ローカライザ468は、2Dマップデータ、3Dマップデータ、4Dマップデータなどを記憶するためのマップデータリポジトリ405aを含む、基準データリポジトリ405から発生する基準データを取り出す。ローカライザ468は、自律車両430の位置を識別、または、他の様態で確認するためにマップデータと照合するために、環境内の特徴の少なくともサブセットを識別するように構成されてもよい。いくつかの例によれば、ローカライザ468は、特徴のセットが1つまたは複数の特徴、またはすべての特徴を含むことができるように、環境内の任意の量の特徴を識別するように構成されてもよい。特定の例において、任意の量のライダデータ(例えば、ほとんどのまたは実質的にすべてのライダデータ)が、位置特定の目的のためにマップを表現するデータと比較されてもよい。一般的に、環境特徴とマップデータとの比較からもたらされる一致しないオブジェクトは、車両、自転車利用者、歩行者などのような動的オブジェクトであってもよい。障害物を含む動的オブジェクトの検出は、マップデータを用いてまたは用いずに実施されてもよいことに留意されたい。特に、動的オブジェクトは、マップデータから独立して(すなわち、マップデータがない状態で)検出および追跡されてもよい。いくつかの事例において、2Dマップデータおよび3Dマップデータは、「グローバルマップデータ」、または、自律車両サービスプラットフォーム401によってある時点において認証されているマップデータとして考えられてもよい。マップデータリポジトリ405a内のマップデータは定期的に更新および/または認証されてもよいため、マップデータと、自律車両が位置決めされる実際の環境との間には逸脱が存在する場合がある。それゆえ、ローカライザ468は、位置特定を強化するために、局所的マップジェネレータ440によって生成される、局所的に導出されたマップデータを取り出すことができる。局所的マップジェネレータ440は、局所的マップデータをリアルタイムまたはほぼリアルタイムに生成するように構成されている。任意選択的に、局所的マップジェネレータ440は、例えば、位置特定において動的オブジェクトを無視することによって、局所的に生成されるマップの精度を強化するために、静的および動的オブジェクトマップデータを受信してもよい。少なくともいくつかの実施形態によれば、局所的マップジェネレータ440は、ローカライザ468と統合されてもよく、または、その部分として形成されてもよい。少なくとも1つの事例において、局所的マップジェネレータ440は、独立してまたはローカライザ468と協働してのいずれかで、simultaneous localization and mapping(「SLAM」)などに基づいてマップおよび/または基準データを生成するように構成されてもよい。ローカライザ468は、マップデータの使用に対する「混合」手法を実施することができ、それによって、ローカライザ468内の論理は、マップデータの各ソースの信頼度に応じて、マップデータリポジトリ405aからのマップデータまたは局所的マップジェネレータ440からの局所的マップデータのいずれかから様々な量のマップデータを選択するように構成されることができることに留意されたい。それゆえ、ローカライザ468は依然として、局所的に生成されるマップデータを考慮して古いマップデータを使用することができる。
【0031】
知覚エンジン466は、例えば、プランナ464が、自律車両430が移動している周囲環境内の対象のオブジェクトを識別することによってルートをプランニングし、軌道を生成するのを補助するように構成されている。さらに、対象のオブジェクトの各々と確率が関連付けられてもよく、それによって、確率は、対象のオブジェクトが安全な走行に対する脅威となることがある尤度を表現することができる(例えば、高速で動くオートバイは、新聞を読みながらバス停のベンチに座っている人よりも強化された追跡を必要とすることがある)。示されているように、知覚エンジン466は、オブジェクトディテクタ442およびオブジェクト分類器444を含む。オブジェクトディテクタ442は、環境内の他の特徴に対してオブジェクトを区別するように構成されており、オブジェクト分類器444は、オブジェクトを動的オブジェクトまたは静的オブジェクトのいずれかとして分類し、プランニングの目的のために、自律車両430に対する動的オブジェクトまたは静的オブジェクトの位置を追跡するように構成されることができる。さらに、知覚エンジン466は、静的または動的オブジェクトに、オブジェクトがプランナ464における経路プランニングに影響を与える可能性がある障害物である(またはそうなる可能性を有する)か否かを指定する識別子を割り当てるように構成されることができる。図4には示されていないが、知覚エンジン466はまた、セグメンテーションおよび追跡のような、他の知覚関連機能を実施することもできることに留意されたい。それらの例は後述する。
【0032】
プランナ464は、利用可能であるいくつかの経路またはルートを介して目的地に達するという目標を達成するためのいくつかの候補軌道を生成するように構成されている。軌道エバリュエータ(trajectory evaluator)465が、候補軌道を評価し、候補軌道のいずれのサブセットが目的地までの衝突のない経路を提供する最も高い程度の信頼水準と関連付けられるかを識別するように構成されている。そのため、軌道エバリュエータ465は、コマンドに、車両構成要素450(例えば、アクチュエータまたは他のメカニズム)に対する制御信号を生成させるための関連する基準に基づいて最適な軌道を選択することができる。関連する基準は、最適な軌道を規定する任意の数のファクタを含んでもよく、その選択は、衝突を低減することに限定される必要はないことに留意されたい。例えば、軌道の選択は、ユーザ経験(例えば、ユーザ快適性)、および、交通規制および法律に準拠する衝突のない軌道を最適化するように行われてもよい。ユーザ経験は、(例えば、けいれんのような走行または他の不快な動きを低減するために)様々な直線方向および角度方向における加速を加減することによって最適化されてもよい。いくつかの事例において、関連する基準の少なくとも部分は、最適化された衝突のない走行を維持しながら、他の基準のいずれに優越または優先すべきかを指定することができる。例えば、限定された状況において軌道を生成するときに(例えば、自転車利用者と併走するために二重黄色線を横断するとき、または、交通流量に合わせるために提示されている速度制限よりも高速で走行しているとき)、法的な制約は一時的に撤廃または緩和されてもよい。そのため、制御信号は、駆動系および/またはホイールにおける推進および方向の変化を引き起こすように構成される。この例において、動きコントローラ462は、コマンドを、自律車両430の移動を制御するための制御信号(例えば、速度、ホイール角度など)に変換するように構成されている。軌道エバリュエータ465が、衝突のない最適化された走行を提供するために十分に高い信頼水準を保証するためには不十分な情報を有する場合、プランナ464は、遠隔操作者404に対する、遠隔操作者の支持を求める要求を生成することができる。
【0033】
自律車両サービスプラットフォーム401は、遠隔操作者404(例えば、遠隔操作者コンピューティングデバイス)と、基準データリポジトリ405と、マップアップデータ(map updater)406と、車両データコントローラ408と、キャリブレータ409と、オフラインオブジェクト(off-line object)分類器410とを含む。自律車両サービスプラットフォーム401の各要素は、独立して配置または分散されてもよく、自律車両サービスプラットフォーム401内の他の要素と通信することができることに留意されたい。さらに、自律車両サービスプラットフォーム401の要素は、独立して、通信レイヤ402を介して自律車両430と通信することができる。マップアップデータ406は、マップデータ(例えば、局所的マップジェネレータ440、センサ460、または、自律車両コントローラ447の任意の他の構成要素からの)を受信するように構成されており、例えば、マップデータリポジトリ405a内のマップデータの、局所的に生成されるマップからの逸脱を検出するようにさらに構成されている。車両データコントローラ408は、マップアップデータ406に、リポジトリ405内の基準データを更新させ、2D、3D、および/または4Dマップデータに対する更新を促進することができる。いくつかの事例において、車両データコントローラ408は、局所的マップデータが自律車両サービスプラットフォーム408に受信されるレート、および、マップアップデータ406がマップデータの更新を実施する頻度を制御することができる。
【0034】
キャリブレータ409は、同じまたは異なるタイプの様々なセンサの較正を実施するように構成されている。キャリブレータ409は、センサの相対的な位置(例えば、デカルト空間(x、y、z)における)およびセンサの向き(例えば、ロール、ピッチおよびヨー)を決定するように構成されてもよい。カメラ、ライダセンサ、レーダセンサなどのようなセンサの位置および向きは、他のセンサに対して、および、全体的に車両の基準フレームに対して較正されてもよい。オフライン自己較正はまた、車両慣性テンソル、軸距、ホイール半径または路面摩擦のような他のパラメータを較正または推定することもできる。較正はまた、いくつかの例によれば、パラメータ変化を検出するためにオンラインで行われることもできる。また、キャリブレータ409による較正は、センサの内因性パラメータ(例えば、光学的歪み、ビーム角度など)および外因性パラメータを含んでもよいことに留意されたい。いくつかの事例において、キャリブレータ409は、例として、3Dレーザデータにおける深さの断絶と、画像データのエッジとの間の相関を最大化することによって実施されてもよい。オフラインオブジェクト分類器410は、センサデータのようなデータを、センサ470または自律車両コントローラ447の任意の他の構成要素から受信するように構成されている。いくつかの実施形態によれば、オフラインオブジェクト分類器410のオフライン分類パイプラインは、オブジェクトを事前にまとめ、(例えば、人間によって手動でおよび/またはオフラインラベル付けアルゴリズムを使用して自動的に)注釈を付けるように構成されてもよく、オンライン自律動作中にオブジェクトタイプのリアルタイムの分類を提供することができるオンライン分類器(例えば、オブジェクト分類器444)を訓練するようにさらに構成されてもよい。
【0035】
図5は、いくつかの実施形態による、自律車両を制御するためのフロー図の例である。502において、フロー500は、自律車両にある複数の方式のセンサから発生したセンサデータが、例えば、自律車両コントローラによって受信されるときに開始する。センサデータの1つまたは複数のサブセットは、例えば、推定値を改善するために融合されたデータを生成するために統合されてもよい。いくつかの例において、504において、(例えば、同じまたは異なる方式の)1つまたは複数のセンサのセンサストリームが、融合されたセンサデータを形成するために融合されてもよい。いくつかの例において、ライダセンサデータおよびカメラセンサデータのサブセットが、位置特定を促進するために、504において融合されてもよい。506において、センサデータの少なくとも2つのサブセットに基づいてオブジェクトを表現するデータが、プロセッサにおいて導出されてもよい。例えば、静的オブジェクトまたは動的オブジェクトを識別するデータが、少なくともライダおよびカメラデータから(例えば、知覚エンジンにおいて)導出されてもよい。508において、プランニングされている経路に影響を与える、検出されたオブジェクトが決定され、510において、検出されたオブジェクトに応答して、軌道のサブセットが(例えば、プランナにおいて)評価される。512において、自律車両の規範的動作(normative operation)と関連付けられた許容可能な信頼水準の範囲を超える信頼水準が決定される。それゆえ、この事例において、信頼水準は、最適化された経路を選択する確実性がより可能性が低く、それによって、最適化された経路が、衝突のない走行を促進し、交通法規に準拠し、快適なユーザ経験(例えば、快適な搭乗)を提供し、および/または、任意の他のファクタに基づいて候補軌道を生成する確率に応じて決定されることができるようであってもよい。そのため、514において、代替の経路を求める要求が、遠隔操作者コンピューティングデバイスに送信されてもよい。その後、遠隔操作者コンピューティングデバイスは、プランナに、自律車両が走行するようにされる最適な軌道を提供することができる。状況によっては、車両はまた、安全停止操作(例えば、自律車両を、危険の確率が相対的に低い位置に安全かつ自動的に停止させること)が最善の方策であると決定することもできる。フロー図の各部分はこのフロー図および本明細書における他のフロー図に示されている順序は、順次実施されてもよく、またはフロー図の任意の1つまたは複数の他の部分と並列に実施されてもよく、また、独立して実施されてもよく、または、フロー図の他の部分に依存して実施されてもよいため、様々な機能を直線的に実施するための要件を暗示するようには意図されていないことに留意されたい。
【0036】
図6は、いくつかの実施形態による、自律車両コントローラのアーキテクチャの例を示す図である。図600は、動きコントローラ処理662、プランナ処理664、知覚処理666、マッピング処理640、および位置特定処理668を含むいくつかの処理を示し、それらのうちのいくつかは、他の処理に関するデータを生成または受信してもよい。処理670および650のような他の処理は、自律車両の1つまたは複数の機械的構成要素との対話を促進することができる。例えば、知覚処理666、マッピング処理640、および位置特定処理668は、センサ670からセンサデータを受信するように構成されており、一方で、プランナ処理664および知覚処理666は、道路網データのようなルートデータを含むことができる案内データ606を受信するように構成されている。さらに図600について、位置特定処理668は、他のタイプのマップデータの中でも、マップデータ605a(すなわち、2Dマップデータ)、マップデータ605b(すなわち、3Dマップデータ)、および局所的マップデータ642を受信するように構成されている。例えば、位置特定処理668はまた、例えば、エポック決定を含むことができる、4Dマップデータのような他の形態のマップデータを受信することもできる。位置特定処理668は、局所的位置を表現する局所的位置データ641を生成するように構成されている。局所的位置データ641は、動きコントローラ処理662、プランナ処理664、および知覚処理666に提供される。知覚処理666は、静的および動的オブジェクトマップデータ667を生成するように構成されており、このマップデータは、プランナ処理664に送信されてもよい。いくつかの例において、静的および動的オブジェクトマップデータ667は、意味論的分類情報および予測されるオブジェクト挙動のような他のデータとともに送信されてもよい。プランナ処理664は、プランナ664によって生成されるいくつかの軌道を記述する軌道データ665を生成するように構成されている。動きコントローラ処理は、ステアリング角度および/または速度の変化を引き起こすためにアクチュエータ650に適用するための低レベルコマンドまたは制御信号を生成するために、軌道データ665を使用する。
【0037】
図7は、いくつかの実施形態による、自律車両の群との信頼可能な通信を維持するために冗長な通信チャネルを実施する自律車両サービスプラットフォームの例を示す図である。図700は、基準データジェネレータ705、車両データコントローラ702、自律車両群マネージャ703、遠隔操作者マネージャ707、シミュレータ740、およびポリシマネージャ742を含む自律車両サービスプラットフォーム701を示す。基準データジェネレータ705は、マップデータおよびルートデータ(例えば、RNDFデータ)を生成および修正するように構成されている。さらに、基準データジェネレータ705は、2Dマップデータリポジトリ720内の2Dマップにアクセスし、3Dマップデータリポジトリ722内の3Dマップにアクセスし、ルートデータリポジトリ724内のルートデータにアクセスするように構成されてもよい。エポック決定を含む4Dマップデータのような、他のマップ表現データおよびリポジトリが、いくつかの例において実施されてもよい。車両データコントローラ702は、様々な動作を実施するように構成されることができる。例えば、車両データコントローラ702は、チャネル770を介した通信の品質レベルに基づいて、自律車両の群とプラットフォーム701との間でデータが交換されるレートを変更するように構成されてもよい。帯域幅が制約されている期間中、例えば、データ通信は、自律車両730からの遠隔操作要求が、送達を保証するために高く優先順位付けされるように、優先順位付けされてもよい。さらに、特定のチャネルにとって利用可能な帯域幅に依存して、可変レベルのデータ抽象化が、チャネル770を介して車両ごとに送信されてもよい。例えば、ロバストなネットワーク接続の存在下では、全ライダデータ(例えば、実質的にすべてのライダデータであるが、またより少なくてもよい)が送信されてもよく、一方で、劣化されたまたは低速の接続の存在下では、データのより単純なまたはより抽象的な描写(例えば、関連付けられているメタデータを有する境界ボックスなど)が送信されてもよい。自律車両群マネージャ703は、電池電力の効率的な使用、走行時間、電池の低充電状態の間に自律車両730内の空調装置を使用することができるか否かなどを含む、複数の変数を最適化するように、自律車両730の派遣を調整するように構成されており、それらの変数のいずれかまたはすべては、自律車両サービスの動作と関連付けられた費用関数を最適化することを考慮して監視されてもよい。自律車両の群の走行の費用または時間を最小化する様々な変数を分析するためのアルゴリズムが実施されてもよい。さらに、自律車両群マネージャ703は、群のアップタイムを最大化することを考慮してサービススケジュールを適合させるために、自律車両および部品の在庫を維持する。
【0038】
遠隔操作者マネージャ707は、遠隔操作者708がそれを用いて入力を提供するいくつかの遠隔操作者コンピューティングデバイス704を管理するように構成されている。シミュレータ740は、1つまたは複数の自律車両730の動作、および、遠隔操作者マネージャ707と自律車両730との間の対話をシミュレートするように構成されている。シミュレータ740はまた、自律車両730に配置されているいくつかのセンサの動作(シミュレートされるノイズの導入を含む)をシミュレートすることもできる。さらに、シミュレートされた自律車両が合成環境に導入されることができ、それによって、シミュレートされたセンサが、シミュレートされたレーザ戻りのようなシミュレートされたセンサデータを受信することができるように、都市のような環境がシミュレートされることができる。シミュレータ740は、ソフトウェア更新および/またはマップデータの検証を含む、他の機能をも提供することができる。ポリシマネージャ742は、道路網を走行している間に自律車両が遭遇する様々な条件またはイベントを考慮して自律車両がそれによって挙動すべきであるデータ表現ポリシまたは規則を維持するように構成されている。いくつかの事例において、更新されたポリシおよび/または規則が、ポリシに対する変更を考慮して自律車両の群の安全な動作を確認するために、シミュレータ740においてシミュレートされてもよい。自律車両サービスプラットフォーム701の上述されている要素のいくつかが、以下においてさらに記述される。
【0039】
通信チャネル770は、自律車両の群730および自律車両サービスプラットフォーム701の間にネットワーク接続されている通信リンクを提供するように構成されている。例えば、通信チャネル770は、自律車両サービスを確実に動作させるために一定レベルの冗長性を保証するために、対応するサブネットワーク(例えば、771a~771n)を有する、いくつかの異なるタイプのネットワーク771、772、773、および774を含む。例えば、通信チャネル770内の異なるタイプのネットワークは、1つまたは複数のネットワーク771、772、773、および774の機能停止に起因する低減されたまたは喪失された通信の場合に、十分な帯域幅を保証するために、異なるセルラネットワークプロバイダ、異なるタイプのデータネットワークなどを含むことができる。
【0040】
図8は、いくつかの実施形態による、様々なアプリケーションの間でデータを交換するように構成されているメッセージングアプリケーションの例を示す図である。図800は、遠隔操作者マネージャに配置されている遠隔操作者アプリケーション801、および、自律車両に配置されている自律車両アプリケーション830を示し、それによって、遠隔操作者アプリケーション801および自律車両アプリケーション830は、ネットワーク871、872、および他のネットワーク873のような様々なネットワークを介した通信を促進するプロトコルを介してメッセージデータを交換する。いくつかの例によれば、通信プロトコルは、Object Management Group consortiumによって維持される仕様を有するData Distribution Service(商標)として実施されるミドルウェアプロトコルである。この通信プロトコルによれば、遠隔操作者アプリケーション801および自律車両アプリケーション830は、メッセージドメインに配置されているメッセージルータ854を含むことができ、メッセージルータは、遠隔操作者API 852とインターフェースするように構成されている。いくつかの例において、メッセージルータ854は、ルーティングサービスである。いくつかの例において、遠隔操作者アプリケーション801内のメッセージドメイン850aが、遠隔操作者識別子によって識別されてもよく、一方で、メッセージドメイン850bは、車両識別子と関連付けられたドメインとして識別されてもよい。遠隔操作者アプリケーション801内の遠隔操作者API 852は、遠隔操作者処理803a~803cとインターフェースするように構成されており、それによって、遠隔操作者処理803bは、自律車両識別子804と関連付けられ、遠隔操作者処理803cは、イベント識別子806(例えば、衝突のない経路のプランニングにとって問題になることがある交差点を指定する識別子)と関連付けられる。自律車両アプリケーション830内の遠隔操作者API 852は、検知アプリケーション842、知覚アプリケーション844、位置特定アプリケーション846、および制御アプリケーション848を含む自律車両オペレーティングシステム840とインターフェースするように構成されている。上記を考慮して、上述されている通信プロトコルは、本明細書において記述されているような遠隔操作を促進するために、データ交換を促進することができる。さらに、上述されている通信プロトコルは、1つまたは複数の自律車両および1つまたは複数の自律車両サービスプラットフォームの間のセキュアなデータ交換を提供するように適合されることができる。例えば、メッセージルータ854は、例えば、遠隔操作者処理803と自律車両オペレーティングシステム840との間の安全確保された対話を提供するためのメッセージを暗号化および解読するように構成されることができる。
【0041】
図9は、いくつかの例による、図8に記述されている通信プロトコルを使用した遠隔操作を促進するためのデータのタイプを示す図である。図900は、1つまたは複数のネットワーク971において実施される、データ処理を中心とするメッセージングバス972を介してデータを交換するように構成されている、遠隔操作者アプリケーション901に結合されている遠隔操作者コンピューティングデバイス904とインターフェースする遠隔操作者908を示す。データ処理を中心とする(data centric)メッセージングバス972は、遠隔操作者アプリケーション901と自律車両アプリケーション930との間の通信リンクを提供する。遠隔操作者アプリケーション901の遠隔操作者API 962は、メッセージサービス構成データ964、および、道路網データ(例えば、RNDFのようなデータ)、ミッションデータ(例えば、MDFデータ)などのようなルートデータ960を受信するように構成されている。同様に、メッセージングサービスブリッジ932も、メッセージングサービス構成データ934を受信するように構成されている。メッセージングサービス構成データ934および964は、遠隔操作者アプリケーション901と自律車両アプリケーション930との間のメッセージングサービスを構成するための構成データを提供する。メッセージングサービス構成データ934および964の例は、Data Distribution Service(商標)アプリケーションを構成するために実施されるサービス品質(「QoS」)構成データを含む。
【0042】
通信プロトコルを介した遠隔操作を促進するためのデータ交換の例が以下のように記述される。自律車両コントローラの知覚システムによって、障害物データ920が生成されると考える。さらに、候補軌道のサブセットを遠隔操作者に通知するためのプランナ選択肢データ924がプランナによって生成され、位置データ926がローカライザによって生成される。障害物データ920、プランナ選択肢データ924、および位置データ926は、メッセージングサービスブリッジ932に送信され、メッセージングサービスブリッジ932は、メッセージサービス構成データ934に従って、テレメトリデータ940およびクエリデータ942を生成し、これらは両方とも、テレメトリデータ950およびクエリデータ952として、データ処理を中心とするメッセージングバス972を介して遠隔操作者アプリケーション901に送信される。遠隔操作者API 962は、テレメトリデータ950および問い合わせデータ952を受信し、これらのデータは、ルートデータ960およびメッセージサービス構成データ964を考慮して処理される。結果もたらされるデータは、その後、遠隔操作者コンピューティングデバイス904および/または協働ディスプレイ(collaborative display)(例えば、協働する遠隔操作者908のグループに見えるダッシュボードディスプレイ)を介して遠隔操作者908に提示される。遠隔操作者908は、遠隔操作者コンピューティングデバイス904のディスプレイ上に提示される候補軌道選択肢を検討し、案内される軌道を選択し、これは、コマンドデータ982およびクエリ応答データ980を生成し、これらは両方とも、クエリ応答データ954およびコマンドデータ956として、遠隔操作者API 962を通過される。その後、クエリ応答データ954およびコマンドデータ956は、クエリ応答データ944およびコマンドデータ946として、データ処理を中心とするメッセージングバス972を介して自律車両アプリケーション930に送信される。メッセージングサービスブリッジ932は、クエリ応答データ944およびコマンドデータ946を受信し、遠隔操作者コマンドデータ928を生成し、これは、遠隔操作者によって選択された軌道を、プランナによる実施のために生成するように構成されている。上述されているメッセージング処理は、限定であるようには意図されておらず、他のメッセージングプロトコルも実施されてもよいことに留意されたい。
【0043】
図10は、いくつかの実施形態による、遠隔操作者が経路プランニングに影響を与えることができる遠隔操作者インターフェースの例を示す図である。図1000は、遠隔操作を促進するように構成されている遠隔操作者マネージャ1007を含む、自律車両サービスプラットフォーム1001と通信する自律車両1030の例を示す。第1の例において、遠隔操作者マネージャ1007は、遠隔操作者1008が前もって課題に対処することが可能であることができるように、遠隔操作者1008に、可能性のある障害物に接近している自律車両の経路、または、プランナ信頼水準の低い領域を前もって見るように要求するデータを受信する。例示のために、自律車両が接近している交差点が、問題があるものとしてタグ付けされてもよいと考える。そのため、ユーザインターフェース1010は、プランナによって生成されるいくつかの軌道によって予測されている、経路1012に沿って移動している対応する自律車両1030の表現1014を表示する。また、プランナにおいて十分な混乱を引き起こす可能性があり、それによって遠隔操作者の支持を必要とする、他の車両1011、および、歩行者のような動的オブジェクト1013も表示される。ユーザインターフェース1010はまた、遠隔操作者1008に、現在の速度1022、速度制限1024、および現在の電池内の充電量1026も提示する。いくつかの例によれば、ユーザインターフェース1010は、自律車両1030から取得されるものとしてのセンサデータのような他のデータを表示してもよい。第2の例において、プランナ1064が、検出されている未確認オブジェクト1046にもかかわらず、プランナによって生成された経路1044と同延であるいくつかの軌道が生成されていると考える。プランナ1064はまた、候補軌道1040のサブセットをも生成してもよいが、この例では、プランナは、現在の信頼水準を所与として進行することは不可能である。プランナ1064が代替の経路を決定することができない場合、遠隔操作者要求が送信されてもよい。この事例において、遠隔操作者は、遠隔操作者に基づく経路1042と一致する自律車両1030による走行を促進するために、候補軌道1040のうちの1つを選択することができる。
【0044】
図11は、いくつかの例による、遠隔操作を呼び出すように構成されているプランナの例を示す図である。図1100は、地形マネージャ(topography manager)1110、ルートマネージャ1112、経路ジェネレータ(path generator)1114、軌道エバリュエータ1120、および軌道トラッカ1128を含むプランナ1164を示す。地形マネージャ1110は、地形学的特徴を指定する3Dマップデータまたは他の同様のマップデータのようなマップデータを受信するように構成されている。地形マネージャ1110は、目的地までの経路上の地形学関連特徴に基づいて候補経路を識別するようにさらに構成されている。様々な例によれば、地形マネージャ1110は、群内の1つまたは複数の自律車両と関連付けられたセンサによって生成される3Dマップを受信する。ルートマネージャ1112は、目的地までの経路として選択されてもよい1つまたは複数のルートと関連付けられた交通関連情報を含むことができる、環境データ1103を受信するように構成されている。経路ジェネレータ1114は、地形マネージャ1110およびルートマネージャ1112からデータを受信し、自律車両を目的地に向けて誘導するのに適した1つまたは複数の経路または経路セグメントを生成する。1つまたは複数の経路または経路セグメントを表現するデータは、軌道エバリュエータ1120に送信される。
【0045】
軌道エバリュエータ1120は、状態・イベントマネージャ(state and event manager)1122を含み、状態・イベントマネージャ1122は、信頼水準ジェネレータ1123を含むことができる。軌道エバリュエータ1120は、案内される軌道のジェネレータ(guided trajectory generator)1126および軌道ジェネレータ(trajectory generator)1124をさらに含む。さらに、プランナ1164は、ポリシデータ1130、知覚エンジンデータ1132、およびローカライザデータ1134を受信するように構成されている。
【0046】
ポリシデータ1130は、いくつかの例によれば、それをもって軌道を生成すべき十分な信頼水準を有する経路を決定するためにプランナ1164が使用する基準を含むことができる。ポリシデータ1130の例は、軌道生成が外部オブジェクトまでの離れた距離によって抑制されることを指定するポリシ(例えば、可能な限り、自転車利用者から3フィートの安全緩衝を維持すること)、または、軌道が中央の二重黄色線をまたいではならないことを要求するポリシ、または、(例えば、一般的にバス停に最も近い車線に集中することのような、過去のイベントに基づいて)4車線道路においては軌道が単一車線に限定されることを必要とするポリシ、および、ポリシによって指定される任意の他の同様の基準を含む。知覚エンジンデータ1132は、対象の静的オブジェクトおよび動的オブジェクトの位置のマップを含み、ローカライザデータ1134は、少なくとも局所的位置または位置を含む。
【0047】
状態・イベントマネージャ1122は、自律車両の動作状態を確率論的に決定するように構成されることができる。例えば、第1の動作状態(すなわち、「規範的動作」)は、軌道が衝突のないものである状況を記述することができ、一方で、第2の動作状態(すなわち、「非規範的動作」)は、可能性のある軌道と関連付けられた信頼水準が、衝突のない走行を保証するには不十分である別の状況を記述することができる。いくつかの例によれば、状態・イベントマネージャ1122は、規範的または非規範的である自律車両の状態を決定するために、知覚データ1132を使用するように構成されている。信頼水準ジェネレータ1123は、自律車両の状態を決定するために、知覚データ1132を分析するように構成されることができる。例えば、信頼水準ジェネレータ1123は、プランナ1164が安全な方策を決定しているという確度を強化するために、静的オブジェクトおよび動的オブジェクトと関連付けられた意味情報、および、関連付けられた確率推定を使用することができる。例えば、プランナ1164は、プランナ1164が安全に動作しているか否かを決定するために、オブジェクトが人間である、または、人間でない確率を指定する知覚エンジンデータ1132を使用することができる(例えば、プランナ1164は、オブジェクトが、98%の人間である確率、および、オブジェクトが人間でないという2%の確率を有する確度を受信することができる)。
【0048】
信頼水準(例えば、統計および確率論的決定に基づく)が、予測される安全動作に必要とされる閾値を下回るという決定を受けて、相対的に低い信頼水準(例えば、単一の確率スコア)が、自律車両サービスプラットフォーム1101に遠隔操作者の支持を求める要求1135を送信するようにプランナ1164をトリガすることができる。いくつかの事例において、テレメトリデータおよび候補軌道のセットが、この要求に付随してもよい。テレメトリデータの例は、センサデータ、位置特定データ、知覚データなどを含む。遠隔操作者1108は、選択された軌道1137を、遠隔操作者コンピューティングデバイス1104を介して、案内される軌道のジェネレータ1126に送信することができる。そのため、選択された軌道1137は、遠隔操作者からの案内によって形成される軌道である。状態に変化がないという確認を受けて(例えば、非規範的状態が未決)、案内される軌道のジェネレータ1126は、軌道ジェネレータ1124にデータを渡し、軌道ジェネレータ1124は、軌道トラッカ1128に、軌道追跡コントローラとして、制御信号1170(例えば、ステアリング角度、速度など)を生成するために、遠隔操作者によって指定される軌道を使用させる。プランナ1164は、状態が非規範的状態に移行する前に、遠隔操作者の支持を求める要求1135の送信をトリガすることができることに留意されたい。特に、自律車両コントローラおよび/またはその構成要素は、離れた障害物に問題となることがあることを予測し、前もって、プランナ1164に、自律車両が障害物に達する前に遠隔操作を呼び出させることができる。そうでない場合、自律車両は、障害物またはシナリオへの遭遇を受けて安全状態に移行すること(例えば、路肩に寄り、停車すること)によって、遅延を引き起こすことができる。別の例において、遠隔操作は、ナビゲートすることが困難であることが分かっている特定の位置に自律車両が接近する前に、自動的に呼び出されてもよい。そのような状況が、センサ読み値、および様々なソースから導出される交通または事故データの信頼性に対する外乱を引き起こす可能性がある場合、この決定は、任意選択的に、時刻、太陽の位置を含む他のファクタを考慮に入れてもよい。
【0049】
図12は、いくつかの実施形態による、自律車両を制御するように構成されているフロー図の例である。1202において、フロー1200が開始する。オブジェクトのサブセットを表現するデータが自律車両内のプランナにおいて受信され、オブジェクトのサブセットは、分類タイプの確度を表現するデータと関連付けられた少なくとも1つのオブジェクトを含む。例えば、知覚エンジンデータは、オブジェクトと関連付けられたメタデータを含むことができ、それによって、メタデータは、特定の分類タイプと関連付けられた確度を指定する。例えば、動的オブジェクトは、正確であるという85%の信頼水準をもって「若い歩行者」として分類されてもよい。1204において、ローカライザデータが(例えば、プランナにおいて)受信されてもよい。ローカライザデータは、自律車両内で局所的に生成されるマップデータを含むことができる。局所的マップデータは、一定の地理的領域においてイベントが発生することがある確度(不確度を含む)を指定することができる。イベントは、自律車両の動作に影響を与えるか、または、動作に影響を与える可能性がある条件または状況であってもよい。イベントは、自律車両の内部(例えば、機能不全にされたまたは機能が損なわれたセンサ)または外部(例えば、道路の閉塞)であってもよい。イベントの例は、図2ならびに他の図面および節など、本明細書において記述されている。対象の地理的領域と同延の経路が、1206において決定されてもよい。例えば、イベントが、ラッシュアワーの交通状態の間に太陽光が運転者の視覚の機能を損なう時刻における、空における太陽の位置付けであると考える。そのため、交通は、明るい太陽光に応答して減速することがあると予想または予測される。したがって、プランナは、イベントを回避するための代替の経路の可能性が低い場合、前もって遠隔操作を呼び出すことができる。1208において、プランナにおいて、局所的位置データに基づいて局所的位置が決定される。1210において、例えば、分類タイプの確度、および、速度、位置、および他の状態情報のような任意の数のファクタに基づくことができるイベントの確度に基づいて、自律車両の動作状態が(例えば、確率論的に)決定されてもよい。例示のために、他の運転者の視覚が太陽によって機能を損なわれる可能性があり、それによって、若い歩行者にとって安全でない状況が引き起こされるイベントの間に、自律車両によって若い歩行者が検出される例を考える。それゆえ、相対的に安全でない状況が、発生する可能性がある確率論的なイベント(すなわち、遠隔操作者が呼び出される可能性がある安全でない状況)として検出されてもよい。1212において、動作状態が規範的状態である尤度が決定され、この決定に基づいて、次の動作状態への移行に前もって備える(例えば、規範的動作状態から、安全でない動作状態のような非規範的動作状態への移行に前もって備える)ように、遠隔操作者に要求するメッセージが、遠隔操作者コンピューティングデバイスに送信される。
【0050】
図13は、いくつかの例による、プランナが軌道を生成することができる例を示す図である。図1300は、軌道エバリュエータ1320および軌道ジェネレータ1324を含む。軌道エバリュエータ1320は、信頼水準ジェネレータ1322および遠隔操作者クエリマネージャ1329を含む。示されているように、軌道エバリュエータ1320は、静的マップデータ1301、ならびに現在のおよび予測されるオブジェクト状態のデータ1303を受信するために、知覚エンジン1366に結合されている。軌道エバリュエータ1320はまた、ローカライザ1368からの局所的位置データ1305およびグローバルプランナ(global planner)1369からのプランデータ1307をも受信する。1つの動作状態(例えば、非規範的)において、信頼水準ジェネレータ1322は、静的マップデータ1301、ならびに現在のおよび予測されるオブジェクト状態のデータ1303を受信する。このデータに基づいて、信頼水準ジェネレータ1322は、検出された軌道が、許容不可能な信頼水準値と関連付けられることを決定することができる。そのため、信頼水準ジェネレータ1322は、遠隔操作者クエリマネージャ1329を介して遠隔操作者に通知するために、検出された軌道データ1309(例えば、候補軌道を含むデータ)を送信し、遠隔操作者クエリマネージャ1329は、遠隔操作者の支援を求める要求1370を送信する。
【0051】
別の動作状態(例えば、規範的状態)において、静的マップデータ1301、現在のおよび予測されるオブジェクト状態のデータ1303、局所的位置データ1305、およびプランデータ1307(例えば、グローバルプランデータ)が軌道カリキュレータ1325に受信され、軌道カリキュレータ1325は、最適な1つまたは複数の経路を決定するために、軌道を(例えば、反復的に)計算するように構成されている。次に、少なくとも1つの経路が選択され、選択された経路のデータ1311として送信される。いくつかの実施形態によれば、軌道カリキュレータ1325は、例として軌道の再プランニングを実施するように構成されている。公称運転軌道ジェネレータ(nominal driving trajectory generator)1327が、receding horizon制御技法に基づいて軌道を生成することによってのような、洗練された手法において軌道を生成するように構成されている。公称運転軌道ジェネレータ1327はその後、公称運転軌道経路データ1372を、例えば、ステアリング、加速の物理的変更を実施するための軌道トラッカまたは車両コントローラ、および他の構成要素に送信することができる。
【0052】
図14は、いくつかの実施形態による、自律車両サービスプラットフォームの別の例を示す図である。図1400は、遠隔操作者1408の間の対話および/または通信を管理するように構成されている遠隔操作者マネージャ1407、遠隔操作者コンピューティングデバイス1404、ならびに自律車両サービスプラットフォーム1401の他の構成要素を含む自律車両サービスプラットフォーム1401を示す。さらに図1400について、自律車両サービスプラットフォーム1401は、シミュレータ1440、リポジトリ1441、ポリシマネージャ1442、基準データアップデータ1438、2Dマップデータリポジトリ1420、3Dマップデータリポジトリ1422、およびルートデータリポジトリ1424を含む。4Dマップデータ(例えば、エポック決定を使用する)のような他のマップデータが実施され、リポジトリ(図示せず)に記憶されてもよい。
【0053】
遠隔操作者行動推奨コントローラ(teleoperator action recommendation controller)1412は、遠隔操作者の支援を求める要求ならびにテレメトリデータおよび他のデータを含むことができる自律車両(「AV」)プランナデータ1472を介して遠隔操作サービス要求を受信および/または制御するように構成されている論理を含む。そのため、プランナデータ1472は、遠隔操作者1408が遠隔操作者コンピューティングデバイス1404を介してそこから選択することができる、推奨される候補軌道または経路を含むことができる。いくつかの例によれば、遠隔操作者行動推奨コントローラ1412は、そこから最適な軌道を選択すべきである、推奨される候補軌道の他のソースにアクセスするように構成されることができる。例えば、自律車両プランナデータ1472に含まれる候補軌道は、並列に、シミュレータ1440に導入されてもよく、シミュレータ1440は、遠隔操作者の支援を要求している自律車両によって経験されているイベントまたは条件をシミュレートするように構成されている。シミュレータ1440は、マップデータ、および、候補軌道のセットに関するシミュレーションを実施するために必要な他のデータにアクセスすることができ、それによって、シミュレータ1440は、十分性を確認するためにシミュレーションを徹底的に繰り返す必要がない。むしろ、シミュレータ1440は、候補軌道の妥当性を確認してもよく、または、そうでなければ遠隔操作者に、それらの選択に注意するよう警告することができる。
【0054】
遠隔操作者対話キャプチャアナライザ(teleoperator interaction capture analyzer)1416は、大量の遠隔操作者トランザクションまたは対話を、リポジトリ1441に記憶するためにキャプチャするように構成されることができ、リポジトリ1441は、例えば、少なくともいくつかの事例において、いくつかの遠隔操作者トランザクションに関係するデータを、ポリシの分析および生成のために累積することができる。いくつかの実施形態によれば、リポジトリ1441はまた、ポリシマネージャ1442によるアクセスのためにポリシデータを記憶するように構成されることもできる。さらに、遠隔操作者対話キャプチャアナライザ1416は、遠隔操作者の支援を求める要求を引き起こすイベントまたは条件にいかに最良に応答すべきかを経験的に決定するために、機械学習技法を適用することができる。いくつかの事例において、ポリシマネージャ1442は、(例えば、機械学習技法の適用後に)遠隔操作者対話の大きなセットの分析に応答して、特定のポリシを更新し、または、新たなポリシを生成するように構成されることができる。ポリシマネージャ1442は、自律車両コントローラおよびその構成要素が、車両の自律動作に準拠するためにそれに基づいて動作する規則またはガイドラインとして考えられてもよいポリシを管理する。いくつかの事例において、修正または更新されたポリシが、そのようなポリシ変更を永続的にリリースまたは実施することの有効性を確認するために、シミュレータ1440に適用されてもよい。
【0055】
シミュレータインターフェースコントローラ1414は、シミュレータ1440と遠隔操作者コンピューティングデバイス1404との間のインターフェースを提供するように構成されている。例えば、自律車両の群からのセンサデータが、自律(「AV」)群データ1470を介して基準データアップデータ1438に適用され、それによって、基準データアップデータ1438が更新されたマップおよびルートデータ1439を生成するように構成されると考える。いくつかの実施態様において、更新されたマップおよびルートデータ1439は、事前に、マップデータリポジトリ1420および1422内のデータに対する更新として、または、ルートデータリポジトリ1424内のデータに対する更新としてリリースされることができる。この事例において、そのようなデータは、例えば、事前に更新されている情報を含むマップタイルが自律車両によって使用されるときに、遠隔操作者サービスを要求するためのより低い閾値が実施されてもよい「ベータバージョン」であるものとしてタグ付けされてもよい。さらに、更新されたマップおよびルートデータ1439は、更新されたマップデータを検証するためにシミュレータ1440に導入されてもよい。(例えば、ベータ試験の終了時の)全リリースを受けて、遠隔操作者サービスを要求するための以前に下げられていた閾値はキャンセルされる。ユーザインターフェースグラフィックスコントローラ1410は、豊富なグラフィックスを遠隔操作者1408に提供し、それによって、自律車両の群が、シミュレータ1440内でシミュレートされることができ、シミュレートされている自律車両の群があたかも現実であるかのように、遠隔操作者コンピューティングデバイス1404を介してアクセスされることができる。
【0056】
図15は、いくつかの実施形態による、自律車両を制御するためのフロー図の例である。1502において、フロー1500が開始する。自律車両の群を管理するためのメッセージデータが、遠隔操作者コンピューティングデバイスにおいて受信されてもよい。メッセージデータは、自律車両のプランニングされている経路の文脈において非規範的動作状態と関連付けられたイベント属性を指示することができる。例えば、イベントは、例えば信号機に違反して急いで通りを渡っている多数の歩行者に起因して問題になる特定の交差点として特性化されてもよい。イベント属性は、例えば、通りを渡っている人間の数、増大した数の歩行者からもたらされる交通遅延などのようなイベントの特性を記述する。1504において、遠隔操作リポジトリは、自律車両のグループと関連付けられた、集約されているデータのシミュレートされている動作に基づいて、推奨の第1のサブセットを取り出すためにアクセスされることができる。この事例において、シミュレータは、それをもって遠隔操作者が実施することができる推奨のソースであってもよい。さらに、遠隔操作リポジトリはまた、同様のイベント属性に応答した遠隔操作者対話の集約に基づいて、推奨の第2のサブセットを取り出すためにアクセスされることもできる。特に、遠隔操作者対話キャプチャアナライザは、遠隔操作者の支援を求める以前の要求に基づいて同様の属性を有するイベントにいかに最良に応答すべきかを経験的に決定するために、機械学習技法を適用することができる。1506において、推奨の第1のサブセットおよび第2のサブセットが、自律車両に対する推奨される方策のセットを形成するために、組み合わされる。1508において、推奨される方策のセットの表現が、遠隔操作者コンピューティングデバイスのディスプレイ上に、視覚的に提示されることができる。1510において、推奨される方策の選択(例えば、遠隔操作者による)を表現するデータ信号が検出されることができる。
【0057】
図16は、いくつかの例による、群最適化マネージャを実施する自律車両群マネージャの例の図である。図1600は、道路網1650内を移動する自律車両の群1630を管理するように構成されている自律車両群マネージャを示す。自律車両群マネージャ1603は、遠隔操作者コンピューティングデバイス1604を介して遠隔操作者1608に結合されており、また、群管理データリポジトリ1646にも結合されている。自律車両群マネージャ1603は、ポリシデータ1602および環境データ1606、ならびに他のデータを受信するように構成されている。さらに図1600について、群最適化マネージャ1620は、移動要求プロセッサ1631を含むように示されており、移動要求プロセッサ1631は、群データエクストラクタ(fleet data extractor)1632および自律車両派遣最適化カリキュレータ1634を含む。移動要求プロセッサ1631は、自律車両サービスを要求しているユーザ1688からのもののような、移動要求を処理するように構成されている。群データエクストラクタ1632は、群内の自律車両に関係するデータを抽出するように構成されている。各自律車両と関連付けられたデータはリポジトリ1646に記憶されている。例えば、各車両に関するデータは、保守管理課題、スケジュールされているサービス依頼、日常の使用状況、電池充電および放電率、および任意の他のデータを記述することができ、これらは、リアルタイムに更新されることができ、休止時間を最小化するために自律車両の群を最適化する目的のために使用されることができる。自律車両派遣最適化カリキュレータ1634は、抽出されたデータを分析し、ステーション1652などからの派遣される次の車両が、自律車両サービスについて、集合の中で最小の走行時間および/または費用を提供することを保証するように、群の最適化された使用状況を計算するように構成されている。
【0058】
群最適化マネージャ1620は、混合自律車両/非自律車両プロセッサ1640を含むように示されており、混合自律車両/非自律車両プロセッサ1640は、AV/非AV最適化カリキュレータ1642および非AVセレクタ1644を含む。いくつかの例によれば、混合自律車両/非自律車両プロセッサ1640は、自律車両および人間によって運転される車両(例えば、独立請負人としての)からなる混合群を管理するように構成されている。そのため、自律車両サービスは、過剰な需要を満たすために、または、地理上のフェンスを越える場合がある非AVサービス領域1690のような領域、または、不満足な通信カバレージの領域において非自律車両を利用することができる。AV/非AV最適化カリキュレータ1642は、自律車両群の使用状況を最適化し、非AV運転者を輸送サービスに(例えば、自律車両サービスに対する損害を最小限にして、または、損害がまったくないように)招聘するように構成されている。非AVセレクタ1644は、AV/非AV最適化カリキュレータ1642によって導出される計算に基づいて、支援するための非AV運転者の数を選択するための論理を含む。
【0059】
図17は、いくつかの実施形態による、自律車両の群を管理するためのフロー図の例である。1702において、フロー1700が開始する。1702において、ポリシデータが受信される。ポリシデータは、移動要求にサービスするために自律車両を選択するためにいかに最良に適用するかを規定するパラメータを含むことができる。1704において、リポジトリからの群管理データが抽出されてもよい。群管理データは、自律車両のプールに関するデータのサブセットを含む(例えば、データは、輸送要求にサービスするために車両の準備ができているかを記述する)。1706において、移動要求を表現するデータが受信される。例示的な目的のために、移動要求は、第1の地理的位置から第2の地理的位置への輸送手段に対するものであってもよい。1708において、ポリシデータに基づく属性が、要求にサービスするために利用可能である自律車両のサブセットを決定するために計算される。例えば、属性は、電池充電レベル、および、次にスケジュールされている保守管理までの時間を含んでもよい。1710において、自律車両が、第1の地理的位置から第2の地理的位置への輸送手段として選択され、自律車両を、移動要求の起点と関連付けられた第3の地理的位置に派遣するためのデータが生成される。
【0060】
図18は、いくつかの実施形態による、自律車両通信リンクマネージャを実施する自律車両群マネージャを示す図である。図1800は、「低減された通信の領域」1880として識別される通信機能停止と一致する道路網1850内を移動する自律車両の群1830を管理するように構成されている自律車両群マネージャを示す。自律車両群マネージャ1803は、遠隔操作者コンピューティングデバイス1804を介して遠隔操作者1808に結合されている。自律車両群マネージャ1803は、ポリシデータ1802および環境データ1806、ならびに他のデータを受信するように構成されている。さらに図1800について、自律車両通信リンクマネージャ1820が、環境イベントディテクタ(environment event detector)1831、ポリシ適合デタミネータ1832、および移動要求プロセッサ1834を含むように示されている。環境イベントディテクタ1831は、自律車両サービスが実施されている環境内の変化を指定する環境データ1806を受信するように構成されている。例えば、環境データ1806は、領域1880が劣化した通信サービスを有し、これによって自律車両サービスに影響を与える可能性があることを指定することができる。ポリシ適合デタミネータ(policy adaption determinator)1832は、そのようなイベントの間に(例えば、通信の喪失の間に)移動要求を受信するときに適用すべきパラメータを指定することができる。移動要求プロセッサ1834は、劣化した通信を考慮して移動要求を処理するように構成されている。この例において、ユーザ1888が、自律車両サービスを要求している。さらに、移動要求プロセッサ1834は、不満足な通信に起因する複雑化を回避するように自律車両が派遣される方法を修正するための、適合されたポリシを適用するための論理を含む。
【0061】
通信イベントディテクタ1840が、ポリシダウンロードマネージャ1842と、通信設定された(「COMM設定された」)AVディスパッチャ1844とを含む。ポリシダウンロードマネージャ1842は、低減された通信の領域1880を考慮して自律車両1830に更新されたポリシを提供するように構成されており、それによって、更新されたポリシは、自律車両が領域1880に入る場合に、その領域を迅速に出るためのルートを指定することができる。例えば、自律車両1864は、領域1880に入る前の時点で、更新されたポリシを受信することができる。通信の喪失を受けて、自律車両1864は、更新されたポリシを実施し、領域1880から迅速に出るためのルート1866を選択する。COMM設定されたAVディスパッチャ1844は、領域1880にわたるピアツーピアネットワークの確立に対する中継装置として構成される、自律車両を駐車するためのポイント1865を識別するように構成されることができる。そのため、COMM設定されたAVディスパッチャ1844は、ピアツーピアアドホックネットワークにおける電波塔として動作する目的のために、位置1865に駐車するために自律車両1862(搭乗者なし)を派遣するように構成されている。
【0062】
図19は、いくつかの実施形態による、劣化または喪失した通信のようなイベント中の自律車両に対するアクションを決定するためのフロー図の例である。1901において、フロー1900が開始する。ポリシデータが受信され、それによって、ポリシデータは、イベント中に地理的領域における移動要求に適用するためのパラメータを規定する。1902において、以下のアクションのうちの1つまたは複数が実施されてもよい。(1)その地理的位置の部分内の地理的位置に自律車両のサブセットを派遣する。自律車両のサブセットは、特定の地理的位置に駐車し、各々が静的通信中継装置としての役割を果たすか、または、各々が移動通信中継装置としての役割を果たすために、地理的領域内で移動する。(2)その地理的領域の部分と関連付けられた自律車両のプールの部分の間でピアツーピア通信を実施する。(3)イベント中のその地理的領域の部分を脱出するためのルートを記述するイベントポリシを、自律車両に提供する。(4)遠隔操作を呼び出す。および(5)その地理的領域を回避するように、経路を再計算する。アクションの実施後、1914において、その自律車両の群が監視される。
【0063】
図20は、いくつかの実施形態による、ローカライザの例を示す図である。図2000は、ライダデータ2072、カメラデータ2074、レーダデータ2076、および他のデータ2078のような、センサ2070からのセンサデータを受信するように構成されているローカライザ2068を含む。さらに、ローカライザ2068は、2Dマップデータ2022、3Dマップデータ2024、および3D局所的マップデータのような基準データ2020を受信するように構成されている。いくつかの例によれば、対応するデータ構造およびリポジトリを含む、4Dマップデータ2025および意味論的マップデータ(図示せず)のような他のマップデータも、実施されてもよい。さらに図2000について、ローカライザ2068は、位置決めシステム2010および位置特定システム2012を含み、これらは両方とも、センサ2070からのセンサデータおよび基準データ2020を受信するように構成されている。位置特定データインテグレータ2014は、位置決めシステム2010からのデータおよび位置特定システム2012からのデータを受信するように構成されており、それによって、位置特定データインテグレータ2014は、局所的位置データ2052を形成するために複数のセンサからのセンサデータを統合または融合するように構成されている。
【0064】
図21は、いくつかの実施形態による、集積センサデータに基づいて局所的位置データを生成するためのフロー図の例である。2101において、フロー2100が開始する。2102において、基準データが受信され、基準データは、三次元マップデータを含む。いくつかの例において、3Dまたは4Dマップデータのような基準データが、1つまたは複数のネットワークから受信されてもよい。2104において、1つまたは複数の位置特定センサからの位置特定データが受信され、位置特定システムに配置される。2106において、1つまたは複数の位置決めセンサからの位置決めデータが受信され、位置決めシステムに配置される。2108において、位置特定データおよび位置決めデータが統合される。2110において、自律車両の地理的位置を指定する局所的位置データを形成するために、位置特定データおよび位置決めデータが統合される。
【0065】
図22は、いくつかの実施形態による、ローカライザの別の例を示す図である。図2200はローカライザ2268を含み、ローカライザ2268は、それぞれ位置決めに基づくデータ2250および局所的な位置に基づくデータ2251を生成するための位置特定システム2210および相対位置特定システム2212を含む。位置特定システム2210は、他の任意選択のデータ(例えば、4Dマップデータ)の中でも、GPSデータ2273、GPSデータム2211、および3Dマップデータ2222を処理するための投影プロセッサ2254aを含む。位置特定システム2210はまた、他の任意選択のデータの中でも、ホイールデータ2275(例えば、ホイール速度)、車両モデルデータ2213および3Dマップデータ2222を処理するためのオドメトリプロセッサ2254bをも含む。さらにまた、位置特定システム2210は、他の任意選択のデータの中でも、IMUデータ2257、車両モデルデータ2215および3Dマップデータ2222を処理するためのインテグレータプロセッサ2254cを含む。同様に、相対位置特定システム2212は、他の任意選択のデータの中でも、ライダデータ2272、2Dタイルマップデータ2220、3Dマップデータ2222、および3D局所的マップデータ2223を処理するためのライダ位置特定プロセッサ2254dを含む。相対位置特定システム2212はまた、他の任意選択のデータの中でも、カメラデータ2274、3Dマップデータ2222、および3D局所的マップデータ2223を処理するための視覚見当合わせプロセッサ2254eをも含む。さらにまた、相対位置特定システム2212は、他の任意選択のデータの中でも、レーダデータ2276、3Dマップデータ2222、および3D局所的マップデータ2223を処理するためのレーダ戻りプロセッサ2254f(radar return processor)を含む。様々な例において、ソナーデータなどのような、他のタイプのセンサデータおよびセンサまたはプロセッサが実施されてもよいことに留意されたい。
【0066】
さらに図2200について、位置特定に基づくデータ2250および相対位置特定に基づくデータ2251は、それぞれデータインテグレータ2266aおよび位置特定データインテグレータ2266に供給されてもよい。データインテグレータ2266aおよび位置特定データインテグレータ2266は、対応するデータを融合するように構成されることができ、それによって、位置特定に基づくデータ2250は、位置特定データインテグレータ2266において相対位置特定に基づくデータ2251と融合される前に、データインテグレータ2266aにおいて融合されることができる。いくつかの実施形態によれば、データインテグレータ2266aは、位置特定データインテグレータ2266の部分として形成されるか、または、不在である。それに関係なく、位置特定に基づくデータ2250および相対位置特定に基づくデータ2251は両方とも、局所的位置データ2252を生成するためにデータを融合する目的のために、位置特定データインテグレータ2266に供給されることができる。位置特定に基づくデータ2250は、投影プロセッサ2254aからの単項制約データ(および不確定値)、ならびに、オドメトリプロセッサ2254bおよびインテグレータプロセッサ2254cからの二項制約データ(および不確定値)を含むことができる。相対位置特定に基づくデータ2251は、位置特定プロセッサ2254dおよび視覚見当合わせプロセッサ2254e、ならびに、任意選択的にレーダ戻りプロセッサ2254fからの単項制約データ(および不確定値)を含むことができる。いくつかの実施形態によれば、位置特定データインテグレータ2266は、カルマンフィルタ(例えば、ゲートカルマンフィルタ(gated Kalman filter))、相対バンドルアジャスタ(relative bundle adjuster)、位置グラフ緩和、粒子フィルタ、ヒストグラムフィルタなどのような非線形平滑化機能を実施することができる。
【0067】
図23は、いくつかの実施形態による、知覚エンジンの例を示す図である。図2300は、知覚エンジン2366を含み、知覚エンジン2366は、セグメンテーションプロセッサ2310、オブジェクトトラッカ2330、および分類器2360を含む。さらに、知覚エンジン2366は、例えば、局所的位置データ2352、ライダデータ2372、カメラデータ2374、およびレーダデータ2376を受信するように構成されている。ソナーデータのような他のセンサデータが、知覚エンジン2366の機能を提供するためにアクセスされてもよいことに留意されたい。セグメンテーションプロセッサ2310は、グランドプレーンデータを抽出し、および/または、画像の部分をセグメント化して、オブジェクトを互いから、および静的画像(例えば、背景)から区別するように構成されている。いくつかの事例において、3Dブロブが、互いを区別するためにセグメント化されることができる。いくつかの例において、ブロブは、空間的に再生された環境内でオブジェクトを識別する特徴のセットを参照することができ、強度および色のような、同様の特性を有する要素(例えば、カメラデータのピクセル、レーザ戻りデータのポイントなど)から構成されることができる。いくつかの例において、ブロブはまた、ポイントクラウド(例えば、色付けされたレーザ戻りデータから構成される)またはオブジェクトを構成する他の要素を参照することもできる。オブジェクトトラッカ2330は、ブロブ、または他のセグメント化された画像部分の動きのフレームごとの推定を実施するように構成されている。さらに、時刻t1における第1のフレーム内の1つの位置にあるブロブを、時刻t2における第2のフレーム内の異なる位置にあるブロブと関連付けるために、データ関連付けが使用される。いくつかの例において、オブジェクトトラッカ2330は、ブロブのような3Dオブジェクトのリアルタイムの確率的追跡を実施するように構成されている。分類器2360は、オブジェクトを識別し、そのオブジェクトを分類タイプ(例えば、歩行者、自転車利用者などとして)によっておよびエネルギー/活動(例えば、オブジェクトが動的であるかまたは静的であるか)によって分類するように構成されており、それによって、分類を表現するデータは、意味ラベルによって記述される。いくつかの実施形態によれば、オブジェクトクラスごとに異なる信頼性で、オブジェクトを車両、自転車利用者、歩行者などとして分類することのような、オブジェクトカテゴリの確率的推定が実施されることができる。知覚エンジン2366は、知覚エンジンデータ2354を決定するように構成されており、知覚エンジンデータ2354は、静的オブジェクトマップおよび/または動的オブジェクトマップを含むことができ、それによって、例えば、プランナは、この情報を使用して、経路プランニングを強化することができる。様々な例によれば、セグメンテーションプロセッサ2310、オブジェクトトラッカ2330、および分類器2360のうちの1つまたは複数は、知覚エンジンデータ2354を生成するために機械学習技法を適用することができる。
【0068】
図24は、いくつかの実施形態による、知覚エンジンデータを生成するためのフロー図の例である。フロー図2400は2402において開始し、自律車両の局所的位置を表現するデータが取り出される。2404において、1つまたは複数の位置特定センサからの位置特定データが受信され、2406において、セグメント化されたオブジェクトを形成するために、自律車両が配置されている環境の特徴がセグメント化される。2408において、動き(例えば、推定される動き)を有する少なくとも1つの追跡されているオブジェクトを形成するために、セグメント化されたオブジェクトの1つまたは複数の部分が空間的に追跡される。2410において、追跡されているオブジェクトが、少なくとも静的オブジェクトまたは動的オブジェクトのいずれかであるものとして分類される。いくつかの事例において、静的オブジェクトまたは動的オブジェクトは、分類タイプと関連付けられてもよい。2412において、分類されたオブジェクトを識別するデータが生成される。例えば、分類されたオブジェクトを識別するデータは、意味情報を含むことができる。
【0069】
図25は、いくつかの実施形態による、セグメンテーションプロセッサの例である。図2500は、1つまたは複数のライダ 2572からのライダデータおよび1つまたは複数のカメラ2574からのカメラ画像データを受信するセグメンテーションプロセッサ2510を示す。局所的位置データ2552、ライダデータ、およびカメラ画像データが、メタスピンジェネレータ(meta spin generator)2521に受信される。いくつかの例において、メタスピンジェネレータは、様々な属性(例えば、色、強度など)に基づいて、画像を区別可能な領域(例えば、ポイントクラウドのクラスタまたはグループ)に分割するように構成されており、そのうちの少なくとも2つ以上は、同時にまたはほぼ同時に更新されることができる。メタスピンデータ2522が、セグメンテーションプロセッサ2523においてオブジェクトセグメンテーションおよびグランドセグメンテーション(ground segmentation)を実施するために使用され、それによって、メタスピンデータ2522とセグメンテーションプロセッサ2523からのセグメンテーション関連データの両方が、走査されている差分のプロセッサ(scanned differencing processor)2513に適用される。走査されている差分のプロセッサ2513は、セグメント化された画像部分の動きおよび/または相対速度を予測するように構成されており、これは、2517において動的オブジェクトを識別するために使用されることができる。2517において検出された速度を有するオブジェクトを指示するデータが、任意選択的に、経路プランニング決定を強化するためにプランナに送信される。加えて、走査されている差分のプロセッサ2513からのデータは、そのようなオブジェクトのマッピングを形成する(また、任意選択的に、動きのレベルを識別する)ためにオブジェクトの位置を近似するために使用することができる。いくつかの例において、占有格子マップ(occupancy grid map)2515が生成されることができる。占有格子マップ2515を表現するデータは、(例えば、不確定性を低減することによって)経路プランニング決定をさらに強化するために、プランナに送信されることができる。さらに図2500について、1つまたは複数のカメラ2574からの画像カメラデータが、ブロブ分類器2520においてブロブを分類するために使用され、ブロブ分類器2520はまた、セグメンテーションプロセッサ2523からブロブデータ2524も受信する。セグメンテーションプロセッサ2510はまた、レーダ関連ブロブデータ2516を生成するレーダセグメンテーションプロセッサ2514においてセグメンテーションを実施するために、1つまたは複数のレーダ2576から未処理レーダ戻りデータ(raw radar returns data)2512を受信することもできる。さらに図25について、セグメンテーションプロセッサ2510はまた、レーダデータに関係付けられる、追跡されているブロブのデータ2518を受信および/または生成することもできる。ブロブデータ2516、追跡されているブロブのデータ2518、ブロブ分類器2520からのデータ、および、ブロブデータ2524はオブジェクトまたはその部分を追跡するために使用されることができる。いくつかの例によれば、以下、すなわち、走査されている差分のプロセッサ2513、ブロブ分類2520、およびレーダ2576からのデータのうちの1つまたは複数は、任意選択であってもよい。
【0070】
図26Aは、様々な実施形態による、オブジェクトトラッカおよび分類器の例を示す図である。図2600のオブジェクトトラッカ2630は、ブロブデータ2516、追跡されているブロブのデータ2518、ブロブ分類器2520からのデータ、ブロブデータ2524、および1つまたは複数のカメラ2676からのカメラ画像データを受信するように構成されている。画像トラッカ2633は、追跡されている画像のデータを生成するために、1つまたは複数のカメラ2676からのカメラ画像データを受信するように構成されており、追跡されている画像のデータは、データ関連付けプロセッサ2632に提供されることができる。示されているようにデータ関連付けプロセッサ2632は、ブロブデータ2516、追跡されているブロブのデータ2518、ブロブ分類器2520からのデータ、ブロブデータ2524、および画像トラッカ2633からの追跡された画像データを受信するように構成されており、上述されているタイプのデータの間の1つまたは複数の関連付けを識別するようにさらに構成されている。データ関連付けプロセッサ2632は、とりわけ例えば、動きを推定するために、フレームごとに、例えば、様々なブロブデータを追跡するように構成されている。さらに、データ関連付けプロセッサ2632によって生成されるデータは、トラックアップデータ(track updater)2634によって、1つまたは複数のトラック、または追跡されているオブジェクトを更新するために使用されることができる。いくつかの例において、トラックアップデータ2634は、オンラインでトラックデータベース(「DB」)2636に記憶することができる、追跡されているオブジェクトの更新されたデータを形成するために、カルマンフィルタなどを実施することができる。フィードバックデータが、データ関連付けプロセッサ2632とトラックデータベース2636との間で経路2699を介して交換されることができる。いくつかの例において、画像トラッカ2633は、任意選択であってもよく、除外されてもよい。オブジェクトトラッカ2630はまた、例えば、レーダまたはソナー、および、任意の他のタイプのセンサデータのような他のセンサデータを使用してもよい。
【0071】
図26Bは、少なくともいくつかの例による、オブジェクトトラッカの別の例を示す図である。図2601は、1つまたは複数の他の図面(例えば図26A)に関連して記述されている、同様に名付けられている要素としての構造および/または機能を含むことができるオブジェクトトラッカ2631を含む。示されているように、オブジェクトトラッカ2631は、オブジェクト走査見当合わせおよびデータ融合(object scan registration and data fusion)を実施するように構成されているプロセッサ2696を含む任意選択の見当合わせ部分2699を含む。プロセッサ2696は、結果もたらされるデータを3Dオブジェクトデータベース2698に記憶するようにさらに構成されている。
【0072】
図26Aに戻って参照すると、図2600はまた、分類器2660をも含み、分類器2660は、静的障害物データ2672および動的障害物データ2674を生成するためのトラック分類エンジン2662を含むことができ、これらのデータは両方とも、経路プランニング目的のためにプランナに送信されることができる。少なくとも1つの例において、トラック分類エンジン2662は、障害物が静的であるかまたは動的であるか、および、オブジェクトの別の分類タイプ(例えば、オブジェクトが車両、歩行者、樹木、自転車利用者、犬、猫、紙袋などであるか)を決定するように構成されている。静的障害物データ2672は、障害物マップ(例えば、2D占有マップ)の部分として形成されることができ、動的障害物データ2674は、速度および分類タイプを指示するデータを有する境界ボックスを含むように形成されることができる。動的障害物データ2674は、少なくともいくつかの事例において、2D動的障害物マップデータを含む。
【0073】
図27は、いくつかの例による、知覚エンジンのフロントエンドプロセッサの例である。図2700は、様々な例によれば、グランドセグメンテーションを実施するためのグランドセグメンテーションプロセッサ2723aおよび「オーバーセグメンテーション」を実施するためのオーバーセグメンテーションプロセッサ2723bを含む。プロセッサ2723aおよび2723bは、任意選択的に色付けされたライダデータ2775を受信するように構成されている。オーバーセグメンテーションプロセッサ2723bは、第1のブロブタイプ(例えば、相対的に小さいブロブ)のデータ2710を生成し、このデータは、第2のブロブタイプのデータ2714を生成する集約分類・セグメンテーションエンジン(aggregation classification and segmentation engine)2712に提供される。データ2714は、データ関連付けプロセッサ2732に提供され、データ関連付けプロセッサ2732は、データ2714がトラックデータベース2736に存在するか否かを検出するように構成されている。2740において、第2のブロブタイプ(例えば、1つまたは複数のより小さいブロブを含むことができる相対的に大きいブロブ)のデータ2714が新たなトラックであるか否かの決定が行われる。そうである場合、2742においてトラックが初期化され、そうでない場合、トラックデータベース2736に記憶されている、追跡されているオブジェクトデータおよびそのトラックが、トラックアップデータ2742によって拡張または更新されることができる。トラック分類エンジン2762は、トラックを識別し、例えば、トラック関連データを追加、除去または修正することによって、トラックを更新/修正するために、トラックデータベース2736に結合されている。
【0074】
図28は、様々な実施形態による、合成環境において自律車両をシミュレートするように構成されているシミュレータを示す図である。図2800は、シミュレートされた環境2803を生成するように構成されているシミュレータ2840を含む。示されているように、シミュレータ2840は、シミュレートされた環境2803において、シミュレートされた表面2892aおよび2892bのようなシミュレートされた幾何学的形状を生成するために、基準データ2822(例えば、3Dマップデータおよび/もしくは他のマップ、または、RNDFデータもしくは同様の道路網データを含むルートデータ)を使用するように構成されている。シミュレートされた表面2892aおよび2892bは、道路に隣接する建造物の壁または側面をシミュレートすることができる。シミュレータ2840はまた、合成環境において動的な作用因子をシミュレートするために、動的オブジェクトデータを事前に生成または手続き的に生成することもできる。動的な作用因子の例は、シミュレートされた動的オブジェクト2801であり、これは、一定の速度を有するシミュレートされた自転車利用者を表す。シミュレートされた動的な作用因子は、任意選択的に、シミュレートされた自律車両を含む、シミュレートされた環境内の他の静的な作用因子および動的な作用因子に応答することができる。例えば、シミュレートされたオブジェクト2801は、予め設定された起動に従うのではなく、シミュレートされた環境2803内の他の障害物のために減速することができ、それによって、現実世界に存在する実際の動的な環境のより現実的なシミュレーションを生成する。
【0075】
シミュレータ2840は、シミュレートされた自律車両コントローラ2847を生成するように構成されることができ、シミュレートされた自律車両コントローラ2847は、知覚エンジン2866、ローカライザ2868、動きコントローラ2862、およびプランナ2864の合成適合を含み、これらの各々は、シミュレートされた環境2803内で本明細書において記述されている機能を有することができる。シミュレータ2840はまた、異なるセンサ方式および異なるセンサデータフォーマットとのデータ交換をシミュレートするためのシミュレートされたインターフェース(「I/F」)2849を生成することもできる。そのため、シミュレートされたインターフェース2849は、例えば、シミュレートされたライダセンサ2872から、パケット化されたデータのためのソフトウェアインターフェースをシミュレートすることができる。さらに、シミュレータ2840はまた、シミュレートされたAVコントローラ2847を実施するシミュレートされた自律車両2830を生成するように構成されることもできる。シミュレートされた自律車両2830は、シミュレートされたライダセンサ2872、シミュレートされたカメラまたは画像センサ2874、およびシミュレートされたレーダセンサ2876を含む。示されている例において、シミュレートされたライダセンサ2872は、光線追跡2892と一致するシミュレートされたレーザを生成するように構成されることができ、これによって、シミュレートされたセンサ戻り2891が生成される。シミュレータ2840は、ノイズの追加またはセンサデータに対する他の環境効果(例えば、シミュレートされたセンサ戻り2891に影響を与える追加された拡散または反射)をシミュレートすることができることに留意されたい。さらにまた、シミュレータ2840は、センサ機能不全、センサ誤較正、断続的なデータの機能停止などを含む、様々なセンサ欠陥をシミュレートするように構成されることができる。
【0076】
シミュレータ2840は、シミュレートされた自律車両2830の挙動のシミュレーションに使用するための、自律車両の機械的、静的、動的、および運動学的態様をシミュレートするための物理プロセッサ2850を含む。例えば、物理プロセッサ2850は、接触力学をシミュレートするための接触力学モジュール2851、シミュレートされているボディ間の対話をシミュレートするための衝突検出モジュール2852、および、シミュレートされている機械的対話間の対話をシミュレートするためのマルチボディ動態モジュール2854を含む。
【0077】
シミュレータ2840はまた、とりわけ、因果関係を決定するためにシミュレートされた環境2803の任意の合成的に生成された要素の機能を適合させるようにシミュレーションを制御するように構成されているシミュレータコントローラ2856をも含む。シミュレータ2840は、シミュレートされた環境2803の合成的に生成された要素の性能を評価するためのシミュレータエバリュエータ(simulator evaluator)2858を含む。例えば、シミュレータエバリュエータ2858は、シミュレートされた車両コマンド2880(例えば、シミュレートされたステアリング角度およびシミュレートされた速度)を分析して、そのようなコマンドが、シミュレートされた環境2803内のシミュレートされた活動に対する適切な応答であるか否かを判定することができる。さらに、シミュレータエバリュエータ2858は、遠隔操作者コンピューティングデバイス2804を介した遠隔操作者2808の、シミュレートされた自律車両2830との対話を評価することができる。シミュレータエバリュエータ2858は、シミュレートされた自律車両2830の応答を案内するために追加されることができる、更新されたマップタイルおよびルートデータを含む、更新された基準データ2827の効果を評価することができる。シミュレータエバリュエータ2858はまた、ポリシデータ2829が更新、削除、または追加されるときに、シミュレータAVコントローラ2847の応答を評価することもできる。シミュレータ2840の上記の記述は、限定であるようには意図されていない。そのため、シミュレータ2840は、静的特徴と動的特徴の両方を含む、シミュレートされた環境に対する自律車両の様々な異なるシミュレーションを実施するように構成されている。例えば、シミュレータ2840は、信頼性を保証するためにソフトウェアバージョンの変更を検証するために使用されることができる。シミュレータ2840はまた、車両動態特性を決定するために、および、較正目的のために使用されることもできる。さらに、シミュレータ2840は、自己シミュレーションによる学習を行うように、適用可能な制御および結果もたらされる軌道の空間を探索するために使用されることができる。
【0078】
図29は、いくつかの実施形態による、自律車両の様々な態様をシミュレートするためのフロー図の例である。フロー図2900は2902において開始し、三次元マップデータを含む基準データがシミュレータに受信される。2904において、分類されているオブジェクトの運動パターンを規定する動的オブジェクトデータが取り出されることができる。2906において、シミュレートされた環境が、少なくとも三次元(「3D」)マップデータおよび動的オブジェクトデータに基づいて形成される。シミュレートされた環境は、1つまたは複数のシミュレートされた表面を含むことができる。2908において、シミュレートされた環境の部分を形成するシミュレートされた自律車両コントローラを含む自律車両がシミュレートされる。自律車両コントローラは、センサデータを受信するように構成されているシミュレートされた知覚エンジンおよびシミュレートされたローカライザを含むことができる。2910において、少なくとも1つのシミュレートされたセンサ戻りに関するデータに基づいて、シミュレートされたセンサデータが生成され、2912において、合成環境内のシミュレートされた自律車両によって動き(例えば、ベクトル化された推進)を引き起こすためのシミュレートされた車両コマンドが生成される。2914において、シミュレートされた自律車両が、予想される挙動と一致して(例えば、ポリシと一致して)挙動したか否かを決定するために、シミュレートされた車両コマンドが評価される。
【0079】
図30は、いくつかの実施形態による、マップデータを生成するためのフロー図の例である。フロー図3000は3002において開始し、軌道データが取り出される。軌道データは、一定の時間期間にわたって(例えば、ログ記録された軌道として)キャプチャされた軌道を含むことができる。3004において、少なくとも位置特定データが取り出されることができる。位置特定データは、一定の時間期間にわたって(例えば、ログ記録された位置特定データとして)キャプチャされることができる。3006において、位置特定データのサブセットを生成するために、カメラまたは他の画像センサが実施されることができる。そのため、取り出された位置特定データは、画像データを含むことができる。3008において、位置特定データのサブセットが、全体的場所(例えば、全体的位置)を識別するために整列される。3010において、三次元(「3D」)マップデータが、全体的位置に基づいて生成され、3012において、3次元マップデータが、例えば、手動ルートデータエディタ(例えば、RNDFエディタのような手動道路網データエディタを含む)、自動ルートデータジェネレータ(例えば、自動RNDFジェネレータを含む、自動道路網ジェネレータを含む)、自律車両の群、シミュレータ、遠隔操作者コンピューティングデバイス、および、自律車両サービスの任意の他の構成要素による実施のために利用可能である。
【0080】
図31は、いくつかの実施形態による、マッピングエンジンのアーキテクチャを示す図である。図3100は、軌道ログデータ3140、ライダログデータ3172、カメラログデータ3174、レーダログデータ3176、および他の任意選択のログ記録されたセンサデータ(図示せず)を受信するように構成されている3Dマッピングエンジンを含む。論理3141は、とりわけ、空間内の近傍のポイントが以前に訪れられていることをセンサデータが指示するか否かを検出するように構成されている環閉合ディテクタ(loop-closure detector)3150を含む。論理3141はまた、1つまたは複数の見当合わせポイントに対して、いくつかの事例においては3Dマップデータを含むマップデータを整列させるための見当合わせコントローラ3152をも含む。さらに、論理3141は、位置グラフデータ3145を生成するように構成されている全体的位置グラフジェネレータ(global pose graph generator)3143によって使用するための環閉合の状態を表現するデータ3142を提供する。いくつかの例において、位置グラフデータ3145はまた、見当合わせ改良モジュール3146(registration refinement)からのデータに基づいて生成されることもできる。論理3144は、3Dマッパ3154およびライダ自己較正ユニット3156を含む。さらに、論理3144は、3Dマップデータ3120(または、4Dマップデータのような他のマップデータ)を生成するために、センサデータおよび位置グラフデータ3145を受信する。いくつかの例において、論理3144は、最適な三次元マップを形成するためにセンサデータおよび/またはマップデータを融合するために切断符号付き距離関数(「TSDF」)を実施することができる。さらに、論理3144は、テクスチャおよび反射特性を含むように構成されている。3Dマップデータ3120は、手動ルートデータエディタ3160(例えば、ルートデータまたは他のタイプのルートもしくは基準データを操作するためのエディタ)、自動ルートデータジェネレータ3162(例えば、ルートデータまたは他のタイプの道路網もしくは基準データを生成するように構成されている論理)、自律車両の群3164、シミュレータ3166、遠隔操作者コンピューティングデバイス3168、および、自律車両サービスの任意の他の構成要素による使用のためにリリースされることができる。マッピングエンジン3110は、手動注釈または自動的に生成される注釈、および、ソナーまたは機器を備え付けられた環境(例えば、スマートストップランプ)から意味情報をキャプチャすることができる。
【0081】
図32は、いくつかの実施形態による、自律車両アプリケーションを示す図である。図3200は、自律車両3230を介したユーザ3202の輸送手段を構成するために自律車両サービスプラットフォーム3201に接触するように構成されている自律サービスアプリケーション3240を含むモバイルコンピューティングデバイス3203を示す。示されているように、自律サービスアプリケーション3240は、コンピューティングデバイス(例えば、携帯電話3203など)上に存在するソフトウェアアプリケーションであってもよい輸送コントローラ3242を含むことができる。輸送コントローラ3242は、ユーザ3202がユーザの位置から目的地までの輸送手段を構成することができる自律車両および/または自律車両群に関係付けられる動作を受信、スケジュール、選択、または実施するように構成されている。例えば、ユーザ3202は、車両3230を要求するためにアプリケーションを開くことができる。アプリケーションは、マップを表示することができ、ユーザ3202は、例えば、地理上のフェンス領域内で自身の目的地を指示するためにピンをドロップすることができる。代替的に、アプリケーションは、近傍の予め指定された乗車位置のリストを表示してもよく、または、ユーザに、住所もしくは名前のいずれかによって目的地をタイプするためのテキスト入力フィールドを提供してもよい。
【0082】
さらに、示されている例について、自律車両アプリケーション3240はまた、自律車両3230が接近しているときに、ユーザ3202が車両の近くの地理的領域、または、近傍にいることを検出するように構成されることができるユーザ識別コントローラ3246を含むこともできる。いくつかの状況において、ユーザ3202は、(例えば、トラック、自動車、タクシーを含む様々な他の車両、および都市環境において一般的である他の障害物に起因して)ユーザ3203による使用のための自律車両3230が接近しているときに、これを容易に知覚または識別しない場合がある。例において、自律車両3230は、(例えば、無線周波数(「RF」)信号の相対方向および信号強度を使用して)自律車両3230に対するユーザ3202の空間位置を通信および/または決定するために、無線通信リンク3262(例えば、WiFiまたはBLEを含むBluetooth(登録商標)のようなRF信号を介して)を確立することができる。いくつかの事例において、自律車両3230は、例えば、GPSデータなどを使用して、ユーザ3202の近似の地理的位置を検出することができる。モバイルコンピューティングデバイス3203のGPS受信機(図示せず)は、自律車両サービスアプリケーション3240にGPSデータを提供するように構成されることができる。したがって、ユーザ識別コントローラ3246は、リンク3260を介して自律車両サービスプラットフォーム3201にGPSデータを提供することができ、自律車両サービスプラットフォーム3201は、リンク3261を介して自律車両3230にその位置を提供することができる。その後、自律車両3230は、ユーザのGPSデータを、車両のGPSによって導出される位置と比較することによって、ユーザ3202の相対距離および/または方向を決定することができる。
【0083】
自律車両3230はまた、ユーザの固有の顔特性に基づいて一般的にユーザ3202を検出するか、または、ユーザ3202の識別情報(例えば、名前、電話番号など)を識別するための顔検出アルゴリズムを実施するように構成されている論理のような、ユーザ3202の存在を識別するための追加の論理をも含むことができる。さらに、自律車両3230は、ユーザ3202を識別するためのコードを検出するための論理を含むことができる。そのようなコードの例は、QRコード、カラーコードなどのような特殊化された視覚コード、声によって起動または認識されるコードなどのような特殊化されたオーディオコードなどを含む。いくつかの事例において、コードは、セキュアな進入および/または脱出を保証するためにリンク3262を介して自律車両3230にデジタルに送信されることができる、符号化されたセキュリティキーであってもよい。さらに、ユーザ3202を識別するための、上記で識別された技法のうちの1つまたは複数は、他者が自律車両3230に入るのを防止するように(例えば、ユーザ3202に到達する前に第三者が占有されていない自律車両に入らないことを保証するために)、ユーザ3202に進入および脱出の特権を与えるための安全確保された手段として使用されることができる。様々な例によれば、ユーザ3202を識別し、安全確保された進入および脱出を提供するための任意の他の手段がまた、自律車両サービスアプリケーション3240、自律車両サービスプラットフォーム3201、および自律車両3230のうちの1つまたは複数において実施されてもよい。
【0084】
ユーザ3302がその要求されている輸送手段に到達するのを支援するために、自律車両3230は、自律車両3230がユーザ3202に接近するときにその存在をユーザ3202に通知または他の様態で警告するように構成されることができる。例えば、自律車両3230は、特定の光パターンに従って、1つまたは複数の発光デバイス3280(例えば、LED)を起動することができる。特に、ユーザ3202の輸送手段要求にサービスするために自律車両3230が確保されていることを、ユーザ3202が容易に知覚することができるように、特定の光パターンが生成される。例として、自律車両3230は、ユーザ3202によって、そのような視覚的および時間的方法でその外部および内部ライトの「まばたき」または他のアニメーションとして知覚することができる光パターン3290を生成することができる。光のパターン3290は、ユーザ3202に対して、この車両がユーザが予約したものであることを識別するために、音声のパターンを伴ってまたは伴わずに生成されてもよい。
【0085】
いくつかの実施形態によれば、自律車両ユーザコントローラ3244は、自律車両の様々な機能を制御するように構成されているソフトウェアアプリケーションを実施することができる。さらに、アプリケーションは、自律車両を、その最初の目的地への移動中に方向転換またはルート変更するように構成されることができる。さらに、自律車両ユーザコントローラ3244は、内蔵論理に、例えばムード照明を行うために自律車両3230の内部照明を修正させるように構成されることができる。コントローラ3244はまた、オーディオのソース(例えば、Spotifyのような外部ソース、または、モバイルコンピューティングデバイス3203にローカルに記憶されているオーディオ)を制御すること、搭乗のタイプを選択すること(例えば、所望される加速およびブレーキの積極性を修正すること、アクティブサスペンションパラメータを修正して「路面対処(road-handling)」特性のセットを選択して、振動を含む積極的な運転特性を実施すること、または、快適性のために振動が減衰されている「穏やかな搭乗(soft-ride)」を選択すること)などもできる。例えば、モバイルコンピューティングデバイス3203は、換気および温度のような、HVAC機能をも制御するように構成されることができる。
【0086】
図33図35は、様々な実施形態による、自律車両サービスの構成要素に様々な機能を提供するように構成されている様々なコンピューティングプラットフォームの例を示す。いくつかの例において、コンピューティングプラットフォーム3300は、コンピュータプログラム、アプリケーション、方法、処理、アルゴリズム、または上述されている技法を実施するための他のソフトウェアを実施するために使用されることができる。
【0087】
図33の様々な構造および/または機能は、図34および図35に適用可能であり、そのため、それらの図面のいくつかの要素は、図33の文脈において論じられてもよいことに留意されたい。
【0088】
いくつかの事例において、コンピューティングプラットフォーム3300は、自律車両3391に配置されることができるコンピューティングデバイス3390a、および/またはモバイルコンピューティングデバイス3390bに配置されることができる。
【0089】
コンピューティングプラットフォーム3300は、情報を通信するためのバス3302または他の通信メカニズムを含み、これは、例えば、プロセッサを有するモバイルコンピューティングデバイスおよび/または通信デバイスを含むコンピューティングデバイスと通信するための通信リンク3321上でのポートを介した通信を促進するために、プロセッサ3304、システムメモリ3306(例えば、RAMなど)、記憶装置3308(例えば、ROMなど)、メモリ内キャッシュ(RAM 3306またはコンピューティングプラットフォーム3300の他の部分内で実施されることができる)、通信インターフェース3313(例えば、Ethernetまたは無線コントローラ、Bluetoothコントローラ、NFC論理など)のようなサブシステムおよびデバイスを相互接続する。プロセッサ3304は、1つまたは複数のグラフィックスプロセッシングユニット(「GPU」)、Intel(登録商標) Corporationによって製造されるもののような1つまたは複数の中央処理装置(「CPU」)、または1つまたは複数の仮想プロセッサ、およびCPUと仮想プロセッサとの任意の組み合わせによって実施されることができる。コンピューティングプラットフォーム3300は、限定ではないが、キーボード、マウス、オーディオ入力(例えば、発話-テキストデバイス)、ユーザインターフェース、ディスプレイ、モニタ、カーソル、タッチセンサ式ディスプレイ、LCDまたはLEDディスプレイ、および他のI/O関連デバイスを含む入出力デバイス3301を介して入力および出力を表現するデータを交換する。
【0090】
いくつかの例によれば、コンピューティングプラットフォーム3300は、システムメモリ3306に記憶されている1つまたは複数の命令の1つまたは複数のシーケンスを実行するプロセッサ3304によって特定の動作を実施し、コンピューティングプラットフォーム3300は、クライアント-サーバ構成、ピアツーピア構成において、または、スマートフォンなどを含む任意のモバイルコンピューティングデバイスとして実施されることができる。そのような命令またはデータは、記憶装置3308のような別のコンピュータ可読媒体からシステムメモリ3306に読み出されることができる。いくつかの例において、ソフトウェア命令の代わりにまたはソフトウェアと組み合わせて、配線回路が実施のために使用されてもよい。命令は、ソフトウェアまたはファームウェアにおいて具現化されることができる。「コンピュータ可読媒体」という用語は、実行のためにプロセッサ3304に命令を提供することに関与する任意の有形媒体を参照する。そのような媒体は、限定ではないが、不揮発性媒体および揮発性媒体を含む多くの形態をとることができる。不揮発性媒体は、例えば、光または磁気ディスクなどを含む。揮発性媒体は、システムメモリ3306のようなダイナミックメモリを含む。
【0091】
一般的な形態のコンピュータ可読媒体は、例えば、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、もしくは任意の他の磁気媒体、CD-ROM、任意の他の光学媒体、パンチカード、紙テープ、穴のパターンを有する任意の他の物理媒体、RAM、PROM、EPROM、FLASH‐EPROM、任意の他のメモリチップもしくはカートリッジ、または、コンピュータがそこから読み出すことができる任意の他の媒体を含む。命令は、さらに、伝送媒体を使用して送信または受信されることができる。「伝送媒体」という用語は、機械によって実行するための命令を記憶、符号化または搬送することが可能である任意の有形または無形媒体を含むことができ、デジタルもしくはアナログ通信信号、または、そのような命令の通信を促進するための他の無形媒体を含む。伝送媒体は、コンピュータデータ信号を伝送するためのバス3302を含むワイヤを含む、同軸ケーブル、銅線、および光ファイバを含む。
【0092】
いくつかの例において、命令のシーケンスの実行は、コンピューティングプラットフォーム3300によって実施されることができる。いくつかの例によれば、コンピューティングプラットフォーム3300は、互いに協働して(または互いに対して非同期的に)命令のシーケンスを実施するために、通信リンク3321(例えば、LAN、PSTNのような有線ネットワーク、または、様々な規格およびプロトコルのWiFi、Bluetooth(登録商標)、NFC、Zig-Bee等を含む任意の無線ネットワーク)によって任意の他のプロセッサに結合されることができる。コンピューティングプラットフォーム3300は、通信リンク3321および通信インターフェース3313を通じて、プログラムコード(例えば、アプリケーションコード)を含むメッセージ、データ、および命令を送信および受信することができる。受信されるプログラムコードは、受信されるときにプロセッサ3304によって実行されてもよく、および/または、後の実行のためにメモリ3306または他の不揮発性記憶装置に記憶されてもよい。
【0093】
示されている例において、システムメモリ3306は、本明細書において記述されている機能を実施するための実行可能命令を含む様々なモジュールを含むことができる。システムメモリ3306は、オペレーティングシステム(「O/S」)3332、ならびに、アプリケーション3336および/または論理モジュール3359を含むことができる。図33に示されている例において、システムメモリ3306は、自律車両(「AV」)コントローラモジュール3350および/またはその構成要素(例えば、知覚エンジンモジュール、位置特定モジュール、プランナモジュール、および/または動きコントローラモジュール)を含み、それらのうちのいずれか、または、それらの1つもしくは複数の部分は、本明細書において記述されている1つまたは複数の機能を実施することによって、自律車両サービスを促進するように構成されることができる。
【0094】
図34に示されている例を参照すると、システムメモリ3306は、自律車両サービスプラットフォームモジュール3450および/またはその構成要素(例えば、遠隔操作者マネージャ、シミュレータなど)を含み、それらのうちのいずれか、または、それらの1つもしくは複数の部分は、本明細書において記述されている1つまたは複数の機能を実施することによって、自律車両サービスの管理を促進するように構成されることができる。
【0095】
図35に示されている例を参照すると、システムメモリ3306は、例えば、モバイルコンピューティングデバイスにおける使用のために、自律車両(「AV」)モジュールおよび/またはその構成要素を含む。モジュール3550の1つまたは複数の部分は、本明細書において記述されている1つまたは複数の機能を実施することによって、自律車両サービスの送達を促進するように構成されることができる。
【0096】
図33に戻って参照すると、上述されている特徴のうちのいずれかの構造および/または機能は、ソフトウェア、ハードウェア、ファームウェア、回路、またはそれらの組み合わせにおいて実施されることができる。上記の構造および構成要素ならびにそれらの機能は、1つまたは複数の他の構造または要素とともに集約されてもよいことに留意されたい。代替的に、要素およびそれらの機能は、もしあれば、構成部分要素に分割されることができる。ソフトウェアとして、上述されている技法は、様々なタイプのプログラミングまたはフォーマット言語、フレームワーク、構文、アプリケーション、プロトコル、オブジェクト、または技法を使用して実施されてもよい。ハードウェアおよび/またはファームウェアとして、上述されている技法は、フィールドプログラマブルゲートアレイ(「FPGA」)、特定用途向け集積回路(「ASIC」)、または任意の他のタイプの集積回路を設計するように構成されている任意のレジスタ転送言語(「RTL」)のようなハードウェア記述言語を含む、様々なタイプのプログラミングまたは集積回路設計言語を使用して実施されてもよい。いくつかの実施形態によれば、「モジュール」という用語は、例えば、ハードウェア回路もしくはソフトウェアのいずれか、または、それらの組み合わせにおいて実施されるアルゴリズムもしくはその部分、および/または論理を参照することができる。これらは、変更されることができ、提供されている例または記述に限定されない。
【0097】
いくつかの実施形態において、図33のモジュール3350、図34のモジュール3450、および図35のモジュール3550、またはそれらの構成要素のうちの1つもしくは複数、または本明細書において記述されている任意の処理もしくはデバイスは、携帯電話またはモバイルコンピューティングデバイスのようなモバイルデバイスと(例えば、有線または無線で)通信することができ、または、その中に配置されることができる。
【0098】
いくつかの事例において、モバイルデバイス、または、1つもしくは複数のモジュール3359(図33のモジュール3350、図34のモジュール3450、および図35のモジュール3550)もしくはその構成要素のうちの1つもしくは複数と通信する任意のネットワーク接続されているコンピューティングデバイス(図示せず)(または本明細書において記述されている任意の処理またはデバイス)は、本明細書において記述されている特徴のうちのいずれかの構造および/または機能のうちの少なくともいくつかを提供することができる。上述されている図面に示されているように、上述されている特徴のうちのいずれかの構造および/または機能は、ソフトウェア、ハードウェア、ファームウェア、回路、またはそれらの任意の組み合わせにおいて実施されることができる。上記の構造および構成要素ならびにそれらの機能は、1つまたは複数の他の構造または要素とともに集約され、または、組み合わされてもよいことに留意されたい。代替的に、要素およびそれらの機能は、もしあれば、構成部分要素に分割されることができる。ソフトウェアとして、上述されている技法のうちの少なくともいくつかは、様々なタイプのプログラミングまたはフォーマット言語、フレームワーク、構文、アプリケーション、プロトコル、オブジェクト、または技法を使用して実施されてもよい。例えば、図面のうちのいずれかに示されている要素のうちの少なくとも1つは、1つまたは複数のアルゴリズムを表現することができる。または、それらの要素のうちの少なくとも1つは、構成構造および/または機能を提供するように構成されているハードウェアの部分を含む、論理の部分を表現することができる。
【0099】
例えば、図33のモジュール3350、図34のモジュール3450、および図35のモジュール3550、またはその構成要素のうちの1つもしくは複数、または本明細書において記述されている任意の処理もしくはデバイスは、メモリ内の1つまたは複数のアルゴリズムを実行するように構成されている1つまたは複数のプロセッサを含む1つまたは複数のコンピューティングデバイス(すなわち、装着されるかまたは搬送されるかを問わず、ウェアラブルデバイス、オーディオデバイス(ヘッドフォンまたはヘッドセットなど)または携帯電話のような任意のモバイルコンピューティングデバイス)において実施されることができる。したがって、上述されている図面内の要素のうちの少なくともいくつかは、1つまたは複数のアルゴリズムを表現することができる。または、それらの要素のうちの少なくとも1つは、構成構造および/または機能を提供するように構成されているハードウェアの部分を含む、論理の部分を表現することができる。これらは、変更されることができ、提供されている例または記述に限定されない。
【0100】
ハードウェアおよび/またはファームウェアとして、上述されている構造技法は、フィールドプログラマブルゲートアレイ(「FPGA」)、特定用途向け集積回路(「ASIC」)、マルチチップモジュール、または任意の他のタイプの集積回路を設計するように構成されている任意のレジスタ転送言語(「RTL」)のようなハードウェア記述言語を含む、様々なタイプのプログラミング言語または集積回路設計言語を使用して実施されることができる。
【0101】
例えば、図33のモジュール3350、図34のモジュール3450、および図35のモジュール3550、またはその構成要素のうちの1つもしくは複数、または本明細書において記述されている任意の処理もしくはデバイスは、1つまたは複数の回路を含む1つまたは複数のコンピューティングデバイスにおいて実施されることができる。したがって、上述されている図面内の要素のうちの少なくとも1つは、ハードウェアの1つまたは複数の構成要素を表現することができる。または、それらの要素のうちの少なくとも1つは、構成構造および/または機能を提供するように構成されている回路の部分を含む、論理の部分を表現することができる。
【0102】
いくつかの実施形態によれば、「回路」という用語は、例えば、1つまたは複数の機能を実行するためにそれを通じて電流が流れるいくつかの構成要素を含む任意のシステムを参照することができ、構成要素は、個別のおよび複雑な構成要素を含む。個別の構成要素の例は、トランジスタ、抵抗器、キャパシタ、インダクタ、ダイオードなどを含み、複雑な構成要素の例は、フィールドプログラマブルゲートアレイ(「FPGA」)、特定用途向け集積回路(「ASIC」)を含む、メモリ、プロセッサ、アナログ回路、デジタル回路などを含む。それゆえ、回路は、電子構成要素および論理構成要素(例えば、例えばアルゴリズムの実行可能命令のグループのような命令を実行するように構成されており、したがって、回路の構成要素である論理)のシステムを含むことができる。いくつかの実施形態によれば、「モジュール」という用語は、例えば、ハードウェア回路もしくはソフトウェアのいずれか、または、それらの組み合わせにおいて実施されるアルゴリズムもしくはその部分、および/または論理を参照することができる(すなわち、モジュールは回路として実施することができる)。いくつかの実施形態において、アルゴリズムおよび/またはアルゴリズムが記憶されているメモリは、回路の「構成要素」である。したがって、「回路」という用語は、例えば、アルゴリズムを含む構成要素のシステムをも参照することができる。これらは、変更されることができ、提供されている例または記述に限定されない。
【0103】
図36A図36Bは、様々な実施形態による、ユーザデバイスと対話する様々なサブシステムを有する自律車両システムを示す高レベルブロック図である。ユーザが、自律車両システムの内部照明、音声、温度、および路面対処を含む、様々な優先度を指定することができるように、多くのサブシステムは、ユーザデバイスを通じてユーザによって直接的に制御されることができる。図36Aに示されているように、自律車両システム3602は、派遣モジュール3654を含む自律車両サービス3660を通じてユーザデバイス3600によって要求されてもよい。
【0104】
派遣モジュール3654は、自律車両システム3602に、需要、ユーザに近接する自律車両システムの群の位置、ならびに、電池充電、センサ較正、およびデータ記憶容量を含む自律車両システムの保守管理レベルに基づいて、ユーザデバイス3600からの搭乗要求を実行するように指示することができる。一実施形態において、派遣モジュール3654は、AVサービス3660の部分として展開されているAVシステム3602に基づいて、動作効率メトリックを生成することができる。動作効率メトリックは、AVシステムのユーザに対する近接性、車両の充電レベル、センサがどれだけ良好に較正されているか、および、車両の残りのデータ記憶容量を含む、いくつかのファクタに基づいて計算されることができる。この動作効率メトリックに基づいて、派遣モジュール3654は、要求に応答してユーザにAVシステム3602を送信することができる。図36Bに示されているように、ユーザデバイス3600は、車両要求モジュール3630を含むAVサービスアプリケーション3620を含むことができる。AVサービスアプリケーション3620を通じて、ユーザは、起点位置から目的地位置までの搭乗を要求することができ、搭乗者の数、手荷物要件、停車(stop)の回数、および搭乗の日時のような、搭乗に関する他の情報を含めることができる。この情報を受信すると、図36Aの派遣モジュール3654は、搭乗要求の基準を満たす自律車両システム3602を選択することができる。例えば、自律車両システム3602が、ユーザデバイス3600のGPSを通じてキャプチャされるものとして、ユーザの位置の近くにある軌道を実行している場合にユーザを乗車させるために利用可能であるように、ユーザは、AVサービスの他のユーザと搭乗を共有することを受け入れることができる。
【0105】
派遣モジュール3654が自律車両システム3602に対する、ユーザデバイス3600の搭乗要求を実行するための命令を提供した後、自律車両システム3602は、ユーザの位置に移動するための軌道をプランニングする。一実施形態において、ユーザは、図36Bに示されているように、ユーザデバイス3600上で動作しているGPSモジュール3640を通じて自身の位置を提供することができる。結果として、自律車両システム3602は、ユーザデバイス3600のGPS位置に対応するマップタイルを識別することが可能であり、乗車させられる前にユーザが異なる位置に移動することを決定した場合に、リアルタイムでマップタイルを更新することができる。
【0106】
AVサービスアプリケーション3620を通じて、ユーザは、様々な方法を通じて搭乗を要求することができる。例えば、ユーザは、AVサービスアプリケーション3620上にインタラクティブマップを提供されることができ、それを通じて、ユーザは、ピンを「ドロップ」することができ、または、ユーザが輸送されることを望むマップ上の位置を指し示すために、ユーザインターフェースと選択的に対話することができる。一実施形態において、インタラクティブマップは、デカルト平面上の2Dマップであってもよい。実施形態において、ユーザはまた、ユーザインターフェースを通じて目的地住所を入力することもできる。さらなる実施形態において、インタラクティブマップは、それによって目的地を指定する別のインターフェースをユーザに提供するために、ライダセンサデータ、マップデータ、およびGPSデータのような、融合されたセンサデータを使用する3Dマップを含むことができる。例えば、ユーザは、映画館の近くに配置されているコーヒー店の正面で下車させられることを所望する場合があるが、コーヒー店の正確な住所を知らない場合がある。ユーザデバイス3600に3Dマップを提供することによって、ユーザは単純にコーヒー店、または、自身が下車させられることを所望する正確な位置を指し示して選択することができる。
【0107】
自律車両システム3602は、搭乗要求を初期化するために、ユーザデバイス3600によって提供される位置に到達してもよい。自律車両システム3602がその位置に到達すると、図36Aに示されている視覚的識別システム3652が、一実施形態において、ユーザを位置特定および識別するために、周囲の場所をアクティブに走査することができる。例えば、AVシステム3602の知覚システムを使用して、視覚的識別システム3652は、搭乗要求において提供される位置に配置されている様々な人間を識別することができる。別の実施形態において、視覚的識別システム3652は、AVシステム3602の外部に取り付けられているカメラを含む、様々なセンサを使用することができる。ユーザは、ユーザがAVシステム3602に入る権限を与えられていることを視覚的識別システム3652が識別することができるように、視覚識別子、バーコード、クイックレスポンス(QR)コード、または他の視覚コードをAVシステム3602に提示するよう要求されてもよい。
【0108】
一実施形態において、搭乗者セキュリティシステム3650が、AVシステム3602を要求しているユーザが視覚的識別システム3652によって検証され、権限を与えられるまでドアをロックすることによって、AVシステム3602を安全確保することができる。搭乗者セキュリティシステム3650は、検証のためにAVサービスアプリケーション3620に入るためにユーザデバイス3600にランダム化されたセキュリティコードを提供すること、ユーザデバイス3600と関連付けられたプロファイルに保存されているユーザの顔認識、ユーザデバイス3600と関連付けられたプロファイルに保存されているユーザの音声認識、ならびに、指紋および/または網膜走査のような他の生体認証システムを含む、他のユーザ識別の方法を使用することができる。ユーザが検証された後、搭乗者セキュリティシステム3650は、ドアをロック解除することおよび/またはドアを開くことによって、ユーザがAVシステム3602に入ることを可能にすることができる。一実施形態において、ユーザが検証された後、AVシステム3602の特徴のパラメータの1つまたは複数の記憶されている構成が、自動的に変更されてもよい。
【0109】
AVシステム3602の内部に入ると、ユーザは、内部照明制御システム3604、周囲音声システム3606、温度制御システム3608、路面対処優先度モジュール(road handling preferences)3610、ルート変更要求システム3616、および座席制御システム3618を含む、AVシステム3602の様々な特徴を、ユーザデバイス3600から制御することができる。これらの優先度および/または構成は、一実施形態において、ユーザおよび/またはユーザデバイス3600と関連付けて記憶されることができる。通常モード、パーティモード、ロマンティックモード、および睡眠モードのような様々な照明モードが、ユーザデバイス3600を通じて開始されてもよい。これらの照明モードは、実施形態において、事前にプログラムされることができる。色、輝度、点滅光、および照明シーケンスのような照明選択は、ユーザデバイス3600を通じてアクセス可能な照明パネルを通じて個々に変更されることができる。照明パラメータに対する変更が行われるのを受けて、AVシステム3602に含まれる内部照明制御システム3604は、それに応じて調整を行う。
【0110】
同様に、周囲音声システム3606は、AVシステム3602においていずれの音声を聞くことができるかをユーザが制御する能力を含む。例えば、ノイズをキャンセルするためにサイレントモードが使用されてもよい。ユーザは、ユーザデバイス3600とAVシステム3602との間で通信を直接的に同期させることによって、SPOTIFY、ITUNES、または、ユーザデバイス3600に記憶されている媒体を含む別のマルチメディアリソースのように、周囲音声システム3606を通じて音楽をストリーミングすることが可能とされてもよい。別の実施形態において、ユーザは、同様の通信リンクを通じて、周囲音声システム3606を通じたハンズフリー通話を実施することを許容されてもよい。実施形態において、音量制御およびイコライザレベルのような、周囲音声システム3606の個々の音声パラメータは、ユーザデバイス3600を通じて制御されることができる。
【0111】
温度制御システム3608は、AVシステム3602のヒータおよび空調装置のような加熱および冷却要素を通じて、AVシステム3602の内部温度を制御することができる。一実施形態において、ユーザは、ユーザデバイス3600を通じてAVシステム3602の所望される温度を設定することができる。別の実施形態において、ユーザは、ファン、排気、冷却、加熱、外気、再利用されている空気、および空気清浄器のような個々のパラメータを調整することができる。
【0112】
路面対処優先度モジュール3610は、一実施形態において、ユーザに、スムーズ搭乗、スポーティ搭乗、および通常設定を含む走行モードを指定する能力を提供することができる。スムーズ搭乗は、搭乗中により少ない揺れおよび外乱が感じられるように、AVシステム3602のサスペンションを調整することができる。スムーズ搭乗モードはまた、AVシステム3602の安全動作にとって必要とされない限り、車両の指向性を変更しないなど、ユーザがあまり積極的でない操作を所望することを指定することもできる。他方、AVシステム3602をより緊密なサスペンションで構成し、曲がるときにより緊密なコーナを切るなど、より積極的なステアリングおよび操作に対する優先度を設定するために、ユーザによって、ユーザデバイス3600を通じてスポーティ搭乗が選択されることができる。一実施形態において、スポーティ搭乗モードは、AVシステム3602に収容されているIMUユニットおよび/または加速度計を通じて、AVシステム3602において搭乗している搭乗者によって経験される重力(G力)を測定することによって、強化されることができる。通常設定は、一実施形態において、デフォルト設定であってもよい。
【0113】
ルート変更要求システム3616は、ユーザからの、AVシステム3602によって実行されている現在の搭乗要求の様々な特徴を変更することを求める要求に対処することができる。例えば、ユーザは、AVシステム3602の目的地を、異なる目的地に変更することができる。別の例として、ユーザは、追加の搭乗者を追加し、追加の停車において1人または複数の追加の搭乗者を乗車させるために現在の搭乗をルート変更するように要求することができる。別の実施形態において、ユーザは、ユーザデバイス3600を通じて異なる停車の位置を指定して、現在の搭乗に複数の停車場が追加されることを要求することができる。一実施形態において、ユーザは、ユーザデバイス3600を通じて、交通量を回避すること、幹線道路を回避すること、および/または、工事を回避することを要求することができる。また別の実施形態において、ユーザは、ルートが、ユーザおよび/またはAVシステム3602内の他の搭乗者にとって関心があることがある1つまたは複数の様々なランドマークを含む、より景色のいいルートに変更されることを要求することができる。ルートを変更することを求める要求は、AVシステム3602のプランナに送信されることができ、確認される前に承認を要求することができる。例えば、AVシステム3602の電池が、新たなルートが完了することができる前に再充電を必要とする場合がある。プランナは、新たな軌道を生成し、安全パラメータ内で動作している間に、新たな目的地またはルートに対する変更を完了することができるか否かを決定することができる。一実施形態において、ルート変更を確認するために、AVシステム3602によって遠隔操作者の支援が要求される場合がある。さらなる実施形態において、ルート変更は、他のAVシステムの需要に影響を与える場合があり、それによって、派遣モジュール3654は、ルート変更を通知される。他の実施形態において、ルート変更要求は、AVサービス3660によって報告および記録される。
【0114】
座席制御システム3618は、ユーザが、AVシステム3602の座席構成を調整することを可能にすることができる。例えば、座席は、手荷物または他の大きいアイテムのためにより多くの余地を提供するために、折り畳まれることができる。実施形態において、赤子を輸送するために、チャイルドシートが、一実施形態において必要とされることがある。チャイルドシートは、座席制御システム3618によって制御される、特定の座席構成を必要とする場合がある。ランバーサポート、座席加熱および/もしくは冷却要素、ならびに/または振動要素のような、座席の他のパラメータも、ユーザデバイス3600を通じて制御されることができる。一実施形態において、座席は、ユーザが睡眠するためのベッドのような構成を生成するために構成されてもよい。ユーザは、これらの様々な構成をユーザデバイス3600から選択することができ、それによって、構成は、座席制御システム3618がAVシステム3602内の座席パラメータの変更を作動させるために、AVシステム3602に送信される。一実施形態において、座席は、様々なモータおよび/またはメカニズムを通じて、座席制御システム3618によって電子的に制御される。
【0115】
ユーザおよび/またはAVシステム3602内の他の搭乗者は、自律音声応答システム(「AVRS」)3612および緊急ユーザインターフェース端末3614を通じて自律車両システム3602と直接的に対話することもできる。緊急ユーザインターフェース端末3614は、ユーザまたはAVシステム3602内の他の搭乗者によって作動および/または押下されることができる物理ボタンを含むことができる。緊急ユーザインターフェース端末3614上に、ユーザが車両を直ちに停止し、出ることを所望していることをAVシステム3602にシグナリングするための1つのボタンが設けられることができる。緊急停止ボタンが自動車を物理的に停止しなくてもよいが、緊急停止ボタンは、プランナのような内蔵論理に、ユーザが直ちに停止することを所望しているという信号を送信する。一実施形態において、プランナは、AVシステム3602が交通量のある中を幹線道路に沿って走行しているか否かなどのように、周囲環境および/または運転コンテキストが停止のために安全であるか否かを決定する。AVシステム3602が安全な停止に至るように、緊急停止ボタンがユーザによって押されることに応答して、撤退戦略が、プランナによって決定および策定されることができる。停止を受けて、AVシステム3602は、ドアをロック解除して開き、AVサービス3660に通知することができる。緊急ユーザインターフェース端末3614上の別のボタンが、ユーザが、AVシステム3602の問題または課題を報告するために遠隔操作者および/または消費者サービス代表者と通信するために、確保されることができる。ユーザはその後、AVシステム3602に設置されているマイクロフォンおよびスピーカを通じて、遠隔操作者および/または消費者サービス代表者と通信することができる。通信は、AVサービス3660を通じて、遠隔操作者および/または消費者サービス代表者に送信されることができる。遠隔操作者および/または消費者サービス代表者はその後、ユーザおよび/またはAVシステム3602内の他の搭乗者によって提示される課題に対処することが可能とされてもよい。
【0116】
人工知能車両アシスタントがAVシステム3602のユーザ経験を強化することを可能にするために、自律音声応答システム(「AVRS」)3612が、AVシステム3602によって提供されることができる。一実施形態において、AVRS 3612は、音声応答システムを開始するために、「ZOTO」のような名前に応答する。例えば、AVシステム3602のユーザは、「ZOTO、いつ到着する?(ZOTO, when will we arrive?)」と尋ねることができる。この陳述は、AVRS 3612によって、質問および/またはコマンドの内容を識別するために、自然言語プロセッサのような様々なモジュールを通じて処理されることができる。この事例において、ユーザは、到着予想時刻(ETA)を知ることを所望する。ETAは、一実施形態において、交通条件、既知のルート距離および予想される走行速度を含む、AVシステム3602のプランナに提供される情報に基づいて決定されることができる。別の実施形態において、ETAは、AVサービス3660によって、AVシステム3602によって実行されているルート同様の、以前に完了されているルートに基づいて決定されてもよい。このETAメトリックは、一実施形態において、AVRS 3612によって、AVシステム3602に設置されている周囲音声システム3606および/またはスピーカを通じて提供されることができる。別の実施形態において、ETAは、ユーザデバイス3600を通じて提供されることができる。他の実施形態において、「ヘイ、ZOTO(HEY ZOTO)」および/またはユーザによって指定される名前のような、アクションに対する異なる呼びかけまたはタグが使用されてもよい。
【0117】
現在の速度、位置、近傍の関心ポイントなどのような、ユーザにとって有用な他の情報が、AVRS 3612を通じて提供されることができる。ユーザはまた、内部照明制御システム3604、周囲音声システム3606、温度制御システム3608、路面対処優先度モジュール3610、緊急ユーザインターフェース端末3614、ルート変更要求システム3616、座席制御システム3618、搭乗者セキュリティシステム3650、および/または視覚的識別システム3652のような、上述されている様々なサブシステムのうちの1つを制御するために、ユーザデバイス3600を通す代わりに、AVRS 3612と対話することもできる。例えば、ユーザは、照明を下げ、自身のユーザデバイス3600からプレイリストをストリーミングし、スムーズ搭乗を有することを、単純に音声コマンドを通じてこれらの変更を要求することによって行うことを要求することがある。一実施形態において、AVRS 3612に投げられるコマンドおよび/または質問は、応答を解釈するために、遠隔操作者および/または消費者サービス代表者に送信されてもよい。ユーザが、応答が遠隔操作者および/または消費者サービス代表者によって生成されたものであることを意識しなくてもよいように、応答は、AVRS 3612を通じてテキストまたは発話として入力されることができる。別の実施形態において、AVRS 3612は、応答が、AVシステム3602内から急速に生成されることを可能にする人工知能(AI)システムおよび処理を含む。
【0118】
同様に、AVRS 3612は、ユーザがAVシステム3602を方向転換および/またはルート変更するためのインターフェースを提供することができる。例えば、ユーザは、停車の追加、搭乗の目的地の変更、新たな搭乗者の乗車、搭乗者の下車などのような、様々なコマンドを提示することができる。ルート変更要求システム3616は、AVRS 3612によって伝えられるコマンドを解釈し、搭乗に対する変更の確認を要求することができる。確認は、一実施形態において、ユーザデバイス3600上で行われてもよい。別の実施形態において、確認は、AVRS 3612を通じて、AVシステム3602に設置されているマイクロフォンおよびスピーカを通じて要求されることができる。
【0119】
ルート変更要求システム3616は、図36Bにさらに示されているように、ユーザデバイス3600を通じて、ルートを変更し、または、他の様態で、搭乗者、停車などのような、搭乗の様々なパラメータを変更することを求める要求を受信することができる。ユーザデバイス3600は、通信同期モジュール3622、車両ロケータシステム3624、支払い方法モジュール3626、ソーシャルネットワーキングモジュール3628、車両要求モジュール3630、車両予約モジュール3632、顧客満足モジュール3634、およびエンターテインメントインターフェースモジュール3636を含むことができるAVサービスアプリケーション3620を含むことができる。ユーザデバイス3600はまた、GPSモジュール3640、1つまたは複数のソーシャルメディアアプリケーション3642、マルチメディアアプリケーション3644、および通信アプリケーション3646のような、他のアプリケーションおよびモジュールをも含むことができる。
【0120】
ルート変更要求システム3616は、AVサービスアプリケーション3620によって提供されるユーザインターフェースを通じてテキスト入力または選択を受信することができる。例えば、AVサービスアプリケーション3620によって提供されるユーザインターフェースに入力される、新たな目的地住所を追加することを通じて、ルートに対する変更が要求されてもよい。別の実施形態において、AVサービスアプリケーション3620によって提供されるユーザインターフェースにおいてマップが提供されることができ、このマップ上で、ユーザは単純に新たな目的地を指し示すことができる。さらなる実施形態において、ユーザは、目的地の変更が要求されていることをAVシステム3602に指示するために、コーヒー店のような、マップ上の様々なアトラクションまたは関心ポイントを選択することができる。ユーザが、ソーシャルメディアアプリケーション3642上の友人のような搭乗者を追加し、停車を追加し、および/または、交通量を回避することを可能にするためのユーザインターフェースもまた、AVサービスアプリケーション3620によって提供されることもできる。
【0121】
AVサービスアプリケーション3620によって提供されるユーザインターフェースはまた、ユーザが、通信同期モジュール3622、車両ロケータシステム3624、支払い方法モジュール3626、ソーシャルネットワーキングモジュール3628、車両要求モジュール3630、車両予約モジュール3632、顧客満足モジュール3634、およびエンターテインメントインターフェースモジュール3636のような、アプリケーションの様々な特徴にアクセスすることを可能にすることもできる。通信同期モジュール3622は、BLUETOOTHおよび/またはWIFIのような、1つまたは複数の様々な通信プロトコルを通じて、AVシステム3602とユーザデバイス3600との間の直接通信リンクを形成するために使用されることができる。通信同期モジュール3622は、ユーザが、AVシステム3602を通じて音楽およびビデオのようなメディアをストリーミングし、ハンズフリー通話をかけ、行うことを可能にすることもできる。通信同期モジュール3622は、AVシステム3602を、GPSモジュール3640、ソーシャルメディアアプリケーション3642、マルチメディアアプリケーション3644、および/または通信アプリケーション3646のような、ユーザデバイス3600上の他のアプリケーションおよび/またはモジュールと接続することができる。例えば、ユーザは、AVシステム3602のスピーカおよびマイクロフォンを通じてテレビ電話会議をストリーミングすことができる。一実施形態において、AVシステム3602はまた、通信同期モジュール3622を通じて接続するために利用可能なビデオスクリーンをも含むことができる。
【0122】
車両ロケータシステム3624は、AVサービスアプリケーション3620上のユーザインターフェース上に提供されるマップを通じてAVシステム3602の位置を提供することができる。車両ロケータシステム3624は、一実施形態において、ユーザに対するAVシステム3602の位置を提供するために、ユーザデバイス3600のGPSモジュール3640から取得されるGPS位置情報を使用することができる。AVシステム3602の位置は、GPS、ライダセンサ、マップタイルデータ、IMUなどのような、AVシステム3602のセンサからの連続的にキャプチャされるデータに基づいてユーザデバイス3600に提供されることができる。一実施形態において、センサデータは、車両ロケータシステム3624を通じてユーザデバイス3600に提供されるAVシステム3602の位置を指示するデータを提供するデータストリームに融合される。一実施形態において、車両ロケータシステム3624は、ユーザデバイス3600のGPSモジュール3640から取得されるGPS情報、および、派遣モジュール3654によって提供される情報に基づいて、ユーザの近くに配置されている様々なAVシステム3602の位置を提供することができる。このように、AVシステム3602のほぼリアルタイムの位置が、ユーザデバイス3600に提供されることができる。この情報は、ユーザがAVサービス3660を通じて搭乗を確保および/または要求しようと試行するときに、マップ上に提示されることができる。
【0123】
支払い方法モジュール3626は、ユーザが、クレジットカード情報のような、AVサービスアプリケーション3620に対する支払い情報を入力および/または修正することを可能にすることができる。ユーザは、一実施形態において、AVサービスアプリケーション3620が、PAYPAL、VENMOなどのような、支払いを管理する他のアプリケーションと接続することを可能にすることができる。BITCOINのような他の支払い方法が、実施形態において、支払い方法モジュール3626を通じて許容されてもよい。
【0124】
ソーシャルネットワーキングモジュール3628は、AVサービスアプリケーション3620のユーザが、様々なソーシャルメディアアプリケーション3642に対する投稿として共有するために、テキスト、画像、およびコンテンツをキャプチャすることを可能にすることができる。一実施形態において、ユーザは、ゴールデンゲートブリッジの写真のような、AVシステム3602によってキャプチャされたカメラデータを提供されてもよい。この写真は、例えば、エンターテインメントインターフェースモジュール3636を通じてAVサービスアプリケーション3620を通じて提示されることができ、ソーシャルネットワーキングモジュール3628および/またはテキストもしくはメッセージングアプリケーションのような通信アプリケーション3646を通じて、FACEBOOK、TWITTER、EMAILなどのような様々なソーシャルネットワーキングチャネルの間で共有されることができる。ルート、AVシステム3602によってキャプチャされるライダデータ、センサからキャプチャされる他のデータなどのような、搭乗に関する他の情報が共有されてもよい。一実施形態において、車両は、車両がソーシャルネットワーキングアプリケーション3642上で友人として「追加」されることができるように、ソーシャルネットワーキングの存在を有してもよい。別の実施形態において、搭乗は、AVサービス3660のユーザであるが、友人または知人でなくてもよい他の搭乗者と共有することができる。実施形態において、ソーシャルネットワーキングモジュール3628を通じて、AVシステム3602内の搭乗者の間で、連絡先情報および/またはソーシャルネットワーキング情報が共有されることができる。
【0125】
車両要求モジュール3630は、ユーザが搭乗を要求するための機能を提供することができ、ユーザが、搭乗者の数、停車の回数、および目的地のような、要求されている搭乗に関する様々な情報アイテムを入力することを可能にする。一実施形態において、ユーザの現在の位置が、ユーザが乗車させられる起点位置として使用される。別の実施形態において、ユーザは、GPSモジュール3640および/または他の位置把握デバイスによって決定される、ユーザの現在の位置とは異なる起点位置を入力してもよい。車両要求モジュール3630を通じて、搭乗を求める要求が、AVサービス3660の派遣モジュール3654に送信されることができる。
【0126】
車両予約モジュール3632は、将来の日付および起点位置において予約を設定し、または、AVシステム3602を確保するために使用されることができる。例えば、車両予約モジュール3632は、ユーザが予約時に家に配置されていないにもかかわらず、午前5時におけるユーザの家からサンフランシスコ空港までの搭乗を確保することができる。一実施形態において、車両予約モジュール3632は、特定の時刻における家から仕事への搭乗、仕事から家への搭乗など、繰り返される搭乗を記憶することができる。顧客満足モジュール3634は、ユーザが、AVサービスアプリケーション3620を通じてAVシステム3602および/またはAVサービス3660に関するフィードバックを提供することを可能にすることができる。これは、格付け、コメントなどを含むことができる。
【0127】
エンターテインメントインターフェースモジュール3636は、ゲーム、音楽、および/または、AVシステム3602とインターフェースするための他のメディアを提供することができる。例えば、通信同期モジュール3622を通じて確立される直接リンクを通じてAVシステム3602に、ユーザデバイス3600を通じて音楽がストリーミングされてもよい。一実施形態において、音楽は、AVサービスアプリケーション3620を通じて直接的に制御されてもよい。別の実施形態において、AVシステム3602からのデータは、近傍のランドマークを識別するゲーム、地方の歴史に関する雑学ゲームなどのような、エンターテインメントインターフェースモジュール3636を通じて提供されるゲームにおいて使用されることができる。一実施形態において、エンターテインメントインターフェースモジュール3636は、ユーザがAVサービスアプリケーション3620と対話するためのツアーガイドスタイルのインターフェースを含むことができる。別の実施形態において、このツーリスト情報は、AVシステム3602によってキャプチャされる3Dポイントクラウドデータおよび/またはカメラデータ上に重ね合わされ、AVサービスアプリケーション3620上のユーザインターフェース上に提示されることができる。重ね合わされる情報は、実施形態において、AVシステム3602がその環境を通じて走行しているときに提示されることができる。さらなる実施形態において、この情報は、AVシステム3602に設置されている1つまたは複数のスクリーン上に提示されることができ、または、AVシステム3602の表面上に投影されることができる。
【0128】
別の実施形態において、エンターテインメントインターフェースモジュール3636は、エンターテインメントおよび/または他の効果を提供するために、内部照明制御システム3604のような他のサブシステムと対話することができる。例えば、マルチメディアアプリケーション3644のような、ユーザデバイス3600上の外部アプリケーションは、マルチメディアアプリケーション3644を通じて再生されている音楽に従って光シーケンスがタイミングを取ることができるように、エンターテインメントインターフェースモジュール3636を通じてAVシステム3602の内部照明制御システム3604を制御するようにプログラムされることができる。別の例として、温度制御システム3608および周囲音声システム3606は、AVシステム3602を通じてストリーミングされているビデオを通じて提示されている恐ろしい物語に合わせて音声効果および/または雰囲気を提供するために、エンターテインメントインターフェースモジュール3636によって制御されることができる。
【0129】
図37は、様々な実施形態による、自律車両システムの様々な特徴の要求制御の高レベルブロック図を示す。一実施形態において、自律車両システム3602(「AVシステム」)は、確率的決定モジュール3702および喚情音声生成モジュール(emotive voice generation module)3704を含む自律音声応答システム3612を含むことができる。AVシステム3602はまた、軌道選択モジュール3724を含むプランナモジュール3722をも含むことができる。AVシステム3602はまた、ビデオスクリーン3718、車両アクチュエータ3728、オーディオスピーカ3720、および温度制御装置3730のような、AVシステム3602の様々な物理的態様を制御するコントローラモジュール3716をも含むことができる。
【0130】
AVシステム3602内のセンサ3706は、マイクロフォンセンサ3708、ライダセンサ3710、レーダセンサ3734、IMU 3712、カメラ3714、GPS 3736、ソナーセンサ3732、および他のセンサ3738を含むことができる。AVシステム3602は、一実施形態において、センサ3706に依拠し、ライダセンサ3604からのデータおよびIMU 3712からの運動データのような、異なるタイプのセンサによって生成されるデータを「融合」することができる。ローカライザは、示されていないが、知覚のフィールド内のラベル付けされているオブジェクトに確率スコアを割り当てる、現在の環境の確率マップを生成することができる。センサデータは、AVRS 3612によって、様々な質問および/またはコマンドにどのように応答すべきかの決定を行うのに使用されることができる。
【0131】
自律音声応答システム3612は、質問および/またはコマンドを解釈し、応答するための1つまたは複数の確率モデルを生成する確率的決定モジュール3702を含むことができる。AVRS 3612は、発話を認識するために使用されることができる自然言語処理システム(示されていない)を含むことができる。他の実施形態において、AVシステム3602において発話される、および/または、AVシステム3602に向けられている発話から抽出される種々の単語に確率を割り当てるために、音声認識システムが、確率的決定モジュール3702とともに使用されることができる。質問および/またはコマンドが様々な確率的方法を通じて解釈されると、同様に、確率的決定モジュール3702によって応答が生成されることができる。
【0132】
質問またはコマンドに対する応答を決定する一般的な方法は、生成的確率モデルを使用して、一連の段階的増分を通じて最適な応答に向かって収束する最初の推測を含む。検索は計算的に費用がかかるため、許容可能である応答に到達するために発見的規則が使用されてもよい。
【0133】
別の実施形態において、確率的決定モジュール3702は、質問またはコマンドに対する応答において支援を要求する要求を遠隔操作者システム3750に送信することができる。遠隔操作者システム3750は、任意選択的に、ユーザデバイス3600を介して入力される要求、AVRS 3612を通じてインターセプトされる音声コマンド、および/または、AVシステム3602の内部の端末において作動されるボタンを含む、任意のユーザ経験課題に関係して、AVシステム3602によって接触されてもよい。例えば、「助けて(HELP)」の音声コマンドが、AVRS 3612によって検出されてもよい。AVRS 3612は、いずれの種類の助けが必要とされているかを識別するためにユーザとの対話に携わることができる。別の実施形態において、AVシステム3602は、音声会議を確立するために受信されるデータによって、直接的に遠隔操作者システム3750に接続する。遠隔操作者システム3750は、AVシステム3602の現在の軌道および/またはルート、ならびに、例えば、現在の電池レベル、計算処理効率、および/または記憶容量のような他の動作パラメータを提示されることができる。遠隔操作者システム3750上に提供されるインターフェースを通じて、遠隔操作者は、一実施形態において、スピーカ3720およびマイクロフォンセンサ3708を通じたユーザとの会話に携わることによって、いずれの助けが必要とされているか、または、コマンドが誤って発行されたか否かを識別することができる。
【0134】
喚情音声生成モジュール3704は、AVRS 3612のための、1つまたは複数の異なるタイプの声を生成することができる。一実施形態において、興奮させられている、楽しい、悲しい、混乱させられている、怒り、などのような、様々な感情にマッピングするための様々な音声を指定するアルゴリズムに基づいて、声が生成されることができる。別の実施形態において、喚情音声生成モジュール3704は、これらの感情にマッピングされる音声効果の所定のセットを使用することができる。さらなる実施形態において、喚情音声生成モジュール3704は、肯定的な感情を、AVRS 3612のより高い周波数の音声および/または声にマッピングすることができ、一方で、否定的な感情は、より低い周波数の音声および/または声にマッピングされることができる。
【0135】
プランナモジュール3722は、一実施形態において、ルートストア3726に記憶されている様々なルートの中から選択することができる軌道選択モジュール3724を含むことができる。一実施形態において、軌道は、到着予想時刻(ETA)を含むように生成されることができる。軌道は、現在の交通条件、既知の工事領域、および、ルートの部分に対する規制されている速度制限に基づいて、最適な到着予想時刻を生成するために移動時間を低減するように最適化されることができる。ETAは、一実施形態において、生成された軌道と関連付けて記憶されることができる。例えば、ユーザは、ユーザについてルートがルートストア3726に記憶されるように、仕事の位置と家の位置との間の移動を要求することができる。ユーザが同じルートを要求すると、軌道選択モジュール3724によって軌道が自動的に選択されることができる。別の実施形態において、AVシステム3602は、停車を追加すること、様々な位置において搭乗者を乗車または下車させることなどのいずれかによって、ルートを変更するように要求されてもよい。最適化されたルートは、最適化されたルートをルートストア3726に記憶することができるように、現在の交通条件に基づいてプランナモジュール3722によって決定されることができる。一実施形態において、AVシステム3602にローカルに記憶されたルートは、他のAVシステム3602および/またはAVサービス3660と共有されることができる。
【0136】
図38は、実施形態による、自律車両管理システムのブロック図を示す、自律車両サービスを通じて自律車両システムに要求し、これを制御するためのシステムのネットワーク図である。システム環境は、1つまたは複数のAVシステム3602、遠隔操作者システム3750、ユーザデバイス3600、自律車両(「AV」)管理システム3800、およびネットワーク3804を含む。代替的な構成において、異なるおよび/または追加のモジュールがシステムに含まれてもよい。
【0137】
ユーザデバイス3600は、ユーザ入力を受信することができ、ネットワーク3804を介してデータを送信および受信することができる1つまたは複数のコンピューティングデバイスを含むことができる。一実施形態において、ユーザデバイス3600は、Microsoft Windows互換オペレーティングシステム(OS)、Apple OS X、および/またはLinuxディストリビューションを実行する従来のコンピュータシステムである。別の実施形態において、ユーザデバイス3600は、個人情報端末(PDA)、携帯電話、スマートフォン、ウェアラブルデバイスなどのような、コンピュータ機能を有するデバイスであってもよい。ユーザデバイス3600はネットワーク3804を介して通信するように構成される。ユーザデバイス3600は、アプリケーション、例えば、ユーザデバイス3600のユーザがAV管理システム3800と対話することを可能にするブラウザアプリケーションを実行することができる。別の実施形態において、ユーザデバイス3600は、iOSおよびANDROIDのようなユーザデバイス3600のネイティブオペレーティングシステム上で作動するアプリケーションプログラミングインターフェース(API)を通じてAV管理システム3800と対話する。
【0138】
一実施形態において、ネットワーク3804は、標準的な通信技術および/またはプロトコルを使用する。したがって、ネットワーク3804は、Ethernet、802.11、世界規模相互運用マイクロ波アクセス(WiMAX)、3G、4G、CDMA、デジタル加入者線(DSL)などのような技術を使用するリンクを含むことができる。同様に、ネットワーク3804上で使用されるネットワーク接続プロトコルは、マルチプロトコルラベルスイッチング(MPLS)、伝送制御プロトコル/インターネットプロトコル(TCP/IP)、ユーザデータグラムプロトコル(UDP)、ハイパーテキスト転送プロトコル(HTTP)、簡易メール転送プロトコル(SMTP)、およびファイル転送プロトコル(FTP)を含むことができる。ネットワーク3804を介して交換されるデータは、ハイパーテキストマークアップ言語(HTML)および拡張マークアップ言語(XML)を含む技術および/またはフォーマットを使用して表現されることができる。加えて、リンクのすべてまたはいくつかは、セキュアソケットレイヤ(SSL)、トランスポート層セキュリティ(TLS)、およびインターネットプロトコルセキュリティ(IPsec)のような従来の暗号化技術を使用して暗号化されることができる。
【0139】
図38は、AV管理システム3800のブロック図を含む。AV管理システム3800は、搭乗要求ストア3802と、ウェブサーバ3810と、API管理モジュール3808と、ユーザ経験モジュール3812と、交通コントローラモジュール3806と、派遣モジュール3654を含むAVサービス3660とを含む。他の実施形態において、AV管理システム3800は、様々な用途のための、追加の、より少ない、または異なるモジュールを含むことができる。ネットワークインターフェース、セキュリティ機能、ロードバランサ、フェイルオーバーサーバ、管理およびネットワーク動作コンソールなどのような従来の構成要素は、システムの詳細を分かりにくくしないように、示されていない。
【0140】
ウェブサーバ3810は、AV管理システム3800を、ネットワーク3804を介して1つまたは複数のユーザデバイス3600にリンクし、ウェブサーバ3810は、ウェブページ、および、Java、Flash、XMLなどのような他のウェブ関連コンテンツをサービスする。ウェブサーバ3810は、AV管理システム3800とユーザデバイス3600との間でメッセージ、例えば、インスタントメッセージ、待ち行列に入れられたメッセージ(例えば、電子メール)、テキストおよびSMS(ショートメッセージサービス)メッセージ、または任意の他の適切なメッセージング技法を使用して送信されるメッセージを受信およびルーティングする機能を提供することができる。ユーザは、ユーザデバイス3600によって見るために、情報、例えば、AV管理システム3800に記憶されている画像またはビデオを提供することを求める要求を、ウェブサーバ3810に送信することができる。加えて、ウェブサーバ3810は、iOS、ANDROID、webOS、およびRIMのようなネイティブユーザデバイスオペレーティングシステムにデータを直接的に送信するために、API機能を提供することができる。
【0141】
API管理モジュール3808は、AV管理システム3800が、遠隔操作者システム3750およびユーザデバイス3600のような様々なシステムと通信するために必要とされる1つまたは複数のアダプタを管理することができる。アプリケーションプログラミングインターフェース(API)またはアダプタが、データを外部ツール、ウェブサイト、およびユーザデバイス3600にプッシュするために使用されることができる。アダプタはまた、外部システムからデータを受信するために使用されることもできる。一実施形態において、API管理モジュール3808は、効率的に動作するために必要とされる外部システムへの接続の量を管理する。
【0142】
ユーザ経験モジュール3812は、AVサービス3660を通じたAVシステム3602の要求および制御においてユーザ経験を管理することができる。例えば、ユーザ経験モジュール3812は、一実施形態において、応答がリアルタイムに定式化されることができるように、AVRS 3612を通じてAVシステム3602によって受信される不明瞭なコマンドを、1つまたは複数の遠隔操作者システム3750にシームレスに誘導することができる。別の実施形態において、ユーザ経験モジュール3812は、AVシステム3602にわたって実施されることができる処理改善を識別するために、ユーザデバイス3600からキャプチャされる様々な不満および/またはフィードバックを集約することができる。
【0143】
交通コントローラモジュール3806は、ユーザによって要求されるルートを分析し、需要および/または予期される需要に基づいて、AVシステム3602をどこに派遣すべきかを決定することができる。例えば、搭乗要求ストア3802に記憶されている搭乗の分析に基づいて、交通コントローラモジュール3806は、搭乗要求の急増、搭乗要求を生成している起点および目的地位置、および、需要をカバーするために必要とされるAVシステム3602の数を識別するために、1つまたは複数の確率モデルを生成することができる。この情報に基づいて、最適な数のAVシステム3602がAVサービス3660の派遣モジュール3654によって様々な位置に派遣されることができ、AVサービス3660のユーザのユーザ経験をさらに最適化する。
【0144】
図39は、いくつかの例による、自律車両サービスの要求および制御のための処理を示す高レベルフロー図である。ユーザデバイスを通じたユーザからの要求が受信されることができる3900。要求は、例えば、自律車両がユーザを乗車させるためのものであってもよい。要求は、別の例においては、照明、温度、路面対処、座席構成、および/または周囲音声システムのような自律車両システムのいくつかの構成可能な特徴を変更することを求める要求であってもよい。別の実施形態において、要求は、既存の搭乗を異なる位置にルート変更すること、搭乗者を乗車または下車させること、停車を追加または搭乗から除去すること、または、他の様態で搭乗の軌道を修正することを求めるものであってもよい。
【0145】
任意選択的に、要求に基づいて、自律車両において応答が提供されることができる3902。要求が、照明、温度、路面対処、座席構成、および/または音声システムのような車両の特徴のパラメータを修正または変更することを求める要求である場合、提供されることができる3902応答は、変更を確認する音声応答のような、自律車両における要求の確認であってもよい。要求が、AVシステムの起動またはルートに影響を与えるパラメータを変更することを求める要求である場合、提供されることができる3902応答は、要求の確認を含んでもよい。
【0146】
任意選択的に、要求に基づいて、1つまたは複数の軌道が、自律車両において選択されることができる3904。この軌道の選択は、例えば、AVシステムをルート変更することを求める要求に従うことができる。選択されることができる39041つまたは複数の軌道は、AVシステムのプランナおよび/またはAVシステムと通信する遠隔操作者システムによって定式化されることができる。
【0147】
また任意選択的に、ユーザデバイスが、同期接続を通じて自律車両に接続されることができる3906。例えば、ユーザから受信される3900要求は、ユーザデバイスからAVシステムに音楽をストリーミングすることを求める要求であってもよい。その事例において、ユーザデバイスが自律車両に直接的に接続される3906ように、同期接続が要求されてもよい。上述されているように、そのような接続は、BLUETOOTHまたは別の通信プロトコルを通じたものであってもよい。加えて、ユーザデバイスは、ユーザが、自律車両を通じて通話呼を行うことを要求すること、または、写真もしくはビデオコンテンツのような他のコンテンツを、車両を通じてストリーミングすることのような他の理由から、自律車両に接続されることができる3906。
【0148】
要求に含まれる方策はその後、自律車両において実行されることができる3908。上記で言及されているように、要求は、例えば、BRITNEY SPEARSによるプレイリストを再生するための音声コマンドを含むことができる。コマンドが解釈されると、方策は、AVシステム内のスピーカを通じプレイリストをストリーミングすることであってもよい。
【0149】
図40は、いくつかの例による、自律車両サービスを提供するための処理を示す高レベルフロー図である。ユーザと関連付けられたユーザデバイスの位置が識別されることができる4000。ユーザデバイスの位置は、ユーザデバイスから検出されるGPS位置に基づいて識別されることができる4000。その位置に移動するために、自律車両サービスと関連付けられた自律車両システムに、コマンドが送信されることができる4002。このコマンドは、例えば、AVシステムに、識別された位置まで走行するように命令する派遣コマンドであってもよい。その後、ユーザデバイスと関連付けられた情報が自律車両システムに提供され4004、情報は、自律車両システムの1つまたは複数のサブシステムを適合させるための構成データを含む。そのような情報は、路面対処、照明制御、温度制御、周囲音声システム、座席構成などに関するユーザの優先度を含むことができる。
【0150】
図41図42は、いくつかの例による、自律車両サービスの特徴の要求および制御のための処理を示す高レベルフロー図である。周囲特徴を含む自律車両システムが自律車両サービスを通じて周囲特徴のうちの1つを修正することを求める要求を、ユーザデバイスから受信することができる4100。例えば、要求は、1つまたは複数のネットワークおよび/または通信チャネルを介して、自律車両サービスを通じて自律車両システムにおいて受信されることができる4100。周囲特徴のうちの1つの変更パラメータが、要求から決定されることができる4102。変更パラメータは、自律車両サービスに要求を通信するアプリケーションを動作させているユーザデバイスからキャプチャされている要求のような、要求のフォーマットを通じて決定されることができる4102。変更パラメータは、一実施形態において、サブシステムの予め構成されているモードの選択を含むことができる。別の実施形態において、変更パラメータは、AVシステムの周囲特徴に対する調整の値を含むことができる。周囲特徴のうちの1つの変更パラメータが、その後、自律車両システムにおいて実行されることができる4104。例えば、温度を特定のレベルまで変化させることを求める要求に応答して、自律車両の温度制御システムによって、温度が変更されることができる。
【0151】
自律車両システムにおいて、自律車両システムと関連付けられた特徴を制御するためのコマンドが受信されることができる4200。例えば、コマンドは、自律車両システムに設置されているマイクロフォンを使用して、自動音声応答システムを通じて受信されることができる4200。コマンドはまた、通信チャネルを通じてAV管理システムから受信されることもできる4200。コマンドに基づいて、1つまたは複数の方策が決定されることができる4202。例えば、コマンドが安全でない操作または動作をもたらす可能性がある場合、方策は、コマンドが安全でなく、無視されることになることを返信することであってもよい。別の例として、安全な停止位置に移動すること、コマンドを実行するための1つまたは複数の経路を決定すること4202、および遠隔操作者からの支援を要求することのような、様々な他の方策が決定されることができる4202。1つまたは複数の方策と関連付けられた1つまたは複数の確率モデルが決定されることができる4204。例えば、確率モデルは、各方策が、方策の完了に成功する尤度を決定するために生成されることができる。別の実施形態において、ベイズ推論方法、機械学習方法、発見的問題解決、およびランダムウォーク分析のような様々な方法が、方策のための確率モデルを生成するために使用されることができる。
【0152】
1つまたは複数の確率モデルに基づいて、1つまたは複数の方策のサブセットを形成するための信頼水準が決定されることができる4206。例えば、信頼水準は、センサからのAVシステムにとって利用可能な与えられているデータ、ログデータ、および、AV管理システムによって提供される他の情報に基づいて決定されることができる4206。1つまたは複数の方策のサブセットから選択される方策は、その後、コマンドに応答して、自律車両システムにおいて実行されることができる4208。一実施形態において、所定の閾値よりも高い信頼水準を有する方策が実行されることができる4208。別の実施形態において、サブセットからのランダムな選択が実行されることができ4208、1つまたは複数の方策のサブセットは、所定の閾値よりも高い信頼水準を有する。
【0153】
図43は、いくつかの例による、自律車両サービスに対するアクセスを可能にするための処理を示す高レベルフロー図である。複数のセンサを含む自律車両システムにおいて、ユーザを乗車位置から目的地まで輸送することを求める要求が、自律車両サービスを通じて受信されることができる4300。乗車位置に配置されているユーザはその後、複数のセンサから処理されているデータから識別されることができる4302。識別処理は、顔認識、視覚的識別、生体識別、および/または別の認証処理を含むことができる。ユーザは、ユーザの識別に応答して、自律車両システムへのアクセスを提供されることができる4304。車両のドアを開くことによってアクセスが提供されることができる4304。
【0154】
図44図46は、様々な実施形態による、自律車両サービスを要求および制御するように構成されているデバイスに配置されている例示的なコンピューティングプラットフォームを示す。いくつかの例において、コンピューティングプラットフォーム4400、4500および4600は、コンピュータプログラム、アプリケーション、方法、処理、アルゴリズム、または上述されている技法を実施するための他のソフトウェアを実施するために使用されることができる。
【0155】
いくつかの事例において、コンピューティングプラットフォームは、ウェアラブルデバイスまたは機器、モバイルコンピューティングデバイス4490b、4590bもしくは4690b、または、コンピューティングデバイス4490a、4590aもしくは4690aのような任意の他のデバイスに配置されてもよい。
【0156】
コンピューティングプラットフォーム4400、4500、または4600は、情報を通信するためのバス4404、4504または4604または他の通信メカニズムを含み、これは、例えば、プロセッサを有するモバイルコンピューティングデバイスおよび/または通信デバイスを含むコンピューティングデバイスと通信するための通信リンク4414、4514または4614上でのポートを介した通信を促進するために、プロセッサ4406、4506または4606、システムメモリ4410、4510または4610(例えば、RAMなど)、記憶装置4408、4508または4608(例えば、ROMなど)、通信インターフェース4412、4512または4612(例えば、Ethernetまたは無線コントローラ、Bluetoothコントローラなど)のようなサブシステムおよびデバイスを相互接続する。プロセッサ4406、4506または4606は、Intel(登録商標) Corporationによって製造されるもののような1つまたは複数の中央処理装置(「CPU」)、または1つまたは複数の仮想プロセッサ、およびCPUと仮想プロセッサとの任意の組み合わせによって実施されることができる。コンピューティングプラットフォーム4400、4500、または4600は、限定ではないが、キーボード、マウス、オーディオ入力(例えば、発話-テキストデバイス)、ユーザインターフェース、ディスプレイ、モニタ、カーソル、タッチセンサ式ディスプレイ、LCDまたはLEDディスプレイ、および他のI/O関連デバイスを含む入出力デバイス4402、4502または4602を介して入力および出力を表現するデータを交換する。
【0157】
いくつかの例によれば、コンピューティングプラットフォーム4400、4500、または4600は、システムメモリ4410、4510または4610に記憶されている1つまたは複数の命令の1つまたは複数のシーケンスを実行するプロセッサ4406、4506または4606によって特定の動作を実施し、コンピューティングプラットフォーム4400、4500、または4600は、クライアント-サーバ構成、ピアツーピア構成において、または、スマートフォンなどを含む任意のモバイルコンピューティングデバイスとして実施されることができる。そのような命令またはデータは、記憶装置4408、4508または4608のような別のコンピュータ可読媒体からシステムメモリ4410、4510または4610に読み出されることができる。いくつかの例において、ソフトウェア命令の代わりにまたはソフトウェアと組み合わせて、配線回路が実施のために使用されてもよい。命令は、ソフトウェアまたはファームウェアにおいて具現化されることができる。「コンピュータ可読媒体」という用語は、実行のためにプロセッサ4406、4506または4606に命令を提供することに関与する任意の有形媒体を参照する。そのような媒体は、限定ではないが、不揮発性媒体および揮発性媒体を含む多くの形態をとることができる。不揮発性媒体は、例えば、光または磁気ディスクなどを含む。揮発性媒体は、システムメモリ4410、4510または4610のようなダイナミックメモリを含む。
【0158】
一般的な形態のコンピュータ可読媒体は、例えば、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、もしくは任意の他の磁気記憶媒体、CD-ROM、任意の他の光学媒体、パンチカード、紙テープ、穴のパターンを有する任意の他の物理媒体、RAM、PROM、EPROM、FLASH‐EPROM、任意の他のメモリチップもしくはカートリッジ、または、コンピュータがそこから読み出すことができる任意の他の媒体を含む。命令は、さらに、伝送媒体を使用して送信または受信されることができる。「伝送媒体」という用語は、機械によって実行するための命令を記憶、符号化または搬送することが可能である任意の有形または無形媒体を含むことができ、デジタルもしくはアナログ通信信号、または、そのような命令の通信を促進するための他の無形媒体を含む。伝送媒体は、コンピュータデータ信号を伝送するためのバス4404、4504または4604を含むワイヤを含む、同軸ケーブル、銅線、および光ファイバを含む。
【0159】
いくつかの例において、命令のシーケンスの実行は、コンピューティングプラットフォーム4400、4500、または4600によって実施されることができる。いくつかの例によれば、コンピューティングプラットフォーム4400、4500、または4600は、互いに協働して(または互いに対して非同期的に)命令のシーケンスを実施するために、通信リンク4414、4514または4614(例えば、LAN、PSTNのような有線ネットワーク、または、様々な規格およびプロトコルのWiFi、BLUETOOTH、Zig-Bee等を含む任意の無線ネットワーク)によって任意の他のプロセッサに結合されることができる。コンピューティングプラットフォーム4400、4500、または4600は、通信リンク4414、4514または4614および通信インターフェース4412、4512または4612を通じて、プログラムコード(例えば、アプリケーションコード)を含むメッセージ、データ、および命令を送信および受信することができる。受信されるプログラムコードは、受信されるときにプロセッサ4406、4506または4606によって実行されてもよく、および/または、後の実行のためにメモリ4410、4510もしくは4610または他の不揮発性記憶装置に記憶されてもよい。
【0160】
示されている例において、システムメモリ4410、4510または4610は、本明細書において記述されている機能を実施するための実行可能命令を含む様々なモジュールを含むことができる。システムメモリ4410、4510または4610は、オペレーティングシステム(「O/S」)4430、4530もしくは4630、ならびに、アプリケーション4432、4532もしくは4632および/または論理モジュール4450、4550もしくは4650を含むことができる。図44に示されている例において、システムメモリ4410は、ユーザ経験モジュール3812と、API管理モジュール3808と、交通コントローラモジュール3806と、派遣モジュール3654を含む自律車両サービス3660とを含む。図45に示されているシステムメモリ4550は、車両ロケータシステム3624、車両予約モジュール3632、通信同期モジュール3622、顧客満足モジュール3634、支払い方法モジュール3626、車両要求モジュール3630、ソーシャルネットワーキングモジュール3628、およびエンターテインメントインターフェースモジュール3636を含む。図46に示されているシステムメモリ4650は、内部照明制御システム3604と、温度制御システム3608と、ルート変更要求システム3616と、座席制御システム3618と、搭乗者セキュリティシステム3650と、視覚的識別システム3652と、周囲音声システム3606と、緊急ユーザインターフェース端末3614と、路面対処優先度モジュール3610と、確率的決定(probabilistic deterministic)モジュール3702および喚情音声生成モジュール3704を含む自律音声応答システム3612と、軌道選択モジュール3724を含むプランナモジュール3722とを含む。メモリ4410、4510または4610に含まれるモジュールのうちの1つまたは複数は、本明細書において記述されている1つまたは複数の機能を実施するために出力を提供または消費するように構成されることができる。
【0161】
少なくともいくつかの例において、上述されている特徴のうちのいずれかの構造および/または機能は、ソフトウェア、ハードウェア、ファームウェア、回路、またはそれらの組み合わせにおいて実施されることができる。上記の構造および構成要素ならびにそれらの機能は、1つまたは複数の他の構造または要素とともに集約されてもよいことに留意されたい。代替的に、要素およびそれらの機能は、もしあれば、構成部分要素に分割されることができる。ソフトウェアとして、上述されている技法は、様々なタイプのプログラミング言語またはフォーマット言語、フレームワーク、構文、アプリケーション、プロトコル、オブジェクト、または技法を使用して実施されてもよい。ハードウェアおよび/またはファームウェアとして、上述されている技法は、フィールドプログラマブルゲートアレイ(「FPGA」)、特定用途向け集積回路(「ASIC」)、または任意の他のタイプの集積回路を設計するように構成されている任意のレジスタ転送言語(「RTL」)のようなハードウェア記述言語を含む、様々なタイプのプログラミングまたは集積回路設計言語を使用して実施されてもよい。いくつかの実施形態によれば、「モジュール」という用語は、例えば、ハードウェア回路もしくはソフトウェアのいずれか、または、それらの組み合わせにおいて実施されるアルゴリズムもしくはその部分、および/または論理を参照することができる。これらは、変更されることができ、提供されている例または記述に限定されない。
【0162】
いくつかの実施形態において、自律車両管理システムまたはそれらの構成要素のうちの1つもしくは複数、または本明細書において記述されている任意の処理もしくはデバイスは、携帯電話またはモバイルコンピューティングデバイスのようなモバイルデバイスと(例えば、有線または無線で)通信することができ、または、その中に配置されることができる。
【0163】
いくつかの事例において、モバイルデバイス、または、自律車両サービスもしくはその構成要素のうちの1つもしくは複数と通信する任意のネットワーク接続されているコンピューティングデバイス(図示せず)(または本明細書において記述されている任意の処理またはデバイス)は、本明細書において記述されている特徴のうちのいずれかの構造および/または機能のうちの少なくともいくつかを提供することができる。上述されている図面に示されているように、上述されている特徴のうちのいずれかの構造および/または機能は、ソフトウェア、ハードウェア、ファームウェア、回路、またはそれらの任意の組み合わせにおいて実施されることができる。上記の構造および構成要素ならびにそれらの機能は、1つまたは複数の他の構造または要素とともに集約され、または、組み合わされてもよいことに留意されたい。代替的に、要素およびそれらの機能は、もしあれば、構成部分要素に分割されることができる。ソフトウェアとして、上述されている技法のうちの少なくともいくつかは、様々なタイプのプログラミング言語またはフォーマット言語、フレームワーク、構文、アプリケーション、プロトコル、オブジェクト、または技法を使用して実施されてもよい。例えば、図面のうちのいずれかに示されている要素のうちの少なくとも1つは、1つまたは複数のアルゴリズムを表現することができる。または、それらの要素のうちの少なくとも1つは、構成構造および/または機能を提供するように構成されているハードウェアの部分を含む、論理の部分を表現することができる。
【0164】
例えば、自律車両サービスまたはその1つもしくは複数の構成要素のうちのいずれか、または本明細書において記述されている任意の処理もしくはデバイスは、メモリ内の1つまたは複数のアルゴリズムを実行するように構成されている1つまたは複数のプロセッサを含む1つまたは複数のコンピューティングデバイス(すなわち、装着されるかまたは搬送されるかを問わず、ウェアラブルデバイス、オーディオデバイス(ヘッドフォンまたはヘッドセットなど)または携帯電話)において実施されることができる。したがって、上述されている図面内の要素のうちの少なくともいくつかは、1つまたは複数のアルゴリズムを表現することができる。または、それらの要素のうちの少なくとも1つは、構成構造および/または機能を提供するように構成されているハードウェアの部分を含む、論理の部分を表現することができる。これらは、変更されることができ、提供されている例または記述に限定されない。
【0165】
ハードウェアおよび/またはファームウェアとして、上述されている構造技法は、フィールドプログラマブルゲートアレイ(「FPGA」)、特定用途向け集積回路(「ASIC」)、マルチチップモジュール、または任意の他のタイプの集積回路を設計するように構成されている任意のレジスタ転送言語(「RTL」)のようなハードウェア記述言語を含む、様々なタイプのプログラミング言語または集積回路設計言語を使用して実施されることができる。
【0166】
例えば、1つもしくは複数の構成要素を含むAV管理システム、または本明細書において記述されている任意の処理もしくはデバイスは、1つまたは複数の回路を含む1つまたは複数のコンピューティングデバイスにおいて実施されることができる。したがって、上述されている図面内の要素のうちの少なくとも1つは、ハードウェアの1つまたは複数の構成要素を表現することができる。または、それらの要素のうちの少なくとも1つは、構成構造および/または機能を提供するように構成されている回路の部分を含む、論理の部分を表現することができる。
【0167】
いくつかの実施形態によれば、「回路」という用語は、例えば、1つまたは複数の機能を実行するためにそれを通じて電流が流れるいくつかの構成要素を含む任意のシステムを参照することができ、構成要素は、個別のおよび複雑な構成要素を含む。個別の構成要素の例は、トランジスタ、抵抗器、キャパシタ、インダクタ、ダイオードなどを含み、複雑な構成要素の例は、フィールドプログラマブルゲートアレイ(「FPGA」)および特定用途向け集積回路(「ASIC」)を含む、メモリ、プロセッサ、アナログ回路、デジタル回路などを含む。それゆえ、回路は、電子構成要素および論理構成要素(例えば、例えばアルゴリズムの実行可能命令のグループのような命令を実行するように構成されており、したがって、回路の構成要素である論理)のシステムを含むことができる。いくつかの実施形態によれば、「モジュール」という用語は、例えば、ハードウェア回路もしくはソフトウェアのいずれか、または、それらの組み合わせにおいて実施されるアルゴリズムもしくはその部分、および/または論理を参照することができる(すなわち、モジュールは回路として実施することができる)。いくつかの実施形態において、アルゴリズムおよび/またはアルゴリズムが記憶されているメモリは、回路の「構成要素」である。したがって、「回路」という用語は、例えば、アルゴリズムを含む構成要素のシステムをも参照することができる。これらは、変更されることができ、提供されている例または記述に限定されない。
【0168】
上記の例は、理解の明瞭性の目的のためにいくらか詳細に記述されているが、上述されている本発明の技法は、提供されている詳細には限定されない。上述されている本発明の技法を実施する多くの代替的な方法がある。開示されている例は、例示であり、限定ではない。
【0169】
本発明の実施形態の上記の記述は、例示の目的のために提示されており、網羅的であることも、開示されている正確な形態に本発明を限定することも意図されていない。上記の開示に照らして多くの修正および変形が可能であることを、当業者は諒解することができる。
【0170】
本明細書のいくつかの部分は、情報に対する動作のアルゴリズムおよび記号的表現に関して本発明の実施形態を記述している。これらのアルゴリズムの記述および表現は、一般的に、データ処理技術分野における熟練者によって、他の当業者に自身の研究の要旨を効率的に伝達するために使用される。これらの動作は、機能的、計算的、または論理的に記述されているが、コンピュータプログラムまたは均等な電気回路、マイクロコードなどによって実施されるものとして理解される。さらにまた、これらの動作の構成を、一般性を損なうことなく、モジュールとして参照することも、時折は好都合であることも証明されている。記述されている動作およびそれらの関連付けられたモジュールは、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組み合わせにおいて具現化されてもよい。
【0171】
本明細書において記述されているステップ、動作、または処理はいずれも、単独でまたは他のデバイスと組み合わせて、1つまたは複数のハードウェアまたはソフトウェアモジュールによって実施または実装されてもよい。一実施形態において、ソフトウェアモジュールは、記述されているステップ、動作、または処理のいずれかまたはすべてを実施するために、コンピュータプロセッサによって実行されることができる、コンピュータプログラムコードを含むコンピュータ可読媒体を備えるコンピュータプログラム製品によって実施される。
【0172】
本発明の実施形態はまた、本明細書における動作を実施するための装置にも関連してもよい。この装置は、特に、要求される目的のために構築することができ、または、コンピュータに記憶されているコンピュータプログラムによって選択的に起動または再構成される汎用コンピューティングデバイスを含んでもよい。そのようなコンピュータプログラムは、コンピュータシステムバスに結合されることができる、非一時的有形コンピュータ可読記憶媒体、または、電子命令を記憶するのに適した任意のタイプの媒体に記憶されることができる。さらに、本明細書において参照される任意のコンピューティングシステムは、単一のプロセッサを含んでもよく、または、増大されたコンピューティング容量のために複数のプロセッサ設計を利用するアーキテクチャであってもよい。
【0173】
本発明の実施形態はまた、本明細書において記述されているコンピューティング処理によって製造される製品にも関連してもよい。そのような製品は、コンピューティング処理からもたらされる情報を含むことができ、情報は、非一時的有形コンピュータ可読記憶媒体に記憶され、本明細書において記述されているコンピュータプログラム製品または他のデータ組み合わせの任意の実施形態を含んでもよい。
【0174】
最後に、本明細書において使用されている文言は主に、読みやすさおよび教育的な目的のために選択されており、本発明の主題を詳述または制限するようには選択されていない。それゆえ、本発明の範囲は、この詳細な説明ではなく、本明細書に基づく出願に由来する任意の特許請求の範囲によって限定されることが意図される。したがって、本発明の実施形態の開示は、添付の特許請求の範囲に記載されている本発明の範囲の限定ではなく、例示であるように意図されている。
図1
図2
図3A
図3B
図3C
図3D
図3E
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26A
図26B
図27
図28
図29
図30
図31
図32
図33
図34
図35
図36A
図36B
図37
図38
図39
図40
図41
図42
図43
図44
図45
図46