Engineering
Cooperative robot transport
In the rover hangar of a Mars research base at sunset, its great door open on the red regolith, six small six-wheeled robots docked to a big crate of solar panels carry it along a painted line through a quarter turn to its bay. The floor’s Coulomb friction asks for mu m g before the crate moves at all; each robot’s wheels give at most mu_w m_r g, so the number of robots needed is the same on Mars and on the Moon and grows on Earth, where the motors limit. The team shares one control law and every robot takes its minimal-norm share: switch one off and watch the crate yaw until the others learn of it and take up its load; take two away and the team saturates and the crate only creeps. Let a single robot push the empty crate off-centre and it turns about the point on its long axis that the closed form for a uniform rectangle predicts. Every joule the robots put in reappears as heat in the floor.

What happens
A 3.0 × 1.2 m crate of 300 kg (I = m·(L² + W²)/12 = 261 kg·m²) stands on steel floor plates with μ = 0.4 under Mars gravity, 3.721 m/s². Its weight presses uniformly on the footprint, and Coulomb friction acts on each of 24 × 10 cells against the cell’s own velocity, smoothed below ε = 2 mm/s: before the crate slides at all the robots must push μ·m·g = 446.5 N. Each 40 kg robot is docked to a long side and pushes at most min(150 N, μ_w·m_r·g) = 104.2 N with μ_w = 0.7, so ceil(μ·m·g/F_max) = 5 robots are needed on Mars and on the Moon - the traction falls with g as the friction does - and 8 on Earth, where the motors limit. The path runs 6 m straight, a quarter turn of 3.5 m radius and 5 m more at 0.25 m/s with 0.1 m/s² of acceleration. The team shares one PID wrench on the pose error (a triple pole at 1.2 rad/s) plus the known floor friction as feed-forward; every robot takes its minimal-norm share f_i = F/n + ((τ − c×F)/J)·rot90(r_i − c) over the robots the team believes active, and all shares shrink together when one would pass its limit. A failed robot stops pushing at once; the others learn of it after the detection delay. The single pusher drives into the long side of the empty 80 kg crate at 0.1 m/s: quasi-statically the crate turns about the point on its long axis where the friction resultant of the uniform rectangle - closed-form integrals of ρ and w/ρ over it - lies on the pusher’s line. The twist advances by the implicit midpoint rule, Newton on the convex dissipation potential, with the robots’ forces held over each 10 ms control step, so the robots’ work equals friction heat plus kinetic energy to round-off.
Try this
Watch six robots share the load equally on the straight and carry the crate into its bay; drop a robot and watch the yaw and the new shares; try four robots, or Earth; choose the single pusher and compare the centre of rotation with the closed form; move the push point.
The model and its limits
A rigid crate on a flat rigid floor with uniform pressure and Coulomb friction smoothed below 2 mm/s - so a crate held below its threshold creeps at ε·f/√(1 − f²) instead of sticking; robots as ideal force sources at their docks (their own mass and rolling are carried by their own drives), ideal shared localization and an instantaneous consensus except the failure detection delay; no compliance in the grippers, no slip of a robot’s wheels on the floor beyond its force limit.
Equations used in the module
Equations F_fr = −Σ μ·p·ΔA·u_c/√(|u_c|² + ε²), u_c = V + Ω×r_c, pure translation: |F_fr| = μ·m·g·v/√(v² + ε²) f_i = F/n + ((τ − c×F)/J)·rot90(r_i − c), J = Σ|r_i − c|², |f_i| ≤ min(F_motor, μ_w·m_r·g) n ≥ μ·m·g/F_max, below it: v_creep = ε·f/√(1 − f²), f = n·F_max/(μ·m·g) e = ∫ρ dA/∫(w/ρ) dA + c, F_push = μ·p·∫(w/ρ) dA, W_robots = Q_friction + E_k


