1

x位置/変位の長方形の基準値があり、それを滑らかにする必要があると想像してください。

並進運動の計算は非常に簡単です。

speed: v = x'
acceleration: a = v' = x''
jerk. j = a' = v'' = x'''

これらすべての値を制限する必要があります。そこで、Simulink でレート リミッターを使用することを考え ここに画像の説明を入力 ました。次の出力でわかるように、このアプローチはランプ信号に最適です。 ここに画像の説明を入力

しかし、私の基準信号xはランプではなく、長方形/ステップです。したがって、レート リミッターは機能していません。これは、レート リミッターが制限する導関数が既に無限であり、Simulink がエラーをスローするためです。この問題を解決するにはどうすればよいですか? 高次レートリミッタを実装するよりエレガントな方法は実際にありますか? このアプローチは、場合によっては不安定になる可能性があると思います。


読み続けて:関連する質問

4

4 に答える 4

1

数値の問題があるため、Simulink で信号を区別することは一般に良い考えではありません。より高次の導関数 (加速度など) から始めて、数値的によりロバストな積分を行うことをお勧めします。これは、導関数ブロックに関するドキュメントに次のように書かれています。

Derivative ブロックの出力は、モデル全体のダイナミクスに非常に敏感になる場合があります。出力信号の精度は、シミュレーションで実行される時間ステップのサイズによって異なります。ステップが小さいほど、このブロックからの出力曲線がより滑らかで正確になります。ただし、連続状態をもつブロックとは異なり、このブロックへの入力が急速に変化する場合、ソルバーはより小さいステップを取りません。駆動信号とモデルのダイナミクスによっては、このブロックの出力信号に予期しない変動が含まれる場合があります。これらの変動は、主に駆動信号出力とソルバーのステップ サイズによるものです。

これらの影響を受けやすいため、Derivative ブロックの代わりに積分器 (Integrator ブロックなど) を使用するようにモデルを構成します。Integrator ブロックには、ソルバーがステップ サイズを調整してシミュレーションの精度を向上できる状態があります。モデルで Derivative ブロックを使用しないように最適な形式の数学モデルを選択する例については、回路モデルを参照してください。

詳細については、ベストフォーム数学モデルも参照してください。

于 2013-09-20T09:42:59.597 に答える
1

ばかげているように見えますが、次のアプローチが機能しています: 統合と即時の派生はトリック を行いますここに画像の説明を入力 : ここに画像の説明を入力

スムージング問題全体に対する、よりエレガントで高速かつシンプルなソリューションは高く評価されています。

于 2013-09-18T12:41:31.753 に答える
0

私は似たようなことをしようとしていました。「スムーズランプ」を探していました。これが私が見つけたものです:

より簡単なアプローチは、ランプと 2 次ラグを組み合わせることです。その後、信号は S 字に近づきます。そして、派生物も存在し、スムーズになります。覚えておくべき唯一のことは、2 番目またはラグを大幅に減衰させる必要があるということです。

Y(s) = H(s)*X(s) ここで、H(s) = K*wo^2/(s^2 + 2*zeta*wo*s + wo^2)。ここでは、ゼータ = 1.0 を定義します。次に、任意の K 値と wo 値に対して S 字型が保持されます。X(s) にはすでにランプが当たっていることに注意してください。matlab またはその他のツールでは、線形ランプと 2 番目のラグが標準ブロックです。

幸運を!

于 2014-09-09T19:56:17.880 に答える
-1

「Transfer Fcn」ブロックが探しているものだと思います。

方程式をデフォルトの形式 1/(s+1) のままにしておくと、分子係数と分母係数を変更することで必要に応じて調整できるローパス フィルターが得られます。

于 2015-01-26T16:46:30.230 に答える