Jingtao Tang, Zining Mao, Lufan Yang, Hang Ma
Simon Fraser University
* Previously as "Space-Time Graphs of Convex Sets for Multi-Robot Motion Planning"
Spatiotemporal motion planning, especially in multi-robot settings, requires robots to reason about collision-free regions that change over time, which is challenging in continuous spaces when feasible regions are transient and geometrically constrained. We present an algorithmic framework based on graphs of space-time convex sets (ST-GCSs), where collision-free regions are represented as convex sets in space-time and trajectories correspond to paths on the graph together with continuous motions within the selected sets. We formulate time-optimal planning on ST-GCSs as a graph-search problem over path-indexed states and develop a best-first search solver that evaluates partial paths via continuous trajectory optimization, guided by admissible heuristics and dominance checks. We further present an Exact Convex Decomposition (ECD) scheme to reserve trajectory occupancies in space-time, enabling unified handling of dynamic obstacles and multi-robot interactions. For multi-robot motion planning, we integrate ST-GCS planning and ECD into prioritized planning methods and introduce a windowed coordination scheme to improve efficiency. Extensive experiments on single-robot and multi-robot problems demonstrate substantial speedups over various planners while maintaining high solution quality, particularly in environments with narrow and transient feasible regions. Large-scale demonstrations further show that the proposed MRMP planner can solve instances with up to 100 robots within only a few minutes.
Motion Planning on a Graph of Convex Sets (GCS) solves a generalized shortest path problem on a graph whose vertices are convex sets, which jointly optimizes: 1) a graph path (i.e., vertex sequence) and 2) the starting and terminating states determining the segment within each convex set along the path. The program is formulated as follows:
Spatiotemporal Motion Planning on a Graph of Space-Time Convex Sets (ST-GCS) extends GCS by lifting the planning problem from spatial regions into space-time regions. This allows the planner to jointly optimize the route, timing, and continuous motion while respecting velocity limits. The program is formulated as follows:
To solve spatiotemporal motion planning on ST-GCS efficiently, we develop a BFS solver over path-indexed partial trajectories. Unlike ordinary graph search, a node is indexed by its full prefix path, because extending the path can change the optimal continuous states along earlier segments. Each node stores its prefix path, optimized trajectory, and an ordering key summing up the cost-to-come and a possibly inflated heuristic. The heuristic is an admissible estimate of the remaining cost to reach the target. When a node is expanded, the solver extends it to adjacent unrevisited convex sets and calls PathOptimize, which fixes the discrete path in the above program for ST-GCS and turns the mixed-integer convex program into a path-conditioned convex optimization over entry/exit states and segment times. Feasible children are inserted into OPEN unless upper-bound pruning removes them using the incumbent cost, or a dominance check prunes them against accepted nodes reaching the same convex set. The left animation visualizes this search process, while the right animation shows the optimized trajectory returned on the ST-GCS.
BFS Procedure
Optimal Solution on ST-GCS
ECD reserves the space-time occupancy of a moving object directly in ST-GCS of any dimension. Given a piecewise-linear trajectory and a clearance radius, ECD removes the swept occupancy from every intersected space-time convex set, slices the remaining free space into convex pieces, and rebuilds the graph connectivity among the updated sets. This produces a new ST-GCS whose vertices still represent space-time collision-free convex regions, but now exclude the reserved trajectory. As a result, dynamic obstacles and previously planned robots can be handled in the same way: later planning queries simply search through the remaining collision-free space-time. The following animations show an example in 2D Space.
The Parallelotope Occupancy of a Segment Subdivides a Convex Set
ECD Procedure to Reserve a Piecewise-Linear Trajectory on an ST-GCSÂ
For MRMP, we use the BFS solver on ST-GCS as the low-level single-robot planner and prioritized planning as the high-level coordination framework. After a robot trajectory is planned, ECD reserves its endpoint-augmented space-time occupancy so later low-level queries search only through the remaining collision-free ST-GCS. To improve scalability, we apply this coordination in a receding-horizon manner: each window plans with near-term reservations, commits a short execution prefix, and then replans from the updated robot states. This is the Windowed-PBS + BFS framework shown in the animation below.
Prioritized Planning (PP)
PP uses a fixed total priority order over the robots. It plans robots sequentially; after each robot is planned, its trajectory is reserved in the ST-GCS, and all lower-priority robots must avoid it. PP succeeds if every low-level BFS query finds a feasible trajectory under the previously reserved higher-priority trajectories, and fails if any robot cannot be planned for that priority order.
Priority-Based Search (PBS)
PBS avoids committing to one fixed priority order. It starts from independently planned trajectories and searches over partial priority constraints between robots. When two trajectories collide, PBS branches by adding one of the two possible priority relations, then replans the newly lower-priority robot and affected descendants through ECD-updated ST-GCSs. A PBS node succeeds when all stored trajectories are pairwise collision-free; Windowed-PBS applies this same conflict-resolution logic inside each finite planning window.
We conduct extensive experiments comparing MRMP performance across representative instances from the three benchmark domains: rand, maze, and iris. Each planner is run with a 30-second runtime budget, and each video reports sum-of-costs (SoC), makespan, and runtime. These examples highlight domain-dependent tradeoffs across randomly connected convex regions, maze-like bottlenecks, and IRIS-generated decompositions. In iris, the convex sets only partially cover the full collision-free space, so ST-GCS-based planners may produce higher-cost trajectories than planners searching directly in continuous free space.
The following animations compare qualitative comparison in representative instances. Each planner is run with a 30-second runtime budget.
rand domain 10-Robot MRMP instance
CB-GCS [Zhao25]:
SoC 39.5, Makespan 6.0, Runtime 27.8s
PP + ST-RRT* (Final Incumbent) [Grothe22]:
SoC 43.0, Makespan 6.1, Runtime 30.0s
K-CBS [Kottinger22]:
SoC 82.2, Makespan 14.4, Runtime 3.3s
maze domain 10-Robot MRMP instance
Windowed-PBS + BFS (Ours):
SoC 175.0, Makespan 17.5, Runtime 5.7s
PP + ST-RRT* (Final Incumbent) [Grothe22]:
SoC 103.9, Makespan 19.1, Runtime 30.0s
K-CBS [Kottinger22]:
SoC 240.2, Makespan 40.1, Runtime 7.3s
iris domain 16-Robot MRMP instance
Windowed-PBS + BFS (Ours):
SoC 220.0, Makespan 13.8, Runtime 19.7s
PP + ST-RRT* (Final Incumbent) [Grothe22]:
SoC 121.2, Makespan 10.1, Runtime 30.0s
K-CBS [Kottinger22]:
SoC 268.9, Makespan 23.6, Runtime 26.1s
The following simulations show the proposed Windowed-PBS + BFS scaling to highly congested MRMP instances with tens to one hundred robots. After computing feasible piecewise-linear trajectories, we optionally apply trajectory optimization as a smoothing postprocessing step using fixed-time spatial samples. The resulting convex quadratic program improves smoothness while preserving start/goal states, velocity limits, assigned collision-free regions, and sampled robot-robot separation.
50-Robot MRMP: Windowed-PBS + BFS (98.7s)
50-Robot MRMP: Trajectory Optimization Postprocessing (97.2s)
100-Robot MRMP: Windowed-PBS + BFS (95.9s)
100-Robot MRMP: Trajectory Optimization Postprocessing (206.8s)
32-UAV MRMP: Windowed-PBS + BFS (68.5s)
32-UAV MRMP: Trajectory Optimization Postprocessing (206.8s)
48-UAV MRMP in Village Scene: Windowed-PBS + BFS (225.0s); Trajectory Optimization Postprocessing (163.2s)
We deploy the same planning pipeline on nine differential-drive mobile robots in an indoor rearrangement task. For system robustness, we set velocity limits below the robots’ physical limits and use an inter-robot clearance larger than twice the robot radius. The smoothed trajectories are converted into time-indexed references, which the robots track using segment-wise linear and angular velocities between fixed-duration state samples.
9-Robot Rearrange Task: Windowed-PBS + BFS (4.3s); Trajectory Optimization Postprocessing (7.6s)