ROS Toolbox

 

ROS Toolbox

Entwurf, Simulation und Einsatz von ROS-basierten Anwendungen

Dauer des Videos 2:04

ROS- und ROS 2-Netzwerke

Stellen Sie Verbindungen zu bestehenden ROS- oder ROS 2-Netzwerken her, um Prototypen von ROS-basierten Anwendungen zu erstellen. Entwickeln Sie ein Netzwerk von ROS-Knoten für die Desktop-Simulation. Kommunizieren Sie mithilfe von ROS-Nachrichten in MATLAB und Simulink mit Hardware.

Kommunikation und Nachrichten

Senden und empfangen Sie ROS-Nachrichten mit Publish-Subscribe-Semantik. Nutzen Sie eine Client-Server-Architektur für den Versand von Anfragen, die Durchführung von Aufgaben und den Empfang von Rückmeldungen. Konfigurieren Sie ROS-Knoten dynamisch mit ROS-Parameterservern.

Benutzerdefinierte Nachrichten

Erstellen Sie eigene Nachrichtendefinitionen und nutzen Sie sie zur Übertragung von Informationen. Verwenden Sie Ihre benutzerdefinierten Nachrichten mit Publishern, Abonnenten, Aktionen und Services. Die Inhalte von Nachrichten können direkt in MATLAB angezeigt, abgebildet und protokolliert werden. Nutzen Sie spezialisierte ROS-Nachrichten zum Erstellen und Abrufen von Sensor- und Datentypen mithilfe spezifischer ROS- und ROS 2-Nachrichtentypen.

Die Rosbag Viewer-App mit sechs aktiven Viewern zur gleichzeitigen Visualisierung verschiedener ROS-Nachrichten.

Rosbag-Visualisierung

Nutzen Sie die ROS Bag Viewer-App zur gleichzeitigen Wiedergabe und Visualisierung mehrerer Nachrichten in einer rosbag-Datei über MATLAB. Nutzen Sie die rosbag-Befehlszeile zum Schreiben von Protokollen oder zum Abrufen, Filtern, Visualisieren und Analysieren protokollierter Daten. Verwenden Sie rosbag-Dateien zur Simulation in MATLAB und Simulink.

Bereitstellung von Knoten

Generieren Sie C++ Code und stellen Sie ihn auf lokalen oder Remote-Zielgeräten in Form von eigenständigen ROS- und ROS 2-Knoten bereit. Beschleunigen Sie ROS-basierte KI-Anwendungen mithilfe der CUDA-kompatiblen ROS-Knotengenerierung. Generieren Sie C++ Code für ros_control-Plugins in Echtzeit über in Simulink entwickelte Regler.

Anwendungsbeispiele

Nutzen Sie Referenzanwendungen für Bodenroboter, Roboter-Manipulatoren, UAVs und autonome Fahrzeuge für den Einstieg in den Entwurf, die Simulation und die Bereitstellung Ihrer ROS-basierten Systeme.

ROS Toolbox – Häufig gestellte Fragen

Die ROS Toolbox bietet eine Schnittstelle, die MATLAB und Simulink mit dem Robot Operating System (ROS und ROS 2) verbindet, um ROS-basierte Anwendungen zu entwerfen, zu simulieren und bereitzustellen – ohne dass eine separate ROS-Installation erforderlich ist.

Ja. Die ROS Toolbox unterstützt sowohl ROS- als auch ROS 2-Netzwerke und ermöglicht die Verbindung mit bestehenden Netzwerken, das Entwerfen von ROS-Knoten sowie die Kommunikation mit Hardware oder Simulatoren.

Ja. Die ROS Toolbox unterstützt die Codegenerierung in C++ und CUDA mit MATLAB Coder, Simulink Coder und GPU Coder, um automatisch einsatzfähige ROS-Knoten aus MATLAB-Skripten oder Simulink-Modellen zu erzeugen. Diese Knoten können lokal auf dem Host-Rechner oder remote auf ROS-fähiger Hardware bereitgestellt und ausgeführt werden.

Die ROS Toolbox enthält MATLAB-Funktionen, Simulink-Blöcke und die ROS Data Analyzer-App, mit denen Sie Daten aus rosbag-Dateien aufzeichnen, importieren, abspielen, visualisieren und analysieren können.

Ja. Sie können benutzerdefinierte Nachrichten-Definitionen erstellen und diese mit Publishern, Subscriber, Actions und Services verwenden sowie deren Inhalte direkt in MATLAB anzeigen, plotten oder protokollieren.

Sie können sich mit laufenden ROS-Netzwerken, externen Simulatoren wie Gazebo und NVIDIA Omniverse oder mit physischer Hardware verbinden, um ROS-Nachrichten zu senden und zu empfangen und Knoten zu verifizieren. Der Simulink External Mode ermöglicht es, Nachrichten anzusehen und Parameter zu ändern, während Ihr Modell auf der Hardware läuft.

Die ROS Toolbox unterstützt Publish/Subscribe-Nachrichten, Client-Server-Architekturen für Anfragen und Rückmeldungen, Actions sowie die dynamische Konfiguration von Parametern über ROS-Parameter-Server.