JP2006069308A - 車両の操舵装置 - Google Patents

車両の操舵装置 Download PDF

Info

Publication number
JP2006069308A
JP2006069308A JP2004253413A JP2004253413A JP2006069308A JP 2006069308 A JP2006069308 A JP 2006069308A JP 2004253413 A JP2004253413 A JP 2004253413A JP 2004253413 A JP2004253413 A JP 2004253413A JP 2006069308 A JP2006069308 A JP 2006069308A
Authority
JP
Japan
Prior art keywords
subsystem
malfunction
control unit
master
steering
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004253413A
Other languages
English (en)
Inventor
Futoshi Matsuo
太 松尾
Yusuke Kato
裕介 加藤
Kazutaka Adachi
和孝 安達
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nissan Motor Co Ltd
Original Assignee
Nissan Motor Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nissan Motor Co Ltd filed Critical Nissan Motor Co Ltd
Priority to JP2004253413A priority Critical patent/JP2006069308A/ja
Publication of JP2006069308A publication Critical patent/JP2006069308A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Steering Control In Accordance With Driving Conditions (AREA)
  • Power Steering Mechanism (AREA)

Abstract

【課題】システムの変動の抑制を実現しつつマスタサブシステムの変更ができる。
【解決手段】車両の操舵システムは、複数のサブシステムSUBa〜SUBcの誤作動履歴に基づき当該複数のサブシステムSUBa〜SUBcのうちから一のマスタサブシステムを選定するとともに、マスタサブシステムが、目標トルクに基づいて各サブシステムSUBa〜SUBcに指令情報(制御用電流指令値)を出力して、各サブシステムSUBa〜SUBcが、指令情報に基づいて転舵軸モータ11a〜11cを制御する。
【選択図】図2

Description

この発明は、ステアリングホイールの操作に応じてアクチュエータにより転舵を行うようにした車両の操舵装置に関する。
従来、運転者が操舵するステアリングホイールと転舵輪の転舵機構とが機械的に切り離され、エンコーダ等の検出器によりステアリングホイールの操舵角を検出し、この操舵角検出値に応じて、アクチュエータにより車輪を転舵する操舵装置として、ステアバイワイヤ式の操舵装置が知られている。
この種の操舵装置では、例えばラックアンドピニオン機構等で構成される転舵機構を駆動するための転舵軸モータとこの転舵軸モータを駆動する転舵コントローラとからなるサブシステムが、複数、例えば2つ設けられて構成されている。そして、各サブシステムでは、当該サブシステム毎に設けられた角度センサにより転舵軸の変位量を検出し、この変位量と、上位コントローラからの目標転舵角指令値とに基づいて、サブシステム毎に制御量を算出し、これに基づいて転舵軸モータを駆動するようになっている(例えば非特許文献1参照)。
しかし、このような冗長構成となるステアバイワイヤ式の操舵装置では、各サブシステムで制御する転舵軸モータが相互に干渉し合い、互いに逆方向に駆動トルクを発生させる恐れがある。
その問題を解決するために、特許文献1に記載の技術では、静的に決められた優先順位(マスタ優先度)に基づいて、1つのサブシステムをマスタサブシステムに設定し、さらにその残りのサブシステムをスレーブサブシステムに設定して、サブシステムがマスタサブシステム又はスレーブサブシステムとして動作することで、アクチュエータを駆動させている。そして、このような構成において、マスタサブシステムが転舵用電流指令値を自サブシステムを含めてスレーブサブシステムに対して分配することで、各サブシステムで制御する転舵軸モータの相互干渉の抑制を可能にしている。
「エックスバイワイヤ・デービー6/6−24(XByWire−DB−6/6−24)」,第2.0.0版,エックスバイワイヤ・コンソーシアム(X−By−Wire Consortium),1998年11月26日,p.43−50 特開2004−142731号公報
前記特許文献1に記載の技術では、動作中のマスタサブシステムが異常を検出した場合、前記優先順位に従って、スレーブサブシステムとして動作していたサブシステムがマスタサブシステムに切り替わり、その新たにマスタサブシステムになったサブシステムが転舵用電流指令値をスレーブサブシステムに分配するようになる。
なお、故障が発生しても修理されない限り、当該故障したサブシステムはシステムに復帰することはない。また、一般的には、各サブシステムは故障に対する信頼性が設計上で同一であるから、各サブシステムが故障する確率は略同じになる。
ここで、前述したようにマスタサブシステムを変更すると、今までスレーブサブシステムとして動作していたサブシステムがマスタサブシステムになるため、その切り替わるまでの時間がかかること、また演算処理で算出する各種内部変数に誤差が生じることが予想される。しかし、切り替わるまで時間がかかったり、各種内部変数に誤差が生じたりしてしまうと、少なからずシステム変動が発生してしまう。しかしながら、マスタサブシステム変更時に各種内部変数の誤差発生等をなくすこと、すなわちシステム変動をなくすことは困難である。このようなことから、システム変動をなくすには、マスタサブシステムの変更をしない、又は極力回数を少なくした方が良い。
また、電磁ノイズ等により発生するサブシステムの誤作動については、その設置場所、環境、性能のバラツキにより発生する確率が異なってくる。さらに、そのような誤作動は、一時的な異常であるから、誤作動したサブシステムは、自身による自己診断結果、正常と判断すればシステムに復帰することもある。よって、前述したように静的に決められた優先順位でマスタサブシステムを決定すると、その優先順位が最も高いことで、あるサブシステムが、誤作動が多いのにもかかわらず、システムに復帰する度に再びマスタサブシステムに選定されるようになる。これでは、マスタサブシステム変更の頻度が増加してしまい、前述したようなシステム変動が頻発してしまう。
本発明は、前記問題に鑑みてなされたものであり、システムの変動の抑制を実現しつつマスタサブシステムの変更ができる車両の操舵装置の提供を目的とする。
本発明に係る車両の操舵装置は、操舵機構の操舵量に応じて当該操舵機構と機械的に分離された転舵機構を駆動制御する転舵装置と、前記転舵機構の転舵に伴う反力を前記操舵機構に付与する反力装置とを備え、前記転舵装置及び前記反力装置の少なくとも何れか一方は、前記転舵機構又は前記操舵機構にトルクを付与するトルク発生手段を有しかつ当該トルク発生手段のトルク発生量を制御する制御ユニットを複数備えて構成され、さらに前記転舵機構又は操舵機構に付与すべき目標トルクを前記複数の制御ユニットで発生するようにした車両の操舵装置である。
この車両の操舵装置では、前記複数の制御ユニットの誤作動履歴に基づき当該複数の制御ユニットのうちから一の代表制御ユニットを選定するとともに、前記代表制御ユニットが、前記目標トルクに基づいて各制御ユニットに指令情報を出力して、各制御ユニットが、前記指令情報に基づいて前記トルク発生手段を制御する。
ここで、指令情報に基づいてトルク発生手段を制御する制御ユニットには、代表制御ユニットも含まれるものとする。
本発明によれば、誤作動履歴に基づいて代表制御ユニットを選定することで、誤作動が少ない制御ユニットを代表制御ユニットとして選定できるようになり、この結果、代表制御ユニットの変更回数を抑えることができ、システムの変動を抑制することができる。
本発明を実施するための最良の形態(以下、実施形態という。)を図面を参照しながら詳細に説明する。
本実施形態は、本発明を適用した車両の操舵システムである。図1は、その操舵システムの構成の概略構成図である。
図中、10は、ステアリングホイール1とは機械的に切り離された転舵装置、50は、ステアリングホイール1に対して操舵反力を付与するための反力装置である。
この反力装置50は、公知の反力装置と同等に構成され、例えば転舵装置10における転舵軸の変位量及び図示しない車速検出手段によって検出した車速等に基づいて上位コントローラ60で算出された、転舵トルクに応じた目標反力トルクに基づいて、図示しない反力発生モータを駆動し、転舵トルクに見合った目標反力トルクをステアリングホイール1の回転中心部に取り付けられたコラムシャフト3に付与する。これによって、運転者に対し、操舵量に応じた操舵反力を与えている。
一方、転舵装置10は、図2に示すように、例えばラックアンドピニオン機構で構成される転舵機構5のピニオンを駆動するための転舵軸モータを駆動する制御ユニットとしての3つのサブシステム(第1乃至第3サブシステム)SUBa〜SUBcで構成されている。そして、これら第1乃至第3サブシステムSUBa〜SUBcは同一構成を有し、通信バス40を介して接続され、他のサブシステム及び上位コントローラ60との間で信号の授受を行っている。
第1サブシステムSUBaは、転舵機構5を駆動するための転舵軸モータ11aと、この転舵軸モータ11aを駆動するためのモータドライバ12aと、転舵機構5の動作による図示しない転舵軸の転舵角度及び転舵角速度を検出する角度センサ13aと、転舵軸モータ11aへの供給電流を検出する電流センサ14aと、角度センサ13aの検出信号及び上位コントローラ60からの目標転舵角指令値、又は他のサブシステムからの転舵角度の制御指令値と、電流センサ14aの検出信号とに基づいて転舵軸モータ11aへの電流指令値を算出し、これをモータドライバ12aに出力する下位コントローラ(例えば転舵軸角度コントローラともいう。)20aとを備えている。
なお、転舵軸モータ11aと転舵機構5との間には、図示しないクラッチ機構が設けられている。これにより、クラッチ機構を遮断状態にすることで、転舵軸モータ11aと転舵機構5との間の動力の伝達経路を遮断可能としている。これにより、第1サブシステムSUBaは、当該第1サブシステムSUBaの構成部位の異常、例えば転舵軸モータ11aの異常や下位コントローラ20aの異常を検出したときに、転舵軸モータ11aの駆動を停止するとともに、クラッチ機構を遮断状態に制御するようになっている。
下位コントローラ20aは、角度制御演算器21aと、電流制御演算器22aと、誤作動カウント処理部23aと、マスタ優先度判定部24aと、自己診断処理部25aとを備えている。
角度制御演算器21aは、角度センサ13aで検出した転舵軸の転舵角度及び転舵角速度、上位コントローラ60からの目標転舵角度指令値、他のサブシステムが正常動作しているか否かといった稼動状態、及び、予めサブシステムSUBa〜SUBcに対して設定された優先順位(マスタ優先度)に基づいて処理を行っている。これにより、角度制御演算器21aは、サブシステムSUBa〜SUBcのうち、自サブシステムの優先順位が最も高いときには、前記各種情報に基づいて転舵角度の制御量を算出するとともに、これを転舵角度の制御指令値として通信バス40を介して他のサブシステムに通知する。
電流制御演算器22aは、角度制御演算器21aで算出された転舵角度の制御量又は通信バス40を介して他のサブシステムから通知された転舵角度の制御指令値と、電流センサ14aの検出信号とに基づいて電流制御を行う。
誤作動カウント処理部23aは、例えば自サブシステムの誤作動回数を計数し、それにより得た誤作動カウント値(回数)を保持するように構成されている。この処理については、後で詳しく説明する。
マスタ優先度判定部24aは、マスタ優先度を決定するとともに、その決定したマスタ優先度に基づいてサブシステムSUBa〜SUBcのうち、代表制御ユニットとされるマスタとなるもの(以下、マスタサブシステムという。)とスレーブとなるもの(以下、スレーブサブシステムという。)とを認識する。ここで、マスタ優先度は、工場出荷時において初期設定されており、処理を開始した後では、誤作動カウント処理部23aで得た誤作動カウント値に基づいてマスタ優先度判定部24aにより決定される。
自己診断処理部25aは、自己診断処理を実施して、自サブシステムの構成部位の異常を検出するように構成されている。そして、自己診断処理部25aは、異常を検出した場合、その異常内容(誤作動内容)を誤作動カウント処理部23aに出力しており、誤作動カウント処理部23aでは、自己診断処理部25aから送られてきたその異常内容に基づいて誤作動カウント値を算出する。
以上のように第1サブシステムSUBaが構成されている。第2及び第3サブシステムSUBb,SUBcも、第1サブシステムSUBaと同一の機能構成を有していることから、ここでは、その説明は省略する。
なお、以下の説明では、サブシステムSUBa,SUBb,SUBc、転舵軸モータ11a,11b,11c、モータドライバ12a,12b,12c、角度センサ13a,13b,13c、電流センサ14a,14b,14c、角度制御演算器21a,21b,21c、電流制御演算器22a,22b,22c、誤作動カウント処理部23a,23b,23c及びマスタ優先度判定部24a,24b,24cそれぞれについて、特に特定して説明する必要がない場合には、サブシステムSUB、転舵軸モータ11、モータドライバ12、角度センサ13、電流センサ14、角度制御演算器21、電流制御演算器22、誤作動カウント処理部23及びマスタ優先度判定部24と総称することにする。
次に、サブシステムSUBa〜SUBcの個々の処理及びそのサブシステムSUBa〜SUBcにより構築されるシステム全体の処理を説明する。図3は、その処理の処理手順の一例を示すフローチャートである。
先ず、ステップS1で、各サブシステムSUBa〜SUBcの誤作動カウント処理部23a,23b,23cは、自サブシステムの誤作動カウント値初期化処理を行う。図4は、その処理の処理手順の一例を示すフローチャートである。
この図4に示すように、先ずステップS21において、誤作動カウント処理部23a,23b,23cは、過去の一定期間における誤作動カウント値C1を取得する。例えば、過去(前回)のイグニションのONからOFFまでの間に取得した誤作動カウント値を過去の誤作動カウント値C1として取得する。ここで、過去の誤作動カウント値とは、これ以降で説明する処理で、最近の誤作動カウント値C0として説明する値であって、その値が前回(例えば前回のイグニションのONからOFFのとき)のものをいう。そして、前回に得た最近の誤作動カウント値をシステムに保持しておくことで、今回の処理において、その前回に得ている最近の誤作動カウント値を過去の誤作動カウント値C1に置き換える。
続いて、各誤作動カウント処理部23a,23b,23cは、ステップS22において、そのようにシステムで保持していた最近の誤作動カウント値(前回における最近の誤作動カウント値)C0を0に初期化し、続くステップS23において、下記(1)式により誤作動カウント値Cを算出する。
誤作動カウント値C=誤作動内容による重みα+一定期間による重みβ+過去の誤作動カウント値C1 ・・・(1)
ここで、誤作動内容による重みα及び一定期間による重みβは、下記(2)式及び下記(3)式により算出される。
誤差内容による重みα=最近の誤作動カウント値C0×誤作動内容別の重み定数 ・・・(2)
一定期間による重みβ=最近の誤作動カウント値C0×一定期間の重み定数 ・・・(3)
ここで、誤作動内容別の重み定数は、誤作動の内容に応じて決定されている値である。また、一定期間の重み定数は、誤作動時期等に応じて決定されている値である。
前述したように、前回における最近の誤作動カウント値C0により過去の誤作動カウント値C1を算出し(前記ステップS21)、その後、当該最近の誤作動カウント値C0を0にして、初期化しているので、このステップS23では、最近の誤作動カウント値C0の乗算値として得られる誤差内容による重みα及び一定期間による重みβは実質的に0になる。これにより、ステップS23の処理の時点では、誤作動カウント値Cは、過去の誤作動カウント値C1(前回における最近の誤作動カウント値C0)と同値になる。
そして、ステップS24において、各サブシステムSUBa〜SUBcは、その算出した誤作動カウント値Cを通信バス40を介して他のサブシステムに通知する。
以上のような誤作動カウント値初期化処理により、各サブシステムSUBa〜SUBcは誤作動カウント値Cを算出する。そして、各サブシステムSUBa〜SUBcはステップS2に進む。
ステップS2では、各サブシステムSUBa〜SUBcは、通信バス40を介して他のサブシステムから通知された誤作動カウント値Cを取得する。
続いてステップS3において、各サブシステムSUBa〜SUBcのマスタ優先度判定部24a,24b,24cは初回マスタ優先度判定をする。
なお、このステップS1〜ステップS3の処理の実施タイミングは、イグニッションONから一定時間が経過した段階又はシステムを作動させる上で必要なサブシステムの起動が確認できた段階で、イグニッションON時の操舵制御の準備完了処理として行うものであり、その一の処理として、ステップS3において初回マスタ優先度判定を実施する。
ここで、各マスタ優先度判定部24a,24b,24cは、それぞれのサブシステムSUBa〜SUBcにおいて、誤作動カウント処理部23a,23b,23cが得た自サブシステムの誤作動カウント値Cと他のサブシステムの誤作動カウント値Cとを比較してマスタ優先度(マスタ優先順位)を決定する。
マスタ優先度は、サブシステムのうちマスタサブシステムとなり得る順番を示すものであり、誤作動カウント値Cが小さいほど高い値となる、すなわちマスタサブシステムとなり得る順位が高いことを示す。すなわち、誤作動カウント値Cが小さいほど、当該誤作動カウント値Cを得ているサブシステムは、マスタサブシステムとして選択される可能性が高くなるのである。なお、誤作動カウント値Cが同一値の場合、出荷時のマスタ優先度に従うようにしている。
なお、出荷時に全サブシステムSUBa〜SUBcが保持する誤作動カウント値Cは初期化(C=0)されていることから、出荷時のマスタ優先度は、第1サブシステムSUBa、第2サブシステムSUBb、第3サブシステムSUBcの順番でそれらがマスタサブシステムになり得るような値になっている。
各サブシステムSUBa〜SUBcは、このようなマスタ優先度に従って、自サブシステムがマスタサブシステムとして動作するのか、そのマスタサブシステムに従うスレーブサブシステムとして動作するのかを決定する。
続いてステップS4において、各サブシステムSUBa〜SUBcは通常動作を開始する。すなわち、各サブシステムSUBa〜SUBcのうち、前記ステップS3で決定したマスタ優先度が1番高いサブシステムは、自サブシステムが最優先のサブシステムであると認識して、マスタサブシステムとして通常動作を開始する。他のサブシステムについては、通常のサブシステム、すなわちスレーブサブシステムであると認識して、スレーブサブシステムとして通常動作を開始する。なお、マスタサブシステム及びスレーブサブシステムが実施する通常動作の内容については、後でマスタサブシステムとスレーブサブシステムとで実現される協調動作の具体例として説明する(後述の第3の具体例として説明)。
続いてステップS5において、各サブシステムSUBa〜SUBcの自己診断処理部25a,25b,25cは、通常動作の処理として自サブシステムの自己診断を実施し、これによりリアルタイムで誤作動の発生等の検出を実現している。そして、続くステップS6において、各サブシステムSUBa〜SUBcは、このステップS5において得た自己診断結果と、誤作動カウント処理部24a,24b,24cが保持している誤作動カウント値Cとを他のサブシステムに通知する。
その一方で、ステップS7において、各サブシステムSUBa〜SUBcは、前記ステップS5で得た自己診断結果に基づいて自サブシステムの誤作動判定を行う。ここで、誤作動しているサブシステムは、ステップS8に進み、誤作動していないサブシステムSUBは、ステップS13に進む。なお、当然、マスタサブシステム、スレーブサブシステムにかかわらず、誤作動を検出したサブシステムSUBは、ステップS8に進む。
以下、誤作動しているサブシステムSUBを誤作動サブシステムSUBといい、正常動作しているサブシステムSUBを正常サブシステムSUBということにする。
ステップS8以降では、誤作動サブシステムSUBは、誤作動発生時処理として誤作動カウント重み付け処理等を行う。
先ずステップS8において、誤作動サブシステムSUBは、誤作動カウント重み付け処理を行う。図5は、その処理の処理手順の一例を示すフローチャートである。
この図5に示すように、先ずステップS31において、誤作動サブシステムSUBの誤作動カウント処理部23は、最近の誤作動カウント値C0を更新する。ここで、最近の誤作動カウント値C0とは、図2に示す処理内で得た最新(直近)の誤作動カウント値Cをいう。例えば、前記一定期間の重み定数を規定する期間内において得た最新(直近)の誤作動カウント値Cである。
続いて、誤作動サブシステムSUBの誤作動カウント処理部23は、ステップS32において、前記(2)式により誤作動内容による重みαを算出し、続くステップS33において一定期間による重みβを前記(3)式により算出する。
ここで、誤作動内容による重みαの算出に用いる前記(2)式中の誤作動内容別の重み定数は、例えば前記ステップS5で自己診断処理部25が検出した誤作動内容に応じて決定されている。例えば、誤作動内容としては、角度センサ13の異常によるもの、電流センサ14の異常によるもの、通信バス40の異常によるもの等が挙げられ、誤作動内容別の重み定数は、このような異常内容に応じて決定されている。
また、一定期間による重みβの算出に用いる前記(3)式中の一定期間の重み定数は、例えば、誤作動の検出期間に応じて決定されている。例えば、誤作動の検出期間が短いほど、一定期間の重み定数を大きくする。言い換えれば、誤作動の検出時期が現時点から近くなる時期であるほど、一定期間の重み定数を大きくする。
そして、ステップS34において、誤作動サブシステムSUBの誤作動カウント処理部23は、前記ステップS31で更新した最近の誤作動カウント値C0と、前記ステップS32及びステップS33で算出した誤作動内容による重みα及び一定期間による重みβとに基づいて、前記(1)式により誤作動カウント値Cを算出する。
以上のような処理を行った後、誤作動サブシステムSUBは、図3に示すステップS9に進む。
ステップS9では、誤作動サブシステムSUBの誤作動カウント処理部23は、誤作動履歴を保存する。図6は、その誤作動履歴の保存処理の処理手順の一例を示すフローチャートである。
この図6に示すように、誤作動カウント処理部23は、先ずステップS41において前記ステップS8で算出した最近の誤作動カウント値C0として保存し、続くステップS42において過去の誤作動カウント値C1(前回における最近の誤作動カウント値C0)を保存する。すなわち、過去の誤作動カウント値C1を含まなく、かつ重み付けされていない誤作動カウント値Cとしての、最近の誤作動カウント値C0を保存する。
これにより、次回の処理の誤作動カウント初期化の際の誤作動カウント値Cの算出では、今回保存した最近の誤作動カウント値C0が過去の誤作動カウント値C1として用いられる。なお、誤作動内容による重みαと一定期間による重みβは一定期間の終了時(例えばイグニションOFF時)に保存されることなく削除される。
以上のような処理を行った後、誤作動サブシステムSUBは、図3に示すステップS10に進む。
ステップS10では、誤作動サブシステムSUBの自己診断処理部25は、再自己診断及び復帰判定を行う。具体的には、自己診断処理部25は、再自己診断により、誤作動内容や誤作動回数に基づいて自サブシステムが復帰可能であるか否かを判定する。そして、続くステップS11において、自己診断処理部25は、その判定結果に基づく判定を行う。ここで、自己診断処理部25は、復帰可能であると判定した場合、再び前記ステップS5からの処理を開始する。このとき、誤作動サブシステムSUBは、自己診断処理部25が得た自己診断結果、すなわち誤作動状態から復帰する情報を他のサブシステムSUBに通知する。
また、誤作動サブシステムSUBは、復帰不可能であると判定した場合、ステップS12に進む。ステップS12では、誤作動サブシステムSUBは、自サブシステムの故障処理を実施する。すなわち、誤作動サブシステムは、自身がサブシステムとして復帰することが不可能であると判断し、故障処理を実施する。このとき、故障処理の一処理として、誤作動サブシステムSUBは、自己診断処理部25が得た自己診断結果、すなわち誤作動状態から復帰不可能であるとする情報を他のサブシステムSUBに通知する。
一方、前記ステップS7で自サブシステムが正常であると判定した場合に進むステップS13では、正常サブシステムSUBは、自サブシステムを含めた正常サブシステムの数に変化があるか否かを判定する。すなわち、正常サブシステムSUBは、他のサブシステム(正常サブシステムや誤作動サブシステム)SUBからの自己診断結果を通信バス40を介して取得し、それら自己診断結果に基づいて正常サブシステムの数を得る。そして、正常サブシステムSUBは、そのように得た正常サブシステムの数が、前回値から変化したか否かを判定する。
ここで、正常サブシステムSUBは、正常サブシステムの数が変化している場合、マスタサブシステムが変更している可能性があるとして、ステップS14に進み、正常サブシステムの数が変化していない場合、再び前記ステップS5からの処理を開始する。
ステップS14では、正常サブシステムSUBは、正常サブシステムの数について、今回値と前回値とを比較して、正常サブシステムの数が増加しているのか又は減少しているのかを判定する。ここで、正常サブシステムは、正常サブシステムの数が減少している場合、ステップS17に進み、正常サブシステムの数が増加している場合、ステップS15に進む。
ステップS15では、正常サブシステムSUBのマスタ優先度判定部24は、マスタ優先度を再判定する。マスタ優先度の判定手順(優先順位の設定方法)は前記ステップS3のマスタ優先度判定処理と同様に行う。すなわち、正常サブシステムSUBのマスタ優先度判定部24は、自サブシステムの誤作動カウント値Cと他の正常サブシステムの誤作動カウント値Cとを比較することでマスタ優先度(優先順位)を決定する。そして、正常サブシステムSUBは、このステップS15でマスタ優先度判定部24によりマスタ優先度を再判定した後、ステップS16に進む。
一方、ステップS17では、正常サブシステムSUBは、マスタサブシステムが誤作動しているか否かを判定する。例えば、正常サブシステムSUBは、他のサブシステムから通知される自己判断結果に基づいてマスタサブシステムの誤作動を検出する。すなわち、マスタサブシステムが誤作動している場合には、当該マスタサブシステムは誤作動サブシステムとして前記ステップS8以降の処理を実施しており、その際、自己診断結果を他のサブシステムに通知している。正常サブシステムSUBは、このように誤作動しているマスタサブシステムから通知された自己診断結果に基づいてマスタサブシステムの誤作動を検出する。
ここで、正常サブシステムSUBは、マスタサブシステムが誤作動している場合、前記ステップS16に進み、マスタサブシステムが誤作動していない場合、再び前記ステップS5からの処理を行う。
ステップS16では、マスタサブシステム変更処理を行う。具体的には、前記ステップS15で得ているマスタ優先度に従ってマスタサブシステムの変更を行う。そして、マスタサブシステムを変更してから、再び前記ステップS5からの処理を開始する。
ところで、このステップS16でのマスタサブシステムの変更処理は、前記ステップS14で正常サブシステムの数が減少しているとされ、かつステップS17でマスタサブシステムが誤作動しているとされた場合にも実施されるようになっている。これにより、サブシステムの誤作動が発生している場合に、その誤作動したサブシステムがマスタサブシステムか否かを判定し、その判定結果として誤作動したサブシステムがマスタサブシステムであることを得た場合にも、マスタサブシステム変更をしている。
また、誤作動サブシステムがスレーブサブシステムであれば、マスタサブシステムの変更は不要なので、ステップS17からステップS5に進むことで、マスタサブシステムを変更することなく、各サブシステムは、マスタサブシステム又はスレーブサブシステムとしての通常動作を継続するようになる。
次に以上のような処理により実現されるシステムの一連の動作を説明する。
先ず、各サブシステムSUBa〜SUBcは、誤作動カウント値初期化処理により、前回における最近の誤作動カウント値C0(最近の誤作動カウント値C0の前回値)をもとに誤作動カウント値Cを取得して、その誤作動カウント値Cを通信バス40を介して他のサブシステムに通知する(前記ステップS1)。これにより、各サブシステムSUBa〜SUBcは、他のサブシステムの誤作動カウント値Cを取得する(前記ステップS2)。
続いて、各サブシステムSUBa〜SUBcは、初回マスタ優先度判定処理により、取得した誤作動カウント値Cに基づいてマスタ優先度を決定する(前記ステップS3)。そして、そのマスタ優先度に基づいて、一のサブシステムは、マスタサブシステムとして通常動作を開始して、他のサブシステムは、スレーブサブシステムとして通常動作を開始する(前記ステップS4)。
続いて、各サブシステムSUBa〜SUBcは、通常動作の処理として自己診断により、誤作動の検出を行うとともに、その自己診断結果と誤作動カウント値Cとを他のサブシステムに通知する(前記ステップS5及びステップS6)。その一方で、各サブシステムSUBa〜SUBcは、自己診断結果に基づいて自サブシステムの誤作動判定を行う(前記ステップS7)。
ここで、自己診断結果に基づいて自サブシステムが誤作動していると判断したサブシステムSUBは誤作動カウント重み付け処理を行う(前記ステップS8)。すなわち、その誤作動サブシステムSUBは、最近の誤作動カウント値C0を更新するとともに、誤作動内容による重みα及び一定期間による重みβを算出する(前記ステップS31〜ステップS33)。そして、誤作動サブシステムSUBは、更新した最近の誤作動カウント値C0と、そのように算出した誤作動内容による重みα及び一定期間による重みβとに基づいて誤作動カウント値Cを算出する(前記ステップS34)。これにより、誤作動サブシステムSUBは、誤作動内容による重みαと一定期間による重みβとを一時的に取り入れた値として誤作動カウントCを算出する。これにより、誤作動カウントCは、誤作動内容、誤作動検出期間に応じた値になる。
続いて、誤作動サブシステムSUBは、最近の誤作動カウント値C0を保存し、過去の誤作動カウント値C1(前回における最近の誤作動カウント値C0)を保存する(前記ステップS9)。ここで保存された最近の誤作動カウント値C0は、次回の処理の誤作動カウント初期化の際に誤作動カウント値Cの算出に用いられるようになる。
続いて、誤作動サブシステムSUBは、再自己診断により、誤作動内容や誤作動回数に基づいて自システムが復帰可能であるか否かを判定する(前記ステップS10)。ここで、誤作動サブシステムは、復帰可能であると判定した場合、再び自サブシステムの自己診断からの処理を開始する(前記ステップS5)。さらにこの時、誤作動サブシステムは、誤作動状態から復帰する情報を他のサブシステムに通知する。
そして、正常動作に復帰したサブシステムSUBは、誤作動カウント値Cを他のサブシステムに通知する(前記ステップS6)。すなわち、正常サブシステムSUBは、直前に発生した誤作動内容等を考慮して算出した誤作動カウント値Cを他のサブシステムに出力する。一方、復帰不可能であると判定した誤作動サブシステムSUBは故障処理を実施する(前記ステップS12)。
その一方で、正常サブシステムSUBは、自サブシステムを含めた正常サブシステムの数に変化があるか否かを判定する(前記ステップS13)。
ここで、正常サブシステムSUBは、正常サブシステムの数が変化していない場合、マスタサブシステムが変更している可能性がないので、再び自サブシステムの自己診断からの処理を開始する(前記ステップS13及びステップS5)。すなわち、正常サブシステムSUBがマスタサブシステムであれば、当該正常サブシステムSUBはマスタサブシステムとしての通常動作を維持し、そうでない場合には、正常サブシステムSUBはサブシステムとしての通常動作を維持する。
また、正常サブシステムSUBは、正常サブシステムの数が変化している場合には、正常サブシステムの数について、今回値と前回値とで比較し、その増減を判定する(前記ステップS13及びステップS14)。
ここで、正常サブシステムが増加している場合、正常サブシステムSUBは、マスタ優先度を再判定する(前記ステップS15)。ここで、正常サブシステムが増加するのは、誤作動していたサブシステムが正常動作に復帰したからである。このように正常サブシステムが増加すれば、マスタ優先度も当然変わってくるので、マスタ優先度を再決定する。そして、正常サブシステムは、そのように再決定したマスタ優先度に基づいてマスタサブシステム変更を実施する(前記ステップS16)。
一方、正常サブシステムSUBは、正常サブシステムが減少している場合、マスタサブシステムが誤作動しているか否かを判定し、マスタサブシステムSUBが誤作動していない場合には、再び自サブシステムの自己診断からの処理を開始する(前記ステップS17及びステップS5)。その一方で、正常サブシステムは、マスタサブシステムが誤作動していると判定した場合、マスタサブシステムの変更を実施する(前記ステップS16)。
これにより、正常サブシステムが増加している場合には、再決定したマスタ優先度に基づいてマスタサブシステムが変更される(前記ステップS14、ステップS15及びステップS16)。これにより、誤作動サブシステムSUBが正常動作に復帰したときに、当該復帰したサブシステムSUBをも含めて、マスタ優先度に基づくマスタサブシステム更新がなされるようになる。例えば、復帰したサブシステムSUBが元々スレーブサブシステムだったものであれば、マスタサブシステムを変更する必要がないことから、当該復帰したサブシステムSUBを含めた正常サブシステムSUBは、マスタサブシステム又はスレーブサブシステムとしてそのまま通常動作を維持するようになる。
一方、正常サブシステムが減少している場合において、マスタサブシステムが誤作動していると判定したときにも、マスタサブシステムが変更される(前記ステップS14、ステップS17及びステップS16)。これにより、誤作動サブシステムの発生により正常サブシステムの数が減少した場合に当該誤作動サブシステムSUBがマスタサブシステムであるときには、スレーブサブシステムのうちから最もマスタ優先度が高いサブシステムがマスタサブシステムに変更される。
また、誤作動サブシステムの発生により正常サブシステムの数が減少した場合でも、当該誤作動サブシステムSUBがスレーブサブシステムであれば、マスタサブシステムを変更する必要がないことから、正常サブシステムSUBは、マスタサブシステム又はスレーブサブシステムとしてそのまま通常動作を維持するようになる(前記ステップS14、ステップS17及びステップS5)。
次に前述の処理により実現される具体的な動作を説明する。
(1)第1の具体例
例えば、第1サブシステムSUBaの誤作動カウント値Cが0回、第2サブシステムSUBbの誤作動カウント値Cが0回、第3サブシステムSUBcの誤作動カウント値Cが1回とする。そして、第1サブシステムSUBaがマスタサブシステムになっており、他の第2及び第3サブシステムSUBb,SUBcがスレーブサブシステムになっていると仮定する。
そして、この条件の下、第1サブシステムSUBaが誤作動した場合、当該第1サブシステムSUBaの誤作動カウント値Cが増加するので、この時点で、正常作動しており、かつ誤作動カウント値Cが0回の第2サブシステムSUBbがマスタサブシステムとなり、正常動作しているが、誤作動カウント値Cが1回の第3サブシステムSUBcがスレーブサブシステムとなる。
また、誤作動した第1サブシステムSUBaが復帰した場合、その誤作動カウント値Cは1回になる。これにより、誤作動カウント値Cが0回の第2サブシステムSUBbは、マスタサブシステムとしての動作を維持する一方で、以前マスタサブシステムであった第1サブシステムSUBaは、復帰してもマスタサブシステムになることなく、スレーブサブシステムとして通常動作するようになる。
これにより、誤作動回数が多いサブシステムは、誤作動後たとえ復帰したとしても、マスタサブシステムとして選定され難くなり、この結果、マスタサブシステムの変更回数は少なくなり、システム変動を抑制することができる。
(2)第2の具体例
ここで、先ず下記表1を用いて、誤作動が発生した時期を考慮しないで誤作動回数だけに着目した場合のマスタサブシステムの変更について説明する。表1は、各サブシステムSUBa〜SUBcの過去の誤作動回数及び最近の誤作動回数の例を示す。
Figure 2006069308
この表1から、第1サブシステムSUBaは、過去の誤作動回数が多いが、最近の誤作動回数が少ないものであることがわかり、また、第2サブシステムSUBbは、過去の誤作動回数及び最近の誤作動回数がともに少ないものであることがわかり、また、第3サブシステムSUBcは、過去の誤作動回数が多いが、最近の誤作動回数が少ないものであることがわかる。
例えば、このような誤作動回数に基づいて、これまでの誤作動回数(過去の誤作動回数と最近の誤作動回数との加算値)が最も少ないサブシステムをマスタサブシステムにするようにすれば、これまでの誤作動回数が11回の第1サブシステムSUBaでなく、これまでの誤作動回数が4回の第2サブシステムSUBbがマスタサブシステムに選定されるようになる。
一方、誤作動回数でも、最近の誤作動回数に着目して、マスタサブシステムを選定したい場合もある。しかし、マスタサブシステムを選定する判断材料としてこれまでの全ての誤作動回数を入れてしまえば、そのようなマスタサブシステムの選定はできない。例えば、最近の誤作動回数に着目すれば、第1サブシステムSUBaの誤作動回数は0回、第2サブシステムSUBbの誤作動回数は2回となる。しかし、これまでの全ての誤作動回数でみると、前述したように、第1サブシステムSUBaの誤作動回数は11回、第2サブシステムSUBbの誤作動回数は4回となるので、その誤作動回数を基準にすると、第2サブシステムSUBbがマスタサブシステムとして選定されてしまうことになる。
次に、本発明を適用したシステムにおけるマスタサブシステムの変更について、下記表2を用いて説明する。
Figure 2006069308
本発明を適用したシステムでは、前記(1)式として示したように、最近の誤作動回数である最近の誤作動カウント値C0を基準とし、さらにその誤作動カウント値C0を誤作動内容や一定期間の誤作動に応じて重み付けをし、最終的な誤作動カウント値Cを得ている。前記表2は、第2サブシステムSUBbの最近の誤作動カウント値C0が2であり(前述の表1と同様)、その最近の誤作動カウント値C0が前記(1)式により一定期間の重み定数5で重み付けされている誤作動カウント値Cを示している。
これにより、これまでの誤作動回数、すなわち誤作動カウント値Cでみた場合、第1サブシステムSUBaでは11回、第2サブシステムSUBbでは12回となる。これにより、マスタ優先度では第1サブシステムSUBaが最優先のものとなり、当該第1サブシステムSUBaは、たとえこれまでの誤作動回数が多くてもマスタ優先度が下がることなく、マスタサブシステムとしての動作を維持するようになる。
これにより、近時に誤作動回数が多いサブシステムは、誤作動後たとえ復帰したとしても、マスタサブシステムとして選定され難くなり、この結果、マスタサブシステムの変更回数は少なくなり、システム変動を抑制することができる。
(3)第3の具体例
ここでは、誤作動内容とその重み定数(誤作動内容別の重み定数)との対応づけを主に説明する。
(3−1)システムの具体例
先ず、システム全体の通常動作、すなわちマスタサブシステムとスレーブサブシステムとの協調動作の具体的に説明する。その構成については、図1及び図2を参照する。
先ず、上位コントローラ60では、ステアリングホイール1の運転者による操舵量を検出する図示しない操舵角センサの検出信号等に基づいて公知の手順で目標転舵角指令値を算出しこれを転舵装置10に出力するとともに、公知の手順で転舵装置10における転舵軸の変位量、車速等に基づいて算出された、転舵トルクに応じた目標反力トルクに基づいて図示しない反力発生モータを駆動する。これによって、転舵トルクに見合った反力トルクがステアリングホイール1の回転中心部に取り付けられたコラムシャフト3に付与され、運転者に対し、操舵量に応じた操舵反力が付与される。
一方、転舵装置10の各サブシステムSUBa〜SUBcでは、自己診断を行い、自サブシステムが正常動作している場合には、その正常サブシステムは、上位コントローラ60からの目標転舵角指令値を読み込み、さらに、他のサブシステムからの自己診断結果を読み込む。そして、正常サブシステムは、前述したように正常サブシステムの数の変化、またその変化の増減、さらにマスタサブシステムの動作状態に基づいてマスタ優先度を判定する(前記ステップS13〜ステップS17)。
これにより、全てのサブシステムSUBa〜SUBcが正常動作しており、かつマスタ優先度が高いものから、第1サブシステムSUBa、第2サブシステムSUBb、第3サブシステムSUBcとなっているとすれば、第1サブシステムSUBaでは、自サブシステムのマスタ優先度が最も高いと認識し、第2サブシステムSUBbでは、自サブシステムのマスタ優先度が2番目に高いと認識し、第3サブシステムSUBcでは、自サブシステムのマスタ優先度が最も低いと認識する。
そして、最優先状態にある第1サブシステムSUBaでは、マスタサブシステムとしての通常動作として、角度センサ13aからの角度データを読み込み、これをスレーブサブシステムと認識した第2及び第3サブシステムSUBb,SUBcに通信バス40を介して通知する。
そして、第1サブシステムSUBaでは、上位コントローラ60から通知された目標転舵角指令値と、角度センサ13aから読み込んだ角度データと、に基づいてこの転舵角度が目標転舵角指令値に収束し得るために転舵機構5に付与すべき転舵トルクを算出し、この転舵トルクを発生し得る転舵電流指令値Iを算出する。
なお、この第1サブシステムSUBaで算出した転舵電流指令値IをIaと表し、以後、添字によって、転舵電流指令値Iを算出したサブシステムを表すものとする。
このとき、全てのサブシステムSUBa〜SUBcが正常であるから、正常サブシステムの数を“3”とする。そして、第1サブシステムSUBaは、転舵電流指令値Iaをその“3”で等分してサブシステム当たりの転舵電流指令値を算出し、これを分割転舵電流指令値Isとして通信バス40を介して第2及び第3サブシステムSUBb,SUBcに通知する。
なお、第1サブシステムSUBaで算出した分割転舵電流指令値IsをIsaと表し、以後、添字によって、分割転舵電流指令値Isを算出したサブシステムを表すものとする。
そして、第1サブシステムSUBaでは、この分割転舵電流指令値Isaを制御用電流指令値とし、電流センサ14aで検出した転舵軸モータ11aに供給される電流値が、制御用電流指令値つまり分割転舵電流指令値Isaと一致するよう、電流制御演算を行い、これに応じた駆動信号をモータドライバ12aに出力する。
一方、第2サブシステムSUBbでは、自サブシステムは最優先状態のサブシステムではないから、スレーブサブシステムとしての通常動作として、マスタサブシステムと認識した第1サブシステムSUBaから通知された角度センサ13aの角度データを読み込み、これに基づいて転舵電流指令値Ibを算出し、この転舵電流指令値Ibを所定の記憶領域に保存しておく。
次いで、第2サブシステムSUBbでは、第1サブシステムSUBaにおいて算出した分割転舵電流指令値Isaを読み込み、これを制御用電流指令値とする。そして、第2サブシステムSUBbでは、電流センサ14bで検出した転舵軸モータ11bに供給される電流値を読み込み、この転舵軸モータ11bへの供給電流が、制御用電流指令値、つまり、第1サブシステムSUBaで算出した分割転舵電流指令値Isbと一致するよう、電流制御演算を行い、これに応じた駆動信号をモータドライバ12bに出力する。
同様に、第3サブシステムSUBcでも、スレーブサブシステムとしての通常動作として、マスタサブシステムとして認識した第1サブシステムSUBaから通知された角度センサ13aの角度データを読み込み、これに基づいて転舵電流指令値Icを算出しこれを所定の記憶領域に保存する
さらに、第3サブシステムSUBcでは、第1サブシステムSUBaから分割転舵電流指令値Isaを読み込んで、これを制御用電流指令値とし、電流センサ14cで検出した転舵軸モータ11cに供給される電流値を読み込み、この転舵軸モータ11cへの供給電流が、制御用電流指令値、つまり第1サブシステムSUBaで算出した分割転舵電流指令値Isaと一致するよう電流制御演算を行い、これに応じた駆動信号をモータドライバ12cに出力する。
以上の動作における、各サブシステムSUBa〜SUBc間での信号の流れを表したものが、図7であって、第2及び第3サブシステムSUBb,SUBcは、第1サブシステムSUBaで算出した分割転舵電流指令値Isaを通信バス40を介して受信し、この分割転舵電流指令値Isaと、各角度センサ13a〜13cの検出信号とに基づいて、各転舵軸モータ11a〜11cを駆動制御する。
したがって、各サブシステムSUBa〜SUBcのモータドライバ12a〜12cでは、駆動信号に応じて転舵軸モータ11a〜11cを駆動するが、このとき、各サブシステムSUBa〜SUBcにおいては、各転舵軸モータ11a〜11cへの供給電流が分割転舵電流指令値Isaとなるように制御を行うから、各転舵軸モータ11a〜11cは同じ回転方向にかつ同じ大きさのトルクを発生するように駆動されることになる。
また、この状態から、図8に示すように、最優先の状態にあった第1サブシステムSUBaにおいて異常が発生すると、当該第1サブシステムSUBaでは、自己診断の結果として異常であることを検出するから、当該第1サブシステムSUBaが異常であることを通信バス40を介して他のサブシステムSUBb,SUBcに通知する。そして、以後、第1サブシステムSUBaは、自己診断の結果正常と判断されるまでは、駆動軸モータ11aを駆動しない。
一方、正常な第2サブシステムSUBbでは、第1サブシステムSUBaが異常であることが通知されているから、自己が保持しているマスタ優先度にしたがって、第1サブシステムSUBaの次に優先度の高い、自サブシステムが最優先状態にあると認識する。
したがって、第2サブシステムSUBbは、角度センサ12bの検出信号を他の正常サブシステム、つまり第3サブシステムSUBcに通知するとともに、これに基づいて転舵電流指令値Ibを算出し、現在の正常サブシステムの数、この場合“2”で等分した値を、分割転舵電流指令値Isbとして算出し、これを制御用電流指令値として設定するとともに、これを他の正常サブシステム、つまり第3サブシステムSUBcに通知する。
そして、第2サブシステムSUBbは、この分割転舵電流指令値Isbと電流センサ14bの検出信号とに基づいて電流制御演算を行い、転舵軸モータ11bを駆動する。
一方、第3サブシステムSUBcでは、第2サブシステムSUBbの次に優先順位が高いから、第2サブシステムSUBbから角度データを受信し、これに基づいて転舵電流指令値Icを算出しこれを所定の記憶領域に格納するとともに、第2サブシステムSUBbから分割転舵電流指令値Isb を入力し、これと電流センサ14cの検出信号とに基づいて電流制御演算を行い、転舵軸モータ11cを駆動する。
したがって、この場合も、転舵軸モータ11b,11cは、同一の分割転舵電流指令値Isbに基づいて制御が行われるから、同一方向に回転しかつ同じ大きさのトルクを発生することになる。また、このとき、第1サブシステムSUBaに異常が発生しているため、本来ならば3つの転舵軸モータ11a〜11cによってトルクを発生すべきところを、2つの転舵軸モータ11b,11cによってトルクを発生することになるが、転舵電流指令値Ibを2等分し、これを分割転舵電流指令値Isbとして設定しているから、二つの転舵軸モータ11b,11cのみを駆動する場合であっても、転舵電流指令値Ibに応じたトルクが発生されることができる、つまり、転舵角度を目標転舵角指令値に一致し得るトルクを発生させることができる。
また、例えば、各サブシステムSUBa〜SUBcが正常に動作し、第1サブシステムSUBaが最優先状態のサブシステムとして動作している状態から、図9に示すように、第2サブシステムSUBbの転舵軸モータ11bに異常が発生した場合には、当該第2サブシステムSUBbは、自己診断を行ったときにこれを検出する。これにより、第2サブシステムSUBbでは、当該第2サブシステムSUBbが異常であることを他のサブシステムSUBa,SUBcに通知する。
第1サブシステムSUBaでは、角度センサ13aの検出信号及び目標転舵角指令値に基づいて前記と同様にして転舵電流指令値Iaを算出するが、正常なサブシステムは第1及び第3サブシステムSUBa,SUBcの二つであるから転舵電流指令値Iaを二等分して分割転舵電流指令値Isaを算出する。
一方、第3サブシステムSUBcでは、第2サブシステムSUBbが異常であることを認識するが、第1サブシステムSUBaの方がマスタ優先度が高いから、当該第1サブシステムSUBaから通知される分割転舵電流指令値Isaに基づいて転舵軸モータ11cを駆動する。
そして、この状態から、さらに、第1サブシステムSUBaが異常となった場合には、第3サブシステムSUBcでは、自サブシステムよりもマスタ優先度の高い第1及び第2サブシステムSUBa,SUBbが共に異常であるから、自サブシステムが最優先状態にあると認識し、角度センサ13cの検出信号と上位コントローラ60からの目標転舵角指令値とに基づいて転舵電流指令値Icを算出する。そして、この場合、第3サブシステムSUBcは、自サブシステムだけが正常であることを認識していることから、この転舵電流指令値Icを分割転舵電流指令値Iscとし、この分割転舵電流指令値Iscに基づいて転舵軸モータ11cを駆動する。つまり、転舵軸モータ11cのみによって、転舵トルクを発生させることになる。
このように、何れかのサブシステムが代表となって分割転舵電流指令値Isを算出し、この代表のサブシステムにおいて算出した分割転舵電流指令値Isに基づいて各サブシステムでは転舵軸モータを駆動するようにしているから、各転舵軸モータは、供給される電流値が分割転舵電流指令値Isとなるように駆動制御されることになる。
よって、各転舵軸モータ11a〜11cはそれぞれ異なる下位コントローラ20a〜20cによって駆動制御されるが、同一の分割転舵電流指令値Isに基づいて駆動制御されるから、同一方向にかつ同じトルクを発生するように動作することになる。したがって、各転舵軸モータ11a〜11cが互いに干渉することを回避することができる。
また、サブシステムSUBa〜SUBcのうち何れかのサブシステムに異常が発生した場合であっても、各サブシステムにおいて、他のサブシステムの異常状態を認識するようにし、正常なサブシステムの何れかが代表となり分割転舵電流指令値Isを算出するようにしているから、代表のサブシステムに異常が発生した場合であっても、他のサブシステムにおいて的確に分割転舵電流指令値Isを算出することができる。また、このとき、正常なサブシステムの数に応じて分割転舵電流指令値Isを算出するようにしているから、何れかのサブシステムにおいて、転舵軸モータを駆動することができない場合であっても、転舵トルクとして発生すべきトルクを確実に発生させることができ、継続して転舵トルクを発生することができる。
特に、転舵装置10は、排気マニホールド或いは排気管に近い場所等、熱環境の悪い場所に設置されているため、転舵軸モータ11a〜11cは、過熱等による悪影響を受けやすい。しかしながら前述のように、何れかの転舵軸モータに異常が発生した場合であっても継続して転舵トルクを発生させることができるから、冗長性をより有効に活用することができる。
また、最優先のサブシステムを例えば第1サブシステムSUBaとしたとき、当該第1サブシステムSUBaでは、その角度センサ13aで算出した角度データを、他のサブシステムSUBb,SUBcに通知し、通知された各サブシステムSUBb,SUBcにおいても、この通知された角度データをもとに、転舵電流指令値Iをそれぞれ算出するようにしている。
ここで、転舵電流指令値Iを算出する際には、前回の転舵電流指令値I等、前回の転舵電流指令値Iの算出に用いた各種内部変数に基づいて、今回の転舵電流指令値Iを算出するようにしている。したがって、仮に第2サブシステムSUBbで、転舵電流指令値Iを算出していないものとすると、第1サブシステムSUBaに異常が発生し、第1サブシステムSUBaに代わり第2サブシステムSUBbが転舵電流指令値Iを算出するための角度制御演算を引き継いで行う場合、第2サブシステムSUBbでは、転舵電流指令値Iを算出していないため、新たに内部変数の算出等を行う必要がある。しかしながら、前述のように、第2及び第3サブシステムSUBb,SUBcにおいても、転舵電流指令値Iを算出するようにしているから、当該第2及び第3サブシステムSUBb,SUBcにおいて角度制御演算を引き継ぐ場合であっても、速やかに引き継ぎを行うことができる。また、このとき、第2及び第3サブシステムSUBb,SUBcにおいては、自サブシステムの角度センサ13b,13cの検出信号ではなく、角度制御演算を行っている第1サブシステムSUBaの角度センサ13aの検出信号に基づいて、転舵電流指令値Iを算出するようにしているから、内部変数を変えることなく、そのまま転舵電流指令値Iの算出を行うことができる。
以上が、マスタ優先度に基づいてマスタサブシステムとスレーブサブシステムとして各サブシステムSUBa〜SUBcが協調動作するシステムの具体例である。
(3−2)誤作動内容とその重み定数との対応づけ
前述のようなシステムにおいて、誤作動内容とその重み定数とを次のように対応づけている。
(3−2−1)誤作動内容別の重み定数が大きい場合
サブシステムの誤作動がシステム全体に対して影響を及ぼすものであり、当該誤作動が発生すればシステム全体に急激な変動を与える可能性がある場合、誤作動内容別の重み定数(誤作動重み付け)を大きい値、例えば5とする。
例えば、角度センサ13a,13b,13cが異常になった場合、誤作動内容別の重み定数を5にする。これは、角度センサ13a,13b,13cが異常になった場合、適切でない角度に基づいて算出した分割転舵電流指令値Isa,Isb,Iscをスレーブサブシステムである他のサブシステムに通知することになり、これにより全サブシステムが、そのような適切でない分割転舵電流指令値Isa,Isb,Iscに基づいて転舵軸モータ11a,11b,11cを制御することになる。これでは、システム全体に急激な変動が発生する可能性がある。
このようなことから、角度センサ13a,13b,13cが異常になった場合には、それによるサブシステムの誤作動がシステム全体に対して影響を及ぼすものであり、当該誤作動が発生すればシステム全体に急激な変動を与える可能性があるとして、誤作動内容別の重み定数を5にする。
(3−2−2)誤作動内容別の重み定数が中程度の場合
サブシステムの誤作動がシステム全体に対して影響を及ぼすものであり、当該誤作動が発生すればシステム全体に急激ではないが変動を与える可能性がある場合、誤作動内容別の重み定数(誤作動重み付け)を中程度の値、例えば4とする。
例えば、通信バス40が異常になった場合、誤作動内容別の重み定数を4にする。これは、通信バス40が異常になった場合でも、角度センサ13a,13b,13cが正常であれば、正常な角度に基づいて分割転舵電流指令値Isa,Isb,Iscを算出することができるものの、そのように算出した分割転舵電流指令値Isa,Isb,Iscを通信バス40を介してマスタサブシステムからスレーブサブシステムに通知できなくなる。これにより、スレーブサブシステムはマスタサブシステムからの分割転舵電流指令値Isa,Isb,Iscに基づいて転舵軸モータ11a,11b,11cを制御できなくなるが、それによりシステムが急激に変動することはない。
このようなことから、通信バス40が異常になった場合には、それによるサブシステムの誤作動がシステム全体に対して影響を及ぼすものであり、当該誤作動が発生すればシステム全体に急激ではないが変動を与える可能性があるとして、誤作動内容別の重み定数を4とする。
(3−2−3)誤作動内容別の重み定数が小さい場合
サブシステムの誤作動がシステム全体に対して影響を与えない場合、誤作動内容別の重み定数(誤作動重み付け)を小さい値、例えば2とする。
例えば、電流センサ14a,14b,14cが異常になった場合、誤作動内容別の重み定数を2にする。これは、電流センサ14a,14b,14cが異常になった場合でも、その影響は当該電流センサを備えるサブシステム内で収まる。このようなことから、電流センサ14a,14b,14cが異常になった場合には、それによるサブシステムの誤作動がシステム全体に対して影響を与えないので、誤作動内容別の重み定数を2とする。
以上のように、誤作動内容と前記誤作動内容別の重み定数とを対応づけている。
そして、前述したように、誤作動サブシステムSUBは、そのような誤作動内容に応じて決定した誤作動内容別の重み定数を用いて、前記(2)式により誤作動内容による重みαを算出し、その算出した誤作動内容による重みαを用いて、前記(1)式により誤作動カウント値Cを算出している(前記ステップS8)。そして、誤作動サブシステムSUBが算出した誤作動カウント値Cは、当該誤作動サブシステムが正常状態に復帰した時点で、他のサブシステムに通知される(前記ステップS6)。これにより、正常サブシステムSUBは、通知された誤作動カウント値Cに基づいてマスタ優先度を再決定している(前記ステップS16)。
これにより、マスタ優先度は、サブシステムの誤作動がシステム全体に及ぼす影響の度合いを考慮して決定されたものになり、この結果、システムに対する影響が大きい誤作動を過去に発生しているサブシステムはマスタサブシステムとして選定されにくくなる。
次に実施形態における効果を説明する。
前述したように、各サブシステムの誤作動カウント値、すなわち誤作動履歴に基づいてマスタ優先度を決定しており、マスタサブシステム変更が生じた際には、その決定したマスタ優先度に基づいてマスタサブシステムを変更している。
これにより、サブシステムが誤作動する度に、誤作動カウント値が増加し、誤作動履歴が更新されるから、マスタ優先度も更新されるので、静的な優先順位ではなく、動的な優先順位に基づいて、マスタサブシステムの変更がなされるようになる。
例えば、前記特許文献1のように、静的にマスタ優先度を決定している場合には、誤作動が多いサブシステムでも、そのマスタ優先度が一番高くなっている限り、当該サブシステムが復帰する度に、マスタサブシステム変更がなされるようになる。これでは、システム変動が頻発してしまう。
これに対して、本発明を適用することで、最新の誤作動履歴に基づいて動的に優先順位を決定することで、静的な優先順位が一番高いサブシステムでも、誤作動が多い場合、特に近時に誤作動が多い場合、マスタサブシステムとして選定され難くなり、これにより、システム変動が頻発してしまうことを抑制できる。
また、前述したように、誤作動履歴として誤作動内容や誤作動が発生した期間(時期)を考慮して、マスタ優先度を決定している。
ここで、ノイズ等による誤作動の発生頻度は、誤作動の内容、すなわちシステムにおかれている環境に影響される。さらに、そのような環境は時間とともに変化する。そして、サブシステムの誤作動は、そのようなシステムにおかれている環境や経時変化するその環境に大きく影響される。
このようなことから、誤作動履歴として誤作動内容や誤作動が発生した期間(時期)を考慮することで、システムがおかれている環境や経時変化するその環境を考慮したマスタ優先度の決定をすることができ、より現状に合致させてマスタサブシステム変更をできるようになる。これにより、システム変動の発生をより抑制できる。
また、前述したように、角度センサが異常になった場合には、誤作動内容別の重み定数を5にしており(前記(3−2−1)誤作動内容別の重み定数が大きい場合の説明)、サブシステムの誤作動が発生した場合のシステムの角度制御への影響が大きくなるようなときほど、当該サブシステムをマスタサブシステムとして選定され難くしている。
すなわち、マスタサブシステムでは、転舵機構5に付与すべき転舵トルクを発生し得る転舵電流指令値Iを算出し、さらに転舵電流指令値Iに基づいてスレーブサブシステムが用いる分割転舵電流指令値Isを算出するなど、角度制御演算を主に行っている。そして、マスタサブシステムが転舵電流指令値Iを角度センサから読み込んだ角度データに基づいて算出していることから、角度センサに異常、すなわち角度制御演算で使用する角度データ等の情報の異常は、システム全体に大きく影響してしまう。
例えば、電流センサが異常になっても、その異常は角度制御演算にそれほど影響しない。これに対して、角度センサが異常になると、転舵電流指令値Iやスレーブサブシステムが用いる分割転舵電流指令値Isが適切な値として算出されないので、システム全体が大きな影響を受けてしまう。また、電流センサが異常になった場合、そのサブシステムは本来の動作とは異なる動作をするものの、他のサブシステムが正常動作するので、実角度が誤った方向に行こうとしても、角度制御のフィードバックループによって補正される方向で電流指令値が演算されるようになる。この結果、電流センサが異常になっても、システム全体への影響度は少ない。
このようなことから、角度センサが異常になり、その異常によりサブシステムが誤作動している場合には、そのサブシステムをマスタサブシステムとして選定され難くしている。
以上、本発明の実施形態を説明した。しかし、本発明は、前述の実施形態として実現されることに限定されるものではない。
すなわち、前述の実施形態では、本発明を転舵装置10に適用した場合について説明した。しかし、これに限定されるものではない。例えば、反力装置50が図10に示すように、転舵装置10と同様に、複数の反力発生モータによってコラムシャフト3に操舵反力を付与するようにした構成であれば、反力装置50に適用することも可能である。
すなわち、図10に示すように、各反力発生モータ11a′〜11c′をそれぞれ駆動制御するための反力発生コントローラ20a′〜20c′を設け、コラムシャフト3の回転角度を検出するための角度センサ13a′〜13c′の検出信号と、上位コントローラ60で算出された目標反力トルクに応じたコラムシャフト3の目標回転角度と、に基づいて、角度制御演算器21a′〜21c′において角度制御演算を行い、この角度制御演算器21a′〜21c′において算出された電流指令値と、電流センサ14a′〜14c′で検出された反力発生モータ11a′〜11c′への供給信号とを一致し得る駆動電流を電流制御演算器22a′〜22c′において算出し、これを反力発生モータ10a′〜10c′に供給し駆動する。
また、自己診断処理部25a′〜25c′において自己診断処理を実施して、自サブシステムの構成部位の異常を検出して、誤作動カウント処理部23a′〜23c′において自己診断処理部25a′〜25c′が検出した異常内容に基づいて誤作動カウント値を得て、マスタ優先度判定部24a′〜24c′において誤作動カウント処理部23a′〜23c′が得た誤作動カウント値に基づいてマスタ優先度を決定する。
そして、前述の実施形態と同様に、マスタ優先度が一番高いサブシステムにおいて電流指令値の算出を行い、これを通信バス40′を介して他のサブシステムに通知し、全てのサブシステムが、同一の電流指令値に基づいて各反力発生モータ11a′〜11c′を駆動するようにすればよい。このようにすることによって、前述の実施の形態と同等の作用効果を得ることができる。
また、前述の実施形態では、マスタサブシステムとスレーブサブシステムとで行う動作として、マスタサブシステムが転舵機構5に付与すべき転舵トルクを発生し得る分割転舵電流指令値Isを算出して、スレーブサブシステムが分割転舵電流指令値Isに基づいて転舵軸モータを制御する場合を説明した。しかし、これに限定されるものではない。すなわち、代表制御ユニットが目標トルクに基づいて各制御ユニットに指令情報を出力して、各制御ユニットがその指令情報に基づいてトルク発生手段を制御するものであれば、制御内容は限定されるものではない。
また、前述の実施形態では、転舵装置10又は反力装置50を3つのサブシステムで構成した場合を説明した。しかし、2以上であればこの数のサブシステムを備えて構成することに限定されるものではない。
また、前述の実施形態では、誤作動履歴として考慮する誤作動内容や誤作動の発生時期を具体的に説明した。しかし、これに限定されるものではない。例えば、誤作動の発生時期として、現在から一週間前の期間を考慮するようにしてもよい。
本発明の第1の実施の形態における操舵装置の一例を示す概略構成図である。 前記転舵装置の構成を示す概略構成図である。 前記操舵装置のサブシステムで実施するマスタサブシステム変更に係る処理の処理手順の一例を示すフローチャートである。 前記マスタサブシステム変更に係る処理中の自サブシステムの誤作動カウント初期化処理の処理手順の一例を示すフローチャートである。 前記マスタサブシステム変更に係る処理中の誤作動サブシステムによる誤作動カウント重み処理の処理手順の一例を示すフローチャートである。 前記マスタサブシステム変更に係る処理中の誤作動履歴の保存処理の処理手順の一例を示すフローチャートである。 正常時における信号の流れを示す概念図である。 転舵軸角度コントローラに異常が発生したときの信号の流れを示す概念図である。 転舵軸モータに異常が発生したときの信号の流れを示す概念図である。 本発明を、前記図1の反力装置に適用した場合の概略構成図である。
符号の説明
1 ステアリングホイール
2L、2R 転舵輪
3 コラムシャフト
10 転舵装置
11a,11b,11c 転舵軸モータ
12a,12b,12c モータドライバ
13a,13b,13c 角度センサ
14a,14b,14c 電流センサ
20a,20b,20c 下位コントローラ
23a,23b,23c 誤作動カウント処理部
24a,24b,24c マスタ優先度判定部
25a,25b,25c 自己診断処理部
50 反力装置
60 上位コントローラ
101 ロバスト外乱補償器
111 逆算部
113 リミッタ

Claims (9)

  1. 操舵機構の操舵量に応じて当該操舵機構と機械的に分離された転舵機構を駆動制御する転舵装置と、前記転舵機構の転舵に伴う反力を前記操舵機構に付与する反力装置とを備え、前記転舵装置及び前記反力装置の少なくとも何れか一方は、前記転舵機構又は前記操舵機構にトルクを付与するトルク発生手段を有しかつ当該トルク発生手段のトルク発生量を制御する制御ユニットを複数備えて構成され、さらに前記転舵機構又は操舵機構に付与すべき目標トルクを前記複数の制御ユニットで発生するようにした車両の操舵装置であって、
    前記複数の制御ユニットの誤作動履歴に基づき当該複数の制御ユニットのうちから一の代表制御ユニットを選定するとともに、前記代表制御ユニットは、前記目標トルクに基づいて各制御ユニットに指令情報を出力して、各制御ユニットは、前記指令情報に基づいて前記トルク発生手段を制御することを特徴とする車両の操舵装置。
  2. 前記複数の制御ユニットの誤作動履歴を取得する誤作動履歴取得手段と、前記誤作動履歴取得手段が取得した誤作動履歴に基づいて、前記複数の制御ユニットについて代表制御ユニットとして選定される優先度を決定する優先度決定手段とを備えており、
    前記優先度決定手段が決定した優先度に基づいて、前記複数の制御ユニットのうちから一の代表制御ユニットを選定することを特徴とする請求項1記載の車両の操舵装置。
  3. 前記誤作動履歴は、前記制御ユニットが誤作動を発生する度に更新されることを特徴とする請求項1又は2に記載の車両の操舵装置。
  4. 前記複数の制御ユニットのうちで誤作動回数が最も少ない制御ユニットを前記代表制御ユニットとして選定することを特徴とする請求項1乃至3のいずれか一に記載の車両の操舵装置。
  5. 前記制御ユニットの誤作動内容に基づいて前記代表制御ユニットの選定をすることを特徴とする請求項1乃至4のいずれか一に記載の車両の操舵装置。
  6. 前記制御ユニットの誤作動が発生することで装置の動作への影響が大きくなるほど、当該制御ユニットを前記代表制御ユニットとして選定し難くすることを特徴とする請求項5記載の車両の操舵装置。
  7. 前記制御ユニットの誤作動の発生時期が最近のものであるほど、当該制御ユニットを前記代表制御ユニットとして選定し難くすることを特徴とする請求項1乃至6のいずれか一に記載の車両の操舵装置。
  8. 前記制御ユニットの誤作動が前記転舵機構又は前記操舵機構の角度制御への影響度合いが大きいほど、当該制御ユニットを前記代表制御ユニットとして選定し難くすることを特徴とする請求項1乃至7のいずれか一に記載の車両の操舵装置。
  9. 前記代表制御ユニットが前記各制御ユニットに出力する指令情報は、前記代表制御ユニットが前記目標トルクに基づいて当該制御ユニット毎に発生すべきトルクに応じた電流指令値であり、各制御ユニットは、前記電流指令値に基づいて前記トルク発生手段を制御することを特徴とする請求項1乃至8のいずれか一に記載の車両の操舵装置。
JP2004253413A 2004-08-31 2004-08-31 車両の操舵装置 Pending JP2006069308A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004253413A JP2006069308A (ja) 2004-08-31 2004-08-31 車両の操舵装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004253413A JP2006069308A (ja) 2004-08-31 2004-08-31 車両の操舵装置

Publications (1)

Publication Number Publication Date
JP2006069308A true JP2006069308A (ja) 2006-03-16

Family

ID=36150383

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004253413A Pending JP2006069308A (ja) 2004-08-31 2004-08-31 車両の操舵装置

Country Status (1)

Country Link
JP (1) JP2006069308A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017043338A (ja) * 2015-08-27 2017-03-02 Ntn株式会社 車両操舵装置
WO2017033884A1 (ja) * 2015-08-27 2017-03-02 Ntn株式会社 車両操舵装置
JP2018047875A (ja) * 2016-09-23 2018-03-29 株式会社ジェイテクト モータ制御装置及びステアリング装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017043338A (ja) * 2015-08-27 2017-03-02 Ntn株式会社 車両操舵装置
WO2017033884A1 (ja) * 2015-08-27 2017-03-02 Ntn株式会社 車両操舵装置
JP2018047875A (ja) * 2016-09-23 2018-03-29 株式会社ジェイテクト モータ制御装置及びステアリング装置

Similar Documents

Publication Publication Date Title
US10906581B2 (en) Rack-limiting condition detection and the corresponding steering wheel torque feedback for steer by wire steering systems
RU2731400C1 (ru) Система рулевого управления
CN110077420B (zh) 一种自动驾驶控制系统和方法
CN100497065C (zh) 车辆转向系统
CN109533007B (zh) 线控转向系统诊断
JP2019119253A (ja) ステアバイワイヤシステム
JP6282452B2 (ja) 車両操舵用制御装置
US20190176874A1 (en) Notification for rack limiting conditions for steer by wire steering systems
JP2007190985A (ja) 車両用操舵装置
US7220156B2 (en) Outboard motor steering control system
JP2006069308A (ja) 車両の操舵装置
JP5062241B2 (ja) 船舶の操舵装置
JP5239245B2 (ja) 車両用操舵制御装置
JP4151496B2 (ja) 車両の操舵装置
JP2006228002A (ja) 故障検知機能付き二重系システム
JP2008024011A (ja) 車両用操舵制御装置及びそれに備えられたモータ回転角センサの初期化方法
JP2017013542A (ja) 車両操舵用制御装置
JP7348824B2 (ja) 船舶用推進装置
JP4556657B2 (ja) 車両用操舵制御装置
KR102652155B1 (ko) 스티어 바이 와이어 시스템의 이중 구조를 갖는 반력 제어 장치 및 그 방법
JP4479424B2 (ja) 車両の操舵装置
JP5360240B2 (ja) 船舶の操舵装置
JP2022024300A (ja) ステアバイワイヤ方式の車両の制御装置
JP4247472B2 (ja) モータ磁極位置センサの故障検出方法と故障時の駆動方法
JP2023101134A (ja) ステアリングシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070625

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090813

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090825

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091023

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100223