-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PID制御の勉強ができる環境を作る #164
Comments
課題など
|
PID制御プログラムのモジュール化方法について
案1でしょ。 作戦
|
実装ステップ
|
残作業
MATLAB連携に向けた検討はこちらに移管する。 |
最後の作業この環境を利用して、現行の物理モデルのホバリングを理論的に検討したPID制御モデルでコントロールできるようにして、箱庭ラボのブログで紹介する。
|
平鍋さんの2次伝達関数の理解対象の運動方程式: ここで、目標値との誤差の方程式にすると以下となる。 これをラプラス変換するとこうなって、 伝達関数にするとこうなって、2次遅れの伝達関数で表現できない。 |
伝達関数から理論的にPIDの値を求めるやり方がないか調べるこれではないか? |
これをラプラス変換するとこうなって、
$$ -s^{2} E(s) = -U(s)/m + g E(s) + d s E(s) / m $$
gE(s)は、g/s かな。そして、純粋に線形にならないので、E/U が解けない。
… |
なるほど。2次遅れの伝達関数にして、理論的な方向で攻めようかと思いましたが、難しそうですね。 |
僕の方策は、T/m - g をT' としてT' をコントロール可能な変数と捉えて線形化しました。(スライドの計算メモのページ)
|
やっと理解できました。P制御と繋げた微分方程式作って、2次の伝達関数にしているのか! https://speakerdeck.com/hiranabe/math-physics-and-dynamics-of-drone-in-hakoniwa?slide=13 |
まずは、P制御をベースにして、考えていきます。 |
プラント側対象の運動方程式: これをラプラス変換するとこうなる。 |
P制御側これをラプラス変換すると、 |
プラント側のU(s) にP制御の式をラプラス関数で代入左辺に微分項、右辺を積分項にしてみる。 ここからZ(s)を求めるとこうなる。 なので、積分要素と2次の遅れ要素の直列接続とみなせる 変形すると、 ここで、 とおくと、こうなる。 |
2次遅れ要素の特徴
|
特徴とパラメータ候補
うーん、ダメだ。 |
再考:P制御側重力を定常的に与えないと、相当不安定になるのではないか。 これをラプラス変換すると、 うーん、 |
再考:プラント側のU(s) にP制御の式をラプラス関数で代入左辺に微分項、右辺を積分項にしてみる。 ここからZ(s)を求めるとこうなる。 なので、積分要素と2次の遅れ要素の直列接続とみなせる 変形すると、 ここで、 とおくと、こうなる。 |
この三次式まで、僕の結果と整合します。この後、逆ラプラス変換して時間領域の式が出せています。計算メモのページ。 |
ありがとうございます! ここから、 2次遅れ要素の特徴
機体パラメータ値から求める。d= |
ここからは、方針(オーバーシュートx%までとか、整定時間何秒にしたいとか、外乱に強くしたいとか)で決めていくのだと思う。 |
所感
ここでD制御が必要なのか? |
PD 制御z軸はNED座標系。Rは正の値で指定する。 Rは定数なので、こうなる。 これをラプラス変換すると、 |
プラント側のU(s) にPD制御の式をラプラス関数で代入左辺に微分項、右辺を積分項にしてみる。 ここからZ(s)を求めるとこうなる。 なので、積分要素と2次の遅れ要素の直列接続とみなせる 変形すると、 ここで、 とおくと、こうなる。 |
PDパラメータ探索の方針 |
現在、10m でホバリングしていない事に注意。グラフのvalue は、R-g/wn^2 (→10)の値であり。P制御だけでは定常位置偏差
g/wn^2
がずっと出てしまう。→I制御が必要、という流れ。
|
ζ=0.707 のPD制御結果(その1)Kp = 0.25 1秒くらいで目標値に収束しました! |
ζ=0.707 のPD制御結果(その2)Kp = 0.0000025 こちらはKpが小さいので収束に時間がかかっていますし、収束値は10mになっていません。 |
コメントありがとうございます! あと、オーバーシュート値とオーバーシュートに達する時間も解析的に求められると評価がしやすいですよね。 |
PID 制御z軸はNED座標系。Rは正の値で指定する。 Rは定数なので、こうなる。 これをラプラス変換すると、 |
プラント側のU(s) にPID制御の式をラプラス関数で代入左辺に |
Kiが入ると、2次遅れにならないので、これまでの解き方では難しそう。 |
現時点の課題まとめと今後の方針
I制御の解析は一旦ペンディングします。 その上で、PD制御のパラメータをいくつか決めて、I制御パラメータを微調整する探索をやって、Unityでビジュアライズするところをゴールにしようと思います。 |
例の制御ドローンレース,でも,PD 制御までです. |
森さんのやり方だと,一巡伝達関数でなく,閉ループのステップ応答を直接求めるようになっていて,制御の通常コースの,
という手順が使えなくて,教材としては制御の教科書にうまく乗らないのがちょっと残念に思いました.何かうまくできるといいのだけど. |
説明ありがとございます! |
目的
箱庭ドローンシミュレータを制御の勉強として利用できるようにしたい。
そして、参考資料にあるように、制御の競技会を同時実施できるようにする!
参考:
https://www.youtube.com/watch?v=y-C4AId2Za8&t=1840s
The text was updated successfully, but these errors were encountered: