Мы учим роботов действовать в мире, который построен для работы в одной среде с человеком: ходить, открывать двери, проходить турникет, брать и переносить предметы. У нас много гипотез, экспериментов, проверок и нет единственно верной инструкции и фиксированного чек-листа.
Тестирование в проекте создаётся с нуля. И так как робот — это совокупность железа, софта и ML, отказ редко бывает там, где его ищешь в первую очередь. Поэтому нам нужен любознательный инженер, который будет строить тестирование вместе с нами.
Проектировать тесты для симуляций
Вам предстоит придумывать, как проверять поведение недетерминированной системы в виртуальной среде. Вы будете анализировать, какие тесты можно вынести в симуляцию, а какие нужно проверять на реальном роботе.
Прогонять сценарии в симуляции и на роботе
Вы будете работать с сериями повторов, фиксацией условий, поиском границы, за которой симуляция перестаёт функционировать. Это работа не только с кодом, но и рядом с машиной, которая двигается сама.
Работать с ошибками симуляции
Нужно будет определять Sim-to-Real Gap, уметь их исправить или поставить понятную задачу для разработки.
Работать в команде
Вы будете обсуждать находки с командами тестирования, разработки и ML, вместе придумывать новые подходы и инструменты, спорить о критериях приёмки, аргументировать, почему в симуляцию необходимо внести корректировки.
Больше о разработке в Яндексе — в канале Yandex for Developers