(57)【要約】【課題】各系統の構成要素に同時期に異常が発生することを抑制する操舵制御装置を提供する。【解決手段】第１アシストトルク演算部５０は、操舵トルクτ１に基づいて、第１の指令値Ｔ１ａ＊および第２の指令値Ｔ２ａ＊を演算する。第１電流フィードバック制御部５１は、第１の指令値Ｔ１ａ＊を用いて制御信号Ｓｍ１の演算を実行し、第２電流フィードバック制御部６１は、第２の指令値Ｔ２ａ＊を用いて制御信号Ｓｍ２の演算を実行する。第１アシストトルク演算部５０は、操舵トルクτ１が操舵トルク閾値以下のとき、第１の指令値Ｔ１ａ＊を、第２の指令値Ｔ２ａ＊よりも大きい値に演算し、操舵トルクτ１が操舵トルク閾値を超えたあとは、第２の指令値Ｔ２ａ＊と等しい値に演算する。【選択図】図３
2019093903.tif 000002
【特許請求の範囲】
【請求項１】
操舵トルクを含む操舵状態量に応じてトルクの指令値を演算し、前記指令値に基づいてモータの複数系統のコイルに対する給電を制御することにより、操舵機構に対して前記モータから前記トルクを付与する制御部を備え、
前記複数系統のコイルは、第１系統のコイルと、第２系統のコイルとを含み、
前記制御部は、前記第１系統のコイルにより発生すべき前記トルクの前記指令値である第１の指令値に基づいて、前記第１系統のコイルに対する給電を制御する第１系統の制御部と、
前記第２系統のコイルにより発生すべき前記トルクの前記指令値である第２の指令値に基づいて、前記第２系統のコイルに対する給電を制御する第２系統の制御部と、を含む操舵制御装置において、
前記第１系統のコイルにより発生すべき前記トルクと前記第２系統のコイルにより発生すべき前記トルクとの合算値と相関を有する値である入力値が所定値以下の場合、前記第１の指令値と前記第２の指令値とを異なるものとする第１の制御と、
前記入力値が前記所定値を超える場合、前記入力値が前記所定値以下の場合よりも、前記第１の指令値と前記第２の指令値との差を小さくする第２の制御を実行する操舵制御装置。
【請求項２】
前記第１系統の制御部および前記第２系統の制御部は、前記入力値に応じて前記第１の指令値と前記第２の指令値との比を示す配分比を可変にする配分比設定部をそれぞれ備え、
前記第１系統の制御部および前記第２系統の制御部の各々は、
前記第１系統のコイルにより発生すべき前記トルクと前記第２系統のコイルにより発生すべき前記トルクとの合算値の指令値である基本指令値を演算し、当該基本指令値と前記配分比とに基づいて前記第１の指令値および前記第２の指令値を演算する
請求項１に記載の操舵制御装置。
【請求項３】
前記配分比設定部は、
前記第１の制御を実行する場合、前記配分比を１／２よりも大きい値に設定し、
前記第２の制御を実行する場合、前記第１の制御を実行する場合よりも、前記配分比と１／２との差を小さくする
請求項２に記載の操舵制御装置。
【請求項４】
前記配分比設定部は、
前記第１の制御を実行する場合、前記第１の指令値が、前記指令値を均等に配分した値である均等指令値より大きくなるように、かつ前記第２の指令値が、前記均等指令値より小さくなるように、前記配分比を設定する
請求項２または請求項３に記載の操舵制御装置。
【請求項５】
前記配分比設定部は、
前記第１の制御を実行する場合、前記入力値が前記所定値に近付くほど、前記第１の指令値および前記第２の指令値が前記均等指令値に近付くように、前記配分比を設定する
請求項４に記載の操舵制御装置。
【請求項６】
前記第１系統の制御部および前記第２系統の制御部の少なくとも一方は、前記第１の制御を実行する場合、
前記第１の指令値および前記第２の指令値の和が前記指令値であり、かつ前記第１の指令値および前記第２の指令値の符号が等しいか否かを判定し、
前記第１の指令値および前記第２の指令値の和が前記指令値でない、あるいは前記第１の指令値および前記第２の指令値の符号が等しくないときには、前記第１の制御を中断する
請求項３〜５のいずれか一項に操舵制御装置。
【請求項７】
前記第２の制御では、前記第１の指令値および前記第２の指令値を等しくする
請求項１〜６のいずれか一項に記載の操舵制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、操舵制御装置に関する。
【背景技術】
【０００２】
従来、車両の操舵機構にモータの駆動力を付与することにより、運転者のステアリング操作をアシストするステアリング装置が知られている。このようなステアリング装置には、モータの動作を制御する電子制御装置（ＥＣＵ）が搭載されている。ところで、特許文献１に示すように、ＥＣＵには、モータ、モータを駆動制御するマイコン、および駆動回路を冗長化し、各マイコンが駆動回路を制御することにより、複数系統設けられたモータのコイルをそれぞれ独立に制御するものがある。各マイコンは、モータ制御信号を生成することにより、駆動回路の制御を通じて、各系統のコイルに電力を供給している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１９５０８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、各マイコンが各系統の駆動回路に対して同じモータ制御信号を生成することで、各系統のコイルにそれぞれ同じように電力を供給すると、マイコン、駆動回路、コイルといった各系統の構成要素には同じように制御負荷がかかってしまう。すると、たとえ各系統を冗長化したとしても、各系統の構成要素に、同一の要因によって同時期に異常が発生してしまうおそれがある。
【０００５】
本発明の目的は、各系統の構成要素に同時期に異常が発生することを抑制する操舵制御装置を提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成しうる操舵制御装置は、操舵トルクを含む操舵状態量に応じてトルクの指令値を演算し、前記指令値に基づいてモータの複数系統のコイルに対する給電を制御することにより、操舵機構に対して前記モータから前記トルクを付与する制御部を備え、前記複数系統のコイルは、第１系統のコイルと、第２系統のコイルとを含み、前記制御部は、前記第１系統のコイルにより発生すべき前記トルクの前記指令値である第１の指令値に基づいて、前記第１系統のコイルに対する給電を制御する第１系統の制御部と、前記第２系統のコイルにより発生すべき前記トルクの前記指令値である第２の指令値に基づいて、前記第２系統のコイルに対する給電を制御する第２系統の制御部と、を含む操舵制御装置において、前記第１系統のコイルにより発生すべき前記トルクと前記第２系統のコイルにより発生すべき前記トルクとの合算値と相関を有する値である入力値が所定値以下の場合、前記第１の指令値と前記第２の指令値とを異なるものとする第１の制御と、前記入力値が前記所定値を超える場合、前記入力値が前記所定値以下の場合よりも、前記第１の指令値と前記第２の指令値との差を小さくする第２の制御を実行する。
【０００７】
この構成によれば、たとえば操舵トルクや指令値等、第１系統および第２系統のコイルにより発生すべきトルクの合算値と相関を有する値である入力値が所定値以下である場合、第１の指令値と第２の指令値とが異なるので、第１系統の制御部による第１系統のコイルに対する給電量は、第２系統の制御部による第２系統のコイルに対する給電量と異なるものに設定される。このため、第１系統の制御部の制御負荷と、第２系統の制御部の制御負荷とは異なる。このように、各系統間で制御負荷が異なるようにしたことにより、各系統の同一構成要素に同時期に異常が発生することを抑制できる。
【０００８】
また、入力値が所定値を超える場合、第１系統の制御部による第１系統のコイルに対する給電量と、第２系統の制御部による第２系統のコイルに対する給電量との差は小さくなるので、系統間での制御負荷をより均等にできる。このため、入力値が所定値を超えるような給電量が大きく、制御負荷が大きい場合には、一部の系統に制御負荷が集中することを抑制できる。
【０００９】
上記の操舵制御装置において、前記第１系統の制御部および前記第２系統の制御部は、前記入力値に応じて前記第１の指令値と前記第２の指令値との比を示す配分比を可変にする配分比設定部をそれぞれ備え、前記第１系統の制御部および前記第２系統の制御部の各々は、前記第１系統のコイルにより発生すべき前記トルクと前記第２系統のコイルにより発生すべき前記トルクとの合算値の指令値である基本指令値を演算し、当該基本指令値と前記配分比とに基づいて前記第１の指令値および前記第２の指令値を演算することが好ましい。
【００１０】
この構成によれば、配分比に応じて、第１の指令値および第２の指令値が演算される。このため、配分比を可変に設定することにより、これらの給電量を等しく設定することも、異なるものに設定することもできる。
【００１１】
上記の操舵制御装置において、前記配分比設定部は、前記第１の制御を実行する場合、前記配分比を１／２よりも大きい値に設定し、前記第２の制御を実行する場合、前記第１の制御を実行する場合よりも、前記配分比と１／２との差を小さくすることが好ましい。
【００１２】
この構成によれば、第１の制御を実行中に、配分比設定部が配分比を１／２よりも大きい値に設定することにより、第１の指令値を第２の指令値よりも大きくできる。これにより、入力値が所定値以下の場合、第２系統の制御負荷を第１系統の制御負荷よりも小さくできるので、第２系統の故障時期は第１系統の故障時期よりも遅くなると考えられる。これにより、各系統の同一構成要素に同時期に異常が発生することを抑制できる。
【００１３】
また、第２の制御を実行中には、第１の制御の実行中よりも、配分比設定部が配分比と１／２との差を小さくすることにより、第１の指令値と第２の指令値との差を小さくできる。これにより、第１系統の制御負荷と第２系統の制御負荷との差を小さくできるので、第１系統に制御負荷が集中することを抑制できる。
【００１４】
上記の操舵制御装置において、前記配分比設定部は、前記第１の制御を実行する場合、前記第１の指令値が、前記指令値を均等に配分した値である均等指令値より大きくなるように、かつ前記第２の指令値が、前記均等指令値より小さくなるように、前記配分比を設定することが好ましい。
【００１５】
この構成によれば、第１の制御を実行する場合、第１の指令値を均等指令値以上に設定し、第２の指令値を均等指令値以下に設定することにより、第２系統の制御負荷を第１の系統の制御負荷よりも小さくできる。
【００１６】
上記の操舵制御装置において、前記配分比設定部は、前記第１の制御を実行する場合、前記入力値が前記所定値に近付くほど、前記第１の指令値および前記第２の指令値が前記均等指令値に近付くように、前記配分比を設定することが好ましい。
【００１７】
この構成によれば、入力値が所定値以下の領域から所定値を超える領域へと移行する場合、すなわち第１の制御を中止し、第２の制御を実行する場合、第１の指令値および第２の指令値が均等指令値へと滑らかに遷移する。このため、より良好な操舵フィーリングを得ることができる。
【００１８】
上記の操舵制御装置において、前記第１系統の制御部および前記第２系統の制御部の少なくとも一方は、前記第１の制御を実行する場合、前記第１の指令値および前記第２の指令値の和が前記指令値であり、かつ前記第１の指令値および前記第２の指令値の符号が等しいか否かを判定し、前記第１の指令値および前記第２の指令値の和が前記指令値でない、あるいは前記第１の指令値および前記第２の指令値の符号が等しくないときには、前記第１の制御を中断することが好ましい。
【００１９】
この構成によれば、第１の制御を実行中に、第１の指令値および第２の指令値の和が指令値であること、および第１の指令値および第２の指令値の符号が等しいこと、の２つの条件を満たしているか否かを判定している。そして、第１の制御の実行中に、この条件のいずれか一方でも満たさない場合には、第１の制御を中断する。これにより、第１系統の制御部および第２系統の制御部の一部に制御負荷が集中することが抑制される。
【００２０】
上記の操舵制御装置において、前記第２の制御では、前記第１の指令値および前記第２の指令値を等しくすることが好ましい。
上記構成によるように、第２の制御において、第１の指令値と第２の指令値との差を小さくすることには、第１の指令値および第２の指令値を一致させるようにすることが含まれる。そして、この構成によれば、入力値が所定値を超える場合には、第１の指令値と第２の指令値とを等しくすることにより、第１系統の制御部による第１系統のコイルに対する給電量が、第２系統のコイルに対する給電量と等しくなるので、系統間の制御負荷を均等にできる。このため、入力値が所定値を超えるような給電量が大きく、制御負荷が大きい場合には、一部の系統に制御負荷が集中することを抑制できる。
【発明の効果】
【００２１】
本発明の操舵制御装置によれば、各系統の構成要素に同時期に異常が発生することを抑制できる。
【図面の簡単な説明】
【００２２】
【図１】操舵制御装置を搭載したステアリング装置の一実施形態について、その概略構成を示す構成図。
【図２】操舵制御装置の概略構成を示すブロック図。
【図３】第１マイコンおよび第２マイコンの概略構成を示すブロック図。
【図４】第１アシストトルク演算部の概略構成を示すブロック図。
【図５】第１アシスト制御量と第１操舵トルクとの関係を示すグラフ。
【図６】パラレル制御時における第１アシストトルク演算部の概略構成を示すブロック図。
【図７】（ａ）は、系統Ａのモータのコイルにより発生するアシスト量と操舵トルクとの関係を示すグラフ、（ｂ）は、系統Ｂのモータのコイルにより発生するアシスト量と操舵トルクとの関係を示すグラフ。
【図８】系統Ａのアシスト量と系統Ｂのアシスト量との関係を示すグラフ。
【図９】アンバランス制御時におけるフェイルセーフ処理の処理手順を示すフローチャート。
【図１０】（ａ）〜（ｃ）は、他の実施形態における第１アシストトルク演算部の概略構成を示すブロック図。
【発明を実施するための形態】
【００２３】
以下、操舵制御装置を電動パワーステアリング装置（「ＥＰＳ」という）に適用した一実施形態について説明する。
図１に示すように、ＥＰＳ１は運転者（ユーザ）のステアリングホイール１０の操作に基づいて転舵輪１５を転舵させる操舵機構２、運転者のステアリング操作を補助するアシスト機構３、およびアシスト機構３を制御する操舵制御装置としてのＥＣＵ３０（電子制御装置）を備えている。
【００２４】
操舵機構２は、運転者により操作されるステアリングホイール１０およびステアリングホイール１０と一体回転するステアリングシャフト１１を備えている。ステアリングシャフト１１は、ステアリングホイール１０と連結されたコラムシャフト１１ａ、コラムシャフト１１ａの下端部に連結されたインターミディエイトシャフト１１ｂ、およびインターミディエイトシャフト１１ｂの下端部に連結されたピニオンシャフト１１ｃを有している。ピニオンシャフト１１ｃの下端部は、ラックアンドピニオン機構１３を介してラックシャフト１２に連結されている。ステアリングシャフト１１の回転運動は、ラックアンドピニオン機構１３を介してラックシャフト１２の軸方向（図１の左右方向）の往復直線運動に変換される。ラックシャフト１２の往復直線運動は、ラックシャフト１２の両端にそれぞれ連結されたタイロッド１４を介して左右の転舵輪１５にそれぞれ伝達されることにより、転舵輪１５の転舵角が変化し、車両の進行方向が変更される。
【００２５】
アシスト機構３は、回転軸２１を有するモータと、減速機構２２とを備えている。モータ２０は、ステアリングシャフト１１にトルクを付与する。モータ２０の回転軸２１は、減速機構２２を介してコラムシャフト１１ａに連結されている。減速機構２２はモータ２０の回転を減速し、当該減速した回転力をコラムシャフト１１ａに伝達する。すなわち、ステアリングシャフト１１にモータ２０のトルクが付与されることにより、運転者のステアリング操作が補助される。
【００２６】
ＥＣＵ３０は、車両に設けられた各種のセンサの検出結果に基づいてモータ２０を制御する。各種のセンサとしては、たとえばトルク検出装置としてのトルクセンサ４０ａ，４０ｂ、回転角センサ４１、および車速センサ４２が設けられている。トルクセンサ４０ａ，４０ｂは、コラムシャフト１１ａに設けられている。回転角センサ４１は、モータ２０に設けられている。トルクセンサ４０ａ，４０ｂは、運転者のステアリング操作に伴いステアリングシャフト１１に付与される操舵トルクτ１，τ２を検出する。回転角センサ４１は、モータ２０の回転軸２１の回転角度θを検出する。車速センサ４２は、車両の走行速度である車速Ｖを検出する。ＥＣＵ３０は、各センサの出力値に基づいて、操舵機構２に付与する目標のトルクを設定し、実際のモータ２０のトルクが目標のトルクとなるように、モータ２０に供給される電流を制御する。
【００２７】
つぎに、図２を参照してモータ２０について詳細に説明する。
モータ２０は、図示しないステータおよびロータ２３を備えている。ロータ２３には、内部に複数の永久磁石が設けられている。また、ステータは、図示しないステータコアに巻回された複数のコイル２４を備えている。コイル２４は、第１の系統である系統Ａのコイル２４ａと、第２の系統である系統Ｂのコイル２４ｂとを有している。なお、コイル２４ａ，２４ｂは、それぞれスター結線されたＵ相、Ｖ相、およびＷ相のコイルを含んでいる。
【００２８】
つぎに、図２を参照してＥＣＵ３０について説明する。
ＥＣＵ３０は、コイル２４ａに供給する電力を制御する系統Ａの部分と、コイル２４ｂに供給する電力を制御する系統Ｂの部分とを有している。
【００２９】
ＥＣＵ３０の系統Ａの部分としては、第１発振子３１ａ、第１マイコン３２ａ、第１電流センサ３３ａ、および第１駆動回路３４ａが設けられている。また、ＥＣＵ３０の系統Ｂの部分としては、第２発振子３１ｂ、第２マイコン３２ｂ、第２電流センサ３３ｂ、および第２駆動回路３４ｂが設けられている。なお、第１発振子３１ａと第２発振子３１ｂとは、同一構成である。また、第１マイコン３２ａと第２マイコン３２ｂとは、同一構成である。また、第１電流センサ３３ａと第２電流センサ３３ｂとは同一構成である。また、第１駆動回路３４ａと第２駆動回路３４ｂとは同一構成である。ここでは、同一構成のものについては、一方についてのみ説明し、他方についてはその詳細な説明を省略する。
【００３０】
第１発振子３１ａは、基本周波数のクロックを生成する。第１発振子３１ａとしては、たとえば水晶素子などが採用される。
第１マイコン３２ａは、第１発振子３１ａにより生成されるクロックに基づいて、第１マイコン３２ａおよび第２マイコン３２ｂの制御周期を調整するための同期信号を生成する。また、第１マイコン３２ａは、制御周期毎に、トルクセンサ４０ａにより検出される操舵トルクτ１、回転角センサ４１により検出される回転角度θ（第１回転角度θ１）、車速センサ４２により検出される車速Ｖ、および第１電流センサ３３ａにより検出される電流値Ｉ１に基づいて、制御信号Ｓｍ１（ＰＷＭ信号）を生成する。第１電流センサ３３ａは、第１駆動回路３４ａとコイル２４ａとの間の給電経路を流れる各相（Ｕ相、Ｖ相、Ｗ相）の電流を検出する。
【００３１】
第１駆動回路３４ａは、３相（Ｕ相、Ｖ相、Ｗ相）の駆動回路である。第１駆動回路３４ａは、制御動作のタイミングで第１マイコン３２ａにより生成された制御信号Ｓｍ１に基づいて、第１駆動回路３４ａを構成するスイッチング素子をオンオフすることにより、図示しないバッテリから供給される直流電力を３相交流電力に変換する。第１駆動回路３４ａは、３相交流電力をコイル２４ａに供給する。
【００３２】
第２マイコン３２ｂは、第２発振子３１ｂにより生成されるクロックに基づいて、第１マイコン３２ａおよび第２マイコン３２ｂの制御動作のタイミングを調整するための同期信号を生成する。第２マイコン３２ｂは、制御動作のタイミングで、トルクセンサ４０ｂにより検出される操舵トルクτ２と、回転角センサ４１により検出される回転角度θ（第２回転角度θ２）と、車速センサ４２により検出される車速Ｖと、第２電流センサ３３ｂにより検出される電流値Ｉ２と、に基づいて、制御信号Ｓｍ２（ＰＷＭ信号）を生成する。なお、第１マイコン３２ａが把握する第１回転角度θ１と第２マイコン３２ｂが把握する第２回転角度θ２とは、同一の回転角センサ４１により検出されるものであるため、通常は同一の値になる。また、第２電流センサ３３ｂは、第２駆動回路３４ｂとコイル２４ｂとの間の給電経路を流れる各相の電流を検出する。
【００３３】
第２駆動回路３４ｂは、制御動作のタイミングで第２マイコン３２ｂにより生成された制御信号Ｓｍ２に基づいて、第２駆動回路３４ｂを構成するスイッチング素子をオンオフすることにより、バッテリから供給される直流電力を３相交流電力に変換する。第２駆動回路３４ｂは、３相交流電力をコイル２４ｂに供給する。
【００３４】
このように、第１マイコン３２ａおよび第２マイコン３２ｂは、第１駆動回路３４ａおよび第２駆動回路３４ｂの制御を通じて、系統Ａのコイル２４ａおよび系統Ｂのコイル２４ｂへの給電を制御する。
【００３５】
なお、系統Ａのコイル２４ａに供給される電力の最大値は、系統Ｂのコイル２４ｂに供給される電力の最大値と同一に設定されている。コイル２４ａおよびコイル２４ｂに供給される電力の最大値は、モータ２０により出力できる最大のトルクの半分に対応した値である。
【００３６】
つぎに、図３を参照して、第１マイコン３２ａおよび第２マイコン３２ｂについて詳しく説明する。
第１マイコン３２ａは、第１アシストトルク演算部５０および第１電流フィードバック制御部５１を備えている。また、第２マイコン３２ｂは、第２アシストトルク演算部６０および第２電流フィードバック制御部６１を備えている。
【００３７】
第１アシストトルク演算部５０は、トルクセンサ４０ａにより検出された操舵トルクτ１および車速センサ４２により検出された車速Ｖに基づいて、第１の指令値Ｔ１ａ＊および第２の指令値Ｔ２ａ＊を演算する。なお、第１の指令値Ｔ１ａ＊は、系統Ａのコイル２４ａが発生すべきトルクの指令値であり、第２の指令値Ｔ２ａ＊は、系統Ｂのコイル２４ｂが発生すべきトルクの指令値である。第１アシストトルク演算部５０は、第１の指令値Ｔ１ａ＊を第１電流フィードバック制御部５１に出力し、第２の指令値Ｔ２ａ＊をマイコン間通信により第２電流フィードバック制御部６１に出力する。
【００３８】
第１アシストトルク演算部５０により演算される第１の指令値Ｔ１ａ＊および第２の指令値Ｔ２ａ＊は、操舵トルクτ１が所定値以下の場合には、異なる値に設定される。また、第１アシストトルク演算部５０により演算される第１の指令値Ｔ１ａ＊および第２の指令値Ｔ２ａ＊は、操舵トルクτ２が所定値を超える場合には、等しい値に設定される。すなわち、操舵トルクτ１が所定値を超える場合には、操舵トルクτ１が所定値の場合よりも、第１の指令値Ｔ１ａ＊と第２の指令値Ｔ２ａ＊との差を小さくしている。
【００３９】
第２アシストトルク演算部６０は、トルクセンサ４０ｂにより検出された操舵トルクτ２および車速センサ４２により検出された車速Ｖに基づいて、第１の指令値Ｔ１ｂ＊および第２の指令値Ｔ２ｂ＊を演算する。なお、第１の指令値Ｔ１ｂ＊は、系統Ａのコイル２４ａが発生すべきトルクの指令値であり、第２の指令値Ｔ２ｂ＊は、系統Ｂのコイル２４ｂが発生すべきトルクの指令値である。第２アシストトルク演算部６０は、第１の指令値Ｔ１ｂ＊をマイコン間通信により第１電流フィードバック制御部５１に出力し、第２の指令値Ｔ２ｂ＊を第２電流フィードバック制御部６１に出力する。
【００４０】
第２アシストトルク演算部６０により演算される第１の指令値Ｔ１ｂ＊および第２の指令値Ｔ２ｂ＊は、操舵トルクτ２が所定値以下の間は、異なる値に設定され、操舵トルクτ２が所定値を超えたあとは、等しい値に設定される。
【００４１】
上述したように、操舵トルクτ１，τ２が所定値以下の場合に、第１の指令値Ｔ１ａ＊，Ｔ１ｂ＊および第２の指令値Ｔ２ａ＊，Ｔ２ｂ＊を異なる値に設定することを「アンバランス制御」という。また、操舵トルクτ１，τ２が所定値を超える場合に、第１の指令値Ｔ１ａ＊，Ｔ１ｂ＊および第２の指令値Ｔ２ａ＊，Ｔ２ｂ＊を等しい値に設定することを「パラレル制御」という。
【００４２】
具体的には、第１アシストトルク演算部５０および第２アシストトルク演算部６０は、操舵トルクτ１，τ２が所定値以下の間は、第１の指令値Ｔ１ａ＊，Ｔ１ｂ＊を、第２の指令値Ｔ２ａ＊，Ｔ２ｂ＊よりも大きい値に演算する。
【００４３】
第１電流フィードバック制御部５１は、第１の指令値Ｔ１ａ＊および第１の指令値Ｔ１ｂ＊の他、第１回転角度θ１および電流値Ｉ１を取り込む。第１電流フィードバック制御部５１は、第１の指令値Ｔ１ａ＊および第１の指令値Ｔ１ｂ＊のいずれか一方を用いて制御信号Ｓｍ１の演算を実行する。第１電流フィードバック制御部５１は、第１アシストトルク演算部５０が正常である場合、第１アシストトルク演算部５０により演算される第１の指令値Ｔ１ａ＊を用いて制御信号Ｓｍ１の演算を実行する。これに対し、第１電流フィードバック制御部５１は、フェイルセーフ処理などにより第１アシストトルク演算部５０が正常でないと判定される場合、第２アシストトルク演算部６０により演算される第１の指令値Ｔ１ｂ＊を用いて制御信号Ｓｍ１を演算する。
【００４４】
また、第２電流フィードバック制御部６１は、第１アシストトルク演算部５０が正常である場合、第１アシストトルク演算部５０により演算される第２の指令値Ｔ２ａ＊を用いて制御信号Ｓｍ２の演算を実行する。これに対し、第２電流フィードバック制御部６１は、フェイルセーフ処理などにより第１アシストトルク演算部５０が正常でないと判定される場合、第２アシストトルク演算部６０により演算される第２の指令値Ｔ２ｂ＊を用いて制御信号Ｓｍ２の演算を実行する。これにより、第１マイコン３２ａがいわゆるマスターとして動作し、第２マイコン３２ｂがいわゆるスレーブとして動作する。
【００４５】
なお、たとえば第１電流フィードバック制御部５１は、第１の指令値Ｔ１ａ＊と第１の指令値Ｔ１ｂ＊との差が所定値未満の場合、第１の指令値Ｔ１ａ＊を用いて制御信号Ｓｍ１の演算を実行するようにしてもよい。また、第２電流フィードバック制御部６１は、第２の指令値Ｔ２ａ＊と第２の指令値Ｔ２ｂ＊との差が所定値未満の場合、第２の指令値Ｔ２ａ＊を用いて制御信号Ｓｍ２の演算を実行するようにしてもよい。
【００４６】
第１電流フィードバック制御部５１は、第１の指令値Ｔ１ａ＊および第１の指令値Ｔ１ｂ＊の他、第１回転角度θ１および電流値Ｉ２を取り込む。第１電流フィードバック制御部５１は、第１の指令値Ｔ１ａ＊および第１の指令値Ｔ１ｂ＊のいずれか一方を用いて制御信号Ｓｍ１の演算を実行する。第１電流フィードバック制御部５１は、第１の指令値Ｔ１ａ＊（あるいは第１の指令値Ｔ１ｂ＊）、第１回転角度θ１、および電流値Ｉ１に基づいて、制御信号Ｓｍ１を演算する。より具体的には、第１電流フィードバック制御部５１は、第１の指令値Ｔ１ａ＊（あるいは第１の指令値Ｔ１ｂ＊）に対応した電流指令値に、電流値Ｉ１を追従させるべく、電流指令値と電流値Ｉ１との偏差に基づく電流フィードバック制御を実行することにより、制御信号Ｓｍ１を演算する。
【００４７】
第２電流フィードバック制御部６１は、第２の指令値Ｔ２ａ＊および第２の指令値Ｔ２ｂ＊の他、第２回転角度θ２および電流値Ｉ２を取り込む。第２電流フィードバック制御部６１は、第２の指令値Ｔ２ａ＊および第２の指令値Ｔ２ｂ＊のいずれか一方を用いて制御信号Ｓｍ２の演算を実行する。第２電流フィードバック制御部６１は、第２の指令値Ｔ２ａ＊（あるいは第２の指令値Ｔ２ｂ＊）、第２回転角度θ２、および電流値Ｉ２に基づいて、制御信号Ｓｍ２を演算する。より具体的には、第２電流フィードバック制御部６１は、第２の指令値Ｔ２ａ＊（あるいは第２の指令値Ｔ２ｂ＊）に対応した電流指令値に、電流値Ｉ２を追従させるべく、電流指令値と電流値Ｉ２との偏差に基づく電流フィードバック制御を実行することにより、制御信号Ｓｍ２を演算する。
【００４８】
なお、アンバランス制御は、操舵トルクτ１が所定値（後述の操舵トルク閾値τ０）以下の間に実行されるため、たとえば車両が直進走行しているときに行われる制御である。また、パラレル制御は、操舵トルクτ１が所定値を超える場合に行われる制御であるため、たとえば車両の駐車時やステアリングホイール１０の据え切り時に行われる制御である。このため、車両が走行しているときにおいて、アンバランス制御が行われる状況はパラレル制御が行われる状況よりも頻繁に発生する。
【００４９】
つぎに、図４を参照して、第１アシストトルク演算部５０について詳しく説明する。
第１アシストトルク演算部５０は、第１アシスト制御部５２、均等配分部５３、トルクシフト比演算部５４、乗算器５５、および加算器５６，５７を備えている。なお、第２アシストトルク演算部６０も第１アシストトルク演算部５０と同様の構成要素を有している。
【００５０】
第１アシスト制御部５２は、トルクセンサ４０ａにより検出された操舵トルクτ１および車速センサ４２により検出された車速Ｖに基づいて、第１の指令値Ｔ１ａ＊および第２の指令値Ｔ２ａ＊の合算値である基本指令値Ｔａ＊を演算する。
【００５１】
具体的には、図５に示すように、第１アシスト制御部５２は、入力される操舵トルクτ１の絶対値が大きいほど、また車速Ｖが小さいほど、より大きな絶対値を有する基本指令値Ｔａ＊を演算する。操舵トルクτ１の絶対値の変化量｜Δτ１｜に対する基本指令値Ｔａ＊の絶対量の変化量｜ΔＴａ＊｜の比（｜ΔＴａ＊／Δτ１｜）は、操舵トルクτ１の絶対値が大きいほど、大きくなっている。なお、操舵トルクτ１は、ステアリングホイール１０の右操舵方向であるか、あるいは左操舵方向であるかに基づいて正負が定められている。操舵トルクτ１の正負の符号に伴い、第１アシスト制御部５２により演算される基本指令値Ｔａ＊も正負の符号を有する。
【００５２】
均等配分部５３は、入力される基本指令値Ｔａ＊に「１／２」を乗算する。すなわち、均等配分部５３は、基本指令値Ｔａ＊を均等に配分した均等指令値Ｔａｅ＊（「Ｔａ＊／２」）を演算する。
【００５３】
トルクシフト比演算部５４は、入力される基本指令値Ｔａ＊に応じたトルクシフト比Ｒｔｓを演算する。配分比としてのトルクシフト比Ｒｔｓは、系統Ａのコイル２４ａが発生すべきトルクの指令値と、系統Ｂのコイル２４ｂが発生すべきトルクの指令値との比である。言い換えると、トルクシフト比Ｒｔｓは、系統Ａのコイル２４ａが発生すべきトルクおよび系統Ｂのコイル２４ｂが発生すべきトルクが、均等指令値Ｔａｅ＊からどれだけ乖離（増減）してもよいのかを示す値である。トルクシフト比Ｒｔｓが増減することにより、系統Ａと系統Ｂとの間での制御負荷が変更される。なお、トルクシフト比演算部５４および均等配分部５３により、基本指令値Ｔａ＊を、第１の指令値Ｔ１ａ＊および第２の指令値Ｔ２ａ＊に配分する配分比設定部が構成されている。
【００５４】
乗算器５５は、均等配分部５３により演算された基本指令値Ｔａ＊の半分の値である「Ｔａ＊／２」に、トルクシフト比Ｒｔｓを乗算することにより、シフトトルク指令値Ｔａｓ＊を演算する。
【００５５】
加算器５６は、均等配分部５３により演算された均等指令値Ｔａｅ＊から、乗算器５５により演算されたシフトトルク指令値Ｔａｓ＊を減算することにより、第１の指令値Ｔ１ａ＊を演算する。
【００５６】
加算器５７は、第１アシスト制御部５２により演算された基本指令値Ｔａ＊から、加算器５６により演算された第１の指令値Ｔ１ａ＊を減算することにより、第２の指令値Ｔ２ａ＊を演算する。
【００５７】
トルクシフト比演算部５４は、入力される基本指令値Ｔａ＊が指令閾値以下の場合、第１の指令値Ｔ１ａ＊と第２の指令値Ｔ２ａ＊とを異ならせるべく、トルクシフト比Ｒｔｓを「０」よりも大きい値とする。すなわち、トルクシフト比Ｒｔｓが「０」よりも大きい場合、乗算器５５により演算されるシフトトルク指令値Ｔａｓ＊は「０」よりも大きい値となる。このため、第１の指令値Ｔ１ａ＊は、均等指令値Ｔａｅ＊（基本指令値Ｔａ＊の半分の値である「Ｔａ＊／２」）よりもシフトトルク指令値Ｔａｓ＊の分だけ小さくなる。一方、第２の指令値Ｔ２ａ＊は、基本指令値Ｔａ＊から第１の指令値Ｔ１ａ＊を減算した値であるため、均等指令値Ｔａｅ＊よりもシフトトルク指令値Ｔａｓ＊の分だけ大きくなる。これにより、第１の指令値Ｔ１ａ＊を、第２の指令値Ｔ２ａ＊よりも小さくすることができ、系統Ａの各構成要素への負荷を系統Ｂの各構成要素への負荷と異ならせるアンバランス制御を実現できる。
【００５８】
なお、基本指令値Ｔａ＊は、モータ２０が発生するトルクと相関を有する値である入力値であり、指令閾値はこの入力値との比較結果に基づいて、アンバランス制御およびパラレル制御のいずれを実行するかを決定するための閾値である。すなわち、基本指令値Ｔａ＊が指令閾値以下である場合には、アンバランス制御が実行され、基本指令値Ｔａ＊が指令閾値を超える場合には、パラレル制御が実行される。
【００５９】
また、トルクシフト比演算部５４は、入力される基本指令値Ｔａ＊が指令閾値を超える場合、第１の指令値Ｔ１ａ＊と第２の指令値Ｔ２ａ＊とを等しくするべく、トルクシフト比Ｒｔｓを「０」とする。トルクシフト比Ｒｔｓが「０」である場合、乗算器５５により演算されるシフトトルク指令値Ｔａｓ＊は「０」となる。このため、第１の指令値Ｔ１ａ＊は、基本指令値Ｔａ＊の半分の値である均等指令値Ｔａｅ＊となる。また、第２の指令値Ｔ２ａ＊は、基本指令値Ｔａ＊から第１の指令値Ｔ１ａ＊を減算した値であるため、均等指令値Ｔａｅ＊となる。これにより、第１の指令値Ｔ１ａ＊を、第２の指令値Ｔ２ａ＊と等しくすることができ、系統Ａの各構成要素への負荷を系統Ｂの各構成要素への負荷と等しくするパラレル制御を実現できる。
【００６０】
なお、図６に示すように、パラレル制御の実行時には、均等配分部５３により演算された均等指令値Ｔａｅ＊を、そのまま第１の指令値Ｔ１ａ＊および第２の指令値Ｔ２ａ＊としてもよい。
【００６１】
つぎに、第１の指令値Ｔ１ａ＊，Ｔ１ｂ＊および第２の指令値Ｔ２ａ＊，Ｔ２ｂ＊の操舵トルクτ１，τ２に対する関係を説明する。なお、ここでは、説明を簡単にするために、車速Ｖは一定であると仮定する。なお、第１の指令値Ｔ１ｂ＊および第２の指令値Ｔ２ｂ＊は、第２アシストトルク演算部６０で演算されるものの、第１アシストトルク演算部５０で演算される第１の指令値Ｔ１ａ＊および第２の指令値Ｔ２ａ＊と同じである。
【００６２】
図７（ａ）に破線で示されるように、均等指令値Ｔａｅ＊は、操舵トルクτ１，τ２の絶対値が大きくなるにつれて大きくなる。均等指令値Ｔａｅ＊の操舵トルクτ１，τ２の絶対値に対する関係は、車速Ｖが同一の条件であるとき、図５に示される基本指令値Ｔａ＊の曲線の操舵トルクτ１，τ２の絶対値に対する関係を半分の傾きにしたものと同じになる。このため、均等指令値Ｔａｅ＊の操舵トルクτ１，τ２に対する傾きは、操舵トルクτ１，τ２の絶対値が大きいほど、大きくなる。
【００６３】
一方、図７（ａ）に実線で示されるように、第１アシストトルク演算部５０および第２アシストトルク演算部６０により演算される第１の指令値Ｔ１ａ＊，Ｔ１ｂ＊は、均等指令値Ｔａｅ＊と同様に、操舵トルクτ１，τ２の絶対値が大きくなるにつれて大きくなる。しかし、操舵トルクτ１，τ２の絶対値が操舵トルク閾値τ０以下であるとき、言い換えると第１の指令値Ｔ１ａ＊，Ｔ１ｂ＊が指令閾値Ｔ０＊の半分以下であるとき、第１の指令値Ｔ１ａ＊，Ｔ１ｂ＊は均等指令値Ｔａｅ＊よりも大きく設定されている。すなわち、基本指令値Ｔａ＊が指令閾値Ｔ０＊以下であるとき、第１の指令値Ｔ１ａ＊，Ｔ１ｂ＊は均等指令値Ｔａｅ＊よりも大きく設定されている。また、操舵トルクτ１，τ２が操舵トルク閾値τ０以下である場合、第１の指令値Ｔ１ａ＊，Ｔ１ｂ＊の操舵トルクτ１，τ２に対する傾きは、操舵トルクτ１，τ２が「０」近傍であるときの方が、操舵トルクτ１，τ２が操舵トルク閾値τ０の近傍であるときよりも、大きく設定されている。
【００６４】
また、操舵トルクτ１，τ２の絶対値が操舵トルク閾値τ０を超えるとき、言い換えると第１の指令値Ｔ１ａ＊，Ｔ１ｂ＊が指令閾値Ｔ０＊の半分を超えているとき、第１の指令値Ｔ１ａ＊，Ｔ１ｂ＊は均等指令値Ｔａｅ＊と同一に設定されている。すなわち、基本指令値Ｔａ＊が指令閾値Ｔ０＊を超えるとき、第１の指令値Ｔ１ａ＊，Ｔ１ｂ＊は均等指令値Ｔａｅ＊と同一に設定されている。操舵トルクτ１，τ２の絶対値が操舵トルク閾値τ０以下の領域から、操舵トルクτ１，τ２の絶対値が操舵トルク閾値τ０を超える領域へ移行する際、第１の指令値Ｔ１ａ＊，Ｔ１ｂ＊は、均等指令値Ｔａｅ＊よりも大きい状態から均等指令値Ｔａｅ＊と等しい状態へと連続的に遷移する。
【００６５】
つぎに、図７（ｂ）に実線で示される第２の指令値Ｔ２ａ＊，Ｔ２ｂ＊は、破線で示される均等指令値Ｔａｅ＊と同様に、操舵トルクτ１，τ２の絶対値が大きくなるにつれて大きくなる。しかし、操舵トルクτ１，τ２の絶対値が操舵トルク閾値τ０以下であるとき、第２の指令値Ｔ２ａ＊，Ｔ２ｂ＊は均等指令値Ｔａｅ＊よりも小さく設定されている。また、操舵トルクτ１，τ２が操舵トルク閾値τ０以下である場合、第２の指令値Ｔ２ａ＊，Ｔ２ｂ＊の操舵トルクτ１，τ２に対する傾きは、操舵トルクτ１，τ２が「０」近傍であるときの方が、操舵トルクτ１，τ２が操舵トルク閾値τ０の近傍であるときよりも、小さく設定されている。また、操舵トルクτ１，τ２の絶対値が操舵トルク閾値τ０を超えるとき、第２の指令値Ｔ２ａ＊，Ｔ２ｂ＊は均等指令値Ｔａｅ＊と同一に設定されている。操舵トルクτ１，τ２の絶対値が操舵トルク閾値τ０以下の領域から、操舵トルクτ１，τ２の絶対値が操舵トルク閾値τ０を超える領域へ移行する際、第２の指令値Ｔ２ａ＊，Ｔ２ｂ＊は、均等指令値Ｔａｅ＊よりも小さい状態から均等指令値Ｔａｅ＊と等しい状態へと連続的に遷移する。
【００６６】
なお、トルクシフト比演算部５４は、第１の指令値Ｔ１ａ＊，Ｔ１ｂ＊および第２の指令値Ｔ２ａ＊，Ｔ２ｂ＊が図７（ａ），（ｂ）に示すものとなるように、基本指令値Ｔａ＊に応じて、トルクシフト比Ｒｔｓを可変に設定している。なお、トルクシフト比演算部５４は、操舵トルクτ１，τ２に応じて、トルクシフト比Ｒｔｓを可変に設定してもよい。
【００６７】
図８は、横軸に第２の指令値Ｔ２ａ＊，Ｔ２ｂ＊を、縦軸に第１の指令値Ｔ１ａ＊，Ｔ１ｂ＊をプロットしたものである。図８には破線で、第１の指令値Ｔ１ａ＊，Ｔ１ａ＊および第２の指令値Ｔ２ａ＊，Ｔ２ｂ＊が互いに均等指令値Ｔａｅ＊と同一である場合の関係が示されている。また、図８には実線で、図７（ａ）の関係を有する第１の指令値Ｔ１ａ＊，Ｔ１ｂ＊および図７（ｂ）の関係を有する第２の指令値Ｔ２ａ＊，Ｔ２ｂ＊の関係が示されている。基本指令値Ｔａ＊が指令閾値Ｔ０＊以下である場合、言い換えると第１の指令値Ｔ１ａ＊，Ｔ１ｂ＊が指令閾値Ｔ０＊の半分以下である場合、アンバランス制御が行われる。このため、実線で示される第１の指令値Ｔ１ａ＊，Ｔ１ａ＊および第２の指令値Ｔ２ａ＊，Ｔ２ｂ＊は、破線で示される均等指令値Ｔａｅ＊と乖離している。これに対し、基本指令値Ｔａ＊が指令閾値Ｔ０＊を超える場合、言い換えると第１の指令値Ｔ１ａ＊，Ｔ１ｂ＊（第２の指令値Ｔ２ａ＊，Ｔ２ｂ＊）が指令閾値Ｔ０＊を超える場合、パラレル制御が行われるため、実線で示される第１の指令値Ｔ１ａ＊，Ｔ１ａ＊および第２の指令値Ｔ２ａ＊，Ｔ２ｂ＊は、破線で示される均等指令値Ｔａｅ＊と一致している。すなわち、アンバランス制御の実行時には、第１の指令値Ｔ１ａ＊，Ｔ１ｂ＊が第２の指令値Ｔ２ａ＊，Ｔ２ｂ＊よりも大きく設定される。
【００６８】
つぎに、ＥＣＵ３０によりアンバランス制御の実行中に行われるフェイルセーフ処理の実行手順について説明する。このフェイルセーフ処理は、たとえばＥＣＵ３０の第１マイコン３２ａおよび第２マイコン３２ｂにおいて、それぞれ実行される。
【００６９】
図９のフローチャートに示すように、ＥＣＵ３０は、第１の指令値Ｔ１ａ＊および第２の指令値Ｔ２ａ＊の和が基本指令値Ｔａ＊と等しいか否かを判定する（ステップＳ１）。なお、第１マイコン３２ａの演算が正常に行われていれば、第１の指令値Ｔ１ａ＊および第２の指令値Ｔ２ａ＊の和は、基本指令値Ｔａ＊と等しくなるはずである。
【００７０】
つぎに、ＥＣＵ３０は、第１の指令値Ｔ１ａ＊および第２の指令値Ｔ２ａ＊の和が基本指令値Ｔａ＊と等しい場合（ステップＳ１のＹＥＳ）、第１の指令値Ｔ１ａ＊と第２の指令値Ｔ２ａ＊とが同じ符号であるか否かを判定する（ステップＳ２）。なお、第１マイコン３２ａの演算が正常に行われていれば、第１の指令値Ｔ１ａ＊と第２の指令値Ｔ２ａ＊とが同じ符号であるはずである。モータ２０を所定の方向に回転させる際に、系統Ａのコイル２４ａが発生するトルクと、系統Ｂのコイル２４ｂが発生するトルクとが打ち消しあうようにはしないからである。
【００７１】
ＥＣＵ３０は、第１の指令値Ｔ１ａ＊と第２の指令値Ｔ２ａ＊とが同じ符号である場合（ステップＳ２のＹＥＳ）、アンバランス制御を継続する（ステップＳ３）。
ＥＣＵ３０は、第１の指令値Ｔ１ａ＊および第２の指令値Ｔ２ａ＊の和が基本指令値Ｔａ＊と等しくない場合（ステップＳ１のＮＯ）、アンバランス制御を中止し、フェイルセーフ処置を実行する（ステップＳ４）。フェイルセーフ処置の一例としては、系統Ａおよび系統Ｂのうち異常が発生していると考えられる系統の演算を中止することや、第１電流フィードバック制御部５１および第２電流フィードバック制御部６１において、第２アシストトルク演算部６０により演算される指令値を用いてフィードバック制御を行うことが挙げられる。
【００７２】
また、ＥＣＵ３０は、第１の指令値Ｔ１ａ＊と第２の指令値Ｔ２ａ＊とが同じ符号でない場合（ステップＳ２のＮＯ）、アンバランス制御を中止し、フェイルセーフ処置を実行する（ステップＳ４）。
【００７３】
以上により、フェイルセーフ処理を終了する。なお、当該フェイルセーフ処理は、所定の周期で繰り返し実行される。
本実施形態の作用および効果を説明する。なお、本実施形態では、説明を簡単にするために、第１の指令値Ｔ１ａ＊および第２の指令値Ｔ２ａ＊を用いて制御信号Ｓｍ１，Ｓｍ２を演算するものとする。
【００７４】
（１）運転者がステアリング操作をすることにより、操舵トルク閾値τ０以下の操舵トルクτ１が発生したとき、アンバランス制御が実行される。これにより、ＥＣＵ３０における系統Ｂからモータ２０への電力の供給は、ＥＣＵ３０における系統Ａからモータ２０への電力の供給と比べて少なくなる。言い換えると、操舵トルクτ１の絶対値が操舵トルク閾値τ０以下である場合には、系統Ｂよりも系統Ａの方でより大きなトルクを発生させる。このため、操舵トルクτ１の絶対値が操舵トルク閾値τ０以下である場合、系統Ｂの各構成要素（コイル２４ｂ、第１マイコン３２ｂ、第２駆動回路３４ｂなど）には、系統Ａの各構成要素（コイル２４ａ、第１マイコン３２ａ、第１駆動回路３４ａ）ほど、制御負荷がかかることなく、モータ２０からトルクを発生させることができる。
【００７５】
これに対して、運転者がステアリング操作することにより、操舵トルク閾値τ０を超える操舵トルクτ１が発生したとき、パラレル制御が実行される。これにより、ＥＣＵ３０における系統ＡとＥＣＵ３０における系統Ｂとは、モータ２０に互いに等しい電力を供給する。
【００７６】
ここで、比較例として、系統Ａも系統Ｂも同じ制御負荷で使用する場合には、各系統の同一構成要素が、同一の要因によって同時期に異常が発生してしまうおそれがある。たとえば、コイル２４ａおよびコイル２４ｂを同じ制御負荷で使用していると、両コイルは同じように経年劣化するものと考えられるので、同時期に故障することが想定される。また、第１駆動回路３４ａおよび第２駆動回路３４ｂについても、同じ制御負荷で使用していると、両駆動回路が同じように経年劣化するものと考えられるので、同時期に故障することが想定される。また、経年劣化に限らず、たとえば発熱などによる動作不良などによっても、各系統の同一構成要素が同時期に故障してしまうおそれがある。
【００７７】
本実施形態では、系統Ａと系統Ｂとの間の制御負荷が異なる（具体的には、系統Ｂの制御負荷が系統Ａの制御負荷よりも小さい）ので、各系統の同一構成要素に同時期に異常が発生することが抑制されている。すなわち、各系統の制御負荷に偏りがあることにより、各系統の同一構成要素が同時期に異常が発生することが抑制されるので、ＥＰＳ１におけるモータ２０のトルクによるアシストが失われることが抑制される。これは、たとえば制御負荷の大きい系統Ａが故障したとしても、制御負荷の小さい系統Ｂが故障することなく残ると考えられるためである。この場合、故障することなく残った系統Ｂでモータ２０のトルク（たとえばモータ２０の最大のトルクの半分までのトルク）を発生させることができ、当該トルクに基づいてアシストを継続できる。
【００７８】
（２）アンバランス制御を実行するのは、操舵トルクτ１，τ２の絶対値が操舵トルク閾値τ０以下である状況である。具体的には、アンバランス制御は、車両が直進走行しているときに実行されることがほとんどである。アンバランス制御を実行した際には、系統Ｂに比べて系統Ａの制御負荷が大きくなるため、系統Ｂに比べて系統Ａの発熱量は大きいことが想定される。しかし、たとえば車両が直進走行しているときには、ステアリング操作をすることは頻繁ではなく、右左折などで一時的にステアリング操作をしたとしても、直進走行に移行すれば排熱されると考えられる。また、操舵トルクτ１，τ２が操舵トルク閾値τ０以下であるため、そもそもの発熱量も小さいものと考えられる。このため、アンバランス制御の実行時であっても、系統Ｂに比べて系統Ａの排熱性などの熱的な性能を高める必要はほとんどない。
【００７９】
一方、パラレル制御を実行するのは、操舵トルクτ１，τ２の絶対値が操舵トルク閾値τ０を超える状況である。具体的には、パラレル制御は車両の駐車時や車両の据え切り時に行われる。駐車などに伴ってステアリング操作が行われる場合、一時的に制御負荷が大きくなるうえ、連続してステアリング操作が行われることも想定される。この点、本実施形態であれば、パラレル制御の実行時に、系統Ａおよび系統Ｂの制御負荷が等しく設定されているので、系統Ａおよび系統Ｂのうち、いずれか一方の熱的な性能を高める必要はほとんどない。
【００８０】
このように、アンバランス制御を実行しているとき、系統Ａと系統Ｂとで異なる制御負荷になるものの、系統Ａおよび系統Ｂのうち制御負荷の大きい方の熱的な性能を過剰に高める必要がない。
【００８１】
（３）トルクシフト比演算部５４は、基本指令値Ｔａ＊に応じて、トルクシフト比Ｒｔｓを可変設定している。言い換えると、基本指令値Ｔａ＊は操舵トルクτ１，τ２に基づいて演算されるので、トルクシフト比演算部５４は、操舵トルクτ１，τ２に応じて、トルクシフト比Ｒｔｓを可変に設定している。このため、操舵トルクτ１，τ２の絶対値が操舵トルク閾値τ０以下の領域から、操舵トルクτ１，τ２の絶対値が操舵トルク閾値τ０を超える領域へ移行する際、第１の指令値Ｔ１ａ＊，Ｔ１ｂ＊を、均等指令値Ｔａｅ＊よりも大きい状態から均等指令値Ｔａｅ＊と等しい状態へと滑らかに遷移させることができる。これにより、アンバランス制御からパラレル制御へと滑らかに遷移させることができ、より良好な操舵フィーリングを得ることができる。
【００８２】
一方、比較例として、操舵トルクτ１，τ２の絶対値が操舵トルク閾値τ０以下の領域から、操舵トルクτ１，τ２の絶対値が操舵トルク閾値τ０を超える領域へ移行する際に、第１の指令値Ｔ１ａ＊，Ｔ１ｂ＊が均等指令値Ｔａｅ＊よりも大きい状態から均等指令値Ｔａｅ＊と等しい状態へと不連続に遷移する場合を想定する。この場合、操舵トルクτ１，τ２の絶対値が操舵トルク閾値τ０と等しいときと、操舵トルクτ１，τ２の絶対値が操舵トルク閾値τ０よりもわずかに大きいときとで、第１の指令値Ｔ１ａ＊，Ｔ１ｂ＊の値が大きく変化してしまうことが想定される。このため、アンバランス制御からパラレル制御へと滑らかに遷移させることができない。これは、理想的には第１の指令値Ｔ１ａ＊，Ｔ１ｂ＊の値が大きく変化することに対応して、コイル２４ａ，２４ｂを流れる電流を変化させようとするものの、現実的には電流の変化が追いつかないことがあるためである。この結果、運転者は操舵フィーリングの急激な変化を感じてしまう。
【００８３】
（４）アンバランス制御中には、図９のフローチャートに示されるようなフェイルセーフ処理が実行される。アンバランス制御中であっても、第１の指令値Ｔ１ａ＊および第２の指令値Ｔ２ａ＊の和が基本指令値Ｔａ＊と等しいこと、および第１の指令値Ｔ１ａ＊と第２の指令値Ｔ２ａ＊とが同じ符号であることは常に満たされるべき条件である。それにも関わらず、フェイルセーフ処理の条件が満たされる場合には、アンバランス制御を継続するよりも、アンバランス制御を中止し、フェイルセーフ処置を実行することが好ましい。たとえば、第１アシストトルク演算部５０からの演算が的確に行えていないと考えられる場合には、アンバランス制御を中止して、フェイルセーフ処置を実行することによって、少なくとも本来得られるはずのアシスト量の半分のアシスト量を維持できる。なお、第１アシストトルク演算部５０からの演算が的確に行えていないと考えられる場合にアンバランス制御を継続すると、系統Ａに過大な負荷が作用してしまうおそれがあるためである。
【００８４】
なお、第１の指令値Ｔ１ａ＊および第２の指令値Ｔ２ａ＊の和が基本指令値Ｔａ＊と同じであるものの、演算間違いなどによって第１の指令値Ｔ１ａ＊および第２の指令値Ｔ２ａ＊の配分が本来演算されるべき値と異なる場合も考えられる。このような場合でも、モータ２０によって発生するトルクは本来演算されるべきトルクと同じとなるので、当該トルクに基づいたアシストを継続できる。
【００８５】
なお、本実施形態は次のように変更してもよい。また、以下の他の実施形態は、技術的に矛盾しない範囲において、互いに組み合わせることができる。
・本実施形態では、系統Ａおよび系統Ｂの２系統に冗長化されたが、３系統以上に冗長化されてもよい。たとえば、３系統に冗長する場合、各系統のコイルは、モータ２０の最大のトルクの１／３のトルクを発生させる。アンバランス制御が実行されるとき、３系統のうちいずれか１系統の制御負荷を、他の２系統の制御負荷よりも小さくすることにより、制御負荷の小さい１系統が他の２系統と同時期に故障することを抑制する。また、パラレル制御が実行されるとき、３系統の制御負荷をそれぞれ等しくすることにより、一部の系統に制御負荷が集中することを抑制する。
【００８６】
・第１電流フィードバック制御部５１は、第１の指令値Ｔ１ａ＊と第１の指令値Ｔ１ｂ＊との差が所定の値未満の場合、第１の指令値Ｔ１ａ＊および第１の指令値Ｔ１ｂ＊の平均値を用いて制御信号Ｓｍ１の演算を実行してもよい。なお、第２電流フィードバック制御部６１も同様である。
【００８７】
・回転角センサ４１は、ＭＲセンサを用いたものであってもよいし、ホールセンサを用いたものであってもよいし、レゾルバを用いたものであってもよい。
・本実施形態では、系統Ａおよび系統Ｂは、それぞれモータ２０の最大のトルクの半分（５０％）のトルク（アシスト量）を発生させたが、これに限らない。すなわち、系統Ａで発生できる最大のトルクは、系統Ｂで発生できる最大のトルクと異なっていてもよい。なお、系統Ａで発生できる最大のトルクと、系統Ｂで発生できる最大のトルクとの和は、合計で１００％以内に設定される。
【００８８】
・本実施形態では、第１アシストトルク演算部５０について、図４に示すように、第１アシストトルク演算部５０は、第１アシスト制御部５２、均等配分部５３、トルクシフト比演算部５４、乗算器５５、および加算器５６，５７を備えるものとしたが、これに限らない。
【００８９】
たとえば、図１０（ａ）に示すように、第１アシストトルク演算部５０は、第１アシスト制御部５２、配分比設定部としての系統Ａ割合演算部７０、乗算器７１、および加算器７２を備えるものであってもよい。この場合、系統Ａ割合演算部７０は、基本指令値Ｔａ＊における第１の指令値Ｔ１ａ＊の割合である系統Ａ割合Ｒａを演算する。乗算器７１は、第１アシスト制御部５２により演算された基本指令値Ｔａ＊に、系統Ａ割合演算部７０により演算された系統Ａ割合Ｒａを乗算することにより、第１の指令値Ｔ１ａ＊を演算する。一方、加算器７２は、第１アシスト制御部５２により演算された基本指令値Ｔａ＊から、乗算器７１により演算された第１の指令値Ｔ１ａ＊を減算することにより、第２の指令値Ｔ２ａ＊を演算する。
【００９０】
また、図１０（ｂ）に示すように、第１アシストトルク演算部５０は、第１アシスト制御部５２、配分比設定部としての配分比演算部７３、乗算器７４、および乗算器７５を備えるものであってもよい。この場合、配分比演算部７３は、基本指令値Ｔａ＊における第１の指令値Ｔ１ａ＊の割合である系統Ａ割合Ｒ１ａ、および基本指令値Ｔａ＊における第２の指令値Ｔ２ａ＊の割合である系統Ｂ割合Ｒ２ａを演算する。乗算器７４は、第１アシスト制御部５２により演算された基本指令値Ｔａ＊に、配分比演算部７３により演算された系統Ａ割合Ｒ１ａを乗算することにより、第１の指令値Ｔ１ａ＊を演算する。一方、乗算器７５は、基本指令値Ｔａ＊に、配分比演算部７３により演算された系統Ｂ割合Ｒ２ａを乗算することにより、第２の指令値Ｔ２ａ＊を演算する。
【００９１】
また、図１０（ｃ）に示すように、第１アシストトルク演算部５０は、第１アシスト制御部５２および配分比設定部としての配分比可変部７６を備えるものであってもよい。この場合、配分比可変部７６は、複数の配分比（第１〜第３配分比Ｄ１〜Ｄ３）を記憶している。配分比可変部７６は、第１アシスト制御部５２により演算される基本指令値Ｔａ＊および車速センサ４２により検出される車速Ｖが取り込まれる。配分比可変部７６は、取り込まれる車速Ｖに応じて使用する配分比を選択する。配分比可変部７６は、基本指令値Ｔａ＊に車速Ｖに応じて選択された配分比を乗算することにより第１の指令値Ｔ１ａ＊を演算するとともに、基本指令値Ｔａ＊に「１−選択された配分比」を乗算することにより第２の指令値Ｔ２ａ＊を演算する。
【００９２】
・第１アシスト制御部５２は、操舵トルクτ１および車速Ｖに基づいて基本指令値Ｔａ＊を演算したが、操舵トルクτ１のみに基づいて基本指令値Ｔａ＊を演算してもよい。
・トルクシフト比演算部５４は、入力される基本指令値Ｔａ＊に応じてトルクシフト比Ｒｔｓを演算したが、これに限らない。たとえば、トルクシフト比演算部５４には、操舵トルクτ１（操舵トルクτ２）が入力され、入力された操舵トルクτ１に応じてトルクシフト比Ｒｔｓを演算してもよい。
【００９３】
・図９のフローチャートに示されるようなフェイルセーフ処理は、第１マイコン３２ａおよび第２マイコン３２ｂの少なくとも一方で実行されればよい。
・本実施形態では、アンバランス制御中に図９のフローチャートに示されるようなフェイルセーフ処理が行われたが、行わなくてもよい。
【００９４】
・本実施形態では、系統Ｂの制御負荷を系統Ａの制御負荷よりも小さくしたが、系統Ａの制御負荷を系統Ｂの制御負荷よりも小さくしてもよい。
・本実施形態では、操舵トルクτ１，τ２の絶対値が操舵トルク閾値τ０以下の領域から、操舵トルクτ１，τ２の絶対値が操舵トルク閾値τ０を超える領域へ移行する際、第１の指令値Ｔ１ａ＊，Ｔ１ｂ＊は、均等指令値Ｔａｅ＊よりも大きい状態から均等指令値Ｔａｅ＊と等しい状態へ連続的に遷移させたが、これに限らない。すなわち、操舵トルクτ１，τ２が操舵トルク閾値τ０以下である場合、第１の指令値Ｔ１ａ＊，Ｔ１ｂ＊の操舵トルクτ１，τ２に対する傾きを、操舵トルクτ１，τ２が「０」近傍であるときの方が、操舵トルクτ１，τ２が操舵トルク閾値τ０の近傍であるときよりも小さく設定してもよい。第２の指令値Ｔ２ａ＊，Ｔ２ｂ＊の操舵トルクτ１，τ２に対する傾きも同様に、操舵トルクτ１，τ２が「０」近傍であるときの方が、操舵トルクτ１，τ２が操舵トルク閾値τ０の近傍であるときよりも大きく設定してもよい。
【００９５】
・本実施形態では、パラレル制御中には、系統Ａと系統Ｂの制御負荷を等しくしたが、これに限らない。すなわち、パラレル制御中には、アンバランス制御中よりも、系統Ａと系統Ｂとの制御負荷の差を小さくすればよい。言い換えると、パラレル制御中には、アンバランス制御中よりも、第１の指令値Ｔ１ａ＊と第１の指令値Ｔ１ｂ＊との差を小さくし、第２の指令値Ｔ２ａ＊と第２の指令値Ｔ２ｂ＊との差を小さくすればよい。
【００９６】
・本実施形態では、モータ２０によってステアリングシャフト１１にアシスト力を付与するＥＰＳ１に具体化して示したが、これに限らない。たとえば、ラックシャフト１２に平行に配置された回転軸２１を有するモータ２０によってラックシャフト１２にアシスト力を付与するＥＰＳ１に具体化したステアリング装置であってもよい。また、ステアバイワイヤ装置であってもよい。すなわち、モータ２０によって操舵機構２に動力を付与するステアリング装置であれば、どのようなものであってもよい。
【符号の説明】
【００９７】
１…ＥＰＳ、２…操舵機構、３…アシスト機構、１０…ステアリングホイール、１１…ステアリングシャフト、１１ａ…コラムシャフト、１１ｂ…インターミディエイトシャフト、１１ｃ…ピニオンシャフト、１２…コラムシャフト、１３…ラックアンドピニオン機構、１４…タイロッド、１５…転舵輪、２０…モータ、２１…回転軸、２２…減速機構、２３…ロータ、２４，２４ａ，２４ｂ…コイル、３０…ＥＣＵ、３１ａ…第１発振子、３１ｂ…第２発振子、３２ａ…第１マイコン（第１の制御部）、３２ｂ…第２マイコン（第２の制御部）、３３ａ…第１電流センサ、３３ｂ…第２電流センサ、３４ａ…第１駆動回路、３４ｂ…第２駆動回路、４０ａ，４０ｂ…トルクセンサ、４１…回転角センサ、４２…車速センサ、５０…アシストトルク演算部、５１…第１電流フィードバック制御部、５２…第１アシスト制御部、５３…均等配分部、５４…トルクシフト比演算部（配分比設定部）、５５…乗算器、５６，５７…加算器、６０…第２アシストトルク演算部、６１…第２電流フィードバック制御部、θ…回転角度、θ１…第１回転角度、θ２…第２回転角度、τ１，τ２…操舵トルク（入力値）、τ０…操舵トルク閾値、Ｉ１，Ｉ２…電流値、Ｓｍ１，Ｓｍ２…制御信号、Ｔａ＊…基本指令値（入力値、指令値）、Ｔ１ａ＊，Ｔ１ｂ＊…第１の指令値、Ｔ２ａ＊，Ｔ２ｂ＊…第２の指令値、Ｔａｅ＊…均等指令値、Ｔａｓ＊…シフトトルク指令値、Ｔ０＊…指令閾値。
【図１】
2019093903.tif 000003
【図２】
2019093903.tif 000004
【図３】
2019093903.tif 000005
【図４】
2019093903.tif 000006
【図５】
2019093903.tif 000007
【図６】
2019093903.tif 000008
【図７】
2019093903.tif 000009
【図８】
2019093903.tif 000010
【図９】
2019093903.tif 000011
【図１０】
2019093903.tif 000012