37
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

Maken van animaties voor voertuigmodellen · animaties te maken voor verschillende voertuigmodellen. Deze animaties zullen vervolgens worden gebruikt in het college van het vak Oriëntatie

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Maken van animaties voor voertuigmodellen · animaties te maken voor verschillende voertuigmodellen. Deze animaties zullen vervolgens worden gebruikt in het college van het vak Oriëntatie

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

Page 2: Maken van animaties voor voertuigmodellen · animaties te maken voor verschillende voertuigmodellen. Deze animaties zullen vervolgens worden gebruikt in het college van het vak Oriëntatie

2

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.

Page 3: Maken van animaties voor voertuigmodellen · animaties te maken voor verschillende voertuigmodellen. Deze animaties zullen vervolgens worden gebruikt in het college van het vak Oriëntatie

3

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

Page 4: Maken van animaties voor voertuigmodellen · animaties te maken voor verschillende voertuigmodellen. Deze animaties zullen vervolgens worden gebruikt in het college van het vak Oriëntatie

4

Symbolenlijst

Symbool Grootheid Eenheid

C1, C2 Bochtstijfheid N/rad

Fy Centrifugaal kracht N

Fy1, Fy2. Wrijvingskracht N

Iy Massatraagheidsmoment kg/m2

L Lengte wielbasis m

V Snelheid massamiddelpunt m/s

A Lengte massamiddelpunt-voorwiel m

B Lengte achterwiel-massamiddelpunt m

ds, ds1, ds2 Dempingconstante ophanging Ns/m

ks, ks1, ks2 Veerstijfheid ophanging N/m

kt Bandstijfheid N/m

l Lengte wielbasis m

m Massa kg

ma, ma1, ma2 Onafgeveerde massa kg

ms Massa chassis kg

r Hoeksnelheid rad/s

u Snelheid in langsrichting model m/s

v Snelheid loodrecht op model m/s

za, za1, za2 Hoogte van onafgeveerde massa m

zs Hoogte chassis m

zr, zr1, zr2 Hoogte wegprofiel m

α1, α2 Wielsliphoek rad

β Voertuigssliphoek rad

δ Stuurhoek rad

φ Rotatie chassis rad

ψ Rotatie massamiddelpunt rad

1 Vooras

2 Achteras

Page 5: Maken van animaties voor voertuigmodellen · animaties te maken voor verschillende voertuigmodellen. Deze animaties zullen vervolgens worden gebruikt in het college van het vak Oriëntatie

5

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.

Page 6: Maken van animaties voor voertuigmodellen · animaties te maken voor verschillende voertuigmodellen. Deze animaties zullen vervolgens worden gebruikt in het college van het vak Oriëntatie

6

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 m-

file’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 vrml-

script 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.

Page 7: Maken van animaties voor voertuigmodellen · animaties te maken voor verschillende voertuigmodellen. Deze animaties zullen vervolgens worden gebruikt in het college van het vak Oriëntatie

7

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.

Page 8: Maken van animaties voor voertuigmodellen · animaties te maken voor verschillende voertuigmodellen. Deze animaties zullen vervolgens worden gebruikt in het college van het vak Oriëntatie

8

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.

)()( assassss zzdzzkzm &&&& −+−−= (3.1)

)()()( ratassassaa zzkzzdzzkzm −−−+−= &&&& (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.

Page 9: Maken van animaties voor voertuigmodellen · animaties te maken voor verschillende voertuigmodellen. Deze animaties zullen vervolgens worden gebruikt in het college van het vak Oriëntatie

9

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] Rotatie

[rad]

Kleur

Wiel cilinder Straal = 0.3

Hoogte = 0.2

(0, 1, 0.3) 0.5*pi

(x-as)

blauw

Wielas cilinder Straal = 0.05

Hoogte = 1

(0, 0.5, 0.3) 0.5*pi

(x-as)

geel

cilinder Straal = 0.015

Hoogte = 0.08

(0, 0.6, 0.34) - felgroen

cilinder Straal = 0.03

Hoogte = 0.12

(0, 0.6, 0.43) - oranje

Demper

cilinder Straal = 0.015

Hoogte = 0.15

(0, 0.6, 0.525) - felgroen

Veer extrusie - (0, 0.75, 0.45) - rood

Chassis box (1, 0.9, 0.1) (0, 0.45, 0.6) - groen/blauw

Page 10: Maken van animaties voor voertuigmodellen · animaties te maken voor verschillende voertuigmodellen. Deze animaties zullen vervolgens worden gebruikt in het college van het vak Oriëntatie

10

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.

Page 11: Maken van animaties voor voertuigmodellen · animaties te maken voor verschillende voertuigmodellen. Deze animaties zullen vervolgens worden gebruikt in het college van het vak Oriëntatie

11

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’

Page 12: Maken van animaties voor voertuigmodellen · animaties te maken voor verschillende voertuigmodellen. Deze animaties zullen vervolgens worden gebruikt in het college van het vak Oriëntatie

12

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] )

Page 13: Maken van animaties voor voertuigmodellen · animaties te maken voor verschillende voertuigmodellen. Deze animaties zullen vervolgens worden gebruikt in het college van het vak Oriëntatie

13

De bewegingen van het halve voertuigmodel zijn te beschrijven aan de hand van de volgende

vergelijkingen.

FuKzzDzM =++ &&& (4.1)

met

=

2

1

000

000

000

000

a

a

y

s

m

m

I

m

M (4.2)

−−

−++−

−−+−+

=

222

111

21

2

2

2

121

212121

0

0

sss

sss

ssssss

ssssss

dbdd

dadd

bdadbdadbdad

ddbdaddd

D (4.3)

−−

−++−

−−+−+

=

222

111

21

2

2

2

121

212121

0

0

sss

sss

ssssss

ssssss

kbkk

kakk

bkakbkakbkak

kkbkakkk

K (4.4)

=

t

t

k

kF

0

0

00

00

(4.5)

(zie [2])

Deze matrix vergelijking is om te schrijven in een set van vier vergelijkingen:

0)()(

)()(

22112121

22112121

=−−+−++

+−−+−+++

asassssss

asassssssss

zkzkbkakzkk

zdzdbdadzddzm

ϕ

ϕ &&&&&& (4.6)

0)()(

)()(

2211

2

2

2

121

2211

2

2

2

121

=−++++−

+−++++−+

asassssss

asassssssy

bzkazkbkakzbkak

zbdzadbdadzbdadI

ϕ

ϕϕ &&&&&& (4.7)

11111111111 )( rtatssssassssaa zkzkkakzkzdadzdzm =+++−++− ϕϕ &&&&& (4.8)

22222222222 )( rtatssssassssaa zkzkkbkzkzdbdzdzm =++−−+−− ϕϕ &&&&& (4.9)

waaruit de onbekenden za1, za2, φ en zs kunnen worden bepaald.

Page 14: Maken van animaties voor voertuigmodellen · animaties te maken voor verschillende voertuigmodellen. Deze animaties zullen vervolgens worden gebruikt in het college van het vak Oriëntatie

14

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 Afmetingen

[m]

Positie [m] Rotatie

[rad]

Kleur

Wiel (achter) cilinder Straal = 0.3

Hoogte = 0.2

(0, 1, 0.3) 0.5*pi

(x-as)

donker grijs

Wielas

(achter)

cilinder Straal = 0.05

Hoogte = 1

(0, 0.5, 0.3) 0.5*pi

(x-as)

blauw

cilinder Straal = 0.015

Hoogte = 0.08

(0, 0.6, 0.34) - felgroen

cilinder Straal = 0.03

Hoogte = 0.12

(0, 0.6, 0.43) - felgroen

Demper

(achter)

cilinder Straal = 0.015

Hoogte = 0.15

(0, 0.6, 0.525) - rood

Veer (achter) extrusie - (0, 0.75, 0.45) - geel

Wiel (voor) cilinder Straal = 0.3

Hoogte = 0.2

(L, 1, 0.3) 0.5*pi

(x-as)

donker grijs

Wielas (voor) cilinder Straal = 0.05

Hoogte = 1

(L, 0.5, 0.3) 0.5*pi

(x-as)

blauw

cilinder Straal = 0.015

Hoogte = 0.08

(L, 0.6, 0.34) - felgroen

cilinder Straal = 0.03

Hoogte = 0.12

(L, 0.6, 0.43) - felgroen

Demper (voor)

cilinder Straal = 0.015

Hoogte = 0.15

(L, 0.6, 0.525) - rood

Veer (voor) extrusie - (L, 0.75, 0.45) - geel

Chassis box (1, 0.9, 0.1) (L/2, 0.45, 0.6) - licht grijs

Page 15: Maken van animaties voor voertuigmodellen · animaties te maken voor verschillende voertuigmodellen. Deze animaties zullen vervolgens worden gebruikt in het college van het vak Oriëntatie

15

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

Page 16: Maken van animaties voor voertuigmodellen · animaties te maken voor verschillende voertuigmodellen. Deze animaties zullen vervolgens worden gebruikt in het college van het vak Oriëntatie

16

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’

Page 17: Maken van animaties voor voertuigmodellen · animaties te maken voor verschillende voertuigmodellen. Deze animaties zullen vervolgens worden gebruikt in het college van het vak Oriëntatie

17

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.

Page 18: Maken van animaties voor voertuigmodellen · animaties te maken voor verschillende voertuigmodellen. Deze animaties zullen vervolgens worden gebruikt in het college van het vak Oriëntatie

18

De bewegingen van het fietsmodel kunnen aan de hand van de twee onderstaande vergelijkingen

worden beschreven:

21)( yy FFurvm +=+& (5.1)

21 yy bFaFrI −=& (5.2)

waarin Fy1 en Fy2 worden gegeven door:

111 αCFy = (5.3)

222 αCFy = (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

1 arvu

+−∂=α (5.5)

)(1

2 brvu

−−=α (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.

)sin()cos( ψψ vux −=& (5.7)

)cos()sin( ψψ vuy +=& (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.

Page 19: Maken van animaties voor voertuigmodellen · animaties te maken voor verschillende voertuigmodellen. Deze animaties zullen vervolgens worden gebruikt in het college van het vak Oriëntatie

19

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.

Page 20: Maken van animaties voor voertuigmodellen · animaties te maken voor verschillende voertuigmodellen. Deze animaties zullen vervolgens worden gebruikt in het college van het vak Oriëntatie

20

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:

2

][ evuvrr

= (5.9)

waarin 2

er

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.

121

][ eAvuy

x r

&

&=

(5.10)

Page 21: Maken van animaties voor voertuigmodellen · animaties te maken voor verschillende voertuigmodellen. Deze animaties zullen vervolgens worden gebruikt in het college van het vak Oriëntatie

21

In deze formule is 21

A de rotatiematrix, tussen het tweede en het eerste assenstelsel. Deze

rotatiematrix, is te schrijven als:

−=

)cos()sin(

)sin()cos(21

ψψ

ψψA (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 [ ]yx && 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.5l-

b 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).

++−

++=

)cos()sin(

)sin()cos(41

δψδψ

δψδψA (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.

Page 22: Maken van animaties voor voertuigmodellen · animaties te maken voor verschillende voertuigmodellen. Deze animaties zullen vervolgens worden gebruikt in het college van het vak Oriëntatie

22

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:

−−−

−−=

)cos()sin(

)sin()cos(51

βψβψ

βψβψA (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.

De laatste twee vectoren,1αr

,2α

r 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

respectievelijk de vooras en de achteras . Om de positie van 2α

r 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

α2, die de vector met het wielvlak maakt. De lengte van de vector 2α

rwordt dan gegeven door:

)cos( 2

αu

=r

(5.14)

De positie van deze vector is gegeven door de afstand [0.5* 2αr

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:

−−−

−−=

)cos()sin(

)sin()cos(

22

2261

αψαψ

αψαψA (5.15)

De uitkomst hiervan moet opgeteld worden bij de positie van het achterwiel.

De positie van de vector 1αr

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:

−+−+−

−+−+=

)cos()sin(

)sin()cos(

11

1171

αδψαδψ

αδψαδψA (5.16)

Page 23: Maken van animaties voor voertuigmodellen · animaties te maken voor verschillende voertuigmodellen. Deze animaties zullen vervolgens worden gebruikt in het college van het vak Oriëntatie

23

Ook is de lengte van de vector 1αr

niet gelijk aan de lengte van de vector 2α

r. De lengte van

1αr

is, net

zoals bij de vector 2α

r, afhankelijk van de snelheid u en de hoek tussen deze snelheid en het wielvlak

van het voorwiel. Deze hoek wordt nu gegeven door 1αδ − . De lengte van de vector 1αr

is dan te

bepalen door:

)cos( 1

1αδ

α−

=ur

(5.17)

Door de afstand tot het middelpunt [0.5* 1αr

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

1αr

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]).

−−=

12

2

C

b

C

a

Rl

mV

R

lδ (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.

Page 24: Maken van animaties voor voertuigmodellen · animaties te maken voor verschillende voertuigmodellen. Deze animaties zullen vervolgens worden gebruikt in het college van het vak Oriëntatie

24

De bijbehorende snelheid van het voertuig is dan te berekenen met vergelijking (5.19)

yRaV = (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.

Page 25: Maken van animaties voor voertuigmodellen · animaties te maken voor verschillende voertuigmodellen. Deze animaties zullen vervolgens worden gebruikt in het college van het vak Oriëntatie

25

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.

Page 26: Maken van animaties voor voertuigmodellen · animaties te maken voor verschillende voertuigmodellen. Deze animaties zullen vervolgens worden gebruikt in het college van het vak Oriëntatie

26

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.

Page 27: Maken van animaties voor voertuigmodellen · animaties te maken voor verschillende voertuigmodellen. Deze animaties zullen vervolgens worden gebruikt in het college van het vak Oriëntatie

27

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);

Page 28: Maken van animaties voor voertuigmodellen · animaties te maken voor verschillende voertuigmodellen. Deze animaties zullen vervolgens worden gebruikt in het college van het vak Oriëntatie

28

Bijlage 2 Simulink model bewegingsvergelijkingen kwart voertuigmodel

Page 29: Maken van animaties voor voertuigmodellen · animaties te maken voor verschillende voertuigmodellen. Deze animaties zullen vervolgens worden gebruikt in het college van het vak Oriëntatie

29

Bijlage 3 Simulink model berekenen componenten kwart voertuigmodel

Page 30: Maken van animaties voor voertuigmodellen · animaties te maken voor verschillende voertuigmodellen. Deze animaties zullen vervolgens worden gebruikt in het college van het vak Oriëntatie

30

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

Page 31: Maken van animaties voor voertuigmodellen · animaties te maken voor verschillende voertuigmodellen. Deze animaties zullen vervolgens worden gebruikt in het college van het vak Oriëntatie

31

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);

Page 32: Maken van animaties voor voertuigmodellen · animaties te maken voor verschillende voertuigmodellen. Deze animaties zullen vervolgens worden gebruikt in het college van het vak Oriëntatie

32

Bijlage 6 Simulink model bewegingsvergelijkingen half voertuigmodel

Page 33: Maken van animaties voor voertuigmodellen · animaties te maken voor verschillende voertuigmodellen. Deze animaties zullen vervolgens worden gebruikt in het college van het vak Oriëntatie

33

Bijlage 7 Simulink model berekenen componenten half voertuigmodel

Page 34: Maken van animaties voor voertuigmodellen · animaties te maken voor verschillende voertuigmodellen. Deze animaties zullen vervolgens worden gebruikt in het college van het vak Oriëntatie

34

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'); % bepalen eigenwaarden + eigenvectoren

[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 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; % schaalfactor 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); % ongedempte eigenfrequentie

fd=fds(mn); % gedempte eigenfrequentie

Z=Zs(mn); % dempings ratio T=1/fs; % trillingstijd

T1(:,modenr)=T;

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)) ); % [m] body displacement

phi(:,modenr) = SF * abs(V(2,mn)) .* sin( abs(D(mn,mn))*t + angle(V(2,mn)) ); % [rad] body pitch angle

zaf(:,modenr) = SF * abs(V(3,mn)) .* sin( abs(D(mn,mn))*t + angle(V(3,mn)) ); % [m] front axle displacement

zar(:,modenr) = SF * abs(V(4,mn)) .* sin( abs(D(mn,mn))*t + angle(V(4,mn)) ); % [m] rear axle displacement

time(:,modenr) = t;

end

Page 35: Maken van animaties voor voertuigmodellen · animaties te maken voor verschillende voertuigmodellen. Deze animaties zullen vervolgens worden gebruikt in het college van het vak Oriëntatie

35

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]); % aanmaken bocht wrl_outer(fid,'outer',[-1.47,-40.027,0.01],[1 1 1]); % aanmaken bocht

wrl_trailer1(fid); % translaties van cameraposities gelijkstellen

fclose(fid);

Page 36: Maken van animaties voor voertuigmodellen · animaties te maken voor verschillende voertuigmodellen. Deze animaties zullen vervolgens worden gebruikt in het college van het vak Oriëntatie

36

Bijlage 10 Simulink model bewegingsvergelijkingen fietsmodel

Page 37: Maken van animaties voor voertuigmodellen · animaties te maken voor verschillende voertuigmodellen. Deze animaties zullen vervolgens worden gebruikt in het college van het vak Oriëntatie

37

Bijlage 11 Simulink model berekenen componenten fietsmodel