Difference between revisions of "EA2012 Langages et Canevas pour la robotique de service"

From air
Jump to navigation Jump to search
Line 1: Line 1:
  +
= Présentation =
  +
 
* Enseignants: Georges-Pierre Bonneau, Didier Donsez
 
* Enseignants: Georges-Pierre Bonneau, Didier Donsez
  +
* Auteurs: Elizabeth Paz <Elizabeth.Paz-Hernandez@e.ujf-grenoble.fr>, Salem Harrache <Salem.Harrache@e.ujf-grenoble.fr>
* UE/Module: EAR (HPRJ9R4B) en RICM5
 
 
* Télécharger (FR):[[Media:Presentation_EA_ROS_URBI_PAZ_%26_HARRACHE.pdf]]
* Etudiants: Elizabeth Paz, Salem Harrache
 
   
 
= Abstract =
La version PDF de la présentation (FR) est disponible ici : [[Media:Presentation_EA_ROS_URBI_PAZ_%26_HARRACHE.pdf]]
 
  +
  +
== Keywords ==
   
 
= Résumé =
 
= Résumé =
   
  +
== Mots Clés ==
 
 
= Abstract =
 
 
 
   
 
= Synthèse =
 
= Synthèse =
 
 
== Introduction ==
 
   
 
La robotique de service peut se définir comme la robotique qui exécute des services utiles
 
La robotique de service peut se définir comme la robotique qui exécute des services utiles
Line 32: Line 29:
 
Urbi est une plateforme logicielle de developpement pour la robotique développé par Gostaï [http://www.gostai.com/] en 2006. L'entreprise a été fondé en 2006 par Jean-Christophe Baillie, ancien enseignant chercheur à l'ENSTA ParisPolytech où il a créé le laboratoire de Robotique Cognitive.
 
Urbi est une plateforme logicielle de developpement pour la robotique développé par Gostaï [http://www.gostai.com/] en 2006. L'entreprise a été fondé en 2006 par Jean-Christophe Baillie, ancien enseignant chercheur à l'ENSTA ParisPolytech où il a créé le laboratoire de Robotique Cognitive.
   
== Démonstration Urbi et NXT Mindstorm ==
+
=== Démonstration Urbi et NXT Mindstorm ===
   
 
Pour la démonstration on utilise le [[Lego_Mindstorm_NXT|Lego NXT de Mindstorm]].
 
Pour la démonstration on utilise le [[Lego_Mindstorm_NXT|Lego NXT de Mindstorm]].
   
   
=== Avancer et reculer ===
+
==== Avancer et reculer ====
   
   
Line 46: Line 43:
 
Global.wheels.speed = 0;
 
Global.wheels.speed = 0;
   
=== Tourner ===
+
==== Tourner ====
   
 
Global.wheelL.speed = - 50 time:1s &
 
Global.wheelL.speed = - 50 time:1s &
Line 54: Line 51:
 
Global.wheelR.speed = 0 time:2s;
 
Global.wheelR.speed = 0 time:2s;
   
=== Explorer ===
+
==== Explorer ====
   
 
var Global.explorer = Tag.new;
 
var Global.explorer = Tag.new;
Line 72: Line 69:
 
explorer.unfreeze()
 
explorer.unfreeze()
   
=== Détecter les obstacles ===
+
==== Détecter les obstacles ====
   
 
var Global.DistanceDanger = 25;
 
var Global.DistanceDanger = 25;
Line 89: Line 86:
 
},
 
},
   
=== Contrôler ===
+
==== Contrôler ====
   
 
var Global.currentState = 0;
 
var Global.currentState = 0;

Revision as of 14:07, 23 December 2012

Présentation

Abstract

Keywords

Résumé

Mots Clés

Synthèse

La robotique de service peut se définir comme la robotique qui exécute des services utiles pour le « bien-être » des personnes et des biens. Cette robotique s'étend au marché grand public : cela va du simple robot jouet au robot d’assistance médicale en passant par des “engins” autonomes qui n’assurent que certaines fonctions domestiques (aspirateurs, tondeuses à gazon, etc.).

Ces robots sont composés de systèmes complexes à base de composants (moteur, détecteurs...) qui ont besoin d'interagir et communiquer entre eux. Il existe de plus en plus de middleware qui tendent à rendre la programmation de ces robots plus facile et compatible entre plusieurs machines. On peut citer YARP (Yet Another Robot Platform) écrit en C++ et qui permet l’interconnexion entre détecteurs, processeurs et articulation, ou encore l'environnement Microsoft Robotics Developer Studio, qui a l’avantage d’offrir deux types de développement : un SDK classique en C#, mais également la possibilité d'utiliser le VPL (Visual Programming Language) pour modéliser et concevoir les comportements avec des graphes.

Nous allons nous intéresser à deux middlware en particulier qui sont ROS et Urbi.

ROS

Urbi

Urbi est une plateforme logicielle de developpement pour la robotique développé par Gostaï [1] en 2006. L'entreprise a été fondé en 2006 par Jean-Christophe Baillie, ancien enseignant chercheur à l'ENSTA ParisPolytech où il a créé le laboratoire de Robotique Cognitive.

Démonstration Urbi et NXT Mindstorm

Pour la démonstration on utilise le Lego NXT de Mindstorm.


Avancer et reculer

 Global.wheels.speed = 50;
 sleep (3s);
 Global.wheels.speed = −50;
 sleep (2s);
 Global.wheels.speed = 0;

Tourner

 Global.wheelL.speed = - 50 time:1s &
 Global.wheelR.speed = 50 time:1s;
 
 Global.wheelL.speed = 0 time:2s &
 Global.wheelR.speed = 0 time:2s;

Explorer

 var Global.explorer = Tag.new;
 explorer:
 {
   every(500ms)
     wheels.speed = 25;
 },

Arrêter le robot :

 explorer.freeze()
 stop();

Reprendre l'exploration :

 explorer.unfreeze()

Détecter les obstacles

 var Global.DistanceDanger = 25;
 var Global.detecter = Tag.new;
 detecter:
 {
  at (sonar.val < Global.DistanceDanger)
  {
   explorer.freeze;
   wheels.speed = - 50 time:1500ms;
   // Tourner
   {Global.wheelL.speed = - 50 & Global.wheelR.speed = 50} & sleep(600ms);
   stop();
   explorer.unfreeze;
  },
 },

Contrôler

 var Global.currentState = 0;
 
 at (bumper.val == 1)
 {
  if(Global.currentState == 0)
  {
   echo("On");
   Global.currentState = 1;
   explorer.unfreeze;
   detecter.unfreeze;
  }
  else
  {
   echo("Off");
   explorer.freeze;
   detecter.freeze;
   stop();
   Global.currentState = 0;
  }|
 },

Conclusion

Liens