Was ist ROS?
Definieren Sie 'Roboter'
ROS steht für Robot Operating System, doch um zu verstehen, was ROS ist, müssen wir zunächst definieren, was wir unter einem Roboter verstehen. Im Kontext dieses Blogs ist ein Roboter ein Fahrzeug oder Objekt, das sich autonom in seiner Umgebung bewegen kann, ohne dass eine ständige menschliche Interaktion erforderlich ist und/oder es von einer Infrastruktur geführt wird. Er muss in der Lage sein, seine eigenen Entscheidungen auf der Grundlage des Feedbacks zu treffen, das er von den Sensoren an Bord erhält.
Ein Roboter kann also alles sein, von einem autonomen Obstpflücker bis hin zu einem Roboter, der Hotelflure reinigt. Die Tatsache bleibt jedoch dieselbe, er muss unabhängig navigieren.
Wie funktioniert ROS?
Trotz des Namens ist ROS kein reines Betriebssystem. Es handelt sich um eine Reihe von Open-Source-Bibliotheken und -Tools, die einen Rahmen für die Entwicklung von Software zur Ausführung auf Robotersystemen bieten. Es benötigt immer noch ein Hauptbetriebssystem, auf dem es läuft, normalerweise ein Linux-basiertes System wie Ubuntu. Mit der ROS-Schicht ermöglicht es dann die notwendige Hardwareabstraktion und andere allgemeine Funktionen, die für die Erstellung von Programmen für Roboter erforderlich sind.
Aber was macht ROS so attraktiv für Entwickler?
1) Open-Source und weit verbreitet
Mit dem Vorteil, dass es als Open Source verfügbar ist und sich immer weiter verbreitet, hat sich ROS zu einem der Standards in der Roboterprogrammierung entwickelt. Über seine Ursprünge im akademischen Bereich hinaus beginnen immer mehr Unternehmen, die ROS-Umgebung zu nutzen. Viele OXTS-Kunden entwickeln Knoten und Treiber für kommerzielle Produkte, damit diese leicht auf dieser gemeinsamen Plattform integriert werden können.
2) Unterstützt viele Sensoren
Die lange Liste der von ROS unterstützten Sensoren umfasst zahlreiche LiDAR-Systeme, Stereo-, Wärme- und RGB-Kameras, Kraft-/Drehmomentsensoren, Motorsteuerungen und Positionierungssysteme wie die Trägheitsnavigationssysteme von OXTS - wie das RT3000 v4
3) Niedrige Eintrittsbarriere
Dank der breiten Akzeptanz und des universellen Standards ist die Einstiegshürde für die Entwicklung von Robotikanwendungen deutlich gesunken und die Community ist besser vernetzt. Der Code ist leichter auf verschiedene Robotersysteme übertragbar, und die Entwickler müssen nicht bei Null anfangen, um die Grundlagen für die verschiedenen Hardwarehersteller zu schaffen, die sie verwenden.
Wofür wird ROS verwendet?
ROS wird üblicherweise in einem breiten und vielfältigen Spektrum von Anwendungen eingesetzt. Viele der heutigen Anwendungsfälle für ROS sind Anwendungen, bei denen "menschliche Unterstützung" erwünscht ist. Daher nutzen Ingenieure, die autonome Fahrzeuge oder Industrie- und Medizinroboter bauen, den ROS-Rahmen. Natürlich wird ROS auch in der Forschung und Ausbildung eingesetzt, um Produkte für diese Anwendungen zu entwickeln.
In diesem Abschnitt wird erläutert, warum diese Anwendungen ROS verwenden.
Autonome Fahrzeugnavigation
Nach der Explosion der ADAS (Advanced Driver Assistance), die Anfang bis Mitte der 2000er Jahre in Fahrzeugen auftauchten, ist der natürliche nächste Schritt in dieser Entwicklung die Fähigkeit zum vollständig autonomen Fahren.
Im Grunde genommen ist ein autonomes Fahrzeug nur ein weiterer Roboter. Um funktional sicher zu sein, muss das Fahrzeug wissen, wo es sich befindet, wohin es fährt, wie es dorthin kommt (indem es auf seinem geplanten Weg bleibt) und Hindernissen ausweicht, auf die es unterwegs stößt - genau wie ein Roboter es tun muss.
Dazu muss das Fahrzeug Daten von mehreren Sensoren wie LiDAR, Radgeschwindigkeit, Kamera und natürlich Navigationssystemen wie GPS oder INS nutzen und auf die erhaltenen Informationen reagieren. ROS ist daher ein wichtiges Framework für diesen Anwendungsfall, da es den Ingenieuren die Möglichkeit gibt, mit den Daten der einzelnen Sensoren zu arbeiten und Algorithmen zu erstellen, die eine Reaktion der Motoren erzeugen - basierend auf dem Feedback der Sensoren.
Neben der Hardware-Integration ist ROS auch für die Simulation, die Visualisierung von Pfaden, das Testen und Debuggen, die Datenaufzeichnung und die Wiederverwendbarkeit nützlich.
Industrielle Robotik
Ein weiterer Anwendungsfall für ROS ist die Industrierobotik. Genau wie ein autonomes Fahrzeug muss ein Roboter, der beispielsweise in einem Lager oder einem Hafen eingesetzt wird, genau und sicher in seiner Umgebung navigieren, ohne dass der Mensch eingreifen muss - wenn auch in kleinerem Maßstab.
In einem industriellen Umfeld kann ein Roboter in vielen verschiedenen Formen und Größen auftreten, je nach der Aufgabe, die er erfüllen soll. Ein AGV (Autonomous Guided Vehicle) kann für den Transport von Lagerbeständen eingesetzt werden, oder ein kleinerer Roboter könnte für die Reinigung einer Fabrikhalle eingesetzt werden, ähnlich wie ein autonomer Staubsauger in einem Hotel arbeitet. Eines bleibt jedoch immer gleich - die Notwendigkeit, in einer Reihe unterschiedlicher Umgebungen zu arbeiten.
Um in verschiedenen Umgebungen arbeiten zu können, ist ein Ansatz zur Sensorfusion erforderlich, und daher ist ROS aus den oben genannten Gründen von entscheidender Bedeutung.
Medizinische Robotik
Die Ärzteschaft steht derzeit vor zahlreichen Herausforderungen. Die Bevölkerung altert und die Zahl der Arbeitskräfte schrumpft. Dies bedeutet, dass der Einsatz von Robotern zur Übernahme von einfachen, wiederholbaren Aufgaben wie Mobilitäts- und Rehabilitationsübungen einen echten, eindeutigen Vorteil darstellt.
In diesem Fall kann ROS, solange die Route wiederholbar ist, dafür sorgen, dass der Roboter seine geplante Route einhält. Wahrnehmungsalgorithmen können auch eingesetzt werden, um sicherzustellen, dass Unfälle mit Robotern vermieden werden.
Neben Mobilitäts- und Rehabilitationsanwendungen können Roboter auch in der Medizinrobotik eingesetzt werden, um systematisch die Beobachtungen von Patienten zu überprüfen und geschultes Personal zu alarmieren, wenn Unregelmäßigkeiten festgestellt werden.
Verwendung von OxTS-Systemen mit ROS
Bei OXTS haben wir eine Treiber für ROS 2die neueste Version von ROS, die eine Sammlung von Paketen bereitstellt, die die NCOM-Live-Navigationsdaten von einem OXTS INS-Gerät dekodieren und diese Daten in einem Format veröffentlichen können, das von anderen ROS-kompatiblen Geräten verwendet werden kann. Dadurch kann das OXTS-Gerät problemlos in ein größeres ROS-Netzwerk integriert werden und Positions-, Lokalisierungs- und Dynamikdaten für Navigations- und Steuerungsanwendungen bereitstellen.
Wir haben auch ein weiteres Paket entwickelt, das unabhängig von der NCOM-Dekodierung läuft. Dieser Knoten namens "ROS 2GAD" kann Daten von anderen Sensoren in der ROS-Umgebung, wie LiDAR und Kameras, übernehmen und in unser Generic Aiding Data (GAD)-Format konvertieren.
OXTS Generic aiding with inertial in combination (or instead of GNSS) ist eine Schnittstelle, die entwickelt wurde, um eine schnellere Integration von externen Sensoren zu ermöglichen, die zur Unterstützung des Navigationssystems verwendet werden können, indem sie Messungen von z.B. Position, Geschwindigkeit und Lage liefern.
Durch Konvertierung der ROS-Nachrichten in das GAD-Standardformat können die Daten direkt an die OXTS-Navigations-Engine weitergeleitet werden, wo sie mit den Inertialdaten und anderen Hilfsquellen wie GNSS kombiniert werden.
Autonome Roboternavigation - Kurzbeschreibung
AMRs benötigen eine robuste Lösung zur Lokalisierung von Robotern; ein Werkzeug, das nicht nur die Position und Orientierung des Roboters erfasst, sondern auch in Innenräumen und im Freien funktioniert.
In dieser Lösungsübersicht gehen wir auf die Aspekte ein, die wir unseren Kunden empfehlen, wenn sie sich für eine Lokalisierungsquelle für ihre autonomen mobilen Roboter entscheiden.
Lesen Sie die Lösungsübersicht erfahren Sie, wie die richtige Roboterlokalisierungslösung Ihr AMR-Projekt unterstützen kann und welche Fragen Sie sich stellen müssen, bevor Sie ein Projekt in Angriff nehmen.
English
Chinese
Spanish
Japanese
Korean