(57)【要約】【解決手段】一実施形態では、出発地から目標位置までのルートに応じて、該ルートを解析して、該ルートに沿って１つ又は複数の所定の運転シナリオにマッチングされる１つ又は複数の運転シナリオのリストを識別する。運転シナリオに基づいて当該ルートをルートセグメントのリストにセグメント化する。ルートセグメントの少なくとも１つは、識別された運転シナリオの１つに対応する。ルートセグメントに基づいて、自動運転車両を出発地から目標位置まで運転するための経路を生成する。当該経路には、ルートセグメントに対応する複数の経路区間が含まれる。経路の経路区間の少なくとも１つは、当該経路区間に対してリアルタイムで計算する必要なく、当該経路区間に関連付けられた所定の運転シナリオの事前構成経路に基づいて確定される。【選択図】図６
2020523552.tif 000002
【特許請求の範囲】
【請求項１】
自動運転車両の経路計画のためのコンピュータ実施方法であって、
自動運転車両を出発地から目標位置までルーティングするためのルートに応じて前記ルートを解析して、前記ルートに沿って１つ又は複数の事前定義された運転シナリオにマッチングされる１つ又は複数の運転シナリオのリストを識別するステップと、
識別された運転シナリオに基づいて前記ルートを複数のルートセグメントにセグメント化し、前記ルートセグメントの少なくとも１つは、識別された運転シナリオの１つに対応するステップと、
前記ルートセグメントに基づいて、前記自動運転車両を前記出発地から前記目標位置まで運転するための経路を生成するステップであって、前記経路は、前記ルートセグメントに対応する複数の経路区間を有し、前記経路の経路区間の少なくとも１つは、事前定義された運転シナリオに対応する事前構成経路区間に基づいて確定されるステップと、を含むコンピュータ実施方法。
【請求項２】
前記運転シナリオは、直進運転シナリオ、ターニングシナリオ、又は車線変更シナリオのうちの１つを表す、請求項１に記載の方法。
【請求項３】
前記方法は、
前記事前定義された運転シナリオの１つにマッチングされる前記ルートのルートセグメントのそれぞれについて、前記ルートセグメントに関連付けられる１つ又は複数の運転パラメータに基づいて事前構成経路区間を識別するステップと、
前記経路の対応する経路区間を動的に計算せずに、識別された事前構成経路区間に置き換えるステップと、をさらに含む、請求項１に記載の方法。
【請求項４】
前記方法は、
第１のルートセグメントに対応する第１の運転シナリオを確定するステップと、
前記第１の運転シナリオに対応する第１のシナリオ／経路テーブルを識別するステップと、
前記第１のルートセグメントに対応する経路の第１の経路区間を置き換えるために、前記第１のシナリオ／経路テーブルから第１の事前構成経路区間を取得するステップと、をさらに含む、請求項３に記載の方法。
【請求項５】
識別されたシナリオ／経路テーブルから第１の事前構成経路区間を取得するステップは、
前記第１の経路区間の第１の開始位置を確定することと、
前記第１の経路区間の第１の開始位置に近似的にマッチングされるエントリを特定するために、前記第１の開始位置に基づいて前記第１のシナリオ／経路テーブルで検索を行うことと、
前記第１のシナリオ／経路テーブルのマッチングエントリから、第１の事前構成経路区間を取得することと、を含む請求項４に記載の方法。
【請求項６】
前記第１のシナリオ／経路テーブルは複数のマッピングエントリを含み、各マッピングエントリは特定の開始位置を特定の事前構成経路にマッピングする請求項５に記載の方法。
【請求項７】
前記第１のシナリオ／経路テーブルは、複数のシナリオ／経路テーブルの１つであり、各シナリオ／経路テーブルは、前記事前定義された運転シナリオの１つに対応する請求項５に記載の方法。
【請求項８】
前記方法は、
前記事前定義された運転シナリオのいずれにもマッチングされない１つ又は複数のルートセグメントを識別することと、
マッチングされていないルートセグメントのそれぞれについて、前記マッチングされていないルートセグメントに対応する前記経路の経路区間を動的に計算することと、をさらに含む請求項１に記載の方法。
【請求項９】
命令が格納されている非一時的機械可読媒体であって、前記命令はプロセッサにより実行されると、前記プロセッサに動作を実行させ、前記動作は、
自動運転車両を出発地から目標位置までルーティングするためのルートに応じて前記ルートを解析して、前記ルートに沿って１つ又は複数の事前定義された運転シナリオにマッチングされる１つ又は複数の運転シナリオのリストを識別するステップと、
識別された運転シナリオに基づいて前記ルートを複数のルートセグメントにセグメント化し、前記ルートセグメントの少なくとも１つは、識別された運転シナリオの１つに対応するステップと、
前記ルートセグメントに基づいて、前記自動運転車両を前記出発地から前記目標位置まで運転するための経路を生成するステップであって、前記経路は、前記ルートセグメントに対応する複数の経路区間を有し、前記経路の経路区間の少なくとも１つは、事前定義された運転シナリオに対応する事前構成経路区間に基づいて確定されるステップと、を含む非一時的機械可読媒体。
【請求項１０】
前記運転シナリオは、直進運転シナリオ、ターニングシナリオ、又は車線変更シナリオのうちの１つを表す請求項９に記載の機械可読媒体。
【請求項１１】
前記動作は、
前記事前定義された運転シナリオの１つにマッチングされる前記ルートのルートセグメントのそれぞれについて、前記ルートセグメントに関連付けられる１つ又は複数の運転パラメータに基づいて事前構成経路区間を識別するステップと、
前記経路の対応する経路区間を動的に計算せずに、識別された事前構成経路区間に置き換えるステップと、をさらに含む請求項９に記載の機械可読媒体。
【請求項１２】
前記動作は、
第１のルートセグメントに対応する第１の運転シナリオを確定するステップと、
前記第１の運転シナリオに対応する第１のシナリオ／経路テーブルを識別するステップと、
前記第１のルートセグメントに対応する経路の第１の経路区間を置き換えるために、前記第１のシナリオ／経路テーブルから第１の事前構成経路区間を取得するステップと、をさらに含む請求項１１に記載の機械可読媒体。
【請求項１３】
識別されたシナリオ／経路テーブルから第１の事前構成経路区間を取得するステップは、
前記第１の経路区間の第１の開始位置を確定することと、
前記第１の経路区間の第１の開始位置に近似的にマッチングされるエントリを特定するために、前記第１の開始位置に基づいて前記第１のシナリオ／経路テーブルで検索を行うことと、
前記第１のシナリオ／経路テーブルのマッチングエントリから、第１の事前構成経路区間を取得することと、を含む請求項１２に記載の機械可読媒体。
【請求項１４】
前記第１のシナリオ／経路テーブルは複数のマッピングエントリを含み、各マッピングエントリは特定の開始位置を特定の事前構成経路にマッピングする請求項１３に記載の機械可読媒体。
【請求項１５】
前記第１のシナリオ／経路テーブルは、複数のシナリオ／経路テーブルの１つであり、各シナリオ／経路テーブルは、前記事前定義された運転シナリオの１つに対応する請求項１３に記載の機械可読媒体。
【請求項１６】
前記動作は、
前記事前定義された運転シナリオのいずれにもマッチングされない１つ又は複数のルートセグメントを識別することと、
マッチングされていないルートセグメントのそれぞれについて、前記マッチングされていないルートセグメントに対応する前記経路の経路区間を動的に計算することと、をさらに含む請求項９に記載の機械可読媒体。
【請求項１７】
プロセッサと、命令を格納するために前記プロセッサに接続されるメモリと、を備えるデータ処理システムであって、
前記命令は、前記プロセッサによって実行されると、前記プロセッサに動作を実行させ、前記動作は、
自動運転車両を出発地から目標位置までルーティングするためのルートに応じて前記ルートを解析して、前記ルートに沿って１つ又は複数の事前定義された運転シナリオにマッチングされる１つ又は複数の運転シナリオのリストを識別するステップと、
識別された運転シナリオに基づいて前記ルートを複数のルートセグメントにセグメント化し、前記ルートセグメントの少なくとも１つは、識別された運転シナリオの１つに対応するステップと、
前記ルートセグメントに基づいて、前記自動運転車両を前記出発地から前記目標位置まで運転するための経路を生成するステップであって、前記経路は、前記ルートセグメントに対応する複数の経路区間を有し、前記経路の経路区間の少なくとも１つは、事前定義された運転シナリオに対応する事前構成経路区間に基づいて確定されるステップと、を含むデータ処理システム。
【請求項１８】
前記運転シナリオは、直進運転シナリオ、ターニングシナリオ、又は車線変更シナリオのうちの１つを表す、請求項１７に記載のシステム。
【請求項１９】
前記動作は、
前記事前定義された運転シナリオの１つにマッチングされる前記ルートのルートセグメントのそれぞれについて、前記ルートセグメントに関連付けられる１つ又は複数の運転パラメータに基づいて事前構成経路区間を識別するステップと、
前記経路の対応する経路区間を動的に計算せずに、識別された事前構成経路区間に置き換えるステップと、をさらに含む請求項１７に記載のシステム。
【請求項２０】
前記動作は、
第１のルートセグメントに対応する第１の運転シナリオを確定するステップと、
前記第１の運転シナリオに対応する第１のシナリオ／経路テーブルを識別するステップと、
前記第１のルートセグメントに対応する経路の第１の経路区間を置き換えるために、前記第１のシナリオ／経路テーブルから第１の事前構成経路区間を取得するステップと、をさらに含む請求項１９に記載のシステム。
【請求項２１】
識別されたシナリオ／経路テーブルから第１の事前構成経路区間を取得するステップは、
前記第１の経路区間の第１の開始位置を確定することと、
前記第１の経路区間の第１の開始位置に近似的にマッチングされるエントリを見つけるために、前記第１の経路区間の第１の開始位置に基づいて前記第１のシナリオ／経路テーブルで検索することと、
前記第１のシナリオ／経路テーブルのマッチングされたエントリから、第１の事前構成経路区間を取得することと、を含む請求項２０に記載のシステム。
【請求項２２】
自動運転車両の経路計画のためのコンピュータ実施方法であって、
異なる道路構成を有する複数の道路を運転する複数の車両の運転統計データを収集するステップと、
前記運転統計データを解析して、異なる時点で異なる位置における一組の事前定義された運転シナリオにマッチングされる運転シナリオのリストを識別するステップと、
前記運転シナリオのそれぞれについて、
前記車両の少なくともいくつかが同じ運転シナリオで動作する位置のリストを識別するステップと、
前記運転シナリオに関連付けられる位置のそれぞれについて、その位置に関連付けられる運転統計データに基づいて優先経路区間を確定するステップと、
特定の位置を優先経路区間にマッピングするために前記運転シナリオのための運転シナリオ／経路データ構造を生成し、その後、前記シナリオ／経路データ構造を利用して、特定の運転シナリオで特定の位置において経路の経路区間を動的に計算せずに対応する優先経路区間を用いて計画するステップと、を含むコンピュータ実施方法。
【請求項２３】
運転シナリオのシナリオ／経路データ構造のそれぞれは複数のマッピングエントリを含み、各マッピングエントリは特定の位置を、その特定の運転シナリオの該特定の位置のための優先経路区間として事前構成経路区間にマッピングする請求項２２に記載の方法。
【請求項２４】
前記運転シナリオは、直進運転シナリオ、ターニングシナリオ、Ｕターンシナリオ又は車線変更シナリオのうちの１つを表す請求項２２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、主に自動運転車両を動作させることに関する。より具体的に、本発明の実施形態は自動運転車両の経路計画のための運転シナリオに基づく車線ガイドラインに関する。
【背景技術】
【０００２】
自動運転モードで走行する（例えば、ドライバーレス）車両は、乗員、特に運転手をいくつかの運転に関する責務から解放させることができる。車両は、自動運転モードで走行しているとき、搭載されたセンサ及び高精細度マップを使用して様々な場所にナビゲートすることができ、ヒューマンコンピュータインタラクションが最小限に抑えられた場合、又は乗客がいない状況などで車両を走行させることができる。
【０００３】
開始位置から目的地位置までのルートを計画する際、ルートの基準線は、それに従って自動運転車両を運転する経路の最終的な目標であるため重要である。ただし、好適な経路ガイドラインは、道路の中心にある通常の基準線と比べて大きな違いをもたらす可能性がある。代表的な基準線は、特定の車線又は道路の中心線に基づいて確定され、特定の車線又は道路の中心線は、標準的なルート及び地図情報から取得される。しかしながら、このような基準線は、最適な基準線ではない場合がある。また、基準線に基づいて経路をリアルタイムで計算することは、時間がかかる。
【発明の概要】
【０００４】
本発明の実施形態は、自動運転車両の経路計画のためのコンピュータ実施方法、非一時的機械可読媒体、及びデータ処理システムを提供する。
【０００５】
本発明の一態様では、自動運転車両の経路計画のためのコンピュータ実施方法は、自動運転車両（ＡＤＶ）を出発地（ｓｏｕｒｃｅ ｌｏｃａｔｉｏｎ）から目標位置までルーティングするためのルートに応じてルートを解析して、ルートに沿って１つ又は複数の事前定義された運転シナリオにマッチングされる１つ又は複数の運転シナリオのリストを識別するステップと、運転シナリオに基づいてルートを複数のルートセグメントにセグメント化し、ルートセグメントの少なくとも１つは、識別された運転シナリオの１つに対応するステップと、ルートセグメントに基づいて、自動運転車両（ＡＤＶ）を出発地から目標位置まで運転するための経路を生成するステップであって、経路は、ルートセグメントに対応する複数の経路区間を有し、経路の経路区間の少なくとも１つは、事前定義された運転シナリオに対応する事前構成経路区間に基づいて確定されるステップと、を含む。
【０００６】
本発明の他の態様では、非一時的機械可読媒体は、格納されている命令を備え、前記命令はプロセッサにより実行されると、プロセッサに動作を実行させる。前記動作は、自動運転車両（ＡＤＶ）を出発地から目標位置までルーティングするためのルートに応じてルートを解析して、ルートに沿って１つ又は複数の事前定義された運転シナリオにマッチングされる１つ又は複数の運転シナリオのリストを識別するステップと、運転シナリオに基づいてルートを複数のルートセグメントにセグメント化し、ルートセグメントの少なくとも１つは、識別された運転シナリオの１つに対応するステップと、ルートセグメントに基づいて、自動運転車両（ＡＤＶ）を出発地から目標位置まで運転するための経路を生成するステップであって、経路は、ルートセグメントに対応する複数の経路区間を有し、経路の経路区間の少なくとも１つは、事前定義された運転シナリオに対応する事前構成経路区間に基づいて確定されるステップと、を含む。
【０００７】
本発明の他の態様では、データ処理システムは、プロセッサと、命令を格納するためにプロセッサに接続されるメモリと、を備え、前記命令はプロセッサにより実行されると、プロセッサに動作を実行させ、前記動作は、自動運転車両（ＡＤＶ）を出発地から目標位置までルーティングするためのルートに応じてルートを分析して、ルートに沿って１つ又は複数の事前定義された運転シナリオにマッチングされる１つ又は複数の運転シナリオのリストを識別するステップと、運転シナリオに基づいてルートを複数のルートセグメントにセグメント化し、ルートセグメントの少なくとも１つは、識別された運転シナリオの１つに対応するステップと、ルートセグメントに基づいて、自動運転車両（ＡＤＶ）を出発地から目標位置まで運転するための経路を生成するステップであって、経路は、ルートセグメントに対応する複数の経路区間を有し、経路の経路区間の少なくとも１つは、事前定義された運転シナリオに対応する事前構成経路区間に基づいて確定されるステップと、を含む。
【０００８】
本発明の他の態様では、自動運転車両の経路計画のためのコンピュータ実施方法は、異なる道路構成を有する複数の道路を運転する複数の車両の運転統計データを収集するステップと、運転統計データを分析して、異なる時点で異なる場所にある一組の事前定義された運転シナリオにマッチングされる運転シナリオリストを識別するステップと、運転シナリオごとに、車両の少なくとも一部が同じ運転シナリオで動作する位置のリストを識別するステップと、運転シナリオに関連付けられた位置ごとに、その位置に関連付けられた運転統計データに基づいて優先経路区間を確定するステップと、特定の位置を優先経路区間にマッピングするために運転シナリオのための運転シナリオ／経路データ構造を生成するステップであって、シナリオ／経路データ構造を利用して、特定の運転シナリオで特定の位置において対応する優先経路区間を用いて経路の経路区間を動的に計算せずに計画するステップと、を含む。
【図面の簡単な説明】
【０００９】
本発明の実施形態は、図面の各図において限定的ではなく例示的な形態で示され、図面における類似の符号が類似の素子を示している。
【００１０】
【図１】一実施形態に係るネットワーク化システムを示すブロック図である。
【００１１】
【図２】一実施形態に係る自動運転車両の一例を示すブロック図である。
【００１２】
【図３Ａ】一実施形態に係る自動運転車両と一緒に使用される感知・計画システムの一例を示すブロック図である。
【図３Ｂ】一実施形態に係る自動運転車両と一緒に使用される感知・計画システムの一例を示すブロック図である。
【００１３】
【図４Ａ】特定の実施形態に係る特定の運転シナリオの下で位置を優先経路区間にマッピングするためのデータ構造を示すブロック図である。
【図４Ｂ】特定の実施形態に係る特定の運転シナリオの下で位置を優先経路区間にマッピングするためのデータ構造を示すブロック図である。
【図４Ｃ】特定の実施形態に係る特定の運転シナリオの下で位置を優先経路区間にマッピングするためのデータ構造を示すブロック図である。
【００１４】
【図５】実施形態で利用され得る道路及び車線構成の一例を示すブロック図である。
【００１５】
【図６】一実施形態に係る自動運転車両をルーティングするための経路を生成するプロセスを示すフローチャートである。
【００１６】
【図７】一実施形態に係る経路にデータ構造をマッピングして運転シナリオを構築するプロセスを示すフローチャートである。
【００１７】
【図８】一実施形態に係るデータ処理システムを示すブロック図である。
【発明を実施するための形態】
【００１８】
以下に説明される詳細を参照しながら本発明の様々な実施形態及び態様を説明し、添付図面には上記の各実施形態が示される。以下の説明及び図面は、本発明を説明するためのものであり、本発明を限定するものではないことを理解されたい。本発明の様々な実施形態を完全に把握するために、多数の特定の詳細を説明する。なお、本発明の実施形態を簡潔的に説明するように、周知又は従来技術の詳細について説明していない場合もある。
【００１９】
本明細書において、「一実施形態」又は「実施形態」とは、その実施形態に基づいて説明された特定の特徴、構造又は特性が本発明の少なくとも一つの実施形態に含まれてもよいと意味する。「一実施形態では」という表現は、本明細書の全体において全てが同一の実施形態を指すとは限らない。
【００２０】
いくつかの実施形態によれば、行動に基づく運転ガイドラインは、自動運転車両（ＡＤＶ）の経路計画をガイドするために使用される。行動に基づく運転ガイドラインは、道路の車線の基準線を表し、これは、以前に同じ又は類似の運転環境下で（例えば、同じ又は類似の運転環境下で同じ又は類似の道路の同一車線又は類似車線に）さまざまな車両を運転（手動運転又は自動運転）するさまざまな運転手の運転行動に基づいて確定されるものである。運転手の行動に基づく基準線は、通常の中心線である基準線と一致しない場合がある。逆に、運転手の行動に基づく基準線は、同じ又は類似の運転環境下での大量の運転手の行動の平均化された運転手行動に基づいて確定されるものである。このような行動に基づく基準線は、ほとんどの運転手が最も快適で安全に車両を運転できる最適な基準線を表す。
【００２１】
一態様によれば一組の運転シナリオを限定し、これらの運転シナリオは、直進運転シナリオ、ターニングシナリオ（例えば、左折、右折、又はＵターン）及び車線変更シナリオ（例えば、左車線変更又は右車線変更など）を含むがこれらに限定されない。事前定義された運転シナリオのそれぞれについて、以前に同じ又は類似の経路区間を走行する多数の車両の運転統計データに基づいて、位置リストに対応する経路区間リストを確定する。その後、経路区間は、対応する運転シナリオ用に特別に構成された運転シナリオから経路（シナリオ／経路）データ構造に格納される。例えば、直進運転シナリオ、ターニングシナリオ及び車線変更シナリオのそれぞれに対して、いずれも少なくとも１つのシナリオ／経路データ構造がある。
【００２２】
一実施形態では、シナリオ／経路データ構造は、複数のエントリを含む。各エントリではいずれも、特定の運転シナリオの特定の位置が、大部分の運転手が対応する位置の所定の近接範囲内にある位置から運転して通過した経路区間にマッピングされる。その経路区間は、特定の運転シナリオの特定の位置の優先又は推奨経路区間を表す。これらのシナリオ／経路データ構造は、異なる時点でさまざまな種類の複数の車両を運転している多くの運転手による以前の運転統計データに基づいてオフラインで構築されてもよい。経路と同様に、経路区間には、その経路区間に沿った多数の経路点が含まれる。各経路点は、該経路点の位置、該経路点の速度及び該経路点の移動方向などに関連付けられている。そして、これらのシナリオ／経路データ構造は自動運転車両にアップロードされ、その後、同じ経路区間をリアルタイムで動的に計算せずに、これらのシナリオ／経路データ構造で同様の運転シナリオで経路を生成するために使用され得る。その結果、経路計画をより効率的に実行できる。
【００２３】
他の態様によれば、自動運転車両を出発地から目標位置までルーティングするためのルートに応じて該ルートを解析して、該ルートに沿って１つ又は複数の事前定義された運転シナリオ又は所定の運転シナリオにマッチングされる１つ又は複数の運転シナリオのリストを識別する。運転シナリオに基づいてルートをルートセグメントのリストにセグメント化する。ルートセグメントの少なくとも１つは、識別された運転シナリオの１つに対応する。自動運転車両を出発地から目標位置まで運転するためのルートセグメントに基づいて経路（例えば、軌跡）を生成する。該経路には、ルートセグメントに対応する複数の経路区間が含まれる。経路の経路区間の少なくとも１つは、経路区間に関連付けられた事前定義の運転シナリオの事前構成経路区間に基づいて確定される。
【００２４】
一実施形態では、経路を生成する際に、事前定義された運転シナリオの１つにマッチングされるルートセグメントのそれぞれについて、マッチングされた運転シナリオに基づいて事前構成経路区間を識別する。経路の対応する経路区間は対応する事前構成経路区間に置き換えられ、同じ経路区間に対して動的に計算する必要がない。その運転シナリオが事前構成経路区間に関連付けられた事前定義の運転シナリオのいずれともマッチングされないルートセグメントの場合、例えば、対応するルートセグメントから取得した標準基準線に基づいて、マッチングされていないルートセグメントの経路区間を動的に計算する。
【００２５】
図１は、本発明の一実施形態に係る自動運転車両のネットワーク構成を示すブロック図である。図１に示すように、ネットワーク構成１００には、ネットワーク１０２を介して１つ又は複数のサーバ１０３〜１０４に通信可能に接続される自動運転車両１０１が備えられる。一台の自動運転車両のみが示されたが、複数の自動運転車両がネットワーク１０２を介して互いに接続され、及び／又はサーバ１０３〜１０４に接続されてもよい。ネットワーク１０２は、任意のタイプのネットワークであってもよく、例えば、有線又は無線のローカルエリアネットワーク（ＬＡＮ）、インターネットなどのワイドエリアネットワーク（ＷＡＮ）、セルラーネットワーク、衛星ネットワーク、又はそれらの組み合わせが挙げられる。サーバ１０３〜１０４は、任意のタイプのサーバ又はサーバクラスタであってもよく、例えば、ネットワーク又はクラウドサーバ、アプリケーションサーバ、バックエンドサーバ、又はそれらの組み合わせが挙げられる。サーバ１０３〜１０４は、データ解析サーバ、コンテンツサーバ、交通情報サーバ、地図・ポイントオブインタレスト（ＭＰＯＩ）サーバ又は位置サーバなどであってもよい。
【００２６】
自動運転車両とは、運転手からの入力が非常に少ない又はない場合に車両をナビゲートして環境を通過させる自動運転モードに構成可能な車両である。このような自動運転車両は、車両の走行環境に関連する情報を検出するように構成された１つ又は複数のセンサを有するセンサシステムを備えていてもよい。前記車両及びその関連コントローラは、検出された情報を使用して前記環境を通過するようにナビゲートする。自動運転車両１０１は、手動モード、完全自動運転モード、又は部分自動運転モードで走行することができる。
【００２７】
一実施形態において、自動運転車両１０１は、感知・計画システム１１０、車両制御システム１１１、無線通信システム１１２、ユーザインターフェースシステム１１３及びセンサシステム１１５を含むが、それらに限定されない。自動運転車両１０１には、一般車両に備えられているいくつかの一般的な構成要素、例えばエンジン、車輪、ステアリングホイール、変速機などが更に備えられてもよい。前記構成要素は、車両制御システム１１１及び／又は感知・計画システム１１０により複数種の通信信号及び／又はコマンドを使用して制御可能である。これらの複数種の通信信号及び／又はコマンドは、例えば、加速信号又はコマンド、減速信号又はコマンド、ステアリング信号又はコマンド、ブレーキ信号又はコマンドなどが挙げられる。
【００２８】
構成要素１１０〜１１５は、インターコネクタ、バス、ネットワーク又はこれらの組み合わせを介して互いに通信可能に接続されることができる。例えば、構成要素１１０〜１１５は、コントローラエリアネットワーク（ＣＡＮ）バスを介して互いに通信可能に接続されることができる。ＣＡＮバスは、ホストコンピュータなしのアプリケーションでマイクロコントローラ及びデバイスが相互に通信できるように設計された車両バス規格である。それは、もともと自動車内の多重電気配線のために設計されたメッセージに基づくプロトコルであるが、他の多くの環境にも用いられる。
【００２９】
ここで図２を参照し、一実施形態では、センサシステム１１５は、１つ又は複数のカメラ２１１、全地球測位システム（ＧＰＳ）ユニット２１２、慣性計測ユニット（ＩＭＵ）２１３、レーダユニット２１４及び光検出・測距（ＬＩＤＡＲ）ユニット２１５を含むが、それらに限定されない。ＧＰＳシステム２１２は、自動運転車両の位置に関する情報を提供するように動作可能な送受信機を含んでいてもよい。ＩＭＵユニット２１３は、慣性加速度に基づいて自動運転車両の位置及び配向の変化を感知することができる。レーダユニット２１４は、無線信号を利用して自動運転車両のローカル環境内のオブジェクトを感知するシステムを表すことができる。いくつかの実施形態では、オブジェクトを感知することに加えて、レーダユニット２１４は、更にオブジェクトの速度及び／又は進行方向を感知することができる。ＬＩＤＡＲユニット２１５は、自動運転車両の所在環境内のオブジェクトをレーザで感知することができる。ＬＩＤＡＲユニット２１５は、他のシステム構成要素のほかに、１つ又は複数のレーザ源、レーザスキャナ及び１つ又は複数の検出器を更に備えていてもよい。カメラ２１１は、自動運転車両の周囲環境の画像を取得するための１つ又は複数の装置を備えていてもよい。カメラ２１１は、スチルカメラ及び／又はビデオカメラであってもよい。カメラは、例えば、回転及び／又は傾斜のプラットフォームに取り付けられる機械的に移動可能なものであってもよい。
【００３０】
センサシステム１１５は、ソナーセンサ、赤外線センサ、ステアリングセンサ、スロットルセンサ、ブレーキセンサ及びオーディオセンサ（例えば、マイクロホン）などの他のセンサを更に含むことができる。オーディオセンサは、自動運転車両の周囲の環境から音声を取得するように構成されてもよい。ステアリングセンサは、ステアリングホイール、車両の車輪又はそれらの組み合わせの操舵角を感知するように構成されてもよい。スロットルセンサ及びブレーキセンサはそれぞれ車両のスロットル位置及びブレーキ位置を感知する。ある場合に、スロットルセンサ及びブレーキセンサは集積型スロットル／ブレーキセンサとして統合されてもよい。
【００３１】
一実施形態では、車両制御システム１１１はステアリングユニット２０１、スロットルユニット２０２（加速ユニットともいう）及びブレーキユニット２０３を含むが、それらに限定されない。ステアリングユニット２０１は車両の方向又は進行方向を調整するために用いられる。スロットルユニット２０２はモータ又はエンジンの速度を制御するために用いられ、モータ又はエンジンの速度は更に車両の速度及び加速度を制御するために用いられる。ブレーキユニット２０３は、摩擦を与えることによって車両の車輪又はタイヤを減速させることで、車両を減速させる。なお、図２に示された構成要素は、ハードウェア、ソフトウェア又はそれらの組み合わせで実現されてもよい。
【００３２】
図１を再び参照して、無線通信システム１１２は、自動運転車両１０１と、デバイス、センサ、他の車両などのような外部システムとの通信を可能にする。例えば、無線通信システム１１２は、直接又は通信ネットワークを介して１つ又は複数のデバイスと無線通信することができ、例えば、ネットワーク１０２を介してサーバ１０３〜１０４と通信することができる。無線通信システム１１２は、如何なるセルラー通信ネットワーク又は無線ローカルエリアネットワーク（ＷＬＡＮ）、例えばＷｉＦｉ（登録商標）を使用して他の構成要素又はシステムと通信することができる。無線通信システム１１２は、例えば赤外線リンク、ブルートゥース（登録商標）などを使用して、デバイス（例えば、乗員のモバイルデバイス、表示装置、車両１０１内のスピーカ）と直接通信することができる。ユーザインターフェースシステム１１３は、車両１０１内に実現された周辺装置の部分であってもよく、例えば、キーボード、タッチスクリーン表示装置、マイクロホン及びスピーカなどを含む。
【００３３】
自動運転車両１０１の機能のうちの一部又は全部は、特に自動運転モードで動作する場合に、感知・計画システム１１０により制御されるか、又は管理されることができる。感知・計画システム１１０は、センサシステム１１５、制御システム１１１、無線通信システム１１２及び／又はユーザインターフェースシステム１１３から情報を受信し、受信された情報を処理し、出発地から目的地までのルート又は経路を計画した後に、計画及び制御情報に基づいて車両１０１を運転するために、必要なハードウェア（例えば、プロセッサ、メモリ、記憶デバイス）並びにソフトウェア（例えば、オペレーティングシステム、計画・ルーティングプログラム）を備える。あるいは、感知・計画システム１１０は車両制御システム１１１と一体に集積されてもよい。
【００３４】
例えば、乗員であるユーザは、例えばユーザインターフェースを介して旅程の開始位置及び目的地を指定することができる。感知・計画システム１１０は旅程に関連するデータを取得する。例えば、感知・計画システム１１０は、ＭＰＯＩサーバから位置及びルート情報を取得することができる。前記ＭＰＯＩサーバは、サーバ１０３〜１０４の一部であってもよい。位置サーバは位置サービスを提供し、ＭＰＯＩサーバは地図サービス及び特定の位置のＰＯＩを提供する。あるいは、このような位置及びＭＰＯＩ情報は、感知・計画システム１１０の永続性記憶装置にローカルキャッシュされてもよい。
【００３５】
自動運転車両１０１がルートに沿って移動している場合に、感知・計画システム１１０は交通情報システム又はサーバ（ＴＩＳ）からリアルタイム交通情報を取得することもできる。なお、サーバ１０３〜１０４は第三者機関によって操作可能である。あるいは、サーバ１０３〜１０４の機能は、感知・計画システム１１０と一体に集積されてもよい。感知・計画システム１１０は、リアルタイム交通情報、ＭＰＯＩ情報及び位置情報、並びにセンサシステム１１５により検出又は感知されたリアルタイムローカル環境データ（例えば、障害物、オブジェクト、付近の車両）に基づいて、所定の目的地まで安全的且つ効率的に到達するために、最適なルートを計画し、且つ計画されたルートに従って例えば制御システム１１１によって車両１０１を運転することができる。
【００３６】
サーバ１０３は、様々なクライアントに対してデータ解析サービスを実行するデータ解析システムであってもよい。一実施形態において、データ解析システム１０３は、データコレクタ１２１と、解析モジュール１２２とを備える。データコレクタ１２１は、様々な車両（自動運転車両又は人間の運転手によって運転される一般車両）から運転統計データ１２３を収集する。運転統計データ１２３には、異なる時点で発行された運転コマンド（例えば、スロットルコマンド、ブレーキコマンド及びステアリングコマンド）と、車両のセンサにより捕獲された車両の応答（例えば、速度、加速、減速、方向）とを示す情報が含まれる。運転統計データ１２３には更に、異なる時点における運転環境を記述する情報、例えば、ルート（開始位置及び目的地位置を含む）、ＭＰＯＩ、道路条件、天気条件などが含まれてもよい。
【００３７】
運転統計データ１２３に基づいて、機械学習エンジン又はモジュールの一部として実装され得る解析モジュール１２２は、運転統計データ１２３を解析し、一組のシナリオ／経路データ構造１２４を生成する。データ構造１２４は、テーブル、データベース、又は予測モデルなどのさまざまな形式で実装できる。説明のために、本発明全体でデータ構造の例として表を使用する。一実施形態では、シナリオ／経路テーブル１２４のそれぞれは、一組の事前定義された運転シナリオ（例えば、直進運転シナリオ、ターニングシナリオ及び車線変更シナリオ）のうちの１つに関連付けられる。ターニングシナリオはさらに、左折シナリオ、右折シナリオ、及びＵターンシナリオを備えていてもよい。車線変更シナリオは、左車線変更シナリオと右車線変更シナリオをさらに備えていてもよい。運転シナリオは、運転意思とも呼ばれ、直進運転、方向転換又は車線変更などの特定の方法で車両を運転する意思を表す。
【００３８】
事前定義された運転シナリオのそれぞれについて、解析モジュール１２２は、以前に同じ又は同様の経路区間を走行する多数の車両の運転統計データ１２３に基づいて、位置リストに対応する経路区間リストを確定する。その後、経路区間は、対応する運転シナリオ用に特別に構成された運転シナリオから経路（シナリオ／経路）データ構造に格納される。例えば、直進運転シナリオ、ターニングシナリオ及び車線変更シナリオのそれぞれについて、いずれもシナリオ／経路テーブル１２４において少なくとも１つのシナリオ／経路データ構造を有する。一実施形態では、シナリオ／経路テーブル１２４は、少なくとも直進シナリオ／経路テーブル、左折シナリオ／経路テーブル、右折シナリオ／経路テーブル、Ｕターンシナリオ／経路テーブル、左車線変更シナリオ／経路テーブル、及び右車線変更シナリオ／経路テーブルを含む。
【００３９】
一実施形態では、シナリオ／経路テーブルは、複数のエントリを含む。各エントリではいずれも、特定の運転シナリオの特定の位置が、大部分の運転手が対応するマッピング位置の所定の近接範囲内にある位置から運転して通過した経路区間にマッピングされる。その経路区間は、特定の運転シナリオの特定の位置の優先又は推奨経路区間を表す。これらのシナリオ／経路テーブルは、解析モジュール１２２によって異なる時点でさまざまな種類の複数の車両を運転している多くの運転手による以前の運転統計データ１２３に基づいて構築されてもよい。なお、特定の位置について、複数の運転シナリオがある場合がある。例えば、特定の位置から、一部の車両は直進、方向変更又は車線変更することができる。従って、同じ位置に対応するエントリを含む複数のシナリオ／経路テーブルが存在する場合がある。ただし、それらの経路区間は、異なる運転シナリオ又は運転手の意図（異なる時点で異なる場合がある）に関連付けられているため、異なる場合がある。
【００４０】
一実施形態では、特定の運転シナリオの特定の位置について、運転統計データ１２３から得られた対応する運転統計データに基づいて、すべての運転手の運転行動が確定される。例えば、左折運転シナリオの第１の位置については、第１の位置の所定の近接範囲内の位置から左折した運転手の運転行動のすべてが運転統計データ１２３から識別される。第１の位置の近くから左折した異なる運転手の異なる経路区間を解析して、運転手のすべての運転行動を要約した優先経路区間（推奨経路区間又は最適経路区間とも呼ばれる）を作成する。例えば、優先経路区間は、異なる運転手によって実行される異なる経路区間の平均を取ることによって確定できる。次に、優先経路区間は、第１の位置に関連付けられた対応する運転シナリオ／経路テーブル（例えば、左折シナリオ／経路テーブル）のエントリに格納される。従って、特定の運転シナリオの下での特定の位置の優先経路区間は、その特定の位置の所定の近接範囲内及び同じ又は同様の運転シナリオの下での多くの運転手による以前の運転行動に基づいて確定され、該優先経路区間は、大部分の運転手が優先に選択する経路区間を表す。
【００４１】
図４Ａは、一実施形態に係る直進シナリオ／経路テーブルの一例を示す。図４Ａを参照すると、直進運転シナリオ／経路テーブル４００は複数のエントリを含む。各エントリは、一組の運転パラメータ４０１〜４０４を優先又は推奨経路区間４０５にマッピングする。運転パラメータには、開始位置４０１、終了位置４０２、車両速度４０３及び車線幅４０４が含まれる。開始位置４０１及び終了位置４０２とは、ＧＰＳデータに基づいて確定され得る経路区間の開始点及び終了点の地理的位置（ｘ、ｙ）を指す。運転パラメータ４０１〜４０４のいずれか１つ又は複数は、特定の優先経路区間を検索するためのインデックス（ｉｎｄｅｘ）として利用することができる。一実施形態では、開始位置４０１はプライマリインデックス（ｐｒｉｍａｒｙ  ｉｎｄｅｘ）として利用され、一方、残りの運転パラメータ４０２〜４０４の１つ又は複数は、経路区間４０５を検索するためのセカンダリインデックス（ｓｅｃｏｎｄａｒｙ  ｉｎｄｅｘ）又はオプションインデックス（ｏｐｔｉｏｎａｌ  ｉｎｄｅｘ）として利用され得る。 あるいは、開始位置４０１及び速度４０３は、検索目的のプライマリインデックスとして利用され、一方、終了位置４０２及び車線幅４０４のうちの１つ又は複数は、セカンダリインデックス又はオプションインデックスとして利用され得る。 例えば、そのプライマリインデックス（例えば、開始位置４０１）が互いに近いエントリが複数ある場合、競合するエントリのどれを選択するかを確定するために、セカンダリインデックス（例えば、終了位置４０２、速度４０３及び／又は車線幅４０４）を、タイブレーカー（ｔｉｅ  ｂｒｅａｋｅｒ）として使用することができる。
【００４２】
リアルタイム運転中に、車両が特定の位置にあり、車両が直進すると判定されると、車両の現在位置を利用して、車両の現在位置にマッチングされる開始位置４０１を有するエントリを検索する。直進運転シナリオ／経路テーブル４００からマッチングされたエントリが見つかると、マッチングされたエントリから対応する優先経路区間４０５を取得する。その後、該優先経路区間は、経路計画のための最終経路の一部の経路区間として利用され、その時点で該特定の経路区間を動的に計算する必要がない。その結果、同じ経路区間を計算するためのリソースと時間を削減できる。ただし、シナリオ／経路テーブル４００からマッチングされるエントリが見つからない場合は、経路区間をリアルタイムで動的に計算する必要がある。なお、「マッチングする」又は「マッチングされる」という用語は比較状況を示し、該比較状況において、比較される２つのアイテムの値（例えば、位置、速度、車線幅、曲率）が、比較されるアイテムのタイプに対応する所定の閾値内にある。
【００４３】
図４Ｂは、一実施形態に係るターニングシナリオ／経路テーブル（例えば、左折、右折、Ｕターン）の一例を示す。図４Ｂを参照すると、ターニングシナリオ／経路テーブル４２０は、左折シナリオ／経路テーブル、右折シナリオ／経路テーブル、又はＵターンシナリオ／経路テーブルを表すことができる。一実施形態では、ターニングシナリオ／経路テーブル４２０は、複数のエントリを含む。各エントリは、一組の運転パラメータ４２１〜４２４を優先経路区間４２５にマッピングする。運転パラメータには、開始位置４２１、終了位置４２２、速度４２３及び曲率４２４が含まれる。開始位置４２１はプライマリインデックスとして利用され得、運転パラメータ４２２〜４２４のうちのいずれか１つ又は複数は、検索目的のためのセカンダリインデックスとして利用され得る。あるいは、開始位置４２１及び速度４２３はプライマリ インデックスとして利用され得、終了位置４２２及び曲率４２４のうちの１つ又は複数は、マッチングするエントリを検索するためのセカンダリインデックス又はオプションインデックスとして利用され得る。
【００４４】
図４Ｃは、一実施形態に係る車線変更シナリオ／経路テーブル（例えば、左車線変更、右車線変更）の一例を示す。図４Ｃを参照すると、車線変更シナリオ／経路テーブル４５０は、左車線変更シナリオ／経路テーブル又は右車線変更シナリオ／経路テーブルを表すことができる。一実施形態では、車線変更シナリオ／経路テーブル４５０は、複数のエントリを含む。各エントリは、一組の運転パラメータ４５１〜４５４を優先経路区間４５５にマッピングする。運転パラメータには、開始位置４５１、終了位置４５２、速度４５３及び車線距離４５４が含まれる。車線距離４５４は、ソース車線（例えば、車両が出ようとしている車線）とターゲット車線（例えば、車両が入ろうとしている車線）との間の距離を指す。開始位置４５１は、検索目的のためのプライマリインデックスとして利用され得、残りの運転パラメータ４５２〜４５４のいずれか１つ又は複数は、セカンダリインデックスとして利用され得る。あるいは、開始位置４５１及び／又は速度４５３はプライマリインデックスとして利用され得、終了位置４５２及び車線距離４５４のうちの１つ又は複数は、優先経路区間４５５を検索するためのセカンダリインデックス又はオプションインデックスとして利用され得る。
【００４５】
なお、検索目的のためのインデックスは、機械学習方法を使用して生成され得るハッシュ（ｈａｓｈ）関数又はモデルとして実装され得る。リアルタイムで、その時点での運転パラメータを収集し、対応するハッシュ関数を使用してハッシュを生成できる。ハッシュ関数の出力は、シナリオ／経路テーブルのエントリのうち、マッチングするエントリであるエントリの１つを指すインデックス値として使用できる。図１に戻って、これらのシナリオ／経路テーブル１２４は、自動運転車両にアップロードされ、その後同様の運転シナリオの下で経路を生成するために利用でき、同じ経路セグメントを動的に計算する必要がない。その結果、経路計画をより効率的に実行できる。
【００４６】
図３Ａ及び図３Ｂは、一実施形態に係る自動運転車両と一緒に使用される感知・計画システムの一例を示すブロック図である。システム３００は、図１の自動運転車両１０１の一部として実現されてもよく、感知・計画システム１１０、制御システム１１１及びセンサシステム１１５を含むが、それらに限定されない。図３Ａ〜図３Ｂに示すように、感知・計画システム１１０は、測位モジュール３０１、感知モジュール３０２、予測モジュール３０３、決定モジュール３０４、計画モジュール３０５、制御モジュール３０６、ルーティングモジュール３０７及びデータ収集モジュール３０８を含むが、それらに限定されない。
【００４７】
モジュール３０１〜３０８のうちの一部又は全部は、ソフトウェア、ハードウェア又はそれらの組み合わせで実現されていてもよい。例えば、これらのモジュールは、永続性記憶装置３５２にインストールされ、メモリ３５１にロードされ、且つ１つ又は複数のプロセッサ（図示せず）により実行されてもよい。なお、これらのモジュールのうちの一部又は全部は、図２の車両制御システム１１１の一部又は全部のモジュールに通信可能に接続されるか、又はそれらと一体に統合されてもよい。モジュール３０１〜３０８のうちの一部は、集積モジュールとして一体に統合されてもよい。
【００４８】
測位モジュール３０１は、（例えば、ＧＰＳユニット２１２により）、自動運転車両３００の現在位置を確定し、ユーザの旅程又はルートに関連する如何なるデータを管理する。測位モジュール３０１（地図・ルートモジュールともいう）は、ユーザの旅程又はルートに関連する如何なるデータを管理する。ユーザは、例えばユーザインターフェースを介してログインして、旅程の開始位置及び目的地を指定することができる。測位モジュール３０１は、自動運転車両３００における地図・ルート情報３１１のような他の構成要素と通信して旅程に関するデータを取得する。例えば、測位モジュール３０１は位置サーバと地図・ポイントオブインタレスト（ＭＰＯＩ）サーバから位置及びルート情報を取得することができる。位置サーバは位置サービスを提供し、ＭＰＯＩサーバは地図サービスと特定位置のＰＯＩを提供することにより、地図・ルート情報３１１の一部としてキャッシュされることができる。自動運転車両３００がルートに沿って移動する際に、測位モジュール３０１は交通情報システム又はサーバからリアルタイム交通情報を取得することもできる。
【００４９】
感知モジュール３０２は、センサシステム１１５により提供されたセンサデータと、測位モジュール３０１により取得された測位情報とに基づいて、周囲環境への感知を確定する。感知情報は、一般運転手が運転手により運転されている車両の周囲における感知すべきものを示すことができる。感知は、例えばオブジェクトの形態を採用する車線構成（例えば、直進車線又はカーブ車線）、信号機信号、他の車両の相対位置、歩行者、建築物、横断歩道、又は他の交通関連標識（例えば、止まれ標識、ゆずれ標識）などを含んでもよい。
【００５０】
感知モジュール３０２は、１つ又は複数のカメラにより取り込まれた画像を処理し解析して自動運転車両の環境におけるオブジェクト及び／又は特徴を識別するために、コンピュータビジョンシステム又はコンピュータビジョンシステムの機能を含むことができる。前記オブジェクトは、交通信号、道路境界、他の車両、歩行者及び／又は障害物などを含んでいてもよい。コンピュータビジョンシステムは、オブジェクト認識アルゴリズム、ビデオトラッキング及び他のコンピュータビジョン技術を使用することができる。いくつかの実施形態では、コンピュータビジョンシステムは、環境地図の描画、オブジェクトの追跡、及びオブジェクトの速度の推定などができる。感知モジュール３０２は、レーダ及び／又はＬＩＤＡＲのような他のセンサにより提供される他のセンサデータに基づいてオブジェクトを検出することもできる。
【００５１】
各オブジェクトについて、予測モジュール３０３は、前記状況における前記オブジェクトの挙動を予測する。前記予測は、特定の時点で感知された運転環境の感知データに基づいて地図・ルート情報３１１と交通ルール３１２のセットを考慮した上で実行される。例えば、オブジェクトが反対方向に沿った車両で、且つ現在の運転環境に交差点が含まれている場合に、予測モジュール３０３は当該車両が直進するか又はターニングするかを予測する。感知データによって交差点に信号機がないことが示された場合、予測モジュール３０３は、交差点に入る前に当該車両が完全に停止する必要があると予測する可能性がある。当該車両が現在左折専用車線又は右折専用車線にあると感知データにより示された場合に、予測モジュール３０３は、当該車両がそれぞれ左折又は右折する可能性が高いと予測可能である。
【００５２】
オブジェクトごとに対して、決定モジュール３０４はオブジェクトをどのように処置するかを決定する。例えば、特定のオブジェクト（例えば、交差ルートにおける他の車両）及びオブジェクトを記述するメタデータ（例えば、速度、方向、操舵角）について、決定モジュール３０４は前記オブジェクトと遇うときに如何に対応するか（例えば、追い越し、道譲り、停止、追い抜き）を決定する。決定モジュール３０４は、交通ルール又は運転ルール３１２のような、永続性記憶装置３５２に格納可能なルールセットに基づいて、このような決定を下すことができる。
【００５３】
ルーティングモジュール３０７は、出発地から目的地までの１つ又は複数のルート又は経路を提供するように構成される。例えばユーザから受信した開始位置から目的地位置までの所定の旅程について、ルーティングモジュール３０７は、地図・ルート情報３１１を取得し、開始位置から目的地位置までの全ての走行可能なルート又は経路を確定する。ルーティングモジュール３０７は、開始位置から目的地位置が確定されたルートのそれぞれについて、基準線を地形図の形で生成することができる。基準線とは、他の車両、障害物又は交通状況などからの他の干渉を受けていない理想的なルート又は経路をいう。つまり、道路に他の車両、歩行者又は障害物がない場合、ＡＤＶは基準線に精確的に又は密接的に従うべきである。そして、地形図を決定モジュール３０４及び／又は計画モジュール３０５に提供することができる。決定モジュール３０４及び／又は計画モジュール３０５は、他のモジュールにより提供された他のデータ（例えば、測位モジュール３０１からの交通状況、感知モジュール３０２により感知された運転環境及び予測モジュール３０３により予測された交通状況）に応じて、全ての走行可能なルートを調べて最適ルートの一つを選択する。ある時点における特定の運転環境に応じて、ＡＤＶを制御するための実際の経路又はルートは、ルーティングモジュール３０７によって提供された基準線に近いか又は異なっていてもよい。
【００５４】
感知されたオブジェクトのそれぞれに対する決定に基づいて、計画モジュール３０５は、ルーティングモジュール３０７によって提供された基準線をベースとし、自動運転車両に対して経路又はルート並びに運転パラメータ（例えば、距離、速度及び／又は操舵角）を計画する。即ち、特定のオブジェクトについて、決定モジュール３０４はオブジェクトについてどうするかを決定し、計画モジュール３０５はどのように行うかを判定する。例えば、特定のオブジェクトについて、決定モジュール３０４は、前記オブジェクトを追い抜くかを決定することができ、計画モジュール３０５は前記オブジェクトを左側から追い抜くか又は右側から追い抜くかを判定することができる。計画及び制御データは、計画モジュール３０５により生成され、車両３００が次の移動周期（例えば、次のルート／経路区間）にはどのように移動するかを記述する情報を含む。例えば、計画及び制御データは、車両３００が３０マイル／時間（ｍｐｈ）の速度で１０メートル移動し、その後に２５ｍｐｈの速度で右車線に変更するように指示することができる。
【００５５】
制御モジュール３０６は、計画及び制御データに基づいて、計画及び制御データにより定義されたルート又は経路に応じて適当なコマンド若しくは信号を車両制御システム１１１に送信することにより自動運転車両を制御及び運転する。前記計画及び制御データは、経路又はルートに沿って異なる時点で適切な車両構成又は運転パラメータ（例えば、スロットル、ブレーキ、及びターニングコマンド）を使用して、車両をルート又は経路の第１の点から第２の点まで運転するのに十分な情報を含む。
【００５６】
一実施形態では、計画段階は、複数の計画周期（コマンド周期ともいう）で、例えば、１００ミリ秒（ｍｓ）の時間間隔で実行される。計画周期又はコマンド周期のそれぞれについて、計画及び制御データに基づいて１つ又は複数の制御コマンドを発する。すなわち、１００ｍｓごとに、計画モジュール３０５は、次のルートセグメント又は経路区間（例えば、目標位置及びＡＤＶが該目標位置に到着するのに必要な時間を含む）を計画する。あるいは、計画モジュール３０５は、具体的な速度、方向、及び／又は操舵角などを更に指定することができる。一実施形態では、計画モジュール３０５は、次の所定期間（例えば、５秒）のルートセグメント又は経路区間を計画する。各計画周期について、計画モジュール３０５は前の周期において計画された目標位置に基づいて現在の周期（例えば、次の５秒）のための目標位置を計画する。次に、制御モジュール３０６は、現在の周期における計画及び制御データに基づいて１つ又は複数の制御コマンド（例えば、スロットル制御コマンド、ブレーキ制御コマンド、ステアリング制御コマンド）を生成する。
【００５７】
なお、決定モジュール３０４及び計画モジュール３０５は、集積モジュールとして統合されてもよい。決定モジュール３０４／計画モジュール３０５は、自動運転車両の運転経路を決定するためのナビゲーションシステム又はナビゲーションシステムの機能を備えていてもよい。例えば、ナビゲーションシステムは、自動運転車両が下記の経路に沿って移動することを実現するための一連の速度及び進行方向を決定することができる。前記経路では、自動運転車両が最終的な目的地に通じる走行車線に基づく経路に沿って進行すると共に、感知された障害物を実質的に回避できるようになる。目的地は、ユーザインターフェースシステム１１３を経由して行われたユーザ入力によって設定されることができる。ナビゲーションシステムは、自動運転車両が走行していると同時に運転経路を動的に更新することができる。ナビゲーションシステムは、自動運転車両のための運転経路を決定するために、ＧＰＳシステム及び１つ又は複数の地図からのデータを統合することができる。
【００５８】
決定モジュール３０４／計画モジュール３０５は、更に、自動運転車両の環境における潜在的な障害物を認識、評価、回避又は他の方法で通過するための衝突防止システム又は衝突防止システムの機能を備えていてもよい。例えば、衝突防止システムは、制御システム１１１の１つ又は複数のサブシステムを動作させることで、急な曲がり動作（ｓｗｅｒｖｉｎｇ  ｍａｎｅｕｖｅｒｓ）、方向転換動作（ｔｕｒｎｉｎｇ  ｍａｎｅｕｖｅｒｓ）、制動動作などを行うことによって、自動運転車両のナビゲーション中の変更を実現することができる。衝突防止システムは、周囲の交通モード、道路状況などに応じて実現可能な障害物回避動作を自動的に決定することができる。衝突防止システムは、他のセンサシステムが、自動運転車両が進入しようとする付近の領域で車両、建設障壁などを検出したときに、方向転換動作を実行しないように構成されてもよい。衝突防止システムは、自動運転車両の乗員の安全性を最大限にするとともに、利用可能な操作を自動的に選択することができる。衝突防止システムは、自動運転車両の客室内に最小値の加速度を発生させると予測される回避動作を選択することができる。
【００５９】
データ収集モジュール３０８は、他のモジュール及びセンサと通信して、ＡＤＶの動作中に運転統計データ１２３を収集するように構成される。次に、運転統計データ１２３は、例えば、機械学習によりシナリオ／経路テーブル１２４をオフラインで開発するために、データの解析及びマイニングのためにデータ解析システム１０３などの集中型サーバに定期的に送信される。
【００６０】
一実施形態によれば、計画モジュール３０５は、経路セグメント化モジュール３２１及び経路マッチングモジュール３２２を含む。ルーティングモジュール３０７から受信した経路に応答して、経路セグメント化モジュール３２１は、該ルートを解析及び分析して、１つ又は複数の事前定義された運転シナリオにマッチングされる該ルートに沿った１つ又は複数の運転シナリオのリストを識別する。該ルートは、出発地と目標位置とを結ぶ基準線で表すことができる。経路セグメント化モジュール３２１は、基準線のメタデータ（例えば、形状及び長さ）を調べて、事前構成された優先経路区間の特徴を有するすべての可能な経路区間を識別することができる。識別された運転シナリオに基づいて、経路セグメント化モジュール３２１は、該ルートを１つ又は複数のルートセグメントのリストに分割し、各ルートセグメントは運転シナリオの１つに対応する。上述したように、運転シナリオは、直進運転シナリオ、左折シナリオ、右折シナリオ、Ｕターンシナリオ、左車線変更シナリオ、及び／又は右車線変更シナリオであり得る。他の運転シナリオも適用可能である。例えば、上記の複数の個々の運転シナリオに基づいて、運転シナリオの組み合わせを定義できる。
【００６１】
一実施形態では、ルートセグメントのそれぞれについて、経路マッチングモジュール３２２は、運転シナリオ又は経路区間のタイプに対応するシナリオ／経路テーブルを識別する。例えば、経路区間が左折経路区間である場合、経路マッチングモジュール３２２は、図４Ｂに示されるシナリオ／経路テーブル４２０などの左折シナリオ／経路テーブルを識別して取得する。関連するシナリオ／経路テーブルが特定されると、経路マッチングモジュール３２２は、少なくとも経路区間の開始位置に基づいてシナリオ／経路テーブルを検索し、経路区間の少なくとも開始位置にマッチングされるエントリを見つける。次に、マッチングされたエントリから優先経路区間を取得する。優先経路区間は、ＡＤＶを運転するための最終経路の一部として利用される。例えば、優先経路区間は、ルーティングモジュール３０７によって提供される対応するルートセグメントを置き換えてもよい。その結果、計画モジュール３０５は、その時点で対応する経路区間について時間とリソースを消費する可能性のある動的な計算をする必要がない。
【００６２】
なお、一部のルートセグメントは、関連するシナリオ／経路テーブルに見つけられた対応する優先経路区間を持たない場合がある。例えば、経路区間の開始位置は、シナリオ／経路テーブルの開始位置のいずれともマッチングされない場合がある。そのような状況では、計画モジュール３０５は、対応する経路区間を動的に計算する必要がある。ただし、少なくともマッチングされた優先経路区間を有するルートセグメントについて、リアルタイムの運転中に時間とリソースの消費を削減するために、対応する経路区間の計算を防止できる。
【００６３】
説明のために、ここで図５を参照し、ＡＤＶがルーティングモジュール３０７によって提供される点Ａから点Ｆまでのルートに従って運転しようとしていると仮定する。点Ａから点Ｆまでのルートは、ルート・地図データサービス（ｍａｐ  ｄａｔａ  ｓｅｒｖｉｃｅ）に基づいて確定された地形図の形式の基準線で表すことができる。ルートＡからルートＦまでのメタデータ又は属性に基づいて、経路セグメント化モジュール３２１は、該ルートに沿った１つ又は複数の運転シナリオを識別する。次に、経路セグメント化モジュール３２１は、ルートを１つ又は複数のルートセグメントに分割する。この例では、経路セグメント化モジュール３２１は、ルートＡからＦを識別して、少なくとも次のルートセグメントに分割する。１）直進シナリオに関連付けられたＡからＢのルートセグメント（ＡＢ）；２）右車線変更シナリオに関連付けられたＢからＣのルートセグメント（ＢＣ）；３）右折シナリオに関連付けられたＣからＤのルートセグメント（ＣＤ）；４）直進シナリオに関連付けられたＤからＥのルートセグメント（ＤＥ）；及び５）左車線変更シナリオに関連付けられたＥからＦのルートセグメント（ＥＦ）。
【００６４】
ルートセグメント（ＡＢ、ＢＣ、ＣＤ、ＤＥ、及びＥＦ）のそれぞれについて、経路マッチングモジュール３２２は、ルートセグメントの運転シナリオに対応するシナリオ／経路テーブルを識別する。次に、経路マッチングモジュール３２２は、ルートセグメントの属性の少なくとも一部にマッチングされるマッピングエントリを見つけるために、シナリオ／経路テーブル内で検索を行う。マッチングされたエントリが見つかった場合、そのエントリから優先経路を取得し、優先経路区間は、ＡＤＶを運転するための最終経路の一部として利用され、リアルタイムで計算する必要がない。
【００６５】
例えば、一実施形態によれば、図４Ａ及び図５を参照すると、直進運転シナリオに関連付けられたルートセグメントＡＢについて、経路マッチングモジュール３２２は、ルートセグメントＡＢの開始位置である点Ａの位置に基づいて直進シナリオ／経路テーブル４００を識別して検索し、それによって、ＧＰＳデータに基づいて点Ａの位置の所定の近接範囲内にある開始位置フィールド４０１を有するエントリを見つけ、又はその逆も同様である。点Ａの位置にマッチングされる複数のエントリがある場合、点Ａの速度を利用して、直進シナリオ／経路テーブル４００の速度フィールド４０３をマッチングすることができる。これらの２つの速度値の差が所定の閾値よりも小さい場合、点Ａの速度はフィールド４０３から取得した速度とマッチングされる。必要に応じて、ルートセグメントＡＢの終了位置（例えば、点Ｂの位置）及び現在の車線の車線幅のような他の属性は、それぞれフィールド４０２とフィールド４０４とのマッチングに使用可能である。マッチングエントリが見つかると、マッチングエントリから優先経路区間４０５を取得できる。優先経路区間４０５は、例えば、対応するルートセグメントＡＢをその時点で動的に計算する必要なしに置き換えることにより、最終経路の経路区間として利用することができる。
【００６６】
別の実施形態による別の例では、図４Ｃ及び図５を参照すると、右車線変更シナリオに関連付けられたルートセグメントＢＣについて、経路マッチングモジュール３２２は、ルートセグメントＢＣの開始位置である点Ｂの位置に基づいて車線変更シナリオ／経路テーブル（この例では、右車線変更シナリオ／経路テーブルとする）４５０を識別して検索し、それによって、ＧＰＳデータに基づいて点Ｂの位置の所定の近接範囲内にある開始位置フィールド４５１を有するエントリを見つけ、又はその逆も同様である。点Ｂの位置にマッチングされる複数のエントリがある場合、点Ｂの速度を利用して、シナリオ／経路テーブル４５０の速度フィールド４５３をマッチングすることができる。これらの２つの速度値の差が所定の閾値よりも小さい場合、点Ｂの速度はフィールド４５３から取得した速度とマッチングされる。必要に応じて、ルートセグメントＢＣの終了位置（例えば、点Ｃの位置）及びルートセグメントＢＣの車線変更に関与する両車線間の車線距離のような他の属性は、それぞれフィールド４５２とフィールド４５４とのマッチングに使用可能である。両車線間の車線距離は、ソース車線（例えば、車両が出ようとしている車線）の中心線とターゲット車線（例えば、車両が入ろうとしている車線）の中心線との間の距離を示す。マッチングエントリが見つかると、マッチングエントリから優先経路区間４５５を取得できる。優先経路区間４５５は、例えば、対応するルートセグメントＢＣをその時点で動的に計算する必要なしに置き換えることにより、最終経路の経路区間として利用することができる。
【００６７】
さらなる別の実施形態による別の例では、図４Ｂ及び図５を参照すると、右折シナリオに関連付けられたルートセグメントＣＤについて、経路マッチングモジュール３２２は、ルートセグメントＣＤの開始位置である点Ｃの位置に基づいてターニングシナリオ／経路テーブル（この例では、右折シナリオ／経路テーブルとする）４２０を識別して検索し、それによって、ＧＰＳデータに基づいて点Ｃの位置の所定の近接範囲内にある開始位置フィールド４２１を有するエントリを見つけ、又はその逆も同様である。点Ｃの位置にマッチングされる複数のエントリがある場合、点Ｃの速度を利用して、シナリオ／経路テーブル４２０の速度フィールド４２３をマッチングすることができる。これらの２つの速度値の差が所定の閾値よりも小さい場合、点Ｃの速度はフィールド４２３から取得した速度とマッチングされる。必要に応じて、ルートセグメントＣＤの終了位置（例えば、点Ｄの位置）及びルートセグメントＣＤの曲率のような他の属性は、それぞれフィールド４２２とフィールド４２４とのマッチングに使用可能である。マッチングエントリが見つかると、マッチングエントリから優先経路区間４２５を取得できる。優先経路区間４２５は、例えば、対応するルートセグメントＢＣをその時点で動的に計算する必要なしに置き換えることにより、最終経路の経路区間として利用することができる。
【００６８】
図６は、一実施形態に係る自動運転車両を運転するための経路を確定するプロセスを示すフローチャートである。プロセス６００は、処理ロジックにより実行可能であり、処理ロジックはソフトウェア、ハードウェア、又はそれらの組み合わせを備えていてもよい。例えば、プロセス６００は、図３Ａ及び図３Ｂのシステム３００によって実行されてもよい。図６を参照すると、動作６０１において、処理ロジックは、ＡＤＶを出発地から目標位置までルーティングするための、ルート・地図データに基づいて生成されたルートを受信する。動作６０２において、処理ロジックは、ルートを解析及び分析して、直進シナリオ、左折／右折／Ｕターンシナリオ及び左車線変更／右車線変更シナリオなどの１つ又は複数の事前定義又は所定の運転シナリオにマッチングされる１つ又は複数の運転シナリオのリストを識別する。動作６０３において、処理ロジックは、識別された運転シナリオに基づいてルートをルートセグメントにセグメント化し、ここで、ルートセグメントの少なくとも１つは、所定の運転シナリオの１つに対応する。
【００６９】
動作６０４において、処理ロジックは、経路を生成する際に、事前定義された運転シナリオの１つにマッチングされるルートセグメントのそれぞれについて、マッチングされた運転シナリオに基づいて事前構成経路区間を識別する。一実施形態では、処理ロジックは、ルートセグメントのそれぞれについて、マッチングされた運転シナリオに対応するシナリオ／経路データ構造を識別する。次に、処理ロジックは、ルートセグメントの属性の少なくとも一部（開始位置及び／又は速度）に基づいてシナリオ／経路データ構造を検索し、マッチングエントリを特定する。次に、マッチングエントリから優先経路区間を計算せずに取得する。動作６０５において、処理ロジックは、ルートセグメントに対応する複数の経路区間を有する経路を生成する。経路区間の少なくとも１つは、その時点で同じ経路区間を動的に計算する必要なく、事前定義された運転シナリオの事前構成経路区間（例えば、優先経路区間又は推奨経路区間）に基づいて確定される。動作６０６において、処理ロジックは、該経路に従って自動運転車両を計画及び制御する。
【００７０】
図７は、一実施形態に係るシナリオから経路へのマッピングデータ構造を生成するプロセスを示すフローチャートである。プロセス７００は、処理ロジックにより実行可能であり、処理ロジックはソフトウェア、ハードウェア、又はそれらの組み合わせを備えていてもよい。例えば、プロセス７００は図１のデータ解析システム１０３により実行可能である。図７を参照すると、動作７０１において、処理ロジックは、直進シナリオ、左折／右折／Ｕターンシナリオ、及び左車線変更／右車線変更シナリオを含むがこれらに限定されない運転シナリオのリストを定義する。動作７０２において、処理ロジックは、異なる時点で異なる道路及び位置で様々な異なる運転手によって運転された大量の車両の運転統計データ（例えば、運転行動）を収集する。定義された運転シナリオのそれぞれについて、動作７０３において、処理ロジックは、運転統計データの解析を実行して、異なる位置又は道路での運転シナリオに関連する運転統計データ又は運転行動を識別する。各運転シナリオの位置のそれぞれについて、動作７０４において、処理ロジックは、その位置の近くで運転している異なる運転手の運転統計データ又は運転行動に基づいて、優先経路区間を確定する。動作７０５において、処理ロジックは、定義された運転シナリオのそれぞれについてシナリオ／経路データ構造を生成し、特定の位置を優先経路区間にマッピングし、該優先経路区間は、同じ又は同様の運転シナリオ下での異なる運転手による運転統計データ又は運転行動に基づいて確定される。
【００７１】
なお、以上に例示及び説明された構成要素の一部又は全ては、ソフトウェア、ハードウェア、又はそれらの組み合わせで実現されることができる。例えば、このような構成要素は、永続性記憶装置にインストールされるとともに格納されるソフトウェアとして実現されてもよく、前記ソフトウェアは、本発明にわたって記載されたプロセス又は動作を実施するように、プロセッサ（図示せず）によってメモリにロードして実行されてもよい。あるいは、このような構成要素は、集積回路（例えば、特定用途向け集積回路又はＡＳＩＣ）、デジタルシグナルプロセッサ（ＤＳＰ）、又はフィールドプログラマブルゲートアレイ（ＦＰＧＡ）のような専用ハードウェアにプログラミングされたか又は埋め込まれた実行可能なコードとして実現されてもよく、前記実行可能なコードはアプリケーションからの対応するドライバー及び／又はオペレーティングシステムを介してアクセスすることができる。更に、このような構成要素は、ソフトウェア構成要素が１つ又は複数の特定の命令によってアクセス可能な命令セットの一部として、プロセッサ又はプロセッサコアにおける特定のハードウェアロジックとして実現されることができる。
【００７２】
図８は、本発明の一実施形態と一緒に使用可能なデータ処理システムの一例を示すブロック図である。例えば、システム１５００は、図１の感知・計画システム１１０、又はサーバ１０３〜１０４のいずれかのような、上述した前記プロセス又は方法のいずれかを実行するデータ処理システムのいずれかを表すことができる。システム１５００は、いくつかの異なる構成要素を備えていてもよい。これらの構成要素は、集積回路（ＩＣ）、集積回路の一部、ディスクリート型電子デバイス、又は回路基板（例えば、コンピュータシステムのマザーボード又はアドインカード）に適するその他のモジュールとして実現されることができ、又は、他の形態でコンピュータシステムのシャーシ内に組み込まれた構成要素として実現されることができる。
【００７３】
なお、システム１５００は、コンピュータシステムのいくつかの構成要素の高レベルビューを示すことを意図している。しかしながら、一部の実施形態において付加的構成要素が存在してもよく、また、その他の実施形態において示された構成要素を異なる配置にすることが可能であることを理解されたい。システム１５００は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ、携帯電話、メディアプレーヤ、パーソナルデジタルアシスタント（ＰＤＡ）、スマートウォッチ、パーソナルコミュニケーター、ゲーム装置、ネットワークルーター又はハブ、無線アクセスポイント（ＡＰ）又はリピーター、セット・トップボックス、又はそれらの組み合わせを表すことができる。また、単一の機械又はシステムのみが示されたが、「機械」又は「システム」という用語は、本明細書で説明されるいずれか１つ又は複数の方法を実行するための、１つ（又は複数）の命令セットを単独で又は共同で実行する機械又はシステムの任意の組み合わせも含まれることを理解されたい。
【００７４】
一実施形態において、システム１５００は、バス又はインターコネクト１５１０を介して接続される、プロセッサ１５０１と、メモリ１５０３と、デバイス１５０５〜１５０８とを含む。プロセッサ１５０１は、単一のプロセッサコア又は複数のプロセッサコアが含まれる単一のプロセッサ又は複数のプロセッサを表すことが可能である。プロセッサ１５０１は、マイクロプロセッサ、中央処理装置（ＣＰＵ）などのような、１つ又は複数の汎用プロセッサを表すことができる。より具体的には、プロセッサ１５０１は、複雑命令セットコンピューティング（ＣＩＳＣ）マイクロプロセッサ、縮小命令セットコンピューティング（ＲＩＳＣ）マイクロプロセッサ、超長命令語（ＶＬＩＷ）マイクロプロセッサ、又はその他の命令セットを実行するプロセッサ、又は命令セットの組み合わせを実行するプロセッサであってもよい。プロセッサ１５０１は更に１つ又は複数の専用プロセッサであってもよく、例えば、特定用途向け集積回路（ＡＳＩＣ）、セルラー又はベースバンドプロセッサ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタルシグナルプロセッサ（ＤＳＰ）、ネットワークプロセッサ、グラフィックプロセッサ、通信プロセッサ、暗号プロセッサ、コプロセッサ、組み込みプロセッサ、又は命令を処理可能な任意の他のタイプのロジックが挙げられる。
【００７５】
プロセッサ１５０１は、超低電圧プロセッサのような低電力マルチコアプロセッサソケットであってもよく、前記システムの様々な構成要素と通信するための主処理ユニット及び中央ハブとして機能することができる。このようなプロセッサは、システムオンチップ（ＳｏＣ）として実装されてもよい。プロセッサ１５０１は、本明細書で説明される動作及びステップを実行するための命令を実行するように構成される。システム１５００は、更に任意選択グラフィックサブシステム１５０４と通信するグラフィックインターフェースを含むことができ、グラフィックサブシステム１５０４は、表示コントローラ、グラフィックプロセッサ及び／又は表示装置を含んでいてもよい。
【００７６】
プロセッサ１５０１は、メモリ１５０３と通信することができ、メモリ１５０３は、一実施形態では、所定量のシステムメモリを提供するための複数のメモリデバイスによって実現されることができる。メモリ１５０３は、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）、又はその他のタイプの記憶デバイスのような、１つ又は複数の揮発性記憶（又はメモリ）デバイスを含むことができる。メモリ１５０３は、プロセッサ１５０１又はその他の任意のデバイスにより実行される命令シーケンスを含む情報を格納することができる。例えば、様々なオペレーティングシステム、デバイスドライバ、ファームウェア（例えば、ベーシックインプット／アウトプットシステム又はＢＩＯＳ）、及び／又はアプリケーションの実行可能なコード及び／又はデータは、メモリ１５０３にロードされ、プロセッサ１５０１により実行されることができる。オペレーティングシステムは、例えば、ロボットオペレーティングシステム（ＲＯＳ）、Ｍｉｃｒｏｓｏｆｔ（登録商標）社のＷｉｎｄｏｗｓ（登録商標）オペレーティングシステム、アップル社のＭａｃＯＳ（登録商標）／ｉＯＳ（登録商標）、Ｇｏｏｇｌｅ（登録商標）社のＡｎｄｒｏｉｄ（登録商標）、ＬＩＮＵＸ（登録商標）、ＵＮＩＸ（登録商標）、又はその他のリアルタイム若しくは組込みオペレーティングシステムのような、任意のタイプのオペレーティングシステムであってもよい。
【００７７】
システム１５００は、更に、ネットワークインターフェース装置１５０５、任意選択入力デバイス１５０６、及びその他の任意選択Ｉ／Ｏデバイス１５０７を含むデバイス１５０５〜１５０８のようなＩ／Ｏデバイスを含むことができる。ネットワークインターフェース装置１５０５は、無線送受信機及び／又はネットワークインターフェースカード（ＮＩＣ）を含むことができる。前記無線送受信機は、ＷｉＦｉ（登録商標）送受信機、赤外線送受信機、ブルートゥース（登録商標）送受信機、ＷｉＭａｘ送受信機、無線携帯電話送受信機、衛星送受信機（例えば、全地球測位システム（ＧＰＳ）送受信機）、又はその他の無線周波数（ＲＦ）送受信機、又はそれらの組み合わせであってもよい。ＮＩＣは、イーサネット（登録商標）カードであってもよい。
【００７８】
入力デバイス１５０６は、マウス、タッチパッド、タッチスクリーン（表示装置１５０４と統合されてもよい）、ポインターデバイス（例えば、スタイラス）、及び／又はキーボード（例えば、物理キーボード又はタッチスクリーンの一部として表示された仮想キーボード）を含むことができる。例えば、入力デバイス１５０６は、タッチスクリーンと接続されるタッチスクリーンコントローラを含むことができる。タッチスクリーン及びタッチスクリーンコントローラは、例えば、様々なタッチ感応技術（コンデンサ、抵抗、赤外線、及び表面弾性波の技術を含むが、それらに限定されない）のいずれか、並びにその他の近接センサアレイ、又は、タッチスクリーンと接触する１つ又は複数の点を確定するためのその他の素子を用いて、それらの接触、移動又は中断を検出することができる。
【００７９】
Ｉ／Ｏデバイス１５０７は、音声装置を含むことができる。音声装置は、音声認識、音声複製、デジタル記録、及び／又は電話機能のような音声サポート機能を促進するために、スピーカ及び／又はマイクロホンを含んでもよい。その他のＩ／Ｏデバイス１５０７は、更に、ユニバーサルシリアルバス（ＵＳＢ）ポート、パラレルポート、シリアルポート、プリンタ、ネットワークインターフェース、バスブリッジ（例えば、ＰＣＩ−ＰＣＩブリッジ）、センサ（例えば、加速度計、ジャイロスコープ、磁力計、光センサ、コンパス、近接センサなどのモーションセンサ）、又はそれらの組み合わせを含むことができる。デバイス１５０７は、結像処理サブシステム（例えば、カメラ）を更に含むことができ、前記結像処理サブシステムは、写真及びビデオ断片の記録のようなカメラ機能を促進するための、電荷接続素子（ＣＣＤ）又は相補型金属酸化物半導体（ＣＭＯＳ）光学センサのような光学センサを含むことができる。特定のセンサは、センサハブ（図示せず）を介してインターコネクト１５１０に接続されることができ、キーボード又はサーマルセンサのようなその他のデバイスはシステム１５００の具体的な構成又は設計により、組込みコントローラ（図示せず）により制御されることができる。
【００８０】
データ、アプリケーション、１つ又は複数のオペレーティングシステムなどの情報の永続性記憶を提供するために、プロセッサ１５０１には、大容量記憶装置（図示せず）が接続されることもできる。様々な実施形態において、より薄くてより軽量なシステム設計を可能にしながら、システムの応答性を向上するために、このような大容量記憶装置は、ソリッドステートデバイス（ＳＳＤ）によって実現されることができる。しかしながら、その他の実施形態では、大容量記憶装置は、主にハードディスクドライブ（ＨＤＤ）を使用して実現されることができ、より小さい容量のＳＳＤ記憶装置をＳＳＤキャッシュとして機能することで、停電イベントの間にコンテキスト状態及び他のそのような情報の不揮発性記憶を可能にし、それによりシステム動作が再開するときに通電を速く実現することができる。また、フラッシュデバイスは、例えば、シリアルペリフェラルインターフェース（ＳＰＩ）を介してプロセッサ１５０１に接続されることができる。このようなフラッシュデバイスは、前記システムのＢＩＯＳ及びその他のファームウェアを含むシステムソフトウェアの不揮発性記憶のために機能することができる。
【００８１】
記憶デバイス１５０８は、本明細書に記載の方法又は機能のいずれか１つ又は複数を具現化する１つ又は複数の命令セット又はソフトウェア（例えば、モジュール、ユニット及び／又はロジック１５２８）が格納されているコンピュータアクセス可能な記憶媒体１５０９（機械可読記憶媒体又はコンピュータ可読媒体とも呼ばれる）を備えてもよい。処理モジュール／ユニット／ロジック１５２８は、計画モジュール３０５、制御モジュール３０６又はルーティングモジュール３０７などの前記構成要素のいずれかを表すことができる。処理モジュール／ユニット／ロジック１５２８は、更に、データ処理システム１５００、メモリ１５０３、及びプロセッサ１５０１による実行中に、メモリ１５０３内及び／又はプロセッサ１５０１内に完全的に又は少なくとも部分的に存在してもよく、データ処理システム１５００、メモリ１５０３及びプロセッサ１５０１も機械アクセス可能な記憶媒体を構成する。処理モジュール／ユニット／ロジック１５２８は、更に、ネットワークを介してネットワークインターフェース装置１５０５を経由して送受信されてもよい。
【００８２】
コンピュータ可読記憶媒体１５０９は、以上に説明されたいくつかのソフトウェア機能を永続的に格納するために用いることができる。コンピュータ可読記憶媒体１５０９は、例示的な実施形態において単一の媒体として示されるが、「コンピュータ可読記憶媒体」という用語は、前記１つ又は複数の命令セットが格納される単一の媒体又は複数の媒体（例えば、集中型又は分散型データベース及び／又は関連するキャッシュとサーバ）を含むと解釈されるものとする。「コンピュータ可読記憶媒体」という用語は、更に、命令セットを格納又は符号化できる任意の媒体を含むと解釈されるものであり、前記命令セットは機械により実行され、本発明のいずれか１つ又は複数の方法を前記機械に実行させるためのものである。それゆえに、「コンピュータ可読記憶媒体」という用語は、ソリッドステートメモリ、光学媒体及び磁気媒体、又はその他の任意の非一時的機械可読媒体を含むが、それらに限定されないと解釈されるものとする。
【００８３】
本明細書に記載された処理モジュール／ユニット／ロジック１５２８、構成要素及びその他の特徴は、ディスクリートハードウェア構成要素として実現されてもよく、又はＡＳＩＣＳ、ＦＰＧＡ、ＤＳＰ又は類似のデバイスのようなハードウェア構成要素の機能に統合されてもよい。更に、処理モジュール／ユニット／ロジック１５２８は、ハードウェアデバイスにおけるファームウェア又は機能性回路として実現されてもよい。更に、処理モジュール／ユニット／ロジック１５２８は、ハードウェアデバイスとソフトウェア構成要素の任意の組み合わせで実現されてもよい。
【００８４】
なお、システム１５００は、データ処理システムの様々な構成要素を有するものとして示されているが、構成要素を相互接続する任意の特定のアーキテクチャ又は方式を表すことを意図するものではなく、そのような詳細は、本発明の実施形態とは密接な関係がない。また、より少ない構成要素又はより多くの構成要素を有するネットワークコンピュータ、ハンドヘルドコンピュータ、携帯電話、サーバ、及び／又はその他のデータ処理システムも、本発明の実施形態と共に使用することができることを理解されたい。
【００８５】
上述した具体的な説明の一部は、既に、コンピュータメモリにおけるデータビットに対する演算のアルゴリズムと記号表現により示された。これらのアルゴリズムの説明及び表現は、データ処理分野における当業者によって使用される、それらの作業実質を所属分野の他の当業者に最も効果的に伝達する方法である。本明細書では、一般的に、アルゴリズムは、所望の結果につながるセルフコンシステントシーケンスと考えられる。これらの操作は、物理量の物理的処置が必要とされるものである。
【００８６】
しかしながら、念頭に置くべきなのは、これらの用語及び類似の用語の全ては、適切な物理量に関連付けられるものであり、これらの量を標識しやすくするためのものに過ぎない。以上の説明で他に明示的に記載されていない限り、本明細書の全体にわたって理解するべきなのは、添付された特許請求の範囲に記載するもののような用語による説明とは、コンピュータシステム、又は類似の電子計算装置の動作及びプロセスを指し、前記コンピュータシステム又は電子計算装置は、コンピュータシステムのレジスタ及びメモリにおける物理（電子）量として示されるデータを制御するとともに、前記データをコンピュータシステムメモリ又はレジスタ又はこのようなその他の情報記憶装置、伝送又は表示装置において同様に物理量として示される別のデータに変換する。
【００８７】
本発明の実施形態は、本明細書の動作を実行するための装置にも関する。このようなコンピュータプログラムは、非一時的コンピュータ可読媒体に格納される。機械可読媒体は、機械（例えば、コンピュータ）により読み取り可能な形式で情報を格納するための任意のメカニズムを含む。例えば、機械可読（例えば、コンピュータ可読）媒体は、機械（例えば、コンピュータ）可読記憶媒体（例えば、読み出し専用メモリ（「ＲＯＭ」）、ランダムアクセスメモリ（「ＲＡＭ」）、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリデバイス）を含む。
【００８８】
上述した図面において説明されたプロセス又は方法は、ハードウェア（例えば、回路、専用ロジックなど）、ソフトウェア（例えば、非一時的コンピュータ可読媒体に具現化されるもの）、又は両方の組み合わせを含む処理ロジックにより実行されることができる。前記プロセス又は方法は、以上で特定の順序に応じて説明されたが、前記動作の一部が異なる順序で実行されてもよいことを理解されたい。また、一部の動作は、順番ではなく並行して実行されてもよい。
【００８９】
本発明の実施形態は、いずれの特定のプログラミング言語を参照することなく記載されている。理解すべきなのは、本明細書に記載の本発明の実施形態の教示を実現するために、様々なプログラミング言語を使用することができる。
【００９０】
本明細書において、本発明の実施形態は、既にその具体的な例示的な実施形態を参照しながら記載された。明らかなように、添付された特許請求の範囲に記載された本発明のより広い趣旨及び範囲を逸脱しない限り、本発明に対して様々な変更を行うことができる。それゆえに、本明細書及び図面は、限定的な意味でなく、例示的な意味で理解されるべきである。
【図１】
2020523552.tif 000003
【図２】
2020523552.tif 000004
【図３Ａ】
2020523552.tif 000005
【図３Ｂ】
2020523552.tif 000006
【図４Ａ】
2020523552.tif 000007
【図４Ｂ】
2020523552.tif 000008
【図４Ｃ】
2020523552.tif 000009
【図５】
2020523552.tif 000010
【図６】
2020523552.tif 000011
【図７】
2020523552.tif 000012
【図８】
2020523552.tif 000013
【手続補正書】
【提出日】令和1年11月29日(2019.11.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
自動運転車両の経路計画のためのコンピュータ実施方法であって、  自動運転車両を出発地から目標位置までルーティングするためのルートに応じて前記ルートを解析して、前記ルートに沿って１つ又は複数の事前定義された運転シナリオにマッチングされる１つ又は複数の運転シナリオのリストを識別するステップと、  識別された運転シナリオに基づいて前記ルートを複数のルートセグメントにセグメント化し、前記ルートセグメントの少なくとも１つは、識別された運転シナリオの１つに対応するステップと、  前記ルートセグメントに基づいて、前記自動運転車両を前記出発地から前記目標位置まで運転するための経路を生成するステップであって、前記経路は、前記ルートセグメントに対応する複数の経路区間を有し、前記経路の経路区間の少なくとも１つは、事前定義された運転シナリオに対応する事前構成経路区間に基づいて確定されるステップと、を含むコンピュータ実施方法。
【請求項２】
前記運転シナリオは、直進運転シナリオ、ターニングシナリオ、又は車線変更シナリオのうちの１つを表す、請求項１に記載の方法。
【請求項３】
前記方法は、  前記事前定義された運転シナリオの１つにマッチングされる前記ルートのルートセグメントのそれぞれについて、前記ルートセグメントに関連付けられる１つ又は複数の運転パラメータに基づいて事前構成経路区間を識別するステップと、  前記経路の対応する経路区間を動的に計算せずに、識別された事前構成経路区間に置き換えるステップと、をさらに含む、請求項１に記載の方法。
【請求項４】
前記方法は、  第１のルートセグメントに対応する第１の運転シナリオを確定するステップと、  前記第１の運転シナリオに対応する第１のシナリオ／経路テーブルを識別するステップと、  前記第１のルートセグメントに対応する経路の第１の経路区間を置き換えるために、前記第１のシナリオ／経路テーブルから第１の事前構成経路区間を取得するステップと、をさらに含む、請求項３に記載の方法。
【請求項５】
識別されたシナリオ／経路テーブルから第１の事前構成経路区間を取得するステップは、  前記第１の経路区間の第１の開始位置を確定することと、  前記第１の経路区間の第１の開始位置に近似的にマッチングされるエントリを特定するために、前記第１の開始位置に基づいて前記第１のシナリオ／経路テーブルで検索を行うことと、  前記第１のシナリオ／経路テーブルのマッチングエントリから、第１の事前構成経路区間を取得することと、を含む請求項４に記載の方法。
【請求項６】
前記第１のシナリオ／経路テーブルは複数のマッピングエントリを含み、各マッピングエントリは特定の開始位置を特定の事前構成経路区間にマッピングする請求項５に記載の方法。
【請求項７】
前記第１のシナリオ／経路テーブルは、複数のシナリオ／経路テーブルの１つであり、各シナリオ／経路テーブルは、前記事前定義された運転シナリオの１つに対応する請求項５に記載の方法。
【請求項８】
前記方法は、  前記事前定義された運転シナリオのいずれにもマッチングされない１つ又は複数のルートセグメントを識別することと、  マッチングされていないルートセグメントのそれぞれについて、前記マッチングされていないルートセグメントに対応する前記経路の経路区間を動的に計算することと、をさらに含む請求項１に記載の方法。
【請求項９】
命令が格納されている非一時的機械可読媒体であって、前記命令はプロセッサにより実行されると、前記プロセッサに動作を実行させ、前記動作は、  自動運転車両を出発地から目標位置までルーティングするためのルートに応じて前記ルートを解析して、前記ルートに沿って１つ又は複数の事前定義された運転シナリオにマッチングされる１つ又は複数の運転シナリオのリストを識別するステップと、  識別された運転シナリオに基づいて前記ルートを複数のルートセグメントにセグメント化し、前記ルートセグメントの少なくとも１つは、識別された運転シナリオの１つに対応するステップと、  前記ルートセグメントに基づいて、前記自動運転車両を前記出発地から前記目標位置まで運転するための経路を生成するステップであって、前記経路は、前記ルートセグメントに対応する複数の経路区間を有し、前記経路の経路区間の少なくとも１つは、事前定義された運転シナリオに対応する事前構成経路区間に基づいて確定されるステップと、を含む非一時的機械可読媒体。
【請求項１０】
前記運転シナリオは、直進運転シナリオ、ターニングシナリオ、又は車線変更シナリオのうちの１つを表す請求項９に記載の機械可読媒体。
【請求項１１】
前記動作は、  前記事前定義された運転シナリオの１つにマッチングされる前記ルートのルートセグメントのそれぞれについて、前記ルートセグメントに関連付けられる１つ又は複数の運転パラメータに基づいて事前構成経路区間を識別するステップと、  前記経路の対応する経路区間を動的に計算せずに、識別された事前構成経路区間に置き換えるステップと、をさらに含む請求項９に記載の機械可読媒体。
【請求項１２】
前記動作は、  第１のルートセグメントに対応する第１の運転シナリオを確定するステップと、  前記第１の運転シナリオに対応する第１のシナリオ／経路テーブルを識別するステップと、  前記第１のルートセグメントに対応する経路の第１の経路区間を置き換えるために、前記第１のシナリオ／経路テーブルから第１の事前構成経路区間を取得するステップと、をさらに含む請求項１１に記載の機械可読媒体。
【請求項１３】
識別されたシナリオ／経路テーブルから第１の事前構成経路区間を取得するステップは、  前記第１の経路区間の第１の開始位置を確定することと、  前記第１の経路区間の第１の開始位置に近似的にマッチングされるエントリを特定するために、前記第１の開始位置に基づいて前記第１のシナリオ／経路テーブルで検索を行うことと、  前記第１のシナリオ／経路テーブルのマッチングエントリから、第１の事前構成経路区間を取得することと、を含む請求項１２に記載の機械可読媒体。
【請求項１４】
前記第１のシナリオ／経路テーブルは複数のマッピングエントリを含み、各マッピングエントリは特定の開始位置を特定の事前構成経路区間にマッピングする請求項１３に記載の機械可読媒体。
【請求項１５】
前記第１のシナリオ／経路テーブルは、複数のシナリオ／経路テーブルの１つであり、各シナリオ／経路テーブルは、前記事前定義された運転シナリオの１つに対応する請求項１３に記載の機械可読媒体。
【請求項１６】
前記動作は、  前記事前定義された運転シナリオのいずれにもマッチングされない１つ又は複数のルートセグメントを識別することと、  マッチングされていないルートセグメントのそれぞれについて、前記マッチングされていないルートセグメントに対応する前記経路の経路区間を動的に計算することと、をさらに含む請求項９に記載の機械可読媒体。
【請求項１７】
プロセッサと、命令を格納するために前記プロセッサに接続されるメモリと、を備えるデータ処理システムであって、  前記命令は、前記プロセッサによって実行されると、前記プロセッサに動作を実行させ、前記動作は、  自動運転車両を出発地から目標位置までルーティングするためのルートに応じて前記ルートを解析して、前記ルートに沿って１つ又は複数の事前定義された運転シナリオにマッチングされる１つ又は複数の運転シナリオのリストを識別するステップと、  識別された運転シナリオに基づいて前記ルートを複数のルートセグメントにセグメント化し、前記ルートセグメントの少なくとも１つは、識別された運転シナリオの１つに対応するステップと、  前記ルートセグメントに基づいて、前記自動運転車両を前記出発地から前記目標位置まで運転するための経路を生成するステップであって、前記経路は、前記ルートセグメントに対応する複数の経路区間を有し、前記経路の経路区間の少なくとも１つは、事前定義された運転シナリオに対応する事前構成経路区間に基づいて確定されるステップと、を含むデータ処理システム。
【請求項１８】
前記運転シナリオは、直進運転シナリオ、ターニングシナリオ、又は車線変更シナリオのうちの１つを表す、請求項１７に記載のシステム。
【請求項１９】
前記動作は、  前記事前定義された運転シナリオの１つにマッチングされる前記ルートのルートセグメントのそれぞれについて、前記ルートセグメントに関連付けられる１つ又は複数の運転パラメータに基づいて事前構成経路区間を識別するステップと、  前記経路の対応する経路区間を動的に計算せずに、識別された事前構成経路区間に置き換えるステップと、をさらに含む請求項１７に記載のシステム。
【請求項２０】
前記動作は、  第１のルートセグメントに対応する第１の運転シナリオを確定するステップと、  前記第１の運転シナリオに対応する第１のシナリオ／経路テーブルを識別するステップと、  前記第１のルートセグメントに対応する経路の第１の経路区間を置き換えるために、前記第１のシナリオ／経路テーブルから第１の事前構成経路区間を取得するステップと、をさらに含む請求項１９に記載のシステム。
【請求項２１】
識別されたシナリオ／経路テーブルから第１の事前構成経路区間を取得するステップは、  前記第１の経路区間の第１の開始位置を確定することと、  前記第１の経路区間の第１の開始位置に近似的にマッチングされるエントリを見つけるために、前記第１の経路区間の第１の開始位置に基づいて前記第１のシナリオ／経路テーブルで検索することと、  前記第１のシナリオ／経路テーブルのマッチングされたエントリから、第１の事前構成経路区間を取得することと、を含む請求項２０に記載のシステム。
【請求項２２】
自動運転車両の経路計画のためのコンピュータ実施方法であって、  異なる道路構成を有する複数の道路を運転する複数の車両の運転統計データを収集するステップと、  前記運転統計データを解析して、異なる時点で異なる位置における一組の事前定義された運転シナリオにマッチングされる運転シナリオのリストを識別するステップと、  前記運転シナリオのそれぞれについて、  前記車両の少なくともいくつかが同じ運転シナリオで動作する位置のリストを識別するステップと、  前記運転シナリオに関連付けられる位置のそれぞれについて、その位置に関連付けられる運転統計データに基づいて優先経路区間を確定するステップと、  特定の位置を優先経路区間にマッピングするために前記運転シナリオのための運転シナリオ／経路データ構造を生成し、その後、前記シナリオ／経路データ構造を利用して、特定の運転シナリオで特定の位置において経路の経路区間を動的に計算せずに対応する優先経路区間を用いて計画するステップと、を含むコンピュータ実施方法。
【請求項２３】
運転シナリオのシナリオ／経路データ構造のそれぞれは複数のマッピングエントリを含み、各マッピングエントリは特定の位置を、その特定の運転シナリオの該特定の位置のための優先経路区間として事前構成経路区間にマッピングする請求項２２に記載の方法。
【請求項２４】
前記運転シナリオは、直進運転シナリオ、ターニングシナリオ、Ｕターンシナリオ又は車線変更シナリオのうちの１つを表す請求項２２に記載の方法。
【請求項２５】
コンピュータプログラムであって、  前記コンピュータプログラムがプロセッサにより実行されると、請求項１〜８のいずれか一項に記載の方法を実現させるコンピュータプログラム。
【国際調査報告】
2020523552.tif 000014
2020523552.tif 000015