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
- Damp – Motoren weichschalten (sicherer Ausgangszustand)
- Start – Steuerung aktivieren / in Bereitschaft bringen
- StandUp / BalanceStand – aufstehen und ausbalanciert stehen
- Move(vx, vy, vyaw) – gehen/drehen
- 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.
