ハードウェア・イン・ザ・ループ(HIL)とは
ハードウェア・イン・ザ・ループとは、実機の制御装置(以下、コントローラ)とコンピュータの中のプラント(インバータの回路やモータなどを模擬したリアルタイムシミュレーション)が一体となって一緒の時間を共有して動くテスト手法を指します。
この様なテスト手法の種類としては、最も原始的しかし決して欠かすことの出来ない実機コントローラと実機プラントを用いたテスト(実機テスト)、バーチャルコントローラと実機モータを用いたテストであるラピッド・コントロール・プロトタイピング(以下、RCP)、そして実機コントローラとバーチャルプラントを用いたテストがハードウェア・イン・ザ・ループ(以下、HIL)があります。
RCPやHILといった言葉は使われる現場によって用法に違いがあり、大学などの研究の分野では純粋にテストを目的としたテスト手法として使われますが、自動車などの開発現場では モデルベース開発(以下、MBD)のプロセスのひとつとしてよく使われます。
以下は、MBDを軸にHILを説明してゆきます。
組込みシステムとMBD(モデルベース開発)
組み込みシステム開発
プログラムで開発
可読性が低い
他のプロセスとの連携が困難
モデルベース開発
モデルで開発
可読性が高い
他のプロセスとの連携がし易い
多くの現場においてコントローラのプロセッサは組み込みシステムで開発されます。
組み込みシステムの開発で用いられる手段(言語)で代表的なものにC言語などがありますが、これらはリソースの制約が厳しくなりがちなプロセッサへの微妙な最適化が手作業で細やかに出来る反面、非エンジニアから見た可読性が著しく下がります。
コードが仕様書通りに動いているかどうかの評価は、実際にコードを実行してみて、その結果が日本語で書かれた仕様書に対してずれが許容範囲もしくは予想された範囲かどうかで判断されます。
これに対してMBDは、(原則的には)人間が直接コードを書く事が無く、MATLAB Simulinkなどに代表される”モデル”(ブロック線図で書かれた式やロジック)で書かれた実際に実行して試せる仕様書(いわゆる動く仕様書)で開発をします。
モデルは最後にコード生成され実行ファイルに変換されプロセッサに書き込まれますが、その動作確認は(もちろんコードでも行いますが)プロセッサに書き込む前にモデルベースで机上で動かして仕様書と突き合わせて確認する事ができます。
これはモデルがC言語などと比べてですが比較的可読性が高いプラットフォームであるためです。
このようなモデルを使った開発手法はモデルベース開発(以下、MBD)と呼ばれます。
現実にはMBDを使う事によって開発工程が減るという事はあまりなく、実際には開発工程が1つ増える事になるのですが、それでもMBDが導入されている背景としては、これによってコードの不具合を実機試験の前に発見できる事で手戻りによる試験コストの削減であったり、可読性の高いモデルでのデバッグが出来る様になる事からコードの品質向上にもつながる事が挙げられます。
MBDを導入する事によって全体のプロセス(開発工程)を長期的に捉えてみた場合の効率化が期待できます。
MBD(モデルベース開発)とRCP(ラピッド・コントロール・プロトタイピング)
MBDに初めて触れる人が混乱する代表的な用語にラピッド・コントロール・プロトタイピング(RCP)や後述のハードウェア・イン・ザ・ループ(以下、HIL)などが挙げられます。
MBDと言う言葉は、たとえば「モデルを使えばMBD」といった様に曖昧な概念として使われることが多く、開発工程として使われる事は実際にはあまりありません。
RCPとは数あるMBDを用いた開発もしくは研究プロセスのひとつです。
MBDとは、モデルを使った「動く仕様書」の作成が目的です。
ですが、この「動く仕様書」は、あくまでPC上で仮想化された机上のシミュレーションであって実機に持って行って本当にその通りに動くかどうかは、これだけでは判断することは出来ません。
例えば実機ではコントローラとプラント(モータやインバータなど)は物理的に別れていることがほとんどで、コントローラがプラントのフィードバックをもらって制御をするループであるフィードバック制御が行われる際に特に注意の必要な点として良く上げられるのが、このコントローラとプラントの相互通信にかかる時間(タイミングの遅延)です。
しかし机上のシミュレーションである”モデル”で最初からこれ(実機を使う事によるノウハウ)を考慮して設計するのは非常に難しいです。
ここで必要になるのがRCPプロセスです。
RCPではモデルの”制御”パート(以下、制御モデル)を実機プラントに繋げる事で、実際に通信による実世界の遅延を取り入れつつ制御モデルの動作検証を行います。
これによって、開発した制御モデルが実機プラントに対して整合性が取れているかどうかの検証を行う事ができます。
(ユースケースによっては、検証済みの”制御”モデルに実機プラントを繋げてプラント側の評価を行う場合もあります)
コントローラモデルの検証が出来たら、一般的には次にそのモデルはコード生成して実機コントローラに組み込まれることとなります。
こうしたRCP装置を代表する製品が、弊社の取り扱うOPAL-RT社およびimperix社のリアルタイムシステムです。
RCPとHIL(ハードウェア・イン・ザ・ループ)
作成された実機コントローラも動作テストが必要です。
もちろん実機コントローラ+実機プラントのテストは欠かせませんが、実機同士のテストは工数を多く必要としたり、故障テストでは実機の破損や人的リスク(怪我など)が付いて回るため、それなりの準備やコストが必要となります。
そこでプラント側をモデルに置き換えることで様々なパターンのテストを簡単に、かつ安全に行えるようにしたものがハードウェア・イン・ザ・ループ(以下、HIL)です。
実機コントローラ+実機プラントのテストのみのケースと比較して、HILの工程が増えるので短期的には仕事量が増えるように見えますが、実際にはトライ&エラーの効率が上がる為、トータルでの仕事量は減る傾向にあります。
(※現場の方針およびHILの導入目的や用途などにも寄ります)
HILでは実機コントローラをモデルの”プラント”パート(以下、プラントモデル)に繋げる事で、実際に通信による実世界の遅延を取り入れつつ実機コントローラの動作検証を行います。
これによって、開発した実機コントローラがプラントモデルに対して整合性が取れているかどうかの検証を行う事ができます。
※ ユースケースによっては、検証済みの”プラント”モデルに実機コントローラを繋げてコントローラ側の評価を行う場合もあります。
こうしたHIL装置を代表する製品が、弊社の取り扱うOPAL-RT社のリアルタイムシステムです。
開発プロセスとHIL
上図はV字プロセスと呼ばれる、開発の現場でよく使われている開発プロセスの図で、代表的なプログラムの開発手法である「ウォーターフォール開発」の工程(以下、プロセス)を真ん中で折り曲げてV字の形にする事で、後の工程からの”手戻り”(以下、繰り返し)を正規の開発工程の中のひとつと認め、プロセスに取り入れる手法です。
前段まででMBD、RCP、HILと話をしてきました。
MBDを始めた人が最初に戸惑うポイントは「MBDとRCPとHILはどれが一番優れているのか?」であり、「MBDとRCPとHILのどれを導入したら良いのか?」である事が多くあります。
MBDとはモデルを使った開発手法という漠然としたものを指し(V字の全部がMBDとも言えます)、RCPやHILは一連の開発プロセスの中のひとつという事が上の図より判ります。
なので一般的には、MBDとRCPとHILのどれか一つを採用するという訳ではなく、一連の開発プロセスとして全てが行われる事になります。(現場ごとの導入目的にも依ります)
V字プロセスとは後工程であるV字右側から前工程であるV字左側への” 繰り返し”を正当な”検証と妥当性確認”(Verification and Validation: 以下、V&V)プロセスとして認めて取り込むためのものです。
RCPおよびHILとは開発プロセスの1パートであり、このRCPの代表的なシステムがimperix社の、HILの代表的なシステムがOPAL-RT社のリアルタイムシステムです。
より速いテスト、より優れた結果
Hardware In the Loop(HIL)シミュレーションは、複雑な制御、保護、監視システムを開発およびテストするための手法です。
すべての業界の製品開発において、HILの利用によって「製品化までの時間の短縮」や「より複雑なシステムの開発が可能」などの多くの恩恵を得ています。
従来、制御システムのテストは実機で、たとえば現場のプラント、システム全体、または実験室の電力テストベンチで、直接行われてきました。
従来型の手法はテストの忠実性に秀でている一方で、非常に費用がかかり、非効率的で、安全性の考慮が必要です。
HILテストは、従来のテスト方法への代替手段となります。
HILにおいて物理プラントは正確・同等なコンピューターモデルに置き換えられます。
HILシミュレーションを実行すると、物理プラントモデルはシミュレーターでリアルタイムに実行され、I/Oを通じて他の機器と通信をします。
このようにして、HILシミュレーターはセンサー、アクチュエーターと共にプラントとそのダイナミクスを正確に再現し、実機システムでテストする必要なく包括的なクローズド・ループテストを可能とします。
HILシミュレーションは、複雑な組み込みシステムのテストでのリスクやコストおよび全体の時間を削減することにより、従来型テスト方法の頃にあった多くの課題を解消します。
論文「リアルタイムシミュレーションの目的と理由」
資料のダウンロードにはNEATアカウントが必要です。
アカウント
こちらのリンクからご取得ください。
最も効率的な開発とテスト
時間の節約
現在のの自動車、航空宇宙、防衛プログラムにおける厳しい開発スケジュールでは、組み込みシステムのテストに利用できる試作品を待つ余裕はありません。
しかし、HILシミュレーションを使用することで、新しい自動車エンジンの試作品が制御システムのテストに利用できるようになるまでにテストの95%を完了させることができます。
予算の節約
一般的にプラントとは高価なものであり、従来型の開発手法では予算面の負担が高くなりがちです。
しかし、いくつか例外はありますが、多くのケースにおいて、HILシミュレーターに接続しての開発・テストは、物理的なプラントを用いた場合よりも、はるかに経済的です。
リスクの低減と安全性の向上
実機プラントは程度の代償はあれど安全面の課題が常に付いて回ります。
しかし、HILシミュレーションであれば、エンジニアやそこで働く人々、そして物理的なプラントを危険にさらすことなくテストを実行できます。
HILを使用すると、危険なパターンでのテストシナリオでも安心して実行できるため、プラント運用の安全性を強化できます。
関連機能
適応分野
お問い合わせ先
株式会社 NEAT
愛知県名古屋市千種区池下1-11-21
TEL:052-764-3311FAX:052-764-3632
Opal-RT Technologies,Inc.
1751 Richardson, Suite 1060 Montreal, Quebec, Canada, H3K 1G6
TEL:+1-514-935-2323 FAX:+1-514-935-4994
* 記載の会社名および製品名は、各社の登録商標および商標です。