Unitree G1: Beispielprogramme ausführen

Die SDK-Repositories enthalten lauffähige Beispiele für den G1 – ideal, um Verbindung, Sensordaten, Locomotion und Armsteuerung Schritt für Schritt auszuprobieren. Dieser Walkthrough zeigt das Vorgehen und eine sichere Reihenfolge.

Hinweis: Pfade und Dateinamen sind illustrativ und können je nach SDK-Version abweichen – maßgeblich ist das Repository.

Schritt 1: Netzwerkschnittstelle ermitteln

ip a

Den Namen der mit dem Roboter verbundenen Schnittstelle (z. B. eth0) notieren – die Beispiele erwarten ihn als Startargument.

Schritt 2 (Python): Installieren und starten

git clone https://github.com/unitreerobotics/unitree_sdk2_python.git
cd unitree_sdk2_python
pip install -e .

# Beispiel aus dem example/g1-Ordner starten, Interface als Argument:
python3 example/g1/low_level/g1_low_level_example.py eth0

Schritt 2 (C++): Bauen und starten

git clone https://github.com/unitreerobotics/unitree_sdk2.git
cd unitree_sdk2 && mkdir build && cd build && cmake .. && make
./example_g1_loco eth0

Schritt 3: Sichere Reihenfolge

  1. Zuerst lesen: ein Beispiel, das nur den Zustand ausliest (Low-State) – prüft die Verbindung gefahrlos.
  2. Dann Locomotion: aufstehen/balancieren mit gesichertem Roboter (siehe Bewegungssteuerung).
  3. Dann Armsteuerung mit Freiraum für die Arme.
  4. Zuletzt Low-Level nur gesichert/aufgehängt.

Beispiel: Zustand auslesen (Python, Auszug)

import sys
from unitree_sdk2py.core.channel import ChannelFactoryInitialize, ChannelSubscriber
from unitree_sdk2py.idl.unitree_hg.msg.dds_ import LowState_

def on_state(msg: LowState_):
    print("IMU/Quaternion:", msg.imu_state.quaternion)

ChannelFactoryInitialize(0, sys.argv[1])          # z. B. eth0
sub = ChannelSubscriber("rt/lowstate", LowState_)
sub.Init(on_state, 10)
while True:
    pass

Hinweis: Humanoide Modelle nutzen teils eigene Nachrichtentypen (z. B. unitree_hg) – den korrekten Typ entnehmen Sie dem SDK.

Bei Problemen

Keine Daten? Prüfen Sie Kabel, IP und Schnittstellennamen (siehe Häufige Fragen & Fehlerbehebung).

Weiterführend

Konkrete Beispiel-Dateien: offizielle Unitree-G1-Doku sowie unitree_sdk2_python.