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