Skip to content
sduchesneau edited this page Mar 4, 2012 · 30 revisions

No pain no game

Mouvement
bluetooth
capteur infrarouge
publicité

Connectique

  • xbee
  • http GET/POST

android

capteurs

MyRobots API

  • doc: http://www.myrobots.com/wiki/API

Robotshop Rover

  • doc: www.robotshop.com/content/PDF/dfrobotshop-rover-user-guide.pdf

Schéma logique


                         (    )
 [rover] - BT/python -> ( cloud ) - data -->  [php server]
    ^                   (       )  <-- data ---/  
     \____poll cmds______(     )
                          (  ) ---> python visualisation


PHP

Informations de MyRobots attendues


Field1: Dernieres commandes effectuées de façon autonome en “triples” (fonction, distance, collision)
séparés par des “:” ex: f,237,1:l,1,0:f,250:0:r,1,0:f,250,0:f,250,1: serait un exemple de contournement
classique par la gauche.
fonction: f|b|r|l avancer, reculer, droite, gauche
distance: entier La distance est la distance parcourue en millimetre ou le degré de rotation (1=90,2=180,3=270).
collision: 1|0 présence d’un objet en face du robot (1) ou non (0).

Informations de MyRobots mises a jour par le serveur

* Field4: Commandes a envoyer en "triples" (fonction, distance, contournement) séparés par des ":" 
 ex: f,250,l:f,0,0:
fonction: f|b|r|l avancer, reculer, droite, gauche
distance: entier La distance est la distance à parcourir en millimetre ou le degré de rotation (1=90,2=180,3=270). 
contournement: 0|l|r contourner l'objet (0: non, l: par la gauche, r: par la droite)
* Field5: Action lue par le robot (remettre à 0 à chaque commande)

Actions à entreprendre:

(MACHINERIE)

  • Monter le robot: DONE
  • Monter le senseur IR sur le robot: 0%

(ARDUINO)

  • programmer le arduino pour la communication (émission / réception): DONE
  • programmer la réception infrarouge: DONE
  • programmer / calibrer la détection d’un objet par l’IR: DONE
  • programmer les mouvements avec calibration: DONE
  • programmer la requête des valeurs de calibration vers le cloud: DONE
  • programmer l’algorithme de contournement: 20%

(PYTHON)

  • Programmer l’envoi/réception bluetooth <→ myrobots.com: 60%
  • Modifier le code pour utiliser les nouveaux champs définis: 0
  • Utiliser l’ID unique au lieu de mettre à jour le champ.

(PHP)

  • programmer l’envoi des commandes au robot dans un champ selon les nouveaux champs
  • programmer l’algorithme de mapping de l’environnement complet vers un champ JSON

(autre)

  • programmer la visualisation web de la map (JSON)
  • ajouter des goodies