Робот-доставщик — это будущее доставки заказов. Нас ждёт бурный рост практически по всем направлениям, а самое главное — увеличение флота роботов. Чтобы воплотить это в жизнь, мы создаём команду увлечённых, умных и целеустремлённых профессионалов.
Команда планирования движения и управления отвечает за фундаментальную часть в ядре принятия решений беспилотного робота. Мы разрабатываем алгоритмы эффективного построения безопасной и предсказуемой для внешнего мира траектории робота, а также делаем всё, чтобы максимально точно исполнить эту траекторию.
Какие задачи вас ждут
Улучшение алгоритмов управления
Сейчас робот для исполнения траектории использует классический алгоритм — Pure Pursuit. У этого алгоритма много недостатков, но самый главный из них — он не учитывает модель управляемого тела.
Модель робота — это шестиколёсная модель движения. Модель устроена так, что любое движение, кроме прямолинейного, происходит с проскальзыванием. А проскальзывание — это всегда ошибка исполнения траектории.
Вам предстоит исследовать применимость алгоритмов управления для робота, ставить эксперименты и выбирать лучший алгоритм из имеющихся. После этого новый алгоритм нужно внедрять в пайплайн робота, чтобы траектория от планера выполнялась с минимальной ошибкой.
Также вам предстоит измерять величину проскальзывания, обрабатывать её на уровне планирования движения и изменять профиль скорости, чтобы минимизировать ошибку исполнения траектории.
Реакции на отказ
Сейчас при отказе какой-либо системы робот аварийно останавливается. В будущем мы хотим научиться поддерживать различные реакции на отказ. Например, движение до безопасного места при отказе камер/колёс и т. д. Но также мы хотим уметь удостоверяться, что отказ системы не был критичным и что можно продолжать движение с заказом. Вам предстоит разрабатывать алгоритмы безопасного движения в случае отказа какой-либо системы робота и внедрять эти алгоритмы в пайплайн.
Управление шасси и внешними сенсорами
Чтобы робот поехал, надо подать ток на колёса. Также для взаимодействия с внешней средой у робота есть несколько сенсоров: микрофон, мигающий флажок, динамик, светодиоды. Ими всеми нужно управлять.
Вам предстоит разрабатывать алгоритмы преобразования желаемой скорости и направления в токи колёс, тестировать эти алгоритмы и исследовать новые решения. Также вы будете решать в этом месте продуктовые задачи, чтобы по требованию от пайплайна контрол включал тот или иной сенсор.
Мы ждем, что вы
- Знаете, что такое Pure Pursuit, Model Predictive Control
- Разбирались с PID- или LQR-регуляторами
- Знаете, что такое фильтр Калмана
- Программировали под ROS
- Участвовали в соревнованиях по спортивному программированию
- Изучали основы теории вероятностей, математической статистики, дискретной математики