Unitree Go2 mit ROS 2 nutzen

Mit ROS 2 binden Sie den Go2 in ein Robotik-Ökosystem ein: Sensordaten als Topics abonnieren, Bewegungsbefehle aus ROS-Knoten senden, vorhandene ROS-Tools (rviz, rosbag) nutzen. Die Anbindung erfolgt über die Unitree-ROS-2-Pakete auf Basis von CycloneDDS. Dieser Walkthrough führt von der Installation bis zum ersten Topic.

Hinweis: Befehle sind illustrativ; Paketnamen, Topics und Build-Schritte können je nach ROS-Version und Repository-Stand abweichen – maßgeblich ist das README.

Voraussetzungen

  • Ubuntu mit passender ROS-2-Distribution (z. B. Ubuntu 22.04 + ROS 2 Humble)
  • Funktionierende Netzwerkverbindung zum Go2 (siehe Anleitung „Netzwerkverbindung einrichten“)
  • git, colcon und rosdep installiert

Schritt 1: ROS 2 installieren

Installieren Sie ROS 2 gemäß der offiziellen ROS-Anleitung für Ihre Ubuntu-Version und laden Sie die Umgebung:

source /opt/ros/humble/setup.bash

Schritt 2: Unitree-ROS-2-Pakete holen und bauen

mkdir -p ~/unitree_ros2/src
cd ~/unitree_ros2/src
git clone https://github.com/unitreerobotics/unitree_ros2.git

# CycloneDDS gemaess README bauen, danach den Workspace:
cd ~/unitree_ros2
colcon build

Die Anbindung nutzt CycloneDDS als RMW. Folgen Sie den CycloneDDS-Build-Schritten aus dem README, bevor Sie den Workspace bauen.

Schritt 3: Netzwerk & RMW konfigurieren

Im mitgelieferten setup.sh tragen Sie die Netzwerkschnittstelle ein, über die der Roboter erreichbar ist (mit ip a ermitteln). Wichtig ist, dass als RMW CycloneDDS gesetzt ist:

export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
# Netzwerk-Interface in setup.sh eintragen (z. B. eth0), dann:
source ~/unitree_ros2/setup.sh

Schritt 4: Verbindung prüfen

ros2 topic list

Erscheinen Topics des Roboters (z. B. für Bewegungszustand und Low-State), steht die Verbindung. Einen Datenstrom betrachten Sie mit:

ros2 topic echo /sportmodestate

Schritt 5: Eigene Knoten

Auf dieser Basis schreiben Sie eigene ROS-2-Knoten, die Zustands-Topics abonnieren und Befehls-Topics veröffentlichen – analog zu den mitgelieferten Beispielen im Repository.

Weiterführend

Exakte Pakete, Topic-Namen und Build-Reihenfolge: offizielle Unitree-Doku und das unitree_ros2-Repository.