# Projet ROB3 (Noah, Ali, Leo, Maeline, Pierre-Alexandre, Marita)

<span style="color: rgb(224, 62, 45);">**Équipe :** </span>

**DUVERNOIS--DUPARC Maéline :** Équipe informatique / responsable mise à jour Wiki

**EL HAJJ Marita** : responsable électronique/ responsable batteries

**EYNARD Noah** : chef de projet / équipe mécanique

**MEDDAD Ali** : Équipe informatique

**MONCEAU Pierre-Alexandre** : responsable informatique / responsable moteurs

**SABATIÉ Léo :** responsable mécanique

<span style="text-decoration: underline;"><span style="color: rgb(224, 62, 45); text-decoration: underline;">**Séance 1 :**</span></span>

<span style="color: rgb(53, 152, 219);"><span style="text-decoration: underline;">**Décisions collectives :**</span> </span>

- Répartitions des rôles + des équipes
- Définitions des grandes étapes et tâches du projet
- Diagramme de Gantt<span style="color: rgb(0, 0, 0);"></span>
- Premiers questionnements

<span style="text-decoration: underline;"><span style="color: rgb(45, 194, 107); text-decoration: underline;">**Types de comportement :** </span></span>

- comportement originel (appuyer sur le bouton)
- repositionnement par rapport au bord droit
- avancer tout droit par rapport au bord avant
- détecter obstacles
- détecter un plot
- tourner de 90°
- vérifier l’alignement avec l’objet
- Régler la hauteur de la pince
- saisir l’objet
- poser l‘objet (sans qu’il tombe)
- se dégager de l’objet

<span style="text-decoration: underline;"><span style="color: rgb(45, 194, 107); text-decoration: underline;">**Problématiques :** </span></span>

- Comment se repérer dans l’espace ?
- Comment trouver l’objet ? évaluer les distances pour le saisir ?
- poser le robot bien droit pour qu’il avance en ligne droite
- comment différencier les plots pour l’objet et ceux pour la destination ?
- sens de capteurs horizontal / vertical ?
- Capteur sur le châssis ou sur la pince ? : sur la prince pour baisser la pince en conséquence pour saisir et poser l’objet
- comment faire pour que l’objet ne tombe pas en le posant
- Position de l’objet ?
- comment détecter les plots → même chose que pour l’objet
- comment faire pour que le robot comprenne que c’est un plot et ne s’éloigne pas simplement du mur pour maintenir la distance de sécurité

Recherche de dimensionnement de l'arène, totem et robot :

[![porjetRob recherches dimensionnement.PNG](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2025-06/scaled-1680-/porjetrob-recherches-dimensionnement.PNG)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2025-06/porjetrob-recherches-dimensionnement.PNG)

<span style="text-decoration: underline; color: rgb(186, 55, 42);">**Séance 2**</span>

**<span style="color: rgb(45, 194, 107);">Décisions : </span>**

**Équipe méca :** imprimer et découper au laser les pièces pour monter le châssis test (mauvais prototype) pour pouvoir commencer à expérimenter le code.

**Équipe info :** commencer à faire fonctionner les moteurs et la pince

**Équipe électronique:** test du programme arduino avec le capteur HC-SR04 et des grandeurs qu’il retourne avec une vérification des mesures.

**<span style="color: rgb(45, 194, 107);">Rapports d’activité : </span>**

<span style="text-decoration: underline;">**DUVERNOIS--DUPARC Maéline :** </span>Écriture du code pour ouvrir et fermer la pince. Problème rencontré fermeture de la pince et le moteur force car il n’atteint pas la position demandée. Lecture de la librairie Arduino Servo. On connaît maintenant les commandes nécessaires à l’ouverture et à la fermeture de la pince.

**<span style="text-decoration: underline;">EL HAJJ Marita :</span>** Test des capteurs HC-SR04: Le code utilisé est le code publié sur le forum d’Arduino (ref. sitographie). Le capteur mesure à l’aide d’ultrasons la distance d’un obstacle par rapport au capteur. La mesure est précise pour des objets opaques. Pour des objets translucides (ex: règle qui peut faire passer de la lumière) les mesures ne sont pas très exactes surtout à de petites distances. La vitesse de déplacement de l’objet est limitée; quand on bouge brusquement l’objet, les mesures de la distance sont aléatoires et donc erronées (point à prendre en compte dans le pilotement de la vitesse du robot). Une autre limite du capteur est le placement de l’objet en face; un objet incliné est mal lu en distance, si l’objet est placé au milieu des deux “yeux” du capteur il est aussi mal lu, et s’il est placé uniquement sur un seul des yeux pareil. Distance minimale de lecture correcte: 4cm, Distance maximale/limite: 40cm.

**<span style="text-decoration: underline;">EYNARD Noah :</span>** Modélisation du Chassis et du soutient du moteur pour le bras. Choix der la solution du bras / Pince. Choix de la solution pour pivot glissant des bielles : un tube modélisé en impression 3D avec une vis/ écrous / rondelle

**<span style="text-decoration: underline;">MEDDAD Ali :</span>** schématisation des positions variables du totem, position initiale du robot et le point de dépôt, la hauteur variable du totem et la position du capteur et pince par rapport au bras et au châssis. initialisation des fonctions nécessaire pour capter le totem.

**<span style="text-decoration: underline;">MONCEAU Pierre-Alexandre : </span>**mise en marche de la découpe laser “360”, découpe de test de dimensionnement pour le châssis. Mise en marche des moteurs (avec code d’automatique).

**<span style="text-decoration: underline;">SABATIE Léo :</span>** Modélisation de la solution pour fixer les moteurs au châssis. Réalisation d’un premier test pour ajuster les dimensions (jeu entre le châssis et la pièce pour fixer le moteur). Modélisation de la solution pour régler la hauteur de la pince.

**<span style="color: rgb(45, 194, 107);">Points validés :</span>** - fonctionnement de la pince

\- fonctionnement des capteurs

\- fonctionnement des moteurs

Recherche d'Algorithmes :

[![recherche Algo.PNG](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2025-06/scaled-1680-/recherche-algo.PNG)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2025-06/recherche-algo.PNG)

<span style="text-decoration: underline;">**<span style="color: rgb(186, 55, 42); text-decoration: underline;">Séance 3</span>**</span>

**<span style="color: rgb(45, 194, 107);">Rapports d’activité : </span>**

**<span style="text-decoration: underline;">DUVERNOIS--DUPARC Maéline:</span>** Réalisation des fonctions d’ouverture et de fermeture de la pince. Tentative avec Marita d’écrire un programme qui permet de modifier la vitesse de rotation des moteurs en fonction de la distance mesurée par le capteur : échec. Création d’un github pour l’écriture partagée du code.

**<span style="text-decoration: underline;">EL HAJJ Marita :</span>** Tentative avec Maéline d’asservissement du moteur en fonction de la distance calculee par le capteur. Gestion du diagramme de Gantt et des fichiers communs du groupe.

**<span style="text-decoration: underline;">EYNARD Noah : </span>**Ajustement de la CAO du châssis pour prendre en compte la taille du moteur et le capteur. Recherche de solution pour le capteur sur la pince → Trouvé. Modélisation de cette Solution et lancement de l’impression 3D. On a résolu toutes les solutions afin de détecter l’objet (par le haut)

**<span style="text-decoration: underline;">MEDDAD Ali :</span>** recherche de solution pour positionner le capteur en considérant ses contraintes techniques pour arranger la partie mécanique et informatique. Réalisation des algorithmes de la 1er et 2eme étapes pour faciliter le codage avec les fonctions de base.

**<span style="text-decoration: underline;">MONCEAU Pierre-Alexandre :</span>** Mise en marche de l’autre découpe laser « 100 ». Asservissement d’un moteur en position par rapport à un angle. Mise en marche de deux moteurs en même temps.

<span style="text-decoration: underline;">**SABATIÉ Léo :** </span>ajustement du dimensionnement des pièces pour faire le lien entre les moteurs (pour le déplacement, et pour le bras) et le châssis. Impression de plusieurs pièces jusqu'à un dimensionnement convenable (Mise en marche de l’autre découpe laser « 100 »). Châssis prêt à être imprimé pour faciliter le travail de la partie informatique.

**<span style="color: rgb(45, 194, 107);">Points validés :</span>** fonctions ouverture et fermeture pince

**<span style="color: rgb(45, 194, 107);">Points non validés :</span>** Asservissement du moteur en fonction de la distance calculee par le capteur.

<span style="text-decoration: underline; color: rgb(186, 55, 42);">**Séance 4**</span>

**<span style="color: rgb(45, 194, 107);">Décisions : </span>**

**Équipe informatique :** Tests des fonctions

**Équipe mécanique :** Impression du chassis

**Équipe électronique :** Alimentation de l’arduino et des moteurs avec la batterie

**<span style="color: rgb(45, 194, 107);">Rapports d’activité : </span>**

**<span style="text-decoration: underline;">DUVERNOIS--DUPARC Maéline:</span>** Réalisation des fonctions globales états du robot pour le case dans le loop. Problème avec les fonctions de la pince corrigées. Travail sur le code de gestion des moteurs.

**<span style="text-decoration: underline;">EL HAJJ Marita :</span>** Alimentation de l’Arduino avec la batterie. Optimisation du code des moteurs/avancement/capteurs.

<span style="text-decoration: underline;">**EYNARD Noah :** </span>Plusieurs tests d’impression 3D : trous pour les capteurs, trous pour l’encastrement du support capteur sur le bras. Choix des ajustements. Impression du support pour le capteur sur le bras. Modélisation et découpe du capteur sur le côté du châssis. On choisit 3.05mm pour l’encastrement du capteur et plutôt 16.2mm pour les diamètres des yeux (même si 16.1 avec beaucoup de ponçage suffit).

- Prochaines étapes pour la méca : Dimensionnement des bras et des pivots (nouvelles impression 3D)

**<span style="text-decoration: underline;">MEDDAD Ali :</span>** Algorithme d’asservissement pour être parallèle au mur, algorithme de la 3éme étape où on prend le totem, dessins des étapes 1 et 2 pour visualiser leur déroulement.

**<span style="text-decoration: underline;">MONCEAU Pierre-Alexandre :</span>** mise en marche du programme du robot (les 3 premières étapes) “dans le vide”. Assemblage proto1 du robot et test réel de ses 3 premières étapes.

Etape 1 : attente du clique bouton

Etape 2 : avance jusqu'à une certaine distance puis tourner 90deg.

Etape 3 : avancer droit parallèlement au mur

**<span style="text-decoration: underline;">SABATIÉ Léo : </span>**correction des ajustements et impression du châssis. Quelques problèmes surviennent après impression donc il faut les régler (passage des fils,...). Trouver une solution pour le bras.

**<span style="color: rgb(45, 194, 107);">Points validés : </span>**le robot avance, capte et tourne quand necessaire.

**<span style="color: rgb(45, 194, 107);">Points non validés : </span>**tourner de 90deg.

Câblage du robot :

[![projetRob cablage.PNG](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2025-06/scaled-1680-/projetrob-cablage.PNG)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2025-06/projetrob-cablage.PNG)

<span style="text-decoration: underline; color: rgb(186, 55, 42);">**Séance 5**</span>

**<span style="color: rgb(45, 194, 107);">Rapports d’activité : </span>**

**<span style="text-decoration: underline;">DUVERNOIS--DUPARC Maéline:</span>** faire la fonction avec Marita pour piloter le bras et le faire passer d’une position haute à une position basse. Problème du programme mémoriser la position initiale. Tests de la fonction d’asservissement de la position du robot par rapport au mur dans l’arêne.

**<span style="text-decoration: underline;">EL HAJJ Marita :</span>** faire la fonction avec Maéline qui sert à piloter le bras du robot et donc faire passer le moteur d’une position à une autre. faire le ‘cable management’ du robot et faire le point sur le matériel nécessaire pour la finalisation du robot.

**<span style="text-decoration: underline;">EYNARD Noah : </span>**Première découpe laser pour ma part (pour des équerres). Modélisation d’équerres et autres solutions pour ajuster la stabilité du robot. Modélisation et découpe du bras portant la pince, assemblage avec les tuyaux en 3D. Le robot commence à s’approcher de sa forme finale, il faudra penser au cable management : faire des trous.

**<span style="text-decoration: underline;">MEDDAD Ali :</span>** Amélioration des fonctions « tourner à Gauche » et de l’asservissement avec Pierre-Alexandre et vérification de détection de l’objet à 10cm qui est importante pour l'étape de prise de l’objet. Essais de modélisation et simulation du robot sur Tinkercad et Webot.

**<span style="text-decoration: underline;">SABATIÉ Léo :</span>** impression du système pour régler la hauteur de la pince (le bras). collage des pièces sur le châssis pour que la partie info puisse réellement tester leur code. recherche d’une solution pour éviter le fléchissement des roues et impression de la piece.

<span style="text-decoration: underline;">**MONCEAU Pierre-Alexandre :**</span> Réglage de la fonction « tourner à Gauche » afin que le robot tourne parfaitement à 90deg. Développement et test de la fonction d’asservissement de la position du robot par rapport au mur à sa droite. Participation au tournage du mini-reportage sur notre projet robotique.

**<span style="color: rgb(45, 194, 107);">Points validés : </span>**le robot avance parallèlement au mur à une distance de 10cm, capte les plots et tourne de 90deg quand necessaire. la conception mécanique est quasi terminée.

**<span style="color: rgb(45, 194, 107);">Points non validés :</span>** Ajuster la distance du capteur afin qu’il reconnaisse le plot du mur. ajuster le fonctionnement du moteur du bras et faire la fonction pour capter et chopper l’objet. .

<span style="text-decoration: underline; color: rgb(186, 55, 42);">**Séances libres**</span>

**<span style="color: rgb(45, 194, 107);">Rapports d’activité : </span>**

**<span style="text-decoration: underline;">Pôle mécanique : </span>**Création du contre poids pour permettre au bras de se relever avec le poids de la pince et de l'objet.

<span style="text-decoration: underline;">**Pôle informatique**</span> : Finalisation du code pour les déplacements du robot, ainsi que les actions de la pince pour attraper et relâcher l'objet.

<span style="text-decoration: underline;">**Pôle électronique** </span>: Câble management + recharge de la batterie.

<span style="text-decoration: underline;">**Problèmes / solutions :** </span>

Le poids de la pince et de l'objet était trop important et le bras ne parvenait pas à se redresser. Le couple du moteur était insuffisant. Les moteurs ont donc été débridés et malgré cela les mouvements du bras étaient restreints. L'équipe mécanique a pensé a jouté un contre poids pour faciliter les déplacements de la pince. Le problème a été de savoir où placé le contre poids et sa taille pour ne pas gêner les déplacements.

<span style="text-decoration: underline;">**Problème non résolu :**</span>

On a rencontré un problème lorsqu'on teste le robot en autonomie (sans qu'il soit branché au PC). Le servomoteur n'a pas l'air d'avoir assez de courant pour maintenir l'objet. Après l'avoir attrapé, il le relâche et retourne à l'étape 1 du programme sans raison. On a essayé de mettre un condensateur en parallèle avec l'alimentation , enlever les serial print, vérifier le void setup, etc. mais rien n'a changé. On n'a pas réussi à résoudre le problème et donc on fait la démonstration en étant branché au PC.

Version finale du robot :

[![robot.jpg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2025-06/scaled-1680-/3Z0robot.jpg)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2025-06/3Z0robot.jpg)