САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
КАФЕДРА КОМПЬЮТЕРНЫХ ТЕХНОЛОГИЙ И СИСТЕМ
Широбоков Михаил Владимирович
Выпускная квалификационная работа бакалавра
Устойчивость и оптимизация процессов
управления шагающим роботом
Направление 010400
Прикладная математика и информатика
Научный руководитель,
доктор физ.-мат. наук,
профессор
Веремей Е. И.
Санкт-Петербург
2016
Содержание
Введение .............................................................................................................. 3
Постановка задачи ............................................................................................... 6
Обзор литературы ............................................................................................... 8
Глава 1. Построение трёхмерной модели человекоподобного робота ............. 9
1.1. Выбор обобщённых координат .......................................................... 10
1.2. Основные физические предпосылки и предположения ................... 11
1.3. Моделирование собственной динамики робота ................................ 12
Глава 2. Построение двумерной модели человекоподобного робота ............ 18
2.1. Выбор обобщённых координат .......................................................... 18
2.2. Основные физические предпосылки и предположения ................... 20
2.3. Моделирование собственной динамики робота ................................ 20
2.4. Моделирование внешних воздействий .............................................. 22
2.4.1. Моделирование воздействий со стороны поверхности ......... 23
2.4.2. Моделирование силы тяжести ................................................ 26
2.4.3. Моделирование остальных воздействий ................................ 27
2.5. Моделирование точки нулевого момента ......................................... 30
Глава 3. Синтез системы стабилизации ........................................................... 32
3.1. Линеаризация модели ......................................................................... 32
3.2. Построение стабилизирующего управления ..................................... 35
Глава 4. Управление шагами робота ................................................................ 41
4.1. Конечная машина состояний ............................................................. 42
4.2. Энергетический контроль . ................................................................. 45
4.3. Результаты имитационного моделирования ..................................... 46
Выводы .............................................................................................................. 48
Заключение ........................................................................................................ 49
Список литературы ............................................................................................ 50
2
Введение
Современный мир невозможно представить себе без автоматических
устройств, помогающих человеку буквально во всём, от готовки завтрака до
полёта в космос. Подобные машины существуют очень давно. К примеру,
известны автоматы, изобретённые в Древней Греции и способные открывать
двери храма при зажигании святого огня и продавать святую воду [1].
Примерно в то же время появились и первые машины, напоминающие своим
видом человека: например, на Александрийском Маяке были движущиеся
статуи женщин, которые днём занимались отбиванием склянок, а по ночам
издавали специальные сигналы, позволяющие морякам определить близость
берега [2].
В
эпоху
Возрождения
появились
первые
образцы
человекоподобных роботов. Широко известен так называемый Робот
Леонардо – человекоподобный автомат, который мог стоять, садиться,
открывать забрало доспехов, двигать шеей и руками [3]. Но вплоть до второй
половины двадцатого века роботы не могли совершать одно из главных
действий, свойственных человеку – передвигаться на двух ногах.
Одним из первых, кто занимался проблемой двуногого перемещения,
был Миомир Вукобратович – сербский учёный, специалист в области
биомеханики и робототехники. В 1968 году на третьем Всесоюзном
конгрессе по теоретической и прикладной механике в Москве он представил
на всеобщее обозрение концепцию, названную им в его дальнейших работах
начала 1970-х «точкой нулевого момента» (англ. Zero-Moment Point, ZMP) [4]
и
получившую
впоследствии
широкое
распространение.
Это
точка,
относительно которой скомпенсированы горизонтальные моменты внешних
сил. Основная идея заключается в том простом факте, что вертикальные
моменты внешних сил могут лишь разворачивать робота относительно
вертикальной оси и никак не влияют на его устойчивость. Благодаря этому,
правильно управляя положением точки, относительно которой суммарная
3
горизонтальная проекция векторов, соответствующих внешним моментам,
равна нулю, можно добиться устойчивого движения робота.
Несмотря на почти полувековую историю этого подхода, он всё ещё
является одним из самых используемых в современной робототехнике
благодаря своей изученности и относительной простоте реализации. В
качестве примеров современных человекоподобных роботов, использующих
данный подход, могут выступать роботы ASIMO (Япония), TOPIO (Вьетнам)
и
HUBO
(Южная
Корея).
Существенным
недостатком
методов,
использующих концепцию точки нулевого момента, является малая схожесть
получившегося движения с движением человека (что можно заметить,
например, наблюдая за движением робота ASIMO). Это согласуется с
распространённой гипотезой о том, что движение человека на самом деле
представляет собой «контролируемое падение» и не требует статической
устойчивости, а также косвенно показывает, что и условие
ZMP-
стабильности не является необходимым.
ZMP-критерий
становится
неприменим
в
случае
отсутствия
поддерживающей робота поверхности (общей поверхности плоскости, по
которой перемещается робот, и его ступней), называемой поддерживающим
многоугольником, и в том случае, когда площадь этой поверхности равна
нулю (т. е. если она представляет из себя точку либо кривую). В связи с этим
необходимы иные методы решения задачи стабильного перемещения
двуногого робота в пространстве. В настоящее время существуют и активно
развиваются
другие
концепции,
не
использующие
критерий
ZMP-
стабильности (например, «прыгающий робот», впервые предложенный и
разработанный Марком Райбертом, сконструировавшим в 1986 году
одноногого прыгающего робота, способного поддерживать себя в равновесии
[5]). В данной работе будет рассмотрен другой подход к движению
шагающего робота: конечная машина состояний и энергетический контроль.
Этот подход использует информацию об энергии центра масс робота и его
4
скорости и на основе этих данных позволяет формировать управляющие
моменты, действующие на отдельные детали конструкции со стороны
сервоприводов.
При
разработке
различных
систем
управления
неустойчивыми
объектами часто приходится сталкиваться с непредвиденным поведением,
способным на практике привести к авариям и поломке оборудования.
Поэтому отдельной существенной задачей при исследовании движения
двуногого
робота
является
его
математическое
и
компьютерное
моделирование. Наличие модели позволяет безопасно отработать различные
режимы управления, многие из которых, в силу особенностей разработки (в
основном
из-за
использования
упрощённых
моделей),
приводят
к
нежелательным результатам. Этой задаче посвящена отдельная часть данной
работы.
5
Постановка задачи
Конечной целью исследования является построение управляющих
воздействий на робота со стороны сервоприводов, позволяющих добиться
его устойчивого передвижения. Для реализации этой цели необходимо
построить математическую модель, описывающую динамику шагающего
робота и найти закон формирования управляющих сигналов, подаваемых на
приводы. Таким образом, можно выделить две глобальные задачи:
разработка
математической
и компьютерной
модели двуногого
шагающего человекоподобного робота;
поиск управляющих воздействий, подаваемых на объект управления,
которые необходимы для устойчивого перемещения робота.
Эти задачи являются определяющими и, в свою очередь, делятся на
несколько подзадач. Разработка математической модели требует выполнения
следующих действий:
выбор вида математической модели;
выбор способа её формирования;
разработка основных физических принципов, на основе которых будет
строиться модель (здесь же рассматривается выбор сложности модели
и глубины её детализации);
определение параметров модели;
разработка
и
отладка
программного
кода
для
формирования
имитационного моделирующего комплекса.
Последний
этап
необходим
постольку,
поскольку
символьные
выражения, получающиеся в процессе вывода модели, чрезвычайно
объёмны,
и
ручной
вывод
всех
уравнений
невозможен.
6
динамики
практически
С математической точки зрения построение модели, описывающей
динамику человекоподобного робота, можно разделить на несколько этапов:
аппроксимация робота некоторой подвижной механической системой;
выбор обобщённых координат для этой системы;
вывод уравнений, описывающих её динамику.
Задача поиска стабилизирующих управлений также делится на
несколько подзадач:
поиск управления, позволяющего перевести робота из некоторого
начального положения в некоторое желаемое конечное положение;
поиск управления, позволяющего стабилизировать систему в заданном
положении.
В свою очередь, каждая из этих подзадач делится на две другие
подзадачи более низкого уровня:
выбор структуры закона управления;
определение неизвестных параметров в рамках этой структуры.
С математической точки зрения синтез управления представляет собой
поиск некоторой функциональной зависимости управляющего сигнала
текущего состояния системы, т. е. поиск функции
где
– некоторый набор измеренных или вычисленных параметров модели.
7
от
Обзор литературы
Проблема устойчивого передвижения двуногого робота активно
обсуждается на многих конференциях, посвящённых робототехнике и теории
управления, но подавляющее большинство статей представляют собой
постановку задачи, общие слова о способе её решения и приведение
полученных результатов [6]. Достаточно подробно представлены лишь
решения, связанные с хорошо изученным методом, использующим точку
нулевого момента и связанные с ней критерии стабильности [7].
Большинство доступных материалов – статьи с международных
конференций
или
из
специализированных
журналов,
посвящённых
робототехнике, поэтому они написаны на английском языке. Существуют и
русскоязычные материалы [2], но их количество весьма невелико.
Исследования, посвящённые человекоподобным роботам, пока во
многом являются только аналитическими в том смысле, что не находят в
настоящее
время
широкого
практического
применения.
Некоторую
информацию о возможности применения подобных роботов можно найти в [8]
и [9]
8
Глава 1. Построение трёхмерной модели
человекоподобного робота
Данная
глава
посвящена
выводу
динамических
уравнений,
описывающих движение человекоподобного робота, представленного в виде
свободной механической системы с восемнадцатью степенями свободы.
Модель создаётся «с нуля», поскольку в открытых источниках отсутствуют
полноценные и должным образом описанные математические трёхмерные
модели двуногих роботов. Кроме того, детальный поэтапный вывод модели
позволяет понять, как она функционирует, и может подсказать верный
подход к выбору управления.
В данной работе модель ищется в виде системы обыкновенных
дифференциальных уравнений, а именно – в форме динамических уравнений
Лагранжа
второго
рода.
Этот
выбор
обусловлен,
во-первых,
универсальностью подхода, во-вторых, тем, что его удобно применять
именно к построению моделей механических систем, и, в-третьих, тем, что
вывод модели с использованием Лагранжевого формализма достаточно
удобно проводится с использованием вычислительных устройств.
Вывод модели через динамические уравнения Лагранжа второго рода
влечёт за собой необходимость выбора обобщённых координат. Кроме того,
система обязана быть свободной, поэтому все связи должны быть заменены
на силы реакции.
9
1.1. Выбор обобщённых координат
Выбор обобщённых координат обусловлен, прежде всего, тем, что с их
помощью удобно описывать состояние системы. Кроме того, они должны
быть удобными с точки зрения подачи управляющих сигналов. Не в
последнюю очередь стоит вопрос о наличии в обобщённых координатах
физического смысла, так как без него по результатам эксперимента трудно
определить, что именно произошло с роботом.
Для описания положения робота можно вводить различные наборы
обобщённых координат, но удобнее всего рассматривать координаты вида
, где
– некоторый набор абсолютных координат, а
–
набор относительных координат, при помощи которых можно определить
положение всех частей робота в связанной с ним системе координат.
Наиболее
удобными обобщёнными
координатами,
удовлетворяющими
описанным выше требованиям, являются абсолютные координаты связанной
с роботом системы координат, имеющей начало в точке
координаты, отображённые на рис. 1.
Z
Y
X
Рис. 1. Относительные обобщённые координаты
10
, и относительные
Положение связанной с роботом системы координат определяется
через
декартовы
прямоугольные
координаты
точки
последовательных угла поворота: относительно оси
соответственно.
Относительные
координаты
и
,
представляют
три
и
собой
последовательные углы ориентации, показывающие, каким образом бедро
отклонено от торса, голень – от бедра, а ступня – от голени. Эти координаты
являются наиболее распространёнными [6, 10, 11]. Их использование влечёт
за собой дополнительные вычисления при построении визуальной модели
робота, но они являются наиболее удобными с точки зрения управления
системой.
1.2. Основные физические предпосылки и предположения
Основным предположением, принятым в рамках данной работы при
построении математической модели робота, является предположение о его
отдельных
частях:
все
составляющие
его
звенья,
кроме
ступней,
представляются в виде тонких недеформируемых стержней, имеющих
нулевой момент инерции при вращении вокруг продольной оси. Ступни
имеют нулевую высоту.
Кроме того, при моделировании поверхности под роботом, она
предполагается упругой, но, в то же время, не совершающей колебаний без
усилий, приложенных извне. Это соответствует, например, передвижению по
бетону,
паркету
или
иным
достаточно
твёрдым
поверхностям,
не
сохраняющим форму под воздействием небольших внешних возмущений.
Предполагается, что робот движется в однородном постоянном поле
тяжести, линии которого перпендикулярны поверхности, по которой он
движется.
11
1.3. Моделирование собственной динамики робота
Под моделированием собственной динамики робота подразумевается
моделирование его движения без учёта внешних сил. Иными словами,
моделирование той части уравнений динамики, которая зависит только от его
механической модели и не зависит от окружающей среды.
Подробный вывод всех утверждений, приведённых в данном параграфе
без доказательств, можно найти в работе [12].
Модель строится в виде динамических уравнений Лагранжа второго
рода, которые имеют вид
Здесь введены следующие обозначения:
– кинетическая энергия системы,
– вектор обобщённых координат,
– вектор обобщённых сил, действующих на систему.
В общем случае эти уравнения можно привести к виду
так как кинетическая энергия
в общем виде представима как
12
а полная производная по времени от неё и от её частных производных может
быть найдена по формуле
В случае стационарной механической системы, каковой является робот с
жёсткими звеньями (а именно такими они приняты в рамках данной работы),
кинетическая энергия имеет вид
функция
а матрица
не зависит явно от времени и может быть выражена как
, называемая здесь и далее матрицей инерции, может быть
получена как
Здесь и далее
обозначает количество обобщённых координат системы,
равное количеству степеней свободы робота. Для трёхмерного робота это
число обычно лежит в пределах от 8 до 20. В данной главе, как уже было
сказано ранее, рассматривается механическая система с восемнадцатью
степенями свободы.
Таким образом, задача моделирования
собственной динамики робота
сводится к поиску явной зависимости его кинетической энергии от
обобщённых координат и обобщённых скоростей. Из кинематики твёрдого
тела известно, что эта зависимость имеет вид
13
Здесь введены следующие обозначения:
– количество отдельных звеньев робота (в данной работе при
выводе модели оно принимается равным семи: торс, два бедра, две
голени и две ступни),
– масса -го звена,
– радиус-вектор центра масс -го звена,
– угловая скорость -го звена,
– тензор инерции -го звена.
Для явного выражения кинетической энергии
через обобщённые
координаты и обобщённые скорости необходимо и достаточно выразить
через них радиус-векторы центров масс отдельных деталей, их угловые
скорости и тензоры инерции.
Введём
несколько
обозначений.
Под
ортогональную матрицу поворота вокруг оси
обозначает матрицу поворота вокруг оси
Через
на угол
на угол
будем обозначать радиус-вектор точки
имеющей началом точку
Например,
. При этом
в системе координат,
будем
в системе координат, имеющей началом
обозначает радиус-вектор точки
координат с началом в точке
понимать
Например,
(рис. 2). Аналогично, через
обозначать радиус-вектор точки
точку
будем
в системе
и является вектором с постоянными
компонентами:
14
Z
Y
X
Рис. 2. Положения центров связанных со звеньями систем координат
и центров масс
Для того чтобы вычислить векторы
в абсолютной системе координат,
будем последовательно переводить векторы
из одной системы координат
в другую согласно следующей иерархии:
Векторы, полученные в системе координат с центром в точке
, будем
переводить в абсолютную систему координат при помощи матрицы
ориентации
, описывающей глобальное расположение робота
пространстве. Рассмотрим эту процедуру на примере вектора
:
15
в
Полученное выражение для вектора
декартовых координат вектора
представляют
собой
зависит от постоянной величины
,
и углов поворота, которые как раз и
обобщённые
координаты.
Теперь
рассмотрим
выражения для угловых скоростей.
Угловые скорости для каждого отдельного звена можно найти из
выражения
где
– столбцы матрицы ориентации звена относительно абсолютной
системы координат, которая, в свою очередь, может быть получена как
последовательное произведение матриц ориентации связанных со звеньями
робота
систем
координат
в
порядке,
определяемом
иерархической
структурой робота. Например, для правой стопы робота матрица ориентации
относительно абсолютной системы координат (обозначим её
) имеет
вид
Для окончательного выражения кинетической энергии через обобщённые
координаты и скорости осталось найти тензоры инерции для каждого
отдельного звена. Будем руководствоваться тем же принципом, что и для
радиус-векторов центров масс: сначала определим тензор инерции для
системы координат, связанной с центром масс звена (вместо обозначения
этом случае будем использовать обозначение
в
), а потом с помощью матриц
ориентации получим его выражение в абсолютной системе координат.
Рассмотрим, опять же, на примере правой ступни робота. Для неё тензор
инерции, определённый в системе координат, связанной с центром масс,
имеет вид
16
Здесь
– ширина ступни (её линейный размер вдоль оси
(линейный размер вдоль оси
. Теперь тензор инерции
,
– длина
в абсолютной
системе координат можно получить как
Повторив предыдущие действия для каждой отдельной детали робота,
получим
выражение
для
кинетической
энергии
через
обобщённые
координаты и обобщённые скорости. Построенная в среде MATLAB®
трёхмерная модель двуногого робота показана на рис. 3.
Рис. 3. Положение робота, заданное углами
Моделирование вектора обобщённых сил
следующей главе.
17
будет рассмотрено в
Глава 2. Построение двумерной модели
человекоподобного робота
Динамическая трёхмерная модель робота, хоть и представляет больший
интерес, чем двумерная, оказывается слишком сложной для вывода даже с
помощью вычислительной техники, которая находится в распоряжении
автора данной работы. Поэтому было принято решение использовать более
простую, двумерную модель, имеющую схожую структуру. В данной главе
будет рассмотрен её вывод в виде динамических уравнений Лагранжа
второго рода. Будут отмечены некоторые особенности двумерной модели,
позволяющие упростить процесс вывода.
2.1. Выбор обобщённых координат
Обобщённые координаты выбираются по тем же критериям, что и для
трёхмерной модели: удобность описания, управления и наличие физического
смысла. Оптимальным набором обобщённых координат, удовлетворяющим
этим требованиям, является аналог трёхмерного набора, рассмотренного в
предыдущей главе. Отличия проявляются в том, что вращение в плоскости
возможно только вокруг оси, перпендикулярной ей, поэтому количество
возможных поворотов и, соответственно, количество степеней свободы резко
уменьшается по сравнению с трёхмерной моделью. Двумерная модель,
которая
будет
рассмотрена
далее,
имеет
семь
степеней
свободы,
соответствующие выбранным обобщённым координатам. Они показаны на
рис. 4. Расположение центров масс отдельных частей робота и точек отсчёта
для различных систем координат, связанных с частями робота, можно
увидеть на рис. 5. Стоит отметить, что точки
системы координат совпадают, а точки
,
и связанные с ними
и
не связаны с какой-либо
частью робота и нужны лишь для отрисовки модели и определения точек
соприкосновений ног робота с поверхностью, по которой он передвигается.
18
Рис. 4. Обобщённые координаты
Рис. 5. Положение центров масс отдельных частей робота и точек отсчёта систем
координат, связанных с ними.
19
2.2. Основные физические предпосылки и предположения
Физическая сторона моделирования остаётся такой же, как и в случае
моделирования трёхмерной модели. Предполагается, что робот состоит из
тонких однородных стержней, имеющих нулевой момент инерции при
вращении вокруг продольной оси и движется в однородном постоянном поле
тяжести, линии которой перпендикулярны упругой поверхности, по которой
робот движется. Стопы робота не моделировались. Это несколько уменьшает
устойчивость робота, но в двумерно случае для устойчивого положения
достаточно двух точек опоры. С другой стороны, отсутствие стоп упрощает
вычисления, что является более важным для рассматриваемой двумерной
модели, так как она строилась вместо трёхмерной именно из-за её
относительной вычислительной простоты.
2.3. Моделирование собственной динамики робота
Проведём ту же процедуру, что и для трёхмерного случая. Выпишем
выражение для кинетической энергии робота:
В двумерном случае это выражение несколько упрощается. Рассмотрим, для
начала, тензоры инерции. Они, как и раньше, представляются в виде
,
где, как и прежде,
означает матрицу перехода от системы координат,
связанной с ым звеном, к абсолютной системе координат, а
инерции
– тензор
звена в системе координат, связанной с её центром масс.
Матрица перехода к абсолютной системе координат представляет собой
последовательное произведение матриц перехода от одной системы
20
координат к другой, но, так как все повороты осуществляются только
относительно оси
, любая такая матрица имеет вид
,
где
(3)
– угол поворота относительно предыдущей (согласно иерархии (1))
системы координат. Результирующая матрица представляет собой матрицу
такого же вида, поскольку для любых углов поворота
верно, что
.
Тензор инерции
звена в системе координат, связанной с её центром
масс, имеет вид
.
– центральные моменты инерции
Здесь
образом,
звена. Таким
имеет вид
Все части робота вращаются только вокруг оси
, поэтому все
угловые скорости представляются в виде
.
Следовательно, выражения вида
на самом деле можно считать как
,
что значительно упрощает расчёты.
21
Для вычисления угловой скорости можно воспользоваться теоремой об
угловой скорости тела, участвующего в сложном движении. Согласно ей,
угловая скорость абсолютного движения равна сумме угловых скоростей
всех составляющих этого движения. Т. е., например, угловую скорость
голени робота можно вычислить как сумму угловых скоростей её движения
относительно бедра, бедра относительно торса и торса относительно
абсолютной системы координат (см. рис. 5). Из того, что все части
вращаются вокруг одной оси, следует, что угловая скорость равна
производной по времени от угла вращения. К такому же выводу можно
прийти, воспользовавшись формулой (2) и применив её к матрице вида (3).
Таким образом, угловую скорость, например, правой голени робота можно
вычислить как
Аналогичным образом вычисляются все остальные угловые скорости.
Далее вывод повторяет произведённые ранее действия для трёхмерной
модели.
2.4. Моделирование внешних воздействий
Данный параграф посвящён моделированию оставшейся незатронутой
части уравнений Лагранжа, а именно – вектора обобщённых сил .
Предполагается, что робот движется по упругой поверхности в
однородном постоянном поле тяжести. Кроме того, он может подвергаться
каким-либо непредвиденным внешним воздействиям. В качестве примера
такого воздействия будет рассмотрен ветер.
22
2.4.1 . Моделирование воздействий со стороны
поверхности
Моделирование
воздействий
со
стороны
поверхности
–
это
моделирование сил реакции опоры. Отдельно моделируются нормальные и
тангенциальные составляющие. Тангенциальные составляющие – это силы
трения. Точки приложения сил показаны на рис. 6.
Рис. 6. Нормальные и тангенциальные составляющие сил реакции опоры
В рамках данной работы нормальные силы, возникающие в точках
касания
роботом
поверхности,
моделируются
демпфированием:
23
как
пружина
с
При этом пропорциональный коэффициент
выбирается таким образом,
чтобы избежать сколько-нибудь значительного продавливания поверхности
ногами робота, а коэффициент демпфирования
исключить
возможность
собственных
выбирается так, чтобы
колебаний,
т. е.
так,
чтобы
дифференциальное уравнение
имело решения только в виде затухающих экспонент. Для этого необходимо
и достаточно, чтобы корни характеристического многочлена
были различны, вещественны и лежали в левой открытой полуплоскости.
Очевидно, это будет выполнено тогда и только тогда, когда
Силы трения, действующие на ноги робота, вычисляются из тех же
соображений. Именно:
Разница заключается в том, что отклонение в этом случае считается от точки
соприкосновения ноги с поверхностью. Кроме того, на силу сухого трения
накладывается ограничение:
где
– коэффициент сухого трения. При превышении заданного порога силы
сухого трения переходят в силы трения скольжения:
24
где
– коэффициент трения скольжения.
Все силы реакции действуют только при условии касания ногой
поверхности. Этот факт влечёт за собой сильную нелинейность системы и
серьёзно усложняет процесс анализа её поведения.
Для уравнений Лагранжа необходимо найти обобщённые силы,
порождённые силами реакции. В соответствии с теорией, обобщённую силу,
действующую по направлению ой обобщённой координаты со стороны
поверхности, можно получить в виде
где сумма берётся по всем точкам
тела и силам
, приложенным к точкам
тела. По сути, эта континуальная сумма представляет собой интеграл. Но в
силу того, что силы приложены только к двум точкам (
и
), от всей
суммы остаётся лишь два конечных слагаемых:
где
Итоговая обобщённая сила реакции будет равна сумме этих двух сил:
25
2.4.2 . Моделирование силы тяжести
Сила тяжести, как показано на рис. 7, приложена к центру масс робота и
действует вниз перпендикулярно поверхности, по которой он движется.
Рис. 7. Сила тяжести
Сила тяжести является потенциальной силой, поэтому если
то обобщённую силу, действующую по направлению
– её потенциал,
ой обобщённой
координаты, можно получить по формуле
Явную зависимость потенциала силы тяжести от обобщённых координат
можно получить как
где
–
-координата центра масс робота,
– ускорение свободного
падения. Радиус-вектор центра масс ищётся по формуле
26
где
– суммарная масса всех частей робота.
2.4.3 . Моделирование остальных воздействий
Остальные воздействия на робота моделируются так же, как сила
тяжести и реакции опоры. В качестве примера рассмотрим моделирование
силы ветра.
Основной характеристикой ветра будем считать его давление
выраженное в
,
. Ширину робота в его проекции на плоскость,
перпендикулярную направлению ветра, можно считать примерно постоянной
и равной
(ширина каждой ноги составляет , а спины –
. Пусть ветер
дует в горизонтальной плоскости по направлению движения робота, а его
скорость на любой высоте, меньше высоты робота, является постоянной. В
этом случае силовое поле, создаваемое ветром, является однородным.
Аналогично случаю вычисления обобщённых сил реакции опоры,
обобщённые силы вдоль каждой ой обобщённой координаты, порождённые
силой ветра можно получить по формулам
Покажем, что эту континуальную сумму можно представить в виде
конечной.
Сумму необходимо считать по всем точкам. находящимся на фигуре
(см.
рис.
5).
Сила
действующая на точку с радиус-вектором , может быть найдена как
27
,
Рис. 8. Распределение силы ветра
или
в зависимости от того, где находится точка
: на спине или на ногах;
–
бесконечно малая высота точки. Тогда сумму можно переписать:
Рассмотрим
подробнее
находящуюся на отрезке
последний
интеграл.
Любую
точку,
, можно представить в виде выпуклой
линейной комбинации его концов. Следовательно,
Распишем интеграл с учётом этого:
28
В точке
, а в точке
, поэтому в силу
линейности преобразования над точками робота получаем
Следовательно,
Аналогичным образом каждый частичный интеграл можно представить
в виде суммы произведений частных производных от
координат его концов
на полувысоту соответствующего сегмента. Сила ветра, в любом случае,
вычисляется лишь примерно, поэтому для простоты вычислений можно
предположить, что высота всех сегментов совпадает и равна, например,
где
– высота робота (см. рис. 8). Тогда исходный интеграл равен
29
,
и, если обозначить точку
как
а силу ветра как
где
имеет смысл характерной площади проекции робота на плоскость,
перпендикулярную скорости ветра, то исходную сумму можно переписать в
виде одного слагаемого:
2.5. Моделирование точки нулевого момента
Точка нулевого момента (англ. Zero Moment Point, ZMP) – это точка,
относительно
которой
скомпенсированы
моменты
внешних
сил
в
горизонтальной плоскости. Она часто используется для определения
динамической устойчивости робота. Справедливо следующее утверждение:
Движение робота будет динамически устойчивым, если ZMP
находится внутри поддерживающего многоугольника.
В данной работе управление движением осуществляется независимо от
положения ZMP, а сама точка используется лишь для исследования
полученных результатов на предмет соответствия их достаточному условию
стабильности, указанному выше. Тем не менее, даже для этого необходимо
моделировать положение ZMP. В общем случае положение этой точки
определяется следующими выражениями:
30
равняется высоте поверхности, по которой движется робот. Данные
выражения, хоть и являются точными, сложны для вычисления в режиме
реального времени и поэтому редко используются на практике. Гораздо чаще
применяются упрощённые формулы для расчёта ZMP, которые выводятся из
так называемой модели «тележка на столе» (англ. Cart-Table model, рис. 9).
g
Рис. 9. Cart-Table модель
В рамках этой модели робот приближается тележкой, совпадающей по
положению с центром его масс и «столом», по которому она движется.
Горизонтальный момент в этой двумерной модели существует лишь один, и
он направлен по оси
. Запишем уравнение равенства нулю этого момента с
учётом сил инерции:
.
Здесь учтено, что вертикальная координата точки нулевого момента равна
нулю. Отсюда получаем несложное для вычисления в режиме реального
времени выражение для нахождения горизонтальной координаты:
31
Глава 3. Синтез системы стабилизации
В этой главе рассматривается процесс синтеза управляющих моментов,
порождаемых сервоприводами робота и позволяющих стабилизировать
некоторое желаемое положение. Для этого система уравнений динамики
линеаризуется в окрестности желаемого положения и приводится к
уравнениям LTI-модели в ss-форме.
3.1. Линеаризация модели
Выпишем имеющуюся нелинейную модель, описывающую динамику
системы:
Здесь
– семимерный вектор состояния, состоящий из обобщённых
координат робота:
переменная
описывает внутреннюю, инерционную составляющую
воздействующих на робота сил и ищется в виде
переменная
представляет внешнюю составляющую, то есть определяет
влияние на робота сил реакции опоры, силы тяжести и прочих возмущений, в
качестве которых, в частности, выступает сила ветра:
а
представляет собой управляющие моменты, действующие на робота со
стороны сервоприводов:
32
Аналитически
разрешить
эту
систему
относительно
старших
производных не удаётся в силу её существенной сложности, но в окрестности
положения
, которое необходимо стабилизировать, можно исходить из
предположения о постоянности матрицы инерции. В этом случае система
принимает вид
и её можно линеаризовать стандартными методами. Выпишем итоговый вид
линеаризованной системы:
(4)
Здесь
–
-мерный вектор состояния, состоящий из обобщённых координат
и обобщённых скоростей:
– блочная матрица, имеющая вид
где блоки
и
представляются выражениями
В общем случае внешние силы, включающие в себя силы реакции
опоры, не являются дифференцируемыми, но в фиксируемом положении
робота
имеем
,
что
является
достаточным
условием
дифференцируемости, так как все точки недифференцируемости приходятся
33
на моменты отрывания ног от поверхности и на начало и конец
проскальзывания ног по ней.
Переменная
представляет
собой
вектор
с
постоянными
компонентами, состоящий из известных обобщённых сил, действующих на
робота в стабилизируемом положении
. К ним относятся внутренние
инерционные силы, сила тяжести и силы реакции опоры:
в то время как вектор
состоит из неизвестных обобщённых сил, таких как
сила ветра и отклонения известных сил от значений, вычисленных для
заданного положения
где матрица
:
не определяется однозначным образом из вида исходной
системы, но обязана удовлетворять требованию
для любого вектора
(
– размерность вектора управления,
являющаяся свободным параметром), а потому иметь вид
где
имеет размерность
.
34
3.2. Построение стабилизирующего управления
Добавим в имеющуюся линеаризованную в окрестности желаемого
положения систему (4) уравнение измерения
где
представляет собой набор некоторых измеренных или вычисленных
параметров робота, от которых будет зависеть управление :
В данной работе предполагается, что измерению подлежат углы и угловые
скорости, т. е. матрица
имеет вид
Целью синтеза является стабилизация робота в желаемом заданном
положении. Положение робота при условии, что он находится на земле,
полностью определяется углами
и
(см. рис. 4). Если ввести
обозначение
то задачу стабилизации можно записать в виде
(5)
где
– подвектор из последних пяти компонент
, а в качестве нормы
может выступать произвольная норма в пространстве
согласованности в конечномерном случае.
35
в силу их
Основная проблема заключается в том, что система (4) не имеет
нулевого положения равновесия, поэтому равенство (5) не может быть
достигнуто в точности, и задача стабилизации выполнима лишь в виде
Из теории управления линейными системами известно [13], что в
случае постоянного внешнего воздействия
при нулевых начальных
условиях норма реакции LTI-системы пропорциональна норме
, поэтому
одной из задач синтеза является уменьшение влияние вектора
. С этой
целью управление будет строиться в виде
где
будет выполнять функцию устранения известных влияний
положении
а
в
:
– функцию стабилизации системы в этом положении.
Вернёмся к проблеме выбора матрицы
управления. Очевидным вариантом является выбор
и размерности вектора
в виде
(6)
при котором размерность вектора управления принимается равной четырём,
а его компоненты представляют собой непосредственно управляющие
моменты, действующие на робота со стороны сервоприводов:
где
являются компонентами вектора управления.
Другим, менее очевидным, способом представления является выбор
матрицы
, исходящий из следующих соображений: предположим, что
36
существует виртуальный внешний сервопривод, напрямую контролирующий
угол
. Тогда вектор управляющих моментов приобретает ещё один
ненулевой элемент:
а матрицу
можно выбрать как
К сожалению, на самом деле такого сервопривода нет, но можно заметить,
что моменты, воздействующие на углы
и
косвенно влияют на угол
(см. рис. 4), так как, например, при попытке их увеличения при условии, что
ноги робота находятся на поверхности, кроме углов
будет изменён и угол
и
обязательно
, а именно – уменьшен ровно настолько, насколько
увеличится каждый из углов. Исходя из этого, момент, который должен
создавать
виртуальный
сервопривод,
можно
с
обратным
воспроизводить на реальных сервоприводах, контролирующих углы
Таким образом, с этой точки зрения матрицу
знаком
и
.
при условии нахождения
обеих ног робота на поверхности целесообразно выбрать в виде
(7)
Эти рассуждения подтверждаются тем фактом, что при выборе (7)
выражение
оказывается приблизительно в 16 раз меньше, чем при выборе (6).
Управление
и
интегральной
строится в виде суммы пропорционального регулятора
составляющей,
введённой
астатических свойств:
37
для
придания
системе
В силу отсутствия специфических ограничений на управляющие моменты,
пропорциональный регулятор изначально строился с использованием LQRоптимального синтеза [13]:
В общем случае управление ищется в виде
, а не
, но в случае
стабилизации заданного положения весь вектор состояния можно считать
измеряемым, так как принятая неизмеряемой обобщённая координата
влияет на стабилизацию робота, а обобщённая координата
не
может быть
получена как координата центра масс относительно ног робота в силу того,
что они обязательно находятся на земле.
Графики переходных процессов представлены на рис. 10.
Рис. 10. Переходные процессы в замкнутой системе
Отклонения по углам от начального положения в этом случае оказываются
достаточно велики, а потому возникает вопрос адекватности поведения
модели в целом, так как при линеаризации матрица инерции, существенно
зависящая от положения робота, принимается постоянной. Было принято
38
решение усилить входные сигналы, проведя ряд тестов с различными
коэффициентами жёсткости системы :
(8)
Результаты тестов приведены на рис. 11.
Рис. 11. Максимальные угловые моменты, углы и угловые скорости
Видно, что, несмотря на увеличение жёсткости системы, максимальный
угловой
момент,
пропорционально
создаваемый
коэффициенту
сервоприводами,
жёсткости
,
не
а
увеличивается
стабилизируется
приблизительно на уровне 90 Н·м. При принятой массе робота в 30 кг это
значение весьма невелико, так как не позволяет роботу даже полностью
поднять ногу,
а
потому
может считаться
допустимым.
При
этом
максимальные отклонения углов и угловых скоростей от номинальных
становятся незначительными.
В
окрестности
наблюдается
локальный
минимум
максимального углового момента, поэтому это значение было принято
итоговым. Графики переходного процесса представлены на рис. 12.
39
Рис. 12. Переходные процессы, полученные с использованием пропорционального
регулятора (8) с
40
Глава 4. Управление шагами робота
В этой главе рассматривается синтез автоматического управления для
перевода робота из начального положения
, отличающееся от исходного координатой
в некоторое другое положение
. Таким образом, робот будет
передвигаться вдоль горизонтальной оси. В качестве начального положения
было взято положение
Это положение представлено на рис. 4: оно является положением равновесия
линейной системы, полученным в предыдущей главе.
В
силу
технической
неразрешимости
уравнений
динамики
относительно старших производных в общем случае линеаризация их
относительно некоторого заданного программного движения оказывается
затруднительной, поэтому было принято решение строить управление в виде
ПИД-регулятора:
где
означает динамическую фазу, в которой находится робот. Все
моменты, действующие на робота со стороны сервоприводов, ограничены
сверху величиной
Матрица
= 90 Н·м, полученной в предыдущей главе:
также зависит от фазы и выбирается из набора
где матрицы
находятся как
41
Физический смысл выбора матрицы
состоит в передаче управляющего
момента «виртуального» сервопривода, действующего на торс робота, на
сервопривод ноги, касающейся поверхности в данный момент, либо на обе,
если робот обеими ногами стоит на земле.
Управление зависит от
и , которые считаются измеренными.
Им соответствует уравнение измерений
4.1. Конечная машина состояний
Конечная машина состояний (англ. Finite State Machine) – это конечный
набор состояний системы, которые она должна преодолеть для совершения
одного полного цикла (одного шага). В данной работе использовались четыре
основных состояния, показанные на рис. 13.
Рис. 13. Конечная машина состояний
42
Каждое состояние описывается набором угловых параметров
(
в
данном случае обозначает динамическую фазу, в которой находится робот)
и/или условием перехода в следующее состояние. Все приведённые углы
будут даны для случая, когда при шаге «правая» нога, которой соответствуют
углы
и
, изначально находится впереди. Остановимся подробнее на
каждом состоянии.
Четвёртое состояние, которое является одновременно начальным
(нулевым) для следующего цикла, описывается набором углов
обозначаемым в дальнейшем
. Это состояние, в отличие от остальных,
является статическим – именно в нём робот стабилизируется. Процесс
перехода в первое состояние начинается при выполнении условий
где в качестве
берутся некоторые небольшие числа, при моделировании
имевшие порядок
абсолютные
–
отклонения,
. Ограничения накладывались именно на
поскольку
относительные
отклонения
для
горизонтальной координаты не имеют смысла в силу её произвольности
(робот может начинать движение, имея произвольную горизонтальную
координату), а для углов в силу того, что они могут принимать нулевые
значения и деление на них может быть невозможным.
Первое состояние описывается набором углов
В первой фазе робот отталкивается от поверхности одной ногой, в то же
время несколько наклоняя торс для набора энергии центром масс и
совершения последующего шага. Более подробно контроль энергии центра
масс, с которым связано условие перехода во вторую фазу, будет рассмотрен
в следующем параграфе.
43
Второе состояние описывается набором углов
Вторая фаза необходима для перемещения левой ноги вперёд и переноса
центра масс вслед за ней, после чего робот начинает «падать» на левую ногу
для последующей опоры на неё и смены, таким образом, опорной ноги.
Фактически, второе состояние роботом никогда не достигается. Достаточным
условием для возможности продвижения вперёд и смены опорной ноги
является перенос центра масс через единственную точку опоры робота на
поверхность. Формально это записывается как
В третьей робот стремится занять положение
Угол
принимается равным углу, достигнутому на предыдущем этапе.
Поскольку максимальные усилия со стороны сервоприводов ограничены,
занять это положение робот не может. В силу того, что центр масс уже
перенесён через опирающуюся на поверхность ногу, робот «падает» на
маховую ногу. Как только обе его ноги оказываются на земле, начинается
подготовка к стабилизации робота в положении
: для предотвращения
падения робота через опущенную ногу энергия его центра масс должна быть
сброшена. После её сброса робот переходит в фазу стабилизации, пытаясь
перейти в положение
. Как только это положение с некоторой точностью
становится достигнутым, система контроля переключается на линейный
регулятор, полученный в предыдущей главе, и цикл запускается снова.
44
4.2. Энергетический контроль
Энергетический контроль центра масс применяется тогда, когда роботу
необходимо разогнаться для совершения шага или затормозить для
стабилизации. Суть метода заключается в следующем: робот трактуется как
обратный маятник, имеющий точку опоры в точке соприкосновения робота с
поверхностью и вершину в точке, соответствующей центру масс робота (рис.
14).
Рис. 14. Представление робота обратным маятником
В случае, когда необходимо разогнаться, для обратного маятника
выводится условие, при котором он перейдёт через верхнюю точку
неустойчивого равновесия и начнёт падать в сторону движения робота. Это
позволяет роботу сделать очередной шаг. В обратном же случае, когда
роботу необходимо затормозить перед стабилизацией, условие работает в
обратную сторону: робот отталкивается передней ногой от поверхности до
тех пор, пока энергия центра масс не уменьшится до значения, не
позволяющего обратному маятнику пересечь верхнее положение.
45
Формально эти условия могут быть выведены двумя путями. Первый
заключается в составлении дифференциального уравнения для обратного
маятника:
а второй – в прямом выписывании необходимой энергии, которая должна
иметься у вершины маятника для преодоления верхнего положения
равновесия:
Оба подхода дают условие на горизонтальную скорость центра масс вида
и различаются лишь коэффициентом . В случае, когда роботу необходимо
прекратить движение, знак неравенства меняется на противоположный.
Коэффициент
при моделировании считался свободным параметром и его
оптимальные значения находились методом дихотомического перебора при
начальном значении
.
4.3. Результаты имитационного моделирования
Некоторые результаты моделирования динамики робота приведены на
графиках, представленных ниже.
Рис. 15. Перемещение центра масс робота по вертикальной оси с течением времени
46
Рис. 16. Перемещение центра масс робота и точки нулевого момента вдоль
горизонтальной оси с течением времени
Рис. 17. Перемещение точки нулевого момента и нижних точек ног робота вдоль
горизонтальной оси с течением времени
На рис. 15 и рис. 16 представлены графики зависимости положения
центра масс робота и точки нулевого момента от времени. Робот двигался в
течение 12 секунд, переместившись на 8 метров по горизонтальной оси и
завершив 4 полных шаговых цикла. Из графика, показанного на рис. 16,
видно, что перемещение центра масс вдоль горизонтальной оси было
практически равномерным со скоростью около 0.84 . График, показанный на
рис. 17, наглядно демонстрирует, что условие ZMP-стабильности не является
необходимым для устойчивого передвижения робота, поскольку точка
нулевого момента регулярно выходит даже из гипотетически возможной
зоны опоры робота, находящейся между его ногами.
47
Выводы
В данной работе получены следующие основные результаты:
1. Рассмотрен способ практического получения трёхмерной модели
шагающего человекоподобного робота с 18-ю степенями свободы.
2. Представлен и применён способ построения двумерной модели с 7-ю
степенями свободы для шагающего человекоподобного робота.
3. Получены математические модели внешних воздействий, которым
подвергается робот при перемещении по горизонтальной поверхности.
4. Синтезировано управление, позволяющее роботу выполнять шаги из
заданного начального положения вдоль горизонтальной оси
стабилизироваться в конце движения.
48
и
Заключение
Рассмотренный в данной работе подход к построению математической
модели шагающего робота является универсальным в том смысле, что он
применим к произвольным механическим системам, а потому может быть
использован для моделирования не только человекоподобных, но и других
видов
роботов
с
иным
числом
опорных
конечностей.
Раздельное
моделирование собственной динамики и внешних воздействий также
предоставляет широкие возможности к обобщению полученных результатов
на другие типы поверхностей произвольной формы и свойств при
сохранении неизменной базовой конструкции робота.
Синтезированное управление для передвижения двумерного робота в
реальности согласуется с передвижением трёхмерного робота с достаточно
широкими ступнями по прямолинейной траектории и технически может быть
проверено на реальной модели.
49
Список литературы
1. Greek Automata. http://www.ancient-wisdom.com/greekautomata.htm
2. Макаров И. М., Топчеев Ю. И. Робототехника: История и перспективы.
М.: Наука; Изд-во МАИ, 2003. 349 с.
3. Moran M. E. The da Vinci Robot. // Journal of Endourology, 2007. Vol. 20,
No 12. P. 986–990.
4. Vukobratovic M., Borovac B. Zero-Moment Point – thirty five years of its life.
// International Journal of Humanoid Robotics, 2004. Vol. 1, No 1. P. 157–173
5. Murthy S. S., Raibert, M. H. 3D balance in legged locomotion: modeling and
simulation for the one-legged case // ACM SIGGRAPH Computer Graphics,
1984. Vol. 18, No 1. P. 27–27
6. Ono K., Takahashi R., Shimada T. Self-Excited Walking of a Biped
Mechanism // The International Journal of Robotics Research, 2001. Vol. 20,
No 12. P. 953–966
7. Dekker M. H. P. Zero-Moment Point method for stable biped walking.
Eindhoven: University of Technology, 2009. 62 с.
8. Humanoid robots / Ed. by B. Choi. Vienna: In-Tech, 2009. 396 с.
9. Humaniod robots – new developments. / Ed. By A. C. de Pina Filho.
Vienna: In-Tech, 2007. 591 с.
10. Alimi A M., Cherif B A., Rokbani N. Toward intelligent biped-humanoids
gaits generation // Humanoid robots / Ed. by B. Choi. Vienna: In-Tech, 2009.
P. 261-272.
11. Al-Shuka H F N.,
Corves B J.,
Zhu W H.,
Vanderborght B. A.
Simple
algorithm for generating stable biped walking patterns // International Journal
of Computer Applications, 2014. Vol. 01, No 4. P. 29–33
12. Ермолин В С., Королев В С., Потоцкая И Ю. Теоретическая механика.
Часть 2. Кинематика. СПб.: Изд. Дом С.-Петерб. гос. ун-та, 2012. 223 с.
13. Веремей Е. И. Линейные системы с обратной связью: учебное пособие.
СПб.: Изд. «Лань», 2013. 448 с.
50
Отзывы:
Авторизуйтесь, чтобы оставить отзыв