Mens vs. machine: racen met robots

Robin
Verschueren

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.

Bibliografie

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 vehicle
controllers. 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 of
optimal 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. MPCbased
approach to active steering for autonomous vehicle systems. International
Journal 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 argo
autonomous vehicle’s vision and control systems. International Journal of
Intelligent 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 between
advanced 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. Realtime
optimization and Nonlinear Model Predictive Control of Processes governed
by 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, chapter
Efficient Numerical Methods for Nonlinear MPC and Moving Horizon Estimation,
pages 391–417. Springer, 2009.
77
Bibliography
[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-Time
Optimization for Large Scale Processes: Nonlinear Model Predictive Control
of a High Purity Distillation Column. In M. Grötschel, S. O. Krumke, and
J. Rambau, editors, Online Optimization of Large Scale Systems: State of
the Art, pages 363–384. Springer, 2001. download at: http://www.zib.de/dfgechtzeit/
Publikationen/Preprints/Preprint-01-16.html.
[14] A. Domahidi, A. Zgraggen, M.N. Zeilinger, M. Morari, and C.N. Jones. Efficient
Interior Point Methods for Multistage Problems Arising in Receding Horizon
Control. 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 complexity
MPC schemes for integrated vehicle dynamics control problems. 9th International
Symposium on Advanced Vehicle Control, 2008.
[16] H. J. Ferreau, P. Ortner, P. Langthaler, L. del Re, and M. Diehl. Predictive
control 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 Fast
Parametric Quadratic Programming in MPC Applications. In Proceedings of
the 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-Time
Obstacle Avoidance of Ground Vehicles. In Proceedings of the European Control
Conference, 2013.
[19] J. V. Frasch, M. Vukov, H.J. Ferreau, and M. Diehl. A new Quadratic Programming
Strategy for Efficient Sparsity Exploitation in SQP-based Nonlinear MPC
and MHE. In Proceedings of the 19th IFAC World Congress, 2013. accepted for
publication.
[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. In
Proceedings 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 on
slippery roads. In ASME 2010 Dynamic Systems and Control Conference, pages
265–272. American Society of Mechanical Engineers, 2010.
[22] G. Genta. Motor vehicle dynamics: modeling and simulation. World Scientific,
1997.
78
Bibliography
[23] B. Houska, H.J. Ferreau, and M. Diehl. An Auto-Generated Real-Time Iteration
Algorithm 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 optimization
of time-periodic stationary states with application to biochemical
processes. In Proceedings of the 28th Conference on Decision and Control, pages
6280–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 1
race cars in a VDrift based virtual environment. In S. Bittanti, A. Cenedese,
and S. Zampieri, editors, Proceedings of the 18th IFAC World Congress, pages
11907–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 keeping
in autonomous vehicles. Control Engineering Practice, 19:1459–1467, 2011.
[29] J. Naranjo, C. Gonzalez, R. Garcia, and T. de Pedro. Lane-Change Fuzzy Control
in Autonomous Vehicles for the Overtaking Maneuver. IEEE Transactions on
Intelligent Trasportation Systems, 9, 2008.
[30] J. Nocedal and S.J. Wright. Numerical Optimization. Springer Series in Operations
Research 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 model
predictive 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-time
trajectories for a single-track car with load transfer. In 51st IEEE Conference
on Decision and Control, 2012.
[36] P. Spengler and C. Gammeter. Modeling of 1:43 scale race cars. Master’s thesis,
ETH Zürich, 2010.
79
Bibliography
[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 Automatic
Code Generation. In The 2012 American Control Conference, Montreal,
Canada., 2012.
[39] World Health Organization. Global status report on road safety
2013. http://www.who.int/violence_injury_prevention/road_safety_
status/2013/en/, 2013.
[40] L. Wunderli. Mpc based trajectory tracking for 1:43 scale race cars. Master’s
thesis, ETH Zürich, 2011.
[41] M. Zanon, J. Frasch, and M. Diehl. Nonlinear Moving Horizon Estimation for
Combined 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 Control
of Autonomous Vehicles. In Proceedings of the Workshop on Optimization
and Optimal Control of Automotive Systems. 2014.

Download scriptie (12.76 KB)
Winnaar Eosprijs
Universiteit of Hogeschool
KU Leuven
Thesis jaar
2014
Promotor(en)
Promotor