Optimal Transport for Multi-Agent Coordination
Dates: Feb. 2026 – May 2026
Role:
Ph.D. Research Intern, Human-Robot Collaboration Team, Honda Research Institute (San Jose, CA)
Mentor:
Peter Trautman (also my co-author on Fast Ergodic Search with Kernel Functions)
Skills:
Optimal Transport, Model Predictive Control, PyTorch, ROS 2, MoveIt
Motivation:
The question I spent the internship on: when does collaboration actually help? Intuitively, two agents working independently should beat one agent, and two agents working together should beat two agents working independently. But that isn't always true. For a lot of tasks, "you go left, I'll go right" is as good as it gets, and trying to coordinate just adds overhead. I wanted to find tasks where coordinating is genuinely needed, and figure out how to design algorithms for it.
What I did:
I picked a co-manipulation task: two end effectors pushing a T-shaped block into a goal region (a two-agent version of PushT). Each agent plans with a closed-loop, receding-horizon MPC (cross-entropy method), which gives a distribution over its own future trajectories. The interesting part is how to combine those two marginals into a joint plan. I compared a single agent, two independent agents, and a few ways of coupling them, ending with an optimal transport (OT) formulation that respects both agents' marginals while choosing a joint action.
Qualitatively, the naive couplings either averaged away the useful modes and got stuck in local minima, or had the agents getting in each other's way. The OT version recovered from those local minima. My favorite behavior: one end effector acts as a pivot while the other pushes, which independent agents never figured out.
On the side, I set up a robot arm on hardware, including position and velocity control and a PR for ROS 2 Foxy MoveIt support.
THIS PAGE WAS DRAFTED USING AN AI CODING AGENT.