
Beispiele für Software as Medical Device
Software as a Medical Device (SaMD) bezeichnet Software, die für medizinische Zwecke bestimmt ist (wie z. B. zur Diagnose, Behandlung, Heilung, […]

Robot Operating System (ROS) ist ein Open-Source-Framework, das sich zum De-facto-Standard für die Entwicklung von Robotiksoftware entwickelt hat. Moderne Roboter sind extrem komplex, mit vielen Komponenten wie Sensoren, Motoren und KI-Algorithmen – all dies von Grund auf neu zu entwickeln ist für Entwickler sehr schwierig.
ROS löst dieses Problem, indem es eine standardisierte, modulare Plattform zur Entwicklung fortschrittlicher Robotersysteme bereitstellt. Trotz des Namens ist ROS kein echtes Betriebssystem wie Windows oder Linux; es handelt sich vielmehr um eine Middleware-Schicht oder ein SDK (Software Development Kit), das auf einem traditionellen Betriebssystem (meist Ubuntu Linux) läuft.
In diesem Artikel behandeln wir:
Benötigen Sie Hilfe mit eingebetteten Systemen?
Unsere Embedded-Development-Dienstleistungen helfen Ihnen dabei, Sensoren, Echtzeitsoftware und Hardwareplattformen in robuste Robotiklösungen zu integrieren. Lassen Sie uns darüber sprechen, wie wir Ihr Projekt beschleunigen können.
ROS entstand Mitte der 2000er Jahre als Forschungsprojekt an der Stanford University mit dem Ziel, Robotiksoftware wiederverwendbarer und kollaborativer zu gestalten. Bereits in der Anfangszeit wollten die Doktoranden Eric Berger und Keenan Wyrobek ein gemeinsames „Basissystem“ schaffen, damit Forscher nicht bei jedem neuen Roboter das Rad neu erfinden mussten. Sie entwickelten einen Prototyp-Roboter (den PR1) und eine Software, die auf bewährten Praktiken früherer Frameworks wie Morgan Quigleys Stanford-System „Switchyard“ basierte. Im Jahr 2007 taten sie sich mit Scott Hassans Willow Garage zusammen, einem Robotik-Inkubator, der ihre Vision eines „Linux für Robotik“ – einer offenen Plattform für alle – teilte. Das erste ROS-Code-Repository wurde im November 2007 bei Willow Garage erstellt.

Willow Garage entwickelte anschließend den PR2, einen mobilen Roboter mit zwei Armen, als Vorzeige-Hardware für ROS. Im Jahr 2010 wurde die erste offizielle ROS-Version (ROS 1.0) veröffentlicht und Willow Garage verteilte PR2-Roboter an mehrere Universitäten, um die Community zu erweitern. Das funktionierte: Akademische und Open-Source-Beiträge strömten ein, und ROS entwickelte sich zu einem umfangreichen Ökosystem. 2012 half Willow Garage bei der Gründung der Open Source Robotics Foundation (OSRF), um die Zukunft von ROS zu verwalten. Ab 2013 übernahm die OSRF (später in Open Robotics umbenannt) die Weiterentwicklung von ROS, nachdem Willow Garage geschlossen wurde. Unter OSRF/Open Robotics entwickelte sich ROS kontinuierlich weiter – mit jährlichen Releases und wachsender Community-Unterstützung.
Ein großer Meilenstein war die Entwicklung von Versionen wie ROS 2 um das Jahr 2014. Die Grenzen von „ROS 1“ (dem ursprünglichen ROS) machten eine Neuentwicklung erforderlich, um den Anforderungen in Forschung und Industrie gerecht zu werden. ROS 2 wurde konzipiert, um Echtzeit-Steuerungssysteme, Multi-Roboter-Systeme, eingebettete Plattformen und moderne Netzwerktechnologien zu unterstützen. Die erste ROS-2-Version (Codename Ardent Apalone) wurde im Dezember 2017 veröffentlicht. Seitdem liegt der Fokus zunehmend auf ROS 2, wobei die letzte Langzeitversion von ROS 1 (Noetic) im Jahr 2025 das End-of-Life erreicht. Heute ist ROS ein sich ständig weiterentwickelndes Open-Source-Projekt mit einer weltweiten Community, das fortschrittliche Roboteranwendungen ermöglicht.
Im Wesentlichen ist ROS ein Middleware-Framework, das den verschiedenen Teilen der Roboter-Software hilft, zuverlässig miteinander zu kommunizieren. Es ermöglicht Entwicklern, robuste Systeme schnell zu erstellen, indem es die Software-Infrastruktur vereinfacht. Das ROS-System organisiert Software in einem Graphen aus Prozessen, sogenannten Knoten (Nodes), von denen jeder eine bestimmte Aufgabe übernimmt (zum Beispiel liest ein Knoten die Kamera aus, ein anderer plant eine Route) und so effiziente Kommunikationsmuster ermöglicht.

Diese Knoten kommunizieren miteinander, indem sie Nachrichten (über .msg-Dateien) über sogenannte Topics oder über Services austauschen. Das ermöglicht einen reibungslosen Betrieb über mehrere Knoten hinweg. Ein Topic ist wie ein benannter Bus zum Streamen von Nachrichten (nach dem Publish/Subscribe-Modell), während ein Service eine Anfrage-/Antwortschnittstelle für einmalige Aufgaben ist, sodass Knoten effizient Nachrichten austauschen können. In ROS 1 verfolgt ein zentraler ROS-Master-Prozess alle Knoten und erleichtert die Verbindungen, indem er Peer-to-Peer-Kommunikation zwischen Produzenten- und Konsumenten-Knoten einrichtet. (In ROS 2 wird dies durch einen dezentralen Erkennungsmechanismus ersetzt, wie später beschrieben.) Der ROS-Parameter-Server in ROS 1 ist ein gemeinsam genutztes Wörterbuch für Konfigurationsparameter, die von Knoten gelesen oder geschrieben werden können – etwa Steuerbefehle für Roboterbewegungen, die wichtige Bestandteile der Roboterkonfiguration darstellen.
Ein Beispiel: Stellen Sie sich einen mobilen Roboter vor. Ein Knoten veröffentlicht die Laserscanner-Daten auf dem Topic „/scan“, während ein Kamera-Knoten Bilddaten auf einem anderen Topic veröffentlicht, um visuelle Aufgaben zu ermöglichen. Ein Bewegungssteuerungs-Knoten könnte einen Service „/move_base“ anbieten, der beim Aufruf mit einem Zielort den Roboter dorthin bewegt, während ein Bildverarbeitungs-Knoten die Bilddaten analysiert. Diese modulare Architektur erlaubt es Entwicklern, Komponenten zu kombinieren und Code über Projekte hinweg wiederzuverwenden, sodass die Kommunikation zwischen verschiedenen Robotersystemen möglich wird. ROS übernimmt dabei im Hintergrund die Nachrichtenübertragung und Datenverarbeitung, sodass Sie sich auf die Datenanalyse und die Roboterlogik konzentrieren können.
Über den Nachrichtenaustausch hinaus vereinfachen ROS-Tools und Bibliotheken viele gängige Aufgaben in der Robotik. Zum Beispiel ist RViz ein 3D-Visualisierungstool für Robotersensoren und -zustände, das beim Debuggen und Überwachen hilft. Rosbag ist ein Tool zum Aufzeichnen und Wiedergeben von Sensordaten, was bei der Offline-Entwicklung und dem Testen von Algorithmen hilfreich ist. Es gibt auch Build-Systeme (z. B. Catkin in ROS 1) und Dienstprogramme (wie roslaunch zum gleichzeitigen Starten vieler Knoten). ROS wird über sogenannte „Packages“ verteilt – Bündel von Knoten, Bibliotheken und Konfigurationen für bestimmte Funktionen, was den Entwicklungsprozess erleichtert. Es gibt tausende ROS-Packages für alles – von Roboter-Treibern bis hin zu SLAM (Simultane Lokalisierung und Kartierung) – sodass man oft eine bereits vorhandene Lösung für gängige Probleme in der Robotik findet.
Mit zunehmender Beliebtheit von ROS wurde deutlich, dass eine neue Architektur erforderlich war, um den industriellen und modernen Anforderungen an Roboter gerecht zu werden. ROS 1 (das ursprüngliche ROS) war ein großartiger Anfang, hatte jedoch einige Einschränkungen: Es basierte auf einem zentralen Master-Knoten (was bei Ausfall problematisch für Multi-Maschinen-Setups war), war standardmäßig nicht echtzeitfähig und war an Linux-spezifische Bibliotheken gebunden. ROS 2 wurde entwickelt, um diese Probleme zu lösen.
Zur Veranschaulichung der Entwicklung zeigt die folgende Tabelle die wichtigsten Unterschiede zwischen ROS 1 und ROS 2:
| Aspekt | ROS 1 | ROS 2 |
|---|---|---|
| Kommunikation & Architektur | Zentralisiertes roscore/master, Peer-to-Peer-Verbindungen; eingeschränkte Protokolle (TCPROS/UDPROS), keine QoS-Steuerung | Basiert auf DDS (Data Distribution Service), dezentrale Erkennung, QoS-Richtlinien, kein Single Point of Failure |
| Echtzeitunterstützung | Standardmäßig nicht echtzeitsicher; nur teilweise Workarounds möglich | Für Echtzeitsysteme konzipiert, unterstützt Embedded-Plattformen und Echtzeitbetriebssysteme |
| Plattformunterstützung | Primär Linux (Ubuntu) | Plattformübergreifend: Linux, Windows, macOS, Echtzeitbetriebssysteme |
| Programmiersprachen & Codebasis | Mischung aus C++ und Python; ältere Designentscheidungen bestehen fort | Hauptsächlich C++ mit moderner Architektur, Python für High-Level-Skripting; bessere Performance & Portabilität |
| Build-System | Catkin-Build-System | Ament-Build-System mit verbessertem Paketmanagement |
| Knotenverwaltung | Keine integrierte Lifecycle-Verwaltung | Lifecycle-Nodes für deterministischen Start/Stopp |
| Sicherheit | Minimale integrierte Sicherheit | Erweiterte Sicherheitsfunktionen (Authentifizierung, Verschlüsselung, Zugriffskontrolle) |
| Lebenszyklus / End-of-Life | Letzte Version: ROS 1 Noetic (EOL im Mai 2025) | Aktive Weiterentwicklung, Zukunft des ROS-Ökosystems |
ROS 1 war die Grundlage, die Standardisierung und Zusammenarbeit in die Robotik brachte. ROS 2 baut auf diesem Erfolg auf, bietet eine moderne Architektur sowie Echtzeit- und plattformübergreifende Fähigkeiten, wodurch es nicht nur für Forschung, sondern auch für anspruchsvolle industrielle und kommerzielle Anwendungen geeignet ist.
ROS hat sich großer Beliebtheit erfreut, weil es die Entwicklung von Robotiksystemen vereinfacht – und das auf mehreren Ebenen. Hier sind einige der wichtigsten Vorteile von ROS:
Mit ROS lassen sich Entwicklungszeiten verkürzen, die Zuverlässigkeit durch bewährte Bibliotheken erhöhen und die Zusammenarbeit fördern. Es verleiht Robotikprojekten eine klare Struktur und adressiert häufige Schmerzpunkte wie Interprozesskommunikation, Hardwareabstraktion, Datenaufzeichnung und Visualisierung. Indem ROS diese generischen Probleme löst, können sich Entwickler auf die wirklich innovativen Funktionen konzentrieren – anstatt die Infrastruktur neu zu erfinden.
Seit seiner Einführung hat ROS in vielen realen Anwendungen Einzug gehalten. Im Folgenden zeigen wir Beispiele aus den Bereichen Medizintechnik, Automobilindustrie und Industrie 4.0, in denen ROS Innovationen vorantreibt:

ROS wird in der medizinischen Robotikforschung und in der Automatisierung im Gesundheitswesen eingesetzt. In der chirurgischen Robotik zum Beispiel werden ROS-Frameworks verwendet, um Bildgebungssysteme mit robotischen Manipulatoren für bildgestützte Eingriffe zu integrieren. Forscher haben ROS-basierte Systeme für Aufgaben wie präzise Nadeleinführung und Operationsplanung entwickelt und dabei ROS mit medizinischen Bildgebungsplattformen (z. B. 3D Slicer) kombiniert. Mit ROS können Entwickler Kameras, MRT-/CT-Bilder, Roboterarme und Patientendaten in einem einzigen System verbinden – was die Prototypentwicklung fortschrittlicher medizinischer Geräte und die Entwicklung medizinischer Software deutlich beschleunigt.
Über große kommerzielle Plattformen wie den Da-Vinci-Roboter hinaus entwickeln viele akademische und Forschungseinrichtungen kleinere, spezialisierte chirurgische Roboter mit ROS. Diese Systeme kombinieren häufig Roboterarme, Operationsmikroskope und haptische Rückkopplungssysteme zu Testplattformen für die Mikrochirurgie-Forschung. ROS dient dabei als Middleware, um Bildgebung in Echtzeit, Kraftfeedback und Robotersteuerung zu synchronisieren – sodass Forscher neue OP-Techniken experimentell untersuchen können. Sie können komplexe Abläufe wie beidhändige Manipulation oder Gewebesimulation prototypisieren, ohne den Low-Level-Kommunikationsstack neu zu entwickeln – das beschleunigt die Innovation in der chirurgischen Robotik erheblich.

Die Automobilindustrie setzt ROS stark ein – insbesondere bei autonomen Fahrzeugen und Fahrerassistenzsystemen. Viele Forschungsprojekte und Prototypen für selbstfahrende Autos verwenden ROS als Software-Rückgrat. Ein prominentes Beispiel ist Autoware, die erste Open-Source-Softwareplattform für autonomes Fahren, die auf ROS basiert. Autoware (heute in ROS 2) bietet Module für alle Kernfunktionen eines autonomen Fahrzeugs – von Sensorverarbeitung (Kamera, LiDAR), Lokalisierung, Pfadplanung bis zur Fahrzeugsteuerung – alles als ROS-Knoten und Bibliotheken. Der Einsatz von ROS in diesem Kontext ermöglichte es einer globalen Community, gemeinsam an autonomer Fahrzeugtechnologie zu arbeiten – was die Entwicklung beschleunigte, etwa auch in Bereichen wie automotive HMI Software, bei der intuitive Interaktionen zwischen Fahrer, Passagieren und Automatisierung entscheidend sind.
Automobilhersteller und Robotik-Startups nutzen ROS für die schnelle Entwicklung experimenteller Fahrzeuge. Die Simulationswerkzeuge von ROS (z. B. Gazebo/IGN für Fahrzeuge) erlauben es, Algorithmen für autonomes Fahren in virtuellen Stadtumgebungen zu testen – sicherer und effizienter als in der Realität. Unternehmen haben ROS-Schnittstellen für Fahrzeugsensoren und CAN-Bus-Controller entwickelt, sodass neue Sensoren oder Drive-by-Wire-Systeme einfach in ein ROS-gesteuertes Fahrzeug integriert werden können. Auch wenn kommerzielle Produkte später auf optimiertem Code oder anderen Frameworks laufen, ist ROS im Bereich F&E (Forschung & Entwicklung) unverzichtbar. Es bietet eine gemeinsame Sprache, um Algorithmen und Datensätze auszutauschen. Viele Projekte für autonome Fahrzeuge – vom kleinen Campus-Lieferroboter bis hin zum vollwertigen Robo-Taxi – haben ihren Ursprung in der ROS-basierten Entwicklung.

Industrie 4.0 bezeichnet die nächste Generation intelligenter Fabriken und industrieller Automatisierung – und ROS spielt in diesem Bereich durch die Initiative ROS-Industrial eine zentrale Rolle. ROS-Industrial (ROS-I) ist eine Erweiterung von ROS für industrielle Fertigung und Automatisierung. Sie bringt die flexible, hochgradig programmierbare Struktur von ROS in die Welt der Industrieroboter, wie Roboterarme, Förderbänder und AGVs (Automated Guided Vehicles). Ein großer Vorteil von ROS-I ist die Interoperabilität: Es ermöglicht Robotern und Anlagen unterschiedlicher Hersteller, innerhalb eines einheitlichen Steuerframeworks zusammenzuarbeiten. Traditionell verwenden Industrieroboter proprietäre Software, die schlecht miteinander kommuniziert – ROS-I fungiert hier als Übersetzer und Koordinator, was besonders wichtig ist für industrielle Automatisierungssysteme, in denen mehrere Maschinen zusammenarbeiten müssen.
Beispielsweise enthält ROS-I Pakete für gängige Industrierobotermarken (ABB, FANUC, Yaskawa usw.), sodass ein ROS-Programm Bewegungsbefehle an beliebige dieser Roboter über dieselbe Schnittstelle senden kann. In der Praxis kann eine ROS-gesteuerte Software beispielsweise einen Roboterarm auf der einen Seite einer Fertigungszelle mit einem mobilen Roboter koordinieren, der Teile liefert – überwacht durch Sensoren und vollständig integriert über ROS-Nachrichten. Durch die Überbrückung zwischen proprietären Systemen senkt ROS die Einstiegshürden für moderne Automatisierung in der Produktion – insbesondere für kleinere Unternehmen, die von Open-Source-Lösungen profitieren. Das Ergebnis ist eine stärker vernetzte, effizientere Produktionslinie, in der Daten nahtlos zwischen Maschinen fließen – die Vision von Industrie 4.0.
Von Universitätslaboren bis hin zum globalen Phänomen – ROS hat sich zur Grundlage der Robotik entwickelt. Es ist der Klebstoff, der komplexe Robotersysteme zusammenhält – ein gemeinsames Framework, auf dem aufgebaut werden kann und das weltweit unzählige Entwicklungsstunden eingespart hat. Indem es Robotern ermöglicht, „gleich zu denken und zu kommunizieren“, hat ROS eine Umgebung geschaffen, in der Teilen und Zusammenarbeit zur neuen Norm geworden sind – und in der Innovation in der Robotik rasant voranschreitet. Ob ein Startup eine Lieferdrohne entwickelt, ein Automobilhersteller selbstfahrende Autos prototypisiert oder ein Krankenhaus Serviceroboter einsetzt – ROS liefert die Software-Bausteine, um schneller voranzukommen.
Mit dem ständigen Fortschritt und wachsender Unterstützung von ROS 2 steht das Robot Operating System im Zentrum der Robotikrevolution – sowohl für Experten als auch für Einsteiger, die intelligentere und leistungsfähigere Roboter bauen wollen.
Benötigen Sie Hilfe bei eingebetteten Systemen in der Robotik?
Wir helfen Ihnen bei der Entwicklung und Integration von Echtzeitsoftware, Hardwareplattformen und Sensornetzwerken – für Leistung und schnelle Markteinführung. Lassen Sie uns über Ihr Projekt sprechen.
Kommen wir zur Sache: Es ist eine Herausforderung, Top-Qt-QML-Entwickler zu finden. Helfen Sie sich selbst und starten Sie die Zusammenarbeit mit Somco Software – echten Experten im Qt C++ Framework.
Entdecken Sie unsere Fähigkeiten!
Software as a Medical Device (SaMD) bezeichnet Software, die für medizinische Zwecke bestimmt ist (wie z. B. zur Diagnose, Behandlung, Heilung, […]

Zuverlässige Kommunikation zwischen Geräten ist das Herzstück jedes gut konzipierten Embedded-Systems. Ob Sie ein Sensor-Gateway entwickeln, industrielle Hardware konfigurieren oder […]

Das Testen von Embedded-Software geht über die reine Code-Verifikation hinaus; es erfordert eine Kombination aus Methoden und Werkzeugen, um Hardwareabhängigkeiten, […]