GR00T N1.7 – AGCO Korb entladen (Real Robot)

Fine-Tuning von nvidia/GR00T-N1.7-3B für den Task "Korb ausladen" — erstmals auf echten Teleop-Aufnahmen eines Unitree-G1-Humanoiden statt auf Isaac-Lab-Simulationsdaten. Trainiert mit dem offiziellen gr00t-leapp-export Real-Robot-Workflow (Tag gr00t_workflow_0.1), siehe agco_real_robot_finetuning_leapp.md für den vollständigen Ablauf.

Privates Projekt — kein öffentliches Release, keine gesonderten Lizenzbedingungen.

Basis-Modell

  • Foundation Model: nvidia/GR00T-N1.7-3B (3B Parameter, Vision-Language-Backbone + Flow-Matching-Action-Transformer)
  • Trainierbare Parameter: 1.620.515.968 / 3.144.016.000 (51,54 %) — identisches eingefrorenes/trainierbares Schema wie beim vorherigen Sim-Finetune (README_Groot_N1.7_AGCO.md)

Trainingsdaten

Fine-Tuning auf HS-Kempten/AGCO_entladen_real (20 Episoden, 18190 Frames, LeRobot-v2-Format). Echte Teleoperation per XR-Headset am realen Unitree G1 (Dex3-Trihand-Greifer) — keine Simulation.

Task-Beschreibung: "Pick up the inlay tray from the assembly basket and move it to the blue crate."

Embodiment-Tag: new_embodiment (eigene Modality-Config, siehe unten).

State/Action (43 dim je Vektor): left_leg(0:6), right_leg(6:12), waist(12:15), left_arm(15:22), right_arm(22:29), left_hand(29:36), right_hand(36:43). Zusätzliche Action-Komponenten: effort_left_leg(6), effort_right_leg(6), effort_waist(3), effort_left_arm(7), effort_right_arm(7), effort_left_hand(7), effort_right_hand(7), navigate_command(3), base_height_command(1).

Kamera (1× RGB): ego_view (Kopf-/Ego-Perspektive, 480×640, AV1) — anders als die 4-Kamera-Sim-Datensätze dieses Projekts.

Modality-Config: new_embodiment_config_defaults.py (Teil des Dataset-Repos — nicht kompatibel mit examples/AGCO/agco_wbc_config.py aus dem Sim-Projekt, da abweichende Kamera-Keys und zusätzliche Bein-/Effort-/ Navigate-Felder).

Trainingskonfiguration

Parameter Wert
Workflow gr00t-leapp-export @ gr00t_workflow_0.1
Max Steps 10000
Save Steps 2000
Global Batch Size 32
Dataloader Workers 4
GPU 1× (CUDA_VISIBLE_DEVICES=0)
Trainierbare Parameter 1.620.515.968 / 3.144.016.000 (51,54 %)
Logging TensorBoard (report_to-Patch nötig, siehe Anleitung)
Trainingsdauer 5904,7 s (~98,4 Min.) auf 1 GPU
Steps/s 1,694
Samples/s 54,19
Finaler train_loss (Ø über alle 10000 Steps) 0,0871 (Step 1 ~1,27 → letzte Steps ~0,015–0,02)

Checkpoints

Ordner Steps
checkpoint-2000checkpoint-10000 alle 2000 Steps (letzte 5, save_total_limit=5 — lückenlos, da genau 5 Speicherpunkte bis max_steps)
Top-Level (config.json, model-*.safetensors) finaler Stand nach 10000 Steps, identisch zu checkpoint-10000

save_only_model=false — anders als beim Sim-Finetune wird hier auch der Optimizer-State mitgespeichert (resumable Checkpoints, größerer Speicherbedarf).

Nutzung

Noch nicht closed-loop evaluiert (weder in Sim noch am echten Roboter). Vorgesehener Inferenzweg analog zum Sim-Modell (gr00t/eval/run_gr00t_server.py mit --embodiment-tag new_embodiment und der dataset-eigenen new_embodiment_config_defaults.py als --modality-config-path).

Bekannte Einschränkungen

  • Nur 20 Trainings-Episoden vom realen Roboter — kleiner Datensatz.
  • Nur eine Kamera (ego_view) statt der 4 Kameras im Sim-Setup — Modell hat weniger visuellen Kontext (keine Handgelenk-Nahaufnahmen).
  • Kein Eval-Split — der finale train_loss (0,0871) beschreibt reine Trainings-Konvergenz, keine Generalisierung auf ungesehene Trajektorien. Noch keine Closed-Loop-Evaluation auf dem echten Roboter durchgeführt.
  • Task-Beschreibung im Real-Datensatz nennt "blue crate", das parallele Sim-Datensatz-Repo (AGCO_Korb_entladen_annotated) wurde zuvor auf "blue tote" vereinheitlicht — Formulierungen bewusst nicht angeglichen, da unterschiedliche Datenquellen (real vs. Sim).
Downloads last month
7
Safetensors
Model size
3B params
Tensor type
F32
·
Video Preview
loading

Model tree for Fichtl00/Groot_N1.7_AGCO_real

Finetuned
(95)
this model