Robot Suiveur De Ligne
by abderrahim noamani in Workshop > 3D Design
233 Views, 1 Favorites, 0 Comments
Robot Suiveur De Ligne


Le robot suiveur de ligne est un dispositif autonome conçu pour suivre un tracé prédéfini sur le sol en utilisant des capteurs de luminosité. Ce projet s'inscrit dans le cadre du module PROTY et vise à appliquer des concepts fondamentaux en électronique, programmation et fabrication numérique. L'objectif est de concevoir un système fonctionnel et modulaire permettant d'optimiser le suivi de trajectoire tout en respectant les contraintes du cahier des charges.
Sources D'inspiration
L'exemple de référence utilise des capteurs infrarouges, mais nous souhaitons utiliser des photorésistances existantes pour réaliser ce project.
Référence:
Line Follower Robot using Arduino
https://youtu.be/5jh-5HGvC-I?si=LHLMAxUZ0_zPavPI
GitHub: LineFollowerRobot
https://github.com/un0038998/LineFollowerRobot/blob/main/LineFollowerRobot/LineFollowerRobot.ino
Forum Arduino France
Principe De Fonctionnement
Le robot suiveur de ligne est conçu pour suivre un tracé défini au sol à l’aide de capteurs de luminosité (LDR). Son fonctionnement repose sur la détection du contraste entre la ligne et le fond, permettant ainsi d’ajuster la trajectoire du robot en fonction des signaux captés. Un microcontrôleur (Arduino Uno) traite les données des capteurs et pilote les moteurs via un driver de moteur, assurant ainsi un déplacement fluide et précis.
Conception Mécanique
Le châssis du robot a été conçu pour être léger, robuste et compact afin de garantir une bonne maniabilité et stabilité. Il est réalisé en plexiglas, un matériau rigide et résistant, permettant un assemblage précis et une bonne durabilité. Les dimensions du châssis sont adaptées pour intégrer efficacement tous les composants électroniques et mécaniques.
Électronique Et Capteurs

Capteur : LDR (Light Dependent Resistor) pour détecter la ligne.
Microcontrôleur : Arduino Uno, qui traite les signaux des capteurs et contrôle les moteurs.
Actionneurs : Deux moteurs à courant continu pour assurer le déplacement du robot.
Driver de moteur : Interface entre l’Arduino et les moteurs pour réguler la puissance.
Processus De Fabrication

4.1 Découpage Laser
Le châssis du robot a été fabriqué en plexiglas grâce à une découpe laser de haute précision. Cette technique permet d'obtenir des pièces aux dimensions précises et adaptées à l'intégration des autres composants.
4.2 Impression 3D
Plusieurs pièces ont été modélisées sur CATIA avant d’être imprimées en 3D, notamment :
- Boîtier du moteur : Assure la fixation et la protection des moteurs.
- Rotule : Élément permettant un meilleur équilibre du robot.
- Support batterie : Permet une fixation stable de la source d’alimentation.
4.3 Soudure de la Batterie
La batterie a été soudée avec des connexions adaptées pour assurer une bonne alimentation électrique du robot et garantir sa durabilité.
4.4 Assemblage et Fixation des Composants
L’assemblage du robot a été réalisé avec des vis, évitant ainsi l’usage de colles ou autres fixations permanentes. Cette approche permet un démontage et une maintenance faciles, en accord avec les contraintes du projet.
L’ensemble du processus de fabrication et d’assemblage a été conçu pour optimiser la performance et la durabilité du robot tout en respectant les contraintes du cahier des charges.
Schéma Et Algorithme De Suivi De Ligne

Connexion des Photorésistances (LDR)
Les photorésistances sont des capteurs analogiques qui varient leur résistance en fonction de la lumière ambiante. Pour les connecter à l'Arduino :
- Connectez une patte de la photorésistance au 5V de l'Arduino.
- Connectez l'autre patte de la photorésistance au GND via une résistance de 10 kΩ.
- Le point entre la photorésistance et la résistance (nœud) est connecté à une entrée analogique de l'Arduino
Connexion du Module de Commande de Moteur MR001-004.2DC
Le module MR001-004.2DC est conçu pour contrôler deux moteurs à courant continu. Les connexions typiques sont les suivantes :
- Alimentation :
- Connectez le VCC du module à une source d'alimentation appropriée (par exemple, une batterie) correspondant aux spécifications de vos moteurs.
- Connectez le GND du module au GND de l'Arduino.
- Entrées de contrôle :
- Le module dispose généralement de quatre entrées de contrôle (IN1, IN2, IN3, IN4).
- Connectez ces entrées aux broches numériques de l'Arduino.
- Sorties vers les moteurs :
- Connectez les bornes de vos moteurs aux sorties correspondantes du module (MOTOR A et MOTOR B).
Algorithme De Suivi De Ligne
Le robot suiveur de ligne utilise deux capteurs de lumière LDR pour détecter une ligne contrastée sur le sol. L'algorithme de suivi repose sur l'interprétation des valeurs de luminosité captées afin d'ajuster la trajectoire du robot en temps réel.
1. Lecture des Capteurs LDR
Les capteurs LDR sont placés à l'avant du robot et mesurent la luminosité réfléchie par le sol. Lorsque la ligne est noire et le fond blanc (ou inversement), la différence d’intensité lumineuse permet au robot de détecter sa position par rapport à la trajectoire prévue.
- Si les deux capteurs détectent une forte luminosité, cela signifie que le robot est sur une zone claire (en dehors de la ligne).
- Si l’un des capteurs détecte une baisse de luminosité, cela signifie que le robot s’approche du bord de la ligne.
- Si les deux capteurs détectent une faible luminosité, cela signifie que le robot est entièrement sur la ligne.
2. Logique de Correction de Trajectoire
En fonction des valeurs des capteurs, plusieurs actions sont déclenchées :
- Avancer droit : si les deux capteurs détectent une zone claire.
- Tourner à gauche : si le capteur gauche détecte la ligne (faible luminosité).
- Tourner à droite : si le capteur droit détecte la ligne.
- S’arrêter : si les deux capteurs détectent la ligne simultanément (ex. intersection ou erreur de suivi).
3. Commande des Moteurs en PWM via le Driver Moteur
Les moteurs sont commandés via un signal PWM (Pulse Width Modulation) pour ajuster leur vitesse. Le driver moteur reçoit les signaux de l'Arduino et contrôle la rotation des roues en fonction des instructions de l’algorithme.
4. Extrait de Code Arduino et Explication
Lecture des capteurs LDR
Cette lecture permet de comparer les valeurs avec des seuils prédéfinis.
Logique de Correction de Trajectoire
Selon les valeurs mesurées, le robot ajuste sa trajectoire en activant les moteurs de manière indépendante.
Commande des moteurs en PWM
Cette fonction active les moteurs en avant en contrôlant la vitesse via PWM.
Ainsi, l’algorithme permet au robot de suivre une ligne en s’ajustant dynamiquement en fonction des données fournies par les capteurs LDR.
Downloads
Démonstration Du Fonctionnement
Défis Rencontrés Et Pistes D'amélioration

1. Choix et calibration des capteurs
Le premier défi rencontré concernait le capteur. Lors de notre recherche exploratoire, nous avons constaté que les suiveurs de ligne utilisent généralement des capteurs infrarouges, qui renvoient une valeur binaire (0 ou 1) indiquant si le robot est sur une surface sombre ou claire. Cependant, ces capteurs n’étaient pas disponibles dans le makerspace. Nous avons donc opté pour des photorésistances couplées à une carte Arduino.
Le principal inconvénient des photorésistances est qu’elles renvoient des valeurs continues, allant de 0 à environ 1200, en fonction de la luminosité ambiante. Il a donc fallu définir un seuil permettant de distinguer les surfaces claires des surfaces sombres. Or, ce seuil varie en fonction des conditions d’éclairage.
- En intérieur, la nuit, sous éclairage artificiel, les valeurs mesurées étaient d’environ 600 pour une zone sombre et 800 pour une zone claire, nécessitant un seuil fixé à 700.
- En journée, avec une luminosité plus élevée, les valeurs passaient à 800 pour une zone sombre et 950-1000 pour une zone claire, ce qui imposait un recalibrage du seuil à 900.
Cette nécessité de recalibrer régulièrement le seuil en fonction de la lumière ambiante constitue une contrainte. Une piste d’amélioration serait d’intégrer un système d’auto-étalonnage ou d’utiliser des capteurs infrarouges adaptés, si disponibles.
2. Problème de la roue avant
Le deuxième défi concernait la roue avant, qui se bloquait lorsqu’elle se retrouvait perpendiculaire à la direction du robot. Pour résoudre ce problème, nous avons conçu une rotule et l’avons imprimée en 3D. Cette solution a permis d’améliorer la mobilité, mais un nouvel obstacle est apparu : la rotule imprimée en PLA glissait sur les surfaces lisses, ce qui réduisait la stabilité du suiveur de ligne.
Pour améliorer ce point, nous envisageons d’imprimer la rotule dans un matériau offrant une meilleure adhérence, comme le TPU.
3. Conception de la carcasse
Nous avons également conçu une carcasse pour rassembler tous les composants du suiveur de ligne. Celle-ci comporte trois trous permettant de la fixer au châssis à l’aide de vis et de boulons. Nous avons aussi ajouté des surfaces spécifiques pour bien maintenir les capteurs en place lors du serrage des boulons.
Un point intéressant à noter est que, d’un point de vue esthétique, le suiveur de ligne semble plus élégant sans la carcasse, lui donnant un aspect de prototype plutôt que de jouet. Une réflexion pourrait être menée sur le design pour allier protection des composants et esthétique.
Conclusion
Les voitures suiveuses de ligne sont des exemples concrets de l’application de la robotique et de l’automatisation. Ce projet nous a permis d’explorer plusieurs aspects techniques, notamment la sélection et la calibration des capteurs, l’optimisation de la mécanique du déplacement et la conception d’une structure adaptée.
Malgré les défis rencontrés, chaque obstacle a été une opportunité d’apprentissage et d’amélioration, nous amenant à expérimenter différentes solutions. L'utilisation des photorésistances nous a fait réfléchir à la gestion des variations lumineuses, tandis que la conception et l’impression 3D de composants nous ont permis d’adapter la structure du robot à nos besoins.
Ce type de projet constitue une base idéale pour approfondir des concepts avancés en ingénierie et en informatique, comme le traitement du signal, le contrôle adaptatif ou encore l’optimisation des matériaux en fabrication additive. Des améliorations futures pourraient inclure l’intégration de capteurs plus précis, un système d’auto-calibration ou encore l’utilisation d’une intelligence embarquée pour adapter le comportement du suiveur en temps réel.