(57)【要約】自律走行車に装着されたセンサから受信されたセンサデータに応答して、センサデータに基づいて、周辺環境を感知する。周辺環境には、複数のサブ環境が含まれる。それぞれのサブ環境について、サブ環境に関する複数の走行シナリオハンドラのいずれかが識別され、それぞれの走行シナリオハンドラは、複数の走行シナリオのいずれかに対応する。識別された走行シナリオハンドラは、サブ環境内での個別の走行条件を決定するために呼び出される。周辺環境に対する全体の走行条件は、識別された走行シナリオハンドラによって提供された個別の走行条件に基づいて決定される。ルートセグメントは、周辺環境の全体の走行条件に基づいて計画され、ルートセグメントは、ルートに関連する複数のルートセグメントの１つである。自律走行車は、計画されたルートセグメントを基礎として制御されて走行される。【選択図】図１
2019501435.tif 000002
【特許請求の範囲】
【請求項１】
自律走行車を走行させるためのコンピュータ実施方法であって、
自律走行車に装着された複数のセンサから受信されたセンサデータに応答して、前記センサデータに基づいて、前記自律走行車を囲んでいる複数のサブ環境を含む周辺環境を感知するステップと、
前記サブ環境のそれぞれについて、
前記サブ環境に関する複数の走行シナリオハンドラのうちの１つを識別し、ここで、前記走行シナリオハンドラのそれぞれは、複数の走行シナリオのうちの１つに対応し、
前記識別された走行シナリオハンドラを呼び出して、前記対応するサブ環境内の個別の走行条件を決定するステップと、
前記識別された走行シナリオハンドラにより提供された前記個別の走行条件に基づいて、前記周辺環境の全体の走行条件を決定するステップと、
前記周辺環境の全体の走行条件に基づいて、ルートセグメントを計画し、計画および制御データを生成するステップと、
前記計画及び制御データに基づいて、前記自律走行車を制御するステップと、
を含む、方法。
【請求項２】
請求項１に記載の方法において、
前記複数の走行シナリオハンドラのそれぞれは、前記センサデータに基づいて、前記自律走行車が前記対応するサブ環境内で動く方式を示す走行パラメータを提供する、方法。
【請求項３】
請求項１に記載の方法において、
前記複数の走行シナリオハンドラは、特定の走行シナリオを処理する第１のセットの走行シナリオハンドラと、共通の走行シナリオを処理する第２のセットの走行シナリオハンドラとを含む、方法。
【請求項４】
請求項３に記載の方法において、
前記第１のセットの走行シナリオハンドラのそれぞれは、第２のセットの走行シナリオハンドラのうち少なくとも１つを呼び出す、方法。
【請求項５】
請求項３に記載の方法において、
前記第１のセットの走行シナリオハンドラは、
右側車線のシナリオを処理する第１のハンドラと、
左側車線のシナリオを処理する第２のハンドラと、
交差路のシナリオを処理する第３のハンドラとを含む、方法。
【請求項６】
請求項５に記載の方法において、
前記第１のセットの走行シナリオハンドラは、
前方車両のシナリオを処理する第４のハンドラと、
後続車両のシナリオを処理する第５のハンドラと、
横断歩道のシナリオを処理する第６のハンドラと、をさらに含む、方法。
【請求項７】
請求項３に記載の方法において、
前記第２のセットの走行シナリオハンドラは、
交通信号のシナリオを処理する第１のハンドラと、
停止標識のシナリオを処理する第２のハンドラと、
譲歩標識のシナリオを処理する第３のハンドラと、を含む、方法。
【請求項８】
コマンドを記憶し、
前記コマンドがプロセッサによって実行されるとき、前記プロセッサによって自律走行車を走行させる動作を実行するようにする、非一時的機械可読媒体であって、
前記動作は、
自律走行車に装着された複数のセンサから受信されたセンサデータに応答して、前記センサデータに基づいて、前記自律走行車を囲んでいる複数のサブ環境を含む周辺環境を感知することと、
前記サブ環境のそれぞれについて、
前記サブ環境に関する複数の走行シナリオハンドラのうちの１つを識別し、ここで、前記走行シナリオハンドラのそれぞれは、複数の走行シナリオのうちの１つに対応し、
前記識別された走行シナリオハンドラを呼び出して、前記対応するサブ環境内の個別の走行条件を決定することと、
前記識別された走行シナリオハンドラにより提供された前記個別の走行条件に基づいて、前記周辺環境の全体の走行条件を決定することと、
前記周辺環境の全体の走行条件に基づいて、ルートセグメントを計画し、計画および制御データを生成することと、
前記計画及び制御データに基づいて、前記自律走行車を制御することと、
を含む、機械可読媒体。
【請求項９】
請求項８に記載の機械可読媒体において、
前記複数の走行シナリオハンドラのそれぞれは、前記センサデータに基づいて、前記自律走行車が前記対応するサブ環境内で動く方式を示す走行パラメータを提供する、機械可読媒体。
【請求項１０】
請求項８に記載の機械可読媒体において、
前記複数の走行シナリオハンドラは、特定の走行シナリオを処理する第１のセットの走行シナリオハンドラと、共通の走行シナリオを処理する第２のセットの走行シナリオハンドラとを含む、機械読取可能媒体。
【請求項１１】
請求項１０に記載の機械可読媒体において、
前記第１のセットの走行シナリオハンドラのそれぞれは、第２のセットの走行シナリオハンドラのうち少なくとも１つを呼び出す、機械読取可能媒体。
【請求項１２】
請求項１０に記載の機械可読媒体において、
前記第１のセットの走行シナリオハンドラは、
右側車線のシナリオを処理する第１のハンドラと、
左側車線のシナリオを処理する第２のハンドラと、
交差路のシナリオを処理する第３のハンドラとを含む、機械読取可能媒体。
【請求項１３】
請求項１２に記載の機械可読媒体において、
前記第１のセットの走行シナリオハンドラは、
前方車両のシナリオを処理する第４のハンドラと、
後続車両のシナリオを処理する第５のハンドラと、
横断歩道のシナリオを処理する第６のハンドラと、をさらに含む、機械読取可能媒体。
【請求項１４】
請求項１０に記載の機械可読媒体において、
前記第２のセットの走行シナリオハンドラは、
交通信号のシナリオを処理する第１のハンドラと、
停止標識のシナリオを処理する第２のハンドラと、
譲歩標識のシナリオを処理する第３のハンドラと、を含む、機械読取可能媒体。
【請求項１５】
プロセッサと、
前記プロセッサに接続されてコマンドを記憶するメモリとを含み、
前記コマンドが前記プロセッサによって実行されるとき、前記プロセッサによって自律走行車を走行させる動作を実行するようにする、データ処理システムであって、
前記動作は、
自律走行車に装着された複数のセンサから受信されたセンサデータに応答して、前記センサデータに基づいて、前記自律走行車を囲んでいる複数のサブ環境を含む周辺環境を感知することと、
前記サブ環境のそれぞれについて、
前記サブ環境に関する複数の走行シナリオハンドラのうちの１つを識別し、ここで、前記走行シナリオハンドラのそれぞれは、複数の走行シナリオのうちの１つに対応し、
前記識別された走行シナリオハンドラを呼び出して、前記対応するサブ環境内の個別の走行条件を決定することと、
前記識別された走行シナリオハンドラにより提供された前記個別の走行条件に基づいて、前記周辺環境の全体の走行条件を決定することと、
前記周辺環境の全体の走行条件に基づいて、ルートセグメントを計画し、計画および制御データを生成することと、
前記計画及び制御データに基づいて、前記自律走行車を制御することと、
を含む、データ処理システム。
【請求項１６】
請求項１５に記載のデータ処理システムにおいて、
前記複数の走行シナリオハンドラのそれぞれは、前記センサデータに基づいて、前記自律走行車が前記対応するサブ環境内で動く方式を示す走行パラメータを提供する、データ処理システム。
【請求項１７】
請求項１５に記載のデータ処理システムにおいて、
前記複数の走行シナリオハンドラは、特定の走行シナリオを処理する第１のセットの走行シナリオハンドラと、共通の走行シナリオを処理する第２のセットの走行シナリオハンドラとを含む、データ処理システム。
【請求項１８】
請求項１７に記載のデータ処理システムにおいて、
前記第１のセットの走行シナリオハンドラのそれぞれは、第２のセットの走行シナリオハンドラのうち少なくとも１つを呼び出す、データ処理システム。
【請求項１９】
請求項１７に記載のデータ処理システムにおいて、
前記第１のセットの走行シナリオハンドラは、
右側車線のシナリオを処理する第１のハンドラと、
左側車線のシナリオを処理する第２のハンドラと、
交差路のシナリオを処理する第３のハンドラとを含む、データ処理システム。
【請求項２０】
請求項１９に記載のデータ処理システムにおいて、
前記第１のセットの走行シナリオハンドラは、
前方車両のシナリオを処理する第４のハンドラと、
後続車両のシナリオを処理する第５のハンドラと、
横断歩道のシナリオを処理する第６のハンドラと、をさらに含む、データ処理システム。
【請求項２１】
請求項１７に記載のデータ処理システムにおいて、
前記第２のセットの走行シナリオハンドラは、
交通信号のシナリオを処理する第１のハンドラと、
停止標識のシナリオを処理する第２のハンドラと、
譲歩標識のシナリオを処理する第３のハンドラと、を含む、データ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、一般的に、自律走行車を走行させることに関するものである。特に、本発明の実施形態は、自律走行車の走行を決定するための周辺環境を構築することに関するものである。
【背景技術】
【０００２】
自律走行モード（例えば、運転者なしに）で動作している車両において、搭乗者、特に運転者は、運転に関連する担当事項の一部から軽減されることができる。自律走行モードで動作する際、車両はオンボードセンサを用いて様々な位置へナビゲートすることができ、その結果、最小限の人間とのインタラクションで、又は、一部の場合、乗客なしに車両の移動が可能となる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
運転中、様々な決定を下す人間と同様に、自律走行車は、信号灯、交通状況、安全規制、近くの歩行者や車両など（これに限定されない）を含む実際の周辺環境に応じて、いつでも即座に走行決定を下すべきである。人間が車を運転するとき、彼／彼女は暗黙的に、それぞれの感知された対象の存在を確認し、各対象と決定とを関連付ける。したがって、人間ドライバーの実際の決定の結果は、複雑であり、合成された過程から出て、その過程において、それぞれの対象に対する個別の決定は統合されて、最終決定に合成されており、当該最終決定は、車両の予想軌跡に変換され、最終的にはステアリングホイール、ブレーキおよび／またはスロットルの実際のハンドリングに変換される。自律走行車では、このような思考のプロセスを模倣することは困難である。
【０００４】
本発明の実施形態は、同様の参照番号で同様の要素を示す添付の図面において、例示として説明され、これに限定されない。
【図面の簡単な説明】
【０００５】
【図１】本発明の一実施形態に係るネットワークシステムを示すブロック図である。
【図２】本発明の一実施形態に係る自律走行車の一例を示すブロック図である。
【図３Ａ】本発明の特定の実施形態に係る自律走行車とともに使用されるデータ処理システムの一例を示すブロック図である。
【図３Ｂ】本発明の特定の実施形態に係る自律走行車とともに使用されるデータ処理システムの一例を示すブロック図である。
【図４Ａ】本発明の一実施形態に係る走行シナリオの例を示すブロック図である。
【図４Ｂ】本発明の一実施形態に係る走行シナリオの例を示すブロック図である。
【図５Ａ】本発明の他の実施形態に係る走行シナリオの例を示すブロック図である。
【図５Ｂ】本発明の他の実施形態に係る走行シナリオの例を示すブロック図である。
【図６】本発明の一実施形態に係る走行シナリオの例を示すブロック図である。
【図７】本発明の一実施形態に係る自律走行車を走行させるプロセスを示すフローチャートである。
【図８】一実施形態に係るデータ処理システムを示すブロック図である。
【発明を実施するための形態】
【０００６】
以下、検討した詳細を参照して本発明の様々な実施形態及び態様を説明し、添付の図面は、前記様々な実施形態を示す。以下の説明及び図面は、本発明の例示であり、本発明を限定するものとして解釈されるべきではない。本発明の様々な実施形態の完全な理解を提供するために、多くの詳細が記載されている。しかしながら、場合によって、本発明の実施形態の説明の簡潔さから、周知又は従来の詳細は記載されていない。
【０００７】
本明細書において、「一実施形態」又は「実施形態」とは、当該実施形態に説明した特定の特徴、構造、又は特性を本発明の少なくとも１つの実施形態に含めることができることを意味する。本明細書を通じて使用される「一実施形態では」という語句は、必ずしもすべて同じ実施形態を指すとは限らない。
【０００８】
一部の実施形態によると、自律走行車を製造するとき、システムは、自律走行車に対し特に設計された走行環境を構築して人間の思考過程をエミュレートすることによって、走行環境を理解し、安全かつ適切な決定を下す。走行環境（走行世界とも呼ばれる）は、いくつかのサブ環境（サブ世界とも呼ばれる）により構成されている。各サブ環境は、指定された目的のための特定の時空間領域または走行シナリオをカバーする。一実施形態では、構築される環境は、人間が必要なすべての状況下で感知することができるすべての対象を獲得する。異なるシナリオにおいて、対象は、異なる意味を持つことができ、異なるサブ環境に出現する可能性があるため、対象に対して異なる決定が行われる。各サブ環境からの対象の決定は、実際の最終決定と処理のために、統合される方法で合併される。車両の実際の操作を示す最終決定は、それぞれの対象の最終決定から推定される。サブ環境は、人間の運転経験に似たすべての必要なシナリオをカバーするが、各サブ環境は、特定の目的または走行シナリオのために指定されることが好ましい。これにより、これらのサブ環境は、一定の独立性有して、開発やメインテナンスが容易になり、迅速に並行して構築することができる。
【０００９】
一実施形態では、自律走行車に搭載された様々なセンサから受信したセンサデータに応答して、センサデータに基づいて、自律走行車の周辺環境を感知する。周辺環境は、自律走行車を囲む複数のサブ環境を含む。各サブ環境について、サブ環境に対応する走行シナリオに関連する走行シナリオハンドラの1つが識別される。走行シナリオハンドラの各々は、走行サブ環境内の特定の走行シナリオを処理する。識別された走行シナリオハンドラは、対応するサブ環境内の走行条件または走行環境を決定するために呼び出される。走行シナリオハンドラにより提供されたサブ環境の走行条件に基づいて、周辺環境の全体の走行条件が決定される。周辺環境の全体の走行条件の理解に基づいて、ルートセグメントが計画される。自律走行車は、ルートセグメントに従って制御され、走行される。ルートセグメントは、出発地から目的地までのルートの多くのルートセグメントの1つである。上記のプロセスは、ルートに沿ってルートセグメントごとに繰り返し実行されることができる。
【００１０】
図１は、本発明に係る一実施形態に係る自律走行車のネットワーク配置を示すブロック図である。図１を参照して、ネットワーク配置１００は、ネットワーク１０２によって１つ以上のサーバ１０３〜１０４に通信可能に接続することができる自律走行車１０１を含む。１つの自律走行車を示すが、ネットワーク１０２によって、複数の自律走行車が互いに接続され、及び／又はサーバ１０３〜１０４に接続されることができる。ネットワーク１０２は、任意のタイプのネットワーク、例えば有線又は無線のローカルエリアネットワーク（ＬＡＮ）、例えばインターネットのようなの広域ネットワーク（ＷＡＮ）、セルラーネットワーク、衛星ネットワーク又はその組み合わせであってもよい。サーバ１０３〜１０４は、任意のタイプのサーバ又はサーバクラスタ、例えばＷｅｂサーバ又はクラウドサーバ、アプリケーションサーバ、バックエンドサーバ又はその組み合わせであってもよい。サーバ１０３〜１０４は、データ分析サーバ、内容サーバ、交通情報サーバ、地図（マップ）及び興味のあるポイント（ＭＰＯＩ）サーバ又は位置サーバ等であってもよい。
【００１１】
自律走行車とは、運転者からの入力が非常に少ない又はない場合に案内されて環境を通過する自律走行モードに設置される車両である。自律走行車は、車両が走行している環境にかかる情報を検出するように配置される１つまたは複数のセンサを含むセンサシステムを備える。車両及びそれに関連しているコントローラが、検出された情報で案内して環境を通過する。自律走行車１０１が手動モード、完全自律走行モードまたは部分自律走行モードで運転されることができる。
【００１２】
一実施形態において、自律走行車１０１は、データ処理システム１１０と、車両制御システム１１１と、無線通信システム１１２と、ユーザインターフェースシステム１１３と、インフォテイメントシステム１１４と、センサシステム１１５とを含むが、これらに限定されない。自律走行車１０１は、通常の車両に含まれるある一般的な構成要素（部材）、例えばエンジン、車輪、ハンドル、変速機等をさらに含んでもよく、前記構成要素は、車両制御システム１１１及び／又はデータ処理システム１１０により多種の通信信号及び／又はコマンド（例えば、加速信号又はコマンド、減速信号又はコマンド、ステアリング信号又はコマンド、ブレーキ（制動）信号又はコマンド等）を使用して制御されることができる。
【００１３】
構成要素１１０〜１１５は、インターコネクト、バス、ネットワーク又はそれらの組み合わせを介して互いに通信可能に接続することができる。例えば、構成要素１１０〜１１５は、コントローラローカルエリアネットワーク（ＣＡＮ）バスを介して互いに通信可能に接続することができる。ＣＡＮバスは、マイクロコントローラ及び装置がホストコンピューターのない応用において互いに通信することを許可するような車両バス標準として設計される。それは、最初に自動車内における多重化された電線のために設計されたメッセージに基づくプロトコルであるが、他のたくさんの環境（状況）にも用いられる。
【００１４】
図２を参照すると、一実施形態において、センサシステム１１５は、１つ以上のカメラ２１１と、全地球測位システム（ＧＰＳ）ユニット２１２と、慣性計測ユニット（ＩＭＵ）２１３と、レーダーユニット２１４と、光検出及び測距（ＬＩＤＡＲ）ユニット２１５とを含むが、これらに限定されない。ＧＰＳシステム２１２は、送受信機を含んでもよく、前記送受信機は、自律走行車の位置に関する情報を提供するように操作されることができる。ＩＭＵユニット２１３は、慣性加速度に基づいて自律走行車の位置及び方向変化を感知することができる。レーダーユニット２１４は、無線信号を利用して自律走行車のローカル環境内の対象を感知するシステムを示すことができる。一部の実施形態において、対象を感知する以外、レーダーユニット２１４は、対象の速度及び／又は走行方向をさらに感知することができる。ＬＩＤＡＲユニット２１５は、レーザを使用して自律走行車の位置する環境における対象を感知することができる。その他のシステム構成要素以外、ＬＩＤＡＲユニット２１５は、１つ以上のレーザ光源、レーザースキャナ及び１つ以上の検出器をさらに含んでもよい。カメラ２１１は、自律走行車の周辺環境の画像をキャプチャするための１つ以上の装置を含んでもよい。カメラ２１１は、スチルカメラ及び／又はビデオカメラであってもよい。カメラは、例えば回転及び／又は傾斜のプラットフォームに取り付けられる、機械的に移動可能なものであってもよい。
【００１５】
センサシステム１１５は、その他のセンサ、例えばソナーセンサ、赤外線センサ、ステアリング（転向）センサ、スロットルセンサ、ブレーキセンサ、及びオーディオセンサ（例えば、マイクロフォン）をさらに含んでもよい。オーディオセンサは、自律走行車周辺の環境から音をキャプチャするように配置されてもよい。ステアリングセンサは、ハンドル、車両の車輪又はその組み合わせのステアリング角を感知するように配置されてもよい。スロットルセンサ及びブレーキセンサは、それぞれ車両のスロットル位置及びブレーキ位置を感知する。一部の場合、スロットルセンサ及びブレーキセンサは、集積型スロットル／ブレーキセンサに一体化されてもよい。
【００１６】
一実施形態では、車両制御システム１１１は、ステアリングユニット２０１、スロットルユニット２０２（加速ユニットとも呼ばれる）、ブレーキ（制動）ユニット２０３、コンピュータビジョンシステム２０４、ナビゲーションユニット２０５（ナビゲーションとルートシステム、またはナビゲーション／ルートシステムとも呼ばれる）および衝突回避ユニット２０６（障害物回避システムとも呼ばれる）を含むが、これに限定されない。ステアリングユニット２０１は、車両の方向または進路（または行進方向）を調整するものである。スロットルユニット２０２は、モータやエンジンの速度を制御して、さらに車両の速度と加速度を制御するためのものである。制動ユニット２０３は、車両の車輪またはタイヤを減速させるように摩擦を提供することで、車両を減速させるものである。
【００１７】
コンピュータビジョンユニットまたはシステム２０４は、自律走行車の環境内の対象および／または特徴を識別するための１つ以上のカメラ２１１によってキャプチャされた画像を処理し、分析するものである。対象は、交通信号、道路境界、他の車両、歩行者、および／または障害物などを含むことができる。コンピュータビジョンシステム２０４は、対象認識アルゴリズム、ビデオトラッキング（ｔｒａｃｋｉｎｇ）および他のコンピュータビジョン技術を使用することができる。一部の実施形態では、コンピュータビジョンシステム２０４は、環境をマッピングして、対象を追跡し、対象の速度を推定することなどを行うことができる。
【００１８】
ナビゲーションユニットまたはシステム２０５は、自律走行車の走行ルートを決定するものである。例えば、ナビゲーションシステムは、一連の速度と進行方向（ｄｉｒｅｃｔｉｏｎａｌ  ｈｅａｄｉｎｇ）を決定して、感知された障害物を実質的に避けるルートに沿って自律走行車の移動を行いながら、最終的な目的地に至る車線のルートに基づいて自律走行車を前進させる。目的地は、ユーザインタフェースを介してユーザの入力に応じて設定されてもよい。ナビゲーションシステム２０５は、自律走行車が走行している間、走行経路を動的に更新することができる。ナビゲーションシステム２０５は、自律走行車のための走行ルートを決定するように、ＧＰＳシステム、および１つ以上のマップからのデータを統合してもよい。
【００１９】
衝突回避ユニットまたはシステム２０６は、自律走行車の環境での潜在的な障害物を識別、評価、回避、交渉（ｎｅｇｏｔｉａｔｅ）するものである。例えば、衝突回避システム２０６は、緊急回避操作、転向操作、制動操作などを行うために、制御システムの１つ以上のサブシステムを操作して、自律走行車のナビゲーションの変化を行うことができる。衝突回避システム２０６は、周辺の交通パターン、道路状況等に基づいて、実現可能な障害物回避操作を自動的に決定することができる。衝突回避システム２０６は、自律走行車が緊急回避して進入する隣接領域において、車両、建物の障害物などが他のセンサシステムにより検出されるとき、緊急回避操作が行われないように構成することができる。衝突回避システム２０６が、使用可能でありながら自律走行車の乗員の安全を最大限にする操作を自動的に選択することができる。衝突回避システム２０６は、自律走行車の乗客室に対して最低限の加速を引き起こすと予想される回避操作を選択することができる。注意すべきなことは、図２に示すような構成要素は、ハードウェア、ソフトウェア又はその組み合わせで実現されてもよい。
【００２０】
図１を再び参照すると、無線通信システム１１２は、自律走行車１０１と、例えば装置、センサ、その他の車両等の外部システムとの間の通信を可能にする。例えば、無線通信システム１１２は、１つ以上の装置に直接に又は通信ネットワークを介して無線通信し、例えばネットワーク１０２によってサーバ１０３〜１０４に通信することができる。無線通信システム１１２は、任意のセルラー通信ネットワーク又は無線ローカルエリアネットワーク（ＷＬＡＮ）（例えばＷｉＦｉ）を使用して他の構成要素やシステムに通信することができる。無線通信システム１１２は、例えば赤外線リンク、ブルートゥース（登録商標）等を使用して装置（例えば、乗客の移動装置、車両１０１内の表示装置、スピーカー）に直接に通信することができる。ユーザインターフェースシステム１１３は、車両１０１内で実行される周辺装置の一部であってもよく、例えばキーワード、タッチスクリーン表示装置、マイクロフォン、及びスピーカー等を含む。
【００２１】
自律走行車１０１の一部又は全ての機能は、特に自律走行モードで走行する場合、データ処理システム１１０により制御されたり管理されたりすることができる。データ処理システム１１０は、必要なハードウェア（例えば、プロセッサ、メモリ、記憶装置）、及びソフトウェア（例えば、オペレーティングシステム、計画及びルーティングプログラム）を含み、センサシステム１１５、車両制御システム１１１、無線通信システム１１２、及び／又はユーザインターフェースシステム１１３から情報を受信し、受信された情報を処理し、出発地から目的地までのルートや経路を計画し、そして、計画及び制御情報に基づいて車両１０１を走行させる。代替的に、データ処理システム１１０と車両制御システム１１１とは一体化されてもよい。
【００２２】
例えば、乗客であるユーザは、例えばユーザインターフェースによって行程の出発位置及び目的位置を指定することができる。データ処理システム１１０は、行程に関連するデータを取得する。例えば、データ処理システム１１０は、ＭＰＯＩサーバから位置及び経路情報を取得することができ、前記ＭＰＯＩサーバは、サーバ１０３〜１０４の一部であってもよい。位置サーバは、位置サービスを提供し、かつ、ＭＰＯＩサーバは、マップサービス及びある位置のＰＯＩを提供する。あるいは、このような位置及びＭＰＯＩ情報は、データ処理システム１１０の永続記憶装置にローカルでキャッシュされることができる。
【００２３】
自律走行車１０１が経路に沿って走行する期間に、データ処理システム１１０は、さらに交通情報システムやサーバ（ＴＩＳ）からリアルタイム交通情報を取得することができる。注意すべきなのは、サーバ１０３〜１０４は、第三者のエンティティにより動作されることができる。あるいは、サーバ１０３〜１０４の機能は、データ処理システム１１０と一体化されてもよい。リアルタイム交通情報、ＭＰＯＩ情報、位置情報、及びセンサシステム１１５が検出又は感知したリアルタイムなローカル環境データ（例えば、障害物、対象、付近車両）に基づいて、データ処理システム１１０は、指定された目的地に安全で効果的に到達するように、最適な経路を計画し、かつ計画された経路により、例えば車両制御システム１１１を介して車両１０１を走行させることができる。
【００２４】
一実施形態によると、自律走行車１０１は、車両１０１の乗客に情報とエンターテインメント（ｅｎｔｅｒｔａｉｎｍｅｎｔ）を提供するインフォテイメントシステム１１４をさらに含むことができる。情報及びエンターテイメントコンテンツは、ローカルおよび／またはリモート（例えば、サーバ１０３乃至１０４によって提供される）に記憶されたコンテンツ情報に基づいて、受信され、コンパイルされて、レンダリングされる。情報は、例えば、ネットワーク１０２を介して任意のサーバ１０３乃至１０４からリアルタイムでストリーミングされて車両１０１の表示装置上に表示される。情報は、例えば、一つまたは複数のカメラでリアルタイムにキャプチャされたローカル情報により増強される（ａｕｇｍｅｎｔｅｄ）ことができ、そして、増強されたコンテンツは、仮想現実の方法で表示されることができる。
【００２５】
自律走行車は、実際のまたは物理的な窓（またはウィンドウ）がなくてもよい。これに対し、「ウィンドウ（ｗｉｎｄｏｗ）」（本明細書では、仮想ウィンドウとも呼ばれる）は、表示装置、すなわち、選択的にタッチスクリーンを備えた、車両のウィンドウの形状に成形された平面または曲面スクリーンディスプレイ装置に表示したり、代替したりすることができる。ディスプレイ装置は、恰もユーザが透明なウィンドウを介して、実際の物理的なコンテンツを見るように、１つ以上の適切なカメラによってリアルタイムに動的にキャプチャされた画像や画像ストリーム（例えば、ビデオ）を表示する。それぞれの「Ｗｉｎｄｏｗｓ」（例えば、ディスプレイ装置）には、表示される対応のコンテンツをリアルタイムでストリーミングするための対応のディスプレイチャンネルがあり、これは拡張現実システム、例えば、インフォテインメントシステム１１４および／またはデータ処理システム１１０によって集中的に処理することができる。このような状況では、増強された画像は、インフォテイメントシステム１１４を介して仮想現実方法で表示され、これは拡張現実の方法とも呼ばれる。
【００２６】
一実施形態では、位置及びルート情報、ＭＰＯＩ情報、および／またはリアルタイムの交通情報に基づいて、インフォテインメントシステム１１４および／またはデータ処理システム１１０は、現在の交通環境（例えば、ＭＰＯＩ）に適切なコンテンツの特定のタイプを決定する。システムは、例えば、リアルタイム行程（移動）情報に基づいて、コンテンツアイテムの候補としてリストコンテンツアイテム（例えば、スポンサーされたコンテンツや広告）を識別するために、コンテンツのインデックス（図示せず）からのルックアップ動作を実行する。
【００２７】
一実施形態によると、データ処理システム１１０は、計画モジュールと制御モジュール（図示せず）を含む。計画モジュールは、ルートまたはルートのルートセグメントを計画することによって、制御モジュールにより自律走行車１０１を制御し走行させて、計画されたルートに沿って移動できるようにする。ルートは、自律走行車１０１を囲む全体の走行環境に対する理解や感知に基づいて生成され、自律走行車１０１を囲む全体の走行環境は、自律走行車に装着された様々なセンサから受信されたセンサデータをもとにする。
【００２８】
一実施形態では、全体の走行環境を構築または理解するとき、走行環境は、複数のサブ環境に分割または感知され、各サブ環境は、環境のセグメントを示す。各サブ環境は、サブ環境内の走行条件を示す走行パラメータまたはメタデータセットを決定するために、それぞれの走行シナリオハンドラによって処理される。ルートに沿って定期的に（例えば、０．１秒ごとに）移動するとき、自律走行車１０１は、センサシステム１１５からのセンサデータを受信し、自律走行車１０１の周辺環境を感知する。自律走行車１０１は、周辺環境を感知して、１つ以上のサブ環境に分割する。
【００２９】
それぞれのサブ環境については、対応する走行シナリオハンドラが識別及び呼び出され、サブ環境の走行条件または設定を決定する。その後、自律走行車１０１は、サブ環境の個別の走行条件に基づいて、全体の走行環境の全体の走行条件を把握し決定する。後続のルートセグメントは、全体の周辺環境の走行条件に対する理解を基礎として計画される。その後、自律走行車１０１は、ルートセグメントに沿って移動する。上述したプロセスは、ルートに沿って、異なる時点で、各ルートセグメントに対して繰り返し実行される。ビデオストリームのビデオフレームと同様に、特定の時点での周辺環境を示す各フレームについて、上述したプロセスが実行されて、後続のルートセグメントに沿って自律走行車１０１を走行させるための走行条件や走行パラメータを決定する。
【００３０】
図３Ａは、本発明の一実施形態に係る自律走行車とともに使用されるデータ処理システムの一例を示すブロック図である。システム３００は、図１の自律走行車１０１に実装されることができる。図３Ａを参照すると、データ処理システム１１０は、計画モジュール３０１、制御モジュール３０２、マップ及びルートモジュール３０３、及び、感知モジュール３０４を含むが、これに限定されない。また、データ処理システム１１０は、走行シナリオハンドラ３１０のリストをさらに含み、各走行シナリオハンドラは、全体の走行環境中の対応するサブ環境内の特定の走行シナリオを処理する。
【００３１】
感知モジュール３０４は、感知された歩行者、車両や障害物などの走行環境を感知するセンサシステム１１５から受信されたセンサデータを処理し、且つ、マスター車両状態情報（ローカリゼーション（ｌｏｃａｌｉｚａｔｉｏｎ）、ＧＰＳ情報及びシャーシの状態）を収集し変換して、処理及び決定のための計画モジュール３０１に提供する。感知モジュール３０４は、「何が見えるのかと、どこに位置しているのか」（「ｗｈａｔ  ｄｏ  Ｉ  ｓｅｅ  ａｎｄ  ｗｈｅｒｅ  Ｉ  ａｍ」）を処理するモジュールである。マップ及びルートモジュール３０３は、マップおよびルート情報が記憶されているモジュールである。マップ及びルートモジュール３０５は、「どこに行くのか、周りの道は何なのか」（「ｗｈａｔ  ｄｏ  Ｉ  ｓｅｅ  ａｎｄ  ｗｈｅｒｅ  Ｉ  ａｍ」）などの情報を記憶する。
【００３２】
計画モジュール３０１は、センサシステム１１５から受信されたセンサデータおよび／または様々なソースから受信されたリアルタイムの情報などの様々な情報（例えば、位置、マップ、マップの一部であるＰＯＩ、関心ポイントまたはＭＰＯＩデータベース３０３）に基づいて、自律走行車への経路またはルートを計画する。計画及び制御データは、計画モジュール３０１によって生成される。計画及び制御データに基づいて、制御モジュール３０２は、計画及び制御データによって定義されたルートまたは経路に沿って、適切なコマンドまたは信号を車両制御システム１１１に送信することにより、自律走行車を制御するものである。計画及び制御データには、経路またはルートに沿って、異なる時点で、適切な車両設定または走行パラメータ（例えば、スロットル、ブレーキ、および転向コマンド）を使用して、ルートまたは経路の第１地点から第２地点までの車両を走行させる、十分な情報が含まれている。
【００３３】
計画モジュール３０１は、自律走行車により走行決定と計画を決定するコアロジック・モジュール（ｃｏｒｅ  ｌｏｇｉｃ  ｍｏｄｕｌｅ）である。マップ、ルート、および感知された対象を考慮し、交通ルールおよび／または以前の経験に基づいて、車両の操作（ｍａｎｅｕｖｅｒ）方式を決定し、計画する。軌跡と速度／加速度のような希望する操作状態に関する情報は、制御モジュール３０２に送信さて追加処理を行う。計画モジュール３０１と制御モジュール３０２は、図２の車両制御システム１１１のナビゲーションユニット２０５に通信可能に接続または一体化されてもよい。
【００３４】
ルートまたはルートセグメントを計画するとき、計画モジュール３０１は、感知モジュール３０４によって決定された周辺環境の中で感知されたサブ環境に対応する１つ以上の走行シナリオハンドラを呼び出す。それぞれの走行シナリオハンドラは、感知されたサブ環境を処理して、サブ環境の走行条件を決定し、これは車両がそのサブ環境に進入することに決定した場合、サブ環境内にどのような対象が位置しているか、車両がどのように動くかを決定することを含む。走行シナリオハンドラから取得された個別の走行条件に基づいて、計画モジュール３０１は、決定を行う。特に、計画モジュール３０１は、個別の走行シナリオハンドラによって感知され処理されるサブ環境に基づいて、全体の周辺環境を構築する。計画モジュール３０１は、個別の走行シナリオハンドラからの個別の決定や提案に基づいて最終的なルートを決定する。計画モジュール３０１は、後続のルートセグメントを示す計画及び制御データを生成し、計画及び制御データを制御モジュール３０２に送信する。計画及び制御データに基づいて、制御モジュール３０２は、制御するための適切な制御コマンドまたは指示をシステム１１１に発行して、車両を後続ルートセグメント内で移動させるようにする。
【００３５】
図３Ｂは、本発明の一実施形態に係る走行シナリオハンドラの例を示すブロック図である。図３Ｂを参照すると、一実施形態では、走行シナリオハンドラは、１）特定のシナリオハンドラ３０５Ａと、２）共通のシナリオハンドラ３０５Ｂの２つの層を含む。それぞれの特定のシナリオハンドラ３０５Ａは、サブ環境で対象を識別すること、対象と車両との間の距離、および車両が特定のサブ環境に進入する場合にどのように動くのかを決定することを含む、特定のサブ環境の走行を処理する。それぞれの共通シナリオハンドラ３０５Ｂは、特定のシナリオによって共有される所定の共通のシナリオを処理する。それぞれの共通シナリオハンドラ３０５Ｂは、特定のシナリオハンドラ３０５Ａのいずれか１つにより呼び出されてもよい。各シナリオハンドラは、基本的に属性（ａｔｔｒｉｂｕｔｅ）または所定の属性（ａｔｔｒｉｂｕｔｅ）と関連付けられているオブジェクト（ｏｂｊｅｃｔ）を抽出する一連のＡＰＩを提供する。これらのＡＰＩは、周辺環境をよりよく理解し、それに基づいて適切な判断を下すように、計画モジュール３０１によって適用される。
【００３６】
一実施形態では、特定のシナリオハンドラ３０５Ａは、前方（ｈｅａｄ）車両ハンドラ３２１、右側順方向（ｆｏｒｗａｒｄ）車線ハンドラ３２２、左側順方向車線ハンドラ３２３、後続（ｔａｉｌｇａｔｅ）車両ハンドラ３２４、右側近接ハンドラ３２５、左側逆方向（ｒｅｖｅｒｓｅ）車線ハンドラ３２６、交差路ハンドラ３２７、車線マージハンドラ３２８、横断歩道ハンドラ３２９及びクリアゾーンハンドラ３３０を含むが、これに限定されない。共通シナリオハンドラ３０５Ｂは、マスター車両ハンドラ３３１、交通信号ハンドラ３３２、停止標識ハンドラ３３３及び譲歩標識ハンドラ３３４を含むが、これに限定されない。
【００３７】
マスター車両ハンドラ３３１は、車両が現在位置している車線、車両の移動方向、位置、マップ、および車両のルート情報を含む、車両自体に関する情報を提供しているが、これに限定されない。前方車両ハンドラ３２１は、前方車両の速度及び前方車両と自律走行車との間の距離を含む、自律走行車の前の現在移動中の前方車両に関する情報を提供する。前方車両ハンドラ３２１は、自律走行車が前方車両を追従するか、または前方車両を追い越すかについての提案をさらに提供することができる。
【００３８】
右側順方向車線ハンドラ３２２と左側順方向車線ハンドラ３２３は、自律走行車の右側順方向車線と左側順方向車線に関する情報をそれぞれ提供する。提供される情報は、右側および／または左側順方向車線のスペース領域に位置するすべての対象または車両を含んでもよい。例えば、順方向車線ハンドラは、自律走行車が車線の変更を希望しない場合は、ナッジ（ｎｕｄｇｅ）する対象を示すことができ、自律走行車が車線の変更を希望する場合は、譲歩または追い越しする対象を示すことができる。左側逆方向車線ハンドラ３２６は、対象が反対の方向から自律走行車に接近していることを示すことができ、ナッジ（ｎｕｄｇｅ）するかどうかについての提案を示すことができる。車線マージハンドラ３２８は、自律走行車が譲歩すべきかまたは追い越しすべきかを示す情報を提供することができる。車線マージハンドラ３２８は、交通信号ハンドラ３３２と譲歩標識ハンドラ３３４とにお互いに配合されてもよい。
【００３９】
後続車両ハンドラ３２４は、後続車両の速度及び自律走行車との間の距離を含む、自律走行車を追従する任意の後続車両を識別することができる。右側近接対象ハンドラ３２５は、任意の実際の車線（レーン）にいないが、現在の右側車線の右側近接領域にある対象の環境を構築する。例示として、自転車レーンの右側にある自転車、右側縁石にある歩行者または右側に駐車された車両や固定物を含んでもよい。
【００４０】
交差路ハンドラ３２７は、車両が一領域から別の指定交差領域に移動する領域を含む全体の交通交差路（ｔｒａｆｆｉｃ  ｊｕｎｃｔｉｏｎ）を構築する。例えば、右折するとき、計画モジュール３０１は、交差路ハンドラ３２７を利用して、交通ルールや条件に応じて、追い越すとか譲歩する必要のある突き当たる可能性があるトラフィックを提供する。交差路ハンドラ３２７は、実行される特定の経路が指定されると、どのようなオブジェクト（対象）またはオブジェクトたちに対して追い越し、譲歩または停止するかを示すことができる。
【００４１】
横断歩道ハンドラ３２９は、歩行者が歩く可能性がある領域を構築する。横断歩道ハンドラ３２９は、横断歩道に歩行者がいるかどうかを識別することができる。クリアゾーンハンドラ３３０は、自律走行車が通過可能な、停止してはいけない領域を構築する。クリアゾーンハンドラ３３０は、交通信号ハンドラ３３２と配合して、自律走行車がクリアゾーンに進入する前に通過すべきかまたは停止すべきかを決定することができる。
【００４２】
交通信号ハンドラ３３２は、自律走行車の現在のルートを目的地へ制御する信号情報を提供する。交通信号ハンドラ３３２は、特定の交通信号が最近の信号変更からどのくらい維持されたかをさらに表示することができる。停止標識ハンドラ３３３は、現在の車線または他の車線に停止標識があるかどうかを示す情報を提供する。停止標識ハンドラ３３３は、自律走行車が通行権限を持っているかどうかをさらに表示することができる。停止標識ハンドラ３３３は、自律走行車が通行権限を持っている対象と持っていない対象とを追加的に識別することができる。停止標識ハンドラ３３３は、自律走行車が再び移動を開始する前に、自律走行車が十分な期間（例えば、３秒）の時間を停止したかどうかをさらに表示することができる。同様に、譲歩標識ハンドラ３３４は、現在の車線と他の車線に譲歩標識があるかどうかを示す。ハンドラ３３２−３３４は、任意の特定のハンドラ３２１−３３０によって呼び出されてもよい。
【００４３】
図４Ａは、本発明の一実施形態に係る走行シナリオの例を示す図である。図４Ａを参照すると、この例では、（マスター車両ハンドラ３３１によって表示される）自律走行車４０１が、中間車線で走行している。センサシステム１１５から受信されたセンサデータに基づいて、感知されたサブ環境４０２−４０５が点線の四角形に表示されている。サブ環境４０２は、右側順方向車線のシナリオを示す。サブ環境４０３は、マスター車両４０１の前の前方車両のシナリオを示す。サブ環境４０４は、左側順方向車線のシナリオを示す。サブ環境４０５は、後続車両のシナリオを示す。図４Ｂに示されているように、これらのサブ環境４０２−４０５が感知され識別されると、これに対応する走行シナリオのハンドラ、例えば、前方車両ハンドラ３２１、右側順方向車線ハンドラ３２２、左側順方向車線ハンドラ３２３及び後続車両ハンドラ３２４などが、計画モジュール３０１によって識別かつ呼び出される。
【００４４】
関連されるシナリオハンドラによって提供されるサブ環境の走行条件を示す情報に基づいて、計画モジュール３０１は、自律走行車を制御するために、ルートまたはルートセグメントを計画して、計画及び制御データを生成する。本例では、前方車両ハンドラ３２１は、速度や自律走行車との距離のようなサブ環境４０３における前方車両に関する情報を提供することができる。自律走行車が前方車両を従って行くか、それとも車線を変更すべきかに対する提案が提示されてもよい。同様に、後続車両ハンドラ３２４は、後続車両の速度や自律走行車との間の距離を含むサブ環境４０５内で自律走行車の後に走行する車両に関する情報を提供する。
【００４５】
右側順方向車線ハンドラ３２２と左側順方向車線ハンドラ３２３は、各自のサブ環境４０４、４０２における走行条件を提供する。本例では、左側順方向車線ハンドラ３２３は、近い左側車線で走行する２つの車両があることと、遠い左側車線から近い左側車線線に合流（ｍｅｒｇｅ）する別の車両があることを示すことができる。右側順方向車線ハンドラ３２２は、近い右側車線には車両がないが、遠い右側車線には車両があることを示すことができる。サブ環境４０２−４０５に関するすべての情報に基づいて、計画モジュール３０１は、車線を近い右側車線に変更することを決定することができる。全体の環境を特定の走行シナリオハンドラによって処理される複数のサブ環境に分割することにより、計画モジュール３０１の決定がより効率的である。
【００４６】
図５Ａは、本発明の他の実施形態に係る走行シナリオの例を示す図である。図５Ａを参照すると、本例では、センサシステム１１５によって提供されたセンサデータに基づいて、環境は左側逆方向車線のサブ環境５０２および右側近接のサブ環境５０３を有するものであると感知される。したがって、左側逆方向車線ハンドラ３２６および右側近接ハンドラ３２５は、図５Ｂに示すように、サブ環境５０２−５０３内の走行条件を決定するために呼び出される。本例では、左側逆方向車線ハンドラ３２６は、左側車線に反対方向から対向して来る車両（速度と距離を含む）があることを示すことができる。右側近接ハンドラ３２５は、マスター車両サブ環境５０１に表示される自律走行車が走行する車線の縁石に、歩行者及び自転車があることを示すことができる。したがって、計画モジュール３０１は、自律走行車の速度を減少させたり、歩行者や自転車などを追い越す前に、反対側の車両が通過するようにルートを計画することができる。
【００４７】
図６は、本発明の他の実施形態に係る走行シナリオの例を示す図表である。図６を参照すると、マスター車両５０１によって示されている自律走行車の観点から、感知された環境は、１つ以上の交通信号サブ環境６０２、交差路サブ環境６０３、クリアーゾーンサブ環境６０４、および横断歩道サブ環境６０５を含む。その結果、計画モジュール３０１によって呼び出された対応するハンドラは、交差路ハンドラ３２７、横断歩道ハンドラ３２９、クリアーゾーン３３０、マスター車両ハンドラ３３１及び交通信号ハンドラ３３２を含む。これらのハンドラによって提供された情報に基づいて、計画モジュール３０１は、それに応じて計画することができる。
【００４８】
図７は、本発明の一実施形態に係る自律走行車を走行させるプロセスを示すフローチャートである。プロセス７００は、ソフトウェア、ハードウェア、またはこれらの組み合わせを含む処理ロジックによって実行されることができる。例えば、プロセス７００は、図１のデータ処理システム１１０によって実行されてもよい。図７を参照すると、ブロック７０１において、処理ロジックは、自律走行車に装着された様々なセンサを有するセンサシステムからのセンサデータを受信する。ブロック７０２において、処理ロジックは、１つ以上のサブ環境のリスト（例えば、交差路、横断歩道、左車線、右車線）を決定するために、センサデータに基づいて、自律走行車の周辺環境を感知する。それぞれのサブ環境について、ブロック７０３において、処理ロジックは、サブ環境の走行条件を決定するために、サブ環境に対応する特定の走行シナリオハンドラを識別し、呼び出す。ブロック７０４において、処理ロジックは、走行シナリオハンドラによって提供された走行条件に基づいて、ルートまたはルートセグメントの計画及び制御データを計画して生成する。ブロック７０５において、処理ロジックは、計画及び制御データに基づいて自律走行車を運転および制御する。
【００４９】
注意すべきな点は、前記図示された構成要素の一部または全部は、ソフトウェア、ハードウェア、またはこれらの組み合わせにより実現されることができる。たとえば、これらの構成要素は、本明細書全体に記載されたプロセスまたはステップを実行するために、プロセッサ（図示せず）によってメモリにロードされて実行されることができる永続記憶装置にインストールされて記憶されるソフトウェアとして実現ことができる。代案として、これらの構成要素は、集積回路（例えば、特定用途向け集積回路またはＡＳＩＣ）、デジタル信号プロセッサ（ＤＳＰ）またはフィールドプログラマブルゲートアレイ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ、ＦＰＧＡ）のような専用のハードウェアにプログラムされたり内蔵された実行可能コードとして実現されることができ、これは、アプリケーションから対応するドライバおよび／またはオペレーティングシステムを介してアクセスすることができる。さらに、これらの構成要素は、１つ以上の特定のコマンドを使用してソフトウェアコンポーネントによってアクセス可能なコマンドセットの一部であり、プロセッサまたはプロセッサコアの特定のハードウェアロジックとして実現することができる。
【００５０】
図８は、本出願の一実施形態と組み合わせて使用されるデータ処理システムを例示的に示すブロック図である。例えば、システム１５００は、前記プロセス又は方法のいずれか（例えば、図１のデータ処理システム１１０、及びサーバ１０３〜１０４のいずれか）を実行する前記任意のデータ処理システムを示してもよい。システム１５００は、複数の異なる構成要素を含んでもよい。これらの構成要素は、集積回路（ＩＣ）、集積回路の一部、分散型電子装置又は回路基板（例えば、コンピュータシステムのマザーボード又はアドインカード）に適用された他のモジュール、又は他の方式でコンピュータシステムのシャシーに組み込まれた構成要素として実現されることができる。
【００５１】
さらに、システム１５００は、コンピュータシステムの複数の構成要素の高レベルビューを示すことを目的とする。しかしながら、一部の実現形態では、付加的構成要素が存在する場合があることを理解すべきである。また、他の実現形態において示される構成要素が異なる配置を有してもよい。システム１５００は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ、携帯電話、メディアプレーヤー、パーソナルディジタルアシスタント（ＰＤＡ）、スマート腕時計、パーソナルコミュニケーター、ゲーム装置、ネットワークルータ又はハブ、無線アクセスポイント（ＡＰ）又はリピーター、セットトップボックス、又はそれらの組合せを示してもよい。また、単一の機器又はシステムのみを示したが、用語「機器」又は「システム」は、さらに、独立又は共同で１つ（又は複数）のコマンドセットを実行することにより本明細書に説明される任意の１種又は複数種の方法を実行する機器又はシステムの任意のセットを含むことを理解すべきである。
【００５２】
一実施形態において、システム１５００は、バス又はインターコネクト１５１０によって接続されたプロセッサ１５０１、メモリ１５０３及び装置１５０５〜１５０８を備える。プロセッサ１５０１は、単一のプロセッサコア又は複数のプロセッサコアを含む単一のプロセッサ又は複数のプロセッサを示してもよい。プロセッサ１５０１は、マイクロプロセッサ、中央処理装置（ＣＰＵ）等のような１つ又は複数の汎用プロセッサを示してもよい。より具体的には、プロセッサ１５０１は、複雑コマンドセット計算（ＣＩＳＣ）マイクロプロセッサ、縮小コマンドセットコンピュータ（ＲＩＳＣ）マイクロプロセッサ、超長コマンド語（ＶＬＩＷ）マイクロプロセッサ、又は他のコマンドセットを実現するプロセッサ、又はコマンドセットの組合せを実現するプロセッサであってもよい。プロセッサ１５０１は、さらに、専用集積回路（ＡＳＩＣ）、セルラ又はベースバンドプロセッサ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタル信号プロセッサ（ＤＳＰ）、グラフィックプロセッサ、ネットワークプロセッサ、通信プロセッサ、ネットワークプロセッサ、暗号プロセッサ、コプロセッサ、組み込みプロセッサのような１つ又は複数の専用プロセッサ、あるいはコマンド処理可能な任意の他のタイプのロジックであってもよい。
【００５３】
プロセッサ１５０１（超低電圧プロセッサのような低電力マルチコアプロセッサソケットであってもよい）は、前記システムの各種の構成要素と通信するための主処理ユニット及び中央ハブとして用いられてもよい。このようなプロセッサは、システムオンチップ（ＳｏＣ）として実現されることができる。プロセッサ１５０１は、本明細書に説明される動作及びステップを実行するためのコマンドを実行するように構成される。また、システム１５００は、選択可能なグラフィックサブシステム１５０４と通信するグラフィックインターフェースをさらに含んでもよく、グラフィックサブシステム１５０４は、ディスプレイコントローラ、グラフィックプロセッサ及び／又はディスプレイデバイスをさらに備えてもよい。
【００５４】
プロセッサ１５０１は、メモリ１５０３と通信してもよく、メモリ１５０３は、一実施形態において複数のメモリによって所定量のシステムメモリを提供する。メモリ１５０３は、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）又は他のタイプのメモリのような１つ又は複数の揮発性記憶装置（又はメモリ）を備えてもよい。メモリ１５０３は、プロセッサ１５０１又は任意の他の装置により実行されるコマンド列を含む情報を記憶できる。例えば、複数種のオペレーティングシステム、装置ドライバー、ファームウェア（例えば、基本入出力システム又はＢＩＯＳ）及び／又はアプリケーションの実行可能なコード及び／又はデータは、メモリ１５０３にロードされて、プロセッサ１５０１により実行されてもよい。オペレーティングシステムは、ロボットオペレーティングシステム（ＲＯＳ）、Ｍｉｃｒｏｓｏｆｔ（登録商標）会社からのＷｉｎｄｏｗｓ(登録商標)オペレーティングシステム、アップル会社からのＭａｃＯＳ(登録商標)／ｉＯＳ(登録商標)、Ｇｏｏｇｌｅ(登録商標)会社からのＡｎｄｒｏｉｄ(登録商標)、Ｌｉｎｕｘ（登録商標）、Ｕｎｉｘ又は他のリアルタイム又は組み込みオペレーティングシステムのような任意のタイプのオペレーティングシステムであってもよい。
【００５５】
システム１５００は、ＩＯ装置、例えば装置１５０５〜１５０８をさらに備えてもよく、ネットワークインターフェース装置１５０５、選択可能な入力装置１５０６及び他の選択可能なＩＯ装置１５０７を備えてもよい。ネットワークインターフェース装置１５０５は、無線送受信機及び／又はネットワークインターフェースカード（ＮＩＣ）を備えてもよい。前記無線送受信機は、ＷｉＦｉ送受信機、赤外送受信機、ブ経路ゥース送受信機、ＷｉＭａｘ送受信機、無線セルラーホン送受信機、衛星送受信機（例えば、全地球測位システム（ＧＰＳ）送受信機）又は他の無線周波数（ＲＦ）送受信機又はそれらの組合せであってもよい。ＮＩＣは、イーサネット（登録商標）カードであってもよい。
【００５６】
入力装置１５０６は、マウス、タッチパッド、タッチスクリーン（それは表示装置１５０４と集積されてもよい）、ポインタデバイス（例えばスタイラス）及び／又はキーボード（例えば、物理キーボード、又はタッチスクリーンの一部として表示された仮想キーボード）を備えてもよい。例えば、入力装置１５０６は、タッチスクリーンに接続されるタッチスクリーンコントローラを含んでもよい。タッチスクリーン及びタッチスクリーンコントローラは、例えば複数種のタッチ感度技術（容量式、抵抗式、赤外式及び表面音波の技術を含むが、それらに限定されない）のいずれか、及びタッチスクリーンの１つ又は複数の接触点を決定するための他の近接センサアレイ又は他の素子を用いて、そのタッチ点及び移動又は断続を検出することができる。
【００５７】
ＩＯ装置１５０７は、音声装置を備えてもよい。音声装置は、スピーカ及び／又はマイクロホンを含んでもよく、それにより音声認識、音声コピー、デジタル記録及び／又は電話機能のような音声サポートの機能を促進する。他のＩＯ装置１５０７は、汎用シリアルバス（ＵＳＢ）ポート、パラレルポート、シリアルポート、印刷機、ネットワークインターフェース、バスブリッジ（例えば、ＰＣＩ〜ＰＣＩブリッジ）、センサ（例えば、加速度計、ジャイロスコープ、磁力計、光センサ、コン経路、近接センサ等のような動きセンサ）又はそれらの組合せをさらに備えてもよい。装置１５０７は、結像処理サブシステム（例えば、カメラ）をさらに備えてもよく、前記結像処理サブシステムは、カメラ機能（例えば、写真及びビデオ断片の記録）を促進するための電荷カップリング装置（ＣＣＤ）又は相補型金属酸化物半導体（ＣＭＯＳ）光学センサのような光学センサを備えてもよい。あるセンサは、センサハブ（図示せず）によってインターコネクト１５１０に接続されてもよく、キーボード又は熱センサのような他の装置は、組み込みコントローラ（図示せず）により制御されてもよく、これはシステム１５００の特定配置又は設計により決められる。
【００５８】
データ、アプリケーション、１つ又は複数のオペレーティングシステム等のような情報の永続記憶を提供するために、大容量メモリ（図示せず）が、プロセッサ１５０１に接続されてもよい。様々な実施形態において、薄型化と軽量化のシステム設計を実現しかつシステムの応答能力を向上させるために、このような大容量メモリは、ソリッドステート装置（ＳＳＤ）によって実現されることができる。なお、他の実施形態において、大容量メモリは、主にハードディスクドライブ（ＨＤＤ）で実現されてもよく、少量のＳＳＤ記憶量は、ＳＳＤキャッシュとして、停電イベント期間にコンテキスト状態及び他のこのような情報の不揮発性記憶を実現し、それによりシステム動作が再開する時に通電を速く実現することができる。さらに、フラッシュデバイスは、例えばシリアルペリフェラルインターフェース（ＳＰＩ）によってプロセッサ１５０１に接続されてもよい。このようなフラッシュデバイスは、システムソフトウェアの不揮発性記憶に用いられてもよく、前記システムソフトウェアは、前記システムのＢＩＯＳ及び他のファームウェアを備える。
【００５９】
記憶装置１５０８は、任意の１種又は複数種の本明細書に記載の方法又は機能を実現する１つ又は複数のコマンドセット又はソフトウェア（例えば、モジュール、ユニット及び／又はロジック１５２８）が記憶されるコンピュータアクセス可能な記憶媒体１５０９（機械可読記憶媒体又はコンピュータ可読媒体とも呼ばれる）を備えてもよい。処理モジュール／ユニット／ロジック１５２８は、例えば、計画モジュール３０１、制御モジュール３０２、走行シナリオハンドラ３２１−３３４のような前記構成要素のいずれかを示してもよい。処理モジュール／ユニット／ロジック１５２８は、さらにデータ処理システム１５００、メモリ１５０３及びプロセッサ１５０１により実行される期間に、メモリ１５０３内及び／又はプロセッサ１５０１内に完全又は少なくとも部分的に存在してもよく、ここで、メモリ１５０３及びプロセッサ１５０１も、機器アクセス可能な記憶媒体を構成する。処理モジュール／ユニット／ロジック１５２８は、さらにネットワークによってネットワークインターフェース装置１５０５を経由して送受信されてもよい。
【００６０】
コンピュータ可読記憶媒体１５０９は、以上に説明された一部のソフトウェア機能の一部を永続的に記憶してもよい。コンピュータ可読記憶媒体１５０９は、例示的な実施形態において単一の媒体として示されたが、用語「コンピュータ可読記憶媒体」は、前記１つ又は複数のコマンドセットが記憶される単一の媒体又は複数の媒体（例えば、集中型又は分散型データベース、及び／又は関連するキャッシュ及びサーバ）を備えることを理解すべきである。用語「コンピュータ可読記憶媒体」は、さらにコマンドセットを記憶又はコーディング可能な任意の媒体を備えることを理解すべきであり、前記コマンドセットは、機器により実行されかつ前記機器に本発明の任意の１種又は複数種の方法を実行させる。従って、用語「コンピュータ可読記憶媒体」は、ソリッドステートメモリ及び光学媒体と磁気媒体又は任意の他の非一時的機械可読媒体を備えるが、それらに限定されないことを理解すべきである。
【００６１】
本明細書に記載の処理モジュール／ユニット／ロジック１５２８、構成要素及び他の特徴は、ディスクリートハードウェア構成要素として実現されてもよく、又はハードウェア構成要素（例えばＡＳＩＣＳ、ＦＰＧＡ、ＤＳＰ又は類似装置）の機能に統合されてもよい。さらに、処理モジュール／ユニット／ロジック１５２８は、ハードウェア装置内のファームウェア又は機能回路として実現されてもよい。また、処理モジュール／ユニット／ロジック１５２８は、ハードウェア装置及びソフトウェアコンポーネントの任意の組合せで実現されてもよい。
【００６２】
なお、システム１５００は、データ処理システムの各種の構成要素を有するように示されているが、構成要素の相互接続のいかなる特定のアーキテクチャー又は方式を示すものではないことに注意すべきであり、それは、このような詳細が本発明の実施形態に密接な関係がないためである。また、より少ない構成要素又はより多くの構成要素を有するネットワークコンピュータ、ハンドヘルドコンピュータ、携帯電話、サーバ及び／又は他のデータ処理システムは、本発明の実施形態と共に使用されてもよい。
【００６３】
前記詳細な説明の一部は、コンピュータメモリにおけるデータビットに対する演算のアルゴリズム及び記号表現で示される。これらのアルゴリズムの説明及び表現は、データ処理分野における当業者によって使用され、それらの作業実質を所属分野の他の当業者に最も効果的に伝達する方法である。ここで、アルゴリズムは、通常、所望の結果につながる首尾一貫した動作列（ｓｅｑｕｅｎｃｅ  ｏｆ  ｏｐｅｒａｔｉｏｎｓ）と考えられる。これらの動作とは、物理量に対して物理的動作を行う必要となるステップを指す。
【００６４】
ただし、これらの全ての及び類似の用語は、いずれも適切な物理量に関連付けられ、かつただこれらの量に適用される適切なラベルであることに注意すべきである。特に断らない限り、本出願の全体にわたって用語（例えば、添付している特許請求の範囲に説明された用語）による説明とは、コンピュータシステム又は類似の電子算出装置の動作及び処理であり、前記コンピュータシステム又は電子算出装置は、コンピュータシステムのレジスタ及びメモリに物理（例えば、電子）量としてデータを示し、かつ前記データをコンピュータシステムメモリ又はレジスタ又は他のこのような情報記憶装置、伝送又は表示装置内において類似に物理量として示される他のデータに変換する。
【００６５】
本発明の実施形態は、さらに本明細書における動作を実行するためのコンピュータプログラムに関連付けられる。このようなコンピュータプログラムは、非揮発性のンピュータ可読媒体に記憶される。機械可読媒体は、機械（例えば、コンピュータ）可読な形態で情報を記憶する任意の機構を備える。例えば、機械可読（例えば、コンピュータ可読）媒体は、機械（例えば、コンピュータ）可読記憶媒体（例えば、読み出し専用メモリ（「ＲＯＭ」）、ランダムアクセスメモリ（「ＲＡＭ」）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリメモリ）を備える。
【００６６】
前記図面に示される手順又は方法は、ハードウェア（例えば、回路、専用ロジック等）、ソフトウェア（例えば、非揮発性のコンピュータ可読媒体に具現化される）、又は両方の組合せを含む処理ロジックにより実行されてもよい。前記手順又は方法は、本明細書において特定の順序に応じて説明されるが、説明された動作の一部は、異なる順序に応じて実行されてもよい。また、一部の動作は、順番ではなく並行に実行されてもよい。
【００６７】
本発明の実施形態は、いずれかの特定のプログラミング言語を参照して説明されていないが、複数種のプログラミング言語で本明細書に記載の本発明の実施形態の教示を実現できることを理解すべきである。
【００６８】
以上の明細書では、本発明の具体的な例示的な実施形態を参照してその実施形態を説明した。明らかなように、添付している特許請求の範囲に記載の本発明のより広い趣旨及び範囲を逸脱しない限り、様々な変形が可能である。従って、限定的なものではなく例示的なものとして本明細書及び図面を理解すべきである。
【図１】
2019501435.tif 000003
【図２】
2019501435.tif 000004
【図３Ａ】
2019501435.tif 000005
【図３Ｂ】
2019501435.tif 000006
【図４Ａ】
2019501435.tif 000007
【図４Ｂ】
2019501435.tif 000008
【図５Ａ】
2019501435.tif 000009
【図５Ｂ】
2019501435.tif 000010
【図６】
2019501435.tif 000011
【図７】
2019501435.tif 000012
【図８】
2019501435.tif 000013
【手続補正書】
【提出日】平成30年4月10日(2018.4.10)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、一般的に、自律走行車を走行させることに関するものである。特に、本発明の実施形態は、自律走行車の走行を決定するための周辺環境を構築することに関するものである。
【背景技術】
【０００２】
自律走行モード（例えば、運転者なしに）で動作している車両において、搭乗者、特に運転者は、運転に関連する担当事項の一部から軽減されることができる。自律走行モードで動作する際、車両はオンボードセンサを用いて様々な位置へナビゲートすることができ、その結果、最小限の人間とのインタラクションで、又は、一部の場合、乗客なしに車両の移動が可能となる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
運転中、様々な決定を下す人間と同様に、自律走行車は、信号灯、交通状況、安全規制、近くの歩行者や車両など（これに限定されない）を含む実際の周辺環境に応じて、いつでも即座に走行決定を下すべきである。人間が車を運転するとき、彼／彼女は暗黙的に、それぞれの感知された対象の存在を確認し、各対象と決定とを関連付ける。したがって、人間ドライバーの実際の決定の結果は、複雑であり、合成された過程から出て、その過程において、それぞれの対象に対する個別の決定は統合されて、最終決定に合成されており、当該最終決定は、車両の予想軌跡に変換され、最終的にはステアリングホイール、ブレーキおよび／またはスロットルの実際のハンドリングに変換される。自律走行車では、このような思考のプロセスを模倣することは困難である。
【０００４】
本発明の実施形態は、同様の参照番号で同様の要素を示す添付の図面において、例示として説明され、これに限定されない。
【図面の簡単な説明】
【０００５】
【図１】本発明の一実施形態に係るネットワークシステムを示すブロック図である。
【図２】本発明の一実施形態に係る自律走行車の一例を示すブロック図である。
【図３Ａ】本発明の特定の実施形態に係る自律走行車とともに使用されるデータ処理システムの一例を示すブロック図である。
【図３Ｂ】本発明の特定の実施形態に係る自律走行車とともに使用されるデータ処理システムの一例を示すブロック図である。
【図４Ａ】本発明の一実施形態に係る走行シナリオの例を示すブロック図である。
【図４Ｂ】本発明の一実施形態に係る走行シナリオの例を示すブロック図である。
【図５Ａ】本発明の他の実施形態に係る走行シナリオの例を示すブロック図である。
【図５Ｂ】本発明の他の実施形態に係る走行シナリオの例を示すブロック図である。
【図６】本発明の一実施形態に係る走行シナリオの例を示すブロック図である。
【図７】本発明の一実施形態に係る自律走行車を走行させるプロセスを示すフローチャートである。
【図８】は、一実施形態に係るデータ処理システムを示すブロック図である。
【発明を実施するための形態】
【０００６】
以下、検討した詳細を参照して本発明の様々な実施形態及び態様を説明し、添付の図面は、前記様々な実施形態を示す。以下の説明及び図面は、本発明の例示であり、本発明を限定するものとして解釈されるべきではない。本発明の様々な実施形態の完全な理解を提供するために、多くの詳細が記載されている。しかしながら、場合によって、本発明の実施形態の説明の簡潔さから、周知又は従来の詳細は記載されていない。
【０００７】
本明細書において、「一実施形態」又は「実施形態」とは、当該実施形態に説明した特定の特徴、構造、又は特性を本発明の少なくとも１つの実施形態に含めることができることを意味する。本明細書を通じて使用される「一実施形態では」という語句は、必ずしもすべて同じ実施形態を指すとは限らない。
【０００８】
一部の実施形態によると、自律走行車を製造するとき、システムは、自律走行車に対し特に設計された走行環境を構築して人間の思考過程をエミュレートすることによって、走行環境を理解し、安全かつ適切な決定を下す。走行環境（走行世界とも呼ばれる）は、いくつかのサブ環境（サブ世界とも呼ばれる）により構成されている。各サブ環境は、指定された目的のための特定の時空間領域または走行シナリオをカバーする。一実施形態では、構築される環境は、人間が必要なすべての状況下で感知することができるすべての対象を獲得する。異なるシナリオにおいて、対象は、異なる意味を持つことができ、異なるサブ環境に出現する可能性があるため、対象に対して異なる決定が行われる。各サブ環境からの対象の決定は、実際の最終決定と処理のために、統合される方法で合併される。車両の実際の操作を示す最終決定は、それぞれの対象の最終決定から推定される。サブ環境は、人間の運転経験に似たすべての必要なシナリオをカバーするが、各サブ環境は、特定の目的または走行シナリオのために指定されることが好ましい。これにより、これらのサブ環境は、一定の独立性有して、開発やメインテナンスが容易になり、迅速に並行して構築することができる。
【０００９】
一実施形態では、自律走行車に搭載された様々なセンサから受信したセンサデータに応答して、センサデータに基づいて、自律走行車の周辺環境を感知する。周辺環境は、自律走行車を囲む複数のサブ環境を含む。各サブ環境について、サブ環境に対応する走行シナリオに関連する走行シナリオハンドラの1つが識別される。走行シナリオハンドラの各々は、走行サブ環境内の特定の走行シナリオを処理する。識別された走行シナリオハンドラは、対応するサブ環境内の走行条件または走行環境を決定するために呼び出される。走行シナリオハンドラにより提供されたサブ環境の走行条件に基づいて、周辺環境の全体の走行条件が決定される。周辺環境の全体の走行条件の理解に基づいて、ルートセグメントが計画される。自律走行車は、ルートセグメントに従って制御され、走行される。ルートセグメントは、出発地から目的地までのルートの多くのルートセグメントの1つである。上記のプロセスは、ルートに沿ってルートセグメントごとに繰り返し実行されることができる。
【００１０】
図１は、本発明に係る一実施形態に係る自律走行車のネットワーク配置を示すブロック図である。図１を参照して、ネットワーク配置１００は、ネットワーク１０２によって１つ以上のサーバ１０３〜１０４に通信可能に接続することができる自律走行車１０１を含む。１つの自律走行車を示すが、ネットワーク１０２によって、複数の自律走行車が互いに接続され、及び／又はサーバ１０３〜１０４に接続されることができる。ネットワーク１０２は、任意のタイプのネットワーク、例えば有線又は無線のローカルエリアネットワーク（ＬＡＮ）、例えばインターネットのようなの広域ネットワーク（ＷＡＮ）、セルラーネットワーク、衛星ネットワーク又はその組み合わせであってもよい。サーバ１０３〜１０４は、任意のタイプのサーバ又はサーバクラスタ、例えばＷｅｂサーバ又はクラウドサーバ、アプリケーションサーバ、バックエンドサーバ又はその組み合わせであってもよい。サーバ１０３〜１０４は、データ分析サーバ、内容サーバ、交通情報サーバ、地図（マップ）及び興味のあるポイント（ＭＰＯＩ）サーバ又は位置サーバ等であってもよい。
【００１１】
自律走行車とは、運転者からの入力が非常に少ない又はない場合に案内されて環境を通過する自律走行モードに設置される車両である。自律走行車は、車両が走行している環境にかかる情報を検出するように配置される１つまたは複数のセンサを含むセンサシステムを備える。車両及びそれに関連しているコントローラが、検出された情報で案内して環境を通過する。自律走行車１０１が手動モード、完全自律走行モードまたは部分自律走行モードで運転されることができる。
【００１２】
一実施形態において、自律走行車１０１は、データ処理システム１１０と、車両制御システム１１１と、無線通信システム１１２と、ユーザインターフェースシステム１１３と、インフォテイメントシステム１１４と、センサシステム１１５とを含むが、これらに限定されない。自律走行車１０１は、通常の車両に含まれるある一般的な構成要素（部材）、例えばエンジン、車輪、ハンドル、変速機等をさらに含んでもよく、前記構成要素は、車両制御システム１１１及び／又はデータ処理システム１１０により多種の通信信号及び／又はコマンド（例えば、加速信号又はコマンド、減速信号又はコマンド、ステアリング信号又はコマンド、ブレーキ（制動）信号又はコマンド等）を使用して制御されることができる。
【００１３】
構成要素１１０〜１１５は、インターコネクト、バス、ネットワーク又はそれらの組み合わせを介して互いに通信可能に接続することができる。例えば、構成要素１１０〜１１５は、コントローラローカルエリアネットワーク（ＣＡＮ）バスを介して互いに通信可能に接続することができる。ＣＡＮバスは、マイクロコントローラ及び装置がホストコンピューターのない応用において互いに通信することを許可するような車両バス標準として設計される。それは、最初に自動車内における多重化された電線のために設計されたメッセージに基づくプロトコルであるが、他のたくさんの環境（状況）にも用いられる。
【００１４】
図２を参照すると、一実施形態において、センサシステム１１５は、１つ以上のカメラ２１１と、全地球測位システム（ＧＰＳ）ユニット２１２と、慣性計測ユニット（ＩＭＵ）２１３と、レーダーユニット２１４と、光検出及び測距（ＬＩＤＡＲ）ユニット２１５とを含むが、これらに限定されない。ＧＰＳユニット２１２は、送受信機を含んでもよく、前記送受信機は、自律走行車の位置に関する情報を提供するように操作されることができる。ＩＭＵユニット２１３は、慣性加速度に基づいて自律走行車の位置及び方向変化を感知することができる。レーダーユニット２１４は、無線信号を利用して自律走行車のローカル環境内の対象を感知するシステムを示すことができる。一部の実施形態において、対象を感知する以外、レーダーユニット２１４は、対象の速度及び／又は走行方向をさらに感知することができる。ＬＩＤＡＲユニット２１５は、レーザを使用して自律走行車の位置する環境における対象を感知することができる。その他のシステム構成要素以外、ＬＩＤＡＲユニット２１５は、１つ以上のレーザ光源、レーザースキャナ及び１つ以上の検出器をさらに含んでもよい。カメラ２１１は、自律走行車の周辺環境の画像をキャプチャするための１つ以上の装置を含んでもよい。カメラ２１１は、スチルカメラ及び／又はビデオカメラであってもよい。カメラは、例えば回転及び／又は傾斜のプラットフォームに取り付けられる、機械的に移動可能なものであってもよい。
【００１５】
センサシステム１１５は、その他のセンサ、例えばソナーセンサ、赤外線センサ、ステアリング（転向）センサ、スロットルセンサ、ブレーキセンサ、及びオーディオセンサ（例えば、マイクロフォン）をさらに含んでもよい。オーディオセンサは、自律走行車周辺の環境から音をキャプチャするように配置されてもよい。ステアリングセンサは、ハンドル、車両の車輪又はその組み合わせのステアリング角を感知するように配置されてもよい。スロットルセンサ及びブレーキセンサは、それぞれ車両のスロットル位置及びブレーキ位置を感知する。一部の場合、スロットルセンサ及びブレーキセンサは、集積型スロットル／ブレーキセンサに一体化されてもよい。
【００１６】
一実施形態では、車両制御システム１１１は、ステアリングユニット２０１、スロットルユニット２０２（加速ユニットとも呼ばれる）、ブレーキ（制動）ユニット２０３、コンピュータビジョンシステム２０４、ナビゲーションユニット２０５（ナビゲーションとルートシステム、またはナビゲーション／ルートシステムとも呼ばれる）および衝突回避ユニット２０６（障害物回避システムとも呼ばれる）を含むが、これに限定されない。ステアリングユニット２０１は、車両の方向または進路（または行進方向）を調整するものである。スロットルユニット２０２は、モータやエンジンの速度を制御して、さらに車両の速度と加速度を制御するためのものである。制動ユニット２０３は、車両の車輪またはタイヤを減速させるように摩擦を提供することで、車両を減速させるものである。
【００１７】
コンピュータビジョンユニットまたはシステム２０４は、自律走行車の環境内の対象および／または特徴を識別するための１つ以上のカメラ２１１によってキャプチャされた画像を処理し、分析するものである。対象は、交通信号、道路境界、他の車両、歩行者、および／または障害物などを含むことができる。コンピュータビジョンシステム２０４は、対象認識アルゴリズム、ビデオトラッキング（ｔｒａｃｋｉｎｇ）および他のコンピュータビジョン技術を使用することができる。一部の実施形態では、コンピュータビジョンシステム２０４は、環境をマッピングして、対象を追跡し、対象の速度を推定することなどを行うことができる。
【００１８】
ナビゲーションユニットまたはシステム２０５は、自律走行車の走行ルートを決定するものである。例えば、ナビゲーションシステムは、一連の速度と進行方向（ｄｉｒｅｃｔｉｏｎａｌ  ｈｅａｄｉｎｇ）を決定して、感知された障害物を実質的に避けるルートに沿って自律走行車の移動を行いながら、最終的な目的地に至る車線のルートに基づいて自律走行車を前進させる。目的地は、ユーザインタフェースを介してユーザの入力に応じて設定されてもよい。ナビゲーションシステム２０５は、自律走行車が走行している間、走行経路を動的に更新することができる。ナビゲーションシステム２０５は、自律走行車のための走行ルートを決定するように、ＧＰＳシステム、および１つ以上のマップからのデータを統合してもよい。
【００１９】
衝突回避ユニットまたはシステム２０６は、自律走行車の環境での潜在的な障害物を識別、評価、回避、交渉（ｎｅｇｏｔｉａｔｅ）するものである。例えば、衝突回避システム２０６は、緊急回避操作、転向操作、制動操作などを行うために、制御システムの１つ以上のサブシステムを操作して、自律走行車のナビゲーションの変化を行うことができる。衝突回避システム２０６は、周辺の交通パターン、道路状況等に基づいて、実現可能な障害物回避操作を自動的に決定することができる。衝突回避システム２０６は、自律走行車が緊急回避して進入する隣接領域において、車両、建物の障害物などが他のセンサシステムにより検出されるとき、緊急回避操作が行われないように構成することができる。衝突回避システム２０６が、使用可能でありながら自律走行車の乗員の安全を最大限にする操作を自動的に選択することができる。衝突回避システム２０６は、自律走行車の乗客室に対して最低限の加速を引き起こすと予想される回避操作を選択することができる。注意すべきなことは、図２に示すような構成要素は、ハードウェア、ソフトウェア又はその組み合わせで実現されてもよい。
【００２０】
図１を再び参照すると、無線通信システム１１２は、自律走行車１０１と、例えば装置、センサ、その他の車両等の外部システムとの間の通信を可能にする。例えば、無線通信システム１１２は、１つ以上の装置に直接に又は通信ネットワークを介して無線通信し、例えばネットワーク１０２によってサーバ１０３〜１０４に通信することができる。無線通信システム１１２は、任意のセルラー通信ネットワーク又は無線ローカルエリアネットワーク（ＷＬＡＮ）（例えばＷｉＦｉ）を使用して他の構成要素やシステムに通信することができる。無線通信システム１１２は、例えば赤外線リンク、ブルートゥース（登録商標）等を使用して装置（例えば、乗客の移動装置、車両１０１内の表示装置、スピーカー）に直接に通信することができる。ユーザインターフェースシステム１１３は、車両１０１内で実行される周辺装置の一部であってもよく、例えばキーボード、タッチスクリーン表示装置、マイクロフォン、及びスピーカー等を含む。
【００２１】
自律走行車１０１の一部又は全ての機能は、特に自律走行モードで走行する場合、データ処理システム１１０により制御されたり管理されたりすることができる。データ処理システム１１０は、必要なハードウェア（例えば、プロセッサ、メモリ、記憶装置）、及びソフトウェア（例えば、オペレーティングシステム、計画及びルーティングプログラム）を含み、センサシステム１１５、車両制御システム１１１、無線通信システム１１２、及び／又はユーザインターフェースシステム１１３から情報を受信し、受信された情報を処理し、出発地から目的地までのルートや経路を計画し、そして、計画及び制御情報に基づいて車両１０１を走行させる。代替的に、データ処理システム１１０と車両制御システム１１１とは一体化されてもよい。
【００２２】
例えば、乗客であるユーザは、例えばユーザインターフェースによって行程の出発位置及び目的位置を指定することができる。データ処理システム１１０は、行程に関連するデータを取得する。例えば、データ処理システム１１０は、ＭＰＯＩサーバから位置及び経路情報を取得することができ、前記ＭＰＯＩサーバは、サーバ１０３〜１０４の一部であってもよい。位置サーバは、位置サービスを提供し、かつ、ＭＰＯＩサーバは、マップサービス及びある位置のＰＯＩを提供する。あるいは、このような位置及びＭＰＯＩ情報は、データ処理システム１１０の永続記憶装置にローカルでキャッシュされることができる。
【００２３】
自律走行車１０１が経路に沿って走行する期間に、データ処理システム１１０は、さらに交通情報システムやサーバ（ＴＩＳ）からリアルタイム交通情報を取得することができる。注意すべきなのは、サーバ１０３〜１０４は、第三者のエンティティにより動作されることができる。あるいは、サーバ１０３〜１０４の機能は、データ処理システム１１０と一体化されてもよい。リアルタイム交通情報、ＭＰＯＩ情報、位置情報、及びセンサシステム１１５が検出又は感知したリアルタイムなローカル環境データ（例えば、障害物、対象、付近車両）に基づいて、データ処理システム１１０は、指定された目的地に安全で効果的に到達するように、最適な経路を計画し、かつ計画された経路により、例えば車両制御システム１１１を介して車両１０１を走行させることができる。
【００２４】
一実施形態によると、自律走行車１０１は、車両１０１の乗客に情報とエンターテインメント（ｅｎｔｅｒｔａｉｎｍｅｎｔ）を提供するインフォテイメントシステム１１４をさらに含むことができる。情報及びエンターテイメントコンテンツは、ローカルおよび／またはリモート（例えば、サーバ１０３乃至１０４によって提供される）に記憶されたコンテンツ情報に基づいて、受信され、コンパイルされて、レンダリングされる。情報は、例えば、ネットワーク１０２を介して任意のサーバ１０３乃至１０４からリアルタイムでストリーミングされて車両１０１の表示装置上に表示される。情報は、例えば、一つまたは複数のカメラでリアルタイムにキャプチャされたローカル情報により増強される（ａｕｇｍｅｎｔｅｄ）ことができ、そして、増強されたコンテンツは、仮想現実の方法で表示されることができる。
【００２５】
自律走行車は、実際のまたは物理的な窓（またはウィンドウ）がなくてもよい。これに対し、「ウィンドウ（ｗｉｎｄｏｗ）」（本明細書では、仮想ウィンドウとも呼ばれる）は、表示装置、すなわち、選択的にタッチスクリーンを備えた、車両のウィンドウの形状に成形された平面または曲面スクリーンディスプレイ装置に表示したり、代替したりすることができる。ディスプレイ装置は、恰もユーザが透明なウィンドウを介して、実際の物理的なコンテンツを見るように、１つ以上の適切なカメラによってリアルタイムに動的にキャプチャされた画像や画像ストリーム（例えば、ビデオ）を表示する。それぞれの「Ｗｉｎｄｏｗｓ」（例えば、ディスプレイ装置）には、表示される対応のコンテンツをリアルタイムでストリーミングするための対応のディスプレイチャンネルがあり、これは拡張現実システム、例えば、インフォテインメントシステム１１４および／またはデータ処理システム１１０によって集中的に処理することができる。このような状況では、増強された画像は、インフォテイメントシステム１１４を介して仮想現実方法で表示され、これは拡張現実の方法とも呼ばれる。
【００２６】
一実施形態では、位置及びルート情報、ＭＰＯＩ情報、および／またはリアルタイムの交通情報に基づいて、インフォテインメントシステム１１４および／またはデータ処理システム１１０は、現在の交通環境（例えば、ＭＰＯＩ）に適切なコンテンツの特定のタイプを決定する。システムは、例えば、リアルタイム行程（移動）情報に基づいて、コンテンツアイテムの候補としてリストコンテンツアイテム（例えば、スポンサーされたコンテンツや広告）を識別するために、コンテンツのインデックス（図示せず）からのルックアップ動作を実行する。
【００２７】
一実施形態によると、データ処理システム１１０は、計画モジュールと制御モジュール（図示せず）を含む。計画モジュールは、ルートまたはルートのルートセグメントを計画することによって、制御モジュールにより自律走行車１０１を制御し走行させて、計画されたルートに沿って移動できるようにする。ルートは、自律走行車１０１を囲む全体の走行環境に対する理解や感知に基づいて生成され、自律走行車１０１を囲む全体の走行環境は、自律走行車に装着された様々なセンサから受信されたセンサデータをもとにする。
【００２８】
一実施形態では、全体の走行環境を構築または理解するとき、走行環境は、複数のサブ環境に分割または感知され、各サブ環境は、環境のセグメントを示す。各サブ環境は、サブ環境内の走行条件を示す走行パラメータまたはメタデータセットを決定するために、それぞれの走行シナリオハンドラによって処理される。ルートに沿って定期的に（例えば、０．１秒ごとに）移動するとき、自律走行車１０１は、センサシステム１１５からのセンサデータを受信し、自律走行車１０１の周辺環境を感知する。自律走行車１０１は、周辺環境を感知して、１つ以上のサブ環境に分割する。
【００２９】
それぞれのサブ環境については、対応する走行シナリオハンドラが識別及び呼び出され、サブ環境の走行条件または設定を決定する。その後、自律走行車１０１は、サブ環境の個別の走行条件に基づいて、全体の走行環境の全体の走行条件を把握し決定する。後続のルートセグメントは、全体の周辺環境の走行条件に対する理解を基礎として計画される。その後、自律走行車１０１は、ルートセグメントに沿って移動する。上述したプロセスは、ルートに沿って、異なる時点で、各ルートセグメントに対して繰り返し実行される。ビデオストリームのビデオフレームと同様に、特定の時点での周辺環境を示す各フレームについて、上述したプロセスが実行されて、後続のルートセグメントに沿って自律走行車１０１を走行させるための走行条件や走行パラメータを決定する。
【００３０】
図３Ａは、本発明の一実施形態に係る自律走行車とともに使用されるデータ処理システムの一例を示すブロック図である。システム３００は、図１の自律走行車１０１に実装されることができる。図３Aを参照すると、データ処理システム１１０は、計画モジュール３０１、制御モジュール３０２、マップ及びルートモジュール３０３、及び、感知モジュール３０４を含むが、これに限定されない。また、データ処理システム１１０は、走行シナリオハンドラ３０５のリストをさらに含み、各走行シナリオハンドラは、全体の走行環境中の対応するサブ環境内の特定の走行シナリオを処理する。
【００３１】
感知モジュール３０４は、感知された歩行者、車両や障害物などの走行環境を感知するセンサシステム１１５から受信されたセンサデータを処理し、且つ、マスター車両状態情報（ローカリゼーション（ｌｏｃａｌｉｚａｔｉｏｎ）、ＧＰＳ情報及びシャーシの状態）を収集し変換して、処理及び決定のための計画モジュール３０１に提供する。感知モジュール３０４は、「何が見えるのかと、どこに位置しているのか」（「ｗｈａｔ  ｄｏ  Ｉ  ｓｅｅ  ａｎｄ  ｗｈｅｒｅ  Ｉ  ａｍ」）を処理するモジュールである。マップ及びルートモジュール３０３は、マップおよびルート情報が記憶されているモジュールである。走行シナリオハンドラ３０５は、「どこに行くのか、周りの道は何なのか」（ｗｈａｔ  ｄｏ  Ｉ  ｓｅｅ  ａｎｄ  ｗｈｅｒｅ  Ｉ  ａｍ」）などの情報を記憶する。
【００３２】
計画モジュール３０１は、センサシステム１１５から受信されたセンサデータおよび／または様々なソースから受信されたリアルタイムの情報などの様々な情報（例えば、位置、マップ、マップの一部であるＰＯＩ、関心ポイントまたはＭＰＯＩデータベース３０３）に基づいて、自律走行車への経路またはルートを計画する。計画及び制御データは、計画モジュール３０１によって生成される。計画及び制御データに基づいて、制御モジュール３０２は、計画及び制御データによって定義されたルートまたは経路に沿って、適切なコマンドまたは信号を車両制御システム１１１に送信することにより、自律走行車を制御するものである。計画及び制御データには、経路またはルートに沿って、異なる時点で、適切な車両設定または走行パラメータ（例えば、スロットル、ブレーキ、および転向コマンド）を使用して、ルートまたは経路の第１地点から第２地点までの車両を走行させる、十分な情報が含まれている。
【００３３】
計画モジュール３０１は、自律走行車により走行決定と計画を決定するコアロジック・モジュール（ｃｏｒｅ  ｌｏｇｉｃ  ｍｏｄｕｌｅ）である。マップ、ルート、および感知された対象を考慮し、交通ルールおよび／または以前の経験に基づいて、車両の操作（ｍａｎｅｕｖｅｒ）方式を決定し、計画する。軌跡と速度／加速度のような希望する操作状態に関する情報は、制御モジュール３０２に送信さて追加処理を行う。計画モジュール３０１と制御モジュール３０２は、図２の車両制御システム１１１のナビゲーションユニット２０５に通信可能に接続または一体化されてもよい。
【００３４】
ルートまたはルートセグメントを計画するとき、計画モジュール３０１は、感知モジュール３０４によって決定された周辺環境の中で感知されたサブ環境に対応する１つ以上の走行シナリオハンドラを呼び出す。それぞれの走行シナリオハンドラは、感知されたサブ環境を処理して、サブ環境の走行条件を決定し、これは車両がそのサブ環境に進入することに決定した場合、サブ環境内にどのような対象が位置しているか、車両がどのように動くかを決定することを含む。走行シナリオハンドラから取得された個別の走行条件に基づいて、計画モジュール３０１は、決定を行う。特に、計画モジュール３０１は、個別の走行シナリオハンドラによって感知され処理されるサブ環境に基づいて、全体の周辺環境を構築する。計画モジュール３０１は、個別の走行シナリオハンドラからの個別の決定や提案に基づいて最終的なルートを決定する。計画モジュール３０１は、後続のルートセグメントを示す計画及び制御データを生成し、計画及び制御データを制御モジュール３０２に送信する。計画及び制御データに基づいて、制御モジュール３０２は、制御するための適切な制御コマンドまたは指示をシステム１１１に発行して、車両を後続ルートセグメント内で移動させるようにする。
【００３５】
図３Ｂは、本発明の一実施形態に係る走行シナリオハンドラの例を示すブロック図である。図３Ｂを参照すると、一実施形態では、走行シナリオハンドラは、１）特定のシナリオハンドラ３０５Ａと、２）共通のシナリオハンドラ３０５Ｂの２つの層を含む。それぞれの特定のシナリオハンドラ３０５Ａは、サブ環境で対象を識別すること、対象と車両との間の距離、および車両が特定のサブ環境に進入する場合にどのように動くのかを決定することを含む、特定のサブ環境の走行を処理する。それぞれの共通シナリオハンドラ３０５Ｂは、特定のシナリオによって共有される所定の共通のシナリオを処理する。それぞれの共通シナリオハンドラ３０５Ｂは、特定のシナリオハンドラ３０５Ａのいずれか１つにより呼び出されてもよい。各シナリオハンドラは、基本的に属性（ａｔｔｒｉｂｕｔｅ）または所定の属性（ａｔｔｒｉｂｕｔｅ）と関連付けられているオブジェクト（ｏｂｊｅｃｔ）を抽出する一連のＡＰＩを提供する。これらのＡＰＩは、周辺環境をよりよく理解し、それに基づいて適切な判断を下すように、計画モジュール３０１によって適用される。
【００３６】
一実施形態では、特定のシナリオハンドラ３０５Ａは、前方（ｈｅａｄ）車両ハンドラ３２１、右側順方向（ｆｏｒｗａｒｄ）車線ハンドラ３２２、左側順方向車線ハンドラ３２３、後続（ｔａｉｌｇａｔｅ）車両ハンドラ３２４、右側近接ハンドラ３２５、左側逆方向（ｒｅｖｅｒｓｅ）車線ハンドラ３２６、交差路ハンドラ３２７、車線マージハンドラ３２８、横断歩道ハンドラ３２９及びクリアゾーンハンドラ３３０を含むが、これに限定されない。共通シナリオハンドラ３０５Ｂは、マスター車両ハンドラ３３１、交通信号ハンドラ３３２、停止標識ハンドラ３３３及び譲歩標識ハンドラ３３４を含むが、これに限定されない。
【００３７】
マスター車両ハンドラ３３１は、車両が現在位置している車線、車両の移動方向、位置、マップ、および車両のルート情報を含む、車両自体に関する情報を提供しているが、これに限定されない。前方車両ハンドラ３２１は、前方車両の速度及び前方車両と自律走行車との間の距離を含む、自律走行車の前の現在移動中の前方車両に関する情報を提供する。前方車両ハンドラ３２１は、自律走行車が前方車両を追従するか、または前方車両を追い越すかについての提案をさらに提供することができる。
【００３８】
右側順方向車線ハンドラ３２２と左側順方向車線ハンドラ３２３は、自律走行車の右側順方向車線と左側順方向車線に関する情報をそれぞれ提供する。提供される情報は、右側および／または左側順方向車線のスペース領域に位置するすべての対象または車両を含んでもよい。例えば、順方向車線ハンドラは、自律走行車が車線の変更を希望しない場合は、ナッジ（ｎｕｄｇｅ）する対象を示すことができ、自律走行車が車線の変更を希望する場合は、譲歩または追い越しする対象を示すことができる。左側逆方向車線ハンドラ３２６は、対象が反対の方向から自律走行車に接近していることを示すことができ、ナッジ（ｎｕｄｇｅ）するかどうかについての提案を示すことができる。車線マージハンドラ３２８は、自律走行車が譲歩すべきかまたは追い越しすべきかを示す情報を提供することができる。車線マージハンドラ３２８は、交通信号ハンドラ３３２と譲歩標識ハンドラ３３４とにお互いに配合されてもよい。
【００３９】
後続車両ハンドラ３２４は、後続車両の速度及び自律走行車との間の距離を含む、自律走行車を追従する任意の後続車両を識別することができる。右側近接対象ハンドラ３２５は、任意の実際の車線（レーン）にいないが、現在の右側車線の右側近接領域にある対象の環境を構築する。例示として、自転車レーンの右側にある自転車、右側縁石にある歩行者または右側に駐車された車両や固定物を含んでもよい。
【００４０】
交差路ハンドラ３２７は、車両が一領域から別の指定交差領域に移動する領域を含む全体の交通交差路（ｔｒａｆｆｉｃ  ｊｕｎｃｔｉｏｎ）を構築する。例えば、右折するとき、計画モジュール３０１は、交差路ハンドラ３２７を利用して、交通ルールや条件に応じて、追い越すとか譲歩する必要のある突き当たる可能性があるトラフィックを提供する。交差路ハンドラ３２７は、実行される特定の経路が指定されると、どのようなオブジェクト（対象）またはオブジェクトたちに対して追い越し、譲歩または停止するかを示すことができる。
【００４１】
横断歩道ハンドラ３２９は、歩行者が歩く可能性がある領域を構築する。横断歩道ハンドラ３２９は、横断歩道に歩行者がいるかどうかを識別することができる。クリアゾーンハンドラ３３０は、自律走行車が通過可能な、停止してはいけない領域を構築する。クリアゾーンハンドラ３３０は、交通信号ハンドラ３３２と配合して、自律走行車がクリアゾーンに進入する前に通過すべきかまたは停止すべきかを決定することができる。
【００４２】
交通信号ハンドラ３３２は、自律走行車の現在のルートを目的地へ制御する信号情報を提供する。交通信号ハンドラ３３２は、特定の交通信号が最近の信号変更からどのくらい維持されたかをさらに表示することができる。停止標識ハンドラ３３３は、現在の車線または他の車線に停止標識があるかどうかを示す情報を提供する。停止標識ハンドラ３３３は、自律走行車が通行権限を持っているかどうかをさらに表示することができる。停止標識ハンドラ３３３は、自律走行車が通行権限を持っている対象と持っていない対象とを追加的に識別することができる。停止標識ハンドラ３３３は、自律走行車が再び移動を開始する前に、自律走行車が十分な期間（例えば、３秒）の時間を停止したかどうかをさらに表示することができる。同様に、譲歩標識ハンドラ３３４は、現在の車線と他の車線に譲歩標識があるかどうかを示す。ハンドラ３３２−３３４は、任意の特定のハンドラ３２１−３３０によって呼び出されてもよい。
【００４３】
図４Aは、本発明の一実施形態に係る走行シナリオの例を示す図である。図４Aを参照すると、この例では、（マスター車両ハンドラ３３１によって表示される）自律走行車４０１が、中間車線で走行している。センサシステム１１５から受信されたセンサデータに基づいて、感知されたサブ環境４０２−４０５が点線の四角形に表示されている。サブ環境４０２は、右側順方向車線のシナリオを示す。サブ環境４０３は、マスター車両４０１の前の前方車両のシナリオを示す。サブ環境４０４は、左側順方向車線のシナリオを示す。サブ環境４０５は、後続車両のシナリオを示す。図４Bに示されているように、これらのサブ環境４０２−４０５が感知され識別されると、これに対応する走行シナリオのハンドラ、例えば、前方車両ハンドラ３２１、右側順方向車線ハンドラ３２２、左側順方向車線ハンドラ３２３及び後続車両ハンドラ３２４などが、計画モジュール３０１によって識別かつ呼び出される。
【００４４】
関連されるシナリオハンドラによって提供されるサブ環境の走行条件を示す情報に基づいて、計画モジュール３０１は、自律走行車を制御するために、ルートまたはルートセグメントを計画して、計画及び制御データを生成する。本例では、前方車両ハンドラ３２１は、速度や自律走行車との距離のようなサブ環境４０３における前方車両に関する情報を提供することができる。自律走行車が前方車両を従って行くか、それとも車線を変更すべきかに対する提案が提示されてもよい。同様に、後続車両ハンドラ３２４は、後続車両の速度や自律走行車との間の距離を含むサブ環境４０５内で自律走行車の後に走行する車両に関する情報を提供する。
【００４５】
右側順方向車線ハンドラ３２２と左側順方向車線ハンドラ３２３は、各自のサブ環境４０２、４０４における走行条件を提供する。本例では、左側順方向車線ハンドラ３２３は、近い左側車線で走行する２つの車両があることと、遠い左側車線から近い左側車線線に合流（ｍｅｒｇｅ）する別の車両があることを示すことができる。右側順方向車線ハンドラ３２２は、近い右側車線には車両がないが、遠い右側車線には車両があることを示すことができる。サブ環境４０２−４０５に関するすべての情報に基づいて、計画モジュール３０１は、車線を近い右側車線に変更することを決定することができる。全体の環境を特定の走行シナリオハンドラによって処理される複数のサブ環境に分割することにより、計画モジュール３０１の決定がより効率的である。
【００４６】
図５Aは、本発明の他の実施形態に係る走行シナリオの例を示す図である。図５Aを参照すると、本例では、センサシステム１１５によって提供されたセンサデータに基づいて、環境は左側逆方向車線のサブ環境５０２および右側近接のサブ環境５０３を有するものであると感知される。したがって、左側逆方向車線ハンドラ３２６および右側近接ハンドラ３２５は、図５Bに示すように、サブ環境５０２−５０３内の走行条件を決定するために呼び出される。本例では、左側逆方向車線ハンドラ３２６は、左側車線に反対方向から対向して来る車両（速度と距離を含む）があることを示すことができる。右側近接ハンドラ３２５は、マスター車両サブ環境５０１に表示される自律走行車が走行する車線の縁石に、歩行者及び自転車があることを示すことができる。したがって、計画モジュール３０１は、自律走行車の速度を減少させたり、歩行者や自転車などを追い越す前に、反対側の車両が通過するようにルートを計画することができる。
【００４７】
図６は、本発明の他の実施形態に係る走行シナリオの例を示す図表である。図６を参照すると、マスター車両５０１によって示されている自律走行車の観点から、感知された環境は、１つ以上の交通信号サブ環境６０２、交差路サブ環境６０３、クリアーゾーンサブ環境６０４、および横断歩道サブ環境６０５を含む。その結果、計画モジュール３０１によって呼び出された対応するハンドラは、交差路ハンドラ３２７、横断歩道ハンドラ３２９、クリアーゾーンハンドラ３３０、マスター車両ハンドラ３３１及び交通信号ハンドラ３３２を含む。これらのハンドラによって提供された情報に基づいて、計画モジュール３０１は、それに応じて計画することができる。
【００４８】
図７は、本発明の一実施形態に係る自律走行車を走行させるプロセスを示すフローチャートである。プロセス７００は、ソフトウェア、ハードウェア、またはこれらの組み合わせを含む処理ロジックによって実行されることができる。例えば、プロセス７００は、図１のデータ処理システム１１０によって実行されてもよい。図７を参照すると、ブロック７０１において、処理ロジックは、自律走行車に装着された様々なセンサを有するセンサシステムからのセンサデータを受信する。ブロック７０２において、処理ロジックは、１つ以上のサブ環境のリスト（例えば、交差路、横断歩道、左車線、右車線）を決定するために、センサデータに基づいて、自律走行車の周辺環境を感知する。それぞれのサブ環境について、ブロック７０３において、処理ロジックは、サブ環境の走行条件を決定するために、サブ環境に対応する特定の走行シナリオハンドラを識別し、呼び出す。ブロック７０４において、処理ロジックは、走行シナリオハンドラによって提供された走行条件に基づいて、ルートまたはルートセグメントを計画し、制御データを生成する。ブロック７０５において、処理ロジックは、計画及び制御データに基づいて自律走行車を運転および制御する。
【００４９】
注意すべきな点は、前記図示された構成要素の一部または全部は、ソフトウェア、ハードウェア、またはこれらの組み合わせにより実現されることができる。たとえば、これらの構成要素は、本明細書全体に記載されたプロセスまたはステップを実行するために、プロセッサ（図示せず）によってメモリにロードされて実行されることができる永続記憶装置にインストールされて記憶されるソフトウェアとして実現ことができる。代案として、これらの構成要素は、集積回路（例えば、特定用途向け集積回路またはＡＳＩＣ）、デジタル信号プロセッサ（ＤＳＰ）またはフィールドプログラマブルゲートアレイ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ、ＦＰＧＡ）のような専用のハードウェアにプログラムされたり内蔵された実行可能コードとして実現されることができ、これは、アプリケーションから対応するドライバおよび／またはオペレーティングシステムを介してアクセスすることができる。さらに、これらの構成要素は、１つ以上の特定のコマンドを使用してソフトウェアコンポーネントによってアクセス可能なコマンドセットの一部であり、プロセッサまたはプロセッサコアの特定のハードウェアロジックとして実現することができる。
【００５０】
図８は、本出願の一実施形態と組み合わせて使用されるデータ処理システムを例示的に示すブロック図である。例えば、システム１５００は、前記プロセス又は方法のいずれか（例えば、図１のデータ処理システム１１０、及びサーバ１０３〜１０４のいずれか）を実行する前記任意のデータ処理システムを示してもよい。システム１５００は、複数の異なる構成要素を含んでもよい。これらの構成要素は、集積回路（ＩＣ）、集積回路の一部、分散型電子装置又は回路基板（例えば、コンピュータシステムのマザーボード又はアドインカード）に適用された他のモジュール、又は他の方式でコンピュータシステムのシャシーに組み込まれた構成要素として実現されることができる。
【００５１】
さらに、システム１５００は、コンピュータシステムの複数の構成要素の高レベルビューを示すことを目的とする。しかしながら、一部の実現形態では、付加的構成要素が存在する場合があることを理解すべきである。また、他の実現形態において示される構成要素が異なる配置を有してもよい。システム１５００は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ、携帯電話、メディアプレーヤー、パーソナルディジタルアシスタント（ＰＤＡ）、スマート腕時計、パーソナルコミュニケーター、ゲーム装置、ネットワークルータ又はハブ、無線アクセスポイント（ＡＰ）又はリピーター、セットトップボックス、又はそれらの組合せを示してもよい。また、単一の機器又はシステムのみを示したが、用語「機器」又は「システム」は、さらに、独立又は共同で１つ（又は複数）のコマンドセットを実行することにより本明細書に説明される任意の１種又は複数種の方法を実行する機器又はシステムの任意のセットを含むことを理解すべきである。
【００５２】
一実施形態において、システム１５００は、バス又はインターコネクト１５１０によって接続されたプロセッサ１５０１、メモリ１５０３及び装置１５０５〜１５０８を備える。プロセッサ１５０１は、単一のプロセッサコア又は複数のプロセッサコアを含む単一のプロセッサ又は複数のプロセッサを示してもよい。プロセッサ１５０１は、マイクロプロセッサ、中央処理装置（ＣＰＵ）等のような１つ又は複数の汎用プロセッサを示してもよい。より具体的には、プロセッサ１５０１は、複雑コマンドセット計算（ＣＩＳＣ）マイクロプロセッサ、縮小コマンドセットコンピュータ（ＲＩＳＣ）マイクロプロセッサ、超長コマンド語（ＶＬＩＷ）マイクロプロセッサ、又は他のコマンドセットを実現するプロセッサ、又はコマンドセットの組合せを実現するプロセッサであってもよい。プロセッサ１５０１は、さらに、専用集積回路（ＡＳＩＣ）、セルラ又はベースバンドプロセッサ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタル信号プロセッサ（ＤＳＰ）、グラフィックプロセッサ、ネットワークプロセッサ、通信プロセッサ、暗号プロセッサ、コプロセッサ、組み込みプロセッサのような１つ又は複数の専用プロセッサ、あるいはコマンド処理可能な任意の他のタイプのロジックであってもよい。
【００５３】
プロセッサ１５０１（超低電圧プロセッサのような低電力マルチコアプロセッサソケットであってもよい）は、前記システムの各種の構成要素と通信するための主処理ユニット及び中央ハブとして用いられてもよい。このようなプロセッサは、システムオンチップ（ＳｏＣ）として実現されることができる。プロセッサ１５０１は、本明細書に説明される動作及びステップを実行するためのコマンドを実行するように構成される。また、システム１５００は、選択可能なグラフィックサブシステム１５０４と通信するグラフィックインターフェースをさらに含んでもよく、グラフィックサブシステム１５０４は、ディスプレイコントローラ、グラフィックプロセッサ及び／又はディスプレイデバイスをさらに備えてもよい。
【００５４】
プロセッサ１５０１は、メモリ１５０３と通信してもよく、メモリ１５０３は、一実施形態において複数のメモリによって所定量のシステムメモリを提供する。メモリ１５０３は、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）又は他のタイプのメモリのような１つ又は複数の揮発性記憶装置（又はメモリ）を備えてもよい。メモリ１５０３は、プロセッサ１５０１又は任意の他の装置により実行されるコマンド列を含む情報を記憶できる。例えば、複数種のオペレーティングシステム、装置ドライバー、ファームウェア（例えば、基本入出力システム又はＢＩＯＳ）及び／又はアプリケーションの実行可能なコード及び／又はデータは、メモリ１５０３にロードされて、プロセッサ１５０１により実行されてもよい。オペレーティングシステムは、ロボットオペレーティングシステム（ＲＯＳ）、Ｍｉｃｒｏｓｏｆｔ（登録商標）会社からのＷｉｎｄｏｗｓ（登録商標）オペレーティングシステム、アップル会社からのＭａｃＯＳ(登録商標)／ｉＯＳ（登録商標）、Ｇｏｏｇｌｅ（登録商標）会社からのＡｎｄｒｏｉｄ（登録商標）、Ｌｉｎｕｘ（登録商標）、Ｕｎｉｘ又は他のリアルタイム又は組み込みオペレーティングシステムのような任意のタイプのオペレーティングシステムであってもよい。
【００５５】
システム１５００は、Ｉ／Ｏ装置、例えば装置１５０５〜１５０８をさらに備えてもよく、ネットワークインターフェース装置１５０５、選択可能な入力装置１５０６及び他の選択可能なＩ／Ｏ装置１５０７を備えてもよい。ネットワークインターフェース装置１５０５は、無線送受信機及び／又はネットワークインターフェースカード（ＮＩＣ）を備えてもよい。前記無線送受信機は、ＷｉＦｉ送受信機、赤外送受信機、ブ経路ゥース送受信機、ＷｉＭａｘ送受信機、無線セルラーホン送受信機、衛星送受信機（例えば、全地球測位システム（ＧＰＳ）送受信機）又は他の無線周波数（ＲＦ）送受信機又はそれらの組合せであってもよい。ＮＩＣは、イーサネット（登録商標）カードであってもよい。
【００５６】
入力装置１５０６は、マウス、タッチパッド、タッチスクリーン（それは表示装置１５０４と集積されてもよい）、ポインタデバイス（例えばスタイラス）及び／又はキーボード（例えば、物理キーボード、又はタッチスクリーンの一部として表示された仮想キーボード）を備えてもよい。例えば、入力装置１５０６は、タッチスクリーンに接続されるタッチスクリーンコントローラを含んでもよい。タッチスクリーン及びタッチスクリーンコントローラは、例えば複数種のタッチ感度技術（容量式、抵抗式、赤外式及び表面音波の技術を含むが、それらに限定されない）のいずれか、及びタッチスクリーンの１つ又は複数の接触点を決定するための他の近接センサアレイ又は他の素子を用いて、そのタッチ点及び移動又は断続を検出することができる。
【００５７】
Ｉ／Ｏ装置１５０７は、音声装置を備えてもよい。音声装置は、スピーカ及び／又はマイクロホンを含んでもよく、それにより音声認識、音声コピー、デジタル記録及び／又は電話機能のような音声サポートの機能を促進する。他のＩ／Ｏ装置１５０７は、汎用シリアルバス（ＵＳＢ）ポート、パラレルポート、シリアルポート、印刷機、ネットワークインターフェース、バスブリッジ（例えば、ＰＣＩ〜ＰＣＩブリッジ）、センサ（例えば、加速度計、ジャイロスコープ、磁力計、光センサ、コン経路、近接センサ等のような動きセンサ）又はそれらの組合せをさらに備えてもよい。装置１５０７は、結像処理サブシステム（例えば、カメラ）をさらに備えてもよく、前記結像処理サブシステムは、カメラ機能（例えば、写真及びビデオ断片の記録）を促進するための電荷カップリング装置（ＣＣＤ）又は相補型金属酸化物半導体（ＣＭＯＳ）光学センサのような光学センサを備えてもよい。あるセンサは、センサハブ（図示せず）によってインターコネクト１５１０に接続されてもよく、キーボード又は熱センサのような他の装置は、組み込みコントローラ（図示せず）により制御されてもよく、これはシステム１５００の特定配置又は設計により決められる。
【００５８】
データ、アプリケーション、１つ又は複数のオペレーティングシステム等のような情報の永続記憶を提供するために、大容量メモリ（図示せず）が、プロセッサ１５０１に接続されてもよい。様々な実施形態において、薄型化と軽量化のシステム設計を実現しかつシステムの応答能力を向上させるために、このような大容量メモリは、ソリッドステート装置（ＳＳＤ）によって実現されることができる。なお、他の実施形態において、大容量メモリは、主にハードディスクドライブ（ＨＤＤ）で実現されてもよく、少量のＳＳＤ記憶量は、ＳＳＤキャッシュとして、停電イベント期間にコンテキスト状態及び他のこのような情報の不揮発性記憶を実現し、それによりシステム動作が再開する時に通電を速く実現することができる。さらに、フラッシュデバイスは、例えばシリアルペリフェラルインターフェース（ＳＰＩ）によってプロセッサ１５０１に接続されてもよい。このようなフラッシュデバイスは、システムソフトウェアの不揮発性記憶に用いられてもよく、前記システムソフトウェアは、前記システムのＢＩＯＳ及び他のファームウェアを備える。
【００５９】
記憶装置１５０８は、任意の１種又は複数種の本明細書に記載の方法又は機能を実現する１つ又は複数のコマンドセット又はソフトウェア（例えば、モジュール、ユニット及び／又はロジック１５２８）が記憶されるコンピュータアクセス可能な記憶媒体１５０９（機械可読記憶媒体又はコンピュータ可読媒体とも呼ばれる）を備えてもよい。処理モジュール／ユニット／ロジック１５２８は、例えば、計画モジュール３０１、制御モジュール３０２、走行シナリオハンドラ３２１−３３４のような前記構成要素のいずれかを示してもよい。処理モジュール／ユニット／ロジック１５２８は、さらにデータ処理システム１５００、メモリ１５０３及びプロセッサ１５０１により実行される期間に、メモリ１５０３内及び／又はプロセッサ１５０１内に完全又は少なくとも部分的に存在してもよく、ここで、メモリ１５０３及びプロセッサ１５０１も、機器アクセス可能な記憶媒体を構成する。処理モジュール／ユニット／ロジック１５２８は、さらにネットワークによってネットワークインターフェース装置１５０５を経由して送受信されてもよい。
【００６０】
コンピュータ可読記憶媒体１５０９は、以上に説明された一部のソフトウェア機能の一部を永続的に記憶してもよい。コンピュータ可読記憶媒体１５０９は、例示的な実施形態において単一の媒体として示されたが、用語「コンピュータ可読記憶媒体」は、前記１つ又は複数のコマンドセットが記憶される単一の媒体又は複数の媒体（例えば、集中型又は分散型データベース、及び／又は関連するキャッシュ及びサーバ）を備えることを理解すべきである。用語「コンピュータ可読記憶媒体」は、さらにコマンドセットを記憶又はコーディング可能な任意の媒体を備えることを理解すべきであり、前記コマンドセットは、機器により実行されかつ前記機器に本発明の任意の１種又は複数種の方法を実行させる。従って、用語「コンピュータ可読記憶媒体」は、ソリッドステートメモリ及び光学媒体と磁気媒体又は任意の他の非一時的機械可読媒体を備えるが、それらに限定されないことを理解すべきである。
【００６１】
本明細書に記載の処理モジュール／ユニット／ロジック１５２８、構成要素及び他の特徴は、ディスクリートハードウェア構成要素として実現されてもよく、又はハードウェア構成要素（例えばＡＳＩＣ、ＦＰＧＡ、ＤＳＰ又は類似装置）の機能に統合されてもよい。さらに、処理モジュール／ユニット／ロジック１５２８は、ハードウェア装置内のファームウェア又は機能回路として実現されてもよい。また、処理モジュール／ユニット／ロジック１５２８は、ハードウェア装置及びソフトウェアコンポーネントの任意の組合せで実現されてもよい。
【００６２】
なお、システム１５００は、データ処理システムの各種の構成要素を有するように示されているが、構成要素の相互接続のいかなる特定のアーキテクチャー又は方式を示すものではないことに注意すべきであり、それは、このような詳細が本発明の実施形態に密接な関係がないためである。また、より少ない構成要素又はより多くの構成要素を有するネットワークコンピュータ、ハンドヘルドコンピュータ、携帯電話、サーバ及び／又は他のデータ処理システムは、本発明の実施形態と共に使用されてもよい。
【００６３】
前記詳細な説明の一部は、コンピュータメモリにおけるデータビットに対する演算のアルゴリズム及び記号表現で示される。これらのアルゴリズムの説明及び表現は、データ処理分野における当業者によって使用され、それらの作業実質を所属分野の他の当業者に最も効果的に伝達する方法である。ここで、アルゴリズムは、通常、所望の結果につながる首尾一貫した動作列（ｓｅｑｕｅｎｃｅ  ｏｆ  ｏｐｅｒａｔｉｏｎｓ）と考えられる。これらの動作とは、物理量に対して物理的動作を行う必要となるステップを指す。
【００６４】
ただし、これらの全ての及び類似の用語は、いずれも適切な物理量に関連付けられ、かつただこれらの量に適用される適切なラベルであることに注意すべきである。特に断らない限り、本出願の全体にわたって用語（例えば、添付している特許請求の範囲に説明された用語）による説明とは、コンピュータシステム又は類似の電子算出装置の動作及び処理であり、前記コンピュータシステム又は電子算出装置は、コンピュータシステムのレジスタ及びメモリに物理（例えば、電子）量としてデータを示し、かつ前記データをコンピュータシステムメモリ又はレジスタ又は他のこのような情報記憶装置、伝送又は表示装置内において類似に物理量として示される他のデータに変換する。
【００６５】
本発明の実施形態は、さらに本明細書における動作を実行するためのコンピュータプログラムに関連付けられる。このようなコンピュータプログラムは、非揮発性のンピュータ可読媒体に記憶される。機械可読媒体は、機械（例えば、コンピュータ）可読な形態で情報を記憶する任意の機構を備える。例えば、機械可読（例えば、コンピュータ可読）媒体は、機械（例えば、コンピュータ）可読記憶媒体（例えば、読み出し専用メモリ（「ＲＯＭ」）、ランダムアクセスメモリ（「ＲＡＭ」）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリメモリ）を備える。
【００６６】
前記図面に示される手順又は方法は、ハードウェア（例えば、回路、専用ロジック等）、ソフトウェア（例えば、非揮発性のコンピュータ可読媒体に具現化される）、又は両方の組合せを含む処理ロジックにより実行されてもよい。前記手順又は方法は、本明細書において特定の順序に応じて説明されるが、説明された動作の一部は、異なる順序に応じて実行されてもよい。また、一部の動作は、順番ではなく並行に実行されてもよい。
【００６７】
本発明の実施形態は、いずれかの特定のプログラミング言語を参照して説明されていないが、複数種のプログラミング言語で本明細書に記載の本発明の実施形態の教示を実現できることを理解すべきである。
【００６８】
以上の明細書では、本発明の具体的な例示的な実施形態を参照してその実施形態を説明した。明らかなように、添付している特許請求の範囲に記載の本発明のより広い趣旨及び範囲を逸脱しない限り、様々な変形が可能である。従って、限定的なものではなく例示的なものとして本明細書及び図面を理解すべきである。
【国際調査報告】
2019501435.tif 000014