以下、本発明による車両用操舵装置および車両用操舵方法を、好適な実施の形態にしたがって図面を用いて説明する。なお、図面の説明においては、同一部分または相当部分には同一符号を付し、重複する説明を省略する。
実施の形態1.
図1は、本発明の実施の形態1における車両用操舵装置を示す構成図である。図1の車両用操舵装置は、ハンドル2およびタイヤ5を備えた車両1に適用される。また、図1の車両用操舵装置は、モータ3、操舵機構4、車速検出部6、ヨーレート検出部7、操舵トルク検出部8、カメラ9およびコントロールユニット10を備える。
車両1のハンドル2に連結された操舵機構4によって前輪左右のタイヤ5が転舵される。操舵機構4には、一般的な電動パワーステアリング装置と同様に、モータ3が連結されており、モータ3が発生するトルクを操舵機構4に付与することができる。モータ3は、コントロールユニット10から入力された駆動信号に含まれる目標電流Imtr_tgに従って駆動する。
車速検出部6は、車両1の車速を検出し、ヨーレート検出部7は、車両1のヨーレートを検出し、操舵トルク検出部8は、車両1の操舵トルクを検出する。カメラ9は、車両1内のルームミラー周辺に設置され、車両1のフロントガラスを通じて車両1の前方画像を撮影し、撮影結果を前方画像データとして出力する。
コントロールユニット10には、車速検出部6、ヨーレート検出部7、操舵トルク検出部8、カメラ9およびモータ3のそれぞれが接続される。また、コントロールユニット10には、車速検出部6、ヨーレート検出部7、操舵トルク検出部8の各検出部による検出結果が検出信号として入力され、カメラ9から前方画像データが入力される。さらに、コントロールユニット10は、モータ3に駆動信号を出力する。なお、コントロールユニット10に、モータ3の駆動を制御する機能だけでなく、一般的な電動パワーステアリング装置の制御機能を持たせていてもよい。
図2は、図1のコントロールユニット10のハードウェア構成の一例を概略的に示す構成図である。コントロールユニット10は、インタフェース101、プロセッサ102およびメモリ103を備える。
インタフェース101は、車速検出部6、ヨーレート検出部7、操舵トルク検出部8、カメラ9およびモータ3等の外部装置との信号の入出力制御を行う。プロセッサ102は、メモリ103に格納されたプログラムに従って各種処理を実行する。メモリ103は、上述のプログラムとともに、さらに各処理で使用するデータおよび処理結果等を格納する。また、インタフェース101、プロセッサ102およびメモリ103は、バス接続されている。
図3は、図1のコントロールユニット10の構成を示す機能ブロック図である。なお、図3には、コントロールユニット10に接続される走行状態量検出部26、走行環境検出部27および車両状態量検出部28を併せて図示している。
コントロールユニット10は、走行路認識部21、目標走行ライン設定部22、横変位算出部23、横変位補正値算出部24、目標舵角算出部25および操舵制御部29を有する。
ここで、コントロールユニット10を構成する各機能ブロックの処理は、図2に示すメモリ103に格納されたプログラムに従ってプロセッサ102によって実行される。なお、コントロールユニット10のハードウェア構成として、図2に示す構成の代わりに、各機能ブロックの処理を行うASIC(Application Specific Integrated Circuit)等のディジタル回路で構成してもよく、そのハードウェア構成は問わない。
走行路認識部21は、車両1が走行する走行路を認識することで、カメラ9から入力された前方画像データから、前方走行路情報を生成し、その前方走行路情報を出力する。
ここで、走行路認識部21による前方走行路情報の生成について、図4を参照しながら説明する。図4は、図3の走行路認識部21によって生成される前方走行路情報を説明するための説明図である。なお、以下では、車両固定座標系を定義し、車両1の前方方向をx方向、車両1の横方向であってx方向に垂直な方向をy方向とする。また、車両1の車両重心P0の位置を車両1の位置と定義する。
図4に示すように、走行路認識部21は、カメラ9から入力された前方画像データから、公知の技術を適用することで、走行路の左右両側に存在する白線等の車線境界ラインline_bを検出する。
続いて、走行路認識部21は、車両1の現在位置である車両重心P0からx方向へ前方注視点距離Ldだけ離れた前方注視位置P1を求め、その前方注視位置P1を通るy方向の直線である前方注視基準線と車線境界ラインline_bの内側とが交わる車線境界ライン位置P2を求める。
走行路認識部21は、前方注視位置P1と車線境界ライン位置P2との距離を、前方注視点距離Ldに対応するレーン距離yLd_laneを算出する。また、走行路認識部21は、車線境界ラインline_bの車線境界ライン位置P2における曲率を算出し、その曲率から、車線境界ラインline_bの車線境界ライン位置P2における接線とx方向とがなす角を、前方注視点距離Ldに対応する車線境界ライン傾き角として算出する。
続いて、走行路認識部21は、前方注視点距離Ldに対応する車線境界ライン傾き角から、前方注視点距離Ldに対応する目標走行ライン傾き角eLdを算出する。ここで、目標走行ライン傾き角eLdの具体的な算出方法としては、例えば、次のような方法が挙げられる。
すなわち、両側の車線境界ラインline_bのいずれについても、前方注視点距離Ldに対応する車線境界ライン傾き角が算出されている場合、例えば、平均化等による処理で1つの値にし、その値を目標走行ライン傾き角eLdとすればよい。一方、両側の車線境界ラインline_bの片方のみ前方注視点距離Ldに対応する車線境界ライン傾き角が算出されている場合、その車線境界ライン傾き角の値を目標走行ライン傾き角eLdとすればよい。
走行路認識部21は、検出された両側の車線境界ラインline_bから、走行路幅を算出する。なお、両側の車線境界ラインline_bの片方のみ検出されている場合には、走行路認識部21は、一般的な走行路幅の値、例えば、3.5mを、走行路幅として算出する。
走行路認識部21は、上記で求められた各位置および上記で算出された各値を、前方走行路情報として出力する。
目標走行ライン設定部22は、目標走行ライン設定処理として、走行路認識部21から入力された前方走行路情報から、車両1を走行路に追従走行させる際の目標となる目標走行ラインline_tgを走行路内に設定する。また、目標走行ライン設定部22は、設定された目標走行ラインline_tgを出力する。
なお、目標走行ライン設定部22は、例えば、右側の車線境界ラインline_bを基準として、その右側の車線境界ラインline_bから例えば走行路幅の1/2の設定距離だけ離れた位置に目標走行ラインline_tgを設定する。また、設定された目標走行ラインline_tgは、車線境界ライン位置P2から設定距離だけ離れた前方注視基準線上の目標走行ライン位置P3において、目標走行ライン傾き角eLdを持つ。
横変位算出部23は、横変位算出処理として、走行路認識部21から入力された前方走行路情報と、目標走行ライン設定部22から入力された目標走行ラインline_tgとから、車両1の前方注視点距離Ldに対応する横変位yLdを算出する。また、横変位算出部23は、算出された横変位yLdを出力する。ここで、横変位yLdの具体的な算出方法としては、例えば、次のような方法が挙げられる。
すなわち、右側の車線境界ラインline_bが検出されている場合には、横変位算出部23は、前方注視位置P1と右側の車線境界ラインline_b上の車線境界ライン位置P2とから算出されたレーン距離yLd_laneを第1の距離とする。また、横変位算出部23は、目標走行ラインline_tgと右側の車線境界ラインline_bとの距離を、第2の距離として算出する。そして、横変位算出部23は、第1の距離から第2の距離を引いた値を、横変位yLdとする。この場合、目標走行ラインline_tgに対して、車両1が左側にあるときには、横変位yLdが+側の値となり、車両1が右側にあるときには、横変位yLdが−側の値となる。
一方、左側の車線境界ラインline_bのみが検出されている場合には、横変位算出部23は、前方注視位置P1と左側の車線境界ラインline_b上の車線境界ライン位置P2とから算出されたレーン距離yLd_laneを第3の距離とする。また、横変位算出部23は、目標走行ラインline_tgと左側の車線境界ラインline_bとの距離を、第4の距離として算出する。ここで、走行路幅から第3の距離を引いた値が上記の第1の距離に相当する。また、走行路幅から第4の距離を引いた値が上記の第2の距離に相当する。したがって、横変位算出部23は、第4の距離から第3の距離を引いた値を、横変位yLdとする。
走行状態量検出部26は、車両1の走行状態を示す走行状態量を検出し、その検出結果を横変位補正値算出部24に出力する。具体的には、走行状態量検出部26は、操舵トルク検出部8を含む構成となっており、車両1の操舵トルクを車両1の走行状態量として横変位補正値算出部24に出力する。
走行環境検出部27は、車両1の走行環境を検出し、その検出結果を横変位補正値算出部24に出力する。具体的には、走行環境検出部27は、車速検出部6を含む構成となっており、車両1の車速を車両1の走行環境として横変位補正値算出部24に出力する。
横変位補正値算出部24は、横変位補正値算出処理として、横変位算出部23から入力された横変位yLdから横変位学習値yLd_lrnを算出し、横変位yLdと横変位学習値yLd_lrnとの偏差を横変位補正値yLd_cとして算出する。
具体的には、横変位補正値算出部24は、横変位算出部23から入力された横変位yLdと、走行状態量検出部26から入力された走行状態量とから、車両1が運転者の好む走行ラインを走行しているか否かを判定する。横変位補正値算出部24は、その判定結果に応じて、横変位学習値yLd_lrnを算出し、横変位yLdと横変位学習値yLd_lrnとの偏差を横変位補正値yLd_cとして算出する。また、横変位補正値算出部24は、算出された横変位補正値yLd_cを出力する。
なお、上記の横変位学習値yLd_lrnは、前方注視点距離Ldに対応した、目標走行ラインline_tgと運転者の好む走行ラインとの変位に相当する。
車両状態量検出部28は、車両1の車両状態を示す車両状態量を検出し、その検出結果を目標舵角算出部25に出力する。具体的には、車両状態量検出部28は、車速検出部6およびヨーレート検出部7を含む構成となっており、車両1の車速およびヨーレートを、車両1の車両状態量として目標舵角算出部25に出力する。
目標舵角算出部25は、目標舵角算出処理として、横変位補正値算出部24から入力された横変位補正値yLd_cが減少するように横変位yLdの変化速度である横速度を制御することで、目標舵角を算出する。
具体的には、目標舵角算出部25は、横変位補正値算出部24から入力された横変位補正値yLd_cと、車両状態量検出部28から入力された車両状態量とから、横変位補正値yLd_cが0に収束するような目標舵角を算出する。
このように、目標舵角算出部25は、運転者の好む走行ラインを車両1が走行するように制御するための目標舵角を算出する。また、目標舵角算出部25は、算出された目標舵角を出力する。
操舵制御部29は、操舵制御処理として、目標舵角算出部25から入力された目標舵角から、車両1の舵角を制御する。具体的には、操舵制御部29は、目標舵角算出部25から入力された目標舵角から、目標操舵トルクを算出し、その目標操舵トルクを実現するようにモータ3に駆動信号を出力する。ここで、目標操舵トルクは、予め取得しておいた操舵角に対する操舵トルク特性を使用して、目標舵角に対応するトルクとして求めればよい。また、駆動信号は、モータ3のモータ特性から、目標操舵トルクを発生させる目標電流Imtr_tgとして求めたものである。これらの操舵機構4の操舵角に対する操舵トルク特性およびモータ3のモータ特性は、記憶部に予め格納しておく。
なお、目標操舵トルクは、目標舵角と検出された舵角との偏差に対して、その偏差が0に収束するようなゲインを乗算して算出するようにしてもよく、目標舵角から目標操舵トルクを算出する方法は問わない。
ここで、目標走行ラインline_tgが運転者の好む走行ラインではなく、運転者の好む走行ラインを車両1が走行するように運転者自身が操舵を継続して行っている場合、横変位補正値算出部24によって算出される横変位学習値yLd_lrnは、目標走行ラインline_tgと運転者の好む走行ラインとの変位となる。
したがって、目標舵角算出部25によって算出された目標舵角に従って、操舵制御部29が転舵輪を制御することで、目標走行ラインline_tgに対して横変位学習値yLd_lrn分だけ変位した走行ライン、すなわち、運転者の好む走行ラインを車両1が走行するようにすることが可能となる。
次に、目標舵角算出部25が横変位補正値yLd_cを0に収束させるような目標舵角を算出する原理について説明する。
目標舵角の算出については、前方注視基準線上での目標走行ラインline_tgと車両1の位置との変位が横変位学習値yLd_lrnとなるように、横変位補正値yLd_cが0に収束するような舵角を目標舵角として求めればよい。
ここで、横変位補正値yLd_cに対して、横変位yLdの変化速度である横速度y’Ldを考える。横変位補正値yLd_cが減少するよう横速度y’Ldの制御を行えば、横変位補正値yLd_cが0に近づくので、以下の式(1)を満たすよう横速度y’Ldの制御を行えばよい。
y’Ld=−λ・yLd_c (1)
ただし、式(1)において、y’Ldは前方注視位置P1における横速度、yLd_cは横変位補正値、λは正の値をとるyLd減衰特性パラメータであり、大きくするほど制御の応答性は速くなるが不安定となる傾向にある。
ここで、横速度y’Ldを求めるために、車両に固定した座標系による二輪モデルの運動方程式を考える。図5は、本発明の実施の形態1における車両用操舵装置の二輪モデルを示す図である。図5に示す二輪モデルの運動方程式は、以下の式(2)で与えられる。
ここで、mは車両重量、vx0およびvy0は車両重心における車両縦速度および車両横速度、v’y0,は車両重心における車両横加速度、γ’はヨーレート、Lfは重心−前車輪軸間距離、Lrは重心−後車輪軸間距離、Cfは前輪サイドフォース・スティフネス、Crは後輪サイドフォース・スティフネス、θは舵角である。
なお、車両横速度vy0および舵角θは左方向を正、ヨーレートγ’は反時計回りを正としている。また、式中の「’」は微分による時間変化を示し、例えば変位の微分は速度、速度の微分は加速度となる。
一方、前方注視点距離Ldに対応する目標走行ライン位置P3、および車両重心P0の車両固定座標系の座標成分をそれぞれ[x1,y1]Tおよび[x0,y0]Tとすると、これらは、以下の式(3)のようにあらわすことができる。
ここで、地上固定座標系を考える。図6は、本発明の実施の形態1における車両用操舵装置を説明するための車両固定座標系および地上固定座標系の関係を示す図である。図6において、車両固定座標系[x,y]は、破線で示され、地上固定座標系[X,Y]は、実線で示されている。
なお、図4の一点鎖線で示された目標走行ラインline_tgは、例えば道路の幅の中心に沿って延びている。したがって、図4において、現在の車両1が道路の右側(例えば右側車線)を走行している状態を示している。また、横変位yLdは、前方注視位置P1と、前方注視点距離Ldに対応する目標走行ライン位置P3との距離である。
車両1のヨーレートγ’は、反時計まわりを正と定義しているので、地上固定座標系に対して、車両固定座標系がδだけ反時計回りに回転した位置にあるとすると、このときのδの方向が正となる。すなわち、車両1のヨーレートγ’は、地上に対して車両1が反時計回りに回転したときを正としている。
したがって、式(3)を車両固定座標系から地上固定座標系に変換して、地上固定座標系の座標成分をそれぞれ[X1,Y1]Tおよび[X0,Y0]Tとすると、これらは、以下の式(4)のようにあらわすことができる。
また、目標走行ライン位置P3の移動速度について、車両固定座標系の座標成分を[vx1,vy1]Tとして地上固定座標系の[X1,Y1]Tで表わすと、これらは、以下の式(5)のようにあらわすことができる。
式(4)を式(5)に代入するため、式(4)を微分すると、以下の式(6)となる。
式(6)の地上固定座標系[X’0,Y’0]Tを車両固定座標系[vx0,vy0]Tで表すと、以下の式(7)となる。
式(6)および式(7)を式(5)に代入すると、目標走行ライン位置P3の移動速度[vx1,vy1]Tは、座標系にかかわらず車両1のヨーレートは等しいので、δ’=γ’であることを考慮して車両固定座標系で以下の式(8)のように表される。
また、目標走行ライン傾き角eLdと目標走行ライン位置P3の速度との関係を車両固定座標系で表すと、以下の式(9)となる。
式(8)の2行目のvy1に式(9)を代入して整理し、車両走行路の曲率は緩やかとして|eLd|<<1からtan(eLd)≒eLdとすると、目標走行ラインline_tgに対する横速度y’Ldは、車両固定座標系で以下の式(10)のように表される。
式(10)を式(2)に代入するため、式(10)をvy0について解くと、以下の式(11)が得られ、さらに微分し車速の急変がないとしてv’x1≒0を考慮すると、以下の式(12)が得られる。
式(11)および式(12)を式(2)に代入する。ここで、車両1の縦速度>>横速度、車両1の速度に対するヨーレートの影響も微小と考えると車両固定座標系と地上固定座標系における車両1の速度は等しいとみなせる。また、車両速度変化も微小と考えるとvx0=vx1および地上固定座標系における車両縦方向速度も一定とできる。そこで、地上固定座標系における車速、すなわち、車速検出部6によって検出された車速をVとおくと、V=vx0=vx1と考えることができるので、前方注視点距離Ldを基準とした二輪モデルである以下の式(13)が得られる。
式(13)を横速度y’Ldについて解くと、以下の式(14)が得られる。
ここで、式(14)におけるy’’Ldは車両左右方向の加速度なので、スリップ等の極端な横すべり角が生じていないとして、y’’Ldが発生している状態をカーブ走行状態と同一視できるとする。この場合、y’’Ldは円運動の加速度となるので、以下の式(15)のように考えることができる。また、式(15)を式(14)に代入すると、(式(14)の一部の項を相殺することができる。
また、微分項であるe’Ldおよびγ’’は、カーブ突入または離脱の際の、曲率変化およびそれに応じた舵角変化によるヨーレート変化時のみ値が発生するもので、これらの項は、若干のタイミングずれはあるが打ち消しあう方向の値になる。
そのため、e’Ldおよびγ’’の項をまとめて省略すれば影響は少ないと考えられ、またこれらの項を省略することで、y’Ldの急変防止、すなわち、最終的には目標舵角の急変防止につながり、式を簡素化することが可能となる。よって、式(15)を式(14)に代入し、e’Ldおよびγ’’の項を省略すると、式(14)は、以下の式(16)とすることができる。
よって、横速度を示す式(16)を式(1)に代入して、θを目標舵角と考えて、θで整理すると、以下の式(17)が得られる。
最後に、式(17)において、係数k1〜k3を以下の式(18)〜式(20)のようにおくと、以下の式(21)が得られる。
θ=k1・yLd_c+k2・eLd−k3・γ’ (21)
ただし、式(21)において、θは目標舵角、k1〜k3は係数、yLd_cは横変位補正値、eLdは目標走行ライン傾き角、γ’はヨーレートである。
このように、目標舵角算出部25は、車両状態量に含まれるヨーレートおよび前方走行路情報に含まれる目標走行ライン傾き角eLdから、横変位補正値yLd_cが0に収束するような目標舵角を算出することができる。
次に、本実施の形態1における車両用操舵装置の動作について、図7を参照しながら説明する。図7は、本発明の実施の形態1における車両用操舵装置の一連の動作を示すフローチャートである。なお、図7のフローチャートの処理は、予め設定された一定周期、例えば、0.01秒の周期ごとに実行される。
図6において、まず、ステップS101では、目標走行ライン設定部22は、目標走行ライン設定処理を実行することで、目標走行ラインline_tgを設定し、ステップS102へと進む。
ステップS102では、横変位算出部23は、横変位算出処理を実行することで、横変位yLdを算出し、ステップS103へと進む。
ステップS103では、横変位補正値算出部24は、横変位補正値算出処理を実行することで、横変位補正値yLd_cを算出し、ステップS104へと進む。なお、横変位補正値算出処理の詳細については後述する。
ステップS104では、目標舵角算出部25は、目標舵角算出処理を実行することで、目標舵角ang_tgを算出し、ステップS105へと進む。なお、目標舵角算出処理の詳細については後述する。
最後に、ステップS105では、操舵制御部29は、操舵制御処理を実行することで、モータ3へ駆動信号を出力し、一連の処理を終了する。
次に、ステップS103における横変位補正値算出部24による横変位補正値算出処理の詳細について、図8を参照しながら説明する。図8は、図3の横変位補正値算出部24によって実行される横変位補正値算出処理の一連の処理を示すフローチャートである。
ステップS201では、横変位補正値算出部24は、横変位学習記憶値更新判定を実行し、その実行結果に従って、ステップS202またはS204へと進む。
具体的には、横変位補正値算出部24は、横変位算出部23から入力された横変位yLdと、走行状態量検出部26から入力された操舵トルクとから、運転者の好む走行ラインを車両1が走行しているか否かを判定する。
横変位補正値算出部24は、運転者の好む走行ラインを車両1が走行していると判定した場合には、横変位学習記憶値更新フラグとして、「1」を出力し、ステップS202へと進む。
一方、横変位補正値算出部24は、運転者の好む走行ラインを車両1が走行していないと判定した場合には、横変位学習記憶値更新フラグとして、「0」を出力し、ステップS204へと進む。
なお、横変位学習記憶値更新フラグとは、後述するステップS204の横変位学習値確定処理の動作の内容を、「0」および「1」の2値によって示すものである。横変位学習値更新フラグが「1」の場合には、横変位学習値確定処理において、記憶部に記憶されている横変位学習記憶値を更新することを示す。一方、横変位学習記憶値更新フラグが「0」の場合には、横変位学習値確定処理において、記憶部に記憶されている横変位学習記憶値を更新しないことを示す。
このように、横変位補正値算出部24は、運転者の好む走行ラインを車両1が走行していると判定した場合には、記憶部に記憶されている横変位学習記憶値を更新するようにするために、横変位学習記憶値更新フラグとして、「1」を出力するように構成されている。一方、横変位補正値算出部24は、運転者の好む走行ラインを車両1が走行していないと判定した場合には、横変位学習記憶値を更新しないようにするために、横変位学習記憶値更新フラグとして、「0」を出力するように構成されている。
また、横変位yLdと、操舵トルクとから、運転者の好む走行ラインを車両1が走行しているか否かを判定する判定方法の具体例としては、次の方法が挙げられる。
すなわち、操舵トルクの絶対値が操舵トルク設定値よりも大きい設定範囲内に収まっている期間が例えば3秒間の設定時間以上継続し、かつ、その期間内の横変位yLdの最大値と最小値との偏差が偏差設定値以下である特定条件が成立した場合、運転者の好む走行ラインを車両1が走行していると判定する。なお、操舵トルク設定値、設定時間および偏差設定値の各値は、予め設定しておけばよい。
ここで、特定条件が成立している場合、転舵輪は、車両用操舵装置による操舵補助のみでなく、運転者自身が付与する操舵トルクによっても制御されている。また、この場合、横変位yLdが変動せずに特定のラインを車両1が走行している状態、すなわち、運転者の好む走行ラインを車両1が継続して走行するように運転者自身による操舵が継続されていると考えられる。
そこで、横変位補正値算出部24は、上記の特定条件が成立した場合、運転者の好む走行ラインを車両1が走行していると判定する。一方、横変位補正値算出部24は、上記の特定条件が成立していない場合、運転者の好む走行ラインを車両1が走行していないと判定する。また、操舵トルクの絶対値が操舵トルク設定値よりも大きい期間が設定時間以上継続することを、特定条件が成立する要件としているので、一時的な運転者による操舵に起因した誤判定を回避することができる。
なお、横変位補正値算出部24は、操舵トルクとは別の走行状態量を用いて、走行状態量から、運転者の好む走行ラインを車両1が走行しているか否かを判定するように構成されてもよい。
具体的には、例えば、横変位補正値算出部24は、走行状態量検出部26から入力された操舵角またはヨーレートから、運転者の好む走行ラインを車両1が走行しているか否かを判定するように構成されてもよい。なお、この場合、走行状態量検出部26は、車両1の操舵角またはヨーレートを、車両1の走行状態量として横変位補正値算出部24に出力するように構成される。
ここで、運転者の好む走行ラインを車両1が継続して走行するような場合、その走行の間、車両1の操舵角およびヨーレートのそれぞれは、大きく変動しない。
そこで、横変位補正値算出部24は、設定時間以上、操舵角またはヨーレートの大きさが設定範囲内に収まっている特定条件が成立した場合、運転者の好む走行ラインを車両1が走行していると判定する。一方、その特定条件が成立していない場合、運転者の好む走行ラインを車両1が走行していないと判定する。
また、横変位補正値算出部24は、走行状態量検出部26から入力された横加速度から、運転者の好む走行ラインを車両1が走行しているか否かを判定するように構成されてもよい。なお、この場合、走行状態量検出部26は、車両1の横加速度を、車両1の走行状態量として横変位補正値算出部24に出力するように構成される。
ここで、車両横方向に横風またはカントといった外乱が加わっている場合、車両1が横方向に変位するので、現在、車両1が走行している走行ラインが運転者の好む走行ラインであるとは保証されない。
そこで、横変位補正値算出部24は、走行状態量検出部26から入力された横加速度から、車両横方向に外乱が加わっているか否かを判定する。続いて、横変位補正値算出部24は、車両横方向に外乱が加わっていると判定した場合には、運転者の好む走行ラインを車両1が走行していないと判定する。一方、横変位補正値算出部24は、車両横方向に外乱が加わっていないと判定した場合には、運転者の好む走行ラインを車両1が走行していると判定する。
なお、カントを車両1が走行している場合、車両1が旋回中であるか否かに関わらず、車両1には横加速度が加わる。したがって、車両1の横加速度が横加速度設定値よりも大きい設定範囲内に収まっている期間が設定時間以上継続する場合、車両横方向に外乱が加わっていると判定すればよい。また、横加速度設定値は、予め設定しておけばよい。
このように、横変位補正値算出部24は、走行状態量検出部26から入力された走行状態量が、設定時間以上、設定範囲内に収まっているとき、運転者の好む走行ラインを車両1が走行していると判定する。
なお、上記の判定方法を組み合わせることで、横変位補正値算出部24は、複数の走行状態量から、運転者の好む走行ラインを車両1が走行しているか否かを判定するように構成されてもよい。このように、複数の走行状態量を用いて、横変位補正値算出部24による判定が実行されるように構成することで、誤判定を回避することができ、その結果、判定精度を向上させることができる。
ステップS202では、横変位補正値算出部24は、横変位学習候補値を算出し、ステップS203へと進む。
具体的には、横変位補正値算出部24は、横変位算出部23から入力された横変位yLdに加え、現時点よりも例えば3秒間の設定時間だけ遡った過去の期間に入力された横変位yLdも考慮して、これらの横変位yLdの平均値を算出する平均化処理を行い、その平均値を横変位学習候補値とする。
このように、横変位補正値算出部24は、横変位算出部23から過去から現時点にかけて入力された横変位yLdの平均値を横変位学習候補値としている。したがって、運転者の一時的な操舵による横変位学習候補値の変動を抑制することができる。なお、横変位補正値算出部24は、平均化処理を行わずに、横変位算出部23から入力された横変位yLdをそのまま横変位学習候補値とするように構成されてもよい。
ステップS203では、横変位補正値算出部24は、横変位学習候補値を制限し、ステップS204へと進む。
具体的には、横変位補正値算出部24は、横変位学習候補値の上下限値を設定し、設定された上下限値に従って、横変位学習候補値を修正する。
ここで、ステップS202で算出された横変位学習候補値について、少なくとも車両1が走行車線から逸脱するような絶対値の大きな横変位学習候補値は望ましくない。
そこで、横変位補正値算出部24は、横変位学習候補値の上下限値を設定する。上下限値の設定方法について、例えば、走行路幅の1/2の値と、車両1の車両幅の1/2の値との差を上限値とし、上限値の逆符号値を下限値とすればよい。
また、横変位補正値算出部24は、設定された下限値から上限値までの範囲に横変位学習候補値が含まれている場合には、横変位学習候補値を修正しない。
一方、設定された下限値から上限値までの範囲に横変位学習候補値が含まれていない場合には、横変位学習候補値がその範囲に含まれるように横変位学習候補値を修正する。例えば、横変位補正値算出部24は、横変位学習候補値が下限値未満であれば、横変位学習候補値がその下限値となるように修正し、横変位学習候補値が上限値よりも大きければ、横変位学習候補値がその上限値となるように修正する。
このように、横変位補正値算出部24は、横変位学習候補値の上下限値を設定し、設定された上下限値から、横変位学習候補値を修正する。つまり、ステップS202で算出された横変位学習候補値に対して、任意の制限を設けている。したがって、車両1の走行車線からの逸脱を回避するとともに、車両1の走行車線または隣接車両への接近を回避することができる。
ステップS204では、横変位補正値算出部24は、横変位学習値yLd_lrnを確定し、ステップS205へ進む。
具体的には、横変位補正値算出部24は、ステップS201で決定された横変位学習記憶値更新フラグの値に従って動作する。
まず、横変位学習記憶値更新フラグが「1」である場合の横変位補正値算出部24の動作について説明する。
ここで、記憶部には、車速と横変位学習記憶値とが関連付けられたテーブルが記憶されている。このテーブルは、例えば、車速の速度領域として、低速領域、中速領域および高速領域の3段階の領域に分け、その領域ごとに、横変位学習記憶値が関連付けられている。
横変位学習記憶値更新フラグが「1」である場合、横変位補正値算出部24は、走行環境検出部27から入力された車速の速度領域に対応した横変位学習記憶値を、テーブルから選択する。例えば、走行環境検出部27から入力された車速の速度領域が中速領域であれば、横変位補正値算出部24は、中速領域に対応した横変位学習記憶値をテーブルから選択する。
続いて、横変位補正値算出部24は、その選択された横変位学習記憶値を、横変位学習候補値に置き換えて更新する。つまり、車速の速度領域に対応した既存の横変位学習記憶値に代わり、ステップS203を実行後の横変位学習候補値が新たな横変位学習記憶値となる。
また、横変位補正値算出部24は、更新後の横変位学習記憶値、すなわち、横変位学習候補値を横変位学習値yLd_lrnとする。
次に、横変位学習記憶値更新フラグが「0」である場合の横変位補正値算出部24の動作について説明する。
横変位学習記憶値更新フラグが「0」である場合、横変位補正値算出部24は、走行環境検出部27から入力された走行環境に含まれる車速の速度領域に対応した横変位学習記憶値を、テーブルから選択する。
続いて、横変位補正値算出部24は、その選択された横変位学習記憶値を、横変位学習値yLd_lrnとする。
ここで、車両1の車速が高速領域である場合には、その車速が低速領域である場合と比較して、運転者のわずかな力で転舵輪が大きく変動し、その結果、車両1が走行車線から逸脱しやすい状態となる。したがって、車速が高速領域である場合、車速が低速領域である場合と比較して、走行車線の中央付近を走行することが好まれる傾向にある。
そこで、上記のとおり、走行環境検出部27から入力された走行環境、すなわち車速に応じて横変位学習値yLd_lrnを確定するように構成している。このように構成することで、車速の変化に伴う運転者の嗜好の変化に対応することができ、その結果、運転者の好む走行ラインを車両1が走行するように転舵輪を制御することができる。
なお、横変位補正値算出部24は、車速とは別の走行環境を用いて、上記と同様に、横変位学習記憶値更新フラグの値に従って動作するように構成されてもよい。
具体的には、例えば、走行路認識部21は、カメラ9から入力された前方画像データから、走行路の曲率を算出し、その曲率を走行環境として横変位補正値算出部24に出力する。つまり、走行路認識部21は、走行路の曲率を走行環境として検出する走行環境検出部27として機能する。また、記憶部には、曲率と横変位学習記憶値とが関連付けられたテーブルを記憶しておく。横変位補正値算出部24は、車速の代わりに、走行路認識部21から入力された曲率に応じて横変位学習値yLd_lrnを確定する。
ここで、運転者によって、直線走行時と旋回走行時とでは、運転者の好む走行ラインが異なる場合がある。そこで、走行路の曲率の変化に伴う嗜好の変化に対応することができるように、上記のように構成することは、効果的である。
このように、横変位補正値算出部24は、走行環境検出部27から入力された走行環境に対応する横変位学習記憶値をテーブルから選択する。また、車両1が運転者の好む走行ラインを走行していると判定した場合には、選択された横変位学習記憶値を横変位学習候補値に置き換えて更新するとともに、更新後の横変位学習記憶値を横変位学習値yLd_lrnとする。一方、車両1が運転者の好む走行ラインを走行していないと判定した場合には、選択された横変位学習記憶値を横変位学習値yLd_lrnとする。
なお、横変位補正値算出部24は、運転者の好む走行ラインを車両1が走行していると判定したとき、横変位学習候補値を横変位学習値yLd_lrnとするとともに、その横変位学習候補値を記憶部に記憶するように構成されてもよい。この場合、横変位補正値算出部24は、運転者の好む走行ラインを車両1が走行していないと判定したとき、今回の横変位学習候補値ではなく、記憶部に記憶された最新の横変位学習候補値を、横変位学習値yLd_lrnとする。このように構成することで、走行環境検出部27から走行環境を入力しなくても、横変位学習値yLd_lrnを算出することができる。
ステップS205では、横変位補正値算出部24は、横変位学習値yLd_lrnの時間当たりの変化量を制限し、ステップS206へと進む。
具体的には、横変位補正値算出部24は、ステップS204での横変位学習値yLd_lrnに対して、フィルタ処理を適用して、ステップS206へと進む。
ここで、ステップS204で確定された横変位学習値yLd_lrnによって、横変位補正値yLd_cが急激に変化し、その結果、車両1の挙動が急変する可能性がある。そこで、車両1の挙動が急変することを抑制するために、横変位学習値yLd_lrnの時間当たりの変化量の急変を抑制するフィルタ処理が適用される。
なお、フィルタとして、例えば一般的な一次ローパスフィルタを使用すればよく、フィルタの交差周波数は、車両1の変動が不快とならないような十分低い周波数、例えば、1Hzに設定すればよい。
このように、横変位補正値算出部24は、横変位学習値yLd_lrnの時間当たりの変化量の急変を抑制するフィルタ処理を行う。
ステップS206では、横変位補正値算出部24は、横変位yLdから横変位学習値yLd_lrnを減算することで、横変位補正値yLd_cを算出する。
次に、ステップS104における目標舵角算出部25による目標舵角算出処理の詳細について、図9を参照しながら説明する。図9は、図3の目標舵角算出部25によって実行される目標舵角算出処理の一連の処理を示すフローチャートである。
ステップS301では、目標舵角算出部25は、式(18)、(19)および(20)に従って、係数k1、k2およびk3を算出し、ステップS302へと進む。
なお、係数k1〜k3のそれぞれに含まれるパラメータについて、LfおよびLrは、重心−車輪軸間距離のため車両毎に決まった値である。一方、CfおよびCrは、タイヤの摩擦力に関する値であって路面状態またはタイヤ等によって変化し、λも制御応答に関する値である。したがって、Cf、Crおよびλは、状況に応じて変更することが望ましい。
また、係数k1およびk3には、車速が含まれており、Ldも車速に応じて変更するとよいので、係数k1〜k3は、車両状態量に応じて変更することが望ましい。特に、操舵角変化に対する車両挙動変化への影響が大きい車速、または路面摩擦係数が低い走行路では、操舵角制御の応答を抑える必要があるので、係数k1〜k3は、CfおよびCrへの影響が大きい路面摩擦係数に応じて変更することが望ましい。このように、係数k1〜k3を状況に応じて変更すれば、適切な制御が可能となる。
ステップS302では、式(21)に従って、目標舵角算出部25は、目標舵角基本値ang_bsを算出し、ステップS303へと進む。なお、式(21)におけるθが目標舵角基本値ang_bsに相当する。
具体的には、目標舵角算出部25は、ステップS301で算出した係数k1〜k3と、ステップS103で算出した横変位補正値yLd_cと、走行路認識部21によって算出された目標走行ライン傾き角eLdと、車両状態量検出部28から入力されたヨーレートγ’とを、式(21)に代入することで、目標舵角基本値ang_bsを算出する。
ステップS303では、目標舵角算出部25は、ステップS302で算出した目標舵角基本値ang_bsに対して、制限処理を施すことで、制限後目標舵角基本値ang_clpを算出する。
ここで、目標舵角ang_tgが過大な値になると、先の図5に示す二輪モデルを適用可能な条件を逸脱する恐れがあるとともに、CfおよびCr特性も大きく変化する。
そこで、目標舵角ang_tgが過大な値とならないように、目標舵角基本値ang_bsに対して、制限処理を施す。また、車両1の高速走行時に舵角が大きくなると、遠心力が大きくなるので、横方向加速度を抑制するためにも、このような制限処理を施す必要がある。
具体的には、目標舵角算出部25は、車速に応じて、横方向加速度が横方向加速度設定値以下となるように目標舵角基本値ang_bsを制限した値を、制限後目標舵角基本値ang_clpとして算出する。なお、横方向加速度設定値は、予め設定しておけばよく、例えば、0.2Gとすればよい。
最後に、ステップS304では、目標舵角算出部25は、ステップS303で算出した制限後目標舵角基本値ang_clpから、目標舵角ang_tgを算出し、一連の処理を終了する。
ここで、車両挙動が急変することは望ましくないので、目標舵角ang_tgの単位時間当たりの変化量を制限することが望ましく、高車速になるほど舵角変化に対する車両挙動は大きくなる。そこで、ステップS304では、車速上昇に従ってその変化量が小さくなるように、目標舵角ang_tgを制限する。
目標舵角算出部25は、記憶部に記憶されている前回の目標舵角ang_tg_oldと、車速に応じて設定した変化量制限値dlt_angとを用いて、制限後目標舵角基本値ang_clpに対して、制限処理を施すことで、目標舵角ang_tgを算出する。具体的には、目標舵角算出部25は、制限後目標舵角基本値ang_clpがang_tg_old−dlt_angからang_tg_old+dlt_angの範囲に含まれるように、制限後目標舵角基本値ang_clpを制限した値を、目標舵角ang_tgとして算出する。
次に、本発明の車両用操舵装置によって実現される効果について詳細に説明する。ここで、本発明との比較例として、運転者の好む走行ラインではなく、目標走行ライン設定部22によって設定された目標走行ラインline_tgを車両1が走行するように操舵制御部29が転舵輪を制御する場合を考える。
この場合、運転者の好みによらず目標走行ラインline_tgを車両1が追従して走行するよう操舵補助が行われていることとなるので、運転者の好みの走行位置での車両の走行を継続することができない可能性があり、その結果、運転者が違和感を持つという可能性がある。
また、車両用操舵装置による操舵補助が行われているタイミングで、運転者の好みの走行位置での車両の走行を継続するために運転者が操舵を行うと、車両用操舵装置による操舵補助と運転者による操舵とが対立し、その結果、走行安定性が低下する可能性がある。
これに対して、本発明の車両用操舵装置では、目標走行ラインline_tgに対して、運転者の特性に応じて設定される横変位学習値yLd_lrn分だけ変位した運転者の好む走行ラインを車両1が走行するよう操舵補助が行われる。したがって、運転者の好みを考慮して転舵輪を制御することができる。
以上、本実施の形態1によれば、前方走行路情報と目標走行ラインとから、車両の前方注視点距離に対応する横変位を算出し、車両1の走行状態量から、車両が運転者の好む走行ラインを走行しているか否かを判定するように構成されている。また、その判定結果に応じて、横変位から横変位学習値を算出し、横変位と横変位学習値との偏差に相当する横変位補正値が減少するように横変位の変化速度である横速度を制御することで、目標舵角を算出するように構成されている。
これにより、運転者の好む走行ラインを車両が走行するように転舵輪を制御することができる。また、運転者の好む走行ラインを車両が走行するので、運転者による転舵輪の操舵と車両用操舵装置による操舵補助とが対立することなく、その結果、安定した車両の走行が可能となる。
なお、本実施の形態1では、横変位補正値算出部24は、横変位算出部23によって算出された前方注視点距離Ldに対応する横変位yLdから、横変位学習値yLd_lrnを算出し、横変位yLdと横変位学習値yLd_lrnとの偏差を横変位補正値yLd_cとして、目標舵角算出部25に提供するように構成されている。しかしながら、現在の車両位置に対応した横変位、すなわち、現在の車両位置と目標走行ラインline_tgとの変位である車両位置横変位を算出する車両位置横変位算出部を備えて構成してもよい。この場合、横変位補正値算出部24は、その車両位置横変位から横変位学習値yLd_lrnを算出し、横変位yLdと横変位学習値yLd_lrnとの偏差を横変位補正値yLd_cとして、目標舵角算出部25に提供するように構成される。このように構成した場合であっても、運転者の好む走行ラインを車両が走行するように転舵輪を制御することができ、本実施の形態1に示す車両用操舵装置と同様の効果を得ることができる。
また、図2はコントロールユニットの機能ブロック図として説明したが、車両用操舵装置全体の機能ブロック図としてもよい。この場合、走行路認識部21は、カメラ9をさらに含み、走行路を認識するために前方画像を撮影する。また、走行路認識部21は、目標走行ライン設定部22、横変位算出部23、横変位補正値算出部24および目標舵角算出部25に前方走行路情報を提供する。
走行状態量検出部26は、操舵トルク検出部8および横変位算出部23をさらに含み、操舵トルクを検出するとともに横変位yLdを算出し、横変位補正値算出部24に提供する。走行環境検出部27は、車速検出部6をさらに含み、車両の車速を検出し、その検出結果を横変位補正値算出部24に提供する。車両状態量検出部28は、車速検出部6およびヨーレート検出部7をさらに含み、車両の車速およびヨーレートを検出し、その検出結果を目標舵角算出部25に提供する。
本実施の形態1では、操舵制御部29として、電動パワーステアリング装置をベースとしているが、操舵を制御できるものであればよく、例えばハンドルと転舵輪との間の機械的リンクを廃したステアリングバイワイヤと称される操舵装置をベースとしてもよい。
また、走行路認識部21は、カメラ9から入力された前方画像データを用いて、前方走行路情報を生成しているが、これに限らない。例えばGPS(Global Positioning System)を使用したカーナビゲーションシステムから得られる地図情報および車両位置情報を用いて、前方走行路情報を生成してもよい。また、ヨー角の検出は、ヨーレートの積分または目標走行ラインと実際の走行軌跡との比較などから行えばよい。
本実施の形態1では、レーンキープアシストを想定したシステムに対して本発明を適用する場合について述べたが、これに限らず、駐車支援システムおよび自動運転システム等に本発明を適用してもよい。本発明は、各システムにおいて設定される目標走行ラインを追従するよう転舵輪を操舵する際に適用可能である。