Инженер-интегратор робототехнических систем
от 190 000 ₽
Авихимса — полностью российская IT-компания. Мы разрабатываем и внедряем ПО для автономного управления роботизированной техникой.
Команда состоит из специалистов в разных областях: робототехники, автономного движения, технологий компьютерного зрения, дополненной и виртуальной реальности, работы с данными.
Мы разрабатываем «ВДОЛЬ» — автономную систему управления мобильными роботами. Наши роботы уже работают в реальных условиях: ориентируются без GPS с помощью лидаров и алгоритмов, накапливают моточасы. Мы переходим от этапа R&D к масштабированию, поэтому нам нужен инженер, который умеет строить надёжные стыки между физическим миром (железом) и нашими алгоритмами и который понимает, что происходит ниже уровня middleware, не боится держать в руках паяльник и может решить проблему там, где другие говорят «это где-то в железе».
Технологический стек:
-
Платформа: x86 + NVIDIA GPU (Linux), ROS 2.
-
Шины и транспорт: SocketCAN (250 кбод, 11-bit), TCP/SLCAN (I-7540D), бинарный UART, MQTT.
-
Сенсоры: 3D/2D Лидары (Leishen, RoboSense), Глубинные камеры (Luxonis OAK-D), IMU (MPU-6050/9250).
-
Firmware: STM32F103 (C99), STM32CubeIDE, OpenOCD.
Чем предстоит заниматься:
1. Полный цикл интеграции железа (от идеи до работающего робота):
Придумывать концепт сенсорного юнита, подбирать комплектующие, продумывать питание и интерфейсы, собирать прототип руками и заставлять его стабильно отдавать данные в наш софт.
2. Реверс-инжиниринг и транспортный слой:
Часто документации нет или она врет. Нужно уметь подключиться к CAN/UART сторонней платформы, сниффером разобрать протокол и научиться ей управлять в обход кривых API. Писать коннекторы (C/C++/Python), которые соединяют шины с верхним уровнем системы.
3. Локализация проблем и работа с партнерами:
Робот встал — таймаут CAN-узла, джиттер энкодеров или просадка питания? Мы не производим свое железо, поэтому вы станете техническим адвокатом компании: нужно ставить диагноз цифрами, писать ТЗ подрядчикам на доработку их платформ и доказывать вендорам баги в их прошивках с логами в руках.
4. Поддержка прошивок (STM32):
Читать чужую прошивку (C99), находить причину поведения по CAN-трафику и при необходимости вносить точечные исправления, если баг на нашей стороне.
Как устроена работа:
-
40% времени — R&D и Интеграция («Руками в железе»): сборка сенсорных юнитов с нуля, подбор комплектующих, пайка кабелей, реверс-инжиниринг контроллеров, прокидывание новых интерфейсов.
-
30% времени — Низкоуровневый код и Диагностика: написание и поддержка коннекторов (C++/Python) для CAN/UART/UDP, разбор логов (candump), поиск причин потери пакетов между железом и софтом.
-
20% времени — Взаимодействие с партнерами и командой: обсуждение железа с подрядчиками, составление ТЗ на доработку их прошивок, аргументация выбора железа.
-
10% времени — Работа с прошивками: точечные правки в MCU-коде, если баг на нашей стороне.
Примеры задач :
-
Собрать компактный сенсорный юнит (Лидар + IMU): рассчитать питание, избежать электромагнитных наводок на шины, настроить хардварную синхронизацию времени (PTP/PPS) между сенсорами.
-
Сделать реверс-инжиниринг китайской рохли: у нас есть платформа-донор, мы выкидываем ее "мозги", цепляемся логическим анализатором к шине управления двигателями, понимаем формат пакетов и пишем свой bridge для управления.
-
Дожать партнера: робот периодически падает в аварию. Выяснить через candump, что контроллер партнера при резком старте просаживает питание и теряет фреймы. Собрать фактуру, отправить партнеру логи и заставить их выпустить фикс прошивки.
Кто наш кандидат:
-
Опыт работы руками (Hardware Integration): вы умеете держать паяльник, пользоваться мультиметром и осциллографом/логическим анализатором. Знаете, чем чревато отсутствие общей "земли" или терминатора на CAN-шине.
-
Навыки технической коммуникации: вы можете аргументированно (с графиками и логами) объяснить подрядчику, где именно в его железе проблема, и добиться решения.
-
Linux на уровне системного программирования: SocketCAN, /dev/ttyXXX, работа с устройствами без абстракций. Знаете, что такое неблокирующий ввод-вывод и таймауты ОС.
-
CAN-шина на практике: умеете работать с SocketCAN, candump напрямую. Понимаете арбитраж, разницу между потерей фрейма и таймаутом узла.
-
C/C++ и Python как инструменты: умение написать надежный bridge-коннектор для сенсора или скрипт для парсинга логов. Нам не нужна идеальная абстрактная архитектура, нам нужен код, который не падает при обрыве провода.
-
Понимание железа без страха: берете даташит, находите нужный раздел, разбираете протокол. Не ждете, пока кто-то объяснит.
-
Ответственность за стык: фразы «это проблема железа» или «это проблема софта» неприемлемы. Вы доводите проблему до конкретной причины.
Будет большим плюсом:
-
Опыт работы с CI/CD (GitLab, Docker, DevContainers) и сборки воспроизводимых артефактов (научим, если нет).
-
Опыт работы с ROS 2 (Humble / Galactic) и глубокое знание современного C++17.
-
Опыт работы с лидарами (Leishen, RoboSense) и глубинными камерами (Luxonis OAK-D) напрямую, не через готовые драйверы, а через сырые пакеты.
-
Понимание принципов работы IMU (до коррекции) и синхронизации временных меток.
-
Чтение встроенного C (STM32F103, Cortex-M3).
Что мы предлагаем:
-
Тихий и просторный офис в центре Москвы в двух минутах пешком от м. Парк Культуры;
-
Мощную технику для работы.
-
ДМС с первого дня от Альфа Страхования.
-
Отсутствие бюрократии и горизонтальную структуру без десятка начальников.
-
Внутреннее обучение и наставничество со стороны опытных коллег.
-
Курсы и конференции по специальности.
-
Возможность развития в разных областях IT.
Сравнение со средней зарплатой в похожих вакансиях:
140k
200k
100k
267k
Опубликована 7 часов назад
Похожие вакансии
- Полный день
- Опыт от 3 лет
- Москва
- Полный день
- Опыт от 3 лет
- Москва
- Полный день
- Опыт от 3 лет
- Москва
- Полный день
- Опыт от 3 лет
- Москва
- Полный день
- Опыт от 3 лет
- Москва
- Полный день
- Опыт от 3 лет
- Москва