Aller au contenu


Information tutoriel

  • Ajouté le: avril 14 2016 05:53
  • Date Updated: avril 14 2016 09:53
  • Lectures: 5333
 


* * * * *
0 Notes

Gestion des déplacements du robot MRPi1

Dans ce tutoriel pour le robot MRPi1 vous allez apprendre les bases du déplacement: avancer reculer et tourner.

Niveau : facile
Langage : python

Posté par macerobotics on avril 14 2016 05:53
Présentation
 
Ceci peut paraître basique, mais faire avancer correctement un robot, c'est-à-dire avancer droit, et non de travers, n'est pas si simple que ça !
 
 


Image IPB

 
Pour cela, le robot MRPi1 est équipé de deux moteurs à courant continu avec des encodeurs en quadrature pour pouvoir avoir un retour d'information sur le déplacement du robot. Ceci permet de réaliser une régulation sur le déplacement du robot est donc de pouvoir faire avancer, reculer et tourner le robot de manière contrôlée. Le robot va être contrôlé en temps réel par le microcontrôleur sur sa position/orientation et en vitesse par une rampe en trapèze.
 
 
Connexion au robot
  • Mettre sous tension le robot MRPi1,
  • Connectez votre ordinateur au réseau Wifi crée par votre  MRPi1
Image IPB
 
         3.  Connectez vous à votre robot MRPi1 via un client SSH comme putty:
Image IPB
  • Adresse IP : 192.168.42.1
  • Port : 22
Voilà vous êtes maintenant connecté au robot en ssh! Vous allez pouvoir programmer le robot.
 
 
Marche avant
 
Dans cette première partie nous allons voir comment déplacer le robot en avant en utilisant la fonction :

 
forwardC() : fonction pour faire avancer le robot avec une vitesse et une distance en paramètres.

 
  • Premièrement lancez interpréteur python :
$ python
Image IPB
  • Importez la libraire pour le robot MRPi1 :
>>> from mrpi1_lib import *
  • Activer le contrôle, ceci permet d'activer la régulation du robot. Par défaut, la régulation en position n'est pas activé.
>>> controlEnable()
  • Ensuite, faire avancer le robot avec la fonction forwardC(parametre1, parametre2 ).
 
Cette fonction prend deux paramètres :
  • Vitesse du robot en % de 0 à 100% (vitesse max = 100)
  • Distance de déplacement en ticks (unité de l'encodeur)
 
4 tick = 1 mm (par rapport à la résolution des encodeurs et taille des roues)
 
Donc, si vous voulez avancer de 200 mm, il faut :

 
200 x 4 = 800 ticks
>>> forwardC(15, 800)
Image IPB
 
Votre robot doit donc avancer de 200 mm en ligne droite avec une vitesse de 15%.
  • Essayer d'augementez la vitesse :
>>> forwardC(50, 800)
Une erreur apparait lorsque la vitesse est trop élevée par rapport à la distance à parcourir. Maintenant, vous pouvez passé à la fonction backC(), permettant de faire reculer le robot.
 
 
Marche arrière
 
Dans cette deuxième partie nous allons voir comment déplacer le robot en arrière en utilisant le fonction :
 
 
backC(parametre1, parametre2 )
 
Cette fonction prend deux paramètres :
  • Vitesse du robot en % de 0 à 100%
  • Distance de déplacement en ticks
Exercice 1 :
 
Essayer de faire avancer le robot de 50 cm et reculer de 30 cm avec une vitesse de 20%.
 
Réponse 1 :
 


Spoiler



 
Cap à tribord & bâbord
 
Dans cette troisième partie nous allons voir comment faire tourner le robot à droite et à gauche avec un angle donnée.
 
Voici les fonctions pour tourner à droite & gauche :
 
turnRightC(parametre1, parametre2 )
turnLeftC(parametre1, parametre2 )
 
Paramètres :
  • Vitesse du robot en % de 0 à 100%,
  • Angle en ticks
La valeur est de 546 ticks pour 90°, ceci est calculé en fonction de la taille de l'essieu de robot.

 
Exercice 2 :
 
Essayer de faire un 360 ° vers la droite avec une vitesse de 25 % puis un 90° vers la gauche avec une vitesse de 10%.

 
Réponse 2 :
 
 
Spoiler

 
 
 
Exercice final
 
L’exercice final est de réaliser un script python pour :
 
  • Avancer de 25 cm, vitesse 20%,
  • Reculer de 10 cm, vitesse 10 %,
  • Tourné à droite de 90°, vitesse 10 %,
  • Avancer de 22 cm, vitesse 20%,
  • Reculer de 20 cm, vitesse 10 %,
  • Tourner à gauche de 180°, vitesse 10%
Réponse :

Spoiler

 
Voici le résultat de ce petit programme python :
 

 
 
 
 
Le tutoriel sur le déplacement du robot MRPi1 est terminé, maintenant vous allez pouvoir envoyer votre robot en exploration ou vous voulez !
 
Prochaine étape  :
 

·         prendre en compte les capteurs de proximité ou de sols pour faire un recalage!