Code Monkey home page Code Monkey logo

hetero-mapf's Introduction

Hetero-MAPF

Overview

Solve MAPF problem when the agents are heterogeneous.

Source Code

Requirement

sudo apt-get install g++ cmake libboost-program-options-dev libyaml-cpp-dev \
clang-tidy clang-format python3-matplotlib libompl-dev libeigen3-dev

Note: Please make sure your matplotlib version is above 2.0, otherwise it may show weird image while visualization. You can upgrade it by pip3 install -U matplotlib.

Build

mkdir build 
cd build
cmake -DCMAKE_BUILD_TYPE=Release  ..
make -j8
  • make: Build Hetero-MAPF code
  • make clang-format: Re-format all source files
  • make all: Build all three targets above

Todo: Prepare for doxygen.

Run example instances

# make sure your are in build folder
# default 5 agent in a batch
./planner -i ../maps/random.yaml -o output.yaml 
# or compute 10 agents in a whole batch
./planner -i ../maps/random.yaml -o output.yaml -b 10

The maps folder also contains a warehouse map for test.

Visualize Results

# make sure your are in build folder
python3 ../src/visualize.py -m ../maps/random.yaml -s output.yaml 

Agent Configuration

The agent configurations, including the size, the kinematic constraints, and penalty functions can be changed in src/config.yaml.

License

The code is provided under the MIT License.

hetero-mapf's People

Contributors

zijinoier 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.