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

From air
Jump to navigation Jump to search
Line 81: Line 81:
   
 
=== Contrôler ===
 
=== 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 ==
 
== Conclusion ==

Revision as of 14:14, 15 October 2012

  • 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

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