1. Rigid Body Car Driving
Simulation
Cooper Findley
Chuck Moyes
Mark Wang
2. Overall Idea
Implement OpenGL 3D car driving simulation in
C++
Libraries used: SDL, GLEW, SOLID, SDL_ttf,
SDL_image, SDL_mixer, Armadillo
Emphasis: Realistic Physics
3. Rigid Body Dynamics Simulation
Erleben “Velocity-Based Shock Propagation for Multibody Dynamics
Animation”
CS 5643: Physically Based Animation for Computer Graphics
Euler numerical integration
Collision detection, response, tangential Coulomb friction, resting
contact
Projected Relaxed Gauss-Seidel solver
ODE's “Hinge-2” Joint Constraint
Other Possibilities:
Impulse, Penalty methods
for contact
4th Order RK integrator,
Time-Corrected Verlet method
4. Car Physics Model
Short, et al. “Simulation of Vehicle Longitudinal Dynamics”
Beckman “Physics of Racing Series”
Monster “Car Physics for Games”
Longitudinal Forces
Engine Force (torque curve as function of RPM)
Resistance Forces: Fluid dynamic air drag (proportional v²),
Rolling resistance (C_rr), Brake Forces
Lateral Forces
Pacejka tire model (continued)
Slip angle, slip ratio
Gear Box Model
Gear ratios, differential ratio
Automatic shifter logic
8. Time-Permitting
Work on suspension/weight distribution by modeling
mass-spring-dashpot system for each tire
Work on advanced wheel-body joint constraints using
Jacobian (as seen in ODE)
A height-map terrain engine using the ROAM level of
detail algorithm for driving over bumpy terrain
The use of a special input device such as a Logitech
steering wheel controller with force feedback
A more advanced force-based model of the car
physics as discussed in Beckman’s articles
A full-fledged racing game using the simulation engine