(57)【要約】      （修正有）【課題】個々のコントローラの冗長度を必要以上に上げることなく、システム全体でエラーをバックアップすることにより、簡潔なＥＣＵの構成で、低コストで、高い信頼性とリアルタイム性と拡張性とを確保した車両制御装置を提供する。【解決手段】車両を制御するためのアクチュエータ５を作動させるアクチュエータコントローラ３は、指令コントローラ１が生成する制御目標値に異常が生じたときには、アクチュエータコントローラが受信したネットワーク上のセンサコントローラ２のセンサ値に基づいて制御目標値に生成する制御目標値生成手段を有し、制御目標値生成手段によって生成した制御目標値によってアクチュエータを制御する。【選択図】図１
2014208527.tif 000002
【特許請求の範囲】
【請求項１】
車両の状態量、運転者の操作量を示すセンサ信号を取り込むセンサコントローラと、
前記センサコントローラが取り込んだセンサ信号に基づいて制御目標値を生成する指令コントローラと、
前記指令コントローラから制御目標値を受けて車両を制御するためのアクチュエータを作動させるアクチュエータコントローラと、がネットワークで接続される車両制御装置であって、
前記アクチュエータコントローラは、前記指令コントローラが生成する制御目標値に異常が生じたときには、当該アクチュエータコントローラが受信したネットワーク上の前記センサコントローラのセンサ値に基づいて制御目標値に生成する制御目標値生成手段を有し、前記制御目標値生成手段によって生成した制御目標値によってアクチュエータを制御することを特徴とする車両制御装置。
【請求項２】
前記センサコントローラは、減速度指示手段、加速度指示手段および舵角指示手段であり、前記アクチュエータコントローラは、制動力制御手段、駆動力制御手段および舵角制御手段であり、前記指令コントローラは、車両の運動状態を制御する車両運動統合制御手段であり、
前記指令コントローラに異常が生じたときには、前記制動力制御手段は前記減速度指示手段の操作量に基づいて制動力を制御し、前記駆動力制御手段は前記加速度指示手段の操作量に基づいて駆動力を制御し、前記舵角制御手段は前記舵角指示手段の操作量に基づいて舵角を制御することを特徴とする請求項１に記載の車両制御装置。
【請求項３】
前記指令コントローラは、車両運動状態を推定する車両状態推定手段と、
車両のとるべき目標運動状態を算出する目標状態演算手段と、推定した車両の運動状態と目標運動状態に基づいて車両に発生させる操作力・モーメントを演算する操作力・モーメント演算手段と、前記操作力・モーメントに基づき、前記制動力制御手段と前記駆動力制御手段と前記舵角制御手段とに対する制御目標値を算出する操作量演算手段と、
を備えた車両運動統合制御手段により構成されていることを特徴とする請求項１又は２に記載の車両制御装置。
【請求項４】
車両の運動状態および目標運動状態は、車両の剛体運動における状態量であることを特徴とする請求項３に記載の車両制御装置。
【請求項５】
前記車両状態推定手段は、車両に固定された局所座標系における運動状態と、特定の地点に固定された座標系における運動状態と、車両が走行している周囲の環境と、車両の備える制御手段の故障状態とを推定・管理することを特徴とする請求項３または４に記載の車両制御装置。
【請求項６】
前記目標状態演算手段は、前記減速度指示手段と前記加速度指示手段と前記舵角指示手段の操作量と前記車両運動状態に基づいて運転者の操縦意図を算出し、車両の力学的な定数と車両の備える制御手段の仕様と車両の備える制御手段の故障状態とに基づいて車両の取りうる限界運動状態を算出し、前記車両運動状態と前記運転者の操縦意図と前記限界運動状態に基づいて目標運動状態を算出することを特徴とする請求項３から５の何れか一項に記載の車両制御装置。
【請求項７】
前記操作力・モーメント演算手段は、車両に固定された局所座標系における操作力・モーメントを算出することを特徴とする請求項３から６の何れか一項に記載の車両制御装置。
【請求項８】
前記操作量演算手段は、前記操作力・モーメントに基づいてタイヤ毎に発生させるタイヤ力ベクトルを算出するタイヤベクトル演算手段と、前記タイヤ力ベクトルに基づいて前記制動力制御手段と前記駆動力制御手段と前記舵角制御手段とにおける制御目標値を算出する操作量振り分け部と、を有することを特徴とする請求項３から７の何れか一項に記載の車両制御装置。
【請求項９】
前記タイヤベクトル演算手段は、車両に固定した局所座標系における力ベクトルを演算することを特徴とする請求項８に記載の車両制御装置。
【請求項１０】
前記操作量振り分け部は、車両の備える前記制動力制御手段と前記駆動力制御手段と前記舵角制御手段の構成に対応して設けられることを特徴とする請求項８又は９に記載の車両制御装置。
【請求項１１】
少なくとも１つの駆動力発生源を複数の駆動輪で共有する構成を備えた駆動力制御手段を持つ請求項２から１０の何れか一項に記載の車両制御装置であって、
前記駆動力制御手段は、前記車両統合制御手段から各駆動輪で発生すべき駆動力を駆動輪毎に受付けて、少なくとも内燃機関と変速機と電動モータのいずれか２つを統合制御して駆動輪に駆動力を発生させる制御を行うことを特徴とする車両制御装置。
【請求項１２】
センサよりの運転者の要求信号および車両状態信号に基づいて操作量指令値を演算する操作量生成ノードと、該操作量生成ノードからの操作量指令値に基づいてアクチュエータを制御するアクチュエータ駆動ノードと、を有し、車両の駆動、操舵、制動を行う車両制御装置であって、
前記各ノードは、故障検出機能を備え、当該故障検出機能により、ノード内の故障を検出した場合には、当該ノード外部に、当該ノードが故障状態にあることを通知すること以外の作用を及ぼさないように構成され、いずれかのノードに故障が発生した場合、当該故障状態にあるノードからの故障検出通知に基づいて、当該ノード以外の正常なノードにおいて制御を切り替え、システム全体として正常動作を継続することを特徴とする車両制御装置。
【請求項１３】
運転者の要求を検出するセンサは、通信ネットワークに接続され、当該センサの故障を検出した場合には、当該センサ外部に、当該センサが故障状態にあることを通知すること以外の作用を及ぼさないように構成されることを特徴とする請求項１２に記載の車両制御装置。
【請求項１４】
前記運転者の要求を検出するセンサと、前記操作量生成ノードと前記アクチュエータ駆動ノードが同一の通信ネットワークに接続されていることを特徴とする請求項１２又は１３に記載の車両制御装置。
【請求項１５】
前記操作量生成ノードは、故障状態にあるノードからの故障検出通知を受信した場合には、故障箇所に応じて制御を切り替え、車両の走行状態を安定に保持することを特徴とする請求項１４に記載の車両制御装置。
【請求項１６】
前記アクチュエータ駆動ノードは、前記操作量生成ノードからの操作量指令値を受信できない場合には、運転者の要求を検出するセンサの信号に基づいて、操作量指令値を生成する操作量指令値生成機能を備えており、前記操作量生成ノードからの操作量指令値を受信できない時には、通常制御から前記操作量指令値生成機能を実現する制御に切り替え、車両の走行状態を安定に保持することを特徴とする請求項１４又は１５に記載の車両制御装置。
【請求項１７】
前記通信ネットワークは冗長化されていることを特徴とする請求項１４から１６の何れか一項に記載の車両制御装置。
【請求項１８】
前記通信ネットワークは、メインバスと、バックアップバスとから構成されており、前
記メインバスには、運転者の要求を検出する前記センサの全てと、前記操作量生成ノードと、前記アクチュエータ駆動ノードとが接続され、前記バックアップバスには、運転者の要求を検出する前記センサの一部と、前記アクチュエータ駆動ノードの一部とが接続され、前記メインバスの故障時には、前記アクチュエータ駆動ノード自体がセンサ信号に基づいて、操作量指令値を生成して車両の走行状態を安定に保持することを特徴とする請求項１７項に記載の車両制御装置。
【請求項１９】
前記センサは、複数のセンサエレメントと、当該複数のセンサエレメントの出力をデジタル値に変換するＡ／Ｄ変換器と、複数のＡ／Ｄ変換値の一致チェック機能と、フィルタ機能と、通信インタフェースとから構成されていることを特徴とする請求項１３から１８の何れか一項に記載の車両制御装置。
【請求項２０】
運転者の要求を検出するセンサは、ステアリングの回転角度を測定する操舵角センサ、ブレーキペダルの踏み込み量を測定するブレーキペダル位置センサ、およびアクセルペダルの踏み込み量を測定するアクセルペダル位置センサであり、
前記操作量生成ノードは、前記運転者の要求を検出するセンサの信号から運転者の意図を解釈し、車両状態を検出するセンサ信号と併せて、車両運動を総合的に制御する車両運動統合制御コントローラおよび車両の駆動系を総合的に制御する駆動系統合制御コントローラであり、
前記アクチュエータ駆動ノードは、操舵力を発生するステアリングアクチュエータを制御するステアリングアクチュエータ駆動コントローラ、ブレーキ力を生成するブレーキアクチュエータを制御するブレーキアクチュエータ駆動コントローラ、およびダンピング力を調整するサスペンションアクチュエータを制御するサスペンションアクチュエータ駆動コントローラであり、
これらのノードが同一の通信ネットワークに接続されていることを特徴とする請求項１４から１９の何れか一項に記載の車両制御装置。
【請求項２１】
車両の外界の状態を検出するレーダまたはカメラが前記通信ネットワークに接続されていることを特徴とする請求項２０に記載の車両制御装置。
【請求項２２】
前記アクセルペダル位置センサは、前記通信ネットワークに接続されると共に、前記駆動系統合制御コントローラからトルク指令値を受信し、これに基づいて内燃機関を制御するエンジン制御コントローラにも接続されていることを特徴とする請求項２０又は２１に記載の車両制御装置。
【請求項２３】
ブレーキペダルとブレーキ力発生機構が機械的に結合されていない場合には、少なくとも前記ブレーキペダル位置センサが単一故障時においても正常動作を継続するように構成されていることを特徴とする請求項２０又は２１に記載の車両制御装置。
【請求項２４】
ステアリングと操舵力発生機構が機械的に結合されていない場合には、前記操舵角センサおよび前記ステアリングアクチュエータ駆動コントローラが、単一故障時においても正常動作を継続するように構成され、且つステアリングアクチュエータが冗長化されていることを特徴とする請求項２０又は２１に記載の車両制御装置。
【請求項２５】
各々のステアリングアクチュエータが発生する力は、ステアリングと操舵力発生機構が機械的に結合されているシステムで使用するステアリングアクチュエータのそれと比較して小さいことを特徴とする請求項２４に記載の車両制御装置。
【請求項２６】
前記ステアリングアクチュエータ駆動コントローラは、ノード内の故障を検出した場合には、当該ノード外部に、当該ノードが故障状態にあることを通知すること以外の作用を及ぼさないように構成された駆動ノードを冗長化して構成され、当該駆動ノードが各々独立に前記冗長化されたステアリングアクチュエータを駆動されていることを特徴とする請求項２４に記載の車両制御装置。
【請求項２７】
前記ブレーキペダル位置センサおよび前記操舵角センサは、複数のセンサエレメントと、当該複数のセンサエレメントの出力をデジタル値に変換するＡ／Ｄ変換器と、複数のＡ／Ｄ変換値の一致チェック機能と、フィルタ機能と、通信インタフェースとから構成されて冗長化されていることを特徴とする請求項２３又は２４に記載の車両制御装置。
【請求項２８】
前記ブレーキペダル位置センサおよび操舵角センサは、少なくとも三つのセンサエレメントと、当該複数のセンサエレメントの出力をデジタル値に変換するＡ／Ｄ変換器と、複数のＡ／Ｄ変換値の多数決機能と、フィルタ機能と、通信インタフェースとから構成されていることを特徴とする請求項２３又は２４に記載の車両制御装置。
【請求項２９】
操作量を生成する操作量生成ノードと、補正量を生成する補正量生成ノードと、アクチュエータを駆動するアクチュエータ駆動ノードと、を有し、
前記アクチュエータ駆動ノードは、前記補正量生成ノードが正常である時には、該操作量に該補正量を加えた値を目標値として前記アクチュエータを制御し、前記補正量生成ノードが異常である時には、該操作量を目標値として前記アクチュエータを制御する車両制御装置。
【請求項３０】
操作量を生成する操作量生成ノードと、補正量を生成する補正量生成ノードと、アクチュエータを駆動するアクチュエータ駆動ノードと、を有し、
前記アクチュエータ駆動ノードは、前記補正量生成ノードが正常である時には、該操作量に該補正量を加えた値を目標値として前記アクチュエータを制御し、前記補正量生成ノードが異常である時には、該操作量に異常発生前の補正量の係数を乗じた値を加えた値を目標値として前記アクチュエータを制御する車両制御装置。
【請求項３１】
前記係数を補正生成ノードが異常となった時点からの経過時間に伴い所定の時定数をもって減少することを特徴とする請求項３０に記載の車両制御装置。
【請求項３２】
前記操作量生成ノードはステアリングコラムの操作角度により操作量を生成し、前記アクチュエータ駆動ノードは操舵機構を駆動することを特徴とする請求項２９から３１の何れか一項に記載の車両制御装置。
【請求項３３】
前記操作量生成ノードはブレーキペダルの操作角度または操作踏力により操作量を生成し、前記アクチュエータ駆動ノードは車輪に備えられたブレーキを駆動することを特徴とする請求項２９から３２の何れか一項に記載の車両制御装置。
【請求項３４】
前記補正量生成ノードは、加速度センサまたはヨーレートセンサを接続され、該加速度センサまたはヨーレートセンサの出力により補正量を生成することを特徴とする請求項２９から３３の何れか一項に記載の車両制御装置。
【請求項３５】
前記補正量生成ノードは、加速度センサまたはヨーレートセンサを接続し、該加速度センサまたはヨーレートセンサの出力及び前記操作量生成ノードが生成した操作量により補正量を生成することを特徴とする請求項２９から３４の何れか一項に記載の車両制御装置。
【請求項３６】
前記補正量生成ノードは、前記操作量生成ノードより処理性能が高いノードであることを特徴とする請求項２９から３５の何れか一項に記載の車両制御装置。
【請求項３７】
前記補正量生成ノードは、前記操作量生成ノードより動作周波数が高いノードであることを特徴とする請求項２９から３６の何れか一項に記載の車両制御装置。
【請求項３８】
前記操作量生成ノードは前記補正量生成ノードより故障率が低い構成によるノードであることを特徴とする請求項２９から３７の何れか一項に記載の車両制御装置。
【請求項３９】
前記補正量生成ノードは故障検出機能を有していることを特徴とする請求項２９から３８の何れか一項に記載の車両制御装置。
【請求項４０】
運転者の要求および車両状態に基づいてアクチュエータを制御する複数のアクチュエータ駆動手段と、前記複数のアクチュエータ駆動手段を接続する通信手段と、
を有し、車両の駆動、操舵、制動の少なくとも１つを制御する車両制御装置であって、
前記アクチュエータ駆動手段は、自己の動作状態および前記他のアクチュエータ駆動手段の動作状態に基づいて前記アクチュエータの制御方法を選択する制御方法選択手段を有することを特徴とする車両制御装置。
【請求項４１】
前記アクチュエータ駆動手段は、自己の故障を検出し、前記通信手段を介して前記他のアクチュエータ駆動手段に故障発生を通知する故障検出手段を備え、自己の故障状態および前記他のアクチュエータ駆動手段の故障状態に基づいて前記アクチュエータの制御方法を選択することを特徴とする請求項４０に記載の車両制御装置。
【請求項４２】
運転者の要求または車両状態に基づいてアクチュエータを制御する複数のアクチュエータ駆動手段と、前記複数のアクチュエータ駆動手段を接続する通信手段とを有し、車両の駆動、操舵、制動の少なくとも１つを制御する車両制御装置において、
前記アクチュエータ駆動手段は、前記他のアクチュエータ駆動手段から前記通信手段を介したメッセージの受信状態に基づいて前記アクチュエータの制御方法を選択する制御方法選択手段を備えることを特徴とする車両制御装置。
【請求項４３】
前記アクチュエータ駆動手段は、動作状態を通知するためのメッセージを他のアクチュエータ駆動手段に前記通信手段を介して送信し、前記他のアクチュエータ駆動手段から前記メッセージを受信したか否かに基づいて前記アクチュエータの制御方法を選択することを特徴とする請求項４２に記載の車両制御装置。
【請求項４４】
運転者の要求および車両状態に基づいて操作量指令値を演算する少なくとも１つの操作量生成手段と、前記操作量生成手段からの操作量指令値に基づいてアクチュエータを制御する複数のアクチュエータ駆動手段と、前記操作量生成手段と前記アクチュエータ駆動手段を接続する通信手段と、を有し、車両の駆動、操舵、制動の少なくとも１つを制御する車両制御装置であって、
前記アクチュエータ駆動手段は、自己の動作状態と、前記他のアクチュエータ駆動手段の動作状態と、前記操作量生成手段の動作状態に基づいて前記アクチュエータの制御方法を選択する制御方法選択手段を備えていることを特徴とする車両制御装置。
【請求項４５】
前記操作量生成手段は、自己の故障を検出し、前記通信手段を介して前記アクチュエータ駆動手段または前記操作量生成手段に故障発生を通知する故障検出手段を備え、
前記アクチュエータ駆動手段は、自己の故障を検出し、前記通信手段を介して前記他のアクチュエータ駆動手段または前記操作量生成手段に故障発生を通知する故障検出手段を備え、自己の故障状態と、前記他のアクチュエータ駆動手段の故障状態と、前記操作量生成手段の故障の発生状態に基づいて前記アクチュエータの制御方法を選択することを特徴とする請求項４４に記載の車両制御装置。
【請求項４６】
運転者の要求または車両状態に基づいて操作量指令値を演算する少なくとも１つの操作量生成手段と、前記操作量生成手段からの操作量指令値に基づいてアクチュエータを制御する複数のアクチュエータ駆動手段と、前記操作量生成手段と前記アクチュエータ駆動手段を接続する通信手段と、を有し、車両の駆動、操舵、制動の少なくとも１つを制御する車両制御装置であって、
前記アクチュエータ駆動手段は、他のアクチュエータ駆動手段または前記操作量生成手段からのメッセージの受信状態に基づいて前記アクチュエータの制御方法を選択する制御方法選択手段を備えることを特徴とする車両制御装置。
【請求項４７】
前記操作量生成手段は、操作量指令値を前記アクチュエータ駆動手段の各々に前記通信手段を介して送信し、前記アクチュエータ駆動手段は、前記操作量指令値を受信すると、応答メッセージを前記操作量生成手段または前記他のアクチュエータ駆動手段に前記通信手段を介して送信し、前記アクチュエータ駆動手段は、前記操作量生成手段からの操作量指令値または前記他のアクチュエータ駆動手段からの応答メッセージを受信したか否かに基づいて前記アクチュエータの制御方法を選択することを特徴とする請求項４６に記載の車両制御装置。
【請求項４８】
運転者の要求または車両状態を検知するセンサ手段と、前記センサ手段からの情報に基づいて操作量指令値を演算する少なくとも１つの操作量生成手段と、前記操作量生成手段からの操作量指令値または前記センサからの情報に基づいてアクチュエータを制御する複数のアクチュエータ駆動手段と、前記センサ手段と前記操作量生成手段と前記アクチュエータ駆動手段を接続する通信手段と、を有し、車両の駆動、操舵、制動の少なくとも１つを制御する車両制御装置であって、
前記アクチュエータ駆動手段は、自己の動作状態と、前記他のアクチュエータ駆動手段の動作状態と、前記操作量生成手段の故障の動作状態に基づいて、前記操作量生成手段からの操作量指令値を用いた制御方法、前記センサからの情報を用いた制御方法、前記アクチュエータを所定の状態にする制御方法のいずれかを選択する制御方法選択手段を備えるていることを特徴とする車両制御装置。
【請求項４９】
前記操作量生成手段は、自己の故障を検出し、前記通信手段を介して前記アクチュエータ駆動手段または前記操作量生成手段に故障発生を通知する故障検出手段を備え、
前記アクチュエータ駆動手段は、自己の故障を検出し、前記通信手段を介して前記他のアクチュエータ駆動手段または前記操作量生成手段に故障発生を通知する故障検出手段を備え、自己の故障状態と、前記他のアクチュエータ駆動手段の故障状態と、前記操作量生成手段の故障の発生状態に基づいて、前記操作量生成手段からの操作量指令値を用いた制御方法、前記センサからの情報を用いた制御方法、前記アクチュエータを所定の状態にする制御方法のいずれかを選択することを特徴とする請求項４８に記載の車両制御装置。
【請求項５０】
運転者の要求または車両状態を検知するセンサ手段と、前記センサ手段からの情報に基づいて操作量指令値を演算する少なくとも１つの操作量生成手段と、前記操作量生成手段からの操作量指令値または前記センサからの情報に基づいてアクチュエータを制御する複数のアクチュエータ駆動手段と、前記センサ手段と前記操作量生成手段と前記アクチュエータ駆動手段を接続する通信手段と、を有し、車両の駆動、操舵、制動の少なくとも１つを制御する車両制御装置であって、
前記アクチュエータ駆動手段は、前記他のアクチュエータ駆動手段または前記操作量生成手段からのメッセージの受信状態に基づいて、前記操作量生成手段からの操作量指令値を用いた制御方法、前記センサからの情報を用いた制御方法、前記アクチュエータを所定の状態にする制御方法のいずれかを選択する制御方法選択手段を備えていることを特徴とする車両制御装置。
【請求項５１】
前記操作量生成手段は、操作量指令値を前記アクチュエータ駆動手段の各々に前記通信手段を介して送信し、前記アクチュエータ駆動手段は、前記操作量指令値を受信すると、応答メッセージを前記操作量生成手段または前記他のアクチュエータ駆動手段に前記通信手段を介して送信し、前記アクチュエータ駆動手段は、前記操作量生成手段からの操作量指令値または前記他のアクチュエータ駆動手段からの応答メッセージを受信したかどうかに基づいて、前記操作量生成手段からの操作量指令値を用いた制御方法、前記センサからの情報を用いた制御方法、前記アクチュエータを所定の状態にする制御方法のいずれかを選択することを特徴とする請求項５０に記載の車両制御装置。
【請求項５２】
車両の駆動、操舵、制動を行う車両制御装置において、
運転者の要求を検出し信号出力するノードと、該要求信号に基づいて操作量指令値を演算し、信号出力する操作量生成ノードと、当該操作量生成ノードからの操作量指令値に基づいてアクチュエータを制御するアクチュエータ駆動ノードとを分散配置した構成をもち、
前記各ノードは、各信号出力を格納するデータ受信テーブルをもち、その内容を判定して、他ノードの故障検出機能を備えていることを特徴とする車両制御装置。
【請求項５３】
前記データ受信テーブルはメッセージの時刻を表す情報を含み、時刻の遅れがあらかじめ定められた値よりも大きい場合に、送信元またはその通信路が正常に作動していない、あるいは正常状態に復帰したと判断する機能を有することを特徴とする請求項５２に記載の車両制御装置。
【請求項５４】
前記データ受信テーブルは故障投票部を含み、あらかじめ定められたアルゴリズムに従って故障ノード、または正常状態に復帰したノードを特定する機能を有することを特徴とする請求項５２又は５３に記載の車両制御装置。
【請求項５５】
他ノードの故障診断情報を故障投票として出力することにより各ノードの故障判定状況を共有することを特徴とする請求項５４に記載の車両制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両の走行状態を制御する車両制御装置（車両制御システム）に係り、特に、自動車等の車両の原動機の駆動、操舵、制動を電子制御により行う車両制御装置に関する。
【背景技術】
【０００２】
従来より車両制御装置として、制動力や駆動力や操舵角に関する制御手段を、１つのマスタとなる電子制御装置によって集中制御する運転制御装置がある（たとえば、特許文献１）。
【０００３】
近年、自動車の運転快適性や安全性の向上を目指して、機械的な結合ではなく、電子制御により、運転者のアクセル、ステアリング、ブレーキなどの操作を車両の駆動力、操舵力、制動力発生機構に反映させる車両制御装置の開発が活発になっている。このような車両制御装置には、車両の駆動、操舵、制動に関する機能が失陥することのないように、高い信頼性が求められる。
【０００４】
従来、機械的機構で実現されていた制御が電気的機構に置き換わってきている。航空機制御ではＦｌｙ−ｂｙ−Ｗｉｒｅが、自動車制御ではＸ−ｂｙ−Ｗｉｒｅがその好例である。これらの用途では、従来は、故障に備えて機械的なバックアップ機構を有していたが、機械的機構がなくなるにつれて、電気的機構の高信頼化が必要となってきている。
【０００５】
自動車を電気的に制御するＸ−ｂｙ−Ｗｉｒｅ（ＸＢＷシステム）の中でも、ステアリングを電気的に制御するＳｔｅｅｒ−ｂｙ−Ｗｉｒｅや、ブレーキを電気的に制御するＢｒａｋｅ−ｂｙ−Ｗｉｒｅは、誤動作を生じず確実に動作することが要求され、高い信頼性を要求される。特に、Ｓｔｅｅｒ−ｂｙ−Ｗｉｒｅは、故障時に安全を保証する（フェ―ルセーフな）ステアリング位置が存在しないために、特に高い信頼性が要求される。
【０００６】
一方、Ｘ−ｂｙ−Ｗｉｒｅのメリットとしてステアリング、ブレーキを電子制御により総合的に制御することにより、車両安定性を向上させる、いわゆる車両安定制御により、自動車の安全性を高めるアクティブセーフティという考え方が広がってきている（例えば、特許文献３）。
【０００７】
また、高信頼な車両制御装置の従来例として、ＡＢＳ（ＡｎｔｉＬｏｃｋ  Ｂｒａｋｅ  Ｓｙｓｔｅｍ）、ＴＣＳ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌｌｅｄ  Ｓｙｓｔｅｍ）などの機能を備えるマスタコントローラを二重化することにより、信頼性を向上させているものや（例えば、非特許文献１）、前輪ブレーキの制御モジュールを、エラーが発生しても正常動作を継続するように構成し（フェールオペラティブ）、後輪ブレーキの制御モジュールを、エラーが発生した場合はその機能を停止するように構成する（フェールサイレント）ことにより高信頼化を図ってものがある（例えば、特許文献２）。
【０００８】
例えば、車両制御装置の一種として、ブレーキペダルなどの操縦手段に対する運転者の操作量を電気信号に変換し、これをＣＡＮ（Ｃｏｎｔｒｏｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などの通信手段によってブレーキ機構に備えた制御コンピュータに伝達し、電子制御を行う車両制御装置がある。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００３−２６３２３５号公報
【特許文献２】特開２００２−３４７６０２号公報
【特許文献３】特開平１０−２９１４８９号公報
【非特許文献】
【００１０】
【非特許文献１】Ｄ＆Ｍ日経メカニカル他主催の第１回「Ｘ−ｂｙ−Ｗｉｒｅ」セミナー資料の３〜６頁、スライド１２の左下図。
【発明の概要】
【発明が解決しようとする課題】
【００１１】
このような車両制御装置は、一般に、Ｘ−ｂｙ−Ｗｉｒｅシステムとして知られており、従来の機械的機構や油圧機構によって伝達する方式に比べ、コンピュータ使用による高度な走行統合制御の実現や、車両重量の軽量化、デザイン自由度の向上が可能になると言われている。
【００１２】
従来の車両制御装置では、運転者の操作量や車両の状態をモニタするセンサを１つのマスタとなる電子制御装置（マスタＥＣＵ）に入力し、車両制御用のアクチュエータである内燃機関制御装置やブレーキ制御装置やステアリング制御装置を統合制御しているから、マスタＥＣＵが故障すると、一切の操縦ができなくなってしまうため、安全性確保のためには、マスタＥＣＵの信頼性を極めて高くしなければならないという課題がある。
【００１３】
そこで、マスタＥＣＵを多重化して信頼性を確保する手法が公知であるが、高度な処理が要求されるマスタＥＣＵを多重化するためには、コストがかかるという課題がある。
【００１４】
従来型制御アーキテクチャでは、内燃機関、ステアリング、ブレーキといったサブシステムにより車両全体が構成されている。これは、アクセルと内燃機関、ハンドルとステアリング、ブレーキペダルとブレーキといったように、操作手段とアクチュエータとが１対１に対応していたためである。
【００１５】
現在実用化されているＸＢＷシステムは、上述の如き従来型制御アーキテクチャの延長として設計されているものが多い。すなわち、Ｄｒｉｖｅ−ｂｙ−Ｗｉｒｅ、Ｓｔｅｅｒ−ｂｙ−ＷｉｒｅおよびＢｒａｋｅ−ｂｙ−Ｗｉｒｅといった機能ごとに、サブシステムが構成され、これらサブシステム間の連携により車両運動制御を実現している。
【００１６】
これら従来技術（従来型制御アーキテクチャ）の課題を検討したところ、車両制御装置に求められる信頼性・リアルタイム性・拡張性を確保するためには、非常に高コストになるという課題があることが分かった。従来技術の課題を以下に示す。
【００１７】
車両統合車両制御装置には、高い信頼性が必要である。すなわち、コントローラやセンサ、アクチュエータに万が一故障が起こったとしても、車両が安全走行性を確保することが必要である。
【００１８】
従来技術では、サブシステム毎に機能開発を行うため、サブシステム毎にフェールオペラティブ性（故障時操作可能性）が必要になる。すなわち、従来技術では、サブシステム毎に、センサ（ハンドル、ペダル等）に基づいてアクチュエータ（ステア、ブレーキ等）を制御するＥＣＵが存在している。
【００１９】
ＥＣＵがセンサ・アクチュエータを集中的に制御しているため、システム全体にフェールオペラティブ性を持たせるには、サブシステム毎のＥＣＵにフェールオペラティブ性を持たせる必要がある。ＥＣＵにフェールオペラティブ性を持たせるためには、多重化等を行う必要があるため、製品コストの上昇につながる。
【００２０】
高信頼システムを低コストで実現するには、サブシステム毎にＥＣＵを持ち、そのＥＣＵをフェールオペラティブ化する従来構成では実現が難しい。
【００２１】
このことに対して、本発明者等は、ＥＣＵの持つ制御機能を、車両統合制御、アクチュエータ制御、センサ制御とに分離し、機能毎に必要十分な信頼性を与えたうえで、アクチュエータ制御機能に、車両統合制御機能の異常時でも、センサ情報に基づいて制御可能な自律的バックアップ機能を与えることができれば、高信頼低コストシステムの実現に有効であると考える。
【００２２】
また、車両制御装置では、厳密な時間制約を満足するハードリアルタイム処理が基本である。すなわち、乗員の操縦や路面状況の変化を制限時間内に制御に反映する必要がある。従来技術では、サブシステム毎に機能開発を行うため、サブシステム内でのリアルタイム性確保は比較的容易である。
【００２３】
しかし、例えば、横滑り姿勢制御のように、複数のアクチュエータを統合する制御の場合には、リアルタイム性の確保が困難になる。すなわち、１つのセンサから得た情報がブレーキ、ステア、内燃機関など複数のサブシステムの車両制御機能を伝播していくため、制御に必要なデッドライン内での動作保証が困難である。
【００２４】
さらに、データ伝播遅延のため、各サブシステムで参照するデータの同時性確保も困難となる。そのため、従来技術で車両運動制御の高度な連携を実現するためには、システムおよびサブシステムの適合・調整の工数が増大し、開発コストの増大につながる。
【００２５】
リアルタイム統合制御を低コストで実現するには、車両制御ロジックとデバイスドライバとが各ＥＣＵに分散し、ＥＣＵ間で連携を取る従来の構成では実現が難しい。
【００２６】
このことに対し、本発明者等は、制御機能を、車両統合ＥＣＵとデバイス（アクチュエータ、センサ）コントローラとに分離し、各々が自律的に動作してデータを共有することが出来れば、リアルタイム統合制御の実現に有効であると考える。
【００２７】
また、新型車開発では、開発コスト削減のために、共通プラットフォームを用いて複数車種を開発する方法が一般的である。そのため、車種毎の機能追加や、部品変更を容易に実施できるようにする必要がある。しかし、従来技術では、サブシステムレベルのＥＣＵで機能を実現しているため、センサ・アクチュエータレベルでの標準化は困難である。
【００２８】
すなわち、ＥＣＵが持つ制御ロジックとして、論理的・抽象的な制御アプリケーションと、センサ・アクチュエータを実際に制御するデバイスドライバ部分との両方が存在している。
【００２９】
デバイスドライバ標準化の動きもあるが、あくまでもインタフェース面の標準化であり、リアルタイム性やＥＣＵのリソース資源などの面で、制御アプリケーションと密接に関連している。
【００３０】
このため、センサ・アクチュエータの追加・変更があると、サブシステムレベルでの制御タスク等の設計見直しが発生し、開発コストの上昇につながるという問題点がある。
【００３１】
拡張性の高いシステムを実現するためには、センサ・アクチュエータが自律動作可能なようにコントローラを持たせたうえで、分散車両制御装置内に仮想的な共有メモリを設けル必要がある。このことに対して、本発明等は、各センサ・アクチュエータは、状態情報・制御目標値などの高次元インタフェースを用いて共有メモリにブロードキャストすると共に、各センサ・アクチュエータが必要なデータを自律的に取得・制御することが有効であると考える。
【００３２】
高信頼性を有する車両制御装置の実用化に向けた課題は、コストを大幅に増加させることなく、高い信頼性を実現することであるが、従来技術は、マスタコントローラあるいは制御モジュールの一部を、冗長化等の複雑なハードウェア構成によりフェールオペラティブとしており、コストの面では、まだ最適なシステム構成とはいえない。
【００３３】
また、上記従来技術でも、運転者が車両の限界を超えて操作を行った場合でもブレーキ操作などを電子的に修正して、車両のスリップ、スピンなどを回避して事故を未然に防ぐことができる。
【００３４】
しかし、ブレーキペダルや各種センサの情報から各車輪についたブレーキを電子制御ユニット（ＥＣＵ）が集中して制御しているから、電子制御ユニット（ＥＣＵ）が故障すると、ブレーキが操作しなくなるので、電子制御ユニット（ＥＣＵ）には高い信頼性が要求され、制御装置の信頼性について更に考慮が必要である。
【００３５】
本発明は、前記課題に鑑みてなされたものであって、その目的とするところは、個々のコントローラの冗長度を必要以上に上げることなく、システム全体でエラーをバックアップすることにより、簡潔なＥＣＵの構成で、低コストで、高い信頼性とリアルタイム性と拡張性とを確保した車両制御装置を提供することにある。
【課題を解決するための手段】
【００３６】
本発明に関わる車両制御装置は、センサスレーブコンピュータ（センサコントローラ）が同一ネットワーク上にセンサ値を出力し、マスターコンピュータ（指令コントローラ）が前記センサ値を受信し、センサ値に基づいて制御目標値を算出して前記ネットワーク上に出力すると共に、アクチュエータスレーブコンピュータ（アクチュエータコントローラ）が前記制御目標値を受信して、アクチュエータを制御する車両制御装置であって、前記アクチュエータスレーブコンピュータが前記制御目標値を正しく受信できないときには、前記アクチュエータスレーブコンピュータが、前記センサスレーブコンピュータが前記同一ネットワーク上に出力した前記センサ値を受信して当該センサ値に基づいて制御目標値を演算し、アクチュエータを制御する。
【００３７】
本発明に関わる車両制御装置は、運転者の要求信号および車両状態信号に基づいて操作量指令値を演算する操作量生成ノード、および当該操作量生成ノードからの操作量指令値に基づいてアクチュエータを制御するアクチュエータ駆動ノードから構成され、車両の駆動、操舵、制動を行う車両制御装置であって、前記各ノードは、故障検出機能を備え、当該故障検出機能により、ノード内の故障を検出した場合には、当該ノード外部に、当該ノードが故障状態にあることを通知すること以外の作用を及ぼさないように構成され、いずれかのノードに故障が発生した場合、当該故障状態にあるノードからの故障検出通知に基づいて、当該ノード以外の正常なノードにおいて制御を切り替えることにより、システム全体としては正常動作を継続する。
【００３８】
前記運転者の要求を検出するセンサは、通信ネットワークに接続され、当該センサ内の故障を検出した場合には、当該センサ外部に、当該センサが故障状態にあることを通知すること以外の作用を及ぼさないように構成されている。
【００３９】
センサは、具体的には、複数のセンサエレメント、当該複数のセンサエレメントの出力をデジタル値に変換するＡ／Ｄ変換器、複数のＡ／Ｄ変換値の一致チェック機能、フィルタ機能、および通信インタフェースから構成される。
【００４０】
前記操作量生成ノードは、故障状態にあるノードからの故障検出通知を受信した場合、故障箇所に応じて制御を切り替えることにより、車両の走行状態を安定に保持する。
【００４１】
前記アクチュエータ駆動ノードは、前記操作量生成ノードからの操作量指令値を受信できない場合に、前記運転者の要求を検出するセンサの信号に基づいて、操作量指令値を生成する機能を備えており、前記操作量生成ノードからの操作量指令値を受信できない時には、通常制御から当該機能を実現する制御に切り替えることにより、車両の走行状態を安定に保持する。
【００４２】
運転者の要求を検出するセンサ、操作量生成ノード、およびアクチュエータ駆動ノードは、同一の通信ネットワークに接続される。当該通信ネットワークは、メインバスと、バックアップバスから構成されており、メインバスには、運転者の要求を検出するセンサの全て、操作量生成ノードおよびアクチュエータ駆動ノードが接続され、バックアップバスには、運転者の要求を検出するセンサの一部、およびアクチュエータ駆動ノードの一部が接続され、メインバスの故障時には、アクチュエータ駆動ノードが、車両の走行状態を安定に保持する。
【００４３】
より具体的には、本発明に関わる車両制御装置においては、前記運転者の要求を検出するセンサは、ステアリングの回転角度を測定する操舵角センサ、ブレーキペダルの踏み込み量を測定するブレーキペダル位置センサ、およびアクセルペダルの踏み込み量を測定するアクセルペダル位置センサであり、操作量生成ノードは、前記運転者の要求を検出するセンサの信号から運転者の意図を解釈し、車両状態を検出するセンサ信号と併せて、車両運動を総合的に制御する車両運動統合制御コントローラ、および車両の駆動系を総合的に制御する駆動系統合制御コントローラであり、アクチュエータ駆動ノードは、操舵力を発生するステアリングアクチュエータを制御するステアリングアクチュエータ駆動コントローラ、ブレーキ力を生成するブレーキアクチュエータを制御するブレーキアクチュエータ駆動コントローラ、およびダンピング力を調整するサスペンションアクチュエータを制御するサスペンションアクチュエータ駆動コントローラであり、これらのノードが同一の通信ネットワークに接続される。また、車両の外界の状態を検出するレーダまたはカメラが、前記通信ネットワークに接続されるように構成してもよい。
【００４４】
さらに、前記アクセルペダル位置センサは、前記通信ネットワークに接続されると共に、前記駆動系統合制御コントローラからトルク指令値を受信し、これに基づいて内燃機関を制御するエンジン制御コントローラにも直接接続される。
【００４５】
このような車両制御装置において、ブレーキペダルとブレーキ力発生機構が機械的に結合されていない場合には、少なくともブレーキペダル位置センサを、単一故障時においても正常動作を継続するように構成する。
【００４６】
ステアリングと操舵力発生機構が機械的に結合されていない場合には、少なくとも操舵角センサおよびステアリングアクチュエータ駆動コントローラを、単一故障時においても正常動作を継続するように構成し、かつ、ステアリングアクチュエータを冗長化する。
【００４７】
各々のステアリングアクチュエータが発生する力は、ステアリングと操舵力発生機構が機械的に結合されているシステムで使用するステアリングアクチュエータのそれと比較して小さいことを特徴とする。
【００４８】
また、前記ステアリングアクチュエータ駆動コントローラは、ノード内の故障を検出した場合には、当該ノード外部に、当該ノードが故障状態にあることを通知すること以外の作用を及ぼさないように構成された駆動ノードを冗長化して構成され、当該駆動ノードが各々独立に、前記冗長化されたステアリングアクチュエータを駆動されている。
【００４９】
ブレーキ、ステアリングに関するバックアップ機構がない車両制御装置においては、前記ブレーキペダル位置センサおよび操舵角センサは、複数のセンサエレメント、当該複数のセンサエレメントの出力をデジタル値に変換するＡ／Ｄ変換器、複数のＡ／Ｄ変換値の一致チェック機能、フィルタ機能、および通信インタフェースから構成されるフェールサイレントなセンサを冗長化したものであるか、少なくとも三つのセンサエレメント、当該複数のセンサエレメントの出力をデジタル値に変換するＡ／Ｄ変換器、複数のＡ／Ｄ変換値の多数決機能、フィルタ機能、および通信インタフェースから構成されるフェールオペラティブなセンサである。
【００５０】
本発明に関わる車両制御装置は、操作量生成ノードと補正量生成ノードとアクチュエータ駆動ノードを備え、アクチュエータ駆動ノードでは、補正量生成ノードが正常な場合には操作量生成ノードからの操作量に、補正量生成ノードからの補正量を加えて制御目標値としてアクチュエータを制御し、補正量生成ノードが異常な場合には操作量生成ノードからの操作量を制御目標値としてアクチュエータを制御する。
【００５１】
その結果、補正量生成ノードが故障した場合であっても、補正は行われないものの操作量に基づいてアクチュエータを制御することができる。
【００５２】
また、本発明に関わる車両制御装置は、運転者の要求または車両状態に基づいてアクチュエータを制御する複数のアクチュエータ駆動手段と、複数のアクチュエータ駆動手段を接続する通信手段とを有し、車両の駆動、操舵、制動の少なくとも１つを制御する車両制御装置であり、アクチュエータ駆動手段は、自己の動作状態および他のアクチュエータ駆動手段の動作状態に基づいてアクチュエータの制御方法を選択する制御方法選択手段を備えている。
【００５３】
また、本発明に関わる車両制御装置は、運転者の要求または車両状態に基づいてアクチュエータを制御する複数のアクチュエータ駆動手段と、複数のアクチュエータ駆動手段を接続する通信手段とを有し、車両の駆動、操舵、制動の少なくとも１つを制御する車両制御装置であり、アクチュエータ駆動手段は、自己の故障を検出し、通信手段を介して他のアクチュエータ駆動手段に故障発生を通知する故障検出手段と、自己の故障状態および他のアクチュエータ駆動手段の故障状態に基づいてアクチュエータの制御方法を選択する制御方法選択手段を備えている。
【００５４】
また、本発明に関わる車両制御装置は、運転者の要求または車両状態に基づいてアクチュエータを制御する複数のアクチュエータ駆動手段と、複数のアクチュエータ駆動手段を接続する通信手段とを有し、車両の駆動、操舵、制動の少なくとも１つを制御する車両制御装置であり、アクチュエータ駆動手段は、他のアクチュエータ駆動手段から通信手段を介したメッセージの受信状態に基づいてアクチュエータの制御方法を選択する制御方法選択手段を備えている。
【００５５】
また、本発明に関わる車両制御装置は、運転者の要求または車両状態に基づいてアクチュエータを制御する複数のアクチュエータ駆動手段と、複数のアクチュエータ駆動手段を接続する通信手段とを有し、車両の駆動、操舵、制動の少なくとも１つを制御する車両制御装置であり、アクチュエータ駆動手段は、動作状態を通知するためのメッセージを前記他のアクチュエータ駆動手段に通信手段を介して送信し、他のアクチュエータ駆動手段から前記メッセージを受信したかどうかに基づいてアクチュエータの制御方法を選択する制御方法選択手段を備えている。
【００５６】
また、本発明に関わる車両制御装置は、運転者の要求または車両状態に基づいて操作量指令値を演算する少なくとも１つの操作量生成手段と、操作量生成手段からの操作量指令値に基づいてアクチュエータを制御する複数のアクチュエータ駆動手段と、操作量生成手段とアクチュエータ駆動手段を接続する通信手段とを有し、車両の駆動、操舵、制動の少なくとも１つを制御する車両制御装置であり、アクチュエータ駆動手段は、自己の動作状態と、他のアクチュエータ駆動手段の動作状態と、操作量生成手段の動作状態に基づいてアクチュエータの制御方法を選択する制御方法選択手段を備えている。
【００５７】
また、本発明に関わる車両制御装置は、運転者の要求または車両状態に基づいて操作量指令値を演算する少なくとも１つの操作量生成手段と、操作量生成手段からの操作量指令値に基づいてアクチュエータを制御する複数のアクチュエータ駆動手段と、操作量生成手段と前記アクチュエータ駆動手段を接続する通信手段とを有し、車両の駆動、操舵、制動の少なくとも１つを制御する車両制御装置であり、操作量生成手段は、自己の故障を検出し、通信手段を介して前記アクチュエータ駆動手段または操作量生成手段に故障発生を通知する故障検出手段を備え、アクチュエータ駆動手段は、自己の故障を検出し、通信手段を介して他のアクチュエータ駆動手段または操作量生成手段に故障発生を通知する故障検出手段と、自己の故障状態と、他のアクチュエータ駆動手段の故障状態と、操作量生成手段の故障の発生状態に基づいてアクチュエータの制御方法を選択する制御方法選択手段を備えている。
【００５８】
また、本発明に関わる車両制御装置は、運転者の要求または車両状態に基づいて操作量指令値を演算する少なくとも１つの操作量生成手段と、操作量生成手段からの操作量指令値に基づいてアクチュエータを制御する複数のアクチュエータ駆動手段と、操作量生成手段と前記アクチュエータ駆動手段を接続する通信手段とを有し、車両の駆動、操舵、制動の少なくとも１つを制御する車両制御装置であり、アクチュエータ駆動手段は、他のアクチュエータ駆動手段または操作量生成手段からのメッセージの受信状態に基づいてアクチュエータの制御方法を選択する制御方法選択手段を備えている。
【００５９】
また、本発明に関わる車両制御装置は、運転者の要求または車両状態に基づいて操作量指令値を演算する少なくとも１つの操作量生成手段と、操作量生成手段からの操作量指令値に基づいてアクチュエータを制御する複数のアクチュエータ駆動手段と、操作量生成手段と前記アクチュエータ駆動手段を接続する通信手段とを有し、車両の駆動、操舵、制動の少なくとも１つを制御する車両制御装置であり、操作量生成手段は、操作量指令値をアクチュエータ駆動手段の各々に通信手段を介して送信し、アクチュエータ駆動手段は、操作量指令値を受信すると、応答メッセージを操作量生成手段または他のアクチュエータ駆動手段に前記通信手段を介して送信し、アクチュエータ駆動手段は、操作量生成手段からの操作量指令値または他のアクチュエータ駆動手段からの応答メッセージを受信したかどうかに基づいてアクチュエータの制御方法を選択する制御方法選択手段を備えている。
【００６０】
また、本発明に関わる車両制御装置は、運転者の要求または車両状態を検知するセンサ手段と、センサ手段からの情報に基づいて操作量指令値を演算する少なくとも１つの操作量生成手段と、操作量生成手段からの操作量指令値または前記センサからの情報に基づいてアクチュエータを制御する複数のアクチュエータ駆動手段と、センサ手段と操作量生成手段とアクチュエータ駆動手段を接続する通信手段とを有し、車両の駆動、操舵、制動の少なくとも１つを制御する車両制御装置であり、アクチュエータ駆動手段は、自己の動作状態と、他のアクチュエータ駆動手段の動作状態と、操作量生成手段の故障の動作状態に基づいて、操作量生成手段からの操作量指令値を用いた制御方法、センサからの情報を用いた制御方法、アクチュエータを所定の状態にする制御方法のいずれかを選択する制御方法選択手段を備えている。
【００６１】
また、本発明に関わる車両制御装置は、運転者の要求または車両状態を検知するセンサ手段と、センサ手段からの情報に基づいて操作量指令値を演算する少なくとも１つの操作量生成手段と、操作量生成手段からの操作量指令値または前記センサからの情報に基づいてアクチュエータを制御する複数のアクチュエータ駆動手段と、センサ手段と操作量生成手段とアクチュエータ駆動手段を接続する通信手段とを有し、車両の駆動、操舵、制動の少なくとも１つを制御する車両制御装置であり、操作量生成手段は、自己の故障を検出し、通信手段を介してアクチュエータ駆動手段または操作量生成手段に故障発生を通知する故障検出手段を備え、アクチュエータ駆動手段は、自己の故障を検出し、通信手段を介して他のアクチュエータ駆動手段または操作量生成手段に故障発生を通知する故障検出手段と、自己の故障状態と、他のアクチュエータ駆動手段の故障状態と、操作量生成手段の故障の発生状態に基づいて、操作量生成手段からの操作量指令値を用いた制御方法、センサからの情報を用いた制御方法、アクチュエータを所定の状態にする制御方法のいずれかを選択する制御方法選択手段を備えている。
【００６２】
また、本発明に関わる車両制御装置は、運転者の要求または車両状態を検知するセンサ手段と、センサ手段からの情報に基づいて操作量指令値を演算する少なくとも１つの操作量生成手段と、操作量生成手段からの操作量指令値またはセンサからの情報に基づいてアクチュエータを制御する複数のアクチュエータ駆動手段と、センサ手段と前記操作量生成手段とアクチュエータ駆動手段を接続する通信手段とを有し、車両の駆動、操舵、制動の少なくとも１つを制御する車両制御装置であり、アクチュエータ駆動手段は、他のアクチュエータ駆動手段または操作量生成手段からのメッセージの受信状態に基づいて、操作量生成手段からの操作量指令値を用いた制御方法、センサからの情報を用いた制御方法、アクチュエータを所定の状態にする制御方法のいずれかを選択する制御方法選択手段を備えている。
【００６３】
また、本発明に関わる車両制御装置は、運転者の要求または車両状態を検知するセンサ手段と、センサ手段からの情報に基づいて操作量指令値を演算する少なくとも１つの操作量生成手段と、操作量生成手段からの操作量指令値またはセンサからの情報に基づいてアクチュエータを制御する複数のアクチュエータ駆動手段と、センサ手段と前記操作量生成手段とアクチュエータ駆動手段を接続する通信手段とを有し、車両の駆動、操舵、制動の少なくとも１つを制御する車両制御装置であり、操作量生成手段は、操作量指令値を前記アクチュエータ駆動手段の各々に通信手段を介して送信し、アクチュエータ駆動手段は、操作量指令値を受信すると、応答メッセージを操作量生成手段または前記他のアクチュエータ駆動手段に通信手段を介して送信し、アクチュエータ駆動手段は、操作量生成手段からの操作量指令値または他のアクチュエータ駆動手段からの応答メッセージを受信したかどうかに基づいて、操作量生成手段からの操作量指令値を用いた制御方法、センサからの情報を用いた制御方法、アクチュエータを所定の状態にする制御方法のいずれかを選択する制御方法選択手段を備えている。
【００６４】
また、本発明に関わる車両制御装置は、車両の駆動、操舵、制動を行う車両制御装置において、運転者の要求を検出し信号出力するノード、該要求信号に基づいて操作量指令値を演算し、信号出力する操作量生成ノード、および当該操作量生成ノードからの操作量指令値に基づいてアクチュエータを制御するアクチュエータ駆動ノード、を分散配置した構成をもち、前記各ノードは、各信号出力を格納するデータ受信テーブルをもち、その内容を判定して、他ノードの故障検出機能を備えている。
【００６５】
また、本発明に関わる車両制御装置は、データ受信テーブルにはメッセージの時刻を表す情報を含み、時刻の遅れがあらかじめ定められた値よりも大きい場合に送信元、または、その通信路が正常に作動していない、あるいは、正常状態に復帰したと判断する。
【００６６】
また、本発明に関わる車両制御装置は、データ受信テーブルには故障投票部を含み、あらかじめ定められたアルゴリズムに従って故障ノード、または、正常状態に復帰したノードを特定する機能を有する。これにより、ノードの故障発生および復帰を判定することができ、車両制御を安全に継続することができる。
【００６７】
また、本発明に関わる車両制御装置は、他ノードの故障診断情報を故障投票として出力することで、各ノードの故障判定状況を共有されているものである。これにより、各ノードの故障判定が一致するので、車両制御を安全に継続することができる。
【発明の効果】
【００６８】
この発明による車両制御装置は、操作量生成手段またはいずれかのアクチュエータ駆動手段が制御できなくなっても、他のアクチュエータ駆動手段によって車両制御を安全に継続することができる。これにより、個々のコントローラの冗長度を必要以上に上げることなく、簡潔なＥＣＵの構成で、低コストで、高い信頼性とリアルタイム性と拡張性とを確保することができる。
【図面の簡単な説明】
【００６９】
【図１】本発明による車両制御装置の第１の実施形態の基本的構成を示すブロック図。
【図２】（ａ）、（ｂ）は、各々、第１の実施形態による車両制御装置における通信データフローの具体例を示すデータフロー図。
【図３】第１の実施形態による車両制御装置を適用された車両の概要図。
【図４】第１の実施形態による車両制御装置の車両運動統合制御ＥＣＵの制御ブロック図。
【図５】車両運動状態量を示す説明図。
【図６】車両運動統合制御ＥＣＵの車両状態推定部による車両状態推定処理フローを示すローチャート。
【図７】車両運動統合制御ＥＣＵの目標状態演算部による目標状態演算処理フローを示すフローチャート。
【図８】車体操作ベクトル・操作モーメントを示す説明図。
【図９】車両運動統合制御ＥＣＵの操作量演算部による操作量演算処理フローを示すフローチャート。
【図１０】車体操作のタイヤベクトルを示す説明図。
【図１１】（ａ）、（ｂ）は操作量振り分け処理を示す概要図。
【図１２】第１の実施形態による車両制御装置のＤＢＷ系統合制御ＥＣＵの制御ブロック図。
【図１３】本発明による車両制御装置を適用した次世代車両統合車両制御装置向け自律分散制御プラットフォーム（第２の実施形態）を示すブロック図。
【図１４】（ａ）、（ｂ）は自律分散制御プラットフォームのデータフィールドの概要を示すブロック図。
【図１５】分散制御プラットフォームの自律的動作の概要を示すブロック図である。車両運動状態量の概要図。
【図１６】自律的監視の概要を示すブロック図。
【図１７】アクチュエータノードの動作フローを示す図。
【図１８】（ａ）、（ｂ）はＸＢＷ車両制御装置の構成例を示すブロック図。
【図１９】本発明による車両制御装置の第２の実施形態の基本構成を示すブロック図。
【図２０】操作量生成ノードの機能を示すブロック図。
【図２１】アクチュエータ駆動ノードの機能を示すブロック図。
【図２２】本発明による車両制御装置の第３の実施形態を適用された車両の概要図。
【図２３】ＴＤＭＡ通信におけるノードの故障検出方法を示す説明図。
【図２４】フェールサイレントなセンサノードの機能構成図。
【図２５】フェールサイレントなセンサノードのハードウェア構成図。
【図２６】本発明による車両制御装置の第４の実施形態を適用された車両の概要図。
【図２７】本発明による車両制御装置の第５の実施形態を適用された車両の概要図。
【図２８】本発明による車両制御装置の第６の実施形態を適用された車両の概要図。
【図２９】本発明による車両制御装置の第７の実施形態を適用された車両の概要図。
【図３０】アクチュエータ駆動ノードの構成を示すブロック図。
【図３１】操作量生成ノード、補正量生成ノードを冗長化した実施形態を示すブロック図。
【図３２】多数決機能、比較機能を有するアクチュエータ駆動ノードの実施形態を示すブロック図。
【図３３】故障時に除変動作するアクチュエータ駆動ノードの実施形態を示すブロック図。
【図３４】故障時の除変動作を示すタイムチャート。
【図３５】各ノードが同一の通信路接続された実施形態を示すブロック図。
【図３６】同一の通信路を伝送される情報の流れを示す図。
【図３７】Ｓｔｅｅｒ−ｂｙ−Ｗｉｒｅシステムに本実施形態を適用した具体例を示すブロック図。
【図３８】Ｂｒａｋｅ−ｂｙ−Ｗｉｒｅに本実施形態を適用した具体例を示すブロック図。
【図３９】Ｓｔｅｅｒ−ｂｙ−ＷｉｒｅとＢｒａｋｅ−ｂｙ−Ｗｉｒｅとを統合したシステムに本実施形態を適用した具体例を示すブロック図。
【図４０】本発明による車両制御装置の第８の実施形態の基本構成を示すブロック図。
【図４１】本発明による車両制御装置の第８の実施形態の変形例を示すブロック図。
【図４２】本発明による車両制御装置の第８の実施形態のもう一つの変形例を示すブロック図。
【図４３】操作量生成ノードの機能を示すブロック図。
【図４４】アクチュエータ駆動ノードの機能を示すブロック図。
【図４５】アクチュエータ駆動ノードの動作を示すタイムチャート。
【図４６】制御プログラム選択処理を示すフローチャート。
【図４７】（ａ）、（ｂ）は各々制御プログラム選択テーブルの例を示す説明図。
【図４８】ブレーキ制御の開始時期における操作量生成ノードおよびアクチュエータ駆動ノードの動作を示すタイムチャート。
【図４９】ブレーキ制御中における操作量生成ノードおよびアクチュエータ駆動ノードの動作を示すタイムチャート。
【図５０】制動制御を実行する車輪を選択する処理を示すフローチャート。
【図５１】（ａ）、（ｂ）は各々制動車輪選択テーブルの例を示す説明図。
【図５２】ブレーキ制御の開始時期において左後輪のアクチュエータ駆動ノードまたはアクチュエータが故障した場合の操作量生成ノードおよびアクチュエータ駆動ノードの動作を示すタイムチャート。
【図５３】ブレーキ制御中において左後輪のアクチュエータ駆動ノードまたはアクチュエータが故障した場合の操作量生成ノードおよびアクチュエータ駆動ノードの動作を示すタイムチャート。
【図５４】ブレーキ制御中において一時的に故障していた左後輪のアクチュエータ駆動ノードまたはアクチュエータが回復した場合の操作量生成ノードおよびアクチュエータ駆動ノードの動作を示すタイムチャート。
【図５５】ブレーキ制御中において操作量生成ノードが故障した場合のアクチュエータ駆動ノードの動作を示すタイムチャート。
【図５６】ブレーキ制御中において一時的に故障していた操作量生成ノードが回復した場合の操作量生成ノードおよびアクチュエータ駆動ノードの動作を示すタイムチャート。
【図５７】ブレーキ制御中において操作量生成ノードと左後輪のアクチュエータ駆動ノードまたはアクチュエータが故障した場合のアクチュエータ駆動ノードの動作を示すタイムチャート。
【図５８】本発明による車両制御装置の第８の実施形態の他の変形例を示すブロック図。
【図５９】本発明による車両制御装置の第９の実施形態を示すブロック図。
【図６０】データ受信テーブルの具体例を示す頭。
【図６１】他ノードの故障診断処理を示すフローチャート。
【図６２】本発明による車両制御装置の他の実施形態を示すブロック図。
【発明を実施するための形態】
【００７０】
（第１の実施形態）
まず、本発明による車両制御装置の基本的構成を、図１を参照して説明する。
車両制御装置は、マスタコンピュータ（指令コントローラ）１と、センサスレーブコンピュータ（センサコントローラ）２と、アクチュエータスレーブコンピュータ（アクチュエータコントローラ）３とを有し、これらは、有線式、無線式、バス型、メッシュ型、スター型、リング型等によるネットワークＮ１によって双方向にデータ通信可能に接続されている。
【００７１】
マスタコンピュータ１は、制御目標値を演算する指令コントローラであり、マスタ制御機能（マスタ制御手段）１Ａを有する。
【００７２】
センサスレーブコンピュータ２には制御対象の状態を観測（計測）するためのセンサ４が接続されている。センサスレーブコンピュータ２は、センサ４よりのセンサ信号を処理するセンサ処理機能（センサ処理手段）２Ａを有する。
【００７３】
アクチュエータスレーブコンピュータ３には制御対象に作用するためのアクチュエータ５が接続されている。アクチュエータスレーブコンピュータ３は、アクチュエータ５を制御するためのスレーブコンピュータであり、マスタコンピュータ１よりの制御目標値に基づいてアクチュエータ５を制御するアクチュエータ制御機能（アクチュエータ制御手段）３Ａと、制御目標値を演算する簡易マスタ機能（制御目標値生成手段）３Ｂとを有する。
【００７４】
ネットワークＮ１において、制御目標値のデータフローＤ１と、センサ計測値のデータフローＤ２が存在する。
【００７５】
センサ計測値のデータフローＤ２は、センサスレーブコンピュータ２が出力したセンサ値のデータフローであり、センサスレーブコンピュータ２が出力したセンサ値をマスタコンピュータ１のマスタ機能１Ａとアクチュエータスレーブコンピュータ３の簡易マスタ機能３Ｂの双方が受信している。
【００７６】
制御目標値のデータフローＤ１は、マスタコンピュータ１が出力した制御目標値のデータフローであり、マスタコンピュータ１が出力した制御目標値をアクチュエータスレーブコンピュータ３のアクチュエータ制御機能３Ａが受信している。
【００７７】
通常動作時、アクチュエータスレーブコンピュータ３は、アクチュエータ制御機能３ＡがデータフローＤ１によって受信したマスタコンピュータ１からの制御目標値に基づいてアクチュエータ５を制御する。
【００７８】
しかし、データフローＤ１に異常が生じた場合には、アクチュエータスレーブコンピュータ３は、簡易マスタ機能３Ｂの演算した制御目標値に基づいてアクチュエータ５を制御する。つまり、簡易マスタ機能３Ｂは、データフローＤ２により得たセンサ計測値に基づいて制御目標値を演算しており、アクチュエータ制御機能３Ａは、アクチュエータスレーブコンピュータ３内におけるデータフローＤ３Ｂにより得られる簡易マスタ機能３Ｂの演算結果による制御目標値に基づいてアクチュエータ５を制御する。
【００７９】
上記の構成をとることにより、万が一、マスタコンピュータ１のマスタ機能１Ａが使用できない状態に陥っても、簡易マスタ機能３Ｂの演算結果に基づいてアクチュエータ制御が行われることになり、運転者の操作や車両の状態変化を反映することが可能となり、信頼性の高い車両制御装置が実現可能となる。
【００８０】
なお、図１では、マスタコンピュータ１を一つのコンピュータとして示しているが、マスタ制御機能を分割して複数のコンピュータに実装してもよい。
【００８１】
図１で示した車両制御装置における通信データフローの具体例を、図２（ａ）、（ｂ）を参照して説明する。
【００８２】
マスタコンピュータとして、車両全体の運動を統合的に制御する車両運動統合制御手段１０を有する。
【００８３】
センサスレーブコンピュータとして、運転者により操作される舵角指示手段（操舵角センサ系）３１と、減速度指示手段（ブレーキペダル踏込量センサ系）３２と、加速度指示手段（アクセルペダル踏込量センサ系）３３とを有する。
【００８４】
アクチュエータスレーブコンピュータとして、車両の操舵角を制御する操舵量制御手段１１と、車両の制動力を制御する制動力制御手段１２と、車両の駆動力を制御する駆動力制御手段１３とを有する。
【００８５】
舵角指示手段３１と、減速度指示手段３２と、加速度指示手段３３と、操舵量制御手段１１と、制動力制御手段１２と、駆動力制御手段１３と、車両運動統合制御手段１０とは、通信バスＮ１１によって相互に接続されている。
【００８６】
図２（ａ）は、車両運動統合制御手段１０が正常に動作している場合のデータフローを示している。
このデータフローにおいて、符号Ｄ３１は、運転者による舵角指示手段３１の操作量であり、舵角指示手段３１によって電気信号に変換され、通信バスＮ１１に出力される。
【００８７】
符号Ｄ３２は、運転者による減速度指示手段３２の操作量であり、減速度指示手段３２によって電気信号に変換され、通信バスＮ１１に出力される。
【００８８】
符号Ｄ３３は、運転者による加速度指示手段３３の操作量であり、加速度指示手段３３によって電気信号に変換され、通信バスＮ１１に出力される。
【００８９】
車両運動統合制御手段１０は、通信バスＮ１１から、舵角指示手段操作量Ｄ３１、減速度指示手段操作量Ｄ３２、加速度指示手段操作量Ｄ３３を受信し、車両の運動を統合的に制御するための演算を行う。
【００９０】
その後、車両運動統合制御手段１０は、車両を制御するための制御手段に与える目標値として、操舵量目標値Ｄ１１と、制動力目標値Ｄ１２と、駆動力目標値Ｄ１３とを通信バスＮ１１に出力する。
【００９１】
操舵力制御手段１１は、操舵量目標値Ｄ１１を通信バスＮ１１から受信し、操舵量目標値を実現するようにステアリングなどの操舵装置を制御する。
【００９２】
制動力制御手段１２は、制動力目標値Ｄ１２を通信バスＮ１１から受信し、制動力目標値を実現するように電動ブレーキなどの制動装置を制御する。
【００９３】
駆動力制御手段１３は、駆動力目標値Ｄ１３を通信バスＮ１１から受信し、駆動力目標値を実現するように内燃機関・変速機・電動モータなどの駆動力源、動力伝達系を制御する。
【００９４】
図２（ｂ）は車両運動統合制御手段１０にエラーが生じた場合のデータフローを示している。
車両運動統合制御手段１０が故障した場合には、操舵量目標値Ｄ１１と制動力目標値Ｄ１２と駆動力目標値Ｄ１３とが通信バスＮ１１に出力されない。しかし、運転者の意図したとおりに車両を制御する必要がある。
【００９５】
そこで、操舵力制御手段１１は、車両運動統合制御手段１０にエラーが生じたことを判断すると、舵角指示手段操作量Ｄ３１を通信バスＮ１１から受信し、舵角指示手段操作量Ｄ３１に基づいてステアリングなどの操舵装置を制御する。
【００９６】
制動力制御手段１２は、車両運動統合制御手段１０にエラーが生じたことを判断すると、減速度指示手段操作量Ｄ３２を通信バスＮ１１から受信し、減速度指示手段操作量Ｄ３２に基づいて電動ブレーキなどの制動装置を制御する。
【００９７】
駆動力制御手段１３は、車両運動統合制御手段１０にエラーが生じたことを判断すると、加速度指示手段操作量Ｄ３３を通信バスＮ１１から受信し、加速度指示手段操作量Ｄ３３に基づいて内燃機関・変速機・電動モータなどの駆動力源を制御する。
【００９８】
車両運動統合制御手段１０にエラーが生じたことは、通信バスＮ１１へのデータ出力が一定時間なされていない等の事象を用いて、データ受信側で判断する。また、車両運動統合制御手段１０自身がエラー発生時にその旨をメッセージとして出力するようにしてもよい。
【００９９】
次に、本発明による車両制御装置を適用された車両（自動車）の一つの実施形態を、図３を参照して説明する。
【０１００】
制御系ネットワークＮ１Ａは本発明における通信線に相当し、車両運動制御にかかわるデータの通信に用いられる。制御系バックアップネットワークＮ１Ｂも本発明における通信線に相当し、衝突事故による断線等、不可抗力により制御系ネットワークＮ１Ａに障害が発生した際の予備手段として用いられる。
【０１０１】
ステアリングセンサ４１は舵角指示手段３１に相当する。ステアリングセンサ４１は、運転者が操作したステアリングホイール５１の操作量（操舵角）を計測し、フィルタ等信号処理を行ってステアリングホイール操作量を電気信号として制御系ネットワークＮ１Ａおよび制御系バックアップネットワークＮ１Ｂに出力する。
【０１０２】
なお、ステアリングホイール５１は、機械的機構でも前輪操舵機構７１と接続されており、不可抗力により制御系ネットワークＮ１Ａやステアリングセンサ４１やＳＢＷ・ＶＧＲドライバＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）８１に障害が発生した場合でも、車両５０の前輪７２Ｒ、７２Ｌの操舵角を制御することができる。
【０１０３】
ブレーキペダル位置センサ４２は減速度指示手段２２に相当する。ブレーキペダル位置センサ４２は、運転者が操作したブレーキペダル５２の操作量を計測し、フィルタ等信号処理を行ってブレーキペダル操作量を電気信号として制御系ネットワークＮ１Ａおよび制御系バックアップネットワークＮ１Ｂに出力する。
【０１０４】
なお、ブレーキペダル５２は油圧系統でも前輪ブレーキ７３と接続されており、不可抗力により制御系ネットワークＮ１Ａやブレーキペダル位置センサ５２やＢＢＷドライバＥＣＵ８３Ａ、８３Ｂ等に障害が発生した場合でも車両５０の制動力を制御することができる。
【０１０５】
アクセルペダル位置センサ４３は加速度指示手段３３に相当する。アクセルペダル位置センサ４３は、運転者が操作したアクセルペダル５３の操作量を計測し、フィルタ等信号処理を行ってアクセルペダル操作量を電気信号として制御系ネットワークＮ１Ａに出力する。
【０１０６】
なお、アクセルペダル位置センサ４３は別の通信線でも内燃機関制御ＥＣＵ２１と接続されており、不可抗力により制御系ネットワークＮ１ＡやＤＢＷ系統合制御ＥＣＵ２０に障害が発生した場合でも車両５０の内燃機関を制御することができる。
【０１０７】
ミリ波レーダ／カメラ４４は、前方および後方の他車の走行状態を検出したり、走行中の車線の白線認識を行ったり等、車両５０の外部状態の認識に用いられる。ミリ波レーダ／カメラ４４は、外部状態を認識し、例えば前方を走行している車両との相対角度や相対距離や相対速度等を信号処理により演算し、電気信号として制御系ネットワークＮ１Ａに
出力する。
【０１０８】
ステアリングセンサ４１、ブレーキペダル位置センサ４２、アクセルペダル位置センサ４３、ミリ波レーダ／カメラ４４は、センサスレーブコンピュータに相当する。
【０１０９】
車両運動統合制御ＥＣＵ３０は、マスタコンピュータであって、前述の車両運動統合制御手段１０に相当する。車両運動統合制御ＥＣＵ３０は、制御系ネットワークＮ１Ａ上に出力されている運転者による操作量や車両の走行状態、車両統合制御ＥＣＵ３０が備えるセンサ計測値を入力し、車両５０の運動を総合的に管理し、駆動力制御手段や制動力制御手段や操舵量制御手段やサスペンション制御手段や安全装置制御手段などの制御目標値を制御系ネットワークＮ１Ａに出力する。
【０１１０】
車両運動統合制御ＥＣＵ３０は、統括系ネットワークＮ３と制御系ネットワークＮ１Ａとの間のゲートウェイ機能も持っている。
【０１１１】
アクチュエータスレーブコンピュータとして、ＳＢＷ・ＶＧＲドライバＥＣＵ８１、ＢＢＷドライバＥＣＵ８３Ａ〜８３Ｄ、ＥＡＳドライバＥＣＵ８４Ａ〜８４Ｄ、エアバッグＥＣＵ８５が存在する。
【０１１２】
ＳＢＷ・ＶＧＲ（Ｓｔｅｅｒ−Ｂｙ−Ｗｉｒｅ・Ｖａｒｉａｂｌｅ  Ｇｅａｒ  Ｒａｔｉｏ）ドライバＥＣＵ８１は、舵角制御手段に相当し、電動モータＭ１を制御することにより前輪操舵機構７１によって前輪７２Ｒ、７２Ｌの舵角を制御し、電動モータＭ５を制御することにより既知の操舵装置可変ギア比（ＶＧＲ）機構５４を制御する。
【０１１３】
ＳＢＷドライバＥＣＵ８２も、舵角制御手段に相当し、電動モータＭ２を制御することにより後輪操舵機構７４によって後輪７５Ｒ、７５Ｌの舵角を制御する。
【０１１４】
ＢＢＷ（Ｂｒａｋｅ―Ｂｙ−Ｗｉｒｅ）ドライバＥＣＵ８３Ａ、８３Ｂ、８３Ｃ、８３Ｄは、各々制動力制御手段に相当する。
【０１１５】
ＢＢＷドライバＥＣＵ８３Ａは、電動モータＭ３Ａを制御することにより、ポンプＰの油圧を制御し、前輪ブレーキ機構７３によって右前輪７２Ｒに発生する制動力を制御する。
【０１１６】
ＢＢＷドライバＥＣＵ８３Ｂは、電動モータＭ３Ｂを制御することにより、ポンプＰの油圧を制御し、左前輪に発生する制動力を制御している。
【０１１７】
ＢＢＷドライバＥＣＵ８３Ｃは、電動モータＭ３Ｃを制御することにより、ポンプＰの油圧を制御し、前輪ブレーキ機構７３によって後輪ブレーキ機構７６によって右後輪７５Ｒに発生する制動力を制御する。
【０１１８】
ＢＢＷドライバＥＣＵ１３Ｄは、電動モータＭ３Ｄを制御することにより、ポンプＰの油圧を制御し、後輪ブレーキ機構７６によって左後輪７５Ｌに発生する制動力を制御する。
【０１１９】
ＥＡＳ（Ｅｌｅｃｔｒｉｃ  Ａｃｔｉｖｅ  Ｓｕｓｐｅｎｓｉｏｎ）ドライバＥＣＵ８４Ａ、８４Ｂ、８４Ｃ、８４Ｄは、各々サスペンション制御手段に相当し、車両５０に備えられたサスペンション機構７７、７８を制御する。
【０１２０】
ＥＡＳドライバＥＣＵ８４Ａは、電動モータＭ４Ａを制御することにより、右前輪７２Ｒに備えられた前輪サスペンション機構７７のサスペンション長やばね定数や減衰定数などを制御する。
【０１２１】
ＥＡＳドライバＥＣＵ８４Ｂは、電動モータＭ４Ｂを制御することにより、左前輪７２Ｌに備えられた前輪サスペンション機構７７のサスペンション長やばね定数や減衰定数などを制御する。
【０１２２】
ＥＡＳドライバＥＣＵ８４Ｃは、電動モータＭ４Ｃを制御することにより、右後輪７５Ｒに備えられた後輪サスペンション機構７８のサスペンション長やばね定数や減衰定数などを制御する。
【０１２３】
ＥＡＳドライバＥＣＵ８４Ｄは、電動モータＭ４Ｄを制御することにより、左後輪７５Ｌに備えられた後輪サスペンション機構７８のサスペンション長やばね定数や減衰定数などを制御する。
【０１２４】
このように、車両運動統合制御ＥＣＵ３０により、ＥＡＳドライバＥＣＵ８４Ａ〜８４Ｄを制御することにより、減速時には前輪サスペンション７７のばね定数を高くして車両５０が前方向に傾くことを防止したり、旋回時に外側のサスペンションのばね定数を高くして横転を防止したり、登坂時に前輪サスペンション長を短くし後輪サスペンション長を長くして車体の傾きを少なくしたりすることができる。
【０１２５】
エアバッグＥＣＵ８５は、安全装置制御手段に相当し、エアバッグ等の乗員保護装置を制御する。
【０１２６】
ＤＢＷ（Ｄｒｉｖｅ−Ｂｙ−Ｗｉｒｅ）系統合制御ＥＣＵ２０は、駆動力制御手段に相当する。ＤＢＷ系統合制御ＥＣＵ２０は、ＤＢＷ系サブネットワークＮ２によって接続された内燃機関制御ＥＣＵ２１や変速機制御ＥＣＵ２２や電動モータ制御ＥＣＵ２３やバッテリー制御ＥＣＵ２４など、車両５０の駆動制御にかかわる装置を統合的に制御する。
【０１２７】
このような構成をとることにより、車両運動統合制御ＥＣＵ３０からは最終的な駆動力をＤＢＷ系統合制御ＥＣＵ２０に指示するだけでよく、実際の駆動制御にかかわる装置の構成によらず目標値を指示することができ、制御装置を簡潔に構成することが可能になる。
【０１２８】
内燃機関制御ＥＣＵ２１は、図示しない内燃機関を制御するためのＥＣＵであり、ＤＢＷ系統合ＥＣＵ２０から、内燃機関軸トルクや内燃機関回転数などの目標値を受けて、目標値を実現するように内燃機関を制御する。
【０１２９】
変速機制御ＥＣＵ２２は、図示しない変速機を制御するためのＥＣＵであり、ＤＢＷ系統合ＥＣＵ２０から、変速段などの目標値を受けて、目標値を実現するように変速機を制御する。
【０１３０】
電動モータ制御ＥＣＵ２３は、図示しない駆動力発生用電動モータを制御するためのＥＣＵであり、ＤＢＷ系統合ＥＣＵ２０から、出力トルクや回転数などの目標値を受けて、目標値を実現するように内燃機関を制御する。また、電動モータ回生による負方向の駆動力発生源としても動作する。
【０１３１】
バッテリー制御ＥＣＵ２４は、図示しないバッテリーを制御するためのＥＣＵであり、バッテリーの充電状態などを制御している。
【０１３２】
情報系ゲートウェイ３５は、図示しない携帯電話等の無線通信手段やＧＰＳやカーナビゲーションなどを接続する情報系ネットワーク（同業者に公知のＭＯＳＴ等）と、統括ネットワークＮ３を接続するためのゲートウェイである。
【０１３３】
情報系ネットワークと制御系ネットワークＮ１Ａがゲートウェイ機能を介してつながることで、制御系ネットワークＮ１Ａを情報系ネットワークから論理的に分離することが可能になり、リアルタイム性など制御系ネットワークＮ１Ａに特有の要求を容易に満足する構成を、比較的簡潔に構成することができる。
【０１３４】
ボディ系ゲートウェイ３６は、図示しないドアロックやパワーウィンドウ等のボディ系ネットワークと、統括ネットワークＮ３を接続するためのゲートウェイである。ボディ系ネットワークと制御系ネットワークＮ１Ａがゲートウェイ機能を介してつながることで、制御系ネットワークＮ１Ａをボディ系ネットワークから論理的に分離することが可能になり、リアルタイム性など制御系ネットワークＮ１Ａに特有の要求を容易に満足する構成を、比較的簡潔に構成することができる。
【０１３５】
次に、車両運動統合制御ＥＣＵ３０が行う処理について図４を用いて説明する。図４は、車両運動統合制御ＥＣＵ３０が正常に動作している場合のデータフローを示している。
【０１３６】
車両運動統合制御ＥＣＵ３０は、車両状態推定部１０１と、目標状態演算部１０２と、車体操作ベクトル操作モーメント演算部１０３と、操作量演算部１０４と、車両パラメータ記憶部１０５と有し、ステアリングセンサ４１やブレーキペダル位置センサ４２やアクセルペダル位置センサ４３やミリ波レーダ／カメラ４４や、図３には図示されていない車輪速センサや車体加速度センサや角加速度センサ等のセンサＳの各センサ信号を入力とする。
【０１３７】
車両状態推定部１０１は、センサ信号を用いて車両の現在の状態を推定する。
目標状態演算部１０２は、車両状態推定部１０１によって推定されて車両の走行状態とセンサ信号とを用いて制御によって実現するべき車両の目標状態、つまり、車両がとるべき目標運動状態を算出する。
【０１３８】
車体操作ベクトル操作モーメント演算部１０３は、車両状態推定部１０１によって推定されて車両の現在状態と目標状態演算部１０２によって算出された目標状態との差異に基づいて、制御によって車体に発生させる並進方向の力ベクトルと回転方向のモーメントベクトルとを算出する。
【０１３９】
操作量演算部１０４は、車体操作ベクトル操作モーメント演算部１０３によって算出された力ベクトルとモーメントベクトルに基づいて、ＢＢＷドライバＥＣＵ８３Ａ〜８３ＤやＤＢＷ系統合制御ＥＣＵ２０、ＳＢＷ・ＶＲＧドライバＥＣＵ８１、ＳＢＷドライバＥＣＵ８２、ＥＡＳドライバＥＣＵ８４Ａ〜８４Ｄ、エアバッグＥＣＵ８５等の制御用アクチュエータで実現するべき目標操作量を演算する。
【０１４０】
車両パラメータ記憶部１０５には、車体の動力学的な定数（例えば質量、回転慣性、重心位置など）や制御アクチュエータの仕様（例えば各アクチュエータの時定数、ブレーキの最大制動力、ステアリングの最大舵角など）等の車両パラメータが格納されており、これら車両パラメータは、車両状態推定部１０１、目標状態演算部１０２、車体操作ベクトル操作モーメント演算部１０３、操作量演算部１０４での演算処理で参照される。
【０１４１】
なお、図４では、操作量演算部１０４から各ドライバＥＣＵへの出力は一本の線で記述されているが、これは一つの値のみを示すものではなく、一組の制御量を示すものである。例えば、ＢＢＷドライバＥＣＵ８３Ａ〜８３Ｄに対しては、各車輪毎の独立な制動力を指示するようにしてよい。
【０１４２】
車両運動統合制御ＥＣＵ３０が、車両状態推定部１０１と、目標状態演算部１０２と、車体操作ベクトル操作モーメント演算部１０３と、操作量演算部１０４とで構成されることにより、車両の運動を統合的に管理、制御することができるという効果がある。
【０１４３】
また、車両状態推定部１０１を分離したことにより、例えば、同一のプラットフォームを有する車両で、パワートレインのみを内燃機関からハイブリッドタイプに変更したりした場合など、車両の制御アクチュエータ構成を変更した場合でも、車両の力学的特性を演算する部分を再利用することが可能になり、制御装置の開発効率が向上するという効果がある。
【０１４４】
また、目標状態演算部１０２を分離したことにより、運転者の個性を反映したり、周辺を走行している車両や道路状態によって目標値のリミッタを変更したりする場合でも、目標状態演算部１０２のみを変更すればよく、制御装置の開発効率が向上するという効果がある。
【０１４５】
また、車体操作ベクトル操作モーメント演算部１０３と操作量演算部１０４を独立な構成にしたことにより、車両の備えた制御装置の構成とは独立に車体への操作量を算出することが可能になる。
【０１４６】
たとえば、ハイブリッド自動車からインホイール電動モータ型自動車へと構成が変わっても、車体操作ベクトル操作モーメント演算部１０３では同様に発生させる力・モーメントベクトルを演算すればよく、操作量演算部１０４を変更すればよい。そのため、車両制御装置の開発効率が向上するという効果がある。
【０１４７】
つぎに、車両状態推定部１０１で算出される車両の現在状態と、目標状態演算部１０２で算出される車両の目標状態について図５を参照して説明する。
【０１４８】
車両の現在状態と目標状態とは、車両５０のボディ部分を剛体として仮定した場合の剛体運動での状態量１Ｘを表している。状態量１Ｘとは、たとえば、車両５０のボディ重心に固定された３次元（Ｘ−Ｙ−Ｚ）局所座標系１Ｇにおける変位（ｘ，ｙ，ｚ）、回転角（θｘ，θｙ，θｚ）、速度（ｄｘ／ｄｔ，ｄｙ／ｄｔ，ｄｚ／ｄｔ）、角速度（ｄθｘ／ｄｔ，ｄθｙ／ｄｔ，ｄθｚ／ｄｔ）のことを指す。
【０１４９】
剛体力学において状態量１Ｘの各成分は互いに連成しているので、状態量１Ｘを定めることにより、より精密な制御を行うことができ、乗員快適性と安定性の高い制御を行うことができるという効果がある。
【０１５０】
車両状態推定部１０１による車両状態推定処理フローを、図６を参照して説明する。
まず、ステップＳ１０１１において、車両に固定した局所座標系１Ｇにおける運動状態を推定する。
【０１５１】
次に、ステップＳ１０１２において、たとえば日本橋等、特定の地点に固定した固定座標系における運動状態を推定する。
次に、ステップＳ１０１３において、車両が走行している周辺の状況を推定する。
【０１５２】
次に、ステップＳ１０１４において、センサＳの計測値やＢＢＷドライバＥＣＵ８３Ａ〜８３ＤやＤＢＷ系統合制御ＥＣＵ２０、ＳＢＷ・ＶＲＧドライバＥＣＵ８１、ＳＢＷドライバＥＣＵ８２、ＥＡＳドライバＥＣＵ８４Ａ〜８４Ｄ、エアバッグＥＣＵ８５等の制御用アクチュエータの自己故障診断結果に基づいて、車両の故障状態を推定・更新する。
【０１５３】
目標状態演算部１０２による目標状態演算処理フローを、図７を参照して説明する。
まず、ステップＳ１０２１において、ステアリングセンサ４１やブレーキペダル位置センサ４２やアクセルペダル位置センサ４３の操作量と、現在の車両状態に基づいて運転者の意図する車両状態を推定する。
【０１５４】
次に、ステップＳ１０２２において、車両の周辺の状況や、車両制御手段の性能や、機器の故障の状態や、法規制やなどに基づいて、車両状態のリミッタを演算する。例えば、ブレーキ装置が１部故障した場合には、正常動作するブレーキ装置の能力で安全に制動できる範囲で最高速度を制限する。
【０１５５】
そして、ステップＳ１０２３において、車両状態のリミッタを超えない範囲でドライバ意図に沿うように、車両５０の目標状態量を決定する。
【０１５６】
図８は、車体操作ベクトル操作モーメント演算部１０３によって演算される操作力・モーメントベクトルを示している。
図８に示されているように、操作力ベクトルＦ（Ｆｘ，Ｆｙ、Ｆｚ）と操作モーメントベクトルτ（τｘ，τｙ、τｚ）は、車体に固定した局所座標系上で演算される。そのため、車両に固定されている制御装置での操作量に、容易に変換できるという効果がある。
【０１５７】
操作量演算部１０４による操作量演算処理フローを、図９を参照して説明する。
操作量演算部１０４は、車体操作ベクトル操作モーメント演算部１０３で演算した車体操作力ベクトルＦ・モーメントベクトルτを入力として、実際の制御手段でどのような制御量を目標値とするかを演算する。
【０１５８】
まず、ステップＳ１０４１において、車体操作力ベクトルＦ・モーメントベクトルτを車両５０に取り付けられたタイヤごとに発生させるタイヤ力へと振り分ける。その後、タイヤベクトルを実際の制御手段での制御量目標値を演算する。
制動力や駆動力や旋回力（操舵によって発生するタイヤ横力）を車両制御における目標値として用いることで、車両全体の運動を統合的に制御することが可能になる。
【０１５９】
図１０に、ステップＳ１０４１で演算するタイヤベクトルを示す。
ＦＦＲは制御により右前輪に発生させるタイヤベクトルである。ＦＦＬは制御により左前輪に発生させるタイヤベクトルである。ＦＲＲは制御により右後輪に発生させるタイヤベクトルである。ＦＲＬは制御により左後輪に発生させるタイヤベクトルである。タイヤベクトルは、それぞれ車体５０に固定された局所座標系１Ｇにおける成分として定められている。
【０１６０】
タイヤベクトルを局所座標形状の成分として定めることにより、車体５０に固定されているタイヤ駆動軸やステアリング装置の操作量への変換が容易になるという効果がある。
【０１６１】
ステップＳ１０４２においては、操作量の振り分け処理を行う。操作量の振り分け処理は、実際に車両を制御するアクチュエータの構成に対応して行われる。
【０１６２】
図１１（ａ）、（ｂ）に、操作量振り分け処理の詳細を示す。
図１１（ａ）は、車両５０が内燃機関駆動やハイブリッド内燃機関駆動のパワートレインを持つ場合の操作量振り分け処理（ステップＳ１０４２ａ）を示す。この操作量振り分け処理は、タイヤベクトルを入力とし、ＳＢＷ・ＶＲＧドライバＥＣＵ８１、ＳＢＷドライバＥＣＵ８２での目標値となる操舵量や、ＢＢＷドライバＥＣＵ８３Ａ〜８３Ｄでの目標値となるブレーキ制動トルクや、ＤＢＷ系統合制御ＥＣＵ２０での目標値となるパワートレイン制駆動トルクを出力とする。
【０１６３】
図１１（ｂ）は、車両５０が公知のインホイール電動モータ型のパワートレインを持つ場合の操作量振り分け処理（ステップＳ１０４２ｂ）を示す。操作量振り分け処理は、ＳＢＷ・ＶＲＧドライバＥＣＵ８１、ＳＢＷドライバＥＣＵ８２での目標値となる操舵量や、図示されていないインホイール電動モータによる回生およびブレーキパッド制御ＥＣＵでの目標値となるブレーキ制動トルクや、図示されていないインホイール電動モータ制御ＥＣＵでの目標値となる電動モータ駆動トルクを出力とする。
【０１６４】
操作量振り分け処理を、実際に車両を制御するアクチュエータの構成に対応して行うことにより、アクチュエータ構成が変わっても操作量振り分け処理の実行手段を交換することで対応できるようになり、車両制御装置の開発効率が向上するという効果がある。
【０１６５】
ＤＢＷ系統合制御ＥＣＵ２０の構成を、図１２を参照して説明する。
右前輪駆動トルク受付部２０１は、右前輪７２Ｒで発生すべき駆動トルクを受信する。左前輪駆動トルク受付部２０２は左前輪７２Ｌで発生すべき駆動トルクを受信する。右後輪駆動トルク受付部２０３は右後輪７５Ｒで発生すべき駆動トルクを受信する。左後輪駆動トルク受付部２０４は左後輪７５Ｌで発生すべき駆動トルクを受信する。
【０１６６】
パワートレイン操作量算出部２０５は、実際のアクチュエータを制御するＥＣＵでの目標値となる値を算出し、内燃機関制御ＥＣＵ２１や変速機制御ＥＣＵ２２や電動モータ制御ＥＣＵ２３やバッテリー制御ＥＣＵ２４の操作量を指示する。
【０１６７】
公知のトルクベース車両制御装置では、駆動手段の駆動軸で発生するべきトルクを目標値として制御を行っていた。そのため、各車輪ごとの駆動力を制御できるインホイール電動モータ型用のＤＢＷ系統合制御ＥＣＵ２０とは互換性がないという課題があった。
【０１６８】
そこで、たとえば、内燃機関やハイブリッド型システムのような集中的に駆動力を発生する駆動手段を持つ駆動システムにおいても、各車輪ごとの駆動力を制御目標値として受け取り、ＤＢＷ系統合制御ＥＣＵ２０の内部で駆動用のアクチュエータに再分配する。この結果、ハイブリッド型システム用のＤＢＷ系統合制御ＥＣＵとインホイール電動モータ型システム用のＤＢＷ系統合制御ＥＣＵの指令値受付方式（インタフェース）を共通化することができる。
【０１６９】
（第２の実施形態）
本発明による車両制御装置を適用した次世代車両統合車両制御装置向け自律分散制御プラットフォームを、図１３を参照して説明する。
【０１７０】
自律分散制御プラットフォームの目的は、車両制御における高信頼性、リアルタイム処理、拡張性を低コストで実現することである。
「自律分散」とは、制御分野における高信頼分散システムモデルの１つである。生物における細胞に対応するノードと呼ぶ計算主体が、データフィールドと呼ぶ共有データを置く場を介して疎に結合されたシステムである。
【０１７１】
なお、「自律分散」の詳細な内容については、森欣司、宮本  二、井原廣一：自律分散概念の提案：電気学会論文誌Ｃ Vol.104 No.12 pp.303-310(1984)や、K.Mori : Autonomous Decentralized Systems : Concept, Data field Architecture and Future Trends : IEEE International Symposium on Autonomous Decentralized Systems (ISADS) pp.28-34 (1993-Mar)を参照されたい。
【０１７２】
自律分散制御システムでは、各ノードを、他と独立かつ自律的に動作可能なプログラムとすることで、一部の障害がシステム全体に及ばない構成を実現でき、信頼性や拡張性のよい分散システムを実現できる。しかし、生物学的モデルに基づくコンセプトの実システムへの適用は難しく、一般性のある適用方法が確立されるまでには至っていない。そのため、適用システム毎にアーキテクチャを検討する必要がある。
【０１７３】
自律分散制御プラットフォームは、1)データを共有するためのデータフィールドＤＦ１０と、2)自律的動作、3)自律的管理、4)自律的バックアップが可能なノード（センサノードＡ２０、アクチュエータノードＡ３０、コントローラノードＡ１０）から構成される。なお、各ノードは、セルフモニタ（自己監視機能）Ａ１３、Ａ２３、Ａ３３を有する。
【０１７４】
コントローラノードＡ１０は、時間条件Ａ１２（例えば１０［ｍｓ］周期）により、処理ルーチンＡ１１を起動する。コントローラノードＡ１０は、データフィールドＤＦ１０からセンサデータＤＡ２０を取得し、アクチュエータノードＡ３０の制御目標値を演算し、それをコントローラデータＤＡ１０としてデータフィールドＤＦ１０へブロードキャストする。
【０１７５】
データフィールドＤＦ１０は、制御ネットワーク上に仮想的に設けられる共有メモリ空間であり、正常状態では、センサノードＡ２０が出力するセンサデータＤＡ２０と、コントローラノードＡ１０が出力するコントローラデータ（制御目標値）ＤＡ１０とが存在する。
【０１７６】
自律的動作とは、他のノードからの処理要求を受信することなく、時間条件や自ノードの状態によって自発的に処理を行う機能である。
【０１７７】
自律的管理機能とは、他ノードには隠蔽している自ノードの動作および状態の監視を、自分自身で実行する機能である。
【０１７８】
自律的バックアップとは、簡易制御を内蔵することによって、自ノードの処理に必要なデータに異常がある場合に、簡易制御によって自ら必要なデータを演算し、必要最低限の処理を実現する機能である。
【０１７９】
以下、データフィールドＤＦ１０により、車両制御装置に適した拡張性向上を、自律的動作によりリアルタイム分散制御に適した時間駆動動作を、自律的管理機能と自律的バックアップ機能により信頼性確保のための状態監視とシステム耐故障性を実現できることを示す。
【０１８０】
図１４（ａ）、（ｂ）を用いて、自律分散制御プラットフォームのうち、データフィールドについて述べる。
データフィールドの狙いは、車両制御装置の拡張性を向上することである。データフィールドの導入により、ノード間のインタフェースを標準化したうえで、部品の交換、追加を容易にする目的がある。
【０１８１】
自律分散制御プラットフォームにおいてノード間のデータ交換は、ネットワーク上に定義される仮想的な共有メモリであるデータフィールドＤＦ２０を介して行われる。すなわち、ネットワークにどのような機器が接続されているかを意識せず、データそのものをオブジェクトとして認識することになる。
【０１８２】
そのため、データフィールドＤＦ２０上に定義されるデータはセンサ・アクチュエータレベルで標準化可能な抽象度の高いデータである。例えばセンサ計測では、電圧値のようなプリミティブなデータではなく、多重計測によるフィルタ処理や浮動小数点化を行った物理値がデータフィールド上に定義される。アクチュエータ制御においても、ブレーキの目標制動力のような標準化されたデータがデータフィールド上に定義される。
【０１８３】
図１４（ａ）の例では、ブレーキペダル位置センサノードＡ２００によってブレーキペダルＳＡ２００の踏込み量が計測され、物理量に変換された上でブレーキペダル状態量（ブレーキ踏込み量）ＤＡ２００としてデータフィールドＤＦ２０上にブロードキャストされる。
【０１８４】
コントローラノードＡ１００は、ブレーキペダル状態量ＤＡ２００を参照し、各輪の目標制動力（右前輪目標制動力ＤＡ１００、左前輪目標制動力ＤＡ１０１のみ図示）を演算してデータフィールドＤＦ２０上にブロードキャストする。
【０１８５】
前輪ブレーキアクチュエータノードＡ３００は、右前輪目標制動力ＤＡ１００、左前輪目標制動力ＤＡ１０１を参照したうえで、目標制動力を実現するように、左前輪ブレーキアクチュエータＡＡ３００、左後輪ブレーキアクチュエータＡＡ３０１を制御する。
【０１８６】
図１４（ｂ）の例では、図１４（ａ）の制御アーキテクチャに対し、車間距離制御機能を追加したうえで、ブレーキコントローラを変更した構成である。
【０１８７】
先行車との車間距離を計測するレーダＳＡ２１０およびレーダを制御するレーダノードＡ２１０が追加され、計測した車間距離ＤＡ２１０をデータフィールドＤＦ２０にブロードキャストしている。
【０１８８】
コントローラノードＡ１００は、ブレーキペダル状態量ＤＡ２００および車間距離ＤＡ２１０を参照し、車輪の目標制動力（右前輪目標制動力ＤＡ１００、左前輪目標制動力ＤＡ１０１のみ図示）を演算してデータフィールドＤＦ２０上にブロードキャストする。
【０１８９】
右前輪のブレーキアクチュエータノードＡ３１０は、右前輪目標制動力ＤＡ１００を参照して右前輪ブレーキアクチュエータＡＡ３１０を制御する。
【０１９０】
左前輪のブレーキアクチュエータノードＡ３２０は、左前輪目標制動力ＤＡ１０１を参照して左前輪ブレーキアクチュエータＡＡ３２０を制御する。
【０１９１】
以上、図１４（ａ）、（ｂ）に示すように、他のセンサ・アクチュエータには影響を与えずに、データフィールドＤＦ２０上に「車間距離」のデータを追加するだけで、車間距離計測ノードとしてレーダノードＡ２１０の追加が可能である。
【０１９２】
また、ブレーキアクチュエータノードも前輪制御型から各輪独立型に変更されているが、他のノードおよびデータフィールドＤＦ２０には影響を与えていない。すなわち、データフィールドＤＦ２０を用いることによって各ノードを疎に結合することが可能となり、拡張性のよい分散システムが容易に実現できる。
【０１９３】
図１５（および図１３）を用いて、分散制御プラットフォームの特徴のうち、自律的動作について述べる。
自律的動作の狙いは、分散リアルタイム処理に対応するため、処理の時間的予測が容易な時間駆動に基づく動作を実現することである。
【０１９４】
自律分散制御プラットフォームにおける自律的動作とは、時間条件またはノードの状態によりノードが自発的に処理を開始することである。すなわち、ノードの動作条件として、メッセージの受信だけでなく、時間条件（時刻または周期）および自ノードの状態変化（割込み）によっても処理を起動可能である。
【０１９５】
リアルタイムシステムでは、制御対象のシステムの状態を捉え、一定時間内に制御に反映することが必要不可欠である。そのため制御設計時、Ｅｎｄ−ｔｏ−Ｅｎｄでの処理実行時間を設計可能にする必要がある。さらにその一方で、他ノードの異常に影響を受けずに自ノードの処理を継続する機能も要求される。このような高信頼分散リアルタイムシステムを実現するためには、ノードの動作を自律的にする必要がある。
【０１９６】
センサノードＡ２０は、時間条件Ａ２２（たとえば１０［ｍｓ］周期）により、処理ルーチンＡ２１を起動する。
【０１９７】
センサノードＡ２０は、センサＳＡ２０の計測値を読み取り、フィルタ処理、浮動小数点化等の前処理を行って物理量に変換した後に、センサデータＤＡ２０をデータフィールドＤＦ１０へブロードキャストする。
【０１９８】
アクチュエータノードＡ３０も個別の時間条件Ａ３２（２０［ｍｓ］周期）により処理ルーチンＡ３１を起動する。
【０１９９】
アクチュエータノードＡ３０は、データフィールドＤＦ１０からセンサデータＤＡ２０を取得し、自ノードＡ３０の制御目標値を演算した後、目標値を実現するようにアクチュエータＡＡ３０の制御を行う。
【０２００】
なお、起動条件である時間条件Ａ２２、Ａ３２は、例えば内燃機関回転割り込みのように、自ノードの状態変化としてもよい。このように、自発的に処理を起動しつつ必要なデータを自ら取得して演算を行うことによって、ノードの自律的な動作が可能になる。
【０２０１】
自律的動作によって、ノードの動作が時間駆動型または自ノードの状態変化による駆動型となる。すなわち、他ノードによるイベント駆動が不要となり、最悪実行時間の設計がきわめて容易になる。また、他のノードの異常に影響を受けずに処理を継続可能となるため、高信頼なシステムが実現できる。
【０２０２】
自律分散制御プラットフォームの特徴のうち、自律的管理について述べる。自律的管理の狙いは、車両制御に必要な高信頼性の確保である。具体的には、自ノードの動作監視や、異常時処理（フェールオペラティブ／フェールサイレント）を、分散システムを構成する各ノード単位で実現可能にする。また、高信頼性と低コスト化を両立するため、異常時処理としてフェールオペラティブ（故障時操作可能性）とフェールサイレント（故障時非暴走性）とを、対象ノードに応じて使い分ける。
【０２０３】
従来構成では、サブシステム毎のＥＣＵによってセンサ計測、車両制御量演算、アクチュエータ制御を行っていた。そのため、システムの高信頼化を図ろうとすれば、多くのＥＣＵのフェールオペラティブ性が必要となり、高コスト化を招いていた。また、ＥＣＵ同士による相互監視機能を用いた場合には、ＥＣＵ間の結合が密となり、拡張性・開発効率の悪化につながるという問題があった。
【０２０４】
図１６に自律的監視の概要を示す。
本構成では、ノードＡ４００に自己監視機能Ａ４３０を設け、正常状態での動作Ａ４１０を監視する。そして、異常が起きた際には機能停止処理Ａ４１１（フェールサイレント）を行う。
【０２０５】
なお、ブレーキペダル、ステアリングホイール等のバックアップ困難なノードに対してはフェールオペラティブ性を持たせ、機能継続を行う。また、自律監視機能そのものの故障の際にもノードの機能停止を行うことにより、ノードの暴走を防止する。
【０２０６】
この自律的監視により、ノード間の結合を疎に保ちながら、低コストなフェールサイレントノードの集合で高信頼なシステムを構築可能となる。さらに、次に述べる自律的バックアップとの組合せにより、システムレベルでのフェールオペラティブ性を実現できる。
【０２０７】
自律分散制御プラットフォームの特徴のうち、自律的バックアップについて述べる。自律的バックアップの狙いは、車両制御に必要な高信頼性の確保である。具体的には、分散車両制御装置を構成するノードの故障を補償するための簡易的制御機能である。
【０２０８】
自律的バックアップとは、通常時はマスタースレーブ構成をとる制御ノードの論理構成において、マスタ機能を果たすノードが故障した際に、スレーブノード間のデータ共有により必要最低限の制御を実現する機能である。
【０２０９】
図１７は、アクチュエータノードの動作フローを示している。
通常は、センサノードＡ２０の計測値を用いてコントローラノードＡ１０が制御目標値を演算し、その制御目標値に基づいてアクチュエータノードＡ３０がアクチュエータＡＡ３０の制御を行っている（ステップＳ３１１肯定→ステップＳ３１２→ステップＳ３１３）。
【０２１０】
その一方で、アクチュエータノードＡ３０は、マスターノード（コントローラノードＡ１０）の制御機能の簡易版（簡易制御機能）Ａ３４（図１３参照）を内蔵しており、制御目標値と同時にセンサ計測値も参照し、センサ計測値に基づいて簡易制御目標値を演算している。万が一、マスターノードに異常が発生した場合には、前述した自己監視機能により機能が停止するため、例えばデータフィールドＤＦ１０上のデータが更新されないといった事象により、アクチュエータノードＡ３０はステップＳ３１１にてマスターノードの故障を判定する。アクチュエータノードＡ３０がマスターノードの故障を判定すると、（ステップＳ３１１否定→ステップＳ３１４→ステップＳ３１３が実行され、内蔵した簡易制御機能Ａ３４により、自ノードの機能実現のために必要な処理を自分自身でバックアップする。
【０２１１】
この自律バックアップ機能と、前述した自律的監視機能とにより、低コストなフェールサイレントノードの集合で、高信頼なフェールオペラティブシステムが実現可能となる。
【０２１２】
つぎに、ブレーキ制御機能を例に取って自律分散制御アーキテクチャの動作例を説明する。特に、本提案によりフェイルセーフノードの組合せでフェールオペラティブシステムが構築できることを示す。
【０２１３】
図１８（ａ）、（ｂ）に、ＸＢＷ車両制御装置の構成例を示す。図１８（ａ）、（ｂ）では、車両統合ＥＣＵ、ブレーキペダル位置センサ、ブレーキアクチュエータ（ＢＢＷ（Ｂｒａｋｅ−Ｂｙ−Ｗｉｒｅ）ドライバＥＣＵ）およびデータフィールドに着目している。なおデータフィールドは、例えばＦｌｅｘＲａｙにより実装される車両制御用ネットワーク上に設けられる。
【０２１４】
まず、図１８（ａ）を用いて、通常時の自律分散制御プラットフォームにおけるブレーキ制御機能の動作を説明する。
【０２１５】
自律分散制御プラットフォームにおけるブレーキ制御機能は、ブレーキペダルノードＢ２０と、車両運動統括制御ノード（車両運動統括制御ＥＣＵ）Ｂ１０と、ブレーキアクチュエータノードＢ３０とから構成されている。
【０２１６】
ブレーキペダルノードＢ２０は、周期的に自律起動し、Ａ／Ｄ変換器Ｂ２０３を用いてブレーキペダル位置センサＳＢ２０の状態を計測する。
【０２１７】
ブレーキペダルノードＢ２０は、計測した値に対してフィルタ補正処理部材Ｂ２０２でフィルタリングや補正処理等を行い、さらにデータ標準化部Ｂ２０４でデータの標準化を行う。この後、通信ドライバＢ２０１を用いて自律分散データフィールドＤＦ３０にデータ「ブレーキペダル状態」を公開する。
【０２１８】
車両運動統括制御ノードＢ１０は周期的に起動する。車両運動統括制御ノードＢ１０は、起動後、通信ドライバＢ１０１を用いて自律分散データフィールドＤＦ３０上のブレーキペダル状態と他のデータ（ヨーレート、ハンドル舵角等）を参照して、車両運動オブサーバＢ１０２で車両の運動状態を、運転者意図把握部Ｂ１０３で運転者の操作意図を推定する。そして、推定結果に基づいて、アクチュエータ目標値生成部材Ｂ１０４で、制動力、駆動軸トルク、ステアリング角等のアクチュエータ制御目標値を演算する。その後、通信ドライバＢ１０１を用いて自律分散データフィールドＤＦ３０に制御目標値を公開する。
【０２１９】
ここでは、左後輪を例にブレーキアクチュエータノードＢ３０の動作を説明する。他のノードと同様、ブレーキアクチュエータノードＢ３０も周期的に起動する。ブレーキアクチュエータノードＢ３０は、起動後、通信ドライバＢ３０１を用いて自律分散データフィールドＮＦ３０上の制御目標値、すなわち目標制動力を参照する。そして、目標制動力に基づいてブレーキアクチュエータＡＢ３０の制御を行う。Ａ／Ｄ変換機Ｂ３０３を用いてブレーキの状態を観測し、ブレーキキャリパ制御部Ｂ３０２でブレーキが発生している制動力と目標状態との差分に基づいてブレーキ制御量を演算し、プリドライバＢ３０４を用いてブレーキアクチュエータＡＢ３０を制御する。
【０２２０】
なお、データフィールド参照の周期とアクチュエータ制御の周期は必ずしも同一周期でなくてもよく、アクチュエータ制御周期をより高速に取ることも可能である。こうすることによって、制御対象アクチュエータの制御時定数に合わせて適切な制御を行うことができる。
【０２２１】
つぎに、図１８（ｂ）を用いて、車両運動統括制御ノードＢ１０の故障時のブレーキ制御機能の動作を説明する。
ブレーキペダルノードＢ２０は、通常時と同様、自律的に起動して処理を行う。車両運動統括制御ノードＢ１０の故障には影響を受けない。車両運動統括制御ノードＢ１０は、自律管理機能により自分自身の故障を検出すると、フェールサイレント処理を行う。すなわち、外部から見た場合には、一切の処理を停止している状態になる。そのため、自律分散データフィールドＤＦ３０上のアクチュエータ制御目標値は更新されなくなる。
【０２２２】
ここでは、左後輪を例にブレーキアクチュエータノードＢ３０の動作を説明する。ブレーキアクチュエータノードＢ３０は周期的に起動する。ブレーキアクチュエータノードＢ３０は、起動後、自律分散データフィールドＤＦ３０上の制御目標値、すなわち目標制動力を参照する。しかし、目標制動力のデータが更新されなくなったことから、車両運動統括制御ノードＢ１０の故障を検出する。これにより、ブレーキペダルノードＢ２０の自律分散制御機能Ｂ３０５が起動する。自律分散制御機能Ｂ３０５は、自律分散データフィールドＤＦ３０上のブレーキペダル状態を参照して簡易目標値を演算する。
【０２２３】
ブレーキキャリパ制御部Ｂ３０２は、車両運動統括制御ノードＢ１０が演算する制御目標値の代わりに、自律分散制御機能Ｂ３０５の演算する簡易目標値に基づいて、ブレーキアクチュエータＡＢ３０の制御を行う。
【０２２４】
ただし、この簡易目標値は、ブレーキペダル状態のみを用いて算出されたものであり、車両運動統括制御ノードＢ１０が演算したような、車両の挙動を制御するようなものではない。
【０２２５】
以上、自律分散制御プラットフォームを用いたブレーキ制御機能の動作について述べた。自律分散プラットフォームの特徴である、データフィールド、自律的動作、自律的管理、自律的バックアップによって、例え目標値を演算するコントローラノードが故障した場合でも車両制御装置として動作可能であることを示した。
【０２２６】
この効果により、フェールサイレントノードの組合せによって、フェールオペラティブな車両制御装置が実現可能となり、高信頼システムの低コスト化に有効であると考える。
【０２２７】
本発明による車両制御装置の基本構成を、図１９を参照して説明する。
車両制御装置は、運転者の要求を検出するセンサ５００と、車両状態を検出するセンサ５５０と、アクチュエータ４００、操作量生成ノード１００と、アクチュエータ駆動ノード３００から構成される。
【０２２８】
この中で、運転者の要求を検出するセンサ５００、操作量生成ノード１００、およびアクチュエータ駆動ノード３００は、それぞれ故障検出機能２１０Ａ、２１０Ｂ、２１０Ｃを備えている。アクチュエータ駆動ノード３００の故障検出機能２１０Ｃは、自己診断機能だけでなく、アクチュエータ４００の故障を検出する機能も備えている。
【０２２９】
操作量生成ノード１００は、運転者の要求信号２００および車両状態信号２０１に基づいて操作量指令値１２０を演算する。
【０２３０】
この操作量指令値１２０を受けて、アクチュエータ駆動ノード３００は、アクチュエータ４００を制御する、これにより、車両の駆動、操舵、制動等が実行される。
【０２３１】
故障検出機能２１０Ａ、２１０Ｂ、２１０Ｃは、ノード内またはアクチュエータ４００の故障を検出すると、ノード外部に、自分が故障状態であることを知らせるための故障検出通知２３０を出力する。故障検出機能を備えるノードは、全て、故障状態のときは、この故障検出通知２３０を出力する以外は、外部への出力を停止する、つまりフェールサイレントとなるように構成されている。
【０２３２】
図２０は、操作量生成ノード１００の機能図である。操作量生成ノード１００は、車両制御のための複数の制御ロジックを内蔵しており、他のノードから故障検出通知２３０を受信した際には、故障箇所や故障の程度に応じて、制御ロジック（制御Ａ、制御Ｂ、制御Ｃ）を切り替えるように構成されている。
【０２３３】
図２１は、アクチュエータ駆動ノード３００の機能図である。アクチュエータ駆動ノード３００は、操作量生成ノード１００が生成した操作量指令値１２０に基づいてアクチュエータ４００の動作目標値を演算するための複数の制御ロジック（制御Ｘ、制御Ｙ、制御Ｚ）を内蔵している。制御器３２０はこの目標値になるようにアクチュエータ４００を駆動する。
【０２３４】
アクチュエータ駆動ノード３００は、他のノードから故障検出通知２３０を受信した際には、故障箇所や故障の程度に応じて、制御ロジックを切り替えるように構成されている。アクチュエータ駆動ノード３００は、操作量指令値１２０を受信できる場合には、これに基づいて制御Ｘまたは制御Ｙを実行するが、操作量生成ノード１００または通信経路の故障により、操作量指令値１２０を受信できない時には、運転者の要求信号２００を取り込み、自分自身で操作量指令値を演算するために、制御Ｚに切り替える。
【０２３５】
（第３の実施形態）
本発明による車両制御装置の第３の実施形態を、図２２を参照して説明する。図２２は、車両制御装置の、特に、ブレーキ制御とステアリング制御に関係する部分を抜き出して示している。
【０２３６】
この車両制御装置は、運転者の要求を検出するセンサとして、ステアリングホイール５１の回転角度を測定する操舵角センサ４１、ブレーキペダル５２の踏み込み量を測定するブレーキペダル位置センサ４２を備え、操作量生成ノードとして、運転者の要求を検出するセンサの信号から運転者の意図を解釈し、図示していない車両状態を検出するセンサ、例えば加速度センサ、ヨーレートセンサ、車輪速センサからの信号と併せて、車両運動を総合的に制御する車両運動統合制御ＥＣＵ３０を備える。
【０２３７】
この車両制御装置は、更に、アクチュエータ駆動ノードとして、前輪の操舵力を発生する電動モータＭ１およびステアリングコラム軸上に取り付けられる可変ギア比（ＶＧＲ）機構に作用する電動モータＭ５を制御するＳＢＷ・ＶＧＲドライバＥＣＵ８１、後輪の操舵力を発生するステアリング電動モータＭ２を制御するＳＢＷドライバＥＣＵ８２、四輪のブレーキ力を生成するブレーキ電動モータＭ３Ａ〜Ｍ３Ｄを制御するＢＢＷドライバＥＣＵ８３Ａ〜８３Ｄを備えている。
【０２３８】
ここで、ドライバのブレーキペダル操作量を計測するセンサとして、ブレーキペダル５２を踏むことにより発生する油圧の圧力を測定する油圧センサを用いることも可能である。
【０２３９】
上記のノードは全てフェールサイレントとなるように構成されている。通信ネットワークは、メインバスＮ１ＡおよびバックアップバスＮ１Ｂから成り、メインバスＮ１Ａには上記の全てのノードが接続されているのに対して、バックアップバスＮ１Ｂには、車両の安全な走行に関わる必要最小限のノード、すなわち、車両運動統合制御ＥＣＵ３０、後輪のＳＢＷドライバＥＣＵ８２以外の全てのノードが接続されている。図示していないが、バックアップバスＮ１Ｂに接続されている全てのノードには、少なくとも二重に電源が供給されているものとする。
【０２４０】
前輪のＳＢＷ・ＶＧＲドライバＥＣＵ８１、および四輪のＢＢＷドライバＥＣＵ８３Ａ〜８３Ｄは、簡易制御ロジック部８１１、８３１を内蔵している。ここで、簡易制御とは、例えば、電動モータトルク指令値をセンサ信号値に単純に比例するようにしたような、比較的処理負荷の少ない制御を意味する。
【０２４１】
正常時には、前輪のＳＢＷ・ＶＧＲドライバＥＣＵ８１、後輪のＳＢＷドライバＥＣＵ８２、および四輪のＢＢＷドライバＥＣＵ８３Ａ〜８３Ｄは、車両運動統合制御ＥＣＵ３０からの舵角指令、制動力指令を通信ネットワーク経由で受信して、この指令値に基づいて電動モータを制御する。
【０２４２】
本実施形態では、ステアリングホイール５１は、前輪操舵機構７１と機械的に結合されており、ブレーキペダル５２は油圧系統でも前輪ブレーキ７３と接続されており、電子制御が停止したときは、これらのバックアップ機構を使って、運転者が直接、車両を操舵、制動できるように構成されている。
【０２４３】
以下に、図２２に示されている車両制御装置を例にとり、本車両制御装置のどこかに故障が発生した場合でも、ブレーキおよびステアリング機能を失陥させることなく、車両を安定に走行させることについて詳述する。
【０２４４】
なお、ここでは、同時に二つ以上の故障は発生しないものとし、故障が発生した場合には、運転者にその旨を警告し、比較的短い時間で故障部位を修理することにより、第２の故障を未然に防ぐことを前提として説明を行う。
【０２４５】
（１）車両運動統合制御ＥＣＵ３０が故障した場合
この場合、車両運動統合制御ＥＣＵ３０はメインバスＮ１Ａに故障検出通知を出力する。通信ネットワークを時分割多重アクセス（ＴＤＭＡ）とし、各ノードが予め定められたタイムスロットにおいてネットワークへの出力を行うように構成しておけば、出力がないことをもって、故障検出通知とすることもできる。
【０２４６】
これは、例えば、図２３に示されているように、通信サイクルをデータ送信サイクルと診断サイクルに分割し、診断サイクルにおいて、全てのノードが何らかのデータを順番に出力することで実現できる。図２３の例では、診断サイクルのノードＦのタイムスロットでネットワークへの出力がないことから、他ノードはノードＦに故障が発生していることが分かる。
【０２４７】
前輪のＳＢＷ・ＶＧＲドライバＥＣＵ８１、後輪のＳＢＷドライバＥＣＵ８２は、車両運動統合制御ＥＣＵ３０からの故障検出通知を受信すると、ネットワークから操舵角センサ４１の値を取り込み、簡易制御を実行する。
また、四輪のＢＢＷドライバＥＣＵ８３Ａ〜８３Ｄは、ブレーキペダル位置センサ４２の値を取り込み、簡易制御ロジック部８１３によって簡易制御を実行する。
【０２４８】
（２）通信ネットワークのうち、メインバスＮ１Ａに故障が発生した場合
この場合には、バックアップバスＮ１Ｂを用いて、前輪のＳＢＷ・ＶＧＲドライバＥＣＵ８１、および四輪のＢＢＷドライバＥＣＵ８３Ａ〜８３Ｄが、車両運動統合制御ＥＣＵ３０が故障した場合と同様に簡易制御を行う。
【０２４９】
（３）前輪のＢＢＷドライバＥＣＵ８３Ａ、８３Ｂのいずれか、または前輪のブレーキ電動モータＭ３Ａ、Ｍ３Ｂのいずれかが故障した場合
この場合には、故障した側の前輪ブレーキ電動モータへの給電を停止することで、その車輪はブレーキがかからない状態にし、車両運動統合制御ＥＣＵ３０は、残り三輪で車両を安定に停止するように制御を行う。もしくは、運転者がバックアップ機構を使って、直接車両を停止することもできる。
【０２５０】
ここで電動モータの故障には、図示していないが、電動モータ制御に必要な電動モータ回転位置センサや電流センサ等の故障を含むものとする。後輪のＢＢＷドライバＥＣＵ８３Ｃ、８３Ｄのいずれか、または後輪のブレーキ電動モータＭ３Ｃ、Ｍ３Ｄのいずれかが故障した場合も同様である。
【０２５１】
（４）前輪のＳＢＷ・ＶＧＲドライバＥＣＵ８１、または前輪のステアリング電動モータＭ１（電動モータ制御に必要なセンサを含む）のいずれかが故障した場合
この場合には、前輪ステアリング電動モータＭ１およびＶＧＲ機構５４に作用する電動モータＭ５への給電を停止し、運転者がバックアップ機構を使って、直接車両を操舵する。
【０２５２】
（５）操舵角センサ４１、またはブレーキペダル位置センサ４２が故障した場合
この場合には、ステアリング電動モータＭ１、Ｍ２およびＶＧＲ機構に作用する電動モータＭ５、またはブレーキ電動モータＭ３Ａ〜Ｍ３Ｄへの給電を停止し、運転者がバックアップ機構を使って、直接車両を操舵、または制動する。
【０２５３】
なお、本実施形態では、単一故障で、操舵と制動ともにバックアップ機構を使う状況は発生しない。
【０２５４】
以上述べたように、本実施形態の構成によれば、システム全体でエラーをバックアップすることができるため、個々のノードの冗長度を必要以上に上げることなく、バックアップ機構のある車両制御装置においては、全てのノードをフェールサイレントな構成とするだけで、十分に高信頼な車両制御装置を実現することができる。
【０２５５】
フェールサイレントノードは、故障が発生しても正常動作を継続するように構成したフェールオペラティブノードに比べて、ハードウェア構成が簡単であるため、本発明により、公知例に比べて、低コストな高信頼車両制御装置を提供することができる。
【０２５６】
さらに、バックアップバスＮ１Ｂには、車両の安全な走行に関わる必要最小限のノードのみを接続することにより、通信インタフェースを冗長化する必要のあるノードの数を少なくすることができるので、コストを低減できる。
【０２５７】
フェールサイレントな操舵角センサ４１、またはブレーキペダル位置センサ４２の機能構成例を、図２４を参照して説明する。
操舵角センサ４１／ブレーキペダル位置センサ４２は、二つのセンサエレメント６０Ａ、６０Ｂと、各々のセンサエレメント６０Ａ、６０Ｂのアナログ出力をデジタル値に変換するＡ／Ｄ変換器６１Ａ、６１Ｂと、故障検出機能２１０と、フィルタ機能６３と、通信コントローラ６４と、メインバスＮ１Ａに信号を出力するための通信ドライバ６５Ａと、バックアップバスＮ１Ｂに信号を出力するための通信ドライバ６５Ｂから構成されている。
【０２５８】
故障検出機能２１０は、Ａ／Ｄ変換器６１Ａ、６１Ｂによる二つのＡ／Ｄ変換値が予め定められた誤差範囲内で同一であるか否かを判定する一致チェック機能６２を備えており、一致しない場合には、通信ドライバ６５Ａおよび６５Ｂを不活性化し、フェールサイレントとなるようにしている。
【０２５９】
故障検出機能２１０は、二つのセンサエレメント６０Ａ、６０ＢのＡ／Ｄ変換が同時に実行されるようにするために、Ａ／Ｄ変換器６１Ａ、６１Ｂにトリガ信号を出力する。
【０２６０】
本構成例によれば、センサにフィルタ機能６３を備えることにより、センサ信号を短い周期でサンプリングしてオーバサンプリングなどのフィルタ処理を施す場合でも、このサンプリング周期に合わせて通信ネットワークにデータを出力する必要がなくなるため、ネットワークのトラフィックを減らすことができる。
【０２６１】
フェールサイレントな操舵角センサ４１、またはブレーキペダル位置センサ４２のハードウェア構成例を、図２５を参照して説明する。
【０２６２】
操舵角センサ４１／ブレーキペダル位置センサ４２は、メインのセンサエレメント６０Ａと、リファレンス用のセンサエレメント６０Ｂと、フェールセーフＬＳＩ６００と、二つの通信ドライバ６５Ａ、６５Ｂから構成される。
【０２６３】
フェールセーフＬＳＩ６００は、冗長化されたＡ／Ｄ変換器６１Ａ、６１Ｂと、ＣＰＵ６６Ａ、６６Ｂと、通信コントローラ６４Ａ、６６Ｂと、比較器６２Ａ、６２Ｂと、一つのＲＯＭ、ＲＡＭ６７から構成される。
【０２６４】
フェールセーフＬＳＩ６００では、各々のセンサエレメント６０Ａ、６０Ｂからの信号をＡ／Ｄ変換した後、Ａ／Ｄ変換値をＣＰＵ６６Ａ、６６Ｂ間で互いに交換して一致化する。ＣＰＵ６６Ａ、６６Ｂは、各々この一致化後のＡ／Ｄ変換値を用いてフィルタ演算を行う。
【０２６５】
演算結果の一致チェックは、通信コントローラ６４Ａ、６４Ｂの出力を比較器６２Ａ、６２Ｂに入力することで行う。
【０２６６】
本実施形態では、通信バスが２本あるため、通信コントローラ６４は２チャネルであり、各チャネルの出力同士を比較器６２Ａ、６２Ｂで比較する構成としている。
【０２６７】
本実施形態においては、フェールセーフ機能を１チップ化することにより、低コストでフェールサイレントなセンサノードを構成することができる。
【０２６８】
（第４の実施形態）
本発明による車両制御装置の第４の実施形態を、図２６を参照して説明する。なお、図２６において、図２２に対応する部分は、図２２に付した符号と同一の符号を付けて、その説明を省略する。
【０２６９】
図２２に示されている第３の実施形態では、ネットワークに直接センサを接続しているが、第４の実施形態では、ＨＭＩ・ＥＣＵ２５にセンサ信号を入力し、ＨＭＩ・ＥＣＵ２５がセンサ値の比較やフィルタ処理を実行してから、ネットワークにセンサデータを出力する構成になっている。
【０２７０】
この場合、操舵角センサ４１Ａおよびブレーキペダル位置センサ４２Ａは、二つのセンサエレメントだけから成る。
【０２７１】
なお、単一故障で、操舵と制動ともにバックアップ機構を使う状況を発生させないためには、ＨＭＩ・ＥＣＵ２５をフェールオペラティブに構成する必要がある。
【０２７２】
（第５の実施形態）
本発明による車両制御装置の第５の実施形態を、図２７を参照して説明する。なお、図２７においても、図２２に対応する部分は、図２２に付した符号と同一の符号を付けて、その説明を省略する。
【０２７３】
第５の実施形態は、ノード構成およびネットワーク構成については、第３の実施形態と同一であるが、ステアリングコラム（ステアリングホイール５１）と操舵力発生機構、およびブレーキペダル５２とブレーキ力発生機構の間に、機械的な結合がない車両制御装置である。したがって、第３の実施形態で述べたような機械的なバックアップ機構を使った車両の操舵、制動を期待することはできない。
【０２７４】
そこで、本実施形態の車両制御装置においては、操舵角センサ４１Ｂ、ブレーキペダル位置センサ４２Ｂ、および前輪７２Ｒ、７２ＬのＳＢＷドライバＥＣＵ８１Ａを、故障が発生しても正常動作を継続するフェールオペラティブノードとしている。
そして、さらに、前輪７２Ｒ、７２Ｌのステアリング電動モータを二重化（Ｍ１Ａ、Ｍ１Ｂ）している。
【０２７５】
前輪のＳＢＷドライバＥＣＵ８１Ａは、図示していないが、二つのフェールサイレントノードから成っており、各々のフェールサイレントノードが、二重化したステアリング電動モータＭ１Ａ、Ｍ１Ｂを独立に制御する。ＳＢＷドライバＥＣＵ８１Ａは、簡易制御ロジック部８１１を含む。
【０２７６】
ステアリング電動モータＭ１Ａ、Ｍ１Ｂとして、生成できるトルクが、ステアリングと操舵力発生機構が機械的に結合されているシステムで使用するステアリング電動モータのそれと比較して小さい（ただし、機械的に結合されているシステムと同等のトルクを生成するためには１／２以上の）電動モータを用いれば、電動モータを二重化することによるコストの増加を少なくすることができる。
【０２７７】
前輪のＳＢＷドライバＥＣＵ８１Ａは、さらに、路面からの反力をステアリングコラムに擬似的に生成する機構に作用する電動モータＭ６を制御する。
【０２７８】
操舵角センサ４１Ｂおよびブレーキペダル位置センサ４２Ｂは、図２５に示したフェールサイレントなセンサを二重化した構成にする。図２５に示したフェールサイレントなセンサを、センサエレメントを三重化し、三つのセンサ信号の多数決機能を備えることにより、さらに高信頼化したフェールオペラティブなセンサを単一で使用してもよい。
【０２７９】
前輪のＳＢＷドライバＥＣＵ８１Ａの一方のフェールサイレントノードまたはステアリング電動モータＭ１Ａ、Ｍ１Ｂの一方（電動モータ制御に必要なセンサを含む）が故障した場合、このノードは、故障した側のステアリング電動モータへの給電を停止し、故障検出通知を出力する。
【０２８０】
車両運動統合制御ＥＣＵ３０は、この故障検出通知を受信すると、残りのステアリング電動モータにより車両を安定に操舵するように制御を切り替える。
【０２８１】
これ以外の箇所に故障が発生した場合には、ブレーキおよびステアリング機能を失陥させることなく、車両を安定に走行させる方法については、第３の実施形態において説明した通りである。
【０２８２】
第５の実施形態によれば、システム全体でエラーをバックアップすることができるため、ステアリングとブレーキのバックアップ機構のない車両制御装置においても、必要最小限のフェールオペラティブノードを導入するだけで、十分に高信頼な車両制御装置を低コストで実現することができる。
【０２８３】
（第６の実施形態）
本発明による車両制御装置の第６の実施形態を、図２８を参照して説明する。なお、図２８において、図３、図２２に対応する部分は、図２２に付した符号と同一の符号を付けて、その説明を省略する。
【０２８４】
第６の実施形態は、第３の実施形態の車両制御装置に、駆動系や安全系などのノードを追加し、車両の走行に関わる制御系の全体像を示したものである。本実施形態は、ステアリングとブレーキのバックアップ機構を備えているが、備えない車両制御装置でも同様な構成とすることができる。
【０２８５】
メインバスＮ１Ａには、第３の実施形態で述べたステアリング制御とブレーキ制御に関係するノードの他に、車両の駆動系を総合的に制御するＤＢＷ系統合制御ＥＣＵ２０、ダンピング力を調整するサスペンション電動モータＭ４Ａ〜Ｍ４Ｄを制御するＥＡＳドライバＥＣＵ８４Ａ〜８４Ｄ、アクセルペダル５３の踏み込み量を測定するアクセルペダル位置センサ４３、車両の外界の状態を検出するミリ波レーダ／カメラ４４、エアバッグの展開を制御するエアバッグＥＣＵ８５が接続されている。
【０２８６】
前輪のＳＢＷ・ＶＧＲドライバＥＣＵ８１および四輪のＢＢＷドライバＥＣＵ８３Ａ〜８３Ｄは、簡易制御ロジック部８１１、８３１を内蔵している。
【０２８７】
ＤＢＷ系統合制御ＥＣＵ２０には、ネットワークＮ２によって、内燃機関制御ＥＣＵ２１、変速機制御ＥＣＵ２２、電動モータ制御ＥＣＵ２３、バッテリー制御ＥＣＵ２４が接続している。
【０２８８】
車両運動統合制御ＥＣＵ３０は、ネットワークＮ３によって、カーナビ等の情報系の機器を制御するネットワークへの入口となる情報系ゲートウェイ３５や、ドアロック、ドアミラー、各種メータ等のボディ系の機器を制御するネットワークへの入口となるボディ系ゲートウェイ３６と接続されており、これらのノードとデータのやり取りをする。
【０２８９】
図示していないが、エアバッグＥＣＵ８５も別の一端で、エアバッグ展開制御に必要な各種センサ、アクチュエータを統合する安全系のネットワークにつながっているものとする。
【０２９０】
本実施例において、車両運動統合制御ＥＣＵ３０は、操舵角センサ４１、ブレーキペダル位置センサ４２、アクセルペダル位置センサ４３からドライバの意図を解釈し、図示していない車両状態を検出するセンサ、例えば加速度センサ、ヨーレートセンサ、車輪速センサからの信号と併せて、最適な車両運動を実現するための舵角、制動力、駆動力などを演算し、前輪のＳＢＷ・ＶＧＲドライバＥＣＵ８１と、後輪のＳＢＷドライバＥＣＵ８２に舵角指令を送信し、四輪のＢＢＷドライバＥＣＵ８３Ａ〜８３Ｄに制動力指令を送信し、ＤＢＷ系統合制御ＥＣＵ２０に駆動力指令を送信する。
【０２９１】
ＤＢＷ系統合制御ＥＣＵ２０は、駆動力指令を受けて、エネルギ効率などを考慮して、内燃機関、電動モータなど各々の駆動力発生源が発生するべき駆動力を演算し、演算した駆動力指令をネットワークＮ２を介して、内燃機関制御ＥＣＵ２１、電動モータ制御ＥＣＵ２３などに送信する。
【０２９２】
車両運動統合制御ＥＣＵ３０は、運転者の要求を検出するセンサの情報だけでなく、車両の外界の状態を検出するミリ波レーダ／カメラ４４の情報を用いることにより、先行車への追従走行、レーンキープ走行、危険回避運転等の制御を行うことができる。
【０２９３】
信頼性に関しては、通信ネットワークのメインバスＮ１Ａにつながるノードはすべてフェールサイレントになるように構成されている。また、バックアップバスＮ１Ｂには、第３の実施形態で説明したように、車両の安全な走行に関わる必要最小限のノードのみを接続することにより、通信インタフェースを冗長化する必要のあるノードの数を少なくして、コストを低減している。
【０２９４】
アクセルペダル位置センサ４３は、メインバスＮ１Ａ、ＤＢＷ系統合制御ＥＣＵ２０、ネットワークＮ２のいずれかが故障した場合にも車両を駆動できるように、内燃機関制御ＥＣＵ２１にも直接接続されている。
【０２９５】
本実施形態におけるエラーバックアップの方法や、それによる効果については、第３の実施形態で述べた通りである。
【０２９６】
（第７の実施形態）
本発明による車両制御装置の第７の実施形態を、図２９、図３０を参照して説明する。
操作量生成ノード６１０は、操作量６１２を生成し、操作量６１２をアクチュエータ駆動ノード６３０に送る。
補正量生成ノード６２０は、補正量６２２を生成し、補正量６２２をアクチュエータ駆動ノード６３０に送る。
【０２９７】
アクチュエータ駆動ノード６３０は、図３０に示すように、制御器６３２、切替器６３４を有し、補正量生成ノード６２０が正常な場合には、操作量生成ノード６１０からの操作量６１２に、補正量生成ノード６２０からの補正量６２２を加えて制御目標値６３５としてアクチュエータ６４０を制御する。これに対し、補正量生成ノード６２０が異常な場合には、操作量生成ノード６１０からの操作量６１２を制御目標値６３５としてアクチュエータ６４０を制御する。
【０２９８】
この実施形態では、補正量生成ノード６２０が正常なときには、補正量によって、より細かな制御が可能になる一方、補正量生成ノード６２０が故障した場合には、機能を縮退しながらも補正量なしで制御を続行することができる。
【０２９９】
補正量生成ノード６２０が正常であるか否かをわかる必要があるため、補正量生成ノード６２０は、故障検出機能６２１を備えていることが望ましい。故障検出機能６２１による故障検出結果６２３に基づいて、アクチュエータ駆動ノード６３０の切替器６３４が切り替え動作する。
【０３００】
補正量生成のためには高度な情報処理が必要とされるのに対して、操作量生成は比較的簡単な情報処理で済む。そのため、補正量生成ノード６２０は、操作量生成ノード６１０に比べて高い処理性能が要求される結果、部品点数が増えたり、動作周波数（プロセッサのクロック周波数）が高くなったり、電気的、熱的に余裕が少ない動作が要求される。従って、補正量生成ノード６２０は、操作量生成ノード６１０に比べて故障率（部品の故障率（ｆｉｔ数）の総和）が高くなる。
【０３０１】
つまり、補正量生成ノード６２０は、操作量生成ノード６１０より処理能力が高いノードとして構成される。例えば、補正量生成ノード６２０は、操作量生成ノード６１０より動作周波数が高いコンピュータ（ノード）によって構成される。
【０３０２】
従って、制御の継続に最低限必要な操作量生成ノード６１０は、補正量生成ノード６２０よりも低い故障率が期待できる。つまり、操作量生成ノード６１０は、補正量生成ノード６２０よりも故障率が低い構成によるノードになる。
【０３０３】
さらには、補正量生成ノード６２０が故障した場合でも操作量生成ノード６１０は正常である必要があるので、操作量生成ノード６１０は耐故障機能６１１を備えていることが望ましい。
【０３０４】
補正量生成ノード６２０が備える故障検出機能６２１としては、種々考えられるが、図３１に示されているように、補正量生成ノード６２０を２重化してその出力を比較することでも実現できる。
【０３０５】
この場合、２重化した補正量生成ノード６２０が出力した補正量６２２ａと６２２ｂとをあらかじめ補正量生成ノード６２０側で比較し、アクチュエータ駆動ノード６３０には補正量６２２ａと６２２ｂの片方及び故障検出結果を伝送する方法と、図３２に示されているように、多重化された補正量生成ノード６２０が出力した補正量６２２ａと６２２ｂをぞれぞれアクチュエータ駆動ノード６３０に伝送し、アクチュエータ駆動ノード６３０において比較機能６３１によって補正量６２２ａと６２２ｂを比較して故障検出結果６２３を得る方法とがある。
【０３０６】
また、操作量生成ノード６１０が備える耐故障機能６１１も種々考えられるが、図３１に示されているように、操作量生成ノード６１０を３重化してその出力の多数決をとることでも実現できる。
【０３０７】
この場合、冗長化した操作量生成ノード６１０が生成した操作量６１２ａ、６１２ｂ、６１２ｃをあらかじめ操作量生成ノード６１０側で多数決を採りアクチュエータ駆動ノード６３０に伝送する方法と、図３２に示されているように、操作量生成ノード６１０が生成した操作量６１２ａ、６１２ｂ、６１２ｃをそれぞれアクチュエータ駆動ノード６３０に伝送し、アクチュエータ駆動ノード６３０が有する多数決機能６３３で多数決を採る方法とがある。
【０３０８】
また、図３３に示されているように、アクチュエータ駆動ノード６３０に、ゲイン可変器６３６と、ゲイン可変器６３６のゲインを制御するランプ発生器６３７とを設け、故障検出結果６２３をランプ発生器６３７に入力し、補正量生成ノード６２０からの補正量６２２にゲイン可変器６３６で可変ゲインを乗じた値を、操作量生成ノード６１０からの操作量６１２に加えて制御目標値６３５としてアクチュエータ６４０を制御する構成としてもよい。この場合、補正量生成ノード６２０の異常時に、制御目標値６３５が急激に変化せずに徐々に変化するようになる。
【０３０９】
本実施形態の動作を図３４に示す。補正量生成ノード６２０が正常な場合には、ランプ発生器６３７の出力であるランプ出力６３７は高位の値となっており、補正量生成ノード６２０からの補正量６２２は、ゲイン可変器６３６で予め定められた高位のゲインを乗じられ、操作量生成ノード６１０からの操作量６１２と加算されて制御目標値６３５としてアクチュエータ６４０を制御する。
【０３１０】
これに対し、補正量生成ノード６２０が異常となった場合には、故障検出結果６２３が“正常”から“異常”となった時点からランプ出力６３７は高位の値から低位の値に時間と共に徐々に変化する。
【０３１１】
この結果、ゲイン可変器６３６で補正量生成ノード６２０からの補正量６２２に乗じられる可変ゲインも高位のゲインから低位のゲインに時間と共に徐々に変化する。その結果、制御目標値６３５の算出に際して加算される補正量生成ノード６２０からの補正量６２２は時間と共に徐々に小さくなる。
【０３１２】
図３４に示されている実施形態では、低位のゲインを０としているが、補正量生成ノード６２０の故障の重軽に応じて低位のゲインの大小を決定してもよい。また、この実施形態では、ランプ出力６３７が高位の値から低位の値へ直線的に変化しているが、直線に限らず曲線を含む任意のパターンで変化してもよい。なお、変化のパターンは単調低減であることが望ましい。
【０３１３】
以上に述べた本実施形態によれば、補正量生成ノード６２０の異常時に制御目標値６３５が急激でなく徐々に変化するため、操作者に違和感を感じさせることがない。また切替に伴う制御目標値６３５の段差の発生もないため、段差に対する操作者の応答遅れに起因する制御性の悪化も避けることができる。
【０３１４】
また、図３５に示されているように、操作量生成ノード６１０からの操作量６１２及び補正量生成ノード６２０からの補正量６２２が単一の通信路（通信バス）６５０を経由してアクチュエータ駆動ノード６３０に伝送するネットワーク構成とすることもできる。
【０３１５】
この実施形態によれば、通信路をｎｏｄｅ・ｔｏ・ｎｏｄｅで個別に備えなくとも済むので、省配線に繋がり、その分、システムのコストを下げられる上、軽量化を図ることができる。
【０３１６】
本実施形態における通信路６５０を経由して伝送される情報は、図３６に示されているように、送信するノード毎に複数のタイムスロットに時分割されており、操作量６１２は操作量生成ノード６１０に割り当てられたタイムスロット６１４の中で伝送され、補正量６２２は補正量生成ノード６２０に割り当てられたタイムスロット６２４の中で伝送される。
【０３１７】
ここで先に述べた補正量生成ノード６２０が出力した補正量６２２ａと６２２ｂを別々にアクチュエータ駆動ノード６３０に伝送する方法では、冗長化した補正量生成ノード６２０それぞれに個別のタイムスロットを割り当て、それぞれのタイムスロットで補正量６２２ａと６２２ｂを伝送する。
【０３１８】
また、操作量生成ノード６１０が生成した操作量６１２ａ、６１２ｂ、６１２ｃを別々にアクチュエータ駆動ノード６３０に伝送する方法では、冗長化した操作量生成ノード６１０それぞれに個別のタイムスロットを割り当て、それぞれのタイムスロットで操作量６１２ａ、６１２ｂ、６１２ｃを伝送する。
【０３１９】
図３７はＳｔｅｅｒ−ｂｙ−Ｗｉｒｅシステムに本実施形態を適用した具体例を示している。
操作量生成ノード６１０にはステアリングコラム（ステアリングホイール）６１５が接続され、ステアリングコラム６１５の操作角度に応じた操舵角度である操作量６１２が生成され、この操作量６１２が通信路６５０を介してアクチュエータ駆動ノード６３０に伝送される。
【０３２０】
補正量生成ノード６２０には加速度センサ・ヨーレートセンサ６２５が接続され、加速度センサ・ヨーレートセンサ６２５からの信号や操作量６１２の情報から補正量６２２が生成され、この補正量６２２が通信路６５０を介してアクチュエータ駆動ノード６３０に伝送される。
【０３２１】
アクチュエータ駆動ノード６３０では、補正量生成ノード６２０が正常である場合には操作量６１２に補正量６２２を加えた値を制御目標値として舵取り装置６４１を制御する。
【０３２２】
以上に述べた本実施形態によれば、運転者がステアリングコラム６１５をきりすぎた場合、補正量６２２がない場合には前輪がグリップを失ったりして車両の安定性が低下するが、加速度センサ・ヨーレートセンサ６２５で車両の横滑りやスピンを検出して、補正量生成ノード６２０で横滑りやスピンを抑えるように補正量６２２を生成するから、車両の操縦安定性が向上する。
【０３２３】
図３８はＢｒａｋｅ−ｂｙ−Ｗｉｒｅシステムに本実施形態を適用した具体例を示している。
操作量生成ノード６１０にはブレーキペダル６１６が接続され、ブレーキペダル６１６の操作に応じたブレーキ踏力である操作量６１２が生成され、これが通信路６５０を介してアクチュエータ駆動ノード６３０−１〜６３０−４に伝送される。
【０３２４】
補正量生成ノード６２０には加速度センサ・ヨーレートセンサ６２５が接続され、加速度センサ・ヨーレートセンサ６２５からの信号や操作量６１２の情報から各ブレーキの補正量６２２−１〜６２２−４が生成され、これが通信路６５０を介してアクチュエータ駆動ノード３０に伝送される。
【０３２５】
アクチュエータ駆動ノード６３０−ｉ（ｉ＝１〜４）では、補正量生成ノード６２０が正常である場合には操作量６１２に補正量６２２−ｉ（ｉ＝１〜４）を加えた値を制御目標値として各車輪のブレーキ６４２−ｉ（ｉ＝１〜４）を制御する。
【０３２６】
以上に述べた本実施形態によれば、運転者がブレーキペダル６１６を踏みすぎた場合、補正量６２２−ｉ（ｉ＝１〜４）がないと、各車輪がグリップを失ったりして車両の安定性が低下するが、加速度センサ・ヨーレートセンサ６２５で車両の横滑りやスピンを検出して、補正量生成ノード６２０で横滑りやスピンを抑えるように補正量６２２−ｉ（ｉ＝１〜４）を生成するから、車両の操縦安定性が向上する。
【０３２７】
図３９はＳｔｅｅｒ−ｂｙ−ＷｉｒｅとＢｒａｋｅ−ｂｙ−Ｗｉｒｅとを統合したシステムに本実施形態を適用した具体例を示している。
【０３２８】
操作量生成ノード６１０にはステアリングコラム６１５とブレーキペダル６１６が接続され、ステアリングコラム６１５の操作角度に応じた操舵角度である操作量６１２−０とブレーキペダル６１６の操作に応じたブレーキ踏力である操作量６１２−２が生成され、これらが通信路６５０を介してアクチュエータ駆動ノード６３０−０〜６３０−４に伝送される。
【０３２９】
アクチュエータ駆動ノード６３０−０では、補正量生成ノード６２０が正常である場合には操作量６１２−０に補正量６２２−０を加えた値を制御目標値として舵取り装置６４１を制御する。
【０３３０】
アクチュエータ駆動ノード６３０−ｉ（ｉ＝１〜４）では、補正量生成ノード６２０が正常である場合には操作量６１２−ｉに補正量６２２−ｉ（ｉ＝１〜４）を加えた値を目標値として各車輪のブレーキ６４２−ｉ（ｉ＝１〜４）を制御する。
【０３３１】
以上に述べた本実施形態によれば、運転者がステアリングコラム６１５をきりすぎたり、ブレーキペダル６１６を踏みすぎた場合、補正量６２２−ｉ（ｉ＝０〜４）がない場合には前輪がグリップを失ったりして車両の安定性が低下するが、加速度センサ・ヨーレートセンサ６２５で車両の横滑りやスピンを検出して、補正量生成ノード６２０で横滑りやスピンを抑えるように補正量６２２−ｉ（ｉ＝０〜４）を生成するから、車両の操縦安定性が向上する。
【０３３２】
（第８の実施形態）
本発明による車両制御装置の第８の実施形態を、図４０を参照して説明する。
本実施形態の車両制御装置は、車両運動に対する運転者の要求を示すアクセルペダル、ブレーキペダル、ハンドルなどの操作量を検出するセンサ５００と、車両運動の状態を示す車両速度、加速度、ヨーレート、さらには電波や画像などによって取得した車外の情報などを検出するセンサ５５０と、駆動、制動、操舵を実現する動力源、ブレーキ、ステアリングの各々に対応する複数のアクチュエータ４００と、これらのアクチュエータ４００を制御するための目標操作量を生成する操作量生成ノード１００と、操作量生成ノード１００が生成した目標操作量に基づいてアクチュエータ４００を制御する複数のアクチュエータ駆動ノード３００を有して構成される。
【０３３３】
操作量生成ノード１００は、図には詳細に示していないが、プログラムを実行する中央演算処理装置（ＣＰＵ）と、プログラムおよびデータを格納する不揮発性の記憶装置（ＲＯＭ）および揮発性の記憶装置（ＲＡＭ）と、センサ５００、センサ５５０、アクチュエータ駆動ノード３００と接続するための入出力装置（Ｉ／Ｏ）とを有し、これらが双方向のバスで接続された一般的なマイクロコンピュータの構成のものであってもよい。
【０３３４】
操作量生成ノード１００は、さらには、アナログ／デジタル変換装置（ＡＤＣ）を備えて、センサ５００、センサ５５０をＡＤＣに接続してもよいし、シリアル通信装置（ＳＣＩ）を備え、センサ５００、センサ５５０、アクチュエータ駆動ノード３００をＳＣＩに接続してもよい。さらには、これらの装置が１つないし複数の半導体集積回路で実現されたものであってもよい。
【０３３５】
操作量生成ノード１００は、センサ５００が出力する運転者要求信号２００とセンサ５５０が出力する車両状態信号２０１に基づいて各アクチュエータ４００の目標操作量を演算し、これを操作量指令値１２０としてネットワークを介してアクチュエータ駆動ノード３００に送信する。操作量指令値１２０は、各々のアクチュエータ４００に応じて決まり、アクチュエータ４００が動力源であれば目標駆動力、ブレーキであれば各四輪の目標制動力、ステアリングであれば目標舵角となる。
【０３３６】
アクチュエータ駆動ノード３００は、図には詳細に示していないが、プログラムを実行する中央演算処理装置（ＣＰＵ）と、プログラムおよびデータを格納する不揮発性の記憶装置（ＲＯＭ）および揮発性の記憶装置（ＲＡＭ）と、センサ５００および操作量生成ノード１００と接続するための入出力装置（Ｉ／Ｏ）を有し、これらが双方向のバスで接続され、さらにアクチュエータを駆動する駆動回路を備えてＩ／Ｏに接続した一般的なマイクロコンピュータの構成のものであってもよい。
【０３３７】
アクチュエータ駆動ノード３００は、さらには、アナログ／デジタル変換装置（ＡＤＣ）を備え、センサ５００をＡＤＣに接続してもよいし、シリアル通信装置（ＳＣＩ）を備えて、センサ５００ないし操作量生成ノード１００をＳＣＩに接続してもよい。さらには、これらの装置が１つないし複数の半導体集積回路で実現されたものであってもよい。
【０３３８】
アクチュエータ駆動ノード３００は、図示はしていないが、アクチュエータ４００の駆動力、制動力、舵角のいずれか、あるいはこれらを推定するために必要な情報を検出するセンサを有しており、アクチュエータ４００の駆動力、制動力、舵角が操作量生成ノード１００から受信した操作量指令値１２０に一致するようにアクチュエータ４００の駆動制御を実行する。
【０３３９】
また、アクチュエータ駆動ノード３００は、センサによって検出したアクチュエータの駆動力、制動力、舵角を操作量生成ノード１００に送信する。これにより、操作量生成ノード１００は、アクチュエータ４００の駆動力、制動力、舵角を参照して各アクチュエータ４００の目標操作量を演算することができる。
【０３４０】
センサ５００、操作量生成ノード１００、アクチュエータ駆動ノード３００は、それぞれ自己の故障を検出する故障検出機能２１０Ａ、２１０Ｂ、２１０Ｃを備えている。
【０３４１】
故障検出機能２１０Ａによるセンサの故障検出は、センサ５００が検出した値が所定の範囲から外れたことを判定することによって実現でき、また、複数のセンサを用いてこれらの検出結果を比較照合または多数決をとることによっても実現できる。
【０３４２】
故障検出機能２１０Ｂによる操作量生成ノード１００の故障検出は、ウォッチドグタイマによるＣＰＵのタイムアウト、冗長符号によるＲＯＭ、ＲＡＭおよび双方向バスのビット誤り検出、Ｉ／Ｏの比較照合によって実現でき、また、操作量生成ノード１００を複数用いてこれらの出力を比較照合または多数決をとることによっても実現できる。
【０３４３】
故障検出機能２１０Ｃによるアクチュエータ駆動ノード３００の故障検出は、ウォッチドグタイマによるＣＰＵのタイムアウト、冗長符号によるＲＯＭ、ＲＡＭおよび双方向バスのビット誤り検出、Ｉ／Ｏの比較照合によって実現でき、また、操作量生成ノードを複数用いてこれらの出力を比較照合または多数決をとることによっても実現できる。
【０３４４】
さらに、故障検出機能２１０Ｃは、アクチュエータ４００の駆動力、制動力、舵角の変化量や操作量指令値１２０との差からアクチュエータ４００の故障を検出する機能も備えている。
【０３４５】
故障検出機能２１０Ａ、２１０Ｂ、２１０Ｃは、自己またはアクチュエータ４００の故障を検出した場合には、操作量生成ノード１００および他のアクチュエータ駆動ノード３００に、自分が故障状態であることを知らせるための故障検出通知２３０を出力する。
【０３４６】
センサ５００、操作量生成ノード１００、アクチュエータ駆動ノード３００は、それぞれ、故障状態になった場合には、故障検出通知２３０を出力するのみで他の出力を停止することが望ましく、さらには、故障検出通知２３０を正常に出力できない場合には、この故障検出通知２３０も停止することが望ましい。
【０３４７】
また、各アクチュエータ駆動ノード３００は、自己、他の各アクチュエータ駆動ノード３００、操作量生成ノード１００の各々の故障検出結果などに基づいて制御プログラム（アクチュエータコント方法）を選択するための、制御プログラム選択機能（制御方法選択手段）２２０を有している。
【０３４８】
制御プログラム選択機能２２０は、通常時には、操作量生成ノード１００からの操作量指令値１２０に基づいてアクチュエータ４００を制御する制御プログラムを選択するが、操作量生成ノード１００が故障した場合には、センサ５００からの運転者要求信号２００に基づいてアクチュエータ４００を制御する制御プログラムを選択し、自己または他の特定箇所のアクチュエータ駆動ノード３００が故障した場合には、アクチュエータ４００の制御を安全に停止する制御プログラムを選択する。
【０３４９】
これにより、操作量生成ノード１００やアクチュエータ駆動ノード３００が故障した場合でも、正常状態にあるアクチュエータ駆動ノード３００によって車両制御を継続することができる。
【０３５０】
この実施形態による車両制御装置は、図４１に示されているように、操作量生成ノード１００とアクチュエータ駆動ノード３００とセンサ５００を、ＣＡＮ等によるネットワーク６００によって通信可能に接続した構成でもよい。操作量生成ノード１００、アクチュエータ駆動ノード３００、センサ５００は、それぞれ、操作量指令値１２０、故障検出通知２３０、運転者要求信号２００やその他のメッセージをネットワーク６００経由で所望のノードに送信できる。さらに、各々のノードが送信したメッセージを複数のノードが受信することもできる。
【０３５１】
また、図４２に示されているように、この実施形態による車両制御装置は、センサ５５０も一つのノードとしてネットワーク６００に接続して構成することもできる。これにより、センサ５５０は、車両状態信号２０１をネットワーク６００経由で所望のノードに送信できる。さらに、センサ５５０が送信したメッセージを複数のノードが受信することもできる。
【０３５２】
なお、図４１、図４２に示した車両制御装置においては、ネットワーク６００を複数備えて冗長性を持たせることにより、ネットワークの信頼性を高めることができる。
【０３５３】
図４３は、操作量生成ノード１００の機能ブロック図である。操作量生成ノード１００は、車両制御のための複数の制御プログラムをＲＯＭないしＲＡＭに内蔵しており、故障検出機能２１０Ｂによって自己の故障を検出した場合や、センサ５００、センサ５５０、アクチュエータ駆動ノード４００から故障検出通知２３０を受信した場合には、故障箇所や故障の程度に応じて、制御プログラムを切り替えるように構成されている。
【０３５４】
図４４は、アクチュエータ駆動ノード３００の機能ブロック図である。アクチュエータ駆動ノード３００は、操作量生成ノード１００から受信した操作量指令値１２０に基づいてアクチュエータ４００の動作目標値を演算するための複数の制御プログラムをＲＯＭないしＲＡＭに内蔵している。アクチュエータ駆動ノード３００は、操作量生成ノード１００が出力する操作量指令値１２０に基づいてアクチュエータ４００を制御する制御プログラムＸと、センサ５００が出力する運転者要求信号２００に基づいてアクチュエータ４００を制御する制御プログラムＹと、操作量指令値１２０や運転者要求信号２００に関係無くアクチュエータを所定の状態に維持する制御プログラムＺを有しており、制御プログラム選択機能２２０によって自己の故障や他のノードの故障状況に応じて制御プログラムを切り替えることができる。
【０３５５】
以下に、図４０〜図４４の車両制御装置を例に、本車両制御装置内で故障が発生した場合に車両運動を継続するための基本的な処理について説明する。
【０３５６】
操作量生成ノード１００が故障した場合の基本的な処理について説明する。操作量生成ノード１００は、故障検出機能によって自己の故障を検出すると、操作量指令値１２０の送信を停止すると共に、故障検出通知２３０を送信する。故障検出通知２３０を正常に送信できない場合には、操作量生成ノード１００は、故障検出通知２３０の送信も停止する。
【０３５７】
これにより、ネットワーク６００に接続されている各アクチュエータ駆動ノード３００は、操作量生成ノード１００からの故障検出通知２３０を受信することにより、操作量生成ノード１００が故障したことを検出でき、また、予め定めた時間内に操作量指令値１２０を受信していないことにより、操作量生成ノード１００で何らかの異常が発生したことを検出できる。
【０３５８】
なお、ネットワーク６００を時分割多重アクセス（ＴＤＭＡ）とし、各ノードが予め定められたタイムスロットでメッセージの送信を実行するように構成しておけば、操作量生成ノード１００が操作量指令値１２０を送信するタイムスロットでの受信有無を確認することにより、操作量生成ノード１００で何らかの異常が発生したことを検出できる。
【０３５９】
各アクチュエータ駆動ノード３００は、操作量生成ノード１００からの故障検出通知２３０を検出するか、あるいは操作量指令値１２０の未受信を検出すると、制御プログラムを（Ｘ）から（Ｙ）に切り替え、ネットワーク６００からセンサ５００の運転者要求信号２００を取り込んで駆動力、制動力、舵角などの車両運動制御を実行する。
これにより、操作量生成ノード１００が故障しても、車両運動制御を継続する。
【０３６０】
次に、アクチュエータ駆動ノード３００またはアクチュエータ４００が故障した場合の基本的な処理について説明する。なお、アクチュエータ４００の故障には、図示していないアクチュエータ制御に必要な回転位置センサや電流センサ等の故障を含むものとする。
【０３６１】
四輪のブレーキの各々に設けられたアクチュエータ駆動ノード３００またはアクチュエータ４００が故障した場合には、アクチュエータ駆動ノード３００が、故障検出機能によって自己の故障を検出すると、故障検出通知２３０を送信すると共に、制御プログラムを（Ｘ）から（Ｚ）に切り替えて該当車輪のブレーキ制動を解放する。
【０３６２】
操作量生成ノード１００は、故障検出通知２３０を受信すると、残りの二輪ないし三輪で制動力を制御する。もしくは、運転者が油圧機構などの機械的なバックアップ機構を使って、直接車両を制動する。
これにより、四輪のブレーキの各々に設けられたアクチュエータ駆動ノード３００またはアクチュエータ４００が故障しても、車両運動制御を継続することができる。
【０３６３】
ステアリングに設けられたアクチュエータ駆動ノード３００またはアクチュエータ４００が故障した場合には、アクチュエータ駆動ノード３００が、故障検出機能２１０Ｃによって自己の故障を検出すると、故障検出通知２３０を送信すると共に、制御プログラムを（Ｘ）から（Ｚ）に切り替えて舵角制御を停止する。
【０３６４】
そして、運転者がステアリングコラムなどの機械的なバックアップ機構を使って直接車両操舵を制御する。機械的なバックアップ機構がない場合には、ステアリング用のアクチュエータ駆動ノード３００とアクチュエータ４００を複数設けておき、少なくとも１つのアクチュエータ駆動ノード３００とアクチュエータ４００で舵角を制御する。
これにより、ステアリングに設けられたアクチュエータ駆動ノード３００またはアクチュエータ４００が故障しても、車両運動制御を継続することができる。
【０３６５】
駆動力用に設けられたアクチュエータ駆動ノード３００またはアクチュエータ４００が故障した場合には、アクチュエータ駆動ノード３００が、故障検出機能によって自己の故障を検出すると、故障検出通知２３０を送信すると共に、制御プログラムを（Ｘ）から（Ｚ）に切り替えて駆動制御を停止する。
これにより、駆動力用に設けられたアクチュエータ駆動ノード３００またはアクチュエータ４００が故障しても、車両を安全に停止することができる。
【０３６６】
ブレーキペダル用のセンサ５００が故障した場合には、全車輪のブレーキの制動を解放し、運転者が油圧機構などの機械的なバックアップ機構を使って直接車両を制動する。機械的なバックアップ機構がない場合には、ブレーキペダル用のセンサ５００を複数設けて、少なくとも１つのセンサ５００で運転者の要求を検出できるようにする。
これにより、ブレーキペダル用のセンサ５００が故障しても、車両運動制御を継続することができる。
【０３６７】
ハンドル用のセンサ５００が故障した場合には、ステアリング制御を停止し、運転者がステアリングコラムなどの機械的なバックアップ機構を使って直接車両を操舵する。機械的なバックアップ機構がない場合には、ブレーキペダル用のセンサ５００を複数設けて、少なくとも１つのセンサ５００で運転者の要求を検出できるようにする。
これにより、ハンドル用のセンサ５００が故障しても、車両運動制御を継続することができる。
【０３６８】
アクセルペダル用のセンサ５００が故障したには場合、駆動力制御を停止し、車両を安全に停止させる。あるいは、ブレーキペダル用のセンサ５００を複数設けて、少なくとも１つのセンサ５００で運転者の要求を検出できるようにする。
これにより、車両運動制御を継続することができる。
【０３６９】
センサ５５０が故障した場合には、操作量生成ノード１００は、正常に取得した車両状態情報２０１と、センサ５００から取得した運転者要求信号２００に基づいて車両運動を継続する。
【０３７０】
以上説明したように、本実施形態によれば、操作量生成ノード１００とアクチュエータ駆動ノード３００が相互にバックアップするため、冗長なバックアップ装置を付加する必要がない。
しかしながら、操作量生成ノード１００が故障した場合には、アクチュエータ駆動ノード３００が各々独立に制御を実行する。
【０３７１】
このため、アクチュエータ駆動ノード３００が等しく操作量生成ノード１００の故障を検出する必要があり、また、車両運動統合制御ＥＣＵ３０に加えて一部のアクチュエータ駆動ノード３００が故障した場合でも、残りのアクチュエータ駆動ノード３００によって安全に車両を制御する必要がある。特に、ブレーキは左右の制動力に差が生じた場合、片効きの状態となり、車両が制動中にスピンしてしまう。
【０３７２】
このような危険な状態を回避するための操作量生成ノード１００およびアクチュエータ駆動ノード３００の動作例を、図４５〜図５７を用いて詳細に説明する。ここでは、ブレーキを例に各々の動作を説明する。
【０３７３】
操作量生成ノード１００は、一定の制御周期（Ａ）で制動制御の処理を繰り返し実行する。この制御周期は車両制動制御の必要精度によって決まる。一方、各アクチュエータ駆動ノード３００は、後述するように、操作量生成ノード１００の制御周期（Ａ）に比べてさらに短い制御周期（Ｂ）でアクチュエータ４００の制動力制御を繰り返し実行する。これは、アクチュエータ４００の電流フィードバック制御に高い精度が要求されるためである。
【０３７４】
したがって、操作量生成ノード１００が制御周期（Ａ）で一連の処理を実行している間、各アクチュエータ駆動ノード３００は最新の操作量指令値１２０に基づいて制御周期（Ｂ）で繰り返し制動力制御を実行しており、操作量生成ノード１００との通信処理などで制動力制御を中断することはない。
【０３７５】
図４５は、アクチュエータ駆動ノード３００の動作を示すタイムチャートである。横軸は左から右に向かって時間の経過を示している。各アクチュエータ駆動ノード３００は、制御周期（Ｂ）で以下の処理を繰り返し実行する。
【０３７６】
先ず、アクチュエータ駆動ノード３００は、操作量生成ノード１００から操作量指令値１２０または故障検出通知２３０を、センサ５００から運転者要求信号２００を受信したかどうかを確認する（指令値、故障検出通知受信確認Ｂ１）。これらは、制御周期（Ａ）の間隔で送信されるため、制御周期（Ａ）の時間を計測するタイマを用いて操作量指令値１２０、運転者要求信号２００の受信を確認することができる。あるいは、これらを時分割多重アクセス（ＴＤＭＡ）型のネットワークを用いて予め定めたタイムスロットで送受することにより受信を確認することもできる。
【０３７７】
次に、アクチュエータ駆動ノード３００は、前回の制御周期の最後に検出したアクチュエータ４００の制動力と、故障検出機能２１０Ｃによる診断結果を操作量生成ノード１００や他のアクチュエータ駆動ノード３００に送信する（応答メッセージ送信Ｂ２）。この時、（指令値、故障検出通知受信確認Ｂ１）で操作量指令値１２０を受信していない場合には、操作量指令値未受信を、故障検出通知２３０を受信した場合には、故障検出通知受信もあわせて通知する。これらは１つの応答メッセージとしてまとめて送信する。
【０３７８】
次に、アクチュエータ駆動ノード３００は、操作量指令値１２０の受信有無、故障検出通知２３０の受信有無、アクチュエータ４００および自己の故障有無、および他のアクチュエータ駆動ノード３００からの応答メッセージの有無とその内容に基づいて制御プログラムを選択する（制御プログラム選択Ｂ３）。制御プログラムは、操作量指令値１２０に基づいて制動力制御を実行する制御プログラム（Ｘ）と、運転者要求信号２００に基づいて制動力制御を実行する制御プログラム（Ｙ）と、操作量指令値１２０および運転者要求信号２００のいずれにも関わりなくブレーキを解放する制御プログラム（Ｚ）があり、この中から１つを選択する。
【０３７９】
この制御プログラムの選択ルーチン（Ｂ３）を、図４６のフローチャートを参照して説明する。
【０３８０】
先ず、自己のアクチュエータ駆動ノード３００またはアクチュエータ４００の異常発生を、以下の条件で判定する（ステップＳ１６１０）。
【０３８１】
条件１：自己およびアクチュエータの診断の結果、故障を検出。
条件２：操作量生成ノード１００から故障検出通知２３０を受信した時に、他の２つ以上のアクチュエータ駆動ノード３００が故障検出通知２３０を受信していないと応答。
条件３：操作量生成ノード１００から故障検出通知２３０を受信しなかった時に、他の２つ以上のアクチュエータ駆動ノード３００が故障検出通知２３０を受信したと応答。
条件４：操作量生成ノード１００から操作量指令値１２０を受信した時に、他の２つ以上のアクチュエータ駆動ノード３００が操作量指令値１２０を受信しなかったと応答。
条件５：操作量生成ノード１００から操作量指令値１２０を受信しなかった時に、他の２つ以上のアクチュエータ駆動ノード３００が操作量指令値１２０を受信したと応答。
【０３８２】
以上の条件１から条件５のうち、少なくとも１つが成立した場合、自己異常と判断し、制御プログラム（Ｚ）を選択してブレーキを解放する（ステップＳ１６８０）。
【０３８３】
次に、操作量生成ノード１００の異常発生を、以下の条件で判定する（ステップＳ１６２０）。
【０３８４】
条件６：操作量生成ノード１００から故障検出通知２３０を受信し、かつ、他の２つ以上の操作量生成ノード１００も故障検出通知２３０を受信したと応答。
条件７：操作量生成ノード１００から操作量指令値１２０を受信せず、かつ、他の２つ以上の操作量生成ノード１００も操作量指令値１２０を受信していないと応答。
【０３８５】
上記の条件６、条件７のいずれの条件も成立しなかった場合には、操作量生成ノード１００は正常と判断し、制御プログラム（Ｘ）を選択し（ステップＳ１６６０）、操作量指令値１２０に基づいて制動力制御を実行する。
【０３８６】
一方、条件６、条件７のうち、少なくとも１つが成立した場合には、操作量生成ノード１００は異常と判断し、他のアクチュエータ駆動ノード３００またはアクチュエータ４００の異常発生を、以下の条件で判定する（ステップＳ１６３０）。
【０３８７】
条件８：他のアクチュエータ駆動ノード３００が故障を通知。
条件９：他の１つのアクチュエータ駆動ノード３００が応答メッセージを送信しない。
条件１０：操作量生成ノード１００から故障検出通知２３０を受信した時に、他の１つのアクチュエータ駆動ノード３００だけが故障検出通知２３０を受信していないと応答。
条件１１：操作量生成ノード１００から故障検出通知２３０を受信しなかった時に、他の１つのアクチュエータ駆動ノード３００だけが故障検出通知２３０を受信したと応答。
条件１２：操作量生成ノード１００から操作量指令値１２０を受信した時に、他の１つのアクチュエータ駆動ノード３００だけが操作量指令値１２０を受信しなかったと応答。
条件１３：操作量生成ノード１００から操作量指令値１２０を受信しなかった時に、他の１つのアクチュエータ駆動ノード３００だけが操作量指令値１２０を受信したと応答。
【０３８８】
上記の条件８から条件１３のいずれの条件も成立しなかった場合には、他のアクチュエータ駆動ノード３００およびアクチュエータ４００は正常と判断し、制御プログラム（Ｙ）を選択し（ステップＳ１６７０）、運転者要求信号２００に基づいて制動力制御を実行する。
【０３８９】
一方、条件８から条件１３のうち、少なくとも１つが成立した場合には、他のアクチュエータ駆動ノード３００またはアクチュエータ４００が異常と判断し、ブレーキの片効きを回避するために、後述する制御プログラム選択テーブルを参照し（ステップＳ１６４０）、制御プログラム（Ｙ）または（Ｚ）のいずれかを選択する（ステップＳ１６５０）。
【０３９０】
以上説明したように、アクチュエータ駆動ノード３００は、条件１から条件１３に基づいて自己のアクチュエータ駆動ノード３００またはアクチュエータ４００の異常、操作量生成ノード１００異常、他のアクチュエータ駆動ノード３００またはアクチュエータ４００の異常を判定し、制御プログラムを選択する。
【０３９１】
なお、上記の条件は、車両システムの形態や各々の構成要素の形態によって異なるため、それらに応じた条件を用いてもよい。
【０３９２】
また、操作量生成ノード１００からの操作量指令値１２０や故障検出通知２３０などの未受信は、直ちに異常と判断するのではなく、２回以上未受信となった時に異常と判断してもよい。この場合、未受信回数を各アクチュエータ駆動ノード３００間で交換し、多数決を採るなどして未受信回数を一致させてもよい。
【０３９３】
図４７（ａ）、（ｂ）は、制御プログラム選択テーブルを示している。
テーブル（ａ）は、四輪のブレーキのうち、他のアクチュエータ駆動ノード３００またはアクチュエータ４００が異常である場合に、前二輪または後二輪のいずれかのブレーキで車両を制動するように制御プログラムを選択するものである。
【０３９４】
一方、テーブル（ｂ）は、四輪のブレーキのうち、他のアクチュエータ駆動ノード３００またはアクチュエータ４００が異常である場合に、対角線上にある前一輪と後一輪のブレーキで車両を制動するように制御プログラムを選択するものである。
【０３９５】
なお、これらのテーブルでは、前二輪または後二輪、あるいは対角線上にある前一輪と後一輪のいずれかのブレーキで車両を制動できない場合には、全アクチュエータ４００による制動を解放して運転者が油圧機構を介して車両を制動することを前提としている。
【０３９６】
もちろん、このような場合でも、残りの正常なアクチュエータ４００によって車両制動を実行してもよい。
【０３９７】
また、油圧機構によるバックアップが無い場合には、前二輪または後二輪、あるいは対角線上にある前一輪と後一輪のいずれかのブレーキで車両を制動できない場合でも、残りの正常なアクチュエータ４００によって車両制動を実行する必要がある。これら場合には内燃機関の回転数を制御して車両の速度を下げることにより、ブレーキの片効きによる影響を抑えるようにすることが望ましい。
【０３９８】
制御プログラム選択が完了すると、図４５を用いた説明に戻り、制動力の演算を行ってブレーキ制御を実行し（Ｂ４）、その後、実際の制動力の取り込みと故障情報収集を行う（Ｂ５）。
【０３９９】
図４８は、ブレーキ制御の開始時期における操作量生成ノード１００およびアクチュエータ駆動ノード３００の動作を示すタイムチャートである。横軸は左から右に向かって時間の経過を示している。
【０４００】
先ず、操作量生成ノード１００は、運転者によるブレーキペダルの踏み込みを検出すると、四輪のアクチュエータ駆動ノード３００に制動開始通知を送信する（１８１０）。
【０４０１】
各アクチュエータ駆動ノード３００は、制動開始通知を受信すると、故障検出機能２１０Ｃを用いて自己の故障診断およびアクチュエータ４００の故障診断を実行し（１８２０）、診断結果を応答メッセージによって操作量生成ノード１００に送信する（１８３０）。なお、各アクチュエータ駆動ノード３００は、他の診断結果を互いに受信する。
【０４０２】
操作量生成ノード１００は、各アクチュエータ駆動ノード３００の診断結果を受信して、故障ノードの有無および故障ノードの位置に応じて制動制御すべき車輪を選択する（１８４０）。なお、アクチュエータ駆動ノード３００が診断結果を送信しなかった場合には、該当するノードは故障しているものとみなす。あるいは、制動開始通知を再度送信してアクチュエータ駆動ノード３００からの診断結果送信を１回ないし複数回試みてもよい。
【０４０３】
操作量生成ノード１００は、制動制御すべき車輪に対する目標操作量を演算し（１８５０）、対象となるアクチュエータ駆動ノード３００に操作量指令値１２０を送信する（１８６０）。
【０４０４】
各アクチュエータ駆動ノード３００は、操作量指令値１２０を受信すると制動力制御の目標値を更新してアクチュエータ４００の制動力制御を実行する（１８７０）。
【０４０５】
また、各アクチュエータ駆動ノード３００は、一定の周期でアクチュエータ４００の制動力の検出と故障検出機能２１０Ｃによる定期的な診断結果を応答メッセージによって操作量生成ノード１００に送信する（１８８０）。この時も、各アクチュエータ駆動ノード３００は他の診断結果を互いに受信する。
【０４０６】
図４９は、ブレーキ制御中における操作量生成ノード１００およびアクチュエータ駆動ノード３００の動作を示すタイムチャートである。横軸は左から右に向かって時間の経過を示している。
【０４０７】
操作量生成ノード１００は、制御周期（Ａ）毎に以下の処理を実行する。
先ず、操作量生成ノード１００は、各アクチュエータ駆動ノード３００からの応答メッセージを受信し（１９１０）、応答メッセージに含まれている各アクチュエータ駆動ノード３００の故障診断結果を参照して、各アクチュエータ駆動ノード３００およびアクチュエータ４００の異常の有無および異常箇所を確認し、制動制御すべき各アクチュエータ駆動ノード３００を選択する（１９２０）。
【０４０８】
次に、操作量生成ノード１００は、制動制御すべき車輪に対する目標値操作量を演算し（１９３０）、対象となるアクチュエータ駆動ノード３００に操作量指令値１２０を送信する（１９４０）。
【０４０９】
なお、図４９では、操作量生成ノード１００が運転者によるブレーキペダルの踏み込みを検出して四輪のアクチュエータ駆動ノード３００に制動開始通知を送信することによってブレーキ制御を開始しているが、運転者によるブレーキペダルの踏み込みの有無を運転者の要求量の差異とすれば、運転者によるブレーキペダルの踏み込みの有無に関係なく、操作量生成ノード１００が常に図４９に示したように制御周期（Ａ）で一連の処理を繰り返し実行することができる。
【０４１０】
図５０は、制動制御を実行する車輪を選択するためのフローチャートである。
先ず、操作量生成ノード１００は、自己の異常発生を、以下の条件で判定する（ステップＳ２０１０）。
【０４１１】
条件１：自己の故障検出機能２１０Ｂによる診断の結果、故障を検出。
条件２：３つ以上のアクチュエータ駆動ノード３００からの応答メッセージを受信していない。
【０４１２】
上記の条件１、条件２のうち、少なくとも１つが成立した場合には、操作量生成ノード１００は異常と判断し、アクチュエータ駆動ノード３００に故障検出通知２３０を送信すると共に（ステップＳ２０４０）、操作量指令値１２０の送信を停止する（ステップＳ２０５０）。
【０４１３】
一方、条件１、条件２のいずれの条件も成立しなかった場合には、操作量生成ノード１００は正常と判断し、アクチュエータ駆動ノード３００またはアクチュエータ４００の異常発生を、以下の条件で判定する（ステップＳ２０２０）。
【０４１４】
条件３：アクチュエータ駆動ノード３００から故障検出通知を受信。
条件４：２つ以下のアクチュエータ駆動ノード３００からの応答メッセージを受信していない。
【０４１５】
上記の条件３および条件４のいずれの条件も成立しなかった場合には、全てのアクチュエータ駆動ノード３００およびアクチュエータ４００は正常と判断し、四輪全ての制動力制御を実行する（ステップＳ２０７０）。
【０４１６】
これに対し、条件３または条件４のうち、いずれか１つが成立した場合、アクチュエータ駆動ノード３００またはアクチュエータ４００が異常と判断し、ブレーキの片効きを回避するために、後述する制動車輪選択テーブルを参照し（２０３０）、選択した車輪による制動力制御を実行する（ステップＳ２０６０）。
【０４１７】
以上、説明したように、操作量生成ノード１００は、条件１から条件４に基づいて自己の異常、アクチュエータ駆動ノード３００またはアクチュエータ４００の異常を判定し、自己が正常であれば、正常なアクチュエータ駆動ノード３００を用いてブレーキの片効きを回避するよう制動制御を実行し、自己が異常であれば、自ら制動制御を停止し、アクチュエータ駆動ノード３００による自律的な制動制御に移行させる。
【０４１８】
なお、上記の条件は、車両システムの形態や各々の構成要素の形態によって異なるため、それらに応じた条件を用いてもよい。また、アクチュエータ駆動ノード３００からの応答メッセージの未受信は、直ちに異常と判断するのではなく、２回以上未受信となった時に異常と判断してもよい。
【０４１９】
図５１（ａ）、（ｂ）は、制動車輪選択テーブルを示している。
テーブル（ａ）は、四輪のブレーキのうち、アクチュエータ駆動ノード３００またはアクチュエータ４００が異常である場合に、前二輪または後二輪のいずれかのブレーキで車両を制動するように制動車輪を選択するものである。
【０４２０】
テーブル（ｂ）は、四輪のブレーキのうち、他のアクチュエータ駆動ノード３００またはアクチュエータ４００が異常である場合に、対角線上にある前一輪と後一輪のブレーキで車両を制動するように制動車輪を選択するものである。
【０４２１】
なお、これらのテーブルに示していないが、前二輪または後二輪、あるいは対角線上にある前一輪と後一輪のいずれかのブレーキで車両を制動できない場合には、操作量生成ノード１００は、全アクチュエータ４００の制動を解放するよう操作量指令１２０を演算し、運転者が油圧を介して車両を制動することを前提としている。
【０４２２】
もちろん、このような場合でも、残りの正常なアクチュエータ４００によって車両制動を実行するよう操作量指令１２０を演算してもよい。
【０４２３】
また、油圧によるバックアップ機構が無い場合には、前二輪または後二輪、あるいは対角線上にある前一輪と後一輪のいずれかのブレーキで車両を制動できない場合でも、残りの正常なアクチュエータ４００によって車両制動を実行する必要がある。これら場合には内燃機関の回転数を制御して車両の速度を下げることにより、ブレーキの片効きによる影響を抑えるようにすることが望ましい。
【０４２４】
図５２は、ブレーキ制御の開始時期において、左後輪のアクチュエータ駆動ノード３００またはアクチュエータ４００が故障した場合の操作量生成ノード１００およびアクチュエータ駆動ノード３００の動作を示すタイムチャートである。横軸は左から右に向かって時間の経過を示している。
【０４２５】
なお、本タイムチャートでは、操作量生成ノード１００は、図５１に示した制動車輪選択テーブル（ａ）に基づいて制動力制御を実行する車輪を選択するものとしている。
【０４２６】
先ず、操作量生成ノード１００は、運転者によるブレーキペダルの踏み込みを検出すると、四輪のアクチュエータ駆動ノード３００に制動開始通知を送信する（２２１０）。
【０４２７】
各アクチュエータ駆動ノード３００は、制動開始通知を受信すると、故障検出機能２１０Ｃを用いて自己の故障診断およびアクチュエータ４００の故障診断を実行し（２２２０）、診断結果を応答メッセージによって操作量生成ノード１００に送信する（２２３０）。この時、左後輪のアクチュエータ駆動ノード３００は、故障を検出したことを応答メッセージによって操作量生成ノード１００に報せる。なお、各アクチュエータ駆動ノード３００は他の診断結果を互いに受信する。
【０４２８】
操作量生成ノード１００は、各アクチュエータ駆動ノード３００の診断結果を受信して、左後輪のアクチュエータ駆動ノード３００が故障したことを検出し、前二輪で制動制御を実行するよう車輪を選択する（２２４０）。
【０４２９】
操作量生成ノード１００は、前二輪に対する目標操作量を演算し（２２５０）、前二輪のアクチュエータ駆動ノード３００に操作量指令値１２０を送信すると共に、後二輪のアクチュエータ駆動ノード３００に対しては制動力を解放する操作量指令値１２０を送信する（２２６０）。
【０４３０】
前二輪のアクチュエータ駆動ノード３００は、操作量指令値１２０を受信すると、制動力制御の目標値を更新してアクチュエータ４００の制動力制御を実行する。また、右後輪のアクチュエータ駆動ノード３００は、操作量指令値１２０を受信すると制動力制御の目標値を更新してアクチュエータ４００の制動力制御を実行するが、操作量指令値１２０が制動力を解放する値であるため、実際には制動力を発生しない。
【０４３１】
一方、左後輪のアクチュエータ駆動ノード３００は、自己の故障を検出した結果、制御プログラム（Ｚ）を選択するため、制動力を発生しない（２２７０）。
【０４３２】
図５３は、ブレーキ制御中において左後輪のアクチュエータ駆動ノード３００またはアクチュエータ４００が故障した場合の操作量生成ノード１００およびアクチュエータ駆動ノード３００の動作を示すタイムチャートである。横軸は左から右に向かって時間の経過を示している。
【０４３３】
なお、本タイムチャートでは、操作量生成ノード１００は、図５１に示した制動車輪選択テーブル（ａ）に基づいて制動力制御を実行する車輪を選択するものとしている。
【０４３４】
先ず、操作量生成ノード１００は、各アクチュエータ駆動ノード３００からの応答メッセージを受信し、応答メッセージに含まれている各アクチュエータ駆動ノード３００の故障診断結果から、左後輪のアクチュエータ駆動ノード３００が故障したことを検出し（２３１０）、前二輪で制動制御を実行するよう車輪を選択する（２３２０）。
【０４３５】
次に、操作量生成ノード１００は、制動制御すべき車輪に対する目標操作量を演算し（２３３０）、前二輪のアクチュエータ駆動ノード３００に操作量指令値１２０を送信すると共に、後二輪のアクチュエータ駆動ノード３００に対しては制動力を解放する操作量指令値１２０を送信する（２２４０）。
【０４３６】
前二輪のアクチュエータ駆動ノード３００は、操作量指令値１２０を受信すると、制動力制御の目標値を更新してアクチュエータ４００の制動力制御を実行する。また、右後輪のアクチュエータ駆動ノード３００は、操作量指令値１２０を受信すると、制動力制御の目標値を更新してアクチュエータ４００の制動力制御を実行するが、操作量指令値１２０が制動力を解放する値であるため、実際には制動力を発生しない。
【０４３７】
一方、左後輪のアクチュエータ駆動ノード３００は、自己の故障を検出した結果、制御プログラム（Ｚ）を選択するため制動力を発生しない（２２７０）。
【０４３８】
以上、図５２および図５３を用いて説明したように、いずれかのアクチュエータ駆動ノード３００またはアクチュエータ４００が故障した場合でも、操作量生成ノード１００が正常な前二輪または後二輪のアクチュエータ駆動ノード３００を用いて車両を制動するよう、操作量指令値１２０を生成するので、ブレーキの片効きを回避することができる。
【０４３９】
図５４は、ブレーキ制御中において一時的に故障していた左後輪のアクチュエータ駆動ノード３００またはアクチュエータ４００が回復した場合の操作量生成ノード１００およびアクチュエータ駆動ノード３００の動作を示すタイムチャートである。横軸は左から右に向かって時間の経過を示している。
【０４４０】
なお、本タイムチャートでは、操作量生成ノード１００は、図５１に示した制動車輪選択テーブル（ａ）に基づいて制動力制御を実行する車輪を選択するものとしている。
【０４４１】
操作量生成ノード１００は、左後輪のアクチュエータ駆動ノード３００が故障しているため、前二輪で制動制御を実行するよう車輪を選択し、前二輪のアクチュエータ駆動ノード３００に操作量指令値１２０を送信すると共に、後二輪のアクチュエータ駆動ノード３００に対しては制動力を解放する操作量指令値１２０を送信している（２４１０）。
【０４４２】
各アクチュエータ駆動ノード３００は、故障検出機能２１０Ｃを用いて自己の故障診断およびアクチュエータ４００の故障診断を実行し、診断結果を応答メッセージによって操作量生成ノード１００に送信する（２４２０）。この時、左後輪のアクチュエータ駆動ノード３００は故障が回復すると、制御プログラムを（Ｚ）から（Ｘ）に切り替え、制動力を解放する操作量指令値１２０に基づいて制動力を解放状態に維持すると共に、故障が回復したことを応答メッセージによって操作量生成ノード１００に報せる。なお、各アクチュエータ駆動ノード３００は他の診断結果を互いに受信する。
【０４４３】
操作量生成ノード１００は、各アクチュエータ駆動ノード３００の診断結果を受信して、左後輪のアクチュエータ駆動ノード３００の故障が回復したことを検出し、四輪で制動制御を実行するよう車輪を選択する（２４３０）。
【０４４４】
操作量生成ノード１００は、四輪に対する目標操作量を演算し（２４４０）、四輪のアクチュエータ駆動ノード３００に操作量指令値１２０を送信する（２４５０）。
【０４４５】
前二輪のアクチュエータ駆動ノード３００は、操作量指令値１２０を受信すると、制動力制御の目標値を更新してアクチュエータ４００の制動力制御を実行する。また、右後輪のアクチュエータ駆動ノード３００も、新たな操作量指令値１２０を受信すると、制動力制御の目標値を更新してアクチュエータ４００の制動力制御を実行する。さらに、左後輪のアクチュエータ駆動ノード３００も、新たな操作量指令値１２０を受信すると、制動力制御の目標値を更新してアクチュエータ４００の制動力制御を実行する。
【０４４６】
以上、図５４を用いて説明したように、一時的に故障していたアクチュエータ駆動ノード３００またはアクチュエータ４００が回復した場合でも、操作量生成ノード１００がアクチュエータ駆動ノード３００またはアクチュエータ４００の正常／異常に応じて操作量指令値１２０を生成するので、ブレーキの片効きを発生することなく正常な制御状態に復帰できる。
【０４４７】
図５５は、ブレーキ制御中において操作量生成ノード１００が故障した場合のアクチュエータ駆動ノード３００の動作を示すタイムチャートである。横軸は左から右に向かって時間の経過を示している。
【０４４８】
なお、本タイムチャートでは、アクチュエータ駆動ノード３００は、図４７に示した制御プログラム選択テーブル（ａ）に基づいて制御プログラムを選択するものとしている。
【０４４９】
操作量生成ノード１００は、故障検出機能２１０Ｂによって故障を検出すると、操作量指令値１２０の送信を停止して、故障検出通知２３０を送信する（２５１０）。
【０４５０】
各アクチュエータ駆動ノード３００は、故障検出通知２３０を受信すると、応答メッセージを送信して相互に故障検出通知２３０の受信を確認し、操作量生成ノード１００が異常であると判断する（２５２０）。
【０４５１】
各アクチュエータ駆動ノード３００は、操作量生成ノード１００が異常であると判断すると、制御プログラム（Ｘ）を制御プログラム（Ｙ）に切り替え、運転者要求信号２００に基づいて制動力制御を実行する。
【０４５２】
以上、図５５を用いて説明したように、操作量生成ノード１００が故障した場合でも、各アクチュエータ駆動ノード３００が相互に操作量生成ノード１００の故障発生を確認し、全体で制御プログラムを切り替えて運転者要求信号２００を用いて車両を制動するので、車両の制動制御を維持することができる。
【０４５３】
図５６は、ブレーキ制御中において一時的に故障していた操作量生成ノード１００が回復した場合の操作量生成ノード１００およびアクチュエータ駆動ノード３００の動作を示すタイムチャートである。横軸は左から右に向かって時間の経過を示している。
【０４５４】
なお、本タイムチャートでは、アクチュエータ駆動ノード３００は、図４７に示した制御プログラム選択テーブル（ａ）に基づいて制御プログラムを選択するものとしている。
【０４５５】
各アクチュエータ駆動ノード３００は、操作量生成ノード１００が故障しているため、制御プログラム（Ｙ）を用いて、運転者要求信号２００に基づいて制動力制御を実行している。
【０４５６】
操作量生成ノード１００は、故障が回復すると、各アクチュエータ駆動ノード３００からの応答メッセージを受信し（２６１０）、応答メッセージに含まれている各アクチュエータ駆動ノード３００の故障診断結果を参照して各アクチュエータ駆動ノード３００およびアクチュエータ４００の異常の有無および異常箇所を確認し、制動制御すべき各アクチュエータ駆動ノード３００を選択する（２６２０）。
【０４５７】
次に、操作量生成ノード１００は、制動制御すべき車輪に対する目標値操作量を演算し（２６３０）、対象となるアクチュエータ駆動ノード３００に操作量指令値１２０を送信する（２６４０）。なお、操作量生成ノード１００は、故障が回復したことをアクチュエータ駆動ノード３００に知らしめるために、故障回復通知を合わせて送信してもよい。
【０４５８】
各アクチュエータ駆動ノード３００は、操作量指令値１２０を受信すると、応答メッセージを送信して相互に操作量指令値１２０の受信を確認し、操作量生成ノード１００が正常であると判断する（２６５０）。この時、故障回復通知の受信をもって操作量生成ノード１００が正常であるかどうかを判断するようにしてもよい。
【０４５９】
各アクチュエータ駆動ノード３００は、操作量生成ノード１００が正常であると判断すると、制御プログラム（Ｙ）を制御プログラム（Ｘ）に切り替えて、操作量指令値１２０に基づいて制動力制御を実行する。
【０４６０】
以上、図５６を用いて説明したように、一時的に故障していた操作量生成ノード１００が回復した場合でも、各アクチュエータ駆動ノード３００が操作量生成ノード１００の正常／異常に応じて制御プログラムを切り替えるので、ブレーキの片効きを発生することなく正常な制御状態に復帰できる。
【０４６１】
図５７は、ブレーキ制御中において操作量生成ノード１００と、左後輪のアクチュエータ駆動ノード３００またはアクチュエータ４００が故障した場合のアクチュエータ駆動ノード３００の動作を示すタイムチャートである。横軸は左から右に向かって時間の経過を示している。
【０４６２】
なお、本タイムチャートでは、アクチュエータ駆動ノード３００は、図４７に示した制御プログラム選択テーブル（ａ）に基づいて制御プログラムを選択するものとしている。
【０４６３】
操作量生成ノード１００は、故障検出機能２１０Ｂによって故障を検出すると、操作量指令値１２０の送信を停止し、故障検出通知２３０を送信する（２５１０）。一方、左後輪のアクチュエータ駆動ノード３００は、故障検出機能２１０Ｂによって故障を検出すると、制御プログラム（Ｘ）を制御プログラム（Ｚ）に切り替える。
【０４６４】
各アクチュエータ駆動ノード３００は、故障検出通知２３０を受信すると、応答メッセージを送信して相互に故障検出通知２３０の受信を確認する。この時、故障した左後輪のアクチュエータ駆動ノード３００は、応答メッセージを用いて故障を検出したことを他のアクチュエータ駆動ノード３００に報せる（２７２０）。
【０４６５】
これにより、他のアクチュエータ駆動ノード３００は、操作量生成ノード１００および左後輪のアクチュエータ駆動ノード３００が異常であると判断し、制御プログラム選択テーブル（ａ）に基づいて制御プログラムを選択する。
【０４６６】
左右前輪のアクチュエータ駆動ノード３００は、制御プログラム（Ｘ）を制御プログラム（Ｙ）に切り替えて、運転者要求信号２００に基づいて制動力制御を実行する。また、右後輪のアクチュエータ駆動ノード３００は制御プログラム（Ｘ）を制御プログラム（Ｚ）に切り替えて制動力を解放する。
【０４６７】
以上、図５７を用いて説明したように、操作量生成ノード１００およびアクチュエータ駆動ノード３００が故障した場合でも、各アクチュエータ駆動ノード３００が相互に操作量生成ノード１００およびアクチュエータ駆動ノード３００の故障発生を確認し、故障した各アクチュエータ駆動ノード３００の箇所に応じて制御プログラムを切り替え、運転者要求信号２００を用いた制動力制御または制動力の解放を適切に実行するので、ブレーキの片効きを回避しながら車両の制動制御を維持することができる。
【０４６８】
以上の説明では、ブレーキを例に操作量生成ノード１００およびアクチュエータ駆動ノード３００の動作を説明したが、本発明はステアリングにも同様に適用できる。
【０４６９】
舵角制御用のアクチュエータ駆動ノード３００またはアクチュエータ４００の故障が発生した場合には、舵角制御用のアクチュエータ駆動ノード３００は、故障検出通知を操作量生成ノード１００および他のアクチュエータ駆動ノード３００に送信する。
【０４７０】
そして、操作量生成ノード１００は、舵角制御用のアクチュエータ駆動ノード３００からの故障検出通知を受信すると、舵角制御用のアクチュエータ駆動ノード３００およびアクチュエータ４００が多重化されていれば、正常な舵角制御用のアクチュエータ駆動ノード３００に操作量指令値１２０を送信して操舵制御を継続することができる。もしくは、ブレーキの右車輪と左車輪の制動力差により車両の回転運動を生じさせるよう、制動制御用のアクチュエータ駆動ノード３００に操作量指令値１２０を送信して操舵制御を継続することもできる。
【０４７１】
一方、操作量生成ノード１００の故障が発生した場合には、操作量生成ノード１００は、故障検出通知を各アクチュエータ駆動ノード３００に送信する。そして、舵角制御用のアクチュエータ駆動ノード３００は、センサ５００の運転者要求信号２００を取り込んで操舵制御を継続することができる。
【０４７２】
また、舵角制御用のアクチュエータ駆動ノード３００またはアクチュエータ４００の故障が発生した場合には、制動制御用のアクチュエータ駆動ノード３００は、舵角制御用のアクチュエータ駆動ノード３００からの故障検出通知を受信するか、または応答メッセージを受信しなかったことから舵角制御用のアクチュエータ駆動ノード３００の故障を検出し、センサ５００の運転者要求信号２００を基に、ブレーキの右車輪と左車輪の制動力差により車両の回転運動を生じさせるよう、応答メッセージを通じて各々の操作量を互いに参照しながら操舵制御を継続することもできる。
【０４７３】
以上の説明では、操作量生成ノード１００とアクチュエータ駆動ノード３００を有した車両制御装置について述べたが、本発明は、図５８に示されているように、操作量生成ノード１００を用いずに、各アクチュエータ駆動ノード３００で車両を制御する車両制御装置にも有効である。
【０４７４】
本実施形態による車両制御装置におけるアクチュエータ駆動ノード３００は、制御プログラム（Ｙ）または制御プログラム（Ｚ）の何れかを選択してアクチュエータ４００を制御するが、この制御プログラムの選択は、車両制御装置の上述の実施形態において、操作量生成ノード１００が故障した場合と同じである。
【０４７５】
これにより、独立して動作するアクチュエータ駆動ノード３００が相互に協調しながらアクチュエータ４００を制御することにより、操作量生成ノード１００が無い場合でも、安全な車両制御装置を実現することができる。
【０４７６】
（第９の実施形態）
次に、図５９〜図６１を用いて、本発明の車両制御装置の第９の実施形態について説明する。
図５８は、第９の実施形態における車両制御装置の基本構成を示している。車両制御装置は、運転者の要求を検出するセンサ５００と、アクチュエータ４００と、操作量生成ノード１００と、アクチュエータ駆動ノード３００から構成される。
【０４７７】
この中で、運転者の要求を検出するセンサ５００、操作量生成ノード１００、およびアクチュエータ駆動ノード３００は、それぞれ故障検出機能２１０Ａ、２１０Ｂ、２１０Ｃを備えている。アクチュエータ駆動ノード３００の故障検出機能２１０Ｃは、自己診断機能だけでなく、アクチュエータ４００の故障を検出する機能も備えている。
【０４７８】
操作量生成ノード１００は、運転者の要求信号２００および車両状態信号２０１に基づいて操作量指令値１２０を演算する。この操作量指令値１２０を受けて、アクチュエータ駆動ノード３００は、アクチュエータ４００を制御し、車両の駆動、操舵、制動等が実行される。
【０４７９】
故障検出機能２１０Ａ、２１０Ｂ、２１０Ｃは、ノード内またはアクチュエータ４００の故障を検出した場合には、ノード外部に、自分が故障状態であることを知らせるための故障検出通知２３０を出力する。故障検出機能を備えるノードは全て、故障状態のときは、この故障検出通知２３０を出力する以外は、外部への出力を停止する、つまりフェールサイレントとなるように構成されている。
【０４８０】
また、各ノードはデータ受信テーブル９１００を備えている。ここでは説明を省略しているが、同様にデータ送信テーブルをも備えている。送信テーブルへ格納したデータはシステムであらかじめ決められた周期で他ノードへ出力される。また、逆に他のノードから受信したデータは一時的にデータ受信テーブルに格納され、ノードの制御周期にあわせて読み出され利用される。
【０４８１】
各ノードの接続は図５９に示したような信号線による接続以外に、共通の通信路を時分割で使用するバス構成やネットワーク構成をとることも可能である。この実施例では、ひとつのノードから出力したデータを複数のノードで受信できるとする。各故障検出機能２１０Ａ、２１０Ｂ、２１０Ｃは、このデータ受信テーブルの内容に従い、他ノードの状態を推定し、また、その推定結果を複数ノードへレポートする機能も有する。
【０４８２】
図６０は、データ受信テーブル９１００の具体例を記載したものである。送信元、更には送信事象を区別するメッセージ番号フィールド９１０１を有する。これは実際のフィールドでもよいし、メッセージにあらかじめ割り当てられた特定のアドレスであって、実態のフィールドが無くてもよい。
【０４８３】
データ受信テーブル９１００のその他のフィールドには、当該メッセージの有効性を示す有効フィールド９１０２、当該メッセージ発信時刻を記録する時刻フィールド９１０３、メッセージデータフィールド９１０４、故障投票フィールド９１０５がある。
【０４８４】
各ノードから出力されるメッセージにはこれらの情報を含み、受信ノードにおいてあらかじめ決められたフィールド区分でテーブルに格納される。
【０４８５】
尚、当該ノードで必要としないメッセージは格納する必要がないため、図６０におけるメッセージ番号（Ｎｏ．２）の如く、当初から有効フィールドを無効（０）にしておくことができる。一方で、制御には不要であるが、単純に信号監視のためだけに有効にしておくこともできる。もちろん、各ノードからの故障検出通知２３０がある場合はデータフィールドに反映され、有効かどうかの判定を行うことができる。
【０４８６】
図６１を用いて他ノードの故障診断方法を説明する。ここでは、操作量生成ノードが故障したケースを示しているが、それ以外のノードに関しても同様である。
【０４８７】
まず、操作量生成ノードに対応するメッセージ番号フィールドを取り出す（ステップＳ２１１０）。このフィールドがアドレスである実施例の場合には、当該アドレスにアクセスすることで目的が達せられる。
【０４８８】
次に、データ受信テーブル９１００の有効フィールド９１０２を参照し、有効、かつ、時刻フィールド９１０３が更新されていれば、操作量生成ノードからのデータ９１０４を使用して制御する。ここで、更新されているかどうかは、例えば、自ノードが持つ時刻情報（ｎｏｗ）と各メッセージの時刻フィールド（ｔｉｍｅ）９１０３との差があらかじめ定められた一定値（ｌｉｍｉｔ）以内かどうかで判定する（ステップＳ２１２０）。
【０４８９】
図６０に戻って説明すると、ノード５のメッセージに含まれる時刻が他のノードより古く、差分５０以上になっている。これをもとに作動していないと判定する。これらの方法により有効でないと判定した場合には、操作量生成ノードが正常に作動していないことを示しており、それ以外のノードから送信された情報を用いて制御を行う（ステップＳ２１４０）。これに対し、有効であると判定した場合には、操作量生成ノードから送信された情報を用いて制御を行う（ステップＳ２１３０）。
【０４９０】
その後、判定結果を他ノードへ通知するために故障投票出力を行う（ステップＳ２１５０）。これは故障投票フィールドとして格納されるものである。データ受信テーブル９１００の故障投票フィールド９１０５は、２進数で表現してあり、左から順にメッセージ番号に対応付けられている。図６０の例ではノード５を除く有効なノードは全てノード５が故障している（ｖｏｔｅ＝１）と判定している。
【０４９１】
ノード５だけは自身が正常（ｖｏｔｅ＝０）という出力を出しているが、定められたアルゴリズム、例えば多数決によってノード５は無効と認定し、有効フィールドを無効化する（ステップＳ２１６０、ステップＳ２１７０）。
【０４９２】
尚、作動しなくなったノードが復活する場合、例えば、不具合の解消、自動リセット等により実現するが、その場合も他ノードによる観測結果に基づく投票によって復活を決定付けられる。
【０４９３】
これにより、制御にかかわる全ノードが同時にノード５を受け入れることができ、システムの部分ごとに制御方法が異なる状況の発生を避けることができる。
【０４９４】
尚、復活の場合の投票アルゴリズムは、故障認定のアルゴリズムと異なる方法を選択することも可能であり、たとえば、全ノード一致で復活を認めることもできる。尚、故障投票を行い、システムで状態を共有するために、アクチュエータノードであっても出力処理を行っている。
【０４９５】
以上、この実施形態は、上記に限るものではなく、様々な形で実施することができる。例えば、制御指令を生成する指令コントローラは、必ずしも１つに集中させる必要はなく、複数個の指令コントローラで構成されていてもよい。
【０４９６】
図６２に示すように、ハンドル角度センサ３０００−２の情報を取り込んでハンドル角度情報Ｄ３０００をネットワークに出力するセンサコントローラ３０００−１と、ブレーキペダル位置センサ３００１−２の情報を取り込んでブレーキペダル踏込み量の情報Ｄ３００１をネットワークに出力するセンサコントローラ３００１−１と、舵角制御電動モータ３００２−２を動作させるアクチュエータコントローラ３００２−１と、電動ブレーキキャリパを動作させるアクチュエータコントローラ３００３−１と、統合コントローラＡ（３０１０−１）と、統合コントローラＢ（３０１０−２）とが、車内ネットワークＮ３０００で接続されている構成でもよい。
【０４９７】
このような構成を取ることによって、目標制動力Ｄ３０１０−２を計算する指令コントローラ３０１０−２と、目標舵角Ｄ３０１０−１を計算する指令コントローラ３０１０−１との配置を物理的に離すことによって、統合制御機能が全て失われる確立を低減することが可能になる。
【０４９８】
本発明による車両制御装置は、次のような効果を奏する。
（１）車両運動統合制御手段が使用できない場合でも、運転者の操縦手段と車両制御手段との通信が可能になり、ドライバ意図に沿って車両制御を実行できるという効果がある。
（２）車両制御装置において、いずれかのノードに故障が発生した場合、正常なノードは、故障が発生したノードが送信する故障検出通知に基づいて、制御を切り替えることにより、システム全体でエラーをバックアップすることができるため、個々のノードの冗長度を必要以上に上げることなく、十分に高信頼な車両制御装置を低コストで実現することができる。
（３）運転者による操作量を補正生成ノードで生成した補正量で補正することにより結果として適切なステアリング操作、ブレーキ操作とすることができ、車両の安定化を図ることができる。
（４）補正量生成ノードが故障した場合には、機能を縮退して補正量なしで運転者の操作したとおりの動作をすることができる。
（５）補正量生成のためには高度な情報処理が必要とされるのに対して。操作量生成は比較的簡単な情報処理ですむ。そのため、補正量生成ノードは操作量生成ノード１０に比べて部品点数が増えたり、操作周波数が高くなったり電気的、熱的に余裕が少ない動作が要求される。その結果、補正量生成ノード２０は操作量生成ノードに比べて故障率が高くなる。従って、故障率がより高い補正量生成ノードの故障による影響を回避する本発明の効果は特に大きい。
（６）操作量生成ノードが故障した場合でも、アクチュエータ駆動ノードが操作量生成ノードの異常を検出して制御プログラムを切り替えて車両制御を継続するので、操作量生成ノードの多重化が不要になり、安全でかつ低コストな車両制御装置を実現することができる。
（７）アクチュエータ駆動ノード間で相互に異常を検出して適切な制御プログラムに切り替えるので、例えばブレーキの片効きなど、危険な車両運動を回避することができ、操作量生成ノードが故障した状態でも安全な車両制御を維持することができる。
【符号の説明】
【０４９９】
１      マスタコンピュータ
１Ａ    マスタ機能
２      センサスレーブコンピュータ
２Ａ    センサ処理機能
３      アクチュエータスレーブコンピュータ
３Ａ    アクチュエータ制御機能
３Ｂ    簡易マスタ機能
４      センサ
５      アクチュエータ
１０    車両運動統合制御手段
１１    操舵量制御手段
１２    制動力制御手段
１３    駆動力制御手段
２０    ＤＢＷ系統合制御ＥＣＵ
２１    内燃機関制御ＥＣＵ
２２    変速機制御ＥＣＵ
２３    電動モータ制御ＥＣＵ
２４    バッテリー制御ＥＣＵ
２５    ＨＭＩ・ＥＣＵ
３０    車両運動統合制御ＥＣＵ
３１    舵角指示手段
３２    減速度指示手段
３３    加速度指示手段
３５    制御系ゲートウェイ
３６    ボディ系ゲートウェイ
４１、４１Ａ  ステアリングセンサ（操舵角センサ）
４２、４２Ａ  ブレーキペダル位置センサ
４３    アクセルペダル位置センサ
４４    ミリ波レーダ／カメラ
５０    車両
５１    ステアリングホイール
５２    ブレーキペダル
５３    アクセルペダル
５４    ＶＧＲ機構
６０Ａ、６０Ｂ  センサエレメント
６１Ａ、６１Ｂ  Ａ／Ｄ変換器
６２    一致チェック機能
６３    フィルタ機能
６４    通信コントローラ
６５Ａ、６５Ｂ  通信ドライバ
７１    前輪操舵機構
７２Ｒ、７２Ｌ  前輪
７３    前輪ブレーキ機構
７４    後輪操舵機構
７５Ｒ、７５Ｌ  後輪
７６    後輪ブレーキ機構
７７    前輪サスペンション機構
７８    後輪サスペンション機構
８１、８１Ａ  ＳＢＷ・ＶＧＲドライバＥＣＵ
８１１  簡易制御ロジック部
８２  ＳＢＷドライバＥＣＵ
８３Ａ〜８３Ｄ  ＢＢＷドライバＥＣＵ
８３１  簡易制御ロジック部
８４Ａ〜８４Ｄ  ＥＡＳドライバＥＣＵ
８５  エアーバックＥＣＵ
１００  操作量生成ノード
１０１  車両状態推定部
１０２  目標状態演算部
１０３  車体操作ベクトル操作モーメント演算部
１０４  操作量演算部
１０５  車両パラメータ記憶部
１１０  ＳＢＷドライバＥＣＵ
１２０  操作量指令値
２０１  車両状態信号
２１０  故障検出機能
２１０Ａ〜２１０Ｄ  故障検出機能
２２０  制御プログラム選択機能
２３０  故障検出通知
３００  アクチュエータ駆動ノード
３２０  制御器
４００  アクチュエータ
５００、５５０  センサ
６００  ネットワーク
６１０  操作量生成ノード
６１１  耐故障機能
６１２、６１２ａ〜ｃ  操作量
６１４  タイムスロット
６１５  ステアリングコラム
６１６  ブレーキペダル
６２０  補正量生成ノード
６２１  故障検出機能
６２２  ６２２ａ、６２２ｂ  補正量
６２３  故障検出結果
６２４  タイムスロット
６２５  加速度センサ・ヨーレートセンサ
６３０、６３０−０〜４  アクチュエータ駆動ノード
６３１  比較器
６３２  制御器
６３３  多数決機能
６３４  切替器
６３５  制御器
６３６  ゲイン可変器
６３７  ランプ発生器
６４０  アクチュエータ
６４１、６４１−０  舵取り装置
６４２−１〜４  ブレーキ
６５０、６５１、６５２  通信路
９１００  データ受信テーブル
３０００−１  センサコントローラ
３０００−２  ハンドル角度センサ
３００１−１  センサコントローラ
３００１−２  ブレーキペダル位置センサ
３００２−１  アクチュエータコントローラ
３００２−２  操舵制御モータ
３００３−１  アクチュエータコントローラ
３００３−２  電動ブレーキキャリパ
３０１０−１  統合コントローラＡ
３０１０−２  統合コントローラＢ
Ａ１０、Ａ１００  コントローラノード
Ａ１１  処理ルーチン
Ａ１２  時間条件
Ａ１３  セルフモニタ
Ａ２０  センサノード
Ａ２１  処理ルーチン
Ａ２２  時間条件
Ａ２３  セルフモニタ
Ａ３０  アクチュエータノード
Ａ３１  処理ルーチン
Ａ３２  時間条件
Ａ３３  セルフモニタ
Ａ２００  ブレーキペダルセンサノード
Ａ２１０  レーダノード
Ａ３００  前輪ブレーキアクチュエータノード
Ａ３１０  右前輪のブレーキアクチュエータノード
Ａ３２０  左前輪のブレーキアクチュエータノード
Ａ４００  ノード
Ａ４１０  正常状態での動作
Ａ４１１  機能停止処理
Ａ４３０  自己監視機能
ＡＡ３０  アクチュエータ
ＡＡ３００  左前輪ブレーキアクチュエータ
ＡＡ３０１  左後輪ブレーキアクチュエータ
ＡＡ３１０  右前輪ブレーキアクチュエータ
ＡＡ３２０  左前輪ブレーキアクチュエータ
Ｂ１０  車両運動統括制御ノード
Ｂ１０１  通信ドライバ
Ｂ１０２  車両運動オブサーバ
Ｂ１０３  運転者意図把握部
Ｂ２０  ブレーキペダルノード
Ｂ２０１  通信ドライバ
Ｂ２０２  フィルタ補正処理部材
Ｂ２０３  Ａ／Ｄ変換器
Ｂ２０４  データ標準化部
Ｂ３０  ブレーキアクチュエータノード
Ｂ３０１  通信ドライバ
Ｂ３０２  ブレーキキャリパ制御部
Ｂ３０３  Ａ／Ｄ変換器
Ｂ３０４  プリドライバ
Ｂ３０５  自律分散制御機能
Ｄ１、Ｄ２、Ｄ３Ｂ  データフロー
Ｄ１１  操舵量目標値
Ｄ１２  制動力目標値
Ｄ１３  駆動力目標値
Ｄ３１  舵角指示手段操作量
Ｄ３２  減速度指示手段操作量
Ｄ３３  加速度指示手段操作量
Ｄ３０００  ハンドル角度情報
Ｄ３００１  ブレーキペダル踏込み量情報
Ｄ３０１０−１  目標舵角
Ｄ３０１０−２  目標制動力
ＤＡ１０  コントローラデータ
ＤＡ２０  センサデータ
ＤＡ１００  右前輪目標制動力
ＤＡ１０１  左前輪目標制動力
ＤＡ２００  ブレーキペダル状態量
ＤＡ２１０  車間距離
ＤＦ１０、ＤＦ２０ＤＦ３０  データフィールド
Ｎ１    ネットワーク
Ｎ１１  通信バス
Ｎ１Ａ  制御系ネットワーク（メインバス）
Ｎ１Ｂ  制御系バックアップネットワーク（バックアップバス）
Ｎ２    ＤＢＷ系サブネットワーク
Ｎ３    統括ネットワーク
Ｎ３０００  車内ネットワーク
Ｍ１、Ｍ１Ａ、Ｍ１Ｂ、Ｍ２、Ｍ３Ａ〜Ｍ３Ｄ、Ｍ４Ａ〜Ｍ４Ｄ、Ｍ５、Ｍ６  電動モータ
ＳＡ２０  センサ
ＳＡ２００  ブレーキペダル
ＳＡ２１０  レーダ
【図１】
2014208527.tif 000003
【図２】
2014208527.tif 000004
【図３】
2014208527.tif 000005
【図４】
2014208527.tif 000006
【図５】
2014208527.tif 000007
【図６】
2014208527.tif 000008
【図７】
2014208527.tif 000009
【図８】
2014208527.tif 000010
【図９】
2014208527.tif 000011
【図１０】
2014208527.tif 000012
【図１１】
2014208527.tif 000013
【図１２】
2014208527.tif 000014
【図１３】
2014208527.tif 000015
【図１４】
2014208527.tif 000016
【図１５】
2014208527.tif 000017
【図１６】
2014208527.tif 000018
【図１７】
2014208527.tif 000019
【図１８】
2014208527.tif 000020
【図１９】
2014208527.tif 000021
【図２０】
2014208527.tif 000022
【図２１】
2014208527.tif 000023
【図２２】
2014208527.tif 000024
【図２３】
2014208527.tif 000025
【図２４】
2014208527.tif 000026
【図２５】
2014208527.tif 000027
【図２６】
2014208527.tif 000028
【図２７】
2014208527.tif 000029
【図２８】
2014208527.tif 000030
【図２９】
2014208527.tif 000031
【図３０】
2014208527.tif 000032
【図３１】
2014208527.tif 000033
【図３２】
2014208527.tif 000034
【図３３】
2014208527.tif 000035
【図３４】
2014208527.tif 000036
【図３５】
2014208527.tif 000037
【図３６】
2014208527.tif 000038
【図３７】
2014208527.tif 000039
【図３８】
2014208527.tif 000040
【図３９】
2014208527.tif 000041
【図４０】
2014208527.tif 000042
【図４１】
2014208527.tif 000043
【図４２】
2014208527.tif 000044
【図４３】
2014208527.tif 000045
【図４４】
2014208527.tif 000046
【図４５】
2014208527.tif 000047
【図４６】
2014208527.tif 000048
【図４７】
2014208527.tif 000049
【図４８】
2014208527.tif 000050
【図４９】
2014208527.tif 000051
【図５０】
2014208527.tif 000052
【図５１】
2014208527.tif 000053
【図５２】
2014208527.tif 000054
【図５３】
2014208527.tif 000055
【図５４】
2014208527.tif 000056
【図５５】
2014208527.tif 000057
【図５６】
2014208527.tif 000058
【図５７】
2014208527.tif 000059
【図５８】
2014208527.tif 000060
【図５９】
2014208527.tif 000061
【図６０】
2014208527.tif 000062
【図６１】
2014208527.tif 000063
【図６２】
2014208527.tif 000064
【手続補正書】
【提出日】平成26年6月6日(2014.6.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
センサよりの運転者の要求信号および車両状態信号に基づいて操作量指令値を演算する指令コントローラと、該指令コントローラからの操作量指令値に基づいてアクチュエータを制御するアクチュエータ駆動コントローラと、を有し、車両の駆動、操舵、制動を行う車両制御装置の前記アクチュエータ駆動コントローラであって、
前記アクチュエータ駆動コントローラは、前記指令コントローラが故障した場合、該指令コントローラから、該指令コントローラが故障状態にあることを通知されること以外の作用を及ぼされず、前記指令コントローラからの前記故障状態にあることの通知に基づいて、システム全体として正常動作を継続するように、前記アクチュエータの制御を切り替えることを特徴とするアクチュエータ駆動コントローラ。
【請求項２】
前記アクチュエータ駆動コントローラは、前記運転者の要求を検出するセンサと、前記指令コントローラとに、同一の通信ネットワークで接続されていることを特徴とする請求項１に記載のアクチュエータ駆動コントローラ。
【請求項３】
前記アクチュエータ駆動コントローラは、前記指令コントローラからの操作量指令値を受信できない場合には、前記制御の切り替えを行って、前記操作指令値を演算することを特徴とする請求項１に記載のアクチュエータ駆動コントローラ。
【請求項４】
前記アクチュエータ駆動コントローラは、前記指令コントローラからの操作量指令値を受信できない場合には、運転者の要求を検出するセンサの信号に基づいて、操作量指令値を生成する操作量指令値生成機能を備えており、前記指令コントローラからの操作量指令値を受信できない時には、通常制御から前記操作量指令値生成機能を実現する制御に切り替え、車両の走行状態を安定に保持することを特徴とする請求項３に記載のアクチュエータ駆動コントローラ。
【請求項５】
前記通信ネットワークは冗長化されていることを特徴とする請求項２に記載のアクチュエータ駆動コントローラ。
【請求項６】
前記通信ネットワークは、メインバスと、バックアップバスとから構成されており、前記メインバスには、運転者の要求を検出する前記センサの全てと、前記指令コントローラと、前記アクチュエータ駆動コントローラとが接続され、前記バックアップバスには、運転者の要求を検出する前記センサの一部と、前記アクチュエータ駆動コントローラとが接続され、前記メインバスの故障時には、前記アクチュエータ駆動コントローラがセンサ信号に基づいて、操作量指令値を生成して車両の走行状態を安定に保持することを特徴とする請求項５に記載のアクチュエータ駆動コントローラ。