速度と精度の向上
リアルタイム シミュレーションで速度と精度が重要な理由
速度と精度は、モデルをリアルタイム対応にするための重要な決定要因です。特定のターゲット ハードウェア上でシミュレーションを実行したときに次の両方の条件を満たしていれば、モデルはリアルタイム対応になっています。
オーバーランがない。
シミュレーション結果が精度の条件を満たしている。
速度は客観的です。リアルタイム クロックによって、モデルがリアルタイム シミュレーションに十分な速度を備えているかどうかが決定されます。ソルバーが実行するステップごとに、リアルタイム ハードウェア システムは、ソルバーが以下の処理タスクを完了するために必要な時間を追跡します。
シミュレーションの実行。
入出力処理。
一般的なコンピューター タスクの実行。
オーバーランは、任意のタイム ステップに対して、システムがタスク処理に要する時間が、タスクのリアルタイム制限を超過した場合に発生します。モデルのシミュレーション実行時に使用するターゲット マシンでオーバーランが報告された場合、モデルはリアルタイム シミュレーションの実行に十分な速度を備えていません。
モデルの基となる実測データおよび理論データと一致する結果が生成された場合、Simscape™ モデルは十分な精度を備えています。基礎データとシミュレーション データが似ているものの、完全に一致しているわけではない場合は、精度はより主観的になります。データが完全に一致しない場合に、モデルがリアルタイム シミュレーションに十分な精度を備えているかどうかを判断するには、以下の点を確認します。
モデルは、測定対象の現象を表しているか。
それらの現象を正しく表しているか。
モデルを使用してコントローラーの設計をテストする計画がある場合、モデルはシステムの検定で信頼できる結果を生成するのに十分な精度を備えているか。
モデルがリアルタイム対応かどうかをテストする唯一の方法は、実際のリアルタイム ターゲット ハードウェア上で、固定ステップ、固定コスト ソルバーを使用してモデルを実行することです。ただし、デスクトップ シミュレーションの結果を解析して、モデルがリアルタイム シミュレーションに十分な速度と精度を備えているかどうかを推定することはできます。モデルがリアルタイム対応かどうかを推定するには、ステップ サイズの決定と計算コストの推定を参照してください。
デスクトップ シミュレーションからの解析で、モデルがおそらくリアルタイム対応ではないことが示された場合は、モデルをリアルタイム ターゲット マシンに展開する前に、モデルの速度または精度を上げます。シミュレーションの速度を上げると精度が下がり、逆に、精度を上げると速度が下がる傾向があります。モデルをリアルタイム対応にするには、速度と精度のバランスを調整してください。
速度と精度のバランスの調整
シミュレーションの速度と精度は、次の要素の選択と相互に関連します。
モデルの忠実度とスコープ
リアルタイム ハードウェアの計算能力
ソルバーのサンプル時間 (ステップ サイズ) と反復回数
精度が低下したとしてもシミュレーションの速度を上げるには、以下を行います。
モデルの忠実度を下げるか、スコープを狭くする。
サンプル時間を増やす。
ソルバーの反復回数を減らす。
速度が低下したとしてもシミュレーションの精度を上げるには、以下を行います。
モデルの忠実度を上げるか、スコープを広げる。
サンプル時間を減らす。
ソルバーの反復回数を増やす。
精度と速度を両方とも上げたい場合、あるいはもう一方を犠牲にせずにどちらかを上げたい場合は、計算能力を上げます。計算能力を上げるには、より高速なリアルタイム プロセッサを使用するか、並列計算を行います。
指定するソルバーのタイプも、シミュレーションの速度と精度に影響します。固定ステップ シミュレーションの場合、Simscape ローカル ソルバーは高速で、Simulink® グローバル ソルバーと同じくらい正確です。陰的ソルバーの方が高速ですが、精度は陽的ソルバーより劣ります。しかし、ネットワークの数値的剛性も、陰的ソルバーと陽的ソルバーのどちらを使用するかを判断するための決定要因となります。数値的にスティッフなネットワークでは、陽的ソルバーの方が精度の高い結果を生成します。
モデルの複雑度が速度と精度に与える影響の詳細は、大量の計算が必要となる影響の除去を参照してください。ソルバー構成が速度と精度に与える影響の詳細は、ローカルおよびグローバル ソルバー構成の最適化を参照してください。
モデルをリアルタイム対応にできるモデルの複雑度とソルバー設定の組み合わせがない場合もあります。シミュレーションがターゲット マシン上でリアルタイムに実行されない場合、またはシミュレーションの精度が許容不可能な場合、速度と精度を上げるために次のオプションを検討してください。
大量の計算が必要となる影響の除去
デスクトップ シミュレーション解析の結果、モデルがおそらくリアルタイム シミュレーションの実行に十分な速度を備えていないことが示された場合、大量の計算が必要となる影響を除去します。不連続点や急激な変化など、大量の計算が必要となる影響を引き起こすモデル要素を特定します。これらはシミュレーションの速度低下の原因となります。
不連続点を発生させる要素には次のようなものがあります。
ハード ストップまたはバックラッシュ
スティックスリップ摩擦
スイッチまたはクラッチ
時定数が小さく、急激な変化を引き起こす要素には次のようなものがあります。
スティッフなバネに付加され、減衰が最小限になっている小さな質量
静電容量、インダクタンス、抵抗の小さい電気回路
圧縮可能な小さなボリュームがある油圧回路
シミュレーションの速度を低下させる影響の原因となる要素を除去するか修正するには、次のアプローチを使用します。
非線形コンポーネントを線形コンポーネントに置き換える。
複素方程式を、その解を格納したルックアップ テーブルで置き換える。
複雑なコンポーネントを単純なモデルに置き換える。
フィルターや遅延などの手法を使用し、不連続の関数 (ステップの変化) を平滑化する。
ローカルおよびグローバル ソルバー構成の最適化
また、ソルバーの指定でも、シミュレーションの速度と精度に影響を与えることができます。リアルタイム ターゲット マシンで実現される精度のレベルは、ある単一モデルのすべてのネットワークにまたがる特定のステップ サイズと相関があるとは限りません。リアルタイム ターゲット マシンは、モデル内の単純なネットワークでは正確な結果を出しても、より複雑なネットワークでは不正確な結果となることがあります。Simscape モデルで、ネットワークごとに異なるソルバー構成を指定できる機能を活用します。モデルをリアルタイム対応にするために、固定ステップのグローバル ソルバーと各ローカル ソルバーを個別に構成します。
ソルバーのオプションと、Simscape モデルをリアルタイム対応にするために役立つソルバーを決定する方法の詳細は、リアルタイム シミュレーションのソルバーを参照してください。
ターゲット ハードウェアのアップグレード
同じステップ サイズを使用して同じモデルのシミュレーションを実行しても、ターゲットが異なると精度のレベルが異なります。高速のリアルタイム ターゲット コンピューターを使用すると、リアルタイム シミュレーションの速度や精度が向上します。
システムの各部分の並列シミュレーション
精度を維持しながら速度を上げるもう 1 つのアプローチは、複数の物理ネットワークを並列に評価できるようにモデルを構成することです。ネットワークが相互に依存していなければ、モデルを分割できます。このアプローチを使用するには、モデル、生成コードおよびリアルタイム ターゲット マシンを使用して試してみます。