Entrez dans l’univers de la robotique avec Grab-it – Partie 2

Entrez dans l’univers de la robotique avec Grab-it – Partie 2

Grâce au bras robotisé « Grab-it » de JOY-IT, les bricoleurs amateurs, les élèves et les étudiants peuvent acquérir une première expérience de la programmation en Python et réaliser des projets simples avec le Raspberry Pi ou un Arduino.

La première partie de cet article traitait de la construction du bras robotisé, du calibrage des servomoteurs, ainsi que des premiers mouvements du bras et de leur programmation. Dans cette deuxième partie, les développeurs trouveront de brefs exemples et des idées d’extensions leur permettant d’exploiter davantage le Grab-it.

Projets créatifs et applications

Matériel nécessaire :

Autres accessoires recommandés :

Projet créatif : empilement de composants

Dans ce premier projet créatif, le bras robotisé est programmé pour saisir des blocs de construction imprimés en 3D et les empiler dans une boîte prévue à cet effet (image 1).

Un premier projet intéressant consiste à empiler des composants à l'aide du Grab-it (image 1).
Un premier projet intéressant consiste à empiler des composants à l’aide du Grab-it (image 1).

Pour ce faire, il faut d’abord suivre les étapes indiquées dans la partie 1 :

  • Installer le Raspberry Pi avec Moto Pi (ou, à défaut, avec Arduino Uno et Motorino) et le connecter au bras robotisé.
  • Installer le système d’exploitation Raspberry Pi.
  • Installer les bibliothèques et calibrer les servomoteurs.

Le programme d’empilement des composants peut ensuite être exécuté sur le Raspberry Pi.

Le programme d'empilement des composants (image 2).
Le programme d’empilement des composants (image 2).

Voici un extrait du code qui permet à Grab-it d’exécuter des mouvements via le Raspberry Pi en liaison avec le Moto Pi :

Grab-it passe à l’IoT

Commande via une interface web et une application

L’étape suivante consiste à préparer le Grab-it pour l’IoT. À l’instar d’une maison intelligente, le bras robotisé doit pouvoir être commandé via une interface web. Pour ce faire, le célèbre serveur Web Flask est utilisé comme interface entre l’interface HTML et la commande du moteur. L’interface web permet ensuite de commander facilement le bras robotisé.

Outre la commande via PC, il est également possible de commander le bras robotisé via une application et un smartphone. Associé au Raspberry Pi, le Grab-it peut ainsi être facilement commandé via un smartphone. L’idée est la suivante :

  • Le Raspberry Pi commande le Grab-it via le servomoteur PCA9685. Ce composant permet de commander jusqu’à 16 servomoteurs simultanément avec précision à partir du Raspberry Pi, et ce, à l’aide de seulement deux câbles, car il génère lui-même les signaux PWM nécessaires, soulageant ainsi le Pi.
  • Un serveur Web Flask fonctionne sur le Raspberry Pi. Il s’agit d’un framework web léger pour Python qui permet de créer rapidement des applications web ou des interfaces simples permettant de contrôler des appareils tels que le Grab-it via un navigateur.
  • Le bras peut ainsi être facilement commandé via une interface dans le navigateur (ordinateur ou application smartphone).

Pour cela, le système doit d’abord être préparé pour l’installation. Ensuite, la commande servo est mise en œuvre en Python, puis le serveur Web Flask et l’interface HTML sont créés.

1. Préparer le système :

  • Activer I2C :
  • Installer les paquets de pilotes pour SMBus :
  • Vérifier si le PCA9685 est détecté :

2. Préparer la commande servo :

3. Créer le serveur web Flask :

Le serveur web Flask est créé (figure 03).
Le serveur web Flask est créé (figure 03).

4. Créer une interface web HTML :

Ce code permet de créer l'interface web (figure 4).
Ce code permet de créer l’interface web (figure 4).

5. Un JavaScript est également enregistré :

  • Le JavaScript active les fonctions des boutons (figure 5).
Les fonctions des boutons sont activées via JavaScript (figure 5).
Les fonctions des boutons sont activées via JavaScript (figure 5).
Exemple d'affichage de l'interface web pour la commande du Grab-it (image 6).
Exemple d’affichage de l’interface web pour la commande du Grab-it (image 6).

Vous pouvez également choisir de démarrer l’application Flask manuellement ou automatiquement. Cette option n’est pas spécifiée dans le code, mais dans le système Raspberry Pi.

2. Démarrage automatique :

Commande via un contrôleur

Outre la commande depuis un smartphone ou un PC, il est également possible de commander le bras robotisé à l’aide d’un joystick ou d’un contrôleur. Un contrôleur Xbox a été connecté au Raspberry Pi via une interface USB. Le serveur Flask déjà installé permet de commander facilement le bras avec le contrôleur.

  1. Pour installer le contrôleur Xbox, utilisez la commande suivante : sudo apt install python3-evdev.
  2. Installez ensuite le script Python: XboxController.py (image 7).

Le Grab-it peut ainsi être déplacé facilement et rapidement dans n’importe quelle position.

Le bras peut également être commandé à l'aide d'un contrôleur Xbox via l'interface USB (image 7).
Le bras peut également être commandé à l’aide d’un contrôleur Xbox via l’interface USB (image 7).

Un extrait de code montre comment procéder pour activer la manette Xbox :

Extensions et modifications

Si vous souhaitez aller plus loin et tirer davantage parti de votre Grab-it, vous pouvez considérablement améliorer le bras robotisé grâce à des optimisations mécaniques et logicielles ciblées.

Améliorations mécaniques pour le Grab-it de JOY-IT

Le bras robotisé peut être adapté et optimisé de manière ciblée grâce à des améliorations mécaniques simples. Les accessoires de préhension, les bras allongés et les supports de caméra, qui peuvent être fabriqués à l’aide d’une imprimante 3D, sont particulièrement efficaces.

Différents préhenseurs, telles que des pointes caoutchoutées pour les objets ronds ou des mâchoires larges pour les pièces plates, permettent d’améliorer la polyvalence et la précision de la préhension. Les segments de bras allongés élargissent le rayon d’action, mais doivent être soutenus par des servomoteurs plus stables ou par des matériaux légers, comme le carbone, afin d’éviter les vibrations.

Un support de caméra situé au-dessus de la pince permet d’utiliser la vision par intelligence artificielle ou la reconnaissance des couleurs via OpenCV. Pour plus de stabilité, il est recommandé de remplacer les connexions en plastique instables par des articulations métalliques ou des roulements à billes. Si vous souhaitez connecter une caméra au Grab-it, vous pouvez utiliser ce code pour vérifier si la caméra est correctement intégrée, puis l’utiliser pour la reconnaissance des couleurs ou des objets :

Le support du servomoteur peut également être renforcé ou amorti afin de réduire les vibrations. Grâce à ces modifications, le Grab-it devient plus précis, plus stable et plus polyvalent, ce qui le rend parfait pour les projets de fabrication ambitieux.

Mises à jour logicielles pour le Grab-it : plus d’intelligence grâce à OpenCV

Grâce à ces mises à jour, le bras robotisé Grab-it de JOY-IT devient nettement plus intelligent et autonome. L’intégration d’OpenCV est particulièrement efficace pour mettre en œuvre la reconnaissance des couleurs, des formes ou des objets à l’aide d’une caméra USB ou Raspberry Pi.

Grâce à des fonctions simples d’OpenCV, le robot peut analyser des données vidéo en direct, filtrer des plages de couleurs et déterminer la position d’objets. Associé à un servomoteur, il peut par exemple se déplacer automatiquement vers les objets détectés et les saisir. Des filtres simples suffisent pour la reconnaissance des couleurs, tandis que la reconnaissance des contours ou les modèles basés sur l’intelligence artificielle (IA), par exemple avec TensorFlow Lite, permettent d’obtenir des résultats plus précis.

Exemple (détection d’objets avec OpenCV) :

Une autre mise à niveau consiste à insérer, par exemple, des profils de mouvement qui réagissent de manière flexible en fonction des données de la caméra. De plus, une API ou une interface Web Flask peut être utilisée pour prendre en charge les commandes provenant d’applications Web ou d’applications pour smartphones. Grâce à ces extensions logicielles, le Grab-it devient un système capable d’apprendre, qui exécute non seulement des tâches, mais les « perçoit » également et y réagit.

Communauté et ressources

Même s’il existe peu de projets dédiés sur GitHub, la communauté des makers autour du bras robotisé Grab-it de JOY-IT propose des ressources précieuses que vous pouvez utiliser. Vous trouverez sur GitHub une petite sélection de référentiels, par exemple des exemples d’esquisses pour l’intégration d’OpenCV ou d’interfaces Web Flask.

Il est également intéressant de consulter des plateformes telles que Thingiverse ou MyMiniFactory pour trouver des fichiers STL de pinces ou de supports de caméra personnalisés. Les forums de makers et les blogs de bricolage, comme les fils de discussion Reddit ou les Insta-Stories, proposent également d’autres expériences et conseils, par exemple pour améliorer la mécanique, régler avec précision les servomoteurs ou intégrer une caméra.

Il n’existe actuellement pas de grande communauté centrale dédiée au Grab-it, mais une recherche ciblée par mots-clés tels que « JOY-IT Grab-it » permet de trouver des projets et tutoriels individuels. Utilisez ces ressources comme point de départ, adaptez-les à votre configuration et documentez votre propre développement pour rejoindre cette communauté en pleine expansion.

Grab-it en action et perspectives

La deuxième partie de l’article est consacrée au Grab-it de JOY-IT et montre comment mettre en œuvre les premiers projets avec ce bras robotisé. De plus, le Grab-it est désormais « compatible IoT » et peut être commandé via un contrôleur, un smartphone ou un PC.

La communauté ne cesse de s’agrandir et GitHub ainsi que d’autres forums de développeurs proposent de nombreux projets, mises à jour et autres ressources permettant d’étendre continuellement les capacités du Grab-it, de le rendre compatible avec l’intelligence artificielle et de le perfectionner.

Images : Adobe Stock, reichelt elektronik


Première partie de l’article :
Configuration et bases : Entrez dans l’univers de la robotique avec Grab-it – Partie 1

Laisser un commentaire

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