Coder Social home page Coder Social logo

shrit / magicflock Goto Github PK

View Code? Open in Web Editor NEW
13.0 2.0 2.0 6.78 MB

Simulation platform for drones swarms

License: GNU General Public License v2.0

CMake 36.51% C++ 54.26% Python 8.52% Shell 0.71%
c-plus-plus quadrotors swarm machine-learning supervised-learning leader-follower trajectory-prediction simulator simulation robotics gazebo gazebo-simulator drones droneswarm

magicflock's Introduction


MagicFlock

License: GPL v2

MagicFlock is an easy-to-use simulation platform for quadrotors. MagicFlock is a library that is intended to make quadrotors simulator easy in Gazebo simulator. MagicFlock has an intuitive and simple interface that allows researchers to test algorithms on several quadrotors by writing only several lines of code. In addition, the library has a set of simple examples that can use a tutorial to create and simulate your swarm.

MagicFlock differs from other libraries by the following:

  • It has no dependencies on ROS
  • Support data-driven approaches: such as iterative learning or Reinforcement learning
  • Simple and intuitive interface
  • Can be used in the Reinforcement Learning context
  • Easy to install and to maintain (small amount of dependencies)

After installing MagicFlock, a set of examples can be found in examples\ folder. A generic example is provided as a starter guide to understand the basic simulation principle. All examples are documented on Gitbook, can be found here. Examples implement the algorithm needed to maintain a swarm of quadrotors from taking off until landing. Also, to maintain the swarm intact as long as possible.

Dependencies

Gazebo >= 8
mlpack > 3.4 (for machine learning examples)
CMake >=3.10
Armadillo > 8.400

Installation

If you have Gazebo and all other dependencies installed:

git clone https://github.com/shrit/MagicFlock.git
cd MagicFlock
git submodule update --init --recursive
mkdir build
cmake ../
make -j8
sudo make install
  • Full documentation can be found here including the full installation guide Please refer to our installation guide, to install the libraries and their dependencies.

Paper and video

If you are using IL4MRC in your research, please cite the following paper, can be found here:

@inproceedings{shrit:hal-03133162,
  TITLE = {{Iterative Learning for Model Reactive Control: Application to autonomous multi-agent control}},
  AUTHOR = {Shrit, Omar and Filliat, David and Sebag, Michele},
  URL = {https://hal.archives-ouvertes.fr/hal-03133162},
  BOOKTITLE = {{ICARA}},
  ADDRESS = {Prague, Czech Republic},
  YEAR = {2021},
  MONTH = Feb,
  HAL_ID = {hal-03133162},
  HAL_VERSION = {v1},
  }

Contribution

The library still in early-stage development with no release yet. Contributions are very welcomed, please do not hesitate in opening issues for a problem, or sending a pull request for any thoughtful ideas.

License

This project is licensed under GPL license GNU GPL v2.0

magicflock's People

Contributors

shrit avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

magicflock's Issues

cmake error

hello, there is an error,when build the project.

CMake Error at src/MagicFlock/CMakeLists.txt:81 (install):
install TARGETS given no LIBRARY DESTINATION for shared library target
"MagicFlock".

how can I solve that?

thank you

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.