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

From air
Jump to navigation Jump to search
Line 27: Line 27:
 
== Urbi ==
 
== Urbi ==
   
[[File:Urbi-Logo.png|250px]]
+
[[File:Urbi-Logo.png|250px|center]]
   
   
Line 36: Line 36:
 
=== Plateforme logicielle ===
 
=== Plateforme logicielle ===
   
[[File:Architecture-Urbi.png|250px|thumb|right|Architecture client/serveur de Urbi]]
+
[[File:Architecture-Urbi.png|250px|center|Architecture client/serveur de Urbi]]
   
   
 
=== Compatibilité ===
 
=== Compatibilité ===
   
[[File:Robot-Urbi.png|250px|thumb|right|Robots compatibles Urbi]]
+
[[File:Robot-Urbi.png|250px|center|Robots compatibles Urbi]]
   
   

Revision as of 14:36, 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-Logo.png


Gostaï

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.

Plateforme logicielle

Architecture client/serveur de Urbi


Compatibilité

Robots compatibles Urbi


Urbiscript

Démonstration Urbi et NXT Mindstorm

LEGO Mindstorms TriBot

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