(57)【要約】【課題】本発明の実施形態は、全体として自律走行車を動作させることに関する。具体的には、本発明の実施形態はバネに基づくシステムを用いて車線変更することに関する。【解決手段】一実施形態において、車線変更の要求に応答して、自律走行車周辺における１つ以上のオブジェクトを感知する。感知されたオブジェクトのそれぞれについて、仮想バネを配分して、オブジェクトと自律走行車を接続する。それぞれの仮想オブジェクトと特定のバネモデルとを関連し、関連されたオブジェクトと自律走行車との相対位置に基づいて力を生成する。１つ以上の周辺オブジェクトに対応の１つ以上の仮想バネから生成された１つ以上の力を集約して集約力を生成する。集約力及び集約力の方向に基づいて、自律走行車の１つ以上の車線変更パラメータを決定する。【選択図】図８
2018070145.tif 000002
【特許請求の範囲】
【請求項１】
車線変更の要求に応答して、自律走行車周辺における１つ以上のオブジェクトを感知するステップと、
感知されたオブジェクトのそれぞれについて、前記オブジェクトと前記自律走行車とを接続する仮想バネを配分して、それぞれの仮想バネと特定のバネモデルとを関連して、関連されたオブジェクトと前記自律走行車との相対位置に基づいて力を生成するステップと、
前記１つ以上の周辺オブジェクトに対応の１つ以上の仮想バネから生成された１つ以上の力を集約して、集約力を生成するステップと、
前記集約力及び前記集約力の方向に基づいて、前記自律走行車の１つ以上の車線変更パラメータを決定するステップとを含む、
自律走行車を動作させるためのコンピュータ実施方法。
【請求項２】
強度係数、及び前記仮想バネの初期長さに対する前記自律走行車と対応オブジェクトとの間の距離に基づいて、仮想バネのそれぞれに対してモデリングする、請求項１に記載の方法。
【請求項３】
前記自律走行車と前記対応オブジェクトとの相対位置に基づいて、仮想バネの前記強度係数及び前記初期長さを決定する、請求項２に記載の方法。
【請求項４】
前記周辺オブジェクトのうちのどれが前記自律走行車の車線変更に影響を与えるかを決定するステップをさらに含み、
その中で、オブジェクトが前記自律走行車の前記車線変更に影響を潜在的に与える場合にのみ、仮想バネは前記自律走行車と前記オブジェクトとの間に接続される、請求項１に記載の方法。
【請求項５】
前記集約力の方向及び大きさは、前記自律走行車がある時点に車線変更すべきか否かを決定するために用いられる、請求項１に記載の方法。
【請求項６】
前記集約力の方向は前記自律走行車の前記車線変更の回転角を決定するために用いられ、且つ、前記集約力の大きさは前記車線変更の速度を決定するために用いられるために用いられる、請求項１に記載の方法。
【請求項７】
仮想バネを配分するステップは、
第１バネモデルに関連付けられた第１仮想バネを配分して、前記自律走行車と前記自律走行車の変更しようとする現在車線とを接続するステップと、
第２バネモデルに関連付けられた第２仮想バネを配分して、前記自律走行車と前記自律走行車の車線変更対象となるターゲット車線とを接続するステップとを含み、
その中で、前記第１バネモデルで得られた第１力及び前記第２バネモデルで得られた第２力に基づいて前記車線変更パラメータを決定する、請求項１に記載の方法。
【請求項８】
仮想バネを配分するステップは、
第１バネモデルに関連付けられた第１仮想バネを配分して、前記自律走行車と前記自律走行車の変更しようとする現在車線で移動している第１車両とを接続するステップと、
第２バネモデルに関連付けられた第２仮想バネを配分して、前記自律走行車と前記自律走行車の車線変更対象となるターゲット車線で移動している第２車両とを接続するステップとを含み、
その中で、前記第１バネモデルで得られた第１力及び前記第２バネモデルで得られた第２力に基づいて前記車線変更パラメータを決定する、請求項１に記載の方法。
【請求項９】
命令が記憶される非一時的機械可読媒体であって、
前記命令は、プロセッサにより実行される場合、自律走行車を動作させることを前記プロセッサに実行させ、前記動作には、
車線変更の要求に応答して、自律走行車周辺における１つ以上のオブジェクトを感知する動作と、
感知されたオブジェクトのそれぞれについて、前記オブジェクトと前記自律走行車とを接続する仮想バネを配分して、それぞれの仮想バネと特定のバネモデルとを関連して、関連されたオブジェクトと前記自律走行車との相対位置に基づいて力を生成する動作と、
前記１つ以上の周辺オブジェクトに対応の１つ以上の仮想バネから生成された１つ以上の力を集約して、集約力を生成する動作と、
前記集約力及び前記集約力の方向に基づいて、前記自律走行車の１つ以上の車線変更パラメータを決定する動作とを含む、
命令が記憶される非一時的機械可読媒体。
【請求項１０】
強度係数、及び前記仮想バネの初期長さに対する前記自律走行車と対応オブジェクトとの間の距離に基づいて、仮想バネのそれぞれに対してモデリングする、請求項９に記載の機械可読媒体。
【請求項１１】
前記自律走行車と前記対応オブジェクトとの相対位置に基づいて、仮想バネの前記強度係数及び前記初期長さを決定する、請求項１０に記載の機械可読媒体。
【請求項１２】
前記動作は、前記周辺オブジェクトのうちのどれが前記自律走行車の車線変更に影響するかを決定する動作をさらに含み、
その中で、オブジェクトが前記自律走行車の前記車線変更に影響を潜在的に与える場合にのみ、仮想バネは前記自律走行車と前記オブジェクトとの間に接続される、請求項９に記載の機械可読媒体。
【請求項１３】
前記集約力の方向及び大きさは、前記自律走行車がある時点に車線変更すべきか否かを決定するために用いられる、請求項９に記載の機械可読媒体。
【請求項１４】
前記集約力の方向は前記自律走行車の前記車線変更の回転角を決定するために用いられ、且つ、前記集約力の大きさは前記車線変更の速度を決定するために用いられる、請求項９に記載の機械可読媒体。
【請求項１５】
仮想バネを配分する動作は、
第１バネモデルに関連付けられた第１仮想バネを配分して、前記自律走行車と前記自律走行車の変更しようとする現在車線とを接続する動作と、
第２バネモデルに関連付けられた第２仮想バネを配分して、前記自律走行車と前記自律走行車の車線変更対象となるターゲット車線とを接続する動作とを含み、
その中で、前記第１バネモデルで得られた第１力及び前記第２バネモデルで得られた第２力に基づいて前記車線変更パラメータを決定する、請求項９に記載の機械可読媒体。
【請求項１６】
仮想バネを配分する動作は、
第１バネモデルに関連付けられた第１仮想バネを配分して、前記自律走行車と前記自律走行車の変更しようとする現在車線で移動している第１車両とを接続する動作と、
第２バネモデルに関連付けられた第２仮想バネを配分して、前記自律走行車と前記自律走行車の車線変更対象となるターゲット車線で移動している第２車両とを接続する動作とを含み、
その中で、前記第１バネモデルで得られた第１力及び前記第２バネモデルで得られた第２力に基づいて前記車線変更パラメータを決定する、請求項９に記載の機械可読媒体。
【請求項１７】
データ処理システムであって、
プロセッサと、
前記プロセッサに接続され、命令を記憶するために用いられるメモリとを備え、
前記命令は、前記プロセッサにより実行される場合、前記プロセッサに動作を実行させ、前記動作には、
車線変更の要求に応答して、自律走行車周辺における１つ以上のオブジェクトを感知する動作と、
感知されたオブジェクトのそれぞれについて、前記オブジェクトと前記自律走行車とを接続する仮想バネを配分して、それぞれの仮想バネと特定のバネモデルとを関連して、関連されたオブジェクトと前記自律走行車との相対位置に基づいて力を生成する動作と、
前記１つ以上の周辺オブジェクトに対応の１つ以上の仮想バネから生成された１つ以上の力を集約して、集約力を生成する動作と、
前記集約力及び前記集約力の方向に基づいて、前記自律走行車の１つ以上の車線変更パラメータを決定する動作とを含む、データ処理システム。
【請求項１８】
強度係数、及び前記仮想バネの初期長さに対する前記自律走行車と対応オブジェクトとの間の距離に基づいて、仮想バネのそれぞれに対してモデリングする、請求項１７に記載のシステム。
【請求項１９】
前記自律走行車と前記対応オブジェクトとの相対位置に基づいて、仮想バネの前記強度係数及び前記初期長さを決定する、請求項１８に記載のシステム。
【請求項２０】
前記動作は、前記周辺オブジェクトのうちのどれが前記自律走行車の車線変更に影響するかを決定する動作をさらに含み、
その中で、オブジェクトが前記自律走行車の前記車線変更に影響を潜在的に与える場合にのみ、仮想バネは前記自律走行車と前記オブジェクトとの間に接続される、請求項１７に記載のシステム。
【請求項２１】
前記集約力の方向及び大きさは、前記自律走行車がある時点に車線変更すべきか否かを決定するために用いられる、請求項１７に記載のシステム。
【請求項２２】
前記集約力の方向は前記自律走行車の前記車線変更の回転角を決定するために用いられ、且つ、前記集約力の大きさは前記車線変更の速度を決定するために用いられる、請求項１７に記載のシステム。
【請求項２３】
仮想バネを配分する動作は、
第１バネモデルに関連付けられた第１仮想バネを配分して、前記自律走行車と前記自律走行車の変更しようとする現在車線とを接続する動作と、
第２バネモデルに関連付けられた第２仮想バネを配分して、前記自律走行車と前記自律走行車の車線変更対象となるターゲット車線とを接続する動作とを含み、
その中で、前記第１バネモデルで得られた第１力及び前記第２バネモデルで得られた第２力に基づいて前記車線変更パラメータを決定する、請求項１７に記載のシステム。
【請求項２４】
仮想バネを配分する動作は、
第１バネモデルに関連付けられた第１仮想バネを配分して、前記自律走行車と前記自律走行車の変更しようとする現在車線で移動している第１車両とを接続する動作と、
第２バネモデルに関連付けられた第２仮想バネを配分して、前記自律走行車と前記自律走行車の車線変更対象となるターゲット車線で移動している第２車両とを接続する動作とを含み、
その中で、前記第１バネモデルで得られた第１力及び前記第２バネモデルで得られた第２力に基づいて前記車線変更パラメータを決定する、請求項１７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、全体として自律走行車を動作させることに関する。具体的には、本発明の実施形態はバネに基づくシステムを用いて車線変更することに関する。
【背景技術】
【０００２】
自律モードで走行（例えば、自律運転）している車両は、乗客（特に運転者）を、特定の運転に関連する責任から解放できる。自律モードで走行している場合、車両は車載センサで様々な場所にナビゲートすることができ、それにより車両がヒューマンコンピュータインタラクションの最も少ない場合又は一部の場合では乗客なしの状態で運行することを可能にさせる。
【０００３】
運動計画及び制御は、自律走行の重要な動作（操作）である。車線変更は、自律走行車（自動運転車又はＡＤＶとも呼ばれる）の障害物を回避するとともに旅程時間効率を向上させるための基本的な機能である。しかしながら、自律走行車は、現在の車線の運転条件を計算する代わりに、現在車線とターゲット車線との両方の運転条件を考慮する必要があるため、安全且つ効果的な車線変更を行うことが困難である。また、現在車線とターゲット車線との間の移行経路は未知で動的に変化するため、決定の複雑さを向上させる。また、該過程・期間において車線変更の状態を連続的に決定する必要があることによって、高精度のローカリゼーション及び状態間の複雑なロジックが必要となっている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の一態様によれば、自律走行車を動作させるためのコンピュータ実施方法を提供し、当該方法には、車線変更の要求に応答して、自律走行車周辺における１つ以上のオブジェクトを感知するステップと、感知されたオブジェクトのそれぞれについて、前記オブジェクトと前記自律走行車とを接続する仮想バネを配分して、それぞれの仮想バネと特定のバネモデルとを関連して、関連されたオブジェクトと前記自律走行車との相対位置に基づいて力を生成するステップと、前記１つ以上の周辺オブジェクトに対応の１つ以上の仮想バネから生成された１つ以上の力を集約して、集約力を生成するステップと、前記集約力及び前記集約力の方向に基づいて、前記自律走行車の１つ以上の車線変更パラメータを決定するステップとを含む。
【０００５】
本発明の他の態様によれば、命令が記憶される非一時的機械可読媒体を提供し、その中で、前記命令は、プロセッサにより実行される場合、前記プロセッサに動作を実行させ、前記動作には、車線変更の要求に応答して、自律走行車周辺における１つ以上のオブジェクトを感知する動作と、感知されたオブジェクトのそれぞれについて、前記オブジェクトと前記自律走行車とを接続する仮想バネを配分して、それぞれの仮想バネと特定のバネモデルとを関連して、関連されたオブジェクトと前記自律走行車との相対位置に基づいて力を生成する動作と、前記１つ以上の周辺オブジェクトに対応の１つ以上の仮想バネから生成された１つ以上の力を集約して、集約力を生成する動作と、前記集約力及び前記集約力の方向に基づいて、前記自律走行車の１つ以上の車線変更パラメータを決定する動作とを含む。
【０００６】
また、本発明の他の態様によれば、データ処理システムを提供し、その中で、プロセッサと、前記プロセッサに接続され、命令を記憶するために用いられるメモリとを備え、前記命令は、前記プロセッサにより実行される場合、前記プロセッサに動作を実行させ、前記動作には、車線変更の要求に応答して、自律走行車周辺における１つ以上のオブジェクトを感知する動作と、感知されたオブジェクトのそれぞれについて、前記オブジェクトと前記自律走行車とを接続する仮想バネを配分して、それぞれの仮想バネと特定のバネモデルとを関連して、関連されたオブジェクトと前記自律走行車との相対位置に基づいて力を生成する動作と、前記１つ以上の周辺オブジェクトに対応の１つ以上の仮想バネから生成された１つ以上の力を集約して、集約力を生成する動作と、前記集約力及び前記集約力の方向に基づいて、前記自律走行車の１つ以上の車線変更パラメータを決定する動作とを含む。
【図面の簡単な説明】
【０００７】
本発明の実施形態は、図面の各図に例として非限定的に示され、図面における同一符号は、類似の構成要素（部材）を示す。
【図１】本発明の一実施形態に係るネットワーク化システムを示すブロック図である。
【図２】本発明の一実施形態に係る自律走行車の一例を示すブロック図である。
【図３】本発明の一実施形態に係る自律走行車と共に使用される感知及び計画システムの一例を示すブロック図である。
【図４】本発明の一実施形態に係る仮想バネのモデルを示す図である。
【図５】図５Ａと図５Ｂは、本発明の一実施形態に係る仮想バネでモデリングした車線変更シナリオを示す図である。
【図６】図６Ａと図６Ｂは、本発明の別の一実施形態に係る仮想バネでモデリングした車線変更シナリオを示す図である。
【図７】図７Ａと図７Ｂは、本発明のある実施形態に係る仮想バネでモデリングした車線変更シナリオを示す図である。
【図８】本発明の一実施形態に係る自律走行車の動作過程を示すフローチャートである。
【図９】本発明の一実施形態に係る自律走行車の動作バネモデルを作成する過程を示すフローチャートである。
【図１０】本発明の一実施形態に係るデータ処理システムを示すブロック図である。
【発明を実施するための形態】
【０００８】
以下、説明の詳細を参照しながら、本出願の様々な実施形態及び方法を説明し、図面は、前記様々な実施形態を示す。以下の説明及び図面は、本出願を説明するためのものであり、本出願を限定するものではない。本出願の様々な実施形態を完全に把握するために、多数の特定の詳細を説明する。なお、いくつかの例では、本出願の実施形態に対する簡単な説明を提供するために、周知又は従来技術の詳細について説明していない。
【０００９】
本明細書では「一実施形態（一つの実施形態）」又は「実施形態」とは、当該実施形態について組み合わせて説明された特定特徴、構造又は特性が、本出願の少なくとも一つの実施形態に含まれてもよい。語句「一実施形態では」は、本明細書全体において同一実施形態を指すとは限らない。
【００１０】
いくつかの実施形態によれば、車線変更活動を計画しようとすると、バネに基づく車線変更システムによって、何時、どのように車線変更の移行を行うかを決定する。現在車線からターゲット車線へ変更すると決定した場合、バネに基づく車線変更システムを呼び出して、仮想バネモデルを自律走行車の車線変更に影響を与えるそれぞれのオブジェクト（例えば、車両、障害物、歩行者、現在車線、ターゲット車線、隣接車線）に用いる。自律走行車が現在車線からターゲット車線に変更する場合、仮想バネモデルはオブジェクトによる潜在的な影響を決定する。フックの法則によれば、仮想バネの影響は仮想バネから生成される力で示すことができる。自律走行車周辺にあるオブジェクトに関連付けられた仮想バネの結果（例えば、力）に基づいて、自律走行車が車線変更すべきか否か、そうすれば、該時間点にどのように車線変更するかを決定することができる。
【００１１】
一実施形態において、車線変更の要求に応答して、自律走行車周辺における１つ以上のオブジェクトを感知して識別する。オブジェクトのそれぞれについて、仮想バネを前記オブジェクトに配分する。仮想バネはオブジェクトを自律走行車に接続する。仮想バネは自律走行車とオブジェクトとの相対位置に基づいて力を生成するバネモデル（仮想バネモデルとも呼ばれる）に関連付けられる。オブジェクトに関連付けられた仮想バネから生成する力（例えば、力ベクトル）を集約して、集約力（例えば、集約ベクトル）を生成する。集約力に基づいて自律走行車の車線変更パラメータを決定する。車線変更パラメータとは、車線変更速度、車線変更角度（例えば、ターゲット車線に入る角度）、又は現在車線からターゲット車線への車線変更を完成するまでの距離等である。一実施形態において、集約力の方向を利用して自律走行車が車線変更すべきか否かを決定する。集約力の大きさ及び方向は自律走行車がどのように車線変更するか（例えば、速度、回転角、車線変更に必要な距離）を決定するために用いることができる。
【００１２】
一実施形態において、自律走行車１０１は、感知及び計画システム１１０と、車両制御システム１１１と、無線通信システム１１２と、ユーザインターフェースシステム１１３と、インフォテイメントシステム１１４と、センサシステム１１５とを含むが、これらに制限されない。自律走行車１０１は、通常の車両に含まれるある一般的な構成要素（部材）、例えばエンジン、車輪、ハンドル、変速器等をさらに含んでもよく、前記構成要素は、車両制御システム１１１及び／又は感知及び計画システム１１０により多種の通信信号及び／又は命令（例えば加速度信号又は命令、減速信号又は命令、ステアリング信号又は命令、ブレーキ信号又は命令等）を使用して制御することができる。
【００１３】
構成要素１１０〜１１５は、インターコネクト、バス、ネットワーク又はそれらの組み合わせを介して互いに通信可能に接続することができる。例えば、構成要素１１０〜１１５は、コントローラローカルエリアネットワーク（ＣＡＮ）バスを介して互いに通信可能に接続することができる。ＣＡＮバスは、マイクロコントローラ及び装置がホストコンピューターのない使用において互いに通信することを許可するような車両バス標準として設計される。それはメッセージに基づくプロトコルであり、最初に自動車内における複数の電線のために設計されたが、数多くのその他の環境（状況）にも用いられる。
【００１４】
現在、図２を参照して、一実施形態において、センサシステム１１５は、１つ以上のカメラ２１１と、全地球測位システム（ＧＰＳ）ユニット２１２と、慣性計測ユニット（ＩＭＵ）２１３と、レーダーユニット２１４と、ＬＩＤＡＲ（光検出及び測距）ユニット２１５とを含むが、これらに制限されない。ＧＰＳシステム２１２は、送受信機を含んでもよく、前記送受信機は、自律走行車の位置に関する情報を提供するように動作することができる。ＩＭＵユニット２１３は、慣性加速度に基づいて自律走行車の位置及び方向変化を感知することができる。レーダーユニット２１４は、無線信号を利用して自律走行車のローカル環境内の対象を感知するシステムを示すことができる。いくつかの実施形態において、対象を感知する以外、レーダーユニット２１４は、さらに対象の速度及び／又は進行方向を付加的に感知することができる。ＬＩＤＡＲユニット２１５はレーザを使用して自律走行車の所在する環境における対象を感知することができる。その他のシステム構成要素以外、ＬＩＤＡＲユニット２１５は１つ以上のレーザ光源、レーザースキャナ及び１つ以上の検出器をさらに含んでもよい。カメラ２１１は、自律走行車の周辺環境の画像をキャプチャするための１つ以上の装置を含んでもよい。カメラ２１１は、スチルカメラ及び／又はビデオカメラであってもよい。カメラは、例えば回転及び／又は傾斜のプラットフォームに取り付けられる、機械的に移動可能なものであってもよい。
【００１５】
センサシステム１１５は、その他のセンサ、例えばソナーセンサ、赤外線センサ、ステアリングセンサ、スロットルセンサ、ブレーキセンサ、及びオーディオセンサ（例えばマイクロフォン）をさらに含んでもよい。オーディオセンサは、自律走行車周辺の環境から音をキャプチャするように配置されてもよい。ステアリングセンサは、ハンドル、車両の車輪又はその組み合わせのステアリング角を感知するように配置できる。スロットルセンサ及びブレーキセンサは、それぞれ車両のスロットル位置及びブレーキ位置を感知する。いくつかの場合、スロットルセンサ及びブレーキセンサは、集積型スロットル／ブレーキセンサに一体化されてもよい。
【００１６】
一実施形態において、車両制御システム１１１は、ステアリングユニット２０１と、スロットルユニット２０２（加速度ユニットとも呼ばれる）と、ブレーキユニット２０３とを含むが、これらに制限されない。ステアリングユニット２０１は、車両の方向又は進行方向を調整することに用いられる。スロットルユニット２０２は、モーター又はエンジンの速度を制御し、モーター又はエンジンの速度で車両の速度及び加速度を制御することに用いられる。ブレーキユニット２０３は、摩擦を提供することによって車両の車輪又はタイヤをスローダウンして車両を減速させることに用いられる。注意すべきなのは、図２に示すような構成要素はハードウェア、ソフトウェア又はその組み合わせで実現されることができる。
【００１７】
図１を再び参照して、無線通信システム１１２は、自律走行車１０１と、例えば装置、センサ、その他の車両等の外部システムとの間に通信することを許可する。例えば、無線通信システム１１２は、１つ以上の装置に直接に又は通信ネットワークを介して無線通信し、例えばネットワーク１０２によってサーバ１０３〜１０４に通信することができる。無線通信システム１１２は、任意のセルラー通信ネットワーク又は無線ローカルエリアネットワーク（ＷＬＡＮ）（例えばＷｉＦｉ）を使用して他の構成要素やシステムに通信できる。無線通信システム１１２は、例えば赤外線リンク、ブルートゥース等を使用して装置（例えば、乗客の移動装置、表示装置、車両１０１内のスピーカー）に直接に通信できる。ユーザインターフェースシステム１１３は、車両１０１内で実行される周辺装置の一部であってもよく、例えばキーボード、タッチスクリーンディスプレイ装置、マイクロフォン、及びスピーカー等を含む。
【００１８】
自律走行車１０１の一部又は全ての機能は、特に自律運転モードで動作する場合、感知及び計画システム１１０により制御したり管理したりすることができる。感知及び計画システム１１０は、必要なハードウェア（例えば、プロセッサ、メモリ、メモリ）、及びソフトウェア（例えば、オペレーティングシステム、計画、及び経路プログラム）を含み、センサシステム１１５、制御システム１１１、無線通信システム１１２、及び／又はユーザインターフェースシステム１１３から情報を受信し、受信された情報を処理し、出発地から目的地までの経路やルートを計画し、そして計画及び制御情報に基づいて車両１０１を運転させる。あるいは、感知及び計画システム１１０と車両制御システム１１１とは一体化されてもよい。
【００１９】
例えば、乗客のユーザとして、例えばユーザインターフェースによって旅程の出発位置及び目的位置を指定することができる。出発位置及び目的位置は、それぞれ図４のトポロジカルマップにおけるノード、例えばノード４２２及び４０８として表されてもよい。多目的地プログラミングもサポートされてもよい。感知及び計画システム１１０は旅関連データを取得する。例えば、感知及び計画システム１１０は、ＭＰＯＩサーバから位置及び経路情報を取得することができ、前記ＭＰＯＩサーバはサーバ１０３〜１０４の一部であってもよい。位置サーバは、位置サービスを提供し、かつＭＰＯＩサーバはマップサービス及びある位置のＰＯＩを提供する。あるいは、このような位置及びＭＰＯＩ情報は、感知及び計画システム１１０の不揮発性メモリにローカルでキャッシュされることができる。
【００２０】
自律走行車１０１がルートに沿って移動する際に、感知及び計画システム１１０は、さらに交通情報システムやサーバ（ＴＩＳ）からリアルタイム交通情報を取得できる。注意すべきなのは、サーバ１０３〜１０４は、第三者エンティティにより動作できる。あるいは、サーバ１０３〜１０４の機能は、感知及び計画システム１１０と一体化されてもよい。リアルタイム交通情報、ＭＰＯＩ情報、位置情報、及びセンサシステム１１５が検出又は感知したリアルタイムなローカル環境データ（例えば、障害物、対象、付近車両）に基づいて、感知及び計画システム１１０は、安全で効果的に指定した目的地に到達するように、最適なルートを計画し、かつ計画したルートにより例えば制御システム１１１を介して車両１０１を運転することができる。
【００２１】
一実施形態によれば、自律走行車１０１が現在車線からターゲット車線へ変更すると決定した場合、感知及び計画システム１１０は自律走行車１０１の車線変更に影響を潜在的に与える１つ以上のオブジェクトを感知する。オブジェクトは車両、歩行者、障害物（例えば、駐車車両又は自動車、建物）、現在車線、ターゲット車線、又は隣接車線等であってもよい。オブジェクトのそれぞれについて、仮想バネを配分する。仮想バネはそれぞれ自律走行車１０１と対応のオブジェクトを接続する。仮想バネのそれぞれについて、フックの法則によって設定又はモデリングされた１群の規則又はパラメータセットに基づいて力を計算する。次に仮想バネの力を集約して、集約力を生成する。集約力は自律走行車１０１が車線変更すべきか（例えば、安全に変更する）どうかを決定し、そうすれば、どのように車線変更するかを決定する。
【００２２】
一実施形態において、仮想バネはバネパラメータのセット又はバネモデルに関連付けられ、又はバネパラメータのセット又はバネモデルを有するように設定される。バネパラメータ（例えば、強度係数、初期長さ）は、自律走行車１０１とオブジェクトとの関係、例えば自律走行車１０１とオブジェクトとの相対位置に基づいて設定できる。仮想バネに関するバネパラメータ、規則又はバネモデルは、例えば、データ分析システムやサーバ１０３によって大量の運転統計データに基づき、オフラインで設定されてもよい。
【００２３】
一実施形態において、データ分析システム１０３は、データコレクタ１２１と機械学習エンジン１２２とを含む。データコレクタ１２１は各種車両から運転統計データ１２３を収集する。運転統計データ１２３は、同じ又は類似である運転環境において車線変更する際の典型的な車両がどのようにするか、例えば、車両が現在車線からターゲット車線に変更しようとした場合、ターゲット車線に別の車両がある時に、車両がどのようにするか、車両と別の車両との相対位置を考慮して追い越すか、道を譲るかに関する情報を含む。機械学習エンジン１２２は、運転統計データ１２３を分析し、車線変更する多数の異なる運転シナリオについて学習して複数の仮想バネモデルや規則１２４を作成する。次に、前記バネモデルや規則１２４は、自律走行車１０１のデータ処理システム１１０にアップロードされて車線変更のオンライン決定に用いられる。
【００２４】
図３は、本発明の一実施形態に係る自律走行車と共に使用される感知及び計画システムの例を示すブロック図である。システム３００は、図１の自律走行車１０１の一部（感知及び計画システム１１０、制御システム１１１及びセンサシステム１１５を含むが、これらに制限されない）となるように実現されることができる。図３を参照し、感知及び計画システム１１０は、位置決めモジュール３０１と、感知モジュール３０２と、決定モジュール３０３と、計画モジュール３０４と、制御モジュール３０５と、バネコネクタ３０７と、バネアナライザ３０８と、車線アナライザ３０９とを含むが、これらに制限されない。
【００２５】
モジュール３０１〜３０７における一部又は全部は、ソフトウェア、ハードウェア又はその組み合わせで実現されてもよい。例えば、これらのモジュールは、永続的記憶装置３５２に取り付けられ、メモリ３５１にロードされ、かつ１つ以上のプロセッサ（図示せず）により実行されてもよい。注意すべきなのは、これらのモジュールにおける一部又は全部は、図２の車両制御システム１１１の一部又は全部のモジュールに通信可能に接続されてもよく、一体化されてもよい。モジュール３０１〜３０７における一部は、一緒に集積モジュールとして一体化されてもよい。
【００２６】
位置決めモジュール３０１（地図及びルーティングモジュールとも言われる）は、ユーザの旅程又はルートに関連する任意のデータを管理する。ユーザは、例えばユーザインターフェースを介してログインするとともに旅程の出発位置及び目的位置を指定してもい。位置決めモジュール３０１は、旅程に関連するデータを取得するように、システム３００のその他の構成要素（例えば地図及びルート情報３１１）と通信する。例えば、位置決めモジュール３０１は、位置サーバと、地図及びＰＯＩ（ＭＰＯＩ）サーバから位置及びルート情報を取得することができる。位置サーバは、位置サービスを提供し、かつＭＰＯＩサーバは、地図及びルート情報３１１の一部としてキャッシュされてもよい地図サービスと特定な位置のＰＯＩとを提供する。自律走行車（システム）３００がルートに沿って移動する場合、位置決めモジュール３０１は、さらに交通情報システムやサーバからリアルタイム交通情報を取得することができる。
【００２７】
センサシステム１１５により提供されたセンサデータ、及び位置決めモジュール３０１により得られた位置決め情報に基づいて、感知モジュール３０２は周辺環境に対する感知を確定する。感知情報は、普通の運転者が自分で運転している車両周辺から感知したもの（状況）を示すことができる。感知は、例えば対象形式で現される車線配置（例えば、ストレート又はカーブ）、トラフィック信号、他の車両の相対位置、歩行者、建築物、横断歩道又はその他の交通関連標識（例えば、停止標識、譲り標識）などを含んでもよい。
【００２８】
感知モジュール３０２は、コンピュータビジョンシステム又はコンピュータビジョンシステムの機能を含んでもよく、自律走行車環境における対象及び／又は特徴を認識するように、１つ以上のカメラによりキャプチャされた画像を処理及び分析することに用いられる。前記対象は交通信号、車道の境界線、他の車両、歩行者及び／又は障害物等を含んでもよい。コンピュータビジョンシステムは、対象認識アルゴリズム、ビデオトラッキング及びその他のコンピュータビジョン技術を使用することができる。いくつかの実施形態において、コンピュータビジョンシステムは、環境をマッピングし、対象を追跡し、かつ対象の速度を推定することなどができる。感知モジュール３０２は、その他のセンサ（例えばレーダーユニット２１４及び／又はＬＩＤＡＲユニット２１５）により提供されたその他のセンサデータに基づいて対象を検出することもできる。
【００２９】
それぞれの対象に対して、決定モジュール３０３は、如何に対象を処理する決定をする。例えば、特定な対象（例えば、交差ルートにおける他の車両）及び対象を記述するメタデータ（例えば、速度、方向、ステアリング角）に対して、決定モジュール３０３は、遇う対象に如何に対応する（例えば、追い越し、道譲り、停止、通過）ことを決定する。決定モジュール３０３は、永続的記憶装置３５２に記憶されてもよい１セットのルール（例えば交通ルール）に基づきこのような決定をすることができる。
【００３０】
感知したそれぞれ対象に対する決定に基づいて、計画モジュール３０４は、自律走行車のために経路又はルート及び運転パラメータ（例えば、距離、速度及び／又はステアリング角）を計画する。すなわち、所定対象に対して、決定モジュール３０３は前記対象に対して如何に対応するかを決定し、計画モジュール３０４は如何に実行するかを確定する。例えば、所定対象に対して、決定モジュール３０３は、前記対象を追い越すことを決定することができ、計画モジュール３０４は、前記対象の左側に追い越すか、右側に追い越すかを確定することができる。計画モジュール３０４は、計画及び制御データを生成し、車両（システム）３００が次の移動周期（例えば、次のルート／経路セグメント）に如何に移動するかを記述する情報を含む。例えば、計画及び制御データは車両（システム）３００が毎時間３０マイル（ｍｐｈ）の速度で１０メートル移動し、次に２５ｍｐｈの速度で右車線まで変わることを指示することができる。
【００３１】
計画及び制御データに基づいて、制御モジュール３０５は計画及び制御データにより定義されたルート又は経路に基づいて、車両制御システム１１１へ適切な命令又は信号を送信することによって自律走行車を制御及び運転する。前記経路又はルートに沿って違う場所で適時に適切な車両設置又は駆動パラメータ（例えば、スロットル、ブレーキ及びステアリング命令）を使用して車両を第１点から第２点まで運転するように、計画及び制御データは十分な情報を含む。
【００３２】
注意すべきなのは、決定モジュール３０３及び計画モジュール３０４は、集積モジュールに一体化されてもよい。決定モジュール３０３／計画モジュール３０４は、自律走行車の運転経路を確定するために、ナビゲーションシステム又はナビゲーションシステムの機能を含んでもよい。例えば、ナビゲーションシステムは、自律走行車が以下の経路に沿って移動することを実現するための一連の速度及びディレクショナ進行方向を確定することができ、前記経路は、自律走行車を総体的に最終目的位置を向けて通じる車線経路に進ませると同時に、基本的に感知された障害物を避けることができる。目的地はユーザインターフェースシステム１１３により実現されたユーザ入力に基づいて設置できる。ナビゲーションシステムは、自律走行車が走行していると同時に走行経路を動的に更新することができる。ナビゲーションシステムは、自律走行車用の走行経路を確定するように、ＧＰＳシステム及び１つ以上の地図からのデータを合併することができる。
【００３３】
決定モジュール３０３／計画モジュール３０４は、自律走行車環境における潜在障害物を、認識・評価・回避又はその他の方式で迂回するために、衝突回避システム又は衝突回避システムの機能をさらに含んでもよい。例えば、衝突回避システムは、以下の方式によって自律走行車のナビゲーションにおける変更を実現することができ、制御システム１１１の中の１つ以上のサブシステムを動作してターン操縦、ステアリング操縦、ブレーキ操縦等を採る。衝突回避システムは、周辺の交通モード、道路状況等に基づいて障害物を回避可能な操縦を自動的に確定することができる。衝突回避システムは、その他のセンサシステムは、自律走行車がターンして入ろうとする隣接領域における車両、建築障害物等を検出する際にターン操縦を採らないように配置できる。衝突回避システムは、使用可能でありかつ自律走行車の乗員の安全性を最大化させる操縦を自動的に選択することができる。衝突回避システムは、自律走行車の乗員室内で最小の加速度を出現させることが予測された回避操縦を選択することができる。
【００３４】
一実施形態によれば、感知されたオブジェクトのそれぞれについて、システムは前記オブジェクトが自律走行車の現在車線からターゲット車線への車線変更に影響を潜在的に与えるか否かを決定する。例えば、別の車両が自律走行車の所定近接距離内にある場合、現在車線にあってもターゲット車線にあっても、前記車両は自律走行車の車線変更に影響するとされる。車両が現在車線又はターゲット車線以外であるが、前記車両の所定軌跡に応じて前記車両が現在車線又はターゲット車線に入る可能性があれば、前記車両は自律走行車の車線変更に影響を与える可能性もある。
【００３５】
一実施形態において、自律走行車（システム）３００の車線変更に影響を与えるオブジェクトのそれぞれについて、バネコネクタ３０７は仮想バネを配分して、自律走行車（システム）３００を前記オブジェクトに接続する。仮想バネのそれぞれについて、バネアナライザ３０８は自律走行車（システム）３００とオブジェクトとの間の関係を分析してバネパラメータのセットを決定する。例えば、バネアナライザ３０８は自律走行車（システム）３００とオブジェクトとの間の相対位置を決定する。自律走行車とオブジェクトとの相対位置に基づき、バネアナライザ３０８は仮想バネの初期長さ（Ｘ０）及び仮想バネの強度係数（Ｋ）を決定する。Ｋは仮想バネの特性（例えば、剛性）を示す定数であってもよい。或いは、バネアナライザ３０８は、所定バネモデル（バネモデル３１２の一部とする）を仮想バネに用いてこれらのバネパラメータを決定できる。別の実施形態において、バネアナライザ３０８は、自律走行車とオブジェクトとの関係に基づいてデータベース又はルックアップテーブル（図示せず）においてルックアップ操作を実行してバネパラメータを取得してもよい。バネモデル３１２及び／又はルックアップテーブルは、データ分析システムやサーバ（例えば、データ分析サーバ１０３）によってオフラインで構成されてもよい。
【００３６】
フックの法則により、バネを距離ΔＸで延長又は圧縮させるのに必要な力（Ｆ）は前記距離ΔＸに比例する（ここで、ΔＸ＝Ｘ-Ｘ０である）。距離Ｘは自律走行車とバネ関連のオブジェクトとの間の現在距離である。自律走行車とオブジェクトとの相対位置から得られた力（Ｆ）は、大きさ及び方向を有する力ベクトルによって示される。力は、バネの初期長さに基づく自律走行車とオブジェクトとの距離に応じて正か負であり得る。この力は、自律車両がオブジェクトに向かって移動すべきか、オブジェクトから離れて移動すべきかを決定し、移動する場合、その移動方法を決定する。
【００３７】
図４に示すように、この例において、位置４０１では、バネは初期又は「緩和」位置にあり、且つバネの長さは初期長さ（例えば、圧縮も引張もしない長さ）と呼ばれる。初期位置では、バネには力が生成されていない。位置４０２〜４０３では、バネの長さが初期長さよりも短いため、バネが圧縮され、位置４０１に比べて、自律走行車（ＡＤＶ）はオブジェクトにより近い。したがって、圧縮されたバネに力を生成して、ＡＤＶをオブジェクトから遠ざからせる。ＡＤＶが更にオブジェクトに近づくにつれて、バネが位置４０３でさらに圧縮される場合、より大きな力を生成する。位置４０４〜４０５では、バネの長さが初期長さより長いため、バネは引張され、ＡＤＶはさらにオブジェクトから離れる。したがって、力を生成して、ＡＤＶをオブジェクトに向かって引っ張る。
【００３８】
一実施形態において、ＡＤＶとオブジェクトとを接続する仮想バネにより生成される力を分析することによって、ＡＤＶはＡＤＶがオブジェクトに向かって移動すべきか、オブジェクトから離れて移動すべきかを決定できる。車線変更のシナリオでは、オブジェクトはターゲット車線やターゲット車線内の別の車両を示してもよい。位置４０２〜４０３では、力がＡＤＶをオブジェクトから遠ざからせるため、前記力はＡＤＶがオブジェクトに向かって移動すべきではないこと（例えば、車線変更）を示してもよい。一方、位置４０４〜４０５では、力がＡＤＶをオブジェクトに向かって引っ張るため、前記力はＡＤＶがオブジェクトに向かって移動できることを示してもよい。
【００３９】
また、図３に示すように、実際には、運転環境において１つ以上のオブジェクトが存在する可能性がある。オブジェクトのそれぞれに仮想バネを配分する。仮想バネは、それぞれ対応したオブジェクトと自律走行車との間の相対位置に応じて特定方向及び大きさを有する力を生成する。一実施形態において、車線アナライザ３０９はすべての仮想バネから生成された力を分析し、力を集約して集約力にする。次に、集約力を用いて車両が車線変更すべきか否かを決定し、そうすれば、どのように車線変更するか（例えば、回転角、速度や距離）を決定する。例えば、集約力の方向は、車両が車線変更すべきか否かを決定するために用いられてもよい。集約力の方向及び大きさは、どのように車線変更するかを決定するために用いられてもよい。車線アナライザによる決定又は提案は決定モジュール３０４によって車線変更の最終決定を行うために用いられてもよい。その後、計画モジュール３０５は、決定モジュール３０４による決定に基づいて車線変更の経路又はルートを計画する。続いて、制御モジュール３０６は適切な制御命令を送信して車両を制御し運転する。
【００４０】
図５Ａと図５Ｂは、本発明のある実施形態に係るある運転シナリオを示す図である。図５Ａに示すように、この例では、自律走行車５００は、現在車線５０１において運転して、且つ現在車線５０１からターゲット車線５０２に変更することを決定する。車線変更の要求に応答して、仮想バネ５１１を配分してＡＤＶ  ５００と現在車線５０１であるオブジェクト５０３とを接続する。また、仮想バネ５１２を配分してＡＤＶ  ５００とターゲット車線５０２であるオブジェクト５０４とを接続する。一実施形態において、オブジェクト５０３はターゲット車線５０２に対して現在車線５０１の遠位側に位置し、オブジェクト５０４は現在車線５０１に対してターゲット車線５０２の遠位側に位置する。例えば、仮想バネ５１１〜５１２の初期長さ及び強度係数等のバネパラメータは、ＡＤＶ  ５００とオブジェクト５０３〜５０４との関係に基づいて設定される。
【００４１】
以上に述べたとおり、このようなパラメータは、ある時点における車線設定（例えば、車線幅）に基づいて動的に決定されてもよい。或いは、このようなパラメータは、特定の車線設定をバネパラメータのセットのマッピング表又はデータベースにマッピングしてルックアップ操作を実行することによって決定されてもよい。また、このようなパラメータはある時点における車線設定に関連付けられたバネモデルを用いて決定されてもよい。マッピング表／データベース又はバネモデルのバネパラメータは、データ分析システム（例えば、データ分析システム１０３）によって、類似の運転環境又は運転シナリオにおける複数種の車両の大量の運転統計データに基づいて、オフラインで決定して作成されてもよい。
【００４２】
一実施形態において、フックの法則により、仮想バネ５１１〜５１２はそれぞれのバネパラメータ（例えば、強度係数及び初期長さ）に基づいて力を提供してもよい。仮想バネ５１１〜５１２のそれぞれの力の方向及び大きさは、ＡＤＶ  ５００が車線変更すべきか否か、及びどのように車線変更するかを決定してもよい。この例では、周辺にＡＤＶ  ５００の車線変更に影響を潜在的に与えるほかの車両は存在しない（例えば、所定接近距離内にない）と仮定する。また、ＡＤＶ  ５００が現在車線５０１内に位置しているので、現在車線５０１に関連付けられた仮想バネ５１１は、圧縮されている（例えば、初期長さより短い）とも仮定する。ターゲット車線５０２に関連付けられた仮想バネ５１２は引っ張られる（例えば、初期長さより長い）。
【００４３】
したがって、フックの法則に基づいて、仮想バネ５１１で生成された力はＡＤＶ  ５００を右から左へターゲット車線５０２に押して、仮想バネ５１２で生成された力はＡＤＶを右から左へターゲット車線５０２に引っ張る。図５Ｂに示すように、仮想バネ５１１で生成された力と仮想バネ５１２で生成された力に基づいて、集約力を生成する。図５Ｂに示すように、独立した力５３１はバネ５１１によって生成され、且つ独立した力５３２はバネ５１２によって生成される。力５３１〜５３２に基づいて集約力５３３を計算し、この例では、力５３１〜５３２は方向が同じであるので、簡単に合わせて計算し、したがって、仮想バネ５１１〜５１２に関連付けられた集約力（この例では右から左へ指している）に基づき、ＡＤＶ  ５００はどの角度で車線変更してもよいことを決定できる。
【００４４】
ＡＤＶ  ５００の運転領域内に位置する周辺オブジェクト又は車両が多くなるにつれて、より多くの仮想バネを配分する。より多くの力を生成し、それによって集約力とその方向は変化してもよく、したがってＡＤＶの車線変更の決定に影響を与えることができる。図６Ａに示すように、この例では、現在車線５０１及びターゲット車線５０２を示すオブジェクト５０３〜５０４以外、ＡＤＶ  ５００の前方にはまた１台の車両５０５が存在する。したがって、仮想バネ５１３を配分してＡＤＶ  ５００と車両５０５とを接続する。強度係数及び初期長さ等のバネパラメータは、車両５０５とＡＤＶ  ５００との関係（例えば、前方にある車両の設定）に基づいて設定する。
【００４５】
車両５０５とＡＤＶ  ５００との距離に応じて、バネ５１３は圧縮形態又は引張形状であってもよい。したがって、バネ５１３で生成された力は、ＡＤＶ  ５００を車両５０５へ引っ張ることができ（バネ５１３は引っ張られる場合）、又はＡＤＶ  ５００を車両５０５から遠ざからせることができる（バネ５１３は圧縮される場合）。バネ５１１〜５１３で生成されたすべての力を集約して、集約力及びその方向を決定する。集約力及びその方向はＡＤＶ  ５００がある時点に車線変更すべきか否かを決定し、そうすれば、どのように車線変更するか（例えば、速度、角度）を決定する。例えば、集約力の最終の大きさ及びその方向に基づいて、ＡＤＶ  ５００はルート５２１又はルート５２２を介して現在車線５０１からターゲット車線５０２に変更することができる。車両５０５とＡＤＶ  ５００との距離が大きい（例えば、バネ５１３は遠く引っ張られる）場合、ＡＤＶ  ５００はルート５２１を介して車線を変更しようとする。車両５０５とＡＤＶ  ５００との距離が比較的小さい（例えば、バネ５１３はより短く引っ張られるが、引っ張れている）場合、ＡＤＶ  ５００は車両５０５への衝撃を回避するために、ルート５２２を介して車線を変更しようとする。
【００４６】
図６Ｂに示すように、バネ５１３で生成された力の異なる大きさ及び方向は、ＡＤＶ  ５００が車線変更するか否か、及び如何に車線変更するかという決定に影響を与えることができる。バネ５１３がより小さな引張り形状で引っ張られる（例えば、車両５０５はＡＤＶ  ５００より近い）場合、力５３４は生成される。力５３１〜５３２と力５３４とを集約して集約力５４２を生成し、集約力５４２はルート５２２を決定するために用いられてもよい。一方、バネ５１３がより大きな引張り形状で引っ張られる（例えば、ＡＤＶ  ５００は車両５０５からさらに離れる）場合、力５３５を生成して集約力５４１を計算し、集約力５４１はルート５２１を決定するために用いられてもよい。しかしながら、バネ５１３が圧縮される（例えば、ＡＤＶ  ５００と車両５０５は互いに近すぎる）場合、バネ５１３で力５３６を生成して集約力５４３を計算し、集約力５４３によりＡＤＶ  ５００はある時点に車線変更すべきでないことが示される。
【００４７】
図７Ａと図７Ｂは、ほかのシナリオを示し、且つ上記技術はＡＤＶ  ５００が車線変更すべきか否か、そうすればどのように車線変更するかを決定するために用いられてもよい。図７Ａに示すように、この例では、対応した仮想バネに基づいて、ターゲット車線５０２における追加した車両５０６〜５０７はＡＤＶ  ５００が車線変更すべきか否か、及び／又はどのように車線変更するかの決定に影響を与えることができる。図７Ｂに示すように、この例では、車両５０８はターゲット車線５０２内で移動しないが、ＡＤＶ  ５００は車両５０８の軌跡が車線を変更して、さらにターゲット車線５０２に入る可能性があることを決定したり予測したりすることができる。したがって、さらなる仮想バネを配分してＡＤＶ  ５００と車両５０８とを接続し、それによっても、ＡＤＶ  ５００の車線変更の決定に影響を与えることができる。
【００４８】
図８は本発明の一実施形態に係る自律走行車の動作過程（プロセス）のフローチャートである。過程８００は処理ロジックによって実行されてもよく、前記処理ロジックはソフトウェア、ハードウェア又はこれらの組み合わせを含んでもよい。例えば、過程８００は自律走行車の計画及び制御を実行するデータ処理システム、例えば、感知及び計画システム１１０によって実行されてもよい。図８に示すように、ブロック８０１において、処理ロジックは自律走行車の近傍や周辺にある１つ以上のオブジェクト（例えば、車両、車線、歩行者）を観察し感知する。ブロック８０２において、処理ロジックは自律走行車の車線変更に影響を与えるオブジェクトを決定する。自律走行車の車線変更に影響を与える可能性のあるオブジェクトのそれぞれについて、ブロック８０３において、処理ロジックは仮想バネを配分して、自律走行車とオブジェクトとの関係（例えば、相対位置）に基づいて自律走行車とオブジェクトとを接続する。ブロック８０４において、処理ロジックは仮想バネに対応した公式（ｆｏｒｍｕｌａ）又はバネモデルを用いて各仮想バネで生成された力ベクトル（例えば、力の大きさ及び方向）を計算する。すべての仮想バネのすべての力を集約して、集約力ベクトルを生成する。ブロック８０５において、集約力ベクトルに基づいて、速度、ターゲット車線に入る角度、及び／又は車線変更完了までの距離等を含む車線変更の運転パラメータを決定する。ブロック８０６において、運転パラメータに基づいて、車線変更の計画及び制御のデータを生成して、自律走行車を制御し運転して車線変更する。
【００４９】
図９は本発明の一実施形態に係る自律走行車を動作させるためのバネモデルの作成過程を示すフローチャートである。過程９００は処理ロジックによって実行されてもよく、処理ロジックはソフトウェア、ハードウェア又はそれらの組み合わせを含んでもよい。例えば、過程９００はデータ分析システム、例えば、図１におけるデータ分析システム１０３によって実行されてもよい。図９に示すように、ブロック９０１において、処理ロジックは車両の車線変更挙動を含む、複数種の車両の運転統計データを収集する。ブロック９０２において、処理ロジックはある時点に周辺オブジェクト（例えば、車両及び車線の設定）に基づいて車線変更した車両のそれぞれの運転統計データを分析する。ブロック９０３において、処理ロジックは、分析に基づいて多数の車線変更シナリオを決定する。車線変更シナリオはさらに、該当自律走行車の周辺における接近距離又は運転領域を制限してもよい。オブジェクトは接近距離又は運転領域内に位置する場合、自律走行車の車線変更に影響を与えるとされる。それぞれの車線変更シナリオでは、ブロック９０４において、処理ロジックは仮想バネモデル（又はバネパラメータ、又は強度係数及び初期長さのように事前定義されたバネパラメータのセットを計算するための公式）を作成する。ブロック９０５において、自律走行車のオンライン車線変更の間に用いられるように、仮想バネモデルを自律走行車に提供する。
【００５０】
注意すべきなのは、前記の言及された一部又は全部の構成要素（部材）は、ソフトウェア、ハードウェア又はその組み合わせで実現できる。例えば、このような構成要素は、永続的記憶装置（不揮発性メモリ）にインストールされるとともに記憶されたソフトウェアとして実現されてもよく、前記ソフトウェアは、プロセッサ（図示せず）でメモリにロ-ドされ、メモリにおいて本発明にわたって記載の過程（プロセス）又は操作（動作）を実施するように実行されてもよい。あるいは、このような構成要素は、専用ハードウェア（例えば、集積回路（例えば専用集積回路又はＡＳＩＣ）、デジタル信号プロセッサ（ＤＳＰ）、又はフィールドプログラマブルゲートアレイ（ＦＰＧＡ））にプログラミングされ又は嵌め込みされた実行可能なコードとして実現されてもよく、前記実行可能なコードは、アプリケーションからの対応するドライバープログラム及び／又はオペレーティングシステムによってアクセスされてもよい。なお、このような構成要素は、プロセッサ又はプロセッサコアにおける特定のハードウェアロジックとして実現されてもよく、ソフトウェア構成要素が１つ以上の特定命令によってアクセスできる命令セットの一部とする。
【００５１】
図１０は、本出願の一実施形態と組み合わせて使用されるデータ処理システムを例示的に示すブロック図である。例えば、システム１５００は、上記プロセス（手順）又は方法のいずれかを実行する任意のデータ処理システム（例えば、図１の感知及び計画システム１１０、又は、サーバ１０３〜１０４のいずれか１つ）を示してもよい。システム１５００は、多数の異なる構成要素を含んでもよい。これらの構成要素は、集積回路（ＩＣ）、集積回路の一部、分散型電子装置又は回路基板に適用された他のモジュール（例えばコンピュータシステムのマザーボード又はアドインカード）、又は他の方式でコンピュータシステムのシャシーに組み込まれた構成要素として実現されることができる。
【００５２】
さらに、システム１５００は、コンピュータシステムの多数の構成要素の高レベルビューを示すことを目的とする。しかしながら、いくつかの実現形態（実施例）では、付加的構成要素が存在する場合があることを理解すべきである。また、他の実現形態において示される構成要素が異なる配置を有してもよい。システム１５００は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ、携帯電話、メディアプレーヤー、パーソナルディジタルアシスタント（ＰＤＡ）、スマート腕時計、パーソナルコミュニケーター、ゲーム装置、ネットワークルータ又はハブ、無線アクセスポイント（ＡＰ）又はリピーター、セットトップボックス、又はそれらの組合せを示してもよい。また、単一の機器又はシステムのみを示したが、用語「機器」又は「システム」は、さらに、独立又は共同で１つ（又は複数）の命令セットを実行することにより本明細書に説明される任意の１種又は複数種の方法を実行する機器又はシステムの任意のセットを含むことを理解すべきである。
【００５３】
一実施形態において、システム１５００は、バス又は相互接続部材１５１０によって接続されたプロセッサ１５０１、メモリ１５０３及び装置１５０５〜１５０８を備える。プロセッサ１５０１は、単一のプロセッサコア又は複数のプロセッサコアを含む単一のプロセッサ又は複数のプロセッサであってもよい。プロセッサ１５０１は、マイクロプロセッサ、中央処理装置（ＣＰＵ）等のような１つ又は複数の汎用プロセッサであってもよい。より具体的には、プロセッサ１５０１は、複雑命令セット計算（ＣＩＳＣ）マイクロプロセッサ、縮小命令セットコンピュータ（ＲＩＳＣ）マイクロプロセッサ、超長命令語（ＶＬＩＷ）マイクロプロセッサ、又は他の命令セットを実現するプロセッサ、又は命令セットの組合せを実現するプロセッサであってもよい。プロセッサ１５０１は、さらに、専用集積回路（ＡＳＩＣ）、セルラ又はベースバンドプロセッサ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタル信号プロセッサ（ＤＳＰ）、ネットワークプロセッサ、グラフィックプロセッサ、通信プロセッサ、暗号プロセッサ、コプロセッサ、組み込みプロセッサのような１つ又は複数の専用プロセッサ、あるいは命令処理可能な任意の他のタイプのロジックであってもよい。
【００５４】
プロセッサ１５０１（超低電圧プロセッサのような低電力マルチコアプロセッサソケットであってもよい）は、前記システムの各種構成要素と通信するための主処理ユニット及び中央ハブとして用いられてもよい。このようなプロセッサは、システムオンチップ（ＳｏＣ）として実現されることができる。プロセッサ１５０１は、命令を実行することにより本明細書に説明される動作及びステップを実行するための命令を実行するように構成される。また、システム１５００は、選択可能なグラフィックサブシステム１５０４と通信するグラフィックインターフェースをさらに含み、グラフィックサブシステム１５０４は、表示コントローラ、グラフィックプロセッサ及び／又は表示装置をさらに備えてもよい。
【００５５】
プロセッサ１５０１は、メモリ１５０３と通信してもよく、メモリ１５０３は、一実施形態において複数のメモリによって所定量のシステムメモリを提供する。メモリ１５０３は、ランダムアクセスメモリ（ＲＡＭ）、動的ＲＡＭ（ＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、静的ＲＡＭ（ＳＲＡＭ）又は他のタイプのメモリのような１つ又は複数の揮発性記憶装置（又はメモリ）を備えてもよい。メモリ１５０３は、プロセッサ１５０１又は任意の他の装置により実行される命令列を含む情報を記憶できる。例えば、複数種のオペレーティングシステム、装置ドライバー、ファームウェア（例えば、基本入出力システム又はＢＩＯＳ）及び／又はアプリケーションの実行可能なコード及び／又はデータはメモリ１５０３にロードされてもよく、プロセッサ１５０１により実行される。オペレーティングシステムは、ロボットオペレーティングシステム（ＲＯＳ）、Ｍｉｃｒｏｓｏｆｔ(R)会社からのＷｉｎｄｏｗｓ(R)オペレーティングシステム、アップル会社からのＭａｃ  ＯＳ(R)／ｉＯＳ(R)、Ｇｏｏｇｌｅ(R)会社からのＡｎｄｒｏｉｄ(R)、Ｌｉｎｕｘ、Ｕｎｉｘ又は他のリアルタイム又は組み込みオペレーティングシステムのような任意のタイプのオペレーティングシステムであってもよい。
【００５６】
システム１５００は、Ｉ／Ｏ装置、例えば装置１５０５〜１５０８をさらに備えてもよく、ネットワークインターフェース装置１５０５、選択可能な入力装置１５０６及び他の選択可能なＩ／Ｏ装置１５０７を備える。ネットワークインターフェース装置１５０５は、無線送受信機及び／又はネットワークインターフェースカード（ＮＩＣ）を備えてもよい。前記無線送受信機は、ＷｉＦｉ送受信機、赤外送受信機、ブルートゥース送受信機、ＷｉＭａｘ送受信機、無線セルラーホン送受信機、衛星送受信機（例えば、全地球測位システム（ＧＰＳ）送受信機）又は他の無線周波数（ＲＦ）送受信機又はそれらの組合せであってもよい。ＮＩＣはイーサネットカードであってもよい。
【００５７】
入力装置１５０６は、マウス、タッチパッド、タッチスクリーン（それは表示装置１５０４と一体化されてもよい）、ポインタデバイス（例えばスタイラス）及び／又はキーボード（例えば、物理キーボード又はタッチスクリーンの一部として表示された仮想キーボード）を備えてもよい。例えば、入力装置１５０６は、タッチスクリーンに接続されるタッチスクリーンコントローラを含んでもよい。タッチスクリーン及びタッチスクリーンコントローラは、例えば複数種のタッチ感度技術（容量、抵抗、赤外及び表面音波の技術を含むが、それらに限定されない）のいずれか、及びタッチスクリーンの１つ又は複数の接触点を決定するための他の近接センサアレイ又は他の素子を用いてそのタッチ点及び移動又は断続を検出することができる。
【００５８】
Ｉ／Ｏ装置１５０７は音声装置（オーディオ装置）を備えてもよい。音声装置は、スピーカ及び／又はマイクロホンを含んでもよく、それにより音声認識、音声コピー、デジタル記録及び／又は電話機能のような音声サポートの機能を促進する。他のＩ／Ｏ装置１５０７は、汎用シリアルバス（ＵＳＢ）ポート、パラレルポート、シリアルポート、印刷機、ネットワークインターフェース、バスブリッジ（例えば、ＰＣＩ−ＰＣＩブリッジ）、センサ（例えば、加速度計、ジャイロスコープ、磁力計、光センサ、コンパス、近接センサ等のような動きセンサ）又はそれらの組合せをさらに備えてもよい。装置１５０７は、結像処理サブシステム（例えば、カメラ）をさらに備えてもよく、前記結像処理サブシステムは、カメラ機能（例えば、写真及びビデオ断片の記録）を促進するための電荷カップリング装置（ＣＣＤ）又は相補型金属酸化物半導体（ＣＭＯＳ）光学センサのような光学センサを備えてもよい。あるセンサは、センサハブ（図示せず）によって相互接続部材１５１０に接続されてもよく、キーボード又は熱センサのような他の装置は、組み込みコントローラ（図示せず）により制御されてもよく、これは。の特定配置又は設計により決められる。
【００５９】
データ、アプリケーション、１つ又は複数のオペレーティングシステム等のような情報の永続的記憶を提供するために、大容量メモリ（図示せず）は、プロセッサ１５０１に接続されてもよい。様々な実施形態において、薄型化と軽量化のシステム設計を実現しかつシステムの応答能力（感度）を向上させるために、このような大容量メモリは、ソリッドステート装置（ＳＳＤ）によってされることが実現できる。なお、他の実施形態において、大容量メモリは、主にハードディスクドライブ（ＨＤＤ）で実現されてもよく、少量のＳＳＤ記憶量は、ＳＳＤキャッシュとして停電イベント期間にコンテキスト状態及び他のこのような情報の不揮発性記憶を実現し、それによりシステム動作が再開する時に通電を速く実現することができる。さらに、フラッシュデバイスは、例えばシリアルペリフェラルインターフェース（ＳＰＩ）によってプロセッサ１５０１に接続されてもよい。このようなフラッシュデバイスは、システムソフトウェアの不揮発性記憶に用いられてもよく、前記システムソフトウェアは、前記システムのＢＩＯＳ（基本入出力システム）及び他のファームウェアを備える。
【００６０】
記憶装置１５０８は、本明細書に記載の任意の１種又は複数種の方法又は機能を体現する１つ又は複数の命令セット又はソフトウェア（例えば、モジュール、ユニット及び／又はロジック１５２８）が記憶されるコンピュータアクセス可能な記憶媒体１５０９（機械可読記憶媒体又はコンピュータ可読媒体とも呼ばれる）を備えてもよい。処理モジュール／ユニット／ロジック１５２８は、例えば、制御モジュール３０５や機械学習エンジン１２２のような上記構成要素のいずれかを示してもよい。処理モジュール／ユニット／ロジック１５２８は、さらにデータ処理システム１５００、メモリ１５０３及びプロセッサ１５０１により実行される期間にメモリ１５０３内及び／又はプロセッサ１５０１内に完全又は少なくとも部分的に存在してもよく、ここで、データ処理システム１５００、メモリ１５０３及びプロセッサ１５０１も、機器アクセス可能な記憶媒体を構成する。処理モジュール／ユニット／ロジック１５２８は、さらにネットワークによってネットワークインターフェース装置１５０５を経由して送受信されてもよい。
【００６１】
コンピュータ可読記憶媒体１５０９は、以上に説明されたいくつかのソフトウェア機能の一部又は全部を永続的に記憶してもよい。コンピュータ可読記憶媒体１５０９は、例示的な実施形態において単一の媒体として示されたが、用語「コンピュータ可読記憶媒体」は、前記１つ又は複数の命令セットが記憶される単一の媒体又は複数の媒体（例えば、集中型又は分散型データベース、及び／又は関連するキャッシュ及びサーバ）を備えることを理解すべきである。用語「コンピュータ可読記憶媒体」は、さらに命令セットを記憶又はコーディング可能な任意の媒体を備えることを理解すべきであり、前記命令セットは、機器により実行されかつ前記機器に本発明の任意の１種又は複数種の方法を実行させる。したがって、用語「コンピュータ可読記憶媒体」は、ソリッドステートメモリ及び光学媒体と磁気媒体又は任意の他の非一時的機械可読媒体を備えるが、それらに限定されないことを理解すべきである。
【００６２】
本明細書に記載の処理モジュール／ユニット／ロジック１５２８、構成要素及び他の特徴は、ディスクリートハードウェアコンポーネントとして実現されてもよく、又はハードウェアコンポーネント（例えばＡＳＩＣｓ、ＦＰＧＡ、ＤＳＰ又は類似装置）の機能に統合されてもよい。さらに、処理モジュール／ユニット／ロジック１５２８は、ハードウェア装置内のファームウェア又は機能回路として実現されてもよい。また、処理モジュール／ユニット／ロジック１５２８は、ハードウェア装置及びソフトウェアコンポーネントの任意の組合せで実現されてもよい。
【００６３】
なお、システム１５００は、データ処理システムの各種の構成要素を有するように示されているが、構成要素に相互接続させる任意の具体的な構造又は方式を限定するものではないことに注意すべき、それは、このような詳細が本出願の実施形態に密接な関係がないためである。また、より少ない構成要素又はより多くの構成要素を有するネットワークコンピュータ、ハンドヘルドコンピュータ、携帯電話、サーバ及び／又は他のデータ処理システムは、本出願の実施形態と共に使用されてもよい。
【００６４】
上記詳細な説明の一部は、コンピュータメモリにおけるデータビットに対する演算のアルゴリズム及び記号表現で示される。これらのアルゴリズムの説明及び表現は、データ処理分野における当業者によって使用される、それらの作業実質を所属分野の他の当業者に最も効果的に伝達する方法である。ここで、アルゴリズムは、通常、所望の結果につながる首尾一貫した操作列（ｓｅｑｕｅｎｃｅ  ｏｆ  ｏｐｅｒａｔｉｏｎｓ）と考えられる。これらの操作とは、物理量に対して物理的操作を行う必要となること（ステップ）を指す。
【００６５】
ただし、これらの全ての及び類似の用語は、いずれも適切な物理量に関連付けられ、かつただこれらの量に適用される利便性のラベルであることに注意すべきである。特に断らない限り、本出願の全体にわたって用語（例えば、添付している特許請求の範囲に説明された用語）による説明とは、コンピュータシステム又は類似の電子計算装置の動作及び処理であり、前記コンピュータシステム又は電子計算装置は、コンピュータシステムのレジスタ及びメモリに物理（例えば、電子）量としてデータを示し、かつ前記データをコンピュータシステムメモリ又はレジスタ又は他のこのような情報メモリ、伝送又は表示装置内において類似に物理量として示される他のデータに変換する。
【００６６】
本出願の実施形態は、さらに本明細書における動作を実行するためのコンピュータプログラムに関する。このようなコンピュータプログラムは、非一時的コンピュータ可読媒体に記憶される。機器可読媒体は、機器（例えば、コンピュータ）可読な形態で情報を記憶する任意の機構を備える。例えば、機器可読（例えば、コンピュータ可読）媒体は、機器（例えば、コンピュータ）可読記憶媒体（例えば、読み出し専用メモリ（「ＲＯＭ」）、ランダムアクセスメモリ（「ＲＡＭ」）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリメモリ）を備える。
【００６７】
上記図面に示される手順又は方法は、ハードウェア（例えば、回路、専用ロジック等）、ソフトウェア（例えば、非一時的コンピュータ可読媒体に具現化される）、又は両方の組合せを含む処理ロジックにより実行されてもよい。前記手順又は方法は、本明細書において特定の順序に応じて説明されるが、説明された動作の一部は、異なる順序に応じて実行されてもよい。また、いくつかの動作は、順番ではなく並行に実行されてもよい。
【００６８】
本発明の実施形態は、いずれかの特定のプログラミング言語を参照して説明されていないが、複数種のプログラミング言語で本明細書に記載の本出願の実施形態の教示を実現できることを理解すべきである。
【００６９】
以上の明細書では、本出願の具体的な例示的な実施形態を参照してその実施形態を説明した。明らかなように、添付している特許請求の範囲に記載の本出願のより広い趣旨及び範囲を逸脱しない限り、様々な変形が可能である。したがって、限定的なものではなく例示的なものとして本明細書及び図面を理解すべきである。
【図１】
2018070145.tif 000003
【図２】
2018070145.tif 000004
【図３】
2018070145.tif 000005
【図４】
2018070145.tif 000006
【図５】
2018070145.tif 000007
【図６】
2018070145.tif 000008
【図７】
2018070145.tif 000009
【図８】
2018070145.tif 000010
【図９】
2018070145.tif 000011
【図１０】
2018070145.tif 000012
【外国語明細書】
2018070145000001.pdf