Москва, Турчанинов переулок, 6с2
Метро: Парк культурыАвихимса — полностью российская 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.
Осипенко Карина Александровна
Москва
от 180000 RUR
Научно-Производственное Объединение Кайсант
Москва
от 180000 RUR
Москва
от 150000 RUR
Научно-Производственное предприятие 4114
Москва
до 200000 RUR
Итэлма Системы Позиционирования
Москва
до 200000 RUR
Управление перспективных технологий
Москва
до 200000 RUR
Москва
до 200000 RUR
Кадровый центр Алекс персонал
Москва
до 250000 RUR