\acswitchoff \babel@toc {ngerman}{}\relax \contentsline {chapter}{\numberline {1}Einleitung}{1}{chapter.1}% \contentsline {section}{\numberline {1.1}Motivation}{1}{section.1.1}% \contentsline {section}{\numberline {1.2}Stand der Wissenschaft}{1}{section.1.2}% \contentsline {section}{\numberline {1.3}Welche Szenarien}{2}{section.1.3}% \contentsline {section}{\numberline {1.4}Welcher Nutzen / Contributions}{3}{section.1.4}% \contentsline {chapter}{\numberline {2}Konzept}{4}{chapter.2}% \contentsline {section}{\numberline {2.1}Simulation des Roboters}{4}{section.2.1}% \contentsline {section}{\numberline {2.2}Simulation des Menschen}{5}{section.2.2}% \contentsline {section}{\numberline {2.3}Behavior Trees als Beschreibungssprache}{5}{section.2.3}% \contentsline {section}{\numberline {2.4}Virtualisierungsumgebung als Platform}{7}{section.2.4}% \contentsline {chapter}{\numberline {3}Komponenten-/Softwareauswahl}{9}{chapter.3}% \contentsline {section}{\numberline {3.1}Dienstumgebung}{9}{section.3.1}% \contentsline {subsection}{\numberline {3.1.1}Auswahl}{9}{subsection.3.1.1}% \contentsline {subsection}{\numberline {3.1.2}Beschreibung}{10}{subsection.3.1.2}% \contentsline {section}{\numberline {3.2}Simulationsumgebung (Gazebo)}{12}{section.3.2}% \contentsline {subsection}{\numberline {3.2.1}Auswahl}{12}{subsection.3.2.1}% \contentsline {subsection}{\numberline {3.2.2}Welt- und Modellbeschreibung}{14}{subsection.3.2.2}% \contentsline {subsection}{\numberline {3.2.3}Robotersimulation}{15}{subsection.3.2.3}% \contentsline {subsection}{\numberline {3.2.4}Menschensimulation}{16}{subsection.3.2.4}% \contentsline {section}{\numberline {3.3}Roboterumgebung}{16}{section.3.3}% \contentsline {section}{\numberline {3.4}Programmiersprache}{18}{section.3.4}% \contentsline {section}{\numberline {3.5}Behavior Trees}{18}{section.3.5}% \contentsline {subsection}{\numberline {3.5.1}Asynchrone Nodes}{20}{subsection.3.5.1}% \contentsline {subsection}{\numberline {3.5.2}Dateiformat}{21}{subsection.3.5.2}% \contentsline {section}{\numberline {3.6}Docker-Compose als Virtualisierungsumgebung}{22}{section.3.6}% \contentsline {chapter}{\numberline {4}Umsetzung}{24}{chapter.4}% \contentsline {section}{\numberline {4.1}Docker-Compose}{25}{section.4.1}% \contentsline {section}{\numberline {4.2}Entwicklungsumgebung}{26}{section.4.2}% \contentsline {section}{\numberline {4.3}Verwendete Datentypen}{27}{section.4.3}% \contentsline {section}{\numberline {4.4}Simulationswelt}{29}{section.4.4}% \contentsline {section}{\numberline {4.5}Mensch}{31}{section.4.5}% \contentsline {subsection}{\numberline {4.5.1}Übersicht}{31}{subsection.4.5.1}% \contentsline {subsection}{\numberline {4.5.2}Modellierung}{31}{subsection.4.5.2}% \contentsline {subsection}{\numberline {4.5.3}Export der Modellanimationen}{34}{subsection.4.5.3}% \contentsline {subsection}{\numberline {4.5.4}Programmierung}{37}{subsection.4.5.4}% \contentsline {subsubsection}{\nonumberline Message Queue}{37}{subsubsection*.15}% \contentsline {subsubsection}{\nonumberline Nachrichten}{38}{subsubsection*.17}% \contentsline {subsubsection}{\nonumberline ActorPlugin}{39}{subsubsection*.19}% \contentsline {subsubsection}{\nonumberline ActorServer}{40}{subsubsection*.21}% \contentsline {section}{\numberline {4.6}Roboter}{40}{section.4.6}% \contentsline {subsection}{\numberline {4.6.1}Übersicht}{40}{subsection.4.6.1}% \contentsline {subsection}{\numberline {4.6.2}Modellierung}{41}{subsection.4.6.2}% \contentsline {subsection}{\numberline {4.6.3}MoveIt 2 Konfiguration}{42}{subsection.4.6.3}% \contentsline {subsection}{\numberline {4.6.4}Integration mit Gazebo}{43}{subsection.4.6.4}% \contentsline {section}{\numberline {4.7}Behavior Trees}{43}{section.4.7}% \contentsline {subsubsection}{\nonumberline Allgemein nutzbare Nodes}{44}{subsubsection*.25}% \contentsline {subsubsection}{\nonumberline Menschenspezifisch}{45}{subsubsection*.27}% \contentsline {subsubsection}{\nonumberline Roboterspezifisch}{45}{subsubsection*.29}% \contentsline {subsection}{\numberline {4.7.1}Subtrees}{46}{subsection.4.7.1}% \contentsline {subsection}{\numberline {4.7.2}Verhalten des Roboters}{46}{subsection.4.7.2}% \contentsline {subsection}{\numberline {4.7.3}Verhalten des Menschen}{46}{subsection.4.7.3}% \contentsline {chapter}{\numberline {5}Szenarienbasierte Evaluation}{47}{chapter.5}% \contentsline {section}{\numberline {5.1}Simulation des Menschen}{47}{section.5.1}% \contentsline {section}{\numberline {5.2}Bewegung des Roboters}{47}{section.5.2}% \contentsline {section}{\numberline {5.3}BehaviorTrees}{47}{section.5.3}% \contentsline {subsection}{\numberline {5.3.1}Nodes}{47}{subsection.5.3.1}% \contentsline {subsection}{\numberline {5.3.2}Kombinieren von Nodes zu einer Request}{47}{subsection.5.3.2}% \contentsline {chapter}{\numberline {6}Diskussion}{48}{chapter.6}% \contentsline {section}{\numberline {6.1}Lessons Learned bei der Umsetzung}{48}{section.6.1}% \contentsline {subsection}{\numberline {6.1.1}Erstellung des Robotermodells}{48}{subsection.6.1.1}% \contentsline {subsection}{\numberline {6.1.2}Erweiterung des Robotermodells mit MoveIt}{48}{subsection.6.1.2}% \contentsline {subsection}{\numberline {6.1.3}Gazebo}{48}{subsection.6.1.3}% \contentsline {subsubsection}{\nonumberline Upgrade auf Ignition}{48}{subsubsection*.31}% \contentsline {subsubsection}{\nonumberline Pluginarchitektur}{49}{subsubsection*.33}% \contentsline {subsubsection}{\nonumberline Fehlende Animationsgrundlagen}{50}{subsubsection*.35}% \contentsline {subsection}{\numberline {6.1.4}ROS2}{50}{subsection.6.1.4}% \contentsline {subsubsection}{\nonumberline Nachrichten und deren Echtzeitfähigkeit}{50}{subsubsection*.37}% \contentsline {subsubsection}{\nonumberline Änderung der Compilertoolchain}{50}{subsubsection*.39}% \contentsline {subsection}{\numberline {6.1.5}MoveIt2}{50}{subsection.6.1.5}% \contentsline {subsubsection}{\nonumberline Upgrade auf MoveIt2}{50}{subsubsection*.41}% \contentsline {subsubsection}{\nonumberline Fehlerhafte Generierung der Roboter}{51}{subsubsection*.43}% \contentsline {subsubsection}{\nonumberline Controller}{51}{subsubsection*.45}% \contentsline {section}{\numberline {6.2}Lessons Learned bei den Szenarien}{51}{section.6.2}% \contentsline {subsection}{\numberline {6.2.1}Debugging}{51}{subsection.6.2.1}% \contentsline {chapter}{\numberline {7}Zusammenfassung und Ausblick}{52}{chapter.7}% \contentsline {section}{\numberline {7.1}Ergebnisse}{52}{section.7.1}% \contentsline {subsection}{\numberline {7.1.1}Graphische Repräsentation der Szenarien}{52}{subsection.7.1.1}% \contentsline {subsection}{\numberline {7.1.2}Anpassung der Behavior Trees an Szenarien}{52}{subsection.7.1.2}% \contentsline {section}{\numberline {7.2}Diskussion}{52}{section.7.2}% \contentsline {section}{\numberline {7.3}Ausblick}{52}{section.7.3}% \contentsline {subsection}{\numberline {7.3.1}Umsetzung in anderem Simulator}{52}{subsection.7.3.1}% \contentsline {subsection}{\numberline {7.3.2}Simulation bewegter Objekte}{52}{subsection.7.3.2}% \contentsline {subsection}{\numberline {7.3.3}Ergänzung von Umgebungserkennung}{53}{subsection.7.3.3}% \contentsline {subsection}{\numberline {7.3.4}Zusammenbringen von ActorPlugin und ActorServer}{53}{subsection.7.3.4}% \contentsline {subsection}{\numberline {7.3.5}Separieren der Subtrees in eigene Dateien}{53}{subsection.7.3.5}% \providecommand \tocbasic@end@toc@file {}\tocbasic@end@toc@file