19 Nov Contrôle d’un robot Maqueen plus HusKyLens
Aujourd’hui, nous allons programmer un robot Maqueen Plus
avec un Module AI HusKyLens Gravity SEN0305 et une carte micro : bit.
Matériel nécessaire :
– un châssis Maqueen plus
– une carte micro:bit
– un câble micro-USB / USB
– un accu Li-Ion 3,7 Vcc
– un module AI HuskyLens Gravity SEN0305
Nous avons assemblé le Maqueen et le HusKylens dans ce pack.
PARTIE 1 : PRESÉNTATION
Le Maqueen Plus de DFRobot est un robot pilotable grâce à une carte micro:bit (non incluse). Ce châssis est doté de plusieurs modules complémentaires:
- 2 x encodeurs pour motoréducteurs
- 6 x modules suiveurs de lignes
- 1 x capteur US URM10
- 1 x récepteur IR pour le contrôle via une télécommande IR (non incluse, voir IRC01)
Ce châssis comporte également 2 LEDs RGB (6 couleurs), un buzzer et plusieurs E/S déportées de la carte micro:bit (3 Vcc, I2C, 3 sorties servos)
Certains de ces E/S sont partagées avec plusieurs modules de la carte.
Ce robot est également pilotable via une seconde carte micro:bit (non incluse) via une liaison Bluetooth. Cette seconde carte micro:bit peut notamment être utilisée avec la manette micro:Gamepad de DFRobot.
Le Module AI HuskyLens Gravity SEN0305 est un module doté d’un écran et d’une caméra qui nous permettrons d’effectuer plusieurs applications, qui sont déjà intégrées au module tel que :
- le suivi d’objets
- la reconnaissance faciale
- la reconnaissance d’objets
- le suivi de lignes
- la reconnaissance de couleurs
- la lecture de QR Codes
Nous utiliseront le brochage en I2C du module pour nos applications.
Le châssis du Maqueen plus est entièrement compatible avec la caméra HuskyLens AI permettant l’ajout de la reconnaissance visuelle intelligente à vos projets.
C’est pour cela que nous avons combinés les deux, on ce retrouve donc avec un robot qui a une camera à la place du capteur à ultrasons. Avec cela on peut utiliser toutes les fonctions du Maqueen et y rajouter certains aspects du module HusKylens.
On vous propose 4 projet pour contrôler le robot :
– Suiveur d’objet.
– Suiveur de ligne + ordre donné par QR code.
– Route à suivre en fonction des QR code visualisés.
– Trieur d’objet via QR code.
PARTIE 2 : PRÉPARATION
Le robot est à monter sois même. Tout d’abord, installez l’accu (attention au sens), puis vissez les 3 entretoises derrière l’accu pour y installer le support métallique, ensuite insérez les roues, puis insérez la carte micro:bit dans son connecteur à l’avant du châssis, pour finir vissez le module HusKyLens sur le support métallique à la place du capteur à ultrasons.
Pour contrôler le robot, nous allons devoir programmer la carte micro:bit. Si vous êtes débutant avec micro:bit, référez-vous à cet article.
Par simplicité, nous utiliserons la programmation en blocs. Rendez-vous sur le site Makecode. Lorsque vous serez sur l’éditeur, cliquez sur Nouveau projet. En haut de la page se trouvent deux boutons : Blocs et JavaScript. Assurez-vous d’être dans Blocs. À gauche, cliquez sur Avancé puis sur Extensions. Dans la barre Rechercher ou entrer l’URL du projet, copiez-collez les liens suivant :
– https://github.com/dfrobot/pxt-dfrobot-maqueenplus
– https://github.com/dfrobot/pxt-dfrobot_huskylens
Passons à la programmation.
PARTIE 3 : RÉALISATION
PROJET 1 : Suivie d’objet
Nous allons réaliser un programme permettant au robot de suivre un objet. Tout d’abord programmons le robot, pour cela reprenez le programme de ce lien : https://makecode.microbit.org/_7hzcw5RpY0PP
- téléchargez votre programme (fichier .hex)
- branchez la carte micro:bit à votre ordinateur
- copier-coller votre programme dedans
Maintenant passons à l’enregistrement de l’objet dans le HusKylens, pour cela vérifiez que le module sois en mode « object tracking » si ce n’est pas le cas , tournez la molette afin de mettre le module dans le mode donné ci-dessus sinon vous pouvez suivre les indications données ci-dessous :
-mettez l’objet dans le carré et effectuez un appui court sur le Bouton d’apprentissage
-une fenêtre va apparaitre, ne touchez à rien le temps qu’elle disparaisse
(normalement l’objet reconnus est désormais entouré d’un carré jaune avec l’information learning écrit au dessus) [tips: si l’objet n’est pas reconnu, utilisé un flash de téléphone]
Maintenant, votre robot est capable de suivre un objet.
/!\ remarque /!\ : le mode traqueur d’objet marche bien seulement avec une lumière forte.
PROJET 2 : Suiveur de ligne + ordre donné par QR code
Avant d’entamer le projet il va falloir enregistrer les QR code dans le module pour cela suivez ces instructions :
– si le module n’est pas en mode tag recognition tournez la molette jusqu’à atteindre le mode sinon passez directement à la ligne du dessous.
– effectuez un appui long sur la molette afin d’arriver dans les options du mode tag recognition
– allez sur learn multiple et mettez le en ON en tournant la molette puis sauvegarder et quitter le menu
– mettez le QR code au centre de la croix puis appuyez sur le bouton d’apprentissage
– une fenêtre va apparaitre, appuyez de nouveau sur le bouton d’apprentissage
– effectuez la manipulation des deux ligne ci-dessus afin d’enregistrer tout vos codes
– pour finaliser l’enregistrement attendez simplement que la fenêtre disparaisse
Maintenant passons au projet :
Nous allons réaliser un programme permettant au robot de suivre une ligne, pour cela on va assembler deux fonctions, le suiveurs de ligne du Maqueen et la lecture de QR code du Huskylens, dans ce programme on ce sert des suiveurs L1 et R1 et du mode tag recognition, voici le programme : https://makecode.microbit.org/_FMbWDvUqyCkh
Désormais, votre robot suit automatiquement la ligne et il réagit aux ordres données.
[pour modifier la vitesse du robot manuellement il faut mettre le nez du robot vers le haut]
On peux également utiliser cette fonction pour faire suivre les contours d’un pattern par le robot :
Reprenez le programme via ce lien : https://makecode.microbit.org/_6sDUmLctfeUx
Il est capable de suivre les contours d’un pattern maintenant.
PROJET 3 : Route a suivre en fonction des QR code visualisés
On va réaliser un programme afin de faire faire des actions au robot avec les codes. La première version du programme permet de régler la vitesse manuellement, la seconde permettra de changer la vitesse à l’aide d’autres codes en plus du réglage manuel. [pour modifier la vitesse du robot manuellement il faut mettre le nez du robot vers le haut].
Programme numéro 1 : https://makecode.microbit.org/_agoUCbCLK3j0
Maintenant qu’il sait quoi faire quand il voit un QR code créer lui un circuit.
Programme numéro 2 : https://makecode.microbit.org/_2zvA2fUyafh7 /!\ pour que la vitesse soit modifié lorsque le robot est en marche il faut qu’il vois à la fois le code du changement de vitesse et celui de l’indication de direction à prendre.
On pourrait également faire en sorte que la vitesse sois réglée à un certains niveau suivant le code lu, pour cela :
– choisir un ID afin de lui donner l’ordre
– définir la vitesse voulu
Avant de nous attaquer au prochain projet, il va falloir installer un godet sur notre robot.
Pour cela suivez ce qui est dit dans ce tutoriel.
PROJET 4 : Trieur d’objet via QR code
Nous allons réaliser un robot capable de trier des objets indiqués par des QR code, pour la partie programmation reprenez ce programme (c’est une V1 qui utilise un seul objet) (suivant comment vous avez installer le godet il ce peux que l’angle auquel vous voulez que le robot incline le godet ne sois pas bon) : https://makecode.microbit.org/_3Uib0D77WVUp
Maintenant votre robot est capable de trouver un objet et de le poser à l’endroit que vous avez définit.
Voici la version V2 qui permet de s’occuper de 2 objet : https://makecode.microbit.org/_2a8WutXwoYEW
Désormais le robot peut récupérer 2 objets différents pour les poser ou vous lui avez dit.
Explication de certaines fonctions des programmes :
– HuskyLens switch algorithm to *** permet de mettre le module HusKyLens dans le mode de fonctionnement voulu.
– Motor… permet de contrôler les roues du robot.
– set *** color *** permet de régler la couleur des LED RGB.
– HusKyLens request data once and save into the result permet de vérifier les données enregistrées dans le module HusKyLens.
– HusKyLens check if ID * frame is on screen from the result permet de vérifier si l’objet est dans l’écran.
– read line-tracking sensor ** permet de lire les données envoyer par les capteurs de ligne.
Vous pouvez retrouver ici l’explication des programmes utilisés dans cet article.
Pas de commentaire