Projet ROB 3 : Mehdy ABDELKAMEL - Nacim TALAOUBRID
Informations
Mehdy ABDELKAMEL | mehdy.abdelkamel@etu.sorbonne-universite.fr | ROB3 |
Nacim TALAOUBRID | nacim.talaoubrid@etu.sorbonne-universite.fr | ROB3 |
Date de début de Projet : 14 Février 2024
Date de fin du Projet : 23 Mai 2024
Projet M.A.J.I.N, c'est un robot Mécanisé, Articulé avec un Joystick Interactif et Novateur.
GANTT ci-joint dans "Attachments"
Contexte
Le but général est de faire un robot capable de dessiner avec un crayon sur un support plan horizontal.
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.
Pour les étudiants, l’objectif est au moins autant d’apprendre par la pratique les bases de la gestion d’un projet (c’est-à-dire la façon de s’organiser en équipe pour atteindre un objectif donné avec des moyens donnés) que d’aboutir à un prototype fonctionnel.
Fonctions à réaliser
Il 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.
Une fonction supplémentaire, optionnelle , peut être réalisée :
- Être capable de modifier la vitesse de déplacement du robot via l’interface.
Source : Le sujet du projet | Wiki FablabSU (sorbonne-universite.fr)
Afin de concevoir au mieux ce robot, nous allons procéder en plusieurs étapes :
1. CONCEPTION PRÉLIMINAIRE :
Pour commencer, nous devons choisir le type de robot que nous allons faire. Pour cela, nous allons établir et analyser les avantages et inconvénients de chacune de nos idées.
Idée n°1 : robot basé sur le fonctionnement d'une imprimante 3D :
Ce robot serait inspiré du système de guidage des imprimante 3D. Nous aurons 2 axes (X et Y), ainsi qu'un bloc à la jonction des 2 axes. Cela permettrait de guider notre stylo facilement.
Avantages :
- pas beaucoup de contrainte sur le plan mécanique ou électronique
Inconvénients :
- demande beaucoup de ressources
- pas très précis
- est encombrant
Idée n°2 : robot écrivain sur une base mobile :
On aurait une petite base mobile doté de quelques roues avec un stylo en dessous du robot.
Avantages :
- facile à monter
- compact
Inconvénients :
- mauvaise précision (odométrie)
- difficulté à bien se déplacer
Idée n°3 : robot inspiré du modèle du FANUC :
Ce robot serait un bras mécanique à 2 degrés dé liberté avec un stylo a son extrémité.
Avantages :
- bonne précision
- plutôt compact
Inconvénients :
- calcul à faire
Idée n°4 : robot mélangeant les idées de la base mobile et de l'imprimante 3D :
Ce robot est une amélioration de l'idée de l'imprimante 3D. Nous utilisons ici des "piliers" mobile limitant ainsi les matériaux à utiliser et facilitant la construction.
Avantages :
- faciliter de production (2 fois le même module/tour)
- plutôt compact
Inconvénients :
- pas du tout précis (il manque le guidage linéaire)
Idée n°5 : robot à 2 bras opposés :
Ce robot est inspiré du bras mécanique, le FANUC. Ici nous séparons les 2 servomoteurs présent dans l'unique bras en 2 bras mécanique. Cela permettra de faciliter les calculs de mécanique des bras mais également de faciliter la construction du robot.
Avantages :
- Bonne précision
- Original
- Léger en ressource
Inconvénients :
- Calcul à faire
2. CONCEPTION DÉTAILLÉ :
Après avoir choisi le modèle de notre robot, nous devons maintenant le concevoir en profondeur en plusieurs autres étapes. Pour cela, nous avons cherché plusieurs inspirations sur internet. La vidéo qui a retenu notre attention est la vidéo youtube de
1. Conception des différentes pièces :
Dans un premier temps notre objectif premier était de modéliser sur le logiciel Solidworks un premier modèle de notre robot qui se rapproche au plus du croquis initial.
Nous avons donc réaliser ce premier modèle. Cependant nous faisons face a plusieurs problème. Premièrement le bâti dans ce modèle-ci ne peut être réaliser qu'avec une imprimante 3d, la pièce aurait donc pris plusieurs heures pour être réaliser et donc nous ne n'aurons pas pu effectuer des changements de dernières minutes sur les dimensions. De plus, la liaison entre la patte du moteur et le moteur n'est pas une liaison d'encastrement.
Conception finale
Le bâti : Nous avons donc pris la décision de séparer les différentes parties du bâti afin de pourvoir réaliser la moitié de celui-ci avec la découpeuse laser. Il se compose de 3 parties : la première, qui sera réaliser avec l'imprimante 3d, (partie rouge) permettra de tenir la feuille d'écriture (partie bleu) et permettre la descente de la feuille grâce a une liaison pivot, la parti avec la feuille d'écriture sera aussi réaliser avec une imprimante 3d. Enfin nous avons la partie qui tiendra les moteurs, elles seront réaliser avec la découpeuse laser et elles seront attaché au la partie rouge grâce a un système vis/écrous.
Les pattes : Nous avons décider de rajouter sur la patte du moteur une nouvelle pièce de même dimension avec uniquement un trou en son centre qui permettra de maintenir en position la pièce et le moteur. De plus pour avoir une liaisons pivot d'axe verticale entre les différents pattes nous utiliserons juste un seul roulement bille, un axe et une rondelle entre les deux pattes.
Voici l'assemblage finale de notre robot (et en pièce jointe le fichier Solidworks correspondant)
A présent nos seuls craintes reste les incertitudes sur les dimensions des différentes machines mais aussi la stabilité du robot (possibilité de basculer vers l'avant).
Après plusieurs réflexions et conseils de nos professeurs nous avons pris la décision de modifier le bâti rouge. Les objectif sont de minimiser le nombre d’éléments en impression 3D et de solidifier le support du petit moteur.
Nous obtenons donc la modélisation sur SolidWorks suivante : et le robot réel suivant :
2. Schéma électrique :
Pour concevoir le schéma électrique, nous devons savoir ce que notre robot doit faire, et le matériel a notre disposition.
Matériels à dispositions :
- 3 Servomoteurs
- Boutons
- Arduino UNO
- Joystick
- Câbles
- (LEDs)
Fonctionnalités du robots :
- Dessiner un cercle
- Dessiner une ligne
- Dessiner ces figures en pointillés
- Dessiner avec un joystick
- Dessiner avec un joystick en pointillés
D'après ces différentes informations, nous avons le schéma électrique suivant :
- Bouton Jaune : Trace un cercle
- Bouton Bleu : Trace une ligne
- Bouton Gris : Active le mode pointillé
- Bouton Rouge : Active le mode Joystick
3. Calculs mécanique :
Pour les calculs mécaniques, nous reprenons les calculs vu en cours. Ils seront bien simplifié car ici nous voulons seulement un seul angle au lieu de 2. De plus, nous avons seulement à reprendre le calcul fait pour le premier servomoteur et déplacé le repère d'environ 14cm (distance qui sépare les 2 servomoteur) et ajouter 180° à l'angle obtenu.
Nous sommes ensuite rendu compte que nous avions besoin d'un autre modèle mécanique car celui-ci était incomplet. Nous nous sommes donc inspirées du modèle géométrique inverse du groupe F.O.D.
Néanmoins sur notre robot nous avons rajoute une petite bielle en plus afin d'accueillir le stylo, nous avons donc légèrement modifié les calculs afin d'obtenir le modèle géométrique finale !
4. Organigramme du code :
Voici l'organigramme de notre programme, il n'est pas totalement conforme à ce que nous avons fait, c'était seulement pour avoir un ordre d'idée à la structure de notre programme.
5. Code détaillé :
Le principe de notre code, est de placer des points sur notre repère qui seront visité par notre stylo.
Pour cela, la première chose à faire avant de programmer les différentes fonctions de notre code, est de programmer notre calcul mécanique. Une fois, cette fonction achevé, nous pourrons faire appel à elle afin d'obtenir les coordonnées des points de passages.
Nous avons donc cette fonction représentant notre calcul mécanique sur Arduino :
Maintenant, nous devons décider du nombre de points de passage pour notre robot et demander a notre fonction de les faire décrire une figure particulière, soit un cercle, soit une ligne.
Nous avons donc les 2 fonctions suivantes :
Pour dessiner ces formes en pointillé, nous avons juste à combiner le mouvement de notre plateforme, possible grâce à notre petit servomoteur en définissant 2 niveau (Haut et Bas), et pour accéder à cette fonction, nous ajoutons une condition de plus.
Nous obtenons ces fonctions :
Enfin pour la fonction de déplacement avec le joystick, il suffit de récupérer les valeurs du joystick selon x et y, de les convertir afin d'obtenir une plage de valeur entre -0.1 et 0.1. Ensuite nous initialisons deux variables posx et posy a 0 et nous incrémentons ces deux variables par les valeurs que nous donne le joystick. Enfin à chaque tour de boucle nous demandons au stylo d'aller aux coordonnées posx et posy.
Voici la fonction :
Enfin, toutes les déclarations d'initialiser des différentes variables sont détaillé dans le code se trouvant dans "Attachments"
6. Tests :
Durant nos tests, nous avons remarqué que nous avons fait plusieurs erreurs de conceptions.
- Tout d'abord, nous avons fait un trou de 3mm de diamètre sur notre pièce imprimé en 3D, mais a cause de l'incertitude d'impression, notre axe de 3mm ne convenait à notre pièce, nous avons donc utilisé la force pour le placé.
- Ensuite, nous avions un problème de stabilité dans notre robot. En effet, le robot ne tenait pas droit. Nous avons donc imaginé des support afin de stabiliser au mieux notre robot.
- Enfin, nous avions un problème lié a notre servomoteur, que l'on peut contrôler qu'à l'aide de vitesse. Ce servomoteur permet de contrôler l'état de la plateforme de notre papier, ce qui était très contraignant car nous n'arrivions pas à bien le régler ce qui compromettait la qualité de nos dessins.
Finalement, nous avons réussi a nous adapter au mieux à toutes les contraintes et voici les vidéos de nos dessins :
(TOUTES LES VIDEOS !!)
Journal de bord
Avancée du projet à chaque étape, difficultés rencontrées, modifications et adaptations (facultatif pour les petits projets)
14/02/2024
Ce premier jour a été une journée de "brainstorming", nous avons rassemblé toutes nos idées et nous les avons confrontés afin de choisir le robot le plus adapté aux contrainte donnée.
La décision finale est de construire sur le robot à 2 bras opposé. Il répond aux mieux a ce qui est demandé.
21/02/2024
Ce deuxième jour était tourné vers la réflexion de notre conception détaillé. Nous nous sommes également familiarisé avec certaines machines du FABLAB. Nous avons fait quelques tests sur découpeuse laser afin de voir si le robot était possible sur le plan mécanique.
Enfin, les différentes tâches ont été répartis, Nacim a commencé la modélisation sur Solid Works et Mehdy a commencé le schéma électrique.
05/03/2024
Ce troisième jour a permis de vérifier nos travaux préparés en amont. Nous avons vérifié avec Mr Carillet le modèle 3D de notre robot. Nous avons également testé un début de code avec notre schéma électrique.
Finalement, nous avons juste continué d'améliorer et peaufiner nos travaux.
18/04/2022
Maecenas interdum turpis sit amet rutrum elementum. Aenean eget accumsan ligula. Phasellus et scelerisque lectus. Cras vel venenatis nulla. Integer tristique non diam et molestie. Pellentesque condimentum enim arcu, in commodo nunc commodo vel. Integer vitae neque facilisis, mattis elit sit amet, gravida turpis. Maecenas lectus mauris, fringilla ut lectus eu, condimentum finibus tortor 🤩🤩🤩D D