Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Documentation of MAPF algorithms used here #6

Closed
ljaniec opened this issue Aug 23, 2022 · 4 comments
Closed

Documentation of MAPF algorithms used here #6

ljaniec opened this issue Aug 23, 2022 · 4 comments
Labels
enhancement New feature or request

Comments

@ljaniec
Copy link

ljaniec commented Aug 23, 2022

Feature request

I would like to read more documentation about MAPF algorithms implemented/WIP/to-be-implemented in the Open-RMF.

Description

At the moment I could not find any documentation besides the code in this repository. Will these be Rust-only implementations, or will it be possible to implement algorithms in C/C++/Python, for example?

@ljaniec ljaniec added the enhancement New feature or request label Aug 23, 2022
@ljaniec ljaniec changed the title Documentation Documentation of MAPF algorithms used here Aug 23, 2022
@ros2torial
Copy link

Hi @mxgrey,
Can you please provide flow diagram/architecture of this algorithm for understanding its core. It would be better if you can provide reference of related research paper.

@winstxnhdw
Copy link
Contributor

winstxnhdw commented May 15, 2024

Hi guys, I believe the implementation in this codebase is referenced from https://arxiv.org/abs/1901.05506

@mxgrey
Copy link
Contributor

mxgrey commented May 17, 2024

A few points of clarification:

  • This is a planning framework rather than an implementation of a single algorithm.
  • There are several single-robot planning algorithms that are being provided, including A*, Dijkstra (forward and backward), and SIPP (Safe Interval Path Planning).
  • The only multi-agent planning algorithm we have right now is Continuous-time Conflict Based Search, but we will add more over time.
  • It is possible to write custom algorithms or custom domains downstream (in your own projects/libraries) and use them with this framework, exactly the same as any algorithms that we provide out of the box from this repo.

Will these be Rust-only implementations

I will be implementing all the algorithms in this repo using Rust. Since downstream projects can also implement algorithms for this framework, those projects are welcome to incorporate other languages into their algorithms using bindings if it suits them.

It's likely that I will create downstream packages to provide language bindings so that out-of-the-box planners that we implement with this library can be used in other languages, like C++ and Python.

@ljaniec
Copy link
Author

ljaniec commented May 21, 2024

@mxgrey Thank you for the clarification and your answers. I don't know Rust (yet?), but the C++/Python bindings will be helpful for sure in the future.

@ljaniec ljaniec closed this as completed May 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants