This has be done as a group project within the MecEng 231a "Experiential Advanced Control Design I" course at UC Berkeley. A modified MPC algorithm is run in the simulation, which does real-time obstacle avoidance on a 2D quadcopter with an underactuated hanging load. A video can be found here: https://www.youtube.com/watch?v=zDYgxbn4v7E
States - [y, z, \phi, \dot{y}, \dot{z}, \dot{\phi}] Inputs - [F_1, F_2]
https://www.coursera.org/learn/robotics-flight/lecture/kakc6/2-d-quadrotor-control