Your mission
Some key points for the position we would need:
Your mission will be several parts of:
- C++
- memory management
- multithreading (executors, callback groups; prefer lock-free where sensible)
- error/exception handling (contracts, retries, watchdogs)
- ROS 2
- evaluation and use of different middlewares (CycloneDDS, Fast DDS, Connext)
- knowledge of data transfer and callback prioritization (QoS, executors, deadlines, liveliness, intra-process)
- Knowledge of other robotics frameworks (ROS 1, DDS native or custom solution, GStreamer, LCM/LCMS, ZeroMQ, etc.)
- NVIDIA Jetson
- memory management (CPU/GPU, pinned memory, zero-copy)
- HW accelerators (CUDA/TensorRT/VPI — orchestrating data flows)
- sensor acquisition interfaces (CSI/MIPI, USB3, Ethernet, CAN, SPI)
Your mission will be several parts of:
- Design, build, and harden the ROS 2 middleware layer: message schemas, QoS profiles, routing, callback prioritization, dedicated executors by criticality.
- Make data move reliably from sensors → fusion/perception → planning/actuation: time sync (PTP/NTP), timestamps, clean frames/TF, rosbag replay for debugging.
- Realize a modular and extensible sensor I/O & fusion framework: drivers/bridges, message conversions, composable pipelines.
- Integrate hardware components on Jetson/ARM: bring-up GNSS/IMU/cameras/LiDAR/radar, tune I/O buses (CSI/USB/Ethernet), manage power/thermals.
- Liaise with computer-vision and acoustics experts: expose stable interfaces, define latency budgets, and service contracts (topics, rates, QoS).
- Evaluate and select middleware options (DDS, transports, codecs, HW acceleration) under latency and reliability constraints.
- Keep track of the ROS 2/middleware ecosystem & best practices (executors, tracing, security, observability) and drive continuous improvements.
- Ensure consistently high quality of the overall detection & tracking pipeline: via end-to-end integration tests, embedded CI/CD, metrics, and alerting.
- ROS 2 (rclcpp, lifecycle, rosbag2, tracing), DDS (QoS profiles), C++17/20
- Jetson Orin/Xavier, CUDA/TensorRT, V4L2/GStreamer
- Embedded Linux, colcon, Docker/Podman, Git (PRs/reviews), CI/CD
- RT-preempt, cgroups/CPU pinning, DDS Security, GMSL/MIPI bring-up, CAN/UDP custom protocols
- Exposure to PX4/ArduPilot/MAVLink for autopilot interfacing (optional)