(57)【要約】【課題】転舵角の制御を高精度に実行できるようにしたモータの制御システムを提供する。【解決手段】ＣＰＵ３２（１）は、第１角度センサ４０（１）に基づく回転角度θｐ（１）を上位ＥＣＵ６０に出力する。ＣＰＵ３２（２）は、第２角度センサ４０（２）に基づく回転角度θｐ（２）を上位ＥＣＵ６０に出力する。上位ＥＣＵ６０は、車両が直進状態にあるときの回転角度θｐ（１）を、回転角度θｐ（１）の基準角度であるとして第１マイコン３０（１）に出力する。また、上位ＥＣＵ６０は、車両が直進状態にあるときの回転角度θｐ（２）を、回転角度θｐ（２）の基準角度であるとして第２マイコン３０（２）に出力する。【選択図】図１
2020175820.tif 000002
【特許請求の範囲】
【請求項１】
転舵輪を転舵させるためのモータであって互いに絶縁された第１ステータコイルおよび第２ステータコイルを備えるモータを制御対象とし、前記第１ステータコイルに接続されている第１駆動回路を操作する第１処理回路と、前記第２ステータコイルに接続されている第２駆動回路を操作する第２処理回路と、前記転舵輪の転舵角の指令値に関する信号を前記第１処理回路および前記第２処理回路に出力する指令回路と、を備えるモータの制御システムにおいて、
前記指令回路は、車両の走行状態に基づき転舵角が基準角度となった状態を検知する検知処理と、前記検知処理による検知結果に基づく信号である第１結果信号を前記第１処理回路に出力する第１通知処理と、前記検知処理の検知結果に基づく信号である第２結果信号を前記第２処理回路に出力する第２通知処理と、を実行し、
前記第１処理回路は、前記第１結果信号に基づき、前記転舵角を前記指令値に制御すべく、前記転舵輪の転舵角に換算可能な換算可能角度であって第１角度センサの検出値に基づく角度である第１換算可能角度と前記指令値に応じた前記換算可能角度との相対角度を補正して前記第１駆動回路の操作のための入力とする第１補正処理を実行し、
前記第２処理回路は、前記第２結果信号に基づき、前記転舵角を前記指令値に制御すべく、前記転舵輪の転舵角に換算可能な換算可能角度であって第２角度センサの検出値に基づく角度である第２換算可能角度と前記指令値に応じた前記換算可能角度との相対角度を補正して前記第２駆動回路の操作のための入力とする第２補正処理を実行するモータの制御システム。
【請求項２】
前記第１処理回路は、前記第１換算可能角度を前記指令回路に出力する第１出力処理と、前記第１結果信号に基づき前記第１出力処理によって出力している前記第１換算可能角度が前記基準角度を示すときの値としての基準時第１角度を前記指令回路に出力する第１照合用処理と、を実行し、
前記第２処理回路は、前記第２換算可能角度を前記指令回路に出力する第２出力処理と、前記第２結果信号に基づき前記第２出力処理によって出力している前記第２換算可能角度が前記基準角度を示すときの値としての基準時第２角度を前記指令回路に出力する第２照合用処理と、を実行し、
前記指令回路は、前記検知処理に基づき把握される前記第１出力処理によって出力された前記第１換算可能角度が前記基準角度を示すときの値と前記第１照合用処理による前記基準時第１角度とを照合する第１照合処理と、前記検知処理に基づき把握される前記第２出力処理によって出力された前記第２換算可能角度が前記基準角度を示すときの値と前記第２照合用処理による前記基準時第２角度とを照合する第２照合処理と、を実行する請求項１記載のモータの制御システム。
【請求項３】
前記第１通知処理は、前記第１出力処理によって出力された前記第１換算可能角度に基づき、前記検知処理によって基準角度となった状態が検知されたときの前記第１換算可能角度に関する信号を第１結果信号として前記第１処理回路に出力する処理を含み、
前記第１照合用処理は、前記第１通知処理によって通知された前記第１換算可能角度を前記基準時第１角度として出力する処理を含み、
前記第２通知処理は、前記第２出力処理によって出力された前記第２換算可能角度に基づき、前記検知処理によって基準角度となった状態が検知されたときの前記第２換算可能角度に関する信号を第２結果信号として前記第２処理回路に出力する処理を含み、
前記第２照合用処理は、前記第２通知処理によって通知された前記第２換算可能角度を前記基準時第２角度として出力する処理を含む請求項２記載のモータの制御システム。
【請求項４】
前記第１処理回路は、前記第１換算可能角度と前記指令値に応じた目標角度との差に応じた積分要素の出力値に基づき第１操作量を算出する第１操作量算出処理と、前記第１操作量に基づき前記第１駆動回路を操作する処理と、該第１操作量を前記第２処理回路に出力する操作量出力処理と、を実行し、
前記第２処理回路は、前記第２換算可能角度と前記目標角度との差に応じて積分要素によらずに第２操作量を算出する第２操作量算出処理と、前記第１操作量に基づき前記第２駆動回路を操作する第１利用操作処理と、前記第１利用操作処理がなされているときに前記第１操作量と前記第２操作量算出処理によって算出された前記第２操作量との乖離に基づき前記第１処理回路の異常の有無を判定する判定処理と、を実行する請求項１〜３のいずれか１項に記載のモータの制御システム。
【請求項５】
前記第２処理回路は、前記判定処理によって前記第１処理回路に異常があると判定される場合、前記第１利用操作処理を停止し、前記第２操作量に基づき前記第２駆動回路を操作する第２利用操作処理を実行する請求項４記載のモータの制御システム。
【請求項６】
請求項１〜５のいずれか１項に記載の前記第１処理回路および前記第２処理回路を備えるモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータの制御システム、およびモータの制御装置に関する。
【背景技術】
【０００２】
たとえば下記特許文献１には、転舵輪を転舵させるモータであって、互いに独立な２つのステータコイルを備えるモータが記載されている。同文献には、ステータコイルに接続された駆動回路を操作するモータの制御装置として、ステータコイル毎に、各別のマイコンを備えた冗長な制御装置が記載されている。ここで、一対のマイコンのそれぞれは、各別の回転角センサの検出値に基づき、モータのｄｑ軸の電流を算出することによってそれらｄｑ軸の電流を制御する。また、第１のマイコンの電流の指令値を第２のマイコンによって利用することも記載されている（図１０）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−２４３３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
発明者は、上記のように冗長な制御装置において、転舵輪の転舵角を上記回転角センサによって検出し、検出値を目標値にフィードバック制御することを検討した。しかしその場合、回転角センサの検出値同士の差に起因して転舵角の制御性が低くなるおそれがある。
【課題を解決するための手段】
【０００５】
以下、上記課題を解決するための手段およびその作用効果について記載する。
１．転舵輪を転舵させるためのモータであって互いに絶縁された第１ステータコイルおよび第２ステータコイルを備えるモータを制御対象とし、前記第１ステータコイルに接続されている第１駆動回路を操作する第１処理回路と、前記第２ステータコイルに接続されている第２駆動回路を操作する第２処理回路と、前記転舵輪の転舵角の指令値に関する信号を前記第１処理回路および前記第２処理回路に出力する指令回路と、を備えるモータの制御システムにおいて、前記指令回路は、車両の走行状態に基づき転舵角が基準角度となった状態を検知する検知処理と、前記検知処理による検知結果に基づく信号である第１結果信号を前記第１処理回路に出力する第１通知処理と、前記検知処理の検知結果に基づく信号である第２結果信号を前記第２処理回路に出力する第２通知処理と、を実行し、前記第１処理回路は、前記第１結果信号に基づき、前記転舵角を前記指令値に制御すべく、前記転舵輪の転舵角に換算可能な換算可能角度であって第１角度センサの検出値に基づく角度である第１換算可能角度と前記指令値に応じた前記換算可能角度との相対角度を補正して前記第１駆動回路の操作のための入力とする第１補正処理を実行し、前記第２処理回路は、前記第２結果信号に基づき、前記転舵角を前記指令値に制御すべく、前記転舵輪の転舵角に換算可能な換算可能角度であって第２角度センサの検出値に基づく角度である第２換算可能角度と前記指令値に応じた前記換算可能角度との相対角度を補正して前記第２駆動回路の操作のための入力とする第２補正処理を実行するモータの制御システムである。
【０００６】
上記構成では、指令回路が第１処理回路に第１結果信号を出力する。これにより、第１処理回路では、基準角度に対応する第１換算可能角度を把握することができる。そしてこれにより、基準角度と指令値との相対角度に応じて、基準角度に対応する第１換算可能角度と実際の第１換算可能角度との相対角度を制御すべく、第１換算可能角度を補正することができる。また、上記構成では、第２処理回路に第２結果信号を出力する。これにより、第２処理回路では、基準角度に対応する第２換算可能角度を把握することができる。そしてこれにより、基準角度と指令値との相対角度に応じて、基準角度に対応する第２換算可能角度と実際の第２換算可能角度との相対角度を制御すべく、第２換算可能角度を補正することができる。このように、第１換算可能角度の補正量と第２換算可能角度の補正量とを独立に設定可能なため、第１角度センサの検出値と第２角度センサの検出値とにずれがある場合であっても、第１換算可能角度と第２換算可能角度とを高精度に補正できることから、転舵角の制御を高精度に実行できる。
【０００７】
２．前記第１処理回路は、前記第１換算可能角度を前記指令回路に出力する第１出力処理と、前記第１結果信号に基づき前記第１出力処理によって出力している前記第１換算可能角度が前記基準角度を示すときの値としての基準時第１角度を前記指令回路に出力する第１照合用処理と、を実行し、前記第２処理回路は、前記第２換算可能角度を前記指令回路に出力する第２出力処理と、前記第２結果信号に基づき前記第２出力処理によって出力している前記第２換算可能角度が前記基準角度を示すときの値としての基準時第２角度を前記指令回路に出力する第２照合用処理と、を実行し、前記指令回路は、前記検知処理に基づき把握される前記第１出力処理によって出力された前記第１換算可能角度が前記基準角度を示すときの値と前記第１照合用処理による前記基準時第１角度とを照合する第１照合処理と、前記検知処理に基づき把握される前記第２出力処理によって出力された前記第２換算可能角度が前記基準角度を示すときの値と前記第２照合用処理による前記基準時第２角度とを照合する第２照合処理と、を実行する上記１記載のモータの制御システムである。
【０００８】
上記構成では、指令回路は、第１出力処理と検知処理とを利用して基準角度に対応する第１換算可能角度を把握でき、第２出力処理と検知処理とを利用して基準角度に対応する第２換算可能角度を把握できる。そして第１処理回路が第１照合用処理を実行することによって、指令回路では、第１処理回路が把握した基準時第１角度と、指令回路が把握した基準角度に対応する第１換算可能角度とを照合することができる。また、第２処理回路が第２照合用処理を実行することによって、指令回路では、第２処理回路が把握した基準時第２角度と、指令回路が把握した基準角度に対応する第２換算可能角度とを照合することができる。
【０００９】
３．前記第１通知処理は、前記第１出力処理によって出力された前記第１換算可能角度に基づき、前記検知処理によって基準角度となった状態が検知されたときの前記第１換算可能角度に関する信号を第１結果信号として前記第１処理回路に出力する処理を含み、前記第１照合用処理は、前記第１通知処理によって通知された前記第１換算可能角度を前記基準時第１角度として出力する処理を含み、前記第２通知処理は、前記第２出力処理によって出力された前記第２換算可能角度に基づき、前記検知処理によって基準角度となった状態が検知されたときの前記第２換算可能角度に関する信号を第２結果信号として前記第２処理回路に出力する処理を含み、前記第２照合用処理は、前記第２通知処理によって通知された前記第２換算可能角度を前記基準時第２角度として出力する処理を含む上記２記載のモータの制御システムである。
【００１０】
上記構成では、指令回路が把握した基準角度に対応する第１換算可能角度が第１処理回路に通知されることから、第１処理回路が、基準時第１角度を把握しやすい。また、指令回路が把握した基準角度に対応する第２換算可能角度が第２処理回路に通知されることから、第２処理回路が、基準時第２角度を把握しやすい。
【００１１】
４．前記第１処理回路は、前記第１換算可能角度と前記指令値に応じた目標角度との差に応じた積分要素の出力値に基づき第１操作量を算出する第１操作量算出処理と、前記第１操作量に基づき前記第１駆動回路を操作する処理と、該第１操作量を前記第２処理回路に出力する操作量出力処理と、を実行し、前記第２処理回路は、前記第２換算可能角度と前記目標角度との差に応じて積分要素によらずに第２操作量を算出する第２操作量算出処理と、前記第１操作量に基づき前記第２駆動回路を操作する第１利用操作処理と、前記第１利用操作処理がなされているときに前記第１操作量と前記第２操作量算出処理によって算出された前記第２操作量との乖離に基づき前記第１処理回路の異常の有無を判定する判定処理と、を実行する上記１〜３のいずれか１つに記載のモータの制御システムである。
【００１２】
上記構成では、補正処理によって、第１処理回路および第２処理回路の双方とも基準角度を高精度に把握しつつ転舵角を指令値に制御できるものの、ロータのゆがみ等に起因して、モータの任意の回転角度と基準角度との相対角度を、第１処理回路と第２処理回路とが互いに等しい値に把握するとは限らない。そして、第１処理回路が把握する角度と第２処理回路が把握する角度とが異なる場合には、第１補正処理によって補正された第１換算可能角度と目標角度との差と第２補正処理によって補正された第２換算可能角度と目標角度との差が相違する。そしてその場合、第２処理回路が、独自に算出した操作量に基づき転舵角の制御を行う場合、第１処理回路による制御と第２処理回路による制御とが整合しないおそれがある。これに対し上記構成では、第２処理回路が第１操作量に基づき転舵角を制御することにより、制御を整合させることができる。
【００１３】
また、第２操作量を第２補正処理によって補正された第２換算可能角度と目標角度との差に基づく積分要素の出力に基づき算出する場合、第１操作量と第２操作量との乖離が大きくなるおそれがある。これに対し、第２操作量を積分要素によらずに算出することにより、制御が正常であるなら第１操作量と第２操作量との差が大きくなることを抑制でき、ひいては判定処理によって制御が正常であるか否かを監視できる。
【００１４】
５．前記第２処理回路は、前記判定処理によって前記第１処理回路に異常があると判定される場合、前記第１利用操作処理を停止し、前記第２操作量に基づき前記第２駆動回路を操作する第２利用操作処理を実行する上記４記載のモータの制御システムである。
【００１５】
上記構成では、制御に異常がある場合、第２操作量に基づき第２処理回路が第２駆動回路を操作することにより、転舵角の制御性の低下を抑制できる。
６．上記１〜５のいずれか１つに記載の前記第１処理回路および前記第２処理回路を備えるモータ制御装置である。
【図面の簡単な説明】
【００１６】
【図１】一実施形態にかかる制御システムおよびモータを示す図。
【図２】同実施形態にかかる制御装置が実行する処理の一部を示す図。
【図３】（ａ）および（ｂ）は、制御装置が実行する処理の手順を示す流れ図。
【図４】（ａ）および（ｂ）は、制御システムが実行する処理の手順を示す流れ図。
【発明を実施するための形態】
【００１７】
以下、モータの制御システムにかかる一実施形態について図面を参照しつつ説明する。
図１に示すモータ１０は、転舵輪を転舵させるための転舵アクチュエータにおける動力源である。本実施形態では、モータ１０として表面磁石同期電動機（ＳＰＭＳＭ）を例示している。モータ１０は、１つのロータ１２と、一対のステータコイルである第１ステータコイル１４（１）および第２ステータコイル１４（２）と、を備えている。制御装置２０は、モータ１０を制御対象とし、モータ１０の制御量であるトルクを制御する。制御装置２０は、第１ステータコイル１４（１）および第２ステータコイル１４（２）のそれぞれに対応した各別の回路である第１系統の回路と第２系統の回路とを備えている。
【００１８】
詳しくは、制御装置２０は、第１系統の回路として次のものを備えている。すなわち、第１ステータコイル１４（１）に接続された第１インバータ２２（１）と、第１インバータ２２（１）に操作信号ＭＳ（１）を出力することによって第１ステータコイル１４（１）に流れる電流を制御する第１マイコン３０（１）と、を備えている。また、制御装置２０は、第２系統の回路として、次のものを備えている。すなわち、第２ステータコイル１４（２）に接続された第２インバータ２２（２）と、第２インバータ２２（２）に操作信号ＭＳ（２）を出力することによって第２ステータコイル１４（２）に流れる電流を制御する第２マイコン３０（２）と、を備えている。なお、第１マイコン３０（１）と第２マイコン３０（２）とは、通信線４２を介して通信可能となっている。
【００１９】
以下では、第１系統と第２系統とを総括して記載する場合、「１」または「２」の値をとりうる「ｋ」を用い、たとえば「第ｋステータコイル１４（ｋ）には第ｋインバータ１４（ｋ）が接続されている」等と記載することとする。
【００２０】
上記第ｋマイコン３０（ｋ）は、第ｋ角度センサ４０（ｋ）によって検出されるロータ１２の回転角度θｍ（ｋ）や、第ｋステータコイル１４（ｋ）に流れる３相の電流ｉｕ（ｋ），ｉｖ（ｋ），ｉｗ（ｋ）を取得する。なお、電流ｉｕ（ｋ），ｉｖ（ｋ），ｉｗ（ｋ）は、たとえば第ｋインバータ２２（ｋ）の各レッグに接続されたシャント抵抗の電圧降下として検出すればよい。
【００２１】
第ｋマイコン３０（ｋ）には、ＣＰＵ３２（ｋ）、ＲＯＭ３４（ｋ）、電気的に書き換え可能な不揮発性メモリである記憶装置３６（ｋ）、および周辺回路３８（ｋ）等が備えられ、それらがローカルネットワーク３９（ｋ）を介して互いに通信可能とされている。ここで、周辺回路３８（ｋ）は、外部クロック信号に基づき内部の動作を規定するクロック信号を生成する回路や、電源回路、リセット回路等を含む。
【００２２】
制御装置２０は、通信線５０を介して外部の上位ＥＣＵ６０と通信可能となっており、上位ＥＣＵ６０から出力される目標角度θｐ＊が第１マイコン３０（１）および第２マイコン３０（２）に入力される。目標角度θｐ＊は、転舵輪の転舵角（タイヤ切れ角）に換算可能な換算可能角度の目標値であり、本実施形態では、ステアリングシャフトの回転角度の目標値とされている。詳しくは、本実施形態にかかる目標角度θｐ＊は、車両を直進させる角度である直進角度を基準角度として、基準角度において値「０」となり、右旋回側の値と左旋回側の値とで互いに異なる符号を有する。なお、上位ＥＣＵ６０や、第ｋマイコン３０（ｋ）、第ｋインバータ２２（ｋ）には、バッテリ５２の端子電圧が印加されている。詳しくは、第ｋマイコン３０（ｋ）には、リレー２４（ｋ）を介してバッテリ５２の電圧が印加されている。また、第ｋインバータ２２（ｋ）と第ｋステータコイル１４（ｋ）との間には、リレー２６（ｋ）が設けられている。
【００２３】
上位ＥＣＵ６０は、ＣＰＵ６２、ＲＯＭ６４、および周辺回路６６を備えており、それらがローカルネットワーク６８を介して通信可能とされている。上位ＥＣＵ６０は、目標角度θｐ＊の出力のために、ヨーレートセンサ７０によって検出されるヨーレートγ、横加速度センサ７２によって検出される横加速度ａｙ等の各種センサ値を参照する。また、上位ＥＣＵ６０には、運転者が自動運転を指示する自動運転スイッチ７４の操作状態信号が入力される。
【００２４】
図２に、第１マイコン３０（１）および第２マイコン３０（２）が実行する処理のうち、特に自動運転がなされる場合の処理を示す。図２に示す処理は、ＲＯＭ３４（ｋ）に記憶されたプログラムをＣＰＵ３２（ｋ）が実行することにより実現される。なお、以下では、第１マイコン３０（１）および第２マイコン３０（２）のそれぞれが実行する処理を総括する場合、「ｋ」を用いて記載する。
【００２５】
積算処理Ｍ１０（ｋ）は、回転角度θｍ（ｋ）を積算する処理である。換算処理Ｍ１２（ｋ）は、積算処理Ｍ１０（ｋ）の出力に所定の係数Ｋを乗算することによって、同出力を、ステアリングシャフトの回転角度θｐ（ｋ）に換算する処理である。
【００２６】
フィードバック操作量算出処理Ｍ２０（ｋ）は、回転角度θｐ（ｋ）を目標角度θｐ＊にフィードバック制御するための操作量であるフィードバック操作量ＭＦＢ（ｋ）を算出する処理である。本実施形態では、基本的には、比例要素の出力値、積分要素の出力値および微分要素の出力値の和をフィードバック操作量ＭＦＢ（ｋ）とする。具体的には、偏差算出処理Ｍ２２（ｋ）は、回転角度θｐ（ｋ）と目標角度θｐ＊との差を算出する処理であり、比例要素Ｍ２４（ｋ）は、差に比例係数Ｋｐを乗算する処理である。積分ゲイン乗算処理Ｍ２６（ｋ）は、上記差に積分ゲインＫｉを乗算する処理であり、積分処理Ｍ２８（ｋ）は、積分ゲイン乗算処理Ｍ２６（ｋ）の出力の積算値を更新し、出力する処理であり、積分ゲイン乗算処理Ｍ２６および積分処理Ｍ２８によって積分要素が構成されている。微分ゲイン乗算処理Ｍ３０（ｋ）は、上記差に微分ゲインＫｄを乗算する処理であり、微分処理Ｍ３２（ｋ）は、微分ゲイン乗算処理Ｍ３０（ｋ）の出力の微分演算をする処理であり、微分ゲイン乗算処理Ｍ３０および微分処理Ｍ３２によって微分要素が構成されている。加算処理Ｍ３４（ｋ）は、比例要素Ｍ２４（ｋ）、積分処理Ｍ２８（ｋ）および微分処理Ｍ３２（ｋ）の各出力値の和を算出して、フィードバック操作量ＭＦＢ（ｋ）として出力する処理である。
【００２７】
フィードフォワード操作量算出処理Ｍ４０（ｋ）は、目標角度θｐ＊に制御するための操作量であるフィードフォワード操作量ＭＦＦ（ｋ）を算出する処理である。詳しくは、フィードフォワード操作量算出処理Ｍ４０（ｋ）は、目標角度θｐ＊の絶対値が大きい場合に小さい場合よりもフィードフォワード操作量ＭＦＦ（ｋ）の絶対値を大きい値とする処理である。これは、たとえば目標角度θｐ＊を入力変数とし、フィードフォワード操作量ＭＦＦ（ｋ）を出力変数とするマップデータが予めＲＯＭ３４（ｋ）に記憶された状態で、ＣＰＵ３２（ｋ）によりフィードフォワード操作量ＭＦＦ（ｋ）をマップ演算することにより実現できる。ここで、マップデータとは、入力変数の離散的な値と、入力変数の値のそれぞれに対応する出力変数の値と、の組データである。またマップ演算は、たとえば、入力変数の値がマップデータの入力変数の値のいずれかに一致する場合、対応するマップデータの出力変数の値を演算結果とし、一致しない場合、マップデータに含まれる複数の出力変数の値の補間によって得られる値を演算結果とする処理とすればよい。
【００２８】
加算処理Ｍ４２（ｋ）は、フィードバック操作量ＭＦＢ（ｋ）とフィードフォワード操作量ＭＦＦ（ｋ）とを加算して、第ｋ操作量ＭＶ（ｋ）を算出する処理である。なお、第ｋ操作量ＭＶ（ｋ）は、ｑ軸の電流指令値である。
【００２９】
第１操作信号生成処理Ｍ４４（１）は、第１ステータコイル１４（１）を流れるｑ軸電流が第１操作量ＭＶ（１）の「１／２」となるように、第１インバータ２２（１）の操作信号ＭＳ（１）を算出して出力する処理である。
【００３０】
選択処理Ｍ５０は、第１操作量ＭＶ（１）と第２操作量ＭＶ（２）との２つの操作量のうちのいずれか１つを選択的に第２操作信号生成処理Ｍ４４（２）に出力する処理である。
【００３１】
第２操作信号生成処理Ｍ４４（２）は、原則、第２ステータコイル１４（２）を流れるｑ軸電流が選択処理Ｍ５０の出力の「１／２」となるように、第２インバータ２２（２）の操作信号ＭＳ（２）を算出して出力する処理である。
【００３２】
本実施形態では、図２の処理を基本としつつ、図３に示す処理を実行することにより、適宜、図２の処理を変更する。
図３（ａ）は、ＲＯＭ３４（１）に記憶されたプログラムをＣＰＵ３２（１）がたとえば所定周期で繰り返し実行することにより実現される処理である。図３（ｂ）は、ＲＯＭ３４（２）に記憶されたプログラムをＣＰＵ３２（２）がたとえば所定周期で繰り返し実行することにより実現される処理である。以下、先頭に「Ｓ」が付与された数字によって、各処理のステップ番号を表現する。なお、以下では、いくつかのシチュエーション別に、図３の処理を説明する。
【００３３】
ケース１．正常時
図３（ａ）に示す一連の処理において、ＣＰＵ３２（１）は、まず第１マイコン３０（１）と第２マイコン３０（２）との間の通信が正常であるか否かを判定する（Ｓ１０）。ここでは、たとえば通信線４２を介して第１マイコン３０（１）および第２マイコン３０（２）で周期的に決まったデータのやり取りをすることとし、そのデータのやり取りができない場合に、異常と判定すればよい。
【００３４】
ＣＰＵ３２（１）は、通信が正常であると判定する場合（Ｓ１０：ＹＥＳ）、第１マイコン３０（１）が第１インバータ２２（１）を操作することによって第１ステータコイル１４（１）に流れる電流を制御することが不可であるか否かを判定する（Ｓ１２）。ＣＰＵ３２（１）は、第１角度センサ４０（１）に異常が生じている場合や、第１ステータコイル１４（１）や第１インバータ２２（１）の温度が規定温度以上である場合等に、制御が不可であると判定する。ここで、第１角度センサ４０（１）の異常については、たとえば第１角度センサ４０（１）の出力信号が、接地電位またはバッテリ５２の端子電位に固定されている場合などに、異常があると判定すればよい。また、第１ステータコイル１４（１）や第１インバータ２２（１）の温度が規定温度以上であるか否かは、電流ｉｕ（１），ｉｖ（１），ｉｗ（１）の履歴等に基づき判定すればよい。
【００３５】
ＣＰＵ３２（１）は、第１ステータコイル１４（１）に流れる電流を制御することが可能であると判定する場合（Ｓ１２：ＮＯ）、第１操作量ＭＶ（１）を通信線４２を介して第２マイコン３０（２）に出力する（Ｓ１４）。なお、ＣＰＵ３２（１）は、Ｓ１４の処理を完了する場合、図３（ａ）に示す一連の処理を一旦終了する。
【００３６】
一方、図３（ｂ）に示すように、ＣＰＵ３２（２）は、第１マイコン３０（１）による第１ステータコイル１４（１）を流れる電流の制御が停止しているか否かを判定する（Ｓ２０）。ＣＰＵ３２（２）は、第１マイコン３０（１）が動作している場合（Ｓ２０：ＮＯ）、積分処理Ｍ２８（２）を停止させる（Ｓ２２）。詳しくは、積分処理Ｍ２８（２）が保持する値を初期値である「０」に固定する。これにより、フィードバック操作量ＭＦＢ（２）は、比例要素Ｍ２４（２）の出力値および微分処理Ｍ３２（２）の出力値との和となり、第２操作量ＭＶ（２）は、同フィードバック操作量ＭＦＢ（２）とフィードフォワード操作量ＭＦＦ（２）との和となる。
【００３７】
そしてＣＰＵ３２（２）は、第１マイコン３０（１）と第２マイコン３０（２）との間の通信が正常であるか否かを判定する（Ｓ２４）。そしてＣＰＵ３２（２）は、正常であると判定する場合（Ｓ２４：ＹＥＳ）、図３（ａ）のＳ１４の処理によって出力された第１操作量ＭＶ（１）を取得する（Ｓ２６）。そしてＣＰＵ３２（２）は、第１操作量ＭＶ（１）と第２操作量ＭＶ（２）との差の絶対値が規定値Ｍｔｈ未満であるか否かを判定する（Ｓ２８）。この処理は、回転角度θｐ（ｋ）の目標角度θｐ＊への制御が正常になされているか否かを判定する処理である。すなわち、第２操作量ＭＶ（２）および第１操作量ＭＶ（１）の差は、フィードバック操作量ＭＦＢ（１），ＭＦＢ（２）同士の差であるが、それらの差は非常に小さいと考えられる。
【００３８】
すなわち、フィードバック操作量ＭＦＢ（１），ＭＦＢ（２）同士に差が生じる第１の要因は、積分処理Ｍ２８（２）の出力値がゼロとなっていることである。積分処理Ｍ２８（１）の出力値は、フィードフォワード操作量ＭＦＦ（１）による制御の誤差を補償する値となることから、その絶対値はさほど大きくならない。フィードバック操作量ＭＦＢ（１），ＭＦＢ（２）同士に差が生じる第２の要因は、第１角度センサ４０（１）によって検出される回転角度θｍ（１）および第２角度センサ４０（２）によって検出される回転角度θｍ（２）の差に起因した比例要素Ｍ２４（１），Ｍ２４（２）同士の差および微分処理Ｍ３２（１），Ｍ３２（２）同士の差である。しかし、回転角度θｍ（１），θｍ（２）同士の差の絶対値が非常に小さいことから、比例要素Ｍ２４（１），Ｍ２４（２）同士の差の絶対値および微分処理Ｍ３２（１），Ｍ３２（２）同士の差の絶対値も小さい。
【００３９】
ＣＰＵ３２（２）は、第１操作量ＭＶ（１）と第２操作量ＭＶ（２）との差の絶対値が規定値Ｍｔｈ未満であると判定する場合（Ｓ２８：ＹＥＳ）、制御が正常になされていると考えられることから、選択処理Ｍ５０として、第１操作量ＭＶ（１）を採用する（Ｓ３０）。これにより、第２操作信号生成処理Ｍ４４（２）によって、第２ステータコイル１４（２）に流れるｑ軸電流が第１操作量ＭＶ（１）の「１／２」となるように、第２インバータ２２（２）を操作する操作信号ＭＳ（２）が生成されて出力される。なお、ＣＰＵ３２（２）は、Ｓ３０の処理を完了する場合、図３（ｂ）に示す一連の処理を一旦終了する。
【００４０】
ケース２．マイコン間通信正常且つ第１マイコン３０（１）の制御異常
この場合、図３（ａ）に示すように、ＣＰＵ３２（１）は、Ｓ１２の処理において肯定判定することから、第１マイコン３０（１）による制御ができない旨、通信線４２を介して第２マイコン３０（２）に通知する（Ｓ１６）。そしてＣＰＵ３２（１）は、周辺回路３８（１）等を通じて、リレー２４（１），２６（１）を開状態に切り替える（Ｓ１８）。なお、ＣＰＵ３２（１）は、Ｓ１８の処理を完了する場合、図３（ａ）に示す一連の処理を一旦終了する。
【００４１】
この場合、図３（ｂ）に示すように、ＣＰＵ３２（２）は、第１マイコン３０（１）による第１ステータコイル１４（１）を流れる電流の制御が停止したと判定し（Ｓ２０：ＹＥＳ）、積分処理Ｍ２８（２）を動作させることにより、積分要素（Ｉ項）に基づく第２操作量ＭＶ（２）の算出処理を実行する（Ｓ３２）。
【００４２】
そしてＣＰＵ３２（２）は、選択処理Ｍ５０として、第２操作量ＭＶ（２）を採用する（Ｓ３４）。なお、この場合、第２操作信号生成処理Ｍ４４（２）によって、第２ステータコイル１４（２）に流れるｑ軸電流が第２操作量ＭＶ（２）となるように、第２インバータ２２（２）を操作する操作信号ＭＳ（２）が生成されて出力される。すなわち、第１ステータコイル１４（１）への通電がなされないことから、回転角度θｐ（２）を目標角度θｐ＊に制御するうえでは、第２ステータコイル１４（２）に流すｑ軸電流を、第２操作量ＭＶ（２）とする必要がある。ちなみに、ＣＰＵ３２（２）は、Ｓ３４の処理を完了する場合、図３（ｂ）に示す一連の処理を一旦終了する。
【００４３】
ケース３．マイコン間通信正常且つ、制御に異常が生じている場合
ここでは、図３（ａ）のＳ１４の処理がなされる場合を想定している。この場合、図３（ｂ）に示すＳ２８の処理において、ＣＰＵ３２（２）は、否定判定し、Ｓ３４の処理に移行する。これにより、第２操作信号生成処理Ｍ４４（２）によって、第２ステータコイル１４（２）に流れるｑ軸電流が第２操作量ＭＶ（２）の「１／２」となるように、第２インバータ２２（２）を操作する操作信号ＭＳ（２）が生成されて出力される。
【００４４】
ケース４．マイコン間通信異常
この場合、図３（ａ）に示すように、ＣＰＵ３２（１）は、マイコン間通信に異常が生じていると判定し（Ｓ１０：ＮＯ）、図３（ａ）に示す一連の処理を一旦終了する。
【００４５】
この場合、ＣＰＵ３２（２）は、図３（ｂ）に示すＳ２４の処理において否定判定し、Ｓ３４の処理に移行する。これにより、第２操作信号生成処理Ｍ４４（２）によって、第２ステータコイル１４（２）に流れるｑ軸電流が第２操作量ＭＶ（２）の「１／２」となるように、第２インバータ２２（２）を操作する操作信号ＭＳ（２）が生成されて出力される。
【００４６】
次に、車両が直進走行するときの回転角度θｐ（ｋ）である基準角度をゼロとするための処理について説明する。
図４に、本実施形態にかかる基準角度の学習処理の手順を示す。図４（ａ）に示す処理は、ＲＯＭ３４（ｋ）に記憶されたプログラムをＣＰＵ３２（ｋ）がたとえば所定周期で繰り返し実行することにより実現される。また、図４（ｂ）に示す処理は、ＲＯＭ６４に記憶されたプログラムをＣＰＵ６２がたとえば所定周期で繰り返し実行することにより実現される。
【００４７】
図４（ａ）に示す一連の処理において、ＣＰＵ３２（ｋ）は、まず、目標角度θｐ＊を受信したか否かを判定する（Ｓ４０）。そしてＣＰＵ３２（ｋ）は、受信していないと判定する場合（Ｓ４０：ＮＯ）、回転角度θｐ（ｋ）を通信線５０を介して上位ＥＣＵ６０へと出力する（Ｓ４２）。
【００４８】
一方、図４（ｂ）に示す一連の処理において、ＣＰＵ６２は、まず、フラグＦが「１」であるか否かを判定する（Ｓ６０）。フラグＦは、「１」である場合に基準角度の学習が終わり、自動操舵処理を実行してよい旨を示し、「０」である場合にはそうではないことを示す。ＣＰＵ６２は、フラグＦが「０」であると判定する場合（Ｓ６０：ＮＯ）、第１マイコン３０（１）から回転角度θｐ（１）を受信するとともに、第２マイコン３０（２）から回転角度θｐ（２）を受信する（Ｓ６２）。次にＣＰＵ６２は、車両の走行状態が直進状態であるか否かを判定する（Ｓ６４）。ここで、ＣＰＵ６２は、ヨーレートγや横加速度ａｙ等に基づき、直進状態か否かを判定する。
【００４９】
ＣＰＵ６２は、直進判定をする場合（Ｓ６４：ＹＥＳ）、Ｓ６２の処理によって受信した回転角度θｐ（１）を基準角度θｐｒ０（１）に代入して且つ回転角度θｐ（２）を基準角度θｐｒ０（２）に代入する（Ｓ６６）。次にＣＰＵ６２は、基準角度θｐｒ０（１）を基準角度θｐｒ（１）に代入するとともに基準角度θｐｒ０（２）を基準角度θｐｒ（２）に代入する（Ｓ６８）。次にＣＰＵ６２は、基準角度θｐｒ（１）を、通信線５０を介して第１マイコン３０（１）に出力するとともに、基準角度θｐｒ（２）を、通信線５０を介して第２マイコン３０（２）に出力する（Ｓ７０）。
【００５０】
これに対し、図４（ａ）に示すように、ＣＰＵ３２（ｋ）は、基準角度θｐｒ（ｋ）を受信するまで待機し（Ｓ４４：ＮＯ）、受信すると（Ｓ４４：ＹＥＳ）、基準角度θｐｒ（ｋ）を記憶装置３６（ｋ）に記憶する（Ｓ４６）。そしてＣＰＵ３２（ｋ）は、記憶した基準角度θｐｒ（ｋ）と同一の値を、通信線５０を介して上位ＥＣＵ６０に出力する（Ｓ４８）。
【００５１】
これに対し、図４（ｂ）に示すように、ＣＰＵ６２は、基準角度θｐｒ（１），θｐｒ（２）を受信するまで待機する（Ｓ７２：ＮＯ）。そしてＣＰＵ６２は、受信すると（Ｓ７２：ＹＥＳ）、受信した基準角度θｐｒ（１）が基準角度θｐｒ０（１）に一致することと受信した基準角度θｐｒ（２）が基準角度θｐｒ０（２）に一致することとの論理積が真であるか否かを判定する（Ｓ７４）。そしてＣＰＵ６２は、論理積が真であると判定する場合（Ｓ７４：ＹＥＳ）、フラグＦに「１」を代入する（Ｓ７６）。
【００５２】
これにより、ＣＰＵ６２は、フラグＦが「１」であると判定する場合（Ｓ６０：ＹＥＳ）、自動運転スイッチ７４の操作状態に基づき、自動運転要求があるか否かを判定する（Ｓ７８）。そしてＣＰＵ６２は、自動運転要求があると判定する場合（Ｓ７８：ＹＥＳ）、目標角度θｐ＊を算出し、通信線５０を介して第１マイコン３０（１）および第２マイコン３０（２）に出力する（Ｓ８０）。ここで、第１マイコン３０（１）に出力する目標角度θｐ＊と第２マイコン３０（２）に出力する目標角度θｐ＊とは同一の角度である。
【００５３】
これに対し、図４（ａ）に示すように、ＣＰＵ３２（ｋ）は、目標角度θｐ＊を受信すると（Ｓ４０：ＹＥＳ）、記憶装置３６（ｋ）に記憶されている基準角度θｐｒ（ｋ）を読み出す（Ｓ５０）。そしてＣＰＵ３２（ｋ）は、回転角度θｐ（ｋ）から基準角度θｐｒ（ｋ）を減算した値を、フィードバック操作量算出処理Ｍ２０（ｋ）の入力となる回転角度θｐ（ｋ）に代入する（Ｓ５２）。
【００５４】
なお、ＣＰＵ３２（ｋ）は、Ｓ４８，Ｓ５２の処理が完了する場合や、Ｓ４４の処理において否定判定する場合には、図４（ａ）に示す一連の処理を一旦終了する。一方、ＣＰＵ６２は、Ｓ７６，Ｓ８０の処理が完了する場合や、Ｓ６４，Ｓ７２，Ｓ７４，Ｓ７８の処理において否定判定する場合には、図４（ｂ）に示す一連の処理を一旦終了する。
【００５５】
ここで、本実施形態の作用および効果について説明する。
ＣＰＵ３２（ｋ）は、基準角度θｐｒ（ｋ）の学習前において都度算出される回転角度θｐ（ｋ）を上位ＥＣＵ６０に逐次出力する。ＣＰＵ６２は、車両が直進走行している場合、第ｋマイコン３０（ｋ）から出力された回転角度θｐ（ｋ）が基準角度に対応すると判断し、基準角度θｐｒ（ｋ）、θｐｒ０（ｋ）に回転角度θｐ（ｋ）を代入する。そしてＣＰＵ６２は、基準角度θｐｒ（ｋ）を第ｋマイコン３０（ｋ）に出力する。これにより、第ｋマイコン３０（１）において基準角度θｐｒ（１）を把握できるとともに、第２マイコン３０（２）において基準角度θｐｒ（２）を把握できる。このように、第１マイコン３０（１）と第２マイコン３０（２）とが、各別に基準角度を把握できることから、第１マイコン３０（１）が制御に利用する角度と第２マイコン３０（２）が制御に利用する角度との差を低減できる。
【００５６】
以上説明した本実施形態によれば、さらに以下に記載する作用効果が得られる。
（１）ＣＰＵ３２（ｋ）は、基準角度θｐｒ（ｋ）を受信すると、これを上位ＥＣＵ６０に出力した。そして、ＣＰＵ６２は、第１マイコン３０（１）が出力した基準角度θｐｒ（ｋ）と基準角度θｐｒ０（１）とが等しく且つ、第２マイコン３０（２）が出力した基準角度θｐｒ（ｋ）と基準角度θｐｒ０（２）とが等しい場合に、自動操舵を許可した。これにより、第１マイコン３０（１）、第２マイコン３０（２）がそれぞれ正しい角度を把握していることが確認できた後に自動操舵を行うことができる。
【００５７】
（２）正常時、ＣＰＵ３２（１）は、回転角度θｐ（１）を目標角度θｐ＊に制御するための第１操作量ＭＶ（１）を算出し、第１ステータコイル１４（１）に流れるｑ軸電流が第１操作量ＭＶ（１）の「１／２」となるように、第１インバータ２２（１）を操作する。一方、ＣＰＵ３２（２）は、第２ステータコイル１４（２）に流れるｑ軸電流が第１操作量ＭＶ（１）の「１／２」となるように、第２インバータ２２（２）を操作する。このため、第２ステータコイル１４（２）を流れるｑ軸電流を、積分処理Ｍ２８（２）を動作させたときの第２操作量ＭＶ（２）とする場合と比較すると、転舵輪の転舵角の制御に干渉が生じることを抑制できる。
【００５８】
すなわち、ＣＰＵ３２（１）によってＳ５２の処理によって補正された回転角度θｐ（１）が目標角度θｐ＊に制御されることにより、Ｓ８０の処理によって出力される目標角度θｐ＊が基準角度である場合、ＣＰＵ３２（１）は、実際の角度を基準角度に制御する。また、ＣＰＵ３２（２）によってＳ５２の処理によって補正された回転角度θｐ（２）が目標角度θｐ＊に制御されることにより、Ｓ８０の処理によって出力される目標角度θｐ＊が基準角度である場合、ＣＰＵ３２（２）は、実際の角度を基準角度に制御する。したがって、Ｓ８０の処理によって出力される目標角度θｐ＊が基準角度である場合、ＣＰＵ３２（１）とＣＰＵ３２（２）とは、転舵角を基準角度に制御する。ただし、目標角度θｐ＊が基準角度または基準角度から所定角度の整数倍だけ離間した角度である場合以外では、ロータ１２のゆがみに起因して、ＣＰＵ３２（１）とＣＰＵ３２（２）とで、転舵角を互いに異なる角度に制御しようとするおそれがある。これは、目標角度θｐ＊が基準角度等ではない場合、ＣＰＵ３２（１）によってＳ５２の処理によって補正された回転角度θｐ（１）に対応する実際の転舵角と、ＣＰＵ３２（２）によってＳ５２の処理によって補正された回転角度θｐ（２）に対応する実際の転舵角とが、ロータ１２のゆがみに起因して異なるおそれがあるためである。ここで、積分処理Ｍ２８（１）の出力値は、ＣＰＵ３２（１）によるＳ５２の処理によって補正された回転角度θｐ（１）と目標角度θｐ＊との定常偏差を解消するための値となり、積分処理Ｍ２８（２）の出力値は、ＣＰＵ３２（２）によるＳ５２の処理によって補正された回転角度θｐ（２）と目標角度θｐ＊との定常偏差を解消するための値となる。そのため、ＣＰＵ３２（１）によってＳ５２の処理によって補正された回転角度θｐ（１）に対応する実際の転舵角と、ＣＰＵ３２（２）によってＳ５２の処理によって補正された回転角度θｐ（２）に対応する実際の転舵角とが異なる場合、制御に干渉が生じる。
【００５９】
（３）第１マイコン３０（１）自身では、異常の要因を特定できない制御の異常が生じる場合、ＣＰＵ３２（２）は、第１操作量ＭＶ（１）と第２操作量ＭＶ（２）との差の絶対値が規定値Ｍｔｈ以上となることから異常を検知する。そしてその場合、ＣＰＵ３２（２）は、第２インバータ２２（２）の操作に第２操作量ＭＶ（２）を用いる。これにより、第１操作量ＭＶ（１）に異常が生じる場合であっても第２インバータ２２（２）の操作に第１操作量ＭＶ（１）を用いる場合と比較すると、目標角度θｐ＊への制御に対する第１操作量ＭＶ（１）の寄与を低減できる。しかも、この場合、ＣＰＵ３２（２）は、積分処理Ｍ２８（２）を停止したまま第２操作量ＭＶ（２）を算出することから、積分処理Ｍ２８（１），Ｍ２８（２）の出力値が、互いに異なる定常偏差を解消する値となることによる制御の干渉を回避できる。
【００６０】
（４）第１マイコン３０（１）および第２マイコン３０（２）間の通信に異常が生じる場合、ＣＰＵ３２（２）は、第２インバータ２２（２）の操作に第２操作量ＭＶ（２）を用いる。これにより、第１ステータコイル１４（１）のｑ軸電流が第１操作量ＭＶ（１）の「１／２」に制御され、第２ステータコイル１４（２）のｑ軸電流が第２操作量ＭＶ（２）の「１／２」に制御されることから、モータ１０のトルクを目標角度θｐ＊への制御にとって適切な値とすることができる。しかも、この場合、ＣＰＵ３２（２）は、積分処理Ｍ２８（２）を停止したまま第２操作量ＭＶ（２）を算出することから、積分処理Ｍ２８（１），Ｍ２８（２）の出力値が、互いに異なる定常偏差を解消する値となることによる制御の干渉を回避できる。
【００６１】
＜対応関係＞
上記実施形態における事項と、上記「課題を解決するための手段」の欄に記載した事項との対応関係は、次の通りである。以下では、「課題を解決するための手段」の欄に記載した解決手段の番号毎に、対応関係を示している。［１，６］変数ｋを「１」または「２」として、第ｋ駆動回路は、第ｋインバータ２２（ｋ）に対応し、第ｋ処理回路は、第ｋマイコン３０（ｋ）に対応する。指令回路は、上位ＥＣＵ６０に対応する。検知処理は、Ｓ６４の処理に対応し、第１通知処理は、Ｓ７０の処理のうち基準角度θｐｒ（１）を出力する処理に対応し、第２通知処理は、Ｓ７０の処理のうち基準角度θｐｒ（２）を出力する処理に対応する。第１補正処理は、Ｓ５２の処理のうちの基準角度θｐｒ（１）にて補正する処理に対応し、第２補正処理は、Ｓ５２の処理のうちの基準角度θｐｒ（２）にて補正する処理に対応する。［２，３］第１出力処理は、ＣＰＵ３２（１）によるＳ４２の処理に対応し、第１照合用処理は、ＣＰＵ３２（１）によるＳ４８の処理に対応する。第２出力処理は、ＣＰＵ３２（２）によるＳ４２の処理に対応し、第２照合用処理は、ＣＰＵ３２（２）によるＳ４８の処理に対応する。第１照合処理は、Ｓ７４の処理において、基準角度θｐｒ０（１）と基準角度θｐｒ（１）とが一致するか否かを判定する処理に対応する。第２照合処理は、Ｓ７４の処理において、基準角度θｐｒ０（２）と基準角度θｐｒ（２）とが一致するか否かを判定する処理に対応する。［４］第ｋ操作量算出処理は、フィードバック操作量算出処理Ｍ２０（ｋ）、フィードフォワード操作量算出処理Ｍ４０（ｋ）および加算処理Ｍ４２（ｋ）に対応する。操作量出力処理は、Ｓ１４の処理に対応する。第１利用操作処理は、Ｓ３０の処理がなされたときにおける第２操作信号生成処理Ｍ４４（２）に対応する。判定処理は、Ｓ２８の処理に対応する。［５］第２利用操作処理は、Ｓ３４の処理がなされたときにおける第２操作信号生成処理Ｍ４４（２）に対応する。
【００６２】
＜その他の実施形態＞
なお、上記実施形態の各事項の少なくとも１つを、以下のように変更してもよい。
・「第ｋ通知処理について」
上記実施形態では、基準角度θｐｒ（ｋ）を第ｋマイコン３０（ｋ）に出力したが、これに限らない。たとえば、Ｓ６４の処理において肯定判定する場合、その旨の信号を第ｋ結果信号として第ｋマイコン３０（ｋ）に出力してもよい。その場合、第ｋマイコン３０（ｋ）では、第ｋ結果信号を受信した時点の回転角度θｐ（ｋ）を基準角度θｐｒ（ｋ）に代入すればよい。ただし、その場合であっても、ＣＰＵ６２がＳ６８の処理を実行して且つ、ＣＰＵ３２（ｋ）が第ｋ結果信号を受信した時点の回転角度θｐ（ｋ）を基準角度θｐｒ（ｋ）に代入した後、この値をＳ４８の処理によって出力することが望ましい。これにより、Ｓ７４の処理を実行することが可能となる。
【００６３】
・「第ｋ出力処理について」
Ｓ４２の処理において、回転角度θｐ（ｋ）とともに、その回転角度θｐ（ｋ）を検知した際の時刻を示すタイムスタンプを出力してもよい。これにより、Ｓ６４の処理において直進判定されたタイミングに一致する回転角度θｐ（ｋ）をＣＰＵ６２においてより高精度に把握できる。
【００６４】
・「第ｋ補正処理について」
上記実施形態では、フィードバック操作量算出処理Ｍ２０（ｋ）の入力となる回転角度θｐ（ｋ）を補正したが、これに限らず、たとえばフィードバック操作量算出処理Ｍ２０（ｋ）の入力となる目標角度θｐ＊を補正してもよい。この場合であっても、Ｓ８０の処理によって出力された目標角度θｐ＊と換算処理Ｍ１２（ｋ）の出力する回転角度θｐ（ｋ）との相対角度を補正することができる。もっとも、補正対象としては、フィードバック操作量算出処理Ｍ２０（ｋ）の入力に限らない。たとえば、フィードフォワード操作量ＭＦＦ（ｋ）を回転角度θｐ（ｋ）に基づき算出する場合、フィードフォワード操作量算出処理Ｍ４０（ｋ）の入力となる回転角度θｐ（ｋ）についても補正対象とすればよい。
【００６５】
・「第ｋ操作量算出処理について」
（ａ）フィードバック操作量ＭＦＢ（ｋ）について
たとえば積分ゲインＫｉを可変としない場合等には、積分要素を、積分処理Ｍ２８（ｋ）の出力値に積分ゲイン乗算処理Ｍ２６（ｋ）によって積分ゲインＫｉを乗算する処理としてもよい。
【００６６】
フィードバック操作量ＭＦＢとしては、比例要素Ｍ２４（ｋ）、積分要素および微分要素の各出力値の和に限らない。たとえば、比例要素および積分要素の２つの出力値の和であってもよく、またたとえば積分要素および微分要素の２つの出力値の和であってもよく、またたとえば積分要素の出力値としてもよい。
【００６７】
（ｂ）フィードフォワード操作量ＭＦＦ（ｋ）について
換算可能角度（目標角度θｐ＊等）に基づくフィードフォワード操作量ＭＦＦ（ｋ）としては、換算可能角度のみからフィードフォワード操作量ＭＦＦ（ｋ）を算出するものに限らない。たとえば、車速に応じてフィードフォワード操作量ＭＦＦ（ｋ）を可変としてもよい。またたとえば、換算可能角度の２階時間微分値に比例係数を乗算した値をさらに加えてもよい。
【００６８】
（ｃ）そのほか
フィードフォワード操作量ＭＦＦ（ｋ）に基づき第ｋ操作量ＭＶ（ｋ）を算出することは必須ではない。
【００６９】
・「換算可能角度について」
上記実施形態では、換算可能角度をステアリングシャフトの角度としたが、これに限らず、たとえばタイヤの切れ角である転舵角自体としてもよい。
【００７０】
・「処理回路について」
上記実施形態では、処理回路を構成するプログラム格納装置として、ＲＯＭを例示し、ＲＯＭがいかなるタイプのものであるかについては触れていなかったが、たとえば書き換え不能なメモリであってもよく、またたとえば、電気的に書き換え可能な不揮発性メモリであってもよい。さらに、プログラム格納装置としては、ＲＯＭに限らない。
【００７１】
処理回路としては、プログラムを格納したプログラム格納装置とプログラムを実行するＣＰＵとを備えたソフトウェア処理回路に限らず、たとえばＡＳＩＣ等の、所定の処理を実行する専用のハードウェア回路であってもよい。
【００７２】
また、処理回路としては、ソフトウェア処理回路と、専用のハードウェア回路とのうちのいずれか一方によって構成されるものに限らず、上記処理の一部をソフトウェア処理回路によって実行し、残りの処理を専用のハードウェア回路によって実行するものであってもよい。
【００７３】
・「制御装置について」
上記実施形態では、第１および第２の２つの系統を有する装置を例示したが、これに限らない。たとえばさらに第３の系統を備える等、ステータコイル、駆動回路および処理回路を３つ以上ずつ備えるものとしてもよい。ただし、その場合、いずれか１つをメインとし残りをサブとすることが望ましい。
【００７４】
・「モータおよび駆動回路について」
モータとしては、ＳＰＭＳＭに限らず、埋込磁石同期電動機（ＩＰＭＳＭ）であってもよい。なお、ＩＰＭＳＭの場合、第ｋ操作量ＭＶ（ｋ）をトルク指令値とし、第ｋ操作信号生成処理Ｍ４４（ｋ）において、トルク指令値をｄ軸の電流指令値とｑ軸の電流指令値とに変換することが望ましい。また、モータとしては、同期電動機に限らず、誘導機であってもよい。さらに、ブラシレス電動機に限らず、ブラシ付き直流モータであってもよい。
【００７５】
上記実施形態では、駆動回路として３相インバータを例示したが、これに限らない。たとえばモータとして直流モータを用いる場合、駆動回路としてＨブリッジ回路を用いてもよい。
【００７６】
・「そのほか」
リレー２６（１），２６（２）を備えることや、Ｓ１８の処理において、リレー２６（１）をオフすることは必須ではない。また、Ｓ１８の処理において、リレー２６（１）をオフとしつつも、リレー２４（１）をオフとしないこととしてもよい。
【符号の説明】
【００７７】
１０…モータ、１２…ロータ、１４（１）…第１ステータコイル、１４（２）…第２ステータコイル、２０…制御装置、２２（１）…第１インバータ、２２（２）…第２インバータ、２４（１），２４（２）…リレー、３０（１）…第１マイコン、３０（２）…第２マイコン、３２（１），３２（２）…ＣＰＵ、３４（１），３４（９）…ＲＯＭ、３６（１），３６（２）…記憶装置、３８（１），３８（２）…周辺回路、３９…ローカルネットワーク、４０（１）…第１角度センサ、４０（２）…第２角度センサ、４２，５０…通信線、５２…バッテリ、６０…上位ＥＣＵ、６２…ＣＰＵ、６４…ＲＯＭ、６６…周辺回路、６８…ローカルネットワーク、７０…ヨーレートセンサ、７２…横加速度センサ、７４…自動運転スイッチ。
【図１】
2020175820.tif 000003
【図２】
2020175820.tif 000004
【図３】
2020175820.tif 000005
【図４】
2020175820.tif 000006