Unitree G1 rolls a caster chair while seated; SY+CC beats standing on tracking RMSE

Stay Seated: Learning Omnidirectional Humanoid Locomotion on a Passive Mobile Chair with Casters

Kango Yanagida, Kazuki Miyazawa, Takato Horii

cs.RO

2026-08-28

Osaka University trains Unitree G1 to roll a caster chair while seated. SY+CC hits vx/vy RMSE 0.151/0.127 m/s, below standing, and transfers zero-shot.

What problem this solves

A quasi-direct-drive humanoid that stands still still has to hold its own weight. Joints keep producing torque, current never goes to zero, and the motors heat up. People doing desk work sit down and let a chair take that load. A caster chair also lets them shift position and viewpoint without standing.

Osaka University treats seated loco-manipulation as a longer goal and, in this paper, only the locomotion half. A 29-DoF Unitree G1 sits on a five-caster passive office chair. The pelvis is not bolted to the seat. The policy has to keep that unfixed contact, kick the floor intermittently, and push the coupled robot-chair system to commanded planar velocity (vx, vy) and yaw rate ωz.

Prior DRL work put humanoids on roller skates, skateboards, skis, and scooters. In most of those setups the body-device contact is fixed in advance and ground force goes through the device. Skateboarding is closer, but pushing and on-board steering are treated as separate phases. Seated rolling needs unfixed pelvis-seat contact, direct foot-floor propulsion, and omnidirectional velocity tracking at the same time. Capturing human and chair motion plus both contact types, then retargeting across speeds and directions, is messy. This paper skips motion-imitation rewards and gait templates, and only extends a standard standing velocity-tracking environment.

Method

Training runs in mjlab. Starting from a standing velocity tracker, they add a passive-chair model, seated-state rewards, chair observations that go only to the critic, and contact settings for the pelvis-seat interface. Each caster is a sphere on a ball joint. Commands span vx, vy in ±1.0 m/s and ωz in ±0.5 rad/s. Episodes last 20 s (1,000 steps) and abort if the torso or chair tilts more than 70° from gravity, or if pelvis-seat contact is lost for at least 1 s.

Contact modeling is what makes the task learnable. The pelvis collision mesh is refined to match the visual mesh, the solver friction cone is switched from pyramidal to elliptic, and impratio is raised to 10. The coarse mesh plus default contacts produced pelvis penetration and sideways slip.

The architecture is asymmetric actor-critic. The actor sees 96 dimensions of proprioception and the velocity command. It does not see foot-floor contact, pelvis-seat contact, or any chair state. The critic sees 217 dimensions, including chair pose, caster contacts, and pelvis contacts from the simulator. The action is a 29-D joint-position command around the initial seated pose, tracked by a PD controller. PPO trains for 10,000 iterations on 4,096 parallel environments with four seeds. Domain randomization covers friction, center of mass, encoder bias, and chair damping.

Rewards cover velocity tracking, upright posture, staying seated, foot penalties, and motion regularization. Chair velocity is not rewarded on its own; the chair moves because the robot tracks velocity and stays in contact. A 2³ factorial then toggles three knobs:

All eight combinations share the rest of the training setup. The standing baseline uses the same command ranges on mjlab's flat Unitree G1 velocity task, with torso linear velocity also removed from the actor.

Results

Each policy is evaluated on 1,000 random-command 20-s rollouts, with the command resampled at 10 s and training-time randomization, disturbances, and observation noise left on. All eight seated conditions finish at least 99.45% of rollouts, with seat-relative displacement around 1.5 cm and torso-tilt RMS around 0.045 rad. Timeout success alone is not locomotion: a robot that sits still also lasts 20 s. Tracking error is the evidence that it actually moved.

Conditionvx RMSE (m/s)vy RMSE (m/s)ωz RMSE (rad/s)Timeout success
Baseline0.1650.1440.15199.45%
SY+CC0.1510.1270.14599.80%
SY+FS+CC0.1520.1290.14499.75%
FS0.1960.1880.14199.53%
Standing0.1550.1490.17599.70%

SY+CC has the lowest seed-averaged translational error and the highest timeout rate. SY+CC and SY+FS+CC are numerically below Standing on all three tracking RMSEs. Standing used a different environment and reward, so the comparison is a context check, not a claim that sitting beats standing.

FS alone is the failure mode. Some of the four seeds sit completely still under diagonal-forward commands: the slip penalty also kills the foot motion needed to push. Adding SY or CC to FS, even the worst seed still tracks better than the best FS-only seed, with no retuning of the FS weight.

Split by direction and speed, cost of transport at 1.0 m/s ranks backward < lateral ≪ forward. For SY+CC, forward CoT is 0.543, lateral 0.273, backward 0.209. Forward tracking RMSE jumps to 0.308 m/s and the flight fraction to 63.3%. Backward and lateral gaits plant the foot and extend the knee; forward gait contacts heel-first and then flexes the knee, pulling the body toward the planted foot. In lateral motion the trailing leg does most of the work.

Standing gaits come out left-right balanced without SY, because both legs have to support the body. Seated, the chair already carries the weight, so a one-legged solution is valid. Under CC without SY, forward single-foot contact is 28.5% left vs 23.5% right, with forces 157 N vs 179 N. Adding SY flattens both.

Zero-shot deployment on a physical Unitree G1 produces forward, backward, lateral, and turning motion while staying seated. Hardware tracking error and disturbance rejection are not measured. A 60-s stationary power trial per posture reads 111.06 W standing and 101.25 W seated, a 9.81 W gap that extrapolates to about 22 extra minutes on a 421.2 Wh battery. One trial each; the paper itself says this is not a general energy result.

Why it matters

The reusable piece for humanoid control is not the office-chair gag. After the contact topology changes, a stock velocity-tracking environment plus a chair model, seated rewards, and an asymmetric critic is enough to learn the skill. The deployed actor still only needs proprioception and a velocity command. No synced human-chair mocap, no contact sensors.

The factorial has a practical tuning lesson. Foot-slip penalties that clean up standing gaits can also erase propulsion when the robot is sitting, and FS alone can train a policy that never moves. Symmetry regularization is often optional for standing; here it is what equalizes the legs, otherwise the hardware takes a long-term one-sided load.

The >60% flight fraction at 1.0 m/s forward is the paper's hint toward impulse-and-coast: kick, then let the chair roll. If that strategy lands, the energy story will be stronger than a 9.81 W idle delta.

Limitations

The hardware evidence is qualitative. Tracking RMSE, timeout success, and CoT are all simulation numbers. The real G1 is not scored on velocity error or disturbance rejection. Walking at all in zero-shot is not the same as tracking a command.

The energy numbers are thinner still. One 60-s trial, battery-side power only, no actuator-level split, endurance extrapolated under constant power. The paper already flags this. The extra 22 minutes should not be treated as a product claim.

The scene is narrow: one chair, one floor, one command range. If the pelvis slips or sits off-center on hardware, the actor cannot see chair state and has to recover from proprioception alone. Reaching and pick-and-place will change the contact topology again; whether this reward set carries over is untested.

Forward 1.0 m/s already leaks 0.308 m/s of error on a 1 m/s command and sits near the friction limit. Omnidirectional motion works. Fast forward is not yet stable.

Terms

Source

What people are saying

Related papers

All paper explainers