mBot2

Dans les précédents articles, je vous parlais du CyberPi Go Kit et de l’Innovation add-on pack . C’est maintenant le tour du mBot2, le nouveau robot de Makeblock.

Le robot mBot2

Le robot mBot2 et le CyberPi Go Kit m’ont été fourni gratuitement par la boutique Technologie Services. Nous pouvons donc considérer que cet article est sponsorisé, cependant je n’ai reçu aucune instruction ou rémunération de leur part. J’ai seulement demandé à l’entreprise de me l’envoyer, afin que je puisse en parler dans mon blog (je suis très content qu’ils aient accepté).

Contenu de la boite

Le robot est livré en kit, mais une fois qu’il est monté, il tient parfaitement dans la boite d’origine (qui est de bonne qualité). Ça peut paraitre un détail, pourtant, à l’usage, c’est tellement pratique de pouvoir le ranger sans être obligé de le démonter lorsqu’on a fini de l’utiliser. Je détaillerai un peu plus tard le contenu de la boite, mais sachez que tous les éléments, indispensables au fonctionnement du robot sont inclus (la CyberPi, les capteurs de base, la batterie rechargeable et l’habituel tournevis Makeblock).

Les pièces du robot mBot2

Le montage n’est pas très compliqué, vous pouvez le confier à des adolescents. Le livret d’instructions se limite à l’essentiel, mais c’est plutôt une bonne chose. Quand il est trop long, en général, on ne le lit pas et comme il est traduit en 11 langue, ça fait beaucoup de papier gaspillé pour rien. Vous le trouverez à cette adresse.

Notice de montage du robot mBot2

Alors, quoi d’neuf ?

Comme vous vous en doutez avant le robot mbot2 il y avait le mBot (on ne disait pas encore mbot1, puisque c’était le seul). J’aimais beaucoup le robot mbot, avec son coté mécano et sa carte basée sur l’Arduino. Je lui ai d’ailleurs consacré de nombreuses pages dans mon livre sur l’Arduino. Alors quelles différences y a-t-il entre les 2 versions ?

Robots mBot et mBot2

Le châssis du mBot2 est légèrement plus grand et il possède encore plus de trous (certainement pour ajouter des options), mais à par ça, il n’y a aucune différence. L’aluminium anodisé lui donne cette jolie couleur bleu brillante. Je ne sais pas s’il y aura aussi une version rose (comme pour le 1er mBot), mais j’aimerais bien qu’on puisse trouver d’autres couleurs.

Châssis des robots mBot et mBot2

La carte de contrôle du robot mBot est équipée du même microcontrôleur que l’Arduino Uno, les modules se branchent sur des connecteurs RJ25 et le robot est alimenté par des piles ou une batterie rechargeable (en option).

De son coté, le robot mBot2 utilise une carte d’extension sur laquelle s’insère la carte CyberPi (le cerveau du robot). Il est possible d’y connecter jusqu’à 4 servomoteurs et 2 moteurs à courant continus classique (en plus des 2 moteurs encodeurs du mBot2). La carte de contrôle ne possède qu’un seul connecteur mBuild, mais il est possible d’y brancher une chaine constituée d’une dizaine de modules. L’alimentation est assurée par une batterie rechargeable de 2500mAh (fournie). Son autonomie est excellente. Pendant leurs tests, les techniciens de Technologie Service ont réussi à faire fonctionner le robot (en mode suivi de ligne) pendant 3 heures et 15 minutes.

Cartes de contrôle des robots mBot et mBot2

Les moteurs du robot mBot (en jaune) étaient plutôt corrects mais en cas de chute, l’arbre de sortie en plastique pouvait parfois se briser. Les moteurs du robot mBot2 (en bleu) sont équipés d’un arbre de sortie en métal (plus solide) et d’encodeurs qui assurent plus de précision (et de possibilités de contrôle). Ce sont d’ailleurs les mêmes que le robot mBot Ranger.

Dans sa toute 1ère version la roue libre du robot mBot était constituée d’une bille métallique emprisonnée dans un support en plastique. Cela fonctionnait, mais le système était bruyant et peu performant. Elle a rapidement été remplacé par la petite roue noire (en nylon). Cette évolution a bien sûr été repris par le mBot2.

Les 2 roues motrices sont parfaitement identiques, il n’y a que la couleur qui change. Moi, je trouve qu’elles sont plus jolies en noir. Mais bien sûr, les goûts et les couleurs…

Moteurs et roues des robots mBot et mBot2

Les 2 robots sont capables de détecter les obstacles à distance et de suivre une ligne dessinée au sol. Mais même s’ils remplissent à peu près les mêmes fonctions, les modules ont eux aussi évolué. Le robot mBot utilise des connecteurs au format RJ25 alors qu’avec le mBot2 il s’agit des nouveaux connecteurs mBuild.

Le capteur de distance à ultrasons possède maintenant 8 LED (programmables individuellement). Il est équipé d’un boitier de protection en plastique et d’une nouvelle puce censée « améliorer la fiabilité de son fonctionnement« , mais j’ignore dans quelles circonstances il se montre plus performant que l’ancienne version du capteur.

Le nouveau module de suivi de lignes (Quad RGB) possède 4 capteurs. Il peut détecter les couleurs et devrait être moins sensible aux interférences crées par la lumière ambiante. L’ancien module n’est équipé que de 2 capteurs et peut seulement différencier un sol clair, d’un sol foncé.
La gestion des couleurs ouvre de nouvelle possibilités. Il serait possible d’ajouter sur le sol un message sous forme de code couleur (ralentir, accélérer, s’arrêter, faire demi tour, etc…), un peu comme avec le mini robot Ozobot.

Capteurs des robots mBot et mBot2

La piste de suivi de ligne fournie avec le robot mBot2 est 2 fois plus grande. Elle possède aussi des zones colorées qui peuvent être détectées par le nouveau capteur (j’en ai parlé juste avant).

Pistes des robots mBot et mBot2

Tests du robot

Avant de me lancer dans la programmation du robot, j’aimerais bien découvrir un aperçu de ses possibilités. Ça tombe bien puisque mBlock fourni des exemples de programme.

Tout d’abord, ajoutez les bibliothèques mBot2, Utrasonic Sensor 2 et Quad RGB Sensor.

Ajout des bibliothèques dans mBlock

Ensuite, allez dans le menu Tutoriels Exemple de programmes, cliquez sur mBot2 et choisissez les exemples qui vous intéressent. Ils sont disponibles en chinois (CN) ou en anglais (EN).

Programmes d'exemples dans mBlock

Par exemple, le programme (EN) Motion demo permet de déplacer légèrement le robot avec le joystick de la CyberPi.

Pour que cela fonctionne, vous devez allumer la CyberPi, la connecter à l’ordinateur, sélectionner le mode Téléverser et cliquer sur Télécharger. Si vous rencontrez des difficultés, je vous invite à lire les 2 articles précédents, qui détaillent ces étapes.

Le programme de démonstration (EN) Motion demo

J’ai bien sûr testé d’autres programmes, comme (EN) Obstacle avoidance ou (EN) Kp line follow. Et j’en ai profité pour comparer les robots mBot et mBot2.

Les programmes fournis en exemple permettent de vérifier que le robot fonctionne correctement. Cependant, l’intérêt d’un robot programmable, c’est justement de pouvoir concevoir et ensuite tester ses propres programmes. Bien sûr, ils ne sont pas toujours aussi efficaces que ceux des ingénieurs de MakeBlock. Mais le but n’est-il pas d’apprendre la programmation en s’amusant avec un robot ?

Capteur de distance à Ultrason

Le module Ultrasonic Sensor 2 possède 8 LED programmables individuellement (4 de chaque coté). Vous pouvez vous amuser à créer des petites animations, mais aussi envoyer des informations à l’utilisateur (par exemple, faire clignoter le capteur quand on est proche d’un obstacle). Voilà par exemple comme faire des clins d’œil :

Contrôle des LED du module Ultrasonic Sensor 2

Vous pouvez aussi utiliser les animations prédéfinies :

Emotions du module Ultrasonic Sensor 2

Bien sûr, le capteur à ultrason peut aussi mesurer la distance qui le sépare d’un obstacle :

Affichage de la distance avec le module Ultrasonic Sensor 2

Il existe une infinité de versions du programme de détection d’obstacle, je vous donne la mienne (inspirée du programme (EN) Obstacle avoidance). Mais je compte sur vous pour le personnaliser (ou l’améliorer).

Programme de détection d'obstacles avec le module Ultrasonic Sensor 2

Capteur RGB (suivi de ligne)

Le module Quad RGB Sensor possède 4 capteurs capables de reconnaitre la couleur du sol. Ainsi le robot est capable de suivre une ligne.

Le programme démonstration (EN) Kp line follow utilise le bloc quad rgb … déviation (-100~100). Il renvoie la valeur 0 lorsque le robot est parfaitement sur la ligne. Mais plus il s’en éloigne et plus la valeur augmente (jusqu’à -100 d’un coté et 100 de l’autre). Ensuite, une astucieuse formule de calcul permet reposition le robot en adaptant la puissance des moteurs à la correction nécessaire. Le programme est très efficace, mais reste un peu compliqué.

Programme (EN) Kp line follow avec le Quad RGB Sensor

Je vous en propose donc une version simplifiée. Elle est moins performante, mais fonctionne quand même. Le bloc quad rgb sensor … probe … detected line ? permet de savoir quels capteurs détectent la ligne. Le capteur le plus à gauche s’appelle L2, viennent ensuite L1, R1 et R2 (tout à droite). L’état des capteurs est testé en permanence et en fonction du résultat, le comportement du robot change (en avant, tourne à droite, tourne à gauche ou en arrière). Mais la correction est beaucoup moins précise.

Programme de suivi de ligne avec le Quad RGB Sensor

Si vous rencontrez des difficultés avec le capteur, vous pouvez le recalibrer avec le petit bouton (au dessus) :

  • Double pression : Positionnez tous les capteurs sur l’arrière-plan (généralement la partie blanche de la piste) et appuyez deux fois sur le bouton. Lorsque les LED clignotent rapidement, bougez rapidement les capteurs de part et d’autre de la ligne (jusqu’à ce que les LED ne clignotent plus). Les nouveaux paramètres sont automatiquement mémorisées. Si les LED clignotent lentement, vous recommencez la calibration. Vous pouvez suite vérifier que la ligne est bien détectée en positionnant manuellement le robot ou à coté de la ligne (normalement les LED s’allument ou s’éteignent en fonction de la position de la ligne).
  • Appui long : En appuyant longuement sur le bouton vous changer la couleur du capteur quadruple RVB. Vous pouvez essayer, mais normalement ce n’est pas nécessaire (si la calibration s’est bien passé, la couleur doit être correcte).

Télécommander le robot

Si vous possédez une 2ème carte CyberPi, elle peut servir de télécommande au robot mBot2. Pour que cela fonctionne, il faut connecter les 2 cartes en WiFi (et donc connaitre le nom et le mot de passe de votre réseau).

Comme vous pouvez le constater, il est très facile de faire communiquer entre eux les cartes CyberPi. Voilà le code de la télécommande :

Télécommande du robot mBot2 (avec le joystick)

Et celui du robot

Code du robot mBot2 télécommandé

Il est également possible d’utiliser l’accéléromètre pour contrôler le robot en inclinant la télécommande (à la place du joystick). Voilà le code de la télécommande (le code du robot ne change pas).

Télécommande du robot mBot2 (avec l'accéléromètre)

Edit du 14 mai 2021 : Jean Reynaud (du blog Larajtekno) m’a suggéré d’ajouter une autre solution pour le programme qui utilise le joystick. Personnellement, j’aime moins cette version parce qu’on s’éloigne des principes classiques de programmation classiques. La transition vers des langages sous forme de texte (comme le langage Arduino ou le MicroPython) risque d’être un peu plus difficile. Cependant, le code est beaucoup plus facile à comprendre. Je vous laisse donc choisir vous-même celui qui vous convient, en sachant que vous ne pouvez pas mélanger le code de la télécommande et du robot des 2 versions.

Version simplifiée du programme du robot mBot2 télécommandé par le joystick de la CyberPi

Conclusion

Si vous me suivez depuis un moment, vous savez certainement que j’aime énormément jouer avec ce type de robot pédagogique. J’avais bien sûr été séduit par le robot, mbot (1er du nom), mais avec le mBot2, je n’ai pas été déçu puisse qu’il le surpasse sur quasiment tous les points.

Cependant, les nouveau moteurs émettent parfois un petit sifflement très aigu qui peut être désagréable pour les personnes sensibles à cette fréquence. Personnellement, je ne l’avais même pas remarqué avant que Syd ne m’en parle sur Twitter, mais dans un soucis d’objectivité, je préfère quand même vous prévenir.

Quant à la programmation, elle est toujours aussi facile avec mBlock (et il est ensuite possible d’évoluer ensuite vers le MicroPython). Toutefois, si votre budget est un peu serré, le robot mbot reste toujours une excellente alternative (et en plus j’en parle dans mon dernier livre).

Sources et liens utiles


11 réflexions sur “mBot2

    1. Mon blog n’a jamais eu la prétention de fournir aux professeurs des ressources directement exploitables. La construction de vos cours reste votre travail d’enseignant.
      Lorsque j’écris, je cherche simplement à partager avec vous mes différentes passions. Si cela intéresse un Maker ou un professeur, j’en suis très content.
      Mais dans le cas contraire je vous invite à me montrer la voie en publiant de meilleurs articles que les miens…

      J’aime

  1. Super comparaison !
    Est-ce que tu as déjà travaillé avec AppInventor et mBot ? J’aimerais créer une interface AppInventor pour mBot2 mais je ne trouve pas l’extension….

    J’aime

Laisser un commentaire