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