Published on

Solution Open Source de chronométrage électronique de course

Authors
  • Name
    Anthony Rabine

Il existe deux méthodes pour assurer le chronométrage d'une course (à pied, vélo, nage...). Pour des courses amateurs, une armée de bénévoles (ou non) assurent le pointage des coureurs à l'arrivée. Depuis une quinzaine d'années il est possible d'utiliser des badges RFID pour détecter automatiquement les coureurs passant la ligne. Nous allons nous intéresser ici à une solution (partiellement) Open Source après avoir essayé de décortiquer l'état de l'art.

Introduction à la technologie RFID

Avant de parler de mise en pratique, nous allons réaliser un petit récapitulatif de la jungle RFID. Sous cette appellation, "Radio Frequency Identification" décrit l'usage de puces dotées d'antennes permettant de transmettre des informations à distance, sans contact, à un lecteur. Ceci est réalisé avec des puces RFID dîtes passives, c'est-à-dire sans alimentation extérieure ; le lecteur se charge de fournir l'énergie qui, via l'antenne, alimente la puce et se charge de lire les informations dedans. On peut appeler l'ensemble puce + antenne un badge, ou tag RFID.

Il existe également des puces/badges/tag actives qui offrent plus d'avantages comme nous le verrons plus loin.

Dans beaucoup de cas, au moins une information est essentielle : un numéro d'identification appelé UID (Unique Identifier). Dans d'autre cas, des zones mémoires sont mises à disposition en lecteur et/ou écriture. En pratique, ces puces RFID servent souvent à identifier des objets dans un magasin, un entrepot ou une bibiothèque.

La page Wikipedia est très bien faîte, lisez-là. Gardez à l'esprit qu'il existe en gros quatre bandes de fréquences utilisées :

  • LF (120–150 kHz)
  • HF (13,56 MHz) ==> paiement sans contact, normes ISO 14443 / ISO 15693 / ISO 18000-3
  • UHF (433 Mhz ou 866 Mhz en Europe) ISO/IEC 18000-6
  • SHF (2450-5800 Mhz) ==> télépéage, (télémétrie ?)

Plus la fréquence est élevée, plus le débit est élevé, MAIS plus la fréquence est élevée, moins les ondes pénètrent les milieux humides et l'humain en fait parti (nous sommes constitués de 60% d'eau). Cela aura une importance pour notre application de chronométrage.

Au niveau de la distance et du nombre de tags simultanés de détection :

  • 14443 : quelques centimètres, un seul tag
  • 15693 : entre 10cm et 15cm, plusieurs tags (fonction "inventaire" permettant de lister les UID détectés)
  • UHF : plusieurs mètres

Description des éléments d'une course

Ok sur le papier on voit que l'on peut transmettre des identifiants à distance, chaque identifiant de Tag unique est associé au dossard d'un coureur. Essayons de répertorier les différents éléments et contraintes d'une course (ceci n'est pas une étude exhaustive).

Il existe plusieurs catégories de vitesses :

  • Course à pied / Canicross (10 km/h ?)
  • Vélo : 40 / 50 km/h ?
  • Auto / Moto : 100 Km/h et plus

Peut-être que la technologie sera différente selon les vitesses de passage. Focalisons nous sur une course à pied car c'est un grand classique des événements sportifs locaux.

On va essayer de se mettre dans le pire des cas : le marathon. Les plus grandes éditions regroupent plusieurs dizaines de milliers de participants. Les courses les plus populaires semble-t-il en france sont les 5Km et 10Km et peuvent rassembler facilement entre 300 à plusieurs milliers de participants pour le splus grosses courses (j'ai trouvé 2500 participants par exemple pour les 10km de Sélestat en Alsace).

Bon, ça fait beaucoup de tags. Et potentiellement beaucoup de tags en même temps ; le cas idéal, on a un seul coureur :

image

Dans le pire des cas, c'est ça, un gros paté de gens :

image

Nous voyons donc une difficulté majeure : détecter un grand nombre de coureurs

La largeur d'une zone d'arrivée est de plusieurs mètres :

  • Pour le cyclisme par exemple, c'est 6m minimum pour des Championnats de france, sinon 4m minimum
  • Pour le running en extérieur... c'est flou

Regardons la règlementation officielle :

https://www.athle.fr/Reglement/Reglementation_Hors-Stade_2021.pdf

Il n'y a pas grand chose sur la largeur d'une ligne de départ ou d'arrivée (ou j'ai loupé) ... donc on va garder 4 mètres, comme pour le vélo.

Validation des performances par utilisation d'un système de chronométrage à transpondeurs Le temps officiel est le temps qui s’est écoulé entre le coup de pistolet et le franchissement de la ligne d’arrivée par l’athlète. Le temps réel est le temps établi entre le passage sur la ligne de départ et la ligne d’arrivée par un système de chronométrie par transpondeurs disposant d’un équipement d’enregistrement (tapis et/ou antennes) sur la ligne de départ ET sur la ligne d’arrivée.

Le temps réel est pris compte sur toutes les épreuves, quel que soit le nombre d’arrivants sous réserve :

  • Qu’il y ait un système de détection au départ ;
  • Que le temps réel soit arrondi à la seconde supérieure ;
  • Que le système de détection soit placé à proximité immédiate de la ligne de départ afin > que le temps réel soit égal au temps officiel pour les athlètes en première ligne au départ.

Voici les dimensions que propose un fabricant d'arches :

image

Cela va de 3 mètres à 5 mètres. Cet autre arche offre 4 mètres de largeur.

image

Voyons maintenant comment les courses se déroulent en pratique. Tout d'abord, la topologie : je pense que l'on a deux cas :

  1. Soit un parcours avec un départ et une arrivée distincts
  2. Soit une boucle que les coureurs doivent franchir N fois (maximum 3 boucles d'après le règlement officiel, il faut regarder c'est un poil plus compliqué dans le document)

image

Il faut donc nous intéresser aux éléments suivants d'une course :

  • Le choix du tag
  • Le choix des antennes
  • Le choix du lecteur
  • Le positionnement des antennes

Les tags

La forme

Il existe un grand choix de types de tags UHF. La technologie d'antenne est très variée et la taille aussi :

image

Les antennes sont généralement livrées enfouies dans un enrobage plastique ou mousse. Certains tags sont à orientation spécifique :

image

Certains tags sont entourés de mousse pour cela, ou d'autres systèmes similaires. Dans le cas de tags en mousse, ils sont conçus pour être collés au dos du dossard ; l'antenne du tag est alors orientée vers l'extérieur du corps humain.

image

Ils sont vendus en rouleaux de centaines d'exemplaires et sont normalement jetable ; il serait tentant de les réuiliser mais ils semblent assez fragiles : une simple pliure peut abîmer l'antenne. Le coût est inférieur à 1 EUR le tag.

Il existe des tags bracelet :

image

Ou des kits dont les antennes sont moulées dans un plastique étache IP68, pratique pour les nageurs ou dans des conditions humides.

image

Placement du tag

Où placer les tags sur le corps humain ? L'UHF pénétrant mal la peau, il faut que le tag soit éloigné du corps humain et n'ait pas d'obstacle entre l'antenne et le tag ; ne pas faire des essais en tenant le tag dans la main par exemple ...

Tiré du site https://www.webscorer.com, voici quelques recommandations de placement :

  1. The rule of thumb in RFID chip timing is that the antenna must “see” the chip face-on
  2. A side antenna is unlikely to detect a bib-attached chip if the bib is on the chest
  3. A chip will not read if the racer’s own body, or another racer’s body is in between the chip and the antenna
  4. A single antenna will work if you can control the exact spot where the chip is placed on the racer
    • Chip on the helmet, always on the left ankle facing out etc.
  5. The maximum distance between the chip and the antenna should not exceed 6 feet
  6. Mat antennas and overhead antennas are better than side antennas
    • Better accuracy as the antenna is pointing up or down right on the finish line (A side antenna facing the incoming racers may read the chip well before or after the line)
    • Less random detects of chips not in the race
  7. An inexpensive method to increase chip read rates is to use 2 chips per racer
    • The chips can be encoded with the same chip ID
    • Place one horizontally and the other vertically

Quelques règles de base :

  • Plus un tag sera gros, plus il sera facilement détecté
  • L'orientation (vertical ou horizontal) joue beaucoup pour des antennes à polarisation linéiaire, moins pour les circulaires
  • L'angle peut affecter la détection : il faut que le tag soit parallèle
  • Le placement du tag : la nature de l'élément où sera fixé le tag va influencer sa détection (métal, humidité ...)
    • Le métal réfléchit l'énergie
    • L'eau absorbe l'énergie

Il semble que la plupart des kits ou des chronométreurs professionnels utilisent des tapis et des tags situés sur la cheville. Est-ce la seule combinaison valable ?

Voici la fiche technique d'un tag étanche :

image

Les lecteurs RFID UHF

Vue du marché

Une fois n'est pas coutume, regardons ce que propos un géant Chinois comme Aliexpress. Bonne surprise, beaucoup de fournisseurs semblent pouvoir fournir des équipements dédiés aux courses.

Il faut savoir que la technologie UHF est quand même assez complexe ; on va retrouver que de gros industriels proposant des lecteurs. Une marque sort du lot : Impinj.

Celui-ci propose des modules à 1, 4 ou 8 antennes que l'on retrouve dans beaucoup beaucoup de lecteurs vendus sous d'autres marques. Voici un exemple :

image

Voici la gamme des modules Impinj :

image

Des fabricants de matériel dédié aux courses proposent généralement des grosses valises endurcices :

image

Le constructeur américain Zebra propose également des lecteurs industriels FX 7500 et 9600 dotés de respectivement 4 et 8 antennes.

image

Concernant les lecteurs, il faut noter que la puissance est mesurée en décibls (dB). La puissance doublera (ou sera divisée par deux) tous les 3dB croissant (ou décroissant). Par exemple, 27dN est deux fois plus puissant que 24dB et 30dB est deux fois plus puissant que 27dB.

Paramétrages

Dans le Zebra 7500, il est possible de régler quelques détails concernant les antennes :

  • La puissance d'émission
  • Le temps de scan d'une antenne

En effet, il est important de savoir que les lecteurs vont scanner les antennes les unes après les autres. Le temps de scan sera donc à ajuster en fonction de ce que l'on souhaite détecter. Par défaut sur les Zebra ce temps est de 1 seconde par antenne ce qui est beaucoup trop : un coureur à vive allure pourrait passer devant une antenne sans être détecté si le tecteur est positionné sur une autre hors champs.

Les antennes

Attention, je ne suis pas expert en radio-fréquence, donc ce qui va suivre est à prendre avec des pincettes (informations à vérifier et/ou vocabulaire pas forcément adapté).

C'est je pense le coeur du problème et la plus grande difficulté est de trouver, positionner et paramétrer les bonnes antennes.

Polarisation des antennes

Il existe deux types de polarisation : circulaires ou linéaires

image

Une antenne à polarisation linéaire va capturer des tags plus éloignés mais elle va affecter l'orientation des tags : ceux-ci devront être tous bien orientés (verticalement ou horizontalement). Une antenne à polarisation circulaire sera mieux adaptée si l'orientation n'est pas contrôlable.

Généralement, plus haut sera le gain (9 dBi +), plus grande distance de détection, et plus grosse sera l'antenne.

Les câbles

Il faut minimiser la longueur des câbles ; si de grandes distances sont nécessaires, alors il faut choisir des câbles mieux isolés (ils sont généralement plus épais). Il faut également limiter l'usage d'adapteurs qui va rajouter des pertes de signal entre l'antenne et le lecteur.

Antennes de sol

Les antennes de sol sont dépliées sur la ligne d'arrivée (et de départ si la course le supporte). Elle est de faible épaisseur pour ne pas gêner le coureur.

image

Autre exemple d'un kit complet doté d'une antenne de sol à installer en travers de la ligne d'arrivée :

image

Ce fournisseur de matériel propose différentes topologies d'installation selon le type de course avec même la possibilité de disposer des tapis entre le départ et l'arrivée pour obtenir des temps intermédiaires.

image

À noter sur cette dernière image que sur la ligne d'arrivée, il propose un tapis de "backup" ou sauvegarde ; pour pouvoir détecter beaucoup de courreurs ? Ou pour palier à une panne matériel ?

Exemples de lignes d'arrivées :

image

image

Antennes latérales

Elles sont généralement utilisées lorsque l'installation d'une antenne de sol est impossible en raison des conditions du terrain.

Voici une antenne latérale sur son trépied :

image

Tiré d'un site web on lit :

  • Typically, 2 antennas (one on each side) is sufficient to cover a 12-foot wide finish line
  • The tripod kit also comes with an optional 50-foot antenna cable

A priori les antennes de type circulaires sontle plus adaptées à la course car elles sont moins sensibles à la position des tags (sens de rotation, hauteur).

La position des antennes latérales est très variable de ce que l'on peut voir ci et là. A priori, il faut qu'elles soient orientées vers les coureurs, plutôt en diagonale.

image

La difficulté, avec ce genre d'antenne, est qu'un coureur peut masquer un autre et faire barrière naturelle d'onde. On voit alors des positions supplémentaires pour justement capter ces coureurs au milieu, notamment en positionnant des antennes plus en hauteur :

image

Ce fournisseur propose un bundle avec un tapis et des antennes latérales, ce qui peut présenter un bon compromis :

image

Sur cette source, on distingue trois antennes positionnées sur une barre transversale :

image

Détecteur de champs

J'ai également vu, dans le commerce, des détecteurs de champs ; cet outil sert à détecter là où le champs est le plus puissant. Pratique pour positionner les antennes et les tags.

image

Un outil indispensable à tout chronométreur ?

Essais terrains

Nous voilà donc rendus, un mercredi d'automne, avec une association organisant une course à pied annuelle sur le lieu de la course pour des essais RFID. Nous nous mettons dans les conditions de course en guise de répétition ; montage des antennes, des tonnelles et du matériel de chronométrage.

Un groupe d'une dizaine de personnes simulent une arrivée ou un départ, d'abord en marchant puis en courant.

Lors de ces essais, notre principal problème a été la non détection de certains badges. Les choses se sont un peu améliorées en jouant sur certains paramètres du lecteur. En effet, le lecteur utilisé, un Zebra FX 7500, passe un certain temps sur chaque antenne. par défaut, c'est une seconde ! Dans notre cas, on préfère que le lecteur passe le plus "rapidement" possible d'une antenne à l'autre tout en gardant une durée minimale pour scanner un certain nombre de badges.

Nous avons descendu la période de scan à 100ms.

Malgré cela, nous avons eu régulièrement un ou deux badges qui n'étaient pas toujours détectés.

Les améliorations à apporter seront :

  • L'orientation des antennes : idéalement deux latérales de façon oblique et deux autres plus en hauteur
  • Idéalement utiliser deux badges par coureur, un badge orienté horizontalement et l'autre verticalement

Positionnement du matériel

Les antennes sont disposées de part et d'autres de la ligne de départ et d'arrivée. Au début, seules deux antennes sont utilisées pour tester. Une dizaine de courreurs tente, à petit trot, de passer en groupe. Catastrophe, plusieurs tags manquent à l'appel.

Essais avec 4 antennes : pas mieux.

Tentative de réglage des gains et de la périodicité de scan des antennes (50ms) : beaucoup mieux ! mais pas parfait.

Nous avons donc un système faillible, pas top pour la course prochaine qui arrive à grands pas. Il nous manque du temps pour tester :

  • D'autres paramétrages de gain / scan
  • D'autres positions d'antennes
    • Deux latérales et deux en hauteur, plongeantes
    • 2 x 2 latérales, une antenne au dessus de l'autre

Robustesses, blocages et cas réels

J'ai développé pour l'association un logiciel de course s'interfaçant avec le lecteur RFID.

Les fonctionnalités sont les suivantes :

  • Deux onglets : liste des coureurs et tableau d'arrivées
  • Fenêtre de blocage de détection
  • Autorisation/blocage des catégories
  • Récupération des inscrits par internet et envoi des résultats sur un serveur
  • Fenêtre de logs

Je n'ai pas l'expérience du terrain, du vrai chronométrage. Mais en interviewant un chronométreur professionnel, il existe beaucoup de petits problèmes qu'il faut savoir anticiper et savoir gérer sur le terrain. Chronométreur est un vrai métier à n'en point douter !

Quelques exemples :

  • Pouvoir rembourser facilement un coureur (utiliser des plateformes dédiées aide, sinon prévoir du liquide le jour J ...)
  • Prévoir des personnes récupérant les badges à la sortie, bien diriger les coureurs via des aides humaines et des barrières ...

Estimation du budget

Voici le budget approximatif qu'il faudrait investir, selon moi, pour un chronométreur professionnel (considérer que c'est le minimum) :

  • 600 Tags réutilisables ==> 5000 €
  • 1600 puces moussées ==> 450 €
  • Lecteur RDIF 8 ports ==> 2000 €
  • Antennes de seuil ==> 4 antennes de 1m 300*4 = 1200 €
  • Antennes latérales + support ==> 300 *4 = 1200 €
  • Matériel informatique : modem-routeur 4G Wifi + câbles + imprimante + PC portable
  • Un système de batterie / backup pour assurer la continuation de service

Total du budget à prévoir : 5000 € ou 10K€ avec des tags réutilisables

Liens : boutiques, fabricants & infos

Il y a plein, plein, plein d'acteurs sur ce marché. Voici une sélection complètement non-exhaustive (et pas forcément à jour dans deux ans quand vous lirez cet article).

Boutiques RFID généralistes

Fabricants de matériel (puces, lecteurs, antennes)

Matériel et logiciel de chronométrage orienté courses

Gestion des adhésions / paiements en ligne