A Multi-Agent Path Finding visualization website.

Overview

MIT License

MAPF Visualizer

A visualization tool for multi-agent path finding algorithms.

About The Project

This project provides a visualization tool for Multi-Agent Path Finding (MAPF) algorithms.

There have been tons of single agent path finding visualization websites, yet they all make use of well-established algorithms such as A star and Dijkstra. However, the field of multi agent path finding is relatively new (CBS, an important MAPF algorithm, was proposed in 2012) and thus didn't gain as much public attention.

This website aims at helping people better understand MAPF by offering a real-time visualization tool. Usually running a MAPF solver involves the following steps:

  1. compile the C++ code into executables
  2. put the map and instance into two separate files with contents formatted in terms of certain rules
  3. run the executable with a complicated command

This website offers a much more intuitive experience. Users will be able to:

  1. select a particular algorithm they are interested in
  2. design their own map by dragging their mouse to add walls
  3. adding agents by entering their start and goal location
  4. press the plan button and get the animated planning result instantly

Currently supported MAPF variants and algorithms

1. Classic single-point MAPF

  • CBSH2-RTC by Jiaoyang Li. This solver consists of Conflict-Based Search (CBS) and many of its improvement techniques, including:
    • Prioritizing conflicts
    • Bypassing conflicts
    • High-level admissible heuristics:
      • CG
      • DG
      • WDG
    • Symmetry reasoning techniques:
      • rectangle reasoning and generalized rectangle reasoning
      • target reasoning
      • corridor reasoning and corridor-target reasoning
      • mutex propagation
    • Disjoint splitting

2. Large agent MAPF

  • Multi-Constraint CBS (MC-CBS) by Jiaoyang Li
  • Multi-Constraint CBS with Mutex propagation (MC-CBS-M) by Han Zhang, Yutong Li, and Jiaoyang Li

Built With

This project is bootstrapped with the following frameworks and libraries:

Getting Started

Open MAPF Visualizer in one of the following browsers for optimal support:

  • Chrome v98 and later
  • FIrefox v94 or later
  • Edge v98 or later
  • Safari v15.4 or later (Note: this requires that you have updated to Mac OS Monterey 12.4, which most people haven't.)

Contributing

If you have a MAPF-related algorithm that might fit into the framework of this website, please reach out to me via email and I'll be very willing to incorporate it into the website.

More to implement

  • Add pages for more detailed information about MAPF algorithms and corresponding papers.
  • Include more MAPF algorithms (CSB-based, SAT-based, etc.) for users to choose which one to run their MAPF instance on.
  • Include some other MAPF variants, such as k-robust and lifelong MAPF.
  • ...

License

Distributed under the MIT License. See LICENSE.txt for more information.

Contact

For more information about me, please visit my personal website.

You might also like...

🦠🔬 Forta agent that detect deployment of smart contracts containing an exploit function

Attack Simulation Bot Description The agent detects deployment of smart contracts containing an exploit function. Using a simulation-based approach, t

Dec 26, 2022

Nodejs agent for Sidekick open-source live application debugger

Sidekick Agent NodeJS Sidekick agent Nodejs is a Nodejs library that communicate with Sidekick broker to inspect, monitor and debug your application o

Nov 8, 2022

Your emergency buddy and agent.

Your emergency buddy and agent.

S.H.I.E.L.D: To make you Beware of your surrounding The main aim of the S.H.I.E.L.D is to safeguard the individual and also make them aware about the

Oct 2, 2022

Your emergency buddy and agent.

Your emergency buddy and agent.

S.H.I.E.L.D: To make you Beware of your surrounding The main aim of the S.H.I.E.L.D is to safeguard the individual and also make them aware about the

Oct 2, 2022

Front end for Agent-LLM.

Front end for Agent-LLM.

Agent-LLM (Large Language Model), Front End Please use the outreach email for media, sponsorship, or to contact us for other miscellaneous purposes. D

May 8, 2023

SWC plugin for transforming import path.

swc-plugin-transform-import Inspired from babel-plugin-transform-imports Installation npm i -D swc-plugin-transform-import Uses with webpack-config //

Dec 24, 2022

This package enables you to mount your Remix app at a different path than root

This package enables you to mount your Remix app at a different path than root

Remix Mount Routes This package enables you to mount your Remix app at a different path than root. 🛠 Installation npm install -D remix-mount-routes

Dec 17, 2022

Detect the executable python interpreter cmd in $PATH.

detect-python-interpreter Detect the executable python interpreter cmd in $PATH. Installation $ npm install --save detect-python-interpreter Usage con

Apr 12, 2022

Userland module that implements the module path mapping that Node.js does with "exports" in package.json

exports-map Userland module that implements the module path mapping that Node.js does with "exports" in package.json npm install exports-map Usage co

May 31, 2022
This is a little script that shows how to ddos a website. Can bypass cloudfare & ddos-guard. Ip switcher and random user agent

This is a little script that shows how to ddos a website. Can bypass cloudfare & ddos-guard. Ip switcher and random user agent

null 13 Dec 17, 2022
Finding RATs is hard. Push notifications for findarat.com.au

RAT-Push-Notifications Finding RATs is hard. Push notifications for findarat.com.au What is this? This is a script that will run on your computer / se

Richard S 3 Jan 13, 2022
Zed Attack Proxy Scripts for finding CVEs and Secrets.

zap-scripts Zed Attack Proxy Scripts for finding CVEs and Secrets. Building This project uses Gradle to build the ZAP add-on, simply run: ./gradlew bu

Sepehrdad 115 Jan 3, 2023
A portal for finding and posting jobs. Assignment for internship.

Naukri Dundho A portal for finding and posting jobs. Assignment for internship. ?? Explore the docs » • Report Bug • Request Feature • Backend Documan

Prasoon Soni 5 Sep 14, 2022
A TypeScript implementation of High-Performance Polynomial Root Finding for Graphics (Yuksel 2022)

Nomial Nomial is a TypeScript implementation of Cem Yuksel's extremely fast, robust, and simple root finding algorithm presented in the paper "High-Pe

Peter Boyer 10 Aug 3, 2022
Linkify is a JavaScript plugin for finding links in plain-text and converting them to HTML tags.

Linkify Linkify is a JavaScript plugin. Use Linkify to find links in plain-text and convert them to HTML <a> tags. It automatically highlights URLs, #

Hypercontext 1.5k Dec 27, 2022
API, web and mobile application for finding a partner to play online multiplayer games.

Duo Finder Duo Finder is a simple mobile and web application for gamers looking for partners to play a game with. It's basics was developed during the

José Guilherme Fernandes Moura 2 Sep 20, 2022
A cloudflare worker to use the user-agent for ~~rickrolling~~ without a discord embed

nextcord.gay A cloudflare worker to use the user-agent for rickrolling without a discord embed Build npm run build Find the output in ./dist/worker.mj

Oliver Wilkes 10 Oct 4, 2022
UAParser.js - Detect Browser, Engine, OS, CPU, and Device type/model from User-Agent data. Supports browser & node.js environment.

UAParser.js JavaScript library to detect Browser, Engine, OS, CPU, and Device type/model from User-Agent data with relatively small footprint (~17KB m

Faisal Salman 7.4k Jan 4, 2023
This repository demonstrates how to integrate your Dialogflow agent with 3rd-party services services using a Node.JS backend service

This repository demonstrates how to integrate your Dialogflow agent with 3rd-party services services using a Node.JS backend service. Integrating your service allows you to take actions based on end-user expressions and send dynamic responses back to the end-user.

ddayto 10 Jul 21, 2022