Projet ROB de Arnold, Evinia, Mathis
Informations
- Membres de l'équipe
-
Arnold AÏM
-
Evinia ANASTASOPOULOU
- Mathis RENARD
-
- Adresses mail :
- Cursus
-
- 1ere année cycle ingénieur en Robotique à Polytech Sorbonne
-
- Date de début - Date de fin
- 14/02/2024 - 23/05/2024
Présentation du Projet
L'objectif de ce projet est de réaliser un petit mécanisme robotisé permettant de dessiner des formes géométriques simples définies à l'avance ou à l'aide d'un joystick manipulé par l'utilisateur en temps réel en utilisant des mécanismes prédéfinis.
Pour la réalisation de ce projet nous respectons le cahier des charges défini par nos enseignants Guillaume MOREL et Lilian Carillet.
Cahier des charges et fonctions à réaliser
Le mais général est de faire un robot capable de dessiner avec un crayon. Le robot est fixé sur un support carré horizontal comportant une petite zone de dessin. Un objectif important est d'utiliser un minimum en quantité de matière pour la réalisation du projet. La programmation est fait en C et en utilisant la chaîne de développement Arduino IDE. Il y a 2 exercices que le mécanisme doit effectuer et un exercice/fonction optionnel.
Exercices à réaliser
Exercice 1
Avoir un code prédéfini pour que le mécanisme puisse tracer, en appuyant sur un seul button, les dessins suivants :
- Une ligne de 5 cm de long,
- Une ligne pointillée de 5cm de long,
- Un cercle de 2,5 cm de rayon,
- Un cercle pointillé de 2,5 cm de rayon.
Le tracé de chacune des figures doit être réalisé en 10 secondes +/- 0,2 secondes.
Exercice 2
Dessiner une figure imposée dans un carré de 5cm par 5cm, tout en pilotant le mécanisme par un joystick. Dans cet exercice il faut prendre en compte que la figure peut être discontinue, auquel cas l'effecteur du robot devrait être capable de se relever du support horizontal auquel il écrit.
Exercice 3 (optionnel)
Ajouter une fonction supplémentaire qui sera capable de modifier la vitesse de déplacement du robot via l'interface.
Matériel à notre disposition
- Un crayon
- Interface de commande :
- Une carte arduino UNO avec câble USB-B;
- Un joystick:
- Une platine de protoypage;
- Alimentation régulée 5V ;
- Câbles, LEDs, boutons poussoirs, résistances.
- Motorisation :
- Deux servomoteurs HS422 180°;
- Un servomoteur Emax ES08A 180°.
- Mécanique :
- Matière PLA pour impression 3D;
- Feuilles medium : 3mm et 6mm d'épaisseur;
- Vis et écrous : M2, M2.5, M3, M4.
- Roulements et axes de diamètre 4mm.
Réflexion
Idée Robot sur roues
Idée complexe à mettre en place, pas de roues à disposition donc fastidieux à construire plus compliquée de faire un circuit électrique propre à l'intérieur.
Figure 1 : Idée de robot sur roues
Idée Robot Type Imprimante 3D
Transformation de pivot en translation trop compliqué à faire car création de chaines en 3D trop dur à modéliser/ imprimer en 3D. Aussi, cela entraine une utilisation non pertinente des servomoteurs.
Figure 2 : Idée Robot Type Imprimante 3D
Idée Robot Type FANUC
Nous avons ici une bonne utilisation des servo-moteurs, facile à modéliser/imprimer/découper par les outils en service.
Figure 3 : Idée Robot Type FANUC
Décision finale
Toutes les idées semblaient être plus ou moins possible à concevoir. Nous avons décidé, après argumentations, discussions auprès du professeur, de retenir cette dernière solution car elle va produire des résultats plus précises.
Lien de notre diagramme de Gantt:
https://docs.google.com/spreadsheets/d/1OmamPJELbAN48oTG1ooIXSrjbCt2yrp1qGpkE4TFLDg/edit?usp=sharing
Calcul du modèle géométrique inverse
Premier idées de calcul de modèle géométrique, inverse, jacobienne… Finalement s'avérant inutile car le calcul d'angle était déjà donné dans le cours.
Figures 4 à 8 : Calcul du modèle géométrique
Les formules de calcul finalement retenues sont donc les suivantes :
Figure 9 : Formules représentantes des angles
Dans notre cas, il n'y a pas de bras violet, ni de bras rouge et vert en dessous. x' et y' deviennent juste x et y. Et theta3, alpha n'apparaissent plus dans le résultat final. Les angles du robot seront calculés dans une partie Matlab.
Modélisation
Figure 10 : Mécanisme robotisé
Notre robot se compose d'un châssis principal qui stabilise notre premier moteur HS422 180°, ainsi que d'un second bâti support plus petit qui supporte le servomoteur EMAX ES08A 180°. Deux palonniers sont utilisés comme bras. Le premier palonnier (le plus long), intègre le second moteur HS422 180°, responsable du mouvement de l'effecteur.
Nous avons décidé de positionner le servomoteur EMAX ES08A 180° à la sortie du premier servomoteur HS422 180° afin de contrôler à la fois les mouvements des bras du robot et leur rotation. Cette configuration et surtout cette rotation, nous permettra d'effectuer des dessins en pointillés en autorisant un mouvement vertical du stylo lorsque nécessaire (Figure 11).
Figure 11 : Rotation des bras
Décomposition des éléments
Bâti support
C'est le corps du robot. Il a été conçu pour maintenir notre premier servomoteur HS422 180° en place et il est capable de supporter le reste du robot. Le servomoteur permet la rotation du bras.
Figure 12 : Bâti support
Support petit servomoteur et support bras
Ces deux petit supports qui sont liés entre eux via l'actionneur du servomoteur EMAX ES08A 180° nous permettent :
- d'avoir un support pour le servomoteur EMAX ES08A 180°
- de transmettre la rotation du premier moteur au reste du robot
- d'avoir un support pour le bras du robot qui le relie à l' EMAX ES08A 180° et donc au corps
- de tourner le bras du robot pour contrôler si l'effecteur (crayon) touche ou pas la surface du dessin
Le support du petit servomoteur comporte l'empreinte du palonnier à la face du dessous (Figure 14) pour bien le relier au premier servo. Nous avons décidé de placer un pont autour du servomoteur pour être sûr de son MAP avec le support. Nous avons aussi placé deux petits "freins" (Figure 15) pour que le servomoteur puisse bien maintenir son position. Le palonnier du petit servomoteur est relié avec une vis centrale et deux fils de fer (parce que certains trous du palonnier sont trop petits et ne permettent pas l'insertion d'une vis) au support du bras. Cela fait partie du MAP de cet ensemble.
Figure 13 : Support petit servomoteur et support bras
Figure 14 : Support servomoteur face du dessous | Figure 15 : "Freins" (en bleu) |
Bras
Le "main" du robot est composé de deux bras. Le premier (celui de gauche et donc celui qui est plus long, Figure 16) comporte le troisième servomoteur (HS422 180°) qui réalise la deuxième rotation de l'effecteur dont on a besoin. Le deuxième bras (Figure 17) comporte l'empreinte du palonnier pour qu'il puisse être rélié au servomoteur ainsi qu'un trou pour positionner le crayon.
Figure 16 : Bras long |
Figure 17 : Bras en extrémité |
Fabrication des pièces
Toutes nos pièces sont fabriquées et prototypées en utilisant la méthode de découpe LASER Troctec Speedy 100. En effet, la précision de la machine permet d'obtenir des pièces précises et simples pour notre robot.
Conception
Nous avons procédé à l'assemblage du robot en utilisant des vis et des écrous, de la colle à bois et des fils de fer. Cependant, le système initial avait un problème assez inqiétant, en raison d'une surcharge supportée par le petit servomoteur. Pour remédier à ce problème, nous avons réduit la taille du bras en extrémité. Par la suite, afin de faciliter sa manipulation lors du processus de dessin, nous avons fixé le robot sur un support en bois à l'aide de colle.
Figure 18 : Robot monté
Schéma éléctronique
Sur notre schéma éléctronique il y a 4 boutons, chacun d'entre eux s'occupant d'un dessin prédéfini et un joystick analogique qui s'occupe du mode manuel, qui est tout le temps activé. Nous branchons les moteurs qui reçoient le signal en PWM representé par les petites vagues à côté de chaque pin (9, 10 et 11) de l'ARDUINO.
Figure 19 : Montage électronique
Sur la Figure 21, nous pouvons visualiser le cablage qui a été fait en réalité et qui comporte tous les éléments éléctroniques dont nous avons besoin.
Figure 20 : Système électronique
Programmation
Organigramme
Figure 21 : Organigramme du programme
Pour le code du joystick on est parti d'une base existante qui est celle du code de Nacim et de Mehdy qui nous ont envoyé eux mêmes. Nous avons ensuite modifié ce code pour l'adapter à nos besoins, notamment la partie utilisant le bouton switch du joystick.
Tests du code et finalisation
Le premier test du modèle géométrique n'étant pas concluant, nous avons décidé de réaliser plus de tests en amont afin de déterminer les potentiels problèmes rencontrés. En effet, le modèle géométrique utilisé par rapport à la réalité ne convenait pas et après plusieurs tests et retravail sur le bras en extrémité, les angles données par le modèle géométrique étaient corrects.
Figure 22 : Dessins imposés par le cahier des charges (cercle plein et pointillé de diamètre 5cm, ligne pleine et pointillée 5cm)
Vous pouvez consultez le schéma éléctronique de la Figure 20 ainsi que le programme de l'Arduino sur le lien suivant : https://wokwi.com/projects/390879808315743233
Conclusion
Nous avons pu au travers de ce projet une bonne partie de la conception d'un robot 2R simple qui avait pour but de dessiner certaines formes prédéfinies et d'être piloté manuellement. Ce projet nous a permis d'apprendre et de perfectionner chacun.e de connaissances et compétences, pour certain.e.s cela était plus axé sur l'éléctronique et l'informatique quant à d'autres ont préféré perfectionner leur comrehénsion de modélisation et conception d'un mécanisme via SolidWorks (logiciel utilisé).
De plus, ce projet nous a initié à l'utilisation de certaines machines assez évoluées, mises à disposition grâce au FabLab SU, comme la Trotec Speedy100 et 360. Nous avons voulu, dans un souci de sobriété ne pas utiliser les imprimantes 3D qui utilisent plus d'énérgie et de matière dû à leur temps d'impression plus long (plusieurs heures).
Pour finir, ce projet nous a permis de travailler en équipe et d'utiliser les forces de chacun.e et de pallier nos lacunes à travers cette expérience enrichissante aussi bien du point de vue des compétences et de connaissances.
No Comments