Club robotique de Sophia-Antipolis

Accueil > Projets, études > Nos réalisations > Simulateurs > Évitement et contrôle de trajectoire

Évitement et contrôle de trajectoire

ou comment éviter que le robot se cogne aux murs...

samedi 17 septembre 2005, par Eric P.

Présentation du premier simulateur de robot, développé en 2004 pour mettre au point les algos d’évitement d’obstacles et de contrôle de trajectoire.

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

le simulateur en action

That’s all folks 🙂

Un message, un commentaire ?

modération a priori

Attention, votre message n’apparaîtra qu’après avoir été relu et approuvé.

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.