2020-06

事例

【上流検証】最小構成のモデルベース開発事例 その15【ACG】

SimulinkCoderを使ってSimulinkモデルをACGできる。 SimulinkCoderを使用するためにはMATLAB Coderのライセンスも必要。 ACGされたコードは可読性が良くない場合がある。 プロタイプの段階では、一旦可読性は無視するという選択もあり。 リコードする場合は別の手段で品質担保することを考える必要がある。
事例

【上流検証】最小構成のモデルベース開発事例 その14【MILS後編】

引き続きにシミュレーションの話。 前回はExcelをつかったメンドクサイ側の手法だったが、 今回はちゃんとSimulinkを使う。 制御器と制御対象をつないでMILSにすることができる。 SignalBuilderを使ってテストパターンを作れる。 わざと問題のあるモデルと比較すると、今回の対策の効能が見えるのでやってみると良い。
事例

【上流検証】最小構成のモデルベース開発事例 その13【MILS前編】

今回から実際にシミュレーション。 しかし、わざとメンドクサイ手法を取ってみる。 離散化済みであれば、ExcelでもPID制御のシミュレーションは可能。 ただし、かなり面倒くさい。 MATLAB/Simulinkが無い時代は恐らくこういった面倒なことをやっていたのだろう。
事例

【仕様書】最小構成のモデルベース開発事例 その12【フィルタ】

前回で、おおよその仕様決めは終わったと思われた。 しかし、太郎くんのド忘れ発覚によりフィルタ仕様も考える必要が出てきた。 ノイズは様々な種類があり、設置場所や扱う信号によって異なる。 複数のノイズ対策をソフトウェアで実施するとリアルタイム性が犠牲になることがある。 よって、適切なフィルタアルゴリズムが無いか調べる必要が出てくる。
事例

【仕様書】最小構成のモデルベース開発事例 その11【制御対象離散化】

前回、一次遅れ系と出力(仕事率)から車速への変換で簡易的な車両モデルを作った。 最終的に簡易HILSに適用するために、車両モデルも離散化する。 積分要素には基本的にはサチュレーションを入れた方が安全。 物理量を算出する際は基本的にはSI単位系だが、制御として必要な単位はその限りではない。 よって、単位変換が必要な場合がある。
事例

【仕様書】最小構成のモデルベース開発事例 その10【制御対象】

前回、PID制御を離散化した。 Simulinkへ転記しても動作するレベルまで来たが、 制御対象が無いため、動作確認ができない。 制御対象の仕様を決めていく。 制御対象はおおよそ一次遅れ系で表現できることが多い。 アクセル開度と一次遅れ系の関係性を持っているのは出力。 出力(仕事率)から車速が算出できる。
事例

【仕様書】最小構成のモデルベース開発事例 その9【PID離散化】

前回まで3回に分けてはテイラー展開を応用した微分、積分の説明をした。 今回をそれをPID制御に適用して離散化する。 速度型PIDの復習。 PIDの積分を総和法で、微分を差分法に置き換えた。 Δtは制御周期。 今回の場合は10[ms]。 ・ワインドアップ対策は積分要素に切り替えスイッチとサチュレーションを含めることで対応。
事例

【仕様書】最小構成のモデルベース開発事例 その8【離散化後編】

テイラー展開第3項までを使用した積分近似手法は台形法と呼ばれる。 テイラー展開第3項までを使用した微分近似手法は中心差分法と呼ばれる。 f(t_0+Δt)で解いたパターンだと前進差分法。 f(t_0-Δt)で解いたパターンだと後進差分法。 数式を解く場合は、「絵を描けるか」という観点で解くと迷わなくて良い場合がある。 納得もできるし、説明もし易い。
事例

【仕様書】最小構成のモデルベース開発事例 その7【離散化中編】

今回は離散化の基礎を押さえに行く。 総和法、差分法はテイラー展開の第2項までを使用した式がベースになっている。 よって、第3項以降が誤差となる 使用する項数を増やせば制度は上がる方向になる。 仕様上は3項までを想定、運用では2項までということが良くある。
事例

【仕様書】最小構成のモデルベース開発事例 その6【離散化前編】

今回は離散化について説明する。 離散化はテイラー展開を応用して実現している。 テイラー展開にf(t)=f(t_0+Δt)の制約を掛けると式が単純化される。 総和法、差分法は初歩、テイラー展開は原理、そのあとに離散化の基礎。 初歩の後に原理、原理の後に基礎を押さえておくと良い。