Skip to content

UAV simulation and control algorithms from popular research papers implemented in Python

Notifications You must be signed in to change notification settings

micahreich/uav_control

Repository files navigation

UAV Controls

Upside-Down Initialization Waypoint Following Trajectory Tracking
Recover from 180º Roll Follow positional waypoints Track min-snap trajectory

UAV Controls is a Python repository designed to implement various controllers and dynamics models for Unmanned Aerial Vehicles (UAVs) based on popular research papers and methods in underactuated robot control.

Contents

The repository contains relevant control, dynamics, and planner implementations for simulation of a quadrotor aerial vehicle. Using the same controller, the UAV can perform point stabilization, waypoint tracking, and trajectory tracking based on the planner that's used. We can also optionally use a control allocator which takes into account the thrust limits of the rotors when using a non-optimal-control-based scheme.

Installation

This repository depends on my hybrid ODE solver Python library which is used as the backend for the simulation and rendering pipelines. Setting up this repo with conda will clone and pip install hybrid_ode_sim automatically.

Setup

Clone the repository locally:

git clone https://github.com/micahreich/uav_control.git  # for https
git clone [email protected]:micahreich/uav_control.git      # for ssh

Install pip requirements from the requirements.txt:

pip install -r requirements.txt

Finally, install the uav_control python package locally in editable mode with:

pip install -e .

Now you can run any of the examples locally.

To update to a specific version of hybrid_ode_sim (with the virtual environment active):

pip install --upgrade git+https://github.com/micahreich/hybrid_ode_sim.git@main  # to update to whatever is on the `main` branch

References

  1. Geometric Adaptive Tracking Control of a Quadrotor Unmanned Aerial Vehicle on SE(3) for Agile Maneuvers
  2. Control of Complex Maneuvers for a Quadrotor UAV using Geometric Methods on SE(3)
  3. Geometric Controls of a Quadrotor UAV with Decoupled Yaw Control

About

UAV simulation and control algorithms from popular research papers implemented in Python

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages