Gimbaled Reaction Wheel Cube
I built a nonlinear Python model and evaluated 19,088 simulated cases across 157 flywheel geometries. A weighted optimisation algorithm ranked the alternatives and selected the best design among those tested.
Objective: Investigate whether a single gimbaled reaction wheel can replace three orthogonal flywheels in a cube designed for controlled tipping and balance. The project connects the choice of flywheel geometry with the system’s nonlinear motion and control.
My role: Nonlinear modelling, simulation and design optimisation. SETU · Final-year project.
My contribution: Built the nonlinear model in Python to assess the proposed motion and control. Evaluated 157 flywheel geometries through a 19,088-case simulation study. Developed a weighted optimisation algorithm to compare alternatives and select the best tested design.
Model the motion: The Python model provides a simulation environment for investigating the cube’s nonlinear behaviour with a gimbaled reaction wheel.
Explore the design space: The study compares multiple flywheel geometries across simulated cases, connecting mechanical design choices to the proposed motion and control.
Rank candidate designs: The software uses weighted min–max normalisation to rank successful runs and refines candidate parameters around the current winner. The main script then transfers the selected flywheel geometry into a servo-specification search constrained by a power limit. This identifies the best tested result, not a global optimum.
Scope: The current deliverable is simulation and optimisation software for defining the cube’s technical specification. The saved plots are model predictions, not physical tipping or balance tests. The selected design remains conditional on the model assumptions, tested candidates and optimisation weights.
Technologies
- Python
- Nonlinear dynamics
- Numerical simulation
- Design optimisation