(57)【要約】      （修正有）【課題】隣接レーンを走行している隣接車の中から、その走行軌跡を自車両の操舵制御に用いることが適切な隣接車を選択し、当該選択された隣接車の走行軌跡を活用して車線維持制御を実行することができる運転支援装置を提供する。【解決手段】運転支援ＥＣＵは、自車両１００が走行しているレーンである走行レーン６１０において自車両の前方領域を走行する先行車１１０の走行軌跡と、走行レーンに隣接するレーンである隣接レーン６２０，６３０において自車両の前方領域を走行する隣接車１１１，１１２のうち、隣接レーンに沿って走行していると判定された隣接車について作成された隣接車の走行軌跡と、に基いて決定される目標走行ラインに従って自車両が走行するように、自車両の操舵角を変更する車線維持制御を実行する。【選択図】図６
2019059451.tif 000002
【特許請求の範囲】
【請求項１】
自車両が走行しているレーンである走行レーンにおいて前記自車両の前方領域を走行する先行車と、前記走行レーンに隣接するレーンである隣接レーンにおいて前記自車両の前方領域を走行する隣接車と、を検出する検出手段と、
前記先行車の走行軌跡である先行車軌跡、及び、前記隣接車の走行軌跡である隣接車軌跡、を作成する走行軌跡作成手段と、
前記走行レーンと前記隣接レーンとの区画線に対する前記隣接車のレーン幅方向の速度に基いて、前記隣接車が、前記隣接レーンに沿って走行しているか否かを判定する判定手段と、
前記先行車軌跡と、前記隣接車のうち前記隣接レーンに沿って走行していると判定された隣接車について前記走行軌跡作成手段が作成した前記隣接車軌跡と、に基いて決定される目標走行ラインに従って前記自車両が走行するように、前記自車両の操舵角を変更する車線維持制御を実行する車線維持制御手段と、
を備えた、運転支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両（自車両）の前方領域を走行している先行車の走行軌跡、及び、自車両が走行している走行レーンに隣接するレーン（以下、「隣接レーン」と称呼する。）を走行している他車両（以下、「隣接車」と称呼する。）の走行軌跡を利用して、自車両の走行レーンの中央付近の走行を支援する車線維持制御を実行する運転支援装置に関する。
【背景技術】
【０００２】
従来から知られている運転支援装置の一つは、先行車の走行軌跡（以下、「先行車軌跡」と称呼する。）を活用して目標走行ラインを設定し、設定された目標走行ラインに従って自車両が走行するように自車両の操舵制御を行う車線維持制御を実行する（例えば、特許文献１を参照。）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２０１１−５１４５８０号公報
【発明の概要】
【０００４】
ところで、本願発明者は、先行車軌跡に加えて、隣接車の走行軌跡（以下、「隣接車軌跡」と称呼する。）も活用して車線維持制御を実行する運転支援装置を検討している。このような運転支援装置では、以下に述べるような問題が生じる可能性があることが判明した。例えば、隣接車が隣接レーンに沿って走行していない、即ち、隣接車の道路幅方向における走行挙動が大きい場合がある。この隣接車の隣接車軌跡を活用して目標走行ラインが設定された場合、隣接車の道路幅方向における走行挙動が目標走行ラインに反映されてしまう。従って、自車両が走行レーン内で道路幅方向に移動し、自車両が安定して走行することができないという問題がある。
【０００５】
本発明は、上記課題を解決するためになされた。即ち、本発明の目的の一つは、隣接レーンを走行している隣接車の中から、その走行軌跡を自車両の操舵制御に用いることが適切な隣接車を選択し、当該選択された隣接車の走行軌跡を活用して車線維持制御を実行することができる運転支援装置を提供することである。
【０００６】
本発明の運転支援装置（以下、「本発明装置」と称呼される場合がある。）は、
自車両（１００）が走行しているレーンである走行レーンにおいて前記自車両の前方領域を走行する先行車（１１０）と、前記走行レーンに隣接するレーンである隣接レーンにおいて前記自車両の前方領域を走行する隣接車（１１１、１１２）と、を検出する検出手段（１０、１６）と、
前記先行車の走行軌跡である先行車軌跡（Ｌ０、Ｌ０*）、及び、前記隣接車の走行軌跡である隣接車軌跡（Ｌ１、Ｌ２）、を作成する走行軌跡作成手段（１０、１０ｂ）と、
前記走行レーンと前記隣接レーンとの区画線に対する前記隣接車のレーン幅方向の速度に基いて、前記隣接車が、前記隣接レーンに沿って走行しているか否かを判定する判定手段（１０、１０ｈ）と、
前記先行車軌跡と、前記隣接車のうち前記隣接レーンに沿って走行していると判定された隣接車について前記走行軌跡作成手段が作成した前記隣接車軌跡と、に基いて決定される目標走行ラインに従って前記自車両が走行するように、前記自車両の操舵角を変更する車線維持制御を実行する車線維持制御手段（１０、１０ｄ、４０）と、
を備えている。
【０００７】
本発明装置は、隣接車の隣接車軌跡を目標走行ラインの設定に活用する際に、隣接車が隣接レーンに沿って走行しているか否かを判定する。そして、本発明装置は、先行車軌跡と、隣接車のうち隣接レーンに沿って走行していると判定された隣接車について作成された隣接車軌跡と、に基いて目標走行ラインを決定し、当該決定された目標走行ラインに従って自車両が走行するように自車両の操舵角を変更する。従って、隣接レーンに沿って走行していない隣接車の隣接車軌跡が目標走行ラインに反映されないので、自車両は走行レーンを安定して走行することができる。
【０００８】
本発明の他の態様において、前記隣接レーンは、複数の隣接レーン（第１隣接レーン６２０及び第２隣接レーン６３０）を含む。前記検出手段は、前記複数の隣接レーンの各々から同じ数の隣接車を選択する。前記走行軌跡作成手段は、当該選択された隣接車の各々の隣接車軌跡を作成する。
【０００９】
本態様の検出手段は、複数の隣接レーンの各々から同じ数の隣接車を選択する。例えば、複数の隣接レーンのうちの１つが分岐してカーブしている場合でも、当該カーブしている隣接レーンを走行している隣接車の隣接車軌跡の目標走行ラインへの影響をできるだけ小さくすることができる。従って、自車両は走行レーンを安定して走行することができる。
【００１０】
上記説明においては、後述する実施形態に対応する発明の構成に対し、その実施形態で用いた名称及び／又は符号を括弧書きで添えている。しかしながら、本発明の各構成要素は、前記名称及び／又は符号によって規定される実施形態に限定されるものではない。
【図面の簡単な説明】
【００１１】
【図１】本発明の本実施形態に係る運転支援装置の概略構成図である。
【図２】先行車軌跡に基いて決定される目標走行ラインを用いた車線維持制御を説明するための平面図である。
【図３】（Ａ）は図２に示した車線維持制御を説明するための平面図であり、（Ｂ）は先行車軌跡の３次関数の係数と曲率及び曲率半径等との関係を説明するための数式であり、（Ｃ）は先行車軌跡の３次関数の係数と曲率及びヨー角等との関係を説明するための数式である。
【図４】走行レーンの中央ラインに基いて決定される目標走行ラインを用いた車線維持制御を説明するための平面図である。
【図５】走行レーンの中央ライン及び先行車軌跡に基いて作成される目標走行ラインを説明するための図である。
【図６】自車両及び先行車が走行レーンを走行しており、且つ、隣接車が走行レーンに隣接する隣接レーンを走行している状況を示した平面図である。
【図７】隣接レーンの１つがカーブして他のレーンから分岐している状況を示した平面図である。
【図８】（Ａ）は、走行レーン及び隣接レーンを区画する白線の総てが認識できている状況を示す平面図であり、（Ｂ）は、走行レーンを区画する白線のみが認識できている状況を示す平面図であり、（Ｃ）は、総ての白線が認識できていない状況を示す平面図である。
【図９】本発明の本実施形態に係る運転支援ＥＣＵが実行するルーチンを示したフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態に係る運転支援装置（以下、「本実施装置」と称呼される場合がある。）について添付図面を参照しながら説明する。
【００１３】
＜構成＞
本実施装置は、車両（自動車）に適用される。本実施装置は、図１に示したように、運転支援ＥＣＵ１０、エンジンＥＣＵ２０、ブレーキＥＣＵ３０、ステアリングＥＣＵ４０、及び、ナビゲーションＥＣＵ５０を備えている。
【００１４】
これらのＥＣＵは、マイクロコンピュータを主要部として備える電気制御装置（Electric Control Unit）であり、図示しないＣＡＮ（Controller Area Network）を介して相互に情報を送信可能及び受信可能に接続されている。本明細書において、マイクロコンピュータは、ＣＰＵ、ＲＡＭ、ＲＯＭ及びインターフェース（Ｉ／Ｆ）等を含む。例えば、運転支援ＥＣＵ１０は、ＣＰＵ１０ｖ、ＲＡＭ１０ｗ、ＲＯＭ１０ｘ及びインターフェース（Ｉ／Ｆ）１０ｙ等を含むマイクロコンピュータを備える。ＣＰＵ１０ｖはＲＯＭ１０ｘに格納されたインストラクション（プログラム、ルーチン）を実行することにより各種機能を実現するようになっている。
【００１５】
運転支援ＥＣＵ１０は、以下に列挙するセンサ（スイッチを含む。）と接続されていて、それらのセンサの検出信号又は出力信号を受信するようになっている。なお、各センサは、運転支援ＥＣＵ１０以外のＥＣＵに接続されていてもよい。その場合、運転支援ＥＣＵ１０は、センサが接続されたＥＣＵからＣＡＮを介してそのセンサの検出信号又は出力信号を受信する。
【００１６】
アクセルペダル操作量センサ１１は、自車両のアクセルペダル１１ａの操作量（アクセル開度）を検出し、アクセルペダル操作量ＡＰを表す信号を出力するようになっている。ブレーキペダル操作量センサ１２は、自車両のブレーキペダル１２ａの操作量を検出し、ブレーキペダル操作量ＢＰを表す信号を出力するようになっている。
【００１７】
操舵角センサ１３は、自車両の操舵角を検出し、操舵角θを表す信号を出力するようになっている。操舵トルクセンサ１４は、操舵ハンドルＳＷの操作により自車両のステアリングシャフトＵＳに加わる操舵トルクを検出し、操舵トルクＴｒａを表す信号を出力するようになっている。車速センサ１５は、自車両の走行速度（車速）を検出し、車速ＳＰＤを表す信号を出力するようになっている。
【００１８】
周囲センサ１６は、少なくとも自車両の前方の道路、及び、その道路に存在する立体物に関する情報を取得するようになっている。立体物は、移動物（歩行者及び自動車等）及び固定物（電柱及びガードレール等）を表す。以下、これらの立体物は「物標」と称呼される場合がある。周囲センサ１６は、レーダセンサ１６ａ及びカメラセンサ１６ｂを備えている。
【００１９】
レーダセンサ１６ａは、例えば、ミリ波帯の電波（以下、「ミリ波」と称呼する。）を少なくとも自車両の前方領域を含む自車両の周辺領域に放射し、放射範囲内に存在する物標によって反射されたミリ波（即ち、反射波）を受信する。更に、レーダセンサ１６ａは、物標の有無及び自車両と物標との相対関係を示すパラメータ（即ち、自車両に対する物標の位置、自車両と物標との距離、及び、自車両と物標との相対速度等）を演算して出力するようになっている。
【００２０】
より具体的に述べると、レーダセンサ１６ａはミリ波送受信部及び処理部を備えている。その処理部は、ミリ波送受信部から送信したミリ波とミリ波送受信部が受信した反射波との位相差、反射波の減衰レベル及びミリ波を送信してから反射波を受信するまでの時間等に基いて、自車両と物標との相対関係を示すパラメータを所定時間の経過毎に取得する。このパラメータは、検出した各物標（ｎ）に対する、車間距離（縦距離）Ｄｆｘ（ｎ）、相対速度Ｖｆｘ（ｎ）、横距離Ｄｆｙ（ｎ）及び相対横速度Ｖｆｙ（ｎ）等を含む。
【００２１】
車間距離Ｄｆｘ（ｎ）は、自車両と物標（ｎ）（例えば、先行車）との間の自車両の中心軸（前後方向に延びる中心軸、即ち、後述するｘ軸）に沿った距離である。
相対速度Ｖｆｘ（ｎ）は、物標（ｎ）（例えば、先行車）の速度Ｖｓと自車両の速度Ｖｊとの差（＝Ｖｓ−Ｖｊ）である。物標（ｎ）の速度Ｖｓは自車両の進行方向（即ち、後述するｘ軸の方向）における物標（ｎ）の速度である。
横距離Ｄｆｙ（ｎ）は、「物標（ｎ）の中心位置（例えば、先行車の車幅中心位置）」の、自車両の中心軸と直交する方向（即ち、後述するｙ軸方向）における同中心軸からの距離である。横距離Ｄｆｙ（ｎ）は「横位置」とも称呼される。
相対横速度Ｖｆｙ（ｎ）は、物標（ｎ）の中心位置（例えば、先行車の車幅中心位置）の、自車両の中心軸と直交する方向（即ち、後述するｙ軸方向）における速度である。
【００２２】
カメラセンサ１６ｂは、ステレオカメラ及び画像処理部を備え、車両前方の左側領域及び右側領域の風景を撮影して左右一対の画像データを取得する。カメラセンサ１６ｂは、その撮影した左右一対の画像データに基いて、物標の有無及び自車両と物標との相対関係を示すパラメータなどを演算して出力するようになっている。この場合、運転支援ＥＣＵ１０は、レーダセンサ１６ａによって得られた自車両と物標との相対関係を示すパラメータと、カメラセンサ１６ｂによって得られた自車両と物標との相対関係を示すパラメータと、を合成することにより、自車両と物標との相対関係を示すパラメータを決定する。
【００２３】
更に、カメラセンサ１６ｂは、その撮影した左右一対の画像データに基いて、道路の左及び右の区画線を認識し、道路の形状、及び、道路と車両との位置関係（例えば、走行しているレーンの左端又は右端から自車両の車幅方向の中心位置までの距離）を演算して出力するようになっている。なお、区画線は、白線及び黄色線等を含むが、以下では、一例として白線の例を説明する。
【００２４】
周囲センサ１６によって取得された物標に関する情報（自車両と物標との相対関係を示すパラメータを含む。）は「物標情報」と称呼される。周囲センサ１６は、所定の時間が経過するたびに、物標情報を運転支援ＥＣＵ１０に繰り返し送信する。なお、周囲センサ１６は、必ずしも、レーダセンサ及びカメラセンサの両方を備える必要はなく、例えば、レーダセンサのみ、又は、カメラセンサのみ、を含んでいてもよい。
【００２５】
操作スイッチ１７は、運転者により操作されるスイッチである。運転者は、操作スイッチ１７を操作することにより、後述する追従車間距離制御を実行するか否かを選択することができる。更に、運転者は、操作スイッチ１７を操作することにより、後述する車線維持制御を実行するか否かを選択することができる。
【００２６】
ヨーレートセンサ１８は、自車両のヨーレートを検出し、実ヨーレートＹＲｔを出力するようになっている。
【００２７】
エンジンＥＣＵ２０は、エンジンアクチュエータ２１に接続されている。エンジンアクチュエータ２１は、ガソリン燃料噴射・火花点火式・内燃機関２２のスロットル弁の開度を変更するスロットル弁アクチュエータを含む。エンジンＥＣＵ２０は、エンジンアクチュエータ２１を駆動することによって、内燃機関２２が発生するトルクを変更することができる。内燃機関２２が発生するトルクは、図示しない変速機を介して図示しない駆動輪に伝達されるようになっている。従って、エンジンＥＣＵ２０は、エンジンアクチュエータ２１を制御することによって、自車両の駆動力を制御し加速状態（加速度）を変更することができる。なお、内燃機関２２に代えて又は加えて、車両駆動源として電動機が使用されてもよい。
【００２８】
ブレーキＥＣＵ３０は、ブレーキアクチュエータ３１に接続されている。ブレーキアクチュエータ３１は、ブレーキペダル１２ａの踏力によって作動油を加圧する図示しないマスタシリンダと、左右前後輪に設けられる摩擦ブレーキ機構３２との間の油圧回路に設けられている。ブレーキアクチュエータ３１は、ブレーキＥＣＵ３０からの指示に応じて、摩擦ブレーキ機構３２のブレーキキャリパ３２ｂに内蔵されたホイールシリンダに供給する油圧を調整する。その油圧によりホイールシリンダが作動することによりブレーキパッドがブレーキディスク３２ａに押し付けられて摩擦制動力が発生する。従って、ブレーキＥＣＵ３０は、ブレーキアクチュエータ３１を制御することによって、自車両の制動力を制御し加速状態（減速度、即ち、負の加速度）を変更することができる。
【００２９】
ステアリングＥＣＵ４０は、周知の電動パワーステアリングシステムの制御装置であって、モータドライバ４１に接続されている。モータドライバ４１は、転舵用モータ４２に接続されている。転舵用モータ４２は、「操舵ハンドルＳＷ、操舵ハンドルＳＷに連結されたステアリングシャフトＵＳ及び操舵用ギア機構等を含む、図示しないステアリング機構」に組み込まれている。転舵用モータ４２は、モータドライバ４１から供給される電力によってトルクを発生し、このトルクによって操舵アシストトルクを加えたり、左右の操舵輪を転舵したりすることができる。即ち、転舵用モータ４２は、自車両の舵角（操舵角）を変更することができる。
【００３０】
ナビゲーションＥＣＵ５０は、自車両の位置を検出するためのＧＰＳ信号を受信するＧＰＳ受信機５１、地図情報等を記憶した地図データベース５２、及び、タッチパネル式ディスプレイ５３等と接続されている。ナビゲーションＥＣＵ５０は、自車両の位置と地図情報とに基いて自車両の経路誘導を行うようになっている。地図データベース５２に記憶されている地図情報は、道路情報を含む。例えば、道路情報上では、道路の区間のそれぞれに対して、道路の車線数、道路の幅員及び勾配等が対応付けられている。ナビゲーションＥＣＵ５０は、所定の時間が経過するたびに、道路情報（車線数を含む）を運転支援ＥＣＵ１０に繰り返し送信する。運転支援ＥＣＵ１０は、道路情報に基いて隣接レーンが存在しているか否かを判定できる。
【００３１】
＜前提となる制御＞
次に、本実施装置が実施する制御の概要について説明する。運転支援ＥＣＵ１０は、「追従車間距離制御」及び「車線維持制御」を実行できるようになっている。
【００３２】
・追従車間距離制御（ＡＣＣ：Adaptive Cruise Control）
追従車間距離制御は、物標情報に基いて、自車両の前方領域であって自車両の直前を走行している先行車（後述するＡＣＣ追従対象車）と自車両との車間距離を所定の距離に維持しながら、自車両を先行車に追従させる制御である。追従車間距離制御自体は周知である（例えば、特開２０１４−１４８２９３号公報、特開２００６−３１５４９１号公報及び特許第４１７２４３４号明細書等を参照。）。従って、以下、簡単に説明する。
【００３３】
運転支援ＥＣＵ１０は、操作スイッチ１７の操作によって追従車間距離制御が要求されている場合、追従車間距離制御を実行する。
【００３４】
より具体的に述べると、運転支援ＥＣＵ１０は、追従車間距離制御が要求されている場合、周囲センサ１６により取得した物標情報に基いてＡＣＣ追従対象車を選択する。例えば、運転支援ＥＣＵ１０は、検出した物標（ｎ）の横距離Ｄｆｙ（ｎ）と車間距離Ｄｆｘ（ｎ）とから特定される物標（ｎ）の相対位置が、自車両の車速及び自車両のヨーレートに基いて推定される自車両の進行方向における距離が長くなるほど、その進行方向に対する横方向の距離の絶対値が小さくなるように予め定められた追従対象車両エリア内に存在するか否かを判定する。そして、運転支援ＥＣＵ１０は、物標（ｎ）の相対位置が追従対象車両エリア内に所定時間以上に渡って存在する場合、その物標（ｎ）をＡＣＣ追従対象車として選択する。なお、相対位置が追従対象車両エリア内に所定時間以上に渡って存在する物標が複数存在する場合、運転支援ＥＣＵ１０は、それらの物標の中から車間距離Ｄｆｘ（ｎ）が最小の物標をＡＣＣ追従対象車として選択する。
【００３５】
更に、運転支援ＥＣＵ１０は、目標加速度Ｇｔｇｔを下記（１）式及び（２）式の何れかに従って算出する。（１）式及び（２）式において、Ｖｆｘ（ａ）はＡＣＣ追従対象車（ａ）の相対速度であり、ｋ１及びｋ２は所定の正のゲイン（係数）であり、ΔＤ１は「ＡＣＣ追従対象車（ａ）の車間距離Ｄｆｘ（ａ）」から「目標車間距離Ｄｔｇｔ」を減じることにより得られる車間偏差（＝Ｄｆｘ（ａ）−Ｄｔｇｔ）である。なお、目標車間距離Ｄｔｇｔは、運転者により操作スイッチ１７を用いて設定される目標車間時間Ｔｔｇｔに自車両１００の車速ＳＰＤを乗じることにより算出される（即ち、Ｄｔｇｔ＝Ｔｔｇｔ・ＳＰＤ）。
【００３６】
運転支援ＥＣＵ１０は、値（ｋ１・ΔＤ１＋ｋ２・Ｖｆｘ（ａ））が正又は「０」の場合に下記（１）式を使用して目標加速度Ｇｔｇｔを決定する。ｋａ１は、加速用の正のゲイン（係数）であり、「１」以下の値に設定されている。
運転支援ＥＣＵ１０は、値（ｋ１・ΔＤ１＋ｋ２・Ｖｆｘ（ａ））が負の場合に下記（２）式を使用して目標加速度Ｇｔｇｔを決定する。ｋｄ１は、減速用の正のゲイン（係数）であり、本例においては「１」に設定されている。
Ｇｔｇｔ（加速用）＝ｋａ１・（ｋ１・ΔＤ１＋ｋ２・Ｖｆｘ（ａ））  …（１）
Ｇｔｇｔ（減速用）＝ｋｄ１・（ｋ１・ΔＤ１＋ｋ２・Ｖｆｘ（ａ））  …（２）
【００３７】
なお、追従対象車両エリアに物標が存在しない場合、運転支援ＥＣＵ１０は、自車両の車速ＳＰＤが「目標車間時間Ｔｔｇｔに応じて設定される目標速度」に一致するように、目標速度と車速ＳＰＤに基いて目標加速度Ｇｔｇｔを決定する。
【００３８】
運転支援ＥＣＵ１０は、車両の加速度が目標加速度Ｇｔｇｔに一致するように、エンジンＥＣＵ２０を用いてエンジンアクチュエータ２１を制御するとともに、必要に応じてブレーキＥＣＵ３０を用いてブレーキアクチュエータ３１を制御する。このように、運転支援ＥＣＵ１０は、機能上、ＣＰＵにより実現される「追従車間距離制御（ＡＣＣ）を実行するＡＣＣ制御部１０ａ」を有している。
【００３９】
・車線維持制御
運転支援ＥＣＵ１０は、追従車間距離制御の実行中に、操作スイッチ１７の操作によって車線維持制御が要求されている場合、車線維持制御を実行する。
【００４０】
ＬＴＣ（Lane Trace Control）と称呼される車線維持制御では、運転支援ＥＣＵ１０が先行車軌跡又は白線、若しくは、これらの両方を活用して、目標走行ライン（目標走行路）を設定する。運転支援ＥＣＵ１０は、自車両の横位置（即ち、道路に対する車幅方向の自車両の位置）が「その自車両が走行している走行レーン（自車両走行レーン）」内の目標走行ライン付近に維持されるように、操舵トルクをステアリング機構に付与して自車両の操舵角を変更し、以て、運転者の操舵操作を支援する（例えば、特開２００８−１９５４０２号公報、特開２００９−１９０４６４号公報、及び、特開２０１０−６２７９号公報等を参照。）。なお、車線維持制御は、「ＴＪＡ（Traffic Jam Assis）」とも称呼される場合がある。
【００４１】
以下、先行車軌跡に基いて決定される目標走行ラインを用いた車線維持制御について説明を加える。なお、目標走行ラインを決定するためにその先行車軌跡が用いられる先行車は、「操舵追従先行車」と称呼される場合がある。運転支援ＥＣＵ１０は、目標走行ラインを決定するための先行車軌跡Ｌ０の作成対象となる物標である先行車（即ち、操舵追従先行車）１１０をＡＣＣ追従対象車と同様に特定する。
【００４２】
次に、図２に示したように、運転支援ＥＣＵ１０は、自車両１００の位置に対する所定時間毎の操舵追従先行車の位置情報を含む物標情報に基いて先行車軌跡Ｌ０を作成する。なお、図２に示したｘ−ｙ座標は、自車両１００の前後方向に延びる中心軸をｘ軸、これに直交する軸をｙ軸とし、自車両１００の現在位置を原点（ｘ＝０、ｙ＝０）とする座標である。
【００４３】
図２に示す各記号は以下の通りである。
ｄｖ：現在位置（ｘ＝０、ｙ＝０）の自車両１００の車幅方向の中央位置と先行車軌跡Ｌ０との間のｙ軸方向（実質的には道路幅方向）の距離ｄｖ
θｖ：自車両１００の現在位置（ｘ＝０、ｙ＝０）に対応する先行車軌跡Ｌ０の方向（接線方向）と自車両１００の進行方向（ｘ軸の＋の方向）とのずれ角（ヨー角）。
Ｃｖ：自車両１００の現在位置（ｘ＝０、ｙ＝０）に対応する位置（ｘ＝０、ｙ＝ｄｖ）の先行車軌跡Ｌ０の曲率
Ｃｖ’：曲率変化率（先行車軌跡Ｌ０の任意の位置（ｘ＝ｘ’、ｘ’は任意の値）での単位距離（Δｘ）当たりの曲率変化量）
【００４４】
例えば、運転支援ＥＣＵ１０は、所定時間が経過するごとに、先行車１１０の位置を表す位置座標データ（位置情報）をＲＡＭに保存（バッファリング）する。運転支援ＥＣＵ１０は、ＲＡＭに保存した先行車１１０の位置座標データを、それぞれの位置座標データを取得した時点における自車両１００の位置及び進行方向と、現時点における自車両の位置及び進行方向と、の差に基いて、現在位置を原点（ｘ＝０、ｙ＝０）とする上述したｘ−ｙ座標の位置座標データに変換する。例えば、図２の（ｘ１，ｙ１）、（ｘ２，ｙ２）、（ｘ３，ｙ３）及び（ｘ４，ｙ４）は、このように変換された先行車１１０の位置座標データ（以下、「変換後位置座標」と称呼する場合がある。）の例である。
【００４５】
運転支援ＥＣＵ１０は、それらの先行車１１０の変換後位置座標を用いた曲線フィッティング処理を実行することにより、先行車１１０の先行車軌跡Ｌ０を作成する。例えば、フィッティング処理に用いられる曲線は３次関数ｆ（ｘ）である。フィッティング処理は、例えば、最小二乗法により実行される。このように、運転支援ＥＣＵ１０は、機能上、ＣＰＵにより実現される「先行車の先行車軌跡Ｌ０を作成する走行軌跡作成部（走行軌跡作成手段）１０ｂ」を有している。
【００４６】
図３（Ａ）に示したように、先行車軌跡Ｌ０を、３次関数：ｆ（ｘ）＝ａｘ３+ｂｘ２+ｃｘ+ｄによって定義する。図３（Ｂ）に示した関係式及び条件を用いると、図３（Ｃ）に示した「３次関数ｆ（ｘ）の係数（ａ、ｂ、ｃ及びｄ）と、曲率Ｃｖ及びヨー角θｖ等と、の関係」が導出される。よって、先行車軌跡Ｌ０は下記（３）式に示すように表すことができる。このように、３次関数ｆ（ｘ）の係数ａ、ｂ、ｃ及びｄを求めることにより、先行車軌跡Ｌ０の曲率変化率Ｃｖ’、自車両１００の現在位置に対応する位置の先行車軌跡Ｌ０の曲率Ｃｖ、ヨー角θｖ、及び、距離ｄｖを求めることができる。
ｆ（ｘ）＝（１／６）Ｃｖ’・ｘ３＋（１／２）Ｃｖ・ｘ２＋θｖ・ｘ＋ｄｖ  …（３）
【００４７】
運転支援ＥＣＵ１０は、先行車軌跡Ｌ０を目標走行ラインに設定する場合、作成された３次関数ｆ（ｘ）の係数ａ、ｂ、ｃ及びｄと、図３（Ｃ）に示した関係とから、車線維持制御に必要な目標走路情報（即ち、目標走行ラインの曲率Ｃｖ（及び曲率変化率Ｃｖ’）、目標走行ラインに対するヨー角θｖ、並びに、目標走行ラインに対する道路幅方向の距離ｄｖ）を取得する。
【００４８】
運転支援ＥＣＵ１０は、所定時間が経過するごとに、曲率Ｃｖとヨー角θｖと距離ｄｖとを下記の（４）式に適用することにより目標操舵角θ*を演算する。更に、運転支援ＥＣＵ１０は、実際の操舵角θが目標操舵角θ*に一致するようにステアリングＥＣＵ４０を用いて転舵用モータ４２を制御する。（４）式において、Ｋlta１，Ｋlta２及びＫlta３は予め定められた制御ゲインである。
θ*＝Ｋlta１・Ｃｖ＋Ｋlta２・θｖ＋Ｋlta３・ｄｖ      …（４）
【００４９】
次に、白線に基いて決定される目標走行ラインを用いた車線維持制御について説明を加える。図４に示したように、運転支援ＥＣＵ１０は、周囲センサ１６から送信された情報（カメラセンサ１６ｂが認識できている情報）に基いて、自車両１００が走行している走行レーンの「左白線ＬＬ及び右白線ＬＲ」についての情報を取得する。運転支援ＥＣＵ１０は、取得した左白線ＬＬと右白線ＬＲとの道路幅方向における中央位置を結ぶラインを「走行レーンの中央ライン」ＬＭ０として推定する。このように、運転支援ＥＣＵ１０は、機能上、ＣＰＵにより実現される「白線ＬＬ及びＬＲの間の中央位置を結んだラインである中央ラインＬＭ０を推定する区画線認識部１０ｃ」を有している。
【００５０】
更に、運転支援ＥＣＵ１０は、走行レーンの中央ラインＬＭ０のカーブ半径Ｒ及び曲率ＣＬ（＝１／Ｒ）と、左白線ＬＬと右白線ＬＲとで区画される走行レーンにおける自車両１００の位置及び向きと、を演算する。より具体的に述べると、運転支援ＥＣＵ１０は、図４に示したように、自車両１００の車幅方向の中央位置と走行レーンの中央ラインＬＭ０との間の道路幅方向の距離ｄＬと、中央ラインＬＭ０の方向（接線方向）と自車両１００の進行方向とのずれ角θＬ（ヨー角θＬ）と、を演算する。これらのパラメータは、走行レーンの中央ラインＬＭ０を目標走行ラインに設定した場合の車線維持制御に必要な目標走路情報（目標走行ラインの曲率ＣＬ（及び曲率変化率）、目標走行ラインに対するヨー角θＬ、並びに、目標走行ラインに対する道路幅方向の距離ｄＬ）である。
【００５１】
走行レーンの中央ラインＬＭ０を目標走行ラインに設定する場合、運転支援ＥＣＵ１０は、式（４）において、ｄｖをｄＬに置換し、θｖをθＬに置換し、ＣｖをＣＬに置換することにより、目標操舵角θ*を演算し、実際の操舵角θが目標操舵角θ*に一致するように転舵用モータ４２を制御する。
【００５２】
なお、運転支援ＥＣＵ１０は、先行車軌跡Ｌ０と走行レーンの中央ラインＬＭ０との組み合わせによって目標走行ラインを作成してもよい。より具体的に述べると、例えば、図５に示すように、運転支援ＥＣＵ１０は、先行車軌跡Ｌ０が「先行車軌跡Ｌ０の形状（曲率）を維持した軌跡であって且つ自車両１００の近傍における中央ラインＬＭ０の位置及び当該中央ラインＬＭ０の方向（接線方向）と一致した軌跡」となるように、先行車軌跡Ｌ０を補正する。これにより、先行車軌跡のＬ０の形状が維持された軌跡であって、車線幅方向の誤差が小さい「補正した先行車軌跡（「補正先行車軌跡」と称呼される場合がある。）Ｌ０*」を目標走行ラインとして得ることができる。そして、運転支援ＥＣＵ１０は、補正先行車軌跡Ｌ０*を目標走行ラインに設定した場合の目標走路情報を取得し、その目標走路情報と上記（４）式とから目標操舵角θ*を演算し、実際の操舵角θが目標操舵角θ*に一致するように転舵用モータ４２を制御する。
【００５３】
本実施装置の運転支援ＥＣＵ１０は、以下に述べる（ａ）乃至（ｄ）のように、先行車の有無及び白線の認識状況に応じて目標走行ラインを設定して車線維持制御を実行する。
（ａ）左右の白線が遠方まで認識できている場合、運転支援ＥＣＵ１０は、走行レーンの中央ラインＬＭ０に基いて目標走行ラインを設定して車線維持制御を実行する。
（ｂ）自車両の前方に操舵追従先行車が存在し且つ左右の白線が認識できていない場合、運転支援ＥＣＵ１０は、操舵追従先行車の先行車軌跡Ｌ０に基いて目標走行ラインを設定して車線維持制御を実行する。
（ｃ）自車両の前方に操舵追従先行車が存在し且つ自車両の近傍の左右の白線が認識できている場合、運転支援ＥＣＵ１０は、操舵追従先行車の先行車軌跡Ｌ０を白線により補正した補正先行車軌跡Ｌ０*を目標走行ラインとして設定して車線維持制御を実行する。
（ｄ）自車両の前方に操舵追従先行車が存在せず且つ道路の白線が遠方まで認識できていない場合、運転支援ＥＣＵ１０は、車線維持制御をキャンセルする。
【００５４】
更に、上記の（ｂ）及び（ｃ）の状況において、隣接レーンが存在し且つ当該隣接レーンに隣接車が存在している場合、運転支援ＥＣＵ１０は、後述するように、先行車軌跡Ｌ０及び隣接車の走行軌跡（即ち、隣接車軌跡）の両方、又は、先行車軌跡Ｌ０に基いて車線維持制御を実行する。以上のように、運転支援ＥＣＵ１０は、機能上、ＣＰＵにより実現される「車線維持制御を実行するＬＴＣ制御部（車線維持制御手段）１０ｄ」を有している。
【００５５】
＜作動の概要＞
上記の（ｂ）及び（ｃ）の何れかの状況において、自車両が走行している走行レーンに隣接する隣接レーンであって自車両の前方領域を走行する他車両（隣接車）が存在する場合、その隣接車の走行軌跡をも利用して目標走行レーン（換言すると、目標走路情報）を設定する方が、自車両を走行レーンの中央付近により安定して走行させることができる場合がある。これは、例えば、操舵追従先行車が車線変更を企てているなどの理由により、走行レーンに沿って安定して走行していない場合があるからである。
【００５６】
一方、隣接車が隣接レーンに沿って走行していない場合に、この隣接車の隣接車軌跡を活用して目標走行ラインが設定された場合、隣接車の道路幅方向における走行挙動が目標走行ラインに反映されてしまう。この場合、自車両が走行レーンに沿って安定して走行できない状況が却って生じる。そこで、運転支援ＥＣＵ１０は、隣接レーンを走行する隣接車を特定し、その特定した隣接車が隣接レーンに沿って安定して走行しているか否かを判定する。更に、運転支援ＥＣＵ１０は、隣接車が隣接レーンに沿って安定して走行していると判定した場合、その隣接車の隣接車軌跡を目標走路情報に反映させた上で車線維持制御を実行する。
【００５７】
＜処理の内容＞
以下、隣接車軌跡を目標走路情報に反映させるための制御内容について図６乃至図８を参照しながら説明する。図６乃至図８の例においては、運転支援ＥＣＵ１０は、追従車間距離制御（ＡＣＣ）を実行している。更に、以下の条件１及び条件２の両方が成立している状況下で、運転支援ＥＣＵ１０が車線維持制御（ＬＴＣ）を実行することを前提としている。
（条件１）自車両の前方領域に操舵追従先行車が存在しており、運転支援ＥＣＵ１０が当該操舵追従先行車の先行車軌跡Ｌ０に基いて目標走行ラインを設定して車線維持制御を実行している（即ち、上記の状況（ｂ）が生じている。）。
（条件２）自車両が走行している走行レーンに隣接する隣接レーンが存在しており、且つ、隣接レーンに自車両の前方領域を走行する隣接車が存在している。
【００５８】
図６に示した例では、自車両１００が走行レーン６１０を走行しており、操舵追従先行車１１０が自車両１００の前方領域を走行している。第１隣接車１１１が、走行レーン６１０に対して右側に隣接する第１隣接レーン６２０を走行しており、第２隣接車１１２が、走行レーン６１０に対して左側に隣接する第２隣接レーン６３０を走行している。
【００５９】
（隣接車の選択）
このような状況が生じると、運転支援ＥＣＵ１０は、先ず、第１隣接レーン６２０及び第２隣接レーン６３０の各々から１つ以上の隣接車を選択する。運転支援ＥＣＵ１０は、上記の追従対象車両エリアの右側に隣接するエリアであって、追従対象車両エリアと同じ幅（道路幅方向の長さ）を有する第１隣接車両エリア内に物標が所定時間にわたって存在する場合、その物標を第１隣接車として選択する。なお、第１隣接車両エリアは追従対象車両エリアを走行レーンの幅（幅員）だけ第１隣接レーン６２０側に平行移動したエリアである。同様に、運転支援ＥＣＵ１０は、上記の追従対象車両エリアの左側に隣接するエリアであって、追従対象車両エリアと同じ幅（道路幅方向の長さ）を有する第２隣接車両エリア内に物標が所定時間にわたって存在する場合、その物標を第２隣接車として選択する。なお、第２隣接車両エリアは追従対象車両エリアを走行レーンの幅（幅員）だけ第２隣接レーン６３０側に平行移動したエリアである。
【００６０】
図６に示した例では、運転支援ＥＣＵ１０は、第１隣接レーン６２０から第１隣接車１１１を選択し、第２隣接レーン６３０から第２隣接車１１２を選択する。なお、１つの隣接レーンに複数の隣接車が存在している場合、運転支援ＥＣＵ１０は、自車両１００に対してより遠い位置を走行している隣接車を選択することが好ましい。より遠い位置を走行している隣接車を選択することにより、運転支援ＥＣＵ１０は、自車両１００に対して遠い位置の隣接車軌跡、即ち、隣接レーンの形状（曲率）を目標走路情報に反映させることができる。
【００６１】
第１隣接レーン６２０から選択される隣接車の数と第２隣接レーン６３０から選択される隣接車の数は同じであることが好ましい。図７に示すように、第２隣接レーン６３０が他のレーン６１０及び６２０から分岐してカーブしている場合、第２隣接レーン６３０から選択される隣接車の数が第１隣接レーン６２０から選択される隣接車の数よりも多いと、第２隣接レーン６３０を走行している隣接車の隣接車軌跡が目標走路情報に与える影響が大きくなり、自車両１００が走行レーン６１０に沿って安定して走行することができなくなる可能性がある。２つの隣接レーン６２０及び６３０の各々から同じ数の隣接車を選択することによって、２つの隣接レーンのうちの１つが分岐してカーブしている場合でも、当該カーブしている隣接レーンを走行している隣接車の隣接車軌跡の影響をできるだけ小さくすることができる。
【００６２】
一方、第１隣接レーン６２０に複数の隣接車が存在し、第２隣接レーン６３０に隣接車が存在していないと仮定する。この場合、運転支援ＥＣＵ１０は、第２隣接レーン６３０から隣接車を選択できない。このとき、運転支援ＥＣＵ１０は、第１隣接レーン６２０から１台の隣接車を選択してもよいし、第１隣接レーン６２０から複数の隣接車を選択してもよい。なお、第２隣接レーン６３０に複数の隣接車が存在し、第１隣接レーン６２０に隣接車が存在していない場合についても同様である。以上のように、運転支援ＥＣＵ１０は、機能上、ＣＰＵにより実現される「隣接レーンを走行している隣接車を選択する隣接車選択部１０ｅ」を有している。
【００６３】
（隣接車軌跡の作成）
運転支援ＥＣＵ１０は、所定時間が経過するごとに、隣接車１１１及び１１２の各々の位置を表す位置座標データをＲＡＭに保存している。運転支援ＥＣＵ１０は、上述した先行車軌跡Ｌ０を作成する手順と同様に、第１隣接車１１１の変換後位置座標に対して曲線フィッティング処理を実行することにより、第１隣接車１１１の走行軌跡である第１隣接車軌跡Ｌ１を作成する。同様に、運転支援ＥＣＵ１０は、第２隣接車１１２の位置座標データの変換後位置座標に対して曲線フィッティング処理を実行することにより、第２隣接車１１２の走行軌跡である第２隣接車軌跡Ｌ２を作成する。なお、隣接車軌跡Ｌ１及びＬ２を作成する機能は、上記の走行軌跡作成部１０ｂに含まれる。
【００６４】
（白線位置及び中央ラインの推定）
上述したように、運転支援ＥＣＵ１０は、隣接車が隣接レーンに沿って安定して走行しているか否かを判定する。この判定は、走行レーン及び隣接レーンの白線位置及び／又はそれらのレーンの中央ラインを基準として行われる。そこで、運転支援ＥＣＵ１０は、先ず、白線位置及び中央ラインを次のようにして推定する。
【００６５】
図８に示すように、運転支援ＥＣＵ１０は、走行レーン６１０を区画する第１白線８１０及び第２白線８２０、第１隣接レーン６２０の右端を区画する第３白線８３０、並びに、第２隣接レーン６３０の左端を区画する第４白線８４０の認識状況に応じて、白線位置の推定処理と、走行レーン６１０及び隣接レーン６２０、６３０の中央ラインの推定処理と、を実行する。白線位置の推定処理とは、第１乃至第４白線（８１０−８４０）のうち、運転支援ＥＣＵ１０がその位置（自車両近傍の白線位置）を認識できていない白線の位置を推定するための処理である。
【００６６】
白線の認識状況は、以下の状況１乃至状況３を含む。
（状況１）：運転支援ＥＣＵ１０は、自車両１００の近傍において、第１白線８１０乃至第４白線の総てを認識できている。
（状況２）：運転支援ＥＣＵ１０は、自車両１００の近傍において、第１白線８１０及び第２白線８２０のみを認識できている。
（状況３）：運転支援ＥＣＵ１０は、自車両１００の近傍において、第１白線８１０乃至第４白線８４０の何れも認識できていない。
【００６７】
・状況１
図８（Ａ）に示した「状況１」の場合、運転支援ＥＣＵ１０は白線位置の推定処理を実行する必要がなく、それ故、白線位置の推定処理を実行しない。運転支援ＥＣＵ１０は、認識できている白線８１０乃至８４０の位置に基いて、走行レーン６１０の中央ラインＬＭ０、第１隣接レーン６２０の中央ラインＬＭ１及び第２隣接レーン６３０の中央ラインＬＭ２を推定する。
【００６８】
・状況２
図８（Ｂ）に示した「状況２」の場合、運転支援ＥＣＵ１０は、以下に述べるように、認識できている「第１白線８１０及び第２白線８２０」の位置に基いて、第３白線８３０及び第４白線８４０の位置を推定する処理（白線位置の推定処理）を実行する。更に、運転支援ＥＣＵ１０は、以下に述べるように、認識できている「第１白線８１０及び第２白線８２０」の位置に基いて、走行レーン６１０の中央ラインＬＭ０、第１隣接レーン６２０の中央ラインＬＭ１及び第２隣接レーン６３０の中央ラインＬＭ２を推定する処理（中央ラインの推定処理）を実行する。
【００６９】
より具体的に述べると、まず、運転支援ＥＣＵ１０は、認識できている第１白線８１０と認識できている第２白線８２０との間の道路幅方向における中央位置（中心位置）を結ぶ線を中央ラインＬＭ０として推定する。中央ラインＬＭ０の位置を表す関数を「ｙ＝ｇ（ｘ）」と表記する。
【００７０】
更に、運転支援ＥＣＵ１０は、第１白線８１０と第２白線８２０との間の道路幅Ｗ１を「第１白線８１０及び第２白線８２０」の位置に基いて演算する。ここで、第１隣接レーン６２０の中央ラインＬＭ１の位置を表す関数を「ｙ＝ｈａ（ｘ）」と表記し、第３白線８３０の位置を表す関数を「ｙ＝ｋａ（ｘ）」と表記する。運転支援ＥＣＵ１０は、第１隣接レーン６２０が走行レーン６１０と同じ道路幅Ｗ１を有すると仮定している。この仮定によれば、ｈａ（ｘ）及びｋａ（ｘ）の各々は、下記（５）式及び（６）式のように、ｇ（ｘ）を道路幅方向（この例では、ｙ軸方向）に平行移動させた関数として表すことができる。
ｈａ（ｘ）＝ｇ（ｘ）−Ｗ１    …（５）
ｋａ（ｘ）＝ｇ（ｘ）−（1.5×Ｗ１）    …（６）
【００７１】
更に、第２隣接レーン６３０の中央ラインＬＭ２の位置を表す関数を「ｙ＝ｈｂ（ｘ）」と表記し、第４白線８４０の位置を表す関数を「ｙ＝ｋｂ（ｘ）」と表記する。運転支援ＥＣＵ１０は、第２隣接レーン６３０が走行レーン６１０と同じ道路幅Ｗ１を有すると仮定している。この仮定によれば、ｈｂ（ｘ）及びｋｂ（ｘ）の各々は、下記（７）式及び（８）式のように、ｇ（ｘ）を道路幅方向に平行移動させた関数として表すことができる。
ｈｂ（ｘ）＝ｇ（ｘ）＋Ｗ１    …（７）
ｋｂ（ｘ）＝ｇ（ｘ）＋（1.5×Ｗ１）    …（８）
【００７２】
以上のように、運転支援ＥＣＵ１０は、第３白線８３０（ｙ＝ｋａ（ｘ））、第４白線８４０（ｙ＝ｋｂ（ｘ））、第１隣接レーン６２０の中央ラインＬＭ１（ｙ＝ｈａ（ｘ））、及び、第２隣接レーン６３０の中央ラインＬＭ２（ｙ＝ｈｂ（ｘ））を推定する。
【００７３】
・状況３
図８（Ｃ）に示した「状況３」の場合、運転支援ＥＣＵ１０は、以下に述べるように、操舵追従先行車１１０の先行車軌跡Ｌ０に基いて、第１白線８１０乃至第４白線８４０の位置を推定する処理（白線位置の推定処理）と、走行レーン６１０の中央ラインＬＭ０、第１隣接レーン６２０の中央ラインＬＭ１及び第２隣接レーン６３０の中央ラインＬＭ２を推定する処理（中央ラインの推定処理）と、を実行する。
【００７４】
ところで、運転支援ＥＣＵ１０は、走行中に少なくとも「第１白線８１０及び第２白線８２０」を認識した場合、第１白線８１０及び第２白線８２０の位置に基いて走行レーン６１０の道路幅Ｗｅを算出し、その算出した道路幅ＷｅをＲＡＭに記憶している。運転支援ＥＣＵ１０は、現時点で第１白線８１０及び第２白線８２０を認識できない場合、ＲＡＭに記憶した道路幅Ｗｅを用いて白線位置及び中央ラインの推定を行う。なお、道路幅Ｗｅは、運転支援ＥＣＵ１０に予め記憶されている所定値でもよく、地図データベース５２に記憶されている道路情報に含まれている値であってもよい。
【００７５】
先行車軌跡Ｌ０を表す３次関数を「ｆ０（ｘ）」と表記し、第１白線８１０の位置を表す関数を「ｙ＝ｍ（ｘ）」と表記する。運転支援ＥＣＵ１０は、操舵追従先行車１１０が走行レーン６１０の略中央位置を走行しており、且つ、走行レーン６１０及び第１隣接レーン６２０が道路幅Ｗｅを有すると仮定している。この仮定によれば、関数ｍ（ｘ）、ｈａ（ｘ）及びｋａ（ｘ）の各々は、下記（９）式乃至（１１）式のように、関数ｆ０（ｘ）を道路幅方向に平行移動させた関数として表すことができる。
ｍ（ｘ）＝ｆ０（ｘ）−（0.5×Ｗｅ）  …（９）
ｈａ（ｘ）＝ｆ０（ｘ）−Ｗｅ    …（１０）
ｋａ（ｘ）＝ｆ０（ｘ）−（1.5×Ｗｅ）    …（１１）
【００７６】
更に、第２白線８２０の位置を表す関数を「ｙ＝ｎ（ｘ）」と表記する。運転支援ＥＣＵ１０は、操舵追従先行車１１０が走行レーン６１０の略中央位置を走行しており、且つ、第２隣接レーン６３０が道路幅Ｗｅを有すると仮定している。この仮定によれば、関数ｎ（ｘ）、ｈｂ（ｘ）及びｋｂ（ｘ）の各々は、下記（１２）式乃至（１４）式のように、関数ｆ０（ｘ）を道路幅方向に平行移動させた関数として表すことができる。
ｎ（ｘ）＝ｆ０（ｘ）＋（0.5×Ｗｅ）  …（１２）
ｈｂ（ｘ）＝ｆ０（ｘ）＋Ｗｅ    …（１３）
ｋｂ（ｘ）＝ｆ０（ｘ）＋（1.5×Ｗｅ）    …（１４）
【００７７】
以上のように、運転支援ＥＣＵ１０は、第１白線８１０（ｙ＝ｍ（ｘ））、第２白線８２０（ｙ＝ｎ（ｘ））、第３白線８３０（ｙ＝ｋａ（ｘ））、第４白線８４０（ｙ＝ｋｂ（ｘ））、走行レーン６１０の中央ラインＬＭ０、第１隣接レーン６２０の中央ラインＬＭ１（ｙ＝ｈａ（ｘ））、及び、第２隣接レーン６３０の中央ラインＬＭ２（ｙ＝ｈｂ（ｘ））を推定する。
【００７８】
なお、第１白線８１０及び第２白線８２０の一方のみが認識できている状況においては、第１白線８１０及び第２白線８２０のうちの認識できている白線の位置と、記憶している道路幅Ｗｅと、から第１白線８１０及び第２白線８２０のうちの認識できていない白線と、第３白線８３０及び第４白線８４０と、中央ラインＬＭ０、ＬＭ１及びＬＭ２と、を推定すればよい。以上のように、運転支援ＥＣＵ１０は、機能上、ＣＰＵにより実現される「走行レーン６１０及び隣接レーン６２０、６３０のそれぞれを区画する区画線、並びに、走行レーン６１０及び隣接レーン６２０、６３０のそれぞれの中央ラインを推定する推定処理部１０ｆ」を有している。
【００７９】
（隣接車の走行位置の演算）
運転支援ＥＣＵ１０は、白線に対する第１隣接車１１１の走行位置を特定するためのパラメータとして、図８に示した「第１距離ｄａ１及び第２距離ｄａ２」を演算する。第１距離ｄａ１及び第２距離ｄａ２は、第１隣接車１１１が第１隣接レーン６２０に沿って安定して走行しているか否かの判定に使用される。
第１距離ｄａ１は、第１隣接車１１１の車幅方向の中心位置（Ｘ１，Ｙ１）と第１白線８１０との間の道路幅方向における距離である。
第２距離ｄａ２は、第１隣接車１１１の車幅方向の中心位置（Ｘ１，Ｙ１）と第３白線８３０との間の道路幅方向における距離である。
更に、運転支援ＥＣＵ１０は、白線に対する第２隣接車１１２の走行位置を特定するためのパラメータとして、図８に示した「第３距離ｄｂ１及び第４距離ｄｂ２」を演算する。第３距離ｄｂ１及び第４距離ｄｂ２は、第２隣接車１１２が第２隣接レーン６３０に沿って安定して走行しているか否かの判定に使用される。
第３距離ｄｂ１は、第２隣接車１１２の車幅方向の中心位置（Ｘ２，Ｙ２）と第２白線８２０との間の道路幅方向における距離である。
第４距離ｄｂ２は、第２隣接車１１２の車幅方向の中心位置（Ｘ２，Ｙ２）と第４白線８４０との間の道路幅方向における距離である。
【００８０】
図８（Ａ）に示した「状況１」の場合、運転支援ＥＣＵ１０は、認識できている第１白線８１０及び第３白線８３０と、第１隣接車１１１の位置（Ｘ１，Ｙ１）とに基いて、第１距離ｄａ１及び第２距離ｄａ２を演算する。更に、運転支援ＥＣＵ１０は、認識できている第２白線８２０及び第４白線８４０と、第２隣接車１１２の位置（Ｘ２，Ｙ２）とに基いて、第３距離ｄｂ１及び第４距離ｄｂ２を演算する。
【００８１】
図８（Ｂ）に示した「状況２」の場合、運転支援ＥＣＵ１０は、認識できている第１白線８１０及び第１隣接車１１１の位置（Ｘ１，Ｙ１）に基いて第１距離ｄａ１を演算し、認識できている第２白線８２０及び第２隣接車１１２の位置（Ｘ２，Ｙ２）に基いて第３距離ｄｂ１を演算する。更に、運転支援ＥＣＵ１０は、下記（１５）式に基いて第２距離ｄａ２を演算し、下記（１６）式に基いて第４距離ｄｂ２を演算する。ここで、「ｆ１（ｘ）」は第１隣接車軌跡Ｌ１を表す３次関数であり、「ｆ２（ｘ）」は、第２隣接車軌跡Ｌ２を表す３次関数である。
ｄａ２＝｜ｆ１（Ｘ１）−ｋａ（Ｘ１）｜    …（１５）
ｄｂ２＝｜ｆ２（Ｘ２）−ｋｂ（Ｘ２）｜    …（１６）
【００８２】
図８（Ｃ）に示した「状況３」の場合、運転支援ＥＣＵ１０は、下記式（１７）乃至式（２０）に基づき、第１距離ｄａ１、第２距離ｄａ２、第３距離ｄｂ１及び第４距離ｄｂ２を演算する。
ｄａ１＝｜ｆ１（Ｘ１）−ｍ（Ｘ１）｜    …（１７）
ｄａ２＝｜ｆ１（Ｘ１）−ｋａ（Ｘ１）｜    …（１８）
ｄｂ１＝｜ｆ２（Ｘ２）−ｎ（Ｘ２）｜    …（１９）
ｄｂ２＝｜ｆ２（Ｘ２）−ｋｂ（Ｘ２）｜    …（２０）
【００８３】
なお、（１５）式乃至（２０）式において、ｆ１（Ｘ１）の代わりに、第１隣接車１１１の実際のＹ座標であるＹ１が用いられてもよく、ｆ２（Ｘ２）の代わりに、第２隣接車１１２の実際のＹ座標であるＹ２が用いられてもよい。
【００８４】
（隣接車の横速度の演算）
運転支援ＥＣＵ１０は、第１隣接車１１１及び第２隣接車１１２の各々の横速度を演算する。この横速度も、隣接車が隣接レーンに沿って安定して走行しているか否かの判定に使用される。
【００８５】
「状況１」の場合、運転支援ＥＣＵ１０は、第１隣接車１１１の現在の位置における「第１隣接車軌跡Ｌ１と第１隣接レーン６２０の中央ラインＬＭ１とがなす角度θ１」を演算する。そして、運転支援ＥＣＵ１０は、下記（２１）式に基いて第１隣接車１１１の横速度Ｖ１を演算する。「Ｖｓ１」は、自車両１００の進行方向における第１隣接車１１１の車速である。第１隣接車１１１の車速Ｖｓ１は、第１隣接車１１１の相対速度Ｖｆｘ（１１１）に自車両１００の車速ＳＰＤを加えることにより算出される。
第１隣接レーン６２０の中央ラインＬＭ１と第１白線８１０とは、上述した関数ｍ（ｘ）及び関数ｈａ（ｘ）の式から明らかなように、互いに平行であるから、横速度Ｖ１は、走行レーン６１０と第１隣接レーン６２０との区画線（即ち、第１白線８１０）に対する第１隣接車１１１のレーン幅方向の速度である。
Ｖ１＝Ｖｓ１×ｓｉｎθ１    …（２１）
【００８６】
更に、運転支援ＥＣＵ１０は、第２隣接車１１２の現在の位置における「第２隣接車軌跡Ｌ２と第２隣接レーン６３０の中央ラインＬＭ２とがなす角度θ２」を演算する。そして、運転支援ＥＣＵ１０は、下記（２２）式に従って第２隣接車１１２の横速度Ｖ２を演算する。「Ｖｓ２」は、自車両１００の進行方向における第２隣接車１１２の車速である。第２隣接車１１２の車速は、第２隣接車１１２の相対速度Ｖｆｘ（１１２）に自車両１００の車速ＳＰＤを加えることにより算出される。
第２隣接レーン６３０の中央ラインＬＭ２と第２白線８２０とは、上述した関数ｎ（ｘ）及び関数ｈｂ（ｘ）の式から明らかなように、互いに平行であるから、横速度Ｖ２は、走行レーン６１０と第２隣接レーン６３０との区画線（即ち、第２白線８２０）に対する第２隣接車１１２のレーン幅方向の速度である。
Ｖ２＝Ｖｓ２×ｓｉｎθ２    …（２２）
【００８７】
「状況２」及び「状況３」の何れかの場合、運転支援ＥＣＵ１０は、下記（２３）式及び（２４）式に基いて、角度θ１及び角度θ２を演算する。ここで、「ｆ１’（Ｘ１）」はｆ１（ｘ）を微分した関数に対してＸ１を代入して得られた値であり、「ｈａ’（Ｘ１）」はｈａ（ｘ）を微分した関数に対してＸ１を代入して得られた値である。「ｆ２’（Ｘ２）」はｆ２（ｘ）を微分した関数に対してＸ２を代入して得られた値であり、「ｈｂ’（Ｘ２）」はｈｂ（ｘ）を微分した関数に対してＸ２を代入して得られた値である。
θ１＝ａｒｃｔａｎ（ｆ１’（Ｘ１）−ｈａ’（Ｘ１））    …（２３）
θ２＝ａｒｃｔａｎ（ｆ２’（Ｘ２）−ｈｂ’（Ｘ２））    …（２４）
【００８８】
以下、上記の第１距離ｄａ１乃至第４距離ｄｂ２、並びに、横速度Ｖ１及びＶ２等の隣接車の走行状態を表す情報を「走行状態情報」と称呼する場合がある。以上のように、運転支援ＥＣＵ１０は、機能上、ＣＰＵにより実現される「隣接車の各々の走行状態情報を演算する走行状態演算部１０ｇ」を有している。
【００８９】
（隣接車に対する走行条件の判定）
運転支援ＥＣＵ１０は、第１隣接車１１１及び第２隣接車１１２の各々の走行状態情報に基いて、それら隣接車の各々が所定の走行条件を満たしているかを判定する。走行条件は、隣接車が隣接レーンに沿って走行しているか否かを判定するための条件である。走行条件は、隣接車が隣接レーンの中央ライン付近を走行しており、且つ、隣接車の道路幅方向の挙動（即ち、横速度）が所定の閾値以下であるときに成立する。
【００９０】
具体的には、第１隣接車１１１についての走行条件は、下記条件Ａ及び条件Ｂの両方が成立したときに成立する。なお、第１隣接車１１１についての走行条件は、条件Ｂのみが成立したときに成立する条件であってもよい。
（条件Ａ）：｜ｄａ１−ｄａ２｜≦Ｔｈ１（以下、「第１閾値」と称呼する。）
（条件Ｂ）：｜Ｖ１｜≦Ｔｈ２（以下、「第２閾値」と称呼する。）
【００９１】
第１隣接車１１１が上記の走行条件を満たしている場合、運転支援ＥＣＵ１０は、第１隣接車１１１の第１隣接車軌跡Ｌ１の情報を目標走路情報へ反映させる。第１隣接車１１１が上記の走行条件を満たしていない場合、運転支援ＥＣＵ１０は、第１隣接車１１１の第１隣接車軌跡Ｌ１の情報を目標走路情報へ反映させない。
【００９２】
第２隣接車１１２についての走行条件は、下記条件Ｃ及び条件Ｄの両方が成立したときに成立する。なお、第２隣接車１１２についての走行条件は、条件Ｄのみが成立したときに成立する条件であってもよい。
（条件Ｃ）：｜ｄｂ１−ｄｂ２｜≦Ｔｈ１
（条件Ｄ）：｜Ｖ２｜≦Ｔｈ２
【００９３】
第２隣接車１１２が上記の走行条件を満たしている場合、運転支援ＥＣＵ１０は、第２隣接車１１２の第２隣接車軌跡Ｌ２の情報を目標走路情報へ反映させる。第２隣接車１１２が上記の走行条件を満たしていない場合、運転支援ＥＣＵ１０は、第２隣接車１１２の第２隣接車軌跡Ｌ２の情報を目標走路情報へ反映させない。
【００９４】
以上のように、運転支援ＥＣＵ１０は、機能上、ＣＰＵにより実現される「走行状態情報に基いて隣接車の各々が所定の走行条件を満たしているか（即ち、隣接車の各々が隣接レーンに沿って安定して走行しているか否か）を判定する走行条件判定部（判定手段）１０ｈ」を有している。
【００９５】
（目標走路情報の演算）
選択された隣接車（１１１、１１２）の中の少なくとも１つが走行条件を満たしている場合、運転支援ＥＣＵ１０は、走行条件を満たしている隣接車の隣接車軌跡及び先行車軌跡に基いて、以下に述べるように目標走路情報を演算する。
【００９６】
自車両１００の現在位置に対応する位置（ｘ＝０）の先行車軌跡Ｌ０の曲率を「Ｃｖ＿０」と表記し、自車両１００の現在位置に対応する位置の第１隣接車軌跡Ｌ１の曲率を「Ｃｖ＿１」と表記し、自車両１００の現在位置に対応する位置の第２隣接車軌跡Ｌ２の曲率を「Ｃｖ＿２」と表記する。更に、「Ｃｖ＿０」に対する重みを「ｗ０」と表記し、「Ｃｖ＿１」に対する重みを「ｗ１」と表記し、「Ｃｖ＿２」に対する重みを「ｗ２」と表記する。運転支援ＥＣＵ１０は、以下の式（２５）のように、加重平均に基いて、目標走路情報の一つである修正後曲率Ｆ＿Ｃｖを演算する。なお、式（２５）は、隣接レーンのそれぞれから１台のみの隣接車が選択される場合に適用される式である。
【数１】
2019059451.tif 000003
【００９７】
いま、第１隣接車１１１は走行条件を満たしているが、第２隣接車１１２は走行条件を満たしていないと仮定する。この場合、運転支援ＥＣＵ１０は、重みｗ２を「０」に設定する。その結果、第２隣接車１１２の第２隣接車軌跡Ｌ２の曲率Ｃｖ＿２は修正後曲率Ｆ＿Ｃｖに反映されない。これに対し、運転支援ＥＣＵ１０は、重みｗ０及び重みｗ１を予め定められた「正の所定値」に設定する。この結果、第１隣接車軌跡Ｌ１の曲率Ｃｖ＿１が修正後曲率Ｆ＿Ｃｖに反映される。なお、この場合、重みｗ１と重みｗ０とは互いに異なる値に設定されてもよく、互いに同じ値であってもよい。
【００９８】
これに対し、第２隣接車１１２は走行条件を満たしているが、第１隣接車１１１は走行条件を満たしていないと仮定する。この場合、運転支援ＥＣＵ１０は、重みｗ１を「０」に設定し、重みｗ０及び重みｗ２を予め定められた「正の所定値」に設定する。この結果、曲率Ｃｖ＿１は修正後曲率Ｆ＿Ｃｖに反映されず、曲率Ｃｖ＿２が修正後曲率Ｆ＿Ｃｖに反映される。なお、この場合、重みｗ２と重みｗ０とは互いに異なる値に設定されてもよく、互いに同じ値であってもよい。更に、第２隣接車１１２及び第１隣接車１１１の何れもが走行条件を満たしている場合、運転支援ＥＣＵ１０は、重みｗ０、重みｗ１及び重みｗ２を予め定められた「正の所定値」に設定する。この結果、曲率Ｃｖ＿１及び曲率Ｃｖ＿２の何れもが修正後曲率Ｆ＿Ｃｖに反映される。この場合、これらの重みは互いに異なる値に設定されてもよく、互いに同じ値であってもよい。
【００９９】
運転支援ＥＣＵ１０は、（４）式の「Ｃｖ」を「Ｆ_Ｃｖ」に置き換えて、目標操舵角θ*を演算する。運転支援ＥＣＵ１０は、実際の操舵角θが目標操舵角θ*に一致するようにステアリングＥＣＵ４０を用いて転舵用モータ４２を制御する。
【０１００】
なお、仮に隣接車１１１、１１２の総てが走行条件を満たしていない場合、（２５）式において、重みｗ１及びｗ２が「０」に設定される。この場合、運転支援ＥＣＵ１０は、先行車軌跡Ｌ０の曲率Ｃｖ＿０のみに基いて最終的な修正後曲率Ｆ＿Ｃｖを演算する。以上説明した「目標走路情報の一つである修正後曲率Ｆ＿Ｃｖを演算する機能」は、ＬＴＣ制御部１０ｄに含まれる。
【０１０１】
＜具体的作動＞
次に、運転支援ＥＣＵ１０のＣＰＵ（単に「ＣＰＵ」と称呼する場合がある。）の具体的作動について説明する。ＣＰＵは、車線維持制御（ＬＴＣ）の中の１つのルーチンとして、所定時間が経過する毎に、図９により示したルーチンを実行するようになっている。なお、ＣＰＵは、追従車間距離制御（ＡＣＣ）が実行されていて、且つ、操作スイッチ１７の操作によって車線維持制御（ＬＴＣ）が要求されている場合に図９に示したルーチンを実行する。なお、説明の便宜上、ＣＰＵは上記の状況（ｃ）に記載したような補正先行車軌跡Ｌ０*を目標走行ラインとして設定した車線維持制御は実行しないが、補正先行車軌跡Ｌ０*を目標走行ラインとして設定した車線維持制御を実行してもよい。
【０１０２】
従って、追従車間距離制御（ＡＣＣ）が実行されていて、且つ、操作スイッチ１７の操作によって車線維持制御（ＬＴＣ）が要求されている場合に所定のタイミングになると、ＣＰＵは、ステップ９００から図９のルーチンを開始してステップ９０５に進み、所定の実行条件が成立しているか否かを判定する。所定の実行条件は、次の２つの条件が何れも成立したときに成立する。
・自車両の前方に操舵追従先行車が存在している。
・隣接レーンが存在しており、且つ、隣接レーンに他車両が存在している。
【０１０３】
所定の実行条件が成立していない場合、ＣＰＵはステップ９０５にて「Ｎｏ」と判定し、ステップ９９５に進んで本ルーチンを一旦終了する。この場合、左右の白線が遠方まで認識できていれば、ＣＰＵは、図示しないルーチンを実行することにより、その左右の白線に基いて走行レーンの中央ラインＬＭ０を決定し、決定した中央ラインＬＭ０を目標走行ラインとして設定する車線維持制御を実行する。
【０１０４】
これに対して、所定の実行条件が成立している場合、ＣＰＵはステップ９０５にて「Ｙｅｓ」と判定し、以下に述べるステップ９１０乃至ステップ９２５の処理を順に行い、ステップ９３０に進む。
【０１０５】
ステップ９１０：ＣＰＵは、周囲センサ１６から送られてくる物標情報に基いて追従対象車両エリア内に所定時間以上存在する物標の中で自車両に最も近い物標を操舵追従先行車として選択する。
ステップ９１５：ＣＰＵは、上述したように、ステップ９１０にて選択された操舵追従先行車の先行車軌跡Ｌ０を作成する。
ステップ９２０：ＣＰＵは、上述したように、隣接レーンの各々から１つ以上（本例では１つ）の隣接車を選択する。
ステップ９２５：ＣＰＵは、上述したように、ステップ９２０にて選択された隣接車の隣接車軌跡を作成する。
【０１０６】
ＣＰＵは、ステップ９３０にて、走行レーン及び隣接レーンを区画する総ての白線が認識できているか否かを判定する。「総ての白線が認識できている」とは、図８（Ａ）を参照して説明した「状況１」を意味する。ＣＰＵは、総ての白線が認識できている場合、ステップ９３０にて「Ｙｅｓ」と判定してステップ９３５に進み、上述したように、認識されている白線に基いて、走行レーン及び隣接レーンの各々の中央ラインを推定する。その後、ＣＰＵは以下に述べるステップ９４５乃至ステップ９６０の処理を順に行い、ステップ９９５に進んで本ルーチンを一旦終了する。
【０１０７】
一方、走行レーン及び隣接レーンを区画する総ての白線の何れか又は全部が認識できていない場合（例えば、上述した「状況２（図８（Ｂ））」又は「状況３（図８（Ｃ））」の場合）、ＣＰＵは、ステップ９４０に進み、上述したように、認識できていない白線、並びに、走行レーン及び隣接レーンの各々の中央ラインを推定する。その後、ＣＰＵは以下に述べるステップ９４５乃至ステップ９６０の処理を順に行い、ステップ９９５に進んで本ルーチンを一旦終了する。
【０１０８】
ステップ９４５：ＣＰＵは、上述したように隣接車の各々の走行状態情報を演算する。走行状態情報は、白線に対する隣接車の位置の情報（例えば、ｄａ１、ｄａ２、ｄｂ１及びｄｂ２）、及び、隣接車の横速度（Ｖ１及びＶ２）を含む。
【０１０９】
ステップ９５０：ＣＰＵは、ステップ９２０にて選択した隣接車の各々が上記の走行条件を満たしているか否かを判定する。即ち、ＣＰＵは、ステップ９２０にて選択した隣接車の各々が、各隣接レーンの中央ライン付近を走行しており（条件Ａ又は条件Ｃを参照。）、且つ、道路幅方向の挙動（即ち、横速度）が所定の閾値以下である（条件Ｂ又は条件Ｄを参照。）か否かを判定する。
【０１１０】
ステップ９５５：ＣＰＵは、上述したように、修正後曲率Ｆ＿Ｃｖを目標走路情報として演算する。具体的には、ＣＰＵは、式（２５）において、走行条件を満たしていない隣接車の隣接車軌跡の曲率に対する重みを「０」に設定するとともに、走行条件を満たしている隣接車の隣接車軌跡の曲率に対する重みを予め定められた「正の所定値」に設定することにより、修正後曲率Ｆ＿Ｃｖを演算する。更に、ＣＰＵは、先行車軌跡Ｌ０に対するヨー角θｖ及び先行車軌跡Ｌ０に対する道路幅方向の距離ｄｖを、目標走路情報として演算する。
【０１１１】
ステップ９６０：ＣＰＵは、ステップ９５５にて算出した目標走路情報に基いて目標走行ラインを設定し、当該目標走行ラインに沿って車線維持制御を実行する。
【０１１２】
以上説明したように、本実施装置は、所定の走行条件を用いて、隣接レーン６２０、６３０を走行している隣接車（１１１、１１２）の中から、その走行軌跡を自車両１００の操舵制御に用いることが適切な隣接車を選択する。即ち、本実施装置は、隣接レーンに沿って走行している隣接車を選択する。そして、本実施装置は、所定の走行条件を満たしている隣接車の隣接車軌跡の曲率及び先行車軌跡の曲率に基いて、目標走路情報の一つである修正後曲率Ｆ＿Ｃｖを演算し、当該目標走路情報を用いて（即ち、当該目標走路情報に基いて目標走行ラインを設定した上で）車線維持制御を実行する。従って、隣接レーンに沿って走行していない隣接車の隣接車軌跡の曲率が目標走路情報（或いは、目標走行レーン）に反映されないので、自車両１００は走行レーンを安定して走行することができる。
【０１１３】
なお、本発明は上記実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。
【０１１４】
例えば、ステップ９１５にて、ＣＰＵは、カルマンフィルタを用いて先行車軌跡Ｌ０を生成してもよい。運転支援ＥＣＵ１０が備えるカルマンフィルタに自車両の位置情報及びＲＡＭに格納しておいた先行車の位置情報を入力すると、カルマンフィルタから、自車両１００の現在位置の先行車軌跡Ｌ０の曲率、先行車軌跡Ｌ０の曲率変化率、先行車軌跡Ｌ０に対する自車両１００のヨー角、先行車軌跡Ｌ０と自車両１００の現在位置との間の距離が出力される。ＣＰＵは、図３（Ｃ）に示した３次関数の係数と曲率及びヨー角等との関係を用いることにより、３次関数ｆ（ｘ）の係数ａ、ｂ、ｃ及びｄを求めることができる。同様に、ステップ９２５にて、ＣＰＵは、カルマンフィルタを用いて隣接車軌跡Ｌ１、Ｌ２を生成してもよい。
【０１１５】
ＣＰＵは、ステップ９２０にて、隣接レーンにおいて検出された総ての隣接車を選択し、その後、ステップ９５５にて、修正後曲率Ｆ＿Ｃｖに反映させる隣接車を選択してもよい。例えば、第１隣接レーン６２０に３台の隣接車が存在していると仮定する。ＣＰＵは、ステップ９２０にて、総ての隣接車を選択する。その後、ＣＰＵは、総ての隣接車に対して、ステップ９２５、９４５及び９５０の処理を実行する。そして、ＣＰＵは、ステップ９５５にて、第１隣接レーン６２０の３台の隣接車のうち走行条件を満たしている隣接車の中から１つの隣接車を選択し、その選択した隣接車の隣接車軌跡の曲率を式（２５）のＣｖ＿１として採用し、そのＣｖ＿１に対する重みｗ１を予め定められた「正の所定値」に設定する。このような構成によれば、以下の効果がある。例えば、第１隣接レーン６２０の３台の隣接車の中に、走行条件を満たしている隣接車と走行条件を満たしていない隣接車とが含まれていると仮定する。ＣＰＵが、ステップ９２０にて、３台の隣接車の中から、その後の判定により走行条件を満たしていないと判定される１台の隣接車を選択してしまう場合がある。この場合、ステップ９５５にて、その選択された隣接車の隣接車軌跡の曲率は修正後曲率Ｆ＿Ｃｖに反映されない。このように、走行条件を満たしている隣接車が存在しているにも関わらず、その隣接車の隣接車軌跡を活用して車線維持制御を実行することができない場合がある。一方、本変形例に係るＣＰＵは、ステップ９５５にて、３台の隣接車の中から、走行条件を満たしている隣接車の隣接車軌跡の曲率を採用するので、走行条件を満たしている隣接車の隣接車軌跡の曲率を修正後曲率Ｆ＿Ｃｖに確実に反映させることができる。なお、第２隣接レーン６３０に複数の隣接車が存在している場合にも、ＣＰＵは、上述した内容と同様の処理を実行することができる。
【０１１６】
第１隣接車１１１の横速度Ｖ１は、第１距離ｄａ１又は第２距離ｄａ２の単位時間当たりの変化量によって求められてもよい。更に、第２隣接車１１２の横速度Ｖ２は、第３距離ｄｂ１又は第４距離ｄｂ２の単位時間当たりの変化量によって求められてもよい。
【０１１７】
第１隣接車１１１が自車両１００の位置から所定距離以上離れている場合、式（１５）、式（１７）及び式（１８）で使用されるｘの値は、実際の値（Ｘ１）よりも小さい値であってもよい。これは、自車両１００により近い位置で第１隣接車１１１が所定の走行条件を満たしているかを判定するためである。例えば、式（１５）、式（１７）及び式（１８）で使用されるｘの値は、操舵追従先行車１１０の現在の位置のｘ座標の値（即ち、Ｘ０。図８（Ｃ）参照。）であってもよい。別の例として、自車両１００の近傍において第１白線８１０及び第３白線８３０の何れかが認識されている場合、式（１５）、式（１７）及び式（１８）で使用されるｘの値は、認識できている白線の認識最遠点のｘの値（即ち、認識できている白線の位置を表す座標のうち、自車両１００から最も遠い座標のｘの値）であってもよい。なお、第２隣接車１１２が自車両１００の位置から所定距離以上離れている場合、式（１６）、式（１９）及び式（２０）で使用されるｘの値についても、上述した内容と同様の値を採用することができる。
【０１１８】
本発明装置は、補正先行車軌跡Ｌ０*を用いた車線維持制御を実行する場合にも適用できる。即ち、本発明装置は、補正先行車軌跡Ｌ０*の曲率を（２５）式の「Ｃｖ＿０」としてもよい。
【０１１９】
走行レーン６１０、第１隣接レーン６２０及び第２隣接レーン６３０がカーブしている場合、走行レーン６１０の曲率と、第１隣接レーン６２０及び第２隣接レーン６３０の各々の曲率との間の相対的な差が大きくなる。このような場合に隣接車軌跡の曲率を用いて修正後曲率Ｆ＿Ｃｖを演算すると、自車両１００が走行レーン６１０に沿って走行できない可能性がある。このような場合、ＣＰＵは、ステップ９５５にて、（２５）式における隣接車軌跡Ｌ１、Ｌ２の曲率の各々に対する重みｗ１、ｗ２を「０」に設定してもよい。
【０１２０】
図６乃至図８では、片道３車線の道路を図示したが、本実施装置の適用範囲は、この形式の道路に限定されない。本実施装置は、片道２車線の道路、又は、片道４車線以上の道路に適用されてもよい。
【０１２１】
本実施装置では、車線維持制御を追従車間距離制御（ＡＣＣ）の実行中にのみ実行するようになっているが、追従車間距離制御の実行中でなくても車線維持制御を実行してもよい。
【符号の説明】
【０１２２】
１０…運転支援ＥＣＵ、１１…アクセルペダル操作量センサ、１２…ブレーキペダル操作量センサ、１３…操舵角センサ、１４…操舵トルクセンサ、１５…車速センサ、１６…周囲センサ、１７…操作スイッチ、１８…ヨーレートセンサ、２０…エンジンＥＣＵ、３０…ブレーキＥＣＵ、４０…ステアリングＥＣＵ、５０…ナビゲーションＥＣＵ。
【図１】
2019059451.tif 000004
【図２】
2019059451.tif 000005
【図３】
2019059451.tif 000006
【図４】
2019059451.tif 000007
【図５】
2019059451.tif 000008
【図６】
2019059451.tif 000009
【図７】
2019059451.tif 000010
【図８】
2019059451.tif 000011
【図９】
2019059451.tif 000012