以下、図面を参照して、本発明に係る操舵装置の実施の形態を説明する。
本実施の形態では、本発明に係る操舵装置を、レーンキープ装置に適用する。本実施の形態に係るレーンキープ装置は、ドライバによる操舵を支援するために、カメラによる撮像画像から白線を認識し、走行路である左右の白線(車線)の中央側への補助的な操舵トルクを付加する。
図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[ElectricPower Steering]ECU41によってモータ42を駆動制御し、モータ42による駆動トルクによりドライバによる操舵をアシストする。EPSECU41では、ドライバの操舵による操舵トルクに基づいてアシストトルクを設定し、モータドライバによってそのアシストトルクを発生させるためにモータ42を駆動制御する。特に、EPSECU41では、ECU30からの出力トルク信号を受信すると、その出力トルク信号に示される出力トルクに所定の係数を乗算し、その乗算値(付加トルク)をアシストトルクに加算し、そのアシストトルク+付加トルクを発生させるためにモータ42を駆動制御する。モータ42による駆動トルクは操舵機構に付加され、操舵機構にはドライバによる操舵トルク以外にモータ42によるトルクが加わる。なお、操舵トルク、アシストトルク、出力トルク(付加トルク)は、プラス値/マイナス値で表され、その符号が方向を示す。各トルクは、プラス値が右方向へのトルク、マイナス値が左方向へのトルクを示す。
ラックバー5の一部外周面にはボールスクリュー溝が形成されており、モータ42のロータにはこのボールスクリュー溝に対応するボールスクリュー溝を内周面上に有するボールナットが固定されている。一対のボールスクリュー溝の間には複数のベアリングボールが収納されており、モータ42を駆動させるとロータが回転してラックバー5の軸方向の移動させることができる(すなわち、転舵をアシストすることができる)。この際、モータ42は、EPSECU41のモータドライバから供給された駆動電流に応じたトルクをラックバー5に付与する。
操舵トルクセンサ10は、ステアリングホイール2から入力された操舵トルクを検出するセンサである、操舵トルクセンサ10では、検出した操舵トルクを操舵トルク信号としてECU30に送信する。車速センサ11は、車両の速度を検出するセンサである。車速センサ11では、検出した車速を車速信号としてECU30に送信する。なお、本実施の形態では、操舵トルクセンサ10が特許請求の範囲に記載する操舵入力検出手段に相当する。
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 ProcessingUnit]、ROM[Read Only Memory]、RAM[Random Access Memory]などからなり、レーンキープ装置1を統括制御する。ECU30では、一定時間毎に、画像処理部21からの画像信号を取り入れるとともに、各センサ10,11から検出信号を取り入れる。そして、ECU30では、ドライバによる操作によってレーンキープ装置1が起動されている場合、車両が車線の中央付近を走行するように、画像信号に示される各種情報(道路曲率γ、ヨー角θ、オフセットD)及び車速Vに基づいて出力トルク(目標横加速度)を設定し、出力トルクを示す出力トルク信号を電動パワーステアリング装置40(EPSECU41)に送信する。
図2を参照して、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に基づいて発生する目標横加速度は、路面カントの影響やフィードフォワード不足などを補償するための目標横加速度である。
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では、カーブ走行中にフィードフォワード出力の不足によるレーンキープによる出力トルクの変動を抑えるために、フィードフォワード出力不足のときに切り増し時のマップTIから切り戻し時のマップTRへの切り替えを禁止する。そのために、ECU30では、一定時間毎に、出力トルク演算器34での処理の前にカーブ内側ヨー角大判定処理、ドライバ操舵方向判定処理、フィードフォワード出力不足判定処理、レーンキープ操舵方向判定処理を行う。ここでは、ECU30におけるカーブ走行中の出力トルクの変動を抑制するための処理の概要について説明し、上記した各処理の詳細についてはレーンキープ装置1の動作説明のときに説明する。なお、本実施の形態では、ECU30におけるレーンキープ操舵方向判定処理が特許請求の範囲に記載する操舵制御方向検出手段に相当する。
ECU30では、カーブ内側ヨー角大フラグ、ドライバ右操舵フラグ、ドライバ左操舵フラグ、フィードフォワード出力不足フラグ、レーンキープ操舵方向フラグの5つのフラグを用いる。ECU30では、一定時間毎に、各処理において各フラグを設定する。また、ECU30では、一定時間毎に、カーブ内側ヨー角大フラグ以外の4つのフラグについては各フラグの前回値も更新する。
カーブ内側ヨー角大フラグは、車両がカーブ旋回中にカーブの内側方向のヨー角が大きいか否かのフラグであり、カーブ内側方向のヨー角が大きい場合にはONであり、カーブ内側方向のヨー角が大きくない場合にはOFFである。
ドライバ右操舵フラグは、ドライバがステアリングホイール2を右方向に操舵中か否かのフラグであり、右方向に操舵中の場合にはONであり、右方向に操舵していない場合にはOFFである。ドライバ左操舵フラグは、ドライバがステアリングホイール2を左方向に操舵中か否かのフラグであり、左方向に操舵中の場合にはONであり、左方向に操舵していない場合にはOFFである。ちなみに、ドライバ右操舵フラグとドライバ左操舵フラグが共にOFFの場合はドライバは直進操作中である。
フィードフォワード出力不足フラグは、レーンキープのフィードフォワード出力が不足しているか否かのフラグであり、フィードフォワード出力が不足している場合にはONであり、フィードフォワード出力が不足していない場合にはOFFである。但し、車両のヨー角がカーブの内側方向に大きい場合、車両のオフセットがカーブの内側に大きい場合、ドライバがカーブの外側方向に操舵している場合、カーブ旋回中でない場合(特に、カーブ出口を通過する場合)、フィードフォワード出力不足フラグはOFFになる。
レーンキープ操舵方向フラグは、レーンキープの操舵方向を示すフラグであり、操舵方向が左方向の場合にはLeftであり、操舵方向が右方向の場合にはRightである。
一定時間毎に、ECU30では、カーブ内側ヨー角大判定処理により道路曲率γとヨー角θに基づいてカーブ旋回中に車両がカーブ内側方向のヨー角が大きいか否かを判定し、カーブ内側ヨー角大フラグを設定する。また、ECU30では、ドライバ操舵方向判定処理によりドライバによって入力された操舵トルクに基づいてドライバが右方向に操舵しているか否か及び左方向に操舵しているか否かを判定し、ドライバ右操舵フラグ及びドライバ左操舵フラグを設定する。
そして、ECU30では、フィードフォワード出力不足判定処理によりカーブ半径R、オフセットD、カーブ内側ヨー角大フラグ、ドライバ右操舵フラグ、ドライバ左操舵フラグに基づいてフィードフォワード出力が不足しているか否かを判定し、フィードフォワード出力不足フラグを設定する。カーブ路では、車両が高車速やカーブ半径が小さいほど、フィードフォワード出力の上限の影響により、フィードフォワード出力が不足する場合がある。この場合、ドライバがカーブの外側方向に操舵していないのに、車両がカーブの外側に寄ってゆく。そこで、ドライバがカーブの外側方向に操舵していないときに車両のオフセットDがカーブの外側にある程度大きくなった場合、フィードフォワード出力が不足していると推定する。
従来、フィードフォワード出力が不足している場合、レーンキープによるフィードバック出力によって、カーブの内側方向への切り増しが実施され(この際、切り増し時の出力トルクマップTIが使用される)、車両が車線中央付近まで戻される。車両が車線中央付近に到達すると、車両進行方向を車線に沿った方向に戻すために、レーンキープによる切り戻しを実施する。このレーンキープによる切り戻しを行う場合、切り増し時の出力トルクマップTIから切り戻し時の出力トルクマップTRに切り替えられ、2つのマップ間のヒステリシスによって出力トルクがジャンプし、出力トルクが大きく低下する。その結果、フィードフォワード出力不足の状態においては、車両が、車線中央に収束せず、再度、カーブの外側に寄ってゆく。フィードフォワード出力が不足する場合、このような現象が繰り返されるので、レーンキープによる出力トルクが大きく変動し(図9の出力トルクの時間変化OT’参照)、車両が車線の中央と外側との間でふらつく(図10の車両走行軌跡ML’参照)。そこで、ECU30では、フィードフォワード出力が不足していると推定した場合にはフィードフォワード出力不足フラグをONし、切り増し時の出力トルクマップTIから切り戻し時の出力トルクマップTRへの切り替えを禁止する。
但し、車両のヨー角θがカーブの内側方向に大きい場合、車両のオフセットDがカーブの内側に大きい場合やドライバがカーブの外側方向に操舵している場合、車両がカーブを巻き込む可能性があり、切り戻しが必要となる。また、フィードフォワード出力不足によって車両のカーブ外側にオフセットが発生し、カーブ外側の積分値が増加し、この積分値に基づいてカーブの内側方向のトルクが付加される。そのため、カーブ出口から直線路や曲がる方向の異なるカーブに進入する場合、カーブの内側方向に付加されるレーンキープのトルクの作用により、カーブ巻き込みが発生する可能性があり、ステアリングの切り戻しが必要となる。そこで、このような場合、ECU30では、フィードフォワード出力不足フラグをOFFし、切り増し時の出力トルクマップTIから切り戻し時の出力トルクマップTRへの切り替えを可能とする。
さらに、ECU30では、レーンキープ操舵方向判定処理により目標横加速度G及びレーンキープ操舵方向フラグとフィードフォワード出力不足フラグに基づいてレーンキープ操舵方向を判定し、レーンキープ操舵方向フラグを設定する。基本的には、目標横加速度Gがプラス側に所定量増加した場合にはレーンキープ操舵方向は右方向であり、目標横加速度Gがマイナス側に所定量増加した場合にはレーンキープ操舵方向は左方向である。但し、フィードフォワード出力が不足している場合、目標横加速度Gの変化に応じてレーンキープ操舵方向がカーブの曲がる方向と逆方向に変化しようとしても(切り増し方向から切り戻し方向に変化しようとしても)、強制的にレーンキープ操舵方向をカーブの曲がる方向にする(切り増す方向にする)。これによって、レーンキープ装置1では、カーブ走行中にフィードフォワード出力が不足している場合、切り増し時の出力トルクマップTIに固定し、出力トルクの変動を抑制する。
レーンキープ操舵方向フラグを設定すると、ECU30の出力トルク演算器34では、レーンキープ操舵方向フラグに基づいて出力トルクマップを選択し、選択した出力トルクマップを参照して出力トルクTを求める。
図1〜図3を参照して、レーンキープ装置1における動作について説明する。特に、ECU30におけるカーブ内側ヨー角大判定処理について図4のフローチャートに沿って説明し、ドライバ操舵方向判定処理について図5及び図6のフローチャートに沿って説明し、フィードフォワード出力不足判定処理については図7のフローチャートに沿って説明し、レーンキープ操舵方向判定処理については図8のフローチャートに沿って説明する。図4は、図1のレーンキープ装置のECUにおけるカーブ内側ヨー角大判定処理の流れを示すフローチャートである。図5は、図1のレーンキープ装置のECUにおけるドライバ操舵方向判定処理の右操舵判定部分の流れを示すフローチャートである。図6は、図1のレーンキープ装置のECUにおけるドライバ操舵方向判定処理の左操舵判定部分の流れを示すフローチャートである。図7は、図1のレーンキープ装置のECUにおけるフィードフォワード出力不足判定処理の流れを示すフローチャートである。図8は、図1のレーンキープ装置のECUにおけるレーンキープ操舵方向判定処理の流れを示すフローチャートである。
操舵トルクセンサ10では、ステアリングホイール2から入力される操舵トルクを検出し、その操舵トルクを示す操舵トルク信号をECU30に送信する。車速センサ11では、車速を検出し、その車速を示す車速信号をECU30に送信する。
CCDカメラ20では、車両の前方を撮像し、その撮像画像のデータを撮像信号として画像処理部21に送信する。画像処理部21では、撮像画像から車線を区画する一対の白線を認識する。そして、画像処理部21では、一対の白線から車線幅、車線の中心線、車線中心のカーブ半径Rと道路曲率γ、ヨー角θ及び車両のオフセットDを演算する。さらに、画像処理部21では、これら一対の白線の情報や演算した各情報を画像信号としてECU30に送信する。
ECU30では、一定時間毎に、操舵トルク信号、車速信号及び画像信号を受信する。そして、ECU30では、操舵トルク、車速及び画像信号からカーブ半径R、道路曲率γ、ヨー角θ、オフセットDを取得し、これらの各入力データをそれぞれフィルタ処理する。
ECU30のF/Fコントローラ31では、一定時間毎に、道路曲率γと車速Vの乗算値にゲインKγを乗算してヨーレートωγを演算する。
また、ECU30では、ヨー角θと目標ヨー角θ0との偏差Δθ=(θ0−θ)を演算し、その偏差ΔθにゲインKθを乗算してヨーレートωθを演算する。
また、ECU30では、オフセットDと目標オフセットD0との偏差ΔD=(D0−D)を演算する。そして、ECU30の積分器32では、偏差ΔDを時間積分し、オフセットの積分値IDを演算する。さらに、ECU30では、積分値IDにゲインKIDを乗算するとともに偏差ΔDにゲインKDを乗算し、その2つの乗算値を加算してヨーレートωDを演算する。
ECU30では、求めた3つのヨーレートωγ,ωD,ωθを合算し、目標ヨーレートωを演算する。そして、ECU30の目標横加速度演算器33では、目標ヨーレートωに車速Vを乗算し、目標横加速度Gを演算する。
次に、ECU30では、一定時間毎に、カーブ半径Rに基づいてカーブ旋回中かつ道路曲率γ>0かつヨー角θ<−αか否か(つまり、右に曲がるカーブ旋回中にヨー角θが右方向(カーブの内側方向)に大きいか否か)を判定する(図4のS10)。S10の判定条件を満たさない場合、ECU30では、カーブ半径Rに基づいてカーブ旋回中かつ道路曲率γ<0かつヨー角θ>αか否か(つまり、左に曲がるカーブ旋回中にヨー角θが左方向(カーブの内側方向)に大きいか否か)を判定する(図4のS11)。α(プラス値)は、車両のヨー角がカーブの内側方向に大きいか否かを判定するための閾値である。ヨー角θは、プラス値が左方向であり、マイナス値が右方向である。したがって、ヨー角がαより大きい場合には左方向に大きなヨー角が発生し、−αより小さい場合には右方向に大きなヨー角が発生していることを示す。
S10の判定条件を満たす場合又はS11の判定条件を満たす場合、ECU30では、カーブ内側ヨー角大判定成立タイマをインクリメントする(図4のS12)。一方、S11の判定条件を満たさない場合、ECU30では、カーブ内側ヨー角大判定成立タイマをリセットする(図4のS13)。カーブ内側ヨー角大判定成立タイマは、ヨー角θ(絶対値)がカーブの内側方向にαより大きい状態がある程度継続したときにカーブの内側方向のヨー角が大きいと判定するためのタイマである。ヨー角θは、撮像画像から認識された車線から求められるので、カメラノイズの影響を受けている場合がある。そこで、ヨー角θ(絶対値)がカーブの内側方向にαより大きいと所定回数継続して判定された場合だけ、カーブの内側方向のヨー角が大きいと判定する。
そして、ECU30では、カーブ内側ヨー角大判定成立タイマがT0より大きいか否かを判定する(図4のS14)。S14にてカーブ内側ヨー角大判定成立タイマがT0より大きいと判定した場合、ヨー角θ(絶対値)がカーブの内側方向にαより大きい状態が所定時間継続したので、ECU30では、カーブ内側ヨー角大フラグにON(カーブ内側方向のヨー角が大きい)を設定する(図4のS15)。一方、S14にてカーブ内側ヨー角大判定成立タイマがT0以下と判定した場合、ヨー角θ(絶対値)がカーブの内側方向にαより大きい状態が所定時間継続していないので、ECU30では、カーブ内側ヨー角大フラグにOFF(カーブ内側方向のヨー角が大きくない)を設定する(図4のS16)。T0は、ヨー角θ(絶対値)がカーブの内側方向にαより大きい状態が所定時間継続していることを判定するための閾値である。
次に、ECU30では、一定時間毎に、ドライバ右操舵フラグ(前回値)=OFFか否か判定する(図5のS20)。S20にてドライバ右操舵フラグ(前回値)=OFFと判定した場合、ECU30では、ドライバの操舵トルクがMT1より大きいか否かを判定する(図5のS21)。MT1(プラス値)は、ドライバによる操舵トルクによって操舵方向が右方向かあるいは左方向かを判定するための閾値である。操舵トルクは、プラス値が右方向であり、マイナス値が左方向である。したがって、操舵トルクがMT1より大きい場合にはドライバの操舵方向を右方向と判定できるほどの右方向の操舵トルクが発生し、−MT1より小さい場合にはドライバの操舵方向を左方向と判定できるほどの左方向の操舵トルクが発生していることを示す。
S21にて操舵トルクがMT1より大きいと判定した場合、ECU30では、ドライバ右操舵判定成立タイマをインクリメントする(図5のS22)。一方、S21にて操舵トルクがMT1以下と判定した場合、ECU30では、ドライバ右操舵判定成立タイマをリセットする(図5のS23)。ドライバ右操舵判定成立タイマは、前回のドライバ右操舵フラグがOFFの場合に操舵トルクがMT1より大きい状態がある程度継続したときにドライバが右方向に操舵していると判定するためのタイマである。操舵トルクセンサ10によって検出された操舵トルクにはノイズが含まれている場合があるので、操舵トルクがMT1より大きいと所定回数継続して判定された場合だけ、ドライバが右方向に操舵中と判定する。
そして、ECU30では、ドライバ右操舵判定成立タイマがT1より大きいか否かを判定する(図5のS24)。S24にてドライバ右操舵判定成立タイマがT1より大きいと判定した場合、前回のドライバ右操舵フラグがOFFの場合に操舵トルクがMT1より大きい状態が所定時間継続したので、ECU30では、ドライバ右操舵フラグにON(ドライバが右方向に操舵中)を設定する(図5のS26)。一方、S24にてドライバ右操舵判定成立タイマがT1以下と判定した場合、前回のドライバ右操舵フラグがOFFの場合に操舵トルクがMT1より大きい状態が所定時間継続していないので、ECU30では、ドライバ右操舵フラグにOFF(ドライバが右方向に操舵していない)を設定する(図5のS27)。T1は、操舵トルクがMT1より大きい状態(操舵トルクが−MT1より小さい状態)が所定時間継続していることを判定するための閾値である。
一方、S20にてドライバ右操舵フラグ(前回値)=ONと判定した場合、ECU30では、ドライバによる操舵トルクがMT2より小さいか否かを判定する(図5のS25)。MT2(プラス値)は、ドライバによる操舵トルクによって操舵方向が右方向でないあるいは左方向でないことを判定するための閾値であり、MT1より小さい値である。操舵トルクは、プラス値が右方向であり、マイナス値が左方向である。したがって、操舵トルクがMT2より小さい場合にはドライバの操舵方向が右方向と判定できるほどの右方向の操舵トルクが発生していない、−MT2より大きい場合にはドライバの操舵方向を左方向と判定できるほどの左方向の操舵トルクが発生していないことを示す。S25にてドライバの操舵トルクがMT2より小さいと判定した場合、前回のドライバ右操舵フラグがONの場合に操舵トルクがMT2より小さくなったので、ECU30では、ドライバ右操舵フラグにOFF(ドライバが右方向に操舵していない)を設定する(図5のS27)。一方、S25にてドライバの操舵トルクがMT2以上と判定した場合、前回のドライバ右操舵フラグがONの場合に未だ操舵トルクがMT2以上なので、ECU30では、ドライバ右操舵フラグにON(ドライバが右方向に操舵中)を設定する(図5のS26)。
そして、ECU30では、ドライバ右操舵フラグ(前回値)を今回設定したドライバ右操舵フラグの値で更新する(図5のS28)。
続いて、ECU30では、ドライバ左操舵フラグ(前回値)=OFFか否か判定する(図6のS29)。S29にてドライバ左操舵フラグ(前回値)=OFFと判定した場合、ECU30では、ドライバの操舵トルクが−MT1より小さいか否かを判定する(図6のS30)。
S30にて操舵トルクが−MT1より小さいと判定した場合、ECU30では、ドライバ左操舵判定成立タイマをインクリメントする(図6のS31)。一方、S30にて操舵トルクが−MT1以上と判定した場合、ECU30では、ドライバ左操舵判定成立タイマをリセットする(図6のS32)。ドライバ左操舵判定成立タイマは、前回のドライバ左操舵フラグがOFFの場合に操舵トルクが−MT1より小さい状態がある程度継続したときにドライバが左方向に操舵していると判定するためのタイマである。上記したように操舵トルクにはノイズが含まれている場合があるので、操舵トルクが−MT1より小さいと所定回数継続して判定された場合だけ、ドライバが左方向に操舵中と判定する。
そして、ECU30では、ドライバ左操舵判定成立タイマがT1より大きいか否かを判定する(図6のS33)。S33にてドライバ左操舵判定成立タイマがT1より大きいと判定した場合、前回のドライバ左操舵フラグがOFFの場合に操舵トルクが−MT1より小さい状態が所定時間継続したので、ECU30では、ドライバ左操舵フラグにON(ドライバが左方向に操舵中)を設定する(図6のS35)。一方、S33にてドライバ左操舵判定成立タイマがT1以下と判定した場合、前回のドライバ左操舵フラグがOFFの場合に操舵トルクが−MT1より小さい状態が所定時間継続していないので、ECU30では、ドライバ左操舵フラグにOFF(ドライバが左方向に操舵していない)を設定する(図6のS36)。
一方、S29にてドライバ左操舵フラグ(前回値)=ONと判定した場合、ECU30では、ドライバによる操舵トルクが−MT2より大きいか否かを判定する(図6のS34)。S34にてドライバの操舵トルクが−MT2より大きいと判定した場合、前回のドライバ左操舵フラグがONの場合に操舵トルクが−MT2より大きくなったので、ECU30では、ドライバ左操舵フラグにOFF(ドライバが左方向に操舵していない)を設定する(図6のS36)。一方、S34にてドライバの操舵トルクが−MT2以下と判定した場合、前回のドライバ左操舵フラグがONの場合に未だ操舵トルクが−MT2以下なので、ECU30では、ドライバ左操舵フラグにON(ドライバが左方向に操舵中)を設定する(図6のS35)。
そして、ECU30では、ドライバ左操舵フラグ(前回値)を今回設定したドライバ左操舵フラグの値で更新する(図6のS37)。
次に、ECU30では、一定時間毎に、フィードフォワード出力不足フラグ(前回値)=OFFか否かを判定する(図7のS40)。
S40にてフィードフォワード出力不足フラグ(前回値)=OFFと判定した場合、ECU30では、カーブ半径Rに基づいて左カーブ旋回中かつカーブ内側ヨー角大フラグ=OFFかつオフセットD<−L1かつドライバ右操舵フラグ=OFFか否か(つまり、左に曲がるカーブ旋回中に左方向(カーブの内側方向)のヨー角が大きくなくかつ車線の右側(カーブの外側)のオフセットが大きくかつドライバが右方向(カーブの外側方向)に操舵していないか否か)を判定する(図7のS41)。S41の判定条件を満たさない場合、ECU30では、カーブ半径Rに基づいて右カーブ旋回中かつカーブ内側ヨー角大フラグ=OFFかつオフセットD>L1かつドライバ左操舵フラグ=OFFか否か(つまり、右に曲がるカーブ旋回中に右方向(カーブの内側方向)のヨー角が大きくなくかつ車線の左側(カーブの外側)のオフセットが大きくかつドライバが左方向(カーブの外側方向)に操舵していないか否か)を判定する(図7のS42)。L1(プラス値)は、車両のオフセットがカーブの外側に大きいか否かを判定するための閾値である。オフセットDは、プラス値が左側であり、マイナス値が右側である。したがって、オフセットがL1より大きい場合には左側に大きなオフセットが発生し、−L1より小さい場合には右側に大きなオフセットが発生していることを示す。
S41の判定条件を満たす場合又はS42の判定条件を満たす場合、カーブ旋回中にカーブの内側方向のヨー角が大きくなく、ドライバがカーブの外側方向に操舵していないのにカーブの外側のオフセットが大きいので、ECU30では、フィードフォワード出力不足フラグにON(レーンキープのフィードフォワード出力が不足している)を設定する(図7のS48)。一方、S42の判定条件を満たさない場合、ECU30では、フィードフォワード出力不足フラグにOFF(レーンキープのフィードフォワード出力が不足していない)を設定する(図7のS49)。
一方、S40にてフィードフォワード出力不足フラグ(前回値)=ONと判定した場合、ECU30では、カーブ内側ヨー角大フラグ=ONか又はカーブ半径Rに基づいてカーブ旋回中でないか否か(つまり、カーブの内側方向のヨー角が大きいか又はカーブ旋回中でなくなったか否か)を判定する(図7のS43)。S43の判定条件を満たす場合、カーブ内側方向のヨー角が大きいかあるいは車両がカーブ出口に到達したので、ECU30では、フィードフォワード出力不足フラグにOFFを設定する(図7のS49)。
S43の判定条件を満たさない場合、ECU30では、カーブ半径Rに基づいて左カーブ旋回中かつオフセットD>L2か否か(つまり、左に曲がるカーブ旋回中に車線の左側(カーブの内側)のオフセットが大きいか否か)を判定する(図7のS44)。S44の判定条件を満たす場合、カーブ内側のオフセットが大きいので、ECU30では、フィードフォワード出力不足フラグにOFFを設定する(図7のS49)。一方、S44の判定条件を満たさない場合、ECU30では、、カーブ半径Rに基づいて右カーブ旋回中かつオフセットD<−L2か否か(つまり、右に曲がるカーブ旋回中に車線の右側(カーブの内側)のオフセットが大きいか否か)を判定する(図7のS45)。S45の判定条件を満たす場合、カーブ内側のオフセットが大きいので、ECU30では、フィードフォワード出力不足フラグにOFFを設定する(図7のS49)。L2(プラス値)は、車両のオフセットがカーブの内側に大きいか否かを判定するための閾値である。オフセットDは、プラス値が左側であり、マイナス値が右側である。したがって、オフセットがL2より大きい場合には左側に大きなオフセットが発生し、−L2より小さい場合には右側に大きなオフセットが発生していることを示す。
一方、S45の判定条件を満たさない場合、ECU30では、カーブ半径Rに基づいて左カーブ旋回中かつドライバ右操舵フラグ=ONか否か(つまり、左に曲がるカーブ旋回中にドライバが右方向(カーブの外側方向)に操舵したか否か)を判定する(図7のS46)。S46の判定条件を満たす場合、ドライバがカーブの外側方向に操舵しているので、ECU30では、フィードフォワード出力不足フラグにOFFを設定する(図7のS49)。一方、S46の判定条件を満たさない場合、ECU30では、カーブ半径Rに基づいて右カーブ旋回中かつドライバ左操舵フラグ=ONか否か(つまり、右に曲がるカーブ旋回中にドライバが左方向(カーブの外側方向)に操舵したか否か)を判定する(図7のS47)。S47の判定条件を満たす場合、ドライバがカーブの外側方向に操舵しているので、ECU30では、フィードフォワード出力不足フラグにOFFを設定する(図7のS49)。一方、S47の判定条件を満たさない場合、ECU30では、フィードフォワード出力不足フラグにONを設定する(図7のS48)。
そして、ECU30では、フィードフォワード出力不足フラグ(前回値)を今回設定したフィードフォワード出力不足フラグの値で更新する(図7のS50)。
次に、ECU30では、一定時間毎に、演算によって求めた目標横加速度Gにフィルタ処理を施す(図8のS60)。そして、ECU30では、目標横加速度Gが(目標横加速度リミット−ΔG)より小さいか否かを判定する(図8のS61)。S61にて目標横加速度Gが(目標横加速度リミット−ΔG)以上と判定した場合、ECU30では、目標横加速度Gが(目標横加速度リミット+ΔG)より大きいか否かを判定する(図8のS62)。目標横加速度リミットは、レーンキープの操舵方向を判定するために、目標横加速度Gの変化の方向を判定する際の基準となる目標横加速度である。目標横加速度リミットは、目標横加速度Gが目標横加速度リミットからΔGより大きく変化する毎に、そのときの目標横加速度Gで更新される。ΔGは、レーンキープの操舵方向を判定するために必要な目標横加速度Gの変化量の閾値である。
S61にて目標横加速度Gが(目標横加速度リミット−ΔG)より小さいと判定した場合、目標横加速度GがΔGより減少したので(マイナス側にΔGより増加したので)、車両にレーンキープによる左方向の横加速度を作用させるために、ECU30では、レーンキープ操舵方向フラグにLeftを設定する(図8のS63)。また、S62にて目標横加速度Gが(目標横加速度リミット+ΔG)より大きいと判定した場合、目標横加速度GがΔGより増加したので、車両にレーンキープによる右方向の横加速度を作用させるために、ECU30では、レーンキープ操舵方向フラグにRightを設定する(図8のS64)。そして、ECU30では、目標横加速度リミットを今回の目標横加速度Gで更新する(図8のS65)。
一方、S62にて目標横加速度Gが(目標横加速度リミット+ΔG)以下と判定した場合、目標横加速度Gの変化はΔG以下なので、レーンキープ操舵方向フラグを更新しない。
続いて、ECU30では、レーンキープ操舵方向フラグがレーンキープ操舵方向フラグ(前回値)と一致せずかつレーンキープ操舵方向フラグがカーブ半径Rに基づくカーブの曲がる方向と一致せずかつフィードフォワード出力不足フラグ=ONか否か(つまり、レーンキープの操舵方向が前回から反転し、その反転した操舵方向がカーブの曲がる方向と逆方向であり、フィードフォワード出力が不足しているか否か)を判定する(図8のS66)。S66の判定条件を満たす場合、フィードフォワード出力が不足している状態においてレーンキープの操舵方向が切り増し方向から切り戻し方向に変化しようとしているので、ECU30では、レーンキープ操舵方向フラグをレーンキープ操舵方向フラグ(前回値)で再設定する(図8のS67)。つまり、レーンキープの操舵方向をカーブの曲がる方向に変更し、切り増し方向に戻す。これによって、出力トルクマップが切り戻し時の出力トルクマップTRに切り替わらず、切り増し時の出力トルクマップTIに保持される。一方、S66の判定条件を満たさない場合、ECU30では、レーンキープ操舵方向フラグの値を保持する。
そして、ECU30では、レーンキープ操舵方向フラグ(前回値)を今回設定したレーンキープ操舵方向フラグの値で更新する(図8のS68)。
レーンキープ操舵方向フラグを設定すると、ECU30の出力トルク演算器34では、レーンキープ操舵方向フラグと目標横加速度Gの符号によって切り増し時のマップTIかあるいは切り戻し時のマップTRかを選択し、選択したマップを参照して目標横加速度Gの値に応じた出力トルクTを抽出する。そして、ECU30では、出力トルクTを示す出力トルク信号をEPSECU41に送信する。
EPSECU41では、出力トルク信号を受信し、その出力トルク信号に示される出力トルクに所定の係数を乗算する。そして、EPSECU41では、その乗算値(付加トルク)をアシストトルクに加算し、そのアシストトルク+付加トルクに応じてモータ42を駆動制御する。モータ42では、EPSECU41による制御によって所定のトルクを発生し、そのトルクを操舵機構に付加する。すると、操舵機構には、ドライバによる操舵トルクに応じたアシストトルクが加わるとともに、車両を車両中心に沿って走行させるための補助的な付加トルクが加わる。
例えば、カーブ半径の小さいカーブ路を旋回中にフィードフォワード出力が不足した場合、車両が車線の外側に寄ってゆく。このとき、ECU30では、レーンキープ操舵方向フラグにカーブの内側方向を設定し、切り増し時の出力トルクマップTIを選択する。そして、ECU30では、切り増し時の出力トルクマップTIを参照して出力トルクを設定する。そのため、車両は、車線中央付近まで戻される。車両が車線中央付近に到達すると、ECU30では、車両進行方向を車線に沿った方向に戻すためにレーンキープ操舵方向フラグにカーブの外側方向を一旦設定するが、フィードフォワード出力が不足しているので、レーンキープ操舵方向フラグにカーブの内側方向を再設定する。そのため、ECU30では、切り増し時の出力トルクマップTIの選択を継続し、切り増し時の出力トルクマップTIを参照して出力トルクを設定する。これによって、切り戻し時の出力トルクマップTRに切り替えられずに、切り増し時の出力トルクマップTIに固定されるので、出力トルクが急激に低減せず、出力トルクの変動が抑制される。したがって、車線中央付近に戻ってもレーンキープの付加トルクが低減せず、車両が車線中央付近に沿った走行を続けることができる。
図9には、カーブ旋回中にフィードフォワード出力が不足した場合に、切り増し時の出力トルクマップTIに固定され、出力トルクの変動の抑制制御が行われたときの出力トルクの時間変化OTの一例を示している。この出力トルクの時間変化OTから判るように、出力トルクは、増加した後に、低減することなく、ある程度大きな値が維持される。また、図10には、カーブ旋回中にフィードフォワード出力が不足した場合に、切り増し時の出力トルクマップTIに固定され、出力トルクの変動の抑制制御を行われたときの車両走行軌跡MLの一例を示している。この車両走行軌跡MLから判るように、車両は、カーブの外側から車線中央付近に戻された後に、カーブ外側に再度寄ってゆくことなく、車線中央付近を走行し続ける。
このレーンキープ装置1によれば、カーブ走行中にフィードフォワード出力が不足した場合には切り増し時の出力トルクマップTIに固定して出力トルクを求めることにより、出力トルクが急激に低減せず、出力トルクの変動を抑制することができる。その結果、ドライバにステアリングホイール2を介して伝わるフィーリングが向上するとともに、カーブ路における車両を車線中心に沿って走行させる精度を向上させることができる。
また、レーンキープ装置1では、カーブ方向とドライバによる操舵方向及び車両のオフセットDとの関係から、フィードフォワード出力が不足しているか否かを高精度に推定することできる。
また、レーンキープ装置1では、車両のヨー角θがカーブ内側方向に大きい場合、車両のオフセットDがカーブ内側に大きい場合、ドライバがカーブの外側方向に操舵している場合、カーブ出口に到達した場合、フィードフォワード出力が不足していても切り戻し時の出力トルクマップTRに切り替えて出力トルクを求めることにより、切り戻し方向の出力トルクを付加するので、車両のカーブ巻き込みが発生することはない。
以上、本発明に係る実施の形態について説明したが、本発明は上記実施の形態に限定されることなく様々な形態で実施される。
例えば、本実施の形態ではレーンキープ装置に適用したが、他の装置にも適用可能であり、例えば、自動操舵装置に適用できる。
また、本実施の形態では電動パワーステアリング装置を利用して操舵トルクを付加する構成としたが、レーンキープ装置にラックやピニオンをアシストするアクチュエータを備える構成としてもよい。したがって、パワーステアリング装置を備えない車両にも適用可能である。また、電動パワーステアリング装置ではなく、油圧式のパワーステアリング装置にも適用可能であり、油圧を調整するアクチュエータを制御することによって操舵トルクを付加する構成としてもよい。
また、本実施の形態では操舵機構にトルクを付加することによってレーンキープ制御を行う構成としたが、操舵角などの操舵状態を変化させることができる他のパラメータによってレーンキープ制御を行う構成としてもよい。
また、本実施の形態では一対の白線を認識することにより車線を検出する構成としたが、白線以外の黄線などの他の線も認識することにより車線を検出する構成としてもよいしあるいは路肩や車線と歩道とを区画するブロックなどを認識することにより車線を検出するなど他の方法により車線を検出する構成としてもよい。また、本実施の形態では車線がある道路に適用したが、車線がない道路に対しても適用可能である。この場合には、その道路の路肩などを検出する必要がある。
また、本実施の形態ではカメラによる撮像画像に基づいて車線(走行路)を認識し、その認識した車線に基づいてカーブ半径(道路曲率)、車両のヨー角、車両のオフセットを演算する構成としたが、他の手法によって走行路やこれらのパラメータを求めてもよく、例えば、ナビゲーションシステムでの処理や地図情報に基づいて検出する場合、各種センサを用いて検出する場合、路車間通信などを利用して車外から情報を取得する場合がある。
また、本実施の形態では切り増し時の出力トルクマップと切り戻し時の出力トルクマップを用いて出力トルクを求める構成としたが、このようなマップを用いずに出力トルクを求める構成としてもよい。さらに、本実施の形態ではフィードフォワード出力が不足する場合に出力トルクの変動を抑制するために切り増し時の出力トルクマップに固定する構成としたが、出力トルクを求める方法に応じて出力トルクの変動を抑制するための処理を行う。
また、本実施の形態ではドライバの操舵方向、車両のオフセット、車両のヨー角に基づいてフィードフォワード出力不足を判断する構成としたが、他の方法によりフィードフォワード出力不足を判断してもよく、例えば、ドライバの操舵方向と車両のオフセット又は車両のヨー角に基づいて判断してもよい。
1…レーンキープ装置、2…ステアリングホイール、3…ステアリングシャフト、4…ステアリングギヤボックス、5…ラックバー、6…ナックルアーム、10…操舵トルクセンサ、11…車速センサ、20…CCDカメラ、21…画像処理部、30…ECU、31…F/Fコントローラ、32…積分器、33…目標横加速度演算器、34…出力トルク演算器、40…電動パワーステアリング装置、41…EPSECU、42…モータ