De la conception à la réalisation :
Voici un exemple de conception d’un robot suiveur de ligne pour le Tournoi national de Robotique de Nîmes, qui a lieu tous les ans, au mois de mai.
Avec l’expérience, certains choix technologiques sont privilégiés en particulier sur le processeur et ses outils de développement. Mais la curiosité d’expérimenter de nouvelles idées pousse à tester d’autres protocoles, d’autres capteurs et à essayer de combiner l’ensemble sans perte d’efficacité.

Par ailleurs, outre ces aspects technologiques, il faut réaliser un ensemble mécanique cohérent. De nombreux aller-retour sont nécessaires entre la mécanique et l’électronique pour avancer vers la réalisation finale.

L’un des points intéressants qui justifient de réaliser une nouvelle version d’un robot suiveur de ligne efficace, c’est la possibilité d’utiliser les outils de l’IA, comme ChatGPT et Claude AI pour optimiser certains points, à l’image des calculs mathématiques. Mais il ne faut pas être aveuglé par les prouesses de l’IA. Dans l’état actuel de ses capacités, de nombreuses erreurs apparaissent dans ses calculs et la connaissance approfondie des systèmes permet de les débusquer. Malgré cela, un peu être d’un grand secours pour vérifier et donc accélérer le développement d’un code. C’est beaucoup moins évident pour un schéma électronique et un design adapté.
Optimisation d’un calcul pour PIC18F, utilisation de l’IA
Voici un exemple intéressant de l’utilisation de l’IA pour optimiser un calcul mathématique. Nous prenons pour exemple le calcul de la distance d’un obstacle par un capteur à ultrasons de type HC-SR04. La formule consiste à multiplier une variable par une constante.
Les données sont les suivantes : compteur 16 bits à 1µs et vitesse du son 340m/s
Le calcul habituel nous donne : distance (cm) = durée (µs) / 58) = durée (µs) x 0,017.
Sur un microcontrôleur 8bits, les divisions sont couteuses en temps logicielles et les multiplications par un flottant à peine meilleures. L’IA nous propose un optimisation graduelle avec un calcul d’erreur. Après diverses demandes de plus en plus précises, L’IA nous propose de remplacer la division par un décalage binaire
0.017 ≈N/2k
9/512 = 0.017578 , avec une erreur de 0.17 %
512 = 2⁹ → décalage de 9 bits. Le calcul consiste à multiplier en premier par 9, puis à faire 9 décalages vers la droite pour diviser par 512.
Code en C pour PIC18F : distance_cm = (ticks * 9) >> 9;
✔ ultra rapide
✔ pas de division lente
✔ erreur < 0,2 %
✔ parfait pour HC-SR04

Le schéma électronique utilise un PIC18F46K22. L’Interface Homme Machine (IHM) comporte 2 DELs, 3 poussoirs, une liaison UART (PC via Hyperterminal et Bluetooth) et un afficheur OLED. Le reste des éléments comporte une interface moteurs, le capteur de ligne à base de TCRT5000, des encodeurs, un capteur US HC-SR04 et un servomoteur.
La mécanique finale

Réalisé avec un logiciel de CAO efficace, les fichiers sont imprimés en PETG avec une imprimante 3D Prusa. Le résultat obtenu s’accorde parfaitement avec les circuits imprimés réalisés sous EAGLE, les moteurs, engrenages, accu et les autres éléments.
Pour finaliser l’ensemble, il faut dessiner et réaliser les pièces en relation avec le servomoteur et le capteurs à ultrasons fixé sur ce dernier. Les pneus de la photo seront changés pour des modèles adaptés.