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.
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.
This repository depends on my hybrid ODE solver Python library which is used as the backend for the simulation and rendering pipelines. Follow the Installation of that repository to use it as a dependancy.
Clone the repository locally:
git clone https://github.com/micahreich/uav_control.git # for https
git clone git@github.com:micahreich/uav_control.git # for ssh
Create a Python virtual environment and install dependancies:
cd uav_control
python -m venv pyenv # create a virtual environment
pip install -e . # install requirements
Now you can run any of the examples locally.