Trying to stabilise a SISO feedback loop with a Cascade PID controller - but it's not working!
3 ビュー (過去 30 日間)
古いコメントを表示
Hi there,
I'm in the middle of designing a Cascade Loop PID controller for a quadcopter autopilot simulation, to allow it to move to a designated position by altering its thrust vector by pitching up or down.
However, I'm having some issues producing a viable controller. I've successfully controlled the inner loop (pitch rate) with a PI controller, but the outer loop (position) is proving very difficult to stabilize with a PID: please see the diagram for reference:
I've been using SISOtool and pidTuner to try and get the relevant PID controller and thus PID gain values that I can input into my programmed controller in MatLab - this worked for the inner loop (pitch rate), but it is not working for the outer loop.
My advisor told me that it should work with a PID just fine, so I don't really understand why it isn't.
Any advice would be tremendously appreciated, thanks!!
0 件のコメント
回答 (1 件)
Arkadiy Turevskiy
2016 年 4 月 26 日
First off, looks like you have a typo in your Cq. As Pq already has integrating action, you don't really need an integrator in Cq. Cq=48 stabilizes the inner loop nicely. If you use that Cq, you will get outer loop plant transfer function very close to what you show. Now, a PID controller won't be able to control that, as you have 4 poles at the origin. Are you sure you have your Px right? It seems strange you have to integrate 4 times to get a position.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で PID Controller Tuning についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!