Разработчик планирования движения робота-доставщика

Дата размещения вакансии: 07.11.2024
Работодатель: Яндекс
Уровень зарплаты:
з/п не указана
Город:
Москва
Требуемый опыт работы:
От 3 до 6 лет

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

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

Какие задачи вас ждут

Улучшение алгоритмов управления
Сейчас робот для исполнения траектории использует классический алгоритм — Pure Pursuit. У этого алгоритма много недостатков, но самый главный из них — он не учитывает модель управляемого тела.

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

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

Также вам предстоит измерять величину проскальзывания, обрабатывать её на уровне планирования движения и изменять профиль скорости, чтобы минимизировать ошибку исполнения траектории.

Реакции на отказ
Сейчас при отказе какой-либо системы робот аварийно останавливается. В будущем мы хотим научиться поддерживать различные реакции на отказ. Например, движение до безопасного места при отказе камер/колёс и т. д. Но также мы хотим уметь удостоверяться, что отказ системы не был критичным и что можно продолжать движение с заказом. Вам предстоит разрабатывать алгоритмы безопасного движения в случае отказа какой-либо системы робота и внедрять эти алгоритмы в пайплайн.

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

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

Мы ждем, что вы

  • Знаете, что такое Pure Pursuit, Model Predictive Control
  • Разбирались с PID- или LQR-регуляторами
  • Знаете, что такое фильтр Калмана
  • Программировали под ROS
  • Участвовали в соревнованиях по спортивному программированию
  • Изучали основы теории вероятностей, математической статистики, дискретной математики