Datorövningar i systemidentifiering Del 2 Denna version: 24 augusti 2015 REGLERTEKNIK AUTOMATIC CONTROL LINKÖPING
1 Parametrisk identifiering av konfektionsmodeller Parametriska konfektionsmodeller (black-box-modeller) behandlas i [2, kapitel 12]. Vid all parametrisk identifiering är det viktigt att ha olika dataset vid estimering (skattning) och validering (utvärdering) av modellen. Har man bara ett dataset brukar man normalt dela upp det i två delar, vilket i GUI:t kan göras under Preprocess och där välja Select Range. 1.1 ARX-modeller Här skall vi först studera hur man kan använda ARX-modeller för att få en uppfattning om systemets huvudsakliga dynamik och vilken ungefärlig ordning systemet har. I figur 1 visas den dialogruta som man får fram genom att välja Estimate och sedan Polynomial Models. Under Structure väljer man olika modellklasser. Vi kommer i detta avsnitt bara studera ARX-modeller. På raden Orders kan man själv skriva in den önskade ordningen på ARXmodellen man önskar skatta. Ordningen beskrivs av en mellanslagsseparerad lista av storheterna n a, n b och n k. En modell av vald ordning skattas då man trycker på Estimate. Till denna modell skapas en ikon som placeras under Models. Figur 1: Dialogruta för val av parametrisk modell att skatta. 2
Det kan vara värdefullt att få stöd i val av modellordning. Genom att trycka på Order Selection och sedan Estimate så skattas alla modeller med ordningar och tidsfördröjningar mellan 1 och 10. Resultatet av dessa skattningar presenteras som den minsta förlustfunktionen utvärderad på valideringsdata för modeller med ett totalt antal parametrar mellan 2 och 20, se figur 2. En grov skattning av systemets ordning fås där förlustfunktionen slutar att minska kraftigt. I figur 2 inträffar det vid den tredje stapeln (här är n a + n b = 3 + 1 = 4 och den modell stapeln representerar är den med 4 parametrar som ger bäst anpassning till data). De modeller som verkar intressanta att arbeta med tas in i användargränssnittet genom att klicka på lämplig stapel och sedan Insert. Figur 2: Resultat av skattning av alla modeller mellan ordning 1 och 10. Uppgifter till avsnitt 1.1 Vi kommer nu återvända till elmotorn med last från uppgift 4 under ickeparametrisk identifiering. För enkelhets skull repeteras beskrivningen här. En fysikalisk modell för en viss sådan elmotor ges approximativt av G(s) = 1 s 3 + 0.9s 2 + 1.1s + 0.46 Vid ett identifieringsexperiment har 1000 datapunkter samlats in med en samplingstid på 0.3 s. Datasetet har sparats som vektorer under namnet elmotor, där insignalen är benämnd u och utsignalen y. (1) 3
u Figur 3: Elmotor 1. Ta in datasetet i SITB och studera vilka tids- och frekvensegenskaper det har. 2. Förbehandla data och dela upp datasetet i estimerings- och en valideringsdata. 3. Titta på in- och utdata i tids- och frekvensplanet och se om allt ser normalt ut, d.v.s. att inga trender finns i data eller att någon outlier har kommit med. 4. Utifrån modellen (1), vilken modellordning bör din (tidsdiskreta) ARXmodell ha? 5. Använd möjligheten att skatta många olika modeller samtidigt genom Order selection. Vilken/vilka modellordningar verkar lämpliga? 6. Fortsätt att pröva några fler modellordningar för att hitta en vettig modell! 7. Välj ut en eller ett par modeller som du tycker är bättre än de övriga och studera dess egenskaper mer noggrant. Beter sig modellen som du har förväntat dig? 1.2 Validering Validering är en viktig aspekt vid modellering, se [2, kapitel 14.5]. Användargränssnittet erbjuder en hel del stöd för detta under Model Views där man bland annat studera Model output. Predikterad eller simulerad utsignal baserad på valideringsdata. Model resids. Plottar av ˆR ε (τ) och ˆR εu (τ) beräknad på valideringsdata. 4
Frequency resp. Modellens bodediagram. Zeros and poles. Modellens poler och nollställen. (Se [2, kapitel 14.5] för mer detaljer kring vad man ska studera i de olika fallen.) Notera speciellt att man i alla plottar även kan se konfidensintervall genom att välja Show 99% confidence intervals under Options (man kan även välja andra intervall). Detta är exempelvis intressant för Zeros and poles, då överlappande konfidensintervall för poler och nollställen kan ge en indikation om för hög modellordning (poler och nollställen kan förkortas bort). Dessutom kan modellens parametrar och dess skattade standardavvikelser tas fram genom att klicka med höger musknapp på modellens ikon. Då får man fram ett fönster enligt figur 4. Här finns viss information om hur mo- Figur 4: Information om en skattad ARX(2,1,1)-modell. dellen är framtagen. Modellens parametrar fås i Matlab-fönstret genom att klicka på Present. Detta resulterar i följande utskrift för modellen i figur 4 (där n a = 2, n b = 1 och n k = 1) Discrete-time IDPOLY model: A(q)y(t) = B(q)u(t) + e(t) A(q) = 1-1.821 (+-0.006219) q^-1 + 0.849 (+-0.005752) q^-2 B(q) = 0.05476 (+-0.001716) q^-1 Estimated using ARX with focus from data set yude 5
Loss function 0.15029 and FPE 0.152104 Sampling interval: 0.3 Created: 09-Feb-2006 16:49:25 Last modified: 09-Feb-2006 16:49:26 Här tolkas utskriften av modellens B-polynom enligt följande. B(q) består av en parameter vars skattade värde är 0.05476 och dess skattade standardavvikelse är 0.001716. Dessutom ges information om A-polynomet, förlustfunktionens värde, samplingsintervallet för datasetet och när modellen skattades. Notera att det i vissa fall är bättre med en modell med god prediktionsförmåga medan det i andra fall är viktigare att ha en bra simuleringsmodell. Detta kan studeras under Model output och välja prediktion respektive simulering under menyn Options och sedan välja Simulated output eller k Step Ahead Predicted Output (där k är något numeriskt värde som väljs under Set prediction horizon). Uppgifter till avsnitt 1.2 1. Jämför frekvensskattningarna (Frequency resp) från de parametriska modellerna med spektralskattningen och med dina förkunskaper om systemet. 2. Ta fram de skattade kovarians- och korskovariansfunktionerna ˆR ε (τ) och ˆR εu (τ) under Model resids. Vad har din bästa modell för brister i det avseendet? 3. Studera osäkerheten i de skattade parametrarna hos din bästa modell. Är skattningen noggrann? Är parametrarna signifikanta? 4. Vilken modell tycker du är bäst? 1.3 Allmänna black-box-modeller Vi skall här fortsätta att modellera elmotorn från tidigare avsnitt. Till vår hjälp skall vi använda oss av mer generella black-box-modeller än vad som var fallet tidigare. Modellstrukturerna ARMAX, OE och BJ nås under samma meny som ARX-modellerna. Klicka på Estimate och sedan Parametric 6
models och i den dialogruta som kommer upp finns de söka modellstrukturerna under Structure. Uppgifter till avsnitt 1.3 1. Om du sparade experimentet från tidigare avsnitt så ladda in det. I annat fall, ta in data och gör förbehandling och skatta den bästa ARXmodellen ni hittade då. 2. Försök att hitta ännu bättre modeller genom att testa ARMAX, OE, BJ och tillståndsmodeller. Utgå från den modellordning som den bästa ARX modellen har. 1.4 En industriell tillämpning av identifiering Identifieringen av elmotorn som har studerats tills nu var förhållandevis enkel. Processen är ganska linjär, mätbruset är litet och system är av låg ordning. För att få ett lite svårare problem skall vi nu studera ett dataset taget från en industrirobot 1. Data har insamlats då roboten utför en rörelse kring axel 1, se figur 5. Under rörelsen har motormoment (insignal) och motor- Figur 5: Bild av en ABB IRB1400. Axel 1 är markerad med en ellips. 1 Roboten är en IRB1400 från ABB som står placerad i B-huset ingång 27 vid Linköpings universitet. 7
vinkel (utsignal) uppmätts. Estimeringsdata och valideringsdata finns lagrade som iddata-objekten ze och zv i filen irb1400.mat. Samplingstiden är 0.00504 s (efter att lämplig nedsampling och förfiltrering har skett) och dataseten består av vardera 397 datapunkter. Insignalen har i båda fallen varit lågpassfiltrerat vitt brus. Robotens reglersystem har hela tiden varit inkopplat. Det man vet om regulatorn är att återkopplingen är stark för riktigt låga frekvenser (man vill inte ha statiska reglerfel). Noterbart är också att systemet är oscillativt på grund av sin mekaniska konstruktion. Uppgifter till avsnitt 1.4 1. Datasetet har samlats in under återkoppling. Hur påverkar det de ickeparametriska frekvensskattningsmetoderna? 2. Vad innebär det för den icke-parametriska skattningen att systemet är oscillativt? 3. Utgå från de kunskaper du har fått från modelleringsförfarandet av elmotorn och försök att hitta en så bra modell som möjligt för denna process. Diskussion/lösningsförslag Nedan följer högst ungefärliga lösningsförslag på uppgifterna. Dessa kan variera från fall till fall beroende på hur data förbehandlas och delas upp estimerings- och valideringsdata. Därför kan dina iakttagelser i många fall vara helt korrekta även om de inte är i överensstämmelse med det som står beskrivet nedan. Diskussion av uppgifter i avsnitt 1.1 2. Det kan vara lämpligt att låta estimerings- och valideringsdelen vara lika stora. Då vi inte har så mycket förkunskap om själva insamlingsprocessen och eventuella mätstörningar, så räcker det i detta fall med att dra bort medelvärdet hos signalerna. 3. Ser ok ut. 8
4. Den tidsdiskreta modellen har ordning n a = 3, n b = 3 och n k = 1 (d.v.s. [3 3 1] i SITB-notation) om vi antar att insignalen är konstant mellan samplingsögonblicken. 5. Här kan man få lite olika svar beroende på hur man har valt att dela på dataset i estimerings- och valideringsdata. Order selection indikerar att ordningarna [3 1 4], [4 1 5] och [4 2 4] kan vara lämpliga kandidater. 6. Modellerna av ordning [2 2 1] och [3 1 4] får hyfsade värden i Model output. Genom att välja en betydligt högre modellordning, t.ex. [8 2 3], fås en markant högre modelanpassning i Model output. Dock har dessa modeller alldeles för många poler jämfört med det sanna systemet. Diskussion av uppgifter i avsnitt 1.2 1. Bodediagrammet som fås för modellerna med låga modellordningar, d.v.s. [2 2 1] och [3 1 4], ser ganska bra ut, men har huvudsaklingen två brister. En brist är att frekvenstoppen ligger lite fel. Den ska ligga runt 0.9 rad/s men ligger runt 0.6 rad/s. En annan brist är att lutningen som förstärkningen faller av med också är något för flack. Modellen med ordningstal [8 2 3] har däremot sin resonanstopp runt 0.8 rad/s och faller av betydligt snabbare. Det innbär att denna modell bättre beskriver det sanna systemet. 2. I termer av kovariansfunktioner är modellerna [2 2 1], [3 1 4] och [8 2 3] ganska lika. Det finns toppar både i diagrammet för ˆR ɛ (τ) och för ˆR ɛu (τ) som går utanför respektive konfidensintervall. Det innebär att det finns information i utsignalen som inte förklaras riktigt bra av någon av dessa modeller. 3. Alla tre modellerna ovan har alla parametrar signifikanta, men modellen med [8 2 3] har ett par parametrar där konfidensintervallet har samma storleksordning som parametern själv. 4. Utifrån de tidigare uppgifterna verkar det som om modellen med n a = 8, n b = 2 och n k = 3 beskriver data bäst. Dock har den alldeles för många poler jämfört med det sanna systemet. 9
Diskussion av uppgifter i avsnitt 1.3 2. Efter en del prövande får man fram att en ARMAX-modell med n a = 3, n b = 1, n c = 3 och n k = 2 eller en tillståndsmodell med ordning 3 verkar beskriva systemet mycket bra. Diskussion av uppgifter i avsnitt 1.4 1. De icke-parametriska metoder vi studerar här fungerar normalt sett inte under återkoppling. Hur bra det fungerar beror på hur starkt beroendet är mellan brus och insignal. I detta fall är beroendet starkt för låga frekvenser och svagare för högre vilket gör att vi inte bör lita fullt ut på dessa skattningar. 2. Då systemet är oscillativt så kommer bodediagrammet att ha höga skarpa resonanstoppar. Därför bör ett högt värde på parametern M användas. 3. Systemet kan modelleras ganska väl av en BJ-modell av ordning [8 4 4 10 1]. Anpassningen till den icke-parametriska skattningen är utmärkt för höga frekvenser, korsvalidering mot valideringsdata i både simulerings- och predikteringsfallet faller mycket väl ut och residualerna vitas ganska väl. Referenser [1] T. Glad and L. Ljung. Reglerteknik. Grundläggande teori. Studentlitteratur, 2006. [2] L. Ljung and T. Glad. Modellbygge och simulering. Studentlitteratur, 2004. 10