Project description:

This vacation work project focuses on refining the simulation environment for a Crazyflie quadcopter by porting key control code from C/C++ into Simulink blocks. This will allow for a more intuitive, model-based approach to system design and testing. The project aims to enhance the accuracy of the simulation by aligning it closely with the quadcopter’s real-world dynamics. Validation of the simulation will be conducted through flight tests to ensure that simulated performance matches actual flight behavior.

Key Tasks:

  1. Analyse the existing Crazyflie control code in C/C++ and identify components to be ported to Simulink.
  2. Convert and implement these components as Simulink blocks while maintaining functional equivalence.
  3. Integrate the new Simulink model with the existing simulation environment.
  4. Test the simulation for stability, responsiveness, and performance under various flight conditions.
  5. Conduct real-world flight tests with the Crazyflie to assess the accuracy of the simulation.
  6. Refine the simulation based on discrepancies observed during flight tests to improve realism.
  7. Document the simulation environment, detailing any improvements and adjustments made.

This project will provide valuable insights into simulation fidelity, enabling more efficient future development and testing of autonomous control systems for quadcopters.

The ideal candidate(s) will have strong coding ability in C/C++ and be proficient in MATLAB/Simulink.

Supervisor:

Primary supervisor: Arnold Pretorius

Co-supervisor: Luke Richardson