Design and implementation of a time-optimal controller for model race cars
Design and implementation of a time-optimal controller for model race cars
Mens vs. machine: racen met robots
Volgens een recent onderzoek van de Wereldgezondheidsorganisatie (WGO) sterven er op aarde jaarlijks 1,2 miljoen mensen in een verkeersongeluk. Deze ongevallen, aldus het rapport, zijn te wijten aan menselijke fouten of nalatigheid. De technologie kan ons hier een handje helpen. De laatste jaren zijn er verschillende autonome of semi-autonome systemen geïntroduceerd in onze personenwagens die de verkeersveiligheid verhogen. Denk daarbij aan detectie van verkeersborden of adaptieve cruise control, maar ook minder zichtbare toepassingen zoals pre-crashsystemen die proactief handelen vlak voor er een ongeluk staat te gebeuren.
Omdat de betrouwbaarheid van dergelijke automatische systemen alsmaar toeneemt, lijkt de volgende logische stap voor vele autoconstructeurs te zijn om over te schakelen op volledig autonome auto’s. In sommige staten van de USA (o.a. California, Florida, Nevada) zijn zulke volledig autonome voertuigen al bij wet toegestaan. Technologiereus Google staat erom bekend met zijn omgebouwde hybridewagens actief deel te nemen aan het verkeer van Silicon Valley, zonder ongelukken te veroorzaken.
De zelfrijdende auto’s hierboven vermeld begeven zich op de baan met een snelheid van ongeveer 40km/u, andere ontwerpen rijden aan een hogere snelheid maar beperken zich tot lange, rechte wegen. Niet echt hetzelfde dus als autopiloten zoals Lewis Hamilton en co. Het ontwerp van een autonome racewagen vormt namelijk een bijzonder grote uitdaging. Het gaat hierbij niet om louter veilig rijden, maar ook de tijd waarin een traject afgelegd wordt, is van levensbelang. Hierdoor worden raceauto’s steeds bestuurd tegen de limieten van wat fysiek mogelijk is. Ook een autonoom racevoertuig moet steeds een afweging maken tussen ‘veilig’ rijden (binnen de racebaan blijven) en zo snel mogelijk een parcours afleggen (rondetijd minimaliseren).
In het onderzoek dat wij deden in samenwerking met Siemens PLM Software te Leuven, werd er bekeken of het mogelijk was een racewagen te ontwerpen die juist deze optimale afweging maakt tussen veiligheid en snelheid. Voor de experimentele testen gebruikten we modelracewagens op een racebaan op schaal 1:43. Deze autootjes worden automatisch bestuurd met de bijgeleverde afstandsbediening, die aangepast werd zodat die vanaf een computer kan worden bestuurd. Boven de racebaan hangt een kleurencamera, waarmee men de positie van de racewagen op de baan kan bepalen, alsook de oriëntatie. De camera neemt vijftig keer per seconde een beeld van de racebaan, zodat de snelheid van de wagen berekend wordt door opeenvolgende beelden van de camera met elkaar te vergelijken. Voorts is er een wiskundig model van de modelwagen voorhanden. Alle informatie benodigd om het gewenste gedrag van de wagen te behalen, is dus aanwezig op de centrale computer.
Hoe bereik je nu het gewenste rijgedrag met een zelfrijdende racewagen? De centrale component van elk autonoom systeem is de regelaar. Een regelaar zorgt ervoor dat de doelen en beperkingen, opgelegd door de ontwerper, gehaald worden. Een concreet voorbeeld: een regelaar in een zelfrijdende auto bepaalt hoeveel het gaspedaal moet ingedrukt worden en hoe scherp er ingestuurd moet worden om de volgende haarspeldbocht mooi aan te snijden. In dit geval heten het gaspedaal en het stuurwiel de ‘controle-acties’. De beperkingen leggen bijvoorbeeld op dat de wagen ten allen tijde binnen de racebaan moet blijven.
Het ontwerp van een dergelijke regelaar is niet vanzelfsprekend, maar wat een regelaar in autonome voertuigen moet doen, komt in feite hierop neer: 1. De huidige toestand van de auto (positie, snelheid, oriëntatie) wordt gemeten, 2. De controle-acties (gas, sturen) worden geoptimaliseerd voor het bereiken van het beoogde doel. Hierbij wordt rekening gehouden met de beperkingen en het toekomstige gedrag van de auto, berekend aan de hand van het wiskundig model, 3. De geoptimaliseerde controle-acties worden aangelegd op het systeem. Als men bovenstaande stappen in een lus zet en deze lus snel genoeg herhaalt (bv. vijftig keer per seconde), zal je een vlot rijgedrag waarnemen.
Als je de procedure hierboven implementeert op de computer, krijg je autonoom rijgedrag. Maar ‘het beoogde doel’ – minimaliseer de tijd op een bepaald traject – moet nog vertaald worden in wiskunde, zodat we kunnen opleggen dat de auto niet alleen veilig, maar ook zo snel mogelijk over de baan rijdt. Hiervoor gebruikten we de volgende truc. In bovenstaande formulering worden de controle-acties geoptimaliseerd over een horizon vanaf de huidige plaats van het voertuig tot een bepaald punt verder op het traject (bv. 1 meter verder). Het wiskundig model wordt gebruikt om te voorspellen hoe de auto reageert in de toekomst. Als we voorspelde tijd bekijken die de auto nodig heeft om de horizon van 1 meter af te leggen, volstaat het om deze voorspelde tijd op het eind van de horizon te minimaliseren. Zodoende bekomt men een snel traject, waarbij nog steeds aan de beperkingen van het racecircuit wordt voldaan; het autootje rijdt aan een gemiddelde snelheid van ongeveer 7km/u (snel voor een dergelijk klein autootje!) over een bochtige baan met onder andere een U-bocht, een chicane en een langere rechte passage.
De vraag of de gevonden resultaten rechtstreeks overdraagbaar zijn op echte racewagens, blijft momenteel onbeantwoord. Het grootste verschil tussen een opstelling op schaal en een levensgrote racewagen is de positiebepaling: GPS is te onnauwkeurig, en sensoren aan boord van de auto vergen een andere aanpak. Ook is er voor grotere auto’s een ingewikkelder wiskundig model nodig om met alle kenmerken rekening te houden (vering, slippen, banden, etc.).
Zullen we binnen twee jaar een robotwagen aan de top van het klassement in de Formule 1 zien staan? Waarschijnlijk niet, snel rijden in een ‘steriele’ onderzoeksomgeving is eenvoudiger dan goed presteren in weer en wind, tegen andere auto’s. En het laten valideren van de gebruikte systemen en software moet worden uitgevoerd door verschillende instanties, zeker als het op veiligheid aankomt. Dit neemt niet weg dat, zoals Formule 1 voor technologische vooruitgang zorgt in ontwerp van klassieke auto’s, ontwikkelingen in het gebied van autonome racewagens een grote impact kunnen hebben op de op til zijnde revolutie van de autonome personenwagens.
Bibliography[1] qpOASES. http://www.qpOASES.org, 2007–2011. [Online].[2] ACADO Toolkit. http://www.acadotoolkit.org/, 2009–2013. [Online].[3] T. Au, M. Quinlan, and P. Stone. Setpoint scheduling for autonomous vehiclecontrollers. 2012.[4] AutoNOMOS Labs, Freie Universität Berlin. http://autonomos.inf.fu-berlin.de,2014.[5] H.G. Bock and K.J. Plitt. A multiple shooting algorithm for direct solution ofoptimal control problems. In Proceedings 9th IFAC World Congress Budapest,pages 242–247. Pergamon Press, 1984.[6] Francesco Borrelli, Paolo Falcone, Tamas Keviczky, and Jahan Asgari. MPCbasedapproach to active steering for autonomous vehicle systems. InternationalJournal of Vehicle Autonomous Systems, 3(2):265–291, 2005.[7] F. Braghin, F. Cheli, S. Melzi, and E. Sabbioni. Race driver model. Computers& Structures, 2008.[8] A. Broggi, M. Bertozzi, A. Fascioli, C. Lo Bianco, and A. Piazzi. The argoautonomous vehicle’s vision and control systems. International Journal ofIntelligent Control and Systems, 3(4):409–441, 1999.[9] A. Cohen. Will self-driving cars change the rules of the road?, 2013.[10] Stijn De Bruyne. Model-based control of mechatronic systems - Bridging betweenadvanced methods and industrial applications. PhD thesis, KU Leuven, Leuven,Belgium, December 2013.[11] M. Diehl, H.G. Bock, J.P. Schlöder, R. Findeisen, Z. Nagy, and F. Allgöwer. Realtimeoptimization and Nonlinear Model Predictive Control of Processes governedby differential-algebraic equations. Journal of Process Control, 12(4):577–585,2002.[12] M. Diehl, H. J. Ferreau, and N. Haverbeke. Nonlinear model predictive control,volume 384 of Lecture Notes in Control and Information Sciences, chapterEfficient Numerical Methods for Nonlinear MPC and Moving Horizon Estimation,pages 391–417. Springer, 2009.77Bibliography[13] M. Diehl, I. Uslu, R. Findeisen, S. Schwarzkopf, F. Allgöwer, H.G. Bock,T. Bürner, E.D. Gilles, A. Kienle, J.P. Schlöder, and E. Stein. Real-TimeOptimization for Large Scale Processes: Nonlinear Model Predictive Controlof a High Purity Distillation Column. In M. Grötschel, S. O. Krumke, andJ. Rambau, editors, Online Optimization of Large Scale Systems: State ofthe Art, pages 363–384. Springer, 2001. download at: http://www.zib.de/dfgechtzeit/Publikationen/Preprints/Preprint-01-16.ht…] A. Domahidi, A. Zgraggen, M.N. Zeilinger, M. Morari, and C.N. Jones. EfficientInterior Point Methods for Multistage Problems Arising in Receding HorizonControl. In IEEE Conference on Decision and Control (CDC), pages 668 – 674,Maui, HI, USA, December 2012.[15] P. Falcone, F. Borrelli, J. Asgari, H.E. Tseng, and D. Hrovat. Low complexityMPC schemes for integrated vehicle dynamics control problems. 9th InternationalSymposium on Advanced Vehicle Control, 2008.[16] H. J. Ferreau, P. Ortner, P. Langthaler, L. del Re, and M. Diehl. Predictivecontrol of a real-world diesel engine using an extended online active set strategy.Annual Reviews in Control, 31(2):293–301, 2007.[17] H.J. Ferreau, H.G. Bock, and M. Diehl. An Online Active Set Strategy for FastParametric Quadratic Programming in MPC Applications. In Proceedings ofthe IFAC Workshop on Nonlinear Model Predictive Control for Fast Systems,Grenoble, pages 21–30, 2006.[18] J. V. Frasch, A. J. Gray, M. Zanon, H. J. Ferreau, S. Sager, F. Borrelli,and M. Diehl. An Auto-generated Nonlinear MPC Algorithm for Real-TimeObstacle Avoidance of Ground Vehicles. In Proceedings of the European ControlConference, 2013.[19] J. V. Frasch, M. Vukov, H.J. Ferreau, and M. Diehl. A new Quadratic ProgrammingStrategy for Efficient Sparsity Exploitation in SQP-based Nonlinear MPCand MHE. In Proceedings of the 19th IFAC World Congress, 2013. accepted forpublication.[20] Y. Gao, A. Gray, J. V. Frasch, T. Lin, E. Tseng, J.K. Hedrick, and F. Borrelli.Spatial predictive control for agile semi-autonomous ground vehicles. InProceedings of the 11th International Symposium on Advanced Vehicle Control,2012.[21] Yiqi Gao, Theresa Lin, Francesco Borrelli, Eric Tseng, and Davor Hrovat.Predictive control of autonomous ground vehicles with obstacle avoidance onslippery roads. In ASME 2010 Dynamic Systems and Control Conference, pages265–272. American Society of Mechanical Engineers, 2010.[22] G. Genta. Motor vehicle dynamics: modeling and simulation. World Scientific,1997.78Bibliography[23] B. Houska, H.J. Ferreau, and M. Diehl. An Auto-Generated Real-Time IterationAlgorithm for Nonlinear MPC in the Microsecond Range. Automatica,47(10):2279–2285, 2011.[24] B. Houska, F. Logist, J. Van Impe, and M. Diehl. Approximate robust optimizationof time-periodic stationary states with application to biochemicalprocesses. In Proceedings of the 28th Conference on Decision and Control, pages6280–6285, Shanghai, China, 2009.[25] R.E. Kalman. A New Approach to Linear Filtering and Prediction Problems.Transactions of the ASME–Journal of Basic Engineering, 82:35–45, 1960.[26] F. Kehrle, J. V. Frasch, C. Kirches, and S. Sager. Optimal control of formula 1race cars in a VDrift based virtual environment. In S. Bittanti, A. Cenedese,and S. Zampieri, editors, Proceedings of the 18th IFAC World Congress, pages11907–11912, 2011.[27] K. Kuchera. Autonomous racing using model predictive contouring control.Master’s thesis, KU Leuven, 2013.[28] R. Marino, S. Scalzi, and M. Netto. Nested pid steering control for lane keepingin autonomous vehicles. Control Engineering Practice, 19:1459–1467, 2011.[29] J. Naranjo, C. Gonzalez, R. Garcia, and T. de Pedro. Lane-Change Fuzzy Controlin Autonomous Vehicles for the Overtaking Maneuver. IEEE Transactions onIntelligent Trasportation Systems, 9, 2008.[30] J. Nocedal and S.J. Wright. Numerical Optimization. Springer Series in OperationsResearch and Financial Engineering. Springer, 2 edition, 2006.[31] ORCA. Orca racer homepage. https://sites.google.com/site/orcaracer/home.[32] H. B. Pacejka. Tyre and Vehicle Dynamics. Elsevier, 2006.[33] J. B. Rawlings, D. Angeli, and C. N. Bates. Fundamentals of economic modelpredictive control. In 51st IEEE Conference on Decision and Control, 2012.[34] J.B. Rawlings and D.Q. Mayne. Model Predictive Control: Theory and Design.Nob Hill, 2009.[35] A. Rucco, G. Notarstefano, and J. Hauser. Computing minimum lap-timetrajectories for a single-track car with load transfer. In 51st IEEE Conferenceon Decision and Control, 2012.[36] P. Spengler and C. Gammeter. Modeling of 1:43 scale race cars. Master’s thesis,ETH Zürich, 2010.79Bibliography[37] D. Verscheure, B. Demeulenaere, J. Swevers, J. De Schutter, and M. Diehl.Time-Optimal Path Tracking for Robots: a Convex Optimization Approach.IEEE Transactions on Automatic Control, 54:2318–2327, 2009.[38] M. Vukov, W. Van Loock, B. Houska, H.J. Ferreau, J. Swevers, and M. Diehl.Experimental Validation of Nonlinear MPC on an Overhead Crane using AutomaticCode Generation. In The 2012 American Control Conference, Montreal,Canada., 2012.[39] World Health Organization. Global status report on road safety2013. http://www.who.int/violence_injury_prevention/road_safety_status/2013/e…, 2013.[40] L. Wunderli. Mpc based trajectory tracking for 1:43 scale race cars. Master’sthesis, ETH Zürich, 2011.[41] M. Zanon, J. Frasch, and M. Diehl. Nonlinear Moving Horizon Estimation forCombined State and Friction Coefficient Estimation in Autonomous Driving.In Proceedings of the European Control Conference, 2013.[42] M. Zanon, J. V. Frasch, M. Vukov, S. Sager, and M. Diehl. Model Predictive Controlof Autonomous Vehicles. In Proceedings of the Workshop on Optimizationand Optimal Control of Automotive Systems. 2014.