• Home
  • Aktuelles
    • Summer School 2025
    • Rückblick
    • Publikationen
  • Zentren
  • Wissen
  • Forum
  • Kontakt
  • Suche
  • Menü Menü

Übersicht Roboter im Alltag

  • Was ist die RimA-Wissensplattform?
  • Was sind eigentlich Service- und Assistenzroboter?
  • Serviceroboter auf dem Markt: Haushaltsroboter
  • Serviceroboter auf dem Markt: Reinigung im öffentlichen Raum
  • Serviceroboter auf dem Markt: Einzelhandel, Hotel- und Gastgewerbe
  • Serviceroboter auf dem Markt: Pflegeroboter
  • Serviceroboter auf dem Markt: Soziale Interaktion und Bildung
  • Serviceroboter auf dem Markt: Multi-Purpose-Roboter

Toolbox zur Entwicklung von Geschäftsmodellen

  • Einführung und Anwendung der Toolbox
  • Methode: Value Proposition Canvas
  • Methode: Lean Start-up und MVP
  • Methode: 55+ Geschäftsmodell-Muster
  • Methode: Heldenreise
  • Methode: Customer Journey
  • Methode: Target Costing
  • Methode: Business Model Canvas
  • Weitere Methoden
  • Beispiel Use Cases
  • Zwischen Sicherheit und okonomischer Tragfähigkeit
  • Best Practices und Illustrationsbeispiele 

Regulatorische Rahmenbedingungen für Serviceroboter im öffentlichen Raum

  • Geltende Normen, Vorschriften und Gesetze für Serviceroboter im öffentlichen Raum
  • Identifikation der größten Herausforderungen
  • Entwicklung sicherer Reinigungsroboter
  • Praxishilfen für sichere Maschinen

Open Source Software (OSS)

  • Warum Open Source?
  • Open-Source-Software Lizenztypen
  • OSS für Interaktion
  • OSS Robotik-Framework ROS / ROS 2
  • Large Language Modelle (LLMs)

CE-Konformität

  • Allgemeines zur CE-Konformität
  • Grundlagen der CE-Konformität
  • Acht Schritte zur CE-Konformität
  • Schritt 1: Spezifikation erstellen
  • Schritt 2: EU-Richtlinien und Vorschriften ermitteln
  • Schritt 3: Technische Regeln ermitteln
  • Schritt 4: Festlegung des Konformitätsbewertungsverfahrens
  • Schritt 5: Produktkonformität mit den Richtlinien und Normen prüfen und sicherstellen
  • Schritt 6: Technische Dokumentation erstellen
  • Schritt 7: Konformitätserklärung(en) erstellen
  • Schritt 8: CE-Kennzeichnung anbringen

Benchmarking und Vergleichskriterien

  • Forschung durch Wettbewerbe in der Robotik
  • Basistechnolgien für Reinigungsroboter im öffentlichen Raum
  • Benchmarking-Szenario: Wettbewerb Parkreinigung
  • Benchmarking in Simulationen

OSS für Computer Vision

  • OSS OpenCV für Computer Vision und Bildverarbeitung
  • OSS TensorFlow für Maschinelles Lernen und Künstliche Intelligenz

Mensch-Roboter-Interaktion

  • Blick in die Forschung: Mensch-Roboter-Interaktion
  • Kommunikationsstrategie eines Roboters

OSS für Personen- und Objekterkennung

  • OSS You Only Look Once (YOLO)
  • OSS FreeMoCap Motion-Capture-System
  • OSS Open Pose

OSS für Navigation

  • OSS für Navigation
  • OSS Nav2
View Categories
  • Home
  • Wissensplattform
  • Open Source Software (OSS)
  • OSS Robotik-Framework ROS / ROS 2

OSS Robotik-Framework ROS / ROS 2

5 min read

ROS steht für „Robot Operating System“ (Robotik-Betriebssystem) und ist ein flexibles Open Source „Framework“.

Ein Framework ist ein Gerüst für die vielen kleinen Bestandteile eines Codes. Es kann als eine Art „Vorprogrammierung“ verstanden werden, die verschiedene Funktionen und Elemente bereits enthält und das Programmieren somit erleichtert. [1]

Das ROS-Framework wurde entwickelt, um die Entwicklung von Robotersoftware zu erleichtern. Obwohl der Name „Betriebssystem“ suggeriert, dass es sich um ein klassisches Betriebssystem handelt, ist ROS eher eine Sammlung von Tools, Bibliotheken und Konventionen, die die Entwicklung, das Testen und den Betrieb von Robotersoftware unterstützen.

ROS wurde ins Leben gerufen, um der Tendenz der Robotikforschung entgegenzuwirken, ständig „das Rad neu zu erfinden“. Lange war es in der Robotikforschung so, dass jede Forschungsgruppe über ein eigenes Framework verfügte, das verschiedene Aspekte der Robotik abdeckte. Ob Lösungen für die präzise Steuerung der Roboterbewegungen, die sichere Navigation im Umfeld, die Berechnung komplexer kinematischer Bewegungen oder spezialisierte Treiber für die Robotikhardware und die Sensorschnittstellen – die Lösungen waren da, wurden aber nicht geteilt oder waren schwer integrierbar. Durch das gemeinsame Framework wurde es möglich, Forschungsarbeit effizienter zu gestalten und sich auf die Entwicklung innovativer Lösungen zu konzentrieren, ohne dabei grundlegende Funktionen wiederholt neu entwickeln zu müssen.

Komponenten

ROS besteht aus einer Vielzahl von Softwaremodulen, darunter Bibliotheken, verschiedene Frameworks, Treiber und Tools. Diese Komponenten sind in Paketen organisiert, die verschiedene Funktionen abdecken, wie z.B. Bildverarbeitung, Bewegungssteuerung, Sensordatenverarbeitung und mehr.

ROS Versionen

Aktuellster release (stand August 2023): Noetic Ninjemys (ROS) Iron Irwini (ROS 2)

Programmiersprachen und Werkzeuge

ROS unterstützt verschiedene Programmiersprachen, darunter C++, Python und mehr. Dies ermöglicht es Entwicklern, in ihrer bevorzugten Sprache zu arbeiten. Es bietet eine breite Palette von Werkzeugen zur Unterstützung der Entwicklungs- und Testphase. Dazu gehören Simulationsumgebungen wie Gazebo, Werkzeuge zur Visualisierung von Daten, Debugging-Tools und mehr.

Last but not least: Die ROS-Community

ROS hat durch Robotik-Konferenzen und zugehörigem Merchandise eine ausgesprochen aktive und wachsende Entwicklergemeinschaft.

ROS gilt als das umfangreichste Open Source Robotik Framework, das von einer dynamischen und vielfältigen Gemeinschaft getragen wird. Mit mehr als 300 aktiven Kontributoren und Programmierern sowie über 2000 Mitgliedern auf der Mailingliste bildet ROS eine lebendige Plattform für den Austausch von Wissen und Lösungen. Diskussionen und Hilfestellungen finden auf dem ROS Discourse Forum statt, einer Online-Plattform unter: https://discourse.ros.org/. Jährlich wird eine neue ROS-Distribution veröffentlicht, die neueste Funktionen und Verbesserungen bringt. ROS rühmt sich mit der größten weltweiten Community in der Robotik, die größer ist als die der andere existierenden Robotik-Frameworks. Diese Community umfasst zahlreiche aktive Gruppen, die kontinuierlich an der Entwicklung von Treibern, Werkzeugen und Algorithmen arbeiten. Es existieren viele ROS-Pakete, die aktiv unterstützt und gewartet werden, was zu einer stabilen und wachsenden Plattform für die Entwicklung von Robotersoftware führt.

ROS vs. ROS 2

ROS (Robot Operating System) und ROS 2 sind zwei aufeinanderfolgende Versionen des Robotik-Betriebssystems. Die ursprüngliche Version von ROS (1.x) wurde entwickelt, um die gemeinsame Entwicklung von Robotersoftware zu erleichtern. Es war jedoch nicht von Anfang an auf Skalierbarkeit und industrielle Anforderungen ausgerichtet. ROS 2 wurde entwickelt, um die Schwächen von ROS zu überwinden. Es legt mehr Wert auf Skalierbarkeit, Zuverlässigkeit, Sicherheit und Interoperabilität. ROS 2 wurde unter Berücksichtigung von Industriestandards und verschiedenen Anwendungsbereichen entworfen. Zusammenfassend zielt ROS 2 darauf ab, die Schwächen von ROS zu überwinden und eine leistungsfähigere, flexiblere und besser skalierbare Plattform für die Entwicklung von Robotersoftware zu bieten. Je nach den Anforderungen des jeweiligen Projekts und den unterstützten Funktionen kann entweder ROS oder ROS 2 die bessere Wahl sein.

Die Hauptunterschiede liegen in:

Kommunikation:
ROS: ROS verwendet eine Middleware namens „roscpp“ (C++) und „rospy“ (Python) für die Kommunikation zwischen Modulen. Diese Middleware hatte einige Einschränkungen in Bezug auf Skalierbarkeit und Zuverlässigkeit.
ROS 2: ROS 2 verwendet eine modulare Middleware (rclcpp für C++ und rclpy für Python), die das DDS (Data Distribution Service) Protokoll verwendet. Diese Middleware ist besser an die Anforderungen von verteilten und zuverlässigen Systemen angepasst.

Interoperabilität:
ROS: ROS hat begrenzte Interoperabilität zwischen verschiedenen ROS-Distributoren und war nicht immer einfach mit anderen Kommunikationsprotokollen oder Frameworks zu integrieren.
ROS 2: ROS 2 wurde von Anfang an mit Interoperabilität im Hinterkopf entwickelt. Es erleichtert die Integration mit anderen Frameworks und ermöglicht die Kommunikation zwischen ROS 2-Distributoren sowie zwischen ROS 2 und nicht-ROS-Systemen.

Sicherheit:
ROS: ROS hat nur begrenzte Sicherheitsfunktionen und war möglicherweise anfällig für potenzielle Sicherheitsrisiken.
ROS 2: ROS 2 legt mehr Wert auf Sicherheit und bietet Funktionen wie sichere Kommunikation und Benutzerrechteverwaltung.

Skalierbarkeit:
ROS: ROS kann Schwierigkeiten bei der Skalierung von Systemen aufweisen, die viele Knoten und Kommunikationsaktivitäten hatten.
ROS 2: ROS 2 wurde mit Skalierbarkeit im Sinn entwickelt und ermöglicht die effiziente Handhabung von Systemen mit vielen Knoten und Kommunikationsanforderungen.

Echtzeitfähigkeit:
ROS: ROS hat begrenzte Echtzeiteigenschaften und war nicht für streng echtzeitkritische Anwendungen geeignet.
ROS 2: ROS 2 enthält Unterstützung für echtzeitfähige Anwendungen und kann in Kombination mit Echtzeitbetriebssystemen verwendet werden.

Die Echtzeitfähigkeit eines Betriebssystems bezieht sich auf dessen Reaktionsfähigkeit, die es dem System ermöglicht, alle anstehenden Aufgaben und Funktionen unter jeglichen Zu- und Umständen zuverlässig erledigen zu können. „In Echtzeit“ ist also eine variable Größe, die sich an jeweiligen Anforderungen orientiert. [2]

Vorteile

ROS zeichnet sich als herausragendes Robotik-Framework aus, das eine effiziente Lösung für eine Vielzahl von Herausforderungen bietet. Es ermöglicht die Entwicklung von unabhängigen Modulen und dadurch die klare Trennung dieser, was z. B. das Starten, Stoppen und Überwachen dieser Komponenten erleichtert. Fähigkeit zur Kommunikation zwischen Robotern über Netzwerke sowie die Möglichkeit der Datenabstraktion sind zentrale Merkmale von ROS. Durch die Standardisierung von Schnittstellen zwischen den Modulen können Entwickler vorhandene Software für verschiedene Projekte wiederverwenden, was die Entwicklungszeit reduziert. Die Stärke von ROS liegt nicht zuletzt in seiner aktiven und vielfältigen Gemeinschaft, bestehend aus Forschern und Industrieexperten, die ihr Wissen auf der Plattform wiki.ros.org (ROS) bzw. docs.ros.org (ROS2) teilen. ROS bietet eine beeindruckende Vielfalt an vorgefertigten Komponenten und Werkzeugen, die adaptiert und genutzt werden können. Dies trägt nicht nur zur Zeitersparnis bei, sondern ermöglicht auch potenzielle Kosteneinsparungen. Durch die Verfügbarkeit von Hardware-Treibern, Algorithmen und Tools wird die Entwicklungsarbeit erleichtert. Die Nutzung von Open-Source-Software kann den Zeitaufwand reduzieren und die Entwicklungsgeschwindigkeit signifikant erhöhen.

Nachteile

Es ist wichtig zu beachten, dass ROS zwar ein leistungsstarkes Werkzeug ist, aber nicht für alle Herausforderungen eine Lösung bietet. Es ist beispielsweise nicht für harte Echtzeitanforderungen geeignet. Zudem ist es nicht auf jedem System verfügbar und möglicherweise nicht für jede spezifische Anwendung geeignet. Trotz der Nutzung von ROS erfordert die effektive Anwendung nach wie vor solide Programmierkenntnisse. Obwohl über 1900 Pakete verfügbar sind, sollte man sich bewusst sein, dass nicht alle reibungslos funktionieren oder ausreichend dokumentiert sind. Einige Pakete werden möglicherweise nicht aktiv gewartet. Darüber hinaus lassen sich auch nicht alle technischen Herausforderungen, die bei der Entwicklung von Robotiksystemen auftreten können, mit der Nutzung von ROS lösen. Eine sorgfältige Abwägung der Anforderungen und Möglichkeiten ist daher unerlässlich.

Off the shelf ROS Produkte

Mobile Industry Robots (MiR)
Amazon Robotics
Mehrere Firmen im Bereich Autonomes Fahren: Aptive nuTonomy, Voyage

Viele Hersteller bieten außerdem eigene ROS-Treiber an. U.a.
Universal Robots
Franka Emika
SICK
Schunk

Referenzen

[1] N. Hery-Moßmann. (2023, November 3). Was ist ein Framework? – einfach erklärt. [Online]. Verfügbar: https://praxistipps.chip.de/was-ist-ein-framework-einfach-erklaert_41348. [Abruf Mai 2, 2024].

[2] Springer. (2005). Echtzeit, Echtzeitsysteme, Echtzeitbetriebssysteme. [Online]. Verfügbar: https://link.springer.com/chapter/10.1007/3-540-27522-3_3. [Abruf Mai 2, 2024].

Weiterführende Links

ROS-Industrial Consortium USA

ROS-Industrial Consortium Europe

ROS Discourse

Assistenzroboter, Open Source Software, OSS, Serviceroboter
Hat dieser Beitrag weitergeholfen?
Nichts gefunden? Können wir helfen?

Wie können wir helfen?

Updated on 10. Oktober 2024
OSS für InteraktionLarge Language Modelle (LLMs)

Powered by BetterDocs

Transferzentrum RimA: Roboter im Alltag

 

koordiniert von:

FZI Forschungszentrum Informatik
Haid-und-Neu-Str. 10-14
76131 Karlsruhe

 

 

Datenschutz

Impressum

Förderung

gefördert durch das Bundesministerium für Bildung und Forschung

© Copyright - RimA | Roboter im Alltag - Enfold Theme by Kriesi
Was sind eigentlich Service- und Assistenzroboter?Serviceroboter auf dem Markt: Multi-Purpose-Roboter
Nach oben scrollen

Diese Seite verwendet Cookies. Mit der Weiternutzung der Seite stimmen Sie der Verwendung der notwendigen Cookies zu. Wir verarbeiten die erhobenen Daten auf Basis berechtigten Interesses gemäß Art. 6 Abs. 1 lit f DSGVO. Das Interesse ist die Optimierung unserer Webseite für die Analyse der Navigationspfade bzw. die Häufigkeit von Aufrufen von Beiträgen. Die Daten werden nicht weitergegeben und gelöscht sobald die Analysen abgeschlossen sind. Nähere Infos finden Sie in unserer Datenschutzerklärung.

Einstellungen akzeptierenEinstellungen bearbeiten

Cookie and Datenschutz Einstellungen



Wie wir Cookies verwenden

Wir können Cookies anfordern, die auf Ihrem Gerät eingestellt werden. Wir verwenden Cookies, um zu sehen, wenn Sie unsere Websites besuchen, wie Sie mit uns interagieren, Ihre Nutzererfahrung verbessern und Ihre Beziehung zu unserer Website anpassen.

Wir verwenden zur Optimierung unserer Webseite die Analysefunktionen des BetterDocs-WordPress-Plugins. Hieran haben wir ein berechtigtes Interesse im Sinne des Art.6 Abs 1 lit f DSGVO. BetterDocs liefert eine Analysefunktion für die erstellten Inhalte. Unsere Interesse ist die Optimierung unserer Webseite wofür die Analyse der Navigationspfade bzw. die Häufigkeit von Aufrufen von Beiträgen notwendig ist. Um Nutzerverhalten zuordnen zu können benötigen wir die IP bzw. einen Cookie. Die Daten werden nicht weitergegeben. Die Daten werden gelöscht sobald die Analysen abgeschlossen sind.

Notwendige Website Cookies

Diese Cookies sind unbedingt erforderlich, um Ihnen die auf unserer Webseite verfügbaren Dienste und Funktionen zur Verfügung zu stellen.

Da diese Cookies für die auf unserer Webseite verfügbaren Dienste und Funktionen unbedingt erforderlich sind, hat die Ablehnung Auswirkungen auf die Funktionsweise unserer Webseite. Sie können Cookies jederzeit blockieren oder löschen, indem Sie Ihre Browsereinstellungen ändern und das Blockieren aller Cookies auf dieser Webseite erzwingen.

Wir respektieren es voll und ganz, wenn Sie Cookies ablehnen möchten. Um zu vermeiden, dass Sie immer wieder nach Cookies gefragt werden, erlauben Sie uns bitte, einen Cookie für Ihre Einstellungen zu speichern. Sie können sich jederzeit abmelden oder andere Cookies zulassen, um unsere Dienste vollumfänglich nutzen zu können. Wenn Sie Cookies ablehnen, werden alle gesetzten Cookies auf unserer Domain entfernt.

Datenschutzrichtlinie

Sie können unsere Cookies und Datenschutzeinstellungen im Detail in unseren Datenschutzrichtlinie nachlesen.

Datenschutz
Matomo

Diese Website benutzt den Open Source Webanalysedienst Matomo. Mit Hilfe von Matomo sind wir in der Lage Daten über die Nutzung unserer Website durch die Websitebesucher zu erfassen und zu analysieren. Hierdurch können wir u. a. herausfinden, wann welche Seitenaufrufe getätigt wurden und aus welcher Region sie kommen. Außerdem erfassen wir verschiedene Logdateien (z. B. IP-Adresse, Referrer, verwendete Browser und Betriebssysteme) und können messen, ob unsere Websitebesucher bestimmte Aktionen durchführen (z. B. Klicks, Käufe u. Ä.). Die Nutzung dieses Analyse-Tools erfolgt auf Grundlage von Art. 6 Abs. 1 lit. f DSGVO. Der Websitebetreiber hat ein berechtigtes Interesse an der Analyse des Nutzerverhaltens, um sowohl sein Webangebot als auch seine Werbung zu optimieren. Sofern eine entsprechende Einwilligung abgefragt wurde, erfolgt die Verarbeitung ausschließlich auf Grundlage von Art. 6 Abs. 1 lit. a DSGVO und § 25 Abs. 1 TDDDG, soweit die Einwilligung die Speicherung von Cookies oder den Zugriff auf Informationen im Endgerät des Nutzers (z. B. Device-Fingerprinting) im Sinne des TDDDG umfasst. Die Einwilligung ist jederzeit widerrufbar.

Opt-out complete; your visits to this website will not be recorded by the Web Analytics tool. Note that if you clear your cookies, delete the opt-out cookie, or if you change computers or Web browsers, you will need to perform the opt-out procedure again.

You may choose to prevent this website from aggregating and analyzing the actions you take here. Doing so will protect your privacy, but will also prevent the owner from learning from your actions and creating a better experience for you and other users.

The tracking opt-out feature requires cookies to be enabled.

Einstellungen akzeptieren