Postive PM and GM but unstable closed loop response

조회 수: 20 (최근 30일)
Emin Ucer
Emin Ucer 2021년 4월 20일
댓글: Emin Ucer 2021년 5월 6일
Hi,
I have the following plant (Gp) and controller (Gc) transfer functions
Gp =
0.9524 s^2 - 5.079 s + 5.079
---------------------------------------------
s^4 + 6.127 s^3 + 13.49 s^2 + 25.14 s + 20.91
Gc =
3858 s + 5107
-------------------
1.324 s^2 + 62.57 s
If we look at the open-loop transfer function, we see that both GM and PM are positive.
margin(Gp*Gc)
But the closep loop system response is unstable.
Gcl = feedback(Gol*Gc, 1);
figure; step(Gcl)
Do you have any idea what is wrong with this?
*****************************************************************************
Explanation (Solution)
This system had originally two very large delays on the loop transfer function (one was the actuator delay and the other was the sensor delay). These two delays introduced significant phase shifts making the phase response start somewhere around 260 degrees and decreasing all the way down to -265 (as seen in first figure above). So, the phase response crosses the critical phase of 180 degrees twice, one at +180 and the other at -180. Matlab computes the PM and GM based on the -180 crossing. That's why we see a postive PM and GM but unstable response. The magnitude at +180 degrees is very high (around 30dB) causing a negative GM and unstable response. Therefore, we need to pay attention to both crossings to make sure that the system has sufficint margin not to become unstable.
  댓글 수: 3
Paul
Paul 2021년 5월 5일
Here is an example of system that has a negative gain margin but is closed loop stable.
G=tf(5,[1 0])*tf(1,[1/1000 2*.7/sqrt(1000) 1]);
G1=G*tf(100*conv([1/2 1],[1/2 1]),conv([1/.1 1],[1/.1 1]));
margin(G1) % negative gain margin
H1=minreal(G1/(1+G1));
pole(H1) % all closed loop poles in right half plane
ans =
-21.5886 +21.9511i -21.5886 -21.9511i -0.1008 + 2.1942i -0.1008 - 2.1942i -1.0933 + 0.0000i
Emin Ucer
Emin Ucer 2021년 5월 6일
Hi. Yes, you're absolutely right. I also run into this kind of situations several times where the GM is negative but the system is closed-loop stable. As you said, this is spesific to the problem and the system itself. I just put my trust so much on the controller system design with frequency response, but it seems that these two metrics could also be misleading in some cases (at least GM is so). Thank you for you explanations. I was just surprised and disappointed when such a well-known method failed in my case. I guess they do not just cover these special cases well in books and tutorials. Maybe I look for more generic methods for controller design, like state-spate pole placement.

댓글을 달려면 로그인하십시오.

답변 (1개)

Paul
Paul 2021년 4월 20일
편집: Paul 2021년 4월 20일
Closed loop stability needs to be determined before caculating GM and PM. In other words, GM and PM cannot be used to determine or verify closed loop stability. Instead, closed loop stability needs to be determined by other means. For systems that are closed loop stable the GM and PM tell how much the gain or phase can vary before changing the number of encircelments of the -1 point, thereby inducing closed loop instability.
For systems that are closed loop unstable, it's possible to use the open loop Bode plot to determine how much to change the open loop gain or phase to make the system stable, but care must be taken to understand whether or not the change in gain or phase needs to increase or decrease the number of encirclements and by how many.

카테고리

Help CenterFile Exchange에서 Get Started with Control System Toolbox에 대해 자세히 알아보기

제품


릴리스

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by