Project thumbnail image
College of Engineering Unit: 
Electrical Engineering and Computer Science
Project Team Member(s): 
Allison Thompson, Andrew Greenwood, Jeremy Udarbe and Cameron Vandenberg
Project ID: 
CS.83
Project Description: 

Our project explores the possibility of using the free and open source game engine Bevy and the programming language Rust to create rigid body engineering simulations. Engineers like our project partner need to create accurate simulations for various purposes including to test designs of cars, planes, and other similar moving machines. For a complex project that was related to the needs of engineering simulation creators, we created a driving simulation.

Game engines are very flexible and have the possibility of being an easier way of creating engineering simulations than starting from scratch. Game engines already have all the tools to create quality graphics, which would allow engineers to focus on creating accurate physics and meeting other needs, instead of spending time on back end graphics, lighting, etc.

To create our driving simulation, we used rigid body dynamics algorithms (RBDAs) to calculate the complex physics interactions between the different components in the system. We simulated a manual transmission Toyota AE86.

RBDAs calculate the interaction between the wheels of the vehicle and the environment creating a realistic suspension and engine system. Each part of the car (the 4 wheels and chassis) are represented by joints which store information about their position, velocity, and rotations. The car’s manual transmission and engine are also modeled.

The RBDAs we used, as well as the joints, are organized in a library that we used to create this project. In the future, this library could be expanded, refined, and released for public use. This car simulation is an example of what can be done using our RBDA library in combination with the Bevy game engine to create accurate simulations.

Our driving simulation is also a fun way for users to experience and interact with a physics simulation. The user can accelerate, brake, and manually change gears. We have implemented both keyboard input and controller input for a more analog steering experience. The user can see their speed, gear, and engine RPMs in the user interface.


Project Website(s): 
Opportunities: 
This team is open to networking
This team is open to collaboration opportunities
This team is open to employment offers

This team accepts email messages from attendees: 
thompall@oregonstate.edu