Автор: Гонсалес Р. Ли К. Фу К.
Теги: автоматика системы автоматического управления и регулирования интеллектуальная техника технология управления оборудование систем управления техническая кибернетика кибернетика искусственный интеллект программное обеспечение информационные технологии робототехника
ISBN: 5-03-000805-5
Год: 1989
ББК 32.816
Ф94
УДК 681.5
Фу К., Гонсалес Р., Ли К.
Ф94 Робототехника: Пер. с англ.— М.: Мир, 1989.— 624 с., ил.
ISBN 5-03-000805-5
В книге известных американских ученых систематически излагают¬
ся последние достижения в области кинематики, динамики, систем
управления и очувствления и программного обеспечения промышленных
манипуляционных роботов типа Пума. Рассматриваются способы пла¬
нирования траектории движения манипулятора, повышения точности,
улучшения динамических характеристик при использовании систем тех¬
нического зрения, средств адаптации и элементов искусственного
интеллекта.
Для инженеров, занимающихся робототехникой, студентов старших
курсов соответствующих специальностей вузов.
ББК 32.816
Редакция литературы по информатике и робототехнике
ISBN 5-03-000805-5 (русск.)
ISBN 0-07-022625-3 (англ.)
© 1987 by McGraw-Hill, Inc.
© перевод на русский язык, «Мир», 1989
ПРЕДИСЛОВИЕ РЕДАКТОРА ПЕРЕВОДА
Ь , ' :и .
Стремительное развитие робототехники за последнюю четверть
века существенно обогатило технический прогресс и предоста¬
вило человечеству новью средства автоматизации—промыш¬
ленные роботы, применяемые в качестве транспортных средств,
технологических машин и элементов гибких систем комплекс¬
ной автоматизации. Фундаментальные идеи робототехники осно¬
вываются на новейших достижениях в области теоретической
и прикладной механики, электроники, вычислительной техники,
технологии, теории управления.
Интенсивному развитию робототехники сопутствуют публи¬
кации по конкретным отдельным достижениям и обобщающие
монографии, хотя создание последних требует значительного
теоретического, практического и педагогического опыта. К чис¬
лу таких обобщающих многоплановых публикаций относится
данная книга, которая отражает опыт исследований по кинема¬
тике, динамике, системам управления и очувствления и по про¬
граммному обеспечению промышленных манипуляционных ан¬
тропоморфных роботов типа Пума. Отечественным аналогом
является робот РМ-01. Монография отличается от других книг
по этой тематике систематичностью изложения, общностью под¬
ходов и методов, что позволяет использовать ее и как учебное
пособие. Среди отечественных и зарубежных книг по робото¬
технике лишь немногие могут претендовать на подобное обоб¬
щение и служить учебниками.
Основное внимание авторы уделили рассмотрению робота
как управляемой механической системы. Читатель получает
возможность проследить все основные этапы конструирования
робота — от кинематики и динамики до систем управления,
программирования и придания роботам некоторых свойств ис¬
кусственного интеллекта.
Авторы постепенно вводят читателя в курс основных
проблем по механике и управлению антропоморфными
5
манипуляционными роботами. От подробного изложения основ
кинематики и динамики авторы переходят к планированию тра¬
екторий движения манипулятора, затем к построению комбини¬
рованных по положению и силе систем управления, в том числе
адаптивных. Рассмотрены различные способы планирования
траектории манипулятора при отсутствии и наличии препятст¬
вий на пути его движения. Подробно описаны проблемы увели¬
чения точности с помощью интерполяции траектории полино¬
мами и выбором опорных точек, в которых производится коррек¬
ция параметров движения. Большое внимание уделяется систе¬
мам низкого и высокого уровней технического зрения, программ¬
ному обеспечению и языкам программирования роботов, экс¬
пертным системам в связи с разработкой элементов искусствен¬
ного интеллекта, решению проблем обучения и планирования
задач.
Авторы использовали обширный литературный материал, в
основном американские, английские и японские работы. Некото¬
рые отечественные публикации по этим вопросам мы приводим
ниже в качестве дополнительной литературы.
Материал данной книги изложен достаточно полно и до¬
ступно. Основные теоретические положения иллюстрируются
большим числом тщательно подобранных примеров, пользуясь
которыми читатель может глубже понять и усвоить прочитан¬
ное. Монография написана простым и ясным языком, в чем
проявился большой педагогический опыт авторов, снабжена хо¬
рошими четко выполненными иллюстрациями.
Книга представляет интерес для специалистов и рассчитана
на научных сотрудников, преподавателей, инженеров, аспиран¬
тов, а также студентов, интересующихся проблемами робото¬
техники и автоматизации производства. Перевод книги выпол¬
нили А. А. Сорокин (гл. 1—4, предисловие), М. Ю. Рачков
(гл. 5—7, приложение), А. В. Градецкий (гл. 8—10).
В. Г. Градецкий
ДОПОЛНИТЕЛЬНАЯ ЛИТЕРАТУРА
1. Робототехника и гибкие производственные системы: Проблемы созда¬
ния гибких автоматических производств./Под ред. академиков И. М. Мака¬
рова, К. В. Фролова, чл.-корр. АН СССР П. Н. Белянина. — М.: Наука, 1987.
2. Научные основы робототехники./Под ред. чл.-корр. АН СССР
Д. Е. Охоцимского и чл.-корр. АН СССР Е. М. Попова. — М.: Наука, 1987.
3. Попов Е. П., Верещагин А. Ф., Зенкевич С. Л. Манипуляционные ро¬
боты: Динамика и алгоритмы.—М.: Наука, 1978.
4. Медведев В. С., Лесков А. Г., Ющенко А. С. Системы управления
манипуляционных роботов. — М.: Наука, 1978,
5. Кулешов В. С., Лакота Н. А. Динамика систем управления манипуля¬
торами.— М.: Энергия, 1971,
6. Промышленная робототехника./Под ред. Я. А. Шифрина.—М.: Ма¬
шиностроение, 1983.
7. Тимченко В. А., Сухомлин А. А. Роботизация сварочного производ¬
ства.— К.: Техника, 1988.
8. Пашков Е. В., Погорелов Б. В., Карлов А. Г. и др. Робототехнические
системы в сборочном производстве. — К.: Вища школа, 1987.
9. Костюк В. И., Гавриш А. П., Ямпольский Л. С., Карлов А. Г. Про¬
мышленные роботы: Конструирование, управление, эксплуатация. — К.: Вища
школа. 1985.
10. Черноусько Ф. Л., Болотник Н. Н., Градецкий В. Г. Манипуляционные
роботы: Динамика, управление, оптимизация. — М.: Наука, 1989.
Посвящается Виоле, Конни и Пэй*
Лин
ПРЕДИСЛОВИЕ
Эта книга написана с целью предоставить инженерам, ученым
и учащимся (связанным по роду своей деятельности с робото¬
техникой) всестороннее, систематическое и современное изло¬
жение принципиальных вопросов, лежащих в основе конструи¬
рования, анализа и синтеза робототехнических систем.
Начало развития робототехники можно отнести к середине
40-х годов, когда в Окриджской и Аргоннской национальных
лабораториях были сконструированы и собраны манипуляторы
копирующего типа, предназначенные для работы с радиоактив¬
ными веществами. Первый промышленный робот, управляемый
с помощью компьютера, был создан фирмой Юнимейшн в кон¬
це 50-х годов. В течение следующих 15 лет появился целый ряд
промышленных и экспериментальных устройств этого типа.
Несмотря на доступность технологии изготовления и примене¬
ния роботов, широкий интерес к робототехнике как самостоя¬
тельной области исследований проявился сравнительно недавно,
что объясняется значительным отставанием производства а
большинстве промышленных стран.
Робототехника представляет собой область знания, лежа¬
щую на стыке различных дисциплин. Она включает как во¬
просы конструирования отдельных механических и электри¬
ческих узлов, так и технологию построения системы очувствле¬
ния, вопросы применения компьютеров, проблемы искусствен¬
ного интеллекта. Основная масса материалов, касающихся
теоретических основ, вопросов конструирования и приложений
робототехники, разбросана по многочисленным техническим
журналам, материалам конференций, исследовательским ра¬
ботам и книгам, в которых либо рассматриваются специальные
вопросы робототехники, либо дается краткий обзор исследова¬
ний в этой области. В связи с этим трудно, особенно для но¬
вичка, изучить круг вопросов, составляющих основу предмета.
Данная книга представляет собой попытку последовательно из-
8
дожить основные методы и принципы робототехники. Тем са¬
мым предлагаемая книга может использоваться и как учебное
пособие, и как справочник. Студенты найдут в ней логически
связанное обсуждение основных понятий и наиболее важных
методов. Для инженеров и ученых эта книга может служить
готовым справочником, поскольку в ней систематизированы по¬
нятия и методы робототехники.
Математический уровень изложения материала книги пред¬
полагает знакомство читателя с основами теории матриц, тео¬
рии вероятностей, программирования и математического ана¬
лиза. Основное внимание уделено выводу фундаментальных
результатов, базирующемуся на первичных понятиях и пред¬
ставлениях. По ходу изложения приводятся многочисленные
примеры. В конце каждой главы даются задачи разных типов
и уровней сложности. Некоторые из этих задач позволят чита¬
телю в процессе их решения глубже понять излагаемый в книге
материал. Другие служат как бы дополнением и расширением
затронутого круга вопросов.
Предлагаемая книга была создана на основе материалов
лекций, которые ее авторы читали в университетах в Пэрдью
(Purdue), Теннесси (Tennessee) и Мичигане (Michigan). Мате¬
риал был тщательно отработан в процессе семинарских заня¬
тий и при чтении всеми авторами многочисленных кратких кур¬
сов в течение пятилетнего периода. На характер изложения
материала в книге существенное влияние оказали замечания
и предложения студентов, слушавших эти курсы.
Авторы книги выражают признательность всем, кто прямо
или косвенно содействовал подготовке ее текста. В особенности
нам бы хотелось поблагодарить профессоров В. Л. Грина,
Г. Н. Саридиса, Р. Б. Кэлли, Я. И. С. Лу, Н. К- Ло, В. Т. Снай¬
дера, Д. Бржаковича, Е. Г. Бурдэ, М. Я. Чунга, В. X. Ли, а
также докторов О. Е. Вудса, С. Дугласа, А. К.. Бьецци, С. Дэя,
Ф. Кинга и Л.-В. Тзая. Неоспоримо также, что за последние
пять лет, проведенные нами в университетской среде, студенты
оказали влияние не только на наши мысли, но и на развитие
вопросов, затронутых в этой книге. Нам бы хотелось отметить
здесь тех студентов, которые работали вместе с нами в про¬
цессе выполнения своих выпускных и преддипломных исследо¬
ваний. Это Д. А. Херрера, М. А. Абиди, Р. О. Иасон, Р. Сафа-
бакш, А. П. Перец, К. X. Хайден, Д. Р. Кэйт, К. А. Райнхарт,
Н. Алвертос, Е. Р. Мейер, П. Р. Чанг, К. Л. Чен, С. X. Хоу,
Г. X. Ли, Р. Джангклас, Хуарг и Д. Хуанг. Мы благодарим
также г-жу Сюзен Мерел, г-жу Дэнис Смидди, г-жу Мэри Вер¬
ден, г-жу Фрэнси Бурдэ и г-жу Мэри Энн Прудер за печатание
многочисленных вариантов рукописей. И наконец, мы выра¬
жаем нашу признательность Национальному фонду, министер¬
ству военно-воздушных сил, министерству военно-морского
9
флота, министерству вооруженных сил, фирмам «Вестингхаус»,
«Мартин Мариэтта Аэроспейс», «Мартин Мариэтта Энеджи
Системз», «Юнион Карбайд», «Локхид Миссайлз энд Спэйс
Компани», Ок-Риджской национальной лаборатории и Универ¬
ситету центра по управлению и измерениям в Теннесси за фи¬
нансирование наших исследований в области робототехники,
искусственного зрения, искусственного интеллекта и смежных
областях.
К. Фу, Р. Гонсалес, К. Ли
Профессор Кинсан Фу скончался 29 апреля 1985 г. в Ва¬
шингтоне (округ Колумбия) от сердечного приступа вскоре
после завершения работы над этой книгой. Это большая потеря
для всех, кому посчастливилось знать этого человека и рабо¬
тать с ним на протяжении его продуктивной и выдающейся
творческой деятельности,
;;• . Р. Гонсалес
К. Ли
ОБ АВТОРАХ
Кинсан Фу был профессором Университета Пэрдью. Он полу¬
чил ученые степени бакалавра, магистра и доктора наук соот¬
ветственно в Национальном университете Тайваня, университе¬
тах Торонто и Иллинойса, был всемирно известным специали¬
стом в области распознавания образов, обработки изображений
и искусственного интеллекта, внес существенный вклад как
в фундаментальные, так и прикладные исследования. Написал
четыре книги и более 400 статей по автоматическому распозна¬
ванию образов. Подготовил 75 докторов наук. Был избран чле¬
ном Национальной инженерной академии в 1976 г., удостоен
медалей Американского общества технического образования в
1981 г. и Международного общества по электронике и электро¬
технике в 1982 г. Был членом Международного общества по
электронике и электротехнике, с 1971 г. — членом общества
Гугенхейма, а также почетным членом обществ Сигма Кси,
Эта Каппа Ню и Тау Бета Пи. Основал и был первым прези¬
дентом Международной ассоциации по распознаванию образов,
был главным редактором журнала по распознаванию образов
и машинному интеллекту. Профессор Фу умер от сердечного
приступа 29 апреля 1985 г. в Вашингтоне.
Рафаэль Гонсалес является профессором по вычислительной
технике Университета Теннесси в Кноксвилле, а также основа¬
телем и президентом фирмы Персептикс Корпорейшн, которая
специализируется в области обработки изображений, распозна¬
вания образов, технического зрения и машинного интеллекта.
Степень бакалавра он получил в Университете Майами, а уче¬
ные степени магистра и доктора — в Университете Флорида в
Гейнесвилле. Всемирно известен в своей области, им или с его
участием написано более 100 статей и 4 книги в области обра*
ботки изображений, распознавания образов и машинного зре¬
ния. Является консультантом многих промышленных фирм и
правительственных учреждений. Состоит во многих научных
11
обществах, в том числе в обществах Тау Бета Пи, Фи Каппа
Фи, Эта Каппа Ну, Сигма Кси, а также в международном об¬
ществе по электронике и электротехнике.
К. Ли является профессором Университета Пэрдью. Ученые
степени бакалавра и магистра он получил в Вашингтонском
государственном университете, а степень доктора наук в Уни¬
верситетах Пэрдью и Мичигана. Автор более 40 научных ста¬
тей, докладов по робототехнике на многих конференциях. В на¬
стоящее время специализируется в области робототехники, ав¬
томатизации и интегрированных производственных систем.
Ведет интенсивную консультационную работу в области робото¬
техники для автомобильных и аэрокосмических ф"рм. Рецен¬
зент-консультант с 1983 г. научных программ в области при¬
менения вычислительной техники Международного общества
по электронике и электротехнике, технический издатель журна¬
ла по робототехнике и автоматизации, член технических коми¬
тетов различных конференций по робототехнике. Состоит в
научных обществах Сигма Кси, Тау Бета Пи, Международном
обществе по электронике и электротехнике, в Американской
ассоциации по промышленным роботам.
Глава 1.
ВВЕДЕНИЕ
Одна машина может выполнять ра¬
боту сотни обыкновенных людей, но
никакая машина не заменит одного
выдающегося человека.
Элберт Хаббард
1.1. ОСНОВНЫЕ ПОЛОЖЕНИЯ
Растущие потребности производства в выпуске качественной про¬
дукции обусловливают все более широкое применение в про¬
мышленности средств автоматизации, в основе которых лежит
вычислительная техника. В настоящее время большинство авто¬
матизированных работ на производстве осуществляется маши¬
нами, специально сконструированными для выполнения опре¬
деленных функций в производственном процессе. Такие маши¬
ны, как правило, дороги и не обладают гибкостью, т. е. они
могут быть использованы только для конкретных, заранее опре¬
деленных работ. В связи с этим все больший интерес прояв¬
ляется к использованию роботов, способных выполнять различ¬
ные производственные функции в обстановке гибкого производ¬
ственного процесса при более низких материальных затратах.
Слово робот происходит от чешского слова robota, озна¬
чающего работу. В словаре Вебстера робот определяется как
автоматическое устройство, которое выполняет функции, обычно
приписываемые человеку. В соответствии с этим определением
моечные машины являются роботами. В Американском робото¬
техническом институте применяют более точное определение
промышленных роботов: перепрограммируемый многофункцио¬
нальный манипулятор, предназначенный для осуществления
различных заранее заданных перемещений материалов, дета¬
лей, инструментов или специальных приспособлений с целью
выполнения различных работ. Итак, робот представляет собой
перепрограммируемый универсальный манипулятор, снабжен¬
ный внешними датчиками и способный выполнять различные
сборочные работы. Это определение предполагает наличие у ро¬
бота интеллекта, обусловленного заложенными в компьютер
алгоритмами систем управления и очувствления.
Промышленный робот представляет собой универсальный,
оснащенный компьютером манипулятор, состоящий из несколь¬
ких твердых звеньев, последовательно соединенных вращатель¬
ными или поступательными сочленениями. Эта цепь одним
13
концом соединена с основанием манипулятора, другой ее конец
свободен и снабжен инструментом, позволяющим воздейство¬
вать на объекты манипулирования или выполнять сборочные
Вращение В локтевом
Вращение а
норд уса (320°)
Качание 8 плечевом
суставе (300°)
& локтевом
Вращение
" локтевол
суставе 1270я)
Тангаж
'Крен (2707
, Охват
Рысканье (300°)
Рис. 1.1. Манипулятор Т3 фирмы «Цинциннати Милакрон» (а) в манипулятор
Пума-560 (б).
работы. Движение в сочленениях манипулятора вызывает отно¬
сительное перемещение его звеньев. С точки зрения механики
робот состоит из руки (несущей конструкции) и узла запястья,
оснащенного инструментом. Он может воздействовать на объек¬
ты, расположенные внутри его рабочего объема. Под рабочим
объемом робота подразумевается область пространства, в каж¬
дую точку которой рука робота может доставить блок за-
14
пястья. Обычно рука робота обладает тремя степенями сво¬
боды. Комбинацией перемещений по этим степеням свободы
обеспечивается перенос узла запястья в заданную точку рабо¬
чего объема. Узел запястья обычно обладает тремя вращатель¬
ными степенями свободы. Комбинацией вращений в узле за¬
пястья обеспечивается необходимая для работы с объектом
манипулирования ориентация инструмента. Три угловых дви¬
жения, реализуемые узлом запястья, часто называют танга-
Рие. 1.2. Различные категории манипуляторов.
жем, рысканьем и креном. Таким образом, рука шестизвенного
робота обеспечивает нужное положение инструмента, а узел
запястья — его правильную ориентацию. Все сказанное иллю¬
стрирует рис. 1.1, на котором изображены манипуляторы Т3
фирмы «Цинциннати Милакрон» и Пума фирмы «Юнимейшн».
Промышленные роботы широко используются для выполне¬
ния таких функций в производственном процессе, как сборочно-
монтажны'е, сварочные, покрасочные, погрузочно-разгрузочные
работы. Их используют для проведения космических и подвод¬
ных исследований, для работы с вредными веществами и ра¬
диоактивными материалами. Все эти роботы относятся к одной
из четырех основных категорий, различающихся по способу
осуществления пространственных перемещений (рис. 1.2):
S
• Роботы с декартовой системой координат, имеющие три
поступательных сочленения (например, робот RS-1 фирмы ИБМ
и робот Sigma фирмы «Оливетти») (а).
• Роботы с цилиндрической системой координат, имеющие
два поступательных и одно вращательное сочленение (напри¬
мер, робот Versatran 600 фирмы «Прэб» (б).
• Роботы со сферической системой координат, имеющие
одно поступательное и два вращательных сочленения (напри¬
мер, робот Unimate-200B фирмы «Юнимейшн») (в).
• Роботы с вращательной, или шарнирной, системой коор¬
динат, имеющие три вращательных сочленения (например, ро¬
бот Г3 фирмы «Цинциннати Милакрон» и робот Пума фирмы
«Юнимейшн») (г).
Большинство современных промышленных роботов, несмотря
на то что управление ими осуществляется с помощью микро-
и мини-ЭВМ, представляют собой по сути простые позиционные
механизмы. Их функционирование сводится к воспроизведению
заранее запрограммированной последовательности движений.
Кроме того, эти роботы не оборудованы или оборудованы в
недостаточной степени внешними датчиками, поставляющими
информацию о рабочей обстановке. В результате роботы при¬
меняются в основном для выполнения простых, многократно по¬
вторяющихся операций. В настоящее время усилия исследова¬
телей направлены на дальнейшее совершенствование робото¬
технических систем. Одним из путей такого совершенствования
является изучение ряда важных вопросов робототехники, изло¬
женных в этой книге.
1.2. ИСТОРИЯ РАЗВИТИЯ РОБОТОВ
Слово робот в английском языке впервые появилось в
1921 г. после выхода в свет сатирической пьесы Карела Ча¬
пека «РУР». В этой пьесе роботы — человекоподобные машины,
обладающие способностью работать без устали. Они были соз¬
даны для того, чтобы работать вместо людей. Однако в конце
пьесы роботы восстают против своих создателей и уничтожают
все человечество. В большой мере именно пьеса Чапека поро¬
дила бытующее и по сей день представление о роботах, как
о человекоподобных машинах, обладающих интеллектом и ин¬
дивидуальностью. Этот образ был подкреплен фильмом «Мет-
рополис», созданным в 1926 г. в Германии. Робот Электро и
его собака Спарко успешно демонстрировались в 1939 г. на Все¬
мирной ярмарке в Нью-Йорке. Робот СЗРО из более позднего,
созданного в 1977 г. фильма «Звездные войны» также способ¬
ствовал этому представлению. Современные промышленные ро¬
боты несомненно покажутся примитивными в сравнении с обра-
зом, созданным средствами массовой информации за последние
шесть десятилетий.
, Первые роботы, с которых началась современная робототех-
' ника, появились сразу после второй мировой войны. В конце
40-х годов в Окриджской и Аргоннской национальных лабора¬
ториях были начаты исследовательские программы по созда¬
нию дистанционно управляемых механических манипуляторов
, для работы с радиоактивными материалами. Разрабатывались
манипуляторы копирующего типа, предназначенные для точно¬
го воспроизведения движений руки и кисти человека-оператора.
| В систему входили задающий и копирующий манипуляторы.
| Задающий манипулятор приводился в движение человеком-опе-
1 ратором, при этом копирующий манипулятор воспроизводил
с максимальной точностью все движения задающего. Позднее
путем установления механических связей между задающим и
г копирующим манипуляторами была введена обратная связь,
позволяющая оператору ощущать силы взаимодействия между
копирующим манипулятором и его рабочей средой. В середине
50-х годов механические способы введения обратной связи были
заменены электрическими и гидравлическими, как, например,
! в манипуляторе Handyman фирмы «Дженерал Электрик» и
манипуляторе Minotaur-I фирмы «Дженерал Милз».
Вскоре вслед за манипуляторами копирующего типа были
разработаны более сложные системы, способные выполнять
многократно повторяющиеся операции в автономном режиме.
В середине 50-х годов Джордж С. Девол сконструировал уст¬
ройство, названное им «программируемое шарнирное устрой¬
ство для переноски» — манипулятор, функционирование кото¬
рого задавалось программой (следовательно, могло изменяться)
в виде последовательности элементарных движений, определен¬
ных командами этой программы. Дальнейшее совершенствова¬
ние Деволом совместно с Джозефом Ф. Энгельбергером этого
замысла привело к созданию первого промышленного робота,
выпущенного в 1959 г. фирмой «Юнимейшн». Основная идея
при создании этого устройства заключалась в совмещении ма¬
нипулятора с компьютером, что позволило получить машину,
которую можно было «обучать» автоматическому выполнению
разнообразных работ. От специализированных автоматических
машин эти роботы отличались возможностью смены выполняе¬
мых операций при изменении условий производственного про¬
цесса. Изменение выполняемых роботом операций осуществля¬
лось путем относительно недорогого перепрограммирования и
переоснащения.
В 60-х годах стало очевидно, что гибкость программируе¬
мых роботов — этого нового мощного промышленного инстру¬
мента— может быть существенно повышена за счет использо¬
вания средств очувствления. В начале 60-х годов Эрнст [72]
17
разработал управляемую с помощью компьютера механическую
руку с тактильными датчиками. Это устройство, названное
МН-1, могло «осязать» блоки, с которыми оно работало, и ис¬
пользовало поступающую с датчиков информацию для управле¬
ния захватным устройством, что позволяло укладывать блоки
без помощи оператора. Эта разработка является одним из пер¬
вых примеров робота, способного адаптироваться к непол¬
ностью определенной внешней обстановке. Система состояла
из манипулятора ANL Model-8 с шестью степенями свободы,
управляемого с помощью устройства обмена компьютером
ТХ-0. Позднее эта исследовательская разработка стала частью
проекта MAC, по которому в состав системы вводилась еще и
телевизионная камера. В тот же период Томович и Бони [287]
разработали опытный образец схвата с датчиками, измеряю¬
щими давление при соприкосновении с объектом, по которому
формировался сигнал обратной связи на мотор силового при¬
вода. Как только схват входил в контакт с объектом, с дат¬
чиков давления в компьютер поступала информация о разме¬
рах и весе объекта манипулирования. В 1963 г. фирма «Амери-
кэн Мэшин энд Фаундри Компани» (AMF) начала выпуск про¬
мышленного робота VERSATRAN. В этом же году был начат
ряд разработок промышленных роботов, таких, как эдин¬
бургский и роэмптонский манипуляторы.
В конце 60-х годов Маккарти [194] со своими коллегами
из Лаборатории искусственного интеллекта в Станфорде сооб¬
щили о создании компьютера, имеющего руки, глаза и уши
(т. е. оснащенного манипуляторами, телевизионными камерами
и микрофонами). Ими была продемонстрирована система, кото¬
рая воспринимала устные команды, «видела» разбросанные на
столе блоки и манипулировала этими блоками в соответствии
с полученными инструкциями. В этот же период Пайпер [235]
провел исследования, касающиеся кинематики управляемого
компьютером манипулятора, а Кан и Рот [140] исследовали
вопросы динамики и управления манипулятором с ограниче¬
ниями. Последние применили релейное управление, обеспечи¬
вающее максимальное быстродействие.
Одновременно промышленные роботы начали развиваться
и в других странах, особенно в Японии. Уже в 1968 г. японская
фирма «Кавасаки Хэви Индастриз» покупает у фирмы «Юни¬
мейшн» лицензию на выпуск промышленных роботов. В 1969 г.
фирма «Дженерал Электрик» закончила разработку экспе¬
риментальной шагающей платформы для вооруженных сил
США — одну из наиболее необычных разработок в области ро¬
бототехники. В этом же году был создан бостонский манипуля¬
тор, а в следующем — станфордский манипулятор, оснащенный
телевизионной камерой и управляющим компьютером. Созда¬
ние этих манипуляторов положило начало ряду наиболее
18
серьезных исследований в области робототехники. Один из
экспериментов со станфордским манипулятором состоял в авто¬
матической укладке блоков по различным заданным правилам.
Это была очень сложная задача для роботов того времени.
В 1974 г. фирма «Цинциннати Милакрон» представила первого
управляемого компьютером промышленного робота, названно¬
го Т3 (The Tomorrow Tool — инструмент будущего). Этот робот
мог поднимать грузы весом более 40 кг и работать с движущи¬
мися объектами на сборочном конвейере.
В течение 70-х годов большое внимание в исследованиях
уделялось использованию датчиков внешней обстановки для по¬
вышения качества функционирования манипуляторов. В Стан¬
форде Боллес и Пол [26] создали станфордский манипулятор,
предназначенный для сборки автоматических водяных насосов.
Управление этим манипулятором осуществлялось с помощью
компьютера PDP-10 на основе информации от зрительных и
силовых датчиков. Приблизительно в это же время Вилл
и Гроссман [311] из фирмы ИБМ разработали управляемый
компьютером манипулятор с тактильными и силовыми датчи¬
ками, предназначенный для сборки пишущей машинки, состоя¬
щей из двадцати деталей. В Лаборатории искусственного ин¬
теллекта Массачусетского технологического института проводи¬
лись работы [132], связанные с использованием сигналов обрат¬
ной связи от силовых датчиков. Для обеспечения правильного
начального положения схвата при проведении высокоточных
сборочных работ использовался метод поисковой навигации в
ближней зоне. В Лаборатории Дрейпера Невинс и др. [211]
проводили исследования по методам очувствления, базирую¬
щимся на свойствах упругих деформаций. В результате этих
работ был создан прибор, названный «удаленный центр упру¬
гой податливости» (remote center compliance). Этот прибор
монтировался на упорной пластине последнего звена манипу¬
лятора при выполнении высокоточных сборочных работ.
Бьецци [16] из Лаборатории реактивного движения для
управления удлиненным станфордским манипулятором, пред¬
назначенным для космических исследований, применил мето¬
дику измерения моментов. После этого был предложен еще ряд
различных способов управления механическими манипуля¬
торами.
В настоящее время робототехника представляет собой зна¬
чительно более обширную область науки, чем можно было себе
представить всего несколько лет назад. Она включает вопросы
кинематики, динамики, планирования стратегий, языков про¬
граммирования и искусственного интеллекта. Все эти вопросы
освещены в следующих разделах и составляют содержание дан¬
ной книги.
19
1.3. кинематика и динамика МАНИПУЛЯТОРА
Предметом кинематики манипулятора является аналити¬
ческое описание геометрии движения манипулятора относи¬
тельно некоторой заданной абсолютной системы координат
без учета сил и моментов, порождающих это движение. Та¬
ким образом, задачей кинематики является аналитическое
описание пространственного расположения манипулятора в за¬
висимости от времени, и, в частности, установление связи
между значениями присоединенных координат манипулятора
и положением и ориентацией его схвата в декартовом прост¬
ранстве.
В кинематике манипулятора выделяются две основные за¬
дачи. Первая из них обычно называется прямой, а вторая — об¬
ратной задачей кинематики манипулятора. Поскольку присоеди¬
ненные переменные составляют систему независимых коорди¬
нат манипулятора, а задача обычно формулируется в абсо¬
лютной декартовой системе координат, обратная задача кине¬
матики возникает более часто. Денавит и Хартенберг [57]
разработали единый общий подход к описанию пространствен¬
ной геометрии манипулятора относительно заданной абсолютной
системы координат, основанный на применении матричной ал¬
гебры. Они предложили использовать для описания взаимного
пространственного расположения звеньев матрицы однородных
преобразований, имеющие размерность 4X4. Тем самым пря¬
мая задача кинематики свелась к определению матрицы одно¬
родного преобразования, задающей связь между системой ко¬
ординат схвата и абсолютной системой координат. Матрицами
однородных преобразований удобно пользоваться и при выводе
уравнений динамики движения манипулятора. Обратная задача
кинематики может быть решена различными методами. К числу
наиболее часто используемых относятся методы матричной
алгебры, метод итераций и геометрический подход. Под¬
робно прямая и обратная задачи кинематики рассмотрены
в гл. 2.
Предметом динамики манипулятора является математи¬
ческое описание действующих на манипулятор сил и моментов
в виде уравнений динамики движения. Такие уравнения необ¬
ходимы для моделирования движения манипулятора с помощью
ЭВМ, при выборе законов управления и оценке качества кине¬
матической схемы и конструкции манипулятора. Динамическая
модель манипулятора может быть построена на основе исполь¬
зования известных законов ньютоновской или лагранжевой ме¬
ханики. Результатом применения этих законов являются урав¬
нения, связывающие действующие в сочленениях силы и мо¬
менты с кинематическими характеристиками и параметрами
движения звеньев. Полное описание динамики движения мани¬
20
пулятора можно получить, применяя традиционные методы
Лагранжа—Эйлера или Ньютона—Эйлера. Подробному изло¬
жению вопросов динамики манипулятора посвящена гл. 3.
1.4. ПЛАНИРОВАНИЕ ТРАЕКТОРИЙ И УПРАВЛЕНИЕ
ДВИЖЕНИЕМ МАНИПУЛЯТОРА
Опираясь на законы кинематики и динамики манипулятора,
можно так управлять силовыми приводами сочленений, чтобы
манипулятор двигался вдоль некоторой заданной траектории,
обеспечивающей выполнение поставленной задачи. Перед на¬
чалом движения манипулятора важно знать, во-первых, суще¬
ствуют ли на его пути какие-либо препятствия и, во-вторых, на¬
кладываются ли какие-либо ограничения на характер его тра¬
ектории. Задачу управления манипулятором удобно разбить на
две последовательные подзадачи: задачу выбора (планирова¬
ния) траектории и задачу управления движением вдоль вы¬
бранной траектории.
Пространственную кривую, вдоль которой движется схват
манипулятора из начального положения в конечное, обычно
называют траекторией схвата. Планирование траектории со¬
стоит в интерполяции и/или аппроксимации выбранной траекто¬
рии полиномами некоторого класса и построении последова¬
тельности опорных точек для управления манипулятором при
его движении из начального положения в конечное. В гл. 4 рас¬
сматриваются различные схемы планирования траекторий при
отсутствии препятствий на пути манипулятора. Излагается
формализм описания заданного движения манипулятора в виде
последовательности точек пространства, через которые должен
пройти манипулятор, и пространственной кривой, соединяющей
эти точки.
В задачу регулирования движения манипулятора вдоль вы¬
бранной траектории входят построение динамической модели
манипулятора (первая часть) и выбор на основе этой моде¬
ли законов управления, обеспечивающих заданное поведение
системы (вторая часть). Поскольку первая часть задачи регу¬
лирования движением подробно изучена в гл. 3, гл. 5 посвящена
второй части задачи. Обычно движение манипулятора осуще¬
ствляется в два этапа, отличающихся с точки зрения реализуе¬
мого управления. Первый этап — этап грубого управления —
обеспечивает перемещение манипулятора из начальной точки
вдоль заданной траектории в окрестность точки, соответствую¬
щей конечным заданным положению и ориентации схвата.
В течение второго этапа-—этапа точного управления — осуще¬
ствляется динамическое взаимодействие рабочего узла манипу¬
лятора с объектом манипулирования, обеспечивающее выполне¬
21
ние поставленной задачи. На втором этапе используется инфор¬
мация, поступающая от датчиков обратной связи.
При синтезе систем управления современных промышленных
роботов принято рассматривать приводы сочленений манипуля¬
тора как простые сервомеханизмы. Такой подход неадекватно
отражает переменные динамические характеристики манипуля¬
тора, поскольку не учитывает движения и конфигурации мани¬
пулятора в целом. В ряде случаев нестабильность параметров
управляемой системы делает традиционные методы управления
с обратной связью практически неэффективными. При этом воз¬
растает инерционность и колебательность процессов отработки
заданных команд, что приводит к снижению точности и ско¬
рости движения рабочего органа и ограничивает область при¬
менения манипулятора работами, не требующими высокой
точности. Движение манипуляторов, управляемых указанным
образом, характеризуется низкой скоростью и вредными вибра¬
циями. Сколько-нибудь значительное улучшение качества функ¬
ционирования манипулятора может быть достигнуто лишь на
основе использования более точных динамических моделей, син¬
теза достаточно сложных законов управления и применения спе¬
циализированных компьютеров с параллельной обработкой
данных. В гл. 5 рассматриваются вопросы синтеза законов
грубого управления, позволяющих на базе построенных в гл. 3
динамических моделей осуществлять эффективное управление
манипулятором.
1.5. СИСТЕМЫ ОЧУВСТВЛЕНИЯ РОБОТОВ
Применение датчиков внешней обстановки позволяет осуще¬
ствлять гибкое взаимодействие робота с внешней средой. Такой
способ функционирования существенно отличается от програм¬
много, при котором робот выполняет последовательность повто¬
ряющихся заранее заданных операций. Хотя до сих пор именно
программный способ функционирования является основным для
промышленных роботов, развитие технологии очувствления,
позволяющей наделить машину элементами интеллекта, яв¬
ляется важным направлением в области робототехники.
Датчики (сенсорные устройства) робота можно разделить
на две основные категории: датчики внешней обстановки и дат¬
чики внутреннего состояния. Датчики внутреннего состояния по¬
ставляют информацию о переменных состояния манипулятора,
например о значениях присоединенных координат, используе¬
мую при формировании команд управления. Датчики внешней
обстановки измеряют дальность до объекта, скорость сближе¬
ния, регистрируют непосредственный контакт с объектом (так¬
тильные датчики). Система внешнего очувствления, являющаяся
предметом обсуждения в гл. 6—8, используется при наведении
22
манипулятора на объект, при идентификации объекта и мани¬
пулировании с ним. В гл. 6 рассматриваются подсистемы, фор¬
мирующие информацию о дальности, скорости сближения, реа¬
лизуемых силах и моментах, а также подсистема тактильного
очувствления. Подсистема зрительного очувствления подробно
рассматривается в гл. 7 и 8. Искусственному зрению отводится
среди других подсистем очувствления основная роль в дальней¬
шем совершенствовании робототехнических систем. Искусствен¬
ное зрение можно рассматривать как процесс выделения, спе¬
цификации и интерпретации информации, содержащейся в
изображениях трехмерного пространства. Этот процесс, назы¬
ваемый также машинным зрением, подразделяется на шесть
стадий: 1) восприятие; 2) первичная обработка, или предобра¬
ботка; 3) сегментация; 4) описание; 5) распознавание; 6) ин¬
терпретация.
Перечисленные выше стадии удобно сгруппировать по уров¬
ню сложности их реализации. Мы будем рассматривать три
уровня обработки: низкий, средний и высокий. Хотя между
ними отсутствуют четкие границы, они дают удобную классифи¬
кацию процессов, составляющих машинное зрение. Зрительны¬
ми функциями низкого уровня мы будем считать восприятие
и предобработку. На этом уровне производятся формирование
изображения, фильтрация шумов и выделение элементарных
особенностей, таких, как скачкообразные изменения плотности
изображения. К зрительным функциям среднего уровня мы бу¬
дем относить процессы выделения компонент изображений, по¬
лученных в результате зрительной обработки низкого уровня,
формального описания особенностей этих компонент и их клас¬
сификации. В терминах приведенного выше разбиения это
будут сегментация, описание и распознавание. Зрительные
функции высокого уровня представляют собой попытку вос¬
произведения процесса познания. В гл. 7 рассмотрены вопросы
восприятия и предобработки и методы реализации зрительных
функций низкого уровня. Зрительные функции среднего и высо¬
кого уровней обсуждаются в гл. 8.
1.6. ЯЗЫКИ ПРОГРАММИРОВАНИЯ '
ДЛЯ РОБОТОТЕХНИЧЕСКИХ СИСТЕМ ‘
Существенным препятствием на пути применения манипу¬
ляторов в качестве универсальных сборочных или других тех¬
нологических машин является недостаток средств общения
между пользователем и робототехнической системой, с по¬
мощью которых пользователь мог бы формулировать подлежа¬
щую выполнению задачу. Существует несколько способов об¬
щения с роботом, базирующихся на трех основных подходах:
га
распознавании слов, обучении и воспроизведении, применении
языков программирования высокого уровня.
Современный уровень возможностей в распознавании слов
весьма примитивен. Он допускает восприятие ограниченного
набора слов, и, как правило, говорящий должен делать между
словами паузы. Хотя благодаря росту быстродействия компью¬
теров и использованию эффективных алгоритмов обработки в
настоящее время стало возможным восприятие слов в реальном
темпе, применимость этого подхода для постановки задачи
перед роботом весьма ограничена. Кроме того, хранение рече¬
вой информации требует большого объема машинной памяти, и
обычно требуется определенный период обучения, в течение ко¬
торого формируются речевые эталоны, используемые при рас¬
познавании слов.
Метод обучения и воспроизведения состоит в обучении ро¬
бота движениям, которые он должен выполнять, путем прове¬
дения манипулятора через всю последовательность заданных
движений. Обучение состоит из следующих этапов: 1) с по¬
мощью ручного управления в медленном темпе осуществляется
выполнение всех операций, которые манипулятор должен про¬
делать во время решения задачи. При этом в определенных
положениях производится запись значений присоединенных ко¬
ординат манипулятора, чтобы выполняемое движение могло
быть впоследствии воспроизведено; 2) движения, которым ро¬
бот был обучен на первом этапе, воспроизводятся и корректи¬
руются; 3) если робот правильно воспроизводит заданные дви¬
жения, начинается его функционирование, состоящее в перио¬
дическом повторении этих движений в соответствующем темпе.
Данный метод, называемый также методом обучения в ручном
режиме, наиболее часто используется в современных промыш¬
ленных роботах.
Более общим подходом к решению задачи человеко-машин¬
ного общения является использование языков программирова¬
ния высокого уровня. Роботы часто используются для прове¬
дения сварочных и покрасочных работ, Такие роботы не тре¬
буют непосредственного взаимодействия робота с внешней сре¬
дой, и необходимое поведение робота легко задается методом
обучения и воспроизведения. Однако использование роботов
для выполнения сборочных работ требует применения методов
программирования на языках высокого уровня. Этот подход
оправдывается также и тем, что управление манипулятором
обычно осуществляется с помощью компьютера, а наиболее эф¬
фективным средством общения человека с компьютером яв¬
ляются именно языки программирования высокого уровня. Более
того, описание сборочных работ в виде программ позволяет
использовать робот для выполнения различных заданий, что
осуществляется путем простой смены исполняемой программы.
24
Это расширяет возможности адаптации роботов к условиям из¬
меняющегося производственного процесса и повышает их уни¬
версальность. Применение языков программирования высокого
уровня для обеспечения эффективного общения с роботом об¬
суждается в гл. 9.
1.7. МАШИННЫЙ ИНТЕЛЛЕКТ
Основной проблемой робототехники является проблема пла¬
нирования движений, обеспечивающих выполнение поставлен¬
ной задачи, и последующего управления манипулятором с целью
реализации запланированных движений. Под планированием
мы подразумеваем выбор стратегии поведения, осуществляемый
до начала выполнения задачи. Выбор стратегии поведения осу¬
ществляется системой выбора стратегий исходя из поставлен¬
ной цели и с учетом заданной начальной ситуации. Таким об¬
разом, план представляет собой описание стратегии поведения,,
выбранной для достижения поставленной цели.
В результате исследований в области выбора стратегий по¬
ведения роботов был создан ряд подходов к построению систем
выбора стратегий, принадлежащих к разряду систем искус¬
ственного интеллекта. Типичная для робототехники формули¬
ровка задачи состоит в следующем. Имеется робот, снабженный
сенсорными устройствами, и задан набор элементарных опера¬
ций, которые этот робот может выполнять в некоторой доста¬
точно простой обстановке. Своими действиями робот изменяет
окружающую обстановку. Например, внешняя обстановка мо¬
жет представлять собой набор помеченных блоков, лежащих
на столе или друг на друге, а робот, состоящий из телевизион¬
ной камеры, подвижной руки и схвата, может поднимать и пе¬
редвигать эти блоки. В других ситуациях робот представляет
собой подвижную тележку с телевизионной камерой, которая
толкает объекты с одного места на другое по плоскости, на
которой находятся другие объекты.
В гл. 10 изложен ряд основных методов выбора стратегий
и рассмотрены возможности их применения для планирования
траекторий манипуляторов. Планировщик, входящий в состав
робота, осуществляет поиск пути из начального состояния окру¬
жающей робота обстановки к конечному. Путь состоит из по¬
следовательности операций, считающихся для данной системы
элементарными. Выбранная стратегия может служить основой
для выполнения реальных действий в реальной окружающей
обстановке. Системы планирования поведения роботов, внося¬
щие в робототехническую систему элементы интеллекта и поз¬
воляющие осуществлять выбор стратегий поведения, являются
в настоящее время предметом интенсивных исследований. Для
обеспечения функционирования робота в реальном темпе необ¬
25-
ходимы мощные и эффективные алгоритмы планирования, а
также быстродействующие специализированные компьютеры,
позволяющие эти алгоритмы реализовать.
1.8. ЛИТЕРАТУРА
Ниже приводится список изданий, содержащих публикации
по робототехнике и смежным вопросам. Литература по кон¬
кретным темам представлена в конце каждой главы. Библио¬
графия в конце книги содержит полную информацию о всех
источниках, упомянутых в тексте. Список источников составлен
в алфавитном порядке фамилий авторов.
Традиционно вопросы робототехники освещаются в следую¬
щих журналах: IEEE Journal of Robotics and Automation; Inter¬
national Journal of Robotics Research; Journal of Robotic Sys¬
tems; Robotica; IEEE Transactions on Systems, Man and Cyber¬
netics; Artificial Intelligence; IEEE Transactions on Pattern Ana¬
lysis and Machine Intelligence; Computer Graphics, Vision, and
Image Processing; IEEE Transactions on Automatic Control;
Mechanism and Machine Theory; ASME Journal of Mechanical
Design; ASME Journal of Applied Mechanics, ASME Journal
of Dynamic Systems, Measurement and Control; ASME Journal
of Mechanisms, Transmissions, and Automation in Design, a
также в материалах Международного симпозиума по промыш¬
ленным роботам, Международной объединенной конференции
по вопросам искусственного интеллекта, Международной кон¬
ференции по автоматике и робототехнике и в трудах общества
инженеров фотооптической аппаратуры Р.
Материал по всем затронутым в этой книге вопросам в до¬
статочном объеме содержится в работах [49, 60, 62, 71, 163,
229, 270, 289].
1} Из отечественных можно назвать следующие журналы: «Техническая
кибернетика», Изв. АН СССР; «Механика твердого тела»; «Машиноведение»;
«Проблемы машиностроения»; «Приборы и системы управления»; «Вестник
машиностроения», а также тематические сборники, труды конференций. —
Прим. ред.
Глава 2.
КИНЕМАТИКА МАНИПУЛЯТОРА
Смотри! Она защевелилась, она на¬
чинает двигаться, кажется, она чув¬
ствует движение жизни.
X, В. Лангфелло
2.1. ВВЕДЕНИЕ
Механический манипулятор можно рассматривать как разомкну¬
тую цепь, которая состоит из нескольких твердых тел (звеньев),
последовательно соединенных вращательными или поступатель¬
ными сочленениями, приводимыми в движение силовыми приво¬
дами. Один конец этой цепи соединен с основанием, а другой
конец свободен и снабжен рабочим инструментом, позволяющим
воздействовать на объекты манипулирования или выполнять раз¬
личные технологические, например сборочные, операции. Относи¬
тельное движение сочленений передается звеньям, в результате
чего схват манипулятора занимает в пространстве заданное по¬
ложение. В большинстве приложений робототехники требуется
описать пространственное положение схвата по отношению к за¬
данной абсолютной системе координат.
Кинематика манипулятора изучает геометрию движения ма¬
нипулятора относительно заданной абсолютной системы коорди¬
нат, не рассматривая силы и моменты, порождающие это движе¬
ние. Таким образом, ее предметом является описание простран¬
ственного положения манипулятора как функции времени, и,
в частности, соотношения между пространством присоединенных
переменных манипулятора — обобщенными координатами, поло¬
жением и ориентацией схвата. В этой главе рассмотрены две
основные задачи кинематики манипулятора (важные как в тео¬
ретическом, так и прикладном плане).
1. Для конкретного манипулятора по известному вектору при¬
соединенных углов — обобщенных координат q (t) = {q{[t),
qz{t) qn{t))T и заданным геометрическим параметрам
звеньев (п — число степеней свободы) определить положение и
ориентацию схвата манипулятора относительно абсолютной си¬
стемы координат.
2. При известных геометрических параметрах звеньев найти все
возможные векторы присоединенных переменных манипулятора,
обеспечивающие заданные положение и ориентацию схвата от¬
носительно абсолютной системы координат.
27
Первую из этих задач принято называть прямой, а вторую —
обратной задачей кинематики манипулятора. Поскольку соб¬
ственными независимыми переменными манипулятора являются
присоединенные переменные, а задача, как правило, формули¬
руется в координатах абсолютной системы отсчета, обратная
задача кинематики возникает более часто, чем прямая. На
рис. 2.1 приведена блок-схема, иллюстрирующая взаимосвязь
этих задач.
Присоединенные
углы (обод-
щенные
координаты)
q,(tк-, qn(t)
Присоединенные
уелы (обобщен¬
ные коорди- •*—
каты)
Параметры
аЗеньев
111
Прямая
задача
кинематики
Параметры
збеньеб
1 I I
Обратная
задача
кинематики
Положение и
ориентация
~ схбата
Рис. 2.1. Прямая и обратная задачи кинематики.
Так как звенья манипулятора совершают вращательное и/или
поступательное движение относительно абсолютной системы ко¬
ординат, результирующее пространственное положение схвата
определяется угловым и поступательным движениями звеньев.
В работе [57] изложен общий систематический подход к описа¬
нию пространственного расположения звеньев манипулятора в
абсолютной системе отсчета, основанный на применении мат¬
ричной алгебры. Для описания взаимного пространственного по¬
ложения двух смежных звеньев этот подход использует однород¬
ную матрицу преобразования размерностью 4X4. Прямая
задача кинематики сводится тем самым к определению однород¬
ной матрицы преобразования, характеризующей пространствен¬
ное положение системы координат схвата манипулятора в абсо¬
лютной системе отсчета. Однородные матрицы преобразования
используются также при выводе уравнений динамики движения
манипулятора.
К решению обратной задачи кинематики существует, вообще
говоря, несколько подходов. Наиболее часто используются ме¬
тоды матричной алгебры, метод итераций и геометрический под¬
ход. На примере решения обратной задачи кинематики простого
манипулятора с вращательными сочленениями мы рассмотрим
геометрический подход, основой для которого служат понятия
28
систем координат звеньев и конфигураций манипулятора. Кроме
того, будет предложен более общий подход с использованием
однородных матриц размерностью 4X4, который проиллюстри¬
рован на примере решения обратной задачи кинематики простых
манипуляторов.
2.2. ПРЯМАЯ ЗАДАЧА КИНЕМАТИКИ
Ниже матричная и векторная алгебра'> применяются для си¬
стематического и обобщенного подхода к описанию и представ¬
лению расположения звеньев манипулятора (исполнительных
механизмов робота) относительно заданной абсолютной системы
координат. Так как звенья манипулятора могут совершать вра¬
щательное и/или поступательное движение относительно абсо¬
лютной системы отсчета, для каждого звена определяется свя¬
занная система координат, оси которой параллельны осям
сочленений звеньев. Прямая задача кинематики сводится к опре¬
делению матрицы преобразования, устанавливающей связь
между абсолютной и связанной системами координат. Для описа¬
ния вращательного движения связанной системы отсчета отно¬
сительно абсолютной используется матрица поворота 2) размер¬
ностью 3X3, для представления векторов положения в трех¬
мерном пространстве применяются однородные координаты,
а для учета поступательного движения связанной системы ко¬
ординат вместо матрицы поворота используется матрица одно¬
родного преобразования размерностью 4X4. Таким матричным
представлением для описания пространственной геометрии мани¬
пулятора впервые воспользовались Денавит и Хартенберг [57].
Их представление дает универсальный алгоритм для вывода
уравнений кинематики манипулятора.
2.2.1. Матрицы поворота
Матрицу поворота размерностью 3X3 можно определить
как матрицу преобразования трехмерного вектора положения
в евклидовом пространстве, переводящую его координаты из по¬
вернутой (связанной) системы отсчета OUVW в абсолютную
систему координат OXYZ. На рис. 2.2 показаны две правые пря¬
моугольные системы координат: системы координат OXYZ с осями
OX, OY, OZ и система OUVW с осями OU, OV, OW. Начала этих
систем совпадают и расположены в точке О. Система OXYZ фик¬
сирована в трехмерном пространстве и принята за абсолютную,
о Для обозначения векторов и матриц используются соответственно по¬
лужирные строчные и прописные буквы.
2> В ряде работ эту матрицу называют матрицей вращения, Оба понятия
идентичны.—Прим. ред.
29
а система координат OUVW вращается относительно абсолют¬
ной системы OXb’Z. Физически система OUVW может рассмат¬
риваться как связанная система координат. Это означает, что
она соответствующим образом жестко связана с твердым телом
(например, с летательным аппаратом или звеном манипулятора)
и движется вместе с ним. Пусть (i*, ]у, кг) и (i„, j„, k-Д — еди¬
ничные векторы, направленные вдоль осей систем OXyZ и
OUVW соответственно. Некоторую точку р в пространстве
можно охарактеризовать коор¬
динатами относительно любой
из указанных систем. Для про¬
стоты рассуждений предполо¬
жим, что точка р фиксирована
и неподвижна в системе отсче¬
та OUVW. Тогда в системах
координат OUVW и OXYZ
точка р будет иметь соответст¬
венно координаты
Puvw Он. Pv, Pw)
И Рхуг=={Рх, Ру> Рг) > (2.2-1)
где рХуг и рuvw характеризуют
положение одной и той же точ¬
ки р относительно различных
систем отсчета. Верхний индекс Т, добавляемый к обозначению
вектора или матрицы, обозначает операцию транспонирования.
Наша задача состоит в том, чтобы определить матрицу R
размерностью 3X3, которая преобразует координаты pvuw в ко¬
ординаты вектора р в системе OXYZ после того, как система
OUVW будет повернута, т. е.
Pxyz == Rpuaai- (2.2-2)
Заметим, что физически точка р вращается вместе с системой
координат OUVW.
Из определения компонент вектора имеем
Рuvw Ри * in Pv " lv Pw ' (2.2-3)
где ри, Pv и pw представляют собой составляющие вектора р
вдоль осей OU, ОV и OW соответственно, или проекции вектора
р на эти оси. Таким образом, используя определение скалярного
произведения и равенство (2.2-3), получаем
Рх == К ' Р== i-t ‘ 1 Ри “Ь ' J» Pv “Ь К' • pw,
Ру = iy ' Р ~ iy ' iu ' Ри }у ' }v ' Pv iy ' ' Pw, (2.2-4)
Рг == Кг ' Р == Кг ‘ Ри Кг ' ja Pv Кг ' ' Pw,
Рис. 2.2. Абсолютная и связанная си¬
стемы координат.
30
или в матричной форме
'Рх'
^Х ' 1и ^Х ' iv
1 • If
1 х
' Ри'
Ру
=
iy ч ч
jу ' кш
•
Pv
(2.2-5)
-Рг-
-кг ‘ к2 • ja
кг ' кда -
Pw
С учетом этого выражения матрица R в равенстве (2.2-2) при¬
мет вид
i • 1 i • If
lx 3v 1х
\у ' jo jy ' ка
кг ' jo *\г
МОЖНО
R =
Ч
h
к.
Аналогично, координаты
Pxyz-
Ч
ч
ч
Puvw
fUVW
— Q • р
xyzi
(2.2-6)
If • If
SVjjy
получить из координат
(2.2-7)
' Ри'
Ч ' Ч Ч ' iy i«'kz
~Px~
или
Pv
=
jo " С iv ' iy jo • kz
•
Py
- Pw "
- кщ, • ix kw - j у kw • kz -
-Pz
(2.2-8)
Поскольку операция скалярного произведения коммутативна,
то из соотношений (2.2-6) — (2.2-8) следует
Q=R-1 = Rr, (2.2-9)
QR = RrR=R‘ R = I3, (2.2-10)
где I3 — единичная матрица размерностью 3X3. Преобразова¬
ние, определяемое формулой (2.2-2) или (2.2-7), называется
ортогональным преобразованием, а поскольку все векторы, вхо¬
дящие в скалярные произведения, единичные, его также назы¬
вают ортонормальным преобразованием.
Особый интерес представляют матрицы поворота системы
OUVW относительно каждой из трех основных осей системы
OXYZ. Если положение системы OUVW в пространстве изме¬
няется за счет поворота этой системы на угол а вокруг оси ОХ,
то в системе отсчета OXYZ изменятся и координаты (рх, ру, рг)т
точки puvw, имеющей в системе OUVW неизменные координаты
(Pu,Pv,Pw). Соответствующая матрица преобразования RZi а на¬
зывается матрицей поворота вокруг оси ОХ на угол а. Основы¬
ваясь на полученных выше результатах, для матрицы R*, а имеем
(2.2-11)
Pxyz Rjc, а ' Ри
причем
x =
^U,
И
4
4 ' Jo
ix ■ кш
■ l
0
o -
Rjc, a =
iy-
iy - jo
iy ' kjj.
=
0
cos a
— sin a
. (2.2
-kz •
‘h
кг ' Jo
If • If
-0
sin a
cos a -
Аналогично, трехмерные (размерностью 3X3) матрицы пово¬
рота вокруг оси О У на угол <р и вокруг оси OZ на угол 6 имеют
31
соответственно вид (рис. 2.3):
COS Ф
0
sin ф'
" cosB
— sin 9
0'
R^, <p
0
1
0
> Rz, e —
sin 9
cos 9
0
j
- — sin ф
0
СОЭф -
- 0
0
4
(2.2-13)
Матрицы R -cot) Ry, ф и Rz, g называются матрицами элвмвнтар-
ных поворотов. Любые другие матрицы конечных поворотов
можно получить, используя матрицы элементарных поворотов.
Пример. В повернутой системе координат OUVW заданы две
точки аигш=(4, 3, 2)г и Ь„аш=(6, 2, 4)Г. Требуется определить
координаты а.Хуг и Ъхуг этих точек в абсолютной системе коор¬
динат, если система OUVW повернута относительно оси OZ на
угол 60°.
РвШвНив'. 3.xУZ === Rz, 60o ' З-uow И Ъхуг Rz, бОоЬциш,
’■xyz
Ьдг уг
Г 0,500 —0,866 01 Г 4
0,866 0,500 0 • 3
0 0 J J L 2
4 (0,5)+ 3 (-0,866)+ 2(0)
4 (0,866) + 3 (0,5) + 2 (0)
4(0)+ 3(0)+ 2(1)
0,500 —0,866 ОТ Гб
0,866 0,500 0 • 2
L 0 0 1 J L 4
-
■-0,598-
4,964
_
- 2,0 -
- 1,268"
6,196
-4,0 -
Таким образом, зхуг и b^z в абсолютной системе координат
равны соответственно (—0,598, 4,964, 2,0)г и (1,268, 6,196, 4,0)г.
Пример. По известным координатам точек зхуг = (4, 3, 2)т и
bryz =(6, 2, 4)т в абсолютной системе отсчета требуется опре¬
делить соответствующие координаты в системе OUVW, повер¬
нутой относительно оси OZ на 60°.
Решение. 3uvw ^^(Rz, 60o)^*a*^2 И buvw ==(Rz. 60°)^’b.*;</z,
а.» птв)
4
3
L 2
buvw
0,500 0,866 0
—0,866 0,500 0
0 0 1 J
4 (0,5) + 3 (0,866) + 2 (0)
4 (-0,866)+ 3(0,5)+ 2(0)
4(0) + 3(0) + 2 (1)
0,500 0,866 01 Г 6
—0,866 0,500 0 • 2
L 0 0 1J L 4
4,598
-1,964
2,0
4,732
•4,196
4,0
32
7.
Z
Рис. 2.3. Вращающаяся система координат,
2 К. Фу и др.
33
2.2.2. Матрицы сложных поворотов
Описание последовательности конечных поворотов относи¬
тельно основных осей системы OXYZ можно получить путем пе¬
ремножения матриц элементарных поворотов. Поскольку опера¬
ция перемножения матриц некоммутативна, здесь существенна
последовательность выполнения поворотов. Например, матрица
поворота, представляющего собой результат последовательного
выполнения поворотов сначала на угол а вокруг оси ОХ, затем
на угол 0 вокруг оси OZ, затем на угол <р вокруг оси ОУ, имеет
вид
Сф 0 5ф"
■се —so о-
К фКг, 0 ' Rx, а
0 1 0
50 С0 0
X
-—5ф 0 Сф-
- 0 0 1 -
■ 1
0
0 '
СфС0
5ф5а — Сф50Са
Сф505а -f- 5фСа ~
X
0
Са
—Sa
S0
С0Са
—С05а
-0
5а
Са -
- —5фС0
СфС0Са -f- СфСа
СфСа — 5ф505а -
(2.2-14)
где Сф = cos ф; 5ф = sin ф; С0 = cos 0, 50 = sin 0; Са =з cos а,
5а = sin а. Она отличается от матрицы, описывающей резуль¬
тат поворота сначала на угол ф вокруг оси ОУ, затем на угол 0
вокруг оси OZ и, наконец, на угол а относительно оси ОХ. Во
втором случае результирующая матрица поворота имеет вид
‘ 1
0
0 '
-С0
-S0
0-
К Кх, а ' ^г, Э ' К#, ф
0
Са
—Sa
•
S0
С0
0
-0
Sa
Са -
- 0
0
1 -
Сф
0
5ф"
С0Сф
-S0
С05ф -]
X
0
1
0
=
Са50Сф -j- 5а5ф
СаС0
Са505ф — 5аСф
- —5ф
0
Сф -
- 5а50Сф — Са5ф
SaC0
5а505ф — СаСф .
(2.2-15)
Наряду с вращением относительно осей абсолютной системы
координат OXYZ подвижная система отсчета OUVW может со¬
вершать повороты вокруг собственных осей. В этом случае ре¬
зультирующая матрица поворота может быть получена с ис¬
пользованием следующих простых правил.
1. Вначале обе системы координат совпадают, и, следова¬
тельно, матрица поворота представляет собой единичную мат¬
рицу размерностью 3X3.
2. Если подвижная система координат OUVW совершает по¬
ворот вокруг одной из основных осей системы OXYZ, матрицу
34
предыдущего результирующего поворота ,надо умножить слева
на соответствующую матрицу элементарного поворота.
3. Если подвижная система координат OUVW совершает по¬
ворот вокруг одной из своих основных осей, матрицу предыду¬
щего результирующего поворота надо умножить справа на со¬
ответствующую матрицу элементарного поворота.
Пример. Требуется найти матрицу поворота, являющегося ре¬
зультатом последовательного выполнения поворотов сначала на
угол <р вокруг оси OY, затем на угол 0 вокруг оси OW и на угол
а вокруг оси OU.
Решение:
Л
R =
^У, ф ’
Нш, 0
R*
,а
R?, ф ■
R®,
0 ■
к
a ’
Сф
0 5ф'
-С0
-S0
о-
-1
0
0 '
=
0
1 0
50
С0
0
0
Ca
—5a
=
- —5ф
0 Сф-
- 0
0
1 -
-0
5a
Ca -
СфС0 ScpSa — CqpSBCa CcpS0Sa -j- ScpCa
SB C0Ca —C05a
- —5фС0 ScpSQCa -j- CcpSa СфСа — Sq5 )5a -
Этот пример построен так, что матрица результирующего пово¬
рота такая же, как в выражении (2.2-14), однако последова¬
тельность поворотов отличается от последовательности, резуль¬
татом которой является выражение (2.2-14).
2.2.3. Матрица поворота вокруг произвольной оси
В ряде случаев подвижная система координат OUVW может
совершать поворот на угол ф относительно произвольной оси г,
представляющей собой единичный вектор с компонентами гк, гу
и гг, выходящий из начала координат О. Преимущество такого
поворота состоит в том, что для некоторых угловых движений по¬
следовательность поворотов относительно основных осей систем
координат OXYZ и/или OUVW можно заменить одним поворотом
системы OUVW вокруг оси г. Чтобы получить матрицу поворота
Rr, ф, можно сначала произвести ряд поворотов относительно осей
системы OXYZ, чтобы совместить ось г с осью OZ. Затем произ¬
ведем требуемый поворот вокруг оси г на угол ф и опять ряд по¬
воротов относительно осей системы OXYZ, возвращающих ось OZ
в исходное положение. Из рис. 2.4 видно, что совмещение осей OZ
и г может быть реализовано с помощью поворота на угол а от¬
носительно оси ОХ (ось г в результате окажется в плоскости
XZ), а затем на угол —р вокруг оси OY (в результате оси OZ
и г совпадут). После поворота на угол ф относительно OZ или г
2*
произведем указанную выше последовательность поворотов, но
в обратном порядке и изменим при этом знаки углов поворота
/
/
/
i R^, Of
\
2 Rtf > -A
«R,.
a dy
;
Y,V
л, и
Рис. 2.4. Вращение вокруг произвольной оси. * • о
на противоположные. Результирующая матрица поворота равна
X
— R.<c, -a
■R*
p ■ R
Z, ф
■ Rtf, -&
' Rx, a -
,C '
-1
0
0 '
- cp
0 Sp-
" Сф
—Sep
O'
=
0
Ca
Sa
0
1 0
•
5ф
Сф
0
-0 -
-Sa
Ca -
L-sp
0 cp-
- 0
0
1-
-cp
0 -
-sp-
' 1 0
0 -
X
0
1
0
•
0 Ca
—Sa
• .'
-Sp
0
cp-
- 0 Sa
Ca -
Из рис. 2.4 легко определить, что
Гу
sm а =
sin р :
cosa =
У4+4'
COS $ — л/г2у-\-Г2г.
Подстановка этих равенств в предыдущее выражение Дяк Ц, #
дает
2т '
Rx,<p —
ГлгУф + Сф rxryVФ — rzS? rxrzVф + rySq>
rKryV<przSep ГуКф + Сф ryrzV<p — г^ф
-rxrzVq> — rySq> ryrzVy + rxSq> г*1Лр-f Сф .
(2.2-16)
36
где уф == vers cp = 1 —cos ср. Это очень полезная матрица пово¬
рота.
Пример. Найти матрицу поворота Rr, q>, задающую поворот на
угол ср вокруг вектора r = (l, 1, I)7.
Решение. Поскольку вектор г не является единичным, нужно
нормировать его и определить после этого его координаты в си¬
стеме отсчета OXYZ. Тем самым
Г; Va“ •
Подставляя эти значения в равенство (2.2-16), получим мат¬
рицу Rr, ф:
1/ЗУф + Сф 1/ЗНф
Rr, <р —
1/3 Уф
1/3 Уф.
V з
Sep
1/31/ф + Сф 1/31/ф — -^=- 5ф
-^=-5ф 1/31/ф + —)=■ Sep 1/ЗНф + Сф
2.2.4. Представление матриц поворота через углы Эйлера
Матричное описание вращения твердого тела упрощает мно¬
гие операции; однако, для того чтобы полностью описать ориен¬
тацию вращающегося твердого тела, необходимо использовать
все девять элементов матрицы поворота. Непосредственно эти
элементы не составляют полной системы обобщенных координат,
с помощью которых можно описать ориентацию вращающегося
твердого тела относительно абсолютной системы координат.
В качестве обобщенных координат можно использовать углы
Эйлера ф, 0 и \р. Существует много различных систем углов
Эйлера и все они описывают ориентацию твердого тела относи¬
тельно некоторой заданной системы координат. Три наиболее
часто используемые системы углов Эйлера представлены
в табл. 2.1.
Таблица 2.1. Три системы углов Эйлера
1 2 3
Последователь¬
ность поворо
то в
На ф вокруг оси
OZ
На 0 вокруг оси
OU
На т|) вокруг оси
ОГ
На ф вокруг оси
OZ
На 0 вокруг оси
О V
На т|) вокруг оси
ОГ
На тр вокруг оси
ОХ
На 0 вокруг оси
OY
На ф вокруг оси
02
37
Первая из рассматриваемых систем углов Эйлера обычно
используется при описании движения гироскопов и соответствует
следующей последовательности поворотов (рис. 2.5):
1. Поворот на угол ср вокруг оси OZ.
2. Поворот на угол 0 вокруг повернутой оси OU(R„, е).
2. W
Рис. 2.5. Первая система углов Эйлера. -
3. Наконец, поворот на угол ф вокруг повернутой оси OW^R^).
Результирующая матрица поворота имеет следующий вид:
R<p, 0. ill == ^z. 0^а
, \|) *\z, Ф^и, 01'ш, ф
Сф —5ф О
5ф Сф О
О 0 1
' СфСф — СфСОСф
5фСф + СфС05ф
S0Sif>
1 0 0 1 Г Сф — о
0 С0 —S0 s-ф Оф о
l о so се J L о о 1
СфСф — ЯфСбС^ C\pSQ
5ф5ф + СфСЭСф —Сф50
SQC-ф С0
(2.2-17)
Поворот, описываемый матрицей R,Pi е, может быть также
получен в результате выполнения последовательности следую¬
щих поворотов вокруг осей неподвижной системы координат:
сначала на угол ф вокруг оси OZ, затем на угол 0 вокруг оси ОХ
и, наконец, на угол ф вокруг оси OZ.
На рис. 2.6 изображена вторая система углов Эйлера, опре-
деляемая следующей последовательностью поворотов:
1. Поворот на угол ф вокруг оси 0Z(R2, ф). ...
38
2. Поворот на угол 9 вокруг повернутой оси OK(R», е).
3. Наконец, поворот на угол ф вокруг повернутой оси OW(R®, ф).
Результирующая матрица поворота имеет следующий вид:
R(p, 6, ф Rz, ф " ^
Сф
5ф
О
v, е ''а», ф
-5ф О
Сф О
О 1
Сф
Сф
L О
Сф О
Сф о
О 1 j
се о se
о 1 о
-S0 О C0J
СфСесф — СфСф —СфСосф' — СфСф СфСО
СфСОСф + СфСф —СфСОСф1 + СфСф СфС()
-S0Ci|) Cf)Ci|) С0 j
(2.2-18)
Поворот, описываемый матрицей R,Pi 0, ^ для этой системы
углов Эйлера, может быть получен также в результате выполне-
Z, W
Рис. 2.6. Вторая сиСТема углов Эйлера.
ния следующей последовательности поворотов вокруг осей не¬
подвижной системы координат: на угол ф вокруг оси 02, затем
на угол 0 вокруг оси О У и, наконец, на угол ф вокруг оси 02.
Еще одну систему углов Эйлера составляют так называемые
углы крена, тангажа и рысканья. Эти углы обычно применяются
в авиационной технике при описании движения аппаратов.
Они соответствуют следующей последовательности поворотов:
1. Поворот на угол ф вокруг оси OX(R*.^,) (рысканье).
2. Поворот на угол 0 вокруг оси Oy(Ry,e) (тангаж).
3. Поворот на угол ф вокруг оси 02 (R2, Ф) (крен).
39
- се о se-
'10 о -
0 1 0
0 Сф —яф
__
-
--S0 0 С0-
- 0 Сф -
(2.2-19)
Результирующая матрица поворота имеет следующий вид:
^Ф, Э, ф cpRi/, 0^х, ф
Сф —5ф О'
5ф Сф О
■ О 0 1
‘ СфСВ Сф505ф — СфСф СфСОСф + 5ф5ф
СфСО СфСОСф + СфСф СфСОСф — СфСф1
l—se ces^ сесф
Поворот, описываемый матрицей R(Pi е, ф в переменных крен,
тангаж, рысканье, может быть также получен в результате вы-
z полнения следующей последо¬
вательности поворотов вокруг
осей абсолютной и подвижной
систем координат: на угол q>
вокруг оси OZ, затем на угол 9
вокруг повернутой оси ОУ и,
наконец, на угол ф вокруг по¬
вернутой оси OU (рис. 2.7).
Рис. 2.7. Крен, тангаж, рысканье
(третья система углов Эйлера).
2.2.5. Геометрический смысл
матриц поворота
Выясним теперь геометри¬
ческий смысл матриц поворота.
Пусть точка р в системе отсчета OUVW имеет координаты
(1, 0, 0), т. е. Puvw — IU* Тогда первый столбец матрицы поворота
представляет собой координаты этой точки относительно системы
отсчета OXYZ. Аналогично, выбирая в качестве р векторы
(0, 1, 0)^ и (0, 0, \)т, легко видеть, что второй и третий столбцы
матрицы поворота представляют собой координаты единичных
векторов в направлении соответственно осей OV и OW системы
OUVW относительно системы отсчета OXYZ. Таким образом,
если заданы абсолютная система отсчета OXYZ и матрица пово¬
рота, то векторы-столбцы этой матрицы задают в системе OXYZ
координаты единичных векторов в направлении основных осей
системы OUVW. Это позволяет определить положение осей си¬
стемы координат OUVW относительно абсолютной системы ко¬
ординат. Итак, матрица поворота определяет положение основ¬
ных осей повернутой системы координат относительно абсолют¬
ной системы координат.
1) В принятой авторами системе координат продольная ось аппарата или
сочленения совпадает с осью Z,— Прим. ред.
4Q
Поскольку операция обращения матрицы поворота совпадает
с операцией транспонирования, то векторы-строки матрицы по¬
ворота задают направление основных осей абсолютной системы
координат OXYZ в повернутой системе координат OUVW. Такая
геометрическая интерпретация матрицы поворота дает ключ
к решению многих задач кинематики манипулятора. Ниже при¬
водится ряд полезных свойств матриц поворота.
1. Каждый столбец матрицы поворота представляет собой
единичный вектор в направлении соответствующей оси поверну¬
той системы отсчета, заданный своими координатами относи¬
тельно абсолютной системы координат. Каждая строка матрицы
поворота представляет собой единичный вектор в направлении
соответствующей оси абсолютной системы координат, заданный
своими координатами относительно повернутой системы отсчета
OUVW.
2. Поскольку каждый столбец и строка представляют собой
координаты одиничного вектора, длина векторов, определяемых
строками и столбцами матрицы поворота, равна 1. Это свойство
непосредственно следует из определения ортонормированной си¬
стемы координат. Далее, детерминант матрицы поворота равен
+ 1 для правосторонней системы отсчета и —1—для левосто-
роннЖ
3. Поскольку столбцы (строки) матрицы поворота являются
векторами, составляющими ортонормированный базис, скалярное
произведение векторов, определяемых двумя различными столб¬
цами (строками), равно нулю.
4. Операция обращения матрицы поворота совпадает с опе¬
рацией транспонирования: R~' = Rr и RRT = I3,
где 13 — единичная матрица размерностью 3X3. Свойства 3 и 4
особенно полезны для проверки результатов умножения двух
матриц поворота и при поиске строки или столбца матрицы по¬
ворота, в котором сделана ошибка.
Пример. Координатные оси OU, OV и OW повернуты на угол а
вокруг оси ОХ. Определить координаты единичных векторов
в направлении осей абсолютной системы отсчета относительно
повернутой системы отсчета OUVW.
Решение. Единичные векторы в направлении повернутых коор¬
динатных осей в повернутой системе отсчета имеют координаты
К =(1, О, 0)т, )v = (0, 1, 0)т, кш = (0, 0, 1)т. Тогда исходные еди¬
ничные векторы имеют вид
К= П„ + 0jo + 0кш = (1, 0, 0)г,
iy = 0iu -f cosaj0 — sin akw = (0, cos a, — sin af,
k2 = 0i„ + sin aj0 -f cos акш = (0, sin a, cos a) .
Используя свойство 1 и рассматривая эти векторы как строки
матрицы поворота, можно воссоздать матрицу R*, а, которая бу-
41
дет иметь следующий вид:
Г 1 0 0 1
R*, а — О COS а sin а
- О — sin а cos а -
что совпадает с результатом транспонирования матрицы, входя¬
щей в равенство (2.2-12).
2.2.6. Однородные координаты и матрицы преобразований
Поскольку трехмерная матрица поворота не несет информа¬
ции о поступательном перемещении и используемом масштабе,
вектор координат р — (рх, ру, pz)T в трехмерном пространстве
дополняют четвертой координатой (или компонентой) так, что
он принимает вид р = (wpx, wpy, wpz, w)T. В этом случае говорят,
что вектор р выражен в однородных координатах. В этом раз¬
деле для обозначения того, что евклидов вектор выражен в одно¬
родных координатах, мы будем его записывать в виде р. В даль¬
нейшем, если это не приведет к путанице, такие «крышки» над
буквами будут опущены. Описание точек трехмерного простран¬
ства однородными координатами позволяет ввести в рассмотре¬
ние матричные преобразования, содержащие одновременно по¬
ворот, параллельный перенос, изменение масштаба и преобразо¬
вание перспективы. В общем случае изображение jV-мерного
вектора вектором размерностью N -J- 1 называется представле¬
нием в однородных координатах. При таком представлении пре¬
образование jV-мерного вектора производится в (TV -J- 1)-мерном
пространстве, а физический iV-мерный вектор получается деле¬
нием однородных координат на (N 1)-ю компоненту w. Так,
вектор р — {рх,ру,рг)т положения в трехмерном пространстве
в однородных координатах представляется расширенным векто¬
ром (wpx,wpy,wpz,w)T. Физические координаты связаны с од¬
нородными следующим образом:
Представление трехмерного вектора положения в однород¬
ных координатах не единственно. Например, Pi =(wipx, w^py,
W\pz,W\)J и p2=(w2px, w2py, w2pz, w2)7 являются различными
однородными представлениями одного и того же вектора поло¬
жения р = (рх, ру, pz)т. Таким образом, четвертую компоненту w
вектора однородных координат можно рассматривать как мас¬
штабирующий множитель. Если эта компонента равна 1 (w = 1),
то однородные координаты вектора положения совпадают с его
физическими координатами. В робототехнике масштабирующий
Рх w
Ру w
WPy
42
множитель всегда выбирается равным 1, а в задачах машинной
графики он принимает любые положительные значения.
Однородная матрица преобразования представляет собой мат¬
рицу размерностью 4X4, которая преобразует вектор, выражен¬
ный в однородных координатах, из одной системы отсчета в дру¬
гую. Однородная матрица преобразования может быть разбита
на четыре подматрицы:
Т =
[ JR.3 х э j рз х 1 1
Поворот
Сдвиг
Преобразование
перспективы
Масштаби¬
рование
(2.2-20)
Верхняя левая подматрица размерностью 3X3 представляет
собой матрицу поворота; верхняя правая подматрица размер¬
ностью 3 X 1 представляет собой вектор положения начала ко¬
ординат повернутой системы отсчета относительно абсолютной;
нижняя левая подматрица размерностью 1X3 задает преобра¬
зование перспективы; четвертый диагональный элемент является
глобальным масштабирующим множителем. Однородная мат¬
рица преобразования позволяет выявить геометрическую связь
между связанной системой отсчета OUVW и абсолютной систе¬
мой OXYZ.
Если вектор р трехмерного пространства выражен в одно¬
родных координатах (т. е. р = {рх, ру, Pz, 1)г), то, используя по¬
нятие матрицы преобразования, можно сформировать однород¬
ную матрицу преобразования ТПОв, задающую преобразование
поворота и имеющую размерность 4X4. Однородная матрица
поворота получается соответствующим расширением обычной
матрицы поворота, имеющей размерность 3X3. Так, однородное
представление для матриц (2.2-12) и (2.2-13) имеет следующий
вид:
■ 1
0
0
0'
COS ф
0
sin ф
(Г
0
cos а
— sin а
0
0
1
0
0
т —
Л х, а
0
sin а
cos а
0
Т —
> * У, Ф
— sin ф
0
COS ф
0
0
0
0
1
0
0
0
1
cos 0
sin 0
О
О
sin (
cosf
О
О 0 1
(2.2-21)
Эти матрицы размерностью 4X4 называются однородными мат¬
рицами элементарных поворотов.
Верхняя правая подматрица однородной матрицы преобра¬
зования, имеющая размерность 3X1. задает параллельный пе-
43
ренос системы координат OUVW относительно абсолютной си'»
стемы OXYZ на вектор (dx, dy, dz)T\
1
О 1
О О
О О
О О
О
dx'
dy
dz
1
(2.2-22>
Эта матрица размерностью 4X4 называется однородной матри¬
цей элементарного сдвига.
Левая нижняя подматрица однородной матрицы преобразова¬
ния размерностью 1 X 3 определяет преобразование перспек¬
тивы, используемое, как показано в гл. 7, в задачах машинного
зрения и при калибровке изображений. Здесь элементы этой под¬
матрицы нулевые, что соответствует нулевому преобразованию
перспективы.
Диагональные элементы однородной матрицы преобразова¬
ния определяют локальное и глобальное изменения масштаба.
Первые три диагональных элемента задают локальное растяже¬
ние, или изменение масштаба:
а О О О
О b
О О
О О
X
ах
У
by
Z
CZ
1.
_ 1
(2.2-23)
Легко видеть, что значения координат претерпевают изменение
масштаба, определяемое соответственно скалярами а, b и с. За¬
метим, что матрицы элементарных поворотов Т„оВ не дают эф¬
фекта локального изменения масштаба.
Четвертый диагональный элемент определяет глобальное пре¬
образование масштаба
(2.2-24)
О
о
о
X
X
0 10 0
У
У
0 0 10
Z
Z
О
О
о
Со
!
1
S
где s > 0. Физические декартовы
равны
* У
Рх g ’ Ру 5 > Рх
координаты вектора будут
= 1. (2.2-25)
w —
Таким образом, четвертый диагональный элемент однородной
матрицы преобразования определяет глобальное сжатие коорди¬
нат, если s > 1, и растяжение, если 0 < s < 1.
Итак, однородная матрица преобразования переводит вектор,
44
заданный однородными координатами в системе отсчета OUVW,
в абсолютную систему координат OXYZ, т. е. при w — 1
и
пх Sx йх рх
Т ==
S„
пг Sz Clz pz
0 0 0 1
Pxyz = Tpuvw (2.2-26a)
[n s a p1 -
о о 0 °J- <2-2-26®
2.2.7. Геометрический смысл однородной матрицы
преобразования
В общем случае однородная матрица преобразования векто¬
ров трехмерного пространства может быть представлена так,
как в равенстве (2.2-266). Выберем в системе координат OUVW
точку р, имеющую однородные координаты (0, 0, 0, I)71, т. е.
puvw совпадает с началом системы координат OUVW. В этом
случае верхняя правая подматрица размерностью 3X1 харак¬
теризует положение точки начала системы координат OUVW
в абсолютной системе отсчета OXYZ. Далее, выберем точку р
равной (1, 0, 0, 1)г, т. е. рыто> = К- Кроме того, предположим,
что начала обеих систем отсчета совпадают и расположены в
точке О. Это приводит к тому, что все элементы верхней правой
подматрицы, имеющей размерность ЗХК равны 0. Тогда пер¬
вый столбец (или вектор п) однородной матрицы преобразова¬
ния определяет координаты единичного вектора в направлении
оси OU системы OUVW в системе отсчета OXYZ. Аналогично,
полагая р равным (0, 1, 0, 1)г и (0, 0, 1, 1)г, легко видеть, что
второй столбец (или вектор s) и третий столбец (или вектор а)
элементов однородной матрицы преобразования определяют со¬
ответственно координаты единичных векторов в направлении
осей ОV и OW системы OUVW в абсолютной системе отсчета.
Таким образом, если задана абсолютная система отсчета OXYZ
и однородная матрица преобразования Т, то векторы-столбцы
подматрицы поворота представляют собой единичные векторы
в направлении основных осей системы OUVW, заданные своими
координатами в абсолютной системе отсчета, т. е. задают ориен¬
тацию основных осей системы отсчета OUVW относительно аб¬
солютной системы координат. Четвертый вектор-столбец одно¬
родной матрицы преобразования задает положение начала коор¬
динат системы отсчета OUVW относительно абсолютной системы
координат. Другими словами, однородная матрица преобразо¬
вания в геометрическом смысле определяет расположение по¬
вернутой системы координат (положение и ориентацию) по от¬
ношению к абсолютной системе отсчета.
45
Поскольку операция обращения подматрицы поворота совпа¬
дает с операцией транспонирования, то векторы-строки под¬
матрицы поворота задают положение основных осей абсолютной
системы координат относительно повернутой системы координат
OUVW. Однако для однородной матрицы операции обращения
и транспонирования не совпадают. Положение начала абсолют¬
ной системы координат относительно системы координат OUVW
можно определить лишь после того, как определена матрица,
обратная матрице однородного преобразования. В общем случае
такая матрица имеет следующий вид:
пх пу пг —пгр
~ Т —
Р
т
sx sy sz ® Р
__
-S р
CLX &у &z ^ Р
т т
R3X3 —& Р
ООО 1
ООО 1
Таким образом, из равенства (2.2-27) видно, что векторы-столбцы
матрицы, обратной к однородной матрице преобразования, опре¬
деляют положение основных осей абсолютной системы отсчета
относительно повернутой системы координат OUVW. Верхняя
правая подматрица размерностью 3X1 характеризует положе¬
ние начала абсолютной системы координат относительно системы
OUVW. Такая геометрическая интерпретация однородной мат¬
рицы преобразования будет часто использоваться в данной книге.
2.2.8. Однородная матрица композиции преобразований
Однородная матрица композиции преобразований (обозна¬
чим ее как матрицу Т) может быть получена путем перемноже¬
ния однородных матриц элементарных поворотов и сдвигов. Од¬
нако, поскольку операция умножения матриц некоммутативна,
особое внимание следует обратить на порядок перемножения
этих матриц. При определении однородной матрицы композиции
преобразований будут полезны следующие правила:
1. Вначале обе системы координат совпадают, и, следова¬
тельно, однородная матрица преобразования представляет собой
единичную матрицу П размерностью 4X4.
2. Если подвижная система координат OUVW совершает по¬
ворот/сдвиг относительно осей системы отсчета OXYZ, однород¬
ную матрицу предыдущего результирующего преобразования
надо умножить слева на соответствующую однородную матрицу
элементарного поворота/сдвига.
3. Если подвижная система координат OUVW совершает по¬
ворот/сдвиг относительно одной из собственных основных осей,
однородную матрицу предыдущего результирующего преобразо¬
вания надо умножить справа на соответствующую однородную
матрицу элементарного поворота/сдвига.
46
Пример. Две точки auvw = (4, 3, 2)г и Ьцош = (6, 2, 4)г тре¬
буется сместить на +5 единиц вдоль оси ОХ и на —3 единицы
вдоль оси OZ. Используя соответствующую однородную мат¬
рицу преобразования, определить координаты точек ах.у,г,
Ьх, у, г, полученных в результате этих смещений.
Решение.
"1
0
.0
5"
“ 4"
" 4(1)+1(5) '
~ 9
0
1
0
0
3
3(1)+ 1(0)
3
&xyz =
0
0
1
-3
2
2(1) + 1 (—3)
-1
_0
0
0
1 _
_ 1 _
1(1)
1
"1
0
0
5"
"6"
"11 '
xyz
0
1
0
0
2
2
0
0
0
0
1
0
-3
1
4
1
1
1
... ^
Смещенные точки имеют следующие координаты:
а*„2 = (9, 3, — 1)г и bxyz = (U, 2, 1
xyz \^у 1/ Г1 ™xyz
Пример. Требуется определить матрицу Т, задающую преобра-
вание, состоящее из поворота на угол а вокруг оси ОХ, затем
смещения на Ь единиц вдоль повернутой оси ОV.
Решение. Эта задача, может быть, до некоторой степени искус¬
ственна, однако она иллюстрирует смысл основных компонент
матрицы Т. Мы воспользуемся двумя подходами к ее решению.
Первый из них противоречит принятому в этой книге стилю из¬
ложения, однако является весьма иллюстративным, второй соот¬
ветствует общим принципам изложения и является более про¬
стым. После поворота Тх, а направление повернутой оси ОV оп¬
ределяется (через векторы \х, j^, кг абсолютной системы отсчета)
вектором j0 = cos ajy -)- sin ak2, т. e. вторым столбцом равенства
(2.2-21). Таким образом, сдвиг вдоль повернутой оси OV на Ь
единиц равен b)v =
дующий вид:
Тц, Ь^х, а —
cos ajу + b sin ak2 и матрица Т имеет сле-
"1
0
0
0
1
0
0
0
1
_0
0
0
"1
0
0
cos a
0
sin a
0
0 -
0
b cos a
b sin a
1
0
— sin a
cos a
0
0
cos a
sin a
0
0
cos a
sin a
1
0
sin a
cos a
0 .
47
Второй подход состоит в том, чтобы, следуя изложенным выше
правилам, увидеть, что поскольку матрица Тх, а преобразует ось
OY в ось ОV, то прежний эффект достигается сдвигом вдоль
оси OV:
т = т,;ат 0i6 =
1 о
О cos а
О sin а
О О
1 О
О cos а
О sin а
_0 О
О
— sin а Ь
cos а b
О
О о
■ sin а О
cos а О
О 1
“ 1
0
0
0
0
1
0
ь
0
0
1
0
0
0
0
1
0
cos а
sin а
1
Пример. Определить однородную матрицу преобразования Т,
задающую следующую последовательность преобразований: по¬
ворот на угол а вокруг оси ОХ, сдвиг на а единиц вдоль оси ОХ,
сдвиг на d единиц вдоль оси OZ и затем поворот на угол 9 во¬
круг оси OZ.
Решение.
- cos 9 — sin
эТ2, Дх, а^х,а'-
X
“1 0
0
0“
"1 0
0 1
0
0
0 1
0 0
1
d
0 0
_0 0
0
1_
_0 0
“cos 0
- cos a sin 0
sin 0
cos a cos 0
0
sin a
0
0
sin 9
о
о
О а'
cos 0
О
О
1
О
О
О
sin a sin Н
— sin с cos
cos а
О
О
0
1
О
О
cos а
sin а
О
Э a cos 0
a sin 0
X
о
sin а
cos а
О
1
Мы определили две системы координат — неподвижную абсо¬
лютную систему координат OXYZ и подвижную систему, совер¬
шающую вращательное и поступательное движение, — систему
координат OUVW. Для описания взаимного пространственного
положения этих систем координат была использована однород¬
ная матрица преобразования размерностью 4X4. Матрица од¬
нородного преобразования обладает тем свойством, что, воздей¬
ствуя на вектор положения, выраженный в однородных коорди-
48
натах, производит одновременно преобразования поворота, сдвига
перспективы и глобальное изменение масштаба.
Если эти две системы координат связать со звеньями манипу¬
лятора, например с t-м и (i—1)-м звеньями соответственно, то
система координат (i—1)-го звена будет абсолютной системой
координат, а система координат t'-ro звена, если последнее дви¬
жется, — подвижной системой координат. Используя матрицу Т,
мы по известным координатам р; неподвижной относительно i-ro
звена точки р в системе OUVW i-го звена можем получить коор¬
динаты этой точки в системе координат OXYZ, связанной
с (i— 1)-м звеном в соответствии со следующей формулой:
pi_i — Трг> (2.2-28)
где Т — однородная матрица преобразования, устанавливающая
связь между системами координат; р,— расширенный вектор по¬
ложения \xi,yi,zi,\)T, определяющий однородные координаты
точки в системе координат i-ro звена; рг-i — расширенный вектор
положения (Xi-i, г/г_ь z,-_i, I)7, определяющий однородные коор¬
динаты этой же точки рг относительно системы координат
(i — 1)-го звена.
2.2.9. Звенья, сочленения и их параметры
Механический манипулятор состоит из звеньев, соединенных
вращательными или поступательными сочленениями (рис. 2.8).
Каждая пара, состоящая из звена и сочленения, обеспечивает
одну степень свободы. Следовательно, манипулятор с N степе¬
нями свободы содержит N пар звено — шарнир, причем звено О
соединено с основанием, где обычно размещается инерциальная
система координат данной динамической системы, а последнее
звено снабжено рабочим инструментом. Звенья и сочленения ну¬
меруются по возрастанию от стойки к схвату манипулятора; так,
сочленением 1 считается точка соединения звена 1 и опорной
стойки. Каждое звено соединено не более чем с двумя другими
так, чтобы не образовывалось замкнутых цепей.
В общем случае два звена соединяются элементарным сочле¬
нением, имеющим две соприкасающиеся поверхности, скользя¬
щие друг относительно друга. Известно всего шесть различных
элементарных сочленений: вращательное, поступательное (приз¬
матическое), цилиндрическое, сферическое, винтовое и плоское
(рис. 2.9). Из перечисленных типов сочленений в манипуляторах
обычно используются только вращательное и поступательное.
В месте соединения двух звеньев определяется ось i-ro сочле¬
нения (рис. 2.10). Эта ось имеет две пересекающие ее нормали,
каждая из которых соответствует одному из звеньев. Относи¬
тельное положение двух соединенных звеньев (звена i—1 и
звена г) определяется величиной di — расстоянием между этими
49
нормалями, отсчитываемым вдоль оси сочленения. Присоединен¬
ный угол 0; между нормалями измеряется в плоскости, перпен¬
дикулярной оси сочленения. Таким образом, di и 0,- можно на¬
звать расстоянием и углом между смежными звеньями. Они оп¬
ределяют относительное положение соседних звеньев.
Звено i (i= 1, 2, 3 6) соединено не более чем с двумя
звеньями (г—1-м и j + 1-м звеньями); таким образом, в точ¬
ках соединения г-ro звена с двумя соседними определены две
1*НСк:2.8. Звенья и сочленения манипулятора Пума.
оси сочленений. Важное свойство звеньев с точки зрения кине¬
матики состоит в том, что они сохраняют неизменной конфигу¬
рацию относительного расположения соседних сочленений, ха¬
рактеризуемую параметрами а, и а,-. В качестве параметра
выбрано кратчайшее расстояние между осями z,-_i и гi i-го и
i -f- 1-го сочленений соответственно, измеряемое вдоль их общей
нормали, а.1 — угол между осями сочленений, измеряемый в пло¬
скости, перпендикулярной их общей нормали. Таким образом,
а, и 0.1 можно рассматривать соответственно как длину и угол
скрутки г'-го звена. Эти параметры характеризуют конструктив¬
ные особенности j-ro звена.
Итак, с каждым звеном манипулятора связаны четыре пара¬
метра: a;, ai, di, 0i. Если для этих параметров установить пра-
'0 0 " / \СОНЛйШ
/ \ние S
*00 / \ + /
50
Вращательное
Плоское
Цилиндрическое Поступательное
Сферическое
Винтовое
Рис. 2.9. Элементарные сочленения.
Сочленение i*l
Рис. 2.10, Система координат звена и ее параметры.
вило выбора знаков, то они составят набор, достаточный для
описания кинематической схемы каждого звена манипулятора.
Заметим, что эти параметры можно разделить на две пары: пара¬
метры звена (ait а,), которые характеризуют конструкцию звена,
и параметры сочленения (di,Qi), характеризующие относительное
положение соседних звеньев.
2.2.10. Представление Денавита — Хартенберга
Для описания вращательных и поступательных связей между
соседними звеньями Денавит и Хартенберг [57] предложили
матричный метод последовательного построения систем коорди¬
нат, связанных с каждым звеном кинематической цепи. Смысл
представления Денавита — Хартенберга (ДХ-представление) со¬
стоит в формировании однородной матрицы преобразования,
имеющей размерность 4 X 4 и описывающей положение системы
координат каждого звена относительно системы координат пре¬
дыдущего звена. Это дает возможность последовательно преоб¬
разовать координаты схвата манипулятора из системы отсчета,
связанной с последним звеном, в базовую систему отсчета, яв¬
ляющуюся инерциальной системой координат для рассматривае¬
мой динамичекой системы.
Кроме базовой системы координат для каждого звена на оси
его сочленения определяется ортонормированная декартова си¬
стема координат (х,-, у,, г,-) Д где t= 1, 2, ..., п, а п равно числу
степеней свободы манипулятора. Поскольку вращательное сочле¬
нение имеет только одну степень свободы, каждая система ко¬
ординат (х,-, у(, z,-) манипулятора соответствует (г -f 1) -у сочле¬
нению и связана с г-м звеном. Когда силовой привод возбуж¬
дает движение в г-м сочленении, г'-е звено начинает двигаться
относительно (г—1)-го звена. Поскольку t-я система координат
связана с г-м звеном, она движется вместе с ним. Таким обра¬
зом, п-я система координат движется вместе с последним п-м
звеном манипулятора. Базовой является нулевая система коор¬
динат (хо, уо, z0), представляющая собой инерциальную систему
координат манипулятора. Так, для шестизвенного манипулятора
Пума должны быть определены семь систем координат, а именно
(х0, уо, z0), (хь у,, zi), ..., (х6, у6, z6).
Каждая система координат формируется на основе следую¬
щих трех правил:
1. Ось Zi_i направлена вдоль оси г-го сочленения.
2. Ось х; перпендикулярна оси z;_i и направлена от нее.
3. Ось уг дополняет оси хг-, г,• до правой декартовой системы ко¬
ординат.
о В действительности (х,-, уг, г г) представляют собой единичные векторы,
направленные вдоль основных осей /-й системы координат, но в данном случае
так обозначается i-я система координат,
52
Эти правила оставляют свободу в выборе 0-й системы коор¬
динат при условии, что ось z0 направлена вдоль оси первого со¬
членения. Последняя, п-я система координат также может быть
выбрана в произвольной точке я-го звена при условии, что ось
х„ перпендикулярна оси гп-\.
ДХ-представление твердых звеньев зависит от четырех гео¬
метрических параметров, соответствующих каждому звену. Эти
четыре параметра полностью описывают любое вращательное
или поступательное движение и определяются в соответствии
с рис. 2.10 следующим образом:
0,-—присоединенный угол — угол, на который надо повернуть
ось х,_1 вокруг оси z,_i, чтобы она стала сонаправлена
с осью х,- (знак определяется в соответствии с правилом
правой руки);
di — расстояние между пересечением оси z,_i с осью х,- и нача¬
лом (i — 1 -й системы координат, отсчитываемое вдоль оси
Zi-i;
— линейное смещение — расстояние между пересечением оси
Z;_i с осью х< и началом г'-й системы координат, отсчитывае¬
мое вдоль оси xi, т. е. кратчайшее расстояние между осями
Zi-i и гг,
ai — угловое смещение — угол, на который надо повернуть ось
z,_i вокруг оси X;, чтобы она стала сонаправленной с осью
zi (знак определяется в соответствии с правилом правой
руки).
Для вращательных сочленений параметры di, at и ос,- яв¬
ляются характеристиками сочленения, постоянными для данного
типа робота. В то же время 0, является переменной величиной,
изменяющейся при движении (вращении) г'-го звена относи¬
тельно (г—1)-го. Для поступательных сочленений 0г, щ и огг —
характеристики сочленения, неизменные для данного робота,
a di — переменная величина. Ниже в этой книге о величинах 0;
(или d{) будем говорить как о присоединенных переменных,
подразумевая тем самым, что они могут менять свои значения.
Величины di, at, аесли г-е сочленение вращательное, и 0„ а,-, а,,
если оно поступательное, будем называть присоединенными па¬
раметрами, подчеркивая их постоянство.
Ниже в алгоритме 2.1 дано описание процедуры формирова¬
ния последовательности согласованных систем координат, свя¬
занных со звеньями манипулятора. Алгоритм базируется на
изложенных выше трех основных правилах построения ортонор-
мированных систем координат звеньев и учитывает геометриче¬
ский смысл параметров сочленений и звеньев. Примеры приме¬
нения этого алгоритма для шестизвенного манипулятора Пума
и для манипулятора, разработанного в Станфордском универ¬
ситете, приведены на рис. 2.11 и 2.12 соответственно.
53
Алгоритм 2.1. Формирование систем координат звеньев. Для
каждого звена манипулятора с п степенями свободы этот алго¬
ритм формирует ортонормированную систему координат. Выбор
систем координат производится с учетом конфигурации мани¬
пулятора, сходной с конфигурацией человеческой руки. Системы
Параметры систем координат звеньев манипулятора Пума
Сичденецие i
ei
а.
i
ai
di
Пределы изменения
1
90
—90
0
0
— 160 - +160
2
0
0
431,8 мм
149,09 мм
—225 — 45
3
90
90
—20,32 мм
0
—45 — 225
4
0
-90
0
433,07 мм
— 110 - 170
5
0
90
0
0
— 100 — 100
6
0
0
0
56,25 мм
—266 — 266
координат нумеруются в порядке возрастания от основания
к схвату манипулятора. Взаимное расположение соседних зве-
пьем описывается однородной матрицей преобразования размер¬
ностью 4X4. Смысл такого построения систем заключается в
тем, что оно позволяет, как будет показано в следующих главах,
выработать последовательную процедуру решения обратной за¬
дачи кинематики. Заметим, что предлагаемый способ выбора си¬
стем координат не является единственным.
54
Д1. Формирование базовой системы координат. Сформировать
правую ортонормированную систему координат (х0, уо, z0),
связанную с основанием, направив ось z0 вдоль оси 1-го
Рис. 2.12. Формирование систем координат звеньев для станфордского мани¬
пулятора.
Параметры систем координат звеньев станфордского манипулятора
Сочленение i
в«
аг
ai
di
1
0! = -90
-90
0
di
2
0г = -90
90
0
da
3
е3 = -90
0
0
di
4
04 =0
-90
0
0
5
05=0
90
■ 0
0
6
06 = О
0
0
df.
сочленения к «плечу» манипулятора. Оси х0 и у0 можно
выбрать произвольно при условии их перпендикулярности
оси z0.
Д2. Начало и цикл. Для всех t (1 = 1,2, ,.., п— 1) выполнить
шаги ДЗ—Д6.
55-
ДЗ. Формирование осей сочленений. Направить ось z(- вдоль оси
движения (вращательного или поступательного) i + 1-го
сочленения. Для роботов с манипуляторами, имеющими
конфигурацию левой-правой руки, оси z, и z2 направлены
от плеча и общего направления манипулятора.
Д4. Формирование начала i-й системы координат. Расположить
начало г-й системы координат на пересечении осей гi и Z;_i
или на пересечении общей нормали к осям г,■ и z,-_i
с осью z
Д5. Формирование оси х(. Выбрать единичный вектор х» сле¬
дующим образом: х,- = ±(z«-i X г,)/||z,-_i X Zill или вдоль
общего перпендикуляра к осям z,_i и гг, если они парал¬
лельны.
Д6. Формирование оси у/. Положить у,- = +(z,- X х<-)/1|zt- X х«|],
получив тем самым правостороннюю систему координат.
(Продолжить оси и х,, если это необходимо для шагов
Д9-Д12.)
Д7. Формирование системы координат схвата. Как правило,
м-е сочленение является вращательным. Сформировать
ось гп, направив ее вдоль оси гп-\ и от робота. Выбрать
ось Хп так, чтобы она была перпендикулярна осям гп~\ и
гп. Ось у„ дополняет систему до правой тройки (более
подробно см. разд. 2.2.11).
Д8. Определение параметров звеньев и сочленений. Для каж¬
дого i (/=1, п) выполнить шаги Д9 — Д12.
Д9. Определение di. di представляет собой расстояние от на¬
чала (г—1)-й системы координат до пересечения оси
z,_i с осью х,', отсчитываемое вдоль оси z,_i. Если j-e со¬
членение— поступательное, то di — присоединенная пере¬
менная.
Д10. Определение ai. at — расстояние между пересечением оси
z,_i с осью х/ и началом j'-й системы координат, отсчиты¬
ваемое вдоль оси х,-.
Д11 ..Определение 0,. 0; — угол, на который нужно повернуть
ось хг_] вокруг оси z;_i, чтобы она стала сонаправлена
с осью xi. Если г'-е сочленение—вращательное, то 0,- —
присоединенная переменная.
Д12. Определение а,, а,- — угол, на который надо повернуть ось
z,_i вокруг оси х;, чтобы она стала сонаправлена с
ОСЬЮ 7.1.
Как только ДХ-системы координат сформированы для всех
звеньев, не составляет труда построить однородные матрицы
преобразования, связывающие i-ю и (i—1)-ю системы коорди¬
нат. Из рис. 2.10 видно, что координаты точки гг, заданные в г'-й
системе координат, можно преобразовать в координаты г,_! этой
же точки относительно (i—1)-й системы координат, выполняя
последовательность следующих операций:
56
1. Поворот вокруг оси Т{-\ на угол 0;, чтобы ось х;_ 1 стала сона-
правлена с осью х£.
2. Сдвиг вдоль оси z,-_i на расстояние di, чтобы совместить оси
X/_i И X/.
3. Сдвиг вдоль оси х, на расстояние at, чтобы совместить начала
чала координат.
4. Поворот вокруг оси х£ на угол а,-, в результате которого до¬
стигается совпадание систем координат.
Каждую из этих четырех операций можно описать однород¬
ной матрицей элементарного поворота-сдвига, а произведение
таких матриц даст однородную матрицу сложного преобразо¬
вания '-'А,-, называемую ДХ-матрицей преобразования для смеж¬
ных систем координат с номерами i и i— 1. Таким образом, по¬
лучаем
1 О О
Л\. „Т
X
COS 0г
sin 0;
О
О
' COS 0£
sin 0£
О
О
— Sin (
COS I
О
О
z, d z, i
О O'
0 о
1 о
О 1
х, а л х, а '
О 1 о
О О 1
ООО
1
о
0
d<
1
X
о
sin а£
О
— cos а£ sin 0
cos а£ cos 0£
sin аг
О
1 0 0 а£
0 10 0
0 0 10
_ 0 0 0 1 __
sin а£ sin 0£ а£ cos 0£
— sin аi cos 0г аг sin 0г
cosa£ di
0 1
0
0'
0 cos а£ — sin а£ 0
0
cos а£
0 1
(2.2-29)
Используя равенство (2.2-27), найдем, что матрица, обратная
к г-1А/, имеет вид
cos 0£
— cos а£ sin 0г
sin а£ sin 0г
0
[‘“‘А,]'
sin 0£
cos аг cos 0г
=
0
sin аг
sin а,-
sina£cos0£ cosa£ —d£cosa£
0
0
1
(2.2-30)
где а;, а<, ар—константы, а 0£ — присоединенная переменная,
если рассматриваемое сочленение—вращательное.
Для поступательного сочленения присоединенной переменной
является dt, а а*, а; и 0, — константы. В этом случае ‘-'А; при-
57
нимает вид
"cosSj —cosa^sinS^ sin аг sin 0г O’"
i , sin 0,- cos a,-cos 0, —sin a,- cos 0, 0
A< = T*,0TMT*,a= 0 sinai cosa; di .
o 0 0 1_
(2.2-31)
а матрица, обратная к i_1Af, равна
cos0j sin 0j 0 0 — ■
— cos a, sin 0,- cos a, cos 0,- sin a, —d, sin a,
= • O • О A ■ (2.2-32)
sin аг sin 0г —sin a; cos 0j cosa* —dt cos a,
0 0 0 1
Используя матрицу г-1Аг, можно связать однородные коорди¬
наты р,- точки р относительно г-й системы координат (точка р
покоится в г-й системе координат) с однородными координатами
этой точки относительно (г—1)-й системы отсчета, связанной
с (г—1)-м звеном. Эта связь устанавливается равенством
Рг—1 == ”-1А;рг, (2.2-33)
где рг—1 =(■*/-1, г/г-ь гг—i, I)7" и р,■ = (*,■, г/г, г«, 1)Г.
Для шестизвенного манипулятора Пума были определены
шесть матриц '-'А;, соответствующие показанным на рис. 2.11
системам координат. Эти матрицы представлены ниже.
COS 0(.
— cos a. sin 0
1
sin а(
sin 0;
al
cos 0;
sin 0;
cos a. cos 0
i
- sin аг
cos 0;
ai
sin ©г
0
sin а
cos а;
di
0
0
0
1
"С,
0
I
_Сл
о
1
~с2
- s2
0
a2C2
S,
0
С, 0
s2
c2
0
a 2S 2
А**=
0
-1
0 0
0
0
1
d2
0
0
0 1
0
0
0
1
"C3
0
s3 a3C3 ~
"C4
0
-s4
0 -
s3
0
— C3 a3S3
3A« =
s4
0
c4
0
0
1
0 0
0
-1
0
d4
_ 0
0
0 1
_0
0
0
1
"c,
0
S5
0 -
“Ce
-s.
0
0 '
S5
0
-C8
0
, 5A6 =
S6
C6
0
0
0
1
0
0
0
0
1
de
_0
0
0
1_
_0
0
0
1 .
68
г
Т, « •Ai>A.*A,
3А44А55А6
^1^23 —St C1S23 a2CtC2 + азС^гз — ^2^1
S,C23 Ct S1S23 a2StC2 CI3S1C23 d2Ct
— 5 23 0 £23 — fl2^2 — Яз^23
О О О 1
С 4С $D $ — S4Sg — C^C^Sq — 54Сб C4S5 dgC^Sf,
S4C5C6 — C4S6 — S$C$Sq -|- C4Cg S4S5 dgS4.S5
— S5C0 S5S0 C5 deC5 -f- dt
О 0 0 1
где
Сг = соз0;; St 3= sin 0;; Сц = cos (0; + в/); S{! = sin (0,- + 9/).
2.2.11. Уравнения кинематики манипулятора
Однородная матрица °Tf, определяющая положение i-й си¬
стемы координат относительно базовой системы координат, пред¬
ставляет собой произведение последовательности однородны»
матриц преобразования <_1А; и имеет вид >• - • ;,•> -
°Тг = °А,’А2 ... ‘'“’А, == П /_1Ау =
/=1
хг Уi г
ООО
) Р\] = [ °о ‘ Г ] для 1 = 1 ’2’ • • • ’п' (2,2‘34)
где [х,-. у*, z,]—матрица, определяющая ориентацию i-й системы
координат, связанной с i-m звеном, по отношению к базовой си-
59
стеме координат. Это верхняя левая подматрица матрицы °Т,-,
имеющая размерность 3X3. р,— вектор, соединяющий начало
базовой системы координат с началом г-й системы координат.
Это верхняя правая подматрица матрицы °Тг, имеющая размер¬
ность 3X1- В частности, при i = 6 мы получаем матрицу Т ==
= °А0, которая задает положение и ориентацию схвата манипу¬
лятора относительно базовой системы координат. Эта матрица
так часто используется при описании кинематики манипулятора,
что ее называют «матрицей манипулятора». Предположим, что
матрица Т имеет следующий вид:
где (рис. 2.13)
п — вектор нормали к схвату. В случае плоскопараллельного
движения пальцев схвата этот вектор перпендикулярен пальцам
манипулятора.
s — касательный вектор схвата. Он лежит в плоскости дви¬
жения пальцев схвата и указывает направление движения паль¬
цев во время открытия и закрытия схвата.
а — вектор подхода схвата. Он направлен по нормали к ла¬
дони схвата (т. е. перпендикулярен плоскости крепления инстру¬
мента в схвате).
р — вектор положения схвата. Этот вектор направлен из на¬
чала базовой системы координат к началу системы координат
схвата, которое, как правило, расположено в точке, являющейся
геометрическим центром полностью сжатых пальцев.
Если положение манипулятора в абсолютном пространстве
определяется матрицей В, а в схвате манипулятора зафиксиро¬
ван инструмент, положение которого в системе координат схвата
определяется матрицей Н, то положение рабочего узла инстру¬
мента относительно абсолютной системы координат дается про¬
изведением матриц В, °Т0 и Н, т. е.
Отметим, что Н = 6АИНстр, В = абсА0. ''
Решение прямой задачи кинематики для шестизвенного ма¬
нипулятора является, таким образом, вопросом вычисления
Т = °А6 с помощью последовательного перемножения шести мат¬
риц ‘-1А(. Отметим, что решение прямой задачи кинематики при¬
хб Уб z6 Рб
0 0 0 1
n s а р
0 0 0 1
]
tlx sx йх рх
пу sy ау Ру
«г &z Pz
0 0 0 1
(2.2-35)
(2.2-36)
60
водит к единственной матрице Т при заданных q = (<71, <72, ...
... <7б)г и фиксированных системах координат, где qt = 9/ для
вращательного сочленения и qi — di для поступательного сочле¬
нения. Ограничения определяются только физическими преде¬
лами изменения 0; для каждого сочленения манипулятора. В таб¬
лице на рис. 2.11 указаны такие пределы для робота Пума серии
560 при выборе систем координат, указанном на рис. 2.11.
Следующей после определения матриц преобразования коор¬
динат задачей является поиск эффективного метода вычисления
матрицы Т при помощи универсальной вычислительной машины.
Наиболее эффективным является способ, состоящий в аналити¬
ческом перемножении всех шести матриц с последующим вычис¬
лением элементов матрицы Т на ЭВМ по полученным формулам.
Недостатками этого метода являются, во-первых, трудоемкость
вычисления произведения шести матриц ‘-'А, и, во-вторых, недо¬
статочная гибкость метода, обусловленная тем, что каждая мат¬
рица манипулятора соответствует определенному типу робота
при вполне конкретном выборе систем координат. С другой сто¬
роны, можно ввести в ЭВМ все шесть матриц '-'А,- и с ее по¬
мощью выполнить их перемножение. Этот метод обладает боль¬
шей гибкостью, но требует большего времени вычислений, и это
при условии, что четвертая строка матриц ‘_1Аг- состоит в основ¬
ном из нулей.
Метод, одновременно обладающий достаточной гибкостью и
обеспечивающий приемлемую скорость вычислений, состоит в
том, чтобы «вручную» перемножить первые и последние три
матрицы
'А,-, получив Ti=°Ai1A22A3 и Т2 = 3А44А55А6, что
представляет собой достаточно простую задачу. Затем точные вы¬
ражения для элементов матриц Ть Т2 используются в программе,
по которой ЭВМ производит численное перемножение этих мат¬
риц, формируя матрицу манипулятора T = TiT2.
Для робота Пума 560 матрицы Тi и Т2 имеют вид
Т, = °А3 = «ДДД^Дз =
-5] С,523 a2CiC2 -f- a3CiC23 — d2S{
^Лз a2>5iC2 -f a3SiC23 + d2C{
С2З a2$2 й3^23
0 1
C\C23
^1^23
^23
0
(S 2 37)
.3» ЗА 4Д 5 A
■ rt6
S4C5C6 -|- C4S6
S,C6
0
C4C5S6 S4C6 C4S5
S4C5S6 C4C6 S4S3
Sr,Sg c5
0 0
d^C4S5
d6S4S5
d&C-, -)- d4
1 .
(2.2-38)
где Cij =3 cos (0j -f Qj) и S,7 = sin^ -f 0/),
61
Матрица манипулятора Т для робота Пума (рис, 2.11) равна
Рх — С1! [d& (C23C4S5 + S23C5) + S23d, + Щр в + а2С2] — 5j (d6S4S5 + d2),
Py = «Si K(C23C4S5 + S23C5) + S23d4 + а3С23 + а2С2] + C] (d6S455 + d2),
Положив для проверки 0i = 90°, 02 = 0°, 03 = 90°, 04 = 0°,
05 = 0°, 06 = 0°, имеем
что согласуется с выбором систем координат, показанным на
рис. 2.11.
Из равенств (2.2-40) — (2.2-43) видно, что вычисление мат¬
рицы манипулятора Т требует обращения к программам вычис¬
ления 12 трансцендентных функций, выполнения 40 умножений
и 20 сложений в том случае, если производится только вычисле¬
ние верхней правой подматрицы матрицы Т, имеющей размер¬
ность 3X3, а вектор п определяется как векторное произведе¬
ние векторов s и a(n=sXa). Далее, если объединить йъ с дли¬
ной рабочего инструмента, то d6 = 0, а длина инструмента
увеличится на de единиц. Это сокращает объем вычислений до 12
обращений к программам вычисления трансцендентных функций,
35 операций умножения и 16 операций сложения.
пх sx ах рх
ny — S\ [^23 (C4C5Q S4S6) — S23S5C6] + С{ (54С5С6 + С456), (2.2-40)
sz = S23 (C4C5S6 + S4C6) + C23S5S6,
ax = Cj (C23C4S5 + S23C5) S1S4S5,
Oy = Si (C23C4S5 + S23C5) + CVXS5,
az — —S23c4s5 + c23c5,
(2.2-42)
(2.2-41)
Pz —• ^6 (C23C5 S23C45s) + C23d4 — a3S 23 — a2S2.
(2.2-43)
T ==
0 -1 0 -149,09"
0 0 1 921,12
1 0 0 20,32
0 0 0 1
62
Пример. Робототехнический комплекс оборудован телевизион¬
ной камерой (рис. 2.14). В поле зрения камеры находятся точка
начала базовой системы координат, в которой закреплен шести¬
звенный манипулятор, а также центр объекта манипулирова¬
ния, например куба. Если в центре куба поместить локальную
систему координат, то его положение относительно камеры бу¬
дет определяться, однородной матрицей преобразования Ть По¬
ложение базовой системы координат относительно камеры также
может быть задано однород¬
ной матрицей преобразова¬
ния Тг, причем
“01 0 1 “
10 0 10
0 0-1 9
.0 0 0 1 _
1 0 0 —10'
0—1 0 20
0 0 —1 . ‘ Ю
_ 0 0 0 1
а) Найдите положение цент¬
ра куба относительно
базовой системы коор¬
динат.
б) Предположим, что куб
находится в пределах до¬
стижимости манипуля¬
тора. Какой должна быть матрица [n, s, а], чтобы направление
движения пальцев схвата совпадало с направлением оси у объ¬
екта манипулирования и при этом можно было бы поднять куб
с поверхности, на которой он находится.
Решение.
Рис. 2.14. Робототехнический комплекс,
оборудованный телевизионной камерой.
камера..
1 куб
И
камера.,
'база'
т2=
“0
1
0
1 ■
1
0
0
10
0
0
-1
9
.0
0
0
1 _
" 1
0
0
-10
0
—
-1
0
20
0
0
-1
10
0
0
0
I
63
Чтобы найти базаТкУб, воспользуемся
ных преобразований»:
база
^правилом последователь-
•ц базат камсрЗг»ч /Т
■ куб ■ камера * куб V * 2/
т,.
Используя для обращения матрицы Т2 равенство (2.2-27), полу¬
чаем результирующую матрицу преобразования
базап
* куб
1
о
о
о
о
-1
о
-1
о
0
1
о
о о
о о
о
о
-1
о
10
20
10
1
о о
о о
о
о
-1
о
1
10
9
1
11
10
1
1
Таким образом, куб находится в точке (11, 10, 1)г относительно
базовой системы координат. Его оси х, у, z сонаправлены соот¬
ветственно с осями —у, х и z базовой системы координат.
Чтобы определить [n, s, а], воспользуемся выражением
От
lfi —
где р = (11, 10, 1)4 как следует из решения первой части задачи.
В соответствии с условием задачи и видом матрицы базаТкуб
надо, чтобы вектор подхода а был направлен в сторону проти¬
воположную направлению оси OZ базовой системы координат,
т. е. а = (0, 0, —1)4 вектор s должен быть параллелен оси у
базовой системы, т. е. s = (±l,0, 0)г; вектор п можно сформиро¬
вать как векторное произведение векторов s и а:
i
j
k '
i
j
k"
■ 0-
п =
sl/
st
rt 1
0
0
=
± 1
~ ®х
Qy
az -
- 0
0
-1 -
- 0 -
Таким образом, для матрицы ориентации схвата [n, s, aj можно
записать два выражения:
- 0
1
0‘
■ 0
-1
0-
[n, s, a] =
+ 1
0
0
или
[n, s, a] —
-1
0
0
- 0
0
-1 -
- 0
0
-1 -
64
2.2.12. Другие способы определения положения схвата
В предыдущих разделах мы рассмотрели поступательное и
вращательное движения звеньев манипулятора и ввели понятие
однородных матриц преобразования, описывающих положение
и ориентацию систем координат звеньев. Наибольший интерес
представляет матрица манипулятора °Т6, которая описывает по¬
ложение и ориентацию схвата относительно базовой системы ко¬
ординат. Верхняя левая подматрица матрицы °Т6, имеющая раз¬
мерность 3X3, задает ориентацию схвата. Эта подматрица по¬
ворота совпадает с матрицей °R6. Существуют и другие способы
описания положения схвата.
Описание ориентации с помощью углов Эйлера. Как говори¬
лось в разде. 2.2.4, описание вращения твердого тела с помощью
матриц поворота упрощает многие операции, однако не дает
полной системы обобщенных координат. Такой полной системой
обобщенных координат являются углы Эйлера ф, 0, ф.
С помощью матрицы поворота, записанной как в равенстве
(2.2-17) через углы Эйлера, матрицу манипулятора °Т6 можно
представить в следующем виде:
СфСф — 5ф505ф
—Сф5ф — SfC0C^
5ф50
Рх
5фСф + СфС05ф
—Сф5ф + СфС0Сф
—СфЯ0
Ру
S0S^
S0Cij5
С0
Pz
0 - и
0
0
1
(2.2-44)
Преимущество описания ориентации с использованием углов
Эйлера состоит в том, что вся информация о положении и ориен¬
тации объекта в пространстве содержится в шестимерном век¬
торе ATZsp0\|). Зная этот вектор и используя равенство (2.2-44),
легко сформировать матрицу °Т6.
Описание ориентации с помощью углов крена, тангажа и
рысканья. Еще одной системой углов Эйлера для описания вра¬
щения являются углы крена, тангажа и рысканья (КТР). С ис¬
пользованием равенства (2.2-19), описывающего вращение тела
в координатах КТР, получаем матрицу манипулятора °Т6 в виде
ох
I Г,
СфС0 Сф505м — 5фСф
ScpC9 5ср505ф СфСф
-S0 C0S\|)
О О
Сф50Сф + 5ср5ф рх
5ф50Сф — Сф51|: ру
С0Сф рг
О 1
(2.2-45)
Как уже говорилось в гл. 1, существуют различные типы ма¬
нипуляторов (в зависимости от используемых типов сочленений,
3 К. фу и др.
65
например XYZ—манипулятор, цилиндрический, сферический, ма¬
нипулятор смешанного типа). В связи с этим положение
{Рх,ру,рг)т схвата манипулятора может быть описано, напри¬
мер, в сферических или цилиндрических координатах. Резуль¬
тирующую матрицу манипулятора можно получить из следую¬
щего равенства:
"1
0
0
Рх'
0 "
0
1
0
ру
°R6
0
0
0
1
Рг
0
.0
0
0
1 _
о
о
о
1 _
где °R6—матрица поворота, выраженная через углы Эйлера или
через векторы [п, s,а].
Подматрица положения в цилиндрических координатах.
В цилиндрической системе координат положение схвата опреде¬
ляется следующими преобразованиями поворота и сдвига
(рис. 2.15) :
1. Сдвиг на г единиц вдоль оси ОХ(Т*. г). г ;.: =.?:
2. Поворот на угол а вокруг оси OZ(Тг, а).
3. Сдвиг на d единиц вдоль оси OZ(Tz, а)- ■ '
Однородную матрицу, определяющую результат перечислен¬
ных преобразований, можно представить в следующем виде:
“1
0
0
0'
Са
—Sa
0
0"
0
1
0
0
Sa
Са
0
0
\
Тцил — Тг, d^z, аТх, г —
0
0
1
d
0
0
1
0
_0
0
0
1
0
0
0
1
“ 1
0
0
г ’
Са
—Sa
0
rCa '
0
1
0
0
Sa
Са
0
rSa
0
0
1
0
0
0
1
d
_0
0
0
1 _
. 0
0
0
1
Поскольку нас интересует только вектор положения (т. е. чет¬
вертый столбец матрицы ТЦИл), матрицу манипулятора °Тв можно
представить в виде
1 0 0 rCa
0"
0 1 0 rSa
°Re 0
О
о
0
о
о
о
_0 0 0 1
причем рх as rCa, ру s= rSa, рг == d.
Подматрица положения в сферических координатах. Для
определения положения схвата можно также воспользоваться
сферической системой координат. В этом случае положение
схвата определяется следующими преобразованиями (рис. 2.16):
1. Сдвиг на г единиц вдоль оси OZ(Т2, г).
2. Поворот на угол (5 вокруг оси OY(р).
3. Поворот на угол а вокруг оси OZ (Тг, а).
Ч 9
Рис. 2.15. Представление в цилинд- , Рис. 2.16. Представление в сфериче-
рических координатах. • г ских координатах.
Матрица, описывающая результат перечисленных преобразовё^
ний, равна
1 сф '
Са
—Sa
0
O'
- cp
o sp
O'
Sa
Са
0
0
0
I 0
0
т
у Л3*z
, г
0
0
1
0
-sp
0 Cp
0
_ 0
0
0
1 _
0
0 0
1_
" 1
0
0
0~
' СаСр
-Sa
CaSp
rCaSp'
0
1
0
0
SaCp
Ca
SaSp
rSaSp
0
0
1
г
—sp
0
cp
rCp
0
0
0
1
0
0
0
1
X
(2.2-49)
Как и выше, нас интересует вектор положения схвата относи¬
тельно базовой системы координат, поэтому матрица манипуля¬
тора °Т6, в которой вектор положения представлен в сфериче¬
ских координатах, а подматрица поворота записана через углы
3*
67
Эйлера или векторы [n, s, а], дается следующим выражением:
°Tfi
■ 1
0
0
rCaSf3 “
0'
0
1
0
rSaSf3
°R6
0
0
0
1
rC|3
0
_0
0
0
1
О
О
О
1
(2.2-50)
где рх = rCaSfi, ру = rSaSp, pz = rCp.
В заключение отметим, что положение и ориентация схвата
манипулятора могут быть описаны несколькими способами
(в различных системах координат). Вектор положения может
быть представлен в декартовой {рх,ру,рг)т, цилиндрической
(rCa,rSa,d)T или сферической (лСаЗр, rSaSp, гС$)т системе ко¬
ординат. Для описания ориентации схвата относительно базо¬
вой системы координат можно использовать декартовы коорди¬
наты |n, s, а], углы Эйлера (<р, 0, ф) или углы крена, тангажа и
рысканья. Сказанное иллюстрирует табл. 2.2.
Таблица 2.2. Различные способы описания положения и ориентации
Положение
Ориентация
'В декартовых координатах
В декартовых координатах fn, s, а]
(Рх, Ру, рг) 7
В цилиндрических координатах
Углы Эйлера (<р, 0, ф)
(rCa, rSa, d)7
В сферических координатах (rCaSp,
Крен, тангаж, рысканье
rSaSp, rC(i)r
1 положения *
" 1
0
0
Рх
0"
0
1
0
ру
т
[п, S, а] или е, 0
0
0
1
Рг
, •поворота —
0
. 0
0
0
1
0 0 0 1 ,
°Тб — ТположеиияТповорота
2.2.13. Классификация манипуляторов
Манипулятор состоит из последовательности твердых тел
(или звеньев), первое из которых соединено с опорной стойкой,
а последнее снабжено рабочим инструментом. Каждое звено
соединено не более чем с двумя другими так, чтобы не образо¬
вывалось замкнутых цепей. Считается, что соединение двух
звеньев — сочленение — имеет только одну степень свободы.
С учетом этого ограничения интерес представляют два типа со¬
членений: вращательное и поступательное. Вращательное сочле¬
нение допускает только вращение вокруг некоторой оси; поступа¬
68
тельное сочленение обеспечивает поступательное движение вдоль
некоторой оси при отсутствии вращения (поступательное движе¬
ние с вращением имеет место в винтовых сочленениях). Звенья
манипулятора участвуют в относительном движении, в резуль¬
тате которого достигается определенное положение и ориента¬
ция схвата или инструмента.
Следовательно,- рассматривая манипуляторы как некоторые
последовательности сочленений и звеньев, их можно классифи¬
цировать по типу используемых сочленений и последовательно¬
сти их расположения в направлении от опорной стойки к схвату.
При таком подходе манипулятор Пума следует отнести к классу
6В, а манипулятор Станфордского университета — к классу
2В-П-ЗВ. Здесь В обозначает вращательное, а П — поступатель¬
ное сочленение.
2.3. ОБРАТНАЯ ЗАДАЧА КИНЕМАТИКИ
В этом разделе рассматривается обратная задача кинематики
шестизвенного манипулятора. Команды управления манипуля¬
торами роботов, оснащенных ЭВМ, формируются обычно в про¬
странстве присоединенных переменных, координаты объектов
манипулирования задаются в некоторой абсолютной системе ко¬
ординат. Для управления положением и ориентацией схвата ро¬
бота таким образом, чтобы производить необходимые операции
с объектом манипулирования, необходимо уметь решать обрат¬
ную задачу кинематики. Другими словами, надо уметь по за¬
данным матрице °Тв положения и ориентации схвата шестизвен¬
ного манипулятора и известным параметрам его звеньев и
сочленений определить присоединенные параметры q = (<71, ...
..., q6)T манипулятора, обеспечивающие заданное положение
схвата.
Существуют различные методы решения обратной задачи ки¬
нематики, к числу которых относятся методы обратных преоб¬
разований [231], винтовой алгебры [149], двойственных матриц
[56], двойственных кватернионов [319], итераций [294] и гео¬
метрический подход [168]. Пайпер [235] получил решение об¬
ратной задачи кинематики для произвольного манипулятора
с шестью степенями свободы, первые три сочленения которого
вращательные или поступательные, а оси последних трех пере¬
секаются в одной точке. Решение получено в форме уравнения
4-й степени относительно одной из неизвестных и в явном виде
относительно остальных. Пол и др. [231] для того же класса
манипуляторов, что и Пайпер, предложили воспользоваться ме¬
тодом обратных преобразований с применением однородных
матриц размерностью 4X4. Недостатком этого подхода являет¬
ся то, что из него не следует, каким образом выбрать из несколь¬
ких существующих решений одно, соответствующее данной
69
конфигурации манипулятора. В этом вопросе исследователю при¬
ходится полагаться на собственную интуицию. Ниже рассмотрен
предложенный Пайпером подход к решению обратной задачи
кинематики в эйлеровых координатах. Уикер и др. [294] и Ми-
ленковиц и Хуанг [198] предложили итеративную процедуру ре¬
шения обратной задачи кинематики большинства промышлен¬
ных роботов. Такой подход требует больших вычислительных за¬
трат и не гарантирует сходимости результатов, особенно для
вырожденного случая. Кроме того, как и метод обратных пре¬
образований, метод итераций не дает способа выбора из не¬
скольких существующих решений одного, соответствующего дан¬
ной конфигурации манипулятора.
Желательно, чтобы решение обратной задачи кинематики
было получено в явном виде. К счастью, большинство промыш¬
ленных роботов удовлетворяет одному из следующих двух усло¬
вий, достаточных для достижения такой цели:
1. Оси трех смежных сочленений пересекаются в одной точке.
2. Оси трех смежных сочленений параллельны между собой.
Станфордский манипулятор и манипулятор Пума удовлетворяют
первому условию, а манипуляторы ASEA и MINI MOVER — вто¬
рому.
Из равенства (2.2-39) следует вид матрицы манипулятора Т:
Tfi =
tlx S x Cl у рх
пу sy ау Ру
!lz Sz Clz pz
0 0 0 1
-0a11a22a33A44a55a6. ; (2.3-1)
Из равенства (2.3-1) видно, что матрица Т является функцией
синусов и косинусов углов 0ь 02, ..., 06. Приравнивая элементы
матриц в левой и правой частях матричного уравнения (2.3-1),
получаем, например, для манипулятора Пума двенадцать урав¬
нений (2.2-40) — (2.2-43) относительно шести неизвестных (при¬
соединенных углов). Поскольку число уравнений превышает
число переменных, можно сразу сделать вывод о том, что реше¬
ние обратной задачи кинематики для манипулятора Пума не
единственно. Мы рассмотрим два метода решения обратной за¬
дачи кинематики: м-етод обратных преобразований в эйлеро¬
вых координатах, которым можно также воспользоваться для
решения этой задачи в координатах присоединенных углов, и
геометрический подход, выгодно отличающийся наглядностью.
2.3.1. Метод обратных преобразований
В этом разделе общий метод обратных преобразований про¬
демонстрирован на примере решения обратной задачи кинема¬
тики в эйлеровых координатах. Задача состоит в том, чтобы,
70
зная трехмерную матрицу поворота и учитывая равенство
(2.2-17), представляющее собой выражение этой матрицы через
углы Эйлера:
-пх
Sx
ах-
Пу
Sy
йу
— Rz, q>R«, eR„, i|> ^
-П2
Sz
(Х% -
СсрСф — 5срС95ф — Сср5ф — ЗсрСбСф SqpSQ
5фСф -f- CqCBSty —ЗфЗф + CcpCQC\p —CcpSQ
SeS\p S0C^ C0
(2.3-2)
определить соответствующие значения углов <p, 0, ф. Записывая
это матричное уравнение в форме уравнений для отдельных
элементов, получим
пх — С(рС\|- — 5фС05ф, ”: .„V
пу — 5фСф + СфС05ф,
пг = 505ф,
sx == —Сф5ф — 5фС0Сф,
Sy = —5ф5ф + СфС0Сф,
sz — S0C^>,
пх = S<| 30,
ау — —С(| 30, 1,;
ат = С0. ,
(2.3-3а)
(2.3-36)
(2.3-3в)
(2.3-Зг)
(2.3-3д)
(2.3-3е)
(2.3-3ж)
(2.3-3з)
(2.3-3и)
0
Из уравнений (2.3-3и), (2.3-3е) и (2.3-3з) получаем, что решение
всей системы уравнений (2.3-3а) —(2.3-3и) имеет следующий вид:
(2.3-4)
(2.3-5)
(2.3-6)
arccos (а2),
Ф = arccos [у|§-],
= arccosKr]'
Ф
Полученное решение неустойчиво и плохо обусловлено по сле¬
дующим причинам:
1. Функция arccos неудобна тем, что точность вычисления
ее значения зависит от этого значения.
2. В точках, где siп(0) принимает близкие к нулю значения,
т. е. при 0 ж 0° или 0 ж 180°, равенства (2.3-5) и (2.3-6) либо
не определены, либо дают низкую точность вычислений.
Следовательно, требуется найти более устойчивый способ
определения углов Эйлера в данной задаче, а также более
71
устойчивую обратную тригонометрическую функцию для вычис¬
ления этих углов. Для вычисления угла 0, значения которого
лежат в пределах —п sg; 0 sg; л, воспользуемся функцией арктан¬
генса ATAN2(y, х), вычисляющей значение arctg(у/х) с учетом
принадлежности аргумента соответствующему квадранту. Эта
функция определена следующим образом:
0= ATAN2 (у, х)
О°<0<9О°,
9О°<0< 180°,
-18О°<0<-9О°
—9О°<0<О°,
если х > 0, у > 0;
если х < 0, у > 0;
если х < 0, у < 0;
если х > 0, у < 0.
(2.3-7)
При меняя такую обратную тригонометрическую функцию
двух аргументов, рассмотрим общее решение, предложенное По¬
лом и др. [231].
Элементы матрицы в левой части матричного уравнения
(2.3-2) заданы, а элементы матриц, стоящих в правой части
этого уравнения, неизвестны и зависят от qp, 0, ф. В работе [231]
предлагается последовательно умножать слева обе части урав¬
нения (2.3-2) на матрицы обратных преобразований и опреде¬
лять искомые углы из полученных таким образом матричных
уравнений. Смысл таких преобразований состоит в том, что мы
переносим сначала одну из неизвестных величин из правой в ле¬
вую часть уравнения, находим ее, затем переносим в левую
часть следующую неизвестную, найдя ее, повторяем эту про¬
цедуру до тех пор, пока не будут найдены все неизвестные.
Умножая слева матричное уравнение (2.3-2) на пере¬
носим неизвестную qp в левую часть, оставляя в правой неиз¬
вестные 0 и i(i, и тем самым получаем
Cqp
Сф
o-
Чгх
Sx
‘ 1
0
0 ■
" Сф
—Сф
о-
—Сф
Cqp
0
nu
sy ay
=
0
C0
C0
Сф
Сф
0
- 0
0
1 -
-nz
sz ftz -
-0
C0
C0 -
. 0
0
1 -
или
Cqpn* + Sq>nv Cqps* + Scps,, Сщх + СфО^
—Scpnx -f- Ccptiy —Sqps* -j- CqpSj, —Sq>ax + Cq>ay
nz sz > . аг
Сф —Сф
С0Сф С0Сф
- С0Сф С0Сф
0
—S0
С0
(2.3-8)
72
Из равенства элементов (1,3) (элементов, находящихся на пе¬
ресечении 1-й строки и 3-го столбца матрицы) в правой и левой
частях уравнения (2.3-8) имеем
Из равенства элементов (1, 1), (1, 2) в правой и левой частях
следует
= AT AN 2 (~C(fSx — SqpSy, С(рпх + Sqprij,). (2.3-12)
Приравнивая элементы (2, 3), (3,3) матриц в левой и правой
частях уравнения, получаем
58 = 5фЦд. — C(f>ay,
■ Поскольку смысл метода обратных преобразований состоит
в переносе одной из неизвестных величин в левую часть матрич¬
ного уравнения с последующим разрешением уравнения отно¬
сительно этой неизвестной, можно попытаться решить это же
самое матричное уравнение, умножая обе его части справа на
'Пх
Sx
ах~
Сф
5ф
О'
' Сф
—5ф
о-
- 1
0
о -
Пу
sy
ау
—5ф
Сф
0
=
5ф
Сф
0
0
С0
-50
-Я*
Sz
аг-
- 0
0
1 -
- 0
0
1-
-0
50
С0 -
В результате умножения матриц получим
' п*Сф — «х5ф
ц^Сф + ^Сф ах'
" Сф
—5фС0
5ф50"
пуС ф — я^ф
^5ф + s/ty ау
=
5ф
СфС0
—Сф50
- п2Сф + эг5ф
п25ф + szCф аг -
- 0
50
С0 -
(2.3-9)
что в свою очередь дает
4 = arctg[-^] = AT AN2(ax, -ау). (2.3-10)
Сф = Ссрпх + 5ф«у,
5ф = —Ccpsx — ЗфЯу,
(2.3-1 la)
(2.3-116)
что позволяет найти ф:
ф = arctg [-§^-] = arctg [
S($Sy
С<рпх + S(fny
С0 = а2,
(2.3-13)
что позволяет найти 0
П . Г S0 1 , Г s4>ax - C<tav ]
0 = arctg = arctg [ -J
= AT AN 2 (Зфа* — Cq>ay, аг).
(2.3-11)
матрицу обратного преобразования R^V
(2.3-15)
73
Как и выше, приравнивая элементы (3, 1) матриц в левой и пра¬
вой частях уравнения, имеем
н.гСф— = 0, (2.3-16)
что дает
ф = arctg [-g-] = ATAN2 (nz, sz). (2.3-17)
Из равенства элементов (3, 2), (3, 3) обеих матриц следует
S0 = nzSA> + 5гСф, (2.3-18а)
С0 = аг (2.3-186)
что позволяет определить 0:
0 = arctg =
= ATAN2(nzSA> + szCy, аг). (2.3-19)
Из равенства элементов (1, 1), (2, 1) матриц в левой и правой
частях ураваевяя (2.3-15) имеем
Сф = п^Сф — s*S^, (2.3-20а)
= пуСА> — SySty, (2.3-206)
откуда легко найти
Г riyCty — Л
arc ^ L nxCty — J
= AT AN 2 («уСф — nxCty — s^S^). (2.3-21)
Решение вопроса о том, слева или справа умножать обе части
матричного уравнения на матрицу обратного преобразования,
зависит от исследователя и во многом определяется его интуи¬
цией.
Воспользуемся изложенным методом обратных преобразова¬
ний для определения углов Эйлера манипулятора Пума. В при¬
менении к манипуляторам типа Пума углы Эйлера обозначаются
символами О, А и Т и определяются следующим образом
(рис. 2.17):
О (ориентация)—угол, образуемый осью у0 с проекцией оси
инструмента на плоскость XY и отсчитываемый вокруг оси Z0.
А (высота ,)) — угол, образуемый плоскостью XY с осью инстру¬
мента а, отсчитываемый вокруг оси инструмента s.
Т (инструмент) — угол, образуемый плоскостью XY с осью инст¬
румента s, отсчитываемый вокруг оси инструмента а.
и По первой букве английскою слова altitude — высота. — Прим. перев.
74
Вначале оси системы координат инструмента (или системы
координат схвата) параллельны осям базовой системы коорди¬
нат робота, как показано на рис. 2.18, т. е., когда О = А = Т=0°,
схват направлен в сторону, противоположную направлению оси
Рис. 2.17. Определение углов Эйлера О, Л и Г (из руководства 398Н к мани¬
пулятору Пума). . ...
у0, пальцы расположены в горизонтальной плоскости, а ось s
сонаправлена с осью хо. Матрица преобразования, задающая
ориентацию системы координат схвата (n, s, а) по отношению
к базовой системе координат (х0, Уо, z0), имеет вид
О 1 О
0 0-1
10 0J
(2.3-22)
75
С учетом определения углов О АТ и вида матрицы (2.3-22), за¬
дающей начальную ориентацию системы координат схвата, связь
*о
У0
Рис. 2.18. Начальное расположение системы координат ииструмеита.
между матрицей ориентации схвата и углами ОАТ определяется
следующим выражением:
'Пх
SX
ах-
0
1
0-
-со
-so
0-
Пу
5У
ау
= R
г, 0
0
0 -
1
Rs, Л^а
т —
SO
со
0
ч
-Пг
аг -
-
-1
0
о J
0
0
1 -
0
1
0‘
СА 0
S/I-
- СТ
-ST
0
-
X
0
0
-1
0 1
0
ST
СТ
0
_ —
1
0
0 -
_ -
-SA 0
СА-
- 0
0
1
.
Умножая справа это матричное уравнение на матрицу, обрат"
ную
Г»
-flx
ах-
пу
ау
-пг
аг -
СТ ST 0
—ST СТ 0
0 0 1J
X
-СО
-SO 0“
so
СО 0
- 0
0 1 -
- СА
о
Со
0
1 0
l -SA
0 СА-
О 1 О'
0 0-1
-10 о
X
и производя умножение матриц, получаем
' пхСТ —
sxST
nxST -|- sxCT
ax-
- -S0S4
CO
SO(M -
ПуСТ —
SyST
tiyST SyCT
ay
=
COS^
SO
-COCA
- пгСТ -
szST
nzST -|- szCT
az -
- —CA
0
-SA -
(2.3-23)
Приравнивая элементы (3,2) в обеих частях матричного уравне¬
ния (2.3-23), получим
nzST + szCT = 0, (2.3-24)
76
что позволяет определить Т\
Т = arctg ["~j] ^ ATAN2 (sz, -пг).
(2.3-25)
Из равенства элементов (3, 1), (3, 3) в левой и правой частях
уравнения (2.3-23) следует
SA = —az, (2.3-26а)
С А = — пгСТ + szST. (2.3-266)
В результате получаем
А = arctg [ _nJ0f% ^у] = AT AN 2 (~az< -nzCT + szST). (2.3-27)
Из равенства элементов (1, 2), (2,2) матриц в левой и правой
частях уравнения (2.3-23) имеем
CO = nxST + sxCT, ... , (2.3-28а)
SO = nyST + syCT, (2.3-286)
откуда получаем выражение для О:
0 ~ arct2 [ lfsT+1^] = ATAN2 (nyST + »УСТ’ ^sr + S*CV-
(2.3-29)
Рассмотренным способом, состоящим в умножении исходного
уравнения слева или справа на неизвестную матрицу обратного
преобразования, можно воспользоваться для решения обратной
задачи кинематики манипулятора Пума. Такое решение под¬
робно изложено в работе [231].
Хотя метод обратных преобразований дает общий подход
к решению обратной задачи кинематики, из него не следует, ка¬
ким образом выбрать из нескольких существующих решений
одно, соответствующее требуемой конфигурации манипулятора.
В этом вопросе приходится полагаться на интуицию исследова¬
теля. Для нахождения решения обратной задачи кинематики по
заданной матрице манипулятора более пригодным является гео¬
метрический подход, дающий также и способ выбора единствен¬
ного решения для конкретной конфигурации манипулятора. Этот
подход описан в разд. 2.3.2.
2.3.2. Геометрический подход
В этом разделе излагается геометрический подход к решению
обратной задачи кинематики шестизвенного манипулятора с вра¬
77
щательными сочленениями. Решение проводится для манипуля¬
тора типа Пума. По аналогии с геометрией человеческой руки
и в соответствии с расположением систем координат звеньев
различные конфигурации манипулятора Пума (рис. 2.11) опре¬
деляются с помощью трех индикаторов конфигурации (РУКА,
ЛОКОТЬ, ЗАПЯСТЬЕ)11. Для индикатора характеризуют взаим¬
ное расположение первых трех сочленений, а третий — располо¬
жение последних трех. Для шестиосных манипуляторов типа Пу¬
ма существуют четыре различных решения обратной задачи кине¬
матики первых трех сочленений и каждому из этих четырех ре¬
шений соответствует по два допустимых решения для последних
трех сочленений. Первые два индикатора конфигурации позво¬
ляют выбрать одно из четырех возможных решений для первых
трех сочленений. Аналогично, третий индикатор определяет вы¬
бор одного из двух возможных решений для последних трех со¬
членений. Выбор индикаторов, определяющих конфигурацию ма¬
нипулятора, производится пользователем до начала решения
обратной задачи кинематики. Решение производится в два этапа.
Сначала вычисляется вектор, направленный от плеча к запястью.
Проекции этого вектора на плоскость x,_i у,_, используются при
нахождении присоединенного угла г'-го сочленения (г = 1, 2, 3)
для первых трех сочленений. При решении обратной задачи ки¬
нематики для последних трех сочленений используется решение,
полученное для первых трех сочленений, подматрицы поворота
матриц °Т и r_1Ai (г = 4, 5, 6) и проекции систем координат зве¬
ньев на плоскость хг~‘ у'-1. Исходя из геометрических соображе¬
ний, удается последовательно сформировать решение данной за¬
дачи. В качестве проверки полученного решения можно с помо¬
щью соответствующих уравнений кинематики вычислить значе¬
ния индикаторов конфигурации, являющихся функциями присо¬
единенных углов. С некоторыми изменениями и уточнениями
этот метод можно обобщить для решения обратной задачи кине¬
матики большинства современных промышленных роботов с вра¬
щательными сочленениями.
Если задана матрица абсТИНстР, то, умножив эту матрицу слева
и справа на В-1 и Н-1 соответственно, можно вычислить °Т6 и
о В этом разделе авторы для определения конфигурации манипулятора
ставят в соответствие звеньям — руке, локтю, запястью — некоторые функции,
названные ими индикаторами конфигурации. Придавая индикаторам конфи¬
гурации дискретные значения (±1) в зависимости от знака соответствующих
кинематических соотношений, авторам удалось создать достаточно наглядную
классификацию видов конфигурации манипулятора с помощью геометриче¬
ской интерпретации. Желая сохранить стиль изложения, мы сохранили
предложенную авторами терминологию, хотя она не получила широкого
распространения в отечественной литературе по робототехнике.— Прим.
ред.
78
затем воспользоваться указанным способом:
жэ **“ 1 ЗбС'*' JJ “
*6 1—0 *инстрп
пу sy ау
Ру
Иг ®г Рг
0 0 0 1
(2.3-30)
Определение различных конфигураций манипулятора. Для
манипулятора Пума, показанного на рис. 2.11 (и других мани-
Локоть
рука
Рис. 2.19. Определение различных конфигураций манипулятора.
пуляторов с вращательными сочленениями), возможны различ¬
ные типы конфигурации, которые определяются по аналогии
с геометрией руки человека в соответствии с расположением си¬
стем координат звеньев, устанавливаемым алгоритмом 2.1. Типы
конфигурации манипулятора устанавливаются следующим обра¬
зом (рис. 2.19):
ПРАВАЯ РУКА: При неподвижном 3-м сочленении увеличе¬
ние угла 02 приводит к увеличению координаты запястья по
ОСИ Zq.
79
ЛЕВАЯ РУКА: При неподвижном 3-м сочленении увеличе¬
ние угла 02 приводит к уменьшению координаты запястья по
оси zQ.
ВЕРХНЯЯ (локоть выше запястья) РУКА: Положение за¬
пястья {ПРАВОЙ/ЛЕВОЙ} руки по отношению к системе ко¬
ординат плеча характеризуется {отрицательным/положитель¬
ным} значением координаты по оси у2.
НИЖНЯЯ (локоть ниже запястья) РУКА: Положение за¬
пястья {ПРАВОЙ/ЛЕВОЙ} руки по отношению к системе коор¬
динат плеча характеризуется {положительным/отрицательным}
значением координаты по оси у2.
КИСТЬ ВНИЗ: Скалярное произведение единичного вектора
s системы координат схвата и единичного вектора у5 системы ко¬
ординат (х5, у5, z5) положительно.
КИСТЬ ВВЕРХ: Скалярное произведение единичного век¬
тора s системы координат схвата и единичного вектора ys си¬
стемы координат (Х5, ys, z5) отрицательно.
(Заметим, что это определение типов конфигурации манипуля¬
тора по положению систем координат звеньев изменится, если
будут использованы другие системы координат.)
В соответствии с данным определением различных конфи¬
гураций манипулятора для каждой из таких конфигураций опре¬
делены индикаторы конфигурации (РУКА и ЛОКОТЬ). Совме¬
стно эти два индикатора выделяют одно из четырех возможных
решений обратной задачи кинематики для первых трех сочле¬
нений. Для каждой из четырех возможных конфигураций мани¬
пулятора (рис. 2.19), определяемых первыми двумя индикато¬
рами, третий индикатор (ЗАПЯСТЬЕ) обусловливает выбор
одного из двух возможных решений обратной задачи кинематики
для последних трех сочленений. Перечисленные три индикатора
конфигурации звеньев могут быть определены следующим об¬
разом:
( +1 для ПРАВОЙ руки
РУКА ’
{
-1 для ЛЕВОЙ руки
{ -1 для НИЖНЕЙ руки
если КИСТЬ ВНИЗ
. +1 для ВЕРХНЕЙ руки
ЛОКОТЬ ’
4-1:
ЗАПЯСТЬЕ — , и’ТЛГ'Г и ППСПУ
1 1 если КИСТЬ ВВЕРХ
В дополнение к перечисленным индикаторам определим ПЕРЕ¬
КЛЮЧАТЕЛЬ следующим образом:
( +1 Сменить ориентацию запястья
ПЕРЕКЛЮЧАТЕЛЬ = < , ц „
— 1 Не менять ориентацию запястья
(2.3-34)
80
Значения индикаторов и переключателя задаются исследовате¬
лем до начала решения обратной задачи кинематики. Значения
индикаторов можно также определить, зная присоединенные
углы манипулятора и пользуясь соответствующими уравнениями
конфигурации, которые будут приведены ниже и которыми мож¬
но воспользоваться для проверки решения обратной задачи кине¬
матики.
Решение обратной задачи кинематики для первых трех со¬
членений. В соответствии с кинематической схемой манипуля¬
тора Пума, представленной на рис. 2.11, вектор р, выходящий из
начала системы координат плеча (х0, уо, z0) и заканчивающийся
в точке пересечения осей трех последних сочленений, опреде¬
ляется следующим выражением (см. рис. 2.14):
р = р6 — d6a = (px, ру, р/, . (2.3-35)
что соответствует вектору положения матрицы °Т4:
Ci (а2С2 + а3С23 -)- d4S2^) d2Sl
Si (а2С2 n3C23 -f- diS2‘i) Ч- d2Ci . (2.3-36)
d/fl2 з a:jS23 cl2S2
Решение для первого сочленения. Проецируя, как показано на
рис. 2.20, вектор р на плоскость х0, уо, получаем следующие урав¬
нения для определения угла 0j:
У?
' Px~
Py
=
-Рг
ef = ф
sm cp = ■
sin а ■
ф = я ф а,
Я = V
Рх
R
pl + р1
COS ф :
(2.3-37)
(2.3-38)
(2.3-39)
(2.3-40)
: V Рх + Ру — dz ,
Ру_
R ’
^2
R ’
в которых верхние индексы L а R означают соответственно ЛЕ¬
ВУЮ и ПРАВУЮ конфигурации манипулятора. Из уравнений
(2.3-37) — (2.3-40) получаем значения функций синуса и косинуса
угла 0] для ЛЕВОЙ/ПРАВОЙ конфигурации манипулятора:
. аЬ ■ / \ • ■ РуГ ~Рх^2
sm 0i = sin (ф — а) = sin ф cos а — cos ф sin а =
cos 01 :
sin 0i
cos 0i
cos (ф — а) = cos ф cos а -f- sin ф sin а =
—Руг — Pxd2
R2
(2.3-41)
Pxr + Pyd2
R2
■■ sin (л + ф + а)
: cos (я -f- cp -j- a)
R2
-Pxr + Pyd2
R2
(2.3-42)
(2.3-43)
(2.3-44)
81
!
Объединяя равенства (2.3-41) — (2.3-44) и используя индикатор
РУКА для учета ЛЕВОИ/ПРАВОЙ конфигурации манипуля-
Шоснесть хп
Уо
OA^di
AB~r~ + е\ -4
ов « 4р] + = Л
О А <* йг
*0
ав~г=4Рх + pl~d\
ОВ ? ЧР\ + /*1
тора, получаем значения функций синуса и косинуса угла 0i
в следующем виде:
-рука^ л/£ + р1-4-рЖ (2 3_45)
A i
sin 0,
cos tf, =
pI + P2y
-РУКА Рхл/р2х + Ру- 4 + Pyd2
Px+p'i
(2.3-46)
Si
В этих равенствах используется положительное значение квад¬
ратного корня, а индикатор РУКА определен равенством
(2.3-31). Для вычисления 0ь лежащего в пределах —л ^ 01 ^ л,
воспользуемся функцией арктангенса, определенной равенством
(&•./>>>/О
(2.3-7). Из равенств (2.3-45) и (2.3-46) с учетом равенства
t(2.3-7) получаем следующую формулу для определения 0,:
„ , Г sin 0, "1
0, = arctg 5- =
1 ® L COS 0! J
" —РУКА
pi + pI
' ^2 Pxd 2
: arctg = I ^-===4—^1 - л < 0, < Л.
L -РУКА рхл/р- +p2y-d-2 + pyd2 J
(2.3-47)
Решение для второго сочленения. Чтобы найти 02, спроецируем
вектор р на плоскость xiyi, как показано на рис. 2.21. В соот¬
ветствии с этим рисунком возможны четыре различных конфи¬
гурации манипулятора. Каждой конфигурации соответствует
свое значение угла 02 при 0° ^ а ^ 360° и 0° ^ |3 ^ 90°
(табл. 2.3). Как следует из табл. 2.3, используя индикаторы кон¬
фигурации РУКА и ЛОКОТЬ, для 02 можно записать единое для
всех возможных конфигураций манипулятора выражение, имею¬
щее следующий вид.
02 = a -f- (РУКА • ЛОКОТЬ) • 0 = а + К • (3, (2.3-48)
где составной индикатор конфигурации К = РУКА-ЛОКОТЬ
определяет соответствующий знак угла (3, а точкой обозначена
83
Таблица 2.3. Угол 02 при различных конфигурациях манипулятора
Конфигурация манипулятора
02
РУКА
локоть
РУКА-ЛОКОТЬ
ЛЕВАЯ ВЕРХНЯЯ рука
а — (3
—1
+1
—1
ЛЕВАЯ НИЖНЯЯ рука
а + Р
— 1
—1
+1
ПРАВАЯ ВЕРХНЯЯ рука
а Т- (3
+ 1
+1
+1
ПРАВАЯ НИЖНЯЯ рука
а — р
+ 1
-1
—1
операция умножения индикаторов. Геометрия манипулятора, от¬
раженная в схеме на рис. 2.21, позволяет записать следующие
соотношения:
R = Vr* + P2y + Pl~ dl’ г = лМ + Р2у - dl (2.3-49)
sin а = - =?г =, (2.3-50)
Л/А + Ру + Рг- й1
eos а=_ ■ Ур*+я -1, (2.3.51)
л/р1 + Р2у + Р2г - 4
а а% + R2 — (d\ + аз) __ р2х + Ру + pi + а\ — d\ — (d\ + af)
2a,R ^л!А+р1+р1-4
(2.3-52)
sinP = Vl—cos2 p. (2.3-53)
Из равенств (2.3-48) — (2.3-53) можно определить значение функ¬
ций синуса и косинуса угла 02:
sin 02 = sin (a -f К • Р) = sin а cos (К • Р) + cos а sin (К • (3) =
= sin а cos (3 + (РУКА • ЛОКОТЬ) cos а sin (3, (2.3-54)
cos 02 = cos (а -f- К • P) = cos а cos (3 — (РУКА • ЛОКОТЬ) sin а sin р.
(2.3-55)
Равенства (2.3-54), (2.3-55) позволяют найти значение 02:
02 = arctg[ir|-l ~л<02<л- (2-3-56)
Решение для третьего сочленения. Для определения 03 спроеци¬
руем вектор р на плоскость х2у2 (рис. 2.22). В соответствии
с рис. 2.22, как и в предыдущем случае, возможны четыре раз¬
личные конфигурации манипулятора. Как показано в табл. 2.4,
каждой конфигурации соответствует свое выражение для 0з. Па¬
84
раметр (2р4)у представляет собой у-ю компоненту вектора, выхо¬
дящего из начала системы координат (х2, (/г, г2) и заканчиваю¬
щегося в точке пересечения осей последних трех сочленений.
Таблица 2.4. Угол 03 при различных конфигурациях манипулятора
Конфигурация манипулятора
(‘Pi)y
0!
РУКА
локоть
РУКА-ЛОКОТЬ
ЛЕВАЯ ВЕРХНЯЯ рука
ф — р
-1
+ 1
— 1
ЛЕВАЯ НИЖНЯЯ рука
<0
ф — р
-1
-1
- +1
ПРАВАЯ ВЕРХНЯЯ рука
>0
ф — р
+1
+ 1
+ 1
ПРАВАЯ НИЖНЯЯ рука
<0
ф — р
+1
-1
— 1
Из рис. 2.22 получаем следующие равенства, позволяющие
определить 03:
R = ^Pl + Pl + Pl-d\, (2.3-57)
а\ + (rf4 + а\) ~Я2
cos ф = - —, (2.3-58)
2a2Vd4 + аз
sin ф = РУКА • ЛОКОТЬ д/l — cos2q>,
sin Р = ~ТГ=Т’ cos Р = Г^Ц- • (2.3-59)
д/с(4 + а3 д/с(4 + а3
В соответствии с табл. 2.4 значение 03 можно представить фор¬
мулой, единой для всех конфигураций манипулятора:
0з = Ф — Р- (2.3-60)
Из равенства (2.3-60) получаем следующие выражения для функ¬
ций синуса и косинуса угла 03:
sin 03 = sin (ф — Р) = sin ф cos Р — cos ф sin Р, (2.3-61)
cos 03 = cos (ф — (5) = cos ф cos р -f sin ф sin p. (2.3-62)
Из равенств (2.3-61) и (2.3-62) с использованием равенств
(2.3-57) — (2.2-59) находим решение для 03:
0з = arctg -л<03<л. (2.3-63)
Решение обратной задачи кинематики для последних трех со¬
членений. Зная первые три присоединенных угла, можно сфор¬
8а
мировать матрицу °Т3) часто используемую при решении обрат¬
ной задачи кинематики для последних трех сочленений. Для ма¬
нипулятора Пума это решение можно получить, приводя сочле¬
нения в соответствие со следующими требованиями:
Левая нижняя рука
Левая НИЖНЯЯ рука
С
Рис. 2.22. Решение Для 3-го сочленения.
1. Сочленение 4 должно быть установлено так, чтобы вращением
в сочленении 5 можно было совместить ось вращения сочле¬
нения 6 с заданным вектором подхода (вектором а матрицы Т).
2. Сочленение 5 должно быть установлено так, чтобы ось враще¬
ния сочленения 6 совпадала с вектором подхода.
3. Сочленение 6 должно быть установлено так, чтобы ось у6 со¬
впала с заданным касательным вектором схвата, определяю-
«б
щим его ориентацию. Перечисленные условия соответственно
записываются в следующем виде:
В равенстве (2.3-64) векторное произведение может быть как
положительным, так и отрицательным. Поэтому возможны два
решения для 04. При равенстве векторного произведения нулю
(т. е. ось z3 параллельна а) имеет место вырожденный случай.
Это происходит, когда оси вращения 4-го и 6-го сочленений па¬
раллельны, и означает, что при данной конкретной конфигура¬
ции был бы достаточен пятиосный, а не шестиосный манипу¬
лятор.
Решение для четвертого сочленения. Обе возможные ориента¬
ции запястья (ВВЕРХ и ВНИЗ) определяются ориентацией си¬
стемы координат схвата (n,s, а) относительно системы коорди¬
нат (х5, у5, z5). Знак векторного произведения в равенстве
(2.3-64) должен быть определен с учетом ориентации п или s
по отношению к единичным векторам х3 или у5 соответственно,
которые в свою очередь ориентированы определенным образом
относительно единичного вектора z4 в соответствии с правилами
выбора систем координат звеньев. (Из рис. 2.11 видно, что еди¬
ничный вектор z4 сонаправлен с единичным вектором у5.)
Предположим сначала, что векторное произведение в равен¬
стве (2.3-64) имеет положительный знак. Признаком этого мо¬
жет служить индикатор ориентации Q, определяемый следующим
образом:
В соответствии с рис. 2.11 ys = z4, и, используя равенство
(2.3-64), можно представить индикатор ориентации в следующем
виде: д‘
Если наше предположение о знаке векторного произведения в ра¬
венстве (2.3-64) не верно, то позже оно будет скорректировано
24 =-т^тт-нг- ПРИ заданном а = (ах, ау, аг)т, (2.3-64)
II 2з X а ц
a = z5 при заданном а = {ах, ау, az)T, (2.3-65)
s = у6 при заданных s = (sv, sy, sz)T и n = (пх, пу, nzf.
(2.3-66)
О в вырожденном случае;
s • у5, если s • у5=И= 0;
п • у5, если s • у5 = 0.
(2.3-67)
О
в вырожденном случае;
1гЙНт еСЛИ S'(23Xa)=?t 0; (2.3-68)
87
Таблица 2.5. Различные ориентации запястья
Ориентация запястья
S = S'y5 или п у.
М-ЗАПЯСТЬЕ-sign (£2)
кисть вниз
>0
+ 1
+ 1
кисть вниз
<0
+ 1
— 1
КИСТЬ ВВЕРХ ,
>0
— 1
— 1
КИСТЬ ВВЕРХ
< 0
-1
+ 1
с помощью индикатора ЗАПЯСТЬЕ и индикатора ориентации Й.
Индикатор й служит признаком начальной ориентации единич¬
ного вектора z4, обусловленной правилами выбора систем коор¬
динат звеньев. Индикатор звена ЗАПЯСТЬЕ характеризует вы¬
бранную исследователем ориентацию узла запястья в соответст¬
вии с определением, содержащимся в равенстве (2.3-33). Если
эти индикаторы одного знака, то предположение о знаке вектор¬
ного произведения в равенстве (2.3-64) верно. Табл. 2.5 устанав¬
ливает соответствие между ориентацией запястья и различными
комбинациями значений индикатора ЗАПЯСТЬЕ и индикатора
ориентации.
sia 04 « -fa • *л>
COS 04 " Z4 • y.i
Рис. 2.23. Решение для 4-го сочленения.
между ориентацией запястья и различными комбинациями зна¬
чений индикатора ЗАПЯСТЬЕ и индикатора ориентации.
Проецируя систему координат (х4) у4, z4) на плоскость хзуз
(рис. 2.23) и используя табл. 2.5, можно получить следующие
соотношения:
sin 04 = — М (z4 • х3), cos 04 = М (z4 • уз), (2.3-69)
где хз и уз — соответственно первый и второй столбцы матрицы
°Т3, М = ЗАПЯСТЬЕ -cign (Й), а функция sign определяется сле¬
дующим образом:
( 4-1, если х ^ 0;
sign (л) = | если Jt<a (2.3-70)
Хз
S8
Таким образом, с помощью индикатора ЗАПЯСТЬЕ и индика¬
тора ориентации решение для 04 может быть представлено в сле¬
дующем виде:
04 = аГС^[тЙ-] =
^ arctg [ М {C^+S^af-^аЛ (2'3'71)
В вырожденном случае переменной 04 может быть присвоено
любое значение, согласующееся с ориентацией запястья
(КИСТЬ ВВЕРХ/ВНИЗ). Это условие всегда удовлетворяется,
если положить 04 равным текущему значению 04. Кроме того,
сменив значение ПЕРЕКЛЮЧАТЕЛЯ, можно получить другое
решение для 04: 04 = 04 + 180°.
Решение для пятого сочленения. Для определения 05 восполь¬
зуемся условием, состоящим в том, что ось шестого сочленения
должна совпадать с заданным вектором подхода (а = z5). Прое-
sln #5 = а • Х4
cos Of — - (а . у4)
Рис. 2.24. Решение для 5-го сочленения. ( . -
цируя систему координат (х5, у5, z5) на плоскость х4у4, можно
показать, что справедливы следующие соотношения (рис. 2.24):
sin05 = a-x4, cos 05 = — (а • у4), (2.3-72)
где х4 и у4— соответственно первый и второй столбцы матрицы
°Т4, а а — вектор подхода. Таким образом, получено решение
для 05:
(CiC23C4 — S1S4) ах -f- (S1C23C4 + C1S4) ау — C4S23a2 Т
C\S2iax -f- SiS23ay -f- C23a2 J’
—я<0<я. (2.3-73)
Если 05 « 0, имеет место вырожденный случай.
Решение для шестого сочленения. Мы получили такие решения
04, 05 для 4-го и 5-го сочленений, что ось шестого сочленения
сонаправлена с заданным вектором подхода а. Теперь мы хо¬
тим получить такую ориентацию схвата, которая бы позволила
поднять объект манипулирования. Для этого надо так располо¬
= arctg [
89
жить схват, чтобы s = у6. Проецируя систему координат схвата
(n, s, а) на плоскость х5у5, можно показать, что справедливы
следующие равенства (рис. 2.25):
sin 0б = п • у5, cos 06 = s • у3, (2.3-74)
где у5 — второй столбец матрицы °Т5, а п и s — соответственно
нормальный и касательный векторы матрицы °Т6. Таким обра¬
зом, для 06 имеем
0е = arctg [-^] =
= arctg p-SlC«'
1 C1C23S4) rix + (С1С4 — S1C23S4) Пу — (S4S23) Пг
]■ =
- Уз
*5
Рис. 2.25. Решение для 6-го сочленения.
( — S1C4 — С1C23S4) Sx + (С [С4 S1C23S4) Sy + (S4S23) sz
(2.3-75)
Рассмотренный метод реше¬
ния обратной задачи кинема¬
тики основан на геометриче¬
ской интерпретации условий,
накладываемых на положе¬
ние конечной точки 3-го зве¬
на и на положение и ориен¬
тацию схвата или инструмен¬
та. В предложенном решении
для углов 04, 05 и 06 необхо¬
димо обратить особое внима¬
ние на следующее. Дело в
том, что требование совпаде¬
ния оси 5-го сочленения с
векторным произведением z3
и а может не иметь смысла,
если sin 05 « 0 (т. е. 05 « 0). В этом случае манипулятор ста¬
новится вырожденным: оси его 4-го и 6-го сочленений совпа¬
дают. В таком состоянии важна только сумма углов 04 и 06.
Угол 04 можно выбрать произвольным образом (обычно выби¬
рают 04 равным его текущему значению), а 04 + 06 выбирается
так, чтобы требуемым образом расположить оси s и п Если ПЕ-
РЕРЕКЛЮЧАТЕЛЬ «включен» (т. е. ПЕРЕКЛЮЧАТЕЛЬ = 1),
ТО 04 — 04 + П, 05 = —05, 06 = 06 + Л.
Итак, для шестизвенного манипулятора Пума существует во¬
семь решений обратной задачи кинематики. Решения для пер¬
вых трех присоединенных углов 0Ь 02, 03 обеспечивают требуе¬
мое расположение руки (первых трех звеньев), а выбором углов
04, 05, 06 обеспечивается заданная ориентация схвата. Для пер¬
вых трех присоединенных углов существуют четыре решения:
два — для манипулятора с левосторонней конфигурацией и
два — с правосторонней. Для каждой конкретной конфигурации
манипулятора равенства (2.3-47), (2.3-56), (2.3-63), (2.3-71),
90
(2.3-73), (2.3-75) дают решение (0i, 02, ©з, 04, 05, ©б) обратной за¬
дачи кинематики, причем (0ь 02, 0з, 04 + л, —05, 0е + л) также
является решением этой задачи (если ПЕРЕКЛЮЧАТЕЛЬ
«включен»).
Уравнения вида конфигурации для определения индикато¬
ров конфигурации манипулятора. Полученное в предыдущем
разделе решение обратной задачи кинематики для манипулятора
типа Пума не единственно и зависит от индикаторов конфигура¬
ции, задаваемых исследователем. Эти индикаторы можно также
определить, зная присоединенные углы. В этом разделе полу¬
чены соответствующие уравнения конфигурации для каждого из
рассмотренных индикаторов. Решение уравнения дает значение
соответствующего индикатора в соответствии с определениями
(2.3-31) —(2.3-33).
Для индикатора РУКА, следуя определению ПРАВОЙ/ЛЕ¬
ВОЙ руки, уравнение конфигурации можно записать в виде
где р' = (рх, ру, 0)т — проекция вектора р (равенство (2.2-36))
на плоскость хоУо, zi =(—sin 01, cosOi.O)7'— третий столбец мат¬
рицы °Т! и z0=(0, 0, 1)Е Возможны следующие варианты:
1. Если g(0, р) > 0, реализована конфигурация ПРАВОЙ руки.
2. Если g(0, р) < 0, реализована конфигурация ЛЕВОЙ руки.
3. Если g(0,p) = O, конфигурация манипулятора одновременно
соответствует определению как ПРАВОЙ, так и ЛЕВОЙ руки:
манипулятор находится внутри цилиндра радиусом cf2
(рис. 2.19). В этом случае принимается для определенности,
что реализована конфигурация правой руки (РУКА=-{-1).
Поскольку знаменатель выражения (2.3-76) всегда положи¬
телен, определение ЛЕВОЙ/ПРАВОЙ конфигурации сводится
к определению знака числителя g(0,p):
РУКА = sign [g (0, р)] = sign (— рх cos 0, — ру sin 0,), (2.3-77)
где функция sign определена равенством (2.3-70). Подстановкой
первой и второй компонент вектора р из равенства (2.3-36) в ра¬
венство (2.3-77) получаем
РУКА = sign [g(0, р)] = sign[g(0)] = sign(— dAS23 — a23C23 — a2C2).
Следовательно, из уравнения (2.3-78) значение индикатора
РУКА для ПРАВОЙ/ЛЕВОЙ конфигурации манипулятора уста¬
J 1
= z0- — sin 0, cos 0, 0 ||Z)Xt>/jj'
Рх Ру 0
Ру sin 01 — Рх COS 0!
II Zi X P'll
, (2.3-76)
(2.3-78)
91
навливается следующим образом:
( +1=ф- ПРАВАЯ рука,
РУКА = sign(~rf4S23-a3C23-a2C2) = | _1=^ЛЕВАЯ рука_
(2.3-79)
При выводе уравнения конфигурации для индикатора ЛО¬
КОТЬ используем определение ВЕРХНЕЙ/НИЖНЕЙ руки.
Взяв (2р4)у и индикатор РУКА из табл. 2.4, получим уравнение'
конфигурации для индикатора ЛОКОТЬ, использующее знак
второй компоненты вектора положения матрицы 2А33А4 и инди¬
катор РУКА:
ЛОКОТЬ = РУКА • sign (d4C3 - a3S3) =
< +1=^ЛОКОТЬ выше запястья,
\ —1=^ ЛОКОТЬ ниже запястья.
(2.3-80)
Для индикатора ЗАПЯСТЬЕ, следуя определению возможных
конфигураций запястья (КИСТЬ ВВЕРХ/ВНИЗ), сформируем
скалярное произведение единичных векторов s и ys (или z4).
( +1, если s • z4 > 0
ЗАПЯСТЬЕ = s . _ = sign(s • z4). (2.3-81)
(.—1, если s • z4 < 0 ь ' ' '
Если s-z4 = 0, значение индикатора ЗАПЯСТЬЕ можно опреде¬
лить из следующего выражения: '
( +1, если п • z4 > O')
ЗАПЯСТЬЕ = ) > = sign(п • z4). (2.3-82)
1, если п ■ z4 < 0J s ' 47
Объединяя равенства (2.3-81) и (2.3-82), получим
ЗАПЯСТЬЕ = s'z-’b„°) =
sign (n • z4), если s • z4 = 0 J
{
+ 1=^КИСТЬ ВНИЗ,
-1=^КИСТЬ ВВЕРХ.
(2.3-83)
Полученные уравнения конфигурации позволяют проверить
решение обратной задачи кинематики. С их помощью при реше¬
нии прямой задачи кинематики вычисляются значения индика¬
торов конфигурации, которые затем используются для решения
обратной задачи кинематики (рис. 2.26).
Машинное моделирование. Для проверки правильности решения
обратной задачи кинематики манипулятора Пума, изображен¬
ного на рис. 2.11, может быть составлена программа для ЭВМ.
Первоначально в программе задается положение манипулятора
в пределах допустимых значений присоединенных углов. При-
92
соединенные углы являются входами в программу решения пря¬
мой задачи кинематики, которая формирует матрицу манипуля¬
тора Т. Присоединенные углы используются также в уравнениях
конфигурации, из которых определяются значения трех индика¬
торов конфигурации манипулятора. Значения индикаторов со¬
вместно с матрицей Т являются входами в программу решения
обратной задачи кинематики, вычисляющую присоединенные
Положение и
Рис. 2.26. Моделирование решения обратной задачи кинематики на ЭВМ.
углы, которые должны совпасть с присоединенными углами, яв¬
ляющимися входами в программу решения прямой задачи кине¬
матики. Блок-схема такой модели представлена на рис. 2.26.
2.4. ЗАКЛЮЧЕНИЕ
В этой главе мы рассмотрели прямую и обратную задачи
кинематики манипулятора. Были определены параметры звеньев
и сочленений манипулятора, а для описания положения звеньев
относительно фиксированной системы координат было введено
понятие однородной матрицы преобразования размерностью
4X4. Для шестизвенного манипулятора типа Пума получены со¬
отношения, решающие прямую задачу кинематики.
Сформулирована обратная задача кинематики. С помощью
метода обратных преобразований получено решение обратной
задачи в эйлеровых координатах. Метод обратных преобразо¬
ваний позволяет решать обратную задачу кинематики простых
манипуляторов, однако он не дает возможности раскрыть гео¬
метрический смысл задачи. В связи с этим на примере решения
обратной задачи кинематики шестизвенного манипулятора с вра¬
щательными сочленениями рассмотрен геометрический подход.
В решении использовались три индикатора конфигурации мани¬
пулятора (РУКА, ЛОКОТЬ, ЗАПЯСТЬЕ). Для шестизвенного
манипулятора типа Пума существует восемь различных решений
обратной задачи кинематики: четыре — для первых трех сочле¬
нений, и каждому из этих четырех соответствуют еще два воз¬
93
можных решения для трех последних сочленений. Правильность
решений прямой и обратной задач кинематики может быть про¬
верена с помощью моделирования на ЭВМ. При соответствую¬
щих изменениях и дополнениях геометрический подход может
быть обобщен для других простых промышленных манипулято¬
ров с вращательными сочленениями. Рассмотренные в этой главе
понятия, связанные с кинематикой манипуляторов, будут ши¬
роко использоваться в третьей главе для вывода уравнений дви¬
жения, описывающих динамику манипулятора.
Литература
Дополнительный материал по теории матриц можно найти
в книгах Веллмана [21], Фрезера [82] и Гантмахера [92].
О применении матриц для описания положения в пространстве
твердого механического объекта можно прочесть в статье Дена¬
вита и Хартенберга [57], а также в книге этих авторов [116].
Дополнительный материал об однородных координатах имеется
в работах таких авторов, как Дуда и Харт [66] и Ньюмен и
Спрулл [212]. Основные вопросы кинематики рассмотрены
в статье Ли [154]. Более подробно этот раздел освещен в рабо¬
тах Хартенберга и Денавита [116], Зуха и Радклифа [273]. Хотя
матричное описание взаимного расположения звеньев дает спо¬
соб последовательного решения прямой задачи кинематики, век¬
торный подход к этой задаче позволяет получить решение в бо¬
лее компактной форме. Это обсуждается в работе Чейза [41].
К числу других книг до кинематике роботов можно отнести ра¬
боты Пола [229], Ли, Гонсалеса и Фу [163], Снайдера [270].
В докторской диссертации Пайпера [235] обратная задача
кинематики решается алгебраическими методами. Решение этой
задачи методом обратных преобразований рассмотрено в ра¬
боте Пола и др. [231]. Геометрический подход к решению об¬
ратной задачи кинематики шестизвенного манипулятора с вра¬
щательными сочленениями основан на работе Ли и Цайглера
[168]. Решение этой задачи для станфордского манипулятора
можно найти в работе Левиса [169]. Другие способы решения
обратной задачи кинематики можно найти в следующих рабо¬
тах: [56, 69, 149, 284, 318, 319, 321]. Наконец, последние работы
по робототехнике содержатся в учебном пособии Ли, Гонсалеса
и Фу [163].
Упражнения
2.1. Найдите матрицу поворота, являющегося результатом последователь¬
ного выполнения поворотов сначала на угол 30° вокруг оси OZ, на 60° вокруг
оси ОХ и затем на 90° вокруг оси OY.
2.2. Найдите матрицу поворота, являющегося результатом последователь¬
ного выполнения поворотов сначала на угол ф вокруг оси ОХ, на угол ф во¬
круг оси 01Г и затем на угол 0 вокруг оси OY,
94
2.3. Найдите последовательность поворотов, отличную от описанной в за¬
даче 2.2, но имеющую ту же матрицу результирующего поворота.
2.4. Выведите формулы для sin(cp + 0) и cos(cp + 0), раскрывая выраже¬
ние, представляющее матрицу суммарного поворота в виде произведения мат¬
риц элементарных поворотов.
2.5. Определите матрицу Т, описывающую результат последовательного
выполнения следующих преобразований: поворот на угол а вокруг оси ОХ,
сдвиг на Ь единиц длины вдоль оси OZ и затем поворот угол ф вокруг
оси OV.
2.6. Определите в соответствии с рис. 2.27 однородные матрицы преобра¬
зований '-’А,- и °Адля 1 = 1, 2, 3, 4, 5.
Рис. 2.27. Схема систем координат для упражнения (2.6) нахождения одно¬
родной матрицы преобразования.
2.7. Определите в соответствии с рис. 2.28 однородные матрицы преобра¬
зований |_1А/ и °А; для г = 1, 2, 3, 4.
2.8. Робототехнический комплекс оборудован телевизионной камерой (см.
пример из разд. 2.2.11). В поле зрения камеры находятся точка начала базо¬
вой системы координат, в которой закреплен манипулятор, а также объект
манипулирования — куб. Если в центре куба поместить локальную систему
координат, то его положение относительно камеры будет определяться одно¬
родной матрицей Аналогично, положение базовой системы координат отно¬
сительно камеры может быть задано однородной матрицей Т2, где
_0
1
0
1 -
~ 1
0
0
-10“
1
0
0
10
0
—1
0
20
—
, 7 2 =
0
0
—1
9
0
0
-1
10
_0
0
0
1 _
_0
0
0
1 _
95
а) К сожалению, после того как оборудование было установлено и были вы¬
браны указанные системы координат, кто-то развернул камеру на 90° вокруг
ее оси г. Каковы стали положение и ориентация камеры по отношению к ба¬
зовой системе координат робота?
Рис. 2.28. Схема систем координат для упражнения (2.7) нахождения одно¬
родной матрицы преобразования.
б) После того, как вы ответили на вопрос а), тот же человек сначала развер¬
нул объект манипулирования на 90° вокруг его оси х, а затем сдвинул его на
4 единицы вдоль повернутой оси у. Определите положение и ориентацию
объема манипулирования относительно базовой системы координат робота и
относительно повернутой системы координат камеры.
2.9. Мы рассмотрели геометрический способ решения обратной задачи ки¬
нематики манипулятора Пума. Определите в терминах требуемого числа опе¬
раций сложения и умножения и обращений к программам вычисления транс¬
цендентных функций вычислительные ресурсы, необходимые для решения этой
задачи на ЭВМ (если некоторая операция повторяется, ее нужно учитывать
только один раз).
96
2.10. Определите ортонормированные системы координат (х*, у i, г г), ( =
= 1, 2, 6, для звеньев манипулятора Пума 260, изображенного на
рис. 2.29, и заполните следующую таблицу:
Вращение туловища 330 й
вращение плеча 310а
Параметры систем
координат звеньев
манипулятора Пума
Сочленение
®i ai al dl
Рис. 2.29. Звенья, сочленения и п р и со единенные углы (обобщенные коорди¬
наты) манипулятора Пума 260. , .
2.П. Определите ортонормированные системы координат (ха, уt, zt), i =
«= l, 2, ..., 5, для звеньев манипулятора MINIMOVER, показанного на
рис. 2.30, и заполните следующую таблицу;
4 К. Фу и др.
97
Параметры систем
координат звеньев
манипулятора MINIMOVER
Сочленение
2
3
4
5
ег ai ai di
Рис. 2.30. Схема манипулятора MI¬
NIMOVER.
2.12. Станфордский манипулятор установлен в положение, показанное на
рис. 2.31. Присоединенные переменные для такого положения манипулятора
имеют значения q = (90°, •—120°, 22 см, 0°, 70°, 90°)т. Определите ортонор-
мированные системы координат (х,-, у,-, z,-), i= 1, 2, . .., 6, для этого мани¬
пулятора и заполните следующую таблицу:
Рис. 2.31. Схема станфордского ма¬
нипулятора.
2.13. Используя матрицы ‘-‘A, (i=l, 2, ..., 6) для манипулятора Пума,
представленные в разд. 2.2.10, определите ошибку положения конца 3-го звена,
обусловленную ошибками измерений первых трех присоединенных углов
(А01, Д02, Д0з). Воспользуйтесь схемой аппроксимации первого порядка.
2.14. Решите задачу 2.13 для станфордского манипулятора, показанного
на рис. 2.12.
2.15. На рис. 2.32 показан манипулятор с двумя степенями свободы.
Зная, что длина каждого из звеньев составляет 1 м, определите системы ко¬
Уо
Параметры систем
координат звеньев
станфордского манипулятора
Сочленение
2
3
4
5
6
ординат звеньев и найдите °At и *А2. Для этого манипулятора решите обрат¬
ную задачу кинематики.
Рис. 2.32. Схема манипулятора с двумя степенями свободы.
2.16. Предположим, что для манипулятора Пума, показанного на рис. 2.11,
при решении обратной задачи кинематики найдены первые три присоединен¬
ные переменные (0t, 02, 0з) и, кроме того, заданы ‘-‘А* (г = 1, 2, ..., 6) и
“Те. Используя метод обратных преобразований, найдите последние три при¬
соединенные переменные (04, 05, 0в). Сравните полученное решение с тем,
которое дается равенствами (2.3-71), (2.3-73) и (2.3-75).
2.17. Для станфордского манипулятора, изображенного на рис. 2.12, най¬
дите первые три присоединенных угла. Воспользуйтесь любым удобным для
вас способом.
2.18. Решите задачу 2.16 для станфордского манипулятора, изображен¬
ного на рис. 2.12.
Глава 3.
ДИНАМИКА МАНИПУЛЯТОРА
Никакие усилия не могут предот¬
вратить неизбежное.
Оливер Венд ел Холмс
3.1. ВВЕДЕНИЕ
Предметом динамики манипулятора как раздела робототехники
является математическое описание действующих на манипулятор
сил и моментов в форме уравнений динамики движения. Такие
уравнения необходимы для моделирования движения манипуля¬
тора с помощью ЭВМ, при выборе законов управления и при
оценке качества кинематической схемы и конструкции манипу¬
лятора. В этой главе внимание сосредоточено на выводе и иссле¬
довании свойств уравнений движения, пригодных для использо¬
вания в задачах управления манипулятором. Управление мани¬
пулятором осуществляется с целью обеспечения некоторого зара¬
нее заданного поведения системы. В общем случае характер
функционирования манипулятора зависит от эффективности ал¬
горитмов управления и используемой динамической модели ма¬
нипулятора. Задача управления включает задачу формирования
динамической модели реального манипулятора и задачу выбора
законов или стратегий управления, обеспечивающих выполнение
поставленных целей. Эта глава посвящена построению модели
и исследованию динамики поведения управляемого манипуля¬
тора.
Динамическая модель манипулятора может быть построена
на основе использования известных законов ньютоновой или лаг-
ранжевой механики. Результатом применения этих законов яв¬
ляются уравнения, связывающие действующие в сочленениях
силы и моменты с кинематическими характеристиками и пара¬
метрами движения звеньев. Таким образом, уравнения дина¬
мики движения реального манипулятора могут быть получены
традиционными методами Лагранжа — Эйлера или Ньютона —
Эйлера. С помощью этих двух методов получен ряд различных
форм уравнений движения, эквивалентных в том смысле, что они
описывают динамику движения одной и той же физической си¬
стемы. К ним отноятся уравнения, полученные Уикером [223, 16]
с помощью метода Лагранжа — Эйлера; рекуррентные уравне¬
ния, полученные Холлербахом [122] с помощью того же метода;
.100
уравнения, полученные Лу [185] методом Ньютона — Эйлера;
уравнения, полученные Ли [166] с применением обобщенных
уравнений Д’Аламбера. Все эти уравнения различны по форме,
поскольку были получены для разных целей. Некоторые из них
обеспечивают минимальное время вычисления управляющих мо¬
ментов в сочленениях манипулятора, другие используются при
синтезе и анализе законов управления, третьи применяются для
моделирования движения манипулятора с помощью ЭВМ.
Вывод уравнений динамики движения манипулятора методом
Лагранжа — Эйлера отличается простотой и единством подхода.
В рамках предположения о том, что звенья представляют собой
твердые тела, этот подход приводит к системе нелинейных диф¬
ференциальных уравнений второго порядка. Бьецци [16], поль¬
зуясь для описания кинематической цепи матрицами преобразо¬
вания однородных координат и уравнениями Лагранжа — Эйле¬
ра, показал, что уравнения динамики движения станфордского
шестизвенного манипулятора существенно нелинейны и отра¬
жают эффекты, связанные с действием сил инерции, обусловлен¬
ных ускоренным движением звеньев, действием кориолисовых
и центробежных сил, а также действием силы тяжести. Более
того, действующие в сочленениях силы и моменты зависят от
параметров манипулятора, мгновенных значений присоединен¬
ных переменных, скоростей и ускорений, а также перемещаемого
манипулятором груза. Уравнения Лагранжа — Эйлера обеспе¬
чивают строгое описание динамики состояния манипулятора и
могут быть использованы для разработки усовершенствованных
законов управления в пространстве присоединенных перемен¬
ных. В меньшей степени они используются для решения прямой
и обратной задач динамики. Прямая задача состоит в том, чтобы
по заданным силам и моментам определить обобщенные уско¬
рения, интегрирование которых позволяет получить значения
обобщенных координат и скоростей. Обратная задача динамики
заключается в том, чтобы по заданным обобщенным координа¬
там, скоростям и ускорениям определить действующие в сочле¬
нениях манипулятора силы и моменты. Для решения обеих на¬
званных задач, как правило, необходимо вычислять динамиче¬
ские коэффициенты hikm и с,-, определяемые равенствами
(3.2-31), (3.2-33) и (3.2-34) соответственно. Вычисление этих
коэффициентов требует выполнения очень большого числа ариф¬
метических операций. В связи с этим уравнения Лагранжа —
Эйлера без дополнительных упрощений практически неприме¬
нимы для обеспечения управления манипулятором в реальном
времени.
С целью получения более эффективных с вычислительной
точки зрения алгоритмов расчета обобщенных сил и моментов
некоторые исследователи [6, 185, 233] использовали уравнения
Ньютона — Эйлера. Вывод уравнений движения манипулятора
101
методом Ньютона — Эйлера прост по содержанию, но весьма
трудоемок. Результатом является система прямых и обратных
рекуррентных уравнений, последовательно применяемых к
звеньям манипулятора. С помощью прямых уравнений последо¬
вательно от основания к схвату вычисляются кинематические ха¬
рактеристики движения звеньев, такие, как линейные и угловые
скорости и ускорения, линейные ускорения центров масс звеньев.
Обратные уравнения позволяют последовательно от схвата
к основанию вычислить силы и моменты, действующие на каждое
из звеньев. Наиболее важный результат такого подхода состоит
в том, что время, необходимое для вычисления обобщенных сил
и моментов, прямо пропорционально числу сочленений, но не
зависит от реализующейся в процессе движения конфигурации
манипулятора. Это позволяет реализовать простые законы управ¬
ления манипулятором в реальном времени.
Низкая вычислительная эффективность уравнений Лагран¬
жа—Эйлера обусловлена в основном тем, что для описания ки¬
нематической цепи используются матрицы преобразования одно¬
родных координат. Уравнения Ньютона — Эйлера обладают
большей вычислительной эффективностью, что связано с вектор¬
ным представлением и их рекуррентной природой. Холлербахом
[122] была сделана попытка повысить вычислительную эффек¬
тивность уравнений Лагранжа — Эйлера за счет их рекуррент¬
ной природы. Однако полученные им рекуррентные уравнения
потеряли «аналитичность», столь полезную при синтезе управле¬
ния в пространстве состояний. Для синтеза законов управления
желательно иметь в распоряжении замкнутую систему диффе¬
ренциальных уравнений, точно описывающую динамику движе¬
ния манипулятора. Кроме того, желательно, чтобы в этих урав¬
нениях можно было легко выделить составляющие, отражающие
действие сил инерции различной природы, с тем чтобы выбором
закона управления обеспечить их максимальную компенсацию
[130]. Еще один подход к формированию эффективной в вычис¬
лительном плане системы точных уравнений движения основан
на применении принципа Д’Аламбера. Этот подход позволяет
получить уравнения движения в векторно-матричной форме,
удобной для анализа. Помимо того, что эти уравнения обеспе¬
чивают снижение по сравнению с уравнениями Лагранжа —
Эйлера вычислительных затрат на расчет динамических коэф¬
фициентов, они позволяют различать динамические эффекты,
обусловленные вращательным и поступательным движением
звеньев, что весьма полезно при синтезе управления в простран¬
стве состояний. Вычислительная эффективность этих уравнений
обусловлена использованием для описания кинематики звеньев
матриц поворотов и векторов относительного положения.
В этой главе уравнения движения манипулятора получены
методом Лагранжа — Эйлера, методом Ньютона — Эйлера, а
102
также с помощью принципа Д’Аламбера. Все три подхода про¬
иллюстрированы на примере простого двухзвенного манипуля¬
тора. Так как динамические коэффициенты уравнений движения
необходимо определять и в задачах выбора закона управления,
и при моделировании движения манипулятора с помощью ЭВМ,
для каждой системы уравнений движения найдено число необ¬
ходимых для их реализации математических операций сложения
и умножения. Затраты на вычисление обобщенных сил и момен¬
тов с применением обобщенных уравнений Д’Аламбера имеют
порядок 0(п3), с применением уравнений Лагранжа — Эйлера —
О (п4) (при оптимизации — 0(п3), с применением уравнений
Ньютона — Эйлера — О(п), где п — число степеней свободы ма¬
нипулятора.
3.2. МЕТОД ЛАГРАНЖА — ЭЙЛЕРА
Полное описание движения манипулятора можно получить,
применяя метод Лагранжа — Эйлера для неконсервативных си¬
стем. Описав кинематику манипулятора с помощью матричного
представления Денавита — Хартенберга, можно, пользуясь лаг-
ранжевым формализмом, получить уравнения динамики. Такое
совместное использование Д-Х-представления и метода Лаг¬
ранжа приводит к компактной векторно-матричной форме урав¬
нений движения, удобной для аналитического исследования и
допускающей реализацию на ЭВМ.
Вывод уравнений динамики движения манипулятора основан
на следующем:
1. На описании взаимного пространственного расположения
систем координат t-ro и (t— 1)-го звеньев с помощью мат¬
рицы преобразования однородных координат ,_1АЭта
матрица преобразует координаты произвольной точки от¬
носительно j-й системы координат в координаты этой же
точки относительно (t—1)-й системы координат.
2. На использовании уравнения Лагранжа — Эйлера
жШ~Щ = х‘ г=|’2 (32'п
в котором L — функция Лагранжа (L = К — Р), К — полная ки¬
нетическая энергия манипулятора, Р — полная потенциальная
энергия манипулятора, щ — обобщенные координаты манипуля¬
тора, cji — первая производная по времени обобщенных коорди¬
нат, т,- — обобщенные силы (или моменты), создаваемые в г'-м
сочленении для реализации заданного движения t-ro звена.
Для того чтобы воспользоваться уравнением Лагранжа —
Эйлера, необходимо выбрать систему обобщенных координат.
103
Обобщенные координаты представляют собой набор координат,
обеспечивающий полное описание положения рассматриваемой
физической системы в абсолютной системе координат. Суще¬
ствуют различные системы обобщенных координат, пригодные
для описания простого манипулятора с вращательными и посту¬
пательными сочленениями. Однако поскольку углы поворотов
в сочленениях непосредственно доступны измерению с помощью
потенциометров или других датчиков, то они составляют наибо¬
лее естественную систему обобщенных координат. В этом слу¬
чае обобщенные координаты совпадают с присоединенными пе¬
ременными манипулятора. В частности, если t-e сочленение —
вращательное, то щ == 0;, если же t-e сочленение — поступатель¬
ное, то щ = di.
В излагаемом ниже выводе уравнений движения манипуля¬
тора с п степенями свободы используются матрицы преобразо¬
вания однородных координат, рассмотренные в гл. 2.
3.2.1. Скорость произвольной точки звена манипулятора
Для того чтобы воспользоваться уравнениями Лагранжа —
Эйлера, необходимо знать кинетическую энергию рассматривае¬
мой физической системы, а следовательно, и скорости всех ее
точек. В этом разделе получены соотношения, определяющие
скорость точки, неподвижной относительно i-го звена, с учетом
движения всех сочленений манипулятора.
Рассмотрим произвольную точку, неподвижную относительно
i-ro звена и заданную в системе координат t'-ro звена однород¬
ными координатами ‘гг (рис. 3.1)
Обозначим через °гг- координаты этой же точки относительно
базовой системы координат. Как и выше, (~'А; обозначает мат¬
рицу преобразования однородных координат, определяющую
пространственное положение системы координат t'-ro звена отно¬
сительно системы координат (t — 1)-го звена, а 0 А; — матрицу,
определяющую связь между системой координат t'-ro звена и
базовой системой координат. Тогда связь между °п и ‘г, опре¬
деляется соотношением
' х,-
4i
!>; = _ ={xt, Ui, Zh l)r,
zi
-1 -
(3.2-2)
где
(3.2-3)
(3.2-4)
104
Если i-e сочленение — вращательное, то, как следует из равен¬
ства (2.2-29), матрица ‘-1А; имеет вид
-cos9; — cosa/sin 0г sin а,-sin 9,- агсоз9г-
sin9; соза;соз9г — 5та;соз9г а; sin 9;
9 sin а,- соsat dt
- О 0 0 1
г-1А,
(3.2-5)
Если i-e сочленение — поступательное, то в соответствии с ра¬
венством (2.2-31) матрица '_1А,- имеет следующий вид:
г cos 9( — cos а,- sin 9г sin аг sin 9г 9 п
sin9; cos at cos 9г —sin аг cos 9г 9
9 sin аг cosa; dt
L 9 0 0 1 J
(3.2-6)
В общем случае все ненулевые элементы матрицы °А< яв-
Рис. 3.1. Точка 'Г( i-то звена.
ляются функциями величин 9/, d,-, а,- и а,- (/= 1, 2, ..., г), при¬
чем в зависимости от типа /-го сочленения 9/ или dj представ¬
ляет собой присоединенную переменную этого сочленения, а ос¬
105
тальные величины являются известными параметрами, опреде¬
ляемыми кинематической структурой манипулятора. Для вы¬
вода уравнений движения, описывающих как вращательные, так
и поступательные сочленения, мы будем использовать обобщен¬
ные координаты qt. Переменная qt совпадает с 0/, если i-e со¬
членение— вращательное, и с Д, если i- сочленение — поступа¬
тельное.
В рамках предположения о том, что звенья манипулятора
представляют собой твердые тела, точка !г, так же, как и любая
другая точка г'-го звена, имеет нулевую скорость относительно
г-й системы координат, не являющейся в общем случае инер-
циальной. Скорость точки ‘г, относительно базовой системы ко¬
ординат может быть представлена следующим образом:
О d. (0 \ d fOAi \
= “лиг . . . ‘~'АгГг + °A!A2 . . . 1~Хк\п + ...
... +°a, ... '-‘Aln-f °а!п =
(3.2-7)
При выводе этого уравнения использовалось условие ‘г; = 0.
Частные производные матрицы °Аг по переменным qt легко вы¬
числить с помощью матрицы Q,, которая для вращательного со¬
членения имеет вид
Q.
- 0
— 1
0
о-
1
0
0
0
0
0
0
0
-0
0
0
0 -
(3.2-8а)
а для поступательного сочленения
Qt
- 0
0
0
о-
0
0
0
0
0
0
0
1
-0
0
0
0 -
(3.2-86)
Используя эту матрицу, можно написать
Например, для манипулятора с вращательными сочленениями
qt = Qi. Используя равенство (3.2-5), имеем
<эг-Чг
дв,
sin I
cos I
О
О
г О
1
О
L О
-1 О
О О
О О
О О
— cos аг cos 0г
— cos аг sin 0,-
О
О
О-
sm а£ cos t
sin аг sin I
О
О
аг cos 0,
di '
О
О
О
О J
X
X
Г cos (
sin (
О
L О
—cos а£ sm i
cos аг cos I
sin а,-
О
sm аг- sm 0(- a{ cos 0;
— sin at cos 0£ at sin 0£
Таким образом, для г = 1, 2, ...
/-2A/_1Q/_1A/
cos щ
О
, п
<Э°А
dq
“Л
1 I О,
о А 1 А
AlA2
А,-,
d{
1
если
если
Q Г'Аг.
/ < г;
/ > i-
(3.2-10)
По смыслу равенство (3.2-10) описывает изменение положения
точек г'-ro звена, вызванное движением в /-м сочленении мани¬
пулятора. Для упрощения формул введем обозначение
U(7 A, d°Ai/dqh с учетом которого равенство (3.2-10) можно
представить в следующем виде для £ = 1, 2, ..., п:
= {%
I 0,
если
если
/ >
(3.2-11)
Используя введенное обозначение, формулу для v< можно пред¬
ставить в форме
Ur
Ё U^,] ‘г{.
(3.2-12)
Следует отметить, что частная производная матрицы ‘-'А; по
переменной qt уже не является матрицей преобразования одно¬
родных координат. Если рассматривается вращательное сочле¬
нение, то умножение матрицы ‘-■А,- слева на матрицу Q,- экви*
валентно перестановке первых двух строк матрицы '-'А,- с по*
следующим изменением знака всех элементов первой строки на
противоположный и обнулением всех элементов третьей и чет¬
вертой строк. Для поступательного сочленения эффект такого
107
умножения состоит в перестановке третьей и четвертой строк
матрицы '-'А, и последующем обнулении элементов всех строй,
кроме третьей. Смысл использования матрицы Q, состоит в том,
чтобы сохранить в формулах матрицы ‘-’А,- и все операции про¬
изводить только с ними.
Определим величину, характеризующую эффект взаимодей¬
ствия сочленений, следующим образом:
( 0A/_iQ/_1A*_iQft—1A(, если У>6>/;
°Afe_iQ|—1 А/_iQ/— 1 Аг-, если У^у'^6; (3.2-13)
^ 0, если У < у или У < k.
Например, для манипулятора е вращательными сочленениями
при У = у = & = 1 и qi = 0] имеем
AO-atfA,.
3.2.2. Кинетическая энергия манипулятоа
Зная скорость произвольной точки каждого звена манипуля¬
тора, найдем кинетическую энергию У-го звена. Обозначим через
Ki кинетическую энергию У-го звена (У = 1, 2, ..., п). Пусть
dKi обозначает кинетическую энергию элемента массы dm У-го
звена. Тогда
dKi = l/2(x2i + у2 + Z2i)dm=*'l2 след (U,U T()dm =
= 1/2Tr(U1Uf)dm. (3.2-14)
Здесь вместо скалярного произведения используется оператор
7Y (след матрицы)1), что в дальнейшем позволит перейти к мат¬
рице инерции J, У-го звена. Подставляя в выражение (3.2-14)
значение V,- из равенства (3.2-12), получаем следующее выра¬
жение для кинетической энергии элемента массой dm:
Матрица U,;- характеризует изменение положения точки t-ro
звена относительно базовой системы координат, обусловленное
изменением координаты q/. Данная матрица одинакова для всех
точек t-ro звена и не зависит от распределения массы в этом
звене. Не зависят от распределения массы также и величины
ф. Таким образом,
Kt = 5 dKt = 1/2 ГX X uip ( 5 <r‘r[ dm ) ЩГ%ЯГ 1. (3.2-16)
*-р=1 г— 1 J
Интегральный член в скобках представляет собой матрицу инер¬
ции J, t-ro звена
1 х? dm
J xiyi dm
^ xizi dm
^ x( dm
х.у{ dm
^ y)dm
J ytzt dm
J У{ dm
xizi dm
\ yizi dm
^ z\ dm
^ zt dm
1 xt dm
^ di dm
^ z(. dm
^ dm
h=J <rtrf
(3.2-17)
Если воспользоваться тензором инерции 1ц, по определению
равным
I
где индексы t, /, k принимают значение Xi, yt или яи обозначая
оси t’-й системы координат, а б,-/ — так называемый символ Кро-
некера, то матрицу J, можно представить в следующей форме:
h =
_ / _L / _L /
1 XX ~ 1 t/y ~ л zz
lxy
ГП;Х,
I xy
^XX Iyy ~E Д
1 yz
ЩУ1
'yz
Ixx ~E ^yy Д
2
mizl
m&i
m-iSi
mtzt
mt
(3.2-18)
Здесь ‘г,- = (xit yit Zi, 1)T — однородные координаты центра масс
t-ro звена в t-й системе координат. Формулу (3.2-18) можно
109
также записать в виде
(3.2-19
Здесь Кiik. = Ijk/mi и },k = 1, 2, 3, а ‘V,-= (xit yit zt, 1)г —ра¬
диус-вектор центра масс г-го звена в системе координат г-го
звена. Таким образом, полная кинетическая энергия манипуля¬
тора равна
Отметим, что величины J< (г = 1, 2, ..., гг) зависят только от
распределения массы г'-ro звена в г-й системе координат и не за¬
висят ни от положения, ни от скорости звеньев. Это позволяет,
однажды вычислив матрицы J*, использовать полученные значе¬
ния в дальнейшем для вычисления кинетической энергии мани¬
пулятора.
3.2.3. Потенциальная энергия манипулятора
Обозначим полную потенциальную энергию манипулятора
через Р, а потенциальную энергию г-го звена — через Pi. Тогда
Суммируя потенциальные энергии всех звеньев, получаем
Здесь g- — (йГя:, gy, gz, 0) — вектор-строка, описывающая грави¬
тационное ускорение в базовой системе координат. В земной си¬
стеме координат g = (0, 0, —|g|, 0), a g — ускорение свобод¬
ного падения на поверхности Земли (g = 9,8062 м/с2).
(3.2-20)
Pl = — mlguri = — mig(° А‘гг), i= 1,2 гг. (3.2-21)
П
П
р= £ pt = £-/п4г(°А'г,).
(3.2-22)
110
3.2.4. Уравнения движения манипулятора
Используя равенства (3.2-20) и (3.2-22), запишем выражение
для функции Лагранжа
L = '/>£ £ £ [Тг (U.. J.Uf*) q,qk] + £ mtg (°A'r.). (3.2-23)
i = 1 / = 1 k — 1 ' i = 1
Подставив это выражение в уравнение Лагранжа, получим вы¬
ражение для обобщенной силы тг, которую должен развить си¬
ловой привод У-ro сочленения, чтобы реализовать заданное дви¬
жение У-го звена манипулятора
L ‘ ‘ / — г <!=1
+ ZZ Z^-Z<-1.2 «•
/=г k=\ m=i i = i (3.2-24)
Выражение (3.2-24) можно представить в следующей более про¬
стой форме:
п п п
Xг == 2 ^ikdk ~f~ S 2 ^г£п»9&9т Сi> ^ О 2, ■ • •, П, (3.2-25)
k= 1 k — 1 m= 1
или в матричном виде
т (У) = D (q (У)) • q (У) + h (q (У), q (У)) + с (q (У)), (3.2-26)
где т(У) — вектор (размерностью «Х 1) обобщенных сил, со¬
здаваемых силовыми приводами в сочленениях манипулятора:
т(У) = (т,(У), т2(У), ..., т„(У))Г; (3.2-27)
q(y) — вектор (размерностью «XI) присоединенных перемен¬
ных манипулятора
q(0 = (9i(0,92(0 9п(0)г; (3.2-28)
q (У) —вектор (размерностью «X 1) обобщенных скоростей
q(0 = (9i(0, <72(0, •••. Яп{0)г; (3.2-29)
q(y) — вектор (размерностью «ХО обобщенных ускорений
q (У) = (9,(0, 9г(0 9Л0)Г; (3-2-30)
D(q) — симметрическая матрица размерностью п\п, элементы
которой даются выражением
Dtk=_ £ У,й=1,2, ..., щ (3.2-31)
j = max(t, k) '
111
h(q, q) — вектор (размерностью «XI) кориолисовых и центро¬
бежных сил
h(q, q) = (А„ h2, ..., hn)T,
П П
hi= Z Z hikmqkqm i= 1, 2, «, (3.2-32)
fc=l m=l
= Z Ь Tr(VikmJ,VTt) i, k, m—l, 2, ..«; (3.2-33)
c(q) — вектор (размерностью «XU гравитационных сил
c(q) = (ci, c2, • ••> crt)r,
C; = Z (—OT/gu/«r/)> *=1.2 n• (3.2-34)
i—i
3.2.5. Уравнения движения манипулятора с вращательными
сочленениями
Конкретизация равенств (3.2-26) — (3.2-34) для шестизвен¬
ного манипулятора с вращательными сочленениями приводит к
следующему виду членов уравнений, определяющих динамику
движения манипулятора.
Матрица D(0). Исходя из равенства (3.2-31), имеем
~ Du
£>12
£>i3
£>14
£>15
£>16
£>12
£>22
£>23
£>24
£>25
£>26
£>i3
£>23
£>33
£>34
£>35
£>зб
£>14
£>24
£>34
£>44
£>45
£>46
£>15
£>25
£>35
£>45
£>55
£>56
_ £>i6
£>26
£>36
£>46
£>56
£>66 _
где
= 7’r(U11J,U[1) + rr(U2IJ2U') + Tr (U31J3U^) + Tr (U^UJi)*
+ ^(U51J5U[1) + 7’r(U61J6U[1),
D12 = D2X = Tr (U22J2U|,) + Tr (l^l^) + Tr (U42JTU[,) +
+ Гг + Гг (и62л6и^),
£>ia = Яз. = Tr (VnWh) + Tr (U43J4U[t) + Tr (U^U') +
+ 7>(U63W1).
Di4 = £>4i = £r(U44J4U4rI) + Tr (uB4JBur,) + Tr (U^UJ),
£>m = Я51 = £r(U55J5U5r,) + Tr (U65JeU£),
112
0«=Dsl = 7'r(UoiJsU,'-|).
D* - Tr (U^Uf.) + Tr (UyX,) + Tr (uy.u.y + Гг (Uy.uy+
+ ^ (UaJ.ua.
D„ = D„ = Гг (U» J.uy + Tr (адиа + Tr (Ua.uy +
+ Tr (UMJ,uy,
D„ - £>., = Tr (Ua.ua + Tr (Us.Jsuy + TV (U6.J6uy,
0a - D,: “ Tr (u.j.uy + Гг (U„ J»ua.
0„-0B-7V(ua.ua.
0M=Гг (UBJSUJ) + Tr (uy.ua + Tr (ЦАиу + Tr (U„J6UJ),
к -= =гг (u..j.ua+Tr (ua.ua+?> (ua,uy.
o„ - o„ - Tr (ua.ua+гг (ua.ua.
D36 = £>63= £г (iWW
£>44 = Tr (u44J4ur4) + (u54J5u[4) + Tr (U64J6u6g,
£>45=£>54 = Tr (u55j5u£4) + Tr (u65JX4).
£>46=£>64 = Гг (U66J6U64)>
£»« — ^ (u«JBU£i) + ^
£>5« = £>б-. = £г(ибб>пиб5)>
£>66 = ^(ади6г6)-
Вектор h(0, 0). Коэффициенты при обобщенных скоростях
в выражениях (3.2-32), (3.2-33) для центробежных и кориоли-
совых сил можно сгруппировать в матрицы Н(, v следующего
вида:
h-m
Ьц2
^03
^/14
hti 5
hi 16
h-и 2
hi22
hi23
^<24
^('25
h-m
hil3
h-m
hi33
hi34
^i35
hi3b
hiu
h-124
hi34
hi44
^,45
h-im
hi\5
hi25
hi3b
hi45
^(55
h-ix
_ ^П6
^126
^(36
hi46
^i'56
h-iQQ _
Пусть скорости изменения всех шести присоединенных перемен¬
ных манипулятора характеризуются вектором 0:
6(0 = [МО. МО, .... ё6(0]. (3.2-37)
из
С учетом (3.2-36) и (3.2-37) равенство (2.2-32) можно предста¬
вить в виде следующего произведения матриц и векторов:
/гг = 0гНг1Д (3.2-38)
Здесь индекс г указывает номер сочленения (г=1, 2, ... 6), в
котором измеряются моменты и силы центробежного и кориоли-
сового типа. Рассматривая (3.2-38) как выражение для компо¬
ненты шестимерного вектора h (в, 0), можем написать
Ь(в, 0) =
/г.
0rH,,v0'
h-2
0rH2j v0
h
(FH3>v0
h4
0rH4; v0
0rH5,v0
1
05
JrH6 v0 _
(3.2-39)
Вектор гравитационных сил с(0). Из равенства (3.2-34)
имеем
с (6) = (с,, с2, с3, с4, с5, с6)г, (3.2-40)
где
ci = - (migU‘,7, + m2gV22Ir2 + + /n4gU«,r4 + /^и*,г5 -+-
-f- /n6gU^r6),
C2 = - (т2%Ч7Г2 + + m4§U442r4 + m5gU52r5 +
C3 = - ("*зви1з'Г3 + + т5§ЧзГ5 + тб§ибЗГб)>
C4 = - (т4§ии'Г4 + 'И5&ибЛ + W68Um^)»
= — ("*5ви|5’*:5 И"
C6 — тб§^66Г6 •
Коэффициенты a, Dtk и hikm в выражениях (3.2-31) — (3.2-34)
являются функциями как присоединенных переменных, так и ди¬
намических параметров манипулятора. Их часто называют ди¬
намическими коэффициентами манипулятора. Физический смысл
динамических коэффициентов легко понять из уравнений
(3.2-26) — (3.2-34), описывающих динамику движения манипу¬
лятора.
1. Коэффициенты с,-, определяемые равенством (3.2-34), учи¬
тывают силу тяжести, действующую на каждое из звеньев мани¬
пулятора.
114
2. Коэффициенты Dik, определяемые равенством (3.2-31),
устанавливают связь действующих в сочленениях сил и момен¬
тов с ускорениями присоединенных переменных. В частности,
при i — k коэффициент Du связывает момент т;, действующий
в г-м сочленении, с ускорением / й присоединенной перемен¬
ной. Если i¥=k, то Dik определяет момент (или силу), воз¬
никающий в г-м сочленении под действием ускорения в k-ы со¬
членении.
Поскольку матрица инерции симметрична и Тг(А) ~Тг(Ат),
можно показать, что Dik = Dki.
3. Коэффициенты hikm, определяемые равенствами (3.2-32)
и (3.2-33), устанавливают связь действующих в сочленениях сил
и моментов со скоростями изменения присоединенных перемен¬
ных. Коэффициент hikm определяет связь момента, возникающего
в г-м сочленении в результате движения в k-м и т-м сочлене¬
ниях, со скоростями изменения k-й и m-й присоединенных пере¬
менных. В частности, при k = m коэффициент /г,** связывает
угловую скорость в k-u сочленении с порождаемой ею центро¬
бежной силой, «ощущаемой» в г-м сочленении. Если k = т, то
hikm связывает кориолисову силу, возникающую в г-м сочлене¬
нии, со скоростями изменения k-й и m-й присоединенных перемен¬
ных, в результате которого эта сила возникает. Отметим, что в
соответствии с физическим смыслом hikm = hi,„k-
При вычислении рассмотренных коэффициентов полезно
знать, что некоторые из них могут иметь нулевые значения по
одной из следующих причин:
1. Конкретная кинематическая схема манипулятора может
исключать динамическое взаимовлияние движений в некоторых
парах сочленений (коэффициенты £),-/, hikm)-
2. Некоторые из коэффициентов hikm присутствуют в форму¬
лах (2.2-32) и (3.2-33) чисто фиктивно, будучи нулевыми в со¬
ответствии с физическим смыслом. Так, например, коэффициент
hiu всегда равен 0, поскольку центробежная сила, порождаемая
движением в г-м сочленении, на само г'-е сочленение влияния не
•оказывает, хотя и влияет на другие сочленения, т. е. h/ц Ф О
при / Ф г.
3. Некоторые из динамических коэффициентов могут прини¬
мать нулевые значения в отдельные моменты времени при реа¬
лизации определенных конфигураций манипулятора.
Уравнения движения манипулятора (3.2-26) — (3.2-34) пред¬
ставляют собой систему нелинейных обыкновенных дифференци¬
альных уравнений второго порядка. Эти уравнения учитывают
все действующие на звенья манипулятора силы и моменты:
инерциальные, центробежные, кориолисовы и гравитационные.
При заданных в виде функций времени моментах (силах) п (i =
= 1, 2, ..., п) одновременным интегрированием всех входящих
в (3.2-26) уравнений можно получить описание реального дви¬
115
жения манипулятора в форме зависимостей от времени присо¬
единенных переменных q((). Далее, используя соответствующие
матрицы преобразования однородных координат, по известной
вектор-функции q(() можно определить зависимость от времени
положения схвата манипулятора (траекторию схвата). Или если
с помощью программы выбора траектории получены в форме
заданных функций времени законы изменения присоединенных
переменных, их скоростей и ускорений, то с помощью равенств
(3.2-26) — (3.2-34) можно определить зависимость от времени
т(/) моментов, которые должны быть созданы в сочленениях
для реализации выбранной траектории движения манипуля¬
тора. В этом случае мы будем иметь дело с задачей програм¬
много управления. Однако для автономных робототехнических
систем более предпочтительным является управление с обрат¬
ной связью. Этот вопрос рассмотрен в гл. 5.
Вследствие матричной структуры уравнения Лагранжа —
Эйлера в задачах управления с обратной связью, где они ис¬
пользуются для описания состояния управляемой системы, при¬
меняются в форме (3.2-26). Такая форма допускает выбор зако¬
на управления, устраняющего все нелинейные эффекты. Доста¬
точно часто при разработке замкнутой системы управления ма¬
нипулятора динамические коэффициенты выбираются таким об-
Таблица 3.1. Вычислительные затраты на реализацию уравнений
движения в форме Лагранжа — Эйлера о
Составляющие уравнений
движения
Число операций
умножения
Число операций
сложения
*А,
32п (п — 1)
24П (п — \ )
- m.gUj/r!
51 /г “ 45
4я (9я — 7)
я... 2 ■ ,
Z mflUnhrt
I~i
Тr kk (Uki) ]
0
1/2я (я — 1)
(128/3)я(я+1)(я + 2)
(65/2) я (я + 1) (я + 2)
£ Tr[UkjJk(Uki)r]
k = max(C /)
0
(1/6) я (я - 1) (я + 1)
Tr{UmikJm(Umi) ]
(128/3) я2(я + 1)(я+2)
(65/2) я2 (я + 1)(я + 2)
E T r\U mjkl m(U mi)^]
m=max(i, /, k)
0
(1/6) я2 (я — 1) (я + 1)
r = D (g) q + h (<7, q) + c (q)
(128/3) я4+(512/3) я3 +
(98/3) я4 + (781/6) я3+
+ (844/3) п2 + (76/3) я
+ (637/3) я2+ (107/6) я
О п—число степеней свободы манипулятора.
116
разом, чтобы минимизировать нелинейные эффекты, связанные
G кориолисовыми и центробежными силами [188].
Представляют интерес оценки вычислительных затрат на
определение коэффициентов по формулам (3.2-31) — (3.2-34).
В табл. 3.1 приведены данные о вычислительной сложности
уравнений движения в форме Лагранжа — Эйлера. В ней при¬
ведено число математических операций (умножений и сложе¬
ний), необходимое на каждом шаге интегрирования уравнений
(3.2-26). С вычислительной точки зрения эти уравнения чрезвы¬
чайно неэффективны по сравнению с другими способами описа¬
ния динамики манипулятора, один из которых рассмотрен в сле¬
дующем разделе.
3.2.6. Пример: двухзвенный манипулятор
Применение уравнений Лагранжа — Эйлера в форме
(3.2-26) — (3.2-34) для описания динамики движения манипуля¬
тора проиллюстрируем в этом разделе на примере двухзвенного
манипулятора с вращательными сочленениями (рис. 3.2). Все
Рис. 3.2. Двухзвенный манипулятор.
оси сочленений рассматриваемого манипулятора параллельны
оси 2, перпендикулярной плоскости рисунка. Физические харак¬
теристики, такие, как положение центра масс, масса каждого
звена и выбранные системы координат, указаны ниже. Требуется
получить уравнения движения рассматриваемого двухзвенного
манипулятора, основываясь на равенствах (3.2-26) — (3.2-34).
117
Относительно рассматриваемого манипулятора будем пред¬
полагать следующее:
• присоединенными переменными являются углы 0Ь 02;
• первое и второе звенья имеют соответственно массы т,
и т2;
• параметры звеньев имеют значения со = а2 == 0, d\ = d2 —
= 0, ах~ а,2 —I- В соответствии с рис. 3.2 и полученными в пре¬
дыдущих разделах соотношениями для матрицы ‘-'A; (i = 1, 2)
имеем
Г Ci
S,
о
о
С,
о
о
о
0
1
о
и * 0 * 1 *
А2 = Ai Л-2 —
/С, 1
ZS,
0
1
Г С12
S\2
о
L О
-S
12
0,2
О
о
02 s2 о
s2 с2 о
О 0 1
■ 0 0 0
О / (С12 + Сх)
0 I (Si2 + S,)
1 о
О 1
1С2
IS2
0
1
где С; = cos 0г; S; = sin 0г; Сг/ = cos (0г + 0,-); S;,- = sin (0г + 0;-).
В соответствии с определением матрицы Qi для вращательного
сочленения имеем
%
0 —1 О О
1 ООО
О ООО
О ООО
Используя выражение (3.2-11), получаем
U,
д°А
30
i=Q?A,=
0—10 0'
1 ООО
О ООО
_0 ООО.
— S, —С, 0 —ISi
Cl —Si О +/С,
О ООО
О ООО
С, -
S,
о
о
Si о /с,
Cl 0 ISi
О 1 о
0 0 1
118
Аналогично для U2i и U22 получаем
U,,=
<5°А2
(301
= qia2 =
с,2 о
С12 ^12
о о
о о
-10 0
ООО
ООО
о о 0__
' !■ {$12 4" S{)
!■ {С 12 4" Cl)
о
о
С12
SI2
о
о
■S12 о / (С12 + С,) ■
С12 0 / (SI2 Si)
о
о
1
о
о
и
22
■ = °AiQ'A2
<з°а2
(Э02
Ci — S, О ICi'
Si Cl О ISi
О 0 10
О 0 0 1.
SJ2 С12 О
С12 S[2 О
О
о
0 —1 О О'
1 ООО
О ООО
.0 ООО.
■ lSi2
1C 12
О
о
■С2
s2
о
о
-S
_ О 1С2
С2 О IS,
О 1 о
ООО
Из равенства (3.2-18) в предположении о равенстве нулю всех
центробежных моментов инерции получаем формулу для матри¬
цы псевдоинерции Зг-
" 1/3/тг^2
0
0
— 1/2 rn.il
" 1/3 m2l2
0
0
— 1 /2 т21
0
0
0
0
I
0
0
0
0
0
0
0
0
■ J2
0
0
0
0
_ —1/2т^
0
0
т.
_ — 1 /2 т21
0
0
Щ _
Используя формулу (3.2-31), получаем
Du = Т2 (U„ JiUn) + Т2 (U21J2U21) =
= ТА
/
“-S,
-С,
0
—/S,“
~ l/3mj/2 0 0
— 1 /2т,/-
\
Cl
-Si
0
ICi
0
0 0
0
Т
<
0
0
0
0
0
0 0
0
и[,
V
0
0
0
0 _
_ —1/2 /п,/
0 0
щ
,
-Ь
119
+ Т 2
/
5)2
С)2 0
— / (5)2 + 5,)
/-Ч2
S]2 0
/ (^12 + ^i)
0
0 0
0
\
0
0 0
0
' 1/3 m2l2
0
0 -
— 1/2 m2l
\
0
0
0
0
X
0
0
0
0
U2ri
_ —1/2 m2l
0
0
щ
/
X
= 1/3 Шур + 4/3 ШзР + m2C2l2;
Dl2 — D2I = Tr (U22J2U21) =
=Тг<
/
Si2 — 512 0 lSi2
" 1/3пг212 0 0 —1/2пг2Г
>
С12 Si2 ® ^12
ООО 0
т
<
0 ООО
ООО 0
и2,
*
0 0 0 0
_—1/2/п2/ 0 0 Щ
/
= m2l2 (—1/6 + 1/2 + 1/2С2) = l/3m2/2 + 1/2т/2С2;
D22 = Тг (U22J2U22) —
— Trs
/
— 512 —5,о 0 — //>12 ~
■ 1/3m2l2 0 0 -1/2m2r
>
Ci2 — 5,2 о /С,2
0 0 0 0
T
0 0 0 0
0 0 0 0
U22
>
\
0 0 0 0
_—1/2m2l 0 0 m2
/
= 1/3/п2/25?2 + 1/Зт2/2С?2 = 1/Зт2/2.
Для определения слагаемых, описывающих центробежное и ко-
риолисово ускорение, воспользуемся равенством (3.2-32). Для
i — 1 оно дает
2 2
hi = 2 hikm^k^m == /i 111Q1 “Ь h \ l20102 -f- 1210102 -f- /2122 0 2.
fc = 1m=1
С помощью (3.2-33) можно получить значения коэффициентов
hikm■ Подставляя их в предыдущее выражение, имеем
hi = —1/2 /n2S2l202 — m2S2/20102.
Аналогично для i=2
2 2
h2 = 2 2 /l2fcm0fc0m == Й2Ц01 + /l2120102 + /12210201 + /222202 =4
k = l m = 1
= 1/2т2Д/0?.
Таким образом,
/2/о2
h (0, 0) =
— 1/2/п252/ 02 ■
1/2тг52/
/п252/"0102 ”1
20i J*
120
Запишем теперь слагаемые, определяющие влияние гравитацион
ных сил с = (ci, с2)т- На основании равенства (3.2-34) имеем
С\ = — (/njguiiri + /772gU2ir2) =
= — ml (0, — g, 0, 0)
— /^(О, —g, 0, 0)
"-5,
-C,
0 -
-lSi~
--1/2-
Ci
-5,
0
ICj
0
0
0
0
0
0
0
0
0
0
1
5)2 -
C12
0
— / (S12 4~ ^i)
--Ц2-
C)2
— ^12
0
/(C,2 4- C,)
0
0
0
0
0
0
0
0
0
0
1
= \l‘lmlglCl + 1/2 m2glCl2 + m2glCl)
C2 = — /772gU22r2 =
= —/тг2(0, — g, 0, 0)
= /772 (l/2g^Ci2 glC\2f.
SI2 -
C) 2
0 -
-IS
C12 ■
— 5)2
0
ICX
0
0
0
0
0
0
0
0
■1/2
0
0
1
Таким образом, нами получен вектор, определяющий влияние
силы тяжести:
с,0,=И-[
l/2/771g'/C1 -f- \/c2tn2glCi2 4- lTl2glC\
\l2m2glCn
Окончательно имеем следующие уравнения, описывающие дина¬
мику движения рассмотренного двухзвенного манипулятора:
r(t) = D(0)0(t) + h(0, 0) + с(9),
l/3mxl2 + 4/Зт212 4- 1/31щ12 4- \12щ12С2
1/3 т212
[j t 1/3/772/2 4- l/2/772/2C2
Г -1/2/п25\/6о - /77252/20102 "I
' , +L 1/2т252/20? J +
Г \!2mxglCx 4- l/2/772g/C12 4- fthglCi
+ L lj2m2glCl2
][L]
4-
121
3.3. УРАВНЕНИЯ НЬЮТОНА — ЭЙЛЕРА
В предыдущем разделе с помощью уравнений Лагранжа —
Эйлера мы получили систему нелинейных дифференциальных
уравнений, описывающую динамику движения манипулятора.
Применение полученных уравнений для расчета сил и моментов,
которые должны быть созданы силовыми приводами в сочлене¬
ниях манипулятора для реализации заданной траектории дви¬
жения, с вычислительной точки зрения представляет большие
трудности при решении задачи управления в реальном времени.
Они обусловлены в основном неэффективностью в вычислитель¬
ном плане уравнений Лагранжа — Эйлера, использующих мат¬
рицы преобразования однородных координат размерностью
4 X 4. Для обеспечения управления в реальном времени была
разработана упрощенная модель динамики движения манипу¬
лятора, не учитывающая кориолисовы и центробежные силы.
Это позволило сократить время, необходимое для вычисления
требуемых сил и моментов на каждом шаге интегрирования
уравнений движения до допустимых пределов (менее 10 мс счета
с применением компьютера PDP11/45). Однако при быстром
движении манипулятора кориолисовы и центробежные силы
оказывают существенное влияние на динамику движения.
В связи с этим применение упрощенной модели динамики на¬
кладывает ограничения на скорость движения манипулятора,
что нежелательно в большинстве производственных процессов.
Кроме того, при быстром движении манипулятора ошибки в
реализуемых силах и моментах, обусловленные неучетом
центробежных и кориолисовых сил, не удается скомпенсиро¬
вать за счет управления с обратной связью из-за слишком
больших величин требующихся для этого корректирующих мо¬
ментов.
В качестве альтернативного более эффективного в вычисли¬
тельном плане способа описания динамики манипулятора неко¬
торые исследователи воспользовались подходом, основанным на
применении второго закона Ньютона. Ими были получены раз¬
личные формы уравнений Ньютона — Эйлера для описания дви¬
жения разомкнутой кинематической цепи [6, 223, 185, 299]. Та¬
кой подход приводит к системе прямых и обратных рекуррент¬
ных уравнений, позволяющих сократить затраты времени на вы¬
числение заданных моментов до пределов, допускающих реали¬
зацию управления в реальном времени. Вывод этих уравнений
основывается на принципе Д’Аламбера и ряде соотношений,
описывающих кинематику звеньев манипулятора в базовой си¬
стеме координат. Прежде чем обратиться к выводу уравнений
динамики движения манипулятора, мы напомним некоторые
сведения относительно подвижных систем координат.
122
3.3.1. Вращающиеся системы координат
В этом разделе получены соотношения, устанавливающие
связь между вращающейся и неподвижной инерциальной систе¬
мами координат. Затем полученные соотношения распростране¬
ны на подвижную систему координат, участвующую одновре¬
менно в поступательном и вращательном движениях относи¬
тельно инерциальной системы. Рассмотрим две системы коорди¬
нат (рис. 3.3): неподвиж¬
ную инерциальную систе¬
му координат OXYZ и
вращающуюся систему
координат OX*Y*Z*. Нача¬
ла этих систем совпадают
и расположены в точ¬
ке О, а оси OX*, OY*, OZ*
вращаются относительно
осей OX, OY, OZ. Пусть
(i, j, к) и (i*, j*, k*) —
тройки единичных векто-
I ров, направленных вдоль
основных осей систем
OXYZ и OX*Y*Z* соот¬
ветственно. Положение
точки г, неподвижной относительно системы координат OX*Y*Z*,
v можно описать следующими двумя способами:
г = xi + у] + zk, (3.-3-1)
I или
г = x*i + ;/*j* + z*k\ , (3.3-2)
Найдем скорость точки г. Поскольку рассматриваемые системы
координат вращаются относительно друг друга, скорости точки
! г(1) будут различны в этих системах. В дальнейшем будем раз¬
личать скорости произвольной точки в системах координат
OXYZ и OX*Y*Z*, используя следующие обозначения:
скорость в неподвижной системе координат OXYZ\
(3.3-3)
- —- скорость в подвижной вращающейся системе (3.3-4)
координат OX'Y*Z*.
Из выражения (3.3-1) получаем скорость точки г(/) в системе
OXYZ:
~^ = х\ + у\ +ik + x-jr + y^t +z4r==ii + у* + (3-3'5)
123
Дифференцируя равенство (3.3-2), получаем скорость точки г(t)
в системе координат OX*Y*Z*:
d* г
UI «*•* I I .*<* , *
-jf = x i +y j +zk + x
d*i*
dt
+ У
d" j*
, d*k*
di dt
= xi * + Л* + 2*к*. (3.3-6)
С учетом равенств (3.3-2) и (3.3-6) можно получить следующее
выражение для скорости точки г(^) в системе координат OXYZ:
dr . •*.* | .4.. * | * di . * dt - * dk
¥ = л +У1 +zk +x чг + у чг + 2 чг:
d* r
+ *
dk*
(3.3-7)
* di , * rfi . *
х11Г + У-1Г + г dt
Здесь мы сталкиваемся с трудностью вычисления производных
d\*/dt, d'f/dt и dk*/dt, обусловленной тем, что векторы i*, j*, k*
вращаются относительно векторов
i, j, k.
Чтобы найти соотношение меж¬
ду скоростями точки г в неподвиж¬
ной и вращающейся системах коор¬
динат, предположим, что система
OX*Y*Z* вращается вокруг некото¬
рой оси OQ, проходящей через точ¬
ку О, с угловой скоростью о (рис.
3.4). Угловая скорость вращения
системы координат OX*Y*Z* пред¬
ставляет собой по определению век¬
тор длины о, направленный вдоль
оси OQ в соответствии с правилом
правой руки. Рассмотрим вектор s,
неподвижный относительно систе¬
мы OX*Y*Z*. Покажем, что ско¬
рость точки, положение которой за¬
дается вектором s, в системе коор¬
динат OXYZ равна
ds
dt
Рис. 3.4. Скорость во вращаю
щейся системе координат.
= 0)Х S.
(3.3-8)
Поскольку производная вектора определяется равенством
ds s (t + M) — s(t)
ТТ7= lim л/
dt д<-> о
(3.3-9)
справедливость выражения (3.3-8) можно доказать, убедив¬
шись, что
<aXs = lim s(^ + ^-s-^-. (3.3-10)
At-* о
124
f
Учитывая, что равенство векторов обеспечивается совпадением
их длин и направлений, покажем, что векторы в левой и правой
частях равенства (3.3-10) одинаковы по величине и их направ¬
ления совпадают. Длина вектора g>Xs равна
| to X s | = со • s • sin 0. (3.3-11)
Если величина At достаточно мала, то из рис. 3.4 очевидно, что
| As | = (s sin 0) (со At). (3.3-12)
Тем самым доказано равенство длин векторов в левой и правой
частях равенства (3.3-10). В соответствии с определением век¬
торного произведения вектор со X s перпендикулярен вектору s
и лежит в плоскости окружности, изображенной на рис. 3.4.
Применив формулу (3.3-8) к единичным векторам i*, j*, k*,
из равенства (3.3-7) получаем
^7 = 4f + х*(“> X О + у'{® X j*) + z* (о> X к) = + со X г.
(3.3-13)
Это основное соотношение, определяющее связь между скоро-
I стями одной и той же точки во вращающейся и неподвижной
системах координат. Продифференцировав левую и правую части
равенства (3.3-13), имеем
d2г d Г d*г I . . . dr , dm . .
ДД- = ^гЬН + йХ W + ^rXr =
d*2r . . . d*r . ,.rd*r . . . "I i dm . .
~ ~dF + ш X + fflX y-jf + t°XrJ-f-^r Xr =
= дЗ- + 2шх4г + <*X(b>Xr) + ^-Xr. (3.3-14)
Равенство (3.3-14) представляет собой теорему Кориолиса. Пер¬
вое слагаемое в правой части этого равенства представляет
собой ускорение рассматриваемой точки в системе OX*Y*Z*.
Второе слагаемое описывает кориолисово ускорение. Третье
слагаемое есть центростремительное ускорение, направленное к
оси вращения и перпендикулярное ей. Четвертое слагаемое исче¬
зает при постоянной угловой скорости.
3.3.2. Подвижные системы координат
I В этом разделе мы рассмотрим подвижные системы коорди¬
нат, которые могут участвовать как во вращательном, так и в
поступательном движениях относительно некоторой неподвиж¬
ной инерциальной системы координат. На рис. 3.5 изображена
подвижная система координат 0*X*Y*Z*, которая совершает
I вращательное и поступательное движения относительно инер¬
циальной системы координат OXYZ. Положение материальной
125
точки р, обладающей массой т, относительно систем координат
OXYZ и 0*X*Y*Z* задается векторами г и г* соответственно. По¬
ложение точки О* в системе координат OXYZ определяется век¬
тором h. Соотношение между векторами гиг* дается выраже¬
нием (см. рис. 3.5)
г — г* + h. (3.3-15)
Если система координат 0*X*Y*Z* движется относительно си¬
стемы OXYZ, то
=~ + 4?- = v*-fvft, (3.3-16)
где v* и v — скорости точки р в системах координат 0*X*Y*Z* и
OXYZ соответственно, a vh — скорость подвижной системы ко-
ъ*
Рис. 3.5. Подвижная система координат.
ординат Ч 0*X*Y*Z* в инерциальной системе OXYZ. С учетом
равенства (3.3-13) выражение (3.3-16) можно представить в
виде
/ у. dr - dh d г . . , * - dH л , -г,
V^ = — + -щ- = “+шХг + ~- (3.3-17)
Аналогично ускорение точки р относительно системы координат
OXYZ можно представить в виде
,d\ (t) d2г* . d2h , . о о 1 o\
— ~df~-~~dF' + ~dF~ a + a*’ .3.3-18)
где а* и a — ускорения точки p в системах координат 0*X*Y*Z*
и OXYZ соответственно, а а/i — ускорение системы координат
о Имеется в виду скорость точки О*. — Прим. перев.
126
0*X*Y*Z* в инерциальной системе координат OXYZ. С учетом
(3.3-14) равенство (3.3-18) можно представить в виде
,,s d*2 г* . „ . , d'r" . ... . , «. | d (о . d2 h ~
' а(/) = 1Г + 2йХ1Г + 0)Х('»Хг) + 7ГХг +-JP-.
(3.3-19)
Полученные соотношения для подвижных систем координат мы
в дальнейшем применим к системам координат звеньев манипу¬
лятора, определенным нами в главе, посвященной кинематике
манипулятора. Уравнения движения выведем,'применяя к таким
подвижным системам координат принцип Д’Аламбера.
3.3.3. Кинематика звеньев
В этом разделе мы выведем уравнения, основывающиеся на
полученных выше соотношениях для подвижной системы коор¬
динат и описывающие кинематику звеньев манипулятора в ба¬
зовой системе координат.
Напомним, что ортонормированная система координат (х,_ь
у,_ь Zi-i) связана с осью i-го сочленения (рис. 3.6). Системы
координат (х,-_ь у,-ь z,_i) и (х,-, у,-, г;) связаны с (t—1)- и
г-м звеньями и имеют начала в точках О* и О' соответственно.
Положение точек О' н О* в базовой системе координат опреде¬
ляется векторами р, и р;_! соответственно. Относительное поло¬
жение точек О' и О* характеризуется в базовой системе коор¬
динат вектором Р-= рг — р(_,.
Предположим, что система координат (x,_i, y,_i, z,_i) имеет
относительно базовой системы координат (х0, уо, z0) линейную
скорость V,-! И угловую скорость (0,-1. Пусть юг и и*— угловые
скорости точки О' в системах координат (х0, у о, го) и (x,-i, yi~\,
Zi~i) соответственно. Тогда линейная скорость v, и угловая ско¬
рость и, системы координат (х,-, у/, z,) относительно базовой
системы координат с учетом равенства (3.3-17) определяются
выражениями
V( = ^r- + *(-iXp; + v<_1, ' (3-3-20)
и. = (!)._, +о>*, (3.3-21)
где d*()/dt означает скорость в движущейся системе коорди¬
нат (x;_i, у,_1, z,-i). Линейное ускорение V,- и угловое ускорение
о),- системы координат (х,, у,, z,) относительно базовой системы
координат с учетом равенства (3.3-19) определяются выраже¬
127
ниями
й| = + ®г-1 X р* + 2(0.^ х 4^ +
dt2 I i—t Vi I * — 1 Щ
+ ®<-,Х(ю<_1Хр;) + й,_ь (3.3-22)
= + (3.3-23)
Пользуясь равенством (3.3-13), находим угловое ускорение си¬
стемы координат (xt, у г, гг) относительно системы координат
(х;-ь уг-ь z,_i):
с1*<д*
®; = ^ + ®г_,Х(о;. (3.3-24)
В результате равенство (3.3-23) можно представить в следую¬
щем виде:
d* (я,
®=®,_1 + -^Г+®_1Х®;. (3.3-25)
Как уже говорилось, системы координат (x,_i, уг-ь гг-i) и
(хг, у г, Z/) в соответствии с алгоритмом формирования систем
координат звеньев манипулятора связаны с (г—1)-м и г-м
звеньями соответственно. Если г'-е сочленение — поступательное,
то г'-е звено совершает поступательное движение вдоль оси
гг-i со скоростью qt относительно (г—1 )-го звена. Если г'-е со¬
членение— вращательное, то г'-е звено вращается вокруг оси
гг-i с угловой скоростью w* относительно (г—1)-го звена.
Таким образом,
( z£_]<7г, если г-е сочленение — вращательное;
и* = \ . . (3.3-26)
‘ (. О, если г-е сочленение — поступательное.
Здесь cji—величина угловой скорости вращения г'-го звена от¬
носительно системы координат (хг_ь уг_ь z/_i). Аналогично
/ш! ( если г'-е сочленение — вращательное;
di \ 0, если г'-е сочленение — поступательное. ^
С учетом равенств (3.3-26) и (3.3-27) формулы (3.3-21) и
(3.3-25) могут быть представлены в следующем виде:
если г'-е сочленение — вращательное;
(О,
если г-е сочленение — поступательное;
f ®г-1 + zi—1<7г»
l~ X ®г-1,
(3.3-28)
<»;_г -f Zi-tfi + ®г-1 X (Zi_,<7i), если г'-е сочленение —
вращательное;
«>, =
иг_ь ; 1 если г-е сочленение —
поступательное.
(3.3-29)
128
С учетом равенства (3.3-8) линейные скорость и ускорение
t'-ro звена относительно (t—1)-го можно представить в сле¬
дующем виде:
Используя равенства (3.3-30) и (3.3-21), выражение (3.3-20)
для линейной скорости t'-ro звена относительно базовой системы
координат можно представить в виде
С учетом следующих свойств векторного произведения:
и равенств (3.3-26) — (3.3-31); выражение (3.3-22) для линей¬
ного ускорения звена i относительно базовой системы координат
преобразуется к виду
' и; X Р* + X X Р*) + v£_j, если t-e сочленение —
вращательное;
Заметим, что to, — вн_|, если t-e сочленение — поступательное.
Равенства (3.3-28), (3.3-29), (3.3-32) и (3.3-35), описывающие
кинематику движения t'-ro звена, потребуются нам при выводе
уравнений динамики манипулятора.
3.3.4. Рекуррентные уравнения динамики манипулятора
Основываясь на полученных выше кинематических соотно¬
шениях, в этом разделе мы воспользуемся принципом Д’Алам-
бера для вывода уравнений динамики движения манипулятора.
5 К. Фу и др. 129
©; X Р*, если /-е сочленение — вращательное;
если t-e сочленение — поступательное.
(3.3-30)
X Pi + °\i X (иг X Pj), если t-e сочленение —
вращательное;
если t-e сочленение —
поступательное.
(3.3-31)
если t-e сочленение —
поступательное.
если t-e сочленение —
вращательное;
(3.3-32)
(а X b) X с = Ь (а • с) — а (Ь • с),
а X (b X с) = b (а • с) — с (а • Ь)
(3.3-33)
(3.3-34)
Vt = S
гг_,<7; +®(Хр; + 2(0 { X (z,_,$() + &{ X К X Р*) + V,,;.
\
если г-е сочленение — поступательное.
(3.3-35)
Принцип Д’Аламбера позволяет применить известные условия
статического равновесия к задачам динамики за счет рассмот¬
рения (наряду с внешними действующими на механическую
систему силами) сил инерции, препятствующих движению.
Принцип Д’Аламбера выполняется для механической системы
в любой момент времени. По сути это несколько модифициро¬
ванный второй закон Ньютона, формулируемый следующим
образом:
Алгебраическая сумма внешних сил и сил инерции, дейст¬
вующих на тело в любом направлении, равна нулю.
Рассмотрим г-е звено (рис. 3.7). Пусть точка О' совпадает
с центром масс этого звена. Устанавливая соответствие между
рис. 3.6 и 3.7, введем следующие обозначения (все векторы за¬
даны в базовой системе координат):
/П( — масса i-то звена;
г£ — положение центра масс (-го звена в базовой
системе координат;
si — положение центра масс i-го звена относи¬
тельно начала системы координат (х;, у:, г,);
р’ - — положение начала г-й системы координат от¬
носительно начала (г—1)-й системы коор¬
динат;
- *£ „
v; = -^- — линейная скорость центра масс г-ro звена;
a.i = dvi/dt —линейное ускорение центра масс i-ro звена;
F£ — суммарная внешняя сила, приложенная к
центру масс г-го звена;
N,- — суммарный момент внешних сил, приложен¬
ных к г'-му звену;
1£ — матрица инерции i-ro звена относительно
его центра масс в базовой системе координат
(х0, у0, z0);
f£ —сила, с которой (г—1)-е звено действует на
г'-е звено в системе координат (хг-_ь y£_i, z,_i);
n£ —момент, вызванный действием (г—1)-го зве¬
на на i-е звено в системе координат (х,_ь
Уг—1, Zi-i)-
Пренебрегая силами трения в сочленениях, получаем, приме¬
нив принцип Д’Аламбера к г-му звену:
d (m.v.) -
Г, = - ~dt- - = mla£, (3.3-36)
^ X («> (3.3-37)
130
Рис. 3.7. Силы и моменты, действующие на 1-е звено,
5*
131
Входящие в эти формулы линейные скорость и ускорение цен¬
тра масс г-го звена в соответствии с равенствами (3.3-32) и
(3.3-35) определяются выражениями О
v, = и,- X s, + vh (3.3-38)
а,= й, X s) + &i X К X 8£) + vt. (3.3-39)
Суммарные сила F; и момент N,-, приложенные к г'-му звену,
обусловлены действием на него силы тяжести, а также сил со
стороны соседних (г—1)-го и (г'+1)-го звеньев. Таким об¬
разом,
N* = пг пг + 1 -f (Рг-i Гг) X (рг — Гг) X f<+i
=пг ~ n(+1 + (Pi_, - гг) х Ft - Р; х fi+1.
Эти уравнения можно представить в рекуррентной форме, вос¬
пользовавшись тем, что
fi = Fj + fj+i — tni&i ~b fi+i> (3.3-43)
«г = пг+1 + Pi X f£+1 + (Pi + s(.) X Рг + Ч- (3.3-44)
Полученными уравнениями, имеющими рекуррентную форму,
можно пользоваться для вычисления сил и моментов (Т, пг)
(г = 1, 2, ..., п), действующих на звенья n-звенного манипу¬
лятора. Для этого достаточно учесть, что f„+I и пп+\ представ¬
ляют собой соответственно силу и момент, с которыми объект
манипулирования действует на схват манипулятора.
Из приведенного в гл. 2 алгоритма формирования систем
координат звеньев и кинематических соотношений для соседних
звеньев следует, что если t-e сочленение —вращательное, оно
реализует поворот на ф радиан в системе координат (хг-ь уг-ь
гг-i) вокруг оси z(_i. Поэтому момент, создаваемый приводом
г-го сочленения, должен быть равен сумме проекции момента
П/ на ось гг-i и момента вязкого трения в г-м сочленении. Если
же i-e сочленение — поступательное, оно реализует смещение на
ф единиц длины относительно системы координат (хг-i, уг_ь
zf-_i) вдоль оси гг_ь В этом случае сила тг, создаваемая в этом
сочленении, должна быть равна в системе координат (хг-i, уг-ь
z,-,) сумме проекции силы fг на ось гг-i и силы вязкого трения.
Таким образом, момент (сила) тг, создаваемый приводом г-го
(3.3-40)
= (3.3-41)
(3.3-42)
'1 Здесь (хг, у г, z г) — подвижная система координат.
132
сочленения, определяется формулой
( nfzi_l -ф если г'-е сочленение — вращательное.
тг = \ т
(. fiZe-i + bilji, если г-е сочленение — поступательное,
(3.3-45)
где bi — коэффициент вязкого трения в г-м сочленении.
Если основание манипулятора закреплено на платформе и
0-е звено неподвижно, то м0 = ь>о = 0, v0 = 0, и с учетом силы
тяжести
8х~
, где ig | = 9,8062 м/с2. (3.3-46)
v0 = g =
S»
В заключение отметим, что уравнения Ньютона — Эйлера,
описывающие движение манипулятора, представляют собой си-
Таблица 3.2. Рекуррентные уравнения движения в форме Ньютона — Эйлера
Прямые уравнения: г = 1, 2, ..., п
( о. + г._если г'-е сочленение — вращательное:
й>. = < ‘
1 ^ (й^ если г-е сочленение — поступательное;
(а. . + z, .о. + ш. ,X(z. .г)-). если г'-е сочленение — враща-
t — 1 i •* l £ 2 —— j " i t /
тельное;
есл^ i-e сочленение — поступа¬
тельное;
X Рг + ®i X (®j X Pi) + если г'-е сочленение — враща¬
тельное;
Vj==( «г.^г + ®i X р) + 2%Х(2,-.,?() +
+ ®£ X (®£ X р)) + v;_,, если г-е сочленение — посту¬
пательное;
аг = ю(- X S; + ®г X («j X s;) + v(. , •
Обратные уравнения: г = гг, л — I, 1 , г
рг=тг®г- "
^=1.со. + ®гХ(Г®,),
пг = пг+1 + Р* X Гг + 1 + (Р* + *г) X F,. + N,,
Г nfz(_, + brf;, если г'-е сочленение — вращательное,
T:=H т
(_ ff z{ еслн *"е сочленение — поступательное,
где Ь1 — коэффициент вязкого трення в г-м сочленении.
Обычно начальные условия с учетом действия силы тяжести имеют следующий
вид: Щ = «о = vo = 0; v0 = (gx, gy, gz)T. причем | g | = 9,8062 м/с2
133
стему прямых и обратных рекуррентных уравнений (уравнения
(3.3-28), (3.3-29), (3.3-35), (3.3-39) и (3.3-43) —(3.3-45)). Все
они представлены в табл. 3.2. Прямые уравнения позволяют
вычислять линейные и угловые скорости и ускорения каждого
звена рекуррентным образом в направлении от базовой системы
координат к схвату. Обратные уравнения служат для вычисле¬
ния сил и моментов, которое производится рекуррентным обра¬
зом в направлении от схвата к основанию. Таким образом, пря¬
мые уравнения обеспечивают последовательное в направлении
от основания к схвату вычисление параметров движения звеньев
манипулятора, в то время как обратные уравнения позволяют
вычислять моменты и силы, которые должны быть реализованы
в сочленениях манипулятора, последовательно в направлении
от схвата к основанию.
3.3.5. Рекуррентные уравнения движения звена в системе
координат, связанной с этим звеном
Результаты предыдущего раздела показывают, что дина¬
мика движения манипулятора может быть описана системой
прямых и обратных рекуррентных уравнений, поочередно при¬
меняемой ко всем звеньям манипулятора. Прямые уравнения
позволяют последовательно от основания к схвату вычислить
кинематические характеристики движения звеньев, такие, как
угловые скорость и ускорение, линейное ускорение. При помощи
обратных уравнений последовательно от схвата к основанию
вычисляются силы, действующие на звенья, а также моменты,
которые должны быть созданы силовыми приводами для реали¬
зации заданной траектории движения.
Недостаток полученных рекуррентных уравнений движения
состоит в том, что матрица I;, а также геометрические пара¬
метры (г(, S;, рг_р р*), будучи выраженными относительно ба¬
зовой системы координат, меняются в процессе движения ма¬
нипулятора. Лу и др. [185] усовершенствовали рассматривае¬
мый метод, перейдя в уравнениях движения к скоростям, уско¬
рениям, матрицам инерции, векторам положения центров масс
звеньев, силам и моментам, выраженным относительно систем
координат соответствующих звеньев. Это позволило сильно
упростить вычисления. Особенно важно, что время вычисления
управляющих моментов при использовании указанным образом
модифицированных уравнений движения линейно пропорцио¬
нально числу сочленений и не зависит от реализующейся в про¬
цессе движения конфигурации манипулятора. Это дает возмож¬
ность реализовать алгоритм управления манипулятором в ре¬
альном времени в пространстве присоединенных переменных.
Пусть i_1R;— матрица поворота, имеющая размерность
3X3 и преобразующая произвольный трехмерный вектор из
134
системы координат (х;, у», zi) в систему координат (хг-i, у,_ь
z;-i). Матрица (_lRi является верхней левой подматрицей мат¬
рицы '-!А i.
Выше было показано, что
где
г-i
R; =
('_1Ri) 1 = ‘Ri-1 =(i-lR<)r, (3.3-47)
cos 0£ — cos аг sin 0г- sin at sin 9г-
sin 0; cosa(-sin0i — sina£cos0,- , (3.3-48)
cos a,-
_ 0 sin ai _
cos 0/ sin 9/ 0
[i_1Rj] = — cos a£ sin 0,- cosa,cos0£ sin аг . (3.3-49)
sin аг sin 0г —sinotiCosB; cos a; _
Вместо вычисления ю(., to;, v(, аг, p*, s£, Fp N£, f£, n£ и т£,
заданных в базовой системе координат, будем вычислять
‘Roffl/f 'R0vt, ‘Ro^i, ‘R0F/, %Мг, 'R0f,-, ‘Ron; и 'Rot,-, задан¬
ные в системе координат i-ro звена (х;, уь z£). Тогда равен¬
ства (3.3-28), (3.3-29), (3.3-35), (3.3-39), (3.3-36), (3.3-37), (3.3-43),
(3.3-44) и (3.3-45) примут соответственно вид
‘Ri_iC *R0o>£_i + z0<7i), если t-е сочленение—.
‘Ro®« ='
вращательное;
Ro ®г
RoV/ — ■
если i-e сочленение —
поступательное;
(3.3-50)
R£_i [ Ro®i-i 2о(?г 4~ ( Ro®;-i) X 20ф], если
i-e сочленение — вращательное;
1 R£_, (‘"'Ro®;-,), если t-e сочленение — поступа- .
«. тельное;
(3.3-51)
(Ч®£) х ('RopO + (40 х [(40 х (4pI)] +
+ ‘Ri_i (<_lR0Vi_i), если i-e сочленение — враща¬
тельное;
4_, ы + i~1R0ve-_J) + (40 х (гР0р!) + ...
-f 2 (гR0«O;) X (“R;_iZ0<7£) -f-
+ (40 X [(40 X (4pI)]- если i-e сочлене¬
ние — поступательное;
- ■ (3.3-52)
135
40а,- = ('R^) x ('RoS,) + CRo®i) X [(£Ro®i) X (‘RoS,)] + 'RoV,,
(3.3-53)
%Fi = miR0^i, (3.3-54)
'RoN, = (‘RoIiRi) (£R0®i) + ('Ro®<) X [('RoI?R/) ('Ro®/)], (3.3-55)
!R0f; = 'R(+1 (1 + 1R0fi+i) + 44, (3.3-56)
'Ro^ “ 'R<+, Г4",-+1 + C+4p’) x 0+4f,-+i)] +
+ ('RoPl + £R0st) X (44) + 44> (3.3-57)
I
(‘Ron,)r (4-izo) + Мь если г-е сочленение —
вращательное;
, Т/ 1 fR0fi)r(‘Ri_iZ0) + если г-е сочленение —
поступательное.
Таблица 3.3. Рекуррентные уравнения движения в форме Ньютона — Эйлера,
эффективные с вычислительной точки зрения
Прямые уравнения: г = 1, 2, п
4-1 О 4M,-I + zo^,)’ если г‘е сочленение — вращательное;
j), если г-е сочленение — поступательное;
4-1 [г~'Ко“г-1 + zob + (i_’RoMi-i) X z0?г],
^ если ,-е сочленение — вращательное;
4-1 ( 1rom;-i)’ если ,‘е сочленение — поступательное;
(4“г) X (‘К0р‘) + (4м,) X [(4мг) X +
+ 4-1 4уг-г)’ если ("е сочленение — вращательное;
Чуг = 4-. (z0?z + г"4^_,) + (4®г) х (4р1) +
+ 2 (4®г) X (4-.V*) + (4®г) х (V,) X (Чр!)]-
если i-Q сочленение — поступательное;
'V/ = CRo4) X (4®<) + (4мг) X [(lRo®J X (4>*г)1 + 4vr
Обратные уравнения: г = га, га — 1 1
4l,- = 4+iC+4fiJWvI--
4пг = 4+, fi+lRoni+1 + (i+lR0p’) X (г+44,)] + (4pI + 4*,-) X
X (Vi) + (4*£Ч) (,rA) + (,Ro®i) X [(,Ro*i°Rf) (iRoMi)].
T f (4»,)Г(4-л) + М, если i-e сочленение — вращательное;
I 0Rof,-)r(4-izo) + Мг если г'-е сочленение — поступательное.
Здесь zo = (О, О, 1)г, а 6, — коэффициент вязкого трения в г-м сочленении.
Стандартный вид начальных условий с учетом действия силы тяжести следую¬
щий: coo = Mo = v0 = 0; Vo = (gx, gy, gz)T, причем |g| — 9,8062 м/с2.
136
Здесь Zo =(0, 0, l)r;‘RoS; — центр масс i-ro звена в системе ко¬
ординат (х;, уг, zг); ‘R0p*— вектор относительного положения
начал систем координат (хг, у,-, г,) и (x,-_i, уг-i, z;_i), выражен¬
ный относительно системы координат (х,-, уг, zi) и равный
'RoPl =
a-i
dt sin a;
L dt cos a,- -
(3.3-59)
(‘RoIi°R;) — матрица инерции t-ro звена относительно его центра
масс, выраженная в системе координат (х*, у,-, z,).
Итак, нами получены эффективные с вычислительной точки
зрения уравнения движения, представляющие собой системы
прямых и обратных рекуррентных уравнений, позволяющих вы¬
числить кинематические и динамические параметры движения
каждого звена в системе координат, связанной с этим звеном.
Эти рекуррентные уравнения приведены в табл. 3.3.
3.3.6. Вычислительный алгоритм
В настоящее время уравнения движения манипулятора в
форме Ньютона — Эйлера являются наиболее эффективным с
вычислительной точки зрения описанием динамики движения
манипулятора. Вычислительные затраты на реализацию этих
уравнений приведены в табл. 3.4. Общее число необходимых ма¬
тематических операций (умножений и сложений) пропорцио¬
нально п — числу степеней свободы манипулятора.
Таблица 3.4. Вычислительные затраты на реализацию уравнений
движения в форме Ньютона — Эйлера для манипулятора Пума
Составляющие уравнений
движения
Число операций
умножения
Число операций
сложения
‘RoM;
9га 11
7 га
9га
9 п
‘RoVj
27 га
22 га
‘Roa;
!R Рг
!Rof;
!RoN*
‘Ron/
15га
Зга
9 (га — 1)
24га
21 (га- 15)
14га
0
9 (га —6)
18га
24 (га - 15)
Общее число операций
117 (га-24)
103 (га —21)
Ч га —число степеней свободы манипулятора.
137
Поскольку уравнения движения в такой форме являются ре¬
куррентными по сути, целесообразно представить их в форме
алгоритма вычисления задаваемых воздействий (сил или мо¬
ментов) для силового привода каждого из сочленений. Ниже
представлен такой алгоритм.
Алгоритм 3.1. Метод Ньютона — Эйлера
Этот алгоритм вычисляет для n-звенного манипулятора мо¬
менты (или силы), которые должны быть созданы силовыми
приводами сочленений для реализации заданной траектории
движения манипулятора. Вычисления производятся по форму¬
лам из табл. 3.3.
Начальные условия-. ’ ' ' ? " : ‘
п — число звеньев, ’• )
ш0 = ю0 = v0 = О,
v0 = g = (gx, gy, gz)T> где | g | = 9,8062 м/с2.: Д
Переменные:
4i, qi, qt, i= 1, 2, л i, Fh th n/( xt. * у S
Прямая последовательность: ;i
N1. [Установка счетчика.] Присвоить переменной i значение 1:
i+-l.
N2. [Шаг вычисления кинематических параметров.] Вычислить
‘Roto,, ‘Ron),-, ‘R0v; и ‘R0a; по формулам табл. 3.3.
N3. [Проверка i = n?] Если i — n, перейти к выполнению шага
N4, в противном случае увеличить на единицу значение пе¬
ременной г (i-«-i + 1) и вернуться на N2.
Обратная последовательность-.
N4. [Установка f„+1 и nn+i.] Присвоить f„+1 и п„+1 значения со¬
ответственно силы и момента, необходимых для поднятия
груза. Если груз отсутствует, присвоить этим переменным
нулевые значения.
N5. [Вычисление заданных сил (моментов).] Вычислить ‘R0F;,
‘RoN;, 'Rob, ‘'Ron;, т; при известных fn+i и n„+i.
N6. [Обратная итерация.] Если г=1, закончить счет; в про¬
тивном случае уменьшить значение счетчика i на единицу
и перейти к выполнению N5.
3.3.7. Пример: двухзвенный манипулятор . .._ . _
Для иллюстрации применения уравнений Ньютона — Эйлера
в этом разделе рассматривается двухзвенный манипулятор с
вращательными сочленениями (рис. 3.2). Оси вращения всех
сочленений параллельны оси г, перпендикулярной плоскости
138
рисунка. Физические параметры манипулятора приведены в
разд. 3.2.6.
Сначала, пользуясь рис. 3.2 и равенствами (3.3-48), (3.3-49),
сформируем матрицы поворота
°R,=
%
L О
С J2
■$12
L О
■S, о
с, о
О 1
С12 О
2Ri
С2 S2 о
— s2 с2 о
О 0 1 j
r2
■Ro
2Ro
С2 -
S2
0 •
S2
С2
0
0
0
1 -
С,
S,
0"
-5,
С,
0
0
0
1 -
^12
*^12
0 -
~ S\2
^12
0
0
0
1 -
В соответствии с табл. 3.3 зададим следующие начальные усло¬
вия:
Wo = ft»o = Vo = 0; Vo = (0, g, 0)г, где g = 9,8062 м/с2.
Прямые уравнения. Пользуясь равенством (3.3-50), вычислим
угловые скорости 1-го и 2-го звеньев. Для 1-го звена при юо = 0
имеем
‘Ro^i^'Ro K+z06i) =
Для 2-го звена
2R0to2 = 2R, (‘R0®i + zo02) =
C2 s2 0
c2 0
0 0 1 J
c, s, 0
S, Cl 0
0 0 1
- 0-
■ 0-
0
01 =
0
J
-0 -
-1 -
“
- 0-
■ 0'
'
■0'
0
0, +
0
02
=
0
J
-1 -
-1 -
-
-1 -
(0i
Пользуясь равенством (3.3-51), вычислим угловые ускорения
1-го и 2-го звеньев. Для 1-го звена, учитывая, что юо = 0)о=»0,
имеем
= ‘Ro К + z09i + ®0 X *А) = (О, О, 1)т 0,.
Для 2-го звена
2R0o)2 — 2Ri [‘Ro®! + zq02 (’Ro®i) X zo02l — (О, О, 1)г (0) + 02).
№
Пользуясь равенством (3.3-52), вычислим линейные ускорения
точек, являющихся началами систем координат 1-го и 2-го
звеньев. Для 1-го звена, учитывая, что Vo = (0, g, 0)г, имеем
■RoV, = (%щ) X (ВД) + (Ч®>) X [(Ч®.) X (ЧР*)] + 4v2 =
"1
■ / -
■ O'
'O'
■/ ■
1
' gSi '
0i X
0
+
0
01 x^
0
0, X
0
+
gC,
J
-0-
-1 -
1
-1 -
-0 -
J
- 0 -
— /01 -ь gS\
"Ь gC\ ■
о
Для 2-го звена
4v2 = (2R0®2) х (2R0p;) + (2R0g>2) x [(4®2) x (2R0p;)J + '
о -
Г11
Г 0 "
Г
-о
+ 4(4*,) =
0
X
0
+
0
0
- 01 + 02 -
-0-
- 01 + 02 -
I
- 0i 4* 02 -
l
}
c2
52
0
' - /0? + gSi
0
+
-s2
^2
0
/0, + gC,
0
J
0
0
1
0
I (520i - C20? - 0? - 02 - 20102) + gSu
I (§1 —(— 02 —C201 -(- S20.) -(- gC\2
0
Пользуясь равенством (3.3-53), найдем линейные ускорения
центров масс 1-го и 2-го звеньев. Для 1-го звена имеем
4а, = (4®,) X (4s,) + (4®,) X [(4®i) X (4s,)] + 4v„
Таким образом,
■о-
г 1 ~
2
Г °'
f
Г0 '
1 -
2
\
%а, —
0
01 X
0
+
0
х-
0
X
0
>
-1 -
. 0 .
-0,-
-0,-
0 .
/
+
+
/6i + gSi
+ gC\
о
-jti + gS^
~2 ®i + gCi
о
Для 2-го звена
2Roa2 = (2Ro®2) X (2RoS2) + (2Ro®2) X [(2Ro®2) X (2RoS2)] “I" Rov2>
где
i „ ~
Cl2 ^12 0
5]2 C]2 0
~|<N
1
1
^12
р
s2 =
1
2
^12
> 2RqS2 =
0
1
~~ ~2
^12
/ -
2
1
2
•Si2
0
О
1
г~
0
1
Таким образом,
Г 0 '
/ -
2
Г 0 ‘
2R()a2
0
X
0
+
0
- 0, + 0] -
_ 0
- 01 + 02 -
- о -
1 -
2
0
X
0
- 01 + 02 -
. 0 .
X
X 0 X 0 +
-01 + 02-1 ^ Q
I (S20, - C20? — e? — 02 — 204) + gSn'
+ / (01 + 02 + C20I + S20l) + gCi2
0
I (S201 — C202 — */201 — '/202 — 010г) + gS\2
I (^20i + 520i + l/20i + 1/г0г) + gCi2
0
Обратные уравнения. Считая, что схват манипулятора не на¬
гружен, имеем f3 = n3 = 0. Для расчета сил, действующих на
звенья, пользуемся равенством (3.3-56). Для 2-го звена с учетом
141
'Rofi — 1Нг(2Ко^2) + ‘RqF, =
X
того, что f3 = 0, имеем
2R0f2 = 2R3 (3R0f3) + 2R0F2 = 2R0F2 = m2R0a2 =
' md (5201 - C20? - V2e? - V2el - 0102) + gm2Sl2)
m2l (C20i + S20i + '/20i + V202) + §m2^i2
0
Для 1-го звена
C2 — S2 0'
S2 C2 0 X
0 0 1 -
'm2l (S20i - C262 - V20? - V202 - 0i02) + gm2S.
md (C20, + 520i -|- V20i + 7г®г) + gm2C\2
0
' md [- 0? - V2C2 (0? + $) - C20i02 - 42S2 (0! + 02)] -
— m2g (C12S2 — C2512) — + mlgSl
m2l [0i — 72S2 (®i + Й) — 520.02 + 72C2 (0i + 02)] +
+ m2gC\ + Ч2Щ&1 + gm\C\
0
С помощью равенства (3.3-57) вычислим моменты, действующие
на звенья. Для 2-го звена с учетом того, что п3 = 0, имеем
+ miRoa! =
2Ro"2 = (2R0p2 + 2R<+) X (2R0f2) + 2R0N2
где
Таким образом,
11
2
1C 12
Cj2
S12
0 -
IC12
-1 -
*
p2 =
IS 12
; 2R0P2 =
S12
Ci2
0
lSi2
=
0
- 0 -
- 0
0
1 -
- 0 -
-0-
R0n2 —■
0
X
Lo J _
m.
J (520i — C*202 — 720i — 7г0г — 0102) g^S
tn2l (C20i + S20i + V201 + 7г0г) + gm2Ci2
0
12
+
+
r0 0 ■ 0 ■
0 [/i2m2l2 0
LO 0 7г m/
0
0
■-01+02
0
0
" */3^2^ + 7з^+ 02 + 7з^2^ (с201 520l) + 4irn2glC 12 -
142
Для 1-го звена получаем
‘Roni = % [%°2 + (Чр1) X (ЧЛ)1+
+ (1R0p; + lR0i|)X(1R0F|) + 1RoN1,
где
-/С,-
■ ic2-
- г
*
Pl =
ISX
; 2R0p1 =
-IS,
; ‘R0pT =
0
- 0 -
- 0 -
-0 -
Таким образом, :д,
‘Ron, = % (2R0n2) + % [(2R0Pi) X (2R0f2)] +
+ [y> о, о]гхад + зд.
Наконец, в соответствии с выражением (3.3-58) определим
моменты, которые должны быть реализованы силовыми приво¬
дами сочленений. Для 2-го сочленения, полагая Ьч = 0, полу¬
чаем
T2 = (2R0n2)r(2Riz0) =
— 11зт2^1 + 1/зт2^2 + '12Щ12С2§\ + 1/2Щ§1С12 + ll2tn2l2S2Qi.
Для 1-го сочленения при 6, = 0 имеем
т,= (1R0n,)r(1R0z0)=
= ^13тх121дх + 4/зт2^1 ~Ь 7зт2^292 + щС212б] + 72т2/2ё2 —
— т252/2ё,ё о — '/г т25/ё2 + 42mxglCx + 1km2glCl2 + m2glCx.
Эти уравнения динамики движения манипулятора совпадают
с уравнениями, полученными в разделе 3.2.6 с применением ме¬
тода Лагранжа — Эйлера.
3.4. ОБОБЩЕННЫЕ УРАВНЕНИЯ Д’АЛАМБЕРА
Вычислительная неэффективность уравнений Лагранжа —
Эйлера обусловлена использованием матриц преобразования
однородных координат. В то же время удобство использования
уравнений Ньютона — Эйлера объясняется их рекуррентностью
и векторной формой записи. Для того чтобы получить замкну¬
тую и эффективную с вычислительной точки зрения форму
записи уравнений движения, можно, описав кинематику звеньев
с помощью векторов относительного положения и трехмерных
матриц поворота, вычислить кинетическую и потенциальную
энергии манипулятора, сформировать функцию Лагранжа, а за¬
тем воспользоваться уравнениями Лагранжа — Эйлера. В этом
143
разделе мы получим уравнения движения Д’Аламбера в форме
Лагранжа, или, что то же самое, обобщенные уравнения
Д’Аламбера. Здесь мы будем рассматривать только манипуля¬
торы с вращательными сочленениями.
Считая звенья манипулятора твердыми телами, угловую ско¬
рость o)s s-ro звена относительно базовой системы координат
Рис. 3.8. Определение векторов, используемых в обобщенных уравнениях
Д’Аламбера.
можно представить как сумму относительных угловых скоро¬
стей звеньев с меньшими номерами (рис. 3.8):
<■>*=! (Wo " ; ' : (3-4-1)
где z/_i — ось вращения /-го сочленения, заданная в базовой
системе координат. Умножая слева обе части равенства (3.4-1)
на sRo, получим угловую скорость s-ro звена, выраженную в си¬
стеме координат этого звена:
S
SRo*>s= £ 0,‘RoZ/-,. (3.4-2)
_ /-1
Пусть (см. рис. 3.8) rs — вектор положения центра масс s-ro
звена в базовой системе координат. Его можно представить в
следующем виде:
rs = |p; + cs, (3.4-3)
144
где сs — вектор относительного положения центра масс s-ro
звена и начала (s — 1)-й системы координат, выраженный в ба¬
зовой системе координат.
С помощью равенств (3.4-1) — (3.4-3) линейную скорость vs
s-ro звена в базовой системе координат можно представить в
виде суммы линейных скоростей, обусловленных движением
звеньев с меньшими номерами:
vs = Z [ [Z б/*/-.] Xpj + [Z V/-,] X с,. (3.4-4)
Кинетическая энергия s-ro звена (l^s^n), имеющего
массу tris, складывается из кинетической энергии поступатель¬
ного движения и кинетической энергии вращения вокруг центра
масс:
Ks == (Кз)пост “Ь (Rs)epam
= 'l2ms (Us • U.) + '/2 (sRo®s)r h (sRo®s). * (3.4-5)
где Ь — тензор инерции s-ro звена относительно центра масс,
представленный в системе координат s-ro звена.
Для простоты рассуждений динамические эффекты, связан¬
ные с поступательным и вращательным движениями и воздейст¬
вием силы тяжести, рассмотрим по отдельности. Применяя урав¬
нения Лагранжа к составляющей кинетической энергии, обус¬
ловленной поступательным движением s-ro звена, имеем для
s 5s i
-gr a (K4w 1 _ = J_tm у . Л?*! _ m у . -|£- =
dt L ao, J a0i dt L s aef J
<5vs , d Г dvs 1 dvs ,0 .
“ m-v‘ ■ Ж + m,v. [-J57 J - "Л 'Ж,• <3-4‘«
где
X (p< + р]+1 + ••• +pI-i + cs) —
= z(-i X(rs-p(_,), (3.4-7)
С учетом тождеств
= ^ и (3.4-8)
dt L <30; J <30; <30; wt
равенство (3.4-6) принимает вид
- (1{Ri!^-msys • [z4_, X (F, —»,_,)]. (3.4-9)
dt L d$i J д0*
145
Суммируя по всем звеньям от i до п, получаем силы, обуслов¬
ленные поступательным движением всех звеньев:
d Г д (К- Е.)пост "1 д (К• Е.)пост
Г д (К- Е.)пост "I
L дё i J
dt L d%i J с?0£ ......
“ t + [+1+] - = £ “Л •
s=i ‘ ‘ s=i (3.4-10)
где с учетом равенств (3.3-8) и (3.3-12) ускорение vs s-ro звена
определяется формулой
-|[(i*A-.)xp; + :
■ + {(± ■) х KI; х й ]}] + -: ;';
+ [(£ X *] + {(£ «Л-.) X [(£ X -с] } +
+ |{£[(|вл-.)х6л-,]хр;} +
+ {Е (Е W.)xepZp_i]xcs}. (3.4-п)
Кинетическая энергия вращения s-ro звена определяется фор¬
мулой
Юв? .ш = '/2 (SRo®s)r h (SR0®S) = J (E h (E ^Ro*/ - i) •
, .• (3.4-12)
Поскольку - ■ -
<’('''!‘P^ = eR„£,-l)rl,(£e,*R.£,-1), s>t. (3.4-I3)
(sR0z/_1) = sR0z/_1XsRoZi_„ (3.4-14)
dQi
■ ; ■"'■) d
dQi
146
d_
dt
■(*Ro*i-i) — ][] (сщ S^°Zi-l')~dt~ — X f ^ 0/sRoZ/_i\
l=i / = < '
(3.4-15)
дифференцируя по времени равенство (3.4-13), имеем
+ (SRoZl-l)r h B/’RoZ/-!^ + (%г(_,)г h [j e, (-^ *Ro*/-.)] =
= ^RoZ/-, X g e/Roze/RoZ/-,^ + •
~b (sRoZj-i) Ь Q/'Roz,-^ -E
+ (sRoz1-,)rIs^^e/sRoZ/_1 X 2 e/Rozft_,^j. . , (3.4-16)
Пользуясь теперь равенством (3.4-14), найдем частную произ¬
водную величины (As)вращ по координате б, (sjst):
ч?ЧЦ*Чх-Ч (з-4’17)
Вычитая (3.4-17) из (3.4-16) и производя суммирование по всем
звеньям от L до п, получаем силы, обусловленные вращательным
движением звеньев: •<, , г.
d Г д (К• £".)вращ "1 д (К‘ Е‘) вращ V- г
Г д (К- Б.)вращ 1
dt L ~ai] J ~ ^е.
V ( d Г д (/С5)вращ 1 д (КЛвращ "1
~ 2-Л dt L 50; J 501 t ~
S = l
= i (W,)r is (j e/Roz,.+
147
' +(*Ил-|)г1.||][в/’К«1/-|х( f, e/Roz»-,)]J +
+ [-R.z,.,x(i 6.W. m e/Roz/.,^,
/ = 1,2 n. (3.4-18)
Потенциальная энергия манипулятора складывается из по¬
тенциальных энергии всех его звеньев
п
P. Е. = Z Ра,
S— 1
(3.4-19)
где Ps — потенциальная энергия s-ro звена, вычисляемая по
формуле
Ps = - g • m,r, = - g • ms (Pi_, + рГ + ... + с,). (3.4-20)
Здесь g=(gx, gy, gz)T и |g| = 9,8062 м/с2. Применяя уравнение
Лагранжа — Эйлера, имеем для
_1_Га(Р,)1 d(Ps)_
г цт
dt L dQt J
<50* <50*
d(7s~Pf-i)
ae,
d(P«) _g + ••• + *,).
<50*
g ■ ms[Zi_i X(rs — P*_,)], (3.4-21)
где P;_i не зависит от 0,. Суммируя по всем звеньям от t до п,
получаем моменты, обусловленные силой тяжести:
d_ Г д (P. Е.) I _ <5 (Р. Е.) = _ у д(Р3) =
L <50* J Л0, ^
dt L <50*
<50*
s**i
= 2 g- ws[Z:-iX(rs — Pi_i)]. (3.4-22)
Суммируя равенства (3.4-10), (3.4-18) и (3.4-22), получаем
момент xi, создаваемый силовым приводом /-го сочленения для
реализации заданного движения манипулятора:
f d Г д {К. Е.)„ост 1 д (К. £.)пост | , Г d /д (К. £.),Ращ\
1 I dt L <50* J <50* J L dt V <50* )
пк. ^ + ^ ^ | g Щ х р. j +
<50*
+
148
+
+
j (41 (f( j *-')х [(j, ^ !+
+(ш: 0^,-1) X 0pzp_i ] X p;})] • [as*_i X (Г, -*P,_i)]) +
+ E (m* ({(Z ^-1) x [(z ®a-i)x'» } +
+ [E (E ) X 0PzP-i] x cl}) • [Z|_, X (7. - Pi-i)]) +
+ E,^(sRozi-i)r^|Ei X^ E ®*sRoz*-i)j} +
+ [sRozi-i X (z Sp^p-i)] *.(z 9/Roz4-i)) +
+ S • |zi-i X J^E ml (г/ Pf-i)j}* (3.4-23)
Полученное равенство можно представить в следующей более
наглядной форме:
t Оф, (о + НГСТ (0, 0) + ЛГЩ (0, 0) + С*» т, (0, (3.4-24)
/■=*1
где для i=l,2 п ;
Dit = + Dir = Z [CRoZi-if h (sRoz/-i)] + '
5=*/
+ Z {ms x (tf p;+1)] • [г,., x }=
= Z[(sRozi-.)rls(sRoz/_1)] +
5-/
П
+ Z ims [z/-i X (rs — P/_i)] • [z,_! X (?s — Pi-i>U. i < Г,
S=»/
(3.4-25)
*■"(*. 6» -1; {4% ({(i«A-.) [(I, V,-,) x p;]} +
+{i [(II еЛ-.)X v,.i] Xp;})] • [I,., X(“r,-p,_,)]} +
+[m*({ (j. ел-‘) x [(.?,вл-')x c*]}+
-f { i2 [(l 0,z,-.) X 0A-,] X Cs}) • [z(_, X (rs - pi-0]];
(3.4-26)
АГщ(0, 6)=Z|{(*R^-i)ri.{/?l [e/Ro^-^^^fc'RoZft-,)]} +
-f [*Ro*<-iX(Z0p*RozP-i)] Is^Z^Ro*,-,)} (3.4-27)
И c, = — g [z;_,X ^((r, — Pi-i)]. (3.4-28)
Динамические коэффициенты Dih а являются функциями
присоединенных переменных и параметров манипулятора, в то
время как /г"ост и ti?'ащ — функции присоединенных перемен¬
ных, скоростей и параметров манипулятора. Эти коэффициенты
имеют следующий физический смысл:
• Коэффициенты Д, связаны с инерционностью звеньев ма¬
нипулятора. Равенство (3.4-25) отражает влияние ускоренного
движения в /-м сочленении на реализующийся в t-м сочленении
вращающий момент т*. Первое слагаемое в выражении (3.4-25)
учитывает влияние вращательного движения /-го звена на воз¬
никающий в t'-м сочленении момент. Если i =/, то Du характе¬
ризует момент сил инерции, возникающий в t'-м сочленении в
ответ на ускоренное вращение i-ro звена. Если i ф /, это слагае¬
мое характеризует момент сил инерции, возникающий в t'-м со¬
членении в ответ на ускоренное вращение /-го звена. Второе сла¬
гаемое в выражении (3.4-25) отражает аналогичные эффекты,
обусловленные поступательным ускоренным движением звеньев.
• Слагаемое й?ост (0, 0) отражает эффекты, связанные с по¬
стоянной скоростью изменения присоединенных переменных.
Равенство (3.4-26) описывает суммарный момент центробежной
и кориолисовой сил, возникающий в t'-м сочленении как следст¬
вие движения в р-ш и q-u сочленениях и обусловленный посту¬
пательным движением p-то и q-то звеньев. Первое и третье сла¬
гаемые в выражении (3.4-26) представляют собой центробеж¬
ную и кориолисову силы инерции, обусловленные соответственно
150
поступательным движением звеньев с номерами, меньшими s,
и поступательным движением s-ro звена. Если р = q, это цент¬
робежная сила, действующая в i-м сочленении. Если p¥=q, это
кориолисова сила, действующая в t-м сочленении. Второе и чет¬
вертое слагаемые в выражении (3.4-26) описывают силы корио-
лиса, обусловленные соответственно поступательным движением
всех звеньев с номерами, меньшими s, и поступательным движе¬
нием s-ro звена.
• Слагаемое /г?ращ (0, 0) также связано с постоянной ско¬
ростью изменения присоединенных переменных. Аналогично ра¬
венству 3.4-26 равенство (3.4-27) описывает суммарный момент
центробежной и кориолисовой сил, возникающий в t-м сочлене¬
нии как следствие движения в р-ч и q-u сочленениях, но в
отличие от /ггПОСт(0, 0) обусловленный вращательным движе¬
нием p-то и q-то звеньев. Первое слагаемое в равенстве (3.4-27)
описывает чисто кориолисовы силы инерции, действующие в
i-м сочленении вследствие поступательного движения p-то и q-vo
звеньев. Второе слагаемое описывает сумму центробежной и ко¬
риолисовой сил инерции, действующих в t-м сочленении. Если
р = q, это центробежная сила, действующая в t-м сочленении;
если p¥=q, это кориолисова сила, вызванная вращательным
движением р-го и q-ro звеньев.
• Коэффициент с, характеризует силу, с которой звенья с
номерами, большими t, воздействуют на t-e сочленения под дей¬
ствием силы тяжести.
Таблица 3.5. Сравнение вычислительной сложности различных форм
уравнений динамики движения манипулятора1*
Уравнения
Лагранжа — Эйлера
Уравнения
Ньютона--Эй¬
лера
Обобщенные
уравнения
Д’Аламбера
Число опера¬
128/3/г4 + 512/3/г3 +
132 п
13/6п3 + 105/2п2 +
ций умноже¬
+ 739/3/г2 + 160/3/г
+ 268/3/г + 69
ния
Число опера¬
98/3 /г4 + 781/6 /г3 +
111 п — 4
4/3 /г3 + 44 п2 +
ций сложе¬
+ 559/Зп2 + 245/6/г
+ 146/3/г + 45
ния
Кинематиче¬
Однородные матрицы
Матрицы
Матрицы поворотов
ское описа¬
размерностью 4 X 4
поворотов
и векторы положе¬
ние
и векторы
ния
Форма уравне¬
Замкнутая система
положения
Рекуррентные
Замкнутая система
ний движе¬
дифференциальных
уравнения
дифференциаль¬
ния
уравнений
ных уравнений
1) п—число степеней свободы манипулятора. Расчет числа необходимых операций
производился без
предварительной оптимизации уравнений.
151
Шл *зепл,№1*15)А,(гяз «гча.гтпЛ ms
152
Рис. 3.9. Схема вычисления коэффициентов Dijt hfOCT, A®paw и Cr
М —операция умножения; А —операция сложения; S — используемая ячейка памяти; цифра в кружке обозначает
На первый взгляд для решения уравнений (3.4-25) — (3.4-28)
требуется большое количество вычислений. Однако большинство
входящих в них векторных произведений вычисляются очень бы¬
стро. Вычислительная сложность полученных уравнений видна
из блок-схемы (рис. 3.9), подробно описывающей процедуру вы¬
числения динамических коэффициентов в каждой расчетной
точке траектории манипулятора с указанием числа необходимых
операций сложения и умножения. Табл. 3.5 позволяет провести
сравнение вычислительных трудоемкостей трех полученных нами
форм представления уравнений динамики движения манипуля¬
тора.
3.4.1. Эмпирический подход к формированию упрощенной
динамической модели
Полученные нами обобщенные уравнения Д’Аламбера (3.4-
24) — (3.4-28) упрощают, в частности, решение задачи построе¬
ния приближенной динамической модели манипулятора, необхо¬
димой для выбора закона управления манипулятором в прост¬
ранстве переменных состояния. Аналогично уравнениям Лаг¬
ранжа— Эйлера обобщенные уравнения Д’Аламбера содержат
в явной форме слагаемые, характеризующие по отдельности
влияние сил инерции, обусловленных ускоренным движением
звеньев, кориолисовой и центробежной силами инерции. Более
того, эти уравнения позволяют вычислить по отдельности и срав¬
нить влияние сил инерции, обусловленных вращательным и по¬
ступательным движением звеньев в каждой точке траектории
манипулятора. На основе такого сравнения при построении уга«
рощенной динамической модели слагаемыми, мало влияющими
на возникающие в процессе движения манипулятора силы и
моменты, можно пренебречь.
В качестве примера рассмотрим динамику движения робота
Пума 560 вдоль заданной траектории. На рис. 3.10 и 3.11 приве¬
дены графики зависимости от времени динамических коэффи¬
циентов Д7°ст, £>®/ащ, ЛГТ, Л(Ращ> построенные для этой траек¬
тории. Число расчетных точек траектории равно 31. Графики,
приведенные на рис. 3.10, соответствуют коэффициентам £>гращ
и которые характеризуют силы инерции, обусловлен¬
ные ускоренным движением звеньев. На рис. 3.11 показано по¬
ведение слагаемых hTZT и /гГаш> связанных с центробежной и
кориолисовой силами. На каждом из рисунков представлены
три кривые, отражающие отдельно влияние сил инерции, обус¬
ловленных поступательным и вращательным движениями звень¬
ев, а также их суммарное влияние.
Из анализа графиков, приведенных на рис. 3.10, можно сде¬
лать следующие выводы, позволяющие сформировать упрощен¬
ную модель динамики манипулятора:
153
> Результат вращательного движения
> Результат поступательного движения
i Суммарный зррект вращательного и поступательного движений
Время, мс
Время, .
Время. мс
Время, мс
Время, мо
Время, мо
154
Время, мс
- оптсК 1 1 1 ^
a 600 mo 1800 2400 3009
Время, мс
Время, мс
цэгщ
0,6246
0,3247
0,0247^-jxJl
D.
33
0 600 1200 1800 2400 3000
Время, ме
0 600 1ZOo 1800 2400 3000
Время, мс
Время, mg
Рис. 3.10. Коэффициенты Du, определяющие реакцию на ускоренное движе¬
ние звеньев.
По оси ординат отложены числовые значения элементов матриц,
155
600 1200 1800 2000 3000
Время, мс
3,010'
2,010
1,010
moo,
д
40
О ООО 1200 1800 2000 3000
Времяг МО
О
•1333
•2,067^
•0,000
D66
I t-~i*
JL
*. im—m
4,200 ki,—*4
8,111 f
s,m
2,778
OJ110
600 1200 1800 2W 3000
время, mo
-i—I ■ i < - i j
Д
'Jt-Д Ж'л.1
0 600 1200 1800 2000 3000
Время, мс
8,Wt
2,010
tow
-J*—и—м—<• *
iW
О 600 1200 1800 2Ш 3000
время, мо
0,0100к-ж»ы - nHb.L Ml, I ■
О 600 1200 1800 2400 3000
Время, же
Продолжение рис. ЗЛО.
1) Влияние сил инерции, обусловленных поступательным
движением звеньев, преобладает в коэффициентах D\2, D22. ^23.
D33 И /?56-
2) Влияние сил инерции, обусловленных вращательным дви¬
жением звеньев, преобладает в коэффициентах D44, Di6, D55
и D66.
3) В остальных элементах матрицы D составляющие, обус¬
ловленные вращательным и поступательным движением, равно¬
ценны. На рис. ЗЛО графики, показывающие поведение коэффи¬
циентов Dir и О"®07, имеют разрывы. Это связано с ошиб¬
ками округления, возникающими при моделировании на ком-
156
| Результат вращательного движения
Результат поступательного движения
<. Суммарный яррект вращательного и поступательного ооижений
0<
Время, мс
600 то то гвоо зооо
Время, мс
600 то то гвоо зооо
Время, мс
О 600 1200 1800 2600 3000
Время, мс
О 600 1200 1800 2600 3000
Время, мс
О 600 1200 1800 2600 3000
Время, мс
Рис. З.П. Слагаемые hit обусловленные кориолисовым и центробежным уско¬
рениями.
По оси ординат отложены числовые значения элементов матриц.
пьютере VAX-П/780. Величины этих коэффициентов очень малы
по сравнению с коэффициентами, характеризующими влияние
сил инерции, обусловленных вращательным движением звеньев.
Анализ графиков, приведенных на рис. З.П, позволяет сделать
следующие выводы:
1) Вращательные составляющие преобладают в коэффици¬
ентах hi, hi, А3.
2) Поступательная составляющая вносит определяющий
вклад в коэффициент hi.
157
3) Вклады вращательной и поступательной составляющих в
коэффициенты h5 и h6 равноценны.
Сделанные выводы справедливы для конкретной рассмотрен¬
ной траектории движения. Упрощенная модель, получаемая в
результате отбрасывания слагаемых, оказывающих несущест¬
венное влияние на динамику движения манипулятора, учиты¬
вает основные действующие на звенья силы и моменты и при
этом требует значительно меньших вычислительных затрат, чем
полная модель. Это существенно упрощает разработку законов
управления манипулятором.
3.4.2. Пример: двухзвенный манипулятор
Запишем для двухзвенного манипулятора (рис. 3.2) обоб¬
щенные уравнения Д’Аламбера. Полагая массы звеньев рав¬
ными т, и т2 и считая, что каждое из звеньев имеет длину 1Г
находим тензоры инерции этих звеньев
" 0 0
0 "
"0 0
0
Il =
0 1/12 т,Р
0
. Ь =
0 1/12ш2/2
0
_0 0
1/12ш</2_
_0 0
1/12 т212_
Требуемые матрицы поворота имеют следующий вид:
'С,
-S,
0“
~С2
—
52
0"
°Ri =
S,
С,
0
II
см
О£
S2
с2
0
.0
0
1_
_0
0
1_
С12 —
- S,2
о-
2R0
= °R.
'R2
S, 2
С, 2
0
»
0
0
1
’Ro = (°Ri)r. 2R0 = (°R2)r.
где C{ = cos 0i( S{ = sin 0b Ctj = cos (0, + 0;), S{j = sin (0* + 0,).
Такие характеристики манипулятора, как р*, сг, г; и рг,
определяются следующими выражениями:
~lCi~
ICy 2
~l(C{ + C{2)-
Pl = Pi =
IS,
> Рг =
IS,2
. p2 =
l (S| + S,2)
0 _
. 0
0
— с
2
— с
2 UI2
^1 + y ^12
— s
2
II
CM
1 u
1 5
2 ^l2
. r2 =
IS, + y S12
1
0
1
I
0
1
О
1
158
Пользуясь равенством (3.4-25), находим элементы матрицы
Dn = (1R0z0)r I, («R0Zo) + (2R0z0)r I2 (2R0z0) +
+ m< (z0 X c,) • (z0 X r,) + m2 [z0 X (pi + c2)] • (z0 X r2) =
+
"0“
"0“
(0,0, 1)1,
0
+ (0, 0, 1) i2
0
1
1
+ Щ
'O'
— C
2
-0-
l n
0
X
— s
о '-’l
0
X
— s
-1 -
z '
0
-1 -
z
0
+
- O'
/С,
+4
^12
■O'
/С, + ’2_C12
+ m2
0
- 1 -
X
/s.
+4
0
SI2
0
-1 -
X
IS, + ^12
0
= 1/3 m,/2 + 4/3m2/2 + C2m2l2,
D12 = £>21 = (2Rozo)r I2 (2R0Zi) + m2 (z, X Ca) • (z0 X r2) =
= l/3m2/2 + 1/2 m2C2l2,
D22 = (2R0z,)r I2 (2R0z,) + m2 (z, X c2) • [z, X (r2 — p,)J =
: = 1/12m2/2 + l/4m2/2 = l/3m2/2.
Таким образом, ■
rD" D|21= r
1 ,,J U2. aJ
Г 1 /3m,/2 + 4/3m2/2 + m2/2C2 l/3m2/2 + l/2m£J? 1
= L l/3m2/2+l/2m2C2/2 l/3m2/2 . J’
Для вычисления /г/0СТ (0, 0) и /г,ращ(0, 0) воспользуемся ра¬
венствами (3.4-26) и (3.4-27), оставив в них только те слагае¬
мые, которые в нашем примере отличны от нуля:
АГ" = т2 [Mo X (0,zo X Pi)] ' (z0 X r2) +
+ m, [0,zoX (0iZoXc,)] ■ (z0Xr,)+ ’
+ m2 [(0,zo + Mi) X [(Mo + M,) X c2] +
+ (8,z0 X M) X c2] • (z0 X ^2) = l/2m2/2S20i -
- l/2m2/2S20, - 1/2m/S202 - m2/2S20i02,
159
A?pai4=(,RoZoXel,RoZo)rIi(ei,RoZo)+(2Rozo)rl2(0i2RozoX 022RoZi)+
+ [2RoZo X (0i2RoZo + 022RoZ!)]r I2 (0|2Rozo + 022RoZi) = 0.
Таким образом,
hi = hTCT + Сащ = -l/2m2/25202 - m2l2S2Qi02.
Аналогично находим
A2nocT = m2[6|zoX(0|zoXp;)] • [z, X (?2 - P,)] +
+ m2 {(0,zo -f 02Z|) X [(01zo + 02z,) X c2] +
+ (0,zo X 02z,) X c2} • [z, X (r2 — Pi)] = l/2m2/2520b
АГЩ = (2R0z,)r I2 (0i2Rozo X 0/RoZ,) +
+ [2Rozi X (0i2Rozo + 022Rozi)] h (0i2Rozo "b 022Rozi) = 0-
Заметим, что Ааращ = А2ращ = 0, что облегчает выбор закона
управления с обратной связью. , ,
Итак, ' j
Ы = А"ост + Л!ращ = 1/2т2/25202. . V. ... ,
Таким образом,
_ Г A, I _ Г — 1/2т252/202 - т25/0!021
L Л2 J L I/2m25/0? J
С помощью равенства (3.4-28) находим компоненты вектора с:
С\ = — g • X {туг, + т2г2)] = (1/2m, + т2) glCy + \/2m2glCy2,
c2 = -g-[zxXm2 (r2 — Pi)] = \/2m2glCl2,
где g = (0, —g, 0)r. В результате приходим к следующему виду
вектора с
с =
Г Су 1 Г (l/2m, + m2)glCy + l/2m2g/Ci2l
L с2 J L l/2tn2glCy2 J
где g = 9,8062 м/с2. Найденные значения матрицы D и векторов
h и с приводят к следующей системе обобщенных уравнений
Д’Аламбера, описывающих динамику движения рассматривае¬
мого двухзвенного манипулятора:
Гт,(01 Г 1/Зт,/2 + 4/Зт2/2 + т2С212 1/Зт2/2 + 1/2т2С2/21 Г0< (0]
U(/)J“L 1/Зт2/2 + 1/2т2С2/2 l/3m2/2 J L02(/)J +
Г-1/2т2Д/02 - m2S/0i0
+ L 1/2 m2S/0?
160
.1 Г(1/2т, + m2)glCy + l/2m2g/C121
J + L 1/2 m2glCy2 J*
3.5. ЗАКЛЮЧЕНИЕ
В этой главе рассмотрены три различных подхода к описа¬
нию динамики манипулятора. Уравнения Лагранжа — Эйлера
позволяют получить удобную для анализа форму уравнений дви¬
жения, однако без некоторых упрощений непригодны для реали¬
зации управления манипулятором в реальном времени. Метод
Ньютона — Эйлера позволяет получить чрезвычайно эффектив¬
ную с вычислительной точки зрения систему рекуррентных урав¬
нений, описывающих динамику движения манипулятора, однако
такая форма малопригодна для анализа, связанного с выбором
законов управления манипулятором. Обобщенные уравнения
Д’Аламбера значительно более удобны для анализа, хотя и тре¬
буют более высоких вычислительных затрат. Будучи более эф¬
фективными, чем уравнения Лагранжа — Эйлера в вычислитель¬
ном плане, обобщенные уравнения Д’Аламбера вместе с тем в
явном виде отражают эффекты влияния вращательного и посту¬
пательного движения звеньев на динамику манипулятора. Это
обусловливает целесообразность их применения при построении
приближенных динамических моделей, а также при разработке
манипуляторов. Говоря кратко, для исследователя существует
возможность выбора одной из трех следующих форм представ¬
ления уравнений движения манипулятора: удобной для анализа,
но неэффективной в вычислительном плане (форма Лагранжа —
Эйлера); эффективной с вычислительной точки зрения, но мало¬
пригодной для анализа (форма Ньютона — Эйлера); достаточно
удобной для анализа при умеренных вычислительных затратах
(обобщенные уравнения Д’Аламбера).
Литература
Более подробно основные вопросы динамики изложены в книгах
по механике [275, 50]. Вывод уравнений движения методом
Лагранжа — Эйлера с применением матриц преобразования од¬
нородных координат впервые был приведен Уикером [293]. Ра¬
бота [169] содержит ряд подробностей относительно вывода
уравнений Лагранжа — Эйлера для шестизвенного манипуля¬
тора. В работе [16] рассмотрены вопросы динамики и управле¬
ния станфордовским манипулятором (JPL-манипулятором).
В этой же работе описан способ построения упрощенной модели
динамики движения. Используя рекуррентную природу уравне¬
ний Лагранжа, Холлербах [122] предложил способ сокращения
времени вычисления обобщенных моментов методом Лагран¬
жа — Эйлера.
Упрощения уравнений движения, полученных методом Лаг¬
ранжа— Эйлера, можно достичь с помощью дифференциальных
6 К. Фу и др.
161
преобразований [229], методом усеченных моделей [19], а так¬
же методом эквивалентных композиций [182]. С помощью ап¬
парата дифференциальных преобразований можно представить
частную производную однородной матрицы в виде произведения
матрицы преобразования пространства и матрицы операции
дифференцирования. Это позволяет существенно упростить вид
матрицы D. Однако кориолисовы и центробежные составляющие
hikm, содержащие частные производные второго порядка, таким
способом упростить не удается. Бьецци и Ли [19] разработали
метод усеченных моделей, основанный на однородных преобра¬
зованиях и соотношениях лагранжевой динамики, а для упро¬
щения кориолисовых и центробежных составляющих воспользо¬
вались численными методами матричного анализа. Лу и Лин
[182], пользуясь уравнениями движения в форме Ньютона —
Эйлера, провели численное сравнение составляющих сил и мо¬
ментов, а затем, отбросив несущественные члены, перегруппи¬
ровали оставшиеся составляющие таким образом, чтобы добить¬
ся «аналитичности» уравнений.
Альтернативным способом построения более эффективной с
вычислительной точки зрения системы уравнений для определе¬
ния обобщенных сил и моментов является использование урав¬
нений Ньютона — Эйлера. Среди первых исследователей, вос¬
пользовавшихся рекуррентной природой уравнений Ньютона —
Эйлера, были Армстронг [6], Орин и др. [223]. Лу и др. [185]
усовершенствовали этот подход, перейдя к использованию ско¬
ростей, ускорений, матриц инерции, векторов положения центров
масс звеньев, сил и моментов, выраженных в системах коорди¬
нат, связанных со звеньями. Уолкер и Орин [299] воспользова¬
лись уравнениями движения в форме Ньютона — Эйлера для
моделирования движения манипулятора с помощью
ЭВМ.
Хотя структуры уравнений Лагранжа — Эйлера и Ньютона —
Эйлера различны, было показано [291], что уравнения в форме
Лагранжа — Эйлера можно получить из уравнений в форме
Ньютона — Эйлера. Силвер [268] показал эквивалентность этих
двух форм с помощью тензорного анализа. Хастон и Келли
[130] разработали алгоритмический способ вывода уравнений
движения, удобных для реализации на ЭВМ. Ли и др. [166], ос¬
новываясь на обобщенном принципе Д’Аламбера, получили
уравнения движения в матрично-векторном представлении в
форме, удобной для разработки алгоритмов управления. Нью¬
ман и Тоурасис [214] и Мьюррей и Ньюман [202] разработали
программное обеспечение, позволяющее формировать уравнения
движения манипулятора при помощи ЭВМ. Ньюман и Тоурасис
[213] построили дискретную модель динамики манипулято¬
ра.
162
Упражнения
3.1. а) Каков смысл обобщенных координат манипулятора? б) Приведите
пример двух различных систем обобщенных координат для манипулятора,
показанного на рис. 3.12. Изобразите выбранные вами системы обобщенных,
координат на двух отдельных рисун¬
ках.
3.2. На рис. 3.13 изображена точка,
имеющая в некоторой промежуточной
системе координат (хь уь zt) коорди¬
наты (—1, 1, 2). Система координат
(хь уь Z]) движется поступательно
относительно абсолютной системы ко¬
ординат (х0, уо, Zo) со скоростью, рав¬
ной 3й + 2/j 4- 4k, где i, j, k — еди¬
ничные векторы в направлении осей х0,
Уо и z0 соответственно. Найти ускоре¬
ние указанной точки относительно аб¬
солютной системы координат.
3.3. Положение точки, неподвиж¬
ной относительно системы координат
0*X*Y*Z* (разд. 3.3.1 и 3.3.2), задается
в системе координат OXYZ вектором
r(t) = 3/i + 2/j + 4k, где i, j, k — единичные векторы в направлении основ¬
ных осей абсолютной системы координат OXYZ. Система 0*X*Y*Z* вра¬
щается относительно системы OXYZ с угловой скоростью и> = (О, О, I)7..
Найти кориолисово и центростремительное ускорения.
Рис. 3.13.
3.4. Чем различаются равенства (3.3-13) и (3.3-17), если a) h = 0 и
б) dh/dt = 0, т. е. h — постоянный вектор.
3.5. На рис. 3.14 изображен куб массой М, длина стороны которого рав¬
на 2а. (хо, у», zo) — абсолютная система координат, (u, v, w) — система ко¬
ординат, связанная с кубом, (хцм, уцм, гцм) — другая связанная с кубом
система координат, начало которой совпадает с центром масс куба.
6*
а) Найти тензор ннерцин куба в системе координат (х0, у0, z<>).
б) Найти тензор инерции куба относительно центра масса в системе ко¬
ординат (хЦм, уцм, гцМ).
3.6. Рассмотрите упр. 3.5 для прямоугольного параллелепипеда, показан¬
ного на рис. 3.15.
Рис. 3.14.
3.7. Предположим, что куб из упр. 3.5 был повернут на угол а вокруг
оси z0, а затем на угол 0 вокруг оси и. Определите тензор инерции в системе
координат (хо, у о, zo).
3.8. Рассмотрите упр. 3.7 для прямоугольного параллелепипеда из
упр. 3.6.
3.9. Мы выяснили, что уравнения Ньютона — Эйлера в применении к за¬
даче описания динамики движения манипулятора значительно более эффек¬
тивны в вычислительном плане, чем уравнения Лагранжа — Эйлера. Тем не
менее некоторые исследователи все-таки пользуются уравнениями Лагран¬
жа — Эйлера. Почему? (Приведите две причины.)
3.10. Специалист в области робототехники утверждает, что если мани¬
пулятор движется очень медленно, то слагаемые, учитывающие в уравнениях
Лагранжа — Эйлера кориолисовы и центробежные силы и моменты, можно
опустить. Будут ли такие упрощенные уравнения более эффективны с вы¬
числительной гочки зрения, чем уравнения Ньютона—Эйлера? Обоснуйте
свой ответ,
164
3.11. В этой главе нами рассмотрены два различных способа описания
динамики движения манипулятора, а именно уравнения Лагранжа — Эйлера
и уравнения Ньютона — Эйлера. Поскольку и те и другие описывают одну
и ту же физическую систему, они должны быть эквивалентны. С помощью
уравнений Лагранжа — Эйлера в заданной точке (qd(ii), qd(ii), q<i(^i)) тра¬
ектории манипулятора, соответствующей моменту времени 11, можно опреде¬
лить матрицу D(qd(/i)) и векторы h(qd(ii), qd{ti)), c(qd(ii)). Попытайтесь
сформулировать алгоритм нахождения этих же характеристик в этой же
самой точке траектории с помощью уравнений Ньютона — Эйлера, не ис¬
пользующий уравнений Лагранжа — Эйлера.
3.12. Решением упр. 3.11 является метод зондирования. Предположим,
что для вычисления управляющих моментов некоторого манипулятора тре¬
буется выполнить N операций умножения и М операций сложения. Зная М,
N и п, определите минимальное число сложений и умножений, необходимых
для вычисления матрицы D (q). Здесь п — число звеньев манипулятора.
3.13. В уравнениях движения манипулятора, полученных методом Лаг¬
ранжа— Эйлера, вектор силы тяжести g представляет собой вектор-строку
вида (0, 0, —|g|, 0), где отрицательный знак соответствует земной системе
координат. В уравнениях Ньютона — Эйлера в соответствии с табл. 3.2 влия¬
ние силы тяжести учитывается в земной системе вектором (0, 0, |g|)f, н
здесь знак «—» отсутствует. Объясните это противоречие.
3.14. В рекуррентные уравнения Ньютона — Эйлера входит матрица
(*RoI>°R>), представляющая собой тензор инерции i-ro звена в i-й системе
координат. Найдите связь между этой матрицей и матрицей инерции J,-,
входящей в уравнения Лагранжа — Эйлера
3.15. Сравните отличия между представлениями уповой скорости и ки¬
нетической энергии в уравнениях Лагранжа — Эйлера и Ньютона—Эйлера,
заполнив следующую таблицу:
165
ч
Рис. 3.16.
Ч
Рис. 3.17,
Метод
Метод
Лагранжа —Эйлера
Ньютона — Эйлера
Угловая скорость
-Кинетическая энергия
3.16. Двухзвенный манипулятор, показанный на рис. 3.16, прикреплен к
потолку н находится под действием силы тяжести (g = 9,8062 м/с2); (х0,
Уо, z0) — абсолютная система координат; 0Ь 02 — обобщенные координаты;
di, di—длины звеньев; ти пи— массы звеньев. Будем считать, что масса
каждого из звеньев сосредоточена в крайней точке звена.
а) Найдите матрицы ‘—'A,-, i = 1,2.
б) Найдите матрицу инерции J, для каждого звена.
в) Получите уравнения Лагранжа — Эйлера для этого манипулятора,
предварительно определив элементы матриц D(0), h(0, 0) и с(0).
3.17. Рассматривая манипулятор нз упр. 3.16, проделайте следующие
шаги вывода уравнений Ньютона — Эйлера.
а) Укажите начальные условия для рекуррентных уравнений Ньютона —
Эйлера.
б) Найдите тензор инерции ‘RoIi°R< для каждого_звена.
в) Найдите остальные параметры, такие, как ‘R^ и 1R0Pj, используемые
е уравнениях Ньютона — Эйлера.
г) Получите уравнения Ньютона — Эйлера для рассматриваемого мани¬
пулятора, полагая, что fn+i и n„^i имеют нулевые значения.
3.18. Воспользуйтесь уравнениями Лагранжа — Эйлера для описания ди¬
намики движения двухзвенного манипулятора, показанного на рис. 3.17.
Здесь (хо, у», zo) —абсолютная система координат; 0 и d — обобщенные
координаты; ти тг—массы звеньев. Предполагается, что масса mt 1-го
звена расположена в точке, находящейся на постоянном расстоянии rt от
оси вращения 1-го сочленения, а масса т2 2-го звена сосредоточена в край¬
ней точке 2-го звена.
Глава 4.
ПЛАНИРОВАНИЕ
ТРАЕКТОРИЙ МАНИПУЛЯТОРА
Какая путаница! Но как она сплани¬
рована!
Александр Поп
4.1. ВВЕДЕНИЕ
Рассмотрев в предыдущих главах вопросы кинематики и дина¬
мики манипулятора, обратимся теперь к задаче выбора закона
управления, обеспечивающего движение манипулятора вдоль не¬
которой заданной траектории. Перед началом движения мани¬
пулятора важно знать, во-первых, существуют ли на его пути
какие-либо препятствия, и, во-вторых, накладываются ли какие-
либо ограничения на траекторию схвата. В зависимости от от¬
ветов на эти два вопроса закон управления манипулятором при¬
надлежит к одному из четырех типов, указанных в табл. 4.1. Из
таблицы видно, что задача управления манипулятором распа¬
дается на две взаимосвязанные подзадачи — выбор (планирова¬
ние) траектории и осуществление движения манипулятора вдоль
выбранной траектории. В этой главе рассмотрены различные
способы планирования траекторий манипулятора при отсутствии
Таблица 4.1. Типы управления манипулятором
Препятствия на пути манипулятора
присутствуют
отсутствуют
Ограниче¬
ния
на траек¬
торию
манипу¬
лятора
Присутст¬
вуют
Автономное планирова¬
ние траектории, обес¬
печивающее обход
препятствий, плюс
регулирование движе¬
ния вдоль выбранной
траектории в процессе
работы манипулятора
Автономное планирова¬
ние траектории плюс
регулирование дви¬
жения вдоль выбран¬
ной траектории в про¬
цессе работы мани¬
пулятора
Отсутст¬
вуют
Позиционное управле¬
ние плюс обнаруже¬
ние и обход препят¬
ствий в процессе дви¬
жения
Позиционное управле¬
ние
168
препятствий на пути движения. Введен формализм описания за¬
данной траектории манипулятора в виде последовательности
точек пространства, в которых заданы положение и ориентация
манипулятора, и пространственной кривой, соединяющей эти
точки. Кривую, вдоль которой схват манипулятора движется из
начального положения в конечное, будем называть траекторией
схвата. Наша задача состоит в разработке математического ап¬
парата для выбора и описания желаемого движения манипуля¬
тора между начальной и конечной точками траектории.
Суть различных способов планирования траекторий манипу¬
лятора сводится к аппроксимации или интерполяции выбранной
траектории полиномами некоторого класса и к выбору некото¬
рой последовательности опорных точек, в которых производится
коррекция параметров движения манипулятора на пути от на¬
чальной к конечной точке траектории. Начальная и конечная
точки траектории могут быть заданы как в присоединенных, так
и в декартовых координатах. Более часто, однако, используют
для этого декартовы координаты, поскольку в них удобнее зада¬
вать правильное положение схвата. Кроме того, присоединенные
координаты непригодны в качестве рабочей системы координат
еще и потому, что оси сочленений большинства манипуляторов
не ортогональны, вследствие чего невозможно независимое опи¬
сание положения и ориентации схвата. Если же в начальной и
конечной точках траектории требуется знание присоединенных
координат, их значения можно получить с помощью программы
решения обратной задачи кинематики.
Как правило, траектория, соединяющая начальное и конеч¬
ное положения схвата, не единственна. Возможно, например,
перемещение манипулятора как вдоль прямой, соединяющей на¬
чальную и конечную точки (прямолинейная траектория), так и
вдоль некоторой гладкой кривой, удовлетворяющей ряду огра¬
ничений на положение и ориентацию схвата на начальном и ко¬
нечном участках траектории (сглаженная траектория). В этой
главе рассмотрен аппарат планирования как прямолинейных,
так и сглаженных траекторий. Сначала мы рассмотрим наибо¬
лее простой случай планирования траекторий, удовлетворяющих
некоторым ограничениям на характер движения схвата, а затем
полученный способ обобщим с целью учета ограничений дина¬
мики движения манипулятора.
По смыслу планировщик траекторий можно рассматривать
как «черный ящик» (рис. 4.1). На вход планировщика траекто¬
рий подаются некоторые переменные, характеризующие накла¬
дываемые на траекторию ограничения. Выходом является задан¬
ная во времени последовательность промежуточных точек, в ко¬
торых определены в декартовых или присоединенных координа¬
тах положение, ориентация, скорость и ускорение схвата и через
которые манипулятор должен пройти на пути от начальной к
169
конечной точке траектории. При планировании траекторий
обычно применяется один из двух следующих подходов. Первый
состоит в том, что исследователь задает точный набор ограни¬
чений (например, непрерывность и гладкость) на положение,
скорость и ускорение обобщенных координат манипулятора в
некоторых (называемых узловыми) точках траектории. Плани¬
ровщик траекторий после этого выбирает из некоторого класса
функций (как правило, среди многочленов, степень которых не
Ограничения
на траекторию
Характерис¬
тики
траектории
Лланировирик
траекторий
-**{<{&, \(t), %(t)}
■ {pit), Фф, v(t), ami
Ограничения
дикамики
манипулятора.
Рис. 4.1. Блок-схема планировщика траекторий.
превышает некоторое заданное я) функцию, проходящую через
узловые точки и удовлетворяющую в них заданным ограниче¬
ниям. Второй подход состоит в том, что исследователь задает
желаемую траекторию манипулятора в виде некоторой анали¬
тически описываемой функции, как, например, прямолинейную
траекторию в декартовых координатах. Планировщик же произ¬
водит аппроксимацию заданной траектории в присоединенных
или декартовых координатах. В первом подходе определение
ограничений и планирование траектории производятся в при¬
соединенных координатах. Поскольку на движение схвата ни¬
каких ограничений не накладывается, исследователю трудно
представить реализуемую траекторию схвата, и поэтому возни¬
кает возможность столкновения с препятствиями, информация
о наличии которых на пути схвата отсутствует. При втором под¬
ходе ограничения задаются в декартовых координатах, в то
время как силовые приводы реализуют изменение присоединен¬
ных координат. Поэтому для нахождения траектории, доста¬
точно точно аппроксимирующей заданную, с помощью прибли¬
женных функциональных преобразований переходят от ограни¬
170
чений, заданных в декартовых координатах, к ограничениям, за¬
данным в присоединенных координатах, и только после этого
отыскивают среди функций заданного класса траекторию, удов¬
летворяющую ограничениям, выраженным в присоединенных
координатах.
Названные выше два подхода к планированию траекторий
манипулятора можно было бы использовать для эффективного
(практически в реальном времени) построения последователь¬
ностей узловых точек траекторий манипулятора. Однако зада¬
ваемая во времени последовательность векторов {q(0> Ч(0>
q(^)} в пространстве присоединенных переменных формируется
без учета ограничений динамики манипулятора, что может при¬
водить к возникновению больших ошибок слежения при управ¬
лении манипулятором. Этот вопрос рассмотрен в разд. 4.4.3.
4.2. ОБЩАЯ ПОСТАНОВКА ЗАДАЧИ ПЛАНИРОВАНИЯ
ТРАЕКТОРИЙ
Планирование траекторий может производиться как в при¬
соединенных, так и в декартовых координатах. При планирова¬
нии траектории в присоединенных координатах для полного
описания движения манипулятора задается зависимость от вре¬
мени всех присоединенных переменных, а также их первых двух
производных. Если планирование траектории ведется в декарто¬
вых координатах, задается зависимость от времени положения,
скорости и ускорения схвата и по этой информации опреде¬
ляются значения присоединеных координат, их скоростей и
ускорений. Планирование в присоединенных переменных обла¬
дает тремя преимуществами: 1) задается поведение переменных,
непосредственно управляемых в процессе движения манипуля¬
тора; 2) планирование траектории может осуществляться прак¬
тически в темпе реального времени; 3) траектории в присоеди¬
ненных переменных легче планировать. Недостатком является
сложность определения положения звеньев и схвата в процессе
движения. Такая процедура часто необходима для того, чтобы
избежать столкновения с препятствиями, имеющимися на пути
манипулятора.
В общем случае основной алгоритм формирования узловых
точек траектории в пространстве присоединенных переменных
весьма прост:
t = t0;
цикл: ждать следующего момента коррекции;
t = t + At;
h(0 = заданное положение манипулятора в пространстве присоединен¬
ных переменных в момент времени t\
Если t = tf, выйти из процедуры:
Выполнить цикл;
171
Здесь A (t)—интервал времени между двумя последователь¬
ными моментами коррекции параметров движения манипуля¬
тора.
Из приведенного выше алгоритма видно, что все вычисления
производятся для определения траекторией функции h(^), кото¬
рая должна обновляться в каждой точке коррекции параметров
движения манипулятора. На планируемую траекторию наклады¬
ваются четыре ограничения. Во-первых, узловые точки траекто¬
рии должны легко вычисляться нерекуррентным способом. Во-
вторых, промежуточные положения должны определяться одно¬
значно. В-третьих, должна быть обеспечена непрерывность при¬
соединенных координат и их двух первых производных, чтобы
планируемая траектория в пространстве присоединенных пере¬
менных была гладкой. Наконец, в-четвертых, должны быть све¬
дены к минимуму бесполезные движения типа «блуждания».
Перечисленным ограничениям удовлетворяют траектории,
описываемые последовательностями полиномов. Если для описа¬
ния движения некоторого, например, г-го сочленения исполь¬
зуется последовательность р полиномов, они должны содержать
3(^+1) коэффициентов, выбираемых в соответствии с началь¬
ными и конечными условиями по положению, скорости и уско¬
рению и условием непрерывности этих характеристик на всей
траектории. Если добавляется дополнительное ограничение, на¬
пример задается положение в некоторой промежуточной точке
траектории, то для выполнения этого условия требуется допол¬
нительный коэффициент. Как правило, задаются два дополни¬
тельных условия по положению (вблизи начальной точки тра¬
ектории и вблизи конечной), обеспечивающих безопасные на¬
правления движения на начальном и конечном участках траек¬
тории и более высокую точность управления движением. В этом
случае изменение каждой присоединенной переменной может
быть описано одним полиномом седьмой степени или двумя
полиномами четвертой степени и одним — третьей (4-3-4) или
двумя полиномами третьей степени и одним — пятой (3-5-3),
или пятью кубическими полиномами (З-З-З-З-З). Эти способы
рассмотрены в следующих разделах.
Если планирование траектории производится в декартовых
координатах, приведенный выше алгоритм преобразуется к сле¬
дующему виду:
t = t0-,
цикл: ждать следующего момента коррекции;
t == to -f*
н (О = положение схвата манипулятора в декартовом пространстве
в момент t;
Q[H (01 = вектор присоединенных координат, соответствующих H(f)5
Если t = tf, выйти из процедуры;
Выполнить цикл;
172
Здесь помимо вычисления траекторной функции Н(Н в каж¬
дой точке коррекции параметров движения манипулятора тре¬
буется определить значения присоединенных переменных, соот¬
ветствующие вычисленному положению схвата. Матричная
функция Н(Н описывает положение схвата манипулятора в аб¬
солютном пространстве в момент времени t и, как показано в
разд. 4.4, представляет собой матрицу преобразования однород¬
ных координат размерностью 4X4.
В общем случае планирование траекторий в декартовых ко¬
ординатах состоит из двух последовательных шагов: 1) форми¬
рование последовательности узловых точек в декартовом прост¬
ранстве, расположенных вдоль планируемой траектории схвата;
2) выбор некоторого класса функций, описывающих (аппрокси¬
мирующих) участки траектории между узловыми точками в со¬
ответствии с некоторым критерием. Используемый на втором
шаге критерий выбирается, как правило, с учетом применяемых
впоследствии алгоритмов управления с тем, чтобы гарантиро¬
вать возможность движения вдоль выбранной траектории. Су¬
ществуют два основных подхода к планированию траекторий в
декартовом пространстве. В первом из них большинство вычис¬
лений, оптимизация траекторий и последующее регулирование
движения производятся в декартовых координатах Х Узловые
точки на заданной прямолинейной траектории в декартовом
пространстве выбираются через фиксированные интервалы вре¬
мени. Вычисление значений присоединенных координат в этих
точках производится в процессе управления движением мани¬
пулятора. Методы описания прямолинейного движения между
последовательными узловыми точками изложены в работах
[181, 228, 282]. Второй подход состоит в аппроксимации прямо¬
линейных участков траектории в декартовом пространстве тра¬
екториями в пространстве присоединенных переменных, получен¬
ными в результате интерполяции траектории между соседними
узловыми точками полиномами низкой степени. Регулирование
движения в этом подходе производится на уровне присоединен¬
ных переменных 2). И предложенный Тейлором [282] метод по¬
строения траекторий с ограниченными отклонениями, и разра¬
ботанный Лином метод описания траекторий кубическими сплай¬
нами [172] используют аппроксимацию прямолинейной траек¬
тории полиномами низкой степени в пространстве присоединен¬
ных переменных.
1} Подаваемый на привод управляющий сигнал вычисляется по рассогла¬
сованию между текущим и заданным положениями схвата в декартовом
пространстве.
2> Подаваемый на привод управляющий сигнал вычисляется по рассо¬
гласованию между текущим и заданным положениями манипулятора в про¬
странстве присоединенных координат.
173
Первый из названных выше подходов к планированию траек¬
торий в декартовом пространстве позволяет обеспечить высокую
точность движения вдоль заданной траектории. Однако все из¬
вестные алгоритмы управления движением строятся с учетом
отсутствия датчиков, измеряющих положение схвата в дакарто-
вом пространстве, в пространстве присоединенных переменных.
Это приводит к необходимости производить преобразование де¬
картовых координат схвата в вектор присоединенных координат
манипулятора в процессе движения — задача, требующая боль¬
шого количества вычислений и нередко увеличивающая время
управления манипулятором. Кроме того, переход от декартовых
к присоединенным координатам плохо обусловлен из-за отсутст¬
вия взаимно-однозначного соответствия между этими координа¬
тами. Далее, требования к траектории (непрерывность, глад¬
кость, граничные условия) формулируются в декартовых коор¬
динатах, в то время как ограничения динамики, подлежащие
учету на этапе планирования траектории, задаются в простран¬
стве присоединенных переменных. В результате приходится ре¬
шать задачу оптимизации с ограничениями, заданными в раз¬
личных системах координат.
Перечисленные недостатки первого подхода приводят к тому,
что более широко используется второй подход, основанный на
преобразовании декартовых координат узловых точек в соот¬
ветствующие присоединенные координаты с последующим про¬
ведением интерполяции в пространстве присоединенных пере¬
менных полиномами низкой степени. Этот подход обеспечивает
меньшие (по сравнению с первым) вычислительные затраты и
облегчает учет ограничений динамики манипулятора. Однако
точность движения вдоль заданной в декартовом пространстве
траектории при этом снижается. В разд. 4.4 мы рассмотрим не¬
сколько схем планирования траекторий, использующих указан¬
ные подходы.
4.3. СГЛАЖЕННЫЕ ТРАЕКТОРИИ В ПРОСТРАНСТВЕ
ПРИСОЕДИНЕННЫХ ПЕРЕМЕННЫХ
При управлении манипулятором, прежде чем приступить
к планированию траектории движения, необходимо определить
конфигурации манипулятора в начальной и конечной точках
траектории. Планирование сглаженных траекторий в простран¬
стве присоединенных переменных следует производить с учетом
следующих соображений [226]:
1. В момент поднятия объекта манипулирования движение
схвата должно быть направлено от объекта; в противном слу¬
чае может произойти столкновение схвата с поверхностью, на
которой расположен объект.
174
2. Если задать точку ухода на проходящей через начальное
положение схвата нормали к поверхности, на которой располо¬
жен объект, и потребовать, чтобы траектория схвата проходила
через эту точку, тем самым будет задано допустимое движение
ухода. Задавая время, за которое схват попадет в эту точку,
можно управлять скоростью движения схвата на начальном уча¬
стке (участке ухода).
3. Аналогичные условия можно сформулировать для участка
подхода к заданному конечному положению: схват должен
Рис. 4.2. Ограничения по положению для траектории в пространстве при¬
соединенных переменных.
пройти через точку подхода, расположенную на проходящей че¬
рез конечное положение схвата нормали к поверхности, на ко¬
торую должен быть помещен объект манипулирования. Это
обеспечит правильное направление движения на конечном уча¬
стке траектории (участке подхода).
4. Из сказанного следует, что любая траектория движения
манипулятора должна проходить через четыре заданные точки:
начальную точку, точку ухода, точку подхода и конечную точку
(рис. 4.2).
5. На траекторию накладываются условия:
а) начальная точка: заданы скорость и ускорение (обычно
нулевые);
б) точка ухода: непрерывность положения, скорости и уско¬
рения;
в) точка подхода: то же, что и для точки ухода;
г) конечная точка: заданы скорость и ускорение (обычно
нулевые)-
175
6. Значения присоединенных координат должны лежать в
пределах физических и геометрических ограничений каждого из
сочленений манипулятора.
7. При определении времени движения необходимо учесть
следующее:
а) время прохождения начального и конечного участков тра¬
ектории выбирается с учетом требуемой скорости подхода и
ухода схвата и представляет собой некоторую константу, зави¬
сящую от характеристик силовых приводов сочленений,
б) Время движения по среднему участку траектории опре¬
деляется максимальными значениями присоединенных скоростей
и ускорений каждого из сочленений. Для нормировки исполь¬
зуется максимальное время, необходимое для прохождения это¬
го участка траектории наиболее медленным сочленением.
Условия, которым должна удовлетворять типичная сглажен¬
ная траектория в пространстве присоединенных переменных, пе¬
речислены в табл. 4.2. Требуется выбрать некоторый класс по¬
линомиальных функций степени не выше п, позволяющих про¬
изводить интерполяцию траектории по заданным узловым точ¬
кам (начальная точка, точка ухода, точка подхода, конечная
точка), обеспечивающую выполнение условия непрерывности
положения, скорости и ускорения на всем интервале времени
[to, tf]. Один из способов состоит в том, чтобы описать движе-
Таблица 4.2. Ограничения на траекторию в пространстве
присоединенных переменных
Начальная точка-.
1. Положение (задано).
2. Скорость (задана; обычно нулевая).
3. Ускорение (задано; обычно нулевое).
Промежуточные точки:
4. Положение в точке ухода (задано).
5. Положение в точке ухода (изменяется непрерывно при переходе ме¬
жду последовательными участками траектории).
6. Скорость (изменяется непрерывно при переходе между последова¬
тельными участками траектории).
7. Ускорение (изменяется непрерывно при переходе между последова¬
тельными участками траектории).
8. Положение в точке подхода (задано).
9. Положение в точке подхода (изменяется непрерывно при переходе
между последовательными участками траектории).
10. Скорость (изменяется непрерывно при переходе между последова¬
тельными участками траектории).
11. Ускорение (изменяется непрерывно при переходе между последова¬
тельными участками траектории).
Конечная точка:
12. Положение (задано).
13. Скорость (задана; обычно нулевая).
14. Ускорение (задано; обычно нулевое).
176
ние t-ro сочленения полиномом седьмой степени
Qi (i) = a7t7 + a§tb + щ!5 + a4/4 + a?}3 + a2t2 + оф -f- a0, (4.3-1)
в котором неизвестные коэффициенты о;- определяются из за¬
данных граничных условий и условий непрерывности. Однако
использование такого полинома высокой степени обладает це¬
лым рядом недостатков. В частности, представляет трудность
определение его экстремальных значений. Кроме того, интер¬
поляция полиномами высокой степени подвержена возникнове¬
нию «биений» интерполирующей функции, обусловливающих
бесполезные движения манипулятора. Альтернативный подход
состоит в том, чтобы разбить траекторию движения на несколько
участков и каждый из этих участков интерполировать полино¬
мом низкой степени. Существуют различные способы разбиения
траектории на участки, каждый из которых обладает достоин¬
ствами и недостатками. Наиболее распространены следующие
способы:
4-3-4-траектории. Траектория изменения каждой присоеди¬
ненной переменной разбивается на три участка. Первый уча¬
сток, задающий движение между начальной точкой и точкой
ухода, описывается полиномом четвертой степени. Второй
(средний) участок траектории между точкой ухода и точкой
подхода описывается полиномом третьей степени. Последний
участок траектории между точкой подхода и конечной точкой
описывается полиномом четвертой степени.
3-5-3-траектории. Разбиение траектории на участки произво¬
дится так же, как для 4-3-4-траекторий, но используются дру¬
гие полиномы: первый участок описывается полиномом третьей
степени, второй участок — полиномом пятой степени, последний
участок — полиномом третьей степени.
Кубический сплайн. Используется кубический сплайн при
разбиении траектории на пять участков.
Заметим, что все предыдущие рассуждения относятся к опи¬
санию траектории каждой присоединенной переменной, т. е. на
три или на пять участков разбивается траектория каждой при¬
соединенной переменной. Следовательно, число полиномов, ис¬
пользуемых для полного описания 4-3-4-траектории /V-звенного
манипулятора, равно N X 3 = ЗА, а число подлежащих опреде¬
лению коэффициентов равно 7N. При этом требуется еще опре¬
делить экстремумы для всех 3N участков траекторий. В сле¬
дующем разделе мы рассмотрим схемы планирования 4-3-4-
траекторий и траекторий, задаваемых кубическими сплайнами.
4.3.1. Расчет 4-3-4-траектории
В связи с тем, что для каждого участка траектории тре¬
буется определить N траекторий присоединенных переменных,
удобно воспользоваться нормированным временем t е [0, 1].
177
Это позволяет достичь единообразия уравнений, описывающих
изменение каждой из присоединенных переменных на каждом
участке траектории. При этом нормированное время будет из¬
меняться от i = 0 (начальный момент для каждого из участков
траектории) до t = 1 (конечный момент для каждого из участ¬
ков траектории). Введем следующие обозначения:
i—нормированное время, ^е[0, 1]; т — реальное время,
измеряемое в секундах; т; — момент (в реальном времени) окон¬
чания г'-го участка траектории; ti — xi— т»—г — интервал реаль¬
ного времени, затрачиваемый на прохождение i-го участка тра¬
ектории;
'> Т€Е bi-ь *е=[0, 1].
тг %t~\
Траектория движения /-й присоединенной переменной задается
в виде последовательности полиномов hi(t). На каждом участке
траектории для каждой присоединенной переменной используе¬
мые полиномы, выраженные в нормированном времени, имеют
вид
(t) = a^t4 + al3(3 + al2t2 + aut + а10 (1-й участок), (4.3-2)
h (0 = <hf + a22t2 + a2lt + а20 (2-й участок), (4.3-3)
hn{t) = + an3t3 + an2t2 + anlt + ап0 (последний участок).
(4.3-4)
Индекс у переменной, стоящей в левой части каждого из ра¬
венств, обозначает номер участка траектории; п-й участок —
последний. Индексы в обозначении неизвестных коэффициентов
dji имеют следующий смысл: i-й коэффициент для /-го участка
траектории рассматриваемой присоединенной переменной. Гра¬
ничные условия, которым должна удовлетворять выбранная си¬
стема полиномов, следующие:
1. Начальное положение = Эо = 0(^о)•
2. Значение начальной скорости =Vo (обычно нулевое).
3. Значение начального ускорения = а0 (обычно нулевое).
4. Положение в точке ухода = 0i = 0(/)).
5. Непрерывность по положению в момент t\ (т. е. 0(^-)~
= 0 (л+))-
6. Непрерывность по скорости в момент t\ (т. е. v(ti ) = v {tt)).
7. Непрерывность по ускорению в момент t\ (т. е. a{tj)=a{tt))-
8. Положение в точке = 02 = 0 (^г)-
9. Непрерывность по положению в момент t2 (т. е. 0(^) =
= 0 Ш))•
10. Непрерывность по скорости в момент t2 (т. е. v(t2) = v {t2)).
178
11. Непрерывность по ускорению в момент t2 (т. е. a(t2) =
= a {tt)).
12. Конечное положение = 0f = 0 (tf).
13. Значение конечной скорости=vf (обычно нулевое).
14. Значение конечного ускорения = af (обычно нулевое).
Граничные условия для 4-3-4-траекторий показаны на
рис. 4.3. Первую и вторую производные рассматриваемых поли¬
ву) к $(ф
Рис. 4.3. Граничные условия для 4-3-4-траекторин в пространстве присоеди¬
ненных переменных.
номов относительно реального времени можно представить в
следующем виде:
,л dhi (t) dhi (t) dt 1 dhi (t)
vi UJ ^ ■
dr dt dr dt
= = г‘=1-2’ n-, (4.3-5)
dr2 (w/ dt2 t] dt2 t] lW’
t'=l,2, n. (4.3-6)
Для описания первого участка траектории используется по¬
лином четвертой степени
(0 = + fli3^3 + o,\2t2 ~Ь ai\t Д Янь t s [0» 1 ]■ (4.3-7)
179
С учетом равенств (4.3-5) и (4.3-6) скорость и ускорение на
этом участке имеют вид
h\ (t) 4а1413 -J- 3ai3t2 + 2ai2l +ац /л 0 m
— ^ - (4.0-6)
/,•, hi (t) 12ai4^2 + 6a|3f -j- 2a12 „ Q.
U\ 2 .2 •
4 M
1. Для t = 0 (начальная точка данного участка траекто¬
рии). Из граничных условий в этой точке следует
а\а — К (0) = 60 (60 —задано), (4.3-10)
hi (0) ____ Г 4а|413 + За1312 + 2 al2t + Дц 1 _ ап (43_]П
0 U L U Jf-o 11 ‘ ‘
Отсюда имеем an = v4\ и
а hi (0) Г 12al4l2 -j- 6aKt -j- 2а[2 ~| 2al2 (4 3-12)
*1 L *1 Jf-o
a0‘i
что позволяет получить aI2 =
2 '
Подставляя найденные значения коэффициентов в равенство
(4.3-7), получим
(0 — а\4^ + а\г^ + £—2~] + (y</i) ^ + б(ъ t е [О» !]• (4.3-13)
2. Для t— 1 (конечная точка данного участка траектории).
В этой точке мы ослабим накладываемые граничные условия,
сняв требование точного прохождения траектории через задан¬
ное положение, но оставив условия непрерывности по скорости
и ускорению. Эти условия означают, что скорость и ускорение
в конце первого участка траектории должны совпадать со ско¬
ростью и ускорением в начале второго участка. В конце пер¬
вого участка скорость и ускорение соответственно равны
0l (J) A 0i = Ml = 4a14 + 3a13 + V( + V^ (4>3_14)
м * \
Д МО 12a14 + 6a,3 + a0<( /4oie\
£Zi(l) = cZi =—-g— = -g • (4.3-15)
h h
Для описания второго участка траектории используется по¬
лином третьей степени
^2 (0 = а23^ 4" 4" a2lt 4~ %)> ^ е [6, 1]. (4.3-16)
180
1. Для t = 0 (точка ухода). Пользуясь равенствами (4.3-5)
и (4.3-6) в этой точке, имеем
^2 (0) = а20 = ^2 (0)) (4.3-17)
fi2 (0) Г За231г + 2а221 + Q21 1 Q21 14 3-181
1 t2 L t2 =0 t2 ' '
Отсюда следует (h\~^\h,
h2 (0) Г 6a23l -j- 2a22 "I 2a22
[6a23l -j- 2a22 1 2a22 (4 3-19)
*2 J<-o *2
a{t\
и, следовательно, a22 = —g-.
Поскольку скорость и ускорение в этой точке должны совпадать
соответственно со скоростью и ускорением в конечной точке
предыдущего участка траектории, то должны выполняться ра¬
венства
ма = А!И (4.3-20)
2 Ч 2 Ч
которые соответственно приводят к следующим условиям:
Г Загз^2 2fl22^ 4* fl2i 1 Г 4aI4?3 -j" Зопз?2 -|- 2a12^ 4* flti
ИЛИ
Li Г 4at4^ +3ai3^ -f~ 2a{2t + flti 1 3-2П
J*-o L *1 *
9i 4д t д 3a,o i
+ ^ii-f-Vi + -41 + -fL = 0 (4.3-22)
t2 ^1 ^
Г 6^23^ 4* 2^22 "1 Г 12a14^2 + 6fl|3^ + 2fl{2 ~|
L ^ Jf=o L Jf=i
(4.3-23)
или
— 2 a99 12a,, 6an а<Дт
22 + —^ + -# + -41 = 0. (4.3-24)
t2 f2 f2
2 £l £1
2. Для 1— 1 (точка подхода). В этой точке скорость и уско¬
рение должны совпадать со скоростью и ускорением в началь¬
ной точке следующего участка траектории. Для рассматривае¬
мой точки имеем
(1) = Й23 + a22 + a21 + а20. (4.3-25)
^ ^ j ч h2 (1) __ Г 3a23t2 + 2a22t -j- a2| 1 _ 3a23 -j- 2a22 -+- a2i 3.26)
2' ' 12 L 12 Jf =— i i2
fl2(l)=Mlg|'6a»3f+2a»j = 6a,3 + 2g» _ (4.3-27)
<2 *2 I2
2 L 2 Jf => 1 2
181
Для описания последнего участка траектории используется
полином четвертой степени
hn (0 = ап4* ~Ь апЗ?3 + ап2^2 + an\t + апОу t е [0. !]■ (4.3-28)
Если в этом равенстве заменить t на t~t—1 и рассматривать
зависимость от новой переменной t, тем самым мы произведем
сдвиг по нормированному времени: если переменная t изменя¬
ется на интервале [0, 1], то переменная t изменяется на интер¬
вале [—1, 0]. Равенство (4.3-28) при этом примет вид
hn (0 — ап4А + апз^3 + ат^2 ~Ь cinlt + ап0, t е [—1, 0]. (4.3-29)
Пользуясь равенствами (4.3-5) и (4.3-6), найдем скорость и
ускорение на последнем участке
. hn (t) 4anJ3 + 3an3t2 -j- 2апч1 -f- ani
tn
tn
— — ^arnt + 6a„3? + 2an2
n ' ' ±2 j2
* n * n
(4.3-30)
(4.3-31)
1. Для t=0 (конечная точка рассматриваемого участка
траектории). В соответствии с граничными условиями в этой
точке имеем
An(O) = a„o = 0f, (4.3-32)
Отсюда следует
Далее,
и, следовательно,
(4 3.33)
ап 1 = vftn.
(4.3-34)
afth
2. Для t = —1 (начальная точка последнего участка траек¬
тории). В соответствии с граничными условиями в точке под-
182
хода получаем
t2
hn (—1) = ап4 — апз 4—!-х Vftn 4* 0f = ^2 0)> (4.3-35)
hn (—1) Г 4anJ3 + 3an3t2 4- 2anti + an\ 1 __
in L in Jf=—l
_ - 4a„4 + 3a„3 - afil + v,tn g
in
hn(-\) Г 12a„4<2 + 6a„3< + 2a„2 1 12art4 - 6art3 + aft’n
Г 12a„4? + 6a„3F + 2a„2 “j
42 ~ f - " t2
Tn L ln Jf = -1 ln
(4.3-37)
Условия непрерывности скорости и ускорения в точке под¬
хода записываются следующим образом:
hi (1) hn (—1) ^ /г2 (1) hn ( 1) 3-38)
л2 Л * \ ' /
1 t Г
1п *2
ИЛИ
^4 ~ 3апЗ + afi~n — vf in 3a23 2a22 _|_ _^21_ _ q ^ 3.39)
tn 12 i 2 12
- m„ + 6«_д£- + 6^, + 20y д 0 (4 3 40)
Приращение присоединенной переменной на каждом из участ¬
ков траектории можно найти по следующим формулам:
61 = 01 — 0О = Л1 (1) — (0) == a14 4- «13 4—2 ^ (4-3-41)
$2 = 02 — 0] = Л2 (1) — ^2 (0) = «23 4~ «22 4- «21 > (4.3-42)
й t~
= 0f ~ 02 = hn (0) — hn(— 1) = — an4 + a„3 ^ h
(4.3-43)
Все неизвестные коэффициенты в полиномах, описывающих
изменение присоединенной переменной, могут быть определены
путем совместного решения уравнений (4.3-41), (4.3-22),
(4.3-24), (4.3-42), (4.3-39) и (4.3-43). Представляя эту систему
уравнений в матричной форме, получим
у = Сх, (4.3-44)
183
где
С =
У =
и-
аА
2
' voti>
0
1
-щ, -
" a0> &2>
«f/ц
+ vf,
«f, 6n
, aA
+ 2
— vfta
I
1
1
0
0
0
0
0 -
ЗА,
Ajty
1/^2
0
0
0
0
6А?
12//?
0
-2/ti
0
0
0
0
0
1
1
1
0
0
0
0
1 jt2
3/*2
-3 A„
0
0
0
2/tl
6//I
6 jtl
-12 Itl
0
0
0
0
0
l
-1
х = (a
13- aH>
«21 > «
22> a23>
)r.
(4.3-45)
(4.3-36)
(4.3-47)
Таким образом, задача планирования траектории (для каждой
присоединенной переменной) сводится к решению векторного
уравнения (4.3-44):
или
У{ 2 CtjX/
i=i
— 1
х= С у.
(4.3-48)
(4.3-49)
Структура матрицы С позволяет легко найти неизвестные коэф¬
фициенты. Кроме того, матрица, обратная С, всегда существует,
если только интервалы /г (при /=1, 2, п) положительны. Ре¬
шая уравнение (4.3-49), получаем все неизвестные коэффициен¬
ты полиномов, описывающих траекторию /-й присоединенной
координаты.
Поскольку для полинома, описывающего последний участок
траектории, нами была произведена замена, сдвигающая интер¬
вал изменения нормированного времени, то после определения
коэффициентов аш- из уравнения (4.3-49) необходимо произвести
обратную замену, состоящую в подстановке / = /—1, в равен¬
стве (4.3-29). В результате получим
hn (/) •— art4/4 + (—4ani
+ (—4a„4 + 3art3 2art2 + &n\) t (an4
t s [0, 1].
апз) t3 + (6an4 — 3a„3 + an2) t2 -f-
an3 + a.
n 2
a
n 1 «гео)>
(4.3-50)
Окончательный вид полиномов для 4-3-4-траектории, полу¬
чаемый из решения уравнения (4.3-49), представлен в табл. 4.3.
184
Таблица 4.3. Вид полиномов для 4-3-4-траектории
Первый участок траектории:
A, (t) = [б, - o0f, - ~ - а] Н + at* + [-^у-] f + (ооЛ) / + 60,
о, = Alii = JA. _ 3„0 _ ао<1 -
м Л м
__ (О __ 125i 12^о __ __ 6а
а' ~ <? “ *? <1 а° *?' •
Второй участок траектории:
Н2 (/) = [б2 - о,/2 - -^2.] f3 + [-^у2-] + to**) t + е„
U2 = МП = Ж _ 2и, --5А,
а _ AiiL = JH-_ Ai__ 2а,/2
#2 ^2 i
Последний участок траектории:
[aJ2„ ad2r 1
9б„ - 4t>2/„ - - 5of/„ + -ь£. J f4 +
+ [-86„ + 5vfta - Ар + Зо*/я] + [-^-] + Wn) * + 02,
где а = fig, и
- 0.1, [б + + ^f] - Off, - «,(,!„ [I + 2l + 2Д + |2-]ч-0,1.(„.
Таблица 4.4. Вид полиномов для 3-5-3-траектории
Первый участок траектории:
hx (t) = [б, - o0fi - ] /3 + [^у-] '2 + Ы\) t + во.
h\ (1) 36, aati
0l =______ 2оо-—.
й,(1) 66, 6и0
а, ===__^ = 2а0,
185
Продолжение табл. 4.4
Второй участок траектории-.
[аЛ\ a,,t\ I
662 - 3t>^2 - 3t>^2 - ~ + —ф J t5 +
Г За ,4 Л
+ — 1562 + &Vit2 + 7v2t2 "I g a2^2j t4 ~h
l Гтх с J и J 3a!^2 , а2*2 "1 „ , Г а1*2 1 ,
+ L1062 — 6уЦ2 — 4i>2A 2 1 2J + I “2“ J "**
+ (flA) ^ + 01.
M 1) 36 aftn
V2~ t2 ТГ 2vf+~'
Ml) —6t,f
a2=-^-=-T^ + -L-2af.
2 ln ln
Последний участок траектории:
(О = [s. - y„ + t3 + (-36„+&,<„ - afti) e +
+ [3S.-2Vn + ^YL]^ + e2.
Аналогичные вычисления применяются при расчете 3-5-3-траек¬
торий. В качестве упражнения читателю предлагается самостоя¬
тельно построить такую траекторию. Окончательный ее вид
представлен в табл. 4.4.
4.3.2. Описание траекторий кубическими сплайнами
Интерполяция заданной функции кубическими полиномами,
обеспечивающая непрерывность первых двух производных в уз¬
ловых точках, называется кубическим сплайном. Такой способ
интерполяции обеспечивает достаточную точность аппроксима¬
ции и гладкость аппроксимирующей функции. В общем случае
сплайн представляет собой в каждой точке полином степени k
с непрерывными k — 1 производными в узловых точках. В слу¬
чае кубических сплайнов непрерывность первой производной
обеспечивает непрерывность по скорости, а непрерывность вто¬
рой производной означает непрерывность по ускорению. Куби¬
ческие сплайны обладают целым рядом преимуществ. Во-пер¬
вых, это полиномы минимальной степени, обеспечивающей не¬
прерывность по скорости и ускорению. Во-вторых, низкая сте¬
пень используемых полиномов сокращает вычислительные за¬
траты и снижает возможность возникновения вычислительной
неустойчивости.
183
При использовании кубических сплайнов каждый из пяти
участков траектории описывается полиномом вида
hi (0 = а\4Ъ ~Ь а\42 + ant + aja
/=1,2, 3,4, л (4.3-51)
при T/-i sg; т т;.и (е[0, 1]. а/; обозначает /-й неизвестный
коэффициент, соответствующий /-му участку траектории; я-й
участок траектории — последний.
Применение кубических сплайнов подразумевает наличие
пяти участков траектории и шести узловых точек. Однако в на¬
ших предыдущих рассуждениях мы пользовались только че¬
тырьмя узловыми точками: начальной, точкой ухода, точкой
Рис. 4.4. Граничные условия для траектории, описываемой кубическим сплай¬
ном.
подхода и конечной. Таким образом, требуется задать еще две
узловые точки с тем, чтобы обеспечить достаточное число гра¬
ничных условий для определения неизвестных коэффициентов
a,ji. Эти дополнительные узловые точки можно выбрать на от¬
резке траектории между точкой ухода и точкой подхода. Нет
необходимости точно знать значения присоединенной коорди¬
наты в этих точках, достаточно задать моменты времени и по¬
требовать непрерывности скорости и ускорения. Таким образом,
выбранная система интерполяционных многочленов должна
удовлетворять следующим граничным условиям: 1) присоеди¬
ненная координата должна принимать заданные значения в на¬
чальной точке, точке ухода, точке подхода и конечной точке;
2) скорость и ускорение должны быть непрерывны во всех узло¬
вых точках. Граничные условия для траектории, описываемой
кубическим сплайном, представлены на рис. 4.4. Значения тех
187
переменных, которые на рисунке подчеркнуты, известны до на¬
чала расчета планируемой траектории.
Первая и вторая производные используемых полиномов по
отношению к реальному времени соответственно равны
где tj — интервал реального времени, затрачиваемый на про¬
хождение /-го участка траектории. Заданные положение, ско¬
рость и ускорение в начальной и конечной точках траектории,
а также положения в точках ухода и подхода полностью опре¬
деляют коэффициенты полиномов hi(t) и hn(t), описывающих
начальный и конечный участки траектории. При известных h\(t)
и hn{t) коэффициенты полиномов h2(t), h3(t), hi{t) определяют¬
ся из условий непрерывности в узловых точках.
Первый участок траектории описывается полиномом
При / = 0 в соответствии с начальными условиями имеем
и, следовательно, а и = 2 ■.
При (=1 в соответствии с условием, накладываемым на поло¬
жение в точке ухода, имеем
1= 1, 2, 3, 4, п,
hj (f) -|- 2Лу*2
(4.3-52)
j = 1, 2, 3, 4, п.
(4.3-53)
hi (0 = ctl3t3 + a[2t2 + ant + al0.
(4.3-54)
hi (0) = aw = 0O (0O задано),
A hi (0) _ an
Vq ■
(4.3-55)
(4.3-56)
Отсюда получаем au = vHi- Далее,
„ A hi (0) 2ai2
0 .2 T2,
(4.3-57)
ct0 t\
hi (1) = al3 4—+ V(f\ + 0q — 0;
(4.3-58)
Отсюда легко найти
«13 -=<>! — twi
(4.3-59)
188
где 6i = 0г — 0,_,. Таким образом, первый участок траектории
полностью определен
А, (0 = [б, - v4x - -у-] t3 + [-^у-] *2 + Ш t + 0О. (4.3-60)
В соответствии с выражением (4.3-60) скорость и ускорение в
конечной точке первого участка траектории равны
МВД 36, — (a0tf)/2 — 2v0t{ 36, о a0tl о
-у- = 0!= ^ — —-2и0 г, (4.3-bl)
А,(1) д 66, — 2a0t] — 66, 6Vq
— = а, = -2 = —2 —
г, г, г, г.
2а0. (4.3-62)
Эти скорость и ускорение должны совпадать соответственно
со скоростью и ускорением в начальной точке следующего
участка траектории.
Последний участок траектории описывается полиномом
ha (t) = an3t3 + an2t2 + anlt + an0. (4.3-63)
Пользуясь граничными условиями для ^ = 0 и t = 1, получаем
К (0) = ап0 = 0„ (0„ —задан), (4.3-64)
hn (1) = ап3 + ап2 + anl + 0rt = 0f, (4.3-65)
hn (1) Д ^ __ Загаз 2аП2 4- о-п\ ^ 3-66)
tn tn
hn (1) Д ^ __ бДпз ~Ь 2аП2 ^ 3-67)
Решая эти уравнения относительно неизвестных коэффициен¬
тов апз, аге2, а„,, получаем
hn (t) = [б, ~ о* + ~y~] t3 + (—36rt + Зо* - aftl) t2 +
-f [зб„ — 2о* H—^ + 0rt, (4.3-68)
где 6n = 0f — 0„.
Второй участок траектории описывается полиномом
h2 (t) = a23t3 -f- a22^2 + a2if + fl2o- (4.3-69)
Из условий непрерывности по положению, скорости и ускоре¬
нию в точке ухода находим
h2 (0) = Ого = 0, (0, — известно), (4.3-70)
fi2 (0) а21 hi (1) ,. „ ...
Отсюда следует а21 = vih,
Й2 (0) 2а22 _ hi (1)
1 _ f2 t2 t2
l2 c2 M
j2
a,
и, следовательно, a22
(4.3-72)
axt2
2 '
С учетом найденных коэффициентов можно записать
h2 (t) = а23/3 + [^] t2 + (v{t2) t + 8„ (4.3-73)
36. 0 a0t i 66. 6о0 0
где v, = - 2v0 2—, с, = -5 f--2a0.
?! i t\ tx
Остается найти коэффициент a2з. С помощью равенства (4.3-73)
найдем скорость и ускорение при t= 1, которые должны совпа¬
дать соответственно со скоростью и ускорением в начальной
точке следующего участка траектории:
^2 (1) = 02 = a23 Н 2~ ~Ь и1^2 “Ь 01> (4.3-74)
V1) .. 3a23 + a,4 + V2 За23
■V2 : = + ait 2 + —Г— , (4.3-75)
U 2 h ‘ ' /2
<2
A2(l) 6a23 + a,f2 f 6a 23 „о,™
~2 —а2 — л а\ Ч—7Г~ • (4.3-76)
г2 г2 Ц
Заметим, что каждая из величин 02, о2 и а2 зависит от значе¬
ния й23-
Третий участок траектории описывается полиномом
h3 (0 = О-зз^3 + a32)2 + <hit + азо- (4.3-77)
В точке t = Ов соответствии с условиями непрерывности по по¬
ложению скорости и ускорению имеем
Лз (0) = о.зо — 02 = a23 Н 2~ "Ь и1^2 + 01. (4.3-78)
= ^ = (4.3-79)
2 t3 t3 t2 4 ’
Таким образом, a3l — v2t3.
Далее,
Д М0)_ = 2^. = ЙЦ1)_ 8()
4 <1 4
Отсюда получим а32-
190
a2t\
Подставляя найденные значения коэффициентов в выражение
(4.3-77), получаем
к (t) = <W3 + f1 + v&t + 02. (4.3-81)
Найдем в точке t= 1 значения скорости и ускорения, которые
должны совпадать с соовтетствующими характеристиками в
начальной точке следующего участка:
Аз(1) = ез = е2+»2*з + ^у- + азз, '' (4.3-82)
h (1) За33 + a2t\ + v2t3 3а33
— = v3 = г = v2 + оДз + -г-, (4.3-83)
Гз Гз f3
(1) "J" Clnt\ 6#00
Т = «3 = 33 ;2 — = «2 + • (4.3-84)
f3 Е3 гз
Заметим, что каждая из величин 0з, w3 и а3 зависит от а33 и
неявно зависит от а2з-
Четвертый участок траектории описывается полиномом
k (t) = а43/3 + а42/2 + а4^ + а40. (4.3-85)
Используя условия, накладываемые на положение в точке под¬
хода, а также условия непрерывности в этой точке скорости и
ускорения, получаем
к (0) = а40= 0.3 = 02 4" и2?з Н—аз3 ’ (4.3-86)
(4.3-87)
МО) _ а«1 Ы 1)
ti ti tz
что дает а41 = v3t4.
Далее,
Л /г4 (0) 2л42 к (1) о oui
«3 — —л 7
Е4 4 2
aJ'.
Отсюда получаем а42 = —g-.
Подставляя найденные выражения для коэффициентов в равен¬
ство (4.3-85), получаем
Л4 (0 = а43/3 + ] /2 + (оЛ) t + 03, (4.3-89)
где 0з, из и а3 определяются соответственно равенствами
(4.3-82), (4.3-83) и (4.3-84), а коэффициенты а23, а3з и а43 по-
прежнему неизвестны. Их нужно найти, чтобы полностью опре¬
делить полиномы, описывающие три средних участка траекто¬
рии. Для этого воспользуемся условиями в граничной точке
191
между четвертым и последним участками траектории:
Ml) = fl43 + уу + <V4 + 0з = 04, (4.3-90)
М1) За., 36„ Л aftn
-iLL^-M. + a3ti + v3 = vi=4^-2vf + ^, (4.3-91)
h. (1) ba.„ — 66„ 6vt
-^~ = -f + a3 = a4 = —^L + -L-2af. (4.3-92)
r4 4 ln xn
Из этих уравнений можно найти значения неизвестных коэффи¬
циентов о23. Озз и о43. В результате все полиномы будут пол¬
ностью определены. Ниже представлен окончательный вид этих
полиномов:
h
л it) = [б, - 0^ - ^4] t3 + [^f] t2 + К/,) t + 00, (4.3-93)
361 -2V0-—1-; 0, = -%-—-2а0, (4.3-94)
2 ti
hz (t) — <W3 + [у у ] t2 + iv\t2) t + 0,, (4.3-95)
a A
02 — a23 H 2 by1^2 + 0]> (4.3-96)
V2 ~ W1 ~b fl1^2 H a2 = alH ТУ’ (4.3-97)
*2 2
}ц {t) = a33t3 -f- £——^ t2 -f- v2t3t -f- 02, (4.3-98)
03 == 02 ~b v43 -) g—b азз > (4.3-99)
v3 = V2 ~Ь CL2t3 + ~~~ > °з — a2 H ту-* (4.3-100)
‘3 h
MO = a43t3 + [^-] t2 + (v3t4)t + 03, (4.3-101)
К it) = [вп - vftn + ] /3 + (-36,t + 3Vffn - ard) t2 +
~b [зб„ — 2Vftn -f- —y-j t -f- 04, (4.3-102)
36 aft„ —166„ 6of
v4 = -f-2vf + -^; o4 = —J*- + -L-2af, (4.3-103)
xn * *tl xn
023 = ^^-. й33 = 1зу, a43-d-y. (4.3-104#
192
причем
х\ — k\ (и — ^2) ~Ь ^2 (^4 — d) — k-i [(и — /4) d -|- /4 (/4 — /2)]> (4.3-105)
X2 = — k \ (ll -f- /3) -f- — ^4) Ч~ ^3 [(ы — ^4) С —{— ^4 (ы — ^2)J» (4.3-106)
x3 = kl{u — i4) + k2(d — c) + k3 [(/4 — t2)c~d(u — t2)},
D = и (и — t2) {и — t4),
и = t2 + t3 -)- t4,
u2
ki = 04 — 0[ — vxu — a, —,
, vt — Vi — aiu — (at — ai) u/2
д2 g ,
, _ a4 — at •-
с = 3 и2 — 3ut2 -f /2,
d = 314 -f- З^з^4 -f- /3.
Таким образом, показано, что, если заданы положения в на¬
чальной и конечной точках, точках ухода и подхода, а также
время движения по каждому из участков траектории, тем са¬
мым полностью определен кубический сплайн, задающий закон
изменения присоединенной координаты. Здесь мы рассмотрели
построение кубического сплайна для траектории с пятью узло¬
выми точками. Более общий подход к построению кубических
сплайнов для траекторий с п узловыми точками рассмотрен в
разд. 4.4.3.
4.4. ПЛАНИРОВАНИЕ ТРАЕКТОРИЙ В ДЕКАРТОВБ1Х
КООРДИНАТАХ
В предыдущем разделе рассмотрены способы построения
траекторий в пространстве присоединенных переменных, осно¬
ванные на использовании интерполяционных многочленов низ¬
кого порядка. Хотя присоединенные координаты полностью
определяют положение и ориентацию схвата манипулятора в
декартовом пространстве, они не годятся для описания задачи,
выполняемой манипулятором. Это обусловлено тем, что боль¬
шинство присоединенных координат манипулятора неортого¬
нальны и не позволяют независимо изменять положение и ори¬
ентацию схвата. В робототехнических системах достаточно вы¬
сокого уровня для управления манипулятором используются
специальные языки программирования. В таких системах зада¬
ние манипулятору обычно представляется в виде последователь¬
ности узловых точек в декартовом пространстве, через которые
должен пройти схват или рабочий инструмент. В связи с этим
необходим математический аппарат, позволяющий описывать
(4.3-107)
(4.3-108)
(4.3-109)
(4.3-110)
(4.3-111)
(4.3-112)
(4.3-113)
(4.3-114)
7 К. Фу и др.
193
как узловые точки, через которые должен пройти схват, так и
пространственную кривую (траекторию), соединяющую эти
точки.
Пол [228] предложил способ планирования траекторий схва¬
та в декартовом пространстве, состоящих из последователь¬
ности прямолинейных участков. Между прямолинейными участ¬
ками траектории движение задается с помощью квадратической
интерполяции полученных в результате решения обратной за¬
дачи кинематики точек в пространстве присоединенных пере¬
менных. Предложенный Полом метод был расширен и усовер¬
шенствован Тэйлором [282] за счет использования аппарата
кватернионов для описания положения схвата манипулятора.
Свойства кватернионов позволили упростить в вычислительном
плане описание вращательного движения схвата между узло¬
выми точками. Описание же поступательного движения никаких
преимуществ по сравнению со способом Пола не имеет. Все
названные подходы к планированию прямолинейных траекторий
в декартовом пространстве мы рассмотрим в следующих двух
разделах.
4.4.1. Метод, использующий матрицу однородного 1
преобразования ’
В программируемых робототехнических системах движение
манипулятора может задаваться в виде последовательности
узловых точек в декартовом пространстве. Каждая из этих то¬
чек описывается матрицей однородного преобразования, уста¬
навливающей связь между системой координат схвата и абсо¬
лютной системой координат. Значения присоединенных коор¬
динат, соответствующих заданным в декартовых координатах
положениям схвата в узловых точках, вычисляются с помощью
программы решения обратной задачи кинематики. Далее, для
того чтобы осуществлять управление манипулятором, траекто¬
рия между двумя последовательными узловыми точками в про¬
странстве присоединенных переменных интерполируется квад¬
ратным полиномом. В результате управление манипулятором
осуществляется таким образом, чтобы схват двигался по пря¬
мой линии, соединяющей эти точки. Преимуществом такого
способа управления является возможность манипулирования
движущимися объектами. Хотя положение схвата манипулятора
в узловых точках полностью описывается матрицей однород¬
ного преобразования, способ движения схвата из одной точки
в другую не определен. Пол [228] предложил использовать для
осуществления перехода из одной узловой точки в другую пря¬
молинейное перемещение и два поворота. Первый поворот осу¬
ществляется вокруг единичного вектора к с тем, чтобы обеспе¬
чить необходимый угол подхода, а второй — вокруг оси инстру¬
мента для обеспечения его необходимой ориентации.
194
В общем случае положение, которое должен занять манипу¬
лятор, определяется следующим основным уравнением:
°Тб6ТИНстр = °Сбаза (/) ба3аРобъект, (4.4-1)
где °Т6 — матрица однородного преобразования, имеющая раз¬
мерность 4X4 и описывающая положение и ориентацию схвата
в базовой системе координат; 6ТИНстр—матрица однородного
преобразования, имеющая размерность 4X4 и описывающая
положение и ориентацию инструмента относительно системы ко¬
ординат схвата. Точнее говоря, эта матрица описывает поло¬
жение рабочей части инструмента, движением которой нужно
управлять; °Сбаза(t)—матрица однородного преобразования,
имеющая размерность 4X4 и являющаяся функцией времени.
Она описывает положение рабочей системы координат объекта
манипулирования относительно базовой системы координат;
базаР0бъект — матрица однородного преобразования, имеющая
размерность 4X4 и описывающая заданные положение и ори¬
ентацию объекта манипулирования в момент захвата относи¬
тельно рабочей системы координат объекта. Если матрица ^Тинстр
уже включена в матрицу °Т6, в уравнении (4.4-1) матрица 6ТНнстР
является единичной и ее можно опустить. Если рабочая система
координат объекта совпадает с базовой системой координат ма¬
нипулятора, то °Сбаза (t) представляет собой единичную матрицу
в любой момент времени.
Можно заметить, что левая часть уравнения (4.4-1) описы-
зает положение и ориентацию схвата манипулятора в момент
захвата, в то время как правая часть этого уравнения описы¬
вает положение и ориентацию подлежащей захвату части объ¬
екта манипулирования. Таким образом, мы можем определить
матрицу °Т6, определяющую конфигурацию манипулятора, не¬
обходимую для правильного осуществления захвата объекта
в виде
°Т6 - Чаза (0 ^Робьект РТинстрГ'- (4-4-2)
Если было бы можно достаточно быстро вычислять элементы
матрицы °Т6 и затем определять присоединенные переменные,
этого было бы достаточно для осуществления управления мани¬
пулятором.
С использованием равенства (4.4-1) последовательность за¬
данных положений, определяющую выполняемую манипулято¬
ром задачу, можно представить в следующем виде:
°Т6 (6Тиистр), = [°Сбаза (/)], (^объект),,
. °Т6 (6Т„„стр)2 = [°Сбаза (0]2 (ба3аРобъеКТ)2,
- 1 J ,
X (бТиистр)л, = [°Сба3а (0L (ба3аРобьекх)ло
7*
(4:Щ
,Х'\ЧП
195
Опуская для простоты несущественные индексы, имеем .
Т6иистрТ1==С1(0Рь
■ т6иистрт2 = с2 (о р2,
(4.4-4)
Т иистРх Г р
*6 lN — '-‘N У11 *«•
По заданным положениям С,(£)Р,- можно определить рас¬
стояния между последовательными точками и, если даны ли¬
нейные и угловые скорости, можно вычислить интервал вре¬
мени Т/, необходимый для перехода из г-го в (г+1)-е положе¬
ние. Описание движения из г-ro положения в (г'+1)-е удобно
производить, задав положение в г'-й точке, относительно задан¬
ного положения в (г + 1)-й точке. Обозначим как Рг/ матрицу,
определяющую заданное положение схвата в г'-й точке относи¬
тельно системы координат, задающей положение схвата в /-й
точке. Если требуется перевести схват манипулятора из поло¬
жения 1 в положение 2, то, записывая уравнение для точки 1
относительно системы координат этой точки, имеем
Т6иистрТ1 = (;,(/)?,,. (4.4-5)
Записывая уравнение для точки 1 в системе координат 2-й точ¬
ки, получаем
Т6инстрТ2 = С2 (О Р12. (4.4-6)
Из этих уравнений находим матрицу Pt2
Р12 = СГ1 (t) Cj (t) Рц (иистрх1)-1 инстрТ2. (4.4-7)
С помощью выражения (4.4-7) можно найти Р]2, зная Рц. Та¬
ким образом, движение из г'-ro положения в (t+l)-e можно
рассматривать как переход из состояния
Т6 = С,+1(0Рм+1(иистрТг+1)'‘ „ , (4.4-8)
в состояние
Т6== Сг+1 (t) Pj + i, i+i (mcTPTi+i)-'. ; (4.4-9)
Пол [228] предложил простой способ перевода схвата манипу¬
лятора из одного заданного положения в другое. Движение
схвата осуществлялось как композиция поступательного пере¬
мещения, поворота вокруг заданной оси и еще одного поворота
вокруг оси инструмента. Первым поворотом обеспечивалось за¬
данное направление вектора подхода. Вторым поворотом дости¬
галась требуемая ориентация схвата.
196
Движение из г'-го положения в (г+ 1)-е можно задать при
помощи «ведущего» преобразования О(Я), являющегося функ¬
цией нормированного времени:
Тв(Я) = С,+1(Я) РЛ г-+,0 (A,) (HHCTPTf+1)_1, (4.4-10)
где Я у
Я&[0, 1], t — реальное время с момента начала
движения вдоль данного участка траектории и Т — полное
время движения вдоль данного участка траектории. В l-й точке
t = О, Я = 0, D(0) — единичная матрица размерностью 4X4 и
(4.4-11)
р; + 1,г + 1 = pm + i D О)-
Отсюда получаем
0(1) = (Рг,г+])_ (Р/+1,/+,)-
(4.4-12)
Представляя положение схвата в точках г и г -f- 1 в виде соот¬
ветствующих матриц однородных преобразований, имеем
р = А—
•г\; +1 —
Пл
о
ал Рл
0 1
]-
1+i.t+1
i
А Г ПВ SB ^ ^ 1 —
B“Lo о о 1 J“
Пх
5Л
X
ах
РАх~
ПУ
ау
Ру
пА
Z
s*
йг
Рг
0
0
0
1
Пх
*5
«5
рГ
пу
аВу
пв
Xs
ав
Р!
.0
0
0
1
(4.4-13)
(4.4-14)
Пользуясь равенством (2.2-27) для обращения матрицы Рг, i+i
и произведя умножение на P;+i, ;+ь получаем
D (1)
Пл ' ПВ ПЛ • SB ИЛ • аВ ПЛ ' (Ps — Рл) ■
Ял ■ пв вл • SB Sл ’ аВ вл • (рв — Рд)
аЛ ' ПВ ал • SB ал • ав ал ' (Рв Рл)
ООО 1
(4.4-15)
где точка означает скалярное произведение векторов.
Если ведущая функция содержит одно поступательное и два
вращательных движения, то и перемещение, и повороты будут
прямо пропорциональны Я. Если Я изменяется пропорционально
времени, то результирующее движение, описываемое функцией
О(Я), представляет собой поступательное движение с постоян-
197
нои линейной скоростью и два вращения с постоянными угло¬
выми скоростями. Поступательное движение описывается мат¬
рицей однородного преобразования L(A), задающей движение
вдоль прямой, соединяющей точки Р, и Рж- Первое враща¬
тельное движение задается матрицей Яд (А,), описывающей раз¬
ворот вектора подхода из положения Р, в положение Рж- Вто¬
рое вращательное движение описывается матрицей Rs(A), за¬
дающей изменение ориентации схвата от положения Р( к по¬
ложению Рж за счет вращения вокруг оси инструмента. В ре¬
зультате ведущая функция может быть представлена в виде
D (Л.) = L (Л,) (A.) RB (А,),
где
•: R*w =
L(A) =
52фВ (А0) + С(А0)
— 5фСф1/ (А0)
-Сф5(Я0)
О
1 о о
О 1 о
О 0 1
■ ООО
Хх -|
Ху
Xz
1
- ЯфСфК (А0) Сф-S (A0)
С2фВ (A0) + С (A0) 5ф5(Я0)
— Srl%S(A0) C(A0)
О О
■ *№ =
С (Аф)
5 (Аф)
О
■ О
5 (Аф) 0 0-|
С (Аф) 0 0
0 1 о
0 О 1 J
где
V (А0) = 1 - cos (А0),
С (А0) = cos (А0), S (А0) == sin (А0),
С (Аф) = cos (Аф), 5 (Аф) = sin (Аф)
(4.4-16)
(4.4-17)
Од
О
0
1 J
(4.4-18)
(4.4-19)
(4.4-20)
и Ае[0, 1]. Матрица поворота Rл(A) описывает вращение на
угол 0 вокруг вектора ориентации, соответствующего положе¬
нию Рц который повернут на угол ф вокруг вектора подхода.
Матрица Rs(A) описывает вращение на угол ф вокруг вектора
подхода, соответствующего положению Рж-
Перемножая матрицы (4.4-17) — (4.4-19), получаем - 3
. dn do da dp 1
DW==I о 0 0 1 J’
(4.4-21)
: \ ■ \s
198
где
do =
- S (Acp) [S2^V (A0) + С (A0)] + С (Аф) [- StyC^V (А0)]
- S (Аф) [— StyC^V (А0)] + С (А0) [С2фV (А0) + С (А0)]
- S (Аф) [- C^S (А0)] + С (А0) [- S^S (А0)]
■ C^S (А0) -
' Ax"
da =
StyS (A0)
, dp =
A у
- С (A0) -
- A z -
и dn = do X da.
Применяя метод обратных преобразований к равенству (4.4-16),
можно определить х, у, г. Для этого нужно умножить обе ча¬
сти равенства (4.4-16) справа на Rjg1 (A) Rj’(A) и приравнять
соответствующие элементы векторов положения
- х = пА- (ра —рд), ;.
У = s,, • (рд - Ра), (4.4-22)
^ = ад • (рд — рл).
Умножая обе части равенства (4.4-16) справа на Ra'(A) и слева
на L-1(A), найдем из условия равенства соответствующих эле¬
ментов третьего столбца значения 0 и гр:
г|>:
— л
(4.4-23)
а4 • ЯВ
О<0<я.
(4.4-24)
Чтобы найти ф, умножим обе части (4.4-16) слева последова¬
тельно на IX1 (А) и Rl’(A), и, приравняв соответствующие эле¬
менты, получим
S4> = - SxpCxpK (А0) (пл • пв) + [С2грХ (А0) + С (А0)] (sA
— SipS (А0) (аА ■ пв),
Сф = - Са|>Са|>У (А0) (пд • sfl) + [С2фV (А0) + С (А0)] (sA •
*. (А0) (ал • sB),
ф = arctg — я<ф<я.
Движение между двумя участками траектории. Часто необ¬
ходимо обеспечить движение манипулятора вдоль последова¬
тельности прямолинейных участков (это диктуется выполняе¬
те)—
(4.4-25)
«в) —
(4.4-26)
(4.4-27)
199
мой манипулятором задачей или наличием препятствий на его
пути). Для того чтобы избежать скачков по скорости при пере¬
ходе с одного участка траектории на другой, между участками
нужно обеспечить движение с ускорением или торможением.
Такое движение можно реализовать, начиная изменение ско¬
рости за время т до точки перехода между участками и под¬
держивая ускорение постоянным, пока не пройдет % единиц
времени после перехода границы участков (рис. 4.5). Если
ускорение поддерживается постоянным от момента —т до мо¬
мента т, то его величина, обеспечивающая заданное изменение
скорости и положения, определяется формулой
q(0= 2^г[дСу- + ДВ], (4.4-28)
где — т <t < Т, и
X
хвс
ХВА
У
Уве
УВА
Z
, дс =
ZBC
, ДА =
ZBA
0
0в с
; Л
бел
_Ф-
_ 9Psc _
_ Фвл _
АС и ДВ — векторы, элементами которых являются прираще¬
ния декартовых координат и углов между точками В и С и
между точками В и А соответственно.
В соответствии с равенством (4.4-28) скорость и положение
на интервале —т < t <. т определяются равенствами
Ч(/) = 1[ДС^ + Дв]л-^-, (4.4-29)
. Я (0 = [[АС у- + ABJ % — 2ДВj % + ДВ, (4.4-30)
299
При x<t<T движение задается равенствами
q = ДСМ q = О,
л t
(4.4-32)
где
Отметим, что, как и выше, к представляет собой нормированное
время, изменяющееся на интервале [0, 1]. Следует помнить,
однако, что нормирующий множитель различен для разных
участков траектории.
Для движения от А к В и к С определим гр на интервале
—т <С t < т следующим образом:
где флв и грвс определены для движения от /1 к В и от А к С
формулой (4.4-23). Тем самым ф будет изменяться от флв к фвс.
Итак, для описания движения из положения Р, в положение
Рг+1 надо в соответствии с равенствами (4.4-16) —(4.4-27) вы¬
числить ведущую функцию D(A,); далее следует определить
Тб (Я) по формуле (4.4-10) и с помощью программы решения
обратной задачи кинематики вычислить соответствующие зна¬
чения присоединенных координат. При необходимости приме¬
няется квадратическая интерполяция траектории между полу¬
ченными точками в пространстве присоединенных координат.
Пример. Двигаясь по прямолинейной траектории в декарто¬
вом пространстве, манипулятор должен переместить болт из
обоймы в одно из отверстий бруска, изображенного на рис. 4.6.
Запишите все необходимые матричные уравнения, задающие
движение манипулятора вдоль штриховой линии, обеспечиваю¬
щее выполнение поставленной задачи. Для обозначения проме¬
жуточных точек траектории можно использовать буквы.
Решение. Пусть Р,— узловые точки траектории, через кото¬
рые должен пройти схват манипулятора (t = 0, 1, 2, 3, 4, 5).
Матричные уравнения будут иметь следующий вид:
Ф — (Фвс Флв) ^ + Флв.
(4.4-33)
в точке Р0: [BASE] [Тб] [Е] = [I N IT] [Р0],
в точке F2: [BASE] [Тб] [Е] == [ВО] [PJ,
в точке Р2: [BASE] [Тб] [Е] = [ВО] [Р2],
(4.4-34)
(4.4-35)
(4.4-36)
в точке Р3: [BASE] [Тб] [Е] = [ВО] [Р3],
в точке Р4: [BASE] ]Т6] [Е] = [BR] [Р4],
в точке Р5: [BASE] [Тб] [Е] = [BR] [Р5],
(4.4-37)
(4.4-38)
(4.4-39)
где [BAS£], [INIT], [ВО], [BR], [Тб], [Е], [Р0], [Р,], [Р2],
[Рз], [Р4], [Р5] — матрицы однородных преобразований, имею¬
щие размерность 4 X 4. Матрицы [BASE], [ IN IT], [ВО] и [BR]
заданы относительно абсолютной системы координат; [Тб] за¬
дана относительно базовой системы; [Е] задана относительно
[Тб]; [ Ро] задана относительно системы [ IN IT]; [Р, J, [Р2] и
[Рз] заданы относительно [ВО]; [Р4] и [Р5] заданы относи¬
тельно [BR].
Для описания движения из Ро и Pi воспользуемся двойной
индексацией, чтобы записать равенство (4.4-34) в системе ко¬
ординат Рь В системе координат Ро имеем
[Тб] = [BASE]-1 [INIT] [Р00] [Е]-1. - (4.4-40)
Записывая это равенство в системе Pi, получаем -
[Тб] = [BASE]"1 [ВО] [Р0,ПЕГ1. , (4.4-41)
Из равенств (4.4-40) и (4.4-41) находим
[Ро.] = [ВО]"1 [INIT] [Р00]. ^ (4.4-42)
202
Таким образом, переход из положения Р0 в положение Pi вдоль
прямолинейной траектории означает изменение конфигурации
манипулятора с
[Тб] = [BASE]-1 [ВО] [Р01] [ЕГ1 (4.4-43а)
на [Тб] = [BASE]-1 [ВО] [Рп] [Е]-1. (4.4-436)
Переход из точки Р/ в Р;+) для i= 1, 2, 3, 4 осуществляется
аналогично.
4.4.2. Планирование прямолинейных траекторий
с использованием кватернионов
Предложенный Полом способ построения прямолинейных
траекторий опирается на описание заданных положений схвата
манипулятора матрицами однородных преобразований. Такое
представление заданных положений удобно и наглядно. Однако
оперирование с матрицами предъявляет относительно высокие
требования к объему памяти, используемой для их хранения в
вычислителе, и к количеству выполняемых арифметических опе¬
раций. Кроме того, матричное описание операций вращения
является существенно избыточным, что может привести к вы¬
числительной неустойчивости. Вместе с тем было показано, что
представление вращений с помощью кватернионов позволяет
задать более эффективное и более равномерное движение. Тэй¬
лор [282] предложил два способа построения прямолинейных
участков траектории между узловыми точками. Первый из них,
называемый управлением в декартовых координатах, является
усовершенствованием метода Пола и отличается от него тем,
что для описания вращений используются кватернионы. Этот
способ прост и обеспечивает более равномерное угловое движе¬
ние. Однако он требует большого числа вычислений в процессе
управления манипулятором, и, кроме того, им нельзя пользо¬
ваться при вырожденной конфигурации манипулятора. Второй
способ, называемый способом планирования траекторий с огра¬
ниченными отклонениями, требует дополнительного этапа пла¬
нирования. На этом этапе производится выбор узловых точек
в количестве, достаточном для того, чтобы траектория в про¬
странстве присоединенных переменных между узловыми точ¬
ками задавалась путем линейной интерполяции и при этом от¬
клонения схвата от прямолинейной траектории не превышали
бы заданной величины. Этот способ существенно снижает коли¬
чество вычислений, необходимых на каждом участке траектории.
Кватернионы. В последние дессятилетия аппарат кватер¬
нионов успешно применялся в задачах анализа пространствен¬
ного движения механизмов. Мы воспользуемся кватернионами
для упрощения описания ориентации схвата манипулятора в за-
203
даче планирования прямолинейной траектории. Кватернион
представляет собой упорядоченную четверку вещественных чи¬
сел s, а, Ь, с, связанных соответственно с четырьмя базисными
элементами: вещественным числом +1 и тремя другими еди¬
ничными элементами i, j, к, обладающими следующими свойст¬
вами:
j2 = j2 = к2 — — 1,
ij = к, jk== j, ki = j,
j< = — k, kj = — i, ik = — j.
Единичные элементы i, j, к можно рассматривать как базис¬
ные векторы декартовой системы координат в трехмерном про¬
странстве. В этом случае кватернион Q может быть записан в
виде суммы скалярной части s и векторной части v:
Q = [s + v] = s + ai -f b\ -f ck = (s, a, b, c). (4-4-44)
Следующие понятия и свойства являются основными в ал¬
гебре кватернионов:
• Скалярная часть Q : s.
• Векторная часть Q : ai -f b\ -f ck. '
• Кватернион, сопряженный Q : s — (ai + b] -f- ck).
• Норма Q : s2 -f a2 + + °2.
• Кватернион, обратный Q : 4-^’+^ •
• Единичный кватернион: s + a'i + Щ + ck, где s2 -{- о2 Н-
+ b2 + c2 = l.
Важно отметить, что подмножествами кватернионов явля¬
ются вещественные числа (s, 0, 0, 0), комплексные числа
(s, а, 0, 0) и векторы трехмерного пространства (0, а, Ь, с).
Сложение (вычитание) двух кватернионов производится путем
сложения (вычитания) всех соответствующих элементов задаю¬
щей кватернион четверки чисел. Произведение двух кватернио¬
нов вычисляется следующим образом:
QiQ2 = (Sj + + brt + C;k) (s2 4- a2i + b2) + c2k) =
= (s,s2 — Vi • v2 + s2Vi + SjV2 + Vi X V2). (4.4-45)
Это выражение получается непосредственным применением рас¬
пределительного закона обычной алгебры, но с учетом порядка
перемножения единичных элементов. В общем случае произве¬
дение двух векторов трехмерного пространства, записанных в
форме кватернионов, представляет собой не вектор, а кватер¬
нион, т. е. если Q\ = [0-f vi] = (0, а\, b\, щ) и Q2 = [0-f v2] =
= (0, а2, b2, с2), то в соответствии с выражением (4.4-45)
QA = — Vj • V2 + V, X V2.
204
Алгебра кватернионов дает простой и удобный аппарат описа¬
ния конечных поворотов в трехмерном пространстве. Если вве¬
сти обозначения
S=sin[-j], C = cos[-|],
то поворот Rot(n, 0) на угол 0 вокруг оси п можно представить
кватернионом
Rot (п, 0) = [cos [у] + sin [j] n]. (4.4-46)
Пример. Поворот на 90° вокруг вектора к, сопровождаемый
поворотом на 90° вокруг вектора j, можно представить в виде
произведения кватернионов
(cos 45° + j sin 45°) (cos 45° + k sin 45°) = (1/2 + j/2 + k/2 + i/2) =
_ [ 1/2 + 1+JJdL - = [cos 60» + sin 60°-ЬШ±] -
= Rot 120°].
Результирующим является поворот на 120° вокруг оси, состав¬
ляющей одинаковые углы с осями i, j, к. Отметим, что резуль¬
тирующий поворот можно было бы определить, воспользовав¬
шись матрицами поворотов, рассмотренными в гл. 2. Однако
кватернионы дают гораздо более простую форму представле¬
ния. Таким образом, для описания поворотов можно пользовать¬
ся как матрицами, так и кватернионами.
В заключение этой части раздела в табл. 4.5 приведены вы¬
числительные затраты, необходимые для выполнения некоторых
обычных операций с поворотами, при описании с помощью ква¬
тернионов и при матричном представлении.
Таблица 4.5. Вычислительные затраты при описании вращений
матрицами и кватернионами
Операция
Описание с помощью
кватернионов
Описание с помощью
матриц
R1R2
Rv
R -> Rot (п. 0)
9 сложений, 16 умножений
12 сложений, 22 умноже¬
ния
4 умножения, 1 квадрат¬
ный корень, 1 арктангенс
15 сложений, 24 умноже¬
ния
6 сложений, 9 умножений
2 квадратных корня, 8 сло¬
жений, 10 умножений,
1 арктангенс
Способ управления в декартовых координатах. За время Т
требуется перевести схват манипулятора из узловой точки F0
205
в узловую точку Fi, обеспечив прямолинейное движение. Здесь
F,- (г = 0, 1) представляет собой матрицу однородного преобра¬
зования, задающую положение системы координат схвата в уз¬
ловой точке:
■Чо' п
Движение вдоль выбранной траектории представляет собой по¬
ступательное перемещение точки начала системы координат
схвата из положения р0 в положение pi и одновременное вра¬
щение системы координат схвата, переводящее ее ориентацию
из R0 в Ri. Пусть K(t)—доля пути, которую остается пройти
манипулятору в момент t. При равномерном движении имеем
X(/) = i-=i, (4.4-47)
где Т — полное время движения вдоль рассматриваемого уча¬
стка траектории, a t — время, прошедшее с момента начала дви¬
жения вдоль этого участка. Положение и ориентация системы
координат схвата в момент t определяются соответственно ра¬
венствами
р(0 = Р1-Л(0(р1-Ро), Г (4.4-48)
R (t) = R, Rot [п, -0МО], (4.4-49)
где Rot(n, 0)—поворот на угол 9 вокруг оси п, переводящий
матрицу ориентации схвата из R0 в Ri:
Rot (n, 9) = Ro"‘Ri. (4.4-50)
Последнее равенство означает, что Rot(n, 9) описывает в фор¬
ме кватерниона поворот, задаваемый матрицей R^'Ri. Сле¬
дует отметить, что вектор pi — р0 в равенстве (4.4-48) и вектор
п и угол 0 в равенстве (4.4-49) в том случае, если система ко¬
ординат Fi неподвижна, достаточно вычислить только один раз.
С другой стороны, если точка, в которую должен быть переме¬
щен схват, движется, то меняется и матрица Fj. В этом случае
pi — ро, п и 9 должны вычисляться на каждом шаге, и, как по¬
казал Тэйлор [282], может иметь место ситуация погони.
Если схват манипулятора должен переходить с одного уча¬
стка траектории на другой с постоянным ускорением, между
участками будет иметь место интервал разгона или торможе¬
ния. Для реализации такого движения ускорение должно вклю¬
чаться за время т до прохода точки пересечения рассматривае¬
мых участков и выключаться через время % после прохода этой
точки. Из этого требования вытекают граничные условия для
206
участка перехода
p(7-,-T)-p,-iff4 (4.4-51)
р(Г, + т) = р, + ^, ... . (4.4-52)
■ -£pWU-, = tt- <4'4'53)
WVm.r 1+,=7Г. (t-l-M)
где Др1 = pi — ро; Ар2 = Р2 — рг, Ъ и Т2 — соответственно ин¬
тервалы времени, в течение которых проходятся первый и вто¬
рой участки. Если на участке перехода действует постоянное
ускорение
^гр(/) = ар, (4.4-55)
то двукратным интегрированием (4.4-55) с учетом граничных
условий получаем равенство, описывающее поступательное дви¬
жение системы координат схвата:
Р (О = Pi - Лр> + Лр* <4-4-56)
где t' = T\ — t—время до момента пересечения двух участков
траектории. Аналогично получается уравнение, описывающее
изменение ориентации системы координат схвата:
R(0 = R, Rot[ni, -!1±р102], (4.4-57)
где
Rot (п,, 0,) = R0_1R, и Rot(n2, 02) = Rf'R2.
Последние два равенства обозначают представление соответст¬
вующих заданных матрицами поворотов в форме кватернионов.
Полученные уравнения, описывающие поступательное и враща¬
тельное движение системы координат схвата, обеспечивают
плавный переход между двумя участками траектории. Следует
отметить, что угловое ускорение будет постоянным только в том
случае, если nt и п2 параллельны или если одна из угловых ско-
0 0
ростей ф, == — или ф2 = у- равна нулю.
Траектория с ограниченными отклонениями. Описанный
выше способ формирования траектории в декартовых координа¬
тах требует существенных затрат вычислительного времени.
Кроме того, в реальном времени весьма сложно реализовать
учет ограничений на движение манипулятора в пространстве
присоединенных переменных. Существует ряд возможностей
устранить эти трудности. Можно заранее (до осуществления
207
движения) получить и записать в память вычислителя решение
обратной задачи кинематики, моделируя работу алгоритма. Реа¬
лизовать заданное движение в этом случае не составит труда,
поскольку последовательность точек управления будет просто
считываться из памяти компьютера. Другой возможный путь со¬
стоит в том, чтобы заранее вычислить значения присоединенных
координат в некоторой последовательности точек каждого из
участков траектории и затем осуществить интерполяцию поли¬
номами низкой степени. Сложность такого подхода состоит в
том, что число промежуточных точек, необходимое для осуще¬
ствления движения, достаточно близкого к прямолинейному, за¬
висит от выполняемого движения. Априорный выбор интервала,
достаточно малого для того, чтобы обеспечить малые отклоне¬
ния от прямолинейного движения, приводит к резкому возраста¬
нию объема предварительных вычислений и используемых ре¬
сурсов памяти. Учитывая все это, Тэйлор [282] предложил
способ планирования траекторий в пространстве присоединен¬
ных переменных, называемых траекториями с ограниченными
отклонениями. Этот метод позволяет на этапе предварительных
вычислений выбрать промежуточные точки в количестве, доста¬
точном для того, чтобы отклонения планируемой траектории
схвата от прямолинейной не превышали некоторых заданных
пределов.
При таком подходе сначала вычисляются векторы присоеди¬
ненных координат q„ соответствующие узловым точкам траек¬
тории, заданным в декартовом пространстве. Затем вычислен¬
ные векторы используются в качестве узловых точек в про¬
цедуре построения траектории изменения присоединенных пере¬
менных, аналогичной процедуре, используемой при построении
траектории в декартовых координатах. Движение из точки q0 в
точку qi описывается уравнением
ч (0 — 4i —~Т7~ <4-4-58>
а при переходе от участка между q0 и q, к участку между qi и
q2 движение задается формулой
+ (4.4-59)
где Aqi = 4i — qo, Aq2 = q2 — qt, a Tu T2, x и t' имеют тот же
смысл, что и выше. Эти уравнения обеспечивают постоянную
скорость движения между узловыми точками в пространстве
присоединенных координат и плавный переход с постоянным
ускорением от одного участка траектории к другому. Однако
при этом система координат схвата может существенно откло¬
няться от заданной прямолинейной траектории. Величина откло¬
нения характеризуется разностью между F,(f), описывающей
208
положение схвата, соответствующее точке Я/(О в пространстве
присоединенных переменных, и Fd(f), описывающей положение
схвата в момент t при условии его движения по заданной пря¬
молинейной траектории в декартовом пространстве. Отклонения
положения и ориентации определяются соответственно форму¬
лами
6р = 1Р/(0-РЛ01, (4.4-60)
Cf —[угловая часть Rot(n, <р)| = |ф|, (4.4-61)
И
К где Rot (п, ф) — RJ1 (/) R/(0-
f; Задавая максимальные допустимые отклонения по положению и
) ориентации б“акс и 6дакс, мы потребуем выполнения условий
6, <6Гкс и 6«<6ГКС. (4.4-62)
Для этого необходимо выбрать достаточное количество проме¬
жуточных точек между двумя последовательными узловыми
точками. Предложенный Тэйлором [282] способ построения тра¬
екторий с ограниченными отклонениями является по существу
алгоритмом последовательного построения промежуточных то¬
чек, обеспечивающих выполнение условий (4.4-62). Этот алго¬
ритм обладает быстрой сходимостью, хотя формируемый с его
помощью набор промежуточных точек и не является минималь¬
ным. Этот алгоритм приведен ниже.
Алгоритм формирования траекторий с ограниченными от¬
клонениями. При заданных максимальных отклонениях 6р'акс
и б“кс по положению и ориентации соответственно и заданных
узловых точках F* траектории в декартовом пространстве этот
алгоритм формирует последовательность промежуточных узло¬
вых точек в пространстве присоединенных переменных такую,
что отклонения системы координат схвата от заданной прямоли¬
нейной траектории в дакартовом пространстве не превышают
заданных пределов.
51. Вычисление значений присоединенных переменных.
Определить векторы присоединенных координат q0 и qi, соот¬
ветствующие точкам Fo и F).
52. Вычисление средней точки в пространстве присоединен¬
ных переменных. Вычислить среднюю точку qm в пространстве
присоединенных переменных
Чт = Ч( ~ ‘/г Aqb
где Aqi=qi — qo, и вычислить положение Fm системы коорди¬
нат схвата, соответствующее значениям присоединенных коор¬
динат qm.
53. Вычисление средней точки в декартовом пространстве.
Вычислить соответствующую среднюю точку Ft траектории в
209
т
декартовом пространстве:
р С = -ЕЦ^ЕЧ Rc = Ri Rot [ri,, -|j,
где Rot (n, 0) = Rir'Ri.
54. Вычисление отклонения. Вычислить отклонение Fm от Fc
бр = | pm pc I, 6^ = | угловая часть Rot(n, qp) = R^Rm | =1 Ф I
55. Проверка условия ограниченности отклонений. Если
6р^6ракс и б/?^б^акс, закончить работу алгоритма. В против¬
ном случае вычислить вектор qc присоединенных координат, со¬
ответствующих точке Fc декартовой траектории, и выполнить
шаги S2— S5 последовательно для двух подынтервалов, заме¬
няя Fi на Fc и Fc на Fo.
Этот алгоритм обладает достаточно быстрой сходимостью.
Как правило, на одной итерации максимальное отклонение
уменьшается примерно в 4 раза. Тейлор [282] исследовал ско¬
рость сходимости представленного алгоритма для цилиндриче¬
ского манипулятора (два поступательных и два вращательных
сочленения). Оказалось, что на одной итерации максимальное
отклонение уменьшается не более чем в 4 и не менее чем в 2
раза в зависимости от положения манипулятора.
Итак, метод построения траекторий с ограниченными откло¬
нениями состоит в формировании последовательности промежу¬
точных точек в пространстве присоединенных переменных, обес¬
печивающей движение схвата в декартовом пространстве вдоль
траектории, отклонение которой от заданной прямолинейной
траектории не превышает заданных пределов.
4.4.3. Описание траектории кубическими полиномами
с учетом ограничения моментов
В предложенных Тэйлором способах планирования прямоли¬
нейных траекторий формирование векторов присоединенных ко¬
ординат {q(0> q(0. 4(0} вдоль заданной в декартовом прост¬
ранстве траектории производится без учета динамики манипу¬
лятора. Однако характеристики силовых приводов сочленений
имеют участки насыщения, и величина развиваемых приводами
сил и моментов ограничена. Ограничения располагаемых сил и
моментов необходимо учитывать при планировании прямолиней¬
ных траекторий. Это приводит также к необходимости двух по¬
следовательных этапов в осуществлении управления манипуля-
1( Правильнее писать 6ff = | угловая часть Rot (п, <р) | = | ф |, где
Rot (л, <р) = Р~1Рт. — Прим. перев.
210
г
тором: выбор оптимальной траектории до начала движения и
регулирование движения вдоль выбранной траектории в про¬
цессе работы манипулятора.
При планировании прямолинейных траекторий в декартовом
пространстве условия, которым должна удовлетворять траекто¬
рия, задаются в декартовых координатах, в то время как огра¬
ничения реализуемых приводами сил и моментов задаются в
пространстве присоединенных переменных. Таким образом, воз¬
никает задача оптимизации с ограничениями, заданными в раз¬
личных системах координат. Путем аппроксимации полиномами
низкой степени можно сформировать траекторию манипулятора
в пространстве присоединенных переменных, соответствующую
траектории в декартовом пространстве, и проводить оптимиза¬
цию траектории и регулирование движения на уровне присоеди¬
ненных переменных [59]. Другая возможность состоит в том,
чтобы преобразовать ограничения сил и моментов к декартовой
системе координат, в которой затем проводить оптимизацию
траектории и регулирование движения [165].
Несмотря на необходимость проведения многочисленных не¬
линейных преобразований из декартовой системы координат в
пространство присоединенных переменных, более простым ока¬
зался подход, в котором планирование траектории ведется на
уровне присоединенных переменных. Лин [172] предложил спо¬
соб интерполяции траектории в пространстве присоединенных
координат между узловыми точками, выбранными на заданной
прямолинейной траектории. С помощью этого способа прямоли¬
нейная траектория в декартовом пространстве преобразуется в
N траекторий присоединенных переменных — по одной для каж¬
дого сочленения. Поскольку аналитический вид такого преобра¬
зования неизвестен, используются способы полиномиальной ин¬
терполяции, позволяющие аппроксимировать заданную траекто¬
рию. Для этого на заданной траектории выбирается достаточ¬
ное число узловых точек и каждый из участков между двумя
последовательными узловыми точками аппроксимируется N по¬
линомами— по одному для каждой присоединенной переменной.
Аппроксимирующие полиномы должны проходить через узловые
точки. Для аппроксимации Лин [172] выбрал кубические поли¬
номы, позволяющие получить достаточно гладкую траекторию
при малых перерегулированиях по угловому положению между
соседними узловыми точками. Между каждыми двумя соседними
точками из п используемых узловых точек траектория аппрок¬
симируется отрезком кубического полинома. Значения присо¬
единенных координат в п — 2 узловых точках фиксированы.
В двух узловых точках значения присоединенных координат
априорно не определены. Это необходимо для того, чтобы обес¬
печить выполнение условий непрерывности по положению, ско¬
рости и ускорению вдоль всей траектории. Для определения не¬
211
известных коэффициентов полиномов нужно решить систему
п — 2 уравнений. Получаемое векторное уравнение имеет удоб¬
ную для решения структуру. Его решениями являются аппрок¬
симирующие траекторию функции, которые зависят от интерва¬
лов времени между узловыми точками. Для минимизации вре¬
мени прохождения всей заданной траектории нужно скорректи¬
ровать величины этих интервалов с учетом имеющихся ограни¬
чений. Тем самым задача сводится к минимизации времени
движения путем соответствующего выбора временных интер¬
валов.
Пусть однородная матрица Н (t) описывает положение си¬
стемы координат схвата. Схват должен пройти последователь¬
ность узловых точек в декартовом пространстве: Н(^),
Н(<г), Н(Д). Векторы присоединенных координат (<711,
<721, <7лп), (<7i2, <722 <7<v2), (<7ш, Я2П, <7лм), соот¬
ветствующие этим узловым точкам, вычисляются с помощью
программы решения обратной задачи кинематики. Здесь ян обо¬
значает /-ю присоединенную переменную, соответствующую по¬
ложению схвата в г'-й узловой точке Н(7(). Требуется построить
кубическую интерполяцию траектории /-й присоединенной пере¬
менной между точками [<?/i(*i). Я12(^2), ..., <7/я(М1> где t.\ <
<t2<---<tn — моменты прохождения узловых точек. В на¬
чальный момент t = t\ и конечный момент t = tn заданы соот¬
ветственно начальные яп> °/ь ап и конечные Ят, »/«, а!п (поло¬
жение, скорость и ускорение). Кроме того, значения присоеди¬
ненной переменной я^ в моменты времени Д заданы для k =
= 3, 4, ..., п — 2. Значения Я2 и <7n_i не определены: как уже
говорилось, это необходимо для обеспечения непрерывности ки¬
нематических характеристик вдоль всей траектории.
Пусть Qji{t)—кубический полином, описывающий поведение
/-й присоединенной переменной между узловыми точками Н, и
H,+i и определенный на интервале [t.i, ti+1]. Задача состоит в
«сшивке» между собой полиномов Q/t(t) (г = 1, 2, ..., гг—1)
так, чтобы они проходили через заданные узловые точки и обес¬
печивалась непрерывность положения, скорости и ускорения на
всем интервале 11\, tn\. Поскольку Qjt(t) — кубический полином,
его вторая производная Q,i{t) является линейной функцией вре¬
мени t:
Q,i(t)= Hr* + (<<+.), ;;;• nN~h ’
(4.4-63)
где ui = ti+1 — ti — время, затрачиваемое на прохождение г-го
участка. Дважды интегрируя Qji(t) и учитывая граничные усло¬
вия Q/i(ti) =Ян и Qji(ti+\) =<7/, i+ь получаем интерполирующую
212
функцию следующего вида:
QnM
li
Г а, ,,, u,Q:, (
Qjt (0;
Г Я}, i+i
L “г
е„. «ш-/Г + ?Ф±«-1,Г +
(4.4-64)
(,_/,) + [ii - Vul _ 0i
i— I, 2, ..n— 1,
/=1,2 N.
Таким образом, для i=l, 2, га — 1 Q;;(^) определены, если
известны Qfi(ti) и Qa{ti+\). На основании этого можно записать
систему га — 2 линейных уравнений относительно неизвестных
i{ti), i — 2 га — 1:
AQ = Ь, (4.4-65)
Qi2 (h)
Qi з(?з)
Q
Зга, + 2ti2 + —
_ Q/,n-i (^я-i)-
lln о
U2 ~ 2 (u2 + «3)
0 %
- 0
«з .
2 («з + Щ) : .
«4 2(ч4
0
0 0
О
Ы-з
2 (оя_з +
-‘я-!
4-я-2
о о
-‘•я-2
3«„_]4-2ra„_
«Я-2
«Я—2
313
6 + ГГ1] ~ 6 [пГ + Иг] [д>1+Ы,У/1 + 1Г а/1 ] - ы
-£-[?/.+«i*/. +1Гап] + ~-ь[-^ + -^\
' 6 ГЯ,ъ-Яц _ <?4-<?/з 1
L «4 «3 J
1аЛ>
?/3
g Г <7/5 ?/-4 _ Дз]
L «4 «3 J
6
«П-2
Г г 4_, 1
[<7/« — »/A-i + —3— ат\ —
~6[г^Г + ГтЬ]^'г-2‘+
6 [иггг+пггг] [ *'» “ "/»“» -1 + ^1“/J +
. 6<?/« . Чг-2
6
Яип-з
ип-3
Un — l Un—\Un — 2
ип-\а1п
Структура матрицы А позволяет легко определить Q, под¬
становкой которого в выражение (4.4-63) получается оконча¬
тельный вид Qji(t). В окончательном виде полиномы Qa(t) за¬
висят от интервалов времени щ и заданных значений присоеди¬
ненных координат, скоростей и ускорений. Матрица А в уравне¬
нии (4.4-64) всегда неособенная, если интервалы и,- положи¬
тельны. Поэтому задача интерполяции траектории кубическими
полиномами всегда имеет единственное решение.
Поскольку характеристики силовых приводов сочленений
имеют участки насыщения и развиваемые приводами моменты и
силы ограничены, минимальное общее время движения вдоль
траектории, описываемой кубическими полиномами, определяется
максимальными значениями присоединенных скоростей, ускоре¬
ний и допустимой скоростью изменения ускорения. Для увели¬
чения скорости работы манипулятора нужно минимизировать
время движения вдоль заданной траектории. Этого можно до¬
стичь соответствующим выбором величин интервалов щ с учетом
ограничений присоединенных скоростей, ускорений, моментов и
скоростей изменения ускорений. Задачу можно сформулировать
следующим образом: минимизировать целевую функцию Т
(4.4-66)
i = i
при следующих ограничениях:
214
Ограничение по скорости:
/= I, ..., N,
i— 1, ..., п — 1.
Ограничение по ускорению: | Qti {t) | Aj}
/ = 1, ..
/= 1 п — 1.
Ограничение по скорости изменения ускорения:
'‘ J /=i л^,
Ограничение моментов: | т, (г1) | Г/, /= 1, Л'.
Здесь Т—общее время движения вдоль заданной траектории;
Vj, Aj, Jj и Г-, соответственно максимальные значения скорости,
ускорения, скорости изменения ускорения, момента в j-м со¬
членении.
Строгое представление этих ограничений приведено ниже.
Ограничение по скорости. Дифференцируя равенство (4.4-64)
и заменяя Q/,(C) и Q/;(C-ц) соответственно на со/< и со/, ,+ь по¬
лучаем
+ [ДО±1_ ДД1], (4.4-67)
Qn (0 = V (4.4-68)
где со/» — ускорение в узловой точке Н,. Оно равно Q/<(^;)> если
Qjt(t) проходит через узловую точку Н; в момент Д Скорость
достигает своего максимального по абсолютной величине значе¬
ния в одной из точек С, tt+i или th при этом Ь е [С, Дн] и
Qji(it) =0. Ограничение по скорости, таким образом, принимает
вид
max | Qn | = шах [ | Q;i- (С) I, I Q/< (C+i) I. I Q/« (С) I ] < I7/.
(elii, Ct + 1]
i= 1, 2, ..., n — 1,
/=1, 2, .... N, (4.4-69)
215
где
I Qji (h)\ —
I Qji (U+1) I —
Qji (h) I =
aji I 4/, i + l — 4ji , (®ji e>/, ( + l)«(
— Hf +—_— +
“/', <+1 .. I 9/. t+l~9/t , (ю/( — ю/, f+l) ..
—2—Ui + —гг h e
(a/i (0j,i + l)Ui 1 Чц +1 4/f
2(в>11-°1,ш) ^ 6 «I
если со/г=^со/г+1 и i(s[^y,
^ О, если со/г ==сом+1 или ^ |Д, /(Ч1].
Ограничения по ускорению. Между двумя узловыми точками
ускорение линейно зависит от времени. Поэтому максимальная
абсолютная величина ускорения достигается в точке t( или в
точке ti-п и равна максимальной из величин {|со/г|, |со/, t+i|}.
С учетом этого ограничение по ускорению принимает следую¬
щий вид:
max {| со/, |, | со/21, ..., | ю/п | > < Ah
У == 1, 2, . . N. (4.4-70)
Ограничения по скорости изменения ускорения.
и.
/=1, 2, ..., Л7,
^ " i =1,2 п- 1.
(4.4-71)
Ограничения моментов. Момент, который должен быть создан
силовым приводом для реализации заданного движения, можно
рассчитать с помощью уравнений динамики движения манипу¬
лятора (равенство (3.2-25)):
xj(t)= iDjk{Ql(t))Qli(t) +
k= 1 л.' j • -гЧ
N N Г'
■ + Z Z hjkm (Q; (0) Qki (t) Qm (0 + Cj (Q, (0), (4.4-72)
k = l m = l
где v '■ _ ' ' '
Q«(0 = (Qu(0. <?2i(0 QNi (0)r,
/=1, 2 N,
"r ' i — 1, 2 n — 1.
Если условия ограничения моментов не выполняются, должно
быть произведено динамическое временное масштабирование
траектории, обеспечивающее выполнение этих условий [8, 122].
Для решения сформулированной задачи оптимизации при
наличии ограничений надо выбрать подходящий алгоритм опти-
216
мизации. Существует несколько алгоритмов оптимизации для
задач такого типа. Лин и др. [172] воспользовались методом гиб¬
кого поиска, предложенным Нелдером и Медом. Результаты
применения этого оптимизационного метода изложены в работе
[172]. - . ..
4.5. ЗАКЛЮЧЕНИЕ
Выше были рассмотрены два основных подхода к планирова¬
нию траекторий: планирование сглаженных траекторий в прост¬
ранстве присоединенных переменных и планирование траекто¬
рий в декартовом пространстве. Планирование траекторий в
пространстве присоединенных переменных состоит в описании
закона изменения присоединенных координат последовательно¬
стями полиномов, что позволяет получать гладкие траектории
изменения присоединенных переменных. Для снижения вычисли¬
тельных затрат и минимизации бесполезных движений исполь¬
зуются последовательности полиномов низкой степени. Траекто¬
рия изменения присоединенной переменной разбивается на не¬
сколько участков, каждый из которых интерполируется полино¬
мом низкой степени. В частности, были рассмотрены способы
описания траектории с помощью двух полиномов четвертой и
одного — третьей степени (4-3-4-траектории) и с помощью пяти
кубических полиномов.
Был рассмотрен ряд методов планирования траекторий в де¬
картовом пространстве. Поскольку управление манипулятором
осуществляется в пространстве присоединенных переменных, а
траектория движения задается в декартовом пространстве,
обычно пользуются полиномиальной аппроксимацией заданного
в декартовом пространстве движения траекторией в простран¬
стве присоединенных переменных. Для осуществления прямоли¬
нейного движения Пол [228] предложил использовать компози¬
цию поступательного перемещения и двух поворотов схвата ма¬
нипулятора. Предложенный Полом метод был усовершенствован
Тэйлором [282] за счет применения кватернионов для описания
вращений. Тэйлор разработал также способ построения траек¬
торий с ограниченными отклонениями. Основой этого способа
является алгоритм формирования последовательности дополни¬
тельных узловых точек на заданной декартовой траектории при
аппроксимации ее траекторией в пространстве присоединенных
переменных. Лин и др. [172] предложили подход, состоящий в
интерполяции заданной траектории кубическими полиномами
по п выбираемым исследователем узловым точкам. При этом
проводилась минимизация времени движения вдоль выбранной
траектории с учетом ограничений по скорости, ускорению и ско¬
рости изменения ускорения присоединенных переменных и огра¬
ничений моментов, создаваемых приводами. Рассмотренные
217
методы применяются на этапе планирования траекторий, осуще¬
ствляемом до начала движения манипулятора. Тем самым уп¬
равление манипулятором разбивается на два этапа — этап пла¬
нирования и этап регулирования движения манипулятора вдоль
выбранной траектории, которое производится в процессе работы
манипулятора. Второму этапу посвящена гл. 5.
Литература
Дополнительные сведения о сглаженных траекториях в про¬
странстве присоединенных переменных содержатся в работах
[29, 163, 169, 170, 226]. В большинстве из перечисленных работ
построение траекторий производится без учета ограничений ди¬
намики манипулятора. Основное внимание в них сосредоточено
на обеспечении гладкости и непрерывности траекторий за счет
выбора соответствующих ограничений по скорости и ускорению.
Холлербах [122] предложил способ временного масштабирова¬
ния, позволяющий выяснить, возможно ли реализовать выбран¬
ную траекторию в рамках ограничений кинематических парамет¬
ров и развиваемых силовыми приводами моментов, зависящих
от мгновенных значений присоединенных переменных и скоро¬
стей.
Формирование траектории манипулятора, обеспечивающей
движение схвата вдоль отрезков прямой в декартовом прост¬
ранстве рассмотрено в работе [228]. Для описания положений,
через которые должен пройти схват манипулятора. Пол восполь¬
зовался матрицами однородных преобразований. Движение
между двумя последовательными заданными положениями
представляет собой композицию поступательного перемещения,
поворота, обеспечивающего требуемое положение вектора под¬
хода, и поворота вокруг оси инструмента, обеспечивающего за¬
данную ориентацию схвата. Для обеспечения гладкости траек¬
тории применяется квадратическая интерполяция траектории
движения между соседними прямолинейными участками. Вос¬
пользовавшись аппаратом кватернионов, Тэйлор [282] усовер¬
шенствовал предложенный Полом метод, добившись более рав¬
номерного движения. Оба метода в целях обеспечения возмож¬
ности планирования траекторий в реальном времени не учиты¬
вают физических ограничений на величину моментов, создавае¬
мых приводами манипулятора.
Ряд других схем планирования траекторий в декартовом про¬
странстве позволяет одновременно обеспечить непрерывность
траектории и учесть ограничения моментов. Для того чтобы
учесть ограничения моментов на этапе планирования траекто¬
рии, обычно предполагают, что максимальное значение момента
не зависит от скорости и положения манипулятора. В частности,
в работах [172, 184] переменные ограничения моментов были
216
заменены постоянными для каждой присоединенной переменной
ограничениями по скорости, ускорению и скорости изменения
ускорения. Авторы этих работ выбрали последовательность уз¬
ловых точек на траектории в декартовом пространстве, опреде¬
лили в этих точках значения присоединенных координат и с по¬
мощью интерполяции полиномами низкой степени построили
гладкую траекторию в пространстве присоединенных перемен¬
ных, отвечающую условиям непрерывности и проходящую через
выбранные узловые точки. Затем в предположении о постоянстве
динамических ограничений проводился выбор интервалов време¬
ни движения между узловыми точками с учетом ограничений.
Поскольку интерполяция траектории производилась в простран¬
стве присоединенных переменных, то на каждом участке между
соседними узловыми точками движение схвата манипулятора
может отклоняться от заданной в декартовом пространстве
траектории.
Ли [152] разработал дискретную схему планирования тра¬
ектории, обеспечивающую выбор узловых точек в точности на
заданной прямолинейной траектории в декартовом пространстве,
удовлетворяющей условиям гладкости и ограничениям динамики.
Задача планирования траектории сформулирована им как за¬
дача максимизации расстояния между последовательными узло¬
выми точками на прямолинейной траектории в декартовом про¬
странстве при ограничениях, обусловленных требованиями
гладкости и днамикой манипулятора.
В связи с необходимостью дискретной аппроксимации при¬
соединенных скоростей, ускорений и скоростей изменения уско¬
рений решение задачи оптимизации требует большого количе¬
ства вычислений, что препятствует эффективному применению
этой схемы. Для снижения вычислительных затрат оптимизация
производится с помощью итеративных алгоритмов поиска.
Упражнения
4.1. Однозвенный манипулятор с вращательным сочленением должен за
2 с переместиться из положения 0(0) = 30° в положение 0(2) = 100°. При¬
соединенные скорости и ускорения в начальной и конечной точках равны
нулю.
а) Какова максимальная степень полинома, пригодного для описания
этого движения?
б) Какова минимальная степень полинома, пригодного для описания
этого движения?
4.2. В упр. 4.1 определите а) коэффициенты кубического полинома, опи¬
сывающего заданное движение; б) коэффициенты полинома четвертой сте¬
пени, описывающего заданное движение; в) коэффициенты полинома пятой
степени, описывающего заданное движение. Допускается разбиение траекто¬
рии на участки.
4.3. Предположим, что длина каждого звена двухзвенного манипулятора,
описанного в разд. 3.2.6, составляет 1 м. Требуется переместить манипулятор
из начального положения (х0, г/о) = (1,96, 0,50) в конечное положение
C*f> Hi) = (1.00, 0,75). Начальные и конечные скорости и ускорения равны
нулю. Найти коэффициенты кубических полиномов, описывающих заданное
движение по каждой из присоединенных переменных. Допускается разбиение
траектории на несколько участков.
4.4. Планирование 4-3-4-траекторий требует решения векторного уравне¬
ния (4.3-45). Всегда ли существует матрица, обратная матрице (4.3-46)?
Обоснуйте свой ответ.
4.5. Для манипулятора Пума 560, системы координат звеньев которого
заданы на рис. 2.11, требуется построить 4-3-4-траекторию для следующих
условий движения. Начальное положение манипулятора задается матрицей
однородного преобразования Т„:
-0,612 -184,099
0,500 892,250
-0,612 -34,599
0 0
—0,660 -0,436
—0,750 0,433
0,047 0,789
0 0
Конечное положение задается матрицей Тк:
г -0,933 -0,064 0,355 412,876
-0,122 0,982 —0,145 596,051
—0,339 —0,179 —0,924 —545,869
0 0 0 0
Т =
* к
Точки подхода и ухода определяются по «правилу большого пальца» вычис¬
лением 25 % от di (величина da составляет 56,25 мм). Найти матрицы одно¬
родных преобразований Ту и Тп, соответствующие точкам ухода и подхода.
4.6. Для манипулятора Пума 560, системы координат звеньев которого
заданы на рнс. 2.11, требуется построить 4-3-4-траекторию для следующих
условий движения. Начальное положение манипулятора задается матрицей
однородного преобразования Т„:
Т =
* н
1
0
0
0 1
0
1
0
600,0
0
0
-1
-100,0
0
0
0
1 -
г°
1
0
100,0
1
0
0
400,0
0
0
-1
-50,0
-0
0
0
1
Положение в точке подхода задается матрицей Тн:
Т =
* и
а) Точки ухода и подхода определяются по «правилу большого пальца»
вычислением 25% от de (величина de составляет 56.25 мм), при этом допу¬
стим произвольный поворот. Определите матрицу Ту, описывающую точку
ухода, если схват при переходе из начальной точки в точку ухода развернул¬
ся на 60° вокруг оси s.
б) Определите матрицу Тк, описывающую конечное положение, если
при переходе из точки подхода в конечную точку схват развернулся на —60°
вокруг оси s.
220
4.7, Требуется переместить манипулятор из точки А в точку В, где А
и В описываются следующими матрицами:
Г “1
0
0
5-
Г 0
-1
0
20-1
0
1
0
10
в =
0
0
1
30
0
0
-1
15
-1
0
0
5
- 0
0 .
0
1 -
- 0
0
0
1 -
Движение из А в В представляет собой композицию поступательного пере¬
мещения и двух поворотов, как это описано в разд. 4.4.1. Найдите 0, ф, ф и
х, у, г соответствующего ведущего преобразования. Найдите также три про¬
межуточных преобразования между А и В.
4.8. Требуется осуществить прямолинейный переход манипулятора из
точки А в точку В, сопровождаемый разворотом с постоянной угловой ско¬
ростью на угол 0 вокруг вектора к. Точки А и В заданы следующими матри¬
цами однородных преобразований:
- —1
0
0
ю-
- 0
-1
0
10-.
0
1
0
10
0
0
1
30
А =
0
0
-1
10
в =
-1
0
0
10
- 0
0
0
1 -
- 0
0
0
1 -
Найти вектор к и угол 0. Найти также три промежуточных преобразования
между А и В.
4.9. Представьте найденный в упр. 4.8. поворот в форме кватерниона.
4.10. Опишите в форме кватернионов следующую последовательность по¬
воротов: сначала на 60° вокруг оси j, затем на 120° вокруг оси i. Найдите
результирующий поворот в кватернионной форме.
4.11. Покажите, что матрица А в выражении (4.4-64) всегда имеет об¬
ратную.
Глава 5.
УПРАВЛЕНИЕ МАНИПУЛЯТОРАМИ
ПРОМЫШЛЕННОГО РОБОТА
Надо понимать, что происходящее
вокруг в значительной степени нам
не подвластно, зато нам подвластна
наша реакция на происходящее.
Дж. Петти
5.1. ВВЕДЕНИЕ
Если динамические уравнения движения манипулятора за¬
даны, целью управления манипулятором является выполнение
им движений в соответствии с заданным рабочим критерием.
Хотя проблема управления может быть сформулирована таким
простым образом, ее решение усложняется действием сил инер¬
ции, реакции в соединениях и веса звеньев манипулятора. Про¬
блема управления манипулятором в общем случае сводится, во-
первых, к получению его динамических моделей и, во-вторых, к
определению закона управления им на основе этих моделей для
обеспечения требуемых рабочих и динамических характеристик
системы. Первая часть проблемы управления подробно обсуж¬
дена в гл. 3, а вторая часть рассматривается в этой главе.
Анализ управляемого движения манипулятора показывает,
что управление движением выполняется в два этапа. На первом
этапе осуществляется управление транспортным движением, при
котором манипулятор перемещается из начального положения
или из исходной ориентации в окрестность желаемого конечного
положения вдоль планируемой траектории или ориентируется в
заданном положении. На втором этапе реализуется управление
точным (корректирующим) движением, при котором датчик ко¬
нечного положения взаимодействует с объектом, выдавая ин¬
формацию в цепь обратной связи для завершения движения.
Современный подход при проектировании систем управления
манипулятором состоит в том, чтобы управлять движением в
каждом сочленении с помощью встроенного сервомеханизма.
Такой подход не позволяет адекватно моделировать динамику
манипулятора, поскольку не учитывает движение и конфигура¬
цию реальной конструкции манипулятора. Это приводит к зна¬
чительным отличиям параметров модели от параметров реальной
управляемой системы, что снижает эффективность традицион¬
ных методов управления с использованием обратной связи.
В результате скорость манипулятора уменьшается по сравнению
222
с расчетной и имеет место торможение, что ухудшает точность
и скорость позиционирования манипулятора и сужает область
применения робота. Таким образом, управляемые на основе рас¬
смотренного подхода манипуляторы перемещаются с низкой
скоростью и с паразитными вибрациями. Любое улучшение па¬
раметров управления манипулятором требует рассмотрения бо¬
лее эффективных динамических моделей, совершенствующих
технику управления, а также использования особых вычисли¬
тельных процедур. В данной главе рассматриваются методы, ко¬
торые реализуют динамические модели, описанные в гл. 32 и по¬
зволяют повысить эффективность управления манипулятором.
Возмущения
Штеррейс
Рис. 5.1. Общая блок-схема управления манипулятором робота.
Рассматривая управление манипулятором как задачу форми¬
рования траектории движения (рис. 5.1), управление движением
можно подразделить на три основных вида:
1. Управление движением сочленений манипулятора.
• Сервомеханизм звена (схема управления манипулятором
робота Пума).
• Метод вычисления моментов.
• Оптимальное по быстродействию управление.
• Управление переменной структурой.
• Нелинейное независимое управление.
2. Программное управление движением в декартовом про¬
странстве по скорости, ускорению и силе.
3. Адаптивное управление. / '
• Адаптивное управление по заданной модели.
• Самонастраивающееся адаптивное управление.
• Адаптивное управление по возмущению с компенсацией
по прямой связи.
• Адаптивное управление программным движением.
Предполагается, что движение вдоль траектории в связанной
или декартовой системе координат является функцией времени.
223
5.2. УПРАВЛЕНИЕ МАНИПУЛЯТОРОМ РОБОТА ПУМА
Каждое сочленение манипулятора робота управляется своим
простым сервомеханизмом. Устройство управления манипуля¬
тором робота Пума серии 560 состоит из вычислительного
устройства DEC LSI-11/02 и шести микропроцессоров Rockwell
6503, каждый из которых имеет кодирующее устройство, цифро-
аналоговый преобразователь (ЦАП) и усилитель тока. Струк¬
тура управления построена иерархически. На верхнем уровне
иерархической системы находится микрокомпьютер LSI-11/02,
который используется в качестве ЭВМ верхнего уровня. На
Терминал
Флоппи-
диск
Панель
илра&ле-
3 гния
Периферийные
устройства
BLV-W
/\
VALстирае¬
мое г/рограм-
Канал пря¬
мого достуА
па в ло/мяпил
Центральный
процессор
К*
LSI-И/02
6503
МП
Цифроаналоговый
преобразователь
Усилитель
Двигатель
сочленения I
-h
0,S7Smc
Кодирую¬
щее
устрои-
ство
7/-28мс
е>/
6503
МП
Цифроаналоговый
преоЬразователь
Усилитель
Двигатель
сочленения 6
&
0,875мо
—к-
Манипулятор робота Пума
Кодирую¬
щее
устрой¬
ство
Рис. 5.2. Схема управления манипулятором робота Пума,
нижнем уровне располагается шесть микропроцессоров 6503 —
по одному на каждую степень свободы (рис. 5.2). Вычислитель¬
ное устройство выполняет две основные функции: 1) взаимо¬
действие с пользователем в режиме связи терминала с процес¬
сором и составление подзадач из списка команд пользователя
VAL 0 и 2) координацию работы шести микропроцессоров 6503
для выполнения команды. Режим связи терминала пользова¬
теля с процессором включает грамматический разбор, интер¬
претацию и декодирование команд VAL, а также выдачу поль¬
зователю соответствующих сигналов об ошибках. Когда команда
VAL декодирована, вызываются внутренние программы для вы-
!) VAL—пакет программ для управления манипулятором робота Пу»
ма, разработанный фирмой Unimation Inc.
224
полнения рабочих режимов и координирующих функций. В эти
функции, которые находятся в памяти EPROM вычислитель¬
ного устройства LSI-11/02, входят:
1. Преобразование систем координат (например, из непо¬
движной системы координат в связанную с шарнирами систему
координат или наоборот).
2. Планирование траектории с учетом интерполяции в сочле¬
нениях, включающее приращения параметров, соответствующие
каждой точке и каждому сочленению каждые 28 мс.
3. Передача информации о завершении движения по всем
осям в микропроцессоры 6503, где формируются управляющие
воздействия в соответствии с требованиями движения по прира¬
щениям.
4. Предварительный просмотр двух инструкций, необходи¬
мых для осуществления интерполяции в режиме непрерывного
движения по траектории.
На нижнем уровне иерархии системы находятся устройства
управления сочленениями, каждое из которых состоит из циф¬
ровой и аналоговой платы, а также из усилителя мощности для
каждого сочленения. Микропроцессор 6503 является составной
частью устройства управления сочленением, которая непосред¬
ственно управляет движением по каждой оси. Каждый микро¬
процессор находится на цифровой плате со своими системами
EPROM и DAC (ЦАП). Он соединен с вычислительным устрой¬
ством LSI-11/02 через интерфейсную плату, которая функцио¬
нирует как демультиплексор, направляющий информацию об
опорных точках траектории на каждое устройство управления
сочленением. Интерфейсная плата связана с 16-разрядной пла¬
той параллельного интерфейса DEC (DRV-11), который произ¬
водит обмен данными с шиной Q устройства LSI-11/02 (рис. 5.2)'.
Микропроцессор вычисляет сигнал ошибки положения сочлене¬
ния и посылает его на аналоговую плату, которая имеет обрат¬
ную связь по току с каждым двигателем сочленения.
Для управления каждым сочленением имеются два контура
управления. Внешний контур оперирует информацией об ошибке
позиционирования и обменивается данными с микропроцессо¬
рами 6503 примерно каждые 0,875 мс. Внутренний контур со¬
стоит из аналоговых устройств и компенсатора с обратной
связью по производной для демпфирования сигналов отклоне¬
ний по скорости. Коэффициенты передачи обоих контуров по¬
стоянны и обеспечивают «критическое демпфирование системы
сочленений» по скорости, определяемой программой VAL. Основ¬
ными функциями микропроцессоров являются:
1. Получение и обработка опорных точек траектории от вы¬
числительного устройства LSI-11/02 и проведение интерполя¬
ции между текущими и заданными значениями параметров со¬
членений через 28 мс.
8 К. Фу и др.
225
2. Считывание значений регистра, который накапливает при¬
ращения величин от кодового датчика, формируемых по каж¬
дой оси вращения, через 0,875 мс.
3. Накопление сигналов ошибки от интерполированных опор¬
ных точек сочленений и значений от кодового датчика по осям.
4. Преобразование сигналов ошибки в токовые сигналы с
помощью преобразователя DAC и подача их на аналоговую
плату, сигналы с которой организуют движение в сочленениях.
Отметим, что в схеме управления роботом Пума используется
пропорционально-интегрально-дифференциальный метод управ¬
ления (ПИД-регулятор). Основной недостаток этой схемы
управления состоит в том, что коэффициент передачи обратной
связи постоянен и предварительно задан. Это не дает возмож¬
ности изменять коэффициент передачи обратной связи при из¬
менении нагрузок. Так как промышленный робот представляет
собой достаточио нелинейную систему, то силы инерции, реак¬
ции и веса зависят от положения или от положения и скорости
и могут изменяться в больших пределах. Таким образом, рас¬
смотренная схема управления, в которой используется постоян¬
ный коэффициент передачи для управления нелинейной систе¬
мой, неэффективна. Действительно, манипулятор робота Пума
перемещается с сильными вибрациями на малых скоростях.
Одно из решений этой проблемы заключается в использовании
цифрового управления, при котором прикладываемые моменты
к манипулятору робота обрабатываются на ЭВМ, где заложена
соответствующая динамическая модель манипулятора. Вариант
такого метода рассматривается в разд. 5.3.
5.3. МЕТОД ВЫЧИСЛЕНИЯ УПРАВЛЯЮЩИХ МОМЕНТОВ
Если движение манипулятора описывается уравнениями
Лагранжа — Эйлера или Ньютона — Эйлера, задачей управле¬
ния является нахождение управляющих моментов и сил. Эти
моменты и силы должны обеспечивать максимально прибли¬
женное к заданной траектории движение конечного звена ма¬
нипулятора в реальном времени. Управляющие моменты при¬
вода определяются с помощью динамической модели манипу¬
лятора, основанной на используемых уравнениях движения.
В расчетной схеме моделируются рабочие характеристики дви¬
гателя, а также предусматривается преобразование вычислен¬
ного момента в управляющие напряжения или ток двига¬
теля. Управляющее напряжение вычисляется с такой скоро¬
стью, которая позволяет пренебречь запаздываниями, возни¬
кающими в процессе анализа вычислений.
Параметры модели отличаются от параметров реального
объекта управления. Поэтому необходимо использовать сигналы
226
обратной связи по положению и скорости для коррекции расчет¬
ных моментов с целью обеспечения необходимой величины
управляющего сигнала, подаваемого на двигатели сочленений1).
6.3.1. Передаточная функция одного сочленения робота
В этом разделе излагаются методы получения передаточной
функции одного сочленения робота, с помощью которых можно
построить пропорционально-дифференциальные регуляторы
(ПД-регуляторы). Рассмотрены также методы построения ре¬
гулятора для многосуставных манипуляторов, движение кото¬
рых описывается уравнениями Лагранжа — Эйлера или Ньюто¬
на—Эйлера. При анализе одно сочленение манипулятора ро¬
бота трактуется как линейная непрерывная система, к которой
для упрощения вычислений может быть применен метод преоб¬
разований Лапласа.
Большинство промышленных роботов имеют электрические,
гидравлические или пневматические приводы. Манипуляторы с
электрическими приводами чаще всего оснащаются двигателями
постоянного тока с независимым возбуждением в каждом сочле¬
нении. Двигателями постоянного тока являются, как правило,
двигатели с постоянным магнитом, якорным возбуждением и с
непрерывным вращением выходного вала. Они сочетают в себе
такие качества, как высокая мощность, плавность хода, воз¬
можность работы на малых скоростях, линейность нагрузочной
характеристики и небольшие постоянные времени. Использова¬
ние постоянного магнитного поля и энергии постоянного тока
обеспечивает максимальный момент при минимальной энергии,
затрачиваемой на питание, и при минимальном весе. Эти пара¬
метры также позволяют снизить индуктивность двигателя и,
следовательно, величину постоянной времени, обусловленную
электрическими взаимодействиями. На рис. 5.3 приведена экви¬
валентная схема двигателя постоянного тока с управлением в
цепи якоря, который может быть использован в сочленении ма¬
нипулятора. Основными переменными величинами в этой схеме
являются следующие:
Va — напряжение якоря, В; ...
Vf — напряжение поля, В;
Ьа — индуктивность якоря, Гн;
Lf — индуктивность поля, Гн;
Ra — сопротивление якоря, Omi
Rf — сопротивление поля, Ом;
ia — ток якоря, А;
о Двигатели, встроенные в шарниры звеньев, здесь и далее будем для
краткости называть двигателями сочленений. — Прим. ред.
S*
227
if — ток поля, А;
еь — электродвижущая сила, В; .
т —момент, развиваемый двигателем, Н-м;
0т — угловое перемещение вала двигателя, рад;
Ql —угловое перемещение вала нагрузки, рад;
Jm — момент инерции двигателя, приведенный к валу дви¬
гателя, н-м-с2/рад;
fm — коэффициент вязкого трения двигателя, приведенный
к валу двигателя, н-м-с/рад;
JL — момент инерции нагрузки, приведенный к валу нагруз¬
ки, н-м-с2/рад;
fL — коэффициент вязкого трения нагрузки, приведенный к
валу нагрузки, н-м-с/рад;
Nт—число зубьев внутреннего редуктора (редуктора дви¬
гателя) ;
Nl— число зубьев внешнего редуктора (редуктора нагрузки).
Рис. 5.3. Эквивалентная схема двигателя постоянного тока с управлением
в цепи якоря.
Нагруженное звено соединяется с выходным валом двига¬
теля с помощью редуктора — механической системы передач.
Как следует из схемы системы передач, показанной на рис. 5.4,
общее линейное перемещение редукторов при их взаимодействии
одинаково, т. е.
dm = dL и rmQm = rLQL, (5.3-1)
где гт и /■£ — соответственно радиусы взаимодействующих ше¬
стерен внутреннего и внешнего редуктора. Так как радиус ше¬
стерни пропорционален числу зубьев, то
NmQm = NLQL ' (5.3-2)
или ,■-'■■■■ -7Г == Т-==п < Ь ■- (5-3’3)
L т
228
где n — передаточное отношение, связывающее бх. и 9т следую¬
щим образом:
= (5.3-4)
Продифференцировав два раза, получим
■’ М0 = «ё„Д0 (5.3-5)
и 0L(/) = n0m(/). (5.3-6)
Если нагрузка подсоединена к внешнему редуктору, момент,
Рис. 5.4. Анализ системы механической передачи.
обеспечиваемый выходным валом двигателя, равен суйме ''Мо¬
ментов, потребляемых двигателем и нагрузкой.'
Таким образом,
Г Момент на 1 г Г Момент нагрузки, 1
валу = Г I + приведенный (5.3-7)
L двигателя j L А»ш спели j |_R валу двигахеЛЯ J
или в другой форме
f(0 = Tm(0 + ^(0. (5.3-8)
229
Момент нагрузки, приведенный к валу нагрузки, равен
Ti(0 = /A(0 + fA(0. (5.3-9)
а момент двигателя, отнесенный к валу двигателя, равен
= + (5.3-10)
По закону сохранения энергии работа, которая производится
нагрузкой, приведенной к валу нагрузки tl$l, должна равняться
работе, приведенной к валу двигателя т*LQm. Из этого следует,
что
т, (0 6, (О
*1(0 = -%m(t)-=nxL (')• (5-3-11)
С учетом уравнений (5.3-9), (5.3-5) и (5.3-6) имеем
т2 (0 = п2 [jLdm (t) + fLQm (/)]. (5.3-12)
\
Используя уравнения (5.3.10) и (5.3.12), запишем выражение
для момента, развиваемого выходным валом двигателя:
* (0 = (0 + т2 (/) = (Jm + tt2JL) Qm (/) + {fm + n2f J 0m (t) =
= yeff0m(O + /effem(O, (5.3-13)
где Jen — Jm-}-n2JL — суммарный эффективный момент инерции
двигателя и нагрузки, приведенный к валу двигателя, а /еft =
= fm + H2ft — суммарный коэффициент вязкого трения двига¬
теля и нагрузки, приведенный к валу двигателя.
Основываясь на полученных выше результатах, можно опре¬
делить передаточную функцию рассматриваемой системы одного
сочленения манипулятора. Поскольку момент на валу двигателя
линейно зависит от тока якоря и не зависит от скорости и угло¬
вого положения, получим
*(0 = /СаМ0, (5.3-14)
где Ка — коэффициент пропорциональности, имеющий размер¬
ность н-м/А. Используя закон Кирхгофа для контура якоря,
получим
va (0 = RJa (t) + La -ЩР- + (0, (5.3-15)
где вь — электродвижущая сила, пропорциональная угловой ско¬
рости двигателя:
*б(0=кА(0, (5-з-1б)
а Кь — коэффициент пропорциональности, имеющий размер¬
ность В-с/рад. Производя преобразование Лапласа над полу-
230
ченными уравнениями и решая их относительно Ia{s), получим
Ia(s)=Va%~+KsfamlS) • (5-3-17)
В результате выполнения преобразования Лапласа над уравне¬
нием (5.3-13) имеем
T(s) = s4eliejs) + sfe!iQm(s). (5.3-18)
Производя преобразование Лапласа над уравнением (5.3-14)
и подставляя в него значение L(s) из уравнения (5.3-17), по¬
лучим
т (S) = KJa (s) = Ka[Va iS)Rf^~ram (S) ] • (5.3-19)
Приравнивая уравнения (5.3-18) и (5.3-19) и группируя члены,
получаем передаточную функцию от напряжения якоря к угло¬
вому перемещению вала двигателя
9т (Л Ка (К 4.901
VaW S\s2J^a + (Lafeti + *at*it)S + RJetf + KaKb] ' '
Так как величина постоянной времени двигателя, обусловленная
электрическим взаимодействием, намного меньше ее величины,
Рис. 5.5. Передаточная функция разомкнутой системы одного сочленения ма¬
нипулятора робота.
обусловленной механическими факторами, можно пренебречь
влиянием индуктивности якоря La. Это позволяет упростить
предыдущее уравнение и записать его в виде
. ‘ 0m (S) Ка К
va (s) - s (sRaJets + Rafe„ + KaKb) S (Tms + 1) ’ {5<3'21)
где /(A ^a
Rafe tl + KaKb
■передаточный коэффициент двигателя и
у, R-a^ ell
m= RafeU + KaKb
■постоянная времени двигателя.
Поскольку выходом системы управления является угловое
перемещение сочленения [0i(s)], используя уравнение (5.3-4)
и его преобразование Лапласа, можно отнести угловое поло¬
жение сочленения 0t(s) к напряжению якоря ya(s), т. е.
е, (s) пК
1 “ (5.3-22)
Vs) S (S Veff + RJeU + КаКь) '
Уравнение (5.3-22) является передаточной функцией одного со¬
членения манипулятора, связывающей прикладываемое напря¬
жение с угловым перемещением сочленения. Блок-схема си¬
стемы показана на рис. 5.5.
5.3.2. Устройство позиционирования для одного сочленения
манипулятора
Назначением устройства позиционирования является управ¬
ление двигателем таким образом, чтобы реальное угловое пере¬
мещение сочленения совпадало с желаемым угловым переме¬
щением, определяемым заданной траекторией (см. гл. 4). Управ¬
ление основано на выработке сигнала ошибки между заданным
и действительным угловыми положениями сочленения для выра¬
ботки соответствующего управляющего напряжения. Другими
словами, прикладываемое к двигателю напряжение прямо про¬
порционально ошибке между заданным и действительным угло¬
выми перемещениями сочленения:
к,(0 (53.23)
где Кр — коэффициент передачи обратной связи по положению,
имеющий размерность В/рад, е (t) = 0l (/) — 8l (t) — ошибка си¬
стемы, п — передаточное отношение, учитывающее приведение
управляющего напряжения к валу двигателя. Из уравнения
(5.3-23) следует, что значение действительного углового поло¬
жения сочленения подается на вход системы для выработки
сигнала ошибки. Этот сигнал усиливается на величину коэф¬
фициента передачи обратной связи по положению Кр для того,
чтобы получить требуемое управляющее напряжение. Таким
образом, мы преобразовали систему одного сочленения робота
из разомкнутой системы управления, которая описывалась урав¬
нением (5.3-22), в замкнутую систему управления с помощью
блока отрицательной обратной связи (рис. 5.6). Текущее угло¬
вое положение сочленения может измеряться с помощью опти¬
ческого кодирующего устройства или потенциометра.
Применяя преобразование Лапласа к уравнению (5.3-23)
(6.3.24)
232
и подставляя УДя) в уравнение (5.3-22), получим передаточную
функцию разомкнутой системы, связывающую ошибку управ¬
ляющего сигнала [£(s)] с текущим положением сочленения:
0L (s)
E(s)
AG(s)
КаКр
S (sRaLeU + Rafe[f + KaKb)
(5.3-25)
После нескольких простых алгебраических преобразований
можно получить передаточную функцию замкнутой системы,
Рис. 5.6. Управление с обратной связью одним сочленением манипулятора.
представляющую собой отношение действительного углового
перемещения 0t(s) к желаемому &l(s) угловому перемещению:
eL(s) _ G(S) КаКр
e£(s) 1 +G(S) s2Ra/eti + s(RJetf + KaKb) + KaKp “
KaKp/RJm
^ + [(ЯЛff + KaKb)/KaJeff] * + KaKp/RaJeff '
(5.3-26)
Из уравнения (5.3-26) видно, что пропорциональный регулятор
для одного сочленения робота представляет собой систему вто¬
рого порядка, которая является устойчивой, если все коэффи¬
циенты системы положительны. Для того чтобы улучшить ди¬
намику системы и уменьшить статическую ошибку, можно уве¬
личить коэффициент передачи обратной связи КР и ввести
демпфирование в систему путем учета производной от ошибки
позиционирования. Угловая скорость сочленения может изме¬
ряться тахометром или вычисляться по соответствующим вели¬
чинам между двумя последовательными положениями сочлене¬
ния. С учетом этого замечания управляющее напряжение дви¬
гателя будет прямо пропорционально ошибке позиционирования
и ее производной, т. е.
’ n KPM(t)-QL(t)]+Kv[QdL(t)-QL(t)] Kpe{t) + Kve(t)
' Vа\Ч п “ п
(5.3-27)
233
где Kv — коэффициент передачи обратной связи по производной
от ошибки, а п — передаточное отношение редуктора, учитываю¬
щее приведение управляющего напряжения к валу двигателя.
Уравнение (5.3-27) отражает тот факт, что кроме обратной
связи по положению организуется обратная связь по скорости.
Для этого измеряется или вычисляется скорость двигателя с
последующим умножением ошибки по скорости на коэффициент
обратной связи по скорости Kv■ Поскольку, как это показано
в гл. 4, желаемая траектория сочленения может быть описана
гладкими полиномиальными функциями, две первые производ¬
ные которых существуют на интервале [^о, tj], желаемая ско¬
рость может быть вычислена по этим полиномиальным функ¬
циям и использована для получения ошибки по скорости в кон¬
туре обратной связи. Сумма напряжений, полученных с по¬
мощью контуров обратной связи, подается на двигатель сочле¬
нения. Соответствующая замкнутая система управления пока¬
зана на рис. 5.6.
Производя преобразование Лапласа над уравнением (5.3-27)'
и подставляя VC(s) в уравнение (5.3-22), получим передаточ¬
ную функцию, связывающую сигнал ошибки [£(s)] с действи¬
тельным перемещением сочленения:
-е^дои(*)= +
E[s) = w pd s(sRalell + RJM + KaKb)
(5.3-28)
KaKvs + KaKp
s(sRaJeH + RafeU + Ka^b)
С помощью простых алгебраических преобразований получаем
передаточную функцию замкнутой системы, связывающую дейст¬
вительное угловое перемещение [0/.(s)] с желаемым угловым
перемещением [0i(s)]:
9l (*) __ °PD (*> V + КаКР t
1 + Gp0(s) s2^Veff + s (RJeU + KaKb + KaKv) + KaKp
(5.3-29)
Заметим, что при Kv = 0 уравнение (5.3-29) переходит в урав¬
нение (5.3-26).
Уравнение (5.3-29) описывает систему второго порядка, ко¬
рень которой расположен на расстоянии —KP/KV в левой полу¬
плоскости на плоскости аргумента s. Расположение этого корня
влияет на величину перерегулирования и на длительность пере¬
ходного процесса. Система управления манипулятором нахо¬
дится также под действием возмущений [О (s) ] от сил веса и
центробежных сил, действующих на звено манипулятора
(рис. 5.7). Таким образом, момент, вырабатываемый на валу
234
двигателя, должен компенсировать моменты, теряемые на самом
двигателе, моменты, потребляемые нагрузкой, а также моменты,
расходуемые на устранение влияния возмущений. Отсюда с уче¬
том уравнения (5.3-18) получаем
Т (s) == [s2/eff + sfM\ 0m (s) + D (s), (5.3-30)
где D{s) — преобразование Лапласа от возмущающих воздей¬
ствий. Передаточная функция,'связывающая возмущения с дей¬
ствительным перемещением сочленения, записывается в виде
eL (s) | — nR„
D(s)
s>RaJeff + s (RJeff + KaKb + KaKv) + KaKp •
(5.3-31)
1 (s)=0
Используя уравнения (5.3-29) и (5.3-31) и принцип супер¬
позиции, можно получить действительное перемещение сочле-
Щ
Рис. 5.7. Блок-схема управления с обратной связью манипулятором при на¬
личии возмущений.
нения с учетом двух входных воздействий 0ц (s) и D(s) в сле¬
дующем виде:
et(s)
Ka(Kp + sKv)edL(s)-nRaD(s)
S (Rateff + KaKb + K‘aKv) + KaKp
. (5.3-32)
Ниже рассмотрена работа описанной замкнутой системы, в
частности влияние вида входного воздействия на статическую
ошибку системы и нахождение значений коэффициентов пе¬
редачи обратной связи по положению и скорости.
5.3.3. Критерии работоспособности и устойчивости
Работа замкнутой системы управления второго порядка
основана на таких критериях, как обеспечение хорошей дина¬
мики, небольшая или нулевая статическая ошибка и малые
времена переходных процессов. Сначала исследуем диапазон
значений коэффициентов передачи обратной связи по положе¬
нию и скорости. В предположении, что возмущения отсутствуют,
235
из уравнений (5.3-29) и (5.3-31) видно, что мы имеем систему
второго порядка с нулевым корнем. Наличие нулевого корня в
системе второго порядка обычно приводит к более быстрой обра¬
ботке заданного значения на входе системы и сопровождается
большей величиной перерегулирования по сравнению с системой
второго порядка без нулевого корня. Временно пренебрегая эф¬
фектом, вызываемым наличием нулевого корня, попытаемся
определить значения Кр и Kv, которые обеспечивают критиче¬
ское или надкритическое демпфирование системы.
Напомним, что характеристическое уравнение системы вто¬
рого порядка может быть записано в следующей стандартной
форме:
s2 + 2£cons + o>2=0, (5.3-33)
где ^ и (Оп — соответственно коэффициент демпфирования и соб¬
ственная частота колебаний системы. Сравнивая полюсы замк¬
нутых систем, описываемых уравнениями (5.3-29) и (5.3-33),
видим, что
<=тгг (5.з-з4>
i eff ка
о*.. ^afeii + /с о осч
2£со„ = j—= . (5.3-35)
•'effк а
Работа системы второго порядка определяется значениями ее
собственной частоты колебаний со„ и коэффициентом демпфиро¬
вания £. Из соображений безопасности система манипулятора
не должна отрабатывать ступенчатое входное воздействие с не¬
достаточным демпфированием. Для обеспечения требуемого в
указанном выше смысле режима работы необходимо иметь кри¬
тическое или надкритическое демпфирование системы, соответ¬
ствующее значению коэффициента демпфирования, большему
или равному единице. Передаточный коэффициент обратной
связи по положению определяется из уравнения (5.3-34) для
собственной частоты колебаний системы
/( =^Л>0. (5.3-36)
А а
Подставляя ап из уравнения (5.3-34) в уравнение' (5.3-35),
находим, что
* RafeU +КаКь+ Ka.Kv ^ , ,г о отч
?== о ~Гк к I в- (5.3-37)
2 р eff^a
где равенство дает критическое демпфирование системы, а не¬
равенство соответствует надкритическому демпфированию си¬
236
стемы. Из уравнения (5.3-37) можно найти передаточный коэф¬
фициент обратной связи по скорости:'
Kv > 2 V^aVeff^ ~ Rafeii - KaKb _ ^33^
А а
Для устранения колебаний и резонанса конструкции сочленения
необходимо выбирать значение частоты собственных колебаний,
не превышающее половины величины резонансной частоты кон¬
струкции сочленения [229], т. е.
со„ ^ 0,5сом (5.3-39)
где сог — резонансная частота конструкции сочленения (рад/с).
Резонансная частота конструкции зависит от материала, из
которого изготовлен манипулятор. Если эффективную жесткость
сочленения обозначить ksim, то возвращающий момент ksw&m{t)
противодействует моменту инерции двигателя:
/effem(O + *stlff0m(O = O. (5.3-40)
Производя преобразование Лапласа, получим характеристи¬
ческое уравнение выражения (5.3-40) в виде
7effS2 -f- ^stiff = 0. (5.3-41)
Решение этого уравнения дает резонансную частоту конструк¬
ции системы
»' = (т£Г <5-3-42»
Хотя жесткость сочленения является постоянной величиной, в
случае дополнительной нагрузки на манипулятор эффективный
момент инерции будет возрастать, что в свою очередь приводит
к уменьшению резонансной частоты конструкции. Если резо¬
нансная частота конструкции юо измерена для известного мо¬
мента инерции, то для другого момента инерции /о она опреде¬
ляется по формуле
®г = ®о(^)1/2- (5-3'43)
Используя выражение (5.3-39), находим ограничения для Кр из
уравнения (5.3-36): ; ' ;,i
0 <KP<^WT~- (5-3_44)
С учетом уравнения (5.3-43) эти ограничения преобразуются к
виду
0<кр<-Чкг- (5-зч5)
237
Зная Кр, передаточный коэффициент обратной связи по скорости
Kv можно найти из уравнения (5.3-38):
J, ^ Яаш0 д/Veff — Rjelf ~ ,е 0
Kv > ^ • (5.3-46)
На следующем этапе исследуются статические ошибки рас¬
сматриваемой системы для ступенчатых и непрерывных входных
воздействий. Ошибка системы определяется как e(t) = Q‘[(t) —
— 0l (0- Используя уравнение (5.3-32), ошибку в виде преобра¬
зований Лапласа можно записать так
Е в (-) {s%iiRa + *{RaU + КаКь)] в1 iS) + ПЯа°(S)
H(S) UL(S) UL(S) s>RaJeii + s(RJeU + KaKb + KaKv) + KaKp •
(5.3-47)
Для ступенчатого входного воздействия с амплитудой А, т. е.
при 0l (t) = А, и при неизвестном возмущающем входе стати¬
ческая ошибка системы па ступенчатое входное воздействие
может быть найдена из теоремы существования предела:
ess (ступенчатое воздействие) A essp = Цщ в (t) = lim sE (s) =
t -> oo S-^0
.. [^Je^a+H^afen+KaKb)]A/S + nRaD(S)
s^0S *2 Veff + s («Jeff + KaKb + KaKv) + KaKp
= I™ S [ ** Veff + S (Veff + Как! + KaKv) + KaKp ] • (5'3'48)
Эта ошибка является функцией возмущений. Мы можем зара¬
нее определить такие возмущающие воздействия, как сила тя¬
жести и центробежный момент, которые зависят от скорости
сочленения. К возмущениям, которые не могут быть точно опре¬
делены, относятся момент трения в редукторах и помехи в си¬
стеме. Таким образом, можно идентифицировать каждый из
этих моментов отдельно как
тц (0 = т0 (/) + тс (/) + те, (5.3-49)
где tg(0 и тс (О—соответственно моменты сил тяжести и цен¬
тробежных сил звена минипулятора, а хе — остальные возму¬
щающие воздействия, кроме сил тяжести и центробежных сил,
значения которых предполагаются равными малой постоянной
величине. Соответствующим преобразованием Лапласа уравне¬
ния (5.3-49) является следующее уравнение:
D(s) = T0(s) Тс (s) + . (5.3-50)
Для того чтобы скомпенсировать силы тяжести и центробежные
силы, можно вычислить величины моментов от 'них и эти значе-
238
ния подать в устройство управления, как это показано на рис. 5.8,
с целью минимизации их влияния. Такая компенсация называет¬
ся компенсацией по прямой связи.
Обозначим вычисленные моменты через tcomp(0. а их пре¬
образование Лапласа — через TComp(s). Используя эти обозна-
Задаю-
щая
прог¬
рамма
т
АЦП -о
°)С
Тахометр
Вычисление
оде двига¬
теля
Компенсация
ошибки обрат,-
иой сбязи
Вычисление
моментов
Характерис¬
тика
жение-ML
\mepuc-1 +Д!
'-моМетп\
Вычисление
силы тяжестиг
кориолисобыя сил,
центробежной силы,
сил инерции
ЦАП
/7ридодной
абиеатель
о^+
Редук¬
тор
Компенсация
ошивни позици¬
онирования
АЦП
Г
Нагруз¬
ка
Рис. 5.8. Компенсация возмущений.
чения и уравнение (5.3-50), преобразуем уравнение (5.3-47) к
виду
[s2JeifRa + s(Rjeii + KaKb)] ef(s)
E(s)
- s2RaJej; + S (Rje!i + KaKb + KaKv) + KaKp
nRg [Tg (s) + Tc (s) + TJs - rcomp (S)j
s2%Jett + s {RJelf + KaKb + KaKv) + KaKp
+
(5.3-51)
Для ступенчатого входного воздействия 0l (s) = A/s статиче¬
ская ошибка позиционирования системы запишется следующим
образом:
s->Q L ^ *<а'
\Т0 («) + ТС (*> + Te/S ~ Гссшр (»)]
'eff + * (RafeU + KaKb + КаК„) + К.К.
(5.3-52)
При стремлении времени к бесконечности величина погрешно¬
сти от центробежной силы в статической ошибке позициони-
239
рования равна нулю. Причина этого состоит в том, что центро¬
бежная сила является функцией (t) и при стремлении вре¬
мени к бесконечности ЭДоо) стремится к нулю. Следовательно,
ее вклад в величину статической ошибки позиционирования рав¬
няется нулю. Если момент тСОшр(0 создается только силой тя¬
жести звена манипулятора, выражение для статической ошиб¬
ки позиционирования упрощается:
<5-3-53»
Поскольку значение Кр ограничено неравенством (5.3-45), пре¬
дыдущее выражение также упрощается:
eSsp = Чг- (5-3'54)
Vo
Это выражение является малой величиной, так как значение хе
предполагалось малым. Вычисление тo(t) рассмотрено ниже
(с использованием динамической модели манипулятора).
Если входом системы является непрерывная функция, то
©l (s) = A/s2, и в предположении, что возмущения определены в
соответствии с уравнением (5.3-50), статическая ошибка си¬
стемы равна I
ess (непрерывное воздействие) Д essv = ?
[s2/eff^a 4- s (Rafeit + KaKb)] A/s2 ■
s'Ra'M + s (Rafeff + KaKb + KaK,) + KaKp ^
4. lim с nR« Vo {S) + Tc (S) + T°/S ~ (£)]
V-io ^eii + s(RJeft + KaKb + KaKv) + KaKp
(RJeii + KaKb)A ,
KaKP
" nR„ f Tr (S) 4- т„ Is) 4-T Is — Is))
_L IJm с a 1 0 c 1 e' comPv (K Q СС»
^ ,-To s»RaJeU 4- s (Rahff + KaKb + KaKv) 4- KaKp ' ^
Для того чтобы упростить выражение для статической ошибки
по скорости, вычислим снова момент [тСотр(0]. эквивалентный
действию силы тяжести и центробежной силы. В результате
статическая ошибка по скорости запишется в виде
(RaUiiJr КаКь)А , „ /С о гс\
£ssv — к~К ^ssp- (5.3-56)
В это выражение входит конечная статическая ошибка. Вычис¬
ление Tcomp(t) зависит от динамической модели манипулятора.
В общем случае, как это показано в гл. 3, уравнения Лагран¬
жа— Эйлера, описывающие движение манипулятора с шестью
сочленениями без учета динамики электронного управляющего
240
блока, трения в редукторе и люфтов, могут быть записаны в
виде, соответствующем уравнению (3.2-24):
k ~i / = i 1 ,
r=i j=\k=l 1 й 1
6 Г d°T ■ ~\ - <'■ ' ' 1 *
— m/2 Г/ для г = 1; 2’ • б> (5-3‘67)
/-г ' _ .
где Xi(t) — обобщенный управляющий момент в t'-м сочленении
для перемещения t-ro звена, qi{t) и ^((^ — соответственно угло¬
вая скорость и угловое ускорение t'-ro сочленения, щ — обоб¬
щенная координата манипулятора, определяющая его угловое
положение; °Т» — однородная матрица преобразования для зве¬
на размерностью 4X4, которая связывает пространственное
расположение между двумя системами координат (i-й и базо¬
вой системами координат), г, — положение центра масс t'-ro
звена относительно t-й координаты системы, g = (g*, gy, gz, 0) —
линейный вектор силы тяжести, |g| = 9,8062 м/с2, J, — матрица
псевдоинерции i-ro звена относительно системы координат i-ro
звена, которая может быть записана в соответствии с уравне¬
нием (3.2-18).
Уравнение (5.3-67) может быть выражено в матричной форме
в явном виде
Z Dikcik (0 + Z Z hikmqk (t) $т (0 + ct = Xi (t), г = 1, 2, ..., 6,
k «= I k — 1 m «1
- (5.3-58)
ГДе
.6,
(5.3-59)
Z, u —I.S 6,
/=max(t, kt m)
(5.3-60)
[~m/g(^r)^]’ i==1, 2 6- (5-3'61)
241
/—max (i, k)
:1
т, (0 = [£>а,
^i2> ^i3> £>М, #i5> Аб]
+
Уравнение (5.3-57) можно записать в матричном виде
' <7i (О
<72 (О
<?з(7)
<74 (О
<7з (О
_ 9б (О
+ {<7i(0. <72 (0. <7з (0> </4(0, <7s (0, </б (7)1 X
' <7i (О
^«'12 ^ЙЗ ^П4 ^г'15 ^П6
7*121 ^122 ^123 ^124 ^125 ^г26
h-m ht32 hi33 hi3i hm hm
X
-7*161 ^162 ^i63 hm ^i'65 ^i'66-
92 (0
<73 (7)
<74(0
<75 (0
- <76 (0_
+ c£. (5.3-62)
Используя уравнения Лагранжа — Эйлера, описывающие
движение манипулятора, можно определить моменты силы тя¬
жести, центробежной силы и кориолисовых сил для i-ro сочле¬
нения соответственно в виде
(0 ~ ci> » = 1, 2, ..., 6,
(5.3-63)
-tc (0 = I<?i (0, <7г (7), <7з (0, <74 (0, 9з (7), 9б (7)] X
<7i (7)
hni hn2 hu3 /гг-14 Алд Л£16
h-m hi22 Тгг23 Тгг24 hi25 Лу2б
X
7*i3i Йгз2 Лгзз Т^гзд 71г35 /гг:
132 “133 '<134 '<435
1 £36
7*i6i htб2 /г£бз hm Тггб5 /г,-,
66.
92 (0
93 (0
94 (О
9s (0
_ 9б (7) _
f'as 1 О
» *> • • • j
(5.3-64)
Эта компенсация соответствует тому, что обычно называют ме¬
тодом обратной задачи динамики или методом вычисления
момента.
5.3.4. Устройство управления многосуставным роботом
Одной из основных схем управления манипулятором с не¬
сколькими сочленениями является схема, основанная на методе
вычисления момента, в котором используются уравнения дви-
242
жения Лагранжа — Эйлера или Ньютона — Эйлера. По су¬
ществу метод вычисления момента представляет собой прямое
управление, которое, однако, включает компоненты как прямой,
так и обратной связи. Такое управление позволяет компенсиро¬
вать силы взаимодействия между разными сочленениями, при
этом компоненты обратной связи позволяют вычислить необхо¬
димые корректирующие моменты для компенсации отклонений
от желаемой траектории. Предполагается, что могут быть точно
определены значения, соответствующие величинам D(q), h(q, q)
и c(q) в уравнении движения Лагранжа — Эйлера (3.2-26). Это
необходимо для минимизации нелинейных эффектов и исполь¬
зования пропорционально-дифференциального управления дви¬
гателями сочленений. Таким образом, закон управления имеет
следующую форму:
т (О = (q) {qd (/) + К0 [qd (t) - q (t)) + Kp [qd (0 - q (/)]} +
+ Mq, q) + ce(q), (5.3-65)
где Ко и К,, - соответственно матрицы передачи в обратных
связях по производной и по положению размерностью 6X6 для
манипулятора, имеющего 6 степеней подвижности.
Подставляя т(t) из уравнения (5.3-65) в уравнение (3.2-26),
имеем
D (q) q (t) + h (q, q) + с (q) = Da (q) {qd (t) +
+ K0 [qd (/) — q (/)] + Kp [qd (/) - q (/)]} + К (q, q) + ca (q). (5.3-66)
Если Da (q), ha (q ,q), c0(q) соответственно равны D(q), h(q, q)
и c(q), то уравнение (5.3-66) будет иметь вид
D(q)[e(0 + Koe(0 + Kpe(0] = 0, (5.3-67)
где e(/)A'qd(0 —Q(0 и e(/)Aqd(t)— q(0-
Поскольку функция D(q) всегда несингулярна, KP и Ко мо¬
гут быть выбраны таким образом, чтобы корни характеристи¬
ческого уравнения (5.3-67) имели отрицательные действитель¬
ные части, при которых вектор ошибки позиционирования е(/)
асимптотически стремится к нулю.
Вычисление моментов в сочленениях, основанное на исполь¬
зовании уравнений Лагранжа — Эйлера в общем виде, является
неэффективным, и поэтому цифровое управление с обратной
связью в режиме реального времени, как было показано в ра¬
боте [226], невозможно или очень сложно реализовать. По этой
причине обычно упрощают уравнение (5.3-65), пренебрегая
функцией ha(q, q), зависящей от скорости, и недиагональными
элементами матрицы Da(q), характеризующей ускорение. В этом
243
случае закон управления приобретает форму ■ :
т (/) = diag [De (q)] {qd (/) + Kv [qd (/) - q (/)] +
+ Kp [qd (/) q (/)]} + Ca (q). (5.3-68)
Моделирование на ЭВМ показало, что указанными величинами
нельзя пренебрегать в случае движения манипулятора робота
с большой скоростью [226].
Аналогичный закон управления манипулятором робота для
связанной с сочленениями системы координат может быть по¬
лучен из уравнений движения Ньютона — Эйлера. Рекурсивный
закон управления выводится путем подстановки cji(t) в уравне¬
ния движения Ньютона—Эйлера для определения необходи¬
мого момента на каждом двигателе:
41 (0 = Я{ (0 + Z К1 Ш (0 - lh (0] + I! KlJ [qf (/) - qt (/)],
(5.3-69)
где Kv и Kp ~ соответственно коэффициенты передач обрат¬
ных связей по производной и положению для Тго сочленения,
а е} (/) = qj (t) — q. (/)—ошибка позиционирования для /-го сочле¬
нения. Физическая интерпретация использования уравнения
(5.3-69) в рекурсивных уравнениях Ньютона — Эйлера может
быть представлена следующим образом:
1. Первый член позволяет выработать желаемый управляю¬
щий момент для каждого сочленения, если правильно выбрана
математическая модель объекта управления и известны физи¬
ческие параметры системы. Однако отклонения от желаемой
траектории движения сочленения будут неизбежны из-за нали¬
чия в контуре сервомеханизма ошибок от люфтов, трения в ре¬
дукторе, неопределенности сил инерции и задержек времени.
2. Остальные члены в уравнениях движения Ньютона — Эй¬
лера позволяют выработать корректирующий момент для ком¬
пенсации малых отклонений от желаемой траектории движения
сочленения.
Приведенный рекурсивный закон управления представляет
собой пропорционально-дифференциальное управление, компен¬
сирующее действие сил инерции, реакции и тяжести в звеньях
манипулятора. Для того чтобы обеспечить критическое демпфи¬
рование для каждой из подсистем сочленения, матрицы передач
обратной связи Кр и К*, которые являются диагональными, мо¬
гут быть выбраны в соответствии с методами, рассмотренными
в разд. 5.3.3 или в работах [229, 180]. При свободном движе¬
нии критически демпфированных подсистем предполагается, что
вся система ведет себя как критически демпфированная.
Таким образом, метод вычисления моментов представляет
собой компенсационное управление по прямой связи. Основы¬
244
ваясь на уравнениях движения Лагранжа — Эйлера, записанных
в общем виде, управляющие моменты в сочленениях могут быть
вычислены за время 0(п4). Аналогичный закон управления, по¬
лученный с использованием уравнений движения Ньютона — Эй¬
лера, может быть вычислен за время О(п). Одним из основных
недостатков этого метода управления является зависимость схо
димости вектора ошибки позиционирования от динамических
коэффициентов D(q), h(q, q) и c(q) в уравнениях движения.
5.3.5. Компенсация в системах с цифровым управлением
В дискретных системах управления время характеризуется
периодом дискретизации At, при этом скорость выражается не
в радианах в секунду, а в радианах за период At. Это опреде¬
ляет изменение инерции звена на величину f\, где fs — частота
дискретизации (fs — \/At).
Обычно используется частота дискретизации 60 Гц с перио¬
дом дискретизации 16 мс. Это объясняется ее распространен¬
ностью и тем, что большинство манипуляторов имеет механи¬
ческую резонансную частоту приблизительно в диапазоне 5—
10 Гц. Хотя из дискретной теоремы Найквиста следует, что отно¬
шение частоты дискретизации к частоте среза системы для воз¬
можности воспроизведения сигнала должно быть по крайней
мере не меньше двух, для систем непрерывного времени это
отношение увеличивается. Для того чтобы улучшить работу си¬
стемы при дискретизации, частота дискретизации должна быть
много больше собственной частоты манипулятора, и наоборот,
период дискретизации должен быть много меньше наименьшей
постоянной времени манипулятора. Таким образом, для мини¬
мизации погрешностей от дискретизации обычно выбирается ча¬
стота дискретизации, в 20 раз превышающая частоту среза си¬
стемы, т. е.
At= оп—/0—=одг-- (5.3-70)
20со„/2я 20/„ 7
5.3.6. Зависимость момента от напряжения
Теоретически момент в двигателе постоянного тока с управ¬
лением в цепи якоря является линейной функцией напряжения
якоря. Однако в действительности зависимость момента от на¬
пряжения нелинейна из-за влияния трения при малых моментах
и из-за явлений насыщения при больших моментах. По эгим
причинам численное преобразование вычисленного момента в
требуемое входное напряжение обычно уточняется с помощью
табличных значений или вычислений по приближенным форму¬
лам. Выходное напряжение реализуется, как правило, в виде
245
сигналов постоянной величины или в виде импульсов различной
ширины. Типичная кривая преобразования напряжения в мо¬
мент показана на рис. 5.9, где Уф — управление двигателем, при
котором сочленение перемещается с постоянной скоростью, не
вызывая усилий в направлении движения, а /4 — сила или мо-
Рис. 5.9. График зависимости напряжение — вращающий момент.
мент, которые сочленение развивает при управлении Уф с отри¬
цательной скоростью. Величины наклонов и их приращения по¬
лучены из экспериментальных кривых.
5.4. СУБОПТИМАЛЬНОЕ ПО БЫСТРОДЕЙСТВИЮ
УПРАВЛЕНИЕ
Для большинства производственных задач желательно пере¬
мешать манипулятор с наивысшей скоростью для того, чтобы
минимизировать время выполнения заданного технологического
цикла. Это вызвало необходимость исследовать задачу опти¬
мального по быстродействию управления для механических ма¬
нипуляторов [140]. Целью оптимального по быстродействию
управления является перемещение рабочего органа манипуля¬
тора из начального положения в заданное за минимальное
время.
Рассмотрим кратко основы оптимального по быстродействию
управления на примере шестизвенного манипулятора. Уравне¬
ния движения шестизвенного робота в пространстве состояний
можно получить из уравнений движения Лагранжа — Эйлера.
Определим вектор состояния манипулятора размерностью 2п
246
б виде
хг (0 = [qr (О, qr (0] = Ifl'i W. • • •, qn (О, 4i (О, (О] =
^ [х[ (О, Х[ (/)] ^ [X, (О, *2 (/), •. •, *2„ (OJ (5.4-1)
и входной вектор управления размерностью п в виде
иг (0 = к (/), т2 (/) хп (0]. (5.4-2)
В пространстве состояний уравнения движения Лагранжа — Эй¬
лера могут быть записаны в виде
х (0 = f [х (/), и ;/)], (5.4-3)
где f(-)—непрерывно дифференцируемая вектор-функция раз¬
мерностью 2пХ1- Поскольку функция D(q) всегда несингу¬
лярна, приведенное уравнение может быть записано следующим
образом:
, Х1(0=Х2(0
и х2 (г) = f2 [х (/)] + ь [х, (0] U (t), (5.4-4)
где?;%|х) — вектор-функция размерностью яХ1:
f2(x) = — D"'1(x,)[h(x„ х2) + с(х,)]. (5.4-5)
Можно показать, что величина Ь(х,) эквивалентна матрице
D-'(xi).
Предполагается, что в начальный момент времени t — to си¬
стема находится в исходном состоянии х(/о) = х0, а в конечный
момент времени система должна находиться в заданном конеч¬
ном состоянии x(/f) = Xf. Кроме того, предполагается, что до¬
пустимые управляющие воздействия ограничены по величине и
удовлетворяют неравенству
1«;К(«г)макс для всех t. (5.4-6)
Таким образом, задача оптимального по быстродействию
управления заключается в нахождении допустимого управления,
которое переводит систему из начального состояния х0 в конеч¬
ное состояние Xf и минимизирует рабочий критерий (выражение
5.4-7), удовлетворяя ограничениям (5.4-6);
if ...
J=^dt = tf — t0. (5.4-7)
В соответствии с принципом максимума Понтрягина [145]
оптимальное управление, которое минимизирует приведенный
выше функционал /, должно минимизировать гамильтониан.
247
Для получения оптимального вектора управления v*(/) необхо¬
димо, чтобы оптимальный вектор состояния х*(1), оптимальные
сопряженные переменные р*(0 и функция Гамильтона
Н (х, р, v) = рД (х, v) + 1 (5.4-8)
удовлетворяли условиям
дН (х*, р*, и*) .
; * х (0 = др для всех t<=[t0,tf], (5.4-9)
-• р* (0 = — д- 'д^ ' U) для всех t&[t0,tf] (5.4-10)
и Я(х\ р„, и*)<Я(х\ р*, и*) для всех lf] (5.4-11)
на интервале допустимых управлений. После подстановки v*(/)
из уравнения (5.4-8) в (5.4-11) задача оптимизации сводится к
двухточечной краевой задаче с граничными условиями на со¬
стояние x(t) в начальный и конечный моменты времени. Так как
уравнения движения нелинейны, единственным способом реше¬
ния задачи управления в этом случае является численное ре¬
шение. Однако численное решение не учитывает действия воз¬
мущений в системе, а позволяет только вычислить управляю¬
щую функцию разомкнутой системы. Кроме того, такое решение
оптимально только для заданных начальных и конечных усло¬
вий. Следовательно, вычисление оптимального управления
должно осуществляться для каждого движения манипулятора.
Кроме того, на практике численные методы не обеспечивают
достаточной точности управления механическими манипулято¬
рами. По этим причинам в качестве альтернативы численному
решению [140] можно использовать аппроксимацию оптималь¬
ного управления, результатом которой является получение суб-
оптимального по быстродействию управления.
Субоптимальное управление с обратной связью находится
путем аппроксимации нелинейной системы, описываемой урав¬
нениями (5.4-4), линейной системой и последующего аналити¬
ческого нахождения оптимального управления для линейной си¬
стемы. Линейная система получается заменой переменных после
линеаризации уравнений движений. Преобразование исполь¬
зуется для записи в явном виде управляющих воздействий в ли¬
неаризованной системе. Обозначая новый ряд зависимых пере¬
менных через ЫО, i = l» 2, ..., 2п, уравнения движения могут
быть с использованием новых переменных состояния записаны
в виде
ldt) = xi(t) — xl(tf), 1 = 1, 2, ..., п, /с 4 19v
и Ы/) = *Д0. i = n+\, .... 2/г. { А'Ы)
Первый набор n\t(t) характеризует ошибку углового поло¬
жения, а второй набор n%i(t\—ошибку скорости изменения угло¬
248
вого положения. В результате такой замены переменных задача
управления сводится к задаче перемещения системы из началь¬
ного состояния l(t0) в начало координат пространства g пере¬
менных. Для того чтобы получить линеаризованную систему,
уравнение (5.4-12) подставляется в уравнение (5.4-4) и исполь¬
зуется разложение в ряд Тейлора в начале координат простран¬
ства | переменных. Кроме того, все тригонометрические функ¬
ции также разлагаются в соответствующие ряды. В результате
линеаризованные уравнения движения будут иметь вид
|(0 = A&(0 + Bv(0, (5.4-13)
где lr(t) = (l 1, g2, ..., In) и v(0 —связаны с и(г“) соотноше¬
нием v(l) = и(/)-)-с. Вектор с содержит статические моменты
сил тяжести в конечном состоянии. Несмотря на то что урав¬
нение (5.4-13) является линейным, управляющая функция в нем
v(t) записана в неявном виде. Путем соответствующего отбора
определяющих векторов из линейно независимых столбцов
управляемых матриц А и В для выделения управляющей функ¬
ции можно получить новый набор уравнений:
£(f) = A£(0 + Bv(0. (5.4-14)
Если в качестве примера взять трехзвенный манипулятор и
написать для него уравнения, приведенные выше, можно полу¬
чить систему с двумя интеграторами для каждого из трех
звеньев и несимметричными ограничениями на величину управ¬
ляющего воздействия:
?2г(0 = ?2г-11 * — 1> 2, 3, (5.4-15)
где vj vt vf и
vf = (u,) 4-с,, цг = — («,) -j- с., (5.4-16)
i V t/макс i* * \ i/макс 1 i* ' '
Ci есть i-й элемент вектора с.
После этого получение оптимального по быстродействию
управления и переключающих поверхностей '> можно осущест¬
вить обычными способами. Линеаризованное и записанное в яв¬
ном виде с помощью уравнений (5.4-15) и (5.4-16) субоптималь-
ное управление, как правило, обеспечивает в достаточной сте¬
пени близкие к оптимальным динамику и траектории движения
манипулятора. Однако этот метод является слишком сложным,
11 Напомним, что оптимальное по быстродействию управление представ¬
ляет собой кусочно-постоянную функцию времени. Таким образом, интерес
представляют те области пространства состояний, в которых управление по¬
стоянно. Эти области разделяются линиями в двумерном пространстве, по¬
верхностями— в трехмерном пространстве и гиперповерхностями — в п-мер¬
ном пространстве. Такие разделяющие поверхности называют соответственно
линиями переключения, поверхностями переключения и гиперповерхностями
переключения.
249
если объектом управления служит манипулятор с четырьмя и
более степенями свободы; кроме того, он не учитывает влияние
неизвестных внешних нагрузок.
5.5. УПРАВЛЕНИЕ МАНИПУЛЯТОРОМ С ПЕРЕМЕННОЙ
СТРУКТУРОЙ
Использование теории систем с переменной структурой для
управления манипуляторами было предложено в работе [320].
Системы с переменной структурой (СПС) относятся к классу
систем с дискретным управлением по обратной связи. В тече¬
ние последних 20 лет теория систем с переменной структурой
находит многочисленные применения в различных отраслях ме¬
таллургической, химической и космической промышленности.
Основной особенностью СПС является наличие так называе¬
мого скользящего режима на поверхности переключения.
В скользящем режиме система не реагирует на изменение пара¬
метров и на возмущающие воздействия, а ее траектории прохо¬
дят по поверхности переключения. Это свойство СПС позволяет
исключить влияние сил взаимодействия между сочленениями
манипулятора. Явление скользящего режима не зависит от па¬
раметров системы и носит стабильный характер. Таким обра¬
зом, теория СПС может быть использована для создания
устройства управления переменной структурой (УУПС), которое
организует скользящий режим при формировании траекторий
движения манипулятора робота. Для создания такого устрой¬
ства управления не требуется использование точной динамиче¬
ской модели манипулятора и достаточно знать граничные зна¬
чения параметров модели. Управление переменной структурой
отличается от оптимального по быстродействию управления
тем, что оно формирует траектории движения системы в сколь¬
зящем режиме. Кроме того, система в этом режиме нечувстви¬
тельна к изменению параметров.
Пусть требуется найти управление переменной структурой
для шестизвенного манипулятора. Определяя вектор состояния
из уравнения (5.4-1)
хг = (?! q&, qи фз) = (Ри • • •, Ль vu v6) = (pr, vr)
(5.5-1)
и вводя вектор ошибки позиционирования ei (t) — р(Н — pd, а
также вектор ошибки по скорости e2(0 = v(0 (vd = 0), сведем
задачу слежения к задаче стабилизации. Уравнения ошибки
системы будут иметь вид
ei (0 = v (/)
и v(0 = f2(ei + Pd. v) + b(e, +pd)u(0, (5.5-2)
250
где f2 и b определяются из выражения (5.4-5). Для системы
стабилизации управление переменной структурой может быть
записано в виде
!uf(p, v), если S; (е(, Uj) > О,
1' = 1 6 ‘ (5.5-3)
иг (р, v), если s, (е(, о,) < О,
где si(ei, Vi) — поверхности переключения, удовлетворяющие
условиям
Si(e{, vi) = ciei + v{, ct > 0, t = I 6. (5.5-4)
После этого синтез управления сводится к выбору управления
с обратной связью в соответствии с уравнением (5.5-3) так,
чтобы скользящий режим происходил на пересечении с поверх¬
ностями переключения.
Решая алгебраические уравнения поверхностей переклю¬
чения
Si(et, Vi) = 0, 6, (5.5-5)
можно отыскать единственно существующее управление
ueq = — D (р) (f (р, v) + Cv), (5.5-6)
где С = diag[ci, Зг, Се]. После этого скользящий режим по¬
лучается из уравнения (5.5-4) в виде
ei = — ciei, i=l, ..., 6. (5.5-7)
Это уравнение в явном виде описывает движение шести ли¬
нейных систем первого порядка, каждое из которых представ¬
ляет одну степень свободы манипулятора при нахождении си¬
стемы в скользящем режиме. Как видно из уравнения (5.5-3),
устройство управления переводит манипулятор в скользящий
режим, при этом влияние сил взаимодействия между сочлене¬
ниями полностью исключается. Для управления манипулятором
в скользящем режиме используется устройство управления, реа¬
лизующее управление в соответствии с уравнением (5.5-6). Ди¬
намика манипулятора в скользящем режиме зависит только от
конструктивных параметров с,-. Асимптотическая устойчивость
систем в скользящем режиме обеспечивается при выборе а > О,
а регулирование скорости движения в этом режиме достигается
изменением параметров с;.
Таким образом, управление переменной структурой позво¬
ляет исключить нелинейные силы взаимодействия между сочле¬
нениями путем перевода системы в скользящий режим. Однако
устройство управления вырабатывает сигналы дискретного
управления по обратной связи, которые весьма быстро меняют
знак управляющего воздействия. В результате действия таких
сигналов может появиться вибрация, которую необходимо учи¬
251
тывать в некоторых применениях управления манипулятором
робота. Более подробно многовходовые управляющие устрой¬
ства для СПС описаны в работе [320].
5.6. НЕЛИНЕЙНОЕ НЕЗАВИСИМОЕ УПРАВЛЕНИЕ
ПО ОБРАТНОЙ СВЯЗИ
Нелинейное независимое управление по обратной связи яв¬
ляется важной частью теории нелинейного управления. На его
основе может быть выработано субоптимальное управление для
механических манипуляторов. В большинстве существующих
алгоритмов управления роботами (например, в методе вычисле¬
ния моментов) значительное внимание уделяется нелинейной
компенсации сил взаимодействия между звеньями манипуля¬
тора. В работе [118] применен метод нелинейного управления
по обратной связи к простой шаговой системе, которая содер¬
жала определенный класс нелинейностей, включающий триго¬
нометрические и полиномиальные виды нелинейностей. В ре¬
зультате были получены независимые подсистемы, позиционная
устойчивость и желаемые периодические траектории. В этой
работе подход отличается от метода линейного разделения си¬
стемы, где расчлененная система должна быть линейной. В ра¬
боте [258] предложен итеративный алгоритм для последова¬
тельного усовершенствования нелинейного субоптимального за¬
кона управления. Он дает возможность приблизиться к получе¬
нию оптимального управления манипулятором. С другой сто¬
роны, для того чтобы достичь такого высокого качества управ¬
ления, этот метод требует значительного времени вычисления.
Ниже кратно описана нелинейная теория декомпозиции по ра¬
ботам [75, 86]. В этой теории используются уравнения движе¬
ния Ньютона — Эйлера для построения нелинейного независи¬
мого управления манипуляторами робота.
Пусть основная нелинейная система задана в виде
где x.(t) — я-мерный вектор, и(/) и у(t) — лг-мерные векторы, а
А(х), В(х) и С(х) — матрицы соответствующих порядков. Опре¬
делим нелинейный оператор Мл в виде
где Ci(x)-i-я компонента С(х), a N°ACi(x) = Ci(x). Опреде¬
лим также порядок di нелинейной системы как
и
х (0 = А (х) + В(х)и (/)
У (0 — С (х),
(5.6-1)
di =шт|/:[-^-Мд ‘Сг(х)]В(х) # 0, /=1, 2, я}. (5.6-3)
.252
Целью управления является нахождение независимого управ¬
ления по обратной связи и(0:
u(t) —F (х) + G (х) w (0, (5.6-4)
где w(/)'—m-мерный входной вектор, F(x)— вектор обратной
связи размерностью mX I определяющий разделение и распо¬
ложение полюсов, a G(x)—входная передаточная матрица раз¬
мерностью mXm, такая, что вся система имеет независимые
связи входов и выходов.
Подставляя и(/) из уравнения (5.6-4) в систему уравнений
(5.6-1), запишем результат в следующем виде:
х (/) = А (х) + В (х) F (х) + В (х) G (х) w (/)
и у (t) = С (х). (5.6-5)
Для того чтобы получить независимые связи входов и вы¬
ходов в указанной системе, F(x) и G(x) выбираются соответ¬
ственно
F(x) = F;(x) + F’2(x), (5.6-6)
где .
^ 0{ F* (х) = D*-1 (х) С* (х), _
Fj (х) = — D*-1(x) М*(х)
а •- G (х) = D’-1 (х) Л.
Fj(x) представляет обратную связь в системе декомпозиции, а
F*(x) является управляющей частью с произвольным располо¬
жением полюсов. Входной передаточный коэффициент выделен¬
ной части может быть выбран с помощью G(x), a D*(x)— мат¬
рица размерностью «Хя, /-я строка которой записывается в
виде
°Нх) = [-|г^лг"1СДх)]в(х) для 0. (5.6-7)
С*(х) — m-мерный вектор, i-я компонента которого равна
С*(х) = Л^С,(х)- (5-6'8)
М*(х) — m-мерный вектор, i-я компонента которого записывается
в виде
а,-1
Mt(x)= £ ««, i^ACi (х) Для й1Ф 0, (5.6-9)
jc=o
а^А— диагональная матрица, элементы которой являются по¬
стоянными величинами fa для t = 1, 2, . ,.,т. Теперь система
253
уравнений (5.6-1) может быть записана в виде » i
у* (0 = С* (х) + D* (х) u (t), (5.6-10)
где у*(t) — выходной вектор, i-й компонентой которого является
y\di)(t), т. е.
^)(0=C!(x) + D*u(0. . (5.6-11)
Используя уравнения (5.6-4) и (5.6-6) в уравнении (5.6-11),
получим ;;
y\di) (0 + (0 + • • • + «о, tyt (0 = (0. (5.6-12)
где aK,i и X,- — произвольные скалярные величины.
Для того чтобы показать, что i-я компонента имеет вид
уравнения (5.6-11), предположим, что di= 1. Тогда yi{t) =
= С,(х), и после дифференцирования получим
у{Р (0 = Hi (0 = дС^х) х (0 = ■ д
= Ё^х> [А (х) + В (х) F (х) + В (х) G (х) w (/)] ==»
= Na+bfCi (х) + —[В (х) G (х) w (/)]. ..
Используя аналогию ' 1
(х> = (х) + [d/dxN^'C, (х)] В (x)F (х),
y(p{t) можно записать в виде
УР (0 = N\Ct (х) + [±-Ct (X)] В (х) F (X) + ^Е>. [в (х) G (х) w(/)J.
С помощью уравнений (5.6-4) и (5.6-7) это выражение можно
записать также в виде
(0 = С* (х) + D* (х) и (/).
Легко показать, что и значения di = 2, 3, ... приводят к урав¬
нению (5.6-11). Таким образом, результирующая система имеет
разделенные связи входов и выходов и представляет собой не
зависящую от времени систему второго порядка, которая может
быть использована для моделирования каждого сочленения ма¬
нипулятора робота,
254
Как было показано в гл. 3, уравнения движения Лагранжа —
Эйлера для шестизвенного робота могут быть записаны в виде
Di
Du
"МО"
"Ai(0, 0f
■Cl(0)~
’ «1 (0 ”
- 0e (0 -
+
-fte(0, 0).
+
- «6 (9) -
- «6 (0 -
- D\§ ... Dm _
или в векторно-матричной форме
D (0) в + h (9, в) -f- с (в) — и ((),
(5.6-13)
(5.6-14)
где и(0 — вектор управляющего момента для двигателя в со¬
членении размерностью 6X1, 0(0 — вектор угловых положе¬
ний, 0 (/) — вектор угловых скоростей, 0 (t) — вектор ускорения
размерностью 6X1, с(0) — вектор силы тяжести размерностью
6X1» h (0, 0) — вектор кориолисовых и центробежных сил раз¬
мерностью 6Х 1, a D(0)- матрица инерции размерностью 6X6-
Поскольку D(0)—всегда несингулярна, последнее уравнение мо¬
жет быть записано в виде
0 (0= — D-1 (0) [h (0, 0) + c(0)] + D~'(0)u(O (5.6-15)
или
0(0 =
+
Du
D\6
Dn
. Dir
D i6
Dq& j
D\6
Drr
h{ (0, 0) -J- Ci (0)
LA6(0, 0) + c6 (0) J
MO
-«6 (0 -
+
Приведенная динамическая модель состоит из дифферен¬
циальных уравнений второго порядка для каждой переменной
сочленения, следовательно, в этом случае di = 2. Трактуя каж¬
дую переменную сочленения 0,(0 как выходную переменную,
последнее уравнение может быть связано с уравнением (5.6-11)
следующим образом:
У? (0 = yt (0 = - [D~‘ (0)], [h (0, 0) + с (0)1 + [D-1 (0)], u (t) =
= C*(x) + D*(x)u(0, ; (5.6-17)
255
где
С* (х) = — [D_1 (0)],-[h (0, 0) + c(0)] (5.6-18)
J xr(0==[er(0f QT{1)]
И : DlW^D-'^lb • (5.6-19)
a [D-1^)],-— i-я строка матрицы D-1^). Таким образом, управ¬
ление u(i) для выделенной системы (уравнение (5.6-5)) должно
быть следующим:
и (?) = — D’ (х) [С* (х) + М* (х) — Aw (/)] =
— — D (0) {— D-1 (0) [h (0, 0) + с (0)] + М- (х) - Aw (/)} =
= h (0, 0) + с(0) - D (0) [М* (х) — Aw (/)]. (5.6-20)
Подробнее для i-ro сочленения управление запишется в виде
щ (/) = А, (0, 0) + ct (0) - [Dn ... Dt6] X
X
«ц01 (0 + <*oi0i (0 — &iWi (t)
- ai606 (0 “h ao606 (t) Ябда6 (t) _
... 6
(5.6-21)
'J i i‘JM
Из этого уравнения видно, что управление ц/(0 для i-ro со¬
членения зависит только от текущих динамических переменных
и от входного воздействия w(i). Подставляя u(t) из уравнения
(5.6-20) в уравнение (5.6-14), получим
D (0)0(0 + 11(0, 0) + с(0) =
ац01 (0 + OQ10.1 (0 ~ (/)
= h(0, 6)+c(0)-D(0)
Отсюда
D (0)
- «1606 (0 + оОб06 (t) — Я6о16 (0 -
01 (0 + Оцб] (0 + aol0i (/) — (/)
(5.6-22)
• 06 (0 + ai606 (0 + Ооб0б (0 — ябш6 (0
= 0. (5.6-23)
Так как D(0)—всегда несингулярна, последнее уравнение мож¬
но записать в виде
0г (0 + aifii (0 + aofii (0 = Я^со^ (0 t=l, 2, 6, (5.6-24)
256
из которого следует полное разделение связей входов и выходов
системы. Отметим, что параметры ац, а о, и А,- можно выбрать
произвольно, обеспечивая соблюдение критерия устойчивости.
Следовательно, манипулятор можно представить в виде шести
независимых, записанных в явном виде и инвариантных ко вре¬
мени систем второго порядка, а управление и(/) (уравнение
(5.6-20)) можно строить на основе динамики манипулятора.
Эффективным путем вычисления уравнения и(0 является ис¬
пользование уравнений движения Ньютона — Эйлера. Таким
образом, для получения управления ui(t) для г-го сочленения
необходимо подставить значение 0;(О вместе с выражением
kiWi(t) — auQi(t) — aoi0i(H в уравнения движения Ньютона —
Эйлера.
5.7. НЕЗАВИСИМОЕ ПРОГРАММНОЕ УПРАВЛЕНИЕ
ДВИЖЕНИЕМ
В предыдущем разделе мы рассмотрели некоторые методы
управления механическим манипулятором в связанных коорди¬
натах для формирования траектории сочленения. Во многих
приложениях более предпочтительным является программное
управление движением, которое обеспечивает движение мани¬
пулятора в декартовых координатах по требуемой траектории
с необходимой скоростью. Независимое программное управле¬
ние предполагает комбинированное движение различных двига¬
телей сочленений и раздельные управляемые движения звеньев
манипулятора вдоль осей неподвижной системы координат. Это
означает, что несколько двигателей сочленений должны рабо¬
тать одновременно с различными изменяющимися скоростями
для формирования заданного движения манипулятора вдоль
любой оси неподвижной системы координат. Это делает возмож¬
ным выбор направления и скорости произвольной траектории
движения манипулятора. Такое управление существенно упро¬
щает набор последовательности движений для выполнения по¬
ставленной задачи, потому что пользователю обычно легче ори¬
ентироваться в декартовой системе координат, чем в угловой
системе координат сочленения манипулятора.
Как правило, требуемое движение манипулятора записы¬
вается в виде временных траекторий манипулятора в декарто¬
вых координатах, хотя система управления оперирует входными
воздействиями, относящимися к связанным с сочленениями ко¬
ординатам. Математическая связь между этими двумя систе¬
мами координат необходима для получения эффективного управ¬
ления в декартовом пространстве. Коротко опишем основную
кинематическую теорию, связывающую две системы координат
для шестизвенного манипулятора робота. Это приведет к по¬
9 К. Фу и др.
257
ниманию важнейших методов независимого программного
управления движением.
Положение конечного звена манипулятора относительно фик¬
сированной системы координат может быть определено путем
расположения ортогональной системы координат на этом звене,
т. е. путем введения системы координат конечного звена
(рис. 5.10). Задача нахождения положения конечного звена при
этом сводится к определению положения и ориентации системы
Хояечяое sfiettc
рпанипрмятра
, flodom
Вращение
Выдвижение
\ Наклон
Поворот
Рис. 5.10 Система координат конечного звена.
координат конечного звена относительно инерциальной системы
координат манипулятора. Для этого используется однородная
матрица преобразования размерностью 4X4:
Г пх (0 sx (t) ах (t) рх (t) -]
ny(t) sy(t) ay (t) py(t)
nz (t) sz (t) az (0 pz (t)
- 0 0 0 1
n(0 s(0 a (0 p(0
0 0 0
базап
1 конечное звено
(0 =
■»].
(5.7-1)
где р — вектор положения конечного звена, a n, s, а — единич¬
ные векторы, направленные вдоль основных осей системы коор¬
динат, определяющих ориентацию конечного звена. Вместо ис¬
пользования подматрицы вращения [n, s, а] для определения
ориентации можно использовать три угла Эйлера — угол пово¬
рота a(t), наклона fi(t) и вращения y(t), которые определяются
258
как вращение системы координат конечного звена соответствен¬
но вокруг осей хо, уо и z0 базовой системы координат. Элементы
[n, s, а] можно получить из матрицы вращения Эйлера как
результат вращения по углу а вокруг оси х0, по углу р вокруг
оси уо и по углу у вокруг оси zo базовой системы координат
(уравнения (2.2-19)). Таким образом,
nx(t) sx(t) ax(ty
база|
Cv -
sY
о
CyCP
SyCP
-sp
Чконечное звено
■ Sy 0
Су О
О 1 J
— SyCa
СуСа H
(0 =
ny(t)
- nz (t)
0 Sp
1 0
-sp 0 cp
- CySp5a SySa -\
SySPSo — CySa
cp
0
sy(t) ay (t)
MO M0J
l о о
0 Ca — Sa
0 Sa Ca -
CY>SpCa
- SySpCa
CpSa CpCa
;Ca, sinP = SP, cosPh
(5.7-2)
;Cp, sinY^^Y,
где sina = Sa, cos a;
cosy^CY-
Определим векторы положения p(0. углов Эйлера Ф(0, ли¬
нейной скорости v(/) и угловой скорости Q(t) конечного звена
манипулятора в базовой системе координат соответственно:
р (о=[Рх (о. ру (о. Рг тт, ф (о ^ [«(о, р (о, y (of.
V (0 ^ [О, (0. vu (0. 02 (0F, 0 (0 = К (0. (0. (0F- (5.7-3)
Линейная скорость конечного звена в базовой системе коор¬
динат равна производной по времени от положения конечного
звена
:р(0. (5.7-4)
'(') = ТГ.
Так как инвертирование направляющей матрицы косинусов
эквивалентно ее транспонированию, мгновенная угловая ско¬
рость системы координат конечного звена вокруг главных осей
базовой системы координат может быть получена из уравнения
(5.7-2):
rfR'
dt
d R
dt
■ 0
— ©2
toy
Rr = —
0
— co2
1
<=s
ю*
0
0 - S|3d + у
Spa — у 0
■SyCPci -f- CyP — CyC^a -f- SyP
— SyCPci — CyP'
CyCPci — SyP
0
. (5.7-5)
9*
259
Из последнего уравнения можно получить связь между
[со* (0, (-Оу(0> «г (OF и [а (О, Р(0, Y(0f путем приравнивания не¬
нулевых элементов в матрицах:
СуСр — Sy
1—
*
3
'
МО
=
Г"
£
SyCp
-Sp
О
Су О
О 1 J
-
- а (0 -
Р(0
(5.7-6)
-
- Y (0 -
' а (/) -
Р(0
= sec р
- у (0 -
(О
«г/ (О
L (О
Отсюда легко определяется обратная связь
Су Sy О
5уСр СуСр О
CySp 5у5р Ср
или, записывая в матричной форме,
<i>(0 = [s (Ф)]«(/).
В подвижной системе координат линейную и угловую ско¬
рости конечного звена можно получить из скоростей предыду¬
щих сочленений:
(5.7-7)
(5.7-8)
LawJ
: [N (q)] q (t) = [N, (q), N2 (q) N6 (q)] q (0, (5.7-9)
где q(0==(4i, • ••> Чб)г — вектор скорости сочленений манипу¬
лятора, a N(q) — якобиан размерностью 6X6, г-й столбец ко¬
торого в виде вектора N,(q) может быть найден, согласно ра¬
боте [310], в виде
Pi-i) 1
I, если i-e сочленение
-* является вращательным,
N, (q)
Zi-I X (Р
Г
[о-]-
если г-е сочленение
является поступательным.
(5.7-10)
Знак X означает результат пересечения векторов, р,_] — положе¬
ние начала координат (г—1) системы координат по отноше¬
нию к базовой системе координат, z;_i — единичный вектор, на¬
правленный вдоль оси движения г-ro сочленения, а р — положе¬
ние конечного звена в базовой системе координат.
Если инвертированный якобиан существует от q(/), то ско¬
рость сочленения q(/) манипулятора может быть вычислена из
скорости конечного звена при использовании уравнения (5.7-9):
v(0 .
(5.7-11)
q(/) = N-|(q)[^)].
260
Если заданы желаемые линейная и угловая скорости конеч¬
ного звена, это уравнение позволяет вычислить скорости в со¬
членениях и определить режимы работы двигателей в сочлене¬
ниях для того, чтобы обеспечить установившееся движение
конечного звена в заданном направлении в декартовой системе
координат.
Ускорение конечного звена может быть получено путем
определения производной по времени от вектора скорости в
уравнении (5.7-9):
[ ] = Si(q, q)q (t) + N (q) q(/), (5.7-12)
где <7 (t) — [qx (/), ..., #6 (OF — вектор ускорения сочленений ма¬
нипулятора. Подставляя q(0 из уравнения (5.7-11) в уравнение
(5.7-12), получим
: ■ [ о (<) ] = N (ч. i) N-' (ч) [ ] + МЧ (0- (5.7-13)
Ускорения в сочленениях q(/) могут быть вычислены из ско¬
ростей и ускорений конечного звена следующим образом:
i(0 =■ N-1 (,) [ I® ] - N-' (,) N (,. q) N“' (q) [ '].
(5.7-14)
Полученные кинематические связи между координатами,
связанными с сочленениями, и декартовыми координатами бу¬
дут использованы в разд. 5.7.1 для различных методов незави¬
симого программного управления движением и при выводе урав¬
нений движения конечного звена манипулятора в декартовых
координатах.
5.7.1. Независимое программное управление движением
по скорости
При независимом программном управлении движением по
скорости работа различных двигателей в сочленениях произво¬
дится независимо и одновременно с различными скоростями, из¬
меняющимися во времени для того, чтобы обеспечить устано¬
вившееся движение конечного звена манипулятора вдоль лю¬
бой оси неподвижной системы координат. Математические вы¬
ражения, связывающие неподвижные координаты, такие, как
подъем рх, смещение ру, выдвижение рг, поворот а, наклон (3 и
вращение у с угловыми координатами шестизвенного манипу¬
лятора, являются заведомо нелинейными и могут быть запи¬
261
саны с помощью нелинейной вектор-функции в виде
X (0 = f [q (OJ, (5.7-15)
где f(q) — вектор-функция размерностью 6Х 1> а
х (/) (декартовы координаты) = {рх, ру, рг, а, р, у)т
и q(/) (обобщенные координаты) = (qu q2, qn)T.
Взаимосвязь между линейной и угловой скоростями конеч¬
ного звена и скоростями сочленений шестизвенного манипуля¬
тора определена уравнением (5.7-9).
Для более общего рассмотрения предположим, что манипу¬
лятор имеет m степеней свободы, а интересующая нас декар¬
това система координат имеет размерность п. Тогда углы в со¬
членениях и декартовы координаты будут связаны нелинейной
функцией согласно уравнению (5.7-15).
Дифференцируя уравнение (5.7-15) по времени, получим
= х (/) = N (q) q (t), ■ , (5.7-16)
где N(q) —якобиан от q(0, т. е. <
= -!£-, 1<»<п, 1 (5.7-17)
Из уравнения (5.7-16) видно, что при осуществлении управле¬
ния по скорости связь является линейной. Когда x(t) и q(()
имеют одинаковую размерность, манипулятор не имеет избы¬
точных степеней свободы и якобиан может быть инвертирован
в соответствии с несингулярным положением q(0:
q(0 = N-,(q)x(0. ' (5.7-18)
Если известна скорость движения вдоль декартовых коорди¬
нат, то из уравнения (5.7-18) легко находится комбинация ско¬
ростей двигателей в сочленениях, обеспечивающая желаемое
движение конечного звена. Для этого могут быть использованы
различные методы вычисления обратного якобиана. Блок-схема
программного управления движением по скорости приведена на
рис. 5.11. Если т>п, манипулятор имеет избыточные степени
свободы и обратный якобиан не существует. Это сводит задачу
к нахождению обобщенного обратного якобиана. В таком слу¬
чае если ранг N(q) равен п, то q (/) определяется путем мини¬
мизации критерия ошибки, который формируется присоедине¬
нием уравнения (5.7-16) с множителем Лагранжа к критерию
качества, т. е.
С = у qrAq + [х — N (q) q], (5.7-19)
262
где X— вектор множителя Лагранжа, а А — симметрическая по¬
ложительно определенная матрица размерностью т'Кт.
Минимизируя критерий качества С относительно q(/) и X,
имеем
q (/) = A-1Nr (q) X (5.7-20)
и x(/) = N(q)q(0. (5.7-21)
Подставляя q(/) из уравнения (5.7-20) в уравнение (5.7-21) и
решая его относительно X, получим
А. = [N (q) A-1Nr (q)]~'x (t). (5.7-22)
Подставляя X в уравнение (5.7-20), имеем
q (t) = A~W (q) [N (q) A-INr (q)]"' x (t). (5.7-23)
Если матрица A — тождественная, уравнение (5.7-23) сводится
к уравнению (5.7-18).
NW
Встроенные
в шарниры
датчики
Рис. 5.11. Блок-схема программного управления движением по скорости.
Достаточно часто возникает необходимость управлять движе¬
нием конечного звена не в неподвижной системе координат, а в
системе координат конечного звена (рис. 5.10). В этом случае
требуемая скорость движения конечного звена в системе коор¬
динат конечного звена связана с движением в неподвижной
декартовой системе координат следующим образом:
х (0 = °R„h (0, (5.7-24)
где °Rft — матрица размерностью пХ 6, которая связывает ори¬
ентацию системы координат конечного звена относительно не¬
подвижной системы координат. Если задана скорость движения
конечного звена h (/) относительно системы координат конеч¬
ного звена, то, используя уравнения (5.7-23), (5.7-24), скорость
движения сочленения может быть вычислена по формуле
q (0 = A" W (q) [N (q) A" W (q)J~‘ °Rfth (/). (5.7-25)
263
В уравнениях (5.7-23) и (5.7-25) угловое положение q(^) за¬
висит от времени t, поэтому необходимо оценивать N~'(q) на
каждом отрезке дискретного времени при вычислении q(/). При
использовании этого метода управления требуется дополнитель¬
ное вычисление обратного якобиана на каждом отрезке дискрет¬
ного времени и решение сингулярной задачи, связанной с инвер¬
тированием матрицы.
5.7.2. Независимое программное управление движением
по ускорению
Независимое программное управление движением по уско¬
рению [186] расширяет возможности управления движением по
скорости, включая управление ускорением. Оно является альтер¬
нативной управлению по положению, при котором непосред¬
ственно учитывается положение или ориентация конечного звена
манипулятора. Всякое управление по обратной связи произво¬
дится относительно конечного звена, следовательно, предпола¬
гается, что желаемые ускорения при заданном движении конеч¬
ного звена заранее определяются пользователем.
Действительное и желаемое положения и ориентация конеч¬
ного звена манипулятора могут быть представлены следующими
однородными матрицами преобразования размерностью 4X4:
Н,Л Г п(0 8(0 а (0 Р(0 ]
H(/) = L О О О 1 J
Г nd(t) s*(0 а* (0 р^/П
H4W“[ 0 о 0 1 J’ (б-7'26)
где n, s, а — единичные векторы, направленные соответственно
вдоль главных осей х, у, z системы координат конечного звена,
а р(0—вектор положения конечного звена относительно базо¬
вой системы координат. Ориентация подматрицы [n, s, а] опре¬
деляется с помощью углов Эйлера, описывающих вращение
(а, р, у) относительно базовой системы координат в соответ¬
ствии с уравнением (5.7-2).
Ошибка позиционирования конечного звена определяется
как разность между желаемым и действительным положением
конечного звена и может быть записана в виде
(0 = Pd (0 — Р (0 =
Pdx (0 “ Рх (0 '
Pdy W — Ру W
Pi (0 — Рг (о
(5.7-27)
Аналогичным образом ошибка ориентации определяется как
расхождение между желаемой и действительной ориентацией
264
осей конечного звена и может быть представлена следующим
образом:
е0 (0 = 1/2 [п (О X nd + s (О X sd + a {t) X ad]. (5.7-28)
Следовательно, управление манипулятором основывается на
•сведении указанных ошибок конечного звена к нулю.
Для шестизвенного манипулятора можно совместить линей¬
ные скорости v(/) и угловые скорости w(t) конечного звена в
шестимерном векторе x(t):
v(0
x(t) =
“(О -
N (q) q (0, (5-7-29)
где N (q) — матрица размерностью 6X6, определенная уравне¬
нием (5.7-10). Уравнение (5.7-29) является основным для не¬
зависимого программного управления движением по скорости,
где скорости в сочленениях находятся из скоростей конечного
звена. Аналогично могут быть определены ускорения в сочле¬
нениях из ускорения конечного звена х (/)• Производная по
времени от х(/) представляет собой ускорение конечного звена
x(0 = N(q)'q(0 + N(q, q)q(0- (5-7-30)
Управление заданным движением по ускорению с использо¬
ванием обратной связи основано на сведении ошибок позицио¬
нирования и ориентации конечного звена к нулю. Если траек¬
тория движения манипулятора задана в декартовых координа¬
тах, то известны желаемые положения pd(0. скорость vd(i) и
ускорение vd (t) относительно базовой системы координат. Для
уменьшения ошибки позиционирования каждый двигатель в со¬
членениях манипулятора должен развить необходимые моменты
и усилия. По существу это приводит к возникновению линейного
ускорения конечного звена v(/), которое удовлетворяет следую¬
щему уравнению:
v (t) = vd (t) + Л, {vd (t) - v (/)] + k2 {pd (t) - p (0], (5.7-31)
где k\ и k2— скалярные константы. Уравнение (5.7-31) может
быть записано в виде
ёР (0 + М, (0 + &2ер (0 = 0, ' , , (5.7-32)
где ep(t) = pd(t)—р(0- Входные моменты и силы должны вы¬
бираться таким образом, чтобы гарантировать асимптотическую
сходимость к нулю ошибки позиционирования конечного звена.
Для этого необходимо выбрать k\ и k2 так, чтобы характери¬
стические корни уравнения (5.7-32) имели отрицательные дейст¬
вительные части.
265
Аналогично, чтобы уменьшить ошибку ориентации конечного
звена, требуется обеспечить входные моменты и силы, прикла¬
дываемые к манипулятору таким образом, чтобы угловое уско¬
рение конечного звена удовлетворяло выражению
й (/) = cbd (/) + ki Icod (0 — со (/)] + k2e0. (5.7-33)
Сгруппируем vd и cod в шестимерный вектор, а ошибки пози¬
ционирования и ориентации в вектор ошибки
Из уравнений (5.7-31) и (5.7-33) имеем
х (0 = xd (() -f- kj [xd (t) — x (01 + ft2e (t). (5.7-35)
Подставляя уравнения (5.7-29) и (5.7-30) в уравнение
(5.7-35) и решая его относительно q(/), получим
q{t) = N~'{q)[xd{t) + ki (xd(t)— х (t))k2e (t) — N (q, q)q(f)] =
= - A>,q (0 + N-‘ (q) [xd (0 + k,xd (t) + k2e {t) - N (q, q) q (/)].
(5.7-36)
Уравнение (5.7-36) является основой для управления задан¬
ным движением манипулятора по ускорению с помощью обрат¬
ной связи. Для вычисления управляющих моментов и сил в дви¬
гателе каждого сочленения манипулятора используются рекур¬
сивные уравнения движения Ньютона — Эйлера. Положение
q (t) и скорость сочленения манипулятора q (1) измеряются по¬
тенциометрами или оптическими кодирующими устройствами.
Величины v, со, N, N-1, N и Н(/) могут быть найдены из рас¬
смотренных выше уравнений. Эти величины, определяемые за¬
данной траекторией вместе с желаемыми положением pd(0.
скоростью vd(t) и ускорением vrf(0. используются при вычис¬
лении ускорения в сочленении в соответствии с уравнением
(5.7-36). Управляющие моменты и силы в сочленениях могут
быть рекурсивно получены из уравнений движения Ньютона —
Эйлера. Этот метод управления также требует большого объема
вычислений и характеризуется особенностями, связанными с
использованием якобиана, а также необходимостью иметь ин¬
формацию об ускорении для формирования траектории движе¬
ния конечного звена манипулятора.
5.7.3. Независимое программное управление движением по силе
Основным назначением независимого программного управ¬
ления движением по силе является определение управляющих
моментов двигателей сочленений для осуществления позицион¬
266
ного управления в декартовых координатах манипулятором
робота. Преимущество этого метода заключается в том, что он
не использует сложные динамические уравнения движения ма¬
нипулятора и имеет возможность компенсировать упругую по¬
датливость конструкции, силы тяжести и трение. Этот метод
так же, как и описанные выше методы, является методом
управления конечным звеном манипулятора. Он основан на
связи между вектором силы F, получаемым от датчика усилия
в захватном устройстве манипулятора, и моментами, развивае¬
мыми двигателями сочленений. Данный метод управления со¬
стоит из управления положением в декартовых координатах и
управления по силе. При управлении положением вычисляются
м
Kp + Kvs
Манипу¬
лятор
В,В
Датчик
силы
Рис. 5.12. Блок-схема программного управления по силе.
требуемые силы и моменты, которые должны быть приложены
к конечному звену для организации желаемой траектории дви¬
жения в декартовых координатах. Управление по силе опреде¬
ляет необходимые моменты в двигателях каждого сочленения
таким образом чтобы конечное звено могло поддерживать силы
и моменты, заданные управлением по положению. Блок-схема
такого управления приведена на рис. 5.12.
Кратко рассмотрим математический аппарат, используемый
в данном методе управления. Более подробное его изложение
можно найти в работе [316]. Основная идея метода базируется
на связи между заданным вектором силы F = {FX, Fy, Fz, Мх,
My, MZ)T и моментами в сочленениях t = (ti, тг, •••, т«)г, ко¬
торые прикладываются к двигателям в каждом сочленении для
уравновешивания сил, действующих на конечное звено. Здесь
{Fх, Fy, FZ)T и {Мх, Му, MZ)T — соответственно силы в декарто¬
вой системе координат и моменты в системе координат конеч¬
ного звена. Связь между этими величинами записывается в виде
x(0 = Nr(q)F(0, (5.7-37)
где N — якобиан, определяемый уравнением (5.7-10).
267
Так как целью такого управления является формирование
траектории конечного звена в декартовых координатах, то со¬
ответствующие временные траектории положения должны быть
заданы в виде функций от матрицы преобразования манипуля¬
тора °А 6(t), СКОРОСТИ {Vx,Vy,Vz)r И УГЛОВОЙ СКОРОСТИ (СО*, Шу, со*)т
относительно системы координат конечного звена. Другими сло¬
вами, заданная зависящая от времени матрица преобразования;
°Лб + А^) может быть представлена в виде
°Аб (t + At) = °А6 (О
Желаемая скорость xd{t) = (vx, vy, vz, со*, соу, сог)7
координатах определяется из следующего уравнения:
1 —со ДО со y(t) vx(t)
сог (t) 1 — со* (t) vy (t)
- (/) со* (/) 1 vz (t)
0 0 0 1
(5.7-38>
в декартовых
[(°A6)
(5.7-39>
Ошибка по скорости xd — х в декартовых координатах
также определяется из приведенного уравнения. Ошибка по ско¬
рости ха— х, используемая в уравнении (5.7-31), отличается
от указанной ошибки по скорости, так как в уравнении ошибки,,
приведенном выше, используется метод с применением однород¬
ной матрицы преобразования. В уравнении (5.7-31) ошибка по
скорости была получена простым дифференцированием рd(t)—
— p{t).
Аналогично можно получить желаемое ускорение xd{t) в де¬
картовых координатах:
'(0 =
х (t + Л<) — х (t)
м
(5.7-40)
Если отсутствуют ошибки по положению и скорости конеч¬
ного звена, при использовании пропорционально-дифференци¬
ального метода управления желательно как можно ближе сов¬
местить действительное и желаемое значения ускорений х (t)
в декартовых координатах. Это достигается установкой действи¬
тельного значения ускорения в декартовых координатах соглас¬
но следующему выражению:
X 0') = (t) + К л* (0 - х (01 + к № (0 - х (0]. (5.7-41)
или . хе (t) + Kvxe (t) + КрХ-е (0 = 0. (5.7-42)
г 1
— мо МО МОп
МО
*
3
!
At.
- % (0
со* (0 1 vz (0
0
О
о
\ _
268
При выборе величин Kv и Кр такими, при которых характе¬
ристические корни уравнения (5.7-42) имеют отрицательные дей¬
ствительные части, х(/) будет сходиться к xd(t) асимптоти¬
чески.
В данном методе управления желаемые силы и моменты,
компенсирующие ошибки позиционирования, могут быть полу¬
чены с использованием второго закона Ньютона:
Fd(0 = Mx(/), (5.7-43)
где М — матрица массы с диагональными элементами в виде
общей массы нагрузки т и моментов инерции 1ХХ, 1УУ, }гг отно¬
сительно основных осей нагрузки. Используя уравнение (5.7-37),
заданные силы Р* в декартовых координатах могут быть пере¬
ведены в моменты в сочленениях:
х (t) = Nr (q) Fd = Nr (q) Mx (0- (5.7-44)
Обычно данный метод целесообразно использовать только в
том случае, когда нагрузка незначительна по сравнению с мас¬
сой манипулятора. Если нагрузка сравнима с массой манипу¬
лятора, желаемая точность позиционирования конечного звена
обычно не достигается. Это происходит оттого, что некоторые
моменты в сочленениях оказываются недостаточными для раз¬
вития необходимых ускорений звеньев. Чтобы компенсировать
эти эффекты, используется комбинированное управление по силе
и положению.
Метод управления по силе основывается на методе стохасти¬
ческой аппроксимации Роббинса — Монро и служит для опреде¬
ления действительной силы Fa в декартовых координатах, та¬
кой, что необходимая сила F0, измеренная датчиком силы в
захватном устройстве конечного звена манипулятора, сводится
к желаемой силе, полученной рассмотренным выше методом
управления по положению. Если ошибка между измеренным
вектором силы Fo и желаемой силой в декартовых координатах
больше, чем заданный пользователем порог AF(&) = Fd(k) —
— Fo(&), действительная сила в декартовых координатах вы¬
числяется по формуле
Fa(£+l) = Fa(*) + Y*AF(*), (5.7-45)
где уь = \/(k + 1) для k = 0, 1, ..., N. Теоретически величина
N должна быть большой. Однако на практике величина N мо¬
жет быть выбрана исходя из условия сходимости сил. По ре¬
зультатам численного моделирования, приведенным в работе
[316], величина N= 1 или N = 2 дает достаточно хорошую
сходимость вектора сил.
269
Таким образом, описанный метод управления по силе имеет
преимущества: он учитывает различные изменения нагрузки и
его можно использовать для манипуляторов с любым числом
степеней свободы без увеличения сложности вычислений.
5.8. АДАПТИВНОЕ УПРАВЛЕНИЕ
Большинство методов, рассмотренных в предыдущих разде¬
лах, предназначено для управления конечным звеном манипу¬
лятора или сочленениями, и в них уделено внимание компенса¬
ции нелинейностей от сил взаимодействия между различными
сочленениями. Эти управляющие алгоритмы могут быть не¬
адекватными, потому что требуют наличия точной модели ди¬
намики манипулятора и не учитывают изменения нагрузки в
процессе выполнения манипулятором работы. Такие изменения
в объекте управления часто оказываются достаточно значитель¬
ными и снижают эффективность управления по обратной связи.
В результате ухудшается динамика и демпфирование системы,
что ограничивает точность и скорость позиционирования конеч¬
ного звена. Значительное улучшение точности формирования
желаемой траектории во времени для широкого диапазона дви¬
жений манипулятора и для различных нагрузок достигается при
использовании адаптивных методов управления.
5.8.1. Адаптивное управление по заданной модели
Среди различных методов адаптивного управления наибо¬
лее широко используемым и относительно легко реализуемым
является адаптивное управление по заданной модели. Идея
этого метода основана на выборе соответствующей заданной
модели и алгоритма адаптации, по которым изменяются коэф¬
фициенты передач обратных связей на двигатели в реальной
системе. Алгоритм адаптации проводится на основе информа¬
ции об ошибках между выходами заданной модели и выходами
реальной системы. Общая блок-схема адаптивного управления
системой по заданной модели приведена на рис. 5.13.
Простое адаптивное управление по заданной модели для
механических манипуляторов было предложено в работе [64].
При анализе нагрузка принималась в рассмотрение в сочетании
с конечным звеном и предполагалось, что размеры конечного
звена малы по сравнению с длиной других звеньев. Таким об¬
разом, выбранная заданная модель обеспечивает эффективную
и гибкую работу замкнутой управляемой системы по формиро¬
ванию желаемой траектории. В качестве заданной модели для
каждой степени свободы манипулятора робота выбирается ли¬
нейное дифференциальное уравнение второго порядка, не зави¬
сящее от времени. Манипулятор управляется путем настройки
270
коэффициентов передачи обратной связи по положению и по
скорости при отслеживании модели таким образом, чтобы его
рабочие характеристики при замкнутом управлении совпадали
с желаемыми рабочими характеристиками заданной модели.
В результате такая схема адаптивного управления требует не¬
большого объема вычислений, которые могут выполняться с по¬
мощью недорогих микропроцессоров. Этот алгоритм адаптив¬
ного управления не требует ни сложных математических моде¬
лей динамической системы, ни предварительного знания внеш-
Рис. 5.13. Общая блок-схема адаптивного управления системой по заданной
модели.
них воздействий, таких, как величина нагрузки и др. Адаптив¬
ная схема, построенная по заданной модели, стабильно функ¬
ционирует в широком диапазоне движений и нагрузок.
После определения вектора у (0, описывающего динамику
заданной модели, и вектора х(/), описывающего динамику ма¬
нипулятора, г-е сочленение заданной модели может быть опи¬
сано следующим образом:
а{У1 (0 + Мг (0 + Ui (0 = П (0- (5.8-1)
Коэффициенты аг и bt определяются из частоты собственных
колебаний оьг и коэффициента демпфирования линейной си¬
стемы второго порядка:
В предположении, что при управлении манипулятором ис¬
пользуются коэффициенты передачи обратной связи по положе¬
нию и по скорости и что членами высоких порядков можно пре¬
небречь, уравнение динамики манипулятора для i-го сочленения
может быть записано в виде
щ (0 Xt (/) + Pi (/) Xi (0 + Xi (t) = rt (t), (5.8-3)
где а;(0 и Pi(t) — медленно изменяющиеся во времени пара¬
метры системы.
Настройка коэффициентов обратной связи управляемой си¬
стемы может быть произведена несколькими путями. Для мини¬
мизации квадратичной функции ошибки системы, определяемой
различиями между динамикой реальной системы (уравнение
(5.8-3)) и динамикой заданной модели (уравнение (5.8-1)), бла¬
годаря своей простоте используется метод градиентного спуска
/,. (et) = 1/2 (Л& + k\et + f=l, 2 я, (5.8-4)
где et — yi — Xi и значения весовых коэффициентов к) выби¬
раются из условий получения стабильности работы системы.
Используя метод градиентного спуска, настройку парамет¬
ров системы, минимизирующую ошибку системы, можно описать
следующими выражениями:
d. (t) = [ki2et (t) + к\ё, (t) + (0] [Л'й, (t) + ki2ui {t) + (/)],
(5.8-5)
Рг if) = [Кё1 if) + Wi if) + Кei (0] [K®i (0 + k\(0 + Kwi (0].
(5.8-6)
где Ui{t) и Wi{t), а также их производные описываются из ре¬
шения следующих дифференциальных уравнений:
aial{t) + biUi{t) + ui(t) = — yi{t), (5.8-7)
alwi(t) + blwl(t) + wi(t) = — yi{t). (5.8-8)
Величины yi(t) и ffi(t) представляют собой две первые про¬
изводные по времени из уравнения динамики заданной модели.
В замкнутой адаптивной системе решение уравнений заданной
модели используется для получения желаемого входа. Таким
образом, для получения значений ш(0 и Wi{t), а также их про¬
изводных в уравнениях (5.8-5) и (5.8-6) решаются дифферен¬
циальные уравнения (5.8-7) и (5.8-8). Наконец, решая диффе¬
ренциальные уравнения (5.8-5) и (5.8-6), получаем значения
at{t) и $a(t).
Одним из наиболее важных преимуществ такого метода
управления является отсутствие сложной математической мо¬
дели, однако стабильность замкнутой адаптивной системы при
272
этом находится на границе устойчивости. Поскольку анализ
устойчивости в данном методе затруднителен, в работе [64]
была исследована линеаризованная модель адаптивной системы.
Однако возможность адаптации устройства управления при
больших силах взаимодействия между звеньями манипулятора
для рассмотренного метода становится неоднозначной.
5.8.2. Адаптивное управление с авторегрессивной моделью
В работе [150] предложено адаптивное самонастраиваю¬
щееся устройство управления, использующее авторегрессивную
модель для установления соответствия между входными и вы¬
ходными параметрами манипулятора. Алгоритм управления
предполагает, что силы взаимодействия между сочленениями
Рис. 5.14. Адаптивное управление с авторегрессивной моделью.
ничтожно малы. Блок-схема системы управления приведена на
рис. 5.14. Обозначим входной момент на t-м сочленении через
Ш, а выходное угловое положение манипулятора — через у,-.
Пара входного и выходного параметров у,) может быть
описана авторегрессивной моделью, которая приводит эту пару
как можно в более близкое соответствие:
П
Уг (k) = X [а? УI (k — m) + bf ut (k - m)] + a° + et (k), (5.8-9)
m= I
где a® — постоянная силы, ei(k) — ошибка моделирования, кото¬
рая по предположению описывается белым шумом с гауссов¬
ским распределением и не зависит от щ и yt{k — т), т ^ 1.
Параметры а? и bT определяются таким образом, чтобы полу¬
273
чить наилучшее совпадение наименьших квадратов измеренной
пары параметров входа и выхода. Эти параметры могут быть
получены путем минимизации следующего критерия:
N
£Иа<')=ТТт1>^). (5.8-10)
к=О
где N — число измерений. Пусть а, является t-м параметриче¬
ским вектором
ai = а\, ..., а?, b°, b\ Ь1)т, (5.8-11)
a tyi(k— 1) — вектор пары входного и выходного воздействия
-ф* (fe — 1) =
= [1, yt{k — 1), . .., yt(k — п), Ui(k— 1), Ui(k~ п)]т. (5.8-12)
Тогда рекурсивная оценка по наименьшим квадратам at
определяется выражением
a; (N) — ai{N 1) + Р (IV) ф, (IV - 1) [у, (JV) - a] (N - 1) ф, (N - 1)],
(5.8-13)
в котором
= (5.8.
14)
где 0 < р, ^ 1 — коэффициент «запоминания», обеспечивающий
экспоненциальное убывание предыдущих значений параметров
во времени в алгоритме оценивания и возможность медленного
изменения параметров, Р;— симметрическая матрица размер¬
ностью {2п + l)X(2n+ 1), а Л над я< обозначает оценку.
Используя приведенные уравнения для вычисления оценок
авторегрессивной модели, эту модель можно представить в виде
У, (*)«=*ГФ, (*-!) +*,(*)■ (5.8-15)
Рабочий критерий для t'-ro сочленения при определении опор¬
ных точек траектории имеет вид
If (u) = Е {[yt (k + 2) - у* (k + 2)f + Y<«? (k + 1) | % (k)}, (5.8-16)
где £[•] — вероятность выполнения процесса при наличии ф/(£),
a yi — неотрицательный весовой коэффициент, задаваемый поль¬
зователем.
274
Оптимальное управление, минимизирующее приведенный ра¬
бочий критерий, имеет вид
'{к +1) = щ wT2+vT {k) + й*{k) {k)^+
n n \
+ df (k) уt {k + 2 — m) + Y, b? (&) ««■ (k + 2 — m) — y* (k + 2) > ,
m=2 m = 2 '
(5.8-17)
где df, 5Г и аГ — оценка параметров из уравнений (5.8-13) и
(5.8-14).
Таким образом, рассмотренное адаптивное управление ис¬
пользует авторегрессивную модель (уравнение (5.8-9)) для
приведения в соответствие входных и выходных параметров
манипулятора. Для выработки оптимального управления (урав¬
нение (5.8-17)) сервомеханизмом манипулятора используется
оценка параметров, которая производится с помощью рекур¬
сивной схемы идентификации по наименьшим квадратам (урав¬
нения (5.8-13) и (5.8-14)).
5.8.3. Адаптивное управление по возмущению
В работах [159, 160] на основе теории возмущений был
предложен метод адаптивного управления, который обеспечи¬
вает формирование траектории, максимально приближенной к
заданной в каждый момент времени для широкого диапазона
движений и нагрузок. Адаптивное управление по возмущению
отличается от предыдущих методов адаптивного управления
тем, что в нем учитываются все силы взаимодействия между
различными сочленениями. Рассматриваемое в этом разделе
оптимальное управление базируется на линеаризованных уравне¬
ниях движения в окрестности номинальной траектории. Номи¬
нальная траектория определяется интерполированной траекто¬
рией сочленения, когда угловые положение, скорость и ускорение
известны в каждый дискретный момент времени. Нелинейные
динамические уравнения высоких порядков линеаризуются
относительно заданной траектории манипулятора с целью
получения линеаризованной возмущенной системы. Управляе¬
мая система характеризуется наличием прямой и обратной свя¬
зей, которые могут быть рассчитаны отдельно и одновременно.
Прямая связь формирует номинальные моменты для компенса¬
ции всех сил взаимодействия между различными сочленениями
при движении вдоль заданной траектории с помощью уравнений
движения Ньютона — Эйлера, используемых в обратной задаче
динамики манипулятора. Обратная связь формирует моменты
по возмущениям, которые уменьшают ошибки манипулятора по
275
положению и по скорости до нуля вдоль заданной траектории.
Рекурсивная схема идентификации по наименьшим квадратам
используется для эффективного определения параметров системы,
в реальном времени из уравнений возмущений. При управлении
линеаризованной возмущенной системой вдоль заданной траек¬
тории используется одношаговый оптимальный закон управле¬
ния. Для получения необходимого управляющего воздействия
параметры и коэффициенты передачи обратной связи пересчи¬
тываются и настраиваются в каждый дискретный период вре¬
мени. Таким образом, общий момент, управляющий двигате¬
лями сочленений, складывается из номинальных моментов, опре¬
деляемых из уравнений движения Ньютона — Эйлера, и их
моментов по возмущениям, вычисляемых по одношаговому опти¬
мальному закону управления линеаризованной системой. Такой
метод адаптивного управления позволяет свести задачу управ¬
ления манипулятором от номинального управления к управле¬
нию линейной системой вдоль заданной траектории.
Адаптивное управление основывается на линеаризованных
уравнениях для возмущений относительно заданной траектории.
Для построения устройства управления с обратной связью с
целью вычисления моментов возмущения в сочленениях, умень¬
шающих ошибки по положению и по скорости вдоль заданной
траектории, необходимо продифференцировать соответствующие
линеаризованные уравнения возмущений. Уравнения движения
Лагранжа — Эйлера n-звенного манипулятора могут быть вы¬
ражены в пространстве состояний в виде уравнений (5.4-4).
В такой постановке задача управления формулируется как на¬
хождение закона управления по обратной связи и (/) = g[x(tf)],
такого, что замкнутая система управления x(/) = f{x(/),
g[x(0]} асимптотически устойчива и описывает максимально
приближенную к желаемой траекторию в широком диапазоне
нагрузок в каждый момент времени.
Предположим, что заданное состояние х«(0 системы (урав¬
нение (5.4-4) ) определено заданной траекторией, а соответ¬
ствующие заданные моменты un(t) получены из уравнений дви¬
жения Ньютона — Эйлера. Тогда х„(0 и un(t) удовлетворяют
уравнению (5.4-4):
х„ (/) = f [х„ (t), ип (/)]. (5.8-18)
Используя разложение в ряд Тейлора в уравнении (5.4-4)
относительно заданной траектории и вычитая из него уравнение
(5.8-18), а также пренебрегая членами высоких порядков, по¬
лучим соответствующую линеаризованную модель возмущений
для рассматриваемого типа управления:
бх (t) = V*f |„ бх (0 + vuf \п 6u (t) = A (t) бх (0 + В {t) 6и {t), (5.8-19)
276
где V*f|„ и Vuf | „ — якобианы в функции от f [х (/), u(t)1, опре¬
деляемые соответственно xn{i) и u„(0. &x(t) = x(t)—x„(t), а
6u(0 = u(0— МО-
Параметры системы A(t) и В(0 в уравнении (5.8-19) за¬
висят от текущего положения и скорости манипулятора при дви¬
жении вдоль заданной траектории и, следовательно, медленно
меняются во времени. Из-за сложности уравнений движения
манипулятора точное определение элементов А (О и В (О чрез¬
вычайно затруднительно. Однако построение закона управле¬
ния с обратной связью для уравнений возмущения требует, что¬
бы параметры системы в уравнении (5.8-19) были известны в
каждый момент времени. Таким образом, для определения не¬
известных элементов А (О и В (О может быть использован метод
параметрической идентификации.
В данной постановке задача управления манипулятором сво¬
дится к определению 6и(0, которое устремляет 6х(0 к нулю
вдоль всей заданной траектории в каждый момент времени.
Следовательно, вся управляемая система характеризуется па¬
раметрами как прямой, так и обратной связей. После задания
опорных точек траектории qd(0> qd(0 и qd(0 в прямой связи
формируются соответствующие номинальные моменты un(t) из
уравнений движения Ньютона — Эйлера. В обратной связи фор¬
мируются соответствующие моменты по возмущениям 6и(0> ко¬
торые компенсируют малые отклонения от заданной траектории.
Вычисление моментов, компенсирующих возмущения, произво¬
дится с помощью одношагового оптимального закона управле¬
ния. Такая постановка задачи имеет два главных преимущества.
Первое преимущество заключается в сведении нелинейной за¬
дачи управления к линейному управлению вдоль заданной
траектории, а второе—-в том, что определение номинальных и
компенсирующих моментов может быть произведено отдельно и
одновременно. Благодаря наличию такой параллельной струк¬
туры вычислений метод адаптивного управления легко реали¬
зуется на современных недорогих микропроцессорах. Блок-схема
рассмотренного метода управления приведена на рис. 5.15.
В случае использования цифровых машин уравнение (5.8-19)
необходимо дискретизировать для получения соответствующих
дискретных уравнений при определении требуемых параметров:
х [(k + 1) Т] = F {kT) х (kT) + G (kT) u {kT),
k — 0, 1, .. ., (5.8-20)
где T — период дискретизации и u{kT)— n-мерный кусочно-по¬
стоянный входной вектор управления и(0 на интервале вре¬
мени между двумя любыми последовательными моментами ди¬
скретизации kT ^ t < {k + 1)Г, a x{kT)— 2«-мерный возмущен-
27?
ный вектор состояния, который определяется выражением
кТ
х (kT) = Г (кТ, /0) х (t0) + J Г (kT, t) В (t) и (/) dt. (5.8-21)
tо
Здесь T(kT, to) — переходная матрица состояния системы, а
F(kT) и G(kT)—соответственно матрицы размерностью 2п'Х.2п
и 2п X п, которые определяются следующим образом:
F (kT) = Г [(k + 1) Т, kT] (5.8-22)
(ft + l) т
и G (kT) u (kT) = J Г[(£ + 1)7\ t]B(t)u(t)dt. (5.8-23)
kT
В этой модели должны быть определены все 6п2 параметров
в матрицах F(kT) и G(kT). Для простоты и ясности исключают
период дискретизации Т из последнего уравнения.
/Зараметрш движения
робота Возмещения j
Заданная
траектория
системы
Уравнения
движения
Ньютона-
Ойлера
Q.R
Одношаговое
оптимальное
' устройство
управления
щ
Рекурсивная
схема иден-
тишикаиии.
по методу '
наименьших
квадратов
F(0),
-GW).
Внешняя
среда
Измерения
Ш), G(k)
Ьх(Р)
•О
Рис. 5.15. Адаптивное управление по возмущениям.
Задача определения параметров может быть решена с по¬
мощью различных алгоритмов, таких, как методы наименьших
квадратов, максимума, вариационных методов и методов стоха¬
стической аппроксимации. Для определения параметров систе¬
мы в матрицах F(k) и G(6) целесообразно использовать рекур¬
сивную схему определения параметров по наименьшим квадра¬
там в реальном времени благодаря простоте ее реализации.
В данной схеме определения параметров делаются следующие
предположения: 1) параметры системы медленно меняются, но
при этом скорость их изменения меньше, чем скорость адапта-
278
ции; 2) погрешности измерений пренебрежимо малы; 3) пере¬
менные состояния x(k) в уравнении (5.8-20) поддаются изме¬
рению.
Для того чтобы применить рекурсивный алгоритм иденти¬
фикации по наименьшим квадратам к уравнению (5.8-20), необ¬
ходимо трансформировать систему уравнений к удобному для
вычисления виду. Записывая i-ю строку неизвестных параметров
системы через k-й момент времени в виде Зп-мерного вектора,
получим
где р — 2п. Аналогично определяем выходы и входы возмущен¬
ной системы по уравнению (5.8-20) в k-й момент времени
Зн-мерным вектором:
а состояние в k-й момент времени — 2/г-мерным вектором:
В результате система, соответствующая уравнению (5.8-20), мо¬
жет быть записана в виде
В такой формулировке задачи требуется определить пара¬
метры в каждом столбце 0*, основываясь на измерениях век¬
тора z(k). Для того чтобы проверить точность алгоритма оценки
по методу наименьших квадратов, при расчете учитывают ошиб¬
ку моделирования и шум в уравнении (5.8-20) в виде 2п-мер-
ного вектора ошибки е(&), часто называемого разностным век¬
тором:
При оценке параметров по методу наименьших квадратов пред¬
полагается, что неизвестные параметры являются постоянными
i 1, 2, .. •, Р)
(5.8-24)
_ gm(k) ... gpa(k) ..
xT(k) = [xl(k), x2(k), ..., xp{k)\.
(5.8-27)
xi(k + l) = zT{k)Qi{k), i=l, 2, ..., p. (5.8-28)
et (k) = хг (k + 1) - (k) 0г (k), i = 1, 2 p. (5.8-29)
величинами, а решение основывается на ряде из N измерений
с равными весами, используемом для оценки этих параметров.
К сожалению, данный алгоритм не может быть использован для
параметров, меняющихся во времени. Кроме того, требуется
производить сложное в вычислительном отношении инвертиро¬
вание матриц. Чтобы уменьшить объем вычислений и просле¬
дить изменение параметров 0(k) во времени на каждом пе¬
риоде дискретизации, в схеме последовательного определения
параметров по методу наименьших квадратов производится пе¬
ресчет неизвестных параметров на каждом периоде дискретиза¬
ции с использованием новых измерений на каждом дискретном
интервале, что обеспечивает эффективное решение задачи иден¬
тификации. Рекурсивный алгоритм определения параметров по
методу наименьших квадратов находится путем минимизации
экспоненциального критерия ошибки, в котором учитывается
квадрат ошибки последних измерений в виде
N
JN='EpM~ie2i(i), (5-8-30)
/ = ! ' -'-Ч:
где вектор ошибки определяется выражением
ет (АО = [л/р^е,. (1), (2) (N)], (5.8-31)
а N > Ъп— число измерений, используемых для оценки пара¬
метров 0<(iV). Минимизируя критерий ошибки в уравнении
(5.8-30) относительно неизвестных параметров вектора 0,- и
используя лемму об обращении матриц, после простых алгебраи¬
ческих преобразований получаем рекурсивную схему идентифи¬
кации по методу наименьших квадратов в реальном времени:
&,(*+!) = е(- (k) + Y (k) Р (k) z (k) [Xi (k+ 1) - zr (k) 9, (k)], (5.8-32)
P (k + 1) = P (k) — у (k) P (k) z (k) zT (k) P (k) (5.8-33)
и Y (&) = [iT {k) P (k) z (k) + p]_l, (5.8-34)
где 0<р<1, знак Л над 0, означает оценку, P(&) =
= p[Z(&)Z7'(^)]-1—симметрическая положительно определен¬
ная матрица размерностью 3n X Зп. Здесь Z(fe)*=[z(l), z(2),.,.
,..,z(&)] — матрица измерений до k-ro дискретного момента
времени. Если ошибки е,(&) распределены аналогично и не за¬
висят от нулевого значения и изменения о2, то Р(&) можно
представить в виде ковариантной матрицы при р, равном о2.
Из приведенных рекурсивных уравнений видно, что оценка
параметров §,-(&+1) в (&+1)-й дискретный период времени
равна предыдущей оценке 0;(&), скорректированной на вели¬
чину, пропорциональную )— zT(k)9i (k) ]. Член zT{k)9i(k)
представляет собой прогнозируемую величину xi{k-\- 1), осно¬
280
ванную на оценке параметров 0,(&) и векторе измерения z(k).
Компоненты вектора y(k)P(k)z(k) являются весовыми коэф¬
фициентами, которые определяют величину коррекции предыду¬
щей оценки для получения новой оценки 0;(&+1). Параметр
р — весовой коэффициент, обычно используемый для отслежи¬
вания медленно меняющихся параметров путем реализации
экспоненциального уменьшения во времени значения измерен¬
ных величин. Если р <С 1, наибольший весовой коэффициент по¬
лучают значения, полученные на последнем дискретном периоде*
и не получают значения, полученные на предыдущем периоде.
Если р ж 1, точность отслеживания медленно меняющихся па¬
раметров снижается вследствие погрешности при получении и
обработке экспериментальных данных.
Путем подбора весового коэффициента р можно добиться
компромисса между способностью к быстрой адаптации и по¬
терей точности определения параметров. В большинстве при¬
кладных задач для отслеживания медленно меняющихся пара¬
метров р обычно выбирается в пределах 0,90 р< 1,0.
Наконец, рассмотренный алгоритм идентификации начина¬
ется с выбора начальных значений Р(0):
Р(0) = а13„, (5.8-35)
где а — большая положительная скалярная величина, а \гп—
тождественная матрица размерностью 3п\3п. Начальную
оценку неизвестных параметров F(&) и G(&) можно аппрокси¬
мировать следующими уравнениями:
• F (°) ~ + {1г Iх" (°)* и" (°)]} Т + {ж (°)’ u* (°)l}2 Т--
(5.8-36)
- G(0) ~{^[x„(0), u„(0)]}r +
+ {-£- [x„ (0), u„ (0)]} X {£ [x„ (0), un (0)]} Г +
+ {-£- [x„ (0), un (0)]}2 {-g- [x„ (0), ura (0)]} . (5.8-37)
где T—период дискретизации.
Для получения требуемых корректирующих моментов, умень¬
шающих ошибки манипулятора по положению и скорости вдоль
номинальной траектории, соответствующие законы управления
могут быть построены после определения параметров F(&) и
G(k). Это можно сделать путем нахождения оптимального
управления u*(k), минимизирующего рабочий критерий и удов¬
летворяющего требованиям уравнения (5.8-20):
J(k)= l/2[xT{k+ l)Qx(Jfe+ 1) + ur (k) Ru (6)], (5.8-38)
281
где Q — полуположительно определенная весовая матрица раз¬
мерностью рХр, a R — положительно определенная весовая
матрица размерностью п\п. Одношаговый рабочий критерий
(уравнение (5.8-38)) показывает, что целью оптимального
управления является сведение к нулю ошибок манипулятора
по положению и по скорости вдоль номинальной траектории при
позиционном и скоростном управлении на дискретных интерва¬
лах. При этом одновременно достигается качество управления.
Вид оптимального управления, минимизирующего функционал
(уравнение (5.8-38)) и удовлетворяющего требованиям уравне¬
ния (5.8-20), хорошо известен [259]:
u* (k) = — [R + Gr (k) QG (k)]~l Gr (k) QF (k) x (k), (5.8-39)
где F(6) и G(k)—параметры системы, полученные с помощью
алгоритма идентификации (уравнения (5.8-32) — (5.8-34)) в fe-й
дискретный момент времени.
Алгоритмы идентификации и управления (уравнения
(5.8-32) — (5.8-34) и (5.8-39)) не требуют сложных вычислений.
В уравнении (5.8-34) [zr(k)P(k)z(k)p] представляет собой ска¬
ляр, поэтому его обращение тривиально. Хотя весовой коэф¬
фициент настраивается для каждого вектора t-го параметра
0г(k), это требует большого объема вычислений для матрицы
Р(&4- 1). Такая настройка нежелательна при реализации управ¬
ления манипулятором робота в режиме реального времени. Мат¬
рица Р(£ + 1) вычисляется только один раз на каждом дискрет¬
ном периоде времени с использованием одного и того же весового
коэффициента р. Более того, поскольку P(k)—симметриче¬
ская положительно определенная матрица, необходимо вычис¬
лять только верхнюю диагональную матрицу из P{k). Объеди¬
ненный алгоритм идентификации и управления может быть
реализован за время 0(п3). В табл. 5.1 приведены требования
Таблица 5.1. Расчет адаптивного устройства управления
Адаптивное устройство
Число операций
Число операций
управления
умножения
сложения
Уравнение движения Нью¬
117л — 24
ЮЗп — 21
тона — Эйлера
Алгоритм адаптации по ме¬
30 п2 + 5л + 1
30л2 + Зп — 1
тоду наименьших квад¬
ратов
Алгоритм управления
8 л3 + 2 п2 + 39
8 п3 — л2 — л + 18
Итого
8л3 + 32л2 + 5я + 40
8 п3 + 29 п2 + 2л + 17
к вычислению адаптивного управления при наличии возмущений.
В соответствии с возможностями ЭВМ DEC PDP 11/45 сложе¬
282
ние с плавающей запятой (инструкция ADDF) занимает время
5,17 мкс, а умножение с плавающей запятой (инструкция
MULF) — 7,17 мкс. Предположим, что по каждой из указанных
инструкций необходимо выбирать данные из машинной памяти
дважды при времени выборки 450 не. Тогда для вычисления мо¬
ментов на первых трех сочленениях манипулятора робота Пума
в основной точке траектории при реализации адаптивного управ¬
ления по возмущениям требуется примерно 7,5 мс.
0,019?
Лербое сочленение
-0,0560
о Без нагрузки
о Пв/юбана нагрузки
* Банная т/грузка
0,000 0,2000 0,4000 0,6000 0,8000 ],000
Время, а
Рис. 5.16. Ошибка позиционирования первого сочленения при различных на¬
грузках.
Изучение трехзвенного манипулятора робота Пума путем
численного моделирования проведено в работах [159, 160]. При
этом была оценена работа адаптивного устройства управления
и осуществлено сравнение с устройством управления (уравне¬
ние (5.3-65)), которое в основном представляет собой пропор¬
ционально-дифференциальный регулятор (ПД-управление). Ана¬
лиз проводился при различных условиях нагружения во время
движения по заданной траектории. Была сопоставлена и оце¬
нена реализация ПД-управления и адаптивного управления для
трех различных условий нагружения. Результаты приведены в
табл. 5.2, где в первом случае приведены данные при отсут-
283
Таблица 5.2. Сравнение ПД-управления и адаптивного управления
ПД-управление
Адаптивное управление
Формирование траектории
Формирование траектории
нагружения
Соч¬
лене
ния
Макси¬
мальная
ошибка,
градус
Макси¬
мальная
ошибка,
мм
Ошибка
конечного
положе¬
ния,
градус
Макси¬
мальная
ошибка,
градус
Макси¬
мальная
ошибка,
мм
Ошибка
конечного
положе¬
ния,
градус
Без нагрузки:
ошибка в тензоре
инерции 10%
1
2
3
0,089
0,098
0,328
1,55
1,71
2,86
0,025
0,039
0,121
0,020
0,020
0,032
0,34
0,36
0,28
0,000
0,004
0,002
0,5 максимальной
1
0,121
2,11
0,054
0,045
0.78
0,014
нагрузки:
ошибка в тензоре
инерции 10%
2
3
0.147
0,480
2,57
4,19
0,078
0,245
0,065
0,096
1,14
0 83
0,050
0,077
Максимальная
1
0,145
2,53
0,082
0,069
1,20
0,023
нагрузка:
ошибка в тензоре
инерции 10%
2
3
0,185
0,607
3,23
5,30
0,113
0,360
0,069
0,066
1,22
0,58
0,041
0,019
Рис. 5.17. Ошибка позиционирования второго сочленения при различных
грузках.
281
ствии нагрузки, во втором случае — при половине максималь¬
ной нагрузки, а в третьем случае — при максимальной нагрузке.
Во всех случаях ошибка тензора инерции составляла 10%, что
означало отклонение его действительного значения от измерен¬
ного в пределах ±10%. Результаты отразили преимущество
адаптивного управления по сравнению с ПД-управлением с по-
Рис. 5.18. Ошибка позиционирования третьего сочленения при различных на¬
грузках.
стоянным коэффициентом передачи обратной связи в смысле
точности как формирования траектории движения, так и конеч¬
ного позиционирования. Графики ошибок углового положения
при адаптивном управлении для рассмотренных случаев приве¬
дены на рис. 5.16—5.18. Более подробно результаты моделиро¬
вания изложены в [159, 160].
5.8.4. Независимое адаптивное управление движением
Метод адаптивного управления, рассмотренный в разд. 5.8.3
для связанных координат, может быть распространен на случай
управления манипулятором в декартовых координатах при раз¬
личных условиях нагружения с помощью применения принципа
независимого управления движением по скорости и ускорению.
Независимое адаптивное управление движением формирует дви¬
285
жение конечного звена и основано на использовании линеари¬
зованной возмущенной системы, описывающей движение конеч¬
ного звена вдоль заданной временной траектории. Это управле¬
ние отличается от независимого управления движением по уско¬
рению минимизацией не только ошибок по положению или
ориентации, но и ошибок по угловым и линейным скоростям
конечного звена манипулятора вдоль координатных осей конеч¬
ного звена. Как и для предыдущего метода адаптивного управ¬
ления, управляемая система характеризуется наличием положи¬
тельной и отрицательной обратных связей, которые могут опре¬
деляться одновременно и отдельно. Прямая связь преобразует
определенные значения положений, скоростей и ускорений ко¬
нечного звена в соответствующие значения этих величин для
сочленений, с помощью которых вычисляются номинальные мо¬
менты в сочленениях, компенсирующие все силы, взаимодейст¬
вующие между различными сочленениями. В обратной связи
формируются моменты в сочленениях, компенсирующие возму¬
щения и уменьшающие ошибки конечного звена манипулятора
по положению и скорости вдоль его номинальной траектории.
В этом случае также используется рекурсивный алгоритм иден¬
тификации по методу наименьших квадратов для определения
параметров линеаризованной системы в режиме связи с про¬
цессором.
Уравнения движения манипулятора в декартовых координа¬
тах могут быть легко получены с использованием кинематиче¬
ской связи между связанными с сочленениями координатами и
декартовыми координатами, которая была ранее найдена в виде
уравнений (5.7-1)—(5.7-14). Ускорение манипулятора опреде¬
ляется уравнением (5.7-13) и имеет вид
[ й (о ] = й (q’ q) N~l (q) t о (01+ N (q) q(/)- (5-8‘40)
Для того чтобы отразить динамику манипулятора в этом ки¬
нематическом уравнении, необходимо использовать уравнения
движения Лагранжа — Эйлера в виде уравнения (3.2-26). По¬
скольку D(q)—всегда несингулярна, q(0 можно получить из
уравнения (3.2-26) и после его подстановки в уравнение (5.8-40)
определить ускорение конечного звена манипулятора в виде
[6m]=K'<q'4)N‘,(4)U«] +
+ N (q) D-1 (q) [т (/) — h (q, q) — с (q)]. (5.8-41)
Разобьем для удобства N(q), N~‘(q) и D-I(q) на подматри¬
цы размерностью 3X3, a h(q, q), c(q) и x(t) на подматрицы
286
размерностью 3X1:
N(q)A
FN
L N.
(q)
N12(q)
21 (q) N22 (q)
]■
._ir^i(q) ^12(ч)I
(q) = K(q)„[K2i(q) Ka2(q)J.
1ЛЕ/,Лен(Ч) EI2(q)l
D (q)AE(q)A[E2i(q)
ut ЧлГ*1^4,
b(q, q) Д • .
L h2 (q, q) J
Ci (q) ]
c2(q) J ’
Г T, (t)
L t2(o
C (q) Д [
т(0Л
]•
(5.8-42a)
(5.8-426)
(5.8-43a)
(5.8-436)
(5.8-44a)
(5.8-446)
Объединяя уравнения (5.7-4), (5.7-8) и (5.8-41) и используя
уравнения (5.8-42) — (5.8-44), получим уравнения состояния ма¬
нипулятора в декартовых координатах
Р (О
ф(0
▼(О
Lo«)
го о
о о
1з
о
о
S(<D)
О О Nu (q, q) Кп (q) + N12 (q, q) K2i (q) Nlt (q, q) K12 (q) + N12 (q, q) K22 (q)
.0 0 NS1 (q, q) Ku (q) + N22 (q, q) K2i (q) N21 (q, q) Ki2 (q) + N22 (q, q) K22 (q)
X
■ p (O'
ф(0
v(0
+
0 0
0 0
N11 (q) E„ (q) + N12 (q) E2, (q) N1, (q) E12 (q) + N,2 (q) E22 (q)
_Я(0_ _ N21 (q) Eu (q) + N22 (q) E2i (q) N2i (q) E12 (q) + N22 (q) E22 (q).
— h, (q q) — c, (q) + t, (t)
h2 (q, q) — c2 (q) + t2 (t)
X
X
X
[:!
]■
(5.8-45)
где 0 — нулевая матрица размерностью 3X3. Заметим, что са¬
мая левая матрица и средние векторы имеют размерность
12X1, левая центральная матрица — 12 X 12, правая матри¬
ца— 12X6 и самый правый вектор —6 X 1- Уравнение (5.8-45)
представляет собой уравнение состояния манипулятора и будет
287
использовано при получении адаптивного управления в декар¬
товых координатах.
Определяя вектор состояния конечного звена манипулятора
в виде
х(0А(х,, л:2) . . х12)гА(Рх, Ру: Pz: а, р, Y, vx, Vy, vz, ах, ау, юг)гД
А(рг, Фг, vr, oy, (5.8-46)
а вектор входных моментов в виде
и (О А (ть . .., tY А («ь • • •, «а)г- (5.8-47)
уравнение (5.8-45) можно записать в пространстве состояний
в виде
х (/) = f [х (/), и (/)], (5.8-48)
где х(/)—2я-мерный вектор, u(t)—я-мерный вектор, f(-)-—не¬
прерывно дифференцируемая нелинейная вектор-функция раз¬
мерностью 2«Х1, а п — 6 — число степеней свободы манипу¬
лятора.
Уравнение (5.8-48) может быть записано в виде ')
•М0 = Мх, и) = х1 (t), "
X2{t) = f2{x, u) = xs(t), ■■ г
*з(0 = Ых> и) = хд (/),
-М0 = Ых, и) = — sec *5 (xw cos хд + хп sin х6),
Xo(t) = fs{x, и) = зесх5(д:,0созх5 sin хд — хи cosх5cosх6),
х6(0 = /б(х, и) =
= — sec х5 (хю sin хд cos хд + хп sin х5 sin хв + x12cos лг5),
Х;+6(0 = /г+б(х. и) = ^+б(Ч, Ч)х(0 + й/+6(ч)Я.(ч, q) + bi+6 (q) и (О,
(5.8-49)
где 1 = 1, ..., 6, a g;+6(q> q) есть (t' + 6)-n строка матрицы
0 0 1, 0 -
0 0 о S(<D)
0 0Nu(q, q)Ku(q) + N,2(q, q)Kai(q) Nn (q, q)Ki2(q) + Ni2(q. q)K22(q)
LOO N21 (q, q)Ku(q) + N22(q q)K2i(q) N2i (q, q)Ki2(q) + N22(q, q)K22(q).
a bi+6(q) есть (/+ 6)-я строка матрицы
0 0 ’
0 0
N11 (q) Ец (q) -)- Ni2 (q) E2I (q) Nn (q) E12 (q) -|- N12 (q) E22 (q)
_ N2i (q) Ец (q) + N22 (q) E21 (q) NSi (q) E12 (q) + N22 (q) E22 (q) _
• Г — Mq, q) ci (q) 1
’ ** L — h,(a. a) — Coia'l-I
>:1
h2(q, q) — c2(q) J .
288
Уравнение (5.8-49) полностью описывает динамику манипу¬
лятора в декартовых координатах. Задачей управления при
этом является нахождение закона управления по обратной связи
и(0 — &[х(01. который минимизирует ошибку конечного звена
при его движении вдоль заданной траектории в широком диапа¬
зоне нагрузок. Снова получим соответствующую линеаризован¬
ную систему, используя теорию возмущений и разложение в ряд
Тейлора в уравнении (5.8-49), и построим управление по обрат¬
ной связи вдоль желаемой траектории конечного звена. Опре¬
деление закона управления по обратной связи для линеаризо¬
ванной системы аналогично определению закона управления в
связанных с сочленениями координатах (уравнения (5.8-32) —
(5.8-34) и (5.8-39) ). Блок-схема независимого адаптивного
управления движением показана на рис. 5.19.
Система независимого адаптивного управления движением
также характеризуется наличием прямой (программной), а так¬
же положительной и отрицательной обратных связей. Это по¬
зволяет проводить параллельные вычисления параметров в этих
связях. В прямой связи определяются управляющие моменты
в сочленениях по следующему алгоритму. Сначала по опорным
точкам траектории конечного звена рd(t), <S>d(t), \d(t), Qd{t),
vd(t) и Qd(^) формируются величины требуемых положений,
скоростей и ускорений в сочленениях, а затем из уравнений дви¬
жения Ньютона — Эйлера вычисляются управляющие моменты
в сочленениях, организующие траекторию конечного звена. При
этом используются сформированные величины положений, ско¬
ростей и ускорений в сочленениях. Определенные таким обра¬
зом моменты представляют собой номинальные моменты иДО-
В обратной связи вычисляются моменты в сочленениях, компен¬
сирующие возмущения, в соответствии с уравнением (5.8-39) и
рекурсивным алгоритмом идентификации по методу наименьших
квадратов (уравнения (5.8-32) — (5.8-34)).
Возможность применения адаптивного устройства управле¬
ния, реализованного на дискретной частоте 60 Гц, и современ¬
ных недорогих микропроцессоров можно установить путем опре¬
деления времени вычисления при рассмотрении математических
операций умножения и сложения. Предположим, что мультипро¬
цессоры могут производить параллельный расчет управления.
Параметры прямой связи, в которой формируются номинальные
моменты в сочленениях, организующие заданную траекторию
движения конечного звена, могут подсчитываться в четыре по¬
следовательных этапа. Это требует в общем случае выполнения
1386 операций умножения и 988 операций сложения для шести¬
звенного манипулятора. Параметры обратной связи, в которой
формируются моменты, компенсирующие возмущения в сочле¬
нениях, удобно вычислять в три последовательных этапа. Для
шестизвенного манипулятора это требует выполнения примерно
10 К. Фу и др.
289
1^1111
890
Рис, 5.19. Независимое адаптивное управление движением.
w
3348 операций умножения и 3118 операций сложения. Поскольку
параметры прямой и обратной связей могут вычисляться парал¬
лельно, независимое адаптивное управление движением в общем
случае требует выполнения 3348 операций умножения и 3118
операций сложения в каждый период дискретизации. Объем
вычислений для операций умножения и сложения при адаптив¬
ном управлении а-звенного манипулятора приведен в табл. 5.3.
Таблица 5.3. Вычисление независимого адаптивного управления
движением
Адаптивное управление
Число операций
умножения
Число операций
сложения
Этап 1
Вычисление qd (обратная
задача кинематики)
(39)
(32)
Этап 2
. d
Вычисление q
_|_ 27га + 327
(525)
га2 + 18га + 89
(233)
Этап 3
Вычисление q ... t
4га2
S*
СО
!
'Гр
(144)
(126)
Этап 4
Вычисление т
117га-24
(678)
103га — 21
(597)
Общее число операций
5га2 + 144га + 342
5га2 + 118га + 100
при вычислениях по пря¬
мой связи
(1386)
(988)
Этап 1
Вычисление (рТФт)Т
(48)
(22)
7' Т\Т
Вычисление (v Q )
га2 + 27га - 21
(177)
га2 + 18га — 15
(129)
Этап 2
Вычисление ошибок ко¬
0
24
нечного звена
[х (ft) — х„(й)]
(0)
(12)
Алгоритм идентификации
33га2 + 9га + 2
(1244)
34'/2га2- 1'/2га
(1233)
Этап 3
Вычисление адаптивного
8га3 + 4га2 + га -f 1
8га3 — га
управления
(1879)
(1722]
Общее число операций
8га3 + 38га2 +
8га3 + 35‘/2га2 4~
при вычислениях по об¬
+ 37 га + 30
Т- 17'/гга 4- 7
ратной связи
(3348)
(3118)
Общее число математиче¬
8га3 + 38га2 +
8га3 + 35'/2га2 +
ских операций
+ 37га -f 30
(3348)
+ 17‘/2га + 7
(3118)
Для микропроцессора INTEL 8087 целочисленное умножение
занимает 19 мкс, сложение—17 мкс, а обращение к памяти —
9 мкс. Предполагая, что для каждой операции умножения и
сложония требуются два обращения к памяти, вычисление пред¬
ложенного управления займет 233 мс. Такое быстродействие
10*
291
1
является недостаточным для работы замкнутой системы.
В разд. 5.3.5 было показано, что минимальное быстродействие
для дискретной частоты 60 Гц составляет 16 мс.
В микропроцессоре Motorola МС 68000 целочисленное умно¬
жение занимает 5,6 мкс, сложение — 0,96 мкс, а обращение к
памяти — 0,32 мкс. В этом случае требуемое управление рас¬
считывается за 26,24 мс, что еще не удовлетворяет требованиям
по быстродействию. Наконец, для ЭВМ PDP 11/45 время цело¬
численного умножения равно 3,3 мкс, время сложения — 300 не,
а обращение к памяти занимает 450 не. На этой ЭВМ управле¬
ние можно подсчитать за 18 мс, что удовлетворяет системе,
работающей на дискретной частоте ~55 Гц. Однако, PDP 11/45
является однопроцессорной ЭВМ и не реализует параллельных
вычислений. Этот анализ дает представление о требуемой ско¬
рости вычислений адаптивного управления манипулятором.
5.9. ЗАКЛЮЧЕНИЕ
Выше были рассмотрены различные методы построения си¬
стем управления манипулятором робота от простых сервомеха¬
низмов до сложных систем управления, таких, как системы
адаптивного управления с алгоритмом идентификации. Рассмот¬
рены методы управления движением звена, независимого управ¬
ления движением и адаптивного управления. Большинство ме¬
тодов управления сочленением и независимого управления
разработаны для конечного звена или для сочленений манипуля¬
тора, при этом производится нелинейная компенсация сил реак¬
ции между различными сочленениями. Описаны также различ¬
ные вариации адаптивного управления. Адаптивное управление
по заданной модели реализуется просто, но трудно выбрать со¬
ответствующую модель и провести анализ устойчивости управ¬
ляемой системы. Самонастраивающееся адаптивное управление
устанавливает соответствие данных по входу п выходу системы
с авторегрессивной моделью. Оба метода не учитывают сил
реакции между сочленениями, которые могут быть значитель¬
ными в манипуляторах с шарнирными сочленениями. Адаптив¬
ное управление с использованием теории возмущений более
пригодно для различных видов манипуляторов, так как в нем
учитываются силы взаимодействия между сочленениями. Метод
адаптивного управления по возмущениям удобен для управле¬
ния манипулятором как в связанных с сочленением, так и в
декартовых координатах. Система адаптивного управления по
возмущению характеризуется наличием прямой и обратной
связей, которые могут определяться параллельно — независимо
и одновременно. Вычисление адаптивного управления для ше¬
стизвенного манипулятора робота реализуется в случае управ¬
ления в пространстве переменных сочленения с помощью недо¬
292
рогих микропроцессоров. Для независимого адаптивного управ¬
ления движением нельзя использовать существующие недорогие
микропроцессоры, потому что они не удовлетворяют требова¬
ниям к быстродействию вычисления параметров управления для
стандартной дискретной частоты 60 Гц.
Литература
Более подробно управление методом вычисления моментов
описано в работах [16, 154, 186, 188, 226]. Оптимальное по
быстродействию управление рассматривается в работе [140], а
оптимальное по быстродействию управление с учетом ограни¬
чений на управляющий момент — в работе [25]. В работе [320]
обсуждаются построенные управления с переменной структурой
для манипулятора. Более общую теорию управления с перемен¬
ной структурой можно найти в работах [134, 297]. Различные
исследования посвящены нелинейному независимому управле¬
нию, в том числе работы [75, 86, 94, 118, 126, 258, 280].
Сведения по независимому управлению движением даны в
работах [308—310], где рассматривается независимое управле¬
ние движением по скорости. В работе [186] исследуется управ¬
ление по ускорению. Недостатком независимого управления
движением является большой объем вычислений при обращении
якобиана.
Для того чтобы компенсировать изменения параметров ма¬
нипулятора и переносимого им груза, методы адаптивного
управления требуют усовершенствования при работе как в свя¬
занных, так и в декартовых координатах. Такие методы управ¬
ления изложены в работах [64, 126, 150, 159, 160, 161, 165].
Связанной с управлением проблемой является исследование
эффективного построения системы управления, обеспечиваю¬
щего вычисление законов управления с необходимым быстро¬
действием. Этой проблеме посвящены работы [158, 167, 183,
215, 221].
Упражнения
5.1. Для устройства позиционирования одним звеном, описанного в
разд. 5.3.2, найти передаточные функции разомкнутой системы &L(s)/E(s) и
замкнутой системы 0^ (s)/0f (s), если управляющее напряжение Va(t) прямо
пропорционально ошибке позиционирования и скорости изменения выходного
углового положения.
5.2. Определите установившуюся ошибку системы на ступенчатое вход¬
ное воздействие при управляющем напряжении из упр. 5.1. Сделайте то же
самое для аналогового входа.
5.3. Сколько требуется операций умножения и сложения на одной опор¬
ной точке траектории при использовании метода вычисления моментов, если
для вычисления управляющих моментов в сочленениях для манипулятора с
шестью степенями свободы и с шарнирными сочленениями использовать урав¬
нения движения Ньютона — Эйлера?
293
5.4. При использовании метода вычисления моментов было найдено
управление в непрерывном времени, в то время как из-за использования,
цифровой машины при реализации управления манипулятором робота оно>
должно осуществляться в дискретном времени, т. е. с помощью системы
с дискретными параметрами. Приведите условие, при котором возможна
указанная реализация управления.
5.5. Уравнения движения двухзвенного манипулятора робота (разд. 3.2.6)
записываются в компактной матрично-векторной форме
где g — ускорение свободного падения. Определите соответствующие векторы
переменного состояния x(t) и вектор управления u(t) для этой динамической
системы. Предполагая, что существует D-l(0), запишите уравнения движения
такого робота для параметров йц, (ф; и с, в пространстве состояний с ис¬
пользованием найденных вектора переменных состояния и вектора управ¬
ления.
5.6. Постройте устройство управления с переменной структурой для ро¬
бота, описанного в упр. 5.5 (разд. 5.5).
5.7. Постройте устройство нелинейного независимого управления с обрат¬
ной связью для робота из задачи 5.5 (см. п. 5.6).
5.8. Определите якобиан в базовой системе координат для робота из
упр. 5.5 (см. приложение Б).
5.9. Назовите два основных недостатка использования независимого уп¬
равления движением по скорости.
5.10. Назовите два основных недостатка использования независимого
управления движением по ускорению.
5.11. Назовите два основных недостатка использования адаптивного
управления по заданной модели.
5.12. Назовите два основных недостатка использования адаптивного
управления по возмущению.
/
Глава 6.
ОЧУВСТВЛЕНИЕ
Не так же ты доверяешь чувствам,
как и тому, что видишь ты?
В. Шекспир
6.1. ВВЕДЕНИЕ ;
Внешние устройства очувствления позволяют взаимодействовать
роботу с внешней средой в интерактивном режиме, который
отличается от режима работы по жестко заданной программе,
предусматривающей выполнение повторяющихся операций без
обратной связи с внешней средой. Хотя последний режим преоб¬
ладает в современных промышленных роботах, очувствление и
высокий уровень технического интеллекта обеспечивает более
активное взаимодействие машин с внешней средой, что, не¬
сомненно, является перспективной областью развития робото¬
техники. Роботу, который может «видеть» и «чувствовать»,
легче выполнять сложные задачи, кроме того, в этом случае
снижаются требования к точности устройств управления. Очув-
ствленные обучаемые системы обладают возможностью адапта¬
ции при выполнении широкого круга задач. Благодаря этому
повышается степень универсальности, что в конечном счете при- if
водит к снижению стоимости продукции и технического обслу- ;
живания.
Функционально датчики роботов можно подразделить на
два основных типа: датчики внутреннего состояния и датчики
внешнего состояния. Датчики внутреннего состояния служат
для формирования сигналов в цепях обратных связей по поло¬
жению и скорости звеньев манипулятора 1). Эти измерения ис¬
пользуются при управлении роботом, которое рассматривалось
в гл. 5. Датчики внешнего состояния предназначены для изме¬
рения параметров в дальней и ближней зонах и для тактильных
измерений. Внешнее очувствление, которое рассматривается в
гл. 6—8, используется для управления движением робота, а
также при идентификации объектов и манипулирования с ними.
Датчики внешнего состояния в свою очередь подразделяются
на контактные и бесконтактные. Контактные датчики, как сле-
11 В последнее время получают развитие комбинированные методы управ¬
ления, включая очувствление по силе и моменту. — Прим. ред.
295
дует из их названия, производят измерения при контакте с объ¬
ектом в процессе касания, проскальзывания или кручения.
Принцип действия бесконтактных датчиков основан на опреде¬
лении изменений акустического или электромагнитного полей
при взаимодействии с объектом. Наиболее важными примерами
использования бесконтактных датчиков является измерение по¬
ложения объекта в дальних и ближних зонах, а также опреде¬
ление характеристик объекта оптическим методом.
Основное внимание в данной главе уделено датчикам изме¬
рения в дальней и ближней зонах, а также тактильным и сило-
моментиым датчикам. Вопросы технического зрения подробно
рассматриваются в гл. 7 и 8. Отметим, что техническое зрение
и датчики измерения в дальней зоне обычно дают основной
объем информации при управлении движением манипулятора,
а датчики измерения в ближней зоне и тактильные датчики ис¬
пользуются на конечных этапах движения манипулятора при
захвате объекта. Силомоментные датчики применяются в ка¬
честве устройств обратной связи для управления манипулятором
после захвата объекта, например для исключения возможности
его повреждения или проскальзывания.
6.2. ДАТЧИКИ ИЗМЕРЕНИЯ В ДАЛЬНЕЙ ЗОНЕ
С помощью датчиков измерения в дальней зоне определяется
расстояние от точки отсчета, обычно связанной с самим датчи¬
ком, до объекта в рабочем диапазоне измерений. Человек оце¬
нивает расстояние с помощью зрения (гл. 7), в то время как
некоторые животные, например летучие мыши, определяют рас¬
стояние по времени посылки и отражения акустического сиг¬
нала. Датчики измерения в дальней зоне используются для
навигации робота и обхода препятствий, когда требуется оце¬
нить расстояния до ближайших объектов или определить место¬
положение и форму объектов в рабочем пространстве робота.
В данном разделе рассматриваются некоторые методы измере¬
ния в дальней зоне.
6.2.1. Триангуляция
Одним из простейших методов измерения в дальней зоне
является метод триангуляции (р-ис. 6.1). Объект освещают уз¬
ким лучом света, направленным на его поверхность. Движение
луча в плоскости определяется линией от объекта до приемника
света и линией от приемника до источника света. Если прием¬
ник расположен на малом участке поверхности, при обнаруже¬
нии приемником светового пятна расстояние D до освещенного
участка поверхности может быть вычислено из геометрических
соотношений (рис. 6.1), так как угол, образованный источником
298
и базовой линией, и расстояние В между источником и прием*
ником известны.
Этот метод реализует точечное измерение. Если система
источник — приемник движется в фиксированной плоскости
Рис. 6.1. Измерение расстояния методом триангуляции [137].
(вверх и вниз и в стороны в плоскости, перпендикулярной пло¬
скости рис. 6.1 и включающей базовую линию), то в этом случае
можно получить группу точек, расстояния от которых до прием-
Рис. 6.2. Сканируемые объекты (а) н изображение с интенсивностью, пропор¬
циональной расстоянию (б) [137].
ника известны. Эти расстояния легко перенести в трехмерную
систему координат путем сканирования (рис. 6.2). На рис. 6.2, а
показано расположение сканируемых объектов, а на рис. 6.2, б—
результаты сканирования в виде изображения, интенсивность
297
которого (чем ближе, тем темнее) пропорциональна зоне даль¬
ности, измеренной от плоскости движения до пары источник —
приемник.
6.2.2. Метод подсветки
Данный метод состоит в проецировании светового потока
на группу объектов и использовании изменения формы потока
для вычисления расстояния. Одним из наиболее распространен¬
ных световых потоков, применяемых в настоящее время, явля¬
ется световая полоса, генерируемая через цилиндрические линзы
или узкую щель. Пересечение светового потока с объектами в
рабочем пространстве (рис. 6.3) образует на них полосы света,
фиксируемые телевизионной камерой, помещенной на расстоя¬
нии В от источника света. Такая ситуация легко анализируется
компьютером при определении расстояния. Например, отклоне¬
ние лучей указывает на изменение поверхности, а разрыв соот¬
ветствует промежутку между поверхностями.
298
Вид сВерху
Ла сЗетобоц
лоток
Рис. 6.3. Измерение расстояний методом подсветки. Вид сверху (б) на рас¬
положение элементов системы, изображенной на рис. а, позволяет упростить
процесс калибровки.
Для получения базовых значений расстояний вначале про¬
водят калибровку системы. Один из простейших вариантов
идентификации показан на рис. 6.3,6, который представляет
собой вид сверху системы, представленной на рис. 6.3, а. При
таком расположении источник света и камеру помещают на
одинаковой высоте, а световой поток перпендикулярен линии,
соединяющей источник света и центр объектива камеры. На¬
зовем вертикальную плоскость, проходящую через эту линию,
плоскостью отсчета. Очевидно, что плоскость отсчета перпенди¬
кулярна световому потоку и любая вертикальная плоская по¬
верхность, пересекающая луч, дает вертикальную полосу света
(рис. 6.3, а), каждая точка которой будет равноудалена по нор¬
мали от плоскости отсчета.
Целью расположения элементов системы, показанного на
рис. 6.3,6, является размещение камеры таким образом, чтобы
каждая вертикальная полоса была также вертикальной в пло*
скости изображения Следовательно, каждая точка в одном
столбце изображения будет найдена, поскольку находится на
известном расстоянии от плоскости отсчета.
В большинстве систем, основанных па методе подсветки, ис¬
пользуют цифровые изображения. Предположим, что изображе¬
299
ние, полученное камерой, преобразовано в цифровой массив
размерностью N X М (разд. 7.2) и пусть у == 0, 1, 2, ...,М—1
является номером столбца этого массива. Ниже показано, что
процедура калибровки состоит в измерении расстояния В между
источником света и центром линз и последующим измерением
углов ас и а0. После того как эти величины становятся известны,
из правил элементарной геометрии следует, что d (рис. 6.3,6)
вычисляется по формуле
d = Hg0. ' (6.2-1)
где X— фокальная длина линз и
0 = ас— а0. (6.2-2)
Для цифрового изображения, содержащего М столбцов, при¬
ращение расстояния dk между столбцами определяется по
формуле
, . d 2kd
M/2 ~ М (6.2-3)
для 0 ^ k г^г М/2. (В изображении на мониторе (г — О соответ¬
ствовало бы крайнему слева столбцу, a k~M/2 — централь¬
ному столбцу.)
Угол а*, образованный проекцией произвольной полосы,
легко получить, отметив, что
as = ac-0ft> (6.2-4)
где
tg е; = ’ {6-2'5)
или, используя равенство (6,2-3),
8;- arctg[d~^2k)\ (6.2-6)
где 0 ^ ^ Л1/2. Для оставшихся значений k (т. е. по другую
сторону оптической оси) имеем
а/г = ас + 6", (6.2-7)
где
В" = arctg [d(2kM~M)] (6.2-8)
для М/2 < k < (М — 1).
Сравнивая уравнения (6.2-6) и (6.2-8), отметим, что
0£ = — в'к. Таким образом, равенства (6.2-4) и (6.2-7) иден¬
тичны для всего диапазона 0 ^ k sc: М — 1. Тогда из рис. 6.3, б
следует, что расстояние по нормали Dk между произвольной
полосой света и плоскостью отсчета будет равно
Dk = B tg0s (6.2-9)
аоо
для —1, где a.k вычисляется либо из уравнения
(6.2-4), либо из уравнения (6.2-7).
Важно отметить, что, если величины В, ао, ас, М и X из¬
вестны, номер столбца в цифровом изображении полностью
определяет расстояние между плоскостью отсчета и всеми точ¬
ками на полосе, отображенной на этом столбце. Так как М и А
являются фиксированными параметрами, процедура калибров¬
ки состоит в простом измерении В и определении ас и ао, как
указано выше. Для определения ас плоскую вертикальную по¬
верхность размещают так, чтобы ее пересечение со световой по¬
лосой находилось в центре плоскости изображения (т. е. у =
= М/2). Затем измеряют величину перпендикуляра Dc между
поверхностью и плоскостью отсчета. Из рис. 6.3,6 следует, что
ас = arctg [-^-]. (6.2-10)
Чтобы определить ао, перемещают поверхность ближе к пло¬
скости отсчета, пока ее световая полоса не совместится с у = 0
на плоскости изображения. Затем измеряют D0 и из рис. 6.3,6
находят
а0 = arctg [-^-]. (6.2-11)
Это завершает процесс калибровки.
Основное преимущество такой системы состоит в относи¬
тельной простоте измерения расстояний. После завершения ка¬
либровки расстояние, соответствующее каждому столбцу в изо¬
бражении, вычисляется с помощью уравнения (6.2-9), где k —
= 0, 1, 2, ..., М—1, а результаты хранятся в памяти. Затем
в процессе измерений расстояние до любой точки изображения
получают путем простого определения номера ее столбца в изо¬
бражении и обращения к соответствующей области памяти.
В заключение отметим, что для решения более общей задачи,
когда источник света и камера размещаются произвольно по
отношению друг к другу, можно использовать метод, описанный
в разд. 7.4. Однако полученные выражения были бы значи¬
тельно более сложными с точки зрения вычислений.
6.2.3. Измерители расстояния по времени прохождения сигнала
Ниже рассматриваются три метода измерения расстояния,
основанные на определении времени прохождения сигнала
между объектом и приемником. Два из них используют лазер,
а третий — ультразвуковые сигналы.
В первом методе измеряется метод, в течение которого по¬
сланный вдоль оси световой импульс возвращается вдоль той
же оси от отражающей поверхности. Расстояние до поверхности
301
определяется по формуле D = сТ/2, где Т — время прохожде¬
ния сигнала и с — скорость света. Отметим, что поскольку ско¬
рость света примерно составляет 0,3 м/нс, электронное обору¬
дование должно обладать частотой отсчета 50 Гц для достиже¬
ния точности измерения порядка ±6,3 мм.
Система, использующая лазерные импульсы, дает двумерный
массив со значениями, пропорциональными расстоянию [137].
Двумерное сканирование выполняется путем отклонения лазер¬
ного луча вращающимся зеркалом. Рабочая зона этого устрой¬
ства находится в пределах 1—4 м с обеспечением точности до
±0,25 см. Пример картины выходного сигнала такой системы
дан на рис. 6.4. На рис. 6.4, а показан набор трехмерных объ-
Рис. 6.4. Система объектов (а) и изображение (б) с интенсивностью, про¬
порциональной расстоянию [138].
ектов, а на рис. 6.4,6 — соответствующий информационный мас¬
сив, представленный в виде изображения, интенсивность каж¬
дой точки которого пропорциональна расстоянию между датчи¬
ком и отражающей поверхностью в этой точке (чем темнее, тем
ближе). Яркие участки вокруг границ объектов представляют
прерывистое изменение расстояния, определяемое ЭВМ с по¬
мощью специальной процедуры.
Во втором методе вместо импульсного светового сигнала
используется непрерывный луч лазера и измеряется задержка
(т. е. фазовый сдвиг) между посылаемыми и возвращенными
лучами (рис. 6.5). Допустим, что луч лазера с длиной волны К
расщеплен на два луча. Один из них (называемый «лучом от¬
счета») проходит расстояние L к фазометру, а другой проходит
расстояние D до отражающей поверхности. Общее расстояние,
пройденное отраженным лучом, составляет D' = L + 2D. До¬
пустим, что D = 0. При этом условии D' = L, и как луч отсчета,
так и отраженный луч достигают фазометра одновременно. Если
302
увеличивать D, отраженный луч проходит большой путь и, сле¬
довательно, возникает фазовый сдвиг между двумя лучами в
точке измерения (рис. 6.5,6). В этом случае имеем
D' = D -)- —у X. (6.2-12)
Отметим, что, если 0 = 360°, обе волны вновь совпадают и
нельзя отличить D'= L и D' = L-\-nX, п— 1, 2, ..., основы-
н ^—ч
и—
Рис. 6.5. Принцип измерения расстояния по фазовому сдвигу (а) и сдвир
между исходящей и отраженной световыми волнами (б).
ваясь на одном измерении фазового сдвига. Таким образом, ре¬
шение может быть получено только в том случае, если 0 < 360°,
либо, что то же самое, 2D <С X. Так как D' — L-\- 2D, подставив
это значение в уравнение (6.2-12), имеем
° = (62'13)
что определяет расстояние через фазовый сдвиг, если известна
.длина волны.
303
Если длина волны лазерного луча мала (например, 632,8 нм
для гелий-неонового лазера), то метод, схема которого пока¬
зана на рис. 6.5, нецелесообразно применять в робототехнике.
Простейшим решением в этом случае является амплитудное
моделирование лазерного луча путем использования волны с го¬
раздо большей длиной. (Например, помня, что c — fk, модули¬
рующая волна с частотой f — 10 МГц имеет длину 30 м.) Этот
метод проиллюстрирован на рис. 6.6. Основная процедура оста¬
ется прежней, но сигнал отсчета является теперь функцией мо¬
дулирования. Модулированный лазерный сигнал посылается на
объект, а возвращенный сигнал демодулируется и сравнивается
с отсчетным сигналом для определения фазового сдвига. Ра¬
венство (6.2-13) все еще имеет силу, но теперь работа происхо¬
дит в более удобном диапазоне длин волн.
§ис. 6.6. Волновой сигнал, модулированный по амплитуде модулирующей
ункцией с гораздо большей длиной волны.
Важным преимуществом метода с непрерывным лучом по
сравнению с импульсным методом является то, что первый дает
сведения об интенсивности (чем ярче, тем ближе) [137]. Од¬
нако для работы по методу с непрерывным лучом затрачи¬
вается значительно большая мощность. Неточности при изме¬
рении расстояний, получаемые при использовании любого из
этих методов, требуют усреднения отраженного сигнала для
уменьшения ошибки. Если при рассмотрении задачи мы допу¬
скаем, что к действительному расстоянию добавляется шум
измерения, и принимаем, что измерения являются статистиче¬
ски независимыми, можно показать,_что стандартное отклонение
от среднего значения равно i/Vw стандартных отклонений
шума, где N — число усредненных проб. Другими словами, чем
дольше мы усредняем, тем меньше неточности при оценке рас¬
стояния.
Пример результатов, получаемых с помощью непрерывного
модулированного лазерного луча, сканируемого вращающимся
зеркалом, показан па рис. 6.7,6. На рис. 6.7, а дан массив рас¬
стояний, представленный как изображение интенсивности (чем
ярче, тем ближе). Реальная информация об интенсивности, по-
304
лученная на соответствующем приборе, показана на рис. 6.7,6.
Обратите внимание на то, что эти два изображения дополняют
друг друга. Например, если возникает трудность при подсчете
числа объектов на столе на рис. 6.7, а, то это просто сделать по
изображению интенсивности. Напротив, невозможно определить
расстояние между ближним и дальним краями крышки стола
по изображению интенсивности, тогда как это легко сделать с
помощью массива расстояний. Способы обработки информации
подобного типа даны в разд. 6.7 и 6.8.
Ультразвуковой измеритель расстояний является другим
типичным примером реализации метода измерения расстояния
Рис. 6.7. Изображения массива расстояний (а) и интенсивности (б).
по времени прохождения сигнала. Основная идея аналогична
той, что использована в методе с применением лазерных им¬
пульсов.
Ультразвуковой сигнал передается за короткий промежуток
времени и, так как скорость звука известна для определенной
среды, простое вычисление, включающее интервал времени
между посылаемым и отраженным сигналами, дает оценку рас¬
стояния до отражающей поверхности.
В ультразвуковой измерительной системе, выпускаемой фир¬
мой Polaroid, сигнал длительностью 1 мс, состоящий из 56 им¬
пульсов четырех частот (50, 53, 57 и 60 кГц), передается дат¬
чиком диаметром л;38 мм. Сигнал, отраженный объектом,
улавливается тем же датчиком и, проходя через усилитель и
схему индикации, способен измерять расстояние в диапазоне
— 0,3—10 м с точностью до 2,5 см. Смешанные частоты в сиг¬
нале используются для улучшения устойчивости сигнала. От¬
клонение в направленности этого прибора составляет ~30°,
что приводит к ограничениям его использования для получения
изображения систем, рассмотренных выше в данном разделе.
305
Это является обычной проблемой при использовании ультразву¬
ковых датчиков, и поэтому они применяются преимущественно
в навигации и для обхода препятствий. Конструкции и рабочие
характеристики ультразвуковых датчиков обсуждены более по¬
дробно в разд. 6.3.
6.3. ОЧУВСТВЛЕНИЕ В БЛИЖНЕЙ ЗОНЕ
Датчики измерения в дальней зоне, описанные нами выше,
дают оценку расстояния между датчиком и отражающим объ¬
ектом. Датчики измерения в ближней зоне обычно имеют дис¬
кретный пороговый выходной сигнал, который определяет на-
Магнит КоРп^с
а
Статной или
Рис. 6.8. Индуктивный датчик (а), форма магнитных линий при отсутствии
ферромагнетика (б) и форма магнитных линий при наличии ферромагнетика
в зоне измерения датчика (в) [38].
личие объекта в пределах установленного пространства. Ти¬
пичным является использование таких датчиков в робототех¬
нике для получения информации в ближней зоне при захвате
объекта или при его обходе. В настоящем разделе рассматри¬
ваются несколько основных методов очувствления в ближней
зоне и основные рабочие характеристики датчиков.
6.3.1. Индуктивные датчики
Датчики, основанные на изменении индуктивности при взаи¬
модействии с металлическим объектом, находятся в ряду наи¬
более широко используемых промышленных датчиков измере-
306
г
Высокая скорость
Время
Низкая скорость
ния в ближней зоне. Принцип работы этих датчиков можно
объяснить, используя рис. 6.8 и 6.9. На рис. 6.8, а представлена
схема индуктивного датчика, который состоит из катушки, раз¬
мещенной вслед за постоянным магнитом в корпусе.
Когда датчик приближается к ферромагнитному материалу,
изменяется расположение силовых линий постоянного магнита,
(рис. 6.8,6 и в). При от¬
сутствии движения сило¬
вые линии не изменяются
и, следовательно, в ка¬
тушке ток не индуцирует¬
ся. Однако, если в поле
постоянного магнита пе¬
ремещается ферромагнит¬
ный материал, возникаю¬
щее в результате этого
изменение силовых линий
индуцирует импульс то¬
ка, амплитуда и форма
которого пропорциональ¬
ны уровню изменения
магнитного поля.
Изменение напряже¬
ния на выходе катушки
обеспечивает эффектив¬
ное очувствление в ближ¬
ней зоне. На рис. 6.9, а
показано изменение на¬
пряжения в катушке в за¬
висимости от скорости, с
которой ферромагнетик
вводится в поле магнита.
Полярность выходного
напряжения датчика за¬
висит от того, входит
объект в поле или выхо¬
дит из него. На рис. 6.9, б
показана зависимость
амплитуды напряжения от расстояния между датчиком и объ¬
ектом. Из этого рисунка видно, что чувствительность резко па¬
дает с увеличением расстояния и датчик эффективен только
на расстояниях ~ 1 мм.
Так как для получения выходного сигнала на датчике тре¬
буется наличие относительного движения датчика и объекта,
одним из методов получения дискретного порогового сигнала
является интегрирование выходного сигнала. Пороговый сиг¬
нал остается на нижнем уровне, пока значение интеграла
Расстояние между о5ъектом и
датчиком, мм
б
Рис. 6.9. Зависимости выходного сигнала
индуктивного датчика от скорости (а) и
(б).
307
остается ниже установленного порога. После превышения по¬
рога выходной сигнал переходит на верхний уровень, что соот¬
ветствует наличию объекта в зоне измерений.
6.3.2. Датчики Холла
Из физики известно, что эффект Холла связывает напряже¬
ние между двумя точками в проводнике или полупроводнико¬
вом материале с магнитным полем, воздействующим на этот
материал. Используемые сами по себе датчики Холла могут
уловить только намагниченные объекты. Однако, если их ис¬
пользовать вместе с постоянным магнитом, как показано на
рис. 6.10, они способны установить наличие всех ферромагнит¬
ных материалов. Используемый таким образом датчик Холла
Рис. 6.Ю. Раоота датчика Холла (а), снабженного постоянным магнитом (б).
«чувствует» сильное магнитное поле при отсутствии ферромаг¬
нетика в ближней зоне (рис. 6.10, а). Если такой материал вно¬
сят в ближнюю зону действия прибора, магнитное поле на дат¬
чике ослабевает вследствие замыкания линий поля через мате¬
риал (рис. 6.10,6).
Датчики Холла основаны на возникновении силы Лоренца,
действующей на заряженную частицу, движущуюся в магнит¬
ном поле. Эта сила направлена по оси, перпендикулярной плоско¬
сти, образованной направлением движения заряженной частицы
и направлением поля. Таким образом, сила Лоренца опре¬
деляется как F = <7(vX В), где q — заряд, v — вектор скорости,
В — вектор магнитного поля, а X — знак пересечения векторов.
Предположим, например, что ток проходит через полупровод¬
ник n-типа, который находится в магнитном поле (рис. 6.11).
Помня, что электроны являются основными носителями в ма¬
308
териалах n-типа и что движение дырочного тока противопо¬
ложно потоку электронов, ясно, что сила, действующая на дви¬
жущиеся отрицательно заряженные частицы имела бы направ¬
ление, показанное на рис. 6.11. Эта сила действует на элек¬
троны, которые скапливаются в нижней части материала. Таким
образом возникает напряжение, которое в данном случае
имеет положительный знак в верхней части материала. При
внесении ферромагнетика в зону действия полупроводникового
магнитного прибора напряженность магнитного поля увеличи¬
вается. Следовательно, уменьшается сила Лоренца, и в итоге —
напряжение на полупроводнике. На этом падении напряжения
Рис. 6.11. Возникновение эффекта Холла.
t
и основан принцип измерения в ближней зоне датчиками
Холла. Дискретный выходной сигнал, определяющий наличие
объекта, реализуется пороговым ограничением выходного на¬
пряжения датчика.
Отметим, что использование таких полупроводников, как
кремний, имеет ряд преимуществ с точки зрения размеров, точ¬
ности и устойчивости к влиянию электрических помех. Кроме
того, использование полупроводниковых материалов позволяет
установить электронную схему усиления и обработки сигналов
непосредственно на датчике, уменьшая таким образом его раз¬
мер и стоимость.
6.3.3. Емкостные датчики
В отличие от индуктивных датчиков и датчиков Холла, ко¬
торые идентифицируют ферромагнитные материалы, емкостные
датчики обладают способностью (с различной степенью чувстви¬
тельности) обнаруживать все твердые и жидкие материалы.
309
Как видно из их названия, эти датчики основаны на изме¬
нении емкости, которая зависит от расстояния до поверхности
объекта в зоне действия чувствительного элемента.
электрод Изолирующая смола ллатг
Рис. 6.12. Емкостной датчик измерения в ближней зоне [38].
Основные компоненты емкостного датчика показаны на
рис. 6.12. Чувствительным элементом является конденсатор,
состоящий из чувствительного электрода и базового электрода
(ими могут быть, например, метал¬
лический диск и кольцо, разделен¬
ные диэлектриком). За емкостным
элементом обычно помещают воз¬
душную полость для обеспечения
изоляции. В состав датчика может
входить также электронная схема.
В этом случае схему заплавляют
в смолу, чтобы обеспечить ее гер¬
метичность и механическую за¬
щиту.
Существует ряд методов обна¬
ружения в ближней зоне, основан¬
ных на изменении емкости. В од¬
ном простейшем методе конденса¬
тор представляет собой элемент
Рис. 6.13. Зависимость про- колебательного контура, колебания
центного изменения емкости в котором возникают ТОЛЬКО В ТОМ
датчика в ближней зоне от СЛучае, если емкость датчика пре-
расстояния [381. J ^
^ 1 вышает заданное пороговое значе¬
ние. Колебания преобразуются за¬
тем в выходное напряжение, которое указывает на присутствие
объекта в зоне измерения. Этот метод обеспечивает дискретный
выходной сигнал, переключение которого зависит от значения
заданного порога.
В более сложном методе используется емкостной элемент
в контуре, по которому постоянно проходит синусоидальный
сигнал частоты. Изменение емкости вызывает фазовый сдвиг
310
между сигналом эталонной частоты и сигналом от емкостного
элемента. Фазовый сдвиг пропорционален изменению емкости
и, следовательно, может быть использован для обнаружения
объекта в ближней зоне.
На рис. 6.13 показано изменение емкости в зависимости от
расстояния для датчика измерения в ближней зоне, построен¬
ного по рассмотренному принципу. Следует отметить, что на
расстоянии, превышающем несколько миллиметров, чувстви¬
тельность резко падает. Форма характеристики при этом зави¬
сит от материала объекта измерения. Обычно такие датчики
работают в дискретном пороговом режиме. Изменение емкости
выше заданного порога Т соответствует наличию объекта,,
а ниже — его отсутствию в зоне, установленной величиной Т*
6.3.4. Ультразвуковые датчики
Характеристики всех рассмотренных датчиков измерения
в ближней зоне сильно зависят от материала объекта измерения.
Эта зависимость может быть в значительной степени умень¬
шена путем использования ультразвуковых датчиков, работа
которых при измерении расстояния была кратко рассмотрена
Металлический
Рис. 6.14. Ультразвуковой датчик измерения в ближней зоне [39].
в разд. 6.2.3. В данном разделе более подробно рассмотрены
конструкции и работа этих датчиков, а также проиллюстриро¬
вано их использование для измерений в ближней зоне.
На рис. 6.14 показана структура типичного ультразвукового
преобразователя, используемого для измерения в ближней
зоне. Основным элементом является электроакустический пре¬
образователь, в качестве которого часто используется пьезо¬
электрический керамический элемент. Подложка из смолы
защищает преобразователь от влажности, пыли и других внеш¬
них воздействий. Она служит также как переходное акустиче¬
31L
ское сопротивление. Поскольку один и тот же преобразователь
используется обычно как для передачи, так и для приема сиг¬
налов, для обнаружения объектов в ближней зоне необходимо
быстрое демпфирование акустической энергии. Это достигается
путем применения акустических поглотителей и развязкой пре¬
образователя от корпуса. Конструкция корпуса позволяет по¬
лучать узкий акустический поток, дающий мощный и направ¬
ленный сигнал.
Для лучшего понимания работы ультразвукового датчика
измерителя в ближней зоне надо провести анализ сигналов,
используемых как для передачи, так и для приема акустиче¬
ской энергии. Типичный вид таких сигналов представлен на
А
В
С
D
Е
F
о\
At Излучаемый
сигнал
Л
л
Возвращенный сигнал
л_
j—ТЛг
cU~U LJ LTLI LILT*
- ;-.'ТОД
о'А-
Рис. 6.15. Сигналы, используемые в ультразвуковом датчике измерения в
ближней зоне [39].
рис. 6.15. Сигнал А является запорным сигналом, используемым
для управления посылаемыми сигналами. Сигнал В содержит
выходной и отраженный сигналы. Импульсы С выделяют сиг¬
налы передачи или приема. Для того чтобы установить разли¬
чие между импульсами, соответствующими посылаемой и от¬
раженной энергии, вводятся временные окна (сигнал D), на
которых основывается принцип измерения датчика. Временной
интервал At является минимальным временем измерения, а
At\At2—максимальным. Можно отметить, что эти времен¬
ные интервалы соответствуют прохождению определенных рас¬
стояний со скоростью распространения звука в используемой
рабочей среде. После получения отраженного сигнала (в то
время как сигнал D имеет максимальное значение) вырабаты¬
вается сигнал Е, величина которого принимает нулевое значе¬
ние после окончания действия передающего импульса А. Нако¬
312
нец, сигнал F вырабатывается при появлении положительного
импульса Е и сбрасывается в случае отсутствия сигнала Е
и появления импульса А. Таким образом, сигнал F будет иметь
максимальное значение при наличии объекта на расстоянии,
определяемом параметрами сигнала D, т. е. сигнал F является
выходным сигналом ультразвукового датчика, работающего в
бинарном режиме.'
6.3.5. Оптические датчики измерения в ближней зоне
Оптические датчики измерения в ближней зоне подобны
ультразвуковым датчикам в том смысле, что они определяют
близость объекта по его влиянию на волновой сигнал, прохо¬
дящий от источника к приемнику. Один из наиболее распро¬
страненных методов измерения расстояния в ближней зоне
с помощью оптических средств показан на рис. 6.16. Датчик
состоит из светодиода, который выполняет роль источника ин-
Сбетодиод //еоедсидшие
Рис. 6.16. Оптический датчик измерения в ближней зоне [251].
фракраского излучения, и фотодиода, используемого в качестве
приемника. Пучки света, сформированные фокусными система¬
ми источника и приемника в одной плоскости, пересекаются
в вытянутой конусовидной зоне. Эта зона определяет рабочий
диапазон датчика, так как отражающая поверхность, которая
находится в зоне, освещается источником и одновременно «про¬
сматривается» приемником.
Хотя данный метод в принципе похож на метод триангуля¬
ции, рассмотренный в разд. 6.2.1, необходимо отметить, что зона
измерений, показанная на рис. 6.16, обеспечивает не только
точечное измерение. Другими словами, поверхность, находя¬
щаяся в любом месте указанной зоны, будет идентифицирована.
Для объекта с известной ориентацией и характеристиками от¬
ражения можно осуществить калибровку интенсивности изобра¬
жения в функции расстояния, однако обычно систему, приве¬
денную на рис. 6.16, используют в режиме, при котором фор-
зщ
мируется дискретный выходной сигнал при достижении интен¬
сивности отраженного потока определенного порогового зна¬
чения.
€.4. ТАКТИЛЬНЫЕ ДАТЧИКИ
Тактильные датчики используются в робототехнике для по¬
лучения информации о контакте манипулятора с объектами в
рабочем пространстве. Тактильная информация может, исполь¬
зоваться, например, для определения местоположения объекта
или его распознавания, а также для управления усилием за¬
хватного устройства, воздействующим на объект манипулиро¬
вания. Тактильные датчики подразделяются на два основных
типа: дискретные и аналоговые. Дискретные датчики, как пра¬
вило, срабатывают при наличии или отсутствии объекта, в то
время как выходной сигнал аналоговых датчиков пропорциона¬
лен прикладываемому усилию. Более подробно эти датчики
рассматриваются в следующих разделах.
6.4.1. Дискретные пороговые датчики
Как было отмечено, дискретные тактильные датчики яв¬
ляются контактными приборами типа микропереключателей.
В простейшем случае переключатель размещается на внутрен-
Рис. 6.17. Простой схват Рис. 6.18. Типичный аналоговый тактиль-
робота с бинарными так- ный датчик,
тильными датчиками.
ней поверхности каждого пальца манипулятора (рис. 6.17).
Этот вариант очувствления используется для определения на¬
личия детали между пальцами схвата. Перемещая манипулятор
над объектом и последовательно производя контактирование
314
с его поверхностью, можно также осуществить центрирование
манипулятора относительно объекта для его захвата и переноса.
Путем размещения нескольких дискретных тактильных дат¬
чиков на внутренней поверхности каждого пальца схвата дости¬
гается расширение получаемого объема информации. Кроме
того, они часто ставятся на внешней поверхности конечного-
звена манипулятора для получения управляющих сигналов, ис¬
пользуемых при формировании траектории движения манипуля¬
тора в рабочем пространстве. Последний вариант аналогичен
использованию тактильной информации человеком, проходя¬
щим через абсолютно темную комнату.
6.4.2. Аналоговые датчики
Аналоговый тактильный датчик является регистрирующим
прибором, выходной сигнал которого пропорционален прикла¬
дываемой силе. Простейший из таких приборов состоит из под¬
пружиненного стержня (рис. 6.18), который механически связан
с вращающейся осью. Горизонтальная сила, действующая на
стержень, преобразуется в пропорциональный поворот оси. Этот
поворот непрерывно измеряется с помощью потенциометра
или кодовым устройством с дискретным выходом. При извест¬
ной жесткости пружины сила соответствует указанному переме¬
щению.
В последние годы значительное внимание уделяется разви¬
тию систем тактильного очувствления, способных получать
больший объем информации, чем один датчик. Использование
таких систем проиллюстрировано на рис. 6.19, где показан
схват робота, на внутренней поверхности каждого пальца кото¬
рого размещается матрица тактильных датчиков. Внешние чув¬
ствительные поверхности схвата обычно выполняются в виде
дискретных устройств.
Хотя чувствительные матрицы могут выполняться из неко¬
торого множества отдельных датчиков, одним из перспектив¬
ных направлений здесь является использование электродов из.
проводящих материалов (например, на графитовой основе), со¬
противление которых меняется в зависимости от величины дав¬
ления. В таких устройствах, обычно называемых «искусствен¬
ной кожей», давление от объекта вызывает соответствующие
деформации, которые измеряются как непрерывно меняющееся
сопротивление. Изменение сопротивления легко преобразуется
в электрический сигнал, амплитуда которого пропорциональна
силе, действующей на соответствующую точку поверхности ма¬
териала.
Несколько основных методов, используемых при создании
искусственной кожи, показаны на рис. 6.20. Схема, приведенная
на рис. 6.20, а, основана на эффекте «окна», проявляемом про¬
315-
водящим материалом, помещенным между общим корпусом и
системой электродов, выполненных на стеклокерамической пе¬
чатной плате. Каждый электрод представляет собой прямо¬
угольное поле—«окно», которое идентифицирует одну точку
касания. Сила тока от общего корпуса к каждому электроду
зависит от давления на проводящий материал.
В методе, показанном на рис. 6.20,6, пара длинных и узких
электродов размещена в плоскости активных электрических
контуров с использованием СБИС-технологии. Проводящий ма¬
териал находится над этой плоскостью и изолирован от нее по
Рис. 6.19. Схват робота, оснащенный матрицами тактильных датчиков.
всей поверхности, кроме поверхности электродов. Давление от
объекта изменяет сопротивление электродов, которое затем
преобразуется с помощью электронных контуров, размещенных
между электродными парами в сигналы тока или напряжения.
Другая возможная реализация приведена на рис. 6.20, а.
Проводящий материал располагается между двумя взаимно
перпендикулярными наборами тонких, плоских и гибких элек¬
тродов. Каждое пересечение между ними, разделенное проводя¬
щим материалом, представляет собой одну чувствительную
точку. Изменение сопротивления в функции давления изме¬
ряется путем смещения электродов одного набора и изменения
тока в элементах второго набора. Величина тока в каждом из
этих элементов пропорциональна давлению между неподвиж¬
ным элементом и элементом, смещаемым внешней силой.
Наконец, система, показанная на рис. 620,г, построена
с использованием анизотропного проводящего материала. Эти
316
\ '
материалы обладают односторонней проводимостью. В основа¬
нии датчика расположена система плоских электродов, а свер¬
ху находится проводящий материал, направление проводимости
которого перпендикулярно осям электродов. Проводящий мате¬
риал отделен от электродов сеткой для его изоляции при от¬
сутствии внешней силы. Когда приложена внешняя сила, проис¬
ходит контакт между материалом и электродами. Возрастание
Проводящий.
' материал
Общий
корпус
* ПаРа „
Чубствителй - электродов
ные электроды
Актибкбш
контур
Резиновая
Рис. 6.20. Четыре метода реализации искусственной кожи.
силы приводит к увеличению площади контакта и уменьшению
Сопротивления. Как и в предыдущем методе, один из'элементов
чувствительной системы перемещается под действием внешней
силы, а на втором производится измерение тока. Необходимо
отметить, что чувствительность такого датчика зависит от тол¬
щины сепаратора.
Рассмотренные методы (рис. 6.20, в и г) основаны на соответ¬
ствующем смещении элементов чувствительной системы. Это
часто приводит к трудностям при получении тактильной инфор-
317
мации со сложных деталей, поскольку пересечение электриче¬
ских контуров индуцирует помехи в виде обратных токов. Од¬
ним из решений этой проблемы является установка диодов
в каждом контуре, исключающих прохождение обратных токов.
Другое решение заключается в заземлении всех контуров, кро¬
ме перемещаемого контура. Вклад каждого элемента пересече¬
ния можно выявить путем индивидуального контроля всех кон¬
туров принимающей системы.
Все рассмотренные тактильные датчики измеряют силы,
перпендикулярные к чувствительной поверхности датчика.
Лр ос кальзй/8акие объекта
Рис. 6.21. Устройство для определения величины и направления проскальзы¬
вания [18].
Определение проскальзывания путем измерения тангенциаль¬
ного движения является другой важной задачей тактильного
очувствления. В заключение кратко рассмотрим один из мето¬
дов такого очувствления [18]. Реализация метода (рис. 6.21)
включает свободно вращающийся зубчатый шар, который от¬
клоняет тонкий стержень, установленный на оси проводящего
диска. Под диском равномерно расположены электрические
контакты. Вращение шара, вызванное проскальзыванием по
нему объекта, приводит к вибрации стержня и диска с частотой,
пропорциональной скорости вращения шара. От направления
вращения зависит, какой контакт будет задействован вибри¬
рующим диском. Усредненное направление проскальзывания
определяется по импульсам в соответствующих выходных элек¬
трических контурах.
318
6.5. СИЛОМОМЕНТНОЕ ОЧУВСТВЛЕНИЕ
Силомоментные датчики используются в основном для опре¬
деления сил реакции, возникающих при механической сборке.
Основные методы в этой области направлены на очувствление
сочленений и схвата робота. Возможно также очувствление,
при котором силовой преобразователь устанавливается между
основанием робота и установочной поверхностью для измерения
компонентов сил и моментов, действующих на основание. Од¬
нако в большинстве случаев основание жестко устанавливается
на твердой поверхности, и в подобного рода очувствлении не
возникает необходимости. Указанное очувствление аналогично
очувствлению схвата, которое подробно рассматривается в дан¬
ном разделе.
Датчик сочленения измеряет в декартовых координатах
силы и моменты, которые действуют на робот, и производит их
векторное сложение. Для сочленения, перемещаемого с по¬
мощью двигателя постоянного тока, очувствление производится
простым измерением тока якоря. Датчики схвата, которые рас¬
смотрены в данном разделе, размещаются между конечным
звеном манипулятора и схватом. Они состоят из измерителей
напряжений, которые определяют отклонение механической си¬
стемы под действием внешних сил. Характеристики и методоло¬
гический анализ этого типа датчиков рассматриваются в дан¬
ном разделе.
6.5.1. Элементы датчика схвата, встроенного в запястье
Датчики схватов представляют собой небольшие, чувстви¬
тельные, легкие (~370 г) н относительно компактные кон¬
струкции диаметром 10 см и толщиной 3 см с динамическим
диапазоном до 90 кг. Для уменьшения гистерезиса и увеличе¬
ния точности измерения датчик обычно выполняется из одной
твердой металлической заготовки (как правило, алюминиевой).
Например, датчик, показанный на рис. 6.22, содержит восемь пар
полупроводниковых измерителей напряжения, установленных на
четырех отклоняющихся стержнях — по одному измерителю на
каждой стороне стержня. Измерители с противоположных кон¬
цов отклоняющихся стержней подсоединены дифференциально
к потенциометрическому контуру, выходное напряжение на ко¬
тором пропорционально компонентам сил, нормальным к пло¬
скости измерителей. Дифференциальное включение измерителей
напряжения обеспечивает автоматическую компенсацию измене¬
ний температуры.
Однако это является лишь первичной грубой компенсацией.
Так как восемь пар измерителей напряжения расположены
нормально к осям х, у и z системы координат сил, три компо¬
319
ненты силы F и три компоненты момента М могут быть опре¬
делены соответствующим сложением или вычитанием выход¬
ных напряжений. Это может быть выполнено с использова¬
нием матрицы калибровки датчика (см. разд. 6.5.2).
Большинство силовых датчиков схватов функционирует как
преобразователи сил и моментов, действующих на манипуля¬
тор, в измеряемые отклонения или перемещения в схвате.
Важно, чтобы движения в схвате, производимые силовым дат¬
чиком, не влияли на точность позиционирования манипулятора.
Таким образом, требования к датчикам можно сформулировать
следующим образом.
Измерители Отклоняющиеся
Лстроенный в запястье
Рис. 6.22. Силовой датчик схвата, встроенный в запястье.
1. Высокая жесткость. Частота собственных колебаний ме¬
ханического устройства связана с его жесткостью, следова¬
тельно, высокая жесткость обеспечивает быстрое демпфирова¬
ние возникающих колебаний при измерении сил и точность
показаний на коротких временных интервалах. Кроме того, это
снижает величину отклонений от действия сил и моментов, ко¬
торая может привести к ошибке позиционирования манипуля¬
тора.
2. Компактность конструкции. Это позволяет облегчить дви¬
жение манипулятора в условиях навала деталей, а также
уменьшить вероятность столкновения датчика с объектами, на¬
ходящимися в рабочем пространстве. Компактный датчик
можно размещать ближе к расположенному в схвате техноло¬
гическому оборудованию, благодаря чему уменьшается ошибка
позиционирования оборудования из-за неадекватности рабочих
условий оборудования и датчика. Кроме того, желательно рас¬
ширить диапазон измерения сил и моментов. Этому способствует
минимизация расстояния между манипулятором и датчиком, при¬
320
водящая к уменьшению величины рычага прикладываемых к
манипулятору сил.
3. Линейность. Хорошая линейность выхода чувствительных
элементов бт прикладываемых сил и моментов позволяет выде¬
лить силы и моменты с помощью простых матричных операций.
Кроме того, упрощается процесс калибровки датчика силы
(разд. 6.5.2).
4. Малые величины гистерезиса и внутреннего трения. Внут¬
реннее трение уменьшает чувствительность измерительных эле¬
ментов. Это также уменьшает гистерезисные эффекты при воз¬
вращении измерительного прибора в исходное положение.
Силовой датчик схвата, показанный на рис. 6.22, спроекти¬
рован с учетом указанных требований.
6.5.2. Выделение сил и моментов
Предположим, что взаимовлияние различных измерителей
пренебрежимо мало, силовой датчик схвата работает в диапа¬
зоне упругих деформаций и измерители напряжения дают пока¬
зания, которые линейно зависят от их отклонений. Тогда датчик
(рис. 6.22) выдает восемь рядов измерений, которые должны
быть обработаны программным путем на ЭВМ с использованием
простого метода выделения трех ортогональных компонент сил
и моментов относительно системы координат датчика силы. Та¬
кая обработка может быть реализована путем определения мат¬
рицы размерностью 6X8, называемой матрицей разделения
силы (или матрицей калибровки датчика) Rf, которая состав¬
ляется на основе измерений силы для выделения трех ортого¬
нальных компонент силы и момента. В соответствии с рис. 6.22
разделяемый вектор силы, направленный вдоль координатных
осей датчика силы, математически представляется в виде
F = RfW, (6.5-1)
где
F 2= (силы, моменты)7" = (Fx, Fy, Fz, Мх> Му, Мг)т,
\У = (ряд измерений) = (да,, w2, w3, ..., ws)T,
и
Г Hi ••• Не 1
Rf = I • • • • ■ (6.5-2)
L Hi ■ • • Ha J
В выражении (6.5-2) щ-ФО — являются членами, требую¬
щими преобразования ряда измерений W (в вольтах) в силы
и моменты (в ньютонах и ньютонах на метр соответственно).
Если пренебречь взаимовлиянием измерителей, то, суммируя
(согласно рис. 6.22) силы и моменты относительнб начала ко¬
ординат датчика, размещенного в центре датчика силы, полу¬
11 к. Фу и др.
321
чим выражение (6.5-2) с некоторыми щ, равными нулю. Для
датчика, представленного на рис. 6.22, матрица разделения
силы по уравнению (6.5-2) примет вид
~0
0
г 13
0
0
0
Г\1
0
Г 21
0
0
0
г 25
0
0
0
0
Т32
0
Г34
0
Гзб
0
Г 38
0
0
0
Г44
0
0
0
Га&
0
^52
0
0
0
г 56
0
0
_Гб1
0
Г 63
0
г 65
0
Г67
0
Довольно частое предположение об отсутствии взаимосвязи
измерителей не соответствует действительности. Для некоторых
датчиков силы соответствующая погрешность измерений дости¬
гает 5%. Таким образом, на практике обычно необходимо за¬
менять матрицу разделения силы на матрицу, содержащую
48 ненулевых элементов. Такая «полная» матрица используется
для калибровки датчика силы (разд. 6.5.3). Разделенный вектор
силы F используется для получения ошибки, необходимой для
выработки сигнала управления манипулятором. Недостатком
использования силового датчика схвата, встроенного в запястье,
является то, что он обеспечивает измерение векторов силы,
разделяемых в процессе контакта элементов при сборке только
в одной точке.
6.5.3. Калибровка датчика
Целью калибровки силового датчика схвата, встроенного
в запястье, является определение всех 48 неизвестных элемен¬
тов матрицы разделения силы (уравнение (6.5-2)) на основе
экспериментальных данных. В связи с наличием взаимовлияния
контуров датчика необходимо найти 48 ненулевых элементов
в матрице Rf. Калибровка силового датчика схвата произво¬
дится путем определения псевдообратной матрицы калибровки
RJ., которая удовлетворяет соотношениям
W = R^F (6.5-4)
И RrRf = I8X8- (6.5-5)
где Rp —- матрица размерностью 8 X 6, а 18х8 — единичная мат¬
рица размерностью 8X8. Тогда матрица калибровки RJ1 из
уравнения (6.5-1) может быть найдена из псевдообратной мат¬
рицы в уравнении (6.5-4) с использованием метода наименьших
322
квадратов. Перемножая уравнение (6.5-4) на (Rf)4 получаем
TOrW-[(R>/R^]F. (6.5-6)
(6.5-7)
Сравнивая уравнения (6.5.1) и (6.5.7), получим
(6.5-8)
Матрица RJ. может быть определена путем расстановки из¬
вестных весовых коэффициентов при векторах, расположенных
вдоль осей системы координат датчика. Подробно эксперимен¬
тальный процесс калибровки матрицы разделения силы изложен
в работе [264].
6.6. ЗАКЛЮЧЕНИЕ
Материал, представленный в данной главе, характеризует
уровень развития области создания датчиков роботов, дающих
информацию о внешней среде. Однако надо отметить, что воз¬
можности таких датчиков гораздо более ограничены, чем чело¬
веческие возможности в этом плане.
Как отмечалось в начале данной главы, большинство совре¬
менных промышленных роботов функционирует по заранее за¬
данной жесткой программе без использования обратной связи
от датчиков. Повышение интереса к гибким автоматизированным
производствам привело к развитию робототехнических систем,
управляемых с помощью датчиков, как к средству расширения
области применения этих машин. Таким образом, совершенст¬
вование датчиков представляет собой динамично развивающую¬
ся область с использованием известных из литературы новых
методов и технологий.
Литература
Обзорными статьями по робототехнике являются [18, 91,
195, 197, 251]. Материалы по лазерным измерителям расстояний
имеются в работах [67, 137, 138]. Продолжение материала, из¬
ложенного в разд. 6.3, находится в работах [38—40, 271], а в
разд. 6.4—в работах [113, 120, 187, 241], а также в работах
[22, ПО, 195]. Датчики для основания робота (разд. 6.5) рас¬
сматриваются в работе [63]. Дополнительные сведения по сило-
моментному очувствлению можно найти в работах [196, 210, 264,
313].
и* 32а
Упражнения
8.1. Докажите справедливость выражения (6.2-8).
6.2. Датчик измерения расстояния по времени прохождения сигнала осве¬
щает рабочее пространство с двумя объектами, имеющими изображение, по¬
казанное на телеэкране (рис. 6.23). Предполагая, что измерительная система
расположена согласно рис. 6.3, б и что М = 256, D0 = 1м, Dc = 2 м, В — 3 м,
ц а X = 35 мм, определите расстояние
У между объектами в направлении све¬
тового луча.
6.3. а) Гелий-неоновый лазер с
непрерывным излучением (длина вол¬
ны 632,8 мм), используемый для из¬
мерения расстояния, имеет модулиро¬
ваний сигнал с частотой 30 мГц.
Какое расстояние до объекта соот¬
ветствует фазовому сдвигу 180°?
б) Какова верхняя граница диа¬
пазона измерения расстояния, на
котором прибор дает однозначные по¬
казания?
6.4. Определите верхнюю границу
частоты модулирующего сигнала для
обеспечения диапазона измерения до
5 м при использовании измерителя
расстояний на базе лазера с непре¬
рывным излучением.
6.5. а) Предположим, что точ¬
ность лазерного измерителя расстоя¬
ний снижается шумом с гауссовским
распределением, имеющим нулевое
среднее значение и стандартное отклонение 100 см. Сколько измерений необ¬
ходимо усреднить, чтобы получить точность ±0,5 см с вероятностью 0,95?
б) Как изменится количество измерений, если среднее значение шума будет
5 см?
6.6. Используя рис. 6.15, покажите вид сигналов ультразвукового датчика,
способного измерять расстояние, а не только выдавать бинарный выходной
сигнал в ближней зоне действия.
6.7. Предположим, что ультразвуковой датчик измерения используется
для определения нахождения объекта в зоне 0,5 м. В момент t = 0 преобра¬
зователь выдал импульс длительностью 0,1 мс. Предположим также, что для
гашения резонансных колебаний в преобразователе требуется 0,4 мс, а в
окружающей среде — 20 мс. Скорость звука равна 344 м/с.
а) Какой интервал времени можно использовать в качестве окна?
б) Через какое время прибор может выдать повторный импульс?
в) Каково минимально измеряемое расстояние?
6.8. Оптический датчик расстояний (рис. 6.16) имеет зону чувствитель¬
ности, сформированную пересечением двух одинаковых лучей. Конус, обра¬
зуемый каждым лучом, начинается на линзах и имеет вершину, расположен¬
ную в 4 см напротив центра противоположной линзы. В какой зоне датчик
обнаруживает объект, если каждая из линз имеет диаметр 4 мм, а центры
линз разнесены на 6 мм? Предполагается, что объект может быть обнару¬
жен в любом месте зоны чувствительности.
6.9. Измерительная система размерностью 3X3 тактильного датчика
сканируется путем смещения по рядам, значение элементов которых равно
5 В. Столбцы считываются путем закорачивания их элементов на корпус и
измерения тока. Предположим, что несмещенные ряды и несчитанные столбцы
обладают высоким сопротивлением. Действие силы иа систему приводит к
появлению следующих величии сопротивлений иа каждом пересечении элек¬
Рис. 6.23.
324
тродов (ряд, столбец): 100£2 на (1,1), (1,3), (3,1) я (3,3), 50 Q на (2,2) и
(3,2). Все другие пересечения имеют бесконечно большое сопротивление.
Определите ток, измеренный в каждом пересеченяи ряда и столбца в Систем!,
учитывая их взаимовлияние.
6.10. Рассмотрите упр. 6.9 в предположении:
а) все несмещенные ряды и'столбцы закорочены на корпус;
б) в каждом соединении установлен диод (0,6 В) с сопротивлением.
6.11. На роботе Пума с плоскопараллельным движением схвата установ¬
лен датчик силы. Произведена процедура калибровки для получения мат¬
рицы Rf. После завершения всех измерений на роботе был заменен схват.
Есть ли необходимость повторной калибровки силового датчика схвата?
Обоснуйте ответ.
Глава 7.
СИСТЕМЫ ТЕХНИЧЕСКОГО ЗРЕНИЯ
НИЗКОГО УРОВНЯ
Лучше один раз увидеть, чем сто
раз услышать.
Пословица
7.1. ВВЕДЕНИЕ
«Зрительные» возможности робота, как и людей, обеспечиваются
сложным чувствительным механизмом, который позволяет гибко
и «осмысленно» реагировать на изменения внешней среды. Ис¬
пользование технического зрения и других методов очувствле¬
ния, рассмотренных в гл. 6, диктуется постоянной необходи¬
мостью повышать гибкость и расширять области применения
робототехнических систем. Хотя датчики расстояния, тактильные
датчики и датчики силы играют большую роль в совершенство¬
вании функционирования робота, техническое зрение является
наиболее мощным источником информации для робота. Измери¬
тельные системы, методы измерения и оборудование при ис¬
пользовании технического зрения имеют гораздо больше возмож¬
ностей, чем при использовании датчиков, работа которых описа¬
на в гл. 6.
Зрение робота можно определить как процесс выделения,
идентификации и преобразования информации, полученной из.
трехмерных изображений. Этот процесс, называемый также тех¬
ническим или машинным зрением, разделяется на шесть основ¬
ных этапов: 1) снятие информации, 2) предварительная обра¬
ботка информации, 3) сегментация, 4) описание, 5) распознава¬
ние, 6) интерпретация. Снятие информации представляет собой
процесс получения визуального изображения. Предварительная
обработка информации заключается в использовании таких ме¬
тодов как понижение шума или улучшение изображения отдель¬
ных деталей. Сегментация — процесс выделения на изображении
интересующих объектов. При описании определяются характер¬
ные параметры (например, размеры или форма), необходимые
для выделения требуемого объекта на фоне других. Распозна¬
вание представляет собой процесс идентификации объектов (на¬
пример, гаечного ключа, болта, блока двигателя). Наконец, ин¬
терпретация выявляет принадлежность к группе распознаваемых
объектов.
326
Названные этапы удобно сгруппировать в соответствии со
сложностью их реализации. Выделим три уровня технического
зрения: низкий, средний и высокий. Хотя четких границ между
этими уровнями не существует, их выделение целесообразно для
классификации различных процессов, характерных для систем
технического зрения. Например, под низким уровнем техниче¬
ского зрения понимаются такие процессы, которые являются
простыми с точки зрения осуществления автоматических дейст¬
вий, не требующих наличия искусственного интеллекта. К низ¬
кому уровню технического зрения мы будем также относить
снятие и предварительную обработку информации. Таким обра¬
зом, этот уровень охватывает процессы, начиная непосредственно
от формирования изображения и кончая процессами компен¬
сации, такими, как уменьшение шума, а также процессами выде¬
ления простейших параметров изображения, такими, как раз¬
рывы интенсивности. Подобные действия можно сравнить с дей¬
ствиями человека, пытающегося найти свое место в темном зале
кинотеатра, в который он зашел прямо с яркого дневного света.
Осмысленный процесс нахождения незанятого места не может
начаться до того, как будет получено соответствующее изобра¬
жение пространства.
Под средним уровнем технического зрения понимаются про¬
цессы выделения, идентификации и разметки элементов изобра¬
жения, полученного на нижнем уровне. С учетом принятого
подразделения технического зрения к среднему уровню отно¬
сятся сегментация, описание и распознавание отдельных объек¬
тов.
Под высоким уровнем технического зрения понимаются про¬
цессы, относящиеся к искусственному интеллекту. В то время
как алгоритмы, используемые на нижнем и среднем уровнях
технического зрения, разработаны достаточно хорошо, знание и
понимание процессов высокого уровня пока еще недостаточны.
В соответствии с изложенным в гл. 8 это приводит к введению
ограничений и предположений для уменьшения сложности за¬
дачи.
Рассмотренную классификацию можно использовать в основ¬
ном для всех видов применяемых систем технического зрения.
Это не означает, что она может служить моделью человеческого
зрения и в то же время не связана с ним. Известно, например,
что распознавание и интерпретация для человека представ¬
ляют собой взаимосвязанные функции. Однако наличие этих
•связей не определяет возможностей их аналитического моде¬
лирования. Таким образом, приведенная классификация функ¬
ций может рассматриваться как практический t метод реа¬
лизации систем технического зрения, отражающий наш уро¬
вень понимания и владения аналитическими подходами в этой
области.
327
В главе описаны получение изображения, его предваритель¬
ная обработка, а также идеи и методы реализации функций,
осуществляемых на низком уровне технического зрения. Верх¬
ний (высокий) уровень технического зрения рассмотрен в гл. 8.
Хотя зрение отражает объемное трехмерное пространство, в си¬
стемах технического зрения используется только его плоское изо¬
бражение, объемную информацию из которого получают с помо¬
щью специальных методов, таких, как метод структурного осве¬
щения (разд. 7.3) или стереоизображения (разд. 7.4).
7.2. ПОЛУЧЕНИЕ ИЗОБРАЖЕНИЯ
s
Визуальная информация преобразуется в электрические сиг¬
налы с помощью видеодатчиков. После пространственной дис¬
кретизации и квантования по амплитуде эти сигналы дают циф¬
ровое изображение. Ниже рассмотрены основные методы полу¬
чения изображения при использовании технического зрения в
роботах, влияние дискретизации на пространственное разделе¬
ние и влияние квантования по амплитуде на разделение по ин¬
тенсивности. Математический аппарат формирования изображе¬
ния описан в разд. 7.4.
Основными устройствами, используемыми в техническом зре¬
нии роботов, являются телевизионные камеры, состоящие из
электронной трубки или твердотельного чувствительного элемен¬
та с соответствующими электронными блоками. Хотя подробное
изучение этих устройств не входит в рамки данной книги, мы
рассмотрим принцип работы трубки видикон, которая представ¬
ляет семейство телевизионных камер. Твердотельные чувстви¬
тельные элементы будут представлены приборами с зарядовой
связью (ПЗС). Они обладают рядом преимуществ перед элект¬
ронными трубками (например, имеют меньшие вес и размеры,
больший ресурс и малую энергоемкость). Однако разрешающая
способность некоторых трубок пока выше возможностей твердо¬
тельных камер.
Трубка видикон представляет собоой цилиндрическую стек¬
лянную оболочку, содержащую с одного конца электронную пуш¬
ку, а с другого — экран и мишень (рис. 7.1, а). Электронный луч
фокусируется и отклоняется с помощью напряжения, приклады¬
ваемого к катушкам. Отклоняющий контур обеспечивает скани¬
рование луча по внутренней поверхности мишени для «считыва¬
ния» изображения. Внутренняя поверхность стеклянного экрана
покрыта прозрачной металлической пленкой, которая образует
электрод, формирующий электрический видеосигнал. На метал¬
лическую пленку нанесен тонкий фоточувствительный слой ми¬
шени. Этот слой состоит из мелких шаровидных частиц, сопро¬
тивление которых обратно пропорционально интенсивности све¬
тового потока. За фоточувствительной мишенью расположена
328
положительно заряженная тонкая проволочная решетка, кото¬
рая тормозит электроны, испускаемые пушкой, так что они попа¬
дают на мишень со скоростью, близкой к нулю.
В нормальном режиме на металлическое покрытие экрана
подается положительный потенциал. При отсутствии света фо-
точувствительный материал ведет себя как диэлектрик, так как
Прозрачное метал¬
лическое покрытие
Отклоняющая
катушка а
Рис. 7.1. Схема трубки видикон (а) и сканирование электронным лучом (б).
потенциал на внутренней поверхности мишени, вызываемый
электронным лучом, компенсируется положительным зарядом на
металлическом покрытии. Таким образом, при сканировании
электронного луча по поверхности мишени фоточувствительный
слой становится накопителем отрицательного заряда на внутрен¬
ней поверхности и положительного заряда на внешней поверх¬
ности. Когда на поверхностный слой мишени попадает свет, его
329
сопротивление падает и появляется электрический ток, нейтра¬
лизующий положительный заряд. Так как поток электронов
пропорционален величине светового потока в каждой точке ми¬
шени, на поверхностном слое мишени образуется изображение,
соответствующее световому изображению на экране трубки, т. е.
остаточная концентрация электронных зарядов выше в темных
местах и ниже в светлых местах мишени. Таким образом, в про¬
цессе сканирования мишени образуется ток в металлическом
слое, который подается на выводы трубки. Величина тока про¬
порциональна числу перемещающихся электронов и, следова¬
тельно, интенсивности светового потока в соответствующем ме¬
сте, по которому проходит сканирующий луч. Это изменение
тока во время сканирования электронного луча после его обра¬
ботки в электронном блоке камеры формирует видеосигнал,
пропорциональный интенсивности входного изображения.
Основной стандартный вариант сканирования, используемый
в США, показан на рис. 7.1,6. Электронный луч сканирует по
всей поверхности мишени 30 раз в 1 с. Полный объем сканиро¬
вания (называемый кадром) состоит из 525 линий, 480 из кото¬
рых содержат информацию об изображении. Если линии скани¬
ровать последовательно, а результат подавать на телевизионный
монитор, то изображение будет заметно дрожать. Это можно
устранить, используя механизм сканирования, при котором кадр
делится на две соединенные области по 262,5 линии. Они скани¬
руются 60 раз в 1 с, т. е. с удвоенной скоростью. Первая область
в каждом кадре сканируется по нечетным линиям (показаны
штрихами на рис. 7.1,6), в то время как вторая область скани¬
руется по четным линиям. Данная схема сканирования, соответ¬
ствующая соглашению по сканированию RETMA, является
стандартной для телепередач в США. Другие стандарты приме¬
няются при использовании более высоких скоростей сканирова¬
ния кадра, но принцип их действия по существу совпадает с
описанным. Например, распространенный метод сканирования в
машинном зрении и при получении цифрового изображения ос¬
нован на применении 559 линий, 512 из которых содержат дан¬
ные об изображении. Работа с числами в виде целых степеней
числа 2 имеет ряд преимуществ как в аппаратной, так и в про¬
граммной реализации.
При рассмотрении устройств на ПЗС удобно подразделить
датчики на два типа: датчики линейного сканирования и датчи¬
ки с плоскостной структурой. Основной частью ПЗС-датчиков
является ряд кремниевых чувствительных элементов, называе¬
мых фотоячейками. Фотоны от отображаемого объекта проходят
через входную прозрачную поликристаллическую кремниевую
структуру и абсорбируются в кристалле кремния, образуя пары
электрон — дырка. Полученные фотоэлектроны собираются на
фотоячейках, при этом величина заряда на каждой фотоячейке
330
пропорциональна соответствующей интенсивности светового по¬
тока. Типичный датчик линейного сканирования (рис. 7.2, а) со¬
стоит из ряда фоточувствительных элементов, из двух шин, ис¬
пользуемых для передачи содержимого с фоточувствительных
элементов в транспортные регистры, а также из выходной шины,
служащей для передачи содержимого из транспортных регистров
на усилитель. На выходе усилителя формируется сигнал напря¬
жения, величина которого пропорциональна содержимому фото¬
ячеек.
331
ПЗС-датчики с плоскостной структурой аналогичны датчикам
линейного сканирования с тем отличием, что в них фотоячейки
расположены в форме матрицы, а между рядами фотоячеек
имеется комбинация переходных транспортных регистров
(рис. 7.2,6). Информация с нечетных номеров фотоячеек посту¬
пает последовательно в вертикальные транспортные регистры, а
затем — в горизонтальный транспортный регистр. Информация
с этого регистра поступает на усилитель, выход которого сопря¬
жен с видеоканалом. Повторение данного процесса для фото¬
ячеек с четными номерами относит¬
ся к обработке второй области те¬
левизионного кадра. Такое «скани¬
рование» производится 30 раз в 1 с.
Камеры с линейным сканирова¬
нием воспроизводят, естественно,
только одну линию входного изо¬
бражения. Эти камеры удобно ис¬
пользовать в случае движения объ¬
екта относительно датчика (напри¬
мер, болтов на конвейере). Движе¬
ние объекта в направлении, перпен¬
дикулярном датчику, дает двумер¬
ное изображение. Нередко исполь¬
зуются датчики линейного скани¬
рования с разрешающим диапазо¬
ном, включающим 256—2048 эле¬
ментов. Разрешающая способность
датчиков с плоскостной структурой
составляет 32X32 элементов на
нижней границе и 256X 256 элементов для средних диапазонов.
Современные промышленные устройства с высокой разрешаю¬
щей способностью содержат 480X380 элементов, а эксперимен¬
тальные ПЗС-датчики имеют 1024 X 1024 элементов и больше.
Обозначим через f(x, у) двумерное изображение (рис. 7.3),
получаемое телевизионной камерой или другим устройством,
дающим изображение. Здесь х и у пространственные координаты
(т. е. координаты плоскости изображения), а величина / в про¬
извольной точке [х, у) пропорциональна яркости (интенсивно¬
сти) изображения в этой точке. Переменной г обозначим изме¬
нение интенсивности изображения для случая, когда простран¬
ственное расположение этих изменений не существенно.
Для получения удобной с точки зрения вычисления формы
функции изображения f(x, у) ее необходимо дискретизировать
как пространственно, так и по амплитуде (интенсивности). Ди¬
скретизацию по пространственным координатам (х, у) будем
называть дискретизацией изображения, а амплитудную дискре¬
тизацию— квантованием по интенсивности или квантованием по
Рис. 7.3. Обозначения коорди¬
нат при описании изображе¬
ния. Значение произвольной
точки (х, у) задается величи¬
ной (интенсивностью) функции
f в этой точке.
332
Рис. 7.4. Эффекты уменьшения величины дискретизации, (а) 512 X 51й;
(б) 256 X 256; (в) 128 X 128; (г) 64 X 64; (д) 32 X 32.
уровню серого. Последний термин применяется для одноцветных
изображений и отражает тот факт, что изображение меняется
по тону от черного до белого в серых оттенках. Термины интен¬
сивности и уровня серого будем использовать попеременно.
333
Рис. 7.5. Изображение размером 512X512 соответственно с 256, 128, 64, 32,
16, 8, 4 и 2 уровнями интенсивности.
Предположим, что непрерывное изображение дискретизиро¬
вано равномерно на N рядов и М столбцов, причем каждая ди¬
скретная величина проквантована по интенсивности. Такая си¬
стема, называемая цифровым изображением, может быть пред¬
ставлена в виде
/(0,0) /(0,1) ... /(0, М-1)
/(*,,)- /(1’0) /(1’° -•
-f(N— 1,0) /(ЛГ-1, 1) ... /(ЛГ-1, М-1).
(7.2-1)
где и х и у теперь дискретные переменные:
* = 0, 1, 2, ..., N— 1; у =0, 1, 2, ..., М — 1.
Каждый элемент системы называется элементом изображе¬
ния, элементом картинки или пикселом. В соответствии с рис. 7.3
можно отметить, что /(0, 0) является пикселом начала коорди¬
334
Продолжение рис. 7.5.
нат изображения, /(0, 1)—правый от него пиксел и так далее.
Обычно на практике величины N, М и число уровней дискрет¬
ной интенсивности каждого квантованного пиксела задают в
виде целых степеней числа 2.
Для уяснения процессов дискретизации н квантования рас¬
смотрим рис. 7.4. На рис. 7.4, а приведено изображение, дискре¬
тизированное в систему пикселов размером N У. N с N = 512,
при этом интенсивность каждого пиксела квантована по одному
из 256 дискретных уровней. На рис. 7.4,6—д показано то же
изображение, но соответственно с N — 256, 128, 64 и 32. Везде
число уровней интенсивности равнялось 256. Поскольку площадь
дисплея для каждого изображения была также одинаковой
(512X^12 воспроизводящих точек), величина пикселов в изо¬
бражении с меньшей разрешающей способностью удваивалась
по сравнению с предыдущим изображением для того, чтобы за¬
полнить все рабочее поле дисплея. В результате изображение
принимает шахматную структуру, которая особенно заметна
на картинках с низшей разрешающей способностью. Можно
отметить, что качество изображения размером 256X256 до¬
вольно близко к приведенному на рис. 7.4, а, в то время как для
других значений оно резко снижается.
Рис. 7.5 иллюстрирует эффект, появляющийся при уменьше¬
нии числа уровней интенсивности в случае постоянного прост¬
ранственного разрешения 512X512. Изображения с числом
уровней 256, 128 и 64 достаточно качественны. Изображения с 32
уровнями уже несколько хуже особенно на участках с близкими
уровнями интенсивности, что происходит из-за использования
слишком малого числа уровней интенсивности, представляющего
каждый пиксел. Это еще более заметно при появлении пересе¬
кающихся структур, называемых ложными контурами, на изо¬
бражении с 16 уровнями. При меньшем числе уровней качество
резко ухудшается.
Степень дискретизации и число уровней интенсивности, необ¬
ходимые для получения требуемого в системе воспроизведения
изображения объекта, зависят от самого изображения и от вида
его использования. Для сравнения можно указать, что для полу¬
чения качественной черно-белой телевизионной картинки требу¬
ется 512X512 пикселов со 128 уровнями интенсивности. Как
правило, универсальная система технического зрения должна
иметь как минимум разрешающую способность порядка 256 X
X 256 пикселов с 64 уровнями интенсивности.
7.3. МЕТОДЫ ОСВЕЩЕНИЯ
Освещение объектов служит важным фактором, который
влияет на алгоритм получения изображения в целом. Произ¬
вольное освещение внешней среды часто не является удовлетво¬
рительным, так как оно может привести к пониженной контраст¬
ности изображения, к появлению бликов, теней и неинформатив¬
ных деталей. Правильно организованная система освещения
уменьшает сложность получаемого изображения при увеличении
информации, требуемой для обнаружения и выделения объекта,
На рис. 7.6 показаны четыре основные схемы, используемые
для освещения рабочего пространства робота. Для объектов с
гладкими поверхностями правильной формы можно применить
метод рассеянного освещения (рис. 7.6, а). Такая схема осве¬
щения обычно используется в тех случаях, когда важными явля¬
ются характеристики поверхности объекта (рис. 7.7). Теневое
освещение (рис. 7.6,6) дает черно-белое (дискретное) изображе¬
ние. Этот метод целесообразно применять при необходимости
распознавания или измерения силуэтов объектов. Пример такого
случая показан на рис. 7.8.
Метод структурного освещения (рис. 7.6, в) заключается в
проецировании на рабочую поверхность световых точек, полос
или решеток. Этот метод освещения имеет два важных преиму¬
336
щества. Первое преимущество заключается в упрощении задачи
нахождения объекта за счет подачи в рабочее пространство из¬
вестного светового рисунка, по искажению которого опреде¬
ляется наличие объекта. Второе преимущество — возможность
получения пространственных характеристик объекта по анализу
формы искажений светового рисунка. Два примера реализации
метода структурного освещения приведены на рис. 7.9. В первом
случае показан объект, освещенный параллельными плоскостя¬
ми света, которые образуют световые полосы на пересечении с
г
Рис. 7.6. Четыре основные схемы освещения [201].
плоской поверхностью. Во втором случае производится проеци¬
рование двух световых плоскостей с разных направлений, но
сходящихся на поверхности в одну полосу (рис. 7.10, а). Камера
линейного сканирования, размещенная над поверхностью и
сфокусированная на полосе, при отсутствии объекта будет ото¬
бражать непрерывную линию света. Эта линия прерывается лю¬
бым объектом, пересекающим одновременно обе световые плоско¬
сти. Данный метод удобно использовать при движении объектов
по ленте конвейера перед камерой. Как показано на рис. 7.10,6,
337
Рис. 7.7. Пример рассеянного освещения.
Рис. 7.8. Пример теневого освещения.
338
Рис. 7.9. Два примера структурного освещения [250, 203].
Источник
еде та .''
Источник
у света
Световая
плоскость
Источник сбгта
U
Камера
линейного
сканирования
Рис. 7.10. Вид сверху (а) на две световые плоскости, пересекающиеся на
одной линии. Объект (б) будет обнаружен камерой, только если он пересе¬
кает обе световые плоскости [121].
339
наличие двух источников света гарантирует попадание объекта
в световую полосу, если она расположена прямо напротив каме¬
ры. Отметим, что камера линейного сканирования регистрирует
только ту линию, на которой сходятся две световые плоскости,
но при движении объекта относительно камеры может быть по¬
лучена двумерная информация.
Метод направленного освещения (рис. 7.6, г) используется в
основном для обследования объекта. Такие дефекты поверхно¬
сти, как впадины и трещины, определяются с помощью точно
Рис. 7.11. Пример направленного освещения (2011.
направленного светового луча (например, лазерного луча) путем
измерения величины его рассеивания. Если поверхность без де¬
фектов, то на камеру попадает небольшое количество света.
Если же на поверхности имеются дефекты, поток света в сто¬
рону камеры увеличивается и позволяет их выявить (рис. 7.11).
7.4. ГЕОМЕТРИЯ ИЗОБРАЖЕНИЯ
Ниже рассматриваются важные преобразования, используе¬
мые при получении изображения, математическая модель ка¬
меры и ряд аспектов задачи формирования стереоизображения.
Некоторые из этих преобразований уже были рассмотрены в
гл. 2 в связи с кинематикой манипулятора робота. Здесь обсуж¬
даются сходные проблемы, но с точки зрения получения изо¬
бражения.
340
7.4.1. Некоторые основные преобразования
Дадим представления о таких задачах, как вращение, изме¬
нение масштаба и смещение (сдвиг) изображений. Все преобра¬
зования записываются в трехмерной декартовой системе коорди¬
нат, в которой координаты точки записываются как (X, У, Z).
В случае двумерных изображений для обозначения координат
пиксела используется сокращенная запись (х, у). В обычной
терминологии выражение (X У, Z) представляет собой простран¬
ственные координаты точки.
Смещение. Предположим, что требуется сместить точку
с координатами (X, У, Z) в новое место, используя перемещения
(До, Уо, Z0). Смещение легко выполняется по следующим фор¬
мулам:
Г = Х + Х0, Г = У + У0, Z* = Z + Z0,
где (X*, У*, Z*)—координаты новой точки. Эти выражения мо¬
гут быть записаны в матричной форме
-Г-
-1
0
0
X
Y*
0
1
0
X
-Z*-
-0
0
1
X
г X
У
Z
L 1
(7.4-2)
Как показано ниже, для получения сложного изображения
часто используется сочетание нескольких преобразований, таких,
как смещение после изменения масштаба и вращения. Запись
такого процесса существенно упрощается при применении квад¬
ратичных матриц. Соответственно уравнение (4.7.2) запишется в
следующем виде:
г г-i
- 1 0 0 Х0 -|
' Х1
У*
0 1 0 У0
У
Z*
0 0 1 z0
Z
-1 -
1
о
о
о
-1 -
Для параметров X*, У* и Z* уравнения (7.4-2) и (7.4-3) пол¬
ностью эквивалентны.
В этом разделе мы будем использовать выражение для объ¬
единенной матрицы
v* = Av, (7.4-4)
341
(7.4-5)
где A — матрица преобразования размером 4X4,
столбец, содержащий начальные координаты:
X-i
Y
Z
L-1
a v* — вектор-столбец, элементами которого являются преобра¬
зи зованные координаты:
Г-i
Г
Z*
L 1 J
С использованием этих
выражений матрица, с
помощью которой выпол¬
няется смещение,
шется в виде
1 О О
1 О
О 1
О О
v =
(7.4-6)
запи-
Т =
О
о
L0
Х0-
Х0
1
(7.4-7)
а процесс смещения оп¬
ределяется уравнением
Рис. 7.12. Вращение точки относительно
осей координат. Углы измеряются по часо¬
вой стрелке, если смотреть вдоль осей вра¬
щения на начало координат.
(7.4.4), т. е. v* = Tv.
Изменение масштаба. Масштабирование на коэффициенты
Sx, Sy и Sz по осям X, У и Z производится с помощью матрицы
преобразования
~ О
S =
5,
О
О
L О
О
О
О
О
5,
О
Од
о
0
1
(7.4-8)
Вращение. Преобразования, используемые для осуществле¬
ния трехмерного вращения, значительно сложнее других преоб¬
разований. Простейшим видом этих преобразований является
вращение вокруг координатных осей. Для вращения заданной
точки вокруг произвольной точки в пространстве требуется вы¬
полнить три преобразования. Первое преобразование смещает
произвольную точку в начало координат, второе — осуществляет
вращение, а третье — возвращает точку в исходное положение.
342
В соответствии с рис. 7.12 вращение точки относительно ко¬
ординатной оси Z на угол 0 реализуется с помощью преобразо¬
вания
cos0 sin0 0 От
— sin 0 cos0 О О
О 0 10
0 0 0 1 j
Re =
(7.4-9).
Угол вращения 0 измеряется по часовой стрелке, если смот¬
реть на начало координат из точки на оси -j-Z. Отметим, что это'
преобразование осуществляется только для координат X и У.
Вращение точки вокруг оси X на угол а выполняется с по¬
мощью преобразования
Ra =
г 1 0 0 0
0 cos a sin a 0
0 —sin a cos a 0
L0 0 0 1
(7.4-10)
- COS Р
0
— sin Р
о-
0
1
0
0
sin р
0
COS Р
0
- 0
0
0
1 -
Наконец, вращение точки относительно оси У на угол р реа¬
лизуется с помощью преобразования
(7.4-11)
Взаимные и обратные преобразования. Реализация несколь¬
ких преобразований может быть представлена одной матрицей
преобразования размерностью 4X4. Например, смещение, мас¬
штабирование и вращение точки v относительно оси Z записы¬
ваются в виде
v* = Re [S (Tv)] = Av, (7.4-12)
где А — матрица размерностью 4X4: А = ReST.
Необходимо отметить, что эти матрицы обычно не перестав¬
ляются, поэтому важен порядок их применения.
Хотя приведенное рассмотрение ограничивается преобразова¬
ниями одной точки, аналогичные приемы распространяются для
одновременных преобразований группы из т точек с помощью
одного преобразования. Пусть с учетом уравнения (7.4-5) vi,
V2, •. •, Vm представляют координаты т точек. Если сформиро¬
вать матрицу V размерностью 4 Х«, столбцы которой являются
вектор-столбцами, то одновременное преобразование всех этих
343
точек с помощью матрицы преобразования А размерностью
4X4 записывается в виде
V* = AV. (7.4-13)
Полученная матрица V* имеет размерность 4 'Хт. Ее i-й
столбец V; содержит координаты преобразованной точки, со¬
ответствующей Vi.
В заключение отметим, что из матриц многих рассмотренных
преобразований легко получить обратные матрицы, используе¬
мые для выполнения обратных преобразований. Например, мат¬
рица обратного смещения имеет вид
Т1 =
-Х0-
~У0
-zQ
1
(7.4-14)
1 О О
О 1 О
О 0 1
L0 О О
Аналогично обратная матрица вращения Re1 определяется как
cos (— 0) sin (— 0) 0 0-
— sin (— 0) cos (—0) 0 0
0 0 10
0 0 0 1.
Re_1 =
(7.4-15)
Обращение более сложных матриц преобразования обычно
производится численными методами.
7.4.2. Оптические преобразования
Оптические преобразования, которые называются также пре¬
образованиями изображений, проецируют точки трехмерного про¬
странства на плоскость. Оптические преобразования играют
основную роль при получении изображения, поскольку они опре¬
деляют способ отображения пространственных объектов. Хотя
ниже в этом разделе оптические преобразования записываются
в матричной форме размерностью 4X4, они существенно отли¬
чаются от рассмотренных в предыдущем разделе, поскольку яв¬
ляются нелинейными, так как включают операции деления коор¬
динат.
На рис. 7.13 приведена схема процесса формирования изо¬
бражения. Предположим, что система координат камеры (х, у,
г) имеет плоскость изображения, совпадающую с плоскостью
ху, а оптическая ось, установленная по центру линзы, направ¬
лена вдоль оси г. Таким образом, центр плоскости изображения
является началом координат, а центр линзы имеет координаты
(0,ОД). Если камера сфокусирована на дистанционные объек-
344
ты, то к представляет собой фокусное расстояние линзы. Здесь
предполагается, что система координат камеры совпадает с де¬
картовой системой координат (X, Y, Z). Это ограничение будет
снято в следующем разделе.
Пусть (X, Y, Z)— координаты произвольной точки трехмер¬
ного пространства (рис. 7.13). Предположим для последующих
рассуждений, что Z > к, т. е. что все интересующие нас точки
Рис. 7.13. Основная схема процесса получения изображения. Система коорди¬
нат камеры (х, у, z) совпадает с декартовой системой координат (X, У, Z).
пространства находятся перед линзой. Сначала требуется уста¬
новить взаимосвязь между точкой (X, Y, Z) и координатами
(х, у) ее проекции на плоскость изображения. Это легко сде¬
лать, рассмотрев соответствующие треугольники. Из рис. 7.13
следует
ж _ X _ X»
к Z-k k-Z (7.4-16)
и
Т~~ Z — к = k — Z ' (7.4-17)
где минусы перед X и У означают, что точки на изображении
перевернуты.
Спроецированные на плоскость изображения точки трехмер¬
ного пространства определяются непосредственно из уравнений
(7.4-16) и (7.4-17):
, ' »7'4-'9)
.Важно отметить, что данные уравнения являются нелиней¬
ными, потому что они включают операцию деления на перемен¬
345
ную Z. Хотя ими можно пользоваться в приведенном виде, ча¬
сто удобно применять матричную форму записи, как это дела¬
лось в предыдущем разделе для описания процессов вращения,
смещения и масштабирования. Такую запись легко получить с
помощью однородных координат.
Однородные координаты точки с декартовыми координатами
(X, У, Z) определяются как (kX, kY, kZ, k), где k — произволь¬
ная ненулевая постоянная. Ясно, что обратное преобразование
однородных координат в декартовые осуществляется путем де¬
ления трех однородных координат на четвертую. Точка в декар¬
товой системе координат определяется в векторной форме сле¬
дующим образом:
■X'
w =
У
Z
(7 Л-20)
а соответствующая зайись в однородных координатах будет
иметь вид
г kX-i
w н =
kY
kZ
- k
(7.4-21)
Определим матрицу оптического преобразования в виде
10 0 0
0 10 0
Р= 0 0 1 О • (7.4-22)
1
о о
1
Тогда произведение Pwft дает вектор, который обозначим
через сЛ:
Cft = Pw А =
О
о
о
1
Г кх1
kX
0 10 0
kY
kY
0 0 10
kZ
=
kZ
_0 0 -1 1
- k -
1
-w
+
N)
1
1
(7.4-23)
Элементы вектора сЛ являются координатами камеры в одно¬
родной форме. Как было отмечено выше, эти координаты могут
быть переведены в декартовые координаты путем деления каж¬
дого из трех элементов вектора сй на четвертый. Таким образом,
декартовы координаты любой точки связаны с системой коорди-
346
нат камеры следующей векторной формой:
XX
1
г х 1
с =
У
L z J
х — z
XY
X-Z
XZ
X-Z
(7.4-24)
Два первых элемента вектора с являются координатами
(х, у) спроецированной на плоскость изображения пространст¬
венной точки (X, У, Z) в соответствии с уравнениями (7.4-18) и
(7.4-19). Третий элемент для рассматриваемой схемы (рис. 7.13)
не существен. Как показано ниже, этот элемент выступает в ка¬
честве свободной переменной в обратном оптическом преобра¬
зовании.
Обратное оптическое преобразование переводит точку с пло¬
скости изображения обратно в трехмерное пространство. Таким
образом, из уравнения (7.4-23) получим
(7.4-25)
где Р
-1
Wft =
определяется в виде
р~
1
Cft,
"1
0
0
0 "
0
1
0
0
Р-,=
0
0
1
0
0
0
1
X
1
(7.4-26)
Предположим, что заданная точка на изображении имеет
координаты (х0, г/о, 0), где 0 по координате г отражает тот факт,
что плоскость изображения находится на г = 0. Эта точка мо¬
жет быть записана в однородной форме вектором
kxQn
ky0
0
. k J
с h =
(7.4-27)
Используя уравнение (7.4-25), получим соответствующий век¬
тор для однородных пространственных координат
Г kx0 1
Wft
ky0
0
k -
(7.4-28)
347
или для декартовых координат
Г Л Г*о1
w = Y
“ Уо
- О -
(7.4-29)
LZJ
Поскольку Z == О, данное выражение верно не только для
одной точки пространства. Это объясняется тем, что отображе¬
ние трехмерного пространства на плоскость изображения яв¬
ляется преобразованием многих точек в одну. Точка изображе¬
ния (х0, г/о) соответствует ряду пространственных точек, лежа¬
щих на одной линии, которая проходит через (х0, у0, 0) и (0, 0,
1). Уравнения этой линии в декартовой системе координат полу¬
чаются из уравнений (7.4-18) и (7.4-19) в виде
Из этих уравнений видно, что если нет достаточной инфор¬
мации о пространственной точке (например, ее координаты Z),
полученной из точки на изображении, то нельзя точно восста¬
новить точку в трехмерном пространстве по ее изображению.
Это вполне естественное соображение может быть использовано
для определения обратного оптического преобразования путем
простой подстановки элемента 2 в вектор сА вместо 0 в качестве
свободной переменной. Таким образом, получим
и
Х = ^-(К-Z)
Y — Z).
(7.4-30)
(7.4-31)
- кх0-
kyo
(7.4-32)
- k
Теперь из уравнения (7.4-25) имеем
kx0
ky0
wA= кг
(7.4-33)
348
После преобразования в декартовые координаты получим
А*0
W :
А z
Аур
А + z
A z
_ A + z _
(7.4-34)
Другими сяовдми, используя z как свободную переменную,
получим уравнений
AjCp
A + z ’
A t/o
х =
Y
Z =
A + z ’
Az
A + z
(7.4-35)
Выразив z в последнем уравнении через Z и подставляя его
в два первых уравнения, получим
Z),
Y = f-(K-Z),
(7.4-36)
(7.4-37)
что согласуется с тем, что для восстановления точки в трехмер¬
ном пространстве путем обратного оптического преобразования
требуется знание по крайней мере одной декартовой коорди¬
наты точки. Эта проблема обсуждается также в разд. 7.4.5.
7.4.3. Модель камеры
Уравнения (7.4-23) и (7.4-24) характеризуют формирование
изображения путем проекции точки пространства на плоскость
изображения. Таким образом, эти два уравнения представляют
основную математическую модель воспроизводящей камеры.
Данная модель базируется на предположении, что система ко¬
ординат камеры и декартова система координат совмещены.
В этом разделе рассмотрим более общий случай, при котором
две системы координат могут быть разделены. Однако главная
цель получения координат произвольной точки пространства на
плоскости остается той же.
В случае, изображенном на рис. 7.14, декартова система
координат (X, У, Z) используется для определения положения
как камеры, так и точек пространства, обозначенных через w.
На этом рисунке также показаны система координат камеры
(х, у, z) и точки изображения, обозначенные через с. Предпо-
349
лагается, что камера установлена на шарнире, который обеспе¬
чивает поворот по углу 0 и наклон по углу я. Здесь поворот
определяет угол между осями х и X, а наклон — угол между
осями г и Z. Смещение центра шарнира от начала декартовой
Рис. 7.14. Геометрическое расположение элементов при получении изображе¬
ния в двух системах координат.
системы координат обозначено вектором w0, а смещение центра
плоскости изображения относительно центра шарнира — векто¬
ром г с элементами (/ц, п, г3).
Весь необходимый материал для получения модели камеры,,
основанной на геометрическом расположении элементов, кото¬
рые показаны на рис. 7.14, изложен в двух предыдущих разде¬
лах. Метод заключается в приведении в соответствие системы
координат камеры и декартовой системы координат путем ряда
преобразований. После этого можно легко использовать опти¬
ческое преобразование, заданное уравнением (7.4-22) для по¬
350
лучения координат любой точки пространства на плоскости изо¬
бражения. Другими словами, перед использованием оптического
преобразования задача предварительно сводится к геометриче¬
ской системе, приведенной на рис. 7.13.
Предположим, что камера сначала находится в нормальном
положении, т. е. центр шарнира и начало координат плоскости
изображения совмещены с началом декартовой системы коор¬
динат и все их оси совпадают. Перевод из нормального поло¬
жения к геометрическому расположению, показанному на
рис. 7.14, может быть осуществлен несколькими путями. За¬
дадим следующую последовательность операций: 1) сдвиг цен¬
тра шарнира относительно начала координат, 2) поворот оси х,
3) наклон оси г, 4) сдвиг плоскости изображения относительно
центра шарнира.
Ясно, что указанная последовательность механических опе¬
раций не обеспечивает необходимое перемещение всех точек
пространства, поскольку вид группы точек, воспроизводимый
камерой после их перемещения из нормального положения, бу¬
дет совершенно другой. Однако можно вернуть все точки про¬
странства обратно в нормальное положение, применяя к ним
ту же последовательность операций. Поскольку расположение
камеры в нормальном положении соответствует рис. 7.13, при
реализации оптического преобразования задача сводится к при¬
менению ряда указанных операций соответственно к каждой
точке пространства.
Сдвиг начала декартовой системы координат в центр шар¬
нира выполняется с помощью следующей матрицы преобразо¬
ваний:
Г 1 0 0 -Ход
О 1 0 —Yn
G =
о
0 0 1 — z0
ООО 1
(7.4-38)
Другими словами, однородная точка пространства wh с ко¬
ординатами (Х0, Yo, Zо) после преобразования Gwft является
началом новой системы координат.
Как указывалось выше, угол поворота измеряется между
осями х и X. В нормальном положении эти оси совпадают. В ре¬
зультате поворота оси х на заданный угол производится враще¬
ние по углу 0. Вращение производится относительно оси г и
осуществляется с использованием матрицы преобразования Re,
заданной уравнением (7.4-9), т. е. применение этой матрицы ко
всем точкам, включая точку Gw„, позволяет эффективно пово¬
рачивать ось х в требуемое положение. При использовании
уравнения (7.4-9) важно иметь в виду условие, соответствую¬
щее рис. 7.12, а именно положительные углы получаются при
351
вращении точек по часовой стрелке, что предполагает вращение
камеры против часовой стрелки вокруг оси г. Неподвижное (0°)
положение соответствует случаю совпадения осей х и X.
До этого момента оси г и Z еще совпадают. Поскольку на¬
клон определяется углом между этими двумя осями, поворачи¬
ваем камеру на угол а путем вращения оси г на данный угол.
Вращение производится относительно оси х с использованием
матрицы преобразования Ra (уравнение (7.4-10)) для всех то¬
чек, включая точку RgGw/,. Как и раньше, вращение камеры
против часовой стрелки дает положительные углы, а поворот
в 0° получается при совпадении осей z и Z 1К
В соответствии с разделом 7.4.4 две матрицы вращения мо¬
гут быть совмещены в одной матрице R == RaRe.
Далее из уравнений (7.4-9) и (7.4-10) имеем
R
cos 0
— sin Ocosa
sin 0 sin a
0
sjn 0
cos 0 cos a
- cos0 sin a
0
0
sin a
cos a
0
(7.4-39>
Наконец, смещение начала координат плоскости изображе¬
ния на вектор г производится с помощью матрицы преобразо¬
вания
1 0 0 — г, -
0 1 0 —л,
0 0 1 — г3
L0 0 0 1
с =
(7.4-40)
Таким образом, применяя к точке w* ряд преобразований
CRGwft, совмещаем декартову систему координат и систему ко¬
ординат камеры. Координаты точки v/H на плоскости изображе¬
ния окончательно получают с использованием уравнения
(7.4-22). Другими словами, однородная точка пространства, ко¬
торая фиксируется камерой, расположенной в соответствии с
рис. 7.14, имеет следующую запись в системе однородных коор1
динат камеры:
сн — PCRGwft. (7.4-41)
Это уравнение ,представляет оптическое преобразование,
включающее две системы координат.
Как показано в разд. 7.4.2, декартовы координаты (х, у)
точки изображения получаются путем деления первого и вто-
о Наглядность этих преобразований можно обеспечить, сконструировав
систему осей (например, с помощью устройств для чистки трубок), пометив
оси х, у, г и произведя поочередное вращение осей вручную.
352
рого элементов вектора с л на четвертый. Расписывая уравнение
(7.4-41) и возвращаясь к декартовой системе координат, по¬
лучим
^ » (X — cos 8 -j- (Y — F0) sin 9 — rl
X ^ — (X — X0) sin 0 sift a + (Y — F0) cos 0 sin a — (Z — Z0) cos a + r3 + I
(7.4-42)
и
. т> (X — Xo) sin 8 cos a + (У — Kp) cos 8 cos a + (Z — Z0) sin a — r2
У — (X — Xa) sin 0 sin a + (Y — F0) cos 0 sin a — (Z — Z0) cos a + гъ + Л
(7.4-43)
Эти уравнения определяют координаты изображения точки
w, пространственные координаты которой (X, У, Z). Отметим,
что данные уравнения приводятся к уравнениям (7.4-18) и
(7.4-19) при Xq = Yq = Zq — Q, /"i = г2 = г3 = 0 и a = 0 = 0°.
Z
Рис. 7.15. Камера, направленная на пространственный объект.
Пример. Для иллюстрации рассмотренного метода предполо¬
жим, что требуется найти изображение угла блока, показанного
на рис. 7.15. Камера смещена от начала координат и направ¬
лена на объект с поворотом на 135° и наклоном в 135°. Усло¬
вимся, что изменение углов происходит в положительном на¬
правлении при вращении камеры против часовой стрелки, если
смотреть на начало координат вдоль оси вращения.
Воспроизведем подробно операции, необходимые для пере¬
мещения камеры из нормального положения к положению, по-
12 К. Фу и др.
353
1
казанному на рис. 7.15. Камера изображена в нормальном по¬
ложении на рис. 7.16, а и в смещенном относительно начала ко¬
ординат положении на рис. 7.16,6. Важно отметить, что после
этой операции оси декартовой системы координат используются
только для угловых отсчетов, т. е. после перемещения декарто¬
вой системы координат все вращения производятся относитель¬
на z перпендикулярна
плоскости рисунка
J
Ось х перпендику¬
лярна плоскос-
кости рисунка
Ллоскость XY
Рис. 7.16. (а) Камера в нормальном положении, (б) Смещение центра шар¬
нира нз начала координат, (в) Вращение вокруг оси г при повороте.
(г) Вращение вокруг оси х при наклоне.
но новых осей (осей камеры). На рис. 7.16, в показан вид вдоль
оси г камеры при осуществлении поворота. В этом случае вра¬
щение камеры вокруг оси г происходит против часовой стрелки,
поэтому точки пространства вращаются относительно этой оси
в противоположном направлении по положительному направ¬
лению угла 0. На рис. 7.16, г показано положение системы вдоль
оси х камеры перед осуществлением наклона после завершения
поворота. Вращение вокруг этой оси происходит против часовой
стрелки по положительному направлению угла х. Оси декарто¬
вой системы координат показаны на рис. 7.16, в и г штриховыми
354
линиями, чтобы подчеркнуть их значение только как базы от¬
счета при реализации поворота и наклона. На рис. 7.16, г не
отражена окончательная операция смещения плоскости изобра¬
жения относительно центра шарнира.
В задаче используются следующие параметры: Х0 = 0 м,
Уо = 0 м, ZQ= 1 м, «—135°, 0 = 135°, /-1=0,03 м, гг =/"з =
= 0,02 м, А, = 35 мм = 0,035 м.
Искомый угол имеет координаты (X, Y, Z) = (l; 1; 0,2).
Для того чтобы подсчитать координаты изображения угла
блока, достаточно просто подставить заданные значения пара¬
метров в уравнения (7.4-42) и (7.4-43), т. е.
- -0,03 . -0,42
х = к~л ,Гщ Г и у — %■
-1,53 +Я у ' -1,53 +Я
Подставляя А, = 0,035, получим координаты изображения х =
= 0,0007 ми у = 0,009 м.
Отметим, что эти координаты легко укладываются на пло¬
скость изображения размером 0,025X0,025 м. Если же, напри¬
мер, применять линзу с фокусным расстоянием 200 мм, то про¬
сто показать, что полученное изображение угла блока будет
находиться вне эффективного поля зрения камеры.
Наконец, отметим, что все соответствующие уравнениям
(7.4-42) и (7.4-43) координаты получены относительно центра
плоскости изображения. При действии ранее установленного
условия о расположении начала координат плоскости изобра¬
жения в верхнем левом углу необходимо изменить значения
координат.
7.4.4. Калибровка камеры
В разделе 7.4.3 были получены точные уравнения для коор¬
динат (х, у) изображения пространственной точки w. В соот¬
ветствии с уравнениями (7.4-42) и (7.4-43) использование этих
уравнений требует знания фокусного расстояния, смещений ка¬
меры и углов поворота и наклона. Хотя эти параметры могут
быть измерены непосредственно, иногда бывает удобно (напри¬
мер, при частом перемещении камеры) определять один или
несколько из указанных параметров, используя саму камеру в
качестве измерительного прибора. Это требует наличия ряда
точек изображения с известными декартовыми координатами.
Процесс вычисления параметров камеры, использующий эти
известные точки, часто называют калибровкой камеры.
Пусть в соответствии с уравнением (7.4-41) А= PCRG. Эле¬
менты А содержат все параметры камеры, а из уравнения
(7.4-41) известно, что сЛ = Aw/j. Полагая k=l, можно записать
12*
355
в однородной форме
" ch\ ~
а1\
а[2
«13
«14-
ch2
«21
й 22
«23
«24
СЛЗ
031
«32
«33
«34
- СЫ -
- а41
а42
«43
«44 ~
г1п
Y
Z
(7,4-44)
Из двух предыдущих разделов следует, что координаты ка¬
меры в декартовой системе задаются в виде
х —
hi
Ct.A
h 4
(7.4-45)
У =
Jil
с.,
м
(7.4-46)
Подставляя Chi=xch4 и ст — усм в уравнение (7.6-44) и
раскрывая матричное произведение, получим
xch 4 = апХ -f- а12Т + al3Z + а14,
УСН 4 = а2\Х + CI22Y + + й2 4>
СЫ — «41^ + Ч42У + «43^ + «44>
(7.4-47)
где выражение для сЛЗ может быть опущено, так как оно свя¬
зано с z.
Подставляя сщ в первые два уравнения (7.4-47), получим
два уравнения с двенадцатью неизвестными коэффициентами
апХ + а12Т + al3Z — a4lxX — a42xY — ai3xZ — а44 х + а14 = О,
(7.4-48)
a2lX + a22Y + a23Z — a4lyX — a42yY — a4byZ — a44y + a24 = 0.
(7.4-49)
Далее процесс калибровки состоит из трех этапов. Первый
этап заключается в определении т ^ 6 точек пространства с
известными координатами (X,-, У/, Zi), i— 1, 2, ..., т. Посколь¬
ку имеются два уравнения, включающие координаты этих точек,
то их необходимое количество должно по крайней мере рав¬
няться шести. На втором этапе получают соответствующие изо¬
бражения этих точек (xi,yi), i — 1, 2, ..., т, с помощью
камеры. Третий этап состоит в использовании полученных ре¬
зультатов в уравнениях (7.4-48) и (7.4-49) для определения
неизвестных коэффициентов. Для нахождения оптимального ре¬
шения линейной системы уравнений типа (7.4-48) и (7.4-49)
существует много численных методов [218].
356
7.4.5. Стереоизображение
Как указано в разд. 7.4.2, проецирование трехмерного про¬
странства на плоскость изображения является преобразованием,
при котором несколько точек сливаются в одну. Это означает,
что точка изображения неоднозначно определяет расположение
соответствующей точки пространства. В данном разделе пока¬
зывается, что информация о глубине изображения может быть
получена при использовании методов стереоскопического изо¬
бражения (или стереоизображения).
Рис. 7.17. Схема получения стереоизображения.
Стереоизображение включает два отдельных вида изобра¬
жаемого объекта (рис. 7.17), например пространственной точки
w. Расстояние между центрами двух линз называется базовой
линией. Требуется определить координаты (X, У, Z) точки w,
заданной точками ее изображения (xi, у\) и (х2, г/г).
Предполагается, что камеры идентичны и системы координат
обеих камер полностью совпадают, отличаясь только располо¬
жением их начал. Эти условия обычно встречаются на прак¬
тике. Как и прежде, считается, что при совмещении системы
координат камеры с декартовой системой координат плоскость
изображения ху совпадает с плоскостью XY декартовой системы
координат. При сделанных предположениях координата Z точ¬
ки w одинакова для обеих систем координат камер.
Допустим, что первая камера совмещена с декартовой си¬
стемой координат, как показано на рис. 7.18. Тогда по уравне¬
357
нию (7.4-31) точка w лежит на линии с координатами
= z,), (7.4-50)
где индексы у X и Z обозначают, что к началу декартовой си¬
стемы координат передвинута первая камера, а вторая камера
и точка w также переместятся в этой системе. При этом сохра¬
нено относительное расположение элементов системы, показан¬
ное на рис. 7.17. Если вместо этого к началу декартовой системы
Рис. 7.18. Вид сверху на рис. 7,17 при совмещении первой камеры с декар¬
товой системой координат.
координат передвинута вторая камера, то точка w лежит на
линии с координатами
Х2 — ~(к— Z2). (7.4-51)
Однако благодаря наличию расстояния между камерами и
тому, что координаты Z точки w одинаковы в обеих системах
координат камер, имеем
Х2 = Х{ + В , (7.4-52)
и
Z2 = Z, = Z, (7.4-53)
где, как отмечено выше, В — базовая линия.
358 ■ '
Подставляя уравнения (7.4-52) и (7.4-53) в уравнения
(7.4-50) и (7.4-51), получим уравнения
Хг +В = ■!£-(%-Z) (7.4-54)
и
X, =-£L (д, - Z). (7.4-55)
Вычитая уравнение (7.4-55) из уравнения (7.4-54) и решая
его относительно Z, получим
Z = А, —. (7.4-56)
Л'2 — Xi 4
Отсюда видно, что координата Z точки w легко вычисляется
при известной разности между соответствующими координатами
х2 и х\ изображения, а также значений базовой линии и фокус¬
ного расстояния. Декартовы координаты X и У получаются за¬
тем прямо из уравнений (7.4-30) и (7.4-31) с использованием
координат (хи у\) или (х2, у2).
Наибольшую трудность при применении уравнения (7.4-56)
для получения координаты Z представляет нахождение двух
соответствующих точек на различных изображениях одного
объекта. Поскольку эти точки обычно находятся в непосред¬
ственной близости, часто используют метод, при котором на
одном изображении выделяют точку внутри малой окрестности,
а затем пытаются определить соответствующую окрестность на
другом изображении корреляционными методами, изложенными
в гл. 8. Процесс сопоставления обычно ускоряется, если объект
имеет характерные признаки, такие, как выступающие углы.
В заключение отметим, что процесс калибровки, рассмотрен¬
ный в предыдущем разделе, может непосредственно использо¬
ваться для стереоизображения простой его реализацией неза¬
висимо для каждой камеры.
7.5. НЕКОТОРЫЕ ОСНОВНЫЕ ВЗАИМОСВЯЗИ
МЕЖДУ ПИКСЕЛАМИ
Ниже рассматривается несколько простых, но важных взаи¬
мосвязей между пикселами в цифровом изображении. Как и в
предыдущем разделе, изображение будем обозначать f(x, у).
При обсуждении отдельного пиксела будем использовать сокра¬
щенные обозначения р и q. Для подгруппы пикселов исполь¬
зуется обозначение S.
7.5.1. Соседние пикселы
Пиксел р с координатами (х, у) имеет четыре горизонталь¬
ных и вертикальных соседних пиксела с координатами
(х+ 1, у), (х— 1, у), (х, у+ 1), (х, у— 1).
359
Эта группа пикселов, называемая «четыре соседа р», обозна¬
чается через Nt(p). Отметим, что данные четыре пиксела нахо¬
дятся на одном расстоянии от (х, у), а также некоторые из
соседних пикселов р могут быть за пределами цифрового изо¬
бражения, если (х, у) находится на границе изображения.
Четыре диагональных соседних пиксела р имеют координаты
(х+1,г/+1), (x+l,y— 1), (х— 1,г/ + 1), (х 1, у 1)
и обозначаются через Nd(p). Эти точки вместе с четырьмя ука¬
занными выше называются «восемь соседей р» и обозначаются
через Ns(p). Некоторые из точек ЛД(р) и Ns(p) также могут
выходить за пределы изображения, если (х, у) находится на
границе изображения.
7.5.2. Связи
Пусть V — ряд значений интенсивности пикселов, которые
могут быть соединены. Например, если требуется связать пик¬
селы с интенсивностью 59, 60 и 61, то V = {59, 60, 61}. Рас¬
смотрим три типа связей:
1. Четырехсвязный. Два пиксела р и q со значениями интен¬
сивностей из V являются четырехсвязными, если q относится к
к группе Ni(p).
2. Восьмисвязный. Два пиксела р и q со значениями интен¬
сивностей из V являются восьмисвязными, если q относится к
группе Ns(p).
3. m-связный (смешанная связь). Два пиксела р и q со зна¬
чениями интенсивности из V являются m-связными, если
а) q относится к группе Ni(p);
б) q относится к группе Nd(p) и множество ЛЧ(р)П N*(q) —
пустое. (Это множество пикселов, являющихся четырьмя со¬
седними как по отношению к р, так и по отношению к q со зна¬
чениями интенсивностей из V.)
Смешанная связь является модификацией восьмисвязного
типа систем и вводится для исключения множественности соеди¬
нений, которая часто вызывает трудности при использовании
восьмисвязных систем. Рассмотрим для примера систему пиксе¬
лов, показанную на рис. 7.19, а. Предположим, что V— {1, 2}.
Связи восьми соседних пикселов с пикселом, имеющим значе¬
ние 2, обозначим штриховыми линиями (рис. 7.19,6). Отметим
неопределенность полученных связей ввиду их множественности.
Эта неопределенность снимается при использовании т-связной
системы (рис. 7.19, е).
Пиксел р примыкает к пикселу q, если они связаны. Можно
подразделить примыкание на 4-, 8- и m-размерное в зависи¬
мости от определенного типа связей. Два изображения под¬
360
групп Si и S2 примыкают друг к другу, если несколько пикселов
из Si примыкают к нескольким пикселам из S2.
Путь от пиксела р с координатами (х, у) к пикселу q с ко¬
ординатами (s, t) представляет собой последовательность опре¬
деленных пикселов с координатами (х0,у0), (хь у\),..., (х„, у„),
где (х0, у0) = (х, у), (х„, yn)~(s, i), (xt, yi) — пиксел, прилежа¬
щий к (х/_1, yi-i ), 1 ^ i ^ п, а п — длина пути. Можно подраз¬
делить пути на 4-, 8- и m-размерные в зависимости от типа
используемого примыкания.
0
г
1
о
1
1 /
;/
0
1
1
1
0
' г
0
0
К 0
\
\
N.
N
0
ч
Ч
0
0
а
1
0
0 \
5
0
0 Ч1
в
Рис. 7.19. Система пикселов (а). Связь восьми соседних пикселов с пиксе¬
лом со значением 2 (б). Связь m-соседних пикселов с пикселом со значе¬
нием 2 (в).
Если р и q являются пикселами изображения одной под¬
группы S, то р считается связанной с q в S, если путь от р до q
состоит только из пикселов, лежащих в S.
Для любого пиксела р, принадлежащего S, группа пикселов
в S, связанных с р, называется связанным компонентом S. От¬
сюда следует, что два любых пиксела связанного компонента
связаны друг с другом, а несвязанного — разделены.
7.5.3. Измерение расстояний
Определим для пикселов р, q, г соответственно о координа¬
тами (х, у), (s, t) и (и, v) функцию расстояния или метрику D
следующим образом:
1) D (р, q) О [D (р, q) = 0, если р = q],
2) D (р, q) = D{q, р),
3) D(p, z)^D(p, q) + D(q, z).
Евклидово расстояние между р и q определяется по формуле
De (Р, q) = [(* - sf + (у- У)2]1/2. (7.5-1)
При измерении этого расстояния пикселы, имеющие расстоя¬
ние, меньшее или равное некоторой величине г от (х,у), распо¬
лагаются в окружности радиусом г с центром в (х, у). Расстоя¬
ние D4, называемое модульным, между р и q определяется вы¬
ражением
П4 (р, q) = | х — s | + | у — 11. (7.5-2)
361
В этом случае пикселы, имеющие расстояние 04, меньшее или
равное некоторой величине г от (х, у), образуют ромбовидную
структуру с центром в (х, у). Например, пикселы с расстоянием
D4 ^ 2 от (х, у) (центральной точки) образуют следующие кон¬
туры с равными от центра расстояниями:
2
2 12
2 10 12
. . 2 12
2
Отметим, что пикселы с D4 = l являются четырьмя сосед¬
ними к (х, у).
Расстояние 08, называемое также шахматным, между р и q
определяется по формуле
D& (р, <]) = max (| х — s |, \y — t\). (7.5-3)
При этом пикселы с расстоянием D%, меньшим или равным
некоторой величине г, образуют квадрат с центром в (х, у). На¬
пример, пикселы с расстоянием Dg ^ 2 от центральной точки
(х, у) образуют следующие равноудаленные от центра контуры:
2 2 2 2 2
2 1112
2 10 12
2 1112
2 2 2 2 2
Пикселы с Ds = 1 составляют восемь соседних к точке (х, у)
пикселов.
Можно отметить, что расстояние D4 между двумя точками р
и q равно кратчайшему из четырех путей между ними. То же
самое относится к расстоянию Ь8. В действительности можно
определять расстояния D4 и D% между р и q независимо от на¬
личия связующих их путей, поскольку для нахождения этих
расстояний требуются только значения координат данных точек.
Однако, когда имеют дело с m-связностью, величина расстоя¬
ния (длина пути) между двумя пикселами зависит от значения
пикселов вдоль пути, а также от их соседей. Рассмотрим для
примера систему пикселов, в которой р\, р2 и р4 имеют значе¬
ния 0 или 1
Рз Р4
Pi Р2
Р
362
Если предположить связность пикселов со значением 1 при
рх и р3 равными 0, то т — расстояние между р и р4 равно 2.
Если pi или рз равно 1, расстояние равно 3. Если же pi и р3
равно 1, то расстояние будет равно 4.
7.6. ПРЕДВАРИТЕЛЬНАЯ ОБРАБОТКА ИНФОРМАЦИИ
Ниже рассматриваются некоторые методы предварительной
обработки информации, используемые в системах технического
зрения роботов. Хотя число методов, пригодных для предвари¬
тельной обработки основных параметров изображения, довольно
велико, требованиям по скорости вычислений и по эксплуата¬
ционной стоимости, лежащим в основе систем технического
зрения, удовлетворяет только определенная подгруппа этих ме¬
тодов. Рассматриваемые ниже методы предварительной обра¬
ботки информации являются типичными с точки зрения удовле¬
творения указанным требованиям.
7.6.1. Основные понятия
Рассмотрим два основных подхода к предварительной обра¬
ботке информации. Первый подход основан на методах про¬
странственной области, а второй — на методах частотной об¬
ласти с использованием преобразования Фурье. Вместе эти под¬
ходы охватывают большинство из существующих алгоритмов
предварительной обработки информации, применяемых в систе¬
мах технического зрения роботов.
Методы пространственной области. К пространственной
области относится совокупность пикселов, составляющих изобра¬
жение. Методы пространственной области являются процеду¬
рами, оперирующими непосредственно с этими пикселами. Функ¬
ции предварительной обработки в пространственной области
записываются в виде
g(x, y) = h[f(x, у)], (7.6-1)
где f(x, у) — входное изображение, g(x, у)—выходное (обра¬
ботанное) изображение, a h — оператор функции f, определен¬
ный в некоторой области (х, у). Оператор h можно применять
также к ряду входных изображений для формирования, напри¬
мер, суммы пикселов К изображений при уменьшении шума
(разд. 7.6.2).
Основным подходом при определении окрестности точки
(х, у) является использование квадратной или прямоугольной
области части изображения с центром в точке (х, у) (рис. 7.20).
Центр этой части изображения перемещается от пиксела к пик¬
селу, начиная, например, от левого верхнего угла; при этом для
получения g{x, у) оператор применяется для каждого положе¬
363
ния (х, у). Хотя иногда используются и другие формы окрест¬
ности (например, круг), квадратные формы более предпочти¬
тельны из-за простоты их реализации.
У
Изображение
\х
Рис. 7.20. Окрестность размерностью 3X3 точки (х, у) изображения.
Простейшая форма h получается, когда окрестность имеет
размерность 1X 1 и, следовательно, g зависит только от зна¬
чения / в точке (х,у). В этом случае h
становится картой интенсивности или
преобразованием Т вида
s = 7», (7.6-2)
где для простоты введены переменные s
и г, обозначающие соответственно ин¬
тенсивность f(x,y) и g(x,y) в любой
точке (х, у). Этот тип преобразования
более подробно обсуждается в разд.
7.6.3.
Один из наиболее часто встречаю¬
щихся методов пространственной обла¬
сти основан на использовании так на¬
зываемых масок свертки (или шабло¬
нов, окон или фильтров). Обычно
маска представляет собой небольшую (например, размерность
3X3) двумерную систему (рис. 7.20), коэффициенты которой
выбираются таким образом, чтобы обнаружить заданное свой¬
ство изображения. Предположим для начала, что дано изобра¬
-1
-1
-1
-1
8
-1
~1
-1
-1
Рис. 7.21. Маска для об¬
наружения отдельных то¬
чек, отличающихся от
постоянного фона.
364
жение с постоянной интенсивностью, которое содержит отдель¬
ные удаленные друг от друга пикселы с отличной от фона ин¬
тенсивностью. Эти точки могут быть обнаружены маской, пока¬
занной на рис. 7.21. Процесс заключается в следующем. Центр
маски (помеченный цифрой 8) перемещается по изображению
определенным образом. При совпадении центра маски с поло¬
жением каждого пиксела производится умножение значений
всех пикселов, находящихся под маской, на соответствующий
коэффициент на маске, т. е.
значение пиксела под цен¬
тром маски умножается на
8, а значения восьми со¬
седних пикселов умножают¬
ся на —1. Затем результа¬
ты этих девяти умножений
суммируются. Если все пик¬
селы под маской имеют оди¬
наковые значения (постоян¬
ный фон), то сумма будет
равна нулю. Если же центр
маски разместится над точ¬
кой с другой интенсивно¬
стью, сумма будет отлична
от нуля. В случае разме¬
щения указанной точки вне
центра сумма также будет
отлична от нуля, но на
меньшую величину. Это
различие может быть устра¬
нено путем сравнения значения суммы с пороговым значе¬
нием.
Если величины w\, шг, ..., w9 представляют собой коэффи¬
циенты маски пиксела (х, у) и его восьми соседей (рис. 7.22),
предыдущее рассмотрение можно представить как выполнение
следующей операции:
h[f(x, у)] = wj (х — 1, у — l) + w2f {х — 1, у) +
+ wj(x — 1, у + 1) + w4f(x, у — 1) +
+ щ! {х, у) + Wsf (х, у + 1) +
+ ш7/(х + 1, у — \) + wsf{x + \, у) +
+ w9f(x+l,y+\) (7.6-3)
на окрестности размерностью 3X3 точки (х, у).
Отметим, что использование окрестности не ограничивается
областями размерностью 3X3 и случаями, которые будут при¬
ведены в дальнейшем, например снижение шума, получение
w3
{х~ \,у - 1)
(X ~ 1, У)
(к - 1 ,у + и
Щ
ws
(Х,У - 1)
(х,у)
(х,у + 1)
w7
Щ
тЧз
(ж + 1,у- 1)
(X + 1 ,у)
(Х+ 1,у + 1)
Рис. 7.22. Общая маска размерностью
3X3 с коэффициентами и соответ¬
ствующими расположениями пикселов
изображения.
365
I
переменных порогов изображения, подсчет измерений параме¬
тров изображения и формирование структуры объекта.
Методы частотной области. К частотной области относится
совокупность комплексных пикселов в виде преобразования
Фурье от изображения. Понятие «частота» используется при
интерпретации преобразования Фурье и вытекает из того факта,
что результат этого преобразования представляет собой сумму
синусоид. Из-за повышения требований к обработке результатов
методы частотной области не так широко используются в тех¬
ническом зрении роботов, как методы пространственной области.
Однако преобразование Фурье играет важную роль при анализе
движения объекта и при описании объекта. Кроме того, многие
пространственные методы для улучшения качества и восстанов¬
ления изображения базируются на концепциях преобразования
Фурье. Более подробно преобразования Фурье и его свойства
изложены в работе [104].
Сначала рассмотрим дискретную функцию одной переменной
f(x), х = 0, 1, 2, ..., N—1. Прямое преобразование Фурье от
f (x) определяется следующим образом;
N-1
F {и) = £ f (х) e~i2nux!N (7.6-4)
л; = 0
для и — 0, 1, 2, ..., N — 1. В этом уравнении / — д/ — 1, а и —
частотная переменная. Обратное преобразование Фурье от F(u)
восстанавливает функцию f(x) и определяется в виде
N-1
/(*)=£ F (и) ■ (7.6-5)
и — 0
для х — 0, 1, 2, ..., N—1. Справедливость этих уравнений, на¬
зываемых парой преобразования Фурье, легко проверяется под¬
становкой уравнения (7.6-4) для F(и) в уравнение (7.6-5), или
наоборот. В обоих случаях получается тождество.
При прямом использовании уравнения (7.6-4) для и =
— 0, I, 2, ..., N—1 требуется V2 операций сложения и
умножения. При применении быстрого преобразования Фурье
(БПФ) число операций сокращается до N\og2N, где предпо¬
лагается, что N — целая степень числа 2. То же самое отно¬
сится к уравнению (7.6-5) для х = 0, 1,2, ..., N— 1. Ряд алго¬
ритмов БПФ реализуется на различных языках программиро¬
вания.
Прямое и обратное двумерные преобразования Фурье для
изображения размерностью NXN определяются формулами
N-1 .V-1
F(u, v) = ~ f(x, y)e~t2n(ux+vy)/N (7.6-6)
x=Q y=0
366
для и, v = О, 1, 2, ..., N — I и
JV-l JV—1
fix* у) = т z Z F (“’ v) еШ (ux+vym (7-6'7)
ц=0 о=0
для х, у = О, 1, 2, N—1. Можно показать, что каждое из
данных уравнений выражается в виде отдельных одноразмерных
сумм в форме уравнения (7.6-4). Это позволяет проводить пря¬
мую процедуру вычисления двумерного преобразования Фурье,
используя только одноразмерный БПФ-алгоритм. Сначала вы¬
числяются и запоминаются преобразования каждой строки
функции f(x, у) (образуется таким образом двумерный массив
промежуточных результатов). Полученные результаты умножа¬
ются на N, и вычисляются одномерные преобразования каждого
столбца. Окончательным результатом является F(и, и). Поря¬
док вычисления строк и столбцов не влияет на конечный ре¬
зультат.
Преобразование Фурье можно использовать, как это пока¬
зано в гл. 8, при решении многих задач систем технического
зрения. Например, с помощью представления границы объекта
в виде одномерного массива точек и вычисления их преобразо¬
вания Фурье полученные значения F(u) могут быть использо¬
ваны в качестве описания формы границы. Одномерное преоб¬
разование Фурье является также эффективным при обнаруже¬
нии движения объекта. Ипользование дискретного двумерного
преобразования Фурье возможно при изменении, увеличении и
восстановлении изображений, хотя, как уже отмечалось, при¬
менение этого метода в промышленных системах технического
зрения до сих пор ограничено сложностью требуемых вычисле¬
ний. В заключение отметим, что двумерное аналоговое преобра¬
зование Фурье может быть осуществлено (со скоростью света)
оптическими средствами. Этот подход, требующий использова¬
ния прецизионного оптического оборудования, применяется в
промышленных условиях для решения таких задач, как про¬
верка качества поверхности металла после финишной обработки.
7.6.2. Сглаживание
Операции сглаживания используются для снижения шума и
других помех, которые могут появляться на изображении в ре¬
зультате дискретизации, квантования, передачи или возмуще¬
ний внешней среды при получении изображения. Ниже рас¬
сматриваются некоторые методы быстрого сглаживания, кото¬
рые могут быть использованы в системах технического зрения
роботов.
Усреднение окрестности. Усреднение окрестности является
прямым методом пространственной области для сглаживания
367
изображения. Для имеющегося изображения f(x, у) процесс за¬
ключается в получении сглаженного изображения g(x, у), ин¬
тенсивность которого в каждой точке (х, у) равна усредненному
значению интенсивности пикселов функции f, содержащихся в
заданной окрестности точки (х,у). Другими словами, сглажен¬
ное изображение получается при использовании соотношения
g(x, У) = ~р J] ^п’ т) (7.6-8)
(п, m) е S
для всех хну функции f(x, у). S — множество координат точек
в окрестности точки (х, у), включая саму точку (х, у), а Р —
общее число точек в окрестности. Отметим путем сравнения
уравнений (7.6-8) и (7.6-3), что для окрестности размерностью
3X3 первое уравнение является частным случаем второго при
Wi — 1/9. Конечно, уравнение (7.6-8) не ограничивается приме¬
нением квадратной формы окрестности, но, как указывалось в
разд. 7.6-1, эта форма наиболее предпочтительна для систем
технического зрения роботов.
Пример. На рис. 7.23 показан эффект сглаживания при усред¬
нении окрестности. Отметим, что степень сглаживания строго
пропорциональна размерности используемой окрестности.
В большинстве процессоров масок сглаженное значение каж¬
дого пиксела определяется до того, как изменяются значения
других пикселов.
Усредненная фильтрация. Одной из принципиальных труд¬
ностей усреднения окрестности является наличие расплывчатых
изображений кромок и других характерных деталей. Эта рас¬
плывчатость часто может быть значительно уменьшена при
использовании так называемых усредняющих фильтров, в кото¬
рых вместо рассмотренного усреднения интенсивность каждого
пиксела заменяется средним значением интенсивности в задан¬
ной окрестности пиксела.
Напомним, что среднее значение М ряда величин предпо¬
лагает, что часть этих величин имеет значение, меньшее М,
а часть — превышающее М. Для осуществления усредненной
фильтрации в окрестности пиксела сначала выделяют значения
пиксела и его соседей, определяют среднее значение и присваи¬
вают это значение пиксела. Например, в окрестности размер¬
ностью 3X3 средним значением является пятая наибольшая
величина, в окрестности размерностью 5X5 — тринадцатая
наибольшая величина и т. д. Когда несколько значений в окре¬
стности равны, они группируются следующим образом. Пред¬
положим, что окрестность размерностью 3X3 содержит вели¬
чины (10, 20, 20, 20, 15, 20, 20, 25, 100). Эти величины группи¬
руются в виде (10, 15, 20, 20, 20, 20, 20, 25, 100), что приводит
к среднему значению 20. Таким образом, основным назначением
368
Рис. 7.23. Изображение с помехами (а). Результат усреднения каждого пик¬
села по его четырем соседям (б) и результаты использования окрестностей
соответственно с размерностями 3X3, 5 X 5, 7 X 7 и 11X11 (8 е)•
усредненной фильтрации является выравнивание интенсивности
выделяющихся точек с интенсивностью соседних точек. Это
позволяет устранить появляющиеся в поле маски фильтра изо¬
лированные пики интенсивности. ,
Рис. 7.24. Исходное изображение (а). Изображение с импульсным шумом (б),
результат использования окрестности размерностью 5X5 (б) и результат
использования усредняющего фильтра размерностью 5X5 (г).
Пример. На рис. 7.24, а показано исходное изображение, а
на рис. 7.24,6 — то же самое изображение, но приблизительно
с 20 %-ным искажением пикселов «импульсным шумом». На
рис. 7.24,s приведен результат усреднения размерностью 5X5,
а на рис. 7.24, г — результат использования усредненного филь¬
тра размерностью 5X5. Преимущество усредненной фильтрации
перед усреднением окрестности очевидно. Три светлые точки,
оставшиеся на рис. 7.24, г, вызваны большой концентрацией
370
шума в этих точках, повлиявшей на вычисление среднего значе¬
ния. Повторное или многократное использование усредненного
фильтра позволяет устранить и эти точки.
Усреднение изображения. Рассмотрим изображение с поме¬
хами g{x,y), которое состоит из суммы шумового сигнала
п(х,у) и неискаженного изображения f(x,y), т. е.
g (х, y) = f (х, у) + п (х, у), (7.6-9)
где предполагается, что шум не коррелирован и имеет нулевое
среднее значение. Целью следующей процедуры является полу¬
чение сглаженного изображения путем задания ряда изображе¬
ний с помехами gi {х, у), i = 1, 2, ..., К.
Если характеристики шума удовлетворяют приведенным огра¬
ничениям, несложно показать [224], что при формировании изо¬
бражения g(x,y) усреднением К различными изображениями
с помехами
к
g(x, = gl у) (7.6-10)
*=1
получим
E{g(x, y)} = f(x, у) (7.6-11)
и
<*!(*> y) = Yan(x’ У)' (7.6-12)
где E{g(x, у)}—ожидаемое значение g, a ol(x, у) и а2п{х, у)—
отклонения g и п. Стандартное отклонение любой точки в усред¬
ненном изображении равно
<у§ (х> У) = -щ оп (х> У)- (7.6-13)
Из уравнений (7.6-12) и (7.6-13) видно, что при возрастании
К отклонения значений пикселов уменьшаются. Поскольку
E{g(x, у)} = / (х, у), то g(x,y) приближается к неискаженному
изображению f(x,y) при увеличении числа изображений с по¬
мехами, используемых в процессе усреднения.
Необходимо отметить, что в рассмотренном методе предпо¬
лагалось фиксированное пространственное расположение изо¬
бражений с помехами при изменении только интенсивностей
пикселов. Для систем технического зрения роботов это озна¬
чает, что все объекты в рабочем пространстве должны быть не¬
подвижны относительно камеры в процессе усреднения. Многие
системы технического зрения имеют возможность выполнения
полного цикла сложения изображений за один дискретный
интервал времени (т. е. за одну тридцатую секунды). Таким
образом, сложение, например, 16 изображений займет время
371
порядка 0,5 с, в течение которого не должно быть движения
объектов.
Пример. Метод усреднения проиллюстрирован на рис. 7.25.
На рис. 7.25, а показано исходное изображение с помехами,
а на рис. 7.25,6—е приведены соответственно результаты усред¬
нения этого изображения с помощью 4, 8, 16, 32 и 64 подобных
изображений. Отметим, что качество достаточно приемлемо
при К — 32.
Сглаживающие дискретные изображения. Дискретные изо¬
бражения получаются при использовании контурного или струк¬
турированного освещения (разд.
7.3) или при определении кромок
или пороговых значений (разд. 7.6.4
и 7.6.5). Условимся обозначать тем¬
ные точки через 1, а светлые точки
через 0. Таким образом, поскольку
изображения состоят из двух зна¬
чений интенсивности, помехи в этом
случае проявляются в виде таких
эффектов, как наличие размытых
границ, небольших окружностей,
стертых углов и отдельных точек.
Основная идея, лежащая в осно¬
ве рассматриваемых в данном раз¬
деле методов, состоит в определении
булевой функции, вычисляемой в
окрестности с центром в пикселе р,
и в присвоении пикселурзначения 1
или 0 в зависимости от простран¬
ственного расположения и дискретных значении соседних пик¬
селов. Из-за ограниченности допустимого времени вычисления
в производственных задачах, для решения которых применяется
техническое зрение, анализ обычно производится в диапазоне
восьми соседних с центральным пикселов. Это определяет ис¬
пользование маски размерностью 3X3 (рис. 7.26). В процессе
сглаживания, во-первых, заполняются небольшие (размером
в один пиксел) пробелы на темных местах изображения, во-
вторых, ликвидируются небольшие дефекты в виде трещин на
прямоугольных сегментах, в-третьих, удаляются изолированные
единичные значения, в-четвертых, спрямляются небольшие вы¬
пуклости вдоль прямоугольных сегментов и, в-пятых, восста¬
навливаются утраченные угловые точки.
На рис. 7.26 два первых из указанных результатов про¬
цесса сглаживания осуществляются с помощью булевого выра¬
жения
£i = Р + Ъ • g • (d + е) + d • е ■ (b + g), (7.6-14)
а
Ь
с
d
Р
е
f
8
И
Рис. 7.26. Соседи пиксела р,
используемые при сглаживании
дискретных изображений. Тем¬
ные пикселы обозначаются че¬
рез 1, а светлые — через 0.
373
где точка и плюс обозначают соответственно логические опера¬
ции И или ИЛИ. По условию темные пикселы, содержащиеся
в поле маски, обозначаются логической единицей, а светлые
пикселы — логическим нулем. Тогда, если Вх~ I, присваиваем
пикселу р значение I, в противном случае — значение 0. Урав¬
нение (7.6-14) применяется одновременно ко всем пикселам,
так как следующее значение положения каждого пиксела
определяется до того, как изменяются значения других пик¬
селов.
Третий и четвертый результаты процесса сглаживания реа¬
лизуются с помощью определения булевого выражения
В2 = Р ■ [(а + b + d) ■ (е + g + h) + (b + с + ё) X
X(d + f + g)} (7.6-15)
одновременно для всех пикселов. Как и прежде, предполагается,
что р = I при В2 = 1 и р = 0 при В2 = 0.
Восстановление точек верхних правых углов производится
с помощью уравнения
В3 = р ■ (d ■ f ■ g) ■ (а + b + с + е + h) + р, (7.6-16)
где чертой обозначено логическое дополнение. Аналогично вос¬
станавливаются точки правых нижних, левых верхних и левых
нижних углов соответственно по уравнениям
S4 = Р ■ (а - b ■ d) ■ (с + е + f + g +/i) + р, (7.6-17)
Вь = р • (е ■ g • h) • (а + Ь + с + d + f) + р (7.6-18)
и
= Р ■ ip • с • е) ■ {а + d + f + g + h) + P- (7.6-19)
Четыре последних уравнения дают пятый результат процесса
сглаживания.
Пример. Рассмотренный метод проиллюстрирован на
рис. 7.27. На рис. 7.27, а приведено дискретное изображение
с помехами, а на рис. 7.27,6 показан результат использования
выражения В\. Отметим, что при этом заполняются пробелы
вдоль границы и внутри темной области изображения. На
рис. 7.27, s дана картина применения выражения В2 к изобра¬
жению на рис. 7.27,6. Как и ожидалось, устранились выпукло¬
сти на границе темной области, а также отдельные точки изо¬
бражения (изображение полностью заполнено нулями от своей
границы до границы темной области). Наконец, на рис. 7.27, г
374
11)11 I 1 1 I 1 1 1
II I I I ill I ill I
1111 I 1 I 1 1 I
iiii i _l i j i 1
l i 71 ГОТ i i Г
i
cl 5
1
1
I
1
1
J
1
1
1
1
1
1
)
i
!
)
1
,1
1
1
1
1
1
1
!
L
1
1
1
1
1
1
I
1
1
1
1
1
.
1
1
1
1
1
1
1
1
1
I
1
1
\
)
)
1
I
1
1
1
1
1
1
1
1
1
I
1
1
1
1
1
1
1
1
6
Рис. 7.27. Исходное изображение (а). Результаты использования выражений
Вj и Вг (б и в) и окончательный результат после использования выражений
Вз-Ве (г).
приведен результат использования выражений В3 — В6 к изо¬
бражению на рис. 7.27, е. В данном случае работает только вы¬
ражение Ва.
7.6.3. Улучшение качества изображения
Одной из принципиальных трудностей во многих задачах
систем технического зрения нижнего уровня является необхо¬
димость автоматической адаптации при изменении освещения.
Возможность компенсации таких эффектов, как тени и блики
на изображении, часто является решающей для успешного вы¬
полнения дальнейшего алгоритма обработки информации.
Ниже рассматривается несколько методов решения этих и по¬
добных задач. Напомним, что улучшение качества является
375
основной целью при обработке цифрового изображения и ана¬
лизе объектов. Мы ограничимся дискретными методами, при¬
годными для систем технического зрения роботов. Под пригод¬
ностью здесь понимается наличие высокого быстродействия и
средней сложности используемого оборудования.
Гистограммное выравнивание. Пусть переменная г обозна¬
чает интенсивность пикселов корректируемого изображения.
Сначала предположим, что г—нормализованная непрерывная
переменная, находящаяся в диапазоне 0 ^ г ^ 1. Дискрет¬
ный случай мы рассмот¬
рим немного ниже.
Для любого г на ин¬
тервале [0, 1] выполня¬
ется преобразование вида
s = T(r),
которое определяет зна¬
чение интенсивности s
для значения каждого
пиксела г в исходном изо¬
бражении. Это предпола¬
гает, что функция преоб¬
разования Т удовлетво¬
ряет условиям:
1. Т(г)—однозначная
и монотонно возрастаю¬
щая на интервале 0 ^
sC 7»< 1.
2. 0< Г(г)^ 1 для 0 ^ г =£7 1.
Первое условие исключает переход с черной шкалы интен¬
сивности на белую, а второе условие гарантирует нахождение
интенсивности изображения в диапазоне от 0 до 1 для всех
значений пикселов. Функция преобразования, удовлетворяющая
этим условиям, показана на рис. 7.28.
Функция обратного преобразования от s к г имеет вид
Рис. 7.28. Функция преобразования интен¬
сивности.
(7.6-21)
где предполагается, что функция Т~' (s) удовлетворяет двум ука¬
занным выше условиям.
Переменные интенсивности г и s квантуются на интервале
10, 1] случайным образом и, следовательно, могут характери¬
зоваться с помощью соответствующих функций плотности ве¬
роятности (ФПВ) рг(г) и ps(s). Основная тональность изобра¬
жения зависит от ФПВ интенсивности. Например, изображение
с пикселами, имеющими ФПВ, которая приведена на рис. 7.29, а,
будет обладать достаточно темной тональностью, поскольку
большинство значений пикселов сконцентрировано на темном
376
участке шкалы интенсивности. С другой стороны, изображение,
в котором пикселы имеют распределение интенсивности, соот¬
ветствующее рис. 7.29,6, будет состоять в основном из светлых
тонов.
Рис. 7.29. ФПВ интенсивности темного изображения (а) и светлого изобра¬
жения (б).
Из теории вероятности следует, что, если рг{г) и Т(г) из¬
вестны, а Т~’ (s)—удовлетворяет первому условию, то ФПВ
преобразованной интенсивности имеет вид
Предположим, что задана функция преобразования вида
где w — вспомогательная переменная интегрирования. Правая
часть этого уравнения представляет собой интегральную функ¬
цию распределения рДг), которая удовлетворяет двум приве¬
денным выше условиям. Производная по s от г для данной
функции преобразования легко определяется выражением
Данное выражение представляет собой равномерную плот¬
ность на интервале существования преобразуемой переменной
s. Отметим, что полученный результат не зависит от обратной
функции преобразования. Это важно, так как часто аналитиче¬
Рг(г)
О
1 t' О
1 j'
а
5
Ps(s) = [pr(r)^\
г = Т~1 (s)
(7.6-22)
Г
S =
Т (г) — ^ pr(w) dw,
(7.6-23)
U
ds , ч
~d7~Pr (/)•
(7.6-24)
Подставляя dr/ds в уравнение (7.6-22), получим
377
ское определение Т~[ (s) представляет большие трудности. Не¬
обходимо также отметить, что использование функции преобра¬
зования, заданной уравнением (7.6-23), дает новую интенсив¬
ность, которая всегда имеет новую ФПВ, не зависящую от
формы рг{г). Данное свойство идеально соответствует авто¬
матической коррекции. Основной эффект рассмотренного преоб¬
разования заключается в выравнивании распределения интен¬
сивностей. Как показано ниже, это существенно влияет на ка¬
чество изображения.
Для использования в цифровой обработке изложенный спо¬
соб должен быть сформулирован в дискретной форме. Для ин¬
тенсивностей рассматриваемых дискретных величин вероятности
задаются соотношением
Рг(г ,)*=■%-, k = 0, 1, 2, L— 1, (7.6-26)
где L — число дискретных уровней интенсивности, рДгД —
оценка вероятности интенсивности гк, пк — число появлений
данной интенсивности на изображении, а п — общее число пик¬
селов на изображении. График зависимости рг(гк) от гк обычно
называют гистограммой, а метод, используемый для получения
равномерной гистограммы, известен и как гистограммная кор¬
рекция или гистограммная линеаризация.
Дискретная форма уравнения (7.6-23) имеет вид
k k
^ = Т>*) = £ (7.6-27)
j=o j=o
для 0 < Г/е < 1 и k — 0, 1, 2, ..., L— 1. Из этого уравнения
следует, что для получения значения sk, соответствующего гк,
производится простое суммирование элементов гистограммы от
О до гк.
Обратное дискретное преобразование имеет вид
rk = T~'(sk), 0<sft<l, (7.6-28)
где предполагается, что как Т(гк), так и T~'(sk) удовлетворяют
двум указанным выше условиям. Хотя функция T~l(sk) не ис¬
пользуется в гистограммной коррекции, она играет основную
роль в гистограммной детализации, рассматриваемой ниже.
Пример. Для иллюстрации гистограммного выравнивания
на рис. 7.30, а показано исходное изображение, а на
рис. 7.30,6 — его гистограмма. Результат использования урав¬
нения (7.6-27) для этого изображения приведен на рис. 7.30, а,
а соответствующая выровненная гистограмма — на рис. 7.30, г.
Лучшее изображение деталей на скорректированной картине
очевидно. Отметим, что при этом гистограмма не является со¬
вершенно ровной, что обычно происходит, когда для дискрет¬
378
ных величин используется метод, полученный для непрерыв¬
ных величин.
Метод задания гистограммы. Гистограммное выравнивание
удобно для автоматической коррекции, поскольку оно основано
на функции преобразования, т. е. однозначно определяется
с помощью гистограммы исходного изображения. Однако этот
метод ограничен в том смысле, что в нем используется только
функция гистограммной линеаризации. Этого недостаточно,
Рис. 7.30. Исходное изображение (а) и его гистограмма (б). Изображение
с выровненной гистограммой (е) и его гистограмма (г) [315].
когда исходной информацией является желаемая форма вы¬
ходной гистограммы. Обобщим теперь гистограммный способ
на случай получения изображения с гистограммой определен¬
ной интенсивности. Как показано ниже, гистограммное вырав¬
нивание является частным случаем этого метода.
Сначала оперируем с непрерывными величинами. Пусть
рг(г) и рг(г) — соответственно исходная и желаемая ФПВ ин¬
тенсивности. Предположим, что заданное изображение с первой
гистограммой выровнено с помощью уравнения (7.6-23), т. е.
Г
s = T(r)=^pr(w)dw. (7.6-29)
о
379
Если желаемое изображение было бы доступно, его уровни
интенсивности также могли бы быть выровнены с использова¬
нием функции преобразования
Z
v = G (z) = ^ pz (w) dw. (7.6-30)
о
Тогда бы обратное преобразование z=G~'(v) восстанав¬
ливало желаемые первоначальные уровни. Это, конечно, гипо¬
тетическое утверждение, поскольку уровни 2—именно то, что
необходимо получить. Отметим, однако, что ps{s) и p0(v) бу¬
дут идентичными равномерными плотностями, так как исполь¬
зование уравнений (7.6-29) и (7.6-30) обеспечивает равномер¬
ную плотность независимо от формы ФПВ под интегралом.
Таким образом, если вместо применения v в обратном преоб¬
разовании использовать обратные уровни s, полученные из
исходного изображения, то результирующие уровни z = G~l(s)
будут иметь желаемую ФПВ Pz{z). В предположении, что
G_1(s) является однозначной функцией, алгоритм можно об¬
общить следующим образом:
1. Выровнять уровни интенсивности исходного изображения
с помощью уравнения (7.6-29).
2. Определить желаемую ФПВ интенсивности и получить
функцию преобразования G(z), используя уравнение (7.6-30).
3. Осуществить обратное преобразование 2= G~'(s) к уров¬
ням интенсивности изображения с выровненной по п. 1 гисто¬
граммой.
Этот алгоритм дает выходное изображение с заданной ФПВ
интенсивности.
Два требуемых для определения гистограммы преобразо¬
вания Т(г) и G_1 (s) можно объединить в одно преобразование
z==G-1(s) = G_1[^(r)], (7.6-31)
которое связывает г с 2. Отметим, что при G“‘ [Т (г) ] = Т (г)
этот метод сводится к гистограммному выравниванию.
Из уравнения (7.6-31) видно, что исходное изображение не
нуждается в точном гистограммном выравнивании для опреде¬
ления гистограммы. При этом требуется только, чтобы функция
Т(г) зависела и связывалась с G-1 (s) одним преобразованием,
т. е. могла быть применена непосредственно к исходному изо¬
бражению. Основная трудность использования двух преобразо¬
ваний или их совместного выражения (7.6-31) для непрерывных
переменных заключается в аналитическом определении обрат¬
ной функции. В дискретном случае эта проблема упрощается
из-за обычно сравнительно небольшого (например, 256) числа
отдельных уровней, что делает осуществимым подсчет и хране¬
ние информации о каждом возможном целом значении пиксела.
380
Формулировка данного алгоритма для дискретного случая
сходна с дискретным выражением, рассмотренным в предыду¬
щем разделе:
sk = т (rk) = Z Рг (г,-),
i = О
i
G (zt) = Е dz (zj)
1=0
(7.6-32)
(7.6-33)
(7.6-34)
где pr(rj) вычисляется из исходного изображения, a pz{Zj) за¬
дается.
Рис. 7.31. Исходное изображение (а) и результат гистограммного выравнива¬
ния (б). Заданная гистограмма (в) и результат использования метода зада¬
ния гистограммы (а) [315].
Пример. Иллюстрация метода задания гистограммы приве¬
дена на рис. 7.31. На рис. 7.31, а показано исходное изображе¬
ние, а на рис. 7.31,6 — результат выравнивания. На рис. 7.31, а
изображена заданная гистограмма, а на рис. 7.31, г — резуль¬
тат использования этой гистограммы с помощью рассмотрен¬
ного алгоритма. Отметим, что в данном случае применение
гистограммного выравнивания мало влияет на качество изо¬
бражения.
Локальное улучшение качества. Приведенные методы гисто¬
граммного выравнивания и задания гистограммы являются об¬
щими в смысле изменения интенсивности пикселов с помощью
функции преобразования на всем поле изображения. Хотя эти
методы дают общее улучшение качества, часто необходимо
выделить детали на достаточно малых участках изображения.
Поскольку качество пикселов на этих участках может мало
влиять на вычисления при преобразовании всего изображения,
использование общих методов редко приводит к улучшению
качества на малых участках. Решением данной проблемы яв¬
ляется усовершенствование функций преобразования, осно¬
ванных на распределении интенсивности или на других свой¬
ствах, в окрестности каждого пиксела заданного изображения.
Рассмотренные выше гистограммные методы легко транс¬
формируются для локального улучшения качества. Трансфор¬
мация заключается в определении окрестности размерностью
«Хт и в перемещении ее центра от пиксела к пикселу. В каж¬
дом положении вычисляется гистограмма точек в данной
окрестности и определяется функция преобразования гисто¬
граммного выравнивания или функция преобразования метода
задания гистограммы. Эта функция служит для отображения
интенсивности пиксела, расположенного в центре окрестности.
Затем центр участка размерностью «X т перемещается на со¬
седний пиксел и процесс повторяется. Поскольку при переме¬
щении участка от пиксела к пикселу меняется только один
новый ряд или столбец окрестности, то можно осуществить
пересчет гистограммы, полученной для предыдущего положения
с новыми параметрами, появляющимися на каждом шаге дви¬
жения. Этот метод имеет очевидные преимущества перед мето¬
дом с повторяющимися вычислениями гистограммы всех точек
области п X т при ее перемещении каждый раз на один пик¬
сел. Другим способом, часто используемым для упрощения
вычислений, является применение непересекающихся областей.
Это, однако, приводит к появлению нежелательного шахмат¬
ного распределения интенсивности на изображении.
Пример. Локальное гистограммное выравнивание с переме¬
щением окрестности от пиксела к пикселу проиллюстрировано
на рис. 7.32. На рис. 7.32, а показано изображение с пятью тем¬
ными квадратными участками на фоне с постоянной интенсив¬
ностью. Изображение слегка расплывчато в результате ис¬
пользования маски размерностью 7X7 для уменьшения шума
(разд. 7.6.2). На рис. 7.32,6 приведен результат гистограмм¬
ного выравнивания. Наиболее характерной особенностью этого
изображения является увеличение помех, что обычно происхо¬
дит при использовании в этом методе изображений с шумом,
382
даже если они были предварительно сглажены перед вырав¬
ниванием. На рис. 7.32, в показан результат локального гисто-
граммного выравнивания с применением окрестности размер¬
ностью 7X7. Отметим, что на темных участках изображения
обнаружилась внутренняя структура, которая не была видна
ни на одном из двух предыдущих изображений. Помехи по
a
t- - , 13
Рис. 7.32. Исходное изображе-
.. .. - . 4 ние (а) и результат общего
У * , *’ гистограммного выравнивания
.«*- • ' (б). Результат локального ги-
*л ‘. •; стограммного выравнивания с
*• * • "" ’ ' * ' использованием окрестности
размереюстью 7X7 для каж¬
дого пиксела (в).
сравнению с исходным изображением выросли, но их величина
намного меньше, чем на втором изображении, благодаря локаль¬
ности метода. Этот пример наглядно показывает необходимость
локального улучшения качества, когда интересующие детали
слишком малы, чтобы существенно влиять на общие характе¬
ристики методов обработки целого изображения.
Качество изображения на локальных участках можно улуч¬
шать, используя другие параметры интенсивностей пикселов
в окружности. Двумя такими часто используемыми парамет¬
рами являются среднее значение интенсивности и изменение
интенсивности (или стандартное отклонение). Среднее значе¬
ние— это мера средней яркости, а изменение интенсивности —
383
'I
мера контрастности изображения. Типичное локальное преоб¬
разование, основанное на этих параметрах, переводит интенсив¬
ность исходного изображения f(x,y) в интенсивность нового
изображения g(x,y) путем осуществления следующей опера¬
ции над расположением (х, у) каждого пиксела:
g (х, у) — А (х, у) [/ (х, у) — т (х, у)] + т (х, у), (7.6-35)
где
А(х, y) = kT^y, 0<k<\. (7.6-36)
8 I.'
Рис. 7.33. Изображения до (а) и после (б) локального улучшения качества
[2071.
ные для окрестности с центром в точке (х,у), М — среднее зна¬
чение всей функции f(x,y), a k — постоянная из указанного
диапазона.
Важно отметить, что А, т и а — переменные величины, ко¬
торые зависят от заданной окрестности точки (х,у). Локаль¬
ные изменения увеличиваются за счет умножения разности
между f(x,y) и локальным средним значением на локальный
коэффициент А(х,у). Поскольку величина А(х,у) обратно про¬
порциональна стандартному отклонению интенсивности, уча¬
стки с низкой контрастностью имеют большее усиление. Сред¬
нее значение подставляется снова в уравнение (7.6-35) для вос¬
становления среднего уровня интенсивности изображения на
локальном участке. На практике желательно подставлять часть
среднего значения и ограничивать изменение функции А(х,у\
в пределах [Лмин, Лмакс] для уравновешивания больших откло¬
нений интенсивности на отдельных участках.
384
Пример. Оборудование для реализации метода улучшения
качества изображения и способ обработки изображения в ре¬
альном масштабе времени (т. е. со скоростью 30 кадров в 1 с)
описаны в работе [207]. Пример возможностей метода, исполь¬
зующего локальный участок размером 15X15 пикселов, приве¬
ден на рис. 7.33. Заметно улучшение качества изображения де¬
талей на границе между двумя областями различных интенсив¬
ностей, а также улучшение воспроизведения интенсивности
внутри каждой из этих областей.
7.6.4. Определение кромок
Определение кромок занимает центральное место при об¬
работке информации в системах технического зрения, представ¬
ляя собой начальный этап реализации многочисленных алго¬
ритмов идентификации объектов. В этой главе рассматриваются
основные методы определения точек кромок. Способы после¬
дующей обработки этих точек излагаются в гл. 8.
Основные положения. Основным принципом большинства
методов определения кромок является вычисление частных
производных. Поясним это положение с помощью рис. 7.34.
На рис. 7.34, а приведены изображение светлого объекта про¬
стой формы на темном фоне, кривая интенсивности вдоль го¬
ризонтальной линии сканирования изображения, а также пер¬
вая и вторая производные этой кривой. Отметим, что участки
кривой, соответствующие кромке (переход от темной области
к светлой), представляют собой наклонные, а не вертикальные
линии, какие должны быть в случае резкого изменения интен¬
сивности. Это отражает тот факт, что кромки на цифровом
изображении в результате дискретизации обычно слегка
размыты.
В указанной модели кромки первая производная всех уча¬
стков кривой с постоянной интенсивностью равна нулю и яв¬
ляется постоянной величиной на участках изменения интенсив¬
ности. С другой стороны, вторая производная равна нулю на
всех участках, кроме начальных и конечных точек изменения
интенсивности. С учетом этого очевидно, что величина первой
производной может быть использована для обнаружения нали¬
чия кромки, а знак второй производной — для определения
того, на темной (фон) или на светлой (объект) стороне кромки
располагается пиксел кромки. Например, знак второй произ¬
водной (рис. 7.34, а) положителен для пикселов, расположен¬
ных на внешних сторонах кромок объекта, и отрицателен для
пикселов внутренних светлых сторон этих кромок. Те же рас¬
суждения справедливы для случая нахождения темного объ¬
екта на светлом фоне (рис. 7.34.6). Отметим, что знак второй
13 К. фу и др.
385
производной при этом также позволяет определить переход
интенсивности на кромке.
Хотя данное рассмотрение ограничивается одномерным го¬
ризонтальным профилем, аналогично можно определять кромки
при любой их ориентации на изображении. Для этого изучается
/зо8ра-
а/сение
11
У/
УУУ/
У/У
У/У
II
111
ш
ж.
Кривая интен¬
сивности по |
горизонтальной^.
линии
I
I
Лербая произ¬
водная
Вторая произ¬
водная
Т
а
I—1
И
Рис. 7.34. Определение кромок с помощью производных, а) — светлый объект
на темном фоне, б) — темный объект на светлом фоне.
профиль, перпендикулярный к направлению кромки в любой
заданной точке, а результаты находятся указанным выше об¬
разом. Как показано ниже, первая производная в любой точке
изображения получается из величины градиента в этой точке,
а вторая производная определяется с помощью преобразования
Лапласа.
386
Вычисление градиента. Градиент изображения f(x, у) в точке
(х, у) определяется как двумерный вектор
Г df
[ Gxi ДГ
G[/(x, ^/)] = [ G J = а/
Я L ду
(7.6-37)
Из векторного анализа известно, что вектор G указывает
направление максимального изменения функции / в точке
(х,у). Однако при определении кромок представляет интерес
величина этого вектора, называемого обычно градиентом п
обозначаемого как G[f(x, у)], где
В [f И, у)] = \а\ + О*)* = [(£)’ + (^)Т • (7.6-38)
На практике, как правило, градиент аппроксимируется абсо¬
лютными значениями
G[f(x, y)\^\Gx\ + \Gy\. (7.6-39)
Эта аппроксимация значительно упрощает реализацию ме¬
тода, в особенности при использовании распространенного обо¬
рудования.
Из уравнения (7.6-38) следует, что вычисление градиента
основано на нахождении первых производных df/dx и df/dy.
Для цифрового изображения это можно сделать несколькими
путями. Один из подходов состоит в использовании разности
между соседними пикселами
G* = |r = /(*, £)-/(*“ !. 0), (7.6-40)
Gy = -^ = f(x, y)-f(x, у-1). (7.6-41)
Несколько более сложный способ включает пикселы в окре¬
стности размерностью 3 X 3 с центром в точке (лг, у):
Gx = = [f (х + 1, у — 1) + 2/ (х + 1, у) + f (х -j- 1, у -j- 1)1 —
— U (х — Г У — 1) + 2/ (х — 1, у) + / (х — 1, у -j- 1)] =
= (g + 2h + i)-(a+2b + c), (7.6-42)
G«=W==[{x'1' y+V + 2f(x’ У+ V + f(x+ 1- У + l)]~
— {f(x— 1, у — l) + 2f(x, у — \) + f(x+ 1, у — 1)] =
= (с -Г 2е -Г г) — (а -j- 2d -j- g), (7.6-43)
где буквы от а до i обозначают соседние точки центра (х,у).
Окрестность размерностью 3X3 точки (х, у) в упрощенной
13* 387
записи показана на рис. 7.35, а. Отметим, что ближайшие
к точке (х, у) пикселы в данном варианте определения производ¬
ных цифрового изображения имеют значение, равное 2. Вычисле¬
ние градиента в области размерностью 3X3 имеет преимущество
по сравнению с использованием уравнений (7.6-40) и (7.6-41)
в смысле большего усреднения, что делает градиент менее чув¬
ствительным к помехам. В принципе возможно применение и
более широких окрестностей для нахождения градиента, но
а
Ь
с
d
(*,У)
е
?
h
i
-1
-2
-1
0
0
0
1
г
1
5
Рис. 7.35. Окрестность
размерностью 3X3 точ¬
ки (х, у) (а) и маски
для вычисления Gx и Gy
(6 И б).
в промышленных системах технического зрения распространено
использование размерности 3X3 благодаря высокой скорости
вычислений и умеренным требованиям к оборудованию для
этого случая.
В соответствии с изложенным в разд. 7.6.1 значение Gx по
уравнению (7.6-42) можно определить с помощью маски
(рис. 7.35, б). Аналогично находится и значение Gy (рис. 7.35, в).
Эти две маски обычно называются операторами Собеля. Ис¬
пользование данных масок в произвольной точке (х, у) соче¬
тает в себе результат применения уравнений (7.6-38) или (7.6-39)
в виде аппроксимации градиента в этой точке. Перемещая
маски по изображению f(x,y), получают градиенты во всех его
точках.
Существует множество способов формирования выходного
изображения g(x,y), основанных на вычислении градиента.
Простейшим способом является задание функции g в точке
-1
0
1
-2
О
2
-1
0
1
в
388
{х,у) значения, равного величине градиента входного изобра¬
жения / в этой точке, т. е.
g{x, y) = G[f{x, у)]. (7.6-44)
Пример использования такого подхода при получении гра¬
диентного изображения приведен на рис. 7.36.
Рис. 7.36. Исходное изображение (а) и результат использования уравнения
(7.6-44) (б).
Другим способом получения дискретного изображения яв¬
ляется применение следующих соотношений:
f 1 при G[f(x,y)]>T, /7К,йг
8(х,у) —10 при G[f(x,y)}^T, ( *
где Т — неотрицательная пороговая величина. В этом случае
имеют значения только пикселы кромки, градиенты которых
превышают величину Т. Таким образом, использование уравне¬
ния (7.6-45) может рассматриваться как процесс выделения
только тех пикселов, которые характеризуются значительным
(определенным величиной Т) перепадом интенсивности. Даль¬
нейший анализ полученных пикселов обычно требует стирания
отдельных точек и связывания пикселов вдоль соответствующих
контуров, которые однозначно определяют объекты на изобра¬
жениях. Применение для этих целей уравнения (7.6-45) рас¬
сматривается и иллюстрируется в разд. 8.2.1.
Оператор Лапласа. Оператор Лапласа является оператором
производных второго порядка вида
L[f(x, у)} = ^2+^2- (7.6-46)
389
Для дискретных изображений оператор Лапласа опреде¬
ляется следующим образом:
L [/ {х, у)\ = [/ (х -f- 1, у) -f- / (х — 1, у) / (х, у -f- 1) +
+ f(x, у- 1)3 — 4/ (.г, у). (7.6-47)
Эта цифровая запись оператора Лапласа дает нуль на участках
постоянной интенсивности и на участках изменяющейся интен¬
сивности на кромках, что характерно
для производной второго порядка. Ре¬
шение уравнения (7.6-47) может быть
основано на применении маски, данной
на рис. 7.37.
Хотя, как было отмечено в начале
этого раздела, оператор Лапласа опре¬
деляет переход интенсивности, он редко
сам по себе используется для нахожде¬
ния кромки. Дело в том, что, являясь
оператором производных второго поряд¬
ка, оператор Лапласа дает результат
обычно очень чувствительный к помехам.
Таким образом, этот оператор, как пра¬
вило, выполняет второстепенную роль при определении, на ка¬
кой из сторон (темной или светлой) кромки находится данный
пиксел.
7.6.5. Пороговое разделение
Пороговое разделение является одним из основных методов,
используемых в промышленных системах технического зрения
для обнаружения объектов, особенно в случаях, когда требуется
наличие высокой пропускной способности системы. В данном
разделе рассматриваются особенности порогового разделения,
которые относятся к нижнему уровню обработки информации.
Применение порогового разделения на более высоком уровне
обработки излагается в гл. 8.
Предположим, что гистограмма интенсивности (рис. 7.38, а)
соответствует изображению f(x, у), состоящему из светлых объ¬
ектов на темном фоне. При этом интенсивности пикселов объек¬
тов и фона разделяются на две выделяющиеся части. Одним из
очевидных путей отделения объектов от фона является выбор
порогового значения Т, которое разделяет эти группы интенсив¬
ностей. Тогда любая точка (х, у), для которой f(x, у) > Г, при¬
надлежит объекту, а в противном случае — фону. Несколько бо¬
лее общий вариант этого подхода показан на рис. 7.38, б, где
гистограмма изображения характеризуется тремя отдельными
частями, соответствующими, например, двум светлым объектам
0
1
0
1
-4
1
0
1
0
Рис. 7.37. Маска для вы¬
числения оператора Лап¬
ласа.
390
на темном фоне. В этом случае используется тот же подход, и
точка {х, у) классифицируется как принадлежащая к первому
объекту при Т\ < f{x, у) ^ Т2, ко второму объекту при
f(x,y) > Т2 и к фону при f(x, у) < Гь
Данный вариант многоуровнего порогового разделения обыч¬
но менее надежен, чем одноуровневый вариант, из-за трудности
установки нескольких по¬
роговых значений, кото¬
рые эффективно разделя¬
ли бы интересующие об¬
ласти гистограммы, осо¬
бенно когда их число до¬
статочно велико. Обычно
такие задачи при исполь¬
зовании порогового раз¬
деления лучше решаются
с помощью одной меняю¬
щейся пороговой величи¬
ны (гл. 8).
В соответствии с изло¬
женным подходом можно
рассматривать пороговое
разделение как опера¬
цию, включающую дей¬
ствия с функциейТв виде
Т = Т[х, у, р(х, у),
f(x,y)\, (7.6-47)
где f(x, у)—интенсив¬
ность точки (х,у), а р(х,
у) обозначает некоторое
частное свойство этой
точки, например сред¬
нюю интенсивность окре¬
стности с центром в точ¬
ке (х,у). Пороговое изо¬
бражение получается путем определения
( 1 при / {х, у) > Т,
*(х’*) = {<> при /(*,*,)< Т. (7-6‘48>
Таким образом, на изображении g(x, у) пикселы со значе¬
нием 1 (или с любым другим соответствующим уровнем интен¬
сивности) относятся к объектам, в то время как пикселы со зна¬
чением 0 относятся к фону.
а
S
Рис. 7.38. Гистограммы интенсивности, ко¬
торые могут быть разделены с помощью
(а) одного порогового значения и (б) не¬
скольких пороговых значений.
391
Когда величина Т зависит только от f(x, у), порог называется
глобальным. Пр имер такого порога приведен на рис. 7.38, а.
Если величина Т зависит как от f(x,y), так и от р(х,у), то по¬
рог называется локальным. Если к тому же величина Т зависит
от пространственных координат х и у, порог называется дина¬
мическим. К нижнему уровню технического зрения относят ме¬
тоды порогового разделения, которые основаны на одной гло¬
бальной величине Т. Поскольку пороговое разделение играет
Рис. 7,39. (а) Исходное изображение,
(б) Гистограмма интенсивности в диа¬
пазоне от 0 до 255, (в) Изображе¬
ние, полученное по уравнению (7.6-48),
с глобальным порогом Т = 90.
центральную роль при выделении объектов, его более сложные
варианты относятся к среднему уровню технического зрения.
Простой пример глобального порогового разделения показан на
рис. 7.39.
7.7. ЗАКЛЮЧЕНИЕ
Представленный в этой главе материал охватывает широкий
круг методов обработки информации, обычно относящихся к
нижнему уровню технического зрения. Как отмечено в разд. 7.1,
системы технического зрения решают пространственные задачи,
и большинство алгоритмов (особенно на нижнем уровне) осно¬
392
ваны на изображениях трехмерных объектов. Важными методами
для получения информации о глубине изображения являются
методы измерения, изложенные в разд. 7.2, и методы структури¬
рованного освещения, описанные в разд. 7.3. Отметим, что мно¬
гие изложенные способы имеют гораздо большую область при¬
менения. Показательным примером является улучшение каче¬
ства изображения, которое долго оставалось трудной задачей
при обработке цифровых изображений. Одним из основных тре¬
бований при использовании систем технического зрения — предъ¬
являемые и часто противоречащие друг другу требования низ¬
кой стоимости и высокого быстродействия.
Литература
Более подробный материал по оборудованию для получения
изображений дан в [79, 119, 74]. Тема, изложенная в раз¬
деле 7.3, основана на работах [201, 121, 203]. Преобразования,
рассмотренные в разделах 7.4.1 и 7.4.2, могут быть найдены в
большинстве книг по вычислительной графике, например в
[212]. Дополнительные сведения по моделированию и калиб¬
ровке камер находятся в [66, 317]. Обзорная статья [12] содер¬
жит обширное количество ссылок на литературу по обработке
стереоизображений.
Материал раздела 7.5 базируется на работах [288, 252], а
раздела 7.6,1 — на [104]. Подробности использования усредняю¬
щих факторов даны в [129, 314, 44], а метод сглаживания путем
усреднения изображения — в [148]. Методы сглаживания для
дискретных изображений, рассмотренные в разделе 7.6.2, осно¬
ваны на статье [295].
Материал раздела 7.6,3 соответствует работам [101, 315].
Детальное изложение локального улучшения качества дано в
[143, 114, 207], а методов определения кромок — в [249]. Более
поздний обзор этих методов находится в [54]. Результаты в дан¬
ной области, учитывающие быстродействие методов, приведены
в еще более поздних работах [153, 44]. С вводным материалом
по определению кромок можно ознакомиться в [104]. Книга
[252] содержит подробное описание методов порогового разде¬
ления. Представляет интерес также обзорная статья [305].
Упражнения
7.1. Какой объем памя1и требуется для запоминания информации изо¬
бражения размерностью 512X512, в котором каждый пиксел может иметь
256 значений интенсивности.
7.2. Предложите метод, в котором используется одна световая плоскость
для определения диаметра цилиндрических объектов. Предполагается, что
используется линейная камера с разрешающей способностью в N пикселов, а
также что расстояние между камерой гг центром цилиндров постоянно.
393
7.3. (а) Рассмотрите точность вашего решения задачи 7.2 с точки зрения
разрешающей способности камеры (N точек на одной линии) и максималь¬
ного диаметра цилиндра DMaкс. (б) Какова максимальная ошибка, если N
равно 2048, a DMaKC = 1 м?
7.4. Определите изображение пространственной точки с координатами
(1/2, 1/2, л/272) лежащей на оптической оси ка.меры, размещенной в точке
(0, 0, 2) под углом 135° с наклоном 135°. Предполагается, что используется
50-мм линза, а г\ == Гг = Гг — 0.
7.5. Из уравнения (7.4-41) получите уравнения (7.4-42) и (7.4-43).
7.6. Покажите, что расстояние П4 между двумя точками р п q равно
кратчайшему из четырех путей между этими точками.
7.7. Покажите, что метод преобразования Фурье для подсчета F (и)
может быть использован без вычисления обратных преобразований.
7.8. Проверьте, что подстановка уравнения (7.6-4) в уравнение (7.6-5)
дает тождество.
7.9. Приведите булевское выражение, эквивалентное уравнению (7.6-16),
для окна размерностью 5X5.
7.10. Разработайте процедуру для вычисления среднего значения распо¬
ложения соседних элементов в области размерностью п + п.
7.11. Объясните, почему метод дискретного выравнивания гистограммы
не дает в общем случае ровной гистограммы.
7.12. Предложите метод вычисления локальной гистрограммы для ме¬
тода улучшения качества, рассмотренного в пункте 7.6.3.
7.13. Результаты, полученные за один проход через изображение некото¬
рых двумерных масок, могут быть получены также с помощью двух прохо¬
дов одномерной маски. Например, результат использования сглаживающей
маски размерностью 3X3 с коэффициентами 1/9 (см. п. 7.6.2) может быть
получен также с помощью одного прохода через изображение маски [1 1 1}
г11
и второго прохода через маску I 1 I. Полученный результат умножается
на 1/9. Покажите, что маски Собеля (рис. 7.35) могут быть получены с по¬
мощью одного прохода дифференциальной маски вида [—1 0 1] (или ее
вертикального эквивалента), а также сглаживающей маски вида [1 2 1] (или
ее вертикального эквивалента).
7.14. Покажите, что дискретное преобразование Лапласа, данное в урав¬
нении (7.6-47), пропорционально с коэффициентом —1/4 вычитанию из f(x,y)
среднего четырех соседей (х, у).
Глава 8.
СИСТЕМЫ ТЕХНИЧЕСКОГО ЗРЕНИЯ
ВЫСОКОГО УРОВНЯ
Только художник может создать про¬
изведение, которое затрудняет вос¬
приятие.
Теодор Гилл
8.1. ВВЕДЕНИЕ
С целью классификации методов и подходов, используемых в си¬
стемах технического зрения, мы рассмотрели в разд. 7.1 три ос¬
новных подкласса: зрение низкого, среднего и высокого уров¬
ней. Системы технического зрения низкого уровня, подробно
рассмотренные в гл. 7, предназначены для обработки информа¬
ции с датчиков очувствления.
Эти системы можно отнести к классу «интеллектуальных»
машин, если они обладают следующими признаками (призна¬
ками интеллектуального поведения):
1) возможностью выделения существенной информации из
множества независимых признаков;
2) способностью к обучению на примерах и обобщению этих
знаний с целью их применения в новых ситуациях;
3) возможностью восстановления событий по неполной ин¬
формации;
4) способностью определять цели и формулировать планы
для достижения этих целей.
Создание систем технического зрения с такими свойствами
для ограниченных видов рабочего пространства в принципе воз¬
можно, но характеристики таких систем далеки от возможностей
человеческого зрения. В основе технического зрения лежит ана¬
литическая формализация, направленная на решение конкрет¬
ных задач. Машины с сенсорными характеристиками, близкими
к возможностям человека, по-видимому, появятся еще не скоро.
Однако отметим, что копирование природы не является единст¬
венным решением этой проблемы. Читателю наверняка известны
ранние экспериментальные образцы аэропланов с машущими
крыльями и другими особенностями полета птиц. Современное
решение задачи о полете в пространстве в корне отличается от
решений, подсказанных природой. По скорости и достижимой
высоте самолеты намного превосходят возможности птиц.
Как уже говорилось в разд. 7.1, системы технического зрения
среднего уровня связаны с задачами сегментации, описания и
395
распознавания отдельных объектов. Как будет видно из следую¬
щих разделов, эти задачи охватывают множество подходов, ос¬
нованных на аналитических представлениях. Системы техниче¬
ского зрения высокого уровня решают проблемы, рассмотренные
выше. Для более ясного понимания проблем технического зре¬
ния высокого уровня и его связи с техническим зрением низкого
и среднего уровней введем ряд ограничений и упростим решае¬
мую задачу.
8.2. СЕГМЕНТАЦИЯ
Сегментацией называется процесс подразделения сцены на
составлящие части или объекты. Сегментация является одним
из основных элементов работы автоматизированной системы
технического зрения, так как именно на этой стадии обработки
объекты выделяются из сцены для дальнейшего распознавания
и анализа. Алгоритмы сегментации, как правило, основываются
на двух фундаментальных принципах: разрывности и подобии.
В первом случае основной подход основывается на определении
контуров, а во втором—на определении порогового уровня и
расширении области. Эти понятия применимы как к статиче¬
ским, так и к динамическим (зависящим от времени) сценам.
В последнем случае движение может служить мощным средст¬
вом для улучшения работы алгоритмов сегментации.
8.2.1. Проведение контуров и определение границы
Методы, приведенные в разд. 7.6.4, определяют разрывы в
интенсивности представления образа объекта. В идеальном слу¬
чае эти методы определяют пикселы, лежащие на границе меж¬
ду объектом и фоном. На практике данный ряд пикселов редко
полностью характеризует границу из-за шума, разрывов на гра¬
нице вследствие неравномерной освещенности и других эффек¬
тов, приводящих к размытию изображения. Таким образом, ал¬
горитмы обнаружения контуров сопровождаются процедурами
построения границ объектов из соответствующих последователь¬
ностей пикселов. Ниже рассмотрено несколько методик, при¬
годных для этой цели.
Локальный анализ. Одним из наиболее простых подходов
соединения точек контура является анализ характеристик пик¬
селов в небольшой окрестности (например, в окрестности раз¬
мером 3X3 или 5X5) каждой точки (х, у) образа, который
уже подвергся процедуре обнаружения контура. Все точки, яв¬
ляющиеся подобными (определение критерия подобия дано
ниже), соединяются, образуя границу из пикселов, обладающих
некоторыми общими свойствами.
396
При таком анализе для установления подобия пикселов кон¬
тура необходимо определить: 1) величину градиента, требуемого
для построения контурного пиксела, и 2) направление градиен¬
та. Первая характеристика обозначается величиной G[f(x, у)],
определенной в уравнении (7.6-38) или (7.6-39). Таким образом,
пиксел контура с координатами (ху') подобен по величине в
определенной ранее окрестности (х, у) пикселу с координатами
(х, у), если справедливо неравенство
I G [/ (х, у)] — G[f (х', у')1\<Т, (8.2-1)
где Т — пороговое значение.
Направление градиента устанавливается по углу вектора
градиента, определенного в уравнении (7.6-37), т. е.
0 — arctg [-gj] > (8.2-2)
где 0 — угол (относительно оси х), вдоль которого скорость из¬
менения имеет наибольшее значение, как показано в разд. 7.6.4.
Тогда можно сказать, что угол пиксела контура с координата¬
ми (х', у') в некоторой окрестности (х, у) подобен углу пиксела
с координатами (х, у) при выполнении следующего неравенства:
| 0 — 0' | < А, (8.2-3)
где А — пороговое значение угла. Необходимо отметить, что на¬
правление контура в точке (х, у) в действительности перпенди¬
кулярно направлению вектора градиента в этой точке. Однако
для сравнения направлений неравенство (8.2-3) дает эквивалент¬
ные результаты.
Основываясь на этих предположениях, мы соединяем точку
в некоторой окрестности (х, у) с пикселом, имеющим коорди¬
наты (х,у), если удовлетворяются критерии по величине и
направлению. Двигаясь от пиксела к пикселу и представляя
каждую присоединяемую точку как центр окрестности, процесс
повторяется для каждой точки образа. Для установления соот¬
ветствия между уровнями интенсивности освещения и последо¬
вательностями пикселов контура применяется стандартная биб¬
лиотечная процедура.
Пример. В качестве иллюстрации описанной выше процеду¬
ры рассмотрим образ задней дверцы автомобиля, приведенный на
рис. 8.1,а. Цель состоит в определении размеров прямоугольни¬
ков, с помощью которых можно построить качественное изобра¬
жение. Построение таких прямоугольников осуществляется в ре¬
зультате определения строго горизонтальных и вертикальных
контуров. На рис. 8.1,6 и в показаны горизонтальные и вер¬
тикальные компоненты операторов Соболя, рассмотренные в
разд. 7.6.4. На рис. 8.1, г показаны результаты соединения точек,
которые одновременно имеют градиенты больше 25 и направле¬
397
ния этих градиентов отличаются не более чем на 15 градусов.
Горизонтальные линии построены путем последовательного при¬
менения этих критериев к каждой строке изображения
(рис 8.1,б), а вертикальные линии—последовательным скани¬
рованием изображения (рис. 8.1,6) по столбцам. Дальнейший
Н|
ч
Рис. 8.1. Исходный образ (а), горизонтальная составляющая градиента (б),
вертикальная составляющая градиента (а) и результат соединения точек
контура (г). Предоставлено фирмой Perceptics.
процесс состоял в соединении сегментов контура, разделенных
небольшими промежутками, и в объединении отдельных корот¬
ких сегментов.
Глобальный анализ с помощью преобразования Хоуга. Рас¬
смотрим метод соединения граничных точек путем определения
их расположения на кривой специального вида. Первоначально
предполагая, что на плоскости ху образа дано п точек, тре¬
398
буется найти подпоследовательности точек, лежащих на прямых
линиях. Одно из возможных решений состоит в построении всех
линий, проходящих через каждую пару точек, а затем в нахож¬
дении всех подпоследовательностей точек, близких к определен¬
ным линиям. Задача, связанная с этой процедурой, заключается
в нахождении п{п— 1)/2 ~ п2 линий и затем в осуществлении
п[п(п—1) ] /2 ~ л3 сравнений каждой точки со всеми линиями.
Этот процесс трудоемок с вычислительной точки зрения за ис¬
ключением самых простых приложений.
Данную задачу можно решить по-другому, применяя подход,
предложенный Хоугом и называемый преобразованием Хоуга
[127]. Рассмотрим точку (х;, р,) и общее уравнение прямой ли¬
нии Р; = axi -f b. Имеется бесконечное число линий, проходящих
Рис. 8.2. Плоскость ху (а) и пространство параметров (б).
через точку (х,-, р,), но все они удовлетворяют уравнению р,-=
= axi-\-b при различных значениях а и Ь. Однако, если мы за¬
пишем это уравнение в виде Ь=—х,а + р,- и рассмотрим пло¬
скость ab (пространство параметров), тогда мы имеем уравне¬
ние одной линии для фиксированной пары чисел (х(, Pi). Более
того, вторая точка (ху, р/) также имеет в пространстве пара¬
метров связанную с ней линию, которая пересекает другую ли¬
нию, связанную с точкой (х/, р,) в точке (а', Ь'), где значения
а' и Ь' — параметры линии, на которой расположены точки (х,-,
Pi) и (х/, у/) в плоскости ху. Фактически все точки, расположен¬
ные на этой линии, в пространстве параметров будут иметь ли¬
нии пересечения в точке (а', Ь') (рис. 8.2).
Вычислительная привлекательность преобразования Хоуга
заключается в разделении пространства параметров на так на¬
зываемые собирающие элементы (рис. 8.3), где (амакс, Имин) и
(Ьмакс, Ьмкн)—допустимые величины параметров линий. Соби¬
рающий элемент A(i, /) соответствует площади, связанной с ко¬
ординатами пространства параметров (а,-, Ь,). Вначале эти эле-
399
г
менты считаются равными нулю. Тогда для каждой точки (Хк,
Ук) в плоскости образа мы полагаем параметр а равным каж¬
дому из допустимых значений на оси а и вычисляем соответст¬
вующее Ь, используя уравнение b——xka-\-yk. Полученное
значение b затем округляется до ближайшего допустимого зна¬
чения на оси Ь. Если выбор ар приводит к вычислению bq, мы
полагаем А(р, q) —А(р, q) -f- 1. После завершения этой про¬
цедуры значение М в элементе A(i, /) соответствует М точкам
в плоскости хи. лежащим на линии у — atx -f- Ь,-. Точность рас¬
положения этих точек на одной
прямой зависит от числа раз¬
биений плоскости ab. Отметим,
что, если мы разбиваем ось а на
К частей, тогда для каждой точ¬
ки (Хк,Ук) мы получаем К зна¬
чений Ь, соответствующих К воз¬
можным значениям а. Посколь¬
ку имеется п точек образа, про¬
цесс состоит из пК вычислитель¬
ных операций. Поэтому приве¬
денная выше процедура линейна
относительно п и имеет меньшее
число вычислительных опера¬
ций, чем процедура, описанная
выше, если К ^ п.
Проблема, связанная с пред¬
ставлением прямой линии урав¬
нением у — axA-b, состоит в том, что оба параметра а и b
стремятся к бесконечности, если линия принимает вертикаль¬
ное положение. Для устранения этой трудности используется
нормальное представление прямой линии в виде
х cos 0 + у sin 0 = р. (8.2-4)
Смысл параметров уравнения (8.2-4) ясен из рис. 8.4, а. Это
представление для построения таблицы собирающих элементов
используется так же, как метод, изложенный выше, но вместо
прямых линий мы имеем синусоидальные кривые в плоскости
0р. Как и прежде, М точек, лежащих на прямой %cos0; +
+ У sin 0; = р/, соответствуют М синусоидальным кривым, кото¬
рые пересекаются в точке (0/, р/) пространства параметров. Если
используется метод возрастания 0 и нахождения для него соот¬
ветствующего р, процедура дает М точек в собирающий элемент
A(i, /'), связанный с точкой (0/, р/). Разбиение пространства па¬
раметров приведено на рис. 8.4,6.
Пример. Использование преобразования Хоуга, основанного
на уравнении (8.2-4), проиллюстрировано на рис. 8.5. На
рис. 8.5, в уровень яркости в плоскости 0р пропорционален числу
Опак'
Рис. 8.3. Разбиение плоскости па¬
раметров на элементы с целью ис¬
пользования преобразования Хоу¬
га.
400
точек в собирающих элементах. На этом рисунке абсцисса соот¬
ветствует 0 и ордината р в диапазонах ±90° и ±рмакс соответ¬
ственно. В данном случае величина рМакс равна расстоянию от
одного угла до другого в исходном образе. Центру рис. 8.5,6 со¬
ответствуют 0 — 0° и р = 0. Интересно отметить, что яркие пятна
(большое число точек в собирающем элементе) около 0° соот¬
ветствуют вертикальным линиям и около ±90° соответствуют
горизонтальным линиям рис. 8.5,6. На рис. 8.5, г показаны ли¬
нии, которые определены этим методом и накладываются на
исходный образ. Различие обусловлено ошибкой дискретизации
в и р в пространстве параметров.
Р
Atct/cc
Акт
о
°J*UH
Рнт. 8.4. Нормальное представление линии (а) и разбиение плоскости 0р на
элементы (б).
Хотя наше внимание было сосредоточено только на прямых
линиях, преобразование Хоуга применимо к любой функции вида
g(\, с)=0, где х — вектор координат, а с — вектор коэффи¬
циентов. Например, геометрическое место точек, лежащих на
окружности
(.х~С1у+(у-с2у = с1, (8.2-5)
легко может быть определено с помощью подхода, изложенного
выше. Основное отличие заключается в том, что теперь мы име¬
ем три параметра си с2 и с3, которые образуют в трехмерном
параметрическом пространстве ячейки в форме кубов и соби¬
рающие элементы вида A(i, /, k). Процедура состоит в задании
приращений а и с2, решении уравнения (8.2-5) относительно с3
и в изменении собирающего элемента, соответствующего ячейке,
связанной с тройкой (щ, с2, с3). Очевидно, что сложность пре¬
образования Хоуга существенно зависит от числа координат и
коэффициентов в данном функциональном представлении.
В заключение отметим, что определение кривых, не имеющих
простого аналитического представления, возможно на основе
401
дальнейшего обобщения преобразования Хоуга. Более подробно
этот вопрос рассмотрен в работе [10].
Глобальный анализ с помощью методов теории графов.
Изложенные выше методы основаны на задании последователь-
Рис. 8.5. Образ детали (а), градиентный образ (б), график преобразования
Хоуга (в) и обнаруженные линии, наложенные на исходный сбраз (г),
(Предоставлено D. Cate из фирмы Texas Instruments.)
ности точек контура, полученных в результате градиентного пре¬
образования. Этот метод редко применяется для предваритель¬
ной обработки данных в ситуациях, характеризуемых высоким
уровнем шума, вследствие того, что градиент является произ¬
водной и усиливает колебания интенсивности. Рассмотрим гло¬
бальный подход, основанный на представлении сегментов кон¬
тура в виде графа и поиске на графе пути наименьшей стоимо¬
402
сти, который соответствует значимым контурам. Этот подход
представляет приближенный метод, эффективный при наличии
шума. Как и следует ожидать, эта процедура значительно слож¬
нее и требует больше времени обработки, чем методы, изложен¬
ные выше.
Сначала дадим несколько простых определений. Граф G =
= (N, А) представляет собой конечное, непустое множество
вершин N вместе с множеством А неупорядоченных пар различ¬
ных элементов из N. Каждая пара из А называется дугой.
о I г
о • • •
• 8 * (7) (2) (2)
Р•
(7)
(2)
2 *
(5)
(1)
(0)
Рис. 8.6. Элемент контура, располо- Рис. 8.7. Образ размерностью 3X3.
женный между пикселами р и q.
Граф, в котором дуги являются направленными, называется на¬
правленным графом. Если дуга выходит из вершины п,- к вер¬
шине «/, тогда tij называется преемником вершины п-,. В этом
случае вершина называется предшественником вершины п,-.
Процесс идентификации преемников каждой вершины назы¬
вается расширением этой вершины. В каждом графе опреде¬
ляются уровни таким образом, чтобы нулевой уровень состоял
из единственной вершины, называемой начальной, а последний
уровень — из вершин, называемых целевыми. Каждой дуге
tij) приписывается стоимость с(т, п/). Последовательность вер¬
шин пи П2, ..., Пк, где каждая вершина п,- является преемником
вершины называется путем от к Пк, а стоимость пути
определяется формулой
k
с= Y, с{щ_и п{). (8.2-6)
1=2
Элемент контура мы определим как границу между двумя пик¬
селами р и q (рис. 8.6). В данном контексте под контуром пони¬
мается последовательность элементов контура.
Для иллюстрации применения введенных понятий к опреде¬
лению контура рассмотрим образ размерностью 3X3, приведен¬
ный на рис. 8.7, где цифры в скобках обозначают интенсивность,
403
а без скобок—координаты пикселов. Каждому элементу кон¬
тура, определенному пикселами р и q, приписываем стоимость
с(р, q) = H — [f (р) — f (<7)1, (8.2-7)
где Н—наибольшее значение интенсивности образа (в данном
случае оно равно 7), f(p)—значение интенсивности в точке р,
a; f(q) —значение интенсивности в точке q.
Рис. 8.8. Граф для определения контура образа, приведенного на рис. 8.7.
Для каждой вершины пары (а, Ь) (с, d) соответствуют точкам р и q. Отметим,
что если идти по образу сверху вниз, то р будет находиться справа. Путь
минимальной стоимости помечен штриховыми линиями Г191].
Граф для этой задачи показан на рис. 8.8. Каждая вершина
графа соответствует элементу контура, и две вершины связы¬
ваются дугой в том случае, если два соответствующих элемента
контура, взятые последовательно, могут быть частью контура.
Стоимость каждого элемента контура, рассчитанная по уравне¬
нию (8.2-7), показана дугой, ведущей в этот элемент, а целевые
вершины показаны двойными прямоугольниками. Каждый путь
между начальной и целевой вершиной является возможным кон¬
туром. Для простоты предполагалось, что контур начинается в
верхнем ряду и заканчивается в последнем, так что первый эле¬
мент контура может быть только [(0, 0), (0, 1)] или [(0, 1),
(0, 2)] и последний элемент [(2, 0), (2, 1)] или [ (2, 1), (2, 2)].
Путь минимальной стоимости, рассчитанный по уравнению
404
(8.2-6), показан штриховой линией, а соответствующий контур
представлен на рис. 8.9.
Как правило, задача определения пути минимальной стоимо¬
сти непроста с вычислительной точки зрения. Обычно критерием
оптимальности является быстродействие. Алгоритм, приведенный
ниже, типичен для класса процедур, использующих эвристики с
целью сокращения объема поиска. Пусть г(п) —оценка стоимо¬
сти пути минимальной стоимости из начальной вершины s в це¬
левую вершину, причем путь проходит
через вершину п. Эту оценку можно
представить в виде суммы пути мини¬
мальной стоимости s в п и оценки стои¬
мости пути из и в целевую вершину, т. е.
г (п) = g(n) + h(n). (8.2-8)
Здесь g{n) является оценкой стоимости
пути наименьшей стоимости из sen,
определенного ранее, a h(n) определяет¬
ся с помощью использования эвристиче¬
ской информации (например, проводя рас¬
ширение только некоторых вершин, осно¬
ванное на предварительном вычислении
стоимостей при определении путей, веду¬
щих к вершине h(n)). Алгоритм поиска на графе, основанный на
применении оценки г(п), приведен ниже:
Шаг 1. Поместить стартовую вершину OPEN и положить
g(s) =0.
Шаг 2. Если нет вершин, помеченных как OPEN, то выход
на аварийный останов; в противном случае продол¬
жение работы.
Шаг 3. Пометить CLOSED помеченную OPEN вершину п,
оценка которой г(п), определенная по уравнению
(8.2-8), имеет наименьшее значение. (Связи для ми¬
нимальных значений г устанавливаются произ¬
вольно, но всегда в пользу целевой вершины.)
Шаг 4. Если п является целевой вершиной, то выход на
останов с выдачей пути, полученного в результате
обратного прохождения по указателям направления;
в противном случае продолжение работы.
Шаг 5. Расширение вершины п, т. е. генерирование всех ее
преемников (если преемников нет, переход к шагу2).
Шаг 6. Если преемник щ не помечен, положить
г (til) = g(n) + с (tl, tli),
пометить его OPEN и направить указатели от него
к вершине п.
СО
СО
(2)
т
СО
(О
*
(2)
*
(5)
#
CD
(0)
Рис. 8.9. Контур, соот¬
ветствующий пути мини¬
мальной стоимости, по¬
казанному на рис. 8.8.
405
Шаг 7. Если преемник «,• помечен CLOSED или OPEN, из¬
менить его значение по формуле
g' (nt) = min [g («,-). g(n) +с (n, nt)].
Пометить OPEN те преемники, помеченные
CLOSED, значения g' которых были уменьшены та¬
ким образом. От этих вершин направить указатели
к вершине п. Перейти к шагу 2.
Как правило, этот алгоритм не гарантирует нахождение пути
минимальной стоимости; его преимущество заключается в быст-
*2* .*ZAA*- ♦ •X>I*XM*X*>*
•X«»-Z -XtAAZI.Z. I i« 2 XliZ44**HZZ.A-M
«II ♦ ZXXl'M-ZM I4»n-U . *»2» *4 Z»*W. ‘Ы *
• II ♦*- •*lKAl+li |4-«4» ZZ»A*»«» III A»-**U •*
•22 XH. ♦-I«|*A»i|AlilAli»XM*Z--i4A4XIZ
•ZI l**Z> WMIHUI*. I* Z*.I-.ZZ|X** •
••X*I*AI»4»A«*»|. 141» I *♦ I »Z »4lXAZ*4 U***
• IXXl 4МИМХХ1 122.4- 2* I l«l - » ♦» Z11 2AX
• »X« X t ИИИИНМ»! . * I 4* XZ XftMXi -I . »ZMX
• II »ZM»4»HZ«M6A IZ>l«t4NZM»*irMZ.»
•iZ ♦uizM"**"*»# X4zzi-*exew*u4zeez»
• n ■ 4 x z» > x z м • m i ♦ i z z i weeeeeesA z i z x z i *
•zi«41 i#A4xH*MS*eei i 4Mezp*Mz«MKie»>Aii
•i« XZ.Ai»)2AX»A4»«*i >*>»ft%M**«A4lZ «П»ХА
*11 Hi ЦХ5©&£4@*4§. Л1.1ХШгН«А ..» 2АД
«4« ♦»»ДЛХМ*Н«4ИХ»«*. tZM—"•»« till1
• Z1*Z И . DZMXMKIINAII ZXMN-Nl A«X*. 14
• >i i<: i#d»ad«e*AAex41ве»еиеев1 iHixznez*
• nix z
• • >«*.4 X9M)WIN< ZMNMXNI Nil I
•I» 11 A- Ik»XI«MteMMMMZM«IIM2N»N
чкхпппмяацдммхмхщкмхм» »•
«41 .♦ZAXl4ZHXMA»A*<WWeM»W<WWWA>A«XZ «4
•»x 42 *i. lKANzewAeeAeeee* isxeewAxei i.-
*n 12АХ4А1махамхм*20мавее9«А«о« k*z
• -4 . 22 . 44 двМ24Я|*МвА- XASHt 2AX. A
• 4 »• Z Х*а»Я«в*2*****|2*4«,в4вАА1 . 4A2*.
«ill X 1IX44(#**MX*Mt MXAtflWU >1
• 1- »1 .»A$*9A§AAZMiO» 2*4 ■ W* 2
•ai . и»9»хяи»а»анма1И' z-»»x*i*xm*x*i*
• X»«- 2125»§>*Я8—апЯ«2«*Э2»и IX--XIi < I XI»«Z
•■ > > ize49«seexzaxM»A u ixn imi» «»*♦ a»»-2
*a--i: хАв&гак$А4Э*аги*-о •.A4i.-n k 2:. 4- z*
«>>:>1ь«0£*эдоех*х. X-«Xi Mil IK 1UI1 I » ♦ X«
«•4 eX..lJA«« 11. i I К •2*.i«iX2lA- ZO|4|>
«4- Z»«.XZ|ZXZIZX»*aZI >4.i4||«Z • Ai XXi • i .
• »2 X) ; IX ХЦ. »Z4Ki«« «X»* i. » ZX21X4X
• LA*A*A»A*X«X»iXZ*l • * I» ♦ *--4» 2*4-K «2442
• ♦1 «2*4*'Нв12.»2ИА.§«»ХМ|41Ц it -U
*4 1 »») 14 ♦ l-Zi'A. ZX* 4 I 1 X--A. ZZ' <*♦ A\ ZZ‘ A
a
Рис. 8.10. Зашумленный образ (а) и результат определения контура, полу¬
ченного с помощью метода эвристического поиска на графе [292] (б).
родействии за счет использования эвристик. Однако можно по¬
казать, что, если h(n) является нижней границей стоимости
пути минимальной стоимости от вершины п к целевой вершине,
тогда процедура действительно определит оптимальный путь к
целевой вершине [115]. Если эвристическая информация отсут¬
ствует, т. е. h = 0, процедура сводится к алгоритму постоянной
стоимости [59].
Пример. Типичный результат, полученный в результате ра¬
боты этой процедуры, приведен на рис. 8.10. На рис. 8.10, а по¬
406
казан зашумленный образ, и на рис. 8.10,6 результат сегмента¬
ции контура, полученный с помощью поиска на соответствующем
графе путей наименьшей стоимости. В данном примере были
использованы эвристики, предотвращающие расширение тех вер¬
шин, стоимости которых превышали заданное пороговое зна¬
чение.
8.2.2. Определение порогового уровня
Понятие порогового уровня (порога) введено в разд. 7.6.5 как
тест вида
где f(x, у) —интенсивность в точке (х, у), р(х, у) —некоторое
локальное свойство, определяемое в окрестности этой точки.
Пороговое изображение дается следующим выражением:
так что пикселы в g(x, у), имеющие значение 1, соответствуют
объектам, а пикселы, имеющие значение 0, соответствуют фону.
В уравнении (8.2-10) предполагается, что интенсивность объек¬
тов больше интенсивности фона. Противоположное условие по¬
лучается путем изменения знаков в неравенствах.
Глобальные и локальные пороги. Если значение Т в уравне¬
нии (8.2-9) зависит только от f(x, у), то, как показано
в разд. 7.6.5, порог называется глобальным. Если значение Т
зависит как от f(x, у), так и от р(х, у), порог называется
локальным. Если, кроме того, Т зависит от пространственных
координат х и у, в этом случае он называется динамическим
порогом.
Глобальные пороги применяются в ситуациях, когда имеется
явное различие между объектами и фоном и где освещенность
достаточно однородна. Методы обратной и структурированной
освещенности, изложенные в разд. 7.3, обычно дают изображе¬
ния, которые могут быть сегментированы путем применения
глобальных порогов. Но, как правило, произвольное освещение
рабочего пространства приводит к изображениям, которые, если
исходить из определения порогового уровня, требуют локального
анализа для компенсации таких эффектов, как неоднородность
освещения, тени и отражение.
Ниже мы рассмотрим ряд методов для выбора порогов, ис¬
пользуемых при сегментации. Хотя некоторые из них могут при¬
меняться для выбора глобального порога, они обычно исполь¬
зуются в ситуациях, требующих анализа локального порога.
Т — Т[х, у, р(х, у), f(x, у)],
(8.2-9)
8
1, если f (х, у) > Т,
0, если / (х, у) < Т,
(8.2-10)
407
Выбор оптимального порога. Часто рассматривают гисто¬
грамму, состоящую из суммы значений функции плотности ве¬
роятности. В случае бимодальной гистограммы аппроксимирую¬
щая ее функция дается уравнением
p(z) = Plpl(z) + Р2р2(г), (8.2-11)
где интенсивность г — случайная переменная величина, р\{г) и
Рг(г)—функции плотности вероятности, a Pi и Р2— априорные
HmmuSmmi 2
а
У
Рис. 8.11. Гистограмма интенсивности (а) и ее аппроксимация в виде
Суммы двух функций плотности вероятности (б).
вероятности. В данном случае априорные вероятности означают
появление двух видов уровней интенсивности на образе. Напри¬
мер, рассмотрим образ, гистограмма которого приведена на
рис. 8.11, а. Полная гистограмма может быть аппроксимирована
суммой двух функций плотности вероятности, как показано на
рис. 8.11,6. Если известно, что объект состоит из светлых пиксе¬
лов и они занимают 20% площади образа, то Pi =0,2. Необхо¬
димо, чтобы
Р, + Р2=1. (8.2-12)
408
В данном случае это означает, что на остальную часть образа-
приходится 80 % пикселов фона.
Введем две следующие функции от г:
й\ (г) = Рipi (г), (8.2-13)
d2(z) = P2pl(z). (8.2-14)
Из теории принятия решений [290] известно, что средняя
ошибка определения пиксела объекта в качестве фона (и на¬
оборот) минимизируется с помощью следующего правила: рас¬
сматривая пиксел со значением интенсивности г, мы подстав¬
ляем это значение z в уравнения (8.2-13) и (8.2-14). Затем мы
определяем пиксел как пиксел объекта, если d\(z) >£/2(2), или
как пиксел фона, если d2(z) >d\(z). Тогда оптимальный порог
определяется величиной г, для которой d\(z)=d2(z). Таким
образом, полагая в уравнениях (8.2-13) и (8.2-14) г = Т, полу¬
чаем, что оптимальный порог удовлетворяет уравнению
PlPl(T) = P2p2(T). (8.2-15)
Итак, если известны функциональные зависимости p\(z) и p2(z),.
это уравнение можно использовать для нахождения оптималь¬
ного порога, который отделяет объекты от фона. Если этот по¬
рог известен, уравнение (8.2-10) может быть использовано для
сегментации данного образа.
В качестве важной иллюстрации применения уравне¬
ния (8.2-15) предположим, что р\(г) и р2(г) являются плотно¬
стями вероятности распределения Гаусса, т. е.
т'щ
^>“vikexp~N?4 ,8'2'14
В этих выражениях положим z—T, подставим их в уравне¬
ние (8.2-15) и после упрощения получим квадратное уравнение
относительно Т:
АТ2 + ВТ + С = 0, (8.2-18)
где
А = о* — о2,
В — 2 (m,cr| — tn2of), (8.2-19)
С = o\m\ - o\rri] + 2а^1 In -gg-.
Возможность двух решений указывает на то, что для получения
оптимального решения могут потребоваться два значения поро¬
гового уровня,
Если стандартные отклонения равны (оч = сгг = ст), в этом
случае имеется единственное значение порогового уровня:
Ш, + т2 _! ^—1пР2_ (8.2-20)
2 ' т\ — тъ Р\ ' ’
Если а = 0 или Р\ = Р%, оптимальное значение порогового
уровня является арифметическим средним математических ожи¬
даний. Сформулированное условие означает, что интенсивности
объекта и фона постоянны для всего образа. Последнее условие
означает, что пикселы объекта и фона имеют одинаковую веро¬
ятность появления, причем каждый раз число пикселов объекта
равно числу пикселов фона.
Пример. Рассмотрим сегментацию механических деталей,
показанных на рис. 8.12, а, где мы пренебрежем решеткой, на¬
ложенной на образ. На рис. 8.12,6 приведен результат вычис¬
ления глобальной гистограммы, соответствующей бимодальной
гауссовой плотности распределения вероятности, устанавливаю¬
щей оптимальный глобальный порог, который окончательно ис¬
пользуется в уравнении (8.2-10) для сегментации образа. Видно,
что отклонения в интенсивности делают этот подход практически
непригодным. Однако он может быть реализован на локальных
участках образа, определенных решеткой на рис. 8.12, а.
После разбиения образа на подобразы для каждого из них
вычисляется гистограмма и проводится тест на бимодальность.
Бимодальные гистограммы соответствуют смешанной гауссовой
плотности распределения вероятности, и оптимальное значение
порогового уровня вычисляется по уравнениям (8.2-18) и (8.2-
19). Для подобразов, не имеющих бимодальных гистограмм,
значения пороговых уровней не вычисляются. Для них эти зна¬
чения вычисляются путем интерполяции порогов соседних под¬
образов, являющихся бимодальными. Гистограммы для каждого
подобраза приведены на рис. 8.12,0, где горизонтальные линии
обозначают относительный диапазон этих гистограмм. В конце
процедуры для определения порогового значения Т(х, у) прово¬
дится от точки к точке повторная интерполяция соседних поро¬
говых значений. Отметим, что в данном случае мы имеем дело
с динамическим значением порогового уровня, поскольку оно за¬
висит от пространственных координат (х, у). Изменение Т(х, у)
в зависимости от положения показано на рис. 8.12, г.
Окончательно пороговый образ создается в результате срав¬
нения каждого пиксела в первоначальном образе с соответст¬
вующим пороговым уровнем. На рис. 8.12, <5 показан результат
использования этого метода в данном частном случае. Налицо
улучшение по сравнению с применением глобального порогового
уровня. Отметим, что данный метод предполагает установление
порогового уровня для каждой ячейки, а локальные пороги нн-
410
Рис. 8.12. Образ механических дета*
лей, разделенный на области решет¬
кой (а), образ, полученный в резуль¬
тате определения глобального поро¬
гового уровня (б), гистограммы
подобразов (а), иллюстрация дина¬
мического порога (г) и образ, полу¬
ченный в результате определения ди¬
намических порогов (б) [252].
411
терполируются с целью создания динамического порога, который
окончательно используется при сегментации.
Изложенный выше подход применяется для выбора порого¬
вых уровней изображения. Предположим, что мы можем моде¬
лировать многомодальную гистограмму в виде суммы п функций
плотности вероятности:
Р (2) = Р\Р\ (2) + ••• -\-Рпрп(г). (8.2-21)
Тогда задача оптимизации порогового уровня сводится к опре¬
делению принадлежности данного пиксела к одной из п возмож¬
ных категорий. Правило минимизации ошибки теперь основы¬
вается на п функциях вида
di(z) = Pip{(z), i= 1, 2, ..., п. (8.2-22)
Данный пиксел интенсивности г принадлежит ft-й категории,
если dk(z) > dj(z), / —1, 2, ..., n; j Ф k. Как прежде, опти¬
мальный пороговый уровень между категорией k и категорией
/, обозначаемый Тщ, определяется из уравнения
PkPk(Tki) = PiPi{Tk!). (8.2-23)
Как указывалось в разд. 7.6.5, при получении пороговых уров¬
ней на основе многомодальных гистограмм актуальной является
задача идентификации гистограммных мод.
Определение порогового уровня на основе характеристик
границы. Одним из наиболее важных аспектов при выборе по¬
рогового уровня является возможность надежно идентифициро¬
вать модовые пики для данной гистограммы. Это важно при
автоматическом выборе порогового уровня в ситуациях, когда
характеристики образа меняются вследствие большого разброса
интенсивности. Из изложенного выше очевидно, что возможность
выбора «хорошего» порогового уровня может быть существенно
увеличена в случае, если пики гистограмм являются высокими,
узкими, симметричными и разделены глубокими провалами.
Одним из подходов для улучшения вида гистограмм является
рассмотрение только тех пикселов, которые лежат на границе
(или около нее) между объектами и фоном. Одно из очевидных
улучшений состоит в том, что этот подход позволяет получать
гистограммы менее зависимыми от отношения между объектом
и фоном. Например, гистограмма интенсивности образа, состав¬
ленного из маленького объекта на большой площади постоян¬
ного фона, определялась бы большим пиком вследствие концент¬
рации пикселов фона. С другой стороны, результирующие гисто¬
граммы имели бы пики с более сбалансированными высотами,
если бы рассматривались пикселы, лежащие только на (или
около) границе между объектом и фоном. Кроме того, вероят¬
ность расположения пиксела на границе объекта практически
равна вероятности того, что он лежит на границе фона, что
412
улучшает симметрию гистограммных пиков. Окончательно, как
показано ниже, использование пикселов, которые удовлетво¬
ряют некоторым простым критериям, основанным на операторах
градиента и Лапласа, приводит к увеличению провалов между
пиками гистограммы.
Выше мы неявно подразумевали, что граница между объек¬
тами и фоном известна. Очевидно, что во время проведения сег¬
ментации эта информация отсутствует, поскольку нахождение
раздела между объектами и фоном является окончательной
целью приведенной здесь процедуры. Однако из разд. 7.6.4 из¬
вестно, что, вычислив градиент пиксела, можно определить, ле¬
жит ли он или не лежит на контуре. Кроме того, лапласиан мо¬
жет дать информацию о том, лежит ли данный пиксел на темной
(т. е. фон) или светлой (объект) стороне контура. Как установ¬
лено в разд. 7.6.4, с внутренней стороны идеального контура
лапласиан равен нулю, поэтому на практике можно ожидать, что
провалы гистограмм, образованных пикселами, выбранными по
критерию градиент/лапласиан, будут располагаться достаточно
редко и иметь желаемую высоту.
Градиент G[f(x,y)] любой точки образа определяется урав¬
нением (7.6-38) или (7.6-39), лапласиан L[f(x, у)]—уравне¬
нием (7.6-47). Эти два свойства можно использовать для фор¬
мирования трехуровнего образа:
( 0, если G [f (х, у)] < Т,
s(x, у) = < +, если G [f (х, у)] > Г и L[f{x,y)\^ 0, (8.2-24
I—, если G[f(x,y)]^T и L[f(x, у)\< О,
где символы 0, +, — представляют три различных уровня осве¬
щенности, а Т — пороговый уровень. Предположим, что темный
объект располагается на светлом фоне, тогда в соответствии с
рис. 7.34,6 применение уравнения (8.2-24) дает образ s(x, у),
в котором все пикселы, не лежащие на контуре (для них значе¬
ние G[f(x, у)] меньше Т, помечены 0, все пикселы на темной
стороне контура помечены -f- и все пикселы на светлой стороне
контура помечены —. Для светлого объекта на темном фоне
символы + и — в уравнении (8.2-24) меняются местами. На
рис. 8.13 показан объект, построенный на светлом фоне по урав¬
нению (8.2-24).
Только что изложенная процедура может применяться для
создания сегментированного, бинарного образа, в котором 1 со¬
ответствует объектам, представляющим интерес, и 0 — фону.
Отметим, что перемещение (вдоль горизонтальных или вер¬
тикальных линий сканирования) от светлого фона к темному
объекту должно характеризоваться заменой знака — фона на
4- объекта s(x, у). Внутренняя область объекта состоит из
пикселов, помеченных либо 0 либо +. Окончательно перемеще¬
413
ние от объекта к фону характеризуется заменой знака + на
—. Таким образом, горизонтальные или вертикальные линии
сканирования, содержащие части объекта, имеют следующую
структуру;
(•••)(—, +) (0 или +)(+, —)(•••).
где (...) является произвольной комбинацией -f, — или 0.
Остальные скобки содержат точки объекта и помечены 1. Все
бОоОоособоооооооо—об*С)*ооооооооооооооббооооооооОооооООооОООоооооойооа
000000 ООО ООО 000000000000000*000000*0000000‘00000000000000000000000000 а
юооооооооооооооооооооооо-сгоооооооооо--оооооо-оо*»оо**ооооооооооооооооа
000000000000000000000000000000000000000000000000000000000*000000000000!
«)0000000000000000000000000000000000000000000000000-0000~00000*0000000$
ЮООО0000О00 00о00ОО0 *00000000000000000000000000000000000000-00000*0000а
Ю000000000000000000000‘0000000000000000000000000000000000000000-0-00*0»
(00000000-00000000000-00000000 .*000000000000000000000000000000000000000»
ЮОООООООООООООООООООООООООООООООООО‘ООО‘ООООООООООООООООООООООООООО-0-
ЮОООООООООООООООООООООООООООООО-ООО-0000000-О*000000000000000000000000!
юооооооооооооооооооооооооооооооооооооооооооооооооооо«ооооо»ооооооооооа
000000000000000000000000000000000000000000000000000-0000-0000*00000000
(000000000000000000000000000000000000000000000000000000000-00*000000000
<000000000000000 ОООООООООО0000ОООООООООООООООООО00ОООООООООООООО
(0000000000000— - О ООО0000000000000000000000000ООО0000000оооо
ОООООООООООО --00000000000000000000000000000000000000000000о
—о -
О00000000о
ОООООООООО-'
ЮОООООООО--
<00000000
<00000000--
оооооооо--
<50000000--
00000000--
00000000
000000000-
000000000-'
■0000000000'
ооооооооооо-
000000000000--‘♦‘♦
■оооооооооооооо---*
«000000000000000'
00*
--0 0—*
--ООО--
-*000--
--000--
-0000000000000000
1. *--000000000000
оооооооооо
—оооооооооо
00000000---»
ооооо-----*
-оооо
♦--00---
м»
00000000000000000000000
ооооооооооооооооооооа
--ОООоооо0000ОООооооо
0 0000000000000000
► •--ооооооооооооооооо
**..-00000000000ооооо
*♦♦*.♦--0000000000000
-оо it i ►.—ооооооооо о а
--00оооооО *♦**.‘--ОООООООООО
ОООООООООО—♦ « *♦ -00000
- -о оооооооооо—►♦♦♦.♦.--, *
-ОООООООООООООО ♦*...»1..* *.«
- -----000000000000000000 ►
*.-000 000000 00 00 000000 00 0000000 000 — - -
'-о 000000ООООООО00оооооооооооооооооо- о
ооооооооооооооо0000000000000000000000000000ft
(0000000000000000000000000000000000000000000000000000000000000000000000»
0000000000000000000000000000000000000000000000000000000000000000000000
OOOQOOOQOOQOOOQQOOOOQQOOQQQQOQQOOQOOQQGQQQOOQOOOOOQQQQOOQOeOQOQOQQQQOQi
000 00000-0000-00000000000000000000000000000000000000000000000001
пт
• и ►
<000-00000000—00-000000-------ООООООО * ** -
ООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООЭО
0000000000000000000000000000000000000000000000000ОООООООООООООООООоооо
0000О0000000000000000000000000000000000ООООООО0ООО0ОООООО0ОООООООООООо
000000000000000ОООООООО00000000ООООООО00000000000000000000000000000000
000000 00000 O0OOQ9O0c>0QC>Q0O0OQ9O0O00O090000O00O00000OOOOO0OOOOO0O000OO О
Рис. 8.13. Образ объекта, построенный с помощью уравнения (8.2-24) [306].
другие пикселы вдоль той же линии сканирования помечаются
О, за исключением всех последовательностей из (0 или -f), огра¬
ниченных (—, +) и (+, —).
Пример. Для иллюстрации только что изложенного мате¬
риала рассмотрим рис. 8.14, а, на котором показан образ обыч¬
ного банковского чека. На рис. 8.15 приведена гистограмма, опре¬
деляющая число пикселов, градиенты которых превышают 5. От¬
метим, что эта гистограмма обладает свойствами, описанными,
выше, т. е. она имеет две основные симметричные моды одинако¬
вой высоты, разделенные хорошо различимым провалом. На
рис. 8.14,6 показан сегментированный образ, полученный по
414
уравнению (8.2-24) со значением Т, примерно равным средней
точке провала. Приведенный выше анализ последовательности
дает бинарный результат.
«не*.
4
Рис. 8.14. Исходный образ (а) и сегментированный образ (б) [306].
Определение порогового уровня, основанное на нескольких
переменных. Изложенные выше методы связаны с определением
порогового уровня для единст¬
венного переменного значения
интенсивности. В некоторых
приложениях можно исполь¬
зовать более одной перемен¬
ной для характеристики каждо¬
го пиксела образа, увеличивая
таким образом не только сте¬
пень различия между объек¬
том и фоном, но и между сами¬
ми объектами. Одним из наи¬
более значимых примеров явля¬
ется цветное зрение, где исполь¬
зуются красные, зеленые и
голубые компоненты (КЗГ)
для формирования составно¬
го цветного образа. В этом
случае каждый пиксел характеризуется тремя переменными и
это позволяет строить трехмерную гистограмму. Основная
1500
^ 1000
I 500
§
о
5-й 15-2$ 25 и быше
Величина градиента
Рис. 8.15. Гистограмма пикселов, гра¬
диенты которых превышают 5 [306].
1
{
1
1 -
1
415
процедура та же, что и для одной переменной. Пусть, например,
даны три 16-уровневых изображения, соответствующие КЗГ
компонентам датчика цвета. Сформируем кубическую решетку
16 X 16 X 16 и поместим в каждый элемент пикселы, КЗГ ком¬
поненты которых имеют интенсивности, соответствующие коор¬
динатам, определяющим положение этого элемента. Число то¬
чек в каждом элементе решетки может быть затем разделено на
общее число пикселов образа для формирования нормированной
гистограммы.
Теперь выбор порога заключается в нахождении групп точек
в трехмерном пространстве, где каждая «компактная» группа
аналогична основной моде гистограммы одной переменной. На¬
пример, предположим, что мы ищем две значимые группы точек
данной гистограммы, где одна группа соответствует объекту, а
другая — фону. Принимая во внимание, что теперь каждый пик¬
сел имеет три компоненты и может быть рассмотрен как точка
трехмерного пространства, можно сегментировать образ с по¬
мощью следующей процедуры. Для каждого пиксела образа
вычисляется расстояние между этим пикселом и центром каж¬
дой группы. Тогда, если пиксел располагается рядом с центром
группы точек объекта, мы помечаем его 1; в противном случае
мы помечаем его 0. Это понятие легко распространить на боль¬
шую часть компонентов пиксела и соответственно на большую
часть групп. Основная сложность состоит в том, что определение
значимых групп, как правило, приводит к довольно сложной
задаче, поскольку число переменных возрастает. Читатель, же¬
лающий более подробно ознакомиться с методами определения
групп, может, например, обратиться к работе [290]. Другие ме¬
тоды сегментации изложены в работе [90].
Пример. В качестве иллюстрации подхода, основанного на
применении гистограмм от многих переменных, рассмотрим
рис. 8.16. На рис. 8.16, а представлен одноцветный образ цветной
фотографии. Исходный цветной образ был составлен из трех
16-уровневых КЗГ образов. Для наших целей существенно от¬
метить, что шарф и один из цветков на платье были ярко-крас¬
ные, а волосы и лицо светлые и отличались по спектральным ха¬
рактеристикам от окна и других объектов деталей фона.
Рис. 8.16,6 получен в результате определения порогового
уровня для группы точек гистограммы, о которой было известно,
что она содержит КЗГ компоненты, представляющие собой те¬
лесные тона. Важно отметить, что окно, которое в одноцветном
образе имеет такой же диапазон интенсивности, как и волосы,
не проявилось на сегментированном образе вследствие различия
их мультиспектральных характеристик. Тот факт, что некоторые
малые области волос в верхней части головы объекта прояви¬
лись на сегментированном образе, говорит о том, что они телес¬
ного цвета. Рис. 8.16,0 получен путем определения порогового
41S
уровня группы точек, близкой к красной оси. В этом случае
только шарф, красный цветок и несколько изолированных точек
проявились на сегментированном образе. Пороговый уровень,
использованный при получении обоих результатов, не превышал
размера одного элемента кубической решетки. Таким образом,
все пикселы с компонентами, не превышающими единичного рас¬
стояния от центра группы точек, были закодированы как белые.
Любые другие пикселы рассматривались как черные.
8.2.3. Областно-ориентированная сегментация
Основные определения. Целью сегментации является разде¬
ление образа на области. В разд. 8.2.1 мы рассматривали эту
проблему как нахождение границ между областями на основе
принципа разрыва интенсивности, в то время как в разд. 8.2.2
сегментация осуществлялась после определения пороговых
14 К. Фу И Др
417
уровней, зависящих от таких свойств пикселов, как интенсив¬
ность или цвет. В этом разделе мы рассмотрим методы сегмен¬
тации, основанные на прямом нахождении областей.
Пусть R— область образа. Рассмотрим сегментацию как
процесс разбиения R на п подобластей Ri, R2, Rn, так что
1. U Ri = &
i=>l
2. Ri — связная область, t=l, 2, п\
3. Ri П Ri = 0 для всех i и /, i Ф /;
4. P(Ri) есть ИСТИНА для f= 1, 2, ..., п;
5. P(Ri\JRj) есть ЛОЖЬ для i¥=j, где P(Ri) —логический
предикат, определенный на точках из множества Rt, и 0 — пу¬
стое множество.
Условие 1 означает, что сегментация должна быть полной,
т. е. каждый пиксел должен находиться в образе. Второе усло¬
вие требует, чтобы точки в области были связными (разд. 7.5.2).
Условие 3 указывает на то, что области не должны пересекать¬
ся. Условие 4 определяет свойства, которым должны удовлетво¬
рять пикселы в сегментированной области. Простой пример:
P(Ri) — ИСТИНА, если все пикселы в Ri имеют одинаковую
интенсивность. Условие 5 означает, что области Rt и Rt разли¬
чаются по предикату Р. Применение этих условий в алгоритмах
сегментации рассматривается в следующих разделах.
Расширение области за счет объединения пикселов. Расшире¬
ние области сводится к процедуре группирования пикселов или
подобластей в большие объединения. Простейшей из них яв¬
ляется агрегирование пикселов. Процесс начинается с выбора
множества узловых точек, с которых происходит расширение
области в результате присоединения к узловым точкам сосед¬
них пикселов с похожими характеристиками (интенсивность,
текстура или цвет). В качестве простой иллюстрации этой про¬
цедуры рассмотрим рис. 8.17, а, на котором цифры внутри ячеек
указывают интенсивность. Пусть точки с координатами (3, 2) и
(3, 4) используются как узловые. Выбор двух начальных точек
приведет к сегментации образа на две области: области R\, свя¬
занной с узлом (3, 2), и области R2, связанной с узлом (3, 4).
Свойство Р, которое мы будем использовать для того, чтобы от¬
нести пиксел к той или иной области, состоит в том, что модуль
разности между интенсивностями пиксела и узловой точки не
превышает пороговый уровень Т. Любой пиксел, удовлетворяю¬
щий этому свойству одновременно для обоих узлов, произвольно
попадает в область Rь На рис. 8.17,6 показан результат, полу¬
ченный для Т = 3. В этом случае сегментация проводится для
двух областей, причем точки в Ri обозначаются буквой а, точки
в R2 буквой Ь. Необходимо отметить, что независимо от того, в
какой из этих двух областей будет взята начальная точка, окон-
418
чательный результат будет один и тот же. Если, с другой сто¬
роны, выбрать Т — 8, была бы получена единственная область
(рис. 8.17,0).
Предыдущий пример, не¬
смотря на его простоту, иллю¬
стрирует некоторые важные
проблемы расширения области.
Двумя очевидными проблема¬
ми являются: выбор началь¬
ных узлов для правильного
представления областей, пред¬
ставляющих интерес, и опреде¬
ление подходящих свойств для
включения точек в различные
области в процессе расшире¬
ния. Выбор множества, состоя¬
щего из одной или нескольких
начальных точек, следует из по¬
становки задачи. Например, в
военных приложениях объек¬
ты, представляющие интерес,
имеют более высокую темпера¬
туру, чем фон, и поэтому про¬
являются более ярко. Выбор
наиболее ярких пикселов явля¬
ется естественным начальным
шагом в алгоритме процесса
расширения области. При от¬
сутствии априорной информа¬
ции можно начать с вычисле¬
ния для каждого пиксела на¬
бора свойств, который навер¬
няка будет использован при
установлении соответствия пик¬
села той или иной области в
процессе расширения. Если ре¬
зультатом вычислений являют¬
ся группы точек (кластеры),
тогда в качестве узловых бе¬
рутся те пикселы, свойства ко¬
торых близки к свойствам
центроидов этих групп. Так, в
примере, приведенном выше,
гистограмма интенсивностей показала бы, что точки с интен¬
сивностью от одного до семи являются доминирующими.
Выбор критерия подобия зависит не только от задачи, но
также от вида имеющихся данных об образе. Например, анализ
1
2
3
4
5
a
а
а
Ь
ь
ь
а
а
Ь
ь
ь
а
а
Ь
ь
ь
а
а
Ь
ь
ь
а
а
ь
ь
ь
6
а
а
а
а
а
а
а
а
а
а
а
а
а
а
а
а
а
а
а
а
а
а
а
а
а
S
Рис. 8.17. Пример расширения обла¬
сти на основе использования извест¬
ных начальных точек [104].
1 2 3 4 5
0
0
5
б
7
1
I
5
8
7
0
2
б
2
7
2
0
7
б
б
0
1
5
б
5
14*
419-
информации, полученной со спутников, существенно зависит от
использования цвета. Задача анализа значительно усложнится
при использовании только монохроматических образов. К сожа¬
лению, в промышленном техническом зрении возможность полу¬
чения мультиспектральных и других дополнительных данных об
образе является скорее исключением, чем правилом. Обычно
анализ области должен осуществляться с помощью набора дес¬
крипторов, включающих интенсивность и пространственные ха¬
рактеристики (моменты, текстуру) одного источника изображе¬
ния. В разд. 8.3 приведены дескрипторы, используемые для опи¬
сания области.
Отметим, что применение только одних дескрипторов может
приводить к неправильным результатам, если не используется
информация об условиях связи в процессе расширения области.
Это легко продемонстрировать при рассмотрении случайного рас¬
положения пикселов с тремя различными значениями интенсив¬
ности. Объединение пикселов в «область» на основе признака
одинаковой интенсивности без учета условий связи приведет к
бессмысленному результату при сегментаци.
Другой важной проблемой при расширении области является
формулировка условия окончания процесса. Обычно процесс
расширения области заканчивается, если больше не существует
пикселов, удовлетворяющих критерию принадлежности к той или
иной области. Выше упоминались такие критерии, как интен¬
сивность, текстура и цвет, которые являются локальными по
своей природе и не учитывают «историю» процесса расширения
области. Дополнительный критерий, повышающий мощность
алгоритма расширения области, включает понятие размера, схо¬
жести между пикселом-кандидатом и только что созданными
пикселами (сравнение интенсивности кандидата и средней ин¬
тенсивности области), а также формы области, подлежащей
расширению. Использование этих типов дескрипторов основано
на предположении, что имеется неполная информация об ожи¬
даемых результатах.
Разбиение и объединение области. Изложенная выше про¬
цедура расширения области начинает работу с заданного мно¬
жества узловых точек. Однако можно сначала разбить образ
на ряд произвольных непересекающихся областей и затем объ¬
единять и/или разбивать эти области с целью удовлетворения
условий, сформулированных в начале раздела. Итеративные
алгоритмы разбиения и объединения, работа которых направле¬
на на выполнение этих ограничений, могут быть изложены сле¬
дующим образом.
Пусть R является полной областью образа, на которой опре¬
делен предикат Р. Один из способов сегментации R состоит в
успешном разбиении площади образа на все меньшие квадрат¬
ные области, так что для каждой области Р(Р,) = ИСТИ-
420
НА. Процедура начинает работу с рассмотрения всей области
R. Если P(R) = ЛОЖЬ, область разбивается на квадранты.
Если для какого-либо квадранта Р принимает значение ЛОЖЬ,
этот квадрант разбивается на подквадранты и т. д. Этот метод
разбиения обычно представляется в виде так называемого квад¬
родерева (дерева, у которого каждая вершина имеет только че¬
тыре потомка). На рис. 8.18 приведен простой пример квадро¬
дерева. Отметим, что корень дерева соответствует всему образу,
5
Рис. 8.18. Образ, разделенный на области (а), и соответствующее квадро¬
дерево (б).
а каждая вершина — разбиению. В данном случае только R4
подлежит дальнейшему разбиению. Если применять только опе¬
рацию разбиения, можно ожидать, что в результате окончатель¬
ного разбиения всей площади образа на подобласти последние
будут иметь одинаковые свойства. Это можно устранить допу¬
стимым объединением так же, как и разбиением. Для того чтобы
удовлетворить условиям сегментации, введенным выше, необ¬
ходимо объединять только те соседние области, пикселы которых
удовлетворяют предикату Р; таким образом, две соседние обла¬
сти Ri и Rk объединяются только в том случае, если
PiRiVRk) = ИСТИНА.
Изложенное выше можно представить в виде процедуры, где
на каждом шаге выполняются следующие операции:
1. Разбиение области /?,, для которой P(Ri) — ЛОЖЬ, на
четыре непересекающихся квадранта.
2. Объединение соседних областей /?, и Rk, для которых
Р {Ri U Rk) = ИСТИНА.
3. Выход на останов, когда дальнейшее объединение или
разбиение невозможно.
Возможны варианты этого алгоритма [125]. Например,
можно сначала разбить образ на квадратные блоки. Дальней¬
421
шее разбиение выполняется по изложенному выше способу, но
вначале объединение ограничивается группами из четырех бло¬
ков, являющихся в квадродереве потомками и удовлетворяю¬
щих предикату Р. Когда дальнейшее объединение этого типа
становится невозможным, процедура завершается окончатель-
Рис. 8.19. Пример алгоритма разбиения и объединения.
ным объединением областей согласно шагу 2. В этом случае
объединяемые области могут иметь различный размер. Основ¬
ным преимуществом этого подхода является использование од¬
ного квадродерева для разбиения и объединения до шага, на
котором происходит окончательное объединение.
Пример. Проиллюстрируем изложенный выше алгоритм раз¬
биения и объединения рис. 8.19. В данном случае образ состоит
из одного объекта и фона. Для простоты мы предполагаем, что
интенсивности объекта и фона постоянные и P(Ri) — ИСТИНА,
если все пикселы в Ri имеют одинаковую интенсивность. Из
этого следует, что для всей области образа P{R) = ЛОЖЬ, по¬
этому образ разбивается так, как показано на рис. 8.19, а. На
следующем шаге только область в левом верхнем углу удовле¬
творяет предикату, и поэтому она остается неизменной, в то
422
время как другие разбиваются на подквадранты (рис. 8.19,6).
В этом случае можно объединить несколько областей, за исклю¬
чением двух подквадрантов, включающих нижнюю часть объ¬
екта; эти подквадранты не удовлетворяют предикату и поэтому
должны подвергнуться дальнейшей операции разбиения. Резуль¬
таты операции разбиения и объединения приведены на
рис. 8.19,6. На этом шаге все области удовлетворяют предикату
Р, и объединение соответствующих областей после последней
операции разбиения дает окончательный, сегментированный ре¬
зультат (рис. 8.19, а)
8.2.4. Применение движения
Движение представляет собой мощное средство, которое ис¬
пользуется человеком и животными для выделения интересую¬
щих их объектов из фона. В системах технического зрения ро¬
ботов движение используется при выполнении различных
операций на конвейере, при перемещении руки, оснащенной дат¬
чиком, более редко при перемещении всей робототехнической
системы. В этом подразделе мы рассмотрим применение дви¬
жения для сегментации с точки зрения распознавания образов.
Основной подход. Один из наиболее простых подходов для
определения изменений между двумя кадрами изображения
(образами) f(x, у, ti) и f(x, у, tj), взятыми соответственно в
моменты времени tj и tj, основывается на сравнении соответ¬
ствующих пикселов этих двух образов. Для этого применяется
процедура, заключающаяся в формировании так называемой
разности образов.
Предположим, что мы имеем эталонный образ, имеющий
только стационарные компоненты. Если сравним этот образ с
таким же образом, имеющим движущиеся объекты, то разность
двух образов получается в результате вычеркивания стацио¬
нарных компонент (т. е. оставляются только ненулевые записи,
которые соответствуют нестационарным компонентам изобра¬
жения) .
Разность между двумя кадрами изображения, взятыми в мо¬
менты времени ti и tj, можно определить следующим образом:
( 1, если | f (х, у,tj) — f (х, у, tj) | > 9, /оплг.ч
djj(x, y) = S n (8.2-25)
' (,0 в противном случае,
где 0 — значение порогового уровня. Отметим, что Д/(х, у) при¬
нимает значение 1 для пространственных координат (х, у)'
только в том случае, если два образа в точке с этими координа¬
тами существенно различаются по интенсивности, что опреде¬
ляется значением порогового уровня 0.
423
При анализе движущегося образа все пикселы изображений -
разности dij{x, у), имеющие значение 1, рассматриваются как
результат движения объекта. Этот подход приметим только
в том случае, если два образа зарегистрированы и освещен¬
ность имеет относительно постоянную величину в пределах
границ, устанавливаемых пороговым уровнем 0. На практике
о в I
о 9 в •
0 119
«0 00 0
0 0 9 9 0
0 9 9 9 0
0 9 0 0
ооо
О 9
а
Рис. 8.20, Кадр изображения
в момент времени ti (а), кадр
изображения в момент времени
tj (б) и разность двух кадров
(в) [1351.
6
записи в йц(х, у), имеющие значение 1, часто появляются в ре¬
зультате действия шума. Обычно на разности двух кадров изо¬
бражения такие значения выглядят как изолированные точки.
Для их устранения применяется простой подход, заключающийся
в формировании 4- или 8-связных областей из единиц в da(x,y),
и затем пренебрегают любой областью с числом записей, мень¬
шим заранее заданного. При этом можно не распознать малые
и/или медленно движущиеся объекты, но это увеличивает ве¬
роятность того, что остающиеся записи в разности двух кадров
изображения действительно соответствуют движению. Проиллю¬
стрируем эти рассуждения рис. 8.20. На рис. 8.20, а приведен эта¬
424
лонный кадр изображения, который соответствует моменту вре¬
мени ti и состоит из одного объекта постоянной интенсивности,
движущегося с равномерной скоростью по поверхности фона, так¬
же имеющего постоянную интенсивность. На рис. 8.20,6 приведен
кадр в момент времени tj, а на рис. 8.20, в разность кадров рас¬
считанная по уравнению (8.2-25) с пороговым уровнем, большим
постоянной интенсивности фона. Необходимо отметить, что в
процессе определения разности кадров возникли две несвяз¬
ные области: одна область является результатом выделения кон¬
тура передней части, а другая — задней части движущегося
объекта.
Аккумулятивная разность. Как говорилось выше, разность
кадров благодаря шуму часто содержит изолированные записи.
Несмотря на то что число таких записей может быть сокращено
или полностью ликвидировано в результате анализа связности
пороговых уровней, этот процесс может также привести к по¬
тере изображений малых или медленно движущихся объектов.
Ниже излагается подход для решения этой проблемы путем
рассмотрения изменения в расположении пикселов на несколь¬
ких кадрах, т. е. в процесс вводится «память». Основная идея
заключается в пренебрежении теми изменениями, которые воз¬
никают случайно в последовательности кадров и, таким образом,
могут быть отнесены к случайному шуму.
Рассмотрим последовательность кадров изображения
/(*, У, М, f(x, у, t2) f(x, у, tn) И допустим, что f(x, у, ti)
является эталонным образом. Изображение аккумулятивной
разности формируется в результате сравнения эталонного об¬
раза с каждым образом в данной последовательности. В про¬
цедуре построения изображения аккумулятивной разности
имеется счетчик, предназначенный для учета расположения пик¬
селов. Его значение увеличивается каждый раз, когда возникает
различие в расположении соответствующих пикселов эталон¬
ного образа и образа из рассматриваемой последовательности.
Таким образом, когда £-й кадр сравнивается с эталонным,
запись в данном пикселе аккумулятивной разности означает, во
сколько раз интенсивность пиксела k-ro кадра отличается от ин¬
тенсивности пиксела эталонного образа. Различия устанавли¬
ваются, например, с помощью уравнения (8.2-25).
Приведенные выше рассуждения иллюстрируются рис. 8.21.
На рис. 8.21, а—д приведены образы прямоугольного объекта
(обозначенного нулями), движущегося вправо с постоянной ско¬
ростью 1 пиксел/кадр. Эти образы приведены в моменты вре¬
мени, соответствующие одному перемещению пиксела. На
рис. 8.21, а изображен кадр эталонного образа, на рис. 8.21,6—г
со 2-го по 4-й кадры последовательности, а на рис. 8.21,6— 11-й
кадр. Рис. 8.21, е—и соответствуют изображениям аккумулятив¬
ной разности, которые можно объяснить следующим образом.
На рис. 8.21, а левая колонка из 1 обусловлена различием между
425
объектом на рис. 8.21, а и фоном на рис. 8.21,6. Правая колонка
из 1 вызвана различием между фоном эталонного образа и пе¬
редним контуром движущегося объекта. Ко времени появления
9
10
00000000
". ^
11
00000000
12
00000000
а
13
14
15
16
9
00000000
00000000
00000000
9
10
00000000
10
1
11
00000000
11
1
1
5
12
00000000
12
1
1
13
00000000
13
1
в
14
00000000
14
1
1
15
00000000
15
1
1
16
16
9
9
10
оооооооо
10
21
21
11
OOOOOOQC
11
21
21
12
ооооооос
12
21
21
ж
в
13
оооооооо
13
21
21
14
оооооооо
14
21
21
15
оооооооо
15
21
21
16
16
9
9
10
оооооооо
10
321
321
11
оооооооо
11
321
321
12
оооооооо
12
321
321
3
г
13
оооооооо
13
321
321
14
оооооооо
14
321
321
15
оооооооо
15
321
321
16
16
9
9
10
оооооооо
10
А98765438887654321
11
оооооооо
11
А98765438887654Э21
д
12
оооооооо
12
А98765438887654321
и
13
оооооооо
13
А98765438887654321
14
оооооооо
14
А98765438887654321
15
оооооооо
15
А98765438887654321
16
16
Рис. 8.21. Кадр эталонного образа (а), б — дсоответственно2-, 3-, 4- и 11-й
кадры, е — и — изображения аккумулятивной разности для 2-, 3-, 4- и 11-го
кадров [135].
4-го кадра (рис. 8.21, г)', первый ненулевой столбец изображе¬
ния аккумулятивной разности указывает на три отсчета, что со¬
ответствует трем основным различиям между этим столбцом в
эталонном образе и соответствующим столбцом в последующих
426
кадрах. На рис. 8.21, и показано общее число из 10 (представ¬
ленных «Л» в шестнадцатеричной системе счисления) изменений
этого положения. Остальные записи на этом рисунке объясня¬
ются аналогично.
Нередко полезно рассматривать три типа изображений акку¬
мулятивной разности: абсолютное, положительное и отрица¬
тельное. Последние два получаются из уравнения (8.2-25), в
9Ш?999999999?9?99?
9999999999999999999?
9999999999999999999?
?9ВВ80ВВ03ВВВ08098е811
998877 777777777? 77 7722U
998077777777777777772211
990877777777777777772211
99087766666466464666332211
998877666666666666663322 И
99ВВ7766666666646666332211
9988776655555555555544332211
9988776655555555555544332211
9988776655555555555544332211
998877665544444444445544332211
990877465544444*44445544332211
998877 6;65544444444445544 332 211
99887766554433333333665544332211
??B8776655443333333366554433221t
1122334*5566666646665544332211
11223344556677777777665544332211
11223344556677777777665544332211
112233445566666666665544332211
11223344556677777777665544332211
11223344556677777777645544332211
112233445566666666665544332211
1122334455647777777746354433221!
11223344856677777777663544332211
112233445566666666663544332211
112233445566466666665344332211
112233445566666666663344332211
1122334455555533533344332211
1122334455555333333344332211
И 22334455553353335544 332211
1122334 *44444444444 43322U
11223344444444444444332211
11223344444444444*44332211
1J2233J33333333333332211
112233333333333333332211
112233333333333333332211
1122222222222222222211
112222222222222222221 1
112222222222222222221 1
U111U111U111U111
11111111111111111111
muuiiumunii
&
J999W99 9999999999?
9999999999999999999?
999^999999999999999?
99387777777777777777
99087777777777777777
99887777777777777777
9?8В77666666666&6666
?9087?66666666666666
?980776666666666£666
99807766555553555555
99887766555555555553
9988776655555555555S
99887766554444444444
99887766534444444444
99887766554444444446
99887766554433333333
99887766554433333333
и
«
11
2211
2211
2211
332211
332211
332211
44332211
44332211
44332211
5544332211
5544332211
5544332211
665544332211
665544332211
1.122334 45566666666665544 332211
1122 334 455667 7777777665544 33 2211
11223344556677777777665544332211
112233445566666666665544332211
1122334455667777777766554433221Т
11223344556677777777665544332211
112233445566666666665544332211
11223344556677777777665544332211
11223344556677777777665544332211
112233445566666666665544332211
112233445566666666665544332211
112233445566666666665544332211
1122334455555555555544332211
1122334455555555555544332211
1122334455555555555544332211
112233444444*4444444332211
11223344444444444444332211
11223344444444*44444332211
112233333333333333332231
112233333333333333332211
112233333333333333332211
1122222222222222222211
1122222222222322222211
1122222222222222222211
uuiiummitiiu
11111111111111111111
11111111111111111111
в
Рис. 8.22. Абсолютное (а), положительное (б) и отрицательное (в) изображе¬
ния аккумулятивной разности для объекта размером 20 X 20 пикселов с ин¬
тенсивностью, превышающей фон, движущегося в юго-восточном направлении
[136].
котором нет модуля, а вместо f(x, у, ti) подставляется значение
эталонного кадра. Предполагая, что числовые значения интен¬
сивности объекта превышают значения фона в случае, когда
разность положительна, она сравнивается с положительным
значением порогового уровня; если отрицательна, сравнение
выполняется с отрицательным значением порогового уровня. Это
определение заменяется на противоположное, если интенсив¬
ность объекта меньше фона.
Пример. На рис. 8.22, а — в показаны абсолютное, положи¬
тельное и отрицательное изображения аккумулятивной разности
427
размером 20X20 пикселов, причем интенсивность пикселов объ¬
екта больше интенсивности фона. Объект движется с постоянной
скоростью в юго-восточном направлении. Важно отметить, что
пространственное расширение положительного изображения
прекращается, когда объект покидает начальное положение.
Другими словами, когда объект, интенсивность которого больше
фона, полностью выходит из положения, соответствующего по¬
ложению на эталонном образе, то генерация новых записей для
положительного изображения аккумулятивной разности прекра¬
щается. Таким образом, после завершения генерации положи¬
тельное изображение аккумулятивной разности дает исходное
расположение объекта на эталонном кадре. Как показано ниже,
такое свойство полезно при создании эталона из движущейся
последовательности образов. Из рис. 8.22 видно, что абсолют¬
ное изображение содержит области как положительного, так и
отрицательного изображения, и записи в этих образах указы¬
вают скорость и направление движения объекта. Форма коди¬
рования интенсивности образов, приведенных иа рис. 8.22, дана
на рис. 8.23.
428
Определение эталонного образа. Успех применения методов,
изложенных в предыдущих двух разделах, зависит от эталон¬
ного образа, относительно которого проводятся дальнейшие
сравнения. Как уже говорилось выше, различие между двумя
образами в задаче распознавания движущихся объектов опре¬
деляется путем исключения стационарных компонент при сохра¬
нении элементов, соответствующих шуму и движущимся объек¬
там. Проблема выделения образа из шума решается методом
фильтрации или с помощью формирования изображения акку¬
мулятивной разности.
Рис. 8.24. Два кадра изображения сцены дорожного движения. Имеются два
основных движущихся объекта: белый автомобиль в центре и пешеход в
левой нижней части сцены [135].
На практике не всегда можно получить эталонный образ,
имеющий только стационарные элементы, и это приводит к не¬
обходимости построения эталона из набора образов, содержа¬
щих один или более движущихся объектов. Это особенно харак¬
терно для ситуаций, описывающих сцены со многими быстро-
меняющимися объектами или в случаях, когда возникают
частые изменения сцен. Рассмотрим следующую процедуру гене¬
рации эталонного образа. Предположим, что мы рассматриваем
первый образ последовательности в качестве эталонного. Когда
нестационарная компонента полностью вышла из своего положе¬
ния в эталонном кадре, соответствующий фон в данном кадре
может быть перенесен в положение, первоначально занимаемое
объектом в эталонном кадре. Когда все движущиеся объекты
полностью покинули свои первоначальные положения, в резуль¬
тате этой операции воссоздается эталонный образ, содержащий
только стационарные компоненты. Перемещение объекта можно
определить с помощью операции расширения положительного
изображения аккумулятивной разности.
Пример. Иллюстрация описанного выше подхода приведена
на рис. 8.24 и 8.25. На рис. 8.24 показаны два кадра изображс-
429
ния перекрестка. Первое изображение рассматривается в каче¬
стве эталонного, а второе воспроизводит эту же сцену в некото¬
рый более поздний момент времени. Основными движущимися
деталями являются автомобиль, движущийся слева направо, и
пешеход, пересекающий улицу в нижней левой части картины.
Рис. 8.25. Изображение, в котором устранен автомобиль и сохранен фон (а),
и изображение, в котором устранен пешеход и сохранен фон. Последнее
изображение можно использовать как эталонное [1351.
Устранение движущегося автомобиля показано на рис. 8.25, а,
а устранение пешехода — на рис. 8.25,6.
8.3. ОПИСАНИЕ
В системах технического зрения проблемой описания назы¬
вается выделение свойств (деталей) объекта с целью распозна¬
вания. В идеальном случае дескрипторы не должны зависеть
от размеров, расположения и ориентации объекта, но должны
содержать достаточное количество информации для надежной
идентификации объектов. Описание является основным резуль¬
татом при конструировании систем технического зрения в том
смысле, что дескрипторы должны влиять не только на слож¬
ность алгоритмов распознавания, но также и на их работу.
В разд. 8.3.1, 8.3.2 и 8.4 мы рассмотрим три основные катего¬
рии дескрипторов: дескрипторы границы, дескрипторы области
и дескрипторы для описания трехмерных структур.
8.3.1. Дескрипторы границы
Цепные коды. Цепные коды применяются для представления
границы в виде последовательности отрезков прямых линий
определенной длины и направления. Обычно в основе этого
представления лежит 4- или 8-связная прямоугольная решетка
(рис. 8.26). Длина каждого отрезка определяется разрешением
решетки, а направления задаются выбранным кодом. Отметим,
430
1
CL 5
Рис. 8.26. 4-направленный цепной код (а) и 8-направленный цепной код (б).
Цепной код О 3 30 0110333 2 3...
Рис. 8.27. Этапы получения цепкого кода.
431
что для представления всех направлений в 4-направленном цеп¬
ном коде достаточно 2 бит, а для 8-направленного цепного кода
требуется 3 бит. Конечно, можно определить цепные коды с
большим числом направлений, но на практике наиболее часто
используются коды, приведенные на рис. 8.26.
Для порождения цепного кода заданной границы сначала
выбирается решетка (рис. 8.27,а). Тогда, если площадь ячейки,
расположенной внутри границы, больше определенного числа
(обычно 50%), ей присваивается значение 1; в противном слу¬
чае этой ячейке присваивается значение 0. Данный процесс
иллюстрируется рис. 8.27,6, где ячейки со значением 1 отме¬
чены темными линиями. Окон¬
чательно мы кодируем грани¬
цу между двумя областями,
используя направления, задан¬
ные решеткой на рис. 8.26, а.
Результат кодирования в на¬
правлении по часовой стрелке
с началом в месте, помеченном
точкой, приведен на рис. 8.27, в.
Альтернативная процедура
состоит в разбиении границы
на участки равной длины
(каждый участок имеет одно
и то же число пикселов) и со¬
единении граничных точек
Рис. 8.28. Генерация цепного кода с каждого участка прямой ли-
помощью разбиения границы. ' нией, а затем присваивания
каждой линии направления,
ближайшего к одному из допустимых направлений цепного
кода. Пример такого подхода, использующего четыре направле¬
ния, приведен на рис. 8.28.
Важно отметить, что цепной код данной границы зависит от
начальной точки. Однако можно нормировать код с помощью
простой процедуры. Для создания цепного кода начальная
точка на решетке выбирается произвольным образом. Рассмат¬
ривая цепной код как замкнутую последовательность индексов
направлений, мы вновь выбираем начальную точку таким обра¬
зом, чтобы результирующая последовательность индексов была
целым числом, имеющим минимальную величину. Также можно
нормировать повороты, если вместо цепного кода рассматри¬
вать его первую разность. Первая разность вычисляется в ре¬
зультате отсчитывания (в направлении против часовой стрелки)
числа направлений, разделяющих два соседних элемента кода.
Например, первая разность для цепного кода с 4 направле¬
ниями 10103322 есть 3133030. Если рассматривать код как зам¬
кнутую последовательность, тогда первый элемент разности
432
можно вычислить, используя переход между последним и пер¬
вым компонентами цепи. В данном примере результатом яв¬
ляется 33133030. Нормирование можно осуществить путем раз¬
биения всех границ объекта на одинаковое число равных сег¬
ментов и последующей подгонкой длин сегментов кода с целью
их соответствия этому разбиению, как показано на рис. 8.28.
Изложенные методы нормирования являются точными толь¬
ко в том случае, когда сами границы инвариантны к повороту
и изменению масштаба. Этот случай редко встречается на прак¬
тике. Например, один и тот же объект, разбитый на элементы
в двух различных направлениях, как правило, имеет разную
JF £ зя Я 5т ЗЖ тя; £!Г
4 Z 4 в 4 г 4
р
а
Si JL ЗЯ Л Sir Яг 7я^ г/Г
4 Z 4 g 4 г 4
Рис. 8.29. Две простые формы границы и их сигнатуры как функции угла.
форму границы, причем степень различия пропорциональна раз¬
решающей способности изображения. Этот эффект можно умень¬
шить, если выбирать длины элементов цепи большими, чем рас¬
стояния между пикселами дискретного образа, или же выбирать
ориентацию решетки (рис. 8.27) вдоль главных осей кодируе¬
мого объекта. Этот вопрос рассматривается ниже в разделе,
посвященном индексам формы.
Сигнатуры. Сигнатурой называется одномерное функциональ¬
ное представление границы. Известно несколько способов соз¬
дания сигнатур. Одним из наиболее простых является построе¬
ние отрезка из центра к границе как функции угла (рис. 8.29).
Очевидно, что такие сигнатуры зависят от периметра области и
начальной точки. Нормирование периметра можно осуществить,
пронормировав кривую г(0) максимальным значением. Пробле¬
му выбора начальной точки можно решить определив сначала
цепной код границы, а затем применив метод, изложенный в пре¬
дыдущем разделе. Конечно, расстояние, зависящее от угла, не
является единственным способом определения сигнатуры. Напри¬
мер, можно провести через границу прямую линию и определить
угол между касательной к гарнице и этой линией как функцию
положения вдоль границы [4]. Полученная сигнатура, хотя и от¬
личается от кривой г(6), несет информацию об основных харак¬
теристиках формы границы. Например, горизонтальные участки
кривой соответствовали бы прямым линиям вдоль границы, по¬
скольку угол касательной здесь постоянен. Один из вариантов
этого метода в качестве сигнатуры использует так называемую
функцию плотности наклона [206]. Эта функция представляет со¬
бой гистограмму значений угла касательной. Поскольку гисто¬
грамма является мерой концентрации величин, функция плотно¬
сти наклона строго соответствует участкам границы с постоян¬
ными углами касательной (прямые или почти прямые участки)'
и имеет глубокие провалы для участков, соответствующих быст¬
рому изменению углов (выступы или другие виды изгибов).
После получения сигнатуры мы должны ее описать таким
образом, чтобы можно было различать сигнатуры, соответствую¬
щие различным формам границы. Как правило, эта проблема
решается просто, поскольку теперь мы имеем дело с одномер¬
ными функциями. Метод, часто применяемый для определения
отличительных признаков сигнатуры, состоит в определении ее
моментов. Пусть а — дискретная случайная величина, означаю¬
щая отклонения амплитуды сигнатуры, и пусть p(ai), г —
= 1, 2, ..., К — соответствующие значения гистограммы, где
К — число дискретных приращений амплитуды а. Тогда п-й
момент ц от а относительно его среднего значения определяется
выражением
к
Рп (а) = Z (at—m)n р(а{), (8.3-1)
/=1
где
Л
т=2]а(р(аг). (8.3-2)
г-1
Величина т является средним значением а, а щ> — его диспер¬
сией. Для установления различия между сигнатурами явно не¬
похожих форм границы обычно требуется только несколько
первых моментов.
Аппроксимация многоугольниками. Дискретную границу с
произвольной точностью можно аппроксимировать многоуголь¬
никами. Для замкнутой кривой аппроксимация является точ¬
ной, когда число сегментов в многоугольнике равно числу точек
границы, так что каждая пара соседних точек определяет сег¬
мент многоугольника. На практике целью аппроксимации мно¬
гоугольниками является качественное определение формы гра¬
ницы с помощью минимального числа многоугольных сегментов.
Хотя обычно эта проблема нетривиальна и довольно быстро сво¬
дится к итеративному поиску, требующему больших временных
434
затрат, имеется ряд методов аппроксимации многоугольниками,
относительная простота которых и требования к обработке дан¬
ных делают их пригодными для приложений в области техниче¬
ского зрения роботов. В этом разделе рассмотрено несколько
таких методов.
Вначале рассмотрим метод, предложенный в работе [269],
для определения .многоугольников, имеющих минимальный пе-
Рис. 8.30. Граница объекта, заключенная в элементы (а), и многоугольник
минимального периметра (б).
риметр. Эту процедуру лучше всего объяснить на примере.
Предположим, что мы заключили границу во множество свя¬
занных друг с другом элементов (рис. 8.30, а). Это вложение
представляется в виде границ, соответствующих внешней и
внутренней границам полосы элементов. Мысленно границу
объекта можно представить в виде резиновой ленты, располо¬
женной внутри границ. Если теперь предположить, что резино¬
вая лента сжалась и приняла форму, показанную на рис. 8.30,6,
то эта форма будет соответствовать многоугольнику минималь¬
ного периметра, удовлетворяющего геометрии полосы элемен¬
тов. Когда элементы расположены таким образом, что внутри
435
каждого элемента находится только одна точка границы, то
для каждого элемента максимальная ошибка между исходной
границей и ее аппроксимацией резиновой лентой составит
V2 d, где d — расстояние между пикселами. Эту ошибку мож¬
но в 2 раза уменьшить, расположив пикселы в центрах соответ¬
ствующих элементов.
В задаче аппроксимации многоугольниками применяются
методы объединения, основанные на ошибке или других крите¬
риях. Один из подходов состоит в соединении точек границы
линией по методу наименьших квадратов. Линия проводится до
тех пор, пока ошибка аппроксимации не превысит ранее задан¬
ный порог. Когда порог превышается, параметры линии зано¬
сятся в память, ошибка полагается равной нулю и процедура
повторяется; новые точки границы соединяются до тех пор, пока
ошибка снова не превысит порог. В конце процедуры образу¬
ются вершины многоугольника в результате пересечения сосед¬
них линий. Одна из основных трудностей, связанная с этим под¬
ходом, состоит в том, что эти вершины обычно не соответствуют
изгибам границы (таким, как углы), поскольку новая линия
начинается только тогда, когда ошибка превысит порог. Если,
например, длинная прямая линия пересекает угол, то числом
(зависящим от порога) точек, построенных после пересечения,
можно пренебречь ранее, чем будет превышено значение поро¬
гового уровня. Однако для устранения этой трудности наряду
с методами объединения можно использовать методы разбиения.
Один из методов разбиения сегментов границы состоит в по¬
следовательном делении сегмента на две части до тех пор, пока
удовлетворяется заданный критерий. Например, можно потре¬
бовать, чтобы максимальная длина перпендикуляра, проведен¬
ного от сегмента границы к линии, соединяющей две крайние
точки этого сегмента, не превышала ранее установленного зна¬
чения порогового уровня. Если это имеет место, наиболее даль¬
няя точка становится вершиной, разделяя, таким образом, исход¬
ный сегмент на два подсегмента. Этот метод обладает тем преи¬
муществом, что он адаптирован к наиболее подходящим точкам
изгиба. Для замкнутой границы наилучшей начальной парой
точек обычно являются точки, наиболее удаленные от границы.
Соответствующий пример приведен на рис. 8.31. На рис. 8.31, а
показана граница объекта, а на рис. 8.31,6— разбиение этой
границы (сплошная линия)' по наиболее удаленным точкам.
В точке с перпендикуляр из вершины сегмента к линии ab имеет
наибольшую длину. Аналогично точка d наиболее удалена от
нижнего сегмента. На рис. 8.31, в показан результат применения
процедуры разбиения с пороговым уровнем, равным 0,25 длины
линии ab. Поскольку длина перпендикуляра, опущенного из
любой точки новых сегментов границы до соответствующей пря¬
мой линии, не превышает выбранной величины порогового
436
уровня, то результатом работы процедуры является многоуголь¬
ник, приведенный на рис. 8.31, г.
Отметим, что имеется большое число работ, посвященных
комбинации методов объединения и разбиения. Обзор этих ме¬
тодов приведен в работе [232J.
Индексы формы. Граница, закодированная с помощью цеп¬
ного кода, имеет несколько первых разностей, зависящих от
начальной точки. Индекс формы такой границы, основанный на
с
6
Рис. 8.31. Исходная граница (а), граница, разделенная по наиболее удален¬
ным точкам (б), соединение вершин отрезками прямых линий (в) и получив¬
шийся а результате многоугольник (г).
коде из четырех направлений (рис. 8.26, а), определяется как
первая разность наименьшего значения. Порядок п индекса
формы равен числу цифр кода. Отметим, что п существует даже
для замкнутой границы, и его значения ограничивает число
всех возможных форм. На рис. 8.32 приведены все возможные
формы 4-, 6- и 8-го порядков вместе с их цепными кодами, пер¬
выми разностями и индексами формы. Отметим, что при вычис¬
лении первых разностей цепные коды рассматривались как
замкнутые последовательности. Хотя первая разность цепного
кода не зависит от вращения, закодированная граница, вообще
говоря, будет зависеть от ориентации решетки кода, показанной
на рис. 8.27, а. Один из путей нормирования ориентации ре¬
шетки следующий: большой осью границы является отрезок
прямой линии, соединяющий две наиболее удаленные друг от
437
друга точки. Малой осью является перпендикуляр, восстанов¬
ленный к большой оси и имеющий длину, достаточную для
построения прямоугольника, описанного вокруг границы. Отно¬
шение большой оси к малой называется эксцентриситетом гра¬
ницы, а упомянутый выше прямоугольник— базовым прямо¬
угольником. Во многих случаях при совмещении решетки цеп¬
ного кода со сторонами базового прямоугольника получается
только один индекс формы. В работе [85] приведен алгоритм
построения базового прямоугольника для замкнутой кривой,
4-й порядок
Цепной код 0 3 2 1
Разносто 8 3 3 3
Индекс рормы 3 33 3
С-и порядок
:-Н
О О 3Z2 1
303303
033033
8-и порядок
Цепной под 00332,211
Разность 30303030
Индекс рормы 03 03 03 03
03О322 11
33133 030
030331 33
000322Z 1
300330 0 3
003300 3 3
Рис. 8.32. Все формы 4-, 6- и 8-го порядков. Направления определяются
согласно рис. 8.26, и точка в левом верхнем углу указывает начальную точку.
закодированной с помощью цепного кода. Задавая желаемый по¬
рядок формы границы области, мы получаем прямоугольник по¬
рядка п, эксцентриситет которого наилучшим образом соответ¬
ствует эксцентриситету базового прямоугольника для установ¬
ления размеров решетки. Например, если п — 12, то всеми пря¬
моугольниками 12-го порядка (т. е. периметр которых равен
12) являются следующие: 2X4, 3X3 и 1X5. Если для данной
границы эксцентриситет прямоугольника 2X4 наиболее близок
к эксцентриситету базового прямоугольника, выбирается ре¬
шетка 2X4, центр которой совпадает с центром базового пря¬
моугольника, и для получения цепного кода применяется изло¬
женная выше процедура. Индексы формы получаются из пер¬
вых разностей этого кода с помощью только что приведенного
метода. Хотя порядок полученного индекса формы обычно ра¬
вен п (что определяется способом выбора размеров ячеек ре¬
шетки) для границ, имеющих выемки, размеры которых срав¬
нимы с размерами ячеек решетки, порядок индекса формы
иногда будет больше п. В этом случае выбирается прямоуголь¬
438
ник более низкого порядка и вся процедура повторяется, пока'
индекс формы, полученный в результате ее работы, не достиг¬
нет величины п.
Пример. Предположим, что для границы, показанной на
рис. 8.33, а мы задали порядок п= 18. Для получения индекса
формы такого порядка воспользуемся только что изложенной
процедурой. Сначала мы находим базовый прямоугольник, как
S
а
Индекс формы ООО 3103 3 Of300313 03
Рис. 8.33. Шаги генерации индекса формы.
показано на рис. 8.33,6. Ближайшим прямоугольником 18-го
порядка является прямоугольник 3X6, поэтому базовый прямо¬
угольник разбивается так, как показано на рис. 8.33, в, причем
направления цепного кода совпадают с направлениями решетки.
Затем мы определяем цепной код и его первую разность, по
которой вычисляется индекс формы (рис. 8.33, г).
Дескрипторы Фурье. Дискретное одномерное преобразование
Фурье, определяемое уравнением (7.6-4), часто можно исполь-
439
зовать для описания двумерной границы. Предположим, что гра¬
ница состоит из М точек. Если рассматривать границу на комп¬
лексной плоскости (рис. 8.34), каждая точка (я, у) двумерной
границы соответствует комплексному числу x-j-jy. Последова¬
тельность точек границы мож¬
но представить в виде функ¬
ции, имеющей преобразование
Фурье F(u), и = 0, 1, 2, ...
..., М—1. Если М является це¬
лым числом (степенью 2), F(u)
можно вычислить с помощью
алгоритма быстрого преобра¬
зования Фурье (алгоритма
БПФ), рассмотренного в
разд. 7.6.1. Этот метод выбран
потому, что для идентификации
существенно разных форм
обычно требуется только не¬
сколько первых компонент
F(u). Например, объекты, при¬
веденные на рис. 8.35, можно
различить, используя менее 10 % элементов полного преобразова¬
ния Фурье их границ. Преобразование Фурье легко нормируется
для размера, поворота и начальной точки границы. Для изме-
Действительная ось ос
Рис. 8.34. Представление границы об¬
ласти на комплексной плоскости.
Рис. 8.35. Две формы, которые легко различить с помощью дескрипторов
Фурье [234).
нения размера контура достаточно умножить компоненты пре¬
образования Фурье на константу. В силу линейности преобра¬
зования Фурье это эквивалентно умножению границы на один
и тот же множитель (масштабирование). Поворот на угол 6
осуществляется умножением элементов F(и) на ехр (/0). Окон¬
440
чательно можно показать, что изменение начальной точки кон¬
тура в пространственной области соответствует умножению k-я
компоненты F(и) на exp(jkT), где Т лежит в интервале [0, 2л].
Поскольку значения Т изменяются в пределах от 0 до 2л, на¬
чальная точка обходит весь контур только один раз. Эту ин¬
формацию можно использовать как основу для нормирования
([104].
8.3.2. Дескрипторы области
Область, представляющую интерес, можно описать формой
ее границы (разд. 8.3.1) или же путем задания ее характери¬
стик, как показано ниже. Важно отметить, что методы, рассмот¬
ренные в обоих разделах, применяются для описания областей.
Некоторые простые дескрипторы. Существующие системы
технического зрения основываются на довольно простых де¬
скрипторах области, что делает их более привлекательными с
вычислительной точки зрения. Как следует ожидать, применение
этих дескрипторов ограничено ситуациями, в которых представ¬
ляющие интерес объекты различаются настолько, что для их
идентификации достаточно несколько основных дескрипторов.
Площадь области определяется как число пикселов, содер¬
жащихся в пределах ее границы. Этот дескриптор полезен при
сборе информации о взаимном расположении и форме объектов,
от которых камера располагается приблизительно на одном
и том же расстоянии. Типичным примером может служить рас¬
познавание системой технического зрения объектов, движу¬
щихся по конвейеру.
Большая и малая оси области (разд. 8.3.1) полезны для
определения ориентации объекта. Отношение длин этих осей,
называемое эксцентриситетом области, также является важным
дескриптором для описания формы области.
Периметром области называется длина ее границы. Хотя
иногда периметр применяется как дескриптор, чаще он исполь¬
зуется для определения меры компактности области, равной
квадрату периметра, деленному на площадь. Отметим, что ком¬
пактность является безразмерной величиной (и поэтому инва¬
риантна к изменению масштаба) и минимальной для поверх¬
ности, имеющей форму диска.
Связной называется область, в которой любая пара точек
может быть соединена кривой, полностью лежащей в этой об¬
ласти. Для множества связных областей (некоторые из них
имеют отверстия) в качестве дескриптора полезно использовать
число Эйлера, которое определяется как разность между числом
связных областей и числом отверстий. Например, числа Эйлера
для букв Л и В соответственно равны 0 и —1. Другие дескрип¬
торы области рассматриваются ниже.
441
Текстура. Во многих случаях идентификацию объектов или
областей образа можно осуществить, используя дескрипторы
текстуры. Хотя не существует формального определения тек¬
стуры, интуитивно этот дескриптор можно рассматривать как
описание свойств поверхности (однородность, шероховатость, ре¬
гулярность). Некоторые примеры приведены на рис. 8.36. Двумя
основными подходами для описания текстуры являются стати¬
стический и структурный. Статистические методы дают такие
характеристики текстуры, как однородность, шероховатость, зер¬
нистость и т. д. Структурные методы устанавливают взаимное
расположение элементарных частей образа, как, например, опи¬
сание текстуры, основанной на регулярном расположении па¬
раллельных линий.
Одним из наиболее простых методов описания текстуры яв¬
ляется использование моментов гистограммы интенсивности
А\г
образа или области. Пусть г — случайная величина, обозначаю¬
щая дискретную интенсивность образа, и p{zi), t = l, 2—
соответствующие значения гистограммы, где L — число уровней
различной интенсивности. В разд. 8.3.1 показано, что п-й момент
z относительно среднего значения определяется формулой
L
(^) = Z (г( — mf р (zt), (8.3-3)
где т — среднее значение z (т. е. средняя интенсивность об¬
раза):
m=Yj Zip (zt). (8.3-4)
i-l
Из уравнения (8.3-3) следует, что ро=1 и pi = 0. Второй мо¬
мент, называемый дисперсией и обозначаемый a2{z), особенно
важен для описания текстуры. Он является мерой контраста
интенсивности и применяется для определения дескрипторов*
описывающих однородность поверхности. Например, величина
^=1-t+W <8-3-5>
равна 0 для областей постоянной интенсивности [a2(z)=0, если
все zi имеют одно и то же значение] и приближается к 1 для
больших значений a2(z). Третий момент является мерой асим¬
метрии гистограммы, а четвертый момент — мерой ее относи¬
тельной ровности. Пятый и шестой моменты не так легко свя¬
зать с формой гистограммы, но они дают некоторую количест¬
венную информацию о виде текстуры.
Однако характеристики текстуры, вычисляемые только по
гистограммам, не дают информации о взаимном расположении
пикселов. Поэтому для получения такой информации в процессе
анализа текстуры надо рассматривать не только распределение
интенсивностей, но также положения пикселов с равными или
почти равными значениями интенсивности. Пусть Р — оператор
положения и А — матрица размером k~Xk, где элемент ац обо¬
значает число появлений точек с интенсивностью zt (в положе¬
нии, определяемом Р) относительно точек с интенсивностью Zj
для 1 < г, j ^ k. Например, рассмотрим образ с тремя уров¬
нями интенсивности z\ = 0, zi = 1 и z% = 2:
0 0 0 1 2
110 11
2 2 10 0
110 2 0
0 0 10 1
44»
Если мы определим оператор положения как «один пиксеЬ
справа и затем один пиксел вниз», тогда мы получим матрицу
А размерностью 3X3 следующего вида:
-4 2 1
А = 2 3 2
-О 2 О J
где, например, ап— число появлений точки с уровнем интен¬
сивности 2i = 0, расположенной на один элемент по диагонали
вниз от пиксела с такой же интенсивностью, a ai3 — число появ¬
ления точки с уровнем z\ = 0 относительно точки с интенсив¬
ностью 23 = 2. Отметим, что размерность матрицы А строго
определяется числом различных уровней интенсивности входного
образа. Таким образом, для практического применения этого
метода обычно требуется разбиение диапазона интенсивности
на несколько интервалов с целью сохранения приемлемой раз¬
мерности матрицы А.
Обозначим через п общее число пар точек, удовлетворяющих
Р (в приведенном выше примере « = 16). Если ввести матрицу
С с элементами сц = аи,/п, тогда Сц представляет собой оценку
вероятности того, что пара точек, удовлетворяющих Р, будет
иметь значения (Zi, zj). Матрица С называется матрицей ве¬
роятности совместного появления уровней интенсивности, где
термин «уровень интенсивности» используется для обозначения
интенсивности монохромного пиксела или образа. Поскольку С
зависит от Р, можно обнаружить наличие видов данной тексту¬
ры путем выбора соответствующего оператора положения. Так,
оператор, используемый в предыдущем примере, чувствителен
к полосам частот постоянной интенсивности, падающей под уг¬
лом —45° (отметим, что в матрице А элементом с наибольшим
значением является аи= 4 отчасти благодаря точкам, имею¬
щим интенсивность, равную нулю и падающую под углом
—45°). В более общем случае возникает задача анализа мат¬
рицы С с целью описания текстуры области, для которой она
•была вычислена. Ниже приводится набор дескрипторов из [111].
1. Максимальная вероятность:
max (с(/).
о / \
2. Разностный момент /г-го порядка: ■ >!
ZZ (*-/)%.
i i
3. Обратный разностный момент &-го порядка:'
Z Z с
1 1 т- , i Ф у.
(*-/)*
444
4. Энтропия:
- Z Z Си log ctt.
5. Однородность:
Основная идея состоит в описании «содержания» матрицы
С с помощью этих дескрипторов. Например, первое свойство
дает значение самого сильного отклика на оператор Р (как
в приведенном выше примере). Второй дескриптор имеет отно¬
сительно низкое значение, когда большие значения элементов
матрицы С расположены около главной диагонали, поскольку
в этом случае разности i — / весьма малы. Действие третьего
Рис. 8.37. Простейший элемент текстуры (а). Модель, созданная в резуль¬
тате применения правила S -*• aS (б). Двумерная модель текстуры, созданная
с помощью этого и других правил (в).
дескриптора противоположно второму. Четвертый дескриптор
является мерой беспорядка и достигает наибольшего значения,
когда все элементы матрицы с,у равны. Наоборот, пятый дес¬
криптор имеет наименьшее значение, когда все сц равны. Ме¬
тод, основанный на применении этих дескрипторов, состоит в
том, чтобы «обучить» систему распознавать различные текстуры
по соответствующим значениям дескрипторов. После того как
вычислены дескрипторы области с неизвестной текстурой, в ка¬
честве искомой текстуры из памяти системы выбирается та тек¬
стура, дескрипторы которой наиболее близки к вычисленным.
Более подробно этот метод рассматривается в разд. 8.4.
Методы, рассмотренные выше, являются статистическими.
Как уже говорилось в начале этого раздела, ко второй главной
категории методов описания текстуры относятся структурные
методы. Предположим, что мы имеем правило вида S-^-aS,
которое означает, что символ S преобразуется в aS (например,
три применения этого правила дадут цепочку aaaS). Если а
является кругом (рис. 8.37, а), то, присвоив значение «круги
44 i
вправо» цепочке вида ааа... с помощью правила S-*-aS, ста¬
нет возможным генерировать модель текстуры, показанной на
рис. 8.37, б.
Предположим, что к этой схеме мы добавили несколько но¬
вых правил: S-+bA, А-+сА, А-*-с, A-*-bS, S-*-a, где b озна¬
чает «круг вниз», а с — «круг влево». Теперь мы можем создать
цепочку вида aaabccbaa, которая соответствует матрице из кру¬
гов размерностью 3X3. Различные модели текстур, одна из ко¬
торых показана на рис. 8.37, в, можно легко создать анало¬
гичным образом (однако с помощью этих правил можно созда¬
вать не только прямоугольные структуры).
Таким образом, для создания сложных моделей текстуры
можно использовать «простейший элемент текстуры» (прими¬
тив) и набор правил, ограничивающих число возможных взаим¬
ных расположений этих элементов. Эти понятия лежат в основе
структурного метода создания и распознавания структуры об¬
раза, который подробно рассмотрен в разд. 8.5.
Скелет области. Важным подходом для описания вида струк¬
туры плоской области является ее представление в виде графа.
Во многих случаях для этого определяется схема (скелет) об¬
ласти с помощью так называемых прореживающих (или же
сокращающих) алгоритмов. Прореживающие процедуры иг¬
рают основную роль в широком диапазоне задач компьютерного
зрения — от автоматической проверки печатных плат до под¬
счета асбестовых волокон в воздушных фильтрах. Скелет об¬
ласти можно определить через преобразование средних осей
(ПСО), предложенное в работе [24]. ПСО области R с грани¬
цей В определяется следующим образом. Для каждой точки р
из R мы определяем ближайшую к ней точку, лежащую на В.
Если р имеет больше одной такой точки, тогда о ней говорится,
что она располагается на средней оси (скелете) области R.
Важно отметить, что понятие «ближайшая точка» зависит от
определения расстояния (разд. 7.5.3), и поэтому на результаты
операции ПСО будет влиять выбор метрики. Некоторые при¬
меры применения евклидовой метрики даны на рис. 8.38.
Хотя ПСО дает довольно удовлетворительный скелет обла¬
сти, его прямое применение затруднительно с вычислительной
точки зрения, поскольку требуется определение расстояния
между каждой точкой области и границы. Был предложен ряд
алгоритмов построения средних осей, обладающих большей
вычислительной эффективностью. Обычно это алгоритмы про¬
реживания, которые итеративно устраняют из рассмотрения
точки контура области так, чтобы выполнялись следующие
ограничения:
1) не устранять крайние точки;
2) не приводить к нарушению связности;
3) не вызывать чрезмерного размывания области,
446
Хотя были сделаны некоторые шаги в применении скелетов
для задач распознавания черно-белых образов с несколькими
уровнями интенсивности [70], [256], этот тип представления
обычно связывается с бинарными данными.
Ниже мы рассмотрим алгоритм, разработанный Накаши
и Шингалом [204]. Эта процедура быстрая, проста в реализа¬
ции и, как показано ниже, во многих случаях дает более хоро¬
шие результаты, чем другие алгоритмы прореживания. Сначала
введем несколько определений. Используя бинарные данные,
V
1
1
1
1
1
1
1
1
к " ■ >
ч /
ч /
S X
Y
1
1
1
1
\
ч—
/
1
1
>
Ч /
Y
1
1
1
1
1
1
1
1
1
А
✓ \
/ ч
' \
е _ \
1
л
/ ч
/ \
Г N
\
-
/
/
/
а
б
£
Рис. 8.38. Средние оси трех простых областей.
обозначим точки области единицами, а точки фона — нулями.
Назовем их соответственно темными и светлыми точками. Точ¬
кой контура называется темная точка, которая имеет в своей
окрестности, состоящей из четырех точек, по меньшей мере
одну светлую. Конечной точкой называется темная точка, ко¬
торая в своей окрестности, состоящей из восьми точек, имеет
одну и только одну темную точку. Точкой разрыва называется
темная точка, устранение которой привело бы к нарушению
связности области. Для всех алгоритмов прореживания шум
и другие ложные изменения границы могут приводить к значи¬
тельным отклонениям определяемого скелета (наиболее явно
это показано на рис. 8.38,6). Поэтому предполагается, что гра¬
ницы всех областей перед процессом прореживания были пред¬
варительно сглажены, например, с помощью процедуры, рас¬
смотренной в разд. 7.6.2.
В соответствии с приведенным на рис. 8.39 расположением
точек окрестности точка контура р, используемая в алгорит¬
мах прореживания, может быть следующего вида: 1) левая
точка контура, у которой левая соседняя точка пц светлая;
2) правая точка контура, у которой соседняя точка п0 светлая;
3) верхняя точка контура, у которой соседняя точка п2 свет-
447
г
лая; 4) нижняя точка контура, у которой соседняя точка п5
светлая. Иногда точку можно одновременно отнести сразу к не¬
скольким из этих видов. Например, темная точка р, у которой
п0 и я4 светлые, будет одновременно правой и левой точками
контура. Затем сначала рассматривается процесс идентифика¬
ции левых точек контура, которые должны быть устранены,
и уже потом процедура распространяется на другие виды точек.
Из
ПX
>ч
П4
р
Ч
«5
ч
И7
Рис. 8.39. Обозначение для соседних с точкой р
пикселов, которое используется в алгоритме про¬
реживания [204].
Точка контура р помечается, если она не является конечной
точкой или точкой разрыва, а также если ее устранение не вы¬
зовет чрезмерного размытия (как показано ниже). Проверка
этих условий осуществляется путем сравнения окрестности
точки р, состоящей из восьми точек с окнами, приведенными
а 5 в г,
Рис. 8.40. Разметка окрестности из восьми соседних точек темной точки р.
Для приведенных окон точка р не помечается. Звездочкой обозначена тем¬
ная точка, a d и е могут быть либо темными, либо светлыми [204].
на рис. 8.40, где р и звездочка являются темными точками,
a d и е могут быть либо темными, либо светлыми точками.
Если окрестность точки р соответствует окнам, показанным на
рис. 8.40, а—в, возможны два случая:
1. Если все точки d светлые, тогда р является конечной
точкой.
2. Если хотя бы одна точка d темная, тогда р является
точкой разрыва. В любом из этих случаев точка р не должна
помечаться.
Анализ окна, представленного на рис. 8.40, г, более слож¬
ный. Если хотя бы одна из точек due темная, тогда точка р
является точкой разрыва и не должна помечаться. Однако необ¬
ходимо рассмотреть другое расположение точек. Предположим,
что все точки d светлые, а точки е могут быть либо темными,
либо светлыми. Это условие дает восемь вариантов, показан¬
448
ных на рис. 8.41. Для конфигураций а — в точка р конечная,
а для конфигурации г она является точкой разрыва. Если бы р
была устранена в конфигурациях д и е, то на примере легко
показывается, что это устранение вызвало бы чрезмерное раз¬
мытие наклонных областей шириной 2. На конфигурации ж
точка р относится к так называемой шпоре, обычно появляю¬
щейся вследствие короткого ответвления или выступа области.
Поскольку предполагается, что граница области вначале сгла¬
жена, появление шпоры во время процесса прореживания рас¬
сматривается как важный элемент описания формы области,
* *
дежа
Рис. 8.41. Возможные конфигурации, когда на рис. 8.40 точка d светлая, а в
может быть темной, * или светлой f204].
и поэтому точка р не должна быть устранена. Наконец, если
все изолированные точки были устранены ранее, появление во
время процесса прореживания конфигурации з означает, что
область свелась к единственной точке; ее устранение означало
бы ликвидацию последней остающейся части области. Анало¬
гичные рассуждения применяются, когда точки due меняются
местами или же когда они могут быть как темными, так и свет¬
лыми. Главным является то, что каждая левая точка контура
р, имеющая окрестность из восьми точек, соответствующую
окнам, показанным на рис. 8.40, не должна быть устранена.
Проверка окрестности точки р на соответствие четырем
окнам (рис. 8.40) осуществляется по формуле булевой алгебры
логики:
В4 = п0 ■ (я, + п2 + щ + пт) ■ (п2 + п3) ■ (п5 + ле), (8.3-6)
где индекс у В означает, что я4 является светлой (т. е. р — ле¬
вая точка контура), точка — логическое И, плюс — логическое
15 К. Фу и др.
449
ИЛИ, минус — логическое отрицание, а щ, i = 1, 2, 3, 4 опре¬
делены на рис. 8.39. Ранее непомеченным темным точкам при¬
сваивается значение 1 (ИСТИНА), светлым, а также помечен¬
ным точкам — значение О (ЛОЖЬ). Тогда, если В4 — 1 (ИС¬
ТИНА), мы помечаем точку р. В противном случае точка р
остается непомеченной. Легко показать, что эти условия, на¬
ложенные на В4, одновременно выполняются для всех четырех
окон, приведенных на рис. 8.40.
Подобные выражения получаются для правых точек кон¬
тура
В0 = п4 • (п2 -)- п3 + п5 -)- п6) • («в + п7) • (л, + п2), (8.3-7)
для верхних точек контура
В2 = П6 • (п0 + П-4 + П-5 + п7) ■ (л0 -Т П\) • («3 -Т п4) (8.3-8)
и для нижних точек контура
Bs = п2 • (п0 -)- П-1 л3 -)- п4) ■ {п4 -)- %) • (п0 -)- Я}. (8.3-9)
Используя эти уравнения, алгоритмы прореживания рабо¬
тают итеративным образом, два раза сканируя данные. Скани¬
рование может осуществляться либо вдоль строк, либо вдоль
столбцов образа, но этот выбор обычно влияет на конечный
результат. В первом случае для пометки левых и правых точек
контура применяются В4 и В0\ при втором сканировании для
пометки верхних и нижних точек контура применяются В2
и В6. Если после второго сканирования не появилось новых
помеченных точек контура, алгоритм прекращает работу, а ис¬
комый скелет состоит из непомеченных точек; в противном
случае процедура повторяется. Отметим, что предварительно
помеченным темным точкам при вычислении булевых выраже¬
ний присваивается значение 0. Альтернативная процедура со¬
стоит в присвоении любой помеченной точке значения 0 во
время работы алгоритма, и следовательно, обработка точек
фона и создание скелета происходят в конце работы процеду¬
ры. Этот метод более прост в реализации за счет отбрасывания
всех других точек области.
Пример. На рис. 8.42, а приведена бинарная область, а на
рис. 8.42,6 — скелет, полученный с помощью описанного выше
алгоритма. Для сравнения на рис. 8.42, в приведен скелет, по¬
лученный на основе тех же данных с помощью хорошо извест¬
ного алгоритма прореживания [233]. Различие в результатах
очевидно.
Инварианты моментов. В разд. 8.3.1 говорилось, что для опи¬
сания границы области можно использовать дескрипторы
Фурье, инвариантные относительно перемещения, поворота и
изменения масштаба. В том случае, когда область задается
450
множеством точек, она может быть описана моментами, инва¬
риантными относительно этих действий.
Обозначим через f(x,y) интенсивность в точке области
(х,у). Тогда для данной области момент (р + q) порядка опре¬
деляется выражением
mpq=ZZ^Pyqf(x, У), (8.3-10)
X у
где суммирование проводится по всем пространственным коор¬
динатам {х, у) точек области. Центральный момент порядка
Рис. 8.42. Бинарная область (а). Скелет, полученный с помощью одного ал¬
горитма прореживания (б), и скелет, полученный с помощью другого алго¬
ритма прореживания (в) [204].
(Р + Я) определяется следующей формулой:
Рр„ = Z Z (X - х)р (У - У)" f (X, У), (8.3-11)
- ' . х у
где
Х = -^, у = . (8.3-12)
« П100 m 00
Нормированный центральный момент порядка+ я) опреде¬
ляется выражением , , . .. {-,<■;
. (8.3-13)
_ . И-00
где
v = -f-1 для (р-\-у) — 2, 3, .... (8.3-14)
15* 451
Используя только нормированные центральные моменты
2- и 3-го порядков, можно вывести следующий набор инвариан¬
тов моментов:
^5 — (Изо Зг)12) (т)зо + П12) [(Изо + П12)2 — 3 (т)21 + Т)03)2] -|-
+ (OTl2i Лоз) (Л21 + Лоз) [3 (Лзо + Л12)2 — (Л21 + Лоз)2]. (8.3-19)
Фб = (Л20 — Л02) [(Лзо т Л12)2 — (Л21 + Лоз)2] +
ф7 = (Зг]21 Лоз) (Лзо + Л12) [(Лзо + Л12)2 — 3 (т)21 + Лоз)2] +
+ (Злы Лзо) (Л21 + Лоз) [3 (Лзо + Л12)2 — (Л 21 + Лоз)3]- (8.3-21)
Как показано в работе [128], этот набор моментов инвариан¬
тен относительно перемещения, поворота и изменения мас-
8.4. СЕГМЕНТАЦИЯ И ОПИСАНИЕ ТРЕХМЕРНЫХ
СТРУКТУР
В предыдущих двух разделах основное внимание уделялось
методам сегментации и описания двумерных структур. В этом
разделе мы рассмотрим эти задачи применительно к трехмер¬
ным данным сцены.
Как уже говорилось в разд. 7.1, по существу зрение яв¬
ляется трехмерной проблемой, поэтому в основе разработки
многофункциональных систем технического зрения, пригодных
для работы в различных средах, лежит процесс обработки
информации о трехмерных сценах. Хотя исследования в этой
области имеют более чем 10-летнюю историю, такие факторы,
как стоимость, скорость и сложность, тормозят внедрение обра¬
ботки трехмерной зрительной информации в промышленных
приложениях.
Возможны три основные формы представления информа¬
ции о трехмерной сцене. Если применяются датчики, измеряю¬
щие расстояние, то мы получаем координаты (х, у, z) точек
поверхностей объектов. Применение устройств, создающих сте¬
реоизображение, дает трехмерные координаты, а также инфор¬
мацию об освещенности в каждой точке. В этом случае каждая
точка представляется функцией f(x,y,z), где значения послед¬
ней в точке с координатами (x,y,z) дают значения интенсив¬
ности в этой точке (для обозначения точки в трехмерном про¬
странстве и ее интенсивности часто применяется термин вок-
Ф\ — П20 + По2.
^*2 (П2о ^ог)2 4т]|1,
Фз = (Изо — Зт)12)2 + (Зт)21 — Т)03)2,
Ф 4 = (Изо + П12)2 + (Л21 + Поз)2.
(8.3-15)
(8.3-16)
(8.3-17)
(8.3-18)
+ 4т]ц (Изо + П12) (П21 + Поз).
(8.3-20)
штаба.
452
сел). Наконец, можно установить трехмерные связи на основе
одного двумерного образа сцены, т. е. можно выводить связи
между объектами, такие, как «над», «за», «перед». Поскольку
точное трехмерное расположение точек сцены обычно не может
быть вычислено на основе одного изображения, связи, полу¬
ченные с помощью этого вида анализа, иногда относятся к так
называемой 2,5тмерной информации.
8.4.1. Описание трехмерной сцены плоскими участками
Один из наиболее простых подходов для сегментации и опи¬
сания трехмерных структур с помощью координат точек
(x,y,z) состоит в разбиении сцены на небольшие плоские
Рис. 8.43. Описание трехмерной поверхности, основанное на представлении
в виде плоских участков [265].
«участки» с последующим их объединением в более крупные
элементы поверхности в соответствии с некоторым критерием.
Этот метод особенно удобен для идентификации многогранных
объектов, поверхности которых достаточно гладкие относительно
разрешающей способности.
453
Рассмотрим основные понятия, лежащие в основе этого ме¬
тода, на примере рис. 8.43. На рис. 8.43, а приведена простая
сцена, а на рис. 8.43,6—множество соответствующих трехмер¬
ных точек. Эти точки можно объединить в небольшие элементы
поверхности, если, например, разбить трехмерное пространство
на ячейки, в которых содержатся эти точки. Затем группе точек
каждого элемента ставится в соответствие плоскость, для ко¬
торой вычисляется единичный вектор (нормаль), проходящий
через центр этого элемента.
Плоские участки получаются в результате пересечения пло¬
скостей и сторон элементов, а их ориентация в пространстве
задается единичным вектором (рис. 8.43, в.) Все плоские уча¬
стки, направления которых в пределах задаваемого порога при¬
мерно одинаковы, объединяются в элементарные области (R)
(рис. 8.43, г). Затем эти области классифицируются как пло¬
ские (Р), кривые (С) или неопределенные (U) в зависимости
от направления плоских участков каждой области (например,
плоские участки плоской поверхности будут иметь одно и то
же направление). Этот тип классификации областей показан
на рис. 8.43,6. Окончательно (и это самый трудный шаг) основ¬
ные поверхности получаются в результате объединения смеж¬
ных областей одного класса (рис. 8.43, е). Отметим, что в ре¬
зультате работы этой процедуры сцена разделена на различ¬
ные поверхности, а каждой поверхности присвоен дескриптор
(т. е. поверхность является кривой или плоской).
8.4.2. Применение градиента
Когда сцена задана вокселами, ее можно описать плоскими
участками (по аналогии с методом, рассмотренным в разд. 8.4.1)
с помощью трехмерного градиента. В этом случае дескрипторы
поверхности также получаются в результате объединения этих
плоских участков. Как уже говорилось в разд. 7.6.4, вектор
градиента указывает направление максимальной скорости из¬
менения функции, а его величина соответствует величине этого
изменения. Эти понятия применимы для трехмерного случая
и также могут быть использованы для разбиения на сегменты
трехмерных структур тем же способом, который применялся
для двумерных данных.
Пусть задана функция f(x,y,z), тогда ее градиент в точке
(x,y,z) _ _ , <а
т. , -gx
о и (.*, У, z)] = Gy
л ,: , Lg2
il
дх
iL
ду
й.
дг
464
Величина градиента G определяется следующим образом:
G U (х, у, z)] = (G* + GI + Gl)\ (8.4-2)
Используя уравнение (7.6-39) для упрощения вычислений, G
часто аппроксимируется абсолютными значениями:
G[f(x, у, 2)] -IGJ-f\Gy\ + |G2|.
Применение трехмерного градиента основывается на использо¬
вании операторов, аналогичных операторам, рассмотренным в
разд. 7.6.4. На рис. 8.44 приведен оператор размерностью
iZ
'X
Л
3
Л
г
_д5
3
Я
г
-1
Л
г
•з
Л
2
3
0
0
0
0
0
0
0
0
0
Л.
я
Л.
3
г
3
я
I
£
г
2
■JT
л
£
1
2
3
Рис. 8.44. Оператор размерностью 3X3X3 для вычислении составляющей
градиента Gx [324].
3X3X3, предложенный в работе [324] для вычисления ком¬
поненты градиента Gx. Такой же оператор, ориентированный
вдоль оси у, используется для вычислений Gy, и ориентирован¬
ный вдоль оси г — для вычисления Gz. Основное свойство этих
операторов состоит в том, что они дают наилучший (по методу
наименьших квадратов) плоский контур между двумя обла¬
стями различной интенсивности в трехмерной окрестности.
Центр каждого оператора перемещается от воксела к вок-
селу, и операторы применяются так же, как их двумерные ана¬
455
логи (разд. 7.6.4), т. е. результатом действия операторов в лю¬
бой точке (х,у,г) являются Gx, Gy и Gz, которые затем под¬
ставляются в уравнение (8.4-1) для получения вектора гра¬
диента и в уравнение (8.4-2) или (8.4-3) для получения его ве¬
личины. Отметим, что оператор, приведенный на рис. 8.44, дает
нулевое значение градиента для области постоянной интенсив¬
ности размерностью 3X3X3.
Для разбиения сцены на плоские участки, аналогичные тем,
которые рассматривались в предыдущем разделе, имеется про¬
стая процедура, использующая метод градиента. Нетрудно по¬
казать, что вектор градиента к плоскости ах + by + cz =«* О
имеет компоненты Gx = a, Gy = b и Gz=& с. Поскольку рас¬
смотренные выше операторы дают оптимальный плоский уча¬
сток в окрестности размерностью 3X3X3, отсюда следует,
что компоненты вектора G определяют направления плоского
участка в каждой окрестности, в то время как величина G
дает указание на резкое изменение интенсивности в пределах
плоского участка, т. е. она указывает на наличие контура ин¬
тенсивности в пределах этого участка. Соответствующий при¬
мер применения градиентного оператора приведен на рис. 8.45.
Поскольку поверхность каждого планарного участка проходит
через центр воксела, границы этих участков не всегда могут
совпадать. На рис. 8.45 совпадающие участки показаны широ¬
кими однородными областями.
После того как получены плоские участки, они могут быть
объединены в основные поверхности методом, рассмотренным
в разд. 8.4.1. Отметим, что теперь мы располагаем дополни¬
тельной информацией об интенсивности и разрывах интенсив¬
ности, облегчающей процесс объединения и описания.
8.4.3. Разметка линий и соединений
Итак, контуры в трехмерной сцене определяются разры¬
вами в данных о координатах и/или интенсивности. После того
как был определен набор поверхностей и контуров, распола¬
гающихся между ними, окончательное описание сцены может
быть получено путем разметки линий, которые соответствуют
контурам, и соединений, которые эти контуры образуют.
Основные виды линий приведены на рис. 8.46. Выпуклая
линия (помеченная +) образуется в результате пересечения
двух поверхностей выпуклого тела (например, линия, образо¬
ванная в результате пересечения двух сторон куба). Вогнутая
линия (помеченная —) образуется в результате пересечения
двух поверхностей, принадлежащих двум различным телам
(например, пересечение стороны куба с полом). Скрытые ли¬
нии (помеченные стрелками) представляют собой контуры не¬
видимых поверхностей. Поверхности, закрывающие другие ча¬
456
сти объекта, располагаются справа от линии, если смотреть в
направлении стрелок, а невидимые поверхности располагаются
слева. После того как линии сцены размечены, их соединения
дают ключ к пониманию
природы трехмерных объ¬
ектов сцены. Физические
ограничения допускают
лишь несколько возмож¬
ных комбинаций меток
линий в соединении. На¬
пример, сцена в виде мно¬
гогранника не имеет ли¬
ний, метки которых могут
меняться между вершина¬
ми. Нарушение этого пра¬
вила приводит к объек¬
там, не имеющим физиче¬
ского смысла (рис. 8.47).
В основе метода ана¬
лиза соединений лежит
образование словаря из
допустимых типов соеди¬
нений. Например, легко
показать, что словарь соединений, приведенный на рис. 8.48,
содержит все значимые помеченные вершины трехгранных тел
Рис. 8.45. Аппроксимация куба плоскими
участками с использованием градиента[324]
——— Выпуклая линия
•—~—Вогнутая линия
■—-— Закрытая линия
Рис. 8.46. Три основные разметки линий.
(т. е. тела, у которых три плоские грани сходятся к одной вер¬
шине). После того как произведена классификация соединений
в соответствии со словарем, возникает задача объединения раз¬
личных поверхностей в объекты. Как правило, она решается
й помощью набора эвристических правил, построенных для
457
интерпретации помеченных линий и последовательностей из
соседних соединений. Основные понятия, лежащие в основе
этого метода, могут быть проиллюстрированы рис. 8.49. Из
рис. 8.49, б следует, что капля полностью составлена из скры¬
той невидимой границы, за исключением короткой вогнутой
линии, указывающей место, где она касается базовой детали.
Поскольку перед каплей
ничего нет, она может
быть выделена из сцены.
Отметим также, что име¬
ется вершина типа (10)
из словаря, приведенного
на рис. 8.48. Очевидно,
что для трехгранных объ¬
ектов три поверхности,
сходящихся к этой вер¬
шине, образуют кубиче¬
скую поверхность. Подоб¬
ные рассуждения приме¬
нимы к базовой детали,
после того как устранены
кубические поверхности.
После устранения базовой детали на фоне остается единствен¬
ный объект, на котором завершается декомпозиция сцены.
Хотя этот пример и дает достаточно полное представление
о применении анализа линий и соединений для описания трех¬
мерных объектов сцены, тем не менее создание алгоритма для
обработки более сложных сцен является далеко не тривиаль¬
ной задачей. Работы, посвященные исследованиям в этой обла¬
сти, приводятся в конце главы.
8.4.4. Обобщенные конусы
Обобщенным конусом (или цилиндром) называется поверх¬
ность, получаемая в результате перемещения плоского попереч¬
ного сечения вдоль произвольной пространственной кривой
(хребта) под постоянным к ней углом, причем поперечное се¬
чение преобразуется по правилу заметания объема. В техниче¬
ском зрении метод обобщенных конусов независимо от других
методов позволяет создавать образы трехмерных структур, что
полезно при моделировании и для проверки соответствия по¬
строенных моделей исходным данным.
Пример работы процедуры генерации обобщенных конусов
приведен на рис. 8.50. На рис. 8.50, а поперечным сечением яв¬
ляется кольцо, хребтом — прямая линия, а правило заметания
объема состоит в перемещении поперечного сечения перпенди¬
кулярно хребту, в то время как его диаметр остается постоян-
Рис. 8.47. Объект, не имеющий физического
смысла. Отметим, что одна из линий ме¬
няет метку из-за того, что загорожена вы¬
пуклость между двумя вершинами.
458
ным. В результате получается полый цилиндр. На рис. 8.50,6
приведена та же ситуация, за исключением того, что сначала
правило заметания объема состоит в том, чтобы поддерживать
диаметр поперечного сечения постоянным, а затем после про¬
хождения поперечным сечением средней точки хребта диаметр
линейно возрастает.
Рис. 8.50. Поперечные сечения и соответствующие им обобщенные конусы.
а — поперечное сечение остается постоянным во время заметания объема; б — диаметр
поперечного сечения линейно увеличивается после прохождения средней точки хребта.
Когда устанавливается соответствие между набором трех¬
мерных точек и набором известных обобщенных конусов, сна¬
чала определяется центральная ось точек, а затем набор попе¬
речных сечений, который наилучшим образом соответствует
данным при перемещении вдоль хребта. Обычно для получения
удовлетворительного результата требуется большое число испы¬
таний, особенно при неполных данных.
8.5. РАСПОЗНАВАНИЕ
Распознаванием называется процесс разметки, т. е. алго¬
ритмы распознавания идентифицируют каждый объект сцены
и присваивают ему метки (гаечный ключ, перемычка, болт).
Обычно в большинстве промышленных систем технического
зрения предполагается, что объекты сцены сегментированы как
отдельные элементы. Другое общее ограничение относится
а
2Г
460
С
к расположению устройств сбора информации относительно
исследуемой сцены (обычно они располагаются перпендику¬
лярно рабочей поверхности). Это приводит к уменьшению от¬
клонений в характеристиках формы, а также упрощает процесс
сегментации и описания в результате уменьшения вероятности
загораживания одних объектов другими. Управление отклоне¬
ниями в ориентации объекта производится путем выбора дес¬
крипторов, инвариантных к вращению, или путем использова¬
ния глазных осей объекта для ориентирования его в предвари¬
тельно определенном направлении.
Современные методы распознавания делятся на две основ¬
ные категории: теоретические и структурные методы. Как по¬
казано ниже, теоретические методы основываются на количе¬
ственном описании (например, статистическая текстура), а в
основе структурных методов лежат символические описания и
их связи (например, последовательности направлений в гра¬
нице, закодированной с помощью цепного кода). За несколь¬
кими исключениями, рассмотренные в этом разделе процедуры
используются для распознавания образов двумерных объектов.
8.5.1. Теоретические методы
Теоретические методы распознавания объектов основывают¬
ся на применении решающих функций (дескриминанта). Пусть
х = (хь х2, ..., хп)т—вектор модели объекта (модельный век¬
тор) с действительными компонентами, где х;— i-й дескриптор
данного объекта (например, площадь, средняя интенсивность,
длина периметра). Тогда, если заданы М классов объектов
соь (о2, . •сом, основной задачей распознавания является опре¬
деление М решающих функций d2(x), ..., Ди(х), таких,
что для любого модельного вектора х*, принадлежащего классу
(о<, выполняются следующие неравенства:
d,(x*) > dj(x‘), / = 1, 2, ..., М; (8.5-1)
Другими словами, неизвестный объект, представленный векто¬
ром х*, относится к г'-му классу (т. е. распознается), если при
подстановке х* во все решающие функции Д(х*) имеет наи¬
большее значение.
В промышленных системах технического зрения решающие
функции используются главным образом для установления
соответствия {подбора). Предположим, что мы представляем
каждый класс объектов с помощью вектора прототипа (усред¬
ненного вектора):
N
mi = ^]r xk, /=1,2 М, (8.5-2)
k=\
461
где Xfc — модельные векторы, о которых известно, что они отно¬
сятся к классу со,. Тогда, чтобы определить, к какому классу
объектов относится неизвестный вектор х*, надо найти его бли¬
жайший прототип. Если для определения близости к прототипу
Рис. 8.51. Подобраз w(x, у)
(а), образ f(x, у) (б) и об¬
ласть, соответствующая наи¬
лучшему подбору w в f, что
соответствует наибольшему
значению коэффициента корре¬
ляции (в).
используется евклидово расстояние, задача сводится к вычис¬
лению следующих выражений:
Dj (х*) = К х* — ш,-1|, /=1, 2, М; (8.5-3)
где ||а!| = (ага),/2 — евклидова норма. В этом случае вектор д*
относится к классу со,, если D, (д-*) является наименьшим рас¬
стоянием. Нетрудно показать, что это эквивалентно вычисле¬
нию значений функций
dj (х*) = (х*)г т; — / = 1, 2 М (8.5-4)
и выбору наибольшего значения, что совпадает с определением
решающей функции (выражение 8.5-1). Другое применение со¬
ответствия состоит, например, в нахождении подобраза w(x,y)
462
на более большом образе f(x,y). Для каждого участка (х, у)
образа f{x,y) коэффициент корреляции определяется выраже¬
нием
£ £ iw(s’
v(t' = {I z'[* e- <> - ™,F ZZloo- '»[1! f' (8'5'5)
L S .t St J
где предполагается, что w(s,t) центрируется в каждой точке
{х,у). Суммирование проводится по всем координатам, общим
для обоих областей, тш — средняя интенсивность до и т; —
средняя интенсивность / в области, совпадающей с до. Отметим,
что обычно значение v(x,y) лежащее в диапазоне [—1,1],
сильно изменяется при переходе от одного участка образа
к другому, причем значение 1 соответствует наилучшему под¬
бору. Затем для каждого участка {х, у) определяется v(x,y),
и для установления нанлучшего соответствия до в / выбирается
его наибольшее значение. [Процедура движения w(x,y) по
f(x,y) аналогична рассмотренной в разд. 7.6.1 (рис. 7.20).]
Качество подбора можно регулировать, принимая в рас¬
смотрение только те коэффициенты корреляции, значения ко¬
торых превышают некоторое предварительно установленное
значение (например, 0,9). Поскольку этот метод заключается
в непосредственном сравнении двух областей, он весьма чув¬
ствителен к отклонениям ориентации и размера объекта. От¬
клонения интенсивности нормируются знаменателем в уравне¬
нии (8.5-5). Пример подбора с помощью коэффициента корре¬
ляции показан на рис. 8.51.
8.5.2. Структурные методы
Методы, рассмотренные в разд. 8.5.1, основываются на ко¬
личественных моделях, в которых пренебрегают геометриче¬
скими связями, присущими форме объекта. В структурных же
методах объект описывается с помощью этих связей.
В основе структурных методов распознавания образов ле¬
жит декомпозиция объекта на простейшие элементы (прими¬
тивы) (рис. 8.52). На рис. 8.52, а показана простая граница
объекта, а на рис. 8.52,6 — набор простейших элементов опре¬
деленной длины и направления. Начиная с верхней левой
точки в направлении по часовой стрелке, мы кодируем границу
простейшими элементами, как показано на рис. 8.52, в. Таким
образом, граница представляется следующей цепочкой:
aaabcbbbcdddcd. Таким образом, зная длины и направления
простейших элементов, а также порядок их расположения от¬
носительно друг друга, мы можем описать структуру объекта.
В этом разделе описаны подобные методы, предназначенные
463
для создания и работы с такими видами структурных описа¬
ний моделей объектов.
Подбор индексов формы. Рассмотрим процедуру сравнения
двух границ объектов, описанных с помощью индексов формы.
Она аналогична процедуре, изложенной в разд. 8.5.1, для век¬
торного представления объектов. В соответствии с разд. 8.3.1
степенью схожести k между двумя границами объектов А и В
назовем наибольшее значение совпадающих индексов формы,
а а а
На чало • —> -
Ь с
Ь
с
а 6 б
Рис. 8.52. Граница объекта (а), простейшие элементы (б) и граница, зако¬
дированная простейшими элементами (э). Соответствующая цепочка имеет вид
aaabcbbbcdddcd.
т. е. мы имеем хДЛ )== s4(B), s6(A)= ss{B), ss(A) =** s&(B), ...
..., sk(A)= Sk(B), sk+2(A)^ sk+2{B), s*+4(Л)Ф sa-m(B), ...,
где s является индексом формы, а нижний индекс означает по¬
рядок. Расстояние между двумя формами границы Л и В опреде¬
ляется как величина, обратная степени схожести:
D(A, В) = \. (8.5-6)
Это расстояние удовлетворяет следующим свойствам:
а) П(Л, В)> 0;
б) D{A, В) = 0, если Л = В; (8.5-7)
в) 0(Л, С)< max [0(Д, В), О {В, С)].
Для сравнения двух форм границы используется либо k, либо D.
Если используется степень схожести, из сказанного выше сле¬
дует, что чем больше k, тем формы оказываются более близ¬
кими. Обратное справедливо, когда применяется расстояние.
Пример. Для иллюстрации приведенных понятий предполо¬
жим, что мы хотим определить, какая из пяти форм (Л, В, D,
Е, F) (рис. 8.53, а) наилучшим образом соответствует форме С.
Это аналогично предположению о том, что свойства пяти форм
известны, и требуется определить, какая из них наилучшим об¬
разом соответствует форме с неизвестными свойствами. Поиск
можно представить наглядно с помощью дерева схожести, по¬
а а а
• > —
464
казанного на рис. 8.53,6. Корень дерева соответствует наи¬
меньшей рассматриваемой степени схожести, которая в данном
примере равна 4. Из рис. 8.53,6 видно, что все формы являются
идентичными вплоть до шестой степени (и до восьмой степени,
если исключить форму А). Таким образом, степень схожести
формы А по отношению ко всем другим формам равна 6. Про¬
должая исследование, мы находим, что степень схожести
формы D по отношению к остающимся формам равна 8 и т. д.
Степень
а
А
в
с
0
Е
Е
А
оо
6
6
6
6
6
В
00
8
8
10
8
С
оо
8
8
12
D
Оо
8
8
£
.
00
8
F
Й
«
Рис. 8.53. Формы (а), дерево
схожести (б) и матрица схоже¬
сти (в) [31].
В данном случае только форма F наиболее соответствует
форме С, поскольку их степени схожести выше, чем для любых
других форм. Если бы неизвестной предполагалась форма Е,
также была бы найдена единственная форма, но с более низкой
степенью схожести. Если была бы неизвестной форма А, при¬
меняя этот метод, мы могли бы сказать, что она подобна дру¬
гим пяти формам со степенью схожести, равной 6. Всю ин¬
формацию можно объединить в матрицу схожести (рис. 8.53, в).
Установление соответствия с помощью цепочек. Предполо¬
жим, что два контура Сi и С2 закодированы цепочками аь
465
а2 ... ап и bф2 ■■■ Ьт соответственно. Пусть А является числом
соответствий между двумя цепочками, и мы говорим, что со¬
ответствие появляется в /-й позиции, если а= bЧисло сим¬
волов, между которыми нет соответствия, дается выражением
В — max (|Cj |, | С2 j) — Л, (8.5-8)
где | С| является длиной (числом символов) цепочки С. Мож¬
но показать, что В = 0 только тогда, когда С] и С2 идентичны.
Простая мера схожести между цепочками С\ и С2 опреде¬
ляется отношением
R==~B = max ( I Cl I, i c2 I ) — Л ’ (8.5-9)
Поскольку в знаменателе стоит В, то R равно бесконечности
для идеального соответствия и нулю, когда между символами
в С\ и С2 нет ни одного соответствия (т. е. в этом случае
А = 0). Поскольку соответствие устанавливается в результате
поочередного сравнения соответствующих символов, то при
создании цепочки, описывающей границу, важно местополо¬
жение начальной точки. В противном случае если для каждой
границы выбраны произвольные начальные точки, то надо сдви¬
гать одну из цепочек (по кругу) и определять R по уравнению
(8.5-9) для каждого сдвига. Число сдвигов, требуемое для вы¬
полнения всех необходимых сравнений, равно max(| С\ |, j С2\).
Пример. На рис. 8.54, а и б показаны эталонные границы для
двух классов объектов. Границы были аппроксимированны мно¬
гоугольниками (рис. 8.54,s и г). Затем в результате вычисления
внутренних углов между сегментами многоугольника были сфор¬
мированы цепочки, причем многоугольник обходился в направ¬
лении по часовой стрелке. Углы были закодированы одним из
восьми возможных символов, соответствующих приращению 45°;
si: 0° < 6 < 45°, s2: 45° < 6 < 90°, ..., s8: 315° < 6 < 360°.
Результаты вычисления R для эталонной границы объекта 1
и его пяти моделей показаны на рис. 8.54, д, где записи соответ¬
ствуют значениям R—A/B (например, обозначение 1.с соот¬
ветствует третьей цепочке для объекта класса 1). На рис. 8.54,0
показаны результаты для цепочек объекта второго класса. На¬
конец, на рис. 8.54, ж показана таблица значений R, полученных
в результате сравнения цепочек обоих классов. Важно отметить,
что в последней таблице все значения R существенно меньше,
чем в предыдущих двух таблицах. Из этого следует, что значе¬
ния R соответствуют высокой степени различия между двумя
классами объектов. Например, если бы цепочка 1.а соответство¬
вала неизвестной форме границы, то ее наименьшее значение
при сравнении с другой цепочкой класса 1 было бы равно 4,67.
Наоборот, ее наибольшее значение при сравнении с цепочкой
второго класса было бы 1,24. Отсюда следует, что эта цепочка
относится к первому классу.
466
г
Синтаксические методы. Среди структурных методов синтак¬
сические методы наиболее часто применяются для задач распо¬
знавания образов. Основная идея, лежащая в основе синтак¬
сических методов, состоит в подробном описании структурной
модели простейшими элементами в соответствии с набором пра-
8 г
А/В
l.a
I b
1 .с
ы
I.C
l.b
16,0
1 е
9,6
26,3
Id
5,01
8,1
10,3
1 е
4,67
7.2
10,3
14,2
l.f
4,67
V
10,3
8,5
23,7
А В
2.а
2 6
2 с
2 d
; с
2.6
33,5
2.с
4,75
5,8
2 d
3,6
4,23
19,3
2.е
2,83
3,25
9,17
18,3
2 Г
2,63
3,0
7,71
13,5
27,0
А/В
l.a
1 6
I.C
l.d
I.C
14
2.а
1,24
1,5
1,32
1,47
1,55
1,48
2.6
1,18
1,4.3
1,32
1,47
1,55
1,48
2.с
1,02
1,18
1,19
1,32
1,39
1,48
2.d
1,02
1,18
1,19
1,32
1,39
1,40,2
2.е
0,93
1,07
1,08
1,19
1,24
1,25 ]
2.С
0,89
1,02
1,02
1,14
1,11
1,18 1
ж
Рис. 8.54. Границы объектов, принадлежащих двум различным классам (а, б),
соответствующие им аппроксимации многоугольниками (а, г) и таблицы
R = А/В (д — ж) Г276].
вил (грамматикой). Сначала рассмотрим грамматики цепочек,
а затем распространим эти идеи на грамматики более высокой
размерности.
Грамматики цепочек. Предположим, что мы имеем два клас¬
са объектов coi и со2, которые представляются цепочками из про¬
стейших элементов (разд. 8.5.2). Каждый простейший элемент
можно интерпретировать как допустимый символ некоторой
грамматики, где под грамматикой подразумевается набор син¬
таксических правил (отсюда название—синтаксическое распо¬
знавание образов). С помощью этих правил из допустимых сим¬
волов можно создавать предложения. В данном случае предло¬
467
жениями являются цепочки символов, которые в свою очередь
служат для описания моделей объектов. Рассмотрим две грам¬
матики G] и G2. Правила грамматики Gj позволяют создавать
предложения только для объектов класса оц, а правила грам¬
матики G2 — только для объектов класса со2. Набор предложе¬
ний, созданный грамматикой G, называется языком и обозна¬
чается L(G).
После определения двух грамматик G* и G2 процесс синтак¬
сического распознавания образов в принципе довольно прост.
Если дано предложение, представляющее неизвестную модель
объекта, задача состоит в определении языка, к которому это
предложение относится. Если предложение относится к языку
L(G 1), мы говорим, что модель описывает объект класса шь
Аналогично мы говорим, что объект относится к классу ш2, если
данное предложение из языка L{G2). Однако предложение мо¬
жет одновременно относиться сразу к двум языкам L(G 1) и
L(G2). В этом случае оно отбрасывается.
Когда имеется больше двух классов моделей объектов, под¬
ход синтаксической классификации тот же, что описанный
выше. Различие заключается в том, что рассматривается боль¬
шее число грамматик (по меньшей мере одна на класс). В этом
случае модель объекта относится к классу ш;, если она является
предложением только из языка L(Gi). Если предложение не
относится ни к одному языку или же относится сразу к не¬
скольким, то модель, соответствующая этому предложению,
исключается из рассмотрения Для цепочки определим грамма¬
тику как четверку
G = (N, Z, Р, S), (8.5-10)
где N — конечный набор нетерминальных символов или пере¬
менных, 2 — конечный набор терминальных символов или кон¬
стант, Р — конечный набор производящих правил (правил выво¬
да). Символ S, принадлежащий N, является начальным симво¬
лом.
Наборы N и 2 не должны пересекаться. Далее нетерминаль¬
ные символы обозначаются прописными буквами: А, В, ...
..., S Константы обозначаются строчными буквами на¬
чала алфавита: а, Ь, с, а цепочки из констант — строчными
буквами конца алфавита: v, w, х, у, г. Цепочки, состоящие из
констант и переменных, обозначаются строчными буквами гре¬
ческого алфавита: а, |3, 0 Пустое предложение (предло¬
жение, не имеющее символов) обозначается Я. Наконец, если
задан набор символов V, то Е* будет обозначать все предло¬
жения, составленные из элементов Е.
Грамматики цепочек характеризуются в основном видом их
производящих правил. Определенный интерес для синтаксиче¬
ского распознавания образов представляют регулярные грам¬
468
г
матики, производящие правила которых всегда имеют вид
А-^-аВ или Л->а, причем А и В принадлежат N, а а принад¬
лежит Z- Представляют интерес также контекстно-свободные
грамматики с производящими правилами вида А -> а, А при¬
надлежит N, а а принадлежит набору (A^U 2) — т- е. а
может быть любой цепочкой, состоящей из констант и пере¬
менных за исключением пустой
цепочки.
Пример. Смысл рассмотрен¬
ных понятий поясним на следую¬
щем примере. Предположим, что
объект, показанный на рис. 8.55, а,
представляется своим скелетом.
Для описания структуры подоб- а
ных скелетов введем простейшие
элементы, показанные на
рис. 8.55,6. Рассмотрим грам¬
матику G = (N, ?>, Р, S) с N = \ I)
= {А, В, S}, Z = (а, b, с} и
производящими правилами
1) S -> а А
2) А-+ЬА,
3) А-+ЬВ,
4) В-у с,
где константы а, Ъ
ны на рис. 8.55,6.
ворилось выше, S
чальным символом,
S
и с приведе-
Как уже го-
является на-
с которого
Рис. 8.55. Объект, представленный
своим скелетом (а), простейшие
элементы (б) и структура, создан¬
ная с помощью регулярной грам¬
матики (в).
создаются все цепочки в языке
L(G). Если, например, после
правила 1 мы два раза при¬
меним правило 2, то получим
S => аА => abA => аЬЬА, где
означает порядок вывода цепоч¬
ки, начиная с S и применяя производящие правила из Р. Отме¬
тим, что производящие правила S-»-a/4 и А->-ЬА трактуются
как «из S может быть выведено аЛ» и «из А может быть выве¬
дено ЬА». Поскольку в цепочке аЬЬА имеется переменная, то,
применяя соответствующие правила, можно продолжить вывод.
Например, если к ней два раза применить правило 2, а затем
правила 3 и 4, то мы получим цепочку, которая соответствует
структуре, приведенной на рис. 8.55, в. Отметим, что после при¬
менения правила 4 цепочка не содержит переменных, и поэтому
вывод прекращается. Нетрудно видеть, что приведенная выше
грамматика имеет язык L(G)— {abnc\n^ 1}, где Ьп означает
п повторений символа Ь. Другими словами, с помощью G можно
469
создавать скелеты структур типа гаечных ключей произвольной
длины в пределах разрешения, определяемого длиной простей¬
шего элемента Ь.
Применение семантик. В рассмотренном выше примере мы
неявно предполагали, что взаимосвязь между простейшими эле¬
ментами устанавливается только в точках, показанных на
рис. 8.55, б. В более сложных ситуациях правила, устанавли¬
вающие связи между элементами, а также другая информация
относительно таких особенностей, как длина и направление про¬
стейших элементов, число применений правил, должна быть
представлена в явном виде. Обычно это делается с помощью
семантик. Как правило, синтаксис определяет структуру объ¬
екта или выражения, а семантика передает ее смысл. Например,
предложение на Фортране А = В/С синтаксически правильно,
но семантически корректно, только если СФ 0. Для более яс¬
ного понимания этих понятий введем семантическую информа- *
цию для рассмотренной выше грамматики, предназначенной для
описания формы гаечных ключей. Эту информацию вместе с
производящими правилами представим следующим образом:
Произво¬
дящие
правила
Семантическая информация
S -> аА
А-> ЬА
А-> ЬВ
В -> с
Связь с а можно осуществить только в месте, помеченном точ¬
кой. Направление а, которое обозначается 9, определяется на¬
правлением перпендикуляра, опущенного на линшо, соединяю¬
щую концы двух отрезков, не помеченных точками. Длина каж¬
дого отрезка равна 3 см
Связь с Ь осуществляется только в местах, помеченных точками.
Многократные связи недопустимы. Направление b совпадает с
направлением а, и длина 6 равна 0,25 см. Это производящее
правило можно применять не более 10 раз
Направления а и 6 должны совпадать. Связи должны быть про¬
стыми и осуществляться только в местах, помеченных точками
Направления с и а должны совпадать. Связи должны быть про¬
стыми и осуществляться в местах, помеченных точками
Отметим, что, используя синтаксическую информацию, мож¬
но применить несколько синтаксических правил для описания
относительно широкого класса моделей. Например, определив
направление 0, мы сможем не определять простейшие элементы
для каждой возможной ориентации объекта. Аналогично, тре¬
буя, чтобы все простейшие элементы имели одинаковое направ¬
ление, мы исключаем из рассмотрения структуры гаечных клю¬
чей, лишенные физического смысла.
Распознавание. До сих пор мы рассматривали грамматики
как генераторы моделей образов. Ниже мы рассмотрим задачу
распознавания, если дана цепочка, описывающая модель. При
470
этом будем предполагать, что цепочка относится к языку L(G)?
созданному грамматикой G. Основные понятия, лежащие в ос¬
нове синтаксического распознавания, можно проиллюстрировать
математическими моделями вычислительных машин, называе¬
мых автоматами. Если на вход такого автомата подается цепоч¬
ка, описывающая модель, то он способен распознать, относится
ли эта модель к определенному языку или классу. Мы рассмот¬
рим только конечные автоматы, которые распознают языки, соз¬
даваемые регулярными грам¬
матиками.
Конечный автомат опреде¬
ляется как пятерка
Л = Z, б, <7о, F). (8.5-11)
где Q — конечное непустое
множество состояний, S — ко¬
нечный входной алфавит,
функция перехода б устанав¬
ливает соответствие между
множеством Q X 2 (набором
упорядоченных пар,образован¬
ных из элементов Q и 2) и на¬
бором из всех подмножеств Q, Рис. 8.56. Конечный автомат,
<7о—начальное состояние и F
(подмножество из Q)—множество конечных или допустимых
состояний. Эту терминологию и обозначения, связанные с вы¬
ражением (8.5-11), поясним на простом примере.
Пример. Рассмотрим автомат, заданный выражением
(8.5-11), где Q = {<7о, qu q2}, Z = to> b\, F ~ {q0} и функция
переходов состояния определяется выражением б== (<7о, а) = {<7г},
б (?„, b)={qs), б to,, а) — {q2}, 6{qu b) = too}, 6{q2, а) = {f?0},
6(q2, b) — {q{). Если, например, автомат находится в состоя¬
нии q0 и на входе его символ а, то он перейдет в состояние q2.
Аналогично, если после символа а на входе появляется символ
Ь, автомат перейдет в состояние <71 и т. д. Отметим, что в этом
случае начальное и конечное состояния одно и то же.
Диаграмма состояний для рассмотренного выше автомата
приведена на рис. 8.56. На этой диаграмме каждое состояние
обозначено вершиной, а направленные дуги указывают возмож¬
ные переходы между состояниями. Конечное состояние обозна¬
чено двойной окружностью, и каждая дуга помечена символом,
который вызывает этот переход. О цепочке w терминальных
символов говорится, что она принимается или распознается
автоматом, если, начиная из состояния qo, последовательность
символов в w переводит автомат в конечное состояние, после
того как на его входе был принят последний символ из w. Ha-
471
пример, автомат, приведенный на рис. 8.56, распознает цепочку
w = abbabb, но отбрасывает цепочку w =- aabab.
Между регулярными грамматиками и конечным автоматом
имеется взаимно-однозначное соответствие, т. е. язык распозна¬
ется конечным автоматом тогда и только тогда, когда он порож¬
дается регулярной грамматикой. Процедура получения автома¬
та, соответствующего данной регулярной грамматике, довольно
проста. Пусть имеется грамматика G = (X, £, Р, Х0), где
Xq = S, и предположим, что в N входят 10 и л нетерминальных
символов Х\, Х2, ..., Хп. Множество состояний Q для автомата
образуется в результате введения п + 2 состояний {^о, qi, ...
..., qn, qn+1}, таких, что qt соответствует Xi для 0 ^ i ^ п и
qn+1 является конечным состоянием. Множество входных симво¬
лов идентично множеству терминальных символов в G. Функция
перехода б определяется двумя правилами, основанными на
правилах из G. Для каждого i и /, 0 ^ ^ л, 0 s=: / sgl п:
1. Если Xt-i-aX/ находится в Р, то б (qi, а) содержит qj.
2. Если Si-*-а находится в Р, то б (</;, а) содержит qn+l.
Если же задан конечный автомат А =* (Q, 2, о, qo, F), то в
соответствующей ему регулярной грамматике G^=(N, 2, Р, Х0)
величина N является множеством состояний Q с начальным
символом Х0, соответствующим qo, а производящие правила G
получаются следующим образом:
1. Если qt находится в б(qi, а), то в Р имеется производя¬
щее правило Xi-*aXj.
2. Если состояние из F находится в 8(qt, а), то в Р имеется
производящее правило Xi~*a.
Пример. Конечный автомат, соответствующий приведенной
выше грамматике, для описания моделей гаечных ключей мож¬
но построить, записав производящие правила следующим об¬
разом: Х0-*аХи X\-*bXu X, -> ЬХ2, Х2-*с. Тогда согласно из¬
ложенному выше, мы имеем А = (Q, 6, q0, F), где Q =
= {qo, qu ?2, qo}, Z={a. b, с}, F={q3}, и соответствие,
устанавливаемое функцией переходов состояния 6(q0, а} = {9,},
8{qi,b)= {qu q2}, (q2,c)= {q3}. Для полноты можно записать
6(q0,b)= 6(q0, с) = 8 (qu a) = 8(qu c)=8(q2, a)=6(q2, b) = j>,
где ф — пустое множество, указывающее, что для данного авто¬
мата такие переходы не определены.
Грамматики более высокой размерности. Рассмотренные
выше грамматики пригодны для приложений, где связь между
простейшими элементами удобно выражать цепочками. Ниже
мы рассмотрим два примера грамматик, способных описывать
более общие связи между простейшими элементами и частями
моделей.
Древовидная грамматика определяется как пятерка
G = {N, Z, Р, г, S), (8.5-12)
472
т
где N и 2— соответственно множества терминальных и нетер¬
минальных символов; S — начальный символ, который в общем
случае может быть деревом; Р — набор производящих правил
вида Tt-+Th где 7; и Т,- являются деревьями; г — функция ран¬
жирования, которая указывает число прямых потомков верши¬
ны, помеченной терминальным символом грамматики. Расши¬
ренная древовидная грам¬
матика имеет производя¬
щие правила вида
А —> а
А,
А„
где А, Аи ..., Ап — нетер¬
минальные символы, и
а — терминальный сим¬
вол.
Пример. Скелет струк¬
туры, показанной на рис.
8.57, а, можно создать с
помощью древовидной
грамматики, имеющей
следующие правила:
1) S->a 2) A{-+b
А,
Л\
3) Л,->с 4) A2-*d
_J i
I I Ла
A2 Л3
5) А2-+е 6) А3-+е
7) А3~* а
Рис. 8.57. Объект (а) и простейшие эле¬
менты, использованные для представления
скелета с помощью древовидной граммати¬
ки (б).
где между простейшими элементами из прямых линий устанав¬
ливаются связи типа «начало одного с концом другого», а для
простейшего элемента в виде окружности связи могут быть
установлены в любом месте этой окружности. В этом случае
функция ранжирования имеет следующий вид: г(а)= {0, 1},
r(6)=r(£()=r(e)= {1}, г(с)={2). Отметим, что ограничение,
состоящее в том, чтобы правила 2, 4 и 6 были применены оди¬
наковое число раз, приведет к структуре, у которой все три
ветви будут иметь одинаковую длину. Аналогично, требование,
чтобы правила 4 и 6 были применены одинаковое число раз,
473
приведет к структуре, симметричной относительно вертикальной
оси фигуры, изображенной на рис. 8.57, а.
В заключение рассмотрим кратко грамматику, предложен¬
ную в работе [95] для построения трехмерных объектов, состоя¬
щих из кубических структур. Как и выше, основным моментом
Рис. 8.58. Простейшие элементы в виде вершин f95].
при создании объекта с помощью синтаксических методов яв¬
ляется подробное описание набора простейших элементов и их
взаимосвязей. В этом случае простейшими элементами явля¬
ются вершины, показанные на рис. 8.58. В зависимости от
Рис. 8.59. Классификация вершин типа Т. ' .
локальной информации вершина типа Т может быть либо вер¬
шиной Т1, либо Т3. Если вершина Т содержится среди вершйн
параллелограмма, она относится к типу 73, в противном случае
она относится к вершине Т\. Эта классификация приведена на
рис. 8.59.
Грамматические правила заключаются в описании взаимо¬
связей между структурами (рис. 8.60). Вершины, обозначенные
а
474
Прабта 1
Правило 2
Правило 3
ПраШюЬ
/укодш&
фсгбило 7
Ppaffu/ioS
Рис. 8.60. Правила, используемые для генерации трехмерных структур. Пу»
«гые круги означают, что допустимо несколько типов вершин [95].
\
476
двойными окружностями, обозначают центральные вершины
конечного куба объекта, откуда можно осуществлять дальней¬
шие связи. Это иллюстрируется рис. 8.61, на котором показан
{95].
типичный вывод, использующий правила, приведенные на
рис. 8.60. На рис. 8.62 приводятся виды структур, которые мо¬
гут быть построены с помощью этих правил.
8.6. ИНТЕРПРЕТАЦИЯ
В этом разделе мы рассматриваем интерпретацию как про¬
цесс, который позволяет системе технического зрения приоб¬
рести более глубокие знания об окружающей среде по сравне¬
нию со знаниями, полученными с помощью методов, изложенных
выше. Рассматриваемая с этой точки зрения интерпретация
охватывает данные методы как неотъемлемую часть процесса
477
w
Рис. 8.62. Модели трехмерных структур, созданные с помощью правил, при*
веденных на рис. 8.60 [95].
478
i
понимания зрительной сцены. Хотя в области технического зре¬
ния она и является объектом активных исследований, достиже¬
ния пока весьма незначительны. Ниже мы кратко рассмотрим
проблемы, представляющие современные исследования в этой
области технического зрения.
Мощность системы технического зрения определяется ее
способностью выделять из сцены значимую информацию при
различных условиях наблюдения и использовании минимальных
знаний об объектах сцены. По ряду причин (неравномерное
освещение, наличие тел, загораживающих объекты, геометрия
наблюдения) этот тип обработки представляет трудную задачу.
В разд. 7.3 много внимания уделено методам уменьшения раз¬
броса в интенсивности. Способы обратного и структурирован¬
ного освещения, рассмотренные в разд. 7.3, позволяют устра¬
нить трудности, связанные с произвольным освещением ра¬
бочего пространства. К этим трудностям относятся теневые
эффекты, усложняющие процесс определения контуров, и неодно¬
родности на гладких поверхностях. Это часто приводит к тому,
что они распознаются как отдельные объекты. Очевидно, многие
из этих проблем обусловлены тем, что относительно мало из¬
вестно о моделировании свойств освещения и отражения трех¬
мерных сцен. Методы разметки линий и соединений, изложен¬
ные в разд. 8.4, представляют собой некоторые попытки в этом
направлении, но они не в состоянии количественно объяснить
эффекты взаимодействия освещения и отражения. Более пер¬
спективный подход основан на математических моделях, опи¬
сывающих наиболее важные связи между освещением, отраже¬
нием и характеристиками поверхности, такими, как ориентация
[124, 142, 189].
Проблема загораживания одних объектов другими имеет ме¬
сто, когда рассматривается большое число объектов в реальном
рабочем пространстве. Например, рассмотрим сцену, показан¬
ную на рис. 8.63, а. Человек без труда определил бы, что за
втулками находятся два гаечных ключа. Однако для машины
интерпретация этой сцены происходит совершенно по-другому.
Даже если бы система была способна идеально выделить группу
объектов из фона, то все ранее рассмотренные двумерные про¬
цедуры описания и распознавания дали бы плохой результат
для большинства загороженных объектов. Применение трех¬
мерных дескрипторов, рассмотренных в разделе 8.4, было бы
более успешным, но даже они дали бы неполную информацию.
Например, некоторые из втулок оказались бы частично цилин¬
дрическими поверхностями и средний гаечный ключ был бы
представлен двумя отдельными объектами.
Для обработки таких сцен, какая показана на рис. 8.63, а
требуются описания, которые должны содержать информацию
о формах и объемах объектов, а также процедуры для установ-
479
***—— » ‘и I*11
*ттж'!'.1!1-I'Ll." " аа|
Я
480
ления связей между этими описаниями, даже когда они не яв¬
ляются полными. Несомненно, эти проблемы будут решены
только путем разработки методов, позволяющих обрабатывать
трехмерную информацию (полученную либо в результате не¬
посредственных измерений, либо с помощью геометрических ме¬
тодов вывода) и устанавливать (необязательно количественно)
трехмерные связи на основе информации об интенсивности
образа.
В качестве примера читатель может дать подробную интер¬
претацию объектов, приведенных на рис. 8.63, а, за исключе¬
нием объекта, загороженного отверткой. Знание о том, в каких
случаях интерпретация сцены или части сцены является невоз¬
можной, так же валено, как и правильный анализ сцены. Про¬
смотр сцены из различных точек (рис. 8.63, б) решил бы эту
проблему и был бы естественной реакцией интеллектуального
наблюдателя.
В этом направлении одним из наиболее перспективных под¬
ходов являются исследования в области технического зрения,
основанного на моделях [33]. Основной идеей метода является
интерпретация сцены на основе обнаружения отдельных слу¬
чаев соответствия между данными образа и трехмерными мо¬
делями простейших объемных элементов или же целых объек¬
тов, представляющих интерес. Зрение, основанное на трехмер¬
ных моделях, имеет другое важное преимущество: оно дает воз¬
можность обрабатывать несоответствия в геометрии наблю¬
дения. Изменчивость образа объекта, наблюдаемого из раз¬
личных положений, является одной из наиболее серьезных проб¬
лем технического зрения. Даже для двумерных случаев, где
определена геометрия наблюдения, ориентация объекта может
сильно влиять на процесс распознавания, если он не управ¬
ляется соответствующим образом (см. замечания в разд. 8.3).
Одно из преимуществ подхода, основанного на моделях, состоит
в том, что в зависимости от известной геометрии наблюдения
можно подбирать ориентацию трехмерных моделей с целью
упрощения соответствия между неизвестным объектом и тем,
что система видит из данной точки наблюдения.
8.7. ЗАКЛЮЧЕНИЕ
Основное внимание в главе уделено понятиям и методам
технического зрения, применяемым в промышленных приложе¬
ниях. Как указывалось в разд. 8.2, сегментация является одним
из наиболее важных процессов на ранней стадии распознавания
образов системой технического зрения. Поэтому значительная
часть главы посвящена этой задаче. Следующей задачей систе¬
16 К. Фу и др.
481
мы технического зрения является образование набора дескрипто¬
ров, который полностью идентифицирует объекты определенного
класса. Как отмечалось в разд. 8.3, обычно стремятся выбирать
дескрипторы, наименее зависящие от размеров объекта, его
ориентации и расположения. Хотя зрение и является трехмерной
задачей, большинство современных промышленных систем ра¬
ботает с данными, которые часто упрощаются с помощью мето¬
дов специального освещения или строго определенной геомет¬
рии наблюдения. Сложности возникают, когда эти ограничения
ослабляются (разд. 8.4 и 8.6).
Методы распознавания, изложенные в главе, служат как бы
введением в эту широкую область исследований, и на эту тему
были написаны десятки книг и тысячи статей. Литература, при¬
веденная в конце главы, дает возможность более глубоко озна¬
комиться как с теоретическими, так и структурными методами
распознавания образов и связанными с ними задачами.
Литература
Дополнительный материал о методах локального анализа,
рассмотренных в разд. 8.2.1, можно найти в книге Розенфельда
и Кака [252]. Преобразование Хоуга было впервые предложено
Хоугом [127] в патенте США и позже изложено в более доступ¬
ной форме Дудой и Хартом [65]. Обобщение преобразования
Хоуга для определения произвольной формы объекта было пред¬
ложено Баллардом [10]. Графотеоретические методы рассмот¬
рены в двух статьях Мартелли [191, 192]. Другой интересный
подход, основанный на поиске пути минимальной стоимости, из¬
ложен в работе [243]. Дополнительный материал о методах
поиска на графе можно найти в работах [216, 217]. Определение
контуров можно осуществить с помощью методов динамиче¬
ского программирования. Более подробно эти задачи изложены
в работе [11].
Оптимальные пороги, рассмотренные в разд. 8.2.2, впервые
были использованы Шу и Канеко [45] для определения границ
на рентгеновских снимках сердца, в которое было введено кра¬
сящее вещество. Дополнительный материал по оптимальному
распознаванию можно найти в работе Фу и Гонсалеса [290].
В книге [252] приводится ряд методов выбора и оценки поро¬
гов. Применение характеристик границ для определения поро¬
гов рассматривается в статье Уайта и Роурера [307]. Метод
использования нескольких переменных для определения поро¬
гов предложен Гонсалесом и Винцем [104],
Обзор методов сегментации, основанной на рассмотрении
областей (разд. 8.2.3), дан в статье Закера [323]. Более подроб¬
но эти задачи изложены в работах [14, 32, 125, 220]. Метод
482
квадродерева был сначала назван методом регулярной деком¬
позиции в работах Клингера [146, 147]. Материал разд. 8.2.4
основан на двух статьях Джайна [135, 136]. Другие методы
для анализа динамических сцен можно найти в работах [1, 205,
242, 303, 302].
Цепные коды, рассмотренные в разд. 8,3.1, впервые предло¬
жены Фриманом [83, 84]. Дополнительный материал по сигна¬
турам можно найти в работах [4, 11, 206]. В книге Павлидиса
[232] подробно изложены методы аппроксимации многоуголь¬
никами. Индексы формы рассмотрены в работах [30, 31]. Ма¬
териал по фурье-дескрипторам можно найти в работах [104,
234, 322]. Трехмерные дескрипторы Фурье рассмотрены в работе
.[299].
Материал по разд. 8.3.2 можно найти в работе Гонсалеса и
Винца [104]. В последние несколько лет дескрипторам текстуры
уделялось большое внимание. Статистический подход к иссле¬
дованию текстуры рассмотрен в работах [9, 51, 111, 112], а
структурный подход — в работах [178, 286]. Методы построения
скелетов, изложенные в этой главе, приведены в статье Накаши
и Шингала [204], в которой имеется большой набор ссылок на
другие работы в этой области. Дэвис и Пламмер [53] приводят
некоторые фундаментальные результаты по методам прорежи¬
вания. Определение скелета с помощью дескрипторов Фурье
изложено в работе [234]. Инвариантный к моментам подход
предложен Ху [128]. Этот метод был обобщен на трехмерный
случай Саджади и Холлом [255].
Метод, рассмотренный в разд. 8.4.1, был использован Ши-
раи [265] для сегментации данных о расположении объектов
сцены. Метод градиентного оператора, изложенный разд. 8.4.2,
разработан Закером и Хаммелом [324]. Одной из ранних работ
по анализу сцены на основе метода разметки линий и соедине¬
ний являются работы [109 и 249]. Более широкое применение
этих идей можно найти у Вальца [301, 392].
Современный обзор исследований в этих областях приведен
в работе [15]. Для более подробного знакомства с обобщенны¬
ми конусами имеются работы [2, 209, 189, 262].
Более подробно метод теоретического решения, рассмотрен¬
ный в разд. 8.5.1, изложен в книге Ту и Гонсалеса [290]. Ма¬
териал разд. 8.5.2, связанный с подбором индексов формы, осно¬
ван на статье Брибиеску и Гузмана [31]. Синтаксические ме¬
тоды изложены в работе [276]. Дополнительный материал по
структурным методам распознавания образов можно найти в
книгах Павлидиса [232], Гонсалеса и Томасона [103] и Фу
[88, 89].
По разд. 8.6 смотрите работы Додда и Россола [60], а
также работы Балларда и Брауна [11]. Обзор статей по проб¬
лемам, рассмотренным в этом разделе, сделан в работе [28].
16*
483
I
Упражнения
8.1. 1) Разработайте общую процедуру для получения нормального пред¬
ставления линии, заданной уравнением у = ах + 6. 2) Найдите нормальное
представление линии у = —2х + 1.
8.2. 1) Наложите на рис. 8.7 все возможные контуры, задаваемые с по¬
мощью графа, приведенного на рис. 8.8. 2) Определите стоимость пути ми¬
нимальной стоимости.
8.3. Найдите контур, соответствующий пути минимальной стоимости для
подобраза, приведенного на рис. 8.64, где цифры в скобках указывают ин-
0
1
2
0
(2)
(О
(0)
1
(1)
(1)
(7)
2
(б)
(8)
•
(2)
Рис. 8.64.
тенсивность. Предположите, что контур начинается на первом столбце и за¬
канчивается на последнем.
8.4. Предполагая, что образ имеет распределение интенсивности, пока¬
занное на рис. 8.65, где pi(z) соответствует интенсивности объектов, а
рг(г)—интенсивности фона, найдите оптимальный порог между пикселами
объекта и фона при условии что, Pi = Яг.
Рис. 8.65.
Рис. 8.66.
8.5. Сегментируйте образ, приведенный на рис. 8.66, используя процедуру
разбиения и объединения, рассмотренную в разд. 8.2.3. Пусть я (/?,•) = ИСТИ¬
НА, если все пикселы в Ri имеют одну и ту же интенсивность. Постройте
квадродерево, соответствующее вашей процедуре сегментации.
8.6. 1) Покажите, что новый выбор начальной точки цепного кода та¬
ким образом, чтобы результирующая последовательность цифр образовывала
целое число минимальной величины, делает код независимым от того, с ка¬
кой точки мы начнем обход границы 2) Какой будет нормированная на¬
чальная точка цепного кода 11076765543322?
8.7. 1) Покажите, что применение первой разности цепного кода норми¬
рует его по отношению к повороту как объяснено в разд. 8.3.1. 2) Вычис¬
лите первую разность кода 0101030303323232212111.
8.8. 1) Начертите сигнатуру границы квадрата, используя метод тангенса
угла, рассмотренный в разд. 8.3.1. 2) Повторите эту процедуру для функции
484
плотности наклона. Предположите, что стороны квадрата совпадают с осями
х и у, и возьмите ось х в качестве линии отсчета. Начните с угла, ближай¬
шего к началу координат.
8.9. Задайте несколько дескрипторов-моментов, необходимых для диффе¬
ренциации форм областей, приведенных на рис. 8.29.
8.10. 1) Покажите, что метод аппроксимации многоугольниками с по¬
мощью резиновой ленты, рассмотренный в разд. 8.3.1, дает прямоугольник
минимального периметра. 2) Покажите, что если каждый элемент соответ¬
ствует граничному пикселу, то максимальная ошибка для этого элемента
■будет -\j2d где d — расстояние между пикселами (для данной решетки).
8.11. 1) Каким бы был результирующий многоугольник, если в методе
объединения, рассмотренном в разд. 8.3 1, положить ошибку, равной нулю.
2) Каким был бы в этом случае результат применения метода разбиения?
8.12. 1) Чему равен порядок индекса формы для каждой из фигур, при¬
веденных на рис. 8.67. 2) Найдите индекс формы для четвертой фигуры.
8.13. Вычислите среднее значение и дисперсию для 4-уровневого образа,
имеющего гистограмму p(zi) =0,1, р(г2)= 0,4, p(zз) =0,3, р(г4) =0,2.
Предположите, что zi = 0, Zj = 1, гз = 2 и г4 = 3.
(1)
Рис. 8.67.
(2!
(3)
-/
/
Рис. 8.68.
8.14. Для образа размерностью 5X5, составленного из 1 и 0, меняю¬
щихся в шахматном порядке, составьте матрицу вероятностей совместного
появления уровней интенсивности, если 1) Р определяется как «один пиксел
справа» и 2) «два пиксела справа». Предположите, что верхний левый пиксел
имеет значение 0.
8.15. Рассмотрите образ, который состоит из белых и черных квадратов
размером m X т, расположенных в виде шахматной доски. Найдите опера¬
тор положения, который дал бы диагональную матрицу вероятностей сов¬
местного появления уровней освещенности.
8.16. 1) Покажите, что средней осью круга является его центр. 2) На¬
чертите среднюю ось прямоугольника, области между двумя концентриче¬
скими окружностями и равностороннего треугольника.
8.17. 1) Докажите, что уравнение (8.3-6) реализует условия, задаваемые
четырьмя окнами, приведенными на рис. 8.40. 2) Нарисуйте окна, соответ¬
ствующие В о в уравнении (8.3-7).
8.18. Нарисуйте трехграпный объект, имеющий соединения следующего
вида (рис. 8.68).
8.19. Докажите, что использование уравнения (8.5-4) для определения
того, к какому классу принадлежит объект, описываемый модельным век¬
тором, эквивалентно использованию уравнения (8.5-3).
8.20. Докажите, что D (А, В)=—^ удовлетворяет трем условиям, зада¬
ваемым уравнением (8.5-7).
8.21. Покажите, что B = max(|Ci|, )С2|)—А в уравнении (8.5-7) равно
нулю только тогда, когда Сi и Сг являются идентичными цепочками.
Глава 9;
ЯЗЫКИ ПРОГРАММИРОВАНИЯ РОБОТОВ
Одна и та же физическая реальность
не приводит различных наблюдате¬
лей к построению одинаковой карти¬
ны мира, если они говорят на язы¬
ках, между которыми не установлено
соответствие.
Бенджамин Л. Ворфг
9.1. ВВЕДЕНИЕ
В предыдущих главах обсуждались вопросы кинематики, ди¬
намики, управления, планирования траекторий, очувствления и
зрения для манипуляторов, управляемых ЭВМ. Алгоритмы,
предназначенные для выполнения этих задач, обычно реали¬
зуются в виде управляющих программных модулей. Основная
трудность использования манипуляторов в качестве универсаль¬
ных сборочных машин заключается в том, что пока не создана
эффективная связь между пользователем и робототехнической
системой, которая необходима для того, чтобы пользователь
мог управлять манипулятором при выполнении задачи.
Основными средствами реализации связи между пользовате¬
лем и роботом являются: распознавание отдельных слов, обуче¬
ние с последующим воспроизведением роботом рабочей про¬
граммы, а также языки программирования высокого уровня.
Современные системы распознавания речи весьма прими¬
тивны и обычно зависят от говорящего. Они могут распознавать
ряд отдельных слов из ограниченного словаря и обычно тре¬
буют, чтобы слова отделялись друг от друга паузой. Хотя сей¬
час можно распознавать отдельные слова в реальном времени
благодаря быстродействующим вычислительным средствам и
эффективным алгоритмам обработки, однако способность рас¬
познавания отдельных слов для описания задачи робота до¬
вольно ограничена. Более того, распознавание речи обычно тре¬
бует большого объема оперативной памяти или вторичной па¬
мяти (на внешних запоминающих устройствах) для хранения
речевых данных, что в свою очередь требует дополнительного
времени для обучения построению эталонов речи, необходимых
при распознавании.
Обучение с целью последующего воспроизведения роботом
рабочей программы, известное также как «программирование
обучением», является наиболее распространенным методом
управления современными промышленными роботами. По этому
486
методу робот «обучается» тем движениям, которые затем
выполняет в автоматическом режиме. Программирование обу¬
чением выполняется за несколько шагов: 1) ведение робота в
медленном режиме при ручном управлении для выполнения тех¬
нологической операции и запись углов между звеньями робота
в соответствующих положениях с целью повторного воспроизве¬
дения движения; 2) корректировка и воспроизведение обучаю¬
щего движения; 3) если обучающее движение правильно, робот
запускается в работу на соответствующей скорости для выполне¬
ния повторяющихся операций.
При ведении робота в режиме обучения обычно можно ис¬
пользовать ручной привод, пульт независимого управления или
специальную систему с кнопочной клавиатурой отслеживания
принудительного движения робота. В настоящее время для
обучения наиболее часто употребляется ручной пульт с кно¬
почной клавиатурой. В этом случае пользователь ведет робот
вручную в пространстве и нажимает на соответствующую
кнопку, чтобы записать любое желаемое угловое положение
манипулятора. Угловые положения записываются в память ЭВМ
в виде ряда точек траектории, через которые проходит манипу¬
лятор. Затем по этим точкам численными методами произво¬
дится интерполяция, и робот воспроизводит программный ре¬
жим вдоль сглаженной траектории. В режиме корректировки
программного движения пользователь может произвести кор¬
рекцию записанных угловых положений и удостовериться, что
робот не столкнется с препятствиями во время выполнения за¬
дачи. В рабочем режиме робот будет выполнять рабочие циклы
по откорректированной и сглаженной траектории. При измене¬
нии условий задачи повторяются названные выше шаги. Преи¬
мущества этого метода заключаются в простоте обучения и в
относительно малом объеме памяти ЭВМ, требуемом для записи
угловых положений звеньев робота. Основной недостаток —
трудность использования этого метода для включения информа¬
ции с датчиков обратной связи в систему управления.
Языки программирования высокого уровня дают более об¬
щий подход к решению проблемы связи человек — робот. За
прошедшее десятилетие роботы были успешно применены в та¬
ких областях, как дуговая сварка и окраска, причем в обоих
случаях, как правило, используется программирование обуче¬
нием [71]. Эти задачи не требуют взаимодействия между робо¬
том и окружающей средой и могут быть легко запрограммиро¬
ваны. Однако применение роботов для реализации задач сборки
требует методов программирования на языках высокого уровня,
так как сборочный робот обычно имеет сенсорную обратную
связь, и этот тип нестандартного взаимодействия робота с окру¬
жающей средой может быть осуществлен только программными
методами. . ,,,
487
Программирование робота существенно отличается от тради¬
ционного программирования. Г1ри выборе метода программи¬
рования робота необходимо иметь в виду следующие сообра¬
жения: объекты, которыми манипулирует робот, являются
трехмерными и имеют набор физических свойств; роботы функ¬
ционируют в пространственно-сложной среде; описание и пред¬
ставление трехмерных объектов в ЭВМ — неточное; информация
Рис. 9.1. Задача установки роботом болта в отверстие.
I — система координат, связанная со схватом (Е); II —система координат, связанная
с сочленением (Те); III—система координат, связанная с корпусом; IV — неподвижная
система координат; V —система координат, связанная с отверстием детали; VI — систе¬
ма координат, связанная с деталью; VII — направление захвата болта; VIII — система
координат, связанная с головкой болта; IX — система координат, связанная с загрузоч¬
ным устройством.
с устройств очувствления должна быть собрана, обработана и
соответствующим образом использована.
Современные подходы к программированию роботов можно
разделить на две категории: программирование, ориентирован¬
ное на робот (роботоориентированное программирование), и
проблемно-ориентированное программирование, или программи¬
рование на уровне задачи.
В роботоориентированном программировании задача сборки
описывается в виде последовательности движений. Робот управ¬
ляется программой в течение выполнения всей задачи, причем
каждый шаг программы примерно соответствует одному дейст¬
вию робота. При программировании на уровне задачи сборка
488
описывается в виде последовательности целей, которая опреде¬
ляет неявное движение робота. Эти подходы обсуждаются по¬
дробно в следующих двух разделах.
9.2. ХАРАКТЕРИСТИКИ РОБОТООРИЕНТИРОВАННЫХ
языков
Наиболее общий подход при создании роботоориентирован¬
ных языков состоит в расширении возможностей существующих
языков высокого уровня (чтобы соответствовать требованиям
программирования робота). Этот подход специфичен, и не всегда
имеются общие правила, как осуществлять расширение языка.
Мы можем легко определить несколько основных характеристик,
которые являются общими для всех языков, ориентированных
на роботы, с помощью анализа шагов разработки программы
движения робота. Рассмотрим задачу установки болта в отвер¬
стие детали роботом (рис. 9.1). Робот должен приблизиться к
загрузочному устройству, извлечь болт, переместиться к детали
и вставить болт в одно из отверстий.
Обычно для реализации этой программы требуются следую¬
щие шаги:
1. Определение рабочего пространства и фиксация объектов
в зажимных приспособлениях и загрузочных устройствах.
2. Описание на языке программирования расположения объ¬
ектов (загрузочного устройства, детали и т. д.) в пространстве
и их отношений (деталь-отверстие, болт-схват, и т. д.) 1
3. Разделение задачи сборки на последовательность дейст¬
вий, таких, как движение робота, захват объектов, установка
болта.
4. Добавление команд с устройств очувствления для опреде¬
ления нестандартных ситуаций (таких, как невозможность опре¬
деления местонахождения болта во время захвата) и для уп¬
равления выполнением задачи сборки.
5. Отладка и совершенствование программы с помощью по¬
вторения шагов 2—4.
Важными характеристиками, которые мы определили, яв¬
ляются описания положения (шаг 2), движения (шаг 3) и очув¬
ствления (шаг 4). Эти характеристики подробно обсуждаются
ниже.
В качестве примеров рассмотрим языки AL [200] и AML
[283]. Выбор этих языков не является произвольным. AL повлиял
на создание многих роботоориентированных языков и до сих пор
активно развивается.
п Символ подчеркивания обычно используется в языках программирова¬
ния для обеспечения соответствия в названиях переменных.
489
Он обладает широким набором команд для удовлетворения
требованиям программирования робота и также свойствами
языка программирования высокого уровня. Язык AML в настоя¬
щее время предназначен для управления роботами фирмы IBM.
AML построен на иных принципах, чем AL. С помощью этих
языков воссоздается окружающая среда робототехнической си¬
стемы, в которой могут быть построены различные программи¬
руемые интерфейсы для роботов. Таким образом, имеется бога¬
тый набор основных элементов для описания операций робота,
что дает возможность пользователям реализовывать команды
высокого уровня в соответствии с их требованиями. В настоящее
время AL и AML являются наиболее распространенными робо¬
тоориентированными языками. Они описаны в табл. 9.1.
Таблица 9.1. Краткая характеристика роботоориентированных языков
програмирования AL и AML
AL разработан в Стандфордском университете. В настоящее время он
может быть реализован на ЭВМ типа VAX, и управление роботом в реаль¬
ном времени осуществляется с одиночной стойки PDP-11.
• Язык программирования высокого уровня с характерными чертами Ал¬
гола и Паскаля.
• Оснащен спецификация!ми как на уровне робота, так и на уровне
задачи.
• Переведен на язык программирования низкого уровня и реализован
на машине, осуществляющей управление в реальном времени.
• Имеет конструкции языка программирования в реальном времени (син¬
хронизация, совместное выполнение и условные переходы).
• Представление данных и структур управления осуществляется, как и
в языке Алгол.
• Оснащен средствами для моделирования рабочего пространства.
AML разработан фирмой IBM. Он предназначен для управления робо¬
тами типа IBM RS-1 и реализован на ЭВМ SERIES-1 (или персональном
компьютере фирмы IBM), которая также допускает возможность управления-
роботом. Робот RS-1 представляет собой манипулятор, работающий в декар¬
товой системе координат и имеющий 6 степеней свободы. Первые три сочле¬
нения робота — призматические и три последние — вращательные.
• Обеспечивает описание окружающей среды, в которой могут быть по¬
строены различные интерфейсы пользователя.
• Обладает свойствами и конструкциями, подобными свойствам и кон¬
струкциям языка LISP, и способен к агрегированию данных.
• Имеет возможность планирования траекторий сочленений в простран¬
стве, допускает ограничения по положению и скорости, а также позволяет
описывать абсолютные и относительные движения.
• Обеспечивает управление от датчиков для возможного прерывания дви¬
жения робота.
9.2.1. Определение положения
Обычно при роботизированной сборке взаимное расположе¬
ние робота и деталей строго определено. Детали закрепляются
в технологических приспособлениях так, чтобы минимизировать.
490
отклонения от заданного положения. Для сборки произвольно
расположенных деталей требуются системы технического зре¬
ния, и поэтому она еще не получила широкого распространения
в промышленности.
Наиболее общим подходом для описания ориентации и поло¬
жения объектов в рабочем пространстве является подход, пред¬
усматривающий использование систем координат и соответст¬
вующих им структур данных, называемых фреймами. Фреймы
представляются матрицами однородного преобразования раз¬
мерностью 4X4. Фрейм состоит из подматрицы размерностью
3X3 (определяющей ориентацию) и вектора (определяющего
положение), которые в свою очередь определены по отношению
к некоторой базовой системе координат (базовому фрейму).
В табл. 9.2 приведены описания на языках AL и AML для трех
фреймов, соответствующих системам координат, связанным с
роботом, деталью и загрузочным устройством, показанных на
рис. 9.1.
Таблица 9.2. Определение основных фреймов на языках AL и AML
AL:
Робот <-FRAME(nilrot, VECTOR (508, 0, 381)* мм);
Деталь FRAME (ROT (Z, 90 * град), VECTOR (508, 381, 0) * мм);
Загрузочное устройство FRAME(nilrot, VECTOR (635, 508, 0) * мм);
Примечания: 1) nilrot — предварительно определенный фрейм, который
имеет значение ROT(Z, 0*град);
2) -< оператор присваивания в языке AL;
3) точка с запятой обозначает конец программного выраже¬
ния;
4) звездочка (*) является оператором умножения, который
зависит от типа переменных. Здесь она используется, чтобы
добавить единицы измерения к элементам вектора.
AML:
Робот = ((508, 0, 381), EULERROT ((0, 0, О)));
, Деталь = ((508, 381, 0), EULERROT ((0, 0, 90)));
Загрузочное устройство = ((635, 508, 0), EULERROT ((0, 0, 0)));
Примечание. EULERROT — подпрограмма, формирующая матрицу вра¬
щения, которая дает требуемые значения углов.
Язык AL позволяет формировать структуры данных декарто¬
вых систем координат \FRAME\, матриц вращения \ROT\ и
векторов \ VECTOR\. С другой стороны, язык AML предусмат¬
ривает обобщенную структуру, называемую агрегатом, которая
позволяет пользователю конструировать свои собственные струк¬
туры данных. В табл. 9.2 приведена структура данных для пред¬
ставления декартовой системы координат, имеющая формат
(вектор, матрица). В этой структуре данных вектор положения
робота является агрегатом, состоящим из трех скаляров, а мат¬
рица представляет собой агрегат из трех векторов ориентации.
491
Рассмотрим более подробно обозначения в табл. 9.2. Первый
AL-оператор описывает систему координат робота, главные оси
которой (nilrot обозначает отсутствие вращения) параллельны
осям неподвижной системы координат. Начало системы коорди¬
нат, связанной с роботом, смещено на расстояние (508, 0,
381) мм от начала неподвижной системы координат. Второй AL-
оператор описывает систему координат, связанную с деталью
главные оси которой повернуты на 90° вокруг оси Z относитель¬
но неподвижной системы координат. Начало координат распо¬
ложено на расстоянии (508, 0, 381) мм от начала неподвижной
системы координат. Третий оператор имеет то же значение, что-
и первый, за исключением расположения. Смысл трех операто¬
ров на языке AML тот же, что для операторов на языке AL.
Таким образом в этих языках положение в пространстве опре¬
деляется с помощью фрейма, ориентированного относительно
базового фрейма.
Преимущество использования матрицы однородного преоб¬
разования состоит в том, что фреймы, определенные относитель¬
но базового, могут быть получены путем умножения матрицы
преобразования на базовый фрейм. В табл. 9.3 приводится срав¬
нение операторов на языках AL и AML, которые используются
для определения систем координат и отношений болт_головка
болта, болт-схват и деталь-отверстие (рис. 9.1). Для описания
матриц преобразования язык AL предусматривает оператор ум¬
ножения матриц * и структуру данных 77?АА^5-преобразование,
которое состоит из операций вращения и перемещения. Язык
Таблица 9.3. Описание основных систем координат на языках AL и AML
На языке AR: 1
T6-<--po6oT*TRANS ((ROT, 180*град), VECTOR(381, 0, 0)*мм);
Е -*-T6*TRANS (nilrot, VECTOR(0, 0, 127)*мм);
болт-головка болта загрузочное pcTpo£icTso*TRANS(nilrot, nilvect)
болт-схват ■*- болт-головка OcwrasTRANS (nilrot, VECTOR(0, 0, 25.4) *мм);
деталь-отверстие <5eTfl^6*TRANS (nilrot, VECTOR (0, 30.8, 76.2) «мм);
Примечание. Nilvect — предварительно определенный вектор, имеющий зна¬
чение VECTOR(0, 0, 0)*мм.
На языке AML:
Тб = DOT (робот, <381, 0, 0>. EULERROT(< 180, 0. 0>) >);
E = DOT(Тб, <0, 0, 127>, EULERROT(<0, 0, 0>) >);
болт-головка болта = DOT (загрузочное устройство. <0,0, 0>,
EULERROT(<0, 0, 0>)>);
болт-схват— DOT (болт-головка болта <0, 0, 25.4>,
EULERROT(<0, 0,0>)>);
деталь-отверстие = DOT (деталь, <0, 50.8, 76.2>,
EULERROT (<0, 0, 0>) >) f
Примечание. DOT — подпрограмма перемножения двух матриц
492
AML не имеет встроенного оператора матричного умножения,
но оснащен системной подпрограммой DOT.
Рассмотрим более подробно обозначения в табл. 9.3. Первый
Д1-оператор описывает систему координат Т6, главные оси ко¬
торой повернуты на 180° относительно оси X системы коорди¬
нат, связанной с роботом. Начало системы координат Т6 распо¬
ложено на расстоянии (381, 0, 0) мм от начала системы коорди¬
нат, связанной с роботом. Второй оператор описывает систему
координат Е, главные оси которой параллельны (nilrot обозна¬
чает отсутствие вращения) главным осям системы координат Т6,
а начало расположено на расстоянии (0, 0, 127) мм от начала
системы координат Тб. Аналогичные рассуждения применимы
ко всем другим трем операторам на языке AL. Такой же
смысл имеют операторы на языке AML. Связь между фрей¬
мами, которые мы определили в табл. 9.2 и 9.3, представлена
на рис. 9.2, а.
Отметим, что в языке AL не требуются фреймы, определяю¬
щие положение руки робота, поскольку в нем используется не¬
явный фрейм для представления конечного положения схвата и
нет доступа к промежуточным фреймам Тб и Е. Так как в про¬
цессе сборки детали перемещаются или взаимодействуют с дру¬
гими объектами, то последовательность фреймов в программе
должна соответствовать текущим состояниям рабочего прост¬
ранства (рис. 9.2, б).
Другой способ определения ориентации и положения объекта
состоит в том, что схват робота в интерактивном режиме пере¬
мещается от одной фиксированной точки до другой. В качестве
примера приведем систему POINTY [107], использующую язык
AL. Эта система позволяет пользователю вести робот вручную
или с помощью подвесного пульта управления через рабочее
пространство. При этом когда пользователь направляет руку
робота, оснащенную специальным инструментом, к объекту, то
система генерирует команды на языке AL, подобные командам,
приведенным в табл. 9.2 и 9.3. Это устраняет необходимость из¬
мерять расстояния и углы между системами координат, что
весьма трудоемко.
Хотя система декартовых координат широко применяется
для представления конфигурации робота, она имеет некоторые
ограничения. Более удобным способом представления конфигу¬
раций робота по сравнению с декартовой системой координат
является система обобщенных координат. Поскольку обратная
задача кинематики не дает единственного решения, конфигура¬
ция робота определяется неоднозначно в декартовом простран¬
стве. По мере увеличения числа операций и объектов связи
между системами координат становятся сложными и трудными
для управления. Кроме того, число требуемых вычислений так¬
же существенно увеличивается.
493
9.2.2. Определение движения
Наиболее общей операцией в роботизированной сборке яв¬
ляется операция типа «взять и установить». Она включает дви-
Неподвижная система
координат
Система координат,
связанная с деталью
Система Направление захвата
координат, болта
связанная
с отверстием
детали
Система координат,
связанная с головкой
: ■ болта
Система координат,
связанная со схватом
(Е)
Система координат,
связанная с сочлене¬
нием (Т6)
Система координат,
Связанная с корпусом
Неподвижная система
координат
а
Рис. 9.2. Связи между фреймами.
жение робота от начального положения к положению схватыва¬
ния, захват объекта и движение в конечное положение. Движе¬
ние обычно определяется как последовательность промежуточ¬
ных положений, которые должен достигнуть робот. Однако опре¬
деления только начального и конечного положения не доста¬
точно.
Система координат,
связанная со схватом
(Е)
Система координат,
связанная с сочлене¬
нием (Т6)
Система координат,
связанная с корпусом
Неподвижная система
координат
6
Неподвижная система
координат
Направление захвата
болта
Система координат,
связанная с голоакой
болта
Система
координат,
связанная
с деталью
Система
координат,
связанная
с отверстием
детали
494
Вначале управляющая система планирует траекторию дви¬
жения робота без учета расположения объектов в рабочем про¬
странстве и возможных препятствий на планируемой траекто¬
рии. Для того чтобы управляющая система могла генерировать
траекторию, свободную от столкновений с препятствиями, про¬
граммист должен задавать достаточно часто промежуточные
точки траектории. Например, как показано на рис. 9.3, если
было бы задано движение по прямой линии от точки А к точке
С, то робот столкнулся бы с деталью. Поэтому для обеспечения
безопасности движения робота необходимо ввести промежуточ¬
ную точку В. Промежуточные положения робота могут быть
определены либо в обобщенной, либо в декартовой системе ко¬
ординат в зависимости от языка программирования. В языке
AL движение определяется с помощью команды MOVE, которая
указывает систему координат требуемого положения руки ро¬
бота. Промежуточные точки определяются с помощью ключе¬
вого слова VIA, за которым следует фрейм промежуточной точ¬
ки (табл. 9.4). На языке AML пользователь имеет возможность
определять движение робота в обобщенных координатах и со¬
ставлять собственные программы для представления движения
в декартовых координатах. Сочленения определяются номерами
сочленений (от 1 до 6), и движение может быть либо относи¬
тельным, либо абсолютным (табл. 9.4).
495
Таблица 9.4. Примеры описания движения руки робота на языках AL и AML
На языке AL:
{перемещать руку из состояния покоя к системе координат А и затем к си¬
стеме координат болт-схват}
MOVE barm ТО А;
MOVE barm ТО болт-схват;
{другое описание движения робота}
MOVE barm ТО болт-схват VIA А;
{двигаться вдоль текущей оси Z на 25,4 мм (относительное движение)}
MOVE barm ТО ® —25,4*Z*mm;
Примечания-, barm — идентификатор, обозначающий руку робота;
® указывает текущее положение руки, эквивалентное выраже¬
нию: робот *Т6*Е.
Выражения в скобках {...} являются комментариями.
На языке AML:
• "Переместить сочленения 1 и 4 на 234 мм и 20° соответственно (абсо¬
лютное движение)"
MOVE (<1,4>, <234,20>);
• "Переместить сочленения 1, 3 и 6 на 25,4 мм, 50,8 мм и 5° соответ¬
ственно (относительное движение)"
DMOVE (<1,3,6>, <25,4, 50,8>);
Примечание'. Выражения в кавычках являются комментариями.
К недостаткам этого типа описания относится то, что про¬
граммист должен предварительно спланировать все движения
робота, чтобы выбрать промежуточные точки. В результате ро¬
бот может совершать лишние движения по траектории. Более
того, описание сложной траектории как последовательности то¬
чек приводит к неоправданно длинной программе.
При движении руки робота из начального положения в ко¬
нечное имеются физические ограничения, например такие, как
места закрепления звеньев, которые требуют, чтобы рука шла
вдоль оси. Кроме того, имеются ограничения на движение ро¬
бота в рабочем пространстве, связанные с расположением объ¬
ектов. В обоих случаях это может препятствовать требуемому
движению робота.
Для обеспечения безопасного движения программист должен
управлять такими параметрами, как скорость, ускорение, за¬
медление, направление движения. Обычно эти параметры рас¬
сматриваются как ограничения, которым должно удовлетворять
программное движение. Язык AL оснащен ключевым словом
WITH, с помощью которого к командам движения робота при¬
соединяются операторы ограничения. В табл. 9.5 приведены
команды движения робота из состояния «болт-схват к точке А
496
Таблица 9.6. Примеры описания движения руки робота иа языках AL и AML
На языке AL:
{Перемещать руку от системы координат болт-схват к системе координат А}
MOVE barm ТО А
WITH DEPARTURE = Z WRT загрузочное устройство
WITH DURAT10N = 5*c.;
{открыть схват на 63,5 мм}
OPEN bhand ТО 63,5*мм
Примечание. С помощью команды WRT (по отношению к) создается вектор
в указанной системе координат.
На языке AML:
• Переместить сочленения 1 и 4 на 254 мм и 20° со скоростью 25,4 мм/с.
• Ускорение и замедление равны 25,4 мм/с2.
MOVE (< 1,4>, < 254,20 >, <25,4, 25,4, 25,4 >);
• Открыть схват на 63,5 мм
MOVE (GRIPPER, 63.5);
с направлением начала движения вдоль положительного направ¬
ления оси +Z загрузочного устройства и временной длитель¬
ностью 5 с, т. е. медленное движение. В языке AML агрегаты
типа (скорость, ускорение, замедление) могут быть добавлены
к команде MOVE, чтобы определить скорость, ускорение и за¬
медление робота.
Обычно движения схвата должны рассчитываться в зависи¬
мости от поставленной задачи и окружающих условий зоны ра¬
бочего пространства. В большинстве языков предусмотрены про¬
стые команды движений схвата, из которых строятся сложные
движения. Для двупалого схвата могут быть предусмотрены
команды «открыть» (разжатие пальцев) или «закрыть» (сжа¬
тие пальцев). Оба языка AL и AML используют предварительно
определенные переменные для обозначения схвата (в AL —
bhand, в AML—GRIPPER). Используя команду OPEN (в AL)
и MOVE (в AML), можно запрограммировать требуемое рас¬
крытие схвата (табл. 9.5).
9.2.3. Очувствление и управление
Расположение и размеры объектов в рабочем пространстве,
как правило, определяются только с некоторой степенью точно¬
сти. Чтобы робот выполнял задачи при наличии этих ограниче¬
ний, должно быть реализовано очувствление. Информация, со¬
бранная с датчиков очувствления, также действует как обратная
связь с рабочим пространством, что помогает роботу исследо¬
497
S
вать и проверять состояние сборки. Очувствление в программи¬
ровании робота условно делится на 3 типа:
1. Позиционное очувствление. Применяется для определения
текущего положения робота. Оно обычно дается кодиров¬
щиками, чтобы измерять углы в сочленениях и вычислять
соответствующее положение руки робота в рабочем про¬
странстве.
2. Силовое и тактильное очувствление. Применяется для
определения наличия объектов в рабочем пространстве.
Силовое очувствление используется при управлении упру¬
гой податливостью, чтобы обеспечить обратную связь в
управлении движением по силе, а тактильное очувствле¬
ние — для определения проскальзывания во время схваты¬
вания объекта.
3. Системы технического зрения. Применяются для иденти¬
фикации объектов и грубой оценки их положения.
На сегодняшний день нет общего соглашения, как строить
команды очувствления, и каждый язык программирования ро¬
ботов имеет свой собственный синтаксис. AL снабжен коман¬
дами типа FORCE (ось) и TORQUE (ось) для силового очув¬
ствления, определяемых в командах управления как условия.
Например: FORCE (Z) > 0,84 * Н. AML оснащен оператором
MONITOR, который вводится в команды управления для опре¬
деления асинхронных событий. Программист может ввести в
программу описание датчиков и управлять движением робота,
используя информацию от датчиков (табл. 9.6). Также имеются
Таблица 9.6. Силовое очувствление и податливое движение
На языке AL:
{Тест на определение отверстия с помощью силового очувствления}
MOVE barm ТО ® — 25,4*Z*mm ON FORCE(Z) <2,8*H
DO ABORT ("NO HOLE"); ’Л.
{Установить болт, действуя силой вниз, пока нет сопротивления) ;;Г
MOVE barm ТО деталь_отверстие ь
WITH FORCE(Z) =—2,8*Н WITH FORCE(X)=0*H
WITH FORCE(Y) =0*H WITH DURATION = 3*c
На языке AML:
• Определить команду управления для датчиков силы SLP и SRP. Если
значения сигналов с датчиков выходят из интервала [0, F], inofmons — 1,
в противном случае 0:
fmons = MONITOR (<SLP, SRP>, 1,0, F);
• Переместить сочленение 3 на 25,4 мм и остановить, если fmons = 1.
DMOVE (<3> , <1>, fmons);
Примечание. Синтаксис команды управления:
MONITOR (датчики, тип теста, 1-й предел, 2-й предел)
операторы типа OPOSITION, которые дают информацию о те¬
кущем положении сочленений
Большинство языков программирования роботов ориентиро¬
вано на применение в системах технического зрения, и пользо¬
ватель имеет возможность самостоятельно разрабатывать про¬
граммные модули для обработки зрительной информации.
Одно из основных применений информации очувствления со¬
стоит в том, чтобы начать или завершить выполнение операции.
Например, деталь, находящаяся на ленте конвейера, попадая в
поле зрения оптического датчика может быть захвачена роботом
по сигналу с этого датчика. В случае возникновения ненормаль¬
ных условий функционирования выполнение команды прекра¬
щается. Пример, иллюстрирующий использование информации о
силовом очувствлении для определения требуемого положения
охвата относительно отверстия, приведен в табл. 9.6.
При движении руки робота вниз сила, действующая вдоль
оси Z системы координат, связанной со схватом, фиксируется
с помощью оператора FORCE (Z). Если сила превышает 2,8 и,
это означает, что схват не разместил деталь в отверстии и за¬
дача прерывается.
Обычно информация с датчиков управляет программным
движением робота. Большинство языков программирования ро¬
ботов оснащено конструкциями типа if-theri-else_, case-,
do-until, while-do_ для управления программой движения ро¬
бота при различных условиях. При выполнении некоторых задач
требуется, чтобы движение робота удовлетворяло внешним ог¬
раничениям. Например, для установки детали в отверстие необ¬
ходимо, чтобы схват двигался только в одном направлении.
Любые боковые силы могут вызывать трение, которое пре¬
пятствует движению схвата с деталью. Для того чтобы осуще¬
ствить податливое движение в процессе сборки, необходимо
очувствление. В табл. 9.6 приведен пример, демонстрирующий
применение команд силового очувствления для выполнения за¬
дачи установки детали в отверстие при наличии податливости.
Податливое движение определяется величиной силы, допустимой
в каждом из направлений системы координат, связанной со
схватом. В данном случае внешняя сила прикладывается только
вдоль оси этой системы координат.
9.2.4. Системные средства программирования
Язык без системных средств программирования (редактор,
отладчик и т. д.) бесполезен для пользователя. Сложный язык
должен сопровождаться соответствующим программным обес-
*> Представляет собой агрегат вида <1,5>, который определяет сочлене¬
ния 1 и 5.
499
Таблица 9.7. Программа установки болта в отверстие на языке AL
BEGIN установка
{Набор переменных}
болт-диаметр ч- 12,7*мм;
болт-высота ■*- 25,4*мм;
попытки ■*- 0;
схвачено ■*- ложь;
{Определение базовых фреймов}
деталь ■*- FRAME (ROT(Z, 90*град), VECTOR (508, 381, 0)*мм);
загрузочное устройство FRAME (nilrot, VECTOR(635, 508, 01)*мн);
{On ределенне основных фреймов}
болт-схват загрузочное pcTpo«crao*TRANS (nilrot, nilvect);
болт-головка болта ■*- 6o^T_cxear*TRANS (nilrot, VECTOR(0, 0, 12,7)*мм);
деталь-отверстие детал &*TRANS (nilrot, VECTOR (0, 0, 25,4) *мм);
{Определение фреймов для промежуточных точек траектории}
А загрузочное pcrponcreosTRANS (nilrot, VECTOR (0,0, 127) *мм);
В ■*- загрузочное pcTpodcrao*TRANS (nilrot, VECTOR (0, 0, 203,2) *мм);
С ■*- <5eraT6_OTSepcT«e*TRANS(nilrot, VECTOR(0,0, 127) *мм);
D ■*- (5eTaT6_orsepcT«e*TRANS (nilrot, болт-высота*!) \ -j
{Открытие схвата} iv
OPEN bhand TO болт_й«алетр+25,4*мм ?,
{Расположение схвата точно над болтом}
MOVE barm ТО болт -схват VIA А . . V
WITH APPROACH = —Z WRT загрузочное устройство
{Попытка захвата болта}
DO
CLOSE bhand ТО 0,9*болт~диаметр:
IF bhand <болт-диаметр THEN BEGIN
{неудача при захвате болта, новая попытка}
OPEN bhand ТО болт-диаметр + 25,4 * мм;
MOVE barm ТО ®—25,4*Z*mm; END ELSE схвачено истина;
попытки попытки+1;
UNTIL схвачено OR (попытки > 3);
{Прекращение операции, если болт не схвачен за 3 попытки}
IF NOT схвачено THEN ABORT («неудача при захвате болта»);
{Перемещать руку к точке В} ‘ Р1
MOVE barm ТО В .'Vs ' '■V’l'.C,
VIA А - ;Т
WITH DEPARTURE = Z WRT загрузочное устройство-, .
{Перемещать руку к точке D}
MOVE barm ТО D VIA С
WITH APPROACH = —Z WRT деталь-отверстие-,
{Проверить, есть ли отверстие}
MOVE barm ТО ® —2,54*Z*mm ON FORCE(Z)>2,8*H
DO ABORT («нет отверстия»);
{Установка болта в отверстие с помощью системы силового очуцс?ш№шя)
MOVE barm ТО деталь-отверстие DIRECTLY
WITH FORCE(Z)=—2,8*Н '
WITH FORCE (X) = 0*Н
WITH FORCE(Y)=0*H
WITH DURATON =5*lc;
END установка болта ' ,
печением для пользователя. Сложные программы для робота
трудны как для разработки, так и для отладки. Более того,
программирование робота накладывает следующие дополни¬
тельные требования на средства разработки и отладки про¬
грамм:
1. Модификация on-line и непосредственный повторный за¬
пуск. Поскольку задачи робота требуют сложных движений и
длительного времени выполнения, то не всегда можно вновь за¬
пустить программу в случае аварийного останова. Система про¬
граммирования робота должна иметь возможность модификации
программ в режиме on-line и воспроизводить повторный запуск
в любое время.
2. Выходные сигналы с датчиков и программные траектории.
Взаимодействие в реальном времени между роботом и окру¬
жающей средой не всегда воспроизводимо. Поэтому отладчик
должен быть способен записывать значения сигналов с датчи¬
ков вдоль всей программной траектории.
3. Моделирование. Это свойство позволяет тестировать про¬
граммы без физической реализации робота и рабочего прост¬
ранства. Следовательно, различные программы будут отлажи¬
ваться с большей эффективностью.
Читатель должен понять, что программирование на робото¬
ориентированном языке утомительно и громоздко. Это иллюст¬
рируется следующим примером.
Пример. В табл. 9.7 приводится программа на языке AL для
выполнения операции установки болта в отверстие (рис. 9.1).
Необходимые разъяснения даны в предыдущих разделах. При¬
мите во внимание, что предложение на языке AL не считается
завершенным до тех пор, пока не встретится точка с запятой.
9.3. ХАРАКТЕРИСТИКИ
ПРОБЛЕМНО-ОРИЕНТИРОВАННЫХ ЯЗЫКОВ
Совершенно другой подход к программированию роботов
применяется при использовании проблемно-ориентированных
языков. В задачах сборки более естественно описывать не дви¬
жения робота, а объекты, которыми робот манипулирует. Этот
факт лежит в основе программирования на проблемно-ориенти¬
рованных языках, применение которых упрощает задачу сборки.
Система программирования на уровне задачи позволяет
пользователю описать задачу на языке высокого уровня (описа¬
ние задачи). Затем планировщик задачи будет обращаться к
базе данных (моделям рабочего пространства) и преобразовы¬
вать описание задачи в программу на уровне робота (синтез
программы для робота), которая и будет управлять ходом вы¬
полнения задачи сборки.
501
Основываясь на этом описании, можно мысленно разделить
планирование задачи на три этапа: моделирование рабочего
пространства, описание задачи и синтез программы. Следует от¬
метить, что эти три этапа не являются полностью независимыми;
фактически они связаны между собой на уровне вычислений.
С помощью декомпозировщика *> исходное описание задачи
раскладывается на последовательность подзадач и выделяется
такая информация, как первоначальное и исходное состояния,
(Описание задач
—>-
Знания
Программа робота
Рис. 9.4. Планировщик задач.
положения схватывания, связи закрепления. Затем подзадачи
поступают на планировщик подзадач, который генерирует тре¬
буемую программу для управления движением робота (рис. 9.4).
Концепция планирования задачи до некоторой степени по¬
добна идее автоматического создания программ в системе ис¬
кусственного интеллекта. Пользователь задает требования на
вход и выход желаемой программы, после чего генератор про¬
граммы создает программу, удовлетворяющую требованиям
пользователя на вход и выход [13]. Программирование на уров¬
не задачи, подобное автоматической генерации программ, нахо¬
дится на стадии исследования, и многие вопросы до сих пор
остаются нерешенными. В последующих разделах мы обсудим
проблемы, возникающие при планировании задачи, и возможные
пути их решения.
о Под декомпозировщиком подразумевается программный модуль, пред¬
назначенный для разбиения исходной задачи ва подзадачи. — При», перев.
9.3.1. Моделирование рабочего пространства
Для описания геометрических и физических свойств объек¬
тов, в том числе робота и представления процесса сборки в ра¬
бочем пространстве, проводится предварительное моделиро¬
вание.
Геометрические и физические модели. Для того чтобы пла¬
нировщик мог генерировать программу, предназначенную для
выполнения роботом данной задачи, он должен иметь информа¬
цию об объектах и самом роботе. Она содержит геометрические
и физические свойства объектов, которые представляются соот¬
ветствующими моделями. Геометрическая модель дает инфор¬
мацию о размерах, объемах и формах объектов в рабочем
пространстве. Как уже говорилось в гл. 8, для моделирования
трехмерных объектов разработаны соответствующие численные
методы [8, 245]. Для создания моделей объектов обычно приме¬
няется подход, называемый «пространственная геометрия вос¬
произведения объектов». При этом модели объектов рабочего
пространства с помощью набора упорядоченных операций типа
объединения и пересечения представляются в виде совокупности
элементарных объектов, таких, как куб, цилиндр и т. д. Элемен¬
тарные объекты можно реализовать различными способами, на¬
пример:
1) набором контуров;
2) набором поверхностей;
3) телами вращения;
4) сеточной структурой.
В системе AUTOPASS [171] объекты моделируются с по¬
мощью процессора геометрического конструирования (ПГК)
[306], в котором реализованы определенные процедуры для опи¬
сания объектов. Основная идея состоит в том, что каждому объ¬
екту соответствует название процедуры и ряд параметров.
Внутри такой процедуры форма объекта устанавливается с по¬
мощью обращений к другим процедурам, представляющим раз¬
личные объекты, или к допустимым операциям. В системе ПГК
заложен ряд элементарных объектов: куб, цилиндр, конус, клин,
полусфера, пластина и тела вращения. В свою очередь элемен¬
тарные объекты представляются в виде списка поверхностей, кон¬
туров и точек, которые определяются параметрами в соответ¬
ствующей процедуре. Например, обращение
CALL SOLID(CUBOUD, «Block», xleti, yleti, zleti);
вызовет процедуру SOLID, с помощью которой определяется
прямоугольный ящик, называемый Block, с размерами xlen,
ylen и zlen. Более сложные объекты можно определить путем
обращения к другим процедурам и применением к ним процеду¬
ры MERGE. Описание операции установки болта в отверстие,
приведенной в разд. 9.2, дано в табл. 9.8.
Таблица 9.8. Описание болта иа языке системы ПГК
Болт: PROCEDURE (стержень _ высота, стержень_радиус, стержень .граниу
головка_высота, головка_радиус, головка_грани);
^определение параметров*/
DECLARE
стержень-высота
головка-высота
стержень_радиус
головка_радиус
стержень-грани
головка-грани
/*высота стержня*/
/♦высота головки*/
/*радиус стержня*/
/*радиус головки*/
/*число граней стержня*; i;
/♦число граней головки*/
/♦описание вышеупомянутых переменных как переменных с плавающей точ¬
кой*/
FLOAT:
/♦определение формы стержня*/
CALL SOLID (CYLIND, «стержень», стержень-высота, стержень_радиус, стер¬
жень-грани);
/♦определение формы головки*/
CALL SOLID (CYLIND, «головка», головка_высота, головка^радиус, голов-*
ка-грани); ■ л >
/♦формирование описания болта*/ ■'
CALL MERGE («стержень», «головка», «объединение»); ,' ' > от ;
END Болт I
Примечание. Выражения в /*...*/ являются комментариями.
Физические свойства тела, такие, как инерция, масса и коэф¬
фициенты трения, могут ограничивать тип движений, осуществ¬
ляемых роботом. Эти свойства не требуется хранить в памяти,
поскольку они выводятся из модели объекта. Так как ни одна
модель не является точной на 100 %, то, следовательно, тожде¬
ственные части модели и объекта имеют незначительные разли¬
чия в физических свойствах. Поэтому в модель необходимо вво¬
дить допуски [246].
Представление состояний рабочего пространства. Для того
чтобы генерировать программу робота, планировщик задач дол¬
жен быть способен сформулировать все этапы сборки. Каждый
этап сборки можно кратко представить текущим состоянием ра¬
бочего пространства. Один из путей представления этих состоя¬
ний заключается в описании взаимодействия всех объектов в
рабочем пространстве в каждый момент времени. В языке AL
предусмотрен оператор связи AFFIX, который позволяет присо¬
единять фреймы друг к другу. Это эквивалентно физическому
присоединению одной детали к другой, и если одна из деталей
движется, то присоединенная деталь также будет двигаться.
Язык AL позволяет автоматически изменять расположение
систем координат, проводя соответствующие преобразования,-
■504
Например:
AFFIX деталь-отверстие ТО деталь RIGIDLN-,
деталь-отверстие- FRAME (nilrot, VECTOR( 1, 0, 0)-»мм);
означает, что система координат деталь_отверстие присоеди¬
няется к системе координат, связанной с деталью.
В системе AUTOPASS для представления состояний рабо¬
чего пространства применяется граф. Вершины графа обозна¬
чают объекты, а дуги — связи между ними. Связи могут быть
следующих видов:
1. Соединение. Объект может быть закреплен жесткой
связью, присоединен гибкой связью или условно соединен с
другим объектом. Первым двум видам соединений соответствует
оператор AFFIX в языке AL. Условное соединение означает, что
объект удерживается силой тяжести, но не строго закреплен.
2. Ограничение. Связи типа ограничения представляют собой
физические ограничения между объектами, которые могут дви¬
гаться поступательно или совершать вращательные движения.
3. Компонент сборки. Он используется, чтобы указать, что
подграф, связанный дугой этого типа, является этапом сборки и
может быть рассмотрен в качестве объекта. В процессе сборки
граф изменяется, чтобы отражать текущее состояние сборки во
времени.
9.3.2. Описание задачи сборки
Описание задачи сборки дается на языке высокого уровня.
Наилучшим вариантом для пользователя было бы общение с
системой на естественном языке, что привело бы к исключению
описания этапов сборки. Тогда задача сборки водяного насоса
могла бы быть определена командой «собрать водяной насос».
Однако до такого уровня еще очень далеко и пока нельзя обой¬
тись без подробного описания последовательности сборки.
Современный подход представляет собой использование
языка программирования с хорошо разработанным синтаксисом
и семантикой, что облегчает пользователю подробно описывать
последовательность сборки. Задачу сборки можно представить
в виде последовательности состояний модели рабочего простран¬
ства, которые определяются взаимным расположением всех объ¬
ектов в рабочем пространстве.
Один из путей описания взаимного расположения объектов
заключается в использовании пространственных связей между
этими объектами. Например, рассмотрим рабочее пространство
состояний из блоков, показанное на рис. 9.5. Чтобы указать, что
две поверхности касаются друг друга, введем пространственную
связ-ь AGAINST. Тогда для описания двух ситуаций, изображен¬
ных на рис. 9.5, могут быть использованы выражения из
505
табл. 9.9. Если мы предположим, что состояние А — начальное
и состояние В— конечное, тогда их можно использовать для
описания задачи подъема блока 3 и размещения его на верхней
грани блока 2. Если же состояние А — конечное и состояние
В — начальное, мы имеем задачу съема блока 3 и размещения
его на столе. Преимущество использования этого типа представ¬
ления заключается в том, что состояния рабочего пространства
легко интерпретируются человеком и, более того, легко опреде¬
ляются и модифицируются. Существенным ограничением этого
метода является то, что он не дает всю необходимую информа¬
цию для описания операции. Например, вращающий момент,
требуемый для затягивания болта, не может быть включен в
описание состояния.
Таблица 9.9. Описание состояний рабочего пространства
из модельных блоков
Состояние А
(блок 1-грань 1 AGAINST стол)
(блок 1-грань 3 AGAINST блок 2-грань 1)
(блок 3-грань 1 AGAINST стол)
Состояние В
(блок 1-грань 1 AGAINST стол)
(блок 1-грань 3 AGAINST блок 2-грань 1)
(блок 2-грань 3 AGAINST блок 3-грань 1)
Альтернативный подход заключается в описании задачи в
виде последовательности символических операций на объектах.
Обычно также имеется ряд пространственных ограничений на
объекты, устраняющих любую неопределенность. Эта форма
описания подобна форме, используемой в схеме промышленной
сборки. Большинство языков, ориентированных на роботы, при¬
способлено к этому типу описания.
Язык AL обладает ограниченными возможностями описания
задачи с помощью этого метода. С помощью оператора AFFIX
объектный фрейм может быть присоединен к идентификатору
506
barm для указания того, что рука робота удерживает объект.
В этом случае движение объекта к другой точке представляется
движением системы координат, связанной не с рукой, а с объек¬
том. Например, процесс установки болта в отверстие (рис. 9.1)
Определяется следующим образом:
AFFIX болт-головка болта ТО рука;
MOVE болт-головка болта ТО деталь-отверстие;
В работе [238] предложен язык, называемый RAPT, в кото¬
ром применяются операторы AGAINST, FIT и COPLANAR для
описания связи между свойствами объектов, которыми могут
быть: плоские или сферические поверхности, цилиндрические
стержни и отверстия, контуры и вершины. Эти свойства опреде¬
ляются с помощью фреймов, подобных тем, которые исполь¬
зуются в языке AL. Например, две операции в рабочей зоне с
блоками (рис. 9.5) могут быть описаны следующим образом:
PLACE блок 3 SO THAT (блок 2_ грань 3 AGAINST блок
грань 1)
PLACE блок 3 SO THAT (блок 3- грань 1 AGAINST стол)
Таблица 9.10. Определение изменения состояний рабочего пространства
и команды для описания инструмента в системе AUTOPASS
Определение изменений состояний рабочего пространства
PLACE <объект>, (предлог) (схватывание) (конечное состояние) (ограниче¬
ния) (тогда-держать)
где
(объект)
(предлог)
— символическое имя объекта
— либо "IN", либо "ON" используется для определения
типа операции
— определяет способ захвата объекта
— определяет ограничения
■— указывает, что схват должен оставаться в прежнем поло¬
жении после завершения команды.
Команды для описания инструмента
OPERATE (инструмент) (загрузить-список) (в положении) (приспособление>
(конечное состояние) (инструмент-параметры) (тогда-держать)
(схватывание)
(ограничение)
(тогда-держать)
где
(инструмент)
(загрузить-список)
(в положении)
(приспособление)
(конечное-со стояние)
(инструмент-параметры)
(тогда-держать)
— определяет инструмент, который должен быть
использован
■—определяет список вспомогательных принад¬
лежностей
— определяет рабочее положение инструмента
— определяет новое приспособление
■— определяет конечное состояние, которое долж¬
но быть достигнуто по завершении команды
— определяет рабочие параметры инструмента*
такие, как скорость и направление вращения
— означает, что рука должна оставаться в преж¬
нем положении после завершения команды
I
507
Затем выделяются пространственные связи для определения ог¬
раничений на взаимное расположение объектов, которые тре¬
буются для выполнения задачи сборки.
В системе AUTOPASS, имеющей более совершенный синтак¬
сис, также используется этот тип описания, и команды, связан¬
ные со сборкой, делятся на три группы:
1. Команды изменения состояния. Описывают операцию
сборки как перемещение и установку деталей.
2. Команды описания инструмента. Описывают тип инстру¬
мента, который необходимо использовать.
3. Команды закрепления. Описывают операции закрепления
деталей. Синтаксис этих команд более сложный (табл. 9.10).
Например, для описания операции установления болта в отвер¬
стие и его завинчивания использовано следующее предложение:
PLACE болт ON деталь SUCH THAT болт-головка болта IS
ALIGNED WITH деталь_отверстие;
DRIVE IN болт- AT болт-схват SUCH THAT TORQUE IS EQ
12.0 IN-LSB USING воздух-устройство для завинчивания;
9.3.3. Синтез программы
Синтез программы для управления движением робота на ос¬
нове описания задачи является одним из наиболее важных и
трудных этапов планирования задачи сборки. Этот этап вклю¬
чает следующие действия: планирование захвата детали, плани¬
рование движения и проверка плана.
Прежде чем планировщик задачи сможет осуществить пла¬
нирование, он должен преобразовать символическое описание
задачи в приемлемую форму. Один из путей — получение огра¬
ничений на взаимное расположение объектов из символических
соотношений. Интерпретатор RAPT выделяет символические со¬
отношения и формирует ряд матричных уравнений с неизвест¬
ными параметрами связей между объектами. Эти уравнения за¬
тем упрощаются с помощью набора специальных правил пре¬
образования. Полученный результат представляет собой набор
ограничений на форму и взаимное расположение объектов, не¬
обходимый для выполнения операции.
Возможно, что планирование захвата детали является наи¬
более важной проблемой при планировании задачи сборки, по¬
скольку траектория движения руки робота при захвате детали
влияет на все последующие операции. Траектория, по которой
робот производит захват объекта, зависит от геометрии захва¬
тываемого объекта и наличия других объектов в рабочем про¬
странстве. Обычно существует единственное положение захвата
детали, которое достижимо и устойчиво. Робот должен быть
способен захватить намеченный объект, не сталкиваясь с дру¬
гими объектами в рабочем пространстве, и в свою очередь за¬
508
хваченный объект должен надежно удерживаться в схвате во
время последующих движений робота.
Обычно способ захвата детали и соответствующая ему кон¬
фигурация манипулятора выбираются на основе следующих
процедур:
1. Возможные способы захвата детали выбираются исходя
из геометрии объекта (так, например, для схвата с параллель¬
ным движением пальцев место, удобное для захвата, располо¬
жено параллельно направлению движения пальцев со стороны
их внутренних или внешних поверхностей, устойчивости (одна
из возможностей захвата предусматривает, чтобы центр масс
объекта находился между пальцами) и уменьшения неопреде¬
ленности.
2. Затем число возможных способов захвата детали сокра¬
щается в зависимости от того, могут ли они быть реализованы
роботом или привести к столкновению с другими объектами.
3. Окончательная конфигурация манипулятора при захвате
выбирается среди оставшихся (если таковые имеются) так, что¬
бы она привела к наиболее устойчивому захватыванию и веро¬
ятность столкновения с препятствиями была минимальной при
наличии ошибок позиционирования.
Большинство современных методов для планирования за¬
хвата детали направлено на нахождение достижимых роботом
положений захватывания, причем не все ограничения на взаим¬
ное расположение объектов принимаются во внимание. По¬
скольку при наличии неопределенностей захватывание наиболее
трудно осуществимо, то в этом случае часто используется очув¬
ствление.
После того как объект схвачен, робот должен его перенести
в требуемое место рабочего пространства и затем выполнить
операцию. Это движение может быть разделено на 4 этапа:
1. Отход с предосторожностями от текущего положения.
2. Движение, свободное от столкновений, к желаемому по¬
ложению.
3. Подход с предосторожностями к месту выполнения опе¬
рации.
4. Податливое движение для достижения конечного поло¬
жения. При этом одной из важных проблем является планиро¬
вание движения робота без столкновений с объектами рабочего
пространства. Было предложено несколько алгоритмов для пла¬
нирования траектории, свободной от столкновений, которые мо¬
гут быть объединены в 3 класса:
1. Гипотеза и тест. В этом методе выбирается возможная
траектория и проверяется на столкновения на ряде выбранных
взаимных расположений объектов и робота. Если происходит
столкновение, вводится коррекция для обхода препятствий
(170]. Основным преимуществом данного метода является его
I
509
простота и то, что имеются достаточно эффективные системы
геометрического моделирования. Однако расчет коррекции бы¬
вает затруднителен, когда рабочее пространство заполнено пре¬
пятствиями.
2. Штрафные функции. Это метод построения штрафных
функций, значения которых зависят от близости препятствий.
Штрафные функции обладают тем свойством, что их значения
возрастают при приближении робота к препятствиям. Полная
штрафная функция является суммой всех отдельных штрафных
функций, причем иногда имеется член, характеризующий сте¬
пень близости к оптимальной траектории. Затем берутся произ¬
водные полной штрафной функции по параметрам взаимного
расположения объектов. Найдя локальный минимум полной
штрафной функции, можно определить траекторию, свободную
от столкновения с препятствиями. Метод имеет то преимуще¬
ство, что позволяет учитывать все препятствия и ограничения.
Однако сами штрафные функции довольно трудно определять.
3. Алгоритмы свободного пространства. Было предложено
несколько алгоритмов этого типа. В работе [174] рассматри¬
вается представление свободного пространства (пространства,
свободного от препятствий) в терминах конфигураций робота
(конфигурационное пространство). Эта идея эквивалентна пре¬
образованию руки робота, держащей объект, в точку и соответ¬
ственно увеличению числа препятствий в рабочем пространстве.
Тогда нахождение траектории, свободной от столкновений, рав¬
нозначно нахождению траектории, которая не пересекает ни
одно из препятствий. Этот алгоритм работает достаточно хо¬
рошо, когда рассматривается только поступательное движение.
Для вращательного движения должны быть сделаны прибли¬
жения, чтобы определить конфигурационное пространство, а это
требует существенного увеличения объема вычислений.
В работах [34] и [35] предложен другой метод, в котором
свободное пространство представляется в виде пересечения
обобщенных конусов, а объем, охватываемый движущимся объ¬
ектом, функцией их ориентации. Тогда траекторию, свободную
от столкновений, можно определить путем сравнения объема,
охватываемого объектом, с объемом свободного пространства.
Другой трудной и важной проблемой является генерация
податливого движения. В настоящее время ведутся исследова¬
ния, направленные на то, чтобы допустимые конфигурации ро¬
бота лежали на С-поверхности [193] в пространстве реализа-
о С-поверхность определяется в С-системе координат. Она представляет
собой конфигурацию робота, допускающую движение только по некоторым
степеням свободы. Вдоль С-поверхности реализуются степени свободы по по¬
ложению, а перпендикулярно к ней — по силе. — С-система координат пред¬
ставляет собой ортогональную систему координат в декартовом пространстве.
Система координат выбрана так, чтобы поступательное движение робота
осуществлялось вдоль главных осей, а вращательное движение вокруг них.
510
ций различных конфигураций робота. Тогда осуществление по¬
датливых движений эквивалентно нахождению комбинирован¬
ной стратегии управления по положению/силе для того, чтобы
траектория робота оставалась на С-поверхности.
9.4. ЗАКЛЮЧЕНИЕ
Мы рассмотрели характеристики языков, ориентированных
на роботы, и проблемно-ориентированных языков. В робото¬
ориентированных языках задача сборки явно описывается как
последовательность движений робота. Программист управляет
движением робота в ходе выполнения всей задачи, причем каж¬
дый шаг программы примерно соответствует одному действию
робота.
Проблемно-ориентированные языки программирования поз¬
воляют представлять задачу сборки как последовательность
промежуточных положений объектов, а не как последователь¬
ность движений робота, необходимую для достижения этих по¬
ложений. Таким образом, в этом случае движение робота за¬
дается неявно. В качестве примеров роботоориентированных
языков были приведены языки программирования AL и AML.
Мы считаем, что роботоориентированный язык программи¬
рования труден для практической эксплуатации, поскольку
пользователь вынужден подробно программировать каждое
движение робота. Проблемно-ориентированные языки намного
легче использовать. Однако многие сложности, возникающие
при планировании задачи, моделировании объекта, обходе пре¬
пятствий, планировании траектории, использовании информа¬
ции очувствления и конфигурации схватывания должны быть
решены, прежде чем проблемно-ориентированные языки смогут
эффективно применяться.
В заключение приведем таблицу сравнения различных язы¬
ков (табл. 9.11, а н б).
Литература
Подробные сведения о робото-ориентированном программи¬
ровании можно найти в работах [27, 93, 108, 175, 219, 225, 227,
229, 238, 239, 263, 270, 277, 283]. Информация о программирова¬
нии на уровне задачи (проблемно-ориентированное программи¬
рование) содержится также в работах [23, 52, 80, 169, 198]. Язы¬
ки программирования для описания объектов приводятся в рабо¬
тах [13, 107, 171, 306]. В работе [277] приводится матричное
уравнение однородного преобразования для описания последо¬
вательности выполнения задачи манипулятором.
Различные алгоритмы обхода препятствий, реализованные
в языках программирования в виде модулей, приведены в ра-
511
Таблица 9.11, а. Сравнение различных языков программирования роботов
Язык
AL
AML
AUTOPASS
HELP
JARS
MAPLE
Институт
Станфорд
ИБМ
ИБМ
GE
JPL
ИБМ
Робот
Пума, станфорд-
Манипулятор
Манипулятор
Аллегро
Пума, стан-
Манипулятор
ский манипу¬
лятор
ИБМ
ИБМ
фордский
манипулятор
ИБМ
Робото- или проб¬
Робото- и проб¬
Роботоориен¬
Проблем¬
Роботоориен¬
Роботоориен¬
Роботоориен-
лемноориентиро¬
ванный
лемноориенти¬
рованный
тированный
но-ориентиро¬
ванный
тированный
тированный
тированный
Базис языка
Concurrent
Pascal
Лисп, АПЛ,
Паскаль
ПЛ/1
Паскаль
Паскаль
ПЛ/1
Компилятор или ин¬
терпретатор
И то и другое
Интерпрета¬
тор
И то и другое
Интерпрета¬
тор
Компилятор
Интерпрета¬
тор
Тип представления
Фрейм
Агрегат
Модель
Нет
Фрейм
Нет
данных
Описание движения
Фрейм
Сочленение
Неявное
описание
Сочлемение
Сочленение,
фрейм
Перемещение,
вращение
Структура управле¬
Паскаль
Паскаль
ПЛ/1
Паскаль
Паскаль
ПЛ/1
ния
Команды очувствле¬
ния
Положение,
сила
Положение
Сила,
тактильная'
информация
Сила, зрение
Близость,
зрение
Сила,
близость
Параллельная обра¬
ботка
COBEGIN
семафоры
Нет
IN
PARALLEL
Семафоры
Нет
IN
PARALLEL
Многосуставный ро¬
бот
Да
Нет
Нет
Да
Нет
Да
Литература
[200]
[283]
[171]
[325]
[48]
[52]
Таблица 9.11, б. Сравнение различных языков программирования роботов
Язык
MCL
PAL
RAIL
RPL
VAL
Институт
Me. Donnell
Douglas
Purdue
Automatix
SRI
Unimate
Робот
Цинииннати
Милакрон ТЗ
Станфордский
манипулятор
Манипулятор,
проектируемый
по заказу
Пума
Пума
Робото- или проблемно-
ориентированный
Роботоориентиро¬
ванный
Роботоориенти-
роваиный
Роботоориенти¬
рованный
Роботоориенти¬
рованный
Роботоориенти¬
рованный
Базис языка
APT
Изменяющийся
базис
Паскаль
Фортран, Лисп
Бейсик
Компилятор или интер¬
претатор
Компилятор
Интерпретатор
Интерпретатор
И то и другое
Интерпретатор
Тип представления дан¬
ных
Фрейм 1
Фрейм
Фрейм
Нет
Фрейм
Описание движения
Перемещение,
вращение
Фрейм
Сочленения,
фрейм
Сочленения
Сочленения,
фрейм
Структура управления
if-then-else
while-do
if-then-else
Паскаль
Фортран
if-then
Команды очувствления
Положение
Сила г.- :
Сила, зрение
Положение,
зрение
Положение, сила
Параллельная обработка
INPAR - '
Нет
Нет
Нет ;;
Семафоры
Многосуставный робот
Да ’•
Нет
Нет
Нет
Нет
Литература
[219]
[277]
[81|
[225]
[296]
ботах [34, 35, 36, 170, 170, 175, 177]. Для обхода препятствий в
рабочем пространстве, заполненном различными объектами, в
работах [174 и 176] предложены методы планирования задачи
в пространстве конфигураций робота.
Будущие языки программирования роботов должны содер¬
жать методы искусственного интеллекта [13] и использовать
знания [33] для планирования выполнения роботизированной
сборки и других технологических задач.
Упражнения
9.1. Напишите программу на языке AL для определения системы коор¬
динат схвата, которая может быть получена вращением системы координат
«блок» на угол 65° вокруг оси у и затем перемещением его на 101,6 и
152,4 мм вдоль осей к и у соответственно.
9.2. Напишите программу для решения задачи упр. 9.1 на языке AML.
9.3. Напишите программу на языке AL для складирования роботом 9 де¬
талей из загрузочного устройства в палету, представляющую собой матрицу
из 3 X 3 ячеек. Предполагается, что расположение загрузочного устройства
и палеты известны. Программа должна фиксировать заполнение каждой
ячейки и сигнализировать пользователю о заполнении всей палеты.
9.4. Напишите программу на языке AML для решения задачи упр. 9.3.
9.5. Напишите программу на языке VAL для решения задачи упр. 9.3.
9.6. Напишите программу на языке системы AUTOPASS для решения
задачи упр. 9.3.
9.7. Ханойская башня. Три стержня А, В, С, системы координат которых
соответственно (хд, уА, zA), (хв, у в, zb) и (хс, ус, zc) имеют известные рас¬
положения относительно неподвижной системы координат (х0, у0, z0), как по¬
казано ниже на рис. 9.6. Первоначально, на штифте А находятся два диска
разных размеров, причем диск меньшего диаметра всегда должен распола¬
гаться на диске большего диаметра. Требуется написать программу на языке
AI для управления роботом, оснащенного специальным схватом присоской
(для захватывания диска), чтобы двигать два диска от стержня А к стерж¬
ню С; причем в любой момент времени диск меньшего диаметра должен
всегда располагаться на диске большего диаметра. Каждый диск имеет
одинаковую толщину 25,4 мм.
9.8. Напишите программу на языке AML для решения задачи в упр. 9.7,
Рис. 9.6.
“ Глава 10.
Л ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ
И ПЛАНИРОВАНИЕ ЗАДАЧ В РОБОТОТЕХНИКЕ
То, что воспринято разумом,—не-
: зыблемо, а то, что постигается толь-
; ко чувствами, — всегда зыбко и не-
p.. определенно.
■>, Из «Диалогов» Платона
10.1. ВВЕДЕНИЕ 1
Одной из основных проблем робототехники является планиро¬
вание движения для решения поставленной задачи с последую¬
щим контролем выполнения роботом команд, необходимых для
осуществления этих действий. Под планированием здесь под¬
разумевается принятие решения о ходе действия перед его
выполнением.
Действия робота могут быть определены системой планиро¬
вания действий робота, которая будет искать пути достижения
поставленной цели, исходя из некоторой первоначальной си¬
туации. В этом случае необходим план, представляющий собой
последовательность действий робота для достижения цели.
Исследования процесса построения решений задач робото¬
техники привели ко многим идеям относительно системы по¬
строения решения задач в области искусственного интеллекта.
В обычной постановке задачи мы имеем робот, оснащенный
датчиками и способный выполнять элементарные действия в не¬
сложном рабочем пространстве. Действия робота преобразуют
одно состояние (или конфигурацию) рабочего пространства
в другое. Например, в рабочем пространстве несколько объек¬
тов могут располагаться на столе или друг на друге, а робот,
состоящий из телевизионной камеры, манипулятора и схвата,
поднимает или передвигает эти объекты. В некоторых задачах
робототехники робот представляет собой подвижную тележку
с телевизионной камерой, выполняющую такие операции, как,
например, перемещение объектов в рабочем пространстве.
В этой главе мы кратко изложим несколько методов принятия
решений и их применение к планированию действий робота.
10.2. ПОИСК В ПРОСТРАНСТВЕ СОСТОЯНИЙ
Один из методов решения задачи состоит в последователь¬
ной проверке различных возможных вариантов до тех пор, пока
мы случайно не получим желаемое решение. Такая попытка
17*
515
включает поиск типа «проб и ошибок». Для обсуждения мето¬
дов решения этого типа введем понятие состояний задачи
(проблемных состояний) и операторов. Проблемным состоя¬
нием, или просто состоянием, является конкретная конфигура¬
ция робота. Набор всех возможных конфигураций образует
пространство проблемных состояний или пространство состоя¬
ний. Оператор, применяемый к состоянию, преобразует его в
другое состояние. Решение поставленной задачи представляет
собой последовательность операторов, которые преобразуют на¬
чальное состояние в требуемое конечное состояние.
Пространство состояний, достижимых из начального, удоб¬
но представлять в виде графа, вершины которого соответствуют
состояниям, а дуги — операторам. Решение задачи можно по¬
лучить, применяя операторы к начальному состоянию и получая
в результате новые состояния. В полученным новым состояниям
в свою очередь применяются операторы до тех пор, пока не
будет достигнуто целевое состояние. Методы организации та¬
кого поиска для определения целевого состояния обычно опи¬
сываются в терминах теории графов.
10.2.1. Вводные примеры
Прежде чем приступить к обсуждению методов поиска на
графе, рассмотрим кратко несколько базовых примеров, чтобы
ознакомить читателя с понятиями, применяемыми в этой главе.
Рабочее пространство из модельных объектов. Будем счи¬
тать, что рабочее пространство состоит из поверхности Т
Рис. 10.1. Взаимное располо¬
жение робота и модельных
объектов.
и трех объектов Л, В и С. Начальное состояние рабочего про¬
странства следующее: объекты Л и В находятся на поверхно¬
сти, а объект С расположен на верхней грани объекта А
(рис. 10.1). Робот должен преобразовать начальное состояние
в целевое состояние, в котором объекты расположены друг на
друге следующим образом: объект А наверху, объект В в сере¬
дине и объект С внизу. Робот может использовать единствен¬
ный оператор MOVE (двигать) X от У к Z, который переме¬
щает объект X с вершины объекта У на объект Z. Для при¬
менения оператора требуется 1) чтобы перемещаемый объект X
516
был объектом, на вершине которого ничего нет; 2) если Z—
объект, на нем ничего не должно быть расположено.
Нетрудно использовать граф вместо рис. 10.1 для описания
возможных состояний. Оператор MOVE X от Y к Z имеет вид
MOVE (V, Y, Z). Граф поиска в пространстве состояний приве¬
ден на рис. 10.2. Если мы устраним в графе штриховые линии
(предназначенные для того, чтобы оператор не мог быть ис¬
пользован для выполнения одной и той же операции более
одного раза), мы получим дерево поиска в пространстве со-
йш
Рис. 10.2. Граф поиска в пространстве состояний.
стояний. Из рис. 10.2 видно, что решение задачи состоит из сле¬
дующей последовательности операторов: MOVE (С, Д> Т),
MOVE (В, Т, С), MOVE (А, Т,В).
Выбор пути. Предположим, что мы хотим перемещать длин¬
ный и тонкий объект А через заполненное препятствиями ра¬
бочее пространство (рис. 10.3). Для планирования движений
объекта, находящегося в схвате робота, мы можем выбрать
представление пространства состояний в виде тройки (х,и, а),
где х — горизонтальная координата объекта: 1 ^ х ^ 5; у —
вертикальная координата объекта: 1 ^ у ^ 3; а — ориентация
объекта:
( 0, если объект А параллелен оси х,
сс = л
(.1, если объект А параллелен оси у.
617
Положение и ориентация объекта являются дискретными вели
чинами. Операторы или команды робота следующие:
MOVE в направлении +х на одну единицу,
MOVE в направлении ±у на одну единицу,
ROTATE 90° (повернуть на 90°).
Рис. 10.3. Рабочее пространство.
Пространство состояний показано на рис. 10.4. Мы предпола¬
гаем, что каждое «поступательное движение» имеет длину 2
и «вращательное движение» имеет длину 3. Пусть объект А
первоначально находится в точке (2, 2) и ориентирован па¬
раллельно оси у. Задача состоит в том, чтобы передвинуть
объект А в точку (3,3) так, чтобы он был ориентирован парал¬
лельно оси х. Тогда начальное состояние будет (2, 2, 1), а це¬
левое—(3, 3, 0).
518
Два пути равной длины, приводящих к решению, показаны
на рис. 10.5 и 10.6. На первый взгляд эти два пути не кажутся
наиболее короткими. Однако более подробное исследование по¬
казывает, что если передвигать вдоль них объект из целевого
состояния, то можно избежать двух вращений за счет несколько
большего расстояния.
Задача «Обезьяна и бананы». В комнате находятся
обезьяна 6, ящик и гроздь бананов (рис. 10.7). Бананы подве¬
шены под потолком вне досягаемости обезьяны. Каким образом
обезьяна может достать бананы? ...
Рис. 10.6.
• с
L с
о □
П
U
L
Для описания состояния воспользуемся списком из 4-х эле¬
ментов (W, х, У, г), где
W — горизонтальное положение обезьяны;
х = 1 или 0 в зависимости от того, находится обезьяна на
вершине ящика или нет соответственно;
У—горизонтальное положение ящика;
Подразумевается, что обезьяной может быть мооильньш робот.
519
z = 1 или 0 в зависимости от того, достала обезьяна ба¬
наны или нет соответственно.
Операторы для решения этой задачи — следующие:
1) goto(£/). Обезьяна двигается к горизонтальному поло¬
жению U, или в форме производящего правила,
(F, О, Y, z) (U, О, Y, г).
Таким образом, состояние (F,0, Y,z) может быть преобразо¬
вано в состояние (U,0,Y,z) с помощью оператора goto(£/).
Рис. 10.7. Задача «Обезьяна и бананы».
2) pushbox(V). Обезьяна двигает ящик к горизонтальному
положению V, или
(F, 0, W, г) ■Р---Ь0Х(У)> (V, 0, У, 2).
Из левой части производящего правила следует, что оператор
pushbox(V) может быть применен, если обезьяна расположена
в том же положении W, что и ящик, но не на ящике. Такое
условие, наложенное на область применения оператора, назы¬
вается предусловием (предпосылкой) производящего правила.
3) climbbox. Обезьяна залезает на ящик, или
(W, 0, W, z) cU-b--> (W, 1, W, z).
Необходимо отметить, что для применения оператора climbbox
обезьяна должна быть в том же положении W, что и ящик, но
не на ящике.
520
4) grasp. Обезьяна захватывает бананы, или
arraso
(С, 1, с, 0) (С, 1, с, 1),
где С — положение на полу непосредственно под бананами.
Следует отметить, что для применения оператора grasp обезья¬
на и ящик должны быть в положении С, причем обезьяна пред¬
варительно должна находиться на ящике.
Рнс. 10.8. Представление задачи «Обезьяна н бананы» в виде графа.
Подразумевается, что как область допустимых значений, так
и результаты действия операторов описываются с помощью
производящих правил. Например, в правиле 2 оператор
pushbox(V) применяется только тогда, когда выполнено его
предусловие. В результате действия этого оператора обезьяна
передвинула ящик в положение V. При такой постановке ряд
целевых состояний описывается одним списком, последний эле¬
мент которого есть 1.
Пусть начальное состояние (А,0,В, 0). Единственным опе¬
ратором, который можно применить, является goto(H). Он при¬
водит к следующему состоянию (U, 0, В, 0). Теперь применимы
3 оператора: goto(H), pushbox(l/) и climbbox (если U — B).
Продолжая применять все возможные операторы к каждому
состоянию, мы создадим граф пространства состояний, показан¬
521
ный на рис. 10.8. Нетрудно видеть, что последовательность опе¬
раторов, преобразующих начальное состояние в целевое, со¬
стоит из goto(B), pushbox(C), climbbox и grasp.
10.2.2. Методы поиска на графе
Для небольших графов, один из которых показан на
рис. 10.8, путь из начального состояния в конечное может быть
легко найден непосредственной проверкой. В случае более слож¬
ных графов для определения пути в пространстве состояний из
начального состояния в конечное требуется формализованный
процесс поиска. Один из способов описания процесса поиска
пути на графе заключается в использовании производящих си¬
стем. Производящая система включает следующее:
1. Базу данных, которая содержит информацию, относящую¬
ся к определенной задаче.
2. Набор правил, действующих над базой данных. Каждое
правило состоит из левой части, которая определяет примени¬
мость правила (предусловие), и правой части, описывающей
действие, которое должно быть выполнено в случае примене¬
ния правила. Применение правил изменяет базу данных.
3. Стратегию управления, которая определяет, какие пра¬
вила должны быть применены, а также прекращение вычисле¬
ний, когда для базы данных выполняется конечное условие.
На языке производящих систем граф, показанный на
рис. 10.8, создается стратегией управления. Различные базы
данных, полученные с помощью правил, на графе обычно пред¬
ставляются в виде вершин. Таким образом, стратегия управле¬
ния поиском на графе подразумевает нахождение пути на графе
из начальной вершины, представляющей собой начальную базу
данных, в целевую вершину. Целевая вершина в свою очередь
является базой данных, удовлетворяющей конечному (или це¬
левому) условию производящей системы.
Процедура поиска на графе может быть описана следующим
образом:
Шаг 1. Создать граф поиска G, состоящий только из началь¬
ной вершины s. Занести s в список, называемый OPEN.
Шаг 2. Создать список, называемый CLOSED, который пер¬
воначально является пустым.
Шаг 3. LOOP: если OPEN пуст, выход на аварийный останов.
Шаг 4. Выбрать первую вершину из OPEN, удалить ее из
OPEN и занести ее в CLOSED. Назвать эту вершину п.
Шаг 5. Если п является целевой вершиной, выход на останов
с выдачей решения, полученного с помощью отслеживания
пути, помеченного указателями, в направлении от п к s в G
(указатели определяются на шаге 7).
О В данном случае под указателем понимается направление дуги от
одной вершины графа к другой.— Прим. черев.
522
Шаг 6. Расширить вершину п, создав набор М из преемни¬
ков, не являющихся предшественниками п. Определить вершины
набора М в качестве преемников п в G.
Шаг 7. Установить указатели в направлении п от тех вершин
набора М, которые еще не были в списках OPEN или CLOSED.
Добавить эти вершины из набора М в OPEN. Для каждой вер¬
шины набора М, который уже был в OPEN или CLOSED, ре¬
шить, надо ли восстановить его указатель в направлении п. Для
каждой вершины из М, уже находящейся в CLOSED, определить
для каждого из его потомков в G, следует ли восстанавливать
его указатель *>.
Ш аг 8. Переупорядочить список OPEN по некоторому
произвольному критерию или эвристическому правилу.
Шаг 9. Перейти к выполнению шага 3.
Если никакая эвристическая информация не используется
при упорядочении вершин из списка OPEN, на шаге 8 должен
быть применен некоторый произвольный критерий. Результи¬
рующая процедура поиска называется слепой. Первый тип
процедуры слепого поиска упорядочивает вершины в OPEN
по мере возрастания глубины их расположения в дереве по¬
иска2). Такой поиск называется поиском в ширину первого типа.
Было показано, что этот метод обеспечивает нахождение пути
минимальной длины к целевой вершине при условии, что этот
путь существует.
Второй тип слепого поиска упорядочивает вершины в OPEN
по мере уменьшения глубины их расположения в дереве поиска.
Вершины, располагающиеся на наибольшей глубине, заносятся
в список первыми. Вершины равной глубины располагаются
в произвольном порядке. Назовем этот метод поиском в глу¬
бину первого типа. Для предотвращения процесса поиска вдоль
некоторого бесполезного пути устанавливается ограничение на
глубину. Ни одна вершина, глубина которой превышает огра¬
ничения, не порождается.
Описанных выше методов слепого поиска достаточно для
нахождения путей от начальной вершины к целевой. Во многих
случаях допустимо использование дополнительной информации,
зависящей от вида решаемой задачи и помогающей сократить
поиск. Этот класс процедур поиска называется эвристиками
о Если граф, подлежащий исследованию, является деревом, то ни один
из преемников, созданных на шаге 6, не был создан ранее. Таким образом,
вершины из набора М уже не зходят либо в OPEN, либо в CLOSED. В этом
случае каждая вершина из набора М добавляется в OPEN и размещается в ис¬
следуемом дереве в качестве преемника п. Если граф, подлежащий исследова
нию, не является деревом, возможно, что некоторые из вершин набора М уже
были созданы, т. е. они могли уже быть в OPEN или CLOSED.
2> Для обеспечения наиболее раннего завершения целевые вершины
должны быть занесены в начало OPEN.
523
или наилучшим поиском первого типа, а используемая инфор¬
мация, зависящая от вида решаемой задачи, называется эври¬
стической информацией. На шаге 8 процедуры поиска на графе
эвристическая информация может быть использована для упо¬
рядочивания вершин в списке OPEN так, чтобы поиск осуще¬
ствлялся среди наиболее перспективных секторов графа. Рас¬
смотрим важный метод, который использует функцию оценива¬
ния для вычисления «перспективы» вершин. Вершины в списке
OPEN упорядочиваются по мере увеличения значения функции
оценивания. Связи среди вершин устанавливаются произвольно,
но всегда в пользу целевых вершин. Результаты поиска суще¬
ственно зависят от выбора функции оценивания. Полезный ал¬
горитм наилучшего поиска первого типа, так называемый
А*-алгоритм, приводится ниже.
Пусть функция оценивания для любой вершины п имеет
следующий вид:
/ (п) — g (п) + h (п),
где g(n)—мера стоимости прохода от начальной вершины
к вершине п, a h(n)—оценка стоимости прохода от вершины п
к целевой вершине. Таким образом, f(n) представляет собой
оценку стоимости прохода от начальной вершины к целевой
вдоль пути, проходящего через вершину п.
А*-алгоритм
Шаг 1. Вначале список OPEN содержит только начальную
вершину. Присвоить g значение 0, h — произвольное значение,
a f—присвоить значение h-\- 0 или h. Список CLOSED счи¬
тать пустым.
Шаг 2. До тех пор, пока целевая вершина не будет найдена,
повторять следующую процедуру: если в списке OPEN нет ни
одной вершины, выдать сообщение об аварийном останове.
В противном случае выбрать из OPEN вершину с наименьшим
значением f. Присвоить ей имя BESTNODE (наилучшая вер¬
шина), удалить из списка OPEN и занести в список CLOSED.
Проверить, является ли BESTNODE целевой вершиной. Если
да, то выход на останов с сообщением о решении (либо выдать
целевую вершину BESTNODE, либо путь между начальной вер¬
шиной и целевой вершиной BESTNODE). В противном случае
создать вершины — преемники вершине BESTNODE, но не
определять указатели между вершиной BESTNODE и верши-
нами-преемниками. (Сначала необходимо установить, имеются
ли среди них ранее созданные вершины.) Для каждой такой
вершины, имеющей имя SUCCESSOR (преемник), выполнить
следующее:
а) Установить указатель от вершины SUCCESSOR к BEST¬
NODE. Такие обратные связи дают возможность восстановить
путь в случае нахождения решения.
624
б) Вычислить ^(SUCCESSOR = g(BESTNODE)-f-стоимость
прохода от BESTNODE к SUCCESSOR.
в) Проверить, совпадает ли SUCCESSOR с какой-либо вер¬
шиной из списка OPEN (т. е. была ли она уже создана, но не
обработана). Если да, назовем эту вершину OLD. Поскольку
данная вершина уже существует в графе, мы можем отбросить
SUCCESSOR и добавить OLD в список преемников BEST¬
NODE. Теперь решим, надо ли определять путь от вершины
OLD к BESTNODE. Поскольку OLD и SUCCESSOR по суще¬
ству являются одной и той же вершиной, надо сравнить их
значение g. Если путь к OLD через его предшественника де¬
шевле, чем путь к SUCCESSOR через BESTNODE, то ничего
не надо делать. Если путь к вершине SUCCESSOR дешевле,
вновь устанавливаем путь от вершины OLD к BESTNODE,
присваиваем значению g(OLD) значение, соответствующее бо¬
лее дешевому пути, и вычисляем новое значение /(OLD).
г) Если вершина SUCCESSOR не входит в список OPEN,
проверяем, входит ли она в список CLOSED. Если входит, этой
вершине из списка CLOSED присваиваем имя OLD и заносим
ее в список преемников вершины BESTNODE. Проверяем так
же, как на шаге 2в, какой путь лучше — новый или старый, и
аналогично определяем путь и значения fug. Если мы только
что определили лучший путь к вершине OLD, мы должны рас¬
пространить улучшение на всех преемников этой вершины. Та¬
ким образом, вершина OLD определяет своих преемников,
а эти преемники в свою очередь определяют своих преемников.
Так продолжается до тех пор, пока каждая ветвь не закончится
вершиной, которая либо находится в списке OPEN, либо не
имеет преемников. Чтобы распространить новую стоимость
вниз, осуществляем поиск первого типа в глубину на дереве,
начинающемся с вершины OLD, меняем для каждой вершины
значение g (и соответственно значение /). Для каждой ветви
графа поиск заканчивается, когда вы либо достигли вершины,
не имеющей преемников, либо вершины, для которой уже был
найден эквивалентный или же лучший путь. Это условие легко
проверить. Поскольку мы идем вниз к вершине, проверяем,
имеется ли путь от предшественника вершины к ней. Если да,
продолжаем распространение. Если нет, значение g уже опре¬
деляет лучшую часть пути. Поэтому на этом шаге распростра¬
нение может быть прекращено. Но, возможно, что с новым
значением g, полученным далее, путь, вдоль которого мы следо¬
вали, окажется лучшим, чем путь через текущего предшествен¬
ника. Поэтому они оба сравниваются между собой. Если путь
через текущего предшественника все же лучше, прекращаем рас¬
пространение. Если же путь, вдоль которого распространялось
улучшение, все же лучше, вновь определяем предшественника и
продолжаем распространение.
525
д) Если вершина SUCCESSOR не находится ни в OPEN,
ни в CLOSED, заносим ее в OPEN и добавляем в список преем¬
ников вершины BESTNODE.
Вычисляем f (SUCCESSOR) =
= / (SUCCESSOR) + h (SUCCESSOR).
Легко видеть, что А*-алгоритм представляет собой алгоритм
поиска на графе, который использует f(n) в качестве функции
оценивания для упорядочивания вершин. Отметим, что, по¬
скольку g(n) и h(n) складываются, важно, чтобы значение h(n)
являлось мерой стоимости прохода от вершины п к целевой
вершине.
Целью процедуры поиска является определение пути в про¬
странстве состояний от начального состояния к целевому.
Имеются два направления, в которых такой поиск может осу¬
ществляться: 1) вперед из начального состояния и 2) назад из
целевого состояния. В модели производящей системы имеется
набор правил как для вывода набора промежуточных состояний
вперед, так и для вывода назад. При выводе вперед левые
части, или предусловия, соответствуют текущим состояниям,
а правые части (результаты) используются для генерации но¬
вых вершин до тех пор, пока не будет достигнуто целевое со¬
стояние. При выводе назад правые части соответствуют теку¬
щим состояниям, а левые части используются для генерации
новых вершин, представляющих собой новые целевые состоя¬
ния, которые необходимо достичь. Это продолжается до тех
пор, пока одно из целевых состояний не будет соответствовать
начальному состоянию.
Описав процесс поиска как последовательное применение
ряда правил, легко создать алгоритмы поиска, не зависящие от
направления поиска. Конечно, имеется возможность комбина¬
ции поиска вперед и назад. В этом случае одновременно отыс¬
кивается путь как из целевого состояния в конечное, так и путь
из конечного состояния в целевое до тех пор, пока они не пере¬
секутся. Такая стратегия называется стратегией двунаправлен¬
ного поиска.
10.3. ПРОБЛЕМА СВЕДЕНИЯ ЗАДАЧИ К ПОДЗАДАЧАМ
Другой подход к решению задачи основан на проблеме све¬
дения задачи к подзадачам. Основная идея заключается в раз¬
биении задачи на подзадачи, которые в свою очередь разби¬
ваются на подзадачи, и так до тех пор, пока исходная задача
не сведется к ряду тривиальных задач, имеющих очевидные
решения. Оператор сведения задачи преобразует описание за¬
дачи в описание ряда подзадач. К данному описанию задачи
могут применяться многие операторы. Применение каждого
526
оператора также приводит к необходимости решения ряда под¬
задач. Поскольку не все из них в свою очередь могут быть
решены, необходимо применять несколько операторов для ре¬
шения всех возникающих подзадач. Это снова требует органи¬
зации процесса поиска.
Разбиение задачи на ряд подзадач обычно представляется
в виде графа. Предположим, что задачу А можно решить, если
будут решены три подзадачи В, С и D (рис. 10.9). Дуги, веду¬
щие из вершины А к вершинам В, С и D, назовем И-дугами.
Тогда вершины В, С и D называются И-вершинами. С другой
Рис. 10.9. Граф И/ИЛИ. ' ' ' ’
стороны, если задача В может быть решена в случае решения
одной из подзадач Е и F, то в этом случае будем использовать
дугу ИЛИ. Полученный граф называется графом И/ИЛИ
(рис. 10.9). Легко видеть, что методы поиска, рассмотренные
в разд. 10.2, сводятся к графу И/ИЛИ, с помощью которого мы
хотим найти единственный путь из начальной вершины к не¬
левой.
Пример. Граф И/ИЛИ для задачи «Обезьяна и бананы» при¬
веден на рис. 10.10. В данном случае задача представляется
тройкой (S,F,G), где 5 — набор начальных состояний, F — на¬
бор операторов и G — набор целевых состояний. Поскольку для
данной задачи набор операторов F является постоянным и на¬
чальное состояние представляется в виде (А,0,В,0), то можно
исключить символ F и описать задачу как ({Л, 0, В, 0}, G).
Один из путей выбора операторов сведения задачи заключается
в применении понятия различие. Короче говоря, различие для
тройки (S, F, G) представляет собой список причин, по которым
ни один из элементов набора S не входит в набор G. (Если
527
о 'ГoWW
Л
яЗ
X
яЗ
хо
X
яЗ
VO
о
к
4
t=C
5
S
К
*&
СЗ
а-
U
хотя бы один из элементов набора S входит в G, задача ре¬
шается и различие отсутствует.)
В примере из разд. 10.2.1 F = {fu f2, f3, М = (goto(G),
pushbox(l/), climbbox, grasp}. Сначала мы вычисляем различие
для начальной задачи. Дело в том, что список (Л,0, В,0) не
может удовлетворять решению, поскольку в нем последний
элемент не равен 1.
Оператором, уменьшающим это различие, является опера¬
тор f4 = grasp. Используя f4 для разбиения начальной задачи,
мы получаем следующую пару подзадач: ({(Л, О, В, 0)},Gf,) и
({Msi)} О), где Gf4 представляет собой набор описаний состоя¬
ний, к которым применим оператор /:4, и Si — состояние, входя¬
щее в Gf4, полученное при решении подзадачи ({(Л, О, В, 0)}).
Gft).
Для решения задачи ({(Л, 0, В, 0)}, Gf,) сначала надо вы¬
числить ее различие. Состояние, описываемое ({(Л, 0, В, 0)}, Gf,),
не входит в Gf„ поскольку:
1) ящик не находится в точке С;
2) обезьяна не находится в точке С;
3) обезьяна не находится на ящике.
Операторами для уменьшения этих различий являются
f2 = pushbox(С), fi-goto(C) и /3 = climbbox соответственно.
Применяя оператор f2, получаем подзадачи ({(Л, 0, В, 0)}, Gf2),
и (Ы^'п), Gf2), где Sue Gf2 вытекает из решения первой под¬
задачи.
Поскольку сначала должна быть решена подзадача
({(Л, 0, В, 0)}, Gf2), то для нее вычисляется различие. Различие
состоит в том, что обезьяна не находится в точке В и оператор,
который устраняет его, есть fi = goto(B). Этот оператор за¬
тем используется для сведения задачи к паре подзадач
({(Л, 0, В, 0)}, Gfi) и (fi (sin), Gf2). Теперь первая из этих за¬
дач является элементарной. Ее различие равно 0, поскольку
(Л, 0, В,0) входит в область определения оператора )ь с по¬
мощью которого можно решить эту задачу. Отметим, что
(jm) = (В, 0, В, 0), поэтому возникает вторая задача
({(В, 0, В, 0)}, Gf,). Эта задача также является элементарной,
поскольку (В, 0, В, 0) входит в область определения оператора
f2, с помощью которого можно решить эту задачу. Процесс по¬
следовательного решения подзадач должен продолжаться до
тех пор, пока исходная задача не будет решена.
В графе И/ИЛИ одна из вершин, называемая начальной
вершиной состояния, соответствует описанию исходной задачи.
Вершины графа, соответствующие описаниям элементарных
задач, называются конечными вершинами. Целью процесса по¬
иска на графе является доказательство того, что задача, соот¬
ветствующая начальной вершине, имеет решение, т. е. что на¬
чальная вершина является решаемой. Рекурсивное определе¬
529
ние решаемой вершины может быть дано следующим образом:
1. Конечные вершины являются решаемыми вершинами, по*
скольку они соответствуют элементарным задачам.
2. Если вершина, не являющаяся конечной, имеет преемни¬
ков типа ИЛИ, она является решаемой вершиной только тогда,
когда по меньшей мере один из ее преемников является ре¬
шаемым.
3. Если вершина, не являющаяся конечной, имеет преемни¬
ков типа И, она является решаемой только тогда, когда все пре¬
емники являются решаемыми.
Граф решения, который является подграфом, состоящим из
решаемых вершин, показывает, что начальная вершина является
решаемой. Целью производящей системы или процесса поиска
является нахождение графа решения от начальной вершины
к конечным вершинам. Граф решения, определяющий путь от
вершины п к набору вершин N графа типа И/ИЛИ, в некото¬
рой степени аналогичен пути на обычном графе. Он может
быть получен, если начало пути определить в вершине п и
каждый раз выбирать только одну выходящую из нее дугу. Для
каждой вершины-преемника, к которой направлена эта дуга,
мы продолжаем выбирать только одну выходящую из нее дугу.
И так до тех пор, пока в конце концов каждый преемник, соз¬
данный таким образом, не войдет в набор N.
Для определения решений на графе И/ИЛИ нам необходим
алгоритм, подобный алгоритму А*, но способный выбирать
И-дуги соответствующим образом. Такой алгоритм для реали¬
зации эвристического поиска на графе И/ИЛИ называется
АО*-алгоритмом.
АО*-алгоритм
Ш аг 1. В G входит только одна вершина, соответствующая
начальному состоянию. (Назовем эту вершину INIT.) Вычис¬
ляется А(IN IT).
Шаг 2. До тех пор пока INIT не будет помечена как
SOLVED или значение /z(INIT) не превзойдет FUTILITY, повто¬
рять следующие действия:
а) Идти из вершины IN IT вдоль помеченных дуг и выбрать
для процесса расширения одну из вершин на этом пути, ранее
не подвергавшуюся расширению. Назвать выбранную вершину
NODE.
б) Создать преемников вершины NODE. Если их нет, при¬
своить FUTILITY и h значение NODE. Это означает, что NODE
не является решаемой вершиной. Если преемники имеются для
каждого из них (названного SUCCESSOR), который также не
является предшественником NODE, делать следующее:
1) добавить SUCCESSOR к G;
2) если SUCCESSOR является конечной вершиной, поме¬
тить его SOLVED и присвоить его значению h значение 0;
530
3) Если SUCCESSOR не является конечной вершиной, вы¬
числить его значение h.
в) Распространять вновь полученную информацию по графу
следующим образом:
Пусть 5 является набором вершин, которые были помечены
SOLVED или значения h которых были изменены. И поэтому
необходимо знать-значения h вершин их предшественников. Нач¬
нем рассмотрение 5 с вершины NODE. До тех пор пока 5 не
станет пустым, повторять следующие действия:
1) Выбрать из S вершину, у которой ни один из потомков,
входящих в G, не входит в S. ( Другими словами, надо удосто¬
вериться, что для каждой вершины, подлежащей обработке, она
будет обработана раньше любого из ее предшественников.) На¬
зовем эту вершину CURRENT и устраним ее из S.
2) Вычислить стоимость каждой дуги, выходящей из
CURRENT. Стоимость дуги равна сумме значений h каждой вер¬
шины на конце дуги плюс стоимость самой дуги. Присвоить ново¬
му значению h вершины CURRENT минимальное значение среди
только что вычисленных стоимостей дуг, выходящих из нее.
3) Отметить лучший путь из вершины CURRENT, пометив
дугу, которая имеет минимальную стоимость, вычисленную на
предыдущем шаге.
4) Пометить вершину CURRENT SOLVED, если все вершины,
связанные с ней через вновь помеченную дугу, были помечены
SOLVED.
5) Если CURRENT уже была отмечена SOLVED или если
стоимость вершины CURRENT только что была изменена, до¬
бавляем к S всех предшественников вершины CURRENT.
Отметим, что вместо двух списков OPEN и CLOSED, кото¬
рые были использованы в А*-алгоритме, в АО*-алгоритме при¬
меняется единая структура G. Эта структура представляет со¬
бой часть графа поиска, которая к этому времени уже была
создана. Каждая вершина на графе указывает как вниз (на
своих преемников), так и вверх (на своих непосредственных
предшественников). Каждой вершине графа присвоено значение
h для оценивания стоимости пути от нее самой к набору вер¬
шин-решений. Значение g (стоимость прохода от начальной
вершины к текущей) не сохраняется как в А*-алгоритме, по¬
скольку h служит оценкой качества вершины. Величина
FUTILITY необходима. Если оцениваемая стоимость решения
становится больше, чем значение FUTILITY, поиск прекраща¬
ется. Значение FUTILITY должно быть выбрано так, чтобы со¬
ответствовать порогу, за пределами которого любое решение,
даже если бы оно могло быть найдено, было бы слишком гро¬
моздким, чтобы его можно было применять на практике.
Алгоритм поиска в ширину первого типа может быть полу¬
чен из АО*-алгоритма, если h = 0.
531
10.4. ПРИМЕНЕНИЕ ЛОГИКИ ПРЕДИКАТОВ
Для решения задач, связанных с управлением робота,
должна быть реализована возможность представления исправ¬
ления и преобразования наборов утверждений. Для этого может
быть использован язык логики или, более точно, язык логики
предикатов первого порядка. Логический формализм представ¬
ляется привлекательным, поскольку является мощным средством
выведения новых знаний из старых (методом математической
дедукции). По этому методу новое утверждение истинно, если
можно доказать, что оно следует из утверждения, о котором уже
известно, что оно истинно. Эту идею доказательства, можно при¬
менять для получения ответов на вопросы и решения задач в
робототехнике Д
Рассмотрим сначала возможности логики высказываний как
способа представления знаний. Она имеет то преимущество, что
ее аппарат достаточно прост и для представления знаний име¬
ются соответствующие операции. На языке логики высказыва¬
ний легко описывать явления окружающего мира в виде набора
правильно построенных формул (ППФ). Например:
Идет дождь.
RAINING
Светит солнце.
SUNNY
Стелется туман.
FOGGY
Если идет дождь, то не светит солнце.
RAINING-э— SUNNY
Используя эти утверждения, мы, например, можем вывести,
что не светит солнце, если идет дождь. Но очень быстро мы
сталкиваемся с ограничениями логики высказываний. Предпо¬
ложим, мы хотим на ее языке представить очевидный факт, кон¬
статируемый следующим предположением:
ДЖОН — человек ... . ,!П
Мы можем написать
JOHNMAN
Но аналогично можно сказать
Пол — человек
или
PAULMAN
*> Читателям, не знакомым с логикой высказывания и логикой предика¬
тов, мы можем рекомендовать просмотреть введение в логику прежде, чем
читать оставшуюся часть главы. Читатели, желающие более полно ознако¬
миться с материалом этого раздела, должны просмотреть книгу [43].
532
что могло бы быть совершенно другим утверждением и нам
было бы трудно вывести какое-либо заключение о степени схо¬
жести между Джоном и Полом.
Было бы намного лучше представить это в виде:
MAN(JOHN)
MAN(PAUL)
поскольку теперь структура представления отражает структуру
самих знаний. Возникает еще больше трудностей, если мы по¬
пытаемся на языке логики высказываний описать следующее
утверждение: «все люди смертны», так как потребуются утверж¬
дения для представления соотношений количества, если мы не
собираемся по отдельности описывать смерть каждого извест¬
ного человека.
Поэтому придется воспользоваться аппаратом логики пре¬
дикатов, поскольку на ее языке можно описывать события, не
поддающиеся описанию на языке логики высказываний. На
языке логики предикатов можно представить события окружаю¬
щего мира в виде ППФ. Но главная причина выбора логики
предикатов состоит в том, что с ее помощью можно не только
представить знания, но и получить из них новые знания.
В этом разделе мы кратко опишем язык и методы логики
предикатов. Основными компонентами языка логики предика¬
тов являются: предикаты, переменные, функции и константы.
Предикаты используются для установления связи в рассужде¬
ниях. Например, для описания факта «Робот в комнате г\» до¬
статочно простой формулы-атома:
INROOM(ROBOT,r,)
В этой формуле ROBOT и г\ являются константами. Обычно
формулы-атомы состоят из предикатов и термов. Константа
является простейшим видом терма для представления объектов
или вещей при рассуждениях. Переменные также являются тер¬
мами для описания объектов, относящихся к некоторому классу,
как, например, INROOM(x,у). Функции применяются для опре¬
деления связей между объектами, подлежащими рассмотрению.
Например, функция mother (мать) применяется для установле¬
ния связи между человеком и его (ее) родителем по материн¬
ской линии. Можно воспользоваться следующей формулой-ато¬
мом для представления утверждения «Мать Джона замужем за
отцом Джона»:
MAR R lEDffa ther(JOHN), mother(JOHN)].
Формула-атом имеет значение И (истина), когда соответ¬
ствующее утверждение истинно, и Л (ложь), когда соответ¬
ствующее утверждение ложно. Таким образом INROOM(RO-
533
ВОТ, rt) имеет значение И, a INROOM(ROBOT, г2) имеет зна¬
чение Л. Формулы-атомы являются элементарными формулами,
из которых строятся более сложные утверждения на языке ло¬
гики предикатов. Из формул-атомов можно строить более слож¬
ные ППФ, применяя операции А (и) V (или) и =>- (следова¬
ние). Формулы, построенные путем связи одних формул с дру¬
гими символом Д, называются конъюнкциями, а символом
V—дизъюнкциями. Символ =>■ применяется для представле¬
ний утверждения «если—тогда». Например, «если обезьяна на
ящике, она схватит бананы»:
ON(MONKEY, BOX) =>GRASP(MONKEY, BANANAS).
Символ ~ означает отрицание, т. е. он изменяет значение ППФ
с И на Л и наоборот. (Истинное) утверждение «робот не на¬
ходится в комнате г2» может быть представлено в виде
~ INROOM(ROBOT,r2)
Иногда формула-атом Р(х) имеет значение И для всех воз¬
можных значений х. Это свойство описывается с помощью кван¬
тора всеобщности (Vx), который ставится перед Р{х). Если
Р(х) имеет значение И хотя бы для одного значения х, это свой¬
ство представляется с помощью квантора существования (Зх),
который ставится перед Р{х). Например, утверждение «все ро¬
боты серые» можно выразить в виде
(Vx) [ROBOT (х) =*■ COLORS,GRAY)],
а «в комнате Г\ находится объект»
(Зх) IN ROOM (х,Г[)
Если Р и Q являются ППФ, истинные значения выражений,
составленных из этих формул, приводятся ниже в таблице:
р
Q
р V Q
Р A Q
Р=> Q
~ р
и
И
И
И
и
л
л
И
и
Л
и
и
и
Л
и
л
л
л
л
л
л
л
И
и
Если два истинных значения ППФ одинаково интерпрети¬
руются, эти ППФ являются эквивалентными. Используя таб¬
лицу истинных значений, мы можем установить следующие
эквивалентности:
~~ Р) эквивалентно Р
Р V Q эквивалентно ~ Р => Q
534
Законы де Моргана: •" ;
~ (Р V Q) эквивалентно ~ Р А ~ Q
~(PAQ) эквивалентно ~PV~Q
Дистрибутивные законы:
Р A(QV R) эквивалентно (Р Л Q)V (Р Л R)
PV(QAR) эквивалентно (Р\/ Q)A (PA R)
Коммутативные законы:
Р A Q эквивалентно Q Л Р
PV Q эквивалентно QV Р
Ассоциативные законы;
(PAQ)VP эквивалентно PA(QAP)
(PVQ)VP эквивалентно PV(QVP)
Контропозитивный закон:
Р => Q эквивалентно ~ Q =>- ~ Р
И, кроме того, мы имеем:
~(Зх)Р(х) эквивалентно (V-V) [~ Р(х)|
~ (Vx)P(x) эквивалентно (Зх)[~Р(х)]
В логике предикатов имеются правила вывода, которые
можно применять к определенным ППФ и наборам ППФ для
получения новых ППФ. Важным правилом вывода является
модус поненс, являющийся правилом вывода ППФ W2 из ППФ
вида W\ и Wi=>W2. Другое правило вывода — универсальная
специализация позволяет выводить ППФ W (А) из ППФ
(Vx)W(x), где А является константой. Используя совместно
модус поненс и универсальную специализацию, можно, напри¬
мер, вывести ППФ W2(A) из ППФ (Vx) [Г, (х) => W2(x) ] и
НМЛ).
В логике предикатов ППФ формулы, полученные с помощью
правил вывода, называются теоремами, а последовательность
правил вывода — доказательством теоремы. В искусственном
интеллекте некоторые задачи могут быть рассмотрены как за¬
дачи доказательства теорем. Последовательность правил вы¬
вода дает решение требуемой задачи.
Пример. Пространство состояний задачи «Обезьяна и бана¬
ны» можно описать ППФ. Мы предполагаем, что используются
3 оператора: grasp (захват), clinibbox (прыжок на ящик),
pushbox (передвижение ящика).
Пусть начальное состояние s0 описывается следующим на¬
бором ППФ:
~ ONBOX
АТ(ВОХ,Р)
AT(BANANAS; С) J
~НВ
535
Предикат ONBOX имеет значение И (истинно), только когда
обезьяна находится на вершине ящика, а предикат НВ имеет
значение И, только когда у обезьяны имеются бананы.
Действия трех операторов можно описать следующими ППФ:
1) grasp
(Vs) (ONBOX (s) A AT (BOX, C, s) =► HB(grasp (s))}
что означает: «для любого s, если обезьяна находится на ящике
и ящик расположен в точке С в состоянии s, обезьяна завладеет
бананами, если оператор grasp применить к состоянию s».
Отметим, что значением оператора grasp(s) является новое
состояние после того, как этот оператор был применен к со¬
стоянию s.
2) climbbox
(Vs) (ONBOX(climbbox (s))}
что означает: «для любого s обезьяна будет находиться на
ящике в состоянии, которое получается в результате примене¬
ния оператора climbbox к состоянию s».
3) pushbox
(VxVs) {~ ONBOX (s) =*>AT(BOX, x, pushbox (x, s))}
что означает: «для любого х и s, если обезьяна не находится
на ящике в состоянии s, ящик будет в положений х в состоя¬
нии, полученном в результате применения оператораpushbox (х)
к состоянию S».
Целевой ППФ является
(3s) НВ (s)
Чтобы показать, что обезьяна может достать бананы, эту задачу
можно решить как доказательство теоремы [216].
10.5. АНАЛИЗ КОНЕЧНЫХ ЗНАЧЕНИИ
Выше мы рассмотрели несколько методов поиска вперед и
назад, но для конкретной задачи должно быть выбрано одно
из двух возможных направлений. Однако для решения задачи
часто применяется поиск в двух направлениях. Такая смешан¬
ная стратегия давала бы возможность решить основные части
задачи методом поиска вперед. Затем можно было бы идти на¬
зад, чтобы решить вспомогательные задачи, возникающие при
соединении вместе отдельных частей решения. Это можно осу¬
ществить, применяя метод анализ конечных значений. Метод
основывается на установлении различия между текущим и це¬
левым состояниями. Если различие установлено, необходимо
найти оператор, который может его уменьшить. Возможно, что
этот оператор неприменим к текущему состоянию. Поэтому воз¬
536
никает подзадача получения состояния, в котором он может
применяться. Также возможно, что оператор не приводит точно
к целевому состоянию. Тогда мы имеем вторую подзадачу по¬
лучения состояния, применив к которому данный оператор, мы
перейдем в целевое состояние.
Если различие определено правильно и результат примене¬
ния оператора действительно уменьшает это различие, легче
решить две подзадачи, чем исходную задачу. Анализ конечных
значений рекурсивно применяется к подзадачам. С этой точки
зрения анализ конечных значений можно было бы рассматри¬
вать как метод сведения задачи к подзадачам. Для того чтобы
нацелить систему на решение больших задач, различиям долж¬
ны быть присвоены приоритетные уровни. Различия с высоким
приоритетом рассматриваются раньше, чем различия с низким
приоритетом. Наиболее важной структурой данных, используе¬
мой в анализе конечных значений, является «цель». Цель пред¬
ставляет собой кодировку текущей проблемной ситуации, же¬
лаемой ситуации и историю прежних попыток превращения те¬
кущей ситуации в желаемую. Имеются цели трех основных
типов:
Тип 1. Преобразование объекта А в объект В.
Тип 2. Уменьшение различия между объектом А и объектом
В посредством модификации объекта А.
Тип 3. Применение оператора Q к объекту А.
Для достижения целей указанных типов имеются соответ¬
ствующие процедуры (рис. 10.11), которые могут быть интер¬
претированы как операторы сведения исходной задачи к под¬
задачам, соответствующим И-вершинам (в случае преобразо¬
вания объекта или применения оператора) либо ИЛИ-вершинам
(в случае уменьшения различия).
Первой программой, применяющей анализ конечных значе¬
ний, был общий решатель задач GPS (general problem solver).
Причиной его создания послужило частое использование этого
метода для решения задач. Для GPS исходной задачей является
достижение цели преобразования объекта А в объект В, где А
является исходным объектом или состоянием, а В — желаемым
объектом или целевым состоянием. GPS прекращает работу,
если для цели преобразование объекта нет различия между А
и В или же для цели применение оператора оператор Q непо¬
средственно переводит А в В. Для цели уменьшение различия
процесс вычисления может завершиться остановом в ситуациях,
когда нельзя применить ни один из имеющихся операторов.
При преобразовании объекта А в объекте В для обнаружения
различия между двумя объектами используется процесс срав¬
нения. В первую очередь уменьшаются различия с более высо¬
кими приоритетами. Операторы, соответствующие уменьшению
каждого различия, заносятся в таблицу различие — оператор.
537
Рис. 10.11. Методы анализа конечных значений.
Рассмотрим простую задачу, операторы для решения которой
приводятся ниже:
Предусловия
Оператор
Результат
1. AT (ROBOT, OBJ)
Л LARGE (OBJ)
ACLEAR (OBJ)
A HANDEMPTY
2. AT (ROBOT, OBJ)
A SMALL (OBJ)
3 None
4 AT (ROBOT OBJ)
5 HOLDING (OBJ)
6. AT (ROBOT, OBJ2)
A HOLDING (OBJ 1)
PUSH (OBJ, LOC)
>
CARRY (OBJ, LOC)
>
WALK (LOC)
PICKUP (OBJ)
PUTDOWN (OBJ)
PLACE (OBJ\, OBJ2)
AT (OBJ, LOC)
A AT (ROBOT, LOC)
AT (OBJ, LOC)
A AT (ROBOT, LOC)
AT (ROBOT, LOC)
HOLDING (OBJ)
~ HOLDING (OBJ)
ON (OBJ\, OBJ2)
538
1
где: PUSH (OBJ, LOC) — переместить объект OBJ в положение LOC;
CARRY (OBJ, LOC) — переместить объект OBJ в положение LOC;
WALK (LOC) — переместить робот в положение LOC;
PICKUP (OBJ) — поднять объект OBJ',
PUTDOWN (OBJ) — опустить объект OBJ',
PLACE (OBJi, OBJ2) — разместить объект OBJl на объекте ОД/2.
Утверждения в предусловиях и результатах действия операторов имеют
следующий смысл:
Робот ROBOT и объект OBJ в одном месте
Объект OBJ в месте LOC
Робот ROBOT в месте LOC
Робот ROBOT и объект OBJ2 в одном месте
Объект OBJ большой
Объект OBJ маленький
На объекте OBJ нет другого объекта
В схвате робота нет объекта
Оператор не имеет предусловий
В схвате робота находится объект OBJ
В схвате робота объект ОВ/1
Объект ОВ/1 на объекте OBJ2
1. AT (ROBOT, OBJ)
2. AT (OBJ, LOC)
3. AT (ROBOT, LOC)
4. AT (ROBOT, OBJ2)
5. LARGE (OBJ)
6. SMALL (OBJ)
7. CLEAR (OBJ)
8. HANDEMPTY
9. NONE
10. HOLDING (OBJ)
11. HOLDING (OBJ 1)
12. ON (OBJ 1, OBJ2)
В таблице на рис. 10.12 отмечены случаи применения тел
или иных операторов. Заметим, что иногда могут использоваться
Различие
Оператор
PUSH
CARRY
WALK
PICKUP
PUTDOWN
PLACE
Переместить объект
в определенное по¬
ложение
Переместить робот
+
+
+
ъ
: Т '■/
в определенное по¬
ложение
Снять один объект
с другого объекта
Положить один объ¬
ект на другой
Освободить схват
робота от объекта
Держать объект
в схвате робота
+
+
+
+
+
Рис. 10.12. Таблица «различие — оператор».
несколько операторов, которые уменьшают данное различие,
или же один оператор может уменьшать несколько различий.
Предположим, что робот должен перенести платформу с дву¬
мя объектами на ней из одной комнаты в другую. Объекты на
платформе также можно передвигать. Основным различием
539
между начальным и целевым состояниями является расположе¬
ние платформы. Для уменьшения различия можно выбрать опе¬
ратор PUSH или CARRY. Если сначала выбирается оператор
CARRY, следует определить его предусловие. Это приводит к
двум различиям, которые должны быть уменьшены, а именно:
расположение робота и размер платформы. Расположение ро¬
бота можно изменить с помощью оператора WALK, но нет опе¬
раторов, которые могли бы изменить размер объекта, (плат¬
формы), поэтому этот вариант оказывается тупиковым. Рас¬
смотрим другой вариант, т. е. попытаемся применить оператор
PUCH. Он имеет три предусловия, два из которых определяют
различия между начальным и целевым состояниями. Поскольку
платформа предполагается большой, ни одно из предусловий не
создает различия. Робот можно перевести в требуемое положе¬
ние оператором WALK, и поверхность платформы можно осво¬
бодить, применяя дважды оператор PICKUP. Но после первого
применения оператора PICKUP попытка применить его второй
раз приводит к другому различию: схват должен быть свобод¬
ным. Для уменьшения этого различия можно использовать опе¬
ратор PUTDOWN.
Применение оператора PUCH почти приводит к целевому
состоянию. Объекты должны быть вновь размещены на плат¬
форме.
Это осуществляется с помощью оператора PLACE. Но он не
может применяться непосредственно. Должно быть устранено
другое различие, поскольку робот должен взять объекты. Это
осуществляется с помощью оператора PICKUP. Чтобы приме¬
нить оператор PICKUP, робот должен находиться в месте рас¬
положения объектов. Это различие можно уменьшить, применив
оператор WALK. Поскольку робот находится в месте располо¬
жения двух объектов, можно воспользоваться операторами
PICKUP и CARRY для передвижения объектов в другую ком¬
нату.
Очень важен порядок рассмотрения различий; например, в
первую очередь должны быть уменьшены наиболее существен¬
ные различия. В разд. 10.6 описана система STRIPS, предназна¬
ченная для решения задач роботом и использующая анализ ко¬
нечных значений.
10.6. РЕШЕНИЕ ЗАДАЧИ
Самая простая система для составления плана решения за¬
дачи роботом — производящая система, построенная на основе
описания состояния в виде базы данных. Описание состоя¬
ний и целей для задачи, решаемой роботом, может быть состав¬
лено из логических утверждений. В качестве примера рассмот¬
рим схват робота и конфигурацию объектов, показанных на
540
рис. 10.1. Эту ситуацию можно описать конъюнкцией из следую¬
щих утверждений:
CLEAR (В) На вершине объекта В ничего нет
SLEAR (С) На вершине объекта С ничего нет
N(C, А) Объект С на объекте А
ONTABLE(A) Объект А на столе
' ONTABLE(B) Объект В на столе
HANDEMPTY В схвате робота нет объекта
HOLDING (А) В схвате робота объект X
Цель заключается в построении пирамиды из объектов, в ко¬
торой объект В находится на объекте С и объект А — на объ¬
екте В. В терминах логических утверждений эта цель выглядит
следующим образом: ON (В, C)AON(A, В).
Действия робота переводят одно состояние или конфигура¬
цию рабочего пространства в другое. Один из простых и по¬
лезных методов для описания действий робота используется
системой планирования решений задачи робота, которая назы¬
вается STRIPS [78]. Для описания действий робота исполь¬
зуется набор правил. Каждое правило состоит из трех компо¬
нент. Первым из них является предусловие, которое должно
быть истинным, прежде чем правило может быть применено.
Предусловие обычно составляет левую часть правила. Вторым
компонентом является список предикатов, называемый списком
исключений. Когда правило применяется к описанию состояний
или базе данных, то из списка исключений, находящегося в
базе данных, проводится исключение соответствующих утверж¬
дений. Третий компонент называется списком добавлений. Когда
применяется правило, утверждение вводится в список добав¬
лений, расположенный в базе данных. Описание действия
MOVE для примера построения пирамиды из объектов А, В, С
приводится ниже:
MOVE(X, Y, Z): Перемещать объект X от Y к Z
Предусловие: CLEAR(X), CLEAR(Z), ON(X, Y)
Список исключений: ON(X, Y), CLEAR(Z)
Список добавлений: ON(X, Z), CLEAR(Y)
Если MOVE является единственным имеющимся в наличии
оператором или действием робота, в этом случае генерируется
граф (или дерево), показанный на рис. 10.2.
Рассмотрим более подробно пример работы системы STRIPS
е исходным состоянием базы данных, приведенном на рис. 10.1,
и 4 действиями или операциями:
1. PICKUP (X)—поднять объект X
Предусловие и список исключений: ONTABLE(X), CLEAR (X),
HANDEMPTY
Список добавлений: HOLDING(V)
2. PUTDOWN(X)—опустить объект X
Предусловие и список исключений: HOLDING (X)
(
541
Список добавлений: ONTABLE(J), CLEAR(J), HANDEMPTY
3. STACK(Y, У)—положить объект X на объект У
Предусловие и список исключений: HOLDING (A), CLEAR (У)
Список добавлений: HANDEMPTY, ON(A, У), CLEAR(A)
4. UNSTACK(А, У) — снять объект А с объекта У
Предусловие и список исключений: HANDEMPTY, CLEAR (А),
ON (А, У)
Список добавлений: HOLDING(A), CLEAR(y)
Предположим, что нашей целью является ON (б, С) Л
Л ON (А, В). Начиная работу с описания начального состояния,
CLEARM1
ONTABI.EM)
CLEAR*/?)
ONTABLE(S)
CLEARiO
ONTABLH(C)
HANDEMPTY
puldow п (»)
pickup(C)
pickup(Aj
f putdown(C)
puldownM/
Cl-hARM)
CLEARlC)
CLEAR*»)
CLbAR(C)
CLEAR*/?)
CLEARiO
HOLDINGS
HOl.DJNGlO
HOLDING*/))
ONTABLEM)
ONTABLEM)
ONTABLE*»)
ONTaBLE(C)
, -
ONTABLE*»!
ONTABLEtO
wacltP с
pickupMi
pickup(C)
piKdcmn* 4)
0N<»O
CLEAR*/?)
HOLDINGM)
ONTABLEiO
puldown(C)
pickupM)
ON< B.A)
CLEAR*»)
HOLDJNG(C)
ONTABLF-( 4)
stack(C«)
unstackM.»)
pickup(S)
puldown(A)
ON|C.B>
Cl EAR(C)
HOLDINGt.4)
ONTABLE*»!
unsiack(CB)
stack*/1.0
■*■/7' 44
L^Vunstack(,TC|
imsiackM,»)
CLEARM)
CLEARlC)
CLEARM)
CLEAR*»)
CLEAR*»)
clear*o
ON(B.O
ON*». 4)
ON(C.S)
ONiCM)
ONM.O
ONM.B)
CLEAR*/?)
CLEAR*/?)
CLEARiO
SO
CLEARiO
CLEARM)
clear*/*)
ONTABI.EM)
ONTABLEM)
ONTABLEM)
ONTABLEM)
ON TABLE*»)
ONTABLE*»)
ONTABLEiO)
ONTABLE*C)
ONTABLE*»)
ONTABLF.f»)
ONTABLEiO
ONTABLE(C)
HANDEMPTY
HANDEMPTY
HANDEMPTY
HANDEMPTY
HANDEMPTY
HANDEMPTY
puidown*»)
pickup*»)
ON*C\/))
Cl.EAR(C)
HOLDING*»)
ONTABl.EM'
3tack*».C)
unstackM.C)
pickup* C;
putdown*»)
ON*/).О
clearm»
MOLDING*»)
ONTABLE(Ci
unstack*».О
stack(fiM)
putdowp* О
ONM.B)
CLEAR*/))
MOLDING(C)
ONTABLE*»)
stackfC./))
nj)ack*B,/)i
unstack(C.<4>
CLEARM)
CLbAR«C)
CLEAR*/))
CLEAR*»)
CLEAR*»)
CLEAR(C)
(WtAB)
ON/C»)
ONM О
ONfB.C)
ON(B.A)
ONfC.At
ONi»,C)
ON*». A)
ON*C.»>
ON*CM>
ONIA.C)
ONM.B)
ONTABl.ElO
ONTABLE*-*)
ONTABLE*»)
ONTABLE*/))
ONTABLE/C)
ONTABLE*»)
HANDEMPTY
HANDEMPTY
HANDEMPTY
HANDEMPTY
HANDEMPTY
HANDEMPTY
Рис. 10.13. Пространство состояний для задачи робота.
приведенного на рис. 10.1, мы получаем полное пространство
состояний (рис. 10.13) и путь (решение) между начальным и
целевым состояниями, отмеченный полужирными линиями.
Последовательность действий для решения задачи имеет вид
{UNSTACK(C, A), PUTDOWN(С), PICKUP(6), STACK(6, С),
542
PICKUP (Л), STACK (Л, В)} и называется «планом» достиже¬
ния цели.
Если системе известно, как каждый оператор изменяет со¬
стояние рабочего пространства или базы данных и известны
предусловия оператора, который должен выполняться, она мо¬
жет применять анализ конечных значений для решения задачи.
Короче говоря, .по этому методу рассматриваются различия
между текущими и целевыми состояниями и предпринимается
попытка найти оператор, который уменьшит это различие. Та¬
ким оператором является тот, чей список добавлений содержит
формулы, которые устранили хотя бы некоторую часть этого
различия. Поиск продолжается рекурсивным образом до тех
пор, пока не будет достигнуто целевое состояние. Система
STRIPS и большинство других планировщиков используют ана¬
лиз конечных значений.
Выше мы видели, как система STRIPS составляет план для
решения конкретной задачи движения робота. Следующий шаг
заключается в обобщении плана путем замены констант новыми
параметрами. Другими словами, мы хотим расширить план до
схемы плана. Требования обобщения плана появляются в обу¬
чающихся системах. Для сохранения планов (т. е. чтобы их
части могли быть использованы в дальнейшем процессе плани¬
рования) должны быть известны предусловия и результаты
действия любой части плана. С этой целью планы хранятся
в треугольной таблице со строками и столбцами, соответствую¬
щими операторам плана. Треугольная таблица содержит струк¬
туру плана в такой форме, которая позволяет использовать
части плана при решении сходных задач.
Пример треугольной таблицы приведен на рис. 10.14. Левый
столбец назовем нулевым, тогда /-й столбец означает j-й опера¬
тор в последовательности плана. Пусть верхняя строка имеет
■номер 1. Если имеется N операторов в последовательности, пред¬
ставляющей собой план, тогда последняя строка будет иметь
номер N + 1.
Записи в (г, /)-х элементах таблицы для / > 0 и г < N + 1
являются теми утверждениями, добавленными к описанию со¬
стояния }-м оператором, которые остались в качестве предусло¬
вий i-ro оператора. Записями в (г, 0)-х элементах для г < N 1
являются те утверждения в описании начального состояния, ко¬
торые остались как предусловия i-го оператора. Записи в
(W + 1)-й строке таблицы являются предложениями в описании
первоначального состояния и предложениями, добавленными
различными операторами, которые являются компонентами
цели.
Треугольные таблицы легко строятся из описания началь¬
ного состояния, последовательности операторов и описания
цели. Эти таблицы являются четким и удобным представлением
643
для планов действия робота. Записи в строках слева от г'-го
оператора являются предусловием оператора. Записи в столбце
снизу t'-ro оператора являются предложениями того оператора,
которые требуются последующим операторам или которые яв¬
ляются компонентами цели.
г-е ядро можно получить из треугольной таблицы путем вы¬
черкивания из нее верхних i—1 строк и всех столбцов, начиная
с i-ro.
о
HANDEMPTY
CLEAR(C)
ONfC./l)
1
unslack(C,/l)
HOLDING(C)
2
puldown(C)
ONTABLE(fl)
CLEAR(fl).
HANDEMPTY
3
pickup(B)
CLEAR(C)
HOLDlNG(fl)
4
slackfB.O
Л 41
ONTABLE(/t)
CEEARM)
HANDEMPTY
5
pickupOO
CLEAR(fl)
HOLDINGS)
6
stack (A.B)
ON(fi.C)
ОЩ.4.В)
Рис. 10.14. Треугольная таблица.
На рис. 10.14 четвертое ядро обведено двойными линиями.
Записи в i-м ядре определяют условия, которые должны соот¬
ветствовать описанию состояния таким образом, чтобы последо¬
вательность, составленная из i-го и последующего операторов,
была выполнимой и приводила к цели. Таким образом, первое
ядро (т. е. нулевой столбец) содержит те условия начального
состояния, которые необходимы последующим операторам и
цели; (N 1)-е ядро (т. е. (N 1)-я строка) содержит условия
цели. Эти свойства треугольной таблицы весьма полезны для
управления ходом выполнения плана движения робота.
Поскольку планы робота в реальном рабочем пространстве
должны выполняться механическими устройствами, система
управления должна предусматривать возможность того, что
планируемые действия робота не будут реализованы, поскольку
механические допуски могут вводить ошибки при реализации
плана. Во время выполнения роботом операций незапланирован¬
ные действия могут неожиданно приблизить нас к цели либо
сбить с пути. Эти проблемы можно было бы решить путем гене¬
544
рации нового плана (основанного на модернизированном описа¬
нии состояний) после каждого действия робота, но очевидно,
что такая стратегия была бы слишком дорогой, поэтому мы
приведем схему, с помощью которой можно управлять ходом
действия робота согласно данному плану.
Ядра треугольных таблиц содержат только информацию, не¬
обходимую для реализации такой системы выполнения плана.
В начале выполнения плана мы знаем, что полный план выпол¬
ним и соответствует достижению цели, поскольку предложения
в первом ядре соответствуют описанию первоначального состоя¬
ния, которое было использовано при создании плана. (Здесь
мы предполагаем, что рабочее пространство является статиче¬
ским, т. е. рабочее пространство изменяют только действия са¬
мого робота.) Теперь предположим, что система выполнила пер¬
вые i— 1 действий последовательности операторов плана. Тогда,
чтобы оставшаяся часть плана (состоящая из i-ro и последую¬
щих действий) была выполнимой и приводила к достижению
цели, предложения в i-м ядре должны соответствовать описа¬
нию нового текущего состояния. (Мы предполагаем, что во вре¬
мя выполнения плана система очувствления непрерывно модер¬
низирует описание состояний так, чтобы это описание точно
моделировало текущее состояние рабочего пространства.) Фак¬
тически мы можем не просто проверить, соответствует ли ядро
описанию состояния рабочего пространства после действия ро¬
бота, мы можем выбрать соответствующее ядро с наибольшим
номером. Тогда, если непредвиденные эффекты приближают нас
к цели, нам необходимо только выполнить оставшиеся действия;
и если ошибка выполнения нарушает результаты предыдущих
действий, соответствующие действия могут быть выполнены
вновь. Чтобы найти соответствующее ядро, мы проверяем ядра
в треугольной таблице по мере уменьшения их номеров, начиная
с большего (ядро, соответствующее большому номеру, является
последней строкой таблицы). Если целевое ядро (последняя
строка таблицы) приводит к достижению конечного состояния,
то система заканчивает работу. В противном случае предпола¬
гаем, что соответствующим ядром с наибольшим номером яв¬
ляется ядро с номером i. Тогда мы знаем, что i-й оператор при¬
меним к описанию текущего состояния. В этом случае система
осуществляет действия, соответствующие i-му оператору, и про¬
веряет результаты, снова отыскивая соответствующее ядро с
наибольшим номером. В идеальном рабочем пространстве эта
процедура выполняется просто согласно последовательности
операторов плана. В реальном же рабочем пространстве эта
процедура помогает избежать ненужных действий, а также
устранить некоторые виды аварийного завершения путем по¬
вторного выполнения соответствующих действий. Перепланиро¬
вание осуществляется, когда больше нет соответствующих ядер.
18 К. Фу и др.
545
В качестве примера, иллюстрирующего этот процесс, рас¬
смотрим снова задачу построения пирамиды из объектов А, В
и С и план, представленный в виде треугольной таблицы на
рис. 10.14. Предположим, что система выполняет действия, со¬
ответствующие первым четырем операторам, и результаты этих
действий заранее планируются. Теперь предположим, что си¬
стема пытается осуществить захват блока А, но программа вы¬
полнения (в это время) меняет блок А на блок В, и поэтому
вместо блока А робот захватывает блок В. [Снова предпола¬
гаем, что система очувствления точно модернизирует описание
состояния, добавляя утверждение HOLDING (В) и исключая
утверждение ON (В, С); в частности, она не добавляет утверж¬
дение HOLDING (Л).] Если бы не было ошибки выполнения,
шестое ядро было бы теперь соответствующим; в результате
ошибки соответствующим ядром с наибольшим номером стано¬
вится четвертое ядро. Вновь выполняется действие, соответ¬
ствующее оператору STACK (В, С), и система продолжает ра¬
боту.
То, что ядра треугольной таблицы частично перекрываются,
можно использовать для улучшения поиска соответствующего
ядра с наибольшим номером. Начиная с нижней строки, мы про¬
сматриваем таблицу слева направо, определяя первый элемент,
содержащий предложение, не соответствующее описанию теку¬
щего состояния. Если мы просмотрели всю строку и не обнару¬
жили такого элемента, целевое ядро является соответствующим.
Если же мы нашли такой элемент в г-м столбце, наибольший
номер соответствующего ядра не может превышать г. В этом
случае мы устанавливаем границу по г'-му столбцу, переходим
к следующей снизу строке и начинаем просматривать ее слева
направо до столбца г. Если мы находим элемент, содержащий
несоответствующее утверждение, мы вновь устанавливаем гра¬
ницу по столбцу, начинаем просматривать следующую строку
и т. д. Процесс завершается определением k-ro соответствую¬
щего ядра (наибольшим номером соответствующего &-й про¬
сматриваемой строке и проведением границы по k-му столбцу,
соответствующему этой строке).
Пример. Рассмотрим простую задачу переноса ящика мо¬
бильным роботом из соседней комнаты. Начальное состояние
модели рабочего пространства робота приведено на рис. 10.15.
Предположим, что имеются два оператора GOTHRU и
PUSHTHRU.
GOTHRU (d, г,, г2) Робот двигается через дверь d из комнаты п
в комнату г2
Предусловие: INROOM (ROBOT, г О A CONNECTS {d, ru r2)
робот в комнате г\ и дверь d соединяет комнаты Г\ и г2
Список исключений: INROOM (ROBOT, S) для любого значения S
Б46
Список добавлений: INROOM (ROBOT, r2)
PUSHTHRU (b, d, r\, r2) Робот переносит объект b через дверь d
из комнаты г, в комнату г2
Ломтта rf
Л&Р
Робот ^
Комната г2
ЛН'
2 В1
Дберь с/г
Комната r*s
— * ' ИЧ"
Рис. 10.15. Начальная модель рабочего пространства.
Начальная база данных Af0
INROOM (ROBOT, Ri)—робот в комнате R5
CONNECTS (D1, Ru R2) — дверь Dx соединяет комнаты R\ и R2
CONNECTS (D2, R2, Rj) —дверь D2 соединяет комнаты R2 и R»
BOX (ВД —ящик Bt
INROOM (Bj, Rn) — ящик Bx в комнате R2
V*VyVz [CONNECTS (x, y, z)->CONNECTS (x, y, z)\
Цель G0 • J
3* [BOX (x) Д INROOM (x, Ri)]
'^^шератр
Различие
вотн пи
PUSHTHRU
Расположение
ящика
V
Расположение
робота
V
Расположение
ящика и робота
V
Рис. 10.16. Таблица «действие — оператор».
Предусловие: INROOM(b, r\) Л INROOM(ROBOT, ri)A
Л CONNECTS (d, n, r2)
Список исключений: INROOM (ROBOT, S) INROOM (b, S)
Список добавлений: INROOM(ROBOT, r2), INROOM (b, r2)
Таблица «различие — оператор» приведена на рис. 10.16.
18* Б47
Когда система STRIPS приступает к решению задачи, она
сначала пытается достигнуть цели G0 из начального состояния
М0. Эта задача не может быть решена сразу. Однако, если на¬
чальная база данных содержит утверждение INROOM(Bi, Ri)
процесс решения задачи может продолжаться. Система
STRIPS находит оператор PUSHTHRU (Si, d, Г\, R\), действие
которого может привести к желаемому утверждению. Предус¬
ловием G1 для оператора PUSHTHRU является следующее:
G, :INROOM(Bb г,) Л INROOM(ROBOT, г,) Л
Л CONNECTS (d, ru Ri)
В анализе конечных значений это предусловие является под¬
целью и STRIPS пытается реализовать его из состояния М0.
Поскольку нет непосредственного решения этой задачи,
STRIPS находит, что если r\—R2, d = Dt и текущая база дан¬
ных содержит оператор INROOM (ROBOT, R2), то процесс мо¬
жет продолжаться. Вновь STRIPS находит оператор
GOTHRU (d, г 1, R2, результат действия которого может привести
к желаемому состоянию. Его предусловие является следующей
подцелью:
G2:INROOM(ROBOT, г,) Л CONNECTS (rf, г,, R2)
Используя подстановки Г\ — R\ и d = Du система STRIPS спо¬
собна выполнить операцию G2. Применяя оператор
GOTHRU (Du Ru R2) к состоянию М0, имеем
М, : INROOM (ROBOT, R2), CONNECTS (£>,, Ru R2)
CONNECTS (D2, R2, R3), BOX (5,)
INROOM (Si, R2), ...
(Vx) (Vy) (Vz) [CONNECTS (x, y, z) =ф CONNECTS (x, z, y)}
Теперь STRIPS пытается достигнуть подцели Gi из новой
базы данных М\. Она находит оператор PUSHTHRU(Bb Db R2,
Ri) с подстановками ri=R2 и d = D\. Применяя этот оператор
к Mi, получаем
M2:INROOM(ROBOT, Ri), CONNECTS(Db Rh R2)
CONNECTS (Di, R2, R3), BOX(Si)
INR00M(S,, R,), ...
(VxVyVz) [CONNECTS (x, y, 2) =ф CONNECTS (x, 2, y)]
На следующем шаге система STRIPS пытается реализовать ис¬
ходную цель G0 из состояния М2. Эта попытка оказывается ус¬
пешной, и окончательная последовательность операторов имеет
вид:
GOTHRU (Di, Ru R2), PUSHTHRU (Si, Du R2, Rx)
Желательно создать план, который не зависел бы от констант
D\, R1, /?2 и Si и можно было бы использовать в ситуациях
548
с произвольными дверями, комнатами, ящиками. Треугольная
таблица для конкретного плана приведена на рис. 10.17, а тре-
INROOM(ROBOT, К1)
CONNECTS(D, ,/?,,*)
GOTHR U(D,,R,,R:)
INROOM(B,,K2)
CONNECTS(D|,/?|,K>)
CONNECTS;.!', У,:,)
CONNECTS^ ,v,;)
INROOM(ROBOT,R,l
PUbHTHRUCBpO,,/?,./?,)
lNROOM(ROBOT,Rl)
INROOM(Bj,/?j)
Ряс. 10.17. Треугольная таблица для конкретного плана.
INROOM(ROBOT.pj)
CONNECTS(pj,p2.pj)
GOTHRU</»j,ft.Rj)
JNROOM(p6.Pi>
CONNECTS! p$P9'P$)
CO NN ECTSGr.y.z) -»
CONNECTSCr.xt)
INROOM (ROBOT.pj)
HJSHTHRIH Pc-Pi-Ps-fH
INROOM(ROBOT^)
lNROOMt^.p9)
Рис. 10.18. Треугольная таблица для обобщенного плана.
угольная таблица для обобщенного плана ■—на рис. 10.18. Сле¬
довательно, обобщенный план мог бы иметь следующий вид:
GOTHRU(d,, ги п)
PUSHTHRU (£>, d2, г2, г3)
и мог быть использован для перехода из первой комнаты во
вторую и переноса ящика в третью комнату.
10.7. ОБУЧЕНИЕ РОБОТА
Мы рассмотрели применение треугольных таблиц обобщен¬
ных планов для управления ходом выполнения плана действий
робота. Треугольные таблицы для обобщенных планов также
549
могут быть использованы системой STRIPS для выделения со¬
ответствующей последовательности операторов во время после¬
довательного процесса планирования. В принципе можно соста¬
вить единую треугольную таблицу для представления семейства
обобщенных операторов. Из списка добавлений, определяемого'
системой STRIPS, мы должны выбрать наиболее экономичный
по параметрам оператор. Напомним, что (г'-|-1)-я строка тре¬
угольной таблицы (исключая первый элемент) представляет
собой список добавлений А\, ..., t г-й части плана, т. е. последо¬
вательность ОР\, ..., ОРи п-й шаг плана дает системе
STRIPS п альтернативных списков добавлений, каждый из ко¬
торых может быть использован для уменьшения различия, воз¬
никающего во время нормального процесса планирования. Си¬
стема STRIPS обычным образом проверяет соответствие каж¬
дого из списков добавлений обобщенного плана и выбирает из
них те, которые обеспечивают наибольшее уменьшение разли¬
чия. Часто данный набор подходящих утверждений будет появ¬
ляться в нескольких строках таблицы. В этом случае выби¬
рается строка с наименьшим номером, поскольку данный выбор
приводит к наиболее короткой последовательности операторов»
с помощью которых создаются требуемые утверждения.
Предположим, что система STRIPS выбирает г-й список до¬
бавлений Ai ..., At, г < п. Поскольку этот список является ре¬
зультатом работы последовательности операторов ОР\, ...»
..., OPi, то очевидно, что не надо интересоваться их приме¬
нением и тем более установлением их предусловий. Как прави¬
ло, некоторые шаги плана требуются только для установления
предусловий последующих шагов. Если нас не интересует за¬
вершающая часть плана, то в соответствующем примере обоб¬
щенного плана могут не содержаться те операторы, единствен¬
ной целью которых является определение предусловий для за¬
вершающей части плана. Поэтому обычно система STRIPS
использует ограниченный набор из списка Аь ..., At для уста¬
новления соответствия г'-й начальной части плана. Каждый из
первых г операторов, которые не добавляют утверждений в этот
ограниченный набор или помогают установить предусловия для
некоторого оператора, добавляющего утверждение в этот на¬
бор, не требуется в соответствующем примере обобщенного
плана.
Для того чтобы получить систему планирования действий
робота, которая может не только ускорять процесс планирова¬
ния, но также улучшать способность системы решать более
сложные задачи, можно было создать систему, имеющую спо¬
собность к обучению. Система STRIPS использует схему общих
правил машинного обучения. Другой формой обучения могло бы
быть обновление информации в таблице «различие — оператор»
на основе опыта системы.
550
Мощным средством является обучение по аналогии, которое
также применяется для планирования действий робота. Обу¬
чающаяся система планирования действий робота, названа
PULP-I, была предложена в работе [279]. Система использует
аналогию между текущей незапланированной задачей и любыми
известными сходными задачами для сокращения поиска реше¬
ния. Для внутреннего представления задач в этой системе вме¬
сто логики предикатов используется семантическая сеть. Вна¬
чале в качестве знаний, основанных на простом опыте, в си¬
стему заводится ряд примеров типовых задач. Для определения
сходства между двумя задачами используется аналогия, кото¬
рая определяется семантической процедурой соответствия. Ал¬
горитм соответствия определяет семантическую «близость», са¬
мую маленькую величину (самое близкое значение). Основан¬
ный на семантическом определении соответствия прошлый опыт
применяется для формирования плана-кандидата. Затем прове¬
ряются предусловия операторов каждого плана-кандидата на
применимость их к текущему состоянию рабочего пространства.
Если план не применим, он исключается из списка кандидатов.
В результате проверки на применимость может оказаться не¬
сколько возможных планов-кандидатов. Эти планы-кандидаты
упорядочиваются согласно их оценкам семантических соответст¬
вий. План с наименьшим значением семантического соответст¬
вия имеет высший приоритет и должен располагаться в начале
списка кандидатов. Конечно, если ни один кандидат не найден,
система заканчивает работу аварийным остановом. Моделиро¬
вание с помощью системы PULP-I на ЭВМ показало значитель¬
ное улучшение процесса планирования, которое касается не толь¬
ко скорости планирования, но и способности формирования слож¬
ных планов на основе типовых обучающих примеров.
10.8. ПЛАНИРОВАНИЕ ЗАДАЧИ ДВИЖЕНИЯ РОБОТОВ
Предназначенные для роботов планировщики, рассмотрен¬
ные в предыдущем разделе, требуют описания только началь¬
ного и конечного состояний данной задачи. Эти системы плани¬
рования обычно не определяют подробно движения робота, не¬
обходимые для выполнения операции, а формируют такие
команды, как PICKUP (Л) и STACK(A, У), не определяя траек¬
торию движения робота. Однако в обозримом будущем плани¬
ровщики задач должны давать более подробную информацию о
промежуточных состояниях, чем та, которую сейчас эти системы
выдают. От них будет требоваться создание намного более под¬
робной программы движения робота. Другими словами, плани¬
ровщик задачи должен быть способен преобразовать детализа¬
цию на уровне задачи в детализацию на уровне манипулятора.
Для выполнения этого преобразования планировщик задачи
551
должен иметь описания объектов, подлежащих манипулирова¬
нию, рабочего пространства, где выполняется задача, схемы вы¬
полнения роботом задачи, начального состояния рабочего про¬
странства и желаемого конечного (целевого) состояния. На вы¬
ходе планировщика задачи должна быть программа достижения
роботом конечного состояния из определенного начального со¬
стояния.
Планирование задачи осуществляется в 3 этапа: моделиро¬
вание, детализация задачи и синтез программы движения мани¬
пулятора. Модель рабочего пространства, в котором выполняется
задача, должна содержать следующую информацию-
1) геометрическое описание всех объектов и робота;
2) физическое описание всех объектов;
3) кинематическое описание всех связей;
4) описание робота и характеристик сенсоров.
Модели состояний задачи должны включать взаимное рас¬
положение всех объектов и связей в модели рабочего простран¬
ства.
10.8.1. Моделирование ^
Геометрическое описание объектов является важной частью
модели рабочего пространства. Основным источником информа¬
ции о геометрических моделях являются системы автоматизиро¬
ванного проектирования (САПР) и техническое зрение. Имеются
три основных типа схем представления трехмерных объектов
[247]:
1) граничное представление;
2) шаблонное представление;
3) объемное представление.
Объемное представление объекта может задаваться тремя
способами:
1) занимаемой пространственной областью;
2) разбиением на элементарные ячейки;
3) пространственной геометрией воспроизведения объектов
(ПГВО).
Для задач планирования была предложена пространственная
геометрия воспроизведения объектов, основной идеей которой
является построение сложных тел из нескольких типов простых
с помощью набора операций. Объект на рис. 10.19, а может быть
описан с помощью структуры, приведенной на рис. 10.19,6. Воз¬
можные движения объекта ограничиваются наличием других
объектов в рабочем пространстве, и форма ограничений зависит
от формы объектов. По этой причине планировщику задачи не¬
обходимы геометрические описания объектов. Имеются допол¬
нительные ограничения на движение, накладываемые кинемати¬
ческой структурой самого робота. Кинематические модели дают
552
ч
планировщику задачи информацию, требуемую для планирова¬
ния движений манипулятора. Эта информация является внеш¬
ним ограничением.
Многие физические характеристики объектов играют важ¬
ную роль при планировании операций робота. Например, от
массы и моментов инерции зависит скорость передвижения де¬
талей или величина силы, которую надо приложить, чтобы их
поднять и перенести. Другим важным аспектом является очув¬
ствление. Для планирования задачи зрение дает возможность
Рис. 10.19. Пространственная геометрия воспроизведения объектов.
Атрибуты А п В: длина, ширина, высота
Атрибуты А и В: длина, ширина, высота. Атрибуты С: радиус, высота. Набор операто¬
ров-связей; U — объединение, Л — пересечение, —разность.
роботу с некоторой точностью получать информацию о располо¬
жении объектов; силовое очувствление допускает использование
упругой податливости; тактильное очувствление позволяет реа¬
лизовать обе возможности. Помимо очувствления необходимо
описывать много индивидуальных характеристик манипулято¬
ров, например граничные значения скорости и ускорения и точ¬
ность позиционирования каждого из сочленений.
10.8.2. Подробное описание задачи
Состояние модели определяется взаимным расположением
(конфигурациями) всех объектов в рабочем пространстве; за¬
дачи обычно определяются последовательностью состояний мо¬
дели рабочего пространства. Для определения взаимного рас¬
положения можно использовать, во-первых, САПР (для распо-
5
653
ложения моделей объектов в желаемые конфигурации), во-вто¬
рых, робот (для определения его конфигураций и расположения
частей объектов) и, в-третьих, пространственные символические
связи между частями объекта (для введения ограничений на
конфигурации объектов). Первые две возможности позволяют
создавать численные описания конфигураций, которые трудны
для интерпретации и модификации. В последнем случае конфи¬
гурация описывается набором символических пространственных
связей, которые необходимо соблюдать между объектами в этой
конфигурации.
Поскольку состояниями модели являются наборы конфигу¬
раций и подробное описание задачи определяется последова¬
тельными состояниями, выражаемыми символическими прост¬
ранственными связями конфигураций, то мы в состоянии опре¬
делять задачи. Предположим, что в модель входят имена и
свойства объектов. Первым шагом процесса планирования за¬
дачи является преобразование символических пространственных
связей между свойствами объектов в уравнение параметров кон¬
фигураций объектов в этой модели. Затем эти уравнения долж¬
ны быть насколько возможно упрощены, чтобы можно было
определить ранги конфигураций всех объектов. Во время син¬
теза программы также используется символическая форма
связей.
10.8.3. Синтез программы движения манипулятора
Синтез программы манипулятора на основе подробного
описания задачи является решающим этапом планирования.
Основные шаги этого этапа следующие: планирование захвата,,
планирование движения и обнаружение ошибок. Программа,
полученная в результате синтеза, состоит из команд захвата,
нескольких видов определения движения и тестов на ошибки.
Обычно эта программа составлена на роботоориентированном
языке для определенного манипулятора и допускает многократ¬
ное использование без предварительного перепланирования.
10.9. ОСНОВНЫЕ ПРОБЛЕМЫ ПЛАНИРОВАНИЯ ЗАДАЧ
10.9.1. Символические пространственные связи
Основными этапами получения из символических простран¬
ственных связей ограничений на конфигурации являются:
1) Определение системы координат для объектов и частей
объектов.
2) Определение уравнений параметров конфигурации объ¬
екта по каждой пространственной связи.
3) Объединение уравнений для каждого объекта.
554
4) Решение уравнений для параметров конфигурации каж¬
дого объекта.
Рассмотрим пример, приведенный на рис. 10.20:
PLACE Block 1 (fi against f3) and (f2 anainst f4)
(разместить блок 1 так, чтобы грань fi располагалась напротив
грани f3 и грань ,/2 — напротив грани f4).
Требуется получить набор уравнений, которые связывают кон¬
фигурацию блока 1 с известной конфигурацией блока 2, т. е.
грань fi блока 2 должна быть напротив грани f3 блока 1, а
грань /2 блока 2—напротив грани /4 блока 1.
Рис. 10.20. Иллюстрация пространственной связи между объектами.
Каждый объект и его части имеют связанные с ним системы
координат (рис. 10.21). Конфигурации описываются матрицами,
преобразования размерностью 4X4:
г 1
0
0
0-
0
1
0
0-1
0
1
0
0
-1
0
0
0
fi=
0
0
1
0
• /г —
0
0
1
0
-0
1
1
1 -
-
1
0
1
1 -
г 1
0
0
0-1
Г0
-1
0
0-1
0
1
0
0
. /4 =
1
0
0
0
/з =
0
0
1
0
0
0
1
0
-1
1
1
1 -
-1
0
1
1 -
Пусть twix(0) — матрица преобразования, описывающего пово¬
рот на угол 0 вокруг оси х, trans(x, у, г) —матрица перемеще¬
ния вдоль осей х, у и 2 и М — матрица поворота вокруг оси у,
причем М — М~х. Каждая связь типа напротив между двумя
гранями, например гранью f объекта А и гранью g объекта В,
дает следующее ограничение на конфигурацию двух объектов:
A = f~lM twix (0) (0, у, z)gB. (10.9-1)
555
Две связи типа напротив в примере на рис. 10.20 дают следую¬
щие уравнения
Block 1 = twix (Gj) trans (0, уи 21)f1Block2,
Block 1 = fi^M twix (02) trans (0, y2, г2) f2 Block2. (10.9-2)
Уравнение (10.9-2) состоит из двух независимых ограниче¬
ний на конфигурацию блока 1, которые должны одновременно
Рис. 10.21. Оси координат, связанные с объектами и их частями.
выполняться. Приравнивая оба уравнения (10.9-2) и устраняя
общий член Block 2, мы получаем
/Г'М twix(0O trans (0, уи 2t) twix (02) trans (0, y2, z2)f2.
(10.9-3)
Выражение (10.9-3) можно преобразовать следующим образом:
fslM twix (0i) trans (0, г/i + l, Zi + 1) {f'2) 'x
X trans (0, -yu -22)twix(-02)M_1f4 = /, (10.9-4)
где главные матрицы обозначают вращательный компонент пре¬
образования, полученный подстановкой в последнюю строку
матрицы [0, 0, 0, 1]. Можно показать, что для компоненты вра¬
щения и перемещения уравнения этого типа могут быть решены
независимо. Уравнение вращения может быть получено заменой
каждой из матриц trans на единичную и использованием только
вращательных компонент других матриц. Уравнение вращения
для уравнения (10.9-4) имеет вид
(/з) * М twix(0i) (f'2) * twix (— 02) M(fi) = I. (10.9-5)
Поскольку /з = 1, уравнение (10.9-5) можно записать в виде
twix (00 (fa)'* twix (- 02) = М (f'4)_1 М, (10.9-6)
.556
так как
(/a-Aiw’Af-
— 1 о О-
ООО
О 1 о
О 0 1
Равенство (10.9-6) выполняется, и мы можем выбрать 02
Полагая 02 = 0 в уравнении (10.9-6), мы получаем
О.
twix (0i) = M{fd М (f2) == I.
(10.9-7)
Г -1
0
0
0-
Г -1
0
0
0-
0
1
0
0
0
1
0
0
0
0
-1
0
0
0
-1
0
- 1
У\
2 +2i
1 -
- 2 — г/2
0
2 + г2
1 -
Из уравнения (10.9-7) следует, что 01 —0. Таким образом, урав¬
нение 10.9-2 имеет вид
Block 1 =
(10.9-8);
Сравнивая соответствующие элементы матрицы, имеем
2 — г/2 = 1,
У1 = 0,
2 + Zi = 2 -f- 22-
Следов ательно, г/г=1, 1/1=0 и Z} = Z2, т. е. блок 1 имеет
одну степень свободы, соответствующую перемещению вдоль
оси г.
Метод, используемый в предыдущем примере, был предложен
в работе [5]. Контактные связи, применяемые в этом методе,,
делятся на связи типа напротив, соответствовать и параллель¬
ность для деталей, имеющих плоские или сферические поверхно¬
сти, цилиндрические стержни и отверстия, острые края и верши¬
ны. В работе [281] этот подход распространен на неконтактные
связи, такие, как стержень и отверстие с диаметром боль¬
шим, чем диаметр стержня, объект в ящике или деталь рядом
с другой деталью. Эти связи повышают число ограничений на
параметры конфигурации. Например, они могут быть использо¬
ваны для моделирования положения конца отвертки в схвате
робота, ошибок положения в сочленениях и проскальзывания
отвертки в схвате. После упрощения равенств и неравенств оп¬
ределяется набор линейных ограничений путем линеаризации
вращений вблизи исходной конфигурации. Значения параметров
557
конфигурации, удовлетворяющей ограничениям, могут быть по¬
лучены методом линейного программирования применительно к
линеаризованным уравнениям ограничений.
10.9.2 Обход препятствий
Наиболее общими движениями робота являются движения
связанные с переносом объектов, для которых единственное
ограничение состоит в том, чтобы робот и переносимый объект
не столкнулись с объектами в рабочем пространстве. Поэтому
для планирования задачи важно планировать движения с уче¬
том обхода препятствий. В разных областях были предложены
различные алгоритмы обхода препятствий. Ниже мы кратко из¬
ложим эти алгоритмы, предназначенные для обхода роботом
препятствий в трехмерном пространстве. Эти алгоритмы можно
разделить на 3 класса: 1) гипотеза — тест; 2) штрафная функ¬
ция; 3) явно свободное пространство.
Раньше других был предложен метод гипотезы и теста, со¬
стоящий из трех основных шагов:
1. Предлагается гипотеза относительно пути-кандидата
между начальной и конечной конфигурациями манипулятора
робота.
2. Набор конфигураций вдоль этого пути тестируется на воз¬
можность столкновений.
3. Если столкновение оказывается возможным, с целью оп¬
ределения пути обхода исследуется препятствие, которое может
вызвать это столкновение. Весь процесс повторяется для моди¬
фицированного движения.
Главное преимущество метода «гипотеза — тест» заключается
в его простоте. Основными вычислительными операциями мето¬
да являются определение возможных столкновений и модифи¬
кация путей для предотвращения столкновений. Первая опера¬
ция равнозначна способности определять ненулевое геометриче¬
ское пересечение между моделями манипулятора и препятствий.
Эта возможность, как правило, имеется в большинстве систем
геометрического моделирования. В разд. 10.8 мы указывали, что
вторая операция — модифицирование предложенного пути—мо¬
жет быть очень трудной. Обычные предложения модификации
пути основываются на аппроксимации препятствий в виде замк¬
нутых сфер. Эти методы хорошо работают, когда препятствия
расположены редко. Когда же пространство заполнено объек¬
тами, попытки избежать столкновения с одним препятствием
обычно приводят к столкновению с другим. В таких условиях
определение возможных столкновений может быть осуществлено
более точно, если применить систему технического зрения
и/или другие системы очувствления.
558
Второй класс алгоритмов обхода препятствий основывается
на определении штрафной функции для конфигурации манипу¬
лятора, с помощью которой кодируется наличие объектов.
Обычно для конфигурации, которая приводит к столкновениям,
значение штрафа равно бесконечности и резко падает по мере
увеличения расстояния от препятствий. Полная штрафная
функция представляет собой сумму штрафов отдельных препят¬
ствий, к которой иногда добавляется штрафной член отклонения
от кратчайшего пути. Для каждой конфигурации мы можем
вычислить значение штрафной функции и оценить ее частные
Рис. 10.22. Штрафная функция для простого робота с одной вращательной
степенью свободы( а) и для двузвенного манипулятора (б). (Числа на ри¬
сунке указывают значения штрафной функции.)
производные по отношению к параметрам конфигурации. На ос¬
нове этой локальной информации с помощью функции поиска
пути необходимо выбрать последовательность конфигураций.
Решение должно соответствовать локальному минимуму штраф¬
ной функции, т. е. компромиссу между увеличением длины пути
и максимальным приближением к препятствиям. Интерес к ме¬
тодам штрафных функций основан на том, что они обеспечивают
относительно простой путь комбинирования ограничений от
различных объектов. Однако это справедливо лишь для робота
с вращательной степенью свободы; в этом случае вид штрафной
функции легко получить исходя из формы препятствия. Для
большинства реальных роботов, таких, как двузвенный мани¬
пулятор, штрафную функцию можно было бы определить через
преобразование конфигурации препятствия в пространстве.
В противном случае движения робота, уменьшающие значения
штрафной функции, не были бы безопасными. Различие между
этими двумя типами штрафных функций иллюстрируется на
рис. 10.22. Отметим, что на рис. 10.22, а движение вдоль умень¬
559
шающихся значений штрафной функции является безопасным,
в то же время на рис. 10.22,6 подобное движение конца руки
манипулятора приводит к столкновению.
Метод, описанный в работе [144], является промежуточным
и использует штрафную функцию, которая удовлетворяет опре¬
делению потенциального поля. Градиент поля в точке робота
интерпретируется как сила отталкивания в этой точке, которая
суммируется с силой притяжения, действующей из конечного
положения робота. Движение робота является результатом
взаимодействия этих двух сил при наличии кинематических
ограничений. Используя несколько точек робота, можно избе¬
жать ситуаций, приведенных на рис. 10.22.
Основным недостатком использования штрафных функций
для планирования безопасных путей является точная локальная
информация, которую они дают для поиска пути. Попытки опре¬
деления пути по локальным минимумам штрафной функции
могут привести к тупиковым ситуациям, когда дальнейший
поиск пути становится невозможным. В этом случае алгоритм
должен выбрать предыдущую конфигурацию и продолжить
поиск в другом направлении. Такие точки возврата трудны для
идентификации на основе локальной информации. Поэтому по¬
лезно комбинировать метод штрафных функций с более общим
методом гипотеза — тест. Штрафные функции более удобны в
в тех случаях, когда требуются только небольшие модификации
известного пути.
Третий класс алгоритмов обхода препятствий в явном виде
определяет наборы конфигураций робота, которые свободны от
столкновений с объектами (свободное пространство). Обход
препятствия трактуется здесь как поиск пути в пределах этих
наборов, связывающего начальную и конечную конфигурации.
Эти алгоритмы в основном различаются самими наборами, со¬
ставляющими свободное пространство, и путями представления
этих наборов. Преимущество методов свободного пространства
состоит в том, что они используют явную характеристику сво¬
бодного пространства, позволяющего определить метод поиска,
который гарантирует нахождение путей в том случае, если они
существуют, в пределах известного набора конфигураций из
свободного пространства. Более того, эти методы часто позво¬
ляют определить самый короткий из всех безопасных путей.
К недостаткам метода относится то, что процесс вычисления
свободного пространства может быть длительным. В частности,
другие методы могут быть более эффективными в случае про¬
странства с небольшим числом объектов. Однако для простран¬
ства, заполненного большим числом объектов, другие методы
либо оказываются неработоспособными, либо слишком трудоем¬
кими.
560
10.9.3. Планирование захвата
Типичная операция робота начинается с захвата объекта:
остальные операции зависят от выбора, сделанного во время
захвата. Существует несколько вариантов выбора конфигура¬
ций захвата объекта без столкновений, однако другие аспекты
общей проблемы' планирования движений захвата разработаны
слабо. В этом разделе термин объект-цель относится к объекту,
который должен быть схвачен. Поверхности робота, используе¬
мые для захвата (например, внутренние стороны пальцев), на¬
зываются поверхностями захвата. Конфигурация манипулятора,
в которой он производит операцию захвата объекта, называется
начальной конфигурацией захвата. Конфигурация, в которой
робот переносит объект-цель к месту его назначения, называется
конечной конфигурацией захвата.
Существуют три основных критерия выбора конфигурации
захвата для объектов с известными конфигурациями. Первым
критерием является безопавность: робот должен обеспечить без¬
опасность в начальной и конечной конфигурациях захвата. Вто¬
рым критерием — достижимость-, робот должен быть способен
достичь начальной конфигурации захвата и с объектом в руке
найти свободный от столкновений путь к конечной конфигура¬
ции захвата. Третьим критерием является надежность: захват
должен быть надежным при наличии сил, действующих на за¬
хватываемый объект во время движений, перемещений и неко¬
торых других операций. Если начальная конфигурация объекта-
цели является существенно неопределенной, дополнительным
критерием является определенность: движение при захвате
должно уменьшить неопределенность положения объекта цели.
Выбор безопасных и достижимых конфигураций манипуля¬
тора, обеспечивающий захват, относится к проблеме обхода
препятствий. Однако при решении этой задачи следует иметь
в виду, что при планировании захвата определяется одна кон¬
фигурация, а не траектория.
Кроме того, при планировании захвата необходимо подробно
рассматривать взаимодействие манипулятора и объекта-цели.
Отметим, что возможными конфигурациями, обеспечивающими
захват, являются конфигурации, при которых руки захватного
устройства находятся в контакте с объектом-целью и одновре¬
менно выполняется условие предотвращения столкновений меж¬
ду манипулятором и другими объектами. И наконец, при пла¬
нировании процесс выбора конфигурации манипулятора, обес¬
печивающей захват, связан с ограничениями, накладывае¬
мыми последующими операциями при захвате объекта. По¬
этому большинство существующих методов планирования за¬
хвата рассматривается независимо от проблемы обхода пре¬
пятствий.
19 К. Фу Н др.
561
Большинство подходов к выбору безопасного захвата осно¬
вано на следующем методе:
1. Выбрать набор кандидатов конфигураций захвата исходя
из геометрии объектов, стабильности или уменьшения неопре¬
деленности. Для схватов с параллельными зажимами обычно
выбирается та конфигурация захвата, которая размещает схва¬
ты в контакте с параллельными поверхностями объекта-цели.
Критерием при выборе поверхностей является минимизация вра¬
щающих моментов вокруг оси между зажимами схвата.
2. Затем набор кандидатов конфигураций захвата сокра¬
щается за счет устранения тех конфигураций, которые недости¬
жимы роботом или приводят к столкновениям. Существующие
подходы к планированию захвата отличаются главным образом
ограничениями на предотвращение столкновений:
а) возможные столкновения схвата и граничных объектов
при начальной конфигурации захвата;
б) р-выпуклости (вся масса тела вблизи геометрического
центра находится с одной стороны определенной плоскости);
в) существование свободного от столкновений пути к на¬
чальной конфигурации захвата;
г) возможны столкновения всего манипулятора и соседних
объектов при начальной конфигурации захвата, столкновения
схвата и соседних объектов при конечной конфигурации захва¬
та, столкновения всего манипулятора и соседних объектов при
конечной конфигурации захвата и существование свободных от
столкновений путей из начальной конфигурации захвата к ко¬
нечной.
3. После сокращения набора кандидатов выбор конфигурации
может быть любым. Одной из возможностей служит выбор кон¬
фигурации, ведущей к наиболее стабильному захвату. Другой
возможностью является выбор конфигурации, имеющей наи¬
меньшую вероятность столкновения при наличии ошибки по¬
ложения или неопределенности.
Легко видеть, что информация очувствления (зрительная,
тактильная, вращающий момент или сила) весьма полезна для
определения стабильной и свободной от столкновений конфигу¬
рации захвата.
10.10. ЭКСПЕРТНЫЕ СИСТЕМЫ И СИСТЕМЫ
ПРЕДСТАВЛЕНИЯ ЗНАНИЙ
Большинство методов в области искусственного интеллекта
далеко не полностью охватывают мыслительную деятельность
человека и даже животного. Компьютерные системы распозна¬
вания образов, отдельных звуков и речи имеют пока весьма
скромные успехи. Однако в одном из направлений искусствен¬
ного интеллекта, связанном с получением новых знаний из ста¬
562
рых в ограниченной предметной области, компьютерные про¬
граммы могут не только приближаться к результатам работы
человеческого мозга, но в некоторых случаях превосходят его.
Эти программы используют набор фактов, правил просмотра и
другие знания из данной предметной области, которые совмест¬
но с методами применения этих правил позволяют из старых
знаний получать новые знания.
Они решают задачи в таких специализированных областях,
как медицинская диагностика, добыча полезных ископаемых и
эксплуатация нефтяных скважин. Они существенно отличаются
от обычных компьютерных программ, поскольку их задачи не
имеют алгоритмического решения, и, кроме того, эти програм¬
мы часто должны делать заключения, основанные на неполной
или неопределенной информации. Разрабатывая такого рода
системы, исследователи обнаружили, что именно от накопления
большого количества знаний, а не от сложных алгоритмов вы¬
вода зависит производительность системы.
10.10.1. Построение экспертной системы
В настоящее время не во всех областях знаний можно по¬
строить экспертные системы. Для задачи «представления зна¬
ний» должны быть выполнены следующие условия:
1. Должен быть по меньшей мере один человек-эксперт, ко¬
торый хорошо понимает задачу.
2. Основным источником деятельности эксперта служат спе¬
циальные знания, оценки и опыт.
3. Эксперт должен быть способен четко сформулировать эти
специальные знания, оценки и опыт, а также объяснить методы,
которые надо применить при решении данной задачи.
4. Задача должна иметь четко ограниченную область при¬
менения.
Иногда экспертные системы можно строить, не следуя точно
указанным выше условиям. Например, в постановке задачи мо¬
гут участвовать несколько экспертов.
Структура экспертной системы является модульной. Факты,
и другие знания о данной области отделяются от процедур вы¬
вода или структуры управления, предназначенной для примене¬
ния этих фактов, в то время как другая часть системы — гло¬
бальная база данных — является моделью «мира», связанного
с решаемой задачей, с его статусом и историей. Желательна
(хотя это еще не является общепринятым) иметь интерфейс на
естественном языке, который облегчает как разработку системы,
так и ее применение в данной области. В некоторые сложные
системы входит модуль, дающий разъяснения о принятых си¬
стемой решениях и позволяющий пользователю оспаривать ре¬
19*
563
шения системы и исследовать лежащие в основе процессы рас-
суждений, ведущие к этим решениям.
Экспертные системы отличаются от большинства обычных
компьютерных программ несколькими важными аспектами.
В обычных компьютерных программах знания и методы для
использования этих знаний заложены таким образом, что изме¬
нить программу весьма сложно. В экспертной системе обычно
имеется четкое разделение между общими знаниями о задаче
(база знаний) и информацией о текущей задаче (входные дан¬
ные), а также методами (правилами вывода), необходимыми
для применения общих знаний к конкретной задаче. В резуль¬
тате программу можно видоизменять путем простой модифика¬
ции базы знаний. Это особенно верно для систем, основанных
на правилах, где система может быть изменена путем простого
добавления или извлечения правил из базы знаний.
10.10.2. Системы, основанные на правилах
Наиболее распространенным подходом представления знаний
предметной области (как фактов, так и эвристик), необходимых
для экспертной системы, являются производящие правила (от¬
носящиеся к так называемым правилам СИТУАЦИЯ—ДЕЙСТ¬
ВИЕ или ЕСЛИ—ТОГДА). Приведем простой пример произ¬
водящего правила: ЕСЛИ источник питания на «Спейс шаттл»
отказал И имеется в наличии запасной, И причина неисправ¬
ности на первом источнике существует недолго, ТОГДА вклю¬
чить запасной источник питания. Работа системы, основанной
на правилах, состоит в применении правил, анализе результа¬
тов и применении новых правил к изменившейся ситуации. Эти
системы могут использовать прямой логический вывод, начи¬
нать с начальной ситуации и идти вперед к решению, либо на¬
чинать с гипотез решений и идти назад к начальной ситуации,
или применять метод дедукции, начиная с начальной ситуации
и основываясь на определенных гипотезах.
Одной из наиболее ранних и наиболее часто используемых
экспертных систем является система Dendral [13]. Она разра¬
ботана в конце 1960 г. Эдвардом Фейгенбаумом и Джошуа
Ледербергом в Станфордском университете для генерации
правдоподобного структурного представления органических мо¬
лекул на основе данных масс-спектрального анализа. Система
обеспечивает:
1) получение ограничений на основе данных;
2) создание структур кандидатов;
3) рекомендации на основе спектрограмм для кандидатов;
4) сравнение результатов с данными.
Эта система, основанная на правилах и строящая молекулы
исходя из данных, иллюстрирует весьма общий в искусственном
564
интеллекте подход к решению задач, называемый «генерация и
тест». Больше 15 лет химики-органики использовали систему
Dendral в качестве консультанта. В настоящее время она при¬
знана как эксперт в области масс-спектрального анализа.
Одной из наиболее известных экспертных систем является
также система MYCIN [13], созданная Эдвардом Шортлифом
в Станфордском университете в середине 70-х годов. Она явля¬
ется диалоговой системой, диагностирующей виды бактериаль¬
ной инфекции и рекомендующей терапию из антибиотиков.
MYCIN выдает экспертную оценку в виде правил «условие —
заключение», связывая данные о пациенте с гипотезами об ин¬
фекции, и в то же время дает «экспертную достоверность» каж¬
дого правила. Она идет от предполагаемых диагнозов, чтобы
оценить факторы достоверности заключений, основанные на
факторах достоверности их предшественников с целью проверки
диагноза. Если для уменьшения числа гипотез не хватает ин¬
формации, система запрашивает у врача дополнительные дан¬
ные, исключающие применение всех гипотез. По окончанию ра¬
боты MYCIN выдает курс лечения применительно ко всем диаг¬
нозам, которые имеют высокую степень достоверности.
Другая основанная на правилах система R1 успешно при¬
менялась для разработки конфигураций компьютерных систем
VAX на основе заказов потребителей, включающих требование
на систему и вспомогательное оборудование. Первая версия R1
была разработана Джоном Мак-Дермоттом в 1979 г. в Универ¬
ситете Карнеги—Меллона для фирмы Digital Equipment Corp.
Используя принципы системного подхода, R1 разбивает исход¬
ную задачу на следующие подзадачи:
1) исправление ошибок в заказе;
2) размещение плат и других компонентов в стойках цен¬
трального процессора;
3) размещение модулей в стойках общей шины и размеще¬
ние компонентов в модулях;
4) размещение распределительных щитов в стойках общей
шины;
5) составление плана расположения (размещения) системы;
6) осуществление проводки кабелей.
На каждом шаге разработки конфигурации для дальнейших
действий обычно пригодны несколько правил. Из возможных
применяемых правил R1 выбирает правило, имеющее наиболь¬
шее число предложений ЕСЛИ при условии, что это правило
наиболее соответствует текущей ситуации. (R1 написана на
языке OPS 5, специально предназначенном для обработки про¬
изводящих правил.) В настоящее время система имеет около
1200 правил для VAX вместе с информацией о нескольких 1000
компонентов VAX. Вся система имеет около 3000 правил и
систему знаний о компонентах PDP-11 и VAX.
565
[
10.10.3. Замечания
Области применения экспертных систем включают медицин¬
скую диагностику и определение курса лечения, автоматизацию
медицинских знаний, интерпретацию химических данных, хими¬
ческий и биологический синтез, разработку нефти и полезных
ископаемых, планирование и составление расписаний, интерпре¬
тацию сигналов, оценку военной угрозы, тактическое планиро¬
вание, космическую оборону, управление воздушным движением,
анализ целей, СБИС-конструирование, оценку повреждений
в различных структурах, диагностику неисправного оборудо¬
вания, выбор конфигурации компьютерных систем, распозна¬
вание речи, консультации с помощью компьютеров, доступ к
базам знаний и различного рода управление, планирование и
контроль процесса производства и проектирование экспертных
систем.
Однако существуют ограничения на использование эксперт¬
ных систем. Поэтому меняются методы их проектирования и
конструирования. Пределы возможностей систем, основанных на
правилах, очевидны: не все знания могут быть структурированы
на основе эмпирических ассоциаций. Такие ассоциации не спо¬
собствуют выявлению причинных связей и также не соответ¬
ствуют выдвигаемым на первый план структурам, системам зна¬
ний и их функциям. Очень мало экспертных систем, которые
содержат знания о причинности и структуре. Подобные системы
перспективны и могут давать правильные ответы достаточно
часто, что делает возможным их применение в автономных си¬
стемах. Однако они не смогут все-таки заменить человека.
Существует тенденция конструировать системы, не основан¬
ные на производящих правилах и использующие семантические
сети, фреймы и другие структуры представления знаний, часто
более пригодные для причинного моделирования. Обеспечивая
более соответствующее представление знаний для решения кон¬
кретной задачи, эти системы также упрощают процедуру вы¬
вода. Некоторые экспертные системы используют подход «чер¬
ной доски», комбинирование основанных и не основанных на
правилах различных частей системы, для получения решения
наилучшим способом, причем каждый сегмент программы осу¬
ществляет свою собственную экспертизу.
10.11. ЗАКЛЮЧЕНИЕ
В этой главе рассмотрены вопросы решения задач планиро¬
вания применительно к роботам. Планировщик пытается найти
путь из начального состояния рабочего пространства робота в
конечное состояние. Путь состоит из последовательности опера¬
ций, считающихся элементарными для системы. Решение задачи
566
может быть основано на соответствующей последовательности
реальных действий в реальном рабочем пространстве. Плани¬
рование должно рассматриваться как интеллектуальная функ¬
ция робота.
В конце 1971 и начале 1972 г.г. были предложены два основ¬
ных подхода к планированию действий робота. Первый подход,
типичным представителем которого является система STRIPS,
заключается в создании для робота универсального планиров¬
щика, способного решать задачи в различных рабочих простран¬
ствах. Второй подход состоит в выборе определенного рабочего
пространства и в написании применительно к нему компьютер¬
ной программы решения задач. Первый подход, подобный мно¬
гим другим процессам решения задач в искусственном интеллек¬
те, обычно требует большого объема вычислений для решения
задач, возникающих при функционировании робота в реальном
рабочем пространстве, и, следовательно, чрезвычайно труд¬
но реализуем с вычислительной точки зрения. Второй подход
имеет общий недостаток, состоящий в том, что для каждых
действий робота необходимо писать свой набор программ, что
значительно ограничивает гибкость функционирования робота
в реальном рабочем пространстве.
Помимо планирования задач робота на высоком уровне тре¬
буется более подробная количественная информация о рабочем
пространстве робота. Существующие методы планирования за¬
дач непригодны с вычислительной точки зрения для практиче¬
ских применений в реальном времени. Требуются более мощные
и эффективные алгоритмы. Кроме того, для ускорения вычис¬
лений и удовлетворения требованиям реального времени могут
быть использованы специализированные компьютеры.
Планирование действий робота, подразумевающее интеллек¬
туальные действия и способность решения задач, все еще яв¬
ляется активной сферой исследований. Для функционирования
робота в реальном времени до сих пор необходимы мощные и
эффективные алгоритмы планирования, которые будут реализо¬
ваны на высокоскоростных специализированных компьютерных
системах.
Литература
Общие вопросы, относящиеся к тематике этой главы, могут
быть найдены в работах [13, 216, 217, 248]. Материалы
разд. 10.2 и 10.3 основаны на работах [308, 309, 216, 312]. Ма¬
териалы по разд. 10.4 можно найти в работе [43]. Дополнитель¬
ную информацию по разд. 10.5 и 10.6 можно найти в работах
[78, 248], а по разд. 10.7 в работе [279]. Ранними рабо¬
тами, рассматривающими вопросы планирования задачи робо¬
567
том (разд. 10.8 и 10.9), являются работы [5, 61, 77, 267, 281].
Более поздними — работы [55, 144, 247]. Дополнительную ин¬
формацию по разд. 10.10 можно найти в работах [117, 208, 304].
Упражнения
10.1. Предположим, что три миссионера и три людоеда собираются пе¬
реплыть на лодке с одного берега реки на другой. Максимальная вмести¬
мость лодки 2 человека. Если в любой момент времени число людоедов пре¬
взойдет число миссионеров, людоеды начнут есть миссионеров. Предложите
компьютерную программу для решения задачи безопасной переправы людей
на другой берег. Указание. Используйте представление пространства состоя¬
ний и методы поиска, приведенные в разд. 10.2. Пространство состояний
можно представить в виде (ЛД, Nc), где Nm> Nc — соответственно число мис¬
сионеров и людоедов на одном из берегов. Начальным состоянием является
(0, 0), целевым—(3, 3) и возможными промежуточными состояниями —
(0, 1). (0, 2), (0, 3), (1, 1), (2, 2), (3, 0), (3, 1), (3, 2).
10.2. Представьте, что вы хотите доказать теорему: «Диагонали парал¬
лелограмма делятся в точке пересечения пополам». Используйте граф И/ИЛИ
для описания шагов поиска доказательства. Укажите подграф решения, со¬
держащий доказательство теоремы.
10.3. Представьте следующие предложения на языке логики предикатов.
а) Формула, в которой главной связкой является =>, эквивалентна не¬
которой формуле, в которой главной связкой является V-
б) Робот является интеллектуальным, если он может решить задачу, при¬
чем, если ее решает человек, ему для этого необходим интеллект.
в) Если объект находится ка столе, он не находится на другом объекте.
10.4. Покажите, как можно представить задачу «Обезьяна и бананы»,
чтобы система STRIPS могла создать план, состоящий из следующих дей¬
ствий: идти к ящику, подвинуть ящик под бананы, влезть на ящик, схва¬
тить бананы. Используйте анализ конечных значений в качестве стратегии
управления.
10.5. Покажите, как можно применить анализ конечных значений для
решения задачи планирования действий робота, приведенной в примере в
конце разд. 10.4.
Приложение А.
ВЕКТОРЫ И МАТРИЦЫ
Ниже дается обзор основных положений векторного и матрич¬
ного исчислений. Векторы обозначены полужирными строчными
буквами, а матрицы — полужирными прописными буквами.
A.I. Скалярные и векторные величины
Физические параметры можно разделить на два класса: пара¬
метры, которые характеризуются только величиной, и парамет¬
ры, которые характеризуются величиной и направлением. Па¬
раметры, имеющие только величину, называются скалярами
(например, время, масса, плотность, длина, координаты). Ска¬
лярная величина обычно записывается в виде действительного
числа с соответствующей размерностью. Сравнение скалярных
величин можно производить, только если они имеют одинаковую
размерность.
Параметры, имеющие величину и направление, называются
векторами (например, сила, момент, скорость, ускорение). Век¬
тор обычно представляется графически в виде стрелки, длина и
направление которой соответствуют величине и направлению
рассматриваемого параметра. Сравнение векторных величин
можно производить только, если они описывают один физиче¬
ский параметр и имеют одинаковую размерность.
Два вектора а и b равны, если они имеют одинаковые длину
и направление. Запись —а обозначает, что вектор имеет ве¬
личину, равную вектору а, но противоположно направлен. С век¬
тором связан положительный скаляр, равный его величине. Эта
величина записывается в виде |а|. Если а является величиной
или длиной вектора а, то
Единичный вектор а имеет единичную длину в заданном на¬
правлении
I а |= 1. (А.2)
Любой вектор а в трехмерном пространстве может быть
приведен к единичному вектору следующим образом:
(А.1)
а
а
(А.З)
569
где ах, ау и az — элементы вектора а вдоль основных осей ко*
ординат.
А.2. Сложение и вычитание векторов
Сложение двух векторов а и b является коммутативным, т. е.
a -f- b = b + а. (А.4}
Это легко проверить путем рассмотрения параллелограмма
а
й + Ь + с
Рис. А.1. Сложение векторов.
со сторонами а и b (рис. АЛ). Сложение трех и более векторов
ассоциативно (рис. А.1):
(a -f- b) + с == а + (Ь + с) = а + b + с. (А.5)
Разность между двумя векторами а и b записывается как
а — b и определяется как вектор, проведенный из конца вектора
а - Ь
Рис. А.2. Вычитание векторов.
Ь в конец вектора а при совмещении начальных точек векторов
а и b (рис. А.2).
А.З. Умножение векторов на скалярные величины
Умножение вектора а на скаляр т соответствует увеличению
длины вектора а в \т\ раз в том же направлении, если т> О»
и в обратном направлении, если т <. 0. Таким образом,
b = та
b I = I т II а I
(А. 6)
(А.7)
При умножении векторов на скалярные величины исполь¬
зуются следующие правила;
1) т(па) = тпа-,
570
2) m(a + b) = ma + mb;
3) (m + n)a = ma + na,
где tn и n — скалярные величины. (A.8)
A.4. Линейное векторное пространство
Линейным векторным пространством V называется непустое
множество векторов, определенных на области действительных
чисел F, которые удовлетворяют следующим условиям сложе¬
ния векторов и их умножения на скалярные величины:
1. Сумма двух любых векторных элементов из V также яв-
■ляется векторным элементом, принадлежащим V.
2. Сложение двух любых векторных элементов V является
коммутативным.
3. Сложение трех любых векторных элементов V является
ассоциативным.
4. Существует единственный элемент, называемый нулевым
вектором пространства V (обозначается через 0), такой, что для
каждого элемента aeF:
0 + а = а + 0 = а.
5. Для каждого векторного элемента aeV существует един¬
ственный вектор (—а) е V, такой, что
а + (— а) = 0.
6. Для каждого векторного элемента aeF и для каждого
скаляра т е F произведение т на а также является вектором
пространства V. Если т= 1, то
та = la = а1 = а.
7. Для любых скаляров т и п из области F и любых векто¬
ров а н b из пространства V умножение на скалярные величины
является дистрибутивным:
т (а + b) = та + mb,
(т + п) а = та + па.
8. Для любых скаляров т и п из области F и любого век¬
тора а из пространства V
т (па) = (тп) а = тпа.
Примерами линейного векторного пространства являются
множества из всех действительных одно-, двух- или трехмерных
векторов.
571
А.5. Линейная зависимость и линейная независимость
Конечное множество векторов {xi, х2, ..., хя} в пространстве
V является линейно зависимым тогда и только тогда, когда су¬
ществуют я скаляров {ci, с2, сз, ..., сп} в области F (не все
равные нулю), такие, что
с,х, + с2х2 + с3х3 + ... + спхп = 0. (А.9)
Если единственным условием справедливости этого уравне¬
ния является тождественное равенство всех скаляров с< нулю,
то множество векторов {х,} является линейно независимым.
Два линейно зависимых вектора в трехмерном пространстве
коллинеарны, т. е. они находятся на одной линии. Три линейно
зависимых вектора в трехмерном пространстве компланарны,
т. е. они лежат в одной плоскости.
Пример. Пусть а ==(1,2, 0)г, b = (0, 3, 2)г, а с= (3, 0, —4)г—
векторы трехмерного векторного пространства. Эти три вектора
составляют линейно зависимое множество в трехмерном век¬
торном пространстве, поскольку
За — 2Ь — с = 0.
Они являются также компланарными.
А.6. Линейные комбинации, базисные векторы и размерность
Если существует подмножество векторов (ei, е2, ..., еД
в пространстве V и множество скаляров (еь е2, .. ., е„} в про¬
странстве F, такие, что каждый вектор х в V может быть вы¬
ражен как
П
x = cje, + с2е2 + ... + спеп = £ с*еь (АЛО)
i = 1
то вектор х является линейной комбинацией векторов {е,}.
В этом случае говорят, что множество векторов {е,} охваты¬
вает векторное пространство V.
Базисными векторами в векторном пространстве V является
множество линейно независимых векторов, охватывающих век¬
торное пространство V. Другими словами, базисные векторы —
это минимальное число векторов, охватывающих векторное про¬
странство V. При выбранном множестве базисных векторов для
векторного пространства V каждый вектор xeF может быть
однозначно записан в виде линейной комбинации базисных
векторов.
Размерность векторного пространства V равна числу базис¬
ных векторов, описывающих это пространство. Таким образом,
я-мерное линейное векторное пространство имеет я базисных
векторов. Для представления векторного пространства размер¬
ностью я используется обозначение Vп-
572
А.7. Декартовы системы координат
Из разд. А.6 следует, что при данном множестве из я ба¬
зисных векторов {еь е2, ...,е„} в векторном пространстве Vn
любой вектор г е Vn может быть однозначно записан в виде
линейной комбинации базисных векторов:
г = г1е1 + г2е2+...+гпе„. (А. 11)
В частности, при я = 3 в качестве базисных векторов могут
служить три любых некомпланарных вектора.
В трехмерном векторном пространстве, если множество ба¬
зисных векторов (еь е2, е3} имеет общее начало О, они обра¬
зуют косоугольную систему координат с осями OX, OY и OZ,
Рис. А.З. Системы координат.
направленными вдоль базисных векторов (рис. А.З). Соответ¬
ствующим выбором направления базисных векторов можно
формировать различные системы координат, которые обычно
используются в инженерной практике.
Если базисные векторы {ei, е2, е3} расположены ортогональ¬
но друг другу, т. е. они пересекаются в начале координат О под
ЛраНая
Рис. А.4. Декартова система координат.
прямыми углами, то они образуют прямоугольную или декар¬
тову систему координат. Кроме того, если каждый из базисных
векторов имеет единичную длину, то система координат назы¬
вается ортонормальной. В этом случае обычно для обозначения
базисных векторов вместо (еь е2, е3} используется запись
{i, j,k} (рис. А.4).
Если базисные векторы (i, j, к} ортонормальной системы
координат направлены вдоль основных координатных осей и
для совмещения оси ОХ с осью ОУ требуется поворот вправо
на 90° относительно оси OZ, такая система координат называется
573
правой. Если же направление базисных векторов для аналогич¬
ного совмещения требует поворота влево, соответствующая си¬
стема координат называется левой. В этой книге используется
только правая система координат.
А.8. Произведение двух векторов
Кроме произведения скаляра и вектора важными являются
еще два типа произведений. Первый тип называется скаляр¬
ным (внутренним) произведением, а второй — векторным (внеш¬
ним) произведением.
А.8.1. Скалярное (внутреннее) произведение
Внутреннее произведение двух векторов а и b является ска¬
ляром и определяется выражением
а • b = | а || b | cos0, (А.12)
где 0 — угол между двумя векторами (рис. А.5). Скалярная
величина
& = | b | cos 0 (А.13)
является компонентом вектора b вдоль вектора а, т. е. b чис¬
ленно равняется проекции b на а. Эта величина положительна,
Рис. А.5. Скалярное произведение.
если проекция имеет одинаковое с вектором а направление,
и отрицательна, если проекция имеет противоположное направ¬
ление.
Скалярное произведение
а • b = | а | • | b | cos 0 = |a|6 = |bj|a|
cos 0 =! b [ се (A-14)
равно произведению величины вектора а на компоненту век¬
тора b вдоль вектора а. Оно также равно произведению вели¬
чины вектора |Ь| на компоненту вектора а вдоль вектора Ь.
Следовательно, скалярное произведение обладает свойством
коммутативности:
а • b = Ь • а. (А. 15)
574
Если скалярное произведение а и b равно нулю, то один из
векторов или оба вектора равны нулю, либо они перпендику¬
лярны друг другу и cos(±90°) = 0. Таким образом, два нену¬
левых вектора а и b ортогональны тогда и только тогда, когда
их скалярное произведение равно нулю.
Поскольку внутреннее произведение может равняться нулю,
когда ни один из векторов не равен нулю, то деление на век¬
тор не определяется. Таким образом, если
а • Ь = а • с, (А. 16)
то не b = с, а просто а-(Ь — с)=0 и b — с является нулевым
вектором или вектором, ортогональным к а.
Если а и b имеют одно направление и 0 = 0°, то cos 0 = 1
и a b равно произведению длин этих двух векторов. В частно¬
сти, если а — Ь, то
а • b = а • а = | а || а | = | а |2, (А. 17)
т. е. равно квадрату длины вектора а.
Скалярное произведение векторов является дистрибутивным
относительно сложения, т. е.
а • (Ь + с) = а • b + а • с (А. 18)
и
(Ь + с) • а = Ь • а + с • а. (А. 19)
А.8.2. Векторное (внешнее) произведение
Векторное (или внешнее) произведение Лекторов а и b
определяется как вектор с: ьщыу
с = аХЬ, " (А.20)
который ортогонален к векторам а и b и имеет величину
| с | = | а 11 b | sin 0. (А.21)
Вектор с направлен так, что вращение вправо вокруг с на
угол 0, меньший 180°, совмещает а с Ь, где 0 — угол между а и b
(рис. А.6).
Поскольку А = |Ь|sin 0 (рис. А.6), произведение aXb имеет
величину, равную площади параллелограмма со сторонами а
и Ь. Векторное произведение а X b может быть рассмотрено как
результат проецирования вектора b на плоскость WXYZ, пер¬
пендикулярную плоскости векторов а и Ь, вращения проекции
на 90° в положительном направлении вокруг вектора а и умно¬
жения полученного результата на |а|*
575
Векторное произведение b X а имеет ту же величину, что
и аХЬ, но противоположное направление, т. е.
b X а = —(аХ Ь).
(А.22)
Векторное произведение не является коммутативным. Если
векторы а и b параллельны, то 0 равен 0° или 180° и
аХМ
а II b I sin 0 = 0.
(А.23)
И наоборот, если векторное произведение равно нулю, то
один или оба вектора равны нулю или параллельны.
Отметим также, что векторное произведение дистрибутивно
относительно сложения, т. е.
аХ(Ь + с) = аХЬ + аХс
(Ь + с)Ха = ЬХа + сХа.
(А. 24)
(А.25)
Для скалярного и векторного произведения единичных век¬
торов i, j, к, направленных вдоль основных осей правой декар¬
товой системы координат, имеем
i • i = j • j == k • k = 1,
ij — jk = k- i = 0,
' i X i = j X j = k X k = 0,
i X j = — j X i = k,
jXk = —kXj = i.
kXi = ~iXk = j.
(A. 26)
576
Используя определение составляющих элементов вектора
и уравнение (А.26), скалярное произведение а и b можно за¬
писать в виде
a - b = (a,i + a2j + a3k) •(&,! + У + УО = a1b1 + a2b2 + a3b3 = arb,
(A.27)
где aт обозначает транспонирование а (разд. A.12). Векторное
произведение а и b можно записать в виде детерминанта
(разд. А. 15)
i J к
а X b = а, а2 а3
bi 62
= (a2b3 — a3b2) i + (a3bi — a{b3) j + (аф2 — а2Ь,) к. (А.28)
А.9. Произведение трех и более векторов
Для скалярных и векторных произведений трех и более век¬
торов обычно выделяют следующие типы произведений:
(а • Ь)с, а • (b X с), аХ(ЬХс).
(А. 29)
Произведение (а-Ь)с является простым произведением ска¬
ляра (а-b) и вектора с. Результирующий вектор имеет вели-
Рис. А.7. Смешанное произведение.
чину j а - Ь11 с | и направление, совпадающее с направлением
вектора с или противоположное ему в зависимости от знака
(ab).
Смешанное произведение а-(ЬХс) представляет собой ска¬
ляр с величиной, равной объему параллелепипеда с гранями,
образованными векторами а, b и с (рис. А.7), т. е.
а • (b X с) = I а || b || с | sin 0cosa = hA — объем параллелепипеда,
(А. 30)
577
где h и А — соответственно высота и площадь основания па¬
раллелепипеда. Представляя векторы в виде составляющих их
элементов в трехмерном векторном пространстве, получим
к
а • (b X с) = (aj + ау\ + агк)
‘ J
ьх by bz
(Ьусг bzcy) -j- ctу (Ьгсх Ьхсг) -J- ttz(bxCy Ьусх) =*
(А.31)
йх ciy а,
Ьх Ьу bz
Отметим, что скобки, выделяющие векторное произведение
b X с, могут быть сняты, поскольку не имеет смысла представ¬
ление a b X с в виде (а-Ь)Х с.
Видно также (рис. А.7), что объем параллелепипеда не за¬
висит от плоскости, выбранной за его основание.
Таким образом,
' а-ЬХс = Ь-сХа = с-аХЬ (А.32)
и
а-ЬХс = — а-сХЬ = — с-ЬХа = — ЬаХс- (Л.33)
Эти результаты могут быть получены из свойств детерми¬
нантов (разд. А.15). Запись а*ЬХс=аХЬ*с может быть
'пая циклическая
Рис. А.8. Циклическая перестановка.
представлена в виде (abc), поскольку смысл данного выраже¬
ния не меняется от использования операции, обозначенной точ¬
кой или косым крестом. Уравнение (А.32), выражает цикличе¬
скую перестановку этих векторов, а уравнение (А.33) выражает
их обратную циклическую перестановку. Иллюстрация цикли¬
ческой перестановки приведена на рис. А.8. Уравнение (А.32)
получается путем следования по часовой стрелке вдоль окруж¬
ности. Таким же образом, но в обратном направлении, полу¬
578
чается уравнение (А.33). Смешанное произведение может быть
использовано для проверки линейной зависимости трех компла¬
нарных векторов. Если три вектора а, b и с—компланарны, то
(abc)=0. Следовательно, если два или три вектора равны, то
смешанное произведение будет равно нулю. Из этого следует,
что если еь е2 и е3 являются базисными векторами в векторном
пространстве Уз, то (е^гез) ф 0, и они образуют правую си¬
стему координат при (е^ез) > 0 и левую систему координат
при (eie2e3)<0.
Двойное векторное произведение аХ(ЬХс) представляет
собой вектор, перпендикулярный (ЬХс) и лежащий в плоско¬
сти векторов b и с (рис. А.9). Предположим, что векторы а, b
Рис. А.9. Двойное векторное произведение.
и с неколлинеарны. Тогда вектор а X (ЬХс), находящийся в пло¬
скости векторов b и с, может быть выражен в виде линейной
комбинации b и с, т. е.
а X (b X с) = mb + пс. (А.34)
Поскольку вектор аХ(ЬХс) перпендикулярен вектору а,
то при скалярном умножении левой и правой частей уравнения
(А.34) на вектор а получим 0:
а • [а X (b X с)] = т (а • Ь) + п (а • с) = 0. (А.35)
Таким образом,
где т, п и А, — скаляры, и уравнение (А.34) примет вид
а X (b X с) = X [(а • с) b — (а • Ь) с]. (А.37)
Можно показать, что X, = 1, поэтому двойное векторное
произведение будет равно
а X (b X с) = (а • с) b — (а • Ь) с. (А.38)
579
Используя уравнение (А.22), получим
(а X b) X с = - с X (а X Ь) = - (с • Ь) а + (с • a) b. (А.39)
Более сложные случаи умножения четырех и более векто¬
ров можно упростить с помощью двойных произведений. На¬
пример,
(а X b) X (с X d) = (а X b • d) с — (а X b • с) d = (abd) с — (abc) d
(А.40)
и (а X Ь) • (с X d) = а • d X (с X d) = а • [(Ь • d) с — (Ь • с) d] =
= (b • d) (а • с) — (Ь • с) (а • d). (А.41)
А.10. Производные векторных функций
Производная вектора г (t) определяется как
Пг . ,. г (f + ДО — г (t) .. Дг ,п.
~ггА lim — ^Ьш -гг-. (А.42)
dt М-*о At^0 м '
Из уравнений (А.11) и (А.42) следует, что
= Ш|+(т))+№)|‘ <А-«)
dr
~зг
и т-я производная от г(0 равна
dn г (&пГх\. fdnrv\ / dnrz\
ipr = М * + Ы) 1 + Ьрг) к- (А.44)
Из уравнения (А.42) вытекают следующие правила диффе¬
ренцирования векторных функций:
1) -£(а±Ь) = £' (А.45)
^ ~дТ^Пд^~ГП~Л'’ где т~~ СкаляР‘>
3> b + a.(f);
*) T<“Xb) = (f)Xb + aX(f);
5) ± (abc) - [(f-) Ьс] + а [(■£) с] + [аЬ(£)];
580
6) 4г [■ X (b Хс)] -[-f-X (b Xc)] + [a X (4r Xc)] +
+ [*x(bx-S-)].
A.ll. Интегрирование векторных функций
, то интеграл векто
a (t) = ^ b (т) dx + с,
Если da./dt = b(t), то интеграл вектора b(t) представляет
собой
; (А. 46)
где с — постоянный вектор.
Если Ь(^) можно записать в прямоугольной системе коор¬
динат, то
2х (0 \ ^х W ^ ^х’
У'У (0 ^ by b)dx "Е Суу
«2 (0 = 5 ьг (т) dx + Сг.
(А. 47)
А.12. Матричная алгебра
Ниже мы рассмотрим еще один важный математический
инструмент—матрицы, которые составляют основу математи¬
ческого аппарата при анализе роботов. Матрица А (или
Атхп) порядка т\п представляет собой прямоугольную си¬
стему действительных или комплексных чисел, называемых эле¬
ментами матрицы, которые расположены в т строк и п столб¬
цов:
А = [ац] =
а,
а21 ^22
«1»
а2 п
t = 1, 2, ..., т,
/= 1, 2, .. ., п.
(А. 48)
Кроме специальных случаев будем предполагать, что А яв¬
ляется действительной матрицей. Матрица, состоящая из од¬
ного столбца (строки), называется матрицей-столбцом (стро¬
кой). Матрица-столбец и матрица-строка часто рассматри¬
ваются как векторы.
Транспонированная матрица А, обозначаемая Аг, пред¬
ставляет собой матрицу, номер строки в которой совпадает
581
с номером столбца матрицы А. Другими словами, если
А =
то
Ат =
Цц
а\2
... а1п ~
а2\
а22
. . . а2п
— ат\
ат2
■ • • &тп_
Цц
а21
... ат1
а\2
а22
... ат2
— и1п
г2 п
1 = 1, 2,
7 = 1» 2,
г = 1, 2,
/= 1, 2,
т,
п,
п,
т.
(А.49)
(А.50)
В частности, при транспонировании матрицы-столбца полу¬
чается матрица-строка, и наоборот.
Квадратная матрица порядка п имеет одинаковое число
строк и столбцов (т. е. т — п). Диагональная матрица порядка
п является квадратной матрицей с нулевыми недиагональными
элементами, т. е. элементы
а-ц — 0 при i¥=j для I, /=1, 2,
п.
(А.51)
Единичная матрица порядка п представляет собой диаго¬
нальную матрицу с единичными диагональными элементами,
т. е. ац = 1, если i = /, и ац = 0, если i ф /. Эта матрица на¬
зывается тождественной и обозначается через \п или 1пхп.
Симметрической матрицей порядка п называется квадрат¬
ная матрица, которая не изменяется при транспонировании,
т. е. А = Аг или ац = ац для всех i и /. Если элементы квад¬
ратной матрицы такие, что
а,ч =
и ап = 0,
г, 1=1, 2 п,
(А. 52)
то матрица называется кососимметрической. Отметим, что если
А — кососимметрическая матрица, то А = —АГ.
Любая несимметрическая матрица А может быть преобра¬
зована в симметрическую матрицу С следующим образом:
А + А
(А. 53)
Нулевой матрицей называется матрица, все элементы кото¬
рой тождественно равны нулю. Две матрицы одного порядка
равны, если равны их соответствующие элементы, т. е. если
ац — Ьц для всех i и /, то А = В.
582
А.13. Сложение матриц
Сложение (вычитание) матриц А и В одного порядка даег
результирующую матрицу С того же порядка, элементы кото¬
рой представляют собой сумму (разность) соответствующих
элементов матриц А и В. Таким образом,
А + В = С или ац + Ъц — ci{ для всех i, j (А.54)
и
А — В = С или atj — btj = Сц для всех i, j. (А.55)
Сложение матриц имеет те же свойства, что и сложение дей¬
ствительных чисел:
1) А -Г В = В А;
2) (А+В)+С = А + (В + С);
3) А + О = А (О — нулевая матрица); (А.56)
4) А + (—А) = О.
А.14. Умножение матриц
Произведение скаляра и матрицы получают путем умноже¬
ния каждого элемента матрицы А на скаляр. Таким образом,
kA = Ak = [kaij] = [aijk], i= 1, 2, ..., tn, / = 1, 2, ..., n.
При умножении произвольной матрицы порядка (mX«)
на произвольный скаляр справедливы следующие правила:
1) а (А + В) = аА + аВ;
2) (а + Ь) А = аА + 6А;
3) а(6А)=(а6)А; (А.57)
4) 1А = А, .о -v! '■ ■' ■ Г-!
где а и b — скаляры.
Две матрицы могут быть перемножены, только если они со¬
ответствуют друг другу, т. е. если АВ = С, то число столб¬
цов А должно быть равно числу строк В, при этом результи¬
рующая матрица С имеет число строк и столбцов, соответ¬
ственно равное их числу в А и В. Таким образом,
П
(Ат х«) (Вл Хр) == ^*т Хр ИЛИ Ctf = ^ &ikbk/• r’ f '; (А.58)
6 = 1
Относительно уравнения (А.58) можно сказать, что или А
стоит перед В, или В стоит после А при формировании С. Для
получения элемента i-й строки и }-го столбца С суммируются
произведения членов соответствующих элементов в i-й строке
А и /-м столбце В по уравнению (А.58). Другими словами,
производится умножение i-й строки А на /-й столбец В. Как
583
правило, умножение матриц не является коммутативным, даже
если они соответствуют друг другу, т. е. для квадратных матриц
А и В порядка п имеем АВ ф ВА.
Если АВ = ВА, то матрицы коммутативны. Единичная мат¬
рица коммутативна относительно любой квадратной матрицы:
IA = AI = А, (А. 59)
Умножение матриц ассоциативно и дистрибутивно по отно¬
шению к сложению матриц, т. е.
1) (feA)B = fe(AB) = A(feB);
2) А(ВС) = (АВ)С;
3) (А + В)С = АС + ВС;
4) С(А + В) = С А + СВ
(А.60)
в предположении, что умножение осуществимо. Из правила 2)
следует, что при умножении трех матриц можно или умножить
В на С или умножить А на В, а потом умножить результат на
оставшуюся матрицу. Обычно АВ = О не означает, что А = О
или В = О. Сформулируем следующие правила умножения
матриц:
1) (Матрица)тхге (Матрица)пхр = (Матрица)тхр;
2) (Матрица)тХп (Матрица-столбец)^, = (Матрица-
столбец^ х1;
3) (Матрица-строка),хге (Матрица-столбец)пХ, = Скаляр;
4) (Матрица-строка), хт (Матрица)тХге = (Матрица-
строка), х„;
5) (Матрица-столбец)тХ, (Матрица-строка),хге =
= (Матрица)тХ„.
Иногда при сложении и умножении матриц удобно разби¬
вать матрицы на подматрицы для применения правил матрич¬
ной алгебры к подматрицам.
А. 15. Детерминанты
Детерминант матрицы А размерностью пуСп записывается
в виде
ап а\2 • • • а\п
а21 а22 • • • а2п
I А | =
&nl &п2
(А.61)
584
1
и равняется сумме произведении элементов произвольной стро¬
ки или столбца на их соответствующие алгебраические допол¬
нения, т. е.
А1 = £ аиАц = Z ацАи.
(А.62)
Здесь Aij — дополнение элемента а,-/, которое определяется
выражением
Alt = (-\)t+lMt„ ■ (А.63)
где Mi/ — дополнительный минор, полученный исключением
элементов в i-й строке и /-м столбце детерминанта 1Л|. Дру¬
гими словами, если
I АI =
аи а12
@21 @-22
@1п
@2п
@11 @12 • • • @tf • • • @in
@nl ®-п2 • • * @nl • • • @пп
то, исключая элемент, г-й строки и }-го столбца, получим
«11 @12 ••• а1, 1 + 1 ••• а1п
@i-1,1 @i-1,2
«/ + ],] a/ + l,2
-‘«г
a,-_lj/+1 ... @i-\,n
ai + l,l~i ai + l,/ + l ••• ai + l,ra
• an,l-\
Q-n, l + l • • •
Из приведенного определения следует, что детерминант по¬
рядка я зависит от я детерминантов порядка я— 1, каждый из
которых в свою очередь зависит от я—1 детерминантов по¬
рядка я — 2, и так далее до детерминанта порядка 1, который
является скаляром.
Для вычисления детерминантов второго и третьего порядков
может быть использован простой диагональный метод. Для
я = 2 имеем
Дц #12
I А |= =@\\@22 @2\@\2-
«21 @22
(А.64)
583
I АI =
Детерминант третьего порядка находится следующим образом:
«п «:з «13 - ■ ;
«21 «22 «23 = «11«22«33 «12«23«31
«31 «32 «33
4" «13«32«21 «31«22«13 «12«21«33 «П«32«23- (А.65)
Для упрощения вычислений детерминантов используются
следующие свойства:
1. Если все элементы любой строки (или столбца) матрицы
А равны нулю, А| = 0.
2. | А | = | Аг .
3. Если две любые строки (или столбца) матрицы А поме¬
нять местами, изменится знак соответствующего детерминанта.
4. Если А и В имеют порядок п, то |АВ| = |А||В .
5. Если все элементы любой строки (или столбца) матрицы
А умножить на скаляр k, значение детерминанта увеличится
в k раз.
6. Если ранг (разд. А. 16) матрицы А порядка п меньше п,
ее детерминант равен нулю.
7. Если кратное любой строки (или столбца) сложить с дру¬
гой строкой (или столбцом), детерминант не изменится.
Пример. Пусть
Г 1 а а2 1
1 b b2
„2
1
С С*
1
а
а2
1
а а2
|А| =
1
b
Ь2
0
b — а Ь2 — а2
1
с
с2
0
с — а с2 — а2
Тогда
= {Ъ — а) (с2 — а2) — (с — а) (Ь2 — а2) =
— (а — Ъ){Ъ — с) (с — а).
Этот детерминант называется детерминантом Вандермонда
третьего порядка.
А.16. Ранг матрицы
Если строки квадратной матрицы А порядка п линейно не¬
зависимы, детерминант такой матрицы не равен нулю, а матрица
называется невырожденной. Если детерминант квадратной мат¬
рицы порядка п равен нулю, то матрица — вырожденная, а ее
строки не являются линейно независимыми. Таким образом, де¬
терминант может использоваться для характеристики особен¬
ности матрицы.
Ранг матрицы А порядка шХя равен порядку наибольшей
подматрицы А с ненулевым детерминантом. Следовательно, мат¬
рица порядка тУ^п может иметь ранг, равный наименьшему
из значений тип или ниже. Ранг матрицы определяет число
линейно независимых строк (или столбцов) в матрице.
А.17. Присоединение и обратные матрицы
Если А — квадратная матрица, а Л,у— алгебраическое до¬
полнение элемента ач в детерминанте |А|, то транспонирован¬
ная матрица, полученная из дополнений А,/, называется при¬
соединенной к А матрицей:
\Ац\Т = [Ац] i, /= 1, 2, ..., п. (А.66)
Иногда присоединение к А записывается в виде adj А.
Обратная матрица А~‘ к невырожденной квадратной мат¬
рице А равна присоединенной к А матрице, деленной на детер¬
минант А, т. е.
, \А,ЛТ adjA
А = (А-67)
Произведение невырожденной матрицы А порядка «Хи на
свою обратную матрицу равно тождественной'матрице \п, т. е.
АА~‘ = А_1А = 1„. (А.68)
Таким образом, из уравнений (А.67) и (А.68) получаем
(a djA) А = A (a djA) — | А11„ (А.69)
и
|А_,| = -щ-. (А.70)
Если Аь А2, ..., А„— квадратные матрицы порядка п, об¬
ратная матрица их произведения равна произведению их обрат¬
ных матриц в обратном порядке:
(AiA2 ... Ап)~1 = Ап1Ап-х ... АГ‘АГ‘. (А.71)
Аналогично, если существует матрица произведения AiA2 ...
... Ап, то транспонированная матрица этого произведения рав¬
на произведению транспонированных матриц в обратном по¬
рядке:
(А,А2Ач ... Ап)т = (Ап)г (А„_ ^ ... (А2У (A,f. (А.72)
В общем случае матрица порядка 2X2
имеет обратную матрицу, равную
Аналогично матрица порядка 3X3
г а b с ~\
А = d е f
-g h i.
имеет обратную матрицу, равную
А-1 ! v
aei + dkc + gfb — afh — dbi — gee
{ei — fh) — (bi — ch) (bf — ce) -
X — {di — fg) {ai — eg) — {af — cd)
(dh — ge) — {ah — bg) (ae — bd).
Важный результат, называемый леммой об обращении, фор¬
мулируется следующим образом:
[А"'+ВГСВ] ‘=А-АВГ[ВАВГ + С-1] ‘BA. (А.73)
Доказательство этого результата предполагается выполнить в
качестве упражнения.
А. 18. След матрицы
Следом квадратной матрицы А порядка п является сумма
ее диагональных элементов
Некоторыми важными свойствами следа матрицы являются
следующие свойства:
Более подробное изложение материала, рассмотренного в
данном приложении, можно найти в работах [21, 82, 218, 237,
285].
П
Тгасек = Тг {А) = £ аи.
1 = 1
(А.74)
1) Гг (А) = Гг (АО;
2) 7Y(A+B) = 7Y(A)+7Y(B);
3) Tr (AB) = 7Y(BA);
4) Tr{\BCT) = Tr{CBT\Tj.
(A.75)
(A.76)
(A.77)
(A.78)
Приложение Б.
ЯКОБИАН МАНИПУЛЯТОРА
При раздельном (независимом) управлении движением
(гл. 5) необходимо определять, насколько бесконечно малое
движение каждого сочленения манипулятора влияет на беско¬
нечно малое движение всего манипулятора. Одним из преиму¬
ществ раздельного движения является существование линей¬
ного соответствия между пространством бесконечно малого
движения сочленений и пространством бесконечно малого дви¬
жения манипулятора. Это соответствие определяется с помощью
якобиана. Ниже рассматриваются три метода получения яко¬
биана для шестизвенного манипулятора с поступательными и
вращательными сочленениями.
Б.1. Метод векторного произведения
Пусть векторы положения, линейной и угловой скорости ма¬
нипулятора (конечного звена) относительно базовой системы
координат (х0, уо, zo) определяются соответственно в виде
Р(0Д[р*(0, Py(t), МОГ,
v(0Ak(0, Vy(t), МОГ, (Б.1)
0(0 А к (0, со, (О, мог,
где, как и выше, знак Т обозначает операцию транспонирова¬
ния. Основываясь на идее подвижной системы координат [310],
линейную и угловую скорости манипулятора можно получить из
скоростей входящих в манипулятор сочленений:
[ о 00 ] “ J ^ ^ “ ^Jl 1,2 Js ^ ^ ’ (Б'2^
где J(q)—матрица порядка 6X6, в которой г'-й столбец век¬
тора J;(q) определяется [310] в виде
J/ (Ч) = ‘
гГг^Х'-'Ва I
J, если (-е сочленение — вращательное,
Г Z/-' 1
q , если (-е сочленение — поступательное.
(Б.З)
где q(0 = [M0, •••> М01г— вектор скорости сочленения ма¬
нипулятора, X — знак векторного произведения, ‘-'ре — положе¬
589
ние начала системы координат конечного звена манипулятора
относительно системы координат (i—1)-го звена, записанное в
базовой системе координат, a z,_i — единичный вектор вдоль
оси движения г-го сочленения, записанный в базовой системе
координат.
Для шестизвенного манипулятора с шарнирными сочлене¬
ниями якобиан может быть найден в виде
Для манипулятора робота Пума (рис. 2.11) и матриц пре¬
образования координат его звеньев (рис. 2.13) элементы яко¬
биана определяются следующим образом:
С[ [<Д (C23C4S5 + Д:А) + S23d4-{-a3C23-{-a2C2] — Д (dgSA-fA)
J(0) = [
Ч X °Р6 Ч X ‘Ре • • • Ч > "
Ч Ч
Ji (0) =
—Si [d& (AASs+S2:A) ААД+аАз+^аД]—Д (ДДДДД)
О
О
о
ДДХХ + d2Cl
d§S\S4S§ -f- d2Sl
h (9) =
где
Si
С,
О
590
где
<Мв)’
где
и
/Зг = — 5! [d^Sfi^Sj — dsC:iC-3 — d4C3 -f- a3S4] -
— Cl [d6C3C455 + dsS3C5 -f- d453 -f- «3^3],
5i523 {d3C5 -f- d4) d6C23SiS3
dsC23C4Sa — С^зз {d(p3 -f- d4)
doC iS>:iSiS-, dtJSlS2:iCiS=
C1S23
S{S23
_ C23 _
deS23S4C3
d6S23S4Sa
^б£10гз54Сд -f- d3S]C4C$ -f- d3Sfi23SiS3 d3CiCiS5
CiC2354 5[C4
— 51С2з54 + С1С4
52з54
d3 (S[C23C4 -f- C[54)5g -f- d6S[S23C5
d& (ClC23C4 — StSJS, dsC\S23C5
0
(C,C23C4 5[S4) Sg -f- С^гзСд
(5102304 -j- C[S4) 53 -f- 5152зСд
52зС45д -f- C23C5
S; = sin 0г, Ci = cos 0,-, 5г/ = sin (0г -f- 0/)
Cij = cos (0г + 0;).
JB(0) =
Если требуется управлять манипулятором вдоль или вокруг
осей системы координат манипулятора, необходимо выразить
линейную и угловую скорости в системе координат манипуля¬
тора. Это можно сделать умножением v(/) и Q(f) на матрицу
вращения [°Яб]7' размерностью 3X3, где °R6—матрица враще¬
ния манипулятора, связывающая положение системы координат
конечного звена манипулятора с базовой системой координат.
Таким образом,
4(0
4(0
r[°R6]
о
0 1Гv<?> 1 _Г R
’Ref J L R (О J L 0
Ro 0
6Ro
где 0 — нулевая матрица размерностью 3X3.
[J (q)l q (0,
(Б.5)
591
Б.2. Метод дифференциального перемещения и вращения
В работе [229] используется однородная матрица преобра¬
зования для нахождения дифференциального перемещения и
вращения относительно системы координат, из которых опреде¬
ляется якобиан манипулятора. Для заданной системы коорди¬
нат Т звена манипулятора дифференциальное изменение в Т
соответствует дифференциальному перемещению или вращению
вдоль или вокруг базовых осей координат, т. е.
Т (Б.6)
или
сП =
*
о
о
-
г 1
-бг
о
55>
«о
о
t—*
о
а.
ьг
1
-ьх 0
о о 1 4
-А
б*
1 0
О
О
о
-
- 0
0
0 1
1 о 0 dxn
1
-Ьг
бн 0-.
О
t—*
о
а.
бг
1
о
ч
«о
1
0 0 1 dz
-б,
6,
1 0
_
0 0 0 1 -
_
0
0
0 1 -
г 1
0
0
0-1
-
0
1
0
0
0
0
1
0
-0
0
0
1-
Т = ЛТ,
(Б.7)
г 1
0
0
dx~
г 1
-в*
б,
0 -1
г 1
0
0
0-1
0
1
0
dy
бг
1
-б,
0
0
1
0
0
0
0
1
dz
-6,
б*
1
0
0
0
1
0
-0
0
0
1 -
- 0
0
0
1 -
-0
0
0
1 -
где
АД
(Б.8)
б = (б*, б у, бг)г — дифференциальное вращение вокруг основных
осей базовой системы координат, a d = (dx, dy, dz)T—~ дифферен¬
циальное перемещение вдоль основных осей базовой системы
координат. Аналогично дифференциальное изменение в Т может
быть записано в соответствии с дифференциальными переме¬
щением и вращением вдоль и вокруг системы координат Т:
T + dT = T
г 1
0
0
dx
г 1
-вг
бУ
о-
0
1
0
dy
бг
1
-б,
0
0
0
1
dz
-б,
б,
1
0
-0
0
0
1 -
L о
0
0
1 -
(Б.9)
592
или
rfT = T
1 О О dx
0 10 cLy
0 0 1 dz
■ О 0 0 1 J
1 0 0 0-
0 10 0
0 0 10
L0 О О 1 ■
1
-бг
б„
°1
бг
1
-бх
0
-Ьу
б*
1
0
0
0
0
1 -
=4(Т)(ГА),
(Б. 10)
где ТА имеет ту же структуру, что и в уравнении (В.8) с учетом,
что определения б и d — различны. 6 = (б*, б у, б*)7— дифферен¬
циальное вращение вокруг основных осей системы координат
a d=*(dx, dy, d2)T — дифференциальное перемещение вдоль
основных осей системы координат Т. Связь между А и ТА по¬
лучаем из уравнений (Б.7) и (Б,10):
или
АТ = (Т) (ГА)
ГА = Т-1 АТ.
(Б. 11)
С учетом уравнения (2.2-27) уравнение (Б.11) имеет вид
"■‘АТ —
Г п
S
а
(6 X п)
(бХп)
(бХп)
0
А = Т
(б X S)
(б X s)
(б X s)
о
(б X а)
(б Ха)
(б X а)
О
■ (6ХР)+ d-|
(б X Р) + d
(б X Р) + d
О
(Б. 12)
где б = (б*, б у, бг)г — дифференциальное вращение вокруг основ¬
ных осей базовой системы координат, a d ~{dx, dy, dz)T — диф¬
ференциальное перемещение вдоль основных осей базовой си¬
стемы координат. Используя векторные тождества
х • (у X z) = — у • (х X г) = у • (z X х)
и
X • (х х у) =* о,
I
20 К. Фу и др.
593
уравнение (БЛ2) можно записать в виде
ГА =
О _6.(nXs)
6 • (n X s) О
6-(аХп) б • (s X а)
О О
б • (а X п) 6 • (pXn)+d • п-
6-(s Ха) 6 • (pXs)-f-d • s
О б • (PXa)+d • а
О О
(БЛЗ)
Поскольку координатные оси n, s, а — ортогональны, имеем
nXs = a, s Xa = n, aXn = s, ‘ :
и уравнение (БЛЗ) запишется в виде
А =
О - 6 • а
б • а О
6 • s б • п
О О
б • s 6 • (р X п) + d • п
б • n 6-(pXs) + d'S
О А ■ (р X а) + d • а
О О
(Б Л 4)
Если задать элементы А в виде
" 0
-4
4
tdx
II
4
0
4
-4
4
0
4
4
0
0
0
0
(Б Л 5)
то, приравнивая элементы матриц из уравнений (БЛ4) и (БЛ5),
получим
rdx = 6 • (р X n) + d • n = п • [(6 X р) + d],
Tdy = 6 • (р X s) + d • s = s • [(6 X p) + d],
4 = MpXa) + d-a = a.[(6Xp) + d],
T6, = 6 • n,
(БЛ6)
6^ = 6 • s,
TS, = 6 • a.
594
Записывая эти уравнения в матричной форме, имеем
!
н
1
dx
Чу
dy
г [n, s, af [(р X n), (р X s), (рХа)]г1
dz
тьх
L 0 [n, s, a]r J
К
Ч
Ч2_
(Б.17>
где 0 — нулевая подматрица размерностью 3X3. Уравнение
(Б.17) дает связь дифференциальных перемещения и вращения
в базовой системе координат и дифференциальных перемещения
и вращения в системе координат Т.
Применяя уравнение (Б. 10) к кинематическому уравнению
серийного шестизвенного манипулятора, получим дифферен¬
циал °Тб:
(Б. 18)
В случае шестизвенного манипулятора дифференциальное изме¬
нение движения i-ro звена вызовет соответствующее изменение
в °T6TsA:
1-2 ,
4-1
i — 1а i — 1»
А/ А; .
(Б.19)
где /-1А/ определяется как преобразование дифференциального,
изменения вдоль или вокруг оси движения i-ro сочленения:
г 0 — i, 0 О-
i-1
А; =
0
0
0
0
0
0
0
- 0
0
0
0 -
rO 0
0
0 1
0 0
0
0
0 0
0
ddt
»
-0 0
0
0 -
если г-е сочленение —
вращательное,
если i-e сочленение
поступательное !
Используя уравнение (Б.19), получим Т“А из дифферен¬
циального изменения движения i-ro сочленения:
'6А = ( А/А2
5А6) ' ‘-1Аг С-1А/Аг+1 ... 3А6):
и,. = г-‘АМг+1 ... 5А6.
+ 1
где
--MJ
ь-i
A<U<,
(Б.21)
20*
595.
Записывая U,- в виде общей однородной матрицы преобразо¬
вания, получим
П-х Sx @х Рх
пу sy ау Ру
и£ =
(Б.22)
С учетом уравнений (Б.20) и (Б.22) для i-ro вращательного
сочленения, уравнение (Б.21) примет вид
Тм
0
— аг
Sz
Рх пу
Цг
0
— пг
PxSy
— «г
пг
0
Рхау
0
0
0
О
dQi. (Б.23)
Для случая призматического i-ro сочленения уравнение
(Б.21) запишется в виде
Те
А =
Г 0 0 0 пг-\
О 0 0 sz
О 0 0 аг
О О О О J
ddi.
(Б.24)
Для элементов TsA, которые были определены в уравнении
(Б.15), приравнивая элементы матриц в уравнениях (Б.15) й
(Б.23) [или (Б.24)], получим
'Тс. —
dx
Те j
т.
_ бг_
РхПу — РуПх
PxSy Pysx
Рх&у Руйх
П,
nz
Sz
аг
О
О
О
аг
ddh
dQh если i-e сочленение —
вращательное,
если г-сочленение —
поступательное.
(Б. 25)
596
Таким образом, якобиан манипулятора может быть получен
из уравнения (Б.25) для i — 1,2, ..., 6:
dq-3
-dq6_
dqx
dq2
(Б.26)
где столбцы матрицы якобиана получаются из уравнения (Б.25).
Для манипулятора робота Пума (рис. 2.11) и его матриц пре¬
образования звеньев (рис. 2.13) якобиан определяется в виде
/ ix == [d& Аз^А + S23C5) + diS23 + Я3С23 + (54С5С6 -f- С456)
— (dgSiSs + d2) [С23 (С^С-^Сд S4S6) ^^SsCe]),
J\y = [do (С23СЛ + S23C5) + dAS23 + аъС2Ъ-\-а2Сг\ ( S4C5S6+C4C6)
— (d6S4S3 + d2) [— C23 (C4C5S6 S4C6) + 52з5556],
hz = \d& Аз С A + 52зС5) + d4S23 + Ц3С23 + (^4^5)
— {d^S^Ss + d2) (C23C4S5 + S23C5);
J lx
j 1 у
где
697
где
‘2х
: (d6S3C5 4~ d,C3C4S, Ц- d4S3 -j- a3C3 -j- a2) (S5C6) —
— (— 4AA 4- d6S3C4S3 </4C3 4- <23S3) (C4Cr_C6 — S4S6)f
/2г/ = — (Wb "b SeC3C4S5 4- d4S3 4- a3C3 + a2) (S-Дз) 4-
4- (— d&C3Cj 4- d6S3C4S5 — rf4C3 4- a3S3) (C4C5S6 4~ S4Cq),
/гг — — (ДДА 4~ d&C3C4S5 4- d4S3 4~ я3С3 4- a2) ^5 —
— (— d^C3C5 4- d&S3C4S5 d4C3 4- a3S3) (C4S5);
(a3 + d6C4S3) (SsCe) 4- (<Z4 4- d^C5) (C4C5C6 — ДД)
— (a3 4- d6CAS5) (S3S3) (d4 4- d3C5) (C4C5S3 4- S4C6)
— (<з3 4- dbC4S5) C5 4* (d4 4- d6C5) C4C5
S4C3C6 + C4Se
— S4C5S6 4' C4Se
S4S3
dfjS-S3
J3 (9) =
J4(0) =
d&SbC6
0
SgCg
SsSb
C5 .
de,C&
~0~
d§Sb
0
0
0
S6
, J6(0) =
0
С8
0
0
_ 1 _
Jb(9) =
Б.З. Определение якобиана из уравнений движения
Ньютона — Эйлера
В рассмотренных двух методах якобиан был получен в ана¬
литической форме. Возможно численное определение элементов
якобиана во времени в явном виде из уравнений движения
Ньютона — Эйлера. Это определение основывается на том, что
отношения малых величин ускорений конечного звена манипу¬
лятора к малым величинам ускорений сочленений являются
элементами якобиана, если исключить нелинейные компоненты
ускорений из уравнений движения Ньютона — Эйлера. Ускоре¬
ния манипулятора могут быть получены путем нахождения про-
698
изводной по времени от вектора скорости из уравнения (Б.2):
[ ^ ] = J (Ч) Ч (0 + j (q, q) q (О, (Б.27)
где q(/)= [<M0« •■•> 4Fe(01г — векТ0Р ускорения сочленения
манипулятора. Первый член уравнения (Б.27) дает линейную
связь между ускорениями манипулятора и сочленений. Второй
член характеризует нелинейные компоненты ускорений и яв¬
ляется функцией скорости сочленений. Таким образом, линей¬
ная связь между ускорениями манипулятора и ускорениями со¬
членений может быть найдена из уравнений движения Ньюто¬
на—Эйлера с помощью первого члена в уравнении (Б.27). Из
табл. 3.3 имеем следующие рекурсивные кинематические выра¬
жения (здесь рассматриваются только манипуляторы с шар¬
нирными сочленениями):
tRo<*i = iRi-i(i-1Ro<*i-i + Zo<ii)> (Б.28)
= ‘Ri_i [I_1R0«>/-i + zo<71 4~ (,-IRo®»-i) X zo4t]> (Б.29)
= C'R<A) X CR0p;) + ('R0«>f) x
X [(‘R0wi) X (ВД)] + ‘R,_, C-’RoV,.,). (Б.30)
Третий член уравнения (Б.29) и второй член уравнения
(Б.30), представляют нелинейные кориолисово и центробежное
ускорения. Исключая эти члены в уравнениях (Б.29) и (Б.30),
получим линейную связь между ускорениями манипулятора и
ускорениями сочленений. Если использовать входной единичный
вектор ускорения (qu q2, q6)T = (\, 0, 0, ..., 0)r, (q и q2, ...
.... <76)r=(0, 1, 0, ..., О)*, (qu q2, ..., q6y=(0, 0, 0, ..., l)T
и т. д., то столбцы якобиана могут быть выделены, так как пер¬
вый член в уравнении (Б.27) является линейным, а второй (не¬
линейный) член исключен. Этот численный метод требует около
24я(я+1)/2 операций умножения и 19я(я1)/2 операций
сложения, где я — число степеней свободы. Кроме того, необхо¬
димо произвести 18я операций умножения и 12я операций сло¬
жения для преобразования ускорений манипулятора из системы
координат его звеньев в систему координат манипулятора.
Хотя эти три метода эквивалентны с точки зрения нахожде¬
ния якобиана, последний метод удобен для устройства управ¬
ления, использующего уравнения движения Ньютона — Эйлера.
Поскольку для определения моментов в сочленениях из урав¬
нений движения Ньютона — Эйлера разработаны способы па¬
раллельного вычисления [158], то якобиан может быть также
вычислен этими способами. Однако последний метод дает толь¬
ко численные значения якобиана и не позволяет получить его
аналитическую форму.
Более подробно вопросы, затронутые в данном приложении,
можно найти в работах [222, 229, 310].
599
ЛИТЕРАТУРА
1. Aggarwal J. К., Badler N. I. feds.) Motion and Time Varying Imagery,
Special issue. IEEE Trans. Pattern Anal. Machine Intelligence. PAMI-2,
No. 6, pp. 493—588, 1980.
2. Agin 0. J. Representation and Description of Curved Objects, Memo
AIM-173, Artificial Intelligence Laboratory, Stanford University, Palo
Alto, Calif., 1972.
3. Aibus J. S. A New Approach to Manipulator Control: The Cerebellar Mo¬
del Articulation Controller, Trans. ASME, J. Dynamic Systems, Measure¬
ment and Control, pp. 220—227, 1975.
4. Ambler A. P. A Versatile System for Computer Controlled Assembly,
Artificial Iinteliigence, 6, No. 2, pp. 129—156, 1975.
5. Ambler A. P., Popplestone R. J. Inferring the Positions of Bodies from
Specified Spatial Relationships, Artificial Intelligence, 6, No. 2, pp. 157—
174, 1975.
6. Armstrong W. M. Recursive Solution to the Equations of Motion of an
N-Iink Manipulator, Proc. 5th World Congr., Theory of Machines, Mecha¬
nisms, 2, pp. 1343—1346, 1979.
7. Astrom K. J., Eukhoff P. System Identification — A Survey, Automatica,
7, pp. 123—162, 1971.
8. Baer A., Eastman C., Henrion M. Geometric Modelling: A Survey, Com¬
puter Aided Design, 11, No. 5, pp. 253—272, 1979.
9. Bajcsy R., Lieberman L. Texture Gradient as a Depth Cue, Comput. Graph.
Image Proc., 5, No. 1, pp. 52—67, 1976.
10. Ballard D. H. Generalizing the Hough Transform to Detect Arbitrary
Shapes, Pattern Recog. 13, No. 2, pp. Ill—122, 1981.
11. Ballard D. H., Brown С. M. Computer Vision, Prentice-Hall, Englewood
Cliffs, N. J„ 1982.
12. Barnard S. Т., Fischler M. A. Computational Stereo, Computing Surveys.
14, No. 4, pp. 553—572, 1982.
13. Barr A., Cohen P., Feigenbaum E. A. The Handbook of Artificial Intel¬
ligence, vols 1, 2, and 3, William Kaufmann, Inc., Los Altos, Calif, 1981—
1982.
14. Barrow H. G., Tenenbaum J. M. Experiments in Model Driven Scene Seg¬
mentation, Artificial Intelligence, 8, No. 3, p. 241—274, 1977.
15. Barrow H. G., Tenenbaum J. M. Interpreting Line Drawings as Three-Di¬
mensional Surfaces, Artificial Intelligence, 17, pp. 76—116, 1981.
16. Bejczy A. K. Robot Arm Dynamics and Control, Technical Memo 33—669,
Jet Propulsion Laboratory, Pasadena, Calif, 1974.
17. Bejczy A. K. Dynamic Models and Control Equations for Manipulators,
Technical Memo 715—19, Jet Propulsion Laboratory, Pasadena, Calif,
1979.
600
18. Bejczy A. К. Sensors, Controls, and Man — Machine Interface for Ad¬
vanced Teleoperation, Science, 208, pp. 1327—1335, 1980.
19. Bejczy A. K., Lee S. Robot Arm Dynamic Model Reduction for Control,
Proc. 22nd IEEE Conf. on Decision and Control, San Antonio, Tex.,
pp. 1466—1476, 1983.
20. Bejczy A. K., Paul R. P. Simplified Robot Arm Dynamics for Control.
Proc. 20th IEEE Conf. Decision and Control, San Diego, Calif, pp. 261—
262, 1981.
21. Bellman R. Introduction to Matrix Analysis, 2d edition, McGraw-Hill,
New York, 1970.
22. Beni G., et al. Dynamic Sensing for Robots: An Analysis and Implemen¬
tation, Intl. J. Robotics Res. 2, No. 2, pp. 51—61, 1983.
23. Binford T. O. The AL Language for Intelligent Robots, in Proc. IRIA
Sem. Languages and Methods of Programming Industrial Robots (Roc-
quencourt, France), pp. 73—87, 1979.
24. Blum H. A Transformation for Extracting New Descriptors of Shape, in
Models for the Perception of Speech and Visual Form (Q. Wathen-Dunn,
ed.), MIT Press, Cambridge, Mass, 1967.
25. Bobrow J. E., Dubowsky S. Gibson J. S. On the Optimal Control of Robot
Manipulators with Actuator Constraints, Proc. 1983 American Control
Conf., San Francisco, Calif., pp. 782—787, 1983.
26. Bolles R„ Paul R. An Experimental System for Computer Controlled
Mechanical Assembly, Stanford Artificial Intelligence Laboratory Memo
AIM-220, Stanford University, Palo Alto, Calif, 1973.
27. Bonner S., Shin K. G. A Comparative Study of Robot Languages, IEEE
Computer, 15, No. 12, pp. 82—96, 1982.
28. Brady J. M. (ed.) Computer Vision, North-Holland Publishing Co., Am¬
sterdam, 1981.
29. Brady J. М., et al. Robot Motion: Planning and Control, MIT Press,
Cambridge, Mass., 1982.
30. Bribiesca E. Arithmetic Operations Among Shapes Using Shape Numbers,
Pattern Recog., vol. 13, no. 2, pp. 123—138, 1981.
31. Bribiesca E. Guzman A. How to Describe Pure Form and How to Measure
Differences in Shape Using Shape Numbers, Pattern Recog., 12, No. 2,
pp. 101—112, 1980.
32. Brice C., Fennema C. Scene Analysis Using Regions, Artificial Intelli¬
gence, vol. 1, no. 3, pp. 205—226, 1970.
33. Brooks R. A. Symbolic Reasoning Among 3-D Models and 2D Images,
Artificial Intelligence, 17, pp. 285—348., 1981.
34. Brooks R. A. Solving the Find-Path Problem by Good Representation of
Free Space, IEEE Trans. Systems, Man. Cybern., vol. SMC-13, pp. 190—
197, 1983a.
35. Brooks R. A. Planning Collision-Free Motion for Pickand Place Opera¬
tions, Intl. J. Robotics Res., vol. 2, no. 4, pp. 19—44, 1983b.
36. Brooks R. A., and Lozano — Perez Т. «А Busdivision Algorithm in Con¬
figuration Space for Find-Path with Rotation», Proc. Intl. Joint Conf. Arti¬
ficial Intelligence (Karlsure, W. Germany), pp. 799—808, 1983.
37. Bryson A. E., and Ho Y. C. Applied Optimal Control, John Wiley, New
York, 1975.
38. Canali C. et al., Sensori di Prossimita Electtronici, Fisica e Technologia,
4, no. 2, pp. 95—123, 1981.
39. Canali C. et al. An Ultrasonic Proximity Sensor Operating in Air, Sen¬
sors and Actuators, 2, no. 1, pp. 97—103, 1981.
40. Catros J. Y., Espiau B., Use of Optical Proximity Sensors in Robotics,
Nouvel Automatisme, 25, No. 14, pp. 47—53, 1980.
41. Chase M. A. Vector Analysis of Linkages, Trans. ASME, J. Engr. In¬
dustry, Series B, 85, pp. 289—297, 1963.
601
42. Chase M. A., Bayazitoglu Y. O. Development and Application of a Gene¬
ralized d’Alembert Force for Multifreedom Mechanical Systems. Trans.
ASME, J. Engr. Industry, Series B. 93, p. 317—327, 1971.
43. Chang C. L., Lee R. С. T. Symbolic Logic and Mechanical Theorem
Proving, Academic Press, New York, 1973.
44. Chaudhuri В. B. A Note on East Algorithms for Spatial Domain Techni¬
ques in Image Processing IEEE Trans. Systems, Man, Cybern., SMC-13,
No. 6, pp. 1166—1169, 1983.
45. Chow С. К., Kaneko T. Automatic Boundary Detection of the Left Vent¬
ricle from Cineangiograms, Comput. and Biomed. Res., 5, p. 388—410,
1972,
46. Chung M. J. Adaptive Control Strategies for Computer-Controlled Mani¬
pulators, Ph. D. Dissertation, The Computer Information, and Control
Engineering Program, University of Michigan, Ann Arbor, Mich. 1983.
47. Cowart A. E., Snuder W. E., Ruedger W. H. 1983. The Detection of
Unresolved Targets Using the Hough Transform, Comput. Vision, Gra¬
phics, and Image Proc., 21, pp. 222—238, 1983.
48. Craig J. J. JARS: JPL Autonomous Robot System, Robotics and Teleope¬
rators Group, Jet Propulsion Laboratory, Pasadena, Calif, 1980.
49. Craig J. J. Introduction to Robotics: Mechanics and Control, Addison-
Wesley, Reading, Mass, 1986.
50. Crandall S. H., Karnopp D. C., Kurtz E. F. et al. Dynamics of Mechanical
and Electromechanical Systems, McGraw-Hill, New York, 1968.
51. Cross G. R., Jain A. K. Markov Random, Field Texture Models, IEEE
Trans. Pattern Anal. Mach. Intell., PAMI-5, No. 1, pp. 25—39, 1983.
52. Darringer J. A., Blasgen M. W. MAPLE: A High Level Language for
Research, in Mechanical Assembly, IBM Research Report RC 5606, IBM
T. J. Watson Research Center, Yorktown Heights, N. Y., 1975.
53. Davies E. R., Plummer A. P. N. Thinning Algorithms: A Critique and a
New Methodology, Pattern Recog., 14, pp. 53—63, 1981.
54. Davis L. S. A Survey of Edge Detection Techniques, Comput. Graphics
Image Proc., 4, pp. 248—270, 1975.
55. Davis R. H., Comacho M. The Application of Logic Programming to the
Generation of Plans for Robots», Robotica, 2, pp. 137—146, 1984.
56. Denavit J. Description and Displacement Analysis of Mechanisms Based
on 2 X 2 Dual Matrices, Ph. D. Thesis, Mechanical Engineering, North¬
western U., Evanston, III, 1965.
57. Denavit J., Hartenberg R. S. A Kinematic Notation for Lower-Pair Me¬
chanisms Based on Matrices, J. Appl. Mech., 77, pp. 215—221, 1955.
58. Derksen J., Rulifson J. F., Waldinger R. J. The QA4 Langauge Applied
to Robot Planning», Tech. Note 65, Stanford Research Institute, Menlo
Park, Calif., 1972.
59. Dijkstra E. A Note on Two Problems in Connection with Graphs, Nume-
rische Mathematik, 1. pp. 269—271, 1959.
60. Dodd G. G., Rossol L., (eds.) Computer Vision and Sensor-Based Robots,
Plenum, 1979.
61. Doran J. E. Planning and Robots”, in Machine Intelligence, 5 (B: Melt-
zer, D. Michie eds.), American Elsevier, pp. 519—532, 1970.
62. Dorf R. C. Robotics and Automated Manufacturing, Reston Publishin Co.,
Reston, Va., 1983.
63. Drake S. H. Using Compliance in Lieu of Sensory Feedback for Automatic
Assembly, Report T-657, C. S. Draper Laboratory, Cambridge, Mass., 1977.
64. Dubowsky S., DesForges D. T. The Application of Model Referenced
Adaptive Control to Robotic Manipulators. Trans. ASME, J. Dynamic
Systems, Measurement and Control. 101. pp. 193—200, 1979.
65. Duda R. O., Hart P. E. Use of the Hough Transformation to Detect Lines
and Curves in Pictures”, Comm. ACM. 15, Nol, 1, pp. 11 — 15, 1972.
66. Duda R. O., Hart P. E. Pattern Classification and Scene Analysis, John
Wiley, 1973.
602
67. Duda R. О., Nitzan D., Barrett P. Use of Range and Reflectance Data to
Find Planar Surface Regions, IEEE Trans. Pattern Anal. Machine Intell
PAMI-1, No. 3, pp. 259—271, 1979.
68. Duffy J. Analysis of Mechanisms and Robot Manipulators, John Wilev
1980.
69. Duffy J., Rooney J. A. Foundation for a Unified Theory of Analysis of
Spatial Mechanisms, Trans. ASME, J. Engr. Industry, 97, No. 4, Series В
pp. 1159—1164; 1975.
70. Dyer C. R., Rosenfeld A. Thinning Algorithms for Grayscale Pictures,
IEEE Trans. Pattern Anal. Machine Intelligence PAMI-1, No. 1, pp. 88—
89, 1979.
71. Engelberger J. F. Robotics in Practice, АМОСОМ, N. Y. 1980.
72. Ernst H. A. MH—1, 0 Computer-Oriented Mechanical Hand”, Proc. 1962
Spring Joint Computer Conf. San Francisco, Calif., pp. 39—51, 1962.
73. Fahlman S. E. A Planning System for Robot Construction Tasks”, Artifi-
al Intelligence 5, No. 1, pp. 1—49, 1974.
74. Fairchild CCD Imaging Catalog. Fairchild Corp., Palo Alto, Calif., 1983.
75. Falb P. L., Wolovich W. A. Decoupling in the Design and Synthesis of
Multivariable Control Systems", IEEE Trans. Automatic Control, 12, No. 6,
pp. 651—655, 1967.
76. Featherstone R. The Calculation of Robot Dynamics Using Articulated-
Body Inertia, Intl. J. Robotics Res., 2, No. 1, pp. 13—30, 1983.
77. Fikes R. E., Hart P. E., Nilsson N. J. Learning and Executing Generalized
Robot Plans, Artificial Intelligence, 3, No. 4, pp. 251—288, 1972.
78. Fikes R. E., Nilsson N. J. STRIPS: A New Approach to the Application of
Theorem Proving to Problem Solving”, Artificial Intelligence, 2, No. 3/4,
pp. 189—208, 1971.
79. Fink D. G. (ed.) Television Engineering Handbook, McGraw-Hill, N. Y.
1957.
■80. Finkel R. et al. An Overview of AL, A Programming Language for Auto¬
mation, Proc. 4th Intl. Joint Conf. Artificial Intelligence, pp. 758—765,
1975.
81. Franklin J. W. Vanderburg G. J. Programming Vision and Robotics Sys¬
tems with RAIL”, SME Robots VI, pp. 392—406, 1982.
82. Frazer R. A., Duncan W. Т., Collan A. R. Elementary Matrices, Cambridge
University Press, Cambridge, England, 1960.
83. Freeman H. On the Encoding of Arbitrary Geometric Configurations. IEEE
Trans. Elec. Computers, vol. ES-10, pp. 260—268, 1961.
84. Freeman H. Computer Processing of Line Drawings”, Comput. Surveys,
6, pp. 57—97, 1974.
85. Freeman H. Shapira R. Determining the Minimum — Area Encasing Rec¬
tangle for an Arbitrary Closed Curve”, Comm. ACM, 18. No. 7, pp. 409—
413, 1975.
86. Freund E. Fast Nonlinear Control with Arbitrary Pole Placement for
Industrial Robots and Manipulators”, Intl. J. Robotics. Res., 1, No. 1,
pp. 65—78, 1982.
87. Fu K. S. Learning Control Systems and Intelligent Control Systems: An
Intersection of Artificial Intelligence and Automatic Control, IEEE Trans.
Automatic Control. AC-16, No. 2, pp. 70—72, 1971.
88. Fu K. S. Syntactic Pattern Recognition and Applications, Prentice — Hall,
Englewood Cliffs. N. J., 1982,
89. Fu K. S. (ed.) Special Issue of Computer on Robotics and Automation,
15, No. 12, 1982.
90. Fu K. S., and Mui J. K. A Survey of Image Segmentation”, Pattern
Recog., 13, No. 1, pp. 3—16, 1981.
'91. Galey B., Hsia P. A Survey of Robotics Sensor Technology, Proc. 12th
Annual Southeastern Symp. System Theory, pp. 90—93, 1980.
92. Gantmacher F. R. The Theory of Matrices, 2 vols., Chelsea N. Y., 1959.
603
93. Geschke С. С. A System for Programming and Controlling Sensor-Based
Robot Manipulators IEEE Trans. Pattern Anal. Machine Intell., PAMI-5,
No. 1, pp. 1—7, 1983.
94. Gilbert E. G., Ha I. J. An Approach to Nonlinear Feedback Control with
Application to Robotics”, IEEE Trans. Systems, Man, Cybern., SMC-14,
No. 2, pp. 101—109, 1984.
95. Gips J. A Syntax — Directed Program that Performs a Three-Dimensional
Perceptual Task, Pattern Recog., 6, pp. 189—200, 1974.
96. Goldstein H. Classical Mechanics, Addison — Wesley, Reading, Mass.,
1950.
97. Gonzalez R. C. How Vision Systems See, Machine Design, 55 No. 10,
pp. 91—96, 1983.
98. Gonzales R. C. Industrial Computer Vision, in Computer—Based Auto¬
mation (J. T. Tou, ed.), Plenum N. Y., pp. 345—385, 1985.
99. Gonzalez R. C., Computer Vision, McGraw-Hill Yearbook of Science and
Technology, McGraw-Hill, 1985.
100. Gonzalez R. C. Digital Image Enhacement and Restoration, in Handbook
of Pattern Recognition and Image Processing, (T. Young and K. S. Fu,
eds.), Academic Press, New York, pp. 191—213, 1986,
101. Gonzalez R. C., Fittes B. A. Gray — Level Transformations for Interactive
Image Enhacement, Mechanisms and Machine Theory, 12, pp. Ill—122,
1977.
102. Gonzalez R. C., Safabakhsh R. Computer Vision Techniques for Industrial
Applications and Robot Control”, Computer, 15, No. 12, pp. 17—32, 1982,
103. Gonzalez R. C., Thomason M. G. Syntactic Pattern Recognition: An In¬
troduction, Addison — Wesley, Reading, Mass, 1978.
104. Gonzalez R. C., Wintz P. Digital Image Processing, Addison — Wesley,
Reading, Mass., 1977.
105. Goodman J. W. Introduction to Fourier Optics, McGraw-Hill, 1968.
106. Green C. Application of Theorem Proving to Problem Solving. Proc. 1st
Intl. Joint Conf. Artificial Intelligence, Washington D. C„ 1969.
107. Grossman D. D., Taylor R. H. Interactive Generation of Object Models
with a Manipulator, IEEE Trans. Systems. Man. Cybern. SMC-8 No. 9,
pp. 667—679, 1978.
108. Gruver W. A. et al. Industrial Robot Programming Languages: A Compa¬
rative Evaluation, IEEE Trans. Systems. Man. Cybern. SMC-14 No. 4,
pp. 321—333, 1984,
109. Guzman A„ Decomposition of a Visual Scene into Three — Dimensional
Bodies, in Automatic Interpretation and Classification of Images (A. Gras-
seli. ed.), Academic Press. N. Y., 1969,
110. Hackwood S., et al. A Torque — Sensitive Tactile Array for Robotics, Intl.
J. Robotics Res., 2, No. 2, pp. 46—50, 1983.
111. Haralick R. M. Statistical and Structural Approaches to Texture, Proo.
4th Intl. Joint Conf. Pattern Recog., pp. 45—60, 1979.
112. Haralick R. М., Shanmugan R., Dinstein I. Textural Features for Image
Classification, IEEE Trans. Systems, Man. Cybern. SMC-3 No. 6,
pp. 610—621, 1973.
113. Harmon L. D. Automated Tactile Sensing, Inti, J. Robotics Res. 1, No. 2,
pp. 3—32, 1982.
114. Harris J. L. 1982. Constant Variance Enhancement — A Digital Proces¬
sing Techniques, Appl. Optics, 16, pp. 1268—127], 1977.
115. Hart P. E., Nilsson N. J., Raphael B. A Formal Basis for the Heuristic
Determination of Minimum-Cost Paths, IEEE Trans. Systems, Man. Cy¬
bern, SMC—4, pp. 100—107, 1968.
116. Hartenberg R. S., Denavit J. Kinematic Synthesis of Linkages, McGraw-
Hill, V. Y., 1964.
117. Hayer Roth R. Waterman D., Lenat D. (eds.) Building Expert Systems,
Addison Wesley, Reading Mass, 1983.
604
118. Hemami H., Camana P. С. Nonlinear Feedback in Simple Locomotion
Systems, IEEE Trans. Automatic Control. AC-19, pp. 855—860, 1976.
119. Herrick C. N. Television Theory and Servicing, 2d ed., Reston Publishers,
Reston, Va., 1976,
120. Hillis D. W. A High Resolution Imaging Touch Sensor”, Intl. J. Robo¬
tics Res. vol. 1, no. 2, pp. 33—44, 1982.
121. Holland S. W„ Rossol L„ Ward M. R. CONSIGHT—1: A Vision-Control¬
led Robot System for Transferring Parts from Belt Conveyors, in Com¬
puter Vision and Sensor-Based Robots (G. G. Dobb and L. Rossol, eds )
Plenum N. Y. 1979.
122. Hollerbach J. M. A Recursive Lagrangian Formulation of Manipulator
Dynamics and a Comparative Study of Dynamics Formulation Comple¬
xity”, IEEE Trans. Systems, Man, Cybern., SMC—10, No. 11, pp. 730—
736, 1980.
123. Hollerbach J. M. Dynamic Scalling of Manipulator Trajectories”, Trans.
ASME J. Dyn. Systems, Measurement and Control. 106, pp. 102—106,
1984,
124. Horn В. K. P. Understanding Image Intensities, Artificial Intelligence, 8,
pp. 201—231, 1977.
125. Horowitz S. L., Pavlidis T. Picture Segmentation by a Directed Split-and-
Merge Procedure, Proc. 2d Intl. Joint Conf. Pattern Recog., pp. 424—433,
1974.
126. Horowitz R., Tomizuka R. An Adaptive Control Scheme for Mechanical
Manipulators — Compensation of Nonlinearity and Decoupling Control.
Trans. ASME J. Dynamic Systems. Measurement and Control. 1986.
127. Hough, P. V. C< Methods and Means for Recognizing Complex Patterns,
U. S. Patent 3,069,654, 1962.
128. Hu М. K. Visual Pattern Recognition by Moment Invariants”, IEEE
Trans. Inform. Theory, 8, pp. 179—187, 1962.
129. Huang T. S., Yang G. Т., Tang G. Y. “A Fast Two-Dimensional Median
Filtering Algorithms”, IEEE Trans, Acoust., Speech, Signal Proc.,
ASSP—27, pp. 13—18, 1979.
130. Huston R. L., Kelly F. A. The Development of Equations of Motion of
Single —Arm Robots”, IEEE Trans. Systems, Man Cybern, SMC—12,
No. 3, pp. 259—266, 1982.
131. Huston R. L., Passerello С. E., Harlow M. W. Dynamics of Multirigid
Body Systems. J. Appl. Mech., 45, pp. 889—894, 1978,
132. Inoue H. Force Feedback in Precise Assembly Tasks, MIT Artificial In¬
telligence Laboratory Memo 308, MIT, Cambridge, Mass., 1974.
133. Ishizuka М., Fu K. S., Yao J. T. P. A Rule — Based Damage Assessment
Systems for Existing Structures, SM Archives, 8, pp. 99—118, 1983.
134- Itkis U. Control Systems of Variable Structure, John Wiley N. Y. 1976.
135. Jain R. Dynamic Scene Analysis Using Pixel — Based Processes, Com¬
puter, 14, No. 8, pp. 12—18, 1981.
136. Jain R. Segmentation of Frame Sequences Obtained by a Moving Obser¬
ver, Report GMR—4247, General Motors Research Laboratories, Warren,
Mich. 1983.
137. Jarvis R. A. A Perspective on Range Finding Techniques for Computer
Vision IEEE Trans. Pattern Anal. Machine Intell., PAMI—5, No. 2,
pp. 122—139, 1983.
138. Jarvis R. A. A Laser Time — of — Flight Range Scanner for Robotic
Vision, IEEE Trans. Pattern Anal. Machine Intell., PAMI—5, No. 5,
pp. 505—512, 1983.
139. Johnston A. R. Proximity Sensor Technology for Manipulator End Ef¬
fectors, Mechanism and Machine Theory, 12, Nol 1, pp. 95—108, 1977.
140. Kahn М. E., Roth B. The Near — Minimum — Time Control of Open-
Loop Articulated Kinematic Chains, Trans. ASME, J. Dynamic Systems,
Measurement and Control 93., pp. 164—172, 1971.
605
'Щ
141. Kane Т R., Levinson D. A. The Use of Kane’s Dynamical Equations in
Robotics,”, Intl. J. Robotics. Res, 2, No. 3, pp. 3—21, 1983.
142. Katushi I., Horn В. K. P. Numerical Shape from Shading and Occluding
Boundaries”, Artificial Intelligence, 17, pp. 141 —184, 1981.
143. Ketcham D. J. Real-Time Image Enhancement Techniques. Proc. Soc.
Photo — Optical Instrum. Engr., 74, pp. 120—125, 1976.
144 Khatib O. Commande Dynamique dans Espace Operationnel des Robots
Manipulateurs en Presence d’Obstacles”, Docteur Ingenieur Thesis, L’Ecole
Nationale Superieure de l’Aeronautique et de l’Espace, Toulouse, France,
1980.
145. Kirk D. E. Optimal Control Theory, An Introduction, Prentice-Hall, Engle¬
wood Cliffs, N. J. 1970.
146. Klinger A. Patterns and Search Statistics”, in Optimizing Methods in
Statistics (J. S. Rustagi, ed.), Academic Press, N. Y., pp. 303—339, 1972.
147. Klinger A. Experiments in Picture Representation Using Regular Decom¬
position”, Comput. Graphics Image Proc., 5, pp. 68—105, 1976.
148. Kohler R. J., Howell H. K. Photographic Image Enhancement by Superpo¬
sition of Multiple Images, Phot. Sci. Engr., 7, No. 4, pp. 241—245, 1963.
149. Kohli D., Soni A. H. Kinematic Analysis of Spatial Mechanisms via Suc¬
cessive Screw Displacement, J. Engr. for Industry, Trans. ASME, 2,
series В pp. 739—747, 1975.
150. Koivo A. J., Guo Т. H. Adaptive Linear Controller for Robotic Manipula¬
tors. IEEE Trans. Automatic Control. AC-28, No. 1, pp. 162—171, 1983.
151. Landau Y. D. Adaptive Control — The Model Reference Approach, Marcel
Dekker, N. Y. 1979.
152. Lee В. H. An Approach to Motion Planning and Motion Control of Two
Robots in a Common Workspace, Ph. D. Dissertation, Computer Informa¬
tion and Control Engineering Program, University of Michigan, Ann Ar¬
bor, Mich., 1985.
153. Lee С. C. Elimination of Redundant Operations for a Fast Sobel Opera¬
tor, IEEE Trans. Systems. Man. Cyybern, SMC—13, No. 3, pp. 242—245,
1983.
154. Lee C. S. G. Robot Arm Kinematics, Dynamics, and Control. Compute
15 No. 12, pp. 62—80, 1982.
155. Lee C. S. G. On the Control of Robot Manipulators”, Proc. 27th Soc.
Photooptical Instrumentation Engineers, 442, San Diego, Calif., pp. 58—
83, 1983.
156. Lee C. S. G. Robot Arm Kinematics and Dynamics, in Advances in Auto¬
mation and Robotics: Theory and Applications (G. N. Saridis, ed.), JAI
Press, Conn., pp. 21—63, 1985.
157. Lee C. S. G., Chang P. R. A Maximum Piplined CORDIC Architecture
for Robot Inverse Kinematics Computation, Technical Report TR-EE-86-5,
School of Electrical Engineering, Purdue University, West Lafayette, Ind.,
1986.
158. Lee C. S. G., Chang P. R. Efficient Parallel Algorithm for Robot Inverse
Dynamics Computation, IEEE Trans. System, Man, Cybern, SMC—16,
No. 4. 1986.
159. Lee C. S. G., Chung M. J. An Adaptive Control Strategy for Mechanical
Manipulators, IEEE Trant. Automatic Control, AS-29, No. 9, pp. 837—
840, 1984.
160. Lee C. S. G., Chung M. J. Adaptive Perturbation Control with Feedfor¬
ward Compensation for Robot Manipulators, Simulation, 44, No. 3,
pp. 127—136, 1985.
161. Lee C. S. G., Chung M. J., Lee В. H. An Approach of Adaptive Control
for Robot Manipulators, J. Robotic Systems, 1, No. 1, pp. 27—57. 1984,
162. Lee C. S. G., Chung M. J., Mudge T. N., On the Control of Mechanical
Manipulators, Proc. 6th IFAC Conf. Estimation and Parameter Identifica¬
tion, Washington D. C., pp. 1454—1459, 1982.
606
163. Lee С. S. G., Gonzalez R. C., Fu K. S. Tutorial on Robotics, 2d ed. IEEE
Computer Press, Silver Spring, Md, 1986.
164. Lee C. S. G., Huang D. A Geometric Approach to Deriving Position/Force
Trajectory in Fine Motion, Proc. 1985, IEEE Intl. Conf. Robotics and
Automation, St. Louis, Mo, pp. 691—697, 1985,
165. Lee C. S. G., Lee В. H. Resolved Motion Adaptive Control for Mechanical
Manipulators, Trans. ASME J. Dynamic Systems, Measurement and Con¬
trol 106, No. 2, pp. 134—142, 1984.
166. Lee C. S. G., Lee В. H., Nigam R. Development of the Generalized
d’Alembert Equations of Motion for Mechanical Manipulators, Proc. 2nd
Conf. Decision and Control, San Antonio, Tex., pp. 1205—1210, 1983.
167. Lee C. S. G., Mudge T. N.. Turney J. L. Hierarchical Control Structure
Using Special Purpose Processors for the Control of Robot Arms, Proc.
1982, Pattern Recognition and Image Processing Conf., Las Vegas, Nev.,,
pp. 634—640, 1982.
168. Lee C. S. G., Ziegler M. A Geometric Approach in Solving the Inverse
Kinematics of PUMA Robots, IEEE Trans. Aerospace and Electronic Sys¬
tems, AES-20, No. 6, pp. 695—706, 1984.
169. Lewis R. A. Autonomous Manipulation on a Robot: Summary of Mani¬
pulators Software Functions, Technical Memo 33—679, Jet Propulsion
Laboratory, Pasadena, Calif., 1974.
170. Lewis R. A., Bejczy A. K. Planning Considerations for a Roving Robot
with Arm.” Proc. 3rd Int. Joint Conf. Artificial Intelligence, Stanford
University, Palo Alto, Calif., 1973.
171. Lieberman L. I., Wesley M. A. AUTOPASS: An Automatic Programming
System for Computer Controlled Mechanical Assembly”, IBM J. Res.
Devel, 21, No. 4, pp. 321—333, 1977,
172. Lin C. S., Chang P. R., Luh J. Y. S. Formulation and Optimization of
Cubic Polynomial Joint Trejectories for Industrial Robots. IEEE Trans.
Automatic Control. AC-28. No. 12, pp. 1066—1073, 1983.
173. Lozano—Perez T. Automatic Planning of Manipulator Transfer Move¬
ments, IEEE Trans. Systems. Man. Cybern., SMC—11, Nol 11, pp. 691—<
698, 1981.
174. Lozano —Perez T. Spatial Planning, A Configuration Space Apace Ap¬
proach, IEEE Trans. Comput C-32, No. 2, pp. 108—120, 1982.
175. Lozano — Perez Т., Robot Programming, Proc. IEEE, 71, No. 7, pp. 821—
841, 1983.
176. Lozano — Perez T. Task Planning in Robot Motion: Planning and Con¬
trol. (M. Brady et al., eds.), MIT Press, Cambridge, Mass., 1983.
177. Lozano—Perez Т., Wesley M. A. An Algorithm for Planning Collision-
Free Paths Among Polyhedral Obstracles, Comm. ACM 22, No. 10,
pp. 560—570, 1979.
178. Lu S. Y., Fu K. S. A Syntactic Approach to Texture Analysis, Comput.
Graph. Image Proc., 7, No. 3, pp. 303—330, 1978.
179. Luh J. Y. S. An Anatomy of Industrial Robots and their Control, IEEE
Trans. Automatic Control. AC-28, No. 2, pp. 133—153, 1983.
180. Luhi J. Y. S. Conventional Controller Design for Industrial Robots —
A Tutorial, IEEE Trans. Systems, Man, and Cybern, SMC-13, No. 3,
pp. 298, 316, 1983.
181. Luh J. Y. S., Lin C. S. Optimum Path Planning for Mechanical Manipu¬
lators. Trans. ASME, J. Dynamic Systems, Measurement and Control. 102,
pp. 142—151, 1981.
182. Luh J. Y. S., Lin C. S. Automatic Generation of Dynamic Equations for
Mechanical Manipulators. Proc. Joint Automatic Control Conf., Charlottes-
vile, Va., pp. TA-2D, 1981.
183. Luh J. Y. S., Lin C. S. Scheduling of Parallel Computation for a Com¬
puter Controlled Mechanical Manipulator, IEEE Trans. Systems, Man,
Cybern, SMC-12, pp. 214—234, 1982.
607
184. Lull J. Y. S., Lin C. S. Approximate Joint Trajectories for Control of
Industrial Rebots Along Cartesian Path, IEEE Trans. Sustems, Man,
Cybern., SMC-14 No. 3, pp. 444—450, 1984.
185. Luh J. Y. S., Walker M. W., Paul R. P. On Line — Computational Scheme
for Mechanical Manipulators. Trans. ASME, J. Dynamic Systems, Measu¬
rements and Control. 120, pp. 69—76. 1980.
186. Luh J. Y. S., Walker M. W., Paul R. P. Resolved — Acceleration Control
of Mechanical Manipulators, IEEE Trans. Automatic Control. AC-25, No. 3,
pp. 468—474, 1980.
187. Marck V. Algorithms for Complex Tactile Information Processing, Proc.
Intl. Joint Conf. Artificial Intelligence, pp. 773—774, 1981.
188. Markiewicz B. R. Analysis of the Computed Torque Drive Method and
Comparison with Conventional Position Servo for a Computer Controlled
Manipulator, Technical Memo 33—60i, Jet Propulsion Laboratory, Pasa¬
dena, Caiif., 1973.
189. Marr. D. Visual Information Processing: The Structure and Creation of
Visual Representations, Proc. Inti. Joint. Conf. Artificial Intelligence,
Tokyo, Japan, pp. 1108—1126, 1979.
190. Marr D. Vision Freeman, San Francisco, Calif., 1982.
191. Martelli A. Edge Detection Using Heuristic Search Methods, Comput.
Graphics Image Proc., 1. pp. 169—182, 1972.
192. Martelli A. An Application of Heuristic Search Methods to Edge and Con¬
tour Detection, Comm. ACM. 19, No. 2, pp. 73—83, 1976.
193. Mason М. T. Compliance and Force Control for Computer Controlled
Manipulator IEEE Trans. Systems, Man, Cybern, SMC—11 No. 6,
pp. 418—432, 1981,
194. McCarthy J. et al. A Computer with Hands, Eyes, and Ears, 1968 Fall
Joint Pomputer Conf., AFIPS Proceeddings, pp. 329—338, 1968.
195. McDermott J. Sensors and Transducers EDN 25, No. 6, pp. 122—137,
1980.
196. Meindl J. D., Wise K. D. Special Issue on Solid — State Sensors, Actua¬
tors, and Interface Electronics, IEEE Trans. Elect. Devices, 26, pp. 1861—
1978, 1979.
197. Merritt R. Industrial Robots: Getting Smarter All The Time, Instruments
and Control Systems, 55, No. 7, pp. 32—38, 1982.
198. Milenkovic V., Huang B. Kinematics of Major Robot Linkages, Proc. 13th
Intl. Symp. Industrial Robots, Chicago, III, pp. 16—31, 1983.
199. Mujtaba S. М., Goldman R. AL User’s Manual, 3d ed., STAN-CS-81 889
CSD, Stanford University, Palo Alto, Calif., 1981.
200. Mujtaba M. S., Goldman R. A., Binford T. The AL Robot Programming
Language”, Comput. Engr., 2, pp. 77—86, 1982.
201. Mundy J. L. Automatic Visual Inspection”, Proc. 1977, Conf. Decision and
Control, pp. 705—710, 1977.
202. Murray J. J., Neuman C. P. ARM: An Algebraic Robot Dynamic Modeling
Program, Proc. Intl. Conf. Robotics, Atlanta, Ga., pp. 103—113, 1984.
203. Myers W. Industry Begins to Use Visual Pattern Recognition Computer,
13, No. 5, pp. 21—31, 1980.
204. Naccache N. J. Shinghai R. SPTA: A Proposed Algorithm for Thinning
Binary Pattersm, IEEE Trans. Systems. Man, Cybern., SMC—14, No. 3,
pp. 409—418, 1984.
205. Nagel H. H. Representation of Moving Rigid Objects Based on Visual
Observations”, Computer, 14, No. 8, pp. 29—30, 1981.
206. Nahim P. J. The Theory of Measurement of a Silhouette Description for
Image Processing and Regonition, Pattern Recog., 6, No. 2, pp. 85—95,
1974.
207. Narendra P. М., Fitch R. C. Real-Time Adaptive Contrast Enhancement,
IEEE Trans. Pattern Anal, Machine Inteil., PAMI-3, No. 6, p. 655—661,
1981.
208. Nau D. S. Expert Computer Systems, Computer 16, pp. 63—85, 1983.
608
209. Nevatia R., Binford T. 0. Description and Recognition of Curved Objects,
Artificial intelligence, 8, pp. 77—98, 1977.
210. Nevins J. L., Whitney D. E. Computer — Controlled Assembly, Sci. Am.,
238, No. 2, pp. 62—74, 1978.
211. Nevins J. L., Whitney D. E., et al. Exploratory Research in Industrial
Modular Assembly, NSF Project Reports 1 to 4 C. S. Draper Laboratory,
Cambridge, Mass., 1974—1976.
212. Newman W. М., Sproull R. F. Principles of Interactive Computer Gra¬
phics, McGraw-Hill, New York, 1979.
213. Neuman C. P., Tourassis V. D. Discrete Dynamic Robot Modelling, IEEE
Trans. Systems. Man. Cybern, SMC—15, pp. 193—204, 1985.
214. Neumann C. P., Tourassis V. D. Robot Control: Issues and Insight, Proc.
Third Yale Workshop on Applications of Adaptive Systems Theory, Yale
University, New Haven, Conn., pp. 179—189, 1983.
215. Nigam R., Lee C. S. G. Multiprocessor—Based Controller for the Con¬
trol of Mechanical Manipulators, IEEE J. Robotics and Automation, RA-1
No. 4, pp. 173—182, 1985.
216. Nilsson N. J., Problem — Solving Methods in Artificial Intelligence,
McGraw-Hill, 1971.
217. Nilsson N. J. Principles of Artificial Intelligence, Tioga Pub. Palo Alto,
Calif. 1980.
218. Noble B. Applied Linear Algebra, Prentice Hall, Englewood Cliffs, N. J.
1969.
219. Oldroyd A. MCL: An APT Approach to Robotic Manufacturing SHARE 56,
Houston, Tex., March 9—13, 1981.
220. Ohlander R., Price K., Reddy D. R. Picture Segmentation Using a Recur¬
sive Region Splitting Methods, Comput. Graphics Image Proc., 8, No. 3,
pp. 313—333, 1979.
221. Orin D. E. Pipelined Approach to Inverse Plant Plus Jacobian Control
of Robot Manipulators, Proc. Intl. Conf. Robotics, Atlanta, Ga., pp. 169—
175, 1984.
222. Oring D. E. Schrader W. W. Efficient Computation of the Jacobian for
Robot Manipulators. Intis. J. Robotics Res., 3, No. 4, pp. 66—75, 1984.
223. Orin D. E„ McGhee R. B., Vukobratovic М., Hartoch G. Kinematic and
Kinetic Analysis of Open — Chain Linkages Utilizing Newton — Euler Me¬
thods, Math Biosci., 43, pp. 107—130, 1979.
224. Papoulis A., Probability, Random Varaibles, and Stochastic Processes,
McGraw — Hill, 1965.
225. Park W. T. The SRI Robot Programming System (RPS): An Executive
Summary SRI International, Menlo Park, Calif. 1981.
226. Paul R. P. Modeling, Trajectory Calculation, and Servoing of a Computer
Controlled Arm. Memo AIM-177; Stanford Artificial Intelligence Labo¬
ratory, Palo Alto, Calif., 1972.
227. Paul R. P. WAVE: A Model — Based Language for Manipulator Control
Technical Paper MR76-615, Society of Manufacturing Engineers, Dear¬
born, Mith., 1976; The Industrial Robot, 4, pp. 10—17, 1977.
228. Paul R. P. Manipulator Cartesian Path Contro. IEEE Trans. Systems,
Man. Cubern, SMC—9, No. 11, pp. 702—711; 1979.
229. Paul R. P. Robot Manipulator: Mathematics, Programming and Control,
MIT Press, Cambridge, Mass. 1981.
230. Paul R. P. Shimano B. Compliance and Control Proc. Joint Automatic
Control Conference, Purdue University, West Lafayette Ind., 1976.
231. Paul R. P., Shimano B. E„ Mayer G. Kinematic Control Equations for
Simple Manipulators IEEE Trans. Systems. M. Cybern., SMC-11, No. 6,
pp. 449—455, 1981.
232. Paviidis T. Structural Pattern Recognition, Springer-Verlag, 1977.
233. Paviidis T. Algorithms for Graphics and Image Processing, Computer
Science Press., Rockville, Md., 1982.
«09
234. Persoon E., Fu K. S. Shape Descrimination Using Fourier Descriptors,
IEEE Trans. Systems. Man, Cybern., SMC-7, No. 2, pp. 170—179, 1977.
235. Pieper D. L. The Kinematics of Manipulators under Computer Control,
Artificial Intelligence Project Memo No. 72, Computer Science Depart¬
ment, Stanford University, Palo Alto, Calif., 1968.
236. Pieper D. L., Roth B. The Kinematics of Manipulators under Computer
Control. Proc. Ill Intl. Congr. Theory of Machines and Mechanisms, 2,
pp. 159—168, 1969.
237. Pipes L. A. Matrix Methods in Engineering, Prentice-Hall, Englewood
Cliffs, N. J„ 1963.
238. Popplestone R. J., Ambler A. P., Bellos I. RAPT, A Language for Describ¬
ing Assembles, Industrial Robot, 5, No. 3, pp. 131—137, 1978.
239. Popplestone R. J. Ambler A. P., Bellos I. An Interpreter for a Language
Descri ing Assembles, Artificial Intelligence, 14, No. 1. pp. 79—107, 1980.
240. Raibert М. H., Craig J. J. Hybrid Position/Force Control of Manipulators,
Trans. ASME, J. Dynamic Systems, Measurement, and Control. 102,
pp. 126—133, 1981.
241. Raibert М. H., Tanner J. E. Design and Implementation of a VLSI Tac¬
tile Sensing Computer, Intl. J. Robotics Res., 1. No. 3, pp. 3—18, 1982.
242. Rajala S. A., Riddle A. N., Snyder W. E. Application of the One-Dimen¬
sional Fourier Transform for Tracking Moving Objects in Noisy Environ¬
ments, Comput. Vision, Graphics, Image Proc., 2, pp. 280—293, 1983.
243. Ramer U. Extraction of Line Structures from Photographs of Curved
Object, Comput. Graphics Image Proc., 4, pp. 81—103, 1975.
244. Reddy D. R., Hon R. W. Computer Architectures for Vision, Computer
Vision and Sensor-Based Robots (G. G. Dodd and L. Rossol, eds.), Ple¬
num N. Y„ 1979.
245. Requicha A. Representation for Rigif Solids; Theory, Methods, and Sy¬
stems, Computing Surveys, 12, No. 4, pp. 437—464, 1980.
246. Requicha A. Towards a Theory of Geometric Telerancing, Intl. J. Robotics
Res., 2, No. 4, pp. 45—60, 1983.
247. Requicha A., Voelcker H. B. Solid Modeling: A Historical Summary and
Contemporary Assessment,” IEEE Comput, Graphics and Applications, 2,
No. 2, pp. 9—24, 1982.
248. Rich A. Artificial Intelligence, McGraw-Hill, 1983.
249. Roberts L. G. Machine Perception of three-Dimensional Solids, Optical
and Electro-Optical Information Processing, (J. P. Tippett et al., eds.),
MIT Press, Cambridge, Mass, 1965.
250. Rocher F., Keissling A. Methods for Analyzing Three-Dimensional Scenes,
Proc. 4th Intl. Joint Conf. Artificial Intelligence, pp. 669—673, 1975.
251. Rosen C. A., Nitzan D. Use of Sensors in Programmable Automation,
Computer, 10. No. 12, pp. 12—23, 1977.
252. Rosenfeld А., Как A. C. Digital Picture Processing, 2d ed., Academic
Press, N. Y. 1982.
253. Roth B., Rastegar J., Scheinman V. On the Design of Computer Controlled
Manipulators, 1st CISM-IFTMM Symp. Theory and Practice of Robots
and Manipulators, pp. 93—113, 1973.
254. Sacerdoti E. D. A Structure for Plans and Behavior, Elsevier, N. Y. 1977.
255. Sadjadi F. A., Hall E. L. Three-Dimensional Moment Invariants, IEEE
Trans. Pattern Anal. Mach. Intell., PAM1-2, No. 2, pp. 127—136, 1980.
256. Salari E., Siy P. The Ridge-Seeking Method for Obtaining the Skeleton
of Digital Images,” IEEE Trans. Systems Man, Cybern., SMC—14, No 3,
pp. 524—528, 1984.
257. Saridis G. N. Intelligent Robotic Control. IEEE Trans. Automatic Con¬
trol. AC-28, No. 5, pp. 547—557, 1983.
258. Saridis G.N., Lee C. S. G. An Approximation Theory of Optimal Control
for Trainable Manipulators, IEEE Trans. Systems. Man, Cybern, SMC—9.
No. 3, pp. 152—159, 1979,
610
259. Saridis G. N., Lobbia R. N. Parameter Identification and Control of
Linear Discrete-Time Systems, IEEE Trans. Automatic Control. AC-17
No. 1, pp. 52—60, 1972.
260. Saridis G. N., Stephanou H. E. A Hierarchical Approach to the Control of
a Prosthetic Arm IEEE Trans. Systems. Man. Cybern., SMC—7, No. 6
pp. 407—420, 1977,
261. Scheinman V. D. Design of a Computer Manipulator, Artificial Intel¬
ligence Laboratory Memo AIM-92, Stanford University, Palo Alto, Calif.,
1969.
262. Shani U. A 3-D Model—Driven System for the Recognition of Abdominal
Anatomy from CT Scans, Proc. 5th Intl. Joint Conf. Pattern Recog.,
pp. 585—591, 1980.
263. Shimano B. VAL: A Versatile Robot Programming and Control System,
Proc. 3rd Intl. Computer Software Applications Conf., Chicago, III,
pp. 878—883, 1979.
264. Shimano В. E., Roth B. On Force Sensing Information and its Use in
Controlling Manipulators, Proc. 9th Intl. Symp. on Industrial Robots,
Washington, D. C., pp. 119—126, 1979.
265. Shirai Y. Three-Dimensional Computer Vision”, in Computer Vision and
Sensor-Based Robots (G. G. Dodd and L. Rossol, eds.), Plenum N. Y.,
1979.
266. Siklossy L. Modelled Exploration by Robot, Tech. Rept. L, Computer
Science Department, University of Texas, Austin, Tex., 1972.
267. Siklossy L., Dreussi J. An Efficient Robot Plannor which Generates its
Own Procedures, Proc. 3rd Intl. Joint Conf. Artificial Intelligence,
pp. 423, 430, 1973.
268 Silver W. M. On the Equivalence of the Lagrangian and Newton—Euler
Dynamics for Manipulators, Intl. J. Robotics, Res., 1, No. 2, pp. 60—70,
1982.
269. Sklansky J., Chazin R. L., Hansen B. J. Minimum-Perimeter Polygons of
Digitized Silhouettes, IEEE Trans. Comput,, C-21, No. 3, pp. 260—268,
1972.
270. Snyder W. E. Industrial Robots: Computer Interfacing and Control. Pren¬
tice— Hall, Englewood Cliffs, N. Y., 1985.
271 Spencer J. D. Versatile Hall-Effect Devices Handle Movement-Control
Tasks, EDN 25, No. 3, pp. 151—156, 1980.
272. Stepanenko Y., Vukobratovic M. Dynamics of Articulated Open-Chain
Active Mechanisms, Math. Biosci., 28, pp. 137—170, 1976.
273. Suh С. H., Radcliffe C. W. Kinematics and Mechanisms Design, John
Wiley, N. Y. 1978.
274. Sussman G. J., Winograd Т., Charniak E. Micro — Planner Reference Ma¬
nual,” Al Memo 203, MIT Press, Cambridge, Mass., 1970.
275. Symon K. R-, Mechanics, Addison — Wesley, Reading, Mass., 1971.
276. Sze T. W., Yang Y. H. A Simple Contour Matching Algorithms, IEEE
Trans. Pattern Anal. Math. Intell., PAMI-3, No. 6, pp. 676—678, 1981.
277. Takase K., Paul R. P., Berg E. J. A Structural Approach to Robot Pro¬
gramming and Teaching, IEEE Trans. Systems, Man, Cybern., SMC—11,
No. 4, pp. 274—289, 1981.
278. Takegaki М., Arimoto S. A New Feedback Method for Dynamic Control
of Manipulators, Trans. ASME, J. Dynamic Systems, Measurement and
Control, 102, pp. 119—125, 1981.
279. Tangwongsan S., Fu K. S. An Application of Learning to Robotic Plan¬
ning. Intl. J. Computer and Information Sciences, 8, No. 4, pp. 303—333,
1979.
280. Tarn T. J. et al. Nonlinear Feedback in Robot Arm Control, Proc. 1984,
Conf. Decision ond Control. Las Vegas, Nev., pp. 736—751, 1984.
281. Taylor R. H. The Synthesis of Manipulator Control Programs from
611
Task — Level Specifications, Report AIM-282, Artificial Intelligence Labo¬
ratory, Stanford University, Palo Alto, Calif., 1976.
282. Taylor R. H. Planning and Execution of Straight Line Manipulator
Trejectories, IBM J. Res. Devel., 23, No. 4, pp. 424—436, 1979,
283. Taylor R. H., Summers P. D., Meyer J. M. AML: A Manufacturing
Language”, Intl. J. Robotics Res., 1, No. 3, pp. 19—41, 1983.
284. Thompson W. B., Barnard S. T. Lower — Level Estimation and Interpre¬
tation of Visual Motion, Computer 14, No. 8, pp. 20—28, 1981.
285. Thrall R. М., Tornheim L. Vector Spaces and Matrices John Wiley N. Y.
1963.
286. Tomita F., Shirai Y., Tsuji S. Description of Texture by a Structural Ana¬
lysis, IEEE Trans. Pattern Anal. Mach. Intell., PAMI-4, No. 2, pp. 183—
191, 1982.
287. Tomovic R., Boni G. An Adaptive Artificial Hand., IRE Trans. Automatic
Control. AC-7, 3, pp. 3—10, 1962.
288. Toriwaki J. I., Kato N., Fukumura T. Parallel Local Operations for a
New Distance Transformation of a Line Pattern and Their Applications,
IEEE Trans. Systems, Man, Cybern, SMC—9, No. 10, pp. 628—643, 1979.
289. Tou J. T. (ed.) Computer — Based Automation, Plenum, 1985.
290. Tou J. Т., Gonzalez R. C. Pattern Recognition Principles, Addison—Wes¬
ley, Reading, Mass., 1974.
291. Turney J. L., Mudge T. N., Lee C. S. G. Eguivalence of Two Formulations
for Robot Arm Dynamics. SEL Report 142, ECE Department, University
of Michigan, Ann Arbor, Mich., 1980.
292. Turney J. L., Mudge T N., Lee C. S. G. Connection Between Formulations
of Robot Arm Dynamics with Applications to Simulation and Control.
CRIM Technical Report No. RSD—TR-4-82, the University of Michigan,
Ann Arbor, Mich, 1982.
293. Uicker J. J. On the Dynamic Analysis of Spatial Linkages using 4X4
Matrices, Ph. D. disseration, Northwestern University. Evanston, III,
1965,
294. Uicker J. J., Jr., Denavit J., Hartenberg R. S. An Iterative Methods for
the Displacement Analysis of Spatial Mechanisms, Trans. ASME, J. Appl,
Mech., 31, Series E, pp. 309—314, 1964.
295. Unger S. H. Pattern Detection and Recognition”, Proc. IRE, 47. No. 10,
pp. 1737—1752, 1959.
296. User’s Guide to VAL Version 11, 2d ed., Unimation, Inc., Danbury, Conn.
1979.
297. Utkin V. I. Variable Structure Systems with Sliding Mode: A Survey,
IEEE Trans. Automatic Control, AS-22, pp. 212—222, 1977.
298. Vukobratovic М., Stokic D. Contribution to the Decoupled Control of
Large — Scale Mechanical Systems, Automatica, 16, pp. 16—21, 1980.
299. Walker M. W., Orin D. E. Efficient Dynamic Computer Simulation of
Robotic Mechanisms, Trans. ASME, J. Systems, Measurement and Coft-
trol. 104, pp. 205—211, 1982.
300. Wallace T. P., Mitchell O. R. Analysis of Three — Dimensional Movements
Using Fourier Descriptors, IEEE Trans. Pattern Anal. Machine Intell.,
PAMI-2, No. 6, pp. 583—588, 1980.
301. Waltz D. I. Generating Semantic Descriptions from Drawings, of Scenes
with Shadows, Ph. D. Dissertation, Artificial Intelligence Lab., MIT, Cam¬
bridge, Mass., 1972.
302. Waltz D. I. Automata Theoretical Approach to Visual Information PrQ-
cessing, Applied Computation Theory (R. T. Yeh, ed.), Prentice-Hall,
Englewood Cliffs, N. J., 1976,
303. Webb J. A., Aggarwal J. K. Visually Interpreting the Motion of Objects
in Space Computer 14, No. 8, pp. 40—49, 1981.
304. Weiss S. M,. Kukowski C. A. A Practical Guide to Designing Expert
Systems, Rowman and AUanheld, New Jersey., 1984.
305. Weska J. S. A Survey of Threshold Selection Techniques, Comput. Gra*
612
phics Image Proc., 7, pp. 259—265, 1978.
306. Wesley M. A. A Geometric Modeling System for Automated Mechanical
Assembly IBM J. Res. Devel., 24, No. 1, pp. 64—74, 1980.
307. White J. М., Rohrer G. D. Image Thresholding for Optical Character
Recognition and Other Applications Requiring Character Image Extrac¬
tion, IBM J. Res. Devel., 27, No. 4, pp. 400—411, 1983.
308. Whitney D. E. Resolved Motion Rate Control of Manipulators and Human
Prostheses, IEEE Trans. Man — Machine Systems, MMS-10, No. 2,
pp. 47—53, 1969.
309. Whitney D. E. State Space Models of Remote Manipulation Tasks. Proc.
Intl. Joint Conf. Artificial Intelligence, Washington, D. C., pp. 495—598,
1969.
310. Whitney D. E. The Mathematics of Coordinated Control of Prosthetic
Arms and Manipulators, Trans. ASME, J. Dynamic Systems, Measurement
and Control. 122, pp. 303—309, 1972.
311. Will P., Grossman D. An experimental System for Computer Controlled
Mechanical Assembly, IEEE Trans. Comput., C-24, No. 9, pp. 879—888,
1975.
312. Winston P. H. Artificial Intelligence, 2d ed., Addison — Wesley, Reading,
Mass., 1984.
313. Wise K. D., (ed.) Special Issue on Solid — State Sensors, Actuators, and
Interface Electronics, IEEE Trans. Elect. Devices, 29, pp. 42—48, 1982.
314. Wolfe G. J. Mannos J. L. Fast Median Filter Implementation, Proc. Soc.
Photo-Optical Inst. Engr., 207, pp. 154—160, 1979.
315. Woods R. E., Gonzalez R. C. Real-Time Digital Image Enhancement,
Proc. IEEE 69, No. 5, pp. 643—654, 1981.
316. Wu С. H., Paul R. P. Resolved Motion Force Control of Robot Manipula¬
tor IEEE Trans. Systems, Man, Cybern. SMC—12 No. 3, pp. 266—275,
1982.
317. Yakimovsky Y., Cunningham R. A System for Extracting Three-Dimen¬
sional Measurements from a Stereo Pair of TV Cameras, Comput, Gra¬
phics Image Proc., 7, pp. 195—210, 1979.
318. Yang A. T. Displacement Analysis of Spatial Five—link Mechanism
Using 3X3 Matrices with Dual — Number Elements, Trans. ASME J.
Engr. Industry, 91, No. 1. Series V, pp. 152—157, 1969.
319. Yang A. Т., Freudenstein R. Application of Dual Number Quaternian
Algebra to the Analysis of Spatial Mechanism”, Trans. ASME, J. Appl.
Mech., 31, series E, pp. 152—157, 1964.
320. Young К. K. D. Controller Design for a Manipulator Using Theory Vari¬
able Structure Systems, IEEE Trans. Systems, Man, Cybern., SMC—8,
No. 2, pp. 101 — 109, 1978.
321. Yuan M. S. C., Freudensten R. Kinematic Analysis of Spatial Mechanisms
by Means of Screw Coordinates, Trans. ASME, J. Engr. Industry, 93,
No. I, pp. 61—73, 1971.
322. Zahn С. T„ Roskies R. Z. Fourier Descriptors for Plane Closed Curves,
IEEE Trans. Comput., C-21, No. 3, pp. 269—281, 1972.
323. Zucker S. W. Region Growing: Childhood and Adolescence, Comput. Gra¬
phics Image Proc., 5, pp. 382—399, 1976.
324. Zucker S. W., Hummel R. A. A Three — Dimensional Edge Operator, IEEE
Trans. Pattern Anal. Mach. Intell., PAMI-3, No. 3, pp. 324—331, 1981.
325. Automation Systems Assembly Robot Operator’s Manual, P50VE025, Ge¬
neral Electric Co., Bridgeport, Conn., February 1982.
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ
А-алгоритм 524—525
Автомат 471
Агрегирование пикселов 418
Адаптивное управление 270
Аккумулятивная разность 425
Алгоритм Накаши и Шингала 447
— планирования траектории 509—510
— постоянной стоимости 406
— формирования систем координат
звеньев 54—56
узловых точек траектории 171
Анализ конечных значений 536
Аналоговые тактильные датчики 315
А0*-алгоритм 530
Аппроксимация многоугольниками 434
Базовая линия 357
Бесконтактные датчики 296
Большая ось границы 437
Вектор 569
— ошибки позиционирования 250
— прототипа 461
— сложение 570
— умножение на скалярную величину
570
Векторное произведение 575
Векторы базисные 572
Верхний уровень технического зрения
327
Внешнее очувствление 295
Воспроизведение 24
Вращающиеся системы координат 123
Вращение 342
Выбор оптимального порога 408
«Генерация и тест» 565
Геометрический подход 77
Гистограммное выравнивание 376
Глобальный порог 407
Грамматики цепочек 467
Граф решения 530 1
Датчик сочленения 319
Датчики дискретные пороговые 314
— емкостные 309
— измерения в ближней зоне 306
— дальней зоне 296
— индуктивные 306
— роботов внутреннего состояния
295
— схвата 319
— Холла 308
Двигатели сочленений 297
Декартовы системы координат 673
Декомпозировщик 502
Дерево схожести 464
Дескрипторы границы 430
— области 441
Детерминанты 584
Динамика манипулятора 20, 100
Дискретизация изображения 332
614
Длина скрутки 50
Древовидная грамматика 472
ДХ-представление 52, 103
Емкостные датчики 309
Изменение масштаба 342
Измерение расстояний между пиксе¬
лами 361
Измеритель расстояния по времени
прохождения сигнала 301
Инварианты моментов 450
Индекс формы 437
Индуктивные датчики 306
Интерпретация 477
«Искусственная кожа» 315
Калибровка датчика 322
— камеры 355
Квантование по интенсивности 332
серому уровню 333
Кинематика манипулятора 20
— обратная задача 69
прямая задача 29
уравнения 58
Классификация манипуляторов 68
Компенсация в системах с цифровым
управлением 245
— по прямой связи 239
Контактные датчики 295
Конфигурации манипуляторов 79
Корректирующий момент 244
Кососимметрическая матрица 582
Крен 15, 40
Критерии выбора конфигурации за¬
хвата 561
— работоспособности системы 235
Критическое демпфирование 236, 244
Линейная зависимость 572
Линейное векторное пространство 571
Линейные комбинации 572
Локальное гистограммное выравнива¬
ние 382
Локальный анализ 396
Матрица схожести 465
Матрицы поворота 29, 32, 34
Метод «гипотеза — тест» 558
— задания гистограммы 379
— Лагранжа — Эйлера 103
— Ньютона — Эйлера 138
— обратных преобразований 70
— подсветки 298
— с непрерывным лучом 304
— стохастической аппроксимации 269
Методы поиска на графе 522
— направленного освещения 340
— пространственной области 363—
368
— рассеянного освещения 336
— структурного освещения 336
— частотной области 366
Многосуставный робот 242
Моделирование 552
— рабочего пространства 503
Модель воспроизводящей камеры 349
Модельный вектор 461
— объект 516
Модульное расстояние 361
Мощность системы технического зре¬
ния 479
m-связный пиксел 360
Надкритическое демпфирование си¬
стемы 236
Направленный граф 403
Независимое адаптивное управление
движением 285
Нижний уровень технического зрения
327
Областно-ориентированная сегмента¬
ция 417
Обобщенные уравнения Д’Аламбера
143
Обобщенный конус 458
Обратное двумерное преобразование
Фурье 366
Обратные матрицы 587
— преобразования 343
615
Обучение 24
Обход препятствий 558
Ограничения на траекторию 176
Одноразмерный БПФ-алгоритм 367
Однородная матрица композиции
преобразований 46
элементарного сдвига 44
Однородные матрицы элементарных
поворотов 43
— координаты 42
Одношаговый оптимальный закон уп¬
равления 276
Операция обращения 40
— транспонирования 30
Описание задачи сборки 505—508
Определение кромок 385—389
Оптические датчики 313
— преобразования 344
Ортогональное преобразование 31
Очувствление 497
Ошибка позиционирования конечного
звена 264
ПД-регуляторы 227
ПД-управление 283
Период дискретизации 245
Пиксел 334
Планирование движения 515
— захвата 561
— траектории 171, 189, 168
Планировщик 25
— задач 502, 551
Подвижные системы координат 125
Пороговое разделение 390
Построение экспертной системы 563
Правило заметания объема 458
Правильно построенные формулы
(ППФ) 458
Представление Денивита—Хартенбер¬
га 52
Преобразование Хоуга 399
Принцип д'Аламбера 130
— максимума Понтрягина 247
Проблемно-ориентированное програм¬
мирование 488
Проблемно-ориентированные языки
501
616
Проведение контуров 396
Программирование обучением 486
Программное управление 257
Производящая система 522
Производящие правила 564
Простейший элемент 463
Пространство состояний 516
Прямое двумерное преобразование
Фурье 366
Рабочее пространство 511
Разбиение области 420
Разметка линий 456
Ранг матрицы 586
Распознавание 460
— слов 24
Рекуррентные уравнения динамики
манипулятора 129
Рекурсивный алгоритм идентификации
по наименьшим квадратам 279
Решающие функции 461
Робот 13
Роботоориентированное программиро¬
вание 488
Роботоориеитированные языки про¬
граммирования 489, 490—497
Рысканье 15, 40
Самонастраивающееся адаптивное
управление 292
Свободное пространство 560
Сглаженные траектории 174
Сглаживание 367
Сглаживающие дискретные изображе¬
ния 373
Сегментация 396
— трехмерных структур 452
Сигнатуры 433
Силомоментные датчики 296, 319
Символические пространственные свя¬
зи 554
Симметрическая матрица порядка п
482
Синтаксические методы 467
Синтез программы 508
Система STRIPS 541
Системные средства программирова¬
ния 499
Системы углов Эйлера 37, 65
— с переменной структурой 250
Скаляр 569
Скалярное произведение 574
Скелет области 446
След матрицы 108, 588
Слепой поиск 523
Смещение 341
Собирающие элементы 399
Соседние пикселы 359
Состояние 516
Средний уровень технического зре¬
ния 327
Степень схожести 464
Стереоизображение 357
Структурные методы распознавания
463
Тактильные датчики 314
Тангаж 15, 40
Текстура 442
Теорема Найквиста 245
Теоретические методы распознавания
461
Техническое зрение 326
Типы управления манипулятором 168
Точка подхода 175
— ухода 175
Траектория схвата 21, 169
Триангуляция 296
Углы Эйлера 74
Угол скрутки 50
Узловые точки траектории 170
Ультразвуковой измеритель расстоя¬
ний 305
Ультразвуковые датчики 311
Управление 491
— адаптивное по возмущению 275
заданной траектории 270
с авторегрессионной моделью
273
— независимое программное 257, 261,
264, 266
— нелинейное независимое по обрат¬
ной связи 252
— оптимальное по быстродействию
246, 249
Уравнение Лагранжа — Эйлера 103
Усреднение изображения 371
— окрестности 367
Усредненная фильтрация 368
Устройство позиционирования 232
Функция плотности наклона 434
— ранжирования 473
Цепные коды 430
Циклическая перестановка 578
Цифровое изображение 334
Частота дискретизации 245
Шахматное расстояние 362
Штрафная функция 559
Эвристики 523
Эвристическая информация 524
Экспертные системы 562
Dendral 564
MYCIN 565
Элемент изображения 334
Эффект Холла 308
Язык логики предикатов первого по¬
рядка 532
ОГЛАВЛЕНИЕ - ■ ' :v- ■ г
Предисловие редактора перевода . г 5
Предисловие 8
Об авторах 11
Глава 1. Введение 13
1.1. Основные положения 13
1.2. История развития роботов 16
1.3. Кинематика и динамика манипулятора 20
1.4. Планирование траекторий и управление движением манипуля¬
тора 21
1.5. Системы очувствления роботов 22
1.6. Языки программирования для робототехнических систем . . 23
1.7. Машинный интеллект 25
1.8. Литература 26
Глава 2. Кинематика манипулятора . 27
2.1. Введение 27
2.2. Прямая задача кинематики 29
2.3. Обратная задача кинематики 69
2.4. Заключение 93
Литература . . . .-1. 94
Упражнения 94
Глава 3. Динамика манипулятора 100
3.1. Введение 100
3.2. Метод Лагранжа — Эйлера ' . . . 103
3.3. Уравнения Ньютона — Эйлера 122
3.4. Обобщенные уравнения Д'Аламбера 143
3.5. Заключение 161
Литература 161
Упражнения 163
618
Глава 4. Планирование траекторий манипулятора 168
4.1. Введение 168
4.2. Общая постановка задачи планирования траекторий . . . .171
4.3. Сглаживание траектории в пространстве присоединенных пере¬
менных 174
4.4. Планирование траекторий в декартовых координатах .... 193
4.5. Заключение 217
Литература 218
Упражнения 219
Глава 5. Управление манипуляторами промышленного робота 222
5.1. Введение . • 222
5.2. Управление манипулятором Пума 224
5.3. Метод вычисления управляющих моментов 226
5.4. Субоптимальное по быстродействию управление 246
5.5. Управление манипулятором с переменной структурой .... 250
5.6. Нелинейное независимое управление по обратной связи . , . 252
5.7. Независимое программное управление движением ..... 257
5.8. Адаптивное управление 270
5.9. Заключение 292
Литература 293
Упражнения 293
Глава 6. Очувствление 295
6.1. Введение 295
6.2. Датчики измерения в дальней зоне 296
6.3. Очувствление в ближней зоне 306
6.4. Тактильные датчики 314
6.5. Силомоментное очувствление 319
6.6. Заключение 323
Литература 323
Упражнения 324
Глава 7. Системы технического зрения нижнего уровня 326
7.1. Введение 326
■ 7.2. Получение изображения 328
• 7.3. Методы освещения 336
■ 7.4. Геометрия изображения 340
7.5. Некоторые основные взаимосвязи между пикселами .... 359
7.6. Предварительная обработка информации 363
7.7. Заключение 392
Литература 393
Упражнения 393
619
Глава 8. Системы технического зрения высокого уровня . 395
8.1. Введение 395
8.2. Сегментация 396
8.3. Описание 430
8.4. Сегментация и описание трехмерных структур 452
8.5. Распознавание 460
8.6. Интерпретация 477
8.7. Заключение 481
Литература 482
Упражнения 484
Глава 9. Языки программирования роботов 485
9.1. Введение 486
9.2. Характеристики роботоориентированных языков 489
9.3. Характеристики проблемно-ориентированных языков .... 501
9.4. Заключение 511
Литература 511
Упражнения 514
Глава 10. Искусственный интеллект и планирование задач в робото¬
технике 515
10.1. Введение 515
10.2. Поиск в пространстве состояний 515
10.3. Проблема сведения задачи к подзадачам 526
10.4. Применение логики предикатов 532
10.5. Анализ конечных значений 536
10.6. Решение задачи 540
10.7. Обучение робота 549
10.8. Планирование задачи движения роботов 551
10.9. Основные проблемы планирования задач 554
10.10. Экспертные системы и системы представления знаний . . . 562
10.11. Заключение 566
Литература 567
Упражнения 568
Приложение А. Векторы и матрицы 569
А.1. Скалярные и векторные величины 569
А.2. Сложение и вычитание векторов 570
А.З. Умножение векторов на скалярные величины 570
А.4. Линейное векторное пространство 571
А.5. Линейная зависимость и линейная независимость .... 572
А.6. Линейные комбинации, базисные векторы и размерность . . 572
А.7. Декартовы системы координат 573
А.8. Произведение двух векторов 574
А.9. Произведение трех и более векторов 577
АЛО. Производные векторных функций 580
А. 11. Интегрирование векторных функций 581
А.12. Матричная алгебра ... 581
А. 13. Сложение матриц 583
А. 14. Умножение матриц 583
А. 15. Детерминанты 584
€20
А. 16. Ранг матрицы 580
А. 17. Присоединенные и обратные матрицы ’ 587
А. 18. След матрицы ’ 533
Приложение Б. Якобиан манипулятора 589
Б.1. Метод векторного произведения ... 589
Б.2. Метод дифференциального перемещения и вращения . . 592
Б.З. Определение якобиана из уравнений движения Ньютона —
Эйлера 598
Литература 600
Предметный указатель 614