Maken van animaties voor voertuigmodellen C. Kurvers DCT 2006.055
Bachelor Eindproject Studentnummer: 0551135
Begeleider:
dr. ir. A.J.C. Schmeitz
Technische Universiteit Eindhoven Faculteit Werktuigbouwkunde Dynamics and Control Technology Group Eindhoven, Mei, 2006
Samenvatting In dit verslag wordt gekeken naar het maken van animaties van voertuigmodellen. Er worden drie verschillende voertuigmodellen behandeld: het kwart voertuigmodel, het halve voertuigmodel en het fietsmodel. Het kwart en het halve voertuigmodel beschrijven de verticale dynamica van een voertuig en het fietsmodel beschrijft het bochtgedrag van een voertuig. Het maken van animaties van deze modellen gebeurt met behulp van de Virtual Reality Toolbox in Matlab en een vrml-script, waarin door middel van het modelleren van verschillende componenten een voertuigmodel in een virtuele wereld wordt ontworpen. Vervolgens worden, voor elk voertuigmodel met behulp van een Simulink model, de bewegingsvergelijkingen opgelost. Daarna worden in een ander Simulink model de berekende toestanden omgezet naar translaties en rotaties van de verschillende componenten in het virtuele voertuigmodel. Door vervolgens deze translaties en rotaties te koppelen aan een VR Sink blok, en dit blok te koppelen aan het model van het voertuig in de virtuele wereld, kan een animatie van het voertuigmodel worden gemaakt.
Summary In this report, the making of animations of vehicle models is studied. Three different vehicle models are treated: the quarter car vehicle model, the half car vehicle model and the bicycle model. The quarter and the half car vehicle model describe the vertical dynamics of a car and the bicycle model describes the cornering behavior of a car. The making of animations of these models is done by using the Virtual Reality Toolbox in Matlab and a vrml-script, in which a vehicle model is designed in a virtual world by using different components. Then the equations of motion of each vehicle model are solved by implementing them in a Simulink model. After that the calculated states, which resulted from the equations of motion of the vehicle model, are converted to positions and rotations of the different components in the virtual vehicle model. By connecting these translations and rotations to a VR Sink block, and connecting this block to a vehicle model in the virtual world, an animation of the vehicle model can be made.
2
Inhoudsopgave Symbolenlijst.........................................................................................................................................4 1 Inleiding.................................................................................................................................................5 1.1 Doel van het onderzoek ..............................................................................................................5 1.2 Inhoud van het verslag................................................................................................................5 2 De Virtual Reality Toolbox ...................................................................................................................6 3 Het kwart voertuigmodel .......................................................................................................................8 3.1 Introductie ..................................................................................................................................8 3.2 Theorie........................................................................................................................................8 3.3 Virtual Reality model .................................................................................................................9 3.4 Simulink model ........................................................................................................................ 10 3.5 Koppelen Simulink model met Virtual Reality model ............................................................. 10 3.6 Animaties eigentrillingen kwart voertuigmodel ....................................................................... 11 4 Het halve voertuigmodel ..................................................................................................................... 12 4.1 Introductie ................................................................................................................................ 12 4.2 Theorie...................................................................................................................................... 12 4.3 Virtual Reality model ............................................................................................................... 14 4.4 Simulink model ........................................................................................................................ 15 4.5 Koppelen Simulink model met Virtual Reality model ............................................................. 15 4.6 Eigentrillingen halve voertuigmodel ........................................................................................ 16 5 Het fietsmodel ..................................................................................................................................... 17 5.1 Introductie ................................................................................................................................ 17 5.2 Theorie...................................................................................................................................... 17 5.3 Virtual Reality model ............................................................................................................... 18 5.4 Simulink model ........................................................................................................................ 19 5.5 Koppeling Virtual Reality model en Simulink model .............................................................. 20 4.6 Opmerkingen bij de animaties van het fietsmodel.................................................................... 23 6 Conclusies en aanbevelingen............................................................................................................... 25 Literatuurlijst .......................................................................................................................................... 26 Bijlage 1 M-file met vrml-script kwart voertuigmodel........................................................................... 27 Bijlage 2 Simulink model bewegingsvergelijkingen kwart voertuigmodel............................................ 28 Bijlage 3 Simulink model berekenen componenten kwart voertuigmodel ............................................. 29 Bijlage 4 M-file berekenen eigentrillingen kwart voertuigmodel........................................................... 30 Bijlage 5 M-file met vrml-script half voertuigmodel ............................................................................. 31 Bijlage 6 Simulink model bewegingsvergelijkingen half voertuigmodel............................................... 32 Bijlage 7 Simulink model berekenen componenten half voertuigmodel ................................................ 33 Bijlage 8 M-file berekenen eigentrillingen half voertuigmodel.............................................................. 34 Bijlage 9 M-file met vrml-script fietsmodel ........................................................................................... 35 Bijlage 10 Simulink model bewegingsvergelijkingen fietsmodel .......................................................... 36 Bijlage 11 Simulink model berekenen componenten fietsmodel............................................................ 37
3
Symbolenlijst Symbool C1, C2 Fy Fy1, Fy2. Iy L V A B ds, ds1, ds2 ks, ks1, ks2 kt l m ma, ma1, ma2 ms r u v za, za1, za2 zs zr, zr1, zr2 α1 , α2 β δ φ ψ 1 2
Grootheid Bochtstijfheid Centrifugaal kracht Wrijvingskracht Massatraagheidsmoment Lengte wielbasis Snelheid massamiddelpunt Lengte massamiddelpunt-voorwiel Lengte achterwiel-massamiddelpunt Dempingconstante ophanging Veerstijfheid ophanging Bandstijfheid Lengte wielbasis Massa Onafgeveerde massa Massa chassis Hoeksnelheid Snelheid in langsrichting model Snelheid loodrecht op model Hoogte van onafgeveerde massa Hoogte chassis Hoogte wegprofiel Wielsliphoek Voertuigssliphoek Stuurhoek Rotatie chassis Rotatie massamiddelpunt Vooras Achteras
Eenheid N/rad N N kg/m2 m m/s m m Ns/m N/m N/m m kg kg kg rad/s m/s m/s m m m rad rad rad rad rad
4
1 Inleiding Voor het onderzoeken van het dynamische gedrag van voertuigen wordt veelal gebruik gemaakt van vereenvoudigde modellen, de zogenaamde voertuigmodellen. Aan de hand van deze modellen kunnen bewegingsvergelijkingen worden opgesteld, waaruit de verschillende onbekende toestanden van het model kunnen worden bepaald. Deze toestanden beschrijven het dynamische gedrag van het voertuig.
1.1 Doel van het onderzoek Voor extra inzicht in het dynamische gedrag van voertuigen, kunnen er animaties worden gemaakt van de voertuigmodellen. Maar hoe kunnen deze animaties precies gemaakt worden? Het doel van dit verslag en dit onderzoek is om daar een antwoord op te geven en verschillende animaties te maken voor verschillende voertuigmodellen. Deze animaties zullen vervolgens worden gebruikt in het college van het vak Oriëntatie Voertuigtechniek. Voor het maken van de animaties van de voertuigmodellen wordt gebruik gemaakt van de VR(Virtual Reality)-toolbox in Matlab.
1.2 Inhoud van het verslag In dit verslag komen er verschillende onderwerpen aan bod, die allemaal een rol spelen bij het maken van animaties van voertuigmodellen. Allereerst wordt in dit verslag ingegaan op de VR-Toolbox in Matlab, waarmee de animaties worden gemaakt. Vervolgens worden er twee voertuigmodellen: het kwart voertuigmodel en het halve voertuigmodel besproken, die het verticaal dynamische gedrag van een voertuig ten gevolge van een oneffen weg beschrijven. Bij deze twee modellen wordt eerst de theorie behandeld en vervolgens de stappen die nodig zijn voor het maken van een animatie van het model. Daarna komt er een derde model aan bod, het zogenaamde ‘fietsmodel’. Dit model wordt gebruikt om het bochtgedrag van een voertuig te beschrijven. Ook hier wordt eerst ingegaan op de theorie van het voertuigmodel en vervolgens wordt er besproken hoe een animatie van dit model tot stand komt. Ter afsluiting van dit verslag is een conclusie opgenomen, waarin alle belangrijke bevindingen van dit onderzoek zijn opgenomen en zullen er ook enkele aanbevelingen voor verder onderzoek worden geformuleerd.
5
2 De Virtual Reality Toolbox Voor het maken van animaties van voertuigmodellen wordt gebruik gemaakt van de Virtual Reality Toolbox in Matlab. Met behulp van deze toolbox kunnen 3-D modellen worden gebouwd, die vervolgens kunnen worden bestuurd, waardoor er een animatie wordt verkregen. Voordat er kan worden begonnen met het maken van een animatie van een bepaald voertuigmodel, moet dit model eerst geconstrueerd worden in een virtuele wereld. Dit gebeurt met een zogenaamd vrml-script. In dit script kunnen verschillende geometrieën worden gedefinieerd, zoals een kubus, kegel, bol enz., zie figuur 2.1. Deze geometrieën kunnen met behulp van dit script op een bepaalde positie worden gezet. Ook kunnen onder andere de afmetingen, rotaties, kleur en het middelpunt van een geometrie worden ingesteld.
figuur 2.1, verschillende geometrieën in de virtuele wereld
Door deze geometrieën met de juiste posities, afmetingen en rotaties in te geven in het script kan er een voertuigmodel in de virtuele wereld worden gebouwd. In het vrml-script moeten niet alleen de geometrieën worden gedefinieerd, maar ook de cameraposities die de gewenste aanzichten van het virtuele model vastleggen. Bij het maken van een model moet er wel worden opgelet dat er in de virtuele wereld gebruik wordt gemaakt van een ander assenstelsel dan het assenstelsel dat gebruikt wordt in Matlab. In het assenstelsel van de virtuele wereld is de y-richting gelijk aan de z-richting en de z-richting gelijk aan de –y-richting in het assenstelsel dat gebruikt wordt in Matlab, zie figuur 2.2. De x-richting is in beide assenstelsel wel gelijk (zie [1]).
figuur 2.2, links: Matlab coördinaten systeem, rechts vrml coördinaten systeem.
Voor het snel maken van een vrml-script kan Matlab van pas komen. In Matlab kunnen namelijk mfile’s worden aangemaakt die ieder het vrml-script bevatten van een andere geometrie. Daarbij kan er voor gekozen worden om bijvoorbeeld de positie en de rotatie van het model nog niet in deze m-file’s te definiëren. Het maken van het complete vrml-script kan vervolgens door in een m-file de m-file’s met het vrmlscript van de benodigde geometrieën aan te roepen. Ook de posities van deze verschillende componenten kunnen dan in deze grote m-file worden gedefinieerd. Op deze manier, die ook bij het maken van de voertuigmodellen wordt gebruikt, is het mogelijk om snel een model in de virtuele wereld aan te maken. Als een model goed is geconstrueerd in de virtuele wereld, kan er een animatie van het model worden gemaakt. Daarbij moeten waarden van de gewenste posities, rotaties enz. worden uitgestuurd naar het vrml-model. In het geval van de voertuigmodellen in dit onderzoek worden deze waarden bepaald door het oplossen van de bewegingsvergelijkingen van het voertuigmodel.
6
Het koppelen van deze waarden aan het model in de virtuele wereld gebeurt in Simulink. In Simulink moet hiervoor een model worden aangemaakt waarbij de gewenste waarden worden gekoppeld aan een VR Sink blok, zie figuur 2.3. In dit blok kan worden ingesteld aan welk model in de virtuele wereld, de waarden moeten worden gekoppeld, als ook welke posities en rotaties enz., gebruikt moeten worden voor het maken van een animatie. Hierdoor kunnen de verschillende geometrieën in het virtuele model worden bestuurd.
figuur 2.3, VR Sink blok
Natuurlijk kan het zo zijn dat er voor het maken van een animatie er alleen een translatie in één richting, in bijvoorbeeld de x-richting, van een geometrie moet worden ingevoerd. In het VR Sink blok moet de positie van een geometrie echter in alle drie de richtingen van het coördinatensysteem worden beschreven. In een dergelijke situatie kan er gebruik worden gemaakt van een VR Signal Expander, zie figuur 2.4. Dit blok zorgt ervoor dat alleen de posities van de richtingen van de geometrie die van belang zijn ingesteld hoeven te worden, terwijl de andere posities niet worden aangepast.
figuur 2.4, het VR Signal Expander blok
Door op juiste wijze gebruik te maken van deze blokken kunnen er animaties worden gemaakt van verschillende modellen. Deze manier is ook gebruikt voor het maken van animaties van de voertuigmodellen in dit onderzoek.
7
3 Het kwart voertuigmodel 3.1 Introductie Als bestuurder van een auto wil je natuurlijk zo min mogelijk merken van oneffenheden in de weg. Om daarvoor te zorgen dienen er goede keuzes gemaakt te worden voor de verschillende componenten in een auto. In dit hoofdstuk wordt de verticale dynamica van een auto bestudeerd. Dit wordt gedaan aan de hand van een model dat het kwart voertuigmodel wordt genoemd. Dit is het meest eenvoudige model van een auto, omdat het maar uit een paar componenten bestaat en alleen het verticale gedrag van de auto beschrijft. Allereerst zal in dit hoofdstuk de theorie van het kwart voertuigmodel worden beschreven. Hierin komen vooral de bewegingsvergelijkingen aan bod. Vervolgens is er een beschrijving van hoe het model in de virtuele wereld is gemodelleerd en daarna wordt er uitgelegd hoe de bewegingsvergelijkingen worden geïmplementeerd in Simulink. Daarna wordt besproken hoe de resultaten van het Simulink model worden gekoppeld aan het Virtual Reality model. Als laatste komen de eigentrillingen van het kwart voertuigmodel aan bod.
3.2 Theorie Het verticale dynamische gedrag van een rijdende auto op een weg kan worden geïllustreerd aan de hand van het kwart voertuigmodel, zie figuur 3.1. Het model bestaat uit vier verschillende onderdelen. Helemaal onderaan is er het wiel. Dit wiel rijdt op een wegprofiel met hoogte zr. De veerstijfheid van het wiel wordt weergegeven met een veer met stijfheid kt. . Het wiel heeft ook een massa aangegeven met ma en een verticale verplaatsing aangegeven met za . Het wiel staat in verbinding met het chassis door middel van een veer met stijfheid ks en een demper met dempingconstante ds . Het chassis zelf heeft een massa ms en een verticale verplaatsing zs. Ook wordt verondersteld dat het model met een snelheid V over de weg rijdt.
figuur 3.1, schets kwart voertuigmodel (zie [2])
De bewegingen van het model ten gevolge van het wegprofiel zijn te beschrijven aan de hand van de volgende bewegingsvergelijkingen.
ms &z&s = −k s ( zs − za ) + d s ( z&s − z&a ) ma &z&a = k s ( zs − za ) + d s ( z&s − z&a ) − kt ( za − zr )
(3.1) (3.2)
(zie [2]) Deze vergelijkingen moeten in Simulink worden geïmplementeerd, zodat de posities van alle componenten kunnen worden bepaald en gekoppeld kunnen worden aan het model in de virtuele wereld.
8
3.3 Virtual Reality model Zoals al eerder in dit verslag is gemeld, is de eerste stap van het maken van een animatie van een voertuigmodel, het maken van een 3D model met behulp van een vrml-script. Voor het maken van het kwart voertuigmodel in de virtuele wereld, is er gebruik gemaakt van 7 verschillende geometrieën, zie figuur 3.2, met ieder eigen afmetingen, rotaties en posities, zie tabel 3.1. In het vorige hoofdstuk is al opgemerkt dat het assenstelsel van de virtuele wereld anders is dan het assenstelsel dat in Matlab gebruikt wordt. Om ervoor te zorgen dat dit niet tot fouten leidt, is er in de vrml-scripts voor de verschillende geometrieën een aanpassing nodig. Dit houdt in dat de verschillende scripts zo zijn gemaakt dat de afmetingen, posities en rotaties ten opzichte van het Matlab assenstelsel kunnen worden gedefinieerd. Vervolgens worden deze waarden in de scripts omgezet naar waarden ten opzichte van het assenstelsel in de virtuele wereld. Het wiel van het kwart voertuigmodel is gemaakt door een cilinder met bepaalde afmetingen te modelleren en deze vervolgens op een bepaalde positie te plaatsen. De wielas is ook met behulp van een cilinder gemodelleerd, alleen is de straal van deze cilinder kleiner en ook is de hoogte van deze cilinder groter dan van het wiel. De demper is gemodelleerd met drie cilinders. Een kleine dunne cilinder wordt op de wielas geplaatst. Vervolgens wordt er een grotere en dikkere cilinder boven op deze kleine cilinder geplaatst. Als laatste wordt daar bovenop nog een derde lange en dunne cilinder geplaatst. De veer is gemaakt met behulp van een geometrie die extrusie wordt genoemd. Met deze geometrie kunnen allerlei vormen worden aangemaakt door het specificeren van punten in de ruimte. Het gebruiken van deze geometrie is vooral handig voor het maken van complexe vormen. De veer is in tegenstelling tot alle andere componenten al aangemaakt in de virtuele wereld en wordt daarom in het vrml-script niet aangemaakt maar geladen. Dit is ook de reden dat er geen afmetingen van de veer ingesteld kunnen worden. In plaats daarvan wordt de veer geschaald.Als laatste wordt, door middel van een rechthoek, het chassis nog gemodelleerd. Hoe dit voor dit model in een m-file is gedaan is te zien in bijlage 2.
figuur 3.2, het kwart voertuigmodel in virtual reality
Tabel 3.1, verschillende componenten met waarden van het kwart voertuigmodel
Component
Geometrie
Afmetingen [m]
Positie [m]
Wiel
cilinder
(0, 1, 0.3)
Wielas
cilinder
Demper
cilinder
Straal = 0.3 Hoogte = 0.2 Straal = 0.05 Hoogte = 1 Straal = 0.015 Hoogte = 0.08 Straal = 0.03 Hoogte = 0.12 Straal = 0.015 Hoogte = 0.15 (1, 0.9, 0.1)
cilinder cilinder Veer Chassis
extrusie box
(0, 0.5, 0.3) (0, 0.6, 0.34)
Rotatie [rad] 0.5*pi (x-as) 0.5*pi (x-as) -
Kleur blauw geel felgroen
(0, 0.6, 0.43)
-
oranje
(0, 0.6, 0.525)
-
felgroen
(0, 0.75, 0.45) (0, 0.45, 0.6)
-
rood groen/blauw
9
3.4 Simulink model Nadat het Virtual Reality model is gemaakt, dienen de bewegingen van het model te worden berekend. Dit wordt gedaan door de twee bewegingsvergelijkingen, vergelijking (3.1) en (3.2), in Simulink te implementeren en voor een bepaald wegprofiel en voor bepaalde parameters de onbekenden za en zs te bepalen. Hoe het Simulink model eruit ziet voor het kwart voertuigmodel is te zien in bijlage 3. In dit simulink model zijn de verschillende voertuigparameters opgenomen. De waarden van deze parameters worden gedefinieerd in een m-file en kunnen vervolgens worden geladen uit de Matlab workspace. Om het model op fouten te controleren, is er een tweede model gemaakt. Dit controlemodel maakt gebruik van de state space vorm van de bewegingsvergelijkingen, welke in een m-file worden geïmplementeerd. Door vervolgens de uitkomsten van beide modellen te vergelijken, kan worden geconcludeerd of er fouten in een van de modellen zitten.
3.5 Koppelen Simulink model met Virtual Reality model Nu in het Simulink model de positie van het wiel en de positie van het chassis is berekend, moeten de uitkomsten worden gekoppeld aan het Virtual Reality model. Het uitschrijven van de berekende waarden van het Simulink model naar het Virtual Reality model wordt, zoals eerder genoemd, gedaan met een VR-sink blok, zie figuur 3.3
figuur 3.3, VR Sink blok voor het kwart voertuigmodel
In de figuur is al te zien dat de verschillende componenten die zijn aangemaakt in het Virtual Reality model ieder op verschillende manieren worden aangestuurd. In dit geval is voor elke component een ingegeven translatie nodig. Dit is niet alleen de translatie in verticale richting, maar ook de translatie in horizontale richting, met andere woorden de positie van de auto ten gevolge van de snelheid V. Zoals te zien is in figuur 3.2 is een van de componenten van het Virtual Reality model een veer. Omdat deze veer tussen de twee massa’s zit geklemd wordt de veer niet alleen getransleerd, maar ook ingedrukt of uitgerekt. Daarom is in de VR Sink blok voor dit model ook de schaling van de veer (s1.scale) opgenomen. Ook de demper is tussen de twee massa’s geplaatst, maar omdat de demper uit drie verschillende onderdelen bestaat, namelijk drie cylinders (d1o, d1b, d1m), vindt er geen indrukking of uitrekking plaats. Het is nog belangrijk om te vermelden dat de uitkomsten van het Simulink model niet direct aan het VR Sink blok kunnen worden gekoppeld. Dit komt omdat de uitkomsten van het Simulink model alleen de translatie van het wiel en het chassis om een evenwichtspunt zijn. Voor een juiste animatie van het Virtual Reality model dient er dus voor elke component een beginpositie bij te worden opgeteld. Deze beginposities zijn de posities die zijn ingegeven bij het ontwerpen van het model, zie tabel 3.1. Ook de schaling van de veer moet eerst bepaald worden. Dit wordt gedaan door de positie van het chassis en van het wiel te bepalen en vervolgens het verschil te bepalen, wat dus de lengte van de veer is. De schaling is vervolgens te bepalen door deze lengte te delen door de initiële lengte van de veer. Hoe deze berekeningen zijn opgenomen in Simulink is te zien in bijlage 4. Nadat deze waarden aan het vrml-model gekoppeld zijn, kan de animatie worden bekeken en zo nodig kunnen vervolgens de verschillende modellen worden aangepast.
10
3.6 Animaties eigentrillingen kwart voertuigmodel Zoals al is gezegd, is in het kwart voertuigmodel een veer en een demper opgenomen. Deze veer en demper zorgen ervoor dat de bestuurder zo min mogelijk merkt van het wegprofiel. Maar deze veer zorgt ook voor eigentrillingen in het systeem, welke ook kunnen worden geanimeerd met behulp van het Virtual Reality model. Om dit te doen moeten eerst weer de translaties van het wiel en het chassis tijdens de eigentrillingen bepaald worden. Dit wordt gedaan door in een m-file de state-space matrices van het kwartmodel op te nemen en vervolgens de eigenfrequenties en eigenwaarden van het model te bepalen, zie bijlage 5. Hieruit volgen dan de translaties van het wiel en van het chassis en deze worden vervolgens direct gekoppeld aan het Simulink model met het VR Sink blok. Bij deze animaties wordt er dus geen gebruik gemaakt van het Simulink model met de bewegingsvergelijkingen. Deze aanpak levert twee verschillende animaties van de eigentrillingen van het kwart voertuigmodel. Deze eigentrillingen worden de ‘bounce mode’ en de ‘wheel hop mode’ genoemd. Bij de ‘bounce mode’ staat het wiel ongeveer stil en staat het chassis te trillen, zie figuur 3.4. Bij deze eigentrilling heeft de ongedempte eigenfrequentie een waarde van 1.095 Hz en de gedempte eigenfrequentie een waarde van 1.04 Hz. Bij de ‘wheel hop mode’ staat het chassis juist stil en is het wiel aan het trillen, zie figuur 3.4. Deze eigentrilling vindt plaats bij een ongedempte eigenfrequentie van 11.57 Hz en een gedempte eigenfrequentie met een waarde van 10.84 Hz.
figuur 3.4, eigentrillingen van het kwart voertuigmodel, links ‘bounce mode’, rechts ‘wheel hop mode’
11
4 Het halve voertuigmodel 4.1 Introductie In het vorige hoofdstuk is het kwart voertuigmodel aan bod gekomen. Het nadeel van dit model is dat het een erg minimaal resultaat geeft, namelijk alleen de verticale verplaatsingen. Daarom wordt er in dit hoofdstuk uitgegaan van een nieuw model, namelijk het halve voertuigmodel. Dit model is uitgebreider dan het kwart voertuigmodel, omdat er in dit model twee wielen zijn opgenomen. Het is in feit een doorsnede over de lengteas van een auto. In dit nieuwe model komen niet alleen de verticale verplaatsingen voor, maar ook een rotatie als gevolg van het verschillende gedrag van de twee wielen. In dit hoofdstuk zal grotendeels dezelfde indeling worden aangehouden als in het vorige hoofdstuk. Eerst wordt er iets verteld over de theorie met daarin de bewegingsvergelijkingen, dan komt het Virtual Reality model aan bod. Daarna wordt het Simulink model besproken en vervolgens wordt de koppeling tussen deze twee modellen besproken. Als laatste komen weer de eigentrillingen van het halve voertuigmodel aan bod.
4.2 Theorie Zoals te verwachten is, is het halve voertuigmodel een stuk complexer dan het kwart voertuigmodel, zoals te zien is in figuur 4.1. In deze figuur is te zien dat er in tegenstelling tot het kwart voertuigmodel er hier sprake is van drie massa’s met ieder een bepaalde verplaatsing. Deze massa’s bestaan uit het voorwiel met massa ma1 en verplaatsing za1, het achterwiel met massa ma2 en verplaatsing za2 en het chassis met massa ms en verplaatsing zs. Omdat er in dit model sprake is van twee wielen die ieder een bepaalde verplaatsing hebben, zal ook de rotatie φ en de massatraagheid Iy om het massamiddelpunt van het chassis een rol spelen. Verder is er nog het wegprofiel voor het voorwiel zr1 en voor het achterwiel zr2. De stijfheid van beide banden is gelijk, namelijk kt. Tussen de wielen en het chassis zitten net als bij het kwart voertuigmodel een veer en een demper. Voor het voorwiel is het een veer met stijfheid ks1 en een demper met dempingconstante ds1. Voor het achterwiel is de veerstijfheid ks2 en de dempingconstante ds2. Als laatste parameter is er nog de afstand tussen het voor-en achterwiel, gegeven door L. Ook is er de afstand van het achterwiel tot het massamiddelpunt b en tussen het massamiddelpunt en het voorwiel a. Ook dit model beweegt zich voort met een snelheid V over het wegprofiel.
figuur 4.1, schets halve voertuigmodel ( zie [2] )
12
De bewegingen van het halve voertuigmodel zijn te beschrijven aan de hand van de volgende vergelijkingen.
M&z& + Dz& + Kz = Fu
(4.1)
met
ms 0 M = 0 0
0 Iy
0 0
0 0
ma1 0
d s1 + d s 2 − d a + d b s1 s2 D= − d s1 − d s2
0 0 0 ma 2
(4.2)
− d s1a + d s 2 b 2
d s1a + d s 2 b d s1a − d s 2b
2
− k s1a + k s 2b k s1 + k s 2 − k a + k b k a 2 + k b 2 s2 s1 s2 K = s1 − k s1 k s1a − k s 2b − ks 2 0 0 F= kt 0
− d s1 d s1a d s1 0
− ds2 − d s 2 b 0 d s2
− k s1 − k s 2 k s1a − k s 2b k s1 0 0 ks 2
0 0 0 kt
(4.3)
(4.4)
(4.5)
(zie [2]) Deze matrix vergelijking is om te schrijven in een set van vier vergelijkingen:
ms &z&s + (d s1 + d s 2 ) z&s + (−d s1a + d s 2b)ϕ& − d s1 z&a1 − d s 2 z&a 2 + (k s1 + k s 2 ) zs + (−ks1a + ks 2b)ϕ − k s1 za1 − k s 2 za 2 = 0 I y ϕ&& + ( − d s 1 a + d s 2 b ) z& s + ( d s1 a 2 + d s 2 b 2 )ϕ& + d s1 a z& a 1 − d s 2 b z& a 2 +
(4.6)
(4.7)
( − k s1 a + k s 2 b ) z s + ( k s1 a 2 + k s 2 b 2 )ϕ + k s1 az a 1 − k s 2 bz a 2 = 0
ma1&z&a1 − d s1 z&s + d s1aϕ& + d s1 z&a1 − k s1 z s + k s1aϕ + (k s1 + kt ) za1 = kt zr1
(4.8)
ma 2 &z&a 2 − d s 2 z&s − d s 2bϕ& + d s 2 z&a 2 − k s 2 zs − k s 2bϕ + (k s 2 + kt ) za 2 = kt zr 2
(4.9)
waaruit de onbekenden za1, za2, φ en zs kunnen worden bepaald.
13
4.3 Virtual Reality model Net als bij het Virtual Reality model van het kwart voertuigmodel, is ook het Virtual Reality model van het halve voertuigmodel gemaakt met behulp van Matlab. In een m-file, zie bijlage 6, zijn weer de verschillende componenten, zoals veren, dempers, wielen en assen, opgenomen, met ieder een eigen positie, grootte en rotatie. Deze componenten zijn dezelfde als de componenten die bij het kwart voertuigmodel zijn gebruikt. Wel wordt iedere component nu, met uitzondering van het chassis, twee keer gebruikt (voor het voorwiel en voor het achterwiel). Door bij elke component de juiste waarde in te stellen kan het halve voertuigmodel worden gemodelleerd, zie figuur 4.2. De ingestelde waarden van de verschillende componenten zijn te vinden in tabel 4.1. Ook kunnen de verschillende componenten, net als bij het kwart voertuigmodel, gedefinieerd worden ten opzichte van het assenstelsel, dat in Matlab gebruikt wordt. De ingevulde waarden worden vervolgens in de scripts omgezet naar waarden ten opzichte van het assenstelsel in de virtuele wereld.
figuur 4.2, het halve voertuigmodel
Tabel 4.1, verschillende componenten met waarden van het halve voertuigmodel
Component
Geometrie
Wiel (achter)
cilinder
Wielas (achter) Demper (achter)
cilinder cilinder cilinder cilinder
Veer (achter) Wiel (voor)
extrusie cilinder
Wielas (voor)
cilinder
Demper (voor)
cilinder cilinder cilinder
Veer (voor) Chassis
extrusie box
Afmetingen [m] Straal = 0.3 Hoogte = 0.2 Straal = 0.05 Hoogte = 1 Straal = 0.015 Hoogte = 0.08 Straal = 0.03 Hoogte = 0.12 Straal = 0.015 Hoogte = 0.15 Straal = 0.3 Hoogte = 0.2 Straal = 0.05 Hoogte = 1 Straal = 0.015 Hoogte = 0.08 Straal = 0.03 Hoogte = 0.12 Straal = 0.015 Hoogte = 0.15 (1, 0.9, 0.1)
Positie [m] (0, 1, 0.3) (0, 0.5, 0.3) (0, 0.6, 0.34)
Rotatie [rad] 0.5*pi (x-as) 0.5*pi (x-as) -
Kleur donker grijs blauw felgroen
(0, 0.6, 0.43)
-
felgroen
(0, 0.6, 0.525)
-
rood
(0, 0.75, 0.45) (L, 1, 0.3)
(L, 0.6, 0.34)
0.5*pi (x-as) 0.5*pi (x-as) -
(L, 0.6, 0.43)
-
felgroen
(L, 0.6, 0.525)
-
rood
(L, 0.75, 0.45) (L/2, 0.45, 0.6)
-
geel licht grijs
(L, 0.5, 0.3)
geel donker grijs blauw felgroen
14
4.4 Simulink model Om de bewegingsvergelijkingen 4.6 tot en met 4.9 van het halve voertuigmodel op te lossen kan gebruik worden gemaakt van Simulink. Het Simulink model is in dit geval veel complexer dan het Simulink model van het kwart voertuigmodel, omdat er nu sprake is van vier bewegingsvergelijkingen. Hoe het Simulink model eruit ziet voor dit halve voertuigmodel is te zien in bijlage 7. Net als bij het kwart voertuigmodel worden de waarden van de parameters van dit model eerst gedefinieerd in een m-file en vervolgens geladen uit de Matlab workspace. Ook dit model moet gecontroleerd worden op fouten. Dit is gedaan door de state-space matrices te gebruiken, en hieruit direct de onbekende toestanden te bepalen. Als er geen fouten in een van de modellen zitten moeten beide modellen hetzelfde resultaat geven.
4.5 Koppelen Simulink model met Virtual Reality model Het koppelen van het Simulink model met het Virtual Reality model geschiedt, net als bij het kwart voertuigmodel, met een VR Sink blok, zie figuur 4.3. In dit geval is het aantal ‘input’- poorten veel groter, omdat het model ook over veel meer componenten beschikt. De signalen die in het VR Sink blok worden gestuurd, moeten eerst berekend worden. Dit wordt gedaan in een Simulink model, zie bijlage 8. De vier berekende waarden uit de bewegingsvergelijkingen, za1, za2, φ en zs, worden in dit model omgezet in de translaties en de rotaties van de verschillende componenten. Dit kan weer door gebruik te maken van de beginposities van het halve voertuigmodel, die in tabel 4.1 zijn weergegeven. Op te merken bij dit Simulink model is dat er gebruik is gemaakt van subsystemen om het geheel overzichtelijk te houden. Een verschil met het kwart voertuigmodel is dat er in dit geval niet alleen de translatie van twee wielen en het chassis, maar ook de rotatie van het chassis moet worden ingevoerd. Deze rotatie kan direct worden ingegeven door de parameter φ. Als alle waarden goed zijn berekend en gekoppeld zijn aan het VR-sink blok, kan de animatie worden gestart.
figuur 4.3, VR Sink blok voor het halve voertuigmodel
15
4.6 Eigentrillingen halve voertuigmodel De eigentrillingen van het halve voertuigmodel kunnen ook berekend worden. Dit wordt gedaan door de state-space matrices te gebruiken en daar de eigenwaarden en eigenvectoren uit te bepalen. Uit de kolommen met eigenvectoren kunnen vervolgens de waarden van de onbekende toestanden, za1, za2, φ en zs, horend bij de eigentrillingen worden bepaald. De eigenfrequenties kunnen worden bepaald aan de hand van de eigenwaarden van het model. Door vervolgens de berekende waarden van de toestanden uit te sturen naar het Simulink model met het VR Sink blok erin, kunnen de verschillende eigentrillingen worden gevisualiseerd in het Virtual Reality model. Dit is erg handig, want je kunt direct zien welke componenten betrokken zijn bij de verschillende eigentrillingen. De m-file voor het berekenen van de eigentrillingen van dit model is te zien in bijlage 9. Het gebruik van deze m-file levert vier verschillende eigentrillingen van model op. Deze eigentrillingen worden de ‘bounce mode’, de ‘pitch mode’, de ‘front wheel hop’ en de ‘rear wheel hop genoemd’, zie figuur 4.4. Ieder van deze eigentrillingen heeft een bepaalde eigenfrequentie. Bij de ‘bounce mode’ staan de wielen ongeveer stil en staat het chassis te trillen op de twee wielen. De ongedempte eigenfrequentie die hierbij hoort is 1.20 Hz en een gedempte eigenfrequentie van 1.16 Hz. Met de ‘pitch mode’ wordt het roteren van het chassis om een bepaald punt bedoeld. Ook hier staan de wielen ongeveer stil. De ongedempte eigenfrequentie van de ‘pitch mode’ is 1.35 Hz en de gedempte eigenfrequentie is 1.28 Hz. Bij de ‘front wheel hop’ en de ‘rear wheel hop’ staat het chassis stil, en trillen of het voorwiel of het achterwiel. De berekende ongedempte eigenfrequentie die bij de ‘front wheel hop’ hoort is 11.08 Hz en de gedempte eigenfrequentie is 10.59 Hz. Bij de ‘rear wheel hop’ hoort een ongedempte eigenfrequentie van 11.53 Hz en een gedempte eigenfrequentie van 11.13 Hz.
figuur 4.4, eigentrillingen halve voertuigmodel, linksboven: ‘bounce mode’, rechtsboven: ‘pitch mode’ rechtsonder: ‘rear wheel hop’, linksonder: ‘front wheel hop’
16
5 Het fietsmodel
5.1 Introductie Nadat in de vorige twee hoofdstukken uitvoerig het dynamische gedrag van een voertuig op een oneffen wegprofiel is onderzocht, zal in dit hoofdstuk een ander dynamisch gedrag van een voertuig aan bod komen. Namelijk het dynamische gedrag van een voertuig tijdens het nemen van bochten. Om de het bochtgedrag van een voertuig eenvoudig te simuleren wordt verondersteld dat de hoogte van het voertuig niet van belang is, met andere woorden, het model kan in een horizontaal vlak worden geanimeerd. Voor het voertuig wordt er een eenvoudig model opgesteld, namelijk het ‘fietsmodel’. Dit model bestaat uit drie onderdelen: het chassis, dat gevisualiseerd wordt door een balk, de voorwielen en de achterwielen, welke beide worden gemodelleerd als een enkel wiel. In dit hoofdstuk zal eerst de theorie aan bod komen met de bewegingsvergelijkingen van het fietsmodel. Daarna zal het maken van een Virtual Reality model behandeld worden en vervolgens het Simulink model. In het Virtual Reality model zijn ook verschillende vectoren gemodelleerd. Als laatste is er nog de koppeling tussen het Simulink model en het Virtual Reality model.
5.2 Theorie Zoals al vermeld is, bestaat het fietsmodel uit drie onderdelen: het achterwiel, het chassis en het voorwiel, zie figuur 5.1.
figuur 5.1, schets fietsmodel (zie [3])
In deze figuur zijn een aantal relevante parameters aangegeven. Te zien is dat de lengte tussen voor- en achterwiel gegeven is door l, de lengte tussen het achterwiel en het massamiddelpunt gegeven is door b en de lengte tussen het massamiddelpunt en het voorwiel gegeven is door a. De massa van het voertuig zit geconcentreerd in het massamiddelpunt en heeft een massa m. Verder is in de figuur te zien dat het model een hoeksnelheid r en een snelheid V heeft, beide werkend op het massamiddelpunt. De snelheid V kan worden ontbonden in een snelheid u in de langsrichting van het model en een snelheid –v haaks op het model. Verder is er een hoek δ, wat de stuurhoek is van het voorwiel. Tijdens het rijden van een bocht werkt er een centrifugaal kracht op het voertuig. Om ervoor te zorgen dat het voertuig op de weg blijft, moeten er dus reactiekrachten zijn in tegengestelde richting. Deze reactiekrachten worden veroorzaakt door de wrijving tussen de wielen en de weg. In dit model zijn de reactiekrachten weergegeven met Fy1 en Fy2. Als laatste zijn in de figuur nog twee hoeken, α1 en α2, te zien welke de sliphoeken voorstellen van respectievelijk het voorwiel en het achterwiel. Niet aangegeven in de figuur is de voertuigssliphoek β, wat de hoek tussen de snelheidsvector V en de langsas van het model is. Bij dit model wordt er verondersteld dat de voertuigssliphoek β, klein is. Hieruit volgt dat de snelheid V gelijk is aan de snelheid u.
17
De bewegingen van het fietsmodel kunnen aan de hand van de twee onderstaande vergelijkingen worden beschreven:
m(v& + ur ) = Fy1 + Fy 2
(5.1)
Ir& = aFy1 − bFy 2
(5.2)
waarin Fy1 en Fy2 worden gegeven door:
Fy1 = C1α1
(5.3)
Fy 2 = C2α 2
(5.4)
In deze vergelijkingen komen C1 en C2 voor, welke de bochtstijfheden voorstellen voor het voor- en achterwiel met eenheid N/rad. Ook komen de twee sliphoeken ( zie figuur 5.1 ) voor welke berekend kunnen worden met onderstaande vergelijkingen.
1 u
α1 = ∂ − (v + ar ) 1 u
α 2 = − (v − br )
(5.5) (5.6)
Door substitutie van deze vergelijkingen zijn de twee onbekenden v& en r& , uit vergelijking (5.1) en (5.2), te berekenen. Integratie van deze twee waarden geeft vervolgens de snelheid v en de hoeksnelheid r. Als deze twee waarden bekend zijn, kan met de onderstaande formules de snelheden in x en y richting worden bepaald.
x& = u cos(ψ ) − v sin(ψ ) y& = u sin(ψ ) + v cos(ψ )
(5.7) (5.8)
(zie [3]) In deze formules is ψ de primitieve van r, en u is een vooraf gedefinieerde voorwaartse snelheid van het voertuigmodel. Aan de hand van deze set vergelijkingen kunnen vervolgens alle posities van het fietsmodel worden bepaald.
5.3 Virtual Reality model Net als bij de voorgaande modellen is het van belang om, na het invoeren van de gegeven parameters, een Virtual Reality model te maken. Bij het maken van dit model is echter een ander assenstelsel gebruikt dan in de voorgaande modellen, zie figuur 5.1. In deze figuur zijn alleen de x-as en y-as aangegeven, maar uit deze twee richtingen volgt dat de z-as het papier in gericht is. In dit fietsmodel worden de verschillende componenten aangemaakt ten opzichte van dit assenstelsel. Vervolgens worden, net als bij het kwart en halve voertuigmodel, in de scripts de waarden omgezet naar waarden ten opzichte van het assenstelsel in de virtuele wereld. Zoals eerder is vermeld, is dit model opgebouwd uit een chassis en een voor-en achterwiel. Maar in tegenstelling tot voorgaande modellen zijn in dit model (zie figuur 5.2) ook verschillende vectoren gemodelleerd, te weten V (licht blauw), Fy1, Fy2 (beide groen) α1, α2 (beide geel) en de centrifugaal kracht Fy (magenta) werkend op het massamiddelpunt. Om deze verschillende componenten te modelleren, is er een m-file gebruikt, zie bijlage 10, waarin ze allemaal met positie, grootte en rotatie zijn gedefinieerd. Hieronder zijn de belangrijkste waarden neergezet.
18
Het chassis is gemodelleerd met een lengte l en is vervolgens getransleerd met 0.5l-b (beide in horizontale richting). Hierdoor komt het massamiddelpunt op de oorsprong van het vaste assenstelsel te liggen. Het achterwiel is gepositioneerd op een afstand –b en het voorwiel op een afstand van a, in de horizontale richting ten opzichte van de oorsprong. Het model is, omdat de z-richting niet belangrijk verondersteld is, opgebouwd uit allemaal rechthoeken met een minimale hoogte. Ook de vectoren zijn gemodelleerd met behulp van rechthoeken. Verder is ook het massamiddelpunt gemodelleerd. Dit is gedaan met een kleine zwarte cilinder, die op de oorsprong van het vaste assenstelsel is gepositioneerd.
figuur 5.2, Virtual Reality model van het fietsmodel
Een manier om het bochtgedrag te bestuderen is om het model een bocht met een vaste straal te laten rijden. Om te verduidelijken hoe het model zich precies in deze bocht gedraagt, is het handig om ook de bocht te modelleren. Dit wordt gedaan door een zwarte cilinder, met behulp van een extrusie, te modelleren, met een straal iets groter dan de van tevoren gedefinieerde straal van de bocht die het voertuig moet rijden, en een minimale hoogte in de z-richting (kleiner dan de hoogte van het model). Vervolgens moet er dan een witte cilinder worden gemodelleerd, met een straal die iets kleiner is dan de straal van de bocht die moet worden gereden. Ook dient de hoogte van deze cilinder iets groter te zijn dan de hoogte van de zwarte cilinder, maar nog altijd kleiner dan de hoogte van het model. Omdat het gehele xy-vlak wit gekleurd is, zal er dan alleen een zwarte cirkel met de straal van de bocht te zien zijn. Bij het maken van deze cirkel worden in het vrml-script geen gewone cilinders gebruikt, omdat deze bij een grote straal niet meer precies rond zijn. Door het maken van een cilinder met behulp van een extrusie kan het aantal punten worden ingesteld, zodat de cirkel ronder wordt.
5.4 Simulink model Na het maken van het Virtual Reality model, dient het Simulink model gemaakt te worden. Dit model is bedoeld om met behulp van de twee bewegingsvergelijkingen de twee onbekende toestanden (v, r) te bepalen. Het Simulink model dat hierbij gemaakt is, is te zien in Bijlage 11. Voor het doorrekenen van het model in Simulink, dienen eerst alle parameters gespecificeerd te zijn. Dit wordt gedaan in een m-file. Hierin is een structure aangemaakt, met alle bekende parameters erin. In het Simulink model kunnen, als de m-file is doorgerekend, alle bekende parameters worden opgeladen uit de workspace van Matlab. In dit geval moeten niet alleen de twee onbekende versnellingen uitgestuurd worden, maar ook de parameters die de lengte en richting van de vectoren bepalen, Fy1, Fy2, α1, α2 en β. Deze parameters worden in het Simulink model met een ‘to workspace’-blok opgeslagen in een structure, die weer door andere Simulink modellen kan worden opgevraagd. Het controleren van het model is gedaan aan de hand van figuren uit de literatuur (zie [3]). Hiervoor is er een stap gebruikt als ingang voor de stuurhoek δ, met dezelfde stapwaarde als in de figuren uit de literatuur. Vervolgens zijn er aan de hand van de resultaten van het Simulink model ook grafieken gemaakt, die vergeleken zijn met de grafieken in de literatuur.
19
5.5 Koppeling Virtual Reality model en Simulink model Als laatste stap komt ook voor dit model het koppelen van het Virtual Reality model met het Simulink model. Voor deze koppeling wordt een apart Simulink model, zie bijlage 12, gemaakt met daarin een VR Sink blok, dat de signalen uitstuurt naar het Virtual Reality model. Omdat er voor gekozen is om in de animatie ook vectoren op te nemen, zullen er veel signalen gekoppeld moeten worden aan het VR Sink blok. Voordat de signalen gekoppeld kunnen worden aan het Virtual Reality model, dienen de signalen eerst aangepast te worden. Uit het Simulink model met de bewegingsvergelijkingen volgen de snelheden v en r. Uit r kan, door integratie, vervolgens ψ worden bepaald. Omdat in het Virtual Reality model alle bewegingen beschreven dienen te worden ten opzichte van een vast assenstelsel, moeten de berekende snelheden uit het Simulink model met de bewegingsvergelijkingen eerst omgerekend worden. Dit komt omdat de twee snelheden, die daar worden berekend, zijn uitgedrukt in een lokaal assenstelsel dat meedraait met het model. Voor omrekenen van deze parameters kan gebruik worden gemaakt van een zogenaamde rotatiematrix. Dit is een matrix die de rotatie beschrijft tussen twee verschillende assenstelsels. In dit geval is er voor gekozen om, voor het bepalen van de positie van het chassis en de wielen, vier verschillende assenstelsels te beschouwen, zie figuur 5.3.
figuur5.3, schets fietsmodel met assenstelsels
Het eerste assenstelsel is het vaste assenstelsel, dat in de figuur zwart gekleurd is. Het tweede assenstelsel (groen) is gepositioneerd in het massamiddelpunt en draait met het model mee. Het derde en vierde assenstelsel (blauw) zijn, net als het tweede assenstelsel, lichaamsgebonden en zijn gepositioneerd in het middelpunt van het voor- en achterwiel. Te zien is dat alleen de x en de y richting van belang is, omdat de z richting bij alle assenstelsels in het papier gericht is. De snelheid v, die uit het Simulink model volgt is gericht langs de as y2. Ook de richting van snelheid u, die van tevoren moet worden gedefinieerd is afhankelijk van het model en is gericht langs de x2-as. De snelheid is dus nu te schrijven als:
r r2 v = [u v]e
(5.9)
r2
waarin e het tweede assenstelsel, [x2 y2]T , voorstelt. Om de snelheid uit te drukken in termen van het eerste assenstelsel wordt gebruik gemaakt van de volgende relatie. 21 r 1 x& y& = [u v] A e
(5.10)
20
21
In deze formule is A de rotatiematrix, tussen het tweede en het eerste assenstelsel. Deze rotatiematrix, is te schrijven als: 21 cos(ψ ) sin(ψ ) A = − sin(ψ ) cos(ψ )
(5.11)
Door dus de twee snelheden u en v in een kolom te plaatsen en vervolgens te vermenigvuldigen met de rotatiematrix, worden de snelheden x& y& uitgedrukt ten opzichte van het eerste (vaste) assenstelsel. Merk op dat als dit wordt gedaan, er dezelfde vergelijkingen ontstaan als vergelijking (5.7) en (5.8) Door deze snelheden te integreren wordt vervolgens de positie van het massamiddelpunt ten opzichte van het vaste assenstelsel beschreven. Uit deze positie kunnen alle posities van de componenten bepaald worden. Voor de positie van het chassis komt er wel een constante beginwaarde bij, wat de afstand is tussen de oorsprong van het vaste assenstelsel en de positie van het massamiddelpunt. Dit moet worden gedaan omdat in de initiële toestand van het model, het massamiddelpunt niet op dezelfde plaats is gepositioneerd als het vaste assenstelsel dat gebruikt wordt. Deze afstand is gegeven door 0.5lb en is ook al gebruikt in het maken van het Virtual Reality model.
[
]
Ook de posities van het voor- en het achterwiel kunnen met behulp van een rotatiematrix worden bepaald. Om de positie van het achterwiel ten opzichte van het vaste assenstelsel te berekenen moet de initiële afstand [-b 0]T ten opzichte van het tweede assenstelsel vermenigvuldigd worden met de rotatiematrix (5.11). Door vervolgens dit op te tellen bij de positie van het massamiddelpunt wordt de positie van het achterwiel bepaald. De positie van het voorwiel kan op dezelfde manier worden bepaald, maar nu is de afstand tot het massamiddelpunt van het chassis [a 0]T ten opzichte van het tweede assenstelsel. Ook dienen de posities van de vectoren en de cilinder, die de plaats van het massamiddelpunt weergeeft ingegeven te worden. De positie van deze cilinder is precies op het massamiddelpunt. Deze positie was als eerste al uitgerekend en kan dus direct gebruikt worden om de positie van deze cilinder vast te leggen. De posities van de verschillende vectoren moeten op een andere manier worden bepaald, omdat ze bijna allemaal een bepaalde hoek hebben met het model en daarom hun middelpunt buiten het model hebben liggen. De positie van de vector Fy2 is niet vooraf te bepalen, omdat de vector tijdens het runnen van het model geschaald wordt. Daarom moet telkens het middelpunt van de vector worden bepaald. Als dit is gebeurd kan de positie van de vector worden beschreven door [0 mp ]T,waarin mp het middelpunt is, ten opzichte van het derde assenstelsel. Door dit te vermenigvuldigen met de rotatiematrix (5.11) en het geheel op te tellen bij de positie van het achterwiel ten opzichte van het vaste assenstelsel, wordt de positie van de vector vastgelegd. Het schalen van deze vector wordt gedaan door de berekende waarde van Fy2 te delen door 10000. De schaal van deze vector is dan 1:10000. Het middelpunt van deze vector kan dan eenvoudig worden bepaald door de helft van de lengte van de geschaalde vector te nemen. De positie van vector Fy1 is op ongeveer dezelfde wijze te bepalen. Ook bij deze vector kan de positie worden geschreven als [0 mp ]T ten opzichte van het vierde assenstelsel. De rotatie van het vierde assenstelsel is echter niet hetzelfde als de rotatie van het tweede assenstelsel. In dit geval is de rotatie gegeven door ψ+δ waardoor de rotatiematrix anders is dan die van vergelijking (5.11). 41 cos(ψ + δ ) sin(ψ + δ ) A = − sin(ψ + δ ) cos(ψ + δ )
(5.12)
Door vervolgens de vector [0 mp ]T te vermenigvuldigen met deze rotatiematrix, en dit op te tellen bij de positie van het voorwiel, wordt de positie van de vector Fy1 vastgelegd. Het schalen en het bepalen van het middelpunt van deze vector kan op precies dezelfde wijze worden gedaan als bij de vector Fy2 is gedaan.
21
De lengte van de vector Fy kan bepaald worden door de lengte van de twee vectoren Fy1 en Fy2 op te tellen. De positie van Fy kan op ongeveer gelijke wijze worden bepaald. De afstand [0 -mp ]T ten opzichte van het tweede assenstelsel moet hiervoor vermenigvuldigd worden met de rotatiematrix (5.11) en dit moet opgeteld worden bij de positie van het massamiddelpunt van het model. De schaling en het middelpunt kunnen weer op dezelfde wijze worden bepaald als bij de vorige twee vectoren. De vector die de snelheid in het massamiddelpunt aangeeft is de vector V (zie figuur 5.1). Deze vector geeft een geschaalde waarde van de snelheid V aan. De schaal van deze vector is 1:25 die in de m-file van het Virtual Reality model al is ingesteld, omdat V van tevoren al gegeven is. Het middelpunt van deze snelheidsvector ligt buiten het model omdat V onder een hoek β staat met het chassis. Voor het uitrekenen van de positie van V moet er een vijfde assenstelsel worden geïntroduceerd. Dit assenstelsel maakt dan een hoek β ten opzichte van het tweede assenstelsel. Ook komt er een andere rotatiematrix namelijk: 51 cos(ψ − β ) sin(ψ − β ) A = − sin(ψ − β ) cos(ψ − β )
(5.13)
De positie het middelpunt van de vector is dan gegeven door [V/50 0]T (initiële vector heeft lengte 100) ten opzichte van het vijfde assenstelsel. Deze vector moet vervolgens vermenigvuldigd worden met de rotatiematrix (5.13). De uitkomst dient opgeteld te worden bij de berekende positie van het massamiddelpunt. r r De laatste twee vectoren, α 1 , α 2 geven de snelheid weer ter hoogte van de voor- en achteras. De hoeken die deze snelheidsvectoren maken met het wielvlak zijn gegeven door α1 en α2 voor r respectievelijk de vooras en de achteras . Om de positie van α 2 te bepalen, moet eerst de lengte van deze vector worden bepaald. Deze lengte is afhankelijk van de snelheid u van het achterwiel en de hoek r α2, die de vector met het wielvlak maakt. De lengte van de vector α 2 wordt dan gegeven door:
r
α2 =
u cos(α 2 )
(5.14)
r
De positie van deze vector is gegeven door de afstand [0.5* α 2 0]T tot een zesde assenstelsel, dat een hoek maakt van α2 met het derde assenstelsel. Ook kan dit worden omgeschreven naar een uitdrukking ten opzichte van het vaste assenstelsel. Dit gebeurt door de afstand ten opzichte van het zesde assenstelsel te vermenigvuldigen met de rotatiematrix die de rotatie van dit assenstelsel beschrijft ten opzichte van het eerste assenstelsel. Deze rotatiematrix is gegeven door: 61 cos(ψ − α 2 ) sin(ψ − α 2 ) A = − sin(ψ − α 2 ) cos(ψ − α 2 )
(5.15)
De uitkomst hiervan moet opgeteld worden bij de positie van het achterwiel. r De positie van de vector α 1 moet op een andere wijze worden berekend. Allereerst moet, omdat de vector op het voorwiel aangrijpt, in plaats van de rotatiematrix (5.14), een andere rotatiematrix worden gebruikt. Deze rotatiematrix beschrijft de rotatie van een zevende assenstelsel ten opzichte van het eerste assenstelsel. De rotatiematrix is gegeven door: 71 cos(ψ + δ − α1 ) sin(ψ + δ − α1 ) A = − sin(ψ + δ − α1 ) cos(ψ + δ − α1 )
(5.16)
22
r r r Ook is de lengte van de vector α 1 niet gelijk aan de lengte van de vector α 2 . De lengte van α 1 is, net r zoals bij de vector α 2 , afhankelijk van de snelheid u en de hoek tussen deze snelheid en het wielvlak r van het voorwiel. Deze hoek wordt nu gegeven door δ − α1 . De lengte van de vector α 1 is dan te bepalen door:
r
α1 =
u
(5.17)
cos(δ − α1 )
r
Door de afstand tot het middelpunt [0.5* α1 0]T te vermenigvuldigen met de rotatiematrix (5.16) en bij deze uitkomst de eerder berekende positie van het voorwiel op te tellen, is de positie van r α 1 vastgelegd. Het enige dat nu nog ontbreekt, zijn de rotaties van alle componenten. Deze kunnen worden beschreven aan de hand van figuur 5.1 en figuur 5.3. In figuur 5.3 is te zien dat de rotatie van het chassis en het voorwiel ψ is ten opzichte van de horizontale as. Ook is te zien dat de rotatie van het voorwiel ten opzichte van de horizontale as ψ+δ is. In figuur 5.1 is te zien dat de rotatie van vectoren Fy2 en Fy (in dezelfde richting werkend als –v) gelijk is aan ψ. De rotatie van de vector Fy1 met de horizontale as is hetzelfde als de rotatie van het voorwiel met de horizontale as (ψ+δ). De vector V maakt een hoek met de horizontale as van ψ+β, omdat β linksom positief is gedefinieerd . Als laatste is er nog de vector α1 waarvan de rotatie gegeven is door ψ+ α1 en de vector α2 waarvan de rotatie gegeven is door ψ+α1 . Deze rotaties zijn, zoals te zien is in figuur 5.1, allemaal om de z-as. Door de berekende waarden vervolgens aan het VR Sink blok te koppelen kan een animatie van het ‘fietsmodel’ worden gemaakt.
4.6 Opmerkingen bij de animaties van het fietsmodel Aan de hand van het fietsmodel kunnen verschillende animaties worden gemaakt. In dit onderzoek is er voornamelijk gekeken naar het rijden van een bocht met een vaste straal. Deze straal wordt van tevoren ingesteld, en daaruit kan vervolgens de stuurhoek δ worden bepaald volgens vergelijking (5.18) (zie [3]).
δ=
l mV 2 a b − − R Rl C2 C1
(5.18)
Door deze stuurhoek met de andere parameters in het Simulink model te laden, moet er in de animatie ook te zien zijn dat het model een cirkel met straal R rijdt. Als er een animatie van het fietsmodel dat een bocht rijdt wordt gemaakt, blijkt echter dat het model niet precies de vooraf gedefinieerde straal rijdt. Vooral bij hogere snelheden (30 m/s) is de straal al snel 1.5 m groter. De oorzaak van het groter worden van de straal van de bocht is te wijten aan een veronderstelling die in het begin is gemaakt. Er is namelijk verondersteld dat de snelheid V gelijk is aan de snelheid u. Maar als de snelheid van het fietsmodel erg groot wordt zal β zo groot worden dat deze veronderstelling niet meer klopt en u dus wel degelijk kleiner zal zijn dan V. Bij deze hoge snelheden is er echter nog een opmerking te maken. Bij dit model is er vanuit gegaan dat de krachten Fy1,Fy2, die beide door de wrijving van de banden met de weg worden opgewekt, oneindig groot kunnen worden, zie vergelijking 5.3 en 5.4. Hierdoor zal het zo zijn dat het voertuig zelfs bij hele hoge snelheden niet uit de bocht kan vliegen, wat niet realistisch is. Uit de literatuur (zie [3]) is te concluderen dat de benadering van de krachten Fy1,Fy2, vanaf een versnelling ay = 4 m/s2 niet meer geldig is.
23
De bijbehorende snelheid van het voertuig is dan te berekenen met vergelijking (5.19)
V = Ra y
(5.19)
Hieruit volgt met, R = 40 m en ay = 4 m/s2, een maximaal toelaatbare snelheid V waarbij het model nog geldig is van 12.65 m/s. In principe maakt het dus in dit geval niet uit of de straal bij een snelheid van 30 m/s niet meer klopt, omdat het model dan toch niet meer geldig is. Een andere opmerking is dat er in de animaties inschakelverschijnsels een rol spelen. Afhankelijk van de vooraf ingestelde parameters, duurt het namelijk een bepaalde tijd voordat de auto daadwerkelijk een cirkel met vaste straal rijdt. Hierdoor komt de geanimeerde bocht dus telkens op een andere plaats in de ruimte te liggen.
24
6 Conclusies en aanbevelingen In dit project is er onderzoek gedaan naar het maken van 3D animaties van voertuigmodellen. Door gebruik van deze animaties kan er extra inzicht worden gekregen in het dynamische gedrag van voertuigen. Bij het maken van deze animaties dienen er achtereenvolgens verschillende stappen te worden genomen. De eerste stap die moet worden genomen is het modelleren van een 3D voertuigmodel in de virtuele wereld. Dit kan worden gedaan door gebruik te maken van een vrml-script. Hierin kunnen verschillende geometrieën worden gedefinieerd en door deze op de goede positie te plaatsen kan een voertuigmodel worden opgebouwd. De volgende stap die moet worden genomen is het bepalen van de onbekende toestanden van het voertuigmodel. In dit geval is dit gedaan door de bewegingsvergelijkingen van het voertuigmodel in Simulink te implementeren en vervolgens bij bekende parameters de onbekende toestanden te bepalen. Als deze toestanden berekend zijn, zijn alle gegevens over een voertuigmodel compleet. Dan kan er begonnen worden met het bepalen van de posities, rotaties enz. van alle geometrieën die gedefinieerd zijn in het vrml-script. Ook dit wordt gedaan in een Simulink model. Als laatste stap moeten de berekende posities van de verschillende geometrieën worden gekoppeld aan het model in de virtuele wereld. Dit wordt gedaan door een VR Sink blok te gebruiken. Dit blok kan worden gekoppeld aan een model in de virtuele wereld. Ook is in te stellen welke posities, rotaties en dergelijke van belang zijn bij het maken van een animatie. Door vervolgens verschillende berekende waarden van de geometrieën te koppelen aan het VR Sink blok, wordt een animatie verkregen. In dit verslag is dit gedaan voor drie verschillende modellen: het kwart voertuigmodel, het halve voertuigmodel en het fietsmodel. Het kwart en het halve voertuigmodel worden beide gebruikt voor het bestuderen van de verticale dynamica van een voertuig op een oneffen weg. Het maken van de animaties van deze modellen leverde weinig problemen op. Ook de animaties van de eigentrillingen van deze modellen zien er goed uit. Bij de animaties van het fietsmodel zijn er wel een paar opmerkingen te plaatsen. Bij het rijden van een bocht met constante straal, bleek namelijk dat in de animatie deze straal niet hetzelfde was als de vooraf ingestelde straal. De oorzaak hiervan was de veronderstelling dat de snelheid u gelijk was aan V, maar bij grote snelheden bleek dit niet meer geldig. In dit model is dat echter geen groot probleem omdat het model maar geldig is tot een snelheid van V=12.65 m/s. Deze beperking in snelheid komt voort uit de aanname dat de krachten die worden veroorzaakt door wrijving tussen de banden en de weg oneindig groot kunnen worden. Maar in werkelijkheid zal het voertuig bij een te hoge snelheid wel degelijk uit de bocht vliegen. Als laatste is er nog op te merken dat er bij de animaties van het fietsmodel inschakelverschijnsels optreden. Tot slot kan er geconcludeerd worden dat het maken van animaties met behulp van de VR Toolbox in Matlab goed mogelijk is en dat deze animaties ook extra inzicht geven in het dynamische gedrag van voertuigen. Natuurlijk zijn er voor verder onderzoek nog verschillende aanbevelingen te doen, vooral met betrekking tot het fietsmodel. In dit onderzoek is namelijk alleen het rijden van bochten met een vaste straal bestudeerd, maar voor verder onderzoek kunnen ook andere animaties worden gemaakt. Denk hierbij aan een voertuig dat rechtdoor rijdt en vervolgens ineens moet uitwijken voor een andere auto. Ook zijn er nog heel veel andere voertuigmodellen die geanimeerd kunnen worden. Denk hierbij aan een voertuig dat niet alleen met de voorwielen maar ook met de achterwielen stuurt, of een auto met een aanhanger die een bocht neemt, etc.
25
Literatuurlijst [1]
Website: http://wp.netscape.com/eng/live3d/howto/vrml_primer_body.html, bezocht in maart 2006
[2]
Baert, R.S.G., Besselink, I.J.M., Luijten, C.C.M., Meijlink, T.J.J., Schmeitz, A.J.C., Veenhuizen, P.A., Wismans, J.S.H.M., Witteman, W.J. Introduction to Automotive Technology (4N820). Technische Universiteit Eindhoven, faculteit Werktuigbouwkunde, Eindhoven, Nederland, 2006.
[3]
Besselink, I.J.M., college sheets, Vehicle Dynamics (4L150). Technische Universiteit Eindhoven, faculteit Werktuigbouwkunde, Eindhoven, Nederland, 2003.
26
Bijlage 1 M-file met vrml-script kwart voertuigmodel filename='qcarml.wrl' fid = fopen(filename,'w'); wrl_header1(fid); % aanmaken camera posities wrl_random_road(fid); % aanmaken wegprofiel wrl_tyre(fid,'tyre1' ,[ 0 1 0.3],0.3,0.2); % aanmaken wiel wrl_cylinder(fid,'axle',[0 0.5 0.3],[0 0 1],0.05,1); % aanmaken as wrl_damping(fid,'dampingunder',[ 0 0.6 0.34],[0 1 0],0.015,0.08); % aanmaken demping onder wrl_damping(fid,'dampingmiddle',[ 0 0.6 0.43],[0 1 0],0.03,0.12); % aanmaken demping midden wrl_spring(fid,'spring1',[ 0 0.75 0.45],[0.001 0.001 0.0015]);
% aanmaken veer
wrl_damping(fid,'dampingupper',[ 0 0.6 0.525],[1 0 0],0.015,0.15); % aanmaken demping boven wrl_box(fid,'chassis',[0 0 0],[0 0.45 0.6],[0.9 0.9 0.9],[1 0.9 0.1]); % aanmaken chassis wrl_trailer1(fid); % gelijkstellen translaties verschillende cameraposities fclose(fid);
27
Bijlage 2 Simulink model bewegingsvergelijkingen kwart voertuigmodel
28
Bijlage 3 Simulink model berekenen componenten kwart voertuigmodel
29
Bijlage 4 M-file berekenen eigentrillingen kwart voertuigmodel global PARA format long i_vehicle=1; PARA=[1 1 1 1 1];
L = 1;
% lengte van het chassis voor een VR model
[VPARA] = Veh_par(i_vehicle); % laden van de parameters [A,B,C,D]=quarter_vehicle_model(VPARA); % laden van de state space matrices % make VR model modesqcar_wrl % **************************************** sys=ss(A,B,C,D); [V,D] = eig(A,'nobalance'); % bepalen eigenwaarden van het systeem [dummy,I]=sort(diag(D)); % sorteren eigenwaarden for n=1:length(I), % eigenwaarden en eigenvectoren in nieuwe matrix zetten VV(:,n)=V(:,I(n)); DD(n,n)=D(I(n),I(n)); end D=DD; V=VV; fss = abs(diag(D))/(2*pi); % bepalen eigenfrequenties en demping ratio fds = abs(imag(diag(D)))/(2*pi); Zs = -real(diag(D))./abs(diag(D)); mns=1:4; for modenr=1:1:length(mns), mn=mns(modenr); if modenr==1, SF=0.3; % SF = schaalfactor elseif modenr==2, SF=0.3; elseif modenr==3, SF=2; elseif modenr==4, SF=2; end omega=abs(D(mn,mn)); fs=fss(mn); % ongedempte eigenfrequentie fd=fds(mn); % gedempte eigenfrequentie Z=Zs(mn); % Demping ratio T=1/fs; % berekenen trillingstijd T1(:,modenr)=T; % trillingstijd in kolom zetten t=linspace(0,5*T,50)'; % x = [zs_dot, za_dot, zs, za] % y = SF * M .* sin ( omega * t + phi ) % bereken toestanden bij eigentrillingen zs_dot(:,modenr) = SF * abs(V(1,mn)) .* sin( abs(D(mn,mn))*t + angle(V(1,mn)) ); % [m] body displacement za_dot(:,modenr) = SF * abs(V(2,mn)) .* sin( abs(D(mn,mn))*t + angle(V(2,mn)) ); % [rad] body pitch angle zs(:,modenr) = SF * abs(V(3,mn)) .* sin( abs(D(mn,mn))*t + angle(V(3,mn)) ); % [m] front axle displacement za(:,modenr) = SF * abs(V(4,mn)) .* sin( abs(D(mn,mn))*t + angle(V(4,mn)) ); % [m] rear axle displacement time(:,modenr) = t end
30
Bijlage 5 M-file met vrml-script half voertuigmodel filename='hcarml.wrl' fid = fopen(filename,'w'); wrl_header2(fid); % aanmaken camera posities wrl_random_road(fid); % aanmaken wegprofiel wrl_tyre(fid,'reartyre' ,[ 0 1 0.3],0.3,0.2); % aanmaken achterwiel wrl_tyre(fid,'fronttyre' ,[ d.L 1 0.3],0.3,0.2); % aanmaken voorwiel wrl_cylinder(fid,'rearaxle',[0 0.5 0.3],[0 0 1],0.05,1); % aanmaken achteras wrl_cylinder(fid,'frontaxle',[d.L 0.5 0.3],[0 0 1],0.05,1); % aanmaken vooras wrl_damping(fid,'dampingunderrear',[ 0 0.6 0.34],[0 1 0],0.015,0.08); % aanmaken demping wrl_damping(fid,'dampingmiddlerear',[ 0 0.6 0.43],[0 1 0],0.03,0.12); % aanmaken demping wrl_damping(fid,'dampingunderfront',[ d.L 0.6 0.34],[0 1 0],0.015,0.08); % aanmaken demping wrl_damping(fid,'dampingmiddlefront',[ d.L 0.6 0.43],[0 1 0],0.03,0.12); % aanmaken demping
wrl_spring(fid,'springrear',[ 0 0.75 0.45],[0.001 0.001 0.0015]); % aanmaken veer wrl_spring(fid,'springfront',[ d.L 0.75 0.45],[0.001 0.001 0.0015]); % aanmaken veer wrl_damping(fid,'dampingupperrear',[ 0 0.6 0.525],[1 0 0],0.015,0.15); % aanmaken demping wrl_damping(fid,'dampingupperfront',[ d.L 0.6 0.525],[1 0 0],0.015,0.15); % aanmaken demping wrl_box(fid,'chassis',[d.b-(d.L/2),0,0],[d.L/2 0.45 0.6],[0.9 0.9 0.9],[d.L+0.2 .9 0.1]); % aanmaken chassis wrl_trailer1(fid); % translaties camera posities gelijkstellen fclose(fid);
31
Bijlage 6 Simulink model bewegingsvergelijkingen half voertuigmodel
32
Bijlage 7 Simulink model berekenen componenten half voertuigmodel
33
Bijlage 8 M-file berekenen eigentrillingen half voertuigmodel global PARA format long i_vehicle=1; PARA=[1 1 1 1 1 1 1 1 1 1 1 1]; [VPARA] = Veh_par(i_vehicle); % laden parameters lf = VPARA(3); % [m] parameters voor het maken van een model lr = VPARA(4); % [m] L = lf+lr; % [m] LH = L/2; % [m] [A,B,C,D]=Half_vehicle_model(VPARA); % laden state space matrices % make VR model modes_wrl
% maken virtueel model
sys=ss(A,B,C,D); [V,D] = eig(A,'nobalance'); [dummy,I]=sort(diag(D)); for n=1:length(I), VV(:,n)=V(:,I(n)); DD(n,n)=D(I(n),I(n)); end D=DD; V=VV;
% bepalen eigenwaarden + eigenvectoren % sorteren eigenwaarden % eigenwaarden en eigenvectoren in nieuwe matrix zetten
fss = abs(diag(D))/(2*pi); % bepalen frequenties en dempingsratio fds = abs(imag(diag(D)))/(2*pi); Zs = -real(diag(D))./abs(diag(D)); mns=2:2:8; for modenr=1:1:length(mns), mn=mns(modenr); if modenr==1, SF=0.3; elseif modenr==2, SF=0.3; elseif modenr==3, SF=4; elseif modenr==4, SF=4; end omega=abs(D(mn,mn)); fs=fss(mn); fd=fds(mn); Z=Zs(mn); T=1/fs; T1(:,modenr)=T;
% schaalfactor
% ongedempte eigenfrequentie % gedempte eigenfrequentie % dempings ratio % trillingstijd
t=linspace(0,5*T,50)'; % x = [zb, phi, zaf, zar] % y = SF * M .* sin ( omega * t + phi ) % bepalen toestanden tijdens eigentrillingen zb(:,modenr) = SF * abs(V(1,mn)) .* sin( abs(D(mn,mn))*t + angle(V(1,mn)) phi(:,modenr) = SF * abs(V(2,mn)) .* sin( abs(D(mn,mn))*t + angle(V(2,mn)) zaf(:,modenr) = SF * abs(V(3,mn)) .* sin( abs(D(mn,mn))*t + angle(V(3,mn)) zar(:,modenr) = SF * abs(V(4,mn)) .* sin( abs(D(mn,mn))*t + angle(V(4,mn))
); ); ); );
% [m] body displacement % [rad] body pitch angle % [m] front axle displacement % [m] rear axle displacement
time(:,modenr) = t; end
34
Bijlage 9 M-file met vrml-script fietsmodel filename='fiets2.wrl' fid = fopen(filename,'w'); wrl_header1(fid); % aanmaken camera posities wrl_box(fid,'reartyre',[0,0,0],[(-d.b) 0 0],[1 0 0],[0.6 .4 0.06]); % aanmaken achterwiel wrl_box(fid,'fronttyre',[0,0,0],[d.a 0 0],[1 0 0],[0.6 .4 0.06]); % aanmaken voorwiel wrl_box(fid,'chassis',[d.b-0.5*d.l,0,0],[(0.5*d.l-d.b) 0 0],[0 0 1],[d.l 0.05 0.08]); % aanmaken chassis wrl_box(fid,'Fy1',[0,0,0],[(-d.b) -0.5 0],[0 1 0],[0.04 1 0.08]); % aanmaken vector Fy1 wrl_box(fid,'Fy2',[0,0,0],[d.a -0.5 0],[0 1 0],[0.04 1 0.08]); % aanmaken vector Fy2 wrl_box(fid,'alpha1',[0,0,0],[(-d.b+0.5) 0 0],[1 1 0],[1 0.04 0.08]); % aanmaken vector alpha1 wrl_box(fid,'alpha2',[0,0,0],[d.a+0.5 0 0],[1 1 0],[1 0.04 0.08]); % aanmaken vector alpha2 wrl_cylinder(fid,'cog',[0,0,0],[0 0 0],0.08,0.08);
% aanmaken cilinder massamiddelpunt
wrl_box(fid,'V',[0,0,0],[(d.V/50) 0 0],[0 1 1],[d.V/25 0.04 0.08]); % aanmaken vector V wrl_box(fid,'Fcog',[0,0,0],[0 0.5 0],[1 0 1],[0.04 1 0.08]); % aanmaken vector Fy wrl_inner(fid,'inner',[-1.47,-40.027,0.02],[1 1 1]); wrl_outer(fid,'outer',[-1.47,-40.027,0.01],[1 1 1]);
% aanmaken bocht % aanmaken bocht
wrl_trailer1(fid); % translaties van cameraposities gelijkstellen fclose(fid);
35
Bijlage 10 Simulink model bewegingsvergelijkingen fietsmodel
36
Bijlage 11 Simulink model berekenen componenten fietsmodel
37