Automatic Control: Specifications for 3rd-order systems and higher?

Click For Summary
SUMMARY

The discussion focuses on designing a lead-lag controller for a third-order system represented by the transfer function 1.9/(9*s^3+96.5s^2+40s). Key specifications include a rise time of less than 1.72 seconds, overshoot under 5%, and a stationary error of less than 5% for a unit ramp reference signal. The user explores using two lead compensators in series to achieve the desired phase margin and crossover frequency, ultimately calculating necessary parameters such as N, b, and K using MATLAB. The analysis confirms that traditional second-order system relationships can be adapted for third-order systems through careful decomposition.

PREREQUISITES
  • Understanding of control systems, specifically lead-lag compensation techniques.
  • Familiarity with MATLAB for control system analysis and design.
  • Knowledge of transfer functions and their representation in the s-domain.
  • Experience with performance specifications such as rise time, overshoot, and phase margin.
NEXT STEPS
  • Study the design and implementation of lead-lag compensators in control systems.
  • Learn about the Ziegler-Nichols tuning method for various order systems.
  • Research advanced techniques for analyzing third-order systems, including root locus and Bode plots.
  • Explore MATLAB's Control System Toolbox for further analysis and simulation of control systems.
USEFUL FOR

Control engineers, robotics developers, and students studying advanced control system design who are working with third-order systems and require practical insights into lead-lag controller implementation.

sodemus
Messages
28
Reaction score
0
I'm designing a lead-lag controller to control a robotics-arm (part of an exercise).
I have found diagrams showing the correlation between overshoot and phasemargin for a second order system but in my exercise I have a third-order system. Can I apply the the relations for a 2nd-order system or can I somehow divide the problem into parts and apply the knowledge of 2nd and 1st order systems? I have the following system:
1.9/(9*s^3+96.5s^2+40s)
with the following specifications:
Risetime < 1.72s
Overshoot < 5%
Control signal < 100
Stationary error <5% when unit ramp is reference signal.

I tried an approach with 2 lead-compensators in series to reduce N in
Flead=N(s+b)/(s+bN)
Flag=(s+a)/(s+a/M)

If you want to see it, my MATLAB code follows (A Proportional controller was tried first and used as a reference). Appearantly, the expected speed-increase isn't there at all either is any of the other improvements.

%%
%Problem 1 %(FrCoef=b, GearFact=n in the instructions)
J=4.5;Lm=2;Rm=21;FrCoef=1;Ktau=38;Km=0.5;GearFact=1/20;
s=tf('s');
G=GearFact*Ktau/(s*(s*Lm+Rm)*(J*s+FrCoef)+s*Km*Ktau);
G

%%
%Problem 2, risetime, loop-gain
Gc=feedback(G,1);
%Identification gives:
Q=1.9;P=9*s^3+96.5*s^2+40*s;
rlocus(Q/P);
%Kp=4.41 has relative damping of 1/sqrt(2) (Increasing Kp implies shorter rise-time). We end up at Kp=4.57.
figure
step(feedback(4.57*G,1),100);

%%
%Problem 3, Cross-over frequency, phasemargin och bandwidth.
[aaa Phasemargin ccc CrossoverFrequency]=margin(4.57*G);
Bandwidth=bandwidth(feedback(4.57*G,1),-3);

Phasemargin %64.34°
CrossoverFrequency %=0.1974
Bandwidth %=0.3129

%%
%Problem 4
bode(G)
%We calculate the phase at frequency=0.7896 (4 times faster system gives cross-overfrequency at 0.7896). Phase(0.7896)= -156°.
%5% Overshoot implies 64° phasemargin (from the infamous diagram for 2nd order systems) (från figur 5.16 sid 94 Glad &
%Ljung). Required increase in phasemargin is 64°-(180°-156°-11.3° (We preemtively consider the cominig lag-compensator))=51.3°. Uppdelat
%2 lead-compensators in series give 25.65°/compensator. Solving for N in
%arctan(0.5(sqrt(N)-1/sqrt(N))
%gives:
y=25.65; %y=required phase-increase for simplicity
N=1+2*tan(y)+sqrt((1+2*tan(y))^2-1);
N
%N=6.4812
%b is calculated in accordance with b="desired cross-over frequency"/sqrt(N)
b=0.7896/sqrt(N);
b
%We calculate K=1/(sqrt(N)*sqrt(N)*abs(G(i*"desired cross-over frequency"))
K=1/(sqrt(N)*abs(evalfr(G,0.7896*i)));
K
a=0.1.*0.7896
Flead=K*(N*((s+a)/(s+b*N)))^2;
M=2;
Flag=((s+a)/(s+(a/M)));
figure
bode(feedback(G*Flead*Flag,1));
figure
step((1/s)*feedback(G*Flead*Flag,1)) %We multiply the feedback function with 1/s so that matlab-function step gives the ramp-response (a ramp is an integrated step).
 
Engineering news on Phys.org
You can use the Zeigler-Nichols tuning method for all systems of any order.
 

Similar threads

  • · Replies 1 ·
Replies
1
Views
2K
Replies
1
Views
4K
Replies
2
Views
2K
  • · Replies 20 ·
Replies
20
Views
3K
  • · Replies 4 ·
Replies
4
Views
2K
Replies
4
Views
5K
  • · Replies 12 ·
Replies
12
Views
8K
  • · Replies 4 ·
Replies
4
Views
5K
Replies
1
Views
3K