Objectifs
Ce premier simulateur a été développé pendant l’été 2004 pour nous permettre d’explorer les différentes pistes concernant les contrôleurs de trajectoire que nous avons utilisés :
– évitement d’obstacle à base de réseau de neurones
– générateur de trajectoire à base de logique floue
L’architecture du simulateur permet d’y intégrer directement le code embarqué ensuite dans le robot, en l’empaquetant dans un plugin (DLL) chargé dynamiquement à l’exécution. Ceci représente un gain de temps non négligeable, car le code testé en simulation peut être directement intégré dans les sources du contrôleur embarqué. De plus, il n’y a aucune restriction quant au langage utilisé pour coder le contrôleur, la seule contrainte étant qu’il soit capable de générer une DLL.
Fonctionnalités
– visualisation 3D de la simulation, avec plusieurs caméras (extérieure ou embarquée sur le robot) pouvant être déplacées inter-activement
– simulation des capteurs de distance (type SHARP GP2D12)
– configuration complète du robot (dimensions,...) et des capteurs embarqués (nombre, ouverture, position, attitude) par fichier de paramétrage externe
– détection de collision avec l’environnement et les éléments de jeu
– possibilité via le fichier de paramétrage externe de définir des scénarios automatiques afin de tester en série des configurations différentes
A chaque pas de simulation, le plugin du contrôleur reçoit les mesures retournées par les différents capteurs de distance, et fournit en retour les consignes de vitesse pour les moteurs de propulsion. Le plugin est également informé des objets entrant en collision avec le robot.
La simulation des capteurs de distance est effectuée par un lancer de rayons multiples, échantillonnant pour chacun des capteurs son angle d’ouverture. La valeur retournée pour un capteur intègre les résultats des rayons élémentaires émis.
Les tests en série nous ont permis de mettre au point les algorithmes d’évitement, en effectuant les réglages des coefficients du réseau de neurone de l’éviteur au moyen d’un algorithme génétique. L’évaluation des paramétrages créés par l’algorithme génétique (calcul de la fitness function pour les spécialistes) est faite par le simulateur, configuré pour exécuter plusieurs séquences de test avec une disposition aléatoire des éléments de jeu.
Les internes
Le simulateur a été développé en Borland Delphi et s’appuie sur l’excellente librairie open-source GLScene (www.glscene.org) pour la gestion de la scène 3D et son affichage
That’s all folks 🙂