Skip to content

Ruben-MR/Quadrotor_3D_planning_control

Repository files navigation

Quadrotor 3D Planning and Control

Repository for the project on quadrotor 3D planning and control using an RRT* method as a global path planner, minimum snap optimization for the conversion of the global path into a trajectory tracked by a nonlinear Model Predictive Controller for local obstacle avoidance.

The present document describes the contents of the folders and the instructions on the usage of the different simulator files and functions

How to download and test

Please, in order not to encounter any trouble while running the files, clone the repository to a folder and use pyCharm. Notice that using a different IDE may require modifications to the import statements. Additionally, FORCESPRO needs to be installed in the device and the current libraries with respective versions need to be installed (in a virtual environment is enough):

  • CASADI: 3.5.5
  • NUMPY: 1.19.5 (versions 1.20 and above not supported due to CADADI incompatibilities)
  • MATPLOTLIB: 3.3.4
  • SCIPY: 1.6.3
  • FORCESPRO: 5.1.0

Scenarios

The current algorithm has been developed and tested in four different scenarios, represented in the following pictures. Please, note that the obstacle avoidance with an additional obstacle (not considered in global planning) has only been tested on scenario 2, which was observed to be sufficiently wide and ample so as to ensure complete collision avoidance.

Scenario 0 Scenario 1
005 004
Scenario 2 Scenario 3
005 004

Simulator file usage

The file simulator.py depicts the trajectory tracking with the Geometric Nonlinear Controller. Multiple settings are provided both for the RRT* and the minimum snap optimization, with their corresponding descriptions in the file itself.

The file simulator_MPC.py allows for the simulation of the MPC in multiple operation modes, but with more limited options in terms of minimum snap. Please notice once again that, in order to perform collision avoidance with an unpredicted obstacle (that is, an obstacle in the way of the trajectory), scenario 2 is the only one for which the avoidance has been tested to be performed robustly.

Further results

The folder full_results_and_more contains data related to some of the tests carried out during the evaluation of the solution as well as file summaries of the inspected results. The folder back_end contains data related to the trajectory tracking and obstacle avoidance; while the folder front_end contains the data and results of RRT and minimum snap.

Results of RRT

Scenario 0 Scenario 1
005 004

Results of minimum snap

Scenario 0 Scenario 1
005 004

Results of MPC

Path following Local avoidance
005 004

Report

The report of this project can be found here

License

Distributed under the MIT License. See LICENSE for more infomation.

Contact

Rubén Martín Rodríguez - [email protected]
Xinjie Liu - [email protected]
Yuezhe Zhang [email protected]
Paul Féry - [email protected]

About

Repository for the Planning and Decision Making Project Code

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages