The aim of this project was to compare two control algorithms designed to steer an autonomous vehicle. The comparison was made using a simulated environment to evaluate the performance of both controllers. The simulation used in this project was designed in Python and used an algorithm which randomly constructed roads from predefined road segments to create paths for the vehicle to follow. In this environment the Linear Time Varying (LTV)-Model Predictive Controller (MPC) and Pure Pursuit Controller (PPC) algorithms were evaluated. The thesis compared how well they follow paths, the average control cost of completing tasks, how well they handle input constraints, and the computational time for each algorithm. The data was collected by driving along three sets of randomly generated roads with both control algorithms. One set mostly straight, one with some turns, and one with mostly turns. An Analysis of Variance (ANOVA) test was used to make the comparison between the performance of the two algorithms. The results showed that both algorithms performed well. The PPC had low computation time and used less control, but it also had larger position errors. The LTV-MPC had higher computation time, but smaller position errors at the cost of larger control values. The conclusion is that the MPC is preferable if computational capabilities are available. Room for future work exists in the form of comparing additional controller types for autonomous vehicles and exploring different tuning parameters for the MPC controller. The simulation could also be expanded to more accurately reflect real world conditions. / Målet med detta projekt var att jämföra två kontrollalgoritmer avsedda för att styra en självkörande bil. Jämförelsen gjordes med hjälp av en simulering som utformades i Python. Den använde sig av en algoritm som slumpmässigt satte ihop vägar från förkonstruerade delar för att skapa banor för den självkörande bilen att följa. I denna miljö har vi testat två algoritmer, en LTV-MPC och en PPC. Vi jämförde hur pass väl de följer banor som skall likna riktiga vägar, hur mycket styrning de använder sig av för att bedöma energianvändning, hur väl de förhåller sig till begränsningar på acceleration och styrning, och den beräkningstiden som krävdes för att köra vår algoritm. Datan samlades genom att köra längs med tre grupper av slumpmässigt genererade vägar med båda kontrollalgoritmerna. En grupp innehöll huvudsakligen raka sträckor, en innehöll en del svängar, och en innehöll mycket svängar. ANOVA-testet användes för att göra jämförelsen mellan resultatet av dessa två algoritmer. Resultatet visade att båda algoritmer presterar väl. PPCn hade låg beräkningstid och mindre styrvärden, men större positionsfel. MPCn hade högre beräkningstid och större styrvärden, men mindre positionsfel. Slutsatsen är att MPCn är att föredra om beräkningsmöjligheterna finns tillgängliga. Det finns utrymme för framtida arbete i form av att jämföra fler kontrollalgoritmer och att utforska fler parameter justeringar för MPCn. Utöver det finns det även utrymme för en simulation som reflekterar verkligheten noggrannare.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-345213 |
Date | January 2024 |
Creators | Lindenfors, Simon, Rahmanian, Shaya |
Publisher | KTH, Mekatronik och inbyggda styrsystem |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | Swedish |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Relation | TRITA-ITM-EX ; 2024:35 |
Page generated in 0.0023 seconds