Разработчик инструментов телеуправления и сбора данных для гуманоидных роботов (C++)

Яндекс Go·Russia·Офис·4д. назад

Мы создаём платформу управления человекоподобными роботами. Чтобы роботы могли устойчиво двигаться, взаимодействовать с окружающей средой и выполнять полезные задачи в реальных условиях, необходимо много разнообразных и качественных данных. Мы развиваем инструменты и процессы, которые позволяют собирать, структурировать и использовать эти данные для обучения и улучшения нейросетевых моделей.

Важная часть этого процесса — удобный и надёжный интерфейс взаимодействия человека с роботом. Он должен позволять оператору безопасно управлять роботом, записывать демонстрации и контролировать качество собираемых данных даже при нестабильной сети и ограниченных ресурсах бортовой платформы.

Почему эта задача интересна:

  • Результат вашей работы станет связующим звеном между человеком, физическим роботом и ML-пайплайном. Созданные инструменты будут одновременно помогать операторам управлять роботами, обеспечивать команду качественными данными и ускорять развитие нейросетевых моделей.
  • Предстоит работать на стыке системной разработки, робототехники, мультимедиа и инфраструктуры данных — вы сразу увидите, как программные решения влияют на поведение реального робота.

Мы ищем разработчика, который поможет превратить исследовательские скрипты и прототипы в рабочие инструменты телеуправления и сбора данных для ежедневного использования.

Разработка и развитие инструментов сбора данных на роботе
Вы будете создавать на C++ компоненты для непрерывной записи данных с сенсоров, состояния робота и действий оператора. Предстоит обеспечить согласованность данных и контроль их качества, а также сделать процесс устойчивым к сбоям отдельных компонентов.

Интеграция с пайплайном хранения и обработки
Вам предстоит организовать автоматическую доставку собранных данных с робота в инфраструктуру хранения и дальнейшей обработки. Нужно будет реализовать механизмы повторной отправки данных и восстановления после сбоев, а также уведомления об ошибках, мониторинг задержек и полноты данных.

Удалённое телеуправление роботом
Вы будете развивать систему безопасного управления роботом на расстоянии: передачу команд, видео и телеметрии между оператором и роботом. Важно обеспечить предсказуемое поведение системы при нестабильном соединении, высокой задержке или потере связи и предоставить оператору понятную информацию о состоянии робота.

Превращение R&D-прототипов в рабочий инструмент
Вместе с исследователями и операторами вы будете улучшать пользовательские сценарии, автоматизировать типовые действия и создавать инструменты диагностики. Цель — снизить когнитивную нагрузку на оператора и сделать сбор данных воспроизводимым и удобным для ежедневной эксплуатации.

Масштабирование на разные робототехнические платформы
Вы будете проектировать архитектуру и интерфейсы так, чтобы инструменты можно было переносить между разными моделями роботов с минимальными изменениями. Предстоит отделять общую логику от платформенной, развивать адаптеры и поддерживать единое поведение системы на всём парке роботов.

Больше о бэкенде в Яндексе — в канале Yandex for Backend

  • Работали с Linux
  • Уверенно пишете на современном C++ и владеете Python на базовом уровне
  • Разбираетесь в ROS 2 и DDS
  • Понимаете многопоточное и сетевое программирование
  • Умеете проектировать надёжные инструменты, диагностировать сбои и проблемы с производительностью
  • Работали с мультимедийным стримингом и профилировали задержки
  • Использовали Isaac Sim, MuJoCo, PyBullet или другие симуляторы
  • Разрабатывали решения для VR
  • Оптимизировали ПО для встраиваемых платформ, в том числе для NVIDIA Jetson
  • Создавали системы телеуправления, сбора данных, логирования или мониторинга

Похожие вакансии

Другие вакансии Яндекс Go