Interface de communication entre robots : Différence entre versions

De Wiki de Projets IMA
(Contexte)
(Présentation générale du projet)
Ligne 1 : Ligne 1 :
 
=Cahier des charges=
 
=Cahier des charges=
 
==Présentation générale du projet==
 
==Présentation générale du projet==
La Robocup Logistic League est une compétition internationale de robotique où s'opposent
+
 
deux équipes, dans une simulation d'usine de production, en développant des algorithmes  
+
La Robocup Logistic League est une compétition internationale de robotique où s'opposent deux équipes,  
pour des Robotinos (Robots Festo d'une dizaine de kilo équipé de multiples capteurs)afin  
+
dans une simulation d'usine de production.<br>
qu'ils déplacent les pièces de manière autonome au sein de l'usine. L'usine et les machine
+
Celles-ci ont pour but de développer des algorithmes pour des Robotinos (Robots Festo d'une dizaine  
sont partagés par les deux équipes qui ne peuvent pas communiqué entre elles.
+
de kilo équipé de multiples capteurs) afin qu'ils déplacent<br> les pièces de manière autonome  
 +
au sein de l'usine. L'usine et les machines sont partagées par les deux équipes qui ne peuvent  
 +
pas communiqué entre elles.<br>
 +
 
 
Il y a 3 robots par équipes, et un "serveur" principal qui donne les ordres de production.
 
Il y a 3 robots par équipes, et un "serveur" principal qui donne les ordres de production.
Le but des équipes est de produire au maximum tout en respectant les ordres imposés.   
+
Le but des équipes est de produire au maximum,<br> tout en respectant les ordres imposés.   
Usuellement l'équipe utilise le protocole de communication sans fil ssh avec les robotinos, il s'agit
+
Usuellement l'équipe utilise le protocole de communication sans fil ssh avec les robotinos, il s'agit,<br>
cette année d'utiliser une interface "maison" pour regrouper et simplifier les communications.
+
cette année, d'utiliser une interface "maison" pour regrouper et simplifier les communications.
 +
 
 
===Contexte===
 
===Contexte===
 
Actuellement, sous ROS, pour démarrer un robot ceux sont une grosse quinzaine de programmes  
 
Actuellement, sous ROS, pour démarrer un robot ceux sont une grosse quinzaine de programmes  

Version du 30 novembre 2015 à 15:47

Cahier des charges

Présentation générale du projet

La Robocup Logistic League est une compétition internationale de robotique où s'opposent deux équipes, dans une simulation d'usine de production.
Celles-ci ont pour but de développer des algorithmes pour des Robotinos (Robots Festo d'une dizaine de kilo équipé de multiples capteurs) afin qu'ils déplacent
les pièces de manière autonome au sein de l'usine. L'usine et les machines sont partagées par les deux équipes qui ne peuvent pas communiqué entre elles.

Il y a 3 robots par équipes, et un "serveur" principal qui donne les ordres de production. Le but des équipes est de produire au maximum,
tout en respectant les ordres imposés. Usuellement l'équipe utilise le protocole de communication sans fil ssh avec les robotinos, il s'agit,
cette année, d'utiliser une interface "maison" pour regrouper et simplifier les communications.

Contexte

Actuellement, sous ROS, pour démarrer un robot ceux sont une grosse quinzaine de programmes avec leurs paramètres qui sont lancés un à un.
De plus il est impossible de suivre chaque programme durant un match. Cependant il est crucial de pouvoir suivre le comportement des robots,
durant l'épreuve, afin de pouvoir dénicher les problèmes liés au terrain.
De plus en cas de défaillance il est nécessaire de pouvoir intervenir rapidement et lancer les programmes adéquats.

Objectifs

Dans ce cadre l'interface doit présenter de manière claire et concise les processus sur chaque robot, avec éventuellement un traitement (affichage graphique ou autre).
Elle doit aussi simplifier l'accès aux commandes du robots: programmes, actions, services et paramétrages disponibles avec une précision sur les éléments attendu.

Présentation sous forme de fenêtre, simple à comprendre et intuitive.
Cryptage de la communication entre les robots et l'interface.
Flexibilité et ajout de module possible (commande au clavier ou lien avec d'autre outils disponibles).

Description

Choix techniques

Étant donné que le projet tourne sous ROS, j'ai choisi d'utiliser un module réseau déja existant pour ROS: ros_bridge_suite.
Ce package crée un serveur websocket sur le système où il est lancer et convertit les informations ROS en json.

Son homologue pour le traitement web est roslibjs, une bibliothèque javascript qui permet de créé des objets lisibles pour ROS.

Étapes du projet

Avancement du projet