Lab 5 v6
Lab 5 v6
RoseHulmanInstituteofTechnology
Lab5
Page1of9
RootLocusControllerDesignUsingtheMatlabsisotoolToolbox
Overview
In this lab you will explore the use of the root locus controller design methodology. The root locus
indicates the achievable closedloop pole locations of a system as a parameter (usually the controller
gain)variesfromzerotoinfinity.Foragivenplantitmayormaynotbepossibletoimplementasimple
proportionalcontroller(i.e.,selectagainthatspecifiesclosedlooppolelocationsalongtherootlocus)
toachievethespecifiedperformanceconstraints.Infact,inmostcasesitwillnotbepossible.Whenthis
occurs,itisthecontrolengineersjobtoselectacontrollerstructure(againandnumbersofpolesand
zerosofacontrollertransferfunction)andtherespectivecontrollerparameters(valuesforthegainand
polesandzeros)tochangetheshapeoftherootlocussothatforsomevaluesofthecontrollergain,the
dominant second order closedloop poles lie within the performance region. In this lab we are
investigating several controller structures on individual plants and comparing the design process and
performance.WewillbeusingtheMatlabsisotooltoolboxtocompletetherootlocusdesigns.
Objectives
Attheconclusionofthislaboratoryexperience,studentsshouldbeableto:
TosuccessfullydesignP,I,PD,PI,andPIDcontrollerstomeetclosedloopperformance
specificationsincludingtransientperformanceandsteadyerror.
Deliverables
Acompletedworksheetincludingthefollowing:
Figureswithplotsofclosedloopstepresponses.
Controllerparameters,gain,pole(s),andzero(s),foreachofthecontrollerdesigns.
Answerallthequestionsontheworksheet.
Background
Forthislab,wewillassumeaunityfeedbackcontrolleroftheformshowninFigure1,whereC(s)isthe
controllertransferfunctionandP(s)istheplanttransferfunction.
Figure1GenericUnityFeedbackControlSystem.
Plant
Controller
P(s)
X(s)
R(s)
u(s)
C(s)
+
-
RoseHulmanInstituteofTechnology
ME406ControlSystemsLab5 Page2of9
Note,incontrollerdesigntherearemultiplepossiblesolutions,somebetterthanothers.Itispossibleto
have multiple designs that satisfy the given performance constraints, but practical implementation
issues and cost could be prohibitive for some designs. As a general rule, it is a good idea to keep your
controllerassimpleaspossiblewhilemeetingtheprescribedperformancecriteria.Inthislabwewillbe
investigating several controller structures on individual plants and comparing the design process and
performance. The common controller structures we will be using in this lab are listed in Table 1 along
withtheirrespectivetransferfunctions.
Table1CommonControllerTypes
ControllerType ControllerStructure
Proportional(P) C(s) = k
p
Integral(I)
C(s) =
k
Proportional+Integral(PI)
C(s) = k
p
+
k
s
=
k (s +z)
s
LagController C(s) =
K
c
(s + z)
(s +p)
wheie |z| > |p|
Proportional+Derivative(PD) C(s) = k
p
+ k
d
s = k (s + z)
LeadController C(s) =
k (s + z)
(s +p)
wheie |p| > |z|
Proportional+Integral+Derivative(PID)
(RealZeros)
C(s) = k
p
+
k
s
+ k
d
s =
k (s +z
1
)(s + z
2
)
s
Proportional+Integral+Derivative(PID)
(ComplexConjugateZeros)
C(s) = k
p
+
k
s
+ k
d
s =
k (s +z)(s + z
-
)
s
NotethattheI,PI,andPIDcontrollerswillproduceapositionerror(c
p
)ofzeroaslongastheplantdoes
notcontainazeroattheorigin,whichwouldcancelthecontrollerspoleattheorigin.
RoseHulmanInstituteofTechnology
ME406ControlSystemsLab5 Page3of9
IntroductiontoMatlabsisotool
A. GettingStarted
1. Enterthetransferfunctionfortheplant,P(s),inyourworkspace(i.e.,fromtheMatlab
commandprompt).
2. Typesisotoolatthecommandprompt.
3. ClickClosewhenthehelpwindowcomesup.
4. ClickonViewOpenLoopBodetoturnoffthebodeplot.(Whateverischeckedinthislistwill
bedisplayedinthewindow.)
B. LoadingtheTransferFunction
1. ClickonFileImport.
2. Awindowontheleftwillshowyouthetransferfunctionsinyourworkspace,whilethewindow
ontherightwillletyouchoosethecontrolsystemconfiguration.
3. WewillusuallybeassigningP(s)toblockG(theplant).DoubleclickthespacenexttoGand
typeyourtransferfunctionnameandhitEnter.Youmusthitenterornothingwillhappen.
4. Onceyouhitenter,youshouldbeabletoclicktheOKbuttonatthebottomofthewindow.
Thenthewindowwillclose.
5. Afteryouenterthetransferfunction,therootlocuswillbedisplayed.Doublechecktomake
surethattheopenlooppolesandzerosofyourplantareinthecorrectlocations.
C. GeneratingtheStepResponse
1. ClickonAnalysisResponsetoStepCommand.
2. Youwillprobablytwocurvesonyourstepresponseplot.TofixthisclickonAnalysisOther
LoopResponsesMakesureonlyrtoyischecked,andthenclickOK.
3. Youcannowclickonthepinkboxesontherootlocus(thecurrentclosedlooppolesforthe
givengain)andmovethemalongtherootlocus.Essentially,youareexploringdifferent
controllergainvaluesbydoingthis.Notehowthestepresponsechangesasyoumovethe
closedlooppolelocations.
4. Thevaluesoftheclosedlooppoleswillappearatthebottomoftherootlocuswindowasyou
clickandholdthemouseonthepinkboxesrepresentingthem.Thisonlygivesyouthevalueof
theclosedlooppoleyouareclickingon.Ifyouneedtheotherclosedlooppolelocations,you
willhavetoclickonthemoneachoftheotherbranches.
RoseHulmanInstituteofTechnology
ME406ControlSystemsLab5 Page4of9
D. EnteringtheCompensator(Controller)
1. ClickCompensatorsEditC.ClickonAddRealZeroorAddRealPoletoentercontroller
zerosorpoles.Youwillbeabletomakechangestothesevalueslater.Afteryouaredone,click
OKtoexitthiswindow.
2. LookattheformofC(s)tobesureitiscorrect.Thenlookattherootlocuswindowandseehow
itchangedoncethecompensatorwasadded.
3. Youcanagainseehowthestepresponsechangeswiththecompensatorbyclickingonthe
closedlooppoles(thepinksquares)anddraggingthemalongtherootlocus.
4. Youcanalsochangethelocationofthepoles/zerosofthecompensatorbyclickingonthemand
draggingthem.Becarefulnottoinadvertentlychangethepolesandzerosoftheplant!
E. AddingDesignConstraints
1. ClickEditRootLocusDesignConstraintstheneitherNewtoaddnewconstraintsorEdit
toeditexistingconstraints.
2. Atthispointyoucanchoosefromsettlingtime,percentovershoot,dampingratio,andnatural
frequencyconstraints.
F. Printing/SavingtheFigures
Tosaveafiguresisotoolcreatedduringyoursession,clickFilePrinttoFigure.Thisopensa
figurewindowandputsthecurrentfigurethere.
G. OddsandEnds
1. Youmaywanttoadjusttheaxes.Todothis,clickEditRootLocusProperties,clickon
Limits,andsetthedesiredaxislimits.
2. Youmayalsowanttoturnthegridon.ClickEditRootLocusGrid.
3. Itisconvenienttousethezero/pole/gainformatforthecompensators.Todothis,clickonEdit
SISOToolPreferencesOptionsandclickonzero/pole/gain.
RoseHulmanInstituteofTechnology
ME406ControlSystemsLab5 Page5of9
InLabPartA
Usetheplantgivenin(3)forthissectionofthelab.
P(s) =
30
s
2
+11s+30
=
30
(s+5)(s+6)
(3)
Thisisasecondordersystemwithtworealpoleslocatedat5and6.Ourgoalistospeeduptheclosed
loopsystemresponsesothatthetwopercentsettlingtimeislessthan1second,produceaposition
errorof0.1orless,andkeeppercentovershootlessthan10%.Tokeepthingsreasonable,keepthegain,
k,lessthan10foralldesigns.
1. EnteringtheConstraints
Enterthepercentovershootandsettlingtimeconstraintsinsisotool.Rememberthatthese
constraintsarebasedonasecondordersystemstepresponseandforhigherordersystemsare
predicatedbytheassumptionofsecondorderdominanceoftheclosedloopsystempoles.
Therefore,thesedesignconstraintsareguidelinesandyoumayhavetorefineyourdesigntostay
furtherinsidetheseconstraintstomeettheperformancespecifications.
2. Proportional(P)Control
Determinetherootlocusforthissystemwithproportionalcontrol.(Whenyouentertheplant
transferfunctioninsisotool,thisisthedefaultrootlocusplot.Atthispointthecontrolleris
specifiedasC(s) = 1.
Lookatthestepresponseasthegainincreases.Youshouldnoticeafewthings:
askincreases,theimaginarypartoftheclosedlooppolesincreases,andthereforethe
percentovershootincreases
askincreases,thepositionerrordecreases
sincetherealpartofthepoledoesnotchangeoncekisgreaterthanabout0.008,the
settlingtimeremainsconstantatabout0.8seconds.
thereisnovalueofkforwhichthesystemisunstable
Doaswellasyoucantomeetbothconstraints(youwillnotbeabletodoverywell)thensavethe
stepresponseandcontroleffortplotsandyourcontrollergaintoturninwiththelabworksheet.
3. Integral(I)Control
a) Addarealpoleatzerotoimplementtheintegralcontroller.Youcandothisfromtherootlocus
plotortheControlandEstimationToolsManagerasdescribedearlier.Notethatonceyou
placeacompensatorpole(orzero)youcanclickanddragittoanewlocation.However,foran
integralcontrollerthepoleisalwaysatzero,soleaveittherefornow.
b) Youshouldnotethattherearetworootlocusbranchesthatheadtowardstheimaginaryaxis
(towardinstability),whichisgenerallynotdesirable.
c) Findthevalueofkthatmakesthesystemmarginallystable(thecriticalgain).
RoseHulmanInstituteofTechnology
ME406ControlSystemsLab5 Page6of9
d) Trytofindavalueforkthatgivesaresponsewithsettlingtimelessthanorequalto2seconds
andhaslittleovershoot.Savethecorrespondingstepresponseandcontroleffortplotsandthe
controllergaintoturninwiththelabworksheet.
e) Isthepositionerrorzero?Couldyoufindakvalueforwhichyoucouldmeetthe1second
settlingtimeconstraint?
4. Proportional+Derivative(PD)Control
a) Edityourcompensatorbyremovingtheintegrator(thepoleatzero)andaddarealzero.Note
thatinthisPDdesignthatyoucanselectwhereyouplacethisrealzeroalongtherealaxis.Take
amomenttoexplorewhathappenstotherootlocus,thestepresponse,andthecontroleffort
asyoumovethezero.
b) Nowmovethezerobetween1and4.Findaconfigurationwithapositionerrorlessthan0.5.
Savethestepresponseandcontroleffortfigureandthecontrollerthatproducedit.
c) Nextmovethezerobetween7and9.Whathappenstotherootlocus?Arewelikelytogeta
fasterresponseoftheclosedloopsystemwiththisdesignthanthepreviousone?Specifya
controllerwithazerointhisrangethatproducesasettlingtimeof0.1secondsorless.(Dont
forgetthatk < 1u.)Savethestepresponseandcontroleffortfigureandthecontrollerthat
producedit.
5. Proportional+Integral(PI)Control
a) Edityourcompensatorbyaddingarealpoleatzero(addingtheintegralelement).Notethatin
thisPIdesignthatyoucanselectwhereyouplacethisrealzeroalongtherealaxis,butthatthe
realpolemustremainatzero.
b) Placethezerobetween0and5.Findacontrollerthatproducesasettlingtimeoflessthan0.8
seconds,apercentovershootoflessthan2%,andapositionerrorofzero.Savethestep
responseandcontroleffortfigureandthecontrollerthatproducedit.Areallyourpolesinside
thedesignregion?
c) Nowsettherealzerototheleftof6.Thistypeofconfigurationisnotlikelytogetafaster
responsethanwithjustaPcontroller.Why?
6. Proportional+Integral+Derivative(PID)Control
a) LetsstartbymakingaPIDcontrollerwithcomplexconjugatezeros.Edittheprevious
compensatorbydeletingtherealzeroandaddingcomplexconjugatezerosat-7 _ ]7andlook
attherootlocusplot.
b) Findagainvalueofkonthisrootlocussothatthestepresponsehaslessthan10%percent
overshootandasettlingtimelessthan0.5seconds.Savethestepresponseandcontroleffort
figureandthecontrollerthatproducedit.Areallyourpolesandzeroswithinthedesignregion?
Wouldyoucallthisasecondorderdominantsystem?
c) Keepingtherealpartofthezerosat7,reducetheimaginarypartofthezerosasmuchas
possiblewhilekeepingthesamebasicshapeoftherootlocus.Atsomepoint,asyoureducethe
imaginarypart,therootlocuswilltakeaverydifferentshape.Findavalueofkonthisrootlocus
sothatthestepresponsehasapercentovershootoflessthan2%,settlingtimelessthan1
RoseHulmanInstituteofTechnology
ME406ControlSystemsLab5 Page7of9
ME406ControlSystemsLab5 Page8of9
InLabPartB
Usetheplantgivenin(4)forthissectionofthelab.
P(s) =
8.96
0.00147s
2
+0.01455s+1
(4)
Thisisamodelobtainedfromoneofthemassspringdampersystemsinthecontrolslab.
PerformanceConstraints
c
ss
u.1forunitstepinputs
t
s,2%
u.S seconus
%0S 1u%
ControllerParameterConstraints
k
p
1
k
d
u.uS
k
1u
Meetthesedesignconstraintsbyimplementingthefollowingcontrollerstructures
Icontroller(hardtomeetsettlingtime,probablyneedt
s,2%
= 1 sec)
PDcontroller(trytogett
s,2%
u.1 sec)
PIcontroller(hardtomeetsettlingtime,probablyneedt
s,2%
= 1.S sec)
PIDcontrollerwithrealzeros
PIDcontrollerwithcomplexconjugatezeros
Foreachoneofthesecontrollerdesigns,youneedtoincludeyourplotofthestepresponse,your
controllerparameters,andthesteadystateerror.
RoseHulmanInstituteofTechnology
ME406ControlSystemsLab5 Page9of9
InLabPartC
Usetheplantgivenin(5)forthissectionofthelab.
P(s) =
9.29
0.00087s
2
+0.00118s+1
(5)
Thisisamodelobtainedfromanothermassspringdampersysteminthecontrolslab.
PerformanceConstraints
c
ss
u.2forunitstepinputs
t
s,2%
1 seconus
%0S 2u%
ControllerParameterConstraints
k
p
1
k
d
u.uS
k
1u
Meetthesedesignconstraintsbyimplementingthefollowingcontrollerstructures
Icontroller(hardtomeetsettlingtime,dothebestyoucan)
PDcontroller(trytogett
s,2%
u.1 sec)
PIcontroller(hardtomeetsettlingtime,probablyneedt
s,2%
= 1u sec)
PIDcontrollerwithrealzeros
PIDcontrollerwithcomplexconjugatezeros
Foreachoneofthesecontrollerdesigns,youneedtoincludeyourplotofthestepresponse,your
controllerparameters,andthesteadystateerror.