GR00T N1.7 — Unitree G1 Apple-to-Plate (mixed-v3, 40k steps)

A GR00T N1.7 (3B) Vision-Language-Action policy fine-tuned for apple pick-and-place on the Unitree G1 humanoid, trained on a mixed dataset with multiple task variations (red/green apples, pre-grasp corrections/redirects, and put-back episodes). This is the 40,000-step checkpoint used in the anticipatory-HRI thesis experiments as the second G1 manipulation task.

Please read the Limitations section. This checkpoint has a strong, documented per-object motor-competence asymmetry (it places the green apple far more reliably than the red apple). That is exactly the kind of small-imitation-dataset behavior the accompanying research studies, not a bug being hidden here.

Model details

  • Base model: NVIDIA GR00T N1.7 (3B) — TODO confirm exact base checkpoint id
  • Embodiment: Unitree G1, dual-arm, Dex1 grippers, 2-camera (head + wrist), 16-DoF upper body (Unitree_G1_Dex1_UpperBody_2Cam)
  • Task: "pick up the {green/red} apple and place it on the plate" (verbatim training strings; the trained scene uses a plate, not a tray)
  • Training data: tysyuvraj/Apple2plateMixed_v3 — mixed variations incl. red/green pick-place, pre-grasp redirect/correction episodes (labeled with the FINAL target's standard string), and put-back demos
  • Training steps: 40,000
  • Frames / episodes: 477 episodes / 65,502 frames (30 fps)
  • Gripper convention: trained post gripper-replacement, so the policy outputs the NEW hardware gripper range natively. At deploy time use --gripper_remap=false for this checkpoint (contrast: the earlier monster-can checkpoint needs --gripper_remap=true). The flag is per-checkpoint, matching each policy's training-time gripper convention.

Intended use

Research only. Built as the manipulation "body" for a Qwen3-Omni anticipatory multimodal supervisor (the thesis system), which monitors a human's intent and can stop/switch/redirect the policy in real time. The policy itself is an unmodified GR00T N1.7 fine-tune; all supervision logic lives in the external monitor.

How to run (G1 policy server)

# GR00T policy server (checkpoint path on the server):
python scripts/inference_service.py --server \
  --model_path <path>/checkpoint-40000 \
  --embodiment_tag new_embodiment --data_config <g1 dex1 2cam config> \
  --port 5555
# then the Unitree eval loop with --gripper_remap=false for apples

Limitations (important, measured)

  • Per-object competence asymmetry (video-verified, 2026-07-24): on this mixed-v3 40k checkpoint the green apple completes ~14% of attempts, while the red apple completed 0 / 517 attempts (never placed once). A retrain did not fix the red case. This asymmetry has now appeared across multiple G1 checkpoints (green-can vs orange-can was the first instance), and is consistent with small imitation datasets yielding uneven per-object motor competence. The supervisory HRI layer correctly reports non-completion in both cases, so the gap is in the policy's motor competence, not the monitor.
  • Perception aside (not this model): the supervisor's Qwen vision reads the 3D-printed apples as "blue"/"green" under gripper occlusion; that is a separate perception finding about the monitor, not about this policy.
  • Single embodiment / single rig; not validated outside the G1 Dex1 2-cam setup.

Citation

Part of the master's thesis "Anticipatory Multimodal Intent Prediction for Real-Time Human-Robot Interaction." (add full citation when available)

Downloads last month
14
Safetensors
Model size
3B params
Tensor type
F32
·
Video Preview
loading

Dataset used to train tysyuvraj/GR00T-N1.7-g1-apple2plate-mixed-v3