Санкт-Петербургский государственный университет
Кафедра механики управляемого движения
Бубнов Владислав Владимирович
Выпускная квалификационная работа бакалавра
Построение траекторий в задаче прямохождения
010400
Прикладная математика и информатика
Научный руководитель,
кандидат физ.-мат. наук,
доцент
Латыпов В.Н.
Санкт-Петербург
2016
Содержание
Введение . . . . . . . . . . . . . . . . . . . . . .
Постановка задачи . . . . . . . . . . . . . . . . .
Обзор литературы . . . . . . . . . . . . . . . . .
Глава 1. Управление . . . . . . . . . . . . . . . .
1.1. Опорные траектории . . . . . . . . . . .
1.2. Управляющие моменты . . . . . . . . . .
1.3. Интегрирование уравнений движения . .
1.4. Пример . . . . . . . . . . . . . . . . . . .
Глава 2. Построение траекторий . . . . . . . . .
2.1. Rapidly Exploring Random Tree . . . . . .
2.2. Адаптация алгоритма RRT . . . . . . . .
2.2.1. Начальные данные . . . . . . . . . .
2.2.2. Генерация величин . . . . . . . . . .
2.2.3. Добавление вершины . . . . . . . .
2.2.4. Аппроксимация . . . . . . . . . . .
Глава 3. Эксперименты . . . . . . . . . . . . . .
3.1. Описание работы расчетной программы
3.2. Пример работы расчетной программы .
Заключение . . . . . . . . . . . . . . . . . . . . .
Список литературы . . . . . . . . . . . . . . . .
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
4
6
7
7
8
10
12
14
14
16
16
16
17
19
20
20
21
23
24
Введение
Человечество с давних времен грезило о создании антропоморфного
механизма, способного выполнять задачи нехуже человека. Возможность
заменить человека в опасных для его здоровья условиях, тестирование защитных костюмов, экзоскелеты, обслуживание клиентов в компаниях и
многие другие области применения человекоподобных роботов привлекают умы и деньги со всего мира участвовать в разработках алгоритмов для
решения задач, с которыми обычный человек сталкивается ежедневно.
Большинство ученых из разных стран пытаются воплотить эту мечту,
участвуя в создании искусственного интелекта, близким по характеристикам к человеческому. Машинное обучение, моделирование мыслительных
процессов, машинное творчество — направления, исследования в которых
проводятся последние годы особо активно.
Также актуальной остается задача механического движения и, в частности, перемещения антропоморфных механизмов, методы решения которой стали активно предприниматься еще в 70-ые годы XX века. Некоторые
популярные методы основаны на ведении робота по заранее заданным траекториям [1], [2]. В подобных алгоритмах с учетом динамики механизма
определяется траектория движения во время одного шага, а ходьба или
бег основываются на цикличном повторении этой траектории с соответствующей сменой ног.
В случае наличия на пути робота препятствий задача конструирования функций перемещения значительно усложняется. В таких ситуациях
траектории требуется вычислять, основываясь не только на динамике самого механизма, а также и на расположении, форме и состоянии объектов
в окружающей среде робота.
В данной работе рассмотрена и реализована модификация вероятностного алгоритма планирования [3] движений робота для построения
траекторий пятизвенного шагающего механизма по заданной поверхности.
В первой главе рассмотрен метод управления механизмом, основанный на
следовании заранее заданным траекториям, а также приведен пример. Во
второй главе предложен алгоритм для построения функций перемещения
робота с учетом его динамики и карты местности. В третьей главе рассмотрена реализация этого метода и численный эксперимент.
3
Постановка задачи
Рассматривается пятизвенный двуногий шагающий механизм с безмассовыми стопами в сагиттальной плоскости Рис. 1. Все звенья соединяются между собой идеальными (без трения) шарнирами. О разумности
исследования такой модели говорится в работе [1]. Для описания конфигурации робота введем обобщенные координаты q = [x, y, θ0 , θ1 , θ2 , θ3 , θ4 ],
определенные в инерциальной системе координат XY (ось X направлена
по горизонтали, ось Y направлена вертикально вверх). Обозначим x, y —
Рис. 1: Пятизвенный двуногий механизм с безмассовыми стопами
координаты тазобедренного сустава, θi — углы между вертикалью и звеньями. Угол является положительным, если звено отклоняется от вертикали
в направлении, противоположном ходу часовой стрелки.
Ходьба двуногого шагающего механизма состоит из двух основных
положений: двухопорная фаза, в которой обе ноги робота контактируют
с поверхностью, и одноопорная фаза, в которой лишь одна нога на земле. Каждая из этих фаз накладывает свои ограничения на перемещение
механизма.
Перемещение двуногого робота может быть представлено в виде уравнений Лагранжа второго рода
D(q)q̈ + C(q, q̇)q̇ + A(q) = Bu,
(1)
где u = [τ0 , τ1 , τ2 , τ3 , τ4 ], D — матрица масс, C — матрица Кориолисовых
сил, A — матрица внешних сил, B — матрица отображения u в пространство обобщенных сил Bu.
Пусть посредством датчиков, камер или других устройств робот получает карту местности, в которой он находится. В случае наличия движу4
щихся объектов или ограничений дальности измерения приборов информация должна с некоторым шагом по времени обновляться. На карте местности представлены неровности поверхности, а также относительные или
абсолютные координаты, размеры и формы препятсвий. Кинематические
и динамические данные рассматриваемого механизма известны.
Рис. 2: Графическая формулировка задачи
Задача заключается в построении траектории перемещении робота из
начального положения в заданное конечное (или его окрестность), которое
может быть представлено как полным описанием конфигурации механизма Рис. 2, так и только положением его стоп или центра масс. Траектория
должна быть представлена дискретным набором состояний, в которые робот способен попасть с учетом его динамики и препятствий, представленных картой местности.
5
Обзор литературы
В работах [1], [5], [6] подробно описана динамика двуногих механизмов и способы получения уравнений движения. Применяются различные
подходы к классу управляющих моментов. К примеру, Формальский [1]
предлагает использовать импульсное управление, которое прикладывается
в начале и конце шага, заставляя механизм перемещаться по баллистической траектории.
Во многих трудах предлагается ходьба робота по заранее заданным
траекториям (trajectory tracking). Для уменьшения отклонения механизма
от заданного пути предлагается применять стабилизацию с использованием
ПИД-регуляторов [2], [7].
В работах [1], [8] предлагается строить траектории механизма, исходя из желаемой траектории точки нулевого момента в поддерживающем
многограннике [9]. В других трудах [10], [11] заранее выведен общий вид
траекторий с неизвестными параметрами для каждой координаты механизма, и по необходимому положению точки нулевого момента определяются
соотвествующие компоненты в функциях. Подобные подходы обеспечивают полную управляемость робота на протяжении всего пути, но при этом
походка механизма получается неестестественной, а также накладываются
ограничения на генерацию траекторий.
Поиск пути в трехмерном пространстве рассматривается в трудах
[12], [13], [14]. Обход препятствий сводится к построению траекторий положения стоп с помощью вероятностных алгоритмов (A*, Probabilistic roadmap),
potential fields, а также обучения с подкреплением. Плюсы подобных методов в том, что они могут учитывать неровности поверхности, а их скорость работы позволяет использовать поиск пути многократно, уменьшая
область, что может способствовать обходу движущихся объектов.
Большой вклад в планирование движения внесли LaValle и Kuffner
с публикацией нового вероятностного алгоритма [3], [4], основанном на заполнении пространства быстро расширяющимися деревьями. Их работы
уже нашли применение в планировании пути автомобилей и летающих
объектов: вертолетов, мультикоптеров, космических летательных аппаратов. Во второй главе будет подробнее рассмотрен этот алгоритм, а также
представлена его адаптация для построения траекторий ходьбы робота.
6
Глава 1. Управление
В качестве управления механизмом будет рассмотрен метод, основанный на следовании заранее заданным траекториям и обратной задаче динамики [15]. Подобные алгоритмы с различными улучшениями подробнее
рассматриваются в трудах [1], [2], [6].
1.1. Опорные траектории
Пусть в начальный момент времени t = 0 механизм находится в кон(0) (0) (0) (0)
(0)
фигурации q(0) = [x(0) , y (0) , θ0 , θ1 , θ2 , θ3 , θ4 ]T в неподвижном состоянии q̇(0) = 0 Рис. 3. Зафиксируем время шага T. Сделав шаг, робот ока(1)
(1) (1) (1) (1)
жется в положении q(T ) = [x(1) , y (1) , θ0 , θ1 , θ2 , θ3 , θ4 ]T , подобном начальному со сменой ног и перемещением горизонтальной координаты таза.
Скорости при t = T также потребуем нулевые, т. е. q̇(T ) = 0.
Рис. 3: Начальное положение
Положим x1, y1 — координаты голеностопного сустава переносимой
ноги, тогда x1(0) , y1(0) и x1(1) , y1(1) — положения при t = 0 и t = T соответственно, определяемые из q(0) и q(T ). Зададим дважды непрерывно дифференцируемые функции x1(t), y1(t), удовлетворяющие граничным
условиям: x1(0) = x1(0) , y1(0) = y1(0) , x1(T ) = x1(1) , y1(T ) = y1(1) , причем
ẋ1(0) = ẏ1(0) = ẋ1(T ) = ẏ1(T ) = 0. Аналогично проделаем для компонентов координаты таза x(t), y(t) и угла торса θ0 (t). Так как у опорной ноги
положение голеностопного сустава фиксированное (скольжение не допускается), то функции углов в коленях θ1 (t), θ2 (t) и углов в голеностопных
7
суставах θ3 (t), θ4 (t) можно вычислить через координаты таза и координаты
голеностопных суставов соответствующих ног с учетом ограничений Рис. 4.
Рис. 4: Шаг
Получаем функцию для всего вектора обобщенных координат q(t).
1.2. Управляющие моменты
В рассматриваемом пятизвеннике с безмассовыми стопами моторы
расположены у таза, в коленях, а также в голеностопных суставах Рис 5.
Компоненты вектора u представляют собой управляющие моменты, которые соответствующие моторы производят.
Пусть задана опорная траектория qref (t). Определим постоянный шаг
интегрирования уравнений движения ∆t. Необходимо вычислить вектор
управляющих моментов u, позволяющий роботу перейти из конфигурации
q(t0 ) в q(t0 + ∆t), соответствующее точке на следуемой траектории qref (t0 ).
Для удобства назовем механизм с координатами qref (t) виртуальным, а
робота с q(t), найденными из уравнений Лагранжа, — реальным.
Сначала необходимо вычислить вектора координат, скоростей и ускорений виртуального механизма qref (t0 + ∆t), q̇ref (t0 + ∆t),q̈ref (t0 + ∆t). По
условию qref (t) дважды непрерывно дифференцируема, поэтому q̇ref (t0 +
∆t),q̈ref (t0 + ∆t) существуют и конечны.
Выражаем координаты центра масс, через которые находится сила
8
Рис. 5: Расположение моторов
реакции опоры
xc = x −
yc = y +
1
mt rt sin θ0 + (mh rh + ma Lh )(sin θ1 + sin θ2 )+
M
+ma ra (sin θ3 + sin θ4 ) ,
(2)
1
mt rt cos θ0 − (mh rh + ma Lh )(cos θ1 + cos θ2 )−
M
−ma ra (cos θ3 + cos θ4 ) .
(3)
Здесь M — полная масса тела, mt — масса корпуса, mh — масса бедра,
ma — масса голени, rt — расстояние от таза до центра масс корпуса, rh —
расстояние от таза до центра масс бедра, ra — расстояние от колена до
центра масс голени, Lh — длина бедра.
Определяем силу реакции опоры в опорной ноге
R1x = M x¨c ,
R1y = M y¨c + M g.
(4)
Подставим найденные вектора виртуального механизма в уравнения
движения (1)
D(qref )q̈ref + C(qref , q̇ref )q̇ref + A(qref ) = Bu
9
И выразим вектор управления
u = B + (D(qref )q̈ref + C(qref , q̇ref )q̇ref + A(qref )),
(5)
где {}+ — псевдообращение.
1.3. Интегрирование уравнений движения
В идеальном случае найденное в предыдущем параграфе управление (5) переведет реальный механизм из cостояния q(t0 ) в q(t0 + ∆t) =
qref (t0 + ∆t) с аналогичными скоростями и ускорениями Рис. 6. К сожалению, на практике неизбежно выявляются несоответствия, связанные с
погрешностями в вычислении псевдообратной матрицы, производных, положений реального механизма. Поэтому авторы трудов [2], [6] уделяют внимание вопросу интегрирования уравнений движения, а также стабилизации
механизма [7].
Осуществим переход в пространство состояний [6]
!
q
x=
q̇
Тогда система (1) примет вид
!
!
q̇
q
d
=
dt q̇
−D(q)−1 C(q, q̇)q̇ − D(q)−1 A(q) + D(q)−1 Bu
ẋ = f (x, u)
(3)
Получили систему дифференциальных уравнений первого рода (3).
Подставив вычисленный в (5) вектор управляющих моментов, интегрируем
уравнения и находим q(t0 + ∆t), q̇(t0 + ∆t).
Одна из часто возникающих проблем на этом этапе - перемещение
опорной стопы, появляющееся в результате погрешностей интегрирования.
Подобную проблему предлагается решать добавлением неголономной связи
на опорную ногу [1], [2]. Например, для рассматриваемого механизма они
примут вид
x − xf + sin(θ5 )La + sin(θ3 )Lh = 0,
y − yf − cos(θ5 )La − cos(θ3 )Lh = 0,
10
ẋ + cos(θ5 )θ̇5 La + cos(θ3 )θ̇3 Lh = 0,
ẏ + sin(θ5 )θ̇5 La + sin(θ3 )θ̇3 Lh = 0,
где x, y, ẋ, ẏ — координаты и скорости таза, xf , yf — координаты голеностопа опорной ноги, θ3 , θ5 — углы в бедре и колени опорной ноги, Lh , La
— длины бедра и голени.
Рис. 6: Походка на основе опорных траекторий
Используя найденные координаты и скорости реального механизма,
вычислим ускорения с помощью уравнений движения (1)
q̈ = D(q)−1 (Bu − C(q, q̇)q̇ − A(q))
11
1.4. Пример
В качестве примера возьмем простой механизм: центр масс каждого
звена расположен в центре звена, стопы не имеют массы. Определим шаг
интегрирования ∆t и конечное время T . Пусть h, d — высота и длина шага,
соотвественно.
В качестве траектории для горизонтальной компоненты таза возьмем:
d
x = x(0) + t
T
.
Вертикальная компонента y пусть остается постоянной, т.е. y = y(0).
Голеностоп xf , yf предлагается переносить по параболе:
π
xf = xf (0) + d(1 − cos( t)),
T
π
yf = yf (0) + h(1 − cos2 ( t))
T
С помощью угла наклона торса регулируется положение центра масс.
При подъеме ноги торс желательно наклонять вперед, а при опускании
ноги — возвращать в изначальное положение.
π
θ0 = θ0 (0) − K sin( t),
T
где K — величина отклонения.
12
На Рис. 7 представлен шаг с использованием подобных опорных траекторий.
Рис. 7: Шаг реального механизма
13
Глава 2. Построение траекторий
В прошлой главе был рассмотрен метод управления на основе следования по заранее заданным траекториям. При наличии полной информации о строении и конфигурации робота можно представить в виде непрерывных периодических функций перемещение двуногого механизма по ровной поверхности. Однако, подобный подход не практичен, так как накладывает сильные ограничения на наличие неровностей и препятствий. Поэтому
ставится неменее важная задача автоматизации построения траекторий на
основе динамики механизма и карты местности. В качестве решения предложен метод, использующий алгоритм построения быстро расширяющихся
деревьев в пространстве конфигураций робота (Rapidly exploring random
tree, RRT) [3].
2.1. Rapidly Exploring Random Tree
Чтобы понять суть алгоритма RRT, рассмотрим конфигурации q0 в
конфигурационном пространстве Q. Необходимо построить дерево G =
(V, E), выходящее из данной начальной точки и заполняющее пространство, огибая все препятствия. На каждом шаге алгоритма случайным образом генерируется новая конфигурация qrand ∈ Q. Далее, находится ближайшая к ней вершина дерева qnear ∈ V и вычисляется конфигурация
qnew , находящаяся на заранее заданном расстоянии ∆q от qnear в сторону
qrand . Если qnew ∈ Q, то она добавляется в граф. K ограничивает число
итераций. Чем больше K, тем шире дерево, и больше заполняется данное
пространство.
Алгоритм RRT:
V.add(q0 )
for k=1:K
qrand ← Rand(Q)
qnear ← N earest(qrand , V )
qnew ← N ew(qnear , qrand , ∆q)
V.add(qnew )
E.add(qnear , qnew )
return G=(V,E)
14
Пример работы алгоритма на плоскости представлен на Рис. 8-12.
Рис. 8: Шаг 0
Рис. 9: Шаг 1000
Рис. 10: Шаг 5000
Рис. 11: Шаг 20000
Рис. 12: Шаг 50000
15
2.2. Адаптация алгоритма RRT
2.2.1. Начальные данные
Входными параметрами являются конфигурация механизма, карта
поверхности, конечное положение (также может быть представлено через
число шагов или время конца интегрирования), частота дискретизации по
времени ∆t и по расстоянию ∆q. Карта представляет собой набор препятствий и неровностей, которые полностью или частично должны быть
геометрически описаны перед использованием алгоритма. По карте определяется примерное положение голеностопа переносимой ноги по окончанию
шага. Алгоритм RRT используется для построения траектории одного шага
Рис 13. При наличии движущихся препятствий необходимо использовать
алгоритм поиска пути чаще.
Рис. 13: Ступенчатая поверхность
2.2.2. Генерация величин
Скорость и результат работы алгоритма во многом зависит от того,
как будет выбрано конфигурационное пространство. Для рассматриваемой
модели плоского пятизвенного механизма с безмассовыми стопами конфигурация представляет собой положение механизма, заданное координатами таза (x, y), голеностопных суставов (xf 1 , yf 1 ), (xf 2 , yf 2 ), а также углом
наклона торса θ0 . Так как во время шага ступня опорной ноги остается
16
неподвижной, генерируются лишь пять величин: x, y, xf , yf , θ0 , где (xf , yf )
— координаты голеностопа переносимой ноги Рис. 14.
Рис. 14: Генерируемые величины
Во время поднятия ноги желательно более частое выпадание случайных координат голеностопа yf выше, чем его положение в начальный момент. Аналогичная работа с перемещением таза и с покачиванием торса на
траектории. Поэтому шаг разбивается на два этапа: поднятия и опускания
ноги, используя RRT для каждого случая отдельно Рис. 15.
Вместо изменения конфигурационного пространства можно определить по какому закону будет генерироваться случайная величина.
2.2.3. Добавление вершины
После того как qrand сгенерировано, необходимо отыскать ближайшую к ней вершину дерева. При определении функции расстояния надо
учитывать, что угол наклона торса, а также координаты таза и ног вычисляются в разных величинах.
После нахождения qnear , используя ∆q, вычисляется новая потенциальная вершина графа. ∆q может представлять собой вектор, компоненты
которого являются изменением угла торса ∆θ0 , координат таза ∆d и переносимой ноги ∆df Рис. 16,17.
Проверка новой вершины qnew проходит в два этапа: соотвествие но17
Рис. 15: Двухэтапный шаг
Рис. 16: Изменение положения торса и таза Рис. 17: Изменение положения голеностопа
вой конфигурации параметрам механизма и пересечение препятствий. Если расстояние между тазом и переносимой ногой, а также между тазом и
опорной ногой меньше либо равно сумме длин бедра и голени, то есть для
пятизвенника
(x − xf 1 )2 + (y − yf 1 )2 ≤ L2a + L2h ,
(x − xf 2 )2 + (y − yf 2 )2 ≤ L2a + L2h ,
то qnew можно рассматривать дальше. Также можно определить максимальный угол наклона торса θe0 и ввести проверку:
|θ0 | < θe0
Второй этап проверки более затратный. Как говорилось ранее, карта
хранит информацию о неровностях поверхности и препятствиях на пути
механизма. Препятствия лучше хранить в порядке близости к механизму,
дабы исключить лишние проверки. На данном этапе проверяется пересе18
чение звенами робота препятствий и "проваливание"ноги. В качестве проверки на пересечение отрезков или фигур можно использовать алгоритм,
основанный на векторном произведении, приведенный в книге [16] .
2.2.4. Аппроксимация
Траектории строятся как последовательность узлов дерева. Они должны представлять собой дважды непрерывно дифференцируемые функции.
Поэтому для построения функций, проходящих через найденные конфигурации, подходят кубические сплайны с ограничением на то, что ускорения
в начальной и конечной точках нулевые.
Si (t) = ai + bi (t − ti ) +
di
ci
(t − ti )2 + (t − ti )3 , t ∈ [ti−1 , ti [
2
6
Кусочно-постоянный рывок на таких траекториях обеспечит плавность ускорений, что уменьшит нагрузку на моторы. По заданному ∆t
можно варьировать скорости и ускорения каждой генерированной координаты.В результате получаем дважды непрерывно дифференцируемые
траектории, которые можно использовать для нахождения управления по
формулам (2)-(5) из предыдущей главы.
19
Глава 3. Эксперименты
Для проверки алгоритма разработана расчетная программа, принимающая на вход параметры механизма (начальное положение, размеры и
массы звеньев), описание карты местности в виде координаты препятствий
и неровностей, максимальное число итераций RRT, координаты конечной
точки или количество шагов, а также шаг интегрирования уравнений движения.
3.1. Описание работы расчетной программы
После ввода данных, если ∆q явно не задан, то вычисляется, исходя
из длины звеньев механизма. Для плотного заполнения конфигурационq
ного пространства узлами дерева можно взять ∆df = 0.05 (L2a + L2h ) и
аналогично для других дискретизаций. Далее, запускается поиск промежуточных позиций стоп с учетом местности. То есть определяется примерная длина одного шага (расстояние между стопами переносимой ноги
в начальный и конечный моменты шага) на основе размеров стоп и длин
ног. Основываясь на наличии и форме препятствий в пределах этого шага,
определяется высота постановки стопы. Вычисленная точка добавляется в
вектор промежуточных позиций.
Далее, для каждого шага запускается алгоритм построения траекторий. Из вектора промежуточных позиций берется конечная точка для
текущего шага. Если вершина дерева траекторий стопы попадет в окрестность этой точки, то дискретная траектория построена. При запуске RRT в
массив вершин V добавляется начальная конфигурация механизма, переведенная из обобщенных координат в генерируемые. В процессе выполнения
алгоритма вычисляется qrand относительно начального состояния робота,
находится ближайшая к нему вершина qnear ∈ V , и, используя ∆q определяется qnew . Затем новая конфигурация проходит проверки на соответствие
параметрам механизма и пересечение препятствий. В случае успешного выполнения этих условий, qnew добавляется в V , а расстояние между ней и
ближайшей вершиной — в матрицу смежности E.
После добавления qnew запускается еще одна проверка на близость
стопы в этой конфигурации с конечной точкой шага. Задачей является
попадание в окрестность конечного положения стопы размера ∆df . Ес20
Параметр
Торс
Бедро
Голень
Стопа
Масса, кг
Длина, см
Расстояние до центра масс, см
20
50
25
15
50
25
10
35
17.25
0
25
0
Таблица 1: Характеристики механизма.
ли стопа находится в пределах этой окрестности, то последнюю вершину
можно достроить опустив в конечную точку, предварительно проверив эту
конфигурацию как qnew .
Набор узлов ветви построенного дерева, приводящей из начальной
конфигурации в конечную, интерполируется кубическим сплайном. Полученные дважды непрерывно дифференцируемые функции подаются методам, отвечающим за следованию опорным траекториям. В каждый момент
времени вычисляются значения обобщенных координат, а также их первые
и вторые производные. По ним определяются текущая силы реакции опоры и управляющие моменты, используя формулы (2)-(5) из первой главы.
Далее, при подставлении найденного управления проходит интегрирование
уравнений движения неявным методом Эйлера с учетом дополнительных
связей на координаты голеностопа опорной ноги.
3.2. Пример работы расчетной программы
В расчетную программу подается описание механизма из таблицы 1.
Установки метода представлены в таблице 2. Координата y таза остается постоянной. На пути робота встречаются ступенчатые неровности, на
которые он должен забраться.
Высота первой ступеньки равна 12.5см, второй — 25см относительно
Параметр
Значение
Максимальное количество итераций
Число шагов
∆d, см
∆θ0 , рад
∆df , см
10000
N
1.25
0.005
2.5
Таблица 2: Установки алгоритма.
21
поверхности. Их длина равны 50см. На Рис. 18-22 представлены различные результаты работы расчетной программы для заданной местности при
разном числе шагов N . Как видно на кинограммах, при одних и тех же
остановках алгоритм выдает весьма отличающиеся траектории.
Рис. 18: N=1
Рис. 19: N=1
Рис. 21: N=2
Рис. 20: N=1
Рис. 22: N=2
22
Заключение
В данной работе была рассмотрена задача построения траекторий
плоского пятизвенного механизма для его перемещения по известной горизонтальной поверхности. Для решения этой задачи адаптирован и реализован вероятностный алгоритм RRT (rapidly exploring random trees,
быстрорасширяющиеся поисковые деревья). Работоспособность и практическая применимость реализованного метода продемонстрирована численными примерами.
23
Список литературы
[1] Формальский A. M. Перемещение антропоморфных механизмов. М.:
Наука, 1982. 368 с.
[2] Braun D. J., Goldfarb M. A control approach for actuated dynamic
walking in biped robots // IEEE Transactions on Robotics, DOI:
10.1109/TRO.2009.2028762
[3] LaValle S. M. Rapidly-exploring random trees: A new tool for path
planning // Technical Report (Computer Science Department, Iowa State
University), 1998.
[4] LaValle S. M., Kuffner J. J. Randomized kinodynamic planning //
International Journal of Robotics Research. 2001. Vol. 20, No 5. P. 378–400.
[5] Белецкий В. В. Двуногая ходьба: модельные задачи динамики и управления. М.: Наука, 1984. 288 с.
[6] Westervelt E. R., Grizzle J. W., Chevallereau C., Choi J. H., Morris B.,
Feedback Control of Dynamic Bipedal Robot Locomotion. USA: Taylor
and Francis Group, LLC, 2007. 505 p.
[7] Lewis F. L., Dawson D. M., Abdallah C. T. Robot Manipulator Control –
Theory and Practice // Marcel Dekker, 2004. P. 185–197.
[8] Kagami S., Kitagawa T., Nishiwaki K., Sugihara T., Inaba M., Inoue H.,
A fast dynamically equilibrated walking trajectory generation method of
humanoid robot, // Autonomous Robots. 2002. Vol. 12, No 1. P. 71–82.
[9] Vukobratović M., Borovac B. Zero-Moment Point — thirty five years of
life // International Journal of Humanoid Robotics. 2004. Vol. 1, No 1.
P. 157–173.
[10] Huang Q., Yokoi K., Kajita S., Kaneko K., Arai H., Koyachi N., Tanie K.
Planning walking pattern for a biped robot, // IEEE Transactions on
Robotics, 2001. Vol. 17, No 3, P. 280–289.
[11] Esfahani E. T., Elahinia M. H. Stable Walking Pattern for an SMAActuated Biped // IEEE/ASME Transactions on Mechatronics, DOI:
10.1109/TMECH.2007.905707
24
[12] Bourgeot J. M., Cislo N., Espiau B. Path-planning and tracking in a 3D
complex environment for an anthropomorphic biped robot //Intelligent
Robots and Systems, DOI: 10.1109/IRDS.2002.1041646
[13] Kulkarni P., Goswami D., Guha P., Dutta A. Path planning for a statically
stable biped robot using PRM and Reinforcement learning // Journal of
Intelligent and Robotic Systems. 2006. Vol. 47, P. 197–214.
[14] Kuffner J. J., Nishiwaki K., Kagami S., Inaba M., Inoue H. Footstep
planning among obstacles for biped robots // Intelligent Robots and
Systems, DOI: 10.1109/IROS.2001.973406
[15] Бубнов В. В, Белошапко А. Г. Управление в задачах перемещения двуногого механизма // Процессы управления и устойчивость. 2015. Т. 2.
№ 1. C. 119-124
[16] Кормен Т. Х, Лейзерсон Ч. И, Ривест Р. Л, Штайн К. Алгоритмы: построение и анализ, 3-е издание. М.: «Вильямс», 2013, 1328 с.
25
Отзывы:
Авторизуйтесь, чтобы оставить отзыв