Himanshu Gupta
Date: 1/11/2024
LSN Lecture
MAPF + Hybrid A*
Layout
- What is the formal definition of MAPF?
- What are some state-of-the-art solvers for MAPF?
- Learn about one of them
- Learn about one of them
- Hybrid A*
- Demo!
MAPF
MAPF
-
It is defined by
- a graph \(G(V,E)\)
- Set of k agents \(A_1, A_2 ... A_k\)
- \(s_i \in V\) - starting state for agent i
- \(g_i \in V\) - goal position for agent i
-
At every time step, the agent can either move or wait (both have same cost)
-
Goal : Find a sequence of actions to move all agents from their \(s_i\) to \(g_i\) while avoiding collisions and minimizing the total execution time.
- Collision - two agents occupying the same region in the environment at the same time
How to solve MAPF problems?
-
Early Days (Before 2012)
-
Coupled Approaches: Finds optimal solution but don't scale well.
-
Integer Linear Programming (ILP)
- an optimization problem with constraints. Only worked well for problems with relatively small numbers of agents and grid sizes.
- A* and its Variants
-
Integer Linear Programming (ILP)
-
Decoupled Approaches: Doesn't find the optimal solution but scales well.
-
Sequential Approaches
- assign every agent a priority value
- Find path for every agent while considering the path used by the previous agents.
-
Sequential Approaches
-
Coupled Approaches: Finds optimal solution but don't scale well.
How to solve MAPF problems?
-
2012 :
- How can we merge benefits of both the coupled and the decoupled approaches?
- Welcome CBS!
-
CBS - Conflict Based Search
-
Came out in 2012, but was accepted in 2015
-
because of error in optimality guarantee proofs
-
because of error in optimality guarantee proofs
-
Came out in 2012, but was accepted in 2015
-
After 2012 :
- ICBS - Iterative CBS
- ECBS - Enhanced CBS
- The list goes on.....
CBS
- Conflict-Based Search (CBS) algorithm
- a two-level algorithm for solving MAPF problems optimally.
CBS
CBS
- High-level decision maker
- Only finds and adds constraints
- Only finds and adds constraints
- Low-level decision maker
- Finds a solution/path for an agent.
- Can be any algorithm of the user's choice.
- Easily extends to robotics problems we care about!!
- And yet wasn't done till 2022
K-CBS - Kidodynamic CBS
- Low level planner - RRT
CL-MAPF - Car Like MAPF
- Low level planner - Hybrid A*
Hybrid A*
-
A*, but for continuous state space!
- Just do discretization smartly.
-
Search in continuous space, but discretize states and put them in bins.
-
Due to the discretization of the state space, it loses optimality guarantees that \(A^*\) has.
- So for a Dubin's car, it will find a drivable path but not the best path (reasonably good though)!
Demo
Steps for MAPF demo
- Install Julia
- Clone this repository
https://github.com/himanshugupta1009/MultiAgentPathFinding.jl
- Follow the instructions in the README
Steps for Hybrid A* demo
- Install Julia
- Open Julia REPL
- Add the Hybrid A* package using these commands
using Pkg
Pkg.add("HybridAStar")
- Add the Hybrid A* package using these commands
- Follow the example files available here
https://github.com/CU-ADCL/HybridAStar.jl/tree/master
How can we do this?
Just use Hybrid A* code for low level planning with CBS planner
LSN - MAPF
By Himanshu Gupta
LSN - MAPF
- 36