amaris-consulting-logo
Amaris Consulting

UWB/CSS Ranging & Positioning Engineer

Montreal
Permanent Job
English, French

Job description

Notre client développe des systèmes d’évitement des collisions pour les véhicules miniers souterrains et les piétons.
Le système utilise des technologies radio UWB et CSS pour localiser les véhicules et les personnes les uns par rapport aux autres, puis avertir les opérateurs des risques de collision en temps réel.
Nous recherchons un(e) ingénieur(e) capable d’analyser les problèmes intermittents de mesure de distance, comme les pertes de signal, les valeurs incohérentes ou les variations soudaines. Vous interviendrez sur les performances radio, les logiciels embarqués, les algorithmes de positionnement et l’analyse des données terrain afin d’identifier les causes racines ou de caractériser clairement les conditions dans lesquelles les problèmes apparaissent.
Le poste est centré sur l’investigation et l’analyse. Des développements fonctionnels pourront être prévus au cours de la mission.

Vos responsabilités

  • Investiguer les problèmes intermittents de mesure de distance UWB et CSS en laboratoire et sur le terrain.
  • Identifier les causes racines lorsque cela est possible, ou caractériser chaque problème selon sa fréquence, ses conditions d’apparition et son impact.
  • Concevoir et réaliser des tests structurés sur banc et avec des véhicules miniers.
  • Collecter, décoder et analyser les données de mesure et de positionnement issues des interfaces CAN, des journaux système et des enregistrements de tests terrain.
  • Développer des scripts Python pour parser les journaux, décoder les données binaires et CAN, calculer des statistiques et produire des graphiques.
  • Déterminer si un problème provient de la couche RF ou PHY, du fonctionnement de la couche MAC, de la planification des créneaux, des collisions, des interférences, du firmware ou du logiciel de positionnement.
  • Expliquer clairement à l’équipe les limites physiques et le comportement des mesures.
  • Comprendre l’algorithme de positionnement existant, notamment le filtrage des distances, la trilatération et le positionnement en 1D ou en 2D.
  • Prendre en charge le logiciel de positionnement sur le plan technique, à travers le débogage, le réglage des paramètres et la réalisation de corrections ciblées.
  • Comprendre et déboguer la logique de zonage, y compris les zones statiques et les zones calculées à partir de la télémétrie des véhicules.
  • Lire et comprendre le code C exécuté sur le module de mesure de distance. Des modifications importantes de ce code ne sont pas prévues.
  • Documenter les résultats des tests, les causes racines, les limites techniques et les recommandations.
  • Partager les conclusions qui pourront guider les décisions futures concernant le matériel et le choix des composants radio.

Environnement technique

  • Unité véhicule : C++ sur Linux embarqué avec Yocto.
  • Positionnement et zonage : exécutés sur l’unité véhicule.
  • Module de mesure : C sur RTOS, avec des radios UWB et CSS.
  • Communication : les données de mesure sont envoyées du module radio à l’unité véhicule via CAN.
  • Sources de données : journaux CAN, notamment candump, journaux système et enregistrements de tests terrain.

Profil recherché

Vous avez une solide expérience dans les technologies de mesure radio, les systèmes embarqués ou les logiciels de positionnement. Vous êtes à l’aise pour passer du comportement matériel aux logiciels bas niveau, puis à l’analyse des données.

Compétences indispensables

  • Bonne maîtrise des fondamentaux de la mesure de distance UWB, notamment :
    • La mesure bidirectionnelle de distance et le temps de vol.
    • La dérive des horloges et les effets liés aux horodatages.
    • Les phénomènes de trajets multiples et les conditions NLOS, sans visibilité directe.
    • Les interférences.
    • Les limites de la couche MAC, comme l’allocation de créneaux, le TDMA et les mesures de distance d’un équipement vers plusieurs autres.
    • Les contraintes de débit et de fiabilité.
  • Expérience des méthodes d’estimation et de filtrage, comme les filtres de type Kalman et le rejet des valeurs aberrantes.
  • Capacité à expliquer pourquoi un filtre accepte ou rejette une mesure.
  • Connaissances en trilatération ou multilateration, notamment sur la dilution de la précision et les problèmes liés à une mauvaise géométrie des ancres.
  • Expérience dans la conception de tests permettant d’isoler des problèmes intermittents.
  • Capacité à présenter clairement les résultats, y compris lorsque les conclusions sont négatives ou restent inconclusives.
  • Bonne maîtrise de Python, ou d’un langage similaire, pour :
    • Le parsing de journaux.
    • Le décodage de données binaires et CAN.
    • L’analyse statistique.
    • La visualisation des données.
  • Bonne capacité à lire et déboguer du C++, avec suffisamment d’expérience pour suivre et modifier un algorithme existant en production.
  • Diplôme de niveau bachelor ou master en génie électrique, informatique, logiciel, physique ou dans un domaine équivalent.

Compétences appréciées

  • Expérience de la mesure de distance CSS, notamment avec des composants de type Nanotron ou Semtech.
  • Expérience dans la mise sur le marché ou le débogage d’un produit UWB ou RTLS.
  • Expérience des systèmes liés à la sécurité ou de la sûreté de fonctionnement, par exemple ISO 26262, IEC 61508 ou ISO 21815.
  • Master ou doctorat en traitement du signal, estimation ou radiofréquence, ou expérience professionnelle équivalente.
  • Expérience des outils CAN tels que SocketCAN, candump, python-can ou des fichiers DBC.
  • Expérience de Linux embarqué, Yocto ou du langage C sur RTOS.
  • Expérience dans les systèmes radio industriels, miniers, automobiles ou dans d’autres environnements exigeants.
  • Maîtrise du français et de l’anglais.

Pourquoi rejoindre ce projet ?

Vous travaillerez sur un système où la qualité des mesures, la précision du positionnement et le comportement logiciel jouent un rôle direct dans la sécurité des véhicules et des piétons.
Vos investigations aideront l’équipe à comprendre les limites actuelles, à résoudre les problèmes rencontrés sur le terrain et à prendre de meilleures décisions techniques pour les prochaines versions matérielles et logicielles.
 

Pourquoi nous choisir

  • Une communauté internationale réunissant plus de 110 nationalités différentes
  • Un environnement où la confiance est primordiale : 70 % de nos leaders ont commencé leur carrière au premier niveau de responsabilité
  • Un système de formation solide avec notre Académie interne et plus de 250 modules disponibles
  • Un environnement de travail dynamique qui se retrouve fréquemment lors d'événements internes (afterworks, team buildings, etc.)

Amaris Consulting promeut l’égalité des chances. Nous nous engageons à rassembler des personnes d’horizons divers et à créer un environnement de travail inclusif. À ce titre, nous accueillons les candidatures de toutes les personnes qualifiées, quels que soient leur sexe, orientation sexuelle, origine ethnique, croyances, âge, état civil, handicap ou autres caractéristiques.

 
---------------
English

About the role

Our client develops collision avoidance systems for underground mining vehicles and pedestrians.
The system uses UWB and CSS radio ranging to locate vehicles and people relative to one another, then warn operators about collision risks in real time.
We’re looking for an engineer who can investigate intermittent ranging issues such as dropouts, glitches and inconsistent distance measurements. You’ll work across radio performance, embedded software, positioning algorithms and field data to identify root causes or clearly characterize the conditions behind each issue.
The role begins with investigation and analysis. Feature development may follow as the project evolves.

What you’ll do

  • Investigate intermittent UWB and CSS ranging issues in the lab and in the field.
  • Identify root causes where possible, or characterize each issue by its frequency, operating conditions and impact.
  • Design and run structured tests using bench setups and mining vehicles.
  • Collect, decode and analyze ranging and positioning data from CAN interfaces, system logs and field recordings.
  • Write Python scripts to parse logs, decode binary and CAN data, calculate statistics and produce plots.
  • Determine whether an issue comes from the RF or PHY layer, MAC timing and slot scheduling, collisions, interference, firmware or positioning software.
  • Explain physical limitations and measurement behaviour clearly to the wider engineering team.
  • Learn the existing positioning algorithm, including range filtering, trilateration and 1D or 2D positioning.
  • Take technical ownership of the positioning software through debugging, tuning and targeted code changes.
  • Understand and debug zoning logic, including static zones and zones calculated from vehicle telemetry.
  • Read and follow C code running on the ranging sensor module. Major changes to this code are not expected.
  • Document test results, root causes, technical limitations and recommendations.
  • Share findings that can support future hardware and chip selection decisions.

Technical environment

  • Vehicle unit: C++ on embedded Linux with Yocto.
  • Positioning and zoning: Runs on the vehicle unit.
  • Ranging sensor module: C on an RTOS, using UWB and CSS radios.
  • Communication: Ranging data is sent from the sensor module to the vehicle unit over CAN.
  • Data sources: CAN logs, including candump, system logs and field test recordings.

What we’re looking for

You have strong experience in wireless ranging, embedded systems or positioning software. You’re comfortable moving between hardware behaviour, low-level software and data analysis.

Required experience

  • Strong knowledge of UWB ranging fundamentals, including:
    • Two-way ranging and time of flight.
    • Clock drift and timestamp effects.
    • Multipath and NLOS conditions.
    • Interference.
    • MAC limitations such as slotting, TDMA and one-to-many ranging.
    • Throughput and reliability constraints.
  • Experience with state estimation and filtering, such as Kalman-type filters and outlier rejection.
  • Ability to explain why a filter accepts or rejects a measurement.
  • Knowledge of trilateration or multilateration, including dilution of precision and poor anchor geometry.
  • A practical approach to experimental work, including the design of tests that isolate intermittent issues.
  • Ability to report clear results, including negative or inconclusive findings.
  • Strong Python skills, or experience with a similar language, for:
    • Log parsing.
    • Binary and CAN data decoding.
    • Statistical analysis.
    • Data visualization.
  • C++ reading and debugging skills, with enough experience to follow and modify an existing production algorithm.
  • A bachelor’s degree in electrical engineering, computer engineering, software engineering, physics or a related field.

Nice to have

  • Experience with CSS ranging, including Nanotron or Semtech-class devices.
  • Experience shipping or debugging a commercial UWB or RTLS product.
  • Experience with safety-related systems or functional safety, such as ISO 26262, IEC 61508 or ISO 21815.
  • A master’s degree or PhD in signal processing, estimation or RF, or equivalent professional experience.
  • Experience with CAN tools such as SocketCAN, candump, python-can or DBC files.
  • Experience with embedded Linux, Yocto or C on an RTOS.
  • Experience with industrial, mining, automotive or other harsh-environment wireless systems.
  • Fluency in French and English.

Why join this project?

You’ll work on a system where measurement quality, positioning accuracy and software behaviour directly affect vehicle and pedestrian safety. Your investigations will help the team understand current limitations, resolve field issues and make better technical decisions for future hardware and software releases.
 

Why choose us

  • An international community bringing together more than 110 different nationalities
  • An environment where trust is central: 70% of our leaders started their careers at the entry level
  • A strong training system with our internal Academy and more than 250 modules available
  • A dynamic work environment that frequently comes together for internal events (afterworks, team buildings, etc.)

Amaris Consulting promotes equal opportunities. We are committed to bringing together people from diverse backgrounds and creating an inclusive work environment. In this regard, we welcome applications from all qualified individuals, regardless of sex, sexual orientation, race, ethnicity, beliefs, age, marital status, disability, or other characteristics.

Who are we?

Amaris Consulting, part of Mantu est une société indépendante de conseil et de technologies au service des entreprises.   Avec plus de 1000 clients dans le monde, nous déployons des solutions pour les plus grands projets depuis plus d'une décennie - tout ceci est rendu possible par une équipe internationale de 7 600 talents répartis sur les 5 continents et dans plus de 60 pays. Nos solutions sont axées sur quatre domaines d'activité différents : Les systèmes d'information et le digital, la télécommunication, les sciences de la vie et l'ingénierie. Nous cherchons à créer et à développer une communauté de talents où tous les membres de notre équipe peuvent réaliser leur plein potentiel.   Amaris est votre « stepping stone » pour traverser les rivières du changement, pour relever les défis et pour réaliser tous vos projets avec succès.  

Chez Amaris, nous avons à cœur d'offrir à nos candidats la meilleure expérience de recrutement possible. Nous cherchons à mieux connaître et comprendre nos candidats, à les challenger et à leur faire part de nos impressions le plus rapidement possible. Voici à quoi ressemble notre processus de recrutement :   

Premier contact : Notre processus commence généralement par une brève conversation virtuelle/téléphonique pour en savoir plus sur vous ! L'objectif ? Apprendre à vous connaître, comprendre vos motivations et veiller à ce que nous vous proposions le poste qui vous correspond le mieux ! 

Entretiens (en moyenne, le nombre d'entretiens est de 3 – il peut toutefois varier en fonction du niveau d'ancienneté requis pour le poste). Au cours des entretiens, vous rencontrerez les membres de notre équipe : votre futur manager bien sûr, mais aussi d'autres personnes avec lesquelles vous serez amené à travailler. Ces entretiens nous permettront d'en apprendre davantage sur vous, votre expérience et vos compétences, mais aussi sur le poste et ce que l'on attendra de vous. Bien entendu, vous apprendrez également à connaître Amaris : notre culture, notre histoire, nos équipes et vos opportunités de carrière !

Étude de cas: En fonction du poste, vous serez peut-être appelé à passer un test. Il pourra s'agir d'un jeu de rôle, d'une évaluation technique, d'un scénario de résolution de problème, etc.  

Comme vous le savez, chaque personne est différente et il en va de même pour chaque rôle dans une entreprise.  C'est pourquoi nous devons nous adapter en conséquence, si bien que le processus peut parfois être quelque peu différent pour chacun. Cela dit, nous nous mettons toujours à la place du candidat pour lui offrir la meilleure expérience possible.  Nous avons hâte de vous rencontrer !

Interested in this job?

Fast response time

Avg. response time: 72h
.doc, .docx, .pdf
Sending your application