(57)【特許請求の範囲】
【請求項１】
前方の左右白線と先行車を認識する前方環境認識手段と、操舵角をドライバ入力と独立して設定自在な操舵制御手段とを備えた車両の運転支援装置において、
上記操舵制御手段は、
上記前方環境認識手段で認識した左右白線の認識形状と先行車の走行軌跡に応じた出力値をフィードフォワード出力値として演算するフィードフォワード制御手段と、
自車両の予測される走行位置を基準とした上記前方環境認識手段で認識した左右白線の認識形状と先行車の走行軌跡に応じた出力値をフィードバック出力値として演算するフィードバック制御手段の少なくとも一方を有し、
上記前方環境認識手段で認識した左右白線の認識形状と先行車の走行軌跡に応じたフィードフォワード出力値の演算における各演算項の重み付けと上記自車両の予測される走行位置を基準とした上記前方環境認識手段で認識した左右白線の認識形状と先行車の走行軌跡に応じたフィードバック出力値の演算における各演算項の重み付けの少なくとも一方を決定する制御ゲインを左右白線の認識状態と先行車の認識状態に応じて可変設定する制御ゲイン設定手段を備えたことを特徴とする車両の運転支援装置。
【請求項２】
上記フィードフォワード制御部は、右白線の曲率と左白線の曲率とに基づく演算項と右白線の曲率に基づく演算項と左白線の曲率に基づく演算項と先行車の走行軌跡の曲率に基づく演算項とにより上記フィードフォワード出力値を演算することを特徴とする請求項１記載の車両の運転支援装置。
【請求項３】
上記フィードバック制御部は、自車両の予測される走行位置での左右両白線の中心からのずれに基づく演算項と自車両の予測される走行位置での右白線を基準に推定する走行路からのずれに基づく演算項と自車両の予測される走行位置での左白線を基準に推定する走行路からのずれに基づく演算項と自車両の予測される走行位置での先行車の走行軌跡からのずれに基づく演算項とにより上記フィードバック出力値を演算することを特徴とする請求項１又は請求項２記載の車両の運転支援装置。
【請求項４】
上記制御ゲイン設定手段は、上記前方環境認識手段により認識された各点を基に最小自乗法により白線を近似して求め、該近似における誤差によって白線の認識状態の安定性を評価することを特徴とする請求項１乃至請求項３の何れか一つに記載の車両の運転支援装置。
【請求項５】
上記制御ゲイン設定手段は、連続して認識される白線の長さを求め、該白線の長さにより白線の認識状態の安定性を評価することを特徴とする請求項１乃至請求項４の何れか一つに記載の車両の運転支援装置。
【請求項６】
上記制御ゲイン設定手段は、認識された先行車のターンシグナルの有無により先行車の認識状態の安定性を評価することを特徴とする請求項１乃至請求項５の何れか一つに記載の車両の運転支援装置。
【請求項７】
上記制御ゲイン設定手段は、認識された先行車の車幅長さの変動により先行車の認識状態の安定性を評価することを特徴とする請求項１乃至請求項６の何れか一つに記載の車両の運転支援装置。
【請求項８】
上記制御ゲイン設定手段は、認識された先行車と自車両との車間距離の変動の大きさにより先行車の認識状態の安定性を評価することを特徴とする請求項１乃至請求項７の何れか一つに記載の車両の運転支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認識した白線や先行車に基づいて適切に走行するように操舵角を設定する車両の運転支援装置に関する。
【背景技術】
【０００２】
近年、車両においては、エレクトロニクス技術の発展に伴い、様々な運転支援装置が開発され、実用化されている。このような運転支援装置として、車両に搭載したカメラにより、白線や先行車を認識して自車進行路を設定し、これに基づいて操舵力を所定に付加したり、或いは、自動操舵してドライバの運転負荷の軽減を行うものがある。例えば、特開２００５−３３２１９２号公報（以下、特許文献１）では、走行目標点を設定し、この走行目標点上を通るように目標走行軌跡を決定し、この目標走行軌跡上を車両が走行した場合における目標ヨーレートに、実ヨーレートが一致するように操舵制御を行う操舵支援装置において、先行車が遠くにいる場合には、走行路がよく見えるため走行路情報から得られる走行路注視点とし、近くにいる場合には、走行路は見えない領域が多いため、先行車位置を先行車注視点とし、選択された注視点に基づいて目標走行軌跡を設定する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−３３２１９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述の特許文献１に開示される運転支援装置の技術では、たとえ先行車との車間距離が長くても、白線が欠損した場合などにおいては制御が行えなくなる虞がある。すなわち、実際の交通環境では、常に白線が適切に描かれている道路だけでは無く、タイヤに踏まれ白線が欠損、見え難くなった路面や、交差点等で白線が途切れた場合、さらには、悪天候により路面状態が悪く、安定した白線認識を行えない場合等、様々な環境が存在する。このため、上述の特許文献１に開示されるような従来から存在する白線情報と先行車情報で行う運転支援制御では、装置の動作範囲が限られて非常に使い難いものとなってしまうという課題がある。
【０００５】
本発明は上記事情に鑑みてなされたもので、得られる情報を最大限に活用して実際の多種多様な道路環境において稼働範囲が広く使い勝手の良い車両の運転支援装置を提供することを目的としている。
【課題を解決するための手段】
【０００６】
本発明の車両の運転支援装置の一態様は、前方の左右白線と先行車を認識する前方環境認識手段と、操舵角をドライバ入力と独立して設定自在な操舵制御手段とを備えた車両の運転支援装置において、上記操舵制御手段は、上記前方環境認識手段で認識した左右白線の認識形状と先行車の走行軌跡に応じた出力値をフィードフォワード出力値として演算するフィードフォワード制御手段と、自車両の予測される走行位置を基準とした上記前方環境認識手段で認識した左右白線の認識形状と先行車の走行軌跡に応じた出力値をフィードバック出力値として演算するフィードバック制御手段の少なくとも一方を有し、上記前方環境認識手段で認識した左右白線の認識形状と先行車の走行軌跡に応じたフィードフォワード出力値の演算における各演算項の重み付けと上記自車両の予測される走行位置を基準とした上記前方環境認識手段で認識した左右白線の認識形状と先行車の走行軌跡に応じたフィードバック出力値の演算における各演算項の重み付けの少なくとも一方を決定する制御ゲインを左右白線の認識状態と先行車の認識状態に応じて可変設定する制御ゲイン設定手段を備えた。
【発明の効果】
【０００７】
本発明による車両の運転支援装置によれば、得られる情報を最大限に活用して実際の多種多様な道路環境において稼働範囲が広く使い勝手が良いという優れた効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の一形態に係る車両の操舵系の構成説明図である。
【図２】本発明の実施の一形態に係る操舵制御部の機能ブロック図である。
【図３】本発明の実施の一形態に係る操舵制御プログラムのフローチャートである。
【図４】本発明の実施の一形態に係る制御ゲイン設定制御のフローチャートである。
【図５】本発明の実施の一形態に係る制御ゲイン設定ルーチンのフローチャートである。
【図６】図５から続くフローチャートである。
【図７】図５から続くフローチャートである。
【図８】図５から続くフローチャートである。
【図９】図５から続くフローチャートである。
【図１０】図５から続くフローチャートである。
【図１１】図５から続くフローチャートである。
【図１２】図５から続くフローチャートである。
【図１３】本発明の実施の一形態に係るフィードフォワード制御のフローチャートである。
【図１４】本発明の実施の一形態に係るフィードバック制御のフローチャートである。
【図１５】本発明の実施の一形態に係るフィードフォワード制御で用いる白線と先行車軌跡の曲率の説明図である。
【図１６】本発明の実施の一形態に係るフィードバック制御で用いる各ずれ量の説明図で、図１６（ａ）は自車両の予測される走行位置での左右両白線の中心からのずれ量、図１６（ｂ）は自車両の予測される走行位置での右白線を基準に推定する走行路からのずれ量、図１６（ｃ）は自車両の予測される走行位置での左白線を基準に推定する走行路からのずれ量、図１６（ｄ）は自車両の予測される走行位置での先行車の走行軌跡からのずれ量を示す。
【図１７】本発明の実施の一形態に係る白線近似における誤差によって定める白線の認識状態の安定性の説明図である。
【図１８】本発明の実施の一形態に係る連続して認識される白線の長さよって定める白線の認識状態の安定性の説明図である。
【図１９】本発明の実施の一形態に係る前回の代表点の位置を今回の代表点の位置に移動させる際の座標変換の説明図である。
【発明を実施するための形態】
【０００９】
以下、図面に基づいて本発明の実施の形態を説明する。  
図１において、符号１は操舵角をドライバ入力と独立して設定自在な電動パワーステアリング装置を示し、この電動パワーステアリング装置１は、ステアリング軸２が、図示しない車体フレームにステアリングコラム３を介して回動自在に支持されており、その一端が運転席側へ延出され、他端がエンジンルーム側へ延出されている。ステアリング軸２の運転席側端部には、ステアリングホイール４が固設され、また、エンジンルーム側へ延出する端部には、ピニオン軸５が連設されている。
【００１０】
エンジンルームには、車幅方向へ延出するステアリングギヤボックス６が配設されており、このステアリングギヤボックス６にラック軸７が往復移動自在に挿通支持されている。このラック軸７に形成されたラック（図示せず）に、ピニオン軸５に形成されたピニオンが噛合されて、ラックアンドピニオン式のステアリングギヤ機構が形成されている。
【００１１】
また、ラック軸７の左右両端はステアリングギヤボックス６の端部から各々突出されており、その端部に、タイロッド８を介してフロントナックル９が連設されている。このフロントナックル９は、操舵輪としての左右輪１０Ｌ，１０Ｒを回動自在に支持すると共に、キングピン（図示せず）を介して車体フレームに転舵自在に支持されている。従って、ステアリングホイール４を操作し、ステアリング軸２、ピニオン軸５を回転させると、このピニオン軸５の回転によりラック軸７が左右方向へ移動し、その移動によりフロントナックル９がキングピン（図示せず）を中心に回動して、左右輪１０Ｌ，１０Ｒが左右方向へ転舵される。
【００１２】
また、ピニオン軸５にアシスト伝達機構１１を介して、電動モータ１２が連設されており、この電動モータ１２にてステアリングホイール４に加える操舵トルクのアシスト、及び、設定された操舵角となるような操舵トルクの付加が行われる。電動モータ１２は、後述する操舵制御部２０で設定する操舵トルク（制御量）Ｔｉとなるようにモータ駆動部２１を介して駆動される。尚、操舵制御部２０は、このように操舵トルクのアシスト機能も備えているが、本実施の形態では、操舵トルクのアシスト機能については説明を省略する。
【００１３】
操舵制御部２０には、前方の左右白線と先行車を認識する前方環境認識手段としての前方認識装置３１、車速Ｖを検出する車速センサ３２、ヨーレート（ｄθ／ｄｔ）を検出するヨーレートセンサ３３、横加速度Ｇｙを検出する横加速度センサ３４が接続されている。
【００１４】
前方認識装置３１は、例えば、車室内の天井前方に一定の間隔をもって取り付けられ、車外の対象を異なる視点からステレオ撮像する１組のＣＣＤカメラと、このＣＣＤカメラからの画像データを処理するステレオ画像処理装置とから構成されている。
【００１５】
前方認識装置３１のステレオ画像処理装置における、ＣＣＤカメラからの画像データの処理は、例えば以下のように行われる。まず、ＣＣＤカメラで撮像した自車両の進行方向の１組のステレオ画像対に対し、対応する位置のずれ量から距離情報を求め、距離画像を生成する。
【００１６】
白線データの認識では、白線は道路面と比較して高輝度であるという知得に基づき、道路の幅方向の輝度変化を評価して、画像平面における左右の白線の位置を画像平面上で特定する。この白線の実空間上の位置（ｘ，ｙ，ｚ）は、画像平面上の位置（ｉ，ｊ）とこの位置に関して算出された視差とに基づいて、すなわち、距離情報に基づいて、周知の座標変換式より算出される。自車両の位置を基準に設定された実空間の座標系は、本実施の形態では、例えば、図１５に示すように、ステレオカメラの中央真下の道路面を原点として、車幅方向をｘ軸、車高方向をｙ軸、車長方向（距離方向）をｚ軸とする。このとき、ｘ−ｚ平面（ｙ＝０）は、道路が平坦な場合、道路面と一致する。道路モデルは、道路上の自車両の走行レーンを距離方向に複数区間に分割し、各区間における左右の白線を所定に近似して連結することによって表現される。
【００１７】
また、側壁や立体物データの認識では、予め記憶しておいた３次元的な側壁データ、立体物データ等の枠（ウインドウ）と比較し、道路に沿って存在するガードレール、縁石等の側壁データを抽出すると共に、立体物を、車両、歩行者、電柱等その他の立体物に分類して抽出する。立体物データにおいては、それぞれの自車両との距離（相対距離）の時間的変化の割合から自車両との相対速度が演算され、また、この相対速度と自車速Ｖとを加算することにより、各々の立体物の速度も算出される。この際、特に、車両として分類された立体物は、その速度から、自車両の前方方向を正として、速度が略０の車両は停止車両、速度が正（自車両と同じ方向に進む車両）で自車両に最も近い車両は先行車、速度が負の車両（自車両に向かってくる車両）は対向車として分類して認識される。また、先行車として認識された車両に関しては、特に、ターンシグナルスイッチのＯＮ−ＯＦＦ、車幅寸法のデータも取得される。こうして得られた各情報、すなわち、白線データ、道路に沿って存在するガードレール、縁石等の側壁データ、及び、立体物データ（種別、距離、速度、自車両との相対速度、先行車情報等）の各データは操舵制御部２０に入力される。
【００１８】
そして、操舵制御部２０は、上述の各入力信号を基に、左右白線の認識状態と先行車の認識状態に応じて制御ゲインを可変設定し、この可変設定された制御ゲインを用いて、前方認識装置３１で認識した左右白線の認識形状と先行車の走行軌跡に応じた出力値をフィードフォワード出力値Ｉffとして演算し、自車両の予測される走行位置を基準とした前方認識装置３１で認識した左右白線の認識形状と先行車の走行軌跡に応じた出力値をフィードバック出力値Ｉfbとして演算し、これらを加算した値をトルク値に換算して操舵トルク（制御量）Ｔｉとしてモータ駆動部２１に出力する。
【００１９】
このため、操舵制御部２０は、操舵制御手段として、図２に示すように、制御ゲイン設定制御部２０ａ、フィードフォワード制御部２０ｂ、フィードバック制御部２０ｃ、操舵トルク算出部２０ｄから主要に構成されている。
【００２０】
制御ゲイン設定制御部２０ａは、前方認識装置３１から認識された画像情報が入力され、車速センサ３２から車速Ｖが入力され、ヨーレートセンサ３３からヨーレート（ｄθ／ｄｔ）が入力される。そして、後述の図４〜図１２に示すフローチャートに従って、各制御ゲインＧff1、Ｇff2、Ｇff3、Ｇff4、Ｇfb1、Ｇfb2、Ｇfb3、Ｇfb4を設定して、制御ゲインＧff1、Ｇff2、Ｇff3、Ｇff4をフィードフォワード制御部２０ｂに出力し、制御ゲインＧfb1、Ｇfb2、Ｇfb3、Ｇfb4をフィードバック制御部２０ｃに出力するように構成されている。
【００２１】
以下、各制御ゲインＧff1、Ｇff2、Ｇff3、Ｇff4、Ｇfb1、Ｇfb2、Ｇfb3、Ｇfb4の設定について、図４〜図１２に示すフローチャートに従って説明する。
【００２２】
まず、ステップ（以下、「Ｓ」と略称）２０１で、左白線と該左白線を構成する左候補点との差分の平均の絶対値（左白線と左候補点との差分の平均値）err_line_l、右白線と該右白線を構成する右候補点との差分の平均値の絶対値（右白線と右候補点との差分の平均値）err_line_rを算出する。すなわち、上述したように、前方認識装置３１から、画像上での白線の（ｉ，ｊ）座標を検出し、これを実空間上のｘ−ｚ座標に変換し、変換されたｘ−ｚ座標において、該白線を構成する各候補点に対して、二次の最小自乗近似を左右それぞれの白線について行う。通常、白線は、傾き、曲率を持った線分であり、近似式によって近似できない場合は、白線ではなく路面等の模様を白線の候補点として検出してしまっている可能性があり、このような、値が小さいほど、白線の認識状態が安定していると評価できる誤差err_line_l、err_line_rを、それぞれ左右の白線の認識状態の安定性を評価する数値として採用するのである。
【００２３】
次に、Ｓ２０２に進み、左白線長さlength_lと右白線長さlength_rを算出する。具体的には、図１７に示すように、過去検出したｚ軸方向のデータをΔＦ（例えば、１ｍ、或いは、任意に必要な分解能長さ）の前後方向の領域を定め、このΔＦの範囲に入る白線を構成している候補点群のｘ方向の平均位置を左右の白線それぞれについて算出する。図１７の例では、点Ｐnは、今回ΔＦnの範囲において検出された候補点群を示し、点Ｐfnは、これら点Ｐnのｘ方向の平均位置の点を示す。また、点Ｐn-1は、前回ΔＦn-1の範囲において検出された候補点群を示し、点Ｐfn-1は、これら点Ｐn-1のｘ方向の平均位置の点を示す。同様に、点Ｐn-2は、前回ΔＦn-1の前回ΔＦn-2の範囲において検出された候補点群を示し、点Ｐfn-2は、これら点Ｐn-2のｘ方向の平均位置の点を示す。点Ｐfn-3も同様である。このとき、ΔＦに入る白線の候補点が閾値以上存在しない場合は、平均位置の算出は行わない。
【００２４】
その後、過去の代表点のｘ座標位置が車両の移動により移動が予測されるｘ方向の位置を推定し、その推定されたｘ座標位置と、今回フレームの平均位置のｘ座標位置との差分の絶対値を計算する。
【００２５】
例えば、図１８に示すように、過去の代表点がＰn-1（ｘold，ｚold）として、車両の移動により移動が予測される位置がＰpre（ｘpre，ｚpre）とすると、Ｐpre（ｘpre，ｚpre）と今回の代表点Ｐｎ（ｘn，ｚn）との差分の絶対値（＝｜ｘpre−ｘn｜）を計算する。
【００２６】
そして、今回のｘ方向の平均位置が計算されており、且つ、車両の移動により移動が予測される位置Ｐpre（ｘpre，ｚpre）との差分の絶対値が閾値以下であることを複数フレーム満足した場合には、最遠の白線平均位置のｚ座標を、左白線長さlength_l、右白線長さlength_rとしてメモリする。尚、初期状態等で、推定位置が存在しない場合には、白線の平均位置が閾値未満として扱う。
【００２７】
この際、車両の移動により移動が予測される位置Ｐpre（ｘpre，ｚpre）の座標の算出について説明する。例えば、図１９に示すように、車両が横方向にΔｘ、前方向にΔｚ移動する場合、これら移動量Δｘ、Δｚは、以下の式（１）、式（２）により算出される。  
Δｘ＝Ｖ・Δｔ・sin（θ）        …（１）
Δｚ＝Ｖ・Δｔ・cos（θ）        …（２）
ここで、Δｔはフレームレート、θはヨー角（ヨーレートセンサ３３からの値を積分した値）である。
【００２８】
そして、Ｐpre（ｘpre，ｚpre）は、以下の式（３）、式（４）により算出される。  
ｘpre＝（ｘold−Δｘ）・cos（θ）−（ｚold−Δｚ）・sin（θ）  …（３）
ｚpre＝（ｘold−Δｘ）・sin（θ）＋（ｚold−Δｚ）・cos（θ）  …（４）
【００２９】
このように本実施の形態では、左白線長さlength_l、及び、右白線長さlength_rを求め、これら左白線長さlength_l、及び、右白線長さlength_rが長いほど白線の認識状態の安定性が高いと評価できるようになっている。
【００３０】
次に、Ｓ２０３に進み、先行車のターンシグナルスイッチ情報の判定がなされ、先行車のターンシグナルスイッチがＯＮの場合には、先行車ターンシグナルスイッチ安定性評価値Ｓigtuが１に設定され、ターンシグナルスイッチがＯＦＦの場合には、先行車ターンシグナルスイッチ安定性評価値Ｓigtuが０に設定される。すなわち、先行車がターンシグナルスイッチをＯＮしている場合には、右左折の可能性があり、自車両との進行路と異なる虞があるため、先行車のターンシグナルスイッチがＯＮの場合には、Ｓigtu＝１として先行車の認識状態の安定性を低く判断できるようにするのである。
【００３１】
次いで、Ｓ２０４に進み、先行車の幅情報を安定して検出しているか判断し、先行車の車幅の前回値と今回値の差分の絶対値が閾値（例えば、２０ｃｍ）以下であることが所定フレーム回数を超えている場合には、先行車の認識状態は安定しているとして、先行車車幅長さ安定評価値Ｔgt_veh_wを１に設定する。逆に、所定フレーム回数を超えていない場合には、先行車車幅長さ安定評価値Ｔgt_veh_wを０に設定する。
【００３２】
次に、Ｓ２０５に進み、先行車と自車両との車間距離が安定しているか判定する。具体的には、過去数フレーム分において、先行車と自車両との車間距離を、１次の最小自乗法で近似した際の近似誤差を計算し、この近似誤差が閾値以下の場合であれば、車間距離が安定しているとして、先行車車間距離安定評価値Ｔgt_veh_dを１に設定する。逆に、近似誤差が閾値を超えている場合には、先行車車間距離安定評価値Ｔgt_veh_dを０に設定する。
【００３３】
次いで、Ｓ２０６に進み、後述の図５〜図１２のフローチャートに従って、各制御ゲインＧff1、Ｇff2、Ｇff3、Ｇff4、Ｇfb1、Ｇfb2、Ｇfb3、Ｇfb4を、上述の左白線と左候補点との差分の平均値err_line_l、右白線と右候補点との差分の平均値err_line_r、左白線長さlength_l、右白線長さlength_r、先行車ターンシグナルスイッチ安定性評価値Ｓigtu、先行車車幅長さ安定評価値Ｔgt_veh_w、先行車車間距離安定評価値Ｔgt_veh_dを設定する。
【００３４】
ここで、上述の制御ゲインＧff1は、後述するフィードフォワード制御部２０ｂにおけるフィードフォワード制御において右白線の曲率と左白線の曲率とに基づく演算項の重み付けを決定するゲインであり、制御ゲインＧff2は、フィードフォワード制御において右白線の曲率に基づく演算項の重み付けを決定するゲインであり、制御ゲインＧff3は、フィードフォワード制御において左白線の曲率に基づく演算項の重み付けを決定するゲインであり、制御ゲインＧff4は、フィードフォワード制御において先行車の走行軌跡の曲率に基づく演算項の重み付けを決定するゲインとなっている。
【００３５】
また、上述の制御ゲインＧfb1は、後述するフィードバック制御部２０ｃにおけるフィードバック制御において自車両の予測される走行位置での左右両白線の中心からのずれに基づく演算項の重み付けを決定するゲインであり、制御ゲインＧfb2は、フィードバック制御において自車両の予測される走行位置での右白線を基準に推定する走行路からのずれに基づく演算項の重み付けを決定するゲインであり、制御ゲインＧfb3は、フィードバック制御において自車両の予測される走行位置での左白線を基準に推定する走行路からのずれに基づく演算項の重み付けを決定するゲインであり、制御ゲインＧfb4は、フィードバック制御において自車両の予測される走行位置での先行車の走行軌跡からのずれに基づく演算項の重み付けを決定するゲインとなっている。
【００３６】
これら各制御ゲインＧff1、Ｇff2、Ｇff3、Ｇff4、Ｇfb1、Ｇfb2、Ｇfb3、Ｇfb4は、それぞれ、数値が高くなるほど、それぞれの演算項の影響が高くなるようになっている。
【００３７】
次に、図５〜図１２のフローチャートを基に、各制御ゲインＧff1、Ｇff2、Ｇff3、Ｇff4、Ｇfb1、Ｇfb2、Ｇfb3、Ｇfb4の設定を説明する。
【００３８】
まず、Ｓ３０１で、右白線と右候補点との差分の平均値err_line_rが予め設定した閾値Ｃσ未満（err_line_r＜Ｃσ）か否か判定し、この判定の結果、err_line_r＜Ｃσで右白線が安定して認識されていると判定される場合は、Ｓ３０２に進む。
【００３９】
Ｓ３０２では、右白線長さlength_rが予め設定した閾値Ｃｄを超えているか（Ｃｄ＜length_r）か否か判定し、この判定の結果、Ｃｄ＜length_rで右白線が安定した操舵支援制御を行うのに十分な長さを有すると判定される場合は、Ｓ３０３に進む。
【００４０】
Ｓ３０３では、左白線と左候補点との差分の平均値err_line_lが予め設定した閾値Ｃσ未満（err_line_l＜Ｃσ）か否か判定し、この判定の結果、err_line_l＜Ｃσで左白線が安定して認識されていると判定される場合は、Ｓ３０４に進む。
【００４１】
Ｓ３０４では、
左白線長さlength_lが予め設定した閾値Ｃｄを超えているか（Ｃｄ＜length_l）か否か判定し、この判定の結果、Ｃｄ＜length_lで左白線が安定した操舵支援制御を行うのに十分な長さを有すると判定される場合は、Ｓ３０５に進む。
【００４２】
そして、Ｓ３０５に進むと、左右の白線は安定して認識され、操舵支援制御を行うのに十分な長さを有していると判定されるため、フィードフォワード制御部２０ｂに対する各制御ゲインＧff1、Ｇff2、Ｇff3、Ｇff4を、Ｇff1＝１．０、Ｇff2＝Ｇff3＝Ｇff4＝０に設定する。
【００４３】
その後、Ｓ３０６に進んで、フィードバック制御部２０ｃに対する各制御ゲインＧfb1、Ｇfb2、Ｇfb3、Ｇfb4も同様に、Ｇfb1＝１．０、Ｇfb2＝Ｇfb3＝Ｇfb4＝０に設定してプログラムを抜ける。すなわち、左右の白線は安定して認識され、操舵支援制御を行うのに十分な長さを有していると判定されるため、両側白線の情報に基づき操舵支援制御が実行されるようになっている。
【００４４】
また、上述のＳ３０３で、err_line_l≧Ｃσで左白線の認識が不安定と判定される場合は、Ｓ３０７に進む。
【００４５】
Ｓ３０７では、ターンシグナルスイッチがＯＦＦ（Ｓigtu＝０）で、且つ、先行車の幅情報を安定して検出しており（Ｔgt_veh_w＝１）、且つ、先行車と自車両との車間距離が安定しており（Ｔgt_veh_d＝１）、先行車情報は操舵支援制御するのに十分であると判定できる場合は、Ｓ３０８に進み、フィードフォワード制御部２０ｂに対する各制御ゲインＧff1、Ｇff2、Ｇff3、Ｇff4を、Ｇff1＝０、Ｇff2＝０．５、Ｇff3＝０、Ｇff4＝０．５に設定する。
【００４６】
その後、Ｓ３０９に進んで、フィードバック制御部２０ｃに対する各制御ゲインＧfb1、Ｇfb2、Ｇfb3、Ｇfb4も同様に、Ｇfb1＝０、Ｇfb2＝０．５、Ｇfb3＝０、Ｇfb4＝０．５に設定する。
【００４７】
すなわち、左白線の認識が不安定であっても、右白線は安定して認識され、操舵支援制御を行うのに十分な長さを有しており、先行車情報も操舵支援制御するのに十分であるため、右白線情報と先行車情報とを同じ重み付けで操舵支援制御が行われるようになっている。
【００４８】
一方、Ｓ３０７で、Ｓigtu＝０、且つ、Ｔgt_veh_w＝１、且つ、Ｔgt_veh_d＝１の条件が判定されず、先行車情報は操舵支援制御するのに不十分であると判定できる場合は、Ｓ３１０に進み、フィードフォワード制御部２０ｂに対する各制御ゲインＧff1、Ｇff2、Ｇff3、Ｇff4を、Ｇff1＝０、Ｇff2＝１．０、Ｇff3＝Ｇff4＝０に設定する。
【００４９】
その後、Ｓ３１１に進んで、フィードバック制御部２０ｃに対する各制御ゲインＧfb1、Ｇfb2、Ｇfb3、Ｇfb4も同様に、Ｇfb1＝０、Ｇfb2＝１．０、Ｇfb3＝Ｇfb4＝０に設定する。
【００５０】
すなわち、左白線の認識が不安定で、先行車情報も操舵支援制御するのに不十分であるが、右白線は安定して認識され、操舵支援制御を行うのに十分な長さを有していると判定されるため、右白線情報に基づいた操舵支援制御が行われるようになっている。
【００５１】
また、上述のＳ３０４で、Ｃｄ≧length_lで、右白線は安定して認識され、操舵支援制御を行うのに十分な長さを有しており、左白線は安定して認識されてはいるものの、操舵支援制御を行うのに十分な長さを有していないと判定された場合は、Ｓ３１２に進む。
【００５２】
Ｓ３１２では、ターンシグナルスイッチがＯＦＦ（Ｓigtu＝０）で、且つ、先行車の幅情報を安定して検出しており（Ｔgt_veh_w＝１）、且つ、先行車と自車両との車間距離が安定しており（Ｔgt_veh_d＝１）、先行車情報は操舵支援制御するのに十分であると判定できる場合は、Ｓ３１３に進み、フィードフォワード制御部２０ｂに対する各制御ゲインＧff1、Ｇff2、Ｇff3、Ｇff4を、Ｇff1＝０、Ｇff2＝０．５、Ｇff3＝０．２、Ｇff4＝０．３に設定する。
【００５３】
その後、Ｓ３１４に進んで、フィードバック制御部２０ｃに対する各制御ゲインＧfb1、Ｇfb2、Ｇfb3、Ｇfb4も同様に、Ｇfb1＝０、Ｇfb2＝０．５、Ｇfb3＝０．２、Ｇfb4＝０．３に設定する。
【００５４】
すなわち、左白線は安定して認識されてはいるものの、操舵支援制御を行うのに十分な長さを有していないが、右白線は安定して認識され、操舵支援制御を行うのに十分な長さを有しており、また、先行車情報は操舵支援制御するのに十分であるため、右白線情報に関する制御ゲインＧff2、Ｇfb2を最も高く設定し、次に、先行車情報に関する制御ゲインＧff4、Ｇfb4を高く設定し、次いで、左白線情報に関する制御ゲインＧff3、Ｇfb3を僅かに設定して、この重み付けで右白線情報、左白線情報、先行車情報に基づいた操舵支援制御を行うのである。
【００５５】
一方、Ｓ３１２で、Ｓigtu＝０、且つ、Ｔgt_veh_w＝１、且つ、Ｔgt_veh_d＝１の条件が判定されず、先行車情報は操舵支援制御するのに不十分であると判定できる場合は、Ｓ３１５に進み、フィードフォワード制御部２０ｂに対する各制御ゲインＧff1、Ｇff2、Ｇff3、Ｇff4を、Ｇff1＝０、Ｇff2＝０．８、Ｇff3＝０．２、Ｇff4＝０に設定する。
【００５６】
その後、Ｓ３１６に進んで、フィードバック制御部２０ｃに対する各制御ゲインＧfb1、Ｇfb2、Ｇfb3、Ｇfb4も同様に、Ｇfb1＝０、Ｇfb2＝０．８、Ｇfb3＝０．２、Ｇfb4＝０に設定する。
【００５７】
すなわち、左白線は安定して認識されてはいるものの、操舵支援制御を行うのに十分な長さを有しておらず、先行車情報は操舵支援制御するのに不十分であり、右白線は安定して認識され、操舵支援制御を行うのに十分な長さを有しているため、右白線情報に関する制御ゲインＧff2、Ｇfb2を最も高く設定し、左白線情報に関する制御ゲインＧff3、Ｇfb3は僅かに設定することにより、この重み付けで右白線情報、左白線情報に基づいた操舵支援制御を行うのである。
【００５８】
また、前述のＳ３０２で、Ｃｄ≧length_rで、右白線は安定して認識されているものの、操舵支援制御を行うのに十分な長さを有していないと判定された場合は、Ｓ３１７に進む。
【００５９】
Ｓ３１７では、err_line_l＜Ｃσか否か判定され、この判定の結果、err_line_l≧Ｃσで左白線が安定して認識されていないと判定される場合は、Ｓ３１８に進む。
【００６０】
Ｓ３１８では、ターンシグナルスイッチがＯＦＦ（Ｓigtu＝０）で、且つ、先行車の幅情報を安定して検出しており（Ｔgt_veh_w＝１）、且つ、先行車と自車両との車間距離が安定しており（Ｔgt_veh_d＝１）、先行車情報は操舵支援制御するのに十分であると判定できる場合は、Ｓ３１９に進み、フィードフォワード制御部２０ｂに対する各制御ゲインＧff1、Ｇff2、Ｇff3、Ｇff4を、Ｇff1＝０、Ｇff2＝０．２、Ｇff3＝０、Ｇff4＝０．８に設定する。
【００６１】
その後、Ｓ３２０に進んで、フィードバック制御部２０ｃに対する各制御ゲインＧfb1、Ｇfb2、Ｇfb3、Ｇfb4も同様に、Ｇfb1＝０、Ｇfb2＝０．２、Ｇfb3＝０、Ｇfb4＝０．８に設定する。
【００６２】
すなわち、左白線の認識が不安定で、右白線は安定して認識されているものの、操舵支援制御を行うのに十分な長さを有しておらず、先行車情報は操舵支援制御するのに十分であるため、先行車情報に関する制御ゲインＧff4、Ｇfb4を最も高く設定し、右白線情報に関する制御ゲインＧff2、Ｇfb2を僅かに設定して、この重み付けで右白線情報、先行車情報に基づいた操舵支援制御を行うのである。
【００６３】
一方、Ｓ３１８で、Ｓigtu＝０、且つ、Ｔgt_veh_w＝１、且つ、Ｔgt_veh_d＝１の条件が判定されず、先行車情報は操舵支援制御するのに不十分であると判定できる場合は、Ｓ３２１に進み、フィードフォワード制御部２０ｂに対する各制御ゲインＧff1、Ｇff2、Ｇff3、Ｇff4を、Ｇff1＝０、Ｇff2＝１．０、Ｇff3＝Ｇff4＝０に設定する。
【００６４】
その後、Ｓ３２２に進んで、フィードバック制御部２０ｃに対する各制御ゲインＧfb1、Ｇfb2、Ｇfb3、Ｇfb4も同様に、Ｇfb1＝０、Ｇfb2＝１．０、Ｇfb3＝Ｇfb4＝０に設定する。
【００６５】
すなわち、左白線の認識が不安定で、右白線は安定して認識されているものの、操舵支援制御を行うのに十分な長さを有しておらず、先行車情報は操舵支援制御するのに不十分であるため、右白線情報に基づいてのみ操舵支援制御を行うのである。
【００６６】
また、前述のＳ３１７で、err_line_l＜Ｃσで左白線が安定して認識されていると判定される場合は、Ｓ３２３に進み、Ｃｄ＜length_lか否か判定する。この判定の結果、Ｃｄ≧length_lで、右白線も左白線も安定して認識されてはいるものの、共に、操舵支援制御を行うのに十分な長さを有していない場合は、Ｓ３２４に進み、ターンシグナルスイッチがＯＦＦ（Ｓigtu＝０）で、且つ、先行車の幅情報を安定して検出しており（Ｔgt_veh_w＝１）、且つ、先行車と自車両との車間距離が安定しており（Ｔgt_veh_d＝１）、先行車情報は操舵支援制御するのに十分であると判定できる場合は、Ｓ３２５に進み、フィードフォワード制御部２０ｂに対する各制御ゲインＧff1、Ｇff2、Ｇff3、Ｇff4を、Ｇff1＝０、Ｇff2＝Ｇff3＝０．２、Ｇff4＝０．６に設定する。
【００６７】
その後、Ｓ３２６に進んで、フィードバック制御部２０ｃに対する各制御ゲインＧfb1、Ｇfb2、Ｇfb3、Ｇfb4も同様に、Ｇfb1＝０、Ｇfb2＝Ｇfb3＝０．２、Ｇfb4＝０．６に設定する。
【００６８】
すなわち、右白線も左白線も安定して認識されてはいるものの、共に、操舵支援制御を行うのに十分な長さを有していない場合は、先行車情報に関する制御ゲインＧff4、Ｇfb4を最も高く設定し、右白線情報に関する制御ゲインＧff2、Ｇfb2と左白線情報に関する制御ゲインＧff3、Ｇfb3を共に僅かに設定して、この重み付けで右白線情報、左白線情報、先行車情報に基づいた操舵支援制御を行うのである。
【００６９】
一方、Ｓ３２４で、Ｓigtu＝０、且つ、Ｔgt_veh_w＝１、且つ、Ｔgt_veh_d＝１の条件が判定されず、先行車情報は操舵支援制御するのに不十分であると判定できる場合は、Ｓ３２７に進み、フィードフォワード制御部２０ｂに対する各制御ゲインＧff1、Ｇff2、Ｇff3、Ｇff4を、Ｇff1＝０、Ｇff2＝Ｇff3＝０．５、Ｇff4＝０に設定する。
【００７０】
その後、Ｓ３２８に進んで、フィードバック制御部２０ｃに対する各制御ゲインＧfb1、Ｇfb2、Ｇfb3、Ｇfb4も同様に、Ｇfb1＝０、Ｇfb2＝Ｇfb3＝０．５、Ｇfb4＝０に設定する。
【００７１】
すなわち、右白線も左白線も安定して認識されてはいるものの、共に、操舵支援制御を行うのに十分な長さを有しておらず、先行車情報も操舵支援制御するにには不十分であるため、右白線情報と左白線情報とを同じ重み付けで用いて操舵支援制御を実行するようになっている。
【００７２】
また、Ｓ３２３で、Ｃｄ＜length_lで、右白線は安定して認識されているものの、操舵支援制御を行うのに十分な長さを有しておらず、左白線は安定して認識されて、操舵支援制御を行うのに十分な長さを有している場合は、Ｓ３２９に進み、ターンシグナルスイッチがＯＦＦ（Ｓigtu＝０）で、且つ、先行車の幅情報を安定して検出しており（Ｔgt_veh_w＝１）、且つ、先行車と自車両との車間距離が安定しており（Ｔgt_veh_d＝１）、先行車情報は操舵支援制御するのに十分であると判定できる場合は、Ｓ３３０に進み、フィードフォワード制御部２０ｂに対する各制御ゲインＧff1、Ｇff2、Ｇff3、Ｇff4を、Ｇff1＝０、Ｇff2＝０．２、Ｇff3＝０．５、Ｇff4＝０．３に設定する。
【００７３】
その後、Ｓ３３１に進んで、フィードバック制御部２０ｃに対する各制御ゲインＧfb1、Ｇfb2、Ｇfb3、Ｇfb4も同様に、Ｇfb1＝０、Ｇfb2＝０．２、Ｇfb3＝０．５、Ｇfb4＝０．３に設定する。
【００７４】
すなわち、左白線は安定して認識され、操舵支援制御を行うのに十分な長さを有しているが、右白線は安定して認識されているものの、操舵支援制御を行うのに十分な長さを有しておらず、先行車情報は操舵支援制御するのに十分であるため、左白線情報に関する制御ゲインＧff3、Ｇfb3を最も高く設定し、次に、先行車情報に関する制御ゲインＧff4、Ｇfb4を高く設定し、右白線情報に関する制御ゲインＧff2、Ｇfb2を僅かに設定して、この重み付けで右白線情報、左白線情報、先行車情報に基づいた操舵支援制御を行うのである。
【００７５】
一方、Ｓ３２９で、Ｓigtu＝０、且つ、Ｔgt_veh_w＝１、且つ、Ｔgt_veh_d＝１の条件が判定されず、先行車情報は操舵支援制御するのに不十分であると判定できる場合は、Ｓ３３２に進み、フィードフォワード制御部２０ｂに対する各制御ゲインＧff1、Ｇff2、Ｇff3、Ｇff4を、Ｇff1＝０、Ｇff2＝０．２、Ｇff3＝０．８、Ｇff4＝０に設定する。
【００７６】
その後、Ｓ３３３に進んで、フィードバック制御部２０ｃに対する各制御ゲインＧfb1、Ｇfb2、Ｇfb3、Ｇfb4も同様に、Ｇfb1＝０、Ｇfb2＝０．２、Ｇfb3＝０．８、Ｇfb4＝０に設定する。
【００７７】
すなわち、左白線は安定して認識され、操舵支援制御を行うのに十分な長さを有しているが、右白線は安定して認識されているものの、操舵支援制御を行うのに十分な長さを有しておらず、先行車情報も操舵支援制御するのに不十分であるため、左白線情報に関する制御ゲインＧff3、Ｇfb3を最も高く設定し、右白線情報に関する制御ゲインＧff2、Ｇfb2を僅かに設定して、この重み付けで右白線情報、左白線情報に基づいた操舵支援制御を行うのである。
【００７８】
一方、図５の初めに戻り、Ｓ３０１で、err_line_r≧Ｃσで右白線が安定して認識されていないと判定される場合は、Ｓ３３４に進む。
【００７９】
Ｓ３３４では、err_line_l＜Ｃσか否か判定し、err_line_l≧Ｃσで左白線が安定して認識されていないと判定される場合は、Ｓ３３５に進む。
【００８０】
Ｓ３３５では、ターンシグナルスイッチがＯＦＦ（Ｓigtu＝０）で、且つ、先行車の幅情報を安定して検出しており（Ｔgt_veh_w＝１）、且つ、先行車と自車両との車間距離が安定しており（Ｔgt_veh_d＝１）、先行車情報は操舵支援制御するのに十分であると判定できる場合は、Ｓ３３６に進み、フィードフォワード制御部２０ｂに対する各制御ゲインＧff1、Ｇff2、Ｇff3、Ｇff4を、Ｇff1＝Ｇff2＝Ｇff3＝０、Ｇff4＝１．０に設定する。
【００８１】
その後、Ｓ３３７に進んで、フィードバック制御部２０ｃに対する各制御ゲインＧfb1、Ｇfb2、Ｇfb3、Ｇfb4も同様に、Ｇfb1＝Ｇfb2＝Ｇfb3＝０、Ｇfb4＝１．０に設定する。
【００８２】
すなわち、右白線も左白線も共に認識が不安定なため、得られる先行車情報に基づいた操舵支援制御を行うのである。
【００８３】
一方、Ｓ３３５で、Ｓigtu＝０、且つ、Ｔgt_veh_w＝１、且つ、Ｔgt_veh_d＝１の条件が判定されず、先行車情報は操舵支援制御するのに不十分であると判定できる場合は、Ｓ３３８に進み、フィードフォワード制御部２０ｂに対する各制御ゲインＧff1、Ｇff2、Ｇff3、Ｇff4を、Ｇff1＝Ｇff2＝Ｇff3＝Ｇff4＝０に設定する。
【００８４】
その後、Ｓ３３９に進んで、フィードバック制御部２０ｃに対する各制御ゲインＧfb1、Ｇfb2、Ｇfb3、Ｇfb4も同様に、Ｇfb1＝Ｇfb2＝Ｇfb3＝Ｇfb4＝０に設定する。
【００８５】
すなわち、右白線情報も、左白線情報も、先行車情報も得られないため、操舵支援制御を行わない。
【００８６】
また、上述のＳ３３４で、err_line_l＜Ｃσで、右白線が安定して認識されていないが、左白線は安定して認識されていると判定された場合は、Ｓ３４０に進む。
【００８７】
Ｓ３４０では、Ｃｄ＜length_lか否か判定され、この判定の結果、Ｃｄ＜length_lで左白線が安定した操舵支援制御を行うのに十分な長さを有すると判定される場合は、Ｓ３４１に進む。
【００８８】
Ｓ３４１では、ターンシグナルスイッチがＯＦＦ（Ｓigtu＝０）で、且つ、先行車の幅情報を安定して検出しており（Ｔgt_veh_w＝１）、且つ、先行車と自車両との車間距離が安定しており（Ｔgt_veh_d＝１）、先行車情報は操舵支援制御するのに十分であると判定できる場合は、Ｓ３４２に進み、フィードフォワード制御部２０ｂに対する各制御ゲインＧff1、Ｇff2、Ｇff3、Ｇff4を、Ｇff1＝Ｇff2＝０、Ｇff3＝Ｇff4＝０．５に設定する。
【００８９】
その後、Ｓ３４３に進んで、フィードバック制御部２０ｃに対する各制御ゲインＧfb1、Ｇfb2、Ｇfb3、Ｇfb4も同様に、Ｇfb1＝Ｇfb2＝０、Ｇfb3＝Ｇfb4＝０．５に設定する。
【００９０】
すなわち、右白線の認識が不安定であっても、左白線は安定して認識され、操舵支援制御を行うのに十分な長さを有しており、先行車情報も操舵支援制御するのに十分であるため、左白線情報と先行車情報とを同じ重み付けで操舵支援制御が行われるようになっている。
【００９１】
一方、Ｓ３４１で、Ｓigtu＝０、且つ、Ｔgt_veh_w＝１、且つ、Ｔgt_veh_d＝１の条件が判定されず、先行車情報は操舵支援制御するのに不十分であると判定できる場合は、Ｓ３４４に進み、フィードフォワード制御部２０ｂに対する各制御ゲインＧff1、Ｇff2、Ｇff3、Ｇff4を、Ｇff1＝Ｇff2＝０、Ｇff3＝１．０、Ｇff4＝０に設定する。
【００９２】
その後、Ｓ３４５に進んで、フィードバック制御部２０ｃに対する各制御ゲインＧfb1、Ｇfb2、Ｇfb3、Ｇfb4も同様に、Ｇfb1＝Ｇfb2＝０、Ｇfb3＝１．０、Ｇfb4＝０に設定する。
【００９３】
すなわち、右白線の認識が不安定で、先行車情報も操舵支援制御するのに不十分であるが、左白線は安定して認識され、操舵支援制御を行うのに十分な長さを有していると判定されるため、左白線情報に基づいた操舵支援制御が行われるようになっている。
【００９４】
また、上述のＳ３４０で、Ｃｄ≧length_lで左白線が安定した操舵支援制御を行うのに十分な長さを有しないと判定される場合は、Ｓ３４６に進む。
【００９５】
Ｓ３４６では、ターンシグナルスイッチがＯＦＦ（Ｓigtu＝０）で、且つ、先行車の幅情報を安定して検出しており（Ｔgt_veh_w＝１）、且つ、先行車と自車両との車間距離が安定しており（Ｔgt_veh_d＝１）、先行車情報は操舵支援制御するのに十分であると判定できる場合は、Ｓ３４７に進み、フィードフォワード制御部２０ｂに対する各制御ゲインＧff1、Ｇff2、Ｇff3、Ｇff4を、Ｇff1＝Ｇff2＝０、Ｇff3＝０．２、Ｇff4＝０．８に設定する。
【００９６】
その後、Ｓ３４８に進んで、フィードバック制御部２０ｃに対する各制御ゲインＧfb1、Ｇfb2、Ｇfb3、Ｇfb4も同様に、Ｇfb1＝Ｇfb2＝０、Ｇfb3＝０．２、Ｇfb4＝０．８に設定する。
【００９７】
すなわち、右白線の認識が不安定で、左白線は安定して認識されているものの、操舵支援制御を行うのに十分な長さを有しておらず、先行車情報は操舵支援制御するのに十分であるため、先行車情報に関する制御ゲインＧff4、Ｇfb4を最も高く設定し、左白線情報に関する制御ゲインＧff2、Ｇfb2を僅かに設定して、この重み付けで左白線情報、先行車情報に基づいた操舵支援制御を行うのである。
【００９８】
一方、Ｓ３４６で、Ｓigtu＝０、且つ、Ｔgt_veh_w＝１、且つ、Ｔgt_veh_d＝１の条件が判定されず、先行車情報は操舵支援制御するのに不十分であると判定できる場合は、Ｓ３４９に進み、フィードフォワード制御部２０ｂに対する各制御ゲインＧff1、Ｇff2、Ｇff3、Ｇff4を、Ｇff1＝Ｇff2＝０、Ｇff3＝１．０、Ｇff4＝０に設定する。
【００９９】
その後、Ｓ３５０に進んで、フィードバック制御部２０ｃに対する各制御ゲインＧfb1、Ｇfb2、Ｇfb3、Ｇfb4も同様に、Ｇfb1＝Ｇfb2＝０、Ｇfb3＝１．０、Ｇfb4＝０に設定する。
【０１００】
すなわち、右白線の認識が不安定で、左白線は安定して認識されているものの、操舵支援制御を行うのに十分な長さを有しておらず、先行車情報は操舵支援制御するのに不十分であるため、左白線情報に基づいてのみ操舵支援制御を行うのである。
【０１０１】
上述の如く、各制御ゲインＧff1、Ｇff2、Ｇff3、Ｇff4、Ｇfb1、Ｇfb2、Ｇfb3、Ｇfb4の設定を行った後は、Ｓ２０７に進み、これら制御ゲインＧff1、Ｇff2、Ｇff3、Ｇff4をフィードフォワード制御部２０ｂに出力し、制御ゲインＧfb1、Ｇfb2、Ｇfb3、Ｇfb4をフィードバック制御部２０ｃに出力してルーチンを抜ける。このように、制御ゲイン設定制御部２０ａは、制御ゲイン設定手段として設けられている。
【０１０２】
フィードフォワード制御部２０ｂは、前方認識装置３１から画像情報が入力され、制御ゲイン設定制御部２０ａから制御ゲインＧff1、Ｇff2、Ｇff3、Ｇff4が入力される。そして、例えば、以下の（５）式により、左右白線の認識形状と先行車の走行軌跡に応じた出力値をフィードフォワード出力値Ｉffとして演算し、操舵トルク算出部２０ｄに出力する。  
Ｉff＝Ｇff1・（Ｒｒ＋Ｒｌ）／２＋Ｇff2・Ｒｒ＋Ｇff3・Ｒｌ＋Ｇff4・Ｒｖ
…（５）
ここで、Ｒｒは右白線による曲率成分であり、Ｒｌは左白線による曲率成分である。これら、左右白線の曲率成分Ｒｒ，Ｒｌは、具体的には、図１５に示すような、左右白線のそれぞれを構成する候補点に関して、二次の最小自乗法によって計算された二次項の係数を用いることによって定められる。例えば、ｘ＝Ａ・ｚ２＋Ｂ・ｚ＋Ｃの二次式で白線を近似した場合、Ａの値が曲率成分として用いられる。また、Ｒｖは先行車軌跡による曲率成分であり、先行車の（後面）中心と自車中心とを結ぶ２点間における最小自乗法による近似で求めた値（ｘ＝Ａ・ｚ２の式で近似したＡの値）を曲率成分とする。尚、これら白線の曲率成分Ｒｒ、Ｒｌは、それぞれの白線の曲率そのものでも良く、また、先行車軌跡による曲率成分Ｒｖは、先行車の通過した軌跡を利用して算出しても良く、軌跡のなす角度の微分値等から求めるようにしても良い。
【０１０３】
次に、このフィードフォワード制御部２０ｂで実行されるフィードフォワード制御を、図１３のフローチャートで説明する。
【０１０４】
先ず、Ｓ４０１で、制御ゲイン設定制御部２０ａから制御ゲインＧff1、Ｇff2、Ｇff3、Ｇff4を読み込む。
【０１０５】
次に、Ｓ４０２に進み、左白線による曲率成分Ｒｌ、右白線による曲率成分Ｒｒ、先行車軌跡による曲率成分Ｒｖを算出する。
【０１０６】
そして、Ｓ４０３に進み、上述の（５）式により、フィードフォワード出力値Ｉffを算出し、操舵トルク算出部２０ｄに出力する。このように、フィードフォワード制御部２０ｂは、フィードフォワード制御手段として設けられている。
【０１０７】
フィードバック制御部２０ｃは、前方認識装置３１から画像情報が入力され、車速センサ３２から車速Ｖが入力され、ヨーレートセンサ３３からヨーレート（ｄθ／ｄｔ）が入力され、横加速度センサ３４から横加速度Ｇｙが入力され、制御ゲイン設定制御部２０ａから制御ゲインＧfb1、Ｇfb2、Ｇfb3、Ｇfb4が入力される。そして、例えば、以下の（６）式により、自車両の予測される走行位置を基準とした左右白線の認識形状と先行車の走行軌跡に応じた出力値をフィードバック出力値Ｉfbとして演算として演算し、操舵トルク算出部２０ｄに出力する。  
Ｉfb＝Ｇfb1・（ｘｒ−ｘｌ−ｘｖ）
＋Ｇfb2・（（ｘｒ＋ｘｒ−ｗｒｄ）／２−ｘｖ）
＋Ｇfb3・（（ｘｌ＋ｘｌ＋ｗｒｄ）／２−ｘｖ）
＋Ｇfb4・（ｘtgt−ｘｖ）                  …（６）
ここで、ｘｖは車両の前方注視点のｚ座標におけるｘ座標である。この前方注視点とは、本実施の形態においては、例えば、図１６（ａ）〜（ｄ）に示すように、予め設定しておいた予見時間Ｔ（例えば、１．２秒）経過後に自車両が存在すると予測される点である。この前方注視点におけるｚ座標ｚｖは、例えば、ｚｖ＝Ｔ・Ｖで算出される。尚、単純に、前方の予め設定する距離の点としても良い。
【０１０８】
従って、前方注視点のｘ座標ｘｖは、例えば、以下の（７）式で算出することができる。  
ｘｖ＝ｘｉ＋Ｖ・（β＋θ）・Ｔ
＋（１／２）・（（ｄθ／ｄｔ）＋（ｄβ／ｄｔ））・Ｖ・Ｔ２…（７）
ここで、ｘｉは車両の現在のｘ座標、（ｄβ／ｄｔ）は車体すべり角速度であり、例えば、以下の（８）式により算出できる。  
（ｄβ／ｄｔ）＝（Ｇｙ／Ｖ）−（ｄθ／ｄｔ）      …（８）
そして、この車体すべり角速度（ｄβ／ｄｔ）を積分処理することにより、車体すべり角βが算出できる。
【０１０９】
また、（６）式における、ｘｒは前方注視点のｚ座標における右白線のｘ座標であり、ｘｌは前方注視点のｚ座標における左白線のｘ座標である。更に、ｗｒｄは過去に検出しておいた道幅、ｘtgtは前方注視点のｚ座標における先行車軌跡のｘ座標である。
【０１１０】
従って、上述の（６）式における、第一項であるＧfb1・（ｘｒ−ｘｌ−ｘｖ）は、図１６（ａ）に示すように、前方注視点と左右白線の中心点とのｘ座標偏差の演算項となっている。また、第二項であるＧfb2・（（ｘｒ＋ｘｒ−ｗｒｄ）／２−ｘｖ）は、図１６（ｂ）に示すように、前方注視点と右白線−車線幅を基準とする走行点とのｘ座標偏差の演算項となっている。更に、第三項であるＧfb3・（（ｘｌ＋ｘｌ＋ｗｒｄ）／２−ｘｖ）は、図１６（ｃ）に示すように、前方注視点と左白線−車線幅を基準とする走行点とのｘ座標偏差の演算項となっている。また、第四項であるＧfb4・（ｘtgt−ｘｖ）は、図１６（ｄ）に示すように、前方注視点と先行車を基準とする走行点とのｘ座標偏差の演算項となっている。
【０１１１】
次に、このフィードバック制御部２０ｃで実行されるフィードバック制御を、図１４のフローチャートで説明する。
【０１１２】
先ず、Ｓ５０１で、制御ゲイン設定制御部２０ａから制御ゲインＧfb1、Ｇfb2、Ｇfb3、Ｇfb4を読み込む。
【０１１３】
次いで、Ｓ５０２に進み、前方注視点のｚ座標ｚｖを算出する。
【０１１４】
次に、Ｓ５０３に進み、前方注視点のｘ座標ｘｖを、例えば、上述の（７）式により、算出する。
【０１１５】
次いで、Ｓ５０４に進み、前方注視点における、左白線のｘ座標ｘｌ、右白線のｘ座標ｘｒ、先行車軌跡のｘ座標ｘtgtを算出する。
【０１１６】
そして、Ｓ５０５に進み、上述の（６）式により、フィードバック出力値Ｉfbを算出し、操舵トルク算出部２０ｄに出力する。このように、フィードバック制御部２０ｃは、フィードバック制御手段として設けられている。
【０１１７】
操舵トルク算出部２０ｄは、フィードフォワード制御部２０ｂからフィードフォワード出力値Ｉffが入力され、フィードバック制御部２０ｃからフィードバック出力値Ｉfbが入力される。そして、例えば、以下の（９）式により、操舵トルクＴｉを算出し、モータ駆動部２１に出力する。  
Ｔｉ＝Ｇｔ・（Ｉff＋Ｉfb）      …（９）
ここで、Ｇｔは、予め設定しておいた換算係数である。
【０１１８】
以上のように構成される操舵制御部２０では、図３に示すように操舵制御が実行される。  
まず、Ｓ１０１で、制御ゲイン設定制御部２０ａで、前述の図４〜図１２に示すフローチャートに従って、各制御ゲインＧff1、Ｇff2、Ｇff3、Ｇff4、Ｇfb1、Ｇfb2、Ｇfb3、Ｇfb4の設定制御が行われる。
【０１１９】
次いで、Ｓ１０２に進み、フィードフォワード制御部２０ｂで、前述の図１３に示すフローチャートに従って、フィードフォワード出力値Ｉffの算出が行われる。
【０１２０】
次に、Ｓ１０３に進んで、フィードバック制御部２０ｃで、前述の図１４に示すフローチャートに従って、フィードバック出力値Ｉfbの算出が行われる。
【０１２１】
そして、Ｓ１０４に進んで、操舵トルク算出部２０ｄで、前述の（９）式により、操舵トルクＴｉが算出され、モータ駆動部２１に出力される。
【０１２２】
このように本発明の実施の形態によれば、左右白線の認識状態と先行車の認識状態に応じて制御ゲインを可変設定し、この可変設定された制御ゲインを用いて、前方認識装置３１で認識した左右白線の認識形状と先行車の走行軌跡に応じた出力値をフィードフォワード出力値Ｉffとして演算し、自車両の予測される走行位置を基準とした前方認識装置３１で認識した左右白線の認識形状と先行車の走行軌跡に応じた出力値をフィードバック出力値Ｉfbとして演算し、これらを加算した値を制御量Ｔｉとする。このため、得られる情報を最大限に活用し、白線情報と先行車情報の双方の安定性の度合によって制御ゲインをリアルタイムに変更することで、白線が欠損、見え難くなった路面や、交差点等で白線が途切れた場合、さらには、悪天候により路面状態が悪く、安定した白線認識を行えない場合等、実際の多種多様な道路環境においても操舵支援制御を継続することができ、稼働範囲の広い使い勝手の良い運転支援装置を実現することができる。
【０１２３】
尚、本発明の実施の形態は、操舵系は通常の電動パワーステアリング装置１で構成した例で説明しているが、ステアバイワイヤ機構の操舵系でも本発明が適用できることは云うまでもない。
【０１２４】
また、本発明の実施の形態は、ステレオカメラからの画像情報を用いた例で説明したが単眼カメラからの画像情報を用いるようにしても良い。
【０１２５】
更に、本発明の実施の形態においては、操舵制御部２０の制御ゲイン設定制御部２０ａでの制御ゲインの変更は、ドライバに違和感のないように、ある程度、所定の時定数のフィルタを通じて遅らせる等して変更することが望ましい。
【０１２６】
また、本発明の実施の形態における操舵制御部２０の制御ゲイン設定制御部２０ａの制御ゲインの設定は、あくまでも一例であり、特に、図７、図８、図９、図１０、図１２のフローチャートで設定される制御ゲインは、白線は検出しているが、安定した制御を行うには十分でないという状態であり、この場合の制御ゲインの大きさは、検出した白線長さlength_l、length_rや、白線と左候補点との差分の平均値err_line_l、err_line_rによって可変に設定できるようにしても良い。この場合、例えば、白線長さlength_l、length_rが長いほど対応する制御ゲインの値を大きくする、又は、白線と左候補点との差分の平均値err_line_l、err_line_rが小さいほど制御ゲインの値を大きくする。
【０１２７】
更に、特に、図７、図８、図９、図１０、図１２のフローチャートでは、先行車を検出していない場合においては、十分な長さのない白線のみで操舵支援制御を行うことになるため、その検出した白線長さlength_l、length_rに応じて、制御ゲインの大きさを小さくしたり、或いは、操舵支援制御の制御量が小さく（場合によっては停止させる）ようにしても良い。
【０１２８】
また、本発明の実施の形態では、フィードフォワード制御部２０ｂにおける制御ゲインとフィードバック制御部２０ｃにおける制御ゲインを同じ値に設定するようにしているが、同じ値としなくても良い。例えば、フィードフォワード制御部２０ｂにおける制御ゲインのみ可変設定し、フィードバック制御部２０ｃの制御ゲインは一定とするようにしても良い。或いは、フィードフォワード制御部２０ｂにおける制御ゲインの重み付けの差よりもフィードバック制御部２０ｃにおける制御ゲインの重み付けの差を小さく（或いは、大きく）するようにする。或いは、この逆に、フィードバック制御部２０ｃにおける制御ゲインのみ可変設定し、フィードフォワード制御部２０ｂの制御ゲインは一定とするようにしても良い。或いは、フィードフォバック制御部２０ｃにおける制御ゲインの重み付けの差よりもフィードフォワード制御部２０ｂにおける制御ゲインの重み付けの差を小さく（或いは、大きく）するようにする。
【０１２９】
更に、本発明の実施の形態では、フィードフォワード制御もフィードバック制御においても、制御ゲインの合計は、１．０になるように例示したが、合計は１．０でなくとも良い。
【０１３０】
また、本発明の実施の形態のフィードバック制御部２０ｃにおけるフィードバック制御を構成する（６）式は、前方注視点における二次予測制御を例に説明したが、これに限ることなく、単純な自車横位置と白線位置との差分に対する比例、微分、積分のそれぞれのフィードバック制御や、左右白線のヨー角によるフィードバック制御であっても良い。
【０１３１】
更に、本発明の実施の形態では、先行車と白線の認識特徴量によって、制御ゲインを変えているが、これに限ることなく、例えば、信号機、横断歩道、停止線等を検出した場合に自車両が交差点に入ったと判断し、先行車に対する制御ゲインを高め、白線に対する制御ゲインを下げるようにしても良い。
【符号の説明】
【０１３２】
１    電動パワーステアリング装置
４    ステアリングホイール
１０Ｌ、１０Ｒ  車輪
１２    電動モータ
２０    操舵制御部（操舵制御手段）
２０ａ  制御ゲイン設定制御部（制御ゲイン設定手段）
２０ｂ  フィードフォワード制御部（フィードフォワード制御手段）
２０ｃ  フィードバック制御部（フィードバック制御手段）
２０ｄ  操舵トルク算出部
２１    モータ駆動部
３１    前方認識装置（前方環境認識手段）
３２    車速センサ
３３    ヨーレートセンサ
３４    横加速度センサ
【図１】
0005969791.tif 000002
【図２】
0005969791.tif 000003
【図３】
0005969791.tif 000004
【図４】
0005969791.tif 000005
【図５】
0005969791.tif 000006
【図６】
0005969791.tif 000007
【図７】
0005969791.tif 000008
【図８】
0005969791.tif 000009
【図９】
0005969791.tif 000010
【図１０】
0005969791.tif 000011
【図１１】
0005969791.tif 000012
【図１２】
0005969791.tif 000013
【図１３】
0005969791.tif 000014
【図１４】
0005969791.tif 000015
【図１５】
0005969791.tif 000016
【図１６】
0005969791.tif 000017
【図１７】
0005969791.tif 000018
【図１８】
0005969791.tif 000019
【図１９】
0005969791.tif 000020