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.