@@ -15,13 +15,17 @@ Obwohl die Forschung im Gebiet der Robotik deutlich zugenommen hat, sind weitere
Diese Arbeit befasst sich mit dem Systematischen Testen eines in~\Cref{einleitung:motivation} beschriebenen Robotersystems mit Fokus auf das Robot Operating System (ROS).
Zunächst müssen relevante Termini beschrieben werden.
Folglich wird durch Literaturrecherche Anforderungen an Testmethoden von Robotiksystemen ermittelt und Schwierigkeiten bei der Umsetzung dieser erläutert.
Ein zentraler Aspekt dabei ist die korrekte Simulation des Roboters, da diese essentieller Bestandteil des Testumfelds ist.
Ein zentraler Aspekt dabei ist die korrekte Simulation des Roboters, da diese essentieller Bestandteil des Testumfelds ist.
Außerdem sollen verschiedene Methoden und Toolchains für das Testen zusammen mit ihren Vor- und Nachteilen vorgestellt werden.
Weiterhin wird eines dieser Konzept verwendet, indem ein sich in Entwicklung befindendes Projekt des Lehrstuhls getestet wird.
Schließlich soll die angewandte Testmethodik im Rahmen der am Anfang ermittelten Kriterien evaluiert und ein Ausblick auf mögliche Weiterentwicklungen gegeben werden.
Ein zentraler Aspekt des Testens ist die korrekte Simulation des Roboters.
Dazu muss sichergestellt werden, dass sich die Objekte innerhalb der Simulation (ausreichend) physikalisch korrekt verhalten.
Die Sensoren des Roboters müssen logisch korrekt auf ihr Umfeld reagieren.
Außerdem sollten potentielle Echtzeitanforderungen erfüllt werden, um ein möglichst realistisches Bild zu bekommen.
Weitere relevante Aspekte sind etwa die Testabdeckung und die Integrierbarkeit in den Entwicklungsprozess.
\section{Methodik}\label{einleitung:methodik}
Zunächst wird ein Überblick über die Anforderungen von Tests von komponenten-basierten Robotersystemen gegeben, indem aktuelle Literatur konsultiert wird und die Ergebnisse zusammengetragen werden. Folglich wird ein systematisches Vorgehen zum Konstruieren der Tests vorgeschlagen, welches die erarbeiteten Anforderungen erfüllt. Diese Methode wird schließlich auf bereits vorhandene Komponenten angewandt und evaluiert.
\section{Gliederung}\label{einleitung:gliederung}
In diesem Abschnitt wird nach einer Einleitung in das Thema und die gestellten Aufgaben nun der Aufbau dieser Arbeit beschrieben. Sie besteht aus insgesamt 6 Kapiteln. \\
Die Grundlagen werden dafür im zweiten Kapitel geschaffen, indem zuerst ein kurzer Überblick über wichtige Begriffe und Klassifikationen im Rahmen der Testentwicklung gegeben wird.
Folgend ist für jedes aus der Literatur ermittelte Kriterium des Testens von Robotiksystemen ein Abschnitt vorhanden, welcher dieses näher erläutert und gegebenenfalls in weitere Kriterien unterteilt. Am Ende dieser Auflistung sind die Anforderungen in einer Übersicht dargestellt. Als Nächstes wird erläutert, wie sich Simulationen nutzen lassen um das Erfüllen einiger der gefundenen Anforderungen zu erleichtern, und die zwei zentralen Arten der Simulation von cyber-physischen Systemen präsentiert. Der nächste Abschnitt beschreibt kurz den heutzutage vorhandenen Standard für Softwaretests, bevor genauer auf Konzepte der Testentwicklung eingegangen wird. Dabei ist zunächst das hierarchische Testmodell zu nennen, da dieses aktuell sehr breit eingesetzt wird und auch in ROS integriert ist. Ein besonderer Fokus liegt auf dem Modell-basierten Testen, welches im Rest der Arbeit verwendet wird.\\
Das dritte Kapitel stellt verschiedene Tools vor, die heutzutage für die ausgewählte Testmethode genutzt werden. Da Uppaal mit seiner Erweiterung TRON als zu evaluierende Toolchain selektiert wurde, ist dieses genauer beschrieben.\\
Im Konzept ist die Simulationsauswahl und Modellierung dargestellt. Für die Verwendung von TRON wird erläutert, wie das Testen erfolgen kann. Dann ist angegeben wie ein entsprechender Adapter implementiert wurde und genutzt werden kann um Ereignisse innerhalb von ROS verfolgen und so testen zu können, bevor ein kurzer Ausblick auf das nächste Kapitel gegeben wird.\\
Darin erfolgt erst eine Überprüfung der Integrierbarkeit des entwickelten Adapters in ein actionlib-Projekt. Die actionlib ist ein innerhalb von ROS häufig verwendetes Mittel zur Kommunikation und daher essenziell für ein Testkonzept welches die ROS-internen Nachrichten verfolgt. Da diese Integration erfolgreich ist, wird dann zu einem tatsächlichen Projekt des Lehrstuhls, dem Cobot, übergegangen. Dieser soll zukünftig in der Lage sein, mit einer Flasche, einem Glas und auch Flüssigkeiten sicher umgehen zu können. Zum Testen findet eine formale Analyse des Systems statt, woraufhin ein Modell entwickelt und folglich mitsamt einer Adapter-Konfiguration an die Gegebenheiten von ROS angepasst wird. Dann werden Tests ausgeführt und die Ergebnisse analysiert, bevor eine Evaluation der Testmethodik stattfinden kann.\\