Random test of robot navigation in virtual worlds
Test aléatoire de la navigation de robots dans des mondes virtuels
Résumé
One of the major challenges for the deployment of autonomous systems in diverse, unstructured and human shared environments, is the trust that can be placed in those systems. Indeed, internal faults in those systems, uncertainties on the perception, or even unforeseen situations, threat this confidence. Our work focus in autonomous robots, which are part of autonomous systems. The validation of the navigation software embedded in robots typically involves test campaigns in the field, which are expensive and potentially risky for the robot itself or its environment. These tests are able to test the system only in a small subset of situations. An alternative is to perform simulation-based testing, by immersing the software in virtual worlds. The aim of this thesis is to study the possibilities and limits offered by simulation-based testing of embedded software in autonomous systems. Our work deals particularly with simulation-based testing of the navigation layer of autonomous mobile robots. The first chapter introduce the contexts of dependability, autonomous systems and their testing, simulation and procedural generation of worlds. We identify and discuss the issues related to autonomous systems simulation-based testing, such as the definition and generation of inputs as well as the oracle. The procedural generation of worlds used in video games is retained as a way to answer the problem of the generation of test inputs (worlds and missions). A first contribution is presented in the second chapter, which is based on the definition and implementation of a first experimental simulation-based testing framework with a mobile robot. The navigation software used is integrated into the Genom framework and tested with the MORSE simulator. Through this experiment, first conclusions are drawn on the relevance of the procedural generation of worlds, and on the oracle to be considered. Measures such as tortuousness or indeterminism of navigation are defined. This first work also leads to propose an approach to define levels of difficulty of worlds. The purpose of the third chapter is to identify whether faults known and corrected in a academic navigation software could have been detected through simulation-based testing. Nearly 10 years of commits of the navigation software (including the P3D module which is an academic version of a trajectory planner used by NASA) were thus analyzed. Each fault detected is studied to determine the oracle necessary to detect it whether it could be activated in simulation. Many recommendations are extracted from this study, especially on the properties of the oracle to set up for this type of system. In the fourth chapter, lessons learned from the previous two chapters are implemented for the case of an industrial robot. The considered system, provided by our industrial partner Naïo is the agricultural robot Oz. The conclusions of the preceding chapters regarding the world generation and the oracles are validated by an intensive test campaign in simulation.
Un des défis majeurs pour le déploiement de systèmes autonomes dans des environnements variés, non structurés et à proximité de l’homme, est d’établir la confiance entre ces systèmes et leurs utilisateurs. En effet, les fautes internes du système, les incertitudes sur la perception, ou encore les situations non prévues, sont des menaces importantes qui pèsent sur cette confiance. Nos travaux se concentrent sur les robots autonomes qui font partis des systèmes autonomes. La validation du logiciel de navigation embarqué dans les robots est généralement centrée sur des tests sur le terrain, qui sont coûteux et potentiellement risqués pour le robot lui-même ou son environnement. De plus, il n’est possible de tester le système que dans un sous-ensemble restreint de situations. Une approche alternative consiste à effectuer des tests basés sur la simulation en immergeant le logiciel dans des mondes virtuels. L’objectif de cette thèse est d’étudier les possibilités et les limites qu’offre le test en simulation du logiciel embarqué dans les systèmes autonomes. Nos travaux traitent particulièrement du test en simulation de la couche de navigation de systèmes autonomes mobiles. Le premier chapitre présente les contextes de la sûreté de fonctionnement, des systèmes autonomes et de leur test, de la simulation et de la génération procédurale de mondes. Les problématiques liées au test des systèmes autonomes en simulation, telles que la définition et la génération des entrées ainsi que l’expression de l’oracle, sont identifiées et discutées. La génération procédurale de mondes utilisée dans les jeux vidéos est retenue comme piste pour répondre au problème de la générations des entrées de test (mondes et missions). Une première contribution est proposée dans le 2e chapitre qui s’appuie sur la définition et l’implémentation d’une première plateforme expérimentale de test en simulation avec un robot mobile. Le logiciel de navigation utilisé est intégré dans le framework Genom et testé avec le simulateur MORSE. À travers cette expérimentation, des premières conclusions sont établies sur la pertinence de la génération procédurale de mondes, et sur l’oracle à considérer. Des mesures comme la tortuosité ou l’indéterminisme de la navigation sont définies. Ce premier travail mène également à proposer une approche permettant de définir des niveaux de difficulté de mondes. L’objectif du 3e chapitre est d’identifier si les fautes connues et corrigées dans un logiciel de navigation auraient pu être détectées via la simulation. Près de 10 ans de commits du logiciel de navigation (dont le module P3D qui est une version académique d’un planificateur de trajectoire utilisé par la NASA) ont été ainsi analysés. Chaque faute relevée est étudiée pour déterminer si elle serait activable en simulation, et l’oracle nécessaire pour la détecter. De nombreuses recommandations sont extraites de cette étude, notamment sur les propriétés de l’oracle à mettre en place pour ce genre de système. Dans le quatrième chapitre, les enseignements tirés des deux chapitres précédents sont mis en oeuvre dans une étude de cas d’un robot industriel. Le système considéré, fourni par notre partenaire industriel Naïo est celui du robot agricole bineur Oz. Les conclusions des chapitres précédents concernant la génération de monde et les oracles nécessaires sont validées par une campagne de test intensifs en simulation.
Domaines
Robotique [cs.RO]Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...