institutionen för systemteknik - diva...

95
Institutionen för systemteknik Department of Electrical Engineering Examensarbete Slutfasstyrning av robot – en jämförelse mellan LQ och MPC Examensarbete utfört i Reglerteknik av Sofia Sjögren och Nina Wollinger LiTH-ISY-EX--07/3923-- SE Linköping 2007 TEKNISKA HÖGSKOLAN LINKÖPINGS UNIVERSITET Department of Electrical Engineering Linköping University S-581 83 Linköping, Sweden Linköpings tekniska högskola Institutionen för systemteknik 581 83 Linköping

Upload: others

Post on 13-Mar-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

Institutionen för systemteknik

Department of Electrical Engineering

Examensarbete Slutfasstyrning av robot – en jämförelse mellan LQ och MPC

Examensarbete utfört i Reglerteknik

av Sofia Sjögren och Nina Wollinger

LiTH-ISY-EX--07/3923-- SE

Linköping 2007

TEKNISKA HÖGSKOLAN LINKÖPINGS UNIVERSITET

Department of Electrical Engineering

Linköping University

S-581 83 Linköping, Sweden

Linköpings tekniska högskola

Institutionen för systemteknik

581 83 Linköping

Page 2: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional
Page 3: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

Slutfasstyrning av robot – en jämförelse mellan LQ och MPC

Examensarbete utfört i Reglerteknik vid Linköpings tekniska högskola

av

Sofia Sjögren och Nina Wollinger

LITH-ISY-EX--07/3923--SE

Handledare: M.Sc. Janne Harju Johansson ISY, Linköpings universitet Mathias Persson Saab Bofors Dynamics, Karlskoga Examinator: Prof. Anders Hansson ISY, Linköpings universitet

Linköping 19 december 2007

Page 4: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional
Page 5: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

Presentationsdatum 2007-12-19 Publiceringsdatum (elektronisk version)

Institution och avdelning Institutionen för systemteknik Department of Electrical Engineering

ISBN (licentiatavhandling) ISRN

LiTH-ISY-EX--07/3923-- SE

Serietitel (licentiatavhandling)

Språk X Svenska Annat (ange nedan)

Antal sidor 76

Typ av publikation Licentiatavhandling X Examensarbete C-uppsats D-uppsats Rapport Annat (ange nedan)

Serienummer/ISSN (licentiatavhandling)

URL för elektronisk version http://www.ep.liu.se

Publikationens titel Slutfasstyrning av robot – en jämförelse mellan LQ och MPC Författare Nina Wollinger och Sofia Sjögren

Sammanfattning Arbetet har utförts på Saab Bofors Dynamics i Karlskoga och dess syfte var att undersöka om det är möjligt att använda modellbaserad prediktionsreglering, MPC, vid slutfasstyrning av en viss typ av robot. Som referensram används linjärkvadratisk reglering, LQ, eftersom denna reglermetod har undersökts tidigare och visat sig fungera bra vid slutfasstyrning, dock för en annan typ av robot. Anledningen till att man vill undersöka om det är möjligt att använda MPC är att styrlagen enkelt tar hand om begränsningar på systemet på ett direkt och intuitivt sätt. Styrlagarnas uppgift är att styra en robot i dess slutfas då det finns krav och önskemål på roboten som bör vara uppfyllda. Till exempel finns det begränsningar på styrsignalen samt önskemål om att träff ska ske i en viss träffpunkt och även med en viss träffvinkel. För att utvärdera resultaten undersöks och jämförs de två styrlagarnas prestanda och robusthet. För att kunna utvärdera styrlagarnas egenskaper och jämföra dem implementeras de båda i en befintlig detaljerad simuleringsmiljö, som har utvecklats på Saab Bofors Dynamics i Karlskoga. De prestanda och robusthetstester som har utförts uppvisar små skillnader på de två styrlagarna och slutsatsen blir därmed att det är möjligt att använda modellbaserad prediktionsreglering vid slutfasstyrning av en viss robot eftersom det sedan tidigare är känt att linjärkvadratisk reglering är en bra styrlag att använda. För att se vilken av de två styrlagarna som är bäst vid slutfasstyrning av en viss typ av robot behöver det göras vissa ändringar och mer detaljerade undersökningar utföras. Antal sidor: 76

Nyckelord Slutfasstyrning, MPC, model predictive control, LQ, linear quadratic, missilstyrning, reglerteknik

Page 6: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional
Page 7: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

Abstract

The aim of this thesis is to determine if it is possible to use model precictive control, MPC, in terminal guidance for a certain kind of missile. From prior studies for another kind of missile it is known that linear quadratic control, LQ, is a good control law to use for terminal guidance. Hence is MPC compared to LQ for determine if it is possible to use MPC in terminal guidance. The reason to why it is desired to use MPC is because the algorithm deals with limitations on the system in a way that is easy to understand and implement.

The task for the control law is to control the missile in the terminal phase of the guidance. The laws have to consider certain requirements and wishes that is supposed to be fulfilled. For example there are special requirements that the missile should impact at a certain point and with a certain angle. One requirement on the system is that the control signal has to be limited in order for the missile to perform the desired task. To evalute and draw conclusions about the results of the two contol laws their performances and robusteness are compared.

To make the comparison the two control laws are implemented in an existing complex simulation environment developed at Saab Bofors Dynamics in Karlskoga.

The performance and robustness tests that has been evaluated does not show any radical differences between the two control laws, LQ and MPC. This leads to the conclusion that it is possible to use both LQ and MPC in terminal guidance for a certain kind of missiles. To further evaluate and determine which of the two control laws that is best suited for terminal guidance more test have to be performed.

Page 8: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional
Page 9: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

Förord

Vi vill börja med att tacka våra handledare Mathias Persson, på Saab Bofors Dynamics, och Janne Harju Johansson, på ISY för underbart stöd och hjälp, utan er hade vi aldrig blivit färdiga.

Stort tack även till Anders Hansson, examinator, och Per Grådal, Saab Bofors Dynamics i Karlskoga för att vi fick möjligheten att göra exjobbet. Tack till Thomas Svantesson på Saab Bofors Dynamics i Linköping för den information som vi fick tillgång till angående vad som tidigare har gjorts inom området.

Tack till våra opponenter Jakob och Johan för deras värdefulla kommentarer.

Sofia vill speciellt tacka sin familj (Eva, Leif, Sandra, Stefan och Tilde) för deras stöd och uppmuntran i svåra och kämpiga tider.

Nina vill speciellt tacka sin familj som alltid finns där när hon behöver dem och Anders som uppmuntrat och stöttat henne när det känts tungt.

Linköping, december 2007

Sofia Sjögren och Nina Wollinger

Page 10: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional
Page 11: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

Innehållsförteckning

1 Inledning 1

1.1 Bakgrund 1

1.2 Rapportens mål 1

1.3 Omfattning och avgränsningar 1

1.4 Tidigare arbeten 3

1.5 Rapportens struktur 4

2 Systembeskrivning 5

2.1 Modell av systemet 5

2.2 Samplande regulator 6

2.2.1 Samplingsfrekvens 6

2.3 Tillståndsform 7

2.3.1 Tillståndet ETT 7

2.3.2 Tidsdiskretisering 8

2.4 Begränsning på systemet 8

3 Koordinatsystem 10

3.1 Jordfast koordinatsystem 10

3.2 Transformerat koordinatsystem 10

4 Teoribakgrund 12

4.1 Linjärkvadratisk reglering 12

4.1.1 Översiktlig beskrivning 12

4.1.2 Optimal återkoppling 12

4.2 Modellbaserad prediktionsreglering 13

4.2.1 Översiktlig beskrivning 13

4.2.2 QP-problemet 14

4.2.3 Omformulering av QP-problemet 15

5 Styrlagar 16

Page 12: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

5.1 Linjärkvadratisk reglering 16

5.1.1 Översiktlig beskrivning 16

5.1.2 Framtagning av den optimala regulatorn 17

5.1.3 Designparametrar 18

5.1.4 Bivillkor 19

5.2 Modellbaserad prediktionsreglering, MPC 19

5.2.1 Översiktlig beskrivning 20

5.2.2 Designparametrar 23

5.2.3 Bivillkor 24

6 Val av parametrar 26

6.1 Skattning av systemets egenfrekvens 26

6.1.1 Utförande 26

6.1.2 Resultat och slutsats 26

6.2 Skattning av återstående tid till träff, tgo 27

6.2.1 Metod 1 28

6.2.2 Metod 2 28

6.2.3 Metod 3 28

6.2.4 Resultat för skattning av tgo 29

7 Val av designparametrar 30

7.1 LQ 30

7.1.1 Konstant manöver 30

7.1.2 Träffvinkel 31

7.2 MPC 31

7.2.1 Konstant manöver 31

7.2.2 Träffvinkel 32

7.2.3 Val av antal optimeringspunkter, M 32

8 Prestanda 37

8.1 Begränsning på styrsignalen 37

Page 13: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

8.1.1 Lättare simuleringsfall 38

8.1.2 Svårare simuleringsfall 40

8.1.3 Begränsning för den totala styrsignalen 41

8.1.4 Resultat och slutsats 43

8.2 Tillstånden under banan 43

8.2.1 Lättare simuleringsfall 43

8.2.2 Svårare simuleringsfall 45

8.2.3 Resultat och slutsats 46

8.3 Önskemål under banan 46

8.3.1 Träffpunkt 47

8.3.2 Träffvinkel 48

8.3.3 Resultat och slutsats 49

8.4 Önskemål om träffpunkt i sluttillståndet 49

8.4.1 Resultat och slutsats 51

8.5 Önskemål om träffpunkt och träffvinkel i sluttillståndet 51

8.5.1 Resultat och slutsats 53

8.6 Jämförelse med MBPN 53

8.6.1 Resultat och slutsats 56

9 Robusthet 57

9.1 Felskattning av tgo 57

9.1.1 Underskattning av tgo 57

9.1.2 Överskattning av tgo 57

9.1.3 Resultat och slutsats 57

9.2 Felskattning av egenfrekvensen 62

9.2.1 Underskattning av ω 62

9.2.2 Överskattning av ω 62

9.2.3 Resultat och slutsats 63

9.3 Förstärkningsfel 67

Page 14: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

9.3.1 Underdimensionerad styrsignal 67

9.3.2 Överdimensionerad styrsignal 67

9.3.3 Resultat och slutsats 68

9.4 Beräkningtider 72

10 Slutsatser och rekommendationer för framtida arbete 73

10.1 Slutsatser 73

10.2 Rekommendationer för framtida arbete 73

11 Referenslista 75

Bilagor 76

A. Tidsdiskretisering 76

Page 15: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

Notförteckning

Definitioner DCBA ,,, Tidskontinuerliga systemmatriser

ΨΘΓΦ ,,, Tidsdiskreta systemmatriser

SH , Tidsdiskreta systemmatriser

X Tidsdiskret tillståndsmatris

U Tidsdiskret styrsignalsmatris

1221 ,,, QQQQ f Tidskontinuerliga straffmatriser

dddfd QQQQ 1221 ,,, Tidsdiskreta straffmatriser

Q1d, Q2d Tidsdiskreta blockdiagonala straffmatriser

MPCmanLQman qq ,, , Viktvärden i straffmatriserna

MPCvelLQvel qq ,, , Viktvärden i straffmatriserna

ETTaccvelpos qqqq ,,, Viktvärden i straffmatriserna

dL Tidsdiskret optimal tillståndsåterkoppling

M Antal optimeringspunkter

I Enhetsmatris av storleken nn×

1 Ettvektor av storleken 1×n

0 Nollvektor av storleken

)(tac Kommenderad acceleration

)(tad Önskad acceleration

)(tau Uttagen acceleration

es Sträcka angivet i jordfasta koordinatsystemet

ev Hastighet angivet i jordfasta koordinatsystemet

ea Acceleration angivet i jordfasta koordinatsystemet

ws Sträcka angivet i det transformerade koordinatsystemet

wv Hastighet angivet i det transformerade koordinatsystemet

wa Acceleration angivet i det transformerade koordinatsystemet

sT Samplingsintervall

Page 16: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

got Återstående tid till träff

fv Önskad hastighetsvektor vid träff

sω Samplingsfrekvens

bω Systemets bandbredd

dr Referensvärde för träffavstånd

ar Referensvärde för träffvinkel

)(lim ku Begränsning på styrsignalen

Page 17: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

Förkortningar MPC Model Predictive Control (eng), Modellbaserad prediktions-reglering

LQ Linear Quadratic Control (eng), linjärkvadratisk reglering

QP Quadratic Programming (eng), kvadratisk programmering

BPN Biased Proportional Navigation (eng)

MBPN Modified Biased Proportional Navigation (eng)

BTT Bank-to-Turn (eng)

MRAAM Medium Range Air-to-Air Missiles (eng)

LQAPN Linear Quadratic Augmented Proportional Navigation (eng)

Page 18: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

1

1 Inledning

1.1 Bakgrund I dagens samhälle ökar kraven på försvarsmakten angående alltmer avancerade robotar med ökad precision. Detta leder till att allt högre krav ställs på moderna robotar när det gäller dess prestanda. För att möta dessa krav undersöks olika styrlagar, som tar hand om styrningen av roboten, för att hitta den styrlag som passar tillämpningen bäst och som ger maximal prestanda.

Det finns idag en mängd olika styrlagar som kan användas för reglering av en robot vid slutfasstyrning. I detta examensarbete har två styrlagar valts ut för att studeras närmare. De två styrlagar som ska undersökas är linjärkvadratisk reglering (LQ) och modellbaserad prediktionsreglering (MPC). Anledningen till att valet föll på dessa två är att LQ är en välkänd och väl använd styrlag och att MPC under de senaste åren har blivit en alltmer vedertagen och använd styrlag. MPC har länge använts inom processindustrin där förloppen är långsamma, men i takt med ökad datorkraft kan styrlagen även användas på system med snabbare förlopp, som det handlar om i detta arbete. Ökad datorkraft har alltså gjort det möjligt att utföra de beräkningar i realtid som MPC kräver. Saab Bofors Dynamics är därför intresserade av att undersöka möjligheten att använda MPC vid slutfasstyrningen av en viss typ av robot. Från tidigare studier är det känt att LQ är en bra styrlag att använda vid slutfasstyrning, dock med en annan typ av robot, och därför jämförs MPC med denna. För att kunna utvärdera styrlagarnas egenskaper och jämföra dem implementeras de båda i en befintlig simuleringsmiljö.

1.2 Rapportens mål Examensarbetets syfte är att undersöka möjligheten att använda MPC-reglering vid slutfasstyrning av en viss typ av robot. Då en variant av LQ tidigare undersökts för slutfasstyrning av en annan typ av robot används styrlagen i detta arbete som referensram. För att uppfylla syftet för denna rapport har flera delmål ställts upp:

• Att för en robot ta fram en lösning till ett styrproblem dels med MPC-metodik och dels med LQ-metodik.

• Att jämföra prestanda för styrlagarna MPC och LQ med avseende på olika typer av krav och önskemål, både under slutfasen och vid träff.

• Att väga styrlagarnas för- och nackdelar mot varandra. Här tas hänsyn till bland annat realiserbarhet och robusthet.

1.3 Omfattning och avgränsningar Diverse avgränsningar av arbetet har gjorts dels för att begränsa innehållet till en hanterlig mängd och dels p.g.a. naturliga begräsningar genom robotens fysiska begränsningar och även

Page 19: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

2

rent arbetspraktiska förutsättningar.

De styrlagar som studeras i detta examensarbete och den simuleringsmiljö som används för att jämföra dessa styrlagar är anpassade för en specifik robot. Roboten som har studerats är en missil av typen Bank-to-Turn (BTT) och det är den typ som oftast används för missiler med längre räckvidd. BTT innebär att om roboten svänger måste den rolla för att placera accelerationsvektorn i rätt riktning innan den kan accelerera i en annan riktning. Detta gör att roboten har svårt att klara av snabba manövrar. En arbetspraktisk begränsning är att vid implementeringen av styrlagarna beräknades tillstånden som mätta eftersom de redan skattats under ett tidigare skede i simuleringsprogrammet. Ytterligare en avgränsning är att målet som använts i simuleringsmiljön är stationärt.

Simuleringsmodellen som använts har utvecklats innan utförandet av detta examensarbete på Saab Bofors Dynamics i Karlskoga. Bland annat tas det i denna modell hänsyn till aerodynamiska förutsättningar såsom t.ex. robotens utformning och yttre påverkan i form av t.ex. vindar. Den approximerade modellen är däremot relativt enkel. Här är insignalen kommenderad acceleration eftersom styrautomaten betraktas som en del av simuleringsmodellen. Uttagen acceleration är en följd av de kommenderade roderutslagen.

Den bana som roboten färdas i från start till mål kan delas in i tre olika faser: separationsfas, attackfas och slutfas, se Figur 1. I detta examensarbete studeras endast slutfasen vilket innebär att de styrlagar som har implementerats endast används för slutfasstyrningen av roboten. De tidigare faserna kommer endast med genom begynnelsevillkoren för styrlagarna, d.v.s. de påverkar starttillståndet för roboten i slutfasen. Separationsfasen pågår från start tills dess att roboten har separerats från vapenbäraren och påbörjat en upptagningsmanöver vilket sker då roboten närmar sig målet och attackfasen inleds. Attackfasen avslutas då upptagningsmanövern är gjord och roboten har riktats in i lämplig dykvinkel mot målet och målsökaren låst på målet. Slutfasen är den del av banan som tar roboten från mållåsningen fram till mål. Det är i denna fas som slutfasstyrningen används för att styra roboten.

Page 20: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

Figur 1: Beskrivning av robotens olika faser

1.4 Tidigare arbeten För att ge en överblick om vad som redan har undersökts inom området slutfasstyrning av robot presenteras nedan några examensarbeten som har behandlat ämnet.

I (Persson, 2002) styrs roboten via reglermetoderna BPN och MBPN med avseende på en referensbana som räknas fram då roboten kommer in i slutfasen. Reglerproblemet löses genom att det skapas en referensbana, som uppdateras under flygningen, som om den följs gör att träff sker i en önskad punkt och med en önskad vinkel och sedan används en separat styrlag för att styra missilen längs denna referensbana där hänsyn tas till missilens begränsningar.

Även i (Gustavsson, 2004) styrs roboten via en referensbana. Här används styrlagen för att reglera missilen till en bana som genereras vid start. Banan är utformad så att om roboten följer den kommer den att träffa målet i en viss punkt och med en viss vinkel. Kravet är att roboten ska följa banan så bra som möjligt för att träffa målet i önskad punkt och träffvinkel.

Skillnaden mellan (Gustavsson, 2004) och (Persson, 2002) är att i (Gustavsson, 2004) genereras inte en ny referensbana utan roboten styrs tillbaka mot referensbanan som genererades vid planeringen av uppdraget. I båda de ovan nämnda examensarbetena, liksom för detta examensarbete, är roboten av typen BTT och avsedd för markfasta mål.

I (Ekström, 2005) undersöks slutfasstyrning av en robot av typen Medium Range Air-to-Air Missiles (MRAAM) som är en höghastighetsrobot avsedd för rörliga mål. Här jämförs reglermetoderna MPC och explicit MPC gentemot flera reglermetoder. Framför allt jämförs resultaten med reglermetoden LQAPN. Anledningen till att det är intressant att undersöka MPC för denna typ av robot är att MPC kan ta hänsyn till begränsningen att roboten inte kan accelerera obegränsat. Denna begränsning har satts till ett konstant värde som inte ska överstigas. I (Ekström, 2005) har fokus legat på att avståndet till målet vid träff ska vara så

3

Page 21: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

4

litet som möjligt.

1.5 Rapportens struktur I rapportens andra kapitel presenteras hur systemet som använts i examensarbetet har tagits fram från kontinuerlig överföringsfunktion till tidsdiskret tillståndsform. I kapitel 3 beskrivs sedan de koordinatsystem som använts vid styrning av roboten. Kapitel 4 presenterar de teorier som styrningen har baserats på. Efterföljande kapitel, kapitel 5, visar hur teorin har anpassats till tillämpningen slutfasstyrning. Därefter i kapitel 6 visas hur systemets egenfrekvens och återstående tid till träff skattas. Hur de olika designparametrarna används för LQ och MPC presenteras därpå i kapitel 7. I kapitel 8 och 9 presenteras de resultat som erhållits vid simuleringarna med avseende på reglermetodernas prestanda och robusthet. Slutligen, i kapitel 10, presenteras de slutsatser som har dragits utgående från resultaten.

Page 22: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

2 Systembeskrivning I det här kapitlet beskrivs den modell som har använts i examensarbetet och hur den har tagits fram från kontinuerlig överföringsfunktion till tidsdiskret tillståndsform. I avsnitt 2.1 presenteras den modell som har använts för systemet och hur den kontinuerliga överföringsfunktionen ser ut. Systemet är av samplande karaktär och uttrycks därför på tidsdiskret form, se avsnitt 2.2. I avsnitt 2.3 beskrivs hur systemet sedan kan skrivas på tillståndsform.

2.1 Modell av systemet Det totala systemet, simuleringsmiljön, består av roboten och dess omgivning. Systemet kan delas upp i fyra mindre delsystem. Dessa är Mål, Målsökare, Styrsystem och Robot, se Figur 2. Mål är det delsystem som innehåller information om målets position. Delsystemet Målsökaren mäter positionsfelet, , mellan roboten och målet. Positionsfelet mellan

roboten och målet används i delsystemet Styrsystem för att beräkna önskad acceleration, , som skickas till roboten. Robot är den fysiska roboten som ska styras mot målet.

)(tx

)(tad

Figur 2: Översiktlig beskrivning av systemet

Styrsystem är enligt ovan det delsystem som reglerar och styr roboten och detta system delas i sin tur upp i följande tre delsystem: Observatör, Styrlag och Styrautomat, se Figur 3. Styrlagarna LQ och MPC har implementerats i delsystemet Styrlag. Observatören och Styrautomaten finns implementerade i simuleringsmiljön sedan tidigare. Observatören skattar robotens position i förhållande till målets position, )(~ tx , utifrån informationen om

positionsfelet. Det skattade positionsfelet skickas till Styrlag som beräknar en kommenderad acceleration, och skickar den vidare till Styrautomaten. Styrautomaten använder den

kommenderade accelerationen och styr rodren för att få roboten att accelerera. En approximation av överföringsfunktionen från kommenderad acceleration, , till önskad acceleration, , för roboten ges i detta arbete av

)(tac

)(tac

)(tad

)(1

1)( sas

sa cd

ω+= (2.1)

där ω är egenfrekvensen. Denna modell används genomgående i detta arbete och den beskriver roboten väldigt bra trots att den är väldigt enkel (Glawing, 2006).

5

Page 23: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

Figur 3: Styrsystemet består av tre delsystem.

2.2 Samplande regulator Följden av att styrsystemet som beskrevs i avsnitt 2.1 datorimplementeras är att regulatorn blir av samplande karaktär. En regulator är ett system som utifrån referenssignalen och utsignalen ger styrsignalen som utsignal. Anledningen till att den kallas samplande

regulator är att värdena på referens- och utsignalen ges till regulatorn vid diskreta tidpunkter , , 2, … och utifrån dessa beräknas styrsignalen.

)(tr)(ty )(tu

ik 1=i

Figur 4 beskriver hur styrsignalen erhålls. I första blocket, Sampling, tas sampel från de tidskontinuerliga signalerna och . Därefter skickas en följd av tal, och vidare till Styrlag-blocket. Detta block beräknar utifrån de tidsdiskreta signalerna och

fram en talföljd som skickas in i blocket Håll. Utgående från den talföljden genererar blocket Håll en styckvis konstant, tidskontinuerlig styrsignal som skickas in till systemet. Värdet för blir för

)(tr )(ty )( ikr )( iky)( ikr

)( iky )( iku)(tu

)(tu )( iku 1+<≤ ii ktk . Denna signal ger i sin tur en utsignal från System som blir insignal till samplingsblocket (Glad & Ljung, 2003). )(ty

I detta examensarbete har endast funktionen i blocket Styrlag utvecklats och implementerats, dels som linjärkvadratisk reglering och dels som prediktionsreglering. Via simuleringsprogrammet inkluderas även övriga block i Figur 4. Då regleralgoritmerna är tidsdiskreta har tidsdiskretisering av systemmatriserna och straffmatriserna utförts. Mer om tidsdiskretisering presenteras i avsnitt 2.3.2.

Figur 4: Schematisk bild av en samplande regulator.

2.2.1 Samplingsfrekvens

En avgörande faktor för den samplande regulatorns prestanda är samplingsfrekvensen. Om samplingsfrekvensen är för låg kommer inte systemets egenskaper att beskrivas korrekt. I (Glad & Ljung, 2003) presenteras en tumregel gällande samplingsfrekvensen. Den säger att samplingsfrekvensen, sω , bör vara minst tio gånger större än systemets bandbredd, Bω , d.v.s.

Bs ωω 10≥ . (2.2)

6

Page 24: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

Om villkoret visas beroende av samplingsintervallet

ssT

ωπ2

= (2.3)

erhålls

BsT

ωπ

5≤ . (2.4)

Det villkoret är med god marginal uppfyllt i detta examensarbete och har erhållits från det existerande systemet.

2.3 Tillståndsform Trots att överföringsfunktionen (2.1) som anges i avsnitt 2.1 kan förefalla väl enkel har den visat sig vara en god approximation av det verkliga systemet. För att sedan lättare kunna arbeta med modellen är det önskvärt att representera den på tillståndsform. I detta examensarbete har (2.1) beskrivits på tillståndsform med tillståndsvektorn

[ Txxxx 321= ] (2.5)

där är relativa positionen, är den relativa hastigheten och är den relativa

accelerationen mellan mål och robot. Sambandet mellan tillstånden för det tidskontinuerliga systemet beskrivs sedan som ett system av första ordningens differentialekvationer enligt

1x 2x 3x

BuAxx +=& (2.6)

DuCxy +=

DCBA ,,, är modellens systemmatriser som ges av sambanden mellan tillstånden, insignalen

och utsignalerna. I detta examensarbete har följande kontinuerliga systemmatriser använts:

⎥⎥⎥

⎢⎢⎢

−=

ω00100010

A (2.7)

⎥⎥⎥

⎢⎢⎢

⎡=

ω00

B

⎥⎥⎥

⎢⎢⎢

⎡=

100010001

C [ ]0=D

2.3.1 Tillståndet ETT

I vissa tillämpningar är det önskvärt att reglera mot ett konstant värde skilt från noll. En vanlig metod för att lösa detta är att införa en referenssignal mot vilka tillstånden regleras. I detta arbete löses istället detta genom att införa ett så kallat ETT-tillstånd. Metoden används bland annat i (Glawing, 2006). Genom att införa ett fjärde tillstånd, , kan en 14 =x

7

Page 25: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

linjärkombination mellan det tillståndet och något av de andra tillstånden konstrueras. Om det till exempel önskas att roboten skall styra mot hastigheten 5 m/s skapas en linjärkombination enligt som regleras mot noll och följaktligen regleras hastigheten mot 5 m/s. 42 5xx −

Efter införandet av ETT-tillståndet blir tillståndsbeskrivningen enligt

⎥⎥⎥⎥

⎢⎢⎢⎢

−=

000000001000010

ωA (2.8)

⎥⎥⎥⎥

⎢⎢⎢⎢

=

0

00

ωB

⎥⎥⎥⎥

⎢⎢⎢⎢

=

0000010000100001

C [ ]0=D

ETT-tillståndet initieras med tillståndsvektorn

[ ]Tx 10 ∗∗∗=

∗ indikerar att ett godtyckligt värde kan stå på dessa platser.

2.3.2 Tidsdiskretisering

I Figur 4 i avsnitt 2.2 kan man se att styrlagen i den samplande regulatorn bör vara av tidsdiskret karaktär. Därför krävs det att systemmatriserna givna av (2.7) tidsdiskretiseras. Då systemet är tidsdiskret beskrivs sambanden mellan tillstånden som ett system av första ordningens differensekvationer istället för ett system av första ordningens differentialekvationer som skedde i det tidskontinuerliga fallet. Indexet anger vilken sampeltidpunkt som avses. Efter tidsdiskretisering av systemmatriserna, enligt teori given i bilaga A, fås följande tillståndsmodell:

k

(2.9) )()()1( kukxkx Γ+Φ=+

)()()( kukxky Ψ+Θ= , 0, 1... =k

Matriserna är de tidskontinuerliga systemmatrisernas tidsdiskreta motsvarigheter. ΨΘΓΦ ,,,

2.4 Begränsning på systemet Systemet som används har vissa begränsningar och dessa beror på fysiska begränsningar hos roboten, t.ex. kan aerodynamiska begränsningar och hållfasthetsbegränsningar nämnas. En viktig begränsning för detta arbete är att roboten inte kan ta ut hur stora roderutslag som helst och därmed inte accelerera obegränsat. Följden av det blir att storleken på den kommenderade accelerationen, d.v.s. styrsignalen, måste begränsas. Det leder till att styrsignalerna i xy - och xz -planet, och , sammanlagt inte får överstiga , vilket är de xyu xzu (k)u lim

8

Page 26: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

styrsignalbegränsningar som finns. I denna tillämpning motsvarar det maximala värdet

på den kommenderade accelerationen och den är i detta fall tidsvariabel. Denna begränsning är en central del i examensarbete då den begränsar hur stora styrsignaler som kan kommenderas till roboten och påverkar på så sätt hur bra roboten träffar målet. För att ta hänsyn till denna begränsning införs det som ett bivillkor i de båda reglermetoderna som studeras i detta examensarbete. För detaljer om hur dessa bivillkor implementeras i reglermetoderna se avsnitt 5.1.4 (LQ) och avsnitt 5.2.3 (MPC).

(k)u lim

9

Page 27: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

3 Koordinatsystem I detta kapitel presenteras de koordinatsystem som använts vid implementeringen av regleralgoritmerna. Insignalen till styrlagblocket angivet i Figur 3 i avsnitt 2.1, )(~ tx , är

representerat i ett jordfast koordinatsystem. För att sedan förenkla beräkningen av insignalen till styrautomaten, , används ett transformerat koordinatsystem. I Figur 5 representeras

transformationen respektive inverterade transformationen till det transformerade koordinatsystemet av T respektive T

)(tac

-1. En beskrivning av det transformerade koordinatsystemet presenteras nedan i avsnitt 3.2.

Figur 5: Styrsystemet med ingående koordinattransformationer.

3.1 Jordfast koordinatsystem I det jordfasta koordinatsystemet är x -axeln riktad åt nord, -axeln åt öster och y z -axeln mot jordens centrum.

3.2 Transformerat koordinatsystem I både MPC- och LQ-reglering utförs en minimering av ett optimeringskriterium. För att förenkla denna optimering utförs en transformation från det jordfasta koordinatsystemet till ett transformerat koordinatsystem. Fördelen med detta är, som anges i (Persson, 2002), att det tredimensionella optimeringsproblemet då kan delas upp i två fristående, endimensionella optimeringsproblem istället. Anledningen till att dela upp optimeringsproblemet är att det är mycket enklare att lösa två endimensionella problem. En annan fördel då man använder sig av transformationen är att alla manövrar sker ortogonalt mot x-axeln vilket gör att det nästan går att bortse från rörelsen längs x-axeln. Transformationen ger alltså att det för varje plan, xz -planet och xy -planet, är möjligt att optimera en styrsignal som styr roboten i just det planet. I

detta examensarbete blir problemen inte helt fristående då styrsignalbegränsningarna är på de två fristående optimeringsproblemen tillsammans.

Planen i det transformerade koordinatsystemet bestäms med hjälp av robotens start- och träffpunkt samt önskad hastighetsvektor vid träff, . fv xz -planet spänns upp av vektorn mellan robotens start- och träffpunkt samt hastighetsvektorn . En rotation utförs för att få fvx -axeln parallell med . fv xy -planet sätts ortogonalt mot xz -planet och parallellt med .

Slutligen görs en translation som placerar origo i träffpunkten. En översiktlig bild av koordinatsystemet presenteras i Figur 6. Beskrivningen av det transformerade koordinatsystemet är hämtad ur (Persson, 2002).

fv

10

Page 28: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

Transformationen från det markfasta koordinatsystemet till det transformerade koordinatsystemet i en punkt sker enligt följande transformationsmatris:),,( 000 zyx

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

+−+−−

++−=

⎥⎥⎥

⎢⎢⎢

zyx

zyx

000000000000

00000

000000000000

cossinsinsincossinsincossincoscoscoscossincoscossin

coscossinsinsinsincoscossinsincossin

ˆˆˆ

xyxzyzyxzyzyzxxzz

xyxzyxyxzyzy

Figur 6: Koordinatsystem representerat i det transformerade koordinatsystemet.

11

Page 29: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

4 Teoribakgrund I detta kapitel presenteras de teorier som använts för att utforma de styrlagar som implementerats i simuleringsmiljön. De anpassningar som gjorts av teorin för styrlagarna, för att de ska kunna användas i denna tillämpning, presenteras i nästkommande kapitel.

4.1 Linjärkvadratisk reglering Teorin bakom linjärkvadratisk reglering, LQ, för ett deterministiskt fall presenteras i detta avsnitt. LQ-lösningar har visat sig vara framgångsrika i tidigare studier av slutfasstyrning (Söderberg, 2003). Teorin är anpassad för en modell där alla tillstånd är mätbara och inget behov av observatör finns. För en detaljerad beskrivning se (Åström et al, 1997).

4.1.1 Översiktlig beskrivning

Utgångspunkten är ett system angivet på tillståndsform liksom (2.9) med en startvektor för tillstånden, . Det som sedan önskas är en styrsignalsekvens, u(k), sådan att ett kriterium

minimeras. Minimeringskriteriet kan skrivas enligt )0(x

)(kJ LQ

( ( )) 21

0

212

2

21)()()(2)()(min

fd

f

dd Qf

k

kQd

TQLQu

kxkukuQkxkxkJ +++= ∑−

=

(4.1)

med bivillkoret

)()()1( kukxkx Γ+Φ=+ . (4.2)

=k 0, 1… 2

1)(

dQkx är matrisnormen med avseende på d.v.s. . Matriserna

är så kallade straffmatriser. Dessa straffmatriser viktar tillståndens,

korskopplingen mellan tillstånden och styrsignalens, styrsignalens respektive sluttillståndens prioritet i minimeringsfunktionen. Då exempelvis ett högt värde sätts på i förhållande till

de övriga straffmatriserna kommer liten styrsignal prioriteras gentemot de övriga ingående variablerna.

dQ1 )()( 1 kxQkx dT

fdddd QQQQ ,,, 2121

dQ2

4.1.2 Optimal återkoppling Då förutsätts vara en funktion av tillstånden , d.v.s )(ku )(kx ))(()( kxfku = , minimeras

(4.1) av

).)1(())1()()1((

)1()(

121

212

1T

dT

dT

dT

dT

QkSQkSQkS

QkSkS

+Φ+Γ+Γ+Γ+Γ+Φ−

−+Φ+Φ=−

(4.3)

Den rekursiva funktionen beräknas med startvillkoret fdf QkS =)( . Under förutsättningen att

antas vara positivt semidefinit och antas vara positivt definit existerar

det en unik och entydig reglerstrategi fdQ ΓΓ+ )(2 kSQ T

d

12

Page 30: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

)()()( kxkLku d−= , (4.4)

där den optimala återkopplingen ges av )(kLd

))1(())1(()( 121

2T

dTT

dd QkSkSQkL +Φ+ΓΓ+Γ+= − . (4.5)

Teorin bakom optimal återkoppling är hämtad ur (Filipov, 1964).

4.2 Modellbaserad prediktionsreglering I detta avsnitt presenteras teorin bakom modellbaserad prediktionsreglering, MPC. Grundidén med modellbaserad prediktionsreglering, MPC, är att med hjälp av en given tidsdiskret processmodell beräkna en optimal styrsignalsekvens vid varje tidssteg. Den stora fördelen med MPC är att man på ett direkt och intuitivt sätt kan ta hänsyn till givna bivillkor på t.ex. styrsignaler, tillstånd eller utsignaler. Minimeringskriteriet kan beskrivas enligt

( ) 2

Q

2

Q

2

Q

1

0

)()()()(min2d1 fdd

f

f

k

kMPCu

kxkukxkJ ++= ∑−

=

(4.6)

med bivillkoren

)()()1( kukxkx Γ+Φ=+ (4.7)

(k)uku lim)( ≤

=k 0, 1…

där är begränsningar på styrsignalen, är sluttidpunkten och matriserna

är straffmatriser. Dessa straffmatriser viktar tillståndens, styrsignalens och sluttillståndens prioritet i minimeringsfunktionen. Om till exempel ett högt värde sätts i i förhållande till

de andra straffmatriserna kommer liten styrsignal prioriteras gentemot tillstånd och sluttillstånd.

(k)u lim fk fddd QQQ ,, 21

dQ2

4.2.1 Översiktlig beskrivning

En enkel algoritm kan enligt (Glad et al, 2003) se ut som följer:

Prediktera, vid aktuell tidpunkt k, ett antal framtida tillstånd )1( kjkx ++ . Dessa

beror på den optimala styrsignalsekvensen )( jku + , j= 0, 1, …, N samt de aktuella

skattade tillstånden vid den diskreta tiden k . kallas för prediktionshorisonten och anger hur många framtida tillstånd som ska predikteras.

N

1.

2. Ställ upp en värdefunktion, se ekvation (4.6) ovan, baserat på dessa variabler och optimera med avseende på )( jku + , j= 0,1, …, N.

Applicera det första elementet i den optimala styrsignalsekvensen, d.v.s. applicera styrsignalen . )(ku

3.

13

Page 31: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

14

4. Invänta nästa tidpunkt, , och gå till steg 1. 1+k

Värdefunktionen, punkt två ovan, ska optimeras och den genererar en sekvens av optimala styrsignaler. Komplexiteten på optimeringsproblemet beror på hur lång prediktionshorisonten,

, väljs eftersom storleken på optimeringsproblemet växer med växande N. Prediktionshorisonten bör minst väljas så lång att den täcker in ett typiskt insvängningsförlopp för systemet.

N

Tillståndsmodellen i ekvation (4.7) beskriver ett diskretiserat linjärt system utan systembrus och nästa tillstånd kan beskrivas med hjälp av följande tillståndsmodell:

)1()()()1()1()2( 2 +Γ+ΦΓ+Φ=+Γ++Φ=+ kukukxkukxkx (4.8)

Från tillståndmodellerna ovan ses att framtida predikterade tillstånd kan erhållas genom iteration, enligt (Glad et al, 2003)

SUHX += x(k) (4.9)

där

⎥⎥⎥⎥

⎢⎢⎢⎢

+

++

=

)(

)2()1(

Nkx

kxkx

MX (4.10)

⎥⎥⎥⎥

⎢⎢⎢⎢

−+

+=

)1(

)1()(

Nku

kuku

MU

⎥⎥⎥⎥

⎢⎢⎢⎢

Φ

ΦΦ

=

N

M

2

H

⎥⎥⎥⎥

⎢⎢⎢⎢

ΓΓΦΓΦ

ΓΦΓΓ

=

−− L

MOMM

L

L

21

000

NN

S

X är framtida predikterade tillstånd, är de styrsignaler som ska optimeras och x(k) är aktuellt tillstånd.

U

4.2.2 QP-problemet

En av anledningarna till att MPC har blivit så populärt är att värdefunktionen kan lösas med hjälp av kvadratisk programmering, QP, (Nocedal & Wright, 1999). Kvadratisk programmering, QP, är en klass av problem som bygger på en kvadratisk målfunktion, se ekvation (4.5), med linjära bivillkor (Glad et al, 2003). QP-problem kan alltid lösas, eller så kan det åtminstone visas att de är möjliga att lösa, inom ett ändligt antal iterationer. Det arbete som krävs för att hitta en lösning är starkt beroende på utseendet av målfunktionen och antalet bivillkor. Om matrisen G i ekvation (4.11) är positivt semidefinit, sägs ekvation (4.11) vara ett konvext QP problem och det är i så fall ibland inte svårare att lösa det problemet än ett linjärt problem (Nocedal & Wright, 1999).

I detta examensarbete har optimeringsprogrammet Quadprog++, som är en gratis mjukvara

Page 32: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

som löser kvadratiska programmerings problem, använts som QP-lösare (Di Gaspero, 2006). Optimeringsprogrammet löser optimeringsproblem formulerat på följande form:

vvv21min T

0gG +v

med bivillkoren (4.11)

0v =+ 0T ceCE

0v ≥+ 0T ciCI

Koden för Quadprog++ är skrivet i programmeringsspråket C++ och finns tillgängligt för nedladdning (Di Gaspero, 2006).

4.2.3 Omformulering av QP-problemet

Minimeringskriteriet, ekvation (4.6) ovan, kan nu skrivas som

UQUXQX 2dT

1dT +=)(min kJ MPCu

(4.12)

Optimeringsproblemet i detta examensarbete, ekvation (4.12), kan sedan utvecklas och formuleras som ett QP-problem på formen (4.11), som kan användas i optimeringslösaren, enligt ekvation (4.11):

( ) ( )( ) UHQSUQSQSU T1d

T2d1d

T kx++T

21min då WGU ≤ (4.13)

där Q1d och Q2d är straffmatriser för tillstånden respektive styrsignalerna och definieras enligt nedan.

GU ≤ W är de bivillkor som systemet har. Om villkoret på styrsignalerna är att de ska vara mindre än ett visst värde, t.ex. , ser G och W ut som nedan. lim)( uku ≤

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

=

fd

d

d

Q

QQ

L

MOMM

L

L

00

0000

1

1

1dQ (4.14)

⎥⎥⎥⎥

⎢⎢⎢⎢

=

d

d

d

Q

QQ

2

2

2

00

0000

L

MOMM

L

L

2dQ

⎥⎥⎥⎥

⎢⎢⎢⎢

=

10000010001

OMM

L

L

G

⎥⎥⎥⎥

⎢⎢⎢⎢

=

lim

lim

lim

u

uu

MW

15

Page 33: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

5 Styrlagar I detta kapitel presenteras hur styrlagarna MPC och LQ anpassats till avsedd tillämpning, dvs. slutfasstyrning av robot. Framför allt beskrivs val av designparametrar samt hur de två olika reglerstrategierna involverar bivillkoren och önskemålen som är nödvändiga för att behandla robotens begränsningar. Styrlagarna grundar sig på de teorier som presenterats i kapitel 4.

Reglerproblemet som behöver lösas i detta examensarbete handlar om att roboten ska träffa målet så bra som möjligt, d.v.s. det är önskvärt att ha ett så litet träffavstånd och träffvinkel som möjligt vid sluttillståndet. En viktig förutsättning för roboten som är avgörande för hur bra roboten träffar målet är styrsignalbegränsningarna. Dessa beror på robotens utformning och att rodren inte kan göra obegränsade utslag. Detta medför att styrsignalerna måste begränsas. I implementationen av LQ görs detta genom en mättning av styrsignalen efter den är uträknad, se avsnitt 5.1.4, och i MPC görs det genom att lägga in bivillkor som måste vara uppfyllda, se avsnitt 5.2.3.

5.1 Linjärkvadratisk reglering Detta kapitel presenterar hur LQ-metodik applicerats på tillämpningen slutfasstyrning av robot. För att kunna ta hänsyn till önskemålen vid träfftidpunkten har optimal styrning och dynamisk programmering använts i samband med LQ-teorin. Även metoden som används för att införa mättning, här i form av accelerationsbegränsning, ligger utanför LQ-teorin.

5.1.1 Översiktlig beskrivning

En schematisk bild av det återkopplade systemet kan ses i Figur 7.

Figur 7: Översiktlig beskrivning av det återkopplade systemet.

Blocket System i Figur 7 beskrivs i avsnitt 2.3.2 enligt

)()()1( kukxkx Γ+Φ=+ (5.1)

)()()( kukxky Ψ+Θ=

Som nämns i avsnitt 1.3 har alla tillstånd i systemet redan skattats innan de når regleralgoritmen och därför behandlas de som mätbara. Med hänsyn till detta blir

)()()()()()( kxkukxkukxky =+=Ψ+Θ= 0I (5.2)

16

Page 34: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

Optimeringskriteriet ställs nu upp enligt ekvation (4.1):

( ) ( ) 2212

1

0

2

21)()()(2)()(min

fdd

f

d QfQdT

k

kQLQu

kxkukuQkxkxkJ +++= ∑−

=

Avvägningen i optimeringen bestäms, som nämndes i avsnitt 4.1.1, av viktmatriserna och . I praktiken används dessa matriser som designvariabler i

framtagningen av regulatorn och så även i detta arbete. En närmare beskrivning av straffmatriserna i LQ-regleringen presenteras i avsnitt 5.1.3.

ddd QQQ 2121 ,, fdQ

5.1.2 Framtagning av den optimala regulatorn Det finns flera olika sätt att ta fram den tidsdiskreta återkopplingen dL som presenteras i

avsnitt 4.1.2 . I detta arbete har vi valt en iterationsmetod hämtad ur (Kwarkernaak & Sivan, 1972). Iterationsalgoritmen bygger på optimal styrning och dynamisk programmering. Metoden valdes eftersom den var lätt att applicera m.a.p. detta reglerproblems specifika förutsättningar.

Iterationsalgoritm för framtagning av : dL

Starta med 1−= fnn . 1.

Beräkna delresultatet . Γ+Γ+= )1()( 2 nSQnQ Tdu2.

3. Beräkna den optimala återkopplingen för indexet n med uttrycket ( )Φ+Γ+= − )1()()( 12

1 nSQnQnL TTdud .

Beräkna . )()()()1()( 1 nLnQnLnSQnS duTd

Td −Φ+Φ+=4.

5.

6.

Sätt . 1−= nn

Upprepa från steg 2.

Startvärde i iterationen är straffmatrisen för sluttillstånden, . Iterationsmetoden beräknar en återkoppling per iteration kopplad till återstående tid till träff . Det första

som skattas då missilen äntrar slutfasen används som gräns för hur många iterationer som behöver utföras. Startvärdet för iterationsalgoritmen ges då av

)( fnS fdQ

dL got

got

fn sgof Ttn = , där här är

återstående tid till träff då missilen precis inlett slutfasen. got

Iterationsalgoritmen som beräknar alla återkopplingar från att missilen äntrar slutfasen till träff beräknas under initieringen av slutfasstyrningen och under vägen ner mot mål väljs sedan rätt återkoppling beroende på återstående tid till träff. Om t.ex. återstående tid till träff under ett skede i banan skattats till s och sampeltiden är 5=got 5.0=sT s skulle )105.05( ==nLd

17

Page 35: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

väljas. Hur parametern skattas presenteras närmare i avsnitt 6.2. got

5.1.3 Designparametrar

Designparametrar används för att styra lösningen av optimeringsproblemet efter de önskemål som finns på ingående variabler. I detta examensarbete finns bl.a. önskemål på en liten styrsignal och ett litet fel på träffpunkt. För de styrmetoder som används här, LQ och MPC, används straffmatriser som designparametrar. Eftersom optimeringen blir en avvägning mellan termerna i optimeringskriteriet är det inte den egentliga storleken på straffmatriserna

och som avgör, utan storleken i förhållande till de andra straffmatriserna.

För enkelhets skull straffas i de flesta fall inga kombinationer mellan tillstånden och de tidskontinuerliga straffmatriserna blir diagonala innan de tidsdiskretiseras.

ddd QQQ 2121 ,, fdQ

dQ1 straffar storleken på tillstånden. I slutfasstyrningen är position och hastighet under banan

inte av så stort intresse som accelerationen under banan och tillstånden i sluttillståndet. Därför används , tillsammans med och , främst för att reglera accelerationen kring tyngdaccelerationen,

dQ1 dQ12 dQ2

g . Anledningen till att accelerationen regleras kring

tyngdaccelerationen är att man önskar reglera kring systemets jämviktstillstånd och jämviktstillståndet för en fallande robot, vad gäller accelerationen, är kring tyngdaccelerationen. Detta ger att roboten utsätts för så liten belastning som möjligt. Straffmatrisen som används för att straffa kombinationer mellan styrsignal och tillstånden,

, ansätts ofta i tillämpningar till noll. Här behövs den dock för att reglera accelerationen mot

dQ12

g . Exempel på det presenteras närmare i avsnitt 7.1. används för att reglera storleken på styrsignalen. straffar storleken på sluttillstånden.

dQ2

fdQ

I slutfasstyrning är kanske önskemål på position det självklaraste valet, men även önskemål på t.ex. vinkel är av intresse. Senare i rapporten kommer det att presenteras resultat av reglering med avseende på olika önskemål på sluttillståndet.

Det finns även möjlighet att dimensionera straffmatriserna efter vilken del av slutfasen roboten är i. T.ex. under början av slutfasen är det inte lika viktigt att sluttillståndet straffas som att storleken på styrsignalerna hålls i skick. Ju närmre målet missilen kommer desto större vikt läggs på att träffa målet till kostnad av större styrsignaler. I detta examensarbete används dock tidsinvarianta straffmatriser och de kontinuerliga straffmatriserna blir konstanta under hela slutfasen. Efter tidsdiskretiseringen blir straffmatriserna en funktion av samplingsintervallet, , och systemets egenfrekvens, sT ω .

Som nämndes i avsnitt 3.2 erhölls efter transformationen till det transformerade koordinatsystemet två fristående optimeringsproblem med undantag för den gemensamma styrsignalsbegränsningen. Detta gör att olika straffmatriser designats beroende på om optimeringen sker i xy -planet eller xz -planet. Exempel på detta visas i avsnitt 7.1.

18

Page 36: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

5.1.4 Bivillkor

P.g.a. fysiska begränsningar på roboten införs ett bivillkor till regleringen. Här är det bl. a. rodervridningen som ger en begränsning och följden av det blir att storleken på den kommenderade accelerationen, d.v.s. styrsignalen, begränsas. Eftersom bivillkor är något som ej ingår i LQ-teorin gjordes det vid implementeringen av styrsignalsbegränsningen en jämförelse mellan kommenderad acceleration och begränsningen. Då accelerationen överskred gränsen kommenderades istället gränsvärdet, vilket åskådliggörs i Figur 8. Eftersom detta är något som det ej tas hänsyn till vid beräkningarna av återkopplingen och gör att optimaliteten i LQ-teorin förloras kan det orsaka problem. Då får systemet inte den acceleration som krävs och följden blir att roboten eventuellt inte klarar av att styra in mot målet.

Figur 8: Mättning införs för att ta hänsyn till styrsignalsbegränsningen.

5.2 Modellbaserad prediktionsreglering, MPC I detta avsnitt presenteras det hur teorin för modellbaserad prediktionsreglering, MPC, har anpassats till de förutsättningar som gäller för detta arbete. Grundidén med modellbaserad prediktionsreglering, MPC, är enligt avsnitt 4.2 att med hjälp av en given processmodell beräkna en optimal styrsignalsekvens vid varje tidssteg. MPC tar hänsyn till de bivillkor som finns på systemet när optimeringsproblemet löses. Det enda kravet på bivillkoren är att de måste vara linjära och uttryckas på formen WGU ≤ . En anpassning som görs för att kunna använda MPC för denna tillämpning är att styrsignalen inte optimeras i varje tidssteg utan den antas vara konstant under ett visst antal tidssteg, se avsnitt 5.2.1, eftersom problemet annars blir alltför komplext för att hantera. Till följd av att denna anpassning görs jobbar inte MPC optimalt, men det är en nödvändig anpassning för att kunna implementera styrmetoden. Anledningen till att styrsignalen inte kan optimeras i varje tidpunkt är att de matriser som används för att beräkna en optimal styrsignalsekvens snabbt blir så stora att programmet inte kan hantera dem. Det saknas både datorkraft och minne för att utföra de beräkningar som krävs för att snabbt hitta en optimal lösning med så stora matriser. Det går snabbare att hitta en lösning ju mindre matriserna är som används för att beräkna en optimal styrsekvens, på grund av att det går åt mindre tid för att utföra de beräkningar i programmet som behöver göras.

19

Page 37: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

5.2.1 Översiktlig beskrivning

För att få roboten att sträva mot att träffa i en viss punkt med en viss vinkel används mjuka villkor på sluttillståndet och dessa implementeras genom att använda straffmatriser. Anledningen till att både bivillkor, se avsnitt 5.2.3, och mjuka villkor implementeras beror på att det är väldigt viktigt att inte kommendera roboten att ta ut accelerationer som den inte klarar av medan det endast är önskvärt att träffa målet i en viss punkt och med en viss vinkel. Då MPC optimerar mot att den ”vet” vilka accelerationer som tas ut i framtiden innebär det att om för stora accelerationer kommenderas är MPC inte längre optimalt. Eftersom dessa villkor kan hamna i konflikt med varandra går det inte att implementera båda som bivillkor. Vad det innebär att ha mjuka villkor och bivillkor, som är hårda villkor, är med andra ord att de hårda villkoren uppfylls alltid och de mjuka villkoren uppfylls i största möjliga mån. Uttryck (4.5) får då följande utseende

( ) 2222

0)()()1()(min

21 fddd QQQ

N

jMPCu

NkxjkujkxkJ ++++++= ∑−

=

(5.4)

Den sista termen visar på att det sista tillståndet i prediktionshorisonten ska straffas. För att roboten ska veta vilka önskemål som ska vara uppfyllda vid sluttillståndet, om det är möjligt, behöver det nuvarande tillståndet se det sista tillståndet, detta görs genom att välja prediktionshorisonten, , så lång att hela simuleringstiden täcks in, se avsnitt 4.2.1. Detta ger stora matriser som är svåra att hantera eftersom MPC gör beräkningen av optimal styrsignalsekvens i realtid. För att minska komplexiteten på systemet och göra prediktionsreglering användbar på denna form, ansätts det att styrsignalen är konstant under ett visst antal tidssteg. Detta innebär att istället för att optimera styrsignalen i varje tidpunkt optimeras endast ett visst antal styrsignaler. Antalet optimeringspunkter,

N

hNM = , står för

hur många punkter i den totala styrsignalsekvensen som ska optimeras, och dessa punkter fördelas jämnt, på h stycken tidssteg, fram till prediktionshorisonten, N. Detta innebär att istället för att få en styrsignalsekvens som är lika lång som prediktionshorisonten, N, fås en sekvens som är M punkter lång, men som fortfarande sträcker sig lika långt fram i tiden. Mellan dessa optimeringspunkter är styrsignalen konstant vilket innebär att styrsignalen blir konstant under h stycken tidssteg, . Styrsignalen är alltså konstant enligt modellen men

eftersom det i varje sampel görs en ny beräkning kommer styrsignalen att variera. sT

För att beräkna värdet på används följande ekvation: h

11

−−+

=M

Nkh (5.5)

där är antalet tidssteg fram till träff och 1−+ Nk M är antalet optimeringspunkter.

20

Page 38: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

Då styrsignalen ansätts vara konstant under h tidssteg fås att

)()2()1( kuhkuhku ==−+=−+ K (5.6)

)()22()12( hkuhkuhku +==−+=−+ K

o s v.

Detta innebär att tidsupplösningen förbättras desto närmare målet roboten befinner sig. Vilket är en fördel eftersom detaljerna i styrningen inte är så viktiga i början av flygningen då det inte är så mycket känt om framtiden, men ju närmare målet som roboten kommer desto viktigare är det med detaljer. Då tidsupplösningen förbättras desto närmare målet roboten befinner sig får roboten mer och mer information om vägen fram till målet och det gör att styrningen kan bli noggrannare.

För att tydliggöra vad som menas med ovanstående följer här ett enkelt exempel.

Exempel 1:

Figur 9 visar hur en styrsignalsekvens kan komma att se ut då fem optimeringspunkter, , har valts. Styrsignalen är konstant ett visst antal tidssteg, . I detta exempel är

. Vilket ger att styrsignalen är konstant i fyra tidssteg, d v s . Fem stycken optimeringspunkter innebär att optimeringen sker för , , , och

.

5=M h1- ..., 2, 1, ,0 Nk = 4=h

)0(u )(hu )2( hu )3( hu)4( hu

Figur 9: Styrsignalsekvens

21

Page 39: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

Då antalet optimeringspunkter är M istället för N innebär det att sambanden mellan tillstånden, se avsnitt 4.2.1, från en optimeringspunkt till en annan måste skrivas på formen:

)()()1( kukxkx Γ+Φ=+ (5.7)

=+Γ+++ΓΦ+ΓΦ+Φ=+Γ++Φ=++ −+ )()1()()()()()1( 11 hkukukukxhkuhkxhkx hhh K

)()()()( 11 hkukukx hhh +Γ+ΦΓ++ΓΦ+ΓΦ+Φ= −+ K

M

=−+Γ++ΓΦ+Φ=−+Γ+−+Φ=+ − )1()()()1()1()( 1 NkukukxNkuNkxNkx NN K

+ΓΦ++ΓΦ+Φ= −+− )()()( )2)(1(1 kukx MhNN K

)1()()( )1)(3(1)2)(1( −+Γ+++ΓΦ++ΓΦ+ +−−−+ NkuhkuhMMh KK

där är sluttillståndet. )( Nkx +

Matriserna , , och S från avsnitt 4.2.1 får följande utseende X U H

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

+

++++

+

=

)(

)12()1(

)1(

Nkx

hkxhkx

kx

M

X (5.8)

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

−+

++

=

)1(

)2()(

)(

Nku

hkuhku

ku

M

U

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

Φ

ΦΦΦ

= +

+

N

h

h

M

12

1

H

⎥⎥⎥⎥

⎢⎢⎢⎢

ΓΓΦ++ΓΦΓΦ++ΓΦ

ΓΦΓ++ΓΦ+ΓΦΓ

=

+−−−+−+−

LKK

MOMM

LK

L

)1)(3(1)2)(1()2)(1(1

1 000

hMMhMhN

hh

S

Problemet som återstår är att välja hur många optimeringspunkter, M , som det ska tas hänsyn till. De önskemål som systemet ska uppfylla handlar om villkor på träffpunkten och M ska därför väljas så att dessa önskemål uppfylls så bra som möjligt, eftersom det är önskvärt att roboten träffar målet så bra som möjligt. Det är även bra om M väljs så liten som möjligt eftersom beräkningskomplexiteten ökar med ökande M .

Optimeringsproblemet, se (4.12), får följande utseende då hänsyn tas till sluttillståndet

( ) ( )( UHQSUQSQSU T1d

T2d1d

T kx++21min ) (5.9)

då och S, U och H ser ut som ekvation (5.8) ovan. och är straffmatriser

för tillstånden respektive styrsignalerna och ser ut som nedan.

WGU ≤ 1dQ 2dQ

22

Page 40: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

=

fd

d

d

QQ

Q

000

000

1

1

L

OM

MOO

L

1dQ (5.10)

⎥⎥⎥⎥

⎢⎢⎢⎢

=

d

d

d

QQ

Q

2

2

2

000

000

L

OM

MOO

L

2dQ

fdQ är straffmatrisen för det sista tillståndet i prediktionshorisonten och är skild från .

Vilket innebär att sluttillståndet kan, och bör, straffas annorlunda jämfört med de andra tillstånden.

dQ1

På samma sätt som i avsnitt 4.2.3 har systemet bivillkoren WGU ≤ . Om bivillkoren på styrsignalerna är att de ska vara mindre än ett visst värde t.ex. har G och W

följande utseende lim)( uku ≤

IG = 1W ⋅= limu (5.11)

5.2.2 Designparametrar

De parametrar som behöver väljas är straffmatriserna Q1d, Qfd och Q2d och antal optimeringspunkter, M. För att roboten ska träffa mål så bra som möjligt är det önskvärt att styra den både i xy - och xz -planet i det transformerade koordinatsystemet, se avsnitt 3.2. För att göra det så löses optimeringsproblemet gemensamt, dels för xy -planet och dels för xz -

planet. D.v.s. optimeringen för varje led sker separat men optimeringsproblemet tar hänsyn till att begränsningarna gäller xy - och xz -planet tillsammans.

Straffmatriserna Q1d, Q2d, och Qfd har samma beteckningar som för LQ och har liknande utseende. De behöver dock inte väljas likadant utan straffmatriserna för MPC och LQ väljs oberoende av varandra. Eftersom optimeringen blir en avvägning mellan termerna i optimeringskriteriet är det inte den egentliga storleken på straffmatriserna som avgör, utan storleken i förhållande till de andra straffmatriserna. För enkelhets skull straffas inga kombinationer mellan tillstånden och straffmatriserna blir därmed diagonala.

Q1d används för att straffa storleken på tillstånden, utom för det sista tillståndet som straffas av Qfd. Q2d straffar storleken på styrsignalen. I slutfasstyrningen är position och hastighet under banan inte av så stort intresse som accelerationen under banan och tillstånden i sluttillstånden. I stället för att straffa styrsignalen till noll kan det på samma sätt som för LQ vara bra om roboten färdas i en manöver mot målet. Med manöver menas att regleringen sker kring systemets jämviktstillstånd vilket för en fallande robot är tyngdaccelerationen. För att kunna straffa accelerationen mot tyngdaccelerationen, gravitationen, i MPC går det inte riktigt att göra på samma sätt som för LQ. MPC använder sig inte av Q12d i sin optimering och därför straffas det tredje tillståndet mot tyngdaccelerationen istället. Anledningen till varför detta inte sätts som ett bivillkor är att detta villkor kan hamna i konflikt med de villkor som finns på styrsignalen, eftersom de båda straffen är motsägelsefulla, vilket innebär att

23

Page 41: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

optimeringsproblemet kanske inte hittar någon lösning. Men om det är möjligt är det bra om roboten färdas i en bana mot målet, för att på så sätt vara säkrare på var den kommer att träffa, och därför implementeras det som ett mjukt villkor. D.v.s. Q1d matrisen används till att straffa roboten att gå i en viss manöver, se avsnitt 7.2.1, eftersom Qfd har hand om straffet på sluttillståndet som är det viktiga. I sluttillståndet är det alltid önskvärt att träffa i en viss position men det kan även vara önskvärt att träffa målet i en viss vinkel och beskrivning hur man får in det i straffmatriserna kan ses i avsnitt 7.2.2.

5.2.3 Bivillkor

I avsnitt 2.4 tas det upp en begränsning på systemet som är delvis avgörande för hur bra roboten kommer att träffa målet och det är anledningen till att man vill ha med denna begränsning när optimeringsproblemet löses för MPC som ett bivillkor. MPC tar hänsyn till hur styrsignaler vid senare tidpunkter får väljas när den nuvarande beräknas. Begränsningen,

, som reglerar hur stor styrsignalen får vara är tidsvariabel, vilket innebär att storleken på beror av tiden k. De styrsignalbegränsningar som roboten har gäller för

styrsignalerna tillsammans vilket skulle kunna representeras med hjälp av en cirkel, vilket är fallet för LQ, men då optimeringsproblemet för MPC endast kan hantera linjära bivillkor approximeras cirkeln med hjälp av en åttahörning, se Figur 10. Detta leder till att MPC får en något snävare begränsning än LQ, se avsnitt 5.1.3. Om representerar styrsignalerna i

(k)u lim

(k)u lim

xyu xy -planet och styrsignalerna i xzu xz -planet kan begränsningarna skrivas som

( ) ( ) (k)uuu(k)u xzxy limlim 312131

21

⋅+⋅≤+≤⋅+⋅− (5.11)

Detta leder till att U, G och W får följande utseende:

⎥⎥⎥

⎢⎢⎢

⎡=

kU

UU

1

M (5.12) ⎥⎥⎥

⎢⎢⎢

⎡=

kG

GG

1

M

⎥⎥⎥

⎢⎢⎢

⎡=

k

1

W

WW M

Detta innebär att varje delmatris, Uk, Gk och Wk, upprepas lika många gånger som antalet optimeringspunkter är. Utgående från (5.11) kan nu matriserna Uk, Gk och Wk skrivas som:

⎥⎦

⎤⎢⎣

⎡=

)()(

kuku

xz

xykU

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

−−

−−

=

1010010111

1111

11

kG

( )

( )

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

⋅⋅

⋅⋅

⋅+⋅

⋅+⋅

=

(k)u

(k)u

(k)u

(k)u

k

lim

lim

lim

lim

321

321

3121

3121

M

M

W (5.13)

24

Page 42: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

Figur 10 : Illustration av styrsignalbegränsningen.

25

Page 43: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

6 Val av parametrar I detta kapitel presenteras hur egenfrekvens, ω ,

)(1

1)( sas

sa cd

ω+=

samt återstående tid till träff, , till systemet skattats. För att få en väl anpassad modell av

det verkliga systemet krävs att dessa parametrar skattas så att modellen uppför sig så likt det verkliga systemet som möjligt. I detta examensarbete jämförs dock modellen med en simulerad och komplex modell av det verkliga systemet.

got

6.1 Skattning av systemets egenfrekvens Skattningen av egenfrekvensen påverkar hur snabbt systemet reagerar. En hög egenfrekvens innebär att roboten svarar snabbt på insignalsförändringar, medan en låg egenfrekvens innebär att roboten svarar långsamt. Genom jämförelse av stegsvar mellan det simulerade systemet och systemet givet av (2.1) kan egenfrekvensen för modellen (2.7) bestämmas.

6.1.1 Utförande Testet utförs på så sätt att en egenfrekvens, startω , som ger ett långsammare beteende än

simuleringsmodellen väljs. Därefter ökas egenfrekvensen successivt enligt

εωω nstart += ,

där och 3,2,1,0=n 10 <<< ε ,

till dess att liknande beteende enligt simuleringsmodellen erhålls. Denna metod att skatta egenfrekvensen är rättfram och enkel. En nackdel är dock att metoden är ineffektiv och ger något oprecist resultat. Ett alternativ är att istället använda ett systemidentifieringsverktyg för att bestämma egenfrekvensen för systemet.

6.1.2 Resultat och slutsats I Figur 11 kan man se att för fallet startωω = är den approximerade modellens egenfrekvens för låg och stegsvaret för uttagen acceleration för den approximerade modellen, , är alldeles för långsamt gentemot stegsvaret för simuleringsmodellens uttagna acceleration, . I fallet

uma

uaεωω 3+= start erhålls motsatt resultat. Då är den approximerade modellens stegsvar för

snabbt gentemot simuleringsmodellen. Genom att granska de övriga två fallen visar testet att egenfrekvensen bör vara inom intervallet

εωωεω 2+≤≤+ startstart

för att den approximerade modellen ska erhålla samma egenfrekvens som simuleringsmodellen.

26

Page 44: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

I Figur 11 kan man se, då utgående acceleration minskar under en kort stund innan den

ökar, att roboten är ett icke-minimumfassystem. Trots detta skattar den approximerade modellen robotsystemet bra.

ua

Figur 11: Stegsvarsjämförelse mellan approximerad modell och simuleringsmodell för olika värden på

egenfrekvensen. am är modellens uttagna acceleration, aum är simuleringsmodellens uttagna acceleration och ac är

kommenderad acceleration.

6.2 Skattning av återstående tid till träff, tgo Parametern anger hur lång tid som återstår till träff av målet. Parametern skattas under hela slutfasen. En korrekt skattning av parametern är av stor vikt då styrsignalen

kommenderas inte bara beroende på reglerfelet utan även med avseende på återstående tid till träff. För t.ex. LQ beskrivs detta i avsnitt 5.1.2 där parametern används för att välja återkopplingen . För att rätt återkoppling ska väljas är det alltså viktigt att återstående tid till träff, , skattats så korrekt som möjligt. Parametern kan skattas utgående från skattad position, hastighet och acceleration. Nedan visas tre olika metoder att skatta på.

got

got

dL

got

got

27

Page 45: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

6.2.1 Metod 1

I metod 1 beräknas återstående tid till träff med formeln

e

ego v

st =

för -koordinaten i jordfasta koordinatsystemet. Då formeln inte tar hänsyn till accelerationen kommer återstående tid att överskattas. Detta eftersom roboten normalt accelererar under större delen av slutfasen.

z

6.2.2 Metod 2 Metod 2 använder sig av samma formel som metod 1, men för ett annat koordinatsystem.

w

wgo v

st =

beräknas för x -koordinaten i det transformerade koordinatsystemet. I avsnitt 3.2 förklaras det transformerade koordinatsystemet närmare. Inte heller i denna metod tas någon hänsyn till accelerationen och således bör även metod 2 överskatta återstående tid.

6.2.3 Metod 3

I metod 3 tas även accelerationen med i beräkningen. Formeln

w

wwwwgo a

savvt

22 ++−=

som är en utökning av formeln som används för metod 1 och 2, används även den för x -koordinaten i det transformerade koordinatsystemet. Om accelerationen är noll används formel enligt metod 2. Denna metod kan man rimligtvis anta skattar bäst av de tre metoderna. Detta påvisas även i Figur 12. Figuren visar beräknat med de tre olika

metoderna för samma simuleringsfall och där styrningen utförts med LQ-teknik.

wa

got

got

28

Page 46: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

Figur 12: Skattning av tgo för tre olika metoder.

6.2.4 Resultat för skattning av tgo

Utgående från resultatet som visas i Figur 12 har metod 3 använts i detta examensarbete för skattningen av återstående tid till träff. Eftersom metod 3 tar hänsyn till robotens acceleration skattar den tgo bättre än de två övriga metoderna.

29

Page 47: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

7 Val av designparametrar I detta kapitel presenteras hur straffmatriserna för MPC och LQ kan väljas för att uppfylla olika krav under slutfasen samt hur antalet optimeringspunkter har valts för MPC. Värdena på de variabler som ingår i straffmatriserna som använts i simuleringarna är inte optimalt framtagna utan några enstaka tester har gjorts för att plocka fram dessa värden. Detta har inte prioriterats eftersom syftet med rapporten är att undersöka om MPC är en möjlig kandidat för slutfasstyrning av robot snarare än att optimera prestanda. Bättre undersökningar kan komma att ge ännu bättre designade straffmatriser.

7.1 LQ Vid linjärkvadratisk reglering går ofta mycket tid åt att designa straffmatriserna efter vad som vill uppnås med regleringen. I detta avsnitt presenteras det hur straffmatriserna kan utnyttjas för att uppfylla olika krav. Uttrycket som ska minimeras och som viktas m.h.a. viktmatriserna,

( ) ( ) 2212

1

0

2

21)()()(2)()(min

fdd

f

d QfQdT

k

kQLQu

kxkukuQkxkxkJ +++= ∑−

=

presenterades närmare i avsnitt 5.1.1.

7.1.1 Konstant manöver

Som nämndes i avsnitt 5.1.3 bör accelerationen för roboten, alltså styrsignalen , regleras mot tyngdaccelerationen snarare än mot noll. För LQ utförs detta under optimeringen i det transformerade

u

xy -planet genom att straffa det kvadratiska uttrycket ( )2, ywgu − mot noll och således styrsignalen mot en konstant manöver, i detta fall mot . Tyngdaccelerationens bidrag i -led, , kommer in i straffmatriserna genom ETT-tillståndet som introducerades

i avsnitt 2.3.1. För att lättare åskådliggöra hur uttrycket kommer in i straffmatriserna utvecklas det:

ywg ,

y ywg ,

24,4,

224, )(2)( xgxuguxgu ywywyw +−=− (7.1)

Tillståndet är ETT-tillståndet. Nu ser man att då uttryckets straffas kommer första termen finnas med i , andra termen i och sista termen kommer in via . Om uttrycket straffas med kommer följande straffmatriser erhållas:

4x

dQ2 dQ12 dQ1

LQmanq ,

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

∗∗

=

2,.

1

000000000000

ywLQman

d

gq

Q

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

∗∗∗

=

ywLQman

d

gq

Q

,,

12 [ ]LQmand qQ ,2 = (7.2)

∗ indikerar att ett godtyckligt värde kan stå på dessa platser.

30

Page 48: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

För optimering i xz -planet erhålls motsvarande straffmatriser. Skillnaden är att ersätts med tyngdaccelerationens bidrag i -led, .

ywg ,

z zwg ,

Straffmatrisen används inte för att straffa mot konstant manöver under banan och är

därför irrelevant i detta sammanhang. fdQ

7.1.2 Träffvinkel

Då robotens verkan är beroende av infallsvinkel är det önskvärt att styra roboten mot en viss träffvinkel. För att få en riktning ortogonalt mot marken som möjligt straffas hastigheten i -

resp.

y

z -led mot noll. Detta ger att roboten strävar efter en hastighet i träffpunkten som endast har en riktning i x -led. Om hastigheten i de respektive optimeringsproblemen straffas med

kommer straffmatriserna för sluttillståndet att få följande utseende: LQvelq ,

⎥⎥⎥⎥

⎢⎢⎢⎢

∗∗

=

000000000000

,LQvelfd

qQ (7.3)

∗ indikerar att ett godtyckligt värde kan stå på dessa platser.

7.2 MPC Liksom för LQ går det ofta åt mycket tid för att designa straffmatriserna för att få systemet att bete sig på ett önskvärt sätt och i detta avsnitt visas hur straffmatriserna används för att försöka få roboten att uppfylla två olika önskemål. En stor fördel med MPC jämfört med LQ är att det för MPC finns frihet i och med att det går att använda bivillkor för att lägga in vissa begränsningar på systemet vilket inte är möjligt att göra för LQ.

7.2.1 Konstant manöver

Det är önskvärt i detta examensarbete att reglera styrsignalen mot tyngdgravitationen istället för mot noll som sker i vanliga fall. I avsnitt 5.2.2 framgår det att det optimeringsproblem som MPC löser inte kan straffa korstermer mellan tillstånd och styrsignal. Då korstermer inte kan straffas innebär det att MPC inte kan straffa accelerationen, d.v.s. styrsignalen u , mot tyngdaccelerationen utan MPC måste straffa det tredje tillståndet (acceleration) istället. På samma sätt som för LQ, se avsnitt 7.1.1, straffas styrsignalen i xy -planet mot tyngdaccelerationen . Detta innebär att uttrycket ywg , ( )24,3 xgx yw− straffas mot noll. För att

få roboten att gå i en konstant manöver och se till att roboten reglerar in sig mot tyngdaccelerationen, , ger uttrycket ywg ,

24

2,,43,34

23 xggxgxx ywywyw −−− (7.4)

att Q1d matrisen får utseendet enligt nedan. Tillståndet är ETT-tillståndet. Om uttrycket 4x

31

Page 49: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

straffas med får QMPCmanq , 1d matrisen följande utseende

⎥⎥⎥⎥

⎢⎢⎢⎢

−−−

∗∗

=

2,,

,,1d

0000

000000

Q

gqgqgqq

MPCmanMPCman

MPCmanMPCman

(7.5)

∗ indikerar att ett godtyckligt värde kan stå på dessa platser.

7.2.2 Träffvinkel

Detta görs på exakt samma sätt som för LQ, se avsnitt 7.1.2. Om hastigheten straffas med en variabel kommer straffmatriserna för sluttillståndet att få följande utseende: MPCvelq ,

⎥⎥⎥⎥

⎢⎢⎢⎢

=

*0000*00000000*

,MPCvelfd

qQ (7.6)

∗ indikerar att ett godtyckligt värde kan stå på dessa platser.

7.2.3 Val av antal optimeringspunkter, M

En anpassning av teorin som behöver göras, enligt avsnitt 5.2.2, för att kunna använda MPC för denna tillämpning är att bestämma antalet optimeringspunkter, M . Antalet optimeringspunkter bestämmer hur många intervall av styrsignalen som ska optimeras och anger därmed hur komplext systemet blir. För att bestämma antalet optimeringspunkter undersöks olika värden på M och simuleringar genomförs för dessa olika värden. Hänsyn tas till både de hårda och mjuka villkoren som roboten ska uppfylla. Det som eftersträvas är att roboten ska träffa så nära målet som möjligt och samtidigt hålla sig inom begränsningen på styrsignalen.

Bestämningen av det bästa värdet av antalet optimeringspunkter, M, sker med hjälp av simuleringar och sedan studeras hur väl roboten träffar målet för reglermetoden MPC eftersom det är viktigt att den träffar så bra som möjligt. Simuleringarna har genomförts 50 gånger för varje värde på M och starttillståndet för roboten ändras lite för varje gång så att simuleringarna skiljer sig åt. Samma sekvens av starttillstånd har använts för de olika simuleringsfallen, d.v.s. för de olika värdena på M. Följande sekvens gås igenom för varje värde på M:

=0x konstant, startvärde för den första simuleringen 1.

2.

3.

101 axx += , startvärde för den andra simuleringen.

o.s.v.

32

Page 50: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

33

4. 49049 axx += , startvärde för den 50: e simuleringen.

där är värden som slumpats fram från en slumpfunktion framtagen av Saab

Bofors Dynamics och som används i deras simuleringsprogram. Första simuleringens startvärde väljs till koordinatvärden som innebär att roboten endast behöver göra mindre korrigeringar på styrsignalen för att träffa målet.

4921 ,,, aaa K

Figur 13 och Figur 14 visar ett karaktäristiskt exempel på hur styrsignalen ser ut för M = 3, 5 och 10. Plottarna är uppdelade i xy - och xz -led, men det ska noteras att den begränsning som

styrsignalen har är på den totala styrsignalen, se avsnitt 5.1.4. En sammanvägning mellan Figur 13 och Figur 14 ger att M = 3 ger minst utslag på styrsignalerna och är det alternativ som varierar minst. Detta innebär att M = 3 är det alternativ där roboten behöver göra minst korrigeringar för att komma i rätt läge för att träffa målet så bra som möjligt. Begränsningen för styrsignalerna nås för alla de tre alternativen på M. I Figur 13 och Figur 14 visas det att alla olika val av M varierar kraftigt i slutet av styrningen. Anledningen till detta skulle kunna vara att om styrlagen ser att den kommer att missa målet och om det är lite tid kvar, innan träff ska ske, behöver styrlagen ta ut mycket accelerationer för att roboten ska träffa målet. Detta gör att variationer på grund av störningar som mätbrus blir mycket tydligare på slutet. Variationerna i slutet skulle även kunna vara en indikation på att estimatorn skulle behöva optimeras bättre för de styrlagar som har undersökts i detta arbete. Variationerna kan eventuellt också bero på att avståndet mellan optimeringspunkterna blir mindre desto närmare målet som roboten kommer.

Samma resultat fås dels då styrsignalen straffas mot noll och dels då roboten straffas att gå i en viss manöver. Simuleringarna visar även samma resultat oavsett vilka villkor som ställs på sluttillståndet. För att ge en bättre illustration om vad som sker för olika M , utan att ta med onödiga upprepningar visas endast figurerna för värdena 10och 5 ,3=M .

Page 51: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

Figur 13 : Styrsignal i xy -planet för olika val av M.

Figur 14 : Styrsignal i xz-planet för olika val av M.

34

Page 52: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

Spridningen för träffarna, d.v.s. hur träffarna har fördelat sig i -planet i det transformerade

koordinatsystemet, kan ses i träffbilden i Figur 15. I denna träffbild visas de första sex simuleringarna som träffar inom en viss radie från önskad träffpunkt av de femtio simuleringarna som gjorts. Anledningen till det är för att figuren ska bli tydligare. Siffrorna kring yttre cirkeln i träffbilden beskriver vinkelutslag från x-axeln, i det transformerade koordinatsystemet. Det som visas i Figur 15 är hur robotarna har träffat i ett område omkring målet. Målet är centrerat i origo i träffbilden, och en punkt motsvarar en robot, d.v.s. simulering. Önskvärt är såklart att alla punkter ska ligga i origo vilket skulle motsvara att alla robotar har träffat perfekt, men beroende på robotens utformning, och sprängverkan, behöver den kanske inte träffa precis i origo för att det ska räknas som en träff. I detta arbete anses det vara viktigt att så många av robotarna träffar så nära som möjligt, d.v.s. en så liten spridning som möjligt är önskvärt. Ur Figur 15 ses att de flesta träffarna ligger till vänster om origo. Anledningen till att de inte träffar centrerat runt origo beror troligtvis på att straffet i

yz

xz -planet inte är tillräckligt stort. I Figur 15 ses dock att 3=M ger minst spridning av träffarna, dvs. har minst standardavvikelse, vilket är önskvärt.

Figur 15 : Träffbild som visar spridningen för träffarna för olika val av M.

35

Page 53: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

Vid en utvärdering av de resultat som presenteras ovan inses det att olika val av M ger liknande resultat. Detta examensarbete har dock prioriterat att valet av M ska ha en sån liten standardavvikelse som möjlig, d.v.s. att så många robotar som möjligt ska träffa så nära målet som möjligt. Vilket leder till att 3=M är det val som ger bäst resultat, se Figur 15, och att antalet optimeringspunkter därför ska väljas till tre. Tre optimeringspunkter är tillräckligt litet för att hålla nere komplexiteten på problemet men ändå tillräckligt stort för att beskriva robotens bana från nuvarande tillstånd fram till sluttillståndet. En reflektion av ovanstående är att M = 5 och M = 10 borde ge bättre resultat eftersom de båda innehåller specialfallet M = 3 och större M ger fler möjligheter att påverka roboten. Anledningen till att M = 3 uppvisar bäst resultat kan bero på att för större M tas det för mycket hänsyn till tillstånden under banan och sluttillståndet blir inte lika viktigt. Detta kan eventuellt åtgärdas med bättre inställning av straffmatriserna men då det är önskvärt att M väljs så liten som möjligt och M = 3 är tillräckligt för att beskriva robotens bana anses det att M = 3 är det bästa valet.

36

Page 54: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

8 Prestanda Ett delmål med examensarbetet var att jämföra prestandan för de två styrlagarna MPC och LQ. Detta har gjorts genom ett antal simuleringar med olika förutsättningar. Den förutsättning som varierats är starttillståndet för roboten i slutfasstyrningen. Starttillståndet beror på de tidigare faserna och det navigationsfel som de har gett upphov till. Simuleringarna har genomförts för både väldigt enkla fall och för lite svårare. Enkla fall innebär relativt små navigationsfel och svårare fall innebär navigationsfel av större storlek i jämförelse med enklare fall. Om resultaten skiljer sig åt för de enkla fallen och de svåra fallen finns det angivet specifikt, annars kan det antas att förhållandet mellan LQ och MPC är detsamma oavsett fall.

Några intressanta aspekter att studera är dels om och hur mycket styrsignalen når sina begränsningar för de båda metoderna och dels att se hur tillstånden för roboten ser ut under banan.

För att presentera resultaten från simuleringarna, då olika önskemål för sluttillståndet har studerats, visas två olika slags figurer. Dels träffbilder där spridningen för hur roboten träffat i

-planet i det transformerade koordinatsystemet och dels figurer som visar fördelningen för

träffavstånd/träffvinkel. Fördelningen visar en approximation av vad sannolikheten är att träffavstånd/träffvinkel är mindre än ett visst värde. Det har även införts ett referensvärde i figurerna som gäller inom respektive delavsnitt. Detta för att se hur träffbilden och fördelningen för träffavstånd hör ihop. Det syns då även tydligt att alla träffar inte visas i träffbilden utan att det är endast de träffar inom ett visst område nära origo som presenteras.

yz

8.1 Begränsning på styrsignalen För att få en bättre uppfattning om hur roboten beter sig för de olika styrmetoderna är det intressant att studera hur styrsignalerna ser ut, både vid lite lättare simuleringsfall och vid lite svårare. Det som är intressant att undersöka är om MPC når sina begränsningar i samma utsträckning som LQ. Anledningen till att just detta är intressant är att det annars inte är någon större skillnad på MPC och LQ rent metodmässigt, då de båda utgår från samma grundteori. Något som är viktigt att poängtera än en gång är att MPC tar hänsyn till begränsningen på styrsignalen när den räknar fram den optimala styrsignalen medan tillämpningen med LQ mättar sin styrsignal efter framtagningen av den optimala styrsignalen om det visar sig att den överstiger begränsningen. Att begränsningarna nås ligger utanför LQ-teorin och detta gör att optimalitet inte längre gäller, medan begränsningarna är en ingående del i MPC. Figurerna i avsnitt 8.1.1 och 8.1.2 visar på tio stycken simuleringar för varje metod och simuleringsgrad, detta för att både kunna göra jämförelser mellan MPC och LQ och dels för att lättare se var styrsignalen når begränsningen. I figurerna är styrsignalen på y-axeln och på x-axeln är

37

Page 55: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

simuleringstiden. I figurerna i avsnitt 8.1.3 presenteras den totala styrsignalen för en simulering för varje metod och för ett svårare simuleringsfall. Figurerna visar även begränsningen som styrsignalen har för att göra det lättare att se hur och när styrsignalerna för MPC och LQ når sina begränsningar.

8.1.1 Lättare simuleringsfall

Först studeras fallet då simuleringarna har körts för lite enklare simuleringsfall, se Figur 16 och Figur 17. Då begränsningen på styrsignalen, för både MPC och LQ, är på xy - och xz -

led tillsammans kan det vara lite krångligt att identifiera var begränsningarna går i, men det är inte omöjligt. Att styrsignalerna har gått i begränsningarna kan ses genom att linjen ser ut att plana ut på vissa ställen, den ser nästan avkapad ut vilket den också är för LQ. Begränsningen ligger på den sammanlagda styrsignalen och ibland är det så att styrsignalen i xy - led, , kan tillåtas att ta ut så stora styrsignaler som den vill medan styrsignalen i

xyuxz -led, , inte

tillåts att ta ut så stor styrsignalen som den vill. Ibland gäller även det omvända och detta leder till att det är svårt att lägga någon definitiv begränsning i figurerna. Ur Figur 16 och Figur 17 kan man utläsa att det bara är fåtalet av de simuleringar som körs som resulterar i att begränsningarna går i. De flesta styrsignalerna håller sig innanför marginalen både för MPC och LQ. Det är något fler styrsignaler som går i begränsningarna för MPC precis i början jämfört med LQ. Det är också tydligt att MPC har mindre variationer än LQ både på och

, vilket antagligen beror på att MPC tar hänsyn till hur framtida styrsignaler ska

kommenderas medan LQ inte tar någon hänsyn alls till dessa. Detta leder således till att MPC tar ut stora styrsignaler till en början och behöver på så sätt inte ta till så drastiska åtgärder vid slutet av simuleringarna. I Figur 16 visas det att styrsignalen för LQ varierar väldigt mycket på slutet och detta kommer sig av att LQ inte vet hur framtida styrsignaler kommer att väljas så nuvarande styrsignal baseras endast på hur det ser ut just nu. Med LQ krävs mer arbete för att få roboten att styra in sig mot rätt värde.

xzu

xyu

xzu

38

Page 56: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

Figur 16: Styrsignaler för LQ vid lite enklare simuleringsfall.

Figur 17: Styrsignaler för MPC vid lite enklare simuleringsfall.

39

Page 57: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

8.1.2 Svårare simuleringsfall

Figur 18 och Figur 19 visar simuleringarna vid lite svårare simuleringsfall. Även här gäller det att MPC tar ut större styrsignaler och går i begränsningarna mer i början av simuleringen och varierar inte lika mycket som LQ vid slutet. Anledningen till att styrsignalen varierar mera både för LQ och för MPC har att göra med att det är svårare simuleringsfall och reglermetoderna får arbeta mera för att styra in sig mot rätt värden. Det är tydligt att begränsningarna går i mer både för MPC och LQ och det är också lättare att utläsa var styrsignalerna går i begränsningarna jämfört med Figur 16 och Figur 17 ovan.

Figur 18: Styrsignaler för LQ vid lite svårare simuleringsfall.

40

Page 58: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

Figur 19: Styrsignaler för MPC vid lite svårare simuleringsfall.

8.1.3 Begränsning för den totala styrsignalen

I Figur 20 och Figur 21 visas den totala styrsignalen samt styrsignalsbegränsningen under ett lite svårare simuleringsfall för LQ respektive MPC. LQ visar ett mer varierat utseende för styrsignalen under hela simuleringen medan MPC har ett mer balanserat utseende. Detta beror troligen på att styrsignalen för MPC beräknas med hänsyn till framtida styrsignaler, vilket inte görs för LQ. Under slutet av simuleringen nås begränsningen av styrsignalen för både LQ respektive MPC. Styrsignalen för MPC, Figur 21, når inte upp till men utseendet på

styrsignalen indikerar tydligt att en begränsning har nåtts för MPC. Anledningen till att MPC begränsas för ett lägre värde än vad LQ gör beror på linjäriseringen av styrsignalsbegränsningen som beskrevs i avsnitt 5.2.3, d.v.s. att MPC har en snävare begräsning på sin styrsignal än vad LQ har.

limu

41

Page 59: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

Figur 20: Den totala styrsignalen för LQ under ett lite svårare fall.

Figur 21: Den totala styrsignalen för MPC under ett lite svårare fall.

42

Page 60: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

8.1.4 Resultat och slutsats

Från de två fallen ovan, se avsnitt 8.1.1 och 8.1.2, kan det konstateras att styrsignalerna för både LQ och MPC går i sina begränsningar. Detta betyder olika för de respektive reglermetoderna. För LQ mättas styrsignalen, vilket innebär att den inte tillåts ta ut så stora styrsignaler som krävs. MPC tar däremot hänsyn till begränsningarna vid beräkning av styrsignalen, vilket innebär att regleringen blir mer fullständig. Detta är en viktig skillnad för att kunna dra några generella slutsatser om de två metoderna i följande avsnitt.

I figurerna i avsnitt 8.1.1 och 8.1.2 syns det tydligt att styrsignalerna varierar kraftigt i slutet av styrningen. Anledningen till detta, som även beskrivs i avsnitt 7.2.3, skulle kunna vara att om styrlagen ser att den kommer att missa målet och om det är lite tid kvar, innan träff ska ske, behöver styrlagen ta ut mycket accelerationer för att roboten ska träffa målet. Detta gör att variationer på grund av störningar som mätbrus blir mycket tydligare på slutet. Variationerna i slutet skulle även kunna vara en indikation på att estimatorn skulle behöva optimeras bättre för de styrlagar som har undersökts i detta arbete. Variationerna för MPC kan eventuellt också bero på att avståndet mellan optimeringspunkterna blir mindre desto närmare målet som roboten kommer.

8.2 Tillstånden under banan För att jämföra prestandan för de två olika reglermetoderna är det även intressant att veta hur tillstånden beter sig under banan. Systemet har vissa mjuka villkor och dessa påverkar tillstånden och det är därför intressant att se hur stor hänsyn det tas till dessa villkor.

8.2.1 Lättare simuleringsfall

Figur 22 och Figur 23 visas tillstånden under banan för ett lättare fall för LQ respektive MPC. De båda reglermetoderna ser enligt figurerna ut att uppvisa liknande utseende för positions- och hastighetstillstånden i detta fall men det beror på att skillnaderna mellan reglermetoderna är så små att de inte syns i figuren, men de finns där. Det ska även tilläggas att den största delen av robotens rörelse kan styrlagarna inte påverka, dvs. robotens hastighet framåt, utan det är endast accelerationen som kan påverkas i större utsträckning och där ses en skillnad. Skillnaden för accelerationstillstånden som kan ses är att LQ har en brantare lutning än MPC, dvs. MPC tar inte ut lika kraftig accelerationsökning till en början som LQ. I både accelerationen i z-led i Figur 22 och Figur 23 börjar accelerationen med att kraftigt minska och detta beror på att accelerationen är initierad till ett startvärde i styrfiltren och i modellen och detta startvärde avviker från vad som är optimalt för styrningen, detta gäller även för x- och y-led men det är inte riktigt lika tydligt i dessa figurer.

43

Page 61: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

Figur 22 : Tillstånden för ett karakteristiskt lättare simuleringsfall för LQ.

Figur 23 : Tillstånden för ett karakteristiskt lättare simuleringsfall för MPC.

44

Page 62: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

8.2.2 Svårare simuleringsfall

Figur 24 och Figur 25 visar tillstånden under banan för LQ respektive MPC för ett svårare fall. Även vid ett svårare simuleringsfall visar de båda styrmetoderna liknande utseende för tillstånden, men det finns liksom ovan skillnader mellan de två metoderna men de är svåra att upptäcka. Den största skillnaden för tillstånden som kan ses är att accelerationerna skiljer sig åt rätt mycket. Dels på samma sätt som vid lättare simuleringsfall, dvs. att LQ har en brantare lutning i accelerationen än MPC, dvs. MPC tar inte ut lika kraftig accelerationsökning till en början som LQ. I figurerna nedan inses det lätt att accelerationerna skiljer sig åt rätt mycket beror på att LQ och MPC använder sig av två skilda metoder för att ta sig fram mot målet.

Figur 24 : Tillstånden för ett karakteristiskt svårare simuleringsfall för LQ.

45

Page 63: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

Figur 25 : Tillstånden för ett karakteristiskt svårare simuleringsfall för MPC.

8.2.3 Resultat och slutsats

Den enda skillnaden för tillstånden som kan anas för de båda simuleringsfallen är en brantare lutning i accelerationen för LQ än för MPC, dvs. att MPC inte tar ut lika kraftig accelerationsökning till en början som LQ. En möjlig orsak till detta kan vara prediktionsförmågan hos MPC, vilket är en positiv egenskap för MPC då rodren inte belastas lika tungt. Då tillstånden begränsas ”mjukt” med hjälp av straffmatriser kan man inte se samma skarpa gränser som i styrsignalsplottarna där styrsignalen begränsas av MPC-metodens ”hårda” bivillkor eller mättningen som sker i LQ. Av den anledningen är det svårt att avgöra hur bra de mjuka villkoren uppfylls men ett mjukt villkor som man kan se stämmer är att positionen ska gå mot noll vilket tydligt framgår av figurerna.

Variationerna i accelerationen i Figur 25 kan eventuellt förklaras på samma sätt som i avsnitt 8.1.4.

8.3 Önskemål under banan I avsnitt 7.1.1 och 7.2.1 beskrivs det hur det går att få roboten att gå i en konstant manöver, d.v.s. att reglera styrsignalen mot tyngdgravitationen istället för mot noll. Här undersöks vilket av önskemålen under banan som ger bäst resultat, d.v.s. en jämförelse mellan att roboten ska gå i en konstant manöver alternativt att styrsignalen ska straffas mot noll. För MPC blir det ingen skillnad, men det blir det däremot för LQ. Att det för MPC inte blir någon

46

Page 64: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

skillnad beror på att metoden är lika bra på att reglera oavsett om accelerationen straffas mot noll eller tyngdgravitationen. Anledningen till att det inte blir någon skillnad för MPC men för LQ beror på att konstant manöver beräknas på olika sätt, se avsnitt 7.1.1 och 7.2.1. Simuleringarna har genomförts för båda önskemålen på sluttillståndet. I figurerna nedan visas resultatet då man önskar att vid sluttillståndet träffa både i en viss punkt och med en viss vinkel.

8.3.1 Träffpunkt

I Figur 26 visas träffbilden för LQ och här ses att spridningen för de olika kraven under bana är väldigt lika varandra. Ett referensvärde införs i Figur 26 och Figur 27 för att förtydliga

att inte alla träffar visas i träffbilden. Figur 27 visar fördelningen för träffavståndet, dvs. en approximation av vad sannolikheten är att träffavstånd/träffvinkel är mindre än ett visst värde, för LQ då sluttillståndet straffar både träffpunkt och träffvinkel och där ses att sannolikheten att roboten träffar med ett träffavstånd mindre än referensvärdet är ungefär 0.9. Det ser då

ut som om det vore bättre att straffa positionen under banan. Konstant manöver innebär att styrsignalen straffas mot tyngdgravitationen och position innebär att styrsignalen straffas mot noll.

dr

dr

Figur 26 : Träffbild för LQ vid olika krav under banan.

47

Page 65: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

Figur 27 : Fördelningsfunktion m.a.p. träffavstånd för LQ vid olika krav under banan.

8.3.2 Träffvinkel

Figur 28 visar fördelningen för träffvinkeln för LQ, och här ses att konstant manöver är mycket bättre på att ha en mindre träffvinkel. Över lag verkar det som om det är bättre att straffa mot konstant manöver istället för att straffa mot en viss position.

Figur 28 : Fördelningsfunktion m.a.p. träffvinkel för LQ vid olika krav under banan.

48

Page 66: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

8.3.3 Resultat och slutsats

Genom en sammanvägning mellan Figur 26, Figur 27 och Figur 28 konstateras det att det är bättre att straffa mot en konstant manöver för LQ då det finns krav på träffvinkeln i sluttillståndet. Detta beror på att konstant manöver ser till så att roboten kommer mot målet mera uppifrån och träffar på så sätt med en bättre träffvinkel. Då det i slutillståndet inte ska tas någon hänsyn till vinkeln är det bäst att straffa styrsignalen under banan mot noll, d.v.s. roboten ska inte gå i en konstant manöver mot mål. En fördel med konstant manöver är att belastningen på roboten blir mindre och att luftmotståndet troligtvis blir mindre vilket leder till högre hastighet och/eller eventuellt mindre bränsleförbrukning. Dessa detaljer är sådant som skulle kunna påverka resultaten men det har inte ingått i examensarbetet att undersöka dessa detaljer.

Anledningen till att det inte blir någon skillnad för MPC men för LQ kan bero på att konstant manöver beräknas på olika sätt, se avsnitt 7.1.1 och 7.2.1. LQ använder sig av en straffmatris som både kan straffa tillstånd och styrsignal, medan MPC bara kan straffa dem var för sig. Men resultatet skulle kunna se annorlunda ut med andra straffmatriser.

8.4 Önskemål om träffpunkt i sluttillståndet Önskemålen för sluttillståndet kan variera. I detta fall undersöks och jämförs de två styrlagarna MPC och LQ vid önskemål endast på träffpunkten. Vilket innebär att styrsignalerna får tas ut hur som helst, så länge som de är innanför styrsignalbegränsningarna. För att uppfylla önskemålen i sluttillståndet använder man straffmatrisen för sluttillståndet och kan då välja vad som ska prioriteras. I detta fall prioriteras träffpunkten genom att

väljs till ett mycket större värde än övriga vikter i straffmatrisen. Dvs. posq

⎥⎥⎥⎥

⎢⎢⎢⎢

=

ETT

acc

vel

pos

fd

qq

qq

Q

000000000000

ETTaccvelpos qqqq ,,>>

Då sluttillståndet endast straffas för att roboten ska träffa i en viss punkt fås träffbilden i Figur 29. Referensvärdet är med för att förtydliga att träffbilden inte visar alla träffar utan endast de inom en viss radie , jämför med fördelningen av träffavståndet. Fördelning av

träffavståndet för MPC och LQ kan ses i Figur 30. I figuren kan det ses att sannolikheten att roboten träffar inom ett avstånd är 0.96 för MPC och 0.98 för LQ. Inom ett visst intervall

uppvisar Figur 30 bättre prestanda för LQ.

dr

dr

dr

49

Page 67: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

Figur 29 : Träffbild för MPC och LQ vid krav på träffpunkt i sluttillståndet.

Figur 30 : Fördelningsfunktion m.a.p. träffavstånd för MPC och LQ vid krav på träffpunkt i sluttillståndet.

Sannolikheten att roboten träffar inom ett avstånd rd är 0.96 för MPC och 0.98 för LQ.

50

Page 68: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

8.4.1 Resultat och slutsats

Figurerna ovan indikerar att LQ är något bättre än MPC på att träffa målet men det är inte så stor skillnad att man kan dra någon generell slutsats. Då sluttillståndet endast straffas för att roboten ska träffa i en viss punkt blir slutsatsen att de är ungefär lika bra på att träffa målet. Då det inte har lagts ner så mycket tid på att optimera prestandan kan skillnaderna som ses kanske endast bero på valen av straffmatriserna. Figurerna ovan visar förhållandet då man har lite enklare simuleringsfall, men förhållandet mellan de två metoderna förändras inte vid svårare simuleringsfall utan de blir båda sämre på att träffa d.v.s. träffavståndet och träffvinkeln ökar lika mycket för MPC och LQ.

8.5 Önskemål om träffpunkt och träffvinkel i sluttillståndet I avsnitt 7.1.2 och 7.2.2 framgår det att det ibland finns önskemål om träffvinkel för roboten. Straffmatrisen för sluttillståndet används för att straffa träffpunkt och träffvinkel. Det är möjligt att prioritera om träffpunkt eller träffvinkel är viktigast genom att välja storleken på straffen i straffmatrisen. Att det går att göra en sådan prioritering är viktig eftersom det kan skilja från fall till fall hur viktigt det är att träffa i en viss punkt eller med en viss vinkel.

I Figur 31 ses träffbilden och vi kan här se att MPC har en något större spridning av sina träffar. Även här införs referensavståndet för att förtydliga att alla träffar inte ses i

träffbilden. Fördelningen av träffavstånd då sluttillståndet har högre straff på träffpunkt och träffvinkel kan ses i Figur 32. Där ses att MPC och LQ är väldigt lika varandra för träffavståndet även i detta fall. Sannolikheten att en robot träffar inom ett visst avstånd är

0.98 för både MPC och LQ.

dr

dr

51

Page 69: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

Figur 31 : Träffbild för MPC och LQ vid krav på träffpunkt och träffvinkel i sluttillståndet.

Figur 32 : Fördelningsfunktion m.a.p. träffavstånd för MPC och LQ vid krav på träffpunkt och träffvinkel i

sluttillståndet.

52

Page 70: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

I Figur 33 ses det att LQ är bättre på att ta hänsyn till träffvinkeln än MPC. Anledningen till att LQ är bättre kan bero på att LQ och MPC under banan styr på olika sätt mot en konstant manöver och att det sättet som LQ styr på innebär att roboten får en mindre träffvinkel. Det kan även bero på inställningarna av straffmatriserna och att manöver endast är implementerat som mjukt villkor och då är det ju inte säkert att villkoret uppfylls.

Figur 33 : Fördelningsfunktion m.a.p. träffvinkel för MPC och LQ vid krav på träffpunkt och träffvinkel i

sluttillståndet.

8.5.1 Resultat och slutsats

Då figurerna ovan vägs samman inses det att LQ är något bättre på att träffa målet då det under sluttillståndet finns önskemål om träff på både träffpunkt och vinkel. Vid lite svårare simuleringsfall ses det inte någon skillnad i förhållandet mellan MPC och LQ. Det ska tilläggas att de skillnader som ses är små och att andra val av straffmatriser skulle kunna ge andra resultat.

8.6 Jämförelse med MBPN För att få en uppfattning om hur de styrlagar som har implementerats är bra eller inte jämförs de med en annan styrlag som finns implementerad i simuleringsmiljön. Den styrlagen kallas för MBPN och finns noggrant beskriven i (Persson, 2002). MBPN, Modified Biased Proportional Navigation, är en styrlag som använder sig av en referensbana och tar hänsyn till både träffpunkt och träffvinkel i sluttillståndet.

53

Page 71: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

I Figur 34 visas träffbilden för de tre styrlagarna och det ses att MBPN har en något mindre spridning än LQ och MPC. Referensen finns med i figurerna nedan för att se hur de olika

figurerna hör ihop. Fördelningen för träffavståndet visas i Figur 35, och här ses att sannolikheten att roboten träffar inom ett visst avstånd är 0.84 för MBPN och 0.98 för LQ

och MPC. Skillnaden mellan att 84% respektive 98% av robotarna har träffat inom ett visst avstånd indikerar att både MPC och LQ är bättre på att styra tillbaka robotarna mot rätt position än vad MBPN är.

dr

dr

Figur 34 : Träffbild för MPC, LQ och MBPN vid krav på träffpunkt och träffvinkel i sluttillståndet.

54

Page 72: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

Figur 35 : Fördelningsfunktion m.a.p. träffavstånd för MPC, LQ och MBPN vid krav på träffpunkt och

träffvinkel i sluttillståndet.

Figur 36 visar fördelningen för träffvinkeln för MPC, LQ och MBPN. Vid ett referensvärde ses att det är 0.84 sannolikhet att roboten träffar för MBPN, 0.92 för LQ och 0.84 för

MPC. ar

55

Page 73: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

Figur 36 : Fördelningsfunktion m.a.p. träffvinkel för MPC, LQ och MBPN vid krav på träffpunkt och träffvinkel

i sluttillståndet.

8.6.1 Resultat och slutsats

Vid en sammanfattning av ovanstående figurer ses att MBPN är bättre att använda som styrlag då det är önskvärt med små träffavstånd och träffvinklar. MBPN träffar målet bra om den kommer nära målet men den missar grövre än MPC och LQ när den väl missar och detta kan tyda på att LQ och MPC är bättre på att reglera tillbaka sig till rätt position om de hamnar fel än vad MBPN är, d.v.s. LQ och MPC har bättre robusthet än MBPN. Om roboten kan tillåtas ha större träffavstånd och större vinklar ses att både MPC och LQ fungerar bättre än MBPN. Styrlagarna är med andra ord optimerade mot olika mål. Av detta kan sammanfattas att de styrlagar som vi har implementerat verkar fungera nästan lika bra som en tidigare implementerad styrlag som följer en referensbana.

56

Page 74: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

9 Robusthet En avgörande faktor vid val av reglermetod är hur robust metoden är. Av den anledningen var ett ytterligare delmål med arbetet att undersöka hur robusta de två reglermetoderna är och jämföra dem med varandra. För att undersöka hur robusta reglermetoderna är används det ofta tester såsom undersökning av t.ex. fasmarginal och amplitudmarginal. I detta arbete är detta dock inte möjliga alternativ då det slutna systemet för MPC inte kan presenteras på det sätt som krävs för dessa slags robusthetstester. Istället har prestanda undersökts m.h.a. simuleringar vid felskattning av olika parametrar. Under dessa simuleringar har krav på manöver ställts för LQ respektive MPC enligt avsnitt 7.1.1 och 7.2.1. Utifrån dessa tester har en jämförelse mellan de olika reglermetodernas robusthet gjorts.

En ytterligare faktor som spelar in vid val av reglermetod är beräkningstiden och detta för att kontrollera att systemet är realiserbart. Undersökningen av de två reglermetodernas beräkningstider presenteras sist i detta kapitel.

9.1 Felskattning av tgo Parametern anger återstående tid kvar till träff. Parametern skattas enligt resultatet i

avsnitt 6.2 med formeln got

w

wwwwgo a

savvt

22 ++−=

Det sanna värdet av i denna robusthetsundersökning kallas för . I detta test jämförs

prestanda då under- respektive överskattas. Då underskattas används och

på motsvarande sätt används vid överskattning.

got sanngot

got got sanngogo tt <

sanngogo tt >

9.1.1 Underskattning av tgo Då underskattas får regulatorn informationen att återstående tid till träff är kortare än vad

som egentligen är fallet. I detta test har använts. Detta gör att roboten troligtvis

kommer att ha styrt in mot rätt position och vinkel vid en tidpunkt tidigare än träfftidpunkten.

gotsanngogo tt ⋅= 8.0

9.1.2 Överskattning av tgo Överskattning av är det motsatta fallet. Då får regulatorn istället informationen att

återstående tid till träff är längre än vad den egentligen är. I detta test har

använts. Roboten kommer då att träffa tidigare än beräknat och eventuellt har den ej hunnit ta sig till önskad position med önskad träffvinkel.

gotsanngogo tt ⋅= 1.1

9.1.3 Resultat och slutsats Figur 37 och Figur 38 visar träffbilderna inom en radie för LQ resp. MPC då återstående dr

57

Page 75: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

tid till träff felskattas. Då figurerna jämförs kan man se att träffbilden för MPC har något större spridning än träffbilden för LQ.

Figur 37 : Träffbild för LQ då återstående tid till träff felskattas.

58

Page 76: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

Figur 38 : Träffbild för MPC då återstående tid till träff felskattas.

För att åskådliggöra resultatet ytterligare kan Figur 39 och Figur 40 jämföras. Figurerna visar träffavståndsfördelningen för simuleringar inom en större träffradie än Figur 37 och Figur 38 som endast visar träffar inom träffradien från målet. dr

59

Page 77: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

Figur 39 : Fördelningsfunktion m.a.p. träffavstånd för LQ då återstående tid till träff felskattas.

Figur 40 : Fördelningsfunktion m.a.p. träffavstånd för MPC då återstående tid till träff felskattas.

60

Page 78: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

I Figur 39 och Figur 40 kan utläsas att för så korrekt skattning som möjligt samt för överskattning av har alla simuleringar träffat inom träffradien , men för underskattning av har 96 % av simuleringarna träffat för LQ och 94 % träffat för MPC inom . För små träffavstånd är MPC något robustare då LQ inte klarar överskattning av lika bra. Då träffavstånden är större blir underskattning av ett allt större problem för båda metoderna. Något anmärkningsvärt är att MPC visar kortare träffavstånd då överskattas gentemot då

skattas med avseende att skatta så korrekt som möjligt.

got dr

got dr

got

got

got

got got

I Figur 41 och Figur 42 visas resultatet då robusthet m.a.p. träffvinkel undersöks. Figurerna visar träffvinklar med vinkelutslag max grader från vertikallinjen. För små träffvinklar uppvisar både LQ och MPC en större andel simuleringar där träffvinklarna är små då underskattas i jämförelse med då skattas så korrekt som möjligt. Detta kan bero på att då

underskattas är missilen troligtvis i läge redan innan träff och kräver sedan ingen ytterligare reglering, se Figur 12 i avsnitt 6.2. Då överskattas ger MPC även då en större andel simuleringar med små vinklar än då skattas så korrekt som möjligt. LQ ger däremot en mindre andel simuleringar med små träffvinklar då överskattas.

ar

got

got

got

got

got

got

Figur 41 : Fördelningsfunktion m.a.p. träffvinkel för LQ då återstående tid till träff felskattas.

61

Page 79: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

Figur 42 : Fördelningsfunktion m.a.p. träffvinkel för MPC då återstående tid till träff felskattas.

9.2 Felskattning av egenfrekvensen Vid felskattningen av egenfrekvensen, ω , sker precis som i avsnitt 9.1 en medveten över- respektive underskattning av parametern för att undersöka robustheten. Parametern ω anger hur snabbt systemet svarar på insignalsförändringar. ω väljs enligt resultatet i avsnitt 6.1, där egenfrekvensen skattades genom jämförelse mellan stegsvar från modellen och den simulerade modellen.

Då ω skattats enligt beskrivningen ovan kallas den sanna parametern i denna robusthetsundersökning för . I detta test jämförs prestanda då sannω ω under- respektive överskattas. Då ω underskattas används och på motsvarande sätt används

vid överskattning.

sannωω <sannωω >

9.2.1 Underskattning av ω

Vid underskattning av egenfrekvensen får regulatorn informationen att systemet är långsammare än vad det egentligen är. Följden blir att långsammare manövrar kommenderas och systemet svänger inte in sig så snabbt som det har kapacitet att göra.

9.2.2 Överskattning av ω

Vid överskattning av ω får regulatorn istället motsatt information, d.v.s. att systemet som skall styras är av snabbare karaktär än vad som egentligen är fallet. Följden här blir att snabbare manövrar än vad systemet har möjlighet att klara av kommenderas.

62

Page 80: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

9.2.3 Resultat och slutsats Figur 43 och Figur 44 visar träffbilderna inom en radie för LQ resp. MPC då modellens

egenfrekvens felskattas. Då figurerna jämförs kan man se att LQ har en större spridning än MPC. Framför allt är det underskattningen av egenfrekvensen som LQ uppvisar sämre robusthetsegenskaper för.

dr

Figur 43 : Träffbild för LQ då modellens egenfrekvens felskattas.

63

Page 81: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

Figur 44 : Träffbild för MPC då modellens egenfrekvens felskattas.

Samma resultat visas ännu tydligare i Figur 45 och Figur 46. För överskattning av egenfrekvensen visar metoderna på liknande robusthetsegenskaper för både små och stora träffavstånd, men då egenfrekvensen underskattas visar som tidigare nämnts LQ betydligt sämre robusthetsegenskaper.

64

Page 82: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

Figur 45 : Fördelningsfunktion m.a.p. träffavstånd för LQ då modellens egenfrekvens felskattas.

Figur 46 : Fördelningsfunktion m.a.p. träffavstånd för MPC då modellens egenfrekvens felskattas.

65

Page 83: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

Robustheten gällande träffvinklar, med ett vinkelutslag max grader från vertikallinjen, för

LQ och MPC visas i Figur 47 och Figur 48. För små träffvinklar kan man se att MPC är något robustare mot underskattning av egenfrekvensen. För stora träffvinklar uppvisar metoderna liknande robusthetsegenskaper. Båda metoderna klarar bättre av överskattning än underskattning av egenfrekvensen. Generellt sett ger överskattning t.o.m. ett bättre resultat än den egenfrekvens som testats fram i avsnitt 6.1.

ar

Figur 47 : Fördelningsfunktion m.a.p. träffvinkel för LQ då modellens egenfrekvens felskattas.

66

Page 84: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

Figur 48 : Fördelningsfunktion m.a.p. träffvinkel för MPC då modellens egenfrekvens felskattas.

9.3 Förstärkningsfel I ett tredje robusthetstest har ett förstärkningsfel av styrsignalen använts enligt

uKuK ⋅= K = 0.75, 1, 1.25

Testet visar hur känslig modellen är för ett förstärkningsfel av den kommenderade styrsignalen.

9.3.1 Underdimensionerad styrsignal

Då styrsignalen multipliceras med en faktor mindre än ett, 75.0=K , kommenderas en acceleration, , som är mindre än vad regulatorn beräknat. Detta gör att systemet accelererar

mindre än vad som egentligen krävs för att styra systemet mot önskad position och vinkel. Ku

9.3.2 Överdimensionerad styrsignal

Då styrsignalen istället multipliceras med en faktor större än ett, 25.1=K , kommenderas en acceleration, , som är större än vad regulatorn beräknat. Detta gör följaktligen att systemet

accelererar mer än vad som egentligen krävs för att styra systemet mot önskad position och vinkel.

Ku

67

Page 85: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

9.3.3 Resultat och slutsats I Figur 49 och Figur 50 visas träffbilden inom en träffradie vid förstärkningsfel för LQ

resp. MPC. Då figurerna jämförs ses att spridningen av punkterna är större för LQ än för MPC. Detta resultat ser man även då Figur 51 och Figur 52 jämförs. Dessa figurer visar fördelningsfunktionerna m.a.p. träffavstånd för LQ och MPC vid förstärkningsfel. För små träffavstånd är MPC robustare, speciellt då mer acceleration än beräknat kommenderas. Även för stora träffavstånd är MPC mer tolerant mot att mer acceleration än beräknat kommenderas. För stora träffavstånd är LQ mer tolerant mot att mindre acceleration kommenderas. Här visar alltså MPC på goda resultat i jämförelse med LQ.

dr

Figur 49 : Träffbild för LQ vid förstärkningsfel.

68

Page 86: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

Figur 50 : Träffbild för MPC vid förstärkningsfel.

Figur 51 : Fördelningsfunktion m.a.p. träffavstånd för LQ vid förstärkningsfel.

69

Page 87: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

Figur 52 : Fördelningsfunktion m.a.p. träffavstånd för MPC vid förstärkningsfel.

I fördelningsfunktionerna för träffvinkel för LQ och MPC vid förstärkningsfel, som visas i Figur 53 och Figur 54, ses att LQ generellt sett är robustare mot förstärkningsfel. Både för små och stora träffvinklar visar sig LQ vara mer tolerant mot förstärkningsfel. Figurerna visar de simuleringar som träffat med ett vinkelutslag mindre än från vertikallinjen. ar

70

Page 88: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

Figur 53 : Fördelningsfunktion m.a.p. träffvinkel för LQ vid förstärkningsfel.

Figur 54 : Fördelningsfunktion m.a.p. träffvinkel för MPC vid förstärkningsfel.

71

Page 89: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

72

9.4 Beräkningtider I detta arbete har inget fokus lagts på beräkningstiden för de olika reglermetoderna. Under arbetets gång har det noterats att de testade fallen kan lösas i realtid med tillgängliga resurser. Då kort beräkningstid prioriteras finns det andra metoder som är mer optimerade i det avseendet. Explicit MPC är en variant av MPC där många beräkningar sker offline och på så sätt kräver mindre beräkningar under själva styrningen. Denna metod beskrivs närmare i (Ekström, 2005).

Page 90: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

10 Slutsatser och rekommendationer för framtida arbete I detta kapitel dras slutsatser från de simuleringar som genomförts och rekommendationer föreslås för framtida arbete.

10.1 Slutsatser Ur prestandasynpunkt kan man inte säga vilken styrlag som är bäst. LQ visar något bättre resultat i vissa fall men skillnaderna är så pass små att de troligen endast beror på valet av straffmatriserna. Ett undantag är att LQ är bättre på att ta hänsyn till träffvinkeln än MPC. Anledningen till att LQ är bättre kan bero på att LQ och MPC under banan styr på olika sätt mot en konstant manöver och att det sättet som LQ styr på innebär att roboten får en mindre träffvinkel. Det kan även bero på inställningarna av straffmatriserna och att de endast är implementerade som mjuka villkor och då är det ju inte säkert att villkoret uppfylls.

En slutsats som är möjlig att göra är att det går att använda MPC vid slutfasstyrning av robot. Detta baserat på det faktum att det sedan tidigare är känt att LQ är en bra styrlag att använda och MPC uppvisar likvärdiga prestandaresultat.

Även ur robusthetssynpunkt kan man inte se något tydligt mönster angående vilken styrlag som är att föredra. Vid felskattning av parametern och vid förstärkningsfel är skillnaderna

i robusthet så pass små att MPC och LQ antas vara likvärdiga. Däremot vid underskattning av systemets egenfrekvens uppvisar LQ betydligt sämre robusthetsegenskaper med avseende på träffavstånd.

got

Från undersökningarna av styrsignalen och tillstånden under banan uppvisar MPC ett mer planerat beteende när det gäller accelerationsförändringar. Det mer planerade beteendet gör att rodren inte belastas lika hårt. Detta är en fördel som talar för MPC men skillnaderna gentemot LQ är så pass små att fler tester krävs för att med tillräcklig grund kunna dra slutsatsen att detta alltid gäller.

För att dra slutsatser om vilken av de två styrlagarna som har bäst egenskaper behövs större och mer omfattande simuleringstester genomföras, se avsnitt 10.2. Detta gäller både för prestanda och för robusthet.

Med avseende på realiserbarhet kan det inte dras några slutsatser angående styrlagarnas för- och nackdelar. Eftersom båda styrlagarna kan användas för tillämpningen slutfasstyrning av robot uppfyller de realtidskraven, vilket är viktigt ur realiserbarhetssynpunkt.

10.2 Rekommendationer för framtida arbete Utgående från de slutsatser som dragits rekommenderas framför allt mer omfattande tester. Omfattande på det sätt att fler fall, d.v.s. simuleringar med olika startvillkor, täcks och att fler simuleringar för varje fall genomförs. Dessa rekommendationer gäller både för prestanda- och

73

Page 91: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

74

robusthetstester.

Då inget fokus har lagts på optimal inställning av designparametrarna är även det en möjlig utökning av arbetet. En möjlighet är även att införa tidsvarianta kontinuerliga straffmatriser. Då kraven under banan kan variera kan detta vara av intresse. Även att införa andra typer av bivillkor i MPC skulle kunna vara en vidareutveckling av arbetet. Att kunna införa bivillkor är en stor fördel och att tänka över hur detta utnyttjas på bästa sätt rekommenderas starkt för framtida arbete.

Den modell som använts är tillräcklig för att beskriva roboten men en av anledningar till att det inte ses någon större skillnad mellan LQ och MPC kan bero på att MPC kräver en bättre modell för att påvisa sin fulla potential. En utvidgning av modellen kan därför vara intressant att undersöka i framtida arbeten.

För att kunna utnyttja MPC fullt ut, d.v.s. genom att använda prediktionshorisonten och optimera styrsignalen för varje framtida tidpunkt, skulle det behövas mera prestanda, datorkraft, som klarar av komplexare problem än vad som var fallet i detta examensarbete. En annan möjlighet skulle kunna vara att utnyttja en lösare som utnyttjar strukturen i stora matriser.

Det skulle kunna vara intressant att undersöka prestanda och robusthet vid användning av explicit MPC. I Explicit MPC sker inte optimeringen online vilket innebär att ansatsen att styrsignalen är konstant under ett visst antal tidssteg antagligen inte skulle behöva göras. Med andra ord kan en optimal styrsignal beräknas för alla tidssteg. Explicit MPC har tidigare undersökts för slutfasstyrning av robot men med andra krav än för denna tillämpning och för en annan typ av robot, se (Ekström, 2005).

Vad gäller robusthet är det även en annan möjlighet att undersöka robust MPC. För närmare presentation av robust MPC rekommenderas bland annat (Löfberg, 2003).

Page 92: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

75

11 Referenslista Di Gaspero, L. (2006), Quadprog ++ http://www.diegm.uniud.it/digaspero/index.php?page=software (Acc.2007-08-13).

Ekström, M. (2005), Slutfasstyrning av missil med explicit prediktionsreglering. Examensarbete LiTH-ISY-EX-3619-2005, Linköpings Tekniska Högskola, Linköping.

Filipov, A.F. (1964), Differential Equations with Discontinous Right-hand Side. In: American Mathematical Society Translations, Vol 42, 199-231.

Glad, T. & Ljung, L. (2003), Reglerteori. Flervariabla och olinjära metoder. Studentlitteratur, Lund, Sweden, andra utgåvan.

Glad, T. et al. (2003), Digital Styrning Kurskompendium. Institutionen för systemteknik, Linköping.

Glawing, H. (2006), Målsökning med bivillkor i träffpunkten via LQG-metodik. Teknisk rapport 251000079, Saab Bofors Dynamics, Karlskoga.

Gustavsson, J. (2004), Slutfasstyrning med krav på nedslagsvinkel. Examensarbete LiTH-ISY-EX-3424-2004, Linköpings Tekniska Högskola, Linköping.

Kwarkernaak, H. & Sivan, R. (1972), Linear Optimal Control Systems. John Wiley and Sons Inc., New York.

Löfberg, J. (2003), Minimax approaches to robust model predictive control. Doktorsavhandling nr. 812, Linköpings tekniska högskola, Linköping.

Nocedal, J. & Wright, S. (1999), Numerical Optimization. Springer Series in Operations Research, Springer-Verlag.

Persson, M. (2002), Optimering av slutfasstyrning. Examensarbete LiTH-ISY-EX-3230-2002, Linköpings Tekniska Högskola, Linköping.

Söderberg, A. (2003), Styrlagar för en höghastighetsrobot. Examensarbete LiTH-ISY-EX-3362-2003, Linköpings Tekniska Högskola, Linköping.

Rugh, W.J. (1996), Linear System Theory. Prentice Hall, USA.

Åström, K.J. et al (1997), Computer controlled systems. Prentice Hall, USA.

Page 93: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

Bilagor

A. Tidsdiskretisering Enligt (Rugh, 1997) kan tidsdiskretisering utgående från systembeskrivningen

)()()()()(

)()()()(tutDtxtCty

tButxtAtx+=+=&

erhållas genom följande ekvationer:

),()(),( sssss ntntntAntntdd

+Φ+=+Φ ττττ

Intnt ss =Φ ),(

),()()(),( ssssss ntntntAntBntntdd

+Γ+++=+Γ τττττ

0),( =Γ ss ntnt

0),( =+Θ ss ntntdd ττ

)(),( sss ntCntnt =Θ

0),( =+Ψ ss ntntdd ττ

)(),( sss ntDntnt =Ψ

Metoden utnyttjar det faktum att styrsignalen är konstant under ett sampel. Tidsdiskretiseringen sker också under antagandet att mätningarna sker vid sampelgränserna och utan fördröjning.

Tidsdiskretisering av straffmatriserna krävs också för beräkning av diskret LQ-styrlag:

),()(),(),( 11 sssssT

ssd ntntntQntntntntQdd

+Φ++Φ=+ τττττ

, 0),(1 =ssd ntntQ

),(),(),()()(,(),( 12112 sssT

sssssT

ssd ntQntntntntntQntntntntQdd

++Φ++Γ++Φ=+ τττττττ

0),(12 =ssd ntntQ

),()()(),(

),()(),()(),(

1212

122

sssT

sssT

sssssT

sssd

ntntntQntQntnt

ntntntQntntntQntntQdd

+Γ++++Γ+

+Γ++Γ++=+

ττττ

ττττττ

Page 94: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional
Page 95: Institutionen för systemteknik - DiVA portalliu.diva-portal.org/smash/get/diva2:17276/FULLTEXT01.pdfQP Quadratic Programming (eng), kvadratisk programmering BPN Biased Proportional

På svenska Detta dokument hålls tillgängligt på Internet – eller dess framtida ersättare – under en längre tid från publiceringsdatum under förutsättning att inga extra-ordinära omständigheter uppstår.

Tillgång till dokumentet innebär tillstånd för var och en att läsa, ladda ner, skriva ut enstaka kopior för enskilt bruk och att använda det oförändrat för ickekommersiell forskning och för undervisning. Överföring av upphovsrätten vid en senare tidpunkt kan inte upphäva detta tillstånd. All annan användning av dokumentet kräver upphovsmannens medgivande. För att garantera äktheten, säkerheten och tillgängligheten finns det lösningar av teknisk och administrativ art.

Upphovsmannens ideella rätt innefattar rätt att bli nämnd som upphovsman i den omfattning som god sed kräver vid användning av dokumentet på ovan beskrivna sätt samt skydd mot att dokumentet ändras eller presenteras i sådan form eller i sådant sammanhang som är kränkande för upphovsmannens litterära eller konstnärliga anseende eller egenart.

För ytterligare information om Linköping University Electronic Press se förlagets hemsida http://www.ep.liu.se/ In English The publishers will keep this document online on the Internet - or its possible replacement - for a considerable time from the date of publication barring exceptional circumstances.

The online availability of the document implies a permanent permission for anyone to read, to download, to print out single copies for your own use and to use it unchanged for any non-commercial research and educational purpose. Subsequent transfers of copyright cannot revoke this permission. All other uses of the document are conditional on the consent of the copyright owner. The publisher has taken technical and administrative measures to assure authenticity, security and accessibility.

According to intellectual property law the author has the right to be mentioned when his/her work is accessed as described above and to be protected against infringement.

For additional information about the Linköping University Electronic Press and its procedures for publication and for assurance of document integrity, please refer to its WWW home page: http://www.ep.liu.se/ © Sofia Sjögren och Nina Wollinger