IMA3/IMA4 2021/2023 P4

De Wiki de Projets IMA

Résumé

Le Dobot Magician est un robot à 4 axes de petit calibre développé par Dobot® qui est capable d'effectuer, avec beaucoup de précision, des tâches telles que la gravure laser, la calligraphie, le transport de petits objets à travers de la succion et l'impression 3D.

Dans cette première étape du projet, l'accent a été mis sur le développement d'un code Python qui décrit une trajectoire souhaitée de mouvement du bras du robot le long des 4 axes.

Présentation générale

Étape actuelle du projet

Étape initiale - Semestre 7 (2022)

Groupe

Lisandra da Cunha Queiroz (Étudiante du Semestre 7 en Systèmes Embarqués)

Contexte

L'impression 3D est de plus en plus utilisée dans l'industrie car elle permet la réduction des déchets dans la production, la personnalisation et la qualification des pièces et comme pour toute technologie, il est indispensable que son fonctionnement soit de plus en plus analysé, en vue d'une plus grande innovation.

Il existe déjà divers robots qui font de l'impression 3D, mais ce qui donne au Dobot Magician un caractère unique, c'est que l'utilisateur peut y accéder à la fois de manière intuitive, à travers d'une interface graphique (DobotStudio), ou également à travers d'un langage de programmation comme Python, Java, C# et VB.

De cette manière, ce robot, en plus d'avoir une grande précision et un petit calibre, peut convenir aussi bien aux débutants en apprentissage de la robotique qu'en applications plus complexes.

Ainsi, pour ces raisons, dans ce projet le Dobot Magician sera utilisé comme outil pour étudier le fonctionnement d'une impression 3D.

Objectif

Ce projet est divisé en deux étapes.

Dans l'étape actuelle, l'objectif est de comprendre, en langage Python, les fonctions de mouvement de base du Dobot, lesquelles sont essentielles pour le processus d'impression 3D, qui est le but principal de ce projet et qui sera analysé dans le prochain semestre.

Description

EsquemaSTL.png

Réalisations et résultats

Bilan

Gestion de projet

Séance du 10 Octobre

D'abord, il a fallu comprendre le robot et définir sur quelle tâche travailler (la gravure laser, la calligraphie, le transport de petits objets à travers de la succion ou l'impression 3D). Pour cela il a été fait: la lecture de la documentation du robot, une recherche sur leurs applications et le montage physique des pièces pour chacune des tâches.

Séance du 21 Octobre

Les fonctions du Dobot ont été testées à travers de la GUI DobotStudio.

Séances du 28 Octobre, 18 Novembre et 21 Novembre

Comme il n'était pas encore décidé quelle application du robot utiliser, l'accent était désormais mis sur le déplacement du bus du robot, car il est la base de toutes les tâches. Pour cela, l'objectif était d'utiliser un langage de programmation au lieu de l'interface graphique. Python a été le langage choisi.

Dans ces séances il y a eu quelques problèmes à cause de l'application utilisée pour développer le code en Python (Spyder). Il a fallu télécharger une version plus ancienne de Python (3.8.0), parce qu'elle était requise par la librairie DobotDllType, qui est nécessaire pour connecter et déplacer le bus du Dobot. En plus, il a fallu aussi actualiser quelques archives .dll de Windows.

Séances du 25 Novembre, 28 Novembre et 8 Décembre

Dans ces séances, les librairies et les fonctions de déplacement du Dobot ont été analysées.

La function "dType.ConnectDobot(api, "", 115200)" a été utilisée pour connecter le Dobot. Cependant, elle ne fonctionnait pas et une bonne partie du temps de ces séances ont été dédiés à résoudre ce problème. La solution trouvée a été attribuer au résultat de cette fonction une variable d'état. Ensuite, cette variable a été vérifiée: si l'état du Dobot est DobotConnect_NoError, alors on suit avec les fonctions de déplacement.

En lisant la documentation du Dobot, j’ai vu que la connexion, soit avec l’interface graphique, soit à travers d’un code, seulement peut être établie si le Dobot est dans la position d’équilibre (un LED vert signale cette position). Alors, il fait sense vérifier l’état du Dobot avant de le connecter.

Après avoir réussi à bien connecter le Dobot, différentes façons de déplacer son bus ont été testées. Celle qui a bien marché suit la logique suivante:

D'abord, il a été utilisé les fonctions pour définir la vitesse et l'accélération des mouvements du bus et des articulations du Robot. En séquence, l'application DobotStudio a été utilisée pour le mettre dans la position d'équilibre et ces coordonnées ont été mises comme paramètres de la fonction qui définit la position initiale du Dobot. Après un delay de 3000ms vient la fonction qui contient les valeurs désirées des les coordonnées du point final.

En résumé, avec ce code le bus et les articulations du Dobot se déplacent d'un point initial, attendent 3000ms et vont vers le point final avec les vitesses et accélérations choisies.

Malgré avoir résolu les problèmes de connexion et de déplacement, il reste encore à comprendre pourquoi il est nécessaire d' avoir ce delay de 3000ms pour que le bus du Dobot se déplace d’un point vers l’autre.

Dans la dernière séance, les buts du projet ont été structurés: pour ce semestre, étudier le déplacement du bus du Dobot et pour le semestre prochain, développer un code en Python pour l'impression 3D avec le Dobot.