以下、車両用制御装置の一実施形態を説明する。
図1に示すように、車両Aには、後述する操舵機構2に対して車両の進行方向を自動的に変化させる動力を付与するように構成されている自動操舵装置1が搭載されている。
操舵機構2は、ユーザーにより操作されるステアリングホイール10と、ステアリングホイール10と固定されるステアリングシャフト11とを備えている。ステアリングシャフト11は、ステアリングホイール10と連結されたコラムシャフト11aと、コラムシャフト11aの下端部に連結されたインターミディエイトシャフト11bと、インターミディエイトシャフト11bの下端部に連結されたピニオンシャフト11cとを有している。ピニオンシャフト11cの下端部は、ラックアンドピニオン機構13を介してラックシャフト12に連結されている。ステアリングシャフト11の回転運動は、ラックアンドピニオン機構13を介してラックシャフト12の軸方向の往復直線運動に変換される。この往復直線運動が、ラックシャフト12の両端にそれぞれ連結されたタイロッド14を介して、左右の転舵輪15にそれぞれ伝達されることにより、これら転舵輪15の転舵角が変化する。
ステアリングホイール10と固定されたコラムシャフト11aの途中には、操舵機構2に対して動力として付与する操舵力の発生源であるモータ20を有する操舵力付与機構3が設けられている。例えば、モータ20は、3相(U,V,W)の駆動電力に基づいて回転する3相ブラシレスモータである。モータ20の回転軸21は、減速機構22を介してコラムシャフト11aに連結されている。操舵力付与機構3は、モータ20の回転軸21の回転力を減速機構22を介してコラムシャフト11aに伝達する。このコラムシャフト11aに付与されるモータ20のトルク(回転力)が操舵力となり、左右の転舵輪15の転舵角を変化させる。
モータ20には、モータ20の状態量である回転角度や電流を制御する状態量制御によって、モータ20の駆動を制御する操舵ECU30が接続されている。操舵ECU30は、車両Aに設けられる各種のセンサの検出結果に基づいてモータ20の駆動を制御する。各種のセンサとしては、例えば、トルクセンサ40、回転角センサ41、車速センサ42、及びヨーレートセンサ43がある。トルクセンサ40はコラムシャフト11aに設けられ、回転角センサ41はモータ20に設けられている。トルクセンサ40は、ユーザーのステアリング操作によりステアリングシャフト11に生じる操舵トルクThを検出する。回転角センサ41は、モータ20の状態量のうちの回転角度として回転軸21の回転角度θmを検出する。車速センサ42は、車両Aの走行速度である車速Vを検出する。ヨーレートセンサ43は、車両Aの重心点を通る鉛直軸回りの回転角速度、すなわちヨーレートYrを検出する。本実施形態において、操舵ECU30は車両用制御装置の一例である。
操舵ECU30には、車載される自動操舵ECU4が接続されている。自動操舵ECU4は、車両の走行状態に応じて車両の進行方向を自動的に変化させる自動操舵の制御を操舵ECU30に対して指示するものである。
自動操舵ECU4には、車両の走行状態を示す車両情報θconが入力される。車両情報θconは、カーナビ等のGPSや車速センサ42やヨーレートセンサ43やその他の車載センサ(カメラ、距離センサ、レーザー等)や車路間通信により認識される車両の周辺環境を含む車両の走行状態を示す各種情報である。自動操舵ECU4は、車両情報θconに基づき生成する自動操舵の制御に用いる角度指令値θs*を操舵ECU30に対して出力する。本実施形態において、角度指令値θs*は指令状態量の一例である。
なお、操舵ECU30には、図示しない切替スイッチが接続されている。切替スイッチは、ユーザーにより操作され、操舵ECU30が自動操舵の制御を実行する自動操舵モードを設定するか否かの切り替えを指示するものである。本実施形態において、操舵ECU30は、自動操舵モードの設定が指示される間、自動操舵に関わる自動操舵制御を実行し、ユーザーによるステアリング操作の介入操作があれば自動操舵制御と並行してステアリング操作を補助する介入操舵制御を実行する。また、操舵ECU30は、自動操舵モードの設定が指示されない間(設定しないことが指示される間)、自動操舵制御を実行しないで、ステアリング操作を補助するEPS制御を実行する。この場合、操舵ECU30は、自動操舵ECU4が出力する角度指令値θs*を無効にしたり入力しないようにしたりすればよい。
次に、自動操舵装置1の電気的構成について説明する。
図2に示すように、操舵ECU30は、モータ制御信号Smを生成する操舵用マイコン(マイクロコンピュータ)31と、そのモータ制御信号Smに基づいてモータ20に駆動電力として電流を供給する駆動回路32と、モータ20の状態量のうちの実電流Iを検出する電流センサ33とを備えている。
操舵用マイコン31は、モータ制御信号Smを生成するための電流指令値Is*を演算する、位置フィードバック制御部(以下、「位置F/B制御部」という)50及び電流フィードバック制御部(以下、「電流F/B制御部」という)51を有している。また、操舵用マイコン31は、位置F/B制御部50及び電流F/B制御部51を通じて演算された電流指令値Is*に基づきモータ制御信号Smを生成してPWM信号として出力する、制御信号生成部52を有している。また、操舵用マイコン31は、車両Aの走行状態に応じて、位置F/B制御部50及び電流F/B制御部51の制御状態を変更するように制御する、外乱判定部53及びゲイン制御部54を有している。本実施形態において、位置F/B制御部50は位置制御部の一例であり、電流F/B制御部51は電流制御部の一例である。また、ゲイン制御部54は応答性制御部の一例である。
なお、自動操舵ECU4は、自動操舵制御を実行する場合、車両情報θconに基づき車両Aの挙動を制御する上で最適な角度指令値θs*を生成する目標回転角演算を所定周期毎に実行する。角度指令値θs*は、転舵輪15の転舵角に換算可能な回転角、例えば、ステアリングホイール10の回転角である操舵角θsの自動操舵制御における目標値である。そして、自動操舵ECU4は、生成した角度指令値θs*を操舵ECU30の操舵用マイコン31に所定周期毎に出力する。角度指令値θs*に基づいては、操舵用マイコン31がモータ20の駆動を制御する。
操舵用マイコン31は、所定周期毎に入力する角度指令値θs*を、所定の変換係数を用いて、モータ20の回転角度θmに変換する変換器55を有している。変換器55は、角度指令値θs*を回転角度指令値θm*に変換する。このように、転舵輪15の転舵角に換算可能な回転角とモータ20の回転角度θmとは、相関があり、互いに変換(換算)することのできる状態量である。本実施形態において、回転角度θmは舵角情報の一例である。
ここで、操舵用マイコン31の機能について詳しく説明する。
位置F/B制御部50には、変換器55で変換された回転角度指令値θm*、及びその時に回転角センサ41で検出される回転角度θmを位置減算器50aが減算して得られる角度偏差Δθが入力される。位置F/B制御部50は、角度偏差Δθを入力すると、比例制御+積分制御+微分制御(PID制御)を実行し、電流指令値Is*を生成して出力する。
位置F/B制御部50は、角度偏差Δθ及び位置フィードバックゲイン(以下、「位置ゲイン」という)Kaに基づくフィードバック演算を実行することにより、電流指令値Is*を生成する位置フィードバック制御を実行する。なお、位置ゲインKaは、フィードバック演算において、角度偏差Δθに乗算される比例ゲイン、同じく角度偏差Δθに乗算される微分ゲイン、同じく角度偏差Δθに乗算される積分ゲインの組み合わせである。位置F/B制御部50は、比例ゲイン、微分ゲイン、及び積分ゲインをそれぞれ角度偏差Δθに乗算して得られる各成分を加算することにより、電流指令値Is*を生成する。そして、位置F/B制御部50は、電流指令値Is*を電流減算器51aに対して出力する。
位置F/B制御部50には、ゲイン制御部54を通じて位置ゲインKaが指示される。位置F/B制御部50は、ゲイン制御部54を通じて指示される位置ゲインKaに基づいて、位置ゲインKaを変更してフィードバック演算を実行するように構成されている。位置ゲインKaは、位置F/B制御部50の応答性が最も低下する小ゲインKa1と、位置F/B制御部50の応答性が最も上昇する大ゲインKa0との範囲で変更される。なお、位置ゲインKaは、大ゲインKa0を通常用いるように構成されている。
電流F/B制御部51には、位置F/B制御部50が出力する電流指令値Is*、及びその時に電流センサ33で検出される実電流Iを電流減算器51aが減算して得られる電流偏差ΔIが入力される。電流F/B制御部51は、電流偏差ΔIを入力すると、比例制御+積分制御+微分制御(PID制御)を実行し、電圧指令値Vs*を生成して出力する。
電流F/B制御部51は、電流偏差ΔI及び電流フィードバックゲイン(以下、「電流ゲイン」という)Kbに基づくフィードバック演算を実行することにより、電圧指令値Vs*を生成する電流フィードバック制御を実行する。なお、電流ゲインKbは、フィードバック演算において、電流偏差ΔIに乗算される比例ゲイン、同じく電流偏差ΔIに乗算される微分ゲイン、同じく電流偏差ΔIに乗算される積分ゲインの組み合わせである。電流F/B制御部51は、比例ゲイン、微分ゲイン、及び積分ゲインをそれぞれ電流偏差ΔIに乗算して得られる各成分を加算することにより、電圧指令値Vs*を生成する。そして、電流F/B制御部51は、電圧指令値Vs*を制御信号生成部52に対して出力する。制御信号生成部52は、駆動回路32を駆動させるためのモータ制御信号Smを生成し、該モータ制御信号Smに基づくPWM信号を駆動回路32に対して出力する。
電流F/B制御部51には、ゲイン制御部54を通じて電流ゲインKbが指示される。電流F/B制御部51は、ゲイン制御部54を通じて指示される電流ゲインKbに基づいて、電流ゲインKbを変更してフィードバック演算を実行するように構成されている。電流ゲインKbは、電流F/B制御部51の応答性が最も低下する小ゲインKb0と、電流F/B制御部51の応答性が最も上昇する大ゲインKb1との範囲で変更される。なお、電流ゲインKbは、小ゲインKb0を通常用いるように構成されている。
なお、制御信号生成部52には、電流指令値Is*に基づく電圧指令値Vs*の他、トルクセンサ40が出力する操舵トルクThに基づいて、モータ20に出力させるべきモータトルクを示す操舵力(アシストトルク)の目標値として演算される電流指令値It*に応じた電圧指令値Vt*も入力される。制御信号生成部52には、自動操舵制御と並行して介入操舵制御が実行される場合、電圧指令値Vs*及び電圧指令値Vt*を加算したものが入力される。電流指令値It*は、介入操舵制御やEPS制御の必要がない場合、零(ゼロ)である。この電流指令値It*、すなわちアシストトルクによっては、ユーザーのステアリング操作が補助される。なお、電流指令値It*は、操舵用マイコン31において、位置F/B制御部50や電流F/B制御部51等とは別に設けられる図示しないアシストトルク演算部やアシストトルク電流F/B制御部等によって演算される。
外乱判定部53には、ヨーレートセンサ43で検出されるヨーレートYr、及び回転角センサ41で検出される回転角度θmが入力される。外乱判定部53は、横風やバンク等の外乱が車両Aに作用している場合に、当該外乱を自動操舵制御において無視できるか否かを判定し、その結果を外乱対応FLGとしてゲイン制御部54に対して出力する。なお、外乱対応FLGは、外乱を自動操舵制御において無視できる場合に「ON(オン)」を出力し、外乱を自動操舵制御において無視できない場合に「OFF(オフ)」を出力する。
例えば、横風が車両Aに作用したとき、この横風によって車両Aの重心点を通る鉛直軸回りに車両Aを旋回や方向転換させる力、すなわちヨーイングモーメントが車両Aに作用する。そして、ヨーレートYrによっては、車両Aに作用しているヨーイングモーメントの大きさを判定することができる。また、ヨーレートYr及び回転角度θmによっては、車両Aに作用しているヨーイングモーメントによって転舵輪15の転舵角、すなわち車両の進行方向がどれだけずらされているかを判定することができる。換言すれば、横風が車両Aに作用したとき、この横風が車両の進行方向を大きくずらすほど大きいヨーイングモーメントを生じさせているのかどうかを判定することができる。特に車両の進行方向を大きくずらすほど大きいヨーイングモーメントを生じさせる横風は、自動操舵制御において無視できない場合もある。
ゲイン制御部54には、外乱判定部53を通じて外乱対応FLGが入力される。ゲイン制御部54は、外乱対応FLGに基づいて、位置ゲインKa及び電流ゲインKbを位置F/B制御部50及び電流F/B制御部51に対して指示する。
図2に示すように、位置ゲインKaにおける大ゲインKa0及び電流ゲインKbにおける小ゲインKb0は、外乱を自動操舵制御において無視できる状況を想定し、この状況を通常制御状態とした場合の位置F/B制御部50及び電流F/B制御部51の応答性を最適化するように設定されたものである。
一方、位置ゲインKaにおける小ゲインKa1及び電流ゲインKbにおける大ゲインKb1は、外乱を自動操舵制御において無視できない状況を想定し、この通常制御状態ではない制御状態の位置F/B制御部50及び電流F/B制御部51の応答性を最適化するように設定されたものである。
ここで、外乱判定部53が実行する外乱判定処理、及びゲイン制御部54が実行するゲイン設定処理について説明する。なお、外乱判定部53及びゲイン制御部54は、所定周期毎に以下の処理を繰り返し実行する。所定周期は、位置F/B制御部50及び電流F/B制御部51のそれぞれがフィードバック演算を実行する周期(例えば、モータ20の駆動を制御する周期)よりも長い周期である。
まず、外乱判定処理について説明する。
図3に示すように、外乱判定部53は、車両が直進中であるか又は外乱対応FLGが「ON」であるか、いずれでもないかを判定する(S10)。S10にて、外乱判定部53は、角度指令値θs*に基づいて、当該角度指令値θs*の変化幅(絶対値)が閾値θsthの範囲内にあるか否かを判定することによって、車両が直進中であるか否かを判定する。閾値θsthは、角度指令値θs*、すなわち車両の進行方向が変化していないと判断できるとして経験的に求められる値に設定される。また、S10にて、外乱判定部53は、後述のS40の処理で既に(今回よりも前の実行済の外乱判定処理で既に)外乱対応FLGに「ON」を設定し、その設定中であるか否かを判定する。
外乱判定部53は、車両が直進中である又は外乱対応FLGが「ON」の場合(S10:YES)、ヨーレートYrが閾値Yrthを超えているか否かを判定する(S20)。S20にて、外乱判定部53は、車両の進行方向を大きくずらさせる可能性のあるほど大きい外乱が車両Aに作用しているか否かを判定する。閾値Yrthは、横風やバンク等の外乱が車両Aに作用したとき、車両の進行方向を大きくずらさせる可能性がある大きさのヨーイングモーメントを生じさせると判断できるとして経験的に求められる値に設定される。なお、本実施形態において、車両の進行方向のずれは、転舵輪15の転舵角に相関のある回転角度θmの変化に基づいて判断される。
そして、外乱判定部53は、車両の進行方向を大きくずらさせる可能性があるほど大きい外乱が車両Aに作用している場合(S20:YES)、回転角度θmが閾値θmthを超えているかを判定する(S30)。S30にて、外乱判定部53は、S20で判定した外乱によって実際に車両の進行方向(転舵輪15の転舵角)が大きくずらされたか否か、すなわちS20で判定した外乱を自動操舵制御において無視できるか否かを判定する。閾値θmthは、横風やバンク等の外乱が車両Aに作用したとき、外乱による回転角度θmのずれのうち許容することができるとして経験的に求められる値に設定される。換言すれば、閾値θmthは、この値を超えてしまうと、横風やバンク等の外乱が車両Aに作用したとき、この外乱を自動操舵制御において無視できなくなると判断できる値である。
外乱判定部53は、S20で判定した外乱を自動操舵制御において無視できないと判断できる場合(S30:YES)、「ON」の設定を指示する外乱対応FLGを出力し(S40)、外乱判定処理を終了する。なお、外乱判定部53は、出力した外乱対応FLGの内容を所定の記憶領域に記憶する。
一方、外乱判定部53は、S10:NO、S20:NO、又はS30:NOの場合、「OFF」の設定を指示する外乱対応FLGを出力し(S50)、外乱判定処理を終了する。S10:NOは、車両が直進中である及び外乱対応FLGが「ON」のいずれでもない、すなわち車両が直進中でない且つ外乱対応FLGが「OFF」であることを判定している。S20:NOは、ヨーレートYrが閾値Yrthを超えていない、すなわち車両の進行方向を大きくずらさせる可能性があるほど大きい外乱が車両Aに作用していないことを判定している。S30:NOは、回転角度θmが閾値θmthを超えていない、すなわちS20で判定した外乱が自動操舵制御において無視できることを判定している。なお、外乱判定部53は、出力した外乱対応FLGの内容を所定の記憶領域に記憶する。
次に、ゲイン設定処理について説明する。なお、ゲイン制御部54は、位置F/B制御部50の位置ゲインKaを指示する処理と、電流F/B制御部51の電流ゲインKbを指示する処理とを同周期内で別々に実行する。ただし、位置ゲインKa及び電流ゲインKbを指示する処理は同一処理からなるため、以下では、便宜上、位置ゲインKaを指示する処理を中心に説明し、電流ゲインKbを指示する処理については簡略化して説明する。
図4に示すように、ゲイン制御部54は、外乱対応FLGとして「ON」が指示されているか否かを判定する(S100)。ゲイン制御部54は、外乱判定部53が出力する外乱対応FLGの内容を所定の記憶領域に記憶しており、この記憶の内容に基づいて、S100の判定処理を実行する。
ゲイン制御部54は、外乱対応FLGとして「ON」が指示されている場合(S100:YES)、今回の位置ゲインKaとして、小ゲインKa1となるゲインの組み合わせを位置F/B制御部50に対して指示(S110)し、ゲイン設定処理を終了する。S110にて、ゲイン制御部54は、外乱が車両Aに作用していて、この外乱を自動操舵制御において無視できない場合、通常制御状態で用いる大ゲインKa0に対して小さい小ゲインKa1に変更(設定)することを指示する。
同じく、ゲイン制御部54は、外乱が車両Aに作用していて、この外乱を自動操舵制御において無視できない場合、電流ゲインKbについて、通常制御状態で用いる小ゲインKb0に対して大きい大ゲインKb1となるゲインの組み合わせを電流F/B制御部51に対して指示する。
一方、ゲイン制御部54は、外乱対応FLGとして「OFF」が指示されている場合(S100:NO)、通常制御状態で用いる大ゲインKa0及び前回までの位置ゲインKaとの差の絶対値が閾値Kathを越えているか否かを判定する(S120)。S120にて、ゲイン制御部54は、外乱対応FLGが「OFF」であることから、位置ゲインKaとして、大ゲインKa0の設定を指示すべきであるが、例えば、前回の外乱対応FLGが「ON」であった場合等、大ゲインKa0を設定してしまうと位置ゲインKaに急激な変化を与える可能性があるか否かを判定する。閾値Kathは、大ゲインKa0を設定しても位置ゲインKaに急激な変化を与える可能性がないと判断できるとして経験的に求められる値に設定される。なお、前回の外乱対応FLGが「ON」であって、外乱対応FLGとして「OFF」が指示される場合、車両Aに作用している外乱を自動操舵制御において無視できない外乱が車両Aに作用している状態が解消されたことを示している。また、ゲイン制御部54は、設定を指示したゲインの内容を所定の記憶領域に記憶する。
同じく、ゲイン制御部54は、電流ゲインKbについて、通常制御状態で用いる小ゲインKb0及び前回までの電流ゲインKbとの差の絶対値が閾値Kbthを越えているか否かを判定し、電流ゲインKbとして小ゲインKb0を設定してしまうと電流ゲインKbに急激な変化を与える可能性があるか否かを判定する。閾値Kbthは、小ゲインKb0を設定しても電流ゲインKbに急激な変化を与える可能性がないと判断できるとして経験的に求められる値に設定される。
そして、ゲイン制御部54は、大ゲインKa0を設定してしまうと位置ゲインKaに急激な変化を与える可能性がある場合(S120:YES)、前回の位置ゲインKaに基づいて、今回の位置ゲインKaを演算し(S130)、ゲイン設定処理を終了する。S130にて、ゲイン制御部54は、前回の位置ゲインKaに対して、大ゲインKa0及び前回の位置ゲインKaの差を1以上の数値m(本実施形態では「2」)で除算したものを加算して得られるゲインの組み合わせを位置F/B制御部50に対して指示する。
同じく、ゲイン制御部54は、電流ゲインKbについて、小ゲインKb0を設定してしまうと電流ゲインKbに急激な変化を与える可能性がある場合、前回の電流ゲインKbに基づいて、今回の電流ゲインKbを演算する。同じくここで、ゲイン制御部54は、前回の電流ゲインKbに対して、小ゲインKb0及び前回の電流ゲインKbの差を1以上の数値n(本実施形態では位置ゲインKbの演算の場合と同一の「2」)で除算したものを加算して得られるゲインの組み合わせを位置F/B制御部50に対して指示する。
このように、S120:YESの間、S130の処理が繰り返される結果、例えば、位置ゲインKaについて、小ゲインKa1が設定されていた状態から大ゲインKa0を設定すべき状態への移行時、位置ゲインKaは、小ゲインKa1から大ゲインKa0まで所定周期毎に徐々に変更される。これは、電流ゲインKbについても同様である。最終的に、位置ゲインKaは、通常制御状態で用いる大ゲインKa0及び前回までの位置ゲインKaとの差の絶対値が閾値Kathを越えないようになる。
そして、ゲイン制御部54は、通常制御状態で用いる大ゲインKa0及び前回までの位置ゲインKaとの差の絶対値が閾値Kathを越えない場合(S120:NO)、今回の位置ゲインKaとして、大ゲインKa0となるゲインの組み合わせを位置F/B制御部50に対して指示し(S140)、ゲイン設定処理を終了する。
同じく、ゲイン制御部54は、電流ゲインKbについて、通常制御状態で用いる小ゲインKb0及び前回までの電流ゲインKbとの差の絶対値が閾値Kbthを越えない場合、今回の電流ゲインKbとして、小ゲインKb0となるゲインの組み合わせを電流F/B制御部51に対して指示する。
なお、本実施形態では、位置ゲインKa及び電流ゲインKbの間で、大ゲインKa0及び小ゲインKa1の差の絶対値と、小ゲインKb0及び大ゲインKb1の差の絶対値とが同一の値に設定されている。そのため、位置ゲインKa及び電流ゲインKbの間で、大ゲインKa0及び小ゲインKb0が同一タイミング(周期)で設定されるとともに、小ゲインKa1及び大ゲインKb1が同一タイミング(周期)で設定されるように構成されている。これにより、位置F/B制御部50が大ゲインKa0でフィードバック演算を実行する場合、電流F/B制御部51が小ゲインKb0でフィードバック演算を実行する。また、位置F/B制御部50が小ゲインKa1でフィードバック演算を実行する場合、電流F/B制御部51が大ゲインKb1でフィードバック演算を実行する。
以上に説明した本実施形態によれば、以下に示す作用及び効果を奏する。
(1)本実施形態では、ヨーレートYrと回転角度θmとを把握し、これにより横風やバンク等の外乱が車両Aに作用することによって車両の進行方向がどの程度ずらされたかを推定することができるようになっている。なお、外乱による車両の進行方向のずれとして許容する範囲は、外乱判定部53が実際に判定に用いる閾値Yrth及び閾値θmthの設定によって任意に設定することができる。そして、外乱判定部53によって外乱が自動操舵制御において無視できないことが判定される場合、位置F/B制御部50の応答性を通常制御状態と比較して低下させるように位置ゲインKaを変更するとともに、電流F/B制御部51の応答性を通常制御状態と比較して上昇させるように電流ゲインKbを変更するようにしている。
具体的に、図5(a),(b)に示すように、外乱対応FLGが「ON」されるまでの「OFF」の間、位置ゲインKaとして大ゲインKa0、電流ゲインKbとして小ゲインKb0がそれぞれ設定されている。この場合、図5(c)に示すように、位置F/B制御部50及び電流F/B制御部51の制御状態が通常制御状態となる。
続いて、図5(a),(b)に示すように、外乱対応FLGが「OFF」から「ON」にされると、そのタイミングにおいて、位置ゲインKaが大ゲインKa0から小ゲインKa1、電流ゲインKbが小ゲインKb0から大ゲインKb1にそれぞれ変更される。
この場合、位置F/B制御部50では、通常制御状態と比較して、外乱による車両の進行方向のずれに対するモータ20の駆動の制御への反応が鈍くなる。これは要するに外乱による車両の進行方向のずれに対して通常制御状態と比較して回転角度θmの変化を緩やかに(小さく)することである。
その一方で、電流F/B制御部51では、通常制御状態と比較して、位置F/B制御部50のフィードバック演算の結果に対するモータ20の駆動の制御への反応が速くなる。これは要するに位置F/B制御部50のフィードバック演算の結果に対して通常制御状態と比較して実電流Iの変化、すなわち外乱が車両の進行方向をずらそうとする力に対してモータ20に発生させる反力を大きくすることである。
これにより、外乱を自動操舵制御において無視できない場合であっても、位置F/B制御部50のフィードバック演算による車両Aの急旋回の発生を抑えつつ、外乱による車両の進行方向のずれが迅速に解消されるようになる。この場合、図5(c)に示すように、外乱対応FLGが「ON」の間、位置F/B制御部50及び電流F/B制御部51の制御状態が急旋回抑制制御状態となる。すなわち、本実施形態では、外乱対応FLGが「OFF」から「ON」にされると、外乱対応FLGが「ON」とされる間、位置F/B制御部50及び電流F/B制御部51の制御状態が、一時的に急旋回抑制制御状態に変更される。
したがって、位置F/B制御部50及び電流F/B制御部51の両フィードバック演算の応答性を変更させる容易な構成によって、位置F/B制御部50のフィードバック演算による車両Aの急旋回の発生を抑えることができるだけでなく、外乱による車両の進行方向のずれを迅速に解消することができる。なお、本実施形態では、位置F/B制御部50の位置ゲインKa及び電流F/B制御部51の電流ゲインKbを変更するのみで複雑な演算式を必要としていないので、後々の拡張性の観点でもより有利である。
(2)ここで、外乱を自動操舵制御において無視できない状態が解消された後、変更していたゲインをそのまま維持するのではなく変更前のゲインに戻す必要があるところ、変更していたゲインを変更前のゲインまで一気に戻してしまうと車両Aに振動を生じさせる等してユーザーに不快感を与える可能性がある。
そこで、本実施形態において、ゲイン制御部54は、位置F/B制御部50及び電流F/B制御部51の制御状態を一時的に急旋回抑制制御状態に変更した後、通常制御状態に戻す場合、変更していた位置ゲインKa及び電流ゲインKbを通常制御状態での大ゲインKa0及び小ゲインKb0まで徐変させながら戻すようにしている。
具体的に、図5(a),(b)に示すように、外乱対応FLGが「ON」から「OFF」にされると、その後、位置ゲインKaが小ゲインKa1から大ゲインKa0、電流ゲインKbが大ゲインKb1から小ゲインKb0にそれぞれ徐々に変更される。
これにより、位置F/B制御部50及び電流F/B制御部51の位置ゲインKa及び電流ゲインKbの大きな変化が抑えられるようになる。この場合、図5(c)に示すように、外乱対応FLGが「ON」から「OFF」にされた後、位置F/B制御部50及び電流F/B制御部51の制御状態が不快感抑制制御状態となる。すなわち、本実施形態では、外乱対応FLGが「ON」から「OFF」にされると、位置ゲインKa及び電流ゲインKbの大きな変化を抑えなければいけない間、位置F/B制御部50及び電流F/B制御部51の制御状態が、一時的に不快感抑制制御状態に変更される。そして、位置ゲインKa及び電流ゲインKbが大ゲインKa0及び小ゲインKb0に戻されると、位置F/B制御部50及び電流F/B制御部51の制御状態が通常制御状態に戻される。
したがって、変更していた小ゲインKa1及び大ゲインKb1をそのまま維持するのではなく変更前の大ゲインKa0及び小ゲインKb0に戻す間において、車両Aに振動を生じさせ難くすることができ、ユーザーに不快感を与え難くすることができる。
(3)ところで、外乱判定部53によって外乱が自動操舵制御において無視できないことが判定されること(外乱判定処理のS20,S30:YES)によって、位置F/B制御部50及び電流F/B制御部51の制御状態を一時的にでも変更すると、外部から入力される角度指令値θs*に対する回転角度θmの追従性を低下させてしまう可能性がある。その点、車両Aが直進中にあるとき、外部から入力される角度指令値θs*の変化が比較的に小さく、モータ20の駆動の制御の必要性が比較的に低い場面ということとなる。
そこで、本実施形態において、外乱判定部53は、車両Aが直進中にあることから角度指令値θs*の変化幅が所定範囲内にある場合に外乱が車両Aに作用しているか否か等(外乱判定処理のS20及びS30)を判定するようにしている。
これにより、位置F/B制御部50及び電流F/B制御部51の制御状態を一時的に変更したとしても、車両Aの自動操舵制御への影響を最小限に止めることができ、自動操舵制御に関わる制御が不安定になることを抑制することができる。
なお、上記実施形態は、以下の形態にて実施することもできる。
・外乱判定部53は、外乱判定処理のS10の処理において、直進中であるか否かについては判定しないようにしてもよい。また、直進中であるか否かについては、モータ20の回転角度θmの変化幅を用いたり、モータ20の実電流Iの変化幅を用いたりして判定するようにしてもよい。また、直進中であるか否かについては、外乱判定処理のS20やS30の処理で合わせて実行するようにしたり、S30:YESの後に実行するようにしたりしてもよい。
・外乱対応FLGが「ON」から「OFF」にされる場合、変更していたゲインを変更前のゲインまで戻す場合の態様として、ゲインの変化がステップ状をなすように段階的に戻すようにしてもよい。なお、同様の状況において、ユーザーに不快感を与える可能性が低ければ、変更していたゲインを変更前のゲインまで一気に戻すようにしてもよい。
・位置ゲインKa及び電流ゲインKbの間で、大ゲインKa0及び小ゲインKa1の差の絶対値と、小ゲインKb0及び大ゲインKb1の差の絶対値とは、異なっていてもよい。この場合、S130にて、数値m,nを調整することによって、位置ゲインKa及び電流ゲインKbの間で、大ゲインKa0及び小ゲインKb0が同一タイミング(周期)で設定されるとともに、小ゲインKa1及び大ゲインKb1が同一タイミング(周期)で設定されるように構成することができる。その一方で、位置F/B制御部50及び電流F/B制御部51の間で、急旋回抑制制御状態から通常制御状態に戻されるタイミングについては同一タイミングでなくてもよい。この場合であっても、変更していたゲインを変更前のゲインまで一気に戻す構成と比較すれば、車両Aに振動を生じさせ難くすることができ、ユーザーに不快感を与え難くすることができる。
・位置F/B制御部50は、比例制御(P制御)を実行するものであったり、比例制御+積分制御(PI制御)を実行するものであったりしてもよい。これは、電流F/B制御部51についても同様である。
・上記実施形態において、位置F/B制御部50では、外乱を自動操舵制御において無視できない場合、応答性を通常制御状態と比較して低下させることができればよく、その手法は適宜変更可能である。例えば、位置F/B制御部50に入力される角度偏差Δθがローパスフィルタを通過するように構成し、このローパスフィルタのカットオフ周波数を低くする、すなわち角度偏差Δθのゲイン(ゲイン定数)を低くしてもよい。この手法は、同じく、電流F/B制御部51の応答性を通常制御状態と比較して上昇させる場合にも適用することができる。
・上記実施形態では、少なくとも位置F/B制御部50の制御状態についてのみ応答性を通常制御状態と比較して変更するように構成されていればよい。この場合であっても、少なくとも位置F/B制御部50では、通常制御状態と比較して、外乱による車両の進行方向のずれに対するモータ20の駆動の制御への反応を鈍くすることができ、回転角度θmの変化を緩やかに(小さく)することができる。したがって、外乱を自動操舵制御において無視できない場合、位置F/B制御部50のフィードバック演算の応答性を変更させる容易な構成によって、少なくとも位置F/B制御部50のフィードバック演算による車両Aの急旋回の発生を抑えることができる。
・外乱判定処理のS20の判定では、ヨーレートYrの替わりに、車両Aが旋回した際に、当該車両Aの前後方向に対して鉛直な方向に作用する横加速度、所謂、横Gを用いるようにしてもよい。この場合、車両Aには、加速度センサ、所謂、Gセンサを設けるようにすればよい。なお、横加速度については、車速V及び車両Aの軌道(軌跡)から算出することもできる。また、外乱判定処理のS20の処理では、ヨーレートYr及び横Gの何れも考慮するようにしてもよい。
・自動操舵装置1(車両A)には、操舵角θsを検出する舵角センサを設けるようにし、この検出結果を外乱判定処理のS30の判定で用いるようにしてもよい。
・車両情報θconには、カーナビ等のGPSやカメラの画像から得られた情報が含まれている。こうした情報によっては、例えば、トンネルの出口や橋の上のように車両Aが横風を受け易いことや、バンクを有する道路の走行中であること等、車両Aの走行状態を把握することができ、これを外乱判定処理に考慮するようにしてもよい。
・自動操舵ECU4は、角度指令値θs*の替わりに、回転角度θmに換算した指令値を出力するようにしてもよい。
・上記実施形態は、自動操舵モードの設定が指示されている間に介入操作があった場合、自動操舵制御を中断又は停止させて自動操舵モードの設定が指示されない状態、すなわちEPS制御に切り替えるようにした自動操舵装置1に適用してもよい。
・上記実施形態は、自動操舵モードを有していない操舵装置にも適用可能である。この場合、モータ20(操舵力付与機構3)は、例えば、横滑り防止装置(ビークル・スタビリティ・コントロール)でステアリングシャフト11に操舵力を付与するのに用いられたりする。
・上記実施形態は、例えば、ステアバイワイヤ式の操舵装置にも適用可能である。この場合、操舵力付与機構3をラックシャフト12の周辺に設けるようにすればよい。本変形例において、自動操舵モードの間は、例えば、ステアリングホイール10の回転が転舵輪15の転舵に連動する機能を停止させ、ステアリングホイール10の回転と転舵輪15の転舵とが連動しないようにしてもよい。
・上記実施形態では、自動操舵モードしか有しておらず、ユーザーのステアリング操作を想定しない場合、ステアリングホイール10を省くようにしてもよい。
・上記実施形態では、自動操舵装置1をコラムアシストEPSに具体化したが、自動操舵装置1をラックアシストEPSやピニオンアシストEPSに適用してもよい。本変形例において、ラックシャフト12やピニオンシャフト11cの回転角度は舵角情報の一例である。