Thèse soutenue

Test aléatoire de la navigation de robots dans des mondes virtuels

FR  |  
EN
Auteur / Autrice : Thierry Sotiropoulos
Direction : Jérémie GuiochetFélix IngrandHélène Waeselynck
Type : Thèse de doctorat
Discipline(s) : Sureté de logiciel et calcul de haute performance
Date : Soutenance le 04/05/2018
Etablissement(s) : Toulouse 3
Ecole(s) doctorale(s) : École doctorale Mathématiques, informatique et télécommunications (Toulouse)
Partenaire(s) de recherche : Laboratoire : Laboratoire d'Analyse et d'Architecture des Systèmes (Toulouse ; 1968-....)
Jury : Examinateurs / Examinatrices : Lydie du Bousquet, David Andreu, Patrick Danès, Jacques Malenfant, Antoine Rollet
Rapporteurs / Rapporteuses : Lydie du Bousquet, David Andreu

Mots clés

FR  |  
EN

Résumé

FR  |  
EN

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 2ème 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 3ème 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 œuvre 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.