Robotertechnologie Teil 4 Roboter-Betriebssysteme, gestern und heute

Autor / Redakteur: Mark Patrick * / Margit Kuther

Die Programmierung von Robotern für bestimmte Aufgaben ist Teil Ihrer Entwicklung? Dann kommt es darauf an, eine Software-Plattform zu generieren, die eine einfache Umprogrammierung ermöglicht.

Firmen zum Thema

Roboter müssen programmiert werden: das Btriebriebssystem spielt dabei eine wesentliche Rolle.
Roboter müssen programmiert werden: das Btriebriebssystem spielt dabei eine wesentliche Rolle.
(Bild: Mouser)

Ein wesentliches Merkmal aller Roboter ist, dass sie programmiert werden können, um genau das zu tun, was wir von ihnen wollen. Bei den ersten Robotern gab es nach heutigen Standards keine Softwareprogramme, aber sie waren programmierbar - mit Hilfe physikalischer, elektromechanischer Schalter.

Es gibt mehrere Möglichkeiten, einen Roboter zu programmieren. Eine der einfachsten ist die manuelle Führung des Roboters durch die Bewegungen, die er wiederholen soll. Der Roboter erfasst jede Position und wiederholt die gleiche Abfolge von Bewegungen.

Der gleiche Ansatz wird nun mit dem Einsatz von Software erreicht. Eine grafische Benutzeroberfläche (GUI) zeigt Symbole für die auszuführende Bewegung. Der Bediener programmiert die gewünschten Bewegungen und Positionen. Dieses Verfahren kommt in Bildungs- oder Spielzeugrobotern wie Lego Mindstorms zum Einsatz. Es ist sehr effektiv und kann die Programmierung eines Roboters vereinfachen und sogar Spaß machen!

Hersteller von Industrierobotern verwenden in der Regel eine konventionellere, selbst entwickelte Programmiersprache. Für Entwickler ist es von Vorteil, dass viele von ihnen auf Pascal basieren. Die Programmiersprache Pascal ist zwar nicht mehr weit verbreitet, aber es war neben Fortran eine der ersten echten Programmiersprachen.

In beinahe allen Bereichen der Elektronik, einschließlich der Robotik, werden inzwischen für Low-Level-Design gängigere Sprachen verwendet, darunter C/C++.

Open-Source-Software in der Robotik

Das Open-Source-Roboter-Betriebssystem (auch als ROS bezeichnet) ist ein Projekt, das ein gewisses Maß an Interoperabilität in die Roboterindustrie bringt. ROS wird zwar als Betriebssystem bezeichnet, ist aber im Wesentlichen eine Middleware. Es sitzt zwischen der Software, die die Hardware des Roboters steuert, und der Benutzerschnittstelle.

ROS hat eine eigene Sprache, die auf dem XML-Format basiert. Die Entwickler verwenden diese Sprache, um die Merkmale und Funktionen ihres jeweiligen Roboters standardisiert zu beschreiben. Für das Senden von Befehlen, die dem Roboter vorgeben, was er tun soll, wird ein nachrichtenbasierendes System verwendet. So entsteht eine gemeinsame Plattform für das Roboterdesign.

Das ROS-Framework beinhaltet eine Funktionsbibliothek zur Steuerung der verschiedenen Sensoren, die von Robotern zum Bewegen und Navigieren benötigt werden. Der dritte Beitrag in dieser Roboterserie befasst sich eingehender mit diesem Thema.

Das Steuerungssystem muss schnell und mit einer kurzen Latenzzeit reagieren. Im Embedded-Bereich bedeutet dies die Verwendung eines Echtzeit-Betriebssystems (RTOS). Die Entwickler können hierfür eine Echtzeitversion eines High-Level-Betriebssystems, z. B. Linux, verwenden.

Auch wenn ein Echtzeit-Betriebssystem zum Einsatz kommt, wäre die ROS-Middleware nützlich. Das ROS-Projekt bietet Unterstützung bei der Integration mit Echtzeit-Betriebssystemen, die auf einer Linux-Distribution basieren. ROS kann auch mit anderen RTOS koexistieren. Der ROS-Stack kann auf vielen verschiedenen Prozessorarchitekturen laufen, einschließlich Arm Cortex-A-Kernen. Das Cross-Compiling zu Arm Cortex-M-basierenden Mikrocontrollern wird auch durch Werkzeuge wie µROSnode, Rosbridge und Rosserial unterstützt.

Für einen direkteren Ansatz gibt es micro-ROS. Damit kann ein Teil des ROS 2-Stacks auf einem Mikrocontroller ausgeführt werden. Der hier verfolgte Ansatz besteht in der Verwendung eines POSIX-konformen (Portable Operating System Interface) RTOS, z. B. FreeRTOS oder Apache NuttX, um einen Client auszuführen, der als Teil von micro-ROS entwickelt wurde. Die APIs und die ROS-Middleware-Schnittstelle laufen auf der MCU und kommunizieren mit dem eingebetteten Client.

Der Client kann über eine klassische Schnittstelle (Bluetooth, Ethernet usw...) mit dem ROS 2 Agent kommunizieren, der auf einem Desktop-Betriebssystem läuft. Eine wachsende Anzahl von Mikrocontroller-Familien unterstützt micro-ROS, dazu zählen unter anderem:

  • Atmel SAMA5Dx, STM32F1/2/3/4 und STM32L1/4,
  • NXP i.MX1/6 und i.MX RT,
  • EFM32 Gecko von Silicon Labs sowie die Giant-Gecko-Elemente.

Vielschichtige Roboter-Software

Die Robotik ist wahrscheinlich einzigartig unter den Anwendungsbereichen. Sie hat einen softwarezentrierten Ansatz auf mehreren Ebenen. Für Entwickler von elektronischen Designs umfasst sie einen Low-Level-Steuercode, der vielleicht direkt die Hardware ansteuert. Es kommt wahrscheinlich auch ein Embedded-RTOS zum Einsatz. Die Software erstreckt sich auf einer höheren Ebene bis hin zur Benutzerschnittstelle. Diese Schnittstelle ist softwarebasiert und ein wesentliches Element der gesamten Benutzererfahrung für den Kunden.

Da Roboter programmierbar sind, ist dieser softwarezentrierte Designansatz unerlässlich. Auf Systemebene nähern wir uns rasch einer Zeit, in der die Trennung zwischen Hardware und Software nur schwer erkennbar ist. Der nächste Blog in dieser Serie untersucht dieses Thema und befasst sich mit der Entwicklung von Robotern, Cobots und dem Einsatz von Künstlicher Intelligenz.

Details zur Reihe „Prägende Schlüsseltechnologien der Robotik“

In dieser sechsteiligen Serie wirft Mouser einen Blick auf die Schlüsseltechnologien, die prägend für die Art und Weise sind, wie Roboter heute konstruiert und eingesetzt werden, und wie sich dies in Zukunft entwickeln könnte. Dabei geht es um Entwicklungen auf der Hard- und Softwareebene sowie um die Frage, auf welche Weise Innovationen wie die KI bereits heute die Zukunft der Robotik beeinflussen.

Teil 1: Von stationären Roboterarmen bis hin zu autonomen mobilen Robotern

Teil 2: Mobilität und Geschicklichkeit

Teil 3: Positionierung und Navigation

Teil 4: Roboter-Betriebssysteme

Teil 5: Kollaborative Roboter (CoBots) und KI

Teil 6: Die Zukunft der Robotik

* Mark Patrick ist Technical Marketing Manager EMEA bei Mouser Electronics.

Artikelfiles und Artikellinks

(ID:47435311)