問題タブ [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 投票する
1 に答える
880 参照

algorithm - PID 制御 - PID 結果に基づくプロセス パラメータの値

http://en.wikipedia.org/wiki/PID_controllerに従ってPIDコントローラーを実装しようとしています

私が制御しようとしているメカニズムは次のように機能します。 1. 制御できる入力変数があります。典型的な値は 0.5...10 です。2. 毎日測定する出力値があります。出力の目標は、ほぼ同じ範囲です。

2 つの変数には強い相関関係があります。プロセス パラメーターが上がると、出力は一般的に上がりますが、かなりのノイズがあります。

私はここで実装に従っています: http://code.activestate.com/recipes/577231-discrete-pid-controller/

ここで、PID は、測定された出力レベルではなく、誤差項と相関しているように見えます。したがって、プロセス変数にそのまま使用するのではなく、現在の値の修正として使用することになっていると思いますか? それはどのように正確に機能するはずですか?

たとえば、Kp=1、Ki=Kd=0、プロセス (入力) 変数が 4、現在の出力レベルが 3、目標値が 2 の場合、次のようになります。

エラー = 2-3 = -1 PID = -1

次に、プロセス変数を -1 に設定する必要がありますか? または4-1 = 3?

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

algorithm - PID コントローラー - error=0 の場合の直感

出力に影響を与える入力パラメーターを使用して PID コントローラーをシミュレートし、Kp=0.2、Kp=0.5、Kd=0 を設定しました。ただし、エラーが 0 のときにコントローラーがどのように起動するかについての直感はわかりませんでした。たとえば、ターゲットが 2、出力が 2、入力変数が 4 の場合、コントローラーは次のようになります。次の入力を 0 に設定します - 4 は完全な値ですが。

アルゴリズムの最初のステップで「最初の推測」を考慮し、プロセスの開始時に外れないようにするための理論的に健全な方法はありますか?

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

matlab - 多項式行列によるシステムの応答のプロット

システム、入力、出力行列が多項式の場合、システムの時間応答をプロットするにはどうすればよいですか? 例えば

行列が定数であれば、 and を使用sslsimてそれをプロットできます。とありますが、この場合はどうすればよいでしょうか?私は Matlab と制御システムが初めてです。

0 投票する
3 に答える
653 参照

matlab - 複数入力複数出力モデル (MIMO) のファミリに基づく不確実なモデルの作成

目的

現在、を使用して状態空間モデルのファミリに基づいて不確実なシステムを作成しようとしていますucoverこのために、私はドキュメント「Modeling a Family of Responses as an Uncertain System」に基づいてスクリプトを作成しています。これは、単一入力単一出力システム (SISO) に基づいて不確実なシステムを作成する手法を明示的に示していますが、これは、MIMO システムにも十分に使用できます。

技術的な詳細

具体的には、ucoverMIMO システムをサポートしていることがドキュメントに記載されています。

私の場合、2 つの入力と 2 つの出力の両方を使用しているため、ORD1 と ORD2 の両方を 2 x 1 にする必要があります。ソート済み)。

試み

SISO の例に基づいて、MIMO の例を作成しようとしました。これを以下に示します。

問題

ドキュメンテーションの画像とは異なり、私の不確実なモデル (ボード線図を通した場合) はリード対角線上の応答のみを示します。私が何を意味するかについては、スクリーンショットを参照してください。

ここに画像の説明を入力

青が個々のモデル、赤が不確実なモデルです。

質問

すべての入力と出力の間の応答を正しくカバーする MIMO 状態空間モデルのファミリに基づいて、不確実なシステムを作成するにはどうすればよいですか?

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

matlab - sysic を使用して相互接続されたシステムを作成する場合の未定義の関数または変数「Vk」

sysic を使用して、多数の状態空間モデルから相互接続されたシステムを作成しようとしています。でも; 私は同じエラーを受け取り続けます:

このエラーを生成するコードは次のとおりです。

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

python - Python のステップ情報

Python でステップ応答の次のステップ特性を決定しようとしています。

  • 立ち上がり時間
  • 整定時間
  • 整定最小
  • セトリングマックス
  • オーバーシュート
  • アンダーシュート
  • ピーク
  • ピーク時

Matlab は関数stepinfoを提供していますが、Python で適切な代替手段を見つけることができません。numpy と scipy を使用して自分で作成しようとしましたが、まだあまり運がなく、信号処理の知識が不足しています。

インターネットで見つけることができるほとんどの情報はかなり複雑に見えますが、これについてもっと知りたいと思っています. だれかが、より多くのことを学べる良い本やその他の情報源を私に勧めてくれたら、私はそれを感謝します! ありがとうございました!

これは私が現在持っているステップ応答です:

ステップ応答

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

matlab - ニューラル ネットワークで関数パラメーターを決定する

私は現在、制御理論の博士論文を研究しています。各章の最後には、主題との相対問題のシミュレーションがあります。理論は完成しましたが、さらに理解を深めるために、シミュレーションを再現したいと思います。最初のシミュレーションは次のとおりです。

問題の解は、右辺が未知のパラメーターを持つ関数で構成される微分方程式系で終了します。著者は次のように述べています。「未知の関数のすべてのパラメータを近似するために、外部層に 1 つの隠れ層、シグモイド基底関数、および 5 つの重みを持つニューラル ネットワークを使用します。より具体的には、隠れ層の重みは次の方法で選択されます。反復試行であり、シミュレーション中は安定に保たれます。」次に、未知のパラメーターの初期値を選択するロジックを説明し、シミュレーションの結果を示します。

MATLABでこの特定の問題を自分で解決するために、どこを見るべきか、何を知る必要があるかについて、誰かが私にリードを与えることができますか? (これは私が最もよく知っている環境であるため) 何を探しているのかよくわからないため、Google 検索の結果は混沌としているからです。

さらに情報が必要な場合は、お気軽にお問い合わせください。

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

haskell - Bumpless transfer in FRP

I can build a PID controller in the Haskell FRP library netwire using loop from the ArrowLoop instance provided for Wires.

I can also implement switching between controllers or between a controller and a manual input using switch.

How can I implement bumpless transfer, for example using the "tracking" strategy explained here (or in any number of control engineering articles/books)? Another strategy might be acceptable if it has good performance, but the tracking approach is appealing for my application because it also address anti-windup.

I'm having trouble squinting at the block diagram hard enough to make it look like the type of two (or one?) loop applications.