以下、図面を参照して、本発明に係る操舵装置の実施の形態を説明する。
本実施の形態では、本発明に係る操舵装置を、レーンキープ装置に適用する。本発明に係るレーンキープ装置は、ドライバによる操舵を支援するために、カメラによる撮像画像から白線を認識し、走行路である左右の白線(車線)の中央側への補助的な操舵トルクを付加する。
図1〜図3を参照して、本実施の形態に係るレーンキープ装置1について説明する。図1は、本実施の形態に係るレーンキープ装置の構成図である。図2は、図1のレーンキープ装置の制御ブロック図である。図3は、図1のレーンキープ装置における目標横加速度に対する出力トルクのマップである。
レーンキープ装置1は、車線の中央を走行するために必要な出力トルクを設定し、電動パワーステアリング装置を利用してその出力トルクを操舵機構に付加する。その際、レーンキープ装置1では、道路曲率γ(カーブ半径R)、車線に対する車両の向き(ヨー角θ)、車線中心に対する車両位置のずれ量(オフセットD)及びそのオフセットの積分項に基づいて目標横加速度を設定し、その目標加速度から出力トルクを求める。特に、レーンキープ装置1では、カーブ出口において適切な出力トルクを付加するために、カーブ出口又はカーブ出口付近(カーブ入口側)において不要な積分項をリセットする。レーンキープ装置1は、操舵トルクセンサ10、車速センサ11、CCD[Charge Coupled Device]カメラ20、画像処理部21、ECU[Electronic Control Unit]30を備えており、電動パワーステアリング装置40を利用する。
車両における操舵機構では、ドライバによるステアリングホイール2に対する操作に応じて転舵輪(左右前輪FR,FL)を転舵させる。ステアリングホイール2は、ステアリングシャフト3の一端に固定されている。ステアリングシャフト3は、ステアリングホイール2の回転に伴って回転する。ステアリングシャフト3の他端には、ステアリングギヤボックス4を介してラックバー5が連結されている。ステアリングギヤボックス4は、ステアリングシャフト3の回転運動をラックバー5の軸方向への直進運動に変換する機能を有している。ラックバー5の両端は、ナックルアーム6を介して車輪FL,FRの各ハブキャリアに連結されている。このように構成されているため、車輪FL,FRは、ステアリングホイール2が回転されると、ステアリングシャフト3やステアリングギヤボックス4(ラックバー5)を介して転舵される。
電動パワーステアリング装置40は、EPS[Electric Power Steering]ECU41によってモータ42を駆動制御し、モータ42による駆動トルクによりドライバによる操舵をアシストする。EPSECU41では、ドライバの操舵による操舵トルクに基づいてアシストトルクを設定し、モータドライバによってそのアシストトルクを発生させるためにモータ42を駆動制御する。特に、EPSECU41では、ECU30からの出力トルク信号を受信すると、その出力トルク信号に示される出力トルクに所定の係数を乗算し、その乗算値(付加トルク)をアシストトルクに加算し、そのアシストトルク+付加トルクを発生させるためにモータ42を駆動制御する。モータ42による駆動トルクは操舵機構に付加され、操舵機構にはドライバによる操舵トルク以外にモータ42によるトルクが加わる。なお、操舵トルク、アシストトルク、出力トルク(付加トルク)は、プラス値/マイナス値で表され、その符号が方向を示す。各トルクは、プラス値が右方向へのトルク、マイナス値が左方向へのトルクを示す。
ラックバー5の一部外周面にはボールスクリュー溝が形成されており、モータ42のロータにはこのボールスクリュー溝に対応するボールスクリュー溝を内周面上に有するボールナットが固定されている。一対のボールスクリュー溝の間には複数のベアリングボールが収納されており、モータ42を駆動させるとロータが回転してラックバー5の軸方向の移動させることができる(すなわち、転舵をアシストすることができる)。この際、モータ42は、ECPECU41のモータドライバから供給された駆動電流に応じたトルクをラックバー5に付与する。
操舵トルクセンサ10は、ステアリングホイール2から入力された操舵トルクを検出するセンサである、操舵トルクセンサ10では、検出した操舵トルクを操舵トルク信号としてECU30に送信する。車速センサ11は、車両の速度を検出するセンサである。車速センサ11では、検出した車速を車速信号としてECU30に送信する。
CCDカメラ20は、レーンキープ装置1を搭載する車両の前方に取り付けられる(例えば、ルームミラーに内蔵)。この際、CCDカメラ20は、その光軸方向が車両の進行方向と一致するように取り付けられる。CCDカメラ20では、車両の前方の道路を撮像し、その撮像したカラー画像(例えば、RGB[Red Green Blue]による画像)を取得する。CCDカメラ20では、その撮像画像のデータを撮像信号として画像処理部21に送信する。CCDカメラ20は、左右方向に撮像範囲が広く、走行している車線を示す左右両側(一対)の白線を十分に撮像可能である。なお、CCDカメラ20はカラーであるが、道路上の白線を認識できる画像を取得できればよいので、白黒のカメラでもよい。
画像処理部21では、CCDカメラ20から撮像信号を取り入れ、撮像信号の撮像画像データから車両が走行している車線を示す一対の白線(道路区画線)を認識する。撮像画像では、路面とその上に描かれた白線との輝度差が大きいことから、走行レーンを区画する白線はエッジ検出などによって比較的検出しやすく、車両前方の車線を検出するのに都合がいい。
そして、画像処理部21では、認識した一対の白線から車線幅、一対の白線の中心を通る線(すなわち、車線の中心)を演算する。さらに、画像処理部21では、車線の中心の半径(カーブ半径R)を演算し、カーブ半径Rから道路曲率γ(=1/R)を演算する。また、画像処理部21では、車線の中心線と車両の前後方向の中心軸とのなす角度(ヨー角θ)及び車線の中心線に対する車両重心位置の横方向のずれ量(オフセットD)を演算する。そして、画像処理部21では、これら認識した一対の白線の情報や演算した各情報を画像信号としてECU30に送信する。
なお、カーブ半径R、道路曲率γ、ヨー角θ、オフセットDは、プラス値/マイナス値で表され、その符号が方向を示す。カーブ半径R、道路曲率γは、プラス値が右方向、マイナス値が左方向を示す。したがって、カーブ路の曲がる方向はカーブ半径R、道路曲率γから判断でき、カーブ半径R、道路曲率γがプラス値の場合が右曲がりのカーブ路であり、マイナス値の場合が左曲がりのカーブ路である。ヨー角θは、プラス値が左方向であり、マイナス値が右方向である。オフセットD(オフセットDの積分値)は、プラス値が車線の左側であり、マイナス値が車線の右側である。本実施の形態では、CCDカメラ20及び画像処理部21が特許請求の範囲に記載する走行路検出手段、ずれ量検出手段、カーブ半径検出手段、カーブ方向検出手段に相当する。
ECU30は、CPU[Central Processing Unit]、ROM[Read Only Memory]、RAM[Random AccessMemory]などからなり、レーンキープ装置1を統括制御する。ECU30では、一定時間毎に、画像処理部21からの画像信号を取り入れるとともに、各センサ10,11から検出信号を取り入れる。そして、ECU30では、ドライバによる操作によってレーンキープ装置1が起動されている場合、車両が車線の中央付近を走行するように、画像信号に示される各種情報(道路曲率γ、ヨー角θ、オフセットD)及び車速Vに基づいて出力トルク(目標横加速度)を設定し、出力トルクを示す出力トルク信号を電動パワーステアリング装置40(EPSECU41)に送信する。
図2を参照して、ECU30における出力トルクを求めるための基本的な処理について説明する。なお、本実施の形態では、ECU30におけるこの基本的な処理が特許請求の範囲に記載する演算手段に相当する。
ECU30では、F/Fコントローラ31において道路曲率γと車速Vとの乗算値にゲインKγを乗算し、ヨーレートωγを演算する。ヨーレートωγは、車両をカーブに沿って走行させるために必要となる目標横加速度を発生させるヨーレートであり、直線路では0になる。また、ヨーレートωγは、レーンキープのフィードフォワード出力となる。なお、フィードフォワード出力には、上限が設定されている。
ECU30では、オフセットDと目標オフセットD0(例えば、0)との偏差ΔD=(D0−D)を演算する。そして、ECU30では、積分器32において偏差ΔDを時間積分し、オフセットの積分値IDを演算する。さらに、ECU30では、積分値IDにゲインKIDを乗算するとともに偏差ΔDにゲインKDを乗算し、その2つの乗算値を加算してヨーレートωDを演算する。ヨーレートωDは、オフセット(積分値)を収束させるために必要となる目標横加速度を発生させるヨーレートである。特に、積分値IDに基づいて発生する目標横加速度は、路面カントの影響やフィードフォワード不足などを補償するための目標横加速度である。なお、本実施の形態では、積分器32が特許請求の範囲に記載する積分手段に相当する。
ECU30では、ヨー角θと目標ヨー角θ0(例えば、0)との偏差Δθ=(θ0−θ)を演算する。そして、ECU30では、偏差ΔθにゲインKθを乗算し、ヨーレートωθを演算する。ヨーレートωθは、ヨー角を収束させるために必要となる目標横加速度を発生させるヨーレートである。ヨーレートωDとヨーレートωθは、レーンキープのフィードバック出力となる。
ECU30では、求めた3つのヨーレートωγ,ωD,ωθを合算し、目標ヨーレートωを演算する。そして、ECU30では、目標横加速度演算器33において目標ヨーレートωに車速Vを乗算し、目標横加速度Gを演算する。目標横加速度Gは、プラス値/マイナス値で表され、その符号が方向を示す。目標横加速度Gは、プラス値が右方向への横加速度、マイナス値が左方向への横加速度を示す。この目標横加速度Gの変化によって、レーンキープによる操舵機構に付加する出力トルクの方向(レーンキープ操舵方向)が決まる。例えば、目標横加速度が所定量以上増加する場合には右方向に出力トルクを付加し、目標横加速度が所定量以上減少する場合には左方向に出力トルクを付加する。
ECU30では、出力トルク演算器34において目標横加速度Gに応じた出力トルクTを求める。出力トルク演算器34には、図3に示す出力トルクマップが保持されており、出力トルクマップを参照し、出力トルクマップから目標横加速度Gに応じた出力トルクTを求める。出力トルクマップとしては、切り増し時のマップTIと切り戻し時のマップTRとが設定されており、2つのマップTI,TRとの間にはヒステリシスが設けられている。このヒステリシスは、操舵機構における摩擦を補償するためのものであり、切り増し時に出力トルクを増加させ、切り戻し時に出力トルクを減少させる。また、出力トルクマップは、出力トルクT(目標横加速度G)がプラス側に増加する方向がレーンキープの操舵方向が右方向であり、出力トルクT(目標横加速度G)がマイナス側に増加する方向がレーンキープの操舵方向が左方向である。出力トルク演算器34では、レーンキープ操舵方向と目標横加速度Gの符号によって切り増し時のマップTIかあるいは切り戻し時のマップTRかのいずれかのマップを選択する。そして、出力トルク演算器34では、選択したマップから、目標横加速度Gの値に応じた出力トルクTを抽出する。そして、ECU30では、出力トルクTを示す出力トルク信号をEPSECU41に送信する。
特に、ECU30では、カーブ出口又はカーブ出口付近で不要な積分値IDに基づく出力トルクを付加しないために、カーブ出口又はカーブ出口付近で必要に応じて積分値IDをリセットする。そのために、ECU30では、一定時間毎に、積分器32での処理の前に小Rカーブ判定処理、大Rカーブ判定処理、車両進行方向判定処理、ドライバ操舵方向判定処理、カーブ出口付近判定処理、積分出力リセット判定処理を行い、積分器32において積分出力リセット処理を行う。ここでは、ECU30における不要な積分値IDをリセットするための処理の概要について説明し、上記した各処理の詳細についてはレーンキープ装置1の動作説明のときに説明する。
なお、本実施の形態では、ECU30における車両進行方向判定処理が特許請求の範囲に記載する車両進行方向検出手段に相当し、ECU30における小Rカーブ判定処理及び積分出力リセット判定処理が特許請求の範囲に記載するカーブ出口判断手段に相当し、ECU30におけるドライバ操舵方向判定処理が特許請求の範囲に記載する操舵方向検出手段に相当する。
ECU30では、小Rカーブ旋回フラグ、カーブ旋回フラグ、車両右側進行フラグ、車両左側進行フラグ、ドライバ右操舵フラグ、ドライバ左操舵フラグ、カーブ出口付近フラグ、積分出力リセットフラグの8つのフラグを用いる。ECU30では、一定時間毎に、各処理において各フラグを設定する。また、ECU30では、一定時間毎に、積分出力リセットフラグ以外の7つのフラグについては各フラグの前回値も更新する。
小Rカーブ旋回フラグは、走行路が比較的急なカーブ(以下、「小Rカーブ」と記載)か否かのフラグであり、小Rカーブ旋回中の場合にはONであり、小Rカーブ旋回中でない場合にはOFFである。カーブ旋回フラグは、走行路が比較的緩やかなカーブ(以下、「大Rカーブ」と記載)か否かのフラグであり、大Rカーブ旋回中の場合にはONであり、大Rカーブ旋回中でない場合(直線路走行中の場合)にはOFFである。ちなみに、小Rカーブ旋回フラグがONの場合にはカーブ旋回フラグも常時ONである。また、カーブ旋回フラグがOFFの場合には走行路は直線路である。
車両右側進行フラグは、車両が車線の右側へ進行しているか否かのフラグであり、右側に進行中の場合にはONであり、右側に進行していない場合にはOFFである。車両左側進行フラグは、車両が車線の左側へ進行しているか否かのフラグであり、左側に進行中の場合にはONであり、左側に進行していない場合にはOFFである。車両右側進行フラグと車両左側進行フラグが共にOFFの場合には車両は直進中である。
ドライバ右操舵フラグは、ドライバがステアリングホイール2を右方向に操舵中か否かのフラグであり、右方向に操舵中の場合にはONであり、右方向に操舵していない場合にはOFFである。ドライバ左操舵フラグは、ドライバがステアリングホイール2を左方向に操舵中か否かのフラグであり、左方向に操舵中の場合にはONであり、左方向に操舵していない場合にはOFFである。ちなみに、ドライバ右操舵フラグとドライバ左操舵フラグが共にOFFの場合はドライバによる操舵力が入力されていない状態である。
カーブ出口付近フラグは、車両がカーブ路旋回中にカーブ出口に到達していないが、カーブ出口に接近した位置(以下、「カーブ出口付近」と記載)に到達したか否かのフラグであり、カーブ出口付近の場合にはONであり、カーブ出口付近でない場合にはOFFである。積分出力リセットフラグは、積分値IDをリセットするか否かのフラグであり、リセットする場合にはONであり、リセットしない場合にはOFFである。
一定時間毎に、ECU30では、小Rカーブ判定処理により道路曲率に基づいて小Rカーブ旋回中であるか否かを判定し、小Rカーブ旋回フラグを設定する。また、ECU30では、大Rカーブ判定処理により道路曲率に基づいてカーブ旋回中であるか否かを判定し、カーブ旋回フラグを設定する。また、ECU30では、車両進行方向判定処理によりヨー角θに基づいて車両が右方向に進行しているか否か及び車両が左方向に進行しているか否か判定し、車両右側進行フラグ及び車両左側進行フラグを設定する。また、ECU30では、ドライバ操舵方向判定処理によりドライバによって入力された操舵トルクに基づいてドライバが右回転方向に操舵しているか否か及び左回転方向に操舵しているか否かを判定し、ドライバ右操舵フラグ及びドライバ左操舵フラグを設定する。
そして、ECU30では、カーブ出口付近判定処理により道路曲率の変化に基づいて車両がカーブ出口付近に到達したか否かを判定し、カーブ出口付近フラグを設定する。カーブ路の場合には道路曲率が0かあるいは0近傍から増加し、最大道路曲率となった後に、最大道路曲率から減少し、0かあるいは0近傍になるという道路曲率の変化を利用し、道路曲率の変化を観測することによってカーブ出口付近を判定する。
さらに、ECU30では、積分出力リセット判定処理により小Rカーブ旋回フラグとその前回値に基づいて小Rカーブかつカーブ出口であるか否かを判定し、この判定条件を満たす場合には積分出力リセットフラグにONを設定する。小Rカーブでは、車両が高車速やカーブ半径が小さいほど、フィードフォワード出力の上限の影響により、フィードフォワード出力不足が発生する場合がある。この場合、車両の車線の外側にオフセットOF1が発生し、カーブ外側の積分値が増加し、この積分項に基づいてカーブの内側方向のトルクが付加される(図13参照)。そのため、車両が小Rカーブのカーブ出口から直線路や曲がる方向の異なるカーブに進入すると、その小Rカーブの内側方向に付加されるレーンキープのトルクの作用により、カーブ巻き込みが発生する可能性がある(図13の車両の走行軌跡ML1’参照)。また、小Rカーブでは、カーブ内側に低い路面カントの傾斜が大きいほど、路面カントによって車両に作用するカーブ内側方向の横加速度が大きくなる。この場合、車両の車線の内側にオフセットOF2が大きくなり、カーブ内側の積分値が増加し、この積分項に基づいてカーブの外側方向のトルクが付加される(図14参照)。そのため、車両が小Rカーブのカーブ出口から直線路や曲がる方向の異なるカーブに進入すると、その小Rカーブの外側方向に付加されるトルクの作用により、車線逸脱が発生する可能性がある(図14の車両の走行軌跡ML2’参照)。そこで、レーンキープ装置1では、小Rカーブのカーブ出口において積分項を必ずリセットし、不要な積分項に基づくフィードバック出力を無くす。
さらに、ECU30では、積分出力リセット判定処理により小Rカーブ旋回フラグとカーブ出口付近フラグに基づいて小Rカーブのカーブ出口付近か否かを判定し、小Rカーブのカーブ出口付近の場合にはカーブ半径R、積分値ID、ドライバ右操舵フラグ、ドライバ左操舵フラグに基づいて積分値に基づく付加トルクが作用する方向がカーブの方向と一致しかつドライバの操舵方向がカーブの方向と一致していないか否かを判定し、この判定条件を満たす場合には積分出力リセットフラグにONを設定する。小Rカーブの中でも特に積分値に基づく付加トルクを作用する方向とカーブの方向とが一致する場合(つまり、積分項に基づいてカーブの内側方向にトルクが付加される場合)、小さいカーブ半径や高車速ほど、カーブ巻き込みが発生する可能性が高くなる。さらに、ドライバが小Rカーブの方向に操舵していない場合、ドライバは小Rカーブから次に進入する直進路かあるいはカーブに備えている。特に、カーブ半径が小さいほど、ドライバはカーブ出口の手前でステアリングホイール2を切り戻す。逆に、ドライバが小Rカーブの方向に操舵している場合、積分項に基づく付加トルクを無くすのは操舵フィーリング上好ましくない。そこで、レーンキープ装置1では、小Rカーブの場合でも、カーブ出口付近において上記条件を満たす場合には積分項をリセットするタイミングをカーブ出口より早め、不要な積分項によるフィードバック出力を早めに無くす。
さらに、ECU30では、積分出力リセット判定処理によりカーブ旋回フラグとその前回値に基づいて大Rカーブのカーブ出口か否かを判定し、大Rカーブのカーブ出口の場合には積分値ID、車両右側進行フラグ、車両左側進行フラグに基づいて積分値に基づく付加トルクが作用する方向が車両の進行方向と一致するか否かを判定し、この判定条件を満たす場合には積分出力リセットフラグにONを設定する。大Rカーブの場合、大きなカーブ半径ほど、フィードフォワード出力不足が発生しない。また、大Rカーブでは、カーブ内側に低い路面カントの傾斜が小さいので、路面カントによって車両に作用するカーブ内側方向の横加速度が小さく、車線逸脱が発生しない。そこで、レーンキープ装置1では、基本的には、大Rカーブのカーブ出口において積分項をリセットせず、積分項に基づくフィードバック出力を作用させる。しかし、車両の進行方向と積分項に基づく付加トルクの方向とが同方向のときには、その積分項に基づく付加トルクによって車両の進行方向側に車両が更に操舵制御され、車両の進行方向側のオフセットが大きくなる。そこで、レーンキープ装置1では、大Rカーブの場合でも、上記条件を満たす場合には積分項をリセットし、不要な積分項によるフィードバック出力を無くす。
積分出力リセットフラグを設定すると、ECU30の積分器32では、積分出力リセット処理により積分出力リセットフラグに基づいて積分値IDをリセットあるいはオフセットDの時間積分を継続する。
図1〜図3を参照して、レーンキープ装置1における動作について説明する。特に、ECU30における小Rカーブ判定処理について図4のフローチャートに沿って説明し、大Rカーブ判定処理については図5のフローチャートに沿って説明し、車両進行方向判定処理については図6及び図7のフローチャートに沿って説明し、ドライバ操舵方向判定処理については図8及び図9のフローチャートに沿って説明し、カーブ出口付近判定処理については図10のフローチャートに沿って説明し、積分出力リセット判定処理については図11のフローチャートに沿って説明し、積分出力リセット処理については図12のフローチャートに沿って説明する。図4は、図1のレーンキープ装置のECUにおける小Rカーブ判定処理の流れを示すフローチャートである。図5は、図1のレーンキープ装置のECUにおける大Rカーブ判定処理の流れを示すフローチャートである。図6は、図1のレーンキープ装置のECUにおける車両進行方向判定処理の右側進行判定部分の流れを示すフローチャートである。図7は、図1のレーンキープ装置のECUにおける車両進行方向判定処理の左側進行判定部分の流れを示すフローチャートである。図8は、図1のレーンキープ装置のECUにおけるドライバ操舵方向判定処理の右操舵判定部分の流れを示すフローチャートである。図9は、図1のレーンキープ装置のECUにおけるドライバ操舵方向判定処理の左操舵判定部分の流れを示すフローチャートである。図10は、図1のレーンキープ装置のECUにおけるカーブ出口付近判定処理の流れを示すフローチャートである。図11は、図1のレーンキープ装置のECUにおける積分出力リセット判定処理の流れを示すフローチャートである。図12は、図1のレーンキープ装置のECUにおける積分出力リセット処理の流れを示すフローチャートである。
操舵トルクセンサ10では、ステアリングホイール2から入力される操舵トルクを検出し、その操舵トルクを示す操舵トルク信号をECU30に送信する。車速センサ11では、車速を検出し、その車速を示す車速信号をECU30に送信する。
CCDカメラ20では、車両の前方を撮像し、その撮像画像のデータを撮像信号として画像処理部21に送信する。画像処理部21では、撮像画像から車線を区画する一対の白線を認識する。そして、画像処理部21では、一対の白線から車線幅、車線の中心線、車線中心のカーブ半径Rと道路曲率γ、ヨー角θ及び車両のオフセットDを演算する。さらに、画像処理部21では、これら一対の白線の情報や演算した各情報を画像信号としてECU30に送信する。
ECU30では、一定時間毎に、操舵トルク信号、車速信号及び画像信号を受信する。そして、ECU30では、操舵トルク、車速及び画像信号からカーブ半径R、道路曲率γ、ヨー角θ、オフセットDを取得し、これらの各入力データをそれぞれフィルタ処理する。
ECU30では、一定時間毎に、小Rカーブ旋回フラグ(前回値)を前回設定された小Rカーブ旋回フラグの値で更新する(図4のS10)。そして、ECU30では、小Rカーブ旋回フラグ(前回値)=OFFかつ道路曲率γの絶対値がC1より大きいか否かを判定する(図4のS11)。C1は、道路曲率によって走行路が小Rカーブであるかを判定するための閾値である。S11の判定条件を満たす場合、ECU30では、小Rカーブ判定成立タイマをインクリメントする(図4のS12)。一方、S11の判定条件を満たさない場合、ECU30では、小Rカーブ判定成立タイマをリセットする(図4のS13)。小Rカーブ判定成立タイマは、前回の小Rカーブ判定フラグがOFFの場合に道路曲率γの絶対値がC1より大きい状態がある程度継続したときに小Rカーブ旋回中と判定するためのタイマである。道路曲率γは、撮像画像から認識された車線から求められるので、カメラノイズの影響を受けている場合がある。そこで、道路曲率γの絶対値がC1より大きいと所定回数継続して判定された場合だけ、車両が小Rカーブ旋回中と判定する。
ECU30では、小Rカーブ旋回フラグ(前回値)=ONかつ道路曲率γの絶対値がC2より小さいか否かを判定する(図4のS14)。C2は、道路曲率によって走行路が小Rカーブでないかを判定するための閾値であり、C1より小さい値である。S14の判定条件を満たす場合、ECU30では、小Rカーブ判定解除タイマをインクリメントする(図4のS15)。一方、S14の判定条件を満たさない場合、ECU30では、小Rカーブ判定解除タイマをリセットする(図4のS16)。小Rカーブ判定解除タイマは、前回の小Rカーブ判定フラグがONの場合に道路曲率γの絶対値がC2より小さい状態がある程度継続したときに小Rカーブ旋回中でないと判定するためのタイマである。上記したように道路曲率γはカメラノイズの影響を受けている場合があるので、道路曲率γの絶対値がC2より小さいと所定回数継続して判定された場合だけ、車両が小Rカーブ旋回中でないと判定する。
ECU30では、小Rカーブ旋回フラグ(前回値)=OFFか否かを判定する(図4のS17)。S17にて小Rカーブ旋回フラグ(前回値)=OFFと判定した場合、ECU30では、小Rカーブ判定成立タイマがT0より大きいか否かを判定する(図4のS18)。S18にて小Rカーブ判定成立タイマがT0より大きいと判定した場合、前回の小Rカーブ判定フラグがOFFの場合に道路曲率γの絶対値がC1より大きい状態が所定時間継続したので、ECU30では、小Rカーブ旋回フラグにON(小Rカーブ旋回中)を設定する(図4のS20)。一方、S18にて小Rカーブ判定成立タイマがT0以下と判定した場合、前回の小Rカーブ判定フラグがOFFの場合に道路曲率γの絶対値がC1より大きい状態が所定時間継続していないので、ECU30では、小Rカーブ旋回フラグにOFF(小Rカーブ旋回中でない)を設定する(図4のS21)。T0は、道路曲率γがC1(C3)より大きい状態が所定時間継続していることを判定するための閾値である。
一方、S17にて小Rカーブ旋回フラグ(前回値)=ONと判定した場合、ECU30では、小Rカーブ判定解除タイマがT1より大きいか否かを判定する(図4のS19)。S19にて小Rカーブ判定解除タイマがT1より大きいと判定した場合、前回の小Rカーブ判定フラグがONの場合に道路曲率γの絶対値がC2より小さい状態が所定時間継続したので、ECU30では、小Rカーブ旋回フラグにOFF(小Rカーブ旋回中でない)を設定する(図4のS21)。一方、S19にて小Rカーブ判定解除タイマがT1以下と判定した場合、前回の小Rカーブ判定フラグがONの場合に道路曲率γの絶対値がC2より小さい状態が所定時間継続していないので、ECU30では、小Rカーブ旋回フラグにON(小Rカーブ旋回中)を設定する(図4のS20)。T1は、道路曲率γがC2(C4)より小さい状態が所定時間継続していることを判定するための閾値である。
次に、ECU30では、一定時間毎に、カーブ旋回フラグ(前回値)を前回設定されたカーブ旋回フラグの値で更新する(図5のS30)。そして、ECU30では、カーブ旋回フラグ(前回値)=OFFかつ道路曲率γの絶対値がC3より大きいか否かを判定する(図5のS31)。C3は、道路曲率によって走行路が大Rカーブであるかを判定するための閾値であり、C1より小さい値である。S31の判定条件を満たす場合、ECU30では、カーブ判定成立タイマをインクリメントする(図5のS32)。一方、S31の判定条件を満たさない場合、ECU30では、カーブ判定成立タイマをリセットする(図5のS33)。カーブ判定成立タイマは、前回のカーブ判定フラグがOFFの場合に道路曲率γの絶対値がC3より大きい状態がある程度継続したときにカーブ旋回中と判定するためのタイマである。上記したように道路曲率γはカメラノイズの影響を受けている場合があるので、道路曲率γの絶対値がC3より大きいと所定回数継続して判定された場合だけ、車両が大Rカーブ旋回中と判定する。
ECU30では、カーブ旋回フラグ(前回値)=ONかつ道路曲率γの絶対値がC4より小さいか否かを判定する(図5のS34)。C4は、道路曲率によって走行路が大Rカーブでないかを判定するための閾値であり(つまり、走行路が直線路であるかを判定するための閾値であり)、C2及びC3より小さい値である。S34の判定条件を満たす場合、ECU30では、カーブ判定解除タイマをインクリメントする(図5のS35)。一方、S34の判定条件を満たさない場合、ECU30では、カーブ判定解除タイマをリセットする(図5のS36)。カーブ判定解除タイマは、前回のカーブ判定フラグがONの場合に道路曲率γの絶対値がC4より小さい状態がある程度継続したときにカーブ旋回中でないと判定するためのタイマである。上記したように道路曲率γはカメラノイズの影響を受けている場合があるので、道路曲率γの絶対値がC4より小さいと所定回数継続して判定された場合だけ、車両が大Rカーブ旋回中でない(直進路走行中)と判定する。
ECU30では、カーブ旋回フラグ(前回値)=OFFか否かを判定する(図5のS37)。S37にてカーブ旋回フラグ(前回値)=OFFと判定した場合、ECU30では、カーブ判定成立タイマがT0より大きいか否かを判定する(図5のS38)。S38にてカーブ判定成立タイマがT0より大きいと判定した場合、前回のカーブ判定フラグがOFFの場合に道路曲率γの絶対値がC3より大きい状態が所定時間継続したので、ECU30では、カーブ旋回フラグにON(大Rカーブ旋回中)を設定する(図5のS40)。一方、S38にてカーブ判定成立タイマがT0以下と判定した場合、前回のカーブ判定フラグがOFFの場合に道路曲率γの絶対値がC3より大きい状態が所定時間継続していないので、ECU30では、カーブ旋回フラグにOFF(大Rカーブ旋回中でない)を設定する(図5のS41)。
一方、S37にてカーブ旋回フラグ(前回値)=ONと判定した場合、ECU30では、カーブ判定解除タイマがT1より大きいか否かを判定する(図5のS39)。S39にてカーブ判定解除タイマがT1より大きいと判定した場合、前回のカーブ判定フラグがONの場合に道路曲率γの絶対値がC4より小さい状態が所定時間継続したので、ECU30では、カーブ旋回フラグにOFF(大Rカーブ旋回中でない)を設定する(図5のS41)。一方、S39にてカーブ判定解除タイマがT1以下と判定した場合、前回のカーブ判定フラグがONの場合に道路曲率γの絶対値がC4より小さい状態が所定時間継続していないので、ECU30では、カーブ旋回フラグにON(大Rカーブ旋回中)を設定する(図5のS40)。
次に、ECU30では、一定時間毎に、車両右側進行フラグ(前回値)=OFFか否か判定する(図6のS50)。S50にて車両右側進行フラグ(前回値)=OFFと判定した場合、ECU30では、車両のヨー角θが−Ang1より小さいか否かを判定する(図6のS51)。Ang1(プラス値)は、ヨー角によって車両の進行方向が車線の右側かあるいは左側かを判定するための閾値である。ヨー角θは、プラス値が左側であり、マイナス値が右側である。したがって、ヨー角がAng1より大きい場合には車両進行方向を左側と判定できるほどの左側のヨー角が発生し、−Ang1より小さい場合には車両進行方向を右側と判定できるほどの右側のヨー角が発生していることを示す。
S51にてヨー角θが−Ang1より小さいと判定した場合、ECU30では、右側進行判定成立タイマをインクリメントする(図6のS52)。一方、S51にてヨー角θが−Ang1以上と判定した場合、ECU30では、右側進行判定成立タイマをリセットする(図6のS53)。右側進行判定成立タイマは、前回の車両右側進行フラグがOFFの場合にヨー角θが−Ang1より小さい状態がある程度継続したときに車両が車線の右側を進行中と判定するためのタイマである。ヨー角θは、撮像画像から認識された車線から求められるので、カメラノイズの影響を受けている場合がある。そこで、ヨー角θが−Ang1より小さいと所定回数継続して判定された場合だけ、車両が車線の右側を進行中と判定する。
そして、ECU30では、右側進行判定成立タイマがT2より大きいか否かを判定する(図6のS54)。S54にて右側進行判定成立タイマがT2より大きいと判定した場合、前回の車両右側進行判定フラグがOFFの場合にヨー角θが−Ang1より小さい状態が所定時間継続したので、ECU30では、車両右側進行フラグにON(車両が車両の右側進行中)を設定する(図6のS56)。一方、S54にて右側進行判定成立タイマがT2以下と判定した場合、前回の車両右側進行判定フラグがOFFの場合にヨー角θが−Ang1より小さい状態が所定時間継続していないので、ECU30では、車両右側進行フラグにOFF(車両が車線の右側を進行していない)を設定する(図6のS57)。T2は、ヨー角θが−Ang1より小さい状態(ヨー角θがAng1より大きい状態)が所定時間継続していることを判定するための閾値である。
一方、S50にて車両右側進行フラグ(前回値)=ONと判定した場合、ECU30では、車両のヨー角θが−Ang2より大きいか否かを判定する(図6のS55)。Ang2(プラス値)は、ヨー角によって車両の進行方向が車線の右側でないあるいは左側でないことを判定するための閾値であり、Ang1より小さい値である。ヨー角θは、プラス値が左側であり、マイナス値が右側である。したがって、ヨー角がAng2より小さい場合には車両進行方向を左側と判定できるほどの左側のヨー角が発生していない、−Ang2より大きい場合には車両進行方向を右側と判定できるほどの右側のヨー角が発生していないことを示す。S55にて車両のヨー角θが−Ang2より大きいと判定した場合、前回の車両右側進行判定フラグがONの場合にヨー角θが−Ang2より大きくなったので、ECU30では、車両右側進行フラグにOFF(車両が車両の右側を進行していない)を設定する(図6のS57)。一方、S55にて車両のヨー角θが−Ang2以下と判定した場合、前回の車両右側進行判定フラグがONの場合に未だヨー角θが−Ang2以下なので、ECU30では、車両右側進行フラグにON(車両が車線の右側進行中)を設定する(図6のS56)。
そして、ECU30では、車両右側進行フラグ(前回値)を今回設定した車両右側進行フラグの値で更新する(図6のS58)。
続いて、ECU30では、車両左側進行フラグ(前回値)=OFFか否か判定する(図7のS59)。S59にて車両左側進行フラグ(前回値)=OFFと判定した場合、ECU30では、車両のヨー角θがAng1より大きいか否かを判定する(図7のS60)。
S60にてヨー角θがAng1より大きいと判定した場合、ECU30では、左側進行判定成立タイマをインクリメントする(図7のS61)。一方、S60にてヨー角θがAng1以下と判定した場合、ECU30では、左側進行判定成立タイマをリセットする(図7のS62)。左側進行判定成立タイマは、前回の車両左側進行フラグがOFFの場合にヨー角θがAng1より大きい状態がある程度継続したときに車両が車線の左側を進行中と判定するためのタイマである。上記したようにヨー角θはカメラノイズの影響を受ける場合があるので、ヨー角θがAng1より大きいと所定回数継続して判定された場合だけ、車両が車線の左側を進行中と判定する。
そして、ECU30では、左側進行判定成立タイマがT2より大きいか否かを判定する(図7のS63)。S63にて左側進行判定成立タイマがT2より大きいと判定した場合、前回の車両左側進行判定フラグがOFFの場合にヨー角θがAng1より大きい状態が所定時間継続したので、ECU30では、車両左側進行フラグにON(車両が車両の左側進行中)を設定する(図7のS65)。一方、S63にて左側進行判定成立タイマがT2以下と判定した場合、前回の車両左側進行判定フラグがOFFの場合にヨー角θがAng1より大きい状態が所定時間継続していないので、ECU30では、車両左側進行フラグにOFF(車両が車線の左側を進行していない)を設定する(図7のS66)。
一方、S59にて車両左側進行フラグ(前回値)=ONと判定した場合、ECU30では、車両のヨー角θがAng2より小さいか否かを判定する(図7のS64)。S64にて車両のヨー角θがAng2より小さいと判定した場合、前回の車両左側進行判定フラグがONの場合にヨー角θがAng2より小さくなったので、ECU30では、車両左側進行フラグにOFF(車両が車両の左側を進行していない)を設定する(図7のS66)。一方、S64にて車両のヨー角θがAng2以上と判定した場合、前回の車両左側進行判定フラグがONの場合に未だヨー角θがAng2以上なので、ECU30では、車両左側進行フラグにON(車両が車線の左側進行中)を設定する(図7のS65)。
そして、ECU30では、車両左側進行フラグ(前回値)を今回設定した車両左側進行フラグの値で更新する(図7のS67)。
次に、ECU30では、一定時間毎に、ドライバ右操舵フラグ(前回値)=OFFか否か判定する(図8のS70)。S70にてドライバ右操舵フラグ(前回値)=OFFと判定した場合、ECU30では、ドライバの操舵トルクがMT1より大きいか否かを判定する(図8のS71)。MT1(プラス値)は、ドライバによる操舵トルクによってドライバによる操舵方向が右方向かあるいは左方向かを判定するための閾値である。操舵トルクは、プラス値が右方向であり、マイナス値が左方向である。したがって、操舵トルクがMT1より大きい場合にはドライバの操舵方向を右方向と判定できるほどの右方向の操舵トルクが発生し、−MT1より小さい場合にはドライバの操舵方向を左方向と判定できるほどの左方向の操舵トルクが発生していることを示す。
S71にて操舵トルクがMT1より大きいと判定した場合、ECU30では、ドライバ右操舵判定成立タイマをインクリメントする(図8のS72)。一方、S71にて操舵トルクがMT1以下と判定した場合、ECU30では、ドライバ右操舵判定成立タイマをリセットする(図8のS73)。ドライバ右操舵判定成立タイマは、前回のドライバ右操舵フラグがOFFの場合に操舵トルクがMT1より大きい状態がある程度継続したときにドライバが右方向に操舵していると判定するためのタイマである。操舵トルクセンサ10によって検出された操舵トルクにはノイズが含まれている場合があるので、操舵トルクがMT1より大きいと所定回数継続して判定された場合だけ、ドライバが右方向に操舵中と判定する。
そして、ECU30では、ドライバ右操舵判定成立タイマがT3より大きいか否かを判定する(図8のS74)。S74にてドライバ右操舵判定成立タイマがT3より大きいと判定した場合、前回のドライバ右操舵フラグがOFFの場合に操舵トルクがMT1より大きい状態が所定時間継続したので、ECU30では、ドライバ右操舵フラグにON(ドライバが右方向に操舵中)を設定する(図8のS76)。一方、S74にてドライバ右操舵判定成立タイマがT3以下と判定した場合、前回のドライバ右操舵フラグがOFFの場合に操舵トルクがMT1より大きい状態が所定時間継続していないので、ECU30では、ドライバ右操舵フラグにOFF(ドライバが右方向に操舵していない)を設定する(図8のS77)。T3は、操舵トルクがMT1より大きい状態(操舵トルクが−MT1より小さい状態)が所定時間継続していることを判定するための閾値である。
一方、S70にてドライバ右操舵フラグ(前回値)=ONと判定した場合、ECU30では、ドライバによる操舵トルクがMT2より小さいか否かを判定する(図8のS75)。MT2(プラス値)は、ドライバによる操舵トルクによってドライバによる操舵方向が右方向でないあるいは左方向でないことを判定するための閾値であり、MT1より小さい値である。操舵トルクは、プラス値が右方向であり、マイナス値が左方向である。したがって、操舵トルクがMT2より小さい場合にはドライバの操舵方向が右方向と判定できるほどの右方向の操舵トルクが発生していない、−MT2より大きい場合にはドライバの操舵方向を左方向と判定できるほどの左方向の操舵トルクが発生していないことを示す。S75にてドライバの操舵トルクがMT2より小さいと判定した場合、前回のドライバ右操舵フラグがONの場合に操舵トルクがMT2より小さくなったので、ECU30では、ドライバ右操舵フラグにOFF(ドライバが右方向に操舵していない)を設定する(図8のS77)。一方、S75にてドライバの操舵トルクがMT2以上と判定した場合、前回のドライバ右操舵フラグがONの場合に未だ操舵トルクがMT2以上なので、ECU30では、ドライバ右操舵フラグにON(ドライバが右方向に操舵中)を設定する(図8のS76)。
そして、ECU30では、ドライバ右操舵フラグ(前回値)を今回設定したドライバ右操舵フラグの値で更新する(図8のS78)。
続いて、ECU30では、ドライバ左操舵フラグ(前回値)=OFFか否か判定する(図9のS79)。S79にてドライバ左操舵フラグ(前回値)=OFFと判定した場合、ECU30では、ドライバの操舵トルクが−MT1より小さいか否かを判定する(図9のS80)。
S80にて操舵トルクが−MT1より小さいと判定した場合、ECU30では、ドライバ左操舵判定成立タイマをインクリメントする(図9のS81)。一方、S80にて操舵トルクが−MT1以上と判定した場合、ECU30では、ドライバ左操舵判定成立タイマをリセットする(図9のS82)。ドライバ左操舵判定成立タイマは、前回のドライバ左操舵フラグがOFFの場合に操舵トルクが−MT1より小さい状態がある程度継続したときにドライバが左方向に操舵していると判定するためのタイマである。上記したように操舵トルクにはノイズが含まれている場合があるので、操舵トルクが−MT1より小さいと所定回数継続して判定された場合だけ、ドライバが左方向に操舵中と判定する。
そして、ECU30では、ドライバ左操舵判定成立タイマがT3より大きいか否かを判定する(図9のS83)。S83にてドライバ左操舵判定成立タイマがT3より大きいと判定した場合、前回のドライバ左操舵フラグがOFFの場合に操舵トルクが−MT1より小さい状態が所定時間継続したので、ECU30では、ドライバ左操舵フラグにON(ドライバが左方向に操舵中)を設定する(図9のS85)。一方、S83にてドライバ左操舵判定成立タイマがT3以下と判定した場合、前回のドライバ左操舵フラグがOFFの場合に操舵トルクが−MT1より小さい状態が所定時間継続していないので、ECU30では、ドライバ左操舵フラグにOFF(ドライバが左方向に操舵していない)を設定する(図9のS86)。
一方、S79にてドライバ左操舵フラグ(前回値)=ONと判定した場合、ECU30では、ドライバによる操舵トルクが−MT2より大きいか否かを判定する(図9のS84)。S84にてドライバの操舵トルクが−MT2より大きいと判定した場合、前回のドライバ左操舵フラグがONの場合に操舵トルクが−MT2より大きくなったので、ECU30では、ドライバ左操舵フラグにOFF(ドライバが左方向に操舵していない)を設定する(図9のS86)。一方、S84にてドライバの操舵トルクが−MT2以下と判定した場合、前回のドライバ左操舵フラグがONの場合に未だ操舵トルクが−MT2以下なので、ECU30では、ドライバ左操舵フラグにON(ドライバが左方向に操舵中)を設定する(図9のS85)。
そして、ECU30では、ドライバ左操舵フラグ(前回値)を今回設定したドライバ左操舵フラグの値で更新する(図9のS87)。
次に、ECU30では、一定時間毎に、カーブ旋回フラグ=ONか否かを判定する(図10のS90)。S90にてカーブ旋回フラグがONと判定した場合(つまり、車両がカーブ旋回中の場合)、ECU30では、道路曲率γの絶対値がカーブ中最大曲率より大きいか否かを判定する(図10のS91)。カーブ中最大曲率は、車両がカーブ旋回中における走行路の最大の道路曲率を示し、カーブ旋回中に道路曲率γの絶対値が前回までに設定されているカーブ中最大曲率より大きくなる毎に更新される。S91にて道路曲率γの絶対値がカーブ中最大曲率より大きいと判定した場合、ECU30では、カーブ中最大曲率を道路曲率γの絶対値で更新する(図10のS92)。一方、S91にて道路曲率γの絶対値がカーブ中最大曲率以下と判定した場合、ECU30では、前回のカーブ中最大曲率を保持する。
ECU30では、カーブ出口付近フラグ(前回値)=OFFか否かを判定する(図10のS93)。S93にてカーブ出口付近フラグ=OFFと判定した場合、ECU30では、カーブ出口付近判定解除タイマをリセットする(図10のS94)。そして、ECU30では、道路曲率γの絶対値が(Kr×カーブ中最大曲率)より小さいか否かを判定する(図10のS95)。Krは、カーブ旋回中に車両がカーブ出口付近に到達したか否かを判定するための係数であり、1より小さい値である。Krは、カーブ旋回フラグ(小Rカーブ旋回フラグ)がOFFになる前にカーブ出口付近フラグがONするように設定される。したがって、(Kr×カーブ中最大曲率)はカーブ中最大曲率より小さい値であり、道路曲率γの絶対値がカーブ中最大曲率から(Kr×カーブ中最大曲率)まで小さくなったときには車両がカーブ出口付近に到達したことを示す。
S95にて道路曲率γの絶対値が(Kr×カーブ中最大曲率)より小さいと判定した場合、ECU30では、カーブ出口付近判定成立タイマをインクリメントする(図10のS96)。一方、S95にて道路曲率の絶対値が(Kr×カーブ中最大曲率)以上と判定した場合、ECU30では、カーブ出口付近判定成立タイマをリセットする(図10のS97)。カーブ出口付近判定成立タイマは、前回のカーブ出口付近フラグがOFFの場合に道路曲率γの絶対値が(Kr×カーブ中最大曲率)より小さい状態がある程度継続したときに車両がカーブ出口付近に到達と判定するためのタイマである。上記したように道路曲率γはカメラノイズの影響を受けている場合があるので、道路曲率γの絶対値が(Kr×カーブ中最大曲率)より小さいと所定回数継続して判定された場合だけ、車両がカーブ出口付近と判定する。
そして、ECU30では、カーブ出口付近判定成立タイマがT4より大きいか否かを判定する(図10のS98)。S98にてカーブ出口付近判定成立タイマがT4より大きいと判定した場合、前回のカーブ出口付近フラグがOFFの場合に道路曲率γの絶対値が(Kr×カーブ中最大曲率)より小さい状態が所定時間継続したので、ECU30では、カーブ出口付近フラグにON(車両がカーブ出口付近)を設定する(図10のS104)。一方、S98にてカーブ出口付近判定成立タイマがT4以下と判定した場合、前回のカーブ出口付近フラグがOFFの場合に道路曲率γの絶対値が(Kr×カーブ中最大曲率)より小さい状態が所定時間継続していないので、ECU30では、カーブ出口付近フラグにOFF(車両がカーブ出口付近でない)を設定する(図10のS105)。T4は、道路曲率γの絶対値が(Kr×カーブ中最大曲率)より小さい状態が所定時間継続していることを判定するための閾値である。
一方、S93にてカーブ出口付近フラグ=ONと判定した場合、ECU30では、カーブ出口付近判定成立タイマをリセットする(図10のS99)。そして、ECU30では、道路曲率γの絶対値が(Kr×カーブ中最大曲率)より大きいか否かを判定する(図10のS100)。
S100にて道路曲率γの絶対値が(Kr×カーブ中最大曲率)より大きいと判定した場合、ECU30では、カーブ出口付近判定解除タイマをインクリメントする(図10のS101)。一方、S100にて道路曲率γの絶対値が(Kr×カーブ中最大曲率)以下と判定した場合、ECU30では、カーブ出口付近判定解除タイマをリセットする(図10のS102)。カーブ出口付近判定解除タイマは、前回のカーブ出口付近フラグがONの場合に道路曲率γの絶対値が(Kr×カーブ中最大曲率)より大きい状態がある程度継続したときに車両がカーブ出口付近に到達していないと判定するためのタイマである。上記したように道路曲率γはカメラノイズの影響を受けている場合があるので、道路曲率γの絶対値が(Kr×カーブ中最大曲率)より大きいと所定回数継続して判定された場合だけ、車両がカーブ出口付近でないと判定する。
そして、ECU30では、カーブ出口付近判定解除タイマがT5より大きいか否かを判定する(図10のS103)。S103にてカーブ出口付近判定解除タイマがT5より大きいと判定した場合、前回のカーブ出口付近フラグがONの場合に道路曲率γの絶対値が(Kr×カーブ中最大曲率)より大きい状態が所定時間継続したので、ECU30では、カーブ出口付近フラグにOFF(車両がカーブ出口付近でない)を設定する(図10のS105)。一方、S103にてカーブ出口付近判定解除タイマがT5以下と判定した場合、前回のカーブ出口付近フラグがONの場合に道路曲率γの絶対値が(Kr×カーブ中最大曲率)より大きい状態が所定時間継続していないので、ECU30では、カーブ出口付近フラグにON(車両がカーブ出口付近)を設定する(図10のS104)。T5は、道路曲率γの絶対値が(Kr×カーブ中最大曲率)より大きい状態が所定時間継続していることを判定するための閾値である。
一方、S90にてカーブ旋回フラグがOFFと判定した場合(つまり、車両が直線路走行中の場合)、ECU30では、カーブ中最大曲率を0にリセットし(図10のS106)、カーブ出口付近判定解除タイマをリセットし(図10のS107)、カーブ出口付近判定成立タイマをリセットし(図10のS108)、カーブ出口付近フラグにOFFを設定する(図10のS109)。
そして、ECU30では、カーブ出口付近フラグ(前回値)を今回設定したカーブ出口付近フラグの値で更新する(図10のS110)。
次に、ECU30では、一定時間毎に、小Rカーブ旋回フラグ(前回値)=ONかつ小Rカーブ旋回フラグ=OFFか否か(つまり、前回の判定で小Rカーブであったが今回の判定で小Rカーブでなくなったので、車両が小Rカーブの出口に到達したか否か)を判定する(図11のS120)。S120の判定条件を満たす場合、車両が小Rカーブの出口に到達したので、ECU30では、積分出力リセットフラグにONを設定する(図11のS128)。
S120の判定条件を満たさない場合、ECU30では、小Rカーブ旋回フラグ=ONかつカーブ出口付近フラグ=ONか否か(つまり、車両が小Rカーブ旋回中にカーブ出口付近に到達したか否か)を判定する(図11のS121)。S120の判定条件を満たす場合、ECU30では、カーブ半径Rに基づいて左カーブ旋回中かつドライバ左操舵フラグがOFFかつ積分値IDが0より小さいか否か(つまり、車両が左カーブ旋回中にドライバが左方向に操舵しておらずかつ積分値IDに基づくレーンキープによる付加トルク方向が左方向か否か)を判定する(図11のS122)。S122の判定条件を満たす場合、左方向の小Rカーブ旋回中にカーブ出口付近に到達し、積分値IDに基づくレーンキープの付加トルク方向が左方向かつドライバが左操舵していないので、ECU30では、積分出力リセットフラグにONを設定する(図11のS128)。一方、S122の判定条件を満たさない場合、ECU30では、カーブ半径Rに基づいて右カーブ旋回中かつドライバ右操舵フラグがOFFかつ積分値IDが0より大きいか否か(つまり、車両が右カーブ旋回中にドライバが右方向に操舵しておらずかつ積分値IDに基づくレーンキープによる付加トルク方向が右方向か否か)を判定する(図11のS123)。S123の判定条件を満たす場合、右方向の小Rカーブ旋回中にカーブ出口付近に到達し、積分値IDに基づくレーンキープの付加トルク方向が右方向かつドライバが右操舵していないので、ECU30では、積分出力リセットフラグにONを設定する(図11のS128)。
一方、S123の判定条件を満たさない場合、ECU30では、カーブ旋回フラグ(前回値)=ONかつカーブ旋回フラグ=OFFか否か(つまり、前回の判定で大Rカーブであったが今回の判定で大Rカーブでなくなったので、車両が大Rカーブの出口に到達したか否か)を判定する(図11のS124)。S124の判定条件を満たす場合、ECU30では、車両左側進行フラグ=ONかつ積分値IDが0より小さいか否か(つまり、車両の進行方向と積分値IDに基づくレーンキープによる付加トルク方向が共に左方向か否か)を判定する(図11のS125)。S125の判定条件を満たす場合、大Rカーブ旋回中にカーブ出口に到達し、車両の進行方向と積分値IDに基づくレーンキープによる付加トルク方向とが左方向で一致するので、ECU30では、積分出力リセットフラグにONを設定する(図11のS128)。一方、S125の判定条件を満たさない場合、ECU30では、車両右側進行フラグ=ONかつ積分値IDが0より大きいか否か(つまり、車両の進行方向と積分値IDに基づくレーンキープによる付加トルク方向が共に右方向か否か)を判定する(図11のS126)。S126の判定条件を満たす場合、大Rカーブ旋回中にカーブ出口に到達し、車両の進行方向と積分値IDに基づくレーンキープによる付加トルク方向とが右方向で一致するので、ECU30では、積分出力リセットフラグにONを設定する(図11のS128)。
S124の判定条件を満たさない場合、カーブ旋回中の場合にカーブ出口あるいはカーブ出口付近に到達していない、または、カーブ旋回中でないので、ECU30では、積分出力リセットフラグにOFFを設定する(図11のS127)。また、S126の判定条件を満たさない場合、車両が大Rカーブの出口に到達したが、車両の進行方向と積分値IDに基づくレーンキープによる付加トルク方向とが一致しないので、ECU30では、積分出力リセットフラグにOFFを設定する(図11のS127)。
そして、ECU30のF/Fコントローラ31では、一定時間毎に、道路曲率γと車速Vの乗算値にゲインKγを乗算してヨーレートωγを演算する。
また、ECU30では、ヨー角θと目標ヨー角θ0との偏差Δθ=(θ0−θ)を演算し、その偏差ΔθにゲインKθを乗算してヨーレートωθを演算する。
また、ECU30では、オフセットDと目標オフセットD0との偏差ΔD=(D0−D)を演算する。そして、ECU30の積分器32では、積分出力リセットフラグがONか否かを判定する(図12のS130)。S130にて積分出力リセットフラグがONと判定した場合、積分器32では、積分値IDを0にリセットする(図12のS131)。ここで、小Rカーブの場合、カーブ出口で積分値IDが必ず0にリセットされ、特に、積分値IDに基づくレーンキープの付加トルクの方向がカーブ内側方向かつドライバがカーブ内側方向に操舵していないときにはカーブ出口に近づくと積分値IDが0に早めにリセットされる。大Rカーブの場合、カーブ出口でも基本的には積分値IDはリセットされないが、カーブ出口において車両の進行方向と積分値IDに基づくレーンキープの付加トルクの方向とが一致するときだけ積分値IDが0にリセットされる。これらのリセットによって、カーブ出口あるいはカーブ出口付近において、不要な積分値がなくなり、積分値に基づくレーンキープのトルクが操舵機構に付加されない。
一方、S130にて積分出力リセットフラグがOFFと判定した場合、積分器32では、偏差ΔDを時間積分し、オフセットの積分値IDを演算する(図12のS132)。
さらに、ECU30では、積分値IDにゲインKIDを乗算するとともに偏差ΔDにゲインKDを乗算し、その2つの乗算値を加算してヨーレートωDを演算する。
ECU30では、求めた3つのヨーレートωγ,ωD,ωθを合算し、目標ヨーレートωを演算する。そして、ECU30の目標横加速度演算器33では、目標ヨーレートωに車速Vを乗算し、目標横加速度Gを演算する。さらに、ECU30の出力トルク演算器34では、レーンキープの操舵方向と目標横加速度Gの符号によって切り増し時のマップTIかあるいは切り戻し時のマップTRかを選択し、選択したマップを参照して目標横加速度Gの値に応じた出力トルクTを抽出する。そして、ECU30では、出力トルクTを示す出力トルク信号をEPSECU41に送信する。
EPSECU41では、出力トルク信号を受信し、その出力トルク信号に示される出力トルクに所定の係数を乗算する。そして、EPSECU41では、その乗算値(付加トルク)をアシストトルクに加算し、そのアシストトルク+付加トルクに応じてモータ42を駆動制御する。モータ42では、ECPECU41による制御によって所定のトルクを発生し、そのトルクを操舵機構に付加する。すると、操舵機構には、ドライバによる操舵トルクに応じたアシストトルクが加わるとともに、車両を車両中心に沿って走行させるための補助的な付加トルクが加わる。
図13には、カーブ半径が小さいあるいは高車速などによってフィードフォワード出力不足となり、車両の車線の外側にオフセットOF1が発生し、カーブ外側の積分値が増加した場合を示している。この場合、レーンキープ装置1では、車両がカーブ出口またはカーブ出口付近に到達したときに積分値をリセットするので、レーンキープの付加トルクには積分項に基づくカーブ内側方向のトルクが加味されない。したがって、車両の走行軌跡ML1はカーブ出口CCを過ぎた後も車線の中心線に沿った軌跡となり、車両のカーブ巻き込みは発生しない。
図14には、カーブ内側に低い路面カントの傾斜が大きく、車両に路面カントによるカーブ内側方向の大きな横加速度が作用し、車両の車線の内側にオフセットOF2が発生し、カーブ内側の積分値が増加した場合を示している。この場合、レーンキープ装置1では、車両がカーブ出口に到達したときに積分値をリセットするので、レーンキープの付加トルクには積分項に基づくカーブ外側方向のトルクが加味されない。したがって、車両の走行軌跡ML2はカーブ出口を過ぎた後も車線の中心線に沿った軌跡となり、車両の車線逸脱は発生しない。
このレーンキープ装置1によれば、不要なオフセットの積分値をカーブ出口あるいはカーブ出口付近でリセットすることにより、レーンキープによる付加トルクに対して積分値に基づく不要なトルクが加味されない。そのため、レーンキープ装置1では、カーブ出口においてもレーンキープの適切な操舵トルクを付加することができ、車両を車線中心に沿って走行させる精度を向上させることができる。
特に、レーンキープ装置1では、積分値をリセットするか否かを小Rカーブのカーブ出口とカーブ出口付近及び大Rカーブのカーブ出口で3つに切り分けて判断するので、リセットの必要性やリセットのタイミングを高精度に判断することができる。
小Rカーブのカーブ出口で判断する場合、レーンキープ装置1では、必ず積分項をリセットするので、急な傾斜の路面カントでも車線逸脱が発生することなく、小さいカーブ半径や高車速でもカーブ巻き込みが発生することはない。
小Rカーブのカーブ出口付近で判断する場合、レーンキープ装置1では、積分値に基づく付加トルクが作用する方向とカーブの方向とが一致し、ドライバがカーブの方向に操舵していないときにのみ積分値のリセットのタイミングを早めるので、カーブ半径が小さくても、フィードフォワード出力不足によるカーブ巻き込みを招くことはない。この際、ドライバの操舵方向も考慮しているので、道路曲率γなどにCCDカメラ20(撮像画像)のノイズの影響がある場合でも、リセットのタイミングを高精度に判断することができる。
大Rカーブのカーブ出口で判断する場合、レーンキープ装置1では、積分値に基づく付加トルクが作用する方向と車両の進行方向とが一致するときだけ積分値をリセットするので、車両が積分値に基づく付加トルクで更に進行方向側に押されるときだけ確実にリセットすることができ、必要性の高いリセットだけを行うことができる。
以上、本発明に係る実施の形態について説明したが、本発明は上記実施の形態に限定されることなく様々な形態で実施される。
例えば、本実施の形態ではレーンキープ装置に適用したが、他の装置にも適用可能であり、例えば、自動操舵装置に適用できる。
また、本実施の形態では電動パワーステアリング装置を利用して操舵トルクを付加する構成としたが、レーンキープ装置にラックやピニオンをアシストするアクチュエータを備える構成としてもよい。したがって、パワーステアリング装置を備えない車両にも適用可能である。また、電動パワーステアリング装置ではなく、油圧式のパワーステアリング装置にも適用可能であり、油圧を調整するアクチュエータを制御することによって操舵トルクを付加する構成としてもよい。
また、本実施の形態では操舵機構にトルクを付加することによってレーンキープ制御を行う構成としたが、操舵角などの操舵状態を変化させることができる他のパラメータによってレーンキープ制御を行う構成としてもよい。
また、本実施の形態では一対の白線を認識することにより車線を検出する構成としたが、白線以外の黄線などの他の線も認識することにより車線を検出する構成としてもよいしあるいは路肩や車線と歩道とを区画するブロックなどを認識することにより車線を検出するなど他の方法により車線を検出する構成としてもよい。また、本実施の形態では車線がある道路に適用したが、車線がない道路に対しても適用可能である。この場合、その道路の路肩などを検出する必要がある。
また、本実施の形態ではカメラによる撮像画像に基づいて車線(走行路)を認識し、その認識した車線に基づいてカーブ半径(道路曲率)、車両のヨー角、車両のオフセットを演算する構成としたが、他の手法によって走行路やこれらのパラメータを求めてもよく、例えば、ナビゲーションシステムでの処理や地図情報に基づいて検出する場合、各種センサを用いて検出する場合、路車間通信などを利用して車外から情報を取得する場合がある。
また、本実施の形態では車両の進行方向を車両のヨー角に基づいて判定する構成としたが、ナビゲーションシステムで求めた車両進行方向を取得するなどの他の方法によって車両の進行方向を検出してもよい。
また、本実施の形態ではカーブ出口を道路曲率(カーブ半径)に基づいて判定する構成としたが、ナビゲーションシステムで求めた現在位置情報を取得するなどの他の方法によってカーブ出口を判定してもよい。
また、本実施の形態では大Rカーブの出口での積分リセット制御、小Rカーブの出口での積分リセット制御、小Rカーブの出口付近での積分リセット制御を行う構成としたが、この3つの積分リセット制御のうちの1つの制御又は2つの制御だけを行う構成としてもよい。
また、本実施の形態では小Rカーブでの出口付近をドライバの操舵方向も用いて判断する構成としたが、撮像画像に基づいて求めた道路曲率などの情報の精度が高い場合には(カメラノイズの影響が少ない場合)、ドライバの操舵方向を用いないで判断してもよい。
1…レーンキープ装置、2…ステアリングホイール、3…ステアリングシャフト、4…ステアリングギヤボックス、5…ラックバー、6…ナックルアーム、10…操舵トルクセンサ、11…車速センサ、20…CCDカメラ、21…画像処理部、30…ECU、31…F/Fコントローラ、32…積分器、33…目標横加速度演算器、34…出力トルク演算器、40…電動パワーステアリング装置、41…EPSECU、42…モータ