問題タブ [control-theory]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
9122 参照

python - Python: システムの状態空間モデルの特定

Python を使用して、所有しているシステムの状態空間モデルを取得しようとしています。

実際のシステムをテストしたので、システムへの入力があり、出力を測定しました。そのため、対応する入力と出力のセットがあります。

システムの入力と出力のセットを関数に提供できるPythonのどこかに関数があり、関数はシステムを表す状態空間モデルを提供しますか?

0 投票する
2 に答える
806 参照

matlab - Matlab の ss2tf の背後にあるアルゴリズム

伝達関数からの正規状態空間には、制御可能で観測可能な形式があります。ただし、ss2tfMatlab から試すと、別の結果が返されます。Matlab はどのようなアルゴリズムを使用していますか? ドキュメントやオープンソースの実装もありますか?

0 投票する
1 に答える
590 参照

matlab - Matlab:極ゼロキャンセルの問題

私はMatlabを使用して、使用しているシステムで制御分析を実行しています。状態空間表現でシステムのモデルを開発し、必要な閉ループ応答を生成するフィードバック補償器を設計しました。

Matlab の place() 関数を使用してフィードバック ゲイン K と推定器ゲイン L を選択する方法は、同じ位置で RHP の 1 つの極と零点を示すシステムの根軌跡になります。理想的には、これらがまったく同じで極ゼロ キャンセレーションが発生する必要がありますが、システムのステップ応答は依然として不安定です。

結合された補償器とプラントのシステムの極と零点を見ると、閉ループ応答の極と零点は次のようになります。

ゼロ

特に RHP 値を見ると、1e+02*(0.2108 + 0.0000i) に極とゼロがあります。これは唯一の不安定な極であるため、ステップ応答は安定しているはずですが、そうではありません。

有効数字または不適切なシステムのスケーリングと関係があると推測していますが、よくわかりません。これらの極零点がキャンセルされない理由について何か考えはありますか?

0 投票する
1 に答える
49 参照

robotics - 低速バスでのモーター/位置の制御

次の問題で自分自身を隅にコーディングしたようです: 遅い RS485 ベースのバス接続を介してロボットのモーターを制御しようとしています。残念ながら、私はモーターのファームウェアにアクセスできないので、現在のセットアップにとどまっています。

最大の問題は、モーターの目標速度しか制御できないことです。組み込みのエンコーダーを介して絶対位置を取得できますが、モーター自体のファームウェアに組み込まれた位置決め機能はありません。

2 番目の問題は、バス接続が非常に遅いことです。ややぎこちないプロトコルでは、フル サイクルに 25 ミリ秒が必要です。この方法で速度調整を介して位置を制御できますか?

25 ミリ秒先の位置を推定し、現在の位置を引き、25 ミリ秒で割って、次の目的の位置に必要な速度を計算する単純なアプローチを試みました。ただし、これは、固定位置をターゲットにすると、特定の速度でひどく振動します。これは、サイクル時間が長くなり、多くのオーバーシュートが発生するためだと思います。

PID コントローラーが役立つかもしれませんが、ターゲット値がどうなるかはわかりません。これまで使用したすべての PID は固定ターゲットを使用していました。完全に動くターゲット (つまり位置) は、少なくとも私には想像しにくいものです。

このような状況に対処するための通常の方法は何ですか? 単純なアプローチを組み合わせて、追加のオフセット項に対してのみ PID 制御を追加することはできますか? または、別のモーターを購入する必要がありますか?