We present a decentralized, agent agnostic, and safety-aware control framework for human-robot collaboration based on Virtual Model Control (VMC). In our approach, both humans and robots are embedded in the same virtual-component-shaped workspace, where motion is the result of the interaction with virtual springs and dampers rather than explicit trajectory planning. A decentralized, force-based stall detector identifies deadlocks, which are resolved through negotiation. This reduces the probability of robots getting stuck in the block placement task from up to 61.2% to zero in our experiments. The framework scales without structural changes thanks to the distributed implementation: in experiments we demonstrate safe collaboration with up to two robots and two humans, and in simulation up to four robots, maintaining inter-agent separation at around 20 cm. Results show that the method shapes robot behavior intuitively by adjusting control parameters and achieves deadlock-free operation across team sizes in all tested scenarios.
Figures & tables
Fig. 1 : Human-robot collaboration in a pick and place task.
Fig. 3 : Multi-robot simulation. Robot 1 and 2 are for two-robot experiment. Robot 1-3 are for three-robot experiment.
Fig. 4 : Robot 1 avoiding Robot 2 (left) and a human (right) with the same VMC avoidance spring. In both cases, Robot 1 retreats as the other agent approaches, then returns.
Spring profile
dmin (cm)
T<Sp (s)
Spring profile 1 (baseline)
21.8±2.0
4.6±1.8
Spring profile 2 (increased fmax )
24.4±4.7
2.3±1.1
Spring profile 3 (increased σ )
24.8±9.1
0.9±0.9
Spring profile 4 (both increased)
30.0±9.8
0.5±0.5
Spring profile 1 and damper
19.9±2.9
4.1±0.5
TABLE I : Minimum separation dminRH and violation duration T<Sp under different avoidance profiles and mechanisms.
Fig. 5 : Two UR5 robots transport cubic blocks (black squares) toward their target cells (dashed arrows). The intersection of trajectories represents the potential conflict region.
Fig. 6 : Top: without conflict resolution layer, robots entered a deadlock due to force balance at t=25 s and did not recover. Bottom: with the conflict resolution, robots resolved the conflict by prioritizing robot 1 at 10 s. Top-Left: robot trajectories (dashed - desired EE position; solid - EE position). Top-Right: balancing forces at t=150s , indicating a stall; fgoal goal-reaching force, favoid cumulative avoidance force, f=fgoal+favoid . Bottom-Left: robot trajectories. Blue - prioritized interval, Red - non-prioritized interval. Bottom-Right: top - stall detected at t=10.87s , bottom - stall resolved at t=10.95s
Fig. 7 : Completion time, safety and interaction metrics across scenarios and team sizes.
TABLE II : Control parameters for each experiment.