Interface de visualisation en 3D pour CollectBall

Par Olivier Sigaud , 2 janvier, 2017

Contexte :

CollectBall est un environnement simulé développé en C++ à l’ISIR qui permet d’évaluer les capacités à résoudre des problèmes de navigation et de sélection de l’action de divers algorithmes d’apprentissage artificiel. Dans ces simulations, un agent autonome doit apprendre à récolter des balles et à les déposer dans un panier en se déplaçant dans des pièces délimitées par des murs. Il peut même déclencher l’ouverture d’une porte qui lui donne accès à davantage de balles.

L’agent perçoit le monde au travers de capteurs simulés qui lui renvoient des informations de haut niveau spécifiques, telles que la direction des balles et du panier ou la distance aux murs dans certaines directions.

Objectif :

L’objectif de ce projet est double.

D’une part, il s’agit de faire le nécessaire pour doter un agent d’une vision en 3D de son environnement, en calculant à tout instant l’image correspondant à ce qu’il perçoit. Il n’est pas question de réécrire intégralement une fonction de visualisation 3D à partir de rien. Il sera nécessaire de commencer par examiner différents outils utilisables (OpenArena, blender, divers moteurs de jeux vidéo 3D (doom ou unreal tournament…), autres...) et de faire le bon choix technologique pour répondre au cahier des charges. L’hypothèse la plus probable consistera à reproduire CollectBall au sein de l’environnement proposé par OpenArena.

D’autre part, il s’agit de rendre l’API de cet environnement simulé compatible avec celle d’OpenAI gym, un ensemble de benchmarks accessibles sur github, qui impose une API en python. Il existe déjà une encapsulation de l’API de CollectBall en python, mais celle-ci n’est pas compatible avec gym, d’où la nécessité d’un refactoring. Une fois le code développé, il devra faire l’objet d’un « pull request » sur le github d’OpenAI gym. Le projet sera considéré comme un succès lorsque le pull request aura été accepté par les gestionnaires d’OpenAI gym.

Références :

CollectBall: https://github.com/doncieux/collectball
OpenArena: http://openarena.wikia.com
Open AI gym : https://gym.openai.com/

Encadrant
Olivier Sigaud
Nombre d'étudiants
3
Attribué
Oui
Obsolète
Non
Tags