custom matlab 3d rigid body physics engine
TRANSCRIPT
Custom MATLAB 3D Rigid Body Physics Engine
Alex Hsia
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)
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)
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
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
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
Small Scale (1:20) Simulation Validation
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