Текст диссертации - Волгоградский государственный

advertisement
Волгоградский государственный технический университет
На правах рукописи
Мохов Александр Дмитриевич
Разработка математического и программного
обеспечения систем управления мобильными
роботами произвольной структуры с
избыточными связями
05.13.01 – Системный анализ, управление и обработка информации
(промышленность)
ДИССЕРТАЦИЯ
на соискание ученой степени
кандидата технических наук
Научный руководитель
доктор технических наук с. н. с.
Горобцов Александр Сергеевич
Волгоград – 2014
2
Содержание
Введение
Глава 1.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Современное состояние проблем управления робототех­
. . . . . . . . . . . . . . . . . . . . . . . . . .
10
Общая характеристика робототехнических систем . . . . . . . . .
10
1.1.1.
Исполнительные механизмы . . . . . . . . . . . . . . . . .
13
1.1.2.
Приводы и передаточные механизмы . . . . . . . . . . . .
13
1.1.3.
Информационно измерительные системы
. . . . . . . . .
14
1.1.4.
Системы управления . . . . . . . . . . . . . . . . . . . . .
15
Управление движением . . . . . . . . . . . . . . . . . . . . . . . .
16
1.2.1.
Метод основанный на захвате движений . . . . . . . . . .
20
1.2.2.
Методы основанные на использовании искусственных ней­
ническими системами
1.1.
1.2.
1.3.
5
ронных сетей . . . . . . . . . . . . . . . . . . . . . . . . .
21
1.2.3.
Генетические алгоритмы
. . . . . . . . . . . . . . . . . .
22
1.2.4.
Синтез алгоритмов управления методом обратной задачи
23
1.2.5.
Метод заданной синергии . . . . . . . . . . . . . . . . . .
24
Математические модели
. . . . . . . . . . . . . . . . . . . . . . .
25
1.3.1.
Кинематическая модель мобильного робота . . . . . . . .
29
1.3.2.
Динамическая модель мобильного робота . . . . . . . . .
31
1.3.3.
Избыточные связи . . . . . . . . . . . . . . . . . . . . . .
34
1.4.
Использование ЭВМ для моделирования роботов . . . . . . . . .
36
1.5.
Выводы по главе 1 . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
. . . . . . . . . . . . . . . . . . . .
41
Формирование уравнений движений РТС . . . . . . . . . . . . . .
41
2.1.1.
Вывод уравнений движений робототехнической системы .
43
2.1.2.
Решение уравнений динамики с избыточными связями . .
45
Глава 2.
2.1.
Математическая модель
3
2.2.
2.3.
2.4.
Метод задания характеристик движения характерных точек . . .
47
2.2.1.
Задание общих параметров движения РТС . . . . . . . .
47
2.2.2.
Задание параметров движения движителей . . . . . . . .
49
Общая схема системы управления . . . . . . . . . . . . . . . . . .
51
2.3.1.
53
Метод генерации программного движения . . . . . . . . .
Выводы по главе 2
. . . . . . . . . . . . . . . . . . . . . . . . . .
55
. . . . . . . . . . .
56
3.1.
Требования к системе моделирования . . . . . . . . . . . . . . . .
56
3.2.
Архитектура системы генерации программного движения . . . .
59
3.2.1.
Пульт управления . . . . . . . . . . . . . . . . . . . . . . .
62
3.2.2.
Подсистема моделирования . . . . . . . . . . . . . . . . .
62
3.2.3.
Визуализация результатов . . . . . . . . . . . . . . . . . .
64
3.2.4.
Контроль решения MBS модели . . . . . . . . . . . . . . .
65
3.2.5.
Генератор команд управления . . . . . . . . . . . . . . . .
65
3.2.6.
Контроллер оборудования . . . . . . . . . . . . . . . . . .
66
3.3.
Расчет и управление в интерактивном режиме . . . . . . . . . . .
67
3.4.
Выводы по главе 3 . . . . . . . . . . . . . . . . . . . . . . . . . . .
70
. . . . . . . . . . . . . . . . . . . . . . . . . .
72
Манипулятор-трипод . . . . . . . . . . . . . . . . . . . . . . . . .
72
4.1.1.
Описание конструкции . . . . . . . . . . . . . . . . . . . .
72
4.1.2.
Экспемерименты . . . . . . . . . . . . . . . . . . . . . . .
74
Шагающий робот с ортогонально-повторным движителем . . . .
77
4.2.1.
Описание конструкции . . . . . . . . . . . . . . . . . . . .
77
4.2.2.
Эксперименты . . . . . . . . . . . . . . . . . . . . . . . . .
82
Робот андроид . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
84
4.3.1.
Описание конструкции . . . . . . . . . . . . . . . . . . . .
84
4.3.2.
Эксперименты . . . . . . . . . . . . . . . . . . . . . . . . .
86
Выводы к четвертой главе . . . . . . . . . . . . . . . . . . . . . .
89
Глава 3.
Глава 4.
4.1.
4.2.
4.3.
4.4.
Разработка программного комплекса
Эксперименты
4
Заключение
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
91
Литература
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
93
. . . . . . . . . . . . . . . . . . . 106
Приложение А.
Экранные формы
Приложение Б.
Конструкция системы управления линейными
приводами манипулятора трипода
. . . . . . . . . . . . . . . . . . 108
5
Введение
Актуальность работы
Растущая сложность современных роботов ставит новые проблемы с точки
зрения организации системы управления движением. Развитие элементной ба­
зы позволяет создавать робототехнические системы, обладающие десятками и
сотнями степеней свободы, при этом системы управления должны обеспечивать
работу в режиме реального времени.
В связи с этим актуальной является задача разработки систем управления
такими роботами. Центральным элементом систем управления таких роботов
является генератор программных траекторий. В данной работе рассматрива­
ется задача генерации программного движения многозвенного робота, в част­
ности шагающего робота произвольной структуры при выполнении заданных
движений характерных точек.
В зависимости от характеристик исполнительных устройств, и техниче­
ских требований, предъявляемых к робототехническим системам, используют
различные математические модели: кинематические, статические и динамиче­
ские. Существенным ограничением использования динамических моделей явля­
ется их сложность(большое количество неизвестных и большая вычислительная
сложность), но для хорошего отслеживания траекторий движений звеньев ро­
бота необходимо учитывать динамику элементов робототехнической системы.
Поэтому указанную задачу в общем случае можно решить только с использова­
нием детальных математических моделей, учитывающих кинематику и динами­
ку движений робота. Для решения уравнений таких математических моделей
в настоящее время существует специализированное программное обеспечение,
на базе которого можно построить генератор программного движения. Генера­
торы программных движений играют важную роль в системе управления, на
их основе синтезируются законы управления с обратной связью.
Научные основы по данной тематике были изложены в работах Охоцим­
6
ского Д.Е., Вукобратовича М., Формальского А.М., Белецкого В.В., Голубева
Ю.Ф., Ющенко Ю.Ф., Юревича Ю.И., Умнова И.В., Брискина Е.С., Димент­
берга Ф.М., Жоги В.В., Павловского В.Е., Бессонова А.П. и др.
Цели и задачи диссертационной работы:
Целью диссертационной работы является разработка метода генерации
программного движения звеньев робота произвольной структуры как централь­
ного элемента системы управления движением робота.
Для достижения поставленной цели в диссертации решаются следующие
задачи:
1. формализация математической модели, описывающей движение системы
по заданным траекториям, которые определяют кинематические парамет­
ры некоторых заданных точек;
2. разработка метода решения уравнений обратной задачи динамики с вы­
рожденной матрицей уравнений связей;
3. разбиение программных движений робота на две подгруппы; программное
движение точек корпуса робота, обеспечивающих перемещение робота с
заданными кинематическими параметрами характерных точек; программ­
ное движение точек исполнительных звеньев, например, движителей ша­
гающих роботов;
4. разработка методов задания кинематических параметров движения кор­
пуса;
5. разработка методов задания кинематических параметров траекторий ис­
полнительных звеньев;
6. построение архитектуры и реализация программного комплекса для син­
теза программного движения на основе решения обратной задачи с исполь­
зованием систем многотельного моделирования для генерации и решения
7
систем уравнений в интерактивном режиме;
7. использование синтезированных движений в системе управления много­
звенным роботом;
8. построение и расчет различных математических моделей шагающих дви­
жителей; апробация предложенного метода на роботах с шагающими дви­
жителями.
Научная новизна:
1. Разработан способ генерации программного движения роботов произволь­
ной структуры на основе предложенного метода решения уравнений с из­
быточными связями.
2. Разработаны три математические модели многоногой и двуногой шага­
ющей машины, совершающей пространственное управляемое движение,
реализующие предлагаемый метод.
3. Реализован макет системы управления механической системой с избыточ­
ными связями, использующей предлагаемый метод генерации программ­
ного движения.
Практическая значимость.
Предложенный в работе метод может быть
применен при разработке систем управления шагающими роботами. Разрабо­
танный программный комплекс позволяет проводить моделирование нелиней­
ной динамики систем связанных твердых тел совместно с управлением меха­
нической системой. Разработанный программный комплекс возможно исполь­
зовать в качестве модуля генерации траекторий движений исполнительных ме­
ханизмов в системе управления робототехническими системами.
Положения, выносимые на защиту:
8
1. Использование в описании программных траекторий адаптивных алгорит­
мов выбора параметров шага позволяет сформировать походку для произ­
вольного движения корпуса (поступательное движение корпуса, поворот).
2. Модификация алгоритма численного интегрирования обеспечивает син­
хронизацию синтеза управляющих сигналов и расчета уравнений дина­
мики систем твердых тел, что позволяет интегрировать математическое
ядро универсального пакета многотельного моделирования в состав систе­
мы управления в качестве генератора программного движения.
3. Математические модели шагающих роботов позволяющих получать согла­
сованные программные движения корпуса и движителя.
4. Использование существующих пакетов многотельного моделирования поз­
волило эффективно реализовать предлагаемый метод генерации программ­
ного движения.
Достоверность результатов.
Все результаты получены на основе фун­
даментальных положений и методов теоретической механики. Достоверность
результатов обеспечена строгостью выполнения выкладок и преобразований
с использованием автоматического формирования уравнений движения и про­
грамм их решения, а также на согласованности экспериментальных и расчетных
данных.
Публикации.
Материалы диссертации опубликованы в 18 печатных ра­
ботах, в том числе 3 статьи в журналах, рекомендованных ВАК РФ, 5 статей
в сборниках трудов конференций и тезисов докладов.
Личный вклад автора.
Содержание диссертации и основные положе­
ния, выносимые на защиту, отражают персональный вклад автора в опубли­
кованные работы. Подготовка к публикации полученных результатов проводи­
лась совместно с соавторами, причем вклад диссертанта был определяющим.
Все представленные в диссертации результаты получены лично автором.
9
Введение работа посвящена задаче синтеза управляющих сигналов для
пространственных роботов произвольной структуры.
10
Глава 1
Современное состояние проблем управления
робототехническими системами
1.1. Общая характеристика робототехнических систем
Робототехническая система (РТС) — это техническая система, в которой
преобразования и связи энергии, массы и информации отражены с использова­
нием роботов различного назначения [1].
РТС обладают основными признаками системности: целостностью систе­
мы машин, проявляющейся в том, что она обладает свойствами, отличными
от свойств составляющих ее элементов; иерархичностью структуры, проявляю­
щейся в наличии нескольких уровней иерархии и возможностью описания РТС
с разной степенью детализации, определяемой рассматриваемым уровнем в за­
висимости от решаемых задач. Так, отдельные составляющие РТС, выполняю­
щие самостоятельные функции, можно рассматривать при дифференцировании
в качестве самостоятельных сложных систем и, наоборот, в процессе интегри­
рования можно прийти от системы низшего уровня к более высокому.
Существуют различные классификации роботов, принято выделять два
основных класса манипуляционные роботы и мобильные роботы.
Манипуляционные РТС получили наибольшее развитие и практическое
применение в промышленности, где их называют промышленными роботами.
Промышленный робот (ПР) — автоматическая машина, стационарная или пере­
движная, состоящая из исполнительного устройства в виде манипулятора, име­
ющего несколько степеней подвижности, и перепрограммируемого устройства
программного управления для выполнения в производственном процессе двига­
тельных и управляющих функций (по ГОСТ 25686—85). В технической литера­
туре часто встречается и более короткое определение: ПР — перепрограммируе­
11
мый автоматический манипулятор промышленного применения. Характерными
признаками ПР являются автоматическое управление; перепрограммируемость
– способность к быстрой автоматической или при помощи человека-оператора
замене управляющей программы (к изменению последовательности, системы
и содержания команд); способность к выполнению трудовых действий. Суще­
ствуют различные классификации роботов, например роботы манипуляторы мо­
гут быть классифицированы зависимости от компонентов из которых состоят,
конфигурации и использованию, для роботов манипуляторов наиболее распро­
странены три классификации по типам систем управления, типам приводов, и
форме рабочей зоны [2].
Мобильные (движущиеся) РТС обеспечивают автоматическое перемеще­
ние полезной нагрузки в пространстве. Могут иметь запрограммированный
маршрут движения и (или) автоматическое адресование цели. Оснащаются дви­
жителями различных типов: колесными, гусеничными, шагающими, водометны­
ми, винтовыми, ракетными и т.п. В промышленности применяются для обслу­
живания складов, межцехового и внутрицехового транспортирования материа­
лов, деталей, инструмента и оснастки. Такие подвижные РТС часто оснащают­
ся манипуляторами.
В литературе о шагающих роботах часто можно встретить термины "ло­
комоция "синергия". Локомоция - передвижение шагающего устройства любым
способом, путем ходьбы, прыжков или любого их сочетания. Синергия - упоря­
доченная последовательность действий приводящая к локомоции [3].
Среди робототехнических систем, т.е. управляемых систем твердых тел,
заметную роль играют шагающие устройства или, как их еще часто называ­
ют, локомоционные системы (ЛС). В отличие от манипуляционных локомоци­
онные устройства представляют собой совокупность открыто-замкнутых цепей
(конечностей), посредством которых осуществляется передвижение ЛС в про­
странстве. Шагающие роботы имеют более широкие возможности для переме­
щения по пересеченной местности чем колёсные или гусеничные машины. Огра­
12
ничением шагающих машин является сложная конструкция движителя и как
следствие сложная система управления движениями робота.
Наличие большого числа степеней подвижности ЛС делает задачу ее созда­
ния и управления намного более сложной, чем других видов робототехнических
устройств. Проблема построения искусственных шагающих систем, т.е. систем,
перемещающихся в пространстве при помощи конечностей, издавна привлекала
внимание ученых и конструкторов. С появлением электронно-вычислительной
техники с ее возможностями быстро производить расчет динамических режи­
мов, параметров системы управления вновь возродило интерес к идее вопло­
щения робототехнического шагающего устройства. К этому надо добавить, что
у ЛС не все степени подвижности управляемы. Сама локомоционная система
представляет собой агрегат твердых тел, причем основная задача динамическо­
го синтеза системы управления заключается в стабилизации (отслеживании)
движения корпуса шагающего устройства. Тем самым важная роль отводится
выводу уравнений движения всех составляющих для последующего компьютер­
ного воплощения.
Не зависимо от области применения и используемых исполнительных ме­
ханизмов РТС состоит и следующих компонентов:
- исполнительные механизмы;
- приводы и передаточные механизмы;
- информационные системы, состоящие их различных; датчиков и измери­
тельных систем;
- системы управления.
Важно отметить что соврменные РТС могут обладат сотнями степенй сво­
боды, а частоты работы систем управления 200 Гц [4, 5] при управление движе­
нием таких сложных систем необходимо учитывать множество условий. Поэто­
13
му задача разработки систем управления движением таких роботов является
актуальной.
1.1.1. Исполнительные механизмы
Манипуляторы роботов и детали движителей приводятся в действие при
помощи исполнительных приводов, которые обеспечивают подвижность систе­
мы и выполнение целевых функций.
В биологических организмах функции исполнительных органов возлага­
ются на мышцы, которые состоят из пучков сокращающихся волокон. Среднее
время сокращения одного волокна сто миллисекунд, а создаваемое усилие мо­
жет достигать двухсот граммов. Усиление, создаваемое всей мышцей, определя­
ется числом задействованных волокон, а плавность движений обеспечивается
их последовательным подключением. В целом мышца представляет своеобраз­
ный биологический двигатель, включающий несколько тысяч более простых
двигателей импульсного типа. Все они объединяются в пучки, а затем — в дви­
гательные единицы.
Приводы роботов классифицируются по ряду характерных признаков. В
зависимости от типа энергии, используемой двигателем, они могут быть элек­
трическими, гидравлическими и пневматическими.
1.1.2. Приводы и передаточные механизмы
Устройств передачи механической энергии от двигателя к звеньям механи­
ческим элементам РТС достаточно много:
- шарико-винтовая передача;
- зубчато-реечная передача;
- волновой редуктор;
- цепные передачи, ленты и приводные ремни;
14
- шарнирно-рычажные передачи.
Часто в качестве приводов используют механотронные модули, которые
частично объединяют в себе исполнительные и информационные компоненты
РТС. Мехатронные модули — это базовые функциональные компоненты ме­
хатронных систем и машин с компьютерным управлением, предназначенные
для выполнения движений, как правило, по одной управляемой координате.
Главными преимуществами мехатронных систем являются исключение много­
ступенчатого преобразования энергии и информации, упрощение кинематиче­
ских цепей и следовательно высокая точность и улучшенные динамические
характеристики, конструктивная компактность модулей и следовательно улуч­
шенные массо-габаритные характеристики. Возможность объединения мехатрон­
ных модулей в сложные мехатронные системы, и комплексы, допускающие быст­
рую реконфигурацию, относительно низкая стоимость установки, настройки и
обслуживания системы, благодаря модульности конструкции, унификации ап­
паратных и программных средств, способность выполнять сложные движения,
благодаря применению методов адаптивного и интеллектуального управления.
1.1.3. Информационно измерительные системы
Главная задача информационно измерительной системы, это обеспечение
информацией систему управления. Можно выделить два типа данных получае­
мых от информационно системы. В соответствии с уровнями иерархии системы
управления для тактического уровня это информация об объекте манипулиро­
вания и об окружающей рабочей среде, для тактического уровня это данные
о состоянии исполнительной системы, перемещения в приводах, состояние раз­
личных систем, тормозных муфт, положения концевых выключателей и т.д.
Информация о состоянии исполнительной системы необходима для организа­
ции обратной связи.
15
1.1.4. Системы управления
Объектом управления являются различные исполнительные механизмы манипуляционные, передвижения и системы управления.
В общем механическая система как объект управления может быть оха­
рактеризована: типом и числом переносных и ориентирующих рабочий орган
степеней подвижности (переносные - поступательный и вращательные, ориен­
тирующие - вращательные), типом и размером рабочей зоны.
Исполнительные механизмы состоят из механической системы и приво­
дов. Для манипуляторов механическая система будет заканчиваться каким ли­
бо рабочим органом или инструментом. Для систем передвижения также мо­
гут иметь рабочий орган, например бульдозерный нож, подъемник, лебедка и
т.д.также в качестве рабочего органы могут выступать элементы шагающего
движителя, например стопы [6] [7].
Система управления имеет иерархическую организацию в которой можно
выделить следующие уровни[3]:
1. Формулировка задания. Система управления аппаратом получает задание
от оператора(например пройти из пункта А в пункт В).
2. Планирование поведения и принятие решения. Алгоритмы этого уровня
производят анализ ситуации и осуществляют подбор оптимального режи­
ма движения, обеспечивающего достижение поставленной цели с с учетом
препятствий и конструктивных ограничений.
3. Уровень построения движения и управления приводами. Алгоритмы это­
го уровня строят программные движения отдельных звеньев аппарат т.е
закон изменения их обобщенных координат.
Чаще первые два уровня иерархии объединяют в один уровень и тогда
задачу управления движениями робота можно разделить на два уровня такти­
ческий и исполнительный. На тактическом уровне определяется траектории и
16
цели движения. Исполнительный уровень решает задачу генерации управляю­
щих сигналов обеспечивающих требуемое движение [8].
Основная задача исполнительной части системы управления мобильным
роботом - это управление движением. Современный подход состоит в том чтобы
управлять движением в каждом сочленении с помощью встроенного механизма
[9, 10].
Отдельно стоит выделить управление локомоционным движением. Локо­
моционное движение -это передвижение динамических управляемых систем в
пространстве. Проблема синтеза локомоций главным образом исследовалась
применительно к шагающим роботам. Сложные задачи организации систем
управления шагающих робототехнических устройств представляют значитель­
ный интерес с точки зрения моделирования и конструирования различных средств
протезирования конечностей (экзоскелетоны), проникновения в труднодоступ­
ные, опасные или зараженные места, освоения иных планетарных пространств
[11].
1.2. Управление движением
Системы управления бывают централизованными и децентрализованны­
ми. Для централизованных систем управления характерны единый блок анали­
за данных получаемых от приводов и математическая модель которая описыва­
ет управляемую систему в целом, т.е объект управления рассматривается как
единая система, которая включает в себя все приводы и механические звенья.
Для децентарлизованных систем робот представляется как набор независимых
подсистем. При децентрализованном управлении сложно учитывать влияние не
связанных звеньев на динамику робота.
Рассмотрим централизованную системы управление движением мобиль­
ных роботов. На рисунке 1.1 показана общая блок схема системы управления
движем робота, на которой можно выделить следующие элементы: пульт управ­
17
ления, через который пользователь задает требуемое движение или его пара­
метры, устройство управления синтезирует управляющие сигналы на основе
данных от сенсоров и данных генератора траекторий, генератор траекторий
получает команды от контроллера для расчета очередного набора траекторий
управляемых звеньев.
Пользователь
Устройство
управления
Генератор
траекторий
Робототехническая
система
Внешняя
среда
Рис. 1.1. общая блок схема управления движением РТС
Генератор траекторий играет важную роль организации системы управле­
ния движением, результатом работы генератора являются программные движе­
ния. Практическая ценность программных движений состоит в том, что на их
основе синтезируются законы управления с обратной связью. [12].
Рассматривая управление РТС как задачу формирования траекторий дви­
жения, управления движением можно разделить на три основных вида:
1. управление движениями сочленений РТС;
2. программное управление движением в декартовой пространстве по скоро­
сти, ускорению и силе;
3. адаптивное управление.
18
Во многих приложения более предпочтительным является программное
управление движением, которое обеспечивает движение в декартовой системе
координат по требуемой траектории с заданной скоростью. Программное дви­
жение подразумевает комбинирование движений различных двигателей сочле­
нений. Это означает что несколько движителей должны работать одновременно
с различными изменяющимися скоростями для формирования заданного дви­
жения манипулятора. Это делает возможным выбор направления и скорости
произвольной траектории движения РТС или ее звеньев. Такое управление су­
щественно упрощает набор последовательностей движений для выполнения по­
ставленной задачи [13, 14].
Планирование движение робота - это составление программы движений
по степеням подвижности, необходимых для выполнения некоторого техноло­
гического задания и реализуемых с помощью исполнительного уровня. Техно­
логическое задание необходимо трансформировать в задание для рабочего орга­
на, описать требуемое движение рабочего органа в пространстве и во времени.
Как правило требуемое движение записывается в виде временных траекторий
. [15, 16]
Существует множество способов задания программного движения, их мож­
но разделит на две группы: теоретические методы и методы основанные на
обучении. Теоретические методы, основанные на построение различных мате­
матических моделей.
В некоторых случаях используют комбинированные методы которые, со­
держат в себе различные методы задания движений.
Так в шагающих роботов компании «Boston dynamics» применяется систе­
ма управления, которая обеспечивает устойчивую походку, путем соблюдения
некоторых правил, в каждый момент времени система управления обеспечивает
решение следующих задач:
- поддержка тела в вертикальном балансирующем положении;
19
- управление положением тела через крутящий момент бедра во время каж­
дой фазы опоры ноги;
- размещением ступни в ключевых позициях на каждом шагу, используя
принципы симетрии для поддержания робота в устойчивом положении во
время движения;
Для определения способа передвижения ступней робота используются ге­
нераторы траекторий, на выходе которых получаются программные движения,
которые далее используются для задания перемещений исполнительных меха­
низмов. В этих истемах управления, используется отдельный блок для план­
рования движения,т.е определения какие стопы в какие точки перемещать и
виртуальные модели ног, которые обеспечивают отработку этих перемещений,
планирование движений осуществляется на основе решения обратной задача
кинематики.
Генераторы движений используемые в роботах компании «Boston dynamics»
приведены в следующих работах [17–26].
В свою очередь методы основанные на обучении можно разделить на сле­
дующие группы:
- прямое обучение «показом»;
- централизованное обучение;
- раздельное обучение;
- косвенное с помощью команд;
- прямое обучение от ЭВМ;
- аналитическое программирование.
20
1.2.1. Метод основанный на захвате движений
Для методов основанных на обучении источником программного движения
могут стать различные системы типы человек-оператор или экзоскелеты, когда
РТС копирует движения оператора на котором надет специальный измеритель­
ных экзоскелет. В качестве источника движений могу выступать животные или
люди, в этом случае движение снимается с помощью систем захвата движений
[27–32].
Захват движений широко применяется для роботов-андроидов из-за специ­
фики их поведения. Таким образом организуется движение всей конструкции
робота или отдельных его частей, например рук или ступней [33, 34].
Этот подход широко применялся в серии роботов от компании Honda "Asimo". Метод используемый в Honda заключается в том, что движение ног
определяются по заранее записанным траекториям определённых с помощью
ходьбы человека, эти траектории оптимизируются, параметризуются, и в за­
висимости от условий используются для задания движений звеньев ног. Для
поддержания робота в состоянии равновесия используется простой закон управ­
ления основанный на ZMP - методе, который принимает в качестве входных
данных показания датчиков наклона, моментов и сил действующих стопах при
опоре на на поверхность. Применение этих методов позволяет демонстрировать
очень реалистичные и убедительные движения, однако это не дает понимая то­
го как следует выбирать закон движения ног, как следует выбирать траектории
при передвижении по труднопроходимой местности.
Используются маркерная и безмаркерная технология, основанная на техно­
логиях компьютерного зрения и распознавания образов описано в работах. [35–
37]. При программировании движений шагающего робота собаки “The LittleDog”
использовалась маркерная система захвата движений [38].
21
1.2.2. Методы основанные на использовании искусственных
нейронных сетей
Искусственные нейронные сетей(ИНС) получили широкое применение в
робототехнике, как правило их используют в информационных системах для
распознавания изображений или решения задач классификации. Однако ИНС
получили применение и для решения задач синтеза управляющих сигналов. Ис­
пользование ИНС для решения задач идентификации динамики управляемого
объекта мотивируют высокой сложностью традиционных математических мо­
делей учитывающих динамику звеньев, механические характеристики соедини­
тельных элементов, геометрические размеры, силы и моменты действующие на
элементы систем.
ИНС обладают рядом преимуществ, способность обучения ИНС позволяет
избавится от традиционного математического аппарата используемого для опи­
сания РТС, высокая степень параллельности ИНС позволяет сильно повысить
их производительность благодаря развитию современных методов параллель­
ных расчетов [39].
Главная идея этого подхода заключается в том что с помощью возможно­
стей предоставляемых ИНС пытаются моделировать передаточную функцию
одного или нескольких звеньев системы управления.
Можно выделить два метода получения нейросетевых моделей: offline - по
заранее снятой с объекта обучающей выборке входных и выходных сигналов, в
зависимости от входных и соответствующих им выходных данных этой выборки
получают либо прямую, либо инверсную модель динамики объекта. on-line в
этом случае ИНС включается в систему управления параллельно управляемому
объекту, обучение ИНС происходить по ошибке между измеренными данными
и данными сформированными сетью [40].
Методика использования ИНС включает в себя следующие этапы [41]:
- формирование данных;
22
- нормирование данных;
- выбор архитектуры сети;
- выбор алгоритма обучения;
- тестирование сети;
- оценка качества идентификации.
В качестве входных данных для ИНС используются обобщенные координа­
ты, скорости и управляющие моменты и т.д. Выходными сигналами являются
скорости и ускорения управляемых звеньев.
Для обучения нейронной сети необходимо сформировать массив входных
векторов для различных наборов данных (параметров), поступающих на систе­
му управления роботом. Один из наборов по каждому параметру будет являться
вектором-эталоном для соответствующих входных векторов [42].
Более подробную информацию об использование ИНС для задания движе­
ния РТС можно найти в работах [43–52]
1.2.3. Генетические алгоритмы
В настоящее время генетические алгоритмы в основном имеют специализи­
рованное применение в нейросетевых технологиях для решения многопарамет­
рических задач распознавания образов и прогнозирования. Однако они находят
применение и среди современных методов оптимизации в задачах управления,
в частности для настройки классических линейных регуляторов и нелинейных
нейроконтроллеров. Также ГА используются в задачах планирования траек­
торий движения многозвенных манипуляторов. Использование методов эволю­
ционного моделирования и генетических алгоритмов можно найти в работах
[53–67]. Также эволюционные методы широко применяются для подбора пара­
метров структуры РТС (количество звеньев, типы кинематических связей и
т.д) на этапе проектирования [68–72].
23
1.2.4. Синтез алгоритмов управления методом обратной задачи
Исторически деление на прямую и обратную задачу динамики сложилось
следующим образом. Прямая задача динамики: по заданному характеру движе­
ния определить равнодействующую сил, действующих на тело. Обратная зада­
ча динамики: по заданным силам определить характер движения тела.
С точки зрения СУ обратная задача это определение обобщённых коор­
динат манипулятора по заданному в опорной системе координат положению
рабочего органа или некоторого звена манипулятора. [73]
Для того чтобы достичь точного отслеживания траекторий необходимо
принимать во внимание динамику робототехнической системы. При синтезе
управления следует учитывать полную модель динамики робота [74] [75] [19, 76].
Слабое распространение метода обратной задачи связывают с сложностью
реализации и сложность использования. При использовании этого метода в со­
ставе СУ необходимо постоянно в процессе управления решать уравнения опи­
сывающие полную динамическую модель РТС. Система дифференциальных
уравнений описывающих манипулятор из 4 звеньев и трех соединительных эле­
ментов будет содержать десятки уравнений, а модель описывающая конструк­
цию робота с шагающим движителем будет уже содержать стони таких уравне­
ний. До сих пор не разработана систематическая процедура для синтеза управ­
ления РТС произвольной структуры, выбор модели, подбор коэффициентов
обратной связи, оценка робастности. [8].
Структура и параметры алгоритма управления могут определятся струк­
турой и параметрами математической модели объекта. Задача конструирования
алгоритма управления движением динамических систем представляется как об­
ратная задача динамики: требуется найти такую управляющую силу 𝑢, которая
реализует требуемую траекторию движения x.
На основе концепции обратных задач оказывается возможным синтезиро­
вать такие алгоритмы управления, которые обеспечивают заданные динамиче­
24
ские свойства системы[12, 77]. Более подробно использование метода обратных
задач для синтеза управления рассмотрено в работах: [43, 78? –88] [9, 89, 90]
1.2.5. Метод заданной синергии
В локомоционной динамике широко используется метод заданной синергии
(МЗС) [77], это метод относится к классу полуобратных методов.Суть метода
заключается в том что координаты некоторых звеньев задаются явно, а коор­
динаты остальных звеньев определяются из уравнений движения и связей.
Программа движений, которая задается по части координат и сил назы­
вается номинальной или искусственной синергией, а закон движения, который
определяется для оставшихся координат и сил, называется компенсаторной си­
нергией.
Задавая различные искусственные синергии, можно получить адекватный
набор компенсаторных синергий, а тем самым воплотить все динамические воз­
можности системы в желаемом процессе ходьбы.
В работе [11] рассматривается применения метода заданной синергии к
модели шагающего робота в которой робот представляется в качестве матери­
альной точки с двумя невесомыми ногами. Рассмотрим подробнее этот пример,
при подобном представлении робота уравнение движения будет иметь вид:
𝑑2 𝑟
𝑑𝐾
𝑀 2 = 𝑃 + 𝑅;
=𝑅×𝑟+𝑚
𝑑𝑡
𝑑𝑡
(1.1)
где 𝑀 - масса системы, 𝑟 - радиус вектор точки нуль момента, 𝑃 - сила тяжести,
𝑅- сила реакции опоры, 𝑘 - кинетический момент в осях Кенинга.
Зададим вначале движение ног. Тогда вектор 𝑟 является функцией углово­
го положения корпуса и в силу заданного движения ног — явной вектор-функци­
ей времени. Вектор кинетического момента 𝐾 есть функция движения корпуса
и в силу заданного движения ног — явной вектор-функцией времени. Исклю­
чая 𝑅 с помощью двух приведенной системы (3.29), получим векторное диффе­
ренциальное уравнение, описывающее только движеие корпуса. Таким образом
25
задача сводится лишь к решению некоторой краевой задачи для движения кор­
пуса, после решения которой можно определить в силу системы реакцию 𝑅.
Затем можно найти также явные выражения для суставных моментов.
Возможен другой способ задания движения, задавая вектор R = R(t) в
виде явной вектор-функции времени. Интегрирование квадратурами приведён­
ные системы, тогда приводит к явным зависимостям r = r(t), K = K(t). Воз­
можны и другие способы задания синергии, например, с помощью уравнений
сервосвязей для некоторых параметров системы или, например, из какого-либо
оптимизационного критерия ходьбы.
1.3. Математические модели
Для описания движений РТС существует множество математических мо­
делей: кинематические, статические и динамические модели.
Математическое описание робота связывает входные переменные с выход­
ными. Входными переменными являются усилия от двигателей 𝑄𝑔 (𝑄𝑔1 , 𝑄𝑔2 , ..., 𝑄𝑔𝑛 ),
где 𝑛 число степеней подвижности. Выходными 𝑥 переменными являются пере­
мещения и ориентация рабочего органа, в случае рассмотрения манипулятора,
для мобильного робота интерес могут представлять звенья на которых выбраны
характерные точки, например стопы шагающего движителя. Абсолютные коор­
динаты 𝑥𝑖 определяются положением определяются положением всех звеньев
робота 𝑞(𝑞1 , 𝑞2 , ..., 𝑞𝑛 ).
В общем механическую систему робота можно описать следующим урав­
нениями:
⎧
⎪
⎨𝑥 = 𝑓 (𝑞)
(1.2)
⎪
⎩𝑞 = 𝐴𝑚 (𝑄𝑔 , 𝑄𝑏 )
Где, 𝑥 = 𝑓 (𝑞) - уравнения кинематики робота, позволяющее определить
абсолютные координаты всех звеньев 𝑥, через относительные 𝑞 ; 𝑞 = 𝐴𝑚 (𝑄𝑔 , 𝑄𝑏 )
- уравнение динамики позволяющее определить, где 𝑄𝑔 (𝑄𝑔1 , 𝑄𝑔2 , ..., 𝑄𝑔𝑛 ) - уси­
26
лия двигателей по координатам звеньев, 𝑄𝑏 (𝑄𝑏1 , 𝑄𝑏2 , ..., 𝑄𝑏𝑛 ) - возмущающие
воздействие и противодействие. 𝐴𝑚 - оператор механической системы. Более
подробно кинематические и динамические модели будут рассмотрены ниже, в
следующих подпунктах.
Кинематическом и динамическому анализу предшествует топологический
анализ механической части РТС топологический анализ[91], который включает
в себя:
- определение числа звеньев;
- числа и вида кинематических пар, в том числе образующихся при в точках
контакта механизма с внешней средой;
- числа, порядка и расположения кинематических контуров;
- последовательность звеньев и кинематических пар образующих замкну­
тые кинематические цепи;
- способов приведения кинематической цепи к структуре дерева для прове­
дения кинематичских и динамических расчетов.
На этапе топологического анализа структура РТС можно представить в
виде неориентированного графа 𝐺 = (𝑉, 𝐸), где 𝑉 - множество вершин, 𝐸 множество связей.
Кинематические модели, применяются в случаях если скорости перемеще­
ния звеньев малы, а система статически уравновешена, то в таком случае доста­
точно воспользоваться кинематической моделью РТС. С увеличением скорости
движения важное значение приобретает тип привода. В случае отсутствия ста­
тических нагрузок и при ярко выраженном астатическом типе привода(приводы
с большим отношением передаточного числа редуктора) может быть оправдано
применение использование кинематических моделей.
27
Статическая неуравновешенность массивных звеньев при малых скоростях
перемещения становятся, существенными статистические характеристики при­
водов и ограничения развиваемых моментов, в таких ситуациях используются
статические модели [92].
Область применения моделей учитывающих динамику определяется высо­
кими значениями скорости и ускорения звеньев [93, 94]. В литературе отмеча­
ется что для того чтобы добиться точного плавного и качественного движения
робота необходимо учитывать динамику. Существенным ограничением исполь­
зование полных динамических моделей являться сложность составления таких
уравнений и трудоемкость процедуры их решения.
Также то какие модели применяются зависит от кинематической структу­
ры РТС.
Манипуляционные и промышленный роботы имеют древовидную или ли­
нейную структуру или сводящийся к ним, как правило не имею избыточных
связей. Характеризуются строго детерминированной средой работы, главная за­
дача таких роботов это периодическое и точное исполнение заданной операции.
Как правило для таких систем используют кинематические модели. Благодаря
строго детерминированному окружению в котором приходится осуществлять
свои функции, можно однозначно задать требуемые характеристики движения
и произвести такие расчеты заранее, не в процессе управления, поэтому огра­
ничения динамических моделей для таких систем не существенны.
В отличие от манипуляционных локомоционные устройства представляют
собой совокупность открыто-замкнутых цепей (конечностей), посредством кото­
рых осуществляется передвижение ЛС в пространстве. Для мобильных роботов
характерна структура не сводящаяся к древовидной, и в общем случае имеет
произвольную структуру которую можно описать в виде графа. Такие систе­
мы обладают большим количеством степеней подвижности это делает задачу
создания систем управления наиболее сложной, чем других видов РТС. Кроме
того не все степени подвижности управляемые. Локомоционная система пред­
28
ставляет собой систему твердых тел со связями, главная задача динамического
синтеза системы управления сводится к стабилизации движений корпуса шага­
ющего робота [95]. Наличие избыточных связей в процессе функционирования
требует решения задачи по уточнению, существует бесконечное множество ва­
риантов решения поставленной задачи. Суть проблемы избыточности заключа­
ется в определении соотношений между заданием и возможностями конкретной
РТС. Эти возможности определены паспортными данным РТС:
- число степеней свободы;
- структурная схема;
- размер и вид рабочей зоны;
- точность позиционирования;
- максимальные скорости по степеням подвижности;
- тип системы управления.
В случае если задание превышает возможности конкретной РТС то такое
задание невыполнимо. В случае если задание соответствует возможностям РТС
то оно выполнимо, в этом случае когда возможности РТС перекрывают зада­
ние, означает избыточность возможностей РТС. Проблема избыточности - это
проблема использования имеющихся избыточных возможностей РТС [96, 97].
Иногда термину избыточность предают более точнее значение, как раз­
ность между числом задаваемых координат, необходимых для выполнения эле­
ментарной операции и числом обопщенных координат кинематической схемы
робота, только как кинематическую избыточность [92].
В большинстве случаев избыточные возможности определяют некоторое
множество решений, каждое из которых отвечает условиям задания и условиям
выполнения элементарной двигательной операции. [93, 98]
29
Локомоционные системы, предназначенные для передвижения по местно­
сти со сложным рельефом, получили свое обоснование в работах ряда авторов.
Однако наличие большого числа степеней свободы, учет инерционных харак­
теристик, реакций опоры и некоторых других особенностей, присущих этим
системам, по-прежнему делают актуальной задачу управления ЛС. В ней да­
леко не последнее место занимает решение прямой задачи динамики, а значит,
и нахождение силовых воздействий, испытываемых корпусом и конечностями
ЛС в процессе передвижения.
Рассмотри более подробно различные математические модели локомоци­
онных РТС.
1.3.1. Кинематическая модель мобильного робота
Предметом кинематики является аналитическое описание геометрии дви­
жений РТС относительно некоторой заданной абсолютной системы координат
без учета сил и моментов порождающих это воздействие. Задачей кинематики
является аналитическое описание пространственного расположения манипуля­
тора в зависимости от времени.
Для постановки и расчета задач кинематики обычно составляют расчет­
ную кинематическую модель робота или манипулятора,в основу которой долж­
ны быть положены предполагаемее или имеющиеся геометрические размеры
звеньев, их типы, количество и распределение кинематических пар.
Манипуляторы обычно представляют собой открытую кинематическую
цепь, элементы которой соеденены меду собой посредством кинематических
пар, как правило это либо вращательные, либо поступтельные кинематисекие
пары.
Положение кинематической цепи можно определит с помощью обощеных
координат 𝑞𝑖 = (𝑖 = 1, 2, ..., 𝑛), характетирующих относительные премещения
в кинематических парах. Для определения положения рабочего органа в про­
странстве можно воспользоваться первым уравнений из системы (1.2) 𝑥 = 𝑓 (𝑞),
30
которое составляется по правилам аналитической геометрии.
Локомоционный (шагающий) робот состоит из жесткого корпуса и 𝑛 конеч­
ностей. Конечности могут находится в опорной фазе, переносной и свободной
фазах. Конечности состоит из звеньев соединенных между собой и корпусом
посредством различных кинематических связей рисунок 1.2. Кинематические
характеристики, геометрией конечностей приведены в книге [99].
Рис. 1.2. Схема локомоционного робота
Принятая кинематическая схема типична для исследуемых в настоящее
время шагающих аппаратов. Передвижение ЛС осуществляется сменой опор­
ных конечностей по какой-либо известной программе (походке), причем начало
фазы опоры одних конечностей соответствует началу фазы переноса для других
конечностей и наоборот. Предполагается также, что в точке контакта конечно­
сти с опорной поверхностью происходит шарнирное опирание с максимально
возможным числом степеней подвижности. Движение аппарата реализуется пу­
тем приложения управляющих моментов вращения в сочленениях конечностей.
Генерация управляющих сигналов для шагающих движителей ведётся в
системе координат сочленений робота, а управляющие сигналы которые зада­
ет оператор задается в системе координат связанной с рабочим пространством
робота. Таким образом задача кинематической модели, это определение поло­
жения звеньев по заданным параметрам: начальному положение, скорости и
31
ускорению.
При построении кинематических моделей задаются различные системы ко­
ординат связанные с теми или иными точками на конструкции РТС. Для ша­
гающих роботов как правило задается система координат связанна с корпусом,
и системы координат связанные со звеньями соответствующих деталям шагаю­
щего движителя.
Для шагающих роботов с помощью кинематической модели как правило
решается следующая задача: определение законов изменения углов вращения
в бедрах и коленях конечностей, обеспечивающих перемещение корпуса робо­
та по заданному закону; другими словами, требуется найти некоторое соотно­
шение для кинематического описания робота, определяющего ее геометрию в
пространстве.
Положение корпуса в каждый момент времени полностью определяется
заданием шести параметров, которые описывают положение в пространстве ка­
кой-нибудь точки корпуса и жестко связанной с корпусом СК.
Решение поставленной задачи реализуется в два этапа: на первом — вы­
числяется закон перемещения в абсолютной СК бедер опорных конечностей;
на втором — определяются законы изменения во времени углов вращения ко­
нечностей, обеспечивающих заданное перемещение бедер. Для конечностей в
переносной и свободной фазах закон изменения угловых переменных может
при этом выбираться различными способами [11].
1.3.2. Динамическая модель мобильного робота
С точки зрения системы управления движениями робот представляет со­
бой набор твердых тел, связанных между собой поступательными или враща­
тельными связями.
Звено манипулятора представляет собой твердое тело, характеризующееся
набором параметров 𝐶𝑖 (𝐾𝑖 , 𝐷𝑖 ), где 𝐾𝑖 - множество кинематических парамет­
ров, 𝐷𝑖 - множество динамических параметров, 𝑖- номер звена.
32
[8]
А теперь остановимся на динамических особенностях корпуса и конечно­
стей мобильного робота аппарата, а также определим закон формирования ре­
зультирующих сил и моментов, действующих на корпус мобильного робота.
Как правило при рассмотрении динамики шагающих роботов в первую
очередь рассматривают силы и моменты действующие на корпус. Под действи­
ем силы F и момента M, приложенных в точке C корпуса как твердого тела,
движение корпуса описывается динамическим уравнением
Предметом динамики является математическое описание действующих на
манипулятор сил и моментов.
Для исследования динамики мобильного робота обычно составляют дина­
мическую модель.
Динамическая модель в отличии от кинематической должна учитывать
не только геометрические размеры звеньев и распределение кинематических
пар, но и распределение масс звеньев робота, необходимо учитывать и другие
характеристики робота, такие как упругие свойства элементов.
В механике имеются различные принципы и методы построения дифферен­
циальных уравнений движения механических систем. В зависимости от решае­
мых задач это могут эти уравнения могут быть получены в различной форме из
числа известных в теоретической механике - в форме уравнений Ньютона, Гау­
са, Далампера, Лагранжа и их модификаций. Рассмотрим уравнение Лагранжа
второго рода:
𝑑
𝑑𝑡
(︂
𝜕𝐸𝑘
𝑞˙𝑖
)︂
−
𝜕𝐸𝑘
𝜕𝐸𝑝
=
+ 𝑄𝑖
𝑞𝑖
𝑞𝑖
(1.3)
где 𝐸𝑘 и 𝐸𝑝 - кинетическая и потенциальная энергия системы, 𝑞𝑖 - обобщён­
ные координаты (в общем случае их число превышает число степеней подвиж­
ности робота), 𝑄𝑖 - обобщённые силы, силы и моменты развиваемые приводами,
а также внешние силы и моменты, например возникающие при взаимодействии
звеньев робота с внешней средой.
33
Используя уравнение (1.3), можно составить уравния движения в матрич­
ной форме, тогда уравнение примет вид:
⎛
𝐴(𝑞)¨
𝑞 + 𝐵(𝑞, 𝑞)
˙ = 𝑈, 𝑈 = ⎝
𝐹
𝑀
⎞
⎠
(1.4)
где 𝐴(𝑞) ∈ 𝑅6×𝑅6 — положительно определенная функциональная матри­
ца, определяющая квадратичную форму скоростей в выражении для кинетиче­
ской энергии корпуса; 𝐵(𝑞, 𝑞), 𝑈 — вектор- функции размерности 6 × 1, причем
𝑞 входит в 𝐵(𝑞, 𝑞) как элемент квадратичной зависимости. Матрица 𝐴(𝑞) и век­
тор B(q, q) в уравнении движения корпуса определяются выбором точки C на
корпусе и распределением масс. [100, 101]
Вывод уравнения движения в матричной форме показан в работе [73] на
конкретных примерах манипуляторов.
Используя уравнения динамики в матричной форме можно решить ряд за­
дач анализа и синтеза манипулятора, возникающих при проектировании робо­
та. если задачу анализа взаимного влияния движений по степеням подвижности
манипулятора рассматривать как задачу синтеза, то можно попытся внести из­
менения в кинематическую схему так, чтобы взаимное влияние движений свести
у минимуму. Последнее очень важно при проектировании систем управления
роботами.
При проектировании робота на этапе выбора двигателей и рсчета передач
по степеням подвижности определяют силы и моменты необходимые для реали­
зации заданного программного движения. Задавая обощенные координаты как
функции времени и подставляя их в левую часть матричного уравнения можно
найти соотвесвтующие программыне силы.
Ряд задач, которые могут быть поставленны как задачи анализа и синте­
за манипулятора связанны с интегрирование уравнений движения (1.4). Как
правило для решения приведнный уравнеий используются численые методы и
ЭВМ. Задают некоторые программные и типовые обобщённые силы или управ­
34
ляющие воздействия для приводов и в результате интегрирования уравнений
движения системы получают законы движения системы. При рассмотрении сво­
бодного движения манипултора уравнения движения интегрируютс рпи нуле­
вых правых частях. Если на закон движения наложенны определнные требо­
вания то меняя параметры расчетной схемы добиваются приблежения закона
движения к желаемым.
1.3.3. Избыточные связи
При пространственном движении расчётная кинематическая схема мобиль­
ного робота, может меняться. Для роботов с шагающим движителем во время
движения в фазе опоры стопы о поверхность могут образовываться избыточные
связи.
Под избыточными связями понимаются такие связи, устранение которых
не увеличивает подвижность механизма.
Для расчёта манипуляторов имеющих избыточные связи или замкнутые
контуры применяют метод замены контура на виртуальный привод, а кинема­
тическая схема в этом случае принимает древовидный вид более подробно этот
метод рассмотрен в работах [102–105]. Метод состоит из трех шагов:
1. механизм с замкнутыми связями превращается в открытой механизм дре­
вовидной структуру, путем замены незадействованных суставы механизма
виртуальный приводом;
2. совместные моменты преобразованного механизма древовидной структу­
ры с виртуальным приводом вычисляются по тем же уравнениям и при
тех же начальных условиях что и механизм с замкнутыми связями;
3. совместные моменты из приводимых в действие суставах оригинального
механизма вычисляются из полученных данных древовидной структуры.
35
Рассмотри существующие методы преодоление статической неопределён­
ности применяемые для мобильных роботов:
- замена соответствующих связей консервативными силами;
- разбиение основания на твёрдые тела.
Метода замены связей на консервативные силы имеет существенные огра­
ничения для применения к математическим моделям дифференциальные урав­
нения которых, ориентированны на численное решение. Так как применение
этого метода приводит к увлечению жестокости системы. Для решения таких
преобразованных расчётных схем, необходимо уменьшать шаг интегрирования,
что приводит к увеличению времени решения.
В процессе движения мобильных роботов образуются избыточные связи
замкнутые на неподвижное основание, в этом случае возможно применение ме­
тода при котором исходное основание заменяется на тела большой массы. Для
уменьшения количества уравнений новые тела должны иметь только поступа­
тельные степени свободы.
Для общего случая, когда избыточные связи не соединённы с основанием,
возможен вариант разбиения одного из тел на части, связанные специальным
образом.
Общие принципы при разбиении тел сводится к появлению у системы но­
вых степеней свободы, число которых равно степени статической неопределён­
ности. Этот прием давно используется в инженерной практике для исключения
избыточных связей.
В расчётных методах универсальным способом преобразования кинемати­
ческой схемы для устранения статической неопределённости является замена
соответствующей кинематической пары на трезвенник.У такого трезвенника
совпадают начальная и конечная точки связанные с телами, соединяемыми
заменяемым шарниром. При относительно малой массе и больших моментах
инерции такой трезвенник будет обеспечивать малые относительные смещения
36
т.е не вносить больших возмущений в исходную кинематическую схему. Более
подробно этот метод рассмотрен в работе [106].
1.4. Использование ЭВМ для моделирования роботов
В следствии сложности РТС как объектов исследования основным сред­
ством для такого исследования является математическое моделирование с ис­
пользование ЭВМ. Этот способ обладает рядом преимуществ по сравнению с
физическим моделированием и натурными экспериментами, и может оказаться
особенно полезным на этапе конструирования робота.
Проанализировав различное общедоступное программное обеспечение ис­
пользуемое для моделирования и исследования роботов были выделены следу­
ющие группы:
- интегрированные пакеты;
- управляющие пакеты;
- средства программирования и численных расчетов;
- средства моделирования;
- пакеты искусственного интеллекта.
Интегрированные пакеты - это программное обеспечение ориентированное
на его использование в составе системы управления, могут применяться в ка­
честве бортовой операционной системы. Программное обеспечение этой группы
в первую очередь ориентированно на решение задач взаимодействия и обме­
на данными между элементами системы управления и исполнительными ме­
ханизмами. Примером таких систем могут служить: MissionLab, FlowDesigner,
ROSSUM, Darwin2K, Tekkotsu.
Управляющие пакеты - это пакеты ориентированные на моделирование си­
стем управления, передачу сигналов и исполнять роль центрального элемента
37
в систем е управления роботом. В качестве примера можно привести следую­
щие системы: OROCOS Open Robot Control Software, Motion Strategy Library,
Modular Controller Architecture, Microb, DROS Dave’s Robotic Operating System.
Средства программирования и численных расчётов. Как правило это биб­
лиотеки или программы предоставляющие инструменты для работы со специа­
лизированными языками программирования. Octave, Scilab, Lisp Universal Shell
(LUSH), Hybrid Systems Description Language (HYSDEL),
К средства моделирования можно отнести различные универсальные про­
граммные пакеты которые позволяют моделировать необходимые процессы и
имеют в себе специальные модули для моделирования роботов. Они использу­
ются для моделирования работы системы управления, исследования динамики
и кинематики конструкции роботов и т.д. Отличительной особенностью от ПО
других типов, удобные интерфейсы и инструменты по созданию и редактирова­
нию моделей. К средствам моделировании используемых в робототехнике мож­
но отнести следующие инструменты: MatPLC, MjbWorld, Model Transformation
Tools, DynaMechs, SimRobot, Open Dynamics Engine (ODE), Genetic Programming
System, Robotics Toolbox tor MATLAB. Среди отечественных систем моделиро­
вания можно выделить пакеты: «Универсальный механизм», ФРУНД. В этих
системах реализованы необходимые инструменты для создания и исследования
моделей роботов, кроме того на базе этих пакетов уже успешно решаются зада­
чи по моделированию движений мобильных роботов.
К пакетам искусственного интеллекта можно отнести следующие программ­
ные пакеты: Machine Learning Library, GiNaC, Pyro Python, Machine Vision
Toolbox. К этой группе относя средства по решению задач искусственного ин­
теллекта, они позволяют моделировать искусственные нейронные сети и иссле­
довать различные модели. Как правило используются для решения задач вы­
скоуровненовой системы управления: построение карт, поиск маршрута, опре­
деление целей, задачи распознавания и т.д.
Проанализировав различное доступное программное обеспечение использу­
38
емое для моделирования, конструирования и управления робототехническими
системами. Можно сделать следующие выводы:
- среди пакетов моделирования большую долю занимают пакеты ориентиро­
ванные на работу с конкретными моделями или конструкциями роботов,
к таким пакетам как правило относятся программы и библиотеки разра­
ботанные университетами или исследовательскими группами;
- пакеты ориентированные на решение задач управления и интегрирования
в бортовую систему управления не предоставляют достаточных возмож­
ностей по моделированию динамики и кинематики роботов, их главная
функция обеспечение обмена данными между элементами бортовой систе­
мы управления;
- для синтеза программного движения целесообразно использовать суще­
ствующие универсальные пакеты моделирования, это позволяет добить­
ся высокого уровня достоверности построенных моделей и качественного
устойчивого численного решения уравнений модели. Однако эти пакеты
не обладают достаточными возможностями для использования их в бор­
товой ЭВМ, поэтому целесообразным является разработка таких инстру­
ментов моделирования, которые бы позволяли использовать функционал
систем моделирования в бортовой системе управления;
- пропреитарное программное обеспечение позволяет добиться хороших ре­
зультатов при решении исследовательских задач моделирования, однако
закрытый исходный код и использование проприетарных форматов мо­
делей, сильно осложняет использование таких пакетов в составе систем
управления.
39
1.5. Выводы по главе 1
В первой главе рассмотрены различные способы управления движением
мобильного робота. Показано что не зависимо от способа задания движений
центральное место в системе управления занимает генератор траекторий. На
основе программных траекторий, получаемых из генератора траекторий стро­
ятся системы управления с обратной связью.
Не зависимо от метода синтеза управления одной из главных проблем яв­
ляется учет влияния динамики робота.
В результате анализа различных способов задания программного движе­
ния стало очевидно, что для решения задачи управления РТС с избыточны­
ми связями необходимо использовать полные динамические модели и методы
генерации программного движения основанные на решении обратной задачи
динамики.
Основная сложность при использовании метода основанного на решении
обратной задачи заключается в сложности его реализации и использования. В
связи с этим необходимо решить следующие задачи:
1. формализация математической модели, описывающей движение системы
по заданным траекториям, которые определяют кинематические парамет­
ры некоторых заданных точек;
2. разработка метода решения уравнений обратной задачи динамики с вы­
рожденной матрицей уравнений связей;
3. разбиение программных движений робота на две подгруппы; программное
движение точек корпуса робота, обеспечивающих перемещение робота с
заданными кинематическими параметрами характерных точек; программ­
ное движение точек исполнительных звеньев, например, движителей ша­
гающих роботов;
40
4. разработка методов задания кинематических параметров движения кор­
пуса;
5. разработка методов задания кинематических параметров траекторий ис­
полнительных звеньев;
6. построение архитектуры и реализация программного комплекса для син­
теза программного движения на основе решения обратной задачи с исполь­
зованием систем многотельного моделирования для генерации и решения
систем уравнений в интерактивном режиме;
7. использование синтезированных движений в системе управления много­
звенным роботом;
8. построение и расчет различных математических моделей шагающих дви­
жителей; апробация предложенного метода на роботах с шагающими дви­
жителями.
41
Глава 2
Математическая модель
В работе рассматривается управление на исполнительном уровне. Полную
задачу синтеза управления целесообразно разбить на два этапа: управление
характеристиками задающими движение системы в целом и управление движе­
ниями отдельных звеньев.
На основе анализа предметной области к математической модели выдви­
гаются следующие требования:
- пространственный характер движения;
- произвольную структуру расчетной схемы;
- модель должна быть ориентированна на численные методы решения.
2.1. Формирование уравнений движений РТС
Рассмотрим пространственную модель РТС. Конструкция аппарата не кон­
кретизируется. Модель робота представляет собой соединенную шарнирами раз­
личных типов и упругими элементами систему твёрдых тел, совершающую
управляемое движение под действием управляющих сил и моментов. Уравнения
динамки строятся из уравнений свободного движения тел и уравнений связей
от кинематических пар.
В общей форме такая система описывается уравнениями:
⎧
⎪
⎨Mẍ − D𝑇 p = f (ẋ, x, 𝑡) + u(𝑡)
(2.1)
⎪
⎩Dẍ = h(ẋ, x)
Где, x - вектор координат всей системы размерностью 𝑛, x = (x1 , · · · , xn )𝑇 ,
где xi - подвектор координат 𝑖-го тела, ẋ𝑖 = (𝑥˙𝑖 , 𝑦˙𝑖 , 𝑧˙𝑖 , 𝜔𝑥𝑖 , 𝜔𝑦𝑖 , 𝜔𝑧𝑖 )𝑇 , M - диаго­
нальная матрица инерции, M = 𝑑𝑖𝑎𝑔(M1 , · · · , M𝑛 ),
42
где Mi = 𝑑𝑖𝑎𝑔(𝑚𝑖 , 𝑚𝑖 , 𝑚𝑖 , 𝐽𝑥𝑖 , 𝐽𝑦𝑖 , 𝐽𝑧𝑖 ), f (ẋ, x, 𝑡) - вектор внешних сил, u(𝑡) вектор управляющих сил, действующих на тела, D - матрица переменных ко­
эффициентов уравнений связей от кинематических пар размерностью 𝑘 × 𝑛, 𝑘
- число связей, h(ẋ, x) - вектор правых частей уравнений связей, p - вектор
множителей Лагранжа.
Управление может быть заданно в следующем виде:
˙
u(𝑡) = K1 𝛿(𝑡) + K2 𝛿(𝑡)
(2.2)
где, K1 -диагональная матрица коэффициентов обратной связи по положению,
K2 - диагональная матрица коэффициентов обратной связи по скорости, 𝛿(𝑡)
вектор отклонений программных значений перемещения от измеренных значе­
ний, который может быть рассчитан следующим образом:
𝛿𝑖 (𝑡) = Δ𝑖 (𝑥(𝑡)) − Δ𝑖 (𝑥𝑝𝑟𝑜𝑔 (𝑡))
(2.3)
где, Δ𝑖 - отклонение перемещения в приводах, 𝑥 - измеренное значение
Управление системой сводится к определению управляющих функций u(𝑡),
обеспечивающих перемещение её точек по заданным траекториям.
В соответствии с методом обратной задачи, действие управляющих сил в
уравнениях движения (2.1) можно заменить уравнениями связей, тогда уравне­
ния (2.1) можно записать в виде:
⎧
⎪
⎪
⎪
¨𝑝𝑟𝑔 − D𝑇 p − D𝑇𝑤 p𝑤 = f (x𝑝𝑟𝑔
˙ , xprg , 𝑡)
M
x
⎪
⎪
⎨
˙ , x𝑝𝑟𝑔 )
Dx¨𝑝𝑟𝑔 = h(x𝑝𝑟𝑔
⎪
⎪
⎪
⎪
⎪
⎩D𝑤 x¨𝑝𝑟𝑔 = ẅ(𝑡)
(2.4)
Где, x𝑝𝑟𝑔 - программное движение, D𝑤 - матрица переменных коэффициентов
уравнений связей точек, для которых заданно программное движение, w(𝑡)вектор функций, описывающая программные траектории заданных точек, p𝑤 вектор множителей Лагранжа, соответствующих связям с программными тра­
екториями. Кинематические параметры управляемого движения - положения,
43
скорости, ускорения тел системы, получаемые в результате решения системы
(2.4) называются программным движением.
Движение робота задается траекторией движения точек:
𝑤(𝑡) = 𝑤𝑏 (𝑡) +
𝑗
∑︁
(2.5)
𝑤𝑓𝑖 (𝑡)
𝑖=0
где, 𝑤𝑏 (𝑡) - траектории движения точек корпуса, 𝑤𝑓𝑖 (𝑡) - траектории движения
некоторых характерных точек( например, для шагающего движителя это точ­
ки на стопах робота). Интегральные характеристики движения задаются для
траектории 𝑤𝑏 (𝑡). Параметры движения характерных точек задаются с помо­
щью специальных адаптивных алгоритмов. Таким образом управление роботом
сводится к изменению параметров траектории движения некоторых точек.
2.1.1. Вывод уравнений движений робототехнической системы
Рассмотрим вывод уравнений на примере системы состоящей из двух свя­
занных тел c массами 𝑚1 , 𝑚2 на, которые действует внешняя сила 𝑇 , схема
системы приведена на рисунке 2.1.
𝑚1
→
−
𝜆
→
−
𝜆
𝑚2
→
−
𝑇
Рис. 2.1. Пример свободного движения
Уравнения складываются из уравнений движений каждого тела и уравне­
ний описывающих связи. Тогда в соответствии с
??,
система уравнений описы­
вающая приведенную схему будет иметь вид:
⎧
⎪
⎪
⎪
𝑚1 Ẍ1 + 𝜆 = 0
⎪
⎪
⎨
𝑚2 Ẍ2 − 𝜆 = 𝑇
⎪
⎪
⎪
⎪
⎪
⎩Ẍ1 − Ẍ2 = 0
(2.6)
44
Где, X - вектор обобщенных координат всей системы, который состоит из под­
векторов, описывающих координаты каждого тела X = (X1 , X2 )𝑇 ,
где 𝑋˙ 1 = (𝑥˙1 , 𝑦˙1 , 𝑧˙1 , 𝜔𝑥1 , 𝜔𝑦1 , 𝜔𝑧1 )𝑇 . Матрица инерции состоит из подматриц
описывающих характеристики каждого тела:
⎛
M=⎝
m1
0
0
m2
⎞
(2.7)
⎠
Где, m1 и m2 диагональные матрицы содержащие характеристик тела m1 =
𝑑𝑖𝑎𝑔(𝑚1 , 𝑚1 , 𝑚1 , 𝐽𝑥1 , 𝐽𝑦1 , 𝐽𝑧1 ), 𝑚1 - масса, 𝐽 момент инерции.
Матрица переменных уравнений связей для системы из двух тел от кине­
матических пар будет иметь вид:
⎛
DT = ⎝
1
⎞
(2.8)
⎠
−1
Уравнивание 2.6 записанное в матричной форме будет иметь вид:
⎞⎛ ⎞ ⎛ ⎞
¨
𝑇
𝑋
M D
⎠⎝ ⎠ = ⎝ ⎠
⎝
0
𝑝
D 0
⎛
T
(2.9)
Дополним исходную задачу тем условием что тело с массой 𝑚1 совершает
управляемое движение по заданной траектории 𝑤(𝑡). Пример системы соверша­
ющей управляемое движение приведен на рисунке 2.2.
→
−
𝜆2
→
−
𝜆1
𝑚1
→
−
𝜆1
𝑥1
𝑚2
𝑥2
→
−
𝑇
Рис. 2.2. Пример управляемого движения
Система уравнений 2.6 привет следующий вид:
⎧
⎪
⎪
𝑚1 Ẍ1 + 𝜆1 + 𝜆2 = 0
⎪
⎪
⎪
⎪
⎪
⎪
⎨𝑚2 Ẍ2 − 𝜆1 = 𝑇
⎪
⎪
Ẍ1 − Ẍ2 = 0
⎪
⎪
⎪
⎪
⎪
⎪
¨
⎩Ẍ1 = 𝑤(𝑡)
(2.10)
45
⎛ ⎞
1
⎠
⎝
DT
=
w
0
(2.11)
⃒
⃒⃒ ⃒ ⃒
⃒
⃒
⃒
⃒
⃒
⃒
⃒
⃒ M −D𝑇 −D𝑇𝑤 ⃒ ⃒ Ẍ ⃒ ⃒ 𝑇 ⃒
⃒
⃒⃒ ⃒ ⃒
⃒
⃒
⃒⃒ ⃒ ⃒
⃒
⃒D
0
0 ⃒⃒ 𝑝 ⃒ = ⃒ 0 ⃒
⃒
⃒⃒ ⃒ ⃒
⃒
⃒
⃒⃒ ⃒ ⃒
⃒
⃒D𝑤
¨ ⃒
0
0 ⃒ ⃒𝑝𝑤 ⃒ ⃒𝑤(𝑡)
(2.12)
В матричной форме
2.1.2. Решение уравнений динамики с избыточными связями
В процессе совершения пространственных движений расчетная кинемати­
ческая схема РТС, можем меняться. Для шагающего движителя во время дви­
жения в фазе опоры стопы на поверхность могут образовываться избыточные
связи.
Описанный метод составление уравнений динамки твердых тел позволяет
получать численное решение дл механических систем произвольной структуры,
при условии что кинематические связи не избыточны т.е система является ста­
тически определимой. В случае статической неопределимости в матрице связей
появляются линено зависмые строки, матрица коэфициентов становится плохо
обусловленной и численное интегрирование становится не устойчивым.
Системы дифференциальных уравнений (2.4) в матричной форме имеет
вид:
⃒
⃒
⃒
⃒
⃒ M −D𝑇 −D𝑇𝑤 ⃒
⃒
⃒
⃒
⃒
𝐴=⃒D
0
0 ⃒
⃒
⃒
⃒
⃒
⃒D𝑤
0
0 ⃒
(2.13)
⃒
⃒ ⃒
⃒
⃒
⃒ ⃒
⃒
⃒𝑥𝑝𝑟𝑔
˙ , 𝑥𝑝𝑟𝑔 , 𝑡)⃒
¨ ⃒ ⃒𝑓 (𝑥𝑝𝑟𝑔
⃒
⃒ ⃒
⃒
⃒
⃒ ⃒
⃒
𝐴 · ⃒ 𝑝 ⃒ = ⃒ ℎ(𝑥𝑝𝑟𝑔
˙ , 𝑥𝑝𝑟𝑔 ) ⃒
⃒
⃒ ⃒
⃒
⃒
⃒ ⃒
⃒
⃒ 𝑝𝑤 ⃒ ⃒
⃒
𝑤(𝑡)
¨
(2.14)
если , 𝑑𝑒𝑡𝐴 ̸= 0 - система не содержит избыточных связей, 𝑑𝑒𝑡𝐴 = 0 система содержит избыточные связи.
46
Для решения систем с избыточными связями предлагается использовать
метод дополнительных масс, т.е заменить точку опоры на поверхность на связь
с телом значительно большей массы.
Рис. 2.3. Пример системы с избыточными связями
в первом случае система будет описываться следующими уравненнеиями
⎧
⎪
⎪
⎪
𝑚1 x¨1 = 𝑝 + 𝑝1 + 𝑝2
⎪
⎪
⎨
𝑚2 Ẍ2 = 𝑝1 + 𝑝2
⎪
⎪
⎪
⎪
⎪
⎩𝑥1 = 𝑥2
⎧
⎪
⎪
⎪
𝑚1 x¨1 = 𝑝 + 𝑝1 + 𝑝2
⎪
⎪
⎪
⎪
⎪
⎪
⎪
𝑚2 Ẍ2 = 𝑝1
⎪
⎪
⎨
𝑚3 Ẍ3 = 𝑝2
⎪
⎪
⎪
⎪
⎪
⎪
𝑥1 = 𝑥2
⎪
⎪
⎪
⎪
⎪
⎪
⎩𝑥1 = 𝑥3
⃒
⃒
⃒
⃒
𝑇
𝑇
⃒ M −D −D𝑤 ⃒
⃒
⃒
⃒
⃒
𝐴=⃒D
0
0 ⃒
⃒
⃒
⃒
⃒
⃒D𝑤
0
0 ⃒
(2.15)
(2.16)
(2.17)
На рисунке 2.4 показано преобразование расчетной схемы, где 𝑚𝑏𝑎𝑠𝑒 ≫ 𝑚𝑖 .
В этом случае траектория движения может задаваться следующим обра­
зом:
47
𝑚𝑖
𝑚𝑖
𝑚𝑖
𝑚𝑖
⇒
𝑚𝑏𝑎𝑠𝑒
Рис. 2.4. Пример шагающего движителя
𝑤¨𝑓𝑖 (𝑡) =
⎧
⎪
⎨𝑤¨𝑓 (𝑡),
𝑖
если 𝜙 ∈
/ 𝜙𝑏𝑎𝑠𝑒
(2.18)
⎪
⎩D𝑤 ẍprg , если 𝜙 ∈ 𝜙𝑏𝑎𝑠𝑒
𝑏𝑎𝑠𝑒
где, 𝐷𝑤𝑏𝑎𝑠𝑒 - матрица переменных коэффициентов соответствующих связям с
дополнительными массами, 𝜙 - фаза движения шагающего движителя, 𝜙𝑏𝑎𝑠𝑒 фаза соответствующая моменту опоры стопы на основание.
2.2. Метод задания характеристик движения
характерных точек
Движение многозвенной системы с 𝑛 степенями свободы можно однознач­
но определить движением некоторых точек системы по 𝑛 направлениям, обра­
зующим линейно независимую систему уравнений связей. Для трехмерноного
случая положение тела можно определить координатами трех точек по шести
суммарным направлениям [107].
2.2.1. Задание общих параметров движения РТС
Рассмотрим систему состоящую из корпуса и ноги, нога состоит из двух
звеньев, такая схема показана на рисунке 2.5. Необходимо задать траектории
48
движения корпуса 𝑤𝑏 (𝑡) и траекторию движения стопы 𝑤𝑓 (𝑡). Закон перемеще­
ния корпуса зависит от параметров задаваемых оператором.
Δ𝑙
𝑆2
𝑆2
𝑆2
𝑆1
𝑆1
𝑆1
Δℎ
ℎ𝑠𝑡𝑒𝑝
𝑙𝑠𝑡𝑒𝑝
Рис. 2.5. Пример шагающего движителя
Рассмотрим двумерный случай, для того чтобы задать движение корпуса,
нужно задать закон движения для двух точек на корпусе 𝑆1 и 𝑆2 , В общем виде
это можно задать уникальные траектории для каждой точки (2.19). Рассмотрим
пример поступательного прямолинейного движения, тогда можно задать закон
движения следующим образом (2.20).
𝑆1𝑥 = 𝑤𝑏1 𝑥 (𝑡);
𝑆1𝑦 = 𝑤𝑏1 𝑦 (𝑡);
𝑆2𝑥 = 𝑤𝑏2 𝑥 (𝑡);
𝑆1𝑥 = 𝑤𝑏 (𝑡);
(2.19)
𝑆2𝑦 = 𝑤𝑏2 𝑦 (𝑡);
Тогда 𝑤𝑏 , для прямолинейного движение имеет вид:
𝑤𝑏 (𝑡) = 𝑥 + 𝑣𝑝𝑟𝑔 𝑡 + 𝑎𝑡2 /2
𝑆1𝑦 = ℎ;
𝑆2𝑥 = 𝑤𝑏 (𝑡);
(2.20)
𝑆2𝑦 = 0;
(2.21)
Ускорение задается оператором с пульта управления, скорость передвижения
элементов системы ограничена техническим характеристиками исполнитель­
49
ных элементов поэтому ускорение определяется следующим образом:
⎧
⎪
⎪
⎪
𝑎𝑖𝑛𝑝𝑢𝑡 , если 𝑣𝑝𝑟𝑔 < 𝑣𝑚𝑎𝑥
⎪
⎪
⎨
𝑎 = 𝑎𝑖𝑛𝑝𝑢𝑡 , если 𝑣𝑝𝑟𝑔 > 𝑣𝑚𝑖𝑛
⎪
⎪
⎪
⎪
⎪
⎩0,
если 𝑣𝑝𝑟𝑔 > 𝑣𝑚𝑎𝑥
(2.22)
Где, 𝑣𝑝𝑟𝑔 - программное значение скорости, 𝑎𝑖𝑛𝑝𝑢𝑡 - значение скорости с пульта
управления, 𝑣𝑚𝑎𝑥 , 𝑣𝑚𝑖𝑛 - максимальное и минимальное значение скорости.
2.2.2. Задание параметров движения движителей
Для системы приведённой на рисунке 2.5.
Закон движения стопы 𝑤𝑓 (𝑡), задается с поморью специальных алгорит­
мов. Траектория движения стопы зависит от следующих параметров шага:
− длина шага;
− номер ноги, к которой принадлежит точка ступни;
− высота подъёма стопы;
− Δ𝑙 поперечное расстояние между точкой опоры и корпусом;
− Δℎ вертикальное расстояние между точкой опоры и корпусом;
− продольное расстояние между точкой опоры и кузовом;
− минимальный период шага;
− координаты точки крепления ноги в системе корпуса.
Кроме того можно выделить постоянные параметры шага зависящие от кон­
струкции. Постоянные параметры:
− максимальная высота подъема стопы;
− максимальное горизонтальное смещение стопы относительно корпуса;
50
− максимальное время переноса стопы;
Алгоритм задания траектории зависит от относительного перемещения
точки на корпусе от точки стопы. На рисунке 2.6 алгоритм показан в виде
конечного автомата, в котором можно выделить следующие состояния, 𝑠𝑡𝑜𝑝 стопа опирается на основание, 𝑚𝑜𝑣𝑒𝑢𝑝 - подъем стопы, 𝑚𝑜𝑣𝑒ℎ𝑜𝑟 - горизонталь­
ный перенос стопы, 𝑚𝑜𝑣𝑒𝑑𝑜𝑤𝑛 - опускание ноги. В каждом состояния точки
движутся по определённому закону. Условием перехода между состояние явля­
ется относительное расстояние между точкой на корпусе робота и стопой, как
только основание оказывается в определённой зоне, происходит переключение
между состояние, параметры шага выбираются в завсмости от скорости движе­
ния. Это обеспечивает перемещение стопы под корпусом робота. Для многоно­
гих роботехнический систем, необходимо учитывать и фазу движения стопы.
На рисунке 2.9 показаны графики продольного и вертикального переме­
щения точек шагающего движителя (𝑥𝑓 , 𝑦𝑓 ), и соответствующее продольное и
вертикального перемещение точек на корпусе шагающего движителя (𝑥𝑏 , 𝑦𝑏 ).
Корпус совершает равномерное прямолинейное движение, при этом стопа ша­
гающего движителя совершает периодические движения.
Δ𝑙 > Δ𝑙𝑚𝑎𝑥
Move up
Stop
Δℎ 6 0
Δℎ > Δℎ𝑚𝑎𝑥
Move horizontal
Move Down
Δ𝑙 > −Δ𝑙𝑚𝑎𝑥
Рис. 2.6. Конечный автомат, задающий движение стопы
На рисунках показаны граффики отражающие закон перемещения корпу­
са и точки стопы в разных состояниях: подъем сотпы, перенос и опускание.
51
−0.2
−0.2
0.1
𝑠, м
𝑠, м
0
𝑠, м
0
−0.4
5 · 10−2
−0.4
−0.6
−0.6
0
0.2
𝑡, c
𝑥𝑓
0.4
𝑦𝑓
0
0.5
a)
1
𝑡, c
𝑥𝑓1.5
𝑦𝑓
𝑓 2
1.6 1.8 𝑥
𝑦
𝑓
𝑡, c
1.4
в)
б)
Рис. 2.7. Графики перемещения шагающего движителя
1
0.2
0
𝑠, м
𝑠, м
𝑣 , м/c
0.4
0.5
−0.2
0
−0.4
0
0
0.2
𝑡, c
𝑣0.4
𝑥𝑓
𝑣𝑦𝑓
0.5
a)
1
𝑡, c
𝑉𝑥𝑓1.5
𝑉𝑦 𝑓
б)
1.4
1.6 1.8 𝑉𝑥𝑓 2
𝑡, c
𝑉𝑦𝑓
в)
Рис. 2.8. Графики изменения скорости точек шагающего движителя
На графиках показано измемение координат корпуса и стопы в процессе
движения. На рисунке показан графике с изменением составляющих скоростей
корпуса иточки шагающго движителая, видно что корпуса совершает равно­
мерное прмолиненой движение, при этом точка стопы совершает переодические
движения.
2.3. Общая схема системы управления
Рассмотрим принципиальную схему управления многозвенной РТС, кото­
рая реализует метод обратной задачи. На рисунке 2.10 показана принципиаль­
ная схема системы управления РТС.
52
1.5
𝑠, м
1
0.5
0
𝑥𝑓
𝑦𝑓
𝑥𝑏
𝑦𝑏
−0.5
−1
0
2
4
6
8
10
𝑡, c
12
14
16
18
20
Рис. 2.9. Перемещение характерных точек и корпуса шагающего привода
𝑠, м
1
0.5
0
−0.5
0
2
4
6
8
10
𝑡, c
12
14
16 𝑉𝑥18
𝑓
𝑉𝑦 𝑓
𝑉𝑥 𝑏
𝑉𝑦𝑏
20
Схема состоит из пульта управления, который задает параметры движе­
ния характерных точек корпуса. Расчет 𝑤𝑓𝑖 производится специальными адап­
тивными алгоритмами. Блок расчета программного движения содержит мате­
матическую модель описывающую управляемую механическую систему. Расчет
программных движений происходит на основе уравнений движений (2.4). Так­
же в схему включены блоки расчета отклонений в соединительных элементах
53
𝑥(𝑡)
Робототехническая
𝑥(𝑡)
˙
система
⎛ ⎞
⎛ ⎞
𝑣
𝑎
⎜ 𝑥⎟
⎜ 𝑥⎟
⎜ ⎟
⎜ ⎟
𝑣 = ⎜ 𝑣 𝑦 ⎟ ; 𝑎 = ⎜ 𝑎𝑦 ⎟
⎝ ⎠
⎝ ⎠
𝑣𝑧
𝑎𝑧
Расчет
отклонений
𝛿(𝑡) Δ(𝑥(𝑡))
˙
𝛿(𝑡)
𝐾1
𝐾2
Пульт управления
Δ(𝑥𝑝𝑟𝑔 (𝑡))
𝑥˙ 𝑝𝑟𝑔 (𝑡)
𝑣, 𝑎
Вычисление
𝑤𝑏 (𝑡)
Расчет
программного
Вычисление
𝑤𝑓𝑖 (𝑡)
движения
𝑥𝑝𝑟𝑔 (𝑡)
Δ(𝑥(𝑡))
˙
Δ(𝑥˙ 𝑝𝑟𝑔 (𝑡))
Расчет
программных
отклонений
𝑡
Рис. 2.10. Схема системы управления
соответствующих исполнительным механизмам. (2.3). Схема включает в себя
регуляторы обратной связи по положению - 𝐾1 и по скорости - 𝐾2 . Управляю­
щие сигналы вычисляются на основе уравнений (2.2).
Блоки вычисления траекторий 𝑤𝑓𝑖 , 𝑤𝑏 и блок расчета программных дви­
жений, являются генератором траекторий.
Подобные генераторы траекторий можно использовать в различных систе­
мах управления с обратной связью в качестве источника требуемого движения.
2.3.1. Метод генерации программного движения
На основе предлагаемого способа задания математической модели и зада­
ния движений характерных точек, предлагаемый метод генерации программно­
го движения состоит в следующей последовательности действий:
1. В исходную модель динамики систем тел со связями добавляются дополни­
тельные фиктивные связи (соединительные элементы), которые соответ­
ствуют исполнительным механизмам управляемой механической системы.
2. Исходная модель дополняется законами изменения траектории движения
характерных точек w𝑏 , w𝑓𝑖
54
3. Находится численное решение системы уравнений (2.4), определяются про­
граммные координаты системы x𝑝𝑟𝑔 .
4. В исходную модель по разработанным интерфейсам отправляются коман­
ды от пульта управления.
5. На каждом шаге интегрирования системы вида (2.4) определяются от­
носительные перемещения соединительных элементов соответствующим
исполнительным механизмам Δ(x𝑝𝑟𝑔𝑖 ).
6. На каждом шаге итерации обмена команд с управляемой системой ге­
нерируется команды для исполнительных устройств, на основе данных,
полученных при интегрировании, и данных, получаемых от сенсоров.
Под фиктивными элементами понимаются такие соединительные элемен­
ты, которые не оказывают ни какого влияния на расчтеную схему, однако их по­
ложение соответствует исполнительным механизмам. Например, для линейного
привода необходимо задать соединительный элемент, между точкой крепления
штока и точкой крепления корпуса, тогда удлинение этого соединительного эле­
мента будет соответствовать удлинению привода.
В работе показан только способ задания законов движения характерных
точек, однако в зависимости от решаемой задачи закон движения стоп может
отличаться от приведенного. Также в модель добавляются так называемые мно­
гополюсник, через механизм которых можно задать параметры двиения отдель­
ной выделенной точки. Подразумевается что через этот механизм будет реали­
зован алгоритм задания пользовательских движений.
Для нахождения численного решения уравнений (2.4) целесообразно ис­
пользовать существующие средства численного решения.
55
2.4. Выводы по главе 2
Во второй главе приведено формальное описание математической модели
описывающей движение системы твердых тел по заданными траекториям.
1. Приведены уравнения описывающие мобильного робота как систему твер­
дых тел.
2. Показан пример вывода уравнений динамики.
3. Приведено описание метода решения уравнений обратной задачи динами­
ки с вырожденной матрицей уравнений связей;
4. Предложен способ задания управляемого движения через задание законов
движения характерных точек.
5. Описана общая схема система управления, использующая метод обратной
задачи для генерации программного движения.
6. Разработан метод генерации программного движения.
56
Глава 3
Разработка программного комплекса
3.1. Требования к системе моделирования
На основе анализа предметной области, и метода синтеза программного
движения были выдвинуты следующие требования к программному комплексу
моделирования и управления РТС:
− создание многотельной модели РТС, отражающей ее структуру, механи­
ческие характеристики связей между элементами и параметры тел;
− изменение параметров модели;
− генерация уравнений динамики по заданному описанию модели;
− расчет уравнений математической модели;
− задание законов программного движения;
− генерация программного движения;
− управление РТС в различных режимах;
− визуализация результатов моделирования и управления.
Система должна реализовать функции создания и редактирования модели
описывающих структуру и свойства РТС в терминах предметной области.
По заданному описанию система должна строить уравнения описывающие
заданную РТС.
Система должна осуществлять численное интегрирование математической
модели. Решении модели можно разбить на два типа, решение по заранее за­
данным параметрам, и решение на неограниченном промежутке времени (ин­
терактивный режим). В первом случае параметры решения модели постоянны
57
и не изменяются по ходу решения модели, а промежуток моделируемого вре­
мени за ранее известен. После решения уравнений результаты анализируются
с помощью специальных инструментов. Для интерактивного расчета конечное
время решения за ранее не определено, а параметры модели и решения могу из­
менятся по ходу интегрирования модели. Для анализа результатов необходимо
разработать инструменты, которые бы могли отражать результаты моделирова­
ния в процессе расчета. Строить трехмерную анимацию модели отражающую
текущее состояние модели. Производить измерения различных и отражать их
на графиках по мере поступления результатов.
Законы программного движения могут задаваться двумя способами, че­
рез программный пульт управления для интегральных параметров движения и
через специальные подпрограммы для движителей.
Результатом решения модели является программное движение. Разрабаты­
ваемая система должна обеспечивать генерацию управляющих последователь­
ностей для исполнительных механизмов.
Система управления РТС должна обеспечивать взаимодействие и переда­
чу данных между системой моделирования и аппаратурой управляемой меха­
нической системы.
Для создания и генерации моделей РТС целесообразно использовать су­
ществующие пакеты многотельного моделирования. На основе анализа пред­
метной области в качестве такой системы был выбран пакет многотельного мо­
делирования ФРУНД.
На основе выдвигаемых требований построена UML диаграмма вариантов
использования разрабатываемой системы, рисунок 3.1.
58
Рис. 3.1. Диаграмма вариантов использования
59
3.2. Архитектура системы генерации программного
движения
На основе анализа требований определен следующий состав функций си­
стемы:
1. создание модели РТС;
а. задание координат узлов описывающих тела;
б. задание связей между узлами тел;
в. задание механических характеристик связей;
г. задание вешних сил;
д. задание механические характеристики сил;
е. задние управляющих элементов(макросов);
2. редактирование модели;
а. изменение параметров тел;
б. изменение параметров кинематических связей между телами;
в. изменение параметров решения математической модели;
г. изменение алгоритмов движения характерных точек;
3. генерация уравнений математической модели;
4. решение уравнений математической модели численными методами;
5. синтез управляющих сигналов;
а. синтез последовательности управляющих сигналов;
б. синтез управляющих сигналов на основе отклонения программного
движения и данных получаемых от сенсоров;
60
6. управление роботом;
а. организация подключения к управляемой системе;
б. мониторинга состояния;
в. отправки команд;
г. получение ответных сообщений;
д. задание команд определяющих начальное;
7. визуализация результатов работы системы;
а. трехмерная визуализация изменений в расчетной схеме;
б. построение графиков;
в. визуализация графиков;
г. интерактивное построение и визуализация.
На основе функциональной структуры разработана архитектура системы,
представленная на рисунке 3.2 в виде UML диаграммы компонентов.
Основными компонентами системы являются:
1. модуль программного пульта управления;
2. подсистема моделирования;
3. подсистема визуализации данных;
4. модуль контроллера решения;
5. генератор команд;
6. подсистема реализующая обмен данных с оборудованием.
7. подсистема генерации управляющих команд.
Рис. 3.2. Архитектура системы
61
62
3.2.1. Пульт управления
Программный пульт предназначен для задания общих параметров движе­
ния РТС(максимальная скорость, ускорение, направление движения, угловая
скорость и ускорение). Главная функция программного пульта управления это организация ввода параметров управляемого движения. Ввод данных мо­
жет быть организован как с помощью графического интерфейса так и с помо­
щью аппаратных средств, например джойстики или ручки.
3.2.2. Подсистема моделирования
Подсистема моделирования предназначена для организации работы с рас­
четной моделью, т.е это создание, генерация и решение уравнений математиче­
ской модели. Также эта подсистема включает в себя элементы отвечающие за
генерацию траекторий движения. Подсистема моделирования включает в себя
следующие компоненты:
− библиотека компонентов ФРУНД модели;
− генератор траекторий управляемого движения;
− алгоритмы генерации траекторий управляемого движения;
− уравнения описывающие многотельную модель;
− численные методы интегрирования.
Библиотека компонентов ФРУНД модели предоставляет интерфейс FModel.
Для использования этих компонентов в систему моделирования было внесено
ряд изменений, классы описывающие работу с многотельной моделью, предо­
ставляющие функции по генерации модели были вынесены в отдельную биб­
лиотеку.
63
Генератор траекторий управляемого движения предназначен для генера­
ции и изменения траектории в зависимости от параметров получаемых от про­
граммного пульта управления.
Алгоритмы генерации траекторий управляемого движения осуществляет
синтез траекторий на основе заданных параметров и изменений происходящих
в процессе решения математической модели. Данные алгоритмы должны обес­
печивать устойчивые и комфортабельное передвижение с помощью шагающего
движителя. Для статически устойчивых систем, эти алгоритмы должны решать
задачу выбора параметров движения стоп шагающего движителя. В случае
если управляемая система должна реализовывать статические не устойчивую
походку, алгоритмы генерации программного движения могут учитывать раз­
личные условия позволяющие сохранять равновесие.
Данные алгоритмы и генераторы реализуют метод заданной синергии.
Программное представление модели реализовано набором классов описы­
вающих тела, связи между ними и параметры решения. Тела имеют следующие
параметры:
- поступательные и вращательные степени свободы;
- инерционные параметры(масса, моменты инерции);
- каркасная геометрия(координаты точек и связи между ними).
Параметры связей:
- номера тела соединяемых тел;
- координаты точек крепления;
- тип соединительного элемента(пружина, шарнир).
Уравнения многотельной модели, это статическая библиотека содержащая
в себе программный код, получаемый в результате символьной генерации урав­
нений модели на основе описания в терминах FModel.
64
Численные методы интегрирования обеспечиваю численное решение задан­
ной системы уравнений.
3.2.3. Визуализация результатов
Подсистема предназначена для визуализации результатов моделирования
как в процессе расчета так и расчитанных за ранее данных. Подсистема должна
обладать следующей функциональностью:
− трехмерная визуализация изменений в расчетной схеме;
− построение графиков;
− визуализация графиков;
− интерактивное построение и визуализация.
Трехмерная визуализация изменений расчетоной схемы реализуется с по­
мощью открытой библиотеки VTK, на основе нее реализованы компоненты,
которые позволяют отображать твердые тела, соединительные элементы и на­
грузки. Подсистема строит трехмерное представление расчетной схемы по опи­
санию компонентов ФРУНД модели. Анимация реализуется с помощью функ­
ции которая применяться текущую трансформацию к элементам модели.
Построение графиков реализуется с помощью компонентов открытой биб­
лиотеки Qwt, для этого на основе нее реализован собственный компонент, ко­
торый позволяет строить график в режиме реального времени по мере поступ­
ления новых результатов. Область построения графиков имеет возможность
адаптировать свой размер под диапазон изменения значений на графике. Под­
система построения графиков принимает сигнал с даными об очередной точек,
в которых входят данные о номере или названии кривой, момент времени и
значение. Данные выводятся по мере поступления.
65
3.2.4. Контроль решения MBS модели
Контроллер решения математической модели предназначен для управле­
ния процессом интегрирования уравнений математической модели. Контроллер
выполнят следующие функции:
− формирование задание на для расчета промежутка времени;
− формирование данных для визуализации расчет ной схемы(координаты и
трансформации для всех элементов модели);
− подготовка данных для визуализации графиков (координаты, скорости и
ускорения заданных точек, относительные изменения в соединительных
элементах);
− формирование данных для генератора команд управления;
− синхронизация расчета и управления.
3.2.5. Генератор команд управления
Предназначен для синтеза управляющих сигналов на основе данных по­
лучаемых от контроллера решения модели и данных получаемых от сенсоров.
Позволяет генерировать команды.
Содержит в себе программную реализацию ПИД регулятора. Функции
фильтрации экспериментальных данных.
Команды двух типов, управляющие и команды опроса сенсоров В зависи­
мости от исполнительного устройства позволяет позволяет получать различные
данные: текущее положение, скорость, усилие, активный ток и т.д. Управляю­
щие команды могут задаваться разными способами:
- задание требуемого положения, новая координата вычисляется по синте­
зированным программным движениям, требуемое положение выбирается
66
на момент времени равным средней постоянной задержке, в этом случае
время в явном виде не пристусвтуе в системе;
- задание скорости движения;
- задание усилия.
- задание закона движения, например, в явном виде задается ускорение
разгона, скорость движения, и ускорение торможения.
Способ зависит от возможностей бортовой системы управления.
3.2.6. Контроллер оборудования
Предназначен для организации связи между вычислительной машиной на
которой запущена система моделирования и подключенной к ней управляемой
механической системе. Выполняет функцию преобразования сегрегированных
команд в соответствии с протоколом конкретной управляемой системы.
В этом компоненте содержатся абстрактный интерфейс и его реализации,
для конкретной РТС. Отправка команд возможна в двух режимах: пакетная
отправка и адресная отправка сообщений. Для пакетной отправки, все команды
формируются паект, в котором содержатся номер исполнительного устройства
и команда, т.е команды на все управляющие устройства доставляются одной
отправкой. Такой режим целесообразно использовать для большого количества
одновременно управляемых исполнительных механизмов для сокращения вре­
менных задержек. Как правило в ответ получаются данные ото всех измери­
тельных устройств установленных в системе.
В случае адресной отправки, управляющий сигнал или запрос отправля­
ется на конкретное устройство. Этот режим целесообразен для небольшого ко­
личества одновременно управляемых устройств, такой режим позволяет сэко­
номит время необходимое для расшифровки пакета.
67
Оба варианта реализуются в зависимости от протокола связи предостав­
ляемого управляемой механической системы.
Таким образом интерфейс взаимодействия системы моделирования и бор­
товой системы управления должен реализовывать следующие функции:
- подключение, подключение к конкретному приводу, либо подключение с
системе управления целом, реализаци зависит от протокола связи, кото­
рый определяется характеритиками оборудования, является обязательной
функцией;
- инициализация начальных данных, подготовка аппартуры перед началом
управления, не обязательная функция;
- отправка команд задания требуемого положения;
- установка скорости движения управляемого привода;
- установка усилия в приводе;
- отправка пакета команд с заданиями для каждого привода;
- получение значений от конкретных датчиков;
- пакетное получение данных от всех измерительных устройств доступных
в управляемой механической системе;
- остановка движения.
Также возможны дополнительные команды, например по установке значе­
ний коэффициентов регуляторов.
3.3. Расчет и управление в интерактивном режиме
Главной функцией системы является синтез управляющих сигналов в ин­
терактивном режиме. Управление осуществляется оператором посредством из­
68
менения кинематических параметров движения характерных точек в процессе
решения уравнений математической модели.
Управление системой осуществляется через изменения параметров матема­
тической модели. Для этого в модель добавлены специальные подпрограммы,
которые позволяют менять кинематические параметры некоторых точек в про­
цессе решения математической модели.
Генератор команд управления синтезирует управляющие сигналы на осно­
ве результатов решения математической модели и данных получаемых от сенсо­
ров. Для обеспечения работы системы в таком режиме необходимо соблюдения
следующего условия:
Δ𝑡 ≤ 𝑡𝑟𝑎𝑠 ≤ 𝑡𝑚𝑜𝑑
(3.1)
где, Δ𝑡 - промежуток времени расчета, 𝑡ras - время необходимое на расчет ите­
рации, 𝑡mod - время моделирования(реальное время). 𝑡𝑚𝑜𝑑 зависит от частоты
отправки управляемых сигналов и определяется характеристиками аппарат­
ной части управляемой системы, шаг интегрирования модели подбирается та­
ким образом, чтобы обеспечить решение модели в режиме реального времени
[108–110]. Δ𝑡 выбирается в зависимости от характеристик управляемой систе­
мы, значение выбирается таким образом чтобы оно не превышало шаг перио­
дичность отправки команд.
На рисунке 3.3 показа UML диаграмма последовательностей управления
и решения модели в интерактивном режиме.
В системе можно выделить два главных потока, поток решения математи­
ческой модели и поток работы системы управления. Поток в котором работает
система управления, осуществляет управление преминем, таким образом чтоб
соблюдалось условие описанное выше, т.е в данном потоке формируются за­
дания для расчета очередного шага математической модели, обрабатываются
данные поступающие от пульта управления и передаются в математическую мо­
дель дл изменения параметров движения характерных точек, обрабатываются
69
Рис. 3.3. Диаграмма последовательностей
данные получаемые от измерительных систем управляемой механической систе­
мы, на основе собранных данных синтезируются команды управления. Система
управления работает в дискретном режиме.
Описанная система реализована на языке С++ и использованием фрейм­
ворка Qt для организации графического интерфейса и сторонних библиотек
QWT и VTK для организации визуализации результатов моделирования. Осо­
бенностью работы системы ФРУНД, является символьная генерация уравнений
математической модели на языке фортран т.е математическая модель предста­
яляет собой динамическую библиотеку содержащую в себе программную реа­
лизацию уравнений модели, адаптивных алгоритмов подбора параметров шага
и библиотеки численного интегрирования. Это позволяет использовать полу­
ченную модель в составе бортовой системы управления в качестве элемента генератора траекторий. Подобное решение позволяет использовать модель с ми­
нимальным набором необходимого функционала, без графического интерфейса
и других инструментов по работе с моделью.
70
3.4. Выводы по главе 3
В главе рассмотрена задача разработки программного комплекса модели­
рования и управления РТС.
Сформулированы требования к системе моделирования, использующей ме­
тод обратной задачи для генерации программных движений. Описана архитек­
тура и подсистемы программного комплекса и особенности реализации системы
моделирования.
Применение элементов существующей системы многотельного моделирова­
ния позволило качественно реализовать предлагаемый метод. Средства визуали­
зации позволяют более эффективно подбирать управление, т.к видны все изме­
нения в реальном времени в модели в управляемой системе, на анимированной
трехмерной модели 3д и на графиках. Рассмотрена проблема синхронизации ре­
шения уравнений математической модели и процесса генерации управляющих
сигналов.
Разработанная система позволяет использовать новый метод, в полной ме­
ре, т.е позволяет генерировать и решать уравнения описывающие управляемую
систему, синтезировать управляющие сигналы, на основе результатов решения
и данных получаемых от сенсоров. В главе 3 дано описание решения следующих
задач:
1. разработка предметного представления РТС;
2. разработка архитектуры программного комплекса;
3. синхронизация систем расчета и управления;
4. разработка подсистемы визуализации;
5. реализация подсистем организующих работу с аппаратурой.
В программном комплексе предусмотрена возможность использования по­
строенных математических моделей использовать в качестве генератора траек­
71
торий в системе управления движением.
72
Глава 4
Эксперименты
Предложенный метод применен к различным РТС: демонстрационная мо­
дель манипулятора-трипода, шагающий робот с ортогональной поворотным дви­
жителем и робот андроид AR-600E. Для каждого из роботов построены матема­
тические модели и проведены различные численные и натурные эксперименты.
4.1. Манипулятор-трипод
4.1.1. Описание конструкции
Манипулятор-трипод состоит из трех линейных приводов и основания. Точ­
ки подвеса линейных приводов на основании расположены в вершинах равно­
стороннего треугольника. Основание, линейные приводы и точка их соедине­
ния образуют тетраэдр. Подвижность конструкции обеспечивается благодаря
использованию трёх сферических шарниров для крепления приводов к осно­
ванию и двух сферических шарниров в нижней точке соединения приводов.
Основание обеспечивает статическую устойчивость конструкции во время дви­
жения. Нижняя точка соединения шарниров образует стопу шагающего движи­
теля. Выбранная кинематическая схема обладает одной избыточной степенью
свободы (поворот опор вокруг вертикальной оси вдоль одного из приводов), что
компенсируется специальными упругими элементами, препятствующим враще­
нию одного из приводов вокруг своей оси.
Для описанной схемы был разработан и построен отладочный стенд.
В качестве исполнительных механизмов, выбраны линейные приводы (ак­
туаторы), главным преимуществом по сравнению с гидравлическим или пневма­
тическими цилиндрами, является электро питание т.е нет необходимости стоить
сложную и дорогую систему с источниками высокого давления, насосами и т.д.
73
Конструктивно линейные приводы представляют собой винтовую передачу, ре­
дуктор и электромотор или сервопривод. Линейные приводы выбирались по
следующим характеристикам:
- скорость перемещения;
- наличие встроенных сенсоров;
- максимальное развиваемое усилие;
- наличие встроенных сенсоров.
В качестве исполнительных механизмов были выбраны линейные приводы
Firgelli L-16-63-P обладающие следующими характеристиками:
- максимальная скорость 20 мм/с;
- масса 74г;
- точность позиционирования 0.4 мм;
- напряжение 12 в;
- сила тока 650 мА;
- ход штока 138 мм;
Система управления приводами построена на базе микропроцессора STM32F100
. Драйвер двигателей построен на основе микросхемы L298P. Более подробное
описание реализации системы управления приводами приведено в приложении
Б. Схема и изображение демонстрационного стенда приведена на рисунке 4.1.
Команды отправляемые на микроконтроллер имеют следующий формат:
<название команды>, <номер канала>, <параметр>. Для управления доступ­
ны следующие команды:
74
б)
a)
Рис. 4.1. Схема конструкции отладочного стенда ноги робота
- <i> - инициализация, в ответ получается от системы управления получа­
ем уникальных идентификатор микросхемы, в этом случае считаем что
подключение установлено успешно и бортовая система управления готова
к работе;
- <s> - управление напряжением поступающем на двигатель, задается из­
менением параметра степени заполнения ШИМ,
- <p> - получение позиции, в ответ на этот запрос возвращается текущая
позиция, возвращаемое значение находится в промежутке от 0-100, калиб­
ровка и перевод значений в метры осуществляться программным путем;
- <stop> - остановка указанного привода.
В системе моделирования был реализован интерфейс который обеспечивал под­
держку системы команд приведенной РТС.
4.1.2. Экспемерименты
Для описанной конструкции построена математическая модель в системе
ФРУНД, расчетная схема модели приведена на рисунке 4.2. Модель содержит
в себе девять тел и двенадцать соединительных элементов.
75
Рис. 4.2. Расчетная схема манипулятора трипода
Управление осуществлялось на основе относительных перемещений линей­
ных актуторов, получаемых из системы моделирования
Целью проводимых экспериментов была проверка и отладка разработан­
ной системы, также необходимо было исследовать характеристики линейных
актуаторов FL-16-63P. Линейные актуаторы исследовались как отдельно, так и
в составе манипулятора. Необходимо было выяснить максимально возможные
скорости перемещения под различными нагрузками, для этого к актуторам под­
вешивались грузы разной массы и проводились серии экспериментов. Было вы­
яснено, что максимальная скорость в свободном положении составляет 22 мм/с,
максимальная скорость под нагрузкой 2 кг составляет порядка 1-2мм/с. Увле­
чение нагрузки на приводы привело к выходу их строя элементов редуктора.
На основе этих данных били внесены необходимы изменения в систему задания
программного движения.
Для описанной конструкции были проведены различные опыты по управ­
ляемому движению, в ходе которых эмпирическим путем были подобраны пара­
метры ПИД регуляторов для линейных приводов. В ходе отладки и настройки
76
стенда столкнулись с проблемой шума в экспериментальных данных, на ри­
сунке 4.3 показан графики первоначальных экспериментальных данных. Для
решения этой проблемы в системе необходимо было произвести замену блока
питания на аккумулятор, что позволило избавится от сетевого шума в системе.
После реализации фильтра скользящего среднего удалось значительно сокра­
тить уровень шума.
Рис. 4.3. Данные с сенсоров линейных приводов
Над манипулятором-триподом ставились следующие опыты: моделирова­
ние поступательного движения в различных направлениях и поворот корпуса.
После настройки параметров манипулятора эксперименты проводились в син­
хронном режиме, т.е управляющий сигналы синтезировались в процессе моде­
лирования, а параметры движения корпуса задавались с программного пульта
управления.
Параметры движения характерных точек задаются для точек на корпусе
робота(на рисунке 4.2 точки обозначены цифрами 1,2,3). Параметры траекто­
рии движения точки стопы задаются с помощью специальной подпрограммы,
алгоритм работы которой описан в предыдущей главе.
На рисунке 4.4 приведен след прямолинейного программного движения.
На рисунке 4.5 показаны графики изменения относительного удлинения одно­
го из линейных приводов. Между результатами экспериментов и результатом
расчета есть некоторые различия. На графике виден сдвиг фаз, который объяс­
77
няется задержками в системе управления при передаче сообщений. Отправка
команд на управление и запросов о состоянии сенсоров осуществляется через
последовательной порт. Эксперименты показали хорошую сходимость между
программным и аппаратным движением приводов, и только качественное меж­
ду программным и аппаратным движением основания. Это объясняется отсут­
ствием измерительных устройств на стенде робота, которые могли бы показать
ориентацию корпуса в пространстве и характеристики его движения.
В результате экспериментов для робота разработан программный пульт
управления роботом, оператор с пульта управления может изменять следующие
параметры:
- направление движения;
- скорость движения;
- ускорение разгона и торможения;
- клиренс.
4.2. Шагающий робот с ортогонально-повторным
движителем
4.2.1. Описание конструкции
Шагающий робот со сдоенным ортогонально-повторным движителем, раз­
работан на кафедре «Теоретическая механика» ВолгГТУ. Шагающий робот
предназначен для перемещения по ровной и пересеченной местности, с возмож­
ностью преодоления препятствий высотой до 400 мм, и уклоном боковом и про­
дольном не более 10∘ . Робот может применяться для разведки местности, разми­
нирования, перемещения по туннелям. Задымленным и загазованным участком.
Конструкция робота состоит из следующих элементов:
78
Рис. 4.4. След программного движения манипулятора трипода
·10−2
7
изм. знач.
прог. знач.
𝑠, м
6
5
4
3
2
10
15
20
25
30
35
𝑡, c
40
45
Рис. 4.5. График относительного перемещения
50
55
60
79
- корпус;
- выдвижные вертикальные опорные стойки с электромеханическим приво­
дом (привод вертикального перемещения);
- электромеханические приводы горизонтальных опорных стоек;
- четырех консольно-поворотных направляющих для каждой пары верти­
кальных стоек;
- четырех поворотных электроприводов направляющих (привод поворота);
- бункер электрооборудования;
- агрегата питания.
На основании робота закреплено четыре поворотных опоры, оснащенных
четырьмя поступательными приводами, два из которых обеспечивают движе­
ние стопы в горизонтальном и 2 в вертикальном направлении. Таким образом,
робот содержит двадцать приводов, и обладает двадцатью степенями свобо­
ды.В качестве исполнительных механизмов используются линейные и поворот­
ные электрические приводы.
В качестве исполнительных механизмов используются сервоприводы фир­
мы EXLAR (США). Сервопривод состоит из:
- синхронного сервомотора с постоянными магнитами и встроенным датчи­
ком обратной связи;
- инвентированной ролико-винтовой передачи (ИРВП).
Статор электромотора представляет собой ламинированные сегменты с об­
моткой, что повышает крутящий момент. Электромагнитное поле, создаваемое
обмотками статора, вращает ротор сервомотора. ИРВП преобразует вращатель­
ное движение ротора в поступательное движение штока. Вращающийся под
80
действием электромагнитного поля ротор представляет собой полый цилиндр
с внутренней резьбой, внутри которого по резьбе линейно движется механизм
с большим количеством роликов. На внешней поверхности цилиндр (ротора)
надежно закреплены ряды постоянных магнитов, количество которых опреде­
ляет крутящий момент и усилие линейного перемещения. В состав ШМ входят
следующие типы сервоприводов:
- для механизмов поворота серводвигатель SLG-090-100 – 4 шт;
- для механизмов вертикального перемещения - серводвигатель GSM30-18028шт;
- для механизмов горизонтального перемещения – серводвигатель GSM 301805 – 8шт.
Для обслуживания каждого серводвигателя применяется отдельный блок управ­
ления DST1204Р, всего их в ШМ – 20 шт.
На рисунке 4.6 a) приведена расчетная схема робота.
Управление приводами осуществляется через задание требуемого положе­
ния, максимальной скорости и двух ускорений, разгона и торможения. Инфор­
мационно измерительная система предоставляет информацию по текущему со­
стоянию каждого привода, положение и активный ток. Бортовая система управ­
ления позволяет передавать команды в двух режимах, пакетная и адресная
отправка команд. При пакетной отправке формируется единое сообщение со­
держащие в себе информацию о командах для всех двадцати приводов, в ответ
на эту команду от бортовой системы управления получается информация о со­
стоянии системы по всем двадцати исполнительным механизмам, недостатком
этого режима работы является высокое значение постоянной сетевой задержки,
доходящее до значений в 0.2 секунды. Используемые в системе приводы позво­
ляют задавать достаточно высокую скорость перемещения, до нескольких сан­
тиметров в секунду, с такой высокой задержкой ошибка позиционирования мо­
81
а)
в)
б)
г)
Рис. 4.6. Расчетная схема, след программного движения робота-ортонога
жет достигать нескольких сантиметров, при максимальной скорости движения.
Это можно объяснить тем что ответ от бортовой системы управления приходит
только после того как будет проведен сбор информации по всем приводам. При
адресной отправке команд с каждым приводом устанавливается отдельное под­
ключение по сети. Адресная отправка команд позволяет в некоторых режимах
оптимизировать отправку команд только тем устройствам, которые участву­
ют в движении. Однако в этом режиме необходимо учитывать синхронизацию
отправки управляющих сигналов. Для задания управления доступна команда
задающая закон движения привода. Закон движения привода задается следую­
82
щими параметрами:
- требуемое положение привода;
- ускорение разгона;
- максимальное значение скорости;
- ускорение торможения.
В системе моделирования реализован интерфейс поддерживающий прото­
кол обмена команд с бортовой системой управления.
4.2.2. Эксперименты
Целю проводимых экспериментов была проверка работа адаптивного алго­
ритма выбора параметров шага для многоногой машины. В отличии от преды­
дущей конструкции, при шагании необходимо учитывать фазу движения стопы
и согласованность параметров шага стопы, в зависимости от других ног.
Для описанной конструкции была построена математическая модель в си­
стеме ФРУНД. Модель содержит двадцать одно тело и более двадцати соедини­
тельных элементов. В модель добавлены средства(макросы), предоставляющие
интерфейс для задания величин и направления ускорений характерных точек.
Для задания управления системой на теле соответствующем корпусу были вы­
браны три точки, для которых задавались законы движения.
Для шагающих движителей были выбраны характерные точки на телах
соответствующих стопам шагающих движителей всего восемь точек. Движе­
ние которых задается с помощью адаптивного алгоритма, описанного в гла­
ве 3. Статические параметры шага, задающие ограничения работы алгоритма:
максимальное относительное смещение между точек вдоль осей, максимальная
величина подъема ног, максимальное время переброса ноги и т.д. подобраны та­
ким образом чтобы в процессе передвижения система находилась в статическом
83
равновесии. Параметра фазы шага каждой из ног подобраны таким образом что­
бы в процессе движения робот всегда опирался четыре стопы. Относительные
перемещения движителей получались в результате решения уравнений матема­
тической модели.
С помощью разработанного комплекса проводились различные опыт по
численному моделированию движений описанной конструкции. В ходе этих опы­
тов были подобраны параметры движения, значения параметров шага зависят
от ТТХ используемых приводов и особенности конструкции шагающего движи­
теля. Были проведены различные эксперименты по продольному и поперечному
движению, результаты математического моделирования приведены на рисунке
4.6 б) и в). Для этого трем характерным точкам был зада одинаковый закон
перемещения. В ходе эксперимента корпус робота должен был равноускорен­
ный разогнаться до определенной скорости, и затем остановится с заданным
ускорением.
Для робота была проведена серия экспериментов на различных скоростях
движения, в том числе разгон для максимальной скорости. Для такого режи­
ма были проведены натурные эксперименты, но из за технических ограничей
удалось проверит только воспроизведение заранее сгенерированной управля­
ющей последовательности. На рисунке 4.7 приведен графики относительных
перемещений одного из линейных приводов. На графике видна накапливающа­
яся ошибка в смещении фазы, это можно объяснить тем что бортовая систе­
ма управления только воспроизводила заранее сгенерированную управляющую
последовательность. Эта последовательность расчитана на определенную пери­
одичность отправки управляющих команд. Но из за особенностей работы бор­
товой системы управления не возможно отправить команду, до тех пор пока
не будет получен ответ от предыдущей команды. Поэтому в ходе эксперимента
была нарушена периодичность отправки команд. Несмотря на это на графике
видно, что управляемая система достаточно точно отрабатывает задаваемый
закон движения.
84
0.4
0.35
эксп. знач.
прог. знач.
𝑠, м
0.3
0.25
0.2
0.15
0
2
4
6
8
10
12
14
𝑡, c
16
18
20
22
24
Рис. 4.7. Графики экспериментов по управлению робота ортоног
Также моделировалось движение поворота вокруг вертикальной оси. Для
этого с помощью специальной подпрограммы характерным точкам были задан­
ны такие параметры движения(ускорение и направление), чтоб они обеспечи­
вали требуемое вращательное движение. На рисунке 4.6 г) показан след такого
движения.
Применение предлагаемого метода генерации программного движения и
разработанной системы моделирования, позволило реализовать два режима дви­
жения - поступательное движение корпуса и поворот.
4.3. Робот андроид
4.3.1. Описание конструкции
Апробация предлагаемого метода синтеза программного движения прово­
дилась на роботе AR-600E разработанным и сконструированным компанией
ОАО «НПО «Андроидная техника». Робот представляет собой полноразмерную
антропоморфную РТС высотой 120 см, и массой 58 кг, кинематическая схема
и изображение робота приведены на рисунке 4.8. Для управления роботом до­
85
ступно более 30 приводов, протокол связи позволял получать информацию о со­
стоянию всех приводов, давление в стопах и данные с гироскопа, который уста­
новлен в корпусе робота. Обмен командами происходил в синхронном режиме,
на стороне системы моделирования формировался пакет содержащий коман­
ды для всех приводов в ответном сообщении содержались данные от датчиков.
В системе моделирования был реализован интерфейс реализующий протокол
обмена команд предоставляемый бортовой системой управления.
б)
a)
Рис. 4.8. Кинематическая схема и изображение робота AR-600E
Управление осуществляется заданием угла поворота двигателя, угловой
скорости и ускорения. Также интерфейс системы управления роботом позво­
лял с помощью специальных команд задавать коэффициенты ПИД регулято­
ра. Механическая часть робота включает в себя различные передачи (волновые
редукторы, ременные передачи и т.д. ) однако бортовая система управления ре­
ализует управление по положению в каждом сочленений робота, поэтому при
управлении достаточно задать угол поворота одного из сочленений не заботясь
о том как именно нужно управлять двигателем. Также доступно управление
тормозными муфтами для фиксации положения некоторых приводов, напри­
мер фиксация приводов отвечающих за коленные и тазобедренные суставы.
86
Для описанного робота были построенный две математические модели:
модель руки, модель андроида.
Модель руки содержит в себе четыре тела и шесть соединительных элемен­
тов. Элементы модели соответствуют корпусу робота и одной из конечностей
(лева рука). Расчетная схема показана на рисунке 4.9 а).
а)
б)
Рис. 4.9. Расчтеная схема мануплятора робота AR-600
Математическая модель андроида включает в себя все основные звенья
описанного робота, и состоит из двадцати тел и тридцати соединительных эле­
ментов. Упрощением приведенной модели является звенья соответствующих
кистям рук, вместо них использовалось одно твердое тело. Для управления
движением пальцев руки планируется разработать отдельную математическую
модель.
4.3.2. Эксперименты
Для управления моделью руки были выбраны характерные точки на те­
ле ответствующем кисти руки. Моделировалось движение подъема руки. Были
проведена серия опытов с различными параметрами и условиями, например
87
проводились опыты по подъему руки утяжеленной с помощью грузов по 1 кг.
На графике ?? показано движение с номинальной скоростью, робот достаточно
точно отрабатывает заданное программное значение, а сдвиг фаз сопоставим
с временными задержками системы управления. движения в соединительных
элементах 1, 2, 3 соответствуют плечевом локтевому суставу и шарниру обес­
печивающим разворот плечевого сустава. На графике
??
показана реакция си­
стемы на программное движение со скоростями прививающими возможности
робота андродида.
прог. 1
изм. 1
прог. 2
изм. 2
прог. 3
изм. 3
0.6
𝑠, м
0.4
0.2
0
0
0.5
1
1.5
2
2.5
𝑡, c
3
3.5
4
4.5
5
Рис. 4.10. Графики изменения угла поворота в приводах руки. Эксперимент 2
Управление моделью робота андроида. Также была построена математи­
ческая модель робота андроида.
Также были проведены эксперименты по управлению походкой, интеграль­
ные параметры описывали движения корпуса, для стоп робота были заданы
адаптивны алгоритмы обеспечивающие шагание под корпусом робота в задан­
ном пределе.
Для задания общих харакетритик движения робота андроида, на его кор­
пусе были выбраны три характерных точки, которым были заданны парамет­
88
1.6
прог. 1
изм. 1
прог. 2
изм. 2
прог. 3
изм. 3
1.4
1.2
1
0.8
𝑠, м
0.6
0.4
0.2
0
−0.2
−0.4
−0.6
−0.8
0
0.2
0.4
0.6
0.8
1
1.2 1.4
𝑡, c
1.6
1.8
2
2.2
2.4
Рис. 4.11. Графики изменения угла поворота в приводах руки. Эксперимент 18
ры прмолененойго движения, в частности моделировалась не быстрая поход­
ка(скорость 2-3 см/c). На рисунке
??
показан след моделируемой походки. На
графике показан примеры исполнения синтезированных управляющих после­
довательностей для андроида AR-600E, показаны программные и эксперимен­
тальные значения в коленных суставах, награфике видно что движение идет в
противофазе.
В связи с тем что адаптивный алгоритм задания движений шагающего дви­
жителя не учитывает устойчивость робота. то для того чтобы добиться устойчи­
вого движения робота андродида, параметры шага выбирались, таким образом
чтобы шаги были не большими и короткими.
89
Рис. 4.12. След прямолинейного движения робота андроида
4.4. Выводы к четвертой главе
С применением разработанного метода проведено моделирование трех ро­
ботов с шагающем движителем. Робот манипуоято-трипод, шагающий робот
с ортогонально поворотным движителем, робот андроид. Для каждого из ро­
ботов были построены математические модели, заданы характерные точки по
управлению корпусом и алгоритмы для управления точками движителей.
Реализован макет системы управления механической системой с избыточ­
ными связями, использующей предлагаемый метод генерации программного
движения. Коэффициенты обратных связей были подобранных опытным пу­
тем.
Проведены опыты по управлению приведенных в работе роботов. Управле­
ние осуществлялось в двух режимах, управление по заданной последовательно­
сти управляющих сигналов и управление интерактивном режиме. Для робота
«Ортоног» синтезированны различные движения. В ходе экспериментов с моде­
90
изм 14
прог 14
изм 20
прог 20
0.4
0.3
𝑠, м
0.2
0.1
0
−0.1
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3 3.2 3.4 3.6 3.8 4
𝑡, c
Рис. 4.13. Перемещение в сочленениях шагающего движителя
лью руки был отлажена реализация протокола взаимодействия между системой
моделирования и бортовой системой управления. Коэффициенты регуляторов
были подобраны опытным путем. В результате применив предлагаемый метод
удалось синтезировать прямолинейное движение робота андроида, смоделиро­
вать походку и опробовать реализуемый режим движения на прототипе робота.
В результате экспериментов удалось добиться точного копирования про­
граммных движений управляемым механическими системами.
91
Заключение
В ходе работы были решены следующие задачи:
1. Формализовано описание математической модели задающей движение си­
стемы по заданным программным траекториям.
2. Разработаны методы задания программного движения характерных то­
чек.
3. Предложена схема интеграции системы генерации программного движе­
ния в систему управления РТС.
4. Разработан и реализован программный комплекс генерации программного
движения на основе комплекса многотельного моделирования ФРУНД,реализу
предлагаемый метод.
5. Разработаны математические модели для манипулятора-трипода, робота
с ортогональном поворотным движителем и робота андроида
6. Предложенный метод успешно опробован на стенде манипулятора-трипо­
да, на роботе с ортогонально поворотным движителем и роботе андроиде.
Основные результаты диссертационной работы можно сформулировать сле­
дующим образом:
Разработан способ генерации программного движения роботов произволь­
ной структуры. Программные движения получаются в результате решения об­
ратной задачи динамики. Применение математической модели учитывающей
динамические характеристики позволило добиться плавного и точного движе­
ния управляемой механической системы. Разработка метода решения уравне­
ний с избыточными связями позволило применять предлагаемый метод к робо­
там произвольной структуры.
92
Разработаны три математические модели многоногой и двуногой шагаю­
щей машины, совершающей пространственное управляемое движение, реализу­
ющие предлагаемый метод.
Реализован макет системы управления механической системой с избыточ­
ными связями, использующей предлагаемый метод генерации программного
движения.
Программный комплекс моделирования разработан с учетом возможно­
сти использования построенных математических моделей в качестве генератора
траекторий для систем управления движением мобильных роботов.
93
Литература
1. Гавриш А. П., Ямпольский Л. С., Карлов А. Г. Промышленные роботы:
Конструирование, управление, эксплуатация. Учебное пособие.
Вища
школа, 1985.
2. Schilling R. et al. Fundamentals of robotics. 2013.
3. Белецкий В. Двуногая ходьба: модельные задачи динамики и управления.
Москва Наука, 1984.
4. Я Аустен К. Ш., АМ Формальский. Виртуальный четырёхногий
робот:
конструкция,
управление,
моделирование,
эксперименты
//
Фундаментальная и прикладная математика. 2005. Vol. 8. P. 1–28.
5. Vukobratovic M. Robot-environment dynamic interaction survey and future
trends // Journal of Computer and Systems Sciences International. 2010.
Vol. 49. P. 329–342.
6. Павловский В. О разработках шагающих машин. Препринт ИПМ № 101,
Москва, 2013. Vol. 101. P. 31. URL: http://www.keldysh.ru/papers/2013/
prep2013_101.pdf.
7. ДМ
Гориневский
А.
Ш.,
А
М
Формальский.
Управление
манипуляционными системами на основе информации об усилиях.
Физматлит, 1994. P. 384.
8. Вукобратович М. К. Н., Стокич Д. Неадаптивное и адаптивное управление
манипуляционными роботами. Мир, 1989.
9. Robinette P., Wagner A. R., Howard A. M. Modeling Human-Robot Trust in
Emergencies // 2014 AAAI Spring Symposium Series. 2014.
94
10. Zhang T., Wei Q., Ma H. Position/Force Control for a Single Leg of a
Quadruped Robot in an Operation Space. // International Journal of Advanced
Robotic Systems. 2013. Vol. 10.
11. Тертычный-Даури
В.
Динамика
робототехнических
систем.
Санкт-Петербург, 2012.
12. Машиностроение. Энциклопедия в сорока томах. Том I-4. Автоматическое
управление. Теория / Ed. by В. В. А. Кульков. Машиностроение, 2000.
13. Dasdemir J., Loria A. et al. Formation control of force-controlled mobile robots
in a spanning-tree topology // Proceedings of the European Control Confer­
ence. 2013.
14. Khanh K., Hung P., Trung N. T. et al. Trajectory tracking control of omnidi­
rectional mobile robot using sliding mode controller // Control, Automation
and Systems (ICCAS), 2013 13th International Conference on / IEEE.
2013. P. 1170–1175.
15. Ohkubo H., Shimono T. Motion control of mobile robot by using myoelectric
signals based on functionally different effective muscle theory // Mechatronics
(ICM), 2013 IEEE International Conference on / IEEE. 2013. P. 786–791.
16. Fukao T., Nakagawa H., Adachi N. Adaptive tracking control of a nonholonom­
ic mobile robot // Robotics and Automation, IEEE Transactions on. 2000.
Vol. 16, no. 5. P. 609–615.
17. Jackel L. D., Hackett D., Krotkov E. et al. How DARPA structures its robotics
programs to improve locomotion and navigation // Communications of the
ACM. 2007. Vol. 50, no. 11. P. 55–59.
18. Kolter J. Z., Rodgers M. P., Ng A. Y. A control architecture for quadruped
95
locomotion over rough terrain // Robotics and Automation, 2008. ICRA 2008.
IEEE International Conference on / IEEE. 2008. P. 811–818.
19. Marc H. Raibert J. K. H. Animation of dynamic legged locomotion // ACM
SIGGRAPH Computer Graphics. July 1991. Vol. 25. P. 349–358.
20. Playter R. R., Raibert M. Control of a Biped Somersault in 3D // Intelligent
Robots and Systems, 1992., Proceedings of the 1992 lEEE/RSJ International
Conference on / IEEE. Vol. 1. 1992. P. 582–589.
21. Raibert M. H. et al. Legged robots that balance. MIT press Cambridge, MA,
1986. Vol. 3.
22. Thompson C. M., Raibert M. H. Passive dynamic running // Experimental
Robotics I / Springer. 1990. P. 74–83.
23. Hurst J. W., Rizzi A. A. Physically variable compliance in running // Climbing
and Walking Robots. Springer, 2005. P. 123–133.
24. Tzafestas S., Raibert M., Tzafestas C. Robust sliding-mode control applied to a
5-link biped robot // Journal of Intelligent and Robotic Systems. 1996. Vol. 15,
no. 1. P. 67–133.
25. Sloman A. Some Requirements for Human-like Robots: Why the recent
over-emphasis on embodiment has held up progress // Creating brain-like in­
telligence. Springer, 2009. P. 248–277.
26. Kimura H., Tsuchiya K., Ishiguro A., Witte H. Adaptive motion of animals
and machines. Springer, 2006.
27. Pettré J. Locomotion Synthesis for Digital Actors // Modeling, Simulation and
Optimization of Bipedal Walking. Springer, 2013. P. 187–198.
28. Luo R. C., Shih B., Lin T. Real time human motion imitation of anthropo­
morphic dual arm robot based on Cartesian impedance control // Robotic
96
and Sensors Environments (ROSE), 2013 IEEE International Symposium on /
IEEE. 2013. P. 25–30.
29. Pollard N. S., Hodgins J. K., Riley M. J., Atkeson C. G. Adapting human
motion for the control of a humanoid robot // Robotics and Automation, 2002.
Proceedings. ICRA’02. IEEE International Conference on / IEEE. Vol. 2. 2002.
P. 1390–1397.
30. Brockett R. W. Hybrid models for motion control systems. Springer, 1993.
31. Zordan V. B., Hodgins J. K. Motion capture-driven simulations that hit and
react // Proceedings of the 2002 ACM SIGGRAPH/Eurographics symposium
on Computer animation / ACM. 2002. P. 89–96.
32. Nakaoka S., Nakazawa A., Yokoi K. et al. Generating whole body motions
for a biped humanoid robot from captured human dances // Robotics and
Automation, 2003. Proceedings. ICRA’03. IEEE International Conference on /
IEEE. Vol. 3. 2003. P. 3905–3910.
33. Kim J., Kim Y. WHOLE-BODY MOTION GENERATION OF ANDROID
ROBOT USING MOTION CAPTURE AND NONLINEAR CONSTRAINED
OPTIMIZATION // International Journal of Humanoid Robotics.
2013.
Vol. 10, no. 02.
34. Ali M. H., Wan K., Seah Y. et al. Analysis of Finger Movement for Robotic
Hand (MAPRoh-1) by Using Motion Capture and Flexible Bend Sensor // The
8th International Conference on Robotic, Vision, Signal Processing & Power
Applications / Springer. 2014. P. 23–29.
35. Koo K., Kim Y. J., Seo Y. Motion Capture Based Dual Arm Control of a Hu­
manoid Robot Using Kinect // Information Technology Convergence. Springer,
2013. P. 913–921.
97
36. Wang Y., Min J., Zhang J. et al. Video-based hand manipulation capture
through composite motion control // ACM Transactions on Graphics (TOG).
2013. Vol. 32, no. 4. P. 43.
37. Kim J., Kim Y. Development of motion capture system using dual video cam­
eras for the gait design of a biped robot // International Journal of Humanoid
Robotics. 2011. Vol. 8, no. 02. P. 275–299.
38. Murphy M. P., Saunders A., Moreira C. et al. The littledog robot // The
International Journal of Robotics Research. 2011. Vol. 30, no. 2. P. 145–149.
39. Комашинский В.И. С. Д. Нейронные сети и их применение в системах
управления связи // М.: Горячая линия-Телеком. 2003. P. 94.
40. Терехов В., Ефимов Д., Тюкин И. Нейросетевые системы управления.
Учебное пособие для вузов // М.: Высшая школа. 2002.
41. Хайкин С. Нейронные сети: полный курс, 2-е издание. Издательский дом
Вильямс, 2008.
42. Long M. T., Nan W. Y. Adaptive Position Tracking System and Force Control
Strategy for Mobile Robot Manipulators Using Fuzzy Wavelet Neural Net­
works // Journal of Intelligent & Robotic Systems. 2014. P. 1–21.
43. Zaier R. Design of Oscillatory Neural Network for Locomotion Control of Hu­
manoid Robots // The Future of Humanoid Robots—Research and Applica­
tions. 2012. P. 41–60.
44. Lewis F., Jagannathan S., Yesildirak A. Neural network control of robot ma­
nipulators and non-linear systems. CRC Press, 1998.
45. Sun T., Pei H., Pan Y. et al. Neural network-based sliding mode adaptive
control for robot manipulators // Neurocomputing. 2011. Vol. 74, no. 14.
P. 2377–2384.
98
46. Dumitru Ş. A., Bucur D., Marin D. Methods and algorithms for motion control
of walking mobile robot with obstacle avoidance // Proceedings of the 5th
European conference on European computing conference / World Scientific
and Engineering Academy and Society (WSEAS). 2011. P. 404–409.
47. Lian R. Intelligent controller for robotic motion control // Industrial Electron­
ics, IEEE Transactions on. 2011. Vol. 58, no. 11. P. 5220–5230.
48. Xia Y. S., Feng G., Wang J. A primal-dual neural network for online resolving
constrained kinematic redundancy in robot motion control // Systems, Man,
and Cybernetics, Part B: Cybernetics, IEEE Transactions on. 2005. Vol. 35,
no. 1. P. 54–64.
49. Kwan C., Lewis F. L., Dawson D. M. Robust neural-network control of
rigid-link electrically driven robots // Neural Networks, IEEE Transactions
on. 1998. Vol. 9, no. 4. P. 581–588.
50. Lin S., Goldenberg A. A. Neural-network control of mobile manipulators //
Neural Networks, IEEE Transactions on. 2001. Vol. 12, no. 5. P. 1121–1133.
51. Hesselroth T., Sarkar K., van der Smagt P. P., Schulten K. Neural network
control of a pneumatic robot arm // Systems, Man and Cybernetics, IEEE
Transactions on. 1994. Vol. 24, no. 1. P. 28–38.
52. Hunt K. J., Sbarbaro D., Żbikowski R., Gawthrop P. J. Neural networks for
control systems—a survey // Automatica. 1992. Vol. 28, no. 6. P. 1083–1112.
53. Lewis M. A., Fagg A. H., Solidum A. Genetic programming approach to the
construction of a neural network for control of a walking robot // Robotics
and Automation, 1992. Proceedings., 1992 IEEE International Conference on /
IEEE. 1992. P. 2618–2623.
99
54. Messom C. Genetic algorithms for auto-tuning mobile robot motion control.
2002.
55. Parker J. K., Khoogar A. R., Goldberg D. E. Inverse kinematics of redundant
robots using genetic algorithms // Robotics and Automation, 1989. Proceed­
ings., 1989 IEEE International Conference on / IEEE. 1989. P. 271–276.
56. Chen M., Zalzala A. A genetic approach to motion planning of redundant
mobile manipulator systems considering safety and configuration // Journal of
Robotic Systems. 1997. Vol. 14, no. 7. P. 529–544.
57. Ge S., Lee T., Zhu G. Genetic algorithm tuning of Lyapunov-based controllers:
An application to a single-link flexible robot system // Industrial Electronics,
IEEE Transactions on. 1996. Vol. 43, no. 5. P. 567–574.
58. Yun W., Xi Y. Optimum motion planning in joint space for robots using ge­
netic algorithms // Robotics and Autonomous Systems. 1996. Vol. 18, no. 4.
P. 373–393.
59. Davidor Y. Genetic Algorithms and Robotics: A heuristic strategy for opti­
mization. World Scientific, 1991. Vol. 1.
60. Martı́nez J. L., González J., Morales J. et al. Mobile robot motion estimation
by 2D scan matching with genetic and iterative closest point algorithms //
Journal of Field Robotics. 2006. Vol. 23, no. 1. P. 21–34.
61. Švestka P., Overmars M. H. Coordinated path planning for multiple robots //
Robotics and autonomous systems. 1998. Vol. 23, no. 3. P. 125–152.
62. Beckerleg M., Collins J. An Analysis of the Genetic Evolution of a Ball-Beam
Robotic Controller Based on a Three Dimensional Look up Table Chromo­
some // IAENG Transactions on Engineering Technologies. Springer, 2013.
P. 109–122.
100
63. Köker R. A genetic algorithm approach to a neural-network-based inverse kine­
matics solution of robotic manipulators based on error minimization // Infor­
mation Sciences. 2013. Vol. 222. P. 528–543.
64. Astudillo L., Melin P., Castillo O. Optimization of Type-2 and Type-1 Fuzzy
Tracking Controllers for an Autonomous Mobile Robot under Perturbed
Torques by Means of a Chemical Optimization Paradigm // Soft Comput­
ing Applications in Optimization, Control, and Recognition. Springer, 2013.
P. 3–26.
65. Qu H., Xing K., Alexander T. An improved genetic algorithm with co-evolu­
tionary strategy for global path planning of multiple mobile robots // Neuro­
computing. 2013. Vol. 120. P. 509–517.
66. Tarokh M., Zhang X. Real-Time Motion Tracking of Robot Manipulators Using
Adaptive Genetic Algorithms // Journal of Intelligent & Robotic Systems.
2013. P. 1–12.
67. Mistry M., Murai A., Yamane K., Hodgins J. Model-Based Control and Esti­
mation of Humanoid Robots via Orthogonal Decomposition // Experimental
Robotics / Springer. 2014. P. 839–854.
68. Sims K. Evolving 3D morphology and behavior by competition // Artificial
life. 1994. Vol. 1, no. 4. P. 353–372.
69. Lassabe N., Luga H., Duthen Y. A new step for artificial creatures // Artificial
Life, 2007. ALIFE’07. IEEE Symposium on / IEEE. 2007. P. 243–250.
70. Miconi T. In silicon no one can hear you scream: Evolving fighting creatures //
Genetic Programming. Springer, 2008. P. 25–36.
71. de Margerie E., Mouret J., Doncieux S., Meyer J. Artificial evolution of the
101
morphology and kinematics in a flapping-wing mini-UAV // Bioinspiration &
biomimetics. 2007. Vol. 2, no. 4. P. 65.
72. Miconi T., Channon A. An improved system for artificial creatures evolution //
Proceedings of the Tenth International Conference on Artificial Life (ALIFE
X). 2006. P. 255–261.
73. С.Ф. Бурдаков А., В.А. Дьяченко. Проектирование манипуляторов
промышленных роботов и роботизированных комплексов. Высшая школа,
1986.
74. Ugurlu B., Kawamura A. On the backwards hopping problem of legged robots.
2014.
75. Pan S., Shi M., Liu Z., Zhang J. State Estimation and Joint Actuator Fault
Reconstruction for Planar One-Legged Articulated Hopping Robots Using an
Extended Kalman Filter Approach // Advances in Structural Engineering.
2013. Vol. 16, no. 1. P. 149–164.
76. Coros S., Karpathy A., Jones B. et al. Locomotion skills for simulated
quadrupeds // ACM Transactions on Graphics (TOG). 2011. Vol. 30, no. 4.
P. 59.
77. Вукобратович М., Шнейдер А. Ю., Гурфинкель В. С. Шагающие роботы
и антропоморфные механизмы: Пер. с англ. Мир, 1976.
78. Baillieul J. A constraint oriented approach to inverse problems for kinemati­
cally redundant manipulators // Robotics and Automation. Proceedings. 1987
IEEE International Conference on / IEEE. Vol. 4. 1987. P. 1827–1833.
79. Arimoto S., Hashiguchi H., Ozawa R. A SIMPLE CONTROL METHOD
COPING WITH A KINEMATICALLY ILL-POSED INVERSE PROBLEM
102
OF REDUNDANT ROBOTS: ANALYSIS IN CASE OF A HANDWRITING
ROBOT // Asian Journal of Control. 2005. Vol. 7, no. 2. P. 112–123.
80. Asfour T., Dillmann R. Human-like motion of a humanoid robot arm based on
a closed-form solution of the inverse kinematics problem // Intelligent Robots
and Systems, 2003.(IROS 2003). Proceedings. 2003 IEEE/RSJ International
Conference on / IEEE. Vol. 2. 2003. P. 1407–1412.
81. D’Souza A., Vijayakumar S., Schaal S. Learning inverse kinematics // Intel­
ligent Robots and Systems, 2001. Proceedings. 2001 IEEE/RSJ International
Conference on / IEEE. Vol. 1. 2001. P. 298–303.
82. Bottasso C. L., Croce A., Ghezzi L., Faure P. On the solution of inverse dynam­
ics and trajectory optimization problems for multibody systems // Multibody
System Dynamics. 2004. Vol. 11, no. 1. P. 1–22.
83. Tolani D., Goswami A., Badler N. I. Real-time inverse kinematics techniques for
anthropomorphic limbs // Graphical models. 2000. Vol. 62, no. 5. P. 353–388.
84. Stephens B., Atkeson C. Modeling and control of periodic humanoid balance
using the linear biped model // Humanoid Robots, 2009. Humanoids 2009. 9th
IEEE-RAS International Conference on / IEEE. 2009. P. 379–384.
85. Mistry M., Buchli J., Schaal S. Inverse dynamics control of floating base sys­
tems using orthogonal decomposition // Robotics and Automation (ICRA),
2010 IEEE International Conference on / IEEE. 2010. P. 3406–3412.
86. Righetti L., Buchli J., Mistry M. et al. Optimal distribution of contact forces
with inverse-dynamics control // The International Journal of Robotics Re­
search. 2013. Vol. 32, no. 3. P. 280–298.
87. Kim D. W., Kim N., Park G. ZMP based neural network inspired humanoid
robot control // Nonlinear Dynamics. 2012. Vol. 67, no. 1. P. 793–806.
103
88. Staicu S. Matrix modeling of inverse dynamics of spatial and planar parallel
robots // Multibody System Dynamics. 2012. Vol. 27, no. 2. P. 239–265.
89. Abe Y., Stephens B., Murphy M. P., Rizzi A. A. Dynamic whole-body robotic
manipulation // SPIE Defense, Security, and Sensing / International Society
for Optics and Photonics. 2013. P. 87410V–87410V.
90. Dalibard S., El Khoury A., Lamiraux F. et al. Dynamic Walking and Whole­
Body Motion Planning for Humanoid Robots: an Integrated Approach // The
International Journal of Robotics Research (To appear in). 2013.
91. Елисеев С., Свинин М., Смелягин А. Математическое и программное
обеспечение в исследованиях манипуляционных систем:.
Наука. Сиб.
отд-ние, 1992. URL: http://books.google.ru/books?id=th9FAQAAIAAJ.
92. КалининВ.Н.
Обобщенные
критерии
оптимальности
в
задачах
оптимального управления. Автоматика и телемеханика, 1965.
93. Тывес А. К. Б. С. Л. Теоретические основы робототехники. Москва Наука,
2006.
94. Красовский Н. Теория управления движением: Линейные системы.
"Наука, 1968. URL: http://books.google.ru/books?id=Y0_vAAAAMAAJ.
95. Охоцимский Д., Платонов А., Боровин Г. et al. Управление интегральным
локомоционным роботом // Известия АН СССР, Технич. кибернетика.
1974. no. 6. P. 56–64.
96. Khatib O. Real-time obstacle avoidance for manipulators and mobile robots //
The international journal of robotics research. 1986. Vol. 5, no. 1. P. 90–98.
97. Holmberg R., Khatib O. Development and control of a holonomic mobile robot
for mobile manipulation tasks // The International Journal of Robotics Re­
search. 2000. Vol. 19, no. 11. P. 1066–1074.
104
98. Охоцимский Д., Голубев Ю. Механика и управление движением
автоматического шагающего аппарата. Научные основый робототехники.
"Наука,"Глав. ред. физико-математической лит-ры, 1984.
URL: http:
//books.google.ru/books?id=kWZ0OgAACAAJ.
99. Тертычный В. Синтез управляемых механических систем. Политехника
СПб., 1993.
100. Jevtić A., Doisy G., Bodiroža S. et al. Human-robot interaction through 3D
vision and force control // Proceedings of the 2014 ACM/IEEE international
conference on Human-robot interaction / ACM. 2014. P. 102–102.
101. Ferland F., Aumont A., Létourneau D., Michaud F. Taking your robot for a
walk: force-guiding a mobile robot using compliant arms // Proceedings of the
8th ACM/IEEE international conference on Human-robot interaction / IEEE
Press. 2013. P. 309–316.
102. Nakamura Y., Ghodoussi M. Dynamics computation of closed-link robot mech­
anisms with nonredundant and redundant actuators // Robotics and Automa­
tion, IEEE Transactions on. 1989. Vol. 5, no. 3. P. 294–302.
103. Chiacchio P., Chiaverini S., Sciavicco L., Siciliano B. Closed-loop inverse kine­
matics schemes for constrained redundant manipulators with task space aug­
mentation and task priority strategy // The International Journal of Robotics
Research. 1991. Vol. 10, no. 4. P. 410–425.
104. Nagasaka K., Kuroki Y., Suzuki S. et al. Integrated motion control for walking,
jumping and running on a small bipedal entertainment robot // Robotics and
Automation, 2004. Proceedings. ICRA’04. 2004 IEEE International Conference
on / IEEE. Vol. 4. 2004. P. 3189–3194.
105. Zhang Y., Ge S. S., Lee T. H. A unified quadratic-programming-based dynam­
ical system approach to joint torque optimization of physically constrained
105
redundant manipulators // Systems, Man, and Cybernetics, Part B: Cybernet­
ics, IEEE Transactions on. 2004. Vol. 34, no. 5. P. 2126–2132.
106. Горобцов А. С.,
Козлов М. В.,
СОЛОДЕНКОВ С. В. Анализ
динамических систем с избыточными связями различной степени
статической неопределимости // Известия высших учебных заведений.
Поволжский регион. Технические науки. 2009. no. 3.
107. Горобцов А. Программный комплекс расчета динамики и кинематики
машин как систем твердых и упругих тел // Справочник. Инженерный
журнал. 2004. no. 9. P. 40–43.
108. Fumagalli A., Masarati P. Real-time inverse dynamics control of parallel ma­
nipulators using general-purpose multibody software // Multibody System Dy­
namics. 2009. Vol. 22, no. 1. P. 47–68.
109. Bruce J., Veloso M. Real-time randomized path planning for robot naviga­
tion // Intelligent Robots and Systems, 2002. IEEE/RSJ International Confer­
ence on / IEEE. Vol. 3. 2002. P. 2383–2388.
110. Klančar G., Škrjanc I. Tracking-error model-based predictive control for mobile
robots in real time // Robotics and Autonomous Systems. 2007. Vol. 55, no. 6.
P. 460–469.
106
Приложение А
Экранные формы
Рис. А.1. Экранная форма системы синтеза программного движения
Рис. А.2. Пример графика
107
Рис. А.3. Редактирование параметров модели
Рис. А.4. Управление подключением к STM32
108
Приложение Б
Конструкция системы управления линейными
приводами манипулятора трипода
В разработанной системе управление актуаторами, представляющими со­
бой подвижные ноги робота, построено на микропроцессоре и включает модуль
управления четырьмя актуаторами и интерфейс сопряжения с персональным
компьютером. Микропроцессор обеспечивает возможность взаимодействия с
двигателями постоянного тока посредством команд определения и установки
скорости каждого из них. А также позволяет получить текущую позицию вы­
движного штока, связанного с каким-либо из двигателей. Основным модулем
системы является отладочная плата STM32VLDISCOVERY, включающая мик­
ропроцессор STM32F100RB. Программирование его осуществляется через внут­
рисхемный ST-Link отладчик/программатор. На выводы PA4-PA7 – каналы 4-7
АЦП микропроцессора – подаются сигналы с датчиков положений выдвижных
штоков актуаторов в диапазоне от 0 В. до 3 В. Принципиальная схема модуля
управления двигателями постоянного тока приведена на Б.1. Питание на схему
подается от источника постоянного тока +7 В. через стабилизатор напряжения
MC33063A (DA2). Драйвер двигателей построен на основе микросхемы L298P.
Принципиальная схема интерфейса связи с персональным компьютером
приведена на рисунке Б.2
Питание 5 В. на вышеуказанную схему подается с одного из выводов от­
ладочной платы. Связь с персональным компьютером осуществляется по ин­
терфейсу RS-232 на скорости 9600 Бод без аппаратного и программного управ­
ления потоком и контроля четности. Асинхронный интерфейс реализуется с
помощью встроенного последовательного порта микропроцессора. Микросхема
PL2303(DA1) преобразователя интерфейса RS232 в USB, включенная по типо­
вой схеме, обеспечивает согласование уровней микроконтроллера и интерфейса
109
Рис. Б.1. Принципиальная схема модуля управления двигателями постоянного тока
Рис. Б.2. Принципиальная интерфейса связи с персональным компьютером
110
RS-232 по линиям передачи и приема. Программа микропроцессора написана
на языке C++ и состоит из главной подпрограммы и блока обработки команд
управления. Главный модуль программы при запуске настраивает периферий­
ные узлы микропроцессора. В рабочем режиме программа переходит в беско­
нечный цикл, в котором производит оцифровку текущего значения позиций
выдвижных штоков, добавляет их в соответствующую каждому из актуаторов
очередь значений позиций, организованную по принципу FIFO. В очереди ав­
томатически пересчитывается математическое ожидание всех значений, а так­
же математическое ожидание последних значений в очереди, число которых
устанавливается параметром алгоритма обработки. Таким образом, в очереди
реализуется фильтр скользящего среднего для устранения высокочастотных
выбросов. После добавления нового значения в очередь определяется наличие
поступившей команды от персонального компьютера. Если команда была обна­
ружена, то происходит переход к ее обработке.
Download