Skip to main content

StarBot - Groupe 6 - Bastien, Carl, Joyce, Jasmine, Virgile, Elias

I - Organisation des séances

I.1 - 19 Février 2026 - Séance 1

I.1.1 Objectif de la séance

  • Tester le kit fourni afin de voir les problèmes potentiels
  • Créer la page wiki
  • Organisation de l'équipe
    • Choisir les rôles
  • Discuter de la conception mécanique

I.1.2 - Réalisations durant la séance 1

Lors de la première séance, une présentation du projet nous a été donnée, ainsi qu’une introduction à l’environnement de travail (Fablab) et aux machines associées.

Suite à cela, nous avons pris connaissance du cahier des charges afin d’organiser au mieux le travail en équipe. Ci-après sont présentées les différentes tâches réalisées ainsi que les personnes associées à chacune d’elles.

Organisation de l'équipe (toute l'équipe)

Avant de commencer nous avons réparti les rôles suivants ; 

  • Responsable Electronique
  • Responsable Mécanique
  • Responsable informatique
  • Chef de projet 

Ces rôles n'ont pas pour but la répartition du travail, mais le suivie des tâches dans un domaine particulier.

Réflexion Mécanique (Carl - Jasmine - Elias)


Dans cette partie, nous vous présenterons la réflexion que nous avons menée pour arriver au design final de notre robot.

Matériel fournis :

  • Planche en bois de 3mm ou 6mm de hauteur
  • 3 moteurs 
  • Deux roues motrices
  • Une roue folle
  • Pince
  • Deux capteurs ultrasons
  • Usinage laser
  • Imprimante 3D
  • Ensembles de vis et écrous

Pour rappel, le robot doit déplacer un objet d’une position initiale vers une position finale au sein d’une arène. Il doit intégrer un chariot mobile, un bras à un degré de liberté et une pince montée à l’avant.

Concernant le chariot, au vu des éléments disponibles, le choix s’est porté sur une configuration avec deux roues motrices à l’arrière et une roue folle à l’avant, fixées sous une plaque en bois dont la géométrie sera optimisée ultérieurement. Le bras et la pince étant situés à l’avant, l’électronique et la batterie sont positionnées vers le centre afin d’assurer une répartition équilibrée des masses, notamment grâce au poids des moteurs arrière. Les capteurs ultrason sont placés à l’avant et sur le côté droit de la plaque, permettant au robot d’affiner son positionnement en mesurant à la fois la distance au totem et aux parois latérales.

image.png

Concernant le bras robotisé, plusieurs architectures ont été étudiées. Un premier concept à liaison glissière verticale s’est révélé inadapté en raison de la garde au sol du châssis, empêchant l’accès à un objet situé en dessous. Une solution combinant liaison glissière et pivot a permis d’introduire une cinématique de basculement pour abaisser l’effecteur, mais elle nécessitait plusieurs actionneurs, incompatibles avec la contrainte de trois moteurs dont deux dédiés à la locomotion.

Une solution de préhension passive de type fourche a été écartée car non conforme au cahier des charges. L’architecture retenue repose donc sur une liaison pivot unique motorisée, offrant un compromis entre simplicité et efficacité. Le bras est monté sur un support surélevé dimensionné selon la hauteur du totem, avec une longueur adaptée pour garantir une amplitude suffisante.

La pince est fixée en liaison encastrement unilatérale, suffisante mécaniquement et plus simple à intégrer. L’ensemble est assemblé par liaisons vissées assurant rigidité et le caractère démontable, avec un usage ponctuel de collage pour les interfaces bois sur bois.

image.png


 
Une fois que ce design a été validé par toute l'équipe nous avons réfléchis à des solutions pour les autres problèmes qui se posent.

  • La roue libre a une hauteur plus grande que les roue motrices. Pour pallier ce problème nous avons pensé a fixer les moteurs sur une plaque qu'on fixera au châssis. Ainsi, en réglant la hauteur de la plaque on compense la hauteur de la roue libre.

image.png

  • La position de l'ultrason peut être problématique dans certains cas. En effet, l'ultrason posé à l'avant du robot pourra être bloqué par la pince et le totem au moment de la récupération ce qui empêcherait de pouvoir faire les calculs de position pour le chemin retour. Nous avons conclus que le robot pourrait soulever le totem assez haut pour ne pas obstruer le champs d'action des capteurs.
  • La longueur du bras ne doit pas être si longue qu'elle perde de sa rigidité et subisse des déformations lors du déplacement.

Test du kit (Joyce - Bastien)

Cette partie avait pour but de tester le kit fourni au début du projet afin de s'assurer que chacun des composants fonctionnait de la bonne façon. 

Câblage du kit

Grâce à la documentation qui nous a été fournie, nous avons pu suivre étape par étape le branchement que vous retrouvez sur la figure ci-après : 

Montage_electronique_kit.jpeg
Figure 4 : Câblage Kit de démarrage

Sur la câble ci-dessus, nous avons branché chaque composant nécessaire au projet final (Capteurs ultrasons, Pince, Moteur Dynamixel, Shields arduino). Il est important de voir que l'alimentation 12V est le câble noir situé en haut à gauche de la figure 4.

Après avoir recopié le code qui permet de tester chaque élément du kit, nous avons pu observer le bon fonctionnement de chaque élément. Voir les figure ci-après (VIDEO ???)

WhatsApp Image 2026-02-19 at 17.28.20 (2).jpeg
Figure 5 : Illustration du bon fonctionnement des équipements du Kit (pince ouverte, moteur en rotation)

WhatsApp Image 2026-02-19 at 17.28.20 (3).jpeg
Figure 6 : Illustration du bon fonctionnement des équipements du Kit (pince fermée, moteurs en rotation) 

Problème rencontrés

Lors du câblage de l'alimentation 12V avec les moteurs Dynamixel, il nous est apparu que les leds des moteurs - normalement vertes - restées ici éteintes. Nous avons alors décidé de prendre un multimètre et de tester la tension au borne de la batterie. Nous avons relevée une tension de 5V ce qui révèle une batterie défectueuse ou déchargée. 

Nous avons alors prix une alimentation symétrique 12V avec des cordons d'alimentation dénudés afin de correctement les brancher aux moteurs.

Création du Wiki (toute l'équipe)

La page Wiki du projet, devant servir à la traçabilité de nos séance ainsi qu'à la potentielle réalisation du projet par un étudiant tiers au projet.

I.2 - 5 mars 2026 - Séance 2

I.2.1 Objectif de la séance

  • Tester le kit fourni afin de voir les problèmes potentiels
  • Créer la page wiki
  • Organisation de l'équipe
    • Choisir les rôles
  • Discuter de la conception mécanique

I.2.2 - Réalisations durant la séance 2

Dans un premier temps, la réalisation du diagramme de gant est important l'organisation de l'équipe

image.png

Algorigramme de la partie informatique

Avant de réaliser le code nous avons imaginer l'algorigramme de la fonction principale pour poser notre stratégie de programmation. 

image.png

    Dimensionnement:

    image.png

    Compte tenu des dimensions et des masses des différents composants, la disposition sur le chariot ainsi que ses dimensions ont été optimisées afin d’assurer stabilité et efficacité. La batterie, élément le plus lourd, est positionnée au centre de la plaque afin de garantir une bonne répartition des masses et d’éviter un basculement vers l’avant, qui compliquerait la saisie du totem, ou vers l’arrière, qui nuirait à la mobilité.

    La pince doit disposer d’un espace de travail dégagé afin de maximiser son amplitude de mouvement sans interférence avec le chariot. Ainsi, le moteur est positionné en porte-à-faux, avec une partie suspendue dans le vide, et orienté de sorte que l’axe médian de la pince coïncide avec celui du chariot. Par ailleurs, une géométrie crénelée a été intégrée sur la plaque afin de permettre la fixation des supports de roues.

    image.png

    Les plaques de fixation des moteurs ont été conçues pour compenser la différence de hauteur entre la roue folle et les roues motrices. Une modélisation sous SOLIDWORKS a permis de valider qu’une hauteur d’environ 43 mm entre la plaque et l’axe des roues motrices assure un contact correct avec le sol. Ces plaques intègrent également des perçages adaptés aux moteurs (quatre trous espacés de 20 mm) ainsi qu’un logement destiné à accueillir une équerre (4 mm × 3 mm), améliorant la rigidité et la stabilité de l’assemblage avec le chariot.

    image.png

    Dimensions de l'équerre:

    image.png

    Programmation

    Fonctions clé :

    Le code du robot a été structuré de manière modulaire, en transposant directement la stratégie de notre algorigramme  en fonctions spécifiques pour séparer la locomotion, la détection et la préhension.

    • La Détection (lireCapteursUS) : Cette fonction gère l'envoi des impulsions ultrasoniques et calcule la distance en centimètres grâce au temps de retour de l'écho. C'est elle qui conditionne les arrêts du robot lorsqu'il s'approche d'un obstacle ou du totem:

      image.png

    • La Prise (grab et drop) : Elles encadrent la séquence de récupération et de dépose. Pour respecter les spécificités matérielles, la vitesse de déplacement du bras est bridée à 11,1 tr/min (consigne MOVING_SPEED à 100). L'actionnement de la pince est géré par des seuils PWM stricts (50 pour une ouverture complète, 245 pour la fermeture maximale) encadrés par des temporisations de sécurité pour éviter les blocages matériels : 

      image.png


    • La Rotation (turn) : Pour assurer des virages précis à 90°, nous avons opté pour une approche par odométrie plutôt qu'une simple temporisation. La fonction fait tourner les deux roues motrices en sens inverse et lit en temps réel leur position en degrés. Les moteurs se coupent de manière autonome dès que l'angle cible du châssis est atteint :

      Sans titre.png


    Boucle principale : 

    La fonction principale suit de façon séquentielle la stratégie établie dans notre algorigramme. Voici les grandes étapes de la mission :

    1. Approche : Le robot tourne à 90° et avance jusqu'à ce que le capteur avant détecte un obstacle à 30 cm.

    2. Recherche du totem : Il pivote de nouveau à -90° et avance vers l'objet. Une variable (trackerDistanceA1) compte les itérations de cette phase pour mémoriser la distance parcourue.

    3. Saisie : Le robot s'arrête et exécute la fonction grab() pour soulever le totem.

    4. Retour : Il effectue les rotations inverses et avance pendant une durée proportionnelle à trackerDistanceA1 pour revenir à sa zone de départ.

    5. Dépôt : Le robot s'arrête et exécute la fonction drop() pour relâcher le totem.

      image.png

    Objectif prochaine séance (Toute l'équipe)

    Après avoir mis en commun le travail avec l'ensemble de l'équipe nous avons décidé des réalisation nécessaire lors de la prochaine séance.

    1- Faire le découpage des pièces

    2- Algorigrammes sous fonction

    3- Commencer la programmation

    I.3 - 26 mars 2026 - Séance 3

    I.3.1 Objectif de la séance

    • Modéliser les différentes pièces
    • Assembler le robot sur SolidWorks
    • Revoir la programmation
      • Choisir les rôles
    • Discuter de la conception mécanique

    I.3.2 - Réalisations durant la séance 3

    Modélisation sur Solidworks

    La séance 3 a été consacrée à l'élaboration des pièces sur SolidWorks. Cette phase nous a permis de mieux nous rendre compte des dimensions réelles. Nous soulignerons que nous aurions dû passer beaucoup plus tôt à cette étape. En effet, les cotations prévisionnelles, notamment sur le châssis, se sont avérées inadaptées à la géométrie réelle.

    Voici le robot.

    Des trous de 6 mm ont été placés un peu partout pour pouvoir faire traverser les câbles. Des trous de 3 mm seront utilisés pour fixer la batterie au châssis grâce à des zips.

    Focus sur les moyens de fixation des moteurs et des ultrasons ainsi que les équerres

    image.pngimage.png

    Pour garantir un emboîtement sans jeu des tenons et mortaises (6 mm et 3 mm), nous avons dû réduire les dimensions des ouvertures de 0,2 mm. Cette correction est en accord avec les conclusions d'autres groupes, obtenues suite à l'étude des incertitudes liées à l'utilisation de la machine de découpe.

    Voici le bras qui lie moteur et pince

    image.png

    image.png

    Enfin, nous avons modélisé le chassis