Robotics

pycoordination: Python port of multi-robot trajectory coordinator from Örebro University

Coordinate any number of robots in shared spaces without discretizing the map or central planning

Deep Dive

pycoordination brings the multi-robot trajectory-envelope coordinator from Örebro University's coordination_oru (Pecora et al., ICAPS 2018) to Python. It coordinates any number of robots sharing a workspace without discretizing the map or requiring a central motion planner. Each robot follows its own path from any planner; the coordinator reasons over trajectory envelopes (sweeps of the robot's footprint), finds critical sections where envelopes overlap, and imposes online precedence constraints so only one robot traverses a contested region at a time. Key properties preserved: loose coupling (independent of motion planning), online continuous coordination (heuristic-driven revisions each control period), deadlock detection and resolution via replanning, and built-in simulation with RK4 integration and Hybrid A*/Reeds-Shepp planning over ROS-style occupancy maps.

The Python port introduces a browser-based live viewer (swept envelopes, critical-section highlights, click-and-drag goal posting) alongside a pyglet viewer, an asyncio-based concurrency model replacing Java threads, and simple pip install. The Java dependencies (JTS, JGraphT, meta-csp) map to shapely/GEOS, networkx, and a small custom STP layer, with documentation cross-referencing the paper's algorithms line-by-line. The project is GPL-3.0, and the ROS layer of the original is out of scope (but a future ROS 2 wrapper is natural). JackMcMurdo openly acknowledges AI assistance (Claude Code) in the porting process—a deliberate, human-directed effort with multiple iterations of verification against the original code and paper.

Key Points
  • Loose coupling: works with any motion planner; only a forward model of robot dynamics required.
  • Online coordination: precedence constraints revised each control period using pluggable heuristics, with deadlock resolution via replanning.
  • New features: pip install, browser-based live viewer, asyncio concurrency, and documentation that maps paper algorithms to code line-by-line.

Why It Matters

Democratizes multi-robot coordination research by making a proven, well-documented system accessible to Python developers.

📬 Get the top 10 AI stories daily