Robot Suiveur De Lignes




L’objectif de ce projet est de concevoir un robot suiveur de ligne démontable, en utilisant deux techniques d’usinage : l’impression 3D et la découpe laser. Il doit se déplacer de manière autonome, suivre des lignes d’épaisseur 4 cm et respecter les différents virages d’un circuit.
Supplies





Nous avons utilisé pour ce projet les composants suivants:
- Une carte Arduino Uno
- Des photorésistances
- Des diodes DEL
- Des résistances
- Un driver moteur Arduino
- Des écrous et vis
- Des fils
- Des batteries
- Deux roues équipées de moteurs
- Une roulette de chariot
- Du médium 3mm
- Du plexiglas
Nous avons conçu et réalisé nos pièces grâce à:
- Une découpeuse Laser
- Une imprimante 3D Creality
- Les logiciels Fusion 360 et Rhino
Downloads
Conception CAO Et Usinage



Nous avons utilisé le logiciel Fusion 360 afin de concevoir et d’imprimer nos pièces. Nous avons opté pour un design à deux étages de forme trapézoïdale. Plusieurs trous ont été réalisés par découpe laser afin de fixer les composants et les roues. Les attaches (par exemple, pour les roues) ont été imprimées en 3D.
Électronique Et Alimentation



Nous avons soudé plusieurs batteries et les avons mises en série afin d’alimenter notre circuit en courant électrique. Par ailleurs, un soudage était nécessaire pour relier les composants électroniques entre eux et utiliser le moins de câbles possible. Pour le circuit, nous nous sommes inspirés d’un circuit composé de diodes et de photorésistances : quand on passe notre main au-dessus de la photorésistance, la diode s’allume. Chaque diode étant associée à une photorésistance. Dans notre circuit final, on remplace les diodes par les moteurs respectifs de chaque roue.
Programmation Arduino



Le programme AnalogReadSerial de la bibliothèque Basics Arduino permet d’afficher en continu une intensité lumineuse numérique d’une photorésistance. Dans notre cas, nous avons ajouté un seuil (SeuilLigne) pour séparer la ligne noire du fond blanc, car nous avons remarqué un décalage entre les deux intensités : celle de la ligne est plus élevée. Nous avons utilisé le même seuil pour les deux photorésistances associées aux deux moteurs. On utilise une variable dernierActif pour stocker, à chaque fois, l’état précédent du robot (aucune rotation ou la rotation du robot s’il a tourné).
Pour les virages, nous avons procédé comme ceci :
- Si les deux intensités dépassent le seuil (ligne noire), le robot avance.
- Si l’une des deux dépasse, on tourne dans son sens.
- Si les deux détectent un fond blanc, le robot reprend la dernière direction de rotation et tourne sur place dans ce sens. Ce cas correspond aux virages serrés.
- Si le robot est positionné sur un fond blanc, il ne se déplace pas.
Downloads
Perspectives Et Améliorations

Nous avions en tête les pistes d’amélioration suivantes :
- L’ajout d’un capteur ultrason pour détecter et éviter les obstacles.
- L’ajout d’un code d’initialisation qui change le seuil d’intensité lumineuse avant de mettre en marche le robot.
Test Final
Nous avons testé notre robot sur un tracé du circuit de formule 1 de Monza.