2023.11.08 エンジニアズコラム エミュレーター ソフトウェア

第4回 エミュレーターを用いたソフトウェア開発

はじめに

ヒューテックの検査装置の構成は、大きく2つに分けられます。検査対象物の画像を撮影して処理するハードウェア(カメラや信号処理基板)と、検査結果の保存や表示などを行うソフトウェアです。

ソフトウェアは、画像処理ハードウェアから送られてくる画像に基づいて処理するため、ハードウェアがないと何もできません。ソフトウェアを開発していく上で、対応するハードウェアは必要不可欠です。

ソフトウェア開発時の悩み

ところが、ハードウェアの開発や既存のハードウェアを使用する場合、高価な機材であるため、他の開発チームとシェアしていることも多く、いつでも自由にハードウェアを使用することは難しい状態です。その影響で、ソフトウェアの動作を検証したいことがあっても、すぐに検証できないときもありました。
このような課題は、他の業界でも見受けられます。
例えば、電車の運転訓練を受ける方々は、いきなり電車の運転室に乗って練習してないでしょう。ではどうやって練習しているかというと、電車と同じ動作をするシミュレーターで訓練することで技術をしっかり磨いてから本番を迎えます。

エミュレーター

このような電車のシミュレーターを参考に、画像処理を行うハードウェアを再現できるエミュレーターを作成し、検査装置のソフトウェア開発を行っています。
※ エミュレーター(emulator)は英語で「模倣者」という意味があります。この場合はハードウェアの動きを模倣しているソフトウェアという意味になります。
例えば、カメラの代わりに欠点の画像を転送したり、機械の状態を送信したり、カメラが無くてもソフトウェアを動作できるようになります。

エミュレーターでどのようなメリットが得られたかといいますと、実機では検証が困難なケースについても確認しやすくなりました。
例えば、ハードウェアではノイズの全くない画像の取得はほぼ不可能ですが、エミュレーターではそのような試験も可能になります。また、ハードウェアより多くの欠点データを送信することで、ソフトウェアの負荷試験ができるようになります。

エミュレーターはいつでもどこでも使用可能です。ハードウェアがない場合でも、ソフトウェアを開発することができます。そのため、エミュレーターを使用していなかった頃と比べて、信頼性の高いソフトウェアづくりや製品を早くリリースできるようになってきたと実感しています。

検査装置に限らず、エミュレーターは製品のソフトウェア開発には欠かせないアイテムです。これからもエミュレーターを活用しながら、よりよい製品を世に送り出していきたいです!

エンジニアズコラム一覧へ戻る