Skip to content
TEAM Z日本語
← All articles

· In-house simulation research

G1 carries a 1 kg box: testing the public HAIC policy on flat ground

Original experiment footage is shared with the Japanese edition. Some on-screen labels are in Japanese; methods, results and video descriptions are provided in English below.

Unitree G1 lifts a box from the floor, carries it, puts it down and releases it. We tested this sequence with a publicly released HAIC policy in a flat-ground MuJoCo environment. This is a simulation experiment, not a demonstration on a physical robot.

All three trials with the same starting conditions and all ten trials with small changes to the box position met our criteria. We also checked that the box remained stationary for three seconds after both hands released it.

G1 carrying a 1 kg box in MuJoCo. 11.2 seconds at normal simulation speed; 50 fps re-rendering of recorded test poses.

Use the public model, then check what happens after placement

We used the pretrained flat-ground transport model included in the public HAIC execution code. We did not train a new ACT or reinforcement learning policy or collect additional teleoperation data. This does not mean the original training used no human-derived data.

The robot, box and reference motion use the public configuration. The rigid box measures 28 × 36 × 35 cm and weighs 1 kg. The hands are fixed rubber-hand models, not five-finger hands that open and close to grasp.

The original reference motion lasts 8.2 seconds. To evaluate the state after placement, we held the terminal reference and continued the policy and physics for another three seconds. After initialization, we did not move the robot or box by overwriting their poses.

Three fixed-start trials and ten placement variations

Results under the tested conditions
ConditionPassedScope
Identical initial placement; separately started processes3/3Repeatability under identical conditions
Box shifted by up to ±2 cm in each horizontal axis10/10Narrow range selected in advance with seed 42

The criteria required lifting the box bottom by at least 10 cm and carrying it at least 1 m horizontally. During the final three seconds, it had to remain within 15 cm of the placement center, tilt no more than 10 degrees and have no contact with either hand. Linear speed had to stay below 0.02 m/s and angular speed below 0.1 rad/s.

In the representative trial, horizontal displacement was about 1.41 m and the maximum height of the box bottom was about 53 cm. Pose records from the three fixed-start trials matched. This establishes repeatability in the same conditions, not three independent samples for estimating a real-world success probability.

The placement changes are small: only ±2 cm per axis. None of the 13 trials missed the criteria, but that result cannot be extended to substantially displaced boxes, heavier loads or more slippery surfaces.

Separate the video from the controller

The 11.2-second video is a 50 fps re-rendering of poses recorded during the physics test. Re-rendering for presentation is separate from policy control during the test. We did not use the official recording option that produces double-speed footage.

The policy uses reference motion and body state, among other inputs. It does not detect the box with a camera, estimate its distance and navigate to it. Reference-based control makes a motion easier to reproduce, but changes in placement and task still need to be tested.

Next: a custom factory and different friction conditions

This is a flat-ground reproduction using the public configuration. Our environment was Windows, Python 3.13 and MuJoCo 3.3.7, rather than the documented Python 3.8 setup. We also added the terminal-reference hold, so this is not an exact reproduction of every official environment setting and execution step.

The planned follow-up covers integration into a custom factory and success and failure under lower friction. Carrying a box on flat ground, carrying it through a factory and carrying a physical object are separate verification steps.

TeamZ implements public policies, builds simulation environments, evaluates behavior and investigates failures. Discuss implementation and testing for your robotics project.

Primary sources

HAIC research page · HAIC paper · Public execution code: HOIC-baseline · HAIC training code

Read the Japanese edition →

LET’S BUILD TOGETHER

What are you working on?

Tell us about the software you need to implement or test. We can discuss the work, the development setup and how we could contribute.

Discuss your development needs