Projet ROB3 : Fares, Ilyes, Albéric
Projet ROB3 :
Ilyes Elotreuch, Farès 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.
Diagramme de Gantt :
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.
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
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.
Nous avons ensuite fait un code python pour calculer les valeurs des angles à partir de la position de la pointe du stylo:
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.
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
Changement d'état :
Le guidage du moteur 3 ainsi que l'angle de la rotation pour le changement de l'état restent à définir.
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.
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.