Giter Site home page Giter Site logo

jingaolouis / rmader Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mit-acl/rmader

0.0 0.0 0.0 146.5 MB

Decentralized Multiagent Trajectory Planner Robust to Communication Delay

Home Page: https://arxiv.org/abs/2303.06222

License: BSD 3-Clause "New" or "Revised" License

Shell 1.03% C++ 59.81% Python 9.50% MATLAB 0.87% Mathematica 27.84% Makefile 0.01% CMake 0.47% AMPL 0.32% Dockerfile 0.15%

rmader's Introduction

Robust MADER: Decentralized and Asynchronous Multiagent Trajectory Planner Robust to Communication Delay

Accepted to IEEE Robotics and Automation Letters (RA-L)

Accepted to 2023 IEEE International Conference on Robotics and Automation (ICRA)

Awarded Best Poster Award at 2023 IEEE International Conference on Robotics and Automation (ICRA) CAMRS Workshop

4 agents with 2 dynamic obstacles 6 agents with 2 dynamic obstacles
Hardware experiment: 4 agent with 2 dynamic obstacles Hardware experiment: 6 agent with 2 dynamic obstacles
10 agents under 300ms comm. delay 10 agents with 10 dynamic obstacles under 50ms comm. delay
Simulation: 10 agents under 300ms comm. delay Simulation: 10 agents with 10 dynamic obstacles under 50ms comm. delay

Citation

(RA-L preprint) Robust MADER: Decentralized Multiagent Trajectory Planner Robust to Communication Delay in Dynamic Environments (pdf, video):

@article{kondo2023robust,
  title={Robust MADER: Decentralized Multiagent Trajectory Planner Robust to Communication Delay in Dynamic Environments},
  author={Kondo, Kota and Figueroa, Reinaldo and Rached, Juan and Tordesillas, Jesus and Lusk, Parker C and How, Jonathan P},
  journal={arXiv preprint arXiv:2303.06222},
  year={2023}
}

(ICRA Paper) Robust MADER: Decentralized and Asynchronous Multiagent Trajectory Planner Robust to Communication Delay (pdf, video):

@INPROCEEDINGS{10161244,
  author={Kondo, Kota and Tordesillas, Jesus and Figueroa, Reinaldo and Rached, Juan and Merkel, Joseph and Lusk, Parker C. and How, Jonathan P.},
  booktitle={2023 IEEE International Conference on Robotics and Automation (ICRA)}, 
  title={Robust MADER: Decentralized and Asynchronous Multiagent Trajectory Planner Robust to Communication Delay}, 
  year={2023},
  volume={},
  number={},
  pages={1687-1693},
  doi={10.1109/ICRA48891.2023.10161244}}

General Setup

RMADER has been tested with Ubuntu 20.04/ROS Noetic

Not Using Docker

The backend optimizer is Gurobi. Please install the Gurobi Optimizer, and test your installation typing gurobi.sh in the terminal. Have a look at this section if you have any issues.

Then simply run this commands:

cd ~/ && mkdir ws && cd ws && mkdir src && cd src
git clone https://github.com/mit-acl/rmader.git
cd ..
bash src/rmader/install_and_compile.sh      

The script install_and_compile.sh will install CGAL v4.12.4, GLPK and other ROS packages (check the script for details). It will also compile the repo. This bash script assumes that you already have ROS installed in your machine.

Using Docker

Install Docker using this steps, and remove the need of sudo following these steps. Then follow these steps:

cd ~/ && mkdir ws && cd ws && mkdir src && cd src
git clone https://github.com/mit-acl/rmader.git

For Gurobi, you need to download gurobi.lic file from Gurobi Web License Manager (more info here). A gurobi.lic not obtained through WLS will not work on docker. Place your gurobi.lic in docker folder and execute these commands:

cd ./rmader/rmader/docker
docker build -t rmader . #This will probably take several minutes

Once built,

docker run --volume=$PWD/gurobi.lic:/opt/gurobi/gurobi.lic:ro -it rmader
Useful Docker commands
docker container ls -a  #Show a list of the containers
docker rm $(docker ps -aq) #remove all the containers
docker image ls #Show a lis of the images
docker image rm XXX #remove a specific image

### lambda machine simulation
docker build -f rmader/rmader/docker/Dockerfile -t rmader .
docker run --cpus=48 --volume=/home/kkondo/rmader_project/rmader_ws/src/rmader/rmader/docker/gurobi.lic:/opt/gurobi/gurobi.lic:ro --volume=/home/kkondo/data:/home/kota/data -it rmader

Running Multiagent Simulations with 10 agents

Note: For a high number of agents, the performance of RMADER improves with the number of CPUs available in your computer.

roscd rmader && cd script && python run_rmader.py

(if you want to modify the parameters, you can do so in rmader.yaml).

Issues when installing Gurobi:

If you find the error:

“gurobi_continuous.cpp:(.text.startup+0x74): undefined reference to
`GRBModel::set(GRB_StringAttr, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&)'”

The solution is:

cd /opt/gurobi800/linux64/src/build  #Note that the name of the folder gurobi800 changes according to the Gurobi version
sudo make
sudo cp libgurobi_c++.a ../../lib/

Credits:

This package uses some C++ classes from the DecompROS repo (included in the thirdparty folder).

Approval for release: This code was approved for release by The Boeing Company in [NEED TO FILL].

rmader's People

Contributors

kotakondo avatar jtorde avatar aclswarm 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.