Unitree G1: Bewegungssteuerung (Locomotion)

Die High-Level-Bewegungssteuerung (Locomotion) bringt den humanoiden G1 zum Stehen, Balancieren und Gehen – ohne dass Sie einzelne Gelenke ansteuern müssen. Der bordeigene Controller übernimmt Balance und Gangart. Dieser Walkthrough zeigt eine lauffähige Minimal-Anwendung.

Sicherheit: Ein Humanoid kann kippen. Führen Sie erste Tests gesichert (Aufhängung/Hängevorrichtung) und mit Abstand durch.

Hinweis: Beispielcode illustrativ; exakte Klassen-/Methodennamen je nach SDK-Version – siehe README.

Voraussetzungen

  • Programmierbare G1-Edu-Variante
  • Installiertes Unitree SDK (siehe SDK-Einstieg)
  • Bestehende Netzwerkverbindung
  • Roboter gesichert/aufgehängt für erste Tests

Typischer Ablauf

  1. Damp – Motoren weichschalten (sicherer Ausgangszustand)
  2. Start – Steuerung aktivieren / in Bereitschaft bringen
  3. StandUp / BalanceStand – aufstehen und ausbalanciert stehen
  4. Move(vx, vy, vyaw) – gehen/drehen
  5. StopMove und Sit/Damp – sauber beenden

Beispiel (Python)

import time, sys
from unitree_sdk2py.core.channel import ChannelFactoryInitialize
from unitree_sdk2py.g1.loco.g1_loco_client import LocoClient

ChannelFactoryInitialize(0, sys.argv[1])   # z. B. eth0

loco = LocoClient()
loco.SetTimeout(10.0)
loco.Init()

loco.Damp()            # sicherer Ausgangszustand
time.sleep(1)
loco.Start()           # Steuerung aktivieren
time.sleep(1)
loco.StandUp()         # aufstehen
time.sleep(2)
loco.Move(0.2, 0.0, 0.0)  # 0,2 m/s vorwaerts
time.sleep(3)
loco.StopMove()
loco.Sit()             # hinsetzen
loco.Damp()            # Motoren entspannen

Start: python3 demo.py eth0. Beginnen Sie mit kleinen Geschwindigkeiten.

Wichtige Befehle

  • Damp() / Start() – weichschalten / aktivieren
  • StandUp() / Sit() – aufstehen / hinsetzen
  • BalanceStand() – ausbalanciertes Stehen
  • Move(vx, vy, vyaw) / StopMove()

Weiterführend

Arm-Bewegungen finden Sie unter Armsteuerung. Vollständige Befehlsreferenz: offizielle Unitree-G1-Doku.