Tri de pièces avec le robot dobot magicien et une caméra embarquée

Salut les polypotes !

Nous sommes Matis LEMOINE, Simon BODIN, Schawal BACAR et Corentin PICCIN, étudiants en deuxième année de cycle préparatoire intégré à Polytech Angers. Pour notre quatrième semestre, nous sommes amenés à mettre en œuvre un projet, de A à Z encadré par un professeur de robotique industrielle : Jean-Louis Boimond.

Polytech Angers a acquis récemment en plusieurs exemplaires du robot DOBOT Magician, conçus par des fabricants de robots industriels, permettant l’apprentissage de la robotique industrielle. Le projet a pour objectif de fixer une caméra sur le bras du robot pour permettre la localisation des pièces en vue de les trier selon leurs couleurs.

Nous avons choisi ce projet car il nécessite des compétences en programmation, Solidworks, domaines qui nous attirent et dans lesquels nous sommes complémentaires.

Introduction

Aujourd’hui l’accroissement de la complexité des tâches à accomplir par les robots industriels est tel que les applications de la robotique en entreprise et dans les autres secteurs réclament que l’organe terminal des robots (ventouse, pince, laser, …) ait un niveau élevé de précision. Dans notre cas nous nous sommes occupés de la localisation, la manipulation puis le tri des pièces par le robot. Deux options sont classiquement adoptées, soit la caméra est disposée à un endroit fixe par rapport au robot soit elle est fixée directement sur le bras du robot. Pour notre part nous avons choisi de fabriquer un support pour fixer la caméra au robot.

Pour mener à bien notre projet, nous avons dû passer par plusieurs étapes de travail, allant de la réflexion et l’apprentissage jusqu’à la mise au point d’un programme fonctionnel :
– prise en main du robot Dobot et son logiciel;
– création par impression 3D d’une interface permettant de fixer la caméra sur le bras du robot;
– le traitement des images issues de la caméra;
– programmer le robot pour permettre le déplacement et le tri des pièces;

Robot Dobot Magician

1) Prise en main du robot Dobot et de son logiciel

Le robot Dobot Magician est le robot éducatif parfait car il possède de nombreuses fonctionnalités accessibles via son logiciel « DobotStudio » très intuitif. Le robot est muni d’un bras robotisé modulaire de grande précision programmable via une liaison USB. Dans un premier temps nous nous sommes familiarisés avec le robot.

 Caractéristiques du bras de robot Dobot

Pour comprendre le concept du robot, notre professeur nous a fait travailler sur des travaux pratiques d’élèves de troisième année en Systèmes automatisés et génie informatique. Ceci nous a permis de découvrir le fonctionnement de la caméra. À côté du robot, nous avons dessiné sur une feuille 2 cercles noirs. Nous avons fait en sorte que le repère du robot et de la feuille soient colinéaires. Ainsi il suffira simplement d’ajouter la distance entre les deux repères pour avoir les coordonnées dans le repère du robot. Puis grâce à une programmation PYTHON la pointe du stylo située à l’extrémité du bras du robot se place aux coordonnées du centre des cercles qui ont été obtenues par la caméra fixée sur un trépied.

Détection des cercles grâce à la caméra et contre des cercles pointés par le rayon

2) Création par impression 3D d’une interface permettant de fixer la caméra sur le bras du robot

Nous avons ensuite remplacé le crayon par une pince car le but était de saisir des cubes. Il a fallu pour cela concevoir par impression 3D un support permettant de fixer la caméra au bras du robot.

Nous avons fabriqué un 1er prototype sur Solidworks mais la caméra n’était pas dans l’axe de la pince ce qui rendait l’action du robot très imprécise.

Nous avons alors créé une deuxième pièce afin d’avoir l’axe de la caméra dans l’axe du robot et plus haute pour obtenir un espace d’action plus large. Malheureusement, le rayon d’action du bras était inférieur à l’espace perçu par la caméra. Cela n’avait pas d’intérêt.

Deuxième prototype

Il a donc fallu fabriquer une 3ème pièce qui cette fois a fonctionné.

Troisième prototype

3) Le traitement des images issues de la caméra

Pour la détection des cubes et de leur couleur, nous nous sommes concentrés d’abord sur la couleur bleue. Pour obtenir les coordonnées des cubes à partir de l’image prise par la caméra, il va falloir effectuer plusieurs étapes de traitement de l’image. Nous allons effectuer toutes ces étapes dans notre programme en python. Cela nous a permis de récupérer les coordonnées du cube pour que la pince puisse ensuite le saisir. Nous avons fait la même chose pour les cubes vertes et rouges.

Nous nous sommes rendus compte que la détection nécessite une bonne luminosité. Nous avons compris que l’éclairage doit être uniforme dans toute la zone pour éviter les zones d’ombre et ainsi bien repérer tous les cubes. Nous nous sommes donc procurés une lampe.

4) Programmer le robot pour permettre le déplacement et le tri des pièces

Ensuite, notre objectif était que le robot range les cubes dans les zones de leur couleur correspondante. Pour cela, il ne devait pas confondre les coordonnées des cubes et celles de leur zone de rangement. Il a donc été nécessaire de réaliser des zones de rangement plus grandes que les cubes pour que la pince puisse bien repérer les cubes et les positionner au bon endroit. Une fois les coordonnés des cubes et des zones de rangements récupérés, nous avons programmé le robot afin par exemple qu’il saisisse une pièce bleu et qu’il la dépose dans la zone de rangement bleue.

Bilan

Grâce à l’importance de la communication et du travail d’équipe au sein de notre groupe, nous avons réussi à atteindre notre objectif. Notre robot effectue les tâches qui nous avaient été confiées en début de projet. Ce projet nous a d’autre part permis de développer nos compétences en CAO, en programmation et surtout nous a offert des connaissances en robotique. Nous tenons à remercier encore une fois toutes les personnes ayant contribué et encadré ce projet.

Merci pour votre lecture !
Corentin, Matis, Simon et Schawal