(57)【特許請求の範囲】
【請求項１】
車両の操舵をアシストする操舵装置を制御対象とし、
前記操舵装置は、アシストトルクを生成する同期電動機と、前記同期電動機に電圧を印加する電力変換回路とを備え、
前記同期電動機を流れる電流を指令値に制御するために前記電力変換回路が前記同期電動機に印加する電圧を操作する電流制御処理部と、
ステアリングに入力されるトルクである操舵トルクの検出値を目標トルクにフィードバック制御するために、前記指令値の位相を定める制御角を操作する制御角操作処理部と、
前記制御角操作処理部による前記制御角の更新量を、前記検出値に応じた前記同期電動機の回転方向への前記更新量の大きさの上限ガード値であるトルクベース上限ガード値以下且つ、前記検出値に応じた前記同期電動機の回転方向への前記更新量の大きさの下限ガード値であるトルクベース下限ガード値以上となるようにガード処理を施すトルクベースガード処理部と、を備え、
前記トルクベースガード処理部は、前記更新量の大きさが前記トルクベース上限ガード値を上回ること、および前記トルクベース下限ガード値を下回ることの少なくとも一方を条件に、前記トルクベース上限ガード値と前記トルクベース下限ガード値とによって定まる前記更新量の許容範囲を徐々に縮小する縮小処理部を備える操舵制御装置。
【請求項２】
前記縮小処理部が前記許容範囲を徐々に縮小する処理を実行する前における前記トルクベース上限ガード値は、基準上限ガード値とされ、前記実行する前における前記トルクベース下限ガード値は、基準下限ガード値とされ、
前記縮小処理部は、基準更新量以上であることを条件に前記トルクベース上限ガード値を前記基準上限ガード値に対して減少させる処理と、前記基準更新量以下であることを条件に前記トルクベース下限ガード値を前記基準下限ガード値に対して増加させる処理との少なくとも一方の処理を実行し、
前記基準更新量は、前記基準上限ガード値および前記基準下限ガード値の間の値であって且つ、前記操舵トルクと正または負の相関を有する値に設定されている請求項１記載の操舵制御装置。
【請求項３】
前記縮小処理部は、前記トルクベース上限ガード値を前記基準上限ガード値に対して減少させる速度の絶対値と、前記トルクベース下限ガード値を前記基準下限ガード値に対して増加させる速度の絶対値とを、互いに異なる値に設定する請求項２記載の操舵制御装置。
【請求項４】
前記縮小処理部は、
前記制御角操作処理部による前記更新量の大きさが前記基準上限ガード値を上回る状態の継続時間が上限用異常判定時間以上となる場合、前記トルクベース上限ガード値を前記基準上限ガード値に対して減少させ、
前記制御角操作処理部による前記更新量の大きさが前記基準下限ガード値を下回る状態の継続時間が下限用異常判定時間以上となる場合、前記トルクベース下限ガード値を前記基準下限ガード値に対して増加させるものであり、
前記下限用異常判定時間と、前記上限用異常判定時間とは、互いに異なる値に設定されている請求項２または３記載の操舵制御装置。
【請求項５】
前記トルクベースガード処理部は、前記制御角操作処理部による前記制御角の更新量が前記基準上限ガード値と前記基準下限ガード値との間にあって且つ前記トルクベース上限ガード値と前記トルクベース下限ガード値とによって定まる許容範囲が前記基準上限ガード値と前記基準下限ガード値とによって定まる許容範囲よりも狭いことを条件に、前記トルクベース上限ガード値と前記トルクベース下限ガード値との幅を拡大する拡大処理部を備える請求項２〜４のいずれか１項に記載の操舵制御装置。
【請求項６】
前記拡大処理部は、
前記制御角操作処理部による前記更新量の大きさが前記基準上限ガード値以下であることを条件に、前記基準上限ガード値以下となる範囲で前記トルクベース上限ガード値を増加させ、
前記制御角操作処理部による前記更新量の大きさが前記基準下限ガード値以上であることを条件に、前記基準下限ガード値以上となる範囲で前記トルクベース下限ガード値を減少させるものであり、
前記トルクベース上限ガード値を増加させる速度の絶対値と、前記トルクベース下限ガード値を減少させる速度の絶対値とを、互いに異なる値に設定する請求項５記載の操舵制御装置。
【請求項７】
前記拡大処理部は、
前記制御角操作処理部による前記更新量の大きさが前記基準上限ガード値以下となる状態の継続時間が上限用回復判定時間以上となる場合、前記基準上限ガード値以下となる範囲で前記トルクベース上限ガード値を増加させ、
前記制御角操作処理部による前記更新量の大きさが前記基準下限ガード値以上となる状態の継続時間が下限用回復判定時間以上となる場合、前記基準下限ガード値以上となる範囲で前記トルクベース下限ガード値を減少させるものであり、
前記上限用回復判定時間と前記下限用回復判定時間とを、異なる値に設定する請求項６記載の操舵制御装置。
【請求項８】
前記同期電動機を流れる電流と前記電力変換回路によって前記同期電動機の各端子に印加される電圧とに基づき誘起電圧を推定し、該推定される誘起電圧に基づき所定時間当たりの前記同期電動機の回転量である推定変化量を算出する推定処理部と、
前記推定変化量に応じた上限ガード値である変化量ベース上限ガード値および前記推定変化量に応じた下限ガード値である変化量ベース下限ガード値によって前記制御角操作処理部による前記制御角の更新量にガード処理を施す変化量ベースガード処理部を備え、
前記トルクベースガード処理部によるガード処理の対象となるのは、前記変化量ベースガード処理部によってガード処理が施された前記更新量である請求項１〜７のいずれか１項に記載の操舵制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両の操舵をアシストする操舵装置を制御対象とする操舵制御装置に関する。
【背景技術】
【０００２】
たとえば特許文献１には、操舵トルクの検出値を目標トルクにフィードバック制御するために、同期電動機にアシストトルクを生成させるための電流フィードバック制御器の入力となる制御角を操作する制御装置が記載されている。この制御装置は、同期電動機のセンサレス制御として、トルクフィードバック制御をするものであり、制御角によって回転する座標系の座標軸をγ軸およびδ軸とし、γ軸の指令電流値をゼロよりも大きい値とする一方、δ軸の指令電流値をゼロとする。これにより、γ軸とｄ軸とのずれ量に応じて、ｑ軸電流が流れ、ｑ軸電流によって同期電動機のトルクが生成される。ここで、γ軸とｄ軸とのずれ量は、制御角によって操作することができることから、トルクフィードバック制御によって制御角を操作することにより、γ軸とｄ軸とのずれ量を操作することができ、ひいては同期電動機のトルクを制御することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５４４０８４５号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ただし、たとえば上記トルクフィードバック制御の制御器のパラメータの異常やロジック異常等のいわゆるシステマティックエラーが発生した場合には、同期電動機のトルクを適切に制御することができない。
【０００５】
本発明は、そうした実情に鑑みてなされたものであり、その目的は、操舵トルクの検出値を目標トルクにフィードバック制御するために電流フィードバック制御器の入力となる制御角を操作する制御器のシステマティックエラー発生時であっても、アシスト制御を実行できるようにした操舵制御装置を提供することにある。
【課題を解決するための手段】
【０００６】
以下、上記課題を解決するための手段およびその作用効果について記載する。
１．操舵制御装置は、車両の操舵をアシストする操舵装置を制御対象とし、前記操舵装置は、アシストトルクを生成する同期電動機と、前記同期電動機に電圧を印加する電力変換回路とを備え、前記同期電動機を流れる電流を指令値に制御するために前記電力変換回路が前記同期電動機に印加する電圧を操作する電流制御処理部と、ステアリングに入力されるトルクである操舵トルクの検出値を目標トルクにフィードバック制御するために、前記指令値の位相を定める制御角を操作する制御角操作処理部と、前記制御角操作処理部による前記制御角の更新量を、前記検出値に応じた前記同期電動機の回転方向への前記更新量の大きさの上限ガード値であるトルクベース上限ガード値以下且つ、前記検出値に応じた前記同期電動機の回転方向への前記更新量の大きさの下限ガード値であるトルクベース下限ガード値以上となるようにガード処理を施すトルクベースガード処理部と、を備え、前記トルクベースガード処理部は、前記更新量の大きさが前記トルクベース上限ガード値を上回ること、および前記トルクベース下限ガード値を下回ることの少なくとも一方を条件に、前記トルクベース上限ガード値と前記トルクベース下限ガード値とによって定まる前記更新量の許容範囲を徐々に縮小する縮小処理部を備える。
【０００７】
アシストトルクは、操舵トルクをアシストするものであるため、操舵トルクと相関を有する。また、アシストトルクは、電流の位相に応じて定まるものであり、特に、アシストトルクの符号に応じて、電流の位相が定まる。このため、操舵トルクの検出値に応じて、電流の位相を定める制御角の更新量の符号が定まる。上記構成では、この点に鑑み、操舵トルクの検出値に応じたトルクベース上限ガード値以下且つトルクベース下限ガード値以上となるようにガード処理を施すことにより、制御角操作処理部による更新量が適切な値から大きくずれる場合に、ずれた更新量が実際の制御角の更新に反映されることを抑制する。そしてその後、トルクベース上限ガード値とトルクベース下限ガード値とによって定まる更新量の許容範囲を徐々に縮小することによって、制御角の更新量をアシスト制御を実行する上でより適切な値に制限することができる。このため、操舵トルクの検出値を目標トルクにフィードバック制御するために電流フィードバック制御器の入力となる制御角を操作する制御器のシステマティックエラー発生時であっても、アシスト制御を実行できる。
【０００８】
２．上記１記載の操舵制御装置において、前記縮小処理部が前記許容範囲を徐々に縮小する処理を実行する前における前記トルクベース上限ガード値は、基準上限ガード値とされ、前記実行する前における前記トルクベース下限ガード値は、基準下限ガード値とされ、前記縮小処理部は、基準更新量以上であることを条件に前記トルクベース上限ガード値を前記基準上限ガード値に対して減少させる処理と、前記基準更新量以下であることを条件に前記トルクベース下限ガード値を前記基準下限ガード値に対して増加させる処理との少なくとも一方の処理を実行し、前記基準更新量は、前記基準上限ガード値および前記基準下限ガード値の間の値であって且つ、前記操舵トルクと正または負の相関を有する値に設定されている。
【０００９】
たとえば指令値をｄ軸の正側とｑ軸の正側とによって挟まれる領域内に設定する場合、アシストトルクが大きい場合には小さい場合よりも電流の位相が進角側となる。このため、操舵トルクが大きくアシストトルクを大きくする必要があるときには、電流の位相を進めるべく更新量の大きさ（絶対値）が大きい値となる傾向がある。このように、操舵トルクの検出値の大きさに応じて、更新量の絶対値の適正値をある程度定めることができる。そして、基準更新量として適正値を設定するなら、縮小処理部によって更新量を基準更新量に近づけることにより、更新量をアシスト制御のための適正値に近づけることができる。
【００１０】
３．上記２記載の操舵制御装置において、前記縮小処理部は、前記トルクベース上限ガード値を前記基準上限ガード値に対して減少させる速度の絶対値と、前記トルクベース下限ガード値を前記基準下限ガード値に対して増加させる速度の絶対値とを、互いに異なる値に設定する。
【００１１】
たとえば指令値をｄ軸の正側とｑ軸の正側とによって挟まれる領域内に設定する場合、更新量が基準下限ガード値よりも小さいと、アシストトルクが不十分となる傾向がある。このため、指令値をｄ軸の正側とｑ軸の正側とによって挟まれる領域内に設定する場合、トルクベース下限ガード値の上記増加速度を大きくすることにより、更新量の絶対値を迅速に大きくしてアシストトルクを迅速に大きくすることが望ましい。一方、更新量が基準上限ガード値よりも大きい場合に更新量の減少速度が大きい場合には、アシストトルクが急激に減少してユーザに違和感を与えるおそれがある。このため、トルクベース上限ガード値の減少速度の絶対値を、トルクベース下限ガード値の増加速度の絶対値に等しくなるように設定したのでは、減少速度が適切な値とならないおそれがある。
【００１２】
上記構成では、この点に鑑み、上記減少速度の絶対値と上記増加速度の絶対値とを各別に設定した。
４．上記２または３記載の操舵制御装置において、前記縮小処理部は、前記制御角操作処理部による前記更新量の大きさが前記基準上限ガード値を上回る状態の継続時間が上限用異常判定時間以上となる場合、前記トルクベース上限ガード値を前記基準上限ガード値に対して減少させ、前記制御角操作処理部による前記更新量の大きさが前記基準下限ガード値を下回る状態の継続時間が下限用異常判定時間以上となる場合、前記トルクベース下限ガード値を前記基準下限ガード値に対して増加させるものであり、前記下限用異常判定時間と、前記上限用異常判定時間とは、互いに異なる値に設定されている。
【００１３】
たとえば、下限用異常判定時間や上限用異常判定時間を小さい値に設定する場合、ＳＮ比が低下する。一方、たとえば指令値をｄ軸の正側とｑ軸の正側とによって挟まれる領域内に設定する場合、下限用異常判定時間を大きい値に設定すると、更新量が基準下限ガード値となる継続時間が長くなり、ひいてはアシストトルクが不十分となる期間が長くなるおそれがある。このように、下限用異常判定時間や上限用異常判定時間は、様々な要求要素を満たすように設定することが望まれることから、下限用異常判定時間と上限用異常判定時間とを同一の値として、それら様々な要求要素を満たすことができるとは限らない。そこで、上記構成では、様々な要求要素に応じることができるように、下限用異常判定時間と上限用異常判定時間とを互いに独立に設定する。
【００１４】
５．上記２〜４のいずれか１項に記載の操舵制御装置において、前記トルクベースガード処理部は、前記制御角操作処理部による前記制御角の更新量が前記基準上限ガード値と前記基準下限ガード値との間にあって且つ前記トルクベース上限ガード値と前記トルクベース下限ガード値とによって定まる許容範囲が前記基準上限ガード値と前記基準下限ガード値とによって定まる許容範囲よりも狭いことを条件に、前記トルクベース上限ガード値と前記トルクベース下限ガード値との幅を拡大する拡大処理部を備える。
【００１５】
トルクベース上限ガード値やトルクベース下限ガード値によって更新量がガードされているときであって、且つガード前の制御角操作処理部による制御角の更新量が基準上限ガード値と基準下限ガード値との間にある場合、更新量が正常な値に回復していると考えられる。上記構成では、この点に鑑み、拡大処理部を備えることにより、制御角操作処理部による制御角の更新量が正常な値に回復したと考えられるときに、制御角操作処理部による制御角の更新量によって制御角を更新させることができる。
【００１６】
６．上記５記載の操舵制御装置において、前記拡大処理部は、前記制御角操作処理部による前記更新量の大きさが前記基準上限ガード値以下であることを条件に、前記基準上限ガード値以下となる範囲で前記トルクベース上限ガード値を増加させ、前記制御角操作処理部による前記更新量の大きさが前記基準下限ガード値以上であることを条件に、前記基準下限ガード値以上となる範囲で前記トルクベース下限ガード値を減少させるものであり、前記トルクベース上限ガード値を増加させる速度の絶対値と、前記トルクベース下限ガード値を減少させる速度の絶対値とを、互いに異なる値に設定する。
【００１７】
たとえば指令値をｄ軸の正側とｑ軸の正側とによって挟まれる領域内に設定する場合、更新量の大きさが小さいと、アシストトルクが不十分となる傾向がある。このため、たとえば指令値をｄ軸の正側とｑ軸の正側とによって挟まれる領域内に設定する場合、上限ガード値の上記増加速度を大きくすることにより、更新量の絶対値を迅速に大きくし、アシストトルクを迅速に大きくすることが望ましい。一方、指令値をｄ軸の正側とｑ軸の正側とによって挟まれる領域内に設定する場合、下限ガード値の減少速度を大きくすると、アシストトルクが急激に減少してユーザに違和感を与えるおそれがある。
【００１８】
上記構成では、この点に鑑み、上記減少速度の絶対値と上記増加速度の絶対値とを互いに独立に設定した。
７．上記６記載の操舵制御装置において、前記拡大処理部は、前記制御角操作処理部による前記更新量の大きさが前記基準上限ガード値以下となる状態の継続時間が上限用回復判定時間以上となる場合、前記基準上限ガード値以下となる範囲で前記トルクベース上限ガード値を増加させ、前記制御角操作処理部による前記更新量の大きさが前記基準下限ガード値以上となる状態の継続時間が下限用回復判定時間以上となる場合、前記基準下限ガード値以上となる範囲で前記トルクベース下限ガード値を減少させるものであり、前記上限用回復判定時間と前記下限用回復判定時間とを、異なる値に設定する。
【００１９】
たとえば、下限用回復判定時間や上限用回復判定時間を小さい値に設定する場合、ＳＮ比が低下する。一方、たとえば、上限用回復判定時間を大きい値に設定すると、制御角操作処理部による制御角の更新量が正常に回復しているにもかかわらず、トルクベースガード処理部のガード処理によって更新量の大きさが小さい値となる継続時間が長くなり、ひいてはアシストトルクが不十分となる期間が長くなるおそれがある。このように、下限用回復判定時間や上限用回復判定時間は、様々な要求要素を満たすように設定することが望まれることから、下限用回復判定時間と上限用回復判定時間とを同一の値として、それら様々な要求要素を満たすことができるとは限らない。そこで、上記構成では、様々な要求要素に応じることができるように、下限用回復判定時間と上限用回復判定時間とを互いに独立に設定する。
【００２０】
８．上記１〜７のいずれか１項に記載の操舵制御装置において、前記同期電動機を流れる電流と前記電力変換回路によって前記同期電動機の各端子に印加される電圧とに基づき誘起電圧を推定し、該推定される誘起電圧に基づき所定時間当たりの前記同期電動機の回転量である推定変化量を算出する推定処理部と、前記推定変化量に応じた上限ガード値である変化量ベース上限ガード値および前記推定変化量に応じた下限ガード値である変化量ベース下限ガード値によって前記制御角操作処理部による前記制御角の更新量にガード処理を施す変化量ベースガード処理部を備え、前記トルクベースガード処理部によるガード処理の対象となるのは、前記変化量ベースガード処理部によってガード処理が施された前記更新量である。
【００２１】
制御角操作処理部による制御角の更新量は、同期電動機の回転速度が高い場合には、適切な値とすることが困難となる傾向がある。この点、上記構成では、変化量ベースガード処理部によってガード処理を施すことにより、同期電動機の回転速度が高い場合においても更新量を適切な値に設定することができる。
【００２２】
しかも、変化量ベースガード処理部の処理自体が異常となるなどのシステマティックエラーが生じた場合、トルクベースガード処理部によって更新量が適切な値から過度にずれることを抑制することができる。ここで、トルクベースガード処理部によるガード処理と、変化量ベースガード処理部によるガード処理とは、異なるロジックのため、たとえば変化量ベースガード処理部のロジック異常が生じた場合であっても、トルクベースガード処理部の信頼性の低下を抑制することができる。
【図面の簡単な説明】
【００２３】
【図１】第１の実施形態にかかる操舵制御装置を備える操舵システムの構成図。
【図２】同実施形態においてＣＰＵによって実現される処理の一部を示すブロック図。
【図３】同実施形態にかかる基準上限ガード値および基準下限ガード値を示す図。
【図４】同実施形態にかかる異常判定処理の手順を示す流れ図。
【図５】同実施形態にかかるトルクベース上限ガード値およびトルクベース下限ガード値の変更処理の手順を示す流れ図。
【図６】同実施形態にかかるトルクベース上限ガード値およびトルクベース下限ガード値の変更処理の手順を示すタイムチャート。
【図７】第２の実施形態にかかるトルクベース上限ガード値およびトルクベース下限ガード値の変更処理の手順を示す流れ図。
【図８】第３の実施形態にかかる異常からの回復判定の処理手順を示す流れ図。
【図９】同実施形態にかかるトルクベース上限ガード値およびトルクベース下限ガード値の変更処理の手順を示す流れ図。
【図１０】第４の実施形態にかかるトルクベース上限ガード値およびトルクベース下限ガード値の変更処理の手順を示す流れ図。
【図１１】第５の実施形態にかかる異常判定処理の手順を示す流れ図。
【図１２】同実施形態にかかる異常からの回復判定の処理手順を示す流れ図。
【図１３】同実施形態にかかるトルクベース上限ガード値およびトルクベース下限ガード値の変更処理の手順を示す流れ図。
【発明を実施するための形態】
【００２４】
＜第１の実施形態＞
以下、操舵制御装置にかかる第１の実施形態について図面を参照しつつ説明する。
図１に示すように、本実施形態にかかる操舵装置１０においては、ステアリングホイール（ステアリング１２）が、ステアリングシャフト１３に固定されており、ステアリングシャフト１３の回転に応じてラック軸２０が軸方向に往復動する。なお、ステアリングシャフト１３は、ステアリング１２側から順にコラム軸１４、中間軸１６、およびピニオン軸１８を連結することにより構成されている。
【００２５】
ピニオン軸１８は、ラック軸２０に動力伝達可能に配置されている。詳しくは、ラック軸２０とピニオン軸１８とは、所定の交叉角をもって配置されており、ラック軸２０に形成された第１ラック歯２０ａとピニオン軸１８に形成されたピニオン歯１８ａとが噛合されることで第１ラックアンドピニオン機構２２が構成されている。また、ラック軸２０の両端には、タイロッド２４が連結されており、タイロッド２４の先端は転舵輪２６が組み付けられた図示しないナックルに連結されている。したがって、ステアリング１２の操作に伴うステアリングシャフト１３の回転が第１ラックアンドピニオン機構２２によりラック軸２０の軸方向変位に変換され、この軸方向変位がタイロッド２４を介してナックルに伝達されることにより、転舵輪２６の転舵角、すなわち車両の進行方向が変更される。
【００２６】
上記ラック軸２０は、ピニオン軸２８と所定の交叉角をもって配置されており、ラック軸２０に形成された第２ラック歯２０ｂとピニオン軸２８に形成されたピニオン歯２８ａとが噛合されることで第２ラックアンドピニオン機構３０が構成されている。ピニオン軸２８は、ウォームアンドホイール等の減速機構３２を介して、同期電動機３４の回転軸３４ａに接続されている。同期電動機３４は、３相の表面磁石同期電動機（ＳＰＭＳＭ）である。
【００２７】
同期電動機３４は、インバータ４０を介してバッテリ４２に接続されている。インバータ４０は、バッテリ４２の直流電圧を交流電圧に変換して同期電動機３４に印加する電力変換回路である。
【００２８】
操舵制御装置（制御装置５０）は、中央処理装置（ＣＰＵ５２）およびメモリ５４を備えている。制御装置５０は、同期電動機３４のトルクを制御量とし、インバータ４０を操作することによって、ステアリング１２の操作をアシストするアシスト制御を実行する。この際、制御装置５０は、各種センサの検出値を参照する。これらセンサとしては、たとえば、同期電動機３４の回転軸３４ａの回転角度θｐ０を検出する回転角度センサ５８、ステアリングシャフト１３に加わるトルク（操舵トルクＴｒｑｓ）を検出するトルクセンサ６０、車両の走行速度（車速Ｖ）を検出する車速センサ６２などがある。さらに、制御装置５０は、インバータ４０と同期電動機３４との間の線電流（電流ｉｕ，ｉｖ，ｉｗ）を検出する電流センサ６４の検出値を取得する。
【００２９】
図２に、制御装置５０が実行する処理の一部を示す。図２は、メモリ５４に記憶されたプログラムをＣＰＵ５２が実行することで実現されるいくつかの処理を、実現される処理の種類毎に記載したものである。
【００３０】
正常時処理部Ｍ１０は、同期電動機３４のアシストトルクを制御するためのインバータ４０の操作信号ＭＳを生成する。この際、正常時処理部Ｍ１０は、回転角度センサ５８によって検出された回転軸３４ａの回転角度θｐ０や、電流センサ６４によって検出された電流ｉｕ，ｉｖ，ｉｗ、車速センサ６２によって検出される車速Ｖ、トルクセンサ６０によって検出される操舵トルクＴｒｑｓを入力とする。
【００３１】
センサレス処理部Ｍ２０は、回転角度センサ５８に異常が生じた場合に、回転角度センサ５８による回転角度θｐ０を用いることなく、同期電動機３４のアシストトルクを制御する。
【００３２】
セレクタＭ１２は、回転角度センサ５８の異常の有無に応じて、正常時処理部Ｍ１０による操作信号ＭＳとセンサレス処理部Ｍ２０による操作信号ＭＳとのいずれかをインバータ４０に選択的に出力する。ただし、実際には、回転角度センサ５８に異常が生じる前には、センサレス処理部Ｍ２０が操作信号ＭＳを算出する処理を実行しておらず、また、回転角度センサ５８に異常が生じた後には、正常時処理部Ｍ１０が操作信号ＭＳを算出する処理を実行しない。なお、回転角度センサ５８の異常の有無の判定処理としては、たとえば、操舵トルクＴｒｑｓの絶対値が所定値以上となっているにもかかわらず、回転角度センサ５８の出力値が固定された状態が所定時間以上継続する場合に異常と判定するものとすればよい。
【００３３】
以下、センサレス処理部Ｍ２０について、詳述する。
指令電流設定処理部Ｍ２４は、回転座標系であるγδ座標系におけるγ軸の指令電流ｉγ＊とδ軸の指令電流ｉδ＊とを設定する。特に、本実施形態では、γ軸の指令電流ｉγ＊を正の値として且つ、δ軸の指令電流ｉδ＊をゼロとする。
【００３４】
γδ変換処理部Ｍ２６は、３相固定座標系の電流ｉｕ，ｉｖ，ｉｗを、回転座標系であるγδ座標系におけるγ軸の電流ｉγとδ軸の電流ｉδとに変換する。ここで、γδ変換処理部Ｍ２６が座標変換に利用する回転角度は、後述する制御角θｃである。
【００３５】
偏差算出処理部Ｍ２８は、γ軸の指令電流ｉγ＊から電流ｉγを減算して出力し、偏差算出処理部Ｍ３０は、δ軸の指令電流ｉδ＊から電流ｉδを減算して出力する。電流フィードバック処理部Ｍ３２は、偏差算出処理部Ｍ２８の出力を取り込み、γ軸の電流ｉγを指令電流ｉγ＊にフィードバック制御するための操作量として、γ軸上の指令電圧ｖγ＊を出力する。電流フィードバック処理部Ｍ３４は、偏差算出処理部Ｍ３０の出力を取り込み、δ軸の電流ｉδを指令電流ｉδ＊にフィードバック制御するための操作量として、δ軸上の指令電圧ｖδ＊を出力する。電流フィードバック処理部Ｍ３２，Ｍ３４は、入力に対する比例要素の出力値および積分要素の出力値の和を操作量として出力するものとすればよい。
【００３６】
αβ変換処理部Ｍ３６は、γδ軸上の指令電圧ｖγ＊，ｖδ＊を、αβ軸上の指令電圧ｖα＊，ｖβ＊に変換して出力する。なお、αβ変換処理部Ｍ３６が座標変換に利用する所定の回転角度は、後述する制御角θｃである。
【００３７】
ｕｖｗ変換処理部Ｍ３８は、αβ軸上の指令電圧ｖα＊，ｖβ＊を、３相固定座標系の指令電圧ｖｕ＊，ｖｖ＊，ｖｗ＊に変換する。操作信号生成処理部Ｍ４０は、インバータ４０の出力線間電圧が指令電圧ｖｕ＊，ｖｖ＊，ｖｗ＊によって定まる相間電圧となるように、インバータ４０の操作信号ＭＳを生成して出力する。
【００３８】
αβ変換処理部Ｍ４４は、電流ｉｕ，ｉｖ，ｉｗを、αβ座標系の電流ｉα、ｉβに変換する。誘起電圧オブザーバＭ４６は、αβ変換処理部Ｍ４４の出力する電流ｉα，ｉβと、指令電圧ｖα＊，ｖβ＊と、後述する推定変化量ω１とに基づき、αβ軸上の誘起電圧ｅα，ｅβを推定する。角度算出処理部Ｍ４８は、推定された誘起電圧ｅα，ｅβの比「ｅβ／ｅα」を入力とする逆正接関数の出力値として、推定角度θｅ１を算出する。速度算出処理部Ｍ５０は、推定角度θｅ１を入力として、推定変化量ω１を算出する。ここで、推定変化量ω１は、所定時間ΔＴ当たりの推定角度θｅ１の変化量を示す。推定角度θｅ１の変化速度ωｅ１を用いると、推定変化量ω１は、「ωｅ１・ΔＴ」となる。
【００３９】
不感帯処理部Ｍ５２は、トルクセンサ６０によって検出された操舵トルクＴｒｑｓの大きさが閾値ＴｒｑＬ以下である場合、「０」となり、閾値ＴｒｑＬより大きい場合、閾値ＴｒｑＬだけ減少補正した操舵トルクＴｒｑｓ１を算出する。
【００４０】
目標トルク設定処理部Ｍ５３は、目標トルクＴｒｑｓ＊を設定する。本実施形態では、目標トルクＴｒｑｓ＊として「０」を想定する。
更新量算出処理部Ｍ５４は、操舵トルクＴｒｑｓ１を目標トルクＴｒｑｓ＊にフィードバック制御するために制御角θｃを操作すべく、制御角θｃの上記所定時間ΔＴにおける更新量Δθｃのベースとなる更新量Δθｃ２を算出して出力する。ここで、本実施形態では、同期電動機３４を流れる電流を、回転座標系において、ｄ軸の正側とｑ軸の正側との間の領域に制御することを想定する。換言すれば、電流の位相を、「０〜−９０°」の領域内に制御することを想定する。ここで、ｄ軸の正方向を、磁極の方向とし、ｑ軸の正方向を、ｄ軸に対して同期電動機３４の回転している方向に電気角で９０°ずらした方向とする。また、上記電流の位相を、電流ベクトルの方向（ここでは、γ軸の正方向）とｑ軸とのなす角度であって且つ、ｑ軸から回転方向に行く場合に正と定義する。この場合、電流の位相は、制御角θｃの更新量Δθｃが、所定時間ΔＴ当たりの同期電動機３４の実際の回転量に等しい場合には、一定値となる。これに対し、更新量Δθｃが所定時間ΔＴ当たりの同期電動機３４の実際の回転量よりも大きい場合には、電流の位相が電流ベクトルを進角させる側に変化する。また、更新量Δθｃが所定時間ΔＴ当たりの同期電動機３４の実際の回転量よりも小さい場合には、電流の位相が電流ベクトルを遅角させる側に変化する。このため、本実施形態では、制御角θｃを、電流の位相を定めるパラメータとして、電流の位相を操作するために操作する。
【００４１】
具体的には、偏差算出処理部Ｍ５４ａにおいては、操舵トルクＴｒｑｓ１から目標トルクＴｒｑｓ＊を減算した値を算出して出力する。フィードバック処理部Ｍ５４ｂは、偏差算出処理部Ｍ５４ａの出力値に基づき、操舵トルクＴｒｑｓ１を目標トルクＴｒｑｓ＊にフィードバック制御するための操作量として更新量Δθｃ１を算出して出力する。詳しくは、偏差算出処理部Ｍ５４ａの出力値を入力とする比例要素の出力値と積分要素の出力値との和を、更新量Δθｃ１とする。
【００４２】
変化量ベースガード処理部Ｍ５４ｃは、推定変化量ω１に基づき、更新量Δθｃ１にガード処理を施す。すなわち、所定時間ΔＴが経過する間に、同期電動機３４は、推定変化量ω１だけ回転する。このため、操舵トルクＴｒｑｓ１が目標トルクＴｒｑｓ＊よりも大きい場合、同期電動機３４のトルクを増加させるうえでは、更新量Δθｃ２は、推定変化量ω１と同じ符号であって且つ推定変化量ω１よりも大きさ（絶対値）が大きい値とすべきである。このため、変化量ベースガード処理部Ｍ５４ｃは、更新量Δθｃ１を、推定変化量ω１の大きさよりも所定値だけ大きい変化量ベース下限ガード値によってガード処理した値を更新量Δθｃ２として出力する。一方、操舵トルクＴｒｑｓ１が目標トルクＴｒｑｓ＊に一致する場合、その状態を維持する上では、更新量Δθｃは、推定変化量ω１に一致させるべきである。このため、変化量ベースガード処理部Ｍ５４ｃは、更新量Δθｃ１を、推定変化量ω１に等しい値の変化量ベース上限ガード値および変化量ベース下限ガード値によってガード処理した値を更新量Δθｃとして出力する。
【００４３】
トルクベースガード処理部Ｍ６０は、更新量Δθｃ２に、後述するガード処理を施した更新量Δθｃを出力する。更新処理部Ｍ５６は、前回の制御周期における制御角θｃに今回の更新量Δθｃを加算することで、制御角θｃを更新する。なお、上記所定時間ΔＴは、制御周期に一致している。
【００４４】
次に、トルクベースガード処理部Ｍ６０について説明する。
トルクベースガード処理部Ｍ６０は、センサレス処理部Ｍ２０において、制御角θｃの更新量Δθｃを算出する処理部分にシステマティックエラーが生じた場合であっても、アシスト制御を継続できるようにするためのガード処理を実行する。すなわち、トルクベースガード処理部Ｍ６０は、αβ変換処理部Ｍ４４、誘起電圧オブザーバＭ４６、角度算出処理部Ｍ４８、速度算出処理部Ｍ５０、不感帯処理部Ｍ５２、目標トルク設定処理部Ｍ５３、更新量算出処理部Ｍ５４にシステマティックエラーが生じた場合に対処する部分である。
【００４５】
図３に、トルクベースガード処理部Ｍ６０による基準上限ガード値ΔＥｍａｘおよび基準下限ガード値ΔＥｍｉｎを示す。図３においては、操舵トルクＴｒｑｓの大きさ（絶対値）と、操舵トルクＴｒｑｓに応じた回転軸３４ａの回転方向への制御角θｃの更新量Δθｃの大きさ（絶対値）を示している。なお、以下では、トルクベースガード処理部Ｍ６０の処理を、全て操舵トルクＴｒｑｓに応じた回転軸３４ａの回転方向への更新量Δθｃの大きさに関する上限ガード処理および下限ガード処理として記載する。したがって、操舵トルクＴｒｑｓが大きいとは、特に断りがない限り、操舵トルクＴｒｑｓが右旋回側の値であるか左旋回側の値であるかに関わらず、その大きさ（絶対値）が大きいこととし、更新量Δθｃが大きいとは、操舵トルクＴｒｑｓに応じた回転軸３４ａの回転方向への制御角θｃの更新量が大きいこととする。ちなみに、図２の更新量算出処理部Ｍ５４が出力する更新量Δθｃ２は、回転軸３４ａの回転方向に応じた符号を有する量である。このため、以下に記載するトルクベースガード処理部Ｍ６０の処理は、実際には、たとえば、右旋回側の回転に限った処理として且つ左旋回側の処理については、右旋回側の上限ガード値の符号を代えた値を左旋回側の下限ガード値として且つ、右旋回側の下限ガード値の符号を代えた値を左旋回側の上限ガード値とすればよい。
【００４６】
ここで、基準上限ガード値ΔＥｍａｘは、操舵トルクＴｒｑｓが第１トルクＴｒｑ１以上でゼロよりも大きい値となり、第１トルクＴｒｑ１から第２トルクＴｒｑ２の間においては、操舵トルクＴｒｑｓが大きいほど大きい値となる。また、基準上限ガード値ΔＥｍａｘは、操舵トルクＴｒｑｓが第２トルクＴｒｑ２以上である場合、最大値ΔＥｍａｘ０で一定となっている。
【００４７】
一方、基準下限ガード値ΔＥｍｉｎは、操舵トルクＴｒｑｓが第３トルクＴｒｑ３未満の場合、最小値ΔＥｍｉｎ０であるゼロとされ、第３トルクＴｒｑ３以上の場合、操舵トルクＴｒｑｓが大きいほど大きい値とされる。
【００４８】
これら基準上限ガード値ΔＥｍａｘおよび基準下限ガード値ΔＥｍｉｎの設定は、上記システマティックエラーが生じていない場合の更新量Δθｃ２が取りうる値の範囲を規定する。すなわち、システマティックエラーが生じていない場合、操舵トルクＴｒｑｓが大きい値であるほど、同期電動機３４の電流の位相を進角させて同期電動機３４のアシストトルクを増加させるために、更新量Δθｃ２が大きい値とされる。一方、操舵トルクＴｒｑｓが上記閾値ＴｒｑＬ以下である場合、操舵トルクＴｒｑｓ１はゼロとされ、目標トルクＴｒｑｓ＊と一致するために、更新量Δθｃは、推定変化量ω１となる。このため、操舵トルクＴｒｑｓの符号によって更新量Δθｃ２の符号が定まり、また操舵トルクＴｒｑｓの大きさによって、基準上限ガード値ΔＥｍａｘおよび基準下限ガード値ΔＥｍｉｎの範囲を定めることができる。
【００４９】
図３に示す基準更新量ΔＥＲＦは、操舵トルクＴｒｑｓに応じた適切な値と想定される更新量を定めるものである。基準更新量ΔＥＲＦは、操舵トルクＴｒｑｓが大きいほど大きい値とされる。これは、操舵トルクＴｒｑｓが大きい場合には小さい場合と比較して、アシストトルクが不足していることを意味することから、同期電動機３４の電流の位相を進角させて同期電動機３４のアシストトルクを増加させるために、制御角θｃをより進角させる必要があることに鑑みたものである。
【００５０】
図４に、トルクベースガード処理部Ｍ６０が実行するシステマティックエラーの有無の判定処理の手順を示す。図４に示す処理は、たとえば所定周期で繰り返し実行される。なお、以下では、主体をＣＰＵ５２と記載する。
【００５１】
図４に示す一連の処理において、ＣＰＵ５２は、まず、エラーフラグＦが「１」であるか否かを判定する（Ｓ１０）。エラーフラグＦは、「１」である場合にシステマティックエラーが生じていることを示し、「０」である場合にシステマティックエラーが生じていないことを示す。ＣＰＵ５２は、エラーフラグＦが「０」であると判定する場合（Ｓ１０：ＮＯ）、更新量Δθｃ２が基準上限ガード値ΔＥｍａｘよりも大きいか否かを判定する（Ｓ１２）。そして、ＣＰＵ５２は、基準上限ガード値ΔＥｍａｘ以下であると判定する場合（Ｓ１２：ＮＯ）、基準下限ガード値ΔＥｍｉｎよりも小さいか否かを判定する（Ｓ１４）。そして、ＣＰＵ５２は、基準上限ガード値ΔＥｍａｘよりも大きいと判定する場合（Ｓ１２：ＹＥＳ）や、基準下限ガード値ΔＥｍｉｎよりも小さいと判定する場合（Ｓ１４：ＹＥＳ）、異常カウンタＣＥをインクリメントする（Ｓ１６）。そして、ＣＰＵ５２は、異常カウンタＣＥが異常閾値ＣＥｔｈ以上であるか否かを判定し（Ｓ１８）、異常閾値ＣＥｔｈ以上であると判定する場合（Ｓ１８：ＹＥＳ）、エラーフラグＦを「１」とする（Ｓ２０）。
【００５２】
そして、ＣＰＵ５２は、後述する変動上限ガード値ΔＥｍａｘ１として上記最大値ΔＥｍａｘ０を代入し、変動下限ガード値ΔＥｍｉｎ１として上記最小値ΔＥｍｉｎ０を代入する（Ｓ２２）。一方、ＣＰＵ５２は、基準下限ガード値ΔＥｍｉｎ以上であると判定する場合（Ｓ１４：ＮＯ）、更新量Δθｃ２が正常な範囲にあるとして、異常カウンタＣＥを初期化する（Ｓ２４）。
【００５３】
なお、ＣＰＵ５２は、ステップＳ２２，Ｓ２４の処理が完了する場合や、エラーフラグＦが「１」である場合（Ｓ１０：ＹＥＳ）、異常カウンタＣＥが異常閾値ＣＥｔｈよりも小さい場合（Ｓ１８：ＮＯ）には、図４に示す一連の処理を一旦終了する。
【００５４】
図５に、トルクベースガード処理の手順を示す。図５に示す処理は、たとえば所定周期で繰り返し実行される。なお、以下では、主体をＣＰＵ５２として記載する。
図５に示す一連の処理において、まず、ＣＰＵ５２は、エラーフラグＦが「１」であるか否かを判定する（Ｓ３０）。そしてＣＰＵ５２は、エラーフラグＦが「１」であると判定する場合（Ｓ３０：ＹＥＳ）、変動上限ガード値ΔＥｍａｘ１を、所定量ΔＥだけ減少補正し、これに応じて、更新量Δθｃ２のガード処理に用いるトルクベース上限ガード値ΔＭＡＸを設定する（Ｓ３２）。具体的には、ＣＰＵ５２は、変動上限ガード値ΔＥｍａｘ１および基準更新量ΔＥＲＦの最大値と基準上限ガード値ΔＥｍａｘとのうちの小さい方を、トルクベース上限ガード値ΔＭＡＸとする。ここで、基準更新量ΔＥＲＦおよび基準上限ガード値ΔＥｍａｘは、いずれも現在の操舵トルクＴｒｑｓに応じた値である。
【００５５】
この処理は、基本的には、トルクベース上限ガード値ΔＭＡＸを、基準更新量ΔＥＲＦ以上であることを条件に、減少補正された変動上限ガード値ΔＥｍａｘ１とするための処理である。ただし、変動上限ガード値ΔＥｍａｘ１自体は、操舵トルクＴｒｑｓに依存しないものの、図３に示したように、基準上限ガード値ΔＥｍａｘについては、操舵トルクＴｒｑｓに依存するため、基準上限ガード値ΔＥｍａｘの方が、変動上限ガード値ΔＥｍａｘ１および基準更新量ΔＥＲＦの最大値よりも小さくなることがある。このため、変動上限ガード値ΔＥｍａｘ１および基準更新量ΔＥＲＦの最大値と基準上限ガード値ΔＥｍａｘとの最小値を、トルクベース上限ガード値ΔＭＡＸとする。
【００５６】
次に、ＣＰＵ５２は、変動下限ガード値ΔＥｍｉｎ１を、所定量ΔＥだけ増加補正し、これに応じて、更新量Δθｃ２のガード処理に用いるトルクベース下限ガード値ΔＭＩＮを設定する（Ｓ３４）。具体的には、ＣＰＵ５２は、変動下限ガード値ΔＥｍｉｎ１および基準更新量ΔＥＲＦの最小値と基準下限ガード値ΔＥｍｉｎとのうちの大きい方を、トルクベース下限ガード値ΔＭＩＮとする。ここで、基準更新量ΔＥＲＦおよび基準下限ガード値ΔＥｍｉｎは、いずれも現在の操舵トルクＴｒｑｓに応じた値である。
【００５７】
この処理は、基本的には、トルクベース下限ガード値ΔＭＩＮを、基準更新量ΔＥＲＦ以下であることを条件に、増加補正された変動下限ガード値ΔＥｍｉｎ１とするための処理である。ただし、変動下限ガード値ΔＥｍｉｎ１自体は、操舵トルクＴｒｑｓに依存しないものの、図３に示したように、基準下限ガード値ΔＥｍｉｎについては、操舵トルクＴｒｑｓに依存するため、基準下限ガード値ΔＥｍｉｎの方が、変動下限ガード値ΔＥｍｉｎ１および基準更新量ΔＥＲＦの最小値よりも大きくなることがある。このため、変動下限ガード値ΔＥｍｉｎ１および基準更新量ΔＥＲＦの最小値と基準下限ガード値ΔＥｍｉｎとの最大値を、トルクベース下限ガード値ΔＭＩＮとする。
【００５８】
一方、ＣＰＵ５２は、エラーフラグＦが「０」であると判定する場合（Ｓ３０：ＮＯ）、トルクベース上限ガード値ΔＭＡＸを基準上限ガード値ΔＥｍａｘとし（Ｓ３６）、トルクベース下限ガード値ΔＭＩＮを、基準下限ガード値ΔＥｍｉｎとする（Ｓ３８）。
【００５９】
ＣＰＵ５２は、ステップＳ３４，Ｓ３８の処理を完了する場合、更新量Δθｃ２が、トルクベース上限ガード値ΔＭＡＸよりも大きいか否かを判定する（Ｓ４０）。そしてＣＰＵ５２は、トルクベース上限ガード値ΔＭＡＸよりも大きいと判定する場合（Ｓ４０：ＹＥＳ）、更新量Δθｃを、トルクベース上限ガード値ΔＭＡＸとする（Ｓ４２）。
【００６０】
一方、ＣＰＵ５２は、更新量Δθｃ２がトルクベース上限ガード値ΔＭＡＸ以下であると判定する場合（Ｓ４０：ＮＯ）、更新量Δθｃ２が、トルクベース下限ガード値ΔＭＩＮよりも小さいか否かを判定する（Ｓ４４）。そしてＣＰＵ５２は、トルクベース下限ガード値ΔＭＩＮよりも小さいと判定する場合（Ｓ４４：ＹＥＳ）、更新量Δθｃを、トルクベース下限ガード値ΔＭＩＮとする（Ｓ４６）。
【００６１】
これに対し、ＣＰＵ５２は、更新量Δθｃ２がトルクベース下限ガード値ΔＭＩＮ以上であると判定する場合（Ｓ４４：ＮＯ）、更新量Δθｃ２が、トルクベース上限ガード値ΔＭＡＸとトルクベース下限ガード値ΔＭＩＮとの間にあることから、更新量Δθｃ２自体を、制御角θｃの更新に用いる更新量Δθｃとする（Ｓ４８）。
【００６２】
なお、ＣＰＵ５２は、ステップＳ４２，Ｓ４６，Ｓ４８の処理が完了する場合、図５に示す一連の処理を一旦終了する。
ここで本実施形態の作用を説明する。
【００６３】
ＣＰＵ５２は、更新量算出処理部Ｍ５４が出力する更新量Δθｃ２が、基準上限ガード値ΔＥｍａｘと基準下限ガード値ΔＥｍｉｎとによって定まる更新量Δθｃ２の許容範囲から外れる場合、システマティックエラーを検知する。そして、ＣＰＵ５２は、図６に示すように、変動上限ガード値ΔＥｍａｘ１の減少補正および変動下限ガード値ΔＥｍｉｎ１の増加補正によって、トルクベース上限ガード値ΔＭＡＸとトルクベース下限ガード値ΔＭＩＮとによって定まる更新量Δθｃの許容範囲を縮小していく。これにより、更新量Δθｃは、基準更新量ΔＥＲＦに収束していく。このため、更新量算出処理部Ｍ５４が出力する更新量Δθｃ２に異常が生じている場合であっても、アシスト制御を実行できる。
【００６４】
以上説明した本実施形態によれば、さらに以下に記載する効果が得られる。
（１）フィードバック処理部Ｍ５４ｂによる制御角θｃの更新量Δθｃ１は、同期電動機３４の回転速度が高い場合には、適切な値とすることが困難となる傾向がある。この点、本実施形態では、更新量算出処理部Ｍ５４に、変化量ベースガード処理部Ｍ５４ｃを備えることにより、同期電動機３４の回転速度が高い場合においても更新量Δθｃ２を適切な値に設定することができる。
【００６５】
しかも、変化量ベースガード処理部Ｍ５４ｃの処理自体が異常となるなどのシステマティックエラーが生じた場合、トルクベースガード処理部Ｍ６０によって更新量Δθｃが適切な値から過度にずれることを抑制することができる。ここで、トルクベースガード処理部Ｍ６０によるガード処理と、変化量ベースガード処理部Ｍ５４ｃによるガード処理とは、異なるロジックのため、たとえば変化量ベースガード処理部Ｍ５４ｃのロジック異常が生じた場合であっても、トルクベースガード処理部Ｍ６０の信頼性の低下を抑制することができる。
【００６６】
＜第２の実施形態＞
以下、第２の実施形態について、第１の実施形態との相違点を中心に図面を参照しつつ説明する。
【００６７】
上記第１の実施形態において、システマティックエラーが生じた際、アシスト制御を早期に適切なものとするうえでは、特に、更新量Δθｃ２が基準更新量ΔＥＲＦよりも小さい場合に、基準更新量ΔＥＲＦに向けて更新量Δθｃを早期に増加させる必要がある。しかし、上記第１の実施形態では、変動上限ガード値ΔＥｍａｘ１の減少速度と変動下限ガード値ΔＥｍｉｎ１の増加速度とを同一とした。このため、変動上限ガード値ΔＥｍａｘ１の減少速度を、更新量Δθｃ２が基準更新量ΔＥＲＦよりも小さい場合に、基準更新量ΔＥＲＦに向けて更新量Δθｃを早期に増加させる要求によって決定するなら、更新量Δθｃ２が基準上限ガード値ΔＥｍａｘよりも大きい異常が生じている場合には、ユーザに違和感を与えるおそれがある。すなわち、更新量Δθｃが急激に減少することにより、アシストトルクが急激に減少し、ユーザがステアリング１２が急に切りにくくなったと感じるおそれがある。
【００６８】
そこで本実施形態では、変動上限ガード値ΔＥｍａｘ１の減少速度と変動下限ガード値ΔＥｍｉｎ１の増加速度とを独立にそれぞれの適正値に設定する。
図７に、本実施形態にかかるトルクベースガード処理の手順を示す。図７に示す処理は、たとえば所定周期で繰り返し実行される。なお、図７において図５に示した処理に対応する処理については、便宜上、同一のステップ番号を付してその説明を省略する。
【００６９】
図７に示す一連の処理において、ＣＰＵ５２は、エラーフラグＦが「１」であると判定する場合（Ｓ３０：ＹＥＳ）、変動上限ガード値ΔＥｍａｘ１を、低速変更量ΔＥＬだけ減少補正し、減少補正された変動上限ガード値ΔＥｍａｘ１に基づきトルクベース上限ガード値ΔＭＡＸを設定する（Ｓ３２ａ）。次に、ＣＰＵ５２は、変動下限ガード値ΔＥｍｉｎ１を、低速変更量ΔＥＬよりも大きい高速変更量ΔＥＨだけ増加補正し、増加補正された変動下限ガード値ΔＥｍｉｎ１に基づきトルクベース下限ガード値ΔＭＩＮを設定する（Ｓ３４ａ）。
【００７０】
＜第３の実施形態＞
以下、第３の実施形態について、第１の実施形態との相違点を中心に図面を参照しつつ説明する。
【００７１】
上記第１の実施形態では、システマティックエラーによって更新量Δθｃ２に異常が生じると、更新量Δθｃを基準更新量ΔＥＲＦに応じたものに収束させるものの、その後、更新量Δθｃ２が正常な値に回復した場合であっても、更新量Δθｃは、基準更新量ΔＥＲＦとされたままであった。しかし、基準更新量ΔＥＲＦは、更新量算出処理部Ｍ５４等に異常が生じたときにアシスト制御を継続するためのものに過ぎず、より適切なアシスト制御を実現する上では、正常に回復した更新量Δθｃ２を採用することが望ましい。そこで、本実施形態では、更新量Δθｃ２に基づく制御角θｃの更新処理への回復処理を実行する。
【００７２】
図８に、異常からの回復の判定処理の手順を示す。図８に示す処理は、メモリ５４に記憶されたプログラムをＣＰＵ５２が実行することで、トルクベースガード処理部Ｍ６０の処理として実現される。なお、図８に示す処理は、たとえば所定周期で繰り返し実行される。
【００７３】
図８に示す一連の処理において、ＣＰＵ５２は、まず、エラーフラグＦが「１」であるか否かを判定する（Ｓ５０）。そして、ＣＰＵ５２は、エラーフラグＦが「１」であると判定する場合（Ｓ５０：ＹＥＳ）、更新量算出処理部Ｍ５４によって算出されトルクベースガード処理部Ｍ６０に入力された更新量Δθｃ２が、基準下限ガード値ΔＥｍｉｎ以上であって且つ基準上限ガード値ΔＥｍａｘ以下であるか否かを判定する（Ｓ５２）。そして、ＣＰＵ５２は、基準下限ガード値ΔＥｍｉｎ以上であって且つ基準上限ガード値ΔＥｍａｘ以下であると判定する場合（Ｓ５２：ＹＥＳ）、回復カウンタＣＲをインクリメントする（Ｓ５４）。そしてＣＰＵ５２は、回復カウンタＣＲが回復閾値ＣＲｔｈ以上であるか否かを判定する（Ｓ５６）。そしてＣＰＵ５２は、回復閾値ＣＲｔｈ以上であると判定する場合（Ｓ５６：ＹＥＳ）、回復カウンタＣＲを初期化し（Ｓ５８）、エラーフラグＦを「０」とする（Ｓ６０）。
【００７４】
これに対しＣＰＵ５２は、更新量Δθｃ２が、基準下限ガード値ΔＥｍｉｎよりも小さいか基準上限ガード値ΔＥｍａｘよりも大きいと判定する場合（Ｓ５２：ＮＯ）、回復カウンタＣＲを初期化する（Ｓ６２）。
【００７５】
なお、ＣＰＵ５２は、ステップＳ６０，Ｓ６２の処理が完了する場合や、ステップＳ５０において否定判定する場合には、図８に示す一連の処理を一旦終了する。
図９に、本実施形態にかかるトルクベースガード処理の手順を示す。図９に示す処理は、たとえば所定周期で繰り返し実行される。なお、図９において図５に示した処理に対応する処理については、便宜上、同一のステップ番号を付してその説明を省略する。
【００７６】
図９に示す一連の処理において、ＣＰＵ５２は、エラーフラグＦが「０」であると判定する場合（Ｓ３０：ＮＯ）、変動上限ガード値ΔＥｍａｘ１が最大値ΔＥｍａｘ０以上であるか否かを判定する（Ｓ７０）。そしてＣＰＵ５２は、変動上限ガード値ΔＥｍａｘ１の方が小さいと判定する場合（Ｓ７０：ＮＯ）、変動上限ガード値ΔＥｍａｘ１を、所定量ΔＥだけ増加補正し、これに応じて、トルクベース上限ガード値ΔＭＡＸを設定する（Ｓ７２）。具体的には、ＣＰＵ５２は、変動上限ガード値ΔＥｍａｘ１および基準更新量ΔＥＲＦの最大値と基準上限ガード値ΔＥｍａｘとのうちの小さい方を、トルクベース上限ガード値ΔＭＡＸとする。ここで、基準更新量ΔＥＲＦおよび基準上限ガード値ΔＥｍａｘは、いずれも現在の操舵トルクＴｒｑｓに応じた値である。
【００７７】
一方、ＣＰＵ５２は、最大値ΔＥｍａｘ０以上であると判定する場合（Ｓ７０：ＹＥＳ）、ステップＳ３６に移行する。そして、ＣＰＵ５２は、ステップＳ７２，Ｓ３６の処理が完了する場合、変動下限ガード値ΔＥｍｉｎ１が最小値ΔＥｍｉｎ０以下であるか否かを判定する（Ｓ７４）。そして、ＣＰＵ５２は、変動下限ガード値ΔＥｍｉｎ１の方が大きいと判定する場合（Ｓ７４：ＮＯ）、変動下限ガード値ΔＥｍｉｎ１を、所定量ΔＥだけ減少補正し、これに応じて、トルクベース下限ガード値ΔＭＩＮを設定する（Ｓ７６）。具体的には、ＣＰＵ５２は、変動下限ガード値ΔＥｍｉｎ１および基準更新量ΔＥＲＦの最小値と基準上限ガード値ΔＥｍａｘとのうちの大きい方を、トルクベース下限ガード値ΔＭＩＮとする。ここで、基準更新量ΔＥＲＦおよび基準下限ガード値ΔＥｍｉｎは、いずれも現在の操舵トルクＴｒｑｓに応じた値である。なお、上記ステップＳ７６の処理が完了した場合、ステップＳ４０の処理に移行する。
【００７８】
一方、ＣＰＵ５２は、最小値ΔＥｍｉｎ０以下であると判定する場合（Ｓ７４：ＹＥＳ）、ステップＳ３８の処理に移行する。
このように、本実施形態によれば、異常状態から回復したと判定する場合、トルクベース上限ガード値ΔＭＡＸおよびトルクベース下限ガード値ΔＭＩＮによって定まる更新量Δθｃの許容範囲を徐々に拡大する。このため、トルクベース上限ガード値ΔＭＡＸおよびトルクベース下限ガード値ΔＭＩＮをステップ状に基準上限ガード値ΔＥｍａｘおよび基準下限ガード値ΔＥｍｉｎに戻す場合と比較すると、更新量Δθｃが急変することを抑制することができ、ひいては同期電動機３４のトルクが急変することを抑制することができる。
【００７９】
＜第４の実施形態＞
以下、第４の実施形態について、第３の実施形態との相違点を中心に図面を参照しつつ説明する。
【００８０】
上記第３の実施形態において、システマティックエラーから回復する際、更新量Δθｃ２が基準下限ガード値ΔＥｍｉｎに極めて近い場合、トルクベース下限ガード値ΔＭＩＮを早期に基準下限ガード値ΔＥｍｉｎに戻す場合には、ユーザがアシストトルクが急激に減少したと感じるおそれがある。一方、更新量Δθｃ２が基準更新量ΔＥＲＦよりも大きい場合、ユーザの要求に早期に応じる上では、トルクベース上限ガード値ΔＭＡＸを早期に基準上限ガード値ΔＥｍａｘに戻すことが望ましい。しかし、第３の実施形態では、変動上限ガード値ΔＥｍａｘ１の増加速度と変動下限ガード値ΔＥｍｉｎ１の減少速度とを同一としたため、トルクベース上限ガード値ΔＭＡＸとトルクベース下限ガード値ΔＭＩＮとをそれぞれ最適な速度で変更することができない。
【００８１】
そこで本実施形態では、変動上限ガード値ΔＥｍａｘ１の増加速度と変動下限ガード値ΔＥｍｉｎ１の減少速度とを独立にそれぞれの適正値に設定する。
図１０に、本実施形態にかかるトルクベースガード処理の手順を示す。図１０に示す処理は、たとえば所定周期で繰り返し実行される。なお、図１０において図７や図９に示した処理に対応する処理については、便宜上、同一のステップ番号を付してその説明を省略する。
【００８２】
図１０に示す一連の処理において、ＣＰＵ５２は、変動上限ガード値ΔＥｍａｘ１が最大値ΔＥｍａｘ０よりも小さいと判定する場合（Ｓ７０：ＮＯ）、変動上限ガード値ΔＥｍａｘ１を、高速変更量ΔＥＨだけ増加補正し、増加補正された変動上限ガード値ΔＥｍａｘ１に基づきトルクベース上限ガード値ΔＭＡＸを設定する（Ｓ７２ａ）。またＣＰＵ５２は、変動下限ガード値ΔＥｍｉｎ１が基準下限ガード値ΔＥｍｉｎよりも大きいと判定する場合（Ｓ７４：ＮＯ）、変動下限ガード値ΔＥｍｉｎ１を、低速変更量ΔＥＬだけ減少補正し、減少補正された変動下限ガード値ΔＥｍｉｎ１に基づきトルクベース下限ガード値ΔＭＩＮを設定する（Ｓ７６ａ）。なお、ＣＰＵ５２は、ステップＳ７６ａの処理が完了する場合、ステップＳ４０の処理に移行する。
【００８３】
＜第５の実施形態＞
以下、第５の実施形態について、第４の実施形態との相違点を中心に図面を参照しつつ説明する。
【００８４】
上記第４の実施形態では、更新量Δθｃ２が基準上限ガード値ΔＥｍａｘを超える異常と基準下限ガード値ΔＥｍｉｎ未満となる異常との双方において、エラーフラグＦを「１」とするうえでの異常状態の継続時間を単一の異常閾値ＣＥｔｈにて規定した。換言すれば、異常がある旨の判定を確定するうえでの異常状態の継続時間を同一とした。ここで、異常閾値ＣＥｔｈを大きくすると、ＳＮ比を高めることができる一方、アシストトルクを適切な値とするまでに要する時間が長くなる。一方、たとえば更新量Δθｃ２が基準下限ガード値ΔＥｍｉｎを下回る異常が生じる場合等には、同期電動機３４のアシストトルクが不十分となるおそれがあるため、早期に更新量Δθｃを基準更新量ΔＥＲＦへと誘導することが望ましい。
【００８５】
そこで本実施形態では、更新量Δθｃ２が基準上限ガード値ΔＥｍａｘを超える異常と基準下限ガード値ΔＥｍｉｎ未満となる異常とのそれぞれで、異常がある旨の判定を確定させるまでの異常状態の継続時間を各別に設定する。また、本実施形態では、更新量Δθｃ２が基準上限ガード値ΔＥｍａｘを超える異常が生じる場合には、トルクベース上限ガード値ΔＭＡＸのみを変更し、更新量Δθｃ２が基準下限ガード値ΔＥｍｉｎ未満となる異常が生じる場合には、トルクベース下限ガード値ΔＭＩＮのみを変更する。
【００８６】
図１１に、本実施形態にかかるトルクベースガード処理部Ｍ６０が実行するシステマティックエラーの有無の判定処理の手順を示す。図１１に示す処理は、たとえば所定周期で繰り返し実行される。
【００８７】
図１１に示す一連の処理において、ＣＰＵ５２は、まず、上限用エラーフラグＦｍａｘが「１」であるか否かを判定する（Ｓ１０ａ）。上限用エラーフラグＦｍａｘは、「１」である場合に更新量Δθｃ２が基準上限ガード値ΔＥｍａｘを上回るシステマティックエラーが生じていることを示し、「０」である場合に同システマティックエラーが生じていないことを示す。
【００８８】
ＣＰＵ５２は、上限用エラーフラグＦｍａｘが「０」であると判定する場合（Ｓ１０ａ：ＮＯ）、更新量Δθｃ２が基準上限ガード値ΔＥｍａｘよりも大きいか否かを判定する（Ｓ１２）。ＣＰＵ５２は、基準上限ガード値ΔＥｍａｘよりも大きいと判定する場合（Ｓ１２：ＹＥＳ）、ステップＳ１６〜Ｓ２０の処理における異常カウンタＣＥを上限用異常カウンタＣＥｍａｘに代え、異常閾値ＣＥｔｈを上限用異常閾値ＣＥｍａｘｔｈに代え、エラーフラグＦを上限用エラーフラグＦｍａｘに代えた処理を実行する（Ｓ１６ａ〜Ｓ２０ａ）。そして、ＣＰＵ５２は、変動上限ガード値ΔＥｍａｘ１として上記最大値ΔＥｍａｘ０を代入する（Ｓ２２ａ）。
【００８９】
一方、ＣＰＵ５２は、更新量Δθｃ２が基準上限ガード値ΔＥｍａｘ以下であると判定する場合（Ｓ１２：ＮＯ）、上限用異常カウンタＣＥｍａｘを初期化する（Ｓ２４ａ）。
そしてＣＰＵ５２は、下限用エラーフラグＦｍｉｎが「１」であるか否かを判定する（Ｓ１０ｂ）。下限用エラーフラグＦｍｉｎは、「１」である場合に更新量Δθｃ２が基準下限ガード値ΔＥｍｉｎ未満となるシステマティックエラーが生じていることを示し、「０」である場合に同システマティックエラーが生じていないことを示す。ＣＰＵ５２は、下限用エラーフラグＦｍｉｎが「０」であると判定する場合（Ｓ１０ｂ：ＮＯ）、更新量Δθｃ２が基準下限ガード値ΔＥｍｉｎよりも小さいか否かを判定する（Ｓ１４）。ＣＰＵ５２は、基準下限ガード値ΔＥｍｉｎよりも小さいと判定する場合（Ｓ１４：ＹＥＳ）、上記ステップＳ１６〜Ｓ２０における異常カウンタＣＥを下限用異常カウンタＣＥｍｉｎに代え、異常閾値ＣＥｔｈを下限用異常閾値ＣＥｍｉｎｔｈに代え、エラーフラグＦを下限用エラーフラグＦｍｉｎに代えた処理を実行する（Ｓ１６ｂ〜Ｓ２０ｂ）。そして、ＣＰＵ５２は、変動下限ガード値ΔＥｍｉｎ１として上記最小値ΔＥｍｉｎ０を代入する（Ｓ２２ｂ）。
【００９０】
一方、ＣＰＵ５２は、更新量Δθｃ２が基準下限ガード値ΔＥｍｉｎ以上であると判定する場合（Ｓ１４：ＮＯ）、下限用異常カウンタＣＥｍｉｎを初期化する（Ｓ２４ｂ）。
なお、ＣＰＵ５２は、ステップＳ２２ａ，Ｓ２２ｂ，Ｓ２４ｂの処理が完了する場合や、ステップＳ１８ａ，Ｓ１８ｂ，Ｓ１０ｂにおいて否定判定する場合には、図１１に示す一連の処理を一旦終了する。
【００９１】
上記下限用異常閾値ＣＥｍｉｎｔｈは、上限用異常閾値ＣＥｍａｘｔｈよりも小さい値に設定されている。これは、更新量Δθｃを基準更新量ΔＥＲＦに早期に近づけることにより、アシストトルクを早期に大きくすることを狙ったものである。
【００９２】
図１２に、本実施形態にかかる異常からの回復の判定処理の手順を示す。図１２に示す処理は、メモリ５４に記憶されたプログラムをＣＰＵ５２が実行することで、トルクベースガード処理部Ｍ６０の処理として実現される。なお、図１２に示す処理は、たとえば所定周期で繰り返し実行される。
【００９３】
図１２に示す一連の処理において、ＣＰＵ５２は、まず、上限用エラーフラグＦｍａｘが「１」であるか否かを判定する（Ｓ５０ａ）。そして、ＣＰＵ５２は、上限用エラーフラグＦｍａｘが「１」であると判定する場合（Ｓ５０ａ：ＹＥＳ）、更新量算出処理部Ｍ５４によって算出されトルクベースガード処理部Ｍ６０に入力された更新量Δθｃ２が、基準上限ガード値ΔＥｍａｘ以下であるか否かを判定する（Ｓ５２ａ）。ＣＰＵ５２は、基準上限ガード値ΔＥｍａｘ以下であると判定する場合（Ｓ５２ａ：ＹＥＳ）、上記ステップＳ５４〜Ｓ６０における回復カウンタＣＲを上限用回復カウンタＣＲｍａｘに代え、回復閾値ＣＲｔｈを上限用回復閾値ＣＲｍａｘｔｈに代え、エラーフラグＦを上限用エラーフラグＦｍａｘに代えた処理を実行する（Ｓ５４ａ〜Ｓ６０ａ）。これに対し、ＣＰＵ５２は、基準上限ガード値ΔＥｍａｘよりも大きいと判定する場合（Ｓ５２ａ：ＮＯ）、上限用回復カウンタＣＲｍａｘを初期化する（Ｓ６２ａ）。
【００９４】
一方、ＣＰＵ５２は、ステップＳ５０ａ，Ｓ５６ａにおいて否定判定する場合や、ステップＳ６０ａ，Ｓ６２ａの処理が完了する場合には、下限用エラーフラグＦｍｉｎが「１」であるか否かを判定する（Ｓ５０ｂ）。そして、ＣＰＵ５２は、下限用エラーフラグＦｍｉｎが「１」であると判定する場合（Ｓ５０ｂ：ＹＥＳ）、更新量算出処理部Ｍ５４によって算出されトルクベースガード処理部Ｍ６０に入力された更新量Δθｃ２が、基準下限ガード値ΔＥｍｉｎ以上であるか否かを判定する（Ｓ５２ｂ）。ＣＰＵ５２は、基準下限ガード値ΔＥｍｉｎ以上であると判定する場合（Ｓ５２ｂ：ＹＥＳ）、上記ステップＳ５４〜Ｓ６０における回復カウンタＣＲを下限用回復カウンタＣＲｍｉｎに代え、回復閾値ＣＲｔｈを下限用回復閾値ＣＲｍｉｎｔｈに代え、エラーフラグＦを下限用エラーフラグＦｍｉｎに代えた処理を実行する（Ｓ５４ｂ〜Ｓ６０ｂ）。これに対し、ＣＰＵ５２は、基準下限ガード値ΔＥｍｉｎよりも小さいと判定する場合（Ｓ５２ｂ：ＮＯ）、下限用回復カウンタＣＲｍｉｎを初期化する（Ｓ６２ｂ）。
【００９５】
なお、ＣＰＵ５２は、ステップＳ６０ｂ，Ｓ６２ｂの処理が完了する場合や、ステップＳ５０ｂ，Ｓ５６ｂにおいて否定判定する場合には、図８に示す一連の処理は一旦終了する。
【００９６】
上記上限用回復閾値ＣＲｍａｘｔｈは、下限用回復閾値ＣＲｍｉｎｔｈよりも小さい値に設定されている。これは、基準更新量ΔＥＲＦに更新量Δθｃを制限する処理を早期に終了することにより、ユーザの要求に応じてより大きなアシストトルクを生成可能とすることを狙ったものである。
【００９７】
図１３に、本実施形態にかかるトルクベースガード処理の手順を示す。図１３に示す処理は、たとえば所定周期で繰り返し実行される。なお、図１３において図１０に示した処理に対応する処理については、便宜上、同一のステップ番号を付してその説明を省略する。
【００９８】
図１３に示す一連の処理において、ＣＰＵ５２は、まず、上限用エラーフラグＦｍａｘが「１」であるか否かを判定する（Ｓ３０ａ）。そしてＣＰＵ５２は、「１」であると判定する場合（Ｓ３０ａ：ＹＥＳ）、ステップＳ３２ａの処理に移行する一方、「０」であると判定する場合（Ｓ３０ａ：ＮＯ）、ステップＳ７０の処理に移行する。
【００９９】
また、ＣＰＵ５２は、Ｓ３２ａ，Ｓ７２ａ，Ｓ３６の処理が完了する場合、下限用エラーフラグＦｍｉｎが「１」であるか否かを判定する（Ｓ３０ｂ）。そしてＣＰＵ５２は、「１」であると判定する場合（Ｓ３０ｂ：ＹＥＳ）、ステップＳ３４ａの処理に移行する一方、「０」であると判定する場合（Ｓ３０ｂ：ＮＯ）、ステップＳ７４の処理に移行する。なお、ＣＰＵ５２は、ステップＳ３４ａ，Ｓ７６ａ，Ｓ３８の処理が完了する場合、ステップＳ４０の処理に移行する。
【０１００】
＜対応関係＞
上記「課題を解決するための手段」の欄に記載した事項と、実施形態における事項との対応関係は、次の通りである。以下では、「課題を解決するための手段」の欄に記載した解決手段の番号毎に、対応関係を示している。なお、以下において、「メモリ５４に記憶されたプログラムに従って所定の処理を実行するＣＰＵ５２」のことを、記載を簡素化するために、「所定の処理を実行するＣＰＵ５２」と記載する。
【０１０１】
１．電力変換回路は、インバータ４０に対応する。電流制御処理部は、指令電流設定処理部Ｍ２４、γδ変換処理部Ｍ２６、偏差算出処理部Ｍ２８、偏差算出処理部Ｍ３０、電流フィードバック処理部Ｍ３２、電流フィードバック処理部Ｍ３４、αβ変換処理部Ｍ３６、ｕｖｗ変換処理部Ｍ３８、操作信号生成処理部Ｍ４０に対応する。制御角操作処理部は、不感帯処理部Ｍ５２、偏差算出処理部Ｍ５４ａおよびフィードバック処理部Ｍ５４ｂに対応する。縮小処理部は、図５および図９のステップＳ３２，Ｓ３４の処理を実行するＣＰＵ５２や、図７、図１０および図１３のステップＳ３２ａ，Ｓ３４ａの処理を実行するＣＰＵ５２に対応する。
【０１０２】
２．「基準更新量以上であることを条件にトルク上限ガード値を減少させる処理」は、ステップＳ３２の処理を実行するＣＰＵ５２や、ステップＳ３２ａの処理を実行するＣＰＵ５２に対応する。「基準更新量以下であることを条件にトルクベース下限ガード値を増加させる処理」は、ステップＳ３４の処理を実行するＣＰＵ５２や、ステップＳ３４ａの処理を実行するＣＰＵ５２に対応する。
【０１０３】
３．図７、図１０および図１３のステップＳ３２ａ，Ｓ３４ａの処理を実行するＣＰＵ５２に対応する。
４．上限用異常判定時間は、上限用異常閾値ＣＥｍａｘｔｈによって定まる時間に対応し、下限用異常判定時間は、下限用異常閾値ＣＥｍｉｎｔｈによって定まる時間に対応する。
【０１０４】
５．拡大処理部は、図９のステップＳ７２，Ｓ７６の処理を実行するＣＰＵ５２や、図１０および図１３のステップＳ７２ａ，Ｓ７６ａの処理を実行するＣＰＵ５２に対応する。
【０１０５】
６．図１３のステップＳ７２ａ，Ｓ７６ａの処理を実行するＣＰＵ５２に対応する。
７．上限用回復時間は、上限用回復閾値ＣＲｍａｘｔｈによって定まる時間に対応し、下限用回復時間は、下限用回復閾値ＣＲｍｉｎｔｈによって定まる時間に対応する。
【０１０６】
８．推定処理部は、αβ変換処理部Ｍ４４、誘起電圧オブザーバＭ４６、角度算出処理部Ｍ４８、速度算出処理部Ｍ５０に対応する。
＜その他の実施形態＞
なお、上記実施形態の各事項の少なくとも１つを、以下のように変更してもよい。
【０１０７】
・「基準上限ガード値について」
基準上限ガード値ΔＥｍａｘとしては、図３に例示したものに限らない。たとえば、操舵トルクＴｒｑｓが第１トルクＴｒｑ１以上となることにより、ステップ状に最大値ΔＥｍａｘ０となるものであってもよい。またたとえば、操舵トルクＴｒｑｓが第２トルクＴｒｑ２以上となる場合であっても、操舵トルクＴｒｑｓが大きい場合に小さい場合よりも基準上限ガード値ΔＥｍａｘを大きい値に設定してもよい。またたとえば、一律最大値ΔＥｍａｘ０とするものであってもよい。
【０１０８】
なお、「同期電動機３４を流れる電流の位相について」の欄に記載したように同期電動機３４を流れる電流をｑ軸の正側とｄ軸の負側とによって挟まれる領域内に収まるように制御する場合、たとえば、図３に例示したものと狙いを同じとすべく、操舵トルクＴｒｑｓが大きい場合に小さい場合よりも小さい値としてもよい。
【０１０９】
・「基準下限ガード値について」
基準下限ガード値ΔＥｍｉｎとしては、図３に例示したものに限らない。たとえば、操舵トルクＴｒｑｓが第３トルクＴｒｑ３となることにより、ステップ状に固定値（＞０）に変化するものであってもよい。またたとえば、操舵トルクＴｒｑｓが第３トルクＴｒｑ３以上であるときの基準下限ガード値ΔＥｍｉｎを一定値としてもよい。またたとえば、操舵トルクＴｒｑｓの大きさにかかわらず、一定値とするものであってもよい。
【０１１０】
なお、「同期電動機３４を流れる電流の位相について」の欄に記載したように同期電動機３４を流れる電流をｑ軸の正側とｄ軸の負側とによって挟まれる領域内に収まるように制御する場合、たとえば、図３に例示したものと狙いを同じとすべく、操舵トルクＴｒｑｓが第１トルクＴｒｑ１よりも大きい場合に、負の値としてもよい。
【０１１１】
・「トルクベース上限ガード値について」
変動上限ガード値ΔＥｍａｘ１を、操舵トルクＴｒｑｓの大きさにかかわらず一定値として生成されるものに限らない。たとえば同期電動機３４を流れる電流をｄ軸の正側とｑ軸の正側とによって挟まれる領域内に収まるように制御する場合、変動上限ガード値ΔＥｍａｘ１を、操舵トルクＴｒｑｓが大きい場合に小さい場合よりも大きい値としてもよい。
【０１１２】
・「トルクベース下限ガード値について」
変動下限ガード値ΔＥｍｉｎ１を、操舵トルクＴｒｑｓの大きさにかかわらず一定値として生成されるものに限らない。たとえば同期電動機３４を流れる電流をｄ軸の正側とｑ軸の正側とによって挟まれる領域内に収まるように制御する場合、変動下限ガード値ΔＥｍｉｎ１を、操舵トルクＴｒｑｓが大きい場合に小さい場合よりも大きい値としてもよい。
【０１１３】
・「トルクベースガード処理部について」
上記第５の実施形態では、更新量Δθｃ２が基準上限ガード値ΔＥｍａｘを超える異常が生じる場合には、トルクベース上限ガード値ΔＭＡＸのみを変更し、更新量Δθｃ２が基準下限ガード値ΔＥｍｉｎ未満となる異常が生じる場合には、トルクベース下限ガード値ΔＭＩＮのみを変更したが、これに限らない。すなわち、上限用エラーフラグＦｍａｘが「１」となることと下限用エラーフラグＦｍｉｎが「１」となることとの論理和が真である場合、ステップＳ３２ａ，Ｓ３４ａの双方の処理を実行してもよい。
【０１１４】
上記第１〜第４の実施形態において、更新量Δθｃ２が基準上限ガード値ΔＥｍａｘを超える状態の継続時間が異常判定閾値以上となることと、更新量Δθｃ２が基準下限ガード値ΔＥｍｉｎを下回る状態の継続時間が異常判定閾値以上となることとの論理和が真である場合に、エラーフラグＦを「１」としてもよい。
【０１１５】
上記実施形態では、更新量Δθｃ２が基準上限ガード値ΔＥｍａｘを超える場合と、更新量Δθｃ２が基準下限ガード値ΔＥｍｉｎを下回る場合とのいずれの場合であっても、トルクベース上限ガード値ΔＭＡＸとトルクベース下限ガード値ΔＭＩＮとを徐々に変更したがこれに限らない。たとえば、更新量Δθｃが常時、基準下限ガード値ΔＥｍｉｎとされる場合であっても、同期電動機３４のアシストトルクを生成可能と考えられるように基準下限ガード値ΔＥｍｉｎを設定するなら、トルクベース下限ガード値ΔＭＩＮについては変更する処理を実行しなくてもよい。ちなみに、同期電動機３４のアシストトルクを生成可能と考えられる基準下限ガード値ΔＥｍｉｎの設定は、たとえば基準下限ガード値ΔＥｍｉｎを、基準更新量ΔＥＲＦから所定値を減算した値とゼロとの大きい方とすることで実現することができる。
【０１１６】
・「異常判定について」
たとえば、図４の処理において、ステップＳ１４において否定判定される場合、異常カウンタを、ゼロ以上であることを条件にデクリメントする処理としてもよい。また、図１１の処理において、ステップＳ１２において否定判定される場合、上限用異常カウンタＣＥｍａｘを、ゼロ以上であることを条件にデクリメントする処理とし、ステップＳ１４において否定判定される場合、下限用異常カウンタＣＥｍｉｎを、ゼロ以上であることを条件にデクリメントする処理としてもよい。
【０１１７】
・「上限用異常判定時間および下限用異常判定時間について」
下記の「同期電動機３４を流れる電流の位相について」の欄に記載したように同期電動機３４を流れる電流をｑ軸の正側とｄ軸の負側とによって挟まれる領域内に収まるように制御する場合、上限用異常判定時間を定める上限用異常閾値ＣＥｍａｘｔｈを、下限用異常判定時間を定める下限用異常閾値ＣＥｍｉｎｔｈよりも小さくすることが望ましい。
【０１１８】
・「回復判定について」
図８のステップＳ５２において否定判定される場合、回復カウンタＣＲを、ゼロ以上であることを条件にデクリメントする処理としてもよい。また、図１２のステップＳ５２ａにおいて否定判定される場合、上限用回復カウンタＣＲｍａｘを、ゼロ以上であることを条件にデクリメントする処理とし、ステップＳ５２ｂにおいて否定判定される場合、下限用回復カウンタＣＲｍｉｎを、ゼロ以上であることを条件にデクリメントする処理としてもよい。
【０１１９】
・「上限用回復判定時間および下限用回復判定時間について」
下記の「同期電動機３４を流れる電流の位相について」の欄に記載したように同期電動機３４を流れる電流をｑ軸の正側とｄ軸の負側とによって挟まれる領域内に収まるように制御する場合、上限用回復判定時間（上限用回復閾値ＣＲｍａｘｔｈ）を、下限用回復判定時間（下限用回復閾値ＣＲｍｉｎｔｈ）よりも大きい値に設定することが望ましい。
【０１２０】
・「電流制御処理部について」
上記実施形態において例示したものに限らない。たとえば、モデル予測制御を実行するものであってもよい。具体的には、γδ軸の電流ｉγ、ｉδを入力とし、複数のスイッチングモードのそれぞれが仮に選択された場合の未来の電流ｉγ、ｉδを予測し、この予測値と指令値との差を小さくするスイッチングモードを実際に採用するものとしてもよい。この場合であっても、γδ座標系と固定座標系との座標変換パラメータとして、制御角θｃを用いるなら、上記実施形態の要領で制御角θｃを設定することが有効である。
【０１２１】
・「制御角操作処理部について」
上記実施形態において例示したものに限らない。たとえば、更新量Δθｃ１を、目標トルクＴｒｑｓ＊と操舵トルクＴｒｑｓとの差を入力とする比例要素のみから算出するものとしてもよく、またたとえば、積分要素のみから算出するものとしてもよく、さらにたとえば、比例要素、積分要素、および微分要素を用いて算出するものとしてもよい。
【０１２２】
・「同期電動機３４を流れる電流の位相について」
上記実施形態では、同期電動機３４を流れる電流が、回転座標系において、ｄ軸の正側とｑ軸の正側とによって挟まれる領域内に収まることを想定したがこれに限らない。たとえば、ｑ軸の正側とｄ軸の負側とによって挟まれる領域内に収まるように制御してもよい。この場合、ｄ軸電流が負となるため、弱め界磁制御がなされることから、高回転において同期電動機３４のトルクを生成しやすい。
【０１２３】
なお、この場合、基準更新量ΔＥＲＦを、操舵トルクＴｒｑｓが大きいほど小さい値とすることが望ましい。また、ステップＳ３２ａの処理において、変動上限ガード値ΔＥｍａｘ１を、高速変更量ΔＥＨにて減少補正し、ステップＳ３４ａにおいて、変動下限ガード値ΔＥｍｉｎ１を、低速変更量ΔＥＬにて増加補正することが望ましい。また、この場合、ステップＳ７２ａの処理において、変動上限ガード値ΔＥｍａｘ１を、低速変更量ΔＥＬにて増加補正し、変動下限ガード値ΔＥｍｉｎ１を、高速変更量ΔＥＨにて減少補正することが望ましい。
【０１２４】
・「推定処理部について」
上記実施形態において例示したものに限らない。たとえば、誘起電圧オブザーバとして、推定変化量ω１に応じて回転する回転座標系における電流と、同座標系における指令電圧とに基づき、誘起電圧を推定するものであってもよい。
【０１２５】
・「操舵制御装置について」
ＣＰＵ５２とメモリ５４とを備えて、ソフトウェア処理のみを実行するものに限らない。たとえば、上記実施形態においてソフトウェア処理されたものの少なくとも一部を、専用のハードウェア（ＡＳＩＣ）にて処理してもよい。すなわち、たとえば、上記トルクベースガード処理部Ｍ６０の処理については、ハードウェア処理とし、更新量ΔθｃをハードウェアからＣＰＵ５２が取得するようにしてもよい。
【０１２６】
・「同期電動機について」
ＳＰＭＳＭに限らず、埋込磁石同期電動機であってもよい。
・「操舵装置について」
転舵アクチュエータとして、ラックアンドピニオン型のものを備えるものに限らない。たとえば、ラッククロス型のものや、ラックパラレル型（登録商標）、ラック同軸型のものなどを備えてもよい。
【符号の説明】
【０１２７】
１０…操舵装置、１２…ステアリング、１３…ステアリングシャフト、１４…コラム軸、１６…中間軸、１８…ピニオン軸、１８ａ…ピニオン歯、２０…ラック軸、２０ａ…第１ラック歯、２０ｂ…第２ラック歯、２２…第１ラックアンドピニオン機構、２４…タイロッド、２６…転舵輪、２８…ピニオン軸、２８ａ…ピニオン歯、３０…第２ラックアンドピニオン機構、３２…減速機構、３４…同期電動機、３４ａ…回転軸、４０…インバータ、４２…バッテリ、５０…制御装置、５２…ＣＰＵ、５４…メモリ、５８…回転角度センサ、６０…トルクセンサ、６２…車速センサ、６４…電流センサ。
【図１】
0006700594.tif 000002
【図２】
0006700594.tif 000003
【図３】
0006700594.tif 000004
【図４】
0006700594.tif 000005
【図５】
0006700594.tif 000006
【図６】
0006700594.tif 000007
【図７】
0006700594.tif 000008
【図８】
0006700594.tif 000009
【図９】
0006700594.tif 000010
【図１０】
0006700594.tif 000011
【図１１】
0006700594.tif 000012
【図１２】
0006700594.tif 000013
【図１３】
0006700594.tif 000014