top of page

Multi Agent Path Planning

(Feb – May 2021)

Project Overview

This project explores advanced motion planning for multi-robot systems by implementing the M algorithm* in Python. Conducted as an independent study (ENSE699) under the supervision of Dr. Michael Otte at the University of Maryland, the work focused on solving the "curse of dimensionality" inherent in multi-agent pathfinding.

The Algorithm: M* Standard coupled planners (like A*) search the full joint configuration space of all robots, which grows exponentially with every added agent. M* mitigates this using a technique called Subdimensional Expansion.

  • Dynamic Coupling: The algorithm initially plans for each robot separately (decoupled).

  • Local Dimensionality: It only couples robots (increasing the search space dimensionality) when a specific robot-robot collision is detected.

  • Optimality: Unlike pure decoupled approaches, M* guarantees completeness and finds minimal cost paths.

Implementation & Benchmarking: I developed a custom Python simulation environment using Pygame for visualization and NumPy for array manipulation.

  • Scalability: Successfully simulated collision-free pathfinding for swarms of up to 7 robots in crowded grid environments.

  • Performance: Benchmarked M* against a standard Coupled A* implementation. The results demonstrated that M* significantly reduces computation time by exploring a lower-dimensional search space, only expanding dimensions where interactions actually occur.

bottom of page