PAINT Reproduction Guide

This guide explains how to re-implement and train PAINT (Partner-Agnostic Intent-Aware Cooperative Transport with Legged Robots, IEEE RA-L 2026) on top of the open-source legged_gym and rsl_rl frameworks.

Code availability

We are unable to release our original training code because it is built on internal, private code that cannot be made public. Instead, this guide provides guidance for reproducing PAINT based on the public legged_gym and rsl_rl (v1.0.2) APIs.

Method at a glance

PAINT is a hierarchical controller. A high-level (HL) transport policy observes only a short history of arm joint states and infers the partner's intent as a planar interaction wrench (force Fx, Fy and yaw torque Θz) applied to the payload. From this it outputs a base velocity command and arm joint targets. A frozen, pretrained low-level (LL) locomotion policy tracks the base command on uneven terrain. No force-torque sensor or payload tracking is used.

Arm proprioception history (H steps) Intent estimator Student HL policy LL locomotion policy (pretrained, frozen) Arm joint PD ŵ ot (concatenated with ŵ) base command (vx, vy, ωz) 6 arm joint targets True wrench (simulation) Teacher HL policy (privileged) MSE KL
Dashed parts exist only during training in simulation. At deployment the robot runs the estimator, the student HL policy and the LL policy.
Component Input Output Trained
LL locomotion policy Leg proprioception, predicted base wrench, base command, height scan 12 leg joint targets Beforehand, then frozen
Teacher HL policy Arm history + true wrench Base command (3) + arm targets (6) Stage 1: PPO, 15k iterations
Intent estimator Arm history Estimated wrench ŵ (3) Stage 2: regression to true wrench
Student HL policy Arm history + ŵ Base command (3) + arm targets (6) Stage 2: PPO + KL to teacher, 20k iterations

Reproduction steps

Key settings

Simulator Isaac Gym Preview 4, 4096 parallel environments, one RTX 3080 Ti
Robot ANYmal D with a 6-DoF DynaArm; payload rigidly attached to the end-effector
Control rate 50 Hz for HL and LL (physics dt = 0.005 s, decimation 4)
Episode length 10 s
Terrain Rough terrain (slopes, stairs, discrete obstacles) for both LL and HL training
Networks MLP 128-128-128 with ELU for actor, critic and intent estimator
History length H = 4 in the paper's main comparison, H = 8 for the best variant (0.02 s per step)
Interaction wrench |Fx|, |Fy| ≤ 40 N, |Θz| ≤ 10 N·m
Payload mass Uniform 0-10 kg during training

Citing

If you use this guide or build on PAINT, please cite:

@article{cao2026paint,
  title={PAINT: Partner-Agnostic Intent-Aware Cooperative Transport With Legged Robots},
  author={Cao, Zhihao and An, Tianxu and Li, Chenhao and Coros, Stelian and Hutter, Marco},
  journal={IEEE Robotics and Automation Letters},
  volume={11},
  number={11},
  pages={12312--12319},
  year={2026},
  doi={10.1109/LRA.2026.3730304}
}

Please also cite legged_gym and rsl_rl, which this guide builds on.

PAINT reproduction guide. Questions: please contact the corresponding author.