с 01.01.2018 по настоящее время
Иннополис, Республика Татарстан, Россия
с 01.01.2016 по настоящее время
Курск, Курская область, Россия
ББК 30 Техника и технические науки в целом
Работа посвящена вопросам управления двуногими шагающими роботами. Для разработки регулятора задача управления роботом сформулирована как задача квадратичного програм-мирования, что позволяет учитывать односторонние механические связи в виде неравенств, обусловленные так называемыми конусами трения и ограничениями крутящих моментов при-водов. Проведено сравнение трех типов регуляторов: СТС (от англ. Computed Torque Controller), линейного квадратичного регулятора c ограничениями CLQR (от англ. Constrained Linear Quadratic Regulator) и регулятора на основе квадратичного программирования NQPC (от англ. Nested Quadratic Programming-based Controller). Особое внимание уделено влиянию неточностей сенсорной системы на качество работы системы управления робота. Исследо-вание охватывает случаи, когда для компенсации неточностей датчиков может использо-ваться динамический наблюдатель, а также случаи, когда накладываются ограничения на зна-чения крутящего момента в шарнирах робота. В результате моделирования установлено, что существует область параметров датчиков, в которой качество работы исследуемых регуля-торов робастно по отношению к малым изменениям нелинейных свойств датчиков, причем такие области параметров характерны для систем без наблюдателя и при его наличии, а также для систем с ограничениями на значения крутящего момента и без них.
двуногий шагающий робот, система управления, задача квадратичного программирования, CTC регулятор, CLQR регулятор, NQPC регулятор, наблюдатель
Введение. Шагающие роботы имеют разнообразные конструкции и системы управления, но все они обусловлены спецификой шагающего режима движения. В частности, тот факт, что робот должен приобретать и терять контакт с опорной поверхностью, делает проблему планирования движения трудно решаемой [1]. Общий подход к ее решению заключается в разбиении на подзадачи, такие как генерирование последовательности шагов [2, 3], генерирование траектории центра масс [4, 5], решение обратной задачи кинематики и разработка системы управления с обратной связью. Данное разбиение позволяет решить ряд проблем управления, таких как ходьба по неровной местности [3, 6], преодоление лестничных пролетов [7, 8], обход препятствий [7, 9] и т.д. Следует отметить, что упомянутые отдельные подзадачи не являются тривиальными и остаются в центре внимания современных исследований.
Шагающие роботы часто проектируются в виде последовательностей незамкнутых кинематических цепей, что делает их похожими на манипуляторы. Это означает, что методы управления, разработанные и успешно внедренные для манипуляторов, могут использоваться и для шагающих роботов. Однако специфические проблемы, связанные с шагающими роботами, обусловлены тем фактом, что объект управления представляет собой механическую систему с односторонними механическими ограничениями в виде конусов трения [1]. Наличие явных механических ограничений требует модификации методов управления, предназначенных для систем только с неявными ограничениями. Примером такой модификации является линейный квадратичный регулятор (LQR) для систем с механическими ограничениями, предложенный в [10].
Один из широко используемых подходов к разработке регулятора для шагающих роботов заключается в формулировке задачи управления как задачи квадратичного программирования [11, 12]. Это позволяет в явном виде использовать ограничения в виде неравенств, обусловленные ограничениями крутящего момента и конусов трения в задаче управления [13]. Такой подход требует существенных вычислительных мощностей, но может быть реализован на бортовых компьютерах двуногих шагающих роботов [14]. Доказать устойчивость и оптимальность регуляторов, предназначенных для систем с явными механическими ограничениями, сложно. На практике такие системы подвержены случайным возмущениям, имеют упругие звенья, люфт в шарнирах, также для них характерны неопределенность параметров модели и шумы в датчиках [15]. Ввиду этого анализ таких систем часто выполняется численно или с помощью экспериментальных исследований [15].
В этой работе рассматриваются три регулятора для двуногих шагающих роботов, построенные на различных подходах к управлению: регулятор на основе LQR, СТС-регулятор [16] и NQPC-регулятор. Исследуются вопросы влияния шума в датчиках и вопросы квантования сигналов с них на работу трех вариантов регуляторов.
Математическая модель шагающего робота, движущегося в сагиттальной плоскости. Будем рассматривать шагающего робота, состоящего из корпуса и двух ног, каждая из которых образована тремя последовательно соединенными звеньями. Все шарниры робота являются вращательными и активными. Будем считать, что движение робота происходит в сагиттальной плоскости, что показано на рис. 1, где точки Оi соответствуют активным шарнирам. Ориентация каждого звена определяется углом φi. Положение шарнира О1 задается координатами xO1 и yO1. Таким образом, углы φi и координаты xO1, yO1 образуют вектор обобщенных координат q, определяющий положение и конфигурацию робота.
Рис. 1. Расчетная схема шагающего робота:
1 – корпус, 2 – бедра, 3 – голени, 4 – стопы
Общий вид уравнений динамики может быть записан следующим образом:
, (1)
где H − обобщенная матрица инерции, cq − вектор обобщенных инерциальных, гравитационных и диссипативных сил, Fq − матрица Якоби механических связей, λ − коэффициенты Лагранжа, связанные с силами реакций, Bq − матрица, связывающая моменты приводов с соответствующими обобщенными моментами, u − вектор обобщенных моментов приводов.
Индексы q обозначают, что матрицы записаны в относительной системе координат, связанной с роботом. Выведение этих уравнений и их свойства описаны в работе [17]. Пусть q*(t) представляет собой искомую временную функцию обобщенных координат q, необходимую для описания желаемого движения робота. Тогда обратную задачу динамики для робота можно записать следующим образом:
, (2)
где (·)+ − псевдообратная матрица Мура-Пенроуза.
Следует отметить, что это не единственная форма записи обратной задачи динамики для механических систем с явными ограничениями. Альтернативные варианты записи приведены в работах [18, 19]. Введем вектор абсолютных координат . Движение робота может быть описано линеаризованной по заданной траектории x*(t) системой уравнений:
, (3)
где A, B и F − матрицы, c − вектор аффинной модели динамики.
Виды исследуемых регуляторов. Будем рассматривать три метода управления движением шагающего робота: СТС-регулятор, линейный квадратичный регулятор с ограничениями (CLQR), регулятор на основе квадратичного программирования (NQPC). СТС представляет собой метод, который заключается в управлении по ошибке путем стабилизации динамики ошибки. Описание этого регулятора можно найти в работах [16, 20]:
, (4)
где Kp и Kd − положительно определенные диагональные матрицы коэффициентов регулятора, e=q*−q − ошибка управления.
Настройка коэффициентов регулятора описана в работах [21, 22]. При последующем моделировании будем считать, что Kp=1000I, Kd=500I, где I представляет собой единичную матрицу. Этот метод подходит для систем с достаточным числом параметров управления (fully actuated systems) без явных механических связей. Однако, используя обратную динамику (2), можно обобщить его на системы с дефицитом управляющих воздействий с явными механическими связями.
СLQR-регулятор описан в [10], в работе [23] представлено его применение для управления движением внутритрубного шагающего робота. Данный регулятор требует введения аддитивной квадратичной целевой функции J:
,(5)
где Q и R – положительно определенные весовые матрицы.
Рассмотрим следующие ограничения, накладываемые на механическую систему:
. (6)
Пусть N – матрица, представляющая базис в нуль-пространстве G. Тогда можно ввести следующие обозначения:
(7)
Подставляя введенные матрицы и векторы в уравнение Риккати и решая его, получаем матрицу усиления . Закон управления задается следующим выражением [10]:
. (8)
Этот метод управления с использованием CLQR регулятора подходит для линейной системы без ограничений, динамика которой аналогична динамике исходной системы. Поскольку исходная система линеаризуется вдоль траектории x*(t), полученная линейная модель (3) изменяется во времени, поэтому матрица усиления KN периодически корректируется. В последующем моделировании будем полагать, что Q=103I и R=10-2I.
NQPC регулятор является одним из возможных вариантов регулятора на основе квадратичного программирования. Он был предложен в работе [24] для управления внутритрубными шагающими роботами. В отличие от двух ранее рассмотренных схем управления, данный регулятор позволяет явно учитывать ограничения, обусловленные контактным взаимодействием, а также предельными значениями крутящих моментов приводов. Здесь рассмотрена упрощенная версия NQPC, в которой в явном виде не учитываются ограничения, накладываемые на производные обобщенных координат. При такой формулировке управляющие воздействия вычисляются путем решения следующей задачи квадратичного программирования (QP):
(9)
где w1, w2 – положительные скалярные весовые функции, A0, b0 – матрица и вектор линейных ограничений типа неравенств, накладываемых на QP, τ* – значение крутящего момента, продуцируемого задающим регулятором.
Использование задающего регулятора для генерирования τ* находит свое отражение в названии процедуры. Задающий регулятор может представлять собой CLQR или СТС, сгенерированный для системы без учета механических ограничений или ограничений крутящего момента. Подходы к эффективному решению задачи QP обсуждаются в работе [25]. В последующих моделированиях в качестве задающего регулятора используется СТС, причем A0=0, b0=0, w1=1 и w2=10-3.
Для определения производительности каждого регулятора введем следующую целевую функцию:
, (10)
где t0 – момент времени, соответствующий началу движения, tf – момент времени, соответствующий завершению движения, xj(t0) – j-ое начальное положение робота.
Таким образом, σ представляет собой отношение норм ошибки управления в начале и в конце движения.
Нелинейная модель сенсоров шагающего робота. В данной работе рассмотрим датчики с аддитивным случайным шумом и квантованием:
, (11)
где s – разрешающая способность датчика (шаг квантования), η – случайный вектор, элементы которого принимают значения в диапазоне [−η η], – функция округления к меньшему целому числу, применяемая поэлементно к входному вектору.
Таким образом, для каждого датчика есть два параметра, которые определяют его поведение: η и s. Будем считать, что каждый датчик положения и ориентации характеризуется параметрами ηq и sq, а каждый датчик скорости описывается параметрами ηv и sv.
На рис. 2, а показана зависимость σ от параметров шума датчика ηq и ηv при использовании СТС регулятора, sq=sv=0.001. По данному рисунку видно, что существует область, в которой σ<1. Это означает, что система управления уменьшает значение ошибки управления. Также можно заметить, что поведение σ зависит от параметров ηq и ηv аналогичным образом. На рис. 2, б показана зависимость σ от параметров квантования датчика sq и sv. Поверхность построена для случая, когда ηq=ηv=0.001. На рис. 2 горизонтальные оси построены в логарифмическом масштабе.
Поверхность, приведенная на рис. 2, б, имеет свойства, аналогичные свойствам ранее описанной поверхности. Это означает, что пары аргументов ηq, ηv и sq, sv оказывают схожее воздействие на качество системы управления, что измерено с помощью целевой функции (10). Это наблюдение используется в дальнейшем для упрощения сравнительного анализа.
Сравнительный анализ методов управления на основе результатов моделирования. Рассмотрим влияние шума и квантования датчика на производительность системы управления, измеренную с помощью целевой функции (10). Будем считать, что ηq=ηv=η и sq=sv=s. На рис. 3, а показана зависимость σ=σ(η) для CTC, CLQR и NQPC регуляторов, а на рис. 3, б представлена зависимость σ=σ(s) для этих же регуляторов.
а б
По рис. 3, а видно, что CLQR регулятор является лучшим при обработке больших значений шума датчика. При этом он работает хуже, чем другие регуляторы, при низких уровнях шума. Это свойство CLQR описано в [23] и заключается в обнулении ошибки управления для систем с дефицитом управляющих воздействий. Графики рис. 3, б иллюстрируют, что производительность всех методов управления зависит от квантования датчика аналогичным образом.
Влияние ограничения крутящих моментов приводов на качество работы системы управления робота. Рассмотрим, как ограничения, накладываемые на значения крутящего момента в шарнирах робота, могут изменить графики рис. 3. В предыдущих экспериментах наблюдались мгновенные пики крутящего момента величиной 1500 Нм при постоянных значениях крутящих моментов порядка 200 Нм. Для следующего эксперимента ограничим крутящие моменты приводов значением 150 Нм.
На рис. 4 показаны зависимости σ=σ(η) и σ=σ(s) для случая, когда значения крутящих моментов ограничены. Причем NQPC регулятор не имел явной информации об ограничениях крутящего момента, как это было сделано в работе [24].
а б
Можно заметить, что в обоих случаях CLQR регулятор работает лучше, чем СТС или NQPC. Сходство между работой CTC и NQPC регуляторов частично объясняется тем, что NQPC использует СТС в качестве задающего регулятора. Во всех случаях ошибка управления не уменьшается, а в экспериментах с СТС и NQPC значительно возрастает. Это свидетельствует о том, что данные регуляторы нежелательно использовать при наложении ограничений на значения крутящих моментов.
Введение наблюдателя в систему управления робота. Для исправления неточности датчика часто используется наблюдатель, который для системы с явными механическими ограничениями (3) может быть сформулирован следующим образом [26]:
, (12)
где z – вектор предсказания координат состояния, L – оптимальная матрица коэффициентов усиления.
Матрица коэффициентов усиления может быть найдена путем решения линейного уравнения Риккати для системы (12), аналогичный пример можно найти в [26]. Так же, как CLQR, наблюдатель описывается целевой функцией (5). Здесь использовались весовые коэффициенты Q=103I и R=I. На рис. 5, а показана зависимость σ=σ(η), а на рис. 5, б − σ=σ(s) для случая, когда используется наблюдатель (12).
а б
Сравнивая графики на рис. 3, а и рис. 5, а, можно заметить, что использование наблюдателя для CTC и NQPC регуляторов делает их менее чувствительными к шуму датчика, при этом на CLQR регулятор существенного влияния не оказывается. Также введение наблюдателя повышает устойчивость СТС регулятора к малым изменениям шума датчика. При сравнении графиков на рис. 3, б и рис. 5, б значительных улучшений от применения наблюдателя не заметно.
Выводы. В статье проведен сравнительный анализ работы трех типов регуляторов: CTC, CLQR и NQPC для управления движением двуногого робота во время шага. Цель исследования заключалась в установлении влияния нелинейных свойств датчиков на производительность этих регуляторов. Полученные результаты свидетельствуют о том, что существует область параметров датчиков, в которой производительность регуляторов устойчива по отношению к малым изменениям этих параметров. Это является желательным свойством систем управления, разработанных с использованием моделирования. Такие области параметров характерны для систем без наблюдателя и при его наличии, а также для систем с ограничениями на значения крутящего момента и без них.
Установлено, что CLQR регулятор работает хуже, чем другие типы регуляторов при отсутствии ограничений крутящего момента и высокой точности датчиков. Также CLQR регулятор наиболее устойчив по отношению к малым изменениям параметров датчиков. При введении ограничений на значения крутящего момента CLQR регулятор работает лучше, чем другие регуляторы. Также можно сделать вывод о том, что СТС и NQPC, использующий СТС в качестве задающего регулятора, ведут себя схоже во всех экспериментах. При этом вычислительная нагрузка при работе NQPC регулятора в несколько раз выше. Это свидетельствует о том, что NQPC следует использовать только тогда, когда для управления роботом необходимы его специфические свойства, такие как возможность в явном виде интегрировать конусы трения и вводить ограничения на значения крутящего момента. В противном случае предпочтительно использовать СТС регулятор. Если существуют строгие ограничения крутящего момента, то лучшим вариантом регулятора является CLQR.
Источники финансирования. Грант Президента МК-1537.2019.8, РФФИ, проект №18-38-00140/18.
1. Caron S., Kheddar A. Multi-contact walking pattern generation based on model preview control of 3d com accelerations // Humanoid Robots (Humanoids): Proc. IEEE-RAS 16th Intern. Conf., Cancun, Mexico. 2016. Pp. 550-557.
2. Chestnutt J., Lau M., Cheung G., Kuffner J., Hodgins J., Kanade T. Footstep planning for the Honda Asimo humanoid // ICRA: Proc. of the IEEE Intern. Conf. on Robotics and Automation, Barcelona, Spain, Spain. 2005. Pp. 629-634.
3. Jatsun S., Savin S., Yatsun A. Walking pattern generation method for an exoskeleton moving on uneven terrain // Climbing and Walking Robots and Support Technologies for Mobile Machines (CLAWAR): Proc. of the 20th Intern. Conf., Panama city, PA. 2017. P. 13-20.
4. Kuindersma S. Permenter F., Tedrake R. An efficiently solvable quadratic program for stabilizing dynamic locomotion // Robotics and Automation (ICRA): Proc. IEEE Intern. Conf., Hong Kong, China. 2014. Pp. 2589-2594.
5. Jatsun S., Savin S., Yatsun A. Motion control algorithm for a lower limb exoskeleton based on iterative LQR and ZMP method for trajectory generation // Medical and Service Robots: Proc. Intern. Workshop. - Springer, Cham. 2016. Pp. 305-317.
6. Dai H., Tedrake R. Planning robust walking motion on uneven terrain via convex optimization // Humanoid Robots (Humanoids): Proc. IEEE-RAS 16th Intern. Conf., Cancun, Mexico. 2016. Pp. 579-586.
7. Jatsun S., Savin S., Yatsun A. Footstep planner algorithm for a lower limb exoskeleton climbing stairs // Interactive Collaborative Robotics: Proc. Intern. Conf. Springer, Cham. 2017. Pp. 75-82.
8. Nguyen Q., Agrawal A., Da X., Martin W.C., Geyer H., Grizzle J.W., Sreenath K. Dynamic Walking on Randomly-Varying Discrete Terrain with One-step Preview // Robotics: Science and Systems: Proc. Intern. Conf., Cambridge, MA, USA. 2017. Pp. 1-9.
9. Deits R., Tedrake R. Footstep planning on uneven terrain with mixed-integer convex optimization // Humanoid Robots: Proc. IEEE-RAS Intern. Conf., Madrid, Spain. 2014. Pp. 279-286.
10. Mason S., Rotella N., Schaal S., Righetti L. Balancing and walking using full dynamics LQR control with contact constraints // Humanoid Robots (Humanoids): Proc. IEEE-RAS 16th Intern. Conf., Cancun, Mexico. 2016. Pp. 63-68.
11. Galloway K., Sreenath K., Ames A.D., Grizzle J.W. Torque Saturation in Bipedal Robotic Walking Through Control Lyapunov Function-Based Quadratic Programs // IEEE Access. 2015. Vol. 3. Pp. 323-332.
12. Atkeson C.G., Babu B.P.W., Banerjee N., Berenson D., Bove C.P., Cui X., Gennert M. No falls, no resets: Reliable humanoid behavior in the DARPA robotics challenge // Humanoid Robots (Humanoids): Proc. IEEE-RAS 15th Intern. Conf., Seoul, South Korea. 2015. Pp. 623-630.
13. Kuindersma S., Deits R., Fallon M., Valenzuela A., Dai H., Permenter F., Tedrake R. Optimization-based locomotion planning, estimation, and control design for the atlas humanoid robot //Autonomous Robots. 2016. Vol. 40(3). Pp. 429-455.
14. Atkeson C.G., Benzun P.B., Banerjee N., Berenson D., Bove C.P., Cui X., Gennert M. What happened at the DARPA Robotics Challenge finals // DARPA Robotics Challenge Finals: Humanoid Robots To The Rescue: Springer, Cham. 2018. Pp. 667-684.
15. Johnson M., Shrewsbury B., Bertrand S., Calvert D., Wu T., Duran D., Smith J. Team IHMC's lessons learned from the DARPA Robotics Challenge: Finding data in the rubble // J. of Field Robotics. 2017. Vol. 34(2). Pp. 241-261.
16. Ortega R., Spong M.W. Adaptive motion control of rigid robots: A tutorial // Automatica. 1989. Vol. 25(6). Pp. 877-888.
17. Featherstone R. Rigid Body Dynamics Algorithms // Boston, MA: Springer US. 2014. 271 p.
18. Mistry M., Buchli J., Schaal S. Inverse dynamics control of floating base systems using orthogonal decomposition // Robotics and Automation: Proc. IEEE Intern. Conf., Anchorage, AK, USA. 2010. Pp. 3406-3412.
19. Righetti L., Buchli J., Mistry M., Schaal S. Inverse dynamics control of floating-base robots with external constraints: A unified view // Robotics and Automation: Proc. IEEE Intern. Conf., Shanghai, China. 2011. Pp. 1085-1090.
20. Jatsun S., Savin S., Lushnikov B., Yatsun A. Algorithm for motion control of an exoskeleton during verticalization // ITM Web of Conferences: EDP Sciences. 2016. Vol. 6. Pp. 1-5.
21. Jatsun S., Savin S., Yatsun A. Comparative analysis of global optimization-based controller tuning methods for an exoskeleton performing push recovery // System Theory, Control and Computing (ICSTCC): Proc. 20th IEEE Intern. Conf., Sinaia, Romania. 2016. Pp. 107-112.
22. Jatsun S., Savin S., Yatsun A. Parameter optimization for exoskeleton control system using sobol sequences // Symposium on Robot Design, Dynamics and Control. Springer, Cham. 2016. Pp. 361-368.
23. Savin S., Jatsun S., Vorochaeva L. Modification of constrained LQR for control of walking in-pipe robots // Dynamics of Systems, Mechanisms and Machines (Dynamics): Proc. IEEE Intern. Conf., Omsk, Russia. 2017. Pp. 1-6.
24. Savin S., Vorochaeva L. Nested quadratic programming-based controller for pipeline robots // Industrial Engineering, Applications and Manufacturing (ICIEAM): Proc. IEEE Intern. Conf., St. Petersburg, Russia. 2017. Pp. 1-6.
25. Boyd S., Vandenberghe L. Convex optimization // Cambridge university press: Cambridge, UK. 2004. 725 p.
26. Savin S., Jatsun S., Vorochaeva L. State observer design for a walking in-pipe robot // MATEC Web of Conferences: EDP Sciences. 2018. Vol. 161. 03012.