In den letzten Jahren ist die Bedeutung von mobilen Robotern schnell gewachsen. Mit dieser neuen
Art von Roboter entstehen neue Anforderungen bei der Entwicklung. Ein Tool, das sich in diesem
Bereich für die Softwareentwicklung durchgesetzt hat, ist das Robot Operating System (ROS).
Anfänglich von und für Hochschulen entwickelt, kommt ROS nach und nach auch mehr in
industriellen Anwendungen zum Einsatz. Diese bringen jedoch auch neue Herausforderungen mit
sich. Um die damit einhergehenden Ansprüche zu erfüllen ist die erste Version von ROS, ROS 1,
komplett überarbeitet worden. Daraus entstanden ist ROS 2. Ziel dieser neuen Version ist es,
zuverlässige und deterministische Applikationen entwickeln zu können, die beispielsweise auch in
sicherheitskritischen Anwendungen zum Einsatz kommen können.
Ziel dieser Master-Thesis ist es, sowohl die Leistungsfähigkeit als auch die Limitationen von ROS 2
für Echtzeitanwendungen mittels Versuche an zwei verschiedenen Versuchsaufbauten aufzuzeigen
und einzuordnen. Hierzu wird auch eine Speicher Programmierbare Steuerung (SPS), ein industriell
weit verbreitetes System, beigezogen.
Basierend auf den Resultaten der Experimente kann aufgezeigt werden, dass das Verhalten bezüglich
zeitlicher Vorgaben stark durch den/die Entwickler:in beeinflusst wird. Dies beginnt mit dem
Aufsetzen des Betriebssystems und geht weiter über diverse Einstellmöglichkeiten im Quellcode der
zu entwickelnden Anwendung. Ebenfalls muss der Einbindung von externer Hardware (z.B. Sensoren)
grosse Beachtung beigemessen werden.
Zum jetzigen Entwicklungsstand von ROS 2 eignet sich das Tool für Anwendungen mit weichen
Echtzeitanforderungen. Dies sind Anwendungen, bei der eine gestellte zeitliche Anforderung an das
System bis zu einem gewissen Grad resp. zu einer gewissen Anzahl überschritten werden darf. Für
Anwendungen mit harten Echtzeitanforderungen, bei denen die zeitlich gestellten Anforderungen
jeder Zeit eingehalten werden müssen, sind andere Systeme wie beispielsweise eine SPS zu
bevorzugen. Dies kann sich jedoch mit der laufenden Weiterentwicklung von ROS 2 in der Zukunft
ändern.
In recent years, the importance of mobile robots has grown rapidly. With this new type of robot, new
development requirements arise. One tool that has gained acceptance in software development is the
Robot Operating System (ROS). Initially developed by and for universities, ROS is gradually being
used increasingly in industrial applications. However, this also brings new challenges. The first
version of ROS, ROS 1, was completely revised in order to meet the demands. The goal of this new
version is to be able to develop reliable and deterministic applications that can also be used in
safety-critical applications, for example.
This master thesis aims to demonstrate and classify the performance and the limitations of ROS 2 for
real-time applications through tests on two different test setups. For this purpose, a programmable
logic controller (PLC), a widely used industrial system, is used for comparison.
Based on the results of the experiments, it can be shown that the developer strongly influences the
behaviour concerning time specifications. This starts with setting up the operating system and
continues with various setting options in the application's source code to be developed. Likewise,
integrating external hardware (e.g. sensors) must be given great attention.
At the current stage of the development of ROS 2, the tool is suitable for applications with soft realtime
constraints. These are applications where a set time constraint on the system may be exceeded
up to a certain degree or a certain number of times. For applications with hard real-time constraints,
where the time requirements must always be met, other systems such as PLCs are preferable.
However, this may change in the future with the ongoing development of ROS 2.
Im Rahmen dieser Bachelorarbeit wurde ein „Follow-Me“-System für den mobilen Roboter «Health
Care Robot» entwickelt, der das Pflegepersonal in Spitälern durch automatisierte
Materialtransporte entlasten soll. Der Roboter besitzt eine Bewegungssteuerung und
Hinderniserkennung. Ziel war es, ihm die Fähigkeit zu verleihen, einer Person autonom zu folgen.
Für die Aufgabenstellung wurde Wissen im Bereich der Bilderkennung erarbeitet. Zur Umsetzung
kam eine Intel RealSense D435if Stereo-Kamera zum Einsatz. Die Personenerkennung erfolgte
mithilfe von YOLO11-Modellen. Die Softwarearchitektur basierte auf ROS 2 Foxy. Zielpositionen
wurden als ROS-Nachricht publiziert und vom Roboter zur Navigation verwendet.
Tests zeigten, dass Personen zuverlässig erkannt und in Echtzeit verfolgt werden. Daraus
resultierende Steuerimpulse ermöglichen die Anpassung von Position und Orientierung des
Roboters. Zukünftige Erweiterung könnten eine Gestensteuerung oder ein fortschrittliches
Personen-Tracking beinhalten.
As part of this bachelor's thesis, a "Follow-Me" system was developed for the mobile robot
"Health Care Robot", which is intended to support hospital staff by automating material
transport. The robot already features a functioning motion control and obstacle detection
system. The goal was to additionally enable it to autonomously follow a specific person.
To address this task, knowledge in the field of image recognition was acquired. An Intel
RealSense D435if stereo camera was used for implementation. Person detection was carried out
using YOLO11 models, integrated via the Ultralytics library. The software architecture was based
on ROS 2 Foxy. Target positions were published as ROS messages and used by the robot for
navigation.
Tests showed that people can be reliably detected and tracked in real time. The resulting control
impulses allow the robot to adapt its position and orientation. Future extensions could include
gesture control or advanced person tracking.