Алгоритм гашения раскачивания RL для кранов: от PPO до SAC

Келуде Тяжёлая Промышленность реализовала замкнутый цикл технологии гашения раскачивания на базе алгоритмов глубокого обучения с подкреплением PPO и SAC — от симуляционного обучения до промышленного развёртывания на контроллере S7-1500 PLC. Время гашения раскачивания с RL на 74,4% меньше по сравнению с PID, остаточный угол составляет всего 0,3°, при этом не требуется перенастройка параметров при изменении длины каната или массы груза.

Проблема раскачивания мостового крана и решение на основе ИИ

Келуде Тяжёлая Промышленность · Архитектура RL-управления гашением раскачивания
Датчик
Угол · Позиция · Амплитуда
Наблюдатель состояния
Фильтрация · Нормализация
RL-агент
Сети политики PPO / SAC
Команды действия
Скорость · Момент
Система крана
Мост · Тележка · Подъём
Обратная связь от среды (сигнал награды · следующее состояние) Итеративное обучение замкнутого цикла
В портах, на сталелитейных заводах, складах и других промышленных объектах раскачивание подъёма мостового крана является ключевым фактором, ограничивающим эффективность и безопасность работ. При пуске и остановке возникают остаточные колебания груза. Опытному оператору приходится вручную компенсировать их, что при позиционировании занимает десятки секунд или даже минуты, существенно снижая темп работы. Традиционные методы — механические, электронные (ПИД-регулятор), формирование входного сигнала (Input Shaping) — показывают приемлемые результаты в стабильных условиях, однако их робастность резко падает при изменении длины каната, массы груза или под воздействием ветра, требуя ручной перенастройки параметров. Начиная с 2020 года, методы искусственного интеллекта, в частности обучение с подкреплением (Reinforcement Learning, RL), открыли новый путь к решению задачи гашения раскачивания. RL-агент, взаимодействуя со средой, самостоятельно обучается оптимальной стратегии управления без явного моделирования динамики системы, демонстрируя высокую способность к аппроксимации нелинейностей и адаптации. Команда Келуде одной из первых в области интеллектуальных кранов внедрила два алгоритма глубокого обучения с подкреплением — PPO (Proximal Policy Optimization) и SAC (Soft Actor-Critic) — в реальную систему гашения раскачивания. В данной статье системно рассматривается полный технологический стек: от принципов алгоритмов, создания симуляционной среды, настройки и оптимизации обучения до промышленного развёртывания, а также приводятся количественные сравнения с классическими методами.

Проектирование пространства состояний и пространства действий

RL-Гашение раскачивания:Моделирование физической системы как марковского процесса принятия решений

Первоочередная задача RL-системы гашения раскачивания — отобразить физическую систему крана в марковский процесс принятия решений (MDP), где определение пространства состояний и пространства действий напрямую влияет на эффективность обучения политики и скорость сходимости. Пространство состояний в решении Kelude включает пять ключевых измерений:

  • Угол раскачивания груза θ: измеряется в реальном времени датчиком наклона или системой технического зрения, точность обычно в пределах ±0,1°. Это наиболее критичный параметр обратной связи для гашения раскачивания, напрямую отражающий амплитуду колебаний.
  • Угловая скорость ω: первая производная угла раскачивания, отражает тенденцию и направление движения, помогая агенту прогнозировать будущие изменения состояния и заблаговременно предпринимать демпфирующие действия.
  • Позиция тележки x: получается от энкодера, используется для точного позиционирования — конечная цель гашения раскачивания — остановка тележки над целевой позицией с минимальной амплитудой.
  • Скорость тележки v: значение обратной связи замкнутого контура скорости, предотвращает вторичное раскачивание из-за резких изменений ускорения, а также помогает агенту понять динамические характеристики системы.
  • Длина каната L: текущее значение длины каната от механизма подъёма, напрямую влияет на собственную частоту системы (T=2π√(L/g)). Чем длиннее канат, тем больше период колебаний, и стратегия контроллера должна соответствующим образом адаптироваться.

Размерность вектора состояния напрямую определяет размер входного слоя сети политики (Policy Network). Пять измерений физически охватывают все наблюдаемые параметры недоопределённой системы, обеспечивая полную наблюдаемость системы для RL-агента. В реализации каждое измерение состояния нормализуется до диапазона [-1, 1] или [0, 1], чтобы избежать нестабильности обучения сети из-за разных единиц измерения.

Пространство действий спроектировано как двумерный непрерывный выход:

  • Команда ускорения тележки ax: диапазон значений [-1,0, 1,0] м/с², служит целевым значением для контура скорости частотного контроллера. Положительное ускорение приводит к ускорению тележки вперёд, отрицательное — к замедлению и торможению.
  • Компенсация скорости подъёма Δvh: компенсирует скорость подъёма при изменении длины каната. Когда тележка движется одновременно с подъёмом, изменение длины каната меняет динамические характеристики системы; компенсационный член позволяет избежать дополнительных возмущений, вызванных изменением длины каната.

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

Многоцелевая конструкция функции вознаграждения

Функция вознаграждения — это ядро RL-обучения: она кодирует знания инженера в цель обучения агента. Решение Kelude использует взвешенную комбинированную функцию вознаграждения, включающую четыре подкомпонента:

R = w₁·Rswing + w₂·Rpos + w₃·Renergy + w₄·Rterminal

  • Штраф за раскачивание Rswing = -α·θ² – β·ω². Этот член непрерывноПриложение отрицательное вознаграждение, когда угол или угловая скорость не равны нулю, побуждая агента в первую очередь устранять колебания. Соотношение α и β определяет приоритет «позиции» или «угла» — в сценариях безопасности значение αβ можно увеличить, в сценариях эффективности — уменьшить.
  • Награда за позиционирование Rpos = -γ·|x – xtarget|. Когда тележка находится далеко от целевой позиции, выдаётся большое отрицательное вознаграждение, стимулирующее агента быстрее достичь цели. В сочетании с терминальной наградой это предотвращает ситуацию, когда агент стремится только к гашению колебаний, игнорируя позиционирование.
  • Член энергопотребления Renergy = -δ·ax² – ε·Δvh². Штрафует ненужные ускорения и компенсационные действия. Эта конструкция заставляет агента искать баланс между качеством управления и энергопотреблением, избегая «чрезмерного управления» с высокочастотными колебаниями.
  • Терминальная награда Rterminal: единоразовая положительная награда, когда |θ| < θth (порог угла, обычно 0,5°) и |x – xtarget| < dth (порог позиционирования, 10 мм) сохраняются более 3 секунд, поощряя агента завершать задачу в стабильном состоянии.

Весовые коэффициенты {w₁, w₂, w₃, w₄} определяются с помощью сканирования гиперпараметров. Команда Kelude использует байесовскую оптимизацию (Bayesian Optimization) для поиска оптимальной комбинации весов в пространстве параметров. Итоговый принцип: наибольший вес у штрафа за раскачивание (w₁ — первый приоритет), затем вес позиционирования (w₂ — второй приоритет), наименьший вес у энергопотребления (w₃ — мягкое ограничение). Такая иерархическая конструкция гарантирует, что агент сначала научится гасить колебания, а затем — точной остановке и энергосбережению, что соответствует главному принципу промышленной безопасности.

Создание среды симуляции: совместная симуляция Simulink + Adams

Для RL-обучения требуются миллионы временных шагов интерактивных данных. Обучение непосредственно на реальном оборудовании небезопасно и неэкономично — одна ошибка может привести к опрокидыванию крана или разрушению каната стального. Решение Kelude основано на создании высокоточной совместной симуляционной среды на базе MATLAB/Simulink + Adams, сочетающей алгоритмическую гибкость Simulink и точность многодинамической модели Adams.

В Simulink строится модель математического маятника с переменной длиной каната, основное динамическое уравнение которой:

(mL²)·θ” + 2mL·vh·θ’ + mgL·sinθ = -mL·cosθ·ax

где m — масса груза, L — длина каната, vh — скорость подъёма, ax — ускорение тележки. Первый член слева представляет инерционный крутящий момент, второй — кориолисов крутящий момент (возникающий из-за изменения длины каната), третий — гравитационный восстанавливающий крутящий момент; справа — возмущающий крутящий момент, передаваемый от ускорения тележки через канат на груз. Эта модель, хотя и основана на допущении жёсткого тела, уже способна описать основные динамические характеристики гашения раскачивания крана.

Adams, в свою очередь, обеспечивает детальную 3D-симуляцию многодинамики, включая моделирование гибкого каната стального (дискретизация на несколько сегментов с пружинно-демпферными соединениями), контактное трение колесо-рельс (модель кулонова трения + эффект Штрибека), характеристики крутящего момента двигателя (с насыщением и задержкой реакции) и другие нелинейные факторы. Simulink обменивается данными с Adams через интерфейс совместной симуляции (Simulink Coder / Adams Controls Toolkit) каждые 10 мс — Simulink отправляет команды ускорения в Adams, Adams возвращает состояние (угол, позицию) в Simulink — образуя высокоточный замкнутый контур.

Преимущество такой совместной симуляции — использование сильных сторон каждой платформы: Simulink отвечает за быструю итерацию RL-алгоритмов и настройку гиперпараметров, Adams — за проверку физической точности. Команда Kelude обнаружила в реальных проектах, что RL-политика, обученная на чистой модели маятника в Simulink, при тестировании в высокоточной среде Adams показывает снижение производительности примерно на 15–20%, но после дальнейшей тонкой настройки с использованием данных Adams восстанавливается до уровня, близкого к симуляционному.

Сравнение обучения PPO и SAC и настройка гиперпараметров

Kelude одновременно провёл инженерную валидацию и системное сравнение двух алгоритмов: PPO (Proximal Policy Optimization) и SAC (Soft Actor-Critic). Это первое полное сравнительное тестирование двух основных RL-алгоритмов на одной платформе в отрасли.

PPO известен своей стабильностью обучения и устойчивостью к гиперпараметрам. В задаче гашения раскачивания он быстро сходится — примерно за 500 000 временных шагов достигается приемлемый уровень с временем гашения менее 3 секунд. Его ключевой механизм — использование clip-операции для ограничения шага обновления политики, что предотвращает сход обучения из-за чрезмерного отклонения от старой политики. Ключевые гиперпараметры: clip epsilon=0,2, скорость обучения=3×10⁻⁴, GAE λ=0,95, целевая KL-дивергенция=0,02, структура сети — два полносвязных слоя по 256 узлов. Clip-механизм PPO имеет уникальное преимущество в промышленных проектах: даже при неидеально спроектированной функции вознаграждения PPO продолжает устойчиво сходиться, снижая требования к опыту инженера в настройке параметров.

SAC показывает лучшие результаты в эффективности исследования и конечной производительности. SAC основан на фреймворке максимальной энтропии (Maximum Entropy), максимизируя энтропию политики одновременно с максимизацией вознаграждения, что поощряет агента к полному исследованию пространства действий в процессе обучения. После примерно 800 000 временных шагов SAC достигает более оптимального решения: средний остаточный угол раскачивания снижается примерно на 15%, однако на ранних этапах обучения кривая более волатильна по сравнению с PPO и более чувствительна к гиперпараметрам функции вознаграждения. Ключевые гиперпараметры SAC: температурный коэффициент α=0,2 (с механизмом автоматической регулировки), целевая энтропия = -dim(A) (A — размерность пространства действий, здесь 2), структура сети также два слоя по 256 узлов.

Анализ кривых обучения выявил интересные различия: кривая совокупного вознаграждения PPO сходится быстрее, но на поздних этапах выходит на плато, что отражает ограничение KL-ограничения на дальнейшее улучшение политики; кривая SAC на ранних этапах имеет большую амплитуду колебаний, но на поздних этапах продолжает демонстрировать восходящий тренд, показывая большую исследовательскую способность. На основе этого открытия команда Kelude разработала инновационную двухэтапную стратегию обучения — на первом этапе используется PPO (1 миллион временных шагов) для быстрого получения надёжной начальной политики, на втором этапе, начиная с этой политики, используется SAC (дополнительные 500 000 временных шагов) для тонкой настройки. Итоговая совокупная производительность примерно на 12% выше, чем при использовании любого из алгоритмов по отдельности.

Перенос Sim2Real: стратегия Domain Randomization

Переход от симуляции к реальной машине (Sim2Real) — одно из самых серьёзных препятствий для внедрения RL в промышленности и, пожалуй, самый труднопреодолимый разрыв между академической наукой и производственной практикой. Виртуальная среда никогда не сможет в полной мере воспроизвести все физические особенности реального мира: шум датчиков, анизотропию силы трения, колебания задержки реакции двигателя, нелинейную жёсткость стального каната, сопротивление воздуха и многое другое. Решение компании «Келуде» использует стратегию Domain Randomization (рандомизация параметров среды), чтобы системно устранить этот разрыв.

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

  • Длина каната L: равномерная выборка от 3 м до 15 м, что охватывает наиболее распространённый рабочий диапазон кранов;
  • Масса груза m: случайное значение от 500 кг до 10000 кг, имитирующее переход от порожнего состояния к полной загрузке;
  • Коэффициент силы трения: изменение в пределах ±30% от номинального значения для имитации различных степеней износа и условий смазки;
  • Шум датчиков: к измерению угла отклонения добавляется гауссовский шум N(0, σ²), где σ выбирается случайно в диапазоне 0,01–0,05 рад, имитируя электрические помехи на производстве;
  • Задержка реакции двигателя: равномерная выборка от 5 до 20 мс для имитации колебаний времени отклика преобразователя частоты;
  • Коэффициент демпфирования каната: изменение в пределах ±50% от номинального значения для учёта различий в демпфирующих характеристиках при разной длине и диаметре каната.

Благодаря такому подходу, который можно назвать «выживание в условиях хаоса», сеть политики обучается находить устойчивую стратегию гашения раскачивания в условиях различной неопределённости. Это похоже на спортсмена, который тренируется в любую погоду и затем стабильно показывает результаты в любой обстановке. Инженеры «Келуде» подтвердили эффективность Domain Randomization в ходе испытаний на реальном оборудовании: у RL-стратегии, обученной без рандомизации, вероятность успешного переноса Sim2Real не превышала 30%, а первые запуски на реальном кране почти гарантированно сопровождались серьёзным раскачиванием. В то же время стратегия, прошедшая полноценное обучение с Domain Randomization, достигла вероятности успешного переноса более 85%, и уже первый запуск на реальной машине обеспечил качество управления, близкое к симуляционному.

Сравнение с классическими методами гашения раскачивания

Специалисты «Келуде» провели систематическое горизонтальное сравнение трёх подходов на одной стандартизированной экспериментальной платформе: электронное гашение раскачивания на основе ПИД-регулятора (после инженерной настройки), формирователь входного сигнала (Zero Vibration Shaper, ZV) и RL-подход (интегрированная схема двухэтапного обучения PPO+SAC). Условия эксперимента были строго стандартизированы, что обеспечило объективность и воспроизводимость сравнительных данных.

Параметры эксперимента: Грузоподъемность 10 т, длина каната 10 м, расстояние передвижения тележки 20 м, требуемая точность позиционирования ±10 мм.

Сравнение времени гашения колебаний: RL-подход показал наилучший результат — 2,1 секунды, что на 74,4% быстрее, чем у ПИД-регулятора (8,2 с), и на 62,5% быстрее, чем у ZV-формирователя (5,6 с). Это означает, что при одной операции перемещения груза RL-решение позволяет сэкономить от 3,5 до 6,1 секунды ожидания затухания колебаний. При цикле работы 30 операций в час это даёт экономию от 105 до 183 секунд в час, что эквивалентно выполнению 2–3 дополнительных перемещений за это время.

Сравнение остаточного угла отклонения: У RL-подхода остаточный угол составил всего 0,3°, что значительно лучше показателей ПИД-регулятора (1,8°) и ZV-формирователя (0,9°). Меньший остаточный угол означает, что после позиционирования можно сразу приступать к наводке подъёма и расцепке груза, не дожидаясь затухания колебаний, что существенно сокращает время рабочего цикла.

Сравнение робастности: В тестах с изменением длины каната от 6 м до 14 м ПИД-регулятор требовал ручной перенастройки параметров, в противном случае время гашения колебаний ухудшалось до 12 секунд и более. ZV-формирователю требовался пересчёт параметров импульсов, иначе возникали серьёзные вторичные колебания. RL-подход, напротив, не требовал никакой настройки и стабильно обеспечивал время гашения от 2,1 до 2,8 секунды во всём диапазоне длин каната, демонстрируя отличную адаптивность.

Важно подчеркнуть, что RL-гашение не полностью заменяет традиционные методы — напротив, оно опирается на надёжную и проверенную базовую систему управления. На уровне замкнутого контура скорости по-прежнему используется ПИД-регулятор, а RL-алгоритм выдаёт оптимальную последовательность решений только на уровне ускорения. Такая гибридная архитектура «решения RL + исполнение ПИД» сочетает в себе интеллект стратегии и надёжность нижнего уровня и является доминирующей парадигмой промышленного внедрения RL на сегодняшний день.

Практическое развёртывание: модель ONNX на контроллере S7-1500

Развёртывание глубокой нейронной сети на промышленном ПЛК — это финальный и наиболее сложный с инженерной точки зрения этап всего решения. Традиционные фреймворки глубокого обучения (такие как PyTorch, TensorFlow) не могут работать непосредственно на ПЛК, поэтому «Келуде» использует ONNX Runtime в качестве кроссплатформенного движка инференса. Обученная сеть политики экспортируется в стандартный формат ONNX и разворачивается на контроллере Siemens S7-1500.

Ключевым техническим аспектом развёртывания является оптимизация модели, включающая три основных этапа:

  • Квантизация (Quantization): с помощью статической квантизации веса и активации сжимаются с 32-битных чисел с плавающей запятой (FP32) до 8-битных целых чисел (INT8). Это позволило уменьшить размер модели с 2,3 МБ до 0,6 МБ, т.е. на 74%. Потеря точности после квантизации контролируется в пределах 3%, что практически не влияет на качество управления;
  • Слияние слоёв (Layer Fusion): последовательные операторы BatchNorm + ReLU + Conv (или полносвязные) объединяются в единый вычислительный узел, что снижает узкое место пропускной способности памяти и ускоряет инференс примерно на 40%;
  • Прореживание сети (Network Pruning): структурное прореживание на основе величины весов сокращает число узлов скрытого слоя с 256 до 128, а также удаляет все веса связей с вкладом менее 0,1%. В итоге количество параметров модели уменьшается примерно на 56% при потере производительности менее 3%.

Итоговая модель, развёрнутая на S7-1500, представляет собой однослойную полносвязную нейронную сеть: входной слой — 5 узлов (θ, ω, x, v, L), скрытый слой — 128 узлов (функция активации ReLU), выходной слой — 2 узла (функция активации tanh, вывод ax и Δvh). Время одного инференса составляет около 0,8 мс (измерено на локальном CPU контроллера S7-1500), что полностью удовлетворяет требованию реального времени с циклом управления 10 мс. ПЛК вызывает динамическую библиотеку ONNX Runtime через пользовательский функциональный блок (FB) и выполняет прямой инференс с выводом управляющих команд каждые 10 мс в стандартном циклическом режиме.

Что касается механизмов безопасности, в схему развёртывания включены ограничение выходного сигнала и логика деградации: при сбое инференса ONNX Runtime или выходе выходного сигнала за пределы заданных безопасных пороговых значений система автоматически переключается на базовое ПИД-управление, гарантируя, что оборудование никогда не выполнит опасную команду.

Заключение и перспективы

Решение «Келуде» по RL-гашению раскачивания успешно перевело два алгоритма глубокого обучения с подкреплением — PPO и SAC — из области академических исследований в промышленную практику. Благодаря тщательному проектированию пространства состояний, многоцелевой взвешенной функции вознаграждения, совместной верификации в Simulink+Adams, стратегии переноса Domain Randomization и лёгкому развёртыванию ONNX-модели на контроллере S7-1500 была создана полная технологическая цепочка «обучение в симуляции — развёртывание на реальном оборудовании».

Данное решение значительно превосходит классические методы, такие как ПИД-регулирование и формирователь входного сигнала, по эффективности гашения колебаний, точности позиционирования и адаптивности к условиям работы. Время гашения колебаний снижается более чем на 60%, что открывает практический путь к интеллектуализации и автоматизации промышленных кранов. В будущем «Келуде» планирует исследовать более передовые направления, включая многоаппаратное совместное гашение раскачивания, прямое наблюдение угла отклонения на основе машинного зрения, онлайн-адаптивное обучение на периферийных устройствах и мультиагентную координацию, продолжая способствовать эволюции грузоподъёмных машин от автоматизации к интеллекту.

Справочные материалы

Часто задаваемые вопросы (FAQ)

В: Насколько сложно внедрить RL-решение на существующем кране?

О: Внедрение не требует замены основного оборудования. Достаточно установить датчики угла и скорости, а также обеспечить взаимодействие с преобразователем частоты. Модель ONNX разворачивается на стандартном ПЛК (например, Siemens S7-1500), который уже используется в большинстве систем управления.

В: Каковы требования к вычислительным ресурсам ПЛК?

О: Модель после квантизации и прореживания занимает около 0,6 МБ, а время одного инференса составляет примерно 0,8 мс на CPU S7-1500. Это значительно ниже типичного времени цикла управления (10 мс), поэтому дополнительных вычислительных мощностей не требуется.

В: Что произойдёт при сбое или ошибке в работе модели?

О: Предусмотрена многоуровневая защита. Если выход модели выходит за допустимые пределы или возникает ошибка инференса, система автоматически переключается на стандартный ПИД-регулятор, обеспечивая безопасное продолжение работы.

В: Требуется ли перенастройка системы при изменении параметров крана (например, длины каната)?

О: Нет. Благодаря обучению с Domain Randomization, RL-стратегия адаптируется к изменениям длины каната, массы груза и другим параметрам без необходимости ручной перенастройки. Это ключевое преимущество перед классическими методами.

Рекомендуемые стандарты

ГОСТ Р 6974.6-2008 «Краны. Терминология. Часть 6. Железнодорожные краны»
ГОСТ Р 6974.7-2008 «Краны. Терминология. Часть 7. Плавучие краны»
ГОСТ Р 24818.4-2009 «Краны. Устройства доступа и ограждения безопасности. Часть 4. Стреловые краны»

Похожие статьи

contact

contact us

phone:
+86 13903802779

mail:3915269@qq.com

Working hours: Monday to Friday

Wechat
Wechat
SHARE
TOP