PROJET ROB de Maroua, Marco, Yanis
Projet Maranis : Un robot écrivain
Informations
- Membres :
- Maroua Hriouit
- Yanis Sadoun
- Marco Grandclaude
- Mail:
- Polytech ROB 3 Année 2023-2024
- 7 février 2024 - mai 2024
Contexte et objectifs :
Définition et objectifs du projet : Un robot qui dessine
Dans le cadre de nos études en robotique, on est amené à concevoir un robot capable de dessiner a l’aide d’un crayon fixé à l’extrémité terminale du robot.
L'objectif principal de ce projet consiste à élaborer et mettre en œuvre un système robotique complet, englobant sa composante mécanique, son système de motorisation, son dispositif de commande, ainsi que son interface de pilotage. Le cahier des charges fourni définit de manière détaillée les fonctions que le système doit exécuter et les contraintes auxquelles il doit se conformer.
Pour nous, étudiants, ce projet offre l'opportunité d'acquérir une expérience professionnelle en gestion de projet, en mettant particulièrement l'accent sur le travail en équipe. Il nous permettra également de mettre en pratique tout ce que nous avons étudié tout au long du premier semestre, y compris la conception et la modélisation, le calcul des modèles géométriques direct et inverse, ainsi que la programmation en C. Et enfin apprendre à manipuler des machines d’impression 3D et découpe LASER.
Lors de notre première séance, nos professeurs nous ont fourni une description fonctionnelle détaillée des besoins et contraintes pour notre projet. C'est sur cette base que nous avons construit et développé notre plan de travail. Voici un résumé de ces exigences clés :
Description fonctionnelle des besoins :
1 - Dessin Précis : Le robot doit être capable d'exécuter des dessins précis définies en 10 secondes +/- 0.2 secondes conformément aux spécifications fournies, en respectant les dimensions et les formes définies :
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.
2 - Dessiner, en utilisant un crayon fixé à l'extrémité du bras robotique, un motif prédéfini sur le plan de la plaque de support, dans un carré de dimensions 5 cm par 5 cm. Le déplacement du bras robotique sera contrôlé par un joystick. Il est à noter que la figure peut être discontinue, ce qui implique la nécessité de pouvoir soulever le crayon du support horizontal au besoin.
3 - Une fonctionnalité supplémentaire pourrait être mise en œuvre : La possibilité de régler la vitesse de déplacement du robot à travers l'interface.
Moyens à disposition :
- 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.
Diagramme de Gantt :
💭 Remarque Importante : Il est important de noter que notre diagramme de Gantt est un outil vivant. Comme le projet progresse, nous pouvons nous attendre à ce qu'il soit ajusté et modifié pour refléter l'évolution de nos plans et la réalité de notre progression. Cette flexibilité nous permettra de rester réactifs et adaptatifs face aux défis et aux opportunités qui se présenteront.
Etape 1 : Propositions de réalisation et analyse des risques 🔍⚙️
Solution 1 : Robot voiture
Principe :
Comme première solution, l'idée consiste d'utiliser une voiture à deux roues sur laquelle seront fixés nos deux moteurs. Ensuite, nous envisageons de positionner une forme cylindrique sur la voiture, à l'intérieur de laquelle sera intégré un engrenage. Cette configuration permettrait la translation du stylo selon l'axe z, offrant ainsi une méthode mécanique pour réaliser les mouvements nécessaires à notre robot.
Croquis :
figure 1 : croquis du robot voiture
Schéma cinématique :
figure 2 : schéma cinématique du robot voiture
Contraintes:
Compte tenu des moteurs utilisés, cette solution ne sera pas viable. En effet, les servomoteurs n'effectuent qu'une rotation de 180 degrés, ce qui signifie que pour parcourir une certaine distance D, il faudra effectuer n tours de 360 degrés. Cela nous obligerait à utiliser un diamètre de roues très important, entraînant des complications liées aux calculs et aux glissements.
Solution 2 : robot cartésien
Principe :
Ce robot serait conçu pour se déplacer suivant un système de coordonnées en X et Y, offrant une grande précision dans un espace bidimensionnel.
La particularité de ce robot réside dans sa capacité à effectuer des translations le long de deux axes distincts : horizontal (axe X) et vertical (axe Y). Pour ce faire, le robot serait équipé de rails horizontaux et verticaux, permettant des mouvements fluides et contrôlés dans ces deux directions.
Croquis :
figure 3: croquis du robot cartésien
Schéma cinématique :
figure 4 : schéma cinématique du robot cartésien
Contraintes :
Manque de matériel pour les translations : Nous ne disposons pas des composants nécessaires, tels que des courroies, pour réaliser les translations efficaces sur les axes X et Y. L'absence de ces éléments essentiels est un obstacle à la construction de ce système .
Complexité de fabrication des rails : La conception et la réalisation des rails, essentiels pour les déplacements précis du robot, nous semblent particulièrement complexes, surtout avec les seuls servomoteurs disponibles.
Incapacité de mouvement sur l'axe Z : Avec les composants actuels, le robot ne serait pas capable de lever le crayon le long de l'axe Z. Cette limitation rend impossible la réalisation de tracés en pointillés, une des exigences clés du cahier des charges.
Bien que conceptuellement intéressante, la solution du robot cartésien se heurte à des contraintes matérielles et techniques qui compromettent sa faisabilité dans notre contexte actuel.
Solution 3 : Robot constitué d'axe en série
Principe :
Le robot envisagé se caractérise par une structure à axe en série. Il intègre un châssis stable comme base principale, sur lequel est fixé un bras articulé. Ce bras se compose de trois segments (bielles), chacun connecté au suivant via une liaison pivot, permettant ainsi une gamme étendue de mouvements. La dernière bielle est directement soudée à un adaptateur, conçu pour maintenir fermement un stylo. La stabilité et la précision du mouvement des bielles seront assurées par l'intégration de roulements. Parallèlement, un support de feuille sera installé, aligné dans le même plan que le châssis du robot, afin de faciliter l'interaction précise du stylo avec le papier.
Croquis :
figure 5 : croquis du robot à axe en série
Schéma cinématique :
figure 6 : schéma cinématique du robot à axe en série
Avantages :
- Cinématique simple : La structure à axe en série offre une cinématique plus facile à concevoir et à programmer, grâce à une chaîne cinématique linéaire et moins complexe.
Risques et défis :
- Stabilité structurelle : Ces robots peuvent présenter des problèmes de stabilité, surtout lors de la manipulation de charges ou lors de mouvements rapides.
- Précision dans les positions extrêmes : La précision peut diminuer aux extrémités de la portée du robot, où les effets de la gravité et de la flexion des composants sont plus prononcés.
Solution 4 : Robot à trois rotations
Principe :
Ce concept de robot s'inspire directement de la morphologie humaine, intégrant trois axes de rotation pour imiter les mouvements naturels du corps. En faisant une analogie avec le corps humain, la gestion de la hauteur de la pince (qui agirait comme une main) est assurée par deux rotations principales : une au niveau de l'« épaule » et une autre au niveau du « coude », correspondant respectivement aux rotations 2 et 3 du système. Cette configuration permet une manipulation verticale précise et polyvalente de la pince. Pour compléter la gamme de mouvements, une troisième rotation est ajoutée au niveau du « poignet », offrant la capacité de torsion. Cette troisième rotation apporte une flexibilité supplémentaire, essentielle pour des tâches complexes nécessitant une orientation fine de la pince.
Croquis :
figure 7 : croquis du robot à 3 rotations
Schéma cinématique :
figure 8 : schéma cinématique du robot à trois rotations
Avantages :
- Fabrication plus efficace : L’ensemble des pièces peuvent être réalisé en découpe laser ce qui permet une production plus rapide et précise des pièces.
Inconvénients :
- Stabilité du stylo : Assurer que le stylo reste précisément à la position voulue durant les mouvements complexes.
- Complexité du modèle cinématique inverse : La gestion des trois rotations (épaule, coude, poignet) rend le calcul du modèle cinématique inverse complexe, crucial pour la précision des mouvements du robot.
Solution 5 : Robot avec bras parallèles
Principe :
Le concept envisagé ici est celui d'un robot à bras parallèle à deux axes. Afin de gérer les déplacements verticaux du stylo le long de l'axe Z, le système sera doté d'un mécanisme pignon-crémaillère. Ce dispositif garantit une transition douce et maîtrisée du stylo, évitant ainsi les saccades ou les décalages qui pourraient compromettre la qualité du tracé.(le stylo montera et descendra avec une fluidité et une régularité qui permettront de maintenir une qualité de dessin constante). Comme pour le modèle à axe en série, les points de pivot au niveau des "coudes" du robot seront équipés de roulements.
Croquis :
figure 11: croquis détaillé de notre robot à bras parallèles
Schéma cinématique :
figure 12 : schéma cinématique du robot à bras parallèles
Avantages :
- Solidité structurelle : Les robots parallèles offrent une grande solidité et stabilité, ce qui est avantageux pour des tâches nécessitant de la précision et de la force.
- Cinématique simplifiée possible : En configurant les bras du robot pour former un parallélogramme avec les axes de servomoteurs alignés, il est possible de simplifier la cinématique, facilitant ainsi la programmation et le contrôle.
Risques et défis:
- Complexité cinématique initiale : Sans cette simplification, la cinématique des robots parallèles peut être initialement plus complexe, nécessitant une compréhension approfondie des systèmes mécaniques.
De plus , il faut s’assurer que les rotations des servomoteurs de 180° permettent de couvrir l’ensemble de la surface souhaitée.
Solution retenue
Suite à une analyse approfondie des différentes options, notre équipe a décidé de privilégier la conception d'un robot parallèle pour la suite du projet. Cette décision s'appuie sur plusieurs facteurs clés :
- Conformité au cahier des charges : Le robot parallèle répond efficacement aux exigences spécifiées dans le cahier des charges. Sa structure offre la précision et la solidité requises pour les tâches prévues, tout en permettant une gamme de mouvements adaptée à nos besoins.
- Faisabilité technique : Avec les composants et les ressources à notre disposition, la réalisation d'un robot parallèle est non seulement possible mais également pratique. La possibilité de simplifier sa cinématique en configurant ses bras en parallélogramme facilite sa programmation et son contrôle, rendant le projet plus gérable dans le cadre de nos contraintes techniques et temporelles.
Nota bene : Le nom de notre robot sera "Maranis"; il est formé en combinant les prénoms Maroua, Marco, et Yanis. Il symbolise l'union de nos efforts et la collaboration au cœur de notre projet...
Etape 2 :Conception Détaillée de Notre Projet 🌟🛠️💡
A) calculs Mécaniques 🛠️
À cette étape, nous nous sommes concentrés sur les aspects techniques du projet en abordant la modélisation mécanique appliquée aux bras de notre robot. Notre objectif ? Détailler les modèles géométriques, à la fois direct et inverse, que nous avons développés. En effet, ces modèles sont cruciaux pour préciser la position de l'effecteur du robot.
L'utilisation de ces modèles géométriques nous offre la capacité de réguler avec exactitude la position et l'orientation de l'effecteur, en se basant sur les angles des articulations. Cette précision est fondamentale pour diverses applications dans les domaines de la robotique et de l'automatique, où la manipulation et le positionnement exacts sont primordiaux.
A - Modélisation du problème
- Configuration des Moteurs et Simplification Géométrique : Les moteurs de notre robot sont disposés l'un au-dessus de l'autre, mais orientés en sens inverse. Cette configuration particulière permet d'aligner les axes des moteurs, réduisant ainsi l'espace entre deux corps liés et simplifiant de ce fait le modèle géométrique et son inverse. En effet, en alignant les corps opposés à une longueur égale (les quatre bras mesurant la même taille dans notre cas), nous transformons le système en un parallélogramme. Cette transformation apporte plusieurs relations internes utiles au système, liant les angles et les diagonales.
- Modélisation et Références du Système : Nous définissons un repère galiléen 𝑅0 = (𝑥0 , 𝑦0 , 𝑧0 ) associé au bâti (0). Le robot est composé de quatre bras : les bras 2 et 4 mesurant une longueur 𝐿1, tandis que les bras 1 et 3 ont une longueur 𝐿2. - Le bras 1 est en liaison pivot autour de l'axe (𝑂0, 𝑧0) avec le bâti. L'angle formé est noté θ1 = (𝑥0, 𝑥1) = (𝑦0, 𝑦1). - Le bras 2, aussi en liaison pivot autour de l'axe (𝑂0, 𝑧0) avec le bâti, a un angle θ2 = (𝑥0, 𝑥2) = (𝑦0, 𝑦2). - Le bras 3 est en liaison pivot autour de l'axe (𝑂3, 𝑧0) avec le bras 2. L'angle α3 = (𝑥2, 𝑥3) = (𝑦2, 𝑦3) est défini, avec le bras 3 restant horizontal et parallèle à l'axe 𝑥0. - Le bras 4, en liaison pivot autour de l'axe (𝑂4, 𝑧0) avec le bras 1, n'est pas visible dans notre modèle simplifié puisque n’intervenant pas dans nos calculs .
L'effecteur du robot se trouve au point P et a pour coordonnées (𝑥, 𝑦) dans ce système.
Cette modélisation permet de comprendre clairement la structure mécanique du robot et facilite la programmation et le contrôle de ses mouvements.
B - Modèle géométrique direct
Dans notre projet robotique, nous avons élaboré un modèle géométrique direct qui se base sur des principes de trigonométrie fondamentaux, rendant sa détermination relativement simple. Ce modèle utilise des formules basiques pour calculer les positions du robot.
On rappelle que notre modèle se base sur un parallélogramme. 📐Or, dans un parallélogramme, les côtés opposés sont égaux et les angles adjacents sont complémentaires. De plus, les diagonales se coupent en leur milieu et forment des triangles rectangles avec les côtés du parallélogramme. Nous pouvons donc utiliser ces propriétés pour établir des relations entre les longueurs des bras .
Dès lors :
Pour un robot standard avec des bras de longueurs différentes, les coordonnées x et y de l'effecteur peuvent être exprimées comme suit :
x = L1 sin(θ2) - L2 sin(θ1) | y = L1 cos(θ2) +L2 cos(θ1) |
Cependant , nous avons spécifiquement choisi de travailler avec un losange, où ( L = L1 = L2 ). Cette approche réduit la complexité des calculs et permet une meilleure compréhension de la cinématique du robot.
Avec cette simplification, notre modèle géométrique direct se résume à des formules plus simples :
x = L (sin(θ2) - sin(θ1)) |
y = L (cos(θ2) + cos(θ1)) |
💭 Remarque :"Pour le détail des calculs, veuillez consulter le PDF intitulé 'Calcul Modèle Géométrique', joint en annexe."
Nous avons pu valider notre modèle géométrique direct en utilisant SolidWorks. Après avoir conçu une version simplifiée de notre robot et défini des angles pilotes, nous avons simulé plusieurs positions pour obtenir les coordonnées x et y via le logiciel. La comparaison de ces résultats avec ceux calculés par nos formules mathématiques a montré une correspondance notable, validant ainsi la fiabilité de notre modèle géométrique.
figure 14: capture d'écran de notre teste du modèle géométrique direct sur SolidWorks
C- Modèle géométrique Inverse :
L’élaboration du modèle géométrique inverse est une étape essentielle pour le contrôle précis de notre robot. Ce modèle nous permet de calculer les angles nécessaires aux moteurs pour positionner l'effecteur à un point spécifique (x, y) dans l'espace.
Pour commencer, nous avons établi l'angle α1 en utilisant la fonction arctangente, qui est dérivée du rapport entre les côtés opposé et adjacent d'un triangle rectangle formé par les coordonnées de l'effecteur :
α1 =Arctan(x/y)
Ensuite, nous avons appliqué le théorème de Pythagore au triangle rectangle ayant pour longueur 𝑥, 𝑦 𝑒𝑡 𝑙 pour déterminer la longueur de l'hypoténuse l en fonction des coordonnées x et y :
𝑙 = √(x^2+y^2)
En utilisant la propriété fondamentale des triangles selon laquelle la somme des angles internes est égale à 180°, nous avons déduit une relation entre les angles α3 et α2:
α3 = 180°-2*α2 et α2=90°-α3/2
Enfin, grâce à la loi des cosinus ou la formule d'Al-Kashi, nous avons pu exprimer α3 en termes des longueurs des bras L1 , L2 et de l’hypoténuse 𝑙 :
α3= arccos((L1^2+L2^2-𝑙^2)/(2 L1 L2))
Ces relations nous permettent de déterminer les angles des moteurs:
θ1=α2-α1 et θ2=α2+α1
Toutefois, grâce à notre simplification du modèle par un losange; longueur 𝐿 = 𝐿1 = 𝐿2. On obtient les relations suivantes :
α1 =Arctan(x/y) |
α2=90°-α3 /2 |
α3= arcos((2L^2-𝑙^2)/2L^2) |
θ1=α2-α1 |
θ2=α2+α1 |
Avec ces formules, nous avons en main un système complet qui nous permet de calculer les angles des moteurs pour positionner précisément l'effecteur à un point (x, y) dans l'espace, en considérant les bras de longueur égale.
D - Modélisation de la translation :
Notre mécanisme de translation axiale s'appuie sur un agencement pignon-crémaillère. La crémaillère présente un diamètre de base Bbase 41,25 mm. En prenant en compte un module de conception m de 1,5, nous procédons au calcul du diamètre effectif Deff qui sera utilisé dans les calculs suivants .
- Le diamètre effectif est calculé comme suit : Deff = Bbase + 2,5 m=41,25+2,5×1,5=45 mm
Le calcul du diamètre effectif s'appuie sur des données initiales issues de nos premières simulations réalisées sur SolidWorks, en particulier pour le mécanisme pignon-crémaillère. Il est important de noter que ces chiffres, bien que précis dans le cadre de nos simulations initiales sont susceptibles d'évoluer et d'être ajustés au fur et à mesure de l'avancement de notre projet et à mesure que de nouvelles données seront recueillies et analysées.
- Le lien entre le nombre de révolutions complètes Nrev du servomoteur Emax ES08A et l'angle de déplacement θ est donné par la relation :
Nrev=θ/360°
La position verticale z de la plaque mobile peut être déduite à partir de θ en utilisant l'équation : z=Nrev *Deff * pi ⟹
z=θ/360° * Deff * pi
Ceci nous conduit aux expressions des modèles géométriques de translation axiale :
z=θ/360° * Deff * pi ( modele direct)
θ=(360°*z)/(Deff * pi ) ( modèle inverse)
Ces équations nous fournissent un moyen précis pour établir la position verticale de la plaque en se basant sur l'angle de rotation du servomoteur et, à l'inverse, pour calculer l'angle nécessaire pour atteindre une position verticale déterminée.
B) conception CAO 🖥️✏️📐:
Nous passons maintenant à la phase de modélisation des composants de notre robot. Nous utiliserons SolidWorks pour cette tâche, un outil de CAO parfait pour transformer nos plans en modèles numériques. C'est une étape importante pour rendre nos idées concrètes et fonctionnelles.
Notre création robotique est une interprétation du robot pantographe, caractérisée par une conception où les axes de deux servomoteurs convergent, orchestrant les mouvements des bras et en conséquence, la trajectoire du stylo.
La structure du robot est articulée autour de trois sous-ensembles principaux:
-
Le bâti : Formant la fondation du robot, ce premier sous-ensemble est chargé d'accueillir et de stabiliser les deux servomoteurs principaux. Ces moteurs sont essentiels pour actionner les mouvements latéraux et longitudinaux, conférant au robot une capacité de translation précise sur le plan 2D.
-
Les Bras et le Porte-Stylo : Ce sous-ensemble représente les membres actifs du robot. Attachés aux servomoteurs, les bras articulés du robot sont la clé de sa capacité à dessiner. Ils suivent avec fidélité les instructions de mouvement pour guider le stylo sur la surface dédiée. ,
-
Le Mécanisme de Translation Verticale : Incorporant un système de pignon et crémaillère, ce troisième sous-ensemble enrichit le robot d'une fonctionnalité verticale. Il permet à la surface de dessin de s'élever ou de s'abaisser, donnant au robot la faculté de ponctuer le papier de dessins en pointillés ou de lever le stylo entre les points, conformément aux spécifications techniques préétablies.
- Idées Créatives pour la Conception des Pièces 🎨🔩
.
figure 14 : Idée de bâti pour la modélisation
figure 15 : Idée de bras pour la modélisation
figure 16 : Idée de plaque élévatrice pour la modélisation
- le Développement des Pièces 🛠️:
Figure 17 : Capture d’écran de notre conception de robot sur solidWorks
A) Bâtis :
Notre bâti est composé de quatre pièces différentes. Nous avons créé des logements pour les deux servomoteurs grâce aux dimensions qui nous ont été fournies. Notre bâti assure ainsi le maintien en position des deux servomoteurs grâce à des liaisons appuis-plan réalisées par un épaulement. La mise en position est assurée par des vis qui seront installées lors du montage de nos pièces.
Figure 18 : Epaulement et montage des moteurs sur le bâti
B) Bras:
L'assemblage du bras de notre robot se compose de quatre pièces distinctes : deux demi-bras, l'un côté moteur et l'autre côté effecteur, ainsi qu'un support cylindrique qui nous permettra de loger notre marqueur. Pour assembler les deux demi-bras, nous utiliserons un roulement à billes et un axe en métal afin d'assurer la liaison pivot.
Figure 19: assemblage des bras
- Demi-bras 1: (coté moteur)
Ce demi-bras est une bielle qui permet la liaison directe entre le servomoteur et le reste du bras robotique. Il est fixé au servomoteur via un système de vis.De l’autre côté de la pièce, un enlèvement de matière circulaire a été creusé pour laisser de la place à un roulement à bille.
Figure 20 : demi-bras 1
- Demi-bras 2 : (cote effecteur)
Ce demi-bras est conçu pour tenir et manipuler l'effecteur, ici un marqueur.À une extrémité, ce demi-bras présente un creux compatible avec la liaison pivot, permettant une rotation fluide et un alignement précis avec le premier demi-bras. L'autre extrémité est spécialement élargie pour former un anneau, dans lequel est placé le cylindre creux tenant le marqueur.
Figure 21 : demi-bras 2
💭 Remarque : La pièce mentionnée ici se trouve en deux exemplaires dans l'assemblage du robot. Les extrémités en forme d'anneau de ces deux composants sont disposées l'une sur l'autre, créant ainsi une superposition alignée. Ces deux bras sont alors connectés l'un à l'autre par l'intermédiaire d'une pièce cylindrique, le support du stylo , dont nous détaillons la conception et la fonction dans la suite de notre présentation.
- Support du stylo
Le support à marqueur est constitué d’un cylindre creux et d’un rebord rectangulaire qui assure un contact appui plan avec l’anneau d’une des bielles, ce qui évite que le support ne glisse.Il est essentiel que les bras puissent tourner autour de ce cylindre, d'où la nécessité d'une liaison pivot avec un léger jeu entre le cylindre et les deux demi-bras côté effecteur. Sur le bord du cylindre, un trou a été aménagé pour permettre l'insertion d'un axe. Cet axe sert à maintenir et ajuster la position du marqueur à l'intérieur du support. Un écrou fixé sur cet axe garantira que le marqueur reste stable et en place dans le cylindre.
Figure 22 : Support du marqueur
C) Plaque montante:
Afin de soulever le stylo et exécuter les motifs de dessin spécifiés dans notre cahier des charges, nous avons choisi d'implémenter un mécanisme de pignon-crémaillère. Ce système est conçu pour élever la plaque sur laquelle le dessin est effectué. Pour la conception de ce mécanisme, nous avons utilisé l'outil Toolbox de Solidworks, un choix stratégique qui nous a permis de modéliser avec précision et efficacité le système pignon-crémaillère adapté à nos besoins spécifiques tout en gagnant du temps . Cet outil nous a offert la flexibilité nécessaire pour ajuster les paramètres de conception .
Il est important de veiller à la cohérence du module utilisé pour le pignon et la crémaillère, car ils doivent impérativement être identiques pour assurer un fonctionnement correct et efficace. Pour notre projet, nous avons opté pour un module de 1,5. Ce choix garantit une compatibilité parfaite entre le pignon et la crémaillère, essentielle pour une transmission de mouvement fluide et précise.
Figure 23 : plaque montante
Dans notre conception, nous avons soigneusement intégré une encoche dans la plaque de dessin spécifiquement conçue pour y loger la crémaillère (pour renforcer la fixation de la crémaillère sur la plaque, nous prévoyons d'ajouter des points de colle aux emplacements stratégiques.)
Par ailleurs, pour garantir la stabilité de la plaque de dessin, nous avons conçu une pièce supplémentaire ( petit pied représenté en noir sur la figure 21). Cette pièce est spécialement élaborée pour accueillir un axe .L'insertion de cet axe dans la pièce conçue assure un maintien ferme et stable de la plaque, une caractéristique essentielle pour la précision et la qualité des dessins réalisés par le robot.
Enfin , pour maintenir en place l'ensemble des pièces précédemment évoquées, nous allons découper une
plaque sur laquelle nous allons assembler toutes ces pièces.
- Processus de Fabrication 🏗️⚙️
Nous avons choisi la découpe laser pour fabriquer la majorité nos pièces. Cette décision découle de plusieurs raisons. Tout d'abord, la découpe laser offre une précision remarquable dans la réalisation de pièces, permettant des finitions nettes et détaillées. De plus, elle est rapide et efficace, rendant le processus de fabrication plus rapide comparé à l'impression 3D, qui peut prendre plus de temps pour produire des objets complexes. La découpe laser excelle également dans la découpe de matériaux variés, offrant une flexibilité dans le choix des matériaux adaptés aux besoins spécifiques du projet. En outre, elle est souvent plus économique pour la production en série de pièces, offrant une alternative rentable par rapport à l'impression 3D, notamment pour des applications où la solidité mécanique et la précision sont essentielles.
Toutefois , nous avons opté pour l'impression 3D pour la fabrication des pieds qui servent de support à notre plaque de dessin, ainsi que pour le support cylindrique destiné à accueillir le stylo. Cette décision est motivée par la complexité de la conception de ces pièces et leur épaisseur importante , qui rendent leur fabrication difficile avec la découpe laser disponible à Polytech. L'impression 3D offre la flexibilité et la précision nécessaires pour réaliser ces composants aux formes spécifiques et aux dimensions requises.
Notre modélisation Solidworks est accessible en annexe dans le fichier zip "solidworksRobot.zip"
C) Etude électrique ⚡🔌
Dans cette section, nous détaillons l'architecture électronique de notre robot, en mettant l'accent sur le matériel, l'alimentation et la connectique.
- Le matériel utilisé:
Le cœur de notre système de commande est une carte Arduino Uno.Elle est configurée pour contrôler trois servomoteurs : deux servomoteurs HS422 et un servomoteur Emax ES08A. De plus, nous intégrons trois boutons-poussoirs et un joystick pour assurer une interaction utilisateur intuitive, en particulier pour la commande manuelle du stylo. La visualisation de l'état du système et des modes de fonctionnement est rendue possible par l'utilisation de LED : deux pour signaler l'activation des fonctions principales et une troisième pour indiquer le type de trait (continu ou pointillé). Les connexions électriques entre ces composants sont établies à l'aide d'une plaque de prototypage.
- L'alimentation:
Le système robotique est alimenté directement par une carte Arduino Uno, car les besoins en tension et en courant sont compatibles avec ses capacités ( suffisamment faibles). Pour garantir une source d'énergie stable et fiable, nous utiliserons le chargeur standard de l'Arduino, branché via sa prise jack, assurant ainsi le fonctionnement optimal de notre robot.
- Connectique des Éléments à l’Arduino:
Le tableau ci-dessous récapitule la connexion des divers composants aux pins correspondants de la carte Arduino Uno :
- Le joystick:
Le joystick est un composant clé pour la deuxième fonctionnalité attendue, à savoir le contrôle manuel du déplacement du stylo dans un carré de 5 cm de côté. Il dispose de trois sorties : un bouton poussoir et deux potentiomètres fournissant des valeurs analogiques entre 0 et Vcc. Ces valeurs sont traduites en pourcentages de vitesse pour chaque axe, variant de -100% à +100%, permettant ainsi un contrôle précis et réactif du mouvement du stylo.
- Schéma électrique:
Pour la réalisation du schéma électrique et le câblage de notre solution robotique, nous avons choisi d'utiliser le logiciel Tinkercad. Cet outil en ligne s'est révélé être un choix judicieux. En effet, le logiciel offre une large gamme de composants électroniques virtuels qui peuvent être facilement glissés et déposés dans le schéma, permettant ainsi une représentation précise de notre configuration matérielle.
figure 15: Illustration du câblage de notre robot
💭 Remarque : Ici ,le joystick est imité avec deux potentiomètres et un bouton-poussoir, en raison de l'absence de joystick dans le logiciel. Nous avons également inclus un bloc d'alimentation temporaire pour tester la conformité électrique du circuit, qui ne sera pas inclus dans le montage final.
figure 16: Schéma électrique de notre robot
D) Algorithmes de commande 📊💻
- Les Bibliothèques utilisées:
La bibliothèque `Servo.h` est un composant essentiel de l'environnement de développement Arduino, spécialement conçue pour la commande des servomoteurs. Cette bibliothèque intègre un ensemble de fonctions destinées à simplifier la gestion des signaux PWM, qui sont important pour le contrôle précis de la position et de la vitesse des servomoteurs. Parmi les fonctions offertes par `Servo.h`, on retrouve :
- `attach()` : pour lier un servomoteur à une broche spécifique.
- `write()` : pour définir la position du servomoteur en degrés.
- `read()` : pour lire la position actuelle du servomoteur.
- `writeMicroseconds()` : pour un contrôle plus fin en spécifiant la durée de l'impulsion.
- `detach()` : pour libérer la broche associée au servomoteur.
- 'pinMode()' : pour donner le mode d’entrée ou de sortie de la broche spécifiée.
Grâce à cette bibliothèque, il est possible de gérer simultanément plusieurs servomoteurs de manière autonome, ce qui est indispensable pour la complexité de notre projet.
- Développement d'algorithmes secondaires :
Notre programme intègre diverses fonctions secondaires qui permettent de faire fonctionner les fonctions principales.
- Une fonction de détermination des coordonnées actuelles basée sur les angles des servomoteurs, conformément au modèle géométrique du robot.
- Une fonction de calcul des angles requis pour les servomoteurs afin d'atteindre un point cible, suivant le modèle géométrique inverse.
- Une fonction spécifique pour localiser le point le p lus proche sur un cercle de rayon 2,5 cm, centré sur la surface de travail, par rapport à la position actuelle du stylo.
- Une fonction de calcul du point de départ optimal pour tracer une ligne de 5 cm de longueur à l'intérieur d'un carré de 5 cm de côté.
- Une fonction d'estimation de l'intervalle d'angles possibles pour les segments de 5 cm débutant au point actuel, tout en restant dans les limites du carré prédéfini.
- Une fonction de commande qui ajuste la hauteur de la plaque de dessin, permettant ainsi au stylo de toucher ou de se retirer de la surface, facilitant de ce fait la création de motifs continus ou en pointillés.
- Le fonctionnement général de notre algorithme :
La logique centrale de notre programme est conçue pour réagir aux signaux des boutons poussoirs, initiant ainsi des actions prédéfinies correspondantes.
- Fonction de Dessin de Cercle :
La première opération programmée est le dessin d'un cercle. Cette fonction débute par la localisation du point initial du cercle. Une fois ce point identifié, elle positionne le stylo pour débuter le tracé et entreprend ensuite le parcours circulaire, complétant un tour complet de 360 degrés.
- Fonction de Traçage de Ligne :
La seconde fonction a pour objectif de tracer une ligne droite de 5 cm à l'intérieur d'une zone carrée de dimensions égales. Le programme dirige d'abord l'effecteur vers le point de départ le plus approprié à l'intérieur de ce carré. Il utilise ensuite une routine secondaire pour générer une orientation aléatoire, mais admissible pour le tracé, avant de procéder à l'exécution du tracé de la ligne.
- Fonction de Contrôle Manuel :
La troisième fonctionnalité offre un contrôle manuel du mouvement du stylo via un joystick. Les signaux issus des potentiomètres du joystick sont convertis en un pourcentage de vitesse, qui peut varier de -100% à 100% pour les deux axes du plan.
Enfin, une fonction de navigation autonome est implémentée pour déplacer le robot vers un point cible prédéterminé. Cette fonction calcule les angles nécessaires pour chaque servomoteur afin de diriger précisément le stylo vers le point désigné.
Notre algorithme est entièrement accessible dans le document joint, intitulé "code robot maranis.ino".
Nos fichiers SVG et DXF, préparés pour la découpe laser, sont également disponibles en annexe.
E) Test de notre modèle électrique-informatique ⚡🖥️
Pour valider notre modèle électrique et informatique, nous avons effectué une simulation sur le simulateur Arduino Wokwi. Les résultats se sont révélés concluants : les servomoteurs réagissent conformément à nos attentes, en réponse aux signaux des boutons poussoirs et du joystick en mode manuel. Cette simulation est accessible ici, permettant ainsi de tester et d'expérimenter notre conception directement.
Journal de Bord - Évolution du Projet Robotique 🤖
07/02/2024:
- Formation des Groupes : Les équipes ont été créées, favorisant une belle diversité de compétences et d'expériences.
- Brainstorming : Séance intense de brainstorming en groupe. Des idées variées ont été proposées, allant de concepts innovants à des applications pratiques pour le robot.
- Choix des Idées : Avec tant d'idées intéressantes, la difficulté principale était de se concentrer sur les plus réalisables. Trouver un consensus a pris du temps mais a été enrichissant. Heureusement, l'orientation des professeurs a été cruciale; ils nous ont guidés pour éviter de tomber dans des pièges ou de concevoir des prototypes irréalistes.
- Planification Initiale : La mise en place d'un plan d'action initial a été un peu chaotique🚨, avec plusieurs opinions sur la direction à prendre. Après discussion, nous avons décidé de fusionner certaines idées pour créer un concept de robot plus cohérent et réalisable. Nous avons ainsi établi un plan d'action plus structuré pour la prochaine séance, en se concentrant sur des objectifs spécifiques.🚀
💡 Note pour la Prochaine Séance
- Se concentrer sur l'élaboration d'un prototype de base pour le robot avec calculs précis des modèles cinématiques.
- Affiner les rôles au sein de l'équipe pour une efficacité accrue.
21/02/2024:
🔧 Répartition des Tâches Aujourd'hui, nous avons réparti les tâches pour booster notre efficacité. Tandis qu’un travaillait sur la modélisation CAO sur SolidWorks, les autres se sont concentrés sur le modèle électronique pour Arduino et la création du code informatique pour assurer les mouvements adéquats du robot.
-
Électronique et Informatique
- La partie électronique-informatique est maintenant réalisée et fonctionnelle. Un grand pas en avant pour notre projet !
-
Réflexion sur la Création des Pièces
- Nous avons décidé des matériaux à utiliser et de l'épaisseur souhaitée pour nos pièces.
- Les mesures clés, comme la longueur des bielles formant le bras et du bâti, ont été déterminées.
- Première expérience avec la machine à découpe laser. Nous avons identifié certaines contraintes : principalement, le laser est plus adapté pour graver que pour faire de gros trous, pour éviter d'enflammer le matériau.
- Nos pièces seront conçues pour s'emboîter, à la manière des petites boîtes à idées du FabLab, avec des encoches pour faciliter la fixation.
-
Retour sur le Modèle Géométrique
- Moment de discussion enrichissant avec le professeur à propos de nos calculs géométriques. Cette révision nous a permis d'affiner notre approche.
🔜 Prochaines Étapes
-
- Notre objectif pour la prochaine séance est d'avoir terminé la modélisation afin de la soumettre aux professeurs pour validation.
- Nous envisageons de commencer la fabrication des pièces avec la découpe laser.
29/02/2024:
🔍 Modèle Géométrique sur SolidWorks:
Nous avons testé et validé notre modèle géométrique direct sur SolidWorks.
Discussion et Solution avec le Professeur 🗣️
Nous avons eu une discussion productive avec notre professeur sur la façon de fixer notre robot, étant donné que nous ne pouvons pas le fixer directement au sol. Après un brainstorming constructif, nous avons trouvé une solution ingénieuse : créer une plaque qui servira de support stable pour le robot, où il pourra être fixé à l'aide d'une MAP .
Finalisation et Assemblage Virtuel des Pièces
Nous avons finalisé la conception des différentes pièces sur SolidWorks et commencé l'assemblage virtuel. Cela nous a donné une première vision concrète de la façon dont les pièces s'emboîteront dans la réalité.
Prochaine Étape : Fabrication Réelle 🏗️
Notre objectif est d'avoir déjà fabriqué nos pièces avec la découpe laser et l'imprimante 3D pour la prochaine session.En effet, notre conception inclut beaucoup de pièces différentes, ce qui signifie un temps de fabrication assez long. On veut s'y prend à l'avance pour ne pas être pris de court et assurer une progression fluide du projet.