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