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 !
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
3. Connectez vous à votre robot MRPi1 via un client SSH comme putty:

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.

Cette fonction prend deux paramètres :
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
Votre robot doit donc avancer de 200 mm en ligne droite avec une vitesse de 15%.
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 :
Essayer de faire avancer le robot de 50 cm et reculer de 30 cm avec une vitesse de 20%.
Réponse 1 :
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 :
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 :
Exercice final
L’exercice final est de réaliser un script python pour :
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 :
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 !
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

3. Connectez vous à votre robot MRPi1 via un client SSH comme putty:

- Adresse IP : 192.168.42.1
- Port : 22
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

- 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)

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
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
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%
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!