(57)【要約】      （修正有）【課題】自律走行車が元車線から目的車線へ車線変更するために自律走行制御を提供する。【解決手段】トポロジカルマップを用いて、元車線から基準ノードを選択する。基準ノードに対応し、車両が最初に車線変更可能な元車線での最早ノードを決定し、かつその後に車線変更できなくなる元車線での最遅ノードを決定する。車両の車線変更可能な元車線の範囲を決定することができる。【選択図】図７
2018108799.tif 000002
【特許請求の範囲】
【請求項１】
自律走行車の元車線から目的車線への車線変更を動作させるコンピュータ実施方法であって、
前記元車線に関連するトポロジーグラフの第１の基準ノードを選択し、前記第１の基準ノードは、前記自律走行車が前記目的車線内の第２の基準ノードへ変更できる前記元車線内のノードである第１の基準ノード選択ステップと、
前記トポロジーグラフの前記第１の基準ノードに対応して前記元車線内の最早ノードを決定し、前記最早ノードにおいて、前記自律走行車が最初に前記元車線から前記目的車線へ車線変更する可能性がある最早ノード決定ステップと、
前記トポロジーグラフの前記第１の基準ノードに対応して前記元車線内の最遅ノードを決定し、前記最遅ノードの後に、前記自律走行車が前記元車線から前記目的車線へ車線変更できなくなる最遅ノード決定ステップと、
前記自律走行車が前記元車線から前記目的車線へ車線変更可能な前記元車線の範囲を決定し、前記範囲は前記元車線内の前記最早ノードから前記元車線内の前記最遅ノードまでである車線変更範囲決定ステップとを含む、自律走行車の元車線から目的車線への車線変更を動作させるコンピュータ実施方法。
【請求項２】
最小コストアルゴリズム、前記自律走行車の最初出発位置及び前記自律走行車の最終目的位置を用いて前記第１の基準ノードを選択する、請求項１に記載の方法。
【請求項３】
前記第１の基準ノード、前記最早ノード及び前記最遅ノードは、すべて前記トポロジーグラフに示される前記元車線の中央軸に位置し、かつ前記第２の基準ノードは、前記トポロジーグラフに示される前記目的車線の中央軸に位置する、請求項１に記載の方法。
【請求項４】
前記元車線の中央軸及び前記目的車線の中央軸は、それぞれ前記中央軸に沿って所定間隔に位置するノードを含む、請求項３に記載の方法。
【請求項５】
前記最遅ノード決定ステップには、
前記目的車線内の対応ノードを持たさない前記元車線内のノードを見つけたまで、前記第１の基準ノードの後の前記元車線内のノードに対して条件付き幅優先検索を実行し、前記目的車線内の対応ノードは、前記自律走行車が前記元車線内のノードから車線変更可能な前記目的車線内のノードであるステップを含み、
その中で、前記元車線のセグメントが前記元車線内の前記第１の基準ノードと前記最遅ノードとの間にマージする、請求項１に記載の方法。
【請求項６】
前記最早ノード決定ステップには、
前記元車線のマージされるセグメントの長さに対応する長さにおいて、前記第２の基準ノードの前の前記目的車線内のノードに対して条件付き幅優先検索を実行し、前記長さに対して前記第２の基準ノードの前に検索した前記目的車線内の各ノードがルックアップテーブルに記憶されるステップを含む、請求項５に記載の方法。
【請求項７】
前記最早ノード決定ステップには、
前記ルックアップテーブルに記憶される前記目的車線内の対応ノードを持たさない前記元車線内のノードを見つけたまで、前記第１の基準ノードから逆方向に前記元車線内のノードを検査するステップをさらに含み、前記目的車線内の対応ノードは、前記自律走行車が前記元車線内のノードから車線変更可能な前記目的車線内のノードである、請求項６に記載の方法。
【請求項８】
命令が記憶される非一時的機械可読媒体であって、
前記命令は、プロセッサにより実行される場合、前記プロセッサに動作を実行させ、前記動作には、
前記元車線に関連するトポロジーグラフの第１の基準ノードを選択し、前記第１の基準ノードは、前記自律走行車が前記目的車線内の第２の基準ノードへ変更できる前記元車線内のノードである第１の基準ノード選択と、
前記トポロジーグラフの前記第１の基準ノードに対応して前記元車線内の最早ノードを決定し、前記最早ノードにおいて、前記自律走行車が最初に前記元車線から前記目的車線へ車線変更する可能性がある最早ノード決定と、
前記トポロジーグラフの前記第１の基準ノードに対応して前記元車線内の最遅ノードを決定し、前記最遅ノードの後に、前記自律走行車が前記元車線から前記目的車線へ車線変更できなくなる最遅ノード決定と、
前記自律走行車が前記元車線から前記目的車線へ車線変更可能な前記元車線の範囲を決定し、前記範囲は前記元車線内の前記最早ノードから前記元車線内の前記最遅ノードまでである車線変更範囲決定とを含む、命令が記憶される非一時的機械可読媒体。
【請求項９】
最小コストアルゴリズム、前記自律走行車の最初出発位置及び前記自律走行車の最終目的位置を用いて前記第１の基準ノードを選択する、請求項８に記載の非一時的機械可読媒体。
【請求項１０】
前記第１の基準ノード、前記最早ノード及び前記最遅ノードは、すべて前記トポロジーグラフに示される前記元車線の中央軸に位置し、かつ前記第２の基準ノードは、前記トポロジーグラフに示される前記目的車線の中央軸に位置する、請求項８に記載の非一時的機械可読媒体。
【請求項１１】
前記元車線の中央軸及び前記目的車線の中央軸は、それぞれ前記中央軸に沿って所定間隔に位置するノードを含む、請求項１０に記載の非一時的機械可読媒体。
【請求項１２】
前記最遅ノード決定には、
前記目的車線内の対応ノードを持たさない前記元車線内のノードを見つけたまで、前記第１の基準ノードの後の前記元車線内のノードに対して条件付き幅優先検索を実行し、前記目的車線内の対応ノードは、前記自律走行車が前記元車線内のノードから車線変更可能な前記目的車線内のノードであることとを含み、
前記元車線のセグメントは、前記元車線内の前記基準ノードと前記最遅ノードとの間にマージする、請求項８に記載の非一時的機械可読媒体。
【請求項１３】
前記最早ノード決定には、
前記元車線のマージされるセグメントの長さに対応する長さにおいて、前記第２の基準ノードの前の前記目的車線内のノードに対して条件付き幅優先検索を実行し、前記長さに対して前記第２の基準ノードの前に検索した前記目的車線内の各ノードがルックアップテーブルに記憶されることを含む、請求項１２に記載の非一時的機械可読媒体。
【請求項１４】
前記最早ノード決定には、
前記ルックアップテーブルに記憶される前記目的車線内の対応ノードを持たさない前記元車線内のノードを見つけたまで、前記第１の基準ノードからの逆方向に前記元車線内のノードを検査することをさらに含み、
前記目的車線内の対応ノードは、前記自律走行車が前記元車線内のノードから車線変更可能な前記目的車線内のノードである、請求項１３に記載の非一時的機械可読媒体。
【請求項１５】
データ処理システムであって、
プロセッサと、
前記プロセッサに接続され、命令を記憶するために用いられるメモリとを備え、
前記命令は、前記プロセッサにより実行される場合、前記プロセッサに動作を実行させ、
前記動作には、
前記元車線に関連するトポロジーグラフの第１の基準ノードを選択し、前記第１の基準ノードは、前記自律走行車が前記目的車線内の第２の基準ノードへ変更できる前記元車線内のノードである第１の基準ノード選択と、
前記トポロジーグラフの前記第１の基準ノードに対応して前記元車線内の最早ノードを決定し、前記最早ノードにおいて、前記自律走行車が最初に前記元車線から前記目的車線へ車線変更する可能性がある最早ノード決定と、
前記トポロジーグラフの前記第１の基準ノードに対応して前記元車線内の最遅ノードを決定し、前記最遅ノードの後に、前記自律走行車が前記元車線から前記目的車線へ車線変更できなくなる最遅ノード決定と、
前記自律走行車が前記元車線から前記目的車線へ車線変更可能な前記元車線の範囲を決定し、前記範囲は前記元車線内の前記最早ノードから前記元車線内の前記最遅ノードまでである車線変更範囲決定とを含む、データ処理システム。
【請求項１６】
最小コストアルゴリズム、前記自律走行車の最初出発位置及び前記自律走行車の最終目的位置を用いて前記第１の基準ノードを選択する、請求項１５に記載のデータ処理システム。
【請求項１７】
前記第１の基準ノード、前記最早ノード及び前記最遅ノードは、すべて前記トポロジーグラフに示される前記元車線の中央軸に位置し、かつ前記第２の基準ノードは、前記トポロジーグラフに示される前記目的車線の中央軸に位置する、請求項１５に記載のデータ処理システム。
【請求項１８】
前記元車線の中央軸及び前記目的車線の中央軸は、それぞれ前記中央軸に沿って所定間隔を置いて位置するノードを含む、請求項１７に記載のデータ処理システム。
【請求項１９】
前記最遅ノード決定には、
前記目的車線内の対応ノードを持たさない前記元車線内のノードを見つけたまで、前記第１の基準ノードの後の前記元車線内のノードに対して条件付き幅優先検索を実行し、前記目的車線内の対応ノードは、前記自律走行車が前記元車線内のノードから車線変更可能な前記目的車線内のノードであることを含み、
その中で、前記元車線のセグメントが前記元車線内の前記第１の基準ノードと前記最遅ノードとの間にマージする、請求項１５に記載のデータ処理システム。
【請求項２０】
前記最早ノード決定には、
前記元車線のマージされるセグメントの長さに対応する長さにおいて、前記第２の基準ノードの前の前記目的車線内のノードに対して条件付き幅優先検索を実行し、前記長さに対して前記第２の基準ノードの前に検索した前記目的車線内の各ノードがルックアップテーブルに記憶されることを含む、請求項１９に記載のデータ処理システム。
【請求項２１】
前記最早ノード決定には、
前記ルックアップテーブルに記憶される前記目的車線内の対応ノードを持たさない前記元車線内のノードを見つけたまで、前記第１の基準ノードからの逆方向に前記元車線内のノードを検査することをさらに含み、
前記目的車線内の対応ノードは、前記自律走行車が前記元車線内のノードから車線変更可能な前記目的車線内のノードである、請求項２０に記載のデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、全体として自律走行車を動作させることに関する。より具体的には、本明細書の実施形態は、グラフベースな車線変更ガイドを用いて、自律走行車を動作させることに関する。
【背景技術】
【０００２】
自律モード（例えば、自律運転）で走行している車両は、乗員（特に運転者）を、特定の運転に関連する責任から解放できる。自律モードで走行している場合、車両は車載センサで様々な場所にナビゲートすることができ、それにより車両がヒューマンコンピュータインタラクションの最も少ない場合又はいくつかの乗客がない場合で運行することを可能にさせる。
【０００３】
運動計画及び制御は、自律走行の重要な動作（操作）である。しかしながら、従来の運動計画の動作は、主に経路の曲率と速度から所定の経路を完了する難度を推算したが、異なるタイプの車両の特徴の相違を考慮しなかった。通常、同一運動計画及び制御をすべてのタイプの車両に応用しているが、いくつかの場合には、正確及び平穏ではないこともある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の一態様によれば、自律走行車の元車線から目的車線への車線変更を動作させるコンピュータ実施方法を提供し、当該方法には、
前記元車線に関連するトポロジーグラフの第１の基準ノードを選択し、前記第１の基準ノードは、前記自律走行車が前記目的車線内の第２の基準ノードへ変更できる前記元車線内のノードである第１の基準ノード選択ステップと、
前記トポロジーグラフの前記第１の基準ノードに対応して前記元車線内の最早ノードを決定し、前記最早ノードにおいて、前記自律走行車が最初に前記元車線から前記目的車線へ車線変更する可能性がある最早ノード決定ステップと、
前記トポロジーグラフの前記第１の基準ノードに対応して前記元車線内の最遅ノードを決定し、前記最遅ノードの後に、前記自律走行車が前記元車線から前記目的車線へ車線変更できなくなる最遅ノード決定ステップと、
前記自律走行車が前記元車線から前記目的車線へ車線変更可能な前記元車線の範囲を決定し、前記範囲は前記元車線内の前記最早ノードから前記元車線内の前記最遅ノードまでである車線変更範囲決定ステップとを含む。
【０００５】
本発明の他の態様によれば、命令が記憶される非一時的機械可読媒体を提供し、その中で、前記命令は、プロセッサにより実行される場合、前記プロセッサに動作を実行させ、前記動作には、
前記元車線に関連するトポロジーグラフの第１の基準ノードを選択し、前記第１の基準ノードは、前記自律走行車が前記目的車線内の第２の基準ノードへ変更できる前記元車線内のノードである第１の基準ノード選択と、
前記トポロジーグラフの前記第１の基準ノードに対応して前記元車線内の最早ノードを決定し、前記最早ノードにおいて、前記自律走行車が最初に前記元車線から前記目的車線へ車線変更する可能性がある最早ノード決定と、
前記トポロジーグラフの前記第１の基準ノードに対応して前記元車線内の最遅ノードを決定し、前記最遅ノードの後に、前記自律走行車が前記元車線から前記目的車線へ車線変更できなくなる最遅ノード決定と、
前記自律走行車が前記元車線から前記目的車線へ車線変更可能な前記元車線の範囲を決定し、前記範囲は前記元車線内の前記最早ノードから前記元車線内の前記最遅ノードまでである車線変更範囲決定とを含む。
【０００６】
また、本発明の他の態様によれば、データ処理システムを提供し、その中で、プロセッサと、前記プロセッサに接続され、命令を記憶するために用いられるメモリとを備え、前記命令は、前記プロセッサにより実行される場合、前記プロセッサに動作を実行させ、前記動作には、
前記元車線に関連するトポロジーグラフの第１の基準ノードを選択し、前記第１の基準ノードは、前記自律走行車が前記目的車線内の第２の基準ノードへ変更できる前記元車線内のノードである第１の基準ノード選択と、
前記トポロジーグラフの前記第１の基準ノードに対応して前記元車線内の最早ノードを決定し、前記最早ノードにおいて、前記自律走行車が最初に前記元車線から前記目的車線へ車線変更する可能性がある最早ノード決定と、
前記トポロジーグラフの前記第１の基準ノードに対応して前記元車線内の最遅ノードを決定し、前記最遅ノードの後に、前記自律走行車が前記元車線から前記目的車線へ車線変更できなくなる最遅ノード決定と、
前記自律走行車が前記元車線から前記目的車線へ車線変更可能な前記元車線の範囲を決定し、前記範囲は前記元車線内の前記最早ノードから前記元車線内の前記最遅ノードまでである車線変更範囲決定とを含む。
【図面の簡単な説明】
【０００７】
本発明の実施形態は、図面の各図に例として非限定的に示され、図面における同一符号は、類似の構成要素（部材）を示す。
【図１】一実施形態に係るネットワークシステムを示すブロック図である。
【図２】一実施形態に係る自律走行車の一例を示すブロック図である。
【図３】一実施形態に係る自律走行車と共に使用される感知及び計画システムの一例を示すブロック図である。
【図４】一実施形態に係るトポロジーグラフの一例を示す模式図である。
【図５】一実施形態に係る感知及び計画システムの例示的な配置を示すブロック図である。
【図６】一実施形態に係る例示的なルーティングモジュールを示すブロック図である。
【図７】一実施形態に係る自律走行車が車線変更可能な範囲を決定するための例示的な手順を示すフローチャートである。
【図８】一実施形態に係る例示的なグラフビルダーを示すブロック図である。
【図９】一実施形態に係るデータ処理システムを示すブロック図である。
【発明を実施するための形態】
【０００８】
以下、説明の詳細を参照しながら、本出願の様々な実施形態及び方法を説明し、図面は、前記様々な実施形態を示す。以下の説明及び図面は、本出願を説明するためのものであり、本出願を限定するものではない。本出願の様々な実施形態を完全に把握するために、多数の特定の詳細を説明する。なお、いくつかの例では、本出願の実施形態に対する簡単な説明を提供するために、周知又は従来技術の詳細について説明していない。
【０００９】
本明細書では「一実施形態（一つの実施形態）」又は「実施形態」とは、当該実施形態について組み合わせて説明された特定特徴、構造又は特性が、本出願の少なくとも一つの実施形態に含まれてもよい。語句「一実施形態では」は、本明細書全体において同一実施形態を指すとは限らない。
【００１０】
本発明のいくつかの実施形態によれば、自律走行車が元車線から目的車線へ車線変更するために自律走行制御を提供する。トポロジカルマップを用いて、元車線から基準ノードを選択する。基準ノードに対応し、車両が最初に車線変更可能な元車線での最早ノードを決定し、かつその後に車線変更できなくなる元車線での最遅ノードを決定する。車両の車線変更可能な元車線の範囲を決定できる。
【００１１】
図１は一実施形態に係る自律走行車のネットワーク配置を示すブロック図である。図１を参照して、ネットワーク配置１００はネットワーク１０２によって１つ以上のサーバ１０３〜１０４に通信可能に接続することができる自律走行車１０１を含む。１つの自律走行車を示すが、ネットワーク１０２によって複数の自律走行車は互いに接続され、及び／又はサーバ１０３〜１０４に接続されることができる。ネットワーク１０２は、任意のタイプのネットワーク、例えば有線又は無線のローカルエリアネットワーク（ＬＡＮ）、例えばインターネット、セルラーネットワーク、衛星ネットワークの広域ネットワーク（ＷＡＮ）又はその組み合わせであってもよい。サーバ１０３〜１０４は任意のタイプのサーバ又はサーバクラスタ、例えばＷｅｂサーバ又はクラウドサーバ、アプリケーションサーバ、バックエンドサーバ又はその組み合わせであってもよい。サーバ１０３〜１０４は、データ分析サーバ、内容サーバ、交通情報サーバ、地図（マップ）及び興味のあるポイント（ＭＰＯＩ）サーバ又は位置サーバ等であってもよい。図１の実施形態では、サーバ１０３は、機械学習エンジン１２２と、データコレクタ１２１と、運転統計データ１２３と、アルゴリズム・モデル１２４とを含む。例えば、アルゴリズム・モデル１２４は、グラフベースの車線変更ガイドを含んでもよく、前記グラフベースの車線変更ガイドは、車両が適切に車線を目的車線へ変更可能な元車線の範囲を決定することに用いられる。以下、グラフベースの車線変更ガイドを作成し使用する技術をさらに詳細に説明する。
【００１２】
自律走行車とは、自律モードになるように配置できる車両を指し、前記自律モードで車両が運転者からの入力が非常に少ない又はない場合にもナビゲーションして環境を通過する。このような自律走行車は、センサシステムを含んでもよく、前記センサシステムは車両走行環境に関連する情報を検出するように配置される１つ以上のセンサを有する。前記車両及びその関連するコントローラには検出した情報を使用してナビゲーションし環境を通過する。自律走行車１０１は、手動モード、完全自律モード又は部分自律モードで運行することができる。
【００１３】
一実施形態において、自律走行車１０１は、感知及び計画システム１１０と、車両制御システム１１１と、無線通信システム１１２と、ユーザインターフェースシステム１１３と、インフォテイメントシステム１１４と、センサシステム１１５とを含むが、これらに制限されない。自律走行車１０１は、通常の車両に含まれるある一般的な構成要素（部材）、例えばエンジン、車輪、ハンドル、変速器等をさらに含んでもよく、前記構成要素は、車両制御システム１１１及び／又は感知及び計画システム１１０により多種の通信信号及び／又は命令（例えば加速度信号又は命令、減速信号又は命令、ステアリング信号又は命令、ブレーキ信号又は命令等）を使用して制御することができる。
【００１４】
構成要素１１０〜１１５は、インターコネクト、バス、ネットワーク又はそれらの組み合わせを介して互いに通信可能に接続することができる。例えば、構成要素１１０〜１１５は、コントローラローカルエリアネットワーク（ＣＡＮ）バスを介して互いに通信可能に接続することができる。ＣＡＮバスは、マイクロコントローラ及び装置がホストコンピューターのない使用において互いに通信することを許可するような車両バス標準として設計される。それはメッセージに基づくプロトコルであり、最初に自動車内における複数の電線のために設計されたが、数多くのその他の環境（状況）にも用いられる。
【００１５】
現在、図２を参照して、一実施形態において、システム２００は、自律走行車１０１の一部として実施されてもよい。システム２００は、センサシステム１１５及び制御システム１１１を含んでもよい。センサシステム１１５は、１つ以上のカメラ２１１と、全地球測位システム（ＧＰＳ）ユニット２１２と、慣性計測ユニット（ＩＭＵ）２１３と、レーダーユニット２１４と、ＬＩＤＡＲ（光検出及び測距）ユニット２１５とを含むが、これらに制限されない。ＧＰＳシステム２１２は、送受信機を含んでもよく、前記送受信機は、自律走行車の位置に関する情報を提供するように動作することができる。ＩＭＵユニット２１３は、慣性加速度に基づいて自律走行車の位置及び方向変化を感知することができる。レーダーユニット２１４は、無線信号を利用して自律走行車のローカル環境内の対象を感知するシステムを示すことができる。いくつかの実施形態において、対象を感知する以外、レーダーユニット２１４は、さらに対象の速度及び／又は進行方向を感知することができる。ＬＩＤＡＲユニット２１５はレーザを使用して自律走行車の所在する環境における対象を感知することができる。その他のシステム構成要素以外、ＬＩＤＡＲユニット２１５は１つ以上のレーザ光源、レーザースキャナ及び１つ以上の検出器をさらに含んでもよい。カメラ２１１は、自律走行車の周辺環境の画像をキャプチャするための１つ以上の装置を含んでもよい。カメラ２１１は、スチルカメラ及び／又はビデオカメラであってもよい。カメラは、例えば回転及び／又は傾斜のプラットフォームに取り付けられる、機械的に移動可能なものであってもよい。
【００１６】
センサシステム１１５は、その他のセンサ、例えばソナーセンサ、赤外線センサ、ステアリングセンサ、スロットルセンサ、ブレーキセンサ、及びオーディオセンサ（例えばマイクロフォン）をさらに含んでもよい。オーディオセンサは、自律走行車周辺の環境から音をキャプチャするように配置されてもよい。ステアリングセンサは、ハンドル、車両の車輪又はその組み合わせのステアリング角を感知するように配置できる。スロットルセンサ及びブレーキセンサは、それぞれ車両のスロットル位置及びブレーキ位置を感知する。いくつかの場合、スロットルセンサ及びブレーキセンサは、集積型スロットル／ブレーキセンサに一体化されてもよい。
【００１７】
一実施形態において、車両制御システム１１１は、ステアリングユニット２０１と、スロットルユニット２０２（加速ユニットとも呼ばれる）と、ブレーキユニット２０３とを含むが、これらに制限されない。ステアリングユニット２０１は、車両の方向又は進行方向を調整することに用いられる。スロットルユニット２０２は、モーター又はエンジンの速度を制御して、続いて車両の速度及び加速度を制御することに用いられる。ブレーキユニット２０３は、摩擦を提供することによって車両の車輪又はタイヤをスローダウンして車両を減速させることに用いられる。注意すべきなのは、図２に示すような構成要素はハードウェア、ソフトウェア又はその組み合わせで実現されることができる。
【００１８】
図１を再び参照して、無線通信システム１１２は、自律走行車１０１と、例えば装置、センサ、その他の車両等の外部システムとの間に通信することを許可する。例えば、無線通信システム１１２は、１つ以上の装置に直接に又は通信ネットワークを介して無線通信し、例えばネットワーク１０２によってサーバ１０３〜１０４に通信することができる。無線通信システム１１２は、任意のセルラー通信ネットワーク又は無線ローカルエリアネットワーク（ＷＬＡＮ）（例えばＷｉＦｉ）を使用して他の構成要素やシステムに通信できる。無線通信システム１１２は、例えば赤外線リンク、ブルートゥース（登録商標）等を使用して装置（例えば、乗客の移動装置、表示装置、車両１０１内のスピーカー）に直接に通信できる。ユーザインターフェースシステム１１３は、車両１０１内で実行される周辺装置の一部であってもよく、例えばキーボード、タッチスクリーンディスプレイ装置、マイクロフォン、及びスピーカー等を含む。
【００１９】
一実施形態によれば、自律走行車１０１は、情報及び娯楽を車両１０１の乗客に提供するためのインフォテイメントシステム１１４をさらに含んでもよい。ローカル及び／又は遠隔的に記憶された内容情報に基づいて、前記情報及び娯楽内容を受信し、コンパイルし、レンダリングしてもよい（例えば、サーバ１０３〜１０４によって提供する）。例えば、情報は、ネットワーク１０２を介してサーバ１０３〜１０４のいずれかからリアルタイムにストリーミングされて車両１０１の表示装置に表示されてもよい。前記情報は、例えば１つ以上のカメラでリアルタイムにキャプチャしたローカル情報を利用して強化されてもよく、かつ強化された内容は、その後仮想現実で表示できる。
【００２０】
自律走行車１０１の一部又は全ての機能は、特に自律運転モードで動作する場合、感知及び計画システム１１０により制御したり管理したりすることができる。感知及び計画システム１１０は、必要なハードウェア（例えば、プロセッサ、メモリ、メモリ）、及びソフトウェア（例えば、オペレーティングシステム、計画、及び経路プログラム）を含み、センサシステム１１５、制御システム１１１、無線通信システム１１２、及び／又はユーザインターフェースシステム１１３から情報を受信し、受信された情報を処理し、出発地から目的地までの経路やルートを計画し、そして計画及び制御情報に基づいて車両１０１を運転させる。あるいは、感知及び計画システム１１０と車両制御システム１１１とは一体化されてもよい。
【００２１】
例えば、乗客のユーザとして、例えばユーザインターフェースによって旅程の出発位置及び目的位置を指定することができる。出発位置及び目的位置は、それぞれ図４のトポロジカルマップにおけるノード、例えばノード４２２及び４０８として表されてもよい。多目的地プログラミングもサポートされてもよい。感知及び計画システム１１０は旅関連データを取得する。例えば、感知及び計画システム１１０は、ＭＰＯＩサーバから位置及び経路情報を取得することができ、前記ＭＰＯＩサーバはサーバ１０３〜１０４の一部であってもよい。位置サーバは、位置サービスを提供し、かつＭＰＯＩサーバはマップサービス及びある位置のＰＯＩを提供する。あるいは、このような位置及びＭＰＯＩ情報は、感知及び計画システム１１０の不揮発性メモリにローカルでキャッシュされることができる。
【００２２】
自律走行車１０１がルートに沿って移動する際に、感知及び計画システム１１０は、さらに交通情報システムやサーバ（ＴＩＳ）からリアルタイム交通情報を取得できる。注意すべきなのは、サーバ１０３〜１０４は、第三者エンティティにより動作できる。あるいは、サーバ１０３〜１０４の機能は、感知及び計画システム１１０と一体化されてもよい。リアルタイム交通情報、ＭＰＯＩ情報、位置情報、及びセンサシステム１１５が検出又は感知したリアルタイムなローカル環境データ（例えば、障害物、対象、付近車両）に基づいて、感知及び計画システム１１０は、安全で効果的に指定した目的地に到達するように、最適なルートを計画し、かつ計画したルートにより例えば制御システム１１１を介して車両１０１を運転することができる。
【００２３】
最適なルートの計画及び車両１０１の運転は、元車線から目的車線までの車線変更を計画することをさらに含んでもよい。このような車線変更のルートを計画するために、一実施形態において、地図からの情報に基づきトポロジーグラフを構築する。前記トポロジーグラフは道路図としてみなされてもよく、データ分析システム（例えば、データ分析システム１０３）によりオフラインで生成されてもよい。前記図は、トポロジー情報を含むため、その寸法が地図自体より小さくてもよい。前記図は、その後に車線変更情報を生成してもよい。図８を参照してトポロジカルマップの生成を詳細に検討し、かつ図４を参照してトポロジーグラフの一例を詳細に説明する。
【００２４】
一実施形態において、トポロジーグラフ（例えば、グラフ４００）は、前記図における各車線の中心に位置する線（例えば、中心線４０２、４０４）を大体に含むように生成される。一実施形態において、中心線は、車線の中心に沿って所定間隔のある箇所に位置するノードを含んでもよい。中心線は、例えば３．５メートルごとの間隔をおいたノードを含んでもよい。車線変更のルートを決定するために、元車線から元車線内のノードと対応するポイント（例えば、４１０）を選択してもよい。このポイントは、その後に目的車線Ｂ内のノードに投影してもよい。一実施形態において、投影されたノードは、車両１０１が元車線Ａから位置を変更して到着した目的車線Ｂ内の直近ノード（例えば、４１２）である。
【００２５】
元車線内の第１ノードから目的車線内の直近ノードまでのエッジは、車両１０１が車線変更するためのルートと見なされてもよい。従って、第１ノードは、車両１０１が車線変更する元車線内のポイントと見なされてもよい。しかしながら、いくつかの場合に、その車両１０１が、単一ノードではなく、車線変更可能な元車線の範囲を提供することに有益である。例えば、実際に、車両１０１が正確な地点で車線変更できない可能性がある。この他、センサシステム１１５により検出され又は感知されたリアルタイムな交通とリアルタイムなローカル環境データに鑑みて、計画されたルートが新たに作られる必要がある。さらに、リアルタイムな交通及びリアルタイムなローカル環境データに基づいて、車両１０１は、選択された第１ノードの前に又は選択された第１ノードの後に車線変更してもよく、例えば、車両１０１が減速して他の車両に目的車線を通過させ、あるいは車両１０１が加速して目的車線内の他の車両の前面に車線変更する場合が挙げられる。
【００２６】
本明細書に記載された実施形態により、通常に車線内のポイントの間の車線レベルのルートを決定できる可能性がある重み付きトポロジカルマップを提供する可能性がある。毎回の車線変更のためのガイド情報を含む正確なルート情報は、感知及び計画システム１１０に提供でき、従来の方法より出発ポイントから目的ポイントまでのルートをより容易により迅速かつ効率的に計画できる。一実施形態において、車線変更ガイド情報は、車両１０１が元車線から目的車線へ車線変更可能な元車線の範囲を含む。一実施形態において、車線変更ガイド情報は、車両１０１が元車線から目的車線へ車線変更可能な目的車線の範囲を含む。通常、ルート（例えば、交通渋滞を検出すれば）を改めて設定するルーティングモジュール、及びエネルギー利用を配慮することで乗り継ぎ地点（例えば、給油所又は充電所）を有するインテリジェントルートを提供する。一実施形態において、ユーザによりルート好みをカスタマイズできる。
【００２７】
図３は、一実施形態に係る自律走行車１０１と共に使用される感知及び計画システム３００の例を示すブロック図である。システム３００は、図１の自律走行車１０１の一部（感知及び計画システム１１０、制御システム１１１及びセンサシステム１１５を含むが、これらに制限されない）となるように実現されることができる。図３を参照し、感知及び計画システム１１０は、位置決めモジュール３０１と、感知モジュール３０２と、決定モジュール３０３と、計画モジュール３０４と、制御モジュール３０５と、ルーティングモジュール３０６とを含むが、これらに制限されない。
【００２８】
モジュール３０１〜３０６における一部又は全部は、ソフトウェア、ハードウェア又はその組み合わせで実現されてもよい。例えば、これらのモジュールは、永続的記憶装置３５２に取り付けられ、メモリ３５１にロードされ、かつ１つ以上のプロセッサ（図示せず）により実行されてもよい。注意すべきなのは、これらのモジュールにおける一部又は全部は、図２の車両制御システム１１１の一部又は全部のモジュールに通信可能に接続されてもよく、一体化されてもよい。モジュール３０１〜３０６における一部は、一緒に集積モジュールとして一体化されてもよい。
【００２９】
位置決めモジュール３０１（地図及びルーティングモジュールとも言われる）は、ユーザの旅程又はルートに関連する任意のデータを管理する。ユーザは、例えばユーザインターフェースを介してログインするとともに旅程の出発位置及び目的位置を指定してもい。位置決めモジュール３０１は、旅程に関連するデータを取得するように、システム３００のその他の構成要素（例えば地図及びルート情報３１１）と通信する。例えば、位置決めモジュール３０１は、位置サーバと、地図及びＰＯＩ（ＭＰＯＩ）サーバから位置及びルート情報を取得することができる。位置サーバは、位置サービスを提供し、かつＭＰＯＩサーバは、地図及びルート情報３１１の一部としてキャッシュされてもよい地図サービスと特定な位置のＰＯＩとを提供する。システム３００を含む自律走行車がルートに沿って移動する場合、位置決めモジュール３０１は、さらに交通情報システムやサーバからリアルタイム交通情報を取得することができる。
【００３０】
センサシステム１１５により提供されたセンサデータ、及び位置決めモジュール３０１により得られた位置決め情報に基づいて、感知モジュール３０２は周辺環境に対する感知を決定する。感知情報は、普通の運転者が自分で運転している車両周辺から感知したもの（状況）を示すことができる。感知は、例えば対象形式で現される車線配置（例えば、ストレート又はカーブ）、トラフィック信号、他の車両の相対位置、歩行者、建築物、横断歩道又はその他の交通関連標識（例えば、停止標識、譲り標識）などを含んでもよい。
【００３１】
感知モジュール３０２は、コンピュータビジョンシステム又はコンピュータビジョンシステムの機能を含んでもよく、自律走行車環境における対象及び／又は特徴を認識するように、１つ以上のカメラによりキャプチャされた画像を処理及び分析することに用いられる。前記対象は交通信号、車道の境界線、他の車両、歩行者及び／又は障害物等を含んでもよい。コンピュータビジョンシステムは、対象認識アルゴリズム、ビデオトラッキング及びその他のコンピュータビジョン技術を使用することができる。いくつかの実施形態において、コンピュータビジョンシステムは、環境をマッピングし、対象を追跡し、かつ対象の速度を推定することなどができる。感知モジュール３０２は、その他のセンサ（例えばレーダーユニット２１４及び／又はＬＩＤＡＲユニット２１５）により提供されたその他のセンサデータに基づいて対象を検出することもできる。
【００３２】
それぞれの対象に対して、決定モジュール３０３は、如何に対象を処理する決定をする。例えば、特定な対象（例えば、交差ルートにおける他の車両）及び対象を記述するメタデータ（例えば、速度、方向、ステアリング角）に対して、決定モジュール３０３は、遇う対象に如何に対応する（例えば、追い越し、道譲り、停止、通過）ことを決定する。決定モジュール３０３は、永続的記憶装置３５２に記憶されてもよい１セットのルール（例えば運転／交通ルール３１２）に基づきこのような決定をすることができる。
【００３３】
感知したそれぞれ対象に対する決定に基づいて、計画モジュール３０４は、自律走行車のために経路又はルート及び運転パラメータ（例えば、距離、速度及び／又はステアリング角）を計画する。すなわち、所定対象に対して、決定モジュール３０３は前記対象に対して如何に対応するかを決定し、計画モジュール３０４は如何に実行するかを決定する。例えば、所定対象に対して、決定モジュール３０３は、前記対象を追い越すことを決定することができ、計画モジュール３０４は、前記対象の左側に追い越すか、右側に追い越すかを決定することができる。計画モジュール３０４は、計画及び制御データを生成し、システム３００を含む車両１０１が次の移動周期（例えば、次のルート／経路セグメント）に如何に移動するかを記述する情報を含む。例えば、計画及び制御データはシステム３００を含む車両１０１が毎時間３０マイル（ｍｐｈ）の速度で１０メートル移動し、次に２５ｍｐｈの速度で右車線まで変わることを指示することができる。
【００３４】
計画及び制御データに基づいて、制御モジュール３０５は計画及び制御データにより定義されたルート又は経路に基づいて、車両制御システム１１１へ適切な命令又は信号を送信することによって自律走行車を制御及び運転する。前記経路又はルートに沿って違う場所で適時に適切な車両設置又は駆動パラメータ（例えば、スロットル、ブレーキ及びステアリング命令）を使用して車両を第１点から第２点まで運転するように、計画及び制御データは十分な情報を含む。
【００３５】
注意すべきなのは、決定モジュール３０３及び計画モジュール３０４は、集積モジュールに一体化されてもよい。決定モジュール３０３／計画モジュール３０４は、自律走行車の運転経路を決定するために、ナビゲーションシステム又はナビゲーションシステムの機能を含んでもよい。例えば、ナビゲーションシステムは、自律走行車が以下の経路に沿って移動することを実現するための一連の速度及びディレクショナ進行方向を決定することができ、前記経路は、自律走行車を総体的に最終目的位置を向けて通じる車線経路に進ませると同時に、基本的に感知された障害物を避けることができる。目的地はユーザインターフェースシステム１１３により実現されたユーザ入力に基づいて設置できる。ナビゲーションシステムは、自律走行車が走行していると同時に走行経路を動的に更新することができる。ナビゲーションシステムは、自律走行車用の走行経路を決定するように、ＧＰＳシステム及び１つ以上の地図からのデータを合併することができる。
【００３６】
決定モジュール３０３／計画モジュール３０４は、自律走行車環境における潜在障害物を、認識・評価・回避又はその他の方式で迂回するために、衝突回避システム又は衝突回避システムの機能をさらに含んでもよい。例えば、衝突回避システムは、以下の方式によって自律走行車のナビゲーションにおける変更を実現することができ、制御システム１１１の中の１つ以上のサブシステムを動作してターン操縦、ステアリング操縦、ブレーキ操縦等を採る。衝突回避システムは、周辺の交通モード、道路状況等に基づいて障害物を回避可能な操縦を自動的に決定することができる。衝突回避システムは、その他のセンサシステムは、自律走行車がターンして入ろうとする隣接領域における車両、建築障害物等を検出する際にターン操縦を採らないように配置できる。衝突回避システムは、使用可能でありかつ自律走行車の乗員の安全性を最大化させる操縦を自動的に選択することができる。衝突回避システムは、自律走行車の乗員室内で最小の加速度を出現させることが予測された回避操縦を選択することができる。
【００３７】
ルーティングモジュール３０６は、地図及びルート情報３１１を入力として受信してもよい。ルーティングモジュール３０６により提供されたルート情報は、車両が車線変更可能な元車線及び目的車線の範囲を含むルートにおける各車線変更のガイド情報を含んでもよい。一実施形態において、トポロジーグラフグラフ４００における車線内の各中心線がセグメントに分割される。ルーティングモジュール３０６は、トポロジーグラフグラフ４００に含まれた、車線変更の方向を含む付加的情報に基づき車線の中心線のセグメントを大体にマージしてもよい。従って、ルーティングモジュール３０６が地図及びルート情報３１１に基づき元車線と目的車線との間の車線変更用の車線変更ガイド情報を提供する。一実施形態において、ルーティングモジュール３０６はトポロジーグラフ３１３を生成する。ルーティングモジュール３０６は、車両の車線変更可能な元車線及び目的車線の範囲を検出する。ルーティングモジュール３０６は、前記範囲に関連する情報と、地図及びルート情報３１１とを組み合わせ、かつ組み合わせた情報をフォーマットユニットに出力する。
【００３８】
図６を参照し、ルーティングモジュール３０６の一部として実施されてもよいシステム６００の例示的な実施形態を詳細に説明する。図６に示す通り、ルーティングモジュール３０６は、グラフＡＰＩ  ６０２と、ガイドユニット６０４と、フォーマットユニット６０６とを含んでもよい。ガイドユニット６０４は、ルート結果を入力として受信し、かつ本明細書において図７を参照しながら詳細に説明した過程を実行する。フォーマットユニット６０６は、図７を参照しながら説明した過程の結果出力を入力として受信し、それを感知及び計画システム１１０と互換可能なフォーマットに切り替え、かつ切り替えられた出力を感知及び計画システム１１０に伝送する。
【００３９】
一実施形態において、要求がルーティングモジュール３０６に到着する時、ルーティングモジュール３０６は、コンテキストを解析してあらゆる論拠をグラフＡＰＩ  ６０２に伝送し、その後にルート結果をガイドユニット６０４に伝送してもよい。グラフＡＰＩ  ６０２は、グラフタイプに応じてノードとエッジを作成するように構築された図面ローダと、統一した入力／出力で図７のアルゴリズムを実行するように構築されたポリシ部品と、具体的なテーマによりルート結果を発表するように構築されたｂａｎｓｈｅｅ部品とを含んでもよい。一実施形態において、グラフＡＰＩ  ６０２は、地図データをトポロジーグラフ（例えば、グラフ４００）に変換するオフライン変換器を含んでもよい。
【００４０】
図８は、グラフＡＰＩ  ６０２の一部として実施されてもよいシステム８００の一例を示す。図８に示す通り、システム８００は、地図８０１を入力として受信する車線プロセッサ８０２と、ノードビルダー８０３と、エッジビルダー８０４とを含んでもよく、それにより、グラフ８０５（例えば、グラフ４００であってもよい）を生成する。一実施形態において、地図８０１、車線プロセッサ８０２に基づき車線の特徴を抽出して識別子で車線をインデキシングする。ノードビルダー８０３は、所定間隔で各車線をサンプリングして、地理情報を選択し、トポロジーグラフのノードを構築し、かつ識別子をノードのそれぞれに割り当てる。一実施形態において、間隔が３．５メートルであってもよい。エッジビルダー８０４は、各車線の通過可能性を決定し（すなわち、車両が前記車線を横切ることができるかどうかを決定する）、２つの実現可能なノード（すなわち、車両がそれらの間に車線変更可能な一対のノードである）の間のエッジを描き、かつエッジ重み（Ｅｄｇｅ  ｗｅｉｇｈｔ）を計算する。
【００４１】
具体的には、各車線に対して、車線の境界のうちの１つが通過可能である場合、距離の所定間隔でノードを生成する。車線の長さが間隔の長さより小さい場合、車線のエンドポイントがそれらのノードとして指示されてもよい。一実施形態において、各車線に対して、最遅ノードと後続車線の第１ノードとの間にエッジを描く。一実施形態において、各車線に対して、ノードを分類し、その後に元車線のノードと目的車線の隣接するノードとの間にエッジを描く。一実施形態において、各車線に対して、車線及び前記車線の後続車線がチェックリスト又はテーブルとして記憶される。
【００４２】
一実施形態において、前記チェックリスト又はテーブルには、車線内の各車線識別子が記憶されてもよく、かつ各車線のノード及び対応するノード識別子が記憶されてもよい。一実施形態において、元車線内の各ノードに対して、ノード間隔を配慮しながら、前記ノードを目的車線内のノードに投影する。一実施形態において、投影に成功しかつ該方向での車線境界が通過可能であると決定する場合、元車線内のノードから目的車線内のノードまでのエッジを描く。一実施形態において、前記チェックリスト又はテーブルは、順方向及び逆方向における二分探索を用いて最適化することができる。
【００４３】
エッジビルダー８０４及びノードビルダー８０３からの情報を組み合わせ、それによりグラフ８０５を生成する。一実施形態において、グラフ８０５は例えばグラフ４００の図面であってもよい。
【００４４】
一実施形態において、システム８００がグラフ８０５をオフラインで生成する。一実施形態において、２つの実現可能なノードの間の車線変更方向を示す付加的情報を図面のエッジ属性とすることを含む。グラフ８０５は、その後にルーティングモジュール３０６により使用できる。
【００４５】
次に、図５を参照し、図５は一実施形態に係る自律走行車１０１と共に使用できる例示的なシステム５００を示すブロック図である。具体的には、システム５００は、図３のシステム３００を参照しながら説明した部品のうちのいくつかの部品の間の通信接続の一例を示す。図５に示す通り、決定モジュール３０３は、センサモジュール１１５、感知モジュール３０２及びルーティングモジュール３０６から入力を受信する。位置決めモジュール３０１、感知モジュール３０２及び計画モジュール３０４も、ルーティングモジュール３０６から入力を受信する。制御モジュール３０５は、計画モジュール３０４から入力を受信して車両を制御し運転させる。本明細書に前に説明した通り、図５に示されないが、ルーティングモジュール３０６は、地図及びルート情報３１１を入力として受信してもよい。また、一実施形態において、ルーティングモジュール３０６は地図ライブラリに出力し、前記地図ライブラリは決定モジュール３０３及び計画モジュール３０４とを通信する。
【００４６】
注意すべきなのは、前記の言及された一部又は全部の構成要素（部材）は、ソフトウェア、ハードウェア又はその組み合わせで実現できる。例えば、このような構成要素は、永続的記憶装置（不揮発性メモリ）にインストールされるとともに記憶されたソフトウェアとして実現されてもよく、前記ソフトウェアは、プロセッサ（図示せず）でメモリには、本出願にわたって記載の過程又は動作を実施するようにロードして実行されてもよい。あるいは、このような構成要素は、専用ハードウェア（例えば、集積回路（例えば専用集積回路又はＡＳＩＣ）、デジタル信号プロセッサ（ＤＳＰ）、又はフィールドプログラマブルゲートアレイ（ＦＰＧＡ））にプログラミングされ又は嵌め込みされた実行可能なコードとして実現されてもよく、前記実行可能なコードは、アプリケーションからの対応するドライバープログラム及び／又はオペレーティングシステムによってアクセスされてもよい。なお、このような構成要素は、プロセッサ又はプロセッサコアにおける特定のハードウェアロジックとして実現されてもよく、ソフトウェア構成要素が１つ以上の特定命令によってアクセスできる命令セットの一部とする。
【００４７】
図７は、一実施形態に係る自律走行車が車線変更可能な範囲を決定する過程を説明するフローチャートである。過程７００は処理ロジックにより実行されてもよく、前記処理ロジックは、ハードウェア（例えば、回路、専用ロジック等）、ソフトウェア（例えば、非一時的なコンピュータ可読媒体に具現化される）又はそれらの組み合わせを含む。例えば、過程７００は図３のルーティングモジュール３０６により実行されてもよい。
【００４８】
図４及び図７を参照し、自律走行車は、出発位置（例えば、位置４２２）から目的位置（例えば、位置４０８）までの経路に位置してもよい。前記経路に沿って移動する場合、車両が中心線４０２を有する元車線Ａから、中心線４０４を有する目的車線Ｂへ車線変更しようとする可能性がある。ブロック７０１において、元車線Ａから第１の基準ノード（例えば、ノード４１０）を選択する。第１の基準ノード４１０は、選択により元車線Ａから目的車線Ｂへ車線変更する対応ノード（例えば、ノード４１２）の理想的な又は最適なポイントであってもよい。例えば、第１の基準ノード４１０は、システムに対して対応ノード４１２へ車線変更するコストの最も低いポイントである。一実施形態において、最小コストアルゴリズム又は最短ルートアルゴリズムを用いて第１の基準ノード４１０を選択して、車線変更の最適なポイントを見つける。一実施形態において、赤黒木（Ｒｅｄ−Ｂｌａｃｋ  ｔｒｅｅ）を用いて第１の基準ノードを選択して、車線変更の最適なポイントを見つける。一実施形態において、マンハッタン距離を発見的関数として第１の基準ノードを選択して、車線変更の最適なポイントを見つける。一実施形態において、ユークリッド距離をコスト関数として第１の基準ノードを選択する。
【００４９】
ブロック７０２において、元車線Ａにおける最遅ノード（例えば、ノード４１４）を決定し、前記最遅ノードの後に車両が車線変更できなくなる。一実施形態において、目的車線Ｂの対応ノードを備えていない元車線Ａのノード（例えば、ノード４１４）を見つけたまで、第１の基準ノード４１０の後の元車線Ａの各ノードに対して条件付き幅優先検索を順に行い、前記対応ノードは自律走行車が元車線Ａのノードから目的車線Ｂのノードへ車線変更してもよい。換言すれば、このような元車線Ａのノードを見つけた（すなわち、目的車線Ｂのルートにおいてその目的車線Ｂにおける対応ノードがなくなる）まで、検索を実行する。従って、現在ノードが目的車線Ｂの中心線４０４におけるノードに通じる実現可能なエッジを持たなくなるまで、第１の基準ノード４１０から元車線Ａのノードを順方向（フォワード）に検索する。
【００５０】
車線がセグメントに分割されている実施形態において、元車線Ａのセグメントが第１の基準ノード４１０と最遅ノード４１４との間にマージする。一実施形態において、目的車線Ｂの長さのセグメントは、各セグメントにおけるそれぞれの対応する識別子と共にテーブルに記憶される。前記テーブルには、車両が目的車線Ａから目的車線Ｂへ車線変更可能なノードが記憶されてもよい。一実施形態において、前記テーブルはハッシュテーブルであってもよい。一実施形態において、ノードの検索順次もテーブルに示される。
【００５１】
ブロック７０３において、車両が最初に車線変更することが可能である元車線Ａでの最早ノード（例えば、４１６）を決定する。元車線Ａのマージされたセグメントに基づいて、元車線Ａでの長さを決定する。一実施形態において、元車線のマージされたセグメントの長さに対応する長さにおいて、ノード４１２の前の目的車線Ｂにおける各ノードに対して条件付き幅優先検索を順に実行する。前記長さについてノード４１２の前に検索された目的車線Ｂの各ノードと、対応するノード識別子と共に、ルックアップテーブルに記憶される。ルックアップテーブルに記憶される目的車線Ｂの対応ノードを持たさない元車線Ａでのノード（例えば、４１６）を見つけたまで、元車線Ａのノードがノード４１４から逆方向に反復（逐次代入）する。これは車両が車線変更可能な最早ノード４１６である。
【００５２】
ブロック７０４において、自律走行車が元車線から目的車線へ車線変更可能な元車線Ａの範囲を決定し、前記範囲がブロック７０３において決定された元車線内の最早ノードからブロック７０２において決定された元車線内の最遅ノードまでに限定される。一実施形態において、元車線Ａの範囲に基づいて、車両が車線変更可能な目的車線Ｂの範囲を決定する。元車線の範囲は、その後に計画モジュール３０４及び／又は制御モジュール３０５により車両が元車線から目的車線へ変更するように制御することに用いられてもよい。例えば、計画モジュール３０４及び／又は制御モジュール３０５は、所定の元車線の範囲に基づき車線変更の時期、車線変更の速度及び車線変更の距離等を決定することができる。
【００５３】
図９は、本出願の一実施形態と組み合わせて使用されるデータ処理システムを例示的に示すブロック図である。例えば、システム９００は、上記手順又は方法のいずれか（例えば、ルーティングモジュール３０６に実行された手順、及び図７に基づく検討の方法）を実行する上記任意のデータ処理システムを示してもよい。システム９００は、多数の異なる構成要素を含んでもよい。これらの構成要素は、集積回路（ＩＣ）、集積回路の一部、分散型電子装置又は回路基板に適用された他のモジュール（例えばコンピュータシステムのマザーボード又はアドインカード）、又は他の方式でコンピュータシステムのシャシーに組み込まれた構成要素として実現されることができる。
【００５４】
さらに、システム９００は、コンピュータシステムの多数の構成要素の高レベルビューを示すことを目的とする。しかしながら、いくつかの実現形態では、付加的構成要素が存在する場合があることを理解すべきである。また、他の実現形態において示される構成要素が異なる配置を有してもよい。システム９００は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ、携帯電話、メディアプレーヤー、パーソナルディジタルアシスタント（ＰＤＡ）、スマート腕時計、パーソナルコミュニケーター、ゲーム装置、ネットワークルータ又はハブ、無線アクセスポイント（ＡＰ）又はリピーター、セットトップボックス、又はそれらの組合せを示してもよい。また、単一の機器又はシステムのみを示したが、用語「機器」又は「システム」は、さらに、独立又は共同で１つ（又は複数）の命令セットを実行することにより本明細書に説明される任意の１種又は複数種の方法を実行する機器又はシステムの任意のセットを含むことを理解すべきである。
【００５５】
一実施形態において、システム９００は、バス又は相互接続部材１５１０によって接続されたプロセッサ１５０１、メモリ１５０３及び装置１５０５〜１５０８を備える。プロセッサ１５０１は、単一のプロセッサコア又は複数のプロセッサコアを含む単一のプロセッサ又は複数のプロセッサであってもよい。プロセッサ１５０１は、マイクロプロセッサ、中央処理装置（ＣＰＵ）等のような１つ又は複数の汎用プロセッサであってもよい。より具体的には、プロセッサ１５０１は、複雑命令セット計算（ＣＩＳＣ）マイクロプロセッサ、縮小命令セットコンピュータ（ＲＩＳＣ）マイクロプロセッサ、超長命令語（ＶＬＩＷ）マイクロプロセッサ、又は他の命令セットを実現するプロセッサ、又は命令セットの組合せを実現するプロセッサであってもよい。プロセッサ１５０１は、さらに、専用集積回路（ＡＳＩＣ）、セルラ又はベースバンドプロセッサ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタル信号プロセッサ（ＤＳＰ）、ネットワークプロセッサ、グラフィックプロセッサ、通信プロセッサ、暗号プロセッサ、コプロセッサ、組み込みプロセッサのような１つ又は複数の専用プロセッサ、あるいは命令処理可能な任意の他のタイプのロジックであってもよい。
【００５６】
プロセッサ１５０１（超低電圧プロセッサのような低電力マルチコアプロセッサソケットであってもよい）は、前記システムの各種構成要素と通信するための主処理ユニット及び中央ハブとして用いられてもよい。このようなプロセッサは、システムオンチップ（ＳｏＣ）として実現されることができる。プロセッサ１５０１は、命令を実行することにより本明細書に説明される動作及びステップを実行するための命令を実行するように構成される。また、システム９００は、選択可能なグラフィックサブシステム１５０４と通信するグラフィックインターフェースをさらに含み、グラフィックサブシステム１５０４は、表示コントローラ、グラフィックプロセッサ及び／又は表示装置をさらに備えてもよい。
【００５７】
プロセッサ１５０１は、メモリ１５０３と通信してもよく、メモリ１５０３は、一実施形態において複数のメモリによって所定量のシステムメモリを提供する。メモリ１５０３は、ランダムアクセスメモリ（ＲＡＭ）、動的ＲＡＭ（ＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、静的ＲＡＭ（ＳＲＡＭ）又は他のタイプのメモリのような１つ又は複数の揮発性記憶装置（又はメモリ）を備えてもよい。メモリ１５０３は、プロセッサ１５０１又は任意の他の装置により実行される命令列を含む情報を記憶できる。例えば、複数種のオペレーティングシステム、装置ドライバー、ファームウェア（例えば、基本入出力システム又はＢＩＯＳ）及び／又はアプリケーションの実行可能なコード及び／又はデータはメモリ１５０３にロードされてもよく、プロセッサ１５０１により実行される。オペレーティングシステムは、ロボットオペレーティングシステム（ＲＯＳ）、Ｍｉｃｒｏｓｏｆｔ（登録商標）会社からのＷｉｎｄｏｗｓ（登録商標）オペレーティングシステム、アップル会社からのＭａｃ  ＯＳ（登録商標）／ｉＯＳ（登録商標）、Ｇｏｏｇｌｅ（登録商標）会社からのＡｎｄｒｏｉｄ（登録商標）、Ｌｉｎｕｘ（登録商標）、Ｕｎｉｘ（登録商標）又は他のリアルタイム又は組み込みオペレーティングシステムのような任意のタイプのオペレーティングシステムであってもよい。
【００５８】
システム９００は、Ｉ／Ｏ装置、例えば装置１５０５〜１５０８をさらに備えてもよく、ネットワークインターフェース装置１５０５、選択可能な入力装置１５０６及び他の選択可能なＩ／Ｏ装置１５０７を備える。ネットワークインターフェース装置１５０５は、無線送受信機及び／又はネットワークインターフェースカード（ＮＩＣ）を備えてもよい。前記無線送受信機は、ＷｉＦｉ送受信機、赤外送受信機、ブルートゥース（登録商標）送受信機、ＷｉＭａｘ送受信機、無線セルラーホン送受信機、衛星送受信機（例えば、全地球測位システム（ＧＰＳ）送受信機）又は他の無線周波数（ＲＦ）送受信機又はそれらの組合せであってもよい。ＮＩＣはイーサネット（登録商標）カードであってもよい。
【００５９】
入力装置１５０６は、マウス、タッチパッド、タッチスクリーン（それは表示装置１５０４と一体化されてもよい）、ポインタデバイス（例えばスタイラス）及び／又はキーボード（例えば、物理キーボード又はタッチスクリーンの一部として表示された仮想キーボード）を備えてもよい。例えば、入力装置１５０６は、タッチスクリーンに接続されるタッチスクリーンコントローラを含んでもよい。タッチスクリーン及びタッチスクリーンコントローラは、例えば複数種のタッチ感度技術（容量、抵抗、赤外及び表面音波の技術を含むが、それらに限定されない）のいずれか、及びタッチスクリーンの１つ又は複数の接触点を決定するための他の近接センサアレイ又は他の素子を用いてそのタッチ点及び移動又は断続を検出することができる。
【００６０】
Ｉ／Ｏ装置１５０７は音声装置を備えてもよい。音声装置は、スピーカ及び／又はマイクロホンを含んでもよく、それにより音声認識、音声コピー、デジタル記録及び／又は電話機能のような音声サポートの機能を促進する。他のＩ／Ｏ装置１５０７は、汎用シリアルバス（ＵＳＢ）ポート、パラレルポート、シリアルポート、印刷機、ネットワークインターフェース、バスブリッジ（例えば、ＰＣＩ−ＰＣＩブリッジ）、センサ（例えば、加速度計、ジャイロスコープ、磁力計、光センサ、コンパス、近接センサ等のような動きセンサ）又はそれらの組合せをさらに備えてもよい。装置１５０７は、結像処理サブシステム（例えば、カメラ）をさらに備えてもよく、前記結像処理サブシステムは、カメラ機能（例えば、写真及びビデオ断片の記録）を促進するための電荷カップリング装置（ＣＣＤ）又は相補型金属酸化物半導体（ＣＭＯＳ）光学センサのような光学センサを備えてもよい。あるセンサは、センサハブ（図示せず）によって相互接続部材１５１０に接続されてもよく、キーボード又は熱センサのような他の装置は、組み込みコントローラ（図示せず）により制御されてもよく、これはシステム９００の特定配置又は設計により決められる。
【００６１】
データ、アプリケーション、１つ又は複数のオペレーティングシステム等のような情報の永続的記憶を提供するために、大容量メモリ（図示せず）は、プロセッサ１５０１に接続されてもよい。様々な実施形態において、薄型化と軽量化のシステム設計を実現しかつシステムの応答能力を向上させるために、このような大容量メモリは、ソリッドステート装置（ＳＳＤ）によってされることが実現できる。なお、他の実施形態において、大容量メモリは、主にハードディスクドライブ（ＨＤＤ）で実現されてもよく、少量のＳＳＤ記憶量は、ＳＳＤキャッシュとして停電イベント期間にコンテキスト状態及び他のこのような情報の不揮発性記憶を実現し、それによりシステム動作が再開する時に通電を速く実現することができる。さらに、フラッシュデバイスは、例えばシリアルペリフェラルインターフェース（ＳＰＩ）によってプロセッサ１５０１に接続されてもよい。このようなフラッシュデバイスは、システムソフトウェアの不揮発性記憶に用いられてもよく、前記システムソフトウェアは、前記システムのＢＩＯＳ（基本入出力システム）及び他のファームウェアを備える。
【００６２】
記憶装置１５０８は、任意の１種又は複数種の本明細書に記載の方法又は機能を体現する１つ又は複数の命令セット又はソフトウェア（例えば、モジュール、ユニット及び／又はロジック１５２８）が記憶されるコンピュータアクセス可能な記憶媒体１５０９（機械可読記憶媒体又はコンピュータ可読媒体とも呼ばれる）を備えてもよい。処理モジュール／ユニット／ロジック１５２８は、例えば、位置決めモジュール３０１、感知モジュール３０２、決定モジュール３０３、計画モジュール３０４、制御モジュール３０５及びルーティングモジュール３０６のような上記構成要素のいずれかを示してもよい。処理モジュール／ユニット／ロジック１５２８は、さらにデータ処理システム９００により実行される期間にメモリ１５０３内及び／又はプロセッサ１５０１内に完全又は少なくとも部分的に存在してもよく、ここで、メモリ１５０３及びプロセッサ１５０１も、機器アクセス可能な記憶媒体を構成する。処理モジュール／ユニット／ロジック１５２８は、さらにネットワークによってネットワークインターフェース装置１５０５を経由して送受信されてもよい。
【００６３】
コンピュータ可読記憶媒体１５０９は、以上に説明されたいくつかのソフトウェア機能の一部又は全部を永続的に記憶してもよい。コンピュータ可読記憶媒体１５０９は、例示的な実施形態において単一の媒体として示されたが、用語「コンピュータ可読記憶媒体」は、前記１つ又は複数の命令セットが記憶される単一の媒体又は複数の媒体（例えば、集中型又は分散型データベース、及び／又は関連するキャッシュ及びサーバ）を備えることを理解すべきである。用語「コンピュータ可読記憶媒体」は、さらに命令セットを記憶又はコーディング可能な任意の媒体を備えることを理解すべきであり、前記命令セットは、機器により実行されかつ前記機器に本出願の任意の１種又は複数種の方法を実行させる。従って、用語「コンピュータ可読記憶媒体」は、ソリッドステートメモリ及び光学媒体と磁気媒体又は任意の他の非一時的機械可読媒体を備えるが、それらに限定されないことを理解すべきである。
【００６４】
本明細書に記載の処理モジュール／ユニット／ロジック１５２８、構成要素及び他の特徴は、ディスクリートハードウェアコンポーネントとして実現されてもよく、又はハードウェアコンポーネント（例えばＡＳＩＣｓ、ＦＰＧＡ、ＤＳＰ又は類似装置）の機能に統合されてもよい。さらに、処理モジュール／ユニット／ロジック１５２８は、ハードウェア装置内のファームウェア又は機能回路として実現されてもよい。また、処理モジュール／ユニット／ロジック１５２８は、ハードウェア装置及びソフトウェアコンポーネントの任意の組合せで実現されてもよい。
【００６５】
なお、システム９００は、データ処理システムの各種の構成要素を有するように示されているが、構成要素に相互接続させる任意の具体的な構造又は方式を限定するものではないことに注意すべき、それは、このような詳細が本出願の実施形態に密接な関係がないためである。また、より少ない構成要素又はより多くの構成要素を有するネットワークコンピュータ、ハンドヘルドコンピュータ、携帯電話、サーバ及び／又は他のデータ処理システムは、本出願の実施形態と共に使用されてもよい。
【００６６】
上記詳細な説明の一部は、コンピュータメモリにおけるデータビットに対する演算のアルゴリズム及び記号表現で示される。これらのアルゴリズムの説明及び表現は、データ処理分野における当業者によって使用される、それらの作業実質を所属分野の他の当業者に最も効果的に伝達する方法である。ここで、アルゴリズムは、通常、所望の結果につながる首尾一貫した操作列（ｓｅｑｕｅｎｃｅ  ｏｆ  ｏｐｅｒａｔｉｏｎｓ）と考えられる。これらの操作とは、物理量に対して物理的操作を行う必要となること（ステップ）を指す。
【００６７】
ただし、これらの全ての及び類似の用語は、いずれも適切な物理量に関連付けられ、かつただこれらの量に適用される適切なラベルであることに注意すべきである。特に断らない限り、本出願の全体にわたって用語（例えば、添付している特許請求の範囲に説明された用語）による説明とは、コンピュータシステム又は類似の電子計算装置の動作及び処理であり、前記コンピュータシステム又は電子計算装置は、コンピュータシステムのレジスタ及びメモリに物理（例えば、電子）量としてデータを示し、かつ前記データをコンピュータシステムメモリ又はレジスタ又は他のこのような情報メモリ、伝送又は表示装置内において類似に物理量として示される他のデータに変換する。
【００６８】
本出願の実施形態は、さらに本明細書における動作を実行するためのコンピュータプログラムに関する。このようなコンピュータプログラムは、非一時的コンピュータ可読媒体に記憶される。機器可読媒体は、機器（例えば、コンピュータ）可読な形態で情報を記憶する任意の機構を備える。例えば、機器可読（例えば、コンピュータ可読）媒体は、機器（例えば、コンピュータ）可読記憶媒体（例えば、読み出し専用メモリ（「ＲＯＭ」）、ランダムアクセスメモリ（「ＲＡＭ」）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリメモリ）を備える。
【００６９】
上記図面に示される手順又は方法は、ハードウェア（例えば、回路、専用ロジック等）、ソフトウェア（例えば、非一時的コンピュータ可読媒体に具現化される）、又は両方の組合せを含む処理ロジックにより実行されてもよい。前記手順又は方法は、本明細書において特定の順序に応じて説明されるが、説明された動作の一部は、異なる順序に応じて実行されてもよい。また、いくつかの動作は、順番ではなく並行に実行されてもよい。
【００７０】
本出願の実施形態は、いずれかの特定のプログラミング言語を参照して説明されていないが、複数種のプログラミング言語で本明細書に記載の本出願の実施形態の教示を実現できることを理解すべきである。
【００７１】
以上の明細書では、本出願の具体的な例示的な実施形態を参照してその実施形態を説明した。明らかなように、添付している特許請求の範囲に記載の本出願のより広い趣旨及び範囲を逸脱しない限り、様々な変形が可能である。従って、限定的なものではなく例示的なものとして本明細書及び図面を理解すべきである。
【図１】
2018108799.tif 000003
【図２】
2018108799.tif 000004
【図３】
2018108799.tif 000005
【図４】
2018108799.tif 000006
【図５】
2018108799.tif 000007
【図６】
2018108799.tif 000008
【図７】
2018108799.tif 000009
【図８】
2018108799.tif 000010
【図９】
2018108799.tif 000011
【外国語明細書】
2018108799000001.pdf
2018108799000002.pdf
2018108799000003.pdf
2018108799000004.pdf