Unitree Go2: Beispielprogramme ausführen

Die SDK-Repositories enthalten lauffähige Beispielprogramme – ideal, um Verbindung, Sensordaten und Steuerung Schritt für Schritt auszuprobieren. Dieser Walkthrough zeigt das Vorgehen für C++ und Python und empfiehlt eine sichere Reihenfolge.

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

Schritt 1: Netzwerkschnittstelle ermitteln

ip a

Notieren Sie den Namen der mit dem Roboter verbundenen Schnittstelle (z. B. eth0). Fast alle Beispiele erwarten ihn als Startargument.

Schritt 2 (C++): Bauen und starten

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

# Beispiel starten (Binary im build-Verzeichnis), Interface als Argument:
./example_go2_sport_client eth0

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-Ordner starten, Interface als Argument:
python3 example/go2/high_level/sport_client_example.py eth0

Schritt 3: Sichere Reihenfolge

  1. Zuerst lesen: Starten Sie ein Beispiel, das nur den Roboterzustand ausliest (z. B. Low-State oder Bewegungszustand). So prüfen Sie die Verbindung gefahrlos.
  2. Dann High-Level: ein Bewegungsbeispiel (aufstehen, kurze Bewegung) auf freier Fläche.
  3. Erst zuletzt Low-Level: direkte Motoransteuerung nur mit aufgebocktem Roboter.

Beispiel: Zustand auslesen (Python, Auszug)

import sys
from unitree_sdk2py.core.channel import ChannelFactoryInitialize, ChannelSubscriber
from unitree_sdk2py.idl.unitree_go.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

Ein reines Lese-Beispiel wie dieses ist der beste erste Test – es bewegt nichts und bestätigt, dass Daten ankommen.

Bei Problemen

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

Weiterführend

Konkrete Beispiel-Dateien und aktuelle Pfade: offizielle Unitree-Doku sowie die Repositories unitree_sdk2 und unitree_sdk2_python.