Разработка системы управления для демпфирования колебаний подвесного воздушного манипулятора
В рамках данной работы представлен процесс разработки системы управления для демпфирования колебаний роботизированного подвесного воздушного манипулятора, оснащенного восемью воздушными винтами. Рассматриваемый робот смоделирован как двойной маятник, способный генерировать всенаправленную пару силы и момента (omnidirectional wrench), приложенных к концу второго звена маятника. Основная сложность данной задачи заключается в том, что на борту платформы имеется только инерциальная навигационная система, которая не предоставляет полной информации о конфигурации робота в реальном времени. Чтобы преодолеть эту трудность, мы разработали регулятор, основанный на упрощенной модели робота. Предлагаемый контроллер очень эффективен и надежен, даже при наличии неопределенностей в модели. Кроме того, для настройки оптимальных значений для коэффициентов усиления регулятора, мы сформулировали задачу в виде линейно-квадратичной проблемы регулирования с обратной связью по выходу. Это дает возможность быстро гасить колебания с минимальным потреблением энергии системы. Предлагаемый подход был протестирован в симуляционной среде MATLAB Simulink и в серии экспериментов.
Введение
Воздушное манипулирование - это современное направление робототехники с множеством потенциальных промышленных применений [1]. Простой воздушный манипулятор представляет собой беспилотное летательный аппарат (БПЛА/дрон) вертикального взлета и посадки, оборудованный роботизированным манипулятором. Для переноса роботизированной руки дрон должен генерировать значительную воздушную тягу, что требует внушительного диаметра воздушных винтов. Это в свою очередь существенно повышает риск столкновения дрона при манипулировании с самим объектом манипулярования (например, трубопровод). Чтобы преодолеть эти ограничения, был предложен новый концепт воздушного манипулятора: чтобы поддерживать вес робота используется подвесной механизм (дрон прикреплен через кабель к крану или вертолету), а чтобы компенсировать возмущения, создаваемые манипулятором при работе, используются пропеллеры с маленьким диаметром. Основная проблема использования подобной системы в реальных сценариях - это колебания маятника, создаваемого за счет наличия веса (дрона), подвешенного на кабеле. Важно как можно быстрее гасить колебания, возникающие из-за каких-либо помех, таких как движение крана, движение манипулятора или порыв ветра.
Однако, как будет подробно рассмотрено позже, платформа ведет себя как двойной маятник, а не как одинарный маятник. Поскольку движение двойного маятника более сложное, встроенная инерциальная навигационная система (ИНС) не предоставляет информации о конфигурации (векторе состояний) всей состояний, необходимых для управления.
В этой статье, чтобы решить эту проблему, мы разработали регулятор, руководствуясь упрощенной моделью подвесного воздушного манипулятора. Кроме того, мы учитываем два критерия в дизайне управления. Во-первых, как указывалось ранее, гашение колебаний должно выполняться как можно быстрее для безопасного выполнения задач манипуляции. Во-вторых, поскольку система работает от батареи, следует учитывать энергопотребление. С этой целью мы сконцентрировались на разработке оптимального контроллера, который минимизирует линейно-квадратичную функцию, уравновешивающую два критерия.
Описание системы
Подвесной воздушный манипулятор представляет собой воздушную платформу, оснащенную роботизированной рукой для выполнения различных задач на сложных промышленных объектах. Как показано на рисунке ниже, система подвешивается на крюк крана с помощью подвесных кабелей (в зависимости от области применения с платформой могут использоваться другие носители, например, автокран или вертолет).
Кран перемещает воздушный манипулятор к непосредственной месту для манипулирования, в котором роботизированная рука с 7 степенями свободы выполняет поставленную задачу (обслуживание, инспектирование, замена комплектующих). В качестве примера на фотографии ниже показано, как подвесной воздушный манипулятор выполняет развертывание мобильного робота для инспектирования трубопровода. Данная задача носит характер повышенной сложности, поскольку необходимо поддерживать достаточно точное позиционирование системы во избежание столкновения с окружающими препятствимями.
Именно для решения подобных задач, в рамках этой статьи мы рассмотрим алгоритм демпфирования колебаний для подобной платформы. В качестве управляющего сигнала, воздушный манипулятор может генерировать всенаправленную пару силы и крутящего момента относительно собственного геометрического центра с помощью специально-ориентированных 8-ми воздушных винтов. Среди имеющихся датчиков, стоит выделить ИНС, 3D-камеру и GPS с поддержкой RTK. В нашем контроллере мы полагаемся только на ИНС из-за высокой надежности и автономности. Действительно, GPS может не обеспечивать точное местоположение в сложной промышленной среде или внутри помещения, а надежность камеры ограничена условиями освещения.
Таким образом, в рамках данной статьи мы используем имеющиеся воздушные винты для демпфирования колебаний подвесного манипуляторо с использованием одного бортового датчика ИНС.
Моделирование системы
Рассматриваемая система, подвешенная на кране, может быть смоделирована как сферический двойной маятник, где первое звено представляет собой цепь крана длиной l1, а второе - это расстояние между крюком и самой платформой длиной l2 (см. схему выше). Таким образом, состояние такой системы можно описать шестью переменными: углами Эйлера первого (точка подвеса) и второго (крюк) сферического пассивного шарнира двойного маятника. Тогда уравнения движения робота могут быть сформулированы следующим образом:
здесь:
u =[F, T] - пара момента и силы в системе координат, жестко связанной с платформой (Osam) и генерируемая пропеллерами в качестве управляющего сигнала,
- это вектор управляющего момента всех сочленений роботизированного манипулятора,
- Якобиан, который трансформирует управляющий сигнал u в 6 моментов, приложенных непосредственно к пассивным сферическим сочленениям двойного маятника,
- вектор состояния всей системы, состоящий из 13 компонентов (первые 6 элеметов - это вышеупомянутые углы Эйлера, последующие 7 соответствуют сочленениям роботизированного манипулятора).
- элементы описывающие динамику робота: матрица инерции, матрица Кориолиса и вектор силы, вызванный действием гравитации.
Закон управления для системы
Ввиду колебательной природы системы, основная задача управления - потушить возникающие колебания как можно быстрее, стараясь расходовать энергию батареи размеренно.
Интересующая точка равновесия (или рабочая точка) соответствует нижнему положению разложенного двойного маятника, т.е. где потенциальная энергия минимальмана. Любое внешнее возмущение в этой позиции может вызвать колебания системы. Из-за внутреннего трения пассивных шарниров маятника сама система асимптотически устойчива в точке равновесия без какого-либо внешнего управления. Однако значение естественного трения очень маленькое, поэтому стабилизация занимает много времени, что неприемлемо для реальных производственных задач. Поэтому наша цель - спроектировать контроллер демпфирования колебаний для более быстрого демпфирования системы с минимальным энергопотреблением. Основной вызов заключается в том, что бортовая ИНС не предоставляет всю информацию о конфигурации системы.
В этой статье мы рассматриваем децентрализованный подход к управлению, т.е. управление платформой и управление роботизированным манипулятором развязаны. С точки зрения платформы, динамическое поведение манипулятора рассматривается как внешнее возмущение, вызывающее колебания, которые система должна компенсировать. Также управление углом рысканья сильно развязано относительно крена и тангажа (установлено экспериментальным путем). Таким образом, мы можем пренебречь переменными, связанными с рысканием системы и движением роботизированной руки в уравнениях движения. Более того, ввиду симметричности задачи, мы ограничим движение маятника в плоскости, см. рисунок ниже.
Тогда динамика нашей системы может быть описана следующим образом:
Здесь верхнее подчеркивание обозначает оригинальные параметры динамики системы с учетом вышупомянутых допущений. Вектор состояния q¯ = [q1 q2] содержит углы поворота первого и второго звена двойного маятника. В качестве измерений, ИНС предоставляет угол θ = q1 + q2 для плоского случая и соответствующую угловую скорость.
Для того, чтобы связать управляющий сигнал u¯ c вектором состояния, мы рассчитали Якобиан, связывающий скорости изменения связанной с платформой системы коодинат и угловых скоростей звеньев маятника следующим образом:
Здесь V = [v w] - вектор, включающий в себя линейную и угловую скорость связанной системы координат.
Заметим, что в некотором диапазоне q2 (q2 <90 градусов ) матрица Якоби J¯ инвертируема. В реальной системе данное значение не превышает 2-5 градусов, поэтому данной допущение приемлемо. Тогда мы можем сделать замену переменной в формулировке динамики и описать динамиечское поведение относительно скоростей связаной системы координат:
Введенные параметры - представляют собой вышеупомянутые матрицы Инерции, Кориолиса и вектор гравитации после замены переменной.
Тогда наш закон управления u может быть сформулирован как:
Данный закон управления интуитивно понятен: он искусственно вводит дополнительное демпфирование по скорости в систему. Закон управления мог бы быть применен в чистом виде, но у нас нету данных для линейной скорости v связанной системы координат, в то время как w - измеряется ИНС напрямую. Чтобы сформулировать управляющую силу, мы предположим, что q2 является очень маленькой величиной (что справедливо для реальной системы), тогда используя выше описанный Якобиан:
Представленный закон управления напрямую зависит от геометрических параметров системы, угловой скорости от ИНС и угловой скрости первого звена двойного маятника, то есть крюка. Последний компонент является неизвестным. Однако ввиду природы двойного маятника, мы можем утверждать, что искомый компонент содержится в нижне-частотном диапазоне угловой скорости связанной системы координат w, измеряемой ИНС (для более детального объяснения см. [2]). Тогда закон управленяи может быть записан в виде:
где отфильтрованная угловая скорость:
.
Постоянная времени для фильтра нижних частот соответствует частоте, которая может быть взята посередине между частотами двойного маятника:
Тогда полученный закон управления может быть обобщен для общего трехмерного случая:
В общем случае почти любые положительные коэффициенты усиления в законе управления дадут желаемый эффект демпфирования, однако лучшие показатели могут быть достигнуты только для оптимальных в смысле минимизации линейно-квадратичной функции значений:
Здесь, Х - вектор состояния системы, включая динамику фильтра, U - вектор управляющего сигнала, Q - матрица, пенализирующая значения вектора состояний, R - матрица, пенализирующая значения управляющего вектора, J - ценовая функция.
Данная задача осложняется тем, что вектор управляющего сигнала может управлять только частью вектора состояния, поэтому данная оптимизационная задача должна решаться как линейно-квадратичная проблема регулирования с обратной связью по выходу. Методы решения подобных задач заключаются в анализе линейно-матричных неравентств и выходят за рамки данной статьи. Тем не менее, любопытный читатель может обратиться к указанному источнику [3] для более детального анализа данного вопроса. Модель вектора состояния для данной задача показана в [2].
После решения оптимизационной задачи, мы получили набор коэффициентов для управляющей силы и момента в заивимости от некоего параметра масштабируемости (см. график снизу).
Выбирая желаемый коэффициент масштабируемости, мы получаем 2 коэффициента для нашего закона управления, которые оптимально решают задачу, балансируя между демпфированием колебаний и потреблением энергии в зависимости от значений выбранных Q и R матриц.
Вышеописанный регулятор был реализован в среде MATLAB Simulink и в последствие сгенерирован в С код с помощью встроенной функции Code Generation для последующего развертывания на QNX Neutrino Real Time Operating system. Упрощенная модель Simulink (только верхний слой) представлена ниже (ряд дополнительных блоков, ответственных за коммуникацию контроллера с роботизированной рукой (следующая версия регулятора) были убраны).
Валидация
Первым делом, мы должны проверить наше предположение, что система ведет себя как двухзвенный маятник. Для этого мы качнули отключенную платформу и собрали данные с ИНС. С помощью преобразования Фурье, мы получили спектр угловых скоростей:
Как видно, сигнал действительно содержит две доминирующие частоты. Третий пик, который поменьше (~2.35 Hz), предположительно характеризует частоту волны массивной цепи крана. При подвесе платформы на тонкой легкой цепи, этот компонент отсутствует. Далее, мы его влияние рассматривать не будем.
В следующем шаге, мы проанализировали устойчивость системы для различных начальных значений (даже самых нереальных). Для этой цели система была реализована в среде MATLAB Simulink с использованием закрытой библиотеки LucaDynamics, позволяющей смоделировать динамику системы [4].
Как видно из результатов, даже для очень больших начальных отклонений (45 градусов) по крену и тангажу, система стабилизируется в сравнительно быстрые сроки, причем для обоих сочленений маятника: и для крюка, и для самой платформы.
Далее мы проанализировали поведение системы с ненулевыми начальными условиями и под действием внешних возмущений, вызванных быстрым движением роботизированной руки, как показано на видео ниже:
- Первым шагом мы отпустили платформу с неких ненулевых начальных значений, дав регулятору компенсировать возмущения.
- Вторым шагом мы заставиили роботизированный манипулятор совершить быстрый маневр, добавив возмущения в систему.
Поведение системы для вышеуказанной симуляции представлено на графике ниже (представленный график демонститрирует поведение системы для чуть-чуть измененных габаритно-весовых параметров платформы, и тайминг для движения руки чуть сдвинут).
Первые три графика показывают углы крена, тангажа и рыскания платформы, последний график демонстрирует скорости движения звеньев роботизированного манипулятора. Синия линия соответствует графику предложенного контроллера, красная штриховая линия соответствует идеальному контроллеру для случая, когда конфигурация маятника (в том числе угол отклонения крюка) известна в реальном времени для одинаковых коэффициентов усиления.
На 10-ой секунде роботизированный манипулятор совершил два маневра (раскладывание из исходной позиции в рабочую и обратно), которые были успешно нейтрализованы разработанным контроллером. Стоит заметить, что в симуляции был учтен шум гироскопов реальной ИНС согласно документации и что управления углом рыскания осуществлено отдельным геометрическим регулятором. Указанные графики были получены для следующих параметров, соответствующих реальной системе:
Финальным шагом анализа работоспособности контроллера был эксперимент.
Экспериментальная установка состоит из крана (2), к которому прикреплена цепь с крюком (1), на который подвешена система. На фотографии ниже оператор находится за защитным стеклом в процессе выполнения операции вставки колышка в отверстие (peg-in-hole).
В процессе эксперимента, оператор приложил внешнее усилие к платформе (красная пунктирная линия), после чего контроллер нейтрализовал колебания в течение 6 секунд.
Ниже приведенное видео демонстрирует экспериментальное исследование системы и регулятора в несколько шагов:
- Оператор прикладывает внешнее воздействие к отключенной системе для демонстрации низкого трения в звеньях двойного маятника.
- Оператор прикладывает внешнее воздействие к активной системе для демонстрации эффективности регулятора.
- Роботизированная рука совершает быстрые резкие движения, в то время как регулятор рассматривает эти возмущения как внешнее воздействие и компенсирует их.
- Передвижение крана способствует изменению позиции точки подвеса системы, регулятор эффективно справляется и с этими возмущениями.
Заключение
В рамках данной статьи мы рассмотрели разработку и валидацию регулятора демпфирования колебаний для подвесного воздушного манипулятора. Система смоделирована в виде сферического двойного маятника, которым можно управлять только косвенно, создавая пару силы и момента на конце второго звена. Из-за отсутствия измерений всей конфигурации системы контроллер использует только бортовую ИНС. Кроме того, мы нашли оптимальные коэффициенты усиления для закона управления, которые минимизируют линейно-квадратичную функцию. Таким образом, полученный регулятор демпфирует колебания с желаемым балансом между производительностью и потребляемой мощностью. Более того, используя данный метод, мы можем просто настроить систему для разных условий эксплуатации. Представленный контроллер может быть дополнительно улучшен за счет учета движение роботизированного манипулятора и использования дополнительных датчиков.
От автора
Данная статья является переводом моей статьи [2] (приложена как файл) с дополнительной информацией и медиа-материалами. Испытывал некие трудности при просмотре видео-вставок в Opera, но все отлично работает через Chrome.
Источники
- F. Ruggiero, V. Lippiello, and A. Ollero, “Aerial manipulation: A literature review,” Robotics and Automation Letters, vol. 3, no. 3, pp. 1957–1964, 2018.
- Y. S. Sarkisov, M. J. Kim, A. Coelho, D. Tsetserukou, C. Ott, K. Kondak, "Optimal Oscillation Damping Control of cable-Suspended Aerial Manipulator with a Single IMU Sensor," International Conference on Robotics and Automation (ICRA), 2020
- A. Ilka, “Matlab/octave toolbox for structurable and robust outputfeedback lqr design,” IFAC-PapersOnLine, vol. 51, no. 4, pp. 598–603, 2018.
- G. Garofalo, C. Ott, and A. Albu-Schaffer, “On the closed form computation of the dynamic matrices and their differentiations,” in IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2013, pp. 2364–2359.
Комментарии