(57)【要約】【課題】エンド当てが生じたときの電流がエンド当てが生じる直前の電流から過度にずれた値に制御されることを抑制できるようにした操舵制御装置を提供する。【解決手段】電動機５０の回転速度の変化速度が閾値以下となることを条件に、ラック軸３０がラックハウジング３８に接触するエンド当てが生じたとして、そのときの電動機５０のｑ軸の電流を上記変化速度に応じて減少補正した値と、ｑ軸の電流指令値との小さい方を、エンド当て直前の電流として推定する。そして、エンド当てが生じてから所定期間にわたって、ｑ軸の電流をエンド当て直前の値として推定した電流値に制御する。【選択図】図１
2018030532.tif 000002
【特許請求の範囲】
【請求項１】
車両の転舵輪を転舵させる転舵アクチュエータを備え、ステアリングの操舵に応じて前記転舵輪の転舵をアシストする操舵装置を制御対象とし、
前記転舵アクチュエータは、電動機を備え、
前記電動機の電流を電流指令値にフィードバック制御するフィードバック処理部と、
前記転舵輪の転舵角が前記操舵装置の構造によって定まる限界角に到達したか否かを判定するエンド判定処理部と、
前記エンド判定処理部によって前記限界角に到達したと判定される場合、前記電動機の電流指令値の大きさを、制限電流値の大きさ以下に制限するエンド時制限処理部と、を備え、
前記制限電流値は、前記エンド判定処理部によって前記限界角に到達したと判定されるときの前記電動機を流れる電流の検出値の大きさを、前記電動機の回転速度の大きさの低下度合いに基づき減少補正した値である操舵制御装置。
【請求項２】
操舵トルクの検出値に基づき、前記電流指令値を設定する指令値設定処理部を備え、
前記指令値設定処理部は、前記操舵トルクの検出値の大きさが大きい場合に小さい場合よりも前記電流指令値の大きさを大きい値に設定し、
前記エンド判定処理部によって前記限界角に到達したと判定される場合、前記指令値設定処理部により設定された前記電流指令値と、前記制限電流値とのうちの大きさが小さい方を、前記限界角に到達する直前の前記電動機の電流として推定する推定処理部を備え、
前記エンド時制限処理部は、前記電流指令値を、前記推定処理部によって推定された電流の大きさ以下の値とする請求項１記載の操舵制御装置。
【請求項３】
前記指令値設定処理部は、前記電流指令値の大きさに上限ガード処理を施す上限ガード処理部を備え、
前記上限ガード処理部は、前記電流指令値の上限ガード値を、前記電動機の回転速度の大きさが大きい場合に小さい場合よりも小さい値に設定し、
前記推定処理部は、前記上限ガード処理が施された前記電流指令値と、前記制限電流値とのうちの大きさが小さい方を、前記限界角に到達する直前の前記電動機の電流として推定する請求項２記載の操舵制御装置。
【請求項４】
前記エンド判定処理部は、前記限界角に到達した旨の仮判定を実行する仮判定処理部と、前記限界角に到達した旨の本判定を実行する本判定処理部とを備え、
前記本判定処理部が前記限界角に到達した旨判定する条件は、前記仮判定処理部が前記限界角に到達した旨判定する条件よりも厳しい条件であり、
前記推定処理部は、前記仮判定処理部によって前記限界角に到達したと判定されるときの前記電動機を流れる電流の検出値の大きさを、前記電動機の回転速度の大きさの低下度合いに基づき減少補正した値である前記制限電流値と、前記仮判定処理部によって前記限界角に到達した旨の判定がなされるときの前記電流指令値との大きさが小さい方を前記限界角に到達する直前の前記電動機の電流として推定するものであり、
前記エンド時制限処理部は、前記本判定処理部によって前記限界角に到達した旨の判定がなされる場合に、前記電動機の電流指令値の大きさを、前記制限電流値の大きさ以下に制限する請求項２または３記載の操舵制御装置。
【請求項５】
前記フィードバック処理部は、前記電動機を流れる電流と前記電流指令値との差を入力とする積分要素の出力値に基づき前記電動機に印加する電圧を操作するものであり、
前記エンド時制限処理部は、前記推定処理部によって推定された電流の大きさを前記電動機の回転速度の大きさの減少度合いに基づき減少補正した値を、前記電流指令値とする請求項２〜４のいずれか１項に記載の操舵制御装置。
【請求項６】
前記フィードバック処理部は、前記電動機を流れる電流と前記電流指令値との差を入力とする積分要素の出力値に基づき前記電動機に印加する電圧を操作するものであって、前記エンド時制限処理部が前記電動機の前記電流指令値の大きさを前記制限電流値の大きさ以下に制限する処理を実行している場合、実行していない場合と比較して前記積分要素のゲインを大きくする請求項１〜５のいずれか１項に記載の操舵制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両の転舵輪を転舵させる転舵アクチュエータを備え、ステアリングの操舵に応じて前記転舵輪の転舵をアシストする操舵装置を制御対象とする操舵制御装置に関する。
【背景技術】
【０００２】
たとえば特許文献１には、ハンドルの操舵角が一定量に達することによりいわゆるエンド当てが生じ、転舵輪の転舵角が限界角に達する場合に、衝撃を緩和する制御を実行する操舵制御装置が記載されている。この装置は、操舵トルクの絶対値が閾値以上であって且つ操舵トルクの変化速度の絶対値が閾値以上である場合、エンド当てが生じたと判定する。そして、この装置は、エンド当てが生じたと判定すると、ローパスフィルタの位相遅れを利用してエンド当てが生じる直前の電流を現アシスト電流として取得している（段落「００２２」）。そして、この装置では、電動機を流れる電流が、現アシスト電流から予め記憶された余剰電流波形の電流値を逐次減算した値となるように、電動機を制御する。これは、エンド当てが生じることによって電動機の回転速度が急低下して誘起電圧が低下することに起因して電動機を流れる電流が大きくなることを抑制し、電動機を流れる電流を、上記転舵角を限界角に維持するのに適切な値とすることを狙ったものである（段落「００４１」）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１４３３１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記エンド当てが生じる直前の電流は、エンド当てが生じたときの電流として適切な値に近いと考えられる。しかし、上記装置では、ローパスフィルタの位相遅れを利用してエンド当てが生じる直前の電流を取得しているが、ローパスフィルタの時定数がエンド当てが生じる直前の電動機の回転速度と合っていない場合、エンド当てが生じる直前の電流として精度のよい値を取得することができない。このため、エンド当てが生じたときの電流をエンド当てが生じる直前の電流に制御することが困難となる。
【０００５】
本発明は、そうした実情に鑑みてなされたものであり、その目的は、電動機を流れる電流がエンド当てによってエンド当てが生じる直前の電流から過度にずれることを抑制できるようにした操舵制御装置を提供することにある。
【課題を解決するための手段】
【０００６】
以下、上記課題を解決するための手段およびその作用効果について記載する。
１．操舵制御装置は、車両の転舵輪を転舵させる転舵アクチュエータを備え、ステアリングの操舵に応じて前記転舵輪の転舵をアシストする操舵装置を制御対象とし、前記転舵アクチュエータは、電動機を備え、前記電動機の電流を電流指令値にフィードバック制御するフィードバック処理部と、前記転舵輪の転舵角が前記操舵装置の構造によって定まる限界角に到達したか否かを判定するエンド判定処理部と、前記エンド判定処理部によって前記限界角に到達したと判定される場合、前記電動機の電流指令値の大きさを、前記電動機の回転速度の大きさの減少量に基づき設定した制限電流値の大きさ以下に制限するエンド時制限処理部と、を備える。
【０００７】
限界角に到達することで電動機の誘起電圧の大きさが低下することに起因して、限界角に到達した旨の判定がなされた時点では、電動機の電流の検出値の大きさは、限界角に到達する直前において適切な電流よりも大きくなっている傾向がある。そして、電流の検出値の大きさが上記適切な電流を上回る度合いは、電動機の回転速度の大きさの低下量に依存する。このため、限界角に到達した旨の判定がなされた時点の電流の大きさを電動機の回転速度の大きさの低下量に基づき減少補正した値は、限界角に到達する直前における電動機の電流に近くなる。したがって、上記構成では、この補正した電流を制限電流値として、電流指令値を制限電流値以下に制限することによって、電動機を流れる電流がエンド当てによってエンド当てが生じる直前の電流から過度にずれることを抑制できる。
【０００８】
２．上記１記載の操舵制御装置において、操舵トルクの検出値に基づき、前記電流指令値を設定する指令値設定処理部を備え、前記指令値設定処理部は、前記操舵トルクの検出値の大きさが大きい場合に小さい場合よりも前記電流指令値の大きさを大きい値に設定し、前記エンド判定処理部によって前記限界角に到達したと判定される場合、前記指令値設定処理部により設定された前記電流指令値と、前記制限電流値とのうちの大きさが小さい方を、前記限界角に到達する直前の前記電動機の電流として推定する推定処理部を備え、前記エンド時制限処理部は、前記電流指令値を、前記推定処理部によって推定された電流の大きさ以下の値とする。
【０００９】
車両の走行路面であって摩擦が小さい路面である、いわゆる低μ路においては、要求される操舵トルクの大きさが小さいため、操舵トルクの大きさが大きくならない傾向があるものの、限界角に到達することによって、それまでの操舵角の変化速度に応じた操舵装置の慣性によって、限界角に到達する前に対して操舵トルクの大きさが急激に増加する傾向がある。このため、限界角に到達した際、電流指令値の大きさが電流の検出値の大きさよりも大きくなり、電流指令値よりも電流の検出値の方が、限界角に到達する直前の電動機の電流に近い傾向がある。
【００１０】
一方、車両の走行路面であって摩擦が大きい路面である、いわゆる高μ路においては、要求される操舵トルクの大きさが大きいため、限界角に到達する前から、操舵トルクやアシストトルクの大きさが大きくなり、限界角に到達した際のアシストトルクの指令値の大きさの増加量は、低μ路と比較すると小さくなる傾向がある。このため、限界角に到達することによって、誘起電圧の大きさの急激な低下に起因して電流の検出値の大きさが急激に上昇することに鑑みると、電流の検出値の大きさよりも電流指令値の大きさの方が小さい値となり、電流指令値の方が限界角に到達する直前の電動機の電流に近い傾向がある。
【００１１】
そこで、上記構成では、電流指令値と、減少補正された検出値である制限電流値とのうちの大きさが小さい方を、限界角に到達する直前の電動機の電流の推定値とすることにより、低μ路であるか高μ路であるかにかかわらず、限界角に到達する直前の電流を精度よく推定することができる。
【００１２】
３．上記２記載の操舵制御装置において、前記指令値設定処理部は、前記電流指令値の大きさに上限ガード処理を施す上限ガード処理部を備え、前記上限ガード処理部は、前記電流指令値の上限ガード値を、前記電動機の回転速度の大きさが大きい場合に小さい場合よりも小さい値に設定し、前記推定処理部は、前記上限ガード処理が施された前記電流指令値と、前記制限電流値とのうちの大きさが小さい方を、前記限界角に到達する直前の前記電動機の電流として推定する。
【００１３】
高μ路の場合には低μ路の場合と比較して操舵トルクの大きさが大きくなる傾向があり、結果、限界角に到達する前から、電流指令値が上限ガード処理による上限ガード値に制限される傾向がある。このため、限界角に到達した際に生じる衝撃によって操舵トルクの大きさが増加したとしても、これが電流指令値の増加に直ちにはつながりにくい。このため、高μ路においては、限界角に到達したときの電流指令値は、限界角に到達する直前の電流指令値に近似しやすい。そして、電動機の電流がフィードバック処理部によって電流指令値に制御されることに鑑みると、限界角に到達する直前において電動機を流れていた電流は、限界角に到達したときの電流指令値に近似しやすい。このため、電流指令値と減少補正された検出値である制限電流値とのうちの大きさが小さい方を選択する処理の利用価値が特に高い。
【００１４】
４．上記２または３記載の操舵制御装置において、前記エンド判定処理部は、前記限界角に到達した旨の仮判定を実行する仮判定処理部と、前記限界角に到達した旨の本判定を実行する本判定処理部とを備え、前記本判定処理部が前記限界角に到達した旨判定する条件は、前記仮判定処理部が前記限界角に到達した旨判定する条件よりも厳しい条件であり、前記推定処理部は、前記仮判定処理部によって前記限界角に到達したと判定されるときの前記電動機を流れる電流の検出値の大きさを、前記電動機の回転速度の大きさの低下度合いに基づき減少補正した値である前記制限電流値と、前記仮判定処理部によって前記限界角に到達した旨の判定がなされるときの前記電流指令値との大きさが小さい方を前記限界角に到達する直前の前記電動機の電流として推定するものであり、前記エンド時制限処理部は、前記本判定処理部によって前記限界角に到達した旨の判定がなされる場合に、前記電動機の電流指令値の大きさを、前記制限電流値の大きさ以下に制限する。
【００１５】
上記構成の場合、本判定処理部が限界角に到達した旨判定する条件が、仮判定処理部が限界角に到達した旨判定する条件よりも厳しいため、本判定処理部によって限界角に到達したと判定される時点は、仮判定処理部によって限界角に到達したと判定される時点よりも後となる。このため、本判定処理部によって限界角に到達したと判定されたときの検出値等に基づき推定処理部が限界角に到達する直前の電流を推定する場合には、仮判定処理部によって限界角に到達したと判定されたときの検出値等に基づき推定処理部が限界角に到達する直前の電流を推定する場合よりもその推定精度が低くなる。一方、仮判定処理部による判定精度と比較して本判定処理部による判定精度の方が高い。
【００１６】
そこで上記構成では、仮判定処理部によって限界角に到達したと判定されたときの検出値等に基づき限界角に到達する直前の電流を推定することにより、限界角に到達する直前の電流を精度よく推定する。また、電流指令値の大きさを推定処理部によって推定された電流の大きさ以下に制限する処理については、本判定処理部によって限界角に到達すると判定されたときとすることにより、限界角に到達していないにもかかわらず電流指令値の大きさが推定処理部によって推定された電流の大きさ以下に制限されることを抑制することができる。
【００１７】
５．上記２〜４のいずれか１項に記載の操舵制御装置において、前記フィードバック処理部は、前記電動機を流れる電流と前記電流指令値との差を入力とする積分要素の出力値に基づき前記電動機に印加する電圧を操作するものであり、前記エンド時制限処理部は、前記推定処理部によって推定された電流の大きさを前記電動機の回転速度の大きさの減少度合いに基づき減少補正した値を、前記電流指令値とする。
【００１８】
上記構成の場合、限界角に到達する前においては、積分要素の出力値が、限界角に到達する前の誘起電圧の大きさにとって、電動機を流れる電流を電流指令値とするうえで適切な値となっている傾向がある。そして、電流の検出値の大きさが電流指令値の大きさを上回ることに基づき、フィードバック処理部により、電動機に印加する電圧の大きさが低下操作されるため、電圧の大きさの低下操作が、誘起電圧の大きさの低下に対して遅延する傾向がある。この点、上記構成では、推定された電流の大きさを減少補正した値を指令電流値とすることにより、電流指令値の大きさを検出値の大きさが大きく上回るとして電動機に対する印加電圧の大きさが急激に低下操作されるようになる。このため、減少補正する前の電流の大きさに対して検出値の大きさが大きく上昇する事態が生じることを抑制することができる。しかも、推定された電流の大きさの減少補正量が、回転速度の大きさの低下度合いに応じて設定されるため、誘起電圧の大きさの低下度合いに応じて減少補正量を設定することができる。
【００１９】
６．上記１〜５のいずれか１項に記載の操舵制御装置において、前記フィードバック処理部は、前記電動機を流れる電流と前記電流指令値との差を入力とする積分要素の出力値に基づき前記電動機に印加する電圧を操作するものであって、前記エンド時制限処理部が前記電動機の前記電流指令値の大きさを前記制限電流値の大きさ以下に制限する処理を実行している場合、実行していない場合と比較して前記積分要素のゲインを大きくする。
【００２０】
上記構成の場合、限界角に到達する前においては、積分要素の出力値が、限界角に到達する前の誘起電圧の大きさにとって、電動機を流れる電流を電流指令値とするうえで適切な値となっている傾向がある。そして、電流の検出値の大きさが電流指令値の大きさを上回ることに基づき、フィードバック処理部により、電動機に印加する電圧の大きさが低下操作されるため、電圧の大きさの低下操作が、誘起電圧の大きさの低下に対して遅延する傾向がある。この点、上記構成では、電流制限値の大きさ以下に制限する処理を実行している場合に、すなわち、誘起電圧の大きさが急激に低下する場合に、積分要素のゲインを大きくすることにより、電圧の大きさの低下操作が誘起電圧の大きさの低下に対して遅延することを抑制することができる。
【図面の簡単な説明】
【００２１】
【図１】第１の実施形態にかかる操舵制御装置および操舵装置を示す図。
【図２】同実施形態にかかる処理の一部を示すブロック図。
【図３】同実施形態にかかるエンド当て時電流推定処理の手順を示す流れ図。
【図４】（ａ）および（ｂ）は、低μ路および高μ路の電流の挙動を示すタイムチャート。
【図５】同実施形態にかかるエンド当て本判定処理の手順を示す流れ図。
【図６】同実施形態にかかる電流指令値の設定処理の手順を示す流れ図。
【図７】同実施形態にかかるエンド当て判定フラグのリセット処理の手順を示す流れ図。
【図８】第２の実施形態にかかるエンド時電流指令値の設定処理の手順を示す流れ図。
【図９】第３の実施形態にかかるフィードバックゲインの設定処理の手順を示す流れ図。
【発明を実施するための形態】
【００２２】
＜第１の実施形態＞
以下、操舵制御装置にかかる第１の実施形態について図面を参照しつつ説明する。
図１に示すように、本実施形態にかかる操舵装置１０においては、ステアリングホイール（ステアリング１２）が、ステアリングシャフト１４を介して転舵アクチュエータＰＳＡのピニオン軸２２に連結可能とされている。転舵アクチュエータＰＳＡは、第１ラックアンドピニオン機構２０、第２ラックアンドピニオン機構４０、表面磁石同期電動機（ＳＰＭ：電動機５０）及びインバータ６０を備えている。
【００２３】
第１ラックアンドピニオン機構２０は、所定の交叉角をもって配置されたラック軸３０とピニオン軸２２とを備え、ラック軸３０に形成された第１ラック歯３２ａとピニオン軸２２に形成されたピニオン歯２２ａとが噛合されている。なお、ラック軸３０の両端には、タイロッドを介して転舵輪３４が連結されている。
【００２４】
第２ラックアンドピニオン機構４０は、所定の交叉角をもって配置されたラック軸３０とピニオン軸４２とを備えており、ラック軸３０に形成された第２ラック歯３４ａとピニオン軸４２に形成されたピニオン歯４２ａとが噛合されている。
【００２５】
ピニオン軸４２は、減速機３６を介して、電動機５０の回転軸５２に接続されている。電動機５０には、インバータ６０が接続されている。インバータ６０は、バッテリ６２の正極および負極のそれぞれを電動機５０の端子に選択的に印加することによってバッテリ６２の直流電圧を交流電圧に変換する電力変換回路である。なお、ラック軸３０は、ラックハウジング３８に収容されている。
【００２６】
制御装置７０は、操舵装置１０を制御対象とする。制御装置７０は、制御対象の制御に際し、ステアリングシャフト１４およびピニオン軸２２間に設けられたトーションバー１６の捩れ量に基づきステアリング１２に入力された操舵トルクＴｒｑを検出するトルクセンサ６４の検出値や、電動機５０の電流ｉｕ，ｉｖ，ｉｗを検出する電流センサ６６の検出値を取り込む。また、制御装置７０は、電動機５０の回転軸５２の回転角度θを検出する回転角度センサ６８や、車両の走行速度（車速Ｖ）を検出する車速センサ６９の出力値を取り込む。制御装置７０は、中央処理装置（ＣＰＵ７２）およびメモリ７４を備えており、メモリ７４に記憶されたプログラムをＣＰＵ７２が実行することにより制御対象の制御を実行する。
【００２７】
図２に、メモリ７４に記憶されたプログラムをＣＰＵ７２が実行することにより実現される処理の一部を示す。
アシストトルク設定処理部Ｍ１０は、操舵トルクＴｒｑと車速Ｖとに基づき、アシストトルクの指令値（アシスト指令値Ｔｒｑａ＊）を設定する。アシストトルク設定処理部Ｍ１０は、アシスト指令値Ｔｒｑａ＊の大きさ（絶対値）を、操舵トルクＴｒｑの大きさ（絶対値）が大きいほど大きい値に設定する。アシストトルク設定処理部Ｍ１０は、アシスト指令値Ｔｒｑａ＊の絶対値を、操舵トルクＴｒｑが同一であっても、車速Ｖが低い場合には高い場合よりも大きい値に設定する。なお、以下では、操舵トルクＴｒｑの符号を、右旋回側の値である場合に正、左旋回側の値である場合に負と定義する。
【００２８】
電流指令値設定処理部Ｍ１２は、アシスト指令値Ｔｒｑａ＊に基づき、ｑ軸の電流指令値ｉｑ０＊を設定する。詳しくは、電流指令値設定処理部Ｍ１２は、アシスト指令値Ｔｒｑａ＊の大きさが大きいほど、電流指令値ｉｑ０＊の大きさ（絶対値）を大きい値に設定する。なお、電流指令値ｉｑ０＊の符号は、操舵トルクＴｒｑの符号と同様、右旋回側が正であるとする。
【００２９】
上限ガード処理部Ｍ１４は、ｑ軸の電流指令値ｉｑ０＊の絶対値が、上限ガード値Ｉｔｈ以下となるように上限ガード処理を施す。ここで、上限ガード値Ｉｔｈは、電動機５０の回転速度ωの大きさ（絶対値）が大きい場合に小さい場合よりも小さい値に設定される。
【００３０】
上限ガード処理部Ｍ１４によってガード処理が施された電流指令値ｉｑ０＊である電流指令値ｉｑ１＊は、切替処理部Ｍ１６によって選択される場合、ｑ軸の電流指令値ｉｑ＊として、偏差算出処理部Ｍ２０に入力される。
【００３１】
一方、電流ｉｕ，ｉｖ，ｉｗは、ｄｑ変換処理部Ｍ１８によってｄ軸の電流ｉｄおよびｑ軸の電流ｉｑに変換される。そして、偏差算出処理部Ｍ２０では、電流指令値ｉｑ＊から電流ｉｑを減算した値を出力する。そして、ｑ軸フィードバック処理部Ｍ２２では、偏差算出処理部Ｍ２０の出力値に基づき、ｑ軸の電流ｉｑを電流指令値ｉｑ＊にフィードバック制御するための操作量としてｑ軸の電圧指令値ｖｑ＊を設定する。具体的には、偏差算出処理部Ｍ２０の出力値を入力とする比例要素の出力値と積分要素の出力値との和を操作量とする。
【００３２】
偏差算出処理部Ｍ２４は、ｄ軸の電流指令値（ここでは、「０」を例示）から電流ｉｄを減算した値を出力する。ｄ軸フィードバック処理部Ｍ２６は、偏差算出処理部Ｍ２４の出力値を入力とし、ｄ軸の電流ｉｄをその指令値にフィードバック制御するための操作量であるｄ軸の電圧指令値ｖｄ＊を設定する。具体的には、偏差算出処理部Ｍ２４の出力値を入力とする比例要素の出力値と積分要素の出力値との和を操作量とする。
【００３３】
３相変換処理部Ｍ２８は、回転角度θに基づき、ｄｑ軸の電圧指令値ｖｄ＊，ｖｑ＊を、３相固定座標系における電圧指令値ｖｕ＊，ｖｖ＊，ｖｗ＊に変換する。操作信号生成処理部Ｍ３０は、インバータ６０の出力線間電圧が電圧指令値ｖｕ＊，ｖｖ＊，ｖｗ＊によって定まる相間電圧となるように、インバータ６０の操作信号ＭＳを生成して出力する。
【００３４】
なお、本実施形態では、ｑ軸フィードバック処理部Ｍ２２の制御周期や、ｄ軸フィードバック処理部Ｍ２６の制御周期、ｑ軸の電流ｉｑのサンプリング周期、ｄ軸の電流ｉｄのサンプリング周期と比較して、上限ガード処理部Ｍ１４における上限ガード値Ｉｔｈの更新周期が長くなっている。
【００３５】
回転速度算出処理部Ｍ３２は、回転角度θに基づき、電動機５０の回転軸５２の回転速度ωを算出する。加速度算出処理部Ｍ３４は、回転速度ωに基づき、回転速度ωの変化速度（角加速度ｄω）を算出する。
【００３６】
エンド当て処理部Ｍ３６は、切替処理部Ｍ１６の入力となるエンド時電流指令値ｉｑｔｈを生成したり、切替処理部Ｍ１６に切り替えのための情報を提供したりする。本実施形態では、エンド時電流指令値ｉｑｔｈは、ラック軸３０がラックハウジング３８に接触することにより軸方向への変位が妨げられるいわゆるエンド当てが生じる直前におけるｑ軸の電流ｉｑの推定値である。
【００３７】
図３に、エンド当て処理部Ｍ３６が実行する処理の１つであるエンド当て時電流推定処理の手順を示す。この処理は、たとえば所定周期で繰り返し実行される。なお、以下では、ＣＰＵ７２を主体として記述する。
【００３８】
図３に示す一連の処理において、ＣＰＵ７２は、まず、ｑ軸の電流ｉｑ、電流指令値ｉｑ１＊、回転速度ω、および角加速度ｄωの最新の値ｄω（ｎ）を取得する（Ｓ１０）。なお、角加速度ｄωについては、最新の値であることを示すために「ｄω（ｎ）」と記載しているが、ｑ軸の電流ｉｑ、電流指令値ｉｑ１＊、および回転速度ωについても最新の値を取得する。
【００３９】
次にＣＰＵ７２は、以下の（ａ１），（ｂ１），（ｃ１）の条件の論理積が真であるか否かを判定する（Ｓ１２）。この処理は、ステアリング１２が右旋回側に切られることによってエンド当てが生じたか否かを判定する処理である。
【００４０】
（ａ１）図３に示す一連の処理の１制御周期前のステップＳ１０の処理において取得された角加速度ｄω（ｎ−１）が、仮判定用加速度閾値ｄωｔｈ１以上である旨の条件。ここで、仮判定用加速度閾値ｄωｔｈ１は、回転速度ωの大きさが低下する場合の値である負の値に設定される。
【００４１】
（ｂ１）ステップＳ１０の処理において取得された角加速度ｄω（ｎ）が、仮判定用加速度閾値ｄωｔｈ１よりも小さい旨の条件。（ｂ１）の条件と上記（ａ１）の条件との論理積が真であることによって、ラック軸３０の軸方向の変位が急低下し始めた時点であることを検知することができる。換言すれば、エンド当てが生じたことを検知することができる。
【００４２】
（ｃ１）回転速度ωが仮判定用速度閾値ωｔｈ１よりも大きい旨の条件。この条件は、後述するエンド当て時の処理を、ラック軸３０が勢いよくラックハウジング３８に接触した場合に限って行うための設定である。仮判定用速度閾値ωｔｈ１は、ラック軸３０が勢いよくラックハウジング３８に接触した場合の回転速度ωとしてとりうる値に基づき設定されている。
【００４３】
ＣＰＵ７２は、上記（ａ１），（ｂ１），（ｃ１）の条件の論理積が真であると判定する場合（Ｓ１２：ＹＥＳ）、ｑ軸の電流ｉｑに、「Ｋｉｅ・ｄω（ｎ）」を加算した値が、ｑ軸の電流指令値ｉｑ１＊よりも小さいか否かを判定する（Ｓ１４）。この処理は、ｑ軸の電流指令値ｉｑ１＊と、「ｉｑ＋Ｋｉｅ・ｄω（ｎ）」とのいずれが、エンド当て直前において実際に流れていたｑ軸の電流ｉｑに近いかを判定するためのものである。
【００４４】
ここで、「Ｋｉｅ・ｄω（ｎ）」の絶対値は、エンド当てによるｑ軸の電流ｉｑの絶対値の増加量の推定値である。すなわち、エンド当てによって回転速度ωの大きさが急低下し、電動機５０の誘起電圧の大きさが急激に低下する。ここで、電動機５０の抵抗Ｒ、インダクタンスＬ、誘起電圧定数φ、および微分演算子ｐを用いると、ｑ軸の電流ｉｑとｑ軸の電圧ｖｑとの間には以下の式（ｃ１）の関係が成立する。
【００４５】
ｖｑ＝Ｒ・ｉｑ＋ω・Ｌ・ｉｄ＋ｐ・Ｌｑ・ｉｑ＋ω・φ  …（ｃ１）
エンド当て直前においては、ｑ軸フィードバック処理部Ｍ２２の積分要素によって、ｑ軸の電圧指令値ｖｑ＊は、そのときの回転速度ωに応じた誘起電圧「ω・φ」にとって、ｑ軸の電流ｉｑを電流指令値ｉｑ＊に制御する上で適切な値となっている傾向がある。エンド当てに伴って回転速度ωの大きさが急激に低下し、誘起電圧「ω・φ」の大きさが急激に低下すると、電動機５０に印加される電圧ｖｑの大きさが過剰となるため、ｑ軸の電流ｉｑの大きさが増加する。この増加度合いは、回転速度ωの大きさの低下度合いに依存する。このため、エンド当てに伴うｑ軸の電流ｉｑの大きさの増加量は、角加速度ｄω（ｎ）の絶対値と正の相関を有する。そこで、定数Ｋｉｅ（＞０）を用いて、ｑ軸電流の増加量を「（−１）・Ｋｉｅ・ｄω（ｎ）」と推定し、エンド当て直前のｑ軸の電流ｉｑを「ｉｑ＋Ｋｉｅ・ｄω（ｎ）」と推定する。ただし、定数Ｋｉｅは、「ｉｑ＋Ｋｉｅ・ｄω（ｎ）」の大きさがエンド当て直前のｑ軸の電流ｉｑの大きさよりも小さくなることがないように、マージンを持たせて小さめの値に設定する。
【００４６】
ここで、図４に基づき、ステップＳ１４の処理の原理について説明する。
図４は、時刻ｔ１にエンド当てが生じた場合のｑ軸の電流ｉｑおよび電流指令値ｉｑ１＊の推移を示すものであり、特に図４（ａ）は、車両の走行路面であって且つ摩擦係数が小さい路面である、いわゆる低μ路における推移を示し、図４（ｂ）は、車両の走行路面であって且つ摩擦係数が大きい路面である、いわゆる高μ路における推移を示す。
【００４７】
図４（ａ）に示す低μ路の場合、ステアリング１２の操作に要求される操舵トルクＴｒｑの大きさが小さいため、操舵トルクＴｒｑの大きさは、大きくならない傾向があるものの、エンド当てが生じると、ステアリング１２やラック軸３０、転舵輪３４の慣性に起因してトーションバー１６が過剰に捩れる。このため、エンド当て前に対してトルクセンサ６４が検出する操舵トルクＴｒｑの大きさが急激に増加する傾向がある。操舵トルクＴｒｑの大きさが急激に増加すると、アシスト指令値Ｔｒｑａ＊の大きさが急激に増加するため、ｑ軸の電流指令値ｉｑ１＊の大きさが急激に増加する。したがって、エンド当てが生じたと判定される時刻ｔ２におけるｑ軸の電流指令値ｉｑ１＊よりも、その時点におけるｑ軸の電流ｉｑを「Ｋｉｅ・ｄω（ｎ）」にて補正した値の方がエンド当て直前のｑ軸の電流ｉｑに近いと考えられる。
【００４８】
図４（ｂ）に示す高μ路の場合、ステアリング１２の操作に要求される操舵トルクＴｒｑの大きさが大きくなる。このため、エンド当てが生じる前から操舵トルクＴｒｑやアシスト指令値Ｔｒｑａ＊の大きさが大きくなることから、エンド当て前に対するアシスト指令値Ｔｒｑａ＊の大きさの増加量が低μ路と比較して小さくなる傾向がある。一方、誘起電圧の急低下に伴って、図４（ｂ）に例示するように、ｑ軸の電流ｉｑの大きさは急上昇する。このため、高μ路においては、上記（ａ１）〜（ｃ１）の条件の論理積が真となった時点におけるｑ軸の電流指令値ｉｑ１＊の方が、同時点における電流ｉｑを「Ｋｉｅ・ｄω（ｎ）」にて補正した値よりも、エンド当て直前のｑ軸の電流ｉｑに近いと考えられる。これは、上述したように、エンド当て直前のｑ軸の電流ｉｑよりも絶対値が小さい値を推定することを抑制すべく定数Ｋｉｅをあまり大きい値にできないことに一因がある。
【００４９】
図４（ａ）および図４（ｂ）に例示するいずれのケースにおいても、エンド当て直前のｑ軸の電流ｉｑに近いのは、ｑ軸の電流指令値ｉｑ１＊と、「ｉｑ＋Ｋｉｅ・ｄω（ｎ）」とのうちの絶対値が小さい方である。
【００５０】
図３に戻り、ＣＰＵ７２は、ステップＳ１４において肯定判定する場合、エンド時電流指令値ｉｑｔｈを、「ｉｑ＋Ｋｉｅ・ｄω（ｎ）」とし（Ｓ１６）、否定判定する場合、エンド時電流指令値ｉｑｔｈを、ｑ軸の電流指令値ｉｑ１＊とする（Ｓ１８）。
【００５１】
一方、ＣＰＵ７２は、上記（ａ１），（ｂ１），（ｃ１）の条件の論理積が偽であると判定する場合（Ｓ１２：ＮＯ）、以下の（ａ２），（ｂ２），（ｃ２）の条件の論理積が真であるか否かを判定する（Ｓ２０）。この処理は、ステアリング１２が左旋回側に切られることによってエンド当てが生じたか否かを判定する処理である。
【００５２】
（ａ２）図３に示す一連の処理の１制御周期前のステップＳ１０の処理において取得された角加速度ｄω（ｎ−１）が、「（−１）・ｄωｔｈ１」以下である旨の条件。
（ｂ２）ステップＳ１０の処理において取得された角加速度ｄω（ｎ）が、「（−１）・ｄωｔｈ１」よりも大きい旨の条件。
【００５３】
（ｃ２）回転速度ωが「（−１）・ωｔｈ１」よりも小さい旨の条件。
上記（ａ２），（ｂ２），（ｃ２）の条件は、上記（ａ１），（ｂ１），（ｃ１）の条件に対応するものである。
【００５４】
ＣＰＵ７２は、上記（ａ２），（ｂ２），（ｃ２）の条件の論理積が真であると判定する場合（Ｓ２０：ＹＥＳ）、ｑ軸の電流ｉｑに、「Ｋｉｅ・ｄω（ｎ）」を加算した値が、ｑ軸の電流指令値ｉｑ１＊よりも大きいか否かを判定する（Ｓ２２）。この処理は、ステップＳ１４の処理に対応し、ｑ軸の電流指令値ｉｑ１＊と、「ｉｑ＋Ｋｉｅ・ｄω（ｎ）」とのいずれが、エンド当て直前におけるｑ軸の電流ｉｑに近いかを判定するためのものである。
【００５５】
ＣＰＵ７２は、「ｉｑ＋Ｋｉｅ・ｄω（ｎ）」の方が大きいと判定する場合（Ｓ２２：ＹＥＳ）、「ｉｑ＋Ｋｉｅ・ｄω（ｎ）」の絶対値が電流指令値ｉｑ１＊の絶対値よりも小さいとして、エンド時電流指令値ｉｑｔｈを、「ｉｑ＋Ｋｉｅ・ｄω（ｎ）」とする（Ｓ２４）。一方、ＣＰＵ７２は、電流指令値ｉｑ１＊以下であると判定する場合（Ｓ２２：ＮＯ）、電流指令値ｉｑ１＊の絶対値が「ｉｑ＋Ｋｉｅ・ｄω（ｎ）」の絶対値以下であるとして、エンド時電流指令値ｉｑｔｈを、電流指令値ｉｑ１＊とする（Ｓ２６）。
【００５６】
なお、ＣＰＵ７２は、ステップＳ１６、Ｓ１８，Ｓ２４，Ｓ２６の処理が完了する場合や、ステップＳ２０において否定判定する場合には、図３に示した一連の処理を一旦終了する。
【００５７】
上記ステップＳ１２，Ｓ２０の処理は、エンド当ての仮判定である。次に、より信頼性の高いエンド当ての本判定処理について説明する。
図５に、エンド当ての本判定処理の手順を示す。図５に示す処理は、メモリ７４に記憶されたプログラムをＣＰＵ７２が実行することによりエンド当て処理部Ｍ３６による処理として実現される。図５に示す処理は、たとえば所定周期で繰り返し実行される。
【００５８】
図５に示す一連の処理において、ＣＰＵ７２は、まずエンド当て判定フラグＦが「０」であるか否かを判定する（Ｓ３０）。エンド当て判定フラグＦは、「０」である場合に、エンド当ての本判定がなされていないことを示し、「１」または「２」である場合に、エンド当ての本判定がなされていることを示す。ＣＰＵ７２は、エンド当て判定フラグＦが「０」である場合（Ｓ３０：ＹＥＳ）、以下の（ｄ１），（ｅ１），（ｆ１），（ｇ１）の条件の論理積が真であるか否かを判定する（Ｓ３２）。この処理は、ステアリング１２が右旋回側に切られることによってエンド当てが生じたか否かを判定する処理である。
【００５９】
（ｄ１）角加速度ｄωが、本判定用加速度閾値ｄωｔｈ２よりも小さい旨の条件。ここで、本判定用加速度閾値ｄωｔｈ２は、仮判定用加速度閾値ｄωｔｈ１よりも小さい負の値に設定されている。
【００６０】
（ｅ１）回転速度ωが本判定用速度閾値ωｔｈ２よりも大きい旨の条件。この条件は、エンド時電流指令値ｉｑｔｈを用いた電動機５０の電流の制御を、ラック軸３０が勢いよくラックハウジング３８に接触した場合に限って行うための設定である。本判定用速度閾値ωｔｈ２は、（ｄ１）の条件が（ｂ１）の条件よりも厳しいために、（ｄ１）の条件が成立するタイミングが（ｂ１）の条件が成立するタイミングよりも遅れ、その間に回転軸５２の回転速度が減速することに鑑み、仮判定用速度閾値ωｔｈ１よりも小さい値に設定されている。
【００６１】
（ｆ１）操舵トルクＴｒｑがトルク閾値Ｔｒｑｔｈよりも大きい旨の条件。この処理は、エンド時電流指令値ｉｑｔｈを用いた電動機５０の電流の制御を、ラック軸３０がラックハウジング３８に大きな力で接触する場合に限って実行するための条件である。
【００６２】
（ｇ１）電流ｉｑが本判定用電流閾値ｉｑｔｈ１よりも大きい旨の条件。この処理は、エンド時電流指令値ｉｑｔｈを用いた電動機５０の電流の制御を、ラック軸３０がラックハウジング３８に大きな力で接触する場合に限って実行するための条件である。
【００６３】
ＣＰＵ７２は、上記論理積が真であると判定する場合（Ｓ３２：ＹＥＳ）、ステップＳ３２において肯定判定された回数をカウントする右旋回カウンタＣｐをインクリメントする（Ｓ３４）。次に、ＣＰＵ７２は、後述するステップＳ４６において肯定判定された回数をカウントする左旋回カウンタＣｎを初期化する（Ｓ３６）。そしてＣＰＵ７２は、右旋回カウンタＣｐが閾値Ｃｔｈ以上であるか否かを判定する（Ｓ３８）。ここで閾値Ｃｔｈは、２以上の整数である。
【００６４】
ＣＰＵ７２は、閾値Ｃｔｈ以上であると判定する場合（Ｓ３８：ＹＥＳ）、右旋回カウンタＣｐを初期化し（Ｓ４０）、エンド当て判定フラグＦを「１」とする（Ｓ４２）。
一方、ＣＰＵ７２は、上記（ｄ１），（ｅ１），（ｆ１），（ｇ１）の条件の論理積が偽であると判定する場合（Ｓ３２：ＮＯ）、下記の（ｄ２），（ｅ２），（ｆ２），（ｇ２）の条件の論理積が真であるか否かを判定する（Ｓ４６）。この処理は、ステアリング１２が左旋回側に切られることによってエンド当てが生じたか否かを判定する処理である。
【００６５】
（ｄ２）角加速度ｄωが、「（−１）・ｄωｔｈ２」よりも大きい旨の条件。
（ｅ２）回転速度ωが、「（−１）・ωｔｈ２」よりも小さい旨の条件。
（ｆ２）操舵トルクＴｒｑが、「（−１）・Ｔｒｑｔｈ」よりも小さい旨の条件。
【００６６】
（ｇ２）電流ｉｑが、「（−１）・ｉｑｔｈ１」よりも小さい旨の条件。
ＣＰＵ７２は、上記（ｄ２），（ｅ２），（ｆ２），（ｇ２）の条件の論理積が真であると判定する場合（Ｓ４６：ＹＥＳ）、右旋回カウンタＣｐを初期化し（Ｓ４８）、左旋回カウンタＣｎをインクリメントする（Ｓ５０）。そして、ＣＰＵ７２は、左旋回カウンタＣｎが閾値Ｃｔｈ以上であるか否かを判定する（Ｓ５２）。そしてＣＰＵ７２は、閾値Ｃｔｈ以上であると判定する場合（Ｓ５２：ＹＥＳ）、左旋回カウンタＣｎを初期化し（Ｓ５４）、エンド当て判定フラグＦを「２」とする（Ｓ５６）。
【００６７】
ＣＰＵ７２は、ステップＳ３０，Ｓ４６において否定判定する場合、右旋回カウンタＣｐおよび左旋回カウンタＣｎを初期化する（Ｓ５８）。そしてＣＰＵ７２は、ステップＳ４２，Ｓ５６，Ｓ５８の処理が完了する場合や、ステップＳ３８，Ｓ５２において否定判定する場合には、図５に示す一連の処理を一旦終了する。
【００６８】
図６に、図２に示した切替処理部Ｍ１６が実行する処理の手順を示す。図６に示す処理は、たとえば所定周期で繰り返し実行される。なお、以下では、主体をＣＰＵ７２として記載する。
【００６９】
図６に示す一連の処理において、ＣＰＵ７２は、まず、エンド当て判定フラグＦが「１」または「２」であるか否かを判定する（Ｓ６０）。この処理は、電流指令値ｉｑ＊として、エンド時電流指令値ｉｑｔｈを用いるか否かを判定するためのものである。そしてＣＰＵ７２は、「１」または「２」であると判定する場合（Ｓ６０：ＹＥＳ）、ｑ軸の電流指令値ｉｑ＊として、エンド時電流指令値ｉｑｔｈを選択する（Ｓ６２）。これに対し、ＣＰＵ７２は、エンド当て判定フラグＦが「０」であると判定する場合（Ｓ６０：ＮＯ）、ｑ軸の電流指令値ｉｑ＊として、図２に示した上限ガード処理部Ｍ１４が出力する電流指令値ｉｑ１＊を選択する（Ｓ６４）。
【００７０】
なお、ＣＰＵ７２は、ステップＳ６２，Ｓ６４の処理が完了する場合、図６に示す一連の処理を一旦終了する。
次に、エンド当て判定フラグＦの初期化処理について説明する。
【００７１】
図７に、エンド当て判定フラグを初期化する処理の手順を示す。図７に示す処理は、メモリ７４に記憶されたプログラムをＣＰＵ７２が実行することにより、エンド当て処理部Ｍ３６の処理として実現される。なお、図７に示す処理は、たとえば所定周期で繰り返し実行される。
【００７２】
図７に示す一連の処理において、ＣＰＵ７２は、エンド当て判定フラグＦが「１」であるか否かを判定する（Ｓ７０）。そしてＣＰＵ７２は、「１」であると判定する場合（Ｓ７０：ＹＥＳ）、エンド当ての本判定後所定時間Ｔが経過する旨の条件と、上限ガード処理部Ｍ１４が出力する電流指令値ｉｑ１＊がエンド時電流指令値ｉｑｔｈ以下である旨の条件との論理積が真であるか否かを判定する（Ｓ７２）。電流指令値ｉｑ１＊がエンド時電流指令値ｉｑｔｈ以下である旨の条件は、電流指令値ｉｑ１＊の絶対値がエンド時電流指令値ｉｑｔｈの絶対値以下である旨の条件であり、これは、電流指令値ｉｑ１＊の大きさがエンド当て直前の電流の大きさに対して大きい値となっていることがないかを判定するためのものである。そして、ＣＰＵ７２は、論理積が真であると判定する場合（Ｓ７２：ＹＥＳ）、エンド当て判定フラグＦを「０」とする（Ｓ７４）。
【００７３】
一方、ＣＰＵ７２は、エンド当て判定フラグＦが「１」ではないと判定する場合（Ｓ７０：ＮＯ）、エンド当て判定フラグＦが「２」であるか否かを判定する（Ｓ７６）。そして、ＣＰＵ７２は、エンド当て判定フラグＦが「２」であると判定する場合（Ｓ７６：ＹＥＳ）、エンド当ての本判定後所定時間Ｔが経過する旨の条件と、上限ガード処理部Ｍ１４が出力する電流指令値ｉｑ１＊がエンド時電流指令値ｉｑｔｈ以上である旨の条件との論理積が真であるか否かを判定する（Ｓ７８）。電流指令値ｉｑ１＊がエンド時電流指令値ｉｑｔｈ以上である旨の条件は、電流指令値ｉｑ１＊の絶対値がエンド時電流指令値ｉｑｔｈの絶対値以下である旨の条件である。そして、ＣＰＵ７２は、論理積が真であると判定する場合（Ｓ７８：ＹＥＳ）、エンド当て判定フラグＦを「０」とする（Ｓ７４）。
【００７４】
なお、ＣＰＵ７２は、ステップＳ７４の処理が完了する場合や、ステップＳ７２，Ｓ７６，Ｓ７８において否定判定する場合には、図７に示す一連の処理を一旦終了する。
ここで、本実施形態の作用を説明する。
【００７５】
ステアリング１２が右旋回側または左旋回側に切られることによって、ラック軸３０がラックハウジング３８に接触して軸方向への変位が規制されるエンド当てが生じると、電動機５０の誘起電圧の大きさが急激に低下することから、電流ｉｑの大きさが上昇する。ＣＰＵ７２は、エンド当ての仮判定がなされると、仮判定直前における電動機５０を流れるｑ軸の電流ｉｑを推定し、エンド時電流指令値ｉｑｔｈとしてメモリ７４に一旦記憶する。そして、ＣＰＵ７２は、エンド当ての本判定がなされると、ｑ軸の電流指令値ｉｑ＊を、エンド時電流指令値ｉｑｔｈとする。これにより、電動機５０のｑ軸電流が、エンド当て直前の電流に制御される。エンド当て直前の電流は、ラック軸３０の軸方向への変位の限界付近において、転舵輪３４の転舵角を実現する際に実際に電動機５０が出力していたアシストトルクを生成する電流に相当する。このため、ラックハウジング３８とラック軸３０との衝突による衝撃力がアシストトルクによって大きくなることを抑制することができる値である。
【００７６】
以上説明した本実施形態によれば、さらに以下に記載する効果が得られる。
（１）電流指令値ｉｑ１＊と、電流ｉｑが、「Ｋｉｃ・ｄω」によって減少補正された値とのうちの大きさが小さい方を、エンド当て直前の電動機５０の電流として推定した。これにより、低μ路であるか高μ路であるかにかかわらず、エンド当て直前の電流を精度よく把握することができる。
【００７７】
（２）電流指令値設定処理部Ｍ１２が設定する電流指令値ｉｑ０＊に、回転速度ωが高い場合に低い場合よりも小さい値となる上限ガード値Ｉｔｈによって上限ガード処理を施した。高μ路の場合には低μ路の場合と比較して操舵トルクＴｒｑの大きさが大きくなる傾向があり、結果、エンド当てが生じる前から、電流指令値ｉｑ０＊が上限ガード値Ｉｔｈに制限される傾向がある。このため、エンド当てが生じた際に生じる衝撃によって操舵トルクＴｒｑの大きさが増加したとしても、これが電流指令値ｉｑ１＊の大きさの増加に直ちにはつながりにくい。このため、高μ路においては、エンド当てが生じたときの電流指令値ｉｑ１＊は、エンド当てが生じる直前の電流指令値に近似しやすい。このため、電流指令値ｉｑ１＊と、電流ｉｑが、「Ｋｉｃ・ｄω」によって減少補正された値とのうちの小さい方を選択する処理の利用価値が特に高い。
【００７８】
（３）上限ガード処理部Ｍ１４による上限ガード値Ｉｔｈの更新周期を、電流ｉｑ，ｉｄのサンプリング周期や、アシスト指令値Ｔｒｑａ＊の更新周期、ｑ軸フィードバック処理部Ｍ２２の制御周期等よりも長い値に設定した。この場合、エンド当てが生じるのに伴って回転速度ωの大きさが低下したことを反映したものに上限ガード値Ｉｔｈが更新されるまでに要する時間が長くなる傾向がある。このため、高μ路において、エンド当てが生じたときの電流指令値ｉｑ１＊が、エンド当てが生じる直前の電流指令値にいっそう近似した値となりやすい。
【００７９】
（４）エンド当てが生じる直前に電動機５０を流れていたｑ軸の電流ｉｑを、仮判定処理がなされる時点において推定する一方、電流指令値ｉｑ＊をエンド時電流指令値ｉｑｔｈに制限する処理については、本判定後とした。これにより、エンド当てが生じる直前の電流を精度よく推定することと、エンド当てが生じた確実性が高い場合に電流指令値ｉｑ＊をエンド時電流指令値ｉｑｔｈとすることとの両立を図ることができる。
【００８０】
＜第２の実施形態＞
以下、第２の実施形態について、第１の実施形態との相違点を中心に図面を参照しつつ説明する。
【００８１】
上記第１の実施形態では、エンド時電流指令値ｉｑｔｈを、エンド当ての仮判定直前の電流ｉｑの推定値とした。これに対し、本実施形態では、この推定値をさらに減少補正したものを用いる。
【００８２】
図８に、本実施形態にかかるエンド時電流指令値ｉｑｔｈの補正処理の手順を示す。図８に示す処理は、メモリ７４に記憶されたプログラムをＣＰＵ７２が実行することにより、エンド当て処理部Ｍ３６の処理として実現される。図８に示す処理は、たとえば所定周期で繰り返し実行される。
【００８３】
図８に示す一連の処理において、ＣＰＵ７２は、まず、エンド当て判定フラグＦが「１」または「２」であるか否かを判定する（Ｓ８０）。そして、「１」または「２」であると判定する場合（Ｓ８０：ＹＥＳ）、図３の処理にて算出されたエンド時電流指令値ｉｑｔｈに、「Ｋｉｃ・ｄω」を加算することによって、エンド時電流指令値ｉｑｔｈの絶対値を減少補正する（Ｓ８２）。ここで、係数Ｋｉｃは、ゼロ以上の値であり、本実施形態では、エンド当ての本判定がなされてから所定時間Ｔが経過するまでの期間は、固定値Ａとされ、所定時間Ｔ経過後には、漸減してゼロとなるように設定される。
【００８４】
なお、ＣＰＵ７２は、ステップＳ８２の処理が完了する場合や、ステップＳ８０において否定判定する場合には、図８に示す一連の処理を一旦終了する。
ここで、本実施形態の作用を説明する。
【００８５】
ＣＰＵ７２は、エンド当ての本判定がなされると、電動機５０を流れる電流ｉｑを、エンド時電流指令値ｉｑｔｈに制御する。この期間においては、エンド当てによって回転速度ωの大きさが低下している。このため、図２に示したｑ軸フィードバック処理部Ｍ２２の出力するｑ軸の電圧指令値ｖｑ＊の大きさが、電流ｉｑを、図３に示した処理によってエンド当て直前の電流ｉｑとして推定された値に制御するうえで適切な値よりも大きい値となっている。ｑ軸フィードバック処理部Ｍ２２は、ｑ軸の電圧指令値ｖｑ＊の大きさを、電流ｉｑの大きさが電流指令値ｉｑ＊の大きさを上回る度合いに応じて減少させる。ここで、本実施形態では、エンド時電流指令値ｉｑｔｈの大きさを、実際に制御したい値である図３の処理において推定された値よりも小さい値とする。換言すれば、電流指令値ｉｑ＊の大きさを図３の処理において推定された値よりも小さい値とする。このため、電流指令値ｉｑ＊を図３の処理において推定された値とする場合と比較して、ｑ軸の電圧指令値ｖｑ＊の大きさを迅速に減少させることができる。
【００８６】
特に、エンド時電流指令値ｉｑｔｈの大きさの減少補正度合いを、角加速度ｄωの絶対値が大きいほど大きくなるようにすることにより、誘起電圧の大きさの低下速度が大きいほど、エンド時電流指令値ｉｑｔｈの大きさの減少補正度合いを大きくすることができる。このため、誘起電圧の大きさの低下速度が大きいほど、ｑ軸の電圧指令値ｖｑ＊の絶対値の減少速度を大きくすることができる。そしてこれにより、ｑ軸の電流ｉｑの絶対値が、図３に示した処理によって推定された値の絶対値よりも過度に大きくなることを抑制することができる。
【００８７】
＜第３の実施形態＞
以下、第３の実施形態について、第１の実施形態との相違点を中心に図面を参照しつつ説明する。
【００８８】
本実施形態では、エンド当て時であるか否かに応じてｑ軸フィードバック処理部Ｍ２２のフィードバックゲインを可変設定する。
図９に、フィードバックゲインの可変設定処理の手順を示す。図９に示す処理は、メモリ７４に記憶されたプログラムをＣＰＵ７２が実行することにより、ｑ軸フィードバック処理部Ｍ２２の処理として実現される。なお、図９に示す処理は、たとえば所定周期で繰り返し実行される。
【００８９】
図９に示す一連の処理において、ＣＰＵ７２は、まずエンド当て判定フラグＦが「１」または「２」であるか否かを判定する（Ｓ９０）。そして、ＣＰＵ７２は、エンド当て判定フラグＦが「０」であると判定する場合（Ｓ９０：ＮＯ）、比例ゲインＫｐを通常ゲインＫｐ０に設定するとともに、積分ゲインＫｉを通常ゲインＫｉ０に設定する（Ｓ９２）。これに対し、ＣＰＵ７２は、エンド当て判定フラグＦが「１」または「２」であると判定する場合（Ｓ９０：ＹＥＳ）、比例ゲインＫｐを、通常ゲインＫｐ０よりも大きいエンド時ゲインＫｐｅに設定するとともに、積分ゲインＫｉを、通常ゲインＫｉ０よりも大きいエンド時ゲインＫｉｅに設定する（Ｓ９４）。
【００９０】
なお、ＣＰＵ７２は、ステップＳ９２，Ｓ９４の処理が完了する場合には、図９に示す一連の処理を一旦終了する。
このように、本実施形態では、エンド当て判定フラグＦが「１」または「２」である場合に、フィードバックゲインを大きくすることにより、ｑ軸の電圧指令値ｖｑ＊を迅速に減少させることができる。しかも、エンド当て判定フラグＦが「０」である場合には、「１」または「２」である場合よりもフィードバックゲインを小さい値とすることにより、制御を安定させることができる。
【００９１】
＜対応関係＞
上記「課題を解決するための手段」の欄に記載した事項と、実施形態における事項との対応関係は、次の通りである。以下では、「課題を解決するための手段」の欄に記載した解決手段の番号毎に、対応関係を示している。なお、以下において、「メモリ７４に記憶されたプログラムに従って所定の処理を実行するＣＰＵ７２」のことを、記載を簡素化するために、「所定の処理を実行するＣＰＵ７２」と記載する。
【００９２】
１：エンド判定処理部は、ステップＳ１２，Ｓ２０，Ｓ３２〜Ｓ４２，Ｓ４６〜Ｓ５６の処理を実行するＣＰＵ７２に対応する。エンド時制限処理部は、第１または第３の実施形態においては、ステップＳ６２の処理を実行するＣＰＵ７２に対応し、第２の実施形態においては、ステップＳ６２，Ｓ８２の処理を実行するＣＰＵ７２に対応する。また、フィードバック処理部は、ｑ軸フィードバック処理部Ｍ２２に対応し、操舵制御装置は、制御装置７０に対応する。制限電流値は、「ｉｑ＋Ｋｉｅ・ｄω（ｎ）」に対応する。
【００９３】
２：指令値設定処理部は、アシストトルク設定処理部Ｍ１０、電流指令値設定処理部Ｍ１２、および上限ガード処理部Ｍ１４に対応する。推定処理部は、ステップＳ１４〜Ｓ１８，Ｓ２２〜Ｓ２６の処理を実行するＣＰＵ７２に対応する。
【００９４】
３．上限ガード処理が施された電流指令値は、ｑ軸の電流指令値ｉｑ１＊に対応する。
４．仮判定処理部は、ステップＳ１２，Ｓ２０の処理を実行するＣＰＵ７２に対応し、本判定処理部は、ステップＳ３２〜Ｓ４２，Ｓ４６〜Ｓ５６の処理を実行するＣＰＵ７２に対応する。
【００９５】
５．エンド時制限処理部は、ステップＳ６２，Ｓ８２の処理を実行するＣＰＵ７２に対応する。
６．フィードバック処理部によるゲインの可変設定は、図９に示した処理を実行するＣＰＵ７２に対応する。
【００９６】
＜その他の実施形態＞
なお、上記実施形態の各事項の少なくとも１つを、以下のように変更してもよい。
・「仮判定処理部について」
上記（ａ１）〜（ｃ１）の条件の論理積が真である場合や、上記（ａ２）〜（ｃ２）の条件の論理積が真である場合にエンド当てが生じた旨の仮判定をするものに限らない。たとえば、上記（ｃ１）の条件や上記（ｃ２）の条件を除き、上記（ａ１）の条件および（ｂ１）の条件の論理積が真である場合や、上記（ａ２）の条件および（ｂ２）の条件の論理積が真である場合にエンド当てが生じた旨の仮判定をするものであってもよい。
【００９７】
また、ステップＳ１２において肯定判定された次の制御周期において上記（ｂ１）の条件を満たしたり、ステップＳ２０において肯定判定された次の制御周期において上記（ｂ２）の条件を満たしたりする場合に、エンド当てが生じた旨の仮判定をするものであってもよい。なお、仮判定用加速度閾値ｄωｔｈ１を負の値とする代わりに、ゼロとしてもよい。
【００９８】
・「本判定処理部について」
上記（ｄ１）〜（ｇ１）の条件の論理積が真であることや、上記（ｄ２）〜（ｇ２）の条件の論理積が真であることに基づき、エンド当てが生じた旨の本判定をするものに限らない。たとえば、上記（ｄ１）〜（ｆ１）の条件の論理積が真であることや、上記（ｄ２）〜（ｆ２）の条件の論理積が真であることに基づき、エンド当てが生じた旨の本判定をするものであってもよい。また、たとえば、上記（ｄ１），（ｅ１）および（ｇ１）の条件の論理積が真であることや、上記（ｄ２），（ｅ２）および（ｇ２）の条件の論理積が真であることに基づき、エンド当てが生じた旨の本判定をするものであってもよい。またたとえば、上記（ｄ１）および（ｅ１）の条件の論理積が真であることや、上記（ｄ２）および（ｅ２）の条件の論理積が真であることに基づき、エンド当てが生じた旨の本判定をするものであってもよい。
【００９９】
仮判定の成立条件よりも本判定の成立条件の方が厳しくなる設定としては、上記実施形態で例示したものに限らない。たとえば、仮判定用加速度閾値ｄωｔｈ１よりも本判定用加速度閾値ｄωｔｈ２の方が絶対値を大きい値に設定することと、本判定用加速度閾値ｄωｔｈ２を用いた条件の成立回数を仮判定用加速度閾値ｄωｔｈ１を用いた条件の成立回数よりも多くすることとのいずれか一方のみを採用してもよい。これは、たとえば仮判定用加速度閾値ｄωｔｈ１よりも本判定用加速度閾値ｄωｔｈ２の方が絶対値を大きい値に設定する一方、図５のステップＳ３２，Ｓ４６において１度肯定判定されることにより本判定をしたり、「仮判定処理部について」の欄に記載したように上記（ｂ１）の条件を複数回満たす場合に仮判定をしたりすることで実現できる。もっとも、図３および図５の処理において、仮判定用加速度閾値ｄωｔｈ１と本判定用加速度閾値ｄωｔｈ２とを同一とする変更のみをすることによっても実現できる。
【０１００】
・「エンド判定処理部について」
回転速度ωの絶対値の減少に基づきエンド当てを判定するものに限らない。たとえば、操舵トルクＴｒｑと、その変化速度とに基づき、エンド当てを判定するものであってもよい。具体的には、たとえば、操舵トルクの大きさが所定値以上であって且つ、操舵トルクの変化速度の大きさが規定値以上であることを条件に、エンド当てと判定すればよい。
【０１０１】
仮判定処理部および本判定処理部を備えることは必須ではない。これは、たとえば、ＣＰＵ７２が図３のステップＳ１２において肯定判定する場合にエンド当て判定フラグを「１」とし、ステップＳ２０において肯定判定する場合にエンド当て判定フラグを「２」とすることで実現できる。
【０１０２】
・「フィードバック処理部について」
たとえば図９の処理のように、ｑ軸フィードバック処理部Ｍ２２が、積分要素以外に比例要素等を備える場合であっても、エンド当て時におけるゲインの変更を、積分ゲインＫｉに限って行ってもよい。
【０１０３】
また、上記第２の実施形態において、第３の実施形態のように、図９の処理を実行してもよい。
・「推定処理部について」
上記実施形態では、エンド当て時に電動機５０のアシストトルクを適切な値とする上で適切な電流としてのエンド当て直前の電流として、特に、エンド当て直前のｑ軸の電流を推定したがこれに限らない。たとえば「電流の制御について」の欄に記載したように、ｄｑ軸に対して所定角度だけずれた回転座標系の電流成分をその指令値に制御するものである場合、その成分であってもよい。この場合、一対の成分のそれぞれを、「Ｋｉｅ・ｄω」にて減少補正したものと、対応する電流指令値とのうちの大きさが小さい方をエンド当て時の電流の推定値とすればよい。
【０１０４】
さらに、回転座標系における成分（直流電流成分）に限らない。たとえば、固定座標系における電流の振幅や、回転座標系における電流ベクトルのノルムであってもよい。ここで、ノルムは、振幅と定数倍の相違を有するのみである。ＳＰＭのみならず、「電動機について」の欄に記載したＩＰＭの場合であっても、最小電流最大トルク制御を実行する場合、ノルムは、回転座標系の一対の電流成分の組と１対１の対応関係を有する。このため、ノルムが推定できれば、これに基づき、エンド当て直前の回転座標系の一対の電流成分の組を推定することができる。なお、エンド当て直前のノルムは、たとえば、エンド当ての仮判定時のノルムＮを用いた「Ｎ＋Ｋｉｅ・ｄω」と、回転座標系における電流指令値ベクトルのノルムとのうちの小さい方とすればよい。
【０１０５】
ちなみに、「電流の制御について」の欄に記載したように、ＳＰＭを用いて弱め界磁制御を行う場合、ｑ軸の電流ｉｑのみを推定対象とすればよい。
「ｉｑ＋Ｋｉｅ・ｄω」と電流指令値ｉｑ＊とのうちの小さい方を、エンド当て直前の電流として推定するものに限らない。たとえば、「ｉｑ＋Ｋｉｅ・ｄω」を、エンド当て直前の電流として推定するものであってもよい。エンド当ての本判定がなされることによってこの推定値を用いる場合であっても、エンド当ての仮判定時における電流ｉｑを用いる場合と比較して、電流指令値ｉｑ＊をエンド当て時の値に近づけることができる。
【０１０６】
・「更新周期について」
上記実施形態では、上限ガード処理部Ｍ１４による上限ガード値Ｉｔｈの更新周期を、電流ｉｑのサンプリング周期や、アシスト指令値Ｔｒｑａ＊の更新周期、ｑ軸フィードバック処理部Ｍ２２の制御周期等よりも長い値に設定したが、これに限らない。上限ガード値Ｉｔｈの更新周期を短くしたとしても、エンド当てが生じることによって誘起電圧の大きさが急激に低下することに起因してｑ軸の電流ｉｑの大きさが急激に上昇することに鑑みれば、高μ路においてはエンド当ての仮判定がなされた時点における電流ｉｑと比較して電流指令値ｉｑ１＊の方が絶対値が小さくなりうる。そして、電流指令値ｉｑ１＊の方がエンド当て直前の電動機５０のｑ軸の電流ｉｑにより近いと考えられる。このため、ＣＰＵ７２がステップＳ１４〜Ｓ１８，Ｓ２２〜Ｓ２６の処理を実行することは有効である。
【０１０７】
・「電流の制御について」
ｑ軸の電流ｉｑと電流指令値ｉｑ＊との差を入力とする比例要素および積分要素の各出力値の和を電圧指令値ｖｑ＊とするものに限らず、たとえば、積分要素の出力値を電圧指令値ｖｑ＊とするものであってもよい。また、微分要素の出力値を加味して電圧指令値ｖｑ＊を設定するものであってもよい。この場合、微分要素によって、誘起電圧の大きさの急激な低下に起因して電圧指令値ｖｑ＊が電流ｉｑを電流指令値ｉｑ＊に制御する上で適切な値よりも絶対値が過度に大きくなることを抑制することが可能となる。なお、この場合であっても、第２，第３の実施形態の処理を実行してもよい。
【０１０８】
ｄ軸の電流ｉｄと電流指令値ｉｄ＊との差を入力とする比例要素および積分要素の各出力値の和を電圧指令値ｖｄ＊とするものに限らず、たとえば、積分要素の出力値を電圧指令値ｖｄ＊とするものであってもよい。また、微分要素の出力値を加味して電圧指令値ｖｄ＊を設定するものであってもよい。
【０１０９】
ｄ軸の電圧指令値ｖｄ＊を、ｄ軸のフィードバック操作量とするものに限らず、たとえば、ｄ軸のフィードバック操作量と、非干渉制御による開ループ操作量「（−１）・ω・Ｌ・ｉｑ」との和であってもよい。ここでは、インダクタンスＬを用いている。
【０１１０】
ｑ軸の電圧指令値ｖｑ＊を、ｑ軸のフィードバック操作量とするものに限らず、たとえば、ｑ軸のフィードバック操作量と、非干渉制御による開ループ操作量「ω・Ｌ・ｉｄ」との和であってもよい。さらに、ｑ軸の電圧指令値ｖｑ＊を、ｑ軸のフィードバック操作量と、非干渉制御による開ループ操作量と、誘起電圧に応じた開ループ操作量「ω・φ」との和としてもよい。誘起電圧に応じた開ループ操作量を用いる場合であっても、その更新周期や、その更新の入力となる回転速度ωの更新周期の設定によって、エンド当てによって誘起電圧の大きさが急激に低下した割りに開ループ操作量の変更が遅れるなら、電圧指令値ｖｑ＊が適切な値よりも絶対値が過度に大きくなるおそれがある。そしてその場合には、第２，第３の実施形態の処理を実行することが有効である。
【０１１１】
上記実施形態では、ｄ軸の電流指令値ｉｄ＊をゼロとしたが、これに限らず、たとえば負の値として弱め界磁制御を実行してもよい。
回転２次元座標系の電流成分をその指令値に制御するものとしては、ｄｑ軸上の電流成分を制御するものに限らず、たとえば、ｄｑ軸に対して所定角度だけずれた回転座標系の電流成分をその指令値に制御するものであってもよい。
【０１１２】
また、回転２次元座標系の電流成分をその指令値に制御するものとしては、フィードバック制御するものに限らない。たとえば、回転２次元座標系の電流を入力とし、複数のスイッチングモードのそれぞれが仮に選択された場合の未来の電流を予測し、この予測値と指令値との差を小さくするスイッチングモードを実際に採用する、いわゆるモデル予測制御を実行するものであってもよい。この場合、誘起電圧の大きさが急激に低下したとしても、電流を電流指令値に迅速に制御することは可能であるものの、少なくとも電流指令値を適切に設定する上では、図３の処理が有効である。
【０１１３】
・「上限ガード処理部について」
上限ガード処理部Ｍ１４を備えることは必須ではない。これを備えない場合であっても、高μ路においては、要求される操舵トルクの大きさが大きいため、限界角に到達する前から、操舵トルクやアシストトルクの大きさが大きくなり、限界角に到達した際のアシストトルクの指令値の大きさの増加量は、低μ路と比較すると小さくなる傾向がある。このため、限界角に到達する際、電流の検出値の大きさよりも電流指令値の大きさの方が小さい値となることがあるため、ステップＳ１４〜Ｓ１８，Ｓ２２〜Ｓ２６の処理等は有効である。
【０１１４】
・「Ｋｉｃ・ｄω補正について」
図８の処理においては、所定時間ＴにわたってＫｉｃをゼロよりも大きい一定値とした後、漸減させてゼロとし、所定時間Ｔを、図７のステップＳ７２，Ｓ７８の所定時間Ｔと一致させたが、これに限らない。換言すれば、図８の処理における所定時間Ｔと、図７のステップＳ７２，Ｓ７８の所定時間Ｔとが一致している必要はない。
【０１１５】
なお、「電動機について」の欄に記載したようにＩＰＭＳＭを用いる場合、図８の処理において、ステップＳ８２の処理を実行するとともに、ｄ軸の電流指令値ｉｄ＊についてもその絶対値を、回転速度ωの大きさの低下度合いに応じて減少補正してもよい。これにより、リラクタンストルクを減少させることができることから、エンド当てに起因して電動機５０のトルクが大きくなる現象が生じることについては、いっそう抑制することができる。
【０１１６】
・「エンド時制限処理部について」
たとえば、上記第２の実施形態において、エンド時電流指令値ｉｑｔｈを用いた電流指令値ｉｑ＊の制限処理の終了条件を、以下のように変更してもよい。すなわち、図７のステップＳ７２の処理に代えて、電流指令値ｉｑ１＊がエンド時電流指令値ｉｑｔｈ以下である旨の条件のみとし、ステップＳ７８の処理に代えて、電流指令値ｉｑ１＊がエンド時電流指令値ｉｑｔｈ以上である旨の条件のみとしてもよい。
【０１１７】
・「限界角について」
操舵装置１０の構造によって定まる転舵輪３４の転舵角の絶対値の上限値である限界角としては、ラック軸３０がラックハウジング３８に接触する際の転舵角に限らない。たとえば、ステアリング１２にスパイラルケーブルが取り付けられている場合において、ステアリング１２の操舵角の絶対値がスパイラルケーブルによって定まる上限値となるときにラック軸３０がラックハウジング３８に接触しない場合には、スパイラルケーブルによって定まる転舵角の最大値であってもよい。ただし、「操舵装置について」の欄に記載したように、操舵装置が舵角比を可変とするアクチュエータを備える場合、限界角は、舵角比に応じて変化する値となる。
【０１１８】
・「電動機について」
永久磁石同期電動機としては、ＳＰＭに限らず、たとえば埋込磁石同期電動機（ＩＰＭＳＭ）であってもよい。また、永久磁石同期電動機に限らない。たとえば、直流電動機であってもよい。また永久磁石を備えない巻線界磁型同期電動機であってもよい。このように、ロータが永久磁石を備えないものであっても、回転速度の大きさが急激に低下する場合には、誘起電圧の大きさの急激な低下に伴ってステータコイルを流れる電流の大きさが急激に上昇するおそれがある。このため、ステップＳ１４〜Ｓ１８，Ｓ２２〜Ｓ２６の処理を実行したり、第２、第３の実施形態の処理を実行したりそれらの変形例を実行したりすることが有効である。
【０１１９】
・「制御装置について」
制御装置７０が、ＣＰＵ７２およびメモリ７４を備えて、上述した各種処理を全てソフトウェア処理するものに限らない。たとえば、図３に示した処理を、専用のハードウェア（特定用途向け集積回路：ＡＳＩＣ）にて処理するなど、少なくとも一部の処理を実行するＡＳＩＣを備えたものであってもよい。
【０１２０】
・「操舵装置について」
ステアリング１２の回転角（操舵角）と転舵輪３４の転舵角とが１対１に対応するものに限らず、たとえば、舵角比可変アクチュエータを備えて操舵角と転舵角との比である舵角比を電子制御によって変更可能なものであってもよい。
【０１２１】
・「そのほか」
転舵アクチュエータＰＳＡとしては、ラックアンドピニオン型のものに限らない。たとえば、ラッククロス型のものや、ラックパラレル（登録商標）、ラック同軸型のものなどを採用してもよい。
【符号の説明】
【０１２２】
１０…操舵装置、１２…ステアリング、１４…ステアリングシャフト、１６…トーションバー、２０…第１ラックアンドピニオン機構、２２…ピニオン軸、２２ａ…ピニオン歯、３０…ラック軸、３２ａ…第１ラック歯、３４…転舵輪、３４ａ…第２ラック歯、３６…減速機、３８…ラックハウジング、４０…第２ラックアンドピニオン機構、４２…ピニオン軸、４２ａ…ピニオン歯、５０…電動機、５２…回転軸、６０…インバータ、６２…バッテリ、６４…トルクセンサ、６６…シャント抵抗、６８…回転角度センサ、６９…車速センサ、７０…制御装置、７２…ＣＰＵ、７４…メモリ。
【図１】
2018030532.tif 000003
【図２】
2018030532.tif 000004
【図３】
2018030532.tif 000005
【図４】
2018030532.tif 000006
【図５】
2018030532.tif 000007
【図６】
2018030532.tif 000008
【図７】
2018030532.tif 000009
【図８】
2018030532.tif 000010
【図９】
2018030532.tif 000011