自動運転車、CASEを実現するための技術が高度化するにつれて、車両に搭載されるECUもさらに高度化しています。 それに伴い、ソフトウェアも複雑化しており、ソフトウェアによるエラーやバグも多く発生している状況です。そのため、高度化された技術水準に合わせて徹底した検証が必要になります。 しかし、複雑なソフトウェアが搭載されたECUを実際の駆動環境と同じ環境を構築してテストすることは多くのリソースが必要になるため、簡単にできることではありません。この課題を解決するために、仮想環境でテストを行う「HILS」への関心が高まっています。今回は、HILSとは何か、どのように活用できるのかについて詳しく解説します。
HILS(Hardware in the Loop Simulation)とは、開発された製品の機能を検証するテスト方法であり、製品の駆動環境と同じ条件を仮想環境で構築し、シミュレーションを通じて製品が正しく機能するかどうかを検証する方法です。複雑に構成されたソフトウェアやECUをテストするために、実際の車両レベルのテスト環境を構成しなくても安全性を検証できる効率的な方法です。電気装置・機械装置の代わりに仮想環境にモデル化した制御対象(プラントモデル)とテスト対象(ECU)を連結させ、製品が実際の環境と同じ条件で機能するかどうかをシミュレーションで検証できます。
一つの機能を提供するためには多くのECUが連携して作動する必要があります。例えば、車両の自動温度調節機能を提供するためには、温度・エアコン・窓・ヒーターなどを担当するECUが連携する必要があります。これより複雑な機能を提供するためには、たくさんのECUの連携が必要になります。したがって、車両に何らかの機能を追加する際には、その機能に直接または間接的に関連するECUのソフトウェアテストと検証が必要です。ソフトウェアの欠陥は製品開発段階で検証することが難しく、それで発生する問題も予測できない場合も多いため、徹底的なテストがさらに重要なことになります。また、新たな機能を車両でテストすることはとても危険なことですので、試験用車両や模型車両を製作してテストすることが一般的でした。しかし、組込みソフトウェアの増加や搭載されるECUの数が急激に増加したため、テスト環境の構築に使われるリソースが増えてしまいました。
これらの課題(ソフトウェア検証の難しさ、リソースの最適化、ECU開発の効率化)を解決するためにHILSテストが活用されるようになりました。
HILSの重要な目的は開発コストを抑え、開発期間を短縮することです。テスト車両を製作しなくても、仮想環境に作成しておいた制御対象を用いてECUのソフトウェアテストができるため、資金と時間を要するテスト車両の製作数を減らし、テストベンチで過ごす時間を大幅に削減できます。これは自動車のテストである断線、センサーの故障、車両衝突などの危険な試験を行う場合にもメリットとなります。また、制御アルゴリズムの開発において、制御対象となる実際の部品が存在しないなどの場合にも効果的です。 時間やスペースの制約がなく、必要なときにいつでもテストを行うことができるのもメリットです。
HILSは、実際のECUを組み合わせてプロトタイプを製作する代わりに、シミュレーションを通じてテストを行います。このため、HILSテスト環境は1)Test Input Generator、2)ターゲットECU、3)HILSで構成されます。Test Input Generatorはテストのための入力値を生成して入力する役割を担い、これにFuzzerなどの入力器が含まれます。ターゲットECUは機能をテストしたい対象ECUを意味します。HILSは実際の車両の環境を数学的にモデル化したもので、実機のアクチュエータを接続してテストすることもできます。
上の図は、AutocryptのHILSテスト環境です。HILSに対象ECUを接続した状態で、Fuzzerを利用してテスト入力値を注入すると、HILSを通じて出力値を受け取ることでターゲットECUのテスト過程を確認できます。このように対象ECUの機能に関連するすべてのECUを実際に構成しなくてもHILS環境でシミュレーションできます。
今日の自動車業界ではHILS検証の重要性に注目し、安定したHILS環境の構築に力を入れています。自動車機能安全規格ISO 26262では、自動車の生産から廃棄まで遵守すべき項目を整理して、ソフトウェア検証について定義しています。そこにはHILSが言及されており、各種要件検証段階での使用も積極的に推奨している状況です。このように自動車メーカーが新車開発過程にHILSを適用するのは、車両の制御機能がますます複雑化しているからです。
自動車開発プロセスでHILS適用可能なプロセス(評価フェーズ)
車両ソフトウェアが複雑化するにつれて、ソフトウェアの不具合も増え、リコールや無償修理による損害が増加するためでもあります。韓国の国土交通部(日本の国土交通省にあたる)の自動車リコールセンターによると、2023年1月から5月までに発生したリコールおよび無償修理は合計367件で、そのうち172件がソフトウェア欠陥です。ソフトウェア不良が43.3%で、5年前の2018年1~5月には12.3%だったのと比べると、その深刻さが顕著に現れます。また、矢野経済研究所が調査したレポート(※1)によると、2020年の世界のリコールでソフトウェアのリコールが占める割合が40%程度でしたが、CASEやSDVの技術発展が進むにつれ、2025年にはソフトウェアのリコールが最大70%まで拡大すると予測されています。したがって、ソフトウェア欠陥による事故が発生する前に、様々なソフトウェアテストを行うことは必要不可欠だといえます。
※1: 「2020年版 車載用ソフトウェア市場分析 VOL.1 分析編 ~CASEで変わるクルマの開発・製造とソフトウェア市場2030年予測~」
開発だけでなく、すでに発生したソフトウェア欠陥の検知や修正にも活用できます。実物テストはプロトタイプ製作のため、迅速な対応が難しいので、HILSを活用すればシミュレーションを通じて機能欠陥を迅速に分析・対応・改善できるため、これからの自動車業界で広く使われると予測されます。
当社もHIL環境で適用できるFuzzerを提供し、安全な自動車開発をサポートしています。仮想環境でリアルタイムに作動するECUおよび車両アーキテクチャ全体に対してファジングを実行し、各種バグや脆弱性を検知・報告する機能をアドオン方式で提供しています。HILシミュレーション環境向けファズテストソリューションの開発は世界初であり、国際標準のWP29 UN-R155と国際標準のISO 21434、26262に準拠しています。 より詳しい情報は下記ののリンクをご確認ください。