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