back to projects

Quadruped Loco-Manipulation

quadrupeds RL whole-body control
Hero GIF or MP4 poster
Code ↗ Paper ↗

Legged platforms are usually treated as locomotion problems and manipulators as static-base problems. This project treats them as one: a single whole-body policy that plans footholds and end-effector contacts together, so the robot can push a door open with its body while carrying a payload in its arm.

Approach

Training runs in a domain-randomised simulator with contact-rich props, then transfers with a residual policy fitted on roughly two hours of real-robot interaction. The reward decomposes into a locomotion term, a manipulation term, and a stability margin that penalises configurations from which recovery is not possible.

policy = WholeBodyPolicy(
    obs_dim = 187,
    contacts = ["fl", "fr", "hl", "hr", "ee"],
    margin = StabilityMargin(horizon=0.4),
)
Figure 1
Figure 2

Left: simulated contact schedule. Right: the same manoeuvre on hardware.

back to projects