IMA4 2016/2017 P20

De Wiki de Projets IMA
Révision datée du 19 décembre 2016 à 01:13 par Mbutaye (discussion | contributions) (Contexte)


Cahier des charges

Ce cahier des charges a pour objectif de définir le projet, ce qui est attendu ainsi que les contraintes de conception qui lui sont associées.

Présentation générale du projet

Le projet consiste à concevoir et développer un environnement virtuel de test pour l'Association de Robotique de Polytech Lille (ARPL). Ce simulateur doit reproduire les conditions de participation à la Logistic League de manière à pouvoir obtenir rapidement des données et tester le code ainsi que les stratégies de jeu utilisés par les robots.

Contexte

Ce simulateur est un outil développé dans le cadre de la RoboCup et plus particulièrement de la Logistic League. La RoboCup est une compétition internationale de robotique dans laquelle on voit beaucoup d'entreprises et de robots connus tel que NAO. Cette compétition a pour but de mettre en avant les évolutions en matière de robotique ainsi que les qualités des organismes participants.


La Logistic League est une des différentes épreuves proposées. L'objectif est de repérer le terrain puis de produire des objets avec différents éléments fournis par des machines et à livrer dans des plages de temps données. Une RefereeBox ou boîte arbitre sert à la coordination ainsi qu'à l'arbitrage. C'est cette boite qui va informer le robots des différents objets à construire avec la date de livraison demandée. Elle va également donner leur rôles aux machines présentes sur le terrain. L'arbitre va enregistrer les horaires de dépôt des objets et la position de chacune des machines lors de la compétition.

Celle-ci se déroule sur une piste de la taille d'une salle moyenne. Chaque équipe peut utiliser jusqu'à trois robots Robotino 3 pour réaliser les tâches demandées. Sur la piste, à part les robots, se trouvent seulement des machines dîtes de production ou de livraison. Elles vont servir soit à se procurer un élément nécessaire à la production de l'objet final soit à livrer celui-ci lorsqu'il est terminé.

Objectif du projet

Ce projet va permettre de fournir à l'équipe de l'ARPL un simulateur léger et complet, leur permettant de simuler en un court laps de temps un match entier ou partiel et de tester leur code et leur stratégie. Cela leur permettra de développer plus rapidement et efficacement.

Description du projet

Le simulateur devra répondre à un certain nombre de critères. Tout d'abord il lui faudra pouvoir simuler toutes les entités présentes sur la piste lors d'un match. Nous parlons des robots et des machines mais également des capteurs et des conditions de jeu.

Nous devrons faire en sorte que le simulateur puisse facilement intégrer le code de contrôle des robots afin de le tester. De plus il faut permettre à l'utilisateur de gérer les parties du code à tester ainsi que de changer les conditions et paramètres de simulation afin de ne tester que certaines partie du code (par exemple en excluant la gestion des collisions). Nous inclurons une gestion des phases de jeu (Découverte et Production) dans ce but. De ce point de vue l'idéal serait de générer un launchfile et de permettre à l'utilisateur de gérer l'utilisation des nœuds un par un.

En sus, le simulateur gérant les robots de l'équipe adverse, il aura une fonctionnalité de sauvegarde des configurations que ce soit pour le code ou les stratégies afin de comparer l'évolution des performances.

Le simulateur a certaines contraintes afin d'être utilisable et utile. Il doit opérer une compression du temps c'est à dire réaliser la simulation d'un match en moins de temps qu'une durée normale de match. Il s'agit d'obtenir des données représentant la réalité en un cours laps de temps. La communication avec la RefereeBox est indispensable. Celle-ci étant fourni par les organisateurs de la compétition nous n'avons pas à la simuler mais nous devons communiquer avec elle pour rendre la simulation plus réaliste.

Choix techniques : matériel et logiciel

Nous n'avons pas besoin de matériel hormis d'ordinateurs afin de programmer.

Dû à la compétition et aux choix de développement de l'équipe de l'ARPL, nous allons programmer en C++ avec les bibliothèques QT ainsi que le middleware ROS, une surcouche de programmation destinée à la programmation de robots.

Calendrier prévisionnel

Liste des tâches à effectuer

  • Simuler les différentes entités
  * Les Robotinos
  * Les machines
  * L'environnement
  • Gérer l'interfaçage entre le simulateur et le code des Robots
 * Lire et lancer le méta-paquet
 * Identifier les différents parties du code
 * Proposer l'activation/desactivation de ces parties et créer un launchfile en conséquence
 * Créer un système de sauvegarde de tout code interfacé permettant sa réutilisation
  • Simuler un match
 * Communiquer avec la RefereeBox et recevoir les différents ordres de celle-ci
 * Gérer les machines et la communication avec la RefereeBox
 * Gérer l'équipe de l'utilisateur et son interaction avec le reste de la simulation
 * Gérer l'équipe adverse et son interaction avec le reste de la simulation
  • Paramétrage Avancé de la simulation
 * Proposer Différents Modes de simulations
 * Activation/Desactivation des paramètres de la simulation
 * Gestion des phases
  • Interface Utilisateur
 * Fournir des données utilisables et intéressantes sur la simulation
 * Créer une GUI ergonomique
 * Importer les données de la simulation sur la GUI pour une meilleure analyse de celle-ci

Calendrier

Répartition du temps consacrée au projet 120h/personne

Feuille d'heures

Tâche Prélude Heures S1 Heures S2 Heures S3 Heures S4 Heures S5 Heures S6 Heures S7 Heures S8 Heures S9 Heures S10 Total
Définition cahier des charges 0

Avancement du Projet

Semaine 1

Fichiers Rendus