Change
Location

現在は日本サイトをご利用中です

再利用可能なモーター制御ソフトウェア開発資産の構築
モーター制御ソフトウェア開発の効率化と多機種対応の実現

株式会社IHI   

PDFダウンロード

IHIグループは,電動機種向けの制御ソフトウェア開発を効率化すべくソフトウェアプロダクトライン開発を行っている.また,ソフトウェアの設計・実現・試験の工程では,モデルベース開発を適用することで開発効率の向上に取り組んでいる.

モデルベース開発を前提としたソフトウェアプロダクトライン開発の概要図

はじめに

IHIグループでは,カーボンニュートラルの実現や地球環境の持続可能性の確保といった社会課題を解決するべく,航空機システムや車両過給機などの製品で電動化に取り組んでいる.電動化関連で多くの開発案件が存在するうえ,製品価値の向上のためモーターには高出力密度・高回転が要求されており,案件ごとに性能の最適化を追求する必要がある.このため,モーター制御においては,それぞれの機種に対して性能を最大限引き出すことができるソフトウェアを効率的に開発することが喫緊の課題である.この課題を解決するため,ソフトウェア機能の共通部分および可変部分を適切に管理することで,多機種対応を容易化するソフトウェアプロダクトライン開発を試行した.また,設計・実現・試験の工程では,MATLAB®・Simulink®によるモデルベース開発を採用し,シミュレーションやコード生成を活用しており,それらの事例を紹介する.

モーター制御の構成

ソフトウェアプロダクトライン開発

ソフトウェアプロダクトライン開発は,複数ある同種・同類のソフトウェア開発を効率化するための手法であり,ドメイン開発とアプリケーション開発と呼ばれる2 段階の開発ステップで構成される.ドメイン開発では,制御手法やセンサーの有無といった機種ごとの違いに対応可能な,再利用性の高いソフトウェア開発資産(ドメイン成果物と呼ぶ)を構築する.アプリケーション開発ではそれらを再利用して個別機種の開発を行う.

同種・同類のソフトウェア開発で適用される派生開発の一般的な課題として,流用の繰り返しによりソフトウェア機能の全体像や改変履歴の把握が困難になる点が挙げられる.これが原因となり,開発済みの機能を再度作成する無駄な工数やソフトウェアの構成,および保守管理の複雑化が発生し,ソフトウェアの再利用性向上の妨げとなっていた.一方で,ソフトウェアプロダクトライン開発では,先に述べたように2 段階の開発ステップを踏むことで,既存の資産の再利用性を向上させることができる.また資産のメンテナンスをドメイン成果物で一元的に実施するため,管理の容易化が可能である.

ソフトウェアプロダクトライン開発のメリットを享受するためには,ドメイン開発において再利用性の高いドメイン成果物を構築することが重要である.その構築においては,まず対象とする製品群で求められる機能を全て列挙する.各機能は,それ以上分割不可能な最小単位となるものと,それらが組み合わさった大規模な機能などの異なる粒度が存在する.次に,その製品群において共通して使用される機能(以下,共通性)か,あるいは,要求・条件により幾つかの選択肢から選択される機能(以下,可変性)かを分類する.さらに可変性については,それらの制約関係,例えば「機能Aは条件Bでは使用できない」や「機能Cと機能Dは共存できない」といった関係を整理する.こうして可変性および制約条件を,ドメイン開発における各工程の成果物に組み込むことで再利用可能なドメイン成果物を構築する.

本事例では,以上の手続きにより整理した共通性・可変性・制約関係,およびそれらを織り込んだドメイン成果物に対して専門家によるレビューを実施し,妥当性を確認した.

共通性・可変性の例
派生開発とソフトウェアプロダクトライン開発

設計・実現におけるモデルベース開発の適用

設計・実現の工程では,MATLAB・Simulinkによるモデルベース開発を適用している.ここでは,ドメイン設計およびドメイン実現の成果物をドメインモデル,アプリケーション設計およびアプリケーション実現の成果物をアプリケーションモデルと呼ぶ.

再利用性の高いドメインモデルを構築するため,可変性を織り込んだモデルアーキテクチャと可変性の切り替え機構を取り入れた.これらはStateflow®・Simulinkの機能である「バリアント遷移」,「バリアントサブシステム」,「バリアント制御」を用いて実現した.これにより,開発者は要求仕様に従い可変性の機能を選択しドメインモデルからアプリケーションモデルを構築することができる.また,開発者による機能の選択が適切か事前に整理した可変性の情報を用いて自動的に分析して,もし違反があれば通知する機構を構築した.これは機能の組み合わせ検討に掛かる工数の低減に寄与する.

ドメイン試験におけるシミュレーション活用

ドメインモデルの妥当性を評価するためMILS ( Model In the Loop Simulation ) による試験を実施した.MILSによる試験とは,コンピューター上で数式などを用いてモーター制御ソフトウェアおよびモーターやインバーターといった制御対象を再現し,モーター制御ソフトウェアが所望の動作をするかを確かめることである.ドメインモデルは多くの可変性を含んでおり,全ての組み合わせを試験するのは現実的ではないが,一方でアプリケーション開発において試験工数を減らすためには,可能な限り網羅的に試験検証されていることが好ましい.

そこで双方のバランスを考慮し,二つの試験戦略に基づきドメイン試験計画を策定した.一つは内部に可変性を含まない機能に対して,単体でのホワイトボックステスト(内部の全ての処理が適切に動作するかを検証する)を実施するものである.もう一つは可変性を含む機能に対して,可変性の選択条件を含むいくつかのサンプルアプリケーションを用意して試験を実施するものである.可変性を含む機能はホワイトボックステストを実施した複数の機能の組み合わせで構成される.したがって,サンプルアプリケーションに対してはブラックボックステスト(内部構造を考慮せず入力と結果の整合性を検証する)を行うこととした.これら二つの試験戦略により工数を抑えつつ十分網羅的にドメインモデルを試験することができた.

ドメインモデル,アプリケーションモデルの設計・実現

ソフトウェア開発手法の評価

ソフトウェア開発手法を評価するため,小型評価用モーターを対象としたアプリケーション開発を実施した.ドメインモデルからアプリケーションモデルを構築し,MILSおよびSILS ( Software In the Loop Simulation ) による機能検証を実施した後,プログラムコードの自動生成により制御ソフトウェアを作成した.ただし,モデルを用いて開発することが困難なセンサー値取得やドライバー操作など,ハードウェアとのインタフェースを担うコードについては別途ハンドコードにより作成した.アプリケーションモデルを構築するために必要な可変性の機能選択の作業時間は8 時間程度であった.

上記自動生成コード,ハンドコードによるソフトウェアおよび実際の小型評価用モーターを用いた試験(以下,装置試験)においては,MILSおよびSILSでの検証とほぼ同等の結果を得ることができた.停止状態から速度指令値を上昇させた場合の装置試験と,MILSにおけるモーターの速度推定値を装置試験とMILSの比較図に示す.両者の波形は一致している.MILSにおけるモーターの速度推定値が装置試験の波形よりも振動しているが,これはログのサンプリング周期が装置試験では10 msであるのに対しMILSでは17 μsと非常に細かく,より高周波数の振動を取得していることが原因である.以上のことから,装置試験に先んじて実施したアプリケーションモデルによるMILSおよびSILSは,機能を検証する目的に対して十分に現実の挙動を再現していると考えられる.

装置試験とMILS の比較

まとめ

モーター制御ソフトウェアの開発効率向上という課題に対して,ソフトウェアプロダクトライン開発とモデルベース開発の取り組みを紹介した.取り組みをつうじてモデルベース開発を前提としたソフトウェアプロダクトライン開発を行い,複数ある同種・同類のソフトウェア開発を効率化し,多機種対応を容易化することができた.

今後は,同一のアプリケーションに対するソフトウェア開発をつうじて,従来行ってきた派生開発との比較を行い,開発効率の改善の程度や課題について分析する.また,実際の製品開発への適用を念頭に,ソフトウェアプロダクトライン開発やモデルベース開発の考え方を組み込んだ一連の開発プロセスの確立を目指す.その一環として,要求トレーサビリティの確保やモデリングガイドラインの策定および準拠,モデルの品質保証規定の整備を進めていく方針である.さらに,将来的には電動化関連だけでなく,ほかの組み込みソフトウェア開発にも適用を広げていき,IHIグループ全体のソフトウェア開発の高度化を見据えている.この取り組みをつうじて自然と技術が調和する社会づくりに貢献していきたい.