Teknisk dokumentation - LiU

38
Flervariabla reglerstrategier för avancerade motorer LIU 2018-12-14 Teknisk dokumentation Redaktör: Amanda Nilsson Version 0.2 Status Granskad 2018-12-14 Godkänd Lars Eriksson TSRT10 Volvo LIPs Sida 1

Transcript of Teknisk dokumentation - LiU

Page 1: Teknisk dokumentation - LiU

Flervariabla reglerstrategier för avancerade motorerLIU

2018-12-14

Teknisk dokumentationRedaktör: Amanda Nilsson

Version 0.2

StatusGranskad 2018-12-14Godkänd Lars Eriksson

TSRT10 Volvo LIPsSida 1

Page 2: Teknisk dokumentation - LiU

Flervariabla reglerstrategier för avancerade motorerLIU

2018-12-14

PROJEKTIDENTITET2018/HT, TSRT10 Volvo

Tekniska Högskolan vid Linköpings Universitet, ISY

GruppdeltagareNamn Ansvar Telefon E-postAmanda Nilsson Projektledare (PL) 0730622479 [email protected] Wetterhag Dokumentansvarig (DOK) 0733160236 [email protected] Malmberg Test- och Kvalitetsansva-

rig0761462787 [email protected]

Emil Eklund Designansvarig (DSN) 0738030446 [email protected] Bärlund Mjukvaruansvarig 0761120772 [email protected] Andersson MPC-ansvarig 0739510094 [email protected] Johansson VVT-modell 0739225780 [email protected] Strandberg Tillståndsansvarig 0761662500 [email protected]

Kund: Volvo Cars CorporationKontaktperson hos kund: Fredrik Wemmert

Beställare: Lars Eriksson, 013-284409, [email protected]: Daniel Axehill, 013-284042, [email protected]

Handledare: Robin Holmbom, 013-281327 , [email protected]

TSRT10 Volvo LIPsSida 2

Page 3: Teknisk dokumentation - LiU

Flervariabla reglerstrategier för avancerade motorerLIU

2018-12-14

Innehåll

Dokumenthistorik 5

1 Inledning 7

2 Beteckningar, variabler och index 8

3 VVT modell 103.1 Scavenging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.2 Parameterskattning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.3 VVT resultat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.4 Motivering kring val av VVT modell . . . . . . . . . . . . . . . . . . . . . . . 14

3.5 Regulator för VVT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

4 Optimeringslösare 184.1 Hårdvara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4.2 QP till NNLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4.3 Algoritm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

4.4 Prestanda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4.5 Övriga optimeringslösare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

5 MPC 235.1 Val av motormodell till MPC . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

5.2 Linjärisering av motormodell . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

5.2.1 Linjärisering med Linear Analysis Tool . . . . . . . . . . . . . . . . . 24

5.2.2 Linjärisering för hand . . . . . . . . . . . . . . . . . . . . . . . . . . 24

5.3 Tillstånd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

5.4 Målfunktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

5.5 Bivillkor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

5.6 Val av regulatorparametrar . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

5.7 Kaskadreglering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

5.8 Andra former av MPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5.9 Alternativa flervariabela regleralgoritmer . . . . . . . . . . . . . . . . . . . . . 28

6 Resultat 296.1 VVT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

6.1.1 Diskussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

6.2 MPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

6.2.1 Diskussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

TSRT10 Volvo LIPsSida 3

Page 4: Teknisk dokumentation - LiU

Flervariabla reglerstrategier för avancerade motorerLIU

2018-12-14

7 Fortsatta arbete 37

TSRT10 Volvo LIPsSida 4

Page 5: Teknisk dokumentation - LiU

Flervariabla reglerstrategier för avancerade motorerLIU

2018-12-14

DokumenthistorikVersion Datum Utförda förändringar Utförda av Granskad0.1 10 december 2018 Första utkast. Alla -0.2 14 december 2018 Robins kommentarer rättade. Alla -

TSRT10 Volvo LIPsSida 5

Page 6: Teknisk dokumentation - LiU

Flervariabla reglerstrategier för avancerade motorerLIU

2018-12-14

Nomenclature

MPC Model Predictive Control

NNLS Non negative least squares

QP Quadratic programming

VVT Variabel ventiltid

TSRT10 Volvo LIPsSida 6

Page 7: Teknisk dokumentation - LiU

Flervariabla reglerstrategier för avancerade motorerLIU

2018-12-14

1 Inledning

Detta dokument beskriver implementationen av MPC för momentstyrning av en motor medturbo. Reglersystemet simuleras med en modell av motorn i Simulink.

I avsnitt 3 beskrivs den VVT-modell som valts för implementation i både simuleringsmodellenav motorn och den motormodell som MPCn använder. I avsnittet presenteras även alternativamodeller för VVT.

I avsnitt 4 beskrivs den optimeringslösare som skrivits i projektet för att att lösa optimerings-problemet i MPC.

I avsnitt 5 beskrivs teorin bakom MPC samt hur den tillämpas i detta projektet. Avsnittet inne-håller även vilka andra flervariabla reglermetoder som kan vara ett alternativ.

I avsnitt 6 visas de resultat som projektet gav med hjälp av figurer vid olika körningar.

TSRT10 Volvo LIPsSida 7

Page 8: Teknisk dokumentation - LiU

Flervariabla reglerstrategier för avancerade motorerLIU

2018-12-14

2 Beteckningar, variabler och index

I detta kapitel beskrivs beteckningar, variabler och index som använts i projektet. Dessa listasnedan i tabellerna 1, 2 och 3. En övergripande bild över sensorers och aktuatorers placeringvisas i figur 1 denna kan med fördel undersökas vid förståelse för de olika index listade i tabell1.

Index beteckning Betydelseaf Luftfiltret.

comp (Compressor) kompressorn.ic Laddluftkylaren (intercooler).

bef, thr Före gasspjället (trotteln).at Efter trotteln.im Kontrollvolymen vid insuget.inj Insprutning i cylindern.fc (Fresh charge) luftblandningen som går in i cylindern.e (Engine) motor. Syftar på i cylindrarna.

em Kontrollvolymen direkt efter cylindern.wg Wastegate.tc (Turbo charger) turbon.es (Exhaust system) index för avgassystemet.cat Katalysatorn.

IVO Insugsventils öppningIVC Insugsventils stängningEVO Avgasventils öppningEVC Avgasventils stängningTDC (Top dead center) kolvens övre vändläge.BDC (Bottom dead center) kolvens nedre vändläge.

Tabell 1: I denna förklaras olika index som förekommer i denna rapport.

TSRT10 Volvo LIPsSida 8

Page 9: Teknisk dokumentation - LiU

Flervariabla reglerstrategier för avancerade motorerLIU

2018-12-14

Figur 1: Övergripande bild över var aktuatorer och sensorer sitter på en bensinmotor. (Eriksson,2018)

Motorkonstant beteckning Betydelsel Vevstakens längd.a Radie för vevaxelns rörelse.Bcyl Cylinderns diameter.γ Specifik värmekapacitets kvot.ncyl Antalet cylindrar i motorn.λ Kvot mellan mängd syre och bränsle.R Ideala gaskonstanten.

(A/F )s Det stökiometriska förhållandet.rc Kompressions kvoten.Vd Volymen en cylinder har.Div Ventilsätesdiameter för insugsventil.Dev Ventilsätesdiameter för avgasventil.Aiv Area för insugsventil.Aev Area för avgasventil.

Tabell 2: Här listas vilka motorkonstanter som finns och även vad de innebär.

TSRT10 Volvo LIPsSida 9

Page 10: Teknisk dokumentation - LiU

Flervariabla reglerstrategier för avancerade motorerLIU

2018-12-14

Variabel beteckning Beskrivningxrg Andel residual gaser i cylindern.Ne Motorvarvtal.mfc Luftflödet in till cylindern.mfi Flödet av bränsle in i cylindern.mtot Totala massan av luft, bränsle och residualgaser i cylindern.T Temperatur.V Volym.p Tryck.ρ Densitet.θ Vinkel för ventiler.

Tabell 3: Ingående variabler och beskrivning av dessa.

3 VVT modell

Modellerna nedan är de som valts att utgå ifrån för implementeringen av en VVT modell.

I tabell 4 finns alla parametrar som behöver skattas för VVT ekvationerna som sedan följer.

Skattade parametrarβ1β2a1a2α1

α2

α3

Tabell 4: Parametrar som skattats för VVT-modellerna.

(Jiang et al., 2009) presenteras ekvationerna som används i detta avsnitt.

I ekvation (1) presenteras en modell för massflödet luft in i cylindern beroende på residualga-serna som finns kvar i cylindern och massflödet av bränsle som sprutas in i cylindern.

mfc = ncyl(1− xrg)mtotNe

120− mfi (1)

I (Eriksson and Nielsen, 2014) finns definitionen för λ, denna kan skrivas om med våra beteck-ningar från tidigare ekvationer och uttrycket i ekvation (2) kan erhållas.

mfi =mfc

λ(A/F )s(2)

TSRT10 Volvo LIPsSida 10

Page 11: Teknisk dokumentation - LiU

Flervariabla reglerstrategier för avancerade motorerLIU

2018-12-14

För att räkna ut den totala massan i cylindern används modellen som ses i (3). Här ingår ävenen modell för pivc och Vivc.

mtot =pivcVivc

RTivc(3)

Nedan i ekvation (4) syns modellen för trycket i cylindern vid stängning av insugsventilen. Härskall de två parametrarna β1 och β2 skattas.

pivc = β1pim + β2 (4)

Ekvation (5) beskriver cylindervolymen som uttryck av vinkeln på vevaxeln.

Vivc = V (θivc) = Vtdc +πB2

cyl

4

(l + a− a cos(θivc)−

√l2 − (a sin(θivc))2

)(5)

Ekvation (6) beskriver den resulterande temperaturen för den totala massan luft och residualgasi cylindern efter stängning av insugsventilen.

Tivc = (1− xrg)Tfc + xrgTrg (6)

Ekvation (7) beskriver temperaturen på den nya luften i cylindern efter insugsventilens stäng-ning. Denna temperatur minskar eftersom trycket i cylindern är något lägre än trycket i in-sugsröret. En god modellförenkling till ekvation (7) är att sätta Tfc = Tim vilket också görs iimplementeringen.

Tfc = Tim

(pim

pivc

) 1−γγ

(7)

För att beskriva andelen residualgaser som finns kvar i cylindern så används ekvation (8) därOF (overlapfactor) är den avgörande faktorn i modellen.

xrg = a1

(pem

pim

) γ+12γ OF

Ne

√|pem − pim|

ρfc+ a2

1

rc

(pem

pim

) 1γ

(8)

För att kunna använda ekvation (8) behövs densiteten på luften vilken sugs in i cylindern. Den-siteten kan räknas ut enligt ekvation (9).

ρfc =pivcVivcRTivc

(9)

Overlapfaktorn beskrivs av modellen i ekvation (10) där parametrarna behöver skattas.

OF =Lv,maxDv

Bcyl(α1θ

20 + α2θ0 + α3) (10)

I ekvation (11) visas θ0.

θ0 = θevc − θivo (11)

TSRT10 Volvo LIPsSida 11

Page 12: Teknisk dokumentation - LiU

Flervariabla reglerstrategier för avancerade motorerLIU

2018-12-14

Med hjälp av dessa ekvationer kan luftmassflödet in i cylindern modelleras för olika varvtal,insugstryck och kampositioner. Koefficienterna i ekvation (4),(8) och (10) behöver skattas.

I (Jiang et al., 2009) nämns det att pivc kan approximeras väl av ekvation (4), så det är den me-toden som huvudsakligen kommer användas. Trycket kommer hinna stabiliseras mellan plenumoch cylinder under tiden insugsventilen är öppen, och på så vis vara oberoende av θivc.

TSRT10 Volvo LIPsSida 12

Page 13: Teknisk dokumentation - LiU

Flervariabla reglerstrategier för avancerade motorerLIU

2018-12-14

3.1 Scavenging

I (Eriksson and Nielsen, 2014) nämns att Scavenging kan ses som ett sätt att blåsa ut residualgaser från cylindern. Då det inte blir lika mycket residualgaser i cylindern kommer volumetriskaeffektiviteten att öka, se (Mårtensson and Flärdh, 2010), det kommer i sin tur leda till att mersyre kan tryckas in i cylindern. I (Eriksson and Nielsen, 2014) nämns att framförallt momentetpå låga varvtal kan förbättras. Scavenging har också visat att det går att minska turbolag genomatt generera ett större flöde till turbinen.

Vid scaveninging måste den traditionella λ-regleringen modifieras. λ i cylindern måste vara≥ 1 annars kommer det oförbrända bränslet blandas med luft och oxidera vilket genererar enexoterm reaktion, vilket potentiellt kan skada katalysatorn, detta nämns i (Eriksson and Nielsen,2014). Det är framförallt ökade nivåer utav CO och HC som erhålls ifall λ behålls som 1 globalt,lokalt leder det till ett λ som är mindre än 1 lokalt i cylindern, detta diskuteras i (Mårtenssonand Flärdh, 2010).

Detta betyder att om scavenging ska användas måste den befintliga λ-regleringen utökas medmodeller som kan hantera scavenging. I (Mårtensson and Flärdh, 2010) nämns att ifall λ i cy-lindern är ett vid scavenging kommer det att leda till ett överskott av syre i avgaserna vilket isin tur leder till ökade NOx-utsläpp. Av de ovan givna situationerna finns en konflikt, ökadeNOx-utsläpp eller risken för exoterm reaktion som kan skada katalysatorn. Det skulle kunnavara värt de ökade NOx-utsläppet tillfälligt om scavenging kan lägga motorn i en bättre arbets-punkt snabbt. Kontentan blir att endast använda scavenging då motorn snabbt vill flytta sig tillen bättre arbetspunkt.

3.2 Parameterskattning

För att förenkla parameterskattningen skattades parametrarna i (10) direkt ifrån mätdata till-sammans med parametrarna i (8). Parametrarna skattades genom att minimera medelvärdet överskillnaden i det mätta och skattade värdet enligt följande:

z =1

N

N∑n=1

|maf(n)− mfc(n)| (12)

Där N är antalet mätpunkter och maf är det uppmätta luftflödet från luftmassemätaren, som istationäritet måste vara lika med mfc i och med att ingen tryckförändring sker.

Parametrarna i (4) skattades ifrån separat cylindertrycks-mätdata med minsta kvadratmetoden.

Tecknet på första parametern i (8), α1, avgör om modellen hanterar återflöde av avgaser ellerscaveging. I de mätdata modellen är anpassad för finns några punkter där insugstrycket, pim, ärstörre än avgastrycket, pem. I dessa punkter är sannolikheten större att det blir scaveging iställetför återflöde av avgaser och på så sätt förvränger modellen något.

3.3 VVT resultat

I figur 2 ses att modellen får en ganska bra passform mot mätdata. Det ska dock nämnas att deti mätdatan inte tagits några riktiga kamsvep, utan positionerna på kammarna har följt befintlig

TSRT10 Volvo LIPsSida 13

Page 14: Teknisk dokumentation - LiU

Flervariabla reglerstrategier för avancerade motorerLIU

2018-12-14

kamstyrning från motorns egna styrsystem. I stort sett hela arbetsområdet används ändå, menutspritt över olika lastpunkter, vilket gör att modellen trots allt får bra passform.

Figur 2: VVT simulering jämfört med motormätningar.

3.4 Motivering kring val av VVT modell

Valet av VVT modell föll tillslut på modellen vilken (Jiang et al., 2009) tagit fram, det valetbaserades främst på att de använt sig av en turboladdad bensinmotor samt fått god överensstäm-melse mellan simulering och verklig körning.I början övervägdes även rapporten framtagen av (Mårtensson and Flärdh, 2010). Den valdesslutligen bort, mest för att den endast var testad för ett begränsat arbetsområde.

TSRT10 Volvo LIPsSida 14

Page 15: Teknisk dokumentation - LiU

Flervariabla reglerstrategier för avancerade motorerLIU

2018-12-14

Under projektets gång när det var problem med den slutgiltiga modellen testades även en modelltagen ur (Fantenberg, 2018). Denna modell var framtagen för dieselmotorer från början och gavinte någon bra passning för vår data och valdes därför bort. Modellen använde kamvinklarnaför att ändra på modellen för fyllnadsgrad. Den ursprungliga modellen för fyllnadsgrad finnsbeskriven i exempelvis (Eriksson and Nielsen, 2014).

I (Eriksson and Nielsen, 2014) föreslås även ekvation (13) för pivc istället för ekvation (4).

pivc = pim(θivc) + c1 + c2Ne (13)

Parametrarna c1 och c2 måste då skattas utifrån mätdata.

Ett alternativt sätt att skatta Overlap Factor, OF, är att räkna ut ekvation (14) och (15) analytiskt.

OF =DivAiv +DevAev

Vd(14)

Aiv =

∫ Liv=Lev

θivo

Liv(θ)dθ, Aev =

∫ θevc

Liv=Lev

Lev(θ)dθ (15)

Div och Dev är ventilsätesdiametrarna på insugs- respektive avgasventilerna, samt Liv(θ) ochLev(θ) är lyftprofilerna för insugs- respektive avgaskammarna.

Därefter kan andragrads polynomet i ekvation (10) anpassas till OF som tagits fram med (14).Detta görs då för att slippa utföra integralerna i ekvation (15) i reglersystemet.

3.5 Regulator för VVT

En enkel P-regulator har implementerats för att styra aktuatorn för VVT. Systemet är av in-tegrerande typ och därmed kommer systemet inte ha något statiskt fel och därmed räcker enenkel P-regulator för att styra aktuatorn. Det som styrs är duty cycle på PWM signalen till VVTaktuatorn. För att aktuatorn inte skall flytta på sig behöver trycket på båda sidor om kammenvara lika, därav offseten på 0.5 i regulatorn. Vid en duty cycle mindre än 0.5 backar VVT’n iposition, över 0.5 skjuts VVT’n frammåt.

Figur 3: Regulator för aktuatorn till insugskammen.

Baserat på impulssvaret i figur 4 har ett 2:a ordningenssystem tagits fram enligt ekvation (16).

TSRT10 Volvo LIPsSida 15

Page 16: Teknisk dokumentation - LiU

Flervariabla reglerstrategier för avancerade motorerLIU

2018-12-14

G(s) =5.5

s(0.091s+ 1)e−0.13s (16)

I figur 4 ses hur dynamiken för VVT aktuatorn beter sig. I figuren jämförs den framtagna mo-dellen från ekvation (16) med mätningar gjorda hos fordonsystem på aktuatorn styrsignalernavisas även här.

Figur 4: Aktuatorns modelldynamik jämfört med mätningar. Vilka insignaler systemen haftvisas i den nedre figuren.

Dynamiken i aktuatorn har här blivit långsammare än vad det är i verkligheten. Däremot synsdet tydligt att aktuatorn är av integrerande typ vilket diskuteras ovan. Därmed räcker en P-regulator för att få statiskt fel noll i systemet. Vid implementeringen av regulatorn testadesolika försträkningar tills regulatorn inte gav för stor översläng och var tillräckligt snabb.

I figur 5 ses vinkeln för insugskammen vilken styrs av vår regulator. I denna ses att regulatornsvänger in snabbt vid steg och inte ger någon översläng.

TSRT10 Volvo LIPsSida 16

Page 17: Teknisk dokumentation - LiU

Flervariabla reglerstrategier för avancerade motorerLIU

2018-12-14

0 50 100 150 200 250

Time [s]

40

50

60

70

80

90

100

Angle

[deg]

Measured CAM position.

Figur 5: VVT aktuator under körning i motorcell.

TSRT10 Volvo LIPsSida 17

Page 18: Teknisk dokumentation - LiU

Flervariabla reglerstrategier för avancerade motorerLIU

2018-12-14

4 Optimeringslösare

Under projektets implementationsfas upptäcktes det att dSpace-enheten varken hade möjlighetatt kodgenerera någon av de optimeringslösare som redan finns i MATLAB eller andra kommer-siella lösare. För att kunna köra reglersystemet i motorlabbet skrevs därför en egen lösare somuppfyller de krav som ställs av Matlab/Simulink vid kodgenerering. Algoritmen är baserad påatt lösa ett minstakvadratproblem med icke negativa bivillkor (NNLS) och skrevs i embeddedMATLAB kod.

4.1 Hårdvara

Hårdvaruenheten som används i motorlaboratoriet är en MicroAutoBox II från dSpace. Dessfunktion är att göra det smidigt för användaren att kommunicera med motorns ECU-enheterfrån datorn. Den simulinkmodell som skickas från datorn till dSpace-enheten kodgenereras tillC/C++, vilket gör det möjligt för den att styra motorns ECU-enheter. För att simulinkblockenska kunna kodgenereras måste det dock finnas stöd för detta i simulink. Om användaren dess-utom skulle behöva använda simulinkblock skrivna i till exempel embedded MATLAB kod såmåste det även finnas stöd för kodgenerering av de MATLAB funktioner som används. FörMATLAB 2018b kan de funktioner som har stöd för kodgenerering ses i (MathWorks, 2018).Allt eftersom nya versioner av MATLAB släpps blir stödet för kodgenerering bredare, och där-med möjligheten att styra motorns ECU-enheter större. Mer information om MicoAutoBox II:sfinns att hämta i (dSpace, 2018).

I motorlabbet som gruppen har i sitt förfogande används MATLAB 2011b för att styra motorn.I denna version är stödet för kodgenerering till C/C++ begränsat, så till den grad att de op-timeringslösare som redan finns implementerade i MATLAB inte har stöd för generering. Defunktioner som kan kodgenereras i MATLAB 2011b kan ses i (MathWorks, 2011).

4.2 QP till NNLS

Ett MPC-problem kan rättframt formuleras som ett kvadratiskt optimeringsproblem (QP) enligt(17), se exempelvis Enqvist et al. (2014).

minimizeu

uTQu+ cTu

subject to Guu ≤ gu(17)

I och med att gruppens lösare istället bygger på att lösa ett NNLS problem krävs det en övergångfrån QP till NNLS. Bemporad (2016) bevisar att (17) kan skrivas enligt:

minimizey

1

2

∥∥∥∥[−MT

−dT]y −

[0γ

]∥∥∥∥22

subject to y ≥ 0

(18)

där M ≡ GuL−1, L är en Cholesky faktorisering av Q, Q = LTL, d ≡ gu + GuQ

−1c samtγ > 0 är en valfri skalär (γ = 1 i implementering). Låt residualen r∗ ges av

TSRT10 Volvo LIPsSida 18

Page 19: Teknisk dokumentation - LiU

Flervariabla reglerstrategier för avancerade motorerLIU

2018-12-14

r∗ =

[MT

dT

]y∗ −

[0γ

]där y∗ är den optimala lösningen till (18). Följande gäller då för lösningen u∗ till QP-problemeti (17):

1. Om r∗ = 0 så är (17) olösbart.

2. Annars så gäller

u∗ = −Q−1

(c+

1

γ + dTy∗GTuy

∗)

(19)

4.3 Algoritm

Algoritmen för lösningen av (18) bygger på en active-set algoritm inspirerad av de algoritmersom finns att hämta i artiklarna (Bro and Jong, 1997) och (Chen and Plemmons, 2009). Bådadessa härstammar ursprungligen från boken Solving Least Squares Problems, skriven av Law-son and Hanson (1974). Metoden att lösa ett QP-problem på detta sätt presenterade Bemporad(2016) i sin artikel A quadratic programming algorithm based on nonnegative least squareswith applications to embedded model predictive control. Algoritmen som har implementeratsser i pseudokod ut enligt följande:

• Insignaler:

– x - Systemets tillstånd.

– M = GuL−1

– L−1 - Inversen av den övre Cholesky faktoriseringen av Q.

– cwox - c enligt (17) men där faktorn x har utelämnats.

– gu - Se (17).

• Utsignaler:

– un = Lösningen u till QP-problemet (17).

1. Variabelbyten för att gå från QP till NNLS:

(a) c = cwoxx

(b) v = L−1c

(c) d = gu +Mv

(d) γ = 1, kan väljas konstant eller till att uppdateras i varje körning.

(e) A =

[−MT

−dT]

, b =

[0γ

]2. Initialisering och loop-parametrar:

(a) P = Nollvektor med samma antal rader som A har kolumner.

TSRT10 Volvo LIPsSida 19

Page 20: Teknisk dokumentation - LiU

Flervariabla reglerstrategier för avancerade motorerLIU

2018-12-14

(b) R = Vektor med ettor av samma storlek som P.

(c) y = Nollvektor av samma storlek som P.

(d) w = AT (gu − Ay)

(e) TOL = Någon liten tolerans.

3. Om det finns nollskilda element i R och max(w) > TOL fortsätt vidare med steg 4,annars hoppa till steg 16.

4. Identifiera k som det index i w där max(w) finns.

5. Sätt R(k) = 0 och P (k) = 1.

6. Ta fram minsta-kvadrat lösningen för sP genom att lösa AP sP = b. sP är vektorn medde element i s som har samma index som där P > 0 gäller. AP är den matris med dekolonner som har samma index som där P > 0 gäller.

7. Om det finns något element i sP som är ≤ TOL samt att antalet iterationer inte har nåttmaxantal, fortsätt med steg 8, annars hoppa till steg 14.

8. Räkna ut α som α = min(y(sp≤TOL)

y(sp≤TOL)−s(sp≤TOL)) där y(sp≤TOL) och s(sp≤TOL) är de element

på de index som uppfyller sp ≤ TOL.

9. Uppdatera y till y = α(s− y).

10. Sätt elementen i P till 0 och i R till 1 på de index där |y| < TOL.

11. Ta fram minsta-kvadrat lösningen för sP genom att lösa AP sP = b.

12. Sätt elementen i s till 0 där R > 0 uppfylls.

13. Räkna upp antalet iterationer med 1.

14. Om det inte finns något element i sP som är ≤ TOL och/eller antalet iterationer har nåttmaxantal, fortsätt med steg 15, annars hoppa till steg 7.

15. Sätt y = s och w = AT (gu − Ay).

16. Om det inte finns nollskilda element i R och/eller max(w) <= TOL fortsätt vidare medsteg 17, annars hoppa till steg 3.

17. Räkna ut u enligt ekvation (19) och lägg in värden för den första tidpunkten i un, så atträtt dimension uppnås.

4.4 Prestanda

I figur 6 visas prestandan för den av projektgruppen implementerade optimeringslösaren motprestandan för MATLABs standardlösare Quadprog. Det är tydligt att den nya lösaren löseroptimeringsproblemet snabbare än Quadprog, både för korta och långa prediktionshorisonter. Itestet har ett system med åtta tillstånd och två utsignaler använts. Testet är gjort på en MPC-regulator utan referensföljning och integralverkan implementerat. Storleken på systemet är somprediktionshorisonten, en bidragande faktor till hur komplext optimeringsproblemet blir och

TSRT10 Volvo LIPsSida 20

Page 21: Teknisk dokumentation - LiU

Flervariabla reglerstrategier för avancerade motorerLIU

2018-12-14

därmed hur lång tid det tar att lösa. Det finns även ett par interna parametrar i lösaren som bidrartill hastigheten på hur fort en lösning hittas. Dessa parametrar är toleransen TOL och max antaliterationer. När värden som är lägre än toleransen alternativt när max antal iterationer har nåttsnöjer sig lösaren med de aktuella värdena. De valda värdena motsvarar därför en avvägning avhur snabbt kontra hur noggrant optimeringsproblemet ska lösas. I prestandatestet som visas ifigur 6 används max antal iterationer = 10 och tolerans = 0.001.

0 50 100 150 200 250

Prediktionshorisont

0

50

100

150

200

250

300

350

Exe

kve

rin

gstid

(m

s)

Prestandatest lösare, intel i7

quadprog

NNLS

Figur 6: Prestandan för den egna optimeringslösaren jämfört med MATLAB-lösaren quadprog.

4.5 Övriga optimeringslösare

Innan gruppen tog beslutet att implementera en egen QP-lösare undersöktes ett antal andraalgoritmer och metoder att lösa optimeringsproblemet i motorlabbet. Det begränsade stödetför kodgenerering i motorlabbet gjorde att inget av dessa alternativ var möjligt att använda vidkörning av motorn. Med det sagt är alla dessa användbara i simuleringsmiljö och eventuellt ävenvid användning av styrsystems-hårdvara med ett bredare stöd för kodgenerering. Det finns ävenett flertal mer avancerade optimeringslösare som är av intresse att undersöka vidare i fortsattaprojekt inom MPC-styrning av avancerade förbränningsmotorer. Följande optimeringslösare harundersökts i projektet:

• Quadprog: Den QP-lösare som följer med i MATLABs standard bibliotek. Används i si-muleringsmiljön för projektet. Inget stöd för kodgenerering i någon version av MATLAB.

• mpcqpsolver: QP-lösare som ingår i Model predictive toolbox. Toolboxen har funnitstillgänglig sedan version R14SP1 av MATLAB från 2004. Kodgenerering för QP-lösarenhade dock inte stöd förens version 2015b av MATLAB. För nyare styrsystems-hårdvarakan alltså denna lösare användas.

TSRT10 Volvo LIPsSida 21

Page 22: Teknisk dokumentation - LiU

Flervariabla reglerstrategier för avancerade motorerLIU

2018-12-14

I figur 7 visas ett prestandatest mellan olika optimeringslösare för kvadrat-programmeringsproblem.Figuren är hämtad från den artikel, skriven av A. Bemporad 2016, som metoden för gruppensoptimeringslösare är hämtad. I figuren visas lösarens prestanda i jämförelse med andra etablera-de optimeringslösare. I den vänstra använder författaren även så kallad LDL-uppdelning för attlösa minsta-kvadrat problemet, vilket skiljer sig från gruppens implementation. I övrigt kan detses att QPNNLS-lösaren löser optimeringsproblemet snabbt i jämförelse med de andra lösarna.

Figur 7: Jämförelse av snabbhet för olika optimeringslösare. Den blåa grafen i figurerna följersamma algoritm som den av gruppen framtagna lösaren (Bemporad, 2016).

TSRT10 Volvo LIPsSida 22

Page 23: Teknisk dokumentation - LiU

Flervariabla reglerstrategier för avancerade motorerLIU

2018-12-14

5 MPC

Den flervariabla reglerstrategi som implementerats är Model Predictive Control, MPC. Det finnsolika varianter av MPC, men för denna applikation har en överordnad, linjär, realtids-MPC valtsut att vara mest lämplig.

Som namnet antyder, använder MPC en modell utav systemet för att prediktera dess beteen-de givet olika kombinationer av styrsignaler. Regulatorn kan på så sätt bestämma en optimalstyrsignalsekvens för en tidshorisont framåt i tiden. Denna styrsignalsekvens bestäms genomatt lösa ett optimeringsproblem där en kostnadsfunktion ska minimeras över den betraktadetidshorisonten. En av de mest framhävande fördelarna med MPC är att det kan ta hänsyn tillbivillkor och begränsningar i systemet som styrs (Enqvist et al., 2014). Dessa kan vara allt frånfysiska begränsningar på komponenter till önskade beteenden på interna tillstånd i modellen.

I detta kapitel kommer samtliga delmoment vid konstruerandet av MPC-regulatorn att redovi-sas. Delmomenten består av att ta fram en modell av motorsystemet som MPC ska använda föratt prediktera, formulera en målfunktion, definiera bivillkor och slutligen trimma regulatorpa-rametrar.

På grund av att modellen som MPCn använder skiljer sig från modellen som används vid si-mulering, kommer ett statiskt reglerfel uppstå. Detta stationära fel kommer även uppstå vidstyrning av den fysiska motorn, på grund av modellfel. Detta har åtgärdats genom att införa enPI-regulator i kaskadstruktur. Implementation och trimning av denna PI-regulator presenterassenare i detta kapitel.

5.1 Val av motormodell till MPC

För att använda MPC krävs en modell av systemet som ska regleras. Eftersom denna modellanvänds av MPCn i realtid kan en stor och avancerad motormodell göra att beräkningar avnya styrsignaler tar för lång tid. Modellen är baserad på ekvationer från Eriksson and Niel-sen (2014) som redan är relativt enkla. Beroenden kan ses i ekvation (20). Till skillnad frånsimuleringsmodellen har denna modell inga temperaturer som tillstånd.

˙pim(α, θivo, pim, pem)

pic(α, pim, pic, ωTC)

˙pem(WG, θivo, pim, pem, pes)

pes(WG, pem, pes)

˙ωTC(pic, pem, pes, ωTC)

(20)

I dessa ekvationer har även några ytterligare förenklingar gjorts.

För att avgränsa projektet är λ satt till att vara konstant 1 i både den linjäriserade modellen ochi simuleringsmodellen.

Trycket efter luftfiltret, paf, uppskattas till att vara nära omgivningstrycket, pamb, vid åtminsto-ne nära stationära körningar. Omgivningstemperaturen antas även vara konstant då systemet inuläget endast är tänkt att köras i motorlabbet.

Alla temperaturer är satta som konstanta förutom temperaturen i cylindrarna, Te. Tem är satt tillsamma som Te.

TSRT10 Volvo LIPsSida 23

Page 24: Teknisk dokumentation - LiU

Flervariabla reglerstrategier för avancerade motorerLIU

2018-12-14

5.2 Linjärisering av motormodell

Eftersom detta projekt använder sig av en linjär MPC krävs även en linjär motormodell. Enmotor har ett starkt olinjärt beteende vilket gör att det inte räcker med att endast linjärisera den ien punkt för att få ett önskat beteende utan det krävs olika linjäriseringar för olika arbetspunkter.

Den slutgiltiga produkten använder sig av Matlab:s tool box Linear Analysis Tool för att skapaen linjäriserad motormodell, men det är även möjligt att göra för hand i Matlab. Båda alternati-ven presenteras nedan.

5.2.1 Linjärisering med Linear Analysis Tool

Funktionen linearize() tar in en Simulinkmodell och returnerar en linjäriserad tillståndsmo-dell av Simulinkmodellen. Det måste specificeras vilka in- och utsignaler man vill att systemetskall ha, vilket kan göras både direkt i Matlab eller i Simulink. I Matlab används kommandotlinio(), och i Simulink placeras markörer ut i modellen. För att definiera insignaler högerk-lickar man på en signal och väljer Linear Analysis Points→Input Pertubation.För att definiera utsignaler används istället Linear Analysis Points→Open-loopOutput.

Funktionen linearize() kommer att ansätta utsignalen från samtliga integrator-block somtillstånd i modellen. För att ändra valet av tillståndvariabler måste integrator-blocken flyttas tillönskad plats i schemat, och samtidigt göra nödvändiga modifieringar så att modellen fortfarandeär ekvivalent med den ursprungliga.

För att linjäriseringen skall ske runt en stationär punkt kommer Simulinkmodellen simulerastills stationäritet har uppnåtts. Vilken jämviktspunkt som erhålls kan påverkas genom att väljainställningen på styrsignalerna.

5.2.2 Linjärisering för hand

Ett annat sätt att linjärisera i Matlab, utan att använda sig av Linear Analysis Tool, är att explicituttrycka den olinjära tillståndsmodellen och sedan beräkna dess Jacobianer.

Den olinjära tillståndsmodellenx = f(x, u)

y = g(x, u)(21)

kan formuleras i Matlab genom att använda symboliska uttryck för tillstånden, x, och in- ochutsignalerna u, y. Linjäriseringen sker kring en punkt (x0, u0, y0), och genom att betrakta småavvikelser från denna punkt

x = x0 + ∆x

u = u0 + ∆u

y = y0 + ∆y

(22)

fås följande uttryck med Taylorutveckling

x = f(x0 + ∆x, u0 + ∆u) ≈ f(x0, u0) + fx(x0, u0)∆x+ fu(x0, u0)∆u

y = h(x0 + ∆x, u0 + ∆u) ≈ g(x0, u0) + gx(x0, u0)∆x+ gu(x0, u0)∆u(23)

TSRT10 Volvo LIPsSida 24

Page 25: Teknisk dokumentation - LiU

Flervariabla reglerstrategier för avancerade motorerLIU

2018-12-14

där högre ordningens termer av ∆x och ∆u har försummats. Om punkten som systemet linjäri-seras kring är en stationär punkt, dvs om

f(x0, u0) = 0

fås∆x = x = fx(x0, u0)∆x+ fu(x0, u0)∆u (24)

Sammantaget erhålls den linjäriserade modellen enligt

∆x = A∆x+B∆u

∆y = C∆x+D∆u(25)

därA = fx(x0, u0) B = fu(x0, u0)

C = gx(x0, u0) D = gu(x0, u0)(26)

vilket motsvarar Jacobianerna av f(x, u) och g(x, u) med avseende på x respektive u, evalu-erat i jämviktpunkten (x0, u0). Dessa Jacobianer kan beräknas i Matlab utifrån de symboliskauttrycken i ekvation (21).

Båda metoderna implementerades och jämfördes, men metoden i avsnitt 5.2.1 valdes.

5.3 Tillstånd

De tillstånd som används i tillståndsbeskrivningen av den linjäriserade motormodellen kan sesi ekvation (27), där de fyra översta tillstånden är trycken vid intercoolern, insugsröret, avgasrö-ret och vid turbon. Det femte tillståndet är turbons vinkelhastighet i rad/s. Med hjälp av dessatillstånd och styrsignalerna kan MPC-regulatorn beräkna utsignalerna för den linjäriserade mo-dellen.

x =

picpimpemptωtc

(27)

5.4 Målfunktion

MPCn har tre utsignaler, z, och avser minimera dem enligt

JN(x(k)) =

Np−1∑j=0

‖z(k + j)− r(k + j)‖2Q1+ ‖∆u(k + j)‖2Q2

(28)

De tre utsignaler i målfunktionen är[mfc −R, pic

mfc, picpim− 1]. Luftmassflödet, mfc, minimeras

mot en referenssignal och är nästan proportionell mot momentet vilket gör att den används föratt styra mot rätt moment. Kvoten pic

mfcstyrs mot noll och avser minimera trycket det krävs av

turbon för att nå ett visst massflöde. Detta görs för att inte MPCn ska använda turbon i onödandå detta drar mer bränsle. Kvoten pic

pimstyrs mot 1 och avser minimera tryckfallet över trotteln

vilket leder till att mindre energi förbrukas och motorn blir mer bränsleeffektiv.

TSRT10 Volvo LIPsSida 25

Page 26: Teknisk dokumentation - LiU

Flervariabla reglerstrategier för avancerade motorerLIU

2018-12-14

För att kunna lösa det kvadratiska problemet i ekvation (28) skrivs den om som

minu

(Z −R)TQ1(Z −R) + (ΩU − δ)TQ2(ΩU − δ) (29)

därZ = MxX +MuU (30)

eftersom luftmassflödet är direkt beroende av en styrsignal. Ekvation (29) kan då med hjälp av(30) skrivas om till formen

minu

1

2UT (GTMT

x Q1MxG+ 2GTMTx Q1Mu +MT

u Q1Mu + ΩTQ2Ω)U+

(GTMTx Q1(MxFx−R) +MT

u Q1(MxFx−R)− ΩTQ2δ)TU

(31)

som är ett kvadratiskt problem och kan lösas med hjälp av funktionen Quadprog i Matlab ellermed den egenskrivna lösaren i kapitel 4.

5.5 Bivillkor

En stor fördel med att använda en MPC-regulator för den flervariabla regleringen är att debegränsade styrsignalerna kan läggas in som bivillkor. Gasspjäll och wastegate är begränsademellan 0-1 och insugsventilsöppningen mellan 0-50°.

5.6 Val av regulatorparametrar

Systemet innehåller olika typer av regulatorparametrar. I MPC-regulatorn bestämmer viktma-triserna Q1 och Q2 hur hårt målfunktionerna och förändringar av styrsignalerna skall bestraffas.Till en början trimmades endast Q2 och referensföljningen i Q1, resterande delar i Q1 sattesalltså till noll. Genom att simulera olika kombinationer av Q1 och Q2 kunde styrsignalerna ochreferensföljningen studeras. Trimmning av Q2 som resulterade i brusiga styrsignaler innebar attQ2 var viktad för lågt.

När en önskvärd referensföljning och rimliga styrsignalsbeteenden hade uppnåtts lades de reste-rande målfunktionerna till i Q1. Trimningen var relativt enkel och genom ökning av trimnings-parametrarna med potenser av tio hittades värden som gav ett stabilt resultat. Trimningspara-metrarna i Q1 normaliserades ty pic

pim≈ 1 och pic

mfc≈ 106

0.04.

Kaskadregleringen består av en PI-regulator. KP och KI trimmades här för hand tills ett önsk-värt resultat uppnåddes.

5.7 Kaskadreglering

Kaskadregleringen lades till för att reducera modellfelet i MPCn. MPCn är linjäriserad frånen enklare motormodell och kommer inte ha exakt samma modeller som simuleringsmodellen.Detta gör att en återkoppling krävs för att kunna hantera modellfel. Detta löstes med en PI-regulator som återkopplar maf till MPCn.

Kaskadregleringen kan ses i figur 8.

TSRT10 Volvo LIPsSida 26

Page 27: Teknisk dokumentation - LiU

Flervariabla reglerstrategier för avancerade motorerLIU

2018-12-14

Figur 8: Bild över MPC och kaskadregleringen

TSRT10 Volvo LIPsSida 27

Page 28: Teknisk dokumentation - LiU

Flervariabla reglerstrategier för avancerade motorerLIU

2018-12-14

5.8 Andra former av MPC

En annan form av MPC som diskuterades var explicit MPC. Explicit MPC innebär att optime-ringsproblemet löses offline och de optimala lösningarna finns sedan tillgängliga i regulatorni form av till exempel en uppslagstabell. Optimeringsproblemet kommer ha ett antal variablersåsom tillstånd, referenser, variabla bivillkor och så vidare som spänner upp en lösningsrymd.Lösningsrymden kan fördelas in i ett ändligt antal polytopiska områden där lösningen är kon-tinuerlig, vilket gör lösningsrymden styckvist affin. Under drift behöver regulatorn endast be-stämma vilket område variablerna befinner sig i och sedan använda aktuell affina styrlag. Ettproblem med explicit MPC är att den styckvist affina funktionen kan bestå av ett mycket stortantal områden för komplexa system, vilket resulterar i att det blir beräkningstungt att finna denstyckvist affina lösningen. Detta resulterar i att det även online kan ta lång tid att hitta aktuelltområde även om funktionen är fördefinierad.

5.9 Alternativa flervariabela regleralgoritmer

Det finns olika reglerstrategier för att hantera system med flera in- och utsignaler, så kalla-de MIMO-system (Multiple Input Mulitple Output). Exempel på fler sådana strategier är Lin-järkvadratisk reglering (LQ/LQR), Generalized Predictive Control (GPC), decentraliserad styr-ning etc. MPC har en distinkt fördel jämfört med övriga, vilket är att den kan ta hänsyn tillbegränsningar i systemet, såsom mättningar i styrsignaler. Denna egenskap är särskilt använd-bar för motorsystemet som ska behandlas i projektet eftersom dess aktuatorer ofta är mättade.Av denna anledning valdes MPC ut som den enda reglerstrategi att utvärdera och tillämpa.

TSRT10 Volvo LIPsSida 28

Page 29: Teknisk dokumentation - LiU

Flervariabla reglerstrategier för avancerade motorerLIU

2018-12-14

6 Resultat

Nedan presenteras resultat från projektet. Det är resultat från VVT modell och hur väl MPC-regulator följer en referens på mfc.

6.1 VVT

Två fall testas för att validera att VVT-modellen har önskat beteende. Ett med helt öppen waste-gate och en med halvöppen wastegate. Steg från 0 graders förskjutning till fullt utstyrt (50grader) utförs och insugstryck jämförs med mätdata mot simulerad data. I figur 9 syns hur in-sugstrycket varierar med steg i insugskam med wastegaten öppen och 24 % trottel. Detta kanjämföras med figur 10 där simulerade värden för insugstryck, massflöde och moment syns.

Figur 9: Insugstryck från simulerat och uppmätt värde då steg om 5°utförs i motortestcellenmed wastegaten öppen och 24 % trottel vid 2000 rpm.

TSRT10 Volvo LIPsSida 29

Page 30: Teknisk dokumentation - LiU

Flervariabla reglerstrategier för avancerade motorerLIU

2018-12-14

Figur 10: Insugstryck då steg om 5°utförs i simuleringsmiljö med wastegaten öppen och 24 %trottel vid 2000 rpm.

Även test med wastegate genomförs och kan ses i figur 11 och 12 nedan.

Figur 11: Insugstryck då steg om 5°utförs i motortestcellen och simuleringsmiljö med wastega-ten 50 % stängd och 30 % trottel vid 2000 rpm.

TSRT10 Volvo LIPsSida 30

Page 31: Teknisk dokumentation - LiU

Flervariabla reglerstrategier för avancerade motorerLIU

2018-12-14

Figur 12: Insugstryck då steg om 5°utförs i simuleringsmiljö med wastegaten 50 % stängd och30 % trottel vid 2000 rpm.

6.1.1 Diskussion

Vi ser att modellen stämmer bra överens då turbon inte används, alltså då motorn opererar somsugmotor. Här följer modellen tydligt karakteristiken av hur VVTn påverkar insugstrycket ochman ser att maximalt moment uppnås vid ungefär 30-35 °utställd insugskam. Detta kan ses ifigur 9. Modellen fångar detta beteende mycket bra.

Då wastegaten används ser vi istället att simuleringsmodellen inte bygger samma laddtrycksom testen i motorlabbet gör. Detta kan bero på flertalet anledningar men i detta fall beror detförmodligen på modellfel i hela motormodellen eller parameterfel. Vi ser dock att modelleninte riktigt fångar rätt beteende här då insugstrycket ökar med ökad utställning av VVT. Härfår man alltså högst tryck vid maximalt utställd VVT. Detta fångar inte modellen men eftersominte laddtrycken är densamma i simulering och mätning så går det inte att säga att modellen ärfelaktig då det inte är samma förutsättningar som ges. Efter lite laboration med inställningen påwastegaten hittas ett matchande insugstryck vid 88 % stängd wastegate. Detta kan ses i figur13. Här ser vi att trycket ökar, vilket stämmer överens med mätdatan, dock så ger modellenatt trycket sjunker vid maximal utställd VVT vilket inte är fallet i mätdatan. Detta får ses sommodellfel men kommer inte påverka MPC-regulatorn då insugstrycket är konstant från ungefär30°utställd VVT till max utställd. Alltså är modellen god nog för sitt användningsområde.

TSRT10 Volvo LIPsSida 31

Page 32: Teknisk dokumentation - LiU

Flervariabla reglerstrategier för avancerade motorerLIU

2018-12-14

Figur 13: Insugstryck då steg om 5 °görs i simuleringsmiljö med wastegaten 88 % stängd och30 % throttle vid 2000 rpm.

6.2 MPC

Samtliga figurer startar från tidpunkten 40 för att regulatorn ska ha stabiliserat sig från initi-alvärdena. MPCn väljer själv hur den ska uppnå en viss referens vilket gör att aktuatorernaslinjäriseringsläge kan skilja sig markant från det som visas i figurerna.

I figur 14a ses ett stegsvar för luftmassflödet vid en låg last och i figur 14b syns de motsvaran-de styrsignalerna. Luftmassflödet når sin referens på ca. 10 sekunder och alla tre styrsignaleranvänds.

(a) Stegsvar för luftmassflöde vid luftfilter. (b) Control signals during step in air mass.

Figur 14: Stegsvar i önskat luftmassflöde. Linjäriseringspunkt: 10% gasspjäll, 50% wastegateoch 0% IVO.

TSRT10 Volvo LIPsSida 32

Page 33: Teknisk dokumentation - LiU

Flervariabla reglerstrategier för avancerade motorerLIU

2018-12-14

I figur 15 syns istället stegsvaret för luftmassflödet vid enn mellanhög last till vänster och tillhöger motsvarande styrsignaler.

(a) Stegsvar för luftmassflöde vid luftfilter.(b) Styrsignaler vid stegsvar i luftmassflöde vid luft-filter.

Figur 15: Stegsvar i önskat luftmassflöde. Linjäriseringspunkt: 15% gasspjäll, 20% wastegateoch 0% IVO.

I figur 16 syns stegsvaret för luftmassflödet vid hög last till vänster och de motsvarande styrsig-nalerna till höger.

(a) Stegsvar för luftmassflöde vid luftfilter.(b) Styrsignaler vid stegsvar i luftmassflöde vid luft-filter.

Figur 16: Stegsvar i önskat luftmassflöde. Linjäriseringspunkt: 40% gasspjäll, 20% wastegateoch 0% IVO.

I figur 17 syns refernsföljningen för en sinusvåg vid en mellanhög last.

TSRT10 Volvo LIPsSida 33

Page 34: Teknisk dokumentation - LiU

Flervariabla reglerstrategier för avancerade motorerLIU

2018-12-14

(a) Luftmassflöde vid luftfilter, sinusreferens.(b) Styrsignaler vid stegsvar i luftmassflöde vid luft-filter.

Figur 17: Sinusreferens för önskat luftmassflöde. Linjäriseringspunkt: 15% gasspjäll, 20%wastegate och 0% IVO.

I figur 18 syns refernsföljningen för en sinusvåg vid det fall att trotteln är sönder, alltså har ettfixt värde.

(a) Luftmassflöde vid luftfilter, trasigt gasspjäll. (b) Styrsignaler vid sinusreferens, trasigt gasspjäll.

Figur 18: Sinusreferens för önskat luftmassflöde. Trasigt gasspjäll låst vid 20%. Linjäriserings-punkt: 15% gasspjäll, 20% wastegate och 0% IVO.

I figur 19 ses ett test när aktuatorn för wastegate är trasig i den mening att den har fastnat i ettvisst läge. Hur regulatorn klarar av att följa luftmassflödes då visas i figur 19.

TSRT10 Volvo LIPsSida 34

Page 35: Teknisk dokumentation - LiU

Flervariabla reglerstrategier för avancerade motorerLIU

2018-12-14

(a) Luftmassflöde vid luftfilter, trasig wastegate.(b) Styrsignaler vid stegsvar i luftmassflöde vid luft-filter, trasig wastegate.

Figur 19: Stegsvar i önskat luftmassflöde. Trasig wastegate låst vid 20%. Linjäriseringspunkt:15% gasspjäll, 20% wastegate och 0% IVO.

6.2.1 Diskussion

I samtliga resultatgrafer för MPC-regulatorn kan det ses att aktuatorerna samverkar för att fåmassflödet att följa sin referens. Det går även att se att de arbetar olika om en aktuator är trasig,som i figur 19b, gentemot om alla aktuatorer är fungerande som i figur 15b. Detta tyder på attaktuatorerna kan ställas ut på flera olika sätt för att nå liknande referensföljning. Av den häranledningen blir det viktigt att regulatorn har något ytterligare reglermål att sträva mot. I det härprojektet blev det att styra tryckkvoten pic

pimmot 1 och pic

mfcmot 0. Dessa två kvoter används för

att på ett enkelt sätt sträva mot att minimera bränsleförbrukningen.

Att målfunktionernskvoterna picpim

och picmfc

påverkar hur MPC:n väljer utsignalen har undersöktsgenom att variera kostnaderna i Q1, men det finns en stor osäkerhet kring hur dessa påverkarbränsleförbrukning och aktuatorernas positioner. Tanken med att straffa pic

pimgrundar sig i att

ett onödigt högt laddtryck inte skall byggas upp. Figur 15 visar till exempel att wastegaten ärungefär 5% öppen före steget tas vilket betyder att laddtryck byggs upp och sedan stryps bortatt trotteln. Att minimera laddtrycket och öppna trotteln borde vara mer effektivt ur ett bräns-leförbrukningsperspektiv. Målfunktionerna behöver ses över och ytterligare trimning och testerav olika straff i Q1 kan ge ökad förståelse om hur regleringen fungerar.

Den långsamt sjunkande styrsignalen för wastegaten som kan ses i figur 14b skulle kunna för-klaras med att kostnaden för en av de två, eller båda, målfunktionskvoterna vägs mot kostnadenför styrsignalsförändring.

Regulatorn har ingen information tillgänglig om framtiden. Prediktionshorisonten på två sekun-der består av en konstant referens. Ett autonomt fordon skulle möjligtvis kunna skaffa informa-tion om framtida referenssignal, genom att till exempel samla data från framförvarande fordon.Detta skulle ge möjligheten för regulatorn att styra bränsleeffektivt vid kontanta hastigheter därwastegaten kan vara öppen men varva upp turbon inför en kommande acceleration.

TSRT10 Volvo LIPsSida 35

Page 36: Teknisk dokumentation - LiU

Flervariabla reglerstrategier för avancerade motorerLIU

2018-12-14

I flera av resultatfigurerna ses det att det tar lång tid för massflödet att nå referensnivån. Ensnabbare referensföljning hade varit önskvärd. Vid ett gaspåslag är ett utseende likt figur 16a,där massflödet överstiger referensnivån snabbt för att sedan svänga in sakta, ett beteende som äratt föredra. Föraren vill ha snabbt svar från motorn för att sedan nå referensen genom att sänkamomentet. För att uppnå ett sådant beteende behövs ytterligare trimning och eventuellt andramål att styra mot i målfunktionen. När det istället kommer ett steg till en lägre nivå är det iställetmer önskvärt att beteendet ser ut som i figur 14a och 15a och inte som i figur 16a. En underslängoch sedan en ökning i moment kommer inte upplevas som en behaglig körupplevelse av föraren.Det önskade beteendet hos motorn i det här fallet är alltså att ett lägre önskat moment nås meden mjuk reglering.

TSRT10 Volvo LIPsSida 36

Page 37: Teknisk dokumentation - LiU

Flervariabla reglerstrategier för avancerade motorerLIU

2018-12-14

7 Fortsatta arbete

För framtida forskning finns det stora möjligheter att undersöka andra reglermål än de kvotersom används nu, pic

pimoch pic

mfc, för att minimera bränsleförbrukningen och fortfarande få önskad

referensföljning. I detta projekt har förenklingar gjorts, se avsnitt 5.1, och en av dessa är attlambda är satt som konstant 1 istället för att använda lambda-reglering. Det gör att det i dettafall inte är möjligt att minimera bränsleförbrunkningen direkt, minimera mfi, utan detta måsteistället göras indirekt.

Det vore också önskvärt att hantera hela motorns arbetsområde på något sätt, antingen genomatt ha flera linjäriseringspunkter som algoritmen hoppar mellan, eller att på annat sätt hanteramotorns olinjäritet.

Fortsatt arbete med projektet består också i att faktiskt implementera regulatorn i motortest-cell. Flera stora utmaningar finns att lösa för att få det att fungera. Först och främst behövs enalgoritm som klarar ett större arbetsområde. Därefter måste lämplig hårdvara implementerassom klara av att köra regulatorn i realtid, eller bättre, implementera en snabb regulator som gåratt köra i befintlig hårdvara. Projektets framtagna resultat ger en bra grund för detta fortsattaarbetet.

TSRT10 Volvo LIPsSida 37

Page 38: Teknisk dokumentation - LiU

Flervariabla reglerstrategier för avancerade motorerLIU

2018-12-14

ReferenserBemporad, A.

2016. A quadratic programming algorithm based on nonnegative least squares with applica-tions to embedded model predictive control. IEEE Transactions on Automatic Control.

Bro, R. and S. D. Jong1997. A fast non-negativity-constrained least squares algorithm. Journal of chemometrics.

Chen, D. and R. J. Plemmons2009. Nonnegativity constraints in numerical analysis. In in A. Bultheel and R. Cools (Eds.),Symposium on the Birth of Numerical Analysis, World Scientific. Press.

dSpace2018. Microautobox II. Hämtad 14 december 2018.

Enqvist, M., T. Glad, S. Gunnarsson, P. Lindskog, L. Ljung, J. Löfberg, T. McKelvey, A. Sten-man, and J.-E. Strömberg2014. Industriell reglerteknik, Kurskompendium. Institution of automatic control at Linkö-ping University.

Eriksson, L.2018. Projekt pm tsfs09. http://www.fs.isy.liu.se/Edu/Courses/TSFS09/ProjektPM/ProjektPM.pdf.Hämtad 14 december 2018.

Eriksson, L. and L. Nielsen2014. Modeling and control of engines and drivelines., Automotive series. John Wiley &Sons Ltd, 2014.

Fantenberg, E.2018. Estimation of air mass flow in engines with variable valve timing. Master’s thesis,Linköping University, Automatic Control.

Jiang, L., J. Vanier, H. Yilmaz, and A. Stefanopoulou2009. Parameterization and simulation for a turbocharged spark ignition direct injectionengine with variable valve timing. In SAE World Congress & Exhibition. SAE International.

Lawson, C. L. and R. J. Hanson1974. Solving Least Squares Problems.

Mårtensson, J. and O. Flärdh2010. Modeling the effect of variable cam phasing on volumetric efficiency, scavenging andtorque generation. In SAE 2010 World Congress &amp; Exhibition.

MathWorks2011. Functions and objects supported for c/c++ code generation (matlab 2011b). Hämtad14 december 2018.

MathWorks2018. Functions and objects supported for c/c++ code generation (matlab 2018b). Hämtad14 december 2018.

TSRT10 Volvo LIPsSida 38