Skip to main content

Projet ROB de Arnold, Evinia, Mathis

Informations

  • Membres de l'équipe
    • Arnold AÏM

    • Evinia ANASTASOPOULOU

    • Mathis RENARD
  • 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 : 

  1. Une ligne de 5 cm de long,
  2. Une ligne pointillée de 5cm de long,
  3. Un cercle de 2,5 cm de rayon,
  4. 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.

brainstorming 1.jpg

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.

brainstorming 2.jpg

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. 

1.jpg

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.

1.jpg    1.jpg

1.jpg       1.jpg

1.jpg

Figures 4 à 8 : Calcul du modèle géométrique

Les formules de calcul finalement retenues sont donc les suivantes :

image.png

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

projet.gifFigure 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).

Screenshot 2024-05-22 221026.png

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. 

Screenshot 2024-05-22 111607.png

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.

Screenshot 2024-05-22 223942.png

Figure 13 : Support petit servomoteur et support bras

Ngvscreenshot-2024-05-22-224013.png
Screenshot 2024-05-23 003150.png
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. 

Screenshot 2024-05-23 002741.png Screenshot 2024-05-23 002809.png
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.

20240522_100001.jpg

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. 

circuit_elec_propre.png

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. 

20240522_100004.jpg

Figure 20 : Système électronique

Programmation 

Organigramme

organigramme 2.png

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. 

20240523_102807.jpg

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.