Skip to main content

Projet ROB3 : Mathys CLAUDEL, Sarah EL ZEGHENDY, Romain DARDE

Projet ROB3 S6

ROBOT ÉCRIVAIN

Informations

  • Mathys CLAUDEL
  • mathysclaudel@gmail.com
  • Sarah EL ZEGHENDY
  • sarah.el_zeghendy@etu.sorbonne-universite.fr
  • Date de début : 08/02/2024 - Date de fin : 02/05/2024

Contexte

Nous disposons des différentes machines présentent au Fablab, avec une boîte de matériels bien précis et limité. Nous devrons répondre au cahier de charge imposé (Cahier des Charges) et faire toutes les étapes nécessaires pour obtenir un système robotisé.

Objectifs

L’objectif principal de ce projet est de concevoir et réaliser un système robotique, c’est-à-dire sa partie mécanique, sa motorisation, sa commande et son interface de pilotage. Le cahier des charges fourni précise les fonctions que doit réaliser le système et les contraintes qu’il doit respecter.

I. Cahier des charges:

Le robot doit être capable de réaliser deux exercices :

  • 1) Tracer, avec l’aide d’un crayon fixé sur l’organe terminal du robot, dans le plan de la plaque support différentes figures imposées de difficulté croissante :

    a. Une ligne de 5cm de long,

    b. Une ligne pointillée de 5cm de long,

    c. Un cercle de 2.5cm de rayon,

    d. Un cercle pointillé de 2.5cm de rayon.

    Le tracé de chacune des figures doit être réalisé en 10 secondes +/- 0.2 secondes.

  • 2) Tracer, avec l’aide d’un crayon fixé sur l’organe terminal du robot, dans le plan de la plaque support, un dessin imposé dans un carré de 5cm par 5cm. Le déplacement de l’organe terminal du robot devra être piloté par un joystick. Il est possible que la figure soit discontinue, et donc il faut prévoir de pouvoir relever le crayon du support horizontal sur lequel on écrit.

II. Matériels:

  • Un crayon
  • Interface de commande :
    • Une carte arduino UNO avec câble USB-B;
    • Un joystick:
    • Une platine de prototypage;
    • 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.

III. Machines utilisées:

  • Découpe laser 

GANTT

Capture d’écran 2024-02-28 à 08.57.26.png

I. Conception préliminaire

1.1- Solutions proposées

Voici nos trois solutions proposées: 

Première solution: Nous avons tout d'abord pensé à un système robotisé qui a le même mode de fonctionnement qu'une machine 3D.

Schéma : 

IMG_2647.jpg

Risques :

  • Beaucoup de matériels et matières nécessaires à la conception 
  • Complexité élevée
  • Taille du robot importante

Deuxième solution: C'est un robot mobile, qui se déplace en transportant notre stylos pour effectuer le dessin demandé. 

image.png

Risques :

  • Précision faible
  • Connaissance de la position du robot à chaque instant 
  • Les servos moteurs fournis ne sont pas adaptés

Troisième solution: Nous avons choisi de faire une base fixe avec un bras robotique horizontale auquel s'attache au bout notre effecteur : la pointe du stylo. 

img-0073.jpg

1.2- Solution Choisie 

Nous avons opté pour la troisième solution, qui nous paraît la plus accessible en terme de temps et de complexité.

En effet, la première solution demandais une conception d'un système comportant des pièces complexes et en grands nombres afin de réaliser les différentes translations voulues sans pour autant nous garantir une précision et une fiabilité élevée. De plus, cette solution aurait nécessité du matériel en plus de ce qui était fourni, nous avons donc décidé de l'éliminer.

D'autre part, le robot mobile qui nous paraissait comme une bonne idée, ne nous permettra pas de savoir la position exacte de notre stylo. Nous aurions dû utiliser des moteurs continus à la place des servomoteurs. Pourtant, même avec ça, la stabilité (le glissement) du robot lors du déplacement n'aurait pas été garantie.

De ce fait, nous avons choisi la troisième solution qui certes demandera de nombreux calculs (changements de base, articulations...). Cependant, ayant déjà réalisé des calculs similaires durant nos cours, nous partons avec une longueur d'avance et donc du temps gagné pour l'optimisation de notre robot. Bien qu'il nous faudra être rigoureux afin de ne pas mettre notre robot dans des positions de singularité auquel cas ce dernier sera bloqué. 

II. Conception détaillée

Vous trouverez en pièces jointes notre assemblage SolidWorks des différentes pièces. Sur cet assemblage (Assem2 dans notre fichier Solidworks), vous pourrez consulter les différentes mesures ainsi que la façon dont chaque pièce a été réalisée.

2.1- Conception mécanique 
2.1.1-
Base du robot:

En premier lieu, nous avons créé la base de notre robot sur laquelle la main du robot viendra se poser. Nous avons également dû trouver une solution pour stabiliser la base afin d'éviter qu'elle ne tombe une fois le stylo relevé, en utilisant deux languettes. Nous avons décidé d'assembler notre base en montage serré, en emboîtant chaque partie de la base dans l'autre, tout en prévoyant des trous pour la sortie des fils des servomoteurs. Il fallait aussi penser à laisser quelques millimètres de plus en longueur pour le trou du servomoteur afin d'éviter les problèmes lors du montage du servomoteur sur notre base.

Pour concevoir notre base, nous avons utilisé du MDF de 6 mm d'épaisseur et avons utilisé la machine de découpe du fablab.

image.png

La base de notre robot sera placée sur notre feuille où nous allons dessiner. Nous avons laissé suffisamment d'espace pour notre zone de dessin, un carré de 5x5 cm.

2.1.2- Première partie du bras:

Pour la conception de notre bras, nous avons décidé que chaque partie de notre bras sera faite en deux plaques différentes, chacune de 3 mm d'épaisseur, qui seront fixées ensemble par des vis. La partie inférieure contient l'empreinte du palonnier qui viendra se loger à l'intérieur. Et la partie supérieure du bras contiendra juste un trou pour fixer le servomoteur et quatre autres trous qui viendront se fixer au palonnier à l'aide d'axes pour éliminer tout jeu. Dans les deux parties du bras, nous avons le trou où viendra se loger le second servomoteur avec les trous pour le fixer. Ainsi que deux autres trous pour fixer les deux plaques entre elles.

Partie inférieur du bras:                                                                                                                 Partie supérieur du bras:

image.png                                        image.png

2.1.3- Deuxième partie du bras:

Cette deuxième partie est également constituée de deux plaques différentes, chacune de 3 mm d'épaisseur. Nous utilisons la même méthode de fixation pour les palonniers et les deux parties du bras que précédemment. En revanche, pour positionner notre troisième et dernier servomoteur, nous utilisons cette fois deux encoches où le servomoteur viendra se visser.

Partie inférieur du bras:                                                                                                        Partie supérieur du bras:

image.pngimage.png

Assemblage avec le servomoteur:

image.png

2.1.4- Troisième partie du bras:

Pour la troisième partie, nous avons également décidé de diviser le bras en deux parties, chacune ayant une épaisseur de 3 mm. Nous utilisons également la même méthode que précédemment pour la fixation du palonnier. De l'autre côté du bras, nous allons simplement percer un trou dans les deux parties du bras pour accueillir le support du stylo.

Partie inférieur du bras:                                                                                                        Partie supérieur du bras:

image.pngkp3image.png

2.1.5- Stylo:

Pour le stylo, nous avons fait le choix de ne pas utiliser un système de glissière, mais simplement de le relever vers le côté à l'aide du servomoteur. Certes, cela laissera des traces sur notre feuille, mais cela n'impacte pas l'objectif principal de notre projet. Pour cela, le support de notre stylo contient un trou pour accueillir notre stylo d'une part. L'autre partie de notre stylo vient se positionner dans le trou dédié à cet effet dans le bras, et sera fixée à une pièce carrée par une vis et un écrou, qui servent juste à éliminer tout jeu. 

image.png

2.1.6- Tests support stylo:

Lors de la dernière séance de conception, plusieurs tests ont été effectués sur le support du stylo pour vérifier si le diamètre choisi était suffisant pour la position souhaitée de notre support sur le stylo. En effet notre stylo possède une forme en cône, c'est-à-dire que son diamètre change selon sa hauteur.

2.1.7- Découpe laser

Pour la découpe laser, nous utilisons la machine du Fablab. Pour pouvoir découper à partir de notre pièce SolidWorks, il faut enregistrer chaque pièce de notre robot individuellement sous un fichier DXF. Ensuite, à l'aide du logiciel Inkscape, nous importons notre pièce enregistrée sous un fichier DXF. Ensuite, nous sélectionnons notre contour et choisissons la couleur Rouge 255 RGB et 1 px. Une fois tout cela fait, nous pouvons enregistrer notre fichier sous un fichier SVG sur une clé USB. Enfin, nous allons sur l'ordinateur du Fablab, importons notre fichier et suivons le tutoriel d'utilisation de la machine du Fablab pour lancer la découpe.

IMG_0249 (1).png

Vous trouverez en pièces jointes, dans un dossier zip, tous nos fichiers SVG si vous souhaitez reproduire les mêmes pièces que nous avec les mêmes dimensions.

2.1.8- Calcul du modèle géométrique direct et inversé 

Le problème est traité comme un problème plan, ainsi nous traiterons uniquement les coordonnées X et Y.

l1 et l2 correspondent aux différentes longueurs des bras de notre robot. Attention, à noter que les bras l2, l3 et l4 forment une classe d'équivalence, c'est-à-dire que ces derniers sont fixes.

Ainsi, nous avons uniquement 2 pivots d'axes (O1, z0) et (O2,z0) sans compter la pivot qui sert uniquement à surélever le stylo de notre feuille de papier.

Le point P correspond à notre effecteur, c'est-à-dire la pointe de notre stylo. Ce dernier étant décalé par rapport au bras l2, nous avons décidé de calculer l'angle de décalage entre l'axe x2 du bras l2 et et l'axe nommé x2' qui correspond à l'axe entre le point O2 et le point P de l'effecteur. Ainsi, afin d'alléger les calculs, ces derniers ont été menés avec l'angle θ2' puis à la fin nous nous ramènerons à l'angle réel θ2 du servo moteur. 

Modèle Géométrique direct : (coordonnées de l'effecteur (Xp et Yp) en fonction des angles des servo moteur (θ1 et θ2)) exprimé dans le base R0 : (x0, y0, z0).

Xp = l₁cos(θ₁) + l₂cos(θ₁+θ₂') = l₁cos(θ₁) + l₂cos(θ₁+(θ₂ - Δθ₂))

Yp = l₁sin(θ₁) + l₂sin(θ₁+θ₂') = l₁sin(θ₁) + l₂sin(θ₁+(θ₂ - Δθ₂))

Modèle Géométrique inverse : (angles des servo moteur (θ1 et θ2) en fonction des coordonnées de notre effecteur (Xp et Yp)).

ModelGeom_page-0001.jpg

2.2- Conception électronique

Notre système électronique se divise en deux parties clés : la commande, gérée par la carte Arduino UNO, et l'alimentation. L'utilisateur communique avec la carte Arduino via un joystick. Les servomoteurs HS422 et FT90MR agissent comme les bras du système : le HS422 contrôle les mouvements principaux, tandis que le FT90MR contrôle le mouvement du stylo. Une alimentation de 5V garantit une tension stable pour les moteurs et alimente à la fois la carte Arduino et les servomoteurs.

Pour faire notre schéma électrique on a utiliser le logiciel KiCad:

IMG_0336.jpg

2.3- Conception logiciel 

Logigramme

logi.png        Ligne                                     Ligne Pointillée                             Cercle                                 Cercle Pointillé

ligne.pngligne_piony.pngcercle.pngcerclep.png

                 Joystic                             Mouvement du stylo                            Pointillé

joy.pngmovpen.pngpointille.png

Code arduino : 

Initialisation des différentes constantes nécessaires

Capture d’écran 2024-05-29 à 23.23.59.png

Implémentation du modèle géométrique dans arduino

Capture d’écran 2024-05-29 à 23.24.53.png

Fonction déplacement avec en arguments la position souhaitée du stylo Xp et Yp

Capture d’écran 2024-05-29 à 23.25.55.png

Fonction ligne :

Capture d’écran 2024-05-29 à 23.26.30.png

Fonction rond : 

Capture d’écran 2024-05-29 à 23.27.46.png

Fonction carré : (4 lignes pour former carré)

Capture d’écran 2024-05-29 à 23.28.44.png

Fonction Joystick :

Capture d’écran 2024-05-29 à 23.30.16.png

Initialisation du robot :

Capture d’écran 2024-05-29 à 23.30.28.png

Boucle principale du code arduino : 

Capture d’écran 2024-05-29 à 23.31.06.png

Capture d’écran 2024-05-29 à 23.31.17.png

Capture d’écran 2024-05-29 à 23.31.56.png

Phases de test : 

2ee57638-e4b9-4f07-91ae-1ac3110243ae.JPGIMG_1013.jpg

2.4- Résultat final et conclusion

IMG_1015.jpg

Vous pourrez aussi trouver une vidéo en pièce jointe du fonctionnement de notre robot.

Ce projet a été une expérience extrêmement enrichissante, malgré les nombreuses difficultés rencontrées en cours de route. En travaillant avec les différentes machines et le matériel du Fablab, nous avons pu développer un système robotisé répondant aux exigences du cahier des charges.

Défis et Solutions


Complexité de la Conception: La conception du robot, notamment le bras articulé, a demandé de nombreux calculs et ajustements. Nous avons choisi la solution la plus accessible en termes de temps et de complexité, bien qu'elle ait nécessité des calculs rigoureux pour éviter les singularités en s'appuyant sur le modèle géométrique.


Précision des Mouvements: Assurer la précision des mouvements du robot, notamment pour dessiner les figures imposées, a été un défi majeur. Grâce à des tests rigoureux nous avons pu améliorer notre système pour obtenir les résultats souhaités.

Compétences Développées


Compétences Techniques: Nous avons amélioré nos compétences en conception mécanique, en programmation Arduino, et en utilisation de logiciels comme SolidWorks et KiCad.


Travail d'Équipe: La collaboration a été essentielle pour surmonter les obstacles techniques. Chaque membre de l'équipe a apporté son expertise, ce qui a permis de créer un système cohérent et fonctionnel.


Gestion de Projet: La gestion du temps et des ressources a été cruciale. Le respect du Gantt nous a aidés à rester organisés et à suivre les étapes du projet de manière structurée.

Réflexion et Créativité: Le fait de réfléchir par nous-mêmes à une solution nous a beaucoup aidés en tant qu'ingénieurs. Trouver des solutions innovantes aux problèmes posés est la base de l'ingénierie. Ce processus de réflexion et de création nous a permis de développer des compétences essentielles, telles que la pensée critique et la résolution de problèmes, qui sont inestimables pour notre avenir professionnel.

Le robot est capable de réaliser les deux exercices imposés avec succès, traçant des figures avec précision dans le temps imparti.