RoboCup 2015 : Différence entre versions

De Wiki d'activités IMA
(Description du projet)
Ligne 21 : Ligne 21 :
 
*Communication avec le nœud de la RefereeBox à tout moment du jeu
 
*Communication avec le nœud de la RefereeBox à tout moment du jeu
 
*Contrainte de robustesse (il ne faut qu'à un moment ou à un autre il n'y ait un blocage de tous les robots)
 
*Contrainte de robustesse (il ne faut qu'à un moment ou à un autre il n'y ait un blocage de tous les robots)
 +
<br />
 +
[[Fichier:Interactions.png|vignette|left|upright=2|Interactions des nœuds avec le manager]]
 
<br />
 
<br />
 
Le manager devra interagir avec les différents nœuds suivants ayant chacun leurs rôles spécifiques :
 
Le manager devra interagir avec les différents nœuds suivants ayant chacun leurs rôles spécifiques :
Ligne 34 : Ligne 36 :
 
*Détection d'obstacle : détecter les obstacles fixes et mobiles
 
*Détection d'obstacle : détecter les obstacles fixes et mobiles
 
<br />
 
<br />
Voici un schéma résumant les interactions entre les nœuds et le manager :
 
[[Fichier:Interactions.png|vignette|gauche|upright=3|Interactions des nœuds avec le manager]]
 
  
 
====Choix techniques : matériel et logiciel====
 
====Choix techniques : matériel et logiciel====

Version du 25 janvier 2015 à 23:04


Cahier des charges

Présentation générale du projet

Lors de la compétition de l'Open German, prélude de la Robocup, il faudra mettre en place un système d'autonomisation de production à l'aide de Robotinos (robots mobiles de Festo ayant un système d'exploitation Linux). Comme dans toutes compétitions, le but est de gagner, par conséquent, il faudra faire en sorte de gagner un maximum de points. C'est pourquoi il faut créer un manager à l'aide de ROS, c'est-à-dire un nœud ou ensemble de nœuds permettant de pouvoir recevoir les informations envoyées par les autres nœuds, de les traiter, tout cela afin de donner les ordres que doivent exécuter chaque Robotino. Ce manager devra également être capable d'optimiser le nombre de points à obtenir.

Contexte

La compétition de l'Open German se déroule en quatre phases spécifiques : phase de début-de-jeu, phase d'exploration, phase de production, phase de fin-de-jeu. Le manager aura des tâches spécifiques à remplir suivant les différentes phases. La RefereeBox est un système d'arbitrage auquel il est nécessaire d'envoyer périodiquement des données à tout moment du jeu et qui donne à chaque instant l'état du jeu ainsi que les produits demandés en priorité durant la phase de production.

Objectif du projet

-Assurer un maximum de points suivant les aléas du jeu (panne de machine, produits demandées, rupture de stock d'une matière premières, …)
-Assurer la pérennité du projet (chaque année des candidats de Polytech Lille y participent)

Description du projet

Pour le projet, autre le fait de gagner le plus de points possibles, il faudra valider les deux contraintes suivantes :

  • Communication avec le nœud de la RefereeBox à tout moment du jeu
  • Contrainte de robustesse (il ne faut qu'à un moment ou à un autre il n'y ait un blocage de tous les robots)


Interactions des nœuds avec le manager


Le manager devra interagir avec les différents nœuds suivants ayant chacun leurs rôles spécifiques :

  • RefereeBox Comm : recevoir les données envoyées par la RefereeBox et envoyer des données suivant l'état du jeu à la RefereeBox
  • Robots Comm : communiquer aux autres robots les informations concernant ce que chacun font
  • Traitement des TAGs : lire les TAG
  • Traitement des feux : lire l'état des colonnes de feu
  • Pince de préhension : ouvrir et fermer la pince et renvoyer l'état de la pince
  • Approche finale : s'adapter au banc de charge ou de décharge de produits
  • Génération trajectoire : détermine une trajectoire pour aller au lieu (X,Y)
  • Réalisation trajectoire : parcourir la trajectoire
  • Localisation : savoir périodiquement (faible période) où se situe le robot
  • Détection d'obstacle : détecter les obstacles fixes et mobiles


Choix techniques : matériel et logiciel

-Utilisation de ROS (Robot Operating System), c'est un ensemble d'outils informatiques open source permettant de développer des logiciels pour la robotique. Il est disponible sous environnement Linux en version stable. Ce système travaille en utilisant des nœuds qui communiquent entre eux à l'aide de services (requête-réponse) et de topics (fichiers).
-Utilisation de différents langages : C++ ou Python (nœuds)
-Travail sous Linux Ubuntu 12.04 car utilisation de la version HYDRO de ROS

Etapes du projet

Avancement du Projet

Semaine 1

...

Fichiers Rendus