モデルベース開発の肝
モデルベース開発の肝として一番重要なことはなんでしょうか?
それは間違いなくモデリングです。
細かい話ですが、粘土でつくる「クレイモデル」、
Simulinkでつくる「制御モデル」「プラントモデル」、
模型屋さんで売ってる「プラモデル」など
完成したものを「モデル」と言い、
それを作り上げることを「モデリング」と言います。
場合によっては「モデリング」する人のことを「モデラー」と言います。
MBDではなぜモデリングが最重要?
それは
Model Base Development=「モデルに基づく(制御)開発」
だからです。
つまらない答えですが、ここが重要なポイントでして自動車メーカー、
制御機器メーカーでも製品として「制御」あるいは「ECU」を
売りたいわけです。
ですから設計者の視線からすれば「モデル」があらかじめ準備されており
どういった課題を制御開発でクリアするかが重要です。
その人たちの仕事は「制御設計」です。
「モデリング」ではありません。
モデルベース開発が浸透して10年ほどになりますが、
おそらく当時はSimulinkなどが使われ始めたところで、
「モデルベース開発に適したモデルをどのように開発するか?」
が最も重要な課題でした。
これを始めた人は並大抵ではなかったと思います。
「製品のための制御」ではなく「モデルベース開発のためのモデル」
これが仕事になってしまい製品の提供まで時間がかかりすぎでした。
モデルベース開発のジレンマ
実際、モデルベース開発が業界で騒がれ始めてから着手したはいいが、
※1「肝心のモデルがありません」
しかし
「モデルベース開発を推進しろ!」
けど
「なんで、制御開発しないでモデルなんか作ってるんだ!」
↓↓↓↓↓↓↓↓↓↓
「じゃ、今まで通りやります。」
すると
「シミュレーションとか使ってできないのか!」
以下※1から繰り返し・・・
これは私自身の経験ですが、他のメーカーさんの
モデルベース開発導入時にはよく聞かれた話題です。
定式化する人がいない
モデルベース開発はモデルがないとできませんが、
特にモーションコントロールで厄介なのは経験的に
どうやればうまくいくかはなんとなくわかっています。
そこにモデル開発という仕事が増えると制御系は
だいたい電気か機械系の人がやる分野です。
ですが、モデリングは物理現象を定式化する。
これが基本です。
制御仕様やプログラムを描く人、
機械図面を描く人、
これらを得意とする人がいても定式化してSimulinkや
C言語に落とし込める人というのはぐっと少なくなります。
ですからモデルベース開発するにはそれが基本だから
人材育成するか、市販のモデリングツール使うかという
選択肢で即効性のあるものとしてはモデリングツールの利用でした。
モデリングツール
Simulinkはブロックつなげるだけで簡単そうですが、
実際は定式ががそれ以前になされていなければいけません。
定式化してSimulinkモデルを作るのに、定式化でつまづきます。
ですから昔はEASY5やdymolaと言ったモデリングツールがよく利用されていました。
EASY5やdymolaもSimulinkと同様にブロックを結線するだけです。
決定的な違いは、定式化するかしないかです。
Simulinkの場合は自分で定式化して微分方程式の形でモデリングします。
一方EASY5やdymolaの場合はブロックに微分方程式の形で、
しかもインプット/アウトプットが整理されているので
誰でもブロックをつなげるだけで微分方程式を意識しないのが魅力です。
ですから、モデルベース開発が騒がれたときはEASY5やdymolaも
かなり騒がれました。
今ではSimulinkのオプションツールにSimMechanicsなどの
オプションツールがあるのでEASY5やdymolaの出番は少ないかも知れません。
また、10年もすると各企業ではオリジナルのライブラリもできているかと思います。
まとめ
自分の経験も踏まえ、モデルベース開発の肝はモデル開発であること。
またモデルベース開発が騒がれて10年ほどになりますが、
当時モデル開発の技術者が少なかったことからモデリングツールというのが
重要な役割を果たしていました。
今ではモデルベース開発は当たり前になってきましたが、
それはモデルライブラリが当たり前にそろってきたから制御開発に
全力投球できるのかなと思います。
モデルベース開発の方向性としてはVプロセスの下流工程のどこまで
浸透させるかというのと、オートコードの割合をどれほど増やせるのかが
重要なのかなと思います。
この記事へのコメントはありません。