(57)【要約】【課題】システムの変動の抑制を実現しつつマスタサブシステムの変更ができる。【解決手段】車両の操舵システムは、複数のサブシステムＳＵＢａ〜ＳＵＢｃの誤作動履歴に基づき当該複数のサブシステムＳＵＢａ〜ＳＵＢｃのうちから一のマスタサブシステムを選定するとともに、マスタサブシステムが、目標トルクに基づいて各サブシステムＳＵＢａ〜ＳＵＢｃに指令情報（制御用電流指令値）を出力して、各サブシステムＳＵＢａ〜ＳＵＢｃが、指令情報に基づいて転舵軸モータ１１ａ〜１１ｃを制御する。【選択図】図２
2006069308.tif 000002
【特許請求の範囲】
【請求項１】
操舵機構の操舵量に応じて当該操舵機構と機械的に分離された転舵機構を駆動制御する転舵装置と、前記転舵機構の転舵に伴う反力を前記操舵機構に付与する反力装置とを備え、前記転舵装置及び前記反力装置の少なくとも何れか一方は、前記転舵機構又は前記操舵機構にトルクを付与するトルク発生手段を有しかつ当該トルク発生手段のトルク発生量を制御する制御ユニットを複数備えて構成され、さらに前記転舵機構又は操舵機構に付与すべき目標トルクを前記複数の制御ユニットで発生するようにした車両の操舵装置であって、
前記複数の制御ユニットの誤作動履歴に基づき当該複数の制御ユニットのうちから一の代表制御ユニットを選定するとともに、前記代表制御ユニットは、前記目標トルクに基づいて各制御ユニットに指令情報を出力して、各制御ユニットは、前記指令情報に基づいて前記トルク発生手段を制御することを特徴とする車両の操舵装置。
【請求項２】
前記複数の制御ユニットの誤作動履歴を取得する誤作動履歴取得手段と、前記誤作動履歴取得手段が取得した誤作動履歴に基づいて、前記複数の制御ユニットについて代表制御ユニットとして選定される優先度を決定する優先度決定手段とを備えており、
前記優先度決定手段が決定した優先度に基づいて、前記複数の制御ユニットのうちから一の代表制御ユニットを選定することを特徴とする請求項１記載の車両の操舵装置。
【請求項３】
前記誤作動履歴は、前記制御ユニットが誤作動を発生する度に更新されることを特徴とする請求項１又は２に記載の車両の操舵装置。
【請求項４】
前記複数の制御ユニットのうちで誤作動回数が最も少ない制御ユニットを前記代表制御ユニットとして選定することを特徴とする請求項１乃至３のいずれか一に記載の車両の操舵装置。
【請求項５】
前記制御ユニットの誤作動内容に基づいて前記代表制御ユニットの選定をすることを特徴とする請求項１乃至４のいずれか一に記載の車両の操舵装置。
【請求項６】
前記制御ユニットの誤作動が発生することで装置の動作への影響が大きくなるほど、当該制御ユニットを前記代表制御ユニットとして選定し難くすることを特徴とする請求項５記載の車両の操舵装置。
【請求項７】
前記制御ユニットの誤作動の発生時期が最近のものであるほど、当該制御ユニットを前記代表制御ユニットとして選定し難くすることを特徴とする請求項１乃至６のいずれか一に記載の車両の操舵装置。
【請求項８】
前記制御ユニットの誤作動が前記転舵機構又は前記操舵機構の角度制御への影響度合いが大きいほど、当該制御ユニットを前記代表制御ユニットとして選定し難くすることを特徴とする請求項１乃至７のいずれか一に記載の車両の操舵装置。
【請求項９】
前記代表制御ユニットが前記各制御ユニットに出力する指令情報は、前記代表制御ユニットが前記目標トルクに基づいて当該制御ユニット毎に発生すべきトルクに応じた電流指令値であり、各制御ユニットは、前記電流指令値に基づいて前記トルク発生手段を制御することを特徴とする請求項１乃至８のいずれか一に記載の車両の操舵装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ステアリングホイールの操作に応じてアクチュエータにより転舵を行うようにした車両の操舵装置に関する。
【背景技術】
【０００２】
従来、運転者が操舵するステアリングホイールと転舵輪の転舵機構とが機械的に切り離され、エンコーダ等の検出器によりステアリングホイールの操舵角を検出し、この操舵角検出値に応じて、アクチュエータにより車輪を転舵する操舵装置として、ステアバイワイヤ式の操舵装置が知られている。
この種の操舵装置では、例えばラックアンドピニオン機構等で構成される転舵機構を駆動するための転舵軸モータとこの転舵軸モータを駆動する転舵コントローラとからなるサブシステムが、複数、例えば２つ設けられて構成されている。そして、各サブシステムでは、当該サブシステム毎に設けられた角度センサにより転舵軸の変位量を検出し、この変位量と、上位コントローラからの目標転舵角指令値とに基づいて、サブシステム毎に制御量を算出し、これに基づいて転舵軸モータを駆動するようになっている（例えば非特許文献１参照）。
【０００３】
しかし、このような冗長構成となるステアバイワイヤ式の操舵装置では、各サブシステムで制御する転舵軸モータが相互に干渉し合い、互いに逆方向に駆動トルクを発生させる恐れがある。
その問題を解決するために、特許文献１に記載の技術では、静的に決められた優先順位（マスタ優先度）に基づいて、１つのサブシステムをマスタサブシステムに設定し、さらにその残りのサブシステムをスレーブサブシステムに設定して、サブシステムがマスタサブシステム又はスレーブサブシステムとして動作することで、アクチュエータを駆動させている。そして、このような構成において、マスタサブシステムが転舵用電流指令値を自サブシステムを含めてスレーブサブシステムに対して分配することで、各サブシステムで制御する転舵軸モータの相互干渉の抑制を可能にしている。
【０００４】
【非特許文献１】「エックスバイワイヤ・デービー６／６−２４（ＸＢｙＷｉｒｅ−ＤＢ−６／６−２４）」，第２．０．０版，エックスバイワイヤ・コンソーシアム（Ｘ−Ｂｙ−Ｗｉｒｅ  Ｃｏｎｓｏｒｔｉｕｍ），１９９８年１１月２６日，ｐ．４３−５０
【特許文献１】特開２００４−１４２７３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
前記特許文献１に記載の技術では、動作中のマスタサブシステムが異常を検出した場合、前記優先順位に従って、スレーブサブシステムとして動作していたサブシステムがマスタサブシステムに切り替わり、その新たにマスタサブシステムになったサブシステムが転舵用電流指令値をスレーブサブシステムに分配するようになる。
なお、故障が発生しても修理されない限り、当該故障したサブシステムはシステムに復帰することはない。また、一般的には、各サブシステムは故障に対する信頼性が設計上で同一であるから、各サブシステムが故障する確率は略同じになる。
【０００６】
ここで、前述したようにマスタサブシステムを変更すると、今までスレーブサブシステムとして動作していたサブシステムがマスタサブシステムになるため、その切り替わるまでの時間がかかること、また演算処理で算出する各種内部変数に誤差が生じることが予想される。しかし、切り替わるまで時間がかかったり、各種内部変数に誤差が生じたりしてしまうと、少なからずシステム変動が発生してしまう。しかしながら、マスタサブシステム変更時に各種内部変数の誤差発生等をなくすこと、すなわちシステム変動をなくすことは困難である。このようなことから、システム変動をなくすには、マスタサブシステムの変更をしない、又は極力回数を少なくした方が良い。
【０００７】
また、電磁ノイズ等により発生するサブシステムの誤作動については、その設置場所、環境、性能のバラツキにより発生する確率が異なってくる。さらに、そのような誤作動は、一時的な異常であるから、誤作動したサブシステムは、自身による自己診断結果、正常と判断すればシステムに復帰することもある。よって、前述したように静的に決められた優先順位でマスタサブシステムを決定すると、その優先順位が最も高いことで、あるサブシステムが、誤作動が多いのにもかかわらず、システムに復帰する度に再びマスタサブシステムに選定されるようになる。これでは、マスタサブシステム変更の頻度が増加してしまい、前述したようなシステム変動が頻発してしまう。
本発明は、前記問題に鑑みてなされたものであり、システムの変動の抑制を実現しつつマスタサブシステムの変更ができる車両の操舵装置の提供を目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る車両の操舵装置は、操舵機構の操舵量に応じて当該操舵機構と機械的に分離された転舵機構を駆動制御する転舵装置と、前記転舵機構の転舵に伴う反力を前記操舵機構に付与する反力装置とを備え、前記転舵装置及び前記反力装置の少なくとも何れか一方は、前記転舵機構又は前記操舵機構にトルクを付与するトルク発生手段を有しかつ当該トルク発生手段のトルク発生量を制御する制御ユニットを複数備えて構成され、さらに前記転舵機構又は操舵機構に付与すべき目標トルクを前記複数の制御ユニットで発生するようにした車両の操舵装置である。
【０００９】
この車両の操舵装置では、前記複数の制御ユニットの誤作動履歴に基づき当該複数の制御ユニットのうちから一の代表制御ユニットを選定するとともに、前記代表制御ユニットが、前記目標トルクに基づいて各制御ユニットに指令情報を出力して、各制御ユニットが、前記指令情報に基づいて前記トルク発生手段を制御する。
ここで、指令情報に基づいてトルク発生手段を制御する制御ユニットには、代表制御ユニットも含まれるものとする。
【発明の効果】
【００１０】
本発明によれば、誤作動履歴に基づいて代表制御ユニットを選定することで、誤作動が少ない制御ユニットを代表制御ユニットとして選定できるようになり、この結果、代表制御ユニットの変更回数を抑えることができ、システムの変動を抑制することができる。
【発明を実施するための最良の形態】
【００１１】
本発明を実施するための最良の形態（以下、実施形態という。）を図面を参照しながら詳細に説明する。
本実施形態は、本発明を適用した車両の操舵システムである。図１は、その操舵システムの構成の概略構成図である。
図中、１０は、ステアリングホイール１とは機械的に切り離された転舵装置、５０は、ステアリングホイール１に対して操舵反力を付与するための反力装置である。
【００１２】
この反力装置５０は、公知の反力装置と同等に構成され、例えば転舵装置１０における転舵軸の変位量及び図示しない車速検出手段によって検出した車速等に基づいて上位コントローラ６０で算出された、転舵トルクに応じた目標反力トルクに基づいて、図示しない反力発生モータを駆動し、転舵トルクに見合った目標反力トルクをステアリングホイール１の回転中心部に取り付けられたコラムシャフト３に付与する。これによって、運転者に対し、操舵量に応じた操舵反力を与えている。
【００１３】
一方、転舵装置１０は、図２に示すように、例えばラックアンドピニオン機構で構成される転舵機構５のピニオンを駆動するための転舵軸モータを駆動する制御ユニットとしての３つのサブシステム（第１乃至第３サブシステム）ＳＵＢａ〜ＳＵＢｃで構成されている。そして、これら第１乃至第３サブシステムＳＵＢａ〜ＳＵＢｃは同一構成を有し、通信バス４０を介して接続され、他のサブシステム及び上位コントローラ６０との間で信号の授受を行っている。
【００１４】
第１サブシステムＳＵＢａは、転舵機構５を駆動するための転舵軸モータ１１ａと、この転舵軸モータ１１ａを駆動するためのモータドライバ１２ａと、転舵機構５の動作による図示しない転舵軸の転舵角度及び転舵角速度を検出する角度センサ１３ａと、転舵軸モータ１１ａへの供給電流を検出する電流センサ１４ａと、角度センサ１３ａの検出信号及び上位コントローラ６０からの目標転舵角指令値、又は他のサブシステムからの転舵角度の制御指令値と、電流センサ１４ａの検出信号とに基づいて転舵軸モータ１１ａへの電流指令値を算出し、これをモータドライバ１２ａに出力する下位コントローラ（例えば転舵軸角度コントローラともいう。）２０ａとを備えている。
【００１５】
なお、転舵軸モータ１１ａと転舵機構５との間には、図示しないクラッチ機構が設けられている。これにより、クラッチ機構を遮断状態にすることで、転舵軸モータ１１ａと転舵機構５との間の動力の伝達経路を遮断可能としている。これにより、第１サブシステムＳＵＢａは、当該第１サブシステムＳＵＢａの構成部位の異常、例えば転舵軸モータ１１ａの異常や下位コントローラ２０ａの異常を検出したときに、転舵軸モータ１１ａの駆動を停止するとともに、クラッチ機構を遮断状態に制御するようになっている。
【００１６】
下位コントローラ２０ａは、角度制御演算器２１ａと、電流制御演算器２２ａと、誤作動カウント処理部２３ａと、マスタ優先度判定部２４ａと、自己診断処理部２５ａとを備えている。
角度制御演算器２１ａは、角度センサ１３ａで検出した転舵軸の転舵角度及び転舵角速度、上位コントローラ６０からの目標転舵角度指令値、他のサブシステムが正常動作しているか否かといった稼動状態、及び、予めサブシステムＳＵＢａ〜ＳＵＢｃに対して設定された優先順位（マスタ優先度）に基づいて処理を行っている。これにより、角度制御演算器２１ａは、サブシステムＳＵＢａ〜ＳＵＢｃのうち、自サブシステムの優先順位が最も高いときには、前記各種情報に基づいて転舵角度の制御量を算出するとともに、これを転舵角度の制御指令値として通信バス４０を介して他のサブシステムに通知する。
【００１７】
電流制御演算器２２ａは、角度制御演算器２１ａで算出された転舵角度の制御量又は通信バス４０を介して他のサブシステムから通知された転舵角度の制御指令値と、電流センサ１４ａの検出信号とに基づいて電流制御を行う。
誤作動カウント処理部２３ａは、例えば自サブシステムの誤作動回数を計数し、それにより得た誤作動カウント値（回数）を保持するように構成されている。この処理については、後で詳しく説明する。
【００１８】
マスタ優先度判定部２４ａは、マスタ優先度を決定するとともに、その決定したマスタ優先度に基づいてサブシステムＳＵＢａ〜ＳＵＢｃのうち、代表制御ユニットとされるマスタとなるもの（以下、マスタサブシステムという。）とスレーブとなるもの（以下、スレーブサブシステムという。）とを認識する。ここで、マスタ優先度は、工場出荷時において初期設定されており、処理を開始した後では、誤作動カウント処理部２３ａで得た誤作動カウント値に基づいてマスタ優先度判定部２４ａにより決定される。
【００１９】
自己診断処理部２５ａは、自己診断処理を実施して、自サブシステムの構成部位の異常を検出するように構成されている。そして、自己診断処理部２５ａは、異常を検出した場合、その異常内容（誤作動内容）を誤作動カウント処理部２３ａに出力しており、誤作動カウント処理部２３ａでは、自己診断処理部２５ａから送られてきたその異常内容に基づいて誤作動カウント値を算出する。
【００２０】
以上のように第１サブシステムＳＵＢａが構成されている。第２及び第３サブシステムＳＵＢｂ，ＳＵＢｃも、第１サブシステムＳＵＢａと同一の機能構成を有していることから、ここでは、その説明は省略する。
なお、以下の説明では、サブシステムＳＵＢａ，ＳＵＢｂ，ＳＵＢｃ、転舵軸モータ１１ａ，１１ｂ，１１ｃ、モータドライバ１２ａ，１２ｂ，１２ｃ、角度センサ１３ａ，１３ｂ，１３ｃ、電流センサ１４ａ，１４ｂ，１４ｃ、角度制御演算器２１ａ，２１ｂ，２１ｃ、電流制御演算器２２ａ，２２ｂ，２２ｃ、誤作動カウント処理部２３ａ，２３ｂ，２３ｃ及びマスタ優先度判定部２４ａ，２４ｂ，２４ｃそれぞれについて、特に特定して説明する必要がない場合には、サブシステムＳＵＢ、転舵軸モータ１１、モータドライバ１２、角度センサ１３、電流センサ１４、角度制御演算器２１、電流制御演算器２２、誤作動カウント処理部２３及びマスタ優先度判定部２４と総称することにする。
【００２１】
次に、サブシステムＳＵＢａ〜ＳＵＢｃの個々の処理及びそのサブシステムＳＵＢａ〜ＳＵＢｃにより構築されるシステム全体の処理を説明する。図３は、その処理の処理手順の一例を示すフローチャートである。
先ず、ステップＳ１で、各サブシステムＳＵＢａ〜ＳＵＢｃの誤作動カウント処理部２３ａ，２３ｂ，２３ｃは、自サブシステムの誤作動カウント値初期化処理を行う。図４は、その処理の処理手順の一例を示すフローチャートである。
【００２２】
この図４に示すように、先ずステップＳ２１において、誤作動カウント処理部２３ａ，２３ｂ，２３ｃは、過去の一定期間における誤作動カウント値Ｃ１を取得する。例えば、過去（前回）のイグニションのＯＮからＯＦＦまでの間に取得した誤作動カウント値を過去の誤作動カウント値Ｃ１として取得する。ここで、過去の誤作動カウント値とは、これ以降で説明する処理で、最近の誤作動カウント値Ｃ０として説明する値であって、その値が前回（例えば前回のイグニションのＯＮからＯＦＦのとき）のものをいう。そして、前回に得た最近の誤作動カウント値をシステムに保持しておくことで、今回の処理において、その前回に得ている最近の誤作動カウント値を過去の誤作動カウント値Ｃ１に置き換える。
【００２３】
続いて、各誤作動カウント処理部２３ａ，２３ｂ，２３ｃは、ステップＳ２２において、そのようにシステムで保持していた最近の誤作動カウント値（前回における最近の誤作動カウント値）Ｃ０を０に初期化し、続くステップＳ２３において、下記（１）式により誤作動カウント値Ｃを算出する。
誤作動カウント値Ｃ＝誤作動内容による重みα＋一定期間による重みβ＋過去の誤作動カウント値Ｃ１  ・・・（１）
【００２４】
ここで、誤作動内容による重みα及び一定期間による重みβは、下記（２）式及び下記（３）式により算出される。
誤差内容による重みα＝最近の誤作動カウント値Ｃ０×誤作動内容別の重み定数  ・・・（２）
一定期間による重みβ＝最近の誤作動カウント値Ｃ０×一定期間の重み定数  ・・・（３）
ここで、誤作動内容別の重み定数は、誤作動の内容に応じて決定されている値である。また、一定期間の重み定数は、誤作動時期等に応じて決定されている値である。
【００２５】
前述したように、前回における最近の誤作動カウント値Ｃ０により過去の誤作動カウント値Ｃ１を算出し（前記ステップＳ２１）、その後、当該最近の誤作動カウント値Ｃ０を０にして、初期化しているので、このステップＳ２３では、最近の誤作動カウント値Ｃ０の乗算値として得られる誤差内容による重みα及び一定期間による重みβは実質的に０になる。これにより、ステップＳ２３の処理の時点では、誤作動カウント値Ｃは、過去の誤作動カウント値Ｃ１（前回における最近の誤作動カウント値Ｃ０）と同値になる。
【００２６】
そして、ステップＳ２４において、各サブシステムＳＵＢａ〜ＳＵＢｃは、その算出した誤作動カウント値Ｃを通信バス４０を介して他のサブシステムに通知する。
以上のような誤作動カウント値初期化処理により、各サブシステムＳＵＢａ〜ＳＵＢｃは誤作動カウント値Ｃを算出する。そして、各サブシステムＳＵＢａ〜ＳＵＢｃはステップＳ２に進む。
ステップＳ２では、各サブシステムＳＵＢａ〜ＳＵＢｃは、通信バス４０を介して他のサブシステムから通知された誤作動カウント値Ｃを取得する。
続いてステップＳ３において、各サブシステムＳＵＢａ〜ＳＵＢｃのマスタ優先度判定部２４ａ，２４ｂ，２４ｃは初回マスタ優先度判定をする。
【００２７】
なお、このステップＳ１〜ステップＳ３の処理の実施タイミングは、イグニッションＯＮから一定時間が経過した段階又はシステムを作動させる上で必要なサブシステムの起動が確認できた段階で、イグニッションＯＮ時の操舵制御の準備完了処理として行うものであり、その一の処理として、ステップＳ３において初回マスタ優先度判定を実施する。
ここで、各マスタ優先度判定部２４ａ，２４ｂ，２４ｃは、それぞれのサブシステムＳＵＢａ〜ＳＵＢｃにおいて、誤作動カウント処理部２３ａ，２３ｂ，２３ｃが得た自サブシステムの誤作動カウント値Ｃと他のサブシステムの誤作動カウント値Ｃとを比較してマスタ優先度（マスタ優先順位）を決定する。
【００２８】
マスタ優先度は、サブシステムのうちマスタサブシステムとなり得る順番を示すものであり、誤作動カウント値Ｃが小さいほど高い値となる、すなわちマスタサブシステムとなり得る順位が高いことを示す。すなわち、誤作動カウント値Ｃが小さいほど、当該誤作動カウント値Ｃを得ているサブシステムは、マスタサブシステムとして選択される可能性が高くなるのである。なお、誤作動カウント値Ｃが同一値の場合、出荷時のマスタ優先度に従うようにしている。
【００２９】
なお、出荷時に全サブシステムＳＵＢａ〜ＳＵＢｃが保持する誤作動カウント値Ｃは初期化（Ｃ＝０）されていることから、出荷時のマスタ優先度は、第１サブシステムＳＵＢａ、第２サブシステムＳＵＢｂ、第３サブシステムＳＵＢｃの順番でそれらがマスタサブシステムになり得るような値になっている。
各サブシステムＳＵＢａ〜ＳＵＢｃは、このようなマスタ優先度に従って、自サブシステムがマスタサブシステムとして動作するのか、そのマスタサブシステムに従うスレーブサブシステムとして動作するのかを決定する。
【００３０】
続いてステップＳ４において、各サブシステムＳＵＢａ〜ＳＵＢｃは通常動作を開始する。すなわち、各サブシステムＳＵＢａ〜ＳＵＢｃのうち、前記ステップＳ３で決定したマスタ優先度が１番高いサブシステムは、自サブシステムが最優先のサブシステムであると認識して、マスタサブシステムとして通常動作を開始する。他のサブシステムについては、通常のサブシステム、すなわちスレーブサブシステムであると認識して、スレーブサブシステムとして通常動作を開始する。なお、マスタサブシステム及びスレーブサブシステムが実施する通常動作の内容については、後でマスタサブシステムとスレーブサブシステムとで実現される協調動作の具体例として説明する（後述の第３の具体例として説明）。
【００３１】
続いてステップＳ５において、各サブシステムＳＵＢａ〜ＳＵＢｃの自己診断処理部２５ａ，２５ｂ，２５ｃは、通常動作の処理として自サブシステムの自己診断を実施し、これによりリアルタイムで誤作動の発生等の検出を実現している。そして、続くステップＳ６において、各サブシステムＳＵＢａ〜ＳＵＢｃは、このステップＳ５において得た自己診断結果と、誤作動カウント処理部２４ａ，２４ｂ，２４ｃが保持している誤作動カウント値Ｃとを他のサブシステムに通知する。
【００３２】
その一方で、ステップＳ７において、各サブシステムＳＵＢａ〜ＳＵＢｃは、前記ステップＳ５で得た自己診断結果に基づいて自サブシステムの誤作動判定を行う。ここで、誤作動しているサブシステムは、ステップＳ８に進み、誤作動していないサブシステムＳＵＢは、ステップＳ１３に進む。なお、当然、マスタサブシステム、スレーブサブシステムにかかわらず、誤作動を検出したサブシステムＳＵＢは、ステップＳ８に進む。
【００３３】
以下、誤作動しているサブシステムＳＵＢを誤作動サブシステムＳＵＢといい、正常動作しているサブシステムＳＵＢを正常サブシステムＳＵＢということにする。
ステップＳ８以降では、誤作動サブシステムＳＵＢは、誤作動発生時処理として誤作動カウント重み付け処理等を行う。
先ずステップＳ８において、誤作動サブシステムＳＵＢは、誤作動カウント重み付け処理を行う。図５は、その処理の処理手順の一例を示すフローチャートである。
【００３４】
この図５に示すように、先ずステップＳ３１において、誤作動サブシステムＳＵＢの誤作動カウント処理部２３は、最近の誤作動カウント値Ｃ０を更新する。ここで、最近の誤作動カウント値Ｃ０とは、図２に示す処理内で得た最新（直近）の誤作動カウント値Ｃをいう。例えば、前記一定期間の重み定数を規定する期間内において得た最新（直近）の誤作動カウント値Ｃである。
【００３５】
続いて、誤作動サブシステムＳＵＢの誤作動カウント処理部２３は、ステップＳ３２において、前記（２）式により誤作動内容による重みαを算出し、続くステップＳ３３において一定期間による重みβを前記（３）式により算出する。
ここで、誤作動内容による重みαの算出に用いる前記（２）式中の誤作動内容別の重み定数は、例えば前記ステップＳ５で自己診断処理部２５が検出した誤作動内容に応じて決定されている。例えば、誤作動内容としては、角度センサ１３の異常によるもの、電流センサ１４の異常によるもの、通信バス４０の異常によるもの等が挙げられ、誤作動内容別の重み定数は、このような異常内容に応じて決定されている。
【００３６】
また、一定期間による重みβの算出に用いる前記（３）式中の一定期間の重み定数は、例えば、誤作動の検出期間に応じて決定されている。例えば、誤作動の検出期間が短いほど、一定期間の重み定数を大きくする。言い換えれば、誤作動の検出時期が現時点から近くなる時期であるほど、一定期間の重み定数を大きくする。
そして、ステップＳ３４において、誤作動サブシステムＳＵＢの誤作動カウント処理部２３は、前記ステップＳ３１で更新した最近の誤作動カウント値Ｃ０と、前記ステップＳ３２及びステップＳ３３で算出した誤作動内容による重みα及び一定期間による重みβとに基づいて、前記（１）式により誤作動カウント値Ｃを算出する。
【００３７】
以上のような処理を行った後、誤作動サブシステムＳＵＢは、図３に示すステップＳ９に進む。
ステップＳ９では、誤作動サブシステムＳＵＢの誤作動カウント処理部２３は、誤作動履歴を保存する。図６は、その誤作動履歴の保存処理の処理手順の一例を示すフローチャートである。
【００３８】
この図６に示すように、誤作動カウント処理部２３は、先ずステップＳ４１において前記ステップＳ８で算出した最近の誤作動カウント値Ｃ０として保存し、続くステップＳ４２において過去の誤作動カウント値Ｃ１（前回における最近の誤作動カウント値Ｃ０）を保存する。すなわち、過去の誤作動カウント値Ｃ１を含まなく、かつ重み付けされていない誤作動カウント値Ｃとしての、最近の誤作動カウント値Ｃ０を保存する。
【００３９】
これにより、次回の処理の誤作動カウント初期化の際の誤作動カウント値Ｃの算出では、今回保存した最近の誤作動カウント値Ｃ０が過去の誤作動カウント値Ｃ１として用いられる。なお、誤作動内容による重みαと一定期間による重みβは一定期間の終了時（例えばイグニションＯＦＦ時）に保存されることなく削除される。
以上のような処理を行った後、誤作動サブシステムＳＵＢは、図３に示すステップＳ１０に進む。
【００４０】
ステップＳ１０では、誤作動サブシステムＳＵＢの自己診断処理部２５は、再自己診断及び復帰判定を行う。具体的には、自己診断処理部２５は、再自己診断により、誤作動内容や誤作動回数に基づいて自サブシステムが復帰可能であるか否かを判定する。そして、続くステップＳ１１において、自己診断処理部２５は、その判定結果に基づく判定を行う。ここで、自己診断処理部２５は、復帰可能であると判定した場合、再び前記ステップＳ５からの処理を開始する。このとき、誤作動サブシステムＳＵＢは、自己診断処理部２５が得た自己診断結果、すなわち誤作動状態から復帰する情報を他のサブシステムＳＵＢに通知する。
【００４１】
また、誤作動サブシステムＳＵＢは、復帰不可能であると判定した場合、ステップＳ１２に進む。ステップＳ１２では、誤作動サブシステムＳＵＢは、自サブシステムの故障処理を実施する。すなわち、誤作動サブシステムは、自身がサブシステムとして復帰することが不可能であると判断し、故障処理を実施する。このとき、故障処理の一処理として、誤作動サブシステムＳＵＢは、自己診断処理部２５が得た自己診断結果、すなわち誤作動状態から復帰不可能であるとする情報を他のサブシステムＳＵＢに通知する。
【００４２】
一方、前記ステップＳ７で自サブシステムが正常であると判定した場合に進むステップＳ１３では、正常サブシステムＳＵＢは、自サブシステムを含めた正常サブシステムの数に変化があるか否かを判定する。すなわち、正常サブシステムＳＵＢは、他のサブシステム（正常サブシステムや誤作動サブシステム）ＳＵＢからの自己診断結果を通信バス４０を介して取得し、それら自己診断結果に基づいて正常サブシステムの数を得る。そして、正常サブシステムＳＵＢは、そのように得た正常サブシステムの数が、前回値から変化したか否かを判定する。
【００４３】
ここで、正常サブシステムＳＵＢは、正常サブシステムの数が変化している場合、マスタサブシステムが変更している可能性があるとして、ステップＳ１４に進み、正常サブシステムの数が変化していない場合、再び前記ステップＳ５からの処理を開始する。
ステップＳ１４では、正常サブシステムＳＵＢは、正常サブシステムの数について、今回値と前回値とを比較して、正常サブシステムの数が増加しているのか又は減少しているのかを判定する。ここで、正常サブシステムは、正常サブシステムの数が減少している場合、ステップＳ１７に進み、正常サブシステムの数が増加している場合、ステップＳ１５に進む。
【００４４】
ステップＳ１５では、正常サブシステムＳＵＢのマスタ優先度判定部２４は、マスタ優先度を再判定する。マスタ優先度の判定手順（優先順位の設定方法）は前記ステップＳ３のマスタ優先度判定処理と同様に行う。すなわち、正常サブシステムＳＵＢのマスタ優先度判定部２４は、自サブシステムの誤作動カウント値Ｃと他の正常サブシステムの誤作動カウント値Ｃとを比較することでマスタ優先度（優先順位）を決定する。そして、正常サブシステムＳＵＢは、このステップＳ１５でマスタ優先度判定部２４によりマスタ優先度を再判定した後、ステップＳ１６に進む。
【００４５】
一方、ステップＳ１７では、正常サブシステムＳＵＢは、マスタサブシステムが誤作動しているか否かを判定する。例えば、正常サブシステムＳＵＢは、他のサブシステムから通知される自己判断結果に基づいてマスタサブシステムの誤作動を検出する。すなわち、マスタサブシステムが誤作動している場合には、当該マスタサブシステムは誤作動サブシステムとして前記ステップＳ８以降の処理を実施しており、その際、自己診断結果を他のサブシステムに通知している。正常サブシステムＳＵＢは、このように誤作動しているマスタサブシステムから通知された自己診断結果に基づいてマスタサブシステムの誤作動を検出する。
【００４６】
ここで、正常サブシステムＳＵＢは、マスタサブシステムが誤作動している場合、前記ステップＳ１６に進み、マスタサブシステムが誤作動していない場合、再び前記ステップＳ５からの処理を行う。
ステップＳ１６では、マスタサブシステム変更処理を行う。具体的には、前記ステップＳ１５で得ているマスタ優先度に従ってマスタサブシステムの変更を行う。そして、マスタサブシステムを変更してから、再び前記ステップＳ５からの処理を開始する。
【００４７】
ところで、このステップＳ１６でのマスタサブシステムの変更処理は、前記ステップＳ１４で正常サブシステムの数が減少しているとされ、かつステップＳ１７でマスタサブシステムが誤作動しているとされた場合にも実施されるようになっている。これにより、サブシステムの誤作動が発生している場合に、その誤作動したサブシステムがマスタサブシステムか否かを判定し、その判定結果として誤作動したサブシステムがマスタサブシステムであることを得た場合にも、マスタサブシステム変更をしている。
【００４８】
また、誤作動サブシステムがスレーブサブシステムであれば、マスタサブシステムの変更は不要なので、ステップＳ１７からステップＳ５に進むことで、マスタサブシステムを変更することなく、各サブシステムは、マスタサブシステム又はスレーブサブシステムとしての通常動作を継続するようになる。
【００４９】
次に以上のような処理により実現されるシステムの一連の動作を説明する。
先ず、各サブシステムＳＵＢａ〜ＳＵＢｃは、誤作動カウント値初期化処理により、前回における最近の誤作動カウント値Ｃ０（最近の誤作動カウント値Ｃ０の前回値）をもとに誤作動カウント値Ｃを取得して、その誤作動カウント値Ｃを通信バス４０を介して他のサブシステムに通知する（前記ステップＳ１）。これにより、各サブシステムＳＵＢａ〜ＳＵＢｃは、他のサブシステムの誤作動カウント値Ｃを取得する（前記ステップＳ２）。
【００５０】
続いて、各サブシステムＳＵＢａ〜ＳＵＢｃは、初回マスタ優先度判定処理により、取得した誤作動カウント値Ｃに基づいてマスタ優先度を決定する（前記ステップＳ３）。そして、そのマスタ優先度に基づいて、一のサブシステムは、マスタサブシステムとして通常動作を開始して、他のサブシステムは、スレーブサブシステムとして通常動作を開始する（前記ステップＳ４）。
【００５１】
続いて、各サブシステムＳＵＢａ〜ＳＵＢｃは、通常動作の処理として自己診断により、誤作動の検出を行うとともに、その自己診断結果と誤作動カウント値Ｃとを他のサブシステムに通知する（前記ステップＳ５及びステップＳ６）。その一方で、各サブシステムＳＵＢａ〜ＳＵＢｃは、自己診断結果に基づいて自サブシステムの誤作動判定を行う（前記ステップＳ７）。
【００５２】
ここで、自己診断結果に基づいて自サブシステムが誤作動していると判断したサブシステムＳＵＢは誤作動カウント重み付け処理を行う（前記ステップＳ８）。すなわち、その誤作動サブシステムＳＵＢは、最近の誤作動カウント値Ｃ０を更新するとともに、誤作動内容による重みα及び一定期間による重みβを算出する（前記ステップＳ３１〜ステップＳ３３）。そして、誤作動サブシステムＳＵＢは、更新した最近の誤作動カウント値Ｃ０と、そのように算出した誤作動内容による重みα及び一定期間による重みβとに基づいて誤作動カウント値Ｃを算出する（前記ステップＳ３４）。これにより、誤作動サブシステムＳＵＢは、誤作動内容による重みαと一定期間による重みβとを一時的に取り入れた値として誤作動カウントＣを算出する。これにより、誤作動カウントＣは、誤作動内容、誤作動検出期間に応じた値になる。
【００５３】
続いて、誤作動サブシステムＳＵＢは、最近の誤作動カウント値Ｃ０を保存し、過去の誤作動カウント値Ｃ１（前回における最近の誤作動カウント値Ｃ０）を保存する（前記ステップＳ９）。ここで保存された最近の誤作動カウント値Ｃ０は、次回の処理の誤作動カウント初期化の際に誤作動カウント値Ｃの算出に用いられるようになる。
続いて、誤作動サブシステムＳＵＢは、再自己診断により、誤作動内容や誤作動回数に基づいて自システムが復帰可能であるか否かを判定する（前記ステップＳ１０）。ここで、誤作動サブシステムは、復帰可能であると判定した場合、再び自サブシステムの自己診断からの処理を開始する（前記ステップＳ５）。さらにこの時、誤作動サブシステムは、誤作動状態から復帰する情報を他のサブシステムに通知する。
【００５４】
そして、正常動作に復帰したサブシステムＳＵＢは、誤作動カウント値Ｃを他のサブシステムに通知する（前記ステップＳ６）。すなわち、正常サブシステムＳＵＢは、直前に発生した誤作動内容等を考慮して算出した誤作動カウント値Ｃを他のサブシステムに出力する。一方、復帰不可能であると判定した誤作動サブシステムＳＵＢは故障処理を実施する（前記ステップＳ１２）。
【００５５】
その一方で、正常サブシステムＳＵＢは、自サブシステムを含めた正常サブシステムの数に変化があるか否かを判定する（前記ステップＳ１３）。
ここで、正常サブシステムＳＵＢは、正常サブシステムの数が変化していない場合、マスタサブシステムが変更している可能性がないので、再び自サブシステムの自己診断からの処理を開始する（前記ステップＳ１３及びステップＳ５）。すなわち、正常サブシステムＳＵＢがマスタサブシステムであれば、当該正常サブシステムＳＵＢはマスタサブシステムとしての通常動作を維持し、そうでない場合には、正常サブシステムＳＵＢはサブシステムとしての通常動作を維持する。
【００５６】
また、正常サブシステムＳＵＢは、正常サブシステムの数が変化している場合には、正常サブシステムの数について、今回値と前回値とで比較し、その増減を判定する（前記ステップＳ１３及びステップＳ１４）。
ここで、正常サブシステムが増加している場合、正常サブシステムＳＵＢは、マスタ優先度を再判定する（前記ステップＳ１５）。ここで、正常サブシステムが増加するのは、誤作動していたサブシステムが正常動作に復帰したからである。このように正常サブシステムが増加すれば、マスタ優先度も当然変わってくるので、マスタ優先度を再決定する。そして、正常サブシステムは、そのように再決定したマスタ優先度に基づいてマスタサブシステム変更を実施する（前記ステップＳ１６）。
【００５７】
一方、正常サブシステムＳＵＢは、正常サブシステムが減少している場合、マスタサブシステムが誤作動しているか否かを判定し、マスタサブシステムＳＵＢが誤作動していない場合には、再び自サブシステムの自己診断からの処理を開始する（前記ステップＳ１７及びステップＳ５）。その一方で、正常サブシステムは、マスタサブシステムが誤作動していると判定した場合、マスタサブシステムの変更を実施する（前記ステップＳ１６）。
【００５８】
これにより、正常サブシステムが増加している場合には、再決定したマスタ優先度に基づいてマスタサブシステムが変更される（前記ステップＳ１４、ステップＳ１５及びステップＳ１６）。これにより、誤作動サブシステムＳＵＢが正常動作に復帰したときに、当該復帰したサブシステムＳＵＢをも含めて、マスタ優先度に基づくマスタサブシステム更新がなされるようになる。例えば、復帰したサブシステムＳＵＢが元々スレーブサブシステムだったものであれば、マスタサブシステムを変更する必要がないことから、当該復帰したサブシステムＳＵＢを含めた正常サブシステムＳＵＢは、マスタサブシステム又はスレーブサブシステムとしてそのまま通常動作を維持するようになる。
【００５９】
一方、正常サブシステムが減少している場合において、マスタサブシステムが誤作動していると判定したときにも、マスタサブシステムが変更される（前記ステップＳ１４、ステップＳ１７及びステップＳ１６）。これにより、誤作動サブシステムの発生により正常サブシステムの数が減少した場合に当該誤作動サブシステムＳＵＢがマスタサブシステムであるときには、スレーブサブシステムのうちから最もマスタ優先度が高いサブシステムがマスタサブシステムに変更される。
【００６０】
また、誤作動サブシステムの発生により正常サブシステムの数が減少した場合でも、当該誤作動サブシステムＳＵＢがスレーブサブシステムであれば、マスタサブシステムを変更する必要がないことから、正常サブシステムＳＵＢは、マスタサブシステム又はスレーブサブシステムとしてそのまま通常動作を維持するようになる（前記ステップＳ１４、ステップＳ１７及びステップＳ５）。
【００６１】
次に前述の処理により実現される具体的な動作を説明する。
（１）第１の具体例
例えば、第１サブシステムＳＵＢａの誤作動カウント値Ｃが０回、第２サブシステムＳＵＢｂの誤作動カウント値Ｃが０回、第３サブシステムＳＵＢｃの誤作動カウント値Ｃが１回とする。そして、第１サブシステムＳＵＢａがマスタサブシステムになっており、他の第２及び第３サブシステムＳＵＢｂ，ＳＵＢｃがスレーブサブシステムになっていると仮定する。
【００６２】
そして、この条件の下、第１サブシステムＳＵＢａが誤作動した場合、当該第１サブシステムＳＵＢａの誤作動カウント値Ｃが増加するので、この時点で、正常作動しており、かつ誤作動カウント値Ｃが０回の第２サブシステムＳＵＢｂがマスタサブシステムとなり、正常動作しているが、誤作動カウント値Ｃが１回の第３サブシステムＳＵＢｃがスレーブサブシステムとなる。
【００６３】
また、誤作動した第１サブシステムＳＵＢａが復帰した場合、その誤作動カウント値Ｃは１回になる。これにより、誤作動カウント値Ｃが０回の第２サブシステムＳＵＢｂは、マスタサブシステムとしての動作を維持する一方で、以前マスタサブシステムであった第１サブシステムＳＵＢａは、復帰してもマスタサブシステムになることなく、スレーブサブシステムとして通常動作するようになる。
これにより、誤作動回数が多いサブシステムは、誤作動後たとえ復帰したとしても、マスタサブシステムとして選定され難くなり、この結果、マスタサブシステムの変更回数は少なくなり、システム変動を抑制することができる。
【００６４】
（２）第２の具体例
ここで、先ず下記表１を用いて、誤作動が発生した時期を考慮しないで誤作動回数だけに着目した場合のマスタサブシステムの変更について説明する。表１は、各サブシステムＳＵＢａ〜ＳＵＢｃの過去の誤作動回数及び最近の誤作動回数の例を示す。
【００６５】
【表１】
2006069308.tif 000003
【００６６】
この表１から、第１サブシステムＳＵＢａは、過去の誤作動回数が多いが、最近の誤作動回数が少ないものであることがわかり、また、第２サブシステムＳＵＢｂは、過去の誤作動回数及び最近の誤作動回数がともに少ないものであることがわかり、また、第３サブシステムＳＵＢｃは、過去の誤作動回数が多いが、最近の誤作動回数が少ないものであることがわかる。
例えば、このような誤作動回数に基づいて、これまでの誤作動回数（過去の誤作動回数と最近の誤作動回数との加算値）が最も少ないサブシステムをマスタサブシステムにするようにすれば、これまでの誤作動回数が１１回の第１サブシステムＳＵＢａでなく、これまでの誤作動回数が４回の第２サブシステムＳＵＢｂがマスタサブシステムに選定されるようになる。
【００６７】
一方、誤作動回数でも、最近の誤作動回数に着目して、マスタサブシステムを選定したい場合もある。しかし、マスタサブシステムを選定する判断材料としてこれまでの全ての誤作動回数を入れてしまえば、そのようなマスタサブシステムの選定はできない。例えば、最近の誤作動回数に着目すれば、第１サブシステムＳＵＢａの誤作動回数は０回、第２サブシステムＳＵＢｂの誤作動回数は２回となる。しかし、これまでの全ての誤作動回数でみると、前述したように、第１サブシステムＳＵＢａの誤作動回数は１１回、第２サブシステムＳＵＢｂの誤作動回数は４回となるので、その誤作動回数を基準にすると、第２サブシステムＳＵＢｂがマスタサブシステムとして選定されてしまうことになる。
次に、本発明を適用したシステムにおけるマスタサブシステムの変更について、下記表２を用いて説明する。
【００６８】
【表２】
2006069308.tif 000004
【００６９】
本発明を適用したシステムでは、前記（１）式として示したように、最近の誤作動回数である最近の誤作動カウント値Ｃ０を基準とし、さらにその誤作動カウント値Ｃ０を誤作動内容や一定期間の誤作動に応じて重み付けをし、最終的な誤作動カウント値Ｃを得ている。前記表２は、第２サブシステムＳＵＢｂの最近の誤作動カウント値Ｃ０が２であり（前述の表１と同様）、その最近の誤作動カウント値Ｃ０が前記（１）式により一定期間の重み定数５で重み付けされている誤作動カウント値Ｃを示している。
【００７０】
これにより、これまでの誤作動回数、すなわち誤作動カウント値Ｃでみた場合、第１サブシステムＳＵＢａでは１１回、第２サブシステムＳＵＢｂでは１２回となる。これにより、マスタ優先度では第１サブシステムＳＵＢａが最優先のものとなり、当該第１サブシステムＳＵＢａは、たとえこれまでの誤作動回数が多くてもマスタ優先度が下がることなく、マスタサブシステムとしての動作を維持するようになる。
これにより、近時に誤作動回数が多いサブシステムは、誤作動後たとえ復帰したとしても、マスタサブシステムとして選定され難くなり、この結果、マスタサブシステムの変更回数は少なくなり、システム変動を抑制することができる。
【００７１】
（３）第３の具体例
ここでは、誤作動内容とその重み定数（誤作動内容別の重み定数）との対応づけを主に説明する。
（３−１）システムの具体例
先ず、システム全体の通常動作、すなわちマスタサブシステムとスレーブサブシステムとの協調動作の具体的に説明する。その構成については、図１及び図２を参照する。
先ず、上位コントローラ６０では、ステアリングホイール１の運転者による操舵量を検出する図示しない操舵角センサの検出信号等に基づいて公知の手順で目標転舵角指令値を算出しこれを転舵装置１０に出力するとともに、公知の手順で転舵装置１０における転舵軸の変位量、車速等に基づいて算出された、転舵トルクに応じた目標反力トルクに基づいて図示しない反力発生モータを駆動する。これによって、転舵トルクに見合った反力トルクがステアリングホイール１の回転中心部に取り付けられたコラムシャフト３に付与され、運転者に対し、操舵量に応じた操舵反力が付与される。
【００７２】
一方、転舵装置１０の各サブシステムＳＵＢａ〜ＳＵＢｃでは、自己診断を行い、自サブシステムが正常動作している場合には、その正常サブシステムは、上位コントローラ６０からの目標転舵角指令値を読み込み、さらに、他のサブシステムからの自己診断結果を読み込む。そして、正常サブシステムは、前述したように正常サブシステムの数の変化、またその変化の増減、さらにマスタサブシステムの動作状態に基づいてマスタ優先度を判定する（前記ステップＳ１３〜ステップＳ１７）。
【００７３】
これにより、全てのサブシステムＳＵＢａ〜ＳＵＢｃが正常動作しており、かつマスタ優先度が高いものから、第１サブシステムＳＵＢａ、第２サブシステムＳＵＢｂ、第３サブシステムＳＵＢｃとなっているとすれば、第１サブシステムＳＵＢａでは、自サブシステムのマスタ優先度が最も高いと認識し、第２サブシステムＳＵＢｂでは、自サブシステムのマスタ優先度が２番目に高いと認識し、第３サブシステムＳＵＢｃでは、自サブシステムのマスタ優先度が最も低いと認識する。
【００７４】
そして、最優先状態にある第１サブシステムＳＵＢａでは、マスタサブシステムとしての通常動作として、角度センサ１３ａからの角度データを読み込み、これをスレーブサブシステムと認識した第２及び第３サブシステムＳＵＢｂ，ＳＵＢｃに通信バス４０を介して通知する。
そして、第１サブシステムＳＵＢａでは、上位コントローラ６０から通知された目標転舵角指令値と、角度センサ１３ａから読み込んだ角度データと、に基づいてこの転舵角度が目標転舵角指令値に収束し得るために転舵機構５に付与すべき転舵トルクを算出し、この転舵トルクを発生し得る転舵電流指令値Ｉ＊を算出する。
【００７５】
なお、この第１サブシステムＳＵＢａで算出した転舵電流指令値Ｉ＊をＩａ＊と表し、以後、添字によって、転舵電流指令値Ｉ＊を算出したサブシステムを表すものとする。
このとき、全てのサブシステムＳＵＢａ〜ＳＵＢｃが正常であるから、正常サブシステムの数を“３”とする。そして、第１サブシステムＳＵＢａは、転舵電流指令値Ｉａ＊をその“３”で等分してサブシステム当たりの転舵電流指令値を算出し、これを分割転舵電流指令値Ｉｓ＊として通信バス４０を介して第２及び第３サブシステムＳＵＢｂ，ＳＵＢｃに通知する。
【００７６】
なお、第１サブシステムＳＵＢａで算出した分割転舵電流指令値Ｉｓ＊をＩｓａ＊と表し、以後、添字によって、分割転舵電流指令値Ｉｓ＊を算出したサブシステムを表すものとする。
そして、第１サブシステムＳＵＢａでは、この分割転舵電流指令値Ｉｓａ＊を制御用電流指令値とし、電流センサ１４ａで検出した転舵軸モータ１１ａに供給される電流値が、制御用電流指令値つまり分割転舵電流指令値Ｉｓａ＊と一致するよう、電流制御演算を行い、これに応じた駆動信号をモータドライバ１２ａに出力する。
【００７７】
一方、第２サブシステムＳＵＢｂでは、自サブシステムは最優先状態のサブシステムではないから、スレーブサブシステムとしての通常動作として、マスタサブシステムと認識した第１サブシステムＳＵＢａから通知された角度センサ１３ａの角度データを読み込み、これに基づいて転舵電流指令値Ｉｂ＊を算出し、この転舵電流指令値Ｉｂ＊を所定の記憶領域に保存しておく。
【００７８】
次いで、第２サブシステムＳＵＢｂでは、第１サブシステムＳＵＢａにおいて算出した分割転舵電流指令値Ｉｓａ＊を読み込み、これを制御用電流指令値とする。そして、第２サブシステムＳＵＢｂでは、電流センサ１４ｂで検出した転舵軸モータ１１ｂに供給される電流値を読み込み、この転舵軸モータ１１ｂへの供給電流が、制御用電流指令値、つまり、第１サブシステムＳＵＢａで算出した分割転舵電流指令値Ｉｓｂ＊と一致するよう、電流制御演算を行い、これに応じた駆動信号をモータドライバ１２ｂに出力する。
【００７９】
同様に、第３サブシステムＳＵＢｃでも、スレーブサブシステムとしての通常動作として、マスタサブシステムとして認識した第１サブシステムＳＵＢａから通知された角度センサ１３ａの角度データを読み込み、これに基づいて転舵電流指令値Ｉｃ＊を算出しこれを所定の記憶領域に保存する
さらに、第３サブシステムＳＵＢｃでは、第１サブシステムＳＵＢａから分割転舵電流指令値Ｉｓａ＊を読み込んで、これを制御用電流指令値とし、電流センサ１４ｃで検出した転舵軸モータ１１ｃに供給される電流値を読み込み、この転舵軸モータ１１ｃへの供給電流が、制御用電流指令値、つまり第１サブシステムＳＵＢａで算出した分割転舵電流指令値Ｉｓａ＊と一致するよう電流制御演算を行い、これに応じた駆動信号をモータドライバ１２ｃに出力する。
【００８０】
以上の動作における、各サブシステムＳＵＢａ〜ＳＵＢｃ間での信号の流れを表したものが、図７であって、第２及び第３サブシステムＳＵＢｂ，ＳＵＢｃは、第１サブシステムＳＵＢａで算出した分割転舵電流指令値Ｉｓａ＊を通信バス４０を介して受信し、この分割転舵電流指令値Ｉｓａ＊と、各角度センサ１３ａ〜１３ｃの検出信号とに基づいて、各転舵軸モータ１１ａ〜１１ｃを駆動制御する。
【００８１】
したがって、各サブシステムＳＵＢａ〜ＳＵＢｃのモータドライバ１２ａ〜１２ｃでは、駆動信号に応じて転舵軸モータ１１ａ〜１１ｃを駆動するが、このとき、各サブシステムＳＵＢａ〜ＳＵＢｃにおいては、各転舵軸モータ１１ａ〜１１ｃへの供給電流が分割転舵電流指令値Ｉｓａ＊となるように制御を行うから、各転舵軸モータ１１ａ〜１１ｃは同じ回転方向にかつ同じ大きさのトルクを発生するように駆動されることになる。
【００８２】
また、この状態から、図８に示すように、最優先の状態にあった第１サブシステムＳＵＢａにおいて異常が発生すると、当該第１サブシステムＳＵＢａでは、自己診断の結果として異常であることを検出するから、当該第１サブシステムＳＵＢａが異常であることを通信バス４０を介して他のサブシステムＳＵＢｂ，ＳＵＢｃに通知する。そして、以後、第１サブシステムＳＵＢａは、自己診断の結果正常と判断されるまでは、駆動軸モータ１１ａを駆動しない。
【００８３】
一方、正常な第２サブシステムＳＵＢｂでは、第１サブシステムＳＵＢａが異常であることが通知されているから、自己が保持しているマスタ優先度にしたがって、第１サブシステムＳＵＢａの次に優先度の高い、自サブシステムが最優先状態にあると認識する。
したがって、第２サブシステムＳＵＢｂは、角度センサ１２ｂの検出信号を他の正常サブシステム、つまり第３サブシステムＳＵＢｃに通知するとともに、これに基づいて転舵電流指令値Ｉｂ＊を算出し、現在の正常サブシステムの数、この場合“２”で等分した値を、分割転舵電流指令値Ｉｓｂ＊として算出し、これを制御用電流指令値として設定するとともに、これを他の正常サブシステム、つまり第３サブシステムＳＵＢｃに通知する。
【００８４】
そして、第２サブシステムＳＵＢｂは、この分割転舵電流指令値Ｉｓｂ＊と電流センサ１４ｂの検出信号とに基づいて電流制御演算を行い、転舵軸モータ１１ｂを駆動する。
一方、第３サブシステムＳＵＢｃでは、第２サブシステムＳＵＢｂの次に優先順位が高いから、第２サブシステムＳＵＢｂから角度データを受信し、これに基づいて転舵電流指令値Ｉｃ＊を算出しこれを所定の記憶領域に格納するとともに、第２サブシステムＳＵＢｂから分割転舵電流指令値Ｉｓｂ＊ を入力し、これと電流センサ１４ｃの検出信号とに基づいて電流制御演算を行い、転舵軸モータ１１ｃを駆動する。
【００８５】
したがって、この場合も、転舵軸モータ１１ｂ，１１ｃは、同一の分割転舵電流指令値Ｉｓｂ＊に基づいて制御が行われるから、同一方向に回転しかつ同じ大きさのトルクを発生することになる。また、このとき、第１サブシステムＳＵＢａに異常が発生しているため、本来ならば３つの転舵軸モータ１１ａ〜１１ｃによってトルクを発生すべきところを、２つの転舵軸モータ１１ｂ，１１ｃによってトルクを発生することになるが、転舵電流指令値Ｉｂ＊を２等分し、これを分割転舵電流指令値Ｉｓｂ＊として設定しているから、二つの転舵軸モータ１１ｂ，１１ｃのみを駆動する場合であっても、転舵電流指令値Ｉｂ＊に応じたトルクが発生されることができる、つまり、転舵角度を目標転舵角指令値に一致し得るトルクを発生させることができる。
【００８６】
また、例えば、各サブシステムＳＵＢａ〜ＳＵＢｃが正常に動作し、第１サブシステムＳＵＢａが最優先状態のサブシステムとして動作している状態から、図９に示すように、第２サブシステムＳＵＢｂの転舵軸モータ１１ｂに異常が発生した場合には、当該第２サブシステムＳＵＢｂは、自己診断を行ったときにこれを検出する。これにより、第２サブシステムＳＵＢｂでは、当該第２サブシステムＳＵＢｂが異常であることを他のサブシステムＳＵＢａ，ＳＵＢｃに通知する。
【００８７】
第１サブシステムＳＵＢａでは、角度センサ１３ａの検出信号及び目標転舵角指令値に基づいて前記と同様にして転舵電流指令値Ｉａ＊を算出するが、正常なサブシステムは第１及び第３サブシステムＳＵＢａ，ＳＵＢｃの二つであるから転舵電流指令値Ｉａ＊を二等分して分割転舵電流指令値Ｉｓａ＊を算出する。
一方、第３サブシステムＳＵＢｃでは、第２サブシステムＳＵＢｂが異常であることを認識するが、第１サブシステムＳＵＢａの方がマスタ優先度が高いから、当該第１サブシステムＳＵＢａから通知される分割転舵電流指令値Ｉｓａ＊に基づいて転舵軸モータ１１ｃを駆動する。
【００８８】
そして、この状態から、さらに、第１サブシステムＳＵＢａが異常となった場合には、第３サブシステムＳＵＢｃでは、自サブシステムよりもマスタ優先度の高い第１及び第２サブシステムＳＵＢａ，ＳＵＢｂが共に異常であるから、自サブシステムが最優先状態にあると認識し、角度センサ１３ｃの検出信号と上位コントローラ６０からの目標転舵角指令値とに基づいて転舵電流指令値Ｉｃ＊を算出する。そして、この場合、第３サブシステムＳＵＢｃは、自サブシステムだけが正常であることを認識していることから、この転舵電流指令値Ｉｃ＊を分割転舵電流指令値Ｉｓｃ＊とし、この分割転舵電流指令値Ｉｓｃ＊に基づいて転舵軸モータ１１ｃを駆動する。つまり、転舵軸モータ１１ｃのみによって、転舵トルクを発生させることになる。
【００８９】
このように、何れかのサブシステムが代表となって分割転舵電流指令値Ｉｓ＊を算出し、この代表のサブシステムにおいて算出した分割転舵電流指令値Ｉｓ＊に基づいて各サブシステムでは転舵軸モータを駆動するようにしているから、各転舵軸モータは、供給される電流値が分割転舵電流指令値Ｉｓ＊となるように駆動制御されることになる。
よって、各転舵軸モータ１１ａ〜１１ｃはそれぞれ異なる下位コントローラ２０ａ〜２０ｃによって駆動制御されるが、同一の分割転舵電流指令値Ｉｓ＊に基づいて駆動制御されるから、同一方向にかつ同じトルクを発生するように動作することになる。したがって、各転舵軸モータ１１ａ〜１１ｃが互いに干渉することを回避することができる。
【００９０】
また、サブシステムＳＵＢａ〜ＳＵＢｃのうち何れかのサブシステムに異常が発生した場合であっても、各サブシステムにおいて、他のサブシステムの異常状態を認識するようにし、正常なサブシステムの何れかが代表となり分割転舵電流指令値Ｉｓ＊を算出するようにしているから、代表のサブシステムに異常が発生した場合であっても、他のサブシステムにおいて的確に分割転舵電流指令値Ｉｓ＊を算出することができる。また、このとき、正常なサブシステムの数に応じて分割転舵電流指令値Ｉｓ＊を算出するようにしているから、何れかのサブシステムにおいて、転舵軸モータを駆動することができない場合であっても、転舵トルクとして発生すべきトルクを確実に発生させることができ、継続して転舵トルクを発生することができる。
【００９１】
特に、転舵装置１０は、排気マニホールド或いは排気管に近い場所等、熱環境の悪い場所に設置されているため、転舵軸モータ１１ａ〜１１ｃは、過熱等による悪影響を受けやすい。しかしながら前述のように、何れかの転舵軸モータに異常が発生した場合であっても継続して転舵トルクを発生させることができるから、冗長性をより有効に活用することができる。
【００９２】
また、最優先のサブシステムを例えば第１サブシステムＳＵＢａとしたとき、当該第１サブシステムＳＵＢａでは、その角度センサ１３ａで算出した角度データを、他のサブシステムＳＵＢｂ，ＳＵＢｃに通知し、通知された各サブシステムＳＵＢｂ，ＳＵＢｃにおいても、この通知された角度データをもとに、転舵電流指令値Ｉ＊をそれぞれ算出するようにしている。
【００９３】
ここで、転舵電流指令値Ｉ＊を算出する際には、前回の転舵電流指令値Ｉ＊等、前回の転舵電流指令値Ｉ＊の算出に用いた各種内部変数に基づいて、今回の転舵電流指令値Ｉ＊を算出するようにしている。したがって、仮に第２サブシステムＳＵＢｂで、転舵電流指令値Ｉ＊を算出していないものとすると、第１サブシステムＳＵＢａに異常が発生し、第１サブシステムＳＵＢａに代わり第２サブシステムＳＵＢｂが転舵電流指令値Ｉ＊を算出するための角度制御演算を引き継いで行う場合、第２サブシステムＳＵＢｂでは、転舵電流指令値Ｉ＊を算出していないため、新たに内部変数の算出等を行う必要がある。しかしながら、前述のように、第２及び第３サブシステムＳＵＢｂ，ＳＵＢｃにおいても、転舵電流指令値Ｉ＊を算出するようにしているから、当該第２及び第３サブシステムＳＵＢｂ，ＳＵＢｃにおいて角度制御演算を引き継ぐ場合であっても、速やかに引き継ぎを行うことができる。また、このとき、第２及び第３サブシステムＳＵＢｂ，ＳＵＢｃにおいては、自サブシステムの角度センサ１３ｂ，１３ｃの検出信号ではなく、角度制御演算を行っている第１サブシステムＳＵＢａの角度センサ１３ａの検出信号に基づいて、転舵電流指令値Ｉ＊を算出するようにしているから、内部変数を変えることなく、そのまま転舵電流指令値Ｉ＊の算出を行うことができる。
以上が、マスタ優先度に基づいてマスタサブシステムとスレーブサブシステムとして各サブシステムＳＵＢａ〜ＳＵＢｃが協調動作するシステムの具体例である。
【００９４】
（３−２）誤作動内容とその重み定数との対応づけ
前述のようなシステムにおいて、誤作動内容とその重み定数とを次のように対応づけている。
（３−２−１）誤作動内容別の重み定数が大きい場合
サブシステムの誤作動がシステム全体に対して影響を及ぼすものであり、当該誤作動が発生すればシステム全体に急激な変動を与える可能性がある場合、誤作動内容別の重み定数（誤作動重み付け）を大きい値、例えば５とする。
例えば、角度センサ１３ａ，１３ｂ，１３ｃが異常になった場合、誤作動内容別の重み定数を５にする。これは、角度センサ１３ａ，１３ｂ，１３ｃが異常になった場合、適切でない角度に基づいて算出した分割転舵電流指令値Ｉｓａ＊，Ｉｓｂ＊，Ｉｓｃ＊をスレーブサブシステムである他のサブシステムに通知することになり、これにより全サブシステムが、そのような適切でない分割転舵電流指令値Ｉｓａ＊，Ｉｓｂ＊，Ｉｓｃ＊に基づいて転舵軸モータ１１ａ，１１ｂ，１１ｃを制御することになる。これでは、システム全体に急激な変動が発生する可能性がある。
【００９５】
このようなことから、角度センサ１３ａ，１３ｂ，１３ｃが異常になった場合には、それによるサブシステムの誤作動がシステム全体に対して影響を及ぼすものであり、当該誤作動が発生すればシステム全体に急激な変動を与える可能性があるとして、誤作動内容別の重み定数を５にする。
【００９６】
（３−２−２）誤作動内容別の重み定数が中程度の場合
サブシステムの誤作動がシステム全体に対して影響を及ぼすものであり、当該誤作動が発生すればシステム全体に急激ではないが変動を与える可能性がある場合、誤作動内容別の重み定数（誤作動重み付け）を中程度の値、例えば４とする。
【００９７】
例えば、通信バス４０が異常になった場合、誤作動内容別の重み定数を４にする。これは、通信バス４０が異常になった場合でも、角度センサ１３ａ，１３ｂ，１３ｃが正常であれば、正常な角度に基づいて分割転舵電流指令値Ｉｓａ＊，Ｉｓｂ＊，Ｉｓｃ＊を算出することができるものの、そのように算出した分割転舵電流指令値Ｉｓａ＊，Ｉｓｂ＊，Ｉｓｃ＊を通信バス４０を介してマスタサブシステムからスレーブサブシステムに通知できなくなる。これにより、スレーブサブシステムはマスタサブシステムからの分割転舵電流指令値Ｉｓａ＊，Ｉｓｂ＊，Ｉｓｃ＊に基づいて転舵軸モータ１１ａ，１１ｂ，１１ｃを制御できなくなるが、それによりシステムが急激に変動することはない。
【００９８】
このようなことから、通信バス４０が異常になった場合には、それによるサブシステムの誤作動がシステム全体に対して影響を及ぼすものであり、当該誤作動が発生すればシステム全体に急激ではないが変動を与える可能性があるとして、誤作動内容別の重み定数を４とする。
【００９９】
（３−２−３）誤作動内容別の重み定数が小さい場合
サブシステムの誤作動がシステム全体に対して影響を与えない場合、誤作動内容別の重み定数（誤作動重み付け）を小さい値、例えば２とする。
例えば、電流センサ１４ａ，１４ｂ，１４ｃが異常になった場合、誤作動内容別の重み定数を２にする。これは、電流センサ１４ａ，１４ｂ，１４ｃが異常になった場合でも、その影響は当該電流センサを備えるサブシステム内で収まる。このようなことから、電流センサ１４ａ，１４ｂ，１４ｃが異常になった場合には、それによるサブシステムの誤作動がシステム全体に対して影響を与えないので、誤作動内容別の重み定数を２とする。
【０１００】
以上のように、誤作動内容と前記誤作動内容別の重み定数とを対応づけている。
そして、前述したように、誤作動サブシステムＳＵＢは、そのような誤作動内容に応じて決定した誤作動内容別の重み定数を用いて、前記（２）式により誤作動内容による重みαを算出し、その算出した誤作動内容による重みαを用いて、前記（１）式により誤作動カウント値Ｃを算出している（前記ステップＳ８）。そして、誤作動サブシステムＳＵＢが算出した誤作動カウント値Ｃは、当該誤作動サブシステムが正常状態に復帰した時点で、他のサブシステムに通知される（前記ステップＳ６）。これにより、正常サブシステムＳＵＢは、通知された誤作動カウント値Ｃに基づいてマスタ優先度を再決定している（前記ステップＳ１６）。
これにより、マスタ優先度は、サブシステムの誤作動がシステム全体に及ぼす影響の度合いを考慮して決定されたものになり、この結果、システムに対する影響が大きい誤作動を過去に発生しているサブシステムはマスタサブシステムとして選定されにくくなる。
【０１０１】
次に実施形態における効果を説明する。
前述したように、各サブシステムの誤作動カウント値、すなわち誤作動履歴に基づいてマスタ優先度を決定しており、マスタサブシステム変更が生じた際には、その決定したマスタ優先度に基づいてマスタサブシステムを変更している。
これにより、サブシステムが誤作動する度に、誤作動カウント値が増加し、誤作動履歴が更新されるから、マスタ優先度も更新されるので、静的な優先順位ではなく、動的な優先順位に基づいて、マスタサブシステムの変更がなされるようになる。
【０１０２】
例えば、前記特許文献１のように、静的にマスタ優先度を決定している場合には、誤作動が多いサブシステムでも、そのマスタ優先度が一番高くなっている限り、当該サブシステムが復帰する度に、マスタサブシステム変更がなされるようになる。これでは、システム変動が頻発してしまう。
これに対して、本発明を適用することで、最新の誤作動履歴に基づいて動的に優先順位を決定することで、静的な優先順位が一番高いサブシステムでも、誤作動が多い場合、特に近時に誤作動が多い場合、マスタサブシステムとして選定され難くなり、これにより、システム変動が頻発してしまうことを抑制できる。
【０１０３】
また、前述したように、誤作動履歴として誤作動内容や誤作動が発生した期間（時期）を考慮して、マスタ優先度を決定している。
ここで、ノイズ等による誤作動の発生頻度は、誤作動の内容、すなわちシステムにおかれている環境に影響される。さらに、そのような環境は時間とともに変化する。そして、サブシステムの誤作動は、そのようなシステムにおかれている環境や経時変化するその環境に大きく影響される。
【０１０４】
このようなことから、誤作動履歴として誤作動内容や誤作動が発生した期間（時期）を考慮することで、システムがおかれている環境や経時変化するその環境を考慮したマスタ優先度の決定をすることができ、より現状に合致させてマスタサブシステム変更をできるようになる。これにより、システム変動の発生をより抑制できる。
また、前述したように、角度センサが異常になった場合には、誤作動内容別の重み定数を５にしており（前記（３−２−１）誤作動内容別の重み定数が大きい場合の説明）、サブシステムの誤作動が発生した場合のシステムの角度制御への影響が大きくなるようなときほど、当該サブシステムをマスタサブシステムとして選定され難くしている。
【０１０５】
すなわち、マスタサブシステムでは、転舵機構５に付与すべき転舵トルクを発生し得る転舵電流指令値Ｉ＊を算出し、さらに転舵電流指令値Ｉ＊に基づいてスレーブサブシステムが用いる分割転舵電流指令値Ｉｓ＊を算出するなど、角度制御演算を主に行っている。そして、マスタサブシステムが転舵電流指令値Ｉ＊を角度センサから読み込んだ角度データに基づいて算出していることから、角度センサに異常、すなわち角度制御演算で使用する角度データ等の情報の異常は、システム全体に大きく影響してしまう。
【０１０６】
例えば、電流センサが異常になっても、その異常は角度制御演算にそれほど影響しない。これに対して、角度センサが異常になると、転舵電流指令値Ｉ＊やスレーブサブシステムが用いる分割転舵電流指令値Ｉｓ＊が適切な値として算出されないので、システム全体が大きな影響を受けてしまう。また、電流センサが異常になった場合、そのサブシステムは本来の動作とは異なる動作をするものの、他のサブシステムが正常動作するので、実角度が誤った方向に行こうとしても、角度制御のフィードバックループによって補正される方向で電流指令値が演算されるようになる。この結果、電流センサが異常になっても、システム全体への影響度は少ない。
このようなことから、角度センサが異常になり、その異常によりサブシステムが誤作動している場合には、そのサブシステムをマスタサブシステムとして選定され難くしている。
【０１０７】
以上、本発明の実施形態を説明した。しかし、本発明は、前述の実施形態として実現されることに限定されるものではない。
すなわち、前述の実施形態では、本発明を転舵装置１０に適用した場合について説明した。しかし、これに限定されるものではない。例えば、反力装置５０が図１０に示すように、転舵装置１０と同様に、複数の反力発生モータによってコラムシャフト３に操舵反力を付与するようにした構成であれば、反力装置５０に適用することも可能である。
【０１０８】
すなわち、図１０に示すように、各反力発生モータ１１ａ′〜１１ｃ′をそれぞれ駆動制御するための反力発生コントローラ２０ａ′〜２０ｃ′を設け、コラムシャフト３の回転角度を検出するための角度センサ１３ａ′〜１３ｃ′の検出信号と、上位コントローラ６０で算出された目標反力トルクに応じたコラムシャフト３の目標回転角度と、に基づいて、角度制御演算器２１ａ′〜２１ｃ′において角度制御演算を行い、この角度制御演算器２１ａ′〜２１ｃ′において算出された電流指令値と、電流センサ１４ａ′〜１４ｃ′で検出された反力発生モータ１１ａ′〜１１ｃ′への供給信号とを一致し得る駆動電流を電流制御演算器２２ａ′〜２２ｃ′において算出し、これを反力発生モータ１０ａ′〜１０ｃ′に供給し駆動する。
【０１０９】
また、自己診断処理部２５ａ′〜２５ｃ′において自己診断処理を実施して、自サブシステムの構成部位の異常を検出して、誤作動カウント処理部２３ａ′〜２３ｃ′において自己診断処理部２５ａ′〜２５ｃ′が検出した異常内容に基づいて誤作動カウント値を得て、マスタ優先度判定部２４ａ′〜２４ｃ′において誤作動カウント処理部２３ａ′〜２３ｃ′が得た誤作動カウント値に基づいてマスタ優先度を決定する。
【０１１０】
そして、前述の実施形態と同様に、マスタ優先度が一番高いサブシステムにおいて電流指令値の算出を行い、これを通信バス４０′を介して他のサブシステムに通知し、全てのサブシステムが、同一の電流指令値に基づいて各反力発生モータ１１ａ′〜１１ｃ′を駆動するようにすればよい。このようにすることによって、前述の実施の形態と同等の作用効果を得ることができる。
【０１１１】
また、前述の実施形態では、マスタサブシステムとスレーブサブシステムとで行う動作として、マスタサブシステムが転舵機構５に付与すべき転舵トルクを発生し得る分割転舵電流指令値Ｉｓ＊を算出して、スレーブサブシステムが分割転舵電流指令値Ｉｓ＊に基づいて転舵軸モータを制御する場合を説明した。しかし、これに限定されるものではない。すなわち、代表制御ユニットが目標トルクに基づいて各制御ユニットに指令情報を出力して、各制御ユニットがその指令情報に基づいてトルク発生手段を制御するものであれば、制御内容は限定されるものではない。
【０１１２】
また、前述の実施形態では、転舵装置１０又は反力装置５０を３つのサブシステムで構成した場合を説明した。しかし、２以上であればこの数のサブシステムを備えて構成することに限定されるものではない。
また、前述の実施形態では、誤作動履歴として考慮する誤作動内容や誤作動の発生時期を具体的に説明した。しかし、これに限定されるものではない。例えば、誤作動の発生時期として、現在から一週間前の期間を考慮するようにしてもよい。
【図面の簡単な説明】
【０１１３】
【図１】本発明の第１の実施の形態における操舵装置の一例を示す概略構成図である。
【図２】前記転舵装置の構成を示す概略構成図である。
【図３】前記操舵装置のサブシステムで実施するマスタサブシステム変更に係る処理の処理手順の一例を示すフローチャートである。
【図４】前記マスタサブシステム変更に係る処理中の自サブシステムの誤作動カウント初期化処理の処理手順の一例を示すフローチャートである。
【図５】前記マスタサブシステム変更に係る処理中の誤作動サブシステムによる誤作動カウント重み処理の処理手順の一例を示すフローチャートである。
【図６】前記マスタサブシステム変更に係る処理中の誤作動履歴の保存処理の処理手順の一例を示すフローチャートである。
【図７】正常時における信号の流れを示す概念図である。
【図８】転舵軸角度コントローラに異常が発生したときの信号の流れを示す概念図である。
【図９】転舵軸モータに異常が発生したときの信号の流れを示す概念図である。
【図１０】本発明を、前記図１の反力装置に適用した場合の概略構成図である。
【符号の説明】
【０１１４】
１  ステアリングホイール
２Ｌ、２Ｒ  転舵輪
３  コラムシャフト
１０  転舵装置
１１ａ，１１ｂ，１１ｃ  転舵軸モータ
１２ａ，１２ｂ，１２ｃ  モータドライバ
１３ａ，１３ｂ，１３ｃ  角度センサ
１４ａ，１４ｂ，１４ｃ  電流センサ
２０ａ，２０ｂ，２０ｃ  下位コントローラ
２３ａ，２３ｂ，２３ｃ  誤作動カウント処理部
２４ａ，２４ｂ，２４ｃ  マスタ優先度判定部
２５ａ，２５ｂ，２５ｃ  自己診断処理部
５０  反力装置
６０  上位コントローラ
１０１  ロバスト外乱補償器
１１１  逆算部
１１３  リミッタ
【図１】
2006069308.tif 000005
【図２】
2006069308.tif 000006
【図３】
2006069308.tif 000007
【図４】
2006069308.tif 000008
【図５】
2006069308.tif 000009
【図６】
2006069308.tif 000010
【図７】
2006069308.tif 000011
【図８】
2006069308.tif 000012
【図９】
2006069308.tif 000013
【図１０】
2006069308.tif 000014