Coder Social home page Coder Social logo

renaissnance / cmpcc Goto Github PK

View Code? Open in Web Editor NEW

This project forked from zju-fast-lab/cmpcc

0.0 0.0 0.0 24.64 MB

CMPCC: Corridor-based Model PredictiveContouring Control for Aggressive Drone Flight

Shell 0.89% C++ 26.04% Python 12.30% C 53.96% EmberScript 0.97% Makefile 0.07% CMake 5.19% Batchfile 0.58%

cmpcc's Introduction

CMPCC

Corridor-based Model Predictive Contouring Control for Aggressive Drone Flight

0. Overview

CMPCC is an efficient, receding horizon, local adaptive low level planner as the middle layer between our original planner and controller trr.

Author: Jialin Ji, Xin Zhou and Fei Gao from the ZJU Fast Lab.

Related Paper: CMPCC: Corridor-based Model PredictiveContouring Control for Aggressive Drone Flight, Jialin Ji, Xin Zhou, Chao Xu, Fei Gao, accepted, International Symposium on Experimental Robotics (ISER 2020).

Video Links: youtube or bilibili

Features

  • online flight speed optimization
  • strict safety and feasibility
  • real-time performance

File Structure

  • src/cmpcc: key module of CMPCC, which is a single ros package
  • src/simualtion: a lightweight simulator for quadrotors
  • src/utils: some functional codes and plugins
  • osqp: a copy of OSQP source code for solving qp problem.
  • key2joy.py: a user-interface tool based on pygame for setting disturbance

1. Prerequisites

Our software is developed and tested in Ubuntu 18.04, ROS Melodic. Other version may require minor modification.

You can clone this repository:

git clone https://github.com/ZJU-FAST-Lab/CMPCC.git
cd CMPCC

To install the following dependencies, you can run the auto-install script by

chmod +x install_tools.sh
./install_tools.sh

If failed, you can manually install them one by one:

  • install dependencies
sudo apt-get install libyaml-cpp-dev
sudo apt-get install libarmadillo-dev
  • install pygame for key2joy.py
sudo apt-get install python-pip
pip install pygame
  • install osqp
cd osqp
mkdir build
cd build
cmake -G "Unix Makefiles" ..
cmake --build .
sudo cmake --build . --target install

2. Build on ROS

After the prerequisites are satisfied, you can catkin_make in this repository directory, which is already a ros-workspace:

catkin_make

3. Run the Simulation

source devel/setup.bash
./simulation.sh

You can set wind disturbance with keyboard "WASD". The default disturbance is quite fierce. If the drone flew outside the corridor, you would have to relauch the nodes.

4. Licence

The source code is released under GPLv3 license.

5. Maintaince

For any technical issues, please contact Jialin JI ([email protected]) or Fei GAO ([email protected]).

For commercial inquiries, please contact Fei GAO ([email protected]).

cmpcc's People

Contributors

gaailam avatar ustfgaoaa avatar

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.