필터 지우기
필터 지우기

Trying to stabilise a SISO feedback loop with a Cascade PID controller - but it's not working!

조회 수: 2 (최근 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!!

답변 (1개)

Arkadiy Turevskiy
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.

카테고리

Help CenterFile Exchange에서 Classical Control Design에 대해 자세히 알아보기

제품

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by