EA2012 Langages et Canevas pour la robotique de service

From air
Revision as of 17:55, 18 November 2012 by Salem (talk | contribs) (→‎Urbi)
Jump to navigation Jump to search
  • Enseignants: Georges-Pierre Bonneau, Didier Donsez
  • UE/Module: EAR (HPRJ9R4B) en RICM5
  • Etudiants: Elizabeth Paz, Salem Harrache

La version PDF de la présentation (FR) est disponible ici : Media:Presentation_EA_ROS_URBI_PAZ_&_HARRACHE.pdf

Résumé

Abstract

Synthèse

Introduction

ROS

Urbi

Urbi est une plateforme logicielle de developpement pour la robotique développé par [[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