Что надо знать и уметь:
Делаем тяжёлые грузовые мультироторы на
ArduPilot с бортовым компьютером Raspberry Pi 5
+ Hailo-8, навигацией без GPS (VIO) и собственным
наземным ПО «Точка ЦУП». Ищем сильного
разработчика, который отвечает за архитектуру
всей программной части «борт — компаньон —
земля», лезет в исходники ArduPilot, когда это
нужно, и ведёт команду разработчиков.
Стек:
Полётный контроллер: ArduPilot Copter
(единственная система) — C++ исходники,
сборка под свои платы, Lua, SITL, Replay
Компаньон: Raspberry Pi 5 + Hailo-8, Linux,
Python 3, Go, Rust, C++17 (там, где нужна
интеграция с ArduPilot/HailoRT), systemd,
Docker.
Протоколы: MAVLink (в т.ч. кастомные
сообщения и диалекты), DroneCAN,
UART/Ethernet/PPP.
Видео и CV: GStreamer, OpenCV, HailoRT,
камеры global shutter.
Навигация: VIO / визуальная одометрия,
внешняя навигация в EKF3, оптический поток,
дальномеры.
Наземка: «Точка ЦУП» — Go / Python / Rust,
видео по GStreamer, MAVLink.
Инструменты: Git, CI, pytest/gtest, разбор логов,
PID Toolbox / MAVExplorer.
Обязанности:
Архитектура и код
Проектирование и развитие архитектуры
программной части: разделение
ответственности между FC, компаньоном и
ЦУП, протоколы обмена, отказоустойчивость,
поведение при потере связи и отказе
датчиков.
Разработка и сопровождение сервисов
компаньона на Python/C++: навигация,
управление миссией через Guided, обработка
событий, телеметрия, watchdog
Доработка ArduPilot на уровне исходников:
драйверы датчиков, правки в режимах и
библиотеках, hwdef под свои платы,
собственная ветка с понятной историей и
процедурой обновления на новые релизы
Интеграция VIO/CV-пайплайна с EKF3:
тайминги, ковариации, источники (EK3_SRC),
lane switching; доказательство корректности
по логам и SITL.
Развитие «Точки ЦУП»: протокол с бортом,
отображение телеметрии и видео,
планирование миссий, работа с несколькими
бортами.
Lua-скрипты и кастомные режимы ArduPilot
под задачи заказчика.
Команда и процесс:
Техническое руководство middle-
разработчиком(ами): постановка задач,
ревью, рост.
Участие в подборе разработчиков: тестовые
задания, технические собеседования
Организация процесса: репозитории, CI,
обязательные SITL-тесты перед бортом,
релизы образов компаньона и прошивок,
changelog.
Политика бэкапов и версионирования парка:
параметр-файлы, прошивки, образы
компаньона и конфигурации ЦУП по каждому
борту с возможностью отката.
Техническая документация: архитектура,
протоколы, инструкции по развёртыванию,
разбор инцидентов.
Совместная работа с инженерами настройки и
ведущим инженером: постановка лётных
экспериментов, разбор логов, решение «это
железо или софт».
Требования:
Опыт разработки от 5–6 лет, из них не менее 2
лет в робототехнике, БПЛА или embedded
Linux.
Python и Go и/или Rust на уровне senior, плюс
уверенный C++ для работы с исходниками
ArduPilot и HailoRT: многопоточность, работа с
железом, ограничения по CPU/памяти
ArduPilot на уровне исходников: собирали
прошивку, вносили правки, ориентируетесь в
структуре библиотек (AP_, AC_), понимаете
EKF3, position/attitude controller, как работают
режимы и failsafe.
Глубокое знание MAVLink: проектирование
обмена, кастомные сообщения, генерация
библиотек, работа с несколькими sysid
Опыт с VIO/SLAM или другой внешней
навигацией в связке с полётным
контроллером: хотя бы один проект,
доведённый до полёта.
Опыт с GStreamer и CV в реальном времени,
деплой нейросетей на edge-ускорители
Linux на уровне системного разработчика:
сборка образов, systemd, сеть, отладка
производительности.
Опыт технического лидерства: вели 2+
разработчиков, отвечали за архитектуру и
результат.
Активный пользователь Claude / LLM-
ассистентов в разработке (vibe coding как
рабочий инструмент): быстро прототипируете,
но проверяете и несёте ответственность за
код.
Английский: документация, исходники,
обсуждения на GitHub и discuss.ardupilot.org
Готовность ездить на площадку на
интеграцию и тестовые полёты; на площадке
— по правилам безопасности.
Будет плюсом
Принятые PR в ArduPilot или активность в
сообществе ROS 2 / ArduPilot DDS
DroneCAN: разработка периферии на
AP_Periph, свои узлы.
Опыт разработки наземных станций: QGC,
Mission Planner, свои решения
Опыт с самолётами и QuadPlane на ArduPilot
Plane, работа с одометрией и навигационными
датчиками.
Опыт с mesh-сетями и радиоканалами
передачи данных
Знание регуляторики БАС в РФ, Remote ID /
OpenDroneID в ArduPilot.
Пилотирование квадрокоптера.
Безопасность и ответственность.
Код, который влияет на полёт, идёт на борт
только после прогона в SITL и ревью; на
реальном борту — только с инженером
настройки по чек-листу.
Каждая правка прошивки, образа компаньона
и параметр-файла — с версией и записью в
changelog.
Условия:
Оформление по ТК РФ, полная занятость,
гибрид. Зарплата по результатам собеседования.
Работа с информацией заказчиков под NDA.
Прямое влияние на техническую политику
компании, работа с руководителем
разработки.
Похожие вакансии
Какие преимущества ждут опытного профессионала? Практический опыт продаж недвижимости. Навык ведения переговоров и заключение успешных сделок. Способность решать нестандартные ситуации...
Умение работать с большим объёмом информации, умение работать в режиме многозадачности, клиентоориентированность. Деловая переписка с клиентами, устная и письменная грамотность.
Наличие опыта работы в сфере продаж (обязательно). Готовность к активным передвижениям по территории Подмосковья (мобильность). Высокие коммуникативные навыки, ориентация на...
Опыт работы в B2B-продажах от 3 лет (например: торговое и складское оборудование, системы управления WMS, TMS, MDM...
Что нужно знать и уметь: Связь с FC: pymavlink / MAVSDK / MAVProxy. UART и Ethernet. .bin. Тестирование в SITL — обязательный этап.
