Skip to main content

Projet ROB3 : Fares, Ilyes, Albéric

Projet ROB3 : 

Ilyes Elotreuch, Fares Charni, Albéric Fasquelle

Informations

Polytech Sorbonne - Spécialité Robotique - Projet de 3eme année 

Contact des membres de l'équipe :
Albéric Fasquelle alberic.fasquelle@etu.sorbonne-universite.fr
Ilyes Elotreuch ilyes.elotreuch@etu.sorbonne-universite.fr
Fares Charni fares.charni@etu.sorbonne-universite.fr

Introduction

Dans le cadre de ce projet de robotique nous avons à réaliser un robot écrivain. Celui-ci dispose de plusieurs fonctions et mode qui participe à la complexité de ce projet. 

En premier lieu nous avons le mode manuel qui pilotera le robot à l'aide d'un joystick afin de dessiner ce que l'on souhaite. De plus notre robot dispose de quatre fonctions supplémentaires qui dessinerons de manière automatique une cercle et une ligne.

Le présent document détaille les exigences du projet, les différentes étapes de sa réalisation, ainsi que les ressources et les échéances qui nous guideront tout au long de ce processus.

Cahier des charges 

Dans ce cahier des charges, nous sommes chargés de concevoir un robot capable de réaliser des dessins sur une surface plane. Nous devons lui permettre d'accomplir différentes tâches, telles que tracer des lignes et des cercles de longueurs et de rayons spécifiques dans un temps défini. De plus, il doit être en mesure de reproduire un dessin particulier dans un carré donné, tout en étant contrôlé par un joystick pour son mouvement. Nous pouvons envisager d'ajouter une fonctionnalité supplémentaire pour ajuster la vitesse du robot selon les besoins. Les contraintes incluent l'utilisation exclusive des équipements du FABLAB de Sorbonne Université, le choix des composants prédéfinis, la fabrication des pièces avec des machines spécifiques, et la programmation en C via l'IDE Arduino. Notre objectif sera également de minimiser la quantité de matériau utilisé pour ce projet.

1. Conception préliminaire 

Dans cette section, nous présentons trois solutions potentielles pour la conception et la réalisation du robot écrivain, en tenant compte des exigences du cahier des charges et des contraintes spécifiées. Chaque solution est accompagnée de schémas, ainsi qu'une explication pour faciliter la compréhension. Nous avons retenu une proposition parmi les trois proposé ci dessous en fonction du cahier des charges et de nos préférences personnelles. 

Solution 1 :


La première solution utilise pour les mouvements dans le plan horizontal de la feuille un mécanisme en boucle fermée à 4 barres, 5 liaisons pivots, dont deux sont motorisées. Voir une explication de son fonctionnement sur ce site . Pour les mouvements verticaux, on produit une translation verticale de la base qui soulève l'ensemble du robot.

Nous nous sommes inspiré du robot Cozmo WeDraw pour la création de cette solution. Voir ici (minute 2:25 de la vidéo)

Solution 2 : 

Notre deuxième solution est un bras robotique classique utilisant les servomoteurs en série afin de déplacer le bras selon les axes X et Y. Le troisième servo est utilisé ici pour soulever l'effecteur. Cette solution possède certains avantage comme une configuration cinématique assez simple. Cependant, elle présente des risques de stabilité structurelle, surtout lors de mouvements rapides. De plus, la précision du robot peut être compromise aux extrémités au niveau de l'effecteur, en raison des effets de la gravité et de la flexion des composants(notamment des servomoteurs).

Solution 3 : 

Notre 3eme solution s'appuie sur un principe de guidage linéaire, à la manière des imprimantes 3D en retirant la composante Z. Un dispositif de guidage supporte le crayon et se déplace le long de rails des guidages pour réaliser les dessins sur la plaque support. Cette solution utilise deux rails de guidage ainsi que des courroies pour déplacer l'effecteur selon l'axe X et Y. Pour soulever le stylo nous ajoutons un servomoteur au niveau du stylo. Cette solution ne sera pas retenu en raison des contraintes matériels. 

Choix de la solution 

L’idée 3 à été écarté des possibilités en raison des composants disponibles.

Solution  Avantages Inconvénients

Idée 1

-Facilité de conception 

-Esthétique

-Précision : pas de contraintes mécanique trop importante sur l'axe des servomoteurs

 

-Possibilité d'une écriture du code plus complexe en raison de la forme.
Idée 2

-Mise en place simple

-Architecture simple

-Pas de contrainte potentielle sur les composants

-Possiblement difficile à réaliser car la contrainte mécanique sur l'axe d'un des servomoteur.

-Pas spécialement beau

 

Idée 3

- modèle cinématique facile à réaliser

-Guidage difficile à réaliser au niveau des courroies

-Composant non disponibles: courroie, rails de guidage 

-possibilité de perte de précision lors des déplacements à causes des roulements

Nous avons décidé après l'étude des différentes solution de sélectionner la première proposition. D'une part puisque nous trouvions le design  agréable et original. Et d'autre part pour certaines raisons pratiques cités ci-dessus. 

Ensemble des tâches à réaliser pour la conception du robot :

Voici dessous l'ensemble des tâches réaliser lors des différentes étapes de la réalisation de ce projet. 

image.png

Diagramme de Gantt :

Voici ci dessous le diagramme de Gantt prévisionnel du projet. Celui-ci est amené à être modifié selon l'avancement du projet. 

image.png

2. Conception détaillé du robot

2.1 Schéma électronique :

Pour la réalisation du schéma électronique, nous avons tout d'abord fait la liste de tout le matériel nécessaire à la bonne conception de celle-ci. La carte électronique est segmenté en plusieurs parties: 

  • Nous avons  tout d'abord l'élément central, l'Arduino. Il s'agit du microcontrôleur, c'est à dire le "cerveau" de la carte. Celui-ci est relié à chaque composant afin de les faire fonctionner entre eux.
  • Ensuite nous avons la partie des servomoteurs visualisés ici par des autocoms. 
  • Nous avons également ajouté une partie debug pour la partie des 4 modes à réaliser. Nous avons ajouter un bouton pour activer ou non les modes. Et nous avons ajouter une led rgb pour deux intérêts, d'une par pour pouvoir afficher l'état ou l'avancement du mode en court, il s'agit donc d'une aide pour debug. Et il y a également un côté esthétique. 
  • Enfin nous avons l'alimentation et le joystick modélisé également par des autocoms. 

image.png

Pour modélisé la carte nous avons fait le choix d'utiliser le logiciel KiCad pour deux raisons. LA première est que ce logiciel a déjà été utilisé par certains membres du groupe. Et la seconde pour son côté pratique qui nous permettra si le temps nous le permet d'imprimer une carte électronique(PCB). Pour rendre le projet encore plus attrayant. 

2.2 Équations de mouvement du robot

Dans cette section, nous nous concentrerons sur la manière pratique de gérer le mouvement du robot dessinateur. Notre objectif est de comprendre comment convertir les coordonnées souhaitées de la pointe du stylo sur la surface de dessin en mouvements précis des articulations du robot. Pour ce faire, nous aborderons les principes de base de la cinématique directe, qui nous permettent de déterminer la position du stylo en fonction des angles des articulations du robot.

Ensuite, nous explorerons le modèle géométrique inverse, une méthode essentielle pour programmer le mouvement du robot avec précision et efficacité. Ce modèle nous permettra d'établir les équations qui relient les coordonnées de la pointe du stylo aux angles des articulations du robot, fournissant ainsi un cadre pratique pour contrôler le mouvement du robot dessinateur dans diverses situations.

Modèle géométrique inverse

image.png

image.png

image.png

image.png

Nous avons ensuite réalisé une esquisse de notre robot sur SolidWorks pour vérifier les équations. En rendant les cotations des angles pilotées, nous pouvons introduire une position de la pointe du stylo, et obtenir les angles correspondants, avec la prise en compte des longueurs des bielles du robot. On observe que les valeurs concordent avec celles données par les équations.

image.png

Nous avons ensuite fait un code python pour calculer les valeurs des angles à partir de la position de la pointe du stylo:

image.png

image.png

On observe que les valeurs obtenues avec SolidWorks concordent avec celles obtenues par les équations.

On peut valider le modèle géométrique.

On prendra en particulier pour simplifier les calculs une structure de losange formée par les bielle 1 2 3 et 4 .

2.3 Conception de la structure du code et de l'interface

Pour structurer notre code, nous avons d'abord conçu l'interface utilisateur à l'aide du matériel fourni.
Cette interface permet de répondre aux exigences du cahier des charges en assurant un changement dynamique entre différents modes de dessins et une interruption rapide du processus en cas de besoin. 

Logigramme de l'interface :

Notre interface est composé du bouton démarrage, du joystick et d'un bouton de changement de mode.

On a choisit, pour rendre notre interface plus compacte d'implémenter le système suivant, où l'appui sur le bouton changement de Mode suivi d'un mouvement du joystick permettra de changer entre 4 modes.


L'appui sur le joystick permet par ailleurs d'interrompre ou de reprendre de manière aisée et rapide le dessin.

Logigramme interface.png

Détaillons le logigramme du code pour le mouvement du stylo et le changement de l'état Stylo levé/Stylo bas :

Changement de position :

On voit que les nouvelles valeurs des angles dépendent d'elles mêmes.
On implémentera lors de nos tests 2 codes différents pour le calcul de la nouvelle position:


Le premier calculera les nouvelles positions à partir des positions actuelles -> Plus rapide

Le deuxième utilisera la dichotomie pour résoudre l'équation du mouvement ->Plus précis mais calcul très coûteux

Logigramme Mouvement Joystick.png

Changement d'état :

Le guidage du moteur 3 ainsi que l'angle de la rotation pour le changement de l'état restent à définir.

Logigramme Appuie sur Joystick.png

2.4 Conception mécanique du robot

La conception mécanique du robot écrivain est essentielle pour assurer sa stabilité, sa précision et sa facilité d'utilisation. Pour la réalisation de celui-ci nous nous sommes inspiré du Wedraw de Cozmo que nous avons trouvé original. Notre robot est composé d'un corps principal sur lequel sont montés deux servomoteurs pour contrôler les bras. Les bras, joints au niveau de leur main, supportent le crayon utilisé pour le traçage des figures sur la surface de la plaque support.

Description du Robot

Le corps principal du robot est conçu pour abriter l'électronique de contrôle ainsi que les mécanismes de mouvement. Les deux servomoteurs, placés de manière symétrique de chaque côté du corps, assurent les mouvements des bras dans le plan horizontal de la feuille. À l'extrémité de chaque bras se trouve une articulation permettant le mouvement du crayon dans toutes les directions nécessaires pour dessiner les figures spécifiées dans le cahier des charges.

Ci dessous notre vue 3D de notre robot. Les couleurs ont été apportés pour amener du contraste dans notre structure afin de mieux visualiser les composants. 

7l9image.png

Choix des matériaux 

Lors de ce projet, nous avons fait le choix de privilégier certains matériaux. Nous avons choisi en priorité l'utilisation de la découpe laser pour la fabrication des pièces principales de la structure, notamment le corps principal du robot et les bras articulés. La découpe laser offre une grande précision dans la réalisation des pièces, permettant ainsi d'obtenir des assemblages parfaitement ajustés et une structure globalement robuste. De plus, ce processus de fabrication est rapide et efficace, ce qui nous permet de produire les pièces simplement. 

Quant aux pièces de l'effecteur, telles que le support du crayon et les éléments de fixation, nous avons opté pour l'impression 3D. Ce procédé nous offre une grande flexibilité dans la conception des pièces, nous permettant ainsi de réaliser des formes complexes. L'impression 3D est très utile pour les petites pièces mais peut vite devenir un problème si nous devions réaliser de grande pièce. C'est pour cela nous avons privilégier la découpe laser pour les pièces structurant notre projet. 

Choix de la structure général 

En ce qui concerne la disposition des composants mécaniques, nous avons décidé de placer les deux servomoteurs sur le même axe verticale. Cette disposition simplifie non seulement les équations de mouvement du robot, mais elle offre également une répartition uniforme des charges.

Les bras du robot sont articulés à l'extrémité du corps principal, permettant ainsi une grande liberté de mouvement pour le crayon utilisé dans le traçage des figures sur la surface de la plaque support. Cette conception garantit également une précision optimale dans l'exécution des dessins. Celle-ci nous permet donc de séparer  la partie utilisateur du bras mécanique.

Maintien de la structure

Afin de maintenir la structure en place nous avons fait le choix de prendre des tiges filetés pour serrer la structure sur elle même. Des écrous maintiendrons le tout en place. Nous avons fait le choix de cette solution puisqu'elle présente plusieurs avantages. La première est la simplicité de mise en place. Et la seconde est le fait de pouvoir accéder facilement au composant si l'on veut faire de la maintenance. Nous avons besoin seulement de dévisser 4 écrous. 

Mécanisme de Relevage du Crayon

Pour relever le crayon du support horizontal lorsqu'il n'est pas en cours d'utilisation, nous avons envisagé plusieurs solutions. Initialement, l'idée était de soulever le corps du robot, mais des préoccupations ont été soulevées quant à la capacité du servomoteur à supporter la charge de tout le système sans que la précision ne soit affecté. Nous nous sommes finalement rabattu sur la seconde solution. Nous avons donc placé un servomoteur au niveau du stylo qui viendra directement lever celui-ci sans avoir à relever l’ensemble de la structure.

Afin de lever le stylo de manière linéaire nous avons fait le choix d'une glissière. Un principe souvent utilisé en mécanique et simple à mettre en œuvre. 

Voici ci dessous les différentes vu de l'intérieur de notre robot :

image.png

Ci-joint le fichier SolidWorks du projet