Giter Site home page Giter Site logo

hedaniel7 / quadrotor_mpc_acados Goto Github PK

View Code? Open in Web Editor NEW

This project forked from enhatem/quadrotor_mpc_acados

0.0 0.0 0.0 70.43 MB

MPC implementation for quadrotors using acados

License: Apache License 2.0

Python 22.00% C 73.62% MATLAB 2.11% Makefile 2.27%

quadrotor_mpc_acados's Introduction

License

quadrotor_mpc_acados

Description

This package implements different MPC controllers for planar and 3D quadrotors. The MPC controllers were designed using acados, which is a set of embedded solvers for nonlinear optimal control.

Installation

  1. Clone the acados reposetory
git clone https://github.com/acados/acados
  1. Switch to version 0.1.6
cd <acados_root_folder>
git checkout tags/0.1.6
  1. Go inside the <acados_root_folder> and initialze all submodules
git submodule update --recursive --init
  1. Build and install acados using CMake while still inside the <acados_root_folder>
mkdir -p build
cd build 
cmake .. -DACADOS_WITH_QPOASES=ON
make install
  1. Install the Python Interface with pip3
pip3 install -e <acados_root_foler>/interfaces/acados_template
  1. Add the path the compiled shared libraries
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"<acados_root>/lib"
export ACADOS_SOURCE_DIR="<acados_root>"
  1. In order to be able to successfully render C code templates, you need to download the t_renderer binaries for your platform from https://github.com/acados/tera_renderer/releases/ and place them in <acados_root_folder>/bin (please strip the version and platform from the binaries (e.g. t_renderer-v0.0.34 -> t_renderer). Notice that you might need to make t_renderer executable. Run export ACADOS_SOURCE_DIR=<acados_root_folder> such that the location of acados will be known to the Python package at run time.

  2. Change the path to acados installation folder in each files in the models folder.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.