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