Zwei Welten mit eigenen Sprachen
Wer wissen will, in welcher Sprache ein Roboter programmiert wird, muss zuerst fragen, um welchen Roboter es geht. Für Forschungs- und mobile Roboter gibt es das quelloffene Robot Operating System (ROS), eine Sammlung von Bibliotheken und Werkzeugen. Industrieroboter dagegen kommen mit einer eigenen Steuerung und einer Programmiersprache, die der Hersteller festlegt. Beide Welten lassen sich verbinden, folgen aber unterschiedlichen Regeln.
ROS 2: C++ und Python im Kern
Die offizielle ROS-2-Dokumentation nennt zwei Kernbibliotheken für Anwendungscode: rclcpp für C++ und rclpy für Python. Beide setzen auf eine gemeinsame, in C geschriebene Basisbibliothek namens rcl auf, die Konzepte wie Parameter und Namensräume für alle Sprachen einheitlich umsetzt. Für rclcpp gibt die Dokumentation an, dass die Bibliothek Funktionen aus C++20 nutzt. Als typische Arbeitsteilung beschreibt sie selbst: Visualisierungswerkzeuge lassen sich in Python schneller entwickeln, Programmteile, bei denen es auf Effizienz ankommt, sind in C++ oft besser aufgehoben.
Knoten in verschiedenen Sprachen können Nachrichten austauschen, weil alle Bibliotheken Code aus denselben Schnittstellendateien erzeugen. Neben den Kernbibliotheken führt die Dokumentation Community-Projekte auf: rclc für C, das zusammen mit micro-ROS auf Mikrocontrollern eingesetzt wird, außerdem Anbindungen für Java und Android, .NET und C#, Node.js, Rust, Ada sowie Flutter und Dart. Diese Bibliotheken pflegt nicht das ROS-Kernteam.
Zum Programmieren gehören in ROS 2 auch Beschreibungsformate. Launch-Dateien, mit denen mehrere Programme gemeinsam gestartet werden, lassen sich in XML, YAML oder Python schreiben. Aufbau und Geometrie eines Roboters werden im Unified Robot Description Format (URDF) beschrieben, einem XML-Format.
ROS 1 ist ausgelaufen
Die ROS-1-Version Noetic hat am 31. Mai 2025 ihr Lebensende erreicht, am selben Tag wie die Standardunterstützung für Ubuntu Focal. Seitdem werden keine Pakete mehr für Noetic veröffentlicht. Open Robotics schrieb in der Ankündigung, 80 Prozent der ROS-Community seien bereits auf ROS 2 umgestiegen. Die Python-Bibliothek rospy stammt aus ROS 1; ihr Gegenstück in ROS 2 ist rclpy.
Aktuell unterstützt werden laut Dokumentation Humble Hawksbill (bis Mai 2027), Jazzy Jalisco (veröffentlicht im Mai 2024, bis Mai 2029), Kilted Kaiju (Mai 2025 bis Dezember 2026) und die jüngste Version Lyrical Luth, erschienen am 22. Mai 2026 und bis Mai 2031 gepflegt.
Industrieroboter: Sprachen der Hersteller
ABB programmiert seine Roboter in RAPID. Das Referenzhandbuch für RobotWare 6.06 beschreibt auf rund 1.760 Seiten die Instruktionen, Funktionen und Datentypen der Sprache, darunter Bewegungsbefehle wie MoveJ für Achsbewegungen, MoveL für lineare und MoveC für kreisförmige Bahnen.
KUKA nennt seine Sprache KUKA Robot Language (KRL). Der Hersteller bietet Programmierung in KRL für Roboter mit der Steuerung KR C4 an und führt daneben die Sunrise-Programmierung für den Roboter LBR iiwa als eigenen Bereich.
Universal Robots hat für seine Cobots URScript entwickelt. Nach Angaben des Herstellers wird alles, was ein Anwender in der grafischen Oberfläche PolyScope einstellt, in URScript-Befehle übersetzt und an den Roboter geschickt. URScript lässt sich auch direkt über eine TCP/IP-Verbindung an die Steuerung senden, ohne dass PolyScope laufen muss.
Simulation und Modellbildung
MathWorks verbindet MATLAB und Simulink über die ROS Toolbox mit ROS- und ROS-2-Netzwerken. Aus Modellen lässt sich laut Hersteller C++-Code erzeugen, der als eigenständiger ROS-Knoten auf Zielgeräten läuft. Der Simulator CoppeliaSim bringt einen integrierten Lua-Interpreter mit und kann zusätzlich über einen externen Python-Interpreter gesteuert werden; beide Wege funktionieren laut Handbuch bis auf kleine Unterschiede gleich.
Einstieg über Blöcke und Python
Im Bildungsbereich beginnt Programmieren oft grafisch. Die App zum Lernroboter LEGO Education SPIKE Prime bietet Icon-Blöcke und Wort-Blöcke, die auf Scratch basieren, und als nächste Stufe einen Python-Editor. Der Wechsel von Blöcken zu Python führt damit zu einer der beiden Sprachen, die auch in ROS 2 den Kern bilden.
Wer mit ROS 2 arbeitet, schreibt also in der Regel C++ oder Python. Wer Industrieroboter programmiert, braucht die Sprache des jeweiligen Herstellers.
Quellen
- Client libraries (ROS 2 Documentation, Quelltext) – Open Robotics / ROS 2 Documentation – abgerufen 03.10.2026
- Distributions (ROS 2 Documentation, Quelltext) – Open Robotics / ROS 2 Documentation – abgerufen 03.10.2026
- Using XML, YAML, and Python for ROS 2 Launch Files – ROS 2 Documentation – abgerufen 03.10.2026
- URDF – ROS 2 Documentation – abgerufen 03.10.2026
- rospy, package.xml (ros_comm, Zweig noetic-devel) – ROS / GitHub – abgerufen 03.10.2026
- ROS Noetic End-of-Life: May 31, 2025 – Open Robotics Discourse (Shane Loretz) – 10.04.2025
- Technical reference manual: RAPID Instructions, Functions and Data types, RobotWare 6.06 (3HAC050917-001, Rev. F) – ABB – 2017
- Application and robot programming from KUKA – KUKA – abgerufen 03.10.2026
- Develop with URScript – Universal Robots – abgerufen 03.10.2026
- ROS Toolbox – MathWorks – abgerufen 03.10.2026
- Scripts – CoppeliaSim User Manual – Coppelia Robotics – abgerufen 03.10.2026
- SPIKE Prime FAQs – LEGO Education – abgerufen 03.10.2026
Aktualisiert : Auf Basis der Primärquellen neu gefasst Erstveröffentlichung: .

Die Angaben in diesem Artikel wurden am 3. Oktober 2026 anhand der genannten Quellen geprüft.
Mehr zu Forschung & Technik




