Разработка алгоритма ходьбы двуногого робота

РАЗРАБОТКА АЛГОРИТМА ХОДЬБЫ ДВУНОГОГО РОБОТА

Р.А. Алексеев

Научный руководитель - доктор технических наук, профессор

Рассматривается разработка алгоритмов и последующее моделирование ходьбы двуногого робота с использованием методов траекторного планирования и согласованного управления. Формулируются локальные задачи управления, которые сводятся к простым задачам стабилизации задачно-ориентиро-ванных координат.

И.В. Мирошник

Введение

Антропоморфные шагающие механизмы являются в настоящее время одним из ведущих направлений научно-технических разработок. Сейчас известно не менее 160 реализаций шагающих аппаратов [6, 8-11, 13-28]. Любое устройство такого типа состоит из цельной или составной верхней части - корпуса, платформы с оборудованием, торса с механическими руками (манипуляторами) и некоторого количества механических ног (педипуляторов). Существуют механизмы на шести, четырех, двух и даже на трех ногах, а также конструкции смешанного типа, например, имеющие две ноги и два колеса.

Большое число проектов и исследований в данной области демонстрируют необходимость привлечения современных фундаментальных концепций [7-14]. Программное управление имеет целый ряд недостатков, связанных с необходимостью постоянной отработки множества командных сигналов, ограниченной точностью и накоплением ошибок, ограниченными возможностями текущей коррекции движения и использования дополнительной информации.

Наиболее перспективные направления развития управления двуногими роботами связаны с геометрическими стратегиями и методами согласованного управления.

Методика согласованного управления с использованием траекторного планирования

Применение метода траекторного планирования предполагает вначале задание эталонных точек циклов (точек сопряжения). Далее следует построение кривых требуемых траекторий, соединяющих эти точки, а затем получение условий согласования, определяющих некие соотношения в движениях отдельных звеньев [2-4,7].

Пусть х - вектор переменных состояния объекта. Каналы управления независимы и нормированы:

х = и .

Задача управления должна быть поставлена введением вектора условий, который может содержать отклонения е и скорости ж, определяемые через х:

= Ф

Замечание: Условия вида ф(х)=0 называются условиями согласования.

Теперь требуется найти закон управления вида е = -Ке, обеспечивающий минимизацию отклонений е, и я = V*, обеспечивающий требуемую скорость движения ж. Дифференцируя (2), имеем:

¿] дФ .

• = х .

_•_ дх

Из (3), учитывая (1), можно получить выражение для управления (см. рис. 1):

e р

s _W( x)_

Рис. 1. Общая структура системы траекторного управления Плоскость основного движения

Движения робота принято разделять на движения в продольной (сагиттальной) плоскости и движения в поперечной (латеральной) плоскости. Движения в поперечной плоскости служат лишь для поддержания устойчивости. Основные же движения производятся в продольной плоскости, поэтому многие разработчики на первых порах рассматривают лишь продольное движение, на макете блокируя боковое движение неким устройством поддержки, которое жестко удерживает робота от падений в стороны, но при этом совершенно не мешает ему падать по курсу (вперед или назад) [8-10]. Таким образом, мы можем перейти к рассмотрению плоского продольного движения.

Модель шагающего механизма

Кинематическая схема двуногого робота может быть представлена семизвенной цепью (см. рис. 2), если допустить, что торс не содержит сочлененных частей (туловища, рук, головы) или эти подвижность этих сочленений можно исключить, так как они слабо влияют на ходьбу. В качестве начальной точки кинематической цепочки берется носок опорной, т.е. передней в данной фазе, ноги. Каждое последующее звено развернуто относительно предыдущего на угол и имеет протяженность I, [6]. При этом носок другой (задней) ноги считается свободным (это конец последнего звена всей цепи). Система координат такой модели жестко связана с поверхностью опоры и является неподвижной. Угол абсолютной ориентации звена а; определяется суммой относительных углов от ql до qг.

Замечание: На рис. 2 свободная ступня умышленно оторвана от поверхности, чтобы показать возможность движения. Точка у7 в модели не привязана к опоре.

Здесь обозначены также два угла поворота главных (тазобедренных) приводов фс и фк. Индексы «с» и «к» обозначают, соответственно, синюю и красную ногу, как принято на робототехнических схемах и циклограммах.

Объект управления

Механику робота опишем системой векторно-матричных уравнений:

¿1 = Бы,

а = Rq,

у = К

Здесь и [их1] - вектор управлений, ц [п*1] - вектор углов поворота приводов, а [их1] - вектор абсолютных углов поворота звеньев, у [п*2] - вектор линейных координат конечных точек звеньев, В [п*п] - матрица входов системы, Я [п*п] - матрица перехода от относительных углов к абсолютным, Н [п*2] - матрица пересчета угловых координат в линейные.

В случае полного разделения (независимости) каналов приводов матрица В является диагональной Б=diag{Ъi}, состоящей из коэффициентов передачи Ъ,,  = 1, п. Матрица Я для случая одной кинематической цепочки является нижней диагональной матрицей, все элементы которой - единицы. Матрица пересчета координат Н определяется выражением И(а) = у' + Тт г , а в подробном виде рекуррентная процедура вычисления элементов матрицы Н выглядит таким образом:

тТ (а) 21

Тт (а2) г 2

у1 " К' Т уо

у 2 = И2 = Т у1 +

уп К Т у„-1

(ап) г

где Т(а) - матрица вращения, определяемая как т(а1) =

гп

, а 2, =

_2 _

со8

вектор протяженности -го звена в координатах этого звена. Выражения (5) для переменных -го звена имеют следующий вид:

¿1, = Бгыг (7а) , _

а, = X , где  = 1, п .

;=1

у,т = у,Т-1 + • Тт (а,) Схема объекта управления представлена на рис. 3.

и я я а

—н в 1 Я Ж

Рис. 3. Структурная схема объекта

Концепция ходьбы

Сравнительный анализ различных алгоритмов ходьбы [1, 7-13, 16-19, 22-26] позволяет сделать следующие выводы.

1. Перемещение приставным шаганием (шаг одной ногой, затем приставление другой ноги) снижает скорость общего перемещения механизма.

2. Использование безопорной фазы («фазы полета») в цикле шага связано со сложностью определения координат всего робота в этой фазе.

3. Двухфазный алгоритм проще трехфазного по реализации, и в нем меньше сопряжений (переключений режимов).

4. Фазы с отсутствием горизонтального движения торса относительно земли существенно снижают общую скорость робота.

5. Остановки движения торса в какой-либо фазе ходьбы приводят к рывкам при движении массивной верхней части, что существенно снижает устойчивость походки.

6. Полное распрямление маховой ноги перед отрывом и при касании поверхности существенно усложняет процесс управления ходьбой из-за возможного заклинивания приводов в распрямленном положении.

7. Циклическое вертикальное перемещение торса в цикле ходьбы тоже ослабляет устойчивость походки и расходует лишнюю энергию.

Проанализировав известные варианты походки, можно сформулировать основные положения желаемого алгоритма ходьбы (см. рис. 4).

1. Для сохранения роботом статического равновесия горизонтальная проекция его центра масс должна проходить через поверхность опоры.

2. Цикл одиночного шага должен состоять из двух фаз - переноса тяжести с задней ноги на переднюю (двухопорная стадия) и перемещения маховой ноги вперед на шаг (одноопорная стадия).

3. Для избежания рывков в обеих фазах массивный торс должен сохранять свою горизонтальную скорость постоянной.

4. Не допускаются распрямления маховой ноги перед отрывом и при касании поверхности, во избежание неоднозначности отработки траекторий.

5. Торс не должен иметь вертикального движения, так как оно ослабляет устойчивость походки и расходует лишнюю энергию.

Планирование траекторий

Вводим в систему управления задачно-ориентированные координаты, т.е. задаем условия движения в отклонениях е и скоростях ж. При этом число уравнений в каждой фазе движения должно равняться числу звеньев в кинематической цепи, т.е. в данном случае - семи. Эти уравнения могут быть записаны в компактной форме

е

= Ф

£

где е={е}, $={$}, 1=1...к, ]=1...1, к+1=п, п - число звеньев механизма (степеней свободы). Задача управления состоит в минимизации вектора отклонений е (задача (а)) и стабилизации вектора проходимого пути ж за единицу времени, т.е. удержания вектора требуемых скоростей V (задача (б)).

В соответствии с выработанным алгоритмом можно выделить три группы условий.

1. Опорная нога и корпус в обеих фазах:

а) е1 = у11 - с1 Стопа горизонтальна,

б) е2 = у32 - с2 Высота таза постоянна,

в) 51 = у31 = Ук Таз движется равномерно,

г) £3 = у41 = -¥к Корпус держится вертикально, здесь с1=15 (длина ступни),

C2=К=30*(2+V3) (высота таза над поверхностью),

Ук=1 (горизонтальная скорость корпуса);

Q1= п/2 (угол корпуса относительно горизонтали).

2. Маховая нога в фазе переноса:

а) е3 = у71 - с3 Носок стопы не перемещается,

б) е4 = у72 - с4 Носок стопы - точка опоры,

в) е5 = qс + qк - Q2 Ноги движутся в противоходе,

здесь с3=-30 (длина полушага),

с4=0 (носок опирается на поверхность),

Q2=п/6 (суммарный угол положений обоих бедер);

3. Маховая нога в фазе шага:

а) е6 = ку61 + у62 - Ъ Пятка движется по прямой линии

б) £2 = у71 = 4Ук Носок перемещается на шаг

в) е7 = - А соз(о/) Носок описывает дугу косинуса

здесь к=0,25 и Ъ=3,75;

А=6 (высота подъема носка - варьируется);

(о = = 2П/" =2п/30 (частота одиночного шага),

Тш ^ш

где Ьш=30 (длина шага).

Синтез управления

Процедура синтеза предусматривает получение модели движения в декартовых координатах, преобразование к задачно-ориентированным координатам, а затем синтез управлений, обеспечивающих решение задач (а) и (б).

Дифференцируя уравнения прямой кинематики (7б)-(7в) и подставляя (7а), получаем:

УТ = уи +а^Т(аг )Е = у- + г. д • 2\Т(аг )Е = у- + г/ Ви • 2\Т(а1 )Е

т.е.

где Е =

Ут = Уи + <Т(а)ЕгТВи, 0 1

-1 0

у = Оу (а)Ви,

^ . . ду да . где О (а) = —----д

, или в компактной форме

да дд

Дифференцируя уравнение (8), получаем задачно-ориентированную модель робота

или

дФ

дФ

д Оу (а)Я + д

ду 7 дд

= О(д,а, у)и ,

Ви

где введены обозначения

дФ дФ ~ г>

О = — Оу (а)Я + —, и = Ви .

ду дд

Следуя стандартной методике согласованного управления [2-5, 7], осуществим преобразование управления по формуле

О (д, а, у)~ =

и перепишем модель (12) в виде

е ' и е '

и _

где ие - вектор управлений по отклонениям е, из - вектор управлений по перемещениям ж. Выбирая

ие = -Ке,

и, V

где K=diag{ki}, к>0 - коэффициенты обратной связи, получаем

е = -Ке ,

^ = V*,

что обеспечивает минимизацию отклонений е и поддержание требуемых скоростей продольного движения V, т.е. решение задач (а) и (б).

Для нахождения вектора управляющих воздействий системы и воспользуемся выражениями (13) и (14) и получим:

= О ~\д,а, у) -1

и = В~ 1~.

Структурная схема системы управления (см. рис. 5) состоит из объекта управления (уравнения (5)), блока получения (расчета или измерения) отклонений е. (уравнение (8)), обратного преобразования управлений (выражения (17)-(18)) , задатчика продольной скорости (16б) и регулятора отклонений (16а), образующего основные обратные связи системы.

Заметим, что содержание общей части системы остается неизменным для любых условий. Содержание же задачной части системы зависит от конкретных условий согласования Ф.

и

е

и

и

е

и

Рис. 5. Структурная схема системы управления двуногим роботом

Схема моделирования

итоууЗ

Рис. 6. Полная схема моделирования двуногого робота

Для проверки разработанного алгоритма было проведено моделирование на программном продукте Ма1ЬаЬ 4.0 81шиНпк 1.2. Для удобства использования и перена-

стройки на различные алгоритмы модель построена с использованием блочного принципа (см. рис. 6). Кроме того, в ней четко прослеживается симметрия, обусловленная одинаковостью блоков, относящихся к правой и левой конечностям.

Циклограмма

Поведение точек сочленений механизма, полученное в результате моделирования в виде циклограммы сдвоенного шага (полный цикл ходьбы), представлено на рис. 7.

Рис. 7. Циклограмма движения робота (моделирование) построенная относительно неподвижной системы координат, связанной с опорной поверхностью

Полученная циклограмма полностью соответствует заданному алгоритму ходьбы. Шаги правой и левой ногами полностью идентичны. Соблюдается длина шага. Постоянна высота корпуса над поверхностью ходьбы (отсутствует вертикальное движение корпуса).

Траектории в разных координатах

При построении траекторий в собственной системе координат робота (см. рис. 8) основной задачей является обеспечение цикличности движения педипуляторов. Поскольку траектория получилась замкнутой и не имеющей отклонений даже в крупном масштабе (см. рис. 8б) в течение достаточно большого числа циклов с участием обоих конечностей, можно заключить, что цикличность алгоритма обеспечена.

Из рассмотрения траекторий узловых точек в неподвижной системе координат (см. рис. 9) можно получить длину шага, которая совпадает с требуемой на всем участке движения. Скорость горизонтального перемещения торса относительно земли постоянна, отсутствуют рывки и замедления.

а б

Рис. 8. Траектории движения точек сочленений в мелком

20 р 100- -

-10-

т

кп1_I_I_I_I_I_I_I_I_I

0 50 100 150 200 250 300 350 400

х ах1э

Рис. 9. Траектории точек сочленения звеньев, полученные относительно неподвижной поверхности ходьбы в течение нескольких шагов

Литература

1. Вукобратович М. Шагающие роботы и антропоморфные механизмы. М.: Мир, 1976.

2. Мирошник И.В. Согласованное управление многоканальными системами. Л.: Энер-гоатомиздат, 1990.

3. Мирошник И.В., Никифоров В.О. Методы координации в задачах планирования и управления пространственным движением манипуляционных роботов. СПб: Наука, 1998.

4. Мирошник И.В., Никифоров В.О. и Фрадков А.Л. Нелинейное и адаптивное управление сложными динамическими системами. СПб: Наука, 2000.

5. Мирошник И.В. Нелинейные системы. Анализ и управление. СПб: СПб ГИТМО (ТУ), 2002.

6. Механика промышленных роботов. Кн. 1. Е.И. Воробьев, О.Д. Егоров, С.А. Попов. Расчет и проектирование механизмов. М.: Высшая школа, 1988.

7. A. Albert. Intelligente Bahnplanung und Regelung für einen autonomen, zweibeinigen Roboter. // VDI-Fortschrittberichte, Reihe 8, Nr. 927, VDI-Verlag, Düsseldorf, 2002.

8. T. Asfour, K. Berns, J. Schelling and R. Dillmann. Programming of manipulation tasks of the humanoid robot ARMAR. / IEEE Int. Conf. Advanced Robotics, Tokyo, Oct. 1999.

9. C. Canudas de Wit, B. Espiau, C. Urrea. Orbital Stabilisation of underactuated mechanical systems. / 15th triennial World Congress of IFAC, Barcelona, 2002.

10. C. Chevallereau, G. Abba, Y. Aoustin, F. Plestan, E. R. Westervelt, C. Canudas-de-Wit and J. W. Grizzle. RABBIT: A Testbed for Advanced Control Theory. // IEEE Control Systems Mag. 2003. V. 23. №5. Р. 57-79.

11. Y. Fujimoto, A. Kawamura. Simulation of an Autonomous Biped Walking Robot Including Environmental Force Interaction. // IEEE Robotics & Automation Mag. 1998. V. 5. №2. Р. 33-41.

12. A. Ijspeert, J. Nakanishi and S. Schaal. Movement imitation with nonlinear dynamical systems in humanoid robots. / IEEE ICRA, Washington, May 2002, pp. 1398-1403.

13. Kajita, S. and Tani, K., An analysis of experimentation of a biped robot Meltran II. / Proc. of 3rd International Workshop on Advanced Motion Control (uC Berkeley), Р. 417-420, 1993.

14. S. Talebi, M. Buehler and E. Papadopoulos. Towards Dynamic Step Climbing For A Quadruped Robot with Compliant Legs.

15. www.ai.mit.edu/projects/cog

16. www.aist.go.jp/MEL/soshiki/robot/undo/kajita-e.html

17. www.chabin.laurent.free.fr

18. www.fzi.de/divisions/ipt/WMC/preface/walking_machines_katalog.html

19. www.havingasoftware.nl/robots/BiPed/BiPed.htm

20. www.honda.co.jp/home/hpr/e_news/robot/index.html

21. www.inrialpes.fr/bipop/principale.html

22. www.irt.uni-hannover.de

23. www.jsk.t.u-tokyo.ac.jp/research/saika/index.html

24. www.polycosmos.org/android/protoand.htm

25. www.scg.dees.unict.it/index.htm

26. www.shadow.org.uk/index.stm

27. www.shirai.info.waseda.ac.jp/humanoid

28. www.world.honda.com