Model-Based Diffusion Optimal Control for Multi-Robot Motion Planning
Generate feasible motion. Coordinate safely.
Connect generative models, manifold geometry, and robot learning. Turn structured proposals into motion that responds to constraints and contact.
From coordinating robots to maintaining contact, explore original demonstrations from the research behind the framework.
MDOC-CBS coordinates multiple robots in a constrained scene.
An arm executes obstacle-avoidance motion in the D3IL environment.
Governed quadruped motion follows discrete footholds.
Body posture and clearance adapt through a constrained corridor.
A rigid arm scans a surface with changing material compliance.
Motion and impedance adapt during peg insertion.
Real Unitree G1 navigates motion-capture-registered AR virtual obstacles.
Original MGA hardware footage of contact with compliant material.
Original MGA hardware footage of peg insertion.
Unitree H1 pushes a box forward from a fixed stance.
Unitree H1 regulates contact force against a stationary box.
Unitree H1 adjusts contact to free a box from a narrow passage.
Dynamics, constraints, geometry, and contact feedback. Each work opens the next question in making generated behavior useful for robots.
A useful motion plan must obey the robot's dynamics and avoid collisions, even when many robots share the same space. MDOC brings these requirements inside model-based diffusion: candidate controls are corrected during rollout, and known dynamics turn them into executable state trajectories. The planner estimates its denoising direction from evaluated rollouts without learning from demonstrations. MDOC-CBS then uses the same low-level mechanism to resolve conflicts between robots.
Connected ideas, distinct problem settings. Each method has its own scope, evidence, and trade-offs.
Compare generative planners and control methods through shared environments, configurations, and evaluation protocols.
Reuse policy checkpoints or learned trajectory distributions, then guide candidates with dynamics, geometry, and constraints.
Add planners, robot tasks, constraints, metrics, and visualizations through explicit interfaces and registries.
Robot models, task costs, collision geometry, and physical constraints.
Interchangeable algorithms, learned proposals, and geometry-aware updates.
Replanning, feedback, safety components, and inspectable results.
Create a planar task and use 2GO directly. The CPU example needs no robot simulator or pretrained checkpoint.
Install the package and optimization extras first. Repository access is required while the release is being prepared.
import jax
import numpy as np
from genedynamics.envs import make_env, make_energy
from genedynamics.solvers import TwoGOSolver
from genedynamics.core.backends.runtime import (
RuntimeBackendManager,
)
RuntimeBackendManager.set_backend("jax", device="cpu")
env = make_env("single_integrator_box_2d")
planner = TwoGOSolver(
dynamics=env,
energy=make_energy("single_integrator_box_2d"),
backend=RuntimeBackendManager.get_backend(),
dt=env.dt, horizon=20, Nsample=128, Ndiffuse=16,
)
plan = planner.solve(
np.array([0.8, 0.8], dtype=np.float32),
horizon=20, rng_key=jax.random.PRNGKey(0),
)
next_state = env.transition(
np.array([0.8, 0.8], dtype=np.float32),
plan.actions[0],
)Each method contributes a different piece of the planning and control stack. Read the ideas, inspect the evidence, and find the corresponding recipe.
Generate feasible motion. Coordinate safely.
Balance exploration, feasibility, and compute.
Let constraint geometry guide the search.
Refine interaction through its physical response.
Start with a CPU example, then explore constraints, learning, and robot tasks.