Programme un robot aspirateur avec mBlock

Mise en situation


Logo Robocleaner

Tu es programmeur de robots aspirateurs dans l’entreprise Robocleaner, qui vend des robots aspirateurs à bas coûts.

Grâce à sa veille technologique, l’entreprise a saisi l’intérêt de développer un robot aspirateur qui puisse fonctionner en mode automatique mais qui puisse aussi être piloté en mode manuel à tout moment. Le pilotage en mode manuel permettra de diriger le robot vers une zone précise pour aspirer des détritus tombés accidentellement sur le sol.


La veille technologique


Regarde cette vidéo définissant la veille technologique (en coupant le son et en mettant les sous-titres):

Présentation des différents veilles technologiques

À ton avis: quelle type de veille l’entreprise Robocleaner a-t-elle mise en place? Pourquoi?


Le robot Botvac Connected


Suite à la veille technologique, l’entreprise Robocleaner s’est intéressée à des caractéristiques du robot Botvac Connected de l’entreprise Neato.

Regarde cette vidéo présentant le robot Neato Botvac Connected (en coupant le son et en mettant les sous-titres):

Présentation du robot Neato « Botvac Connected »

À ton avis: quelles caractéristiques du robot Botvac Connected en font un robot aspirateur innovant?


Programmation du déplacement du robot


On te confie la mission de programmer un robot pour qu’il se déplace comme le robot Botvac Connected: en effectuant des lignes parallèles pour optimiser le nettoyage d’une pièce.

Le Botvac Connected utilise un Lidar (capteur laser 360°) pour se repérer dans une pièce. Tu vas utiliser un capteur plus simple et surtout bien moins cher, pour que notre robot soit abordable: un capteur à ultrasons.

Pour fixer définir si le robot dois tourner à gauche ou à droite, tu vas utiliser une variable appelée compteur.

Si la variable compteur est à 0, le robot tournera d’un côté, si la variable compteur est à 1, il tournera de l’autre côté.

Déplacement souhaité du robot
Déplacement souhaité du robot aspirateur

Pour faire tourner le robot, un moteur est mis à l’arrêt, tandis que l’autre tourne en avant.

Ainsi, si le moteur M1 (gauche) tourne en avant et que le moteur M2 (droite) est à l’arrêt, le robot va tourner à droite.

Si le moteur M2 (droite) tourne en avant et que le moteur M1 (gauche) est à l’arrêt, le robot va tourner à gauche.

Pour fixer la vitesse de rotation des roues en marche avant tu vas utiliser une variable appelée vitesse.

Pour fixer la vitesse de rotation des roues en marche avant tu vas utiliser une variable appelée vitesse.

Rotation gauche et droite du robot
Rotation gauche et droite du robot

Voici les détails du fonctionnement souhaité:

1) Si l’obstacle le plus proche à est plus de 25cm, le robot avance.

2) Si l’obstacle est à moins de 8cm, le robot recule quelques instants, puis:

  • si la variable compteur est à 0, le robot tourne d’un côté,
  • si la variable compteur est à 1, le robot tourne de l’autre côté.
Algorithme à compléter du robot aspirateur
Algorithme à compléter du robot aspirateur

D’après la description ci-dessus, complète l’algorithme donné ci-dessus avec les mots et nombres proposés.

Ouvre le logiciel mBlock puis recopie le programme ci-contre, en ayant bien soin de sélectionner le robot mBot dans l’onglet Appareils.

Enregistre le programme sous le nom Robot aspirateur P1 sur ton espace de stockage personnel, dans le dossier Technologie>Programmes.

En te basant sur l’algorithme que tu as complété, termine le programme, puis teste-le sur le robot mBot.

Pour téléverser le programme dans le robot mBot, connecte le robot à l’ordinateur via le cable USB, puis:

  • sélectionne le bouton Téléverser,
  • clique sur Connecter et choisis le port COM correspondant,
  • clique sur Télécharger.
Programme P1 à compléter

Teste le programme et effectue les réglages nécessaires pour que le robot se déplace suivant des lignes parallèles.

Quand tu penses que ton programme fonctionne bien, appelle le professeur pour validation.

Programmation des modes Automatique et Manuel


Ta nouvelle mission consiste maintenant à modifier le programme du robot aspirateur (représenté par le robot mBot) afin de pouvoir passer en mode manuel à tout moment.

L’idée est encore une fois de copier le robot Botvac Connected: si le robot est train d’aspirer dans la pièce à côté et que je fais tomber des saletés par terre, je peux basculer en mode manuel et amener le robot jusqu’à l’endroit que je veux nettoyer. Ensuite, je peux le rebasculer en mode automatique, pour qu’il poursuive son travail initial:)

En mode manuel, le robot doit pouvoir être piloté avec une télécommande. Dès la sortie du mode manuel, le robot doit reprendre son fonctionnement automatique.

Le robot mBot avec sa télécommande
Le robot mBot avec sa télécommande

Cette fois-ci, les algorithmes du fonctionnement attendu sont représentés sous forme graphique.

Ci-contre, la description de l’algorithme permettant de basculer de mode Manuel au mode Automatique, et inversement.

Algorigramme de la gestion des modes Manuel et Automatique
Algorigramme de la gestion des modes

Ci-contre, la description des algorithmes des fonctionnements en mode Manuel et mode Automatique.

Remarque: tu as déjà programmé le mode automatique, tu n’auras donc que le mode manuel et le changement de mode à rajouter à ton programme.

Algorigrammes des modes Manuel et Automatique
Algorigrammes des modes Manuel et Automatique

D’après les descriptions ci-dessus, fais évoluer ton programme Robot aspirateur P1 pour intégrer le fonctionnement en mode manuel et la gestion des modes.

Tu peux t’inspirer des indices données dans le programme ci-contre.

Enregistre le nouveau programme sous le nom Robot aspirateur P2 sur ton espace de stockage personnel, dans le dossier Technologie>Programmes.

Teste le nouveau programme sur le robot mBot.

Pour téléverser le programme dans le robot mBot, connecte le robot à l’ordinateur via le cable USB, puis:

  • sélectionne le bouton Téléverser,
  • clique sur Connecter et choisis le port COM correspondant,
  • clique sur Télécharger.
Le programme final partiellement complété
Le programme final partiellement complété

Teste le programme et effectue les réglages nécessaires pour que la télécommande permette de passer d’un mode à l’autre.

Quand tu penses que ton programme fonctionne bien, appelle le professeur pour validation.


Cyril Mottet, professeur de sciences et technologie ©eduscience 2023

Crédit images: eduscience / Pixabay