Heb je weleens van circuitsimulatie gehoord?
Dat is een methode om op basis van de prestaties van een auto en de rijlijn te berekenen hoe snel die auto in theorie een ronde over een circuit kan afleggen.
De circuitsimulatie die ik hier bespreek, is gemaakt door Tatsu.
Volgens Tatsu heeft hij zich gebaseerd op de “F-1 Circuit Simulation” uit de Honda R&D Technical Review en die omgezet naar een Excel-spreadsheet.
Toen ik er voor het eerst over hoorde, dacht ik: “Wat is dát nou weer?!”
Ik kan niet eens twee getallen van twee cijfers bij elkaar optellen, dus eigenlijk durfde ik Tatsu nauwelijks om uitleg te vragen. Maar hij was zo aardig om me er van alles over te leren.
Tatsu heeft de volledige werkwijze voor het maken van de simulatie openbaar gemaakt, omdat hij hoopt dat dit soort methoden breder gebruikt gaan worden.
Ik heb me er zelf in verdiept door de artikelen te lezen die hij erover heeft gepubliceerd:
Een circuitsimulatie in Excel maken (deel 1)
Een circuitsimulatie in Excel maken (deel 2)
Een circuitsimulatie in Excel maken (deel 3)
Een circuitsimulatie in Excel maken (deel 4)
Een circuitsimulatie in Excel maken (deel 5)
Een circuitsimulatie in Excel maken (circuitplattegrond)
De basisgedachte staat al in deel 1 uitgelegd, maar alleen al om dat ene artikel te begrijpen had ik belachelijk veel tijd nodig.
Toch is alles netjes in afzonderlijke onderdelen opgedeeld. Als je er de tijd voor neemt en ze één voor één doorwerkt, moet je het uiteindelijk kunnen begrijpen.
Als het kwartje eenmaal valt, merk je pas hoe zorgvuldig en duidelijk dat artikel is geschreven.
Als het niet zo helder was uitgelegd, had ik het waarschijnlijk nooit begrepen… Echt waar.
Even terzijde: toen ik op de middelbare school zat, moest ik een keer bij een leraar op zijn kamer komen. Hij zei:
“Voor alle vakken haal je goede cijfers, behalve voor wiskunde. Waarom zijn je wiskundecijfers zo verschrikkelijk slecht?! Je naam is zelfs tijdens een lerarenvergadering gevallen! Daarom ga je samen met een paar andere leerlingen een speciaal wiskundeprogramma volgen.”
Dus moest ik maandenlang na schooltijd blijven om wiskunde te doen waar ik werkelijk niets van begreep.
Maar wat moest ik dan? Japans en Engels vond ik makkelijk: ik hoefde alleen maar dingen te onthouden en op te schrijven. Maar als ik een wiskundeopgave zag, had ik werkelijk geen flauw idee wat ik moest doen.
Als zelfs ik het met genoeg moeite heb kunnen begrijpen, dan moet het jullie zeker ook lukken.
Een wijs man heeft ooit gezegd: “Als je maar genoeg energie hebt, kun je alles.”
Maar hoe energiek je ook bent, een Kamehameha afvuren lukt je nog steeds niet. Dus alles kun je volgens mij niet.
Maar dit kun je volgens mij wel begrijpen.
Vanaf hier ga ik niet stap voor stap uitleggen hoe je zelf een circuitsimulatie in Excel bouwt. Ik zal proberen de basisgedachte uit te leggen zoals ik die heb begrepen.
In de kern draait deze simulatie om vier dingen.
Eerst bepaal je de rijlijn. Vervolgens bepaal je welke krachten de banden op die lijn maximaal kunnen leveren.
Daarmee bereken je de mogelijke snelheid op elk punt en uiteindelijk de rondetijd over een volledige ronde.
Basisidee #1: “Eerst de rijlijn”
Om te beginnen wordt de rijlijn niet berekend.
Je voert zelf honderden keren een kromtestraal in en bepaalt zo de rijlijn.
In principe voer je de waarden zo in dat de lijn overeenkomt met de lijn die je in werkelijkheid rijdt.
Vervolgens bereken je: “Wat is de snelst mogelijke rondetijd als je deze lijn volgt?”
Als je denkt: “Misschien kan ik met een andere lijn sneller rijden”, kun je de berekening voor die lijn opnieuw uitvoeren.
Komt er een snellere tijd uit, dan is dat mooi. Duurt de ronde langer, dan schiet je er niets mee op. Het resultaat beoordelen is dus eenvoudig.
Zo blijf je verschillende lijnen uitproberen en de berekeningen herhalen, totdat je de snelste lijn hebt gevonden.
Basisidee #2: “Welke snelheid kan de auto halen bij de maximale dwarsversnelling?”
Om te beginnen meet je met een GPS-datalogger de maximale dwarsversnelling van de auto.
Bij GPS-dataloggers zoals LAP+ kan de weergegeven dwarsversnelling hoger zijn dan de werkelijke waarde. Daarom neem je op het punt waar de hoogste dwarsversnelling werd gemeten twee gegevens: de kromtestraal van de rijlijn en de snelheid. Daarmee bereken je opnieuw wat de werkelijke dwarsversnelling was.
De precieze berekening is hier niet belangrijk, dus die sla ik over. Wie er meer over wil weten, kan de artikelen van Tatsu over het maken van de circuitsimulatie lezen.
Voor nu hoef je alleen te onthouden dat je de dwarsversnelling kunt berekenen als je de kromtestraal en de snelheid kent.
Omgekeerd kun je de snelheid berekenen als je de andere twee gegevens kent.
Hoe kleiner de kromtestraal, hoe groter de dwarsversnelling bij dezelfde snelheid. Wil je juist dezelfde dwarsversnelling behouden, dan moet de snelheid omlaag naarmate de kromtestraal kleiner wordt.
Voor mijn eigen auto heb ik op basis van mijn gemeten rijgegevens de maximaal haalbare dwarsversnelling op 1.15 G gezet.
Omdat de rijlijn al vastligt, kennen we de kromtestraal op elk punt van iedere bocht. Daardoor kunnen we bijvoorbeeld berekenen:
Bij welke snelheid ontstaat er in bocht 1 een dwarsversnelling van 1.15 G?
En in bocht 2? Of bocht 3?
(Daarna moeten we ook nog de maximale versnelling en vertraging bepalen, maar dat is wat ingewikkelder, dus dat sla ik hier over. Dat hoef je voorlopig ook niet te begrijpen. Na al het nodige rekenwerk heb ik voor mijn auto de maximale versnelling op 0.7 G en de maximale vertraging bij het remmen op 0.8 G gezet.)
Basisidee #3: “De grip van een band kan de wrijvingscirkel niet overschrijden”
Hier is de wrijvingscirkel, die jullie vast allemaal kennen.
De krachten die een band in de lengte- en dwarsrichting kan overbrengen, zijn begrensd. Dat wordt meestal weergegeven met de “wrijvingscirkel”.
In de circuitsimulatie die ik hier bespreek, wordt dit uitgedrukt als “bandbenuttingsgraad”.
De bandbenuttingsgraad wordt hier als volgt gedefinieerd:
{ (G in lengterichting ÷ maximale G in lengterichting)^2 + (G in dwarsrichting ÷ maximale G in dwarsrichting)^2 }^0.5
Ook hier is de precieze formule niet zo belangrijk. Je hoeft alleen te onthouden dat je de bandbenuttingsgraad kunt berekenen als je weet welke “G-krachten er op dat moment in de lengte- en dwarsrichting optreden” en welke “maximale G-krachten de banden in beide richtingen kunnen leveren”.
Als je precies op de grens van de wrijvingscirkel zit, is de bandbenuttingsgraad 1 (100%).
Basisidee #4: “Bereken de snelheid door terug te rekenen vanaf het punt met de laagste snelheid”
Hier komen we bij de kern van het verhaal.
Stel bijvoorbeeld dat de laagste snelheid in bocht 2 van het Takasu Circuit 45 km/h is.
Dan moet de auto zowel vóór als na het punt waar die minimumsnelheid wordt bereikt, harder rijden dan 45 km/h.
Anders zou het natuurlijk niet de ‘laagste snelheid’ heten.
Bij een racelijn wordt de kromtestraal doorgaans kleiner naarmate je het punt met de laagste snelheid nadert, en daarna weer groter wanneer je ervan wegrijdt.
Denk bijvoorbeeld aan het insturen van een bocht. Eerst staat het stuur recht, vervolgens stuur je steeds verder in, totdat je bij het punt met de laagste snelheid de grootste stuurhoek bereikt. De kromtestraal van de lijn wordt daarbij vanzelf geleidelijk kleiner.
Laten we nu eerst een aanname doen over de ‘snelheid op elk punt van de racelijn’.
We nemen aan dat de auto op elk punt van de racelijn precies zo hard rijdt dat daar een dwarsversnelling van 1.15 G ontstaat.
Zoals ik bij basisidee #2 heb uitgelegd, kun je bij een gegeven dwarsversnelling de bijbehorende snelheid bepalen zodra je de kromtestraal kent.
En omdat we aannemen dat de dwarsversnelling steeds 1.15 G bedraagt, verandert de snelheid van de auto met de kromtestraal.
Logisch: hoe kleiner de kromtestraal, hoe lager de snelheid. Hoe groter de straal, hoe hoger de snelheid.
Laten we bocht 2 van het Takasu Circuit bekijken.
Voor de bocht ligt eerst een recht stuk.
Een rechte lijn heeft een kromming van nul. Als je daar 1.15 G aan dwarsversnelling zou willen opwekken, wordt de berekende snelheid dus oneindig hoog.
Dat betekent natuurlijk niet dat je werkelijk oneindig hard kunt rijden. Wiskundig betekent het alleen dat de snelheid die je op basis van uitsluitend de kromming berekent om 1.15 G dwarsversnelling op te wekken, naar oneindig gaat wanneer de kromming nul nadert.
In werkelijkheid is de lijn niet volmaakt recht en is de kromming dus iets groter dan nul, maar de berekende snelheid blijft enorm hoog.
(Nogmaals: we hebben het alleen over de snelheid die bij die kromtestraal nodig is om 1.15 G dwarsversnelling op te wekken.)
Omgekeerd is de kromtestraal op het punt met de laagste snelheid in bocht 2 juist het kleinst, ongeveer 15 meter.
LAP+ kan ook de bochtstraal weergeven. Als je echte rijgegevens bekijkt, zul je waarschijnlijk zien dat de meeste mensen ongeveer op die waarde uitkomen.
En volgens de aanname aan het begin stellen we de snelheid op dit punt op ongeveer 45 km/h.
Als de kromtestraal van oneindig naar 15 meter afneemt, doorloopt hij geleidelijk waarden als 500 m, 100 m, 50 m, 30 m, 20 m, 17 m…
Bereken je voor elk van die punten de snelheid waarbij 1.15 G dwarsversnelling ontstaat, dan krijg je bijvoorbeeld ongeveer 270 km/h, 120 km/h, 85 km/h, 65 km/h, 55 km/h, 50 km/h…
Maar nu komt het slechte nieuws: mijn echte auto kan bocht 2 helemaal niet nemen met zo’n snelheidsverloop… 85 km/h, 65 km/h, 55 km/h, 50 km/h…
Dat komt doordat deze snelheden alleen zijn berekend op basis van de 1.15 G dwarsversnelling die bij elke kromtestraal hoort. De langskracht die de banden nodig hebben om te remmen, is daarbij niet meegenomen.
Een band kan niet meer grip leveren dan de wrijvingscirkel toestaat, en mijn auto kan maximaal 1.15 G aan dwarsversnelling opwekken.
Maar kijk eens naar het snelheidsverloop hierboven: de snelheid neemt af.
De snelheid neemt af… en dat betekent dat de auto remt.
Als we externe krachten zoals luchtweerstand buiten beschouwing laten, moet de auto via de banden vertragen. Dat zou dus betekenen dat ‘de banden voortdurend al hun beschikbare grip in dwarsrichting gebruiken om 1.15 G op te wekken, en op de een of andere manier óók nog extra grip in de remrichting leveren’.
Dat kan gewoon niet. Het is tegenstrijdig.
Hoe berekenen we dan wél een realistisch snelheidsverloop?
Het antwoord is eenvoudig: stel de snelheid op elk punt om te beginnen wat lager in.
Bij een lagere snelheid ontstaat bij dezelfde kromtestraal minder dwarsversnelling. Daardoor blijft er bandengrip over die je kunt gebruiken om te remmen.
Hoera! Probleem opgelost. Klaar!
…Nee dus. Hoeveel moeten we de snelheid verlagen?
Moeten we op het punt waar we 85 km/h hadden de snelheid terugbrengen naar 10 km/h? Of misschien zelfs naar 2 km/h?
Dan wordt de rondetijd natuurlijk belachelijk lang.
We gebruiken een circuitsimulatie juist om de snelst mogelijke rondetijd te berekenen. Zo schiet het dus niet op.
We willen de snelheidsverlaging daarom zo klein mogelijk houden. Laten we eerst eens 1 km/h van de snelheid afhalen en opnieuw rekenen.
En hier komt de ‘bandbenuttingsgraad’ uit basisidee #3 om de hoek kijken.
Alle gegevens die nodig zijn voor de berekening liggen inmiddels vast. We hoeven dus alleen de getallen in te vullen en de bandbenuttingsgraad te berekenen.
Het resultaat: zelfs als we de snelheid maar 1 km/h verlagen, van 85 km/h naar 84 km/h, ligt de bandbenuttingsgraad nog ver boven de 100%.
Dat gaat dus niet.
Vervolgens rekenen we meteen opnieuw met een verlaging van 2 km/h.
Het resultaat… nog altijd boven de 100%.
Dan rekenen we opnieuw met 3 km/h minder.
Nog steeds niet goed.
Dan 4 km/h minder.
Ook niet goed.
Dan 5 km/h minder.
Nog steeds onvoldoende.
En als dat niet werkt, proberen we 6 km/h… 7 km/h…
…en blijven we dat herhalen totdat we uitkomen op:
Precies 100%!!!
Met de ‘macrofunctie’ van een spreadsheetprogramma kun je dit soort herhaalde bewerkingen uitvoeren.
Je laat de computer met andere woorden dezelfde berekening automatisch telkens opnieuw uitvoeren, totdat hij de gezochte waarde heeft gevonden.
Als eenmaal de snelheid is gevonden waarbij de bandbenuttingsgraad 100% bedraagt, bereken je op dezelfde manier de snelheid op het vorige punt, telkens verder terugwerkend.
Zo berekenen we de snelheden tijdens het afremmen.
Voor het accelereren gebruiken we dezelfde werkwijze.
Bij het remmen hoeven we alleen rekening te houden met de bandbenuttingsgraad. Bij het accelereren moeten we daarnaast ook de ‘aandrijfkracht per band’ en het ‘aantal aangedreven wielen (de aandrijfconfiguratie)’ meenemen. Daardoor wordt de berekening iets ingewikkelder.
Maar in de basis doen we hetzelfde.
Zodra de snelheden voor zowel accelereren als remmen zijn berekend, nemen we de laagste van die twee als ‘de snelheid op dat punt’.
Zo bepalen we de snelheid op ieder punt van de racelijn over een volledige ronde. Daarmee kunnen we vervolgens de rondetijd berekenen.
Deze keer heb ik de concrete rekenmethoden grotendeels overgeslagen en alleen de basisgedachte uitgelegd, voor zover ik die zelf heb kunnen begrijpen.
Als je daadwerkelijk een circuitsimulatie in Excel wilt bouwen, moet je nog een aantal praktische problemen oplossen. Wie dat wil proberen, raad ik aan de gepubliceerde uitleg van Tatsu erbij te pakken en zelf aan de slag te gaan.
Misschien is dit een nogal ingewikkeld verhaal geworden, maar volgens mij komt het hier in grote lijnen op neer.
Tot nu toe begreep ik eigenlijk niet goed wat er natuurkundig gebeurt wanneer een auto zo snel mogelijk een circuit aflegt. Langzaam maar zeker begin ik er wat meer van te snappen.
Overigens verschilt bij de berekening van de snelheid tijdens het accelereren de aangenomen acceleratieprestatie tussen 2WD en 4WD, en tussen auto’s met weinig en veel vermogen. Daardoor kan ook de optimale racelijn iets verschillen (afhankelijk van de vorm van de bocht).
Ook het giermoment en vergelijkbare factoren worden in deze berekening helemaal niet gebruikt. Hoe gemakkelijk of moeilijk de auto instuurt, heeft dus geen directe invloed op de rondetijd die de simulatie berekent.
De simulatie berekent alleen de beweging van het zwaartepunt van de auto.
Bij een echte auto hebben de gewichtsverdeling en andere factoren natuurlijk wel invloed op de prestaties.
Maar op welke manier?
Ze bepalen hoe ver de werkelijke auto van de ideale toestand afwijkt.
Anders gezegd: door een bepaalde factor kan de auto de ideale lijn niet met de ideale snelheid volgen.
Denk aan de aandrijfconfiguratie, de reactie van de banden, hoe snel de auto op stuurbewegingen reageert, de grootte van de gain, de demperafstelling, factoren rond de wieluitlijning, de mate waarin de carrosserie overhelt en de manier waarop de wiellastverplaatsing verloopt. Al die zaken beïnvloeden de aandrijfkracht, de remkracht of de zijdelingse bandenkracht.
Uiteindelijk kun je hun invloed uitdrukken als de langs- en dwarsversnelling, in G, op een bepaald punt.
Met andere woorden: deze simulatie berekent de theoretische rondetijd voor een auto die de ideale lijn met de ideale snelheid kan volgen.
Hoe ver de echte auto door de afstelling of de handelingen van de bestuurder van die ideale toestand afwijkt.
Volgens mij is het ook belangrijk om dat te begrijpen als je wilt weten wat een echte auto snel maakt.
Zo, dat was mijn uitleg van de gedachte achter circuitsimulatie.
En, kunnen jullie nu allemaal een Kamehameha afvuren… eh, ik bedoel: hebben jullie het basisidee begrepen?
Deze manier van denken is erg belangrijk om te begrijpen hoe een auto zich gedraagt als je zo snel mogelijk een vast circuit wilt afleggen. Ik hoop dus dat jullie er iets aan hebben.