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.
Validierung der Echtzeitfähigkeit von ROS 2 in der mobilen Robotik
Beschreibung
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.