主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

速度と精度の向上

リアルタイムシミュレーションで速度と精度が重要な理由

速度と精度は,モデルをリアルタイム対応にするための重要な決定要因です。特定のターゲットハードウェア上でシミュレーションを実行したときに次の両方の条件を満たしていれば,モデルはリアルタイム対応になっています。

  • オーバーランがない。

  • シミュレーション結果が精度の条件を満たしている。

速度は客観的です。リアルタイムクロックによって,モデルがリアルタイムシミュレーションに十分な速度を備えているかどうかが決定されます。ソルバーが実行するステップごとに,リアルタイムハードウェアシステムは,ソルバーが以下の処理タスクを完了するために必要な時間を追跡します。

  • シミュレーションの実行。

  • 入出力処理。

  • 一般的なコンピュータータスクの実行。

オーバーランは,任意のタイムステップに対して,システムがタスク処理に要する時間が,タスクのリアルタイム制限を超過した場合に発生します。モデルのシミュレーション実行時に使用するターゲットマシンでオーバーランが報告された場合,モデルはリアルタイムシミュレーションの実行に十分な速度を備えていません。

モデルの基となる実測データおよび理論データと一致する結果が生成された場合,Simscape™モデルは十分な精度を備えています。基礎データとシミュレーションデータが似ているものの,完全に一致しているわけではない場合は,精度はより主観的になります。データが完全に一致しない場合に,モデルがリアルタイムシミュレーションに十分な精度を備えているかどうかを判断するには,以下の点を確認します。

  • モデルは,測定対象の現象を表しているか。

  • それらの現象を正しく表しているか。

  • モデルを使用してコントローラーの設計をテストする計画がある場合,モデルはシステムの検定で信頼できる結果を生成するのに十分な精度を備えているか。

モデルがリアルタイム対応かどうかをテストする唯一の方法は,実際のリアルタイムターゲットハードウェア上で,固定ステップ,固定コストソルバーを使用してモデルを実行することです。ただし,デスクトップシミュレーションの結果を解析して,モデルがリアルタイムシミュレーションに十分な速度と精度を備えているかどうかを推定することはできます。モデルがリアルタイム対応かどうかを推定するには,ステップサイズの決定計算コストの推定を参照してください。

デスクトップシミュレーションからの解析で,モデルがおそらくリアルタイム対応ではないことが示された場合は,モデルをリアルタイムターゲットマシンに展開する前に,モデルの速度または精度を上げます。シミュレーションの速度を上げると精度が下がり,逆に,精度を上げると速度が下がる傾向があります。モデルをリアルタイム対応にするには,速度と精度のバランスを調整してください。

速度と精度のバランスの調整

シミュレーションの速度と精度は,次の要素の選択と相互に関連します。

  • モデルの忠実度とスコープ

  • リアルタイムハードウェアの計算能力

  • ソルバーのサンプル時間(ステップサイズ)と反復回数

精度が低下したとしてもシミュレーションの速度を上げるには,以下を行います。

  • モデルの忠実度を下げるか,スコープを狭くする。

  • サンプル時間を増やす。

  • ソルバーの反復回数を減らす。

速度が低下したとしてもシミュレーションの精度を上げるには,以下を行います。

  • モデルの忠実度を上げるか,スコープを広げる。

  • サンプル時間を減らす。

  • ソルバーの反復回数を増やす。

精度と速度を両方とも上げたい場合,あるいはもう一方を犠牲にせずにどちらかを上げたい場合は,計算能力を上げます。計算能力を上げるには,より高速なリアルタイムプロセッサを使用するか,並列計算を行います。

指定するソルバーのタイプも,シミュレーションの速度と精度に影響します。固定ステップシミュレーションの場合,Simscapeローカルソルバーは高速で,仿真软金宝app件®グローバルソルバーと同じくらい正確です。陰的ソルバーの方が高速ですが,精度は陽的ソルバーより劣ります。しかし,ネットワークの数値的剛性も,陰的ソルバーと陽的ソルバーのどちらを使用するかを判断するための決定要因となります。数値的にスティッフなネットワークでは,陽的ソルバーの方が精度の高い結果を生成します。

モデルの複雑度が速度と精度に与える影響の詳細は,大量の計算が必要となる影響の除去を参照してください。ソルバー構成が速度と精度に与える影響の詳細は,ローカルおよびグローバルソルバー構成の最適化を参照してください。

モデルをリアルタイム対応にできるモデルの複雑度とソルバー設定の組み合わせがない場合もあります。シミュレーションがターゲットマシン上でリアルタイムに実行されない場合,またはシミュレーションの精度が許容不可能な場合,速度と精度を上げるために次のオプションを検討してください。

大量の計算が必要となる影響の除去

デスクトップシミュレーション解析の結果,モデルがおそらくリアルタイムシミュレーションの実行に十分な速度を備えていないことが示された場合,大量の計算が必要となる影響を除去します。不連続点や急激な変化など,大量の計算が必要となる影響を引き起こすモデル要素を特定します。これらはシミュレーションの速度低下の原因となります。

不連続点を発生させる要素には次のようなものがあります。

  • ハードストップまたはバックラッシュ

  • スティックスリップ摩擦

  • スイッチまたはクラッチ

時定数が小さく,急激な変化を引き起こす要素には次のようなものがあります。

  • スティッフなバネに付加され,減衰が最小限になっている小さな質量

  • 静電容量,インダクタンス,抵抗の小さい電気回路

  • 圧縮可能な小さなボリュームがある油圧回路

シミュレーションの速度を低下させる影響の原因となる要素を除去するか修正するには,次のアプローチを使用します。

  • 非線形コンポーネントを線形コンポーネントに置き換える。

  • 複素方程式を,その解を格納したルックアップテーブルで置き換える。

  • 複雑なコンポーネントを単純なモデルに置き換える。

  • フィルターや遅延などの手法を使用し,不連続の関数(ステップの変化)を平滑化する。

ローカルおよびグローバルソルバー構成の最適化

また,ソルバーの指定でも,シミュレーションの速度と精度に影響を与えることができます。リアルタイムターゲットマシンで実現される精度のレベルは,ある単一モデルのすべてのネットワークにまたがる特定のステップサイズと相関があるとは限りません。リアルタイムターゲットマシンは,モデル内の単純なネットワークでは正確な結果を出しても,より複雑なネットワークでは不正確な結果となることがあります。Simscapeモデルで,ネットワークごとに異なるソルバー構成を指定できる機能を活用します。モデルをリアルタイム対応にするために,固定ステップのグローバルソルバーと各ローカルソルバーを個別に構成します。

ソルバーのオプションと,Simscapeモデルをリアルタイム対応にするために役立つソルバーを決定する方法の詳細は,リアルタイムシミュレーションのソルバーを参照してください。

ターゲットハードウェアのアップグレード

同じステップサイズを使用して同じモデルのシミュレーションを実行しても,ターゲットが異なると精度のレベルが異なります。高速のリアルタイムターゲットコンピューターを使用すると,リアルタイムシミュレーションの速度や精度が向上します。

システムの各部分の並列シミュレーション

精度を維持しながら速度を上げるもう1つのアプローチは,複数の物理ネットワークを並列に評価できるようにモデルを構成することです。ネットワークが相互に依存していなければ,モデルを分割できます。このアプローチを使用するには,モデル,生成コードおよびリアルタイムターゲットマシンを使用して試してみます。

関連する例

詳細