This is a simulation of a Quadcopter Stereo Camera Formation Control that uses 3 different simulators: a linear simulator; a nonlinear quadcopter simulator; Gazebo/ROS simulator.
Authors: Jonathan Lwowski, Abhijit Majumdar, Patrick Benavidez, John J. Prevost, Mo Jamshidi
Laboratory: Autonomous Control Engineering Lab
University: The University of Texas at San Antonio
Coming Soon...
-
Gazbeo/ROS (If using ROS/Gazebo Simulation)
- ROS Kinetic
- Hector Quadrotor
-
Simulation of dynamics:
- Numpy
- Math
- SciPy
-
GUI:
- Matplotlib
- Matplotlib Mapping Toolkits
-
Threading:
- Time
- Datetime
- Threading
Clone the repository (into catkin_ws if using ROS)
$ git clone https://github.com/jonlwowski012/Quadcopter_Stereo_Camera_Formation_Control.gitClone the repository, move into the directory, and run the code:
$ cd Quadcopter_Stereo_Camera_Formation_Control/LinearState feedback formation control simulator:
$ python uav_model_sfb.pyPID formation control simulator:
$ python uav_model_pid.pyModel Predictive Control formation control simulator (Pick one below):
$ python uav_model_small_window_mpc.py
$ python uav_model_medium_window_mpc.py
$ python uav_model_large_window_mpc.pyLyapunov Bang Bang (Not traditional bang bang) formation control simulator:
$ python uav_model_bang.py
## How to run Nonlinear Simulation
State feedback formation control simulator:
```sh
$ python multiquad_sim_SFB.pyPID formation control simulator:
$ python multiquad_sim_PID.pyModel Predictive Control formation control simulator (Pick one below):
$ python multiquad_sim_small_window_mpc.py
$ python multiquad_sim_medium_window_mpc.py
$ python multiquad_sim_large_window_mpc.pyLyapunov Bang Bang (Not traditional bang bang) formation control simulator:
$ python multiquad_sim_bangbang.pyDownload and Install ROS Kinetic (http://wiki.ros.org/kinetic/Installation)
State feedback formation control simulator:
$ roslaunch GazeboSimulation SFB_Controller.launch PID formation control simulator:
$ roslaunch GazeboSimulation PID_Controller.launch Model Predictive Control formation control simulator (Pick one below):
$ roslaunch GazeboSimulation MPC_Small_Window_Controller.launch
$ roslaunch GazeboSimulation MPC_Medium_Window_Controller.launch
$ roslaunch GazeboSimulation MPC_Large_Window_Controller.launch Lyapunov Bang Bang (Not traditional bang bang) formation control simulator:
$ roslaunch GazeboSimulation BANG_Controller.launch Start the UAV Motors
$ rosservice call /uav1/enable_motors start
$ rosservice call /uav2/enable_motors start