Loved the project? Please consider donating to help it improve!
- β¨ Built to be expanded: easy to add new planners
- π₯οΈ Supported on Ubuntu
- π Built with Python
- π Reactive Distributed Planners (Nonlinear Model Predictive Control, Velocity Obstacles)
- π§ Centralized Planners (Space-Time A*)
- π Benchmark Tools (Incoming...)
- π» Maintained (Incoming: Enhanced Conflict-Based Search, Local-Repair A*, Replanning RRT*...)
- Install Python (3.7.5 is the tested version)
- Install Pip:
sudo apt install python3-pip
- Upgrade Pip:
python3 -m pip install --upgrade pip
- Clone the repo:
git clone https://github.com/apla-toolbox/pymapf
- Cd into the repo
cd pymapf
- Install requirements:
python3 -m pip install -r requirements.txt
- Install the package:
python3 -m pip install pymapf
Launch hub switch scripts using:
python3 scripts/switch_positions_nmpc.py
python3 scripts/switch_positions_vel_obstacles.py
(broken)
More to come...
from pymapf.decentralized import MultiAgentNMPC
from pymapf.decentralized.position import Position
import numpy as np
sim = MultiAgentNMPC()
sim.register_agent("r2d2", Position(0, 3), Position(10, 7))
sim.register_agent("bb8", Position(0, 7), Position(5, 10))
sim.register_agent("c3po", Position(10, 7), Position(5, 0))
sim.register_obstacle(2, np.pi/4, Position(0, 0))
sim.run_simulation()
sim.visualize("filename_test", 10, 10)
from pymapf.decentralized.velocity_obstacle import MultiAgentVelocityObstacle
from pymapf.decentralized.position import Position
sim = MultiAgentVelocityObstacle(simulation_time=8.0)
sim.register_agent("r2d2", Position(0, 3), Position(10, 7))
sim.register_agent("bb8", Position(0, 7), Position(5, 10))
sim.register_agent("c3po", Position(10, 7), Position(5, 0))
sim.run_simulation()
sim.visualize("filename_test_2", 10, 10)
If you use the project in your work, please consider citing it with:
@misc{https://doi.org/10.13140/rg.2.2.14030.28486,
doi = {10.13140/RG.2.2.14030.28486},
url = {https://rgdoi.net/10.13140/RG.2.2.14030.28486},
author = {Erwin Lejeune and Sampreet Sarkar},
language = {en},
title = {Survey of the Multi-Agent Pathfinding Solutions},
publisher = {Unpublished},
year = {2021}
}
List of publications & preprints using pymapf
(please open a pull request to add missing entries):
- Survey of MAPF solutions (January 2021)
Open an issue to state clearly the contribution you want to make. Upon aproval send in a PR with the Issue referenced. (Implement Issue #No / Fix Issue #No).
- Erwin Lejeune
- Sampreet Sarkar