屋内の空調環境が最適であることは私たち一人一人の平穏な暮らしに大きく寄与するものです。その不可欠な快適性をもたらすのがヒーター、換気、エアコンであり、こここそが、グローバル企業たるCopeland社が参画する場所になります。同社はそのヒーターやクーラーを最適化する持続可能なソリューションをもって、屋内空調のクオリティやエネルギー効率の向上に貢献しています。そのCopeland社がECUの妥当性確認において用いているのが、dSPACEツールに基づく仮想テスト環境です。
制御ユニットの開発に関しては、早期段階で仮想的に検証を行う手法が、自動車業界を超えたところにも恩恵をもたらすものとして、トレンドになっています。妥当性確認にSIL(Software-in-the-Loop)シミュレーションを用いることには大きな利点があり、それは、ソフトウェア開発とテスト実行を開発者自身のPC上で直接進められるということです。これにより、各種のハードウェアやHIL(Hardware-in-the-Loop)シミュレータを利用することができるようになるはるか以前の段階でソフトウェアの検証を開始することができるのです。
HVACにもSILを活用
あらゆる生活空間、職場、または産業界において、室内の暖房、換気、冷房という気候に優しいソリューションに対しては、かつてないほど高い需要のただ中にあります。Copeland社は革新的かつ持続可能なHVACソリューションという強みを持つ企業として、多くのメーカー、設置業者、およびビル所有者の重要なパートナーとされています。同社が電子制御ユニット(ECU)の機能のテストや検証にて依拠しているのがSILであり、そのための開発およびテスト環境は各種のdSPACEツールとCopeland社製の環境モデルで構築されたものです。また同社は、既存のCコードから最適なバーチャルECU(V-ECU)を可及的速やかに取得するため、特別なdSPACEツールセットであるV-ECU SDK(SDK:ソフトウェア開発キット)も活用しています。
基本的なテストセットアップ
Copeland社では、HVAC制御ユニットの妥当性を確認する際にdSPACEのPCベースのシミュレーション用プラットフォームであるVEOSをベースとした仮想テスト環境を使用しています。これは、クローズドループテスト向けの一般的なコンポーネントで構成された基本的なテストセットアップです。
- バーチャルECU(V-ECU): センサやアクチュエータに対応する入出力によってテストされるコードを含んでいます。
- 環境モデル: アクチュエータの動作を加味しつつ、接続されたセンサの値をシミュレートします。熱モデルは、標準化されたFunctional Mock-up Unit(FMU)形式で同社により提供されます。
- ControlDesk: dSPACEの試験および計測用ソフトウェアです。このツールは、ユーザが選択した変数の値をビジュアル表示するので、同社はコントローラと環境モデルの双方において、インタラクティブに実験やテストを行うことができます。
- AutomationDesk: dSPACEの強力なテストオーサリングおよびテストオートメーションツールであり、同社はこれにより、後工程で自動実行されるテストケースのライブラリを構築します。
V-ECUをバーチャルツインとして活用
ECUの妥当性確認に適した仮想テスト環境を構築するうえで、テスト対象システム(SUT)の作成は重要なステップです。ここで肝要なことは、テストするECUコードを一切変更せずにシミュレーションに組み込むことです。これを行うには、コードはシミュレーション環境から呼び出されねばなりませんし、センサの値や制御変数もモデルとのやり取りが必要になります。そして同社が結果として行きついたのが、オリジナルのコードを含むV-ECU形式での制御ユニットのバーチャルツインでした。
CコードからV-ECUへ
Copeland社は、制御アルゴリズムをC言語で開発し、ステップ関数に統合しています。この関数は次の3つの主要タスクを実行します。
- シミュレーションから得られた入力データを読み取ってコードの内部変数に変換:V-ECUでは、これは自由に設定可能な仮想ポートを介して行われます。
- 制御アルゴリズムを実行:設定されたばかりの入力値を使用して、アルゴリズムが出力変数の値を計算します。テストオブジェクトに相当するのはこの量産コードであり、これは後に、ターゲットハードウェア上で変更せずにそのまま使用されます。
- 計算値をV-ECUの出力ポートに書き込みます。
ステップ関数は、シミュレーション環境と量産コードを連結するためのいわゆるグルーコードであり、Copeland社の特定のアプリケーションでは100 ms毎に繰り返し実行されます。このプロジェクトのV-ECUでは1つのステップ関数だけで十分ですが、複数のステップ関数を使用して、より複雑な時間的挙動をシミュレートすることも可能です。
総じて、V-ECUを仮想化する際の主なタスクは次の通りとなります。
- 通信用仮想ポートの定義
- 呼び出しサイクルを含むステップ関数の定義
- V-ECUコンテナファイルの設定および作成
Copeland社は、dSPACE製のV-ECU SDKを利用することにより、これらのタスクをすべて自社で完遂できました。
V-ECU SDKなら、V-ECUを容易に作成
V-ECU SDKは、CコードからV-ECUを仮想化して生成できるdSPACEツールセットです。このツールセットの利用は2022年から同社にて十全に成功しており、既存のCコードからECUの妥当性確認向けの適切なV-ECUをすばやく簡単に生成できる環境を手に入れました。同社のシニアソフトウェアエンジニアであるHan Hu氏は、自身のチームだけでなく同社の妥当性確認プロセス全体にも恩恵をもたらしたこのツールセットのシンプルな使いやすさに非常に満足しており、「dSPACEのV-ECU SDKがあることで、ハードウェアがなくても私たちは、いつでもどんな場所でも、より柔軟に当社のソフトウェアをテストすることができます」と述べています。
作業を分散し、SILを容易に導入
V-ECU SDK自体をテキストベースで設定し、VEOSをスクリプトベースで自動化すると、テストセットアップをオープンソースソフトウェアであるGitなどのバージョン管理システムへ容易に統合することができます。
Copeland社では、最初に大まかな構造を専門担当者がたった1名で作成し、望ましい完成度に到達させたうえでGit経由で配布しました。このことが開発チーム全体で開発およびテスト環境としてVEOSとSILとの併用を初めて行う際のハードルを最小限に抑えることにつながり、同社が現在確立している作業の分散化への道を切り開きました。
まとめと展望
Copeland社は今回のプロジェクトの過程で、SILの開発およびテスト環境をVEOSベースで構築し、無事に導入することができました。同社がSILに特化した経験や追加のエンジニアリングなしでこの目標を達成することができたのは、dSPACE V-ECU SDKのおかげです。またSILにより、同社はわずかな工程で、妥当性確認の真の付加価値を手に入れることができました。この事例は、SILがいかに自動車業界の枠組みを越えられる汎用性を有しているか、そしてVEOSやV-ECU SDKを用いたSILによる妥当性確認がいかに容易に開始できるかを物語っています。
Copeland社では、AutomationDeskを用いてSILシミュレーションベースでテストを自動化する手法を開発中です。これらのテストはSIL開発時の回帰テストとしても利用される予定であり、今後来るべきHILでの妥当性確認の準備ともなり得るものです。
Copeland Europe GmbHのご厚意により寄稿
dSPACE MAGAZINE、2024年4月発行