Johannes Lächele, Development of a Real-Time Simulation Environment
Total Page:16
File Type:pdf, Size:1020Kb
Eberhard Karls Universität Tübingen Fakultät für Informations- und Kognitionswissenschaften Wilhelm-Schickard-Institut für Informatik Max-Planck-Institut für biologische Kybernetik Abteilung für Wahrnehmung, Kognition und Handlung Diploma Thesis Development of a Real-Time Simulation Environment for multiple Robot Systems Johannes Lächele 11. März 2012 Supervisor Dr. Paolo Robuffo-Giordano Computer Science Engineering Human Perception, Cognition and Action Max Planck Institute for Biological Cybernetics Referees Prof. Dr. Wolfgang Rosenstiel Prof. Dr. Heinrich H. Bülthoff Computer Science Human Perception, Cognition and Action Wilhelm-Schickard-Institut für Informatik Max Planck Institute for Biological Cybernetics Universität Tübingen Lächele, Johannes: Development of a Real-Time Simulation Environment for multiple Robot Systems Diploma Thesis Computer Science Eberhard Karls Universität Tübingen Thesis period: Apr 2011 - Oct 2011 Abstract One research interest of the Human Perception, Cognition and Action group at the Max Planck Institute for Biological Cybernetics is the human-in-the-loop bilateral control of a swarm of robots. The human operator may be presented with multiple feedback cues, e.g., visual, vestibular, haptic, auditive or even olfactory stimuli. The goal is to find a general methodology on how to best control multiple robots in a remote environment. The swarm of robots consists of several quadcopters designed and distributed by HiSystems GmbH [12] under the name MikroKopter. Software frameworks simulating a virtual environment are indispensable for this research work. Being able to access all information of an experiment setup is important to gain insights that may prove difficult or impossible to gain oth- erwise. Furthermore, hardware-in-the-loop and human-in-the-loop scenarios de- pend on software that is capable of performing calculations in real-time. A process running in simulation must proceed with the same pace as the process in reality. Software suites capable of simulating multiple robots already exist and are widely used in research. Nonetheless, the author was unable to find software that meets all requirements, i.e., real-time execution, realistic, exchangeable visual and physical representation, extendable software architecture and full control over inherent information of all simulated robots. In this thesis a novel simulation environment is presented. SwarmSimX (SSX) is capable of simulating both the visual and physical properties of robots acting in a user-defined environment in real-time. The software architecture allows for an easy exchange of the underlying libraries used for simulation. Shared modules may be loaded at runtime, extending the simulation with new functionality, without the need of recompiling the whole simulation environment. Finally, two experiments have been conducted proving the usefulness of the simulation environment. The first experiment determines how many robots can be added to the scene before computation reaches the limit where the machine is still capable of ensuring RT execution. With timesteps of 0:001 s, 0:002 s, 0:003 s, 0:004 s, SwarmSimX can simulate 10, 13, 14, 14 quadcopters respectively at the same time. The second experiment compares the flight behaviour of a simulated and a real quadcopter. First a real quadcopter tracks two different trajectories, each given by a human operator. The quadcopter was controlled using an external control i program. The desired trajectory of the human operator was recorded and played back using the same control program. Instead of controlling the real quadcopter, the virtual quadcopter was controlled. For the moderate condition the mean of the position error between the real and the virtual quadcopter is 0:1189 m with a standard deviation of 0:6461 m. For the dynamic condition the mean error is 0:1897 m with a standard deviation of 0:9386 m. ii Zusammenfassung Eines der Forschungsziele der Arbeitsgruppe "Human Perception, Cognition and Action" am Max-Planck-Institut für biologische Kybernetik ist die Untersuchung der beidseitige Kontrolle eines Schwarms von Robotern. Dabei steht die mensch- liche Interaktion im Vordergrund der Forschung. Der Pilot des Schwarms kann dabei unter dem Einfluss vieler verschiedener Sinneseindrücke stehen, diese kön- nen Aufschluss über die Situation des Schwarms geben. Zu diesen Einflüssen gehören visuelle, das Vestibularsystem betreffende, haptische, auditive oder so- gar olfaktorische Reize. Das Ziel ist eine allgemeine Methodik zu finden, mit der sich mehrere Roboter in einer entfernten Umgebung am besten steuern las- sen. Der eingesetzte Roboterschwarm besteht aus mehreren Quadrocoptern, die von der Firma HiSystems GmbH [12] unter dem Namen MikroKopter vertrieben werden. Eine Software zu haben, mit deren Hilfe es möglich ist eine virtuelle Umge- bung zu simulieren, ist unverzichtbar für diese Forschungsarbeit. Die Möglich- keit, Zugriff auf alle Informationen eines Experiments zu haben ist wichtig um Erkenntnisse zu erhalten, die ohne diese Kontrolle nur schwer oder unmöglich zu bekommen wären. Darüber hinaus erfordern Szenarios, in denen Menschen und Geräte mit der virtuellen Umgebung interagieren, Software die in Echtzeit aus- geführt werden kann. Das bedeutet, dass ein simulierter Ablauf mit der gleichen Geschwindigkeit voranschreiten muss wie derselbe Ablauf in der Realität. Softwarepackete mit der Möglichkeit mehrere Roboter gleichzeitig zu simulie- ren existieren bereits und werden in der Forschung auch weithin benutzt. Aller- dings war es dem Autor nicht möglich ein Softwarepacket zu finden, welches alle Anforderungen erfüllt. Zu diesen gehören die Berechnung in Echtzeit, realisti- sche, austauschbare visuelle und physikalische Darstellung, Erweiterbarkeit der vorhandenen Architektur und voller Zugriff auf inhärente Zustände der simulier- ten Roboter. Im Rahmen dieser Diplomarbeit wurde eine neue Simulationsumgebung er- stellt: SwarmSimX (SSX). SwarmSimX kann die visuellen und physikalischen Eigenschaften von Robotern in Echtzeit simulieren, die in einer benutzerdefinier- ten Umgebung agieren. Die Softwarearchitektur erlaubt den einfachen Austausch von Softwarebibliotheken, die der Simulation zugrunde liegen. Zur Laufzeit der Simulation können dynamische Module geladen werden, die den Funktionsum- fang der Simulation erweitern. Ein erneutes kompilieren der gesamten Simulati- onsumgebung ist dabei nicht nötig. Schließlich wurden zwei Experimente durchgeführt, die den Nutzen der Simula- tionsumgebung zeigen. Das erste Experiment bestimmt die Anzahl der Roboter, die zur Umgebung hinzugefügt werden können, bevor die Rechenkapazität nicht mehr ausreicht um den Echtzeitanspruch zu gewährleisten. Mit Zeitschritten von 0:001 s, 0:002 s, 0:003 s, 0:004 s kann SwarmSimX 10, 13, 14, 14 Quadrocopter gleichzeitig simulieren. iii Das zweite Experiment vergleicht das Flugverhalten eines simulierten mit dem eines echten Quadrocopters. Zuerst verfolgt ein realer Quadrocopter zwei unter- schiedliche Trajektorien, die beide von einem Piloten vorgegeben wurden. Gesteu- ert wurde der Quadrocopter dabei von einem externen Kontrollprogramm. Die gewünschten Trajektorien des Piloten wurden danach als eingabe für das gleiche Kontrollprogramm benutzt. Allerdings wurde in diesem Fall ein virtueller Qua- drocopter statt des realen Quadrocopters gesteuert. Der mittlere Positionsfehler zwischen echtem und virtuellen Quadcopter beträgt im ersten Fall 0:1189 m mit einer Standardabweichung von 0:6461 m. Im zweiten Fall beträgt der mittlere Fehler 0:1897 m mit einer Standardabweichung von 0:9386 m. iv Acknowledgements First of all, I want to thank my supervisor, Dr. Paolo Robuffo-Giordano, for his inestimable advice and support during the course of this project. His confidence in me and the freedom he granted me during this work are things I do not take for granted. Furthermore, I am most grateful to Prof. Dr. Heinrich H. Bülthoff for giving me the opportunity to work on this project at the Max Planck Institute for Biological Cybernetics and Prof. Dr. Wolfgang Rosenstiel for the support on the part of the University of Tübingen. I also want to thank a lot of other people: Antonio Franchi for his help design- ing the comparison experiment and numerous useful discussions, Joachim Tesch for his advice and support to help me understand rendering technologies, Volker Grabe for his help with Ogre3D, Markus Ryll for the excellent CAD model of the quadcopter, Trevor Dodds for proofreading and helping me master the en- glish language a bit more, Walter Heinz and Mirko Thiesen for providing me with excellent hardware and software support and for being great administra- tors, Martin Riedel for extending the functionality of SwarmSimX with ROS, Marco Cognetti for improving the virtual IMU, Dagmar Maier for the countless times she provided me with help, advice and general support. Furthermore, I want to thank all the colleagues at the Max Planck Institute in general and the Cyberneum in particular for having been such nice coworkers and for all their support: Hyoung Il Son, Carlo Masone, Riccardo Spica, Michael Kerger, Harald Teufel, Ibrahim Lakhdar, Betty Mohler-Tesch, Tobias Meilinger, Rainer Boss, Stephan Streuber, Ivelina Alexandrova, Martin Dobricki, Sandra Holzer, Markus Leyrer, Sally Linkenauger, Christian Neth, Ekaterina Volkova, Paolina Teneva, Sarah Mieskes, Lewis Chuang, Reinhard Feiler, Karl Beykirch, Florian Soyka, Martin Breidt, Frank Drop, Frank Nieuwenhuizen, Alessandro Nesti. I would like to thank all my friends for the discussions,