0% found this document useful (0 votes)
80 views9 pages

Root Locus Controller Design Using The Matlab Sisotool' Toolbox

This document provides an overview of using the Matlab 'sisotool' toolbox to design root locus controllers. It describes the root locus methodology and how it can be used to select controller structures and parameters to meet closed-loop performance specifications. The objectives, deliverables, and background of a lab experiment using sisotool for proportional, integral, proportional-integral, and proportional-integral-derivative controller designs on various plant transfer functions are outlined. Instructions for using sisotool and an example in-lab exercise are also provided.

Uploaded by

Ankit Asati
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
80 views9 pages

Root Locus Controller Design Using The Matlab Sisotool' Toolbox

This document provides an overview of using the Matlab 'sisotool' toolbox to design root locus controllers. It describes the root locus methodology and how it can be used to select controller structures and parameters to meet closed-loop performance specifications. The objectives, deliverables, and background of a lab experiment using sisotool for proportional, integral, proportional-integral, and proportional-integral-derivative controller designs on various plant transfer functions are outlined. Instructions for using sisotool and an example in-lab exercise are also provided.

Uploaded by

Ankit Asati
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

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)
+
-

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.

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.

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.

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).

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

Page7of9

second,andapositionerroroflessthan0.01.(Remembertokeepk < 1u.)Savethestep


responseandcontroleffortfigureandthecontrollerthatproducedit.
d) NowletsmakeaPIDcontrollerwithrealzerosat7and8.Determinetherootlocusforthis
system.Findavalueofkonthisrootlocussothatpercentovershootislessthan2%andthe
settlingtimeislessthan1second.(Remembertokeepk < 1u.)Savethestepresponseand
controleffortfigureandthecontrollerthatproducedit.

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.

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.

You might also like