Conduite d'une voiture de course par régulation génétique

 Description du projet

Le but de ce projet est d'utiliser un réseau de régulation génétique pour piloter une voiture de course virtuelle. Pour cela, le GRN utilise les entrées générées par le simulateur Open-Source TORCS pour modifier les commandes de la voiture (volant et pédales de frein et accélérateur). L'idée est de laiser le GRN gérer la totalité des commandes en simplifiant au maximum l'interconnexion entre le GRN et la voiture : le GRN doit être capable de:

Un algorithme génétique optimise le réseau de regulation génétique. Pour cela, une évolution incrémentale est utilisée pour tout d'abord apprendre le GRN à conduire (accélérer, freiner, tourner, etc.). Puis le meilleur GRN est réentrainé pour être généralisé afin de pouvoir conduire sur n'importe quel circuit. Enfin, le comportement du GRN est optimisé pour supprimer tous les défauts qui pourraient l'empêcher d'être un bon compétiteur. La vidéo ci-dessous montre l'évolution du GRN étape après étape.

Ce contrôleur a été présenté à la compétition "Simulated Car Racing Championship" lors de la conférence GECCO 2013. Le GRN est arrivé à la troisième place dès sa première participation.

Intérêts de l'approche

Généralisation

Les résultats obtenus par le GRN se sont intéressants pour plusieurs raisons. Tout d'abord, cette approche est capable de généraliser facilement la conduite sur n'importe quel type de circuit (ville, montagne, etc.) et sur n'importe quelle type de surface (asphalte, pierre, sable, etc.). En effet, le GRN n'a été évolué que sur 3 circuits en asphalte et se montre tout de même efficace pour conduire sur les autres types de surface.

Résistance au bruit

De plus, le GRN est aussi naturellement résistant au bruit. Alors que l'apprentissage est effectué sans bruit sur les entrées du réseau, la compétition stipule que celles-ci subissent un bruit aléatoire de 10%. Supprimer le bruit lors de l'apprentissage simplifie fortement cette phase puisque qu'une seule évaluation est nécessaire dans un environnement déterministe alors qu'une évaluation moyennée sur plusieurs tests est obligatoire quand de l'aléatoire entre en jeux. Comme le montre la vidéo ci-dessous, le bruit n'impacte que très peu la conduite du GRN. Cette propriété est cruciale car la grande majorité les capteurs robotiques sont bruités et ce bruit est souvent un des enjeux majeurs du problème de "Reality gap" connu dans le monde de la robotique.

Adaptation aux changements d'entrées

Enfin, les entrées du GRN peuvent être modifiées à la volée pour le faire rouler plus vite (spécialisation du GRN pour un circuit particulier) ou le faire éviter des opposants. En modifiant sa vision, il est possible de modifier son comportement tout en gardant un contrôle sur la dynamique par rapport à la situation courante. Cette solution est innovante car c'est souvent les sorties qui sont modifiées et non les entrées.

 Personnes impliquées dans ce projet

Sylvain Cussat-Blanc (Université Toulouse 1 Capitole - IRIT)

Stéphane Sanchez (Université Toulouse 1 Capitole - IRIT)

 

retour