Programmation d'un robot autonome

Mélanie Bats

Thomas Petazzoni

TX

Printemps 2004

Suiveur : Nicolas Lacaille

Plan

Coupe de robotique

Sujet 2004

Projet initial et réalisé

L'électronique des robots

Travail avant la coupe

Travail pendant la coupe

Coupe de France de Robotique

Tous les ans, au mois de mai à la Ferté Bernard

Organisée par l'association Planète Sciences

Finales rediffusées sur M6 dans le cadre de l'émission E=M6 avec le fameux Mac Lessgy

Les 3 premiers sont sélectionnés pour Eurobot

Chaque année, un sujet différent

Objectif : construire un robot entièrement autonome, en énergie comme en intelligence

Sujet 2004 :
“Coconut Rugby” (1/2)

Sujet 2004 :
“Coconut Rugby” (2/2)

Projet initial

Deux robots

Un robot principal qui marque des drops

Un robot secondaire qui enlève les balles de la zone d'essai

Robot Principal

Robot Secondaire

Les robots réalisés

Un robot principal capable de pousser les balles dans la zone d'essai

Un robot secondaire qui fait des aller-retours dans la zone d'en-but ... pour gêner le robot adverse

Une solution très simple qui nous a permis d'avoir un robot fiable

Capteurs et
actionneurs

2 moteurs pour le déplacement

2 codeurs industriels pour l'asservissement

1 caméra type CMUCam

1 télémètre Sharps GP2D12

L'électronique (1/2)

DSP contrôleur de type TMS 320 LF 2407A (33 Mhz, PWM, port série, compilateur C)

Une carte d'interfaçage entre le TMS et les capteurs et actionneurs.

Une carte d'alimentation transformant le 16V des 12 batteries 1.2V utilisées dans les tensions d'usage 3.3V, 5V et 12V.

L'électronique (2/2)

Avant la coupe (1/3)

Prise en main de l'environnement de développement :

utilisation de Code Composer

premier programme

pas de système d'exploitation

débuggage

Asservissement

Commande les moteurs pour aller à un objectif sur le terrain

Réalisation par les étudiants de GSC

Implémentation en langage C

Tests, débuggage et réglages

Avant la coupe (2/3)

Bus I2C

Devait permettre de faire communiquer les différents éléments du robot

Découverte du bus I2C et de son fonctionnement

Mise en place du protocole I2C : cartes esclaves (16F88) et carte maître

Pilote port série

Communication avec la caméra par port série

Écriture d'un pilote pour le TMS

Avant la coupe (3/3)

Prise en main et utilisation de la CMUCam

Tracking de couleur

Déplacement du robot vers une balle

Test du robot en autonomie complète

Programme chargé en ROM

Fonctionnement sur batteries

Bilan du robot avant le départ à la coupe

Asservissement impeccable

Détection des balles avec caméra correcte

Robot testé en autonomie complète

Programme d'homologation fiable

Simplicification de la mécanique et de l'électronique => Robot homologable avant le départ à la coupe

19 Mai - 14h :Homologation

Homologation

19 Mai - 14h :Homologation

Le mercredi 19 mai, le robot est homologué dès 14 h

19 Mai 16h/20 Mai 14h : L'informatique avance...

Les fonctions suivantes sont développées :

Détection des palmiers avec la caméra

Détection du robot adverse avec le télémètre

Un système anti-blocage

Stratégie générale du robot : points stratégiques

20 Mai – 5h : Problème avec une roue motrice. 6h de tests pour re-régler l'asservissement.

1ère Stratégie :
Machine à états

Dernier Test
avant le 1er match

Le robot roule et voie les balles!

20 Mai - 14h :
1er Match

Contre Supélec

1er Match

Contre Supélec : Égalité 3-3

Unitec marque 3 essais

Se retrouve coincé contre un palmier

Problème avec
l'anti-blocage

Code anti-blocage était commenté

Il ne reste pas assez de temps et de batteries pour fiabiliser le code anti-blocage avant le second match

Le robot repart pour le second match sans anti-blocage

20 Mai - 16h :
2ème Match

Contre l'IUT de Mulhouse

2ème Match

Contre l'IUT de Mulhouse :

Unitec défaite avec 1 point

Les robots restent bloqués face à face pendant 1min30.

20 Mai-18h/21 Mai-4h:
L'info reprend le travail

Code anti-blocage

Mise en place stratégie du Serpent

21 Mai-9h :
3ème Match

Contre l'IUT GE2I de Cergy-Pontoise

3ème Match

Contre l'IUT GE2I de Cergy-Pontoise:

Unitec défaite : 1 point

Problème de vision

Le robot ne voyait aucune balle à cause de la luminosité trop importante

Réglage de la caméra sur les terrains de match avec l'éclairage du plateau télé

Réglages très délicats : rouge et orange sont très proches

21 Mai-16h :
4ème Match

Contre lycée Diderot de Paris

4ème Match

Contre le Lycée Diderot de Paris :

Victoire : 3 essais

Unitec remonte à la 24ème place du classement général avant le dernier match de qualification.

Peut-être que l'UTBM sera présente en phase finale ?

21 Mai 22h/22 Mai 3h :
Encore du travail ...

Correction du blocage durant le match précédent : on ajoute une petite avancée du robot vers le terrain pour qu'il se dégage après avoir marqué.

La deuxième roue motrice tombe : tous les réglages d'asservissement sont de nouveau à refaire.

22 Mai-9h :
5ème Match

Contre l'ENAC

5ème Match

Contre l'ENAC :

Égalité 1-1

Problèmes de vision

Tests et débuggage

Difficultés pour déterminer l'origine d'un problème : informatique, électronique, mécanique ?

Contrôle d'éléments physiques : paramétrage difficile

Dispositif de test complexe, en un unique exemplaire

Difficultés d'analyse du comportement du robot

Conclusion

32ème sur 166 au classement général

Expérience travail en équipe avec des compétences variées : mécaniciens, électroniciens et informaticiens

Programmation sur un système embarqué réel : intéressant d'un point de vue informatique

Travail durant la coupe stressant mais motivant

Démonstration

La finale

Le robot Unitec

2004-04-17T14:42:31