Sytem Cotrol Leo #9a 76
Sytem Cotrol Baic roblem Say you have a ytem which you ca ot alter but it repoe i ot optimal Example Motor cotrol for exokeleto Robotic cotrol roblem that ca occur Utable Traiet Repoe Ocillatio Overhoot Rie Time Output Error 77
Ucotrolled Sytem Uit Step Repoe G ope () 0 0 Output() 0 0 ( 7.)(.8) 7..8 3 3 0 0 0 0 0.05 (.8) 7. 7.(7..8) 0.03 ( 7.).8.8(.8 7.) 0.08 Output(t) (0.03e 0.08e.8t 0.05)u(t) Output value i i error: -0.05=95% errror Rie Time: ecod G ope () 0 00 Output() 0 00 ( 5 j3.)( 5 j3.) 5 j3. 5 j3. 3 3 0 00 0 00 0.005 ( 5 j3.) 5 j3.5 5 j3.(5 j3. 5 j3.) 0.007.8 Output(t) (0.0054co(3.t.8)e 5t 0.005)u(t) roblem Output value i i error:-0.005=99.5% error Overhoot & Ocillatio: 0.006-0.005=0.00 0% Rie time: ecod 78
Ucotrolled Sytem G ope () Output() a b c a b c r r Output( t) ( e e ) u( t) where root are real ad uequal rt rt 3 [( t ) e ] ut ( ) where root are real ad equal rr r 3 rt 3 [e co( t t 3 ut r j r r ) ] ( ) where root are imagiary ad uequal ; * Fial Output Value A t, Output( t) 3 0 a b c c Root b b 4ac r, a Let' chooe a, b, ad c, r For the uderdamped cae,, r j., 79
ID Cotrol dif()= Iput()-Output() Iput() + - Σ G ID () G ope () Output() Take our ytem, G ope (), add a ID cotroller, G ID (), i erie ad put them a uity egative feedback arragemet 80
ID Cotroller Elemet D D dif () Derivative dif () I Itegral I dif () + + + Σ ID output () ( I D)dif () D I dif () dif () roportioal 8
ID G ope () a b c G ID () I D D I G G CLOSED () ope ()G ID () H()G ope ()G ID () H() G ope ()G ID () a b c D I D I a 3 b c G CLOSED () D I a 3 b c D I a 3 b c D I a 3 b c D I 8
ID Cotrol oly G G CLOSED CLOSED CONTROLLER () a b c () Output() I D I 3 ( D) ( ) I D 0 ( ) a b c a b c r r ( ) ( ) ( rt r t ) ( ) where root are real ad uequ Output t e e u t 3 [( t ) e ] ut ( ) where root are real ad equal rr r rt 3 3 [ e co( t) ] u( t) where root are imagiary ad uequal r j; r r * t 3 al 83
ID Cotrol oly CONTROLLER G CLOSED () Output() ( ) a b c a b c r r ( ) 3 Fial Output Value A t, Output( t) a a b c c Root b b 4 a( c ) r, a Let' chooe a, b, ad c r 3 0 ( ) ( ), For the uderdamped cae,, r j ( ),, icreae the frequecy of damped ocillatio. For the critically damped or over-damped cae,, r, ( ), icreae oe of the pole ad may decreae rie time. 84
ID Cotrol oly G CLOSED () CONTROLLER a b (c ) Output() a b (c ) Output(t) [ e t co(t ) 3 ]u(t) where root are imagiary ad uequal r j;r r *. 85
G G CLOSED CLOSED Output() ID D CONTROL D CONTROLLER () a b c I 0 D I 3 ( D) ( ) I () a ( b ) ( c ) a ( b ) ( c ) D D 3 D D a b c r r D ( D) ( ) () ( rt rt Output t e e 3,, ) u( t) where root are real ad uequal [( t ) e ] ut ( ) where root are real ad equal rr r rt 3 [ e co( t) ] u( t) where root are imagiary ad uequal r j; r r * t 3 Fial Output Value A t, Output( t) a Root D 3 3 0 a ( b D) ( c ) c ( b D) ( b D) 4 a( c ) r, a Let' chooe a, b, ad c r r ( D) ( D) 4( ) D ( ) D D ( ) ( ) ha the potetial to make the traiet become critically dampled or overdamped. 3 86
ID D CONTROL G CLOSED () D CONTROLLER D a 3 (b D ) (c ) D a (b D ) (c ) Output() D a (b D ) (c ) 3 r r Output(t) ( e r t e r t 3 )u(t) where root are real ad uequal 87
ID I Cotrol Oly I CONTROLLER G CLOSED () D I a 3 (b D ) (c ) I D 0 I G CLOSED () a 3 b c I Output() I a 3 b c I 3 4 r r r 3 Output(t) ( e rt e rt 3 e r3t 4 )u(t) where root are real ad uequal [( t )e rt 3 e r 3 t 4 ]u(t) where root are real ad equal r r r [( t t 3 )e rt 4 ]u(t) where root are real ad equal r r r r 3 [ e t co(t ) 3 e r 3 t 4 ]u(t) where root are imagiary ad uequal r j;r r * Fial Output Value A t, Output(t) 4 I I 88
ID G CLOSED () a b c D I 3 D I Output() a b c r r r D I 3 D I rt rt rt 3 3 4 3 4 3 Output( t) ( e e e ) u( t) where root are real ad uequal rt rt 3 [( t ) e e ] ut ( ) where root are real ad equal rrr 3 4 [( t t ) e ] ut ( ) where root are real ad equal rr r r rt 3 4 3 l r j; r r * t rt 3 [e co( t ) e 3 4] ut ( ) where root are imagiary ad uequa Fial Output Value A t, Output( t) D I I 4 3 0 a b c D I I 89
ID 90
ID 9
Geeral Tip for Deigig a ID Cotroller. Obtai a ope-loop repoe ad determie what eed to be improved. Add a proportioal cotrol to improve the rie time 3. Add a derivative cotrol to improve the overhoot 4. Add a itegral cotrol to elimiate the teady-tate error Adjut each of, I, ad D util you obtai a deired overall repoe. It i ot eceary to implemet all three cotroller (proportioal, derivative, ad itegral) ito a igle ytem. eep the cotroller a imple a poible. Itroductio: ID Cotroller Deig, Uiverity of Michiga, http://ctm.egi.umich.edu/ctms/idex.php?example=itroductio&ectio=cotrolid 9
Matlab Cotrol Sytem Toolbox Trafer Fuctio tf(um,de) Cotruct a trafer fuctio Iput are array which repreet the coefficiet of the umerator ad deomiator of the deired trafer fuctio 3 5 3 4 um=[ 3]; deom=[5 0 4]; tf(um,deom) Trafer fuctio: + 3 --------------- 5 ^3 + + 4 93
Matlab Cotrol Sytem Toolbox Step Fuctio Repoe tep(tf,t) Calculate the repoe due to a tep fuctio Iput are deired trafer fuctio ad timeframe 5 4 um=[]; deom=[5 4]; tettf=tf(um,deom) time=0:0.:0; tep(tettf,time) Trafer fuctio: --------------- 5 ^ + + 4 94
Matlab Cotrol Sytem Toolbox Serie erie(tf,tf) Cotruct a trafer fuctio from trafer fuctio um=[]; deom=[5 4]; Iput are trafer fuctio TF 5 4 3 TF 5 3 4 tettf=tf(um,deom); um=[3 ]; deom=[5 0 4]; tettf=tf(um,deom); erie(tettf,tettf) Trafer fuctio: 3 + --------------------------------------------- 5 ^5 + 0 ^4 + 30 ^3 + 4 ^ + 6 + 6 95
Matlab Cotrol Sytem Toolbox Feedback feedback(opelooptf,feedbacktf) Cotruct a trafer fuctio of the feedback arragemet Iput are trafer fuctio of the opeloop ytem ad the feedback ytem; for uity feedback ue a the ecod iput. Opetf 5 4 Cloedloop 5 4 5 4 5 5 um=[]; deom=[5 4]; tettf=tf(um,deom) feedback(tettf,) Trafer fuctio: --------------- 5 ^ + + 5 96
Matlab Cotrol Sytem Toolbox Root root(array) Calculate the root of a polyomial Iput are array which repreet the coefficiet of the polyomial 5 3 4 root([5 0 4]) 0.3930 + 0.99i 0.3930-0.99i -0.7860 97
Matlab Cotrol Sytem Toolbox SISO ID GUI Tool 98
Homework Uig the Matlab cotrol ytem toolbox fuctio, chooe D,, ad I to yield a tep repoe that ha mall output error, o overhoot, ad a rie time of le tha ecod for the followig trafer fuctio: 000 Choe each ID eparately to how what it doe to the ytem. Show the root for each cae. Mot likely you ll have to iterate your awer to yield a good repoe. 99