AgileX UGV SDK <unk> Universal CAN Platform SDK
Vollständiger Bezug für die AgileX ugv_sdk C++-Bibliothek und die Python-Bindings von pyagxrobots.
Auf dieser Seite
- [Übersicht]
- [Unterstützte Plattformen]
- [Installation]
- [C++-Bibliothek]
- [Python-Bindung]
- [CAN Setup]
- [Einmaliges Setup]
- [Ständige Einrichtung]
- [Details des Protokolls]
- [ROS2 Verwendung]
- Ich bin nicht sicher.
- [Links]
T42 )
AgileX-Seiten
- [Hub
Alle Plattformen] - [UGV SDK]
- Ich bin nicht sicher.
- Ich habe es nicht verstanden.
- Ich bin nicht sicher.
- Ich bin nicht sicher.
- Ich habe das Gefühl, dass ich das nicht tun kann.
- Ich habe es nicht getan.
Hardware-Anleitungen
- Ich habe einen Roboter.
- [LinkerBot O6]
- [DK1 Bimanuale Kit]
- OpenArm 1
- Ich bin nicht sicher.
- [BrainCo Revo II]
- Ich habe einen Sensor.
- (Wuji Hand)
Siehe auch
- [← Alle Artikel]
- [Robotikakademie →]
- Plattform →
- Fragen Sie eine Frage →
Vollständige Referenz für die
Bibliothek:
C++ Python CAN-Bus ROS2 Alle Plattformen
1. Überblick
Die ugv_sdk ist die Open-Source-C++-Bibliothek von AgileX Robotics, die alle AgileX-Mobile-Plattformen über den CAN-Bus eine einheitliche Software-Schnittstelle bietet. Statt plattformspezifischer Treiber abstrahiert ugv_sdk das zugrunde liegende CAN-Protokoll in eine konsistente API
Die Bibliothek unterstützt zwei Protokollversionen: Protocol V1 (Vermächtnis) und Protocol V2 (aktuell). Alle ab 2021 produzierten Plattformen verwenden Protokoll V2.
Für Python-Benutzer bietet das pyagxrobots-Paket Python-Bindungen für ugv_sdk über Pip, so dass schnelle Prototypen und Integration mit Navigationsstacks in Python geschrieben werden können, ohne die C++-Bibliothek direkt zu kompillieren.
Ein SDK, alle Plattformen. ugv_sdk ist die einzige Abhängigkeit, die von allen AgileX ROS2-Paketen (
2. Unterstützte Plattformen
Die folgende Tabelle zeigt die Unterstützung der Protokollversion, die verfügbaren Schnittstellen und den aktuellen Supportstatus für jede AgileX-Plattform.
| Robot | Protocol V1 | Protocol V2 | UART | CAN | Status |
|---|---|---|---|---|---|
| Scout 2.0 | Y | Y | N | Y | Active |
| Scout Mini (Skid) | Y | Y | — | Y | Active |
| Scout Mini (Omni) | Y | Y | — | Y | Active |
| Hunter 1.0 | Y | Y | — | Y | Active |
| Hunter 2.0 | — | Y | — | Y | Active |
| Bunker | Y | Y | — | Y | Active |
| Tracer | — | Y | N | Y | Active |
| Ranger Mini 2.0 | — | Y | — | Y | Active |
| Ranger Mini 3.0 | — | Y | — | Y | Active |
| Ranger | — | Y | — | Y | Active |
V1 wird für alle neuen Entwicklungen empfohlen. Für ältere Hardware gibt es eine Unterstützung für V1 Protokoll. Wenn Ihre Plattform mit Protokoll V2 (alle Einheiten ab 2021) versendet wird, aktivieren Sie V1
3. Installation
C++-Bibliothek
Erstellen und installieren Sie ugv_sdk von der Quelle. Die Bibliothek benötigt CMake 3.10+, einen C++14-kompatiblen Kompilator und die SocketCAN-Entwicklungsheder (
# Installieren von Abhängigkeiten (Ubuntu 20.04 / 22.04) sudo apt installieren build-essential cmake libsocketcan-dev
# Klonen des Repositoriums
git clone
# Bauen und installieren
- und - machen -j4 sudo machen installieren
Nach der Installation sind die Header unter
Python Binding (Pyagxrobots)
Für Python-First-Workflows installieren Sie das offizielle Python-Bindung über pip. Keine C++-Kompilierung erforderlich.
Pip-Installation von Pyagxrobots
Python-Bindung erfordert eine funktionierende CAN-Schnittstelle.
4. CAN-Bus Setup
Alle AgileX-Plattformen verwenden CAN 2.0B bei 500 kbps. Sie benötigen einen GS_USB-kompatiblen USB-to-CAN-Adapter (z.B. CANable, Waveshare USB-CAN-A). Verbinden Sie ihn mit dem CAN-Port des Roboters, bevor Sie einen der folgenden Befehle ausführen.
Erwecken Sie die CAN-Schnittstelle
# Laden Sie das GS_USB Kernel Modul sudo modprobe gs_usb
Bring die Kanne mit 500 kbps hoch . sudo ip link set kann0 up type kann bitrate 500000
# Überprüfen Sie , ob die Schnittstelle funktioniert IP-Link-Show kann0
# Optional: Roh-CAN-Räme für die Diagnose entsorgen Schneller
Ständige Einstellung über Reboots hinweg
Das ROS2-Paket jeder Plattform liefert zwei Shell-Scripts, die die Persistenz automatisch verarbeiten:
# Laufen Sie einmal nach der ersten Hardwareverbindung den Adapter zu konfigurieren Das ist die richtige Lösung.
# Laufen Sie auf jedem nachfolgenden Boot vor dem Start eines ROS2-Knoten Ich habe das Gefühl, dass ich es nicht mehr habe.
Beide Scripts befinden sich im Verzeichnis
Ratschlag: Fügen Sie ein Bringup zu Ihrem ~/.bashrc oder einem systemd-Service hinzu, wenn Sie möchten, dass die CAN-Schnittstelle automatisch auf dem Boot angezeigt wird, ohne das Skript manuell auszuführen.
Protokoll Einzelheiten
| Parameter | Value |
|---|---|
| CAN standard | CAN 2.0B (extended frame support) |
| Bitrate | 500 kbps |
| Byte order | Motorola (big-endian) |
| Timeout protection | 500 ms — platform stops if no command received |
| Minimum command rate | 10 Hz (recommended: 20–50 Hz) |
| Protocol versions | V1 (legacy), V2 (current, all 2021+ units) |
500 ms Sicherheitszeit. Wenn Ihr Steuerknoten abstürzt oder länger als 500 ms abstürzt, wird der Roboter automatisch stoppen. Dies ist absichtlich.
6. ROS2 Verwendung
Alle AgileX-Plattformen folgen einem identischen ROS2-Startmuster. Ersetzen Sie
Installieren Sie das ROS2-Paket der Plattform
# Beispiel für SCOUT
Start den Basis-Treiber
# Erst die CAN-Schnittstelle aufnehmen (wenn nicht bereits aufgenommen) bash ~/ros2_ws/src/scout_ros2/scripts/bringup_can2usb.bash
Startet den Roboter-Basis-Treiber Ros2 Start-Scout Base Scout Base.Launch.py Port
In einem zweiten Terminal
Geschwindigkeitsbefehlthema
Alle Plattformen abonnieren
# Überprüfen Sie nach dem Start des Treibers verfügbare Themen ros2 Themenliste
# Senden Sie einen manuellen Geschwindigkeitsbefehl (0,3 m/s vorwärts, 0 Winkel) Ros2 Thema Pub /cmd_vel Geometrie_msgs/msg/Twist \ "{linear: {x: 0.3, y: 0.0, z: 0.0}, winkelhaft: {x: 0.0, y: 0.0, z: 0.0}}"
nav2 kompatibel. Alle ROS2-Plattformpakete von AgileX sind mit dem Navigationsstack von ROS2 nav2 aus dem Box kompatibel. Der Basis-Treiber veröffentlicht
7. Simulation mit der Schaukel
AgileX bietet ein einheitliches Gazebo-Simulationspaket für alle UGV-Plattformen bei ugv_gazebo_sim. Die Simulation verwendet die gleiche ROS2-Thema-Schnittstelle wie die echte Hardware, so dass der Code, der in der Simulation entwickelt wurde, ohne Änderungen an den physischen Roboter übertragen wird.
# Klonen Sie das Sim-Paket von Gazebo
cd ~/ros2_ws/src
git clone
# Start von SCOUT 2.0 in Gazebo (Ersetzen Sie "Scout" mit Ihrer Plattform) Ros2 Start-Scout_Description Scout_gazebo.launch.py
8. Schlüsselverbindungen
| Resource | URL |
|---|---|
| ugv_sdk GitHub | github.com/agilexrobotics/ugv_sdk |
| Gazebo Simulation | github.com/agilexrobotics/ugv_gazebo_sim |
| Python binding | pypi.org/project/pyagxrobots |
| AgileX GitHub org | github.com/agilexrobotics (87 repos) |
| AgileX website | www.agilex.ai |
| Technical support | support@agilex.ai |
Alle AgileX-Plattformen Suchen Sie die AgileX-Plattform-Hub für Produktseiten, die SCOUT, RANGER, BUNKER, TRACER, LIMO und Piper abdecken.
** Haben Sie eine Frage?** Fragen Sie die Community oder Kontaktunterstützung mit Ihrem Plattformmodell und der Ausgabe von







