Return to search

Real-Time Certified MPC for a Nano Quadcopter

There is a constant demand to use more advanced control methods in a wider field of applications. Model Predictive Control (MPC) is one such control method, based on recurrently solving an optimization problem for determining the optimal control signal. To solve an optimization problem can be a complex task, and it is difficult to determine beforehand how long time it will take. For a high-speed application with limited computational power, it is necessary to have an efficient algorithm to solve the optimization problem and an accurate estimation of the longest solution time. Recent research has given methods both to solve quadratic programs efficiently and to find an upper limit on the solution times. These methods are in this thesis applied to a control system based on linear MPC for the Crazyflie 2.0 nano quadcopter. The implementation is made completely online on the processor of the quadcopter, with limited computational power. A problem with the size of 36 optimization variables and 60 constraints is solved at a frequency of 100 Hz on the quadcopter. Apart from implementing MPC, a framework for computing an upper limit to the solution time has been tested. This gives a possibility to certify the formulation for real-time applications up to a well-defined maximum frequency. An implementation is shown where the framework has been used in practice to control a quadcopter flying with a real-time certified implementation of MPC. / Det finns en ständig efterfrågan för mer avancerade metoder för reglering. Modellprediktiv reglering (MPC) är en sådan avancerad metod som kräver att ett optimeringsproblem löses varje gång en ny styrsignal ska beräknas. Att lösa optimeringsproblem kan vara en komplicerad uppgift, och det är svårt att på förhand veta hur lång beräkningstid som krävs. För att MPC ska kunna användas i tillämpningar i hög hastighet och med begränsad beräkningskraft är det nödvändigt att ha en effektiv lösningsalgoritm, och även en korrekt uppskattning av den längsta lösningstiden som behövs. Aktuell forskning har gett metoder både för att effektivt lösa kvadratiska optimeringsproblem, samt för att kunna hitta en övre gräns på beräkningstiden. I den här rapporten appliceras dessa metoder på ett styrsystem baserat på MPC i en Crazyflie 2.0, vilket är en nanodrönare. Styrsystemet är implementerat helt och hållet på drönarens processor, med den begränsade datorkraft som det innebär. Ett problem med en storlek på 36 optimeringsvariabler och 60 bivillkor lösesmed en frekvens på 100 Hz. Förutom att implementera MPC har även en metod för att bestämma en övre gräns på beräkningstiden testats. Det ger en möjlighet att certifiera styrstytemetför att garanterat kunna beräkna en ny styrsignal inom den övre tiden, vilket i sin tur innebär att styrsytemet kan certificeras för realtidsanvändning i långsammare frekvenser än den övre gränsen. I rapporten visas en certifierad implementation, och data från flygning med en certifierad regulator finns med i resultatet.

Identiferoai:union.ndltd.org:UPSALLA1/oai:DiVA.org:liu-201424
Date January 2024
CreatorsLinder, Arvid
PublisherLinköpings universitet, Institutionen för systemteknik
Source SetsDiVA Archive at Upsalla University
LanguageEnglish
Detected LanguageSwedish
TypeStudent thesis, info:eu-repo/semantics/bachelorThesis, text
Formatapplication/pdf
Rightsinfo:eu-repo/semantics/openAccess

Page generated in 0.0024 seconds