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

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
           
  • 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
       
  • 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

Steps for Hybrid A* demo

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