Разработчик инструментов телеуправления и сбора данных для гуманоидных роботов (C++)
Автономный транспорт
Адрес
Москва
Компания
Автономный транспорт
Специализация
Python, C++
Описание вакансии
Мы создаём платформу управления человекоподобными роботами. Чтобы роботы могли устойчиво двигаться, взаимодействовать с окружающей средой и выполнять полезные задачи в реальных условиях, необходимо много разнообразных и качественных данных. Мы развиваем инструменты и процессы, которые позволяют собирать, структурировать и использовать эти данные для обучения и улучшения нейросетевых моделей.
Важная часть этого процесса — удобный и надёжный интерфейс взаимодействия человека с роботом. Он должен позволять оператору безопасно управлять роботом, записывать демонстрации и контролировать качество собираемых данных даже при нестабильной сети и ограниченных ресурсах бортовой платформы.
Почему эта задача интересна:
- Результат вашей работы станет связующим звеном между человеком, физическим роботом и ML-пайплайном. Созданные инструменты будут одновременно помогать операторам управлять роботами, обеспечивать команду качественными данными и ускорять развитие нейросетевых моделей.
- Предстоит работать на стыке системной разработки, робототехники, мультимедиа и инфраструктуры данных — вы сразу увидите, как программные решения влияют на поведение реального робота.
Мы ищем разработчика, который поможет превратить исследовательские скрипты и прототипы в рабочие инструменты телеуправления и сбора данных для ежедневного использования.
Какие задачи вас ждут:
Разработка и развитие инструментов сбора данных на роботе
Вы будете создавать на C++ компоненты для непрерывной записи данных с сенсоров, состояния робота и действий оператора. Предстоит обеспечить согласованность данных и контроль их качества, а также сделать процесс устойчивым к сбоям отдельных компонентов.
Интеграция с пайплайном хранения и обработки
Вам предстоит организовать автоматическую доставку собранных данных с робота в инфраструктуру хранения и дальнейшей обработки. Нужно будет реализовать механизмы повторной отправки данных и восстановления после сбоев, а также уведомления об ошибках, мониторинг задержек и полноты данных.
Удалённое телеуправление роботом
Вы будете развивать систему безопасного управления роботом на расстоянии: передачу команд, видео и телеметрии между оператором и роботом. Важно обеспечить предсказуемое поведение системы при нестабильном соединении, высокой задержке или потере связи и предоставить оператору понятную информацию о состоянии робота.
Превращение R&D-прототипов в рабочий инструмент
Вместе с исследователями и операторами вы будете улучшать пользовательские сценарии, автоматизировать типовые действия и создавать инструменты диагностики. Цель — снизить когнитивную нагрузку на оператора и сделать сбор данных воспроизводимым и удобным для ежедневной эксплуатации.
Масштабирование на разные робототехнические платформы
Вы будете проектировать архитектуру и интерфейсы так, чтобы инструменты можно было переносить между разными моделями роботов с минимальными изменениями. Предстоит отделять общую логику от платформенной, развивать адаптеры и поддерживать единое поведение системы на всём парке роботов.
Больше о бэкенде в Яндексе — в канале Yandex for Backend
Мы ждем, что вы:
- Работали с Linux
- Уверенно пишете на современном C++ и владеете Python на базовом уровне
- Разбираетесь в ROS 2 и DDS
- Понимаете многопоточное и сетевое программирование
- Умеете проектировать надёжные инструменты, диагностировать сбои и проблемы с производительностью
Будет плюсом:
- Работали с мультимедийным стримингом и профилировали задержки
- Использовали Isaac Sim, MuJoCo, PyBullet или другие симуляторы
- Разрабатывали решения для VR
- Оптимизировали ПО для встраиваемых платформ, в том числе для NVIDIA Jetson
- Создавали системы телеуправления, сбора данных, логирования или мониторинга