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
- Zuerst lesen: ein Beispiel, das nur den Zustand ausliest (Low-State) – prüft die Verbindung gefahrlos.
- Dann Locomotion: aufstehen/balancieren mit gesichertem Roboter (siehe Bewegungssteuerung).
- Dann Armsteuerung mit Freiraum für die Arme.
- 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.
