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.
Die Automatisierungsindustrie ist eine der sich am schnellsten entwickelnden Branchen des Maschinenbaus,
die technologisch innovative Lösungen anbietet. In der Praxis besteht ein wachsender Bedarf an Implantaten,
um schneller und zuverlässiger zu arbeiten und die Zeit für die Programmierung von Maschinen, wie z.B.
Roboterarmen, zu reduzieren.
Für die Programmierung von Industrierobotern werden im Wesentlichen zwei Methoden angewandt:
Die erste ist die Online-Programmierung, auch als "Teaching" bekannt. Die Online-Programmierung besteht
darin, dass ein Bediener den Roboter mit Hilfe einer Fernbedienung in die gewünschte Position bewegt und
speichert, wobei eine Roboterbahn erzeugt wird. Diese Methode nimmt viel Zeit in Anspruch, und es ist ein
geschulter Bediener erforderlich, der den Roboter sowohl bewegen kann als auch die Programmiersprache
des Roboters kennen muss.
Die zweite Methode wird Offline-Programmierung genannt. In diesem Fall wird das Bewegungsprogramm
erstellt, ohne dass der Roboter manipuliert werden muss. Tatsächlich wird das Programm auf einem PC
geschrieben und getestet, der die Zellenbedingungen simuliert, bevor es an die eigentliche Roboterzelle
geschickt wird. Diese Methode kann zeitsparend sein, erfordert jedoch ein hohes Maß an
Programmierkenntnissen sowie tiefgehende Kenntnisse der speziellen Roboter-Software. Darüber hinaus
könnte das Arbeiten ohne die physische Zelle zu einer höheren Schwierigkeit bei der Programmierung
führen, da das Abstraktionsniveau sicherlich höher ist.
Beide Methoden haben Vor- und Nachteile, aber was wäre, wenn es eine noch schnellere Methode gäbe, die
keine Programmierkenntnisse erfordert und es dem Bediener erlaubt, mit direktem Kontakt am Roboter zu
arbeiten?
Dieses Projekt entspringt einer Vision: ein vom Roboter losgelöster Greifer, der durch die Bewegung einer
Bedienerhand gehandhabt werden könnte. Der Operator wird den Greifer bewegen, um einen
Bewegungsvorgang (wie das Aufnehmen und Ablegen eines Objekts) durchzuführen, und die Positionskoordinaten direkt an den Roboter senden, so dass dieser in der Lage ist, die von der Hand des Operators ausgeführte Bewegung zu wiederholen. Mit dieser Methode wird die Schwierigkeit der
Programmierung des Roboters verringert, da nur noch Kenntnisse über so etwas Natürliches wie eine
Handbewegung erforderlich sind, während die Programmierzeit drastisch reduziert wird.
Dieses Projekt besteht aus einer Machbarkeitsanalyse eines solchen Systems durch den Einsatz einer auf dem
Greifer montierten inertiale Messeinheit (IMU). Die durchgeführte Evaluierung trug dazu bei, nicht nur die
Präzision der Positionsverfolgung mit einem eigenständigen IMU-System zu unterstreichen, sondern auch
dessen Grenzen aufzudecken.
Die IMU wurde unter drei verschiedenen Bedingungen getestet:
- Bewegung auf der Messmaschine für die taktilen Koordinaten
- Bewegungen auf dem Roboter
- Handbewegungen
Die Ergebnisse haben gezeigt, dass ein eigenständiges IMU-System zur Positionsverfolgung aufgrund des
Drifts, die durch die Doppelintegration der Beschleunigungsdaten entsteht, nicht für eine ausreichend genaue
Verfolgung von Handbewegungen verwendet werden kann. Daher wurde das System um eine Kamera und
ein Apriltags-Erkennungssystem als externes Referenzierungssystem erweitert. Eine Demonstrator-
Roboterzelle wurde gebaut, um das Potential der kombinierten IMU / AprilTags-Positionsverfolgung zu
zeigen, deren erreichte Positionierungsgenauigkeit im Millimeterbereich liegt.
The automation industry is one of the quickest developing branches of engineering that propose
technological innovative solutions. In practice there is a growing need for implants to work
faster,more reliable and to reduce the time for programming machines, such as robot arms.
Two main methods are adopted for programming industrial robots:
The first one is online programming, also known as “Teaching”. The online programming
constitutes of an operator that moves the robot using a remote to the desired position and saves
it, creating a trajectory. This method takes a lot of time and trained operator is required to both
move and know the programming language of the robot.
The second method is called offline programming. In this case the movement program is
created without the need to manipulate the robot. In fact the program will be written and tested
on a PC that simulates the cell conditions before being sent to the actual robot cell. This method
can be time saving, but it requires a high level of programming knowledge, as well as deep
knowledge of the dedicated robotic suite. Moreover working without the physical cell could
lead to a higher difficulty into programming, because the level of abstraction is certainly higher.
Both methods presents advantages and disadvantages, but what if there could be a method even
quicker, that doesn't require programming knowledge and that allows the operator to work with
direct contact on the robot? This project comes from a vision: a gripper detached from the robot, that could be handled by
the movement of an operator hand. The operator will move the gripper to perform a motion operation (as picking and placing an object) and send directly the position coordinates to the
robot, so that it will be able to repeat the movement performed by the operator's hand. This
method tears down the programming's difficulty of the robot, because the only knowledge
required is something as natural as a hand movement, while drastically reducing the
programming time.
This project consists of a feasibility analysis of such system trough the use of an Inertial
Measurement Unit (IMU) mounted on the gripper. The evaluation made helped to underline not
only the precision of the position tracking with a standalone IMU system, but to expose also its
limitations.
The IMU was tested in three different conditions:
Movement on the Tactile Coordinates Measurement Machine
Movements on the robot
Hand movements
The results have shown that a standalone IMU system for position tracking cannot be used for
an enough-precise tracking of hand movements due to the drift coming from the double
integration of the acceleration data. Therefore the system was enhanced by adding a camera and
an Apriltags detection system as an external referencing system. A demonstrator robotic cell
was built to show the potential of the combined IMU / AprilTags position tracking, which
positioning precision reached lies in the millimeter range.