2025年度 三菱電機ソフトウエア技術レポート
(コラム)
HILS技術を用いた
自動車ライト制御ソフトウェア試験の自動化
自動車ライト制御システムのソフトウェア試験
製品の性能、安全性、信頼性を確保するうえで
重要なソフトウェア試験
ソフトウェアの開発において、開発プロセスの各段階でソフトウェア試験が行われます。ソフトウェア試験では、プログラムが仕様の通りに動作するか、入力データや制御対象に何か異常があった時にも安全が保てるかなどを検証し、不具合を早期に発見します。適切な試験の実施は、開発の遅延や出荷後のリコール、事故などのリスクを低減します。製品の性能、安全性、信頼性を確保するうえで欠かせない工程です。
モビリティ事業統括部 三田事業所 車載電装システム技術部 車載電装システム技術第2課の海原輝之氏は、担当する自動車ライト制御システムにおけるソフトウェア試験の役割について次のように語ります。
「現在の自動車では、すべての光源は専用のライト制御ユニット(ECU)に搭載されたマイコンのソフトウェアで制御されています。自動車用ライトのトラブルは人命に直結しますので、特に安全性が重視されます。例えば、システムに不具合があったとき、ライトを消灯させるだけではなく、必要に応じて夜間などは点灯継続するようにプログラムを設計するのですが、実際にその通りに動作するかを検証するのが私たちの役割です。こうした機能安全を実現するために、私たちも強い責任感を持ってソフトウェア試験を実施しています」
最近の車では多数のLEDライトを組み合わせて高度な照射・配光制御を行っています。カメラの情報をもとにヘッドライトの配光を自動調整して、遠くを照らしながらも対向車を眩惑させないADB(Adaptive Driving Beam)やオーナーが車に近づいた時にライトがアニメーション点灯するウェルカムライトなどは、LEDをソフトウェア制御することで可能になった機能です。
ライトの高機能化に伴って、ソフトウェア試験の作業量も大幅に増加しています。
「最近の車種は数百個のLEDを搭載しています。車種やグレードの違いによるライト関連機能のバリエーションは数百に上ります。それに伴ってソフトウェア試験で検証する内容も大幅に増え、テストシナリオの数は数千に及びます」(海原氏)
さらに、新しい開発手法の導入で開発期間が短くなったことによりソフトウェア試験にも効率化が求められています。
MESWでは、自動車ライト制御システムのソフトウェア開発に「モデルベース開発」(MBD)という手法を導入しています(図1)。MBDは、コンピュータ上の仮想環境でシステムの構成要素を“モデル”として配置し、それらの機能や繋がりを定義することで視覚的にソフトウェアを設計できます。そして「自動コード生成」機能によって、開発者がモデルに設定した動作に基づいて、システムがプログラムコードを自動的に生成します。これにより、手作業でのコーディングが減り、ソフトウェア開発の大幅な効率化を実現できました。
「当プロジェクトでは、MBDと自動コード生成を活用した開発が定着しています。仕様確定からコーディングが終了するまでの時間が大幅に短縮されています」
MESWでは、こうした環境の変化に対応するため、ソフトウェア試験の自動化に取り組みました。MBDでは、仮想環境内での動作試験も行えますが、開発の終盤には、実物のECUにプログラムを書き込んでリアルな環境で試験を行う必要があります。このECUのテストには人手が必要で多くの時間がかかっていました。
「ソフトウェア試験の自動化に取り組んだきっかけは、新型車の開発が始まる際、必要なソフトウェア試験の数が桁違いに増えることが分かったことです。従来の人手が必要な試験方法のままでは、実施や合否判定に非常に多くの時間がかかってしまい、MBDによる開発スピードの向上を阻害してしまうことから自動化に取り組みました」(海原氏)
HILS+独自開発ソフトウェアで
試験の実施から合否判定まで自動化
開発した自動試験システムは、HILS(Hardware In the Loop Simulation)というECU試験システムとMESWが独自に開発した自動試験ソフトウェアの組み合わせで構成されています。HILSは、ドライバの操作、カメラやセンサなどの入力情報、およびECUの制御対象となるライトやモータを模擬する入出力装置と実際のECUを接続した、ソフトウェア試験環境です(図2)。実機に近い環境でECUのソフトウェアをリアルタイムで検証できるメリットがあります。
MESWが開発した自動試験システムは、HILSシステムと独自開発のソフトウェアを連携させることで、あらかじめ指定された複数のテストシナリオを順次、自動実行し、試験結果のデータをログに記録します。これにより夜間に無人での自動試験が可能になりました。さらに、ログデータから各試験項目の合否判定も自動で行うことができます。つまり、退勤前に試験をスタートさせれば、翌朝には合否も含めた結果が得られることになります(図3)。
既存のHILSシステムを
独自のハードウェアとソフトウェアで拡張
自動試験システムの開発は、HILSの入出力装置の拡張からスタートしました。
「既に導入されていたHILSは小規模なものでしたので、制御対象が大幅に増えた新型車の試験に使うには能力が不足していました。そこでまず、入出力装置を拡張して必要な数の制御対象を模擬できるようにしました。HILSでは、信号のタイミングも含めてリアルタイムで実車に近い反応を模擬する必要があります。ハードウェアの開発チームの尽力により、最終的に高速に反応できるオリジナルのFPGA基板を開発して解決しました」(海原氏)
ソフトウェアの開発では、テストシナリオの読み込み速度が問題になりました。
「当初は一つのシナリオを読み込むのに5分ほどかかっていました。夜間の試験実行は、今回の開発の重要な要件でした。前日の終業から翌朝の始業までという限られた時間の中で、読み込み時間の長さは実行可能なテストシナリオの数に直結します。この問題はソフトウェアの担当者が苦労し、読み込みのプログラムを一から作り直して解決しました。結果として、5分かかっていた読み込みを30秒ほどにまで短縮し、一晩で実行可能なテストシナリオの数を大幅に増やすことができました」(海原氏)
試験結果の合否判定にはExcelのVBAを採用しています。Excelシートには各項目の許容値が設定されており、ログから取り込んだデータが許容値を外れていると不合格の判定となります。モビリティ事業統括部 三田事業所 車載電装システム技術部 車載電装システム技術第2課の松浦亮氏は次のように語ります。
「毎回すべての項目の試験を行うわけではないので、Excelシートは合否判定を行う項目の選択を簡単に行えるようになっています」
自動試験ソフトウェアは、Python、VBA、Excelなどを用いて開発されました。汎用言語やツールを使って独自開発による自動化に取り組んだのは、開発の自由度の高さと将来の拡張やメンテナンス性を重視しての判断でした。
「汎用言語で開発したことで、システムが実稼働してからも、試験担当者が“このようなプログラムがあればもっと効率が上がるのではないか”というアイデアを思いついたらすぐに改善することができます。こうした開発の手順やルールを統一して、新しいメンバーがすぐに実務に入れるようにしています」(松浦氏)
今回の自動試験システム開発は2023年の6月にスタートして約1年で完成し、現在は実際の開発に使用されています。ハードウェア、ソフトウェアの両方にまたがった開発でもあり、複数の部署から様々な知見を持ったメンバーが集まって開発が行われました。
「幅広い知見や技術を持った人材が集まっているのはMESWの強みの一つだと思います」(海原氏)
「複数の部署が協力する場合にコミュニケーションの取りやすい、風通しの良さがあると思います」(松浦氏)
自動試験システムの導入により、ECUのソフトウェア試験は大幅にスピードアップしました。それまでの実機と人手を使った試験では1週間以上かかっていた試験が、1日で済むようになりました。
「今回、ソフトウェア試験の自動化を達成したことで、MESWにおける自動車ライト制御システムのモデルベース開発は、完成の域に達したと感じています」(海原氏)
テストシナリオが上手く組めたときは
知恵の輪が解けたような感覚に
ECUのソフトウェア試験の仕事について両氏は次のように話します。
「評価業務はソフトウェアの品質を保証する最終ゲートとしての責任の大きさが、やりがいや面白さに繋がっていると思います。また、時には仕様通りであっても動作に疑問があれば確認のフィードバックを返すこともあります。そうした自主的な判断の部分も含めてこの仕事に面白さを感じます」(海原氏)
「試験の業務は単純そうに見えるかもしれませんが、試験を実施するために必要な知識や技術がたくさんあります。それに加えて試験対象のプロジェクトの内容、今回ならライト制御システムの仕様をきちんと理解する必要があります。試験対象の仕様をしっかりと把握して、自動試験のシナリオが上手く組めたときには、知恵の輪が解けたようなすっきりした感覚を得られます」(松浦氏)
自動車関連の仕事に関わりたくてMESWに入社したという松浦氏に就活生へのメッセージをいただきました。
「私は本当に車が好きで、就職活動も車に関係した仕事に絞って進めました。今でもやはり好きなことを仕事にできて良かったと思います。なかなか思い通りにはいかないかもしれませんが、できるだけ自分の好きなことに寄り添って進路を考えていただければと思います」
商標について
- ・Pythonは、米国Python Software Foundationの登録商標です。
- ・VBA (Visual Basic for Applications) ,Excelは、米国 Microsoft Corporation の米国およびその他の国における登録商標または商標です。
- ・Simulinkは、MathWorks社の登録商標です。
- ・SCALEXIOは、米国、その他の国、またはその両方におけるdSPACE GmbHの商標または登録商標です。