Разработчик (КШ)
Задачи
Разработка алгоритмов манипуляции:
- Реализация и интеграция алгоритмов для планирования траекторий, захвата объектов (motion planning, grasp planning) и управления манипуляторами.
Разработка ПО для компьютерного зрения:
- Создание, интеграция и оптимизация алгоритмов CV для задач детекции, сегментации, классификации объектов и оценки их позы (6D pose estimation).
Интеграция и сопровождение ML-моделей:
- Интеграция готовых ML-моделей (в т.ч. из смежных задач RL) в общую программную архитектуру робота. Сопровождение и оптимизация их работы.
Разработка в ROS 2:
- Создание нод, топиков, сервисов и экшенов для обеспечения связи между модулями управления, восприятия и исполнительными системами.
Высокопроизводительные вычисления:
- Оптимизация критичных к производительности модулей (например, обработка облаков точек) с использованием C++.
Работа с данными:
- Сбор, обработка и анализ данных с датчиков (камеры, лидары) для отладки и улучшения алгоритмов.
Участие в полном цикле разработки:
- Сбор, обработка и анализ до развертывания, тестирования и поддержки кода на реальных роботах.
Наш стек технологий:
- Основные языки: C++ (17/20), Python 3.x.
- Робототехнические фреймворки: ROS 2 (Humble/Iron), OpenCV, PCL (Point Cloud Library), MoveIt 2;
- ML/Инструменты: PyTorch (для интеграции/дообучения моделей), ONNX, TensorRT;
- Симуляция: Isaac Sim, Gazebo;
- Инструменты: Docker, Git, Linux, CI/CD (GitLab CI/Jenkins);
- Сенсоры: Камеры (RGB-D, стерео), лидары, тактильные сенсоры.
Требования
Требования:
- Опыт коммерческой разработки на Python от 2 лет;
- Практический опыт разработки в ROS 2;
- Опыт работы с Computer Vision (OpenCV или другие фреймворки) для решения прикладных задач: детекция, сегментация, работа с облаками точек;
- Понимание основ робототехники: кинематика манипуляторов, системы координат (TF);
- Уверенная работа в ОС Linux и с системой контроля версий Git;
- Базовое понимание принципов машинного обучения (что такое модель, инференс, данные для обучения) и готовность работать с интегрированными ML-моделями;
- Умение писать чистый, поддерживаемый код и работать в команде;
- Способность самостоятельно выполнять поставленные задачи в рамках проекта.
Желательно
- Опыт разработки на C++ для высокопроизводительных модулей;
- Опыт работы с фреймворками для манипуляции (MoveIt 2);
- Опыт работы в симуляторах Isaac Sim или Gazebo;
- Знакомство с инструментами для оптимизации и развертывания ML-моделей (ONNX, TensorRT);
- Базовый опыт или курсы по Machine Learning/Deep Learning;
- Участие в проектах, связанных с автономными системами или манипуляциями;
- Личные проекты в области робототехники (например, участие в RoboCup, собственные ROS-проекты).