Skip to main content

Projet Rob3 - Cléo, Léon, Adam, Anass, Valentin, Marianne

Objectif GénéGénéral

Durant ce projet, nous souhaitons aliser un robot muni d'une pince capable de se placer dans une arèarène en partant d'une position fixe pour aller chercher un totem dont la position est approximativement connue et venir le redéredéposer àà un autre endroit de l'arèarène.

Lien vers l’énoncél’énoncé détaillédétaillé: https://wiki.fablab.sorbonne-universite.fr/BookStack/attachments/1660

Liens utiles (sujet, codes, pieces...):

https://drive.google.com/drive/folders/14LajcKTP-gMjvzBnxbDHBuGncc4ly4fF?usp=sharing

Planning

Afin d'avoir un planning structuréstructuré et facile àà suivre, nous avons mis en place un diagramme de Gantt vous pouvez voir les ches préprécises qui composent chaque le, qui a participéparticipé àà ces ches et sur combien de ances elles sont étaléétalées.

Lien vers le Diagramme de Gantt

Screenshot 2026-04-16 at 10.02.55.png

ance 1 12/02/2026

Dans le cadre de notre premièpremière ance, on s'est familiariséfamiliarisé avec le projet. On a parti les les pour une solution ordonnéordonnée du problèproblème :

Chef de projet : CléCléo SAUVENAY,
Responsable du Wiki : Marianne RODRIGUEZ,
Responsable informatique : Valentin BOUR,
Responsable canique : Adam ABDENNADHER,
Responsable éélectronique : on CHERPITEL,


le canique

Travail réaliséréalisé (ADAM, MARIANNE et VALENTIN): La modémodélisation du robot commence par un châchâssis triangulaire àà deux angles tronquétronqués, permettant de fixer les moteurs des roues sur des plaques perpendiculaires et la roue folle àà la pointe. Une tige assure l'alignement des roues, bien qu'elle puisse êêtre absente ou ajustéajustée dans le modèmodèle final pour permettre la rotation.

Dans ce premier modèmodèle la pince fonctionne via un systèsystème pignon-crémaillècrémaillère : une plaque dentédentée coulisse dans une encoche et s'engrèengrène avec une roue dentédentée entraînéentraînée par le moteur, assurant le mouvement vertical.

Enfin, deux capteurs de distance sont préprévus : un sur le côtécôté pour surveiller la trajectoire par rapport aux murs, et un au-dessus de la pince pour tecter la distance avec le totem.

IMG_7200.png

SchéSchéma du châchâssis, du systèsystème pignon-crémaillècrémaillère et du montage des roues sous le châchâssis.

IMG_7201.jpeg

SchéSchéma dimensionnédimensionné avec placement des diffédifférents composants (carte Arduino, batterie, etc.) 

Travail pour la prochaine ance : Un premier prototype en papier reprenant les dimensions complècomplètes du robot.

le Informatique

Travail pour la prochaine ance : Se familiariser avec la documentation et réfléréfléchir àà des structures de programmes.

le ÉÉlectronique

Travail réaliséréalisé (ANASS  et CLÉCLÉO): On a vérifiévérifié, comme demandédemandé par les enseignants, le bon fonctionnement de tout l'ééquipement éélectrique durant les 2 premièpremières heures, en suivant les instructions du PDF fourni par les référéférents. Lors de la dernièdernière heure, nous avons discutédiscuté de la direction que le groupe allait prendre concernant le robot ainsi que de l'organisation du projet.

ance 2 29/03/3026

le canique

Travail réaliséréalisé (ADAM et MARIANNE): Durant cette ance, nous avons reconsidéréreconsidéré le modèmodèle fini lors de la ance précéprécédente. Nous nous sommes rendu compte que le systèsystème pignon-crémaillècrémaillère préprévu pour manipuler la pince éétait trop complexe àà mettre en œœuvre. Nous avons donc décidédécidé de changer de stratéstratégie et d'opter pour un bras de type levier avec la pince àà son extrémitéextrémité. Nous avons ensuite réfléréfléchi aux pièpièces cessaires pour ce nouveau systèsystème :

 IMG_7596.jpeg

SchéSchéma du montage de la pince et de son encastrement dans le châchâssis

C'est ainsi que nous avons commencécommencé la modémodélisation du bras (fixéfixé au moteur et auquel la pince est attachéattachée) ainsi que du support permettant de fixer le moteur au châchâssis sur SolidWorks, afin de pouvoir ensuite l'imprimer en 3D.

(CLÉCLÉO): En me temps, nous avons commencécommencé àà nous familiariser avec la coupeuse laser dans le but de terminer les bonnes cotes au cas nous devrions faire des encastrements. Pour avoir un trou de 3 mm, il faut mettre 2,8 sur SolidWorks, et pour avoir un bon encastrement, il faut faire 3,02, donc une diffédifférence de 0,22.

le Informatique

Objectif de la ance : finir l'architecture génégénérale du programme de navigation du robot.

Travail réaliséréalisé (Anas, on, Valentin): L'ééquipe informatique s'est unie pour éétablir les grandes lignes du programme, en se concentrant sur trois fonctions centrales : le suivi de mur (longer un obstacle de manièmanière stable), l'atteinte du totem (guider le robot jusqu'àà la cible) et le retour au point de dépôdépôt.

Les primitives de placement ont éégalement étéété finies : placement en ligne droite, rotation sur place ou en arc, correction de trajectoire, ainsi que la récupérécupération et le dépôdépôt du totem.

Pour chaque fonction, un organigramme a étéété réaliséréalisé afin de modémodéliser la logique de contrôcontrôle, permettant de :

  • visualiser clairement les quences d'opéopérations ;
  • identifier les conditions et branchements cessaires ;
  • prépréparer une base solide pour l'impléimplémentation.

Algorithme de placement du robot 

1. Avancer de X cm puis tourner àà 90°90° droite
   Fin : mouvement / rotation des roues = terminéterminé

2. Avancer en gardant une distance àà droite de 30 cm
   Fin : distance avant = X cm

3. Tourner àà 90°90° gauche
   Fin : mouvement / rotation des roues = terminéterminé

4. Avancer en gardant une distance àà droite de 30 cm
   Fin : distance avant = X2 cm

5. RépéRépéter l'éétape 2

6. RépéRépéter l'éétape 3

7. RépéRépéter l'éétape 2

8. RépéRépéter l'éétape 3

9. Avancer en gardant une distance àà droite de 30 cm
   Fin : nb de tours de roue atteint

10. cher le totem

ParamèParamètres : X = distance avec le mur en face, X2 = distance avec le totem.

le ÉÉlectronique

Travail réaliséréalisé (Anass et on): Concernant le le éélectronique, nous avons connectéconnecté deux bles entre l’l’Arduino et le contrôcontrôleur moteur en les soudant, puis en les curisant avec une gaine thermoréthermorétractable. Nous avons ensuite ajoutéajouté un bornier afin de simplifier et d’d’optimiser les branchements. Enfin, le blage des moteurs vers l’l’Arduino a étéété réaliséréalisé.

ance 3 2/04/2026

Pole canique:

Travail réaliséréalisé (CléCléo): ModéModélisation du châchâssis sur SolidWorks avec les trous préprévus pour le placement des composants, le passage et la gestion des bles. coupe au laser dans une plaque de MDF 6 mm. AprèAprès test d'alignement, plusieurs ajustements ont étéété identifiéidentifiés : augmenter légèlégèrement le diamèdiamètre des trous pour les vis M3 fixant la carte Arduino, duire l'éécart entre les deux trous centraux, positionner les trous de fixation du moteur du bras en diagonale plutôplutôt qu'en ligne afin d'ééliminer le jeu, et ajouter des trous supplésupplémentaires pour le passage de serre-bles.

image.png

Photo du premier châchâssis 

(Adam): Durant cette ance, on a retravailléretravaillé la pièpièce permettant d'actionner la pince, qu'il a fallu re-modémodéliser aprèaprès avoir constatéconstaté un problèproblème de dimensionnement sur le premier essai. La pièpièce finale est la suivante :

image.png

AprèAprès impression, nous avons pu monter la pince, le moteur ainsi que l'ensemble des fixations.

IMG_7845.jpeg

Pour finir nous avons réfléréfléchi au montage des roues et àà comment garantir leur paralléparallélisme cela dans le but de pouvoir les  monter la ance prochaine.

IMG_7846.jpeg

SchéSchéma du montage des roues et de leur fixation

le ÉÉlectronique et Informatique

Travail réaliséréalisé (Anass, on, Valentin): Lors de cette ance, les les informatique et éélectronique se sont concentréconcentrés sur des tests de placement du robot, en s'appuyant sur un code d'exemple permettant de contrôcontrôler les roues selon trois modes : avancer, reculer et tourner. Ce code s'est avéréavéré fonctionnel et les trois actions ont étéété exécutéexécutées avec succèsuccès.

Cependant, deux problèproblèmes sont apparus : la pince effectuait des mouvements non préprévus, puis en tentant de changer de port, l'alimentation de la carte Arduino a étéété court-circuitécircuitée. Une grande partie de la ance a donc étéété consacréconsacrée àà identifier les composants fectueux et ceux encore fonctionnels (capteurs et moteurs KTECH).

Pour la prochaine ance, l'objectif est de réimpléréimplémenter le code sur une nouvelle carte Arduino afin de retrouver les mouvements de base du robot, puis d'intéintégrer la tection des capteurs.

ance 4 16/03/2026

Pole Mécanique:Mécanique

Travail réaliséréalisé : Durant cette séance, le pôle mécanique a poursuivi le développement du châssis et l'intégration des différents composants du robot.

Les pièces de fixation des roues ainsi que celles dédiées aux capteurs infrarouges ont été conçues, modélisées puis découpées dans des plaques de MDF 6 mm. Ce premier montage complet a permis d'identifier plusieurs conflits entre certaines pièces, dont le plus critique était le défaut de parallélisme des deux roues motrices. Le châssis a donc été retravaillé pour corriger ces problèmes, et une nouvelle version a pu être découpée.

Dans un second temps, les pièces relatives aux capteurs et au positionnement de la batterie ont été modélisées et découpées. Il a été décidé de placer les capteurs sous le châssis afin d'optimiser leur efficacité. La batterie, quant à elle, est posée directement sur le châssis et maintenue en position par quatre cales encastrées, assurant un maintien solide sans fixation supplémentaire.

IMG_7847.jpeg

le ÉÉlectronique et Informatique

Travail réaliséréalisé :  Durant cette ance, le le informatique a travaillétravaillé sur deux axes principaux : le contrôle des actionneurs et l'architectureexploitation généraledes données capteurs.

Un premier programme a été développé pour piloter les déplacements du programme ainsi que sur l'implémentation de plusieurs fonctionnalités clés.

Le robot est contrôlé parvia un Arduino qui communiquecommuniquant avec deux moteurs via unpar bus CAN. Le marrage de la séquence est déclenchédéclenché par un bouton-poussoir sur la pin 2, gérégéré par interruption matématérielle, ce qui permet au programme d'attendre sans bloquer la boucle principale. Plusieurs primitives de mouvement ont été implémentées — avancer, tourner à droite et à gauche — et validées par une séquence de test en boucle infinie, sans anomalie observée.

ConcernantPour l'odométrie, le robot estimeestimer sa position et son orientationorientation, enle lisantrobot lit en continu l'angle de rotation de chaque roue depuis les moteurs. ÀÀ chaque cycle, la variation d'angle est convertie en distance parcourue grâgrâce au périmèpérimètre de roue (diamèdiamètre 50 mm, soit environ 157 mm). La: la moyenne des deux roues donne la distance avancéavancée, tandis que la diffédifférence donne la rotation. Ces valeurs mettent àà jour les variables de position odom_x_mm, odom_y_mm et odom_theta, et pilotent les fonctions moveForward_mm() et rotate_deg() jusqu'àà ce que l'objectif soit atteint.

Deux capteurs ultrasons HC-SR04 ont étéensuite utiliséété intégrés : un capteur avant (pins 22/23) pour tecter unles obstacle en face,obstacles, et un capteur droit (pins 42/43) pour mesurer la distance au mur latélatéral. En l'absence d'éécho dans un lai de 30 ms, la distance est fixéfixée àà 999 cm,cm. indiquantSur l'absencecette base, un programme d'obstacle.

asservissement

Lea suiviété dedéveloppé murpour repose sur une correction bang-bang avec deux seuils : si la distance droite est inférieure à 10 cm,maintenir le robot està tropdistance prèsconstante du murmur, etselon ralentitune logique bang-bang : en dessous de 10 cm, la roue gauche pour se corrigerralentit ; siau-dessus elle est supérieure àde 15 cm, il ralentitc'est la roue droite.droite Entre; 10entre etles 15 cm,deux, les deux roues avancent àà vitesse normale. L'arrêt duLe longeage ses'arrête déclenchedès lorsqueque le capteur avant tecte un obstacle plus proche que le seuil mesurémesuré en but de phase.

DeuxEnfin, deux tests ont étéété réalisés.conduits Le: le premier portait sur le déplacement pur, validantvalidait les fonctions de mouvement sans capteurseules afin de rifier le bon fonctionnement de l'odoméodométrie et dule bus CAN.CAN Le; le second ajoutait les capteurs ultrasons et la logique de longeagelongeage, :avec laun fonction printDistances() afficheaffichage en continutemps lesréel des distances lues dans le moniteur rie (AVANT: xx cm | DROITE: xx cm), ce qui a permis de valider les seuils de correction avant de lancer le robot.

WhatsApp Image 2026-04-16 at 11.56.00.jpeg

SchéSchéma du fonctionnement du programme