Projektledare: Daniel Axehill, Reglerteknik, ISY
Modellprediktiv reglering (MPC) är en av få moderna avancerade reglermetoder som har fått ett genomslag i industrin. Metoden utvecklades under sjuttiotalet inom petroliumindustrin. Från att till en början ha varit en intuitivt tilltalande metod som på ett strukturerat sätt kunde lösa avancerade reglertekniska problem på ett för användaren relativt enkelt sätt, har MPC nu utvecklats till en metod som vilar på ett stabilt teoretiskt ramverk innefattande fundamentala egenskaper som stabilitet och robusthet.
Precis som namnet antyder bygger MPC på att en matematisk modell används för att prediktera ett systems beteende i framtiden. Systemets beteende kan påverkas genom en eller flera insignaler och prediktionen av det framtida beteendet gör det möjligt att välja det ”bästa beteendet” hos systemet, där det ”bästa beteendet” exempelvis kan innebära att få systemet att utföra en uppgift på det snabbaste eller mest energieffektiva sättet. Mer konkret sker valet av det bästa beteendet genom att upprepat lösa optimeringsproblem i realtid. Denna formulering gör det inte bara möjligt att minimera relevanta kriterier såsom tid och energi, utan ger också möjlighet att göra det under förutsättning att vissa bivillkor hos styrsignaler och variabler i systemet är uppfyllda. Det blir möjligt att formulera och lösa problem som ”värm upp inomhusluften i en byggnad med hjälp av en värmepump på det mest energieffektiva sättet givet att temperaturen ligger i ett komfortband mellan 19-21 grader, samtidigt som varmvattentemperaturen aldrig får understiga 50 grader”. Ett snarlikt problem har nyligen framgångsrikt studerats av en av projektledarens examensarbetare på Bosch Thermoteknik AB (f.d. IVT) i Tranås. Priset användaren får betala för att kunna använda detta kraftfulla ramverk är att ett nytt optimeringsproblem måste lösas i varje tidssteg. Längden på ett tidssteg är beroende på process och kan löst formulerat innebära att allt från 10000 optimeringsproblem i sekunden till 1 optimeringsproblem i månaden måste lösas. I takt med att allt fler har insett fördelarna med MPC har ett behov uppstått att kunna applicera metoden på allt snabbare processer vilket innebär att man snabbt börjar närma sig gränsen för vad som är beräkningsmässigt görbart idag, även för mycket enkla problem. Man börjar också närma sig applikationer där konsekvenserna kan bli fatala om man inte lyckas lösa optimeringsproblemet inom den föreskrivna tiden. Exempel på sådana krävande applikationer är t.ex. reglering av kraftelektronik, motorstyrning och obemannade farkoster. Tillförlitlighetsaspekten finns även hos långsammare processer som reglering av insulinpumpar och narkosutrustning.
MPC-ramverket kan användas för system av olika typer och komplexitetsnivåer. Praktiskt sett blir skillnaden vilket optimeringsproblem som måste lösas on-line i varje tidssteg. I det här projektet är tanken att i första hand linjära system ska betraktas. Optimeringsproblemen som då måste lösas blir av typen linjärprogrammering (LP) eller kvadratisk programmering (QP).
Idag har flera olika angreppssätt använts för att minska beräkningsbördan on-line för MPC och/eller för att göra beteendet on-line förutsägbart. De mest kända och använda är:
Förutom dessa mer kända angreppssätt har ytterligare ett spännande angreppssätt använts.
Avslutningsvis kan man säga att olika varianter av MPC skulle troligtvis idag kunna ersätta de flesta andra typer av reglermetoder, om det inte hade varit för att beräkningskomplexiteten snabbt blir för hög för den hårdvara som typiskt finns tillgänglig i de relevanta tillämpningarna och att det fortfarande finns frågetecken kring MPCs tillförlitlighet i praktiken. Den här forskningen strävar efter att minska dessa båda brister som finns hos MPC idag. Målet med forskningen är att utveckla, och vidareutveckla, optimeringsalgoritmer som inte bara är snabbare än dagens algoritmer, utan också har ett beteende som i större utsträckning än idag är möjligt att analysera innan systemet tas i drift.
Befintliga metoder som används för optimering inom MPC härstammar så gott som uteslutande från klassisk numerisk optimering. Detta är ett naturligt angreppssätt, men det har en viktig nackdel: metoderna är inte från grunden byggda för att vara en del av ett inbyggt system med de krav på prestanda och tillförlitlighet som ställs där. Istället är de ofta utvecklade för ett scenario i stil med att en användare tillbringar en arbetsdag för att formulera ett optimeringsproblem och sedan skickar detta till optimeringsrutinen som inom några minuter, eller timmar, returnerar ett resultat tillsammans med en flagga som beskriver om allt gick som det ska. Detta är något helt annat än när en maskin formulerar 1 miljon optimeringsproblem i sekunden och kräver ett tillräckligt bra resultat från lika många problem på samma tid. Detta krav på realtidsprestanda ställer andra krav på algoritmerna, samtidigt som egenskapen att snarlika optimeringsproblem löses hela tiden erbjuder en möjlighet till bättre prestanda. I det här projektet vill vi försöka sluta se optimeringen som en separat del av regleringen. Optimeringen är regulatorn. De optimeringsalgoritmer som idag standardmässigt används för MPC är inte byggda för att fungera som regulatorer, utan snarare för att lösa t.ex. ekonomiska eller ingenjörsmässiga problem på en kontorsdator övervakade av en ekonom eller ingenjör. D.v.s., extrem prestanda eller möjligheter att a priori analysera dessa algoritmers beteende då de upprepat löser snarlika problem har egentligen aldrig varit av intresse för de som utvecklade dessa algoritmer. Detta är luckor i MPC-forskningen som det här projektet ämnar att täppa till.
Det är projektledarens avsikt att tillgängliggöra resultaten av forskningen genom att tillhandahålla högpresterande implementationer av de resulterande algoritmerna. Både industri och akademi har visat ett stort intresse för implementationer av de algoritmer som projektledaren redan har utvecklat i dagsläget. Att tillhandahålla användbara implementationer av dessa, och kommande, resultat ses som en viktig effekt av forskningsmedel från CENIIT för denna forskning.
Forskningen utförs vid Avdelningen för Reglerteknik på ISY i en del av gruppen som arbetar med optimering för tillämpningar inom reglerteknik och signalbehandling. Denna del av reglerteknikgruppen består av både seniora forskare såväl som doktorander och sysselsätter för närvarande ca 10 personer. Resultat från tidigare forskning i gruppen omfattar högpresterande optimeringsalgoritmer som är skräddarsydda för olika typer av reglerproblem, såväl som det internationellt välkända optimeringsverktyget YALMIP.
Ett av projektledarens tidigare huvudresultat är en skräddarsydd QP-algoritm som står sig mycket bra i den internationella konkurrensen, både jämfört med akademiska alternativ såväl som kommersiella alternativ. De fyra huvudsakliga målen för de närmaste åren inom detta område sammanfattas som följande fyra punkter:
Projektledarens vision för det här projektet på längre sikt är att leda en grupp bestående av två till tre personer som besitter kompetens för att kunna kalla sig ledande inom QP-optimering för realtids-MPC. Utöver det här specifika projektet är målet för den sökandes kommande forskning att bredda sig mot forskning inom optimeringsbaserade algoritmer för autonoma system. Projektledaren arbetar i dagsläget i projekt både mot SAAB och Scania inom autonomiområdet. Tanken är att de högpresterande realtidsoptimeringsalgoritmerna som är målet med det sökta CENIIT-projektet ska utgöra ryggraden för fortsatt forskning inom beslutsfattande system inom autonomi och därmed utgöra grunden i uppbyggnaden av en grupp med fokus mot forskning inom realtidsoptimering och autonoma system.
Doktoranden Isak Nielsen har tillsammans med projektledaren producerat fem accepterade konferensbidrag till de främsta konferenserna inom området, [1], [2] [5], [10], [12]. Tre av dessa inkluderade Isak under 2015 i en licentiatavhandling, [4]. Utöver detta har två konferensbidrag presenterats på nationella konferenser, [3], [9]. I [12] visas det hur den mest beräkningskrävande operationen i en MPC-regulator, d.v.s. faktoriseringen av KKT-koefficientmatrisen, kan utföras signifikant mer effektivt i en strukturutnyttjande aktiv-mängd-metod genom att uppdatera faktoriseringen istället för att beräkna den på nytt helt från början, samtidigt som problemstrukturen utnyttjas. Resultatets betydelse i praktiken illustreras i figur 1. För att ytterligare sänka beräkningstiden vid faktorisering inför och beräkning av Newtonsteget har nya skräddarsydda algoritmer utvecklats som förutom att utnyttja problemstruktur, också utnyttjar modern parallell hårdvara. Dessa resultat är presenterade i [5] och [10] och betydelsen i praktiken illustreras i figur 2.
Utvecklingen av den grundläggande teorin inom projektet har fortsatt både tillsammans med Isak, men också av Daniel Axehill på egen hand. Förutom de gemensamma konferensbidragen har Daniels egen verksamhet inom projektet resulterat i tre tidskriftsartiklar och ett bokkapitel, [6], [7], [8], [11].
Annan verksamhet i projektet har varit att studera realtids-MPC-problem i praktiken för att lära sig från dessa vilka problem och begränsningar som finns i praktiken. Detta har skett dels genom examensarbeten och dels genom projekt i Reglerteknisk projektkurs. Det har både skett internt såväl som externt med industrin. 2012 års interna examensarbeten med detta syfte genererade två konferensbidrag, [15], [16].
Utöver renodlad MPC-forskning deltar den sökande i fyra forskningsprojekt med fokus på realtidsoptimering inom området autonoma system. Det första projektet heter iQMatic och är ett samarbete som involverar förutom tre avdelningar vid LiU parterna Scania, Autoliv, SAAB och KTH. I ett annat projekt relaterat till iQMatic undersöks möjligheterna för autonom backning med lastbil och släp, vilket vi lyckades utföra i praktiken i juni 2016. De två övriga projekten inom autonomiområdet sker inom Wallenberg Autonomous Systems Program (WASP) och innefattar handledning av industridoktorander från SAAB inom beslutsfattande autonoma system respektive inom sensorstyrning. Autonomiprojekten har den gemensamma nämnaren att de alla handlar om olika typer av realtidsoptimering. D.v.s. det finns en stark koppling mellan autonomiprojekten och CENIIT-projektet och målet är att kunna använda resultaten från CENIIT-projektet inom autonoma system för att där öka prestandan.
Det industriella intresset för MPC och i synnerhet realtids-MPC är generellt sett mycket stort. Både i Sverige, och i övriga världen, finns det många intressanta företag som arbetar med snabba och kritiska system där MPC skulle kunna vara användbart, om bara prestandan och möjligheten att analysera algoritmerna fanns. Två viktiga sådana företag är ABB och SAAB AB. Forskningen i detta projekt stöds av båda dessa företag. Konkret kan dessa företag ge oss återkoppling för att kvalitetssäkra vårt kommande arbete samt tillhandahålla exempel på relevanta applikationer och frågeställningar inom dessa områden. Detta bestyrks med bifogade Letter of Intent. Formella kontakter på ABB är Christopher Ganz och Alf Isaksson. Formell kontakt på SAAB är Daniel Simon.
Under 2012 inleddes ett samarbete med IEI på Linköpings universitet och SAAB Dynamics (kontaktperson Micael Derelöv) för att använda realtids-MPC för att styra en ROV (fjärrstyrd undervattensfarkost). Samarbetet inleddes i form av ett exjobb och har fortsatt med fem projekt i kursen Reglerteknisk projektkurs under åren 2012-2016. 2016 är även företaget Combine (Rikard Bengtsson) involverat i projektet och hårdvaruplattformen har bytts ut. Syftet med projektet, sett ur CENIIT-projektets perspektiv, är att få praktiskt kunskap om realtids-MPC i en industriellt relevant applikation. Målet är att kunna använda denna farkost även senare i projektet för att testa utvecklade algoritmer.
Ytterligare ett projekt med stor industriell relevans med anknytning till CENIIT-projektet är lastbilar som kör med kort avstånd i en kolonn för att spara bränsle, så kallad ”platooning”. Daniel har varit inblandad i att bygga grunden för ett sådant system på LiU tillsammans med Avdelningen för Fordonssystem (Lars Nielsen och Erik Frisk), Scania (Magnus Adolfsson) och KTH (Jonas Mårtensson). Denna applikation, och fortsättningen med helt autonoma fordon inom iQMatic, kan potentiellt sett vara mycket intressanta applikationer för de resultat som väntas från CENIIT-projektet. Utöver detta har Daniel under det senaste året inlett två nya projekt inom WASP i form av industridoktorandprojekt mot SAAB, där kontaktpersonerna är Torbjörn Crona respektive Per-Johan Nordlund. Det ena projektet leds av Daniel och i det andra medverkar han som bihandledare.
Projektledaren fick 2011 ett projektbidrag för unga forskare från VR för ett projekt som syftar till att använda parallella beräkningar för MPC applicerat på hybrida system. Det finns goda möjligheter för samordningsvinster mellan VR-projektet och CENIIT-projektet. Mer specifikt har båda projekten nytta av skräddarsydd effektiv parallell numerisk linjär algebra, samt en bra implementation av en effektiv QP-algoritm. Det finns även tydliga kopplingar mellan CENIIT-projektet och de fyra autonomiprojekten där fokus just är olika former av realtidsoptimering för reglering och beslutsfattande.
Vi tror att vi i den framtida forskningen kommer att ha stor nytta av resultat från CENIIT-projektet ”Avancerade optimeringansatser i MPC”. Speciellt kan dessa resultat vara av intresse då regulatorns beräkningsmässiga prestanda ska analyseras a priori.
Följande publikationer har producerats med projektledaren, eller doktoranden som arbetar i projektet, som huvud- eller medförfattare och är helt eller delvis resultat från CENIIT-projektet:
För en full lista av projektledarens accepterade publikationer, vänligen se hans publikationslista.