8
Custom MATLAB 3D Rigid Body Physics Engine Alex Hsia

Custom MATLAB 3D Rigid Body Physics Engine

Embed Size (px)

Citation preview

Page 1: Custom MATLAB 3D Rigid Body Physics Engine

Custom MATLAB 3D Rigid Body Physics Engine

Alex Hsia

Page 2: Custom MATLAB 3D Rigid Body Physics Engine

Project Overview• Dynamic simulation of a Star Wars-themed roller

coaster with a novel suspension, built at low-level from ground up (Simulink not used)

• Simulation is used to tune spring and damper values to produce desirable suspension behavior

• Double four bar linkage allows vertical translation, giving feeling of “floating”

• Pivoting joint allows yaw, giving feeling of “drifting”

• MATLAB was chosen for following reasons:

• Existing team expertise

• Many options for type of solver used

• Good control over simulation accuracy and speed

• Very customizable integration with other roller-coaster design software

Double four-bar linkage

Pivoting joint (springs and dampers not shown for yaw DOF)

Page 3: Custom MATLAB 3D Rigid Body Physics Engine

Physical Model

• Motivation: Dynamic simulation of a novel suspension on a roller coaster car

• Simulates any number of point masses connected by rigid massless links, or springs, or dampers

• Constrains any number of points to 3D cubic splines representing roller coaster track rails

Point massesSpring and damper (red)

Triangle masses are constrained to roller coaster rails, which are represented as 3D cubic splines

Spring and damper (red)

Page 4: Custom MATLAB 3D Rigid Body Physics Engine

Yaw DOF: Pivoting Joint

Velocity in car X frame indicates “drift”

0 0.5 1 1.5 2 2.5-0.5

0

0.5

1

1.5

2Velocity, Car Frame

Time (s)

Velo

city (

m/s

)

X

Y

Z

0 0.5 1 1.5 2 2.5-0.3

-0.2

-0.1

0

0.1Acceleration, Car Frame

Time (s)

Acc

ele

rati

on

(G

s)

X

Y

Z

https://www.youtube.com/watch?v=eouZZfH-8a8

Page 5: Custom MATLAB 3D Rigid Body Physics Engine

Heave DOF: 4 Bar Linkage

0 0.5 1 1.5 2 2.5-1

0

1

2

3Velocity, Car Frame

Time (s)

Velo

city (

m/s

)

X

Y

Z

0 0.5 1 1.5 2 2.5-1

0

1

2Acceleration, Car Frame

Time (s)

Acce

lera

tion

(G

s)

X

Y

Z

https://www.youtube.com/watch?v=LMSTMYtSI58

Page 6: Custom MATLAB 3D Rigid Body Physics Engine

Full-Scale Simulation Validation- Acceleration data taken for actual roller coasters using smartphones - Acceleration time history compared to MATLAB simulation- Kingda Ka simulation shown below

Page 7: Custom MATLAB 3D Rigid Body Physics Engine

Small Scale (1:20) Simulation Validation

Page 8: Custom MATLAB 3D Rigid Body Physics Engine

Final Coaster Track Design

0 20 40 60 80 100 120 140 160 180 200-20

0

20Velocity, Car Frame

Time (s)

Velo

city (

m/s

)

X

Y

Z

0 20 40 60 80 100 120 140 160 180 200-5

0

5Acceleration, Car Frame

Time (s)

Acc

ele

rati

on

(G

s)

X

Y

Z

0 20 40 60 80 100 120 140 160 180 200-50

0

50Yaw Angle (deg)

Time (s)Yaw

An

gle

(d

eg

) (m

/s)

A