導入事例

  • MC-Checker

    三菱電機株式会社 姫路製作所様

    モデルベースによるソフト開発に、MC-Checkerを検証プロセスに適用して、モデルベース開発の課題であった検証プロセスの効率化を図った事例をご紹介致します。

4WD用電子制御装置のモデルベース開発 への「MC-Checker」適用事例

近年のモデルベースによる自動車制御ソフト開発では、MATLAB/Simulinkを使用して制御仕様作成し、シミュレーションによる制御仕様の検証を行った後、オートコーダーによりECUへの組込みコードを自動生成する試みが盛んになっています。オートコーダーを使用した開発は、ソフトウエア作成工数を大幅に短縮できるメリットがありますが、一方で、ソフトウエア検証プロセスの効率化を進める点で課題が残されています。

ここでは、三菱電機株式会社 姫路製作所様が、三菱自動車工業株式会社様向けの、前輪左右の駆動力配分と前後輪の駆動力配分を行うための2つの電子制御カップリングを統合制御する4WD用電子制御装置(ECU)モデルベースによるソフト開発に、ガイオ・テクノロジーのモデルとソフトウェアの一致性検証ツール「MC-Checker」を検証プロセスに適用して、モデルベース開発の課題であった検証プロセスの効率化を図った事例を紹介致します。

オートコードを使用したモデルベース開発の課題

  • 三菱電機株式会社 姫路製作所様では、オートコードを使用したモデルベース開発の検証プロセスに、次のような課題を上げています。
  • オートコーダーが生成するソースコードに含まれる論理的な誤りの検出
  • 1つ目は、オートコーダーが生成するソースコードの論理的な誤りについての検証です。車両制御が記述されるMATLAB/Simulinkモデルは、記述内容が多種多彩であり、規模が膨大であるため、オートコーダーがあらゆるモデルブロックに対して、誤りのないソースコード(関数)を生成することを保証することは一般的に難しいとされています。

    このため、三菱電機株式会社 姫路製作所様ではオートコーダーでソースコードを生成する度に、ソースコードに誤りが無いかを単体検証する必要があると考えています。
  • 演算精度誤差に関する検証
  • もう1つは、浮動小数点で作成された制御仕様を、固定小数点でマイコンへ実装するときに生じる演算精度誤差に関する検証です。一般にMATLAB/Simulink制御モデルで使用する倍精度演算では、ある1つの物理量を表現するために、8バイトのメモリを消費しますが、これを2バイトの固定小数点で表現すれば、ソフトウエアのメモリ使用量を削減でき、安価なマイコンに実装することが可能となります。

    ただし、一方でソフトウエアの演算精度を落とすことになるため、この演算精度による影響により、制御結果が許容誤差を逸脱しないかを検証する必要があると考えています。

MC-Checkerを使用した自動車4WDカップリング制御ソフト検証

  • 三菱電機株式会社 姫路製作所様の自動車4WDカップリング制御システムには、前後輪へのトルク配分の制御と、前輪左右のトルク配分を制御するECUがあります。今回は、前輪左右制御部分のソフトウエアに、MC-Checkerを適用して、オートコード時に発生した問題点の検出を行った例を示します。
  • 三菱電機株式会社 姫路製作所様
  • MC-Checkerを使用した制御仕様とソフト実装動作の比較検証
  • MC-Checkerを使用して、MATLAB/Simulinkを使用してモデルで実行した仕様動作と、制御部分をマイコンシミュレータを使用してソフトウエアで動作した結果を比較し、ソフトウエアの実装に間違いが無いかのテストを行いました。入力信号には、アンダーステア、オーバーステアなどを網羅的に含む走行時のデータを使用し、制御出力の比較を行いました。
  • 三菱電機株式会社 姫路製作所様
  • その結果、制御結果の一部に、期待動作と大きく異なる点が検出され、これがオーバーステア時であることがわかりました。原因を追及したところ、アンダーステア、直進状態、オーバーステアの状態遷移を示す変数の定義が、仕様モデルと実装コードで異なっていることがわかりました。この修正を行い、同一の環境で再テストを行ったところ、出力がほぼ一致することを確認することができました。
  • 三菱電機株式会社 姫路製作所様
  • MC-Chekcerを使用した実装ソフトウエア演算精度の検証
  • もう1つの検証項目として、固定小数点の使用による演算精度についての検証を行いました。出力の制御演算の中には、複雑な数学演算を避けるためのテーブルルックアップによる演算部分があります。テーブルから取得した2値の補完演算で、仕様モデルでの浮動小数点演算による補完演算と、実装ソフトウエアでの固定小数点による補完演算を比較し、許容誤差を超えないかの検証を行いました。

    その結果、ソフトウエアによる固定小数点演算では、許容誤差として設定した「1Nm」を超える誤差出力があることを検出しました。原因を追及したところ、補完演算での演算に分解能不足になる演算区間を発見しました。そこで、補完演算を行う区間に合わせて、固定小数点のスケーリングを最適化し、出力の変動幅が必ず出力の分解能未満になるように改善し、同一の環境で再テストを行ったところ、許容誤差「1Nm」未満になることを確認しました。
  • 三菱電機株式会社 姫路製作所様

まとめ

  • このように三菱電機株式会社 姫路製作所様ではMC-Checkerの適用により、モデルベース開発において、手作業では効率の悪いモデル動作と実装ソフトウエア動作の比較検証の効率化を図り、オートコード使用時に発生する課題を解決することができました。

お問い合わせは

本適用事例情報元(出所)

三菱電機技報 2010年09月号 特集 「次世代の車づくりに貢献する先進技術」 より
4WD用電子制御装置のモデルベース開発  足立一幸 / 村富義徳 / 宇井信介