Projet ROB3 : Joshua , Grigor , Dilhan
Présentation du projet
Informations
- NOM PRENOM :
- Hauzay Joshua
- Pelibossian Grigor
- Emir Dilhan
- ROB 3
- adresses mail :
- 7 février 2024 - mai 2024
Contexte
Dans le cadre de l’UE projet robotique
Objectifs
- Concevoir un système robotique :
• Sa partie mécanique
• Son actionnement
• Sa commande
• Son interface de pilotage
2. Savoir s’organiser en mode projet :
• Répartir et synchroniser les tâches
• Suivre l’avancement avec des objectifs intermédiaires
• Fournir la documentation technique
• Respecter un calendrier préétabli
3. Maîtriser le fonctionnement du FabLab
Cahier des charges :
-
Tracer différentes figures prédéfinies dans un carré de 5cm x 5cm, en 10 secondes.
-
Une ligne droite de 5 cm
-
Une ligne pointillée de 5 cm
-
Un cercle de 2,5cm de rayon
-
Un cercle pointillé de 2,5cm de rayon
-
Reproduire un dessin imposé (mais inconnu à l’avance) à l’aide d’un joystick dans un carré de 5cm x 5cm
-
Contrôle au moyen d’un joystick
Matériel :
Voici la liste du matériel donné (imposé) par nos responsables de projet :
- 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.
- Ressources CAO.zip contient les fichiers Solidworks pour les deux modèles de servomoteurs téléchargeable via le lien suivant : https://wiki.fablab.sorbonne-universite.fr/BookStack/link/1279#bkmrk-ressources-cao.zip-c
- datashetts.zip contient les documentations de quelques-uns des composants fourni téléchargeable via le lien suivant : https://wiki.fablab.sorbonne-universite.fr/BookStack/link/1279#bkmrk-ressources-cao.zip-c
Présentation des différentes solutions envisagées :
Première solution :
Notre première solution consistait en un robot constitué d'un servomoteur à la base en rotation autour de Z et de 2 servomoteurs sur le bras en rotation autour de Y
Cette solution est la première auquel nous avons pensé. Elle s'inspire très fortement du FANUC que nous avons pu manipuler lors de notre TP en Robotique expérimentale au 1er semestre.
Cependant, nous l'avons très vite abandonné car le robot n'était pas capable d'effectuer les mouvements nécessaires à la création d'un dessin (en plus d'être éventuellement trop lourd au bout du bras).
Deuxième Solution :
Comme deuxième solution, nous avons pensé à un robot à 2 degré de liberté constitué de 2 servomoteurs en rotation selon Z dont un à la base et l'autre au centre du bras, et d'un servomoteur en rotation selon Y pour contrôler la pose du feutre sur la feuille de dessin.
Cette solution possède de nombreux avantages, tels que la facilité de conception, de production et de calcul de position (le problème à résoudre n'est que plan dans ce cas).
Cependant, la précision de ce bras articulé est inférieure comparé notamment à la solution suivante.
Troisième solution :
La troisième solution consiste à créer un pignon crémaillère afin d'effectuer des déplacements directement selon les axes x, y et z.
Cette solution possède plusieurs avantages tels qu'une précision accru par rapport à la solution précédente, ainsi qu'un paramétrage des mouvements simplifié.
Cette solution possède cependant d'autres inconvénients par rapport à la deuxième solution, tels que des frottements élevés risquant d'abimer les composants ou encore un calcul du modèle géométrique inverse plus compliqué (les rotations sont convertis en translation).
Solution retenue :
Pour mener à bien ce projet, nous avons opté pour la seconde solution. Nous prévoyons ainsi l'utilisation de trois servomoteurs, dont deux seront dédiés à la manipulation du stylo, tandis que le troisième sera chargé de soulever le stylo. Notre approche implique l'assemblage d'une base, sur laquelle nous fixerons un servomoteur équipé d'un palonnier. Ce dispositif dirigera la première partie de notre robot. Nous fixerons ensuite le palonnier sur le premier bras pour assurer son orientation. Ce bras, conçu de manière extrudée, permettra la fixation d'un second servomoteur, assurant la direction du deuxième bras du robot. Nous avons également besoin d'une extrémité qui servira à porter notre stylo.
GANTT:
https://docs.google.com/spreadsheets/d/1rBMSOXjBwbDXSA9WxZV4CNlc4wGikqxUgBZ74uLwpI0/edit?usp=sharing
Calcul mécanique :
Nous nous servons de ce schéma afin d'effectuer nos calculs:
On sait que :
En utilisant les formules trigonométriques, on trouve alors :
(sur le schéma, L1 et L2 sont représenté par l1 et l2)
De plus, on note :
Atan2 est une fonction mathématique très utilisé et comprise par le code Arduino.
Schéma électronique :
Pour garantir un positionnement précis des servomoteurs, l'intégration d'une carte Arduino est nécessaire. Voici la représentation du circuit électrique :
Ce schéma intègre trois servomoteurs en position et 4 bouton-poussoir, destiné à basculer entre les modes automatique et manuel ainsi que pour choisir le dessin voulu.
Nous avons décidé de rajouter aussi 3 LEDs afin de montrer le mode de fonctionnement dans lequel le robot est (manuel ou automatique) et si on est en mode automatique, quel figure il dessine :
Je vais maintenant détailler le schéma électronique.
La carte Arduino est alimenté en 5V. L'alimentation et la masse sont relié à la plaque Labdec. Chaque servomoteur est relié à l'alimentation, à la masse et à un PIN digital (1 PIN par servomoteur, les PINs 3,5 et 6) sur la carte Arduino. Chacun des quatre boutons est relié à la masse, ainsi qu'à l'alimentation avec une résistance de 1 ㏀ et à un PIN digital (1 PIN par bouton-poussoir, les PINs 2,7,8 et 9) sur la carte Arduino. Chaque LED est relié à un PIN digital avec une résistance de 1 ㏀ (1 PIN par LED, les PINs 10,11 et 12). Le joystick est relié à l'alimentation ainsi qu'à la masse, mais aussi à 2 PINs analogique(Les PINs A2 et A3).
Modélisation 3D des pièces :
Afin de réaliser la solution choisi, nous aurons besoin de plusieurs composants.
Nous avions pensé à 4 composants, une base ainsi que 3 bras articulé. Les deux bras intermédiaires vont être fait par découpage laser tandis que la base et le support de l'effecteur seront en impression 3D. Nous pensions faire un contrepoids afin de maintenir l'équilibre du robot, ou encore créer des pieds à la base afin d'annuler le moment créé par le poids des moteurs et du stylo, cependant, la solution consistant à remplir la base avec des matériaux lourds à été privilégié car plus facile à mettre en place.
Nous avons préconisé la création d'une base circulaire car plus stable que des bases carrés ou triangulaires.
Le premier moteur est placé au niveau de la base et supportera le poids du reste de la structure (mise à part la base). Le deuxième moteur sera placé au bout du premier et du deuxième bras.
Nous avons aussi dû modéliser un nouveau palonnier afin de convenir au besoin de notre robot car celui présent n'est pas adapté.
En ce qui concerne le support du stylo, au lieu de placer le moteur au bout du deuxième bras intermédiaire, nous avons décidé de le placer au centre et ce dans une logique de réduction du moment. Pour ce faire, nous avons dû allonger la longueur du dernier bras. De plus, le stylo sera retenu tout simplement par une vis inséré dans un écrou au bout du dernier bras.
Cependant nous nous sommes rendus compte que la base réalisé en 3D n'était pas nécessaire et nous avons donc modélisé une base à partir de découpage laser et collage. On obtient ce résultat:
Fonctionnement:
Ce premier sous-assemblage correspond à la base de notre robot, dans lequel nous allons ajouter du contrepoids. Ces derniers permettront d'éviter que le robot ne se déplace de manière intempestive. Au centre de cette base, se trouve notre servomoteur principal. Celui-ci aura pour rôle de diriger le premier bras du robot. Afin de maintenir ce servomoteur en place, nous avons modélisé un socle en bois. La taille de ce socle a été minutieusement étudiée, afin de correspondre exactement à celle du servomoteur. Cela permettra une mise en position précise et efficace. Toutefois, il est important de noter que le maintien en position n'est pas nécessaire dans ce cas précis. La raison de notre changement de base, pour passer d'une base en 3D à une base en bois, s'explique simplement. En effet, nous avons opté pour cette solution en raison du temps que cela nous permettait de gagner. La création des pièces pour la base en bois s'est faite en à peine quelques heures, alors que si nous l'avions réalisée via impression 3D, cela nous aurait pris beaucoup plus de temps. Ainsi, le choix d'une base en bois s'est avéré être la solution la plus efficace et la plus rapide pour notre projet.
Ce sous-assemblage ci-joint correspond au premier bras de notre robot. Nous avons opté pour cette forme particulière pour une raison de poids. En effet, elle est plus légère qu'un rectangle tout en offrant la même rigidité.Le premier bras est doté d'un trou circulaire qui sert de liaison avec le servomoteur principal situé dans la base du robot. En outre, le premier bras possède également un trou rectangulaire qui correspond exactement à la taille d'un petit servomoteur. Ce trou a été conçu pour insérer ce servomoteur secondaire, qui sera chargé de manipuler le deuxième bras du robot. Cette conception permet une intégration facile et rapide du servomoteur, tout en évitant un maintien en position inutile
Voici le dernier sous-assemblage de notre robot, qui correspond au deuxième bras. Ce bras est similaire au premier bras en ce qui concerne le trou circulaire pour la liaison avec le bras précédent. Cependant, il possède des trous rectangulaires sur toute sa longueur, qui sont destinés à accueillir une pièce de support pour le servomoteur qui va soulever le stylo. Nous avons donc modélisé un support pour le stylo, dans lequel nous avons laissé une ouverture de la forme du palonnier. Cela permettra au servomoteur de soulever et d'abaisser le stylo avec précision. De plus, nous avons prévu un trou supplémentaire dans le support pour permettre un réglage facile du stylo utilisé. Ainsi, notre robot pourra s'adapter à différents types de stylos sans nécessiter de modifications majeures.
Montage:
A partir de cette modélisation nous avons pu commencer l'assemblage du robot, pour cela nous avons imprimé le support du stylo via l’impriment 3D
Nous avons effectué le découpage laser et collage de chaque assemblage individuellement (socle, bras 1 et bras 2), puis on les a assemblés pour obtenir finalement comme résultat final avec les branchements :
Code Arduino :
organigramme :
-
Root (Arduino Program: Servo Control with Potentiometer)
-
Bibliothèques
- Servo
- math.h
-
Variables globales
-
Objets Servo
- myservo1
- myservo2
- myservoZ
-
Pins d'entrée
- potx
- poty
- bouton_mode
- boutonstylo
- bouton_dessin
- bouton_lancerdessin
-
Pins de sortie
- ledmode
- led_dessin
- led_pointille
-
Constantes
- servo1
- servo2
- servoZ
- a1
- a2
-
Autres variables
- calibrage
-
-
**Fonction setup()
- Initialiser les pins
- Attacher les servos
- Initialiser la communication série
-
Fonction loop()
- Boucle principale de contrôle
- Calibration et contrôle du mode dessin
-
Fonctions auxiliaires
-
Goto(float x, float y)
-
lever_stylo(int i)
-
Fonctions de dessin
- trait()
- trait_pointille()
- cercle()
- cercle_pointille()
- allumer_led(int n)
-
dessin()
-
joystick()
-
-
Documentation utilisateur :
Monter le robot :
· Brancher le robot comme indiqué sur le schéma électrique
· Alimenter le montage en branchant l’alimentation
· Une fois l’alimentation branchée les moteurs vont se mettre en place : Il vous faut monter les bras alignés du coté ou l’axe du servo moteur est le plus proche du bord.
· Appuyez sur le premier bouton pour finaliser le montage.
Placer le stylo :
· Appuyez sur le dernier bouton pour baisser le support de feutre
· Le Premier bouton permet de changer de mode
· Lorsque la led bleue est allumée on est dans le mode joystick
· Lorsqu’elle est éteinte on est en mode dessin
· Les led rouges permettent de choisir le dessin en appuyant sur le 2ème bouton, elles indiquent en binaire le dessin sélectionné :
· 0= trait , 1 = trait pointillé, 2 = cercle, 3 = cercle pointillé
Le 3ème bouton permet de lancer le dessin.
No Comments