(57)【要約】      （修正有）【課題】自動運転車両の軌跡を操作するための基準線を生成する。【解決手段】自動運転車両（ＡＤＶ）に関連する第１位置から第２位置までのルートを表す第１基準線を受信する。第１基準線を複数の基準線分に分割する。基準線分毎に、基準線分を表すように、５次多項式関数を定義する。基準線分の５次多項式関数に基づいて目標関数を特定する。基準線分に関連する１組の制約に照らして５次多項式関数の係数を最適化することにより、制約を満足するとともに、目標関数の出力が最小になる。目標関数の５次多項式関数の最適化されたパラメータまたは係数に基づいて第２基準線を生成する。そして、第２基準線を使用してＡＤＶを計画して制御する。【選択図】図９
2020001678.tif 000002
【特許請求の範囲】
【請求項１】
自動運転車両を操作するためのコンピュータで実施される方法であって、
地図データを処理することにより、第１位置から第２位置までの自動運転車両ルートに沿って基準線を定義する複数の点を生成し、それぞれの点が二次元座標を含み、且つ連続点対毎が前記基準線に沿って基準線分を形成することと、
基準線分毎の長さと、点毎の二次元座標と、基準線分毎の方向と、基準線分毎の曲率と、基準線分毎の曲率変化率を含む最適化パラメータを初期化することと、
目標関数の出力が最小化されるとともに、前記基準線分に関連する１組の制約を満足するように、前記ルートの前記最適化パラメータを繰り返して最適化することと、
最適化されたパラメータに基づいて、前記自動運転車両を前記第１位置から前記第２位置にガイドするための基準として使用される平滑基準線を生成することと、を備える方法。
【請求項２】
前記目標関数は、基準線分毎の曲線長さと、前記基準線分毎の前記曲率の２乗と、基準線分毎の前記曲率の前記変化率の２乗との総和を含む請求項１に記載の方法。
【請求項３】
基準線分毎の前記曲線長さ、前記基準線分の前記曲率の２乗及び前記基準線分の前記曲率の前記変化率の２乗は、重み付けられる請求項２に記載の方法。
【請求項４】
前記目標関数は、基準線分毎の前記曲率の前記変化率の導関数の２乗の総和をさらに含む請求項２に記載の方法。
【請求項５】
前記最適化パラメータを最適化することは、
前記目標関数の前記出力を最小化するように、前記最適化パラメータを変更することと、
特定点の座標の前記特定点の初期座標からの変化により定義される点偏差が偏差閾値内にあるかを評価することと、
前記点偏差が前記偏差閾値を越える場合に、前記目標関数の前記出力が最小化されるとともに前記点偏差が前記偏差閾値内にあるまで、前の変更のように異なる方向に前記最適化パラメータを変更すること、および／または異なるステップサイズで前記最適化パラメータを変更することを繰り返すことと、を備える請求項１に記載の方法。
【請求項６】
前記偏差閾値は、前記地図データを生成する１つまたは複数のセンサの信頼性または信頼度に基づく所定の閾値であり、高信頼度が小閾値に対応する請求項５に記載の方法。
【請求項７】
基準線分毎は、５次多項式関数により定義される請求項１に記載の方法。
【請求項８】
前記基準線分の開始点での前記５次多項式関数の出力が前記基準線分の前記開始点での前記自動運転車両の方向に類似するとともに、前記基準線分の終了点での前記５次多項式関数の出力が次の基準線分の開始点での前記自動運転車両の方向に類似するように、前記最適化パラメータを変更する請求項７に記載の方法。
【請求項９】
前記１組の制約は、前記基準線分の開始点での前記５次多項式関数の１次導関数が前記基準線分の前記開始点での曲率に類似するとともに、前記基準線分の前記終了点での前記５次多項式関数の１次導関数が前記次の基準線分の前記開始点での曲率に類似するという条件を含む請求項７に記載の方法。
【請求項１０】
命令が記憶されている非一時的機械可読媒体であって、前記命令がプロセッサにより実行される場合に、
地図データを処理することにより、第１位置から第２位置までの自動運転車両ルートに沿って基準線を定義する複数の点を生成し、それぞれの点が二次元座標を含み、且つ連続点対毎が前記基準線に沿って基準線分を形成することと、
基準線分毎の長さと、点毎の二次元座標と、基準線分毎の方向と、基準線分毎の曲率と、基準線分毎の曲率変化率を含む最適化パラメータを初期化することと、
基準線分毎を定義する５次多項式関数に基づく目標関数の出力が最小化されるとともに、前記基準線分に関連する１組の制約を満足するように、前記ルートの前記最適化パラメータを最適化することと、
最適化されたパラメータに基づいて、前記自動運転車両を前記第１位置から前記第２位置にガイドするための参照として使用される平滑基準線を生成すること、を前記プロセッサに実行させる非一時的機械可読媒体。
【請求項１１】
前記目標関数は、基準線分毎の曲線長さと、前記基準線分毎の前記曲率の２乗と、基準線分毎の前記曲率の前記変化率の２乗の総和とを含む請求項１０に記載の非一時的機械可読媒体。
【請求項１２】
基準線分毎の前記曲線長さ、前記基準線分の前記曲率の２乗及び前記基準線分の前記曲率の前記変化率の２乗は、重み付けられる請求項１１に記載の非一時的機械可読媒体。
【請求項１３】
前記目標関数は、基準線分毎の曲線長さと、前記基準線分毎の前記曲率の２乗と、基準線分毎の前記曲率の前記変化率の２乗と、基準線分毎の前記曲率の前記変化率の導関数との総和を含む請求項１２に記載の非一時的機械可読媒体。
【請求項１４】
前記最適化パラメータを最適化することは、
前記目標関数の前記出力を最小化するように、前記最適化パラメータを変更することと、
特定点の座標の前記特定点の初期座標からの変化により定義される点偏差が偏差閾値内にあるかを評価することと、
前記点偏差が前記偏差閾値を越える場合に、前記目標関数の前記出力が最小値になるとともに前記点偏差が前記偏差閾値内にあるまで、前の変更のように異なる方向に前記最適化パラメータを変更すること、および／または異なるステップサイズで前記最適化パラメータを変更することを繰り返すことと、を備える請求項１０に記載の非一時的機械可読媒体。
【請求項１５】
前記偏差閾値は、前記地図データを生成する１つまたは複数のセンサの信頼性または信頼度に基づく所定の閾値であり、高信頼度が小閾値に対応する請求項１３に記載の非一時的機械可読媒体。
【請求項１６】
基準線分毎の前記５次多項式関数の係数は、前記自動運転車両の位置、前記自動運転車両の方向、前記自動運転車両の曲率及び前記基準線分に関連する前記自動運転車両の曲率変化率に基づいて決定される請求項１０に記載の非一時的機械可読媒体。
【請求項１７】
前記基準線分の開始点での前記５次多項式関数の出力が前記基準線分の前記開始点での前記自動運転車両の方向に類似するとともに、前記基準線分の終了点での前記５次多項式関数の出力が次の基準線分の開始点での前記自動運転車両の方向に類似するように、前記最適化パラメータを変更する請求項１０に記載の非一時的機械可読媒体。
【請求項１８】
前記１組の制約は、前記基準線分の開始点での前記５次多項式関数の１次導関数が前記基準線分の前記開始点での曲率に類似するとともに、前記基準線分の前記終了点での前記５次多項式関数の１次導関数が前記次の基準線分の前記開始点での曲率に類似するという条件を含む請求項１０に記載の非一時的機械可読媒体。
【請求項１９】
プロセッサと、前記プロセッサに接続されて命令を記憶するメモリとを備えるデータ処理システムであって、
前記命令がプロセッサにより実行される場合に、
地図データを処理することにより、第１位置から第２位置までの自動運転車両ルートに沿って基準線を定義する複数の点を生成し、それぞれの点が二次元座標を含み、且つ連続点対毎が前記基準線に沿って基準線分を形成することと、
基準線分毎の長さ、点毎の二次元座標、基準線分毎の方向、基準線分毎の曲率及び基準線分毎の曲率変化率の１つまたは複数を含む最適化パラメータを初期化することと、
目標関数の出力が最小化されるとともに、前記基準線分に関連する１組の制約を満足するように、前記ルートの前記最適化パラメータを最適化することと、
最適化されたパラメータに基づいて、前記自動運転車両を前記第１位置から前記第２位置にガイドするための参照として使用される平滑基準線を生成すること、を前記プロセッサに実行させるデータ処理システム。
【請求項２０】
前記最適化パラメータを初期化することは、基準線分毎の長さを連続点間の距離に初期化することと、点毎の二次元座標を地図データからの初期生成座標に初期化することと、基準線分毎の方向を２つの連続点間の逆接線方向に初期化することと、基準線分毎の曲率をゼロに初期化することと、基準線毎の変化率をゼロに初期化することと、を含む請求項１９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施態様は、主に自動運転車両を操作することに関する。より具体的には、本発明の実施態様は、自動運転車両の軌跡を操作するための基準線を生成することに関する。
【背景技術】
【０００２】
自動運転モードで運転する（例えば、無人運転）車両は、乗員、特に運転者を運転にかかる役割の一部から解放することが可能である。自動運転モードで運転する場合に、車両は、車載センサを利用して各位置に案内されることにより、最少のヒューマンコンピュータインタラクションや乗員なしなどの状況で走行することができる。
【０００３】
運動計画及び制御は、自動運転の重要な操作である。具体的には、軌跡計画またはルート計画は、自動運転システムの重要な構成部分である。従来の計画技術は、高質量の自動運転車両用の案内経路である基準線、例えば道路の中心線に大きく依存して、安定的な軌跡を生成する。通常、直接的にセンサから取得する地図データ（通常に、世界座標系における二次元（２Ｄ）点列）が所要の平滑度を提供することができないとともに、直接的に地図データを使用することにより、計画部が計画周期同士の間で不安定で且つ振動する軌跡を生成するおそれがある。
【図面の簡単な説明】
【０００４】
本発明の実施態様は図面の各図において限定的ではなく例示的に示され、図面において同一の参照符号が同様な素子を示す。
【図１】一部の実施態様にかかるネットワーク化システムを示すブロック図である。
【図２】一部の実施態様にかかる自動運転車両の例を示すブロック図である。
【図３Ａ】一部の実施態様にかかる自動運転車両とともに使用される感知・計画システムの例を示すブロック図である。
【図３Ｂ】一部の実施態様にかかる自動運転車両とともに使用される感知・計画システムの例を示すブロック図である。
【図４】一実施態様にかかる計画モジュールの例を示すブロック図である。
【図５】一実施態様にかかる複数の基準線分に分割される基準線を示す。
【図６】一実施態様にかかる複数のサブセグメントにさらに分割される基準線分を示す。
【図７】一実施態様にかかる最初基準線及び最適化基準線を示す。
【図８】一実施態様にかかる基準線を最適化するためのプロセスの例を示すフローチャートである。
【図９】一実施態様にかかる基準線を最適化するためのプロセスの更なる例を示すフローチャートである。
【図１０】一実施態様にかかる最適化パラメータを変更する例を示すフローチャートである。
【図１１】一実施態様にかかるデータ処理システムを示すブロック図である。
【発明を実施するための形態】
【０００５】
以下、検討する詳細を参照しながら本発明の各実施態様及び局面を記載して、図面において前記各実施態様を示す。下記記載及び図面は、本発明を説明するためのものであり、本発明を限定するためのものとして解釈されるべきではない。特定の詳細を多く記載することは、本発明の各実施態様を完全に理解するためである。しかしながら、本発明の実施態様を簡潔的に検討するために、周知または通常の詳細を記載しない場合がある。
【０００６】
本明細書において「一実施態様」または「実施態様」を言及することは、当該実施態様によって説明される特定の特徴、構成や特性が本発明の少なくとも１つの実施態様に含まれることを意味する。「一実施態様では」という語句の本明細書における各箇所での記載のすべては、必ずしも同一の実施態様を指すことに限定されない。
【０００７】
一部の実施態様によれば、２Ｄ点列の形式となる地図データを使用して最小曲率変化を有する平滑で且つ区分的に接続される基準線を生成するための新規な制約付き数値最適化方法を利用する。２Ｄ点列を指定すると、システムは、まず任意の５次多項式による螺旋経路により連続点を接続する。それらの区分的経路を擾乱させることにより、システムを最適化させてそれらの経路の最適集合を見つけて、それらの経路は、全体として最小曲率変化を有するとともに、３次導関数が接合点で平滑的に接続するまで繰り返す。
【０００８】
５次多項式による螺旋経路は、区分的経路として使用されて、目標の作成を簡略化する。最適化の目的は、基準線に沿う曲率変化全体を最小化することにある。しかしながら、区分的経路が世界座標系（例えば、デカルト空間）で定義されると、目標の作成は極めて複雑になる。上記問題を解決するために、螺旋経路（即ち、曲線方向は曲線長さの関数である）が区分的経路として使用されることにより、目標の作成が容易になる。螺旋経路における点の座標は、数値積分により算出されることが可能である。また、ユーザは、その信頼水準に応じて地図データに対する「信頼」を定義する。「信頼」について、１つの入力点の最終出力における最大偏差を使用してモデリングすることが可能であり、且つ上記方法で直接に考えることが可能である。
【０００９】
一実施態様によれば、自動運転車両（ＡＤＶ）に関連する第１位置から第２位置までの軌跡またはルートを表す第１基準線を受信する。第１基準線は、第１位置から第２位置までのルートに関連する地図データから生成される。第１基準線は、複数の基準線分に分割される。基準線分毎に５次多項式関数（単に５次関数ともいう）を定義することにより、対応する基準線分を表す。基準線分の５次多項式関数に基づいて目標関数を特定する。そして、基準線分に関連する１組の制約に照らして５次多項式関数のパラメータまたは係数を最適化することにより、目標関数の出力が最小化されるとともに、上記１組の制約を満足する。そして、目標関数の５次多項式関数の最適化されたパラメータまたは係数に基づいて第２基準線を生成する。そして、第２基準線を使用してＡＤＶに対して軌跡またはルートを計画する。
【００１０】
一実施態様では、目標関数は、すべての基準線分の５次多項式関数の出力全体の総和を示す。特定の実施態様では、基準線分の５次多項式関数の２次導関数の総和を参照して目標関数を構成する。上記１組の制約に照らして、基準線両端の基準線方向、曲率、曲率変化率及び基準線分の長さに基づいて基準線分毎の５次多項式関数の係数を特定する。一実施態様では、５次多項式関数のパラメータを最適化することは、５次多項式関数毎の係数を最適化して、５次多項式関数の出力が最小曲率変化を有するようにすることを含む。
【００１１】
一実施態様では、上記１組の制約は、基準線分の開始点での５次多項式関数の１次導関数が基準線分の開始点での曲率に類似するという条件をさらに含む。基準線分の終了点での５次多項式関数の１次導関数は、次の基準線分の開始点での曲率と同様または類似である。他の実施態様では、上記１組の制約は、基準線分の開始点での５次多項式関数の２次導関数が基準線分の開始点での曲率変化率に類似するという条件をさらに含む。基準線分の終了点での５次多項式関数の２次導関数は、次の基準線分の開始点での曲率変化率と同様または類似である。上記１組の制約は、第１基準線の端点と５次多項式関数から導出される相応的な端点との差分が所定の閾値よりも小さいという条件をさらに含み、上記閾値は、ユーザにより設置可能なものであってもよく、例えば、ＡＤＶのセンサに関連する信頼度または信頼水準に依存する。
【００１２】
図１は、本発明の一実施態様にかかる自動運転車両のネットワーク構成を示すブロック図である。図１を参照すると、ネットワーク構成１００は、ネットワーク１０２を介して１つまたは複数のサーバ１０３〜１０４に対して通信可能に接続する自動運転車両１０１を備える。１つの自動運転車両のみを示すが、複数の自動運転車両は、ネットワーク１０２を介して相互に接続し、および／またはサーバ１０３〜１０４に接続可能である。ネットワーク１０２は、いずれのタイプのネットワークであってもよく、例えば、有線または無線のローカルエリアネットワーク（ＬＡＮ）、インターネットのような広域ネットワーク（ＷＡＮ）、セルラ網、衛星ネットワークまたはそれらの組み合せである。サーバ１０３〜１０４は、いずれの形式のサーバまたはサーバークラスタであってもよく、例えば、ネットワークサーバやクラウドサーバ、アプリケーションサーバ、バックエンドサーバまたはそれらの組み合せである。サーバ１０３〜１０４は、データ解析サーバやコンテンツサーバ、交通情報サーバ、地図・関心点（ＭＰＯＩ）サーバまたは位置サーバなどであってもよい。
【００１３】
自動運転車両とは、自動運転モードにある可能に配置される車両を指し、前記自動運転モードで、車両は、運転者からの入力が非常に少なく又は完全にない状況で環境を通過するように案内される。そのような自動運転車両は、車両運転環境に関する情報を検出可能に配置される１つまたは複数のセンサを有するセンサシステムを備えることが可能である。前記車両及びかかるコントローラは、検出された情報を使用して前記環境を通過するように案内される。自動運転車両１０１は、マニュアルモード、全自動運転モードまたは一部自動運転モードで運転することが可能である。
【００１４】
一実施態様では、自動運転車両１０１は、感知・計画システム１１０と、車両制御システム１１１と、無線通信システム１１２と、ユーザインタフェースシステム１１３と、センサシステム１１５とを備えるが、これに限定されない。自動運転車両１０１は、通常の車両に含まれる一部の汎用的な部材、例えば、エンジン、車輪、ステアリングホイール、変速機などを備えることが可能であり、前記部材は、車両制御システム１１１および／または感知・計画システム１１０により多種の通信信号および／または命令で制御され、当該多種の通信信号および／または命令は、例えば、加速信号または命令、減速信号または命令、操舵信号または命令、ブレーキ信号または命令などである。
【００１５】
部材１１０〜１１５同士は、インターコネクト、バス、ネットワークまたはそれらの組合せを介して通信可能に接続されることが可能である。例えば、部材１１０〜１１５同士は、コントローラエリアネットワーク（ＣＡＮ）バスを介して通信可能に接続されることが可能である。ＣＡＮバスは、マイクロコントローラと装置とがホストなしのアプリケーションで相互に通信することを許容するように設計される車両バス規格である。それは、最初に自動車における多重化電気配線のために設計される、メッセージベースのプロトコルであるが、様々な他の環境にも適用される。
【００１６】
図２を参照すると、一実施態様では、センサシステム１１５は、１つまたは複数のカメラ２１１と、全地球測位システム（ＧＰＳ）ユニット２１２と、慣性計測ユニット（ＩＭＵ）２１３と、レーダユニット２１４と、光検出・測距（ＬＩＤＡＲ）ユニット２１５とを備えるが、これに限定されない。ＧＰＳユニット２１２は、自動運転車両の位置に関する情報を提供するように操作可能な送受信器を備えることが可能である。ＩＭＵユニット２１３は、慣性加速度に基づいて自動運転車両の位置及び方向変化を検知可能である。レーダユニット２１４は、電波信号により自動運転車両のローカル環境における対象を検知するシステムを表すことが可能である。一部の実施態様では、レーダユニット２１４は、対象に加え、対象の速度および／または前進方向を検知可能である。ＬＩＤＡＲユニット２１５は、レーザーにより自動運転車両が所在する環境における対象を検知することが可能である。ＬＩＤＡＲユニット２１５は、他のシステム部材に加え、１つまたは複数のレーザ光源、レーザスキャナ及び１つまたは複数の検出器を備えることが可能である。カメラ２１１は、自動運転車両の周囲の環境の画像を撮像するための１つまたは複数の装置を備えることが可能である。カメラ２１１は、スチルカメラおよび／またはビデオカメラであってもよい。カメラは、機械的に移動可能なものであってもよく、例えば、カメラが回転および／または傾斜するステージに取り付けられることにより移動可能である。
【００１７】
センサシステム１１５は、例えば、ソナーセンサや赤外線センサ、操舵角センサ、スロットルセンサ、ブレーキセンサ、オーディオセンサ（例えば、マイクロフォン）などの他のセンサを備えることが可能である。オーディオセンサは、自動運転車両の周囲の環境から音声を収音するように配置可能である。操舵角センサは、ステアリングホイール、車両の車輪またはそれらの組み合せの操舵角を検知するように配置可能である。スロットルセンサ及びブレーキセンサは、それぞれ車両のスロットル位置及びブレーキ位置を検知する。スロットルセンサ及びブレーキセンサは、集積式スロットル／ブレーキセンサに集積される場合もある。
【００１８】
一実施態様では、車両制御システム１１１は、操舵ユニット２０１と、スロットルユニット２０２（加速ユニットともいう）と、ブレーキユニット２０３とを備えるが、これに限定されない。操舵ユニット２０１は、車両の方向または前進方向を調整するためのものである。スロットルユニット２０２は、モータまたはエンジンの速度を制御することにより車両の速度及び加速度を制御するためのものである。ブレーキユニット２０３は、摩擦を与えることにより、車両の車輪またはタイヤを減速させて車両を減速させる。なお、図２に示す部材は、ハードウェア、ソフトウェアまたはそれらの組み合せで実現されることが可能である。
【００１９】
図１に戻って、無線通信システム１１２は、自動運転車両１０１と、例えば装置やセンサ、他の車両などの外部システムとの通信を可能にする。例えば、無線通信システム１１２は、１つまたは複数の装置と直接に無線通信を行い、または通信ネットワークを介して無線通信を行うことが可能であり、例えば、ネットワーク１０２を介してサーバ１０３〜１０４と通信する。無線通信システム１１２は、いずれのセルラ通信ネットワークまたは無線ローカルエリアネットワーク（ＷＬＡＮ）、例えば、ＷｉＦｉを利用して他の部材やシステムと通信可能である。無線通信システム１１２は、例えば赤外線リンクやブルートゥース（登録商標）などを利用して装置（例えば、乗員の携帯機器、表示装置、車両１０１内のスピーカ）と直接に通信可能である。ユーザインタフェースシステム１１３は、車両１０１内で実現される周辺装置の部分であることが可能であり、例えばキーボード、タッチパネル式表示装置、マイクフォン及びスピーカなどを含む。
【００２０】
特に自動運転モードで操作される際に、自動運転車両１０１の機能の一部または全部は、感知・計画システム１１０により制御または管理されることが可能である。感知・計画システム１１０は、必要なハードウェア（例えば、プロセッサ、メモリ、記憶装置）及びソフトウェア（例えば、オペレーティングシステム、計画・ルーティングプログラム）を含み、センサシステム１１５、制御システム１１１、無線通信システム１１２および／またはユーザインタフェースシステム１１３から情報を受信して、受信した情報を処理し、開始点から目的地点までのルートまたは経路を計画した後、計画・制御情報に基づいて車両１０１を運転する。その代わりに、感知・計画システム１１０は、車両制御システム１１１に集積されてもよい。
【００２１】
例えば、乗員であるユーザは、例えばユーザインタフェースを介して行程の開始位置及び目的地を指定することが可能である。感知・計画システム１１０は、行程に関するデータを取得する。例えば、感知・計画システム１１０は、ＭＰＯＩサーバから位置・ルート情報を取得することが可能であり、前記ＭＰＯＩサーバは、サーバ１０３〜１０４の一部であってもよい。位置サーバは位置サービスを提供するとともに、ＭＰＯＩサーバは地図サービス及び一部の位置のＰＯＩを提供する。その代わりに、そのような位置及びＭＰＯＩ情報は、感知・計画システム１１０の永続的記憶装置にローカルキャッシュされてもよい。
【００２２】
自動運転車両１０１がルートに沿って移動する際に、感知・計画システム１１０は、交通情報システムまたはサーバ（ＴＩＳ）からリアタイム交通情報を取得してもよい。なお、サーバ１０３〜１０４は、第三者エンティティにより操作されることが可能である。その代わりに、サーバ１０３〜１０４の機能は、感知・計画システム１１０に集積されてもよい。感知・計画システム１１０は、リアタイム交通情報、ＭＰＯＩ情報及び位置情報、並びにセンサシステム１１５により検出または検知されたリアタイムローカル環境データ（例えば、障害物、対象、周辺車両）に基づいて、最適ルートを計画して、計画したルートに応じて、例えば制御システム１１１を介して車両１０１を運転すること可能であり、これにより、安全で且つ効率よく指定の目的地に到達することができる。
【００２３】
サーバ１０３は、種々のユーザに対してデータ解析サービスを提供するデータ解析システムであってもよい。一実施態様では、データ解析システム１０３は、データ収集器１２１及び機械学習エンジン１２２を備える。データ収集器１２１は、種々の車両（自動運転車両または人間の運転者が運転する通常の車両）から運転統計データ１２３を収集する。運転統計データ１２３は、発行する運転命令（例えば、スロットル、ブレーキ、操舵命令）及び車両のセンサにより異なる時点で捕捉された車両の応答（例えば、速度、加速、減速、方向）を示す情報を含む。運転統計データ１２３は、異なる時点での運転環境を記述する情報、例えば、ルート（開始位置及び目的地位置を備える）、ＭＰＯＩ、道路状況、気候状況などをさらに含むことが可能である。
【００２４】
機械学習エンジン１２２は、運転統計データ１２３に基づいて、種々の目的で、１組のルール、アルゴリズムおよび／または予測モデル１２４を生成または学習する。例えば、初期係数またはパラメータで１組の５次多項式関数を選択して定義することが可能である。また、運転統計１２３から取得可能な、例えばセンサ仕様及び特定の車両設計のハードウェア特性に基づいて、１組の制約を定義することが可能である。
【００２５】
図３Ａ及び図３Ｂは一実施態様にかかる自動運転車両とともに使用される感知・計画システムの例を示すブロック図である。システム３００は、図１の自動運転車両１０１の一部として実現されることが可能であり、感知・計画システム１１０と、制御システム１１１と、センサシステム１１５とを備えるが、これに限定されない。図３Ａ〜図３Ｂを参照すると、感知・計画システム１１０は、位置計測モジュール３０１と、感知モジュール３０２と、予測モジュール３０３と、決定モジュール３０４と、計画モジュール３０５と、制御モジュール３０６と、ルートモジュール３０７とを備えるが、これに限定されない。
【００２６】
モジュール３０１〜３０７の一部または全部は、ソフトウェア、ハードウェアまたはそれらの組み合せにより実現されることが可能である。例えば、それらのモジュールは、永続的記憶装置３５２にインストールされて、メモリ３５１にローディングされ、且つ１つまたは複数のプロセッサ（図示せず）により実行されることが可能である。なお、それらのモジュールの一部または全部は、図２の車両制御システム１１１の一部または全部モジュールに対して通信可能に接続され、または集積される。モジュール３０１〜３０７の一部は、集積モジュールに集積されてもよい。
【００２７】
位置計測モジュール３０１は、自動運転車両３００の現在位置（例えば、ＧＰＳユニット２１２による）を特定するとともに、ユーザの行程やルートに関するデータ全体を管理する。位置計測モジュール３０１（地図及びルートモジュールともいう）は、ユーザの行程やルートに関するデータ全体を管理する。ユーザは、例えばユーザインタフェースを介してログインして、行程の開始位置及び目的地を指定する。位置計測モジュール３０１は、自動運転車両３００の地図・ルート情報３１１のような他の部材と通信して、行程に関するデータを取得する。例えば、位置計測モジュール３０１は、位置サーバと地図・ＰＯＩ（ＭＰＯＩ）サーバから位置・ルート情報を取得することが可能である。位置サーバが位置サービスを提供するとともに、ＭＰＯＩサーバが地図サービス及び一部の位置のＰＯＩを提供することにより、地図・ルート情報３１１の一部としてキャッシュされることが可能である。自動運転車両３００がルートに沿って移動する際に、位置計測モジュール３０１は、交通情報システムまたはサーバからリアタイム交通情報を取得してもよい。
【００２８】
感知モジュール３０２は、センサシステム１１５により提供されるセンサデータ及び位置計測モジュール３０１により取得される位置計測情報に基づいて、周囲環境への感知を特定する。感知情報は、通常の運転者がその運転している車両の周囲から感知したものを示す。感知は、例えば対象式による車線配置（例えば、直線車線または湾曲車線）、信号機信号、他の車両の相対位置、歩行者、建物、横断歩道や他の交通に関する標識（例えば、止まれ標識、道譲れ標識）などを含むことが可能である。
【００２９】
感知モジュール３０２は、コンピュータビジョンシステムまたはコンピュータビジョンシステムの機能を含むことが可能であり、１つまたは複数カメラにより撮像された画像を処理して解析することにより、自動運転車両環境における対象および／または特徴を認識する。前記対象は、交通信号、道路境界、他の車両、歩行者および／または障害物などを含むことが可能である。コンピュータビジョンシステムは、対象認識アルゴリズム、ビデオトラッキング及び他のコンピュータビジョン技術を使用することが可能である。一部の実施態様では、コンピュータビジョンシステムは、環境地図の描画、対象のトラッキングや、及び対象の速度の推定などを行うことが可能である。感知モジュール３０２は、レーダおよび／またはＬＩＤＡＲのような他のセンサにより提供される他のセンサデータに基づいて、対象を検出してもよい。
【００３０】
予測モジュール３０３は、対象毎に対して、対象が現在の場合にどのように動作するかを予測する。予測は、感知データに基づいて行われるものであり、当該感知データは、１組の地図／ルート情報３１１及び交通ルール３１２を考慮した時点で運転環境を感知したものである。例えば、対象が対向車両であり且つ現在運転環境が交差点を含むと、予測モジュール３０３は、車両が直進するか、または旋回するかを予測する。感知データは、交差点に信号機がないことを示すと、予測モジュール３０３は、車両が交差点に進入する前に完全に停車しなければいけない可能性がある、と予測することがある。感知データは、車両が現在で左折専用車線または右折専用車線にあることを示すと、予測モジュール３０３は、車両がそれぞれ左折または右折を行う可能性が高い、と予測することがある。
【００３１】
決定モジュール３０４は、対象毎に対して、どのように対象を対処するかを决定する。例えば、特定の対象（例えば、交差ルートにある他の車両）及び対象を記述するメタデータ（例えば、速度、方向、操舵角）に対して、決定モジュール３０４は、前記対象に行き合う時にどうのように動作するか（例えば、追い越し、一時停止、停止、越え）を決定する。決定モジュール３０４は、例えば交通ルールや運転ルール３１２のルール集合に基づいて、そのような决定を行うことが可能であり、前記ルール集合が永続的記憶装置３５２に記憶されることが可能である。
【００３２】
ルートモジュール３０７は、開始点から目的地点までの１つまたは複数のルートや経路を提供するように配置される。開始位置から目的地位置までの所定の行程について、例えばユーザから所定の行程を受信して、ルートモジュール３０７は、地図・ルート情報３１１を取得して、開始位置から目的地位置までのすべてのルートまたは経路を特定する。ルートモジュール３０７は、開始位置から目的地位置までの各経路を指定した地形図式の基準線を生成することが可能である。基準線とは、例えば、他の車両、障害物や交通状況などの影響を受けない、理想的なルートまたは経路である。即ち、道路には他の車両、歩行者や障害物がないと、ＡＤＶは、正確または厳密に基準線に追従すべきである。そして、地形図を決定モジュール３０４および／または計画モジュール３０５に供給する。決定モジュール３０４および／または計画モジュール３０５は、すべてのルートをチェックして、他のモジュールにより提供される他のデータに基づいて、最適ルートの１つを選択して補正する。前記他のデータは、例えば、自位置計測モジュール３０１からの交通状況、感知モジュール３０２により感知された運転環境及び予測モジュール３０３により予測された交通状況である。時点での特定の運転環境によっては、ＡＤＶを制御するための実際のルートまたは経路は、ルートモジュール３０７により提供される基準線に対して近接し、または相違する可能性がある。
【００３３】
感知された対象毎に対する决定に基づいて、計画モジュール３０５は、ルートモジュール３０７により提供された基準線を基にして、自動運転車両に対してルートまたは経路、及び運転パラメータ（例えば、距離、速度および／または旋回角度）を計画する。言い換えれば、所定の対象に対して、決定モジュール３０４は、当該対象が何をすべきかを決定する一方、計画モジュール３０５は、どのようにするかを決定する。例えば、所定の対象に対して、決定モジュール３０４は、前記対象を越えることを決定することが可能である一方、計画モジュール３０５は、前記対象の左側か右側かで越えることを決定することが可能である。計画・制御データは、計画モジュール３０５により生成されて、車両３００が次の移動サイクル（例えば、次のルート／経路セグメント）でどのように移動するかを記述する情報を含む。例えば、計画・制御データは、車両３００が３０ｍｐｈの速度で１０メートル移動した後、２５ｍｐｈの速度で右側の車線に変更することを指示可能である。
【００３４】
計画・制御データに基づいて、制御モジュール３０６は、計画・制御データにより限定されるルートまたは経路に応じて、適当な命令または信号を車両制御システム１１１に発信することにより、自動運転車両を制御して運転する。前記計画・制御データは、ルートまたは経路に沿って、異なる時点で適当な車両配置または運転パラメータ（例えば、スロットル、ブレーキおよび操舵命令）を使用して車両をルートまたは経路の第１点から第２点に走行させるための充分な情報を含む。
【００３５】
一実施態様では、計画段階が複数の計画周期（命令周期ともいう）で実行され、例えば、それぞれの時間間隔が１００ミリ秒（ｍｓ）である周期で実行される。計画周期または命令周期のそれぞれに対して、計画・制御データに基づいて１つまたは複数の制御命令を発行する。即ち、１００ｍｓ毎に、計画モジュール３０５は、次のルートセグメントまたは経路セグメントを計画し、例えば、目標位置、及びＡＤＶが目標位置に到達するのに必要な時間を含む。その代わりに、計画モジュール３０５は、具体的な速度、方向および／または操舵角などを規定してもよい。一実施態様では、計画モジュール３０５は、次の所定の期間（例えば、５秒）に対してルートセグメントまたは経路セグメントを計画する。計画周期毎に、計画モジュール３０５は、前の周期で計画した目標位置に基づいて現在周期（例えば、次の５秒）のための目標位置を計画する。そして、制御モジュール３０６は、現在周期の計画・制御データに基づいて１つまたは複数の制御命令（例えば、スロットル、ブレーキ、操舵制御命令）を生成する。
【００３６】
なお、決定モジュール３０４と計画モジュール３０５とは、集積モジュールに集積されることが可能である。決定モジュール３０４／計画モジュール３０５は、自動運転車両の運転経路を決定するために、ナビゲーションシステムまたはナビゲーションシステムの機能を含むことが可能である。例えば、ナビゲーションシステムは、自動運転車両が最終目的地への車道に基づく経路に沿って前進すると同時に、感知した障害物を実質的に回避するような経路に沿って、自動運転車両が移動することを達成するための一連の速度及び前進方向を決定すること可能である。目的地は、ユーザインタフェースシステム１１３を介したユーザ入力に基づいて設定可能である。ナビゲーションシステムは、自動運転車両が運転していると同時に、動的に運転経路を更新することが可能である。ナビゲーションシステムは、ＧＰＳシステム及び１つまたは複数の地図からのデータを合併して、自動運転車両用の運転経路を決定することが可能である。
【００３７】
決定モジュール３０４／計画モジュール３０５は、自動運転車両の環境における潜在的な障害物を認識、評価して、回避しまたは他の方式で超えるために、衝突防止システムまたは衝突防止システムの機能を含むことが可能である。例えば、衝突防止システムは、制御システム１１１における１つまたは複数のサブシステムを操作することにより方向変更操作、操舵操作、ブレーキ操作などを取ることで、自動運転車両のナビ中の変化を実現することが可能である。衝突防止システムは、周囲の交通パターン、道路状況などに基づいて、自動的に実行可能な障害物回避操作を決定することが可能である。衝突防止システムは、自動運転車両が方向変更して進入しようとする隣接の領域に位置する車両、建物のような障害物などを他のセンサシステムが検出した際に、方向変更操作を取らないように、配置される可能である。衝突防止システムは、使用可能であるとともに自動運転車両の乗員の安全性を最大化する操作を自動的に選択することが可能である。衝突防止システムは、自動運転車両の車室内に最小限の加速度が発生するように予測される回避操作を選択することが可能である。
【００３８】
ルートモジュール３０７は、地図情報（例えば、道路区間の情報、道路区間の車道情報及び車線の縁石からの距離情報）から基準ルートを生成することが可能である。例えば、道路は、３つの道路区間を示すように、｛Ａ、Ｂ、Ｃ｝区画やセグメントに分けられることが可能である。道路区間Ａの３つの車線は、｛Ａ１、Ａ２、Ａ３｝として挙げられる。基準ルートに沿う基準点を生成することにより基準ルートを生成する。例えば、車両車線に対して、ルートモジュール３０７は、地図データにより提供される車両車線の対向する２つの縁石や端点の中点を連結することが可能である。先に異なる時点で車両車線を走行する車両を示す、収集されたデータ点の中点及び機械学習データに基づいて、ルートモジュール３０７は、車両車線の所定近接度合い以内で収集されたデータ点の部分集合を選択して、収集されたデータ点の部分集合に基づく中点に対して平滑化関数を適用することで、基準点を算出することが可能である。
【００３９】
基準点または車線基準点に基づいて、ルートモジュール３０７は、基準点を補間することにより基準線を生成して、生成された基準線を車両車線上のＡＤＶを制御するための基準線として使用することが可能である。一部の実施態様では、基準線を表す基準点テーブル及び道路区間テーブルをリアタイムにＡＤＶにアップロードすることにより、ＡＤＶがＡＤＶの地理位置及び走行方向に基づいて基準線を生成可能である。例えば、一実施態様では、ＡＤＶは、到来予定の前方の道路区間を標識する経路セグメント識別子により、および／またはＡＤＶのＧＰＳ位置に基づいて、経路セグメント用のルーティングサービスを請求して基準線を生成する。経路セグメント識別子に基づいて、ルーティングサービスは、関心する道路区間のすべての車線用の基準点を含むＡＤＶ基準点テーブルに戻ることが可能である。ＡＤＶは、経路セグメントの車線用の基準点を参照して、車両車線上のＡＤＶを制御するための基準線を生成することが可能である。
【００４０】
しかしながら、地図データから生成される基準線が充分に平滑ではなく、乗員に不快感を与え、または車両に制御エラーが発生してしまう場合もある。基準点を通過する基準線は充分に平滑ではないことがある。充分に平滑な基準線を有するために、基準点毎の前后の曲率が相互に近接すべきである。また、曲率変化率が低減すべきである。
【００４１】
一実施態様によれば、例えば、計画モジュール３０５は、２Ｄ点列の形式となる地図データを使用して最小曲率変化を有する平滑で且つセグメントで接続する基準線を生成するための新規な制約付き数値最適化方法を利用する。２Ｄ点列を指定すると、システムは、まず任意の５次多項式による螺旋経路で連続点を接続する。それらの区分的経路を擾乱させることにより、最適化システムはそれらの経路の最適集合を見つけて、それらの経路は、全体として最小曲率変化を有するとともに、３次導関数が接合点で平滑的に接続されるまで繰り返す。
【００４２】
５次多項式による螺旋経路は、区分的経路として使用されて、目標の作成を簡略化する。最適化の目的は、基準線に沿う曲率変化全体を最小化することにある。しかしながら、区分的経路が世界座標系（例えば、デカルト空間）で定義されると、目標の作成は極めて複雑になる。上記問題を解決するために、螺旋経路（即ち、曲線方向は曲線長さの関数である）が区分的経路として使用されることにより、目標の作成が容易になる。螺旋経路における点の座標は、数値積分により算出されることが可能である。また、ユーザは、その信頼水準に応じて地図データに対する「信頼」を定義する。「信頼」について、１つの入力点の最終出力における最大偏差を使用してモデリングすることが可能であり、且つ上記方法で直接に考えることが可能である。
【００４３】
図４は、一実施態様にかかる計画モジュールの例を示すブロック図である。図４を参照すると、計画モジュール３０５は、セグメント手段４０１と、５次関数生成手段４０２と、目標関数生成手段４０３と、最適化手段４０４と、基準線生成手段４０５とを備えるが、これに限定されない。そられのモジュール４０１〜４０５は、ソフトウェア、ハードウェアまたはそれらの組合せにより実施されることが可能である。セグメント手段４０１は、第１基準線を複数の基準線分に分割するように配置される。５次関数生成手段４０２は、基準線分毎に対して、５次多項式関数を定義して生成することにより、対応する基準線分を表すように配置される。目標関数生成手段４０３は、基準線分の５次多項式関数に基づいて目標関数を生成するように配置される。５次多項式関数および／または目標関数は、予めに関数３１４の一部として配置して記憶されることが可能である。最適化手段４０４は、計画モジュール３０５の制約生成手段（図示せず）により制約３１３の一部として配置される１組の制約に照らして、目標関数を最適化することにより目標関数を最小にするように、配置される。基準線生成手段４０５は、最適化に基づいて（即ち、最適化された目標関数のパラメータまたは係数を用いて）、第２基準線を生成するように配置される。最適化の目的の１つは、第２基準線を表すための、第１基準線の相応的な最初基準点に近接するとともに基準線分間の曲率変化や変化率を最小に維持する１組の新たな基準点を決定することにある。小さい曲率変化により、平滑な基準線になる。
【００４４】
図５は、地図データに基づいて生成される基準線の例を示す図である。図５を参照すると、一実施態様によれば、セグメント手段４０１は、基準線５００を複数の基準線分に分割する。各基準線分は、２つの基準点により終了される。この例では、ｎ個の基準点（ｘ０，ｙ０）、（ｘ１，ｙ１）、……、（ｘｎ，ｙｎ）が存在して、本明細書では、基準線分５０１〜５０６という。基準線分毎は、線分長さｓに関連する。例えば、基準点（ｘ０，ｙ０）（ｘ１，ｙ１）間の基準線分は、線分長さｓ０に関連する。よって、ｎ個基準点に対して、（ｎ−１）個の基準線分が存在する。個別の５次多項式関数を使用して基準線分毎に対してモデリングを行う。
【００４５】
５次関数生成手段４０２は、基準線分毎に対して５次多項式関数θ（ｓ）を生成する。よって、少なくとも（ｎ−１）個の５次多項式関数θ０（ｓ）〜θｎ−１（ｓ）が存在する。一実施態様では、５次多項式関数のそれぞれは、対応する基準線分の開始基準点の方向を表す。５次多項式関数の導関数（例えば、１次導関数）は、基準線分の開始基準点の曲率を表して、Ｋ＝ｄθ／ｄｓで示す。５次多項式関数の２次導関数は、曲率変化または曲率変化率を表して、ｄＫ／ｄｓで示す。
【００４６】
説明のために、下記の各項目を定義する。
2020001678.tif 000003
【００４７】
セグメント螺旋経路毎は、開始方向（θ０）と、開始曲率（ｄθ０）と、開始曲率導関数（ｄ２θ０）と、終了方向（θ１）と、終了曲率（ｄθ１）と、終了曲率導関数（ｄ２θ１）と、開始点と終了点との間の曲線長さ（Δｓ）という７つのパラメータにより規定される。一実施態様では、５次多項式関数は下記の式（１）で定義されることが可能である。
2020001678.tif 000004
且つ、下記の式（２）〜（７）を満足する。
2020001678.tif 000005
2020001678.tif 000006
【００４８】
上記制約に基づいて、すべての基準線分の５次多項式関数全体に対して最適化を行ことにより、ゼロセグメント長さでの基準線分（ｉ）を表す５次多項式関数の出力は、対応する基準線分（ｉ）の開始基準点での方向に一致または類似すべきである。５次多項式関数の１次導関数は、基準線分（ｉ）の開始基準点での曲率に一致または類似すべきである。５次多項式関数の２次導関数は、基準線分（ｉ）の開始基準点での曲率変化率に一致または類似すべきである。
【００４９】
同様に、完全セグメント長さ（ｓ）での基準線分（ｉ）を表す５次多項式関数の出力は、現在基準線分（ｉ）の終了基準点である次の基準線分（ｉ＋１）の開始基準点での方向に一致または類似すべきである。５次多項式関数の１次導関数は、次の基準線分（ｉ＋１）の開始基準点での曲率に一致または類似すべきである。５次多項式関数の２次導関数は、次の基準線分（ｉ＋１）の開始基準点での曲率変化率に一致または類似すべきである。
【００５０】
例えば、図５に示す基準線分５０１については、対応する５次多項式関数θ（０）の出力は、開始点（ｘ０，ｙ０）の方向または角度を表す。θ（Δｓ０）は、次の基準線分５０２の開始点である終了点（ｘ１，ｙ１）の方向を表す。θ（０）の１次導関数は、開始点（ｘ０，ｙ０）での曲率を表すとともに、θ（０）の２次導関数は、終了点（ｘ１，ｙ１）での曲率変化率を表す。θ（ｓ０）の１次導関数は、終了点（ｘ１，ｙ１）の曲率を表すとともに、θ（ｓ０）の２次導関数は、終了点（ｘ１，ｙ１）の曲率変化率を表す。
【００５１】
上記変数
2020001678.tif 000007
を代入することにより、５次多項式関数の係数ａ、ｂ、ｃ、ｄ、e及びfを解くための６つの式が存在する。例えば、上述したように、所定点での方向は、上記５次多項式関数により定義されることが可能である。
θ（ｓ）＝ａｓ5＋ｂｓ4＋ｃｓ3＋ｄｓ2＋ｅｓ＋ｆ            （８）
５次関数の１次導関数は、経路における点での曲率を表す。
ｄθ＝５ａｓ4＋４ｂｓ3＋３ｃｓ2＋２ｄｓ＋ｅ            （９）
５次関数の２次導関数は、経路における点での曲率変化率を表す。
ｄ2θ＝２０ａｓ3＋１２ｂｓ2＋６ｃｓ＋２ｄ            （１０）
【００５２】
所定の螺旋経路または基準線分については、開始点と終了点という２つの点に関し、各点の方向、曲率及び曲率変化率は、それぞれ上記式（８）〜（１０）で表すことが可能である。よって、螺旋経路毎または基準線分毎に、合計６つの式が存在する。それら６つの式は、対応する５次関数の係数ａ、ｂ、ｃ、ｄ、ｅ及びｆの特定に適用可能である。
【００５３】
螺旋経路がデカルト空間における連続基準点間の曲線を表すと、螺旋経路曲線長さとデカルト空間における位置との間の関連付けやブリッジを確立する必要がある。｛θi，ｄθi，ｄ2θi，θi+1，ｄθi+1，ｄ2θi+1，Δｓ｝により定義される螺旋経路θi（ｓ）及び経路開始点ｐi＝（ｘi，ｙi）が与えられており、点ｐ＝（ｘ，ｙ）の座標を特定する必要があり、ここで、いずれのｓ＝［０，Δｓ］とする。一実施態様では、所定点の座標は、下記の式（１１）〜（１２）により得られる。
2020001678.tif 000008
【００５４】
ｓ＝Δｓであると、曲線θｉ及び開始座標ｐｉ＝（ｘｉ，ｙｉ）を指定して、終了座標ｐｉ＋１が得られる。５次関数の最適化を行うことにより、螺旋経路の５次関数の全体出力が最小になるとともに、上記１組の制約を満足する。また、最適化により導出された終点の座標が初期基準線の対応座標に対して所定の範囲（例えば、公差、許容誤差）内にあることを求める。つまり、最適化された各点と初期基準線の対応点との間の差分は、所定の閾値内にあるべきである。
【００５５】
一実施態様によれば、すべての螺旋経路の５次関数に基づいて目標関数を定義する。上記制約を満足するとともに、目標関数の５次関数の入力パラメータ（例えば、
2020001678.tif 000009
）を最適化する。一実施態様では、目標関数は、すべての基準線分に関連する５次関数全体の総和を表して、最適化されることにより、目標関数の出力が最小になるとともに、上記１組の制約を満足する。今回の繰り返しの目標関数の出力が前回の繰り返しの目標関数の出力に類似するまで、最適化を繰り返して、変数を補正するとともに、前記１組の制約を評価する。ここで「類似」という用語とは、２回の連続繰り返しの出力間の差分が所定の閾値によりも低いことを指す。
【００５６】
そのような方法では、基準線を区分的５次螺旋経路列にモデリングして、図５に示すように、２つの連続する基準点が１本の螺旋経路に接続される。入力点がユーザにより定義または配置される１つまたは複数の所定限界内でその最初位置から少しずれることを許容する。前記限界は、地図データが生成される際にセンサ精度の信頼水準や処理標識誤差などをモデリングする。一実施態様では、ｎ個の点
2020001678.tif 000010
を指定して、以下のように最適化処理における変数を選択する。
2020001678.tif 000011
【００５７】
基準線の平滑度は、曲率変化率（即ち、５次関数θ（ｓ）の２次導関数）の絶対値としてモデリングされる。
【００５８】
一実施態様によれば、基準線分毎は、複数のサブセグメントに分割される。サブセグメントのそれぞれは、基準線分の区分的経路における区分的サブ経路を表す。図６は、ｍ個のサブセグメントに更に区画される基準線分のセグメントの図を示す。サブセグメントのそれぞれは、同一基準線分の５次関数で示す。よって、１本の区分的経路からのｍ個の中間点をプローブ点とすることがある。その目的は、サブセグメントの５次関数を最小化することにある。目標関数は、基準線分毎のサブセグメントの５次関数の出力の総和として定義される。一実施態様では、目標関数は、下記の式（１３）で定義される。
2020001678.tif 000012
下記の式（１４）で示す点位置移動制約を受ける。
2020001678.tif 000013
【００５９】
一実施態様では、目標関数は、下記の式（１５）で定義される。
2020001678.tif 000014
ただし、ｉは螺旋経路／線分のインデックスであり、ｊは相応的な螺旋経路ｉにおける評価点のインデックスであり、ω０、ω１及びω２は重み付けであって、例えば経験により決定されることが可能である。θ（ｓ）は、線分の関数、例えば、５次関数θ（ｓ）＝ａｓ5＋ｂｓ4＋ｃｓ3＋ｄｓ2＋ｅｓ＋ｆであり、すべての線分の総和により基準線全体が形成される。ｓjは、インデックスｊでの線分の点である。θ’（ｓ）は、線分の１次導関数である。θ’’（ｓ）は、線分の２次導関数であり、Δｓiは線分ｉの長さである。
【００６０】
曲率（例えば、線分の５次関数の１次導関数）と曲線の長さとを加算することにより、不要な曲線長さが不利になるとともに、毎本の曲線をできるだけ直線化する。
【００６１】
一実施態様では、目標関数は、下記の式（１６）で定義される。
2020001678.tif 000015
ただし、θ’’’（ｓ）は、線分毎の関数の３次導関数（例えば、θ（ｓ）は５次関数である）である。これにより、更に、不要な曲線長さが不利になるとともに、毎本の曲線をできるだけ直線化する。
【００６２】
一実施態様では、線分毎は５次関数θ（ｓ）＝ａｓ5＋ｂｓ4＋ｃｓ3＋ｄｓ2＋ｅｓ＋ｆとして定義されて、線分関数の導関数はセグメントの曲率を定義するとともに、線分関数の２次導関数は曲率の変化率を定義する。
【００６３】
一実施態様では、目標関数は、各５次多項式関数の２次導関数の２乗和を表す。
2020001678.tif 000016
は入力点ｐｉの最初位置を表すとともに、ｒｉは点ｐｉ用の限界であって、ユーザにより配置可能である。上述したように、座標(ｘｉ，ｙｉ)は、対応する５次関数の積分に基づいて導出されるものである。最適化により導出された新座標は、ＡＤＶを制御するための新基準線の形成に用いられる。図７は、最初基準線及び上記最適化による少なくとも一部の最適化基準線を示す。
【００６４】
図８は、一実施態様にかかる基準線を最適化するためのプロセスの例を示すフローチャートである。プロセス８００は、ソフトウェア、ハードウェアまたはそれらの組み合せを含む処理ロジックにより実行されることが可能である。例えば、プロセス８００は、図４の計画モジュール３０５により実行されることが可能である。図８を参照すると、操作８０１において、処理ロジックは、地図データに基づいて生成される第１基準線を受信する。第１基準線は、第１位置から第２位置までの軌跡またはルートを表し、ＡＤＶは、前記軌跡またはルートに従うべきである。操作８０２において、処理ロジックは、第１基準線を複数の基準線分に分割する。基準線分のぞれぞれは、開始基準点及び終了基準点により終了される。基準点のそれぞれは、１組の属性で示して、属性が基準点の２Ｄデカルト空間における位置（ｘ，ｙ）及び方向（θ）を含むが、これに限定されない。基準点での曲率Ｋは、方向（θ）の導関数に基づいて得られるとともに、曲率変化率は、曲率Ｋの導関数に基づいて得られる。
【００６５】
基準線分毎に対して、操作８０３において、処理ロジックは、対応する基準線分を表すための５次多項式関数を特定する。操作８０４において、処理ロジックは、基準線分の５次多項式関数に基づいて目標関数を特定する。操作８０５において、処理ロジックは、１組の制約（例えば、θ、ｄθ、ｄ２θ、ｘ、ｙの制約）に照らして目標関数の５次多項式関数のパラメータを最適化することにより、前記１組の制約を満足するとともに、目標関数の出力が最小になる。操作８０６において、目標関数の５次多項式関数の最適化されたパラメータに基づいて第２基準線を生成する。第２基準線は、ＡＤＶの制御に用いられる。
【００６６】
最適化の実行際に、複数回の繰り返しにおいて５次多項式関数のパラメータ（例えば、係数ａ、ｂ、ｃ、ｄ、ｅ及びｆ）を繰り返して調整、最適化するとともに、目標関数の出力を評価する。基準線分毎の入力点（例えば、ｘ、ｙ、方向、曲率及び曲率変化率）に基づいて前記パラメータを配置する。その目的は、５次多項式関数毎の位置（ｘ，ｙ）、方向、曲率及び曲率変化率を最適化することにより、目標関数の出力が最小になることである。最適化して所定の退出条件になると、前記プロセスが停止するとともに、最新の１組のパラメータを取得して新基準線を生成する。一実施態様では、２回の連続する最適化の繰り返しの出力間の差分が所定閾値よりも低くなると、繰り返しプロセスが停止する。または、繰り返し回数が所定の回数になると、前記プロセスが停止する。
【００６７】
図９を参照すると、処理９１０において、自動運転車両（ＡＤＶ）および／またはＡＤＶ内のシステムは、地図データを処理することにより、第１位置から第２位置までのＡＤＶルートに沿って基準線を定義する複数の点を生成することが可能であり、それぞれの点が二次元座標を有し、且つ連続点対毎が基準線に沿って基準線分を生成する。次に、ＡＤＶは、最適化パラメータ、例えば、基準線分毎の長さ、点毎の二次元座標、基準線分毎の方向、基準線分毎の曲率及び基準線分の曲率変化率の１つまたは複数を初期化することが可能である。
【００６８】
例えば、初期化処理９２０において、最適化パラメータを初期化することは、基準線分毎の長さを連続点間の距離に初期化することと、点毎の二次元座標を地図データからの初期生成座標に初期化することと、基準線分毎の方向を２つの連続点間の逆接線方向に初期化することと、基準線分毎の曲率をゼロに初期化することと、基準線毎の変化率をゼロに初期化することと、を含むことが可能である。言い換えれば、線分毎は、直線に初期化されることが可能である（曲線がない）。
【００６９】
最適化処理９３０において、ＡＤＶは、ルートの最適化パラメータを最適化することにより、目標関数の出力が最小化されるとともに、基準線分に関連する１組の制約を満足するようにすることが可能である。例えば、基準線分毎は、５次多項式関数により定義されることが可能であるとともに、目標関数は、５次多項式関数及び最適化パラメータに基づくことが可能である。
【００７０】
一実施態様では、最適化パラメータを変更することにより、基準線分の開始点での５次多項式関数の出力が基準線分の開始点でのＡＤＶの方向に類似するとともに、基準線分の終了点での５次多項式関数の出力が次の基準線分の開始点でのＡＤＶの方向に類似するようにすることが可能である。
【００７１】
一実施態様では、前記１組の制約は、５次多項式関数の基準線分の開始点での１次導関数が基準線分の開始点での曲率に類似するとともに、５次多項式関数の基準線分の終了点での１次導関数が次の基準線分の開始点での曲率に類似するという条件を含む。
【００７２】
生成処理９４０において、ＡＤＶは、最適化されたパラメータに基づいて、ＡＤＶを第１位置から第２位置にガイドするための基準として使用される平滑基準線を生成することが可能である。例えば、ＡＤＶは、最適化された変数に基づいて線分毎の５次関数θ（ｓ）の係数ａ〜ｆのそれぞれを算出するとともに、平滑基準線を生成することが可能である。平滑基準線は、線分毎の最適化された５次関数に従って、新たな座標を有する新たな点から形成されることが可能である。
【００７３】
一実施態様では、目標関数は、基準線分毎の曲線長さと、基準線分毎の曲率（例えば、線分を定義する５次関数の導関数）の２乗と、基準線分毎の曲率の変化率（例えば、曲率の導関数）の２乗との総和を含むことが可能である。
【００７４】
一実施態様では、目標関数は、基準線分毎の曲線長さと、基準線分毎の曲率（例えば、線分を定義する５次関数の導関数）の２乗と、基準線分毎の曲率の変化率（例えば、曲率の導関数）の２乗と、基準線分毎の曲率の変化率の導関数の２乗との総和を含むことが可能である。
【００７５】
図１０を参照すると、一実施態様では、前記最適化パラメータを最適化することは、変更処理９３２において、最適化パラメータを変更することにより、目標関数の出力を最小化することを含む。例えば、目標関数が下記の式（１７）で定義されると、最適化パラメータを変更することにより、目標関数が出力する値を減少する。
2020001678.tif 000017
【００７６】
次に、評価処理９３４において、ＡＤＶは、点偏差が偏差閾値内にあるかを評価することが可能である。例えば、初期化の際または地図データから生成する際に、例えば、特定点の座標の前記特定点の初期座標からの変化により点偏差を定義することが可能である。点偏差が偏差閾値を越えると、ＡＤＶは、目標関数の出力が最小化されるとともに、点偏差が偏差閾値内にあるまで、最適化パラメータを繰り返して変更することが可能である。例えば、前の変更のように異なる方向に前記最適化パラメータを変更すること、および／または異なるステップサイズで前記最適化パラメータを変更することにより、点偏差を減少することが可能である。
【００７７】
例えば、点偏差は、地図データまたは地図データを生成するセンサの信頼性および／または信頼度に基づく所定の閾値であることが可能である。
【００７８】
目標関数における各項（例えば、曲線長さ、曲率の２乗、曲率変化率の２乗及び曲率変化率の導関数の２乗）に対して重み付けを行う。
【００７９】
なお、上記のように記載された部材の一部または全部は、ソフトウェア、ハードウェアまたはそれらの組み合せにより実現されることが可能である。例えば、そのような部材は、永続的記憶装置にインストールして記憶されるソフトウェアとして実現されることが可能であり、前記ソフトウェアがプロセッサ（図示せず）によりメモリにローディングされて、メモリで実行されることで、本発明に記載のプロセスや操作を実施する。その代わりに、そのような部材は、専用ハードウェア（例えば、集積回路（例えば、特定用途向け集積回路（ＡＳＩＣ）、デジタルシグナルプロセッサ（ＤＳＰ）またはフィールドプログラマブルゲートアレイ（ＦＰＧＡ））にプログラミングされ、又は組み込まれる、実行可能なコードとして実現されてもよく、前記実行可能なコードが、アプリケーションからの相応的なドライバおよび／またはオペレーティングシステムを介してアクセス可能である。また、そのような部材は、プロセッサまたはプロセッサコアにおける特定ハードウェアロジックとして実現されることが可能であり、ソフトウェア部材が１つまたは複数の特定命令によりアクセス可能な命令セットの一部とされる。
【００８０】
図１１は、本発明の一実施態様とともに使用可能なデータ処理システムの例を示すブロック図である。例えば、システム１５００は、上述のように上記プロセスまたは方法のいずれか１つを実行する任意のデータ処理システム、例えば、図１の感知・計画システム１１０またはサーバ１０３〜１０４のいずれか１つを示す。システム１５００は、様々の部材を備えることが可能である。それらの部材は、集積回路（ＩＣ）、集積回路の一部、別体の電子デバイスや回路基板（例えば、コンピュータシステムのマザーボードまたは挿入カード）に適用される他のモジュールとして実現され、又は、他の方式でコンピュータシステムのラックに組み込まれる部材として実現されることが可能である。
【００８１】
なお、システム１５００は、コンピュータシステムの多くの部材の上位図を示すためである。しかしながら、一部の実施例では、付加部材を有してもよく、また、他の実施例では、図示する部材と異なるレイアウトを有してもよいこと、を理解すべきである。システム１５００は、デスクトップ型コンピュータ、ラップトップ型コンピュータ、タブレット型コンピュータ、サーバ、携帯電話、メディアプレイヤ、携帯情報端末（ＰＤＡ）、スマートウォッチ、パーソナル通信機器、ゲーム装置、ルータやハブ機器、アクセスポイント（ＡＰ）やリピーター、セットトップボックス、またはそれらの組み合せを示すことが可能である。また、単一の機器またはシステムのみを示すが、「機器」または「システム」という用語は、１つ（または複数）の命令セットを個別または一緒に実行することにより、本明細書で検討するいずれかの１種または複数種の方法を実行する機器またはシステムの集合のいずれを含むことを、理解されるべきである。
【００８２】
一実施態様では、システム１５００は、バスまたはインターコネクト１５１０を介して接続されるプロセッサ１５０１、メモリ１５０３及び装置１５０５〜１５０８を含む。プロセッサ１５０１は、単一のプロセッサコア、または複数のプロセッサコアの１つのプロセッサや複数のプロセッサを含むことを表すことが可能である。プロセッサ１５０１は１つまたは複数の汎用プロセッサ、例えば、マイクロプロセッサ、中央処理ユニット（ＣＰＵ）などを表すことが可能である。より具体的には、プロセッサ１５０１は、複合命令セットコンピュータ（ＣＩＳＣ）方式のマイクロプロセッサ、縮小命令セットコンピュータ（ＲＩＳＣ）方式のマイクロプロセッサ、ＶＬＩＷ（Ｖｅｒｙ  Ｌｏｎｇ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｗｏｒｄ）型マイクロプロセッサや他の命令セットを実施するプロセッサ、または命令セットの組み合せを実施するプロセッサであってもよい。プロセッサ１５０１は、１つまたは複数の専用プロセッサ、例えば、特定用途向け集積回路（ＡＳＩＣ）、セルラやベースバンドプロセッサ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタルシグナルプロセッサ（ＤＳＰ）、ネットワークプロセッサ、グラフィックプロセッサ、通信プロセッサ、暗号化プロセッサ、コプロセッサ、組込み用途向けプロセッサ、または命令を処理可能な他のロジックのいずれであってもよい。
【００８３】
プロセッサ１５０１（低パワーマルチコアプロセッサジャケットインタフェース、例えば超低電圧プロセッサであってもよい）は、前記システムの種々の部材と通信するためのメイン処理ユニット及び中央ハブとされることが可能である。そのようなプロセッサは、オンチップシステム（ＳｏＣ）として実現されることが可能である。プロセッサ１５０１は、本明細書で検討する操作及びステップを実行するための命令を実行するように配置される。システム１５００は、選択可能なグラフィックサブシステム１５０４と通信可能なグラフィックインタフェースを更に含み、グラフィックサブシステム１５０４が、表示制御部、グラフィックプロセッサおよび／または表示装置を備えることが可能である。
【００８４】
プロセッサ１５０１は、メモリ１５０３と通信可能であり、一実施態様では、メモリ１５０３が所定量のシステム用の記憶を提供するように、複数のメモリ装置により実現されることが可能である。メモリ１５０３は、１つまたは複数の揮発性記憶（またはメモリ）装置、例えば、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）または他のタイプの記憶装置を含むことが可能である。メモリ１５０３は、プロセッサ１５０１または他の装置により実行される命令列を含む情報を記憶可能である。例えば、種々のオペレーティングシステム、デバイスドライバ、ファームウェア（例えば、入出力基本システムまたはＢＩＯＳ）および／またはアプリケーションの実行コードおよび／またはデータは、メモリ１５０３にローディングされてプロセッサ１５０１により実行されることが可能である。オペレーティングシステムは、いずれのタイプのオペレーティングシステム、例えば、ロボットオペレーティングシステム（ＲＯＳ）、Ｍｉｃｒｏｓｏｆｔ（登録商標）社のＷｉｎｄｏｗｓ（登録商標）オペレーティングシステム、アップル社のＭＡＣ  ＯＳ（登録商標）／ＩＯＳ（登録商標）、Ｇｏｏｇｌｅ（登録商標）社のＡｎｄｒｏｉｄ（登録商標）、ＬＩＮＵＸ（登録商標）、ＵＮＩＸ（登録商標）、または他のリアタイムや組み込みオペレーティングシステムであってもよい。
【００８５】
システム１５００は、ＩＯ装置、例えばネットワークインタフェース装置１５０５、選択可能な入力装置１５０６及び他の選択可能なＩＯ装置１５０７を含む装置１５０５〜１５０８をさらに備えることが可能である。ネットワークインタフェース装置１５０５は、無線送受信器および／またはネットワークインタフェースカード（ＮＩＣ）を含むことが可能である。前記無線送受信器は、ＷｉＦｉ送受信器、赤外線送受信器、ブルートゥース（登録商標）送受信器、ＷｉＭａｘ送受信器、無線携帯電話送受信器、衛星送受信器（例えば、全地球測位システム（ＧＰＳ）送受信器）や他の無線周波数（ＲＦ）送受信器、またはそれらの組み合せであってもよい。ＮＩＣは、イーサネット（登録商標）カードであってもよい。
【００８６】
入力装置１５０６は、マウス、タッチパネル、タッチスクリーン（表示装置１５０４に集積されることが可能である）、ポインティングデバイス（例えば、スタイラスペン）および／またはキーボード（例えば、物理的なキーボードまたはタッチスクリーンの一部として表示される仮想的なキーボード）を含むことが可能である。例えば、入力装置１５０６は、タッチスクリーンに接続されるタッチスクリーンコントローラを含むことが可能である。タッチスクリーン及びタッチスクリーンコントローラは、例えば複数種のタッチセンシティブ技術（容量、電気抵抗、赤外線及び弾性表面波技術を含むが、これに限定されない）のいずれか１種、及び他の近接センサアレイまたはタッチスクリーンに接触する１つまたは複数の点を特定するための他の素子により、その接触、及び移動や間欠を検出する。
【００８７】
ＩＯ装置１５０７は、オーディオ装置を含むことが可能である。オーディオ装置は、音声を支持する機能、例えば音声認識、音声再生、ディジタル記録および／または電話機能を促すために、スピーカおよび／またはマイクフォンを含むことが可能である。他のＩＯ装置１５０７として、ユニバーサルシリアルバス（ＵＳＢ）ポート、パラレルポート、シリアルポート、プリンタ、ネットワークインタフェース、バスブリッジ（例えば、ＰＣＩ−ＰＣＩブリッジ）、センサ（例えば、加速度計モーションセンサ、ジャイロ、磁力計、光センサ、コンパス、接近センサなど）またはそれらの組み合せを含むことが可能である。装置１５０７は、カメラ機能（例えば、写真及び動画セグメントの記録）を促すための光学センサ、例えば電荷結合素子（ＣＣＤ）または相補型金属酸化物半導体（ＣＭＯＳ）光学センサを備える撮像処理サブシステム（例えば、カメラ）をさらに含むことが可能である。一部のセンサは、センサハブ（図示せず）を介してインターコネクト１５１０に接続されることが可能である一方、キーボードや感熱センサなどの他の装置は、システム１５００の具体的な配置や設計に応じて、エンベデッドコントローラ（図示せず）により制御されることが可能である。
【００８８】
例えばデータ、アプリケーション、１つまたは複数のオペレーティングシステムなどの情報の永続的な記憶を提供するために、大容量記憶装置（図示せず）がプロセッサ１５０１に接続されてもよい。種々の実施態様では、薄型化且つ軽量化のシステム設計を実現するとともにシステムの応答性を改良するために、そのような大容量記憶装置は、固体装置（ＳＳＤ）により実現されることが可能である。しかしながら、他の実施態様では、大容量記憶装置は、主にハードディスクドライブ（ＨＤＤ）により実現されてもよく、そのうち少量のＳＳＤ記憶装置は、ＳＳＤ用キャッシュとされることにより、停電期間でコンテキストの状態及び他の情報の永続的記憶を実現して、システム活動が再起動する際に急速通電を実現することができる。また、フラッシュメモリは、例えばシリアルペリフェラルインタフェース（ＳＰＩ）を介してプロセッサ１５０１に接続されることが可能である。そのようなフラッシュメモリは、前記システムのＢＩＯＳ及び他のファームウェアを含むシステムソフトウェアの永続的記憶を提供することが可能である。
【００８９】
記憶装置１５０８は、本明細書に記載のいずれか１種または複数種の方法や機能を実現する１つまたは複数の命令セットやソフトウェア（例えば、モジュール、ユニットおよび／またはロジック１５２８）が記憶されているコンピュータアクセス可能な記憶媒体１５０９（機械可読記憶媒体またはコンピュータ可読な媒体ともいう）を含むことが可能である。処理モジュール／ユニット／ロジック１５２８は、上記部材のいずれか１つ、例えば計画モジュール３０５、制御モジュール３０６を表すことが可能である。また、処理モジュール／ユニット／ロジック１５２８は、データ処理システム１５００、メモリ１５０３及びプロセッサ１５０１により実行されている期間で、全部または少なくとも一部が機械アクセス可能な記憶媒体を構成するメモリ１５０３および／またはプロセッサ１５０１に貯留されることが可能である。更に、処理モジュール／ユニット／ロジック１５２８は、ネットワークによりネットワークインタフェース装置１５０５を介して伝送または受信を行うことが可能である。
【００９０】
コンピュータ可読記憶媒体１５０９は、上述した一部のソフトウェア機能を永続的に記憶することが可能である。コンピュータ可読記憶媒体１５０９は、例示的な実施態様では単一の媒体として示されるが、「コンピュータ可読記憶媒体」という用語は、前記１つまたは複数の命令セットを記憶する単一の媒体または複数の媒体（例えば、集中または分散データベースおよび／または関連するキャッシュメモリ及びサーバ）を含む、と考えられる。「コンピュータ可読記憶媒体」という用語は、機械により実行されるとともに、前記機械が本発明のいずれの１種または複数種の方法を実行させる命令セットを記憶またはコーディング可能ないずれの媒体を含む、と考えられる。よって、「コンピュータ可読記憶媒体」という用語は、固体メモリ、光学媒体及び磁気媒体、または他の永続的機械可読媒体のいずれを含むが、これに限定されない、と考えられる。
【００９１】
本明細書に記載の処理モジュール／ユニット／ロジック１５２８、部材及び他の特徴は、個別ハードウェア部材とされ、またはハードウェア部材（例えば、ＡＳＩＣＳ、ＦＰＧＡ、ＤＳＰまたは同様な装置）の機能に集積されるように、実現可能である。また、処理モジュール／ユニット／ロジック１５２８は、ハードウェア装置におけるファームウェアまたは機能回路として実現されることが可能である。また、処理モジュール／ユニット／ロジック１５２８は、ハードウェア装置とソフトウェア部材とのいずれの組み合せにより実現されることが可能である。
【００９２】
なお、システム１５００は、データ処理システムの種々の部材を備えるように示されるが、部材を相互に接続する特定の構成または態様を示すためではない。よって、そのような詳細は、本発明の実施態様と密接な関係がない。さらに、より少ない部材またはより多い部材を有するネットワークコンピュータ、ハンディコンピュータ、携帯電話、サーバおよび／または他のデータ処理システムも、本発明の実施態様とともに使用可能であることを、認識すべきである。
【００９３】
詳細に記載した前記内容の一部は、既にコンピュータメモリで行われるデータビットの演算のアルゴリズム及び符号表示に応じて表現された。それらのアルゴリズムの記載及び表示は、データ処理分野での技術者が使用する方式であり、技術者らの実質的な動作を効率よく本分野での他の技術者に伝達するためである。本明細書では、アルゴリズムは、通常に所望の結果を達成する自律操作シーケンスとして考えられる。それらの操作とは、物理量を物理的に操作する必要がある操作である。
【００９４】
ところで、そられの用語及びその類似する用語のすべては、適当な物理量に関連するためであり、且つ単にそれらの物理量を便利に表記することに適用されることはいうまでもない。以上の検討において他の態様で明確に限定しない限り、明細書全体では、用語（例えば、添付した特許請求の範囲に記載の用語）により検討されることは、コンピュータシステムのレジスタ及びメモリでの物理（電子）量として表示されるデータを操作して、前記データをコンピュータシステムメモリやレジスタ、または他の情報記憶装置、伝送装置や表示装置での同様に物理量として表示される他のデータを変換するコンピュータシステムや類似する電子計算装置の動作及び処理である。
【００９５】
本発明の実施態様は、本明細書における操作を実行するためのデバイスにさらに関する。そのようなコンピュータプログラムは、永続的コンピュータ可読媒体に記憶されている。機械可読媒体は、機械（例えば、コンピュータ）可読態様で情報を記憶するための機構全体を含む。例えば、機械可読（例えば、コンピュータ可読）媒体は、機械（例えば、コンピュータ）可読記憶媒体（例えば、読み出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリ装置）を含む。
【００９６】
前記図面に記載のプロセスや方法は、ハードウェア（例えば、回路、専用ロジックなど）、ソフトウェア（例えば、永続的コンピュータ可読媒体で体現される）またはそれらの組み合せを含む処理ロジックにより実行されることが可能である。前記プロセスや方法は、上記の内容において一部の順序操作に基づいて記載されるが、前記操作の一部が異なる順序で実行されてもよいことを、理解すべきである。また、一部の操作は、順序に実行されることではなく、並列に実行されてもよい。
【００９７】
本発明の実施態様は、いずれの特定のプログラミング言語を参照して記載されることではない。複数種のプログラミング言語を使用して本明細書に記載の本発明の実施態様の教示を実施可能であることを、理解すべきである。
【００９８】
以上の明細書では、本発明の具体的な実施態様を参照して本発明の実施態様を記載した。添付した特許請求の範囲に記載の本発明の更なる広い要旨及び範囲を逸脱しない限り、本発明を様々な形態で変形可能であることが、明らかである。したがって、明細書および図面は、制限的な意味ではなく、例示的な意味で理解されるべきである。
【図１】
2020001678.tif 000018
【図２】
2020001678.tif 000019
【図３Ａ】
2020001678.tif 000020
【図３Ｂ】
2020001678.tif 000021
【図４】
2020001678.tif 000022
【図５】
2020001678.tif 000023
【図６】
2020001678.tif 000024
【図７】
2020001678.tif 000025
【図８】
2020001678.tif 000026
【図９】
2020001678.tif 000027
【図１０】
2020001678.tif 000028
【図１１】
2020001678.tif 000029
【手続補正書】
【提出日】平成31年3月13日(2019.3.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
自動運転車両を操作するためのコンピュータで実施される方法であって、
地図データを処理することにより、第１位置から第２位置までの自動運転車両ルートに沿って基準線を定義する複数の点を生成し、それぞれの点が二次元座標を含み、且つ連続点対毎が前記基準線に沿って基準線分を形成することと、
基準線分毎の長さと、点毎の二次元座標と、基準線分毎の方向と、基準線分毎の曲率と、基準線分毎の曲率変化率を含む最適化パラメータを初期化することと、
目標関数の出力が最小化されるとともに、前記基準線分に関連する１組の制約を満足するように、前記ルートの前記最適化パラメータを繰り返して最適化することと、
最適化されたパラメータに基づいて、前記自動運転車両を前記第１位置から前記第２位置にガイドするための基準として使用される平滑基準線を生成することと、を備える方法。
【請求項２】
前記目標関数は、基準線分毎の曲線長さと、前記基準線分毎の前記曲率の２乗と、基準線分毎の前記曲率の前記変化率の２乗との総和を含む請求項１に記載の方法。
【請求項３】
基準線分毎の前記曲線長さ、前記基準線分の前記曲率の２乗及び前記基準線分の前記曲率の前記変化率の２乗は、重み付けられる請求項２に記載の方法。
【請求項４】
前記目標関数は、基準線分毎の前記曲率の前記変化率の導関数の２乗の総和をさらに含む請求項２に記載の方法。
【請求項５】
前記最適化パラメータを最適化することは、
前記目標関数の前記出力を最小化するように、前記最適化パラメータを変更することと、
特定点の座標の前記特定点の初期座標からの変化により定義される点偏差が偏差閾値内にあるかを評価することと、
前記点偏差が前記偏差閾値を越える場合に、前記目標関数の前記出力が最小化されるとともに前記点偏差が前記偏差閾値内にあるまで、前の変更のように異なる方向に前記最適化パラメータを変更すること、および/または異なるステップサイズで前記最適化パラメータを変更することを繰り返すことと、を備える請求項１に記載の方法。
【請求項６】
前記偏差閾値は、前記地図データを生成する１つまたは複数のセンサの信頼性または信頼度に基づく所定の閾値であり、高信頼度が小閾値に対応する請求項５に記載の方法。
【請求項７】
基準線分毎は、５次多項式関数により定義される請求項１に記載の方法。
【請求項８】
前記基準線分の開始点での前記５次多項式関数の出力が前記基準線分の前記開始点での前記自動運転車両の方向に類似するとともに、前記基準線分の終了点での前記５次多項式関数の出力が次の基準線分の開始点での前記自動運転車両の方向に類似するように、前記最適化パラメータを変更する請求項７に記載の方法。
【請求項９】
前記１組の制約は、前記基準線分の開始点での前記５次多項式関数の１次導関数が前記基準線分の前記開始点での曲率に類似するとともに、前記基準線分の前記終了点での前記５次多項式関数の１次導関数が前記次の基準線分の前記開始点での曲率に類似するという条件を含む請求項７に記載の方法。
【請求項１０】
命令が記憶されている非一時的機械可読媒体であって、前記命令がプロセッサにより実行される場合に、
地図データを処理することにより、第１位置から第２位置までの自動運転車両ルートに沿って基準線を定義する複数の点を生成し、それぞれの点が二次元座標を含み、且つ連続点対毎が前記基準線に沿って基準線分を形成することと、
基準線分毎の長さと、点毎の二次元座標と、基準線分毎の方向と、基準線分毎の曲率と、基準線分毎の曲率変化率を含む最適化パラメータを初期化することと、
基準線分毎を定義する５次多項式関数に基づく目標関数の出力が最小化されるとともに、前記基準線分に関連する１組の制約を満足するように、前記ルートの前記最適化パラメータを最適化することと、
最適化されたパラメータに基づいて、前記自動運転車両を前記第１位置から前記第２位置にガイドするための参照として使用される平滑基準線を生成すること、を前記プロセッサに実行させる非一時的機械可読媒体。
【請求項１１】
前記目標関数は、基準線分毎の曲線長さと、前記基準線分毎の前記曲率の２乗と、基準線分毎の前記曲率の前記変化率の２乗の総和とを含む請求項１０に記載の非一時的機械可読媒体。
【請求項１２】
基準線分毎の前記曲線長さ、前記基準線分の前記曲率の２乗及び前記基準線分の前記曲率の前記変化率の２乗は、重み付けられる請求項１１に記載の非一時的機械可読媒体。
【請求項１３】
前記目標関数は、基準線分毎の曲線長さと、前記基準線分毎の前記曲率の２乗と、基準線分毎の前記曲率の前記変化率の２乗と、基準線分毎の前記曲率の前記変化率の導関数との総和を含む請求項１２に記載の非一時的機械可読媒体。
【請求項１４】
前記最適化パラメータを最適化することは、
前記目標関数の前記出力を最小化するように、前記最適化パラメータを変更することと、
特定点の座標の前記特定点の初期座標からの変化により定義される点偏差が偏差閾値内にあるかを評価することと、
前記点偏差が前記偏差閾値を越える場合に、前記目標関数の前記出力が最小値になるとともに前記点偏差が前記偏差閾値内にあるまで、前の変更のように異なる方向に前記最適化パラメータを変更すること、および/または異なるステップサイズで前記最適化パラメータを変更することを繰り返すことと、を備える請求項１０に記載の非一時的機械可読媒体。
【請求項１５】
前記偏差閾値は、前記地図データを生成する１つまたは複数のセンサの信頼性または信頼度に基づく所定の閾値であり、高信頼度が小閾値に対応する請求項１３に記載の非一時的機械可読媒体。
【請求項１６】
基準線分毎の前記５次多項式関数の係数は、前記自動運転車両の位置、前記自動運転車両の方向、前記自動運転車両の曲率及び前記基準線分に関連する前記自動運転車両の曲率変化率に基づいて決定される請求項１０に記載の非一時的機械可読媒体。
【請求項１７】
前記基準線分の開始点での前記５次多項式関数の出力が前記基準線分の前記開始点での前記自動運転車両の方向に類似するとともに、前記基準線分の終了点での前記５次多項式関数の出力が次の基準線分の開始点での前記自動運転車両の方向に類似するように、前記最適化パラメータを変更する請求項１０に記載の非一時的機械可読媒体。
【請求項１８】
前記１組の制約は、前記基準線分の開始点での前記５次多項式関数の１次導関数が前記基準線分の前記開始点での曲率に類似するとともに、前記基準線分の前記終了点での前記５次多項式関数の１次導関数が前記次の基準線分の前記開始点での曲率に類似するという条件を含む請求項１０に記載の非一時的機械可読媒体。
【請求項１９】
プロセッサと、前記プロセッサに接続されて命令を記憶するメモリとを備えるデータ処理システムであって、
前記命令がプロセッサにより実行される場合に、
地図データを処理することにより、第１位置から第２位置までの自動運転車両ルートに沿って基準線を定義する複数の点を生成し、それぞれの点が二次元座標を含み、且つ連続点対毎が前記基準線に沿って基準線分を形成することと、
基準線分毎の長さ、点毎の二次元座標、基準線分毎の方向、基準線分毎の曲率及び基準線分毎の曲率変化率の１つまたは複数を含む最適化パラメータを初期化することと、
目標関数の出力が最小化されるとともに、前記基準線分に関連する１組の制約を満足するように、前記ルートの前記最適化パラメータを最適化することと、
最適化されたパラメータに基づいて、前記自動運転車両を前記第１位置から前記第２位置にガイドするための参照として使用される平滑基準線を生成すること、を前記プロセッサに実行させるデータ処理システム。
【請求項２０】
前記最適化パラメータを初期化することは、基準線分毎の長さを連続点間の距離に初期化することと、点毎の二次元座標を地図データからの初期生成座標に初期化することと、基準線分毎の方向を２つの連続点間の逆接線方向に初期化することと、基準線分毎の曲率をゼロに初期化することと、基準線毎の変化率をゼロに初期化することと、を含む請求項１９に記載のシステム。
【請求項２１】
コンピュータプログラムであって、
前記コンピュータプログラムがプロセッサにより実行されると、請求項１〜９のいずれか一項に記載の方法を実現させるコンピュータプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施態様は、主に自動運転車両を操作することに関する。より具体的には、本発明の実施態様は、自動運転車両の軌跡を操作するための基準線を生成することに関する。
【背景技術】
【０００２】
自動運転モードで運転する（例えば、無人運転）車両は、乗員、特に運転者を運転にかかる役割の一部から解放することが可能である。自動運転モードで運転する場合に、車両は、車載センサを利用して各位置に案内されることにより、最少のヒューマンコンピュータインタラクションや乗員なしなどの状況で走行することができる。
【０００３】
運動計画及び制御は、自動運転の重要な操作である。具体的には、軌跡計画またはルート計画は、自動運転システムの重要な構成部分である。従来の計画技術は、高質量の自動運転車両用の案内経路である基準線、例えば道路の中心線に大きく依存して、安定的な軌跡を生成する。通常、直接的にセンサから取得する地図データ（通常に、世界座標系における二次元（２Ｄ）点列）が所要の平滑度を提供することができないとともに、直接的に地図データを使用することにより、計画部が計画周期同士の間で不安定で且つ振動する軌跡を生成するおそれがある。
【発明の概要】
【課題を解決するための手段】
【０００４】
本発明の一態様によれば、自動運転車両を操作するためのコンピュータで実施される方法であって、地図データを処理することにより、第１位置から第２位置までの自動運転車両ルートに沿って基準線を定義する複数の点を生成し、それぞれの点が二次元座標を含み、且つ連続点対毎が前記基準線に沿って基準線分を形成することと、基準線分毎の長さと、点毎の二次元座標と、基準線分毎の方向と、基準線分毎の曲率と、基準線分毎の曲率変化率を備える最適化パラメータを初期化することと、目標関数の出力が最小化されるとともに、前記基準線分に関連する１組の制約を満足するように、前記ルートの前記最適化パラメータを繰り返して最適化することと、最適化されたパラメータに基づいて、前記自動運転車両を前記第１位置から前記第２位置にガイドするための参照として使用される平滑基準線を生成することと、を備える方法を提供する。
【０００５】
本発明の他の態様によれば、命令が記憶されている非一時的機械可読媒体であって、前記命令がプロセッサにより実行される場合に、地図データを処理することにより、第１位置から第２位置までの自動運転車両ルートに沿って基準線を定義する複数の点を生成し、それぞれの点が二次元座標を含み、且つ連続点対毎が前記基準線に沿って基準線分を形成することと、基準線分毎の長さと、点毎の二次元座標と、基準線分毎の方向と、基準線分毎の曲率と、基準線分毎の曲率変化率を備える最適化パラメータを初期化することと、基準線分毎を定義する５次多項式関数に基づく目標関数の出力が最小化されるとともに、前記基準線分に関連する１組の制約を満足するように、前記ルートの前記最適化パラメータを最適化することと、最適化されたパラメータに基づいて、前記自動運転車両を前記第１位置から前記第２位置にガイドするための参照として使用される平滑基準線を生成すること、を前記プロセッサに実行させる機械可読媒体を提供する。
【０００６】
本発明の更なる態様によれば、プロセッサと、前記プロセッサに接続されて命令を記憶するメモリとを備えるデータ処理システムであって、前記命令がプロセッサにより実行される場合に、地図データを処理することにより、第１位置から第２位置までの自動運転車両ルートに沿って基準線を定義する複数の点を生成し、それぞれの点が二次元座標を含み、且つ連続点対毎が前記基準線に沿って基準線分を形成することと、基準線分毎の長さ、点毎の二次元座標、基準線分毎の方向、基準線分毎の曲率及び基準線分毎の曲率変化率の１つまたは複数を備える最適化パラメータを初期化することと、目標関数の出力が最小化されるとともに、前記基準線分に関連する１組の制約を満足するように、前記ルートの前記最適化パラメータを最適化することと、最適化されたパラメータに基づいて、前記自動運転車両を前記第１位置から前記第２位置にガイドするための参照として使用される平滑基準線を生成すること、を前記プロセッサに実行させるデータ処理システムを提供する。
【図面の簡単な説明】
【０００７】
本発明の実施態様は図面の各図において限定的ではなく例示的に示され、図面において同一の参照符号が同様な素子を示す。
【図１】一部の実施態様にかかるネットワーク化システムを示すブロック図である。
【図２】一部の実施態様にかかる自動運転車両の例を示すブロック図である。
【図３Ａ】一部の実施態様にかかる自動運転車両とともに使用される感知・計画システムの例を示すブロック図である。
【図３Ｂ】一部の実施態様にかかる自動運転車両とともに使用される感知・計画システムの例を示すブロック図である。
【図４】一実施態様にかかる計画モジュールの例を示すブロック図である。
【図５】一実施態様にかかる複数の基準線分に分割される基準線を示す。
【図６】一実施態様にかかる複数のサブセグメントにさらに分割される基準線分を示す。
【図７】一実施態様にかかる最初基準線及び最適化基準線を示す。
【図８】一実施態様にかかる基準線を最適化するためのプロセスの例を示すフローチャートである。
【図９】一実施態様にかかる基準線を最適化するためのプロセスの更なる例を示すフローチャートである。
【図１０】一実施態様にかかる最適化パラメータを変更する例を示すフローチャートである。
【図１１】一実施態様にかかるデータ処理システムを示すブロック図である。
【発明を実施するための形態】
【０００８】
以下、検討する詳細を参照しながら本発明の各実施態様及び局面を記載して、図面において前記各実施態様を示す。下記記載及び図面は、本発明を説明するためのものであり、本発明を限定するためのものとして解釈されるべきではない。特定の詳細を多く記載することは、本発明の各実施態様を完全に理解するためである。しかしながら、本発明の実施態様を簡潔的に検討するために、周知または通常の詳細を記載しない場合がある。
【０００９】
本明細書において「一実施態様」または「実施態様」を言及することは、当該実施態様によって説明される特定の特徴、構成や特性が本発明の少なくとも１つの実施態様に含まれることを意味する。「一実施態様では」という語句の本明細書における各箇所での記載のすべては、必ずしも同一の実施態様を指すことに限定されない。
【００１０】
一部の実施態様によれば、２Ｄ点列の形式となる地図データを使用して最小曲率変化を有する平滑で且つ区分的に接続される基準線を生成するための新規な制約付き数値最適化方法を利用する。２Ｄ点列を指定すると、システムは、まず任意の５次多項式による螺旋経路により連続点を接続する。それらの区分的経路を擾乱させることにより、システムを最適化させてそれらの経路の最適集合を見つけて、それらの経路は、全体として最小曲率変化を有するとともに、３次導関数が接合点で平滑的に接続するまで繰り返す。
【００１１】
５次多項式による螺旋経路は、区分的経路として使用されて、目標の作成を簡略化する。最適化の目的は、基準線に沿う曲率変化全体を最小化することにある。しかしながら、区分的経路が世界座標系（例えば、デカルト空間）で定義されると、目標の作成は極めて複雑になる。上記問題を解決するために、螺旋経路（即ち、曲線方向は曲線長さの関数である）が区分的経路として使用されることにより、目標の作成が容易になる。螺旋経路における点の座標は、数値積分により算出されることが可能である。また、ユーザは、その信頼水準に応じて地図データに対する「信頼」を定義する。「信頼」について、１つの入力点の最終出力における最大偏差を使用してモデリングすることが可能であり、且つ上記方法で直接に考えることが可能である。
【００１２】
一実施態様によれば、自動運転車両（ＡＤＶ）に関連する第１位置から第２位置までの軌跡またはルートを表す第１基準線を受信する。第１基準線は、第１位置から第２位置までのルートに関連する地図データから生成される。第１基準線は、複数の基準線分に分割される。基準線分毎に５次多項式関数（単に５次関数ともいう）を定義することにより、対応する基準線分を表す。基準線分の５次多項式関数に基づいて目標関数を特定する。そして、基準線分に関連する１組の制約に照らして５次多項式関数のパラメータまたは係数を最適化することにより、目標関数の出力が最小化されるとともに、上記１組の制約を満足する。そして、目標関数の５次多項式関数の最適化されたパラメータまたは係数に基づいて第２基準線を生成する。そして、第２基準線を使用してＡＤＶに対して軌跡またはルートを計画する。
【００１３】
一実施態様では、目標関数は、すべての基準線分の５次多項式関数の出力全体の総和を示す。特定の実施態様では、基準線分の５次多項式関数の２次導関数の総和を参照して目標関数を構成する。上記１組の制約に照らして、基準線両端の基準線方向、曲率、曲率変化率及び基準線分の長さに基づいて基準線分毎の５次多項式関数の係数を特定する。一実施態様では、５次多項式関数のパラメータを最適化することは、５次多項式関数毎の係数を最適化して、５次多項式関数の出力が最小曲率変化を有するようにすることを含む。
【００１４】
一実施態様では、上記１組の制約は、基準線分の開始点での５次多項式関数の１次導関数が基準線分の開始点での曲率に類似するという条件をさらに含む。基準線分の終了点での５次多項式関数の１次導関数は、次の基準線分の開始点での曲率と同様または類似である。他の実施態様では、上記１組の制約は、基準線分の開始点での５次多項式関数の２次導関数が基準線分の開始点での曲率変化率に類似するという条件をさらに含む。基準線分の終了点での５次多項式関数の２次導関数は、次の基準線分の開始点での曲率変化率と同様または類似である。上記１組の制約は、第１基準線の端点と５次多項式関数から導出される相応的な端点との差分が所定の閾値よりも小さいという条件をさらに含み、上記閾値は、ユーザにより設置可能なものであってもよく、例えば、ＡＤＶのセンサに関連する信頼度または信頼水準に依存する。
【００１５】
図１は、本発明の一実施態様にかかる自動運転車両のネットワーク構成を示すブロック図である。図１を参照すると、ネットワーク構成１００は、ネットワーク１０２を介して１つまたは複数のサーバ１０３〜１０４に対して通信可能に接続する自動運転車両１０１を備える。１つの自動運転車両のみを示すが、複数の自動運転車両は、ネットワーク１０２を介して相互に接続し、および／またはサーバ１０３〜１０４に接続可能である。ネットワーク１０２は、いずれのタイプのネットワークであってもよく、例えば、有線または無線のローカルエリアネットワーク（ＬＡＮ）、インターネットのような広域ネットワーク（ＷＡＮ）、セルラ網、衛星ネットワークまたはそれらの組み合せである。サーバ１０３〜１０４は、いずれの形式のサーバまたはサーバークラスタであってもよく、例えば、ネットワークサーバやクラウドサーバ、アプリケーションサーバ、バックエンドサーバまたはそれらの組み合せである。サーバ１０３〜１０４は、データ解析サーバやコンテンツサーバ、交通情報サーバ、地図・関心点（ＭＰＯＩ）サーバまたは位置サーバなどであってもよい。
【００１６】
自動運転車両とは、自動運転モードにある可能に配置される車両を指し、前記自動運転モードで、車両は、運転者からの入力が非常に少なく又は完全にない状況で環境を通過するように案内される。そのような自動運転車両は、車両運転環境に関する情報を検出可能に配置される１つまたは複数のセンサを有するセンサシステムを備えることが可能である。前記車両及びかかるコントローラは、検出された情報を使用して前記環境を通過するように案内される。自動運転車両１０１は、マニュアルモード、全自動運転モードまたは一部自動運転モードで運転することが可能である。
【００１７】
一実施態様では、自動運転車両１０１は、感知・計画システム１１０と、車両制御システム１１１と、無線通信システム１１２と、ユーザインタフェースシステム１１３と、センサシステム１１５とを備えるが、これに限定されない。自動運転車両１０１は、通常の車両に含まれる一部の汎用的な部材、例えば、エンジン、車輪、ステアリングホイール、変速機などを備えることが可能であり、前記部材は、車両制御システム１１１および／または感知・計画システム１１０により多種の通信信号および／または命令で制御され、当該多種の通信信号および／または命令は、例えば、加速信号または命令、減速信号または命令、操舵信号または命令、ブレーキ信号または命令などである。
【００１８】
部材１１０〜１１５同士は、インターコネクト、バス、ネットワークまたはそれらの組合せを介して通信可能に接続されることが可能である。例えば、部材１１０〜１１５同士は、コントローラエリアネットワーク（ＣＡＮ）バスを介して通信可能に接続されることが可能である。ＣＡＮバスは、マイクロコントローラと装置とがホストなしのアプリケーションで相互に通信することを許容するように設計される車両バス規格である。それは、最初に自動車における多重化電気配線のために設計される、メッセージベースのプロトコルであるが、様々な他の環境にも適用される。
【００１９】
図２を参照すると、一実施態様では、センサシステム１１５は、１つまたは複数のカメラ２１１と、全地球測位システム（ＧＰＳ）ユニット２１２と、慣性計測ユニット（ＩＭＵ）２１３と、レーダユニット２１４と、光検出・測距（ＬＩＤＡＲ）ユニット２１５とを備えるが、これに限定されない。ＧＰＳユニット２１２は、自動運転車両の位置に関する情報を提供するように操作可能な送受信器を備えることが可能である。ＩＭＵユニット２１３は、慣性加速度に基づいて自動運転車両の位置及び方向変化を検知可能である。レーダユニット２１４は、電波信号により自動運転車両のローカル環境における対象を検知するシステムを表すことが可能である。一部の実施態様では、レーダユニット２１４は、対象に加え、対象の速度および／または前進方向を検知可能である。ＬＩＤＡＲユニット２１５は、レーザーにより自動運転車両が所在する環境における対象を検知することが可能である。ＬＩＤＡＲユニット２１５は、他のシステム部材に加え、１つまたは複数のレーザ光源、レーザスキャナ及び１つまたは複数の検出器を備えることが可能である。カメラ２１１は、自動運転車両の周囲の環境の画像を撮像するための１つまたは複数の装置を備えることが可能である。カメラ２１１は、スチルカメラおよび／またはビデオカメラであってもよい。カメラは、機械的に移動可能なものであってもよく、例えば、カメラが回転および／または傾斜するステージに取り付けられることにより移動可能である。
【００２０】
センサシステム１１５は、例えば、ソナーセンサや赤外線センサ、操舵角センサ、スロットルセンサ、ブレーキセンサ、オーディオセンサ（例えば、マイクロフォン）などの他のセンサを備えることが可能である。オーディオセンサは、自動運転車両の周囲の環境から音声を収音するように配置可能である。操舵角センサは、ステアリングホイール、車両の車輪またはそれらの組み合せの操舵角を検知するように配置可能である。スロットルセンサ及びブレーキセンサは、それぞれ車両のスロットル位置及びブレーキ位置を検知する。スロットルセンサ及びブレーキセンサは、集積式スロットル／ブレーキセンサに集積される場合もある。
【００２１】
一実施態様では、車両制御システム１１１は、操舵ユニット２０１と、スロットルユニット２０２（加速ユニットともいう）と、ブレーキユニット２０３とを備えるが、これに限定されない。操舵ユニット２０１は、車両の方向または前進方向を調整するためのものである。スロットルユニット２０２は、モータまたはエンジンの速度を制御することにより車両の速度及び加速度を制御するためのものである。ブレーキユニット２０３は、摩擦を与えることにより、車両の車輪またはタイヤを減速させて車両を減速させる。なお、図２に示す部材は、ハードウェア、ソフトウェアまたはそれらの組み合せで実現されることが可能である。
【００２２】
図１に戻って、無線通信システム１１２は、自動運転車両１０１と、例えば装置やセンサ、他の車両などの外部システムとの通信を可能にする。例えば、無線通信システム１１２は、１つまたは複数の装置と直接に無線通信を行い、または通信ネットワークを介して無線通信を行うことが可能であり、例えば、ネットワーク１０２を介してサーバ１０３〜１０４と通信する。無線通信システム１１２は、いずれのセルラ通信ネットワークまたは無線ローカルエリアネットワーク（ＷＬＡＮ）、例えば、ＷｉＦｉを利用して他の部材やシステムと通信可能である。無線通信システム１１２は、例えば赤外線リンクやブルートゥース（登録商標）などを利用して装置（例えば、乗員の携帯機器、表示装置、車両１０１内のスピーカ）と直接に通信可能である。ユーザインタフェースシステム１１３は、車両１０１内で実現される周辺装置の部分であることが可能であり、例えばキーボード、タッチパネル式表示装置、マイクフォン及びスピーカなどを含む。
【００２３】
特に自動運転モードで操作される際に、自動運転車両１０１の機能の一部または全部は、感知・計画システム１１０により制御または管理されることが可能である。感知・計画システム１１０は、必要なハードウェア（例えば、プロセッサ、メモリ、記憶装置）及びソフトウェア（例えば、オペレーティングシステム、計画・ルーティングプログラム）を含み、センサシステム１１５、制御システム１１１、無線通信システム１１２および／またはユーザインタフェースシステム１１３から情報を受信して、受信した情報を処理し、開始点から目的地点までのルートまたは経路を計画した後、計画・制御情報に基づいて車両１０１を運転する。その代わりに、感知・計画システム１１０は、車両制御システム１１１に集積されてもよい。
【００２４】
例えば、乗員であるユーザは、例えばユーザインタフェースを介して行程の開始位置及び目的地を指定することが可能である。感知・計画システム１１０は、行程に関するデータを取得する。例えば、感知・計画システム１１０は、ＭＰＯＩサーバから位置・ルート情報を取得することが可能であり、前記ＭＰＯＩサーバは、サーバ１０３〜１０４の一部であってもよい。位置サーバは位置サービスを提供するとともに、ＭＰＯＩサーバは地図サービス及び一部の位置のＰＯＩを提供する。その代わりに、そのような位置及びＭＰＯＩ情報は、感知・計画システム１１０の永続的記憶装置にローカルキャッシュされてもよい。
【００２５】
自動運転車両１０１がルートに沿って移動する際に、感知・計画システム１１０は、交通情報システムまたはサーバ（ＴＩＳ）からリアタイム交通情報を取得してもよい。なお、サーバ１０３〜１０４は、第三者エンティティにより操作されることが可能である。その代わりに、サーバ１０３〜１０４の機能は、感知・計画システム１１０に集積されてもよい。感知・計画システム１１０は、リアタイム交通情報、ＭＰＯＩ情報及び位置情報、並びにセンサシステム１１５により検出または検知されたリアタイムローカル環境データ（例えば、障害物、対象、周辺車両）に基づいて、最適ルートを計画して、計画したルートに応じて、例えば制御システム１１１を介して車両１０１を運転すること可能であり、これにより、安全で且つ効率よく指定の目的地に到達することができる。
【００２６】
サーバ１０３は、種々のユーザに対してデータ解析サービスを提供するデータ解析システムであってもよい。一実施態様では、データ解析システム１０３は、データ収集器１２１及び機械学習エンジン１２２を備える。データ収集器１２１は、種々の車両（自動運転車両または人間の運転者が運転する通常の車両）から運転統計データ１２３を収集する。運転統計データ１２３は、発行する運転命令（例えば、スロットル、ブレーキ、操舵命令）及び車両のセンサにより異なる時点で捕捉された車両の応答（例えば、速度、加速、減速、方向）を示す情報を含む。運転統計データ１２３は、異なる時点での運転環境を記述する情報、例えば、ルート（開始位置及び目的地位置を備える）、ＭＰＯＩ、道路状況、気候状況などをさらに含むことが可能である。
【００２７】
機械学習エンジン１２２は、運転統計データ１２３に基づいて、種々の目的で、１組のルール、アルゴリズムおよび／または予測モデル１２４を生成または学習する。例えば、初期係数またはパラメータで１組の５次多項式関数を選択して定義することが可能である。また、運転統計１２３から取得可能な、例えばセンサ仕様及び特定の車両設計のハードウェア特性に基づいて、１組の制約を定義することが可能である。
【００２８】
図３Ａ及び図３Ｂは一実施態様にかかる自動運転車両とともに使用される感知・計画システムの例を示すブロック図である。システム３００は、図１の自動運転車両１０１の一部として実現されることが可能であり、感知・計画システム１１０と、制御システム１１１と、センサシステム１１５とを備えるが、これに限定されない。図３Ａ〜図３Ｂを参照すると、感知・計画システム１１０は、位置計測モジュール３０１と、感知モジュール３０２と、予測モジュール３０３と、決定モジュール３０４と、計画モジュール３０５と、制御モジュール３０６と、ルートモジュール３０７とを備えるが、これに限定されない。
【００２９】
モジュール３０１〜３０７の一部または全部は、ソフトウェア、ハードウェアまたはそれらの組み合せにより実現されることが可能である。例えば、それらのモジュールは、永続的記憶装置３５２にインストールされて、メモリ３５１にローディングされ、且つ１つまたは複数のプロセッサ（図示せず）により実行されることが可能である。なお、それらのモジュールの一部または全部は、図２の車両制御システム１１１の一部または全部モジュールに対して通信可能に接続され、または集積される。モジュール３０１〜３０７の一部は、集積モジュールに集積されてもよい。
【００３０】
位置計測モジュール３０１は、自動運転車両３００の現在位置（例えば、ＧＰＳユニット２１２による）を特定するとともに、ユーザの行程やルートに関するデータ全体を管理する。位置計測モジュール３０１（地図及びルートモジュールともいう）は、ユーザの行程やルートに関するデータ全体を管理する。ユーザは、例えばユーザインタフェースを介してログインして、行程の開始位置及び目的地を指定する。位置計測モジュール３０１は、自動運転車両３００の地図・ルート情報３１１のような他の部材と通信して、行程に関するデータを取得する。例えば、位置計測モジュール３０１は、位置サーバと地図・ＰＯＩ（ＭＰＯＩ）サーバから位置・ルート情報を取得することが可能である。位置サーバが位置サービスを提供するとともに、ＭＰＯＩサーバが地図サービス及び一部の位置のＰＯＩを提供することにより、地図・ルート情報３１１の一部としてキャッシュされることが可能である。自動運転車両３００がルートに沿って移動する際に、位置計測モジュール３０１は、交通情報システムまたはサーバからリアタイム交通情報を取得してもよい。
【００３１】
感知モジュール３０２は、センサシステム１１５により提供されるセンサデータ及び位置計測モジュール３０１により取得される位置計測情報に基づいて、周囲環境への感知を特定する。感知情報は、通常の運転者がその運転している車両の周囲から感知したものを示す。感知は、例えば対象式による車線配置（例えば、直線車線または湾曲車線）、信号機信号、他の車両の相対位置、歩行者、建物、横断歩道や他の交通に関する標識（例えば、止まれ標識、道譲れ標識）などを含むことが可能である。
【００３２】
感知モジュール３０２は、コンピュータビジョンシステムまたはコンピュータビジョンシステムの機能を含むことが可能であり、１つまたは複数カメラにより撮像された画像を処理して解析することにより、自動運転車両環境における対象および／または特徴を認識する。前記対象は、交通信号、道路境界、他の車両、歩行者および／または障害物などを含むことが可能である。コンピュータビジョンシステムは、対象認識アルゴリズム、ビデオトラッキング及び他のコンピュータビジョン技術を使用することが可能である。一部の実施態様では、コンピュータビジョンシステムは、環境地図の描画、対象のトラッキングや、及び対象の速度の推定などを行うことが可能である。感知モジュール３０２は、レーダおよび／またはＬＩＤＡＲのような他のセンサにより提供される他のセンサデータに基づいて、対象を検出してもよい。
【００３３】
予測モジュール３０３は、対象毎に対して、対象が現在の場合にどのように動作するかを予測する。予測は、感知データに基づいて行われるものであり、当該感知データは、１組の地図／ルート情報３１１及び交通ルール３１２を考慮した時点で運転環境を感知したものである。例えば、対象が対向車両であり且つ現在運転環境が交差点を含むと、予測モジュール３０３は、車両が直進するか、または旋回するかを予測する。感知データは、交差点に信号機がないことを示すと、予測モジュール３０３は、車両が交差点に進入する前に完全に停車しなければいけない可能性がある、と予測することがある。感知データは、車両が現在で左折専用車線または右折専用車線にあることを示すと、予測モジュール３０３は、車両がそれぞれ左折または右折を行う可能性が高い、と予測することがある。
【００３４】
決定モジュール３０４は、対象毎に対して、どのように対象を対処するかを决定する。例えば、特定の対象（例えば、交差ルートにある他の車両）及び対象を記述するメタデータ（例えば、速度、方向、操舵角）に対して、決定モジュール３０４は、前記対象に行き合う時にどうのように動作するか（例えば、追い越し、一時停止、停止、越え）を決定する。決定モジュール３０４は、例えば交通ルールや運転ルール３１２のルール集合に基づいて、そのような决定を行うことが可能であり、前記ルール集合が永続的記憶装置３５２に記憶されることが可能である。
【００３５】
ルートモジュール３０７は、開始点から目的地点までの１つまたは複数のルートや経路を提供するように配置される。開始位置から目的地位置までの所定の行程について、例えばユーザから所定の行程を受信して、ルートモジュール３０７は、地図・ルート情報３１１を取得して、開始位置から目的地位置までのすべてのルートまたは経路を特定する。ルートモジュール３０７は、開始位置から目的地位置までの各経路を指定した地形図式の基準線を生成することが可能である。基準線とは、例えば、他の車両、障害物や交通状況などの影響を受けない、理想的なルートまたは経路である。即ち、道路には他の車両、歩行者や障害物がないと、ＡＤＶは、正確または厳密に基準線に追従すべきである。そして、地形図を決定モジュール３０４および／または計画モジュール３０５に供給する。決定モジュール３０４および／または計画モジュール３０５は、すべてのルートをチェックして、他のモジュールにより提供される他のデータに基づいて、最適ルートの１つを選択して補正する。前記他のデータは、例えば、自位置計測モジュール３０１からの交通状況、感知モジュール３０２により感知された運転環境及び予測モジュール３０３により予測された交通状況である。時点での特定の運転環境によっては、ＡＤＶを制御するための実際のルートまたは経路は、ルートモジュール３０７により提供される基準線に対して近接し、または相違する可能性がある。
【００３６】
感知された対象毎に対する决定に基づいて、計画モジュール３０５は、ルートモジュール３０７により提供された基準線を基にして、自動運転車両に対してルートまたは経路、及び運転パラメータ（例えば、距離、速度および／または旋回角度）を計画する。言い換えれば、所定の対象に対して、決定モジュール３０４は、当該対象が何をすべきかを決定する一方、計画モジュール３０５は、どのようにするかを決定する。例えば、所定の対象に対して、決定モジュール３０４は、前記対象を越えることを決定することが可能である一方、計画モジュール３０５は、前記対象の左側か右側かで越えることを決定することが可能である。計画・制御データは、計画モジュール３０５により生成されて、車両３００が次の移動サイクル（例えば、次のルート／経路セグメント）でどのように移動するかを記述する情報を含む。例えば、計画・制御データは、車両３００が３０ｍｐｈの速度で１０メートル移動した後、２５ｍｐｈの速度で右側の車線に変更することを指示可能である。
【００３７】
計画・制御データに基づいて、制御モジュール３０６は、計画・制御データにより限定されるルートまたは経路に応じて、適当な命令または信号を車両制御システム１１１に発信することにより、自動運転車両を制御して運転する。前記計画・制御データは、ルートまたは経路に沿って、異なる時点で適当な車両配置または運転パラメータ（例えば、スロットル、ブレーキおよび操舵命令）を使用して車両をルートまたは経路の第１点から第２点に走行させるための充分な情報を含む。
【００３８】
一実施態様では、計画段階が複数の計画周期（命令周期ともいう）で実行され、例えば、それぞれの時間間隔が１００ミリ秒（ｍｓ）である周期で実行される。計画周期または命令周期のそれぞれに対して、計画・制御データに基づいて１つまたは複数の制御命令を発行する。即ち、１００ｍｓ毎に、計画モジュール３０５は、次のルートセグメントまたは経路セグメントを計画し、例えば、目標位置、及びＡＤＶが目標位置に到達するのに必要な時間を含む。その代わりに、計画モジュール３０５は、具体的な速度、方向および／または操舵角などを規定してもよい。一実施態様では、計画モジュール３０５は、次の所定の期間（例えば、５秒）に対してルートセグメントまたは経路セグメントを計画する。計画周期毎に、計画モジュール３０５は、前の周期で計画した目標位置に基づいて現在周期（例えば、次の５秒）のための目標位置を計画する。そして、制御モジュール３０６は、現在周期の計画・制御データに基づいて１つまたは複数の制御命令（例えば、スロットル、ブレーキ、操舵制御命令）を生成する。
【００３９】
なお、決定モジュール３０４と計画モジュール３０５とは、集積モジュールに集積されることが可能である。決定モジュール３０４／計画モジュール３０５は、自動運転車両の運転経路を決定するために、ナビゲーションシステムまたはナビゲーションシステムの機能を含むことが可能である。例えば、ナビゲーションシステムは、自動運転車両が最終目的地への車道に基づく経路に沿って前進すると同時に、感知した障害物を実質的に回避するような経路に沿って、自動運転車両が移動することを達成するための一連の速度及び前進方向を決定すること可能である。目的地は、ユーザインタフェースシステム１１３を介したユーザ入力に基づいて設定可能である。ナビゲーションシステムは、自動運転車両が運転していると同時に、動的に運転経路を更新することが可能である。ナビゲーションシステムは、ＧＰＳシステム及び１つまたは複数の地図からのデータを合併して、自動運転車両用の運転経路を決定することが可能である。
【００４０】
決定モジュール３０４／計画モジュール３０５は、自動運転車両の環境における潜在的な障害物を認識、評価して、回避しまたは他の方式で超えるために、衝突防止システムまたは衝突防止システムの機能を含むことが可能である。例えば、衝突防止システムは、制御システム１１１における１つまたは複数のサブシステムを操作することにより方向変更操作、操舵操作、ブレーキ操作などを取ることで、自動運転車両のナビ中の変化を実現することが可能である。衝突防止システムは、周囲の交通パターン、道路状況などに基づいて、自動的に実行可能な障害物回避操作を決定することが可能である。衝突防止システムは、自動運転車両が方向変更して進入しようとする隣接の領域に位置する車両、建物のような障害物などを他のセンサシステムが検出した際に、方向変更操作を取らないように、配置される可能である。衝突防止システムは、使用可能であるとともに自動運転車両の乗員の安全性を最大化する操作を自動的に選択することが可能である。衝突防止システムは、自動運転車両の車室内に最小限の加速度が発生するように予測される回避操作を選択することが可能である。
【００４１】
ルートモジュール３０７は、地図情報（例えば、道路区間の情報、道路区間の車道情報及び車線の縁石からの距離情報）から基準ルートを生成することが可能である。例えば、道路は、３つの道路区間を示すように、｛Ａ、Ｂ、Ｃ｝区画やセグメントに分けられることが可能である。道路区間Ａの３つの車線は、｛Ａ１、Ａ２、Ａ３｝として挙げられる。基準ルートに沿う基準点を生成することにより基準ルートを生成する。例えば、車両車線に対して、ルートモジュール３０７は、地図データにより提供される車両車線の対向する２つの縁石や端点の中点を連結することが可能である。先に異なる時点で車両車線を走行する車両を示す、収集されたデータ点の中点及び機械学習データに基づいて、ルートモジュール３０７は、車両車線の所定近接度合い以内で収集されたデータ点の部分集合を選択して、収集されたデータ点の部分集合に基づく中点に対して平滑化関数を適用することで、基準点を算出することが可能である。
【００４２】
基準点または車線基準点に基づいて、ルートモジュール３０７は、基準点を補間することにより基準線を生成して、生成された基準線を車両車線上のＡＤＶを制御するための基準線として使用することが可能である。一部の実施態様では、基準線を表す基準点テーブル及び道路区間テーブルをリアタイムにＡＤＶにアップロードすることにより、ＡＤＶがＡＤＶの地理位置及び走行方向に基づいて基準線を生成可能である。例えば、一実施態様では、ＡＤＶは、到来予定の前方の道路区間を標識する経路セグメント識別子により、および／またはＡＤＶのＧＰＳ位置に基づいて、経路セグメント用のルーティングサービスを請求して基準線を生成する。経路セグメント識別子に基づいて、ルーティングサービスは、関心する道路区間のすべての車線用の基準点を含むＡＤＶ基準点テーブルに戻ることが可能である。ＡＤＶは、経路セグメントの車線用の基準点を参照して、車両車線上のＡＤＶを制御するための基準線を生成することが可能である。
【００４３】
しかしながら、地図データから生成される基準線が充分に平滑ではなく、乗員に不快感を与え、または車両に制御エラーが発生してしまう場合もある。基準点を通過する基準線は充分に平滑ではないことがある。充分に平滑な基準線を有するために、基準点毎の前后の曲率が相互に近接すべきである。また、曲率変化率が低減すべきである。
【００４４】
一実施態様によれば、例えば、計画モジュール３０５は、２Ｄ点列の形式となる地図データを使用して最小曲率変化を有する平滑で且つセグメントで接続する基準線を生成するための新規な制約付き数値最適化方法を利用する。２Ｄ点列を指定すると、システムは、まず任意の５次多項式による螺旋経路で連続点を接続する。それらの区分的経路を擾乱させることにより、最適化システムはそれらの経路の最適集合を見つけて、それらの経路は、全体として最小曲率変化を有するとともに、３次導関数が接合点で平滑的に接続されるまで繰り返す。
【００４５】
５次多項式による螺旋経路は、区分的経路として使用されて、目標の作成を簡略化する。最適化の目的は、基準線に沿う曲率変化全体を最小化することにある。しかしながら、区分的経路が世界座標系（例えば、デカルト空間）で定義されると、目標の作成は極めて複雑になる。上記問題を解決するために、螺旋経路（即ち、曲線方向は曲線長さの関数である）が区分的経路として使用されることにより、目標の作成が容易になる。螺旋経路における点の座標は、数値積分により算出されることが可能である。また、ユーザは、その信頼水準に応じて地図データに対する「信頼」を定義する。「信頼」について、１つの入力点の最終出力における最大偏差を使用してモデリングすることが可能であり、且つ上記方法で直接に考えることが可能である。
【００４６】
図４は、一実施態様にかかる計画モジュールの例を示すブロック図である。図４を参照すると、計画モジュール３０５は、セグメント手段４０１と、５次関数生成手段４０２と、目標関数生成手段４０３と、最適化手段４０４と、基準線生成手段４０５とを備えるが、これに限定されない。そられのモジュール４０１〜４０５は、ソフトウェア、ハードウェアまたはそれらの組合せにより実施されることが可能である。セグメント手段４０１は、第１基準線を複数の基準線分に分割するように配置される。５次関数生成手段４０２は、基準線分毎に対して、５次多項式関数を定義して生成することにより、対応する基準線分を表すように配置される。目標関数生成手段４０３は、基準線分の５次多項式関数に基づいて目標関数を生成するように配置される。５次多項式関数および／または目標関数は、予めに関数３１４の一部として配置して記憶されることが可能である。最適化手段４０４は、計画モジュール３０５の制約生成手段（図示せず）により制約３１３の一部として配置される１組の制約に照らして、目標関数を最適化することにより目標関数を最小にするように、配置される。基準線生成手段４０５は、最適化に基づいて（即ち、最適化された目標関数のパラメータまたは係数を用いて）、第２基準線を生成するように配置される。最適化の目的の１つは、第２基準線を表すための、第１基準線の相応的な最初基準点に近接するとともに基準線分間の曲率変化や変化率を最小に維持する１組の新たな基準点を決定することにある。小さい曲率変化により、平滑な基準線になる。
【００４７】
図５は、地図データに基づいて生成される基準線の例を示す図である。図５を参照すると、一実施態様によれば、セグメント手段４０１は、基準線５００を複数の基準線分に分割する。各基準線分は、２つの基準点により終了される。この例では、ｎ個の基準点（ｘ０，ｙ０）、（ｘ１，ｙ１）、……、（ｘｎ，ｙｎ）が存在して、本明細書では、基準線分５０１〜５０６という。基準線分毎は、線分長さｓに関連する。例えば、基準点（ｘ０，ｙ０）（ｘ１，ｙ１）間の基準線分は、線分長さｓ０に関連する。よって、ｎ個基準点に対して、（ｎ−１）個の基準線分が存在する。個別の５次多項式関数を使用して基準線分毎に対してモデリングを行う。
【００４８】
５次関数生成手段４０２は、基準線分毎に対して５次多項式関数θ（ｓ）を生成する。よって、少なくとも（ｎ−１）個の５次多項式関数θ０（ｓ）〜θｎ−１（ｓ）が存在する。一実施態様では、５次多項式関数のそれぞれは、対応する基準線分の開始基準点の方向を表す。５次多項式関数の導関数（例えば、１次導関数）は、基準線分の開始基準点の曲率を表して、Ｋ＝ｄθ／ｄｓで示す。５次多項式関数の２次導関数は、曲率変化または曲率変化率を表して、ｄＫ／ｄｓで示す。
【００４９】
説明のために、下記の各項目を定義する。
2020001678.tif 000030
【００５０】
セグメント螺旋経路毎は、開始方向（θ０）と、開始曲率（ｄθ０）と、開始曲率導関数（ｄ２θ０）と、終了方向（θ１）と、終了曲率（ｄθ１）と、終了曲率導関数（ｄ２θ１）と、開始点と終了点との間の曲線長さ（Δｓ）という７つのパラメータにより規定される。一実施態様では、５次多項式関数は下記の式（１）で定義されることが可能である。
2020001678.tif 000031
且つ、下記の式（２）〜（７）を満足する。
2020001678.tif 000032
【００５１】
上記制約に基づいて、すべての基準線分の５次多項式関数全体に対して最適化を行ことにより、ゼロセグメント長さでの基準線分（ｉ）を表す５次多項式関数の出力は、対応する基準線分（ｉ）の開始基準点での方向に一致または類似すべきである。５次多項式関数の１次導関数は、基準線分（ｉ）の開始基準点での曲率に一致または類似すべきである。５次多項式関数の２次導関数は、基準線分（ｉ）の開始基準点での曲率変化率に一致または類似すべきである。
【００５２】
同様に、完全セグメント長さ（ｓ）での基準線分（ｉ）を表す５次多項式関数の出力は、現在基準線分（ｉ）の終了基準点である次の基準線分（ｉ＋１）の開始基準点での方向に一致または類似すべきである。５次多項式関数の１次導関数は、次の基準線分（ｉ＋１）の開始基準点での曲率に一致または類似すべきである。５次多項式関数の２次導関数は、次の基準線分（ｉ＋１）の開始基準点での曲率変化率に一致または類似すべきである。
【００５３】
例えば、図５に示す基準線分５０１については、対応する５次多項式関数θ（０）の出力は、開始点（ｘ０，ｙ０）の方向または角度を表す。θ（Δｓ０）は、次の基準線分５０２の開始点である終了点（ｘ１，ｙ１）の方向を表す。θ（０）の１次導関数は、開始点（ｘ０，ｙ０）での曲率を表すとともに、θ（０）の２次導関数は、終了点（ｘ１，ｙ１）での曲率変化率を表す。θ（ｓ０）の１次導関数は、終了点（ｘ１，ｙ１）の曲率を表すとともに、θ（ｓ０）の２次導関数は、終了点（ｘ１，ｙ１）の曲率変化率を表す。
【００５４】
上記変数
2020001678.tif 000033
を代入することにより、５次多項式関数の係数ａ、ｂ、ｃ、ｄ、e及びfを解くための６つの式が存在する。例えば、上述したように、所定点での方向は、上記５次多項式関数により定義されることが可能である。
θ（ｓ）＝ａｓ5＋ｂｓ4＋ｃｓ3＋ｄｓ2＋ｅｓ＋ｆ            （８）
５次関数の１次導関数は、経路における点での曲率を表す。
ｄθ＝５ａｓ4＋４ｂｓ3＋３ｃｓ2＋２ｄｓ＋ｅ            （９）
５次関数の２次導関数は、経路における点での曲率変化率を表す。
ｄ2θ＝２０ａｓ3＋１２ｂｓ2＋６ｃｓ＋２ｄ            （１０）
【００５５】
所定の螺旋経路または基準線分については、開始点と終了点という２つの点に関し、各点の方向、曲率及び曲率変化率は、それぞれ上記式（８）〜（１０）で表すことが可能である。よって、螺旋経路毎または基準線分毎に、合計６つの式が存在する。それら６つの式は、対応する５次関数の係数ａ、ｂ、ｃ、ｄ、ｅ及びｆの特定に適用可能である。
【００５６】
螺旋経路がデカルト空間における連続基準点間の曲線を表すと、螺旋経路曲線長さとデカルト空間における位置との間の関連付けやブリッジを確立する必要がある。｛θi，ｄθi，ｄ2θi，θi+1，ｄθi+1，ｄ2θi+1，Δｓ｝により定義される螺旋経路θi（ｓ）及び経路開始点ｐi＝（ｘi，ｙi）が与えられており、点ｐ＝（ｘ，ｙ）の座標を特定する必要があり、ここで、いずれのｓ＝［０，Δｓ］とする。一実施態様では、所定点の座標は、下記の式（１１）〜（１２）により得られる。
2020001678.tif 000034
【００５７】
ｓ＝Δｓであると、曲線θｉ及び開始座標ｐｉ＝（ｘｉ，ｙｉ）を指定して、終了座標ｐｉ＋１が得られる。５次関数の最適化を行うことにより、螺旋経路の５次関数の全体出力が最小になるとともに、上記１組の制約を満足する。また、最適化により導出された終点の座標が初期基準線の対応座標に対して所定の範囲（例えば、公差、許容誤差）内にあることを求める。つまり、最適化された各点と初期基準線の対応点との間の差分は、所定の閾値内にあるべきである。
【００５８】
一実施態様によれば、すべての螺旋経路の５次関数に基づいて目標関数を定義する。上記制約を満足するとともに、目標関数の５次関数の入力パラメータ（例えば、
2020001678.tif 000035
）を最適化する。一実施態様では、目標関数は、すべての基準線分に関連する５次関数全体の総和を表して、最適化されることにより、目標関数の出力が最小になるとともに、上記１組の制約を満足する。今回の繰り返しの目標関数の出力が前回の繰り返しの目標関数の出力に類似するまで、最適化を繰り返して、変数を補正するとともに、前記１組の制約を評価する。ここで「類似」という用語とは、２回の連続繰り返しの出力間の差分が所定の閾値によりも低いことを指す。
【００５９】
そのような方法では、基準線を区分的５次螺旋経路列にモデリングして、図５に示すように、２つの連続する基準点が１本の螺旋経路に接続される。入力点がユーザにより定義または配置される１つまたは複数の所定限界内でその最初位置から少しずれることを許容する。前記限界は、地図データが生成される際にセンサ精度の信頼水準や処理標識誤差などをモデリングする。一実施態様では、ｎ個の点
2020001678.tif 000036
を指定して、以下のように最適化処理における変数を選択する。
2020001678.tif 000037
【００６０】
基準線の平滑度は、曲率変化率（即ち、５次関数θ（ｓ）の２次導関数）の絶対値としてモデリングされる。
【００６１】
一実施態様によれば、基準線分毎は、複数のサブセグメントに分割される。サブセグメントのそれぞれは、基準線分の区分的経路における区分的サブ経路を表す。図６は、ｍ個のサブセグメントに更に区画される基準線分のセグメントの図を示す。サブセグメントのそれぞれは、同一基準線分の５次関数で示す。よって、１本の区分的経路からのｍ個の中間点をプローブ点とすることがある。その目的は、サブセグメントの５次関数を最小化することにある。目標関数は、基準線分毎のサブセグメントの５次関数の出力の総和として定義される。一実施態様では、目標関数は、下記の式（１３）で定義される。
2020001678.tif 000038
下記の式（１４）で示す点位置移動制約を受ける。
2020001678.tif 000039
【００６２】
一実施態様では、目標関数は、下記の式（１５）で定義される。
2020001678.tif 000040
ただし、ｉは螺旋経路／線分のインデックスであり、ｊは相応的な螺旋経路ｉにおける評価点のインデックスであり、ω０、ω１及びω２は重み付けであって、例えば経験により決定されることが可能である。θ（ｓ）は、線分の関数、例えば、５次関数θ（ｓ）＝ａｓ5＋ｂｓ4＋ｃｓ3＋ｄｓ2＋ｅｓ＋ｆであり、すべての線分の総和により基準線全体が形成される。ｓjは、インデックスｊでの線分の点である。θ’（ｓ）は、線分の１次導関数である。θ’’（ｓ）は、線分の２次導関数であり、Δｓiは線分ｉの長さである。
【００６３】
曲率（例えば、線分の５次関数の１次導関数）と曲線の長さとを加算することにより、不要な曲線長さが不利になるとともに、毎本の曲線をできるだけ直線化する。
【００６４】
一実施態様では、目標関数は、下記の式（１６）で定義される。
2020001678.tif 000041
ただし、θ’’’（ｓ）は、線分毎の関数の３次導関数（例えば、θ（ｓ）は５次関数である）である。これにより、更に、不要な曲線長さが不利になるとともに、毎本の曲線をできるだけ直線化する。
【００６５】
一実施態様では、線分毎は５次関数θ（ｓ）＝ａｓ5＋ｂｓ4＋ｃｓ3＋ｄｓ2＋ｅｓ＋ｆとして定義されて、線分関数の導関数はセグメントの曲率を定義するとともに、線分関数の２次導関数は曲率の変化率を定義する。
【００６６】
一実施態様では、目標関数は、各５次多項式関数の２次導関数の２乗和を表す。
2020001678.tif 000042
は入力点pｉの最初位置を表すとともに、ｒｉは点pｉ用の限界であって、ユーザにより配置可能である。上述したように、座標(ｘｉ，ｙｉ)は、対応する５次関数の積分に基づいて導出されるものである。最適化により導出された新座標は、ＡＤＶを制御するための新基準線の形成に用いられる。図７は、最初基準線及び上記最適化による少なくとも一部の最適化基準線を示す。
【００６７】
図８は、一実施態様にかかる基準線を最適化するためのプロセスの例を示すフローチャートである。プロセス８００は、ソフトウェア、ハードウェアまたはそれらの組み合せを含む処理ロジックにより実行されることが可能である。例えば、プロセス８００は、図４の計画モジュール３０５により実行されることが可能である。図８を参照すると、操作８０１において、処理ロジックは、地図データに基づいて生成される第１基準線を受信する。第１基準線は、第１位置から第２位置までの軌跡またはルートを表し、ＡＤＶは、前記軌跡またはルートに従うべきである。操作８０２において、処理ロジックは、第１基準線を複数の基準線分に分割する。基準線分のぞれぞれは、開始基準点及び終了基準点により終了される。基準点のそれぞれは、１組の属性で示して、属性が基準点の２Ｄデカルト空間における位置（ｘ，ｙ）及び方向（θ）を含むが、これに限定されない。基準点での曲率Ｋは、方向（θ）の導関数に基づいて得られるとともに、曲率変化率は、曲率Ｋの導関数に基づいて得られる。
【００６８】
基準線分毎に対して、操作８０３において、処理ロジックは、対応する基準線分を表すための５次多項式関数を特定する。操作８０４において、処理ロジックは、基準線分の５次多項式関数に基づいて目標関数を特定する。操作８０５において、処理ロジックは、１組の制約（例えば、θ、ｄθ、ｄ２θ、ｘ、ｙの制約）に照らして目標関数の５次多項式関数のパラメータを最適化することにより、前記１組の制約を満足するとともに、目標関数の出力が最小になる。操作８０６において、目標関数の５次多項式関数の最適化されたパラメータに基づいて第２基準線を生成する。第２基準線は、ＡＤＶの制御に用いられる。
【００６９】
最適化の実行際に、複数回の繰り返しにおいて５次多項式関数のパラメータ（例えば、係数ａ、ｂ、ｃ、ｄ、ｅ及びｆ）を繰り返して調整、最適化するとともに、目標関数の出力を評価する。基準線分毎の入力点（例えば、ｘ、ｙ、方向、曲率及び曲率変化率）に基づいて前記パラメータを配置する。その目的は、５次多項式関数毎の位置（ｘ，ｙ）、方向、曲率及び曲率変化率を最適化することにより、目標関数の出力が最小になることである。最適化して所定の退出条件になると、前記プロセスが停止するとともに、最新の１組のパラメータを取得して新基準線を生成する。一実施態様では、２回の連続する最適化の繰り返しの出力間の差分が所定閾値よりも低くなると、繰り返しプロセスが停止する。または、繰り返し回数が所定の回数になると、前記プロセスが停止する。
【００７０】
図９を参照すると、処理９１０において、自動運転車両（ＡＤＶ）および／またはＡＤＶ内のシステムは、地図データを処理することにより、第１位置から第２位置までのＡＤＶルートに沿って基準線を定義する複数の点を生成することが可能であり、それぞれの点が二次元座標を有し、且つ連続点対毎が基準線に沿って基準線分を生成する。次に、ＡＤＶは、最適化パラメータ、例えば、基準線分毎の長さ、点毎の二次元座標、基準線分毎の方向、基準線分毎の曲率及び基準線分の曲率変化率の１つまたは複数を初期化することが可能である。
【００７１】
例えば、初期化処理９２０において、最適化パラメータを初期化することは、基準線分毎の長さを連続点間の距離に初期化することと、点毎の二次元座標を地図データからの初期生成座標に初期化することと、基準線分毎の方向を２つの連続点間の逆接線方向に初期化することと、基準線分毎の曲率をゼロに初期化することと、基準線毎の変化率をゼロに初期化することと、を含むことが可能である。言い換えれば、線分毎は、直線に初期化されることが可能である（曲線がない）。
【００７２】
最適化処理９３０において、ＡＤＶは、ルートの最適化パラメータを最適化することにより、目標関数の出力が最小化されるとともに、基準線分に関連する１組の制約を満足するようにすることが可能である。例えば、基準線分毎は、５次多項式関数により定義されることが可能であるとともに、目標関数は、５次多項式関数及び最適化パラメータに基づくことが可能である。
【００７３】
一実施態様では、最適化パラメータを変更することにより、基準線分の開始点での５次多項式関数の出力が基準線分の開始点でのＡＤＶの方向に類似するとともに、基準線分の終了点での５次多項式関数の出力が次の基準線分の開始点でのＡＤＶの方向に類似するようにすることが可能である。
【００７４】
一実施態様では、前記１組の制約は、５次多項式関数の基準線分の開始点での１次導関数が基準線分の開始点での曲率に類似するとともに、５次多項式関数の基準線分の終了点での１次導関数が次の基準線分の開始点での曲率に類似するという条件を含む。
【００７５】
生成処理９４０において、ＡＤＶは、最適化されたパラメータに基づいて、ＡＤＶを第１位置から第２位置にガイドするための基準として使用される平滑基準線を生成することが可能である。例えば、ＡＤＶは、最適化された変数に基づいて線分毎の５次関数θ（ｓ）の係数ａ〜ｆのそれぞれを算出するとともに、平滑基準線を生成することが可能である。平滑基準線は、線分毎の最適化された５次関数に従って、新たな座標を有する新たな点から形成されることが可能である。
【００７６】
一実施態様では、目標関数は、基準線分毎の曲線長さと、基準線分毎の曲率（例えば、線分を定義する５次関数の導関数）の２乗と、基準線分毎の曲率の変化率（例えば、曲率の導関数）の２乗との総和を含むことが可能である。
【００７７】
一実施態様では、目標関数は、基準線分毎の曲線長さと、基準線分毎の曲率（例えば、線分を定義する５次関数の導関数）の２乗と、基準線分毎の曲率の変化率（例えば、曲率の導関数）の２乗と、基準線分毎の曲率の変化率の導関数の２乗との総和を含むことが可能である。
【００７８】
図１０を参照すると、一実施態様では、前記最適化パラメータを最適化することは、変更処理９３２において、最適化パラメータを変更することにより、目標関数の出力を最小化することを含む。例えば、目標関数が下記の式（１７）で定義されると、最適化パラメータを変更することにより、目標関数が出力する値を減少する。
2020001678.tif 000043
【００７９】
次に、評価処理９３４において、ＡＤＶは、点偏差が偏差閾値内にあるかを評価することが可能である。例えば、初期化の際または地図データから生成する際に、例えば、特定点の座標の前記特定点の初期座標からの変化により点偏差を定義することが可能である。点偏差が偏差閾値を越えると、ＡＤＶは、目標関数の出力が最小化されるとともに、点偏差が偏差閾値内にあるまで、最適化パラメータを繰り返して変更することが可能である。例えば、前の変更のように異なる方向に前記最適化パラメータを変更すること、および／または異なるステップサイズで前記最適化パラメータを変更することにより、点偏差を減少することが可能である。
【００８０】
例えば、点偏差は、地図データまたは地図データを生成するセンサの信頼性および／または信頼度に基づく所定の閾値であることが可能である。
【００８１】
目標関数における各項（例えば、曲線長さ、曲率の２乗、曲率変化率の２乗及び曲率変化率の導関数の２乗）に対して重み付けを行う。
【００８２】
なお、上記のように記載された部材の一部または全部は、ソフトウェア、ハードウェアまたはそれらの組み合せにより実現されることが可能である。例えば、そのような部材は、永続的記憶装置にインストールして記憶されるソフトウェアとして実現されることが可能であり、前記ソフトウェアがプロセッサ（図示せず）によりメモリにローディングされて、メモリで実行されることで、本発明に記載のプロセスや操作を実施する。その代わりに、そのような部材は、専用ハードウェア（例えば、集積回路（例えば、特定用途向け集積回路（ＡＳＩＣ）、デジタルシグナルプロセッサ（ＤＳＰ）またはフィールドプログラマブルゲートアレイ（ＦＰＧＡ））にプログラミングされ、又は組み込まれる、実行可能なコードとして実現されてもよく、前記実行可能なコードが、アプリケーションからの相応的なドライバおよび／またはオペレーティングシステムを介してアクセス可能である。また、そのような部材は、プロセッサまたはプロセッサコアにおける特定ハードウェアロジックとして実現されることが可能であり、ソフトウェア部材が１つまたは複数の特定命令によりアクセス可能な命令セットの一部とされる。
【００８３】
図１１は、本発明の一実施態様とともに使用可能なデータ処理システムの例を示すブロック図である。例えば、システム１５００は、上述のように上記プロセスまたは方法のいずれか１つを実行する任意のデータ処理システム、例えば、図１の感知・計画システム１１０またはサーバ１０３〜１０４のいずれか１つを示す。システム１５００は、様々の部材を備えることが可能である。それらの部材は、集積回路（ＩＣ）、集積回路の一部、別体の電子デバイスや回路基板（例えば、コンピュータシステムのマザーボードまたは挿入カード）に適用される他のモジュールとして実現され、又は、他の方式でコンピュータシステムのラックに組み込まれる部材として実現されることが可能である。
【００８４】
なお、システム１５００は、コンピュータシステムの多くの部材の上位図を示すためである。しかしながら、一部の実施例では、付加部材を有してもよく、また、他の実施例では、図示する部材と異なるレイアウトを有してもよいこと、を理解すべきである。システム１５００は、デスクトップ型コンピュータ、ラップトップ型コンピュータ、タブレット型コンピュータ、サーバ、携帯電話、メディアプレイヤ、携帯情報端末（ＰＤＡ）、スマートウォッチ、パーソナル通信機器、ゲーム装置、ルータやハブ機器、アクセスポイント（ＡＰ）やリピーター、セットトップボックス、またはそれらの組み合せを示すことが可能である。また、単一の機器またはシステムのみを示すが、「機器」または「システム」という用語は、１つ（または複数）の命令セットを個別または一緒に実行することにより、本明細書で検討するいずれかの１種または複数種の方法を実行する機器またはシステムの集合のいずれを含むことを、理解されるべきである。
【００８５】
一実施態様では、システム１５００は、バスまたはインターコネクト１５１０を介して接続されるプロセッサ１５０１、メモリ１５０３及び装置１５０５〜１５０８を含む。プロセッサ１５０１は、単一のプロセッサコア、または複数のプロセッサコアの１つのプロセッサや複数のプロセッサを含むことを表すことが可能である。プロセッサ１５０１は１つまたは複数の汎用プロセッサ、例えば、マイクロプロセッサ、中央処理ユニット（ＣＰＵ）などを表すことが可能である。より具体的には、プロセッサ１５０１は、複合命令セットコンピュータ（ＣＩＳＣ）方式のマイクロプロセッサ、縮小命令セットコンピュータ（ＲＩＳＣ）方式のマイクロプロセッサ、ＶＬＩＷ（Ｖｅｒｙ  Ｌｏｎｇ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｗｏｒｄ）型マイクロプロセッサや他の命令セットを実施するプロセッサ、または命令セットの組み合せを実施するプロセッサであってもよい。プロセッサ１５０１は、１つまたは複数の専用プロセッサ、例えば、特定用途向け集積回路（ＡＳＩＣ）、セルラやベースバンドプロセッサ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタルシグナルプロセッサ（ＤＳＰ）、ネットワークプロセッサ、グラフィックプロセッサ、通信プロセッサ、暗号化プロセッサ、コプロセッサ、組込み用途向けプロセッサ、または命令を処理可能な他のロジックのいずれであってもよい。
【００８６】
プロセッサ１５０１（低パワーマルチコアプロセッサジャケットインタフェース、例えば超低電圧プロセッサであってもよい）は、前記システムの種々の部材と通信するためのメイン処理ユニット及び中央ハブとされることが可能である。そのようなプロセッサは、オンチップシステム（ＳｏＣ）として実現されることが可能である。プロセッサ１５０１は、本明細書で検討する操作及びステップを実行するための命令を実行するように配置される。システム１５００は、選択可能なグラフィックサブシステム１５０４と通信可能なグラフィックインタフェースを更に含み、グラフィックサブシステム１５０４が、表示制御部、グラフィックプロセッサおよび／または表示装置を備えることが可能である。
【００８７】
プロセッサ１５０１は、メモリ１５０３と通信可能であり、一実施態様では、メモリ１５０３が所定量のシステム用の記憶を提供するように、複数のメモリ装置により実現されることが可能である。メモリ１５０３は、１つまたは複数の揮発性記憶（またはメモリ）装置、例えば、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）または他のタイプの記憶装置を含むことが可能である。メモリ１５０３は、プロセッサ１５０１または他の装置により実行される命令列を含む情報を記憶可能である。例えば、種々のオペレーティングシステム、デバイスドライバ、ファームウェア（例えば、入出力基本システムまたはＢＩＯＳ）および／またはアプリケーションの実行コードおよび／またはデータは、メモリ１５０３にローディングされてプロセッサ１５０１により実行されることが可能である。オペレーティングシステムは、いずれのタイプのオペレーティングシステム、例えば、ロボットオペレーティングシステム（ＲＯＳ）、Ｍｉｃｒｏｓｏｆｔ（登録商標）社のＷｉｎｄｏｗｓ（登録商標）オペレーティングシステム、アップル社のＭＡＣ  ＯＳ（登録商標）／ＩＯＳ（登録商標）、Ｇｏｏｇｌｅ（登録商標）社のＡｎｄｒｏｉｄ（登録商標）、ＬＩＮＵＸ（登録商標）、ＵＮＩＸ（登録商標）、または他のリアタイムや組み込みオペレーティングシステムであってもよい。
【００８８】
システム１５００は、ＩＯ装置、例えばネットワークインタフェース装置１５０５、選択可能な入力装置１５０６及び他の選択可能なＩＯ装置１５０７を含む装置１５０５〜１５０８をさらに備えることが可能である。ネットワークインタフェース装置１５０５は、無線送受信器および／またはネットワークインタフェースカード（ＮＩＣ）を含むことが可能である。前記無線送受信器は、ＷｉＦｉ送受信器、赤外線送受信器、ブルートゥース（登録商標）送受信器、ＷｉＭａｘ送受信器、無線携帯電話送受信器、衛星送受信器（例えば、全地球測位システム（ＧＰＳ）送受信器）や他の無線周波数（ＲＦ）送受信器、またはそれらの組み合せであってもよい。ＮＩＣは、イーサネット（登録商標）カードであってもよい。
【００８９】
入力装置１５０６は、マウス、タッチパネル、タッチスクリーン（表示装置１５０４に集積されることが可能である）、ポインティングデバイス（例えば、スタイラスペン）および／またはキーボード（例えば、物理的なキーボードまたはタッチスクリーンの一部として表示される仮想的なキーボード）を含むことが可能である。例えば、入力装置１５０６は、タッチスクリーンに接続されるタッチスクリーンコントローラを含むことが可能である。タッチスクリーン及びタッチスクリーンコントローラは、例えば複数種のタッチセンシティブ技術（容量、電気抵抗、赤外線及び弾性表面波技術を含むが、これに限定されない）のいずれか１種、及び他の近接センサアレイまたはタッチスクリーンに接触する１つまたは複数の点を特定するための他の素子により、その接触、及び移動や間欠を検出する。
【００９０】
ＩＯ装置１５０７は、オーディオ装置を含むことが可能である。オーディオ装置は、音声を支持する機能、例えば音声認識、音声再生、ディジタル記録および／または電話機能を促すために、スピーカおよび／またはマイクフォンを含むことが可能である。他のＩＯ装置１５０７として、ユニバーサルシリアルバス（ＵＳＢ）ポート、パラレルポート、シリアルポート、プリンタ、ネットワークインタフェース、バスブリッジ（例えば、ＰＣＩ−ＰＣＩブリッジ）、センサ（例えば、加速度計モーションセンサ、ジャイロ、磁力計、光センサ、コンパス、接近センサなど）またはそれらの組み合せを含むことが可能である。装置１５０７は、カメラ機能（例えば、写真及び動画セグメントの記録）を促すための光学センサ、例えば電荷結合素子（ＣＣＤ）または相補型金属酸化物半導体（ＣＭＯＳ）光学センサを備える撮像処理サブシステム（例えば、カメラ）をさらに含むことが可能である。一部のセンサは、センサハブ（図示せず）を介してインターコネクト１５１０に接続されることが可能である一方、キーボードや感熱センサなどの他の装置は、システム１５００の具体的な配置や設計に応じて、エンベデッドコントローラ（図示せず）により制御されることが可能である。
【００９１】
例えばデータ、アプリケーション、１つまたは複数のオペレーティングシステムなどの情報の永続的な記憶を提供するために、大容量記憶装置（図示せず）がプロセッサ１５０１に接続されてもよい。種々の実施態様では、薄型化且つ軽量化のシステム設計を実現するとともにシステムの応答性を改良するために、そのような大容量記憶装置は、固体装置（ＳＳＤ）により実現されることが可能である。しかしながら、他の実施態様では、大容量記憶装置は、主にハードディスクドライブ（ＨＤＤ）により実現されてもよく、そのうち少量のＳＳＤ記憶装置は、ＳＳＤ用キャッシュとされることにより、停電期間でコンテキストの状態及び他の情報の永続的記憶を実現して、システム活動が再起動する際に急速通電を実現することができる。また、フラッシュメモリは、例えばシリアルペリフェラルインタフェース（ＳＰＩ）を介してプロセッサ１５０１に接続されることが可能である。そのようなフラッシュメモリは、前記システムのＢＩＯＳ及び他のファームウェアを含むシステムソフトウェアの永続的記憶を提供することが可能である。
【００９２】
記憶装置１５０８は、本明細書に記載のいずれか１種または複数種の方法や機能を実現する１つまたは複数の命令セットやソフトウェア（例えば、モジュール、ユニットおよび／またはロジック１５２８）が記憶されているコンピュータアクセス可能な記憶媒体１５０９（機械可読記憶媒体またはコンピュータ可読な媒体ともいう）を含むことが可能である。処理モジュール／ユニット／ロジック１５２８は、上記部材のいずれか１つ、例えば計画モジュール３０５、制御モジュール３０６を表すことが可能である。また、処理モジュール／ユニット／ロジック１５２８は、データ処理システム１５００、メモリ１５０３及びプロセッサ１５０１により実行されている期間で、全部または少なくとも一部が機械アクセス可能な記憶媒体を構成するメモリ１５０３および／またはプロセッサ１５０１に貯留されることが可能である。更に、処理モジュール／ユニット／ロジック１５２８は、ネットワークによりネットワークインタフェース装置１５０５を介して伝送または受信を行うことが可能である。
【００９３】
コンピュータ可読記憶媒体１５０９は、上述した一部のソフトウェア機能を永続的に記憶することが可能である。コンピュータ可読記憶媒体１５０９は、例示的な実施態様では単一の媒体として示されるが、「コンピュータ可読記憶媒体」という用語は、前記１つまたは複数の命令セットを記憶する単一の媒体または複数の媒体（例えば、集中または分散データベースおよび／または関連するキャッシュメモリ及びサーバ）を含む、と考えられる。「コンピュータ可読記憶媒体」という用語は、機械により実行されるとともに、前記機械が本発明のいずれの１種または複数種の方法を実行させる命令セットを記憶またはコーディング可能ないずれの媒体を含む、と考えられる。よって、「コンピュータ可読記憶媒体」という用語は、固体メモリ、光学媒体及び磁気媒体、または他の永続的機械可読媒体のいずれを含むが、これに限定されない、と考えられる。
【００９４】
本明細書に記載の処理モジュール／ユニット／ロジック１５２８、部材及び他の特徴は、個別ハードウェア部材とされ、またはハードウェア部材（例えば、ＡＳＩＣＳ、ＦＰＧＡ、ＤＳＰまたは同様な装置）の機能に集積されるように、実現可能である。また、処理モジュール／ユニット／ロジック１５２８は、ハードウェア装置におけるファームウェアまたは機能回路として実現されることが可能である。また、処理モジュール／ユニット／ロジック１５２８は、ハードウェア装置とソフトウェア部材とのいずれの組み合せにより実現されることが可能である。
【００９５】
なお、システム１５００は、データ処理システムの種々の部材を備えるように示されるが、部材を相互に接続する特定の構成または態様を示すためではない。よって、そのような詳細は、本発明の実施態様と密接な関係がない。さらに、より少ない部材またはより多い部材を有するネットワークコンピュータ、ハンディコンピュータ、携帯電話、サーバおよび／または他のデータ処理システムも、本発明の実施態様とともに使用可能であることを、認識すべきである。
【００９６】
詳細に記載した前記内容の一部は、既にコンピュータメモリで行われるデータビットの演算のアルゴリズム及び符号表示に応じて表現された。それらのアルゴリズムの記載及び表示は、データ処理分野での技術者が使用する方式であり、技術者らの実質的な動作を効率よく本分野での他の技術者に伝達するためである。本明細書では、アルゴリズムは、通常に所望の結果を達成する自律操作シーケンスとして考えられる。それらの操作とは、物理量を物理的に操作する必要がある操作である。
【００９７】
ところで、そられの用語及びその類似する用語のすべては、適当な物理量に関連するためであり、且つ単にそれらの物理量を便利に表記することに適用されることはいうまでもない。以上の検討において他の態様で明確に限定しない限り、明細書全体では、用語（例えば、添付した特許請求の範囲に記載の用語）により検討されることは、コンピュータシステムのレジスタ及びメモリでの物理（電子）量として表示されるデータを操作して、前記データをコンピュータシステムメモリやレジスタ、または他の情報記憶装置、伝送装置や表示装置での同様に物理量として表示される他のデータを変換するコンピュータシステムや類似する電子計算装置の動作及び処理である。
【００９８】
本発明の実施態様は、本明細書における操作を実行するためのデバイスにさらに関する。そのようなコンピュータプログラムは、永続的コンピュータ可読媒体に記憶されている。機械可読媒体は、機械（例えば、コンピュータ）可読態様で情報を記憶するための機構全体を含む。例えば、機械可読（例えば、コンピュータ可読）媒体は、機械（例えば、コンピュータ）可読記憶媒体（例えば、読み出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリ装置）を含む。
【００９９】
前記図面に記載のプロセスや方法は、ハードウェア（例えば、回路、専用ロジックなど）、ソフトウェア（例えば、永続的コンピュータ可読媒体で体現される）またはそれらの組み合せを含む処理ロジックにより実行されることが可能である。前記プロセスや方法は、上記の内容において一部の順序操作に基づいて記載されるが、前記操作の一部が異なる順序で実行されてもよいことを、理解すべきである。また、一部の操作は、順序に実行されることではなく、並列に実行されてもよい。
【０１００】
本発明の実施態様は、いずれの特定のプログラミング言語を参照して記載されることではない。複数種のプログラミング言語を使用して本明細書に記載の本発明の実施態様の教示を実施可能であることを、理解すべきである。
【０１０１】
以上の明細書では、本発明の具体的な実施態様を参照して本発明の実施態様を記載した。添付した特許請求の範囲に記載の本発明の更なる広い要旨及び範囲を逸脱しない限り、本発明を様々な形態で変形可能であることが、明らかである。したがって、明細書および図面は、制限的な意味ではなく、例示的な意味で理解されるべきである。
【外国語明細書】
2020001678000001.pdf