Terminus, vous avez atteint la fin des articles.

search

Pas de GPS? Pas de problème. Notre appli détecte maintenant les véhicules sous terre.

Quand le réseau ne se rend pas dans le métro, notre détecteur de mouvement hors ligne prend la relève pour vous accompagner entre les stations et vous rappeler quand descendre.

31 octobre 2024

Dans les tunnels sinueux des métros, U-Bahn et autres trains souterrains, les connexions fiables au réseau cellulaire, wifi et GPS se font rares.

Illustration démontrant comment le faible signal GPS peut impacter la mise à jour de la localisation du véhicule. Avec des délais allant parfois à plusieurs minutes

Jusqu’à tout récemment, on n’avait donc aucune façon sûre de savoir quels arrêts étaient déjà passés ni prédire votre heure d’arrivée. Une fois sous terre, la « géolocalisation » reposait sur la pratique ancestrale de déchiffrage des noms des stations qui défilent à toute vitesse, sont prononcées tout croche dans les haut-parleurs, où s’affichent en tout petit sur un écran numérique quelque part à bord. 

Mauvaise nouvelle : on n’a pas trouvé les centaines de milliards de dollars de budget nécessaire pour construire nos propres satellites GPS super puissants. Bonne nouvelle : on a trouvé mieux — Étienne, Ayser, Jonathan et Luc!

Grâce à leurs exploits d’ingénierie, on peut maintenant prédire votre emplacement dans les tunnels de métro à l’aide des vibrations perçues par votre téléphone. C’est tout simple : 

1. Activez GO pour votre trajet.

Vous pouvez démarrer un trajet GO directement à partir d’une ligne de bus ou de métro, ou à partir d’une suggestion du planificateur de trajets.

2. Et voilà! Transit affichera votre emplacement sur la carte, comptera les stations qui passent et ajustera votre heure d’arrivée.

Oui oui, tout ça sans connaître vos coordonnées GPS.

Pour rendre tout ça possible, voici ce qui se passe en coulisse…

Étape 1 : classification générale des mouvements

La magie commence dès que vous empruntez un tunnel de métro où le GPS ne se rend pas. Pour déterminer où vous vous trouvez entre les stations, on doit d’abord confirmer que vous êtes bien dans un véhicule en mouvement!

Pour vous donner une idée de ce qui se passe dans votre téléphone, voici les données de l’accéléromètre intégré à celui de Stephen, l’employé de Transit avec la plus grande enjambée, récoltées pendant son trajet jusqu’au bureau :

Pour faire les choses vite et bien, Stephen a identifié les différentes parties de son trajet :

S’inspirant de l’un de nos mathématiciens français préférés, on peut nettoyer les données de Stephen et les transformer en fréquences pour plus facilement isoler les moments à bord d’un métro qui bouge.

Spectrogramme montrant les fréquences en hertz (Hz) pendant un trajet, avec l'axe vertical indiquant les fréquences (0 à 12 Hz) et l'axe horizontal le temps écoulé en secondes. Les couleurs varient pour représenter l'intensité des fréquences à différents moments.

Quelques indices nous donnent déjà une bonne idée de la situation : le téléphone de Stephen vibre à environ 5 Hz quand le métro est en mouvement, comparé à 2 Hz quand Stephen marche. Mais ce n’est pas tout ou rien — d’autres vibrations et fréquences harmoniques (les bandes roses plus faibles en haut des bandes rouges plus prononcées) viennent brouiller les résultats.

Pour pouvoir dire avec certitude que « le métro est en mouvement », on doit ensuite entraîner un modèle qui pourra classer les types de mouvement. Et pour ça, ça nous prend BEAUCOUP de données.


Étape 2 : collecter les données sur (sous) le terrain

On a demandé à Stephen et ses valeureux collègues de répéter l’expérience, s’assurant cette fois-ci d’identifier les données de centaines de trajets dans des dizaines de villes, tout ça pour nous permettre de développer un modèle capable de dire « oui! le métro bouge! » peu importe le type de wagons et de rails.

Nos fidèles émissaires Étienne et Elijah sont donc partis de Montréal pour aller enregistrer les vibrations à bord du système souterrain le plus populaire de l’appli : le métro de la ville de New York.

Deux photos d'Étienne et Elijah avec des téléphones intelligents dans le métro de la ville de New York.
Étienne et Elijah à la chasse aux données dans leur (sou)terrain de jeu.

Armés d’iPhones, d’Androids et de MetroCards, ils ont passé la semaine à multiplier les allers-retours à bord des bus et métros de la MTA, identifiant chaque étape de chaque trajet : 

Photo montrant quatre téléphones intelligents dont les écrans affichent l'application Transit et d'autres applications permettant de collecter les données sur le terrain. La photo est accompagnée d'une capture d'écran montrant les options à sélectionner pour décrire le type de mouvement enregistré.

Les données qu’ils ont collectées allaient servir à démêler les vibrations à bord d’un véhicule en mouvement des autres vibrations enregistrées sur le quai et dans la station.

On s’est aussi assuré de prendre en compte les escaliers roulants et les ascenseurs, dont Elijah et Étienne ont passé de longues heures à méticuleusement noter les hauts et les bas.

Ils ont finalement emprunté chaque ligne de métro de New York, du Bronx à Brighton Beach, traversant les ponts de Queensboro, Manhattan et Williamsburg pour enfin revenir par le tunnel Canarsie.


Étape 3 : entraîner notre classificateur de mouvement

Après avoir nettoyé et traité toutes ces données, on a enfin pu commencer à enseigner à notre classificateur de mouvement comment distinguer « métro qui bouge! » de « pas un métro qui bouge! ».

On a commencé par saisir dans notre modèle les données non classifiées de nos détecteurs de mouvement, puis on a demandé au modèle d’émettre une hypothèse aléatoire pour deviner si le téléphone se trouvait dans un véhicule en mouvement ou immobile, dans un ascenseur qui monte, dans la poche d’un employé de Transit qui marche, etc. On a ensuite comparé ces hypothèses avec nos notes (les données collectées sur/sous le terrain) et ajouté des éléments de logique pour guider notre modèle vers des prédictions plus précises.

Après de longues heures de bricolage et de patentage, notre modèle peut maintenant déduire avec confiance si une personne se trouve ou non dans un véhicule en mouvement — tout ça à partir des vibrations de son téléphone.

Après avoir déterminé qu’un·e usager·ère se déplace sous terre, la prochaine étape est d’utiliser cette info pour savoir exactement où son métro se trouvait, se trouve et se trouvera.


Étape 4 : prédire l’emplacement des usager·ère·s

Ne restait plus qu’un seul modèle à ajouter pour bien brasser notre création : le Mixeur.

On l’a entraîné à prendre en considération…

  1. la prédiction du type de mouvement (est-ce qu’on est à bord d’un métro qui bouge?)
  2. le dernier emplacement connu de l’usager·ère
  3. le temps écoulé depuis le dernier emplacement connu
  4. l’horaire du métro

…pour arriver à prédire l’emplacement actuel de l’usager·ère.

En combinant le tout, nos prédictions de géolocalisation sont maintenant exactes dans 90 % des cas.

Carte de Paris affichant les mises à jour de l'emplacement pendant un trajet en train. Quelques points à gauche et au centre de la carte représentent les rares points d'accès au réseau cellulaire lorsque le RER est sous terre. Une ligne continue à droite de la carte représente la section du trajet en surface, où l'accès au GPS et au réseau cellulaire permet de localiser les usager·ère·s.
Carte du réseau cellulaire à bord du RER à Paris. La section souterraine du trajet (à gauche) contient quelques rares points d’accès grâce aux connexions GPS, Bluetooth et wifi. À partir de ces mises à jour de l’emplacement de l’usager·ère, on peut calibrer nos prédictions pour les zones souterraines sans réception. Et quand l’usager·ère remonte à la surface pour la section du trajet (ici à droite) où le réseau se rend, on revient au GPS pour déterminer son emplacement.

C’est le Graal de la localisation souterraine : comme on peut prédire où un·e usager·ère se trouve, on peut maintenant mettre à jour votre heure d’arrivée à destination.

On est une coche au-dessus des autres options qui estiment l’emplacement sous terre. Fini les torticolis et les chorégraphies nécessaires pour arriver à consulter les écrans où s’affichent les noms des stations quand le GPS prend le bord!

Et le plus beau dans tout ça? Notre système de décompte des stations fonctionne entièrement hors ligne. Nos deux modèles (le classificateur de mouvement et le mixeur) ont été compressés dans de tout petits fichiers qui travaillent directement dans votre téléphone, sans envoyer aucune donnée aux serveurs de Transit.

Pas de pisteurs. Pas de cookies. Les données de vibration de votre téléphone, c’est pas de nos oignons!


Envie de voir notre géolocalisation souterraine en action?

Facile — la prochaine fois que votre métro ou train passera sous terre, ouvrez Transit, activez la navigation GO et admirez les stations défiler une à une à l’écran! Pendant nos tests initiaux, cette fonctionnalité a aidé nos utilisateur·trice·s à détecter 1,5 million de stations souterraines pour effectuer environ 400 000 trajets.

La navigation GO pas-à-pas aidait déjà des millions de passager·ère·s à se déplacer à la surface de plus de 600 villes — et depuis le lancement de la navigation GO à vélo le mois dernier, les cyclistes en profitent aussi! 

Les usager·ère·s souterrains font maintenant aussi partie de la gang (même s’iels utilisaient déjà GO à l’extérieur des tunnels) et peuvent continuer à se laisser guider par Transit entre l’ombre et la lumière.

Télécharger Transit

Articles récents
Notre mission?
Rendre la voiture obsolète.
Télécharger Transit