Procédure de Self-Test du robot

De Wiki Club Robot ESEO
Aller à : navigation, rechercher

La procédure de self-test a été mise en place en 2011

Description

  • Test le plus complet possible exploitant les capteurs, actionneurs, communications entre cartes.
  • Fonctionnel sur Check Norris (2011) et effectué avant chaque match pendant la préparation du robot.
  • Devenu indispensable...

Historique : Idée de départ

Proposition envoyée sur la mailing liste le samedi 4 septembre 2010.

Cette procédure n'est qu'au stade d'idée.

Il pourrait être judicieux de donner à la carte Supervision un rôle de SeltTest du robot au démarrage.

Exemple d'application :


Besoins hardware :

  • 4 Leds Rouges sur le Fdp
  • 4 Leds Vertes sur le Fdp


Prérequis :

  • Au démarrage, les Leds sont éteintes.
  • Sur un appui bouton, un SelfTest est lancé.


Procédure de self test :

  • Supervision envoie à Propulsion un message CAN : "Procédure de test STP !" (puis Watchdog jusqu'à réponse)
  • La Propulsion répond : "Je suis là, je viens d'effectuer correctement une procédure de calibration, tout est ok."
  • La led verte "Propulsion" s'allume.
  • Même opération avec la carte actionneur, qui inclut un test de chaque actionneur et des retours correspondant
  • La led verte "Actionneur" s'allume
  • Idem avec la stratégie.
  • Idem avec la balise.


Deux cas peuvent allumer une LED rouge :

  • La carte XXX répond "J'ai le problème numéro N, donc ca va pas le faire !"
  • La carte XXX ne répond pas au bout de n secondes. (cette valeur correspond à un watchdog sur la durée de chacun des tests).


Finalement : Si les 4 Leds vertes sont allumés, on peut certifier que :

  • La puissance est allumée
  • Le CAN est opérationnel sur toutes les cartes
  • Aucune carte n'est bloquée dans une boucle infinie
  • Les moteurs de propulsions sont branchés et fonctionnent
  • Les roues codeuses sont branchées et fonctionnent
  • Les actionneurs sont branchés et fonctionnent (sauf ceux qui ne disposent pas de retour mesuré)
  • Les capteurs liés aux actionneurs sont branchés et fonctionnent
  • La biroute est câblée (?)
  • Les barrières Laser sont en face, fonctionnent et ne sont pas obstruées
  • La balise nous a indiqué si l'adversaire est en vue, cela est une preuve de fonctionnement. (éventuellement diode spécifique orange...)
  • etc...


N'ont pas été testés :

  • Les actionneurs sans retour mesurables (mais un contrôle à l'oeil humain du mouvement d'un tel actionneur pendant X secondes peut suffire. Genre sur Chomp un aller retour de la gâche maïs, et une rotation pendant 200ms du moteur de gobage des balles)
  • Les capteurs ne pouvant être stimulés par des actionneurs (un contrôle humain peut être mis en place éventuellement > une LED par capteur sur le Fdp)


Résumé :

  • Cette procédure de test prend environ 20 secondes.
  • Elle permet de diagnostiquer et localiser un problème matériel très rapidement ! (Outre la LED rouge, le message d'erreur généré est précis)
  • Elle peut être lancée avant le début du match, de la même façon que la calibration cette année, puisqu'elle complète la calibration. Et elle peut potentiellement sauver un match ! Et en plus ça rassure...
  • Place occupée en hard dans le robot : 4cm² sur le Fdp. (et c'est tout !)
  • Place occupée dans le code : quelques dizaines de lignes dans tout les codes. Et ca oblige de se poser des questions sur les défaillances possibles.
  • Gain de temps : quelques dizaines d'heures de débug chiant en moins.
  • Et en plus, ca fait du boulot à l'équipe Supervision.


Remarque :

  • Cette procédure de test n'est pas bloquante, et lors des tests, l'absence d'une carte n'empêchera pas le test des autres cartes.
  • Idem si l'un des actionneur manque, le message CAN renvoyé par la procédure nous informera que seul ce point est défaillant...