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!