Publié le 11 juin 2018 - par

GoPiGo3 : Un rover avec un Raspberry Pi

Le robot GopiGo3 est fabriqué aux USA par Dexter Industries. Il est plus particulièrement destiné à l’éducation et permet de mixer l’apprentissage de la robotique et de la programmation. Avec le système d’exploitation DexterOS vous pouvez le programmer en Bloxter (dérivé de BLocky) en anglais et en français, ou encore en Python.

GoPiGo3 mettez un Raspberry Pi dans un robot

Lorsque Dexter Industries a lancé sa première campagne KickStarter mi 2013 c’était déjà avec un robot, BrickPi, qui permettait de donner vie à un robot construit en LEGO® grâce à un Raspberry Pi. Début 2014 ils récidivaient avec ArduBerry, un projet au financement duquel j’avais participé. Arduberry est un moyen simple et peu coûteux pour utiliser les shields Arduino avec le Raspberry Pi. C’est une carte qui se connecte sur le GPIO sur le Raspberry Pi et vous permet d’empiler et d’utiliser les shields Arduino. Je vous l’avais présentée dans un article publié début 2014.

C’est maintenant une entreprise bien établie qui produit des robots pour le milieu éducatif. Je vous propose une série d’articles sur le GoPiGo3.  Après avoir assemblé le robot (épisode 1), je vous parlerai des OS disponibles DexterOS et Raspbian for Robots (Episode 2). Ensuite en fonction de l’intérêt suscité par ces articles, des exemples de programmes pour animer le GoPiGo3, en Bloxter, Python ou Scratch.

Comme d’habitude, il y a peu de texte mais de nombreuses images pour illustrer les différentes phases du montage et vous guider pas à pas. Vous trouverez le montage en anglais sur le site de Dexter Industries.

Le colis

Le matériel est livré rangé dans une boîte de dimensions réduites.

Du plastique à bulles assure la protection pendant le transport.

Vérifiez que toutes les pièces sont présentes. Séparez les différentes vis, entretoises, rondelles… pour vous y retrouver quand vous allez passer au montage.

Les pièces disponibles

Dans la boîte du kit de base GoPiGo3, vous devriez trouver ce qui suit :

2 Roues jaunes
2 Moteurs
2 câbles moteur
1 Carte GoPiGo3 (rouge)
2 supports de moteur en métal (équerres)
1 Roulette à bille en métal
2 plaques en acrylique (châssis et partie supérieure)
1 Boîtier à piles (8 x 1,5v AA)
1 Câble de batterie
1 sangle Velcro
1 petit tournevis réversible (plat / cruciforme)

Ce qu’il manque : Pensez à vous munir d’une petite clé plate à la dimension des entretoises (6mm) ou d’une pince pour assurer un bon serrage.

Toutes les entretoises sont métalliques, ce qui sera une garantie de solidité une fois le montage réalisé. Ici pas de visserie ou d’entretoise plastique. Ça réduit le prix mais aussi la durée de vie du produit, surtout en milieu scolaire 🙂

Des rondelles ondulées (ou ressorts ondulés) viendront exercer une force sur les vis après serrage, évitant ainsi un desserrage dû aux vibrations.

 

Les pièces en acrylique transparent du GoPiGo3 peuvent être livrées avec une protection. Si les vôtres sont recouvertes de ce revêtement, vous devriez pouvoir le décoller facilement. Retirez le revêtement protecteur des 2 grandes plaques d’acrylique. Notez que les plaques sont dissymétriques. Le Châssis (grande plaque) est gravé avec des chiffres pour identifier les trous, UP pour identifier la partie sui sera sur le dessus, et L (left=gauche) et R (right=droite) pour localiser les côtés. L’avant du châssis est muni de nombreux trous pour fixer les différents capteurs, alors que l’arrière n’en a que quelques uns. La plaque supérieur possède une fente destinée au passage du câble de la caméra. Cette fente sera positionnée à l’avant du robot.

Nous reverrons ceci au moment de l’assemblage du robot.

Montage des supports moteur

   

Les supports sont marqués L = gauche et R = droite

La partie arrondie découpée dans le support en aluminium est orientée vers l’arrière du robot. Trouvez les 4 trous marqués « 1 » sur la plaque en acrylique(voir ci-dessus). Placez les rondelles élastiques sur les quatre vis courtes et insérez deux vis (de chaque côté) dans les trous « 1 » à travers le corps en acrylique. . Les trous sont à la dimension, vous devrez peut-être visser les vis dans la plaque d’acrylique. Placez les supports en vous référent aux photos. Mettez les écrous en place. Serrez bien les vis.

Mise en place des entretoises support du Raspberry Pi

Trouvez les 4 trous qui forment un carré au milieu de la plaque d’acrylique. Deux de ces trous sont marqués « 2 ».

Placez dans les trous par le dessous de la plaque et fixez quatre petites entretoises argentées au dessus. Serrer les entretoises à la main.

Montage du support de la plaque supérieure

Glisser les rondelles élastiques sur les vis courtes. Trouvez les quatre trous pour positionner les entretoises de support de la plaque supérieur. Deux d’entre eux sont marqués « 1 » sur la plaque d’acrylique du GoPiGo3.
La plaque doit être tournée vers le HAUT (UP lisible comme sur la photo ci-dessus) . Insérez les vis (avec les rondelles) par le dessous de la plaque et vissez-les dans les grandes entretoises métalliques. Visser les entretoises et serrer jusqu’à ce que les rondelles s’aplatissent.

Préparer les moteurs pour le montage

Préparer les 2 moteurs pour l’étape suivante en ajoutant les deux câbles rouges du moteur aux moteurs. Insérez le câble moteur dans le port femelle blanc du moteur. Les prises des câbles sont munies d’un détrompeur. Elles n’entreront dans les prises moteur que dans un seul sens (elles ne peuvent pas être insérées à l’envers). Regardez bien avant de connecter les prises, et ne forcez pas 😉

Euh… C’est quoi ces moteurs, en fait ?

Peut-être que , comme moi, vous êtes curieux et vous vous demandez ce qu’il y a dans ces moteurs en plastique jaune ? D’autres se sont déjà penchés sur la question et un article d’ Averagemaker donne tous les détails.

Pour ouvrir le moteur on commence par enlever le clip de maintien en plastique transparent, ainsi que les vis qui ferment le moteur.

Le moteur électrique à courant continu peut alors être extrait. Il comporte une roue dentée sur son axe.

Cette roue entraîne un train d’engrenages qui diminue la vitesse de rotation (et augmente la force disponible en sortie) tout en décalant la sortie à 90 degrés.

Voici l’ensemble de spièces du moteur. Inutile donc de démonter le votre pour voir ce qu’il a dans le ventre 😛

Dexter Industries a jouté deux capteurs à effet Hall chargés de détecter le passage d’un aimant noyé dans la roue en plastique. Comme cette roue est monté sur l’axe moteur, elle effectue de nombreux tours quand la sortie après le train d’engrenage ne fait qu’un seul tour (à vérifier : 18 tours moteurs pour 1 tour de roue). Ceci permet de connaître la position des roues du robot avec une grande précision et de pouvoir gérer les distances de déplacement et les rotations de l’engin.

J’ai positionné sur cette image la position de l’aimant dans la roue en bout d’arbre moteur. Les flèches indiquent les capteurs à effet Hall.

Montage des moteurs sur les supports

Préparez 4 vis longues, 4 rondelles élastiques, 4 écrous ainsi que les deux moteurs munis de leurs câbles.

Retournez le GoPiGo3 de façon à ce que les supports métalliques du moteur soient orientés vers le haut. Mettez les rondelles élastiques sur les vis. Glissez les vis longues dans les moteurs depuis le côté où le fil rouge est connecté comme indiqué sur l’image.

Positionnez les moteurs et les vis sur les supports en aluminium, avec les fils du moteur orientés vers le milieu de la plaque. Mettez les écrous sur les vis, serrer jusqu’à ce que les rondelles élastiques s’aplatissent. Le moteur est bien positionné si l’encoche du support est orientée vars l’arrière du robot, laissant la place pour le clip de fixation en plastique transparent. La roue du codeur doit également être vers l’arrière du robot (flèche jaune ci-dessus)

 

Repliez les câbles moteurs vers l’arrière du robot. Glissez les câbles moteurs à travers la plaque, dans la fente rectangulaire (ils sortiront par le haut lorsque vous la retournez).

Montage de la roulette à bille

Cette roulette comporte une bille métallique qui tourne librement. Elle permet au robot de se déplacer uniquement grâce à la traction fournie par les roues motorisées.

Placez une rondelle élastique sur chaque vis et mettez en place les deux entretoises argentées de taille moyenne sur la roulette

 

Il y a deux petits trous ovales à l’arrière de la plaque en acrylique du GoPiGo3. Positionnez la roulette sous la plaque en acrylique. Serrer les vis jusqu’à ce que les rondelles soient aplaties.

  C’est sur cette roulette à bille que reposera l’arrière du robot.

Montage des roues sur les moteurs

Préparez 2 petites rondelles en acrylique transparent et les 2 roues.

Glisser les deux entretoises en acrylique sur les axes en plastique blanc des moteurs. Comme indiqué par les flèches jaunes, la rondelle écarte la roue pour éviter des frottements sur les écrous.
Insérez ensuite les deux roues jaunes sur les axes des moteurs, il faudra peut être forcer un peu.

Préparation du Raspberry Pi

Tadammm ! Allez c’est l’heure de dégainer votre plus joli Raspberry Pi. J’ai choisi un Pi 3 qui me restait, maintenant qu’on est passé au Pi3B+, celui-ci devrait faire l’affaire pour un robot.
Dexter Industries recommande de tout mettre en place sur le Raspberry Pi avant de le monter.  (clé USB, clé WiFi si besoin, carte micro SD). Pour ma part j’ai choisi de ne monter que la carte SD. Pour les essais j’ai eu à changer de carte (je vous raconte ça dans le prochain épisode 🙂 ) mais c’est jouable en débranchant un fil moteur

Positionnez le Raspberry pi sur les petites entretoises. Vérifiez que les trous tombent  en face des entretoises… ça devrait être le cas. J’ai connu une époque (mais bon, c’était au siècle dernier) où il était monnaie courante de sortir le jeu de limes de Genève pour ajuster les pièces d’un kit parce que les trous ne tombaient pas en face 😀 Maintenant avec les CNC, la découpe laser et tout ça… on n’a plus ce genre de problème.

Les broches GPIO et les prises USB, réseau du Raspberry Pi doivent être orientées vers le haut (comme sur la photo). L’extrémité de la carte SD qui dépasse doit être orientée vers les câbles moteur rouges.

Vissez les entretoises en laiton (jaunes, dorées) à travers les trous du Raspberry Pi, sur les petites entretoises argentées (flèches jaunes sur l’image ci-dessus)

Monter la carte GoPiGo3 (rouge)

Cette carte est développée par Dexter Industrie pour commander le robot GoPiGo3.

Préparez la carte GoPiGo ainsi que 4 petites vis. La carte est livrée dans un sachet antistatique. Sortez la du sachet au dernier moment et évitez de la tritouiller avec vos mains pleines de doigts, pour préserver sa santé et sa durée de vie.

Le connecteur de la carte est protégé par de la mousse (dessous à gauche sur la photo ci-dessus).

Cela évite de plier les broches du connecteur pendant le transport ou les manipulations. Enlevez cette mousse juste avant de mettre la carte en place.

La carte est dotée d’un processeur ATMEL 32 bits de type ATSAMC20J18A. Vous pouvez consulter la documentation de l’ATSAMC20J18A au format PDF en cliquant sur ce lien.

On note aussi la présence d’une alimentation à découpage. C’est la carte GoPiGo3 qui reçoit la tension d’alimentation et fabrique le 5v pour le Raspberry Pi. D’origine, le bloc de piles contient 8 piles AA de 1,5v, soit 12v. Je n’avais pour les tests qu’une alimentation de 9v…. qui a très bien fait l’affaire, vu la tension annoncée dans les caractéristiques (9 à 12v) !

Mettez la carte en place, sans l’enfoncer sur le connecteur GPIO du Raspberry Pi. Alignez la prise femelle noire de la carte rouge (GoPiGo3) pour que les broches du port GPIO du Raspberry Pi soient parfaitement alignées.
Vérifiez l’alignement des broches, plutôt deux fois qu’une. Il ne doit pas y avoir de décalage (ça pourrait être dangereux pour la carte et le Raspberry Pi).
Vérifiez par le dessus que les trous de la carte tombent parfaitement en face des entretoises.
Tout est bon ? Alors vous pouvez enfoncer la carte sur le connecteur GPIO, il y a une légère résistance, appuyez bien au niveau du connecteur.

Utilisez les 4 vis pour fixer la carte GoPiGo3 au Raspberry Pi. Les vis viennent dans les trous des entretoises en laiton.

Caractéristiques techniques de la carte GoPiGo3

D’après la page Hardware GoPiGo3.
La carte GoPiGo3 se connecte sur le port GPIO du Raspberry Pi sans nécessiter d’autres connexions. La communication avec la carte GoPiGo3 se fait via l’interface SPI.

Connexions des capteurs : La carte GoPiGo3 possède 5 ports Grove sur lesquels différents capteurs Grove peuvent être connectés.

Ports de capteur I2C – Le GoPiGo3 possède deux ports de capteur I2C. Ceux-ci sont connectés directement à la carte Raspberry Pi par l’intermédiaire d’un circuit de conversion de niveau et se connectent au même bus.
Ports de capteurs numériques analogiques – Ces deux ports peuvent se connecter à des dispositifs analogiques, numériques et I2C Grove. Ceux-ci sont directement connectés au microcontrôleur sur la carte rouge GoPiGo3.
Port série – Ce port est directement connecté aux broches série Raspberry Pi par l’intermédiaire d’un circuit de conversion de niveau.

Connexions des servomoteurs : Le GoPiGo3 peut contrôler deux servos. Ils sont pilotés par le microcontrôleur sur la carte de circuit GoPiGo3.

Port d’alimentation : Le port d’alimentation du GoPiGo est un jack de 5,5 mm X 2,1 mm qui peut recevoir une alimentation centrale positive 9-12 V CC (entre 800mA et 2A selon utilisation, la rotation des moteurs etc. Prévoyez 2A ou 2,5A pour être tranquille)

Les connecteurs des deux faces de la carte GoPiGo3

Le schéma est disponible en ligne.

Cliquez sur le schéma pour télécharger le .PDF

Connexion des moteurs à la carte GoPiGo3

Connecter les câbles du moteur à la carte GoPiGo3. Notez que les prises ne peuvent être connectées que dans un seul sens. Enfoncez les connecteurs bien à fond.
Il est très important de s’assurer que le moteur droit est connecté à la prise correspondante de la carte, et que le moteur gauche est connecté à la prise gauche de la carte !

Montage de la plaque supérieure transparente

Orientez la fente prévue pour le câble de la caméra vers l’avant du robot. De ce fait, les deux fentes prévues pour le Velcro de la batterie sont vers l’arrière du GoPiGo3.

Vérifiez le positionnement des trous par rapport aux entretoises.

Préparez 4 rondelles élastiques et 4 vis courtes. Positionnez la plaque en acrylique sur le dessus du robot. La fente qui se trouve sur un bord de la plaque doit être orientée vers l’avant. Placez une rondelle élastique sur chaque vis. Serrez les vis pour que la rondelle soit aplatie.

Installation de la batterie

Préparez :

  • Un coupleur de piles
  • Câble du bloc-batterie
  • Bracelet Velcro
  • 8 piles AA

Placez les 8 piles AA dans le bloc-piles. Enfilez la sangle velcro à travers les découpes prévues pour le passage du Velcro à l’arrière de la plaque du châssis du GoPiGo3.
Il y a deux endroits où vous pouvez placer la batterie soit à l’arrière, tout près de la roue à bille, soit sur la plaque supérieure.

  • Si vous montez les piles sur la plaque supérieure, le poids des piles est appliqué sur les roues. Vous aurez plus de traction, ce qui peut être intéressant pour l’utilisation sur des tapis ou les surfaces glissantes.
  • Si vous montez les piles sur la plaque du Châssis, leur poids sera appliqué sur la roue à bille. Le robot sera plus stable et n’aura pas tendance à se soulever en cas de forte accélération.

Connectez le câble au bloc piles avec le connecteur à 2 contacts (comme sur les piles 9v).  Le Jack à l’autre extrémité du fil sera connecté à la prise d’alimentation noire du GoPiGo3  (à côté du bouton d’alimentation). Fixez enfin la batterie au GoPiGo3 avec le velcro comme indiqué.

[stextbox id=’warning’ caption=’Attention’]Pour ma part je n’ai pas utilisé de piles pour le moment, j’ai laissé le coupleur de piles vide pour les photos. J’ai ensuite utilisé une alimentation 9v, connectée à la prise d’alimentation de la carte GoPiGo3, pour les tests.[/stextbox]

Montage du servomoteur GoPiGo Servo

Pour mieux gérer les déplacements du robot, j’ai choisi de lui ajouter un détecteur de distance LASER qui mesure le temps de vol du LASER pour déterminer la distance. Il sera monté sur un servomoteur qui l’orientera de façon à « découvrir » l’environnement du robot. Voici le montage de cette partie

Le kit servomoteur GoPiGo Servo est livré dans une petite boite en carton, contenant le servomoteur, les plaques en acrylique et la visserie.

Les pièces en acrylique sont livrées avec un papier de protection pour éviter les rayures ou du plastique. Enlevez-le avant toute chose. 

Ensuite, placez le servomoteur dans la plaque comme sur l’image ci-dessus.

Glisser les deux pièces en forme de « T » à travers la face avant, le long du servomoteur et de chaque côté. Ces plaques servent de support pour maintenir le servomoteur en place.

Insérez une longue vis à travers les deux trous à l’extrémité des « T ». Vissez un écrou pour maintenir l’ensemble en place.

Dans le sac du servomoteur, vous verrez des pièces de fixation blanches. Sélectionnez la même que sur la photo ci-dessus et placez-le sur l’arbre du servomoteur, puis insérez une des petites vis à bois dans le trou de cette pièce blanche pour la fixer au servomoteur. Utilisez bien une des toutes petites vis présentes dans le sac.
Ne serrez pas trop fort, lorsque j’ai mis le robot sous tension et calé le servomoteur au centre, il a fallu que je démonte la pièce blanche pour la recaler dans l’axe.

Insérez deux grandes vis à bois dans le premier et le troisième trou de la pièce blanche. Vissez les à moitié pour préparer la fixation, puis retirez les.

Fixez le servomoteur à la plaque en acrylique du châssis. Il y a un seul trou ovale à l’avant du GoPiGo3. Retournez le GoPiGo3 à l’envers sur une table ou une surface plane. Mettez en place les deux vis à travers le trou ovale du châssis, dans les deux trous de la pièce blanche. 

Connecter le câble du servomoteur à la carte rouge GoPiGo3, sur le connecteur marqué « Servo 1« . Ce sont les trois broches situées de chaque côté du GoPiGo3, vers l’avant. Notez l’orientation du câble sur l’image : il est important que le fil orange soit tourné vers l’arrière du GoPiGo3, et le fil brun vers l’avant du GoPiGo3. J’ai fait quelques tours avec le fil pour ne pas avoir de fil « baladeur », vous pouvez aussi faire une que de cochon en enroulant le fil sur un tournevis par exemple. Vous obtiendrez une spirale qui restera souple pour permettre la rotation du servomoteur.
Le servomoteur est maintenant correctement connecté au GoPiGo3 ! Si vous exécutez un programme de test vous le verrez bouger bouger !

Montage du capteur de distance

Sortez les pièces du sachet plastique. Le LIDAR est visible au centre de la carte du détecteur de distance.  

C’est un modèle VL53L0X  dont vous pouvez consulter la documentation en cliquant sur ce lien : Documentation du VL53L0X. Le LIDAR envoie un faisceau laser (angle de 35° environ) et mesure le temps que met ce faisceau pour lui revenir. La portée de ce modèle se situe entre 2 cm et 2m (selon conditions et surface des objets). L’angle de réception est de 25° environ. Sur la photo ci-dessus j’ai indiqué les trous d’émission et de réception du LIDAR avec des flèches jaunes.

A l’arrière de la carte, les indications montrent qu’on a une liaison par bus I2C (SDA, SCL).

Insérez le câble dans le connecteur de la carte. La prise est munie d’un détrompeur. On ne peut la connecter que dans un sens. Repérez les deux rebords qui dépassent sur la photo.

Mettez la carte en place sur la plaque avant du servomoteur, utilisez deux petites vis et des écrous.

Pour faciliter la rotation du servomoteur, passez le câble entre les deux plaques en forme de T, au milieu de la plaque (flèche du bas). Connectez le câble du capteur sur la carte (flèche rouge).

   Votre robot dispose maintenant d’un capteur de distance.

Par la suite, J’ai collé les yeux fournis avec le capteur, pour donner un air plus « vivant » au robot 🙂 Mais c’est juste esthétique…

Vidéo

Allez, pour finir, voici une vidéo du tout premier essai du GoPiGo3 avec un mini programme réalisé en Bloxter 🙂

Conclusion

Voilà vous avez maintenant une base de robot prête à l’emploi. Vu sa robustesse et sa conception, je le vois plutôt destiné à des utilisations en classe, du primaire au lycée, en fonction des apprentissages, en Bloxter, Scratch ou Python. La disponibilité de nombreux capteurs (il y a même un GPS) permet d’étendre les fonctions du robot. L’ouverture est obtenue grâce à une compatibilité avec les modules Grove, ce qui laisse libre champ à l’imagination.

Il sera aussi le bienvenu dans les associations qui forment à la robotique et au codage, ainsi que dans les FabLab.

Sa construction est simple, facilitée par le tutoriel (en anglais) mis à disposition par Dexter Industrie. Voyez dans les Sources pour les liens. L’ensemble des pièces de l’assemblage est métallique, et des rondelles de pression éviteront des desserrages intempestifs dus aux vibration. Les pièces en surnombre sont aussi un sacré plus, car il est fréquent lors du montage de faire tomber une vis ou un écrou et… de ne pas les retrouver (ça ne vous est jamais arrivé, à a vous ?)

Dans un prochain article, je vous expliquerai comment installer les systèmes d’exploitation fournis par Dexter Industries, comment se connecter au robot et le programmer. Je vous donnerai quelques exemples simples de programmes pour tester le robot.

Merci à Cleo QC de Dexter Industrie pour son aide et ses conseils 😉
Comme d’habitude, n’hésitez pas à laisser vos remarques dans les commentaires ci-dessous

Sources

Montage de GoPiGo3 en anglais : https://studio.dexterindustries.com/cwists/preview/1222x

Montage de GoPiGo3 en anglais (2) : https://studio.dexterindustries.com/cwists/preview/1227x

Montage servomoteur et capteur de distance : https://www.dexterindustries.com/GoPiGo/get-started-with-the-gopigo3-raspberry-pi-robot/6-attach-the-servo-kit-gopigo3-raspberry-pi-robot/

Les moteurs : http://averagemaker.com/2015/12/yellow-motors.html

Carte GoPiGo3 hardware : https://www.dexterindustries.com/GoPiGo/learning/hardware-port-description/

GoPiGo3 review

À propos François MOCQ

Électronicien d'origine, devenu informaticien, et passionné de nouvelles technologies, formateur en maintenance informatique puis en Réseau et Télécommunications. Dès son arrivée sur le marché, le potentiel offert par Raspberry Pi m’a enthousiasmé j'ai rapidement créé un blog dédié à ce nano-ordinateur (www.framboise314.fr) pour partager cette passion. Auteur de plusieurs livres sur le Raspberry Pi publiés aux Editions ENI.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Complétez ce captcha SVP *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.