以下、本発明の実施形態について図面を参照しながら説明する。なお、図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。
図1に示す車線追従制御装置100は、例えば、乗用車などの自車両Vに搭載されており、運転者による自車両Vの運転を支援する。車線追従制御装置100は、運転支援として車線維持支援(LKA:Lane Keeping Assist)を行う。
本実施形態に係る車線維持支援とは、車両の横位置が走行車線内の目標横位置となるように車両を制御すると共に、車両の運転者の操舵を車両の走行に反映させる運転支援である。走行車線とは、車両が走行中の車線である。車両の横位置とは、走行車線の幅方向における車両の位置である。車両の横位置は、例えば、平面視における車両の中心の位置を基準として認識される。以下、走行車線の幅方向を車線幅方向と称する。目標横位置とは、車線維持支援において車両の制御目標となる位置である。本実施形態において目標横位置は、車線幅方向における走行車線の中央位置に設定される。
車線追従制御装置100は、例えば、車載カメラにより走行車線を形成する二本の白線(例えば車線境界線又は車道通行帯境界線)を認識し、車線幅方向で二本の白線から等距離の位置を走行車線の中央位置として、車線維持支援の目標横位置に設定する。また、車線追従制御装置100は、例えば、車載カメラの撮像画像内における二本の白線の位置から、自車両Vの横位置を認識する。車線追従制御装置100は、自車両Vの横位置が目標横位置となるように自車両Vへ操舵トルクを付与することで、走行車線に沿った自車両Vの走行を支援する。車線追従制御装置100は、例えば、自車両Vの操舵アクチュエータを制御することにより、自車両Vの操舵装置に対して操舵トルクを付与する。
また、車線追従制御装置100は、隣接車線を走行する隣接車両が自車両Vの走行車線に近い位置を走行している等の場合、隣接車両から車線幅方向の距離が離れるように自車両Vの目標横位置を走行車線の中央位置からオフセットさせる。隣接車線とは、車線境界線を介して自車両Vの走行車線に隣接する車線である。
ここで、図2(a)〜図2(c)、図3(a)、及び図3(b)は、車線維持支援時において自車両Vが隣接車両を追い越す場合の目標横位置の設定を説明するための平面図である。図2(a)等に示すR1は、自車両Vが走行する走行車線である。R2は、走行車線R1に隣接する隣接車線である。L1は、走行車線R1と隣接車線R2との間の境界となる白線(車線境界線)である。L2は、車線境界線L1と反対側の隣接車線R2の白線(車道通行帯境界線)である。L3は、車線境界線L1と反対側の走行車線R1の白線(中央線)である。Rcは、走行車線R1の車線幅方向における中央位置を示す仮想線である。T0は、車線維持支援における初期の目標横位置である。初期の目標横位置とは、例えば、車線維持支援の開始時に走行車線R1に合わせて自動で設定される目標横位置である。ここでは、初期の目標横位置T0は、走行車線R1の中央位置Rcと一致している。Xは、隣接車線R2を走行する隣接車両である。隣接車両Xのうち、自車両Vに最も近い位置を走行している隣接車両を第一隣接車両X1と称し、自車両Vに2番目に近い位置を走行している隣接車両を第二隣接車両X2と称する。図2(b)等に示すT1は、隣接車線R2を走行する隣接車両Xの車線幅方向の位置に応じて初期の目標横位置T0をオフセットさせた変更後の目標横位置である。
以下、車線追従制御装置100の構成について説明する。車線追従制御装置100は、ステレオカメラ1、レーザレーダ2、運転支援ECU[Electronic Control Unit]4、及び操舵制御部5を備えている。
ステレオカメラ1は、例えば、自車両Vのフロントガラス及びリアガラスの裏面にそれぞれ設けられている。自車両Vのフロントガラスに設けられたステレオカメラ1は、二つの撮像部を有している。この二つの撮像部は、自車両Vの車幅方向に並んで配置されており、自車両Vの前方を撮像する。同様に、自車両Vのリアガラスに設けられたステレオカメラ1は、二つの撮像部を有している。この二つの撮像部は、自車両Vの車幅方向に並んで配置されており、自車両Vの後方を撮像する。ステレオカメラ1は、自車両Vの前方及び後方の撮像情報を運転支援ECU4へ送信する。なお、ステレオカメラ1に代えて単眼カメラを用いてもよい。
レーザレーダ2は、例えば、自車両Vの前端及び後端に設けられ、レーザーを利用して自車両Vの前方及び後方の障害物(他車両、歩行者、建物など)を検出する。レーザレーダ2は、例えば、レーザーを自車両Vの前方及び後方に送信し、他車両などの障害物で反射したレーザーを受信することで障害物を検出する。レーザレーダ2は、検出した障害物情報を運転支援ECU4へ送信する。なお、レーザレーダ2に代えて、ミリ波レーダなどを用いてもよい。
操舵制御部5は、自車両Vの電動パワーステアリングシステム[EPS:Electric Power Steering]を制御する電子制御ユニットである。操舵制御部5は、電動パワーステアリングシステムのうち、自車両Vの操舵トルクをコントロールする操舵アクチュエータを駆動させることにより、自車両Vの操舵トルクを制御する。操舵制御部5は、運転支援ECU4からの制御信号に応じて操舵トルクを制御する。
運転支援ECU4は、運転制御に関する制御を行う。運転支援ECU4は、CPU[Central Processing Unit]、ROM[Read Only Memory]、RAM[Random Access Memory]などからなる電子制御ユニットである。運転支援ECU4では、ROMに記憶されているプログラムをRAMにロードし、CPUで実行することで、各種の運転支援の制御を実行する。運転支援ECU4は、複数の電子制御ユニットから構成されていてもよい。
次に、運転支援ECU4の機能的構成について説明する。運転支援ECU4は、横位置認識部11、隣接車両検出部12、車線維持支援部(制御部)13、及び目標横位置設定部(オフセット部)14を備えている。
横位置認識部11は、自車両Vの横位置を認識する。横位置認識部11は、例えば、ステレオカメラ1が撮像した自車両Vの前方及び後方の画像に基づいて、画像解析により自車両Vの走行車線R1の白線(図2(a)に示す例では車線境界線L1及び中央線L3)を認識する。横位置認識部11は、例えば、認識した白線の画像内における位置に基づいて、走行車線R1における自車両Vの横位置を認識する。
隣接車両検出部12は、隣接車線R2を走行する隣接車両Xを検出する。隣接車両検出部12は、例えば、レーザレーダ2の障害物情報に基づいて、隣接車線R2を走行する障害物を隣接車両Xとして検出する。隣接車両検出部12は、ステレオカメラ1の撮像情報に基づいて、自車両Vの前方及び後方の撮像画像の解析により隣接車両Xを検出してもよい。隣接車両検出部12は、例えば、レーザレーダ2の障害物情報に基づいて、認識した隣接車両Xと自車両Vとの走行方向距離及び相対速度を認識する。隣接車両Xと自車両Vとの走行方向距離とは、自車両Vの走行車線R1に沿った自車両Vの走行方向における車間距離である。隣接車両Xと自車両Vとの相対速度とは、自車両Vの走行車線R1に沿った自車両Vの走行方向における隣接車両Xの速度と自車両Vの速度との差分となる速度である。
隣接車両検出部12は、隣接車両Xと自車両Vの走行車線R1との車線幅方向距離を検出する。車線幅方向距離とは、走行車線R1の車線幅方向の距離である。本実施形態において隣接車両検出部12は、隣接車線R2との境界となる走行車線R1の車線境界線L1と、隣接車両Xとの車線幅方向距離を検出する。隣接車両検出部12は、例えば、ステレオカメラ1の撮像情報に基づいて検出した車線境界線L1と、レーザレーダ2の障害物情報とに基づいて、隣接車両Xと車線境界線L1との車線幅方向距離を検出してもよい。なお、隣接車両検出部12は、隣接車両Xにおける走行車線R1側の端部から車線境界線L1までの距離を車線幅方向距離として検出してもよい。或いは、隣接車両検出部12は、隣接車両Xにおける車幅方向の中央位置から車線境界線L1までの距離を車線幅方向距離として検出してもよい。
また、隣接車両検出部12は、隣接車両Xから車線境界線L1までの距離を車線幅方向距離として検出することに限定されない。例えば、隣接車両検出部12は、隣接車両Xから走行車線R1の中央位置Rcまでの距離を車線幅方向距離として検出してもよい。この場合であっても、隣接車両検出部12は、例えば、ステレオカメラ1の撮像情報に基づいて検出した走行車線R1の中央位置Rcと、レーザレーダ2の障害物情報とに基づいて、隣接車両Xと中央位置Rcとの車線幅方向距離を検出してもよい。なお、中央位置Rcは、走行車線R1の車線幅方向の中央の位置である。隣接車両検出部12は、例えば、ステレオカメラ1の撮像情報に基づいて走行車線R1を形成する車線境界線L1及び中央線L3を検出し、車線境界線L1及び中央線L3から等距離の位置を走行車線R1の中央位置Rcとして検出することができる。
車線維持支援部13は、自車両Vの車線維持支援を行う。車線維持支援部13は、例えば、ドライバのスイッチ操作に基づいて車線維持支援を開始する。車線維持支援部13は、横位置認識部11が認識した自車両Vの横位置が目標横位置設定部14によって設定された目標横位置となるように自車両Vに操舵トルクを付与することで自車両Vの走行を制御する。車線維持支援部13は、操舵制御部5に制御信号を送信することにより、自車両Vへ操舵トルクを付与する。
目標横位置設定部14は、車線維持支援部13が自車両Vの横位置を制御する際に用いる目標横位置を設定する。目標横位置設定部14は、まず、車線維持支援部13が用いる目標横位置として、走行車線R1に対して予め設定された初期の目標横位置T0を設定する。初期の目標横位置T0は、車線幅方向における走行車線R1の中央位置Rcである。
また、目標横位置設定部14は、車線維持支援部13が用いる目標横位置を、隣接車線R2から離れるように走行車線R1内で中央位置Rcからオフセットさせるオフセット処理を行う。具体的には、目標横位置設定部14は、オフセット処理として、車線維持支援部13が用いる目標横位置を初期の目標横位置T0から変更後の目標横位置T1に変更する。目標横位置をオフセットさせるオフセット量、すなわち、中央位置Rcと変更後の目標横位置T1との車線幅方向の距離は、予め設定された値を用いてもよい。オフセット処理は、隣接車両検出部12によって検出された隣接車両Xと自車両Vとの走行方向距離が走行方向閾値以下、且つ隣接車両Xと車線境界線L1との車線幅方向距離が車線幅方向閾値以下の場合に実行される。走行方向閾値、及び車線幅方向閾値は、予め設定された値を用いることができる。
目標横位置設定部14は、隣接車両検出部12によって検出された隣接車両Xと自車両Vとの走行方向距離が走行方向閾値より大きくなった場合、又は隣接車両Xと車線境界線L1との車線幅方向距離が車線幅方向閾値より大きくなった場合、オフセット処理を終了する。すなわち、目標横位置設定部14は、車線維持支援部13が用いる目標横位置を変更後の目標横位置T1から初期の目標横位置T0に戻す。
ここで、隣接車線R2を1台の隣接車両Xが走行している状態で、走行する自車両Vが隣接車両Xを追い越す場合における目標横位置の設定について図2(a)及び図2(b)を用いて説明する。なお、図2(a)及び図2(b)では、隣接車線R2を第一隣接車両X1と第二隣接車両X2とが走行している状態を示しているが、第一隣接車両X1のみが走行しているとして説明する。また、第一隣接車両X1と車線境界線L1との車線幅方向距離は、車線幅方向閾値以下とする。
図2(a)に示す状態は、第一隣接車両X1と自車両Vとの走行方向距離が走行方向閾値aより大きい場合である。このため、目標横位置設定部14は、車線維持支援部13が用いる目標横位置として、初期の目標横位置T0を設定する。これにより、自車両Vは、横位置が初期の目標横位置T0(中央位置Rc)となるように車線維持支援部13によって制御される。
図2(b)に示す状態は、自車両Vが第一隣接車両X1に近づいた状態であり、第一隣接車両X1と自車両Vとの走行方向距離が走行方向閾値a以下の状態である。ここで、走行方向距離が走行方向閾値a以下の状態とは、自車両Vと第一隣接車両X1とが接近し、自車両Vと第一隣接車両X1とが車線幅方向において少なくとも一部分が重なった状態を含む。走行方向距離が走行方向閾値a以下の場合、目標横位置設定部14は、車線維持支援部13が用いる目標横位置を変更後の目標横位置T1に変更するオフセット処理を行う。これにより、自車両Vは、横位置が変更後の目標横位置T1となるように車線維持支援部13によって制御される。すなわち、自車両Vの横位置が、第一隣接車両X1から離れた位置となる。
図2(b)に示す状態から、自車両Vが第一隣接車両X1を追い越すと、第一隣接車両X1と自車両Vとの走行方向距離が走行方向閾値aより大きくなる。この場合、目標横位置設定部14は、車線維持支援部13が用いる目標横位置を、変更後の目標横位置T1から初期の目標横位置T0に戻す。これにより、自車両Vは、横位置が初期の目標横位置T0となるように車線維持支援部13によって制御される。
次に、隣接車線R2を1台の隣接車両Xが走行している状態で、走行する自車両Vが隣接車両Xに追い越される場合における目標横位置の設定について図4(a)及び図4(b)を用いて説明する。なお、図4(a)及び図4(b)では、隣接車線R2を第一隣接車両X1と第二隣接車両X2とが走行している状態を示しているが、第一隣接車両X1のみが走行しているとして説明する。また、第一隣接車両X1と車線境界線L1との車線幅方向距離は、車線幅方向閾値以下とする。
ここで、図4(a)〜図4(c)、図5(a)、及び図5(b)は、車線維持支援時において自車両Vが隣接車両Xに追い越される場合の目標横位置の設定を説明するための平面図である。図4(a)等に示すL11は、走行車線R1と隣接車線R2との間の境界となる白線(車線境界線)である。L12は、車線境界線L11と反対側の走行車線R1の白線(車道通行帯境界線)である。L13は、車線境界線L11と反対側の隣接車線R2の白線(中央線)である。
図4(a)に示す状態は、第一隣接車両X1と自車両Vとの走行方向距離が走行方向閾値aより大きい場合である。このため、目標横位置設定部14は、車線維持支援部13が用いる目標横位置として、初期の目標横位置T0を設定する。これにより、自車両Vは、横位置が初期の目標横位置T0(中央位置Rc)となるように車線維持支援部13によって制御される。
図4(b)に示す状態は、第一隣接車両X1が自車両Vに近づいた状態であり、第一隣接車両X1と自車両Vとの走行方向距離が走行方向閾値a以下の状態である。このため、目標横位置設定部14は、車線維持支援部13が用いる目標横位置を変更後の目標横位置T1に変更するオフセット処理を行う。これにより、自車両Vは、横位置が変更後の目標横位置T1となるように車線維持支援部13によって制御される。すなわち、自車両Vの横位置が、第一隣接車両X1から離れた位置となる。
図4(b)に示す状態から、第一隣接車両X1が自車両Vを追い越すと、第一隣接車両X1と自車両Vとの走行方向距離が走行方向閾値aより大きくなる。この場合、目標横位置設定部14は、車線維持支援部13が用いる目標横位置を、変更後の目標横位置T1から初期の目標横位置T0に戻す。これにより、自車両Vは、横位置が初期の目標横位置T0となるように車線維持支援部13によって制御される。
また、隣接車線R2を複数台の隣接車両Xが走行している場合がある。以下、隣接車線R2を第一隣接車両X1及び第二隣接車両X2が走行している場合において、目標横位置設定部14が行う目標横位置の設定について説明する。まず、自車両Vが第一隣接車両X1及び第二隣接車両X2を追い越す場合を説明する。ここで、目標横位置設定部14は、隣接車両検出部12によって検出された自車両Vの前方を走行する第一隣接車両X1に対して、上述したオフセット処理を行っているとする。
目標横位置設定部14は、第一隣接車両X1の直前を走行する第二隣接車両X2と第一隣接車両X1との距離が車間距離閾値以下、且つ第二隣接車両X2と自車両Vの車線境界線L1との車線幅方向距離が車線幅方向閾値以下のときは、第二隣接車両X2に対してオフセット処理を行うまで、第一隣接車両X1におけるオフセット処理を維持する。なお、目標横位置設定部14は、第一隣接車両X1と第二隣接車両X2との距離が車間距離閾値以下であるか否か、及び車線幅方向距離が車線幅方向閾値以下であるか否かの判断を、自車両Vが第一隣接車両X1を追い越した後に行ってもよい。自車両Vが第一隣接車両X1を追い越したとは、自車両Vの前端が第一隣接車両X1の前端を追い越した場合、或いは自車両Vの前端が第一隣接車両X1の前端を所定距離追い越した場合であってもよい。また、第二隣接車両X2と第一隣接車両X1との距離とは、第二隣接車両X2と第一隣接車両X1との車間距離とする。車間距離閾値は、予め設定された値を用いることができる。
すなわち、自車両Vが第一隣接車両X1を追い越して自車両Vと第一隣接車両X1との走行方向距離が走行方向閾値aより大きくなっても、目標横位置設定部14は、車線維持支援部13が用いる目標横位置として変更後の目標横位置T1が設定された状態を維持する。自車両Vが第一隣接車両X1を追い越して自車両Vと第二隣接車両X2との走行方向距離が走行方向閾値a以下となると、目標横位置設定部14は、第二隣接車両X2に対するオフセット処理を行う。第一隣接車両X1に対するオフセット処理が維持されているので、目標横位置設定部14は、第二隣接車両X2に対するオフセット処理を行う際に、車線維持支援部13が用いる目標横位置として変更後の目標横位置T1が設定された状態を維持する。
目標横位置設定部14は、第二隣接車両X2に対してオフセット処理を行っている状態で、第二隣接車両X2と自車両Vとの走行方向距離が走行方向閾値aより大きくなった場合、又は第二隣接車両X2と車線境界線L1との車線幅方向距離が車線幅方向閾値より大きくなった場合、オフセット処理を終了する。すなわち、目標横位置設定部14は、車線維持支援部13が用いる目標横位置を変更後の目標横位置T1から初期の目標横位置T0に戻す。
ここで、隣接車線R2を第一隣接車両X1及び第二隣接車両X2が走行している状態で、走行する自車両Vが第一隣接車両X1及び第二隣接車両X2を追い越す場合における目標横位置の設定について図2(a)〜図2(c)、図3(a)、図3(b)を用いて説明する。また、第一隣接車両X1及び第二隣接車両X2と車線境界線L1との車線幅方向距離は、車線幅方向閾値以下とする。第一隣接車両X1と第二隣接車両X2との距離は、車間距離閾値以下とする。
図2(a)に示す状態は、第一隣接車両X1と自車両Vとの走行方向距離が走行方向閾値aより大きい場合である。このため、目標横位置設定部14は、車線維持支援部13が用いる目標横位置として、初期の目標横位置T0を設定する。これにより、自車両Vは、横位置が初期の目標横位置T0(中央位置Rc)となるように車線維持支援部13によって制御される。
図2(b)に示す状態は、自車両Vが第一隣接車両X1に近づいた状態であり、第一隣接車両X1と自車両Vとの走行方向距離が走行方向閾値a以下の状態である。走行方向距離が走行方向閾値a以下の場合、目標横位置設定部14は、車線維持支援部13が用いる目標横位置を変更後の目標横位置T1に変更するオフセット処理を行う。これにより、自車両Vは、横位置が変更後の目標横位置T1となるように車線維持支援部13によって制御される。すなわち、自車両Vの横位置が、第一隣接車両X1から離れた位置となる。
図2(c)に示す状態は、図2(b)に示す状態から自車両Vが第一隣接車両X1を追い越し、第一隣接車両X1と自車両Vとの走行方向距離が走行方向閾値aより大きい状態である。また、自車両Vと第二隣接車両X2との走行方向距離が走行方向閾値aより大きい状態である。目標横位置設定部14は、自車両Vと第一隣接車両X1との走行方向距離が走行方向閾値aより大きくなっても、目標横位置を初期の目標横位置T0に戻すことなく、変更後の目標横位置T1が設定された状態を維持する。
図3(a)に示す状態は、自車両Vが第二隣接車両X2に追いついた状態であり、第二隣接車両X2と自車両Vとの走行方向距離が走行方向閾値a以下の状態である。走行方向距離が走行方向閾値a以下であるため、目標横位置設定部14は、車線維持支援部13が用いる目標横位置を変更後の目標横位置T1のまま維持する。これにより、自車両Vの横位置は、変更後の目標横位置T1のまま維持される。
図3(b)に示す状態は、自車両Vが第二隣接車両X2を更に追い越して、第二隣接車両X2と自車両Vとの走行方向距離が走行方向閾値aより大きくなった状態である。この場合、目標横位置設定部14は、車線維持支援部13が用いる目標横位置を、変更後の目標横位置T1から初期の目標横位置T0に戻す。これにより、自車両Vは、横位置が初期の目標横位置T0となるように車線維持支援部13によって制御される。
ここで、隣接車線R2を2台の隣接車両X(第一隣接車両X1及び第二隣接車両X2)が走行している場合に目標横位置設定部14が目標横位置を設定する例を説明したが、3台以上の隣接車両Xが走行していてもよい。すなわち、自車両Vが第二隣接車両X2を追い越した場合に、元の第二隣接車両X2を新たな第一隣接車両X1とし、元の第二隣接車両X2の直前を走行する隣接車両Xを新たな第二隣接車両X2として上述したように目標横位置を設定する。なお、自車両Vが第二隣接車両X2を追い越した場合とは、自車両Vの前端が第二隣接車両X2の前端を追い越した場合、或いは自車両Vの前端が第二隣接車両X2の前端を所定距離追い越した場合であってもよい。
また、第一隣接車両X1と第二隣接車両X2との距離が車間距離閾値より大きい場合であっても、目標横位置設定部14は、第二隣接車両X2におけるオフセット処理を行うまで第一隣接車両X1におけるオフセット処理を維持してもよい。例えば、目標横位置設定部14が第一隣接車両X1に対してオフセット処理を行っている場合であって、第二隣接車両X2と第一隣接車両X1との距離が車間距離閾値より大きく、第二隣接車両X2と車線境界線L1との車線幅方向距離が車線幅方向閾値以下であり、及び自車両Vの速度が第二隣接車両X2の速度よりも早いとする。この場合、目標横位置設定部14は、第一隣接車両X1に対するオフセット処理が終了して自車両Vの横位置が中央位置Rcに戻ってから、第二隣接車両X2に対するオフセット処理が行われることによって自車両Vが中央位置Rcから離れるまでの時間である中央走行時間を算出する。そして、中央走行時間が走行時間閾値以下であるときに、目標横位置設定部14は、第二隣接車両X2に対してオフセット処理を行うまで、第一隣接車両X1におけるオフセット処理を維持する。なお、目標横位置設定部14は、自車両Vの速度が第二隣接車両X2の速度よりも早いか否かを、例えば、レーザレーダ2の障害物情報に基づいて認識される自車両Vと第二隣接車両X2との走行方向距離の変化に基づいて判断してもよい。
なお、目標横位置設定部14は、中央走行時間が走行時間閾値以下であるときにオフセット処理を維持することに限定されない。例えば、自車両Vと第二隣接車両X2との相対速度が相対速度閾値より大きい場合、或いは自車両Vと第二隣接車両X2との相対距離が相対距離閾値以下の場合に、目標横位置設定部14は、第二隣接車両X2に対してオフセット処理を行うまで第一隣接車両X1におけるオフセット処理を維持してもよい。
次に、自車両Vが第一隣接車両X1及び第二隣接車両X2に追い越される場合を説明する。ここで、目標横位置設定部14は、隣接車両検出部12によって検出された自車両Vの後方を走行する第一隣接車両X1に対して、上述したオフセット処理を行っているとする。
目標横位置設定部14は、第一隣接車両X1の直後を走行する第二隣接車両X2と第一隣接車両X1との距離が車間距離閾値以下、且つ第二隣接車両X2と自車両Vの車線境界線L11との車線幅方向距離が車線幅方向閾値以下のときは、第二隣接車両X2に対してオフセット処理を行うまで、第一隣接車両X1におけるオフセット処理を維持する。なお、目標横位置設定部14は、第一隣接車両X1と第二隣接車両X2との距離が車間距離閾値以下であるか否か、及び車線幅方向距離が車線幅方向閾値以下であるか否かの判断を、自車両Vが第一隣接車両X1に追い越された後に行ってもよい。自車両Vが第一隣接車両X1に追い越されたとは、第一隣接車両X1の前端が自車両Vの前端を追い越した場合、或いは第一隣接車両X1の前端が自車両Vの前端を所定距離追い越した場合であってもよい。
すなわち、第一隣接車両X1が自車両Vを追い越して自車両Vと第一隣接車両X1との走行方向距離が走行方向閾値aより大きくなっても、目標横位置設定部14は、車線維持支援部13が用いる目標横位置として変更後の目標横位置T1が設定された状態を維持する。自車両Vが第一隣接車両X1に追い越されて自車両Vと第二隣接車両X2との走行方向距離が走行方向閾値a以下となると、目標横位置設定部14は、第二隣接車両X2に対するオフセット処理を行う。第一隣接車両X1に対するオフセット処理が維持されているので、目標横位置設定部14は、第二隣接車両X2に対するオフセット処理を行う際に、車線維持支援部13が用いる目標横位置として変更後の目標横位置T1が設定された状態を維持する。
目標横位置設定部14は、第二隣接車両X2に対してオフセット処理を行っている状態で、第二隣接車両X2と自車両Vとの走行方向距離が走行方向閾値aより大きくなった場合、又は第二隣接車両X2と車線境界線L1との車線幅方向距離が車線幅方向閾値より大きくなった場合、オフセット処理を終了する。すなわち、目標横位置設定部14は、車線維持支援部13が用いる目標横位置を変更後の目標横位置T1から初期の目標横位置T0に戻す。
ここで、隣接車線R2を第一隣接車両X1及び第二隣接車両X2が走行している状態で、走行する自車両Vが第一隣接車両X1及び第二隣接車両X2に追い越される場合における目標横位置の設定について図4(a)〜図4(c)、図5(a)、図5(b)を用いて説明する。また、第一隣接車両X1及び第二隣接車両X2と車線境界線L1との車線幅方向距離は、車線幅方向閾値以下とする。第一隣接車両X1と第二隣接車両X2との距離は、車間距離閾値以下とする。
図4(a)に示す状態は、第一隣接車両X1と自車両Vとの走行方向距離が走行方向閾値aより大きい場合である。このため、目標横位置設定部14は、車線維持支援部13が用いる目標横位置として、初期の目標横位置T0を設定する。これにより、自車両Vは、横位置が初期の目標横位置T0(中央位置Rc)となるように車線維持支援部13によって制御される。
図4(b)に示す状態は、第一隣接車両X1が自車両Vに近づいた状態であり、第一隣接車両X1と自車両Vとの走行方向距離が走行方向閾値a以下の状態である。走行方向距離が走行方向閾値a以下の場合、目標横位置設定部14は、車線維持支援部13が用いる目標横位置を変更後の目標横位置T1に変更するオフセット処理を行う。これにより、自車両Vは、横位置が変更後の目標横位置T1となるように車線維持支援部13によって制御される。すなわち、自車両Vの横位置が、第一隣接車両X1から離れた位置となる。
図4(c)に示す状態は、図4(b)に示す状態から第一隣接車両X1が自車両Vを更に追い越し、第一隣接車両X1と自車両Vとの走行方向距離が走行方向閾値aより大きい状態である。また、自車両Vと第二隣接車両X2との走行方向距離が走行方向閾値aより大きい状態である。目標横位置設定部14は、自車両Vと第一隣接車両X1との走行方向距離が走行方向閾値aより大きくなっても、目標横位置を初期の目標横位置T0に戻すことなく、変更後の目標横位置T1の状態を維持する。
図5(a)に示す状態は、第二隣接車両X2が自車両Vに追いついた状態であり、第二隣接車両X2と自車両Vとの走行方向距離が走行方向閾値a以下の状態である。走行方向距離が走行方向閾値a以下であるため、目標横位置設定部14は、車線維持支援部13が用いる目標横位置を変更後の目標横位置T1のまま維持する。これにより、自車両Vの横位置は、変更後の目標横位置T1のまま維持される。
図5(b)に示す状態は、第二隣接車両X2が自車両Vを追い越して、第二隣接車両X2と自車両Vとの走行方向距離が走行方向閾値aより大きくなった状態である。この場合、目標横位置設定部14は、車線維持支援部13が用いる目標横位置を、変更後の目標横位置T1から初期の目標横位置T0に戻す。これにより、自車両Vは、横位置が初期の目標横位置T0となるように車線維持支援部13によって制御される。
ここで、隣接車線R2を2台の隣接車両X(第一隣接車両X1及び第二隣接車両X2)が走行している場合に目標横位置設定部14が目標横位置を設定する例を説明したが、3台以上の隣接車両Xが走行していてもよい。すなわち、第二隣接車両X2が自車両Vを追い越した場合に、元の第二隣接車両X2を新たな第一隣接車両X1とし、元の第二隣接車両X2の直後を走行する隣接車両Xを新たな第二隣接車両X2として上述したように目標横位置を設定する。なお、第二隣接車両X2が自車両Vを追い越した場合とは、第二隣接車両X2の前端が自車両Vの前端を追い越した場合、或いは第二隣接車両X2の前端が自車両Vの前端を所定距離追い越した場合であってもよい。
また、第一隣接車両X1と第二隣接車両X2との距離が車間距離閾値より大きい場合であっても、目標横位置設定部14は、第二隣接車両X2におけるオフセット処理を行うまで第一隣接車両X1におけるオフセット処理を維持してもよい。例えば、目標横位置設定部14が第一隣接車両X1に対してオフセット処理を行っている場合であって、第二隣接車両X2と第一隣接車両X1との距離が車間距離閾値より大きく、第二隣接車両X2と車線境界線L1との車線幅方向距離が車線幅方向閾値以下であり、及び自車両Vの速度が第二隣接車両X2の速度よりも遅いとする。この場合、目標横位置設定部14は、第一隣接車両X1に対するオフセット処理が終了して自車両Vの横位置が中央位置Rcに戻ってから、第二隣接車両X2に対するオフセット処理が行われることによって自車両Vが中央位置Rcから離れるまでの時間である中央走行時間を算出する。そして、中央走行時間が走行時間閾値以下であるときに、目標横位置設定部14は、第二隣接車両X2に対してオフセット処理を行うまで、第一隣接車両X1におけるオフセット処理を維持する。なお、目標横位置設定部14は、自車両Vの速度が第二隣接車両X2の速度よりも遅いか否かを、例えば、レーザレーダ2の障害物情報に基づいて認識される自車両Vと第二隣接車両X2との走行方向距離の変化に基づいて判断してもよい。
なお、目標横位置設定部14は、中央走行時間が走行時間閾値以下であるときにオフセット処理を維持することに限定されない。例えば、自車両Vと第二隣接車両X2との相対速度が相対速度閾値より大きい場合、或いは自車両Vと第二隣接車両X2との相対距離が相対距離閾値以下の場合に、目標横位置設定部14は、第二隣接車両X2に対してオフセット処理を行うまで第一隣接車両X1におけるオフセット処理を維持してもよい。
次に、車線追従制御装置100が行う目標横位置の設定方法について、図6及び図7のフローチャートを用いて説明する。図6及び図7のフローチャートは、車線維持支援の実行中に実行される。また、ドライバが車線維持支援を終了した場合、車線追従制御装置100は、図6及び図7に示すフローチャートの処理を終了する。
目標横位置設定部14は、自車両Vが隣接車両Xを追い越す場合には、図6に示すフローチャートの処理を実行する。また、目標横位置設定部14は、自車両Vが隣接車両Xに追い越される場合には、図7に示すフローチャートの処理を実行する。目標横位置設定部14は、自車両Vが隣接車両Xを追い越すか又は追い越されるかを、例えば、レーザレーダ2の障害物情報に基づいて認識される自車両Vと隣接車両Xとの走行方向距離の変化に基づいて判断してもよい。
まず、自車両Vが隣接車両Xを追い越す場合について図6に示すフローチャートを用いて説明する。ここでは、隣接車線R2を複数台の隣接車両Xが走行しているとする。隣接車線R2を複数台の隣接車両Xが走行している状態で、自車両Vが隣接車両Xを追い越す場合とは、例えば、図2(a)〜図2(c)、図3(a)、図3(b)に示す場合である。
図6に示すように、目標横位置設定部14は、第一隣接車両X1と自車両Vとの走行方向距離が走行方向閾値a以下の状態であるか否かを判断する(S101)。走行方向距離が走行方向閾値a以下でない場合(S101:NO)、目標横位置設定部14は、S101の処理を再度行う。走行方向距離が走行方向閾値a以下である場合(S101:YES)、目標横位置設定部14は、第一隣接車両X1と車線境界線L1との車線幅方向距離が車線幅方向閾値以下であるか否かを判断する(S102)。車線幅方向距離が車線幅方向閾値以下でない場合(S102:NO)、目標横位置設定部14は、S101の処理を再度行う。車線幅方向距離が車線幅方向閾値以下である場合(S102:YES)、目標横位置設定部14は、第一隣接車両X1に対してオフセット処理を行う(S103)。すなわち、目標横位置設定部14は、車線維持支援部13が用いる目標横位置を、初期の目標横位置T0から変更後の目標横位置T1に変更する。
目標横位置設定部14は、自車両Vが第一隣接車両X1を追い越したか否かを判断する(S104)。自車両Vが第一隣接車両X1を追い越していない場合(S104:NO)、目標横位置設定部14は、S103の処理を行う。すなわち、目標横位置設定部14は、第一隣接車両X1に対するオフセット処理を維持する。なお、第一隣接車両X1の速度が早くなった場合など、自車両Vが第一隣接車両X1を追い越せない場合がある。この場合、目標横位置設定部14は、自車両Vと第一隣接車両X1との走行方向距離が走行方向閾値aを越えた場合にオフセット処理を終了してもよい。
自車両Vが第一隣接車両X1を追い越した場合(S104:YES)、目標横位置設定部14は、第二隣接車両X2と車線境界線L1との車線幅方向距離が車線幅方向閾値以下であるか否かを判断する(S105)。車線幅方向距離が車線幅方向閾値以下でない場合(S105:NO)、目標横位置設定部14は、自車両Vと第一隣接車両X1との走行方向距離が走行方向閾値aより大きくなった場合に第一隣接車両X1に対するオフセット処理を終了する(S110)。すなわち、目標横位置設定部14は、車線維持支援部13が用いる目標横位置を変更後の目標横位置T1から初期の目標横位置T0に戻す。
第二隣接車両X2と車線境界線L1との車線幅方向距離が車線幅方向閾値以下である場合(S105:YES)、目標横位置設定部14は、第二隣接車両X2と第一隣接車両X1との距離が車間距離閾値以下であるか否かを判断する(S106)。第二隣接車両X2と第一隣接車両X1との距離が車間距離閾値以下である場合(S106:YES)、目標横位置設定部14は、第二隣接車両X2に対してオフセット処理を行うまで、第一隣接車両X1におけるオフセット処理を維持する(S107)。そして、自車両Vと第二隣接車両X2との走行方向距離が走行方向閾値a以下となると、目標横位置設定部14は、第二隣接車両X2に対するオフセット処理を行う。従って、自車両Vが第一隣接車両X1を追い越しても、目標横位置は、初期の目標横位置T0に戻ることなく変更後の目標横位置T1が設定された状態が維持される。
次に、目標横位置設定部14は、自車両Vが第二隣接車両X2を追い越したか否かを判断する(S108)。自車両Vが第二隣接車両X2を追い越していない場合(S108:NO)、目標横位置設定部14は、第二隣接車両X2におけるオフセット処理を維持する(S107)。なお、第二隣接車両X2の速度が速くなった場合など、自車両Vが第二隣接車両X2を追い越せない場合がある。この場合、目標横位置設定部14は、自車両Vと第二隣接車両X2との走行方向距離が走行方向閾値aを越えた場合にオフセット処理を終了してもよい。
自車両Vが第二隣接車両X2を追い越した場合(S108:YES)、目標横位置設定部14は、隣接車線R2において第二隣接車両X2の直前に隣接車両Xが存在するか否かを判断する(S109)。隣接車両Xが存在する場合(S109:YES)、目標横位置設定部14は、元の第二隣接車両X2を新たな第一隣接車両X1とし、元の第二隣接車両X2の直前を走行する隣接車両Xを新たな第二隣接車両X2として、上述したS105以降の処理を行う。隣接車両Xが存在しない場合(S109:NO)、目標横位置設定部14は、自車両Vと第二隣接車両X2との走行方向距離が走行方向閾値aより大きくなった場合に第二隣接車両X2に対するオフセット処理を終了する(S110)。
また、第二隣接車両X2と第一隣接車両X1との距離が車間距離閾値以下でない場合(S106:NO)、目標横位置設定部14は、自車両Vの速度が第二隣接車両X2の速度よりも早いか否かを判断する(S111)。自車両Vの速度が第二隣接車両X2の速度よりも早くない場合とは、自車両Vが第二隣接車両X2を追い越せない場合である。従って、自車両Vの速度が第二隣接車両X2の速度よりも早くない場合(S111:NO)、目標横位置設定部14は、自車両Vと第一隣接車両X1との走行方向距離が走行方向閾値aより大きくなった場合に第一隣接車両X1に対するオフセット処理を終了する(S110)。
自車両Vの速度が第二隣接車両X2の速度よりも早い場合(S111:YES)、目標横位置設定部14は、第一隣接車両X1に対するオフセット処理が終了して自車両Vの横位置が中央位置Rcに戻ってから、第二隣接車両X2に対するオフセット処理が行われることによって自車両Vが中央位置Rcから離れるまでの時間である中央走行時間を算出する。そして、目標横位置設定部14は、中央走行時間が走行時間閾値以下であるか否かを判断する(S112)。中央走行時間が走行時間閾値以下でない場合(S112:NO)、目標横位置設定部14は、自車両Vと第一隣接車両X1との走行方向距離が走行方向閾値aより大きくなった場合に第一隣接車両X1に対するオフセット処理を終了する(S110)。中央走行時間が走行時間閾値以下である場合(S112:YES)、目標横位置設定部14は、S107以降の処理を行う。
次に、隣接車両Xが自車両Vを追い越す場合について図7に示すフローチャートを用いて説明する。ここでは、隣接車線R2を複数台の隣接車両Xが走行しているとする。隣接車線R2を複数台の隣接車両Xが走行している状態で、隣接車両Xが自車両Vを追い越す場合とは、例えば、図4(a)〜図4(c)、図5(a)、図5(b)に示す場合である。
図7に示すS201からS203の処理は、図6を用いて説明したS101からS103の処理と同様であり、説明を省略する。第一隣接車両X1に対するオフセット処理を行った後(S203の処理の後)、目標横位置設定部14は、第一隣接車両X1が自車両Vを追い越したか否かを判断する(S204)。第一隣接車両X1が自車両Vを追い越していない場合(S204:NO)、目標横位置設定部14は、S203の処理を行う。すなわち、目標横位置設定部14は、第一隣接車両X1に対するオフセット処理を維持する。なお、第一隣接車両X1の速度が遅くなった場合など、第一隣接車両X1が自車両Vを追い越せない場合がある。この場合、目標横位置設定部14は、自車両Vと第一隣接車両X1との走行方向距離が走行方向閾値aを越えた場合にオフセット処理を終了してもよい。
第一隣接車両X1が自車両Vを追い越した場合(S204:YES)、目標横位置設定部14は、第二隣接車両X2と車線境界線L11との車線幅方向距離が車線幅方向閾値以下であるか否かを判断する(S205)。車線幅方向距離が車線幅方向閾値以下でない場合(S205:NO)、目標横位置設定部14は、自車両Vと第一隣接車両X1との走行方向距離が走行方向閾値aより大きくなった場合に第一隣接車両X1に対するオフセット処理を終了する(S210)。すなわち、目標横位置設定部14は、車線維持支援部13が用いる目標横位置を変更後の目標横位置T1から初期の目標横位置T0に戻す。
第二隣接車両X2と車線境界線L11との車線幅方向距離が車線幅方向閾値以下である場合(S205:YES)、目標横位置設定部14は、第二隣接車両X2と第一隣接車両X1との距離が車間距離閾値以下であるか否かを判断する(S206)。第二隣接車両X2と第一隣接車両X1との距離が車間距離閾値以下である場合(S206:YES)、目標横位置設定部14は、第二隣接車両X2に対してオフセット処理を行うまで、第一隣接車両X1におけるオフセット処理を維持する(S207)。そして、自車両Vと第二隣接車両X2との走行方向距離が走行方向閾値a以下となると、目標横位置設定部14は、第二隣接車両X2に対するオフセット処理を行う。従って、第二隣接車両X2が自車両Vを追い越しても、目標横位置は、初期の目標横位置T0に戻ることなく変更後の目標横位置T1が設定された状態が維持される。
次に、目標横位置設定部14は、第二隣接車両X2が自車両Vを追い越したか否かを判断する(S208)。第二隣接車両X2が自車両Vを追い越していない場合(S208:NO)、目標横位置設定部14は、第二隣接車両X2におけるオフセット処理を維持する(S207)。なお、第二隣接車両X2の速度が遅くなった場合など、第二隣接車両X2が自車両Vを追い越せない場合がある。この場合、目標横位置設定部14は、自車両Vと第二隣接車両X2との走行方向距離が走行方向閾値aを越えた場合にオフセット処理を終了してもよい。
第二隣接車両X2が自車両Vを追い越した場合(S208:YES)、目標横位置設定部14は、隣接車線R2において第二隣接車両X2の直後に隣接車両Xが存在するか否かを判断する(S209)。隣接車両Xが存在する場合(S209:YES)、目標横位置設定部14は、元の第二隣接車両X2を新たな第一隣接車両X1とし、元の第二隣接車両X2の直後を走行する隣接車両Xを新たな第二隣接車両X2として、上述したS205以降の処理を行う。隣接車両Xが存在しない場合(S209:NO)、目標横位置設定部14は、自車両Vと第二隣接車両X2との走行方向距離が走行方向閾値aより大きくなった場合に第二隣接車両X2に対するオフセット処理を終了する(S210)。
また、第二隣接車両X2と第一隣接車両X1との距離が車間距離閾値以下でない場合(S206:NO)、目標横位置設定部14は、第二隣接車両X2の速度が自車両Vの速度よりも早いか否かを判断する(S211)。第二隣接車両X2の速度が自車両Vの速度よりも早くない場合とは、第二隣接車両X2が自車両Vを追い越せない場合である。従って、第二隣接車両X2の速度が自車両Vの速度よりも早くない場合(S211:NO)、目標横位置設定部14は、自車両Vと第一隣接車両X1との走行方向距離が走行方向閾値aより大きくなった場合に第一隣接車両X1に対するオフセット処理を終了する(S210)。
第二隣接車両X2の速度が自車両Vの速度よりも早い場合(S211:YES)、目標横位置設定部14は、第一隣接車両X1に対するオフセット処理が終了して自車両Vの横位置が中央位置Rcに戻ってから、第二隣接車両X2に対するオフセット処理が行われることによって自車両Vが中央位置Rcから離れるまでの時間である中央走行時間を算出する。そして、目標横位置設定部14は、中央走行時間が走行時間閾値以下であるか否かを判断する(S212)。中央走行時間が走行時間閾値以下でない場合(S212:NO)、目標横位置設定部14は、自車両Vと第一隣接車両X1との走行方向距離が走行方向閾値aより大きくなった場合に第一隣接車両X1に対するオフセット処理を終了する(S210)。中央走行時間が走行時間閾値以下である場合(S212:YES)、目標横位置設定部14は、S207以降の処理を行う。
本実施形態は以上のように構成され、この車線追従制御装置100は、隣接車線R2を第一隣接車両X1と第二隣接車両X2とが走行している状態で、自車両Vが隣接車両Xを追い越す際に第一隣接車両X1に対してオフセット処理を行っている場合、第二隣接車両X2と第一隣接車両X1との距離が車間距離閾値以下、且つ第二隣接車両X2と自車両Vの走行車線R1との車線幅方向距離が車線幅方向閾値以下のときは、第二隣接車両X2に対してオフセット処理を行うまで、第一隣接車両X1におけるオフセット処理を維持する。すなわち、車線追従制御装置100は、自車両Vが第一隣接車両X1を追い越して自車両Vと第一隣接車両X1との走行方向距離が走行方向閾値aを超えたとしても、目標横位置を中央位置に戻さない。これにより、第一隣接車両X1に対してオフセット処理を行ってから第二隣接車両X2に対してオフセット処理が行われるまでの間に、自車両Vの目標横位置が中央位置Rcに戻ることが無い。従って、車線追従制御装置100は、目標横位置が中央位置Rcとなることによる自車両Vの横方向の移動を抑制でき、ドライバが違和感を覚えることを抑制できる。
この車線追従制御装置100は、隣接車線R2を第一隣接車両X1と第二隣接車両X2とが走行している状態で、自車両Vが隣接車両Xに追い越される際に第一隣接車両X1に対してオフセット処理を行っている場合、第二隣接車両X2と第一隣接車両X1との距離が車間距離閾値以下、且つ第二隣接車両X2と自車両Vの走行車線R1との車線幅方向距離が車線幅方向閾値以下のときは、第二隣接車両X2に対してオフセット処理を行うまで、第一隣接車両X1におけるオフセット処理を維持する。すなわち、車線追従制御装置100は、第一隣接車両X1が自車両Vを追い越して自車両Vと第一隣接車両X1との走行方向距離が走行方向閾値aを超えたとしても、目標横位置を中央位置に戻さない。これにより、第一隣接車両X1に対してオフセット処理を行ってから第二隣接車両X2に対してオフセット処理が行われるまでの間に、自車両Vの目標横位置が中央位置Rcに戻ることが無い。従って、車線追従制御装置100は、目標横位置が中央位置Rcとなることによる自車両Vの横方向の移動を抑制でき、ドライバが違和感を覚えることを抑制できる。
自車両Vが第一隣接車両X1及び第二隣接車両X2を追い越す場合、又は、自車両Vが第一隣接車両X1及び第二隣接車両X2に追い越される場合、目標横位置設定部14は、第一隣接車両X1に対するオフセット処理が終了して自車両Vが中央位置Rcに戻ってから第二隣接車両X2に対するオフセット処理が行われることによって自車両Vが中央位置Rcから離れるまでの時間である中央走行時間を算出する。目標横位置設定部14は、中央走行時間が走行時間閾値以下であるときに、第二隣接車両X2に対してオフセット処理を行うまで、第一隣接車両X1におけるオフセット処理を維持する。また、目標横位置設定部14は、自車両Vと第二隣接車両X2との相対速度が相対速度閾値より大きい、又は自車両Vと第二隣接車両X2との相対距離が相対距離閾値以下であるときに、第二隣接車両X2に対してオフセット処理を行うまで、第一隣接車両X1におけるオフセット処理を維持する。
ここで、中央走行時間が走行時間閾値以下、相対速度が相対速度閾値より大きい、又は相対距離が相対距離閾値以下である場合とは、第一隣接車両X1に対するオフセット処理が終了して自車両Vの横位置が中央位置Rcとなった後、短時間経過後に再び第二隣接車両X2に対するオフセット処理を実行する必要が生じる場合である。このため、目標横位置設定部14は、第二隣接車両X2と第一隣接車両X1との距離が車間距離閾値より大きい場合であっても、中央走行時間が走行時間閾値以下である等の場合には、第二隣接車両X2に対してオフセット処理を行うまで、第一隣接車両X1におけるオフセット処理を維持する。これにより、車線追従制御装置100は、目標横位置が中央位置Rcとなることによる自車両Vの横方向の移動をより一層抑制でき、ドライバが違和感を覚えることをより一層抑制できる。
以上、本発明の実施形態について説明したが、本発明は、上記実施形態に限定されるものではない。例えば、目標横位置設定部14は、第一隣接車両X1と第二隣接車両X2との距離の閾値である車間距離閾値として、自車両Vと第二隣接車両X2との相対速度が大きいほど、大きい値を用いてもよい。自車両Vと第二隣接車両X2との相対速度が大きい場合には、自車両Vと第二隣接車両X2とが短時間で互いに接近する。自車両Vと第二隣接車両X2との相対速度が大きいほど車間距離閾値を大きくすることにより、第二隣接車両X2に対してオフセット処理を行うまで第一隣接車両X1におけるオフセット処理を維持する処理が実行され易くなる。これにより、車線追従制御装置100は、目標横位置が中央位置となることによる自車両Vの車線幅方向の移動をより一層抑制でき、ドライバの違和感をより一層抑制できる。
車線追従制御装置100は、隣接車両Xと自車両Vとの走行方向距離が走行方向閾値a以下であるか否かに基づいてオフセット処理を行ったが、他の基準に基づいてオフセット処理を行ってもよい。例えば、車線追従制御装置100は、隣接車両Xの周囲に設定されたオフセットゾーン内に自車両Vが入った場合にオフセット処理を行ってもよい。
図6のS111及びS112の処理を行うことは、必須ではない。例えば、目標横位置設定部14は、第一隣接車両X1と第二隣接車両X2との距離が走行方向閾値a以下でない場合(S106:NO)、第一隣接車両X1に対するオフセット処理を終了(S110)してもよい。同様に、図7のS211及びS212の処理を行うことは、必須ではない。例えば、目標横位置設定部14は、第一隣接車両X1と第二隣接車両X2との距離が走行方向閾値a以下でない場合(S206:NO)、第一隣接車両X1に対するオフセット処理を終了(S210)してもよい。
実施形態において目標横位置設定部14は、目標横位置を中央位置Rcからオフセットさせるオフセット量を第一隣接車両X1と第二隣接車両X2とで同じとした。これに限定されず、目標横位置設定部14は、第一隣接車両X1と第二隣接車両X2とで異なるオフセット量を用いて変更後の目標横位置T1を設定してもよい。例えば、目標横位置設定部14は、第一隣接車両X1及び第二隣接車両X2のそれぞれの横位置に応じてオフセット量を変更してもよい。