/DeepMPC

Tube based Model Predictive Control that utilize Neural Networks to improve performance with adaptive control inputs.

Primary LanguageMATLAB

DeepMPC

Tube based Model Predictive Control that utilize Neural Networks to improve performance with adaptive control inputs.

Table of contents

General Info

The ReadMe will be updated with more information with further development of the DeepMPC software, and when my Thesis has been fully reviewed and submitted.

Setup

In order to run the Deep MPC program as well as the other aspects of the Drone Simulation code you will need the following MathWorks MATLAB toolboxes:

In addition to these packages you will need the tbxmanager

DroneSimulationMain

The DroneSimulationMain.m script runs the MATLAB Scripts for the Tube-Based MPC, Adaptive MPC, and Deep MPC control systems for a model of a Parrot Mambo Drone. To try out different Disturbance or Trajectory Cases modify the SimulationParameters.m file. The disturbance cases created are variations of Wind Biases, Damaged Blades, Center of Mass Shifts, and Mass changes. The trajectory cases are for Hover, Circle, and Figure 8 Manuevers.

QuadDataProcessing

The QuadDataProcessing.m script runs the MATLAB Scripts to generate the plots and processed data for the data collected in the DroneSimulationMain.m script. This includes plots of the algorithms following the manuver, position and orientation trajectory, and the values for the deviation from the trajectory.

Current Results

Below we present the results for tracking the figure-8 trajectory in nominal conditions and with a center of mass (COM) shift. More results can be found in the Processed Results Section.

Fig-8 Nominal

In the following simulations we have the quadcopter fly a figure-8 manuver for 60 seconds in nominal conditions. As you can see all three MPC architectures are comporable in ability to follow the trajectory.

Fig-8 COM Shift

In the following simulations we have the quadcopter fly a figure-8 manuver for 60 seconds with a COM shift after 15 seconds. As you can see all three MPC architectures are comporable in ability to follow the trajectory.

Acknowledgments

I would like to thank my advisor Dr. Grisih Chowdhary for all of his support during the development of this woftware as well as Dr. Prabhat Mishra and Mateus Valverde for their support and input towards the development of this software. I would also like to thank the people at Mathworks for their various toolboxes, and the developers of the tbxmanager software for all of their efforts in their software development that have enabled the development of the DeepMPC Scripts.