Cloud of Science. 2019. T. 6. № 1 http:/ / cloudofscience.ru
Генерация задающих воздействий для шагающего робота с упругими элементами1
С. И. Савин*, Л. Ю. Ворочаева**
Университет Иннополис 420500, Иннополис, ул. Университетская, 1 Юго-Западный государственный университет 305040, Курск, ул. 50 лет Октября, 94
e-mail: [email protected]
Аннотация. В работе рассматривается задача генерации задающих воздействий для шагающих роботов с упругими элементами. Наличие упругих элементов в конструкции шагающего робота в первую очередь влияет на его динамические характеристики, тогда как задача генерации задающих воздействий для системы автоматического управления для многозвенных механизмов зачастую рассматривается в кинематической постановке. При этом наличие таких элементов может оказывать влияние на объем допустимых движений робота, что должно учитываться при генерации траекторий робота. В частности, это происходит, когда робот имеет кинематическую структуру дерева, причем упругие элементы установлены последовательно с жесткими звеньями. В статье рассматривается традиционное разбиение задачи генерации задающих воздействий для системы управления шагающего робота на задачи генерации последовательности шагов, траектории центра масс, траекторий стоп и решения обратной задачи кинематики. В статье предложены способы учета при построении траекторий неточности позиционирования звеньев робота, связанной с наличием упругих элементов. Предложен способ коррекции траектории стоп робота при наличии самопересечений механизма. Рассмотрен способ решения обратной задачи кинематики с учетом действия упругих элементов для случая, когда те соединены последовательно.
Ключевые слова: упругие элементы, шагающий робот, генерация задающих воздействий, траектория центра масс, траектория стоп, обратная задача кинематики.
1. Введение
Шагающие роботы представляют собой широкий класс механизмов, перемещение которых сопровождается периодическим контактом с опорной поверхностью. Раз-
1 Исследование выполнено при финансовой поддержке РФФИ в рамках научного проекта №18-38-00140\18.
личные подклассы шагающих роботов обладают различными преимуществами и недостатками. Так, образцы четырехногих шагающих роботов демонстрируют способности перемещаться по пересеченной местности, двигаться с большой скоростью и сохранять вертикальную устойчивость при наличии существенных внешних возмущений [1, 2]. Двуногие шагающие роботы в большей степени ограничены в скорости перемещения и возможности сохранять вертикальную устойчивость [3, 4]. При этом они могут лучше использовать существующую инфраструктуру, созданную для людей, и проще встраиваться в существующие процессы в производстве, сфере услуг и др. [5].
Особенный интерес представляют шагающие роботы, разработанные для решения специфических задач, трудновыполнимых для механизмов других типов. Примерами таких роботов являются экзоскелеты [6-9], внутритрубные шагающие роботы [10-14], подводные шагающие роботы [15, 16] и др. Режимы функционирования такого рода устройств существенно отличаются от стандартных и, как следствие, такие роботы требуют разработки специальных подходов к их проектированию [17], способам генерации задающих воздействий для системы автоматического управления [18], настройке регуляторов [19-21] и обработке сенсорной информации [22, 23].
Одним из характерных требований, предъявляемых к шагающим роботам, является обеспечение безопасного взаимодействия между роботом и его окружением. Применительно к конкретным сценариям функционирования робота это может означать безопасное взаимодействие с людьми, неподвижными предметами, другими роботами и т. д. В процессе такого взаимодействия робот не должен наносить повреждения как себе, так и другим субъектам взаимодействия. Для этого зачастую требуется ограничить допустимые режимы взаимодействия — определить, какие элементы робота могут вступать в контакт с окружением, а также выявить, с какими элементами окружения робот может контактировать. Помимо этого, требуется установить ограничения на силы и моменты, возникающие в точках контакта робота с окружением, а также на относительные скорости частей робота и элементов окружения, готовых войти в контакт [24].
Одним из практических способов решения задачи обеспечения безопасного взаимодействия робота с его окружением является использование конструктивных и программных решений, делающих его «податливым». Этого можно достичь путем внедрения упругих элементов в конструкцию робота, а также путем использования специальных подходов к управлению роботом [25]. Здесь остановимся на первом подходе.
Шагающие роботы с упругими элементами рассматривались в ряде работ. Конструкции таких шагающих роботов, как MIT Spring Flamingo, ATRIAS и дру-
гих, включают упругие элементы [26, 27]. Для таких роботов, как ATLAS (разработанный Boston Dynamics), характерны динамические эффекты, связанные с гибкостью его звеньев [28].
В случае, когда упругие элементы установлены параллельно звеньям, образующим жесткую кинематическую цепь, их наличие сказывается на работе регулятора и может потребовать использования специальных подходов к настройке параметров системы автоматического управления (САУ) [29]. Если же упругие элементы установлены последовательно, так что конфигурация механизма не является полностью заданной ориентацией валов его двигателей, то корректировки требуют также и подходы к заданию траекторий движения его звеньев. Это связано с тем, что такие роботы ведут себя как системы с дефицитом управляющих воздействий (under actuated systems) и, как следствие, на реализуемые траектории в конфигурационном пространстве робота наложены ограничения.
В данной работе рассматриваются подходы к генерации задающих воздействий для шагающих механизмов с упругими элементами. Это включает способы задания траекторий отдельных точек механизма, подходы к решению обратной задачи кинематики и критерии оптимальности для получаемых траекторий.
2. Конструкции шагающих роботов с упругими элементами и упругими звеньями
Как было указано в предшествующем разделе, среди шагающих роботов можно выделить отдельный класс устройств, которых отличает наличие упругих элементов в их кинематических цепях, — шагающие роботы с упругими звеньями. Этот класс роботов достаточно обширен, что обусловлено преимуществами, которые обеспечивают упругие элементы. Для удобства анализа и структурирования информации о шагающих роботах с упругими элементами введем ряд классификаций, сформированных на основании обзора научной литературы. К наиболее важным классификационным признакам будем относить:
1) число и конфигурацию звеньев;
2) режим движения;
3) назначение упругих элементов;
4) расположение упругих элементов;
5) тип упругих элементов.
На рис. 1 приведена классификация шагающих роботов с упругими звеньями по числу и конфигурации звеньев. В соответствии с ней роботов можно подразделить на два подкласса по числу ног: двуногие [30-34] и многоногие [1-3, 32-35]. И те и другие роботы могут быть бионическими [1-2, 32, 33, 35], т. е. построенными по аналогии с животными, птицами или человеком (в последнем случае роботы
называются антропоморфными и имеют только две ноги) [34], движения звеньев которых при перемещении имитируют поведение биологических существ. Примеры небионических роботов могут быть найдены в [3, 30, 31].
Рисунок 1. Классификация шагающих роботов по числу и конфигурации звеньев
К двуногим небионическим роботам можно отнести роботов с динамической пассивной походкой [30, 31]. Они, как правило, состоят из двух звеньев, являющихся ногами, и двух звеньев, являющихся стопами. Примерами двуногих бионических роботов являются Fastrunner [32], который имитирует бег страуса, робот-кенгуру [33], осуществляющий прыжки. Двуногие антропоморфные роботы состоят из корпуса и двух ног, каждая из которых образована тремя звеньями, представляющими бедро, голень и стопу [34]. Данные роботы могут двигаться в различных режимах, таких как шагание, бег или прыжок, причем движения их звеньев построены на основании анализа характерных движений человека при тех же режимах [59].
Многоногие роботы имеют больше двух ног и могут быть небионическими, например, состоящими из двух пар ног, соединенных с корпусом и реализующими пассивную динамическую походку [3]. Они могут быть и бионическими, т. е. по своей конструкции и движениям звеньев являться аналогичными тем или иным животным [1, 2, 35].
На основании вышесказанного можно перейти к рассмотрению следующего классификационного признака шагающих роботов с упругими элементами — к режиму их движения. Данная классификация проиллюстрирована на рис. 2.
Анализ литературы позволяет выделить три основных режима движения:
- шагание [5, 28];
- бег [32, 34];
- прыжок [33],
причем перемещение при помощи шагов может быть как пассивным [3, 30, 31], так и активным [1, 2, 32-35].
Рисунок 2. Классификация шагающих роботов с упругими элементами по режиму движения
Три следующие классификационные признака относятся непосредственно к упругим элементам. В соответствии с классификацией, показанной на рис. 3, упругие элементы в шагающих роботах могут быть установлены четырьмя разными способами: в звеньях, в шарнирах, между звеньями и в приводах.
Рисунок 3. Классификация шагающих роботов по расположению упругих элементов
Упругие элементы, расположенные в звеньях (бедре, голени или стопе), в основном используются как накопители энергии, необходимой для совершения толчка от опорной поверхности и отрыва от нее во время прыжков, когда звено с упругим элементом (голень или бедро) является разгонным модулем. Упрощенные схемы ног роботов с указанными упругими элементами показаны на рис. 4а, б. При установке упругого элемента на стопе он, как правило, используется в качестве
амортизатора для уменьшения ударных нагрузок в момент начала взаимодействия стопы с поверхностью при беге или прыжке [31]. В этих случаях чаще всего используются линейные пружины растяжения/сжатия (рис. 4в).
а б в
Рисунок 4. Упругие элементы, установленные в звеньях: а — в бедре; б — в голени; в — в стопе
Упругие элементы, которые устанавливаются в шарнирах (бедренном, коленном и голеностопном) шагающих роботов, представляют собой торсионные пружины (рис. 5). Такие пружины, например, используются в бедренном шарнире двуногих шагающих роботов с динамической пассивной походкой [30]. Это позволяет повысить скорость перемещения робота (за счет накопленной в пружине энергии нога во время шага «подталкивается» вперед), что, в свою очередь, может сделать походку робота более устойчивой.
Рисунок 5. Упругие элементы в шарнирах шагающих роботов
Упругие элементы устанавливаются и в приводах, которые получили название SEA (от англ. series elastic actuator) и активно используются в различных конструкциях шагающих роботов [34-36]. В данных приводах пружина выступает в роли редуктора и располагается между двигателем, который может быть электрическим, пневматическим или гидравлическим, и звеном робота. В таких приводах могут
использоваться одна или несколько пружин сжатия [34, 35], а также плоские пружины, работающие на кручение [36]. К преимуществам таких приводов можно отнести снижение динамических эффектов, обусловленных инерционными свойствами двигателя и трением, что позволяет повысить точность позиционирования звеньев и уменьшить чувствительность к ударам за счет их компенсации пружиной. Часто такие приводы используются для гашения ударных воздействий во время приземления ноги робота на поверхность при реализации им бега или прыжков. Это обусловлено тем, что во время отрыва ноги от поверхности упругий элемент в приводе накапливает и высвобождает энергию, связанную с механическим ударом звеньев робота об опорную поверхность, и препятствует распространению ударных воздействий на часть звеньев робота.
Последний вариант установки упругих элементов в виде пружин сжатия или растяжения, эластичных стержней и упругих тросов — их установка между звеньями шагающих роботов. Эти элементы могут быть расположены как между соседними звеньями, так и не между соседними. В первом случае упругими элементами соединяются корпус и бедро, бедро и голень, голень и стопа, бедро правой и бедро левой ноги (рис. 6а-в, е). Второй случай соответствует соединению при помощи пружин корпуса и голени, бедра и стопы (рис. 6г, д). Такие варианты установки упругих элементов описаны в работах [3, 32].
а б в г д е
Рисунок 6. Упругие элементы, установленные между звеньями шагающего робота: а — голень/стопа; б — бедро/голень; в — корпус/бедро; г — корпус/голень; д — бедро/стопа; е — бедро/бедро
Упругие элементы при этом могут использоваться в качестве имитации мышц человека или животного в антропоморфных и бионических роботах, что обусловлено схожестью их работы с работой мышц, а также относительной простотой математического моделирования их динамики. При этом основными назначениями пружин, соединяющих звенья, являются повышение энергоэффективности роботов, получение возможности использования приводов меньшей мощности, уменьшение требований к усилиям, создаваемым приводами, а также расширение диапазона поверхностей, обладающих различными свойствами и формой, по которым шагающие роботы могут перемещаться с достаточной устойчивостью при вариации ско-
рости шагания [3]. Помимо этого, за счет того, что упругие элементы могут накапливать и высвобождать большое количество энергии за короткое время, возможно снижение массы и габаритов компонентов трансмиссии и двигателя шагающих роботов.
Еще одним применением упругих элементов между звеньями является возможность реализации гравитационной компенсации, что описано в работе [32]. В этом случае пружины подобраны таким образом, что создаваемое при их деформации усилие примерно соответствует силе тяжести звеньев робота, а направление момента создаваемой силы противоположно моменту сил тяжести.
Рассмотренные выше варианты использования упругих элементов в зависимости от способа их установки в конструкциях шагающих роботов можно свести в классификацию, показанную на рис. 7.
Также проведенный обзор позволяет выработать еще одну классификацию упругих элементов — по их типу (рис. 8). Можно выделить три типа упругих элементов: пружины (линейные пружины растяжения или сжатия, торсионные пружины), упругие тросы и эластичные стержни. Наиболее распространенным типом упругих элементов в шагающих роботах являются пружины.
Назначение упругих "I
Повышение скорости движения
Повышение устойчивости движения
Повышение точности позиционирования
Повышение >пер гоэффективности
Рисунок 7. Классификация упругих Рисунок 8. Классификация упругих
элементов по назначению элементов по их типу
3. Задание последовательности шагов робота
В настоящее время разработаны многочисленные подходы к генерации последовательности шагов для шагающих роботов. Характерными примерами являются алгоритмы, использованные на соревнованиях DARPARoboticsChaПenge (DRC), осу-
ществляющие поиск на графах, методы численной оптимизации, случайный поиск и RRT (от англ. rapidly exploring random trees) и другие методы [37-39].
Одним из эффективных подходов к решению этой задачи является представление опорной поверхности в виде множества выпуклых областей, каждая из которых доступна для постановки стопы [40, 41]. Такой подход позволяет сформулировать задачу планирования последовательности шагов как оптимизационную задачу с целочисленными переменными [39, 42]. Для разбиения опорной поверхности на такие области могут использоваться алгоритмы, предложенные в работах [43, 44].
Для роботов с упругими элементами характерны ограничения по точности позиционирования стопы робота в процессе совершения шага. Пусть желаемое положение стопы робота, совершающей шаг, относительно опорной ноги задается вектором о = [стх ст ]T. Пусть ошибка позиционирования при совершении шага дана как e = [ех еу ]T. Рассмотрим случай, когда эта ошибка представляет собой случайную величину, принимающую значения в диапазоне е, е e[emm emax ]. На рис. 9 показаны последовательности шагов, полученные для случая, когда О = [0.3 0.1]T и О = [0.3 —0.1]T для шагов левой и правой ногой.
Рисунок 9. Последовательности шагов робота с упругими элементами при наличии неточности позиционирования стоп
С практической точки зрения важным является обеспечение точности позиционирования робота относительно препятствий, подвижных объектов и цели — точ-
ки, куда робот должен переместиться. Для достижения этой точности могут использоваться корректирующие процедуры, позволяющие предотвратить накопление ошибки позиционирования. В случае, если коррекция последовательности шагов не производится, положение робота после выполнения N шагов становится заданным вероятностью с нормальным распределением (для рассматриваемой модели ошибки позиционирования). Это проиллюстрировано на рис. 10.
Рисунок 10. Распределение положений стоп робота с упругими элементами после выполнения N шагов; слева направо — положения стоп после 20, 50 и 150 шагов
На рис. 10 зеленым показаны положения левой стопы, а синим — положения правой. Можно заметить, что по мере роста числа шагов дисперсия распределения конечных положений стоп увеличивается.
В общем случае e может являться функцией длины шага, времени выполнения шага и параметров упругих элементов. Дисперсия распределения положения стоп робота после выполнения N шагов может использоваться в качестве целевой функции при формулировке задачи оптимального выбора этих параметров.
4. Генерация траектории центра масс робота
В случае, когда робот перемещается по горизонтальной опорной поверхности, можно использовать полученную последовательность шагов для формулировки условий, накладываемых на динамику центра масс механизма, обеспечивающих сохранение роботом вертикального равновесия. Для этого используется принцип ZMP (от англ. zero moment point) [45-47]. Принцип ZMP задает ограничения, нало-
женные на положение и ускорение центра масс, записываемые в виде системы дифференциальных неравенств. На практике эти условия используют для задания желаемой траектории так называемой точки 2МР такой, чтобы эта точка не покидала пределы опорного полигона робота (выпуклой оболочки всех точек контакта робота и опорной поверхности), а затем используют дифференциальные уравнения 2МР для вычисления траектории центра масс, реализующей желаемую траекторию точки 2МР [48].
Стандартное уравнение 2МР имеет вид:
опорную поверхность; р = [рх ру ]т — координаты точки 2МР на опорной поверхности; g — ускорение свободного падения; — высота центра масс робота над опорной поверхностью.
Пусть условие принадлежности точки 2МР опорному полигону задано в виде
где Л(7) и Ь(7) — матрица и вектор системы линейных неравенств. Неравенства (2) меняются во времени вместе с изменением границ опорного полигона, что происходит, например, при ходьбе.
Рассмотрим траекторию центра масс гс = гс (7), удовлетворяющую уравнению (1) и условию (2). Пусть в связи с действием упругих элементов данная траектория может быть отработана с ошибкой 50 по норме. При этом точность выполнения заданных ускорений гс допускает ошибку 82. Тогда можем записать условие сохранения вертикальной устойчивости робота:
где 1 = [1 1]т — вектор единиц. Условие (3) позволяет учитывать ошибки, связанные с наличием упругих элементов в конструкции робота, на этапе планирования траектории его центра масс.
5. Генерация траекторий стоп робота с учетом возможных самопересечений механизма
Рассмотрим стопы робота, заданные выпуклыми многогранниками. Для описания стопы будет использовать ее набор вершин V • Ограничимся рассмотрением слу-
ЛИ )р < Ь(*),
(2)
(3)
чая, когда ориентация стопы в неподвижной системе координат в процессе движения не меняется. Тогда каждая вершина у может быть записана как
у/) = у(*)+а,, (4)
где у^) — параметрическая кривая, задающая траекторию стопы; — константы, задающие форму стопы.
Пусть заданы начальное и конечное положения стопы робота в процессе совершения одного шага: у (£0) = у0 и у (1^) = у^, где г0 и ^ — время начала и окончания движения стопы. Пусть также задана желаемая высота шага в момент времени 1т : у2 (гт) = 2 . Здесь и далее индексы ух, у и у означают проекции вектора у
на соответствующие координатные оси неподвижной системы координат.
Тогда можем задать положение стопы в момент времени ?ш следующим образом:
аух ((0 ) + (1 "«)ух )
ут = у(^т ) = «у, (О + (! ~")уу (</ ) , (5)
2
где а — константа, удовлетворяющая равенству ^ = а£0 + (1 - а)^.
Рассмотрим задачу построения траектории стопы, свободной от пересечений с другими частями механизма. Пусть механизм робота задан множеством выпуклых многогранников О, представленных в виде систем линейных неравенств Ах< Ь;,
где хеМ3 — произвольный вектор; А . Ь — матрица и вектор в представлении
многогранника О системой неравенств и I — номер многогранника.
В общем случае указанные многогранники могут перемещаться. Для простоты рассмотрим случай, когда они стационарны, предполагая, что движение частей робота, для которых возможно пересечение со стопой в процессе совершения шага, достаточно мало. Это предположение является приемлемым для значительного многообразия походок антропоморфных шагающих роботов, так как звенья, с которыми может пересечься стопа, это вторая стопа, покоящаяся на опорной поверхности и соединенная с ней голень робота, незначительно меняющая свою ориентацию.
Пусть Ах < Ь — система неравенств, задающая выпуклую оболочку многогранников О. Обозначим эту оболочку, также являющуюся многогранником, как О. Тогда можем записать достаточное условие пересечения стопы и механизма:
31 ей 3/ А(у(0 + а) <Ь. (6)
С. И. Савин, Генерация задающих воздействий для шагающего
Л. Ю. Ворочаева I робота с упругими элементами
Можем произвести дискретизацию траектории стопы, выделив на ней конечный набор точек, и решить задачу нахождения и положения такого, чтобы условие (6) не выполнялось.
Если значение \т некоторой точки на траектории стопы таково, что условие 3j : A(vm + d ■) < b выполняется, то будем искать такой корректирующий вектор 5, чтобы условие 3j : A(vm + d. + 5) < b не выполнялось. Вектор 5 представляет собой смещение траектории стопы от точки vm.
Рассмотрим алгоритм нахождения вектора 5. Определим вектор невязки Ax следующим образом:
Ax j = A(vm + d j) - b. (7)
Обозначим элементы вектора Ax ■ как Ax^.. Используя введенные обозначения, найдем нормаль nmax к грани многогранника Q,, к которой наиболее близко расположена одна из вершин стопы v . = vm + dj, находящихся внутри этого многогранника:
П max = (A I ^
I = arg max(Ax/), (8)
Ax, < 0,
где индекс A7 означает номер строки вектора или матрицы; I — номер грани многогранника Q, ближайшего к вершине v ■, находящейся внутри этого многогранника.
Тогда можем задать 5 следующим образом:
5 = УП max, (9)
где у — коэффициент, определяющий величину смещения 5. Эта величина может быть выбрана таковой, чтобы условие 3j : A(vm + d . + 5) < b не выполнялось. Иначе она может быть выбрана так, что при использовании итеративного алгоритма vm := vm + 5 каждая точка vm + dj вышла за пределы многогранника Q. Преимуществом итеративного алгоритма является то, что он позволяет выбрать более короткое результирующее смещение в сравнении со случаем, когда стопа перемещается за пределы многогранника за одну итерацию.
На рис. 11 проиллюстрирована работа алгоритма, сплошной черной линией показана начальная траектория, пунктирной зеленой — исправленная, красными маркерами — промежуточные значения точек дискретной траектории, полученные в ходе итераций алгоритма. Рисунок 11 демонстрирует, что предложенный алго-
ритм позволяет исправить траекторию точки, которая пересекает механизм. При этом можно заметить, что исправленная траектория является существенно более сложной в сравнении с исходной и включает хаотические изменения направления. Это связано с тем, что предложенная процедура не требует сохранения гладкости траектории. Сходные траектории получаются при использовании многих других алгоритмов, разработанных для поиска пути на невыпуклых областях пространства, например RRT или PRM (от англ. probabilistic road maps) [49-51]. Такого рода траектории нуждаются в использовании процедуры сглаживания.
Рисунок 11. Траектория точки, исправленная с помощью описанного алгоритма; слева — нога робота, состоящая из неподвижной стопы и голени, представленная выпуклыми многогранниками, справа — выпуклая оболочка указанных многогранников.
В отличие от роботов с жесткими звеньями звенья роботов с упругими элементами, внедренными в кинематическую цепь робота последовательно, могут перемещаться в пространстве под действием внешних возмущений, что должно учитываться при планировании траекторий. Заметим, что новая траектория, показанная на рис. 11, расположена на некотором отдалении от звеньев робота. Для получения этого эффекта достаточно предварительно масштабировать звенья робота перед тем, как использовать их вершины для построения многогранника Этот подход можно использовать для получения траекторий, учитывающих коэффициент запаса, необходимый для предотвращения столкновений друг с другом звеньев робота с упругими элементами.
С. И. Савин, Генерация задающих воздействий для шагающего
Л. Ю. Ворочаева робота с упругими элементами
Альтернативный подход к решению задачи коррекции траектории, приводящей к самопересечению механизма, основанный на использовании накрывающих эллипсов, предложен в [52].
Отметим, что вычислительная сложность предложенного метода определяется вычислительной сложностью алгоритма, позволяющего вычислять матрицу A и вектор b. Такие алгоритмы рассматриваются в [53, 54]. Также она линейно зависит от числа точек на дискретно заданной траектории и от числа уравнений в системе (7).
6. Решение обратной задачи кинематики для робота с упругими элементами
В предшествующих разделах были даны описания способов генерации траекторий для центра масс и стоп шагающего робота. Эти траектории можно использовать для получения походки всего механизма в целом. При этом для получения задающих воздействий для системы автоматического управления робота необходимо, используя эти траектории, найти законы изменения его координат в конфигурационном пространстве, т. е. решить обратную задачу кинематики.
В общем виде обратную задачу кинематики можно записать следующим образом:
find q*(t)
4 V 7 (10) s.t. r(q*(t)) = r('(t),
где q (t) — решение обратной задачи кинематики, закон изменения вектора обобщенных координат, реализующий требуемые траектории движения звеньев механизма; rt (q ) — вектор-функция, определяющая положение и ориентацию звеньев
механизма, траектории которых необходимо реализовать; r (t) — желаемые траектории звеньев механизма.
Рассмотрим случай, когда динамика механизма с упругими элементами описывается следующими дифференциальными уравнениями:
Hq + c = Bu, (11)
где H — обобщенная матрица инерции; c — вектор инерционных, гравитационных и диссипативных сил; B — матрица, задающая способ установки приводов робота; и — вектор управляющих воздействий. Если q е M",u е R"', п <т, то система имеет дефицит управляющих воздействий. При этом остается возможным реализовать заданные траектории rt (t), используя динамические связи между координатами механизма.
Найдем такую матрицу C, что для любого u выполняется условие:
CH-1Bu = 0. (12)
Тогда можем записать следующую систему дифференциальных уравнений:
[Fij +Fq = if (О, |Cq = CH
где F = drj 5q — матрица Якоби обратной задачи кинематики.
Особенностью системы дифференциальных уравнений (13) является то, что матрица коэффициентов при старших производных является вырожденной. Приводя (13) к системе дифференциальных уравнений первого порядка, также получим систему с вырожденной матрицей в левой части. Такого рода уравнения называют дифференциально-алгебраическими (ДАУ) и решают с помощью специализированных алгоритмов [56, 57].
Решение ДАУ (13) для корректно заданных начальных условий представляет собой решение исходной обратной задачи кинематики, учитывающее возможности использования пассивной динамики механизма для получения требуемых траекторий.
В некоторых случаях искать решение обратной задачи кинематики как решение ДАУ (13) может быть неудобным в связи с особенностями доступных библиотек для решения такого рода проблем. Альтернативным подходом является дискретизация решения уравнения (13) q(t) и формулировка задачи нахождения следующей точки дискретной последовательности q. = q (ti) как задачи математического программирования.
Используя разложение функции q(t) в ряд Тейлора, получим следующую формулировку оптимизационной задачи:
minimize: J(q,,q,,q,)
subject to (14)
Fq,+Fq,=r;(0, Cq, = CH V,
<
q, =q, i +A'4r
q, = q,_1+Aiq,+0.5Arq„
где /(q.q.q) —квадратичная форма переменных q,,q, и q :
J(q,,q,,q,) = (q, -q,4)TW,(q, -qM) + (q, -Чм)Т^(Ч/ -qM) + +(q, - q,i)T W0(q, - q,1),
где W0, W и W2 — положительно определенные матрицы.
Получаемые значения переменных , с| и могут использоваться в качестве
задающих воздействий для системы автоматического управления шагающего робота. Такой подход к нахождению решения обратной задачи кинематики позволяет использовать численные методы, разработанные для решения задач выпуклого программирования, например, метод внутренней точки. Задача (14) представляет собой задачу квадратичного программирования, для решения которой создан ряд специализированных высокоэффективных алгоритмов, реализованных для различных языков программирования и сред моделирования и разработки. Вычислительная сложность задач квадратичного программирования и имплементация алгоритмов для их решения рассматриваются в [58, 59].
В некоторых случаях условие С(\1 = СН1с может делать задачу (14) нерешае-мой. Тогда можно применить релаксацию исходной задачи путем введения дополнительного оптимизируемого параметра 8 следующим образом:
где ^ — положительно определенная матрица.
Недостатком введения нового оптимизируемого параметра в является возможность получения траекторий, не соответствующих динамике механизма. Величина в может использоваться для оценки такого несоответствия.
Предложенный подход достаточно близок к задаче оптимизации траектории, где в качестве линейных связей используются полные уравнения динамики механизма, а управляющие воздействия и входят в задачу в качестве оптимизируемых параметров.
7. Заключение
В этой работе рассматривались вопросы генерации задающих воздействий для шагающих роботов с упругими элементами. Данная проблема разбивается на ряд подзадач, включая задачу получения последовательности шагов, задания траектории центра масс робота, задания траекторий стоп робота и обратную задачу кинематики.
Проблемы генерации последовательности шагов и задания траектории центра масс для шагающих роботов с упругими элементами требуют учета ограничений на
тишшге: •/(я,(|1,Ч,) + 8Т\¥38 зиЬ|сс11:о
(16)
щ+щ
Ся,+8 = СН-1с,
<
ч = ч I
я< =ям+Ач+ 05
точность позиционирования робота, включая его стопы и центр масс. В связи с этим необходимо уточнение критерия сохранения роботом вертикальной устойчивости, требуется использование процедур коррекции походки робота с целью избежать накопления ошибки его позиционирования. Распределение значений ошибки позиционирования робота после выполнения заданного движения может рассматриваться как целевая функция при решении задачи оптимального выбора параметров походки робота.
В статье предложены способы коррекции траектории стоп робота при возможности самопересечений механизма и указан способ задания коэффициента запаса, позволяющего учесть ограничения по точности работы системы управления робота при реализации требуемого движения. Предложены подходы к решению обратной задачи кинематики, основанные на использовании информации о динамике механизма для построения реализуемых траекторий в конфигурационном пространстве робота.
Литература
[1] Raibert M., Blankespoor K., Nelson G. and Playter R. Bigdog, the rough-terrain quadruped robot // IFACProceedings Volumes. 2008. Vol. 41. No. 2. P. 10822-10825.
[2] Seok S., Wang A., Chuah M. Y. M., Hyun D. J., Lee J., Otten D. M., Lang J. H. and Kim S. Design principles for energy-efficient legged locomotion and implementation on the MIT cheetah robot // IEEE/ASME Transactions on Mechatronics. 2015. Vol. 20. No. 3. P. 1117-1129.
[3] Bhounsule P. A., Cortell J. and Ruina A. Design and control of Ranger: an energy-efficient, dynamic walking robot // Adaptive Mobile Robotics. 2012. P. 441-448.
[4] Jatsun S., Savin S. and Yatsun A. Comparative analysis of global optimization-based controller tuning methods for an exoskeleton performing push recovery // 2016 20th International Conference on System Theory, Control and Computing (ICSTCC). — 2016. P. 107-112.
[5] Yokoi K., Kawauchi N., Sawasaki N., Nakajima T., Nakamura S., Sawada K., Takeuchi I., Nakashima K., Yanagihara Y., Yokoyama K. and Isozumi T. Humanoid robot applications in HRP // International Journal of Humanoid Robotics, 2004. Vol. 1. No. 03. P. 409-428.
[6] Jatsun S., Savin S., Lushnikov B. and Yatsun A., Algorithm for motion control of an exoskeleton during verticalization // ITM Web of Conferences. 2016. Vol. 6. P. 01001.
[7] Jatsun S., Savin S. and Yatsun A. A Control Strategy for a Lower Limb Exoskeleton with a Toe Joint // International Conference on Interactive Collaborative Robotics. — Springer, Cham, 2016. P. 1-8.
[8] Savin S. I., Yatsun A. S. and Yatsun S. F. Energy-efficient algorithm of control of exo-skeleton verticalization // Journal of Machinery Manufacture and Reliability. 2017. Vol. 46. No. 5. P. 512-517.
[9] Panovko G. Y., Savin S. I., Yatsun S. F. and Yatsun A. S. Simulation of exoskeleton sit-to-stand movement // Journal of Machinery Manufacture and Reliability. 2016. Vol. 45. No. 3. P. 206-210.
[10] Savin S. and Vorochaeva L. Pace pattern generation for a pipeline robot // 2017 International Conference on Industrial Engineering, Applications and Manufacturing (ICIEAM). — IEEE, 2017. P. 1-6.
[11] Савин С. И., Ворочаева Л. Ю., Ворочаев А. В. Алгоритм генерации походок для робота, осуществляющего движение в трубопроводах // Известия Юго-Западного государственного университета. Серия: Техника и технологии. 2017. Т. 7. № 1 (22). С. 90-97.
[12] Савин С. И., Ворочаева Л. Ю. Методы управления движением шагающих внут-ритрубных роботов // Cloud of Science. 2018. Т. 5. № 1.
[13] Савин С. И., Ворочаева Л. Ю., Ворочаев А. В. Классификация режимов движения четырехногого плоского внутритрубного робота // Cloud of Science. 2017. Т. 4. № 2.
[14] Ворочаева Л. Ю., Савин С. И. Классификационные признаки роботов, перемещающихся по трубам // Вестник Белгородского государственного технологического университета им. В. Г. Шухова. 2018. № 3. С. 89-100.
[15] Чернышев В. В., Арыканцев В. В. МАК-1-подводный шагающий робот // Робототехника и техническая кибернетика. 2015. № 2. С. 45-50.
[16] Чернышев В. В., Арыканцев В. В., Гаврилов А. Е. Управление движением подводных шагающих аппаратов, передвигающихся по дну // Известия Южного федерального университета. Технические науки. 2016. № 1(174). С. 141-155.
[17] Zoss A. B., Kazerooni H. and Chu A. Biomechanical design of the Berkeley lower extremity exoskeleton (BLEEX) // IEEE/ASME Transactions on mechatronics. 2006. Vol. 11. No. 2. P. 128-138.
[18] Savin S., Jatsun S. and Vorochaeva L. Trajectory generation for a walking in-pipe robot moving through spatially curved pipes // MATEC Web of Conferences. 2017. Vol. 113. P. 02016.
[19] Jatsun S., Savin S. and Yatsun A. Parameter optimization for exoskeleton control system using Sobol sequences // ROMANSY 21-Robot Design, Dynamics and Control. — Springer, Cham, 2016. P. 361-368.
[20] Jatsun S., Savin S., Yatsun A. and Gaponov I. Study on a two-staged control of a lower-limb exoskeleton performing standing-up motion from a chair // Robot Intelligence Technology and Applications 4. — Springer, Cham. 2017. P. 113-122.
[21] Savin S., Jatsun S. and Vorochaeva L. November. Modification of Constrained LQR for Control of Walking in-pipe Robots // Dynamics of Systems, Mechanisms and Machines (Dynamics). — IEEE, 2017. P. 1-6.
[22] Kazerooni H., Racine J. L., Huang L. and Steger On the control of the berkeley lower extremity exoskeleton (BLEEX) // Proceedings of the 2005 IEEE International Conference on Robotics and Automation, ICRA 2005. — IEEE, 2005, P. 4353-4360.
[23] Savin S., Jatsun S., and Vorochaeva L. State observer design for a walking in-pipe robot // MATEC Web of Conferences. 2018. Vol. 161. P. 03012.
[24] Haddadin S., Albu-Schaffer A., De Luca A. and Hirzinger G. Collision detection and reaction: A contribution to safe physical human-robot interaction // IEEE/RSJ International Conference on Intelligent Robots and Systems, IROS 2008. — IEEE 2008, P. 33563363..
[25] De Santis A., Siciliano B., De Luca A. and Bicchi A. An atlas of physical human-robot interaction // Mechanism and Machine Theory. 2008. Vol. 43. No. 3. P. 253-270.
[26] Ramezani A., Hurst J. W., Hamed K. A. and Grizzle J. W. Performance analysis and feedback control of ATRIAS, a three-dimensional bipedal robot // Journal of Dynamic Systems, Measurement, and Control. 2014. Vol. 136. No. 2. P. 1-12.
[27] Hubicki C., Grimes J., Jones M., Renjewski D., Sprowitz A., Abate A. and Hurst J. ATRIAS: Design and validation of a tether-free 3D-capable spring-mass bipedal robot // The International Journal of Robotics Research. 2016. Vol. 35. No. 12. P. 1497-1521.
[28] Johnson M., Shrewsbury B., Bertrand S., Wu T., Duran D., Floyd M., Abeles P., Stephen D., Mertins N., Lesman A. and Carff J. Team IHMC's lessons learned from the DARPA robotics challenge trials // Journal of Field Robotics. 2015. Vol. 32. No. 2. P. 192-208.
[29] Jatsun S., Savin S., Yatsun A. andPostolnyi A. Control system parameter optimization for lower limb exoskeleton with integrated elastic elements // Advances in Cooperative Robotics. 2016. P. 797-805.
[30] Kuo A. D. Stabilization of lateral motion in passive dynamic walking // The International Journal of Robotics Research. 1999. Vol. 18. No. 9. P. 917-930.
[31] Collins S. H., Wisse M. and Ruina A. A three-dimensional passive-dynamic walking robot with two legs and knees // The International Journal of Robotics Research. 2001. Vol. 20. No. 7. P. 607-615.
[32] Cotton S., Olaru I. M. C., Bellman M., van der Ven T., Godowski J. and Pratt J. May. Fastrunner: A fast, efficient and robust bipedal robot. concept and planar simulation // 2012 IEEE international conference on Robotics and automation (icra). — IEEE, 2012. P. 2358-2364.
[33] Zhang Y. H., Zheng L., Ge W. J. and Zou Z. H. Mechanism design and optimization of a bionic kangaroo jumping robot // IOP Conference Series: Materials Science and Engineering. 2018.Vol. 324. No. 1. P. 012078.
[34] Pratt G. A. and Williamson M. M. Series elastic actuators // 1995 IEEE/RSJ International Conference on Intelligent Robots and Systems 95.'Human Robot Interaction and Cooperative Robots', Proceedings. — IEEE, 1995. Vol. 1. P. 399-406.
[35] Hutter M., Remy C. D., Hoepflinger M. A. and Siegwart R. High compliant series elastic actuation for the robotic leg SCARLETH // Field Robotics. 2012. P. 507-514.
[36]Melnykov A., Konyev M., Palis F. andSchmucker U. Linear elastic actuator of a biped robot 'ROTTO' // Emerging Trends In Mobile Robotics. 2010. P. 588-595.
[37] Feng S., Xinjilefu X., Atkeson C.G. and Kim J. Optimization based controller design and implementation for the atlas robot in the darpa robotics challenge finals // 2015 IEEE-RAS 15 th International Conference on Humanoid Robots (Humanoids). — IEEE, 2015. P. 1028-1035.
[38] Long X. Optimization-based Whole-body Motion Planning for Humanoid Robots. Doctoral dissertation. — Northeastern University, 2017.
[39] Kuindersma S., Deits R., Fallon M., Valenzuela A., Dai H., Permenter F., Koolen T., Marion P. and Tedrake R. Optimization-based locomotion planning, estimation, and control design for the atlas humanoid robot // Autonomous Robots. 2016. Vol. 40. No. 3. P. 429-455.
[40] Jatsun S., Savin S. and Yatsun A. Footstep Planner Algorithm for a Lower Limb Exoskel-eton Climbing Stairs // International Conference on Interactive Collaborative Robotics. — Springer, Cham, 2017. P. 75-82.
[41] Savin S. and Vorochaeva L. Footstep planning for a six-legged in-pipe robot moving in spatially curved pipes // 2017 International Siberian Conference on Control and Communications (SIBCON). — IEEE, 2017. P. 1-6.
[42] Deits R. and Tedrake R. Footstep planning on uneven terrain with mixed-integer convex optimization // 2014 14th IEEE-RAS International Conference on Humanoid Robots (Humanoids). — IEEE, 2014. P. 279-286.
[43] Deits R. and Tedrake R. Computing large convex regions of obstacle-free space through semidefinite programming // Algorithmic foundations of robotics XI. — Springer, Cham, 2015. P. 109-124.
[44] Savin S. An algorithm for generating convex obstacle-free regions based on stereographic projection // 2017 International Siberian Conference on Control and Communications (SIBCON). — IEEE, 2017, June. P. 1-6.
[45] Vukobratovic M. and Borovac B. Zero-moment point — thirty five years of its life // International journal of humanoid robotics, 2004. Vol. 1. No. 01. P. 157-173.
[46] Jatsun S., Savin S. and Yatsun A. Motion control algorithm for a lower limb exoskeleton based on iterative LQR and ZMP method for trajectory generation // International Workshop on Medical and Service Robots. — Springer, Cham, 2016. P. 305-317.
[47] Kajita S., Kanehiro F., Kaneko K., Fujiwara K., Harada K., Yokoi K. and Hirukawa H. Biped walking pattern generation by using preview control of zero-moment point // ICRA. — 2003. Vol. 3. P. 1620-1626.
[48] Kuindersma S., Permenter F. and Tedrake R. An efficiently solvable quadratic program for stabilizing dynamic locomotion // 2014 IEEE International Conference on Robotics and Automation (ICRA). — IEEE, 2014. P. 2589-2594.
[49] LaValle S. M. Rapidly-exploring random trees: A new tool for path planning. Report No. TR 98-11. — Computer Science Department, Iowa State University 1998.
[50] LaValle S. M., Kuffner J. J. Rapidly-exploring random trees: Progress and prospects // Algorithmic and Computational Robotics. — Natick: A. K. Peters, 2001. P. 293-308
[51] Savin S. RRT-based Motion Planning for In-pipe Walking Robots // Dynamics of Systems, Mechanisms and Machines (Dynamics). — IEEE (preprint), 2018. P. 1-6.
[52] Jatsun S., Savin S. and Yatsun A. Study of controlled motion of an exoskeleton performing obstacle avoidance during a single support walking phase // 2016 20th International Conference on System Theory, Control and Computing (ICSTCC). — IEEE, 2016. P. 113-118.
[53] Liu H., Liu W. and Latecki L. J. Convex shape decomposition // 2010 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. — IEEE, 2010. P. 97104.
[54] Avis D. and Fukuda K. A pivoting algorithm for convex hulls and vertex enumeration of arrangements and polyhedral // Discrete & Computational Geometry. 1992. Vol. 8. No. 3. P. 295-313.
[55] Avis D. A revised implementation of the reverse search vertex enumeration algorithm // Polytopes-combinatorics and computation. — Birkhauser, Basel, 2000. P. 177-198.
[56] Brenan K. E., Campbell S. L. and Petzold L. R. Numerical solution of initial-value problems in differential-algebraic equations. — Siam, 1996. Vol. 14.
[57] Ascher U. M. and Petzold L. R. Computer methods for ordinary differential equations and differential-algebraic equations. — Siam, 1998. Vol. 61.
[58] Boyd S. and Vandenberghe L. Convex optimization. — Cambridge university press, 2004.
[59] Grant M., Boyd S. and Ye. Y. CVX: MATLAB software for disciplined convex programming. 2008.
Авторы:
Людмила Юрьевна Ворочаева — кандидат технических наук, доцент кафедры механики, мехатроники и робототехники, Юго-Западный государственный университет
Сергей Игоревич Савин — кандидат технических наук, старший научный сотрудник лаборатории мехатроники, управления и прототипирования, Университет Иннополис
Control input generation for walking robots with elastic elements
S. I. Savin*, L. Yu.Vorochaeva**
Innopolis University, 1, Universitetskaya st., Innopolis, 420500 Russia Southwest State University, 94, 50 let Oktyabrya street, Kursk, 305040 Russia e-mail: [email protected]
Absract. The paper is focused on the problem of control inputs generation for walking robots with elastic elements. The presence of elastic elements primarily affects the robot's dynamic characteristics, whereas the task of generating control inputs for the control system for multilink mechanisms is often considered in a kinematic formulation. However, the presence of
elastic elements can affect the volume of possible motions of the robot, which should be taken into account when generating the robot's trajectories. In particular, this happens when the robot has a tree kinematic structure, and the elastic elements are installed in series with rigid links. The control inputs generation problem for walking robots is usually partitioned into sub-tasks, such as steps sequence generation, the center of mass trajectory generation, feet trajectories generation and the inverse kinematics. This pipeline is studied in this paper. The article suggests ways of taking into account inaccuracy of robot links' motion due to the presence of elastic elements. A method for correcting the feet trajectories that lead to mechanism self-intersection is proposed. A method for solving the inverse problem of kinematics taking into account the action of the elastic elements for the case when they are connected in series is studied.
Keywords: elastic elements, walking robot, control input, center of mass trajectory, feet trajectory, inverse kinematics problem.
References
[1] RaibertM., Blankespoor K., Nelson G. and Playter R. (2008) Bigdog, the rough-terrain quadruped robot. IFAC Proceedings Volumes, 41(2):10822-10825.
[2] Seok S., Wang A., Chuah M. Y. M., ... and Kim S. (2015) IEEE/ASME Transactions on Mechatronics, 20(3): 1117-1129.
[3] Bhounsule P. A., Cortell J. and Ruina A. (2012) Design and control of Ranger: an energy-efficient, dynamic walking robot. In Adaptive Mobile Robotics. P. 441-448.
[4] Jatsun S., Savin S. and Yatsun A. (2016) Comparative analysis of global optimization-based controller tuning methods for an exoskeleton performing push recovery. In 2016 20th International Conference on System Theory, Control and Computing (ICSTCC). P. 107-112.
[5] Yokoi K., Kawauchi N., Sawasaki N., ..., and Isozumi T. (2004) International Journal of Humanoid Robotics, 1(03):409-428.
[6] Jatsun S., Savin S., Lushnikov B. and Yatsun A. (2016) ITM Web of Conferences. 6:01001.
[7] Jatsun S., Savin S. and Yatsun A. (2016) A Control Strategy for a Lower Limb Exoskeleton with a Toe Joint. International Conference on Interactive Collaborative Robotics. August. P. 1-8. Springer, Cham.
[8] Savin S. I., Yatsun A. S. and Yatsun S. F. (2017) Journal of Machinery Manufacture and Reliability, 46(5):512-517.
[9] Panovko G. Y., Savin S. I., Yatsun S. F. and Yatsun A. S. (2016) Journal of Machinery Manufacture and Reliability, 45(з):206-210.
[10] Savin S. and Vorochaeva L. (2017) Pace pattern generation for a pipeline robot. In 2017 International Conference on.Industrial Engineering, Applications and Manufacturing (ICIEAM). P. 1-6.
[11] Savin S. I., Vorochaeva L. Yu., Vorochaev A. V. (2017) Izvestiya Yugo-Zapadnogo gosudarstvennogo universiteta. Seriya: Tekhnika i tekhnologii, 7(1):90-97. [In Ru]
[12] Савин С. И., Ворочаева Л. Ю. (2018) Cloud of Science, 5(1). [In Ru]
[13] Savin S. I., Vorochaeva L. Yu., Vorochaev A. V. (2017) Cloud ofScience, 4(2). [In Ru]
[14] Vorochaeva L. Yu., Savin S. I. (2018) Vestnik Belgorodskogo gosudarstvennogo tekhnologicheskogo universiteta im. V. G. Shukhova. 3:89-100.
[15] Chernyshev V. V., Arykantsev V. V. (2015) Robototekhnika I tekhnicheskay kibernetika, 2:45-50. [In Ru]
[16] Chernyshev V. V., Arykantsev V. V., Gavrilov A. Ye. (2016) Izvestiya Yuzhnogo federal'nogo universiteta. Tekhnicheskiye nauki. 1(174). [In Ru]
[17] Zoss A. B., Kazerooni H. and Chu A. (2006) IEEE/ASME Transactions on mechatronics, 11(2): 128-138.
[18] Savin S., Jatsun S. and Vorochaeva L. (2017) Trajectory generation for a walking in-pipe robot moving through spatially curved pipes. In MATEC Web of Conferences. EDP Sciences. Vol. 113. P. 02016.
[19] Jatsun S., Savin S. and Yatsun A. (2016) Parameter optimization for exoskeleton control system using Sobol sequences. In ROMANSY 21-Robot Design, Dynamics and Control. Springer, Cham. P. 361-368.
[20] Jatsun S., Savin S., Yatsun A. and Gaponov I. (2017) Study on a two-staged control of a lower-limb exo-skeleton performing standing-up motion from a chair. In Robot Intelligence Technology and Applications 4. Springer, Cham. P. 113-122.
[21] Savin S., Jatsun S. and Vorochaeva L. (2017) Modification of Constrained LQR for Control of Walking in-pipe Robots. In Dynamics of Systems, Mechanisms and Machines (Dynamics). P. 1-6.
[22] Kazerooni H., Racine J. L., Huang L. and Steger R. (2005) On the control of the berkeley lower extremity exoskeleton (BLEEX). In Proceedings of the 2005 IEEE International Conference on Robotics and Automation, ICRA 2005. P. 4353-4360.
[23] Savin S., Jatsun S., and Vorochaeva L. (2018) State observer design for a walking in-pipe robot. In MATEC Web of Conferences. EDP Sciences. Vol. 161. P. 03012.
[24] Haddadin S., Albu-Schaffer A., De Luca A. and Hirzinger G. (2008) Collision detection and reaction: A contribution to safe physical human-robot interaction. In IEEE/RSJ International Conference on Intelligent Robots and Systems, IROS 2008. P. 3356-3363.
[25] De Santis A., Siciliano B., De Luca A. and Bicchi A. (2008) Mechanism and Machine Theory, 43(3):253-270.
[26] Ramezani A., Hurst J. W., Hamed K. A. and Grizzle J. W. (2014) Journal of Dynamic Systems, Measurement, and Control, 136(2):1-12.
[27] Hubicki C., Grimes J., Jones M., ..., and Hurst J. (2016) The International Journal of Robotics Research, 35(12): 1497-1521.
[28] Johnson M., Shrewsbury B., ..., and Carff J. (2015) Journal of Field Robotics, 32(2):192-208.
[29] Jatsun S., Savin S., Yatsun A. and Postolnyi A. (2017) Control system parameter optimization for lower limb exoskeleton with integrated elastic elements. In Advances in Cooperative Robotics. P. 797-805.
[30] Kuo A. D. (1999) The International Journal of Robotics Research, 18(9):917-930.
[31] Collins S. H., Wisse M. and Ruina A. (2001) The International Journal of Robotics Research, 20(7):607-615.
[32] Cotton S., Olaru I. M. C., Bellman M., van der Ven T., Godowski J. and Pratt J. (2012) Fastrunner: A fast, efficient and robust bipedal robot. concept and planar simulation. In 2012 IEEE international conference on Robotics and automation (icra). P. 2358-2364.
[33] Zhang Y. H., Zheng L., Ge W. J. and Zou Z. H. (2018) Mechanism design and optimization of a bionic kangaroo jumping robot. In IOP Conference Series: Materials Science and Engineering. Vol. 324. No. 1. P. 012078.
[34] Pratt G. A. and Williamson M. M. (1995) August. Series elastic actuators. In 1995 IEEE/RSJ International Conference on Intelligent Robots and Systems 95.'Human Robot Interaction and Cooperative Robots'. Vol. 1. P. 399-406.
[35] Hutter M., Remy C. D., Hoepflinger M. A. and Siegwart R. (2012) High compliant series elastic actuation for the robotic leg SCARLETH. In Field Robotics. P. 507-514.
[36] Melnykov A., Konyev M., Palis F. and Schmucker U. (2010) Linear elastic actuator of a biped robot 'ROTTO'. In Emerging Trends In Mobile Robotics. P. 588-595.
[37] Feng S., Xinjilefu X., Atkeson C.G. and Kim J. (2015) November. Optimization based controller design and implementation for the atlas robot in the darpa robotics challenge finals. In 2015 IEEE-RAS 15th International Conference on Humanoid Robots (Humanoids). P. 1028-1035.
[38] Long X. (2017) Optimization-based Whole-body Motion Planning for Humanoid Robots. Doctoral dissertation, Northeastern University.
[39] Kuindersma S., Deits R., Fallon M., ..., and Tedrake R. (2016) Autonomous Robots, 40(3):429-455.
[40] Jatsun S., Savin S. and Yatsun A. (2017) September. Footstep Planner Algorithm for a Lower Limb Exo-skeleton Climbing Stairs. In International Conference on Interactive Collaborative Robotics. Springer, Cham. P. 75-82.
[41] Savin S. and Vorochaeva L. (2017) Footstep planning for a six-legged in-pipe robot moving in spatially curved pipes. In 2017 International Siberian Conference on Control and Communications (SIBCON). P. 1-6.
[42] Deits R. and Tedrake R. (2014) November. Footstep planning on uneven terrain with mixed-integer convex optimization. In 2014 14th IEEE-RAS International Conference on Humanoid Robots (Humanoids). P. 279-286.
[43] Deits R. and Tedrake R. (2015) Computing large convex regions of obstacle-free space through sem-idefinite programming. In Algorithmic foundations of robotics XI. Springer, Cham. P. 109-124.
[44] Savin S. (2017) An algorithm for generating convex obstacle-free regions based on stereographic projection. In 2017 International Siberian Conference on Control and Communications (SIBCON). P. 1-6.
[45] Vukobratovic M. and Borovac B. (2004) International journal of humanoid robotics, 1(01): 157-173.
[46] Jatsun S., Savin S. and Yatsun A. (2016) Motion control algorithm for a lower limb exoskeleton based on iterative LQR and ZMP method for trajectory generation. In International Workshop on Medical and Service Robots. Springer, Cham. P. 305-317.
[47] Kajita S., Kanehiro F., Kaneko K., Fujiwara K., Harada K., Yokoi K. and Hirukawa H. (2003) Biped walking pattern generation by using preview control of zero-moment point. In ICRA. Vol. 3. P. 16201626.
[48] Kuindersma S., Permenter F. and Tedrake R. (2014) An efficiently solvable quadratic program for stabilizing dynamic locomotion. In 2014 IEEE International Conference on Robotics and Automation (ICRA). P. 2589-2594.
[49] LaValle S. M. (1998) Rapidly-exploring random trees: A new tool for path planning. Report No. TR 9811, Computer Science Department, Iowa State University.
[50] LaValle S. M., Kuffner J. J. (2001) Rapidly-exploring random trees: Progress and prospects. In Algorithmic and Computational Robotics. Natick, 2001. P. 293-308.
[51] Savin S. (2018) RRT-based Motion Planning for In-pipe Walking RobotsIn Dynamics of Systems, Mechanisms and Machines (Dynamics). IEEE (preprint). P. 1-6.
[52] Jatsun S., Savin S. and Yatsun A. (2016) Study of controlled motion of an exoskeleton performing obstacle avoidance during a single support walking phase. In 2016 20th International Conference on System Theory, Control and Computing (ICSTCC. P. 113-118.
[53] Liu H., Liu W. andLatecki L. J. (2010) Convex shape decomposition. Convex shape decomposition. In / 2010 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. P. 97-104
[54] Avis D. andFukuda K. (1992) Discrete & Computational Geometry, 8(3):295-313.
[55] Avis D. (2000) A revised implementation of the reverse search vertex enumeration algorithm. In Polytopes — combinatorics and computation. Birkhauser, Basel. P. 177-198.
[56] Brenan K. E., Campbell S. L. and Petzold L. R. (1996) Numerical solution of initial-value problems in differential-algebraic equations. Siam. Vol. 14.
[57] Ascher U. M. and Petzold L. R. (1998) Computer methods for ordinary differential equations and differential-algebraic equations. Siam. Vol. 61.
[58] BoydS. and Vandenberghe L. (2004) Convex optimization. Cambridge university press.
[59] GrantM., BoydS. and Ye. Y. (2008) CVX: Matlab software for disciplined convex programming.