Simulateur Robot Mobile 2006 Contenu V1 23/04/06 Evolutions prévues
Objectifs du simulateur Mise au point du guidage à implanter sur microcontrôleur Mise au point du soft PC embarqué (hors traitement d’image) Prototypage rapide et évaluation des stratégies face à un adversaire Aide à l’allocation des performances par mesure de l’impact en match (vitesse, angle de vision, capteurs, fréquence de com…)
Capacités générales du simulateur Relativement modulaire (C++) Modélisation simple des chocs Capacité des robots à déplacer des éléments de jeu Modélisation simple (non aléatoire) des erreurs de navigation Modélisation grossière du traitement d’image Modélisation des obstacles, des robots et des interactions en 2D
Organisation générale module1 systeme1 simulation module2 systeme2 module3 Fichier simulation module4 systeme3 Fichiers systèmes module5 systemeN moduleN Fichier obstacles obstacles
Modules pour un robot Reste à faire Première version développée AlgoPC 1 - Chaque flèche représente les liens à établir entre Modules après leur création et avant le début de la simulation 2 – Chassis calcule la position et l’orientation vraie du robot. Cette position est connue par tous les modules, mais ne doit pas être utilisée dans AlgoPC ou AlgoPIC bien sûr. 3 – AlgoPIC et AlgoPC établissent leur propre navigation grâce aux codeuses et autres capteurs. 4 – Les paramètres de chaque module sont décrits dans des blocs XML spécifiques d’un fichier XML système général au robot. 5 – Les Modules dérivent tous soit de Algo, Senseur ou Effecteur. Algo, Senseur et Effecteur dérivent tous de Module AlgoPC Camera Pince ComSeriePC_PIC Laser Liste des autres systèmes et obstacles UltraSons AlgoPIC CapteurContacts Codeuse Moteur Contour Codeuse Moteur Chassis
Limitations actuelles Les points de passage sont définis en dur dans la section AlgoPC du fichier XML La position initiale réelle du robot est paramétrable dans le fichier XML. Par contre, la navigation PIC est initialisée en dur à (0,0) cap au nord. Attention donc! Le mode rotation sur place du robot n’est pas implémenté au niveau du guidage. Le comportement est testé pour une ou deux trajectoires nominales représentatives, mais de nombreuses surprises vous attendent sûrement si vous testez des cas tordus.
Utilisation Compilez Exécution: NomExec NomFichierSimulation Lecture des variables en fonction du temps avec gNumeric (ou Excel). Chaque Module crée un fichier .out spécifique. Tenez moi au courant des trucs bizarre
Futur développements Génération automatique de trajectoire en évitant les obstacles (génération de graphe, exploration de graphe et calcul des points de passage). Reprise de la modélisation des chocs. Stratégie de contournement des obstacles imprévus rencontrés lors de l’exécution d’une route planifiée. Développement modèle caméra basique. Mise en place de comportements du type « rejoindre un objet détecté en évitant les obstacles ». Amélioration de la navigation par intégration d’autres capteurs (caméra, ultra sons, laser…). Interface Graphique d’analyse des résultats à développer.