Posts Issued on January 28, 2025

EGASアーキテクチャ (6)

posted by sakurai on January 28, 2025 #938

よく見ると、「3層構造(入力-制御-出力)」というChatGPTの回答は誤りです。EGASの3層というのは
Level 1 --> Intended control function with QM(x)
Level 2 --> Function monitoring with ASIL x(x)
Level 3 --> Controller monitoring with ASIL x
というものです。

ChatGPT:
以下では、EGAS(Electronic Gas)における2チャネル・3層安全アーキテクチャを「入力-制御-出力」という一般的な階層分けとは切り離し、EGAS特有の機能層・監視層の構成として整理します。ポイントは、(1) 物理的・論理的に2系統(チャネル)を用意し、(2) それぞれの機能レイヤを3段階に分けて安全を担保する点にあります。


1. 「2チャネル」とは?

EGASの電子スロットル制御では、メイン系(Main)とモニタ系(Monitor)の2つのチャンネル(あるいは2エレメント、2経路)を用意し、それぞれが異なるロジックやハードを持ちながら互いの動作をクロスチェックする構造が一般的です。

  1. メイン系 (Main Channel)

    • エンジントルクやスロットル開度を演算し、実際のアクセル操作に応じた制御を行う。
    • いわゆる「意図した機能」(Intended Function)を中心に担当。
  2. モニタ系 (Monitor Channel)

    • メイン系の演算結果(目標スロットル開度や出力トルクなど)を常時監視し、妥当かどうかをチェック。
    • メイン系に異常が発生していると判断すれば、リミット制御やアイドル制御など安全側への切り替えを行う。

両チャネルが別々のマイコン独立したCPUコアを用いることにより、単一点故障や暴走(ソフトウェアのバグ含む)が両系統へ波及しにくくなり、ISO 26262などで求められる高いASIL要求に対応しやすくなります。


2. 「3層(レベル)」とは?

EGASにおける「3層安全アーキテクチャ」は、下記のように機能と監視機能を段階的に分けた3レベルを示します。これは物理的な入出力ではなく、安全機能を階層化している点が重要です。

  1. Level 1: Intended control function (QM)

    • スロットル開度やエンジントルクを計算し、通常の走行時に必要な機能を提供する層。
    • ISO 26262の安全目標から外れている(=QM)場合や、ASILが非常に低いレベルとして扱われることが多い。
    • いわば「メイン制御」の本体。
  2. Level 2: Function monitoring (ASIL x)

    • 上記「Level 1」が不適切な制御(例:過剰トルク)を行っていないか、機能そのものを監視する層。
    • 異常を検知したら、安全側への制御介入(リミット制御やシャットダウン等)を行う。
    • ここにはISO 26262で定義されるASIL(A~D) が割り当てられ、一定の故障検出率やフェイルセーフを実装。
  3. Level 3: Controller monitoring (ASIL x)

    • 「Level 2」の監視機能自体が故障・暴走していないかをさらに上位の視点で監視する層。
    • マイコン全体の健全性(ウォッチドッグやメモリ保護など)も含め、モニタ系が正しく動作しているかを診断。
    • ここでもASIMレベルが課され、万一Level 2が壊れた際に最悪の誤作動へ至らないような仕組みをもつ。

2.1 3層の狙い

  • 1段目(メイン機能)が故障した場合、2段目(機能監視) が検知・安全化する。
  • 2段目(機能監視)自体が故障した場合、3段目(コントローラ監視) がそれを検知してシステムを安全側に制御する。

こうした「多層(多段)の監視」により、一つの故障(もしくは一つのバグ)だけで過度な加速危険な出力が発生し続けない構造を狙っています。


3. 2チャネル × 3層アーキテクチャの全体像

まとめると、EGASの安全アーキテクチャは“2チャネル”(メイン系とモニタ系)を物理的に用意しつつ、論理的には“3つの安全機能レベル”(意図した機能 → 機能監視 → コントローラ監視)を実装しています。

  1. メイン系
    • Level 1 (QM) の意図した制御を実装し、アクセルペダル入力からトルク/スロットルを算出。
    • Level 2の監視を受ける対象。
  2. モニタ系
    • Level 2 (機能監視, ASIL x) と Level 3 (コントローラ監視, ASIL x) の役割を担い、メイン系や自身の動作を常に監視。
    • モニタ系内でもさらに、機能を監視する部分モニタ自体を監視する部分が階層化されることもある。

2チャネルは冗長・相互監視を可能にし、3層の安全機構は故障や誤動作を段階的に検知し、最終的に安全側へ制御できるような構成を実現します。


4. 具体的な挙動イメージ

  1. 通常動作

    • Level 1(メイン制御)がスロットル開度を演算し、車両走行に必要なトルクを提供する。
    • Level 2(機能監視)はメイン制御の出力値・センサ値等を常時チェック。
    • Level 3(コントローラ監視)はモニタ系が正しく実行されているかをさらに監視。
  2. メイン制御が誤った出力を指示 (ソフトバグや故障)

    • Level 2が異常に気付き、スロットルを制限もしくはアイドル付近に固定して安全を確保。
    • これにより、意図しない加速が起き続けない。
  3. モニタ系(Level 2)が故障して監視不能

    • Level 3(コントローラ監視)で、モニタ機能自体が応答しない/妥当な検出を行えていないと判断し、フェイルセーフへ移行。
    • たとえ監視機能が壊れても、最終的に安全側へ逃げる設計が可能になる。

5. まとめ

  • 2チャネル: メイン制御(Level 1)と、その制御を監視するモニタ系を物理的に分離・冗長化。
  • 3層(レベル)構造:
    1. Level 1: Intended control function (QM)
    2. Level 2: Function monitoring (ASIL x)
    3. Level 3: Controller monitoring (ASIL x)

この「2チャネル × 3層安全アーキテクチャ」により、EGASの電子スロットル制御では単一点故障やソフトウェア不具合が発生しても危険なトルクが出続ける事態を防止し、ISO 26262のような機能安全規格で要求される高いASIL水準を満たす設計が可能となります。

ChatGPT の回答は必ずしも正しいとは限りません。重要な情報は確認するようにしてください。


左矢前のブログ 次のブログ右矢