Embedded Software Engineer
Про позицію
Ми розробляємо платформу автономних дронів для двох напрямків: оборонного та цивільного (логістика, інспекція, mapping). В основі архітектури — NVIDIA Jetson Orin NX як місійний комп'ютер і STM32 у двох ролях: flight controller на базі PX4 та периферійний контролер сенсорів/актуаторів. Шукаємо інженера, який однаково впевнено почувається в NuttX з uORB топіками та в L4T з ROS2-нодами — і розуміє, як ці два світи з'єднуються через MAVLink.
Обов'язки
• Розробка та кастомізація модулів і драйверів PX4 на STM32: сенсори (IMU, барометр, GPS/GNSS), ESC (PWM/DSHOT), RC вхід (SBUS, CRSF), кастомні uORB-топіки.
• Розробка периферійних прошивок на STM32 (FreeRTOS або bare-metal): інтерфейси з сенсорами нижнього рівня, актуаторами, CAN/I2C/SPI/UART.
• Інтеграція Jetson Orin NX як companion computer: L4T BSP, MIPI CSI-2 камери, LiDAR (Ethernet/USB), зв'язок з PX4 через MAVLink v2 (MAVSDK / pymavlink).
• Налаштування та розширення ROS2-стека на Orin NX: ноди для perception, obstacle avoidance, mission execution.
• Реалізація failsafe-механізмів: watchdog між підсистемами, geofencing, return-to-home, поведінка при втраті зв'язку та GPS.
• Розробка та налаштування SITL/HITL-середовища (Gazebo / AirSim) для верифікації без польотів.
• Налагодження системи: JTAG/SWD (STM32), GDB, MAVLink Inspector, логи PX4 (ULog), осцилограф, логічний аналізатор.
• Участь у системній інтеграції та польотних випробуваннях.
Обов'язкові вимоги
Досвід і рівень
• 2–5 років у embedded software розробці, з яких не менше 1 року — на БПЛА, робототехніці або схожих системах реального часу.
• Досвід роботи з реальним залізом від специфікації до польотного (або польотно-еквівалентного) тестування.
STM32 / Мікроконтролери
• Впевнена робота зі STM32 (HAL та/або LL): тактування, переривання, DMA, таймери.
• Досвід з RTOS: FreeRTOS або NuttX — планувальник, черги, семафори, пріоритети задач.
• Розробка та відлагодження драйверів для периферії по SPI, I2C, UART, CAN.
• Розуміння real-time вимог: jitter-бюджети, детермінізм, відлагодження timing-проблем. PX4 / Flight Stack
• Практичний досвід з PX4: архітектура модулів, uORB publish/subscribe, командний рядок NuttX Shell.
• Написання або модифікація PX4-драйверів для сенсорів або актуаторів.
• Розуміння estimation pipeline PX4: EKF2, джерела даних (IMU, GPS, барометр, optical flow).
• Знання MAVLink v2: структура повідомлень, кастомні MAVLink-команди, протокол heartbeat/command/ack.
• Досвід з SITL або HITL тестуванням (Gazebo або аналог). Orin NX / Companion Computer
• Робота з Linux на embedded-платформах: системні сервіси, device tree, kernel modules.
• Досвід з JetPack SDK / L4T: базове розуміння BSP, підключення камер по MIPI CSI-2 (V4L2).
• Інтеграція з PX4 через MAVSDK (C++) або pymavlink: offboard-режим, mission upload, telemetry читання.
• Практичний досвід з ROS2: publisher/subscriber, launch-файли, tf2, rosbag2.
Інструменти та мови
• C та C++ (до C++17) — обидві мови в продакшн-коді.
• Python — для скриптування, тестів, MAVLink-утиліт.
• Git + CI/CD.
• Відлагодження STM32: SWD/JTAG (J-Link, ST-Link, OpenOCD), GDB, Logic Analyzer.
• Відлагодження польотних даних: QGroundControl, PX4 Flight Review (ULog), MAVLink Inspector.
Буде перевагою
• Досвід з конкретними IMU для дронів: ICM-42688-P, BMI088; знання процедур калібрування.
• Знайомство з GPS-denied навігацією: optical flow (PX4FLOW або аналог), visual odometry, LiDAR odometry.
• Досвід з SLAM: картографування та локалізація в реальному часі (RTAB-Map, Cartographer, або кастомне).
• Базове розуміння CUDA / TensorRT для інтеграції inference pipeline на Orin NX.
• Досвід з телеметрійними системами: SiK radio, ExpressLRS (ELRS), CRSF.
• Знайомство з темою стійкості до РЕБ: поведінка при GPS-spoofing, RF-jamming, деградовані режими.
• Досвід з CAN/CAN-FD для авіаційних протоколів (UAVCAN / DroneCAN).
• Знайомство з OpenCV або depth estimation для задач obstacle avoidance.
Умови
• Офiцiйне працевлаштування
• Бронювання вiд мобiлiзацii з першого дня
• Часи роботи: 9:00 - 18:00, перерва 1 година (графік може бути гнучким). За домовленністю можливий гібридний формат.
• Вiдрядження на полiгон для польових тестiв (оплачуються окремо)