← к выдаче
разработка

C++-разработчик автономного движения робота (Middle)

Р2БЯрославль5 дн. назад

Коротко

Develops autonomous robot behavior and motion: task execution, route planning, obstacle avoidance, parking, safe stops, recovery; works with global/local · Needs: C++17/20; 3+ years C++ development; experience integrating robotics components; understanding of autonomous navigation principles.

Описание от работодателя

Мы разрабатываем и выпускаем серийных автономных роботов для крупных клиентов. В нашей команде есть разработчики программного обеспечения, инженеры по электронике, механике и автоматике, собственная сборочная линия и испытательная площадка. Ищем C++-разработчика, который будет развивать поведение и движение реального автономного робота: выполнение заданий, построение и прохождение маршрута, объезд препятствий, парковку, безопасную остановку и восстановление после нештатных ситуаций. Это позиция для инженера, которому интересно видеть результат своей работы не только в коде и симуляции, но и в движении серийного робота. Чем предстоит заниматься: - Дорабатывать сценарии автономной работы робота: запуск задания, движение, паузу, продолжение, завершение, отмену и парковку; - Улучшать следование по маршруту, обработку чекпоинтов, развороты и движение в ограниченном пространстве; - Работать с глобальным и локальным планированием, картами препятствий, геометрией робота и зонами безопасности; - Настраивать скоростные профили и ограничения с учётом препятствий, направления движения и данных сенсоров; - Разбирать инциденты по логам и телеметрии, воспроизводить проблемные проезды на записях, в симуляции и на роботе; - Исправлять причины блокировок, осцилляций, неудачного перепланирования и других сбоев движения; - Добавлять тесты и диагностические данные для критичных сценариев; - Участвовать в code review и обсуждении технических решений с командой. Что для нас важно: - Уверенное владение современным C++ — C++17/20; - Практический опыт разработки на C++ от 3 лет либо сопоставимый по глубине опыт в сложном техническом проекте; - Опыт интеграции компонентов робототехнической системы: обмен сообщениями, timestamps, системы координат, синхронизация данных и диагностика; - Понимание принципов навигации автономных роботов: глобальный и локальный путь, следование траектории, перепланирование и recovery-сценарии; - Знание базовой геометрии и кинематики автономного робота: преобразования координат, положение и ориентация в SE(2), скорость, ускорение, кривизна и footprint; - Умение разбираться в многопоточном и асинхронном коде, корректно работать с тайм-аутами и устаревшими данными; - Уверенная работа в Linux, Git и CMake; - Системный подход к отладке: умение сформулировать гипотезу, собрать данные, воспроизвести проблему и проверить исправление; - Мы готовы рассмотреть кандидата без длительного опыта с реальным роботом, если у него хорошая база по C++, алгоритмам и навигации, а также есть желание работать с физическим оборудованием. Будет преимуществом: - Знакомство с TEB, Hybrid A*, SMAC Planner, OMPL или другими алгоритмами планирования; - Опыт работы с occupancy grid, costmap, point clouds и collision checking; - Понимание принципов SLAM, scan matching, ICP, колёсной и лидарной одометрии; - Знание PCL, OpenCV, Gazebo и инструментов записи и воспроизведения сенсорных данных; - Опыт интеграционных, сценарных или SIL/HIL-тестов; - Опыт разработки AMR, складских, сервисных роботов или беспилотного транспорта; - Навыки анализа телеметрии и временных рядов. Ключевые навыки: - C++17/20 - Linux - CMake - Git - Navigation и path planning - Интеграция компонентов робота - Отладка и анализ телеметрии