NXP CUP

Semestre 3 – année 2017/2018

Ce projet est réalisé dans le cadre scolaire.

Qu’est ce que la NXP CUP ?

C’est une compétition internationale de robotique qui a lieu chaque année. Les robots doivent réaliser un circuit le plus rapidement possible. La piste est composé de 2 lignes noires que le robot ne doit pas dépasser, sur un fond blanc. L’IUT de Cachan participe à cette compétition depuis plusieurs années.

Pour participer à la compétition il faut être une équipe de 2 ou 3 étudiants maximum. Notre équipe s’appelle Car’riage return en référence au caractère 13 de la table ASCII, le fameux retour chariot souvent noté ‘\r’ qui permet dans la plus part des cas de passer à la ligne suivante. Elle succède à Google Car et Unsigned Char, perpétuant la tradition des jeux de mot avec « car ».

Pour ce projet nous devons reprendre le travail des années précédentes et l’améliorer. Nous avons pris la décision de développer une interface sans fil et en temps réel, entre le microcontrôleur du robot et le PC. Pour réaliser cette tâche nous utilisons une communication via un module Bluetooth. L’intérêt de cette communication est de pouvoir changer les paramètres de la voiture directement. Avec la voiture de l’année dernière, il fallait utiliser les boutons ou les potentiomètres de réglage. La liaison Bluetooth permet aussi de pouvoir analyser et corriger de potentiels dysfonctionnements pendant les essais. Le Bluetooth est déconnecté pendant la course.

Le module choisi pour la compétition est le RN42XV qui a la particularité d’être paramétrable grâce à un terminale PC. On peut alors changer la puissance d’émission, son nom, sa vitesse, …

Pour changer ses paramètres on a utilisé GTK term qui est un terminal série pour Linux que nous préférons du fait de sa simplicité d’utilisation ainsi que son efficacité.

Après avoir fait des tests du module en envoyant des datas d’un PC à un autre. Nous nous sommes intéressés au code pour le microcontrôleur NXP FRDM KL25Z qui est la carte des années précédentes. La carte NXP FRDM KL25Z possède un grand nombre de pins avec beaucoup de fonctions possibles. Celles qui nous intéressent dans la transmission de datas via Bluetooth sont les liaisons séries UARTS. Sachant que les pins de l’UART1 sont déjà utilisés pour faire fonctionner la caméra sur le robot, nous allons donc utiliser l’UART2 qui correspond à notre cahier des charges. L’UART2 peut émettre à 57 600 bits/s au maximum.

Pour que le module Bluetooth fonctionne correctement il faut le brancher de cette manière.

Nous avons réalisé un programme UART bridge qui permet d’émettre et de recevoir des datas du PC à la carte dans les 2 sens. Le PC a lui même un software réalisé par nos soins. Pour réaliser le code nous utilisons Mbed compiler qui est le compiler en ligne du constructeur. Pour réaliser le programme nous avons eu besoin de la bibliothèque mbed.h qui elle même contient une autre bibliothèque qui se nomme serial.h.

GitHub ou screen

Nous avons procédé à d’autres tests pour pouvoir simuler des émissions de datas du robots au PC mais aussi pour simuler des changements de paramètres du robot. Ces tests ont été concluants, et il ne restera plus qu’à implémenter cette transmission dans le robot pour de S4 ROBOS.

 

Parlons un peu du Software.

à venir …