JP6069104B2 - 制御装置および制御装置の異常検出方法 - Google Patents

制御装置および制御装置の異常検出方法 Download PDF

Info

Publication number
JP6069104B2
JP6069104B2 JP2013115388A JP2013115388A JP6069104B2 JP 6069104 B2 JP6069104 B2 JP 6069104B2 JP 2013115388 A JP2013115388 A JP 2013115388A JP 2013115388 A JP2013115388 A JP 2013115388A JP 6069104 B2 JP6069104 B2 JP 6069104B2
Authority
JP
Japan
Prior art keywords
value
processing unit
control
torque request
engine torque
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013115388A
Other languages
English (en)
Other versions
JP2014234732A (ja
Inventor
太一 岸田
太一 岸田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Subaru Corp
Original Assignee
Fuji Jukogyo KK
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Jukogyo KK filed Critical Fuji Jukogyo KK
Priority to JP2013115388A priority Critical patent/JP6069104B2/ja
Publication of JP2014234732A publication Critical patent/JP2014234732A/ja
Application granted granted Critical
Publication of JP6069104B2 publication Critical patent/JP6069104B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/60Other road transportation technologies with climate change mitigation effect
    • Y02T10/62Hybrid vehicles

Landscapes

  • Combined Controls Of Internal Combustion Engines (AREA)
  • Hybrid Electric Vehicles (AREA)
  • Control Of Throttle Valves Provided In The Intake System Or In The Exhaust System (AREA)
  • Control Of Vehicle Engines Or Engines For Specific Uses (AREA)
  • Electrical Control Of Air Or Fuel Supplied To Internal-Combustion Engine (AREA)

Description

本発明は、車両を制御するための制御値を演算して車両を制御する制御装置およびその異常検出方法に関する。
車両に搭載されるマイクロコンピュータ(以下、「マイコン」という。)は、車両を走行させるための基本機能や、安全性や快適性といった付加機能を実現するための処理を行う。車両の基本機能および付加機能に対する性能向上の要求から、マイコンにも高い処理能力が求められている。
このようなマイコンに異常が生じると、車両の制御に支障が生じ、制御不能な事態になることもあり、極端な場合には車両が暴走することも想定される。このため、通常、マイコンで実行される処理のうち、特に車両制御不能に繋がる制御演算処理については、2重計算をして2つの演算結果を比較することで当該演算処理部の異常の有無を相互監視するマイコンの異常を検出するインストラクションチェックが行われている。
例えば特許文献1には、2つのコンピュータを備える電子制御装置において、一方のコンピュータにおける複数の診断処理が確実に実行されているかを他方のコンピュータによって直接的に監視する技術が開示されている。
また、特許文献2には、スロットルバルブの開度を調整するスロットルモータを制御する内燃機関の制御装置において、スロットルモータを含む内燃機関駆動機器へ制御信号を出力するとともに第一及び第二の遮断手段へ駆動信号を出力する第一の集積回路と、第一の集積回路と協動して第一及び第二の遮断手段へ駆動信号を出力する第二の集積回路と、を備える技術が開示されている。かかる技術では、第二の集積回路からも第一及び第二の遮断手段へ駆動信号を出力することができるため、第一の集積回路の異常により燃料噴射量や点火時期を正常に制御できない状態になっても、異常検出時に第二の集積回路から第二の遮断手段へ駆動信号を出力して、燃料噴射や点火動作を停止するフェイルセーフ処理を実行することができ、異常検出時の安全性を十分に確保することができる。
特開2004−225635号公報 特開2008−88885号公報
しかし、上記特許文献1、2記載のように、制御演算処理を2重計算してインストラクションチェックを行うと、マイコンの演算負荷が増加してしまう。特に、近時における車両制御は多数の制御ロジックを含んでおり、当該制御ロジックを実行する制御演算処理を2重計算することとすると、マイコンにかかる演算負荷の増大を招来する。また、エンジンとモータとの2つの駆動源を備えるハイブリッド車両においては、アクセル開度に応じてエンジンまたはモータに要求するトルクを演算するための一連の制御演算処理はその数が多い。このため、アクセル開度等の入力信号処理から最終制御値計算処理までの一連の制御演算処理を逐次演算しインストラクションチェックを行うには、高い演算処理能力を備えるマイコンが必要となる。
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、車両の安全性を確保しつつ、インストラクションチェックに要する演算負荷を軽減することが可能な、新規かつ改良された制御装置およびその異常検出方法を提供することにある。
上記課題を解決するために、本発明のある観点によれば、センサから入力された検出値に基づいて、制御対象を制御するための制御値を逐次演算して出力する制御装置が提供される。かかる制御装置は、検出値から制御値を演算するための一連の制御演算処理を実行する演算処理部と、一連の制御演算処理のうち少なくとも一部を実行することなく、検出値と過去に出力された制御値とに基づいて、制御値の限界値を推定する推定処理部と、演算処理部により演算された制御値と、推定処理部により推定された限界値とを比較することにより、演算処理部の異常の有無を判定する異常判定部と、を備えることを特徴とする。
演算処理部は、一連の制御演算処理のうち前段の処理を実行する前段処理部と、前段処理部の処理結果に基づいて、一連の制御演算処理のうち後段の処理を実行することにより、制御値を演算する後段処理部と、を有し、推定処理部は、前段処理部により処理された検出値と、過去に出力された制御値とに基づいて、制御値の限界値を推定し、異常判定部は、後段処理部により演算された制御値と、推定処理部により推定された限界値とを比較することにより、演算処理部の異常の有無を判定し、異常判定部は、演算処理部に異常が無いと判定した場合、後段処理部により演算された制御値を制御対象に逐次出力し、演算処理部に異常が有ると判定した場合、後段処理部により演算された制御値に代えて推定処理部により推定された限界値を制御対象に出力する。
また、制御装置は、予め設定された検出値と制御値との相関情報を保持する記憶部をさらに備えてもよい。このとき、推定処理部は、記憶部に記憶された相関情報に基づいて、検出値及び過去に出力された制御値から限界値を推定する。
ここで、検出値はアクセル開度であり、制御値はトルク要求値であってもよい。このとき、推定処理部は、相関情報に基づいて、アクセル開度と過去に出力された過去のトルク要求値とから、トルク要求値の限界値を設定する。
記憶部は、アクセル開度または過去に出力された過去のトルク要求値のいずれか一方若しくは双方が大きいほど、トルク要求値の限界値が大きくなるように、アクセル開度および過去トルク要求値とトルク要求値の限界値との相関が設定された相関情報を保持してもよい。
また、制御対象は、第1の制御対象および第2の制御対象を含み、演算処理部は、第1の制御対象を制御するための第1の制御値を算出する第1の演算処理部と、第2の制御対象を制御するための第2の制御値を算出するための第2の演算処理部と、を有し、推定処理部は、第1の制御値の限界値を推定する第1の推定処理部と、第2の制御値の限界値を推定する第2の推定処理部と、を有し、異常判定部は、第1の演算処理部により演算された第1の制御値と、第1の推定処理部により推定された限界値とを比較することにより、第1の演算処理部の異常の有無を判定する第1の異常判定部と、第2の演算処理部により演算された第2の制御値と、第2の推定処理部により推定された限界値とを比較することにより、第2の演算処理部の異常の有無を判定する第2の異常判定部と、を有してもよい。
あるいは、制御対象は、車両に設けられた相異なる動力源であるエンジンおよびモータを含み、検出値はアクセル開度としてもよい。このとき、演算処理部は、エンジンを制御するためのエンジントルク要求値を第1の制御値として算出する第1の演算処理部と、モータを制御するためのモータトルク要求値を第2の制御値として算出するための第2の演算処理部と、を有し、推定処理部は、エンジントルク要求値の限界値を推定する第1の推定処理部と、モータトルク要求値の限界値を推定する第2の推定処理部と、を有し、異常判定部は、第1の演算処理部により演算されたエンジントルク要求値と、第1の推定処理部により推定されたエンジントルク要求値の限界値とを比較することにより、第1の演算処理部の異常の有無を判定する第1の異常判定部と、第2の演算処理部により演算されたモータトルク要求値と、第2の推定処理部により推定されたモータトルク要求値の限界値とを比較することにより、第2の演算処理部の異常の有無を判定する第2の異常判定部と、を有してもよい。
第1の演算処理部および第2の演算処理部は、入力された入力信号であるアクセル開度の前処理を行う入力信号処理部と、検出されたアクセル開度に基づいて2つの動力源に出力させる総トルク目標値を演算する総トルク演算処理部と、総トルク目標値を、エンジンに出力させるエンジントルク目標値とモータに出力させるモータトルク目標値とに分配するトルク分配制御部と、を共有し、第1の演算処理部は、トルク分配制御部により演算されたエンジントルク目標値に基づいてエンジントルク要求値を演算するエンジントルク要求値演算処理をさらに有し、第2の演算処理部は、トルク分配制御部により演算されたモータトルク目標値に基づいてモータトルク要求値を演算するモータトルク要求値演算処理部をさらに有してもよい。
異常判定部は、演算処理部に異常があると判定したとき、当該演算処理部をリセットしてもよい。
また、上記課題を解決するために、本発明の別の観点によれば、センサから入力された検出値に基づいて、制御対象を制御するための制御値を逐次演算して出力する制御装置の異常を検出する異常検出方法が提供される。かかる異常検知方法は、制御装置の演算処理部により、検出値から制御値を演算するための一連の制御演算処理を実行することにより、制御値を逐次演算し、一連の制御演算処理のうち少なくとも一部を実行することなく、検出値と過去に出力された制御値とに基づいて、制御値の限界値を推定し、制御値と限界値とを比較することにより、演算処理部の異常の有無を判定することを特徴とする。
上記の本発明によれば、制御装置は、演算処理部により、センサから入力された検出値に基づき、制御対象の制御値を演算するための一連の制御演算処理を実行する。これとともに、制御装置は、推定処理部により、検出値と過去に出力された制御値とに基づいて、制御値を演算するための一連の制御演算処理のうち少なくとも一部を実行することなく制御値の限界値を推定する。そして、制御装置は、制御値と限界値とを比較することにより、演算処理部の異常の有無を判定する。このように、演算処理部の異常の有無を判定する際に用いる制御値の限界値を、一連の制御演算処理のうち少なくとも一部を実行せずに検出値と過去に出力された制御値とに基づき推定することにより、インストラクションチェックに要する制御装置の演算負荷を大幅に軽減できる。また、制御装置は、制御値と限界値とを比較することで、演算処理部における異常の発生を確実に検出することが可能となり、異常が発生したと判定した場合は、制御対象の制御値を制限値に制限することで、車両が制御不能となることを確実に抑止することが可能となる。
以上説明したように本発明によれば、車両の安全性を確保しつつ、インストラクションチェックに要する演算負荷を軽減することが可能となる。
本発明の第1の実施形態に係るエンジン制御システムの概略構成を示すブロック図である。 同実施形態に係るECUのソフトウェアの階層構造を示す説明図である。 同実施形態に係るECUによるインストラクションチェックを実行する機能部を示す機能ブロック図である。 同実施形態に係るECUによるインストラクションチェック方法を説明するフローチャートである。 同実施形態に係るアクセル開度と過去に出力された過去のトルク要求値との相関関係を表す相関情報の一例を示す説明図である。 本発明の第2の実施形態に係る制御システムの概略構成を示すブロック図である。 同実施形態に係るハイブリッドコントローラによるインストラクションチェックを実行する機能部を示す機能ブロック図である。 ハイブリッドコントローラによるインストラクションチェック方法を説明するフローチャートである。 インストラクションチェックを行わない場合のシミュレーション結果を示すグラフである。 同第2の実施形態に係るインストラクションチェックを行った場合のシミュレーション結果を示すグラフである。
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
<1.第1の実施形態>
[1.1.エンジン制御システム]
まず、図1を参照して、本発明の第1の実施形態に係るエンジン制御システムの概略構成について説明する。図1は、本実施形態に係るエンジン制御システムの概略構成を示すブロック図である。
エンジン制御システムは、各種センサ10からの入力信号に基づいて車両の動力源となるエンジン30を統括的に制御する制御装置であるエンジン制御ユニット(以下、「ECU(Engine Control Unit)」ともいう。)20を備える制御システムである。
ECU20に対して入力信号を入力するセンサ10としては、例えばアクセル開度センサ12や速度センサ14、加速度センサ16、舵角センサ18等がある。アクセル開度センサ12は、アクセルペダルの操作量を検出するセンサである。
アクセル開度センサ12の検出値に基づき、ECU20はエンジントルク要求値を演算し、エンジン30の実出力トルクが演算したエンジントルク要求値に近づくようにスロットル開度や燃料噴射量、吸排気バルブタイミング、点火時期等を制御する。速度センサ14は、車輪の回転速度に応じた車速パルス信号を出力する。速度センサ14の検出値に基づいて、ECU20は車両の速度を演算する。加速度センサ16は、車体に作用する加速度を検出するセンサであり、例えば車体の前後方向の加速度や横方向の加速度を検出する。舵角センサ18は、車両の舵角を操作するステアリングホイールの回転操作により回転するステアリングシャフトの回転角を舵角として検出する。
ECU20は、これらのセンサ10の検出値を入力信号として受け、入力信号に基づいてエンジン30を駆動制御する。ECU20は、例えばセンサ10からの入力信号が入力される入力回路と、入力信号に基づいて制御演算処理を実行する1または複数の演算器と、演算器による演算された制御値を表す出力信号を出力する出力回路とを備える。また、ECU20は、演算器により実行される演算処理に必要な各種情報を記憶する記憶部を備えてもよい。ECU20を構成する演算器は、以下に説明するインストラクションチェックを実行可能な性能を有しているものとする。以下では、ECU20の演算器が、1つのマイコンで構成される例について説明するが、複数のマイコン、又は、1つのマイコンに含まれる1又は2以上のコアで構成されてもよいし、その他の種類の1または複数のプロセッサで構成されてもよい。
[1.2.エンジン制御ユニットにおけるインストラクションチェック]
ECU20は、エンジン30を統括的に制御する制御装置であり、演算処理結果によっては車両を制御不能にしてしまう可能性もあるため、自己の演算処理結果に異常がないかを診断する自己故障診断機能を備える。
本実施形態に係るECU20は、自己故障診断機能として、制御値の演算処理に異常があるか否かを検出するインストラクションチェックを実施する。なお、異常とは、例えば演算器の物理的エラーやROM‐RAMデータエラー、ソフトウェアが規定された実行順序で実行されないソフトフローエラー等を含む。インストラクションチェックでは、このような演算器の各種の異常を検出することができる。ECU20は、インストラクションチェックにより異常が検出された場合、アラームの出力や演算器のリセット等を行ってもよい。
インストラクションチェックは、例えば、図2に示すようなソフトウェア構造を有するECU20のマイコンによって実行される。まず、インストラクションチェックの対象となる制御演算処理について予め定義された独立した関数を用いて、マイコンのミドルウェア22により当該関数に所定の入力信号を入力したときの演算結果が演算される。また、ミドルウェア22は、当該関数に所定の入力信号を入力したときの推定値を所定の方法により演算する。
そして、ミドルウェア22は、関数の演算結果と推定値とが一致するか否かを判定する。ミドルウェア22は、これらの値が一致する場合にはマイコンに異常はないと判定して演算処理を継続する。一方、これらの値が一致しない場合には、ミドルウェア22はマイコンに異常が発生したと判定し、当該マイコンの基本ソフトウェア24によりマイコンをリセットする。このとき、基本ソフトウェア24は、運転者にマイコンの異常を通知するため、マイコンのアプリケーション26に対して異常発生情報を送信する。異常発生情報を受信したアプリケーション26は、フェイルセーフ機能を実行する。
本実施形態に係るECU20のインストラクションチェックでは、マイコンにより、センサ10からの入力信号である検出値に基づいて、制御対象であるエンジン30を制御するための制御値を演算する一連の制御演算処理を実行する。これとともに、マイコンは、この一連の制御演算処理のうち少なくとも一部を実行することなく制御値の限界値を推定し、一連の制御演算処理による演算結果と比較することで、マイコンによる一連の制御演算処理の異常を検出する。
このように、本実施形態に係るECU20のインストラクションチェックでは、一連の制御演算処理を二重に行って制御値を二重計算するのではなく、制御対象を制御するための制御値の限界値を推定することで、ECU20の演算負荷を大幅に軽減しつつ、ECU20による制御演算処理の演算結果の正当性を保障することができる。
以下、図3〜図5に基づいて、本実施形態に係るECU20によるインストラクションチェックについてより詳細に説明していく。以下では、制御対象をエンジン30として、ECU20によりアクセル開度(検出値)からエンジントルク要求値(制御値)を演算する際に行われるインストラクションチェックを例として説明する。なお、図3は、本実施形態に係るECU20によるインストラクションチェックを実行する機能部を示す機能ブロック図である。図4は、ECU20によるインストラクションチェック方法を説明するフローチャートである。図5は、アクセル開度及び過去に出力された過去のトルク要求値と、エンジントルク要求値の限界値との相関関係を表す相関情報の一例を示す説明図である。
[1.3.制御装置の構成]
本実施形態に係るECU20は、図3に示すように、例えば演算処理部110と、推定処理部120と、異常判定部130と、記憶部140とを備える。
演算処理部110は、制御対象であるエンジン30を制御するための制御値を演算する一連の制御演算処理を実行する。演算処理部110は、一連の制御演算処理のうち前段の処理を行う前段処理部112と、前段処理部112の処理結果に基づいて制御対象の制御値を演算する後段処理部114とからなる。
前段処理部112は、アクセル開度センサ12から入力される入力信号の前処理を実行する。本実施形態に係る前段処理部112は、入力信号処理部112aを有する。入力信号処理部112aは、アクセル開度センサ12により検出されたアクセル開度を受けて、A/D変換処理や検出値のなまし処理、ノイズ除去処理等を行い、後段処理部114における演算処理の前処理を行う。入力信号処理部112aは、前処理した入力信号を後段処理部114へ出力する。
後段処理部114は、前段処理部112から入力された入力信号に基づいて、制御対象を制御するための制御値、具体的にはエンジントルク要求値を演算する。本実施形態に係る後段処理部114は、ドライバ目標駆動力演算処理部114aと、エネルギマネジメント処理部114bと、ドライバ目標エンジントルク演算処理部114cとを備える。
ドライバ目標駆動力演算処理部114aは、アクセル開度に基づいて、ドライバがエンジン30に対して要求している目標駆動力を演算し、エネルギマネジメント処理部114bへ出力する。エネルギマネジメント処理部114bは、ドライバ目標駆動力演算処理部114aにて演算された目標駆動力を受けて、車両全体において燃費が良くなるようなエネルギの使用配分等を考慮し、エンジン30のエンジントルク値を演算する。
エネルギマネジメント処理部114bは、演算したエンジン30のエンジントルク値をドライバ目標エンジントルク演算処理部114cへ出力する。ドライバ目標エンジントルク演算処理部114cは、エネルギマネジメント処理部114bにより演算されたエンジントルク値に基づいて、当該エンジントルク値を出力するためにエンジン30を制御する制御値として、エンジントルク要求値を演算する。ドライバ目標エンジントルク演算処理部114cは、演算した制御値を異常判定部130へ出力する。
以上のようにして、演算処理部110は、アクセル開度センサ12により検出されたアクセル開度を入力信号として、前段処理部112、後段処理部114による一連の制御演算処理を実行し、制御値としてエンジントルク要求値を算出する。制御値の算出は、所定の制御周期毎(例えば、10ms毎)に逐次行われる。
一方、推定処理部120は、演算処理部110の前段処理部112である入力信号処理部112aからの入力信号と、後述する異常判定部130により過去に演算されて出力された制御値とから、制御対象であるエンジン30の制御値の限界値を推定する。推定処理部120は、例えば演算処理部110の故障によってエンジン30の制御値が誤って演算されたときに、実際にエンジン30へ出力される制御値に制限をかけるための限界値を推定する。本実施形態では、推定処理部120は、制御値であるエンジントルク要求値の限界値として、エンジントルクの上限値(以下、「エンジントルク上限値」ともいう。)を推定する。
推定処理部120は、エンジントルク上限値を、前段処理部112からの入力信号であるアクセル開度と、異常判定部130より過去に演算されて出力された制御値であるエンジントルク要求値とから推定するため、制御値を演算するための一連の制御演算処理、特に後段処理部114による制御演算処理を実行することなくエンジントルク上限値を推定することができる。したがって、インストラクションチェックにおけるECU20の演算負荷を大幅に軽減することができる。なお、推定処理部120によるエンジントルク上限値の推定処理の詳細については後述する。推定処理部120により推定されたエンジントルク上限値は、異常判定部130へ出力される。推定処理部120によるエンジントルク上限値の推定処理は、演算処理部110と同様に、制御周期毎に逐次行われる。
異常判定部130は、演算処理部110により演算された制御対象の制御値と、推定処理部120により推定された制御値の限界値とに基づいて、演算処理部110の異常の有無を制御周期毎に判定する。本実施形態では、異常判定部130は、演算処理部110により演算されたエンジン30の制御値であるエンジントルク要求値と、推定処理部120により推定されたエンジントルク上限値とを比較し、比較結果から演算処理部110に異常があるか否かを判定する。
異常判定部130は、演算処理部110に異常がないと判定した場合には演算処理部110により演算されたエンジントルク要求値をそのまま出力する。一方、異常判定部130は、演算処理部110に異常があると判定した場合には、推定処理部120により推定されたエンジントルク上限値を、演算処理部110により演算されたエンジントルク要求値の代わりにエンジントルク要求値として出力する。なお、異常判定部130は、システムが備える機器に何らかの異常が生じている場合に、エンジントルク要求値に制限をかける機能をも含んでいる。
異常判定部130は、最終的に決定したエンジントルク要求値を、ECU20内のスロットル開度や燃料噴射量、吸排気バルブタイミング、点火時期等を制御する制御量を演算する制御量演算部(図示せず。)に出力する。制御量演算部は、エンジン30の実出力トルクが演算したエンジントルク要求値に近づくように各制御量を演算し、演算した制御量をエンジン30へ出力する。
記憶部140は、推定処理部120が制御値の限界値を推定するために用いる情報を記憶する。本実施形態において、記憶部140には、例えばアクセル開度と異常判定部130から過去に出力された過去のエンジントルク要求値との相関関係に基づき予め設定されたエンジントルク上限値を表す相関情報が記憶されている。
インストラクションチェックのための演算処理部110による制御値の演算処理、推定処理部120による限界値の演算処理、および異常判定部130よる異常判定処理は、例えばECU20が備える複数のコアにより個別に実行してもよい。あるいは、インストラクションチェックのためのこれらの処理を、システムが備える複数のマイクロコンピュータによって個別に実行してもよく、若しくは、システムが備える1つのマイクロコンピュータによって各処理を順次実行してもよい。
[1.4.インストラクションチェック処理]
図3に示した機能を有するECU20は、図4に示す処理フローに基づきインストラクションチェックを実行する。まず、入力信号処理部112aは、センサ10からの検出値の入力を受け(S100)、検出値の前処理を行う(S110)。エンジントルク要求値のインストラクションチェック処理では、アクセル開度センサ12からアクセル開度が入力信号処理部112に入力され、入力信号処理部112にてA/D変換処理や検出値のなまし処理、ノイズ除去処理等が実行される。入力信号処理部112は、前処理したアクセル開度を、演算処理部110の後段処理部114および推定処理部120へ出力する。
次いで、演算処理部110の後段処理部114は、入力信号処理部112から入力されたアクセル開度に基づいて、一連の制御演算処理を実行し、エンジン30の制御値であるエンジントルク要求値を演算する(S120)。ステップS120では、まず、ドライバ目標駆動力演算処理部114aによりドライバがエンジン30に対して要求している目標駆動力が演算され、この目標駆動力に基づいてエネルギマネジメント処理部114bによりエネルギの使用配分等を考慮したエンジン30のエンジントルク値が演算される。そして、演算されたトルク値に基づいてドライバ目標エンジントルク演算処理部114cにより当該トルク値を出力するためのエンジン30の制御値であるエンジントルク要求値が演算される。後段処理部114により演算されたエンジントルク要求値は、異常判定部130へ出力される。
一方、推定処理部120は、入力信号処理部112から入力されたアクセル開度と異常判定部130により過去に演算されて出力されたエンジントルク要求値とに基づいて、エンジントルク上限値を推定する(S130)。このとき、推定処理部120は、記憶部140に記憶された相関情報に基づいて、エンジントルク上限値を推定する。
ここで、アクセル開度とエンジントルク要求値との間には相関関係がある。また、エンジントルク要求値は、アクセル開度が一定条件にある場合には急激に変化しないという特性がある。より具体的には、アクセル開度とエンジントルク要求値との間には、アクセル開度または過去の制御周期において出力されたエンジントルク要求値のいずれか一方若しくは双方が大きいほど、今回(現在の)の制御周期におけるエンジントルク要求値が大きくなるという相関関係がある。このような相関関係に基づいて、今回検出されたアクセル開度と過去に出力されたエンジントルク要求値とを用いて、今回のエンジントルク要求値の限界値であるエンジントルク上限値を設定するための相関情報が予め規定される。
図5は、アクセル開度と過去に出力されたエンジントルク要求値とから今回の制御周期におけるエンジントルク上限値を推定するための相関情報(マップ)の一例を示す特性図である。図5に示す相関情報は、記憶部140に予め記憶されている。図5の相関情報では、縦軸にアクセル開度、横軸に過去のエンジントルク要求値として1つ前の制御周期に出力された前回エンジントルク要求値を示している。アクセル開度は、今回の制御周期で検出されたアクセル開度であり、全閉状態を0%、全開状態を100%として、例えば10%刻みに設定されている。一方、前回エンジントルク要求値については、0Nmから所定の間隔、例えば20〜25Nm毎に値が設定されている。
図5のアクセル開度(縦軸)と前回エンジントルク要求値(横軸)との交点の値は、今回の制御周期で設定するエンジントルク上限値を示している。アクセル開度と前回エンジントルク要求値との相関関係から、アクセル開度または前回エンジントルク要求値のいずれか一方若しくは双方が大きくなるほど、今回のエンジントルク上限値は大きくなるように設定されている。
例えば、アクセル開度センサ12により検出されたアクセル開度が大きくなるほどドライバの要求する駆動力は大きいと考えられるため、今回の制御周期でのエンジントルク上限値は、アクセル開度が大きくなるほど大きい値に設定される。また、アクセル開度を固定したとき、エンジントルク要求値はアクセル開度が一定条件にある場合には急激に変化しないことから、前回の制御周期でのエンジントルク要求値が大きいほど今回のエンジントルク上限値は大きい値に設定される。なお、アクセル開度センサ12により検出されたアクセル開度が0であり、前回エンジントルク要求値が0の場合は、クリープ(アイドリング)に必要なエンジントルク要求値が設定されている。
ステップS130において、推定処理部120は、記憶部140に記憶された相関情報に基づき、入力信号処理部112から入力されたアクセル開度と異常判定部130により出力された前回エンジントルク要求値とから今回の制御周期におけるエンジントルク上限値を設定する。そして、推定処理部120は、設定したエンジントルク上限値を異常判定部130へ出力する。なお、ステップS120とS130の処理は、いずれを先に実行してもよく、並列して実行してもよい。
異常判定部130は、ステップS120にて演算された制御値であるエンジントルク要求値とステップS130にて設定された限界値である今回の制御周期におけるエンジントルク上限値とを比較する(S140)。異常判定部130は、エンジントルク要求値がエンジントルク上限値以下であるとき、演算制御部110に異常はないと判定し、演算制御部110による一連の制御演算処理によって演算されたエンジントルク要求値を出力する(S150)。エンジン30は、異常判定部130から出力されたエンジントルク要求値に基づいて制御される。
一方、異常判定部130は、エンジントルク要求値がエンジントルク上限値より大きいとき、演算制御部110に異常があると判定し、演算処理部110によって演算されたエンジントルク要求値の代わりにエンジントルク上限値を出力する(S160)。エンジン30は、出力されたエンジントルク上限値に基づいて制御される。このように、演算処理部110により演算されたエンジントルク要求値がエンジントルク上限値よりも大きい場合には、エンジントルク上限値をエンジントルク要求値として出力することで、演算処理部110に異常が生じて誤計算されたとしても、適正なリミットをかけることができる。これにより、車両の制御不能を確実に回避することができる。
ステップS160にてエンジントルク要求値の代わりにエンジントルク上限値が出力されると、異常判定部130は、演算処理部110に異常が生じていることをアラームにて通知する(S170)。例えば、異常通知は、例えば車両のメータに故障灯を点灯させる等の処置により行われる。これにより、ドライバは、車両を停止させる、またはサービスステーションへ車両を入庫させるなどの適切な対応をとることができる。
その後、異常判定部130は、演算処理部110に対してリセットをかけることで、異常からの復帰を図る(S180)。なお、演算処理部110のリセットは、例えばステップS140においてエンジントルク要求値がエンジントルク上限値以上である状態が所定の回数連続して生じた場合に行ってもよい。
なお、上述した例では、アクセル開度と異常判定部130から過去に出力されたエンジントルク要求値とから、図5の相関情報に基づいてエンジントルク上限値を推定したが、本発明はかかる例に限定されない。演算処理部110により演算されたエンジントルク要求値がエンジントルク上限値を上回っていない間は、アクセル開度と演算処理部110により演算されたエンジントルク要求値とから、相関情報に基づいてエンジントルク上限値を推定してもよい。そして、エンジントルク要求値がエンジントルク上限値を上回る状態が複数回連続して生じた場合は、アクセル開度と異常判定部130から過去に出力されたエンジントルク上限値とから、図5の相関情報に基づいて、エンジントルク上限値を推定してもよい。
[1.5.まとめ]
以上、本発明の第1の実施形態に係るエンジン制御システムの構成と、ECU20におけるインストラクションチェック処理について説明した。本発明の第1の実施形態によれば、アクセル開度に基づいてエンジントルク要求値を演算する演算制御部110を備えたECU20において、演算処理部110に異常が生じ、エンジントルク要求値が異常値を示した場合であっても、エンジントルク要求値と推定処理部120により推定されたエンジントルク上限値とを比較することによって演算処理部110における異常の発生を確実に検出することが可能となる。そして、異常判定部130は、異常が発生したと判定した場合は、エンジントルク要求値をエンジントルク上限値に制限することで、車両が制御不能となることを確実に抑止することが可能となる。
<2.第2の実施形態>
次に、図6〜図8に基づいて、本発明の第2の実施形態に係る制御システムの構成とこれによるインストラクションチェック処理について説明する。本実施形態に係る制御システムは、動力源としてエンジンおよびモータを備えるハイブリット車両に適用され、センサからの入力信号に基づいて車両のエンジンおよびモータの制御値をそれぞれ演算するハイブリッドコントローラを備える。以下、本実施形態に係る制御システムおよびハイブリッドコントローラの構成およびその機能について説明する。
[2.1.制御システム]
まず、図6を参照して、本実施形態に係る制御システムの概略構成について説明する。図6は、本実施形態に係る制御システムの概略構成を示すブロック図である。なお、図6において、図1に示した第1の実施形態に係るエンジン制御システムと同一の機能部に対しては図1と同一の符号を付し、詳細な説明を省略する。
第2の実施形態に係る制御システムは、ハイブリッドコントローラ40を備える。ハイブリッドコントローラ40は、各種センサ10からの入力信号に基づいて、エンジン30を統括的に制御するエンジン制御ユニット(ECU)20A、モータ60を統括的に制御するモータ制御ユニット(以下、「MCU(Motor Control Unit)」ともいう。)50およびトランスミッション制御ユニット(以下、「TCU(Transmission Control Unit)」ともいう。)70を制御する。センサ10としては、第1の実施形態に係るエンジン制御システムと同様、例えばアクセル開度センサ12や速度センサ14、加速度センサ16、舵角センサ18等がある。
ECU20Aは、ハイブリッドコントローラ40により演算されたエンジン30を制御するための制御値であるエンジントルク要求値に基づいて、エンジン30を駆動する。MCU50は、ハイブリッドコントローラ40により演算されたモータ60を制御するための制御値であるモータトルク要求値に基づいて、モータ60を駆動する。TCU70は、ハイブリッドコントローラ40により演算されたトランスミッション制御値に基づいて、トランスミッションを制御する。
ハイブリッドコントローラ40は、ECU20A、MCU50およびTCU70を制御する制御装置である。例えば、本実施形態に係るハイブリッドコントローラ40は、センサ10のうちアクセル開度センサ12からの入力信号であるアクセル開度に基づいて、ECU20Aへ出力するエンジントルク要求値およびMCU50へ出力するモータトルク要求値をそれぞれ演算する。このとき、ハイブリッドコントローラ40は、演算した各トルク要求値についてインストラクションチェックを実行し、ハイブリッドコントローラ40の演算処理部に異常がないか否かを検出している。
ECU20A、MCU50、TCU70およびハイブリッドコントローラ40は、第1の実施形態に係るECU20と同様、入力信号が入力される入力回路と、入力信号に基づいて制御演算処理を実行する1または複数のマイコン(またはコア)と、マイコンによる演算結果である出力信号を出力する出力回路とを備える。これらはマイコンにより実行される演算処理に必要な各種情報を記憶する記憶部を備えてもよい。また、特にハイブリッドコントローラ40を構成するマイコンは、以下に説明するインストラクションチェックを実行可能な性能を有しているものとする。
[2.2.ハイブリッドコントローラにおけるインストラクションチェック]
次に、図7に基づいて、本実施形態に係るハイブリッドコントローラ40によるインストラクションチェックについて説明する。以下では、制御対象をエンジン30およびモータ60として、ハイブリッドコントローラ40によってアクセル開度(検出値)からエンジントルク要求値およびモータトルク要求値(以上、制御値)を演算する際に行われるインストラクションチェックを例として説明する。なお、図7は、本実施形態に係るハイブリッドコントローラ40によるインストラクションチェックを実行する機能部を示す機能ブロック図である。
ハイブリッドコントローラ40は、当該ハイブリッドコントローラ40に搭載されたマイコンの演算処理に異常があるか否かを検出するインストラクションチェックを実施する。本実施形態において、インストラクションチェックは、センサ10から入力された検出値に基づいて、制御対象であるエンジン30およびモータ60を制御するためのエンジントルク要求値およびモータトルク要求値を演算する一連の制御演算処理を実行するとともに、この一連の制御演算処理のうち少なくとも一部を実行することなくエンジントルク要求値の限界値であるエンジントルク上限値およびモータトルク要求値の限界値であるモータトルク上限値を推定し、これらの演算値を比較することで行われる。
このように、一連の制御演算処理を実行することなく推定されたエンジントルク上限値およびモータトルク上限値を用いてインストラクションチェックを実行することで、インストラクションチェックにおけるハイブリッドコントローラ40の演算負荷を大幅に軽減でき、ハイブリッドコントローラ40による制御演算処理の演算結果の正当性を保障することができる。
[2.3.制御装置の構成]
ハイブリッドコントローラ40は、図7に示すように、例えば演算処理部210と、エンジントルク上限値推定処理部220と、エンジントルク異常判定部230と、エンジントルク相関情報記憶部240とを備える。また、ハイブリッドコントローラ40は、例えば、モータトルク上限値推定処理部250と、モータトルク異常判定部260と、モータトルク相関情報記憶部270とをさらに備える。
演算処理部210は、制御対象であるエンジン30およびモータ60を制御するための制御値を演算する一連の制御演算処理を実行する。演算処理部210は、前段処理部212である入力信号処理部212aと、前段処理部212の処理結果に基づいて制御値を演算するエンジントルク用後段処理部214Aおよびモータトルク用後段処理部214Bとからなる。
前段処理部212である入力信号処理部212aは、アクセル開度センサ12から入力される入力信号の前処理を実行する。本実施形態に係る入力信号処理部212aは、第1の実施形態に係る入力信号処理部112aと同様、アクセル開度に対するA/D変換処理や検出値のなまし処理、ノイズ除去処理等を行い、各後段処理部214A、214Bにおける演算処理の前処理を行う。入力信号処理部212aは、前処理した入力信号を各後段処理部214A、214Bへ出力する。
エンジントルク用後段処理部214Aは、前段処理部212から入力された入力信号であるアクセル開度に基づいて、制御対象であるエンジン30を制御するためのエンジントルク要求値(第1の制御値)を演算する。また、モータトルク用後段処理部214Bは、前段処理部212から入力されたアクセル開度に基づいて、制御対象であるモータ60を制御するためのモータトルク要求値(第2の制御値)を演算する。
エンジントルク用後段処理部214Aおよびモータトルク用後段処理部214Bは、ドライバ目標駆動力演算処理部214aと、エネルギマネジメント処理部214bと、トルク分配制御処理部214cとを共有する。そして、エンジントルク用後段処理部214Aは、トルク分配制御処理部214cの演算結果に基づいてエンジントルク要求値を演算するドライバ目標エンジントルク演算処理部214dをさらに備え、モータトルク用後段処理部214Bは、トルク分配制御処理部214cの演算結果に基づいてモータトルク要求値を演算するドライバ目標モータトルク演算処理部214eをさらに備える。
ドライバ目標駆動力演算処理部214aは、アクセル開度に基づいて、ドライバがエンジン30およびモータ60に対して要求している総目標駆動力を演算し、エネルギマネジメント処理部214bへ出力する。エネルギマネジメント処理部214bは、ドライバ目標駆動力演算処理部214aにて演算された総目標駆動力を受けて、車両全体において燃費が良くなるようなエンジン30およびモータ60に対するエネルギの使用配分等を考慮し、エンジントルク値およびモータトルク値を演算する。
トルク分配制御処理部214cは、エネルギマネジメント処理部214bにより演算されたエネルギの配分に基づいて、エンジン30又はモータ60の動作にショックや振動等が生じないようにバランスをとり、エンジン30を制御するためのエンジントルク値およびモータ60を制御するためのモータトルク値を最終的に決定する。トルク分配制御処理部214cは、決定したエンジントルク値をドライバ目標エンジントルク演算処理部214dへ出力し、モータトルク値をドライバ目標モータトルク演算処理部214eへ出力する。
ドライバ目標エンジントルク演算処理部214dは、トルク分配制御処理部214cにより演算されたエンジントルク値に基づいて、当該エンジントルク値を出力するためにエンジン30を制御する第1の制御値であるエンジントルク要求値を演算する。ドライバ目標エンジントルク演算処理部214dは、演算したエンジントルク要求値をエンジントルク異常判定部230へ出力する。
ドライバ目標モータトルク演算処理部214eは、トルク分配制御処理部214cにより演算されたモータトルク値に基づいて、当該モータトルク値を出力するためにモータ60を制御する第2の制御値であるモータトルク要求値を演算する。ドライバ目標モータトルク演算処理部214eは、演算したモータトルク要求値をモータトルク異常判定部260へ出力する。
以上のようにして、演算処理部210は、アクセル開度センサ12により検出されたアクセル開度を入力信号として、前段処理部212、エンジントルク用後段処理部214Aおよびモータトルク用後段処理部Bによる一連の制御演算処理を実行し、制御値であるエンジントルク要求値およびモータトルク要求値を算出する。各制御値の算出は、所定の制御周期毎(例えば、10ms毎)に逐次行われる。なお、本実施形態に係る前段処理部212およびエンジントルク用後段処理部214Aにより特許請求の範囲における「第1の演算処理部」は構成されている。同様に、本実施形態に係る前段処理部212およびモータトルク用後段処理部214Bにより特許請求の範囲における「第2の演算処理部」は構成されている。
エンジントルク上限値推定処理部220は、演算処理部210の入力信号処理部212aからのアクセル開度と、後述するエンジントルク異常判定部230により過去に演算されて出力されたエンジントルク要求値とに基づいて、制御対象であるエンジン30を制御するための第1の制御値の限界値を推定する。エンジントルク限界推定処理部220は、例えば演算処理部210の故障によってエンジン30を制御するための第1の制御値が誤って演算されたときに、実際にエンジン30へ出力される第1の制御値に制限をかけるための限界値を推定する。本実施形態では、エンジントルク上限値推定処理部220は、エンジントルク要求値の限界値として、エンジントルクの上限値(以下、「エンジントルク上限値」ともいう。)を推定する。
第1の実施形態と同様に、エンジントルク上限値推定処理部220は、エンジントルク上限値を、エンジントルク要求値を演算するための一連の制御演算処理を実行することなく推定することで、インストラクションチェックにおけるハイブリットコントローラ40の演算負荷を大幅に軽減している。なお、エンジントルク上限値推定処理部220によるエンジントルク上限値の推定処理の詳細については後述する。エンジントルク上限値推定処理部220により推定されたエンジントルク上限値は、エンジントルク異常判定部230へ出力される。エンジントルク上限値推定処理部220によるエンジントルク上限値の推定処理は、演算処理部210と同様に、制御周期毎に逐次行われる。
エンジントルク異常判定部230は、演算処理部210により演算されたエンジントルク要求値と、エンジントルク上限値推定処理部220により推定されたエンジントルク上限値とに基づいて、演算処理部210の異常の有無を制御周期毎に判定する。エンジントルク異常判定部230は、エンジントルク要求値とエンジントルク上限値とを比較し、比較結果から演算処理部210に異常があるか否かを判定する。
エンジントルク異常判定部230は、演算処理部210に異常がないと判定した場合には演算処理部210により演算されたエンジントルク要求値をそのまま出力する。一方、演算処理部210に異常があると判定した場合には、エンジントルク異常判定部230は、エンジントルク上限値を、演算処理部210により演算されたエンジントルク要求値の代わりにエンジントルク要求値として出力する。
エンジントルク相関情報記憶部240は、エンジントルク上限値推定処理部220がエンジントルク上限値を推定するために用いる情報を記憶する。本実施形態において、エンジントルク相関情報記憶部240には、例えばアクセル開度と前回エンジントルク要求値との相関関係に基づき予め設定されたエンジントルク上限値を表すエンジントルク相関情報が記憶されている。
モータトルク上限値推定処理部250は、演算処理部210の入力信号処理部212aからのアクセル開度と、により過去に演算されて出力されたモータトルク要求値とに基づいて、制御対象であるモータ60を制御するための第2の制御値の限界値を推定する。モータトルク限界値推定処理部250は、例えば演算処理部210の故障によってモータ60を制御するための第2の制御値が誤って演算されたときに、実際にモータ60へ出力される第2の制御値に制限をかけるための限界値を推定する。本実施形態では、モータトルク上限値推定処理部250は、モータトルク要求値の限界値として、モータトルクの上限値(以下、「モータトルク上限値」ともいう。)を推定する。
モータトルク上限値推定処理部250は、モータトルク上限値を、モータトルク要求値を演算するための一連の制御演算処理を実行することなく推定することで、インストラクションチェックにおけるハイブリットコントローラ40の演算負荷を大幅に軽減している。なお、モータトルク上限値推定処理部250によるモータトルク上限値の推定処理の詳細については後述する。モータトルク上限値推定処理部250により推定されたモータトルク上限値は、モータトルク異常判定部260へ出力される。モータトルク上限値推定処理部250によるモータトルク上限値の推定処理は、演算処理部210と同様に、制御周期毎に逐次行われる。
モータトルク異常判定部260は、演算処理部210により演算されたモータトルク要求値と、モータトルク上限値推定処理部250により推定されたモータトルク上限値とに基づいて、演算処理部210の異常の有無を制御周期毎に判定する。モータトルク異常判定部260は、モータトルク要求値とモータトルク上限値とを比較し、比較結果から演算処理部210に異常があるか否かを判定する。
モータトルク異常判定部260は、演算処理部210に異常がないと判定した場合には演算処理部210により演算されたモータトルク要求値をそのまま出力する。一方、演算処理部210に異常があると判定した場合には、モータトルク異常判定部260は、モータトルク上限値を、モータトルク要求値の代わりにモータトルク要求値として出力する。
モータトルク相関情報記憶部270は、モータトルク上限値推定処理部250がモータトルク上限値を推定するために用いる情報を記憶する。本実施形態において、モータトルク相関情報記憶部270には、例えばアクセル開度とモータトルク異常判定部260から過去に出力された過去のモータトルク要求値との相関関係に基づき予め設定されたモータトルク上限値を表すモータトルク相関情報が記憶されている。
なお、エンジントルク異常判定部230およびモータトルク異常判定部260は、システムが備える機器に何らかの異常が生じている場合に、エンジントルク要求値に制限をかける機能をも含んでいる。
また、インストラクションチェックのための演算処理部210による各制御値の演算処理、エンジントルク上限値推定処理部220およびモータトルク上限値推定処理部250による限界値の演算処理、およびエンジントルク異常判定部230およびモータトルク異常判定部260による異常判定処理は、例えばハイブリッドコントローラ40が備える複数のコアにより個別に実行してもよい。あるいは、インストラクションチェックのためのこれらの処理を、システムが備える複数のマイコンによって個別に実行してもよく、若しくは、システムが備える1つのマイコンによって各処理を順次実行してもよい。
さらに、エンジントルク相関情報記憶部240とモータトルク相関情報記憶部270とは、別個の記憶媒体としてそれぞれ設けられていてもよく、同一の記憶媒体であってもよい。
[2.4.インストラクションチェック処理]
図7に示した機能を有するハイブリッドコントローラ40は、図8に示す処理フローに基づきインストラクションチェックを実行する。まず、入力信号処理部212aは、センサ10からの検出値の入力を受け(S200)、検出値の前処理を行う(S202)。ステップS200およびS202の処理は、第1の実施形態におけるステップ100およびS110の処理と同様である。入力信号処理部212aは、前処理したアクセル開度を、演算処理部210のエンジントルク用後段処理部214A、モータトルク用後段処理部214B、エンジントルク上限値推定処理部220およびモータトルク上限値推定処理部250へ出力する。
次いで、演算処理部210のエンジントルク用後段処理部214Aおよびモータトルク用後段処理部214Bは、入力信号処理部212aから入力されたアクセル開度に基づいて、車両が備える2つの動力源であるエンジン30およびモータ60に対する総目標駆動力を演算し、総目標駆動力をエンジン30およびモータ60にそれぞれ分配する処理を行う(S204)。ステップS204は、エンジントルク用後段処理部214Aおよびモータトルク用後段処理部214Bの共通処理である。
すなわち、まず、ドライバ目標駆動力演算処理部214aによりドライバがエンジン30およびモータ60に対して要求している総目標駆動力が演算され、この総目標駆動力に基づいてエネルギマネジメント処理部214bによりエンジン30およびモータ60に対するエネルギの使用配分が演算される。そして、トルク分配制御処理部214cは、演算されたエネルギの配分に基づいてエンジン30により出力するエンジントルク値およびモータ60により出力するモータトルク値を決定する。エンジントルク値はドライバ目標エンジントルク演算処理部214dに出力され、モータトルク値はドライバ目標モータトルク演算処理部214eに出力される。
ステップS204の処理を終えると、ハイブリッドコントローラ40は、次に、制御対象ごとの処理を実行する。まず、エンジントルク用後段処理部214Aのドライバ目標エンジントルク演算処理部214dより当該エンジントルク値を出力するためのエンジン30の第1の制御値であるエンジントルク要求値が演算される(S206)。エンジントルク用後段処理部214Aにより演算されたエンジントルク要求値は、エンジントルク異常判定部230へ出力される。
また、エンジントルク上限値推定処理部220は、入力信号処理部212aから入力されたアクセル開度と演算処理部230により過去に演算されて出力されたエンジントルク要求値とに基づいて、エンジントルク上限値を推定する(S208)。過去のエンジントルク要求値は、本実施形態では、前回の制御周期において出力された前回エンジントルク要求値である。エンジントルク上限値推定処理部220は、第1の実施形態と同様に、エンジントルク相関情報記憶部240に記憶されたエンジントルク相関情報に基づいて、エンジントルク上限値を推定する。エンジントルク相関情報は、例えば図4に示すように予め設定されている。なお、ステップS206とS208の処理は、いずれを先に実行してもよく、並列して実行してもよい。
エンジントルク異常判定部230は、ステップS206にて演算された制御値であるエンジントルク要求値とステップS208にて設定された限界値である今回の制御周期におけるエンジントルク上限値とを比較する(S210)。エンジントルク異常判定部230は、エンジントルク要求値がエンジントルク上限値以下であるとき、演算制御部210に異常はないと判定し、演算制御部210による一連の制御演算処理によって演算されたエンジントルク要求値でエンジン30を出力する(S212)。エンジン30は、エンジントルク異常判定部230から出力されたエンジントルク要求値に基づいて制御される。
一方、エンジントルク異常判定部230は、エンジントルク要求値がエンジントルク上限値より大きいとき、演算制御部210に異常があると判定し、演算処理部210によって演算されたエンジントルク要求値の代わりにエンジントルク上限値を出力する(S214)。エンジン30は、出力されたエンジントルク上限値に基づいて制御される。このように、演算処理部210により演算されたエンジントルク要求値がエンジントルク上限値よりも大きい場合には、エンジントルク上限値をエンジントルク要求値として出力することで、演算処理部210に異常が生じて誤計算されたとしても、適正なリミットをかけることができる。これにより、車両の制御不能を確実に回避することができる。
ステップS214にてエンジントルク要求値の代わりにエンジントルク上限値が出力されると、エンジントルク異常判定部230は、演算処理部210に異常が生じていることをアラームにて通知する(S216)。その後、エンジントルク異常判定部230は、演算処理部210に対してリセットをかけることで、異常からの復帰を図る(S218)。なお、演算処理部210のリセットは、例えばステップS210においてエンジントルク要求値がエンジントルク上限値以上である状態が所定の回数連続して生じた場合に行ってもよい。ステップS216およびS218の処理は、第1の実施形態におけるステップ170およびS180の処理と同様にしてもよい。
一方、モータ60を制御するためのエンジントルク要求値の演算処理も、エンジントルク要求値の演算処理と同様に実行される。まず、モータトルク用後段処理部214Bのドライバ目標モータトルク演算処理部214eより当該モータトルク値を出力するためのモータ60の第2の制御値であるモータトルク要求値が演算される(S220)。モータトルク用後段処理部214Bにより演算されたモータトルク要求値は、モータトルク異常判定部260へ出力される。
また、モータトルク上限値推定処理部250は、入力信号処理部212aから入力されたアクセル開度とモータトルク異常判定部250により過去に演算されて出力されたモータトルク要求値とに基づいて、モータトルク上限値を推定する(S222)。過去のモータトルク要求値は、本実施形態では、前回の制御周期において出力された前回モータトルク要求値である。
モータトルク相関情報も、エンジントルク相関情報と同様に、例えば図4に示すように予め設定されている。モータトルクにおいても、アクセル開度とモータトルク要求値との間には、アクセル開度または過去の制御周期におけるモータトルク要求値のいずれか一方若しくは双方が大きいほど、今回の制御周期におけるモータトルク要求値が大きくなるという相関関係がある。また、モータトルク要求値も、アクセル開度が一定条件にある場合には急激に変化しないという特性がある。
このような相関関係に基づいて、今回検出されたアクセル開度と過去に出力されたモータトルク要求値とを用いて、今回のモータトルク要求値の限界値を予め設定するための相関情報が規定される。なお、モータトルク相関情報は、図4に示すエンジントルク相関情報と同様に規定されるが、モータトルク相関情報中のモータトルク要求値の限界値は、エンジン30およびモータ60の仕様に応じてエンジントルク要求値の限界値とは異なる値に設定される。
モータトルク上限値推定処理部250は、ステップS208の処理と同様に、モータトルク相関情報記憶部270に記憶されたモータトルク相関情報に基づいて、モータトルク上限値を推定し、推定したモータトルク上限値をモータトルク異常判定部260へ出力する。なお、ステップS220とS222の処理は、いずれを先に実行してもよく、並列して実行してもよい。
モータトルク異常判定部260は、ステップS220にて演算された制御値であるモータトルク要求値とステップS222にて設定された限界値である今回の制御周期におけるモータトルク上限値とを比較する(S224)。モータトルク異常判定部260は、モータトルク要求値がモータトルク上限値以下であるとき、演算制御部210に異常はないと判定し、演算制御部210による一連の制御演算処理によって演算されたモータトルク要求値でモータ60を出力する(S226)。モータ60は、モータトルク異常判定部260から出力されたモータトルク要求値に基づいて制御される。
一方、モータトルク異常判定部260は、モータトルク要求値がモータトルク上限値より大きいとき、演算制御部210に異常があると判定し、演算処理部210によって演算されたモータトルク要求値の代わりにモータトルク上限値を出力する(S228)。モータ60は、出力されたモータトルク上限値に基づいて制御される。このように、演算処理部210により演算されたモータトルク要求値がモータトルク上限値よりも大きい場合には、モータトルク上限値をモータトルク要求値として出力することで、演算処理部210に異常が生じて誤計算されたとしても、適正なリミットをかけることができる。これにより、車両の制御不能を確実に回避することができる。
ステップS228にてモータトルク要求値の代わりにモータトルク上限値が出力されると、モータトルク異常判定部260は、ステップ216と同様に、演算処理部210に異常が生じていることをアラームにて通知する(S230)。その後、モータトルク異常判定部260は、演算処理部210に対してリセットをかけることで、異常からの復帰を図る(S232)。なお、モータトルク要求値の演算処理にのみ異常が生じている場合は、システム全体の制御を停止させず、システムの制御をECU20Aおよびエンジン30によって行い、MCU50及びモータ60を停止させるようにしてもよい。異常の内容によってリセットする対象は適宜決定される。
[2.5.シミュレーション結果]
次に、第2の実施形態に係るインストラクションチェックを実施した場合における、車両の制御不能状態からの回避の可否を検討するために実施したシミュレーションについて説明する。本シミュレーションでは、トルク要求値に対して追加トルクを加算して車両の制御不能状態を模擬し、インストラクションチェックを行わない場合と本発明の第2の実施形態に係るインストラクションチェックを行った場合とについて、車両の制御不能状態からの回避の可否を確認した。
図9に、インストラクションチェックを行わない場合のシミュレーション結果を示す。図9の縦軸は、上から順に、アクセル開度及びブレーキ開度(%)、車速(km/h)、エンジン回転数(rpm)、エンジントルク要求値(Nm)、モータトルク要求値(Nm)をそれぞれ示している。また、図9の横軸は、車両が始動してからの経過時間を示している。
図9に示すシミュレーションでは、アクセル開度を大きくして車速を加速させ、始動から30秒経過時に演算処理部210により演算されたエンジントルク要求値に対してさらに約100Nmのトルクを入力して車両の制御不能状態を模擬した。車両が制御不能状態となった後、アクセル開度を0%にしているが、エンジントルク要求値は減少せず、車速は増加し続ける結果となった。
これに対し、図10に、本発明の第2の実施形態に係るインストラクションチェックを行った場合のシミュレーション結果を示す。図10では、エンジントルク要求値、及びモータトルク要求値の特性に対し、エンジントルク上限値とモータトルク上限値がそれぞれ示されている。エンジントルク上限値は、アクセル開度が0よりも大きい場合は、図5のエンジントルク相関関係に従って、エンジントルク要求値よりも僅かに大きい値に設定される。
図10に示すシミュレーションでも図9と同様、アクセル開度を大きくして車速を加速させ、始動から30秒経過時に演算処理部210により演算されたエンジントルク要求値に対してさらに約100Nmのトルクを入力して車両の制御不能状態を模擬した。車両が制御不能状態となった後、始動から35秒経過時にアクセル開度が0%にされると、エンジントルク要求値は図5のエンジントルク相関関係から規定されるエンジントルク上限値によって制限されてトルクダウンした。これに伴い、車速も減少し、車両の制御不能状態が回避される結果となった。
なお、図10では、アクセル開度が0%とされた後にエンジントルク要求値がエンジントルク上限値によって制限されるものとしているが、アクセル開度が0%に到達する以前にエンジントルク要求値がエンジントルク上限値によって制限されるようにしてもよい。エンジントルク上限値による制限が加わるタイミングは、図5のエンジントルク相関情報を適宜設定することで可変にできる。
また、モータトルクについては、モータトルク要求値が負の値の場合は回生制御が行われているため、モータ60からトルクは発生していない。したがって、モータトルク要求値が負の値の場合は、モータトルク上限値は“0”に設定される。モータトルク要求値が正の値になり、モータ60からトルクが発生すると、図5に示すエンジントルク相関情報と同等に設定されたモータトルク相関情報に従って、モータトルク要求値がモータトルク上限値以下に制御される。
図10に示す例では、車両の始動から5〜10秒経過時にモータトルク要求値が正の値となり、この区間ではモータトルク要求値より僅かに大きな値にモータトルク上限値が設定される。そして、モータ60に対して、始動から55秒経過時にモータトルク要求値に対してさらに約100Nmのトルクを入力して車両の制御不能状態を模擬した。この場合にも、モータトルク要求値はモータトルク上限値によってゼロに制限され、車両を加速させることはなかった。
以上のシミュレーション結果より、本実施形態に係るハイブリッドコントローラ40によるインストラクションチェックを実施することによって、車両の制御不能状態を適切に回避できることがわかる。
[2.6.まとめ]
以上、本発明の第2の実施形態に係るエンジン制御システムの構成と、ハイブリッドコントローラ40におけるインストラクションチェック処理について説明した。本実施形態によれば、アクセル開度に基づいてエンジントルク要求値およびモータトルク要求値を演算する演算制御部210を備えたハイブリッドコントローラ40において、演算処理部210に異常が生じてエンジントルク要求値またはモータトルク要求値が異常値を示した場合であっても、エンジントルク要求値とエンジントルク上限値とを比較し、また、モータトルク要求値とモータトルク上限値とを比較することによって演算処理部210における異常の発生を確実に検出することが可能となる。そして、異常が発生した場合は、エンジントルク要求値またはモータトルク要求値を各上限値に制限することで、車両が制御できなくなることを確実に抑止することが可能となる。
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
例えば、上記実施形態では、インストラクションチェックはアクセル開度からトルク要求値を演算する処理に対して実行されたが、本発明はかかる例に限定されない。例えば、決定されたエンジントルク要求値からECU20(あるいはECU20A)にてスロットル開度または燃料噴射量を決定する一連の演算処理に対するインストラクションチェックにも適用できる。また、例えば、決定されたモータトルク要求値からMCU50にてモータ60の電流値を決定する一連の演算処理に対するインストラクションチェックにも適用できる。
また、上記実施形態では、制御値の限界値の一例として、トルク要求値の上限値を用いたが、本発明はかかる例に限定されない。例えば、制御対象や制御値の種別等に応じて、制御値の限界値として、上限値に代えて下限値を用いてもよい。
さらに、上記実施形態では、今回の検出値と演算処理部により過去に出力された制御値とに基づいて制御値の限界値を推定する処理において、過去に出力された制御値として前回の制御周期での制御値を用いたが、本発明はかかる例に限定されない。例えば「過去に出力された制御値」とは、前回の制御周期より過去である前々回の制御周期にて出力された制御値であってもよく、さらに過去である複数回前の制御周期にて出力された制御値であってもよい。また、「過去に出力された制御値」として出力される値は、過去に出力された制御値そのものの値であってもよく、例えば過去に出力された複数の制御値の平均値、最小値または最大値等であってもよい。制御値の限界値を推定する処理に用いる過去の制御値は、その推定する制御値の特性により適宜設定可能である。
10 センサ
12 アクセル開度センサ
20 エンジン制御ユニット(ECU)
30 エンジン
40 ハイブリッドコントローラ
50 モータ制御ユニット(MCU)
60 モータ
70 トランスミッション制御ユニット(TCU)
110、210 演算処理部
112、212 前段処理部
112a、212a 入力信号処理部
114 後段処理部
120 推定処理部
130 異常判定部
140 記憶部
214A エンジントルク用後段処理部
214B モータトルク用後段処理部
220 エンジントルク上限値推定処理部
230 エンジントルク異常判定部
240 エンジントルク相関情報記憶部
250 モータトルク上限値推定処理部
260 モータトルク異常判定部
270 モータトルク相関情報記憶部

Claims (10)

  1. センサから入力された検出値に基づいて、制御対象を制御するための制御値を逐次演算して出力する制御装置であって、
    前記検出値から前記制御値を演算するための一連の制御演算処理を実行する演算処理部と、
    前記一連の制御演算処理のうち少なくとも一部を実行することなく、前記検出値と過去に出力された前記制御値とに基づいて、前記制御値の限界値を推定する推定処理部と、
    前記演算処理部により演算された前記制御値と、前記推定処理部により推定された前記限界値とを比較することにより、前記演算処理部の異常の有無を判定する異常判定部と、
    を備えることを特徴とする、制御装置。
  2. 前記演算処理部は、
    前記一連の制御演算処理のうち前段の処理を実行する前段処理部と、
    前記前段処理部の処理結果に基づいて、前記一連の制御演算処理のうち後段の処理を実行することにより、前記制御値を演算する後段処理部と、
    を有し、
    前記推定処理部は、前記前段処理部により処理された前記検出値と、前記過去に出力された制御値とに基づいて、前記制御値の限界値を推定し、
    前記異常判定部は、前記後段処理部により演算された前記制御値と、前記推定処理部により推定された前記限界値とを比較することにより、前記演算処理部の異常の有無を判定し、
    前記異常判定部は、前記演算処理部に異常が無いと判定した場合、前記後段処理部により演算された前記制御値を、前記制御対象を制御するための制御値として逐次出力し、前記演算処理部に異常が有ると判定した場合、前記後段処理部により演算された前記制御値に代えて前記推定処理部により推定された前記限界値を、前記制御対象を制御するための制御値として出力することを特徴とする、請求項1に記載の制御装置。
  3. 予め設定された前記検出値と前記制御値との相関情報を保持する記憶部をさらに備え、
    前記推定処理部は、前記記憶部に記憶された前記相関情報に基づいて、前記検出値及び前記過去に出力された制御値から前記限界値を推定することを特徴とする、請求項1又は2に記載の制御装置。
  4. 前記検出値はアクセル開度であり、前記制御値はトルク要求値であり、
    前記推定処理部は、前記相関情報に基づいて、前記アクセル開度と過去に出力された過去のトルク要求値とから、前記トルク要求値の限界値を設定することを特徴とする、請求項3に記載の制御装置。
  5. 前記記憶部は、前記アクセル開度または前記過去に出力された過去のトルク要求値のいずれか一方若しくは双方が大きいほど、前記トルク要求値の限界値が大きくなるように、前記アクセル開度および前記過去のトルク要求値と前記トルク要求値の限界値との相関が設定された前記相関情報を保持していることを特徴とする、請求項4に記載の制御装置。
  6. 前記制御対象は、第1の制御対象および第2の制御対象を含み、
    前記演算処理部は、
    前記第1の制御対象を制御するための第1の制御値を算出する第1の演算処理部と、
    前記第2の制御対象を制御するための第2の制御値を算出する第2の演算処理部と、
    を有し、
    前記推定処理部は、
    前記第1の制御値の限界値を推定する第1の推定処理部と、
    前記第2の制御値の限界値を推定する第2の推定処理部と、
    を有し、
    前記異常判定部は、
    前記第1の演算処理部により演算された前記第1の制御値と、前記第1の推定処理部により推定された前記限界値とを比較することにより、前記第1の演算処理部の異常の有無を判定する第1の異常判定部と、
    前記第2の演算処理部により演算された前記第2の制御値と、前記第2の推定処理部により推定された前記限界値とを比較することにより、前記第2の演算処理部の異常の有無を判定する第2の異常判定部と、
    を有することを特徴とする、請求項1に記載の制御装置。
  7. 前記制御対象は、車両に設けられた相異なる動力源であるエンジンおよびモータを含み、前記検出値はアクセル開度であり、前記制御値はトルク要求値であり、
    前記演算処理部は、
    前記エンジンを制御するためのエンジントルク要求値を算出する第1の演算処理部と、
    前記モータを制御するためのモータトルク要求値を算出する第2の演算処理部と、
    を有し、
    前記推定処理部は、
    前記エンジントルク要求値の限界値を推定する第1の推定処理部と、
    前記モータトルク要求値の限界値を推定する第2の推定処理部と、
    を有し、
    前記異常判定部は、
    前記第1の演算処理部により演算された前記エンジントルク要求値と、前記第1の推定処理部により推定された前記エンジントルク要求値の限界値とを比較することにより、前記第1の演算処理部の異常の有無を判定する第1の異常判定部と、
    前記第2の演算処理部により演算された前記モータトルク要求値と、前記第2の推定処理部により推定された前記モータトルク要求値の限界値とを比較することにより、前記第2の演算処理部の異常の有無を判定する第2の異常判定部と、
    を有することを特徴とする、請求項1に記載の制御装置。
  8. 前記第1の演算処理部および前記第2の演算処理部は、
    入力された入力信号であるアクセル開度の前処理を行う入力信号処理部と、
    前記アクセル開度に基づいて前記2つの動力源に出力させる総トルク目標値を演算する総トルク演算処理部と、
    前記総トルク目標値を、前記エンジンに出力させるエンジントルク目標値と前記モータに出力させるモータトルク目標値とに分配するトルク分配制御部と、
    を共有し、
    前記第1の演算処理部は、前記トルク分配制御部により演算された前記エンジントルク目標値に基づいて前記エンジントルク要求値を演算するエンジントルク要求値演算処理部をさらに有し、
    前記第2の演算処理部は、前記トルク分配制御部により演算された前記モータトルク目標値に基づいて前記モータトルク要求値を演算するモータトルク要求値演算処理部をさらに有することを特徴とする、請求項7に記載の制御装置。
  9. 前記異常判定部は、前記演算処理部に異常があると判定したとき、当該演算処理部をリセットすることを特徴とする、請求項1〜8のいずれか1項に記載の制御装置。
  10. センサから入力された検出値に基づいて、制御対象を制御するための制御値を逐次演算して出力する制御装置の異常を検出する異常検出方法であって、
    前記制御装置の演算処理部により、前記検出値から前記制御値を演算するための一連の制御演算処理を実行することにより、前記制御値を逐次演算し、
    前記一連の制御演算処理のうち少なくとも一部を実行することなく、前記検出値と過去に出力された前記制御値とに基づいて、前記制御値の限界値を推定し、
    前記制御値と前記限界値とを比較することにより、前記演算処理部の異常の有無を判定することを特徴とする、制御装置の異常検出方法。
JP2013115388A 2013-05-31 2013-05-31 制御装置および制御装置の異常検出方法 Active JP6069104B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013115388A JP6069104B2 (ja) 2013-05-31 2013-05-31 制御装置および制御装置の異常検出方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013115388A JP6069104B2 (ja) 2013-05-31 2013-05-31 制御装置および制御装置の異常検出方法

Publications (2)

Publication Number Publication Date
JP2014234732A JP2014234732A (ja) 2014-12-15
JP6069104B2 true JP6069104B2 (ja) 2017-01-25

Family

ID=52137631

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013115388A Active JP6069104B2 (ja) 2013-05-31 2013-05-31 制御装置および制御装置の異常検出方法

Country Status (1)

Country Link
JP (1) JP6069104B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015222321A1 (de) * 2015-11-12 2017-05-18 Siemens Aktiengesellschaft Verfahren zum Betrieb eines Mehrkernprozessors

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3024460B2 (ja) * 1993-10-22 2000-03-21 日産自動車株式会社 エンジンのスロットル制御装置
DE19729100A1 (de) * 1997-07-08 1999-01-14 Bosch Gmbh Robert Verfahren zum Betreiben einer Brennkraftmaschine insbesondere eines Kraftfahrzeugs
JP3933170B2 (ja) * 1998-12-24 2007-06-20 トヨタ自動車株式会社 内燃機関の出力状態検出装置
JP2000192838A (ja) * 1998-12-25 2000-07-11 Mitsubishi Electric Corp 自動車用エンジン制御装置
JP4007203B2 (ja) * 2003-01-23 2007-11-14 株式会社デンソー 電子制御装置
JP3746775B2 (ja) * 2003-07-04 2006-02-15 本田技研工業株式会社 ハイブリッド車両の制御装置
JP5652118B2 (ja) * 2010-10-22 2015-01-14 日産自動車株式会社 車両用走行制御装置及び車両用走行制御方法

Also Published As

Publication number Publication date
JP2014234732A (ja) 2014-12-15

Similar Documents

Publication Publication Date Title
JP4924905B2 (ja) 車両の制御装置
US9863334B2 (en) Drive control apparatus for prime mover
JP5171921B2 (ja) シリーズ式ハイブリッド車両の制御装置
CN110594028B (zh) 节气门自学习的控制方法、装置及电子控制单元
US7248932B2 (en) Electronic control unit
CN107687373B (zh) 发动机的失效保护装置
US9163602B2 (en) Selective auto start/stop delay during low speed maneuvers based on electric power steering current
JP3835312B2 (ja) 車両用電子制御装置
US20150240728A1 (en) Output control device for vehicle
JP2013199166A (ja) 車両挙動制御システム
CN108146250B (zh) 一种基于多核cpu的汽车扭矩安全控制方法
JP6069104B2 (ja) 制御装置および制御装置の異常検出方法
JP2009062998A (ja) 車両制御システム
JP2017110595A (ja) 失火判定装置
WO2023016122A1 (zh) 发动机控制方法、装置、整车控制器和车辆
JP2010101249A (ja) 内燃機関のアイドルストップ制御装置
CN106467022B (zh) 用于确定在机动车中是否存在故障状态的方法和装置
SE522658C2 (sv) Metod för att identifiera ett fel förknippat med en särskild cylinder i en flercylindrig förbränningsmotor och datorprogram för genomförande av metoden
JP2014225142A (ja) 故障診断装置
JP6434287B2 (ja) 車両制御システム
JP2021105371A (ja) 電子制御装置
JP2014034912A (ja) 車両用制御装置
CN113898468B (zh) 一种辅助制动系统故障诊断方法和装置
JP6016258B2 (ja) 車両用エンジン制御装置
KR100820495B1 (ko) 하이브리드 자동차의 냉시동 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161125

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161129

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161226

R150 Certificate of patent or registration of utility model

Ref document number: 6069104

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250