I'm designing a lead-lag controller to control a robotics-arm (part of an excercise). I have found diagrams showing the correlation between overshoot and phasemargin for a second order system but in my excercise 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).