Привет, Хабр! На связи МТС, и сегодня мы снова поговорим о роботах. Но не о доставщиках или пылесосах — тут все серьезнее. Залезем в мир тяжелой строительной техники и посмотрим, как автоматизируют машины, которые работают на стройках.

На любой стройплощадке полно техники: самосвалы, экскаваторы, краны. И рано или поздно их всех роботизируют. Но мы не будем пытаться объять необъятное и остановимся на экскаваторах — точнее, на машинах, которые перерабатывают сыпучие материалы.

Что это значит? Эффективно и точно перемещать большие объемы песка, щебня, мусора — такая задача стоит в куче отраслей: от разгрузки судов до сортировки отходов, строительства и сноса зданий. Это повторяющаяся, тяжелая и небезопасная для человека работа. Обычно ее делают большие гидравлические погрузчики с ручным управлением.

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

С теорией закончили, переходим к практике. Сначала посмотрим, на чем проводили эксперименты.

NB! В основе этого материала — научная работа, где использовали два модуля с обучением с подкреплением. Первый — планировщик точек захвата: выбирает лучшие места на куче, чтобы выгребать материал эффективно и за меньшее число подходов. Второй — контроллер, который ведет ковш по траектории и при этом решает проблемы точности и безопасности. И, что интересно, использует свободное раскачивание ковша, чтобы материал выпадал динамически.  

Все это проверили на реальном 40-тонном погрузчике в обычных рабочих условиях. Основной упор был на две задачи: быстрое управление складскими запасами и точная погрузка самосвалов.

Обзор машины

Эксперименты проводили на специальной исследовательской платформе — она показана на рисунке ниже.

«Рука» нашего робота-экскаватора — три гидравлических шарнира, у каждого одна степень свободы (DoF): поворотный шарнир крутится от роторного двигателя, а шарниры стрелы и рукояти — от линейных поршней. На конце — двухкулачковый захват типа «ракушка». Он крепится через два неуправляемых шарнира, то есть может свободно качаться. Сам захват дает еще две степени свободы: открытие/закрытие и вращение вокруг вертикальной оси.

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

Чтобы робот мог реагировать на происходящее вокруг, у него есть «органы чувств»: датчики и системы восприятия.

Схема компонентов системы.
Схема компонентов системы.

В систему входят:

  • энкодеры положения на шарнирах поворота, стрелы и рукояти — измеряют положение и скорость;

  • инерциальный измерительный блок (IMU) на захвате — дает 3D угловые скорости, 3D линейные ускорения и 2D угловую ориентацию;

  • датчики давления на цилиндрах поворота, стрелы, рукояти и захвата — замеряют давление жидкости со стороны поршня и штока каждого цилиндра;

  • два лидара (один на кабине, другой на рукояти) — выступают в роли глаз.

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

Ограничения

У такой схемы есть и слабые места. Например, скорости шарниров вычисляются по данным о положении, что неизбежно вносит шум и задержку. Кроме того, абсолютное положение захвата не наблюдается — по давлению определяется только открыт он или закрыт. Еще одна проблема: угол рыскания захвата тоже остается ненаблюдаемым из-за отсутствия магнитометра в составе датчиков, поэтому управлять ни рысканием, ни углом раскрытия корпуса невозможно. И наконец, объединенное облако точек может засоряться падающим материалом, особенно когда груженый ковш поднимается над кучей, так что требуется применять специальные фильтры.

Как это работает

Чтобы запустить процесс, нужно задать роботу две вещи: область захвата (кучу с песком) и цель разгрузки (кузов грузовика). Дальше все работает автоматически, в замкнутом контуре.

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

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

На рисунке показаны типичные траектории захвата и сброса, сгенерированные планировщиком на основе алгоритма RRT (rapidly-exploring random tree — быстро исследующее случайное дерево). Этот алгоритм позволяет находить возможные пути для робота в сложной среде с препятствиями. Сглаженные B-сплайновые пути отмечены зеленым цветом, а опорные точки с уменьшенной выборкой — красным.

Окружение представлено в виде октодерева (OctoMap) — структуры, где у каждого внутреннего узла ровно восемь потомков. Обычно так делят трехмерное пространство. Разрешение карты — 0,5 м, это баланс между вычислительной эффективностью и достаточной детализацией для масштаба машины. Почему именно трехмерное представление, а не 2,5D карта высот? Потому что в закрытых помещениях (например, на заводах по переработке отходов) важно не врезаться в потолки и прочие конструкции.

Чтобы робот работал чуть быстрее и не проверял каждое лишнее столкновение, некоторые блоки октодерева маскируют. Кучу материала слева (1) убирают, чтобы траектория могла свободно подойти к точке захвата. Области вокруг верхней каретки машины (2) тоже исключают, потому что самостолкновения уже обрабатываются ограничениями в пространстве сочленений. Виртуальные препятствия, например стену, можно добавить, просто вставив нужные блоки в OctoMap — это позволяет легко тестировать конвейер или ограничивать его доступ к запрещенным зонам в рабочем пространстве.

За движение отвечает автономный планировщик траекторий манипулятора на основе выборки. Он генерирует эталонные траектории без столкновений при неподвижном основании. Важный момент: эти траектории отслеживаются политикой, построенной на обучении с подкреплением, а не сквозным обучением «восприятие-управление». Такая модульность упрощает обучение, делает систему понятнее и безопаснее, а еще позволяет гибко менять поведение при развертывании.

Для генерации траекторий используется асимптотически оптимальный алгоритм RRT* (Rapidly-exploring Random Tree Star) — поиск пути наименьшей стоимости от старта к цели. Пространство состояний планирования  — шарниры поворота, стрелы и рукояти. Мы специально увеличиваем геометрию столкновения ковша с песком, чтобы учесть возможные колебания инструмента — их потом смягчает политика. Планировщик минимизирует длину траектории в пространстве шарниров, и траектории естественным образом следуют цилиндрическим сегментам. Все они соблюдают пределы шарниров и избегают самостолкновений.

В симуляции удалось достичь успеха выше 99% и почти оптимальной длины траектории всего за 1 секунду оптимизации. На реальной установке время выросло до 2 секунд.

Готовую траекторию сглаживают B-сплайном, непрерывно проверяя столкновения с препятствиями. Затем ее разбивают на дискретные путевые точки, которые уже отслеживают контроллеры ниже. Плотность точек настраивается под кривизну траектории — если разреженно, политика интерполирует между ними, и важно, чтобы интерполяция не вылезала за пределы исходного безопасного B-сплайна. На рисунке выше показаны типичные траектории захвата и сброса, отработанные на физической системе. Для наглядности в рабочую область добавлено виртуальное препятствие — так демонстрируется возможность системы предотвращать столкновения.

Технологический процесс и обучение с подкреплением

Управлять погрузчиком в автономном режиме непросто: гидравлика вносит задержки и нелинейности, свободно висящий ковш требует гашения колебаний, а неструктурированная среда заставляет постоянно помнить о безопасности. Чтобы справиться со всем этим, используется обучение с подкреплением для двух стратегий: контроллер следования по точкам подводит пустой ковш к куче, а контроллер сброса выгружает материал в нужное место. Два контроллера вместо одного выбраны потому, что так проще обучать, и не нужно моделировать сложное взаимодействие ковша с кучей — эта задача возлагается на контроллер захвата.

Основная задача обучения контроллера следования по заданным точкам — отслеживать входные точки, минимизируя при этом колебания захвата. Контроллер метательного механизма, в свою очередь, преследует дополнительную цель: точное высвобождение материала в заданном месте. При работе в режиме следования обе стратегии подчиняются ограничениям в виде «трубок» — цилиндрических областей, соединяющих последовательные заданные точки. Эти ограничения помогают снизить отклонения и обеспечивают безопасность во время работы. Стоит отметить, что контроллер метательного механизма может быть обучен и без ввода данных о заданных точках: тогда стратегия приближается к точке высвобождения без ограничений, работая в свободном пространстве.

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

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

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

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

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

Контроллер броска

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

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

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

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

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

Эксперименты и результаты

Итак, мы разобрали устройство и алгоритмы. А что на практике?

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

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

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

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

Во-вторых, ограничение фиксированной «трубкой» в политике следования по путевым точкам излишне для открытых пространств. Лучше было бы объединить восприятие, планирование и управление в сквозном режиме (то есть без промежуточных этапов) — тогда система сама находила бы баланс между гашением колебаний и скоростью, опираясь на семантическое понимание рабочей зоны.

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

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

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

Вместо заключения

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

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

Комментарии (0)