以下、本発明の実施形態について図面を用いて詳細に説明する。図1は、実施形態の車両の操舵支援装置の概略システム構成図である。
操舵支援装置1は、運転支援ECU10と、中立点学習ECU50と、電動パワーステアリングECU70とを備えている。以下、電動パワーステアリングECU70をEPS・ECU70(Electric Power Steering ECU)と呼ぶ。ECUは、Electric Control Unitの略である。各ECU10,50,70は、マイクロコンピュータを主要部として備えている。以下の説明において、「車両」とは、操舵支援装置1が搭載された車両(自車両)を表す。
中立点学習ECU50は、車両の旋回方向の安定性を確保するための車両安定制御(VSC)を実施するVSC・ECUであって、そのVSCの実行時に推定される車両の直進走行状態の判定結果を用いて舵角中立点を学習する機能を備えている。本実施形態においては、VSCは特徴ではなく、本発明を理解するうえでVSCを説明する必要もないため、VSC・ECUを中立点学習ECU50と呼び、以下、舵角中立点の学習に係る構成のみについて説明する。
舵角中立点とは、車両が直進するときのステアリング機構の舵角を意味する。中立点学習ECU50は、ヨーレートセンサ60、車速センサ61、横加速度センサ62、および、ステアリングセンサ66と接続されている。ヨーレートセンサ60は、車両の旋回時に発生する重心軸周りのヨーレートγを表すヨーレート検出信号を出力する。車速センサ61は、車両の走行速度(車速Vと呼ぶ)を表す車速検出信号を出力する。車速Vは車輪速に基づいて検出されるため、車速センサ61に代えて車輪速センサを用いることもできる。尚、VSCの実施時においては、車両の横滑り状態を検出するために4輪の車輪速センサの車輪速検出信号が用いられる。横加速度センサ62は、車両の横方向(車幅方向)の加速度である横加速度Gyを表す横加速度検出信号を出力する。ステアリングセンサ66は、操舵ハンドルの舵角であるハンドル舵角θshを表すハンドル舵角検出信号を出力する。
回転角センサ63は、ステアリング機構に組み込まれ、回転角検出信号を出力する。ステアリング機構は、図示しないが、操舵輪を操舵するための機構(例えば、操舵ハンドル、ステアリングシャフト、ラックピニオン機構、ラックバー、タイロッド、ナックルアーム等)を表す。本実施形態の回転角センサ63は、例えば、ラックバーに噛合されたピニオンギヤが固着されたシャフト(ステアリングシャフトにおける最も車輪側のピニオンシャフト)の回転角θspを検出する。回転角の検出は、必ずしも、ピニオンシャフトの回転角である必要は無いが、車輪に近い位置の回転角を検出した方がステアリング機構のダイナミクス(摩擦など)の影響が少なく、目標舵角に対する追従性が良好になるため、本実施形態においては、ピニオンシャフトの回転角を検出している。
回転角センサ63は、イグニッションスイッチがオンしたときの回転位置を0degとした相対的な舵角を表す回転角検出信号を出力する。
中立点学習ECU50は、車速Vが予め設定された車速である学習許可車速Vref以上であり、かつ、ヨーレートγの絶対値|γ|が予め設定された直進走行判定閾値γref以下であり、かつ、横加速度Gyの絶対値|Gy|が予め設定された直進走行判定閾値Gyref以下であるという状況が所定時間以上継続するという直進走行判定条件が成立した場合に、車両が直進走行していると推定する。中立点学習ECU50は、直進走行判定条件が成立した場合に、その都度、そのときのステアリングセンサ66によって検出されているハンドル舵角θshを舵角中立点として不揮発性メモリに記憶更新する(学習する)。尚、中立点学習ECU50は、直進走行判定条件が成立した場合のハンドル舵角θshが閾値以上である場合においてのみ、舵角中立点の学習を行うようにしてもよい。この直進走行判定条件には、少なくとも、ヨーレートγの絶対値|γ|が予め設定された直進走行判定閾値γref以下であるという条件が含まれていればよく、他に付加される条件は、任意に設定できるものである。
中立点学習ECU50は、イグニッションスイッチがオンしている期間において、上述した舵角中立点の学習を実施する。中立点学習ECU50は、イグニッションスイッチがオフし再度オンすると、不揮発性メモリに記憶してある学習値を読み込み、直前回に学習した舵角中立点θ0を表す情報をEPS・ECU70に供給する。また、中立点学習ECUは、舵角中立点θ0を学習する都度、その学習した舵角中立点θ0を表す情報をEPS・ECU70に供給する。
ヨーレートセンサ60は、自身の温度に応じて検出値が変化する。このため、中立点学習ECU50は、例えば、車両にヨーレートが発生していないと推定される状況、例えば、車両が停止しているとき(車速V=0)に、ヨーレートセンサ60の出力のゼロ点のずれを補正する。つまり、車両にヨーレートが発生していないと推定される状況におけるヨーレートセンサ60の出力信号を、ヨーレートγがゼロであるとするゼロ点補正処理を実施する。
EPS・ECU70は、電動パワーステアリング装置の制御装置であって、ハンドル舵角演算部71とモータ制御部72とを備えている。ハンドル舵角演算部71は、イグニッションスイッチがオンしたときに、中立学習ECU50から供給された舵角中立点θ0を取得する。ハンドル舵角演算部71は、ステアリングセンサ66によって検出されるハンドル舵角θshと、中立点学習ECU50から供給された舵角中立点θ0と、回転角センサ63によって検出されるピニオンシャフトの回転角θsp(ピニオン角θspと呼ぶ)とを用いて、補正舵角を算出する。補正舵角は、次式によって算出される。
補正舵角=θsp−(θsh−θ0)
この補正舵角の算出は、イグニッションスイッチのオン直後の1回のみ実施される。つまり、その後、中立点学習ECU50からEPS・ECU70に供給された舵角中立点θ0については、補正舵角の算出に利用されない。ハンドル舵角演算部71は、ピニオン角spを操舵ハンドルの回転角に変換したハンドル変換舵角θhを演算する。ハンドル変換舵角θhは、ピニオン角θspから補正舵角を減算して算出される(θh=θsp−補正舵角)。このハンドル変換舵角θhは、補正舵角を基準とした絶対角となる。つまり、ハンドル変換舵角θhは、学習された舵角中立点θ0を基準(舵角ゼロ)として検出されるハンドル舵角(絶対角)を表す。ハンドル変換舵角θhは、その符号(正負)によって操舵方向が特定される。尚、ここでいう補正舵角は、後述する補正舵角θaとは異なり、ハンドル変換舵角θhを算出するために用いられる角度である。
尚、本実施形態においては、後述するLTA制御における目標舵角が操舵ハンドルの回転角で表されるため、シャフトの回転角がハンドル変換舵角θhに変換されるが、LTA制御における目標舵角が他の部位の回転角で表される場合には、その部位の回転角を用いた舵角が演算されればよい。
ハンドル舵角演算部71は、イグニッションスイッチがオンしたときに中立点学習ECU50から取得した舵角中立点θ0を、イグニッションスイッチがオフするまでの期間中、ハンドル変換舵角θhの演算に用いる。
モータ制御部72は、ステアリングシャフトに設けられたトルクセンサ64に接続される。トルクセンサ64は、操舵ハンドルに入力された操舵トルクTrを表す検出信号を出力する。操舵トルクTrは、その符号によって左右方向が特定される。また、モータ制御部72は、図示しないモータ駆動回路を備え、モータ駆動回路を介してアシストモータ73に接続されている。アシストモータ73は、ステアリング機構に組み付けられ、操舵トルクを発生させることによって操舵輪の舵角を変化させる。
モータ制御部72は、トルクセンサ64によって、ドライバーが操舵ハンドル(図示略)に入力した操舵トルクを検出し、この操舵トルクに基づいてアシストモータ73を駆動制御することにより、ステアリング機構に操舵アシストトルクを付与して、ドライバーのハンドル操作が軽くなるように操舵操作をアシストする。
また、モータ制御部72は、運転支援ECU10から操舵指令を受信した場合には、操舵指令(目標舵角θ*)で特定される制御量でアシストモータ73を駆動して操舵アシストトルクを発生させる。この操舵アシストトルクは、上述のドライバーのハンドル操作を軽くするために付与される操舵アシストトルクとは異なり、ドライバーのハンドル操作力を必要とせずに、運転支援ECU10からの操舵指令によってステアリング機構に付与されるトルクを表す。
モータ制御部72は、ハンドル舵角演算部71によって算出されたハンドル変換舵角θhと、運転支援ECU10から送信された目標舵角θ*とを入力し、ハンドル変換舵角θhが目標舵角θ*に追従するように、アシストモータ73への通電を制御して、アシストモータ73にトルクを発生させる。これにより、ドライバーのハンドル操作無しに、車両の走行方向を所望の方向に制御することができる。
運転支援ECU10は、車速センサ61、カメラセンサ65、および、トルクセンサ64に接続されている。カメラセンサ65は、自車両の前方の風景を撮影し、撮影して得られた画像データを解析して、自車両の前方の道路に形成された白線を認識(検出)する。カメラセンサ65は、図2に示すように、左白線LLと右白線LRとを認識し、この左右の白線LL,LRの中央位置となる車線中央ラインを目標走行ラインLdに設定する。また、カメラセンサ65は、目標走行ラインLdのカーブ半径Rを演算する。尚、目標走行ラインLdは、必ずしも、左右の白線の中央位置に設定される必要はなく、中央位置から所定距離だけ左右方向にずらした位置に設定されてもよい。また、目標走行ラインLdは、左白線LLと右白線LRとの何れか一方の認識状態が良好でなくても、他方の白線位置が良好に認識できる場合には、一方の白線位置を推定することにより設定される。
カメラセンサ65は、左白線LLと右白線LRとで区画される走行車線における自車両の位置および向きを演算する。例えば、カメラセンサ65は、図3に示すように、自車両Cの基準点Pと目標走行ラインLdとのあいだの道路幅方向の距離Dy、つまり、自車両Cが目標走行ラインLdに対して道路幅方向にずれている距離Dyを演算する。この距離Dyを横偏差Dyと呼ぶ。尚、基準点Pは、自車両Cの車幅方向中心の位置であって、特定できる位置であれば、任意に設定することができる。例えば、基準点Pは、車両の重心点としてもよい。
また、カメラセンサ65は、図3に示すように、目標走行ラインLdの方向と自車両Cの向いている方向とのなす角度、つまり、目標走行ラインLdの方向に対して自車両Cの向いている方向が水平方向にずれている角度θyを演算する。この角度θyをヨー角θyと呼ぶ。
カメラセンサ65は、演算したカーブ半径R、横偏差Dy、および、ヨー角θyを表す情報(R、Dy、θy)を運転支援ECU10に供給する。カーブ半径R、横偏差Dy、および、ヨー角θyは、その符号によって左右方向が特定される。また、カメラセンサ65は、左右の白線LL,LRのそれぞれの認識レベル(認識できている距離)を表す情報についても運転支援ECU10に供給する。こうしたカメラセンサ65から運転支援ECU10に供給される情報を車線情報と呼ぶ。
尚、本実施形態においては、カメラセンサ65が車線情報を演算により求めるが、それに代えて、運転支援ECU10が車線情報を演算により求めてもよい。この場合、カメラセンサ65が画像データを運転支援ECU10に供給し、運転支援ECU10が、画像データに基づいて車線情報を演算により求める。
運転支援ECU10は、車線維持支援制御を実施する電子制御装置である。車線維持支援制御は、LTA(Lane Trace Assist)制御と呼ばれ、自車両の走行位置が目標走行ライン付近(例えば、走行車線の中央位置)に維持されるように、操舵アシストトルクをステアリング機構に付与してドライバーの操舵操作を支援する制御である。以下、車線維持支援制御をLTA制御と呼ぶ。
運転支援ECU10は、図1に示すように、LTA制御の制御量を演算するための制御量演算部20と、EPS・ECU70が使用している舵角中立点のずれを検出するための中立点ずれ検出部30とを備えている。EPS・ECU70が使用している舵角中立点とは、イグニッションスイッチがオンしたときに、中立点学習ECU50から取得した舵角中立点θ0を表す。舵角中立点のずれとは、ステアリング機構の真の舵角中立点に対するずれを表す。
制御量演算部20は、LTA制御の目標制御量である目標舵角θ*を演算するマイクロコンピュータの機能部であって、フィードフォワード制御部21と、フィードバック制御部22と、積分制御部23と、加算部24と、補正部25とに大別される。図中において、フィードフォワードをFFと表し、フィードバックをFBと表している。
目標舵角θ*は、次式(1)に示すように、基本目標舵角θbase*に補正舵角θaを加算して算出される。
θ*=θbase*+θa ・・・(1)
基本目標舵角θbase*は、次式(2)に示すように、目標走行ラインLdの曲率に応じて設定されるフィードフォワード制御項θFFと、目標走行ラインLdに対する自車両の道路幅方向のずれ量である横偏差Dyに応じて設定される横偏差フィードバック制御項θFBdと、目標走行ラインLdに対する自車両の向きのずれ角であるヨー角θyに応じて設定されるヨー角フィードバック制御項θFByと、横偏差Dyを時間で積分した積分制御項θIとを合算することに算出される。
θbase*=θFF+θFBd+θFBy+θI ・・・(2)
横偏差フィードバック制御項θFBd、および、ヨー角フィードバック制御項θFByは、フィードバック制御項を構成する要素である。以下、両者をまとめてフィードバック制御項θFBと呼ぶこともある(θFB=θFBd+θFBy)。尚、フィードバック制御項θFBは、横偏差フィードバック制御項θFBd、および、ヨー角フィードバック制御項θFByだけでなく、例えば、車両のヨーレートの偏差、車両の横速度の偏差、操舵角の偏差等を用いたフィードバック制御項を加えることもできる。その場合には、ヨーレートセンサ60、横加速度センサ62などの必要となるセンサの検出信号が運転支援ECU10に供給され、目標値と検出値との偏差に応じたフィードバック制御量が演算される。
フィードフォワード制御部21は、フィードフォワード制御項θFFを次式(3)に示す演算式によって演算する。
θFF=(V2/R)×K1 ・・・(3)
ここで、Vは車速、Rは目標走行ラインの曲率半径、K1はフィードフォワード制御ゲインを表す。
フィードバック制御部22は、フィードバック制御項θFBを次式(4)に示す演算式によって演算する。
θFB=θFBd+θFBy ・・・(4)
θFBd=Dy×K2・・・(4−1)
θFBy=θy×K3・・・(4−2)
ここで、K2は横偏差フィードバック制御ゲインを表し、K3はヨー角フィードバック制御ゲインを表す。
積分制御部23は、積分制御項θIを次式(5)に示す演算式によって演算する。
θI=θI(n-1)+Dy×t×K4 ・・・(5)
ここで、θI(n-1)は1演算周期前の積分制御項θIを表し、tは演算周期を表し、K4は横偏差積分制御ゲインを表す。横偏差積分制御ゲインK4は、単位時間あたり(1演算周期あたり)に積分制御項θIを変化させることができる度合を設定する定数として機能する。積分制御項θIは、横偏差Dyを横偏差積分制御ゲインK4に比例させて積分した値である。従って、横偏差積分制御ゲインK4が大きいほど、横偏差Dyが蓄積される速度が速くなる。
加算部24は、上記の式(2)に示すように、フィードフォワード制御項θFFと、フィードバック制御項θFB(=θFBd+θFBy)と、積分制御項θIとを合算して基本目標舵角θbase*を演算する。
EPS・ECU70によって、ハンドル変換舵角θhが基本目標舵角θbase*に追従するようにステアリング機構の舵角が制御されれば(アシストモータ73を制御すれば)、基本的には、自車両を目標走行ラインLdに沿って走行させることができるはずである。しかし、舵角中立点θ0がずれている場合には、ハンドル変換舵角θhもずれてしまい、自車両が目標走行ラインLdから逸脱してしまう。つまり、LTA制御を適切に実施できなくなってしまう。
そこで、補正部25は、上記の式(1)に示すように、基本目標舵角θbase*に補正舵角θaを加算して目標舵角θ*を算出する。この補正舵角θaは、舵角中立点のずれを補償するための補正値であって、中立点ずれ検出部30によって演算される。
ここで、舵角中立点がずれる原因について説明する。
上述したように、ヨーレートセンサ60は、自身の温度に応じて検出値が変化する。中立点学習ECU50は、車両が停止している状況においてヨーレートセンサ60の出力のゼロ点のずれを補正する。しかし、図4に示すように、ヨーレートセンサ60の温度Tyが変化している状況においては、その温度変化と合わせてヨーレートの検出値γも変化する。例えば、車両の起動(イグニッションスイッチのオン:IG−ON)直後においては、エアコンの作動開始等によってヨーレートセンサ60の温度は上昇するため、ヨーレートセンサ60の検出特性が変化する。ヨーレートセンサ60の温度が安定した後であれば、ヨーレートセンサ60のゼロ点補正が実施されることによって、最終的には、ヨーレートセンサ60の検出値は正しい値となる。しかし、ヨーレートセンサ60の温度が変化している状況においては、ヨーレートセンサ60の検出値は正確な値とならない。
中立点学習ECU50は、ヨーレートセンサ60によって検出されたヨーレートγに基づいて、車両が直進走行していると推定されるときのステアリングセンサ66によって検出されているハンドル操舵角θshを舵角中立点θ0として不揮発性メモリに記憶する。このため、ヨーレートセンサ60の検出値が正確でない場合には、中立点学習ECU50の行う車両の直進走行の推定に誤りが発生し、その結果、舵角中立点θ0が真の舵角中立点からずれてしまう。舵角中立点のずれは、図5に示すように、ヨーレートセンサ60の誤差が大きいほど大きくなる。
例えば、寒冷地に駐車されている車両においては、ヨーレートセンサ60が冷え切っている。こうした状況から、イグニッションスイッチがオンすると、エアコン等の作動によってヨーレートセンサ60の温度は上昇する。しかし、ヨーレートセンサ60の温度が安定する前に、イグニッションスイッチがオフし、その間に、舵角中立点が学習されて記憶された場合には、記憶された舵角中立点は正しい値からずれてしまう。
このため、次回のイグニッションスイッチがオンされたときには、EPS・ECU70は、中立点学習ECU50から、ずれた舵角中立点θ0を取得してしまうことになる。EPS・ECU70は、イグニッションスイッチがオンされたときの中立点学習ECU50から取得した舵角中立点θ0を、イグニッションスイッチがオフするまで用いてハンドル変換舵角θhを演算する。このため、イグニッションスイッチがオフされるまで、そのずれた舵角中立点θ0を基準としたハンドル変換舵角θhに基づいて、ステアリング機構の舵角が制御されてしまう。この結果、運転支援ECU10がLTA制御を適切に実施できなくなってしまい、車両が車線から逸脱してしまうおそれがある。
そこで、中立点ずれ検出部30は、舵角中立点のずれを検出し、舵角中立点のずれが閾値以上である場合には、舵角中立点のずれを補償するための補正値を制御量演算部20に送信する。以下、中立点ずれ検出部30の行う処理について説明する。
図6は、中立点ずれ検出部30の行う中立点ずれ検出制御ルーチンを表す。中立点ずれ検出部30は、イグニッションスイッチがオンしたときに、この中立点ずれ検出制御ルーチンを1回だけ実施する。
中立点ずれ検出制御ルーチンが起動すると、中立点ずれ検出部30は、ステップS11において、直進判定、つまり、車両が直進走行しているか否かについての判定処理を実施する。この直進判定は、中立点学習ECU50の実施する直進判定処理とは異なり、ヨーレートセンサ60を用いずに実施される。
中立点ずれ検出部30は、以下の示す7つの条件が全て成立した場合に、車両が直進走行していると判定する。
条件1:車両の走行する車線の曲率C(=1/R)がカーブ判定閾値Cref以下となっている状態が所定時間以上継続していること。
この条件1については、カメラセンサ65によって検出されるカーブ半径Rを用いて、成立の有無が判定される。
条件2:カメラセンサ65が白線を認識できている距離(白線認識距離と呼ぶ)が閾値以上となっている状態が所定時間以上継続していること。
具体的には、左白線認識距離DwLが第1距離判定閾値Dwref1以上であり、右白線認識距離DwRが第1距離判定閾値Dwref1以上であること(条件2−1)。あるいは、左白線認識距離DwLが第1距離判定閾値Dwref1以上であり、右白線認識距離DwRが第2距離判定閾値Dwref2以上であること(条件2−2)。あるいは、左白線認識距離DwLが第2距離判定閾値Dwref2以上であり、右白線認識距離DwRが第1距離判定閾値Dwref1以上であること(条件2−3)。これらの条件2−1,2−2,2−3の少なくとも1つが成立している状態が所定時間継続していること。
ここで、第1距離判定閾値Dwref1>第2距離判定閾値Dwref2という関係を有する。従って、この条件2は、左右両方の白線認識距離が第2距離判定閾値Dwref2以上であり、少なくとも左右一方の白線認識距離が第1距離判定閾値Dwref1以上であることが所定時間継続すると成立する。
条件3:横偏差Dyの変化量が閾値以下となっている状態が所定時間以上継続していること。
この条件3は、ドライバが操舵ハンドルを動かさずに、車両がまっすぐに走行していることを判定するための条件として設定されている。
具体的には、今回のカメラセンサ65によって検出された横偏差Dy(n)から前回(1検出周期前)のカメラセンサ65によって検出された横偏差Dy(n-1)を減算した値の絶対値が横偏差変化量閾値以下であること(条件3−1)。かつ、カメラセンサ65が左白線LLを認識していること、あるいは、カメラセンサ65が右白線LRを認識していること、あるいは、カメラセンサ65が左右の白線LL,LWを認識していること(条件3−2)。条件3−1と条件3−2との両方が成立している状態が所定時間継続していること。
尚、カメラセンサ65によって検出される値(R,Dy,θy)は、ノイズ除去用にフィルタ処理された後の値である。
条件4:車速が直進判定許可閾値以上となる状態が所定時間以上継続していること。
条件5:ハンドル変換舵角速度の変化量が閾値以下となっている状態が所定時間以上継続していること。
この条件3は、ドライバが操舵ハンドルを急に回動操作していないことを判定するための条件として設定されている。
具体的には、EPS・ECU70から送信されるハンドル変換舵角θhを微分したハンドル変換舵角速度ωhについて、今回検出されたハンドル変換舵角速度ωh(n)から前回(1検出周期前)に検出されたハンドル変換舵角速度ωh(n-1)を減算した値の絶対値が舵角速度変化閾値以下であるという状態が所定時間以上継続していること。尚、ハンドル変換舵角速度ωhについても、ノイズ除去用にフィルタ処理された後の値である。
条件6:ヨー角θyの絶対値|θy|が閾値以下となっている状態が所定時間以上継続していること。
条件7:操舵トルクTrの絶対値|Tr|が閾値以下となっている状態が所定時間以上継続していること。尚、操舵トルクTrについても、ノイズ除去用にフィルタ処理された後の値である。
図6の中立点ずれ検出制御ルーチンの説明に戻り、中立点ずれ検出部30は、車両が直進走行していると判定しない間(S11:No)は、その直進判定処理を繰り返す。そして、車両が直進走行していると判定した場合、中立点ずれ検出部30は、ステップS12において舵角中立点を学習する。舵角中立点の学習は、誤学習防止のため、所定時間(適合値)かけて行う。学習された舵角中立点を学習値θstudyと呼ぶ。学習値θstudyは、次式によって演算される。
θstudy=θh×Kstudy+θstudy(n-1)×(1−Kstudy)
ここで、θstudy(n-1)は前回の学習値である。θhは、現時点におけるEPS・ECU70から取得したハンドル変換舵角である。
また、Kstudyは、学習制御ゲインであって、次式によって演算される。
Kstudy=exp(−2×π×定数(Hz)×演算周期×直進判定回数)
続いて、中立点ずれ検出部30は、ステップS13において、舵角中立点の学習を所定回数行ったか否かについて判定する。所定回数の舵角中立点の学習が完了していない場合には、中立点ずれ検出部30は、その処理をステップS11に戻して上述した処理を繰り返す。こうして直進判定がなされるたびに、舵角中立点の学習が行われる。
中立点ずれ検出部30は、所定回数の舵角中立点の学習が完了すると(S13:Yes)、ステップS14において、LTA制御の実施を許可する許可信号を制御量演算部20に送信する。運転支援ECU10は、イグニッションスイッチがオンされていても、中立点ずれ検出部30が上記の許可信号を出力しない限り、LTA制御の実施が禁止されている。制御量演算部20は、許可信号が送信された後において、LTA制御の開始条件が成立した場合に、LTA制御量(目標舵角θ*)を演算して、LTA制御を開始する。
尚、LTA制御においては、図示しない設定操作器の操作によってLTA制御が要求されている場合であって、かつ、車速VがLTA許可車速範囲であり、白線認識レベルが基準を満足している場合等において、その開始条件が成立する。
EPS・ECU70の認識している舵角中立点が真の値である場合には、学習値θstudyがゼロ、あるいは、ゼロ近傍の値になるはずである。従って、ステップS12で学習した学習値θstudyは、舵角中立点のずれを表している。このため、ステップS13における舵角中立点の学習の完了とは、舵角中立点のずれの検出の完了を表している。
こうして舵角中立点の学習が完了すると、中立点ずれ検出部30は、ステップS15において、学習値θstudyがずれ判定閾値θref以上であるか否かについて判定する。中立点ずれ検出部30は、学習値θstudyがずれ判定閾値θref以上である場合(S15:Yes)、ステップS16において、補正舵角θaに学習値θstudyを代入する。従って、中立点ずれ検出部30は、学習値θstudyと同じ値の補正舵角θaを制御量演算部20に送信する。ずれ判定閾値θrefは、舵角中立点のずれを許容できる境界を設定した値である。
一方、学習値θstudyがずれ判定閾値θref未満である場合(S15:No)、中立点ずれ検出部30は、ステップS17において、補正舵角θaに値「0」を代入する。従って、中立点ずれ検出部30は、ゼロに設定した補正舵角θaを制御量演算部20に送信する。
中立点ずれ検出部30は、ステップS16あるいはステップS17において、補正舵角θaを設定して制御量演算部20に送信すると、中立点ずれ検出制御ルーチンを終了する。
制御量演算部20においては、補正部25が、基本目標舵角θbase*に補正舵角θaを加算することによって、舵角中立点のずれを加味した最終的な目標舵角θ*を算出する(θ*=θbase*+θa)。この目標舵角θ*は、EPS・ECU70のモータ制御部72に送信される。モータ制御部72は、ハンドル変換舵角が目標舵角θ*に追従するようにアシストモータ73の通電を制御する。これにより、EPS・ECU70が認識している舵角中立点が真の値からずれている場合であっても、車両を目標走行ラインLdに沿って走行させることができる。尚、補正舵角θaの符号(正負)は、舵角中立点のずれによるハンドル変換舵角のずれを減らす方向に設定される。
以上説明した本実施形態の操舵支援装置によれば、ヨーレートセンサ60を用いずに、EPS・ECU70が認識している舵角中立点のずれが演算され、この舵角中立点のずれの演算が完了する(S13:Yes)までは、LTA制御の実施が禁止される。そして、舵角中立点のずれの演算が完了した後において、LTA制御の実施が許可される。また、LTA制御を実施するにあたっては、舵角中立点のずれを加味した目標舵角θ*を使って舵角が制御される。この結果、温度によって検出特性が変化するヨーレートセンサ60を用いて舵角中立点が演算される車両システムであっても、適正にLTA制御を実施することができ、車両が車線から逸脱してしまうことを抑制することができる。
<中立点ずれ検出制御ルーチンの変形例>
次に、中立点ずれ検出制御ルーチンの変形例について説明する。図7は、中立点ずれ検出制御ルーチンの変形例を表す。中立点ずれ検出部30は、イグニッションスイッチがオンしたときに、この変形例の中立点ずれ検出制御ルーチンを1回だけ実施する。
変形例の中立点ずれ検出制御ルーチンが起動すると、中立点ずれ検出部30は、ステップS21において、直進判定、つまり、車両が直進走行しているか否かについての判定処理を実施する。この直進判定処理は、上述した実施形態のステップS11と同じ処理である。
中立点ずれ検出部30は、車両が直進走行していると判定しない間(S21:No)は、その直進判定処理を繰り返す。そして、車両が直進走行していると判定した場合、中立点ずれ検出部30は、ステップS22において、カメラセンサ65によって検出される道路曲率C(=1/R)に基づいて車両の舵角を演算する。この舵角をカメラ検出舵角θcと呼ぶ。カメラ検出舵角θcは、次式によって演算される。
θc=(1+A×V2)×I×C
ここで、Aはスタビリティファクタ、Vは車速、Iはホイールベースである。
続いて、中立点ずれ検出部30は、ステップS23において、カメラ検出舵角θcとハンドル変換舵角θhとの差を表す舵角差Δθ(=θc−θh)を算出する。EPS・ECU70が認識している舵角中立点が真の値である場合(舵角中立点がずれていない場合)には、舵角差Δθは、ゼロ、あるいは、ゼロ近傍の値になるはずである。
続いて、中立点ずれ検出部30は、ステップS24において、直進判定回数(ステップS21にてYesと判定された回数)が閾値Nref以上になったか否かについて判定する。中立点ずれ検出部30は、直進判定回数が閾値Nref未満である場合には、その処理をステップS21に戻して上述した処理を繰り返す。こうして直進判定がなされるたびに、舵角差Δθが算出される。この舵角差Δθは、算出される都度、記憶される。
中立点ずれ検出部30は、直進判定回数が閾値Nref以上に達すると(S24:Yes)、ステップS25において、舵角差Δθの平均値である舵角差平均値Δθave(=ΣΔθ/Nref)を演算する。ΣΔθは、ステップS23において算出した舵角差Δθの合計値である。この舵角差平均値Δθaveは、舵角中立点のずれを表している。
続いて、中立点ずれ検出部30は、ステップS26において、舵角差平均値Δθaveの絶対値|Δθave|が制御許可判定閾値Δθref1以下であるか否かについて判定する。舵角差平均値Δθaveの絶対値|Δθave|が制御許可判定閾値Δθref1以下である場合(S26:Yes)、中立点ずれ検出部30は、ステップS27において、LTA制御の実施を許可する許可信号を制御量演算部20に送信する。
一方、舵角差平均値Δθaveの絶対値|Δθave|が制御許可判定閾値Δθref1を超える場合(S26:No)、中立点ずれ検出部30は、ステップS28において、LTA制御の実施を禁止する禁止信号を制御量演算部20に送信して、中立点ずれ検出制御ルーチンを終了する。この禁止信号は、イグニッションスイッチが一旦オフされるまで有効となる。従って、今回のイグニッションスイッチがオンしている期間においては、LTA制御の開始条件が成立しても、LTA制御は実施されない。
中立点ずれ検出部30は、ステップS27の処理を実施した場合には、続いて、ステップS29において、舵角差平均値Δθaveの絶対値|Δθave|がずれ判定閾値Δθref2以上であるか否かについて判定する。ずれ判定閾値Δθref2は、舵角中立点のずれを許容できる境界を設定した値であり、制御許可判定閾値Δθref1よりも小さな値である。
舵角差平均値Δθaveの絶対値|Δθave|がずれ判定閾値Δθref2以上である場合(S29:Yes)、中立点ずれ検出部30は、ステップS30において、補正舵角θaに舵角差平均値Δθaveを代入する。従って、中立点ずれ検出部30は、舵角差平均値Δθaveと同じ値の補正舵角θaを制御量演算部20に送信する。
一方、舵角差平均値Δθaveの絶対値|Δθave|がずれ判定閾値Δθref2未満である場合(S29:No)、中立点ずれ検出部30は、ステップS31において、補正舵角θaに値「0」を代入する。従って、中立点ずれ検出部30は、ゼロに設定した補正舵角θaを制御量演算部20に送信する。
中立点ずれ検出部30は、ステップS30あるいはステップS31において、補正舵角θaを設定して制御量演算部20に送信すると、変形例の中立点ずれ検出制御ルーチンを終了する。
この変形例においても、実施形態と同様の作用効果を奏する。尚、変形例においては、舵角中立点のずれが大きい場合(S26:No)は、LTA制御が禁止される(S28)。
以上、本実施形態に係る車両の操舵支援装置について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の目的を逸脱しない限りにおいて種々の変更が可能である。
例えば、実施形態の中立点ずれ検出制御ルーチンでは、舵角中立点のずれを検出した後に、舵角中立点のずれの程度に関係なくLTA制御の実施を許可している(S14)が、それに代えて、変形例の中立点ずれ検出制御ルーチンのように、舵角中立点のずれが大きい場合には、LTA制御の実施を禁止する(S28)ようにしてもよい。
逆に、変形例の中立点ずれ検出制御ルーチンでは、舵角中立点のずれが大きい場合には、LTA制御の実施を禁止している(S28)が、それに代えて、実施形態の中立点ずれ検出制御ルーチンのように、舵角中立点のずれの程度に関係なくLTA制御の実施を許可するようにしてもよい。
また、本実施形態においては、カメラセンサ65によって白線を検出し、その白線に基づいて目標走行ラインLdを設定するが、例えば、自車両の前方に先行車両が存在する場合には、先行車両の走行軌跡を目標走行ラインLdに設定することもできる。この場合には、例えば、ミリ波レーダー、ライダー(LIDAR)などを用いて先行車両を検出することにより先行車両の走行軌跡を取得することができる。
また、本実施形態においては、EPS・ECU70は、イグニッションスイッチがオンされたときに中立点学習ECU50から取得した舵角中立点を、イグニッションスイッチがオフするまで使用するが、イグニッションスイッチがオンしている期間の途中で、中立点学習ECU50が学習した最新の舵角中立点に更新するようにしてもよい。その場合には、中立点ずれ検出部30は、EPS・ECU70の舵角中立点の更新に合わせて、中立点ずれ検出制御ルーチンを再度実施するとよい。
また、本実施形態においては、積分制御部23は、横偏差Dyの積分を演算するが、横偏差Dyの積分にヨー角θyの積分を加えた値を演算するようにしてもよい。