Test aléatoire de la navigation de robots dans des mondes virtuels. (Random test of robot navigation in virtual worlds)

Un des defis majeurs pour le deploiement de systemes autonomes dans des environnements varies, non structures et a proximite de l’homme, est d’etablir la confiance entre ces systemes et leurs utilisateurs. En effet, les fautes internes du systeme, les incertitudes sur la perception, ou encore les situations non prevues, sont des menaces importantes qui pesent sur cette confiance. Nos travaux se concentrent sur les robots autonomes qui font partis des systemes autonomes. La validation du logiciel de navigation embarque dans les robots est generalement centree sur des tests sur le terrain, qui sont couteux et potentiellement risques pour le robot lui-meme ou son environnement. De plus, il n’est possible de tester le systeme que dans un sous-ensemble restreint de situations. Une approche alternative consiste a effectuer des tests bases sur la simulation en immergeant le logiciel dans des mondes virtuels. L’objectif de cette these est d’etudier les possibilites et les limites qu’offre le test en simulation du logiciel embarque dans les systemes autonomes. Nos travaux traitent particulierement du test en simulation de la couche de navigation de systemes autonomes mobiles. Le premier chapitre presente les contextes de la surete de fonctionnement, des systemes autonomes et de leur test, de la simulation et de la generation procedurale de mondes. Les problematiques liees au test des systemes autonomes en simulation, telles que la definition et la generation des entrees ainsi que l’expression de l’oracle, sont identifiees et discutees. La generation procedurale de mondes utilisee dans les jeux videos est retenue comme piste pour repondre au probleme de la generations des entrees de test (mondes et missions). Une premiere contribution est proposee dans le 2e chapitre qui s’appuie sur la definition et l’implementation d’une premiere plateforme experimentale de test en simulation avec un robot mobile. Le logiciel de navigation utilise est integre dans le framework Genom et teste avec le simulateur MORSE. A travers cette experimentation, des premieres conclusions sont etablies sur la pertinence de la generation procedurale de mondes, et sur l’oracle a considerer. Des mesures comme la tortuosite ou l’indeterminisme de la navigation sont definies. Ce premier travail mene egalement a proposer une approche permettant de definir des niveaux de difficulte de mondes. L’objectif du 3e chapitre est d’identifier si les fautes connues et corrigees dans un logiciel de navigation auraient pu etre detectees via la simulation. Pres de 10 ans de commits du logiciel de navigation (dont le module P3D qui est une version academique d’un planificateur de trajectoire utilise par la NASA) ont ete ainsi analyses. Chaque faute relevee est etudiee pour determiner si elle serait activable en simulation, et l’oracle necessaire pour la detecter. De nombreuses recommandations sont extraites de cette etude, notamment sur les proprietes de l’oracle a mettre en place pour ce genre de systeme. Dans le quatrieme chapitre, les enseignements tires des deux chapitres precedents sont mis en oeuvre dans une etude de cas d’un robot industriel. Le systeme considere, fourni par notre partenaire industriel Naio est celui du robot agricole bineur Oz. Les conclusions des chapitres precedents concernant la generation de monde et les oracles necessaires sont validees par une campagne de test intensifs en simulation.