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,colconundrosdepinstalliert
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.
