Text
                    Robotics: Control, Sensing, Vision, and Intelligence
K. S. Fu
School of Electrical Engineering
Purdue University
R. C. Gonzalez
Department of Electrical Engineering
University of Tennessee and
Perceptics Corporation
Kcoxville, Tennessee
C. S. G. Lee
School of Electrical Engineering
Purdue University
McGraw—Hill Book Company
New York St.Louis San Francisco Auckland Bogota
Hamburg London Madrid Mexico Milan Montreal New Delhi Panama Paris Sao Paulo Singapore Sydney Tokyo Toronto
К.Фу, Р Гонсалес, К.Ли
РОБОТОТЕХНИКА
Перевод с английского
канд. техн, наук А. А. Сорокина, А. В. Градецкого и канд. техн, наук М. Ю. Рачкова
под редакцией
д-ра техн, наук В. Г. Градецкого
Москва «Мир» 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.
© перевод на русский язык, «Мир», 1089
ПРЕДИСЛОВИЕ РЕДАКТОРА ПЕРЕВОДА
И, . '	5Н;
Стремительное развитие робототехники за последнюю четверть века существенно обогэтило технический прогресс и предоставило человечеству новые средства автоматизации—промышленные роботы, применяемые в качестве транспортных средств, технологических машин и элементов гибких систем комплексной автоматизации. Фундаментальные идеи робототехники основываются на новейших достижениях в области теоретической и прикладной механики, электроники, вычислительной техники, технологии, теории управления.
Интенсивному развитию робототехники сопутствуют публикации по конкретным отдельным достижениям и обобщающие монографии, хотя создание последних требует значительного теоретического, практического и педагогического опыта. К числу таких обобщающих многоплановых публикаций относится данная книга, которая отражает опыт исследований по кинематике, динамике, системам управления и очувствления и по программному обеспечению промышленных манипуляционных антропоморфных роботов типа Пума. Отечественным аналогом является робот РМ-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°)
Качание в плечевом
S
Тангаж
Крен (270°/
.Вращение б локте вом суставе (270°)
Рысканье (300°)
Рис. 1.1. Манипулятор Т3 фирмы «Цинциннати Милакрон» (а) в манипулятор Пума-560 (б).
работы. Движение в сочленениях манипулятора вызывает относительное перемещение его звеньев. С точки зрения механики робот состоит из руки (несущей конструкции) и узла запястья, оснащенного инструментом. Он может воздействовать на объекты, расположенные внутри его рабочего объема. Под рабочим объемом робота подразумевается область пространства, в каждую точку которой рука робота может доставить блок за
14
пястья. Обычно рука робота обладает тремя степенями свободы. Комбинацией перемещений по этим степеням свободы обеспечивается перенос узла запястья в заданную точку рабочего объема. Узел запястья обычно обладает тремя вращательными степенями свободы. Комбинацией вращений в узле запястья обеспечивается необходимая для работы с объектом манипулирования ориентация инструмента. Три угловых движения, реализуемые узлом запястья, часто называют танга-
жем, рысканьем и креном. Таким образом, рука шестизвенного робота обеспечивает нужное положение инструмента, а узел запястья — его правильную ориентацию. Все сказанное иллюстрирует рис. 1.1, на котором изображены манипуляторы Т3 фирмы «Цинциннати Милакрон» и Пума фирмы «Юнимейшн».
Промышленные роботы широко используются для выполнения таких функций в производственном процессе, как сборочно-монтажны’е, сварочные, покрасочные, погрузочно-разгрузочные работы. Их используют для проведения космических и подводных исследований, для работы с вредными веществами и радиоактивными материалами. Все эти роботы относятся к одной из четырех основных категорий, различающихся по способу осуществления пространственных перемещений (рис. 1.2):
15
•	Роботы с декартовой системой координат, имеющие три поступательных сочленения (например, робот RS-1 фирмы ИБМ и робот Sigma фирмы «Оливетти») (а).
•	Роботы с цилиндрической системой координат, имеющие два поступательных и одно вращательное сочленение (например, робот Versatran 600 фирмы «Прэб» (б).
•	Роботы со сферической системой координат, имеющие одно поступательное и два вращательных сочленения (например, робот Unimate-200B фирмы «Юннмейшн») (в).
•	Роботы с вращательной, или шарнирной, системой координат, имеющие три вращательных сочленения (например, робот Г3 фирмы «Цинциннати Милакрон» и робот Пума фирмы «Юнимейшн») (г).
Большинство современных промышленных роботов, несмотря на то что управление ими осуществляется с помощью микро-и мини-ЭВМ, представляют собой по сути простые позиционные механизмы. Их функционирование сводится к воспроизведению заранее запрограммированной последовательности движений. Кроме того, эти роботы не оборудованы или оборудованы в недостаточной степени внешними датчиками, поставляющими информацию о рабочей обстановке. В результате роботы применяются в основном для выполнения простых, многократно повторяющихся операций. В настоящее время усилия исследователей направлены на дальнейшее совершенствование робототехнических систем. Одним из путей такого совершенствования является изучение ряда важных вопросов робототехники, изложенных в этой книге.
1.2.	ИСТОРИЯ РАЗВИТИЯ РОБОТОВ
Слово робот в английском языке впервые появилось в 1921 г. после выхода в свет сатирической пьесы Карела Чапека «РУР». В этой пьесе роботы — человекоподобные машины, обладающие способностью работать без устали. Они были созданы для того, чтобы работать вместо людей. Однако в конце пьесы роботы восстают против своих создателей и уничтожают все человечество. В большой мере именно пьеса Чапека породила бытующее и по сей день представление о роботах, как о человекоподобных машинах, обладающих интеллектом и индивидуальностью. Этот образ был подкреплен фильмом «Мет-рополис», созданным в 1926 г. в Германии. Робот Электро и его собака Спарко успешно демонстрировались в 1939 г. на Всемирной ярмарке в Нью-Йорке. Робот СЗРО из более позднего, созданного в 1977 г. фильма «Звездные войны» также способствовал этому представлению. Современные промышленные роботы несомненно покажутся примитивными в сравнении с обра
16
зом, созданным средствами массовой информации за последние шесть десятилетий.
Первые роботы, с которых началась современная робототехника, появились сразу после второй мировой войны. В конце 40-х годов в Окриджской и Аргоннской национальных лабораториях были начаты исследовательские программы по созданию дистанционно управляемых механических манипуляторов для работы с радиоактивными материалами. Разрабатывались манипуляторы копирующего типа, предназначенные для точного воспроизведения движений руки и кисти человека-оператора. В систему входили задающий и копирующий манипуляторы. Задающий манипулятор приводился в движение человеком-оператором, при этом копирующий манипулятор воспроизводил с максимальной точностью все движения задающего. Позднее путем установления механических связей между задающим и копирующим манипуляторами была введена обратная связь, позволяющая оператору ощущать силы взаимодействия между копирующим манипулятором и его рабочей средой. В середине 50-х годов механические способы введения обратной связи были заменены электрическими и гидравлическими, как, например, в манипуляторе Handyman фирмы «Дженерал Электрик» и манипуляторе Minotaur-I фирмы «Дженерал Милз».
Вскоре вслед за манипуляторами копирующего типа были разработаны более сложные системы, способные выполнять многократно повторяющиеся операции в автономном режиме. В середине 50-х годов Джордж С. Девол сконструировал устройство, названное им «программируемое шарнирное устройство для переноски» — манипулятор, функционирование которого задавалось программой (следовательно, могло изменяться) в виде последовательности элементарных движений, определенных командами этой программы. Дальнейшее совершенствование Деволом совместно с Джозефом Ф. Энгельбергером этого замысла привело к созданию первого промышленного робота, выпущенного в 1959 г. фирмой «Юнимейшн». Основная идея при создании этого устройства заключалась в совмещении манипулятора с компьютером, что позволило получить машину, которую можно было «обучать» автоматическому выполнению разнообразных работ. От специализированных автоматических машин эти роботы отличались возможностью смены выполняемых операций при изменении условий производственного процесса. Изменение выполняемых роботом операций осуществлялось путем относительно недорогого перепрограммирования и переоснащения.
В 60-х годах стало очевидно, что гибкость программируемых роботов — этого нового мощного промышленного инструмента— может быть существенно повышена за счет использования средств очувствления. В начале 60-х годов Эрнст [72]
17
разработал управляемую с помощью компьютера механическую руку с тактильными датчиками. Это устройство, названное МН-1, могло «осязать» блоки, с которыми оно работало, и использовало поступающую с датчиков информацию для управления захватным устройством, что позволяло укладывать блоки без помощи оператора. Эта разработка является одним из первых примеров робота, способного адаптироваться к неполностью определенной внешней обстановке. Система состояла из манипулятора ANL Model-8 с шестью степенями свободы, управляемого с помощью устройства обмена компьютером ТХ-0. Позднее эта исследовательская разработка стала частью проекта МАС, по которому в состав системы вводилась еще и телевизионная камера. В тот же период Томович и Бони [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.	ЯЗЫКИ ПРОГРАММИРОВАНИЯ ’
ДЛЯ РОБОТОТЕХНИЧЕСКИХ СИСТЕМ ‘ ,
Существенным препятствием на пути применения манипуляторов в качестве универсальных сборочных или других технологических машин является недостаток средств общения между пользователем и робототехнической системой, с помощью которых пользователь мог бы формулировать подлежащую выполнению задачу. Существует несколько способов общения с роботом, базирующихся на трех основных подходах:
2а
распознавании слов, обучении и воспроизведении, применении языков программирования высокого уровня.
Современный уровень возможностей в распознавании слов весьма примитивен. Он допускает восприятие ограниченного набора слов, и, как правило, говорящий должен делать между словами паузы. Хотя благодаря росту быстродействия компьютеров и использованию эффективных алгоритмов обработки в настоящее время стало возможным восприятие слов в реальном темпе, применимость этого подхода для постановки задачи перед роботом весьма ограничена. Кроме того, хранение речевой информации требует большого объема машинной памяти, и обычно требуется определенный период обучения, в течение которого формируются речевые эталоны, используемые при распознавании слов.
Метод обучения и воспроизведения состоит в обучении робота движениям, которые он должен выполнять, путем проведения манипулятора через всю последовательность заданных движений. Обучение состоит из следующих этапов: 1) с помощью ручного управления в медленном темпе осуществляется выполнение всех операций, которые манипулятор должен проделать во время решения задачи. При этом в определенных положениях производится запись значений присоединенных координат манипулятора, чтобы выполняемое движение могло быть впоследствии воспроизведено; 2) движения, которым робот был обучен на первом этапе, воспроизводятся и корректируются; 3) если робот правильно воспроизводит заданные движения, начинается его функционирование, состоящее в периодическом повторении этих движений в соответствующем темпе. Данный метод, называемый также методом обучения в ручном режиме, наиболее часто используется в современных промышленных роботах.
Более общим подходом к решению задачи человеко-машинного общения является использование языков программирования высокого уровня. Роботы часто используются для проведения сварочных и покрасочных работ, Такие роботы не требуют непосредственного взаимодействия робота с внешней средой, и необходимое поведение робота легко задается методом обучения и воспроизведения. Однако использование роботов для выполнения сборочных работ требует применения методов программирования на языках высокого уровня. Этот подход оправдывается также и тем, что управление манипулятором обычно осуществляется с помощью компьютера, а наиболее эффективным средством общения человека с компьютером являются именно языки программирования высокого уровня. Более того, описание сборочных работ в виде программ позволяет использовать робот для выполнения различных заданий, что осуществляется путем простой смены исполняемой программы.
24
Это расширяет возможности адаптации роботов к условиям изменяющегося производственного процесса и повышает их универсальность. Применение языков программирования высокого уровня для обеспечения эффективного общения с роботом обсуждается в гл. 9.
1.7.	МАШИННЫЙ ИНТЕЛЛЕКТ
Основной проблемой робототехники является проблема планирования движений, обеспечивающих выполнение поставленной задачи, и последующего управления манипулятором с целью реализации запланированных движений. Под планированием мы подразумеваем выбор стратегии поведения, осуществляемый до начала выполнения задачи. Выбор стратегии поведения осуществляется системой выбора стратегий исходя из поставленной цели и с учетом заданной начальной ситуации. Таким образом, план представляет собой описание стратегии поведения,, выбранной для достижения поставленной цели.
В результате исследований в области выбора стратегий поведения роботов был создан ряд подходов к построению систем выбора стратегий, принадлежащих к разряду систем искусственного интеллекта. Типичная для робототехники формулировка задачи состоит в следующем. Имеется робот, снабженный сенсорными устройствами, и задан набор элементарных операций, которые этот робот может выполнять в некоторой достаточно простой обстановке. Своими действиями робот изменяет окружающую обстановку. Например, внешняя обстановка может представлять собой набор помеченных блоков, лежащих на столе или друг на друге, а робот, состоящий из телевизионной камеры, подвижной руки и схвата, может поднимать и передвигать эти блоки. В других ситуациях робот представляет собой подвижную тележку с телевизионной камерой, которая толкает объекты с одного места на другое по плоскости, на которой находятся другие объекты.
В гл. 10 изложен ряд основных методов выбора стратегий и рассмотрены возможности их применения для планирования траекторий манипуляторов. Планировщик, входящий в состав робота, осуществляет поиск пути из начального состояния окружающей робота обстановки к конечному. Путь состоит из последовательности операций, считающихся для данной системы элементарными. Выбранная стратегия может служить основой для выполнения реальных действий в реальной окружающей обстановке. Системы планирования поведения роботов, вносящие в робототехническую систему элементы интеллекта и позволяющие осуществлять выбор стратегий поведения, являются в настоящее время предметом интенсивных исследований. Для обеспечения функционирования робота в реальном темпе необ
25
ходимы мощные и эффективные алгоритмы планирования, а также быстродействующие специализированные компьютеры, позволяющие эти алгоритмы реализовать.
1.8.	ЛИТЕРАТУРА
Ниже приводится список изданий, содержащих публикации по робототехнике и смежным вопросам. Литература по конкретным темам представлена в конце каждой главы. Библиография в конце книги содержит полную информацию о всех источниках, упомянутых в тексте. Список источников составлен в алфавитном порядке фамилий авторов.
Традиционно вопросы робототехники освещаются в следующих журналах: IEEE Journal of Robotics and Automation; International Journal of Robotics Research; Journal of Robotic Systems; Robotica; IEEE Transactions on Systems, Man and Cybernetics; Artificial Intelligence; IEEE Transactions on Pattern Analysis 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].
о Из отечественных можно назвать следующие журналы; «Техническая кибернетика», Изв. АН СССР; «Механика твердого тела»; «Машиноведение»; «Проблемы машиностроения»; «Приборы и системы управления»; «Вестник машиностроения», а также тематические сборники, труды конференций. — Прим. ред.
Глава 2.
КИНЕМАТИКА МАНИПУЛЯТОРА
Смотри! Она защевелилась, она начинает двигаться, кажется, она чувствует движение жизни.
X. В. Лангфелло
2.1.	ВВЕДЕНИЕ
Механический манипулятор можно рассматривать как разомкнутую цепь, которая состоит из нескольких твердых тел (звеньев), последовательно соединенных вращательными или поступательными сочленениями, приводимыми в движение силовыми приводами. Один конец этой цепи соединен с основанием, а другой конец свободен и снабжен рабочим инструментом, позволяющим воздействовать на объекты манипулирования или выполнять различные технологические, например сборочные, операции. Относительное движение сочленений передается звеньям, в результате чего схват манипулятора занимает в пространстве заданное положение. В большинстве приложений робототехники требуется описать пространственное положение схвата по отношению к заданной абсолютной системе координат.
Кинематика манипулятора изучает геометрию движения манипулятора относительно заданной абсолютной системы координат, не рассматривая силы и моменты, порождающие это движение. Таким образом, ее предметом является описание пространственного положения манипулятора как функции времени, и, в частности, соотношения между пространством присоединенных переменных манипулятора — обобщенными координатами, положением и ориентацией схвата. В этой главе рассмотрены две основные задачи кинематики манипулятора (важные как в теоретическом, так и прикладном плане).
1.	Для конкретного манипулятора по известному вектору присоединенных углов — обобщенных координат q(/) = (q^t), q?(t)...4n(t))7	и заданным геометрическим параметрам
звеньев (п— число степеней свободы) определить положение и ориентацию схвата манипулятора относительно абсолютной системы координат.
2.	При известных геометрических параметрах звеньев найти все возможные векторы присоединенных переменных манипулятора, обеспечивающие заданные положение и ориентацию схвата относительно абсолютной системы координат.
27
Первую из этих задач принято называть прямой, а вторую — обратной задачей кинематики манипулятора. Поскольку собственными независимыми переменными манипулятора являются присоединенные переменные, а задача, как правило, формулируется в координатах абсолютной системы отсчета, обратная задача кинематики возникает более часто, чем прямая. На рис. 2.1 приведена блок-схема, иллюстрирующая взаимосвязь этих задач.
Присоединенные уелы (oSoS-____
щенные координаты)
Чп(*)
Параметры звеньев
Прямая задача кинематики
Положение и ориентация * схвата
Присоединенные узлы (обобщен-кые коорди- * 1*
Параметры звеньев
каты)
Обратная задача кинематики
J
Рис. 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 вращается относительно абсолютной системы OXVZ. Физически система OUVW может рассматриваться как связанная система координат. Это означает, что она соответствующим образом жестко связана с твердым телом (например, с летательным аппаратом или звеном манипулятора) и движется вместе с ним. Пусть (ix, j!Z, кг) и (iu, jv, кда) — единичные векторы, направленные вдоль осей систем OXVZ и OUVW соответственно. Некоторую точку р в пространстве
можно охарактеризовать координатами относительно любой из указанных систем. Для простоты рассуждений предположим, что точка р фиксирована и неподвижна в системе отсчета OUVW. Тогда в системах координат OUVW и OXYZ точка р будет иметь соответственно координаты
Ри»а» (Ри> Pw}
И Рхуг ~ (Рх> Ру, Pz) >	(2.2-1}
Рис. 2.2. Абсолютная и связанная си- где рхуг и pUvw характеризуют стемы координат.	положение одной и той же точ-
ки р относительно различных систем отсчета. Верхний индекс Т, добавляемый к обозначению вектора или матрицы, обозначает операцию транспонирования.
Наша задача состоит в том, чтобы определить матрицу R размерностью 3X3, которая преобразует координаты pvuw в координаты вектора р в системе OXYZ после того, как система OUVW будет повернута, т. е.
Рхуг *'Риагв-
(2.2-2)
Заметим, что физически точка р вращается вместе с системой координат OUVW.
Из определения компонент вектора имеем
Puuay Ри * h Н- Pv ‘ jy Н- Pw ' кщ,
(2.2-3)
где ри, Pv и pw представляют собой составляющие вектора р вдоль осей OU, OV и OW соответственно, или проекции вектора р на эти оси. Таким образом, используя определение скалярного произведения и равенство (2.2-3), получаем
Рх == 1* ’ Р == ix ‘	' Ри Н- lx ’ Jt> Pv Н- U ' кщ, • pw,
Ру = iy  Р ~ iy ' iu ' Ри Н- jy ' j» ‘ Pv Н- jy кщ, • pw, (2.2-4} Pz == кг  P == кг  ia • pu + kz • ja • py -|- кг • кщ, • pw,
30
или в матричной форме
С учетом эт	'Рх‘ Ру -Рг- ого	Г ix • i« ~ jy ' Lkz • iH выражения			lx ‘ Ja iy • »a kz ' ja матриц;	£5 . .	. Ш W W W £ § § "O 1	1	Г Ри'  Pv Pw J авенстЕ		(2.2-5) e (2.2-2) при-
мет вид				ix ' iu	ix ‘ ja				
		R =		jy ’ iu	Jy ’ la	J& '			(2.2-6)
				-kz  iu	kz ‘ ja	V . V			
Аналогично, координаты рнащ) можно получить из координат
Рхуг-
Риаа» ' ' Q ' Pxyz					(2.2-7)			
	'Pu'		i« ’ ix	 iy	iu ’ kz		'Px'	
ИЛИ	Pv	=	Ja ‘ 1X	Ja ' iy	ja ‘ kz	•	Py	.	(2.2-8)
	~ Pw ~		- кш • ix	кщ> ‘ jy	кщ, • kz -		-Pzl	
Поскольку операция скалярного произведения коммутативна, го из соотношений (2.2-6) — (2.2-8) следует
Q=R-‘ = Rr,	(2.2-9)
QR = R?R=R1 R = I3,	(2.2-10)
где h — единичная матрица размерностью 3X3. Преобразование, определяемое формулой (2.2-2) или (2.2-7), называется ортогональным преобразованием, а поскольку все векторы, вхо-
дящие в скалярные произведения, единичные, его также называют ортонормальным преобразованием.
Особый интерес представляют матрицы поворота системы OUVW относительно каждой из трех основных осей системы OXYZ. Если положение системы OUVW в пространстве изменяется за счет поворота этой системы на угол а вокруг оси ОХ, то в системе отсчета OXYZ изменятся и координаты (рх,ру,рг)т точки риаю, имеющей в системе OUVW неизменные координаты (pu,Pv, Pw). Соответствующая матрица преобразования Rx а называется матрицей поворота вокруг оси ОХ на угол а. Основываясь на полученных выше результатах, для матрицы RXj а имеем
причем ix = iu, и
Pxyz Rx,a ‘ Риаа»>
R
1Х ' jy •
' kz ' 1 и
ix ‘ Ja jy ' ja kz ’ J a
ix-k^i Г1 0
jy • k^ = 0 cos a kz • кщ, J L 0 sin a
0 -
— sin a cos a -
(2.2-11)
(2.2-12)
Аналогично, трехмерные (размерностью 3X3) матрицы поворота вокруг оси OY на угол <р и вокруг оси OZ на угол 0 имеют
31
соответственно вид (рис. 2.3):
Я», ф
COS ф
О
- — sin ф
о
1
о
sin ф'
О
cos<p J
и
> Яг, е —
’ cos О sin О
- О
— sin О cos О
О'
О
Rz, g называются матрицами
42.2-13) элементар-поворотов поворотов.
Матрицы Rxa, Ry, Ф ных поворотов. Любые другие матрицы конечных можно получить, используя матрицы элементарных Пример. В повернутой системе координат OUVW заданы две точки аиогг)=(4, 3, 2)т и Ьиагг) =(6, 2, 4)Г. Требуется определить координаты а.хуг и Ьхуг этих точек в абсолютной системе координат, если система OUVW повернута относительно оси OZ на угол 60°.
PsUlBHUB. Лхух — Rz, бОо'аиУШ И ’ 0,500 -0,866 0,866 -0 - 4(0,5) + 3 (-0,866) + 2(0)' 4 (0,866) + 3 (0,5) + 2 (0) 4(G)+ 3(0)+ 2(1) —0,866 0-0,500 0 • 0	1 -

0,500 О
Ьхуг — Rz, 60°buvo>, О' о
 4 ' 3
-2 -
'-0,598' •
=	4,964 ,
- 2,0 -
' 1,268'
6,196 .
-4,0 -
- 6' 2
-4-
’ 0,500
0,866
-0
Таким образом, ахуг равны соответственно Пример. По известным координатам точек а.хуг = (4, 3, 2)т и Ь,уг = (6, 2, 4)т в абсолютной системе отсчета требуется определить соответствующие координаты в системе OUVW, повернутой относительно оси OZ на 60°.
Решение. &uvw —~ (Rz, 6О0 ) ^ * &хУг 0,500 0,866 —0,866 0,500 0	0
Ь^г =


и Ьхуг в абсолютной системе координат (—0,598, 4,964, 2,0)т и (1,268, 6,196, 4,0)т.
= (4, 3, 2)
и b О' о 1 -
uvw — ( Кг. 60°) Т ' Ьхг/г, ' 4'
• 3 =
- 2-
' 4 (0,5) + 3 (0,866) + 2 (0) ' 4 (-0,866) 4- 3(0,5) 4-2(0)
-	4(0) + 3(0) + 2(1)	-
-	0,500 0,866 01 [-6'
—0,866 0,500 0 •
1J L4J
2
0	0
' 4,598'  -1,964 , - 2,0 -4,732' -4,196 .
4,0 -
32

2.2.2.	Матрицы сложных поворотов
Описание последовательности конечных поворотов относительно основных осей системы OXYZ можно получить путем перемножения матриц элементарных поворотов. Поскольку операция перемножения матриц некоммутативна, здесь существенна последовательность выполнения поворотов. Например, матрица поворота, представляющего собой результат последовательного выполнения поворотов сначала на угол а вокруг оси ОХ, затем на угол 0 вокруг оси OZ, затем на угол ф вокруг оси OY, имеет вид
Сф 0 5ф"
R— Ry, q>Rz, 0  Rx,a—	0 10
- —5ф 0 Сф -
-се —sb
SB св - о о
01
X 0 Са
-О 5а
О "
—Sa
Са -
СфСО S9
- —5фСе
5ф5а — СфЗОСа СфЗОЗа + 5фСа' СВСа	—CBSa
СфСОСа 4- СфСа СфСа — 5ф595а -
Г 1 о
О X
1 -
(2.2-14)
где Сф = cos ф; 5ф = sin ф; С0 = cos 6, S0 = sin 0; Са н= cos а, Sa = sin а. Она отличается от матрицы, описывающей результат поворота сначала на угол ф вокруг оси OY, затем на угол 6 вокруг оси OZ и, наконец, на угол а относительно оси ОХ. Во втором случае результирующая матрица поворота имеет вид
R — Rx, a  Rz, 9 ’ Rp, q> — ®
Lo Sa
Сф
- —5ф
0 -
—Sa Ca -
-C0 —SB
SB CB
- о 0
0 Sipl	С0Сф	—S0
1 0	= CaSOCcp 4- SaScp СаС0
О Сф -1 L 5а59Сф — Са5ф SaC9
0-
0 X
1 -
С95ф
CaSOScp — 5аСф 5а595ф — СаСф
Г1 О
0
(2.2-15)
Наряду с вращением относительно осей абсолютной системы координат OXYZ подвижная система отсчета OUVW может совершать повороты вокруг собственных осей. В этом случае результирующая матрица поворота может быть получена с использованием следующих простых правил.
1.	Вначале обе системы координат совпадают, и, следовательно, матрица поворота представляет собой единичную матрицу размерностью 3X3.
2.	Если подвижная система координат OUVW совершает поворот вокруг одной из основных осей системы OXYZ, матрицу
34
предыдущего результирующего поворота .надо умножить слева на соответствующую матрицу элементарного поворота.
3.	Если подвижная система координат OUVW совершает поворот вокруг одной из своих основных осей, матрицу предыдущего результирующего поворота надо умножить справа на соответствующую матрицу элементарного поворота.
Пример. Требуется найти матрицу поворота, являющегося результатом последовательного выполнения поворотов сначала на угол <р вокруг оси OY, затем на угол 6 вокруг оси OW и на угол а вокруг оси OU.
Решение:
— ^0, Ф ' ^3 ’	0 ’ R«, а	^0, ф R®, В ’ R<*> а
Сф 0 Сф '
О 1 о
Сф о Сф-
-С0 -С0 О'
С9 се о
- 0	0 1-
-1 о
0 Са
- 0 Са
0 -
—Са
Са -
СфСЭ СфСа — СфСОСа СфСОСа Ц- СфСа ' се сеса	—С0Са
- —СфС0 СфСОСа 4- СфСа СфСа — СфСЗСа -
Этот пример построен так, что матрица результирующего поворота такая же, как в выражении (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*
произведем указанную выше последовательность поворотов, но в обратном порядке и изменим при этом знаки углов поворота
Рис. 2.4. Вращение вокруг произвольной оси.
на противоположные. Результирующая матрица поворота равна
Rr, ф Rx, — а		 R». р  Rz, ф		 Ry, -р 			Rx, а —	, !			
	 1	о о -			ср	0	sp-		 Сф	—Зф
==	0	Са Sa			0	1	0	•	Зф	Сф
	-0 -	-Sa Са -		L —	зр	0	ср -1		- 0	0
	-С₽	о -sp-		' 1	0		0 			
X	0	1	0	•	0	Са		—За			
	-sp	о ср-		-0	За		Са -			
Из рис. 2.4 легко определить, что
sin р = гх,	со$р = Vc/ + г2г.
Подстановка этих равенств в предыдущее выражение Кг,» дает
Rr, q> —
ГхРф 4- Сф	rxryVф — гг3ф гхггУф + гу3ф
гхгуУ<р Ц- гг3ф	ГуКф + Сф гуггУц> — rxS<p , (2.2-16)
_гхггУ<$ — rySq> гyrгУф + гх3<р	ГгУф4-Сф _
36
где ]/ф = vers ф = 1 —cos ф. Это очень полезная матрица поворота.
Пример. Найти матрицу поворота Rr, Ф, задающую поворот на угол ф вокруг вектора г = (1, 1, 1)г.
Решение. Поскольку вектор г не является единичным, нужно нормировать его и определить после этого его координаты в системе отсчета OXYZ. Тем самым
+ 4 + T = Гу = ^'
Подставляя эти значения в равенство (2.2-16), получим матрицу Rr, <р:
1/ЗПф + Сф 1/ЗУф--------J=-S<₽ 1/ЗУф + — Зф
уз	уз
Кг ф= 1/31/ф + —^=-Зф 1/ЗУф + Сф 1/ЗУф-
1/ЗУф-----^Зф 1/ЗУф + -иЗф 1/ЗНф + Сф
__ уз	уз
2.2.4.	Представление матриц поворота через углы Эйлера
Матричное описание вращения твердого тела упрощает многие операции; однако, для того чтобы полностью описать ориентацию вращающегося твердого тела, необходимо использовать все девять элементов матрицы поворота. Непосредственно эти элементы не составляют полной системы обобщенных координат, с помощью которых можно описать ориентацию вращающегося твердого тела относительно абсолютной системы координат. В качестве обобщенных координат можно использовать углы Эйлера ф, 0 и гр. Существует много различных систем углов Эйлера и все они описывают ориентацию твердого тела относительно некоторой заданной системы координат. Три наиболее часто используемые системы углов Эйлера представлены в табл. 2.1.
Таблица 2.1. Три системы углов Эйлера
	1	2	3
Последовательность поворотов	На ф вокруг оси OZ На 0 вокруг оси OU На ф вокруг оси OW	На ф вокруг оси OZ На 0 вокруг оси OV На ф вокруг оси OW	На ф вокруг оси ОХ На 0 вокруг оси ОУ На <р вокруг оси OZ
37
Первая из рассматриваемых систем углов Эйлера обычно используется при описании движения гироскопов и соответствует следующей последовательности поворотов (рис. 2.5):
I.	Поворот на угол ф вокруг оси OZ.
2.	Поворот на угол 0 вокруг повернутой оси O[7(RM, е).
Рис. 2.5. Первая система углов Эйлера.
3.	Наконец, поворот на угол ip вокруг повернутой оси OW'(R0i,,^). Результирующая матрица поворота имеет следующий вид:
R<₽, е, ф Rz, <pRu, eRw, $ 
Г Сф —5ф 01 Г I
5ф
- О
Сф О о
О
С0
S0
0 1 Г Cip Sip - о
-S0
С0-
Cip о
0-
0
1 -
о
1 J L о

" СфС1р — 5фС051р — СфСтр — 5фС0С1р 5ф50 " 5фС1р + СфС051р — 5ф51р + СфСЭСтр —СФ50 S0Sip	S0Cip	С0 -
(2.2-17)
Поворот, описываемый матрицей R,r> е, может быть также получен в результате выполнения последовательности следующих поворотов вокруг осей неподвижной системы координат: сначала на угол ip вокруг оси OZ, затем на угол 0 вокруг оси ОХ и, наконец, на угол ф вокруг оси OZ.
На рис. 2.6 изображена вторая система углов Эйлера, опре* деляемая следующей последовательностью поворотов:
1.	Поворот на угол ф вокруг оси OZ(Rz, ф).	.. . .
38
2.	Поворот на угол 0 вокруг повернутой оси Ol7(Ro, е).
3.	Наконец, поворот на угол tp вокруг повернутой оси OW^R^, ф). Результирующая матрица поворота имеет следующий вид:
' СфС0С1[) — CcpSip -СфС05Ц) — 5фСф Сф50‘ 5фС0С1}) + Сф51[) — 5фС0511> + СфСф 5ф50
-S0Ci[)	S0Si|> С0 -
(2.2-18)
Поворот, описываемый матрицей R,Pi е, ф для этой системы углов Эйлера, может быть получен также в результате выполне
Рис. 2.6. Вторая сиСТема углов Эйлера.
ния следующей последовательности поворотов вокруг осей неподвижной системы координат: на угол ф вокруг оси 0Z, затем на угол 0 вокруг осн 0Y и, наконец, на угол ф вокруг оси 0Z.
Еще одну систему углов Эйлера составляют так называемые углы крена, тангажа и рысканья. Эти углы обычно применяются в авиационной технике при описании движения аппаратов.
Они соответствуют следующей	последовательности поворотов:
1.	Поворот	на	угол ф вокруг оси	OX(Rx,ф)	(рысканье).
2.	Поворот	на	угол 0 вокруг оси	Oy(Ry,e)	(тангаж).
3,	Поворот	на	угол ф вокруг оси	OZ(Rz, <р)	(крен).
39
Результирующая матрица поворота 0, ф Кг, <рК1д gRx, <р
имеет следующий вид;
' СфСб Сф808т]) — SqpC4j3 Сф89Сф + SqpSi^ ' ScpCQ StpSQSij; + СфС^ 8ф80Сф — СфЗтф
- — se	ces^	C9C^
(2.2-19)
Поворот, описываемый матрицей Кф> е, ф в переменных крен,
тангаж, рысканье, может быть также получен в результате вы-
полнения следующей последовательности поворотов вокруг осей абсолютной и подвижной систем координат: на угол <р вокруг оси OZ, затем на угол 9 вокруг повернутой оси OV и, наконец, на угол ф вокруг повернутой оси OU (рис. 2.7).
2.2.5. Геометрический смысл матриц поворота
Рис. 2.7. Крен, тангаж, рысканье
(третья система углов Эйлера).	Выясним теперь геометри-
ческий смысл матриц поворота.
Пусть точка р в системе отсчета OUVW имеет координаты (1, 0, 0), т. е. риаи, — iu. Тогда первый столбец матрицы поворота представляет собой координаты этой точки относительно системы отсчета OXYZ. Аналогично, выбирая в качестве р векторы (0, 1, 0)т и (0, 0, I)7, легко видеть, что второй и третий столбцы матрицы поворота представляют собой координаты единичных векторов в направлении соответственно осей OV и OW системы OUVW относительно системы отсчета OXYZ. Таким образом, если заданы абсолютная система отсчета OXYZ и матрица поворота, то векторы-столбцы этой матрицы задают в системе OXYZ
координаты единичных векторов в направлении основных осей системы OUVW. Это позволяет определить положение осей системы координат OUVW относительно абсолютной системы координат. Итак, матрица поворота определяет положение основных осей повернутой системы координат относительно абсолютной системы координат.
’) В принятой авторами системе координат продольная ось аппарата или сочленения совпадает с осью Z,— Прим, ред.
40
Поскольку операция обращения матрицы поворота совпадает с операцией транспонирования, то векторы-строки матрицы поворота задают направление основных осей абсолютной системы координат OXYZ в повернутой системе координат OUVW. Такая геометрическая интерпретация матрицы поворота дает ключ к решению многих задач кинематики манипулятора. Ниже приводится ряд полезных свойств матриц поворота.
1.	Каждый столбец матрицы поворота представляет собой единичный вектор в направлении соответствующей оси повернутой системы отсчета, заданный своими координатами относительно абсолютной системы координат. Каждая строка матрицы поворота представляет собой единичный вектор в направлении соответствующей оси абсолютной системы координат, заданный своими координатами относительно повернутой системы отсчета OUVW.
2.	Поскольку каждый столбец и строка представляют собой координаты одиничного вектора, длина векторов, определяемых строками и столбцами матрицы поворота, равна 1. Это свойство непосредственно следует из определения ортонормированной системы координат. Далее, детерминант матрицы поворота равен + 1 для правосторонней системы отсчета и —1—для левосторонней.
3.	Поскольку столбцы (строки) матрицы поворота являются векторами, составляющими ортонормированный базис, скалярное произведение векторов, определяемых двумя различными столбцами (строками), равно нулю.
4.	Операция обращения матрицы поворота совпадает с операцией транспонирования: R == R? и RR? = 13, где 13—единичная матрица размерностью 3X3. Свойства 3 и 4 особенно полезны для проверки результатов умножения двух матриц поворота и при поиске строки или столбца матрицы поворота, в котором сделана ошибка.
Пример. Координатные оси OU, OV и OW повернуты на угол а вокруг оси ОХ. Определить координаты единичных векторов в направлении осей абсолютной системы отсчета относительно повернутой системы отсчета OUVW.
Решение. Единичные векторы в направлении повернутых координатных осей в повернутой системе отсчета имеют координаты iu = (1, 0, 0)т, К = (0, 1, 0)т, kw = (О, О, 1)т. Тогда исходные единичные векторы имеют вид
K=li„ + Oj0 + Oka, = (l, 0, 0)г,
ji/ = 0i„ + cosajo —- sin акщ, = (0, cos а, — sin а)г, к2 = 0iu 4-sin aj0 4-cos акщ, = (0, sin a, cosaf.
Используя свойство 1 и рассматривая эти векторы как строки матрицы поворота, можно воссоздать матрицу Rx, a, которай бу-
41
дет иметь следующий вид:
' 1
Rx,a= О
-О
О О  cos a sin a — sin a cos a -
что совпадает с результатом транспонирования матрицы, входя* щей в равенство (2.2-12).
2.2.6. Однородные координаты и матрицы преобразований
Поскольку трехмерная матрица поворота не несет информации о поступательном перемещении и используемом масштабе, вектор координат р — (рх, ру, р?)т в трехмерном пространстве дополняют четвертой координатой (или компонентой) так, что он принимает вид р = (wpx, wpy, wpz, w)T. В этом случае говорят, что вектор р выражен в однородных координатах. В этом разделе для обозначения того, что евклидов вектор выражен в однородных координатах, мы будем его записывать в виде р. В дальнейшем, если это не приведет к путанице, такие «крышки» над буквами будут опущены. Описание точек трехмерного пространства однородными координатами позволяет ввести в рассмотрение матричные преобразования, содержащие одновременно поворот, параллельный перенос, изменение масштаба и преобразование перспективы. В общем случае изображение TV-мерного вектора вектором размерностью N + 1 называется представлением в однородных координатах. При таком представлении преобразование TV-мерного вектора производится в (TV + 1)-мерном пространстве, а физический TV-мерный вектор получается делением однородных координат на (TV1)-ю компоненту w. Так, вектор р = (рх, ру, Рг)т положения в трехмерном пространстве в однородных координатах представляется расширенным вектором (wpx, wpy, wpz, w)T. Физические координаты связаны с однородными следующим образом:
____ wpx	___ wpy _______ wpz	(( Рх w ’ Ру w ’ Рг w '
Представление трехмерного вектора положения в однородных координатах не единственно. Например, pi = (wipx, w{py, Wipz,Wi)T и p2=(^2f>x, WzPy, W2pz, w2)т являются различными однородными представлениями одного и того же вектора положения р = (рх, ру, р?)т. Таким образом, четвертую компоненту w вектора однородных координат можно рассматривать как масштабирующий множитель. Если эта компонента равна 1 (w = 1), то однородные координаты вектора положения совпадают с его физическими координатами. В робототехнике масштабирующий
42
множитель всегда выбирается равным 1, а в задачах машинной графики он принимает любые положительные значения.
Однородная матрица преобразования представляет собой матрицу размерностью 4X4, которая преобразует вектор, выраженный в однородных координатах, из одной системы отсчета в другую. Однородная матрица преобразования может быть разбита на четыре подматрицы:
Из х з; рз х 1
. ^ГП'хТ.
Поворот i Сдвиг
Преобразование ] Масштаби-перспективы i рование
(2.2-20)
Верхняя левая подматрица размерностью 3X3 представляет собой матрицу поворота; верхняя правая подматрица размерностью 3 X 1 представляет собой вектор положения начала координат повернутой системы отсчета относительно абсолютной; нижняя левая подматрица размерностью 1X3 задает преобразование перспективы; четвертый диагональный элемент является глобальным масштабирующим множителем. Однородная матрица преобразования позволяет выявить геометрическую связь между связанной системой отсчета OUVW и абсолютной системой OXYZ.
Если вектор р трехмерного пространства выражен в однородных координатах (т. е. р =(рх, ру, рг, 1)г), то, используя понятие матрицы преобразования, можно сформировать однородную матрицу преобразования ТПОв, задающую преобразование поворота и имеющую размерность 4X4. Однородная матрица поворота получается соответствующим расширением обычной матрицы поворота, имеющей размерность 3X3. Так, однородное представление для матриц (2.2-12) и (2.2-13) имеет следующий
вид:
”10 О О’
О cos а — sin а 0
Т =
х,а 0 sin а cos а 0
_0	0	0	1_
’cos0	— sin 0	О	О’
sinO	cos0	0	О
Тг'0=	0	0	10’
0	0	0	1
	COS ф	0	sin ф	0’
	0	1	0	0
Ту, Ф —	— sin ф	0	COS ф	0
	о	0	0	1_
(2.2-21)
Эти матрицы размерностью 4X4 называются однородными матрицами элементарных поворотов.
Верхняя правая подматрица однородной матрицы преобразования, имеющая размерность ЗХ1> задает параллельный пе-
43
ренос системы координат OUVW относительно абсолютной си'»
стемы OXYZ на вектор (dx, dy, dz)T:		
	1 0 0 dx	
	0 1 0 dy	
Т = 1 сдв	0 0 1 dz	(2.2-22)
	.0 0 0 1	
Эта матрица размерностью 4X4 называется однородной матрицей элементарного сдвига.
Левая нижняя подматрица однородной матрицы преобразования размерностью 1 X 3 определяет преобразование перспективы, используемое, как показано в гл. 7, в задачах машинного зрения и при калибровке изображений. Здесь элементы этой подматрицы нулевые, что соответствует нулевому преобразованию перспективы.
Диагональные элементы однородной матрицы преобразования определяют локальное и глобальное изменения масштаба. Первые три диагональных элемента задают локальное растяжение, или изменение масштаба:
а О О О О b О О О 0 с О 0 0 0 1
х
У z
1
ах by cz
1
(2.2-23)
Легко видеть, что значения координат претерпевают изменение масштаба, определяемое соответственно скалярами а, b и с. Заметим, что матрицы элементарных поворотов Т„ов не дают эффекта локального изменения масштаба.
Четвертый диагональный элемент определяет глобальное преобразование масштаба
“1000“	X		X	
0 10 0	У		У	
0 0 10	z	—	z	(2.2-24)
_0 0 0 s _	_ 1 _		_s _	
где s > 0. Физические декартовы координаты вектора будут равны
рх = ~, РУ = ~>	= ay = -J-=l.	(2-2'25>
Таким образом, четвертый диагональный элемент однородной матрицы преобразования определяет глобальное сжатие координат, если s > 1, и растяжение, если 0 < s < 1.
Итак, однородная матрица преобразования переводит вектор,
44
и
заданный однородными координатами в системе отсчета OUVW, в абсолютную систему координат OXYZ, т. е. при w — 1
	Р.чуг	Триода	(2.2-26а)
sx	ах	рх~	
у	 ny sy ~ nz Sz	йу az	Ру _ГП s а Р 1 рг	. 0 0 0 1 J '	(2.2-266)
_ 0 0	0	1 _	
2.2.7. Геометрический смысл однородной матрицы преобразования
В общем случае однородная матрица преобразования векторов трехмерного пространства может быть представлена так, как в равенстве (2.2-266). Выберем в системе координат OUVW точку р, имеющую однородные координаты (О, О, О, 1)г, т. е. puvw совпадает с началом системы координат OUVW. В этом случае верхняя правая подматрица размерностью 3X1 характеризует положение точки начала системы координат OUVW в абсолютной системе отсчета OXYZ. Далее, выберем точку р равной (1, О, О, 1)г, т. е. puvw == i„. Кроме того, предположим, что начала обеих систем отсчета совпадают и расположены в точке О. Это приводит к тому, что все элементы верхней правой подматрицы, имеющей размерность 3X1, равны 0. Тогда первый столбец (или вектор п) однородной матрицы преобразования определяет координаты единичного вектора в направлении оси OU системы OUVW в системе отсчета OXYZ. Аналогично, полагая р равным (0, 1, 0, I)7" и (0, 0, 1, 1)г, легко видеть, что второй столбец (или вектор s) и третий столбец (или вектор а) элементов однородной матрицы преобразования определяют соответственно координаты единичных векторов в направлении осей OV и OW системы OUVW в абсолютной системе отсчета. Таким образом, если задана абсолютная система отсчета OXYZ и однородная матрица преобразования Т, то векторы-столбцы подматрицы поворота представляют собой единичные векторы в направлении основных осей системы OUVW, заданные своими координатами в абсолютной системе отсчета, т. е. задают ориентацию основных осей системы отсчета OUVW относительно абсолютной системы координат. Четвертый вектор-столбец однородной матрицы преобразования задает положение начала координат системы отсчета OUVW относительно абсолютной системы координат. Другими словами, однородная матрица преобразования в геометрическом смысле определяет расположение повернутой системы координат (положение и ориентацию) по отношению к абсолютной системе отсчета.
45
Поскольку операция обращения подматрицы поворота совпадает с операцией транспонирования, то векторы-строки подматрицы поворота задают положение основных осей абсолютной системы координат относительно повернутой системы координат OUVW. Однако для однородной матрицы операции обращения и транспонирования не совпадают. Положение начала абсолютной системы координат относительно системы координат OUVW
можно определить лишь после того, как определена матрица, обратная матрице однородного преобразования. В общем случае такая матрица имеет следующий вид:
пх	пу	пг	—пгр
sx	sy	sz	S	P
'U	a	p
0	0	0	1
т
~n P
-s p
T T
R3X3 —a p
0 0 0	1
(2.2-27)'
Таким образом, из равенства (2.2-27) видно, что векторы-столбцы матрицы, обратной к однородной матрице преобразования, определяют положение основных осей абсолютной системы отсчета относительно повернутой системы координат OUVW. Верхняя правая подматрица размерностью 3\1 характеризует положение начала абсолютной системы координат относительно системы OUVW. Такая геометрическая интерпретация однородной матрицы преобразования будет часто использоваться в данной книге.
2.2.8.	Однородная матрица композиции преобразований
Однородная матрица композиции преобразований (обозначим ее как матрицу Т) может быть получена путем перемножения однородных матриц элементарных поворотов и сдвигов. Однако, поскольку операция умножения матриц некоммутативна, особое внимание следует обратить на порядок перемножения этих матриц. При определении однородной матрицы композиции преобразований будут полезны следующие правила:
1.	Вначале обе системы координат совпадают, и, следовательно, однородная матрица преобразования представляет собой единичную матрицу 14 размерностью 4X4.
2.	Если подвижная система координат OUVW совершает по-ворот/сдвиг относительно осей системы отсчета OXYZ, однородную матрицу предыдущего результирующего преобразования надо умножить слева на соответствующую однородную матрицу элементарного поворота/сдвига.
3.	Если подвижная система координат OUVW совершает по-ворот/сдвиг относительно одной из собственных основных осей, однородную матрицу предыдущего результирующего преобразования надо умножить справа на соответствующую однородную матрицу элементарного поворота/сдвига.
46
Пример. Две точки аиоа) = (4, 3, 2)г и buoa) = (6, 2, 4)г требуется сместить на 4-5 единиц вдоль оси ОХ и на —3 единицы вдоль оси OZ. Используя соответствующую однородную матрицу преобразования, определить координаты точек ах, у, г, Ьх, у, г, полученных в результате этих смещений.
Решение.
"1	0	0
0	1	0
axyz = Q	0	1
.0	0	0
’ 4(1)+1(5) 3(1)+ 1(0)
2(1)+ 1(-3) 1(1)
3
-1
1
"11 "
2
1
1
Смещенные точки имеют следующие координаты:
а^2 = (9, 3, -if и Ьхг/г = (11, 2, if.
Пример. Требуется определить матрицу Т, задающую преобра-вание, состоящее из поворота на угол а вокруг оси ОХ, затем смещения на b единиц вдоль повернутой оси OV.
Решение. Эта задача, может быть, до некоторой степени искусственна, однако она иллюстрирует смысл основных компонент матрицы Т. Мы воспользуемся двумя подходами к ее решению. Первый из них противоречит принятому в этой книге стилю изложения, однако является весьма иллюстративным, второй соответствует общим принципам изложения и является более простым. После поворота Тх, а направление повернутой оси OV определяется (через векторы ix, jy, кг абсолютной системы отсчета) вектором j0 = cos ajy + sin ak2, т. e. вторым столбцом равенства (2.2-21). Таким образом, сдвиг вдоль повернутой оси OV на Ь единиц равен = b cos ajj, + b sin ak2 и матрица T имеет следующий вид:
1	0	0	0"
0	cos а	— sin а	0
0	sin	а	cos а	0
0	0	0	.	1 _
0 “
0 cos а — sin а ftcosa	,
0 sin a cos a b sin а
0	0-0	1
	"1	0	0	0
	0	1	0	b cos а
Т — I'v, (Дх, а —	0	0	1	b sin а
	_0	0	0	1
	"1		0	0
47
Второй подход состоит в том, чтобы, следуя изложенным выше правилам, увидеть, что поскольку матрица Тх, а преобразует ось OY в ось OV, то прежний эффект достигается сдвигом вдоль оси OV:	_	_
~1 о о 01000
0	cos а	—• sin а	0		0	1	0	ь
0	sin а	cos а	0		0	0	1	0
0	0	0	1_		.0	0	0	1_
’10	0	о
0 cos а — sin а b cos а
0 sin а cos а b sin а
0	0	0	1
Пример. Определить однородную матрицу преобразования Т, задающую следующую последовательность преобразований: поворот на угол а вокруг оси ОХ, сдвиг на а единиц вдоль оси ОХ, сдвиг на d единиц вдоль оси OZ и затем поворот на угол 0 вокруг оси OZ.
Мы определили две системы координат — неподвижную абсолютную систему координат OXYZ и подвижную систему, совершающую вращательное и поступательное движение, — систему координат OUVW. Для описания взаимного пространственного положения этих систем координат была использована однородная матрица преобразования размерностью 4X4. Матрица однородного преобразования обладает тем свойством, что, воздействуя на вектор положения, выраженный в однородных коорди
48
натах, производит одновременно преобразования поворота, сдвига перспективы и глобальное изменение масштаба.
Если эти две системы координат связать со звеньями манипулятора, например с i-м и (i—1)-м звеньями соответственно, то система координат (i—1)-го звена будет абсолютной системой координат, а система координат i-ro звена, если последнее движется, — подвижной системой координат. Используя матрицу Т, мы по известным координатам р, неподвижной относительно i-ro звена точки р в системе OUVW i-ro звена можем получить координаты этой точки в системе координат OXYZ, связанной с (i— 1)-м звеном в соответствии со следующей формулой:
Pz_i = TpfJ	(2.2-28)
где Т — однородная матрица преобразования, устанавливающая связь между системами координат; р( — расширенный вектор положения (Xi, у,, zi, I)7, определяющий однородные координаты точки в системе координат i-ro звена; pz—i — расширенный вектор положения (х,_1, t/z—i, zt-\, I)7, определяющий однородные координаты этой же точки рг относительно системы координат (i — 1)-го звена.
2.2.9.	Звенья, сочленения и их параметры
Механический манипулятор состоит из звеньев, соединенных вращательными или поступательными сочленениями (рис. 2.8). Каждая пара, состоящая из звена и сочленения, обеспечивает одну степень свободы. Следовательно, манипулятор с N степенями свободы содержит /V пар звено — шарнир, причем звено О соединено с основанием, где обычно размещается инерциальная система координат данной динамической системы, а последнее звено снабжено рабочим инструментом. Звенья и сочленения нумеруются по возрастанию от стойки к схвату манипулятора; так, сочленением 1 считается точка соединения звена 1 и опорной стойки. Каждое звено соединено не более чем с двумя другими так, чтобы не образовывалось замкнутых цепей.
В общем случае два звена соединяются элементарным сочленением, имеющим две соприкасающиеся поверхности, скользящие друг относительно друга. Известно всего шесть различных элементарных сочленений: вращательное, поступательное (призматическое), цилиндрическое, сферическое, винтовое и плоское (рис. 2.9). Из перечисленных типов сочленений в манипуляторах обычно используются только вращательное и поступательное.
В месте соединения двух звеньев определяется ось i-ro сочленения (рис. 2.10). Эта ось имеет две пересекающие ее нормали, каждая из которых соответствует одному из звеньев. Относительное положение двух соединенных звеньев (звена i—1 и звена i) определяется величиной di — расстоянием между этими
49
нормалями, отсчитываемым вдоль оси сочленения. Присоединенный угол Qi между нормалями измеряется в плоскости, перпендикулярной оси сочленения. Таким образом, di и 0, можно назвать расстоянием и углом между смежными звеньями. Они определяют относительное положение соседних звеньев.
Звено i (i = 1, 2, 3..6) соединено не более чем с двумя
звеньями (i—1-м и I -]- 1-м звеньями); таким образом, в точках соединения i-ro звена с двумя соседними определены две
Рнс. 2.8. Звенья и сочленения манипулятора Пума.
оси сочленений. Важное свойство звеньев с точки зрения кинематики состоит в том, что они сохраняют неизменной конфигурацию относительного расположения соседних сочленений, характеризуемую параметрами и а(-. В качестве параметра а, выбрано кратчайшее расстояние между осями z,_i и z; i-ro и i + 1-го сочленений соответственно, измеряемое вдоль их общей нормали, щ— угол между осями сочленений, измеряемый в плоскости, перпендикулярной их общей нормали. Таким образом, а, и а, можно рассматривать соответственно как длину и угол скрутки i-ro звена. Эти параметры характеризуют конструктивные особенности i-ro звена.
Итак, с каждым звеном манипулятора связаны четыре параметра: Я;, a;, di, Qi. Если для этих параметров установить пра-
50
Вращательное
Плоское
Цилиндрическое
Сферическое
Рис. 2.9. Элементарные сочленения.
Рис. 2.10, Система координат звена и ее параметры.
вило выбора знаков, то они составят набор, достаточный для описания кинематической схемы каждого звена манипулятора. Заметим, что эти параметры можно разделить на две пары: параметры звена (ait а,), которые характеризуют конструкцию звена, и параметры сочленения (di, 9г), характеризующие относительное положение соседних звеньев.
2.2.10.	Представление Денавита — Хартенберга
Для описания вращательных и поступательных связей между соседними звеньями Денавит и Хартенберг [57] предложили матричный метод последовательного построения систем координат, связанных с каждым звеном кинематической цепи. Смысл представления Денавита — Хартенберга (ДХ-представление) состоит в формировании однородной матрицы преобразования, имеющей размерность 4 X 4 и описывающей положение системы координат каждого звена относительно системы координат предыдущего звена. Это дает возможность последовательно преобразовать координаты схвата манипулятора из системы отсчета, связанной с последним звеном, в базовую систему отсчета, являющуюся инерциальной системой координат для рассматриваемой динамичекой системы.
Кроме базовой системы координат для каждого звена на оси его сочленения определяется ортонормированная декартова система координат (х/, у(, z() 1}, где z = 1, 2, .... п, а п равно числу степеней свободы манипулятора. Поскольку вращательное сочленение имеет только одну степень свободы, каждая система координат (х,, уг, z,) манипулятора соответствует (i -f- 1) -у сочленению и связана с z-м звеном. Когда силовой привод возбуждает движение в i-м сочленении, z-e звено начинает двигаться относительно (z—1)-го звена. Поскольку z-я система координат связана с i-м звеном, она движется вместе с ним. Таким образом, п-я система координат движется вместе с последним п-м звеном манипулятора. Базовой является нулевая система координат (хо, уо, z0), представляющая собой инерциальную систему координат манипулятора. Так, для шестизвенного манипулятора Пума должны быть определены семь систем координат, а именно (х0, уо, Zo), (xi, Уь zi)> •••> (хе, Уе, z6).
Каждая система координат формируется на основе следующих трех правил:
1.	Ось Zz-i направлена вдоль оси z-ro сочленения.
2.	Ось х; перпендикулярна оси Zz-i и направлена от нее.
3.	Ось yz дополняет оси хг, zz до правой декартовой системы координат.
о В действительности (х/, у,-, г,) представляют собой единичные векторы, направленные вдоль основных осей z-й системы координат, но в данном случае так обозначается z-я система координат,
52
Эти правила оставляют свободу в выборе 0-й системы координат при условии, что ось z0 направлена вдоль оси первого сочленения. Последняя, п-я система координат также может быть выбрана в произвольной точке н-го звена при условии, что ось хп перпендикулярна оси zn-i.
ДХ-представление твердых звеньев зависит от четырех геометрических параметров, соответствующих каждому звену. Эти четыре параметра полностью описывают любое вращательное или поступательное движение и определяются в соответствии с рис. 2.10 следующим образом:
0,— присоединенный угол — угол, на который надо повернуть ось Xi-i вокруг оси Zi-i, чтобы она стала сонаправлена с осью X; (знак определяется в соответствии с правилом правой руки);
di — расстояние между пересечением оси Z/_i с осью х,- и началом (i — 1 -й системы координат, отсчитываемое вдоль оси Zi-r,
ai — линейное смещение — расстояние между пересечением оси Zz-i с осью х< и началом i'-й системы координат, отсчитываемое вдоль оси х,, т. е. кратчайшее расстояние между осями Zi-i и z,-;
а, — угловое смещение — угол, на который надо повернуть ось Zi-i вокруг оси X;, чтобы она стала сонаправленной с осью г,- (знак определяется в соответствии с правилом правой руки).
Для вращательных сочленений параметры di, ai и а,- являются характеристиками сочленения, постоянными для данного типа робота. В то же время 0, является переменной величиной, изменяющейся при движении (вращении) ьго звена относительно (i—1)-го. Для поступательных сочленений 0;, ai и а; — характеристики сочленения, неизменные для данного робота, a di — переменная величина. Ниже в этой книге о величинах 0,: (или di) будем говорить как о присоединенных переменных, подразумевая тем самым, что они могут менять свои значения. Величины di, ait а,, если i-е сочленение вращательное, и 0„ щ, а/, если оно поступательное, будем называть присоединенными параметрами, подчеркивая их постоянство.
Ниже в алгоритме 2.1 дано описание процедуры формирования последовательности согласованных систем координат, связанных со звеньями манипулятора. Алгоритм базируется на изложенных выше трех основных правилах построения ортонор-мированных систем координат звеньев и учитывает геометрический смысл параметров сочленений и звеньев. Примеры применения этого алгоритма для шестизвенного манипулятора Пума и для манипулятора, разработанного в Станфордском университете, приведены на рис. 2.11 и 2.12 соответственно.
53
Алгоритм 2.1. Формирование систем координат звеньев. Для каждого звена манипулятора с п степенями свободы этот алгоритм формирует ортонормированную систему координат. Выбор систем координат производится с учетом конфигурации манипулятора, сходной с конфигурацией человеческой руки. Системы
Рис. 2.11. Формирование систем координат звеньев для манипулятора Пума,
Параметры систем координат звеньев манипулятора Пума
Сочленение i		а. i	а1	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-го
5’5
Рис. 2.12. Формирование систем координат звеньев для стэнфордского мани* пулятора.
Параметры систем координат звеньев станфордского манипулятора
Сочленение i	ei	а1	ai	dl
1	0! = —90	-90	0	rfl
2	02 = -90	90	0	di
3	е3 = -90	0	0	di
4	04 =0	-90	0	0
5	05 = 0	90	 0	0
6	06 = О	0	0	di
сочленения к «плечу» манипулятора. Оси х0 и у0 можно выбрать произвольно при условии их перпендикулярности оси z0.
Д2. Начало и цикл. Для всех i (i — 1, 2, ..., п.— 1) выполнить шаги ДЗ—Д6.
55
ДЗ. Формирование осей сочленений. Направить ось z(- вдоль оси движения (вращательного или поступательного) z’+1-го сочленения. Для роботов с манипуляторами, имеющими конфигурацию левой-правой руки, оси z, и z2 направлены от плеча и общего направления манипулятора.
Д4. Формирование начала i-й системы координат. Расположить начало z-й системы координат на пересечении осей Zi и Zz—i или на пересечении общей нормали к осям Zi и z^
С ОСЬЮ Z[.
Д5. Формирование оси хг. Выбрать единичный вектор х, следующим образом: х, = ±(z>-i X z<)/||z/—i X z,|| или вдоль общего перпендикуляра к осям z,_i и гг, если они параллельны.
Д6. Формирование оси у/. Положить у, = -J-(z< X xz)/llz< X xzl), получив тем самым правостороннюю систему координат. (Продолжить оси Zj и Xi, если это необходимо для шагов Д9-Д12.)
Д7. Формирование системы координат схвата. Как правило, и-е сочленение является вращательным. Сформировать ось zn, направив ее вдоль оси Zn_, и от робота. Выбрать ось Хп так, чтобы она была перпендикулярна осям zn_i и гп. Ось у„ дополняет систему до правой тройки (более подробно см. разд. 2.2.11).
Д8. Определение параметров звеньев и сочленений. Для каждого z (7=1, .... п) выполнить шаги Д9 — Д12.
Д9. Определение di. di представляет собой расстояние от начала (z—1)-й системы координат до пересечения оси z,_i с осью X/, отсчитываемое вдоль оси z,_i. Если z-e сочленение— поступательное, то di — присоединенная переменная.
ДЮ. Определение а^ аг— расстояние между пересечением оси Zj—i с осью X; и началом z-й системы координат, отсчитываемое ВДОЛЬ ОСИ Хг.
Д11. Определение 0,. 0; — угол, на который нужно повернуть ось Х;_] вокруг оси Z;_i, чтобы она стала сонаправлена с осью xt. Если z-e сочленение—вращательное, то 0,- — присоединенная переменная.
Д12. Определение а,, а, — угол, на который надо повернуть ось z,_i вокруг оси х;, чтобы она стала сонаправлена с ОСЬЮ Zi.
Как только ДХ-системы координат сформированы для всех звеньев, не составляет труда построить однородные матрицы преобразования, связывающие i-ю и (z—1)-ю системы координат. Из рис. 2.10 видно, что координаты точки гг, заданные в z-й системе координат, можно преобразовать в координаты г,_! этой же точки относительно (z—1)-й системы координат, выполняя последовательность следующих операций:
56
1.	Поворот вокруг оси гг_1 на угол 0/, чтобы ось xz—i стала сонаправлена с ОСЬЮ Xz.
2.	Сдвиг вдоль оси zZ-i на расстояние dt, чтобы совместить оси Х/-1 И X/.
3.	Сдвиг вдоль оси х, на расстояние at, чтобы совместить начала чала координат.
4.	Поворот вокруг оси х,- на угол <х;, в результате которого достигается совпадание систем координат.
Каждую из этих четырех операций можно описать однородной матрицей элементарного поворота-сдвига, а произведение таких матриц даст однородную матрицу сложного преобразования ‘-'Az, называемую ДХ-матрицей преобразования для смежных систем координат с номерами i и i— 1. Таким образом, получаем
cos 0;
sin 0г О О
- cos 0г
sin 0/ О
О
О
1 о о
о о
1
о
О ’
О d,
1
" 1
О
О
-О
i-1Az = Tz,dTZieTx, аТ
— sin 0г	0	0'		" 1 0	0	at	"1	0
cos 0г 0 0 — cos	0 0 1 0 0 1 _ sin 0Z			0 10 0 0 0 10 _ 0 0 0 1 _ sin az sin 0Z			0 0 _0 at	cos az sin a, 0 COS 0j “
cos az cos 0 sin az				— sin a, cos a		?os	ai	sin 0г di
О
О
1
о
— sin аг cos а( О
О" о о 1
(2.2-29)
Используя равенство (2.2-27), найдем, что матрица, обратная к ‘-'Az, имеет вид
соз0г	sin 0;	0	— at
— cosazsin0, cosazCosS; sin аг —djSina, sin az sin 0г — sinazcos0z cosaz —dt cosa; 0	0	0	1
(2.2-30)
где at, cii, di— константы, а 0г—присоединенная переменная, если рассматриваемое сочленение—вращательное.
Для поступательного сочленения присоединенной переменной является di, а a,, at и 0, — константы. В этом случае ‘-'А; при-
57
нимает вид
Aj — T2 дТг	a —	" COS 0Z sin 0Z 0 0	— cosaz sin 0Z cos az cos 0Z sin az 0	sin az sin 0Z — sin az cos cos az 0	0" 9Z 0 di ’ 1_ (2.2-31)
а матрица, обратная	к i-1A	, равна		
		’ = 4-1 =	•	
cos 0Z	sin 0	z	0	0	
— cos az sin 0Z	cos a, cos 0,- sin a, — d, sin a,			
=				(2.2-32)
sin az sin 0Z -	- sin az	COS0j COSClj —	-dzcosaz	
0	0	0	1	
Используя матрицу f-1Az, можно связать однородные координаты р, точки р относительно z-й системы координат (точка р покоится в z-й системе координат) с однородными координатами этой точки относительно (г—1)-й системы отсчета, связанной с (г—1)-м звеном. Эта связь устанавливается равенством
Pz-i = г-1АгРг,	(2.2-33)
где рг_1 = (xz-i, i/z-i, zt-i, 1)г и р(=(х,-, yt, Zt, I)7".
Для шестизвенного манипулятора Пума были определены шесть матриц '-’А,, соответствующие показанным на рис. 2.11 системам координат. Эти матрицы представлены ниже.
cos 6(. — cos a. sin 6( sin ct( sin 6;
sin 6; cos a. cos
О	sin a;
О	О
“С, О -S] 0“
_0	0	0	1 _
С3 0 S3 Л3С3 S3 0 — С3 a3S3 0	10	0
- 0	0	0	1
- с5	о	s50-
s5 о -с5 о 0	1	0	0’
_0	0	0	1_
Q. — sin az cos 0;
	cos a.
	0 — S3
*А»«=	S3	C2 0	0
	0	0
	~CA 0
3a; =	s4 0 0	-1
	-0	0 Ce — S6
5A6 =	Se 0	0 .0	0
a; cos 0.
al sin 0;
di
1
0 u2C2
0 a 2-5 2
1 d2 ’ 0	1
-S4 0 ~
C4 0
0 d4
0 1
0 0 '
0 0
1 de ’
0 1 .
68
2.2.11. Уравнения кинематики манипулятора
Однородная матрица °Тг, определяющая положение i-й системы координат относительно базовой системы координат, пред-
ставляет собой произведение последовательности однородны» матриц преобразования <-1Аг и имеет вид
°TZ = 4,4 ... £-1Az == П /-1Ау =
f=i
X; Уг zz рг 0 0 0 1
R, "рЯ
0	1 для t=l, 2,	(2.2-34)
где Ix,-, у,, zj—матрица, определяющая ориентацию z-й системы координат, связанной с z-м звеном, по отношению к базовой си
стеме координат. Это верхняя левая подматрица матрицы °Tf, имеющая размерность 3X3. р, — вектор, соединяющий начало базовой системы координат с началом ;-й системы координат. Это верхняя правая подматрица матрицы °Т;, имеющая размерность 3X1- В частности, при t = 6 мы получаем матрицу Т == = °А0, которая задает положение и ориентацию схвата манипулятора относительно базовой системы координат. Эта матрица так часто используется при описании кинематики манипулятора, что ее называют «матрицей манипулятора». Предположим, что матрица Т имеет следующий вид:
Г х6 у6 z6 Рб 1 _ Г °Rs °Рб 1 Г n s а Р1
1 о О О 1 J- L о	ijLoooij
X $Х ^Х Рх
Пи SU ри
. -' . .  = У У У У ,	(2.2-35)
'	Пг $z &z Pz
_ о о 0 1 _
где (рис. 2.13)
п— вектор нормали к схвату. В случае плоскопараллельного движения пальцев схвата этот вектор перпендикулярен пальцам манипулятора.
s — касательный вектор схвата. Он лежит в плоскости движения пальцев схвата и указывает направление движения пальцев во время открытия и закрытия схвата.
а — вектор подхода схвата. Он направлен по нормали к ладони схвата (т. е. перпендикулярен плоскости крепления инструмента в схвате).
р — вектор положения схвата. Этот вектор направлен из начала базовой системы координат к началу системы координат схвата, которое, как правило, расположено в точке, являющейся геометрическим центром полностью сжатых пальцев.
Если положение манипулятора в абсолютном пространстве определяется матрицей В, а в схвате манипулятора зафиксирован инструмент, положение которого в системе координат схвата определяется матрицей Н, то положение рабочего узла инструмента относительно абсолютной системы координат дается произведением матриц В, °То и Н, т. е.
абсТинстр = В"ТаН. 	(2.2-36)
Отметим, что Н ==?; 6АИнстр, В == абсА0.	''
Решение прямой задачи кинематики для шестизвенного манипулятора является, таким образом, вопросом вычисления Т = °А6 с помощью последовательного перемножения шести матриц ;_1А;. Отметим, что решение прямой задачи кинематики при
60
водит к единственной матрице Т при заданных q — (<7ь <72, ... ... </б)г и фиксированных системах координат, где qt = 0, для вращательного сочленения и qt — di для поступательного сочленения. Ограничения определяются только физическими пределами изменения 0; для каждого сочленения манипулятора. В таблице на рис. 2.11 указаны такие пределы для робота Пума серии 560 при выборе систем координат, указанном на рис. 2.11.
Следующей после определения матриц преобразования координат задачей является поиск эффективного метода вычисления матрицы Т при помощи универсальной вычислительной машины. Наиболее эффективным является способ, состоящий в аналитическом перемножении всех шести матриц с последующим вычислением элементов матрицы Т на ЭВМ по полученным формулам. Недостатками этого метода являются, во-первых, трудоемкость вычисления произведения шести матриц ‘-’А, и, во-вторых, недостаточная гибкость метода, обусловленная тем, что каждая матрица манипулятора соответствует определенному типу робота при вполне конкретном выборе систем координат. С другой стороны, можно ввести в ЭВМ все шесть матриц '-’А, и с ее помощью выполнить их перемножение. Этот метод обладает большей гибкостью, но требует большего времени вычислений, и это при условии, что четвертая строка матриц 1 А, состоит в основном из нулей.
Метод, одновременно обладающий достаточной гибкостью и обеспечивающий приемлемую скорость вычислений, состоит в том, чтобы «вручную» перемножить первые и последние три матрицы ‘-'А,-, получив Ti=°Ai1A22A3 и Т2 = 3А44А55А6, что представляет собой достаточно простую задачу. Затем точные выражения для элементов матриц Ti, Т2 используются в программе, по которой ЭВМ производит численное перемножение этих матриц, формируя матрицу манипулятора T = TiT2.
Для робота Пума 560 матрицы Ti и Т2 имеют вид
Tj = °А3 = °А11А22А3 =
C 1^23	-5,	^1^23	a2^1^2 + азС 1^23 d2St
^1^23		S[S23	a2>5iC2	<23^1 C23 -f- d2C[
S23	0	^23	a2^2	а3$23
0	0	0	1
Т2 = 3А6 = 3А44А55А6 =
~ С4С5С6 - S4S6 -C4C5S6-S4C6 C4S5	daC4S5
  	-]- C4S6	S,C5Se -]- C4C6 S4S5	d6SiS5
S5C6	ДДб C$ -]- d4
0	0	0	1.
где Cq =s cos (0, 4- Qj) и S,7 ss sin(0z + 9/),
(2.2-37)
(2.2-38)
61
Матрица манипулятора Т для робота Пума (рис. 2.11) равна
	пх sx ах рх
т = TjT2 = «А/^А/А^Аб =	пу sy ау Ру
	^z sz az pz
	_0 0 0 1
где
= С; [С23 (С4С5Сб S4Sg) S23S5C6] Sj (S4C5C6 C4StJ), > Пу = S, [С23 (С4С5С6 - S4S6) - S23S5C6] + С, + C4S6), (2.2-40) nz= S23 [C4C5C6 S4Se] C23S5S6,
sx — Cl [—c23 (C4C5Se + S4C6) + S23S5S6] — Si (—S4C5S6 + C4C6),
sy ~ Si I—c23 (C4C5C6 + S4C6) + S23S5S6] + C] (—S4C5S6 + C4C6),
Sz = S23 (C4c5s6 + S4C6) + C23S5S6,	(2.2-41)
ax = Ci(C23C4S5 + S23C5) S^A, :j>	_	,
Qy = S] (C23C4S5 S23C5)	'	<	(2.2-42)
az — —S^C^S-, + C23C5,
Px — Ci [d6 (C23C4S5 + S23C5) + S23d4 + a3C23 + a2C>] — S] (d6S4S5 + d2), Py = Si HAAS, + S23C5) + S23d4 + a3C23 + H?2] + Ci (d6S4S5 + d2), Pz = AA S23C4S5) -|- C23d4 fl3S23 — a,2S2.	(2.2-43)
(2.2-39)
Положив для проверки 0i = 90°, 02 = 0°, 03 = 90°, 04 = 0°, 05 — 0°, 06 = 0°, имеем
~ 0 -1 0 —149,09-	'
;	_	0	0 1	921,12	:
T -1	0 0	20,32 ’
0	0 0	1	.
—	*—	-> , h. -- ; f - i
что согласуется с выбором систем координат, показанным на рис. 2.11.
Из равенств (2.2-40) — (2.2-43) видно, что вычисление матрицы манипулятора Т требует обращения к программам вычисления 12 трансцендентных функций, выполнения 40 умножений и 20 сложений в том случае, если производится только вычисление верхней правой подматрицы матрицы Т, имеющей размерность 3X3, а вектор п определяется как векторное произведение векторов s и a(n = sXa). Далее, если объединить de с длиной рабочего инструмента, то d6 = 0, а длина инструмента увеличится на de единиц. Это сокращает объем вычислений до 12 обращений к программам вычисления трансцендентных функций, 35 операций умножения и 16 операций сложения.
62
Пример. Робототехнический комплекс оборудован телевизионной камерой (рис. 2.14). В поле зрения камеры находятся точка начала базовой системы координат, в которой закреплен шестизвенный манипулятор, а также центр объекта манипулирования, например куба. Если в центре куба поместить локальную систему координат, то его положение относительно камеры будет определяться, однородной матрицей преобразования Тр Положение базовой системы координат относительно камеры также
может быть задано однородной матрицей преобразования Тг, причем
"0	1	0	1 ’
10	0	10
Т1= 0	0-1	9 ’	;
-0	0	0	1 _
“10	0 — 10"
0—1	0	20
Т2= о 0—110'
_ О О	о , 1 _
а)	Найдите положение центра куба относительно базовой системы координат.
6)	Предположим, что куб находится в пределах до-
Рис. 2.14. Робототехнический комплекс, оборудованный телевизионной камерой.
стижимости манипуля-
тора. Какой должна быть матрица [n, s, а], чтобы направление движения пальцев схвата совпадало с направлением оси у объекта манипулирования и при этом можно было бы поднять куб с поверхности, на которой он находится.
Решение.
	“0 1	1 0	0 0	1  10
КЗМбрЗггч	_____ ггч I куб = 1 1 =	0	0	-1	9
	_0	0	0	1
и
	”10	0 —10"	
камерат	т 	 * база ~ * 2	0-1	0 20 0	0-1	10	•
-	.0	0	0	1 _	
63
Чтобы найти базаТкуб, воспользуемся «правилом последовательных преобразований»:
база яр ___ база яр	камсраяр	/’Т' \~1 яр
 куб	 камера * куб	I * 2/	* 1 •
Используя для обращения матрицы Т2 равенство (2.2-27), получаем результирующую матрицу преобразования
О 1 ’
О 10
-1	9
0	1
Таким образом, куб находится в точке (11, 10, 1)г относительно базовой системы координат. Его оси х, у, z сонаправлены соответственно с осями —у, х и z базовой системы координат.
Чтобы определить [n, s, а], воспользуемся выражением n s а р 0 0 0 1
от ___
6 —
где р =(11, 10, 1)г, как следует из решения первой части задачи. В соответствии с условием задачи и видом матрицы базаТкуб надо, чтобы вектор подхода а был направлен в сторону противоположную направлению оси OZ базовой системы координат, т. е. а = (0, 0, —1)г; вектор s должен быть параллелен оси у базовой системы, т. е. s = (±l,0, 0)г; вектор п можно сформировать как векторное произведение векторов s и а:
П Sx Sy st
ctx Cly Clz
k '
0
-1 -
0-
± 1
0 -
Г i j k '
' j
± 1 0
-	0 0
Таким образом, для матрицы ориентации схвата [n, s, а) можрр записать два выражения:
[n, s, а] = +1 0
L00
0-
0
-1 -
или
[fl, S,
а] =
Г о —1	01
-1
- 0
0 0
0 -1-
Г 0 1
64
2.2.12. Другие способы определения положения схвата
В предыдущих разделах мы рассмотрели поступательное и вращательное движения звеньев манипулятора и ввели понятие однородных матриц преобразования, описывающих положение и ориентацию систем координат звеньев. Наибольший интерес представляет матрица манипулятора °Т6, которая описывает положение и ориентацию схвата относительно базовой системы координат. Верхняя левая подматрица матрицы °Т6, имеющая размерность 3X3, задает ориентацию схвата. Эта подматрица поворота совпадает с матрицей °R6. Существуют и другие способы описания положения схвата.
Описание ориентации с помощью углов Эйлера. Как говорилось в разде. 2.2.4, описание вращения твердого тела с помощью матриц поворота упрощает многие операции, однако не дает полной системы обобщенных координат. Такой полной системой обобщенных координат являются углы Эйлера <р, 0, ф.
С помощью матрицы поворота, записанной как в равенстве (2.2-17) через углы Эйлера, матрицу манипулятора °Тб можно представить в следующем виде:
	СфСф — 5ф505ф	—СфЗф — ЗфС0Сф	5ф30	Рх '
от 		5фСф + СфС05ф	—СфЗф -ф СфСВСф	—Сф50	Ру
6 —		50Сф	С0	Рг
	о И	'	0	0	1 _
(2.2-44)
Преимущество описания ориентации с использованием углов Эйлера состоит в том, что вся информация о положении и ориентации объекта в пространстве содержится в шестимерном векторе ХУ/фбф. Зная этот вектор и используя равенство (2.2-44), легко сформировать матрицу °Т6.
Описание ориентации с помощью углов крена, тангажа и рысканья. Еще одной системой углов Эйлера для описания вращения являются углы крена, тангажа и рысканья (КТР). С использованием равенства (2.2-19), описывающего вращение тела в координатах КТР, получаем матрицу манипулятора °Т6 в виде
” CqpC0 CqpSOSco — ЗфСф С<р50Сф + 3<р5ф рх StpCQ 5ф505ф + СфСф Зф50Сф — Сф5ф ру —S9	С05ф	С0Сф	рг
0	0	0	1
(2.2-45)
Как уже говорилось в гл. 1, существуют различные типы манипуляторов (в зависимости от используемых типов сочленений,
з К. Фу и др.	65
например XKZ—манипулятор, цилиндрический, сферический, манипулятор смешанного типа). В связи с этим положение (рх, рд, рг)т схвата манипулятора может быть описано, например, в сферических или цилиндрических координатах. Резуль
тирующую матрицу манипулятора можно получить из следую-
щего равенства:
“10 0
ООО
Рх Ру Рг 1
_0
0 
°R6 о о 0 0 1
(2.2-46)
где °R6—матрица поворота, выраженная через углы Эйлера или через векторы [п, s,а].
Подматрица положения в цилиндрических координатах. В цилиндрической системе координат положение схвата определяется следующими преобразованиями поворота и сдвига (рис. 2.15) :
1.	Сдвиг на г единиц вдоль оси ОХ(Тх, г).		=>
2.	Поворот на угол а вокруг оси OZ(Tz, а).
3.	Сдвиг на d единиц вдоль оси OZ(Tz, </)• г’ ' Однородную матрицу, определяющую результат перечисленных преобразований, можно представить в следующем виде:
			1 0 0 0“			Ca —Sa	0 0"	
			0	0 0		Sa Ca	0 0	
Тцил 	 rfT.,, аТХ1 r 				0 0 1 d			0	0	1 0	X
			0 0 0 1 _			_ 0	0	0 1_	
	“1 0 0 r			Ca —<		>a 0 rCa~		
	0 10 0			Sa (		?a 0 rSa		
X	0 0 10		__	0		0 1 d	•	(2.2-47)
	.0 0 01			_ 0		0 0	1		
Поскольку нас интересует только вектор положения (т. е. четвертый столбец матрицы Тцил), матрицу манипулятора °Т6 можно представить в виде
	" 1	0	0	rCa~		0"	
	0	1	0	rSa	°R6	0	
От 	 16 —	0	0	1	d		0	(2.2-48)
	_0	0	0	1	_0 0 0	1 _	
причем рх se rCa, ру s= rSa, pz = d.
€6
Подматрица положения в сферических координатах. Для определения положения схвата можно также воспользоваться сферической системой координат. В этом случае положение схвата определяется следующими преобразованиями (рис. 2.16):
1.	Сдвиг на г единиц вдоль оси OZ (Т2, г).
2.	Поворот на угол р вокруг оси ОУ(ТУ) р).
3.	Поворот на угол а вокруг оси OZ (Тг, а).
рических координатах.
Рис. 2.16. Представление в сферических координатах.
Матрица, описывающая результат перечисленных преобразов^4 ний, равна
Са
—Са 0 0 СР
Тсф = Тг дТ», рТг> г
Sa О
Са 0 0
0 1 0
0 0 1
о ср 1 0
0 Ср 0 0
0~
1
О
 1	0	0	0~	' СаСр	—Са	СаСр	гСаСр"	
0	1	0	0	СаСр	Са	СаСр	гСаСр	
0	0	1	г	-ср	0	ср	гСр	(2.2-49)
_0	0	0	1 _	0	0	0	1	
Как и выше, нас интересует вектор положения схвата относительно базовой системы координат, поэтому матрица манипулятора °Т6, в которой вектор положения представлен в сферических координатах, а подматрица поворота записана через углы
3*
67
Эйлера или векторы [n, s		а], дается следующим выражением:		
	 1 0	0 rCaSp “	0"	
	0 1	0 rSaSP	°R6	0	,	(2.2-50)
От = *6	0 0	1 rCp	0	
	.0 0	0 1	_0 0 0 1 _	
где рх ss rCaSp, ру = rSaSfi, рг s= гСр.
В заключение отметим, что положение и ориентация схвата манипулятора могут быть описаны несколькими способами (в различных системах координат). Вектор положения может быть представлен в декартовой (рх, ру, рг)т, цилиндрической (rCa, rSa, d)T или сферической (rCaS)}, rSaSp, гСр)7 системе координат. Для описания ориентации схвата относительно базовой системы координат можно использовать декартовы координаты [n, s, а], углы Эйлера (ф, 0, ф) или углы крена, тангажа и рысканья. Сказанное иллюстрирует табл. 2.2.
Таблица 2.2. Различные способы описания положения и ориентации
Положение
Ориентация
'В декартовых координатах
(Рх, ру, рг)г
В цилиндрических координатах (rCa, rSa, d)T
В сферических координатах (rCaSfJ, rSaSp, rCp)т
В декартовых координатах [п, s, а]
Углы Эйлера (<р, 0, ф)
Крен, тангаж, рысканье
^положения —
О 0 Рх
1 0 Ру
О 1 Рг
О 0 1
Тповорота —
[п, S, а] или яф> 01,|, О
О
0	0	0	1
°т6 = т
положеиияТповорота
2.2.13. Классификация манипуляторов
Манипулятор состоит из последовательности твердых тел (или звеньев), первое из которых соединено с опорной стойкой, а последнее снабжено рабочим инструментом. Каждое звено соединено не более чем с двумя другими так, чтобы не образовывалось замкнутых цепей. Считается, что соединение двух звеньев — сочленение — имеет только одну степень свободы. С учетом этого ограничения интерес представляют два типа сочленений: вращательное и поступательное. Вращательное сочленение допускает только вращение вокруг некоторой оси; поступа
68
тельное, сочленение обеспечивает поступательное движение вдоль некоторой оси при отсутствии вращения (поступательное движение с вращением имеет место в винтовых сочленениях). Звенья манипулятора участвуют в относительном движении, в результате которого достигается определенное положение и ориентация схвата или инструмента.
Следовательно,- рассматривая манипуляторы как некоторые последовательности сочленений и звеньев, их можно классифицировать по типу используемых сочленений и последовательности их расположения в направлении от опорной стойки к схвату. При таком подходе манипулятор Пума следует отнести к классу 6В, а манипулятор Стэнфордского университета — к классу 2В-П-ЗВ. Здесь В обозначает вращательное, а П — поступательное сочленение.
2.3. ОБРАТНАЯ ЗАДАЧА КИНЕМАТИКИ
В этом разделе рассматривается обратная задача кинематики шестизвенного манипулятора. Команды управления манипуляторами роботов, оснащенных ЭВМ, формируются обычно в пространстве присоединенных переменных, координаты объектов манипулирования задаются в некоторой абсолютной системе координат. Для управления положением и ориентацией схвата робота таким образом, чтобы производить необходимые операции с объектом манипулирования, необходимо уметь решать обратную задачу кинематики. Другими словами, надо уметь по заданным матрице °Тв положения и ориентации схвата шестизвенного манипулятора и известным параметрам его звеньев и сочленений определить присоединенные параметры q = (<?i, ... ..., q6)T манипулятора, обеспечивающие заданное положение схвата.
Существуют различные методы решения обратной задачи кинематики, к числу которых относятся методы обратных преобразований [231], винтовой алгебры [149], двойственных матриц [56], двойственных кватернионов [319], итераций [294] и геометрический подход [168]. Пайпер [235] получил решение обратной задачи кинематики для произвольного манипулятора с шестью степенями свободы, первые три сочленения которого вращательные или поступательные, а оси последних трех пересекаются в одной точке. Решение получено в форме уравнения 4-й степени относительно одной из неизвестных и в явном виде относительно остальных. Пол и др. [231] для того же класса манипуляторов, что и Пайпер, предложили воспользоваться методом обратных преобразований с применением однородных матриц размерностью 4X4. Недостатком этого подхода является то, что из него не следует, каким образом выбрать из нескольких существующих решений одно, соответствующее данной
69
конфигурации манипулятора. В этом вопросе исследователю приходится полагаться на собственную интуицию. Ниже рассмотрен предложенный Пайпером подход к решению обратной задачи кинематики в эйлеровых координатах. Уикер и др. [294] и Ми-ленковиц и Хуанг [198] предложили итеративную процедуру решения обратной задачи кинематики большинства промышленных роботов. Такой подход требует больших вычислительных затрат и не гарантирует сходимости результатов, особенно для вырожденного случая. Кроме того, как и метод обратных преобразований, метод итераций не дает способа выбора из нескольких существующих решений одного, соответствующего данной конфигурации манипулятора.
Желательно, чтобы решение обратной задачи кинематики было получено в явном виде. К счастью, большинство промышленных роботов удовлетворяет одному из следующих двух условий, достаточных для достижения такой цели:
1. Оси трех смежных сочленений пересекаются в одной точке. 2. Оси трех смежных сочленений параллельны между собой. Стэнфордский манипулятор и манипулятор Пума удовлетворяют первому условию, а манипуляторы ASEA и MINI MOVER — второму.
Из равенства (2.2-39) следует вид матрицы манипулятора Т:
Пх sx Пу Sy пг sz О О
ах рх ау Ру az Рг
О 1
__ОД 1Д 2Д ЗД 4Д 5Д
-- Л1 л2 л3 л4 л5 л6-
(2.3-1)
Из равенства (2.3-1) видно, что матрица Т является функцией синусов и косинусов углов 01, 02, ..., 06. Приравнивая элементы матриц в левой и правой частях матричного уравнения (2.3-1), получаем, например, для манипулятора Пума двенадцать уравнений (2.2-40) — (2.2-43) относительно шести неизвестных (присоединенных углов). Поскольку число уравнений превышает число переменных, можно сразу сделать вывод о том, что решение обратной задачи кинематики для манипулятора Пума не единственно. Мы рассмотрим два метода решения обратной задачи кинематики: м-етод обратных преобразований в эйлеровых координатах, которым можно также воспользоваться для решения этой задачи в координатах присоединенных углов, и геометрический подход, выгодно отличающийся наглядностью.
2.3.1. Метод обратных преобразований
В этом разделе общий метод обратных преобразований продемонстрирован на примере решения обратной задачи кинематики в эйлеровых координатах. Задача состоит в том, чтобы, 70
зная трехмерную матрицу поворота и учитывая равенство (2.2-17), представляющее собой выражение этой матрицы через углы Эйлера:
 пх	Sx	ах-	
ПУ	Sy	ау	— Кг, фКн, oRtiy, ф =3
-пг	Sz	-	
' СфСф — 5фС05ф
5фСф СфС05ф
505ф
—СфЗф — 5фС0Сф SqpSQ
—5ф5ф + СфС0Сф —Cq>S0 sec^ се -
(2.3-2)
определить соответствующие значения углов ф, 0, ф. Записывая это матричное уравнение в форме уравнений для отдельных элементов, получим
пх — С<рСф — 5фС05ф,	': . / '	(2,3-3а)
Пу = 5фСф + СфС05ф,		(2.3-36)
пг = 505ф,	(2,3-Зв)
sx = —Сф5ф — 5фС0Сф,	(2.3-3г)
Sy = —5ф5ф + СфС0Сф,	(2.3-3д)
«г = 50Сф,	(2.3-3е)
й,х = 5ф30,	::	i (2.3-3ж)
Qy = -Сф50,	(2.3-3з)
ог = С0.	‘ / г  (2.3-Зи)
Из уравнений (2.3-3и), (2.3-3е) и (2.3-3з) получаем, что решение всей системы уравнений (2.3-3а) — (2.3-3и) имеет следующий вид:
0 — arccos (аг),	(2.3-4)
Ф = arccos ,	(2.3-5)
Ф = arccos Г- 1.	(2.3-6)
Полученное решение неустойчиво и плохо обусловлено по следующим причинам:
1. Функция arccos неудобна тем, что точность вычисления ее значения зависит от этого значения.
2. В точках, где sin(0) принимает близкие к нулю значения, т. е. при 0 « 0° или 0 « 180°, равенства (2.3-5) и (2.3-6) либо не определены, либо дают низкую точность вычислений.
Следовательно, требуется найти более устойчивый способ определения углов Эйлера в данной задаче, а также более
71
устойчивую обратную тригонометрическую функцию для вычисления этих углов. Для вычисления угла 0, значения которого лежат в пределах —л 0 л, воспользуемся функцией арктангенса ATAN2(y, х), вычисляющей значение arctg(у/х) с учетом принадлежности аргумента соответствующему квадранту. Эта функция определена следующим образом:
	' О°=<0<	;эо°,	если	х '	> о,	У -	> 0;
0 = ATAN2 (у, х)<	90° ^0	< 180°,	если	х <	' 0,	У'	> 0;
	—180°s	^0^—90°, если		х <	С 0,	У <	С 0;
	< — 90° <	0<О°,	если	х Z	> о,	У <	' 0.
(2.3-7)
Применяя такую обратную тригонометрическую функцию двух аргументов, рассмотрим общее решение, предложенное Полом и др. [231].
Элементы матрицы в левой части матричного уравнения (2.3-2) заданы, а элементы матриц, стоящих в правой части этого уравнения, неизвестны и зависят от <р, 0, ф. В работе [231] предлагается последовательно умножать слева обе части уравнения (2.3-2) на матрицы обратных преобразований и определять искомые углы из полученных таким образом матричных уравнений. Смысл таких преобразований состоит в том, что мы переносим сначала одну из неизвестных величин из правой в ле
вую часть уравнения, находим ее, затем переносим в левую часть следующую неизвестную, найдя ее, повторяем эту процедуру до тех пор, пока не будут найдены все неизвестные.
Умножая слева матричное уравнение (2.3-2) на R^’cp, переносим неизвестную ф в левую часть, оставляя в правой неизвестные 0 и ф, и тем самым получаем
Сер Сф —Сф Сф - О О
О Я Г пх sx ах О Пу Sy dy \ - -Пг sz az
или
C<pnx + Sq>ny
—Scpnx	СсрПу
C<psx + S<psy
—Stpsx + CtpSy
Sz .
’ 1	0	0 	' Сф	—Сф	о-
0	С0	—С0	Сф	Сф	0
-0	С0	С0-	- 0	0	1 -
+ Stpciy
Cq>a
—Sq>ax + Cq>ay
Сф —Сф
С0Сф С0Сф - С0Сф С0Сф
0 -
—S0
C0-
(2.3-8)
72
Из равенства элементов (1, 3) (элементов, находящихся на пересечении 1-й строки и 3-го столбца матрицы) в правой и левой частях уравнения (2.3-8) имеем
Cq>ax + Sq>ay — 0,	(2.3-9)
что в свою очередь дает
ф = arctg Г-^-| = ATAN2(ax, —ау). L Uy J
(2.3-10)
Из равенства элементов (1, 1), (1, 2) в правой и левой частях следует
Сф = С<рпх Sepny,	(2.3-1 la)
Зф = — C(fsx — S(psy, ,	(2.3-116)
что позволяет найти ф:
, г Хф 1	, Г C<fsx StySy I
* = arctS I сф J= arctg + J *=
= AT AN2 (—Cqpsx -— Sq>sy, Cq>nx + Sq>ny). (2.3-12)
Приравнивая элементы (2, 3), (3,3) матриц в левой и правой частях уравнения, получаем
50 = 5<pax — Cq>ay,
Сд = аг,	(2.3-13)
что позволяет найти 0	'
п , г so 1	, Гs,pa* “ с<ра^ 1
0=arctgLco-J=arctgL—
’	— ATAN2(Sq>ax— Cq>ay, аг).	(2.3-11)
 Поскольку смысл метода обратных преобразований состоит в переносе одной из неизвестных величин в левую часть матричного уравнения с последующим разрешением уравнения относительно этой неизвестной, можно попытаться решить это же самое матричное уравнение, умножая обе его части справа на матрицу обратного преобразования Яй.'ф:
’ пх sx ах пу sy ау
-п2 sz аг-
Сф Зф
—Зф Сф
О О
0"
0
1 -
’Сер —Sep
Зф Сф - о	о
О'! Г 1 о
о о се
1J L о 30
0 -
-30
CO-
ES результате умножения матриц получим
’ пхСф — «х3ф ЧдЗф + «хСф ах ’ иуСф — 5у3ф му3ф Ч- 5уСф ау
-	-ф-	s-Зф	ц23ф	+	«2Сф	аг	-
’ Сф	—ЗфСО	ЗфЗО"
Зф	СфСО	—СфЗО
- 0	30	се -
(2.3-15)
73
Как и выше, приравнивая элементы (3, 1) матриц в левой и правой частях уравнения, имеем
nzCty— szS4> = 0,	(2.3-16)
что дает
^ = arctgM = X7W2(riz, sz).	(2.3-17)
L sz J
Из равенства элементов (3, 2), (3, 3) обеих матриц следует
S0 =	+ хгС4>,	(2.3-18а)
С0 = аг	(2.3-186)
что позволяет определить 0:
0 = arctg[^st±..^] =
= ATAN2 (пг8ф + s2C4|>, аг).	(2.3-19)
Из равенства элементов (1, 1), (2, 1) матриц в левой и правой частях уравнения (2.3-15) имеем
Сер = пхСА> — sxS4>,	(2.3-20а)
8ф = пуСА> — SySty,	(2.3-206)
откуда легко найти
Г nyCty — SySty 1
(p = arctg	=
= ЯГИ А'2 (ttyCty — sySA>, nxCty— sxS4>).	(2.3-21)
Решение вопроса о том, слева или справа умножать обе части матричного уравнения на матрицу обратного преобразования, зависит от исследователя и во многом определяется его интуицией.
Воспользуемся изложенным методом обратных преобразований для определения углов Эйлера манипулятора Пума. В применении к манипуляторам типа Пума углы Эйлера обозначаются символами О, Я и Г и определяются следующим образом (рис. 2.17):
О (ориентация)—угол, образуемый осью у0 с проекцией оси инструмента на плоскость ХУ и отсчитываемый вокруг оси Zo.
А (высота V) —угол, образуемый плоскостью ХУ с осью инструмента а, отсчитываемый вокруг оси инструмента s.
Т (инструмент)—угол, образуемый плоскостью ХУ с осью инструмента s, отсчитываемый вокруг оси инструмента а.
По первой букве английскою слова altitude — высота. — Прим, перев.
74
Вначале оси системы координат инструмента (или системы координат схвата) параллельны осям базовой системы координат робота, как показано на рис. 2.18, т. е., когда О = А = Т=0°, схват направлен в сторону, противоположную направлению оси
Рис. 2.17. Определение углов Эйлера О, А и Т (из руководства 398Н к мани* пулятору Пума).	.
у0, пальцы расположены в горизонтальной плоскости, а ось s сонаправлена с осью хо. Матрица преобразования, задающая ориентацию системы координат схвата (n, s, а) по отношению к базовой системе координат (х0, Уо, z0), имеет вид
"О 1 о-
0 0-1
-10	0-
(2.3-22)
75
С учетом определения углов О АТ и вида матрицы (2.3-22), задающей начальную ориентацию системы координат схвата, связь
Рис. 2.18. Начальное расположение системы координат инструмента.
между матрицей ориентации схвата и углами ОАТ определяется следующим выражением:
' пх Пу	$х sy	ах~ аи	= R	Z, 0	- 0 0	1 0 -	0- 1	Rs, Л	Ra	т —	СО SO	-SO СО	0' 0	X
- пг	S,	аг-			- -1	0	0 -			L	0	0	1 -	
					0 1	0-	-	СА	0	S/1 -	 ст	—ST	0	-1
			X		0 0	-1		0	1	0	ST	ст	0	
					1 0	0 -	_ -	-SX	0	СА-	L 0	0	1	
Умножая справа это матричное уравнение на матрицу, обрат ную Ra>r,
Пх $х ®х	- СТ ST 0'		-СО -SO 0-	’ 0 1 о-	
пу 5у ау	—ST СТ 0	=	SO СО 0	0 0-1	X
Пг $г Пг -	-	0 0	1-		- 0	0 1-	--1 0	0.	
			- СА 0 SA-		
		X	0	1 0		
			- —SX 0 СА-		
и производя умножение матриц, получаем
’ пхСТ — sxST	nxST + sxCT	ax ~		- -sosx	CO	SOCX '
nyCT — SyST	tiyST -f- SyCT	ay	=	COSA	so	—COCA .
- nzCT — szST	nzST + szCT	az -		- —CA	0	—SX -(2.3-23)
Приравнивая элементы (3,2) в обеих частях матричного уравнения (2.3-23), получим
nzST + szCT = О,
(2.3-24)
76
что позволяет определить Т\
T = arctg[-^-l = ATAN2(sz, -пг).	(2.3-25)
Из равенства элементов (3, 1), (3, 3) в левой и правой частях уравнения (2.3-23) следует
SA = —az,	(2.3-26а)
С А = —пгСТ + szST.	(2.3-266)
В результате получаем
Л = arctg [--- с „-г 1 = ATAN2 (-аг, -пгСТ + szST). (2.3-27)
Из равенства элементов (1, 2), (2,2) матриц в левой и правой частях уравнения (2.3-23) имеем
СО = nxST + sxCT, ...	, (2.3-28а)
SO = nyST + SyCT,	(2.3-286)
откуда получаем выражение для О:
° - arctS [ ЙЙ sffr] = ATAN2 ^ST + fyCT’ n-ST + S*CT)-
(2.3-29)
Рассмотренным способом, состоящим в умножении исходного уравнения слева или справа на неизвестную матрицу обратного преобразования, можно воспользоваться для решения обратной задачи кинематики манипулятора Пума. Такое решение подробно изложено в работе [231].
Хотя метод обратных преобразований дает общий подход к решению обратной задачи кинематики, из него не следует, каким образом выбрать из нескольких существующих решений одно, соответствующее требуемой конфигурации манипулятора. В этом вопросе приходится полагаться на интуицию исследователя. Для нахождения решения обратной задачи кинематики по заданной матрице манипулятора более пригодным является геометрический подход, дающий также и способ выбора единственного решения для конкретной конфигурации манипулятора. Этот подход описан в разд. 2.3.2.
2.3.2. Геометрический подход
В этом разделе излагается геометрический подход к решению обратной задачи кинематики шестизвенного манипулятора с вра
77
щательными сочленениями. Решение проводится для манипулятора типа Пума. По аналогии с геометрией человеческой руки и в соответствии с расположением систем координат звеньев различные конфигурации манипулятора Пума (рис. 2.11) определяются с помощью трех индикаторов конфигурации (РУКА, ЛОКОТЬ, ЗАПЯСТЬЕ)1’. Для индикатора характеризуют взаимное расположение первых трех сочленений, а третий — расположение последних трех. Для шестиосных манипуляторов типа Пума существуют четыре различных решения обратной задачи кинематики первых трех сочленений и каждому из этих четырех решений соответствует по два допустимых решения для последних трех сочленений. Первые два индикатора конфигурации позволяют выбрать одно из четырех возможных решений для первых трех сочленений. Аналогично, третий индикатор определяет выбор одного из двух возможных решений для последних трех сочленений. Выбор индикаторов, определяющих конфигурацию манипулятора, производится пользователем до начала решения обратной задачи кинематики. Решение производится в два этапа. Сначала вычисляется вектор, направленный от плеча к запястью. Проекции этого вектора на плоскость xt-i у(_] используются при нахождении присоединенного угла i-ro сочленения (i = 1, 2, 3) для первых трех сочленений. При решении обратной задачи кинематики для последних трех сочленений используется решение, полученное для первых трех сочленений, подматрицы поворота матриц °Т и Г_1А; (i = 4, 5, 6) и проекции систем координат звеньев на плоскость х'-1 у'-1. Исходя из геометрических соображений, удается последовательно сформировать решение данной задачи. В качестве проверки полученного решения можно с помощью соответствующих уравнений кинематики вычислить значения индикаторов конфигурации, являющихся функциями присоединенных углов. С некоторыми изменениями и уточнениями этот метод можно обобщить для решения обратной задачи кинематики большинства современных промышленных роботов с вращательными сочленениями.
Если задана матрица абсТИНстР, то, умножив эту матрицу слева и справа на В-1 и Н-1 соответственно, можно вычислить 3Те и
” В этом разделе авторы для определения конфигурации манипулятора ставят в соответствие звеньям — руке, локтю, запястью — некоторые функции, названные ими индикаторами конфигурации. Придавая индикаторам конфигурации дискретные значения (±1) в зависимости от знака соответствующих кинематических соотношений, авторам удалось создать достаточно наглядную классификацию видов конфигурации манипулятора с помощью геометрической интерпретации. Желая сохранить стиль изложения, мы сохранили предложенную авторами терминологию, хотя она не получила широкого распространения в отечественной литературе по робототехнике.— Прим, ред.
78
затем воспользоваться указанным способом:
Пх Sx ах рх
О	wj ““ 1 а бс	xj 1	У
1б= 1 = В >инстрп —
sy ау Sz &z о о
Ру Рг
1
(2.3-30)
о
Определение различных конфигураций манипулятора. Для
манипулятора Пума, показанного на рис. 2.11 (и других мани
Локогпь
Левая верхняя рука
Левая поясняя рука
Правая нижняя рука
Рис. 2.19. Определение различных конфигураций манипулятора.
пуляторов с вращательными сочленениями), возможны различные типы конфигурации, которые определяются по аналогии с геометрией руки человека в соответствии с расположением систем координат звеньев, устанавливаемым алгоритмом 2.1. Типы конфигурации манипулятора устанавливаются следующим образом (рис. 2.19):
ПРАВАЯ РУКА: При неподвижном 3-м сочленении увеличение угла 02 приводит к увеличению координаты запястья по оси z0.
79
ЛЕВАЯ РУКА: При неподвижном 3-м сочленении увеличение угла 02 приводит к уменьшению координаты запястья по оси z0.
ВЕРХНЯЯ (локоть выше запястья) РУКА: Положение запястья {ПРАВОЙ/ЛЕВОЙ} руки по отношению к системе координат плеча характеризуется {отрицательным/положитель-ным} значением координаты по оси у2.
НИЖНЯЯ (локоть ниже запястья) РУКА: Положение запястья {ПРАВОЙ/ЛЕВОЙ} руки по отношению к системе координат плеча характеризуется {положительным/отрицательным} значением координаты по оси у2.
КИСТЬ ВНИЗ: Скалярное произведение единичного вектора s системы координат схвата и единичного вектора у5 системы координат (х5, у5, z5) положительно.
КИСТЬ ВВЕРХ: Скалярное произведение единичного вектора s системы координат схвата и единичного вектора уз системы координат (х5, уз, z5) отрицательно.
(Заметим, что это определение типов конфигурации манипулятора по положению систем координат звеньев изменится, если будут использованы другие системы координат.)
В соответствии с данным определением различных конфигураций манипулятора для каждой из таких конфигураций определены индикаторы конфигурации (РУКА и ЛОКОТЬ). Совместно эти два индикатора выделяют одно из четырех возможных решений обратной задачи кинематики для первых трех сочленений. Для каждой из четырех возможных конфигураций манипулятора (рис. 2.19), определяемых первыми двумя индикаторами, третий индикатор (ЗАПЯСТЬЕ) обусловливает выбор одного из двух возможных решений обратной задачи кинематики для последних трех сочленений. Перечисленные три индикатора конфигурации звеньев могут быть определены следующим образом:
( +1 для ПРАВОЙ руки РУКА = ^ для ЛЕВОЙ руки
( +1 для ВЕРХНЕЙ руки ЛОКОТЬ = {	TTTzTVZTTcra
(. —1 для НИЖНЕЙ руки
ВНИЗ
ВВЕРХ
ЗАПЯСТЬЕ=
если КИСТЬ если КИСТЬ
индикаторам
определим ПЕРЕ-
В дополнение к перечисленным КЛЮЧАТЕЛЬ следующим образом:
( +1 Сменить ориентацию запястья
ПЕРЕКЛЮЧАТЕЛЬ = <	, „ „
{ — 1 Не менять ориентацию запястья
(2.3-34)
80
Значения индикаторов и переключателя задаются исследователем до начала решения обратной задачи кинематики. Значения индикаторов можно также определить, зная присоединенные углы манипулятора и пользуясь соответствующими уравнениями конфигурации, которые будут приведены ниже и которыми можно воспользоваться для проверки решения обратной задачи кинематики.
Решение обратной задачи кинематики для первых трех сочленений. В соответствии с кинематической схемой манипулятора Пума, представленной на рис. 2.11, вектор р, выходящий из начала системы координат плеча (х0, у0, z0) и заканчивающийся в точке пересечения осей трех последних сочленений, определяется следующим выражением (см. рис. 2.14):
р = рб —е/6а = (рх, ру, рг)т,	.	(2.3-35)
что соответствует вектору положения матрицы °Т4:
Рх
Ру
-Рг -
С] («2^2 + O3C23 + 'Л'Згз) ^2-51 Si (Р2С2 + ®зС23 -|- diS2^ 4- d2C{ djC23 ^3^23	а2§2
(2.3-36)
Решение для первого сочленения. Проецируя, как показано на рис. 2.20, вектор р на плоскость х0, уо, получаем следующие уравнения для определения угла 01:
е[=ф — а, 0f = л + <р-ф а,	(2.3-37)
г = V рх “Ь Ру— dz, R = 'рх + ру,		(2.3-38)
sin <р = созф = -^-, '	(2.3-39)
Л	А
sin а =-^7-, cosa = -Jj-,	(2.3-40)
Л	Л
в которых верхние индексы L и R означают соответственно ЛЕВУЮ и ПРАВУЮ конфигурации манипулятора. Из уравнений (2.3-37) — (2.3-40) получаем значения функций синуса и косинуса угла 01 для ЛЕВОЙ/ПРАВОЙ конфигурации манипулятора:
.	,	 Руг~ P*d2
sin 0i — sin (ф — a) = sin ф cos a — cos ф sin a —-----.
(2.3-41)
r	рхГ ~Py$2
cos 0i = cos (ф — a) = cos ф cos а 4- sin ф sin a =----------->
(2.3-42)
sin 0f = sin (л 4- ф + a) =------.	(2.3-43)
cos 0f = cos (л 4- ф 4- a) = —Px ^2 Py-—.	(2.3-44)
81
Объединяя равенства (2.3-41) — (2.3-44) и используя индикатор РУКА для учета ЛЕВОИ/ПРАВОИ
Плоскость у0
Рис. 2.20. Решение для 1-го сочленения.
конфигурации манипуля
OA-di 
АВ^г- №Х + Рг, -dl . 
Г
ов = Vp; + pf = Л '
О А & Зг •
АВ - г =
ОВ ? V/'t + ft
♦ Жа	*	2
тора, получаем значения функций синуса и косинуса в следующем виде:	_________
. -РУКА Ру	- d' - pxd2
Sin VI - 9	9	,
РХ + Ру
-РУКА р ^/p^ +Ру-4+Рyd2 : е) cos 0! =-----------.
Рх+Ру
угла 01
(2.3-45)
(2.3-46)
82
В этих равенствах используется положительное значение квадратного корня, а индикатор РУКА определен равенством (2.3-31). Для вычисления 0Ь лежащего в пределах —л 0, л, воспользуемся функцией арктангенса, определенной равенством
ол EF - Рх
АВ ~ а21 EG = Ру
ВС ~ «J DE = Р, CD ~ d<
AD « R ~	+ Рг, + P*~
AE^r* 4p^ + p} - di
x3
Рис. 2.21. Решение для 2-го сочленения.
(2.3-7). Из равенств (2.3-45) и (2.3-46) с учетом равенства (2.3-7) получаем следующую формулу для определения 0!:
[ -РУКА р ^р2 + р -d2-Pxd2 ]
= arctg =------------v 9 У2 .....~------- - л <0! < л.
L -РУКА pxaJpx + p2y-d2 + pyd2 J
(2.3-47)
Решение для второго сочленения. Чтобы найти 02, спроецируем вектор р на плоскость xiyi, как показано на рис. 2.21. В соответствии с этим рисунком возможны четыре различных конфигурации манипулятора. Каждой конфигурации соответствует свое значение угла 02 при 0° а 360° и 0°	|3	90°
(табл. 2.3). Как следует из табл. 2.3, используя индикаторы конфигурации РУКА и ЛОКОТЬ, для 02 можно записать единое для всех возможных конфигураций манипулятора выражение, имеющее следующий вид.
02 = а + (РУКА • ЛОКОТЬ) • 0 = а + К • 0,	(2.3-48)
где составной индикатор конфигурации К = РУКА-ЛОКОТЬ определяет соответствующий знак угла 0, а точкой обозначена
83
Таблица 2.3. Угол 02 при различных конфигурациях манипулятора
Конфигурация манипулятора	02	РУКА	локоть	РУКА-ЛОКОТЬ
ЛЕВАЯ ВЕРХНЯЯ рука	а — Р	—1	4-1	— 1
ЛЕВАЯ НИЖНЯЯ рука	а 4- р	—1	— 1	4-1
ПРАВАЯ ВЕРХНЯЯ рука	а 4- Р	4-1	4-1	4-1
ПРАВАЯ НИЖНЯЯ рука	а — р	4-1	-1	— 1
операция умножения индикаторов. Геометрия манипулятора, отраженная в схеме на рис. 2.21, позволяет записать следующие соотношения:
R = ^P2x + P2 + p2~d2, r = ^x + piy-dl, (2.3-49)
•	г
sin a —--------—
Рг
Рх + Ру + Pl ~ d2
(2.3-50)
РУКА-г cos а =	—	РУКА • д/'р2 4- р2 - d2 	. v *	(2.3-51) л/р2х + P2y + p2z-d2
cosfJ
^ + ^-(/4 + аз2) _ pl + pl + pl + al-4-^ + al)
2atR	2a2^/p2x + p2y+P2z-dl
sin P = Vl —- COS2P .
(2.3-52)
(2.3-53)
Из равенств (2.3-48) — (2.3-53) можно определить значение функций синуса и косинуса угла 02:
sin 02 — sin (а + К • Р) = sin a cos (К • Р) + cos а sin (К • Р) =
= sin а cos Р 4- (РУКА • ЛОКОТЬ) cos а sin 0,	(2.3-54)
cos 02 = cos (а 4- К • 0) = cos а cos 0 — (РУКА • ЛОКОТЬ) sin а sin 0.
(2.3-55)
Равенства (2.3-54), (2.3-55) позволяют найти значение 02:
62 = arcte[-SlH	(2-3-56)
Решение для третьего сочленения. Для определения 03 спроецируем вектор р на плоскость х2у2 (рис. 2.22). В соответствии с рис. 2.22, как и в предыдущем случае, возможны четыре различные конфигурации манипулятора. Как показано в табл. 2.4, каждой конфигурации соответствует свое выражение для 0з. Па
84
раметр (2рд)у представляет собой у-ю компоненту вектора, выходящего из начала системы координат (х2, f/2, z2) и заканчивающегося в точке пересечения осей последних трех сочленений.
Таблица 2.4. Угол 03 при различных конфигурациях манипулятора
Конфигурация манипулятора		0!	РУКА	локоть	РУКА-ЛОКОТЬ
ЛЕВАЯ ВЕРХНЯЯ рука	>0	<Р — Р	-1	+1	—1
ЛЕВАЯ НИЖНЯЯ рука	<0	<Р — Р	-1	-1	. +1
ПРАВАЯ ВЕРХНЯЯ рука	>0	<Р — Р	+ 1	+1	+1
ПРАВАЯ НИЖНЯЯ рука	<0	ф - Р	+ 1	-1	—1
Из рис. 2.22 получаем следующие равенства, позволяющие определить 03:
R = ^P2x + P2y + Pl-dl	(2.3-57)
а2 + (rf4 + аз)  Р2
C0S(p= 2^4 АЦ—,	(2.3-58)
2а2л/с(4 + а3
sin <р = РУКА • ЛОКОТЬ д/1 -cos2q>,
sin ft =	cosp=	(2.3-59)
'У^4 + а3	V^4^ a3
В соответствии с табл. 2.4 значение 03 можно представить формулой, единой для всех конфигураций манипулятора:
0з = <р — р.	(2.3-60)
Из равенства (2.3-60) получаем следующие выражения для функций синуса и косинуса угла 03:
sin 03 = sin (ф — Р) = sin ф cos Р — cos ф sin Р,	(2.3-61)
cos 03 = cos (ф — р) = cos ф cos р + sin ф sin р.	(2.3-62)
Из равенств (2.3-61) и (2.3-62) с использованием равенств (2.3-57) — (2.2-59) находим решение для 03:
0
з
= arctg^
sin 631
cos 03 I ’
(2.3-63)
л ^57 03 л.
Решение обратной задачи кинематики для последних трех сочленений. Зная первые три присоединенных угла, можно сфор-
8э
мировать матрицу °Т3) часто используемую при решении обратной задачи кинематики для последних трех сочленений. Для манипулятора Пума это решение можно получить, приводя сочленения в соответствие со следующими требованиями:
Лейая нижняя рука
Левая ниж/(ЯЯ руки
Рис. 2.22. Решение Для 3-го сочленения.
1.	Сочленение 4 должно быть установлено так, чтобы вращением в сочленении 5 можно было совместить ось вращения сочленения 6 с заданным вектором подхода (вектором а матрицы Т).
2.	Сочленение 5 должно быть установлено так, чтобы ось вращения сочленения 6 совпадала с вектором подхода.
3.	Сочленение 6 должно быть установлено так, чтобы ось у6 совпала с заданным касательным вектором схвата, определяю-
36
щим его ориентацию. Перечисленные условия соответственно
записываются в следующем	виде:
± (z3 X а) z4 =	' л при заданном IIZ3 X а II	г	а = (ах, ау, azf,	(2.3-64)
a = z5 при заданном	а — (ах, ау, az)T,	(2.3-65)
s=у6 при заданных	s = (sx, Sy, sf и n — (nx, ny, nz)r.
(2.3-66)
В равенстве (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) имеет положительный знак. Признаком этого может служить индикатор ориентации й, определяемый следующим образом:
(О в вырожденном случае;
s • у5, если s • у5=И= 0;
(2.3-67)
п • у5, если s • у5 = 0.
В соответствии с рис. 2.11 у3 = z4, и, используя равенство (2.3-64), можно представить индикатор ориентации в следующем виде:
О	в вырожденном случае;
s • ц^хЙ еСЛИ s ’ (z3 X а) =Л 0;
п> ЙНИт есЛи s-(z3Xa) = 0.
(2.3-68)
Если наше предположение о знаке векторного произведения в равенстве (2.3-64) не верно, то позже оно будет скорректировано
87
Таблица 2.5. Различные ориентации запястья
Ориентация запястья	S = s-ys ИЛИ П'У=	М-ЗАПЯСТЬЕ-sign (Q)
кисть вниз	>0	+ 1 +1
кисть вниз	< 0	+ 1 -1
КИСТЬ ВВЕРХ .	>0	-1 -1
КИСТЬ ВВЕРХ	<0	-1 +1
с помощью индикатора ЗАПЯСТЬЕ и индикатора ориентации Й. Индикатор й служит признаком начальной ориентации единичного вектора z4, обусловленной правилами выбора систем координат звеньев. Индикатор звена ЗАПЯСТЬЕ характеризует выбранную исследователем ориентацию узла запястья в соответствии с определением, содержащимся в равенстве (2.3-33). Если эти индикаторы одного знака, то предположение о знаке векторного произведения в равенстве (2.3-64) верно. Табл. 2.5 устанавливает соответствие между ориентацией запястья и различными комбинациями значений индикатора ЗАПЯСТЬЕ и индикатора ориентации.
Рис. 2.23. Решение для 4-го сочленения.
между ориентацией запястья и различными комбинациями значений индикатора ЗАПЯСТЬЕ и индикатора ориентации.
Проецируя систему координат (х4> у4, z4) на плоскость х3у3 (рис. 2.23) и используя табл. 2.5, можно получить следующие соотношения:
sin 04 = —Л1 (z4 • х3), cos 04 = М (z4 • у3),	(2.3-69)
где х3 и у3 — соответственно первый и второй столбцы матрицы °Т3, м = ЗАПЯСТЬЕ -cign (Й), а функция sign определяется следующим образом:
( 4-1, если х 0;
sign (%) = •)	.	. п •	(2.3-70)
' '	(. —1, если х < 0.
«8
Таким образом, с помощью индикатора ЗАПЯСТЬЕ и индикатора ориентации решение для 04 может быть представлено в следующем виде:
Г M(Ciay-S}ax)
= arctg а-------г-я-~---о---г , —(2.3-71)
6 L (Сказах + S^Czsciy — Sisdz) J
В вырожденном случае переменной 04 может быть присвоено любое значение, согласующееся с ориентацией запястья (КИСТЬ ВВЕРХ/ВНИЗ). Это условие всегда удовлетворяется, если положить 04 равным текущему значению 04. Кроме того, сменив значение ПЕРЕКЛЮЧАТЕЛЯ, можно получить другое решение для 04: 04 = 04 + 180°.
Решение для пятого сочленения. Для определения 05 воспользуемся условием, состоящим в том, что ось шестого сочленения должна совпадать с заданным вектором подхода (а = z5). Прое-
Рис. 2.24. Решение для 5-го сочленения.
цируя систему координат (xs, ys, z5) на плоскость х4у4, можно показать, что справедливы следующие соотношения (рис. 2.24): sin05 = a-x4, cos 05 = — (а • у4),	(2.3-72)
где х4 и у4 — соответственно первый и второй столбцы матрицы °Т4, а а — вектор подхода. Таким образом, получено решение для 05:
п , Г sin 05 1
05 = arctg [тдгег] =
= arctg
(CiC23C4 — S[S4) ах (S[C23C4 -f- C[S4) ay — CfS23az
CiSi3ax + SiSjjfly -f- С23аг
—Л	9 Л.
(2.3-73)
Если 05 a; 0, имеет место вырожденный случай.
Решение для шестого сочленения. Мы получили такие решения 04, 05 для 4-го и 5-го сочленений, что ось шестого сочленения сонаправлена с заданным вектором подхода а. Теперь мы хотим получить такую ориентацию схвата, которая бы позволила поднять объект манипулирования. Для этого надо так располо
89
жить схват, чтобы s = у6. Проецируя систему координат схвата (n, s, а) на плоскость х5у5, можно показать, что справедливы следующие равенства (рис. 2.25):
sin 0S = n • у5, cos 06 = s • y5,	(2.3-74)
где Уб — второй столбец матрицы °Тб, а п и s — соответственно нормальный и касательный векторы матрицы °Тв. Таким образом, для 06 имеем
= arctg
sin 08 1 . COS 08 J
__arctg П— S1C4 — ^1^23^4) nx + (C1C4	5^2354) ny — (S4S23) пг 1
L (— S,C4 — C1C23S4) sx + (C,C4	S1C23S4) Sy + (S4S23) sz J
(2.3-75) Рассмотренный метод решения обратной задачи кинематики основан на геометрической интерпретации условий, накладываемых на положение конечной точки 3-го звена и на положение и ориентацию схвата или инструмента. В предложенном решении для углов 04, 05 и 06 необходимо обратить особое внимание на следующее. Дело в том, что требование совпадения оси 5-го сочленения с векторным произведением z3 и а может не иметь смысла, если sin 05 ~ 0 (т. е. 05 ~ 0). В этом случае манипулятор становится вырожденным: оси его 4-го и 6-го сочленений совпадают. В таком состоянии важна только сумма углов 04 и 0в. Угол 04 можно выбрать произвольным образом (обычно выбирают 04 равным его текущему значению), а 04 + 06 выбирается так, чтобы требуемым образом расположить оси s и п. Если ПЕ-РЕРЕКЛЮЧАТЕЛЬ «включен» (т. е. ПЕРЕКЛЮЧАТЕЛЬ = 1), ТО 04 — 04 4- л, 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) дают решение (01, 02, ©з, 04, 05, ©в) обратной задачи кинематики, причем (0Ь 02, 03, 04 + л, —05, 0е 4- л) также является решением этой задачи (если ПЕРЕКЛЮЧАТЕЛЬ «включен»).
Уравнения вида конфигурации для определения индикаторов конфигурации манипулятора. Полученное в предыдущем разделе решение обратной задачи кинематики для манипулятора типа Пума не единственно и зависит от индикаторов конфигурации, задаваемых исследователем. Эти индикаторы можно также определить, зная присоединенные углы. В этом разделе получены соответствующие уравнения конфигурации для каждого из рассмотренных индикаторов. Решение уравнения дает значение соответствующего индикатора в соответствии с определениями (2.3-31) —(2.3-33).
Для индикатора РУКА, следуя определению ПРАВОЙ/ЛЕ-ВОЙ руки, уравнение конфигурации можно записать в виде
g (0, р) = z0 • иZ1 = s	0 || Zi X P II
1	— Pu sin 01 — px cos 01
Б7х71Г = —ilz,xPni---------’ <2-3-76>
где p' — (px, py, 0)T — проекция вектора p (равенство (2.2-36)) на плоскость хоУо, zj =(—sin 0ц cos0i,O)r — третий столбец матрицы °Tj и z0 = (0, 0, 1)г. Возможны следующие варианты:
1. Если g(0, р) > 0, реализована конфигурация ПРАВОЙ руки. 2. Если g(0, р) < 0, реализована конфигурация ЛЕВОЙ руки. 3. Если g(0, р) = 0, конфигурация манипулятора одновременно соответствует определению как ПРАВОЙ, так и ЛЕВОЙ руки: манипулятор находится внутри цилиндра радиусом 42 (рис. 2.19). В этом случае принимается для определенности, что реализована конфигурация правой руки (РУКА =4-1).
Поскольку знаменатель выражения (2.3-76) всегда положителен, определение ЛЕВОЙ/ПРАВОЙ конфигурации сводится к определению знака числителя g(0, р):
РУКА = 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(— 44S23 — a,3C23 — ct2C2).
(2.3-78)
Следовательно, из уравнения (2.3-78) значение индикатора РУКА для ПРАВОЙ/ЛЕВОЙ конфигурации манипулятора уста
91
навливается следующим образом:
( +1=> ПРАВАЯ рука, РУКА = sign (-d4S23-a3C23-a2C2) = | _1=>ЛЕВАЯ рука.
(2.3-79)
При выводе уравнения конфигурации для индикатора ЛОКОТЬ используем определение ВЕРХНЕЙ/НИЖНЕЙ руки. Взяв (2р4)у и индикатор РУКА из табл. 2.4, получим уравнение конфигурации для индикатора ЛОКОТЬ, использующее знак второй компоненты вектора положения матрицы 2А33А4 и индикатор РУКА:
ЛОКОТЬ = РУКА • sign (d4C3 - a3S3) =
( 4-1 =>ЛОКОТЬ выше запястья,
( —1=> ЛОКОТЬ ниже запястья.
(2.3-80)
Для индикатора ЗАПЯСТЬЕ, следуя определению возможных конфигураций запястья (КИСТЬ ВВЕРХ/ВНИЗ), сформируем скалярное произведение единичных векторов s и у3 (или z4).
( -I- К если s • z4 > 0
ЗАПЯСТЬЕ = s .	n = sign(s • z4). (2.3-81)
(—1, если s • z4 < 0 ь	’
Если s-z4 = 0, значение индикатора ЗАПЯСТЬЕ можно определить из следующего выражения:	'
( 4-1, если п • z4 > О')
ЗАПЯСТЬЕ = 5	г = sign(п • z4). <2.3-82)
(—1, если п  z4 < 0)
Объединяя равенства (2.3-81) и (2.3-82), получим
( sign (s  z4), если s-z4^t0)	' - -
ЗАПЯСТЬЕ = < .	,	J =
( sign (n • z4), если s • z4 = 0 )
( 4-1 КИСТЬ ВНИЗ, = I -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.	Найдите матрицу поворота, являющегося результатом последовательного выполнения поворотов сначала на угол ф вокруг оси ОХ, на угол ф вокруг оси OW и затем на угол 0 вокруг оси OY,
94
2.3.	Найдите последовательность поворотов, отличную от описанной в задаче 2.2, но имеющую ту же матрицу результирующего поворота.
2.4.	Выведите формулы для sin (<р 4-0) и cos (<р 4-0), раскрывая выражение, представляющее матрицу суммарного поворота в виде произведения матриц элементарных поворотов.
2.5.	Определите матрицу Т, описывающую результат последовательного выполнения следующих преобразований: поворот на угол а вокруг оси ОХ, сдвиг на Ь единиц длины вдоль оси OZ и затем поворот угол <р вокруг оси OV.
2.6.	Определите в соответствии с рис. 2.27 однородные матрицы преобразований '-’А, и °А,- для i = 1, 2, 3, 4, 5.
Рис. 2.27. Схема систем координат для упражнения (2.6) нахождения однородной матрицы преобразования.
2.7.	Определите в соответствии с рис. 2.28 однородные матрицы преобразований |-1А< и "А,- для i — 1, 2, 3, 4.
2.8.	Робототехнический комплекс оборудован телевизионной камерой (см. пример из разд. 2.2.11). В поле зрения камеры находятся точка начала базовой системы координат, в которой закреплен манипулятор, а также объект манипулирования — куб. Если в центре куба поместить локальную систему координат, то его положение относительно камеры будет определяться однородной матрицей Ть Аналогично, положение базовой системы координат относительно камеры может быть задано однородной матрицей Т2, где
т,=	~0 1	0	1 - 10	0	10 0 0—1	9 _0 0	0	1_	, т2 =	-]	0	0	-10- 0—1	0	20 0	0-1	10 _000	1_
95
а)	К сожалению, после того как оборудование было установлено и были выбраны указанные системы координат, кто-то развернул камеру на 90° вокруг ее оси г. Каковы стали положение и ориентация камеры по отношению к базовой системе координат робота?
Рис. 2.28. Схема систем координат для упражнения родной матрицы преобразования.
(2.7) нахождения одно*
б)	После того, как вы ответили на вопрос а), тот же человек сначала развернул объект манипулирования на 90° вокруг его оси х, а затем сдвинул его на 4 единицы вдоль повернутой оси у. Определите положение и ориентацию объема манипулирования относительно базовой системы координат робота и относительно повернутой системы координат камеры.
2.9.	Мы рассмотрели геометрический способ решения обратной задачи кинематики манипулятора Пума. Определите в терминах требуемого числа операций сложения и умножения и обращений к программам вычисления трансцендентных функций вычислительные ресурсы, необходимые для решения этой задачи на ЭВМ (если некоторая операция повторяется, ее нужно учитывать только один раз).
96
2.10.	Определите ортонормированные системы координат (х/, у;, z/), i = = 1, 2, ..., 6, для звеньев манипулятора Пума 260, изображенного на рис. 2.29, и заполните следующую таблицу:
Вращение туловища 330 *
Вращение ллеча .310°
Параметры систем координат звеньев манипулятора Пума
Сочленение
I
2
3
4
5
6
Рис. 2.29. Звенья, сочленения и присоединенные углы (обобщенные координаты) манипулятора Пума 260.	,	,	.
2.II.	Определите ортонормированные системы координат (xi, у,, zi), 1 = = 1, 2, ..., 5, для звеньев манипулятора MINIMOVER, показанного на рис. 2.30, и заполните следующую таблицу;
4 К. Фу и др.
97
Рис. 2.30. Схема манипулятора MINIMOVER.
Параметры систем координат звеньев манипулятора MINIMOVER
2.12.	Стэнфордский манипулятор установлен в положение, показанное на рис. 2.31. Присоединенные переменные для такого положения манипулятора имеют значения q — (90°, —120°, 22 см, 0°, 70°, 90°)т. Определите ортонор-мированные системы координат (х,-, у,-, z,-), i= 1, 2, . .., 6, для этого манипулятора и заполните следующую таблицу:
Рис. 2.31. Схема стэнфордского манипулятора.
Параметры систем координат звеньев стэнфордского манипулятора
Сочленение
0j аг- а(. rf(.
1
2
3
4
5
6
2.13.	Используя матрицы ‘-'А,- (i=l, 2, ..., 6) для манипулятора Пума, представленные в разд. 2.2.10, определите ошибку положения конца 3-го звена, обусловленную ошибками измерений первых трех присоединенных углов (АО], Л02, А03). Воспользуйтесь схемой аппроксимации первого порядка.
2.14.	Решите задачу 2.13 для стэнфордского манипулятора, показанного на рис. 2.12.
2.15.	На рис. 2.32 показан манипулятор с двумя степенями свободы. Зная, что длина каждого из звеньев составляет 1 м, определите системы ко-98
ординат звеньев и найдите °At и ’А2. Для этого манипулятора решите обратную задачу кинематики.
Рис. 2.32. Схема манипулятора с двумя степенями свободы.
2.16.	Предположим, что для манипулятора Пума, показанного на рис. 2.11, при решении обратной задачи кинематики найдены первые три присоединенные переменные (01; 02, 0з) и, кроме того, заданы ‘-‘А/ (i = 1, 2, ..., 6) и °Т6. Используя метод обратных преобразований, найдите последние три присоединенные переменные (04, 05, Эе). Сравните полученное решение с тем, которое дается равенствами (2.3-71), (2.3-73) и (2.3-75).
2.17.	Для стэнфордского манипулятора, изображенного на рис. 2.12, найдите первые три присоединенных угла. Воспользуйтесь любым удобным для вас способом.
2.18.	Решите задачу 2.16 для стэнфордского манипулятора, изображенного на рис. 2.12.
4*
Глава 3.
ДИНАМИКА МАНИПУЛЯТОРА
Никакие усилия не могут предотвратить неизбежное.
Оливер Венд ел Холмс 3.1. ВВЕДЕНИЕ
Предметом динамики манипулятора как раздела робототехники является математическое описание действующих на манипулятор сил и моментов в форме уравнений динамики движения. Такие уравнения необходимы для моделирования движения манипулятора с помощью ЭВМ, при выборе законов управления и при оценке качества кинематической схемы и конструкции манипулятора. В этой главе внимание сосредоточено на выводе и исследовании свойств уравнений движения, пригодных для использования в задачах управления манипулятором. Управление манипулятором осуществляется с целью обеспечения некоторого заранее заданного поведения системы. В общем случае характер функционирования манипулятора зависит от эффективности алгоритмов управления и используемой динамической модели манипулятора. Задача управления включает задачу формирования динамической модели реального манипулятора и задачу выбора законов или стратегий управления, обеспечивающих выполнение поставленных целей. Эта глава посвящена построению модели и исследованию динамики поведения управляемого манипулятора.
Динамическая модель манипулятора может быть построена на основе использования известных законов ньютоновой или лагранжевой механики. Результатом применения этих законов являются уравнения, связывающие действующие в сочленениях силы и моменты с кинематическими характеристиками и параметрами движения звеньев. Таким образом, уравнения динамики движения реального манипулятора могут быть получены традиционными методами Лагранжа — Эйлера или Ньютона — Эйлера. С помощью этих двух методов получен ряд различных форм уравнений движения, эквивалентных в том смысле, что они описывают динамику движения одной и той же физической системы. К ним отноятся уравнения, полученные Уикером [223, 16] с помощью метода Лагранжа — Эйлера; рекуррентные уравнения, полученные Холлербахом [122] с помощью того же метода;
.100
уравнения, полученные Лу [185] методом Ньютона — Эйлера; уравнения, полученные Ли [166] с применением обобщенных уравнений Д’Аламбера. Все эти уравнения различны по форме, поскольку были получены для разных целей. Некоторые из них обеспечивают минимальное время вычисления управляющих моментов в сочленениях манипулятора, другие используются при синтезе и анализе законов управления, третьи применяются для моделирования движения манипулятора с помощью ЭВМ.
Вывод уравнений динамики движения манипулятора методом Лагранжа — Эйлера отличается простотой и единством подхода. В рамках предположения о том, что звенья представляют собой твердые тела, этот подход приводит к системе нелинейных дифференциальных уравнений второго порядка. Бьецци [16], пользуясь для описания кинематической цепи матрицами преобразования однородных координат и уравнениями Лагранжа — Эйлера, показал, что уравнения динамики движения станфордского шестизвенного манипулятора существенно нелинейны и отражают эффекты, связанные с действием сил инерции, обусловленных ускоренным движением звеньев, действием кориолисовых и центробежных сил, а также действием силы тяжести. Более того, действующие в сочленениях силы и моменты зависят от параметров манипулятора, мгновенных значений присоединенных переменных, скоростей и ускорений, а также перемещаемого манипулятором груза. Уравнения Лагранжа — Эйлера обеспечивают строгое описание динамики состояния манипулятора и могут быть использованы для разработки усовершенствованных законов управления в пространстве присоединенных переменных. В меньшей степени они используются для решения прямой и обратной задач динамики. Прямая задача состоит в том, чтобы по заданным силам и моментам определить обобщенные ускорения, интегрирование которых позволяет получить значения обобщенных координат и скоростей. Обратная задача динамики заключается в том, чтобы по заданным обобщенным координатам, скоростям и ускорениям определить действующие в сочленениях манипулятора силы и моменты. Для решения обеих названных задач, как правило, необходимо вычислять динамические коэффициенты hlkm и с,-, определяемые равенствами (3.2-31), (3.2-33) и (3.2-34) соответственно. Вычисление этих коэффициентов требует выполнения очень большого числа арифметических операций. В связи с этим уравнения Лагранжа — Эйлера без дополнительных упрощений практически неприменимы для обеспечения управления манипулятором в реальном времени.
С целью получения более эффективных с вычислительной точки зрения алгоритмов расчета обобщенных сил и моментов некоторые исследователи [6, 185, 233] использовали уравнения Ньютона — Эйлера. Вывод уравнений движения манипулятора
101
методом Ньютона — Эйлера прост по содержанию, но весьма трудоемок. Результатом является система прямых и обратных рекуррентных уравнений, последовательно применяемых к звеньям манипулятора. С помощью прямых уравнений последовательно от основания к схвату вычисляются кинематические характеристики движения звеньев, такие, как линейные и угловые скорости и ускорения, линейные ускорения центров масс звеньев. Обратные уравнения позволяют последовательно от схвата к основанию вычислить силы и моменты, действующие на каждое из звеньев. Наиболее важный результат такого подхода состоит в том, что время, необходимое для вычисления обобщенных сил и моментов, прямо пропорционально числу сочленений, но не зависит от реализующейся в процессе движения конфигурации манипулятора. Это позволяет реализовать простые законы управления манипулятором в реальном времени.
Низкая вычислительная эффективность уравнений Лагранжа—Эйлера обусловлена в основном тем, что для описания кинематической цепи используются матрицы преобразования однородных координат. Уравнения Ньютона — Эйлера обладают большей вычислительной эффективностью, что связано с векторным представлением и их рекуррентной природой. Холлербахом [122] была сделана попытка повысить вычислительную эффективность уравнений Лагранжа — Эйлера за счет их рекуррентной природы. Однако полученные им рекуррентные уравнения потеряли «аналитичность», столь полезную при синтезе управления в пространстве состояний. Для синтеза законов управления желательно иметь в распоряжении замкнутую систему дифференциальных уравнений, точно описывающую динамику движения манипулятора. Кроме того, желательно, чтобы в этих уравнениях можно было легко выделить составляющие, отражающие действие сил инерции различной природы, с тем чтобы выбором закона управления обеспечить их максимальную компенсацию [130]. Еще один подход к формированию эффективной в вычислительном плане системы точных уравнений движения основан на применении принципа Д’Аламбера. Этот подход позволяет получить уравнения движения в векторно-матричной форме, удобной для анализа. Помимо того, что эти уравнения обеспечивают снижение по сравнению с уравнениями Лагранжа — Эйлера вычислительных затрат на расчет динамических коэффициентов, они позволяют различать динамические эффекты, обусловленные вращательным и поступательным движением звеньев, что весьма полезно при синтезе управления в пространстве состояний. Вычислительная эффективность этих уравнений обусловлена использованием для описания кинематики звеньев матриц поворотов и векторов относительного положения.
В этой главе уравнения движения манипулятора получены методом Лагранжа — Эйлера, методом Ньютона — Эйлера, а 102
также с помощью принципа Д’Аламбера. Все три подхода проиллюстрированы на примере простого двухзвенного манипулятора. Так как динамические коэффициенты уравнений движения необходимо определять и в задачах выбора закона управления, и при моделировании движения манипулятора с помощью ЭВМ, для каждой системы уравнений движения найдено число необходимых для их реализации математических операций сложения и умножения. Затраты на вычисление обобщенных сил и моментов с применением обобщенных уравнений Д’Аламбера имеют порядок О(п3), с применением уравнений Лагранжа — Эйлера — О(п4) (при оптимизации — О(«3), с применением уравнений Ньютона — Эйлера — О(«), где п— число степеней свободы манипулятора.
3.2. МЕТОД ЛАГРАНЖА — ЭЙЛЕРА
Полное описание движения манипулятора можно получить, применяя метод Лагранжа — Эйлера для неконсервативных систем. Описав кинематику манипулятора с помощью матричного представления Денавита — Хартенберга, можно, пользуясь лагранжевым формализмом, получить уравнения динамики. Такое совместное использование Д-Х-представления и метода Лагранжа приводит к компактной векторно-матричной форме уравнений движения, удобной для аналитического исследования и допускающей реализацию на ЭВМ.
Вывод уравнений динамики движения манипулятора основан на следующем:
1. На описании взаимного пространственного расположения систем координат i-ro и (i— 1)-го звеньев с помощью матрицы преобразования однородных координат '-'А,. Эта матрица преобразует координаты произвольной точки относительно t-й системы координат в координаты этой же точки относительно (i—1)-й системы координат.
2. На использовании уравнения Лагранжа — Эйлера
d Г dL "I	dL	.	,	г>
-гг Нт---------з— =	тг г=	1,	2,	..., п,
dt L ^<7; J
(3.2-1)
в котором L — функция Лагранжа (L = К — Р), К — полная кинетическая энергия манипулятора, Р—полная потенциальная энергия манипулятора, q, — обобщенные координаты манипулятора, qi — первая производная по времени обобщенных координат, т,-— обобщенные силы (или моменты), создаваемые в i-м сочленении для реализации заданного движения i-ro звена.
Для того чтобы воспользоваться уравнением Лагранжа — Эйлера, необходимо выбрать систему обобщенных координат.
103
Обобщенные координаты представляют собой набор координат, обеспечивающий полное описание положения рассматриваемой физической системы в абсолютной системе координат. Существуют различные системы обобщенных координат, пригодные для описания простого манипулятора с вращательными и поступательными сочленениями. Однако поскольку углы поворотов в сочленениях непосредственно доступны измерению с помощью потенциометров или других датчиков, то они составляют наиболее естественную систему обобщенных координат. В этом случае обобщенные координаты совпадают с присоединенными переменными манипулятора. В частности, если i-e сочленение — вращательное, то qt == 0/, если же i-e сочленение — поступательное, то qt = di.
В излагаемом ниже выводе уравнений движения манипулятора с п степенями свободы используются матрицы преобразования однородных координат, рассмотренные в гл. 2.
3.2.1. Скорость произвольной точки звена манипулятора
Для того чтобы воспользоваться уравнениями Лагранжа — Эйлера, необходимо знать кинетическую энергию рассматриваемой физической системы, а следовательно, и скорости всех ее точек. В этом разделе получены соотношения, определяющие скорость точки, неподвижной относительно i-ro звена, с учетом движения всех сочленений манипулятора.
Рассмотрим произвольную точку, неподвижную относительно i-ro звена и заданную в системе координат i-ro звена однородными координатами ‘гг (рис. 3.1)
(3.2-2)
Обозначим через °гг- координаты этой же точки относительно базовой системы координат. Как и выше, А, обозначает матрицу преобразования однородных координат, определяющую пространственное положение системы координат i-ro звена относительно системы координат (i—1)-го звена, а °А/ — матрицу, определяющую связь между системой координат i-ro звена и базовой системой координат. Тогда связь между °гг и ‘г, определяется соотношением
о 0. I
Г; = А;Г(,
(3.2-3)
где
% =	;“’Аг.
(3.2-4)
104
Если i-e сочленение — вращательное, то, как следует из равенства (2.2-29), матрица ;-1А; имеет вид
	-cos 9Z	— cos az sin 9Z	sin az sin 9Z	az cos 9Z-	
	sin 9Z 9	cos az cos 9Z sin az	— sin az cos9z cos az	az sin 9Z dt	, (3.2-5)
	- 9	9	0	1 -	
Если i-e сочленение — поступательное, то в соответствии с равенством (2.2-31) матрица '-1 А, имеет следующий вид:
cosQj sin 9Z 9
— cos a, sin 9Z cos az cos 9Z sin az
sin az sin 9Z 9 -— sin az cos 9Z 9
cos az dt
(3.2-6)
Рис. 3.1. Точка 'г; i-ro звена.
ляются функциями величин 9/, dj, а/ и а, (/ = 1, 2, ..., i), причем в зависимости от типа /-го сочленения 9/ или d, представляет собой присоединенную переменную этого сочленения, а ос
105
тальные величины являются известными параметрами, определяемыми кинематической структурой манипулятора. Для вывода уравнений движения, описывающих как вращательные, так и поступательные сочленения, мы будем использовать обобщенные координаты qi. Переменная qi совпадает с 0/, если i-e сочленение— вращательное, и с di, если i- сочленение — поступательное.
В рамках предположения о том, что звенья манипулятора представляют собой твердые тела, точка ‘г, так же, как и любая другая точка i-ro звена, имеет нулевую скорость относительно z-й системы координат, не являющейся в общем случае инерциальной. Скорость точки 'г, относительно базовой системы координат может быть представлена следующим образом:
о	а /о \ а \
==°а!а2 ... ‘-1А/Г( + °а!а2 .
V д°^  L~d^ i = \	1
1 А;гг + °А|Г» =
Г/.	(3.2-7)
При выводе этого уравнения использовалось условие ‘п = 0. Частные производные матрицы °А; по переменным qt легко вычислить с помощью матрицы Q,, которая для вращательного сочленения имеет вид
Q-	-0—10	о- 0 0 0 -		,	(3.2-8а)
	1	0 0			
	0	0 0			
	-0	0 0			
а для поступательного сочленения				
	г 0 0 0 0 0 0	о- 0		(3.2-86)
Q	0 0 0	1		
	Lo 0 0	0 -		
Используя эту матрицу, можно написать				
<3‘	-А, —^- = Q<	Az.		(3.2-9)
106
Например, для манипулятора с вращательными сочленениями qt = 0/. Используя равенство (3.2-5), имеем
г—sin 0,- — cos а,-cos 0,- sin а, cos 0,- —а,- sin 0,- п l	i	L	b	b	b	<•
<Эг-1А; cos0, — cosctjSin©, sin аг sin 0г агсоз0;
06z =	0	0	0	di 
0	0	0	0	-
|-0 —10 0-1
1	0 0 0
= о	о о 0	x
Lo	000-
r cos 0, — cos a, sin 0,- sin a, sin 0,- a,-cos0;-i v	b	b	b	b	b	b
sin 0,- cos a, cos 0; — sin a,- cos 0, a.- sin 0,-
X	== Q‘-
0	sin a,	cos a(- d(	1
- 0	0	0	1	.
Таким образом, для г= 1, 2.......п
= Г °а!а2 ... /_2A/_1Q^~1 А/ ... ‘-1А(,
I о,
если
если
(3.2-10)
По смыслу равенство (3.2-10) описывает изменение положения точек г-го звена, вызванное движением в /-м сочленении манипулятора. Для упрощения формул введем обозначение U(7 Д daA(/dqh с учетом которого равенство (3.2-10) можно представить в следующем виде для i = 1, 2, ..., п:
_( °А;-.^Г’Аг,
7 t о,
если
если
(3.2-11)
Используя введенное обозначение, формулу для v, можно представить в форме
Ui = [ f Uz/<7/] Дг.	(3.2-12)
Следует отметить, что частная производная матрицы ‘-'А/ по переменной qt уже не является матрицей преобразования однородных координат. Если рассматривается вращательное сочленение, то умножение матрицы '-‘А,- слева на матрицу Q, экви* валентно перестановке первых двух строк матрицы 'А/ с по» следующим изменением знака всех элементов первой строки на противоположный и обнулением всех элементов третьей и четвертой строк. Для поступательного сочленения эффект такого
107
умножения состоит в перестановке третьей и четвертой строк матрицы '“'А, и последующем обнулении элементов всех строй, кроме третьей. Смысл использования матрицы Q, состоит в том, чтобы сохранить в формулах матрицы ‘-’А, и все операции производить только с ними.
Определим величину, характеризующую эффект взаимодействия сочленений, следующим образом:
дч

' °A/_1Q<-* 1Aft_1Q^"1At-,
• °Aft_1Q^“IA/_1Q;"1Af, - О,
если
если	(3.2-13)
если i < j или i < k.
Например, для манипулятора е вращательными сочленениями при i = j = k = 1 и = 0] имеем
3.2.2.	Кинетическая энергия манипулятоа
Зная скорость произвольной точки каждого звена манипулятора, найдем кинетическую энергию z-ro звена. Обозначим через Ki кинетическую энергию i-ro звена (i = 1, 2, ..., nJ. Пусть dKi обозначает кинетическую энергию элемента массы dm i-ro звена. Тогда
= 7г (х? + у? + й?) d/n = V2 след (UzU[)dm =
= 1/2Tr(U1uDdm.	(3.2-14)
Здесь вместо скалярного произведения используется оператор Тг (след матрицы)1), что в дальнейшем позволит перейти к матрице инерции J, z-ro звена. Подставляя в выражение (3.2-14) значение V,- из равенства (3.2-12), получаем следующее выражение для кинетической энергии элемента массой dm:
dKt = Ч2ТГ [ £ U/ptf‘r. tU^rz] ]dm =
- '/tTr Г £ £ Uj r‘rfUf^p7 1 dm = Lpa=l r~l	J
= Wr [£ £ UZp(‘г^т‘гт{) Wlrqpqr .
(8.2-13)
n
1 Tr А А У a... ----------- Z—i ll
Z-1
108
Матрица Щ- характеризует изменение положения точки i-ro звена относительно базовой системы координат, обусловленное изменением координаты qt. Данная матрица одинакова для всех точек i-ro звена и не зависит от распределения массы в этом звене. Не зависят от распределения массы также и величины су. Таким образом,
= $ dKt = V2 Tr X U(.p ( J dm ) ЩГЧРЯГ •
*-p=l r=l
(3.2-16)
Интегральный член в скобках представляет собой матрицу инерции J, i-ro звена
		j х? dm	\ x.y, dm 1	I	j x{zt dm	j xt dm	
		x.z/z dm	y] dm	yizi dm	di dm	
	г(г[ dm —					
		x.zt dm	ylzi dm	z? dm	гг dm	
		xz dm	Hi dm	z(. dm	f dm	
					(3.2-17)	
Если воспользоваться тензором инерции 1ц, по определению равным
где индексы i, /, k принимают значение xt, г/(- или обозначая оси i-й системы координат, а 6ц— так называемый символ Кро-некера, то матрицу J, можно представить в следующей форме:
	XX	yy	zz 2	xy	^XZ		
j/=	Ixy	XX yy ~E zz 2		midi	
	Ixz		^XX Iyy ^zz 2	tntZt	
	myxi	W-lVi	mzzz		
				(3.2-18)	
Здесь ‘г,- = (хе, у{, zt, 1)т — однородные координаты центра масс i-ro звена в i-й системе координат. Формулу (3.2-18) можно
109
также записать в виде
	—	,9	. ,2	I — fyll "Г *t22 “Г «гЗЗ	feil2		Xl
	2			
ll = tni	^12	^ill “ ^/22 + ^/33 2	fe?23	yi
	k2H3 Xi •	A? , К123 y<	b2 . .2	b2 .til ~i~ Ri'22 ~~ Ri33 2	Zi 1 -
(3.2-19
Здесь Кцк = lik/tn-t и /, k—\, 2, 3, a lrt = (xz, yit ziy l)7 —радиус-вектор центра масс i-ro звена в системе координат i-ro звена. Таким образом, полная кинетическая энергия манипулятора равна
к = S к. = ’/2 i Тг Г t i U,„J,U1 =
1 = 1	1=1	L/7=l Г=1	J
= '/. t f t Щ (Гиу ?,?,].	(3.2-20)
j = l P=1 r=l 1	4 и	r J
Отметим, что величины J; (i=l, 2, ..., n) зависят только от распределения массы i-ro звена в i-й системе координат и не зависят ни от положения, ни от скорости звеньев. Это позволяет, однажды вычислив матрицы J,, использовать полученные значения в дальнейшем для вычисления кинетической энергии манипулятора.
3.2.3.	Потенциальная энергия манипулятора
Обозначим полную потенциальную энергию манипулятора через Р, а потенциальную энергию i-ro звена — через Л. Тогда
Р. = — miguri = — m£g (°А'г,), г= 1, 2.....п. (3.2-21)
Суммируя потенциальные энергии всех звеньев, получаем п	п
p= S	X ~^g(°AFj-	(3.2-22)
Здесь g — (gx, gy, gz, 0) — вектор-строка, описывающая гравитационное ускорение в базовой системе координат. В земной системе координат g = (0, 0, —| g |, 0), a g — ускорение свободного падения на поверхности Земли (g = 9,8062 м/с2).
110
3.2.4.	Уравнения движения манипулятора
Используя равенства (3.2-20) и (3.2-22), запишем выражение для функции Лагранжа
L = >/2 X S t [Tr (U..	+ (°А‘гД (3.2-23)
Г — 1 j = 1 k = 1	i ~ 1
Подставив это выражение в уравнение Лагранжа, получим выражение для обобщенной силы т/, которую должен развить силовой привод i-ro сочленения, чтобы реализовать заданное движение i-ro звена манипулятора
*<=4 [<] - -1г=Z щ auj.) <?. +
f	‘	/=» k=l
+ Е Е £2,..., n.
i=i k=\ m=i	i=i	(3.2-24)
Выражение (3.2-24) можно представить в следующей более простой форме:
И = S ^ikQk + X	+ ci> i — 1, 2, . . П, (3.2-25)
k=l	= l т=\
или в матричном виде
т (/) = D (q (0) • q (0 + h (q (/), q (0) + c (q (/)),	(3.2-26)
где t(Z) — вектор (размерностью «XI) обобщенных сил, создаваемых силовыми приводами в сочленениях манипулятора:
т(/) = (т,(/)> т2(0, .... МОГ;	(3.2-27)
q(Q— вектор (размерностью «XI) присоединенных переменных манипулятора
4(0 = (91(0, 92 (0.9п(0)г;	(3.2-28)
q(/) —вектор (размерностью «XI) обобщенных скоростей
4(0 = (91 (0, 92(0, •••, 9Л0Г;	(3.2-29)
q(/) —вектор (размерностью «ХП обобщенных ускорений
4(0 = (91(0, 92 (0-9Л0Г;	(3.2-30)
D (4) — симметрическая матрица размерностью п X п, элементы которой даются выражением
J0fe=l,2, ..., щ (3.2-31)
111
h(q, q) — вектор (размерностью «ХО кориолисовых и центробежных сил
h(q, ф = (Ль Л2, .... hn)T,
ht= £ £ hlkmqkqm i=l, 2, n,	(3.2-32)
fetal m=l n
hlkm= Z ь Tr(VlkmJ^ i,k, m = 1,2, ...» n; (3.2-33) j^maXti, k, m)
c(q) —вектор (размерностью «ХО гравитационных сил
c(q) = (c1( с2, .... сп)т,
с; = £ (-	4=1,2........п. (3.2-34)
3.2.5.	Уравнения движения манипулятора с вращательными сочленениями
Конкретизация равенств (3.2-26) — (3.2-34) для шестизвенного манипулятора с вращательными сочленениями приводит к следующему виду членов уравнений, определяющих динамику движения манипулятора.
Матрица D(0). Исходя из равенства (3.2-31), имеем
		'Dn	£>12	£>i3	£>14	£>15	£>i6	
		^12	£>22	£>23	£>24	£>25	£>26	
		^13	£>23	£>33	£>34	£>35	£>зб	
	D(0) =	£>.4	£>24	£>34	£>44	£>45	£>46	(3.2-35)
		£>15	£>25	£>35	£>45	£>55	£>56	
		_ £>ie	£>26	£>зб	£>46	£>56	£>66 _	
где								
= 7’r(U11J1U[1) + T'r(U21J2U|'I) + Tr (U31 J3U[,) + Tr (U4lJ4Ur)4-
+ ^(и5Ж1) + ^(и61Ш1)>
£>l2 = D2i = Tr (U22J2U[.) + Tr (U32J3U(t) + Tr (U42J}U[,) +
+ ^(^u=r.) + ^(W.
£>13 = D3l = Tr (U33J3U[,) + Tr (U43J4U{t) + Tr	+
+ 7’r(U63J6^1),
Du = D41 = Tr (U44J4V^ + Tr (U54JM) + Tr (U64J6U6T).
D15 = D5l =	(иди?.).
112
O»=Dsl = ^(>J«JSU.r1).
oa - Tr (imm)+Tr <адед+Tr (W>+Tr twa+
+ rr(Ue,J«U£).
0„ =	= Tr (и» J,ua + Tr (u41J4ua + Tr (UBJSU£) +
+aw
d„ - 0„ - Tr (U44J4ua + Tr (US4JSUJ) + Tr (ut) W1), о» - oK - T' (ВД1Щ + Tr (U„ J,u,y,
0M=Tr (UBJM) + Tr (ua.ua + Tr (uBjsua + Tr (UMJ6UJ),
DM - = Гг (U44J.ua + Tr (US4Jsua + Tr (UsAua, о» - °M -Tr +T' (адвд.
o„=o»=r>-(u„j.ua.
o„=(и<ди«)+Tr (ЧАиа+т' ( u«. wj.
o«- A. - т' (AA Ar<) + Tr (и,лиу.
D„-D„-Tr(y№StVl,),
0я = Тг{Ма1^) + Тг(уМ),
Dx=D„ = Tr(VM),
О«-Тг(и„гиа.
Вектор h(0, 0). Коэффициенты при обобщенных скоростях в выражениях (3.2-32), (3.2-33) для центробежных и кориолисовых сил можно сгруппировать в матрицы Н(, v следующего вида:
	^Zll	Л/12	кцз	^1(14	^Z15	16	
	Л/12	hi22	^123	hi24	^/25	^126	
	кцз	^123	^i33	hi34	^i35	^<36	
Нц V —	hiu	^124	^134	^144	h-i45	^/46	,	4=1,2	6.
	has	^125	hi3Z		^/55	^/56	
	_ ^ti6	^1'26	^/36	hue	^/56	^/66 _	(3.2-36)
Пусть скорости изменения всех шести присоединенных переменных манипулятора характеризуются вектором 0:
9(0 = [91(0> ё2(0,...» 06(О].	(3.2-37)
113
С учетом (3.2-36) и (3.2-37) равенство (2.2-32) можно представить в виде следующего произведения матриц и векторов:
ht = 97’HjjV0.	(3.2-38)
Здесь индекс i указывает номер сочленения (г=1, 2, ... 6), в котором измеряются моменты и силы центробежного и кориолисового типа. Рассматривая (3.2-38) как выражение для компоненты шестимерного вектора h (0, 0), можем написать
0rHlv0 0гН2! v0 6rH3>v0 0ГН4> v0 (FH5,v0 0rH6i v0
(3.2-39}
Вектор гравитационных сил с(0). Из равенства (3.2-34) имеем
с(0) = (с1; с2, с3, с4, с5, с6)г,	(3.2-40}
где
С1 = - (т1ёи! 71 + m2gU272 + тзёЧ7з + m4gU174 + т5§и11Г5 + +
С2 = - (m2gU272 + 'М’^З + m4gU42r4 +	+ m6gUl76)>
С3 == - ('МЧз'з + т#и4з7 +	+ m6gU63r6)>
С5=-(^и557 + ^и^б)>	'
Се “ meg^66r6 •
Коэффициенты 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 определяет момент (или силу), возникающий в г-м сочленении под действием ускорения в fe-м сочленении.
Поскольку матрица инерции симметрична и Т'г(А) =7'г(А7'), можно показать, что Dik = Dki.
3.	Коэффициенты hikm, определяемые равенствами (3.2-32) и (3.2-33), устанавливают связь действующих в сочленениях сил и моментов со скоростями изменения присоединенных переменных. Коэффициент hikm определяет связь момента, возникающего в г-м сочленении в результате движения в fe-м и m-м сочленениях, со скоростями изменения fe-й и m-й присоединенных переменных. В частности, при k = m коэффициент h-ikk связывает угловую скорость в fe-м сочленении с порождаемой ею центробежной силой, «ощущаемой» в г-м сочленении. Если k = т, то hikm связывает кориолисову силу, возникающую в г-м сочленении, со скоростями изменения fe-й и m-й присоединенных переменных, в результате которого эта сила возникает. Отметим, что в соответствии с физическим смыслом /гг*т = /ггт*.
При вычислении рассмотренных коэффициентов полезно знать, что некоторые из них могут иметь нулевые значения по одной из следующих причин:
1.	Конкретная кинематическая схема манипулятора может исключать динамическое взаимовлияние движений в некоторых парах сочленений (коэффициенты £>ц, hikm)-
2.	Некоторые из коэффициентов hikm присутствуют в формулах (2.2-32) и (3.2-33) чисто фиктивно, будучи нулевыми в соответствии с физическим смыслом. Так, например, коэффициент hut всегда равен 0, поскольку центробежная сила, порождаемая движением в г-м сочленении, на само г-е сочленение влияния не •оказывает, хотя и влияет на другие сочленения, т. е. hju =И= О при j =И= г.
3.	Некоторые из динамических коэффициентов могут принимать нулевые значения в отдельные моменты времени при реализации определенных конфигураций манипулятора.
Уравнения движения манипулятора (3.2-26) — (3.2-34) представляют собой систему нелинейных обыкновенных дифференциальных уравнений второго порядка. Эти уравнения учитывают все действующие на звенья манипулятора силы и моменты: инерциальные, центробежные, кориолисовы и гравитационные. При заданных в виде функций времени моментах (силах) п (i = = 1, 2, ..., п) одновременным интегрированием всех входящих в (3.2-26) уравнений можно получить описание реального дви
115
жения манипулятора в форме зависимостей от времени присоединенных переменных q(Z). Далее, используя соответствующие матрицы преобразования однородных координат, по известной вектор-функции q(Z) можно определить зависимость от времени положения схвата манипулятора (траекторию схвата). Или если с помощью программы выбора траектории получены в форме заданных функций времени законы изменения присоединенных переменных, их скоростей и ускорений, то с помощью равенств (3.2-26) — (3.2-34) можно определить зависимость от времени т(/) моментов, которые должны быть созданы в сочленениях для реализации выбранной траектории движения манипулятора. В этом случае мы будем иметь дело с задачей программного управления. Однако для автономных робототехнических систем более предпочтительным является управление с обратной связью. Этот вопрос рассмотрен в гл. 5.
Вследствие матричной структуры уравнения Лагранжа — Эйлера в задачах управления с обратной связью, где они используются для описания состояния управляемой системы, применяются в форме (3.2-26). Такая форма допускает выбор закона управления, устраняющего все нелинейные эффекты. Достаточно часто при разработке замкнутой системы управления манипулятора динамические коэффициенты выбираются таким об-
Таблица 3.1. Вычислительные затраты на реализацию уравнений движения в форме Лагранжа — Эйлера ’>
Составляющие уравнений движения	Число операций умножения	Число операций сложения
ч	32я (n — 1) 4n (9n — 7)	24я (я — 1) 51 п — 45 П 2
	0	l/2n (п — 1)
Тr kk (Uki) ]	(128/3) я (я + 1) (^ + 2)	(65/2) п (п + 1)(я + 2>
J Tr[Uk/Jk(Ukl)T] fc = max(C /) Tr [UmjkJm (Umi) ]	0 (128/3) n2(n + l)(n+2)	(1/6) п (п - 1)(я+ 1) (65/2) я2 (л + 1)(я4-2)
TГ [UmjkJm m=max(i, f, fe)	0	(1/6) я2 (я — 1) (я + 1)
т = D (g) q + h (q, q) + c (<?)	(128/3) «4(512/3) n3+ (98/3) n4 + (781/6) n3+
+ (844/3) n2 + (76/3) n + (637/3) n2 + (107/6) n
4 n—число степеней свободы манипулятора.
116
разом, чтобы минимизировать нелинейные эффекты, связанные с кориолисовыми и центробежными силами [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
Относительно рассматриваемого манипулятора будем предполагать следующее:
•	присоединенными переменными являются углы 91, 9г;
•	первое и второе звенья имеют соответственно массы т( и т2;
•	параметры звеньев имеют значения ои — а2 = 9, di = d2 — = 0, а\~ а.2-1- В соответствии с рис. 3.2 и полученными в предыдущих разделах соотношениями для матрицы ‘-'A, (i = 1, 2) имеем
°А,=
г с, S. о - о
S.
С. о о
О
О
1
О
о* 0.1*
А2 = AiA2 =
1СХ -
о
1 -
- с12
S12 о - о
где Ct = cos 9;; Sz = sin0,-; Cz/ = cos (9Z	9Д; SZi- — sin (9Z -f- 9;).
В соответствии с определением матрицы Qi для вращательного сочленения имеем
"О —10 0"
10 0 0
0	0 0 0’
0	0 0 0
Используя выражение (3.2-11), получаем
	~0 —1 0 0“	'С
II	<?° А;  П°А U1I3=^0T-Q1A,=	1	0 0 0 0	0 0 0	S 0
	_0	0 0 0_	_0
— 5, 0 1С\~
0 ISi
0 1 0
0 0 1
"-$! —Ci 0 — isr С, -5, 0 + ICi 0	0 0	0
0	0 0	о
118
Аналогично для U2, и U22 получаем
u2I = ^=q',A2 =
0U[
’О
1
о о
-1
о о о
о о о о
О’ о о о
С,2
S,2 О о
$12
Cl2 о о
о о
1
о
/(С12 + С,)-
I С$12 И-
о
1
^12
_	С,2
~	о
о
и -a°A2
и 22
о о о о
- / (S,2 + <8'г)“ Z (С12 ч- С,) о о
<502 "С,
S.
о
_0
S12
С,2 о о
— С12
s12 о о
= °A1Q' А2 = •
-S, Cl о
о
О О
1
О
— С[2 S12 О о
/С,“
/S, О 1
о -о о
о
’О
1 о о
—1
о о о
о о о о
0“ о о
0_
32 о
_0
-S2 с2 о о
о о
1
о
/с2
IS2 о о _
— ^12 lCi2 о о
в предположении о равенстве
нулю всех
Из равенства (3.2-18)
центробежных моментов инерции получаем формулу для матрицы псевдоинерции
J
J1 —
“ 1/3/и,/2 о о
_ —1/2/71,/
О О О О
О О О О
— 1/2/71,/ о о
/71,
. J2 —
’ 1/Зт2/2 О О _ — 1 /2т2/
о о о о
о о о о
— 1 /2т2/
о
о
т-2 _
Используя формулу (3.2-31), получаем
Dn = Т2 (U и JiUn) + Т2 (U2i J2U2?i) =
- -5: с о о
-С,
-S, о о
О
О О
О
—/S,- -1С
о о
1/Зт,/2 о
о
_ — 1/2/тг,/
о
о о о
о о о о
— 1/2/71,/“
о о /71,
U'n
119
-С12	О - I (S12 + S.) -
S12	О	I (C[2 + CJ
0	0	0
0	0	0
l/3m2/2 0
0	0
0	0
-X^rn^l 0
Для определения слагаемых, описывающих центробежное и кориолисово ускорение, воспользуемся равенством (3.2-32), Для i = 1 оно дает
2	2
/1-1 — 22 22 h-lkmQkQm — /llllOl + Л112О1О2 + /11216102 + /1122 0 2. k=1т=1
С помощью (3.2-33) можно получить значения коэффициентов hikm- Подставляя их в предыдущее выражение, имеем
hr = —— /Иг^г^бДг.
Аналогично для i = 2
Л2 = 22 22 hzkmQkQm — /121161 + Л2126162	Л2216261 -|- /122262 =ч
k = 1 т = 1
= l/2m2S2/26?.
Таким образом, —	62 — /H2S2/ 6162
1/2т252/261
h(0, 6)=
120
Запишем теперь слагаемые, определяющие влияние гравитацион ных сил с = (ci, с2)т. На основании равенства (3.2-34) имеем
С\ = — («[gUiiri + m2gU2ir2) =
		-с, о —isr		--Z/2-	
= — mx (0, — g, 0, 0)	Ci	-S, 0	zc,	0	
	0 0	0 0 0 0	0 0	0 1	
— /722 (0, — g, 0, 0)	i	i 1 о о С) Co tO to о о Co СЭ to to О о о о		— 1 (Cj2 + 5)) ЦС12 + CJ 0 0		~-l/2-0 0 1		—
= \!2tnxglCx + l/2m2glCX2 + m2glCx,							
c2 = — m2gU22r2 = = — m2 (0, — g, 0, 0)		О> (N Cj Co о 1 1 (N (N co Cj O 1 1		0 -IS12' 0	ZCI2 0	0	—	Z/2-0 0	=	
		o 0	о о		1		
—	^2 (l/2g'^C12 glCi2).
Таким образом, нами получен вектор, определяющий влияние силы тяжести:
l/2m1(g7Ci -f- \]2m2glCX2 -|- т^1Сх l/2m2glCl2
Окончательно имеем следующие уравнения, описывающие динамику движения рассмотренного двухзвенного манипулятора:
r(t) = D(0)0(t) + h(0, О) + с(0),
Г ?! Л Г 1/Зт^2 + AI3m2t2 -f- m^CJ2 I/Smj2 + l/2/zz2Z2C’2 "1 Г 9, lr2J L l/3m2Z2 + l/2m2Z2C2	l/3m2Z2 . J |_ ё2
’ — l/2m2S2Z202 — m2S2Z20i02 ‘
L l/2m2S2Z0? J
Г \/2mxglCx + \/2m2glCi2 + m2glCx '
+ L	\/2m2glCi2
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*) — тройки единичных векторов, направленных вдоль основных осей систем OXYZ и OX*Y*Z* соот
ветственно. Положение
точки г, неподвижной относительно системы координат OX*Y*Z*, можно описать следующими двумя способами:
г — xi + у] + zk,	(3.3-1)
или
г = х* Г + /j* + z*k*.	,	(3.3-2)
Найдем скорость точки г. Поскольку рассматриваемые системы координат вращаются относительно друг друга, скорости точки r(Z) будут различны в этих системах. В дальнейшем будем различать скорости произвольной точки в системах координат OXYZ и OX*Y*Z*, используя следующие обозначения:
---скорость в неподвижной системе координат OXYZ;
(3.3-3)
—-т—— скорость в подвижной вращающейся системе (3.3-4) at координат OX’Y*Z*.
Из выражения (3.3-1) получаем скорость точки г(/) в системе OXYZ-.
А = xi -j- у\ + zk + х ~ + у -^- + z-^- = xi + yj + zk. (3.3-5)
123
Дифференцируя равенство (3.3-2), получаем скорость точки г (О в системе координат OX*Y*Z*:
= x*l* + i/*j* + z*k*. (3.3-6)
С учетом равенств (3.3-2) и (3.3-6) можно получить следующее выражение для скорости точки г(/) в системе координат OXYZ:
dF = xl +У] +zk +x -lr + y ~^ + Z	(3.3-7)
Здесь мы сталкиваемся с трудностью вычисления производных d\*/dt, dy*/dt и dk*/dt, обусловленной тем, что векторы Г, j*, к*
Рис. 3.4. Скорость во вращающейся системе координат.
вращаются относительно векторов 1, j, к.
Чтобы найти соотношение между скоростями точки г в неподвижной и вращающейся системах координат, предположим, что система OX*Y*Z* вращается вокруг некоторой оси OQ, проходящей через точку О, с угловой скоростью со (рис. 3.4). Угловая скорость вращения системы координат OX*Y*Z* представляет собой по определению вектор длины io, направленный вдоль оси OQ в соответствии с правилом правой руки. Рассмотрим вектор s, неподвижный относительно системы OX*Y*Z*. Покажем, что скорость точки, положение которой задается вектором s, в системе координат OXYZ равна
-g- = o>Xs. (3.3-8)
Поскольку производная вектора определяется равенством ds s(f4-AO — s (0	/
Т77 = lim —------Xf------’	(
dt д<->0
справедливость выражения (3.3-8) можно доказать, убедившись, что
0)Xs= lirn s(^ + ^~s-^.	(3.3-10)
At->0
124
Учитывая, что равенство векторов обеспечивается совпадением их длин и направлений, покажем, что векторы в левой и правой частях равенства (3.3-10) одинаковы по величине и их направления совпадают. Длина вектора <t>Xs равна
| « X s | = со • s • sin 0.	(3.3-11)
Если величина Ы достаточно мала, то из рис. 3.4 очевидно, что | As | = (s sin 0) (со А/).	(3.3-12)
Тем самым доказано равенство длин векторов в левой и правой частях равенства (3.3-10). В соответствии с определением векторного произведения вектор со X s перпендикулярен вектору s и лежит в плоскости окружности, изображенной на рис. 3.4.
Применив формулу (3.3-8) к единичным векторам 1*, j*, к*, из равенства (3.3-7) получаем
4 = 4г + X (Ш х 1*) + У (® X Г) + X к) = 4г + w X Г.
(3.3-13)
Это основное соотношение, определяющее связь между скоростями одной и той же точки во вращающейся и неподвижной системах координат. Продифференцировав левую и правую части равенства (3.3-13), имеем
d2r d Г d*r 1	. . dr , da . .
-^ = дгИ/г1 + й>< dT + ^rXr =
5' + 2иХ4г + иХ(6’Хг) + дГХг- (3-3'14)
Равенство (3.3-14) представляет собой теорему Кориолиса. Первое слагаемое в правой части этого равенства представляет собой ускорение рассматриваемой точки в системе OX*E*Z*. Второе слагаемое описывает кориолисово ускорение. Третье слагаемое есть центростремительное ускорение, направленное к оси вращения и перпендикулярное ей. Четвертое слагаемое исчезает при постоянной угловой скорости.
3.3.2.	Подвижные системы координат
В этом разделе мы рассмотрим подвижные системы координат, которые могут участвовать как во вращательном, так и в поступательном движениях относительно некоторой неподвижной инерциальной системы координат. На рис. 3.5 изображена подвижная система координат O*X*y*Z*, которая совершает вращательное и поступательное движения относительно инерциальной системы координат OXVZ. Положение материальной
125
точки р, обладающей массой т, относительно систем координат OXYZ и O*X*Y*Z* задается векторами г и г* соответственно. Положение точки О* в системе координат OXYZ определяется вектором h. Соотношение между векторами гиг* дается выражением (см. рис. 3.5)
r = r* + h.	(3.3-15}
Если система координат O*X*Y*Z* движется относительно системы OXYZ, то
v^=4r + 4r = V + vft.	(3.3-16)
где V* и v — скорости точки р в системах координат O*X*Y*Z* и OXYZ соответственно, a vh— скорость подвижной системы ко-
рне. 3.5. Подвижная система координат.
ординат1’ O*X*Y*Z* в инерциальной системе OXYZ. С учетом равенства (3.3-13) выражение (3.3-16) можно представить в виде
dr* . dh d*r* .	. . . . dh	,o o
V^ = —+ щ- = “+“Хг +—'	(3-3'17>
Аналогично ускорение точки р относительно системы координат OXYZ можно представить в виде
... dv (0 d2r* . <72h	,	з о io\
=	щГ = а +a*’	3-3'18>
где а* и a — ускорения точки p в системах координат O*X*Y*Z* и OXYZ соответственно, а а>,— ускорение системы координат
*> Имеется в виду скорость точки О*. — Прим, перев.
126
O*X*Y*Z* в инерциальной системе координат OXYZ. С учетом (3.3-14) равенство (3.3-18) можно представить в виде
,,	d*2r* . „ . , d*r' .	... . , ». . de> . . » . <72h '
a(/) = -^ + 2®X-^r + ®X(®Xr) + 7rXr +-^-.
(3.3-19)
Полученные соотношения для подвижных систем координат мы в дальнейшем применим к системам координат звеньев манипулятора, определенным нами в главе, посвященной кинематике манипулятора. Уравнения движения выведем,'применяя к таким подвижным системам координат принцип Д’Аламбера.
3.3.3.	Кинематика звеньев
В этом разделе мы выведем уравнения, основывающиеся на полученных выше соотношениях для подвижной системы координат и описывающие кинематику звеньев манипулятора в базовой системе координат.
Напомним, что ортонормированная система координат (x,~i, y,_i, z/-i) связана с осью i-ro сочленения (рис. 3.6). Системы координат (х/—1, y,-i, z,_i) и (х,. у,-, z,) связаны с (i—1)- и Z-м звеньями и имеют начала в точках О* и О' соответственно. Положение точек О' и О* в базовой системе координат определяется векторами р, и p,i соответственно. Относительное положение точек О' и О* характеризуется в базовой системе координат вектором Р-= р,- — pz_j.
Предположим, что система координат (хг_i, yz—i, z,-i) имеет относительно базовой системы координат (х0, уо, z0) линейную скорость Ve-_] И угловую скорость (0,-1. Пусть <ог и со*— угловые скорости точки О' в системах координат (х0, уо, Zo) и (x(~i, yt—x, z,-i) соответственно. Тогда линейная скорость v, и угловая скорость со, системы координат (х,-, у,-, z,) относительно базовой системы координат с учетом равенства (3.3-17) определяются выражениями
d р,
v^^ + ^.Xp’ + Vm-	(3.3-20)
и. =	+ «>;,	(3.3-21)
где d* () /dt означает скорость в движущейся системе координат (х,-1, у,-1, z,-]). Линейное ускорение V,- и угловое ускорение О), системы координат (х,, у,, z() относительно базовой системы координат с учетом равенства (3.3-19) определяются выраже-
127
НИЯМИ
rf*2p’ .	.	Zp‘
•	Ц=^ + й1-1Хр- + 2й/_1Х^ +
+ ®i.1X(®1_1Xp;) + Uf_1)	(3.3-22)
и.—	+to*.	(3.3-23)
Пользуясь равенством (3.3-13), находим угловое ускорение системы координат (xi, yi, z() относительно системы координат (Хх-ь Ум. Zz-1):
/о-
й^^ + й^Х®’.	(3.3-24)
В результате равенство (3.3-23) можно представить в следующем виде:
d'a,
+ + <3-3-25)
Как уже говорилось, системы координат (xz—i, ум, zm) и (хг, у,, Z,) в соответствии с алгоритмом формирования систем координат звеньев манипулятора связаны с (г—1)-м и г-м звеньями соответственно. Если г-е сочленение — поступательное, то г-е звено совершает поступательное движение вдоль оси Zi-i со скоростью qi относительно (г—1 )-го звена. Если г-е сочленение— вращательное, то г-е звено вращается вокруг оси z,-i с угловой скоростью и* относительно (г—1)-го звена. Таким образом,
f Z/_[<7i, если г-е сочленение — вращательное;
и* = т _	.	(3.3-26)
‘	(. 0, если г-е сочленение — поступательное.
Здесь qt—величина угловой скорости вращения г'-го звена относительно системы координат (хм, у<-ь гм). Аналогично
/ш’	( 7ч-.\С11, если г-е сочленение — вращательное;
—> г.	•	(3.3-27)
dt ( 0, если г-е сочленение — поступательное.
С учетом равенств (3.3-26) и (3.3-27) формулы (3.3-21) и
(3.3-25) могут быть представлены в следующем виде:
( и,-, + ^i_xqi, если г-е сочленение — вращательное;
й, = S
1 й;_ь	если г-е сочленение — поступательное:
(3.3-28)
И/_| + Zz_!<7z + иг_! X (zi_i7i), если г-е сочленение — вращательное;
если г-е сочленение — поступательное.
(3.3-29)
й
и.
128
С учетом равенства (3.3-8) линейные скорость и ускорение i-ro звена относительно (i—1)-го можно представить в следующем виде:
dp*	Г X Р*> если z’e сочленение — вращательное;
dt	I гг_|<7;, если г-е сочленение — поступательное.
(3.3-80)
d*©*
.2 • ~ЙГ X Pi + X X р‘)> если z-e сочленение —
р	иГ
=	вращательное;
если z-e сочленение — поступательное.
(3.3-31)
Используя равенства (3.3-30) и (3.3-21), выражение (3.3-20) для линейной скорости z-ro звена относительно базовой системы координат можно представить в виде
' X Р- + vp	если г-е сочленение —
вращательное;
г	(3 3-32)
1 zi-\Qi + ®г X Pz + vz_|; если г-е сочленение— ' ’	’
k	поступательное.
С учетом следующих свойств векторного произведения:
(а X b) X с = b (а • с) - а (Ь • с),	(3.3-33)
а X (b X с) = b (а • с) — с (а • Ь)	(3.3-34)
и равенств (3.3-26) — (3.3-31); выражение (3.3-22) для линейного ускорения звена i относительно базовой системы координат преобразуется к виду
' «>. X Р* + ®г X (®(- X Р*) + v£_p если г-е сочленение — вращательное;
V/ ~ * Zz-i<7z + X р; + 2й. X	® X X Р*) + vz_p
«.	если г-е сочленение — поступательное.
(3.3-35)
Заметим, что он — ю,_|, если г-е сочленение — поступательное. Равенства (3.3-28), (3.3-29), (3.3-32) и (3.3-35), описывающие кинематику движения г-ro звена, потребуются нам при выводе уравнений динамики манипулятора.
3.3.4. Рекуррентные уравнения динамики манипулятора
Основываясь на полученных выше кинематических соотношениях, в этом разделе мы воспользуемся принципом Д’Аламбера для вывода уравнений динамики движения манипулятора.
5 К. Фу и др.
129
Принцип Д’Аламбера позволяет применить известные условия статического равновесия к задачам динамики за счет рассмотрения (наряду с внешними действующими на механическую систему силами) сил инерции, препятствующих движению. Принцип Д’Аламбера выполняется для механической системы в любой момент времени. По сути это несколько модифицированный второй закон Ньютона, формулируемый следующим образом:
Алгебраическая сумма внешних сил и сил инерции, действующих на тело в любом направлении, равна нулю.
Рассмотрим i-e звено (рис. 3.7). Пусть точка О' совпадает с центром масс этого звена. Устанавливая соответствие между рис. 3.6 и 3.7, введем следующие обозначения (все векторы заданы в базовой системе координат):
гщ	— масса i-ro звена;
г£	— положение центра масс i-ro звена в базовой
системе координат;
s£	— положение центра масс i-ro звена относи-
тельно начала системы координат (х<, у:, z,);
р* -	— положение начала i-й системы координат от-
носительно начала (i—1)-й системы координат;
— dr,
=	— линейная скорость центра масс i-го звена;
а£ = dvJdt	—линейное ускорение центра масс i-ro звена;
F£	— суммарная внешняя сила, приложенная к
центру масс i-ro звена;
N£	— суммарный момент внешних сил, приложен-
ных к i-му звену;
1£	— матрица инерции i-ro звена относительно
его центра масс в базовой системе координат (Хо, Уо, ZO);
f£	—сила, с которой (i—1)-е звено действует на
i-e звено в системе координат (хг--1, уг—i, zz-i);
n£	—момент, вызванный действием (i—1)-го зве-
на на i-e звено в системе координат (x(-i, y/-l, Z;-1).
Пренебрегая силами трения в сочленениях, получаем, применив принцип Д’Аламбера к i-му звену:
d (m.v.)	-
F> =-	=	(3.3-36)
X	(3.3-37)
130
Рис. 3.7. Силы и моменты, действующие на i-e звено.
5*
131
Входящие в эти формулы линейные скорость и ускорение центра масс z-ro звена в соответствии с равенствами (3.3-32) и (3.3-35) определяются выражениями ')
V, = иг X sr- + vh	(3.3-38)
а,, = й/ X	X (®z X s£) + vh (3.3-39)
Суммарные сила F, и момент N,-, приложенные к z’-му звену, обусловлены действием на него силы тяжести, а также сил со стороны соседних (i—1)-го и (i Д 1)-го звеньев. Таким образом,
F/ = f/-fz+i.	(3.3-40)
N/ = П/ — п/+1 + (р/_1 — г,) X f(- — (р/ — Г/) X Ъ+1 = (3.3-41)
= П/ ~ n,.+1 + (р^ - rz) х Ft - р* X f/+I.	(3.3-42)
Эти уравнения можно представить в рекуррентной форме, воспользовавшись тем, что
J/ = F/ + f/+i = Ш/й/ + f£+i,	(3.3-43)
П/ = n;+1 + р; х f/+1 + (Р* + S/) X F/ + Nt..	(3.3-44)
Полученными уравнениями, имеющими рекуррентную форму, можно пользоваться для вычисления сил и моментов (Т, п() (i — 1, 2, ..., /г), действующих на звенья /г-звенного манипулятора. Для этого достаточно учесть, что fn+1 и n„+i представляют собой соответственно силу и момент, с которыми объект манипулирования действует на схват манипулятора.
Из приведенного в гл. 2 алгоритма формирования систем координат звеньев и кинематических соотношений для соседних звеньев следует, что если i-e сочленение —вращательное, оно реализует поворот на ф радиан в системе координат (x/-i, у/_ь zt-i) вокруг оси Zz-i. Поэтому момент, создаваемый приводом i-ro сочленения, должен быть равен сумме проекции момента п,- на ось z/_i и момента вязкого трения в i-м сочленении. Если же i-e сочленение — поступательное, оно реализует смещение на qt единиц длины относительно системы координат (x,_i, y,_i, z,_t) вдоль оси z/-i. В этом случае сила т/, создаваемая в этом сочленении, должна быть равна в системе координат (xz~i, у/_ь Z/_|) сумме проекции силы f£ на ось Zz—i и силы вязкого трения. Таким образом, момент (сила) т», создаваемый приводом i-ro
Здесь (х/, у/, z,) — подвижная система координат.
132
сочленения, определяется формулой
( n[z;_j bg:^, если i-e сочленение — вращательное.
1»^ ,_г~ । у
I tiZi-i + biqi, если i-e сочленение — поступательное,
(3.3-45) где bi — коэффициент вязкого трения в i-м сочленении.
Если основание манипулятора закреплено на платформе и 0-е звено неподвижно, то <о0 = ©о = 0, v0 — 0, и с учетом силы
тяжести
v0 = g =
' Sx'
-Sz-
где I g ! = 9,8062 м/с2.
(3.3-46)
В заключение отметим, что уравнения Ньютона — Эйлера, описывающие движение манипулятора, представляют собой си-
Таблица 3.2. Рекуррентные уравнения движения в форме Ньютона — Эйлера
Прямые уравнения: I = 1, 2, ..., п
( ок	+	если i-e сочленение — вращательное;
1 I (о.	если i-e сочленение — поступательное;
V I —!
{a. -J- z, .й.4-®- ,X(z- ,<?•)> если г’е сочленение — враща-Ь 1 I II I “* *	\ X 1 t г
тельное;
о.	если Ье сочленение — поступа-
1—1
тельное;
( й. X Р* + ®; X (®, X Pi) + v;_p если г-е сочленение — враща-
|	тельное;
+ “i X Р* + 2®, X (^_^{) +
4- <0; X (®£ X р;) + vz_(,	если i-e сочленение — посту-
пательное;
а, = ®, X s. 4-®. X (®; X s;) 4-v .	. 
»	I	Ь	Z	V t	«'Z	I
Обратные уравнения: i = а, п — 1, ...« 1	,	<
N/=‘IA + ®ix(W
+ w	” •
п/ = ni+i + Р* Х fi + ! + (р‘ + Sf) X F, + Ni(
(	если i-e сочленение — вращательное,
L = 1 т
f( z; _j 4-если i-e сочленение — поступательное,
где Ь‘ — коэффициент вязкого трення в i-м сочленении.
Обычно начальные условия с учетом действия силы тяжести имеют следующий вид: «>о = ®п = vo = 0; v0 = (gx, gy, gzf, причем | g 1 = 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;, а также геометрические параметры (r(, sp рг_р р‘), будучи выраженными относительно базовой системы координат, меняются в процессе движения манипулятора. Лу и др. [185] усовершенствовали рассматриваемый метод, перейдя в уравнениях движения к скоростям, ускорениям, матрицам инерции, векторам положения центров масс звеньев, силам и моментам, выраженным относительно систем координат соответствующих звеньев. Это позволило сильно упростить вычисления. Особенно важно, что время вычисления управляющих моментов при использовании указанным образом модифицированных уравнений движения линейно пропорционально числу сочленений и не зависит от реализующейся в процессе движения конфигурации манипулятора. Это дает возможность реализовать алгоритм управления манипулятором в реальном времени в пространстве присоединенных переменных.
Пусть — матрица поворота, имеющая размерность 3X3 и преобразующая произвольный трехмерный вектор из 134
системы координат (хг, у/, zz) в систему координат (xz-i, у,_1( Zi-i). Матрица Z-IR< является верхней левой подматрицей матрицы z-1Ai.
Выше было показано, что
	(г-ЧГ! = ‘ад =(г-'кУ, .	(3.3-47)
где	~ cos 0; —cosazsin0t- sin at sin 6, ~ *~lR(. = sin 0Z	coscij.sinO; — sinazcos0£	, (3.3-48)
	0	sin a£	cosa£ cos 9г	sin6z	0 [^’R.] == — cos az sin 0,- cos a, cos0£ sin az sin a£ sin 0г —sin a, cos 0; cos a; _	. (3.3-49)
Вместо вычисления м,, ok, vz, а;, р*, sz, Fp Nz, пг и т;, заданных в базовой системе координат, будем вычислять %уг, ‘Roa,-, ‘ROFZ, ‘RONZ, ‘Rot,-, ‘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) примут соответственно вид
‘Ro®,- =
=‘
‘Ri-tC *Ro®f-i + z0<7z), если i-e сочленение—, вращательное;
‘Ri-,1 (<-lRo®i-i)> если i-e сочленение — поступательное;
(3.3-50)
R/-i [ Ro®/-i + Zo<7z + ( Ro®i-i) X z(/hl> если i-e сочленение — вращательное;
‘R^, (‘“'Ro®;-]), если i-e сочленение — поступа- . тельное;
(3.3-51)
'Rov, =
Сад) x сад)+Сад.) х [С ад) х сад;)]+ + ‘Rf^ С~1 RoV<-1), если i-e сочленение — вращательное;
Ч-, (м. +	+С«а) х СМ +
~Т 2 (гR0®z) X ( Rf~izo7i)
+ Сад/)Х[СадОхСад)]’ если сочленение — поступательное;
..............-		(3.3-52)
135
zRoat- = CRoWl) x CRoS,) + (‘Ro®,) X [('Ro®,-) X C'RoS,)] + ‘RoVz, (3.3-53)
'RoFz = mzRoaz,	(3.3-54)
'R0N, = ('RoIzRz) (‘Ro®/) + ('Ro®,) X [CRoI/Rz) ('Ro®,)], (3.3-55) ‘Rof/ = ‘Rz+i C+1 ад+1) + 'RoFz.	(3.3-56)
'ад=Ч+1 ГЧад + C+1RoP’) X ГмЛ +
+ ('Rop; + 'ад) x сад) + ад,	(3.3-57)
'(‘Ron,)r (‘Rz-izo) + biqi, если z-e сочленение — вращательное;
xi—\ in t \т/in \ 1 l •	•	(3.3-58)
,	1 RoM ( R,-izo) + Mz. если г'е сочленение — v
поступательное.
Таблица 3.3. Рекуррентные уравнения движения в форме Ньютона — Эйлера, эффективные с вычислительной точки зрения
Прямые уравнения: , = 1, 2, п
( -R,	(I-1R и. +zng.), если г-е сочленение — вращательное;
Znm   J *— 1 '	Ul — 1	U 17
К0®,— 1 I fl-\	\
I R(_i (	Ro®,-1'’	если г-е сочленение — поступательное;
ад =
V —
Kovz
'ад [г-1ад_,+ад + ('-’ад.i) х м,1
если Z-e сочленение — вращательное»
-R. . ('-1Rnw. Д если г-е сочленение — поступательное;
I" 1 X U t“lz
Сад) х сад;)+(чад х кад) х ('rop;)j+
+ ‘RZ-l (Z-1Rovz-z)- если (’e сочленение — вращательное;
RZ-I (Mz + Rovz-1) + ( Ro®z) X ( R0Pz) +
+2 Сад) x (‘r,_,z04z) + (ад) x ('R,®,) x (ад;)].
если Z-e сочленение — поступательное;
4"az = Сад) X ('ROS,) + ('Ro®,) X [('Ro®,) X (zRos,)] + 'Rov,.
Обратные уравнения: i = n, n — 1...1
'Rofi = 'Rz + iC + ,Rofz + 1) + «i'Mz-
,Ronz = iRz+i riRo«z+1 + (i + 1RoP*) X C+ 1Rofz+1)] + ('RoP* + 'Mz) X x Сад) + CRoCRz) ('Ro»z) + (iRoMz) X [('Ro»,°Rz) CMz)]>
f ('R0H,)r (<R,-_izo) + если ,-е сочленение — вращательное;
i :^= 1
I (,R0fi) (,Ri-lzo) + если z-e сочленение — поступательное.
Здесь z0 = (О, О, 1)г, а &, — коэффициент вязкого трения в г-м сочленении. Стандартный вид начальных условий с учетом действия силы тяжести следующий: <Oq = йо = v0 = 0; Vo = (gx, gy, gz)T, причем |g| = 9,8062 м/с2.
136
Здесь Zo = (О, О, l)r;IRosI' — центр масс i-ro звена в системе координат (х;, уг, z;); ‘Rop*— вектор относительного положения начал систем координат (х,, у(-, z/) и (x,_i, у,_ь z/-i), выраженный относительно системы координат (х,-, у,, z<) и равный
'Rop:
a-i di sin a; - dt cos az -
(3.3-59)
(‘Roh°Rz) — матрица инерции i-ro звена относительно его центра масс, выраженная в системе координат (х,, у,-, z,).
Итак, нами получены эффективные с вычислительной точки зрения уравнения движения, представляющие собой системы прямых и обратных рекуррентных уравнений, позволяющих вычислить кинематические и динамические параметры движения каждого звена в системе координат, связанной с этим звеном. Эти рекуррентные уравнения приведены в табл. 3.3.
3.3.6.	Вычислительный алгоритм
В настоящее время уравнения движения манипулятора в форме Ньютона — Эйлера являются наиболее эффективным с вычислительной точки зрения описанием динамики движения манипулятора. Вычислительные затраты на реализацию этих уравнений приведены в табл. 3.4. Общее число необходимых математических операций (умножений и сложений) пропорционально п — числу степеней свободы манипулятора.
Таблица 3.4. Вычислительные затраты на реализацию уравнений движения в форме Ньютона — Эйлера для манипулятора Пума
Составляющие уравнений движения	Число операций умножения	Число операций сложения
‘Ro®/	9м °	7м
fRo«»£	9м	9м
‘Rov,	27м	22м
'Roa,	-	15м	14м
(R F/	.			Зм	0
(Rof;	9(м —I)	9(м —6)
	24м	18м
‘Ron,	21 (м- 15)	24 (м — 15)
Общее число операций	117 (м —24)	103 (м-21)
О п — число степеней свободы манипулятора.
137
Поскольку уравнения движения в такой форме являются рекуррентными по сути, целесообразно представить их в форме алгоритма вычисления задаваемых воздействий (сил или моментов) для силового привода каждого из сочленений. Ниже представлен такой алгоритм.
Алгоритм 3.1. Метод Ньютона — Эйлера
Этот алгоритм вычисляет для n-звенного манипулятора моменты (или силы), которые должны быть созданы силовыми приводами сочленений для реализации заданной траектории движения манипулятора. Вычисления производятся по формулам из табл. 3.3.
Начальные условия-. ’	'	'	? " ' ' '
п — число звеньев,	’•	)
ш0 = <а0 = v0 = О,
v0 = g = (£x, gy, gz)T< где | g | = 9,8062 м/с2.:
Переменные-.
Qi, <jt, qt, «= 1, 2, . . ., n,. л i, F;, f;, n,-, тг. «Я * S
Прямая последовательность-.
Nl. [Установка счетчика.] Присвоить переменной i значение 1: z+-l.
N2. [Шаг вычисления кинематических параметров.] Вычислить 'Ro<d,, ‘Ron)/, ‘RoVi и 'Roa, по формулам табл. 3.3.
N3. [Проверка i = ri?\ Если i — n, перейти к выполнению шага N4, в противном случае увеличить на единицу значение переменной i (/-<-/ + 1) и вернуться на N2.
Обратная последовательность-.
N4. [Установка f„+1 и n«+i_] Присвоить f„+1 и п„+1 значения соответственно силы и момента, необходимых для поднятия груза. Если груз отсутствует, присвоить этим переменным нулевые значения.
N5. [Вычисление заданных сил (моментов).] Вычислить ‘R0F(-, ‘RoNz, ‘Rofz, ‘Ron,, т,- при известных fn+i и пл+ь
N6. [Обратная итерация.] Если i= 1, закончить счет; в противном случае уменьшить значение счетчика i на единицу и перейти к выполнению N5.
3.3.7.	Пример: двухзвенный манипулятор . .._	.........
Для иллюстрации применения уравнений Ньютона — Эйлера в этом разделе рассматривается двухзвенный манипулятор с вращательными сочленениями (рис. 3.2). Оси вращения всех сочленений параллельны оси z, перпендикулярной плоскости
138
рисунка. Физические параметры манипулятора приведены в разд. 3.2.6.
Сначала, пользуясь рис. 3.2 и равенствами (3.3-48), (3.3-49), сформируем матрицы поворота
	FC1	“S,	0 ’	[C2 -	s2	0 ’
°R1 =		C>	0	, R2 = S2	C2	0
	- 0	0	1 -	L о	0	1 -
	C12	S12	0 ’	Г C1	Si	O’
°r2=	S;2	c12	0	, ]Ro= -$!	c>	0
	- 0	0	1 -	L о	0	1 -
	C2	s2	0 ’	C12	Sj2	0 ’
% =	-s2	c2	о ,	2Ro= -S12	C12	0
	0	0	1 -	-	0	0	1 -
В соответствии с табл. 3.3 зададим следующие начальные условия:
too = ft>o = Vo — 0; vo = (0, g, 0)т, где g — 9,8062 м/с2.
Прямые уравнения. Пользуясь равенством (3.3-50), вычислим угловые скорости 1-го и 2-го звеньев. Для 1-го звена при too = О имеем
lRoto1 = 'Ro (too+zo0j) =
Ci
-5, О
S, Ct о
Г 01
О 0J =
L0
 0-
0
-1 -
ё>.
О ’
О
1 -
Для 2-го звена
2R0to2 = 2Rj (‘Ro»! + zo02) = ’ c2
= -S2 -	0
S2 с2 о
О’
О
1 -
- Г О’
О ё,+
-L1.
ё2
’О’
О (9, -1-1
’ О’ о
-1 -
Пользуясь равенством (3.3-51), вычислим угловые ускорения 1-го и 2-го звеньев. Для 1-го звена, учитывая, что too = (Oo=,0f имеем
%«1 = >R0 (<i0 + ZQ0! + to0 X ZoG,) = (0, 0, If 0(.
Для 2-го звена
2R0to2 = 2Ri [‘Ro*»] -j- zo02 + (‘Roto]) X zo02l = (0, 0, If (0) + 02).
139
Пользуясь равенством (3.3-52), вычислим линейные ускорения точек, являющихся началами систем координат 1-го и 2-го звеньев. Для 1-го звена, учитывая, что Vo = (O, g, 0)г, имеем
'RqVj = (Чш,) X (’RoPl) + (‘Ro®,) X [('Ro®,) X (‘RoPO] + 'R0v2 =
'gSi gCi - 0
— /0, + gSi
/0, + gCt
0
Для 2-го звена
2r0;2=(2r0®2) x (2roP;) + (2r0®2) x [(2r0®2) x сад] +
+ 2R1('RoV,) =
о -
0
- 0, + 02 -
S2 0
X о
- /0? + gSi
/0, + gCt 0
I (S20| - C20? - 0? - 0] - 20,02) + gS12
I (0i 4- 02 -|- C201 -|- S201) -(- gC\2
0
Пользуясь равенством (3.3-53), найдем линейные ускорения центров масс 1-го и 2-го звеньев. Для 1-го звена имеем
'Roa! = (‘Ro®]) X (’Roii) + (*Ro®i) X [('Ro®i) X ('R0Si)J + 'R0Vi,
где
140
— /01 + gSi
/0i + gC} 0
-|0? + gS, ~2 ®1 +
0
Для 2-го звена
2RoI2 = (2R0®2) X (2Ro^) + (2R0®2) X [(2Ro®2) X (2R0s2)J + 2RoV2,
где
Таким образом,
2Roa2--------
X
/ (S201 - C20? - e2 - 02 - 20102) + gSa I (0i + 02 + C20i + S202) + gCi2
0
/ (s201 — C20, — V261 — ’/202 — 6162) + gSi2 / (C201 -f- S201 + '/201 + l/262) + §642 0
Обратные уравнения. Считая, что схват манипулятора не нагружен, имеем f3 = Из = 0. Для расчета сил, действующих на звенья, пользуемся равенством (3.3-56). Для 2-го звена с учетом
141
того, что f3 = 0, имеем
ЧЛ = % (3Ч) + 2roF2 = ЧА =	=
" m2l (S20i - C20f - 720? - 7202 - 0i02) + gm2S12) ~ m2l (c20i 4- S20i 4- 7201 4- 7г0г) 4- gtH-fii?.
0
i
Для 1-го звена
01
-s2 c2 0
— 010г) 4- gm2^2
+ m}Roa! =
С2
1R0fi = 1R2(2R0f2)4-*R0F1 = S2 '° ~m2l (S261 - C262 - i/гв? - 7202
X т21 (С20, + S2O1 + V20i + V262) + gm2Cl2 0
'm2/[_^-l/2C2(0f+02)-C20102 - 72S2(01+02)]- "
— m2g (CI2S2 — C2S12) — 72т/ё? 4- mlgSl
m2z[0i - i/2S2(0* + 022)- S20i62 + 72C2 (0i 4-0г)] 4-	• "
4" tn2gPi 4- 72mA 4" gmiC\
0
С помощью равенства (3.3-57) вычислим моменты, действующие на звенья. Для 2-го звена с учетом того, что Пз = 0, имеем 2R0n2 - (2RoP; + 2R0s2) X (2r0f2) + 2Ron2.
где
ZC12
p*2 = /S12 - 0 -Таким образом, m2l (S201 — ^201 — 7291 — 7202 — 6102) 4“ £^2^12 m2l (c20i 4- S20i 4- 720i 4- V262) 4- gfn2.Cn 0
0 1
° =
i/2m/JLe1 + e2. 0 0
RQn2 —
-
2
о
_0 _ гО
и12
S12 О
S12 С|2 О
/С|2 /sl2 - о
о
-0-
; 2ад =
1 J
0 -о
1 -
о о
О
О
Lo
" 7з^М + 1/зт2^ ®2 4” 1/зт'^ (С201 4" S261) 4- Ilim2g^l2 '
142
Для 1-го звена получаем
ад,=% р Ron2+сад) х (чад+ + (ЧР;чад)Х(1ад1) + 1ад1,
где
Таким образом,	,'Л.
‘Ron,=% (Чп2)+ч [сад) х (2R0f2)]+ + [у, о, о^х^ч + чм,.
Наконец, в соответствии с выражением (3.3-58) определим моменты, которые должны быть реализованы силовыми приводами сочленений. Для 2-го сочленения, полагая bi = 0, получаем
т2 = (4n2f (2RiZ0) =
— */зт2^201 + 7з/?г2^2 + ’/2Ц?2^2С20| + */2т2Й^12 +
Для 1-го сочленения при 61 = 0 имеем
Tj == (*Ron1)7'(‘Rozo) =
= ‘/з^Ч + 4/зт2^291 + 7зт2^202 + Ш2С212^1 + l/2tTl2l2Q2 —
— т28212Ъ$2 — '/2m2S2l2G22 +	+ '/2m2glCi2 + т2§/С1Ф
Эти уравнения динамики движения манипулятора совпадают с уравнениями, полученными в разделе 3.2.6 с применением метода Лагранжа — Эйлера.
3.4. ОБОБЩЕННЫЕ УРАВНЕНИЯ Д’АЛАМБЕРА
Вычислительная неэффективность уравнений Лагранжа — Эйлера обусловлена использованием матриц преобразования однородных координат. В то же время удобство использования уравнений Ньютона — Эйлера объясняется их рекуррентностью и векторной формой записи. Для того чтобы получить замкнутую и эффективную с вычислительной точки зрения форму записи уравнений движения, можно, описав кинематику звеньев с помощью векторов относительного положения и трехмерных матриц поворота, вычислить кинетическую и потенциальную энергии манипулятора, сформировать функцию Лагранжа, а затем воспользоваться уравнениями Лагранжа — Эйлера. В этом
14 3
разделе мы получим уравнения движения Д’Аламбера в форме Лагранжа, или, что то же самое, обобщенные уравнения Д’Аламбера. Здесь мы будем рассматривать только манипуляторы с вращательными сочленениями.
Считая звенья манипулятора твердыми телами, угловую скорость (os s-ro звена относительно базовой системы координат
Базовая система координат
Рис. 3.8. Определение векторов, используемых в обобщенных уравнениях Д’Аламбера.
можно представить как сумму относительных угловых скоростей звеньев с меньшими номерами (рис. 3.8):
(3.4-1)
где zy-t — ось вращения /-го сочленения, заданная в базовой системе координат. Умножая слева обе части равенства (3.4-1) на sRo, получим угловую скорость s-ro звена, выраженную в системе координат этого звена:
sRo®s=E0/SRoZ/-i.	.	(3.4-2)
/-1
Пусть (см. рис. 3.8) rs — вектор положения центра масс s-ro звена в базовой системе координат. Его можно представить в следующем виде:
Fs=£p; + cs,	(3.4-3)
144
где Cs — вектор относительного положения центра масс s-ro звена и начала ($ — 1)-й системы координат, выраженный в базовой системе координат.
С помощью равенств (3.4-1) — (3.4-3) линейную скорость vs s-ro звена в базовой системе координат можно представить в виде суммы линейных скоростей, обусловленных движением звеньев с меньшими номерами:
5" ~ I Г Г k	“1	Т	Г S	т
vs= X Е Xp*J + ЁЦ-! XCS. (3.4-4) &=1 L L/ = l	J	J	L/' = l	J
Кинетическая энергия s-ro звена (l^s^n), имеющего массу ms, складывается из кинетической энергии поступательного движения и кинетической энергии вращения вокруг центра масс:
К5 = (Кз)пост Ч- (Ks)8pam
= >/2ms (Us  Us) + '/г (sRo«s)r (sRo®s). (3.4-5)
где Is — тензор инерции s-ro звена относительно центра масс, представленный в системе координат s-ro звена.
Для простоты рассуждений динамические эффекты, связанные с поступательным и вращательным движениями и воздействием силы тяжести, рассмотрим по отдельности. Применяя уравнения Лагранжа к составляющей кинетической энергии, обусловленной поступательным движением s-ro звена, имеем для s i
3 Г 3 (ZCs)nOCT
dt L 30; J
ДРСЛпОСТ.   d.
30;	dt L s ;
— msvs
dvs
= msvs
3vs msVs ' 30. ’
(3.4-6)
где
= X (pi + p;+l + ••• +Ps-l + cs) =
= Zi-1 X (Fs - P;_,),
С учетом тождеств d	Г dvs ~1_dvs	dvs	_ dv}
dt	L 30; .1	30;	И	30;	~~
равенство (3.4-6) принимает вид
d Г	3 (Ks)nocT "I	3 (Ks)rlOCT m	'	r_	r~	„
— ------Za------------ZZ----= rn,sNs • IZi-t X (rs — P;-1)1-
(3.4-7)
(3.4-8)
(3.4-9)
145
Суммируя по всем звеньям от i до п, получаем силы, обусловленные поступательным движением всех звеньев:
d Г д (К. Е.)пост "I_____ д (К- £.)ПОст__
dt L dQt J d&i
п
\ ' ( d Г д (Ks)nocT ”1
^->Adt L дд( J s = l
n	-
ТгЧ = Z	 I^-fX (7, -	)]’
‘ s=i		(3.4-10)
где с учетом равенств (3.3-8) и определяется формулой
(3.3-12) ускорение vs s-ro звена
(S~ 1 г / k	\
vs=^|SiL(Z0/Z/-1)xp1
Кинетическая энергия вращения s-ro звена определяется формулой
(КЛэаш = '/2 (%® J Is (SRo®s) = | (£ e/RoZ/.^ Is 0/RoZ/_.
Поскольку
(3.4-12)
^^ = ('R»z,_,)ri,(£e,’R»z,_,\ s>;, (3.4-13) dQ‘	V/tl J
•	-^-(SROZ/_1) = SROZ/_1 XsRoZ/-i, 1>J,	(3.4-14)
146
и
^-(sRoZz_i) — У sRozz_i) -57 — sRoZ<-i X (у e/RoZy-i);
(3.4-15)
дифференцируя по времени равенство (3.4-13), имеем
Пользуясь теперь равенством (3.4-14), найдем частную производную величины (Л’5)вращ по координате 0; (s Js 1):
(3.4-17)
Вычитая (3.4-17) из (3.4-16) и производя суммирование по всем звеньям от I до п, получаем силы, обусловленные вращательным движением звеньев:	•<, . ; г.
d Г д (К. Е'Звращ "j д (К- £".)вращ	г .
7Г L ~d^t J	~ :	X
( d Г д (К5)вращ "I д (Kslepam) __	•
50; J 50;	>	‘
147
(s
X 9*SRoZfe fe=/+l
\-lT / S
/ , 0/Roz*_i j IJ fe=i	/J '
i — 1, 2.....n.
(3.4-18)
Потенциальная энергия манипулятора складывается из потенциальных энергий всех его звеньев
Р. Е. = X Л,	(3.4-19)
8~ 1
где Ps — потенциальная энергия s-ro звена, вычисляемая по формуле
Ps = - g • mjs = - g • ms (р;_! + рГ + ... + cs). (3.4-20)
Здесь g=(gx, gy, gz)T и |g| = 9,8062 м/с2. Применяя уравнение Лагранжа — Эйлера, имеем для
d(Ps)	_ т з(Рг._, + Р; + ... +гд
dt L 30/ J 30/	30,- S ®	30/
3 (г — р, Л	—
= g • ms------=g-ms [г/,, X (rs — p/_i)],	(3.4-21)
где p/-i не зависит от 0/. Суммируя по всем звеньям от i до п, получаем моменты, обусловленные силой тяжести;
d г 3 (Р. Е.) 1 _ з (Р. Е.) = _ у д(Р3) =
dt L 30/ J 30/ -Н 30/
П
= £ g-™s[z/_iX(rs —р/_/)].	(3.4-22)
Суммируя равенства (3.4-10), (3.4-18) и (3.4-22), получаем момент xi, создаваемый силовым приводом z-го сочленения для реализации заданного движения манипулятора:
148
S— I
0/Ro2/-1
+i (ЦЕ (Щ M X [(e 0^-.) X p; + {E [(E 0A-1) X OpZp_, X P*J) • [Zf_! X ( + X	Mp-x) X [(E Mh)x cs I -
Полученное равенство можно представить в следующей более наглядной форме:
t Di/ё/ (/) + ЛГТ (0, 0) 4- /х?ращ (0, 0) +	(0, (3.4-24)
/=|
где для i— 1, 2, ..., п
п
Dit =	+ ЯГ = Z [(SRozi-1/ Is CRoZ/.x)] +
X(r,*%.0]} =
n
= Z[(sRoZx-I)rIs(sRoZ/-i)] +
5-/
П
+ E {ms [z/_t X (rs — P/-1)]  [zz_! x (rs — Px-x)D. i < /;
s=-j
(3.4-25)
149
n (	["S-l / f / ft
^°CT(9, 6)=E mJ x I E^,., s=i к	Lfe = l \ k\P = l
Г fe
p
z
0 z
<7 q~
Ё 9A-i)><9pZp_
<7=1	/
4E4,
p-l	\
X GqZq-tj X
<7=1	/
'p£p-l
2j VqZq-fl=I
лгщ(9, 0) = f j(sRoz(._,)riJ E O/Xz,-! s=i к	к/
[/ s	Ч-1Т
sRozi_1Xl E 9p RozP \p = i
X^-p^)]];
(3.4-26)
E 9fe Roz, Jl) +
E 9/
« = 1
n
Ci = — g I ZZ_1 x ЕтМг
(3.4-27)
(3.4-28)
и
s
p = 2 L
s
Динамические коэффициенты D,;, а являются функциями присоединенных переменных и параметров манипулятора, в то время как Л?ост и Л®₽ащ — функции присоединенных переменных, скоростей и параметров манипулятора. Эти коэффициенты имеют следующий физический смысл:
•	Коэффициенты £>1; связаны с инерционностью звеньев манипулятора. Равенство (3.4-25) отражает влияние ускоренного движения в /-м сочленении на реализующийся в i-м сочленении вращающий момент т<. Первое слагаемое в выражении (3.4-25) учитывает влияние вращательного движения /-го звена на возникающий в i-м сочленении момент. Если i = i, то Dit характеризует момент сил инерции, возникающий в i-м сочленении в ответ на ускоренное вращение i-ro звена. Если i j, это слагаемое характеризует момент сил инерции, возникающий в i-м сочленении в ответ на ускоренное вращение /-го звена. Второе слагаемое в выражении (3.4-25) отражает аналогичные эффекты, обусловленные поступательным ускоренным движением звеньев.
•	Слагаемое /1?ост (9, 9) отражает эффекты, связанные с постоянной скоростью изменения присоединенных переменных. Равенство (3.4-26) описывает суммарный момент центробежной и кориолисовой сил, возникающий в i-м сочленении как следствие движения в р-м и q-м сочленениях и обусловленный поступательным движением р-го и q-vo звеньев. Первое и третье слагаемые в выражении (3.4-26) представляют собой центробежную и кориолисову силы инерции, обусловленные соответственно
150
поступательным движением звеньев с номерами, меньшими s, и поступательным движением s-ro звена. Если р = q, это центробежная сила, действующая в i-м сочленении. Если p=/=q, это кориолисова сила, действующая в i-м сочленении. Второе и четвертое слагаемые в выражении (3.4-26) описывают силы Кориолиса, обусловленные соответственно поступательным движением всех звеньев с номерами, меньшими $, и поступательным движением s-ro звена.
• Слагаемое Ларащ (0, 0) также связано с постоянной скоростью изменения присоединенных переменных. Аналогично равенству 3.4-26 равенство (3.4-27) описывает суммарный момент центробежной и кориолисовой сил, возникающий в i-м сочленении как следствие движения в р-м и р-м сочленениях, но в отличие от Л"ОСт(0, 0) обусловленный вращательным движением р-го и р-го звеньев. Первое слагаемое в равенстве (3.4-27) описывает чисто кориолисовы силы инерции, действующие в i-м сочленении вследствие поступательного движения р-го и р-го звеньев. Второе слагаемое описывает сумму центробежной и кориолисовой сил инерции, действующих в i-м сочленении. Если р = р, это центробежная сила, действующая в i-м сочленении; если р =# р, это кориолисова сила, вызванная вращательным движением р-го и р-го звеньев.
• Коэффициент Ci характеризует силу, с которой звенья с номерами, большими i, воздействуют на i-e сочленения под действием силы тяжести.
Таблица 3.5. Сравнение вычислительной сложности различных форм уравнений динамики движения манипулятора1'
	Уравнения Лагранжа — Эйлера	Уравнения Ньютона--Эйлера	Обобщенные уравнения Д’Аламбера
Число операций умножения Число операций сложения Кинематическое описание Форма уравнений движения	128/3/г4 + 512/3/г3 + + 739/3п2+ 160/3/г 98/3/г4 + 781/6/г3 + + 559/3/г2 + 245/6п Однородные матрицы размерностью 4 X 4 Замкнутая система дифференциальных уравнений	132 п 111 п — 4 Матрицы поворотов и векторы положения Рекуррентные уравнения	13/6/г3 + 105/2/г2 + + 268/3/г + 69 4/3/г3 + 44и2 + + 146/3/1 + 45 Матрицы поворотов и векторы положения Замкнутая система дифференциальных уравнений
1) п — число степеней свободы манипулятора. Расчет числа производился без предварительной оптимизации уравнений.
необходимых операций
151
sis>	eea‘vtti*«su'HWc»"tt)
Рис. 3.9. Схема вычисления коэффициентов D^, ft’loCT, ft®paw и С;.
М— операция умножения; А — операция сложения; S— используемая ячейка памяти; цифра в кружке обозначав выход n-го блока.
152
На первый взгляд для решения уравнений (3.4-25) — (3.4-28) требуется большое количество вычислений. Однако большинство входящих в них векторных произведений вычисляются очень быстро. Вычислительная сложность полученных уравнений видна из блок-схемы (рис. 3.9), подробно описывающей процедуру вычисления динамических коэффициентов в каждой расчетной точке траектории манипулятора с указанием числа необходимых операций сложения и умножения. Табл. 3.5 позволяет провести сравнение вычислительных трудоемкостей трех полученных нами форм представления уравнений динамики движения манипулятора.
3.4.1.	Эмпирический подход к формированию упрощенной динамической модели
Полученные нами обобщенные уравнения Д’Аламбера (3.4-24) — (3.4-28) упрощают, в частности, решение задачи построения приближенной динамической модели манипулятора, необходимой для выбора закона управления манипулятором в пространстве переменных состояния. Аналогично уравнениям Лагранжа— Эйлера обобщенные уравнения Д’Аламбера содержат в явной форме слагаемые, характеризующие по отдельности влияние сил инерции, обусловленных ускоренным движением звеньев, кориолисовой и центробежной силами инерции. Более того, эти уравнения позволяют вычислить по отдельности и сравнить влияние сил инерции, обусловленных вращательным и поступательным движением звеньев в каждой точке траектории манипулятора. На основе такого сравнения при построении уп* рощенной динамической модели слагаемыми, мало влияющими на возникающие в процессе движения манипулятора силы и моменты, можно пренебречь.
В качестве примера рассмотрим динамику движения робота Пума 560 вдоль заданной траектории. На рис. 3.10 и 3.11 приведены графики зависимости от времени динамических коэффициентов D;]nc', £>®раш, Л"ост, Л®ращ> построенные для этой траектории. Число расчетных точек траектории равно 31. Графики, приведенные на рис. 3.10, соответствуют коэффициентам и 7>Г/0СТ- которые характеризуют силы инерции, обусловленные ускоренным движением звеньев. На рис. 3.11 показано поведение слагаемых /г?ост и /г?раш> связанных с центробежной и кориолисовой силами. На каждом из рисунков представлены три кривые, отражающие отдельно влияние сил инерции, обусловленных поступательным и вращательным движениями звеньев, а также их суммарное влияние.
Из анализа графиков, приведенных на рис. 3.10, можно сделать следующие выводы, позволяющие сформировать упрощенную модель динамики манипулятора:
153
— Результат Вращательного движения
•---• Результат поступательного движения
ъ—i Суммарный зррект вращательного и поступательного д!ижаи$
Время, мс
Время мс
Время, ма
(54
Время, яс
Время яс
Ц9245Ъ ^Ъ А Д
0,6246 -
0,3247 -	°зз
_ л _1 _«._ L *._ 2 »: -ц*
О 600 1200 1800 2400 3000
Время, яс
Время, мс
Время, мс
Рис. З.Ю. Коэффициенты £>,/, определяющие реакцию на ускоренное движение звеньев.
По оси ординат отложены числовые значения элементов матриц.
155
qoioo*.—_ >_i-  _ jmm - й 0	600 1200 1800 2400 3000
Времяs MC
Продолжение рис. З.Ю.
время, мс
8,...........*••' *-<" * ==t
5,444-
2,778-
O,11tOt к-.. . 4» I . щ I w t И .II Jdt II
0	60Q 1200 1800~2400 ~3o00
Время, мс
8,1114—*—*—*•—л—*•—j»
2,010 •
tyff'
(010 -
Р/ОЮО^,,^ 
0	600 1200 1800 2400 3000
Время, мс
I)	Влияние сил инерции, обусловленных поступательным движением звеньев, преобладает в коэффициентах D\2, D22, D23, D33 И Z?56-
2)	Влияние сил инерции, обусловленных вращательным движением звеньев, преобладает в коэффициентах Du, Di6, D55 и О66.
3)	В остальных элементах матрицы D составляющие, обусловленные вращательным и поступательным движением, равноценны. На рис. З.Ю графики, показывающие поведение коэффициентов О"бСТ и £>"°ст, имеют разрывы. Это связано с ошибками округления, возникающими при моделировании на ком-156
— Результат вращательного движения
•---• Результат поступательного движения
л—л Суммарный аухрект вращательного и поступательного обижений
Рис. 3.11. Слагаемые hit обусловленные кориолисовым и центробежным ускорениями.
По оси ординат отложены числовые значения элементов матриц.
пьютере VAX-11/780. Величины этих коэффициентов очень малы по сравнению с коэффициентами, характеризующими влияние сил инерции, обусловленных вращательным движением звеньев. Анализ графиков, приведенных на рис. 3.11, позволяет сделать следующие выводы:
1)	Вращательные составляющие преобладают в коэффициентах hi, h2, h3.
2)	Поступательная составляющая вносит определяющий вклад в коэффициент h*.
157
3)	Вклады вращательной и поступательной составляющих & коэффициенты h5 и h6 равноценны.
Сделанные выводы справедливы для конкретной рассмотренной траектории движения. Упрощенная модель, получаемая в результате отбрасывания слагаемых, оказывающих несущественное влияние на динамику движения манипулятора, учитывает основные действующие на звенья силы и моменты и при этом требует значительно меньших вычислительных затрат, чем полная модель. Это существенно упрощает разработку законов управления манипулятором.
3.4.2. Пример: двухзвенный манипулятор
Запишем для двухзвенного манипулятора (рис. 3.2) обобщенные уравнения Д’Аламбера. Полагая массы звеньев рав-
НЫМИ Щ|	и т2 и считая, что каждое		из звеньев		имеет длину 1	
находим тензоры инерции этих звеньев						
	"0	0	0	"		"0	0	0	
11 =	0 l/12mj2	0	,	«2 —	0	1/12т/	0	
	_0	0	1/12/И|/2_		_0	0	1/12т2/2_	*
Требуемые матрицы	поворота	гмеют следующий	зид:
’С,	-S, 0~	’ С2 —S2 0 "	
°Ri~ s,	Ct 0 ,	'R2= S2 С2 0	
_ 0	0 1_	.0	0 1_	
		^12	S12 0	
2Ro	= %^2 =	Sl2 С12 0 ,	
Г		0	0 1	
IR0 = (°RI)r, 2R0 = (°R2f,
где C{ — cosQ{, St = sin0z, Ctj = cos (0, + 0y), S{j = sin (0, + 0Z).
Такие характеристики манипулятора, как р*, сг, г; и рг, определяются следующими выражениями:
Р‘ = Р! =		"ZC/ /S, 0 _	* > Р2 =	/С|2 ZS|2 _ 0	5	р2 =		Чс, + с|2)-(S| + S|2) 0	>
		— с 2 С|		— с 2 1					2
II 1 и II О		— S 2	. с2 =	— S 2 1		, ;2=		/s,+45	2
		0		0				0	
158
Пользуясь равенством (3.4-25), находим элементы матрицы
Du = CRoZo)r I, CR0Z0) + (2RoZof I2 (2RoZo) +
+	(z0 x c,) • (z0 X rj + rn2 [z0 X (pl + c2)] • (z0 X r2) =
"0"
1)I2 0 +
_1_
"0“
= (0, 0, 1) I, 0 +(0, 0, _1_
== l/Зт,/2 + 4/3/n2/2 + C2/n2Z2,
Z)I2 = P21 = (2R0z0)r I2 (2R0zt) + m2 (z, X c2) • (z0 X r2) = = l/3m2/2 + l/2m2C2Z2,
£>22 = (2R0zl)r I2 (2R0Z!) + m2 (z, X c2) • [z1 X (r2 — p,)] = = l/12m2Z2 + l/4m2Z2 = l/3m2Z2.
Таким образом,	
Г £)( । Z)|2 "1
[Di/1==lD21	=
Г 1 /3m,/2 + 4/3m2/2 + m2l2C2 \/3m2l2 +
= L l/3m2Z2+ \/2m2C2l2	l/3m2l2
Для вычисления /г?ост (0, 0) и /г?₽ащ(0, 0) воспользуемся равенствами (3.4-26) и (3.4-27), оставив в них только те слагаемые, которые в нашем примере отличны от нуля:
CCT=='«2lt>IZoX(olzflxp;)|-(z0xF2) +
+ m, [0|ZoX (OiZoXq)]  (z0Xri)+	:
'	m2 [(0|ZO	02zt) X [(9izo + 02Z|) X c2] +
+ (0tzo X 02zt) X c2] • (z0 X ?2) = l/2m2/2S20| -
- l/2m2Z2S20| - l/2/n2/2S202 - m2/2S20i02,
159
A^=('Rozoxel'RoZo)rIl(ei,RoZo)+(2RoZo)7’l2(0l2RoZoXO22RoZl)+
+ [2RoZo X (0!2RoZo + 022RoZ|)]r I2 (0!2RoZo + 0/RoZj) = 0.
Таким образом,
ft, = h™CT + /г?ращ = -l/2m2/2S202 - m2Z2S20i02.
Аналогично находим
A2nocT = m2[6|zoX(0|zoXp;)] • [z1 X (?2 - p,)] +
+ m2 {(0|ZO + 02Z|) X [(0|ZO + 02z,) X c2] +
+ (01Zo X 02zj X c2} • [z, X (r2 - Pi)] = l/2m2/2S20?,
/г!ращ = CRoZ^ I2 (0i2Rozo X ©/Roz,) +
+ [2R0Z| X (0!2RoZo + 0/RoZjf I2 (0,2RoZo + 022RoZ!) = 0.
Заметим, что /г?ращ =/г2ращ = 0, что облегчает выбор закона управления с обратной связью.	, ,
Итак,	' i
~\/2m2s№- mzS/bfa’
\/2m2SJ2&i
h2 = /г20СТ + /г|₽ащ = l/2m2Z2S202.
Таким образом,
h = [V
Ь U2.
С помощью равенства (3.4-28) находим компоненты вектора с:
Ci = — g • [z-> X (rn{r{ + m2r2)] = (l/2m! + m2) g!Ct + l/2m2glCl2,
c2 = — g • [zt X (r2 — pj] = l/2m2glCi2,
где g— (0, —g, 0)r. В результате приходим к следующему виду вектора с
_ Г Cl 1 _ Г + m2)g/Ci + U^m2glC[2l
C~Lc2J L	l/2m2g/C12	]’
где g = 9,8062 м/с2. Найденные значения матрицы D и векторов h и с приводят к следующей системе обобщенных уравнений Д’Аламбера, описывающих динамику движения рассматриваемого двухзвенного манипулятора:
Гт, (01 Г1/Зт,/2 + 4/3m2/2 + m2C2l2 l/3m2Z2+1/2т2С2/21 Г0, (01
Lt2(OJ L l/3m2/2 + l/2m2C2Z2	l/3m2Z2 J _02(/)-K
Г — l/2m2S2l2Q2 — m2S2Z20i02l	["(1/2/^ + m^glC, + U2m2glCI2l
+1	l/2m2S2Z20i J L l/2m2glCl2 J*
160
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 изображена точка, ‘	V
имеющая в некоторой промежуточной	\
системе координат (xj, у1, zj коорди-	у.
наты (—1, 1, 2). Система координат	V1
(xi, ух, zj)	движется поступательно	у
относительно абсолютной системы ко-	у
ординат (х0, Уо, z0) со скоростью, рав-	V"1
ной ЗЯ + 2/j + 4k, где i, j, k — еди-	\.
личные векторы в направлении осей х0, Уо и z0 соответственно. Найти ускоре-	X,
ние указанной точки относительно аб-	X.
солютной системы координат.
3.3.	Положение точки, неподвижной относительно системы координат	РнР qio
О*Х*У*7* (разд. 3.3.1 и 3.3.2), задается в системе координат OXYZ вектором г(/) = ЗЯ + 2/j + 4k, где i, j, к — единичные векторы в направлении основных осей абсолютной системы координат OXYZ. Система O*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*
163
а)	Найти тензор инерции куба в системе координат (х0, у0, z0).
б)	Найти тензор инерции куба относительно центра масса в системе координат (ХцМ, Уцм, 2цм).
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(/i), qd(/i)) тра-
ектории манипулятора, соответствующей моменту времени ti, можно определить матрицу D(qrf(/i)) и векторы h(qd(ii), qd(ii)), c(q'J(7i)). Попытайтесь
So
Рис. 3.15.
сформулировать алгоритм нахождения этих же характеристик в этой же самой точке траектории с помощью уравнений Ньютона — Эйлера, не использующий уравнений Лагранжа — Эйлера.
3.12.	Решением упр. 3.11 является метод зондирования. Предположим, что для вычисления управляющих моментов некоторого манипулятора требуется выполнить N операций умножения и М операций сложения. Зная М, N и п, определите минимальное число сложений и умножений, необходимых для вычисления матрицы D(</). Здесь п — число звеньев манипулятора.
3.13.	В уравнениях движения манипулятора, полученных методом Лагранжа— Эйлера, вектор силы тяжести g представляет собой вектор-строку вида (0, 0, —|, 0), где отрицательный знак соответствует земной системе координат. В уравнениях Ньютона — Эйлера в соответствии с табл. 3.2 влияние силы тяжести учитывается в земной системе вектором (0, 0, |g|)r, н здесь знак «—» отсутствует. Объясните это противоречие.
3.14.	В рекуррентные уравнения Ньютона — Эйлера входит матрица (<RoI>°R<), представляющая собой тензор инерции i-ro звена в i-й системе координат. Найдите связь между этой матрицей и матрицей инерции J,-, входящей в уравнения Лагранжа - - Эйлера
3.15.	Сравните отличия между представлениями угювой скорости и кинетической энергии в уравнениях Лагранжа — Эйлера и Ньютона—Эйлера, заполнив следующую таблицу;
165
I
Рис. 3.17.
166
	Метод Лагранжа —Эйлера	Метод Ньютона — Эйлера
Угловая скорость		
Кинетическая энергия		
3.16.	Двухзвенный манипулятор, показанный на рис. 3.16, прикреплен к потолку н находится под действием силы тяжести (g = 9,8062 м/с2); (х0, Ус, z0) — абсолютная система координат; 0Ь 0г — обобщенные координаты; dlt d2—длины звеньев; m,, m2— массы звеньев. Будем считать, что масса каждого из звеньев сосредоточена в крайней точке звена.
а)	Найдите матрицы ‘-'A;, i = 1,2.
б)	Найдите матрицу инерции J; для каждого звена.
в)	Получите уравнения Лагранжа — Эйлера для этого манипулятора, предварительно определив элементы матриц D(0), h(0, 0) и с(0).
3.17.	Рассматривая манипулятор из упр. 3.16, проделайте следующие шаги вывода уравнений Ньютона — Эйлера.
а)	Укажите начальные условия для рекуррентных уравнений Ньютона — Эйлера.
б)	Найдите тензор инерции ‘RoI,°R, для каждого_звена.
в)	Найдите остальные параметры, такие, как ‘R^ и ‘RgP;, используемые в уравнениях Ньютона — Эйлера.
г)	Получите уравнения Ньютона — Эйлера для рассматриваемого манипулятора, полагая, что К-н и п,,^! имеют нулевые значения.
3.18.	Воспользуйтесь уравнениями Лагранжа — Эйлера для описания динамики движения двухзвенного манипулятора, показанного на рис. 3.17. Здесь (хо, Уо, zo) —абсолютная система координат; 0 и d— обобщенные координаты; m2—массы звеньев. Предполагается, что масса mt 1-го звена расположена в точке, находящейся на постоянном расстоянии г1 от оси вращения 1-го сочленения, а масса т2 2-го звена сосредоточена в крайней точке 2-го звена.
Глава 4.
ПЛАНИРОВАНИЕ
ТРАЕКТОРИЙ МАНИПУЛЯТОРА
Какая путаница! Но как она спланирована!
Александр Поп
4.1.	ВВЕДЕНИЕ
Рассмотрев в предыдущих главах вопросы кинематики и динамики манипулятора, обратимся теперь к задаче выбора закона управления, обеспечивающего движение манипулятора вдоль некоторой заданной траектории. Перед началом движения манипулятора важно знать, во-первых, существуют ли на его пути какие-либо препятствия, и, во-вторых, накладываются ли какие-либо ограничения на траекторию схвата. В зависимости от ответов на эти два вопроса закон управления манипулятором принадлежит к одному из четырех типов, указанных в табл. 4.1. Из таблицы видно, что задача управления манипулятором распадается на две взаимосвязанные подзадачи — выбор (планирование) траектории и осуществление движения манипулятора вдоль выбранной траектории. В этой главе рассмотрены различные способы планирования траекторий манипулятора при отсутствии
Таблица 4.1. Типы управления манипулятором
		Препятствия на пути манипулятора	
		присутствуют	отсутствуют
Ограничения на траекторию манипулятора	Присутствуют	Автономное планирование траектории, обеспечивающее обход препятствий,	плюс регулирование движения вдоль выбранной траектории в процессе работы манипулятора	Автономное планирование траектории плюс регулирование движения вдоль выбранной траектории в процессе работы манипулятора
	Отсутствуют	Позиционное управление плюс обнаружение и обход препятствий в процессе движения	Позиционное управление
168
препятствий на пути движения. Введен формализм описания заданной траектории манипулятора в виде последовательности точек пространства, в которых заданы положение и ориентация манипулятора, и пространственной кривой, соединяющей эти точки. Кривую, вдоль которой схват манипулятора движется из начального положения в конечное, будем называть траекторией схвата. Наша задача состоит в разработке математического аппарата для выбора и описания желаемого движения манипулятора между начальной и конечной точками траектории.
Суть различных способов планирования траекторий манипулятора сводится к аппроксимации или интерполяции выбранной траектории полиномами некоторого класса и к выбору некоторой последовательности опорных точек, в которых производится коррекция параметров движения манипулятора на пути от начальной к конечной точке траектории. Начальная и конечная точки траектории могут быть заданы как в присоединенных, так и в декартовых координатах. Более часто, однако, используют для этого декартовы координаты, поскольку в них удобнее задавать правильное положение схвата. Кроме того, присоединенные координаты непригодны в качестве рабочей системы координат еще и потому, что оси сочленений большинства манипуляторов не ортогональны, вследствие чего невозможно независимое описание положения и ориентации схвата. Если же в начальной и конечной точках траектории требуется знание присоединенных координат, их значения можно получить с помощью программы решения обратной задачи кинематики.
Как правило, траектория, соединяющая начальное и конечное положения схвата, не единственна. Возможно, например, перемещение манипулятора как вдоль прямой, соединяющей начальную и конечную точки (прямолинейная траектория), так и вдоль некоторой гладкой кривой, удовлетворяющей ряду ограничений на положение и ориентацию схвата на начальном и конечном участках траектории (сглаженная траектория). В этой главе рассмотрен аппарат планирования как прямолинейных, так и сглаженных траекторий. Сначала мы рассмотрим наиболее простой случай планирования траекторий, удовлетворяющих некоторым ограничениям на характер движения схвата, а затем полученный способ обобщим с целью учета ограничений динамики движения манипулятора.
По смыслу планировщик траекторий можно рассматривать как «черный ящик» (рис. 4.1), На вход планировщика траекторий подаются некоторые переменные, характеризующие накладываемые на траекторию ограничения. Выходом является заданная во времени последовательность промежуточных точек, в которых определены в декартовых или присоединенных координатах положение, ориентация, скорость и ускорение схвата и через которые манипулятор должен пройти на пути от начальной к
169
конечной точке траектории. При планировании траекторий обычно применяется один из двух следующих подходов. Первый состоит в том, что исследователь задает точный набор ограничений (например, непрерывность и гладкость) на положение, скорость и ускорение обобщенных координат манипулятора в некоторых (называемых узловыми) точках траектории. Планировщик траекторий после этого выбирает из некоторого класса функций (как правило, среди многочленов, степень которых не
Ограничения на траекторию
tyt),
Ф(1), Q(tQ
Ограничения динамики манипулятора.
Рис. 4.1. Блок-схема планировщика траекторий.
превышает некоторое заданное п) функцию, проходящую через узловые точки и удовлетворяющую в них заданным ограничениям. Второй подход состоит в том, что исследователь задает желаемую траекторию манипулятора в виде некоторой аналитически описываемой функции, как, например, прямолинейную траекторию в декартовых координатах. Планировщик же производит аппроксимацию заданной траектории в присоединенных или декартовых координатах. В первом подходе определение ограничений и планирование траектории производятся в присоединенных координатах. Поскольку на движение схвата никаких ограничений не накладывается, исследователю трудно представить реализуемую траекторию схвата, и поэтому возникает возможность столкновения с препятствиями, информация о наличии которых на пути схвата отсутствует. При втором подходе ограничения задаются в декартовых координатах, в то время как силовые приводы реализуют изменение присоединенных координат. Поэтому для нахождения траектории, достаточно точно аппроксимирующей заданную, с помощью приближенных функциональных преобразований переходят от ограни
170
чений, заданных в декартовых координатах, к ограничениям, заданным в присоединенных координатах, и только после этого отыскивают среди функций заданного класса траекторию, удовлетворяющую ограничениям, выраженным в присоединенных координатах.
Названные выше два подхода к планированию траекторий манипулятора можно было бы использовать для эффективного (практически в реальном времени) построения последовательностей узловых точек траекторий манипулятора. Однако задаваемая во времени последовательность векторов {q (t), q(0> q(Q} в пространстве присоединенных переменных формируется без учета ограничений динамики манипулятора, что может приводить к возникновению больших ошибок слежения при управлении манипулятором. Этот вопрос рассмотрен в разд. 4.4.3.
4.2.	ОБЩАЯ ПОСТАНОВКА ЗАДАЧИ ПЛАНИРОВАНИЯ ТРАЕКТОРИЙ
Планирование траекторий может производиться как в присоединенных, так и в декартовых координатах. При планировании траектории в присоединенных координатах для полного описания движения манипулятора задается зависимость от времени всех присоединенных переменных, а также их первых двух производных. Если планирование траектории ведется в декартовых координатах, задается зависимость от времени положения, скорости и ускорения схвата и по этой информации определяются значения присоединенье координат, их скоростей и ускорений. Планирование в присоединенных переменных обладает тремя преимуществами: 1) задается поведение переменных, непосредственно управляемых в процессе движения манипулятора; 2) планирование траектории может осуществляться практически в темпе реального времени; 3) траектории в присоединенных переменных легче планировать. Недостатком является сложность определения положения звеньев и схвата в процессе движения. Такая процедура часто необходима для того, чтобы избежать столкновения с препятствиями, имеющимися на пути манипулятора.
В общем случае основной алгоритм формирования узловых точек траектории в пространстве присоединенных переменных весьма прост:
t = /о;
цикл: ждать следующего момента коррекции;
t = t + M;
h(C) = заданное положение манипулятора в пространстве присоединенных переменных в момент времени t\
Если t = Cf, выйти из процедуры:
Выполнить цикл;
171
Здесь A (0—интервал времени между двумя последовательными моментами коррекции параметров движения манипулятора.
Из приведенного выше алгоритма видно, что все вычисления производятся для определения траекторной функции h(^), которая должна обновляться в каждой точке коррекции параметров движения манипулятора. На планируемую траекторию накладываются четыре ограничения. Во-первых, узловые точки траектории должны легко вычисляться нерекуррентным способом. Во-вторых, промежуточные положения должны определяться однозначно. В-третьих, должна быть обеспечена непрерывность присоединенных координат и их двух первых производных, чтобы планируемая траектория в пространстве присоединенных переменных была гладкой. Наконец, в-четвертых, должны быть сведены к минимуму бесполезные движения типа «блуждания».
Перечисленным ограничениям удовлетворяют траектории, описываемые последовательностями полиномов. Если для описания движения некоторого, например, i-ro сочленения используется последовательность р полиномов, они должны содержать 3(р-)-1) коэффициентов, выбираемых в соответствии с начальными и конечными условиями по положению, скорости и ускорению и условием непрерывности этих характеристик на всей траектории. Если добавляется дополнительное ограничение, например задается положение в некоторой промежуточной точке траектории, то для выполнения этого условия требуется дополнительный коэффициент. Как правило, задаются два дополнительных условия по положению (вблизи начальной точки траектории и вблизи конечной), обеспечивающих безопасные направления движения на начальном и конечном участках траектории и более высокую точность управления движением. В этом случае изменение каждой присоединенной переменной может быть описано одним полиномом седьмой степени или двумя полиномами четвертой степени и одним — третьей (4-3-4) или двумя полиномами третьей степени и одним — пятой (3-5-3), или пятью кубическими полиномами (З-З-З-З-З). Эти способы рассмотрены в следующих разделах.
Если планирование траектории производится в декартовых координатах, приведенный выше алгоритм преобразуется к следующему виду:
/ = /0;
цикл: ждать следующего момента коррекции; t == *4*
Н (/) = положение схвата манипулятора в декартовом пространстве в момент /;
Q[H(?)] = вектор присоединенных координат, соответствующих Н(/); Если t = tf, выйти из процедуры;
Выполнить цикл;
172
Здесь помимо вычисления траекторной функции Н(0 в каждой точке коррекции параметров движения манипулятора требуется определить значения присоединенных переменных, соответствующие вычисленному положению схвата. Матричная функция Н(/) описывает положение схвата манипулятора в абсолютном пространстве в момент времени t и, как показано в разд. 4.4, представляет собой матрицу преобразования однородных координат размерностью 4X4.
В общем случае планирование траекторий в декартовых координатах состоит из двух последовательных шагов: 1) формирование последовательности узловых точек в декартовом пространстве, расположенных вдоль планируемой траектории схвата; 2) выбор некоторого класса функций, описывающих (аппроксимирующих) участки траектории между узловыми точками в соответствии с некоторым критерием. Используемый на втором шаге критерий выбирается, как правило, с учетом применяемых впоследствии алгоритмов управления с тем, чтобы гарантировать возможность движения вдоль выбранной траектории. Существуют два основных подхода к планированию траекторий в декартовом пространстве. В первом из них большинство вычислений, оптимизация траекторий и последующее регулирование движения производятся в декартовых координатах”. Узловые точки на заданной прямолинейной траектории в декартовом пространстве выбираются через фиксированные интервалы времени. Вычисление значений присоединенных координат в этих точках производится в процессе управления движением манипулятора. Методы описания прямолинейного движения между последовательными узловыми точками изложены в работах [181, 228, 282]. Второй подход состоит в аппроксимации прямолинейных участков траектории в декартовом пространстве траекториями в пространстве присоединенных переменных, полученными в результате интерполяции траектории между соседними узловыми точками полиномами низкой степени. Регулирование движения в этом подходе производится на уровне присоединенных переменных * 2). И предложенный Тейлором [282] метод построения траекторий с ограниченными отклонениями, и разработанный Лином метод описания траекторий кубическими сплайнами [172] используют аппроксимацию прямолинейной траектории полиномами низкой степени в пространстве присоединенных переменных.
Подаваемый на привод управляющий сигнал вычисляется по рассогласованию между текущим и заданным положениями схвата в декартовом пространстве.
2> Подаваемый на привод управляющий сигнал вычисляется по рассогласованию между текущим и заданным положениями манипулятора в пространстве присоединенных координат.
173
Первый из названных выше подходов к планированию траекторий в декартовом пространстве позволяет обеспечить высокую точность движения вдоль заданной траектории. Однако все известные алгоритмы управления движением строятся с учетом отсутствия датчиков, измеряющих положение схвата в дакарто-вом пространстве, в пространстве присоединенных переменных. Это приводит к необходимости производить преобразование декартовых координат схвата в вектор присоединенных координат манипулятора в процессе движения — задача, требующая большого количества вычислений и нередко увеличивающая время управления манипулятором. Кроме того, переход от декартовых к присоединенным координатам плохо обусловлен из-за отсутствия взаимно-однозначного соответствия между этими координатами. Далее, требования к траектории (непрерывность, гладкость, граничные условия) формулируются в декартовых координатах, в то время как ограничения динамики, подлежащие учету на этапе планирования траектории, задаются в пространстве присоединенных переменных. В результате приходится решать задачу оптимизации с ограничениями, заданными в различных системах координат.
Перечисленные недостатки первого подхода приводят к тому, что более широко используется второй подход, основанный на преобразовании декартовых координат узловых точек в соответствующие присоединенные координаты с последующим проведением интерполяции в пространстве присоединенных переменных полиномами низкой степени. Этот подход обеспечивает меньшие (по сравнению с первым) вычислительные затраты и облегчает учет ограничений динамики манипулятора. Однако точность движения вдоль заданной в декартовом пространстве траектории при этом снижается. В разд. 4.4 мы рассмотрим несколько схем планирования траекторий, использующих указанные подходы.
4.3.	СГЛАЖЕННЫЕ ТРАЕКТОРИИ В ПРОСТРАНСТВЕ ПРИСОЕДИНЕННЫХ ПЕРЕМЕННЫХ
При управлении манипулятором, прежде чем приступить к планированию траектории движения, необходимо определить конфигурации манипулятора в начальной и конечной точках траектории. Планирование сглаженных траекторий в пространстве присоединенных переменных следует производить с учетом следующих соображений [226]:
1.	В момент поднятия объекта манипулирования движение схвата должно быть направлено от объекта; в противном случае может произойти столкновение схвата с поверхностью, на которой расположен объект.
174
2.	Если задать точку ухода на проходящей через начальное положение схвата нормали к поверхности, на которой расположен объект, и потребовать, чтобы траектория схвата проходила через эту точку, тем самым будет задано допустимое движение ухода. Задавая время, за которое схват попадет в эту точку, можно управлять скоростью движения схвата на начальном участке (участке ухода).
3.	Аналогичные условия можно сформулировать для участка подхода к заданному конечному положению: схват должен
Рис. 4.2. Ограничения по положению для траектории в пространстве присоединенных переменных.
пройти через точку подхода, расположенную на проходящей через конечное положение схвата нормали к поверхности, на которую должен быть помещен объект манипулирования. Это обеспечит правильное направление движения на конечном участке траектории (участке подхода).
4.	Из сказанного следует, что любая траектория движения манипулятора должна проходить через четыре заданные точки: начальную точку, точку ухода, точку подхода и конечную точку (рис. 4.2).
5.	На траекторию накладываются условия:
а)	начальная точка: заданы скорость и ускорение (обычно нулевые);
б)	точка ухода: непрерывность положения, скорости и ускорения;
в)	точка подхода: то же, что и для точки ухода;
г)	конечная точка: заданы скорость и ускорение (обычно нулевые)-
175
6.	Значения присоединенных координат должны лежать в пределах физических и геометрических ограничений каждого из сочленений манипулятора.
7.	При определении времени движения необходимо учесть следующее:
а)	время прохождения начального и конечного участков траектории выбирается с учетом требуемой скорости подхода и ухода схвата и представляет собой некоторую константу, зависящую от характеристик силовых приводов сочленений,
б)	Время движения по среднему участку траектории определяется максимальными значениями присоединенных скоростей и ускорений каждого из сочленений. Для нормировки используется максимальное время, необходимое для прохождения этого участка траектории наиболее медленным сочленением.
Условия, которым должна удовлетворять типичная сглаженная траектория в пространстве присоединенных переменных, перечислены в табл. 4.2. Требуется выбрать некоторый класс полиномиальных функций степени не выше п, позволяющих производить интерполяцию траектории по заданным узловым точкам (начальная точка, точка ухода, точка подхода, конечная точка), обеспечивающую выполнение условия непрерывности положения, скорости и ускорения на всем интервале времени [Л>, tf]- Один из способов состоит в том, чтобы описать движе-
Таблица 4.2. Ограничения на траекторию в пространстве присоединенных переменных
Начальная точка;
1.	Положение (задано).
2.	Скорость (задана; обычно нулевая).
3.	Ускорение (задано; обычно нулевое). Промежуточные точки;
4.	Положение в точке ухода (задано).
5.	Положение в точке ухода (изменяется непрерывно при переходе между последовательными участками траектории).
6.	Скорость (изменяется непрерывно при переходе между последовательными участками траектории).
7.	Ускорение (изменяется непрерывно при переходе между последовательными участками траектории).
8.	Положение в точке подхода (задано).
9.	Положение в точке подхода (изменяется непрерывно при переходе между последовательными участками траектории).
10.	Скорость (изменяется непрерывно при переходе между последовательными участками траектории).
11.	Ускорение (изменяется непрерывно при переходе между последовательными участками траектории).
Конечная точка;
12.	Положение (задано).
13.	Скорость (задана; обычно нулевая).
14.	Ускорение (задано; обычно нулевое).
176
ние i-ro сочленения полиномом седьмой степени
(0 =	-4- 0g/6 + <V5 +	-ф + a\t Ч* о0, (4.3-1)
в котором неизвестные коэффициенты а, определяются из заданных граничных условий и условий непрерывности. Однако использование такого полинома высокой степени обладает целым рядом недостатков. В частности, представляет трудность определение его экстремальных значений. Кроме того, интерполяция полиномами высокой степени подвержена возникновению «биений» интерполирующей функции, обусловливающих бесполезные движения манипулятора. Альтернативный подход состоит в том, чтобы разбить траекторию движения на несколько участков и каждый из этих участков интерполировать полиномом низкой степени. Существуют различные способы разбиения траектории на участки, каждый из которых обладает достоинствами и недостатками. Наиболее распространены следующие способы:
4-3-4-траектории. Траектория изменения каждой присоединенной переменной разбивается на три участка. Первый участок, задающий движение между начальной точкой и точкой ухода, описывается полиномом четвертой степени. Второй (средний) участок траектории между точкой ухода и точкой подхода описывается полиномом третьей степени. Последний участок траектории между точкой подхода и конечной точкой описывается полиномом четвертой степени.
3-5-3-траектории. Разбиение траектории на участки производится так же, как для 4-3-4-траекторий, но используются другие полиномы: первый участок описывается полиномом третьей степени, второй участок — полиномом пятой степени, последний участок — полиномом третьей степени.
Кубический сплайн. Используется кубический сплайн при разбиении траектории на пять участков.
Заметим, что все предыдущие рассуждения относятся к описанию траектории каждой присоединенной переменной, т. е. на три или на пять участков разбивается траектория каждой присоединенной переменной. Следовательно, число полиномов, используемых для полного описания 4-3-4-траектории А-звенного манипулятора, равно N X 3 = ЗА, а число подлежащих определению коэффициентов равно 7N. При этом требуется еще определить экстремумы для всех ЗА участков траекторий. В следующем разделе мы рассмотрим схемы планирования 4-3-4-траекторий и траекторий, задаваемых кубическими сплайнами.
4.3.1. Расчет 4-3-4-траектории
В связи с тем, что для каждого участка траектории требуется определить А траекторий присоединенных переменных, удобно воспользоваться нормированным временем ie [0, 1].
177
Это позволяет достичь единообразия уравнений, описывающих изменение каждой из присоединенных переменных на каждом участке траектории. При этом нормированное время будет изменяться от / = 0 (начальный момент для каждого из участков траектории) до t = 1 (конечный момент для каждого из участков траектории). Введем следующие обозначения:
t—нормированное время, t е [0, 1]; т — реальное время, измеряемое в секундах; т/ — момент (в реальном времени) окончания i-ro участка траектории; tt — т, — т;-| — интервал реального времени, затрачиваемый на прохождение i-ro участка траектории;
/ е= [О, 1].
Ъ Ъ-1
Траектория движения /-й присоединенной переменной задается в виде последовательности полиномов На каждом участке траектории для каждой присоединенной переменной используемые полиномы, выраженные в нормированном времени, имеют вид
й| (/) =	+ ац( + аю (1-й участок), (4.3-2)
h2 (0 = W3 + a22t2 + a>,t + a2Q (2-й участок), (4.3-3) hn(t) = ап^ + an3t3 + an2t2 + anlt + ам (последний участок).
(4.3-4)
Индекс у переменной, стоящей в левой части каждого из равенств, обозначает номер участка траектории; п-й участок — последний. Индексы в обозначении неизвестных коэффициентов aji имеют следующий смысл: i-й коэффициент для /-го участка траектории рассматриваемой присоединенной переменной. Граничные условия, которым должна удовлетворять выбранная система полиномов, следующие:
1.	Начальное положение = 0О — 0(io).
2.	Значение начальной скорости =ио (обычно нулевое).
3.	Значение начального ускорения = а0 (обычно нулевое).
4.	Положение в точке ухода = 01 = 0(Л).
5.	Непрерывность по положению в момент t\ (т. е. 0 (/Г) — = 0(ii+)).
6.	Непрерывность по скорости в момент if (т. е. v (ii ) = v (/+)).
7.	Непрерывность по ускорению в момент 6 (т. е. a
8.	Положение в точке = 02 = 0 (/г) •
9.	Непрерывность по положению в момент t2 (т. е. 0(/Г) = = 0(/2+)).
10.	Непрерывность по скорости в момент t2 (т. е. v (t2 ) = v (i^)).
178
11.	Непрерывность по ускорению в момент/2 (т. е. а(/2) =
12.	Конечное положение = О, = 0(tf).
13.	Значение конечной скорости == vf (обычно нулевое).
14.	Значение конечного ускорения = af (обычно нулевое).
Граничные условия для 4-3-4-траекторий показаны на рис. 4.3. Первую и вторую производные рассматриваемых поли-
Рис. 4.3. Граничные условия для 4-3-4-траекторин в пространстве присоединенных переменных.
номов относительно реального времени можно представить в следующем виде:
dhj (0 __ dhj (0 dt ______	1 dhi (t) ________
- dx dt dx	dt
2. "•	(4-3-5)
1 = 1, 2, n.
(4.3-6)
Для описания первого участка траектории используется полином четвертой степени
Ai (t) = й\Ч а^Ч -)- а12/1 2 + ant -f- а10, t е [0, 1]. (4.3-7)
179
С учетом равенств (4.3-5) и (4.3-6) скорость и ускорение на этом участке имеют вид
_ h\ (t) _ 4aitt3 -|- 3ai3t2 + 2aiz^ + flu	,. „ Q,
u 1 V) ~ —~ ~	’	(4'
z.\__ ht (t) _ 12а[4/2 + 6a[3f + 2a12	„ _.
\l)	2	2	’
4	4
1. Для t = 0 (начальная точка данного участка траектории). Из граничных условий в этой точке следует
а10 = hi (0) = 0О (0О — задано),	(4.3-10)
hi (0) Г 4ан/3 + За13/2 + 2а12/+ an I ац „ . п
t,0=___=L-------------------------------Lo=~- (4-3'и)
Отсюда имеем Оц = Уо^1 и
а —. hi (0)	Г	12а[4/2 -|- 6ai3t	+ 2а|3 ~|	__	2а[2	g.tg)
ч	L	ч	J<-о	ri
аоч
что позволяет получить а12 = —
Подставляя найденные значения коэффициентов в равенство (4.3-7), получим
hi (t) — а^ + ai3t3 + £——	+ (v^i) t + 0O, t e [0, 1]. (4.3-13)
2. Для t— 1 (конечная точка данного участка траектории)’. В этой точке мы ослабим накладываемые граничные условия, сняв требование точного прохождения траектории через заданное положение, но оставив условия непрерывности по скорости и ускорению. Эти условия означают, что скорость и ускорение в конце первого участка траектории должны совпадать со скоростью и ускорением в начале второго участка. В конце первого участка скорость и ускорение соответственно равны
Vl (1) A V1 =	= 4«ы + за13 + ^+^	(4 3.14)
Н	Ь I
Д hi(l) 12a14 + 6ai3 + a0ti
CZ[(1) = CZ1	---------•	(4.3-15)
б	ч
Для описания второго участка траектории используется полином третьей степени
^2 (0 = О2з^3 Ч- a^t3 -)- a%it -)- Ого» I®» !]•	(4.3-16)
180
1. Для t = 0 (точка ухода). Пользуясь равенствами (4.3-5) и (4.3-6) в этой точке, имеем
^2 (0) ---а20---- ^2 (0),
(0)  Г За23/г -|- 2<з22/ 4- a2i 1	___ <221
/г	L tz -и=о	tz
Отсюда следует 021 = ^1^2, „ _ Hz (0) _	J" 6(223^ H" 2(222 ~|	_	_ 2(222
.2 T2	fl L	r2	_h=o	t2 T2
(4.3-17)
(4.3-18)
(4.3-19)
а^2
и, следовательно, а22 = —— 
Поскольку скорость и ускорение в этой точке должны совпадать соответственно со скоростью и ускорением в конечной точке предыдущего участка траектории, то должны выполняться равенства
й2(0) Й! (1) ы Й2(0)_Ы1)
—	——	и —2—— —-2-
£2	‘1	г2	Ч
(4.3-20)
которые соответственно приводят к следующим условиям:
З(223^2 + 2(222^ 4- <221 "| tz	Щ=0
4(214^Э 4- З<2]3/2 -|- 2(2 j 2/ 4-	1
(4.3-21)
или	~a2l , tz 1	4a14 11	I 3a13 . a0^1	, °(Л	n tt + tl + 1,	-°	(4.3-22)
и	Г 6(223^ + 2(222		Г 12(2(4^ -f- 6(213^ -f- 2(2(2 ”1	(4.3-23)
или	t2 L	l2		—	t2	’ .0 L	ri	Jf-1	
	2(222 - t2 l2	+	12a14	6a13	aat\ 4	+ 4	<?	(4.3-24)
2. Для t— 1 (точка подхода). В этой точке скорость и ускорение должны совпадать со скоростью и ускорением в начальной точке следующего участка траектории. Для рассматриваемой точки имеем
^2 (1) = а23 + а22 + а21 + а20,
/1 \	^2 (1) Г 3(22з^2 4- 2<222/ 4- (221 1	3(223 4“ 2(222 -р <221
= [-------------Г2---------и =----------------г2---------
/1Х	й2(1) г 6а2з^ 4-2<222 "]	6<22з 4~ 2а22
а2 11 ' fl I fl	fl
l2 L f2 Jf=l	‘2
(4.3-25)
(4.3-26)
(4.3-27)
181
Для описания последнего участка траектории используется полином четвертой степени
~ ап^4 + апз13 + ап2^2 4* anlt 4* аггО> [4 И- (4.3-28)
Если в этом равенстве заменить t на l—t—1 и рассматривать зависимость от новой переменной t, тем самым мы произведем сдвиг по нормированному времени: если переменная t изменяется на интервале [0, 1], то переменная t изменяется на интервале [—1, 0]. Равенство (4.3-28) при этом примет вид
hn (0 = ап^ 4- anit3 4- an2i2 4- anlt 4- ап0, 1<ее[—1, 0]. (4.3-29)
Пользуясь равенствами (4.3-5) и (4.3-6), найдем скорость и ускорение на последнем участке
hn (О ___	-4- Зйггз?2 -р -р Д«1
tn	tn
(7\__hn(i) ______ \2anit + 6an3i + 2ап2
^n v /	.2	«о
*n	*n
(4.3-30)
(4.3-31)
1. Для t =0 (конечная точка рассматриваемого участка траектории). В соответствии с граничными условиями в этой
точке имеем	ft„(O) = a„o = Of,	(4.3-32)
		 h-n (0) 	 О-nt f — tn ~ tn 	(4.3-33)
Отсюда следует	ап\ = vftn.	
Далее,	hn (0) f	t2 ~ t2- n	n	(4.3-34)
и, следовательно,	af*n an2 = ^2~-	
2. Для t = —1 (начальная точка последнего участка траектории). В соответствии с граничными условиями в точке под-
182
хода получаем
hn (-1) = ani - ап3 +	- vffn + 0f = 62 (1),	(4.3-35)
hn (— 1)  Г 4аП4?3 -4- 3flrt3F2 -4- 2апг^ + a<:i 1	_
tn L	tn	Jf=-i
 - 4^, + За„3 - а^п + vftn	(4 3-36)
tn
Л„(—1)	Г 12W2 + 6W + 2а„21	12a„4-6a„3 + af^
/2	~|	t2	—	t2
ln	L	ln	-*<= —I
(4.3-37)
Условия непрерывности скорости и ускорения в точке подхода записываются следующим образом:
/гг(1)	hn (— 1)	hi (1) hn ( 1)	/л о ооч
И -2-- р ,	(4.d-3«)
l2	ln	l2	ln
ИЛИ
^04 ~ 3an3 + aftn~ vftn [ 3a23 । 2a22 । a21 _ g 3-39) tn	ti	/2 ti
И
+	+	+	= 0.	(4.3-40)
tn	t2 t2
Приращение присоединенной переменной на каждом из участков траектории можно найти по следующим формулам:
ап£
61 = 01 — 0q = ft\ (1) — (0) — «и + «13 Ч—2---------(4-3-41)
й2 = 02 — 0] = h2 (1) — h2 (0) = а2з вгг 4~ «21 >	(4.3-42)
aft2n
bn — 0f ~ 02 = hn (0) — hn (— 1) — — ап4 + «м3	2 Vttn'
(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
где	У =	I61-	—2	v^1’	а^1	~«о, -	 «0, 62,	
		&ftn	afi'n + «f, «f,	H g-	— Vftn		(4.3-45)
	- 1	1	0	0	0	0	0 -	
	3/1!	4/1!	—1/12 о 0	0	0	
	6/Z?	12/11	0 -2/15 о	0	0	
С =	0	0	1 1 1	0	0	, (4.3-36)
	0	0	1/12	2/12 3//2	-3/1„	4/1„	
	0	0	0	2/12 6//22	6/й	-12/Д	
	_ 0	0	0	0	0	1	-1	
		х — («13, «14, «21> «22> «23,		«пЗ, апА	)г.	(4.3-47)
Таким образом, задача планирования траектории (для каждой присоединенной переменной) сводится к решению векторного уравнения (4.3-44):
7
у{ = S Ciixi	(4.3-48)
/=1
или
х=С-1у.	(4.3-49)
Структура матрицы С позволяет легко найти неизвестные коэффициенты. Кроме того, матрица, обратная С, всегда существует, если только интервалы t, (при 1=1, 2, п) положительны. Решая уравнение (4.3-49), получаем все неизвестные коэффициенты полиномов, описывающих траекторию /-й присоединенной координаты.
Поскольку для полинома, описывающего последний участок траектории, нами была произведена замена, сдвигающая интервал изменения нормированного времени, то после определения коэффициентов ani из уравнения (4.3-49) необходимо произвести обратную замену, состоящую в подстановке t = t—1, в равенстве (4.3-29). В результате получим
hn (t) =	+ (—4art4 + art3) t3 + (6art4 — Зап3 + an2) t'1 +
+ (—4art4 + 3art3 — 2art2 anl) t + (art4 — an3 + an2 — anl + an0), /е[0, 1].	(4.3-50)
Окончательный вид полиномов для 4-3-4-траектории, получаемый из решения уравнения (4.3-49), представлен в табл. 4.3.
184
Таблица 4.3. Вид полиномов для 4-3-4-траектории
Первый участок траектории'.
[tU,	Г”
61 - ОоЛ - ~~ - <т] + at3 + [-Tf-J t2 + (ОоЛ) t + Oo,
И t\	и
fti(l) 1261 12vo й 6<r
Второй участок траектории-.
[a.4 62 —V)/2--------j-
Л .2 т
Cl f t о I
—2~ J t2 + (14/2) t + 0i»
V2
^2 (1)  3d2 _ 2Vj______ a^2-
t2	/2
h2 (1)  6S2
l2	l2
Последний участок
a2
-^--2att2.
траекториих 2	2Т
cic)tn	attr I
hn. (0 = [96„ - 4t^„ ~	~ 5aM« + ~y-J /4 +
[att<2n	1
—8Sn + 5vftn	g—|-	J t3 +
где o = flg, и
f = 26. [4 + 2^-+	+ ^11 -
L 12	11	11 J 12
л / Гк 1	, з/ге 3
- 00Л [6 + ~	+ — ] - vftt -
g-^r + ^ + ^ + ^r-t2 <1	II
tfl 1 , %t>nt 1
t2 J + tn
Г 5	/, ,2/,	5<;
h+ f; tn	2t

Таблица 4.4. Вид полиномов для 3-5-3-траектории
Первый участок траектории:
[ant] 1 Г Ол/? 1
6, — Oo^i-- j t3 + |_—2~ J	®0’
Ai (1)	36j	а0Л
185
Продолжение табл. 4.4
Второй участок траектории-.
[2	,2 1
Cl\t Л	di) tn I
662 - 3t^2 - 3i'2/2-J +
Г	3alZ2 Л
4~ |_ —1562 -j- 3fj/2 4~ 7^2A 4-g-a2^2j	4-
10S2 — 6 гц/2 — 4v2/2 —
3fl | <2 ( a2^2
~2 Г~2~
4" (viM t 4- 0ь
Последний участок траектории-.
hn = [\ - Vftn + t3 + (-36„ 4- 3vftn - aft2n) t2 +
Г	aft2n 1
+ [3б«-2иЛ + -тт + е*
Аналогичные вычисления применяются при расчете 3-5-3-траекторий. В качестве упражнения читателю предлагается самостоятельно построить такую траекторию. Окончательный ее вид представлен в табл. 4.4.
4.3.2. Описание траекторий кубическими сплайнами
Интерполяция заданной функции кубическими полиномами, обеспечивающая непрерывность первых двух производных в узловых точках, называется кубическим сплайном. Такой способ интерполяции обеспечивает достаточную точность аппроксимации и гладкость аппроксимирующей функции. В общем случае сплайн представляет собой в каждой точке полином степени k с непрерывными k — 1 производными в узловых точках. В случае кубических сплайнов непрерывность первой производной обеспечивает непрерывность по скорости, а непрерывность второй производной означает непрерывность по ускорению. Кубические сплайны обладают целым рядом преимуществ. Во-первых, это полиномы минимальной степени, обеспечивающей непрерывность по скорости и ускорению. Во-вторых, низкая степень используемых полиномов сокращает вычислительные затраты и снижает возможность возникновения вычислительной неустойчивости.
185
При использовании кубических сплайнов каждый из пяти участков траектории описывается полиномом вида
hj (О = М3 + а/2^2 + ajJ + а)й
/=1,2,3, 4, п	(4.3-51)
при тн<т<т/.и 1е[0, 1]. ац обозначает i-й неизвестный коэффициент, соответствующий /-му участку траектории; п-й участок траектории — последний.
Применение кубических сплайнов подразумевает наличие пяти участков траектории и шести узловых точек. Однако в наших предыдущих рассуждениях мы пользовались только четырьмя узловыми точками: начальной, точкой ухода, точкой
Рис. 4.4. Граничные условия для траектории, описываемой кубическим сплайном.
подхода и конечной. Таким образом, требуется задать еще две узловые точки с тем, чтобы обеспечить достаточное число граничных условий для определения неизвестных коэффициентов ау,-. Эти дополнительные узловые точки можно выбрать на отрезке траектории между точкой ухода и точкой подхода. Нет необходимости точно знать значения присоединенной координаты в этих точках, достаточно задать моменты времени и потребовать непрерывности скорости и ускорения. Таким образом, выбранная система интерполяционных многочленов должна удовлетворять следующим граничным условиям: 1) присоединенная координата должна принимать заданные значения в начальной точке, точке ухода, точке подхода и конечной точке; 2) скорость и ускорение должны быть непрерывны во всех узловых точках. Граничные условия для траектории, описываемой кубическим сплайном, представлены на рис. 4.4. Значения тех
187
переменных, которые на рисунке подчеркнуты, известны до начала расчета планируемой траектории.
Первая и вторая производные используемых полиномов по отношению к реальному времени соответственно равны
/г/(0	За/3/2 + 2а/2/+ a/t
=---------7,-------
/—1,2, 3,4, л,	(4.3-52)
Л/ (0	6а;3/ -|-2а/2
а/(0=—Г- =---------77-----’
7	7
/=1, 2, 3, 4, п.	(4.3-53)
где tj — интервал реального времени, затрачиваемый на прохождение /-го участка траектории. Заданные положение, скорость и ускорение в начальной и конечной точках траектории, а также положения в точках ухода и подхода полностью определяют коэффициенты полиномов /ii(() и описывающих начальный и конечный участки траектории. При известных h\ (0 и hn(t) коэффициенты полиномов /i2(0, /is(0, /ы(0 определяются из условий непрерывности в узловых точках.
Первый участок траектории описывается полиномом
Л( (() = Я1з/3 -ф a^t2 -ф Иц/ -ф а10.	(4.3-54)
При t — 0 в соответствии с начальными условиями имеем
/ii (0) = аю = % (0О задано),	(4.3-55)
(4.3-56)
И и
Отсюда получаем ац = по0. Далее,
Но 11
и, следовательно, ai2 = —g—•
При t = 1 в соответствии с условием, накладываемым на положение в точке ухода, имеем
a t2
/11(1) = а1з-ф^-фпо/1 + 0о = 01-	(4.3-58)
Отсюда легко найти
«1з-=°1 — иоФ —	(4.3-59)
188
где 61 = 0/ — 0г—i. Таким образом, первый участок траектории полностью определен
/г1 (0 =	t3 + [-^-] t2 + Ш) t + 0о- (4.3-60)
В соответствии с выражением (4.3-60) скорость и ускорение в конечной точке первого участка траектории равны
h\ (В А у _ Зб1 ~ (ао*л )/2 ~~ 2и<А _ 361 _ 2у0 _ gQ<1 (4 3.61)
М')Д 66, — 2a0t2 — 6v!}t,_________ 66,	6v0
— а, —	(2	zao-
Эти скорость и ускорение должны совпадать соответственно со скоростью и ускорением в начальной точке следующего участка траектории.
Последний участок траектории описывается полиномом
hn (/) = an3t3 + an2t2 + anlt + an0.	(4.3-63)
Пользуясь граничными условиями для t = 0 и / = 1, получаем
hn (0) = ап0 = 0„ (0„ —задан),	(4.3-64)
hn (1) = ап3 + ап2 + anl + 0rt = 0f,	(4.3-65)
hn (1) Д _ Зйгсз + 2дП2 + Ош tn	tn	(4.3-66)
hn (1) Д „	6an3 + 2an2 t2	~'at~	t2 ln	ln	(4.3-67)
Решая эти уравнения относительно неизвестных коэффициентов ап3, ап2, ап1, получаем
hn (0 =	Z3 + (-Зб„ + 3vftn - aft2n) t2 +
+ [зб„ - 2vftn + t + 0„,	(4.3-68)
где б„=ef — е„.
Второй участок траектории описывается полиномом
/г2 (t) = a23t3 + a22t2 + a2it + a20.	(4.3-69)
Из условий непрерывности по положению, скорости и ускорению в точке ухода находим
й2 (0) = а^ = 0J (0, — известно),	(4.3-70)
h.2 (0)	а21 hi (1)	М q 7П
W1_-^- = —=-7—.	(4.3-71)
189
«1
Отсюда следует а21 —
й2 (0) _2а2г _ hi (1)
1— t2 ~~ t2 f2	f2
а^2 и, следовательно, а22 = —•
С учетом найденных коэффициентов можно записать
„ Г a,t? 1 „ ^2(0 = tW + |_—2~ J + Н-
351	о aoti	66i	6t)0	о
где щ = -------2ц0-----2-, ^ = —2------— 2а0.
ч	2	ч	ч
Остается найти коэффициент а23. С помощью равенства найдем скорость и ускорение при /= 1, которые должны совпадать соответственно со скоростью и ускорением в начальной точке следующего участка траектории:
(4.3-72)
(4.3-73)
(4.3-73)
-a.f,
^2 (1) = 02 == а23 Н--------2-----
(4.3-74)
Ml)	За23 + a{t22 + vxt2
tz V2	t2
vl + alt2 + -^, (4.3-75)
Ml)	6а23 + а^2
-j	= a2 =	~2	— a i
‘2	l2
6a23 f2
(4.3-76)
Заметим, что каждая из величин 02, v2 и а2 зависит от значения а23.
Третий участок траектории описывается полиномом
Лз (/) = а33Т -ф ЦД2 + а34 а3о.	(4.3-77)
В точке t = 0 в соответствии с условиями непрерывности по положению скорости и ускорению имеем
t2
h3 (0) = а30 = 62 = а23 +	+ v,t2 + et,	(4.3-78)
„ A h3 (0) °2	/з		 а31 ^3	__ /12 (1) /г	(4.3-79)
Таким образом, а31 = v2t3.			
Далее,			
п A h3 (0) а2	2	' г3		 2азг 4	_ Ml) t '2  ‘2	(4.3-80)
а2^3
Отсюда получим а32 — —
190
Подставляя найденные значения коэффициентов в выражение (4.3-77), получаем
Аз (/) = W3 + [^-] t2 + v2t3t + 02.	(4.3-81)
Найдем в точке Z=1 значения скорости и ускорения, которые должны совпадать с соовтетствующими характеристиками в начальной точке следующего участка:
йз(1) = 03 = 02+п2/3 + -^- + а3з, (4.3-82)
A3(l)	^33 + a2tl + v2t3	За33
—г— = v3 =------------------= v2 + a2t3 4- -г—, (4.3-83)
Гз	f3
-41 = «з = 33 л — = «2 + -Д •	(4-3-84)
’з	‘з	гз
Заметим, что каждая из величин 0з, и3 и а3 зависит от а33 и неявно зависит от а23.
Четвертый участок траектории описывается полиномом
/г4 (0 = а43/3 + а42/2 + a^t + а40.	(4.3-85)
Используя условия, накладываемые на положение в точке подхода, а также условия непрерывности в этой точке скорости и ускорения, получаем
A4(0) = a40 = e3 = e2 + w2Z3 + -^- + a33.	(4.3-86)
и3 =	й4 (0)	a4i	Лз (1)	(4.3-87)
		tt	i's	
что дает а41 = и3^4. Далее,				
	МО _	_ 2а4г	_ ЙД1)	(4.3-881
и3 .	*4	г4	4	
Отсюда получаем ai2 = —^~.
Подставляя найденные выражения для коэффициентов в равенство (4.3-85), получаем
[аЛ2. 1 „
-Ai J /2 _|_ (Из/4)/ _|_ 03)	(4.3-89)
где 9з, из и а3 определяются соответственно равенствами (4.3-82), (4.3-83) и (4.3-84), а коэффициенты а23, а33 и а43 по-прежнему неизвестны. Их нужно найти, чтобы полностью определить полиномы, описывающие три средних участка траектории. Для этого воспользуемся условиями в граничной точке
191
между четвертым и последним участками траектории:
Л4(1) = «« + ^- + ^4 + 63 = 64,	(4.3-90)
й. (1) 3ari	36 „	Л aft„
_412 = _11 + аЛ + &3 = &4=_^_2^ + 41, (4.3-91) h. (1) ba,,	— 6б„ 6vf
-42- = -/ + «з = «4 = —+	(4.3-92)
г4	*4	1п	тп
Из этих уравнений можно найти значения неизвестных коэффициентов агз, «зз и «43- В результате все полиномы будут полностью определены. Ниже представлен окончательный вид этих полиномов:
Л1 (0 = [б1 -	t3 + [^] о + (Mi) t + е0,	(4.3-93)
01 = -3*1--2го--^;	-2«0>	(4.3-94)
tx	2	П О
Г a t2 4
h2(t) = a22t3 + [_JA]/2 + (W1/2)^ + e1,	(4.3-95)
02 = «23-|-----gr—|- М2 + 0j>	(4.3-96)
v2 = vx+axt2 + ^.-, а2 = а,+^Г’	(4-3-97)
*2	*2
Г a Z2 1
Лз (0 = азз^3 4~ |_—2j t2 + v2^ + 02»	(4.3-98)
63 — 4“ иг0 4-------2—азз ’	(4.3-99)
«з = «2 + Мз + ~: «з = а2 + -^.	(4-3-ЮО)
гз	Ч
МО = М3 + [^] О + (ММ + 03,	(4.3-101)
[а t2 -1
- vftn +	] /3 + (-36,г + 3vff„ - а4) /2 +
1 ~	1 + [36„ — 2&М 4	2Г-J "0 ®4> 36	aftn	— 66 п	п 9ri, _L '	 л	п 4	6Vf	(4.3-102) 2л« М Ч-103'l
«4	ZVf -i	,	«4	2	1 1п	тп		
	 ,2 Xi	.2 Х2	/2 Хз ^-23	^2 Q >	Я-33	'	£) ’	^43 М q »		(4.3-104;
192
причем
xt — k\ (и — /о) 4~ ^2 (^4 — d) — кз [(и — ti) d	4* t$ (ts — /2)],	(4.3-105)
x2 = — k\(u ts) k2(c — Z4) + /гз [(« — tc	1i(u	— A)],	(4.3-106)
x3 = k\(u —	+ k2(d — c) + k-, [(/4 — t2) c — d	(u —	t2)],	(4.3-107)
D = и (и — t2) (u — /4),	(4.3-108)
и = /2 + ^ + ^4)	(4.3-109)
ki = 04 — 6[ — v}u — tzj	(4.3-110)
k2 = —aiU.~ ~ £.1W1 t	(4.3-111)
О	, .
/г3 = °4 ~ -1 ,	" ‘ '	'	(4.3-112)
c = 3u2 — 3ut2 + tl	'	(4.3-113)
d = 3d + 3^4 +/I.	(4.3-114)
Таким образом, показано, что, если заданы положения в начальной и конечной точках, точках ухода и подхода, а также время движения по каждому из участков траектории, тем самым полностью определен кубический сплайн, задающий закон изменения присоединенной координаты. Здесь мы рассмотрели построение кубического сплайна для траектории с пятью узловыми точками. Более общий подход к построению кубических сплайнов для траекторий с п узловыми точками рассмотрен в разд. 4.4.3.
4.4. ПЛАНИРОВАНИЕ ТРАЕКТОРИЙ В ДЕКАРТОВЫХ КООРДИНАТАХ
В предыдущем разделе рассмотрены способы построения траекторий в пространстве присоединенных переменных, основанные на использовании интерполяционных многочленов низкого порядка. Хотя присоединенные координаты полностью определяют положение и ориентацию схвата манипулятора в декартовом пространстве, они не годятся для описания задачи, выполняемой манипулятором. Это обусловлено тем, что большинство присоединенных координат манипулятора неортогональны и не позволяют независимо изменять положение и ориентацию схвата. В робототехнических системах достаточно высокого уровня для управления манипулятором используются специальные языки программирования. В таких системах задание манипулятору обычно представляется в виде последовательности узловых точек в декартовом пространстве, через которые должен пройти схват или рабочий инструмент. В связи с этим необходим математический аппарат, позволяющий описывать
7 К. Фу и др.	193
как узловые точки, через которые должен пройти схват, так и пространственную кривую (траекторию), соединяющую эти точки.
Пол [228] предложил способ планирования траекторий схвата в декартовом пространстве, состоящих из последовательности прямолинейных участков. Между прямолинейными участками траектории движение задается с помощью квадратической интерполяции полученных в результате решения обратной задачи кинематики точек в пространстве присоединенных переменных. Предложенный Полом метод был расширен и усовершенствован Тэйлором [282] за счет использования аппарата кватернионов для описания положения схвата манипулятора. Свойства кватернионов позволили упростить в вычислительном плане описание вращательного движения схвата между узловыми точками. Описание же поступательного движения никаких преимуществ по сравнению со способом Пола не имеет. Все названные подходы к планированию прямолинейных траекторий в декартовом пространстве мы рассмотрим в следующих двух разделах.
4.4.1. Метод, использующий матрицу однородного ‘ преобразования	’
В программируемых робототехнических системах движение манипулятора может задаваться в виде последовательности узловых точек в декартовом пространстве. Каждая из этих точек описывается матрицей однородного преобразования, устанавливающей связь между системой координат схвата и абсолютной системой координат. Значения присоединенных координат, соответствующих заданным в декартовых координатах положениям схвата в узловых точках, вычисляются с помощью программы решения обратной задачи кинематики. Далее, для того чтобы осуществлять управление манипулятором, траектория между двумя последовательными узловыми точками в пространстве присоединенных переменных интерполируется квадратным полиномом. В результате управление манипулятором осуществляется таким образом, чтобы схват двигался по прямой линии, соединяющей эти точки. Преимуществом такого способа управления является возможность манипулирования движущимися объектами. Хотя положение схвата манипулятора в узловых точках полностью описывается матрицей однородного преобразования, способ движения схвата из одной точки в другую не определен. Пол [228] предложил использовать для осуществления перехода из одной узловой точки в другую прямолинейное перемещение и два поворота. Первый поворот осуществляется вокруг единичного вектора к с тем, чтобы обеспечить необходимый угол подхода, а второй — вокруг оси инструмента для обеспечения его необходимой ориентации.
194
В общем случае положение, которое должен занять манипулятор, определяется следующим основным уравнением:
°Т66ТИНстР = °Сбаза (0 ^объект,	(4.4-1)
где °Т6 — матрица однородного преобразования, имеющая размерность 4X4 и описывающая положение и ориентацию схвата в базовой системе координат; 6ТИНстр — матрица однородного преобразования, имеющая размерность 4X4 и описывающая положение и ориентацию инструмента относительно системы координат схвата. Точнее говоря, эта матрица описывает положение рабочей части инструмента, движением которой нужно управлять; °Сбаза(0—матрица однородного преобразования, имеющая размерность 4X4 и являющаяся функцией времени. Она описывает положение рабочей системы координат объекта манипулирования относительно базовой системы координат; базаРобъекТ — матрица однородного преобразования, имеющая размерность 4X4 и описывающая заданные положение и ориентацию объекта манипулирования в момент захвата относительно рабочей системы координат объекта. Если матрица 6ТИНСтр уже включена в матрицу °Т6, в уравнении (4.4-1) матрица 6ТИНстр является единичной и ее можно опустить. Если рабочая система координат объекта совпадает с базовой системой координат манипулятора, то °Сбаза(0 представляет собой единичную матрицу в любой момент времени.
Можно заметить, что левая часть уравнения (4.4-1) описы-зает положение и ориентацию схвата манипулятора в момент захвата, в то время как правая часть этого уравнения описывает положение и ориентацию подлежащей захвату части объекта манипулирования. Таким образом, мы можем определить матрицу °Т6, определяющую конфигурацию манипулятора, необходимую для правильного осуществления захвата объекта в виде
°Т6 = °Сбаза (0 ^объект [ЧнстрГ'-	(4.4-2)
Если было бы можно достаточно быстро вычислять элементы матрицы °Т6 и затем определять присоединенные переменные, этого было бы достаточно для осуществления управления манипулятором.
С использованием равенства (4.4-1) последовательность заданных положений, определяющую выполняемую манипулятором задачу, можно представить в следующем виде:
°Т6 (6ТИИСТД = [°сбаза (<(базаробъект)ь
5,^, . °т6(6тиистр)2 = [0сбаза(0]2(базаробЪект)2, '
(4.4-oJ
°ТВ(бТИиетрЬ=[0Сбаза(0]^(ба3аРоб-ьскТк. '
7*
195
Опуская для простоты несущественные индексы, имеем .
Т6иистрТ, = С, (0 Рь
 т6иист₽т2 = с2(0Р2,
(4.4-4)
т ИИСТРу  р М р *6	* W VJ r<V-
По заданным положениям C,(f)P; можно определить расстояния между последовательными точками и, если даны линейные и угловые скорости, можно вычислить интервал времени Т/, необходимый для перехода из i-ro в (/-)- 1)-е положение. Описание движения из i-ro положения в (i + 1)-е удобно производить, задав положение в z-й точке, относительно заданного положения в (i + 1)-й точке. Обозначим как Р(/ матрицу, определяющую заданное положение схвата в г-й точке относительно системы координат, задающей положение схвата в /-Й точке. Если требуется перевести схват манипулятора из положения 1 в положение 2, то, записывая уравнение для точки 1 относительно системы координат этой точки, имеем
Т6иистрТ1 = £,(/)?„.	(4.4-5)
Записывая уравнение для точки 1 в системе координат 2-й точки, получаем
Т6инстрТ2 = С2(0Р12.	(4.4-6)
Из этих уравнений находим матрицу Pi2
Р12 = СГ1(/)С1(^)Р11(иист₽Т1)~1инстрТ2.	(4.4-7)
С помощью выражения (4.4-7) можно найти Р]2, зная Рп. Таким образом, движение из i-ro положения в (i-j- 1)-е можно рассматривать как переход из состояния
Т6 = С/+1(/)Рг,г+1(иистрТг+1)-1	„ .	(4.4-8)
в состояние
Т6== Сг+1 (/) Pi+M+1 (иистрТг+1)-1.	(4.4-9)
Пол [228] предложил простой способ перевода схвата манипулятора из одного заданного положения в другое. Движение схвата осуществлялось как композиция поступательного перемещения, поворота вокруг заданной оси и еще одного поворота вокруг оси инструмента. Первым поворотом обеспечивалось заданное направление вектора подхода. Вторым поворотом достигалась требуемая ориентация схвата.
196
Движение из i-ro положения в (;' + 1)-е можно задать при помощи «ведущего» преобразования D(A,), являющегося функцией нормированного времени:
т6 (Л) = Сг+1 (Л) Рг, Z+1D (Л) (иистРТг+1)-', (4.4-10)
гдеЛ = у-, ?. g [0, 1], t — реальное время с момента начала движения вдоль данного участка траектории и Т — полное время движения вдоль данного участка траектории. В i-й точке / = О, А, = 0, D(0)— единичная матрица размерностью 4X4 и
Pi+M+1 = PM+1D(1).	(4.4-11)
Отсюда получаем
О (1) = (РЛг + 1)-’ (Р( + 1,г-+1).	(4.4-12)
Представляя положение схвата в точках i и i + 1 в виде соответствующих матриц однородных преобразований, имеем
Рг,г + 1 = А =
sa аА Ра 1
0 0 1 J
Пд
0
Sb
0
I
ав Рв 1
0 1 J
Пользуясь равенством (2.2-27) для обращения матрицы Рг-, ж и произведя умножение на Рж, ж> получаем
	- • Sa •	пВ ПА ‘ SB		Ид • ав Пд • (Рв — рд) -|		
		Пв	SA ‘ SB	S А * аВ	Sa • (Рв - Ра)	
D(l) =	аА '	ПВ	аА ‘ SB	аА ‘ аВ	аА • (Рв	— Ра)
	- 0		0	0	1	
(4.4-15)
где точка означает скалярное произведение векторов.
Если ведущая функция содержит одно поступательное и два вращательных движения, то и перемещение, и повороты будут прямо пропорциональны X. Если X изменяется пропорционально времени, то результирующее движение, описываемое функцией D(Z), представляет собой поступательное движение с постоян
197
ной линейной скоростью и два вращения с постоянными угловыми скоростями. Поступательное движение описывается матрицей однородного преобразования L(X), задающей движение вдоль прямой, соединяющей точки Р( и Pz+i- Первое вращательное движение задается матрицей Кд(^), описывающей разворот вектора подхода из положения Р, в положение Р,-+1. Второе вращательное движение описывается матрицей Rb(A,), задающей изменение ориентации схвата от положения Р( к положению Р,+1 за счет вращения вокруг оси инструмента. В результате ведущая функция может быть представлена в виде
где
D(X) = L(X)R4(X) Rb(M,
- 1	0	0	Кх -
О	1	0	Ку
О	0	1	Kz	•
-ООО 1 -
(4.4-16)
(4.4-17)
г (Х9) + С(ЛО) - ЯфСфУ (М)	Сф$(Х9) О-
-5фСфУ(Л9)	С2ф1/ (Л9) + С (Л9) $ф$(Л9) О
-Сф£(ле) — Si|xS(A,9)	С(Х9)	О
О	0	0	1-
					(4.4-18)
	- С (Лф)	— S (Лф)	0	0-1	
	$(Лф)	С(Лф)	0	0	
	0	0	1	0	,	(4.4-19)
	- 0	0	0	1 -	
где
. .	:	У (Л9)= 1 — cos (Л9),	• .
С (Х9) = cos (Х9), S (Х9) = sin (К9), -	(4.4-20)
г С (Z<p) = cos (Лф), S (Лф) = sin (Лф)
и ?.е[0, 1]. Матрица поворота R^(X) описывает вращение на угол 0 вокруг вектора ориентации, соответствующего положению Р/, который повернут на угол ф вокруг вектора подхода. Матрица Rb(A,) описывает вращение на угол ф вокруг вектора подхода, соответствующего положению P,+i-
Перемножая матрицы (4.4-17) — (4.4-19), получаем  3
Г dn do da dp 1
D^ = L 0 0 0 1 J’
(4.4-21)
198
где
do
' - s (л<р) [s2ipiz (V + с (ле)] + с (Лф) [- sipCipv (2,0)] -- S (Лф) [- SipCip V (2,0)] + С (2,0) [C2ipIZ (2,0) + С (Л0)] - S (Лф) [ - CipS (2,0)] + С (2,0) [ - SipS (2,0)]
' CipS (20)'	" 2.x"
da = SipS (20) , dp = ку
L kz -
L С (2,0)
dn = do X da.
Применяя метод обратных преобразований к равенству (4.4-16), можно определить х, у, г. Для этого нужно умножить обе части равенства (4.4-16) справа на RJ1 (2) RJJ (Л) и приравнять соответствующие элементы векторов положения
-	.... п4 • (рв-рД, ............  ...
У = вл • (Рв - Рл),	(4.4-22)
z = ал • (рв — рЛ).
Умножая обе части равенства (4.4-16) справа на Rb 1 (к) и слева на L-1(2), найдем из условия равенства соответствующих элементов третьего столбца значения 0 и ip:
[s . • а,, Л	Ч’.,
у; ,а >	<
% ’ ав -I
— лХфХХ,	(4.4-23)
0asarctJ Ь'аа)2 + (хаГ1 , о «и. arctg S ------——---------- f,
j  • t I	a.4 aB	'
f ,.e¥ s О<0<л.	(4.4-24)
Чтобы найти ф, умножим обе части (4.4-16) слева последовательно на L-1 (к) и RJ1 (Л), и, приравняв соответствующие элементы, получим
5ф = - 5фСфV (20) (пЛ • пв) + [C2ipV (20) + С (20)] (§Л • пв) -
- SipS (20) (ад • пв),	(4.4-25)
Сф = - CipCipV (20) (пл • sB) + [C2ipiz (2,0) + С (2.0)1 (вл • sB) -
t	— SipS (2.0) (ал • sB),	(4.4-26)
Ф = arctg [^-]>	—	(4.4-27)
Движение между двумя участками траектории. Часто необходимо обеспечить движение манипулятора вдоль последовательности прямолинейных участков (это диктуется выполняе
199
мой манипулятором задачей или наличием препятствий на его пути). Для того чтобы избежать скачков по скорости при переходе с одного участка траектории на другой, между участками нужно обеспечить движение с ускорением или торможением. Такое движение можно реализовать, начиная изменение скорости за время т до точки перехода между участками и поддерживая ускорение постоянным, пока не пройдет т единиц, времени после перехода границы участков (рис. 4.5). Если
ускорение поддерживается постоянным от момента —т до момента т, то его величина, обеспечивающая заданное изменение скорости и положения, определяется формулой
Ч(0 = ^[аС^ + ДВ],	(4.4-28)
где — т < t < Т, и
	X		хвс		ХВА
	У		Уве		У вл
q(0“=	Z	, ЛС =	ZBC		ZBA
	ё		®вс		бед
	_Ф_		_ <Рз<Д _		_ Фвд _
АС и АВ — векторы, элементами которых являются приращения декартовых координат и углов между точками В и С и между точками В и А соответственно.
В соответствии с равенством (4.4-28) скорость и положение на интервале —т < t < т определяются равенствами
Ч(о=4[АСт+Авк-^т-’ <4-4'29)
q (/) = [[АС -у- + АВ] А, — 2Д В] К + АВ, (4.4-30)
2М
где
(4.4-31)
При г</<Т движение задается равенствами
q = AC?u, <7 = 0,	(4.4-32)
. A t
где	л = у •
Отметим, что, как и выше, К представляет собой нормированное время, изменяющееся на интервале [0, 1]. Следует помнить, однако, что нормирующий множитель различен для разных участков траектории.
Для движения от Л к В и к С определим ф на интервале
—т < t < т следующим образом:
Ф — (Фвс Фдв) + Фав>
(4.4-33)
где флв и фВс определены для движения от Л к В и от В к С формулой (4.4-23). Тем самым ф будет изменяться от фдв к фвс.
Итак, для описания движения из положения Р, в положение Р(-+1 надо в соответствии с равенствами (4.4-16) —(4.4-27) вычислить ведущую функцию D(X); далее следует определить Тб(Х) по формуле (4.4-10) и с помощью программы решения обратной задачи кинематики вычислить соответствующие значения присоединенных координат. При необходимости применяется квадратическая интерполяция траектории между полученными точками в пространстве присоединенных координат.
Пример. Двигаясь по прямолинейной траектории в декартовом пространстве, манипулятор должен переместить болт из обоймы в одно из отверстий бруска, изображенного на рис. 4.6. Запишите все необходимые матричные уравнения, задающие движение манипулятора вдоль штриховой линии, обеспечивающее выполнение поставленной задачи. Для обозначения промежуточных точек траектории можно использовать буквы.
Решение. Пусть Р, — узловые точки траектории, через которые должен пройти схват манипулятора (i = 0, 1, 2, 3, 4, 5). Матричные уравнения будут иметь следующий вид:
в точке Ро: [BASE] [Тб] [Е] = [INIT] [Ро],	(4.4-34)
в точке F2: [BASE] [Тб] [Е] = [ВО] [PJ,	,	(4.4-35)
в точке Р2: [BASE] [Тб] [Е] = [ВО] [Р2],	(4.4-36)
201
в точке Р3: [BASE] [Тб] [Е] = [ВО] [Р3], в точке Р4: [BASE] ]Т6] [Е] = [BR] [Р4], в точке Р5: [BASE] [Тб] [Е] = [BR] [Р5],
(4.4-37)
(4.4-38)
(4.4-39)
где [BASE], [INIT], [ВО], [BR], [Тб], [Е], [Ро], [Р,], [Р2], [Р3], [Р4], [Р5]— матрицы однородных преобразований, имеющие размерность 4 X 4. Матрицы [BASE], [INIT], [ВО] и [BR] заданы относительно абсолютной системы координат; [Тб] задана относительно базовой системы; [Е] задана относительно
[Тб]; [Ро] задана относительно системы [INIT]; [Р(], [Р2] и [Рз] заданы относительно [ВО]; [Р4] и [Ps] заданы относительно [BR],
Для описания движения из Ро и Р] воспользуемся двойной индексацией, чтобы записать равенство (4.4-34) в системе координат Р]. В системе координат Ро имеем
[Тб] = [BASE]-1 [INIT] [Р00][Е]“‘.	- (4.4-40)
Записывая это равенство в системе Pi, получаем -[Тб] = [BASE]-1 [ВО] [Ро1] [ЕГ1.	-
Из равенств (4.4-40) и (4.4-41) находим
[Poi] = [BO]-'[INIT][P00]. -
(4.4-41)
(4.4-42)
202
Таким образом, переход из положения Ро в положение Pi вдоль прямолинейной траектории означает изменение конфигурации манипулятора с
[Тб] = [BASE]-1 [ВО] [Р01] [Е]~1	(4.4-43а)
на	[Тб] = [BASE]-1 [ВО] [Ри] [Е]-1.	(4.4-436)
Переход из точки Р/ в Р,+1 для i = 1, 2, 3, 4 осуществляется аналогично.
4.4.2.	Планирование прямолинейных траекторий с использованием кватернионов
Предложенный Полом способ построения прямолинейных траекторий опирается на описание заданных положений схвата манипулятора матрицами однородных преобразований. Такое представление заданных положений удобно и наглядно. Однако оперирование с матрицами предъявляет относительно высокие требования к объему памяти, используемой для их хранения в вычислителе, и к количеству выполняемых арифметических операций. Кроме того, матричное описание операций вращения является существенно избыточным, что может привести к вычислительной неустойчивости. Вместе с тем было показано, что представление вращений с помощью кватернионов позволяет задать более эффективное и более равномерное движение. Тэйлор [282] предложил два способа построения прямолинейных участков траектории между узловыми точками. Первый из них, называемый управлением в декартовых координатах, является усовершенствованием метода Пола и отличается от него тем, что для описания вращений используются кватернионы. Этот способ прост и обеспечивает более равномерное угловое движение. Однако он требует большого числа вычислений в процессе управления манипулятором, и, кроме того, им нельзя пользоваться при вырожденной конфигурации манипулятора. Второй способ, называемый способом планирования траекторий с ограниченными отклонениями, требует дополнительного этапа планирования. На этом этапе производится выбор узловых точек в количестве, достаточном для того, чтобы траектория в пространстве присоединенных переменных между узловыми точками задавалась путем линейной интерполяции и при этом отклонения схвата от прямолинейной траектории не превышали бы заданной величины. Этот способ существенно снижает количество вычислений, необходимых на каждом участке траектории.
Кватернионы. В последние дессятилетия аппарат кватернионов успешно применялся в задачах анализа пространственного движения механизмов. Мы воспользуемся кватернионами для упрощения описания ориентации схвата манипулятора в за
203
даче планирования прямолинейной траектории. Кватернион представляет собой упорядоченную четверку вещественных чисел s, а, Ь, с, связанных соответственно с четырьмя базисными элементами: вещественным числом 4-1 и тремя другими единичными элементами i, j, к, обладающими следующими свойствами:
i2 = j2 = k2 — — 1, ij = k, jk=i, ki = j, ji = — k, kj = — i, ik = — j.
Единичные элементы i, j, k можно рассматривать как базисные векторы декартовой системы координат в трехмерном пространстве. В этом случае кватернион Q может быть записан в виде суммы скалярной части s и векторной части и:
Q = [s 4- v] = s 4- ai 4- bj 4- ck = (s, a, b, c).	(4-4-44)
Следующие понятия и свойства являются основными в алгебре кватернионов:
•	Скалярная часть Q : s.
•	Векторная часть Q : ai 4- Ь] 4- ck.	'
•	Кватернион, сопряженный Q : s — (ai 4- 4* ck).
•	Норма Q : s2 4- a2 4- 4- c2-
tz	x	„	„ s — (ai 4- fti 4- ck)
•	Кватернион, обратный Q: s2 2j_ а2 + 62 + c2 •
•	Единичный кватернион: s 4- oi 4- b] 4- ck, где s24-a2-|-4-&2 4-C2===1
Важно отметить, что подмножествами кватернионов являются вещественные числа (s, 0, 0, 0), комплексные числа (s, а, 0, 0) и векторы трехмерного пространства (0, а, Ь, с). Сложение (вычитание) двух кватернионов производится путем сложения (вычитания) всех соответствующих элементов задающей кватернион четверки чисел. Произведение двух кватернионов вычисляется следующим образом:
QA = (sj 4- aj + М + <4k) (s2 4- a2i 4- b2j 4- c2k) =
= (S'Sz — V, • v2 4- S2V1 4- SjV2 4- V! X v2).	(4.4-45)
Это выражение получается непосредственным применением распределительного закона обычной алгебры, но с учетом порядка перемножения единичных элементов. В общем случае произведение двух векторов трехмерного пространства, записанных в форме кватернионов, представляет собой не вектор, а кватернион, т. е. если Qi = [0 4-vi] = (0, ai, Ь\, щ) и Q2 = [0 4-v2] = = (0, a2, b2, с2), то в соответствии с выражением (4.4-45)
QA = ~ V] • v2 4- v, X v2.
204
Алгебра кватернионов дает простой и удобный аппарат описания конечных поворотов в трехмерном пространстве. Если ввести обозначения
о • Г 01 z-> Г 01 S=sin -х-, C = cos -х- ,
L " J	L 2 J
то поворот Rot(n, 0) на угол 0 вокруг оси п можно представить кватернионом
Rot (п, 0) = £cos + sin n].	(4.4-46)
Пример. Поворот на 90° вокруг вектора к, сопровождаемый поворотом на 90° вокруг вектора ]', можно представить в виде произведения кватернионов
(cos 45° -J- j sin 45°) (cos 45° + k sin 45°) = (1/2 + j/2 + k/2 -|- i/2) =
= Г1/2 +	 -^-1 = Feos 60° + Sin 60° i + 1‘±k1 =
I V3 2 J L	-а/з J
= RotFi-+j+-k-, 120°].
L уз J
Результирующим является поворот на 120° вокруг оси, составляющей одинаковые углы с осями i, j, к. Отметим, что результирующий поворот можно было бы определить, воспользовавшись матрицами поворотов, рассмотренными в гл. 2. Однако кватернионы дают гораздо более простую форму представления. Таким образом, для описания поворотов можно пользоваться как матрицами, так и кватернионами.
В заключение этой части раздела в табл. 4.5 приведены вычислительные затраты, необходимые для выполнения некоторых обычных операций с поворотами, при описании с помощью кватернионов и при матричном представлении.
Таблица 4.5. Вычислительные затраты при описании вращений матрицами и кватернионами
Операция	Описание с помощью кватернионов	Описание с помощью матриц
RlR2 Rv R-> Rot (п. 0)	9 сложений, 16 умножений 12 сложений, 22 умножения 4 умножения, 1 квадратный корень, 1 арктангенс	15 сложений, 24 умножения 6 сложений, 9 умножений 2 квадратных корня, 8 сложений, 10 умножений, 1 арктангенс
Способ управления в декартовых координатах. За время Т требуется перевести схват манипулятора из узловой точки Fo
205
в узловую точку Ft, обеспечив прямолинейное движение. Здесь F/ (i = 0, 1) представляет собой матрицу однородного преобразования, задающую положение системы координат схвата в узловой точке:
F = Г R< Р/1
1 L о 1 г
Движение вдоль выбранной траектории представляет собой поступательное перемещение точки начала системы координат схвата из положения р0 в положение pi и одновременное вращение системы координат схвата, переводящее ее ориентацию из Ro в Ri. Пусть k(t)—доля пути, которую остается пройти манипулятору в момент t. При равномерном движении имеем

(4.4-47)
где Т — полное время движения вдоль рассматриваемого участка траектории, a t — время, прошедшее с момента начала движения вдоль этого участка. Положение и ориентация системы координат схвата в момент t определяются соответственно равенствами
р (0 = Р1 - А, (О (Р1 - Ро), г	(4.4-48)
R (Z) = Rt Rot [п, -0%(О],	(4.4-49)
где Rot(n, 0)—поворот на угол 0 вокруг оси п, переводящий матрицу ориентации схвата из Ro в Rt:
Rot(n, 0) = Ro-'Rt.	(4.4-50)
Последнее равенство означает, что Rot(n, 0) описывает в форме кватерниона поворот, задаваемый матрицей Ro^Ri. Следует отметить, что вектор р] — ро в равенстве (4.4-48) и вектор п и угол 0 в равенстве (4.4-49) в том случае, если система координат Ft неподвижна, достаточно вычислить только один раз. С другой стороны, если точка, в которую должен быть перемещен схват, движется, то меняется и матрица F], В этом случае pi — ро, п и 0 должны вычисляться на каждом шаге, и, как показал Тэйлор [282], может иметь место ситуация погони.
Если схват манипулятора должен переходить с одного участка траектории на другой с постоянным ускорением, между участками будет иметь место интервал разгона или торможения. Для реализации такого движения ускорение должно включаться за время т до прохода точки пересечения рассматриваемых участков и выключаться через время т после прохода этой точки. Из этого требования вытекают граничные условия для
206
участка перехода
р(Г,—г) = Р,-^.	(4.4-51)
' .	Р(Л+’) = Р1 + 17Г.	.	(4-4-52)
	<4-4-53)
4pWU«=T7--	<4-4-54)
где Api = pi — ро; Др2 = р2 —рг, Т\ и Т2 — соответственно интервалы времени, в течение которых проходятся первый и второй участки. Если на участке перехода действует постоянное ускорение
^-р(/) = ар,	(4.4-55)
то двукратным интегрированием (4.4-55) с учетом граничных условий получаем равенство, описывающее поступательное движение системы координат схвата:
Р (О = Pi ~ (Т4у/ 2- ЛР1 + ЧУ?" Ар2’ (4-4-56)
где t' = T\— t—время до момента пересечения двух участков траектории. Аналогично получается уравнение, описывающее изменение ориентации системы координат схвата:
R(0 = R, Rotfnj, - (T-~^4]Rot|n2, -	(4.4-57)
где
Rot (nb 9j) = R0“R] и Rot(n2, 02) = Ri ^г.
Последние два равенства обозначают представление соответствующих заданных матрицами поворотов в форме кватернионов. Полученные уравнения, описывающие поступательное и вращательное движение системы координат схвата, обеспечивают плавный переход между двумя участками траектории. Следует отметить, что угловое ускорение будет постоянным только в том случае, если гц и п2 параллельны или если одна из угловых ско-6)	е2
ростеи ф1==— или ф2 = -уг- равна нулю.
Траектория с ограниченными отклонениями. Описанный выше способ формирования траектории в декартовых координатах требует существенных затрат вычислительного времени. Кроме того, в реальном времени весьма сложно реализовать учет ограничений на движение манипулятора в пространстве присоединенных переменных. Существует ряд возможностей устранить эти трудности. Можно заранее (до осуществления
207
движения) получить и записать в память вычислителя решение обратной задачи кинематики, моделируя работу алгоритма. Реализовать заданное движение в этом случае не составит труда, поскольку последовательность точек управления будет просто считываться из памяти компьютера. Другой возможный путь состоит в том, чтобы заранее вычислить значения присоединенных координат в некоторой последовательности точек каждого из участков траектории и затем осуществить интерполяцию полиномами низкой степени. Сложность такого подхода состоит в том, что число промежуточных точек, необходимое для осуществления движения, достаточно близкого к прямолинейному, зависит от выполняемого движения. Априорный выбор интервала, достаточно малого для того, чтобы обеспечить малые отклонения от прямолинейного движения, приводит к резкому возрастанию объема предварительных вычислений и используемых ресурсов памяти. Учитывая все это, Тэйлор [282] предложил способ планирования траекторий в пространстве присоединенных переменных, называемых траекториями с ограниченными отклонениями. Этот метод позволяет на этапе предварительных вычислений выбрать промежуточные точки в количестве, достаточном для того, чтобы отклонения планируемой траектории схвата от прямолинейной не превышали некоторых заданных пределов.
При таком подходе сначала вычисляются векторы присоединенных координат q(, соответствующие узловым точкам траектории, заданным в декартовом пространстве. Затем вычисленные векторы используются в качестве узловых точек в процедуре построения траектории изменения присоединенных переменных, аналогичной процедуре, используемой при построении траектории в декартовых координатах. Движение из точки q0 в точку qi описывается уравнением
=	(4.4-58)
а при переходе от участка между q0 и q1 к участку между qi и q2 движение задается формулой
Ч (Л = Я. - Ай? М, + Aife? 4%.	(4.4-59)
где Aqi = qi~qo, Aq2 = q2— qi, a T\, T2, к и t' имеют тот же смысл, что и выше. Эти уравнения обеспечивают постоянную скорость движения между узловыми точками в пространстве присоединенных координат и плавный переход с постоянным ускорением от одного участка траектории к другому. Однако при этом система координат схвата может существенно отклоняться от заданной прямолинейной траектории. Величина отклонения характеризуется разностью между F,?), описывающей
208
положение схвата, соответствующее точке qz(t) в пространстве присоединенных переменных, и Fd(Q, описывающей положение схвата в момент t при условии его движения по заданной прямолинейной траектории в декартовом пространстве. Отклонения положения и ориентации определяются соответственно формулами
6₽ = 1Р/(0- Pd(OL	(4.4-60)
= | угловая часть Rot (n, <p) | — | ф |,	(4.4-61)
где Rot(n, q>) = RJ1 (/)R/(0-
Задавая максимальные допустимые отклонения по положению и ориентации б“акс и д«акс, мы потребуем выполнения условий
6Р<СКС и	(4.4-62)
Для этого необходимо выбрать достаточное количество промежуточных точек между двумя последовательными узловыми точками. Предложенный Тэйлором [282] способ построения траекторий с ограниченными отклонениями является по существу алгоритмом последовательного построения промежуточных точек, обеспечивающих выполнение условий (4.4-62). Этот алгоритм обладает быстрой сходимостью, хотя формируемый с его помощью набор промежуточных точек и не является минимальным. Этот алгоритм приведен ниже.
Алгоритм формирования траекторий с ограниченными отклонениями. При заданных максимальных отклонениях 6р'акс и 6ракс по положению и ориентации соответственно и заданных узловых точках F, траектории в декартовом пространстве этот алгоритм формирует последовательность промежуточных узловых точек в пространстве присоединенных переменных такую, что отклонения системы координат схвата от заданной прямолинейной траектории в дакартовом пространстве не превышают заданных пределов.
S1.	Вычисление значений присоединенных переменных. Определить векторы присоединенных координат q0 и q>, соответствующие точкам Fo и Fb
S2.	Вычисление средней точки в пространстве присоединенных переменных. Вычислить среднюю точку qm в пространстве присоединенных переменных
Чт = Ч( — ‘/г Aq1(
где Aqi=qi — qo, и вычислить положение Fm системы координат схвата, соответствующее значениям присоединенных координат qm.
S3.	Вычисление средней точки в декартовом пространстве. Вычислить соответствующую среднюю точку F, траектории в
209
декартовом пространстве:
рс = ^^, Rc = Rt Rot ^rtj,	-|j,
где Rot (n, 6) = Ro^Ri-
S4.	Вычисление отклонения. Вычислить отклонение Fm от Fc 6p = IPm — Pc 1. &R = I угловая часть Rot(n, <p) = R7Rm | = I ф I °.
S5.	Проверка условия ограниченности отклонений. Если dp^dpaKC и ^6ракс, закончить работу алгоритма. В противном случае вычислить вектор qc присоединенных координат, соответствующих точке Fc декартовой траектории, и выполнить шаги S2 — S5 последовательно для двух подынтервалов, заменяя F] на Fc и Fc на Fo.
Этот алгоритм обладает достаточно быстрой сходимостью. Как правило, на одной итерации максимальное отклонение уменьшается примерно в 4 раза. Тейлор [282] исследовал скорость сходимости представленного алгоритма для цилиндрического манипулятора (два поступательных и два вращательных сочленения). Оказалось, что на одной итерации максимальное отклонение уменьшается не более чем в 4 и не менее чем в 2 раза в зависимости от положения манипулятора.
Итак, метод построения траекторий с ограниченными отклонениями состоит в формировании последовательности промежуточных точек в пространстве присоединенных переменных, обеспечивающей движение схвата в декартовом пространстве вдоль траектории, отклонение которой от заданной прямолинейной траектории не превышает заданных пределов.
4.4.3. Описание траектории кубическими полиномами с учетом ограничения моментов
В предложенных Тэйлором способах планирования прямолинейных траекторий формирование векторов присоединенных координат {q(0, 4(0, 4(0} вдоль заданной в декартовом пространстве траектории производится без учета динамики манипулятора. Однако характеристики силовых приводов сочленений имеют участки насыщения, и величина развиваемых приводами сил и моментов ограничена. Ограничения располагаемых сил и моментов необходимо учитывать при планировании прямолинейных траекторий. Это приводит также к необходимости двух последовательных этапов в осуществлении управления манипуля-
Правильнее писать 6ff = | угловая часть Rot (я, <р) | = | <р |, где Rot (я, <р) =	— Прим. перев.
210
тором: выбор оптимальной траектории до начала движения и регулирование движения вдоль выбранной траектории в процессе работы манипулятора.
При планировании прямолинейных траекторий в декартовом пространстве условия, которым должна удовлетворять траектория, задаются в декартовых координатах, в то время как ограничения реализуемых приводами сил и моментов задаются в пространстве присоединенных переменных. Таким образом, возникает задача оптимизации с ограничениями, заданными в различных системах координат. Путем аппроксимации полиномами низкой степени можно сформировать траекторию манипулятора в пространстве присоединенных переменных, соответствующую траектории в декартовом пространстве, и проводить оптимизацию траектории и регулирование движения на уровне присоединенных переменных [59]. Другая возможность состоит в том, чтобы преобразовать ограничения сил и моментов к декартовой системе координат, в которой затем проводить оптимизацию траектории и регулирование движения [165].
Несмотря на необходимость проведения многочисленных нелинейных преобразований из декартовой системы координат в пространство присоединенных переменных, более простым оказался подход, в котором планирование траектории ведется на уровне присоединенных переменных. Лин [172] предложил способ интерполяции траектории в пространстве присоединенных координат между узловыми точками, выбранными на заданной прямолинейной траектории. С помощью этого способа прямолинейная траектория в декартовом пространстве преобразуется в N траекторий присоединенных переменных — по одной для каждого сочленения. Поскольку аналитический вид такого преобразования неизвестен, используются способы полиномиальной интерполяции, позволяющие аппроксимировать заданную траекторию. Для этого на заданной траектории выбирается достаточное число узловых точек и каждый из участков между двумя последовательными узловыми точками аппроксимируется А полиномами— по одному для каждой присоединенной переменной. Аппроксимирующие полиномы должны проходить через узловые точки. Для аппроксимации Лин [172] выбрал кубические полиномы, позволяющие получить достаточно гладкую траекторию при малых перерегулированиях по угловому положению между соседними узловыми точками. Между каждыми двумя соседними точками из п используемых узловых точек траектория аппроксимируется отрезком кубического полинома. Значения присоединенных координат в п— 2 узловых точках фиксированы. В двух узловых точках значения присоединенных координат априорно не определены. Это необходимо для того, чтобы обеспечить выполнение условий непрерывности по положению, скорости и ускорению вдоль всей траектории. Для определения не
211
известных коэффициентов полиномов нужно решить систему п — 2 уравнений. Получаемое векторное уравнение имеет удобную для решения структуру. Его решениями являются аппроксимирующие траекторию функции, которые зависят от интервалов времени между узловыми точками. Для минимизации времени прохождения всей заданной траектории нужно скорректировать величины этих интервалов с учетом имеющихся ограничений. Тем самым задача сводится к минимизации времени движения путем соответствующего выбора временных интервалов.
Пусть однородная матрица Н (/) описывает положение системы координат схвата. Схват должен пройти последовательность узловых точек в декартовом пространстве: Н(Л), Н(/2), ..., Н(/„). Векторы присоединенных координат (q^, <721,	<7wi), (<712, <722.<7<v2),	(<7ш, <72л, Япп), соот-
ветствующие этим узловым точкам, вычисляются с помощью программы решения обратной задачи кинематики. Здесь <7/( обозначает /-ю присоединенную переменную, соответствующую положению схвата в 7-й узловой точке Н(/(). Требуется построить кубическую интерполяцию траектории /-й присоединенной переменной между точками [<7/i(7i), ^/2(^2), ..., qm{tn}}, где t\ < < ti <...<tn — моменты прохождения узловых точек. В начальный момент t = t\ и конечный момент t — tn заданы соответственно начальные <7/1, v/\, ац и конечные qjn, ищ, afn (положение, скорость и ускорение). Кроме того, значения присоединенной переменной q^ в моменты времени tk заданы для k = = 3, 4, ..., п — 2. Значения <72 и qn-\ не определены: как уже говорилось, это необходимо для обеспечения непрерывности кинематических характеристик вдоль всей траектории.
Пусть <?/;•(/)—кубический полином, описывающий поведение /-Й присоединенной переменной между узловыми точками Н, и Нг+1 и определенный на интервале 7<+1]. Задача состоит в «сшивке» между собой полиномов Q/z(O (г = 1, 2, ..., п—1) так, чтобы они проходили через заданные узловые точки и обеспечивалась непрерывность положения, скорости и ускорения на всем интервале Ui, /«]. Поскольку Q/<(0 — кубический полином, его вторая производная <5/z(0 является линейной функцией времени t:
Qn(t)=	( Ui г) Q/<(W	’ '
(4.4-63)
где ui = ti+\ — ti — время, затрачиваемое на прохождение t-го участка. Дважды интегрируя <5/<(0 и учитывая граничные условия Q/;(6) =<7/, и Q;1(/i+i) =<7/, i+i, получаем интерполирующую
212
функцию следующего вида:
<3/, (') - 4^	+ ТГ1 <' - W +
«Щ. _	_ /() + рц. _ ЛйДЧ ] (,Ж _
i = 1, 2, ..., п — 1, /=1,2...N.
(4.4-64)
Таким образом, для i = l, 2, ..., и—1 Qji(t) определены, если известны Qji(ti) и <5/«(/;+1). На основании этого можно записать систему п — 2 линейных уравнений относительно неизвестных Qji(h), i — 2.....n— 1:
AQ = b,	(4.4-65)
Q/2 (h)
Q =
_ Q/, я-J
3W] 4" 2«2 4" u2	0	0,
*♦2
tl?
«2 — —	2 (u2 + U3)	«3	'	.
0	u3 2 («3 4- «4)	:	.
' 0	«4	2(^4 4-«п-з)
О	ООО
oo о 'о
•	«П-З и2
•	•	2 (ura_3 4- м„_2)	ип_2 —-j-
ип
0	0	^п—2	]Н“ 2u/2_2“F
213
Структура матрицы А позволяет легко определить Q, подстановкой которого в выражение (4.4-63) получается окончательный вид Qjilt). В окончательном виде полиномы зависят от интервалов времени Ut и заданных значений присоединенных координат, скоростей и ускорений. Матрица А в уравнении (4.4-64) всегда неособенная, если интервалы и, положительны. Поэтому задача интерполяции траектории кубическими полиномами всегда имеет единственное решение.
Поскольку характеристики силовых приводов сочленений имеют участки насыщения и развиваемые приводами моменты и силы ограничены, минимальное общее время движения вдоль траектории, описываемой кубическими полиномами, определяется максимальными значениями присоединенных скоростей, ускорений и допустимой скоростью изменения ускорения. Для увеличения скорости работы манипулятора нужно минимизировать время движения вдоль заданной траектории. Этого можно достичь соответствующим выбором величин интервалов щ с учетом ограничений присоединенных скоростей, ускорений, моментов и скоростей изменения ускорений. Задачу можно сформулировать следующим образом: минимизировать целевую функцию Т
п — 1
(4.4-66) i = i
при следующих ограничениях:
214
Ограничение по скорости: | Q/(- (?) |	V{,
' ~	j=l,...,N,
I = 1, ..., п — 1.
Ограничение по ускорению: I Q/(-(О I
/ = 1, N,
<	I = 1......п — 1.
Ограничение по скорости изменения ускорения: | -^rQn (О1 =О/> /=1, ..., N,
I = 1, ..., п — 1.
Ограничение моментов: | т, (/) |	Г/, /=1, N.
Здесь Т—общее время движения вдоль заданной траектории; Vj, А,, // и Г, соответственно максимальные значения скорости, ускорения, скорости изменения ускорения, момента в /-м сочленении.
Строгое представление этих ограничений приведено ниже.
Ограничение по скорости. Дифференцируя равенство (4.4-64) и заменяя Q//(6) и Q;i(C+i) соответственно на ыц и со/, I+b получаем
<Э/( (0 = S' + Лг1« ~ +
+ ГДи±Ь_ '|-,Г1Д_^ф£1|	(4.4-67)
' I и,	6	U. 6	v 7
L I	-I L I	-J
Q/c (О =	((	^ + i)«	(4.4-68)
где со/> — ускорение в узловой точке Н/. Оно равно Q/«(^), если Qji(t) проходит через узловую точку Н; в момент Скорость достигает своего максимального по абсолютной величине значения в одной из точек С, ti+i или 1Ь при этом h е [ti, /z+i] и =0. Ограничение по скорости, таким образом, принимает вид
max | Qu I = max [ | Q/( (/z) |, I Q/; (C+1) I, I Qu (h) I ] < V/, ti + n
i = 1, 2, ..., n — 1,
/=1, 2, .... N,	(4.4-69)
215
где
iQji О =
®ii .. । ?/. i + l — i	®i,l + l)Ui
— И/ + ------------- +	§
< + !..	,	+	, (®/Z	f + l)
----2----Ui + ----------u.--------h 6 U‘ ’
Qidit)\ = <
i+lui i (Ю/>	Ю/, >' + |)Цг i ?/t + l	?/Z I
2(M/f-“/,z + i) +	6	Ui Г
если со/г со/ г+1 и tt е [tt, 6+1],
если со/г = coy Z+I или tt ф [/г, /г+1].
Ограничения по ускорению. Между двумя узловыми точками ускорение линейно зависит от времени. Поэтому максимальная абсолютная величина ускорения достигается в точке t( или в точке 6+1 и равна максимальной из величин {|со/(|, |со/, z+i|}. С учетом этого ограничение по ускорению принимает следующий вид:
max {|	|, | ©/г |, .... | сом |} < А{,
j=\,2,...,N.	(4.4-70)
Ограничения по скорости изменения ускорения.
м/, Z+I ~ Ю/|
и.
I

/=1, 2, ..., N,
i — 1, 2, ..., п — 1.
(4.4-71)
Ограничения моментов. Момент, который должен быть создан силовым приводом для реализации заданного движения, можно рассчитать с помощью уравнений динамики движения манипулятора (равенство (3.2-25)):
Т/(0=	(/))(?/, (/) +
ke 1	' .>	«	i	: -
N N
 + Z	+	(4.4-72)
где	'
= Q2i(t)...........QNi(t)Y,
/= 1, 2.....
r	i=l, 2.....n —1.
Если условия ограничения моментов не выполняются, должно быть произведено динамическое временное масштабирование траектории, обеспечивающее выполнение этих условий [8, 122].
Для решения сформулированной задачи оптимизации при наличии ограничений надо выбрать подходящий алгоритм опти
216
мизации. Существует несколько алгоритмов оптимизации для задач такого типа. Лин и др. [172] воспользовались методом гибкого поиска, предложенным Нелдером и Медом. Результаты применения этого оптимизационного метода изложены в работе И72]. .
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 м. Требуется переместить манипулятор из начального положения (%о, Уо) — (1,96, 0,50) в конечное положение
(хъ У/) = (1,00, 0,75). Начальные и конечные скорости и ускорения равны нулю. Найти коэффициенты кубических полиномов, описывающих заданное движение по каждой из присоединенных переменных. Допускается разбиение траектории на несколько участков.
4.4.	Планирование 4-3-4-траекторий требует решения векторного уравнения (4.3-45). Всегда ли существует матрица, обратная матрице (4.3-46)? Обоснуйте свой ответ.
4.5.	Для манипулятора Пума 560, системы координат звеньев которого заданы на рис. 2.11, требуется построить 4-3-4-траекторию для следующих условий движения. Начальное положение манипулятора задается матрицей однородного преобразования Тн:
г -0,660 -0,436 -0,612 -184,099-1
—0,750	0,433	0,500	892,250
0,047	0,789	—0,612	—34,599
- 0	0	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 % от de (величина de составляет 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 
- ° ° ° 1-1
Положение в точке подхода задается матрицей Тн:
г	0	1	0	100,0-1
1	0	0	400,0
Ти==	0	0	-1	-50,0	•
’	Lt) 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
	-00.0	1 -		- 0	0 0	1 -
Движение из А в В представляет собой композицию поступательного перемещения и двух поворотов, как это описано в разд. 4.4.1. Найдите 9, ф, ф и х, у, г соответствующего ведущего преобразования. Найдите также три промежуточных преобразования между А и В.
4.8.	Требуется осуществить прямолинейный переход манипулятора из точки А в точку В, сопровождаемый разворотом с постоянной угловой скоростью на угол 9 вокруг вектора k. Точки А и В заданы следующими матрицами однородных преобразований:
--1	0	0	10-1
0	1	0	10
0 0-1 10
- 0	0	0	1 -
-0-10 10-1
0	0	1	30
-1	0	0	10
- О	0	0	1-
Найти вектор к и угол 9. Найти также три промежуточных преобразования между А и В.
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, который используется в качестве ЭВМ верхнего уровня. На
Рис. 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	. ,
обратной связи по положению и скорости для коррекции расчетных моментов с целью обеспечения необходимой величины управляющего сигнала, подаваемого на двигатели сочленений
6.3.1.	Передаточная функция одного сочленения робота
В этом разделе излагаются методы получения передаточной функции одного сочленения робота, с помощью которых можно построить пропорционально-дифференциальные регуляторы (ПД-регуляторы). Рассмотрены также методы построения регулятора для многосуставных манипуляторов, движение которых описывается уравнениями Лагранжа — Эйлера или Ньютона—Эйлера. При анализе одно сочленение манипулятора робота трактуется как линейная непрерывная система, к которой для упрощения вычислений может быть применен метод преобразований Лапласа.
Большинство промышленных роботов имеют электрические, гидравлические или пневматические приводы. Манипуляторы с электрическими приводами чаще всего оснащаются двигателями постоянного тока с независимым возбуждением в каждом сочленении. Двигателями постоянного тока являются, как правило, двигатели с постоянным магнитом, якорным возбуждением и с непрерывным вращением выходного вала. Они сочетают в себе такие качества, как высокая мощность, плавность хода, возможность работы на малых скоростях, линейность нагрузочной характеристики и небольшие постоянные времени. Использование постоянного магнитного поля и энергии постоянного тока обеспечивает максимальный момент при минимальной энергии, затрачиваемой на питание, и при минимальном весе. Эти параметры также позволяют снизить индуктивность двигателя и, следовательно, величину постоянной времени, обусловленную электрическими взаимодействиями. На рис. 5.3 приведена эквивалентная схема двигателя постоянного тока с управлением в цепи якоря, который может быть использован в сочленении манипулятора. Основными переменными величинами в этой схеме являются следующие:
Va—напряжение якоря, В;	‘	. л .
Vf — напряжение поля, В;
La — индуктивность якоря, Гн;
Lf — индуктивность поля, Гн;
Ra — сопротивление якоря, Ом;
jRf — сопротивление поля, Ом;
ia — ток якоря, А;
*> Двигатели, встроенные в шарниры звеньев, здесь и далее будем для краткости называть двигателями сочленений. — Прим, ред,
8*	227
if — ток поля, А;
еь —электродвижущая сила, В;	:!
т —момент, развиваемый двигателем, Н-м;
0т — угловое перемещение вала двигателя, рад;
0L —угловое перемещение вала нагрузки, рад;
Jm — момент инерции двигателя, приведенный к валу двигателя, н-м-с2/рад;
fm — коэффициент вязкого трения двигателя, приведенный к валу двигателя, н-м-с/рад;
JL — момент инерции нагрузки, приведенный к валу нагрузки, н-м-с2/рад;
fL — коэффициент вязкого трения нагрузки, приведенный к валу нагрузки, н-м-с/рад;
Nm—число зубьев внутреннего редуктора (редуктора двигателя) ;
Ад—число зубьев внешнего редуктора (редуктора нагрузки).
Рис. 5.3. Эквивалентная схема двигателя постоянного тока с управлением в цепи якоря.
Нагруженное звено соединяется с выходным валом двигателя с помощью редуктора — механической системы передач. Как следует из схемы системы передач, показанной на рис. 5.4, общее линейное перемещение редукторов при их взаимодействии одинаково, т. е.
dm = dL и rmGm = rLeL,	(5.3-1)
где гт и гд — соответственно радиусы взаимодействующих шестерен внутреннего и внешнего редуктора. Так как радиус шестерни пропорционален числу зубьев, то
или
iva=JVA
е,
-т----L- — >1 <* ।
Nr “ 8	1
L tn
(5.3-2)
(5.3-3)
228
где п — передаточное отношение, связывающее 9l и 9т следующим образом:
04(О = п0„,(О.	(5.3-4)
Продифференцировав два раза, получим
 ’	0t(O = nL(O	(5-3-5)
и	0L(/) = n0m(O-	(5.3-6)
Если нагрузка подсоединена к внешнему редуктору, момент,
Рис. 5.4. Анализ системы механической передачи.
обеспечиваемый выходным валом двигателя, равен сумме Моментов, потребляемых двигателем и нагрузкой.'
Таким образом,
Момент на" валу двигателя -
Момент I двигателя J
[Момент нагрузки,' приведенный
к валу двигателя -
(5.3-7)
или в другой форме
т(0 = тт(0 + <(/).	(5.3-8)
229
Момент нагрузки, приведенный к валу нагрузки, равен
+	(5.3-9)
а момент двигателя, отнесенный к валу двигателя, равен
=	+	(5.3-10)
По закону	сохранения	энергии	работа,	которая	производится
нагрузкой,	приведенной	к	валу	нагрузки	тдОд,	должна	равняться
работе, приведенной к валу двигателя т^О^. Из этого следует, что
. т, (0 е, (/)
<(') = \m^-=nrL (t).	(5.3-11)
С учетом уравнений (5.3-9), (5.3-5) и (5.3-6) имеем
т1(0 = п2[/Х(0 + /А(/)].	(5.3-12)
Используя уравнения (5.3.10) и (5.3.12), запишем выражение для момента, развиваемого выходным валом двигателя:
Т (0 = Тт (/) + т! (/) = (jm + n2JL) ёт (/) + (f т + n2fL) Qm (t) =
ЧАЖ feffOm(t),	(5.3-13)
где Jen — Jm -j- n2Ji — суммарный эффективный момент инерции двигателя и нагрузки, приведенный к валу двигателя, a fen — ~fm + n2fi — суммарный коэффициент вязкого трения двигателя и нагрузки, приведенный к валу двигателя.
Основываясь на полученных выше результатах, можно определить передаточную функцию рассматриваемой системы одного сочленения манипулятора. Поскольку момент на валу двигателя линейно зависит от тока якоря и не зависит от скорости и углового положения, получим
Ч) = КЛ(0,	(5.3-14)
где Ка — коэффициент пропорциональности, имеющий размерность н-м/А. Используя закон Кирхгофа для контура якоря, получим
^а(0 = /?Л(/) + ^^Р- + ^(0.	(5.3-15)
где еь — электродвижущая сила, пропорциональная угловой скорости двигателя:
е&(0 = Жт(0,	(5-3-16)
а Кь — коэффициент пропорциональности, имеющий размерность В-с/рад. Производя преобразование Лапласа над полу-
230
ченными уравнениями и решая их относительно Ia(s), получим ; (s) = Va^ -sKbem(S) _	(5 3 17)
Аа ~г
В результате выполнения преобразования Лапласа над уравнением (5.3-13) имеем
T(s) = s4eliejS) + sfe!iQm(S).	(5.3-18)
Производя преобразование Лапласа над уравнением (5.3-14) и подставляя в него значение Ia(s) из уравнения (5.3-17), получим
Т (s) = KaIa (s) = Г Ка	(S) I •	(5-3-19)
L i\a~v ъьа J
Приравнивая уравнения (5.3-18) и (5.3-19) и группируя члены, получаем передаточную функцию от напряжения якоря к угловому перемещению вала двигателя
Qm (s)________________________Ца__________________/с о пт
va(s) s[s*JettLa + (Lafeti + RaJ&fl)s + Rafet, + KaKb] •	>
Так как величина постоянной времени двигателя, обусловленная электрическим взаимодействием, намного меньше ее величины,
Рис. 5.5. Передаточная функция разомкнутой системы одного сочленения манипулятора робота.
обусловленной механическими факторами, можно пренебречь влиянием индуктивности якоря La. Это позволяет упростить предыдущее уравнение и записать его в виде
,	(s)_____________Кд___________________К______ /е о о 1 \
 :,,fi va (s) - s (sRaJeff + Rafelt + KaKb)	s (Tms + 1) ’
— передаточный коэффициент двигателя и
у. у\	R lj~ С * t
01 = RaU + KaKb
<4-постоянная времени двигателя.
231
Поскольку выходом системы управления является угловое перемещение сочленения [0i(s)], используя уравнение (5.3-4) и его преобразование Лапласа, можно отнести угловое положение сочленения 0z.(s) к напряжению якоря ya(s), т. е.
(S)	пКа
Va^ “ 5 Weff+^eff + W '
Уравнение (5.3-22) является передаточной функцией одного сочленения манипулятора, связывающей прикладываемое напряжение с угловым перемещением сочленения. Блок-схема системы показана на рис. 5.5.
(5.3-22)
5.3.2. Устройство позиционирования для одного сочленения манипулятора
Назначением устройства позиционирования является управление двигателем таким образом, чтобы реальное угловое перемещение сочленения совпадало с желаемым угловым перемещением, определяемым заданной траекторией (см. гл. 4). Управление основано на выработке сигнала ошибки между заданным и действительным угловыми положениями сочленения для выработки соответствующего управляющего напряжения. Другими словами, прикладываемое к двигателю напряжение прямо пропорционально ошибке между заданным и действительным угловыми перемещениями сочленения:
(5.3-23>
где КР — коэффициент передачи обратной связи по положению, имеющий размерность В/рад, е (О — Q1 (0 —- О/. (0 —- ошибка системы, п — передаточное отношение, учитывающее приведение управляющего напряжения к валу двигателя. Из уравнения (5.3-23) следует, что значение действительного углового положения сочленения подается на вход системы для выработки сигнала ошибки. Этот сигнал усиливается на величину коэффициента передачи обратной связи по положению Кр для того, чтобы получить требуемое управляющее напряжение. Таким образом, мы преобразовали систему одного сочленения робота из разомкнутой системы управления, которая описывалась уравнением (5.3-22), в замкнутую систему управления с помощью блока отрицательной обратной связи (рис. 5.6). Текущее угловое положение сочленения может измеряться с помощью оптического кодирующего устройства или потенциометра.
Применяя преобразование Лапласа к уравнению (5.3-23)
Va (*) =
п	п
(5.3-24)
232
и подставляя Уа($) в уравнение (5.3-22), получим передаточную функцию разомкнутой системы, связывающую ошибку управляющего сигнала [£($)] с текущим положением сочленения:
(s) д G (s) = -___:__________________ (5.3-25)
E (s) == W s (sRaLeSf + Rafefi + какь) 
После нескольких простых алгебраических преобразований можно получить передаточную функцию замкнутой системы,
Рис. 5.6. Управление с обратной связью одним сочленением манипулятора.
представляющую собой отношение действительного углового перемещения ©/.(s) к желаемому ©1 (s) угловому перемещению:
dL (s) = G(s) =____________________КаКр_______________
&dL(s) I + G (s) s2RaJeti + s(RafM + KaKb) + КаКр
_ ________________KgKp/Rgfeit______________ /e о
s2 + [(Ven + KaKb)/RaJeit] s + KaKPIRaJ^ 
Из уравнения (5.3-26) видно, что пропорциональный регулятор для одного сочленения робота представляет собой систему второго порядка, которая является устойчивой, если все коэффициенты системы положительны. Для того чтобы улучшить динамику системы и уменьшить статическую ошибку, можно увеличить коэффициент передачи обратной связи Кр и ввести демпфирование в систему путем учета производной от ошибки позиционирования. Угловая скорость сочленения может измеряться тахометром или вычисляться по соответствующим величинам между двумя последовательными положениями сочленения. С учетом этого замечания управляющее напряжение двигателя будет прямо пропорционально ошибке позиционирования и ее производной, т. е.
Кр [61 (О - 6L СО] +	[61 (0 - 0д (0] Кре (Z) +	(Z)
* aV>	п	“	п
(5.3-27)
233
где Ко — коэффициент передачи обратной связи по производной от ошибки, а п — передаточное отношение редуктора, учитывающее приведение управляющего напряжения к валу двигателя. Уравнение (5.3-27) отражает тот факт, что кроме обратной связи по положению организуется обратная связь по скорости. Для этого измеряется или вычисляется скорость двигателя с последующим умножением ошибки по скорости на коэффициент обратной связи по скорости Ко. Поскольку, как это показано в гл. 4, желаемая траектория сочленения может быть описана гладкими полиномиальными функциями, две первые производные которых существуют на интервале [£0, желаемая скорость может быть вычислена по этим полиномиальным функциям и использована для получения ошибки по скорости в контуре обратной связи. Сумма напряжений, полученных с помощью контуров обратной связи, подается на двигатель сочленения. Соответствующая замкнутая система управления показана на рис. 5.6.
Производя преобразование Лапласа над уравнением (5.3-27)' и подставляя VC(s) в уравнение (5.3-22), получим передаточную функцию, связывающую сигнал ошибки [£($)] с действительным перемещением сочленения:
£(s)	s (s Veff + Veff + ^Лб)
;	_ KaKvs + KaKp
“ S№+Uff +W	1	'
С помощью простых алгебраических преобразований получаем передаточную функцию замкнутой системы, связывающую действительное угловое перемещение [0l(s)] с желаемым угловым перемещением [0l(s)]:
Q/, (S)__^РР КдКу$ + КаКр
1 + GPP (s) ^Ra-Telt + s (^</eff +
(5.3-29)
Заметим, что при Kv = 0 уравнение (5.3-29) переходит в уравнение (5.3-26).
Уравнение (5.3-29) описывает систему второго порядка, корень которой расположен на расстоянии —KP/KV в левой полуплоскости на плоскости аргумента s. Расположение этого корня влияет на величину перерегулирования и на длительность переходного процесса. Система управления манипулятором находится также под действием возмущений [£>(s) ] от сил веса и центробежных сил, действующих на звено манипулятора (рис. 5.7). Таким образом, момент, вырабатываемый на валу 234
двигателя, должен компенсировать моменты, теряемые на самом двигателе, моменты, потребляемые нагрузкой, а также моменты, расходуемые на устранение влияния возмущений. Отсюда с учетом уравнения (5.3-18) получаем
Т (*) == [s2/eff + Cf] &,п (*) + D (S).	(^’ЗО)
где Z)(s) — преобразование Лапласа от возмущающих воздействий. Передаточная функция,'связывающая возмущения с действительным перемещением сочленения, записывается в виде
<s) I	___________________~nRa___________________
D(s) le£(s)=0 s2^a}eii + s (RJeii +	+ ^a^v) + KaKp
Используя уравнения (5.3-29) и (5.3-31) и принцип суперпозиции, можно получить действительное перемещение сочле-
D6)
Рис. 5.7. Блок-схема управления с обратной связью манипулятором при наличии возмущений.
нения с учетом двух входных воздействий 0д (s) и D(s) в сле-
дующем виде:
, = 7<a(Kp + sKp)ef(s)-^aD(S)
S2Veff+^^eff + ^+^Ka) + ^Kp ' '	’
Ниже рассмотрена работа описанной замкнутой системы, в частности влияние вида входного воздействия на статическую ошибку системы и нахождение значений коэффициентов передачи обратной связи по положению и скорости.
5.3.3.	Критерии работоспособности и устойчивости
Работа замкнутой системы управления второго порядка основана на таких критериях, как обеспечение хорошей динамики, небольшая или нулевая статическая ошибка и малые времена переходных процессов. Сначала исследуем диапазон значений коэффициентов передачи обратной связи по положению и скорости. В предположении, что возмущения отсутствуют,
235
из уравнений (5.3-29) и (5.3-31) видно, что мы имеем систему второго порядка с нулевым корнем. Наличие нулевого корня в системе второго порядка обычно приводит к более быстрой обработке заданного значения на входе системы и сопровождается большей величиной перерегулирования по сравнению с системой второго порядка без нулевого корня. Временно пренебрегая эффектом, вызываемым наличием нулевого корня, попытаемся определить значения Кр и Kv, которые обеспечивают критическое или надкритическое демпфирование системы.
Напомним, что характеристическое уравнение системы второго порядка может быть записано в следующей стандартной форме:
s2 + 2£cons +	= О,	(5.3-33)
где и ®п — соответственно коэффициент демпфирования и собственная частота колебаний системы. Сравнивая полюсы замк-
нутых систем, видим, что	описываемых уравнениями (5.3-29) и (5.3-33), . .Л . U'	„ 7C7G „,,Л	' ч
И ’	Г ". (5-3'34) JeflKa п*	eff +	~1~. 2C«n =	f—б	.	(5.3-35) JeiiKa
Работа системы второго порядка определяется значениями ее собственной частоты колебаний «„ и коэффициентом демпфирования £. Из соображений безопасности система манипулятора не должна отрабатывать ступенчатое входное воздействие с недостаточным демпфированием. Для обеспечения требуемого в указанном выше смысле режима работы необходимо иметь критическое или надкритическое демпфирование системы, соответствующее значению коэффициента демпфирования, большему или равному единице. Передаточный коэффициент обратной связи по положению определяется из уравнения (5.3-34) для собственной частоты колебаний системы
ь"-	а
(5.3-36)
Подставляя а>п из уравнения (5.3-34) в уравнение (5.3-35),
находим, что
Rgfelt + KaKb + KaKv 2 ^^aKpJeSSRa
(5.3-37)
где равенство дает критическое демпфирование системы, а неравенство соответствует надкритическому демпфированию си-
236
стемы. Из уравнения (5.3-37) можно найти передаточный коэффициент обратной связи по скорости:'
„	2 VКдКрЦиКа ~	~ Кд%Ь
А о
(5.3-38)
Ка
Для устранения колебаний и резонанса конструкции сочленения необходимо выбирать значение частоты собственных колебаний, не превышающее половины величины резонансной частоты конструкции сочленения [229], т. е.
0,5«>г,	(5.3-39)
где иг — резонансная частота конструкции сочленения (рад/с).
Резонансная частота конструкции зависит от материала, из которого изготовлен манипулятор. Если эффективную жесткость сочленения обозначить festitf, то возвращающий момент &stiff0m(O противодействует моменту инерции двигателя:
Jeff0m(O + ^tiff0m(/) = O.	(5.3-40)
Производя преобразование Лапласа, получим характеристическое уравнение выражения (5.3-40) в виде
JeffS2 4" ^Stiff = 0.	(5.3-41)
Решение этого уравнения дает резонансную частоту конструкции системы
юг == I ~Т~~ \ J eft
(5.3-42)
Хотя жесткость сочленения является постоянной величиной, в случае дополнительной нагрузки на манипулятор эффективный момент инерции будет возрастать, что в свою очередь приводит к уменьшению резонансной частоты конструкции. Если резонансная частота конструкции ®о измерена для известного момента инерции, то для другого момента инерции /о она определяется по формуле
юг = ®о •	(5.3-43)
Используя выражение (5.3-39), находим ограничения для Кр из
уравнения (5.3-36): ;	'	’
0<frp< “У'---	(5.3-44)
С учетом уравнения (5.3-43) эти ограничения преобразуются к
виду
4Ка
(5.3-45)
237
Зная КР, передаточный коэффициент обратной связи по скорости Kv можно найти из уравнения (5.3-38):
„ «a®oVVeff —	<,
Ла >-----------------------•	(5.3-46)
На следующем этапе исследуются статические ошибки рассматриваемой системы для ступенчатых и непрерывных входных воздействий. Ошибка системы определяется как e(/) = 0f(O — — 0л (/). Используя уравнение (5.3-32), ошибку в виде преобразований Лапласа можно записать так
E(s}-W(s}-® ^iiRa + S +	(S) + nRaD (S)
(5.3-47)
Для ступенчатого входного воздействия с амплитудой А, т. е. при 0л (/) = А, и при неизвестном возмущающем входе статическая ошибка системы на ступенчатое входное воздействие может быть найдена из теоремы существования предела:
ess (ступенчатое воздействие) A essp = lim е (t) = lim sE (s) =	?
[s2Wa+s(Veff+^)]^s + ^O°(s)
Veff + s («Jeff +	+ KaK0) + KaKp
= 1 im s Г____________nRaD (s)___________1	,5 3 4Ю
s->0 ls2«Jeff + s(«afeff + KaKb + KaKB) + KaKpr (
Эта ошибка является функцией возмущений. Мы можем заранее определить такие возмущающие воздействия, как сила тяжести и центробежный момент, которые зависят от скорости сочленения. К возмущениям, которые не могут быть точно определены, относятся момент трения в редукторах и помехи в системе. Таким образом, можно идентифицировать каждый из этих моментов отдельно как
то (0 = т0 (0 + тс (0 + те,	(5.3-49)
где то (0 и тс (О—соответственно моменты сил тяжести и центробежных сил звена минипулятора, а тв — остальные возмущающие воздействия, кроме сил тяжести и центробежных сил, значения которых предполагаются равными малой постоянной величине. Соответствующим преобразованием Лапласа уравнения (5.3-49) является следующее уравнение:
D(s) = T0(s)-Tc(s) + ^.	(5.3-50)
Для того чтобы скомпенсировать силы тяжести и центробежные силы, можно вычислить величины моментов от 'них и эти значе
238
ния подать в устройство управления, как это показано на рис. 5.8, с целью минимизации их влияния. Такая компенсация называется компенсацией по прямой связи.
Обозначим вычисленные моменты через тСотр(0, а их преобразование Лапласа — через Tcomp(s). Используя эти обозна-
Рис. 5.8. Компенсация возмущений.
чения и уравнение (5.3-50), преобразуем уравнение (5.3-47) к виду
(S)~ s^aJeii + s(Rafe!S + KaKb + KaKv)+KaKp
	п%а [T’q (s) + ТС	Тe!S ~ ^сотр (Л]	- _ .
Veff + s(7?07eff + KaKb + KaKv) + KaKp 
Для ступенчатого входного воздействия б1 (s) — A/s статическая ошибка позиционирования системы запишется следующим образом:
Р ___lim-Г nRalTO(-S''+ ТС^+ Te/S ~Т^оту(А] ~]	(5359!
ssp 11m L s2Raje!! + s (Vef. + кл + w + KaKp J  OZ)
При стремлении времени к бесконечности величина погрешности от центробежной силы в статической ошибке позициони
239
рования равна нулю. Причина этого состоит в том, что центробежная сила является функцией 0/. (0 и при стремлении времени к бесконечности 0Доо) стремится к нулю. Следовательно, ее вклад в величину статической ошибки позиционирования равняется нулю. Если момент тСотр(0 создается только силой тяжести звена манипулятора, выражение для статической ошибки позиционирования упрощается:
essp = ^^.	(5.3-53)
Поскольку значение Кр ограничено неравенством (5.3-45), предыдущее выражение также упрощается:
essp = ^.	(5.3-54)
®о7о
ошибка си-
Это выражение является малой величиной, так как значение хе предполагалось малым. Вычисление т^О) рассмотрено ниже (с использованием динамической модели манипулятора).
Если входом системы является непрерывная функция, то ©1 ($) = A/s2, и в предположении, что возмущения определены в соответствии с уравнением (5.3-50), статическая стемы равна
ess (непрерывное воздействие) A essv =
[s2wa + s (Rafeit + КaKh>] A/s2 s ™ S	+ S (Hafeft + KaK„ + *Л0) + KaKp
, lim 4 nRalTO ^ + TC^ + Te/S~T,eOmp^] =
“* "4o °2Ra'ett + S (Veff + KaKb + ЗД + *Лр
_(Raf<At + KaKb)A ,	'Л" ' 4
KaKp
’	'	1	nR„ [Tr (s) + T„ (s) + T Is — (s)l
_L ]im <;____a 1	__c v 7 el_____comPv	/5 ч.кго
S-To	+ S (SJeff + KaKb + *Л0) + KaKp •
Для того чтобы упростить выражение для статической ошибки по скорости, вычислим снова момент [тСотр(0]. эквивалентный действию силы тяжести и центробежной силы. В результате статическая ошибка по скорости запишется в виде
о __ (Rafeff + КаКЬ) А
^SSV - К К 4“ ^ssp.	(5.3-56)
Л дЛ р
В это выражение входит конечная статическая ошибка. Вычисление Тсотр(^) зависит от динамической модели манипулятора. В общем случае, как это показано в гл. 3, уравнения Лагранжа— Эйлера, описывающие движение манипулятора с шестью сочленениями без учета динамики электронного управляющего
240
блока, трения в редукторе и люфтов, могут быть записаны в виде, соответствующем уравнению (3.2-24):
6 k
k = i I = I	'	.
6 r r
—	г/ Для /=1> 2> • ” 6»	(5.3-57)
где Ti(t) — обобщенный управляющий момент в i-м сочленении для перемещения i-ro звена, qi(t) и qt(t)~ соответственно угловая скорость и угловое ускорение i-ro сочленения, qi — обобщенная координата манипулятора, определяющая его угловое положение; °Т; — однородная матрица преобразования для звена размерностью 4X4, которая связывает пространственное расположение между двумя системами координат (i-й и базовой системами координат), г(— положение центра масс i-ro звена относительно i-й координаты системы, g = (gx, gy, gz, 0) — линейный вектор силы тяжести, |g| = 9,8062 м/с2, Ji — матрица псевдоинерции i-ro звена относительно системы координат i-ro звена, которая может быть записана в соответствии с уравнением (3.2-18).
Уравнение (5.3-57) может быть выражено в матричной форме в явном виде
6	6	6
X Dikqk(t)+^ Ц hlkmqk(t)<im(t) + c{=-=r{(t), i=l,2,...,6, k*=l	k =1 tn *»1
-	• 	(5.3-58)
где -	;	.
A rd°Tf
D<*- E Trh/-J'Ur) ]	....
/=maxil, ft)	. i,..	,• >:r -:. ...
(5.3-59)
Г <Э20Т/ /d0T;Vl .
Tr	(“д?-) J ’ U. "«=1, 2, ..., 6,
/-гаахЩ k, m) L 4b 4m V ' J
(5.3-60)
Cf = E	i = h2, .... 6. (5.3-61)
241
Уравнение (5.3-57) можно записать в матричном виде
T<(0e[^£i» Di2, Di3, Du, Di5, £>/б]	" qi (0 <72 (7) <7з (0 <74(0	+
	<7s(0	
	_ (0 _	
	+	[<7i (0,	<72 (0,	<7з(7), 74(7),			<7з (7),	7б(7)]Х			
		^£11	^£12	Тг£1з	Тгг-14	7<£ir	T<£16	—	<71 (7) 7г (7)		
		^£21	A £22	7г £23	Т<£24	/гг23	Тг£2б		<7з (7)		
	X	^£31	T<£32	Тг£зз	Т<£34	T<£35	T?£36		<74 (7)	+ С£.	(5.3-62)
		- ^£61	7г £62	7г £63	Тг£б4	^/65	Тг£бб		<7о (7) - <7е (7)_		
Используя уравнения Лагранжа — Эйлера, описывающие движение манипулятора, можно определить моменты силы тяжести, центробежной силы и кориолисовых сил для i-ro сочленения соответственно в виде
ir0(7) = cz, i = l, 2, .... 6,	(5.3-63)
и
-Тс (0 = [<71 <h (t), <7з (i), <74 (t), Qs (!),	(/)] X
hil2	hil3	hil4	hil5	hil6
^121	hi22	kv2A	^i2i	^*£26
X	T<£31	^£32	^£33	^£34	^£35	^£36
•>
_ ^£61 ^£62 ^£63 ^£64 ^£65 ^£66 _
<71 VI
</2 (0
<7з(7)
<74 (0
<7s (7)
Эта компенсация соответствует тому, что обычно называют методом обратной задачи динамики или методом вычисления момента.
5.3.4.	Устройство управления многосуставным роботом
Одной из основных схем управления манипулятором с несколькими сочленениями является схема, основанная на методе вычисления момента, в котором используются уравнения дви
242
жения Лагранжа — Эйлера или Ньютона — Эйлера. По существу метод вычисления момента представляет собой прямое управление, которое, однако, включает компоненты как прямой, так и обратной связи. Такое управление позволяет компенсировать силы взаимодействия между разными сочленениями, при этом компоненты обратной связи позволяют вычислить необходимые корректирующие моменты для компенсации отклонений от желаемой траектории. Предполагается, что могут быть точно определены значения, соответствующие величинам D(q), h (q, q) и c(q) в уравнении движения Лагранжа — Эйлера (3.2-26). Это необходимо для минимизации нелинейных эффектов и использования пропорционально-дифференциального управления двигателями сочленений. Таким образом, закон управления имеет следующую форму:
т (/) = Da (q) {qd (С + Ко [qd (/) - q (0) + Kp [qd (t) - q (/)]} +
+ ha(q, q) + ca(q),	(5.3-65)
где К» и Кр — соответственно матрицы передачи в обратных связях по производной и по положению размерностью 6X6 для манипулятора, имеющего 6 степеней подвижности.
Подставляя r(t) из уравнения (5.3-65) в уравнение (3.2-26), имеем
D (q) q (0 + h (q, q) + c (q) = Da (q) {qd (/) +
+	[qd (0 - q (01 + Kp [qd (/) - q (/)]} + ha (q, q) + ca (q). (5.3-66)
Если Da(q), ha(q ,q), ca(q) соответственно равны D(q), h(q, q) и c(q), то уравнение (5.3-66) будет иметь вид
D (q) [е (/) + Кие (/) + Кре (/)] = 0,	(5.3-67)
где e(/)A'qd(/) — q(/) и е(/)Aqd(/)—q(/).
Поскольку функция D(q) всегда несингулярна, КР и Ко могут быть выбраны таким образом, чтобы корни характеристического уравнения (5.3-67) имели отрицательные действительные части, при которых вектор ошибки позиционирования е(/) асимптотически стремится к нулю.
Вычисление моментов в сочленениях, основанное на использовании уравнений Лагранжа — Эйлера в общем виде, является неэффективным, и поэтому цифровое управление с обратной связью в режиме реального времени, как было показано в работе [226], невозможно или очень сложно реализовать. По этой причине обычно упрощают уравнение (5.3-65), пренебрегая функцией ha(q, q), зависящей от скорости, и недиагональными элементами матрицы Da(q), характеризующей ускорение. В этом
243
случае закон управления приобретает форму 		:
т (/) = diag [Dfl (q)] {qd (t) + Ko [qd (/) - q (/)] +
+ Kp [qd (0 q (/)]} +Ca (q). (5.3-68)
Моделирование на ЭВМ показало, что указанными величинами нельзя пренебрегать в случае движения манипулятора робота с большой скоростью [226].
Аналогичный закон управления манипулятором робота для связанной с сочленениями системы координат может быть получен из уравнений движения Ньютона — Эйлера. Рекурсивный закон управления выводится путем подстановки cji(t) в уравнения движения Ньютона —Эйлера для определения необходимого момента на каждом двигателе:
(О = fl (О + Д К1' [tf (/) - qs (/)] + £ Щ [q*(t) - q, (/)], /=1 /=1
(5.3-69)
где Kv и Кр — соответственно коэффициенты передач обратных связей по производной и положению для i-ro сочленения, a ej (/) — qf (/) — qi (t)—ошибка позиционирования для /-го сочленения. Физическая интерпретация использования уравнения (5.3-69) в рекурсивных уравнениях Ньютона — Эйлера может быть представлена следующим образом:
1.	Первый член позволяет выработать желаемый управляющий момент для каждого сочленения, если правильно выбрана математическая модель объекта управления и известны физические параметры системы. Однако отклонения от желаемой траектории движения сочленения будут неизбежны из-за наличия в контуре сервомеханизма ошибок от люфтов, трения в редукторе, неопределенности сил инерции и задержек времени.
2.	Остальные члены в уравнениях движения Ньютона — Эйлера позволяют выработать корректирующий момент для компенсации малых отклонений от желаемой траектории движения сочленения.
Приведенный рекурсивный закон управления представляет собой пропорционально-дифференциальное управление, компенсирующее действие сил инерции, реакции и тяжести в звеньях манипулятора. Для того чтобы обеспечить критическое демпфирование для каждой из подсистем сочленения, матрицы передач обратной связи К? и К-., которые являются диагональными, могут быть выбраны в соответствии с методами, рассмотренными в разд. 5.3.3 или в работах [229, 180]. При свободном движении критически демпфированных подсистем предполагается, что вся система ведет себя как критически демпфированная.
Таким образом, метод вычисления моментов представляет собой компенсационное управление по прямой связи. Основы
244
ваясь на уравнениях движения Лагранжа — Эйлера, записанных в общем виде, управляющие моменты в сочленениях могут быть вычислены за время О(п4). Аналогичный закон управления, полученный с использованием уравнений движения Ньютона — Эйлера, может быть вычислен за время О(п). Одним из основных недостатков этого метода управления является зависимость схо димости вектора ошибки позиционирования от динамических коэффициентов D(q), h(q, q) и c(q) в уравнениях движения.
5.3.5.	Компенсация в системах с цифровым управлением
В дискретных системах управления время характеризуется периодом дискретизации А/, при этом скорость выражается не в радианах в секунду, а в радианах за период АЛ Это определяет изменение инерции звена на величину f2, где fs — частота дискретизации (fs=l/A/).
Обычно используется частота дискретизации 60 Гц с периодом дискретизации 16 мс. Это объясняется ее распространенностью и тем, что большинство манипуляторов имеет механическую резонансную частоту приблизительно в диапазоне 5— 10 Гц. Хотя из дискретной теоремы Найквиста следует, что отношение частоты дискретизации к частоте среза системы для возможности воспроизведения сигнала должно быть по крайней мере не меньше двух, для систем непрерывного времени это отношение увеличивается. Для того чтобы улучшить работу системы при дискретизации, частота дискретизации должна быть много больше собственной частоты манипулятора, и наоборот, период дискретизации должен быть много меньше наименьшей постоянной времени манипулятора. Таким образом, для минимизации погрешностей от дискретизации обычно выбирается частота дискретизации, в 20 раз превышающая частоту среза системы, т. е.
5.3.6.	Зависимость момента от напряжения
Теоретически момент в двигателе постоянного тока с управлением в цепи якоря является линейной функцией напряжения якоря. Однако в действительности зависимость момента от напряжения нелинейна из-за влияния трения при малых моментах и из-за явлений насыщения при больших моментах. По этим причинам численное преобразование вычисленного момента в требуемое входное напряжение обычно уточняется с помощью табличных значений или вычислений по приближенным формулам. Выходное напряжение реализуется, как правило, в виде
245
сигналов постоянной величины или в виде импульсов различной ширины. Типичная кривая преобразования напряжения в момент показана на рис. 5.9, где Кр — управление двигателем, при котором сочленение перемещается с постоянной скоростью, не вызывая усилий в направлении движения, a F,f — сила или мо-
Рис. 5.9. График зависимости напряжение — вращающий момент.
мент, которые сочленение развивает при управлении с отрицательной скоростью. Величины наклонов и их приращения получены из экспериментальных кривых.
5.4.	СУБОПТИМАЛЬНОЕ ПО БЫСТРОДЕЙСТВИЮ УПРАВЛЕНИЕ
Для большинства производственных задач желательно перемещать манипулятор с наивысшей скоростью для того, чтобы минимизировать время выполнения заданного технологического цикла. Это вызвало необходимость исследовать задачу оптимального по быстродействию управления для механических манипуляторов [140]. Целью оптимального по быстродействию управления является перемещение рабочего органа манипулятора из начального положения в заданное за минимальное время.
Рассмотрим кратко основы оптимального по быстродействию управления на примере шестизвенного манипулятора. Уравнения движения шестизвенного робота в пространстве состояний можно получить из уравнений движения Лагранжа — Эйлера. Определим вектор состояния манипулятора размерностью 2п 246
б виде
хг (О = [qr (О, qr (/)] = l<7i (/), • • •, Яп (О, Я\ (О> • • •, Яп (OJ =
= [Хг (/), xf (/)] А [х, (/), х2 (t), ...,х2п (OJ (5.4-1)
и входной вектор управления размерностью п в виде
иг (0 = [ti (/), т2 (t).хп (/)].	(5.4-2)
В пространстве состояний уравнения движения Лагранжа — Эйлера могут быть записаны в виде
х (0 = f [X (!}, и 7)],	(5.4-3)
где f(-)—непрерывно дифференцируемая вектор-функция размерностью 2пХ1- Поскольку функция D(q) всегда несингулярна, приведенное уравнение может быть записано следующим образом:
х;(?П-х2(7)
и	х2 (/) = f2 [х (/)] +b [х, (0] и (0,	(5.4-4)
где'12(х) — вектор-функция размерностью пХН
f2(x) = — D~'1(x1)[h(xi, х2) + с(Х|)].	(5.4-5)
Можно показать, что величина b(xf) эквивалентна матрице D-‘(X!).
Предполагается, что в начальный момент времени t — to система находится в исходном состоянии х(/о) = хо, а в конечный момент времени система должна находиться в заданном конечном состоянии x(/f) = xf. Кроме того, предполагается, что допустимые управляющие воздействия ограничены по величине и удовлетворяют неравенству
|W/K(«i)MaKC ДЛЯ всех t.	(5.4-6)
Таким образом, задача оптимального по быстродействию управления заключается в нахождении допустимого управления, которое переводит систему из начального состояния х0 в конечное состояние и минимизирует рабочий критерий (выражение 5.4-7), удовлетворяя ограничениям (5.4-6):
7 = J dt = tf — t0.	(5.4-7)
to
В соответствии с принципом максимума Понтрягина [145] оптимальное управление, которое минимизирует приведенный выше функционал J, должно минимизировать гамильтониан.
247
I
Для получения оптимального вектора управления v*(t) необходимо, чтобы оптимальный вектор состояния х*(0, оптимальные сопряженные переменные р*(0 и функция Гамильтона
Я(х, р, v) = p'f (х, v) +1	(5.4-8)
удовлетворяли условиям
. х.	jgy PW) • '	др	для всех	t е 1^0,	(5.4-9)
-.	п‘ - - дН Р*> Р { )	дх	для всех	t 1^0, tf]	(5.4-10)
и 7/(х‘, р„ и’)<Я(х’, р‘, и’)	для всех	i tfo, 0]	(5.4-11)
на интервале допустимых управлений. После подстановки v*(/) из уравнения (5.4-8) в (5.4-11) задача оптимизации сводится к двухточечной краевой задаче с граничными условиями на состояние х(0 в начальный и конечный моменты времени. Так как уравнения движения нелинейны, единственным способом решения задачи управления в этом случае является численное решение. Однако численное решение не учитывает действия возмущений в системе, а позволяет только вычислить управляющую функцию разомкнутой системы. Кроме того, такое решение оптимально только для заданных начальных и конечных условий. Следовательно, вычисление оптимального управления должно осуществляться для каждого движения манипулятора. Кроме того, на практике численные методы не обеспечивают достаточной точности управления механическими манипуляторами. По этим причинам в качестве альтернативы численному решению [140] можно использовать аппроксимацию оптимального управления, результатом которой является получение субоптимального по быстродействию управления.
Субоптимальное управление с обратной связью находится путем аппроксимации нелинейной системы, описываемой уравнениями (5.4-4), линейной системой и последующего аналитического нахождения оптимального управления для линейной системы. Линейная система получается заменой переменных после линеаризации уравнений движений. Преобразование используется для записи в явном виде управляющих воздействий в линеаризованной системе. Обозначая новый ряд зависимых переменных через В/(0, ! = 1, 2, ..., 2п, уравнения движения могут быть с использованием новых переменных состояния записаны в виде
=	1 = 1, 2,..., п, /5419\
и	^(0 = ^(0, i = n+l, 2n.
Первый набор характеризует ошибку углового положения, а второй набор «МО—ошибку скорости изменения угло
248
вого положения. В результате такой замены переменных задача управления сводится к задаче перемещения системы из начального состояния |(/0) в начало координат пространства g переменных. Для того чтобы получить линеаризованную систему, уравнение (5.4-12) подставляется в уравнение (5.4-4) и используется разложение в ряд Тейлора в начале координат пространства | переменных. Кроме того, все тригонометрические функции также разлагаются в соответствующие ряды. В результате линеаризованные уравнения движения будут иметь вид
i(0 = Ag(Q + Bv(0,	(5.4-13)
где |г(0 = (1ь §2, •••, In) и v(/)——связаны с и(0 соотношением v(l) = u(t) + с. Вектор с содержит статические моменты сил тяжести в конечном состоянии. Несмотря на то что уравнение (5.4-13) является линейным, управляющая функция в нем v(/) записана в неявном виде. Путем соответствующего отбора определяющих векторов из линейно независимых столбцов управляемых матриц А и В для выделения управляющей функции можно получить новый набор уравнений:
t(/) = AU0 + Bv(/).	(5.4-14)
Если в качестве примера взять трехзвенный манипулятор и написать для него уравнения, приведенные выше, можно получить систему с двумя интеграторами для каждого из трех звеньев и несимметричными ограничениями на величину управляющего воздействия:
12/-1(0 — Vi, t,2i (О = Сгг-ь t == 1, 2, 3,	(5.4-15)
где	< ц+ и
v? = («,•')	+- с,, vr = — (u,)	4- с,,	(5.4-16)
Ci есть i-й элемент вектора с.
После этого получение оптимального по быстродействию управления и переключающих поверхностей *> можно осуществить обычными способами. Линеаризованное и записанное в явном виде с помощью уравнений (5.4-15) и (5.4-16) субоптимальное управление, как правило, обеспечивает в достаточной степени близкие к оптимальным динамику и траектории движения манипулятора. Однако этот метод является слишком сложным,
*> Напомним, что оптимальное по быстродействию управление представляет собой кусочно-постоянную функцию времени. Таким образом, интерес представляют те области пространства состояний, в которых управление постоянно. Эти области разделяются линиями в двумерном пространстве, поверхностями— в трехмерном пространстве и гиперповерхностями — в «-мерном пространстве. Такие разделяющие поверхности называют соответственно линиями переключения, поверхностями переключения и гиперповерхностями переключения.
249
если объектом управления служит манипулятор с четырьмя и более степенями свободы; кроме того, он не учитывает влияние неизвестных внешних нагрузок.
5.5.	УПРАВЛЕНИЕ МАНИПУЛЯТОРОМ С ПЕРЕМЕННОЙ СТРУКТУРОЙ
Использование теории систем с переменной структурой для управления манипуляторами было предложено в работе [320]. Системы с переменной структурой (СПС) относятся к классу систем с дискретным управлением по обратной связи. В течение последних 20 лет теория систем с переменной структурой находит многочисленные применения в различных отраслях металлургической, химической и космической промышленности. Основной особенностью СПС является наличие так называемого скользящего режима на поверхности переключения. В скользящем режиме система не реагирует на изменение параметров и на возмущающие воздействия, а ее траектории проходят по поверхности переключения. Это свойство СПС позволяет исключить влияние сил взаимодействия между сочленениями манипулятора. Явление скользящего режима не зависит от параметров системы и носит стабильный характер. Таким образом, теория СПС может быть использована для создания устройства управления переменной структурой (УУПС), которое организует скользящий режим при формировании траекторий движения манипулятора робота. Для создания такого устройства управления не требуется использование точной динамической модели манипулятора и достаточно знать граничные значения параметров модели. Управление переменной структурой отличается от оптимального по быстродействию управления тем, что оно формирует траектории движения системы в скользящем режиме. Кроме того, система в этом режиме нечувствительна к изменению параметров.
Пусть требуется найти управление переменной структурой для шестизвенного манипулятора. Определяя вектор состояния из уравнения (5.4-1)
хг = (<?!..<7е,	• • •, 7е) = <Pi, • • •, Ре, Vi, v6} = (рт, vr)
(5.5-1)
и вводя вектор ошибки позиционирования ei (/) — p(Z) — pd, а также вектор ошибки по скорости e2(0 = v(0 (vd = 0), сведем задачу слежения к задаче стабилизации. Уравнения ошибки системы будут иметь вид
е1 (0 = v (/) и	v(/) = f2(e| + pd, v) + b(e| + pd)u(/),	(5.5-2)
250
где f2 и b определяются из выражения (5.4-5). Для системы стабилизации управление переменной структурой может быть
записано в виде	' м(+ (р, v), если s; (ер vj >0,
«/(р, v) = ‘	i=l	6	(5.5-3) . и~ (р, у), если st (вр vt) < 0,
где Si(ei, Vi)—поверхности переключения, удовлетворяющие условиям
Si(e{, vi) = ciei + vt, Ci>0, i = l....6.	(5.5-4)
После этого синтез управления сводится к выбору управления с обратной связью в соответствии с уравнением (5.5-3) так, чтобы скользящий режим происходил на пересечении с поверхностями переключения.
Решая алгебраические уравнения поверхностей переключения
(е{, цг) = 0, i=l, .... 6,	(5.5-5)
можно отыскать единственно существующее управление
u^ = -D(p)(f(p, v) + Cv),	(5.5-6)
где С = diagfci, Сг, ..., с6]. После этого скользящий режим получается из уравнения (5.5-4) в виде
ёг — — Cie{, 4=1, ..., 6.	(5.5-7)
Это уравнение в явном виде описывает движение шести линейных систем первого порядка, каждое из которых представляет одну степень свободы манипулятора при нахождении системы в скользящем режиме. Как видно из уравнения (5.5-3), устройство управления переводит манипулятор в скользящий режим, при этом влияние сил взаимодействия между сочленениями полностью исключается. Для управления манипулятором в скользящем режиме используется устройство управления, реализующее управление в соответствии с уравнением (5.5-6). Динамика манипулятора в скользящем режиме зависит только от конструктивных параметров Ct. Асимптотическая устойчивость систем в скользящем режиме обеспечивается при выборе а > О, а регулирование скорости движения в этом режиме достигается изменением параметров <д.
Таким образом, управление переменной структурой позволяет исключить нелинейные силы взаимодействия между сочленениями путем перевода системы в скользящий режим. Однако устройство управления вырабатывает сигналы дискретного управления по обратной связи, которые весьма быстро меняют знак управляющего воздействия. В результате действия таких сигналов может появиться вибрация, которую необходимо учи
251
тывать в некоторых применениях управления манипулятором робота. Более подробно многовходовые управляющие устройства для СПС описаны в работе [320].
5.6.	НЕЛИНЕЙНОЕ НЕЗАВИСИМОЕ УПРАВЛЕНИЕ
ПО ОБРАТНОЙ СВЯЗИ
Нелинейное независимое управление по обратной связи является важной частью теории нелинейного управления. На его основе может быть выработано субоптимальное управление для механических манипуляторов. В большинстве существующих алгоритмов управления роботами (например, в методе вычисления моментов) значительное внимание уделяется нелинейной компенсации сил взаимодействия между звеньями манипулятора. В работе [118] применен метод нелинейного управления по обратной связи к простой шаговой системе, которая содержала определенный класс нелинейностей, включающий тригонометрические и полиномиальные виды нелинейностей. В результате были получены независимые подсистемы, позиционная устойчивость и желаемые периодические траектории. В этой работе подход отличается от метода линейного разделения системы, где расчлененная система должна быть линейной. В работе [258] предложен итеративный алгоритм для последовательного усовершенствования нелинейного субоптимального закона управления. Он дает возможность приблизиться к получению оптимального управления манипулятором. С другой стороны, для того чтобы достичь такого высокого качества управления, этот метод требует значительного времени вычисления. Ниже кратно описана нелинейная теория декомпозиции по работам [75, 86]. В этой теории используются уравнения движения Ньютона — Эйлера для построения нелинейного независимого управления манипуляторами робота.
Пусть основная нелинейная система задана в виде
х (/) = А (х) + В(х)и (/)
и	у(/) = С(х),	(5.6-1)
где х(/) — «-мерный вектор, и(/) и у(/) — m-мерные векторы, а А(х), В(х) и С(х) — матрицы соответствующих порядков. Определим нелинейный оператор N* в виде
к г а к । т N== 1, 2, ..., п, ;\'fc(x) = [|!VriCj(x)]A(x), i=l, 2, ..., ш, (5'6’2) где С,(х) —i-я компонента С(х), a N°ACi (х) = Ct (х). Определим также порядок di нелинейной системы как
dt = min [j: [-£- N^'Ct (x)] В (x) =/= 0, / = 1, 2, ..«}. (5.6-3)
.252
Целью управления является нахождение независимого управления по обратной связи u(i):
и (0 = F (х) + G (х) w (0,	(5.6-4)
где w(i)'—m-мерный входной вектор, F(x)— вектор обратной связи размерностью тХЬ определяющий разделение и расположение полюсов, a G(x)—входная передаточная матрица размерностью т X т, такая, что вся система имеет независимые связи входов и выходов.
Подставляя и (/) из уравнения (5.6-4) в систему уравнений (5.6-1), запишем результат в следующем виде:
х (/) = А (х) + В (х) F (х) + В (х) G (х) w (t)
и	у (/) = С (х).	(5.6-5)
Для того чтобы получить независимые связи входов и выходов в указанной системе, F(x) и G(x) выбираются соответственно
F (х) = F] (х) + F*(x),	(5.6-6)
где .
F*(x) = -D‘_1(x)C* (х), ,
F2 (х) = — D’-1 (х) М* (х)
и	G (х) = D’-1 (х) Л.
f;(x) представляет обратную связь в системе декомпозиции, а F*(x) является управляющей частью с произвольным расположением полюсов. Входной передаточный коэффициент выделенной части может быть выбран с помощью G(x), a D*(x) — матрица размерностью mXm, »-я строка которой записывается в виде
°;(х) = [-^^-^(х)]в(х) для d^O. (5.6-7)
С*(х) — m-мерный вектор, i-я компонента которого равна
(5-6-8)
М*(х)—m-мерный вектор, i-я компонента которого записывается в виде
М • (х) = Е а„ i^ACi (х) для di °>	(5.6-9)
К=0 Л’
а,„Л—диагональная матрица, элементы которой являются постоянными величинами Xt для i = l, 2,	,т. Теперь система
253
уравнений (5.6-1) может быть записана в виде	л J
у* (/) = С* (х) 4~ D* (х) и (/),	(5.6-10)
где у*(/)— выходной вектор, i-й компонентой которого является У^У), т. е.
y^)(0=C!(x) + D-u(0.	..	(5.6-11)
Используя уравнения (5.6-4) и (5.6-6) в уравнении (5.6-11), получим	?;
(0 4- %-!.	(0 + ... + «о. dh (0 =	(0. (5.6-12)
где ак,1 и %; — произвольные скалярные величины.
Для того чтобы показать, что t-я компонента имеет вид уравнения (5.6-11), предположим, что di=\. Тогда yt(t) = = Ci(x), и после дифференцирования получим
y^(t) = yl(t) = ^^x(t)=	. д
= ^44^ (А (х) 4- В (х) F (х) 4- В (х) G (х) w (/)] =» = ^+BfCi(x)4-^r1lB(x)G(x)w(01.	,
Используя аналогию	'	1
(х) = ivfo (х) + [д/дхЛ#"’^ (х)] В (х) F (х),
y^it) можно записать в виде
(/) = С; (х) 4-	(х)] В (х) F (х) 4- [В (х) G (х)
С помощью уравнений (5.6-4) и (5.6-7) это выражение можно записать также в виде
//’"(/) = с; (х) 4-d;(x)u(/).
Легко показать, что и значения di = 2, 3, ... приводят к уравнению (5.6-11). Таким образом, результирующая система имеет разделенные связи входов и выходов и представляет собой не зависящую от времени систему второго порядка, которая может быть использована для моделирования каждого сочленения манипулятора робота,
254
Как было показано в гл. 3, уравнения движения Лагранжа — Эйлера для шестизвенного робота могут быть записаны в виде
где u(Z) — вектор управляющего момента для двигателя в сочленении размерностью 6X1, 9(/)— вектор угловых положений, 9 (0 — вектор угловых скоростей, 0(0—вектор ускорения размерностью 6X1, с(9) — вектор силы тяжести размерностью 6X0 h (9, В) — вектор кориолисовых и центробежных сил размерностью 6Х 1, a D(9)- матрица инерции размерностью 6X6. Поскольку D(0)—всегда несингулярна, последнее уравнение может быть записано в виде
Приведенная динамическая модель состоит из дифференциальных уравнений второго порядка для каждой переменной сочленения, следовательно, в этом случае di = 2. Трактуя каждую переменную сочленения 0,(0 как выходную переменную, последнее уравнение может быть связано с уравнением (5.6-11) следующим образом:
!/Г(0 = У< (0 = - [D~‘ (< [h (9, В) 4- с(9)] + [D-1 (0)]/ и (/) =
и .	=С* (х) + D* (х) и (/), ;	(5.6-17)
255
где
С/(х) = — [D-1 (0)](-[h (0, 0) + с(0)]	(5.6-18)
; xr(0 = [er(a 0г(О]
И ’	D* (х) = [D-1 (0)]г,	:	(5.6-19)
a [D-1 (0)]i — i-я строка матрицы D-1(0). Таким образом, управление u(i) для выделенной системы (уравнение (5.6-5)) должно быть следующим:
и (/) = — D* (х) [С* (х) + М* (х) - Лw (/)] =
= - D (0) {- D 1 (0) [h (0, 0) 4- с (0)] 4- М* (х) - Aw (/)} =
= h (0, 0) 4- с (0) - D (0) [М‘ (х) - Aw (0J.	(5.6-20)
Подробнее для i-ro сочленения управление запишется в виде
ut (/) = hi (0, 0) 4- Ci (0) - [Dn ... D/6] X ап®1 (0 4" «оА (0 —	(0"]
- «1606 (0 4" аоб% (0 —	(0
,; ч о
(5>6-an r. > j XJ/K
Из этого уравнения видно, что управление ui(t) для i-ro сочленения зависит только от текущих динамических переменных и от входного воздействия w(i). Подставляя u(i) из уравнения (5.6-20) в уравнение (5.6-14)', получим
D(0)0(O4-h(0, ё)4-с(0) =
 ацё1 (0 4- O01Q1 (0 —	(0 "
= h(0, 0)4-с(9)-D (0)
• (5.6-22)
Отсюда
D(0)
- «1806 (0 4- «0606 (0 — ^бИ’в (0
01 (0 4- «ц01 (0 4- «0101 (0 — <4^1 (0
= 0. (5.6-23)
- 06 (0 4- «1606 (0 4- «0606 (0 — ^бИ’б (0
Так как D(0)—всегда несингулярна, последнее уравнение можно записать в виде
0/ (0 4- aifii (0 4- «ог0/ (0 =	(0 I— 1> 2, ..., 6, (5.6-24)
256
из которого следует полное разделение связей входов и выходов системы. Отметим, что параметры а1(-, а0(- и Л,- можно выбрать произвольно, обеспечивая соблюдение критерия устойчивости. Следовательно, манипулятор можно представить в виде шести независимых, записанных в явном виде и инвариантных ко времени систем второго порядка, а управление u(t) (уравнение (5.6-20)) можно строить на основе динамики манипулятора. Эффективным путем вычисления уравнения u(t) является использование уравнений движения Ньютона — Эйлера. Таким образом, для получения управления ui(t) для i-ro сочленения необходимо подставить значение 0г(/) вместе с выражением
— auQi(t) — aoi9;(/) в уравнения движения Ньютона — Эйлера.
5.7.	НЕЗАВИСИМОЕ ПРОГРАММНОЕ УПРАВЛЕНИЕ ДВИЖЕНИЕМ
В предыдущем разделе мы рассмотрели некоторые методы управления механическим манипулятором в связанных координатах для формирования траектории сочленения. Во многих приложениях более предпочтительным является программное управление движением, которое обеспечивает движение манипулятора в декартовых координатах по требуемой траектории с необходимой скоростью. Независимое программное управление предполагает комбинированное движение различных двигателей сочленений и раздельные управляемые движения звеньев манипулятора вдоль осей неподвижной системы координат. Это означает, что несколько двигателей сочленений должны работать одновременно с различными изменяющимися скоростями для формирования заданного движения манипулятора вдоль любой оси неподвижной системы координат. Это делает возможным выбор направления и скорости произвольной траектории движения манипулятора. Такое управление существенно упрощает набор последовательности движений для выполнения поставленной задачи, потому что пользователю обычно легче ориентироваться в декартовой системе координат, чем в угловой системе координат сочленения манипулятора.
Как правило, требуемое движение манипулятора записывается в виде временных траекторий манипулятора в декартовых координатах, хотя система управления оперирует входными воздействиями, относящимися к связанным с сочленениями координатам. Математическая связь между этими двумя системами координат необходима для получения эффективного управления в декартовом пространстве. Коротко опишем основную кинематическую теорию, связывающую две системы координат для шестизвенного манипулятора робота. Это приведет к по-
9 К. Фу и др.
257
ниманию важнейших методов независимого программного управления движением.
Положение конечного звена манипулятора относительно фиксированной системы координат может быть определено путем расположения ортогональной системы координат на этом звене, т. е. путем введения системы координат конечного звена (рис. 5.10). Задача нахождения положения конечного звена при этом сводится к определению положения и ориентации системы
Рис. 5.10 Система координат конечного звена.
координат конечного звена относительно инерциальной системы координат манипулятора. Для этого используется однородная матрица преобразования размерностью 4X4:
бЭЗЗгр	f/\ __
1 конечное звено у*) —
" пх (/)	sx(t)	ax(t)	Px (0 '
Пу (0	Sy(t)	Cly (t)	Py (t)
пг (/)	Sz (0	az (0	pz (0
- 0	0	0	1 -
’n(0 s(0 а(/) Р(О1
. О 0	0	1 J’
(5.7-1)
где р — вектор положения конечного звена, a n, s, а — единичные векторы, направленные вдоль основных осей системы координат, определяющих ориентацию конечного звена. Вместо использования подматрицы вращения [n, s, а] для определения ориентации можно использовать три угла Эйлера — угол поворота а(0, наклона 0(/) и вращения у(0> которые определяются
258
как вращение системы координат конечного звена соответственно вокруг осей хо, уо и z0 базовой системы координат. Элементы [n, s, а] можно получить из матрицы вращения Эйлера как результат вращения по углу а вокруг оси х0, по углу р вокруг оси уо и по углу у вокруг оси zo базовой системы координат (уравнения (2,2-19)). Таким образом,
"МО sx(t) ax(ty ny(t) sy(t) ay(t) =
-nz(t) sz(t) az(f)~
базар	/у\ __
*\конечное звено \i) —
-Су
Sy - О
-Sy 01 '
Су 0 0
ср о
1 J L — sp
0 Sp 1 Г 1 о
10	0 Са
0 Ср J L 0 Sa
О '
— Sa
Са -
' СуСр — SyCa + CySpSa SySa -j- CySpCa SyCp CyCa + SySpSa — CySa + SySpCa
- — Sp CpSa	CpCa
(5.7-2)
где sin. a = Sa, cosa^Ca, sinP = SP, cosP^Cp, sin у =s Sy, cosy^Cy.
Определим векторы положения p(Q, углов Эйлера Ф(/), линейной скорости v(/) и угловой скорости Q(Q конечного звена манипулятора в базовой системе координат соответственно:
Р (0 = [рх (0, Ру (0, Рг«, Ф (0 = [а (0, 0 (0. V (0Г,
v (0 [vx (0, Vy (t), vz (0E Si (0 К (0,	(0, сог (Of. (5.7-3)
Линейная скорость конечного звена в базовой системе координат равна производной по времени от положения конечного звена
v(0 = ^l = p(0.	(5.7-4)
Так как инвертирование направляющей матрицы косинусов
эквивалентно ее транспонированию, мгновенная угловая ско-
рость системы координат конечного звена вокруг главных осей базовой системы координат может быть получена из уравнения
0	— Spa у — SyCPa — СуР"
Spa — у	0	CyCPa — SyfJ
-SyCpa + Сур -CyCpa + SyP 0
(5.7-5)
9*
259
Из последнего уравнения [МО, МО, МОГ и ' нулевых элементов в
' ©х (0’ МО - «г (0 -
[6(0, Р(0,
матрицах:
"СуСр
= SyCp
--S0
v(/)F
можно получить связь между путем приравнивания не-
— Sy Су О
Отсюда легко определяется обратная
’ а (01
0(0 = sec0 — SyCp СуСр - у (0 -*
О
1J!_ у (0 j
связь
Су Sy
CySP SySp или, записывая в матричной форме, Ф(0 = [S (Ф)]й(0-
01 г МО’ о
CpJL®2(OJ
(О
(5.7-6)
(5.7-7)
(5.7-8)
01 Г * W ‘ р(О .
В подвижной системе координат линейную и угловую скорости конечного звена можно получить из скоростей предыдущих сочленений:
Г v (0 1
L Q (О J = [N (q)] q (0 = [N1 (q)’ N2 (q).Ne (q)] q (0’ (5,7'9)
где q(0 = (4i, •••> Чб)г — вектор скорости сочленений манипулятора, a N(q) — якобиан размерностью 6X6, i-й столбец которого в виде вектора N,(q) может быть найден, согласно работе [310], в виде
Ni(q) =
Zf-i X (р — Pi-1)
Zi-l
если i-e сочленение является вращательным,
если i-e сочленение является поступательным.
(5.7-10)
Знак X означает результат пересечения векторов, р,_] — положение начала координат (i — 1) системы координат по отношению к базовой системе координат, z(-i — единичный вектор, направленный вдоль оси движения i-ro сочленения, а р — положение конечного звена в базовой системе координат.
Если инвертированный якобиан существует от q(/), то скорость сочленения q(i) манипулятора может быть вычислена из скорости конечного звена при использовании уравнения (5.7-9):
1 Г v (0 1
q(0 = N-‘(q)[Q(0].	(5.7-11)
260
Если заданы желаемые линейная и угловая скорости конечного звена, это уравнение позволяет вычислить скорости в сочленениях и определить режимы работы двигателей в сочленениях для того, чтобы обеспечить установившееся движение конечного звена в заданном направлении в декартовой системе координат.
Ускорение конечного звена может быть получено путем определения производной по времени от вектора скорости в уравнении (5.7-9):
V l = N(q, q)q(0 + N(q)q(/), . “ (г) J
(5.7-12)
где q (0 = [<?! (/), ..., «/б (ОГ — вектор ускорения сочленений манипулятора. Подставляя q(/) из уравнения (5.7-11) в уравнение (5.7-12), получим

(5.7-13)
Ускорения в сочленениях q(0 могут быть вычислены из скоростей и ускорений конечного звена следующим образом:
_ 1 Г v (О
-N-‘(q)N(q, q)N-‘(q)
v(0 1
Я (0 J ’
(5.7-14)
Полученные кинематические связи между координатами, связанными с сочленениями, и декартовыми координатами будут использованы в разд. 5.7.1 для различных методов независимого программного управления движением и при выводе уравнений движения конечного звена манипулятора в декартовых координатах.
5.7.1.	Независимое программное управление движением по скорости
При независимом программном управлении движением по скорости работа различных двигателей в сочленениях производится независимо и одновременно с различными скоростями, изменяющимися во времени для того, чтобы обеспечить установившееся движение конечного звена манипулятора вдоль любой оси неподвижной системы координат. Математические выражения, связывающие неподвижные координаты, такие, как подъем рх, смещение ру, выдвижение р2, поворот а, наклон (5 и вращение у с угловыми координатами шестизвенного манипулятора, являются заведомо нелинейными и могут быть запи
261
саны с помощью нелинейной вектор-функции в виде
х (/) = f [q (01,	(5.7-15)
где f(q) — вектор-функция размерностью 6Х 1, а
х (0 (декартовы координаты) = (рх, ру, рг, а, р, у)г
и q(/) (обобщенные координаты) = (</,, q2, ..., qn)T.
Взаимосвязь между линейной и угловой скоростями конечного звена и скоростями сочленений шестизвенного манипулятора определена уравнением (5.7-9).
Для более общего рассмотрения предположим, что манипулятор имеет т степеней свободы, а интересующая нас декартова система координат имеет размерность п. Тогда углы в сочленениях и декартовы координаты будут связаны нелинейной функцией согласно уравнению (5.7-15).
Дифференцируя уравнение (5.7-15) по времени, получим
^£)=x(n = N(q)q(0, ;	(5.7-16)
где N(q) —якобиан от q(/), т. е.	<
df.
(5.7-17)
Из уравнения (5.7-16) видно, что при осуществлении управления по скорости связь является линейной. Когда х(/) и q(0 имеют одинаковую размерность, манипулятор не имеет избыточных степеней свободы и якобиан может быть инвертирован в соответствии с несингулярным положением q(Z):
q (!) = N~'(q) х (!).	'	(5.7-18)
Если известна скорость движения вдоль декартовых координат, то из уравнения (5.7-18) легко находится комбинация скоростей двигателей в сочленениях, обеспечивающая желаемое движение конечного звена. Для этого могут быть использованы различные методы вычисления обратного якобиана. Блок-схема программного управления движением по скорости приведена на рис. 5.11. Если т>п, манипулятор имеет избыточные степени свободы и обратный якобиан не существует. Это сводит задачу к нахождению обобщенного обратного якобиана. В таком случае если ранг N(q) равен п, то q (/) определяется путем минимизации критерия ошибки, который формируется присоединением уравнения (5.7-16) с множителем Лагранжа к критерию качества, т. е.
C = |qrAq + V[x-N(q)q],	(5.7-19)
262
где X — вектор множителя Лагранжа, а А — симметрическая положительно определенная матрица размерностью т X т.
Минимизируя критерий качества С относительно q(Z) и К, имеем
q(Z) = A"1Nr(q)A.	(5.7-20)
и	x(0 = N(q)q(Z).	(5.7-21)
Подставляя q(0 из уравнения (5.7-20) в уравнение (5.7-21) и решая его относительно X, получим
A = [N(q) A-1Nr(q)]~ x(f).	(5.7-22)
Подставляя X в уравнение (5.7-20), имеем
q (0 = X-'N7, (q) [N (q) A_INr (q)] ’’ x (/).	(5.7-23)
Если матрица A — тождественная, уравнение (5.7-23) сводится к уравнению (5.7-18).
Рис. 5.11. Блок-схема программного управления движением по скорости.
Достаточно часто возникает необходимость управлять движением конечного звена не в неподвижной системе координат, а в системе координат конечного звена (рис. 5.10). В этом случае требуемая скорость движения конечного звена в системе координат конечного звена связана с движением в неподвижной декартовой системе координат следующим образом:
х (0 = °R„h (0,	(5.7-24)
где °Rft — матрица размерностью «Х6, которая связывает ориентацию системы координат конечного звена относительно неподвижной системы координат. Если задана скорость движения конечного звена h (t) относительно системы координат конечного звена, то, используя уравнения (5.7-23), (5.7-24), скорость движения сочленения может быть вычислена по формуле
q (0 = A" W (q) [N (q) A“	(q)J~1 °Rfth (/).	(5.7-25)
263
В уравнениях (5.7-23) и (5.7-25) угловое положение q(0 зависит от времени t, поэтому необходимо оценивать N~'(q) на каждом отрезке дискретного времени при вычислении q(Z). При использовании этого метода управления требуется дополнительное вычисление обратного якобиана на каждом отрезке дискретного времени и решение сингулярной задачи, связанной с инвертированием матрицы.
5.7.2.	Независимое программное управление движением	л
по ускорению
Независимое программное управление движением по ускорению [186] расширяет возможности управления движением по скорости, включая управление ускорением. Оно является альтернативной управлению по положению, при котором непосредственно учитывается положение или ориентация конечного звена манипулятора. Всякое управление по обратной связи производится относительно конечного звена, следовательно, предполагается, что желаемые ускорения при заданном движении конечного звена заранее определяются пользователем.
Действительное и желаемое положения и ориентация конечного звена манипулятора могут быть представлены следующими однородными матрицами преобразования размерностью 4X4:
и
(5.7-26)
где п, s, а — единичные векторы, направленные соответственно вдоль главных осей х, у, z системы координат конечного звена, а р(0—вектор положения конечного звена относительно базовой системы координат. Ориентация подматрицы [n, s, а] определяется с помощью углов Эйлера, описывающих вращение (а, р, у) относительно базовой системы координат в соответствии с уравнением (5.7-2).
Ошибка позиционирования конечного звена определяется как разность между желаемым и действительным положением конечного звена и может быть записана в виде
" Pdx (0 “ Рх (0 "
еР (0 = Pd (0 - Р (0 =
Ру ~ Ру
Рг (О — Рг (О
(5.7-27)
Аналогичным образом ошибка ориентации определяется как расхождение между желаемой и действительной ориентацией
204
осей конечного звена и может быть представлена следующим образом:
е0 (0 = 1/2 [п (0 X пЧ s(0 X s4a (0 X ad], (5.7-28)
Следовательно, управление манипулятором основывается на «ведении указанных ошибок конечного звена к нулю.
Для шестизвенного манипулятора можно совместить линейные скорости v(0 и угловые скорости со(0 конечного звена в шестимерном векторе х(0:
Г v (0 '
х(0 = [ш(С J = N(q)q(O,	(5.7-29)
где N(q)—матрица размерностью 6X6, определенная уравнением (5.7-10). Уравнение (5.7-29) является основным для независимого программного управления движением по скорости, где скорости в сочленениях находятся из скоростей конечного звена. Аналогично могут быть определены ускорения в сочленениях из ускорения конечного звена х (0. Производная по времени от х(0 представляет собой ускорение конечного звена
х (0 = N (q) q (0 + N (q, q)q(0.	(5.7-30)
Управление заданным движением по ускорению с использованием обратной связи основано на сведении ошибок позиционирования и ориентации конечного звена к нулю. Если траектория движения манипулятора задана в декартовых координатах, то известны желаемые положения pd(0, скорость vd(0 и ускорение vd (0 относительно базовой системы координат. Для уменьшения ошибки позиционирования каждый двигатель в сочленениях манипулятора должен развить необходимые моменты и усилия. По существу это приводит к возникновению линейного ускорения конечного звена v(0, которое удовлетворяет следующему уравнению:
v (0 = Vd (0 + k. [vd(0 - v (0] + k2 [pd (0 - p (0],	(5.7-31)
где и k2— скалярные константы. Уравнение (5.7-31) может быть записано в виде
ёР(0+ ^1ep(0 + Z>2ep(0 = O,	(5.7-32)
где eP(0 = pd(0—р(0. Входные моменты и силы должны выбираться таким образом, чтобы гарантировать асимптотическую сходимость к нулю ошибки позиционирования конечного звена. Для этого необходимо выбрать k\ и k2 так, чтобы характеристические корни уравнения (5.7-32) имели отрицательные действительные части.
265
Аналогично, чтобы уменьшить ошибку ориентации конечного звена, требуется обеспечить входные моменты и силы, прикладываемые к манипулятору таким образом, чтобы угловое ускорение конечного звена удовлетворяло выражению
й (0 = ad (/) + [cod (!) — и (0] + &2е0.	(5.7-33)
Сгруппируем vd и о/ в шестимерный вектор, а ошибки позиционирования и ориентации в вектор ошибки
Г vd (t) 1	Г е0 (0 1
x('> = L4)J " 'МеЛО J' (57'34>
Из уравнений (5.7-31) и (5.7-33) имеем
х (0 = xd (/) 4- fe] [xd (0 — х (0] + fe2e (0.	(5.7-35)
Подставляя уравнения (5.7-29) и (5.7-30) в уравнение (5.7-35) и решая его относительно q (0, получим
q(0 = N"’(q)[xd(0 + fe1 (xd (0 — х (0) + fe2e (0 — N (q, q) q (0] =
= - Z>14 (0 + N"1 (q) [xd (0 + ktxa (0 + k2e (0 - N (q, q) q (0].
(5.7-36)
Уравнение (5.7-36) является основой для управления заданным движением манипулятора по ускорению с помощью обратной связи. Для вычисления управляющих моментов и сил в двигателе каждого сочленения манипулятора используются рекурсивные уравнения движения Ньютона — Эйлера. Положение q(0 и скорость сочленения манипулятора q(0 измеряются потенциометрами или оптическими кодирующими устройствами. Величины v, cd, N, N~l, N и Н(0 могут быть найдены из рассмотренных выше уравнений. Эти величины, определяемые заданной траекторией вместе с желаемыми положением pd(0, скоростью vd(0 и ускорением vd(0, используются при вычислении ускорения в сочленении в соответствии с уравнением (5.7-36). Управляющие моменты и силы в сочленениях могут быть рекурсивно получены из уравнений движения Ньютона — Эйлера. Этот метод управления также требует большого объема вычислений и характеризуется особенностями, связанными с использованием якобиана, а также необходимостью иметь информацию об ускорении для формирования траектории движения конечного звена манипулятора.
5.7.3.	Независимое программное управление движением по силе
Основным назначением независимого программного управления движением по силе является определение управляющих моментов двигателей сочленений для осуществления позицион-266
ного управления в декартовых координатах манипулятором робота. Преимущество этого метода заключается в том, что он не использует сложные динамические уравнения движения манипулятора и имеет возможность компенсировать упругую податливость конструкции, силы тяжести и трение. Этот метод так же, как и описанные выше методы, является методом управления конечным звеном манипулятора. Он основан на связи между вектором силы F, получаемым от датчика усилия в захватном устройстве манипулятора, и моментами, развиваемыми двигателями сочленений. Данный метод управления состоит из управления положением в декартовых координатах и управления по силе. При управлении положением вычисляются
Рис. 5.12. Блок-схема программного управления по силе.
требуемые силы и моменты, которые должны быть приложены к конечному звену для организации желаемой траектории движения в декартовых координатах. Управление по силе определяет необходимые моменты в двигателях каждого сочленения таким образом чтобы конечное звено могло поддерживать силы и моменты, заданные управлением по положению. Блок-схема такого управления приведена на рис. 5.12.
Кратко рассмотрим математический аппарат, используемый в данном методе управления. Более подробное его изложение можно найти в работе [316]. Основная идея метода базируется на связи между заданным вектором силы F = (Fx, Fy, Fz, Мх, Му, MZ)T и моментами в сочленениях t = (ti, тг, •••, т«)г, которые прикладываются к двигателям в каждом сочленении для уравновешивания сил, действующих на конечное звено. Здесь (Fx, Fy, FZ)T и (/Их, Му, Mzy — соответственно силы в декартовой системе координат и моменты в системе координат конечного звена. Связь между этими величинами записывается в виде
T(/) = N4q)F(0,	(5.7-37)
где N — якобиан, определяемый уравнением (5.7-10).
267
Так как целью такого управления является формирование-траектории конечного звена в декартовых координатах, то соответствующие временные траектории положения должны быть-заданы в виде функций от матрицы преобразования манипулятора °А6(/), скорости (щ, Vy,Vz)T И угловой скорости (сох, toy, сог)т относительно системы координат конечного звена. Другими словами, заданная зависящая от времени матрица преобразования °А6(/ + AZ) может быть представлена в виде
	1 ш2 (0	— ®г(0 Иу(0 Vx(f)~ 1	— to, (/) V„ (?)	
°А6(/+ A/) = °A6(/)	— ®y (0	tox (0	1 vz (0	Kt.
	0	0	0	1-	
(5.7-38>
Желаемая скорость xd (t) = (vx, vy, vz, <ax, wy, w2)? в декартовых
координатах определяется из следующего уравнения:
1	~®г(0
©г (о	1
- (О (/) о	о
“у (О
— (О 1 о
vx (0 -
Vy (О пг (/)
1 -
(5.7-ЗЭ>
Ошибка по скорости xd — х в декартовых координатах также определяется из приведенного уравнения. Ошибка по скорости xd—х, используемая в уравнении (5.7-31), отличается от указанной ошибки по скорости, так как в уравнении ошибки,, приведенном выше, используется метод с применением однородной матрицы преобразования. В уравнении (5.7-31) ошибка по скорости была получена простым дифференцированием pd(t) — — Р(О-
Аналогично можно получить желаемое ускорение xd(/) в декартовых координатах:
xd (/) = x<i(< + A^-xd(0. _	(5.7-40).
Если отсутствуют ошибки по положению и скорости конечного звена, при использовании пропорционально-дифференциального метода управления желательно как можно ближе совместить действительное и желаемое значения ускорений х (/) в декартовых координатах. Это достигается установкой действительного значения ускорения в декартовых координатах согласно следующему выражению:
X (/) = xd (/) + Kv [xd (/) - X (0J + Kp fxrf(/) - X (/)],	(5.7-41)
или . xe(0 + Aaxe(0 + ApXe(/) = 0.	(5.7-42)
268
При выборе величин Kv и Кр такими, при которых характеристические корни уравнения (5.7-42) имеют отрицательные действительные части, x(Z) будет сходиться к xd(Z) асимптотически.
В данном методе управления желаемые силы и моменты, компенсирующие ошибки позиционирования, могут быть получены с использованием второго закона Ньютона:
Fd(/) = Mx(Z),	(5.7-43)
где М — матрица массы с диагональными элементами в виде общей массы нагрузки т и моментов инерции 1ХХ, 1УУ, /гг относительно основных осей нагрузки. Используя уравнение (5.7-37), заданные силы F'z в декартовых координатах могут быть переведены в моменты в сочленениях:
т (0 = Nr (q) Fd = Nr (q) Mx (t).	(5.7-44)
Обычно данный метод целесообразно использовать только в том случае, когда нагрузка незначительна по сравнению с массой манипулятора. Если нагрузка сравнима с массой манипулятора, желаемая точность позиционирования конечного звена обычно не достигается. Это происходит оттого, что некоторые моменты в сочленениях оказываются недостаточными для развития необходимых ускорений звеньев. Чтобы компенсировать эти эффекты, используется комбинированное управление по силе и положению.
Метод управления по силе основывается на методе стохастической аппроксимации Роббинса — Монро и служит для определения действительной силы Fa в декартовых координатах, такой, что необходимая сила Fo, измеренная датчиком силы в захватном устройстве конечного звена манипулятора, сводится к желаемой силе, полученной рассмотренным выше методом управления по положению. Если ошибка между измеренным вектором силы Fo и желаемой силой в декартовых координатах больше, чем заданный пользователем порог AF(&) = Fd(k)— — Fo(fe), действительная сила в декартовых координатах вычисляется по формуле
Pa(k+ 1) = Fa (Аг) + vfeAF (Аг),	(5.7-45)
где ук = l/(k + 1) для k = 0, 1, ..., N. Теоретически величина N должна быть большой. Однако на практике величина N может быть выбрана исходя из условия сходимости сил. По результатам численного моделирования, приведенным в работе [316], величина N=\ или N = 2 дает достаточно хорошую сходимость вектора сил.
269
Таким образом, описанный метод управления по силе имеет преимущества: он учитывает различные изменения нагрузки и его можно использовать для манипуляторов с любым числом степеней свободы без увеличения сложности вычислений.
5.8.	АДАПТИВНОЕ УПРАВЛЕНИЕ
Большинство методов, рассмотренных в предыдущих разделах, предназначено для управления конечным звеном манипулятора или сочленениями, и в них уделено внимание компенсации нелинейностей от сил взаимодействия между различными сочленениями. Эти управляющие алгоритмы могут быть неадекватными, потому что требуют наличия точной модели динамики манипулятора и не учитывают изменения нагрузки в процессе выполнения манипулятором работы. Такие изменения в объекте управления часто оказываются достаточно значительными и снижают эффективность управления по обратной связи. В результате ухудшается динамика и демпфирование системы, что ограничивает точность и скорость позиционирования конечного звена. Значительное улучшение точности формирования желаемой траектории во времени для широкого диапазона движений манипулятора и для различных нагрузок достигается при использовании адаптивных методов управления.
5.8.1.	Адаптивное управление по заданной модели
Среди различных методов адаптивного управления наиболее широко используемым и относительно легко реализуемым является адаптивное управление по заданной модели. Идея этого метода основана на выборе соответствующей заданной модели и алгоритма адаптации, по которым изменяются коэффициенты передач обратных связей на двигатели в реальной системе. Алгоритм адаптации проводится на основе информации об ошибках между выходами заданной модели и выходами реальной системы. Общая блок-схема адаптивного управления системой по заданной модели приведена на рис. 5.13.
Простое адаптивное управление по заданной модели для механических манипуляторов было предложено в работе [64]. При анализе нагрузка принималась в рассмотрение в сочетании с конечным звеном и предполагалось, что размеры конечного звена малы по сравнению с длиной других звеньев. Таким образом, выбранная заданная модель обеспечивает эффективную и гибкую работу замкнутой управляемой системы по формированию желаемой траектории. В качестве заданной модели для каждой степени свободы манипулятора робота выбирается линейное дифференциальное уравнение второго порядка, не зависящее от времени. Манипулятор управляется путем настройки
270
коэффициентов передачи обратной связи по положению и по скорости при отслеживании модели таким образом, чтобы его рабочие характеристики при замкнутом управлении совпадали с желаемыми рабочими характеристиками заданной модели. В результате такая схема адаптивного управления требует небольшого объема вычислений, которые могут выполняться с помощью недорогих микропроцессоров. Этот алгоритм адаптивного управления не требует ни сложных математических моделей динамической системы, ни предварительного знания внеш-
Рис. 5.13. Общая блок-схема адаптивного управления системой по заданной модели.
них воздействий, таких, как величина нагрузки и др. Адаптивная схема, построенная по заданной модели, стабильно функционирует в широком диапазоне движений и нагрузок.
После определения вектора у (0, описывающего динамику заданной модели, и вектора х(/), описывающего динамику манипулятора, i-e сочленение заданной модели может быть описано следующим образом:
aiiji (0 + biih (/) + yt (0 = гг (0.	(5.8-1)
Коэффициенты at и Ь< определяются из частоты собственных колебаний <аП1 и коэффициента демпфирования линейной системы второго порядка:
а( = ~2- и bt ——
(5.8-2)
271
В предположении, что при управлении манипулятором используются коэффициенты передачи обратной связи по положению и по скорости и что членами высоких порядков можно пренебречь, уравнение динамики манипулятора для z-го сочленения может быть записано в виде
а, (/) Xt (/) + Рг (/) х, (/) + xt (0 = гг (0,	(5.8-3)
где и р,(/)— медленно изменяющиеся во времени параметры системы.
Настройка коэффициентов обратной связи управляемой системы может быть произведена несколькими путями. Для минимизации квадратичной функции ошибки системы, определяемой различиями между динамикой реальной системы (уравнение (5.8-3)) и динамикой заданной модели (уравнение (5.8-1)), благодаря своей простоте используется метод градиентного спуска
Ji (е;) = 1/2 (ki/i + k\et 4-	i=l, 2, ..., n, (5.8-4)
где ei = yi — Xi и значения весовых коэффициентов k} выбираются из условий получения стабильности работы системы.
Используя метод градиентного спуска, настройку параметров системы, минимизирующую ошибку системы, можно описать следующими выражениями:
а(. (/) = [kl2et (0 + k{e( (/) +	(0] \kyit (0 +	(!) +	(0],
(5.8-5)
₽г (0 = (о + k\et (/) + k^i (/)] [k‘2wt ft) + k^i (0 + k^i (o],
(5.8-6)
где Utff) и а также их производные описываются из решения следующих дифференциальных уравнений:
ft) + biiit ft) + ut (f) = — у iff),	(5.8-7)
aiwi(t) + blri>t(t) + wl(t) = — у iff).	(5.8-8)
Величины у iff) и у, ft) представляют собой две первые производные по времени из уравнения динамики заданной модели. В замкнутой адаптивной системе решение уравнений заданной модели используется для получения желаемого входа. Таким образом, для получения значений uift) и wift), а также их производных в уравнениях (5.8-5) и (5.8-6) решаются дифференциальные уравнения (5.8-7) и (5.8-8). Наконец, решая дифференциальные уравнения (5.8-5) и (5.8-6), получаем значения tXift) и P/(f).
Одним из наиболее важных преимуществ такого метода управления является отсутствие сложной математической модели, однако стабильность замкнутой адаптивной системы при
272
этом находится на границе устойчивости. Поскольку анализ устойчивости в данном методе затруднителен, в работе [64] была исследована линеаризованная модель адаптивной системы. Однако возможность адаптации устройства управления при больших силах взаимодействия между звеньями манипулятора для рассмотренного метода становится неоднозначной.
5.8.2.	Адаптивное управление с авторегрессивной моделью
В работе [150] предложено адаптивное самонастраивающееся устройство управления, использующее авторегрессивную модель для установления соответствия между входными и выходными параметрами манипулятора. Алгоритм управления предполагает, что силы взаимодействия между сочленениями
Рис. 5.14. Адаптивное управление с авторегрессивной моделью.
ничтожно малы. Блок-схема системы управления приведена на рис. 5.14. Обозначим входной момент на i-м сочленении через Hi, а выходное угловое положение манипулятора — через у/. Пара входного и выходного параметров («,, у,) может быть описана авторегрессивной моделью, которая приводит эту пару как можно в более близкое соответствие:
п
yt (k) = Е [a™yt (k — m) + bfu. (k — m)] + a° + et (k),	(5.8-9)
m= 1
где — постоянная силы, ei(k} — ошибка моделирования, которая по предположению описывается белым шумом с гауссовским распределением и не зависит от м, и yi(k — т), tn 1. Параметры а? и Ь™ определяются таким образом, чтобы полу
273
чить наилучшее совпадение наименьших квадратов измеренной пары параметров входа и выхода. Эти параметры могут быть получены путем минимизации следующего критерия:
N
ei№,	(5.8-10)
fe = 0
где Ai— число измерений. Пусть а, является i-м параметрическим вектором
at --= (a°i, a'i, at, bt, b\.6?)T,	(5.8-11)
a ф<(/г— 1) — вектор пары входного и выходного воздействия
tyi(k — 1) =
= [1, yt(k — 1).yt{k — п), Ui(k— 1), Ui(k — n)]r. (5.8-12)
Тогда рекурсивная оценка по наименьшим квадратам at определяется выражением
аг (IV) = а; (IV — 1) + Р(. (IV) ф,. (N - 1) [yt (N) - aj (N - 1) (N - 1)],
(5.8-13) в котором
P|W—(5.8-14)
где 0 < и,1 — коэффициент «запоминания», обеспечивающий экспоненциальное убывание предыдущих значений параметров во времени в алгоритме оценивания и возможность медленного изменения параметров, Р, — симметрическая матрица размерностью (2« + 1)Х(2«+ 1), а Л над а, обозначает оценку.
Используя приведенные уравнения для вычисления оценок авторегрессивной модели, эту модель можно представить в виде
^(fe) = a^(.(fe-l) + ^.(fe).	(5.8-15)
Рабочий критерий для i-ro сочленения при определении опорных точек траектории имеет вид
(и) = Е{ {у, (fe + 2) - у^ (k + 2)]2 + y(U2 (k + 1) |ф; (£)}, (5.8-16)
где £[•] — вероятность выполнения процесса при наличии ф/(6), a yt — неотрицательный весовой коэффициент, задаваемый пользователем.
274
Оптимальное управление, минимизирующее приведенный рабочий критерий, имеет вид
М&+ 1) = р;.(^р(Д;	+	+
п	п	\
+ У d™ (k) yt (k + 2 — т) + У b? (/г) нг (k + 2 — т) — yf (k + 2) > , m=2	т = 2	'
(5.8-17)
где а?, Ь? и а? — оценка параметров из уравнений (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). В такой постановке задача управления формулируется как нахождение закона управления по обратной связи u (t) = g [x(i)], такого, что замкнутая система управления x(^) = f{x(Z), g[x(0]} асимптотически устойчива и описывает максимально приближенную к желаемой траекторию в широком диапазоне нагрузок в каждый момент времени.
Предположим, что заданное состояние xn(t) системы (уравнение (5.4-4) ) определено заданной траекторией, а соответствующие заданные моменты ura(Z) получены из уравнений движения Ньютона — Эйлера. Тогда х„(0 и un(/) удовлетворяют уравнению (5.4-4):
x„(/) = f [х„(0, и„(01-	(5.8-18)
Используя разложение в ряд Тейлора в уравнении (5.4-4) относительно заданной траектории и вычитая из него уравнение (5.8-18), а также пренебрегая членами высоких порядков, получим соответствующую линеаризованную модель возмущений для рассматриваемого типа управления:
бх (t) = Vxf |„ бх (0 + vuf |„ би (0 = А (0 бх (0 + В (0 би (0, (5.8-19)
276
где V\f|n и Vuf | „ — якобианы в функции от f [х(/), и (/)], определяемые соответственно х„(0 и иДО, бх(0 = х(0—х„(0, а 6u(0 = u(0 — u„(0-
Параметры системы А(0 и В(Д в уравнении (5.8-19) зависят от текущего положения и скорости манипулятора при движении вдоль заданной траектории и, следовательно, медленно меняются во времени. Из-за сложности уравнений движения манипулятора точное определение элементов А(/) и В(0 чрезвычайно затруднительно. Однако построение закона управления с обратной связью для уравнений возмущения требует, чтобы параметры системы в уравнении (5.8-19) были известны в каждый момент времени. Таким образом, для определения неизвестных элементов А(/) и В(0 может быть использован метод параметрической идентификации.
В данной постановке задача управления манипулятором сводится к определению бц (0, которое устремляет 6х(0 к нулю вдоль всей заданной траектории в каждый момент времени. Следовательно, вся управляемая система характеризуется параметрами как прямой, так и обратной связей. После задания опорных точек траектории qd(0, qd(0 и qd(0 в прямой связи формируются соответствующие номинальные моменты иД0 из уравнений движения Ньютона — Эйлера. В обратной связи формируются соответствующие моменты по возмущениям би(0, которые компенсируют малые отклонения от заданной траектории. Вычисление моментов, компенсирующих возмущения, производится с помощью одношагового оптимального закона управления. Такая постановка задачи имеет два главных преимущества. Первое преимущество заключается в сведении нелинейной задачи управления к линейному управлению вдоль заданной траектории, а второе—-в том, что определение номинальных и компенсирующих моментов может быть произведено отдельно и одновременно. Благодаря наличию такой параллельной структуры вычислений метод адаптивного управления легко реализуется на современных недорогих микропроцессорах. Блок-схема рассмотренного метода управления приведена на рис. 5.15.
В случае использования цифровых машин уравнение (5.8-19) необходимо дискретизировать для получения соответствующих дискретных уравнений при определении требуемых параметров:
х [(& + 1) 7] = F (kT) х (kT) + G (kT) u (kT),
6 = 0, 1, ...,	(5.8-20)
где T — период дискретизации и u(kT)— «-мерный кусочно-постоянный входной вектор управления и(0 на интервале времени между двумя любыми последовательными моментами дискретизации kT t <Z (k + 1)Т, a x(kT)— 2«-мерный возмущен
277
ный вектор состояния, который определяется выражением
кТ
х (А-Г) = Г (kT, tQ) х (t0) + j Г (kT, t) В (t) u (t) dt. (5.8-21)
h
Здесь T(kT, to) — переходная матрица состояния системы, а ¥(kT) и G(kT)—соответственно матрицы размерностью 2нХ2л и 2п X п, которые определяются следующим образом:
F (kT) = Г [(А + 1) Т, kT]	(5.8-22)
(* + 1) т
и G (kT) u (kT) == J Г[(А + l)T, t]B(t)u(t)dt. (5.8-23) кТ
В этой модели должны быть определены все 6п2 параметров в матрицах T(kT) и G(^T'). Для простоты и ясности исключают период дискретизации Т из последнего уравнения.
Дараметро/ движения
робота	Возмущения
Рис. 5.15. Адаптивное управление по возмущениям.
Задача определения параметров может быть решена с помощью различных алгоритмов, таких, как методы наименьших квадратов, максимума, вариационных методов и методов стохастической аппроксимации. Для определения параметров системы в матрицах F(k) и G(k) целесообразно использовать рекурсивную схему определения параметров по наименьшим квадратам в реальном времени благодаря простоте ее реализации. В данной схеме определения параметров делаются следующие предположения: 1) параметры системы медленно меняются, но при этом скорость их изменения меньше, чем скорость адапта
278
ции; 2) погрешности измерений пренебрежимо малы; 3) переменные состояния х(&) в уравнении (5.8-20) поддаются измерению.
Для того чтобы применить рекурсивный алгоритм идентификации по наименьшим квадратам к уравнению (5.8-20), необходимо трансформировать систему уравнений к удобному для вычисления виду. Записывая i-ю строку неизвестных параметров системы через k-й момент времени в виде Зп-мерного вектора, получим
ТО=[^(*)’ •••’	....
1 = 1,2....р,	(5.8-24)
или в матричной форме
	... fpl(k) -	:	?
в(*)=
fiP(k)... fpp(k) gii(k)... gpi(k)
9p(k)], (5.8-25)
= [M*), M*),
_ gln(k) ••• gpn(k) _
где p — 2n. Аналогично определяем выходы и входы возмущенной системы по уравнению (5.8-20) в 6-й момент времени Зн-мерным вектором:
zr (6) = [*1 (6), x2(k), ..., xp(k), u2(k), ..., un(k)], (5.8-26) а состояние в k-й момент времени — 2н-мерным вектором:
х? (k) = [%[ (6), x2(k), ..., xp(6)J.	(5.8-27)
В результате система, соответствующая уравнению (5.8-20), может быть записана в виде
xi(k + l) = zT{k)6i{k), i=l, 2.....р. (5.8-28)
В такой формулировке задачи требуется определить параметры в каждом столбце 0*, основываясь на измерениях вектора z(k). Для того чтобы проверить точность алгоритма оценки по методу наименьших квадратов, при расчете учитывают ошибку моделирования и шум в уравнении (5.8-20) в виде 2п-мер-ного вектора ошибки e(k), часто называемого разностным вектором:
е.(6) = %г(6 + l)-zr(6)0z(6), i= 1, 2......р. (5.8-29)
При оценке параметров по методу наименьших квадратов предполагается, что неизвестные параметры являются постоянными
279
величинами, а решение основывается на ряде из W измерений с равными весами, используемом для оценки этих параметров. К сожалению, данный алгоритм не может быть использован для параметров, меняющихся во времени. Кроме того, требуется производить сложное в вычислительном отношении инвертирование матриц. Чтобы уменьшить объем вычислений и проследить изменение параметров 0(k) во времени на каждом периоде дискретизации, в схеме последовательного определения параметров по методу наименьших квадратов производится пересчет неизвестных параметров на каждом периоде дискретизации с использованием новых измерений на каждом дискретном интервале, что обеспечивает эффективное решение задачи идентификации. Рекурсивный алгоритм определения параметров по методу наименьших квадратов находится путем минимизации экспоненциального критерия ошибки, в котором учитывается квадрат ошибки последних измерений в виде
N
(5.8-30) /=1 ' -
где вектор ошибки определяется выражением
< (N) = [V^e. (1),	(2).......(W)],	(5.8-31)
a N > 3n— число измерений, используемых для оценки параметров 0,(УУ). Минимизируя критерий ошибки в уравнении (5.8-30) относительно неизвестных параметров вектора 0, и используя лемму об обращении матриц, после простых алгебраических преобразований получаем рекурсивную схему идентификации по методу наименьших квадратов в реальном времени:
(k + 1) = 0,- (k) + у (А) Р (k) z (k) [xt (k + 1) - zT (k) 0Z (Ar)], (5.8-32)
P (fe + 1) = P (fe) - Y (fe) P (fe) z (k) zT (fe) P (fe) (5.8-33) и	y (k) = [zr(^) P (k) г (k) + p]-1,	(5.8-34)
где 0<p< 1, знак Л над 0, означает оценку, P(&) = = p[Z(A)Zr(A)]_1 — симметрическая положительно определенная матрица размерностью 3n X Зп. Здесь Z(fe)-= [z(l), z(2),.,. . ,.,z(A)]—матрица измерений до А-го дискретного момента времени. Если ошибки е>(&) распределены аналогично и не зависят от нулевого значения и изменения о2, то Р(&) можно представить в виде ковариантной матрицы при р, равном о2.
Из приведенных рекурсивных уравнений видно, что оценка параметров 0>(& + 1) в (&+1)-й дискретный период времени равна предыдущей оценке 0,(6), скорректированной на величину, пропорциональную [х,(&+1)— zT	(k) ]. Член z7'(^)01(^)
представляет собой прогнозируемую величину х1(^+1), осно
280
ванную на оценке параметров 0,(£) и векторе измерения z(k). Компоненты вектора y(k)P(k)z(k) являются весовыми коэффициентами, которые определяют величину коррекции предыдущей оценки для получения новой оценки 0,(6 + 1). Параметр р — весовой коэффициент, обычно используемый для отслеживания медленно меняющихся параметров путем реализации экспоненциального уменьшения во времени значения измеренных величин. Если р 1, наибольший весовой коэффициент получают значения, полученные на последнем дискретном периоде, и не получают значения, полученные на предыдущем периоде. Если р « 1, точность отслеживания медленно меняющихся параметров снижается вследствие погрешности при получении и обработке экспериментальных данных.
Путем подбора весового коэффициента р можно добиться компромисса между способностью к быстрой адаптации и потерей точности определения параметров. В большинстве прикладных задач для отслеживания медленно меняющихся параметров р обычно выбирается в пределах 0,90 р< 1,0.
Наконец, рассмотренный алгоритм идентификации начинается с выбора начальных значений Р(0):
Р(0) = а13„,	(5.8-35)
где а — большая положительная скалярная величина, a 13Z1 — тождественная матрица размерностью ЗпХЗп. Начальную оценку неизвестных параметров F(&) и G(&) можно аппроксимировать следующими уравнениями:
 F (°) ~ + {1г Iх- (°)- и« <°> ]}т + {£ (°)’ и- <°> 1}2 т-’
(5.8-36)
- G(0) ~{^[х„(0), u„(0)j}7’ +
+ {-g-(x„(0), иД0)]}х{-^[х„(0), и„(0)]}г2 +
4 {4г tx" (°)’ и» (°)^2 {-Йг tx« (°)- u« <5‘8'37>
где Т—период дискретизации.
Для получения требуемых корректирующих моментов, уменьшающих ошибки манипулятора по положению и скорости вдоль номинальной траектории, соответствующие законы управления могут быть построены после определения параметров F(&) и G(£). Это можно сделать путем нахождения оптимального управления и*(£), минимизирующего рабочий критерий и удовлетворяющего требованиям уравнения (5.8-20):
J(k) = 1/2[хг(& + l)Qx(fc+ 1) + иг (£) Ru (&)], (5.8-38)
281
где Q — полуположительно определенная весовая матрица размерностью рХр, a R — положительно определенная весовая матрица размерностью п\п. Одношаговый рабочий критерий (уравнение (5.8-38)) показывает, что целью оптимального управления является сведение к нулю ошибок манипулятора по положению и по скорости вдоль номинальной траектории при позиционном и скоростном управлении на дискретных интервалах. При этом одновременно достигается качество управления. Вид оптимального управления, минимизирующего функционал (уравнение (5.8-38)) и удовлетворяющего требованиям уравнения (5.8-20), хорошо известен [259]:
u* (k) = — [R + Gr (k) QG (6)]-1 GT (k) QF (k) x (k), (5.8-39) где F(6) и G(k)—параметры системы, полученные с помощью алгоритма идентификации (уравнения (5.8-32) — (5.8-34)) в /г-й дискретный момент времени.
Алгоритмы идентификации и управления (уравнения (5.8-32) — (5.8-34) и (5.8-39)) не требуют сложных вычислений. В уравнении (5.8-34) [zr(£) P(£)z(6)p] представляет собой скаляр, поэтому его обращение тривиально. Хотя весовой коэффициент настраивается для каждого вектора t-ro параметра 0;(k), это требует большого объема вычислений для матрицы P(A-j- 1). Такая настройка нежелательна при реализации управления манипулятором робота в режиме реального времени. Матрица Р(& + 1) вычисляется только один раз на каждом дискретном периоде времени с использованием одного и того же весового коэффициента р. Более того, поскольку Р(й)—симметрическая положительно определенная матрица, необходимо вычислять только верхнюю диагональную матрицу из Р(6). Объединенный алгоритм идентификации и управления может быть реализован за время O(ns). В табл. 5.1 приведены требования
Таблица 5.1. Расчет адаптивного устройства управления
Адаптивное устройство управления	Число операций умножения	Число операций сложения
Уравнение движения Ньютона — Эйлера Алгоритм адаптации по методу наименьших квадратов Алгоритм управления Итого	117л — 24 30л2 + 5п + 1 8п3 + 24 + 39 8п3 + 32и2 4- 5л 4- 40	ЮЗп — 21 ЗОп2 + Зп — 1 84 — п2 — п + 18 8п3 + 29,г2 4- 2л 4- 17
к вычислению адаптивного управления при наличии возмущений. В соответствии с возможностями ЭВМ DEC PDP 11/45 сложе
282
ние с плавающей запятой (инструкция ADDF) занимает время 5,17 мкс, а умножение с плавающей запятой (инструкция MULF)— 7,17 мкс. Предположим, что по каждой из указанных инструкций необходимо выбирать данные из машинной памяти дважды при времени выборки 450 нс. Тогда для вычисления моментов на первых трех сочленениях манипулятора робота Пума в основной точке траектории при реализации адаптивного управления по возмущениям требуется примерно 7,5 мс.
Рис. 5.16. Ошибка позиционирования первого сочленения при различных нагрузках.
Изучение трехзвенного манипулятора робота Пума путем численного моделирования проведено в работах [159, 160]. При этом была оценена работа адаптивного устройства управления и осуществлено сравнение с устройством управления (уравнение (5.3-65)), которое в основном представляет собой пропорционально-дифференциальный регулятор (ПД-управление). Анализ проводился при различных условиях нагружения во время движения по заданной траектории. Была сопоставлена и оценена реализация ПД-управления и адаптивного управления для трех различных условий нагружения. Результаты приведены в табл. 5.2, где в первом случае приведены данные при отсут-
283
Таблица 5.2. Сравнение ПД-управления и адаптивного управления
Различные условия нагружения	ПД-управление				Адаптивное управление		
	Формирование траектории				Формирование траектории		
	Сочлене НИЯ	Максимальная ошибка, градус	Максимальная ошибка, мм	Ошибка конечного положения, градус	Максимальная ошибка, градус	Максимальная ошибка, мм	Ошибка конечного положения, градус
Без нагрузки:	1	0,089	1,55	0,025	0,020	0,34	0,000
ошибка в тензоре	2	0,098	1,71	0,039	0,020	0,36	0,004
инерции 10%	3	0,328	2,86	0,121	0,032	0,28	0,002
0,5 максимальной	1	0,121	2,11	0,054	0,045	0.78	0,014
нагрузки: ошибка в тензоре	2	0.147	2,57	0,078	0,065	1,14	0,050
инерции 10%	3	0,480	4,19	0,245	0,096	0 83	0,077
Максимальная	1	0,145	2,53	0,082	0,069	1,20	0,023
нагрузка: ошибка в тензоре	2	0,185	3,23	0,113	0,069	1,22	0,041
инерции 10%	3	0,607	5,30	0,360	0,066	0,58	0,019
Рис. 5.17. Ошибка позиционирования второго сочленения при различных на* грузках.
281
ствии нагрузки, во втором случае — при половине максимальной нагрузки, а в третьем случае — при максимальной нагрузке. Во всех случаях ошибка тензора инерции составляла 10%, что означало отклонение его действительного значения от измеренного в пределах ±10%. Результаты отразили преимущество адаптивного управления по сравнению с ПД-управлением с no-
о.079бг
0,0578
а
Третье сочленение
в Нез нагрузки о Половина нагрузки • Полная нагрузка
0,0360
<5 -0,0075
-0,0293
0,000	0,2000	0,4000	0,6000	0,8000	1,000
Дремя, о
Рис. 5.18. Ошибка позиционирования третьего сочленения при различных нагрузках.
0.0142
стоянным коэффициентом передачи обратной связи в смысле точности как формирования траектории движения, так и конечного позиционирования. Графики ошибок углового положения при адаптивном управлении для рассмотренных случаев приведены на рис. 5.16—5.18. Более подробно результаты моделирования изложены в [159, 160].
5.8.4. Независимое адаптивное управление движением
Метод адаптивного управления, рассмотренный в разд. 5.8.3 для связанных координат, может быть распространен на случай управления манипулятором в декартовых координатах при различных условиях нагружения с помощью применения принципа независимого управления движением по скорости и ускорению. Независимое адаптивное управление движением формирует дви
285
жение конечного звена и основано на использовании линеаризованной возмущенной системы, описывающей движение конечного звена вдоль заданной временной траектории. Это управление отличается от независимого управления движением по ускорению минимизацией не только ошибок по положению или ориентации, но и ошибок по угловым и линейным скоростям конечного звена манипулятора вдоль координатных осей конечного звена. Как и для предыдущего метода адаптивного управления, управляемая система характеризуется наличием положительной и отрицательной обратных связей, которые могут определяться одновременно и отдельно. Прямая связь преобразует определенные значения положений, скоростей и ускорений конечного звена в соответствующие значения этих величин для сочленений, с помощью которых вычисляются номинальные моменты в сочленениях, компенсирующие все силы, взаимодействующие между различными сочленениями. В обратной связи формируются моменты в сочленениях, компенсирующие возмущения и уменьшающие ошибки конечного звена манипулятора по положению и скорости вдоль его номинальной траектории. В этом случае также используется рекурсивный алгоритм идентификации по методу наименьших квадратов для определения параметров линеаризованной системы в режиме связи с процессором.
Уравнения движения манипулятора в декартовых координатах могут быть легко получены с использованием кинематической связи между связанными с сочленениями координатами и декартовыми координатами, которая была ранее найдена в виде уравнений (5.7-1)—(5.7-14). Ускорение манипулятора определяется уравнением (5.7-13) и имеет вид
Г v (0 1	• -I Г v (01
I О (О J = N (q’ q) N (q) L о (0 J + N (q) 4 (Z)- (5-8‘40)
Для того чтобы отразить динамику манипулятора в этом кинематическом уравнении, необходимо использовать уравнения движения Лагранжа — Эйлера в виде уравнения (3.2-26). Поскольку D(q)—всегда несингулярна, q(0 можно получить из уравнения (3.2-26) и после его подстановки в уравнение (5.8-40) определить ускорение конечного звена манипулятора в виде
Г v (/) 1	_i Г v (01
L<J=N(4'q,N’ (q)b(J+
+ N (q) D"1 (q) [r (/) - h (q, q) - c (q)].	(5.8-41)
Разобьем для удобства N(q), N-1(q) и D~'(q) на подматрицы размерностью 3X3, a h(q, q), c(q) и x(t) на подматрицы
286
размерностью
3X1:		
N(q)A	Nu .n21	(q) N12(q)l (q) N22(q)J
N~‘(q)AK(q)A		’KH(q) K12 - K2; (q) K22
D-‘(q)AE(q)A		1	1 W m w ra 8 S
h(q, q)A		’ hi (q, q) 1 - h2 (q, q) J ’
c(q)^i		' Ci (q) I - c2(q) J ’
r(/)A		’ Ti (0 1 v2(0 J
;(q) 1
>(q) J’ (q)l (q) J ’
(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 v(0
-Я(0 -
о
S(®)
о о
О	Ын	(q,	ч) Ки (q) 4- Ni2 (q, q) K2i (q) N(1	(q, q) K12 (q) + Ni2 (q, q) K22 (q)
0	N21	(q,	q) Ku (q) + N22 (q, q) K2i (q) N2i	(q, q) K12 (q) + N22 (q> q) K22 (q) -
0	0
0	0
Nu (q) E11 (q) 4- N)2 (q) E2I (q)	Nh (q) E12 (q) 4- N12 (q) E22 (q)
_ N21 (q) Ец (q) 4- N22 (q) E21 (q)	N21 (q) E12 (q) 4- N22 (q) E22 (q)_
Г — h, (q q) — C| (q)	4- t, (/)
X I
1. — h2 (q, q) — c2 (q) 4- t2 (0
-о о
о
_о
' р (0 -
v(O
_й(<) _
1з
О
(5.8-45)
где 0 — нулевая матрица размерностью 3X3. Заметим, что самая левая матрица и средние векторы имеют размерность 12X1, левая центральная матрица — 12 X 12, правая матрица— 12X6 и самый правый вектор —6 X 1. Уравнение (5.8-45) представляет собой уравнение состояния манипулятора и будет
287
1
использовано при получении адаптивного управления в декартовых координатах.
Определяя вектор состояния конечного звена манипулятора в виде
x(0A(^i, х2, . . ., х12)гД(рг, ру, pz, а, р, у, vx, vy, vz, ах, шг)гД
А (рг, Фг, vT, QT)T,	(5.8-46)
а вектор входных моментов в виде
и(0Д (т1; т6)г А (м1( .... и6)г,	(5.8-47)
уравнение (5.8-45) можно записать в пространстве состояний в виде
х (/) — f [х (/), и (/)],	(5.8-48)
где х(/)—2л-мерный вектор, и(/)—«-мерный вектор, f(-)—непрерывно дифференцируемая нелинейная вектор-функция размерностью 2«Х1, а п ~ 6 — число степеней свободы манипулятора.
Уравнение (5.8-48) может быть записано в виде	')
x1(0 = f1(x, и) = х7(0, 	'-• •' J
х2(0 = /2(х, и) = х8(0,	'' '	"
X3(0 = f3(X, U) = Xg(0,
х4 (О == ft (х, u) = — sec х5 (х10 cos х6 + хи sin х6),
— и) = 5есх5(х|0созх; sin х6 — хн cosx5cosx6), хб(0 = /б(х, и) =
= — secx5 (х10 sin х5 cosx6 + хи sin х5 sin х6 + x12cosx5),
Л-+6(0 = //+б(х, u) = g/+s(q, q)x(/') + 6/+6(q)l(q, q) + bi+6 (q) u(/),
(5.8-49) .•
где i = l, 6, a g!+6(q> q) есть (1ф6)-я строка матрицы '00	I3	0	-
00	0	S(O)
00 Nu	(q,	q)Kn(q)	+ NI2(q,	q)K2i(q)	Nn (q,	q)KJ2(q)	+	NI2(q,	q) K22(q) ’
-0 0 N2i	(q,	q)Ku(q)	+ N22(q	q)Ksi(q)	N2i(q,	q)Ki2(q)	+	N22(q,	q)K22(q)-
a ^i+6 (q) есть 0’+6)-я строка матрицы
0	о	’
о	о
Nu (q) Еп (q)-f-N[2 (q) E2i (q) Nu (q) E12 (q) -|- Ni2 (q) E22 (q)	:
_ N2i (q) E„ (q) + N22 (q) E21 (q) N2J (q) E12 (q) + N22 (q) E22 (q) _
, ,	•. Г—hjq, q) — cjq)]
и .	X(q, q)=	.	1
L — h2(q, q) -c2(q)J
288
Уравнение (5.8-49) полностью описывает динамику манипулятора в декартовых координатах. Задачей управления при этом является нахождение закона управления по обратной связи u(0 = g[x(0], который минимизирует ошибку конечного звена при его движении вдоль заданной траектории в широком диапазоне нагрузок. Снова получим соответствующую линеаризованную систему, используя теорию возмущений и разложение в ряд Тейлора в уравнении (5.8-49), и построим управление по обратной связи вдоль желаемой траектории конечного звена. Определение закона управления по обратной связи для линеаризованной системы аналогично определению закона управления в связанных с сочленениями координатах (уравнения (5.8-32) — (5.8-34) и (5.8-39) ). Блок-схема независимого адаптивного управления движением показана на рис. 5.19.
Система независимого адаптивного управления движением также характеризуется наличием прямой (программной), а также положительной и отрицательной обратных связей. Это позволяет проводить параллельные вычисления параметров в этих связях. В прямой связи определяются управляющие моменты в сочленениях по следующему алгоритму. Сначала по опорным точкам траектории конечного звена pd(0> ®d(0, vd(0> vd(t) и J2d(0 формируются величины требуемых положений, скоростей и ускорений в сочленениях, а затем из уравнений движения Ньютона — Эйлера вычисляются управляющие моменты в сочленениях, организующие траекторию конечного звена. При этом используются сформированные величины положений, скоростей и ускорений в сочленениях. Определенные таким образом моменты представляют собой номинальные моменты и„(0-В обратной связи вычисляются моменты в сочленениях, компенсирующие возмущения, в соответствии с уравнением (5.8-39) и рекурсивным алгоритмом идентификации по методу наименьших квадратов (уравнения (5.8-32) — (5.8-34)).
Возможность применения адаптивного устройства управления, реализованного на дискретной частоте 60 Гц, и современных недорогих микропроцессоров можно установить путем определения времени вычисления при рассмотрении математических операций умножения и сложения. Предположим, что мультипроцессоры могут производить параллельный расчет управления. Параметры прямой связи, в которой формируются номинальные моменты в сочленениях, организующие заданную траекторию движения конечного звена, могут подсчитываться в четыре последовательных этапа. Это требует в общем случае выполнения 1386 операций умножения и 988 операций сложения для шестизвенного манипулятора. Параметры обратной связи, в которой формируются моменты, компенсирующие возмущения в сочленениях, удобно вычислять в три последовательных этапа. Для шестизвенного манипулятора это требует выполнения примерно
10 К. Фу и др.	289
параметры звеньев роЗота
Рис. 5.19. Независимое адаптивное управление движением.
890
3348 операций умножения и 3118 операций сложения. Поскольку параметры прямой и обратной связей могут вычисляться параллельно, независимое адаптивное управление движением в общем случае требует выполнения 3348 операций умножения и 3118 операций сложения в каждый период дискретизации. Объем вычислений для операций умножения и сложения при адаптивном управлении n-звенного манипулятора приведен в табл. 5.3.
Таблица 5.3. Вычисление независимого адаптивного управления движением
		Адаптивное управление	Число операций умножения	Число операций сложения
Этап	1	Вычисление qd (обратная задача кинематики)	(39)	(32)
Этап	2	• d Вычисление q	п2 _|_ 27ц + 327 (525)	ц2 + 18ц + 89 (233)
Этап	3	гт	**d Вычисление q	4га2 (144)	4ц2 - Зга (126)
Этап	4	Вычисление т Общее число операций при вычислениях по прямой связи	117л-24 (678) 5ц2 + 144« + 342 (1386)	103ц — 21 (597) 5я2 + 118ц + 100 (988)
Этап	1	Вычисление (рТФт)Т Вычисление (v £3 )	(48) п2 + 27п - 21 (177)	(22) ц2 + 18ц — 15 (129)
Этап	2	Вычисление ошибок конечного звена (х (k) — х„(й)] Алгоритм идентификации	0 (0) 33л2 + 9п + 2 (1244)	24 (12) 34'/2л2 — 1'/2ц (1233)
Этап	3	Вычисление адаптивного управления Общее число операций при вычислениях по обратной связи Общее число математических операций	8ц3 + 4ц2 + п + 1 (1879) 8л.3 + 38л2 + + 37 л + 30 (3348) 8ц3 + 38«2 + 4- 37ц + 30 (3348)	8ц3 — п (1722] 8ц3 + 35‘/2ч2 + 4- 177гц + 7 (3118) 8л3 4- 3572ц2 4- 4- 1772Ц + 7 (3118)
Для микропроцессора INTEL 8087 целочисленное умножение занимает 19 мкс, сложение—17 мкс, а обращение к памяти — 9 мкс. Предполагая, что для каждой операции умножения и сложения требуются два обращения к памяти, вычисление предложенного управления займет 233 мс. Такое быстродействие
10*
291
является недостаточным для работы замкнутой системы. В разд. 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, найти передаточные функции разомкнутой системы	и
замкнутой системы 0L (s)/0^ (s), если управляющее напряжение Va(t) прямо пропорционально ошибке позиционирования и скорости изменения выходного углового положения.
5.2.	Определите установившуюся ошибку системы на ступенчатое входное воздействие при управляющем напряжении из упр. 5.1. Сделайте то же самое для аналогового входа.
5.3.	Сколько требуется операций умножения и сложения на одной опорной точке траектории при использовании метода вычисления моментов, если для вычисления управляющих моментов в сочленениях для манипулятора е шестью степенями свободы и с шарнирными сочленениями использовать уравнения движения Ньютона — Эйлера?
293
5.4.	При использовании метода вычисления моментов было найдено управление в непрерывном времени, в то время как из-за использования, цифровой машины при реализации управления манипулятором робота оно должно осуществляться в дискретном времени, т. е. с помощью системы с дискретными параметрами. Приведите условие, при котором возможна указанная реализация управления.
5.5.	Уравнения движения двухзвенного манипулятора робота (разд. 3.2.6} записываются в компактной матрично-векторной форме
ри(е2) <ме2) 1 pun I
L d!2 (02)	d22 J L 02 (0 J
+(Pl! (e2) +2P1! w ед - p12 m зд+[ 2«j ] - [ ;;; ].
где g — ускорение свободного падения. Определите соответствующие векторы Переменного состояния х(1) и вектор управления и(1) для этой динамической системы. Предполагая, что существует D_|(0), запишите уравнения движения такого робота для параметров di;, f>,, и с, в пространстве состояний с использованием найденных вектора переменных состояния и вектора управления.
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.	ВВЕДЕНИЕ
(
Внешние устройства очувствления позволяют взаимодействовать роботу с внешней средой в интерактивном режиме, который отличается от режима работы по жестко заданной программе, предусматривающей выполнение повторяющихся операций без обратной связи с внешней средой. Хотя последний режим преобладает в современных промышленных роботах, очувствление и высокий уровень технического интеллекта обеспечивает более активное взаимодействие машин с внешней средой, что, несомненно, является перспективной областью развития робототехники. Роботу, который может «видеть» и «чувствовать», легче выполнять сложные задачи, кроме того, в этом случае снижаются требования к точности устройств управления. Очувствленные обучаемые системы обладают возможностью адаптации при выполнении широкого круга задач. Благодаря этому повышается степень универсальности, что в конечном счете приводит к снижению стоимости продукции и технического обслуживания.
Функционально датчики роботов можно подразделить на два основных типа: датчики внутреннего состояния и датчики внешнего состояния. Датчики внутреннего состояния служат для формирования сигналов в цепях обратных связей по положению и скорости звеньев манипулятора !). Эти измерения используются при управлении роботом, которое рассматривалось в гл. 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) образует на них полосы света, фиксируемые телевизионной камерой, помещенной на расстоянии В от источника света. Такая ситуация легко анализируется компьютером при определении расстояния. Например, отклонение лучей указывает на изменение поверхности, а разрыв соответствует промежутку между поверхностями.
Slid сверху Ла сбе тобой
поток.
Рис. 6.3. Измерение расстояний методом подсветки. Вид сверху (б) на расположение элементов системы, изображенной на рис. а, позволяет упростить процесс калибровки.
Для получения базовых значений расстояний вначале проводят калибровку системы. Один из простейших вариантов идентификации показан на рис. 6.3,6, который представляет собой вид сверху системы, представленной на рис. 6.3, а. При таком расположении источник света и камеру помещают на одинаковой высоте, а световой поток перпендикулярен линии, соединяющей источник света и центр объектива камеры. Назовем вертикальную плоскость, проходящую через эту линию, плоскостью отсчета. Очевидно, что плоскость отсчета перпендикулярна световому потоку и любая вертикальная плоская поверхность, пересекающая луч, дает вертикальную полосу света (рис. 6.3, а), каждая точка которой будет равноудалена по нормали от плоскости отсчета.
Целью расположения элементов системы, показанного на рис. 6.3,6, является размещение камеры таким образом, чтобы каждая вертикальная полоса была также вертикальной в пло* скости изображения Следовательно, каждая точка в одном столбце изображения будет найдена, поскольку находится на известном расстоянии от плоскости отсчета.
В большинстве систем, основанных на методе подсветки, используют цифровые изображения. Предположим, что изображе
299
ние, полученное камерой, преобразовано в цифровой массив размерностью NXM (разд. 7.2) и пусть у = 0, 1, 2, ..., М—1 является номером столбца этого массива. Ниже показано, что процедура калибровки состоит в измерении расстояния В между источником света и центром линз и последующим измерением углов ас п «о- После того как эти величины становятся известны, из правил элементарной геометрии следует, что d (рис. 6.3,6) вычисляется по формуле
d = Xtg6. ’	(6.2-1)
где X— фокальная длина линз и
6 = ас — а0.	(6.2-2)
Для цифрового изображения, содержащего Л1 столбцов, приращение расстояния dk между столбцами определяется по формуле
<,»=‘ж=тг	<6.2-3)
для О k Л4/2. (В изображении на мониторе k — 0 соответствовало бы крайнему слева столбцу, a fe = M/2 — центральному столбцу.)
Угол а*, образованный проекцией произвольной полосы, легко получить, отметив, что
aft = ac~0s.	(6.2-4)
где
(6.2-5)
или, используя равенство (6.2-3), а, I Г d (Л1 — 2fe) "I 0ft = arctg [—------------------------J’	t6'2’6)
где O^k^M/2. Для оставшихся значений k (т. е. по другую сторону оптической оси) имеем
= + С	(6.2-7)
где
a" i Г d (2fe — Л1) 1	п пх
= arctg [--Ж— J	(6.2-8)
для М/2 < k < (Л1 — 1).
Сравнивая уравнения (6.2-6) и (6.2-8), отметим, что
= — 9'ft. Таким образом, равенства (6.2-4) и (6.2-7) идентичны для всего диапазона 0 k М — 1. Тогда из рис. 6.3, б следует, что расстояние по нормали Dk между произвольной полосой света и плоскостью отсчета будет равно
D* = Btg9ft	(6.2-9)
гоп
для 0 k М—1, где a.k вычисляется либо из уравнения (6.2-4), либо из уравнения (6.2-7).
Важно отметить, что, если величины В, ао, ас, М и \ известны, номер столбца в цифровом изображении полностью определяет расстояние между плоскостью отсчета и всеми точками на полосе, отображенной на этом столбце. Так как М и X являются фиксированными параметрами, процедура калибровки состоит в простом измерении В и определении и ао, как указано выше. Для определения ас плоскую вертикальную поверхность размещают так, чтобы ее пересечение со световой полосой находилось в центре плоскости изображения (т. е. у = = М/2). Затем измеряют величину перпендикуляра Dc между поверхностью и плоскостью отсчета. Из рис. 6.3,6 следует, что
ас = arctg	(6.2-10)
Чтобы определить ао, перемещают поверхность ближе к плоскости отсчета, пока ее световая полоса не совместится с у = 0 на плоскости изображения. Затем измеряют Da и из рис. 6.3,6 находят
cto = arctg	(6.2-11)
Это завершает процесс калибровки.
Основное преимущество такой системы состоит в относительной простоте измерения расстояний. После завершения калибровки расстояние, соответствующее каждому столбцу в изображении, вычисляется с помощью уравнения (6.2-9), где # = = 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' = ГД- 2£>. Допустим, что D = 0. При этом условии D' = L, и как луч отсчета, так и отраженный луч достигают фазометра одновременно. Если
302
увеличивать D, отраженный луч проходит большой путь и, следовательно, возникает фазовый сдвиг между двумя лучами в точке измерения (рис. 6.5,6). В этом случае имеем
D' = L + ^k.	(6.2-12)
Отметим, что, если 0 = 360°, обе волны вновь совпадают и нельзя отличить D'= L и D' = L-\-nk, п~1, 2, ..., основы-
Лазер
—— Исходящий луч
—Отраженный луч
Фазометр
а
 *( 8 1*—
д'
Рис. 6.5. Принцип измерения расстояния по фазовому сдвигу (а) и сдвиг между исходящей и отраженной световыми волнами (б).
ваясь на одном измерении фазового сдвига. Таким образом, решение может быть получено только в том случае, если 0 < 360°, либо, что то же самое, 2D < к. Так как D' — L 2D, подставив это значение в уравнение (6.2-12), имеем
(6.2-13)
что определяет расстояние через фазовый сдвиг, если известна длина волны.
303
Если длина волны лазерного луча мала (например, 632,8 нм для гелий-неонового лазера), то метод, схема которого показана на рис. 6.5, нецелесообразно применять в робототехнике.
Простейшим решением в этом случае является амплитудное моделирование лазерного луча путем использования волны с гораздо большей длиной. (Например, помня, что с — fk, модулирующая волна с частотой f = 10 МГц имеет длину 30 м.) Этот метод проиллюстрирован на рис. 6.6. Основная процедура остается прежней, но сигнал отсчета является теперь функцией модулирования. Модулированный лазерный сигнал посылается на объект, а возвращенный сигнал демодулируется и сравнивается с отсчетным сигналом для определения фазового сдвига. Равенство (6.2-13) все еще имеет силу, но теперь работа происходит в более удобном диапазоне длин волн.
Рис. 6.6. Волновой сигнал, модулированный по амплитуде модулирующей функцией с гораздо большей длиной волны.
Важным преимуществом метода с непрерывным лучом по сравнению с импульсным методом является то, что первый дает сведения об интенсивности (чем ярче, тем ближе) [137]. Однако для работы по методу с непрерывным лучом затрачивается значительно большая мощность. Неточности при измерении расстояний, получаемые при использовании любого из этих методов, требуют усреднения отраженного сигнала для уменьшения ошибки. Если при рассмотрении задачи мы допускаем, что к действительному расстоянию добавляется шум измерения, и принимаем, что измерения являются статистически независимыми, можно показать,_что стандартное отклонение от среднего значения равно i/V^ стандартных отклонений шума, где 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.	ОЧУВСТВЛЕНИЕ В БЛИЖНЕЙ ЗОНЕ
Датчики измерения в дальней зоне, описанные нами выше, дают оценку расстояния между датчиком и отражающим объектом. Датчики измерения в ближней зоне обычно имеют дискретный пороговый выходной сигнал, который определяет на
Корпус
Магнит
Катушка Диэлектрик Соединение
S
силовые линии
Статной или железный предмет
Рис. 6.8. Индуктивный датчик (а), форма магнитных линий при отсутствии ферромагнетика (б) и форма магнитных линий при наличии ферромагнетика в зоне измерения датчика (в) [38].
личие объекта в пределах установленного пространства. Типичным является использование таких датчиков в робототехнике для получения информации в ближней зоне при захвате объекта или при его обходе. В настоящем разделе рассматриваются несколько основных методов очувствления в ближней зоне и основные рабочие характеристики датчиков.
6.3.1.	Индуктивные датчики
Датчики, основанные на изменении индуктивности при взаимодействии с металлическим объектом, находятся в ряду наиболее широко используемых промышленных датчиков измере-
306
ния в ближней зоне. Принцип работы этих датчиков можно объяснить, используя рис. 6.8 и 6.9. На рис. 6.8, а представлена схема индуктивного датчика, который состоит из катушки, размещенной вслед за постоянным магнитом в корпусе.
Когда датчик приближается к ферромагнитному материалу, силовых линий постоянного магнита,
изменяется расположение (рис. 6.8,6 и в). При отсутствии движения силовые линии не изменяются и, следовательно, в катушке ток не индуцируется. Однако, если в поле постоянного магнита перемещается ферромагнитный материал, возникающее в результате этого изменение силовых линий индуцирует импульс тока, амплитуда и форма которого пропорциональны уровню изменения магнитного поля.
Изменение напряжения на выходе катушки обеспечивает эффективное очувствление в ближней зоне. На рис. 6.9, а показано изменение напряжения в катушке в зависимости от скорости, с которой ферромагнетик вводится в поле магнита. Полярность выходного напряжения датчика зависит от того, входит объект в поле или выходит из него. На рис. 6.9, б показана зависимость амплитуды напряжения от
Расстояние между объектом и датчиком, мм
5
Рис. 6.9. Зависимости выходного сигнала индуктивного датчика от скорости (а) и {б).
расстояния между датчиком и объ-
ектом. Из этого рисунка видно, что чувствительность резко падает с увеличением расстояния и датчик эффективен только на расстояниях ~ 1 мм.
Так как для получения выходного сигнала на датчике требуется наличие относительного движения датчика и объекта, одним из методов получения дискретного порогового сигнала является интегрирование выходного сигнала. Пороговый сигнал остается на нижнем уровне, пока значение интеграла
307
остается ниже установленного порога. После превышения порога выходной сигнал переходит на верхний уровень, что соответствует наличию объекта в зоне измерений.
6.3.2.	Датчики Холла
Из физики известно, что эффект Холла связывает напряжение между двумя точками в проводнике или полупроводниковом материале с магнитным полем, воздействующим на этот материал. Используемые сами по себе датчики Холла могут уловить только намагниченные объекты. Однако, если их использовать вместе с постоянным магнитом, как показано на рис. 6.10, они способны установить наличие всех ферромагнитных материалов. Используемый таким образом датчик Холла
Рис. 6.10. Работа датчика Холла (а), снабженного постоянным магнитом (б).
«чувствует» сильное магнитное поле при отсутствии ферромагнетика в ближней зоне (рис. 6.10, а). Если такой материал вносят в ближнюю зону действия прибора, магнитное поле на датчике ослабевает вследствие замыкания линий поля через материал (рис. 6.10,6).
Датчики Холла основаны на возникновении силы Лоренца, действующей на заряженную частицу, движущуюся в магнитном поле. Эта сила направлена по оси, перпендикулярной плоскости, образованной направлением движения заряженной частицы и направлением поля. Таким образом, сила Лоренца определяется как F=</(vXB), где q — заряд, v — вектор скорости, В — вектор магнитного поля, а X — знак пересечения векторов. Предположим, например, что ток проходит через полупроводник n-типа, который находится в магнитном поле (рис. 6.11). Помня, что электроны являются основными носителями в ма
308
териалах /2-типа и что движение дырочного тока противоположно потоку электронов, ясно, что сила, действующая на движущиеся отрицательно заряженные частицы имела бы направление, показанное на рис. 6.11. Эта сила действует на электроны, которые скапливаются в нижней части материала. Таким образом возникает напряжение, которое в данном случае имеет положительный знак в верхней части материала. При внесении ферромагнетика в зону действия полупроводникового магнитного прибора напряженность магнитного поля увеличивается. Следовательно, уменьшается сила Лоренца, и в итоге — напряжение на полупроводнике. На этом падении напряжения
Рис. 6.11. Возникновение эффекта Холла.	,
и основан принцип измерения в ближней зоне датчиками Холла. Дискретный выходной сигнал, определяющий наличие объекта, реализуется пороговым ограничением выходного напряжения датчика.
Отметим, что использование таких полупроводников, как кремний, имеет ряд преимуществ с точки зрения размеров, точности и устойчивости к влиянию электрических помех. Кроме того, использование полупроводниковых материалов позволяет установить электронную схему усиления и обработки сигналов непосредственно на датчике, уменьшая таким образом его размер и стоимость.
6.3.3.	Емкостные датчики
В отличие от индуктивных датчиков и датчиков Холла, которые идентифицируют ферромагнитные материалы, емкостные датчики обладают способностью (с различной степенью чувствительности) обнаруживать все твердые и жидкие материалы.
309
Как видно из их названия, эти датчики основаны на изменении емкости, которая зависит от расстояния до поверхности объекта в зоне действия чувствительного элемента.
Сухой вводу
Дорпуа
базовый электрод
Диэлектрик
Чувствительный электрод
IZZZZZ^ZZZZZZZZZZZZZZZZZZZZZZZc
/7е чат кая
Изолирующая смола ллатг
Рис. 6.12. Емкостной датчик измерения в ближней зоне [38].
Рис. 6.13. Зависимость процентного изменения емкости датчика в ближней зоне от расстояния [38].
Основные компоненты емкостного датчика показаны на рис. 6.12. Чувствительным элементом является конденсатор, состоящий из чувствительного электрода и базового электрода (ими могут быть, например, металлический диск и кольцо, разделенные диэлектриком). За емкостным элементом обычно помещают воздушную полость для обеспечения изоляции. В состав датчика может входить также электронная схема. В этом случае схему заплавляют в смолу, чтобы обеспечить ее герметичность и механическую защиту.
Существует ряд методов обнаружения в ближней зоне, основанных на изменении емкости. В одном простейшем методе конденсатор представляет собой элемент колебательного контура, колебания в котором возникают только в том случае, если емкость датчика превышает заданное пороговое значение. Колебания преобразуются затем в выходное напряжение, которое указывает на присутствие объекта в зоне измерения. Этот метод обеспечивает дискретный выходной сигнал, переключение которого зависит от значения заданного порога.
В более сложном методе используется емкостной элемент в контуре, по которому постоянно проходит синусоидальный сигнал частоты. Изменение емкости вызывает фазовый сдвиг
310
между сигналом эталонной частоты и сигналом от емкостного элемента. Фазовый сдвиг пропорционален изменению емкости и, следовательно, может быть использован для обнаружения объекта в ближней зоне.
На рис. 6.13 показано изменение емкости в зависимости от расстояния для датчика измерения в ближней зоне, построенного по рассмотренному принципу. Следует отметить, что на. расстоянии, превышающем несколько миллиметров, чувствительность резко падает. Форма характеристики при этом зависит от материала объекта измерения. Обычно такие датчики работают в дискретном пороговом режиме. Изменение емкости выше заданного порога Т соответствует наличию объекта,, а ниже — его отсутствию в зоне, установленной величиной
6.3.4.	Ультразвуковые датчики
Характеристики всех рассмотренных датчиков измерения в ближней зоне сильно зависят от материала объекта измерения. Эта зависимость может быть в значительной степени уменьшена путем использования ультразвуковых датчиков, работа которых при измерении расстояния была кратко рассмотрена
Рис. 6.14. Ультразвуковой датчик измерения в ближней зоне [39].
в разд. 6.2.3. В данном разделе более подробно рассмотрены конструкции и работа этих датчиков, а также проиллюстрировано их использование для измерений в ближней зоне.
На рис. 6.14 показана структура типичного ультразвукового преобразователя, используемого для измерения в ближней зоне. Основным элементом является электроакустический преобразователь, в качестве которого часто используется пьезоэлектрический керамический элемент. Подложка из смолы защищает преобразователь от влажности, пыли и других внешних воздействий. Она служит также как переходное акустиче
311
ское сопротивление. Поскольку один и тот же преобразователь используется обычно как для передачи, так и для приема сигналов, для обнаружения объектов в ближней зоне необходимо быстрое демпфирование акустической энергии. Это достигается путем применения акустических поглотителей и развязкой преобразователя от корпуса. Конструкция корпуса позволяет получать узкий акустический поток, дающий мощный и направленный сигнал.
Для лучшего понимания работы ультразвукового датчика измерителя в ближней зоне надо провести анализ сигналов, используемых как для передачи, так и для приема акустической энергии. Типичный вид таких сигналов представлен на
Рис. 6.15. Сигналы, используемые в ультразвуковом датчике измерения в ближней зоне [39].
рис. 6.15. Сигнал А является запорным сигналом, используемым для управления посылаемыми сигналами. Сигнал В содержит выходной и отраженный сигналы. Импульсы С выделяют сигналы передачи или приема. Для того чтобы установить различие между импульсами, соответствующими посылаемой и отраженной энергии, вводятся временные окна (сигнал D), на которых основывается принцип измерения датчика. Временной интервал Л/ является минимальным временем измерения, а Л£1 -|—Л£г—максимальным. Можно отметить, что эти временные интервалы соответствуют прохождению определенных расстояний со скоростью распространения звука в используемой рабочей среде. После получения отраженного сигнала (в то время как сигнал D имеет максимальное значение) вырабатывается сигнал Е, величина которого принимает нулевое значение после окончания действия передающего импульса А. Нако
312
нец, сигнал F вырабатывается при появлении положительного импульса Е и сбрасывается в случае отсутствия сигнала Е и появления импульса А. Таким образом, сигнал F будет иметь максимальное значение при наличии объекта на расстоянии, определяемом параметрами сигнала D, т. е. сигнал F является выходным сигналом ультразвукового датчика, работающего в бинарном режиме.'
6.3.5.	Оптические датчики измерения в ближней зоне
Оптические датчики измерения в ближней зоне подобны ультразвуковым датчикам в том смысле, что они определяют близость объекта по его влиянию на волновой сигнал, проходящий от источника к приемнику. Один из наиболее распространенных методов измерения расстояния в ближней зоне с помощью оптических средств показан на рис. 6.16. Датчик состоит из светодиода, который выполняет роль источника ин-
Рис. 6.16. Оптический датчик измерения в ближней зоне [251].
фракрасного излучения, и фотодиода, используемого в качестве приемника. Пучки света, сформированные фокусными системами источника и приемника в одной плоскости, пересекаются в вытянутой конусовидной зоне. Эта зона определяет рабочий диапазон датчика, так как отражающая поверхность, которая находится в зоне, освещается источником и одновременно «просматривается» приемником.
Хотя данный метод в принципе похож на метод триангуляции, рассмотренный в разд. 6.2.1, необходимо отметить, что зона измерений, показанная на рис. 6.16, обеспечивает не только точечное измерение. Другими словами, поверхность, находящаяся в любом месте указанной зоны, будет идентифицирована. Для объекта с известной ориентацией и характеристиками отражения можно осуществить калибровку интенсивности изображения в функции расстояния, однако обычно систему, приведенную на рис. 6.16, используют в режиме, при котором фор
зщ
мируется дискретный выходной сигнал при достижении интенсивности отраженного потока определенного порогового значения.
6.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, пара длинных и узких электродов размещена в плоскости активных электрических контуров с использованием СБИС-технологии. Проводящий материал находится над этой плоскостью и изолирован от нее по
Внешние чубстВи-
Uie/ibHbie ловер&ности
Рис. 6.19. Схват робота, оснащенный матрицами тактильных датчиков.
всей поверхности, кроме поверхности электродов. Давление от объекта изменяет сопротивление электродов, которое затем преобразуется с помощью электронных контуров, размещенных между электродными парами в сигналы тока или напряжения.
Другая возможная реализация приведена на рис. 6.20, в. Проводящий материал располагается между двумя взаимно перпендикулярными наборами тонких, плоских и гибких электродов. Каждое пересечение между ними, разделенное проводящим материалом, представляет собой одну чувствительную точку. Изменение сопротивления в функции давления измеряется путем смещения электродов одного набора и изменения тока в элементах второго набора. Величина тока в каждом из этих элементов пропорциональна давлению между неподвижным элементом и элементом, смещаемым внешней силой.
Наконец, система, показанная на рис. 620,г, построена с использованием анизотропного проводящего материала. Эти 316
материалы обладают односторонней проводимостью. В основании датчика расположена система плоских электродов, а сверху находится проводящий материал, направление проводимости которого перпендикулярно осям электродов. Проводящий материал отделен от электродов сеткой для его изоляции при отсутствии внешней силы. Когда приложена внешняя сила, происходит контакт между материалом и электродами. Возрастание
Рис. 6.20. Четыре метода реализации искусственной кожи.
силы приводит к увеличению площади контакта и уменьшению Сопротивления. Как и в предыдущем методе, один из’элементов чувствительной системы перемещается под действием внешней силы, а на втором производится измерение тока. Необходимо отметить, что чувствительность такого датчика зависит от толщины сепаратора.
Рассмотренные методы (рис. 6.20, в и г) основаны на соответствующем смещении элементов чувствительной системы. Это часто приводит к трудностям при получении тактильной инфор
317
мации со сложных деталей, поскольку пересечение электрических контуров индуцирует помехи в виде обратных токов. Одним из решений этой проблемы является установка диодов в каждом контуре, исключающих прохождение обратных токов. Другое решение заключается в заземлении всех контуров, кроме перемещаемого контура. Вклад каждого элемента пересечения можно выявить путем индивидуального контроля всех контуров принимающей системы.
Все рассмотренные тактильные датчики измеряют силы, перпендикулярные к чувствительной поверхности датчика.
Рис. 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)
где
Е = (силы, моменты)2" = {Fx, Fy, Fz, Мх, Му, MZ)T, W == (ряд измерений) = (г®!, w2, w3, .... w3)T,
и
(6.5-2)
В выражении (6.5-2) гц =/= О— являются членами, требующими преобразования ряда измерений W (в вольтах) в силы и моменты (в ньютонах и ньютонах на метр соответственно). Если пренебречь взаимовлиянием измерителей, то, суммируя (согласно рис. 6.22) силы и моменты относительнб начала координат датчика, размещенного в центре датчика силы, полу-
11 к. Фу и др.
321
чим выражение (6.5-2) с некоторыми г(-/, равными нулю. Для датчика, представленного на рис. 6.22, матрица разделения
силы по уравнению (6.5-2)	примет вид	
~0 0	г13 0 0 0 г17 0	
r2i 0 _ ° Тз2	0	0	г25	0	0	0 0	г34	0	г36	0	г38	(6.5-3)
Rf“ 0 0	0	г44 0 0	0	г,18	
0 г52	0 0 0 г56 0 0	
_r6i 0	Г63 0	г65 0 г67 0 _	
Довольно частое предположение об отсутствии взаимосвязи измерителей не соответствует действительности. Для некоторых датчиков силы соответствующая погрешность измерений достигает 5%. Таким образом, на практике обычно необходимо заменять матрицу разделения силы на матрицу, содержащую 48 ненулевых элементов. Такая «полная» матрица используется для калибровки датчика силы (разд. 6.5.3). Разделенный вектор силы F используется для получения ошибки, необходимой для выработки сигнала управления манипулятором. Недостатком использования силового датчика схвата, встроенного в запястье, является то, что он обеспечивает измерение векторов силы, разделяемых в процессе контакта элементов при сборке только в одной точке.
6.5.3.	Калибровка датчика
Целью калибровки силового датчика схвата, встроенного в запястье, является определение всех 48 неизвестных элементов матрицы разделения силы (уравнение (6.5-2)) на основе экспериментальных данных. В связи с наличием взаимовлияния контуров датчика необходимо найти 48 ненулевых элементов в матрице Rf. Калибровка силового датчика схвата производится путем определения псевдообратной матрицы калибровки RJ-, которая удовлетворяет соотношениям
W = RfF	(6.5-4)
и	Я’Л = »8Х8>	:: С6-5'5)
где Rp —- матрица размерностью 8 X 6, а 18Х8 — единичная матрица размерностью 8X8. Тогда матрица калибровки R^. из уравнения (6.5-1) может быть найдена из псевдообратной матрицы в уравнении (6.5-4) с использованием метода наименьших
322
квадратов. Перемножая уравнение (6.5-4) на (R^)r, получаем
(R;)rW = [(R;/R‘f]F.	(6.5-6)
После обращения матрицы [(R^.)rR’] имеем
F==[(R;)rR;]-1(R;)rw.	(6.5-7)
Сравнивая уравнения (6.5.1) и (6.5.7), получим
r^kr^r;]-1^)7-.	(6.5-8)
Матрица R}. может быть определена путем расстановки известных весовых коэффициентов при векторах, расположенных вдоль осей системы координат датчика. Подробно экспериментальный процесс калибровки матрицы разделения силы изложен в работе [264].
6.6.	ЗАКЛЮЧЕНИЕ
Материал, представленный в данной главе, характеризует уровень развития области создания датчиков роботов, дающих информацию о внешней среде. Однако надо отметить, что возможности таких датчиков гораздо более ограничены, чем человеческие возможности в этом плане.
Как отмечалось в начале данной главы, большинство современных промышленных роботов функционирует по заранее заданной жесткой программе без использования обратной связи от датчиков. Повышение интереса к гибким автоматизированным производствам привело к развитию робототехнических систем, управляемых с помощью датчиков, как к средству расширения области применения этих машин. Таким образом, совершенствование датчиков представляет собой динамично развивающуюся область с использованием известных из литературы новых методов и технологий.
Литература
Обзорными статьями по робототехнике являются [18, 91, 195, 197, 251]. Материалы по лазерным измерителям расстояний имеются в работах [67, 137, 138]. Продолжение материала, изложенного в разд. 6.3, находится в работах [38—40, 271], а в разд. 6.4—в работах [ИЗ, 120, 187, 241], а также в работах [22, НО, 195]. Датчики для основания робота (разд. 6.5) рассматриваются в работе [63]. Дополнительные сведения по силомоментному очувствлению можно найти в работах [196, 210, 264, 313].
11*	323
Упражнения
6.1.	Докажите справедливость выражения (6.2-8).
6.2.	Датчик измерения расстояния по времени прохождения сигнала освещает рабочее пространство с двумя объектами, имеющими изображение, показанное на телеэкране (рис. 6.23). Предполагая, что измерительная система расположена согласно рис. 6.3, б и что Л/ = 256, £>0 = 1м, Dc = 2 м, В — 3 м, а Л = 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 В. Столбцы считываются путем закорачивания их элементов на корпус и измерения тока. Предположим, что несмещенные ряды и несчитанные столбцы обладают высоким сопротивлением. Действие силы иа систему приводит к появлению следующих величии сопротивлений иа каждом пересечении элек
324
тродов (ряд, столбец): 100 Q на (1,1), (1,3), (3,1) я (3,3), 50Q на (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 это приводит к введению ограничений и предположений для уменьшения сложности задачи.
Рассмотренную классификацию можно использовать в основном для всех видов применяемых систем технического зрения. Это не означает, что она может служить моделью человеческого зрения и в то же время не связана с ним. Известно, например, что распознавание и интерпретация для человека представляют собой взаимосвязанные функции. Однако наличие этих связей не определяет возможностей их аналитического моделирования. Таким образом, приведенная классификация функций может рассматриваться как практический f метод реализации систем технического зрения, отражающий наш уровень понимания и владения аналитическими подходами в этой области.
327
В главе описаны получение изображения, его предварительная обработка, а также идеи и методы реализации функций, осуществляемых на низком уровне технического зрения. Верхний (высокий) уровень технического зрения рассмотрен в гл. 8. Хотя зрение отражает объемное трехмерное пространство, в системах технического зрения используется только его плоское изображение, объемную информацию из которого получают с помощью специальных методов, таких, как метод структурного освещения (разд. 7.3) или стереоизображения (разд. 7.4).
7.2.	ПОЛУЧЕНИЕ ИЗОБРАЖЕНИЯ
Визуальная информация преобразуется в электрические сигналы с помощью видеодатчиков. После пространственной дискретизации и квантования по амплитуде эти сигналы дают цифровое изображение. Ниже рассмотрены основные методы получения изображения при использовании технического зрения в роботах, влияние дискретизации на пространственное разделение и влияние квантования по амплитуде на разделение по интенсивности. Математический аппарат формирования изображения описан в разд. 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

I
I

5
Рис. 7.2. ПЗС-датчик линейного сканирования (а) и ПЗС-датчик с плоской структурой (б).
пропорциональна соответствующей интенсивности светового потока. Типичный датчик линейного сканирования (рис. 7.2, а) состоит из ряда фоточувствительных элементов, из двух шин, используемых для передачи содержимого с фоточувствительных элементов в транспортные регистры, а также из выходной шины, служащей для передачи содержимого из транспортных регистров на усилитель. На выходе усилителя формируется сигнал напряжения, величина которого пропорциональна содержимому фотоячеек.
331
ПЗС-датчики с плоскостной структурой аналогичны датчикам линейного сканирования с тем отличием, что в них фотоячейки расположены в форме матрицы, а между рядами фотоячеек имеется комбинация переходных транспортных регистров (рис. 7.2,6). Информация с нечетных номеров фотоячеек поступает последовательно в вертикальные транспортные регистры, а затем — в горизонтальный транспортный регистр. Информация с этого регистра поступает на усилитель, выход которого сопряжен с видеоканалом. Повторение данного процесса для фото
Рис. 7.3. Обозначения координат при описании изображения. Значение произвольной точки (х, у) задается величиной (интенсивностью) функции f в этой точке.
ячеек с четными номерами относится к обработке второй области телевизионного кадра. Такое «сканирование» производится 30 раз в 1 с.
Камеры с линейным сканированием воспроизводят, естественно, только одну линию входного изображения. Эти камеры удобно использовать в случае движения объекта относительно датчика (например, болтов на конвейере). Движение объекта в направлении, перпендикулярном датчику, дает двумерное изображение. Нередко используются датчики линейного сканирования с разрешающим диапазоном, включающим 256—2048 элементов. Разрешающая способность датчиков с плоскостной структурой составляет 32X32 элементов на
нижней границе и 256X 256 элементов для средних диапазонов. Современные промышленные устройства с высокой разрешающей способностью содержат 480X380 элементов, а экспериментальные ПЗС-датчики имеют 1024X 1024 элементов и больше.
Обозначим через [(х, у) двумерное изображение (рис. 7.3), получаемое телевизионной камерой или другим устройством, дающим изображение. Здесь х и у пространственные координаты (т. е. координаты плоскости изображения), а величина f в произвольной точке (х, у) пропорциональна яркости (интенсивности) изображения в этой точке. Переменной z обозначим изменение интенсивности изображения для случая, когда пространственное расположение этих изменений не существенно.
Для получения удобной с точки зрения вычисления формы функции изображения Дх, у) ее необходимо дискретизировать как пространственно, так и по амплитуде (интенсивности). Дискретизацию по пространственным координатам (х, у) будем называть дискретизацией изображения, а амплитудную дискретизацию— квантованием по интенсивности или квантованием по
332
Рис. 7.4. Эффекты уменьшения величины дискретизации, (а) 512 X 512J (б) 256 X 256; (а) 128 X 128; (г) 64 X 64; (б) 32 X 32.
уровню серого. Последний термин применяется для одноцветных изображений и отражает тот факт, что изображение меняется по тону от черного до белого в серых оттенках. Термины интенсивности и уровня серого будем использовать попеременно.
333
Рис. 7.5. Изображение размером 512 X 512 соответственно с 256, 128, 64, 32, 16, 8, 4 и 2 уровнями интенсивности.
Предположим, что непрерывное изображение дискретизировано равномерно на N рядов и М столбцов, причем каждая дискретная величина проквантована по интенсивности. Такая система, называемая цифровым изображением, может быть представлена в виде
- f(o,o) /(0,1) ... /(о, м-i) -
/О;1) ••• Hi.jw-i) (
_/(У-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.
нат изображения, f(0, 1)—правый от него пиксел и так далее. Обычно на практике величины М, М и число уровней дискретной интенсивности каждого квантованного пиксела задают в виде целых степеней числа 2.
Для уяснения процессов дискретизации н квантования рассмотрим рис. 7.4. На рис. 7.4, а приведено изображение, дискретизированное в систему пикселов размером N X N с М = 512, при этом интенсивность каждого пиксела квантована по одному из 256 дискретных уровней. На рис. 7.4,6—д показано то же изображение, но соответственно с N ~ 256, 128, 64 и 32. Везде число уровней интенсивности равнялось 256. Поскольку площадь дисплея для каждого изображения была также одинаковой (512 X 512 воспроизводящих точек), величина пикселов в изображении с меньшей разрешающей способностью удваивалась по сравнению с предыдущим изображением для того, чтобы заполнить все рабочее поле дисплея. В результате изображение принимает шахматную структуру, которая особенно заметна на картинках с низшей разрешающей способностью. Можно
335
отметить, что качество изображения размером 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].
Источник у' сбета ,7
£ X
Источник у сбегла
Светобая плоскость
Рис. 7.10. Вид сверху (а) на две световые плоскости, пересекающиеся на одной линии. Объект (б) будет обнаружен камерой, только если он пересекает обе световые плоскости [121].
339
наличие двух источников света гарантирует попадание объекта в световую полосу, если она расположена прямо напротив камеры. Отметим, что камера линейного сканирования регистрирует только ту линию, на которой сходятся две световые плоскости, но при движении объекта относительно камеры может быть получена двумерная информация.
Метод направленного освещения (рис. 7.6, г) используется в основном для обследования объекта. Такие дефекты поверхности, как впадины и трещины, определяются с помощью точно
Рис. 7.11. Пример направленного освещения [201].
направленного светового луча (например, лазерного луча) путем измерения величины его рассеивания. Если поверхность без дефектов, то на камеру попадает небольшое количество света. Если же на поверхности имеются дефекты, поток света в сторону камеры увеличивается и позволяет их выявить (рис. 7.11).
7.4.	ГЕОМЕТРИЯ ИЗОБРАЖЕНИЯ
Ниже рассматриваются важные преобразования, используемые при получении изображения, математическая модель камеры и ряд аспектов задачи формирования стереоизображения. Некоторые из этих преобразований уже были рассмотрены в гл. 2 в связи с кинематикой манипулятора робота. Здесь обсуждаются сходные проблемы, но с точки зрения получения изображения.
340
7.4.1.	Некоторые основные преобразования
Дадим представления о таких задачах, как вращение, изменение масштаба и смещение (сдвиг) изображений. Все преобразования записываются в трехмерной декартовой системе координат, в которой координаты точки записываются как (X, У, Z). В случае двумерных изображений для обозначения координат пиксела используется сокращенная запись (х, у). В обычной терминологии выражение (X, У, Z) представляет собой пространственные координаты точки.
Смещение. Предположим, что требуется сместить точку с координатами (X, У, Z) в новое место, используя перемещения (Хо, Уо, Хо). Смещение легко выполняется по следующим формулам:
Х’ = Х + Х0, У* = У + У0, Z‘ = Z + Z0,
где (X*, У*, Z*)—координаты новой точки. Эти выражения могут быть записаны в матричной форме
-х*-
Y*
-Z* -
' 1	О	О	Х01	Y
о	1	о	Уо	z
-О	0	1	Z0-l	.
(7.4-2)
Как показано ниже, для получения сложного изображения часто используется сочетание нескольких преобразований, таких, как смещение после изменения масштаба и вращения. Запись такого процесса существенно упрощается при применении квадратичных матриц. Соответственно уравнение (4.7.2) запишется в следующем виде:
(7.4-3)
Для параметров X*, У* и Z* уравнения (7.4-2) и (7.4-3) полностью эквивалентны.
В этом разделе мы будем использовать выражение для объединенной матрицы
v* = Av,
(7.4-4)
341
где А — матрица преобразования размером 4X4, v — вектор-столбец, содержащий начальные координаты:
(7.4-5)
a v* — вектор-столбец, элементами которого являются преобра-
зованные координаты:
гГп
Рис. 7.12. Вращение точки относительно осей координат. Углы измеряются по часовой стрелке, если смотреть вдоль осей вращения на начало координат.
L 1 J
С использованием этих выражений матрица, с помощью которой выполняется смещение, запи
шется в виде
г 1 о О Хо-1
Lo 0 0 1-1 (7.4-7) а процесс смещения определяется уравнением (7.4.4), т. е. v* = Tv.
Изменение масштаба. Масштабирование на коэффициенты Sx, Sy и Sz по осям X, Y и Z производится с помощью матрицы преобразования
гЗх О 0 0-»
О $у О О
О 0 Зг О
-0 0 0 1
(7.4-8)
Вращение. Преобразования, используемые для осуществления трехмерного вращения, значительно сложнее других преобразований. Простейшим видом этих преобразований является вращение вокруг координатных осей. Для вращения заданной точки вокруг произвольной точки в пространстве требуется выполнить три преобразования. Первое преобразование смещает произвольную точку в начало координат, второе — осуществляет вращение, а третье — возвращает точку в исходное положение.
342
В соответствии с рис. 7.12 вращение точки относительно координатной оси Z на угол 0 реализуется с помощью преобразования
	- cos0 sin 0 0 0-	
	— sin 0 cos0 0 0	
Re =	0	0	10	(7.4-9)
	-	0	001-	
Угол вращения 0 измеряется по часовой стрелке, если смотреть на начало координат из точки на оси 4-Z. Отметим, что это преобразование осуществляется только для координат X и У.
Вращение точки вокруг оси X на угол а выполняется с помощью преобразования
	- 1	0	0	O-i	
	0	cos a	sin a	0	
Ra =	0	— sin a	cos a	0	(7.4-10)
	-0	0	0	1 -	
Наконец, вращение точки относительно оси У на угол 0 реализуется с помощью преобразования
	- cos 0	0	— sin 0	o-
	0	1	0	0
*3 =	sin 0	0	cos 0	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 X т, столбцы которой являются вектор-столбцами, то одновременное преобразование всех этих
343
10	'...'
0 1 -
преобразования обычно
точек с помощью матрицы преобразования А размерностью 4X4 записывается в виде
V* = AV.	(7.4-13)
Полученная матрица V* имеет размерность 4 X т. Ее i-й столбец у* содержит координаты преобразованной точки, соответствующей V;.
В заключение отметим, что из матриц многих рассмотренных преобразований легко получить обратные матрицы, используемые для выполнения обратных преобразований. Например, матрица обратного смещения имеет вид
- 1 0 0 -Хо~]
. О 1 0 — Уо
Т = 0 0 1 -2. 	<7'4'|4>
-ООО 1 -
Аналогично обратная матрица вращения Re1 определяется как - cos (— 0) sin (— 0) 0 0-_j — sin (— 0) cos (— 0) 0 0 Re =	0	0
0	0
Обращение более сложных матриц производится численными методами.
7.4.2.	Оптические преобразования
Оптические преобразования, которые называются также преобразованиями изображений, проецируют точки трехмерного пространства на плоскость. Оптические преобразования играют основную роль при получении изображения, поскольку они определяют способ отображения пространственных объектов. Хотя ниже в этом разделе оптические преобразования записываются в матричной форме размерностью 4X4, они существенно отличаются от рассмотренных в предыдущем разделе, поскольку являются нелинейными, так как включают операции деления координат.
На рис. 7.13 приведена схема процесса формирования изображения. Предположим, что система координат камеры (х, у, г) имеет плоскость изображения, совпадающую с плоскостью ху, а оптическая ось, установленная по центру линзы, направлена вдоль оси г. Таким образом, центр плоскости изображения является началом координат, а центр линзы имеет координаты (0,0, А). Если камера сфокусирована на дистанционные объек
344
ты, то к представляет собой фокусное расстояние линзы. Здесь предполагается, что система координат камеры совпадает с декартовой системой координат (X, Y, Z). Это ограничение будет снято в следующем разделе.
Пусть (X, Y, Z)—координаты произвольной точки трехмерного пространства (рис. 7.13). Предположим для последующих рассуждений, что Z > к, т. е. что все интересующие нас точки
Рис. 7.13. Основная схема процесса получения изображения. Система координат камеры (х, у, г) совпадает с декартовой системой координат (X, У, Z).
пространства находятся перед линзой. Сначала требуется установить взаимосвязь между точкой (X, Y, Z) и координатами (я, у) ее проекции на плоскость изображения. Это легко сделать, рассмотрев соответствующие треугольники. Из рис. 7.13
следует
х _ X  X*
к Z — k к— Z
(7.4-16)
У __ Y  Y
к	Z-k	k-Z '
(7.4-17)
и
где минусы перед X и Y означают, что точки на изображении перевернуты.
Спроецированные на плоскость изображения точки трехмерного пространства определяются непосредственно из уравнений (7.4-16) и (7.4-17):
х =	(7.4-18)
и	
' (7.4-19)
.Важно отметить, что данные уравнения являются нелинейными, потому что они включают операцию деления на перемен
345
ную Z. Хотя ими можно пользоваться в приведенном виде, часто удобно применять матричную форму записи, как это дела
лось в предыдущем разделе для описания процессов вращения, смещения и масштабирования. Такую запись легко получить с
помощью однородных координат.
Однородные координаты точки с декартовыми координатами (X, У, Z) определяются как (kX, kY, kZ, k), где k — произвольная ненулевая постоянная. Ясно, что обратное преобразование
однородных координат в декартовые осуществляется путем деления трех однородных координат на четвертую. Точка в декартовой системе координат определяется в векторной форме следующим образом:
w =
х~ Y
-Z-
(7.4-20)
а соответствующая зайись в однородных координатах будет иметь вид
г6Х-| kY
kZ
- k -
wft =
(7.4-21)
Определим матрицу оптического
0
0
1
J_
 X
преобразования
0~
0
0 •
в виде
(7.4-22)
Тогда произведение через сЛ:	_
Pwft
дает вектор, который
обозначим
Сц = PwA =
0"
0 о
г kX~\
_1_ Л
kY kZ - k
kX kY kZ — kz
. (7.4-23)
' 1
0
0
0
Р =
" 1
о о
0
о
1
о
0
1
0
1
0
0
о о
1
1
Элементы вектора сЛ являются координатами камеры в однородной форме. Как было отмечено выше, эти координаты могут быть переведены в декартовые координаты путем деления каждого из трех элементов вектора сЛ на четвертый. Таким образом, декартовы координаты любой точки связаны с системой коорди
346
нат камеры следующей векторной формой:
~ КХ ~
X — z
ХУ
X —Z XZ _ X-Z_
(7.4-24)
Два первых элемента вектора с являются координатами (х, у) спроецированной на плоскость изображения пространственной точки (X, У, Z) в соответствии с уравнениями (7.4-18) и (7.4-19). Третий элемент для рассматриваемой схемы (рис. 7.13) не существен. Как показано ниже, этот элемент выступает в качестве свободной переменной в обратном оптическом преобразовании.
Обратное оптическое преобразование переводит точку с плоскости изображения обратно в трехмерное пространство. Таким
образом, из уравнения (7.4-23) получим wA = р-'сд,		(7.4-25)
где Р-1 определяется в виде		
	~1 0 0 О’	
	0 10 0	
Р1	0 0 10	. (7.4-26)
	0 0 V 1 _	Л _	
Предположим, что заданная точка на изображении имеет координаты (х0, уо, 0), где 0 по координате z отражает тот факт, что плоскость изображения находится на г = 0. Эта точка может быть записана в однородной форме вектором
- kx0-
(7.4-27)
Используя уравнение (7.4-25), получим соответствующий вектор для однородных пространственных координат
- kx0 -ky0 0 - k -
(7.4-28}
347
или для декартовых координат
(7.4-29)
Поскольку Z = 0, данное выражение верно не только для одной точки пространства. Это объясняется тем, что отображение трехмерного пространства на плоскость изображения является преобразованием многих точек в одну. Точка изображения (х0, уо) соответствует ряду пространственных точек, лежащих на одной линии, которая проходит через (х0, уо, 0) и (0, 0, л). Уравнения этой линии в декартовой системе координат получаются из уравнений (7.4-18) и (7.4-19) в виде
и
X = ^-(X,-Z)	(7.4-30)
y=^2.(X-Z).	(7.4-31)
Из этих уравнений видно, что если нет достаточной информации о пространственной точке (например, ее координаты Z), полученной из точки на изображении, то нельзя точно восстановить точку в трехмерном пространстве по ее изображению. Это вполне естественное соображение может быть использовано для определения обратного оптического преобразования путем простой подстановки элемента z в вектор сЛ вместо 0 в качестве свободной переменной. Таким образом, получим
(7.4-32)
Теперь из уравнения (7.4-25) имеем
(7.4-33)
348
После преобразования в декартовые координаты получим
Другими словами, используя z как свободную переменную, получим уравнений
Л + г ’
Г =	(7-4-35)
Л "Т* Z
v Zz Л — Х + z ’
Выразив z в последнем уравнении через Z и подставляя его в два первых уравнения, получим
X = -%-(K-Z),	(7.4-36)
Л
у —Z),	(7.4-37)
что согласуется с тем, что для восстановления точки в трехмерном пространстве путем обратного оптического преобразования требуется знание по крайней мере одной декартовой координаты точки. Эта проблема обсуждается также в разд. 7.4.5.
7.4.3.	Модель камеры
Уравнения (7.4-23) и (7.4-24) характеризуют формирование изображения путем проекции точки пространства на плоскость изображения. Таким образом, эти два уравнения представляют основную математическую модель воспроизводящей камеры. Данная модель базируется на предположении, что система координат камеры и декартова система координат совмещены. В этом разделе рассмотрим более общий случай, при котором две системы координат могут быть разделены. Однако главная цель получения координат произвольной точки пространства на плоскости остается той же.
В случае, изображенном на рис. 7.14, декартова система координат (X, Y, 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 -х0-0 1 0 — Уо 0 0 1 — z0
-ООО 1 -
(7.4-38)
Другими словами, однородная точка пространства wh с координатами (Хо, Уо, Zo) после преобразования Gw^ является началом новой системы координат.
Как указывалось выше, угол поворота измеряется между осями х и X. В нормальном положении эти оси совпадают. В результате поворота оси х на заданный угол производится вращение по углу 0. Вращение производится относительно оси г и осуществляется с использованием матрицы преобразования Re, заданной уравнением (7.4-9), т. е. применение этой матрицы ко всем точкам, включая точку Gwh, позволяет эффективно поворачивать ось х в требуемое положение. При использовании уравнения (7.4-9) важно иметь в виду условие, соответствующее рис. 7.12, а именно положительные углы получаются при
351
вращении точек по часовой стрелке, что предполагает вращение камеры против часовой стрелки вокруг оси г. Неподвижное (0°) положение соответствует случаю совпадения осей х и X.
До этого момента оси z и Z еще совпадают. Поскольку наклон определяется углом между этими двумя осями, поворачиваем камеру на угол а путем вращения оси z на данный угол. Вращение производится относительно оси х с использованием матрицы преобразования Ra (уравнение (7.4-10)) для всех точек, включая точку RgGw,,. Как и раньше, вращение камеры против часовой стрелки дает положительные углы, а поворот в 0° получается при совпадении осей г и Z’>.
В соответствии с разделом 7.4.4 две матрицы вращения могут быть совмещены в одной матрице R = RaRe.
Далее из уравнений (7.4-9) и (7.4-10) имеем
cos 0 sin 0	0	0-1
— sin 0 cos a cos 0 cos а sin а 0
R =	. Q .	„ .	п -	(7.4-39)
sin 0 sin а —cos 0 sin а cos а 0
0	0	0	1 -
Наконец, смещение начала координат плоскости изображения на вектор г производится с помощью матрицы преобразования
г 1 0 0 - г, -1
L 0 0 0	1
Таким образом, применяя к точке wh ряд преобразований CRGwh, совмещаем декартову систему координат и систему координат камеры. Координаты точки wh на плоскости изображения окончательно получают с использованием уравнения (7.4-22). Другими словами, однородная точка пространства, которая фиксируется камерой, расположенной в соответствии с рис. 7.14, имеет следующую запись в системе однородных коор: динат камеры:
C(1 = PCRGw;i.	(7.4-41)
Это уравнение .представляет оптическое преобразование, включающее две системы координат.
Как показано в разд. 7.4.2, декартовы координаты (х, у) точки изображения получаются путем деления первого и вто-
Наглядность этих преобразований можно обеспечить, сконструировав систему осей (например, с помощью устройств для чистки трубок), пометив оси х, у, г и произведя поочередное вращение осей вручную.
352
рого элементов вектора Сл на четвертый. Расписывая уравнение (7.4-41) и возвращаясь к декартовой системе координат, получим
. _______________(X — Хо) cos 9 (Г — Гр) sin 9 — ft______________
Х — (X — Хо) sin 9 з!Й а + (У — Го) cos 9 sin а — (Z — Zo) cos а + r3 + Л
(7.4-42) и
__. у (X — Xq) sin 9 cos а + (Г — Го) cos 9 cos а + (Z — Zo) sin а — r2
У — (X — Xq) sin 9 sin а + (Г — Го) cos 9 sin а — (Z — Zo) cos а + r3 + Л
(7.4-43)
Эти уравнения определяют координаты изображения точки w, пространственные координаты которой (X, У, Z). Отметим, что данные уравнения приводятся к уравнениям (7.4-18) и (7.4-19) при Хо = Уо = /о = О, И = г2 = г3 = 0 и а = 6 — 0°.
Рис. 7.15. Камера, направленная на пространственный объект.
Пример. Для иллюстрации рассмотренного метода предположим, что требуется найти изображение угла блока, показанного на рис. 7.15. Камера смещена от начала координат и направлена на объект с поворотом на 135° и наклоном в 135°. Условимся, что изменение углов происходит в положительном направлении при вращении камеры против часовой стрелки, если смотреть на начало координат вдоль оси вращения.
Воспроизведем подробно операции, необходимые для перемещения камеры из нормального положения к положению, по-
12 К. Фу и др.	353
казанному на рис. 7.15. Камера изображена в нормальном положении на рис. 7.16,4? и в смещенном относительно начала координат положении на рис. 7.16,6. Важно отметить, что после этой операции оси декартовой системы координат используются только для угловых отсчетов, т. е. после перемещения декартовой системы координат все вращения производятся отиоситель-
Оа z перпендикулярна
I	’ ' Плоскость XY J
।	-------------------J
6	»
Рис. 7.16. (а) Камера в нормальном положении, (б) Смещение центра шарнира нз начала координат, (в) Вращение вокруг оси г при повороте, (г) Вращение вокруг оси х при наклоне.
но новых осей (осей камеры). На рис. 7.16,в показан вид вдоль оси г камеры при осуществлении поворота. В этом случае вращение камеры вокруг оси z происходит против часовой стрелки, поэтому точки пространства вращаются относительно этой оси в противоположном направлении по положительному направлению угла 0. На рис. 7.16, г показано положение системы вдоль оси х камеры перед осуществлением наклона после завершения поворота. Вращение вокруг этой оси происходит против часовой стрелки по положительному направлению угла а. Оси декартовой системы координат показаны на рис. 7.16, в и г штриховыми
354
линиями, чтобы подчеркнуть их значение только как базы отсчета при реализации поворота и наклона. На рис. 7.16, г не отражена окончательная операция смещения плоскости изображения относительно центра шарнира.
В задаче используются следующие параметры: Хо — 0 м, Уо = 0 м, Zo = 1 м, а — 135°, 0 = 135°, /д = 0,03 м, Г2 = г3 = = 0,02 м, А = 35 мм = 0,035 м.
Искомый угол имеет координаты (X, У, Z) = (1; 1; 0,2).
Для того чтобы подсчитать координаты изображения угла блока, достаточно просто подставить заданные значения параметров в уравнения (7.4-42) и (7.4-43), т. е.
.	-0,03	.	-0,42
-1,53 + Л И У -1,63 +Л ’
Подставляя А — 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) известно, что сЛ = Awh. Полагая k— 1, можно записать
12*
355
в однородной форме
ch2
ch3
~ Яц Oi2 0![з 0li4~ О>22 а2з 0.24
«31 °32 а33	Я34
*“а41	°42	fl43	fl44 -*
г X -|
Y
Z
-1 -
(7.4-44)
chl ~
L СЛ4 -*
Из двух предыдущих разделов следует, что координаты камеры в декартовой системе задаются в виде
(7.4-45)
(7.4-46)
Подставляя сщ=хсщ и ch2 — усщ в уравнение (7.6-44) и раскрывая матричное произведение, получим
xcft4 = йцХ -ф а12У -ф a13Z -ф a14,
УСМ = а21^ *Ф а22^ Н- а2зД 4~ а24, Oil = а41^ + ^42Г + a43Z + а44>
(7.4-47)
где выражение для см может быть опущено, так как оно связано с г.
Подставляя сЛ4 в первые два уравнения (7.4-47), получим два уравнения с двенадцатью неизвестными коэффициентами
ОцХ + а12Г + a13Z — ОцхХ’ — a42xT — a43xZ — a44 х -ф a14 = О,
(7.4-48)
&2lX -ф -ф O23Z С1[',уХ	4Z42Z/K	6Z43Z/Z О44У -ф 6Z24 = 0.
(7.4-49)
Далее процесс калибровки состоит из трех этапов. Первый этап заключается в определении т 6 точек пространства с известными координатами (Х£, У£, Z£), i — 1, 2, ..., т. Поскольку имеются два уравнения, включающие координаты этих точек, то их необходимое количество должно по крайней мере равняться шести. На втором этапе получают соответствующие изображения этих точек (xi,yi), 1—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, t/i) и (х2, //2).
Предполагается, что камеры идентичны и системы координат обеих камер полностью совпадают, отличаясь только расположением их начал. Эти условия обычно встречаются на практике. Как и прежде, считается, что при совмещении системы координат камеры с декартовой системой координат плоскость изображения ху совпадает с плоскостью XY декартовой системы координат. При сделанных предположениях координата Z точки w одинакова для обеих систем координат камер.
Допустим, что первая камера совмещена с декартовой системой координат, как показано на рис. 7.18. Тогда по уравне-
357
нию (7.4-31) точка w лежит на линии с координатами
X, —-iL (X, — Zj),	(7.4-50)
где индексы у X и Z обозначают, что к началу декартовой системы координат передвинута первая камера, а вторая камера и точка w также переместятся в этой системе. При этом сохранено относительное расположение элементов системы, показанное на рис. 7.17. Если вместо этого к началу декартовой системы
Рис. 7.18. Вид сверху на рис. 7.17 при совмещении первой камеры с декартовой системой координат.
координат передвинута вторая камера, то точка w лежит на линии с координатами
Z2 = ^(X-Z2).	(7.4-51)
Однако благодаря наличию расстояния между камерами и тому, что координаты Z точки w одинаковы в обеих системах координат камер, имеем
Х2 = Х1 + В ,	(7.4-52)
и
Z2 = Zt = Z,	(7.4-53)
где, как отмечено выше, В — базовая линия.
358
Подставляя уравнения (7.4-52) и (7.4-53) в уравнения (7.4-50) и (7.4-51), получим уравнения
Xl + B = ^-(K~Z)	(7.4-54)
и
X, = ^L(Z-Z).	(7.4-55)
Вычитая уравнение (7.4-55) из уравнения (7.4-54) и решая его относительно Z, получим
Z = A----—.	(7.4-56)
Отсюда видно, что координата Z точки w легко вычисляется при известной разности между соответствующими координатами х2 и xt изображения, а также значений базовой линии и фокусного расстояния. Декартовы координаты X и У получаются затем прямо из уравнений (7.4-30) и (7.4-31) с использованием координат (xi, щ) или (х2, у2).
Наибольшую трудность при применении уравнения (7.4-56) для получения координаты Z представляет нахождение двух соответствующих точек на различных изображениях одного объекта. Поскольку эти точки обычно находятся в непосредственной близости, часто используют метод, при котором на одном изображении выделяют точку внутри малой окрестности, а затем пытаются определить соответствующую окрестность на другом изображении корреляционными методами, изложенными в гл. 8. Процесс сопоставления обычно ускоряется, если объект имеет характерные признаки, такие, как выступающие углы.
В заключение отметим, что процесс калибровки, рассмотренный в предыдущем разделе, может непосредственно использоваться для стереоизображения простой его реализацией независимо для каждой камеры.
7.5.	НЕКОТОРЫЕ ОСНОВНЫЕ ВЗАИМОСВЯЗИ
МЕЖДУ ПИКСЕЛАМИ
Ниже рассматривается несколько простых, но важных взаимосвязей между пикселами в цифровом изображении. Как и в предыдущем разделе, изображение будем обозначать f(x, у). При обсуждении отдельного пиксела будем использовать сокращенные обозначения р и q. Для подгруппы пикселов используется обозначение S.
7.5.1.	Соседние пикселы
Пиксел р с координатами (х, у) имеет четыре горизонтальных и вертикальных соседних пиксела с координатами
(х+ 1, у), (х — 1, у), (х, у + I), (х, у— 1).
359
Эта группа пикселов, называемая «четыре соседа р», обозначается через Отметим, что данные четыре пиксела находятся на одном расстоянии от (х, у), а также некоторые из соседних пикселов р могут быть за пределами цифрового изображения, если (х, у) находится на границе изображения.
Четыре диагональных соседних пиксела р имеют координаты
(х + 1, у + 1), (x+l,z/—1), (х— 1,у + 1), (х — у — 1)
и обозначаются через Nd(p). Эти точки вместе с четырьмя указанными выше называются «восемь соседей р» и обозначаются через N&(p). Некоторые из точек No(p) и Ns(p) также могут выходить за пределы изображения, если (х, у} находится на границе изображения.
7.5.2.	Связи
Пусть V — ряд значений интенсивности пикселов, которые могут быть соединены. Например, если требуется связать пикселы с интенсивностью 59, 60 и 61, то V = {59, 60, 61}. Рассмотрим три типа связей:
1.	Четырехсвязный. Два пиксела р и q со значениями интенсивностей из V являются четырехсвязными, если q относится к к группе Nt(p).
2.	Восьмисвязный. Два пиксела р и q со значениями интенсивностей из V являются восьмисвязными, если q относится к группе N8(p).
3.	m-связный (смешанная связь). Два пиксела р и q со значениями интенсивности из V являются m-связными, если
a)	q относится к группе Ni(p);
б)	q относится к группе Nd(p) и множество МДр)ПNi(q) — пустое. (Это множество пикселов, являющихся четырьмя соседними как по отношению к р, так и по отношению к q со значениями интенсивностей из 1Л)
Смешанная связь является модификацией восьмисвязного типа систем и вводится для исключения множественности соединений, которая часто вызывает трудности при использовании восьмисвязных систем. Рассмотрим для примера систему пикселов, показанную на рис. 7.19, а. Предположим, что V= {1, 2}. Связи восьми соседних пикселов с пикселом, имеющим значение 2, обозначим штриховыми линиями (рис. 7.19,6). Отметим неопределенность полученных связей ввиду их множественности. Эта неопределенность снимается при использовании т-связной системы (рис. 7.19, в).
Пиксел р примыкает к пикселу q, если они связаны. Можно подразделить примыкание на 4-, 8- и m-размерное в зависимости от определенного типа связей. Два изображения под
360
групп Si и S2 примыкают друг к другу, если несколько пикселов из Si примыкают к нескольким пикселам из S2.
Путь от пиксела р с координатами (%, у) к пикселу q с координатами (s, t) представляет собой последовательность определенных пикселов с координатами (х0, Уо), (xlt у^,..., (хп, уп), где (х0, Уо) = (х, у), (хп, yn) = (s, t), (xi, у,) — пиксел, прилежащий к (х,-!, yt-i ), 1 i п, а п — длина пути. Можно подразделить пути на 4-, 8- и m-размерные в зависимости от типа используемого примыкания.
0	1	1	О	1	1 ।	г	0	Г""*
						।
0	' 2	0	0	К °	0	2х	0
				\ X		
				X		
0	0	1	0	с \	0	0	'1
	а			5		в
Рис. 7.19.	Система	пикселов	(а).	Связь восьми	соседних	пикселов с пиксе
лом со значением 2 (б). Связь m-соседних пикселов с пикселом со значением 2 (в).
Если р и q являются пикселами изображения одной подгруппы S, то р считается связанной с q в S, если путь от р до q состоит только из пикселов, лежащих в S.
Для любого пиксела р, принадлежащего S, группа пикселов в S, связанных с р, называется связанным компонентом S. Отсюда следует, что два любых пиксела связанного компонента связаны друг с другом, а несвязанного — разделены.
7.5.3.	Измерение расстояний
Определим для пикселов р, q, z соответственно е координатами (х, у), (s, t) и (и, и) функцию расстояния или метрику D следующим образом:
1)	D (р, q) > О [D (р, q) = 0, если р = q],
2)	D(p, q) = D(q, р),
3)	D(p, z)^D(p, q) + D(q, z).
Евклидово расстояние между p и q определяется по формуле
De (Р, q) = [(X - s)2 + (у - ?)2]1/2.	(7.5-1)
При измерении этого расстояния пикселы, имеющие расстояние, меньшее или равное некоторой величине г от (х, у), располагаются в окружности радиусом г с центром в (х, у). Расстояние £>4, называемое модульным, между р и q определяется выражением
Di(p, q) = \x-s\ + \y-t\.	(7.5-2)
361
В этом случае пикселы, имеющие расстояние Du, меньшее или равное некоторой величине г от (х, у), образуют ромбовидную структуру с центром в (х, у). Например, пикселы с расстоянием ©4	2 от (х, у) (центральной точки) образуют следующие кон-
туры с равными от центра расстояниями:
2
2 12
2 10 12
.	2 12
2
Отметим, что пикселы с 04 = 1 являются четырьмя соседними к (х, у).
Расстояние D&, называемое также шахматным, между р и q определяется по формуле
D& (р, <?) = max (|х — s |, \у — /|).	(7.5-3)
При этом пикселы с расстоянием ©а, меньшим или равным некоторой величине г, образуют квадрат с центром в (х, у). Например, пикселы с расстоянием ©8	2 от центральной точки
(х, у) образуют следующие равноудаленные от центра контуры: 2 2 2 2 2
2 1112
2 10 12
2 1112
2 2 2 2 2
Пикселы с ©в = 1 составляют восемь соседних к точке (х, у) пикселов.
Можно отметить, что расстояние ©4 между двумя точками р и q равно кратчайшему из четырех путей между ними. То же самое относится к расстоянию ©8- В действительности можно определять расстояния ©4 и ©8 между р и q независимо от наличия связующих их путей, поскольку для нахождения этих расстояний требуются только значения координат данных точек. Однако, когда имеют дело с m-связностью, величина расстояния (длина пути) между двумя пикселами зависит от значения пикселов вдоль пути, а также от их соседей. Рассмотрим для примера систему пикселов, в которой р\, р2 и pi имеют значения 0 или 1
Рз Pt
Pl Р2
Р
362
Если предположить связность пикселов со значением 1 при pi и р3 равными 0, то т— расстояние между р и р4 равно 2. Если pi или р3 равно 1, расстояние равно 3. Если же pi и рз равно 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 получается, когда окрестность имеет
размерность 1X1 и,
-1	-1	-1
-1	8	-1
-1	-1	-1
Рис. 7.21. Маска для обнаружения отдельных то-
чек, отличающихся от постоянного фона.
следовательно, g зависит только от значения / в точке (х,у). В этом случае h становится картой интенсивности или преобразованием Т вида
s — T(r),	(7.6-2)
где для простоты введены переменные s и г, обозначающие соответственно интенсивность f(x,y) и g(x, у) в любой точке (х, у). Этот тип преобразования более подробно обсуждается в разд. 7.6.3.
Один из наиболее часто встречающихся методов пространственной обла-
сти основан на использовании так называемых масок свертки (или шаблонов, окон или фильтров). Обычно
маска представляет собой небольшую (например, размерность 3X3) двумерную систему (рис. 7.20), коэффициенты которой выбираются таким образом, чтобы обнаружить заданное свойство изображения. Предположим для начала, что дано изобра
364
жение с постоянной интенсивностью, которое содержит отдельные удаленные друг от друга пикселы с отличной от фона интенсивностью. Эти точки могут быть обнаружены маской, показанной на рис. 7.21. Процесс заключается в следующем. Центр маски (помеченный цифрой 8) перемещается по изображению определенным образом. При совпадении центра маски с поло
жением каждого пиксела всех пикселов, находящихся коэффициент на маске, т. е. значение пиксела под центром маски умножается на 8, а значения восьми соседних пикселов умножаются на —1. Затем результаты этих девяти умножений суммируются. Если все пикселы под маской имеют одинаковые значения (постоянный фон), то сумма будет равна нулю. Если же центр маски разместится над точкой с другой интенсивностью, сумма будет отлична от нуля. В случае размещения указанной точки вне центра сумма также будет отлична от нуля, но на меньшую величину. Это различие может быть устранено путем сравнения
производится умножение значении под маской, на соответствующий
(X - 1,у - 1)	”2 (х ~ 1, У)	(х - \ty + V
(х,у~У)	w5	(Я,у + 1)
(® + 1, у - 1)	(х + 1, у)	Ц + Ъу +1)
Рис. 7.22. Общая маска размерностью 3X3 с коэффициентами и соответствующими расположениями пикселов изображения.
значе-
значения суммы с пороговым
нием.
Если величины wt, w2, , представляют собой коэффициенты маски пиксела (х, у) и его восьми соседей (рис. 7.22), предыдущее рассмотрение можно представить как выполнение следующей операции:
h [f (х, у)] = Wyf (х — 1, у — 1) + w2f (х—1,г/) +
+ ay3f(x — 1, у+ 1) 4-	(х, у — 1) +
+ w5f (х, у) + w6f (х, у 4- 1) +
+ w7f (х + 1, у — 1) + wsf (х + 1, у) +
+ w9f(x+ 1, у+ 1)	(7.6-3)
на окрестности размерностью 3X3 точки (х, у).
Отметим, что использование окрестности не ограничивается областями размерностью 3\3 и случаями, которые будут приведены в дальнейшем, например снижение шума, получение
365
переменных порогов изображения, подсчет измерений параметров изображения и формирование структуры объекта.
Методы частотной области. К частотной области относится совокупность комплексных пикселов в виде преобразования Фурье от изображения. Понятие «частота» используется при интерпретации преобразования Фурье и вытекает из того факта, что результат этого преобразования представляет собой сумму синусоид. Из-за повышения требований к обработке результатов методы частотной области не так широко используются в техническом зрении роботов, как методы пространственной области. Однако преобразование Фурье играет важную роль при анализе движения объекта и при описании объекта. Кроме того, многие пространственные методы для улучшения качества и восстановления изображения базируются на концепциях преобразования Фурье. Более подробно преобразования Фурье и его свойства изложены в работе [104].
Сначала рассмотрим дискретную функцию одной переменной f(x), х = 0, 1, 2, ..., W—1. Прямое преобразование Фурье от f(x) определяется следующим образом:
W-1
F (и) =	£ f (х) e-<2^x/N	(7.6-4)
х = 0
для и — 0, 1, 2, ..., N — 1. В этом уравнении j — х/ — 1, а и — частотная переменная. Обратное преобразование Фурье от F(и) восстанавливает функцию f(x) и определяется в виде
/V-I
f (х) = 2 F («) e!2™x'N	 (7.6-5)
u = 0
для х — 0, 1, 2, ..., N—1. Справедливость этих уравнений, называемых парой преобразования Фурье, легко проверяется подстановкой уравнения (7.6-4) для F (и) в уравнение (7.6-5), или наоборот. В обоих случаях получается тождество.
При прямом использовании уравнения (7.6-4) для и = — 0, 1, 2, ..., N — 1 требуется ~№ операций сложения и умножения. При применении быстрого преобразования Фурье (БПФ) число операций сокращается до N\og2N, где предполагается, что N — целая степень числа 2. То же самое относится к уравнению (7.6-5) для х = 0, 1,2, ..., N — 1. Ряд алгоритмов БПФ реализуется на различных языках программирования.
Прямое и обратное двумерные преобразования Фурье для изображения размерностью УХЛ1 определяются формулами
N-t .V-I
f(x, y)e~I'2n^x+v^IN (7.6-6) х=0 у=0
366
для ut v = О, 1, 2, ..., N — 1 и
TV-1 TV-1
ж у)=4- £ £ f <и> <>)ei2n (ux+vvVN с-6-7) u=O u=O
для x, у —О, 1, 2, ..., W—1. Можно показать, что каждое из данных уравнений выражается в виде отдельных одноразмерных сумм в форме уравнения (7.6-4). Это позволяет проводить прямую процедуру вычисления двумерного преобразования Фурье, используя только одноразмерный БПФ-алгоритм. Сначала вычисляются и запоминаются преобразования каждой строки функции f(x, у) (образуется таким образом двумерный массив промежуточных результатов). Полученные результаты умножаются на N, и вычисляются одномерные преобразования каждого столбца. Окончательным результатом является F (и, и). Порядок вычисления строк и столбцов не влияет на конечный результат.
Преобразование Фурье можно использовать, как это показано в гл. 8, при решении многих задач систем технического зрения. Например, с помощью представления границы объекта в виде одномерного массива точек и вычисления их преобразования Фурье полученные значения F(u) могут быть использованы в качестве описания формы границы. Одномерное преобразование Фурье является также эффективным при обнаружении движения объекта. Ипользование дискретного двумерного преобразования Фурье возможно при изменении, увеличении и восстановлении изображений, хотя, как уже отмечалось, применение этого метода в промышленных системах технического зрения до сих пор ограничено сложностью требуемых вычислений. В заключение отметим, что двумерное аналоговое преобразование Фурье может быть осуществлено (со скоростью света) оптическими средствами. Этот подход, требующий использования прецизионного оптического оборудования, применяется в промышленных условиях для решения таких задач, как проверка качества поверхности металла после финишной обработки.
7.6.2.	Сглаживание
Операции сглаживания используются для снижения шума и других помех, которые могут появляться на изображении в результате дискретизации, квантования, передачи или возмущений внешней среды при получении изображения. Ниже рассматриваются некоторые методы быстрого сглаживания, которые могут быть использованы в системах технического зрения роботов.
Усреднение окрестности. Усреднение окрестности является прямым методом пространственной области для сглаживания
367
изображения. Для имеющегося изображения f(x, у) процесс заключается в получении сглаженного изображения g(x, у), интенсивность которого в каждой точке (х, у) равна усредненному значению интенсивности пикселов функции f, содержащихся в заданной окрестности точки (х, у). Другими словами, сглаженное изображение получается при использовании соотношения
g(x, У) = ~р £ f(n,tn)	(7.6-8)
(п, т) е S
для всех х и у функции f(x, у). S — множество координат точек в окрестности точки (х, у), включая саму точку (х, у), а Р — общее число точек в окрестности. Отметим путем сравнения уравнений (7.6-8) и (7.6-3), что для окрестности размерностью 3X3 первое уравнение является частным случаем второго при
='/э- Конечно, уравнение (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 и 11 ХП (в —
369
усредненной фильтрации является выравнивание интенсивности выделяющихся точек с интенсивностью соседних точек. Это позволяет устранить появляющиеся в поле маски фильтра изолированные пики интенсивности.	t
Рис. 7.24. Исходное изображение (а). Изображение с импульсным шумом (б), результат использования окрестности размерностью 5X5 (в) и результат использования усредняющего фильтра размерностью 5X5 (г).
Пример. На рис. 7.24, а показано исходное изображение, а на рис. 7.24,6 — то же самое изображение, но приблизительно с 20 %-ным искажением пикселов «импульсным шумом». На рис. 7.24, в приведен результат усреднения размерностью 5X5, а на рис. 7.24, г — результат использования усредненного фильтра размерностью 5X5. Преимущество усредненной фильтрации перед усреднением окрестности очевидно. Три светлые точки, оставшиеся на рис. 7.24,г, вызваны большой концентрацией
370
шума в этих точках, повлиявшей на вычисление среднего значения. Повторное или многократное использование усредненного фильтра позволяет устранить и эти точки.
Усреднение изображения. Рассмотрим изображение с помехами g(x, у), которое состоит из суммы шумового сигнала п(х,у) и неискаженного изображения f(x, у), т. е.
§ (х, y) — f (х, у) + п (х, у),	(7.6-9)
где предполагается, что шум не коррелирован и имеет нулевое среднее значение. Целью следующей процедуры является получение сглаженного изображения путем задания ряда изображений с помехами gi (х, у), i = 1, 2, ..., К.
Если характеристики шума удовлетворяют приведенным ограничениям, несложно показать [224], что при формировании изображения g(x,y) усреднением К различными изображениями с помехами к
g(x, y) = ^'^gi(x, у)	(7.6-10)
1 = 1 получим
E{g(x, y)} = f(x, у)	(7.6-11)
и
<4 (X, у) = -~о2п(х, у),	(7.6-12)
где E{g(x, у)}—ожидаемое значение g, а ст|(х, у) и а„(х, у) — отклонения g и п. Стандартное отклонение любой точки в усредненном изображении равно
(.х, у) = <уп (х, у).	(7.6-13)
Из уравнений (7.6-12) и (7.6-13) видно, что при возрастании К отклонения значений пикселов уменьшаются. Поскольку E{g(x,y)} = f(x,y), то g(x, у) приближается к неискаженному изображению f(x,y) при увеличении числа изображений с помехами, используемых в процессе усреднения.
Необходимо отметить, что в рассмотренном методе предполагалось фиксированное пространственное расположение изображений с помехами при изменении только интенсивностей пикселов. Для систем технического зрения роботов это означает, что все объекты в рабочем пространстве должны быть неподвижны относительно камеры в процессе усреднения. Многие системы технического зрения имеют возможность выполнения полного цикла сложения изображений за один дискретный интервал времени (т. е. за одну тридцатую секунды). Таким образом, сложение, например, 16 изображений займет время
371

Рис. 7.25. Исходное изображение с помехами (д) и результаты усреднения с помощью 4, 3, 16, 32 и 64 подобных изображений (б—е)^
372






порядка 0,5 с, в течение которого не должно быть движения объектов.
Пример. Метод усреднения проиллюстрирован на рис. 7.25. На рис. 7.25, а показано исходное изображение с помехами,
а на рис. 7.25,6—е приведены соответственно результаты усреднения этого изображения с помощью 4, 8, 16, 32 и 64 подобных изображений. Отметим, что качество достаточно приемлемо при К — 32.
Сглаживающие дискретные изображения. Дискретные изо-
бражения получаются при использовании контурного или струк-
: турированного освещения (разд. ( 7.3) или при определении кромок ( или пороговых значений (разд. 7.6.4 f и 7.6.5). Условимся обозначать тем-} ные точки через 1, а светлые точки i через 0. Таким образом, поскольку изображения состоят из двух зна-
чений интенсивности, помехи в этом
случае проявляются в виде таких эффектов, как наличие размытых границ, небольших окружностей,
стертых
углов
и отдельных точек.
Основная идея, лежащая в осно-
a	b	c
d	P	e
	%	h
Рис. 7.26. Соседи пиксела р, используемые при сглаживании дискретных изображений. Темные пикселы обозначаются через 1, а светлые — через 0.
ве рассматриваемых в данном разделе методов, состоит в определении булевой функции, вычисляемой в окрестности с центром в пикселе р, и в присвоении пикселурзначения 1 или 0 в зависимости от простран-
ственного расположения и дискретных значений соседних пикселов. Из-за ограниченности допустимого времени вычисления
в производственных задачах, для решения которых применяется техническое зрение, анализ обычно производится в диапазоне восьми соседних с центральным пикселов. Это определяет использование маски размерностью 3X3 (рис. 7.26). В процессе сглаживания, во-первых, заполняются небольшие (размером в один пиксел) пробелы на темных местах изображения, во-вторых, ликвидируются небольшие дефекты в виде трещин на прямоугольных сегментах, в-третьих, удаляются изолированные единичные значения, в-четвертых, спрямляются небольшие выпуклости вдоль прямоугольных сегментов и, в-пятых, восстанавливаются утраченные угловые точки.
На рис. 7.26 два первых из указанных результатов процесса сглаживания осуществляются с помощью булевого выра-
жения
fii = р + ь  g  (d + е) + d • е • (b + g),	(7.6-14)
373
где точка и плюс обозначают соответственно логические операции И или ИЛИ. По условию темные пикселы, содержащиеся в поле маски, обозначаются логической единицей, а светлые пикселы — логическим нулем. Тогда, если — I, присваиваем пикселу р значение I, в противном случае — значение 0. Уравнение (7.6-14) применяется одновременно ко всем пикселам, так как следующее значение положения каждого пиксела определяется до того, как изменяются значения других пикселов.
Третий и четвертый результаты процесса сглаживания реализуются с помощью определения булевого выражения
В2 = р • [(а + b + d) • (е + g + ft) + (b + с + е) X
X(rf + f + g)]	(7.6-15)
одновременно для всех пикселов. Как и прежде, предполагается, что р = I при В2 = 1 и р = 0 при В2 = 0.
Восстановление точек верхних правых углов производится с помощью уравнения
В3 = р • (d • f • g) • (а + b + с + е + й) + р, (7.6-16)
где чертой обозначено логическое дополнение. Аналогично восстанавливаются точки правых нижних, левых верхних и левых нижних углов соответственно по уравнениям
Bi = р • (а • b • d) • (с + е + f + g + ft) + р,	(7.6-17)
В3 = р • (е • g • й) • (а + b + с + d + f) + р	(7.6-18)
и
Вб = р • (Ь • с • е) • (а-W + f + g + A) + р. (7.6-19)
Четыре последних уравнения дают пятый результат процесса сглаживания.
Пример. Рассмотренный метод проиллюстрирован на рис. 7.27. На рис. 7.27, а приведено дискретное изображение с помехами, а на рис. 7.27,5 показан результат использования выражения Bt. Отметим, что при этом заполняются пробелы вдоль границы и внутри темной области изображения. На рис. 7.27, в дана картина применения выражения В2 к изображению на рис. 7.27,5. Как и ожидалось, устранились выпуклости на границе темной области, а также отдельные точки изображения (изображение полностью заполнено нулями от своей границы до границы темной области). Наконец, на рис. 7.27, а
374
							1		
									
		1	1	1	!	1	I		
		1	J	1	1	1		I	
1		1	1	1	1	I	1		
		1	1	1	1	1	1		
		1	I	1	1	1	1		
		1	1	1	1	1			
			1					1	
1									
Рис. 7.27. Исходное изображение (а). Результаты использования выражений Bi и Т?2 (б и а) и окончательный результат после использования выражений В3-В6 (г).
приведен результат использования выражений В3— В6 к изображению на рис. 7.27, в. В данном случае работает только выражение Ва.
7.6.3. Улучшение качества изображения
Одной из принципиальных трудностей во многих задачах систем технического зрения нижнего уровня является необходимость автоматической адаптации при изменении освещения. Возможность компенсации таких эффектов, как тени и блики на изображении, часто является решающей для успешного выполнения дальнейшего алгоритма обработки информации. Ниже рассматривается несколько методов решения этих и подобных задач. Напомним, что улучшение качества является
375
основной целью при обработке цифрового изображения и анализе объектов. Мы ограничимся дискретными методами, пригодными для систем технического зрения роботов. Под пригодностью здесь понимается наличие высокого быстродействия и средней сложности используемого оборудования.
Гистограммное выравнивание. Пусть переменная г обозначает интенсивность пикселов корректируемого изображения. Сначала предположим, что г — нормализованная непрерывная переменная, находящаяся в диапазоне О г 1- Дискрет-
ный случай мы рассмотрим немного ниже.
Для любого г на интервале [0, 1] выполняется преобразование вида s = 7(r), которое определяет значение интенсивности s для значения каждого пиксела г в исходном изображении. Это предполагает, что функция преобразования Т удовлетворяет условиям:
1. Г(г)—однозначная
Рис. 7.28. Функция преобразования интен- И МОНОТОННО ВОзраСтаю-сивности.	щая на интервале 0
2. О С- т (г) $7 1 ДЛЯ 0 еС г 1.
Первое условие исключает переход с черной шкалы интенсивности на белую, а второе условие гарантирует нахождение интенсивности изображения в диапазоне от 0 до 1 для всех значений пикселов. Функция преобразования, удовлетворяющая этим условиям, показана на рис. 7.28.
Функция обратного преобразования от s к г имеет вид

(7.6-21)
где предполагается, что функция Т~' (s) удовлетворяет двум указанным выше условиям.
Переменные интенсивности г и s квантуются на интервале [О, 1] случайным образом и, следовательно, могут характеризоваться с помощью соответствующих функций плотности вероятности (ФПВ) рг(г) и ps(s). Основная тональность изображения зависит от ФПВ интенсивности. Например, изображение с пикселами, имеющими ФПВ, которая приведена на рис. 7.29, а, будет обладать достаточно темной тональностью, поскольку большинство значений пикселов сконцентрировано на темном
376
участке шкалы интенсивности. С другой стороны, изображение, в котором пикселы имеют распределение интенсивности, соответствующее рис. 7.29,6, будет состоять в основном из светлых тонов.
Рис. 7.29. ФПВ интенсивности темного изображения (а) и светлого изображения (б).
Из теории вероятности следует, что, если рг(г) и Т(г) известны, а Г-1 (s)—удовлетворяет первому условию, то ФПВ преобразованной интенсивности имеет вид
й(*) = ИИ 	(7-6-22)
L as jr=T i (s)
Предположим, что задана функция преобразования вида
s = Т (г) — рг(ьу)dw, O^r^l, (7.6-23)
и
где w — вспомогательная переменная интегрирования. Правая часть этого уравнения представляет собой интегральную функцию распределения рг(г), которая удовлетворяет двум приведенным выше условиям. Производная по s от г для данной функции преобразования легко определяется выражением
$ =	(7.6-24)
Подставляя dr/ds в уравнение (7.6-22), получим
Л(^ = [рЛб)~ТЦг_1(5)=[1иг-.(5)=1, 0=О<1. (7.6-25)
Данное выражение представляет собой равномерную плотность на интервале существования преобразуемой переменной s. Отметим, что полученный результат не зависит от обратной функции преобразования. Это важно, так как часто аналитиче
377
ское определение Т~‘(s) представляет большие трудности. Необходимо также отметить, что использование функции преобразования, заданной уравнением (7.6-23), дает новую интенсивность, которая всегда имеет новую ФПВ, не зависящую от формы рг(г). Данное свойство идеально соответствует автоматической коррекции. Основной эффект рассмотренного преобразования заключается в выравнивании распределения интенсивностей. Как показано ниже, это существенно влияет на качество изображения.
Для использования в цифровой обработке изложенный способ должен быть сформулирован в дискретной форме. Для интенсивностей рассматриваемых дискретных величин вероятности задаются соотношением
Pr(rk)=^-, 0<г.<1, k = Q, 1, 2, .... L- 1, (7.6-26) где L — число дискретных уровней интенсивности, р,\гк) — оценка вероятности интенсивности rk, Пк— число появлений данной интенсивности на изображении, а п — общее число пикселов на изображении. График зависимости рг(гк) от гь обычно называют гистограммой, а метод, используемый для получения равномерной гистограммы, известен и как гистограммная коррекция или гистограммная линеаризация.
Дискретная форма уравнения (7.6-23) имеет вид k	k
sk = T(rk)='£^-=-ZPr^l>>	(7.6-27)
/=о	/=0
для 0 Гк 1 и k — 0, 1, 2, ..., L — 1. Из этого уравнения следует, что для получения значения sk, соответствующего гк, производится простое суммирование элементов гистограммы от О до rk.
Обратное дискретное преобразование имеет вид
rk = T'(sk), 0<ss<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 = Т (г) = J pr (w) dw.	(7.6-29)
о
379
Если желаемое изображение было бы доступно, его уровни интенсивности также могли бы быть выровнены с использованием функции преобразования
Z
v = G(z) = ^ pz(w)dw.	(7.6-30)
о
Тогда бы обратное преобразование z=G“1(y) восстанавливало желаемые первоначальные уровни. Это, конечно, гипотетическое утверждение, поскольку уровни z—именно то, что необходимо получить. Отметим, однако, что ps(s) и р0(у) будут идентичными равномерными плотностями, так как использование уравнений (7.6-29) и (7.6-30) обеспечивает равномерную плотность независимо от формы ФПВ под интегралом. Таким образом, если вместо применения и в обратном преобразовании использовать обратные уровни s, полученные из исходного изображения, то результирующие уровни z = G~l(s) будут иметь желаемую ФПВ рг(г). В предположении, что G-'(s) является однозначной функцией, алгоритм можно обобщить следующим образом:
1.	Выровнять уровни интенсивности исходного изображения с помощью уравнения (7.6-29).
2.	Определить желаемую ФПВ интенсивности и получить функцию преобразования G(z), используя уравнение (7.6-30).
3.	Осуществить обратное преобразование z= G-1(s) к уровням интенсивности изображения с выровненной по п. 1 гистограммой.
Этот алгоритм дает выходное изображение с заданной ФПВ интенсивности.
Два требуемых для определения гистограммы преобразования 7(г) и G-1 (s) можно объединить в одно преобразование
z — G-1 (s) = G-1 [7 (г)],	(7.6-31)
которое связывает г с z. Отметим, что при G-' [7 (г) ] = Т (г) этот метод сводится к гистограммному выравниванию.
Из уравнения (7.6-31) видно, что исходное изображение не нуждается в точном гистограммном выравнивании для определения гистограммы. При этом требуется только, чтобы функция 7(г) зависела и связывалась с G^1 ($) одним преобразованием, т. е. могла быть применена непосредственно к исходному изображению. Основная трудность использования двух преобразований или их совместного выражения (7.6-31) для непрерывных переменных заключается в аналитическом определении обратной функции. В дискретном случае эта проблема упрощается из-за обычно сравнительно небольшого (например, 256) числа отдельных уровней, что делает осуществимым подсчет и хранение информации о каждом возможном целом значении пиксела.
380
Формулировка данного алгоритма для дискретного случая сходна с дискретным выражением, рассмотренным в предыдущем разделе:
sk = T(rk)=Z рг(Г/),	(7.6-32)
i = o
' G(Zi)=tdz^i)	(7.6-33)
i = o
и
^ = G-‘(Si),	(7.6-34)
где pr(rj) вычисляется из исходного изображения, a pz(Zj) за
дается.
Рис. 7.31. Исходное изображение (а) и результат гистограммного выравнивания (б). Заданная гистограмма (а) и результат использования метода задания гистограммы (а) [315].
Пример. Иллюстрация метода задания гистограммы приведена на рис. 7.31. На рис. 7.31, а показано исходное изображение, а на рис. 7.31,6 — результат выравнивания. На рис. 7.31, в изображена заданная гистограмма, а на рис. 7.31, г — результат использования этой гистограммы с помощью рассмотренного алгоритма. Отметим, что в данном случае применение
381
гистограммного выравнивания мало влияет на качество изображения.
Локальное улучшение качества. Приведенные методы гистограммного выравнивания и задания гистограммы являются общими в смысле изменения интенсивности пикселов с помощью функции преобразования на всем поле изображения. Хотя эти методы дают общее улучшение качества, часто необходимо выделить детали на достаточно малых участках изображения. Поскольку качество пикселов на этих участках может мало влиять на вычисления при преобразовании всего изображения, использование общих методов редко приводит к улучшению качества на малых участках. Решением данной проблемы является усовершенствование функций преобразования, основанных на распределении интенсивности или на других свойствах, в окрестности каждого пиксела заданного изображения.
Рассмотренные выше гистограммные методы легко трансформируются для локального улучшения качества. Трансформация заключается в определении окрестности размерностью nXm и в перемещении ее центра от пиксела к пикселу. В каждом положении вычисляется гистограмма точек в данной окрестности и определяется функция преобразования гистограммного выравнивания или функция преобразования метода задания гистограммы. Эта функция служит для отображения интенсивности пиксела, расположенного в центре окрестности. Затем центр участка размерностью /г X т перемещается на соседний пиксел и процесс повторяется. Поскольку при перемещении участка от пиксела к пикселу меняется только один новый ряд или столбец окрестности, то можно осуществить пересчет гистограммы, полученной для предыдущего положения с новыми параметрами, появляющимися на каждом шаге движения. Этот метод имеет очевидные преимущества перед методом с повторяющимися вычислениями гистограммы всех точек области п\т при ее перемещении каждый раз на один пиксел. Другим способом, часто используемым для упрощения вычислений, является применение непересекающихся областей. Это, однако, приводит к появлению нежелательного шахматного распределения интенсивности на изображении.
Пример. Локальное гистограммное выравнивание с перемещением окрестности от пиксела к пикселу проиллюстрировано на рис. 7.32. На рис. 7.32,с показано изображение с пятью темными квадратными участками на фоне с постоянной интенсивностью. Изображение слегка расплывчато в результате использования маски размерностью 7X7 для уменьшения шума (разд. 7.6.2). На рис. 7.32,6 приведен результат гистограммного выравнивания. Наиболее характерной особенностью этого изображения является увеличение помех, что обычно происходит при использовании в этом методе изображений с шумом, 382
даже если они были предварительно сглажены перед выравниванием. На рис. 7.32,в показан результат локального гистограммного выравнивания с применением окрестности размерностью 7X7. Отметим, что на темных участках изображения обнаружилась внутренняя структура, которая не была видна ни на одном из двух предыдущих изображений. Помехи по
а
Рис. 7.32. Исходное изображение (а) и результат общего гистограммного выравнивания (б). Результат локального гистограммного выравнивания с использованием окрестности размерЕЮстыо 7X7 для каждого пиксела (в).
сравнению с исходным изображением выросли, но их величина намного меньше, чем на втором изображении, благодаря локальности метода. Этот пример наглядно показывает необходимость локального улучшения качества, когда интересующие детали слишком малы, чтобы существенно влиять на общие характеристики методов обработки целого изображения.
Качество изображения на локальных участках можно улучшать, используя другие параметры интенсивностей пикселов в окружности. Двумя такими часто используемыми параметрами являются среднее значение интенсивности и изменение интенсивности (или стандартное отклонение). Среднее значение— это мера средней яркости, а изменение интенсивности —
383
мера контрастности изображения. Типичное локальное преобразование, основанное на этих параметрах, переводит интенсивность исходного изображения f(x,y) в интенсивность нового изображения g(x, у) путем осуществления следующей операции над расположением (х, у) каждого пиксела:
g (х, У) = А (х, у) [f (х, у) — т (х, у)] + т (х, у), (7.6-35)
где
А (х, у) = k
М
а (х, у) ’
О < k < 1.
(7.6-36)
В этой записи /л(х, у) значение интенсивности и
и о(х, у)—соответственно среднее стандартное отклонение, подсчитан-
Рис. 7.33. Изображения до (а) н после (б) локального улучшения качества (207].
ные для окрестности с центром в точке (х,у), М — среднее значение всей функции f(x, у), 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
производной при этом также позволяет определить переход интенсивности на кромке.
Хотя данное рассмотрение ограничивается одномерным горизонтальным профилем, аналогично можно определять кромки при любой их ориентации на изображении. Для этого изучается
Кривая интен- । сивности по । горизонтальной, линии i
flepian произ- ' водная_____________।
I I I I
г
Вторая производная ———L

Рис. 7.34. Определение кромок с помощью производных, а) — светлый объект на темном фоне, б) — темный объект на светлом фоне.
профиль, перпендикулярный к направлению кромки в любой заданной точке, а результаты находятся указанным выше образом. Как показано ниже, первая производная в любой точке изображения получается из величины градиента в этой точке, а вторая производная определяется с помощью преобразования Лапласа.
386
Вычисление градиента. Градиент изображения f(x, у) в точке (х, у) определяется как двумерный вектор
G[f(x, у)]
(7.6-37)
Из векторного анализа известно, что вектор G указывает направление максимального изменения функции f в точке (х, у). Однако при определении кромок представляет интерес величина этого вектора, называемого обычно градиентом п обозначаемого как G[f(x, у) ], где
О If (X. !,)1 = [G* + <?,]» = [(£)’ + (£)Т  <7.6-38)
На практике, как правило, градиент аппроксимируется абсолютными значениями
G[f(x, y)]^\Gx\ + \Gy\.	(7.6-39)
Эта аппроксимация значительно упрощает реализацию метода, в особенности при использовании распространенного оборудования.
Из уравнения (7.6-38) следует, что вычисление градиента основано на нахождении первых производных df/dx и df/dy. Для цифрового изображения это можно сделать несколькими путями. Один из подходов состоит в использовании разности между соседними пикселами
=	=	y)-f(x-l, у),	(7.6-40)
= # =	У)-Н^ У-1).	(7.6-41)
Несколько более сложный способ включает пикселы в окрестности размерностью 3 X 3 с центром в точке (х, у):
Gx=^ = [f(x+l, у — 1) + 2/(х+ 1, y) + f(x+ 1, У+ 1)1-
-[/(-V- 1, У- 1) + 2/(х- 1, y) + f(x~ 1, у + 1)] =
= (g + 2Л + z) — (ц + 26 + с),	(7.6-42)
G,=^- = [(x- 1, у+ 1) + 2/(х, у+ 1) + / (х + 1, у + I)]-
-[((х- 1, у — 1) + 2f (х, z/— 1) + f (х + 1, у — 1)] =
= (с + 2е + /) - (а + 2d + у),	(7.6-43)
где буквы от а до i обозначают соседние точки центра (х, у). Окрестность размерностью 3X3 точки (х, у) в упрощенной
13*	387
записи показана на рис. 7.35, а. Отметим, что ближайшие к точке (к, у) пикселы в данном варианте определения производных цифрового изображения имеют значение, равное 2. Вычисление градиента в области размерностью 3X3 имеет преимущество по сравнению с использованием уравнений (7.6-40) и (7.6-41) в смысле большего усреднения, что делает градиент менее чувствительным к помехам. В принципе возможно применение и
-1	0	1
-2	О	2
-1	0	1
Рис. 7.35. Окрестность размерностью 3X3 точки (х, у) (а) и маски для вычисления Gx и Gy (б и б).
в
в промышленных системах технического зрения распространено использование размерности 3X3 благодаря высокой скорости вычислений и умеренным требованиям к оборудованию для этого случая.
В соответствии с изложенным в разд. 7.6.1 значение Gx по уравнению (7.6-42) можно определить с помощью маски (рис. 7.35, б). Аналогично находится и значение Gy (рис. 7.35, в). Эти две маски обычно называются операторами Собеля. Использование данных масок в произвольной точке (х,у) сочетает в себе результат применения уравнений (7.6-38) или (7.6-39) в виде аппроксимации градиента в этой точке. Перемещая маски по изображению f(x,y), получают градиенты во всех его точках.
Существует множество способов формирования выходного изображения g(x, у), основанных на вычислении градиента. Простейшим способом является задание функции g в точке 388
(х, у) значения, равного величине градиента входного изображения f в этой точке, т. е.
g(x, y) = G[f(x, у)].
(7.6-44)
Пример использования такого подхода при получении градиентного изображения приведен на рис. 7.36.
Рис. 7.36. Исходное изображение (а) и результат использования уравнения (7.6-44) (б).
Другим способом получения дискретного изображения является применение следующих соотношений:
Г 1 при G[f(x,y)]>T, g(x, У) — л п	(7.6-45)
sv,w' (.0 при G [f (х, у)] < Т,
где Т— неотрицательная пороговая величина. В этом случае имеют значения только пикселы кромки, градиенты которых превышают величину Т. Таким образом, использование уравнения (7.6-45) может рассматриваться как процесс выделения только тех пикселов, которые характеризуются значительным (определенным величиной Т) перепадом интенсивности. Дальнейший анализ полученных пикселов обычно требует стирания отдельных точек и связывания пикселов вдоль соответствующих контуров, которые однозначно определяют объекты на изображениях. Применение для этих целей уравнения (7.6-45) рассматривается и иллюстрируется в разд. 8.2.1.
Оператор Лапласа. Оператор Лапласа является оператором производных второго порядка вида
L[f(x, =	+	(7.6-46)
389
Для дискретных изображений оператор Лапласа определяется следующим образом:
L (*, у)] = [/ (х + 1, у) 4- f (х — 1, у) + f (х, у + 1) +
+ f(x, у- 1)] —4f(x, у).	(7.6-47)
Эта цифровая запись оператора Лапласа дает нуль на участках постоянной интенсивности и на участках изменяющейся интен- сивности на кромках, что характерно для производной второго порядка. Ре-0	1	0 шение уравнения (7.6-47) может быть
----------------- основано на применении маски, данной на рис. 7.37.
1	Хотя, как было отмечено в начале
----------------- этого раздела, оператор Лапласа определяет переход интенсивности, он редко 1----------------сам по себе используется для нахожде-
---------------------------- ния кромки. Дело в том, что, являясь ,,---------------оператором производных второго поряд-
™ оператор Лапласа дает результат ласа.	обычно очень чувствительный к помехам.
Таким образом, этот оператор, как правило, выполняет второстепенную роль при определении, на какой из сторон (темной или светлой) кромки находится данный пиксел.
7.6.5.	Пороговое разделение
Пороговое разделение является одним из основных методов, используемых в промышленных системах технического зрения для обнаружения объектов, особенно в случаях, когда требуется наличие высокой пропускной способности системы. В данном разделе рассматриваются особенности порогового разделения, которые относятся к нижнему уровню обработки информации. Применение порогового разделения на более высоком уровне обработки излагается в гл. 8.
Предположим, что гистограмма интенсивности (рис. 7.38, а) соответствует изображению f(x, у), состоящему из светлых объектов на темном фоне. При этом интенсивности пикселов объектов и фона разделяются на две выделяющиеся части. Одним из очевидных путей отделения объектов от фона является выбор порогового значения Г, которое разделяет эти группы интенсивностей. Тогда любая точка (х, у), для которой /(х, у) > Т, принадлежит объекту, а в противном случае — фону. Несколько более общий вариант этого подхода показан на рис. 7.38, б, где гистограмма изображения характеризуется тремя отдельными частями, соответствующими, например, двум светлым объектам 390
на темном фоне. В этом случае используется тот же подход, и точка (х, у) классифицируется как принадлежащая к первому объекту при	у) s^T2, ко второму объекту при
f(x,y) > Т2 и к фону при f (х, у) < Ti.
Данный вариант многоуровнего порогового разделения обычно менее надежен, чем одноуровневый вариант, из-за трудности
установки нескольких пороговых значений, которые эффективно разделяли бы интересующие области гистограммы, особенно когда их число достаточно велико. Обычно такие задачи при использовании порогового разделения лучше решаются с помощью одной меняющейся пороговой величины (гл. 8).
В соответствии с изложенным подходом можно рассматривать пороговое разделение как операцию, включающую действия с функциейТв виде
Т — Т[х, у, р(х, у), f{x,y)\,	(7.6-47)
где f(x, у)—интенсивность точки (х,у), а р(х, у) обозначает некоторое частное свойство этой точки, например среднюю интенсивность окрестности с центром в точке (х, у). Пороговое изображение получается путем
Б
Рис. 7.38. Гистограммы интенсивности, которые могут быть разделены с помощью (а) одного порогового значения и (б) нескольких пороговых значений.
определения
1 при /(х, у)>Т, О при f(x,y)^T.
(7.6-48)
Таким образом, на изображении g(x, у) пикселы со значением 1 (или с любым другим соответствующим уровнем интенсивности) относятся к объектам, в то время как пикселы со значением 0 относятся к фону.
391
Когда величина Т зависит только от f(x, у), порог называется глобальным. Пример такого порога приведен на рис. 7.38, а. Если величина Т зависит как от f(x, у), так и от р(х, у), то порог называется локальным. Если к тому же величина Т зависит от пространственных координат х и у, порог называется динамическим. К нижнему уровню технического зрения относят методы порогового разделения, которые основаны на одной глобальной величине Т. Поскольку пороговое разделение играет
Рис. 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.	Какой объем памящ требуется для запоминания информации изображения размерностью 5(2X512, в котором каждый пиксел может иметь 256 значений интенсивности.
7.2.	Предложите метод, в котором используется одна световая плоскость для определения диаметра цилиндрических объектов. Предполагается, что используется линейная камера с разрешающей способностью в У пикселов, а также что расстояние между камерой и центром цилиндров постоянно.
393
7.3.	(а) Рассмотрите точность вашего решения задачи 7.2 с точки зрения разрешающей способности камеры точек на одной линии) и максимального диаметра цилиндра DMaKC. (б) Какова максимальная ошибка, если N равно 2048, а Омакс = 1 м?
7.4.	Определите изображение пространственной точки с координатами (1/2, 1/2, V2/2) лежащей на оптической оси камеры, размещенной в точке (0, 0, 2) под углом 135° с наклоном 135°. Предполагается, что используется 50-мм линза, a ri = Гг = Гз = 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) может быть получен также с помощью одного прохода через изображение маски [111}
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). Таким образом, пиксел контура с координатами (х', у') подобен по величине в определенной ранее окрестности (х, у) пикселу с координатами (х, у), если справедливо неравенство
|G[/(x, y)]-G[f(x', /)]!<?,	(8.2-1)
где Т — пороговое значение.
Направление градиента устанавливается по углу вектора градиента, определенного в уравнении (7.6-37), т. е.
0 = arctg[-^-],	(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 сравнений каждой точки со всеми линиями. Этот процесс трудоемок с вычислительной точки зрения за исключением самых простых приложений.
Данную задачу можно решить по-другому, применяя подход, предложенный Хоугом и называемый преобразованием Хоуга 1127]. Рассмотрим точку (х;, у,) и общее уравнение прямой линии у, = ах, Ь. Имеется бесконечное число линий, проходящих
Рис. 8.2. Плоскость ху (а) и пространство параметров (б).
через точку (х,-, у;), но все они удовлетворяют уравнению у,= = axt-\-b при различных значениях а и Ь. Однако, если мы запишем это уравнение в виде Ь=—х^а-^-у, и рассмотрим плоскость ab (пространство параметров), тогда мы имеем уравнение одной линии для фиксированной пары чисел (х„ у,). Более того, вторая точка (ху, yj) также имеет в пространстве параметров связанную с ней линию, которая пересекает другую линию, связанную с точкой (х,-, у,) в точке (а', Ь'), где значения а' и Ь' — параметры линии, на которой расположены точки (х,-, у,) и (X/, у,) в плоскости ху. Фактически все точки, расположенные на этой линии, в пространстве параметров будут иметь линии пересечения в точке (а', Ь') (рис. 8.2).
Вычислительная привлекательность преобразования Хоуга заключается в разделении пространства параметров на так называемые собирающие элементы (рис. 8.3), где (амакс, оМин) и (&макс, £>мин)—допустимые величины параметров линий. Собирающий элемент A(i, /') соответствует площади, связанной с координатами пространства параметров (а,-, Ь,). Вначале эти эле
399
менты считаются равными нулю. Тогда для каждой точки (хй, Ук) в плоскости образа мы полагаем параметр а равным каждому из допустимых значений на оси а и вычисляем соответствующее Ь, используя уравнение Ь——xka-\-yk. Полученное значение b затем округляется до ближайшего допустимого зна-
чения на оси Ь. Если выбор ар приводит к вычислению bq, мы полагаем А(р, q) — А(р, q) + 1. После завершения этой процедуры значение М в элементе A (i, j) соответствует М точкам
в плоскости г/, лежащим на
Рис. 8.3. Разбиение плоскости параметров на элементы с целью использования преобразования Хоуга.
линии у — aiX A- bj. Точность расположения этих точек на одной прямой зависит от числа разбиений плоскости ab. Отметим, что, если мы разбиваем ось а на К частей, тогда для каждой точки (Хк, уь) мы получаем К значений Ь, соответствующих К возможным значениям а. Поскольку имеется п точек образа, процесс состоит из пК вычислительных операций. Поэтому приведенная выше процедура линейна относительно п и имеет меньшее
число вычислительных операций, чем процедура, описанная выше, если К п.
Проблема, связанная с представлением прямой линии урав-
нением у — ахА-Ь, состоит в том, что оба параметра а и b стремятся к бесконечности, если линия принимает вертикальное положение. Для устранения этой трудности используется нормальное представление прямой линии в виде
х cos 0 + у sin 0 = р.	(8.2-4)
Смысл параметров уравнения (8.2-4) ясен из рис. 8.4, а. Это представление для построения таблицы собирающих элементов используется так же, как метод, изложенный выше, но вместо прямых линий мы имеем синусоидальные кривые в плоскости 0р. Как и прежде, М точек, лежащих на прямой xcos0, + + у sin 0, = р/, соответствуют М синусоидальным кривым, которые пересекаются в точке (0/, р;) пространства параметров. Если используется метод возрастания 0 и нахождения для него соответствующего р, процедура дает М точек в собирающий элемент A(i,/), связанный с точкой (0/, р/). Разбиение пространства параметров приведено на рис. 8.4,5.
Пример. Использование преобразования Хоуга, основанного на уравнении (8.2-4), проиллюстрировано на рис. 8.5. На рис. 8.5, в уровень яркости в плоскости Ор пропорционален числу
400
точек в собирающих элементах. На этом рисунке абсцисса соответствует 0 и ордината р в диапазонах ±90° и ±рмакс соответственно. В данном случае величина рмакс равна расстоянию от одного угла до другого в исходном образе. Центру рис. 8.5, в соответствуют 0 = 0° и р = 0. Интересно отметить, что яркие пятна (большое число точек в собирающем элементе) около 0° соответствуют вертикальным линиям и около ±90° соответствуют горизонтальным линиям рис. 8.5,6. На рис. 8.5, г показаны линии, которые определены этим методом и накладываются на исходный образ. Различие обусловлено ошибкой дискретизации 0 и р в пространстве параметров.
Рнт. 8.4. Нормальное представление линии (а) и разбиение плоскости 0р на элементы (б).
Хотя наше внимание было сосредоточено только на прямых линиях, преобразование Хоуга применимо к любой функции вида g(x, с)=0, где х — вектор координат, а с — вектор коэффициентов. Например, геометрическое место точек, лежащих на окружности
(х-с1у+(у-с2^ = с1	(8.2-5)
легко может быть определено с помощью подхода, изложенного выше. Основное отличие заключается в том, что теперь мы имеем три параметра щ, с2 и с3, которые образуют в трехмерном параметрическом пространстве ячейки в форме кубов и собирающие элементы вида A (i, j, k). Процедура состоит в задании приращений а и с2, решении уравнения (8.2-5) относительно с3 и в изменении собирающего элемента, соответствующего ячейке, связанной с тройкой (сь с2, с3). Очевидно, что сложность преобразования Хоуга существенно зависит от числа координат и коэффициентов в данном функциональном представлении.
В заключение отметим, что определение кривых, не имеющих простого аналитического представления, возможно на основе
401
дальнейшего обобщения преобразования Хоуга. Более подробно этот вопрос рассмотрен в работе 110].
Глобальный анализ с помощью методов теории графов.
Изложенные выше методы основаны на задании последователь-
Рис. 8.5. Образ детали (а), градиентный образ (б), график преобразования Хоуга (в) и обнаруженные линии, наложенные на исходный сбраз (г), (Предоставлено D. Cate из фирмы Texas Instruments.)
ности точек контура, полученных в результате градиентного преобразования. Этот метод редко применяется для предварительной обработки данных в ситуациях, характеризуемых высоким уровнем шума, вследствие того, что градиент является производной и усиливает колебания интенсивности. Рассмотрим глобальный подход, основанный на представлении сегментов контура в виде графа и поиске на графе пути наименьшей стоимо
402
сти, который соответствует значимым контурам. Этот подход представляет приближенный метод, эффективный при наличии шума. Как и следует ожидать, эта процедура значительно сложнее и требует больше времени обработки, чем методы, изложенные выше.
Сначала дадим несколько простых определений. Граф G = *= (N, Л) представляет собой конечное, непустое множество вершин N вместе с множеством А неупорядоченных пар различных элементов из N. Каждая пара из А называется дугой.
О	I	2
О	•	•	•
•	’	*	(7)	(2)	(2)
Рис. 8.6. Элемент контура, расположенный между пикселами р и q.
Рис. 8.7. Образ размерностью 3X3.
Граф, в котором дуги являются направленными, называется направленным графом. Если дуга выходит из вершины п, к вершине п;, тогда rij называется преемником вершины nt. В этом случае вершина п, называется предшественником вершины п/. Процесс идентификации преемников каждой вершины называется расширением этой вершины. В каждом графе определяются уровни таким образом, чтобы нулевой уровень состоял из единственной вершины, называемой начальной, а последний уровень — из вершин, называемых целевыми. Каждой дуге (п,-, nj) приписывается стоимость с(ъ, пф). Последовательность вершин п\, П2, пц, где каждая вершина п, является преемником вершины /2(_], называется путем от nt к п*, а стоимость пути определяется формулой k
с=^с(П|_,, п().	(8.2-6)
(=2
Элемент контура мы определим как границу между двумя пикселами р и q (рис. 8.6). В данном контексте под контуром понимается последовательность элементов контура.
Для иллюстрации применения введенных понятий к определению контура рассмотрим образ размерностью 3X3, приведенный на рис. 8.7, где цифры в скобках обозначают интенсивность,
403
а без скобок — координаты пикселов. Каждому элементу контура, определенному пикселами р и q, приписываем стоимость
с (р, (?) = Я — [f (р) — f (<?)],	(8.2-7)
где Н—наибольшее значение интенсивности образа (в данном случае оно равно 7), f(p)—значение интенсивности в точке р, a; f(q) —значение интенсивности в точке q.
Рис. 8.8. Граф для определения контура образа, приведенного на рис. 8.7. Для каждой вершины пары (a, Ь) (с, 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
нои вершины s в це-
•	।	•	•
(?)	I	(2)	(2)
(8.2-6), показан штриховой линией, а соответствующий контур представлен на рис. 8.9.
Как правило, задача определения пути минимальной стоимости непроста с вычислительной точки зрения. Обычно критерием оптимальности является быстродействие. Алгоритм, приведенный ниже, типичен для класса процедур, использующих эвристики с целью сокращения объема поиска. Пусть г(п) —оценка стоимости пути минимальной стоимости из нача. левую вершину, причем путь проходит через вершину п. Эту оценку можно представить в виде суммы пути минимальной стоимости $ в п и оценки стоимости пути из п в целевую вершину, т. е.
r(n) = g(n) + h(n).	(8.2-8)
Здесь g(n) является оценкой стоимости пути наименьшей стоимости из s в п, определенного ранее, a h(n) определяется с помощью использования эвристической информации (например, проводя расширение только некоторых вершин, основанное на предварительном вычислении стоимостей при определении путей, веду
щих к вершине /г(п)). Алгоритм поиска на графе, основанный на применении оценки г(п), приведен ниже:
Шаг 1. Поместить стартовую вершину OPEN и положить g(s) =0.
Шаг 2. Если нет вершин, помеченных как OPEN, то выход на аварийный останов; в противном случае продолжение работы.
Шаг 3. Пометить CLOSED помеченную OPEN вершину п, оценка которой г(п), определенная по уравнению (8.2-8), имеет наименьшее значение. (Связи для минимальных значений г устанавливаются произвольно, но всегда в пользу целевой вершины.)
Шаг 4. Если п является целевой вершиной, то выход на останов с выдачей пути, полученного в результате обратного прохождения по указателям направления; в противном случае продолжение работы.
Шаг 5. Расширение вершины п, т. е. генерирование всех ее преемников (если преемников нет, переход к шагу2).
Шаг 6. Если преемник п, не помечен, положить
•	•	•
(5)	(?)	(2)
*	*	•
(5)	(1)	(0)
Рис.	8.9.	Контур,	соот-
ветствующий пути минимальной	стоимости,	по-
казанному на рис. 8.8.
r(nj = g(ri) + с(п, nJ,
пометить его OPEN и направить указатели от него к вершине п.
405
Шаг 7. Если преемник nt помечен CLOSED или OPEN, изменить его значение по формуле
ё' (п;) = min [g («,•), ё («) + с (п, пг)].
Пометить OPEN те преемники, помеченные CLOSED, значения g' которых были уменьшены таким образом. От этих вершин направить указатели к вершине п. Перейти к шагу 2.
Как правило, этот алгоритм не гарантирует нахождение пути минимальной стоимости; его преимущество заключается в быст-
♦2* .*2444- MNlki *24*44 «Н
•X*»-2 "*»*MZI.2. 11*2 XH 2» N*» К 22. 4**X* «II *2 XXI* — 2*1 |NHL-K.*»Z***2»»b. -Ml"* • I I »X-*N1X4Z* »» |M**M» 22» •♦ ♦•» III A—X»M •» • •22 X>*< ♦-X* I *4*114 11 14 H ♦ X* I • 2“* iiARXlZ* •21 l»*2> ИИК*Ч|». I» Z*.l-. 2ZlX»Ni •• • *X♦I♦A I!*•*•*•!. |Ч|» 14*1*2 *M1X4 2»< lift*** • IXXj 4ИММ1Х1 122.4- 2«1101 -»♦i2ZI2*X* •u'hHHHHMwii,. u*x2x0Mxa *i - ♦zeex» • Il *2M»4|NZMMM t2-»***M 2«te*l2<4 2»»* •12 umzhmanxm Хл221-явкаме*и*2«е2»* • U«»XZ«>X2tAi*iMl *i 221ИМИМвА21 2X21 » • •21е» I	I «MSZNNZMJU •♦*411 •
•4* XZ.4i»>2AX0AMMMi)M)»MtMMA«4M12 «М» XA« ♦2 1 Zlil*X>©M4MM».
«.* M »->хдх>4тв4мхв'*»ев2мемма. .ti i *« «2ОПН |)2ММНЧ1И*11 2ИШ-И1 АО». IN* • Il IL. 100 »Я0М0МДАвХ4 | ввМММв! NMIZNOZ* • • 11 IX Х»В&ММ>А40ММХ»МмаММ2*«0* 2 • • • )'M иЭОМШ.ХШЛНИМЯЖИХ» I* • i> 2 2 4- n»Ni«w<MHMMe2MiiM».N • • 41X421 i2»*MMX4M0MXa»AMMAMAM« !♦• •41 . »2AXlN2ieXNA»ANMMMNMeMeNMA»4RX2 «М* •4X42»i.lNAN2»M*AMAMM*iexMMSAXei..-* • 12 124ХА4)МвХ»МХМв2МАМе&МАМ« I.*2* • -fi.2Z. 44 dfiMZHN |*SMA - ХАвМ. MSI 2АХ» A* • * )• 2 XidiX*e»ZMmiZX.*.»MAAl . AAZ«. • • 4lX XII >••••• XNNtMMXMt ••XlWNil u» • 1- »1 Л*ДОЭАвАА2М1в1 ZX»'i.« 2 Sldli-м • Al . IXM>XNM»iMNM>iM- 2 - ♦ • X» I ♦ К» I » X> I • • • X*»~ 2129>М»ЯММЯМ*2*92»и I S--RI i . I XiMZ* • " I I 4 2e*9tMtXZeXM*A 11 I MM INH I «I» ♦ X»» -Z* •«-Д ! XASASlKSAAMeiUJuLi >.441-11 iZZ.A- Z>* • I I ill/ Н>8*ЭМвШ. XMX1 XAZI 2Кь« U< I » ♦ X» • • *N XX.-lJAe* XI.ИХ •2*M>1X2LA- 2»l INI' • • . Z4».XZ|ZXZI2Ma»aZI *.»iN||»Z «AiXXC..* • *Z xi : ix x»z.»zmxis*«xi*k-tz.izxzixMx* • l A *A»4>A . XNX HX2 ♦ 1. i I» ♦ X-*N* 2 XI-H «ZNNZ* • ♦1 »2 IAa-IiBlZ.!2NA.e«*Х»II Nil I i> -I»	•
♦ И »>» 14» 1-20'4. 2X« >i I  X--4. 22i A*»*'. 22» A*
a
Рис. 8.10. Зашумленный образ (а) и результат определения контура, полученного с помощью метода эвристического поиска на графе [292] (б).
родействии за счет использования эвристик. Однако можно показать, что, если ft(n) является нижней границей стоимости пути минимальной стоимости от вершины п к целевой вершине, тогда процедура действительно определит оптимальный путь к целевой вершине [115]. Если эвристическая информация отсутствует, т. е. h s 0, процедура сводится к алгоритму постоянной стоимости [59].
Пример. Типичный результат, полученный в результате работы этой процедуры, приведен на рис. 8.10. На рис. 8.10, а по
406
казан зашумленный образ, и на рис. 8.10,6 результат сегментации контура, полученный с помощью поиска на соответствующем графе путей наименьшей стоимости. В данном примере были использованы эвристики, предотвращающие расширение тех вершин, стоимости которых превышали заданное пороговое значение.
8.2.2.	Определение порогового уровня
Понятие порогового уровня (порога) введено в разд. 7.6.5 как тест вида
Т = Т [х, у, р (х, у), f (х, у)},	(8.2-9)
где f(x, у) —интенсивность в точке (х, у), р(х, у) —некоторое локальное свойство, определяемое в окрестности этой точки. Пороговое изображение дается следующим выражением:
( 1, если f (х, у) > Т, g(x у) = }	'	’	(8.2-10)
s 7	(0, если /(х, у)^Т,	v
так что пикселы в g(x, у), имеющие значение 1, соответствуют объектам, а пикселы, имеющие значение 0, соответствуют фону. В уравнении (8.2-10) предполагается, что интенсивность объектов больше интенсивности фона. Противоположное условие получается путем изменения знаков в неравенствах.
Глобальные и локальные пороги. Если значение Т в уравнении (8.2-9) зависит только от f(x, у), то, как показано в разд. 7.6.5, порог называется глобальным. Если значение Т зависит как от )(х, у), так и от р(х, у), порог называется локальным. Если, кроме того, Т зависит от пространственных координат х и у, в этом случае он называется динамическим порогом.
Глобальные пороги применяются в ситуациях, когда имеется явное различие между объектами и фоном и где освещенность достаточно однородна. Методы обратной и структурированной освещенности, изложенные в разд. 7.3, обычно дают изображения, которые могут быть сегментированы путем применения глобальных порогов. Но, как правило, произвольное освещение рабочего пространства приводит к изображениям, которые, если исходить из определения порогового уровня, требуют локального анализа для компенсации таких эффектов, как неоднородность освещения, тени и отражение.
Ниже мы рассмотрим ряд методов для выбора порогов, используемых при сегментации. Хотя некоторые из них могут применяться для выбора глобального порога, они обычно используются в ситуациях, требующих анализа локального порога.
407
Выбор оптимального порога. Часто рассматривают гистограмму, состоящую из суммы значений функции плотности вероятности. В случае бимодальной гистограммы аппроксимирующая ее функция дается уравнением
p(z) = Pjpj(z) + P2p2(z),	(8.2-11)
где интенсивность г — случайная переменная величина, pi (z) и Рг(г)—функции плотности вероятности, а Рх и Р2— априорные
&
Рис. 8.11. Гистограмма интенсивности (а) и ее аппроксимация в виде Суммы двух функций плотности вероятности (б).
вероятности. В данном случае априорные вероятности означают появление двух видов уровней интенсивности на образе. Например, рассмотрим образ, гистограмма которого приведена на рис. 8.11, а. Полная гистограмма может быть аппроксимирована суммой двух функций плотности вероятности, как показано на рис. 8.11,6. Если известно, что объект состоит из светлых пикселов и они занимают 20 % площади образа, то Pi =0,2. Необходимо, чтобы
Р1 + Р2=1.	(8.2-12)
408
В данном случае это означает, что на остальную часть образа-приходится 80 % пикселов фона.
Введем две следующие функции от г:
=	(8.2-13)
d2(z) = P2Pi (г)-	(8.2-14)
Из теории принятия решений [290] известно, что средняя ошибка определения пиксела объекта в качестве фона (и наоборот) минимизируется с помощью следующего правила: рассматривая пиксел со значением интенсивности г, мы подставляем это значение z в уравнения (8.2-13) и (8.2-14). Затем мы определяем пиксел как пиксел объекта, если d\(z) >с/2(г), или как пиксел фона, если d2(z) >d\(z). Тогда оптимальный порог определяется величиной z, для которой di(z) = d2(z). Таким образом, полагая в уравнениях (8.2-13) и (8.2-14) z = Т, получаем, что оптимальный порог удовлетворяет уравнению
PiPi(T) = P2p2(T).	(8.2-15)
Итак, если известны функциональные зависимости pi(z) и p2(z),. это уравнение можно использовать для нахождения оптимального порога, который отделяет объекты от фона. Если этот порог известен, уравнение (8.2-10) может быть использовано для сегментации данного образа.
В качестве важной иллюстрации применения уравнения (8.2-15) предположим, что p\(z) и p2(z) являются плотностями вероятности распределения Гаусса, т. е.
/ \	1	Г (Z — ml)2 1	/О Г, ,
р.(г)= ,2-	ехр-Г|г~7—1.	(S.2-17)
' v ’	-у/Чл ст,	[ 2ст2 J
В этих выражениях положим z—T, подставим их в уравнение (8.2-15) и после упрощения получим квадратное уравнение относительно Т:
АТ2 + ВР + С = 0,	(8.2-18)
где
Л =
В = 2	— пг2а|),	(8.2-19)
С = a2tn2 - ъуп2 + 2а^2 In .
Возможность двух решений указывает на то, что для получения оптимального решения могут потребоваться два значения порогового уровня,
409.
Если стандартные отклонения равны (од = оз = ст), в этом случае имеется единственное значение порогового уровня:
Т = т1 + тг н----— ln	(8.2-20)
2	mi — тг Р\	'	’
Если о = 0 или Pi = Р2, оптимальное значение порогового уровня является арифметическим средним математических ожиданий. Сформулированное условие означает, что интенсивности объекта и фона постоянны для всего образа. Последнее условие означает, что пикселы объекта и фона имеют одинаковую вероятность появления, причем каждый раз число пикселов объекта равно числу пикселов фона.
Пример. Рассмотрим сегментацию механических деталей, показанных на рис. 8.12, а, где мы пренебрежем решеткой, наложенной на образ. На рис. 8.12,6 приведен результат вычисления глобальной гистограммы, соответствующей бимодальной гауссовой плотности распределения вероятности, устанавливающей оптимальный глобальный порог, который окончательно используется в уравнении (8.2-10) для сегментации образа. Видно, что отклонения в интенсивности делают этот подход практически непригодным. Однако он может быть реализован на локальных участках образа, определенных решеткой на рис. 8.12, а.
После разбиения образа на подобразы для каждого из них вычисляется гистограмма и проводится тест на бимодальность. Бимодальные гистограммы соответствуют смешанной гауссовой плотности распределения вероятности, и оптимальное значение порогового уровня вычисляется по уравнениям (8.2-18) и (8.2-19). Для подобразов, не имеющих бимодальных гистограмм, значения пороговых уровней не вычисляются. Для них эти значения вычисляются путем интерполяции порогов соседних подобразов, являющихся бимодальными. Гистограммы для каждого подобраза приведены на рис. 8.12, в, где горизонтальные линии обозначают относительный диапазон этих гистограмм. В конце процедуры для определения порогового значения Г(х, у) проводится от точки к точке повторная интерполяция соседних пороговых значений. Отметим, что в данном случае мы имеем дело с динамическим значением порогового уровня, поскольку оно зависит от пространственных координат (х, у). Изменение Т(х, у) в зависимости от положения показано на рис. 8.12, г.
Окончательно пороговый образ создается в результате сравнения каждого пиксела в первоначальном образе с соответствующим пороговым уровнем. На рис. 8.12,6 показан результат использования этого метода в данном частном случае. Налицо улучшение по сравнению с применением глобального порогового уровня. Отметим, что данный метод предполагает установление порогового уровня для каждой ячейки, а локальные пороги ин-
410
Рис. 8.12. Образ механических дета* лей, разделенный на области решеткой (а), образ, полученный в результате определения глобального порогового уровня (б), гистограммы подобразов (в), иллюстрация динамического порога (г) и образ, полученный в результате определения динамических порогов (б) [252].
411
терполируются с целью создания динамического порога, который окончательно используется при сегментации.
Изложенный выше подход применяется для выбора пороговых уровней изображения. Предположим, что мы можем моделировать многомодальную гистограмму в виде суммы п функций плотности вероятности:
Р (2) = PiPi (2) +	+ Рарл(г).	(8.2-21)
Тогда задача оптимизации порогового уровня сводится к определению принадлежности данного пиксела к одной из п возможных категорий. Правило минимизации ошибки теперь основывается на п функциях вида
di (г) = PiPi (г), i=l, 2, ..., п.	(8.2-22)
Данный пиксел интенсивности г принадлежит й-й категории, если dk (г) > dj (г), /—1, 2, ..., п\ j =И= k. Как прежде, оптимальный пороговый уровень между категорией k и категорией /, обозначаемый Tkj, определяется из уравнения
PkPk(Tki) = PjPi(Tk!Y	(8.2-23)
Как указывалось в разд. 7.6.5, при получении пороговых уровней на основе многомодальных гистограмм актуальной является задача идентификации гистограммных мод.
Определение порогового уровня на основе характеристик границы. Одним из наиболее важных аспектов при выборе порогового уровня является возможность надежно идентифицировать модовые пики для данной гистограммы. Это важно при автоматическом выборе порогового уровня в ситуациях, когда характеристики образа меняются вследствие большого разброса интенсивности. Из изложенного выше очевидно, что возможность выбора «хорошего» порогового уровня может быть существенно увеличена в случае, если пики гистограмм являются высокими, узкими, симметричными и разделены глубокими провалами.
Одним из подходов для улучшения вида гистограмм является рассмотрение только тех пикселов, которые лежат на границе (или около нее) между объектами и фоном. Одно из очевидных улучшений состоит в том, что этот подход позволяет получать гистограммы менее зависимыми от отношения между объектом и фоном. Например, гистограмма интенсивности образа, составленного из маленького объекта на большой площади постоянного фона, определялась бы большим пиком вследствие концентрации пикселов фона. С другой стороны, результирующие гистограммы имели бы пики с более сбалансированными высотами, если бы рассматривались пикселы, лежащие только на (или около) границе между объектом и фоном. Кроме того, вероятность расположения пиксела на границе объекта практически равна вероятности того, что он лежит на границе фона, что
412
улучшает симметрию гистограммных пиков. Окончательно, как показано ниже, использование пикселов, которые удовлетворяют некоторым простым критериям, основанным на операторах градиента и Лапласа, приводит к увеличению провалов между пиками гистограммы.
Выше мы неявно подразумевали, что граница между объектами и фоном известна. Очевидно, что во время проведения сегментации эта информация отсутствует, поскольку нахождение раздела между объектами и фоном является окончательной целью приведенной здесь процедуры. Однако из разд. 7.6.4 известно, что, вычислив градиент пиксела, можно определить, лежит ли он или не лежит на контуре. Кроме того, лапласиан может дать информацию о том, лежит ли данный пиксел на темной (т. е. фон) или светлой (объект) стороне контура. Как установлено в разд. 7.6.4, с внутренней стороны идеального контура лапласиан равен нулю, поэтому на практике можно ожидать, что провалы гистограмм, образованных пикселами, выбранными по критерию градиент/лапласиан, будут располагаться достаточно редко и иметь желаемую высоту.
Градиент G[f(x, t/) ] любой точки образа определяется уравнением (7.6-38) или (7.6-39), лапласиан L[f(x, у)]—уравнением (7.6-47). Эти два свойства можно использовать для формирования трехуровнего образа:
О, если
s(x, у) = 4 +, если
—, если
С[Ж у)]<т, G[f(x,y)]^T и L [/ (х, у)} > 0, (8.2-24 G[f(x,y)]^T и L [/ (х, у)] < О,
где символы 0, +, — представляют три различных уровня освещенности, а Т — пороговый уровень. Предположим, что темный объект располагается на светлом фоне, тогда в соответствии с рис. 7.34,6 применение уравнения (8.2-24) дает образ s(x, у), в котором все пикселы, не лежащие на контуре (для них значение G[f(x, £/)] меньше Т, помечены 0, все пикселы на темной стороне контура помечены + и все пикселы на светлой стороне контура помечены —. Для светлого объекта на темном фоне символы + и — в уравнении (8.2-24) меняются местами. На рис. 8.13 показан объект, построенный на светлом фоне по уравнению (8.2-24).
Только что изложенная процедура может применяться для создания сегментированного, бинарного образа, в котором 1 соответствует объектам, представляющим интерес, и 0 — фону. Отметим, что перемещение (вдоль горизонтальных или вертикальных линий сканирования) от светлого фона к темному объекту должно характеризоваться заменой знака — фона на + объекта s(x, у). Внутренняя область объекта состоит из пикселов, помеченных либо 0 либо +. Окончательно перемеще
413
ние от объекта к фону характеризуется заменой знака + на —. Таким образом, горизонтальные или вертикальные линии сканирования, содержащие части объекта, имеют следующую структуру;
+)(0 или +)(+, -)(•-.),
где (...) является произвольной комбинацией — или 0. Остальные скобки содержат точки объекта и помечены 1, Все
©ООООООООООО00000--0 6«О«О 00ООООООООООООООООООООООООООООООбООООООООбООа ЮОООООООООООООООООООООООООО*ОООООО*ООООООО*ОООООООООООООООООООООООООО0 аооооооооооооооооооооооо-сгоооооооооо--оооооо-оо»*оо»»ооооооооооооооооа Ю00000000000000000000о00000000000000000000000000000000000*00000000000® «30000000000000000000000000000000000000000000000000-0000'00000*0000000® «?оооооооооооооооооо»ооооооооооооосоооооооооооооооооооооооо-ооооо»ооооа Ю000000000000000000000*0000000000000000000000000000000000000000-0-0 О• о» «30000000-00000000000-00000000.*00000000000000000000000000000000000000® <00000000000000000000000000000000000*000*000000000000000000000000000-0-<0000000000000000000000000000000-000-0 000000-0*000000000000000000000000! юооооооооооооооооооооооооооооооооооооооооооооооооооо«ооооо*ооооооооооа <000000000000000000000000000000000000000000000000000-0000-0000*00000000 ЮО0000000000000000000000000000000000000000000000000000000-00*000000000 <000000000000000-0000000000ОО00О000О0000000ооо0000000000000000000 003000000000 0----------------------ооооооооооооооооооооооооооооооооооооооооооо -000006000000--------------------------------------00000000000000000000000000000000000000000000Q <0000000000--------------♦♦♦♦00* «♦►--0000000000000000-0 0000000000000000000000 •О 00 0000000 — ♦•.«•»♦ ♦♦*♦♦--о ооооооооооо-оооооооооооооооооооо® Ю 0 000 О О 00-------------------------------------------------------------- ---.0 000000000-♦ *«*Ю *-0 00 0000 0 0 00 000 0000 о <00000000-------------------------------------------* * * *------------------------------------0000000000--------------------------♦*♦►♦♦♦.►♦♦.-00000000000000000 <00000000---------------------------------------------* . .--о-*♦♦---------------------------------оооооооо-—»♦♦.♦***»►►*►•--OOOQOOOOOOOOOOOOQ 00000003----------------------------------------------♦♦*-00--♦♦♦♦►♦--00000---------------------------------------------------------------------------.**.*..-000000000000000® 100000000--** >.‘--0 0—♦♦ *0* ♦ *-0 0 00--------------------------- ‘ *«----*-**♦.♦..--оооооооооооо® оооооооо--* ** * ——000“ — ♦•00*♦♦--ОО-----------------------------------------♦♦ .♦--0 0-Ч* ‘ ►♦—ооооооооооо 00 000000---------------------------------------------...--ООО--» ♦♦♦ “ ‘ --------------------------------------------------♦*»*.--о000000О-►--ооооооооо® 000000000--* **--000 — *-»♦♦*-------------------------0000000000—»«►♦--0 0000---000000000--♦♦♦ ‘--00--♦♦ ► ►— -» ♦ ♦ ♦ ♦ »♦ ♦ ‘ * — ооооооооооо—-------«. 00 0 00000 00--*----------------------------------------------------------------о--».»♦♦--»♦*♦♦♦♦-00000000000003-♦♦♦*»♦♦..►»,. ООООООООООО--»*’*---#»#.*»----------------------------------------------*'000000000000000000- — H»*i**n» <000000000 00 0--* »»»♦♦>*♦♦ ‘ tw-00000000000 00000000000000000000------0 0 0000 0 0000000---* ♦*♦» * *---0 000000 0000 000 00000000000000003000- — —о *000000000000003.......................................................—----0000000000000000000000000000000000000000000® (ОООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООО* <0000000000000000000000000000000000300000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000ооооооооооо® ------------------------------------------------------------------------003-00000-0000-000000000000000000000000оо000000000000000000OOOOOl
I»###»».I*####*»»»*.##♦*♦***#♦*.«♦»♦►..«.*...*♦*»♦**.»♦.**
<ооо-оооооооо--оо-оооооо-------0000000—........ -о......-......-оооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооз 000000000000000000000000000000000000000000000000000000000000000000000® 0000О0000000000000000000000000000000000ООООООООООООООООООООООООООООООа 0000000000000000000000000000000000000000000000000000000000000000000000 QQOOOOOOQOOOOOOOQOOOPQOQOOQOQOOOOOOOOOOOOQOOOOOOOQOOOOOOQOOOOOOOOOOOOО
Рис. 8.13. Образ объекта, построенный с помощью уравнения (8.2-24) [306]. другие пикселы вдоль той же линии сканирования помечаются О, за исключением всех последовательностей из (0 или -ф), ограниченных (—, +) и (+, —).
Пример. Для иллюстрации только что изложенного материала рассмотрим рис. 8.14, а, на котором показан образ обычного банковского чека. На рис. 8.15 приведена гистограмма, определяющая число пикселов, градиенты которых превышают 5. Отметим, что эта гистограмма обладает свойствами, описанными, выше, т. е. она имеет две основные симметричные моды одинаковой высоты, разделенные хорошо различимым провалом. На рис. 8.14,6 показан сегментированный образ, полученный по
414
уравнению (8.2-24) со значением Т, примерно равным средней точке провала. Приведенный выше анализ последовательности дает бинарный результат.
ем»*.**»
Рис. 8.14. Исходный образ (а) и сегментированный образ (б) [306].
Определение порогового уровня, основанное на нескольких переменных. Изложенные выше методы связаны с определением
порогового уровня для единственного переменного значения интенсивности. В некоторых приложениях можно использовать более одной переменной для характеристики каждого пиксела образа, увеличивая таким образом не только степень различия между объектом и фоном, но и между самими объектами. Одним из наиболее значимых примеров является цветное зрение, где используются красные, зеленые и голубые компоненты (КЗГ) для формирования составного цветного образа. В этом
1500
| 1000
В 500 § о
15-2,4 25 и выше Величина градиента
Рис. 8.15. Гистограмма пикселов, градиенты которых превышают 5 [306].
случае каждый пиксел характеризуется тремя переменными и это позволяет строить трехмерную гистограмму. Основная
415
процедура та же, что и для одной переменной. Пусть, например, даны три 16-уровневых изображения, соответствующие КЗГ компонентам датчика цвета. Сформируем кубическую решетку 16 X 16 X 16 и поместим в каждый элемент пикселы, КЗГ компоненты которых имеют интенсивности, соответствующие координатам, определяющим положение этого элемента. Число точек в каждом элементе решетки может быть затем разделено на общее число пикселов образа для формирования нормированной гистограммы.
Теперь выбор порога заключается в нахождении групп точек в трехмерном пространстве, где каждая «компактная» группа аналогична основной моде гистограммы одной переменной. Например, предположим, что мы ищем две значимые группы точек данной гистограммы, где одна группа соответствует объекту, а другая — фону. Принимая во внимание, что теперь каждый пиксел имеет три компоненты и может быть рассмотрен как точка трехмерного пространства, можно сегментировать образ с помощью следующей процедуры. Для каждого пиксела образа вычисляется расстояние между этим пикселом и центром каждой группы. Тогда, если пиксел располагается рядом с центром группы точек объекта, мы помечаем его 1; в противном случае мы помечаем его 0. Это понятие легко распространить на большую часть компонентов пиксела и соответственно на большую часть групп. Основная сложность состоит в том, что определение значимых групп, как правило, приводит к довольно сложной задаче, поскольку число переменных возрастает. Читатель, желающий более подробно ознакомиться с методами определения групп, может, например, обратиться к работе [290]. Другие методы сегментации изложены в работе [90].
Пример. В качестве иллюстрации подхода, основанного на применении гистограмм от многих переменных, рассмотрим рис. 8.16. На рис. 8.16, а представлен одноцветный образ цветной фотографии. Исходный цветной образ был составлен из трех 16-уровневых КЗГ образов. Для наших целей существенно отметить, что шарф и один из цветков на платье были ярко-красные, а волосы и лицо светлые и отличались по спектральным характеристикам от окна и других объектов деталей фона.
Рис. 8.16, б получен в результате определения порогового уровня для группы точек гистограммы, о которой было известно, что она содержит КЗГ компоненты, представляющие собой телесные тона. Важно отметить, что окно, которое в одноцветном образе имеет такой же диапазон интенсивности, как и волосы, не проявилось на сегментированном образе вследствие различия их мультиспектральных характеристик. Тот факт, что некоторые малые области волос в верхней части головы объекта проявились на сегментированном образе, говорит о том, что они телесного цвета. Рис. 8.16, в получен путем определения порогового
416
уровня группы точек, близкой к красной оси. В этом случае только шарф, красный цветок и несколько изолированных точек проявились на сегментированном образе. Пороговый уровень, использованный при получении обоих результатов, не превышал размера одного элемента кубической решетки. Таким образом,
все пикселы с компонентами, не превышающими единичного расстояния от центра группы точек, были закодированы как белые. Любые другие пикселы рассматривались как черные.
8.2.3.	Областно-ориентированная сегментация
Основные определения. Целью сегментации является разделение образа на области. В разд. 8.2.1 мы рассматривали эту проблему как нахождение границ между областями на основе принципа разрыва интенсивности, в то время как в разд. 8.2.2 сегментация осуществлялась после определения пороговых
14 К. и лр.
417
уровней, зависящих от таких свойств пикселов, как интенсив- , ность или цвет. В этом разделе мы рассмотрим методы сегментации, основанные на прямом нахождении областей.
Пусть R— область образа. Рассмотрим сегментацию как процесс разбиения R на п подобластей /?i, R2, •> Rn, так что п
I.	и
1 = 1
2.	Ri — связная область, i=l, 2, .... п\
3.	Ri f] Ri = 0 для всех i и /, i j-,
4.	P(Ri) есть ИСТИНА для i= 1, 2, ..., п;
5.	P(Ri\JRi) есть ЛОЖЬ для i=#j, где P(Rt) —логический предикат, определенный на точках из множества Rt, и 0 — пустое множество.
Условие 1 означает, что сегментация должна быть полной, т. е. каждый пиксел должен находиться в образе. Второе условие требует, чтобы точки в области были связными (разд. 7.5.2). Условие 3 указывает на то, что области не должны пересекаться. Условие 4 определяет свойства, которым должны удовлетворять пикселы в сегментированной области. Простой пример: Р(Rt)— ИСТИНА, если все пикселы в R, имеют одинаковую интенсивность. Условие 5 означает, что области Ri и R/ различаются по предикату Р. Применение этих условий в алгоритмах сегментации рассматривается в следующих разделах.
Расширение области за счет объединения пикселов. Расширение области сводится к процедуре группирования пикселов или подобластей в большие объединения. Простейшей из них является агрегирование пикселов. Процесс начинается с выбора множества узловых точек, с которых происходит расширение области в результате присоединения к узловым точкам соседних пикселов с похожими характеристиками (интенсивность, текстура или цвет). В качестве простой иллюстрации этой процедуры рассмотрим рис. 8.17, а, на котором цифры внутри ячеек указывают интенсивность. Пусть точки с координатами (3, 2) и (3, 4) используются как узловые. Выбор двух начальных точек приведет к сегментации образа на две области: области R\, связанной с узлом (3, 2), и области R2, связанной с узлом (3, 4). Свойство Р, которое мы будем использовать для того, чтобы отнести пиксел к той или иной области, состоит в том, что модуль разности между интенсивностями пиксела и узловой точки не превышает пороговый уровень Т. Любой пиксел, удовлетворяющий этому свойству одновременно для обоих узлов, произвольно попадает в область Ri. На рис. 8.17,6 показан результат, полученный для 7 = 3. В этом случае сегментация проводится для двух областей, причем точки в R^ обозначаются буквой а, точки в R2 буквой Ь. Необходимо отметить, что независимо от того, в какой из этих двух областей будет взята начальная точка, окон-
418
чательный результат будет один и тот же. Если, с другой стороны, выбрать Т — 8, была бы получена единственная область
(рис. 8.17,в). Предыдущий пример, не-смотря на его простоту, иллю- i стрирует некоторые важные проблемы расширения области. 2 Двумя очевидными проблемами являются: выбор началь- 3 ных узлов для правильного представления областей, пред- 4 ставляющих интерес, и определение подходящих свойств для 5	12	3	4	5				
	0	0	5	6	7
	1	1	5	8	7
	0	т	6	2	7
	2	0	7	6	6
	0	1	5	6	5
включения точек в различные области в процессе расширения. Выбор множества, состоя-щего из одной или нескольких начальных точек, следует из по-становки задачи. Например, в военных приложениях объекты, представляющие интерес, имеют более высокую температуру, чем фон, и поэтому про-являются более ярко. Выбор наиболее ярких пикселов явля-	а				
	а	а	b	ь	Ь
	а	а	Ь	ь	b
	а	а	ь	ь	b
	а	а	ь	ь	Ь
	а	а	ь	ь	b
ется естественным начальным шагом в алгоритме процесса расширения области. При отсутствии априорной информации можно начать с вычисления для каждого пиксела набора свойств, который наверняка будет использован при установлении соответствия пиксела той или иной области в процессе расширения. Если результатом вычислений являются группы точек (кластеры),	5				
	а	а	а	а	а
	а	а	а	а	а
	а	а	а	а	а
	а	а	а	а	а
	а	а	а	а	а
тогда в качестве узловых берутся те пикселы, свойства которых близки к свойствам центроидов этих групп. Так, в	6 Рис. 8.17. Пример расширения области на основе использования известных начальных точек [104].				
примере, приведенном выше,
гистограмма интенсивностей показала бы, что точки с интен-
сивностью от одного до семи являются доминирующими.
Выбор критерия подобия зависит не только от задачи, но также от вида имеющихся данных об образе. Например, анализ
14*
419-
информации, полученной со спутников, существенно зависит от использования цвета. Задача анализа значительно усложнится при использовании только монохроматических образов. К сожалению, в промышленном техническом зрении возможность получения мультиспектральных и других дополнительных данных об образе является скорее исключением, чем правилом. Обычно анализ области должен осуществляться с помощью набора дескрипторов, включающих интенсивность и пространственные характеристики (моменты, текстуру) одного источника изображения. В разд. 8.3 приведены дескрипторы, используемые для описания области.
Отметим, что применение только одних дескрипторов может приводить к неправильным результатам, если не используется информация об условиях связи в процессе расширения области. Это легко продемонстрировать при рассмотрении случайного расположения пикселов с тремя различными значениями интенсивности. Объединение пикселов в «область» на основе признака одинаковой интенсивности без учета условий связи приведет к бессмысленному результату при сегментаци.
Другой важной проблемой при расширении области является формулировка условия окончания процесса. Обычно процесс расширения области заканчивается, если больше не существует пикселов, удовлетворяющих критерию принадлежности к той или иной области. Выше упоминались такие критерии, как интенсивность, текстура и цвет, которые являются локальными по своей природе и не учитывают «историю» процесса расширения области. Дополнительный критерий, повышающий мощность алгоритма расширения области, включает понятие размера, схожести между пикселом-кандидатом и только что созданными пикселами (сравнение интенсивности кандидата и средней интенсивности области), а также формы области, подлежащей расширению. Использование этих типов дескрипторов основано на предположении, что имеется неполная информация об ожидаемых результатах.
Разбиение и объединение области. Изложенная выше процедура расширения области начинает работу с заданного множества узловых точек. Однако можно сначала разбить образ на ряд произвольных непересекающихся областей и затем объединять и/или разбивать эти области с целью удовлетворения условий, сформулированных в начале раздела. Итеративные алгоритмы разбиения и объединения, работа которых направлена на выполнение этих ограничений, могут быть изложены следующим образом.
Пусть /< является полной областью образа, на которой определен предикат Р. Один из способов сегментации R состоит в успешном разбиении площади образа на все меньшие квадратные области, так что для каждой области Р(/?() = ИСТИ-420
НА. Процедура начинает работу с рассмотрения всей области R. Если Р(£)=ЛОЖЬ, область разбивается на квадранты. Если для какого-либо квадранта Р принимает значение ЛОЖЬ, этот квадрант разбивается на подквадранты и т. д. Этот метод разбиения обычно представляется в виде так называемого квадродерева (дерева, у которого каждая вершина имеет только четыре потомка). На рис. 8.18 приведен простой пример квадродерева. Отметим, что корень дерева соответствует всему образу,
Рис. 8.18. Образ, разделенный на области (а), и соответствующее квадро' дерево (б).
а каждая вершина — разбиению. В данном случае только /?4 подлежит дальнейшему разбиению. Если применять только операцию разбиения, можно ожидать, что в результате окончательного разбиения всей площади образа на подобласти последние будут иметь одинаковые свойства. Это можно устранить допустимым объединением так же, как и разбиением. Для того чтобы удовлетворить условиям сегментации, введенным выше, необходимо объединять только те соседние области, пикселы которых удовлетворяют предикату Р; таким образом, две соседние области Ri и Rk объединяются только в том случае, если PiRiURb) = ИСТИНА.
Изложенное выше можно представить в виде процедуры, где на каждом шаге выполняются следующие операции:
1.	Разбиение области Rit для которой Р(Р() = ЛОЖЬ, на четыре непересекающихся квадранта.
2.	Объединение соседних областей R, и Rk, для которых Р (Rf и Rk)= ИСТИНА.
3.	Выход на останов, когда дальнейшее объединение или разбиение невозможно.
Возможны варианты этого алгоритма [125]. Например, можно сначала разбить образ на квадратные блоки. Дальней-
421
шее разбиение выполняется по изложенному выше способу, но вначале объединение ограничивается группами из четырех блоков, являющихся в квадродереве потомками и удовлетворяющих предикату Р. Когда дальнейшее объединение этого типа становится невозможным, процедура завершается окончатель
Рис. 8.19. Пример алгоритма разбиения и объединения.
ным объединением областей согласно шагу 2. В этом случае объединяемые области могут иметь различный размер. Основным преимуществом этого подхода является использование одного квадродерева для разбиения и объединения до шага, на котором происходит окончательное объединение.
Пример. Проиллюстрируем изложенный выше алгоритм разбиения и объединения рис. 8.19. В данном случае образ состоит из одного объекта и фона. Для простоты мы предполагаем, что интенсивности объекта и фона постоянные и Р (Ri) = ИСТИНА, если все пикселы в R, имеют одинаковую интенсивность. Из этого следует, что для всей области образа P(R) = ЛОЖЬ, поэтому образ разбивается так, как показано на рис. 8.19,а. На следующем шаге только область в левом верхнем углу удовлетворяет предикату, и поэтому она остается неизменной, в то
422
время как другие разбиваются на подквадранты (рис. 8.19,6). В этом случае можно объединить несколько областей, за исключением двух подквадрантов, включающих нижнюю часть объекта; эти подквадранты не удовлетворяют предикату и поэтому должны подвергнуться дальнейшей операции разбиения. Результаты операции разбиения и объединения приведены на рис. 8.19,s. На этом шаге все области удовлетворяют предикату Р, и объединение соответствующих областей после последней операции разбиения дает окончательный, сегментированный результат (рис. 8.19, г)
8.2.4.	Применение движения
Движение представляет собой мощное средство, которое используется человеком и животными для выделения интересующих их объектов из фона. В системах технического зрения роботов движение используется при выполнении различных операций на конвейере, при перемещении руки, оснащенной датчиком, более редко при перемещении всей робототехнической системы. В этом подразделе мы рассмотрим применение движения для сегментации с точки зрения распознавания образов.
Основной подход. Один из наиболее простых подходов для определения изменений между двумя кадрами изображения (образами) f(x, у, tt) и f(x, у, tj), взятыми соответственно в моменты времени ti и tj, основывается на сравнении соответствующих пикселов этих двух образов. Для этого применяется процедура, заключающаяся в формировании так называемой разности образов.
Предположим, что мы имеем эталонный образ, имеющий только стационарные компоненты. Если сравним этот образ с таким же образом, имеющим движущиеся объекты, то разность двух образов получается в результате вычеркивания стационарных компонент (т. е. оставляются только ненулевые записи, которые соответствуют нестационарным компонентам изображения) .
Разность между двумя кадрами изображения, взятыми в моменты времени Л- и tj, можно определить следующим образом:
( 1, если | f (х, у, — f(x, у, tj) | > 9, dii(x, У} = 1 л	(8.2-25)
'	(0 в противном случае,
где 0 — значение порогового уровня. Отметим, что dtj\x, у) принимает значение 1 для пространственных координат (х, у) только в том случае, если два образа в точке с этими координатами существенно различаются по интенсивности, что определяется значением порогового уровня 0.
423
При анализе движущегося образа все пикселы изображений  разности dij(x, у), имеющие значение 1, рассматриваются как результат движения объекта. Этот подход приметим только в том случае, если два образа зарегистрированы и освещенность имеет относительно постоянную величину в пределах границ, устанавливаемых пороговым уровнем 0. На практике
а	5
Рис. 8.20, Кадр изображения в момент времени // (а), кадр изображения в момент времени tj (б) и разность двух кадров (в) 11351.
записи в dn(x, у), имеющие значение 1, часто появляются в результате действия шума. Обычно на разности двух кадров изображения такие значения выглядят как изолированные точки. Для их устранения применяется простой подход, заключающийся в формировании 4- или 8-связных областей из единиц в da(x, у), и затем пренебрегают любой областью с числом записей, меньшим заранее заданного. При этом можно не распознать малые и/или медленно движущиеся объекты, но это увеличивает вероятность того, что остающиеся записи в разности двух кадров изображения действительно соответствуют движению. Проиллюстрируем эти рассуждения рис. 8.20. На рис. 8.20, а приведен эта
424
лонный кадр изображения, который соответствует моменту времени ti и состоит из одного объекта постоянной интенсивности, движущегося с равномерной скоростью по поверхности фона, также имеющего постоянную интенсивность. На рис. 8.20,6 приведен кадр в момент времени tj, а на рис. 8.20, в разность кадров рассчитанная по уравнению (8.2-25) с пороговым уровнем, большим постоянной интенсивности фона. Необходимо отметить, что в процессе определения разности кадров возникли две несвязные области: одна область является результатом выделения контура передней части, а другая — задней части движущегося объекта.
Аккумулятивная разность. Как говорилось выше, разность кадров благодаря шуму часто содержит изолированные записи. Несмотря на то что число таких записей может быть сокращено или полностью ликвидировано в результате анализа связности пороговых уровней, этот процесс может также привести к потере изображений малых или медленно движущихся объектов. Ниже излагается подход для решения этой проблемы путем рассмотрения изменения в расположении пикселов на нескольких кадрах, т. е. в процесс вводится «память». Основная идея заключается в пренебрежении теми изменениями, которые возникают случайно в последовательности кадров и, таким образом, могут быть отнесены к случайному шуму.
Рассмотрим последовательность кадров изображения /(%, у, /1), f(x, у, t2), .... f(x, у, tn) И допустим, что f(x, у, ti) является эталонным образом. Изображение аккумулятивной разности формируется в результате сравнения эталонного образа с каждым образом в данной последовательности. В процедуре построения изображения аккумулятивной разности имеется счетчик, предназначенный для учета расположения пикселов. Его значение увеличивается каждый раз, когда возникает различие в расположении соответствующих пикселов эталонного образа и образа из рассматриваемой последовательности. Таким образом, когда &-й кадр сравнивается с эталонным, запись в данном пикселе аккумулятивной разности означает, во сколько раз интенсивность пиксела Л-го кадра отличается от интенсивности пиксела эталонного образа. Различия устанавливаются, например, с помощью уравнения (8.2-25).
Приведенные выше рассуждения иллюстрируются рис. 8.21. На рис. 8.21, а—д приведены образы прямоугольного объекта (обозначенного нулями), движущегося вправо с постоянной скоростью 1 пиксел/кадр. Эти образы приведены в моменты времени, соответствующие одному перемещению пиксела. На рис. 8.21, а изображен кадр эталонного образа, на рис. 8.21,6—г со 2-го по 4-й кадры последовательности, а на рис. 8.21, д— 11-й кадр. Рис. 8.21, е—и соответствуют изображениям аккумулятивной разности, которые можно объяснить следующим образом. На рис. 8.21, а левая колонка из 1 обусловлена различием между
425
объектом на рис. 8.21, а и фоном на рис. 8.21,6. Правая колонка из 1 вызвана различием между фоном эталонного образа и передним контуром движущегося объекта. Ко времени появления
	9				
	10	00000000			
	11	00000000			
	12	00000000			
а	13	00000000			
	14	00000000			
	15	00000000			
	16				
	9		9		
	10	00000000	10	1	1
	11	00000000	11	1	1
	12	00000000	12	1	1	-
5	13	00000000	13	1	1	6
	14	00000000	14	1	1
	15	00000000	15	1	1
	16		16		
	9		9		
	10	ооооооос	10	21	21
	11	ооооооос	11	21	21
	12	ооооооос	12	21	21	ж
в	13	ооооооос	13	21	21
	14	00000000	14	21	21
	15	00000000	15	21	21
	16		16		
	9		9		
	10	00000000	10	321	321
	11	00000000	11	321	321
	12	00000000	12	321	321	,
г	13	00000000	13	321	321	'
	14	00000000	14	321	321
	15	00000000	15	321	321
	16		16		
	9		9		
	10	00000000	10	А98765438887654321	
	11	00000000	11	А98765438887654321	
д	12	00000000	12	А98765438887654321 и	
	13	00000000	13	А98765438887654321 '	
	14	00000000	14	А98765438887654321	
	15	00000000	15	А98765438887654321	
	16		16		
. о
Рис. 8.21. Кадр эталонного образа (а), б — 0соответственно2-, 3-, 4- и 11-й кадры, е — и — изображения аккумулятивной разности для 2-, 3-, 4- и 11-го кадров [135].
4-го кадра (рис. 8.21, г)', первый ненулевой столбец изображения аккумулятивной разности указывает на три отсчета, что соответствует трем основным различиям между этим столбцом в эталонном образе и соответствующим столбцом в последующих
426
кадрах. На рис. 8.21, и показано общее число из 10 (представленных «Л» в шестнадцатеричной системе счисления) изменений этого положения. Остальные записи на этом рисунке объясняются аналогично.
Нередко полезно рассматривать три типа изображений аккумулятивной разности: абсолютное, положительное и отрицательное. Последние два получаются из уравнения (8.2-25), в
9Ш?999999тШ99?
9999999999999999999?
9999999999999999999?
9988008808888008000011
99ВВ880В08ВВВ08088В811
9988088880988008808811 .
998877777777777777772211
998877777777 77777777221 1
990077777777777777772211
99007766666666666666332211
99807766666666666666332211
99ВВ7766666666666666332211
99B877665555555S555544332211
9908776655555555555544332211
9908776655555555555544332211
998077665544444444445544332211
998877665544444444445544332211
998877 6'65544444444445544 332 211
99887766554433333333665544332211
*9087766554433333333665544332211
112233445566666666665544332211
11223344556677777777665544332211
11223344556677777777665544332211
112233445566666666665544332211
11223344556677777777665544332211
11223344556677777777665544332211
112233445566666666665544332211
1122334455667777 7777663544332211
11223344556677777777663544332211 112233445566666666665544332211 112233445566666666665544332211 11223344556'6666666665544332211
1122334455555555555544332211
1122334455555555555544332211
1122334455555555555544332211 1Г223344444444444444332211 11223344444444444444332211 11223344444444444444332211
112233333333333333332211
112233333333333333332211
112233333333333333332211 1122222222222222222211 1122222222222222222211 1122222222222222322211
11 it
332211 443322И 44332211 44332211
5544332211 5544332211
^999999999999979999? 99999999999999999999 9999999999999999999? 99880888808888888888 99888888888^80888888 99088888808880888880 9908777777777777777? 99887777772777777777 9938777777777777777? 9980776666666666666 Ь. 99887766666666666666 99807766666666666666 99807766555553555555 99807766555555555553 99087766555555553555 99087766554444444444 99887766554444444444 99887766554444444444 99887766554433333333 99887766554433333333
5
5544332211 665544332211 665544332211 1.122334 45566666666665544 332211
11223344556672777777665544332211
11223344556677777777665544332211 112233445566666666665544332211 1122334455667777777766554433221Т 112233445566777777776655443322 И
112233445566666666665544332211 11223344556677777777665544332211
Ц223344556б777777776655 4433а2Ц 112233445566666666665544332211 112233445566666666665544332211 112233445566666666665544332211
1122334455555555555544332211 1122334455555555555544332211 1122334455555555555544332211
11223344444444444444332211 11223344444444444444332211 11223344444444444444332211 112233333333333333332211 112233333333333333332211 112233333333333333332211 1122222222222222222211 1122222222222^22222211 1122222222222222222211
11111111111111111111 11111111111111111111 11111111111111111111
а
Рис. 8.22. Абсолютное (а), положительное (б) и отрицательное (в) изображения аккумулятивной разности для объекта размером 20 X 20 пикселов с интенсивностью, превышающей фон, движущегося в юго-восточном направлении [136].
котором нет модуля, а вместо f(x, у, <;) подставляется значение эталонного кадра. Предполагая, что числовые значения интенсивности объекта превышают значения фона в случае, когда разность положительна, она сравнивается с положительным значением порогового уровня; если отрицательна, сравнение выполняется с отрицательным значением порогового уровня. Это определение заменяется на противоположное, если интенсивность объекта меньше фона.
Пример. На рис. 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
2-+
*•0
S
3
(а) и 8-направленный цепной код (б).
1
Цепной код 0 3 300110333 23...
Рис. 8.27. Этапы получения цепного кода.
431
что для представления всех направлений в 4-направленном цепном коде достаточно 2 бит, а для 8-направленного цепного кода требуется 3 бит. Конечно, можно определить цепные коды с большим числом направлений, но на практике наиболее часто используются коды, приведенные на рис. 8.26.
Для порождения цепного кода заданной границы сначала выбирается решетка (рис. 8.27,а). Тогда, если площадь ячейки, расположенной внутри границы, больше определенного числа (обычно 50%), ей присваивается значение 1; в противном случае этой ячейке присваивается значение 0. Данный процесс иллюстрируется рис. 8.27,6, где ячейки со значением 1 отме-
130322211
Рис. 8.28. Генерация цепного кода с помощью разбиения границы.
чены темными линиями. Окончательно мы кодируем границу между двумя областями, используя направления, заданные решеткой на рис. 8.26, а. Результат кодирования в направлении по часовой стрелке с началом в месте, помеченном точкой, приведен на рис. 8.27, в. Альтернативная процедура состоит в разбиении границы на участки равной длины (каждый участок имеет одно и то же число пикселов) и соединении граничных точек каждого участка прямой линией, а затем присваивания каждой линии направления,
ближайшего к одному из допустимых направлений цепного
кода. Пример такого подхода, использующего четыре направления, приведен на рис. 8.28.
Важно отметить, что цепной код данной границы зависит от начальной точки. Однако можно нормировать код с помощью простой процедуры. Для создания цепного кода начальная точка на решетке выбирается произвольным образом. Рассматривая цепной код как замкнутую последовательность индексов направлений, мы вновь выбираем начальную точку таким образом, чтобы результирующая последовательность индексов была целым числом, имеющим минимальную величину. Также можно
нормировать повороты, если вместо цепного кода рассматривать его первую разность. Первая разность вычисляется в результате отсчитывания (в направлении против часовой стрелки) числа направлений, разделяющих два соседних элемента кода. Например, первая разность для цепного кода с 4 направлениями 10103322 есть 3133030. Если рассматривать код как замкнутую последовательность, тогда первый элемент разности
432
можно вычислить, используя переход между последним и первым компонентами цепи. В данном примере результатом является 33133030. Нормирование можно осуществить путем разбиения всех границ объекта на одинаковое число равных сегментов и последующей подгонкой длин сегментов кода с целью их соответствия этому разбиению, как показано на рис. 8.28.
Изложенные методы нормирования являются точными только в том случае, когда сами границы инвариантны к повороту и изменению масштаба. Этот случай редко встречается на практике. Например, один и тот же объект, разбитый на элементы в двух различных направлениях, как правило, имеет разную
Рис. 8.29. Две простые формы границы
_1__। ,. । л_।_।_
я ж
4 Z 4 „ 4 Z 4 и S
и их сигнатуры как функции угла.
форму границы, причем степень различия пропорциональна разрешающей способности изображения. Этот эффект можно уменьшить, если выбирать длины элементов цепи большими, чем расстояния между пикселами дискретного образа, или же выбирать ориентацию решетки (рис. 8.27) вдоль главных осей кодируемого объекта. Этот вопрос рассматривается ниже в разделе, посвященном индексам формы.
Сигнатуры. Сигнатурой называется одномерное функциональное представление границы. Известно несколько способов создания сигнатур. Одним из наиболее простых является построение отрезка из центра к границе как функции угла (рис. 8.29). Очевидно, что такие сигнатуры зависят от периметра области и начальной точки. Нормирование периметра можно осуществить, пронормировав кривую г(0) максимальным значением. Проблему выбора начальной точки можно решить определив сначала цепной код границы, а затем применив метод, изложенный в предыдущем разделе. Конечно, расстояние, зависящее от угла, не является единственным способом определения сигнатуры. Например, можно провести через границу прямую линию и определить угол между касательной к гарнице и этой линией как функцию
433
положения вдоль границы [4]. Полученная сигнатура, хотя и отличается от кривой г(6), несет информацию об основных характеристиках формы границы. Например, горизонтальные участки кривой соответствовали бы прямым линиям вдоль границы, поскольку угол касательной здесь постоянен. Один из вариантов этого метода в качестве сигнатуры использует так называемую функцию плотности наклона [206]. Эта функция представляет собой гистограмму значений угла касательной. Поскольку гистограмма является мерой концентрации величин, функция плотности наклона строго соответствует участкам границы с постоянными углами касательной (прямые или почти прямые участки)' и имеет глубокие провалы для участков, соответствующих быстрому изменению углов (выступы или другие виды изгибов).
После получения сигнатуры мы должны ее описать таким образом, чтобы можно было различать сигнатуры, соответствующие различным формам границы. Как правило, эта проблема решается просто, поскольку теперь мы имеем дело с одномерными функциями. Метод, часто применяемый для определения отличительных признаков сигнатуры, состоит в определении ее моментов. Пусть а — дискретная случайная величина, означающая отклонения амплитуды сигнатуры, и пусть р(щ), i — = 1, 2, ..., К — соответствующие значения гистограммы, где К—число дискретных приращений амплитуды а. Тогда п-й момент ц от а относительно его среднего значения определяется выражением
к
№п(а)= ^Ла1—т)п р(а{),	(8.3-1)
; /=1
где
Л т=£а(р(щ).	(8.3-2)
i»i
Величина т является средним значением а, а ц2— его дисперсией. Для установления различия между сигнатурами явно непохожих форм границы обычно требуется только несколько первых моментов.
Аппроксимация многоугольниками. Дискретную границу с произвольной точностью можно аппроксимировать многоугольниками. Для замкнутой кривой аппроксимация является точной, когда число сегментов в многоугольнике равно числу точек границы, так что каждая пара соседних точек определяет сегмент многоугольника. На практике целью аппроксимации многоугольниками является качественное определение формы границы с помощью минимального числа многоугольных сегментов. Хотя обычно эта проблема нетривиальна и довольно быстро сводится к итеративному поиску, требующему больших временных 434
затрат, имеется ряд методов аппроксимации многоугольниками, относительная простота которых и требования к обработке данных делают их пригодными для приложений в области технического зрения роботов. В этом разделе рассмотрено несколько таких методов.
Вначале рассмотрим метод, предложенный в работе [269], для определения .многоугольников, имеющих минимальный пе-
Рис. 8.30. Граница объекта, заключенная в элементы (а), и многоугольник минимального периметра (б).
риметр. Эту процедуру лучше всего объяснить на примере. Предположим, что мы заключили границу во множество связанных друг с другом элементов (рис. 8.30, а). Это вложение представляется в виде границ, соответствующих внешней и внутренней границам полосы элементов. Мысленно границу объекта можно представить в виде резиновой ленты, расположенной внутри границ. Если теперь предположить, что резиновая лента сжалась и приняла форму, показанную на рис. 8.30,6, то эта форма будет соответствовать многоугольнику минимального периметра, удовлетворяющего геометрии полосы элементов. Когда элементы расположены таким образом, что внутри
435
1
каждого элемента находится только одна точка границы, то для каждого элемента максимальная ошибка между исходной границей и ее аппроксимацией резиновой лентой составит 72(/, где d — расстояние между пикселами. Эту ошибку можно в 2 раза уменьшить, расположив пикселы в центрах соответствующих элементов.
В задаче аппроксимации многоугольниками применяются методы объединения, основанные на ошибке или других критериях. Один из подходов состоит в соединении точек границы линией по методу наименьших квадратов. Линия проводится до тех пор, пока ошибка аппроксимации не превысит ранее заданный порог. Когда порог превышается, параметры линии заносятся в память, ошибка полагается равной нулю и процедура повторяется; новые точки границы соединяются до тех пор, пока ошибка снова не превысит порог. В конце процедуры образуются вершины многоугольника в результате пересечения соседних линий. Одна из основных трудностей, связанная с этим подходом, состоит в том, что эти вершины обычно не соответствуют изгибам границы (таким, как углы), поскольку новая линия начинается только тогда, когда ошибка превысит порог. Если, например, длинная прямая линия пересекает угол, то числом (зависящим от порога) точек, построенных после пересечения, можно пренебречь ранее, чем будет превышено значение порогового уровня. Однако для устранения этой трудности наряду с методами объединения можно использовать методы разбиения.
Один из методов разбиения сегментов границы состоит в последовательном делении сегмента на две части до тех пор, пока удовлетворяется заданный критерий. Например, можно потребовать, чтобы максимальная длина перпендикуляра, проведенного от сегмента границы к линии, соединяющей две крайние точки этого сегмента, не превышала ранее установленного значения порогового уровня. Если это имеет место, наиболее дальняя точка становится вершиной, разделяя, таким образом, исходный сегмент на два подсегмента. Этот метод обладает тем преимуществом, что он адаптирован к наиболее подходящим точкам изгиба. Для замкнутой границы наилучшей начальной парой точек обычно являются точки, наиболее удаленные от границы. Соответствующий пример приведен на рис. 8.31. На рис. 8.31, а показана граница объекта, а на рис. 8.31,6— разбиение этой границы (сплошная линия)' по наиболее удаленным точкам. В точке с перпендикуляр из вершины сегмента к линии ab имеет наибольшую длину. Аналогично точка d наиболее удалена от нижнего сегмента. На рис. 8.31, в показан результат применения процедуры разбиения с пороговым уровнем, равным 0,25 длины линии ab. Поскольку длина перпендикуляра, опущенного из любой точки новых сегментов границы до соответствующей прямой линии, не превышает выбранной величины порогового
436
уровня, то результатом работы процедуры является многоугольник, приведенный на рис. 8.31, г.
Отметим, что имеется большое число работ, посвященных комбинации методов объединения и разбиения. Обзор этих методов приведен в работе [232].
Индексы формы. Граница, закодированная с помощью цепного кода, имеет несколько первых разностей, зависящих от начальной точки. Индекс формы такой границы, основанный на
Рис. 8.31. Исходная граница (а), граница, разделенная по наиболее удаленным точкам (б), соединение вершин отрезками прямых линий (в) и получившийся в результате многоугольник (г).
коде из четырех направлений (рис. 8.26, а), определяется как первая разность наименьшего значения. Порядок п индекса формы равен числу цифр кода. Отметим, что п существует даже для замкнутой границы, и его значения ограничивает число всех возможных форм. На рис. 8.32 приведены все возможные формы 4-, 6- и 8-го порядков вместе с их цепными кодами, первыми разностями и индексами формы. Отметим, что при вычислении первых разностей цепные коды рассматривались как замкнутые последовательности. Хотя первая разность цепного кода не зависит от вращения, закодированная граница, вообще говоря, будет зависеть от ориентации решетки кода, показанной на рис. 8.27, а. Один из путей нормирования ориентации решетки следующий: большой осью границы является отрезок прямой линии, соединяющий две наиболее удаленные друг от
437
друга точки. Малой осью является перпендикуляр, восстановленный к большой оси и имеющий длину, достаточную для построения прямоугольника, описанного вокруг границы. Отношение большой оси к малой называется эксцентриситетом границы, а упомянутый выше прямоугольник— базовым прямоугольником. Во многих случаях при совмещении решетки цепного кода со сторонами базового прямоугольника получается только один индекс формы. В работе [85] приведен алгоритм построения базового прямоугольника для замкнутой кривой,
4-и порядок
Цепной Код 0 3 2 1
Разность 8 3 3 3
Индекс формы зззз
б-й порядок
О---1---
О О 3}Z 2 1 303303 033033
8-й порядок
„	-----1---
Цепной код 00332211
Разность 30303030
Индекс формы 03Q303 O3
----1---
030332 11
33133 030
030331 33
•---f--1—
---1---1— 000322Z1
300 330 0 3
ООЗЗОО 3 3
Рис. 8.32. Все формы 4-, 6- и 8-го порядков. Направления определяются согласно рис. 8.26, и точка в левом верхнем углу указывает начальную точку.
закодированной с помощью цепного кода. Задавая желаемый порядок формы границы области, мы получаем прямоугольник порядка /г, эксцентриситет которого наилучшим образом соответствует эксцентриситету базового прямоугольника для установления размеров решетки. Например, если п = 12, то всеми прямоугольниками 12-го порядка (т. е. периметр которых равен 12) являются следующие: 2X4, 3X3 и 1X5. Если для данной границы эксцентриситет прямоугольника 2X4 наиболее близок к эксцентриситету базового прямоугольника, выбирается решетка 2X4, центр которой совпадает с центром базового прямоугольника, и для получения цепного кода применяется изложенная выше процедура. Индексы формы получаются из первых разностей этого кода с помощью только что приведенного метода. Хотя порядок полученного индекса формы обычно равен п (что определяется способом выбора размеров ячеек решетки) для границ, имеющих выемки, размеры которых сравнимы с размерами ячеек решетки, порядок индекса формы иногда будет больше п. В этом случае выбирается прямоуголь-
438
ник более низкого порядка и вся процедура повторяется, пока' индекс формы, полученный в результате ее работы, не достиг-
нет величины п.
Пример. Предположим, что для границы, показанной на рис. 8.33, а мы задали порядок п = 18. Для получения индекса формы такого порядка воспользуемся только что изложенной процедурой. Сначала мы находим базовый прямоугольник, как
Цепной Код 000030032 23222 12 If
Разность 309031033013003130
Индекс срормы 000310330130031303
Рис. 8.33. Шаги генерации индекса формы.
показано на рис. 8.33,6. Ближайшим прямоугольником 18-го порядка является прямоугольник 3X6, поэтому базовый прямоугольник разбивается так, как показано на рис. 8.33, в, причем направления цепного кода совпадают с направлениями решетки. Затем мы определяем цепной код и его первую разность, по которой вычисляется индекс формы (рис. 8.33, г).
Дескрипторы Фурье. Дискретное одномерное преобразование Фурье, определяемое уравнением (7.6-4), часто можно исполь
439
зовать для описания двумерной границы. Предположим, что граница состоит из М точек. Если рассматривать границу на комплексной плоскости (рис. 8.34), каждая точка (х, у) двумерной границы соответствует комплексному числу x-\-jy. Последова-
ДецсгпВитвльная ось
тельность точек границы можно представить в виде функции, имеющей преобразование Фурье Е(н), и == 0, 1, 2, ... ..., М—1. Если М является целым числом (степенью 2), F(u) можно вычислить с помощью алгоритма быстрого преобразования Фурье (алгоритма БПФ), рассмотренного в разд. 7.6.1. Этот метод выбран потому, что для идентификации существенно разных форм обычно требуется только не-
Рис. 8.34. Представление границы об- СКОЛЬКО первых компонент ласти на комплексной плоскости. F(u). Например, объекты, приведенные на рис. 8.35, можно различить, используя менее 10 % элементов полного преобразования Фурье их границ. Преобразование Фурье легко нормируется для размера, поворота и начальной точки границы. Для изме-
Рис. 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. Двумя
основными подходами для описания текстуры являются статистический и структурный. Статистические методы дают такие характеристики текстуры, как однородность, шероховатость, зернистость и т. д. Структурные методы устанавливают взаимное расположение элементарных частей образа, как, например, описание текстуры, основанной на регулярном расположении параллельных линий.
Одним из наиболее простых методов описания текстуры является использование моментов гистограммы интенсивности 442
образа или области. Пусть г— случайная величина, обозначающая дискретную интенсивность образа, и p(zi), i=l, 2,...,L — соответствующие значения гистограммы, где L — число уровней различной интенсивности. В разд. 8.3.1 показано, что п-й момент z относительно среднего значения определяется формулой
L
(^) = £ & — m)n р (Zi),	(8.3-3)
’	i = l
где m — среднее значение z (т. е. средняя интенсивность образа):
m = £ zip (zt).	(8.3-4}
Из уравнения (8.3-3) следует, что цо = 1 и щ = 0. Второй момент, называемый дисперсией и обозначаемый a2(z), особенно важен для описания текстуры. Он является мерой контраста интенсивности и применяется для определения дескрипторов, описывающих однородность поверхности. Например, величина
Л=1—(8.3-5)
равна 0 для областей постоянной интенсивности [a2(z)= 0, если все Zi имеют одно и то же значение] и приближается к 1 для больших значений ст2(г). Третий момент является мерой асимметрии гистограммы, а четвертый момент — мерой ее относительной ровности. Пятый и шестой моменты не так легко связать с формой гистограммы, но они дают некоторую количественную информацию о виде текстуры.
Однако характеристики текстуры, вычисляемые только по гистограммам, не дают информации о взаимном расположении пикселов. Поэтому для получения такой информации в процессе анализа текстуры надо рассматривать не только распределение интенсивностей, но также положения пикселов с равными или почти равными значениями интенсивности. Пусть Р — оператор положения и А — матрица размером k\k, где элемент atf обозначает число появлений точек с интенсивностью zi (в положении, определяемом Р) относительно точек с интенсивностью Zj для 1 i, / k. Например, рассмотрим образ с тремя уровнями интенсивности z\ = 0, zi = 1 и гз = 2:
0 0 0 1 2
110 11
2 2 10 0
110 2 0
0 0 10 1
44а
Если мы определим оператор положения как «один пиксеЬ справа и затем один пиксел вниз», тогда мы получим матрицу А размерностью 3X3 следующего вида:
2 1 -
3 2
2 0 -
где, например, ап — число появлений точки с уровнем интенсивности 21 = 0, расположенной на один элемент по диагонали вниз от пиксела с такой же интенсивностью, а оцз— число появления точки с уровнем z\ = 0 относительно точки с интенсивностью 23 = 2. Отметим, что размерность матрицы А строго определяется числом различных уровней интенсивности входного образа. Таким образом, для практического применения этого метода обычно требуется разбиение диапазона интенсивности на несколько интервалов с целью сохранения приемлемой размерности матрицы А.
Обозначим через п общее число пар точек, удовлетворяющих Р (в приведенном выше примере п = 16). Если ввести матрицу С с элементами сц = ац/п, тогда с1;- представляет собой оценку вероятности того, что пара точек, удовлетворяющих Р, будет иметь значения (г,, г;). Матрица С называется матрицей вероятности совместного появления уровней интенсивности, где термин «уровень интенсивности» используется для обозначения интенсивности монохромного пиксела или образа. Поскольку С зависит от Р, можно обнаружить наличие видов данной текстуры путем выбора соответствующего оператора положения. Так, оператор, используемый в предыдущем примере, чувствителен к полосам частот постоянной интенсивности, падающей под углом —45° (отметим, что в матрице А элементом с наибольшим значением является йц=4 отчасти благодаря точкам, имеющим интенсивность, равную нулю и падающую под углом —45°). В более общем случае возникает задача анализа матрицы С с целью описания текстуры области, для которой она была вычислена. Ниже приводится набор дескрипторов из [111].
1.	Максимальная вероятность:
max ' i	'	.
2.	Разностный момент /г-го порядка:  >!
ЕЕ(г-/Усг/. i i
3.	Обратный разностный момент й-го порядка:' S X с</
_!__I___ I i
-444
4. Энтропия:
5. Однородность:
-ЕЕ сц log С;/-
i i
Е Е
Основная идея состоит в описании «содержания» матрицы С с помощью этих дескрипторов. Например, первое свойство дает значение самого сильного отклика на оператор Р (как в приведенном выше примере). Второй дескриптор имеет относительно низкое значение, когда большие значения элементов матрицы С расположены около главной диагонали, поскольку в этом случае разности i—j весьма малы. Действие третьего
р
Рис. 8.37. Простейший элемент текстуры (а). Модель, созданная в результате применения правила S aS (б). Двумерная модель текстуры, созданная с помощью этого и других правил (в).
дескриптора противоположно второму. Четвертый дескриптор является мерой беспорядка и достигает наибольшего значения, когда все элементы матрицы а, равны. Наоборот, пятый дескриптор имеет наименьшее значение, когда все с,, равны. Метод, основанный на применении этих дескрипторов, состоит в том, чтобы «обучить» систему распознавать различные текстуры по соответствующим значениям дескрипторов. После того как вычислены дескрипторы области с неизвестной текстурой, в качестве искомой текстуры из памяти системы выбирается та текстура, дескрипторы которой наиболее близки к вычисленным. Более подробно этот метод рассматривается в разд. 8.4.
Методы, рассмотренные выше, являются статистическими. Как уже говорилось в начале этого раздела, ко второй главной категории методов описания текстуры относятся структурные методы. Предположим, что мы имеем правило вида S -> aS, которое означает, что символ S преобразуется в aS (например, три применения этого правила дадут цепочку aaaS). Если а является кругом (рис. 8.37, а), то, присвоив значение «круги
445
вправо» цепочке вида ааа... с помощью правила S-*aS, станет возможным генерировать модель текстуры, показанной на рис. 8.37, б.
Предположим, что к этой схеме мы добавили несколько новых правил: S->6A, А-+сА, А-+с, 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]. Эта процедура быстрая, проста в реализации и, как показано ниже, во многих случаях дает более хорошие результаты, чем другие алгоритмы прореживания. Сначала
Рис. 8.38. Средние оси трех простых областей.
обозначим точки области единицами, а точки фона — нулями. Назовем их соответственно темными и светлыми точками. Точкой контура называется темная точка, которая имеет в своей окрестности, состоящей из четырех точек, по меньшей мере одну светлую. Конечной точкой называется темная точка, которая в своей окрестности, состоящей из восьми точек, имеет одну и только одну темную точку. Точкой разрыва называется темная точка, устранение которой привело бы к нарушению связности области. Для всех алгоритмов прореживания шум и другие ложные изменения границы могут приводить к значительным отклонениям определяемого скелета (наиболее явно это показано на рис. 8.38,6). Поэтому предполагается, что границы всех областей перед процессом прореживания были предварительно сглажены, например, с помощью процедуры, рассмотренной в разд. 7.6.2.
В соответствии с приведенным на рис. 8.39 расположением точек окрестности точка контура р, используемая в алгоритмах прореживания, может быть следующего вида: 1) левая точка контура, у которой левая соседняя точка «4 светлая; 2) правая точка контура, у которой соседняя точка пй светлая; 3) верхняя точка контура, у которой соседняя точка п2 свет
447
лая; 4) нижняя точка контура, у которой соседняя точка ns светлая. Иногда точку можно одновременно отнести сразу к нескольким из этих видов. Например, темная точка р, у которой п0 и п4 светлые, будет одновременно правой и левой точками контура. Затем сначала рассматривается процесс идентификации левых точек контура, которые должны быть устранены, и уже потом процедура распространяется на другие виды точек.
«3	пХ	П1
«4	р	По
«5	Пб	«7
Рис. 8.39. Обозначение для соседних с точкой р пикселов, которое используется в алгоритме прореживания [204].
Точка контура р помечается, если она не является конечной точкой или точкой разрыва, а также если ее устранение не вызовет чрезмерного размытия (как показано ниже). Проверка
Рис. 8.40. Разметка окрестности из восьми соседних точек темной точки р. Для приведенных окон точка р не помечается. Звездочкой обозначена темная точка, a d и е могут быть либо темными, либо светлыми [204].
на рис, 8.40, где р и звездочка являются темными точками, a d и е могут быть либо темными, либо светлыми точками. Если окрестность точки р соответствует окнам, показанным на рис. 8.40, а—в, возможны два случая:
1. Если все точки d светлые, тогда р является конечной точкой.
2. Если хотя бы одна точка d темная, тогда р является точкой разрыва. В любом из этих случаев точка р не должна помечаться.
Анализ окна, представленного на рис. 8.40, г, более сложный. Если хотя бы одна из точек d и е темная, тогда точка р является точкой разрыва и не должна помечаться. Однако необходимо рассмотреть другое расположение точек. Предположим, что все точки d светлые, а точки е могут быть либо темными, либо светлыми. Это условие дает восемь вариантов, показан-
448
ных на рис. 8.41. Для конфигураций а — в точка р конечная, а для конфигурации г она является точкой разрыва. Если бы р была устранена в конфигурациях д и е, то на примере легко показывается, что это устранение вызвало бы чрезмерное размытие наклонных областей шириной 2. На конфигурации ж точка р относится к так называемой шпоре, обычно появляющейся вследствие короткого ответвления или выступа области. Поскольку предполагается, что граница области вначале сглажена, появление шпоры во время процесса прореживания рас-
		
	р	
	*	*
		
	р	
*	*	
		
	р	
*	*	*
		
	р	
		
д	е	ж	з
Рис. 8.41. Возможные конфигурации, когда на рис. 8.40 точка d светлая, а е может быть темной, * или светлой [204].
и поэтому точка р не должна быть устранена. Наконец, если все изолированные точки были устранены ранее, появление во время процесса прореживания конфигурации з означает, что область свелась к единственной точке; ее устранение означало бы ликвидацию последней остающейся части области. Аналогичные рассуждения применяются, когда точки d и е меняются местами или же когда они могут быть как темными, так и светлыми. Главным является то, что каждая левая точка контура р, имеющая окрестность из восьми точек, соответствующую окнам, показанным на рис. 8.40, не должна быть устранена.
Проверка окрестности точки р на соответствие четырем окнам (рис. 8.40) осуществляется по формуле булевой алгебры логики:
В4 = п0 • («! + п2 + п6 + п7) • (п2 + Ц3) • (п5 + Пб), (8.3-6)
где индекс у В означает, что п4 является светлой (т. е. р — левая точка контура), точка — логическое И, плюс — логическое
15 К. Фу и др.
449
ИЛИ, минус — логическое отрицание, а щ, i= 1, 2, 3, 4 определены на рис. 8.39. Ранее непомеченным темным точкам присваивается значение 1 (ИСТИНА), светлым, а также помеченным точкам — значение О (ЛОЖЬ). Тогда, если В4 = 1 (ИСТИНА), мы помечаем точку р. В противном случае точка р остается непомеченной. Легко показать, что эти условия, наложенные на В4, одновременно выполняются для всех четырех окон, приведенных на рис. 8.40.
Подобные выражения получаются для правых точек контура
Во = м4 • (п2 п3 -|- п5 Me) ‘ (пб Н- «?) ' (^1 + и2),	(8.3-7)
для верхних точек контура
В2 = ^6 ' (по + м4 + ^5 + пт) ‘ (no Д ^1)' («з Д ni) (8.3-8) и для нижних точек контура
= п2 • (п0 Д Д Д м4) • (м4 Д Пд) • (п0 -|- п7).	(8.3-9)
Используя эти уравнения, алгоритмы прореживания работают итеративным образом, два раза сканируя данные. Сканирование может осуществляться либо вдоль строк, либо вдоль столбцов образа, но этот выбор обычно влияет на конечный результат. В первом случае для пометки левых и правых точек контура применяются В4 и Во; при втором сканировании для пометки верхних и нижних точек контура применяются В2 и В6. Если после второго сканирования не появилось новых помеченных точек контура, алгоритм прекращает работу, а искомый скелет состоит из непомеченных точек; в противном случае процедура повторяется. Отметим, что предварительно помеченным темным точкам при вычислении булевых выражений присваивается значение 0. Альтернативная процедура состоит в присвоении любой помеченной точке значения 0 во время работы алгоритма, и следовательно, обработка точек фона и создание скелета происходят в конце работы процедуры. Этот метод более прост в реализации за счет отбрасывания всех других точек области.
Пример. На рис. 8.42, а приведена бинарная область, а на рис. 8.42, б — скелет, полученный с помощью описанного выше алгоритма. Для сравнения на рис. 8.42, в приведен скелет, полученный на основе тех же данных с помощью хорошо известного алгоритма прореживания [233]. Различие в результатах очевидно.
Инварианты моментов. В разд. 8.3.1 говорилось, что для описания границы области можно использовать дескрипторы Фурье, инвариантные относительно перемещения, поворота и изменения масштаба. В том случае, когда область задается 450
множеством точек, она может быть описана моментами, инвариантными относительно этих действий.
Обозначим через f(x,y) интенсивность в точке области (х, у). Тогда для данной области момент (рq) порядка определяется выражением
(8.3-10) х У
где суммирование проводится по всем пространственным координатам (х, у) точек области. Центральный момент порядка
Рис. 8.42. Бинарная область (а). Скелет, полученный с помощью одного алгоритма прореживания (б), и скелет, полученный с помощью другого алгоритма прореживания (в) [204].
(Р + Я) определяется следующей формулой:
PP9= Е Е (х~ х)Р(У~ y)qf(x, у),	(8.3-11)
- 	.	х у
где
Нормированный центральный момент порядка + я) определяется выражением	, Л,
ПР9=->,	.	(8-3-13)
-	//	^00
где
V	j для (p-\-q) — 2, 3, ... .	(8.3-14)
15*
451
т
Используя только нормированные центральные моменты 2- и 3-го порядков, можно вывести следующий набор инвариан-
тов моментов:
= П-2о + Пог-	(8.3-15)
^ = (п2О-т|о2)2 + 4т|?р	(8.3-16)
Фз = (Изо — Зт]12)2 + (Зт]21	—	т)оз)2,	(8.3-17)
^*4 = (Пзо + П12)2 + (П2| + Поз)2-	(8.3-18)
^5 = (Изо 8t]i2) (Лзо + П12) [(Лзо + Hi г)2 — 3 (т]21 + Лоз)2] +
+ (OT12i Поз) (П21 + Поз) [3 (Изо + П12)2 — (П21 + Поз)2]-	(8.3-19)
& = (Нго — П02) [(Изо т П12)2 — (П21 + Поз)2] +
+ 4Пп (Изо + П12) (П21 + Поз)-	(8.3-20)
^7 ~ (Зт)21 Поз) (Изо + П12) [(Изо + П12)2 — 3 (т]21 + Поз)2] +
+ (Зп>2 Изо) (П21 + Поз) [8 (Изо + П12)2 — (П21 + Поз)3]-	(8.3-21)
Как показано в работе [128], этот набор моментов инвариантен относительно перемещения, поворота и изменения масштаба.
8.4.	СЕГМЕНТАЦИЯ И ОПИСАНИЕ ТРЕХМЕРНЫХ СТРУКТУР
В предыдущих двух разделах основное внимание уделялось методам сегментации и описания двумерных структур. В этом разделе мы рассмотрим эти задачи применительно к трехмерным данным сцены.
Как уже говорилось в разд. 7.1, по существу зрение является трехмерной проблемой, поэтому в основе разработки многофункциональных систем технического зрения, пригодных для работы в различных средах, лежит процесс обработки информации о трехмерных сценах. Хотя исследования в этой области имеют более чем 10-летнюю историю, такие факторы, как стоимость, скорость и сложность, тормозят внедрение обработки трехмерной зрительной информации в промышленных приложениях.
Возможны три основные формы представления информации о трехмерной сцене. Если применяются датчики, измеряющие расстояние, то мы получаем координаты (х, у, г) точек поверхностей объектов. Применение устройств, создающих стереоизображение, дает трехмерные координаты, а также информацию об освещенности в каждой точке. В этом случае каждая точка представляется функцией f(x,y,z), где значения последней в точке с координатами (х, у, г) дают значения интенсивности в этой точке (для обозначения точки в трехмерном пространстве и ее интенсивности часто применяется термин вок
452
сел). Наконец, можно установить трехмерные связи на основе одного двумерного образа сцены, т. е. можно выводить связи между объектами, такие, как «над», «за», «перед». Поскольку точное трехмерное расположение точек сцены обычно не может быть вычислено на основе одного изображения, связи, полученные с помощью этого вида анализа, иногда относятся к так называемой 2,5тмерной информации.
8.4.1.	Описание трехмерной сцены плоскими участками
Один из наиболее простых подходов для сегментации и описания трехмерных структур с помощью координат точек (х, у, г) состоит в разбиении сцены на небольшие плоские
в
Рис. 8.43. Описание трехмерной поверхности, основанное иа представлении в виде плоских участков [265].
«участки» с последующим их объединением в более крупные элементы поверхности в соответствии с некоторым критерием. Этот метод особенно удобен для идентификации многогранных объектов, поверхности которых достаточно гладкие относительно разрешающей способности.
453
Рассмотрим основные понятия, лежащие в основе этого метода, на примере рис. 8.43. На рис. 8.43, а приведена простая сцена, а на рис. 8.43,6—множество соответствующих трехмерных точек. Эти точки можно объединить в небольшие элементы поверхности, если, например, разбить трехмерное пространство на ячейки, в которых содержатся эти точки. Затем группе точек каждого элемента ставится в соответствие плоскость, для которой вычисляется единичный вектор (нормаль), проходящий через центр этого элемента.
Плоские участки получаются в результате пересечения плоскостей и сторон элементов, а их ориентация в пространстве задается единичным вектором (рис. 8.43, в.) Все плоские участки, направления которых в пределах задаваемого порога примерно одинаковы, объединяются в элементарные области (У?) (рис. 8.43, г). Затем эти области классифицируются как плоские (Р), кривые (С) или неопределенные ((7) в зависимости от направления плоских участков каждой области (например, плоские участки плоской поверхности будут иметь одно и то же направление). Этот тип классификации областей показан на рис. 8.43,6. Окончательно (и это самый трудный шаг) основные поверхности получаются в результате объединения смежных областей одного класса (рис. 8.43, е). Отметим, что в результате работы этой процедуры сцена разделена на различные поверхности, а каждой поверхности присвоен дескриптор (т. е. поверхность является кривой или плоской).
8.4.2.	Применение градиента
Когда сцена задана вокселами, ее можно описать плоскими участками (по аналогии с методом, рассмотренным в разд. 8.4.1) с помощью трехмерного градиента. В этом случае дескрипторы поверхности также получаются в результате объединения этих плоских участков. Как уже говорилось в разд. 7.6.4, вектор градиента указывает направление максимальной скорости изменения функции, а его величина соответствует величине этого изменения. Эти понятия применимы для трехмерного случая и также могут быть использованы для разбиения на сегменты трехмерных структур тем же способом, который применялся
для двумерных данных.
Пусть задана функция f(x,y,z), тогда ее градиент в точке
(х, у, г)
G[f(X,y,z)] =
дх df ду dj dz
(8.4-1)
464
Величина градиента G определяется следующим образом:
G [f (х, у, г)] = (G2X + G? + G^.	(8.4-2)
Используя уравнение (7.6-39) для упрощения вычислений, G часто аппроксимируется абсолютными значениями:
G[f(x, у, г)] -IGJ + IGJ + IGJ.
Применение трехмерного градиента основывается на использовании операторов, аналогичных операторам, рассмотренным в разд. 7.6.4. На рис. 8.44 приведен оператор размерностью
Рис. 8.44. Оператор размерностью 3X3X3 для вычислении составляющей градиента Gx [324].
3X3X3, предложенный в работе [324] для вычисления компоненты градиента Gx. Такой же оператор, ориентированный вдоль оси у, используется для вычислений Gy, и ориентированный вдоль оси z— для вычисления Gz. Основное свойство этих операторов состоит в том, что они дают наилучший (по методу наименьших квадратов) плоский контур между двумя областями различной интенсивности в трехмерной окрестности.
Центр каждого оператора перемещается от воксела к вокселу, и операторы применяются так же, как их двумерные ана-
455
логи (разд. 7.6.4), т. е. результатом действия операторов в любой точке (х, у, z) являются Gx, Gy и Gz, которые затем подставляются в уравнение (8.4-1) для получения вектора градиента и в уравнение (8.4-2) или (8.4-3) для получения его величины. Отметим, что оператор, приведенный на рис. 8.44, дает нулевое значение градиента для области постоянной интенсивности размерностью 3X3X3.
Для разбиения сцены на плоские участки, аналогичные тем, которые рассматривались в предыдущем разделе, имеется простая процедура, использующая метод градиента. Нетрудно показать, что вектор градиента к плоскости ах Д- by + cz О имеет компоненты Gx = a, Gy ~ b и 6г = с. Поскольку рассмотренные выше операторы дают оптимальный плоский участок в окрестности размерностью 3X3X3, отсюда следует, что компоненты вектора G определяют направления плоского участка в каждой окрестности, в то время как величина G дает указание на резкое изменение интенсивности в пределах плоского участка, т. е. она указывает на наличие контура интенсивности в пределах этого участка. Соответствующий пример применения градиентного оператора приведен на рис. 8.45. Поскольку поверхность каждого планарного участка проходит через центр воксела, границы этих участков не всегда могут совпадать. На рис. 8.45 совпадающие участки показаны широкими однородными областями.
После того как получены плоские участки, они могут быть объединены в основные поверхности методом, рассмотренным в разд. 8.4.1. Отметим, что теперь мы располагаем дополнительной информацией об интенсивности и разрывах интенсивности, облегчающей процесс объединения и описания.
8.4.3.	Разметка линий и соединений
Итак, контуры в трехмерной сцене определяются разрывами в данных о координатах и/или интенсивности. После того как был определен набор поверхностей и контуров, располагающихся между ними, окончательное описание сцены может быть получено путем разметки линий, которые соответствуют контурам, и соединений, которые эти контуры образуют.
Основные виды линий приведены на рис. 8.46. Выпуклая линия (помеченная +) образуется в результате пересечения двух поверхностей выпуклого тела (например, линия, образованная в результате пересечения двух сторон куба). Вогнутая линия (помеченная —) образуется в результате пересечения двух поверхностей, принадлежащих двум различным телам (например, пересечение стороны куба с полом). Скрытые линии (помеченные стрелками) представляют собой контуры невидимых поверхностей. Поверхности, закрывающие другие ча-456
сти объекта, располагаются справа от линии, если смотреть в направлении стрелок, а невидимые поверхности располагаются слева. После того как линии сцены размечены, их соединения
дают ключ к пониманию природы трехмерных объектов сцены. Физические ограничения допускают лишь несколько возможных комбинаций меток линий в соединении. Например, сцена в виде многогранника не имеет линий, метки которых могут меняться между вершинами. Нарушение этого правила приводит к объектам, не имеющим физического смысла (рис. 8.47).
В основе метода анализа соединений лежит
Аппроксимация куба плоскими с использованием градиента[324]
приведенный на рис. 8.48,
образование словаря из рИс. 8.45. ДОПУСТИМЫХ ТИПОВ СОеДИ- участками нений. Например, легко показать, что словарь соединений,
содержит все значимые помеченные вершины трехгранных тел
—±— Выпуклая линия
•—-—Вогнутая линия
—«— Закрытая линия
Рис. 8.46. Три основные разметки линий.
(т. е. тела, у которых три плоские грани сходятся к одной вершине). После того как произведена классификация соединений в соответствии со словарем, возникает задача объединения различных поверхностей в объекты. Как правило, она решается е помощью набора эвристических правил, построенных для
457
интерпретации помеченных линии и последовательностей из соседних соединений. Основные понятия, лежащие в основе этого метода, могут быть проиллюстрированы рис. 8.49. Из рис. 8.49, б следует, что капля полностью составлена из скрытой невидимой границы, за исключением короткой вогнутой линии, указывающей место, где она
касается базовой детали. Поскольку перед каплей ничего нет, она может быть выделена из сцены. Отметим также, что имеется вершина типа (10) из словаря, приведенного на рис. 8.48. Очевидно, что для трехгранных объектов три поверхности, сходящихся к этой вершине, образуют кубическую поверхность. Подобные рассуждения применимы к базовой детали, после того как устранены кубические поверхности, фоне остается единствен-декомпозиция сцены.
Рис. 8.47. Объект, не имеющий физического смысла. Отметим, что одна из линий меняет метку из-за того, что загорожена выпуклость между двумя вершинами.
После устранения базовой детали на ный объект, на котором завершается
Хотя этот пример и дает достаточно полное представление о применении анализа линий и соединений для описания трехмерных объектов сцены, тем не менее создание алгоритма для обработки более сложных сцен является далеко не тривиальной задачей. Работы, посвященные исследованиям в этой области, приводятся в конце главы.
8.4.4.	Обобщенные конусы
Обобщенным конусом (или цилиндром) называется поверхность, получаемая в результате перемещения плоского поперечного сечения вдоль произвольной пространственной кривой {хребта) под постоянным к ней углом, причем поперечное сечение преобразуется по правилу заметания объема. В техническом зрении метод обобщенных конусов независимо от других методов позволяет создавать образы трехмерных структур, что полезно при моделировании и для проверки соответствия построенных моделей исходным данным.
Пример работы процедуры генерации обобщенных конусов приведен на рис. 8.50. На рис. 8.50, а поперечным сечением является кольцо, хребтом — прямая линия, а правило заметания объема состоит в перемещении поперечного сечения перпендикулярно хребту, в то время как его диаметр остается постоян-
458
1
Рис. 8.48. Словарь соединений для трехгранных тел.	Рис. 8.49. Сцена (а), помеченные линии (б) и де-
композиция на основе анализа линий и соединений (в) [265].
1
ним. В результате получается полый цилиндр. На рис. 8.50,6 приведена та же ситуация, за исключением того, что сначала правило заметания объема состоит в том, чтобы поддерживать диаметр поперечного сечения постоянным, а затем после прохождения поперечным сечением средней точки хребта диаметр линейно возрастает.
а
Рис. 8.50. Поперечные сечения и соответствующие им обобщенные конусы.
а — поперечное сечение остается постоянным во время заметания объема; б — диаметр поперечного сечения линейно увеличивается после прохождения средней точки хребта.
Когда устанавливается соответствие между набором трехмерных точек и набором известных обобщенных конусов, сначала определяется центральная ось точек, а затем набор поперечных сечений, который наилучшим образом соответствует данным при перемещении вдоль хребта. Обычно для получения удовлетворительного результата требуется большое число испытаний, особенно при неполных данных.
8.5.	РАСПОЗНАВАНИЕ
Распознаванием называется процесс разметки, т. е. алгоритмы распознавания идентифицируют каждый объект сцены и присваивают ему метки (гаечный ключ, перемычка, болт). Обычно в большинстве промышленных систем технического зрения предполагается, что объекты сцены сегментированы как отдельные элементы. Другое общее ограничение относится
460
к расположению устройств сбора информации относительно исследуемой сцены (обычно они располагаются перпендикулярно рабочей поверхности). Это приводит к уменьшению отклонений в характеристиках формы, а также упрощает процесс сегментации и описания в результате уменьшения вероятности загораживания одних объектов другими. Управление отклонениями в ориентации объекта производится путем выбора дескрипторов, инвариантных к вращению, или путем использования главных осей объекта для ориентирования его в предварительно определенном направлении.
Современные методы распознавания делятся на две основные категории: теоретические и структурные методы. Как показано ниже, теоретические методы основываются на количественном описании (например, статистическая текстура), а в основе структурных методов лежат символические описания и их связи (например, последовательности направлений в границе, закодированной с помощью цепного кода). За несколькими исключениями, рассмотренные в этом разделе процедуры используются для распознавания образов двумерных объектов.
8.5.1.	Теоретические методы
Теоретические методы распознавания объектов основываются на применении решающих функций (дескриминанта). Пусть х = (хь х2, ..., хп)т—вектор модели объекта (модельный вектор) с действительными компонентами, где xt— i-й дескриптор данного объекта (например, площадь, средняя интенсивность, длина периметра). Тогда, если заданы М классов объектов <0,, (о2, ..сом, основной задачей распознавания является определение М решающих функций di(x), d2(x), ..., dM(x), таких, что для любого модельного вектора х*, принадлежащего классу со/, выполняются следующие неравенства:
di(xt)>dl(x), /=1, 2, ..., М; /У=/.	(8.5-1)
Другими словами, неизвестный объект, представленный вектором х*, относится к z-му классу (т. е. распознается), если при подстановке х* во все решающие функции di(x*) имеет наибольшее значение.
В промышленных системах технического зрения решающие функции используются главным образом для установления соответствия (подбора). Предположим, что мы представляем каждый класс объектов с помощью вектора прототипа (усредненного вектора):
N
Ш/ = у xk, z = l, 2.........М,	(8.5-2)
461
где Xk — модельные векторы, о которых известно, что они относятся к классу со,. Тогда, чтобы определить, к какому классу объектов относится неизвестный вектор х*, надо найти его ближайший прототип. Если для определения близости к прототипу
используется евклидово расстояние, задача сводится к вычислению следующих выражений:
Z?j(x*) = ||x* — tn, ||,	/=1, 2,	Л4;	(8.5-3)
где ||а|| = (ага)|/2— евклидова норма. В этом случае вектор л* относится к классу со,, если Di(x*) является наименьшим расстоянием. Нетрудно показать, что это эквивалентно вычислению значений функции
dj (х*) = (х*)г т7 — 1/2т/7'ту,	/=1, 2......М (8.5-4)
и выбору наибольшего значения, что совпадает с определением решающей функции (выражение 8.5-1). Другое применение соответствия состоит, например, в нахождении подобраза w(x,y)
462
на более большом образе f(x, у). Для каждого участка (х, у) образа f(x, у) коэффициент корреляции определяется выражением
Е £	(s,
у)	(	у-'	уч	.	'	77	у,	уч уч ,	~	-) 1/2 '	(8.5-5)
|	Е	Е	(*’*) - "У-	Е Е17 (s’	z>	-	I
I	s	. t	st	J
где предполагается, что w(s,t) центрируется в каждой точке (х, у). Суммирование проводится по всем координатам, общим для обоих областей, mw— средняя интенсивность w и — средняя интенсивность f в области, совпадающей с w. Отметим, что обычно значение v(x,y) лежащее в диапазоне [—1,1], сильно изменяется при переходе от одного участка образа к другому, причем значение 1 соответствует наилучшему подбору. Затем для каждого участка (х, у) определяется v(x, у), и для установления наилучшего соответствия w в f выбирается его наибольшее значение. [Процедура движения ш(х, у) по 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 между двумя границами объектов Л и В назовем наибольшее значение совпадающих индексов формы,
Рис. 8.52. Граница объекта (а), простейшие элементы (б) и граница, закодированная простейшими элементами (s). Соответствующая цепочка имеет вид aaabcbbbcdddcd.
т. е. мы имеем s4(A)=s4(B), s6(A)=s6(B), х8(Л) == s8(B), ... ..., Sfe(A) — s*(B), s*+2(A)=# s*+2(B), s*+4(A)=/= s*+4(B), .... где s является индексом формы, а нижний индекс означает порядок. Расстояние между двумя формами границы Л и В определяется как величина, обратная степени схожести:
Д(А, В) = |.	(8.5-6)
Это расстояние удовлетворяет следующим свойствам:
a)	D (Л, В)>0;
б)	В (Л, В) = О, если Л = В;	(8.5-7)
в)	О (Л, С) max [О (Л, В), В (В, С)].
Для сравнения двух форм границы используется либо k, либо D. Если используется степень схожести, из сказанного выше следует, что чем больше k, тем формы оказываются более близкими. Обратное справедливо, когда применяется расстояние.
Пример. Для иллюстрации приведенных понятий предположим, что мы хотим определить, какая из пяти форм (Л, В, D, Е, F) (рис. 8.53, а) наилучшим образом соответствует форме С. Это аналогично предположению о том, что свойства пяти форм известны, и требуется определить, какая из них наилучшим образом соответствует форме с неизвестными свойствами. Поиск можно представить наглядно с помощью дерева схожести, по
464
казанного на рис. 8.53,6. Корень дерева соответствует наименьшей рассматриваемой степени схожести, которая в данном примере равна 4. Из рис. 8.53,6 видно, что все формы являются идентичными вплоть до шестой степени (и до восьмой степени, если исключить форму Л). Таким образом, степень схожести формы А по отношению ко всем другим формам равна 6. Продолжая исследование, мы находим, что степень схожести формы D по отношению к остающимся формам равна 8 и т. д.
Степень
а	5
А В С D Е Е
А
€
I) £ F
оо 6	6	6	6	6
00	8	8	10	8
оо	8	8	12
/	о°	8	8
,	0°	8
о»
6
Рис. 8.53. Формы (а), дерево схожести (б) и матрица схожести (в) [31].
В данном случае только форма F наиболее соответствует форме С, поскольку их степени схожести выше, чем для любых других форм. Если бы неизвестной предполагалась форма Е, также была бы найдена единственная форма, но с более низкой степенью схожести. Если была бы неизвестной форма А, применяя этот метод, мы могли бы сказать, что она подобна другим пяти формам со степенью схожести, равной 6. Всю информацию можно объединить в матрицу схожести (рис. 8.53, в).
Установление соответствия с помощью цепочек. Предполо
жим, что два контура Ci и С2 закодированы цепочками aj,
465
а2 ... ап и b{b2 ... Ьт соответственно. Пусть А является числом соответствий между двумя цепочками, и мы говорим, что соответствие появляется в /-й позиции, если а, = bf. Число символов, между которыми нет соответствия, дается выражением
В = тах(|С1|, |С2|) - А,	(8.5-8)
где |С| является длиной (числом символов) цепочки С. Можно показать, что В = 0 только тогда, когда С, и С2 идентичны.
Простая мера схожести между цепочками С\ и С2 определяется отношением
= Т = maxdCJ, I с2 I) — Л ’	(8.5-9)
Поскольку в знаменателе стоит В, то R равно бесконечности для идеального соответствия и нулю, когда между символами в б?! и С2 нет ни одного соответствия (т. е. в этом случае А = 0). Поскольку соответствие устанавливается в результате поочередного сравнения соответствующих символов, то при создании цепочки, описывающей границу, важно местоположение начальной точки. В противном случае если для каждой границы выбраны произвольные начальные точки, то надо сдвигать одну из цепочек (по кругу) и определять 7? по уравнению (8.5-9) для каждого сдвига. Число сдвигов, требуемое для выполнения всех необходимых сравнений, равно шах(| С) |, | С2|) •
Пример. На рис. 8.54, а и б показаны эталонные границы для двух классов объектов. Границы были аппроксимированны многоугольниками (рис. 8.54, в и г). Затем в результате вычисления внутренних углов между сегментами многоугольника были сформированы цепочки, причем многоугольник обходился в направлении по часовой стрелке. Углы были закодированы одним из восьми возможных символов, соответствующих приращению 45°; Si: 0° < 0 С 45°, s2: 45° < 0 С 90°, ..., s8: 315° < 0 < 360°.
Результаты вычисления R для эталонной границы объекта 1 и его пяти моделей показаны на рис. 8.54, д, где записи соответствуют значениям R—A/B (например, обозначение 1.с соответствует третьей цепочке для объекта класса 1). На рис. 8.54, е показаны результаты для цепочек объекта второго класса. Наконец, на рис. 8.54, ж показана таблица значений R, полученных в результате сравнения цепочек обоих классов. Важно отметить, что в последней таблице все значения R существенно меньше, чем в предыдущих двух таблицах. Из этого следует, что значения R соответствуют высокой степени различия между двумя классами объектов. Например, если бы цепочка 1.а соответствовала неизвестной форме границы, то ее наименьшее значение при сравнении с другой цепочкой класса 1 было бы равно 4,67. Наоборот, ее наибольшее значение при сравнении с цепочкой второго класса было бы 1,24. Отсюда следует, что эта цепочка относится к первому классу.
466
Синтаксические методы. Среди структурных методов синтаксические методы наиболее часто применяются для задач распознавания образов. Основная идея, лежащая в основе синтаксических методов, состоит в подробном описании структурной модели простейшими элементами в соответствии с набором пра-
мс
Рис. 8.54. Гранины объектов, принадлежащих двум различным классам (а, б), соответствующие им аппроксимации многоугольниками (а, г) и таблицы R = A/В (д — ж) (2761.
вил (грамматикой). Сначала рассмотрим грамматики цепочек, а затем распространим эти идеи на грамматики более высокой размерности.
Грамматики цепочек. Предположим, что мы имеем два класса объектов о>1 и о)2, которые представляются цепочками из простейших элементов (разд. 8.5.2). Каждый простейший элемент можно интерпретировать как допустимый символ некоторой грамматики, где под грамматикой подразумевается набор синтаксических правил (отсюда название—синтаксическое распознавание образов). С помощью этих правил из допустимых символов можно создавать предложения. В данном случае предло-
467
жениями являются цепочки символов, которые в свою очередь служат для описания моделей объектов. Рассмотрим две грамматики Gi и G2. Правила грамматики Gi позволяют создавать предложения только для объектов класса оц, а правила грамматики G2— только для объектов класса со2. Набор предложений, созданный грамматикой G, называется языком и обозначается L(G).
После определения двух грамматик G, и G2 процесс синтаксического распознавания образов в принципе довольно прост. Если дано предложение, представляющее неизвестную модель объекта, задача состоит в определении языка, к которому это предложение относится. Если предложение относится к языку L(Gi), мы говорим, что модель описывает объект класса оц. Аналогично мы говорим, что объект относится к классу со2, если данное предложение из языка E(G2). Однако предложение может одновременно относиться сразу к двум языкам E(Gi) и L(G2). В этом случае оно отбрасывается.
Когда имеется больше двух классов моделей объектов, подход синтаксической классификации тот же, что описанный выше. Различие заключается в том, что рассматривается большее число грамматик (по меньшей мере одна на класс). В этом случае модель объекта относится к классу со/, если она является предложением только из языка L(Gi). Если предложение не относится ни к одному языку или же относится сразу к нескольким, то модель, соответствующая этому предложению, исключается из рассмотрения Для цепочки определим грамматику как четверку
G = (N, X, Р, S),	(8.5-10)
где N — конечный набор нетерминальных символов или переменных, S — конечный набор терминальных символов или констант, Р — конечный набор производящих правил (правил вывода). Символ S, принадлежащий IV, является начальным символом.
Наборы N и S не должны пересекаться. Далее нетерминальные символы обозначаются прописными буквами: А, В, ... ..., S....Константы обозначаются строчными буквами на-
чала алфавита: а, Ь, с, а цепочки из констант — строчными буквами конца алфавита: и, w, х, у, г. Цепочки, состоящие из констант и переменных, обозначаются строчными буквами греческого алфавита: а, р, 6.....Пустое предложение (предло-
жение, не имеющее символов) обозначается Л. Наконец, если задан набор символов V, то V* будет обозначать все предложения, составленные из элементов V.
Грамматики цепочек характеризуются в основном видом их производящих правил. Определенный интерес для синтаксического распознавания образов представляют регулярные грам-468
г
матики, производящие правила которых всегда имеют вид А-+аВ или А-+а, причем А и В принадлежат N, а а принадлежит У. Представляют интерес также контекстно-свободные грамматики с производящими правилами вида А -> а, А принадлежит N, а а принадлежит набору (WllS) — т. е. а может быть любой цепочкой, состоящей из констант и пере-
менных за исключением пустой цепочки.
Пример. Смысл рассмотренных понятий поясним на следующем примере. Предположим, что объект, показанный на рис. 8.55, а, представляется своим скелетом. Для описания структуры подобных скелетов введем простейшие элементы, показанные на рис. 8.55,6. Рассмотрим грамматику G = (N, S, Р, S) с N = = {А, В, S}, У — {а, Ь, с} и производящими правилами
1)	S-+aA,
2)	A-*-bA,
3)	А-+ЬВ,
4)	В -> с, где константы а, b и с приведены на рис. 8.55,6. Как уже говорилось выше, S является начальным символом, с которого
создаются все цепочки в языке L(G). Если, например, после правила 1 мы два раза применим правило 2, то получим S => аА => аЬА => abb А, где => означает порядок вывода цепоч-
Рис. 8.55. Объект, представленный своим скелетом (а), простейшие элементы (б) и структура, созданная с помощью регулярной грамматики (в).
ки, начиная с S и применяя производящие правила из Р. Отметим, что производящие правила S-^-аД и А-*-ЬА трактуются как «из S может быть выведено аА» и «из А может быть выведено ЬА». Поскольку в цепочке abbA имеется переменная, то, применяя соответствующие правила, можно продолжить вывод. Например, если к ней два раза применить правило 2, а затем правила 3 и 4, то мы получим цепочку, которая соответствует структуре, приведенной на рис. 8.55, в. Отметим, что после применения правила 4 цепочка не содержит переменных, и поэтому вывод прекращается. Нетрудно видеть, что приведенная выше грамматика имеет язык Z.(G)= {abnc\n^ 1}, где Ьп означает п повторений символа Ь. Другими словами, с помощью G можно
469
создавать скелеты структур типа гаечных ключей произвольной длины в пределах разрешения, определяемого длиной простейшего элемента Ь.
Применение семантик. В рассмотренном выше примере мы неявно предполагали, что взаимосвязь между простейшими элементами устанавливается только в точках, показанных на рис. 8.55,6. В более сложных ситуациях правила, устанавливающие связи между элементами, а также другая информация относительно таких особенностей, как длина и направление простейших элементов, число применений правил, должна быть представлена в явном виде. Обычно это делается с помощью семантик. Как правило, синтаксис определяет структуру объекта или выражения, а семантика передает ее смысл. Например, предложение на Фортране А = В/С синтаксически правильно, но семантически корректно, только если С =/= 0. Для более ясного понимания этих понятий введем семантическую информацию для рассмотренной выше грамматики, предназначенной для описания формы гаечных ключей. Эту информацию вместе с производящими правилами представим следующим образом:
Производящие правила
Семантическая информация
S -> аА
А->ЬА
А->ЬВ
В-> с
Связь с а можно осуществить только в месте, помеченном точкой. Направление а, которое обозначается 9, определяется направлением перпендикуляра, опущенного на линию, соединяющую концы двух отрезков, не помеченных точками. Длина каждого отрезка равна 3 см
Связь с b осуществляется только в местах, помеченных точками. Многократные связи недопустимы. Направление b совпадает с направлением а, и длина Ь равна 0,25 см. Это производящее правило можно применять не более 10 раз
Направления а и & должны совпадать. Связи должны быть простыми и осуществляться только в местах, помеченных точками Направления с и а должны совпадать. Связи должны быть простыми и осуществляться в местах, помеченных точками
Отметим, что, используя синтаксическую информацию, можно применить несколько синтаксических правил для описания относительно широкого класса моделей. Например, определив направление 0, мы сможем не определять простейшие элементы для каждой возможной ориентации объекта. Аналогично, требуя, чтобы все простейшие элементы имели одинаковое направление, мы исключаем из рассмотрения структуры гаечных ключей, лишенные физического смысла.
Распознавание. До сих пор мы рассматривали грамматики как генераторы моделей образов. Ниже мы рассмотрим задачу распознавания, если дана цепочка, описывающая модель. При
470
этом будем предполагать, что цепочка относится к языку L(G)T созданному грамматикой G. Основные понятия, лежащие в основе синтаксического распознавания, можно проиллюстрировать математическими моделями вычислительных машин, называемых автоматами. Если на вход такого автомата подается цепочка, описывающая модель, то он способен распознать, относится ли эта модель к определенному языку или классу. Мы рассмотрим только конечные автоматы, которые распознают языки, создаваемые регулярными грамматиками.	_______________
Конечный автомат опреде- /К\ ляется как пятерка	90 //	(	41 I
A-(Q, Е, 6, q0, F), (8.5-11)
где Q — конечное непустое \	!
множество состояний, S — ко- \	\	/	/
нечный входной алфавит, А \ / /ь функция перехода 6 устанав-	/
ливает соответствие между	'у
множеством QXS (набором	(	«г- )
упорядоченных пар, образован-	V )
ных из элементов Q и 2) и на-	А.—-А
бором из всех подмножеств Q, Рис. 8.56. Конечный автомат. г/0—начальное состояние и F
(подмножество из Q)—множество конечных или допустимых состояний. Эту терминологию и обозначения, связанные с выражением (8.5-11), поясним на простом примере.
Пример. Рассмотрим автомат, заданный выражением (8.5-11), где Q = {q0, qt, q2}, Е = {«> ^}, Е=={<70} и функция переходов состояния определяется выражением 6= (<?о, а) = {q2}, 6(<7о, b)={qi}, 6(<7(, a)={q2}, 6(7,, b) = {q0}, t>(q2, a) = {q0}, i>(q2, b) — {q{}. Если, например, автомат находится в состоянии q0 и на входе его символ а, то он перейдет в состояние q2. Аналогично, если после символа а на входе появляется символ Ь, автомат перейдет в состояние q\ и т. д. Отметим, что в этом случае начальное и конечное состояния одно и то же.
Диаграмма состояний для рассмотренного выше автомата приведена на рис. 8.56. На этой диаграмме каждое состояние обозначено вершиной, а направленные дуги указывают возможные переходы между состояниями. Конечное состояние обозначено двойной окружностью, и каждая дуга помечена символом, который вызывает этот переход. О цепочке w терминальных символов говорится, что она принимается или распознается автоматом, если, начиная из состояния qo, последовательность символов в w переводит автомат в конечное состояние, после того как на его входе был принят последний символ из w. На
471
пример, автомат, приведенный на рис. 8.56, распознает цепочку w = abbabb, но отбрасывает цепочку w =** aabab.
Между регулярными грамматиками и конечным автоматом имеется взаимно-однозначное соответствие, т. е. язык распознается конечным автоматом тогда и только тогда, когда он порождается регулярной грамматикой. Процедура получения автомата, соответствующего данной регулярной грамматике, довольно проста. Пусть имеется грамматика G = (M, Р, Хо), где л0 = S, и предположим, что в N входят Хо и п нетерминальных символов Xi, Х2, ..., Хп. Множество состояний Q для автомата образуется в результате введения п + 2 состояний {q0, Qi, ... ..., qn, Qn+i}, таких, что q, соответствует Xt для 0 i п и <7„+1 является конечным состоянием. Множество входных символов идентично множеству терминальных символов в G. Функция перехода б определяется двумя правилами, основанными на правилах из G. Для каждого I и /, 0 I п, 0 j п:
1. Если Xi-i-аХ/ находится в Р, то 6(q,, а) содержит q,.
2. Если Si-»-а находится в Р, то 6(q,, а) содержит qn+i.
Если же задан конечный автомат А == (Q, S, о, qo, F), то в соответствующей ему регулярной грамматике О = (У, S, Р, Хо) величина N является множеством состояний Q с начальным символом Хо, соответствующим qo, а производящие правила G получаются следующим образом:
1. Если Q/ находится в 6(q,, а), то в Р имеется производящее правило Xi->aXj.
2. Если состояние из F находится в 6(q,, а), то в Р имеется производящее правило
Пример. Конечный автомат, соответствующий приведенной выше грамматике, для описания моделей гаечных ключей можно построить, записав производящие правила следующим образом: Ха-*-аХ\, X\-*~bXx, X,ЬХ2, Х2 с. Тогда согласно изложенному выше, мы имеем А = (Q, Е, 6, q0, F), где Q = = {q0, Qi, Q2, Q3}, E = {a, b, c}, F= {q3}, и соответствие, устанавливаемое функцией переходов состояния 6(q0, а} = {q,}, 6(Qi, b)= {qb q2}, (q2,c)= {q3}. Для полноты можно записать 6(q0, b)= 6(q0, c) = 6(qi, a) = 6(Qi, c)=6(q2, a)=b(q2, Ь) = ф, где ф — пустое множество, указывающее, что для данного автомата такие переходы не определены.
Грамматики более высокой размерности. Рассмотренные выше грамматики пригодны для приложений, где связь между простейшими элементами удобно выражать цепочками. Ниже мы рассмотрим два примера грамматик, способных описывать более общие связи между простейшими элементами и частями моделей.
Древовидная грамматика определяется как пятерка
G = QV, Е> Р, г, S),	(8.5-12)
472
где N и S — соответственно множества терминальных и нетерминальных символов; S — начальный символ, который в общем случае может быть деревом; Р — набор производящих правил вида Ti-*-Tj, где Ti и Т, являются деревьями; г — функция ранжирования, которая указывает число прямых потомков вершины, помеченной терминальным символом грамматики. Расши-
ренная древовидная грамматика имеет производящие правила вида
А->а
I I
Л1 ...
где Л, Л1, ..., Ап — нетерминальные символы, и а — терминальный символ.
Пример. Скелет структуры, показанной на рис. 8.57, а, можно создать с помощью древовидной грамматики, имеющей следующие правила:
1) S->a 2) Ar-^b
Л, А
3) Л,->с	4) Л2->(/
I	I
Л2	Л3
5) Л2—>е 6) Л3-*е
X
7) А3—
Рис. 8.57. Объект (а) и простейшие элементы, использованные для представления скелета с помощью древовидной грамматики (б).
где между простейшими элементами из прямых линий устанавливаются связи типа «начало одного с концом другого», а для простейшего элемента в виде окружности связи могут быть установлены в любом месте этой окружности. В этом случае функция ранжирования имеет следующий вид: г(а) = {0, 1}, r(b)= r(d)== r(e)= {1}, г(с)={2}. Отметим, что ограничение, состоящее в том, чтобы правила 2, 4 и 6 были применены одинаковое число раз, приведет к структуре, у которой все три ветви будут иметь одинаковую длину. Аналогично, требование, чтобы правила 4 и 6 были применены одинаковое число раз,
473
приведет к структуре, симметричной относительно вертикальной оси фигуры, изображенной на рис. 8.57, а.
В заключение рассмотрим кратко грамматику, предложенную в работе [95] для построения трехмерных объектов, состоящих из кубических структур. Как и выше, основным моментом
Рис. 8.58. Простейшие элементы в виде вершин [95].
при создании объекта с помощью синтаксических методов является подробное описание набора простейших элементов и их взаимосвязей. В этом случае простейшими элементами являются вершины, показанные на рис. 8.58. В зависимости от
Рис. 8.59. Классификация вершин типа Т.
локальной информации вершина типа Т может быть либо вершиной Т\, либо 73. Если вершина Т содержится среди вершйн параллелограмма, она относится к типу Т3, в противном случае она относится к вершине Т\. Эта классификация приведена на рис. 8.59.
Грамматические правила заключаются в описании взаимосвязей между структурами (рис. 8.60). Вершины, обозначенные
474
475
Рис. 8.60. Правила, используемые для генерации трехмерных структур. Пу-«тые круги означают, что допустимо несколько типов вершин [95].
476
двойными окружностями, обозначают центральные вершины конечного куба объекта, откуда можно осуществлять дальнейшие связи. Это иллюстрируется рис. 8.61, на котором показан
Рис. 8.61. Построение модели с помощью правил, приведенных на рис. 8.60 (95].
типичный вывод, использующий правила, приведенные на рис. 8.60. На рис. 8.62 приводятся виды структур, которые могут быть построены с помощью этих правил.
8.6. ИНТЕРПРЕТАЦИЯ
В этом разделе мы рассматриваем интерпретацию как процесс, который позволяет системе технического зрения приобрести более глубокие знания об окружающей среде по сравнению со знаниями, полученными с помощью методов, изложенных выше. Рассматриваемая с этой точки зрения интерпретация охватывает данные методы как неотъемлемую часть процесса
477
478
понимания зрительной сцены. Хотя в области технического зрения она и является объектом активных исследований, достижения пока весьма незначительны. Ниже мы кратко рассмотрим проблемы, представляющие современные исследования в этой области технического зрения.
Мощность системы технического зрения определяется ее способностью выделять из сцены значимую информацию при различных условиях наблюдения и использовании минимальных знаний об объектах сцены. По ряду причин (неравномерное освещение, наличие тел, загораживающих объекты, геометрия наблюдения) этот тип обработки представляет трудную задачу. В разд. 7.3 много внимания уделено методам уменьшения разброса в интенсивности. Способы обратного и структурированного освещения, рассмотренные в разд. 7.3, позволяют устранить трудности, связанные с произвольным освещением рабочего пространства. К этим трудностям относятся теневые эффекты, усложняющие процесс определения контуров, и неоднородности на гладких поверхностях. Это часто приводит к тому, что они распознаются как отдельные объекты. Очевидно, многие из этих проблем обусловлены тем, что относительно мало известно о моделировании свойств освещения и отражения трехмерных сцен. Методы разметки линий и соединений, изложенные в разд. 8.4, представляют собой некоторые попытки в этом направлении, но они не в состоянии количественно объяснить эффекты взаимодействия освещения и отражения. Более перспективный подход основан на математических моделях, описывающих наиболее важные связи между освещением, отражением и характеристиками поверхности, такими, как ориентация [124, 142, 189].
Проблема загораживания одних объектов другими имеет место, когда рассматривается большое число объектов в реальном рабочем пространстве. Например, рассмотрим сцену, показанную на рис. 8.63, а. Человек без труда определил бы, что за втулками находятся два гаечных ключа. Однако для машины интерпретация этой сцены происходит совершенно по-другому. Даже если бы система была способна идеально выделить группу объектов из фона, то все ранее рассмотренные двумерные процедуры описания и распознавания дали бы плохой результат для большинства загороженных объектов. Применение трехмерных дескрипторов, рассмотренных в разделе 8.4, было бы более успешным, но даже они дали бы неполную информацию. Например, некоторые из втулок оказались бы частично цилиндрическими поверхностями и средний гаечный ключ был бы представлен двумя отдельными объектами.
Для обработки таких сцен, какая показана на рис. 8.63, а требуются описания, которые должны содержать информацию о формах и объемах объектов, а также процедуры для установ-
479
8.63. Два вида одной трехмерной сцены.
480
ления связей между этими описаниями, даже когда они не являются полными. Несомненно, эти проблемы будут решены только путем разработки методов, позволяющих обрабатывать трехмерную информацию (полученную либо в результате непосредственных измерений, либо с помощью геометрических методов вывода) и устанавливать (необязательно количественно) трехмерные связи на основе информации об интенсивности образа.
В качестве примера читатель может дать подробную интерпретацию объектов, приведенных на рис. 8.63, а, за исключением объекта, загороженного отверткой. Знание о том, в каких случаях интерпретация сцены или части сцены является невозможной, так же важно, как и правильный анализ сцены. Просмотр сцены из различных точек (рис. 8.63,6) решил бы эту проблему и был бы естественной реакцией интеллектуального наблюдателя.
В этом направлении одним из наиболее перспективных подходов являются исследования в области технического зрения, основанного на моделях [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
Упражнения
8.1.	I) Разработайте общую процедуру для получения нормального представления линии, заданной уравнением у = ах + Ь. 2) Найдите нормальное представление линии у = —2х + 1.
8.2.	1) Наложите на рис. 8.7 все возможные контуры, задаваемые с помощью графа, приведенного на рис. 8.8. 2) Определите стоимость пути минимальной стоимости.
8.3.	Найдите контур, соответствующий пути минимальной стоимости для подобраза, приведенного на рис. 8.64, где цифры в скобках указывают ин-
0	12
О ’
'	(2) (1) (0)
J .	,	.	Рис.	8.64.
(1)	(1) (7)
2 * (0 (8) (2)
тенсивность. Предположите, что контур начинается на первом столбце и заканчивается на последнем.
8.4.	Предполагая, что образ имеет распределение интенсивности, показанное на рис. 8.65, где pi(z) соответствует интенсивности объектов, а ра(г)—интенсивности фона, найдите оптимальный порог между пикселами объекта и фона при условии что, Pi = Pz.
Рис. 8.65.	Рис. 8.66.
8.5.	Сегментируйте образ, приведенный на рис. 8.66, используя процедуру разбиения и объединения, рассмотренную в разд. 8.2.3. Пусть P(Rt) =ИСТИ-НА, если все пикселы в R, имеют одну и ту же интенсивность. Постройте квадродерево, соответствующее вашей процедуре сегментации.
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) Покажите, что если каждый элемент соответствует граничному пикселу, то максимальная ошибка для этого элемента будет ^2d где d— расстояние между пикселами (для данной решетки).
8.11.	1) Каким бы был результирующий многоугольник, если в методе объединения, рассмотренном в разд. 8.3 1, положить ошибку, равной нулю. 2) Каким был бы в этом случае результат применения метода разбиения?
8.12.	1) Чему равен порядок индекса формы для каждой из фигур, приведенных на рис. 8.67. 2) Найдите индекс формы для четвертой фигуры.
8.13.	Вычислите среднее значение и дисперсию для 4-уровневого образа, имеющего гистограмму p(zi) =0,1, p(z2) = 0,4, р(гз) =0,3, р(г4) =0,2. Предположите, что Zi = 0, Zj = 1, гз = 2 и Zi = 3.
8.14.	Для образа размерностью 5X5, составленного из 1 и 0, меняющихся в шахматном порядке, составьте матрицу вероятностей совместного появления уровней интенсивности, если 1) Р определяется как «один пиксел справа» и 2) «два пиксела справа». Предположите, что верхний левый пиксел имеет значение 0.
8.15.	Рассмотрите образ, который состоит из белых и черных квадратов размером m X tn, расположенных в виде шахматной доски. Найдите оператор положения, который дал бы диагональную матрицу вероятностей совместного появления уровней освещенности.
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) равно нулю только тогда, когда Ci и Сг являются идентичными цепочками.
Глава 9:
ЯЗЫКИ ПРОГРАММИРОВАНИЯ РОБОТОВ
Одна и та же физическая реальность не приводит различных наблюдателей к построению одинаковой картины мира, если они говорят на языках, между которыми не установлено соответствие.
Бенджамин Л. Ворф
9.1.	ВВЕДЕНИЕ
В предыдущих главах обсуждались вопросы кинематики, динамики, управления, планирования траекторий, очувствления и зрения для манипуляторов, управляемых ЭВМ. Алгоритмы, предназначенные для выполнения этих задач, обычно реализуются в виде управляющих программных модулей. Основная трудность использования манипуляторов в качестве универсальных сборочных машин заключается в том, что пока не создана эффективная связь между пользователем и робототехнической системой, которая необходима для того, чтобы пользователь мог управлять манипулятором при выполнении задачи.
Основными средствами реализации связи между пользователем и роботом являются: распознавание отдельных слов, обучение с последующим воспроизведением роботом рабочей программы, а также языки программирования высокого уровня.
Современные системы распознавания речи весьма примитивны и обычно зависят от говорящего. Они могут распознавать ряд отдельных слов из ограниченного словаря и обычно требуют, чтобы слова отделялись друг от друга паузой. Хотя сейчас можно распознавать отдельные слова в реальном времени благодаря быстродействующим вычислительным средствам и эффективным алгоритмам обработки, однако способность распознавания отдельных слов для описания задачи робота довольно ограничена. Более того, распознавание речи обычно требует большого объема оперативной памяти или вторичной памяти (на внешних запоминающих устройствах) для хранения речевых данных, что в свою очередь требует дополнительного времени для обучения построению эталонов речи, необходимых при распознавании.
Обучение с целью последующего воспроизведения роботом рабочей программы, известное также как «программирование обучением», является наиболее распространенным методом управления современными промышленными роботами. По этому
486
методу робот «обучается» тем движениям, которые затем выполняет в автоматическом режиме. Программирование обучением выполняется за несколько шагов: 1) ведение робота в медленном режиме при ручном управлении для выполнения технологической операции и запись углов между звеньями робота в соответствующих положениях с целью повторного воспроизведения движения; 2) корректировка и воспроизведение обучающего движения; 3) если обучающее движение правильно, робот запускается в работу на соответствующей скорости для выполнения повторяющихся операций.
При ведении робота в режиме обучения обычно можно использовать ручной привод, пульт независимого управления или специальную систему с кнопочной клавиатурой отслеживания принудительного движения робота. В настоящее время для обучения наиболее часто употребляется ручной пульт с кнопочной клавиатурой. В этом случае пользователь ведет робот вручную в пространстве и нажимает на соответствующую кнопку, чтобы записать любое желаемое угловое положение манипулятора. Угловые положения записываются в память ЭВМ в виде ряда точек траектории, через которые проходит манипулятор. Затем по этим точкам численными методами производится интерполяция, и робот воспроизводит программный режим вдоль сглаженной траектории. В режиме корректировки программного движения пользователь может произвести коррекцию записанных угловых положений и удостовериться, что робот не столкнется с препятствиями во время выполнения задачи. В рабочем режиме робот будет выполнять рабочие циклы по откорректированной и сглаженной траектории. При изменении условий задачи повторяются названные выше шаги. Преимущества этого метода заключаются в простоте обучения и в относительно малом объеме памяти ЭВМ, требуемом для записи угловых положений звеньев робота. Основной недостаток — трудность использования этого метода для включения информации с датчиков обратной связи в систему управления.
Языки программирования высокого уровня дают более общий подход к решению проблемы связи человек — робот. За прошедшее десятилетие роботы были успешно применены в таких областях, как дуговая сварка и окраска, причем в обоих случаях, как правило, используется программирование обучением [71]. Эти задачи не требуют взаимодействия между роботом и окружающей средой и могут быть легко запрограммированы. Однако применение роботов для реализации задач сборки требует методов программирования на языках высокого уровня, так как сборочный робот обычно имеет сенсорную обратную связь, и этот тип нестандартного взаимодействия робота с окружающей средой может быть осуществлен только программными методами.	. ...
487
Программирование робота существенно отличается от традиционного программирования. Г1ри выборе метода программирования робота необходимо иметь в виду следующие соображения: объекты, которыми манипулирует робот, являются трехмерными и имеют набор физических свойств; роботы функционируют в пространственно-сложной среде; описание и представление трехмерных объектов в ЭВМ — неточное; информация
IX
Рис. 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 повлиял на создание многих роботоориентированных языков и до сих пор активно развивается.
11 Символ подчеркивания обычно используется в языках программирования для обеспечения соответствия в названиях переменных.
489
Он обладает широким набором команд для удовлетворения требованиям программирования робота и также свойствами языка программирования высокого уровня. Язык AML в настоящее время предназначен для управления роботами фирмы IBM. A ML построен на иных принципах, чем 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, 0)));
- Деталь = ((508, 381, 0), EULERROT ((0, 0, 90)));
Загрузочное устройство — ((635, 508, 0), EULERROT ((0, 0, 0)));
Примечание. EULERROT — подпрограмма, формирующая матрицу вращения, которая дает требуемые значения углов.
Язык AL позволяет формировать структуры данных декартовых систем координат | FRAME|, матриц вращения |/?О7'| и векторов | VECTOR\. С другой стороны, язык AML предусматривает обобщенную структуру, называемую агрегатом, которая позволяет пользователю конструировать свои собственные структуры данных. В табл. 9.2 приведена структура данных для представления декартовой системы координат, имеющая формат (вектор, матрица). В этой структуре данных вектор положения робота является агрегатом, состоящим из трех скаляров, а матрица представляет собой агрегат из трех векторов ориентации.
491
Рассмотрим более подробно обозначения в табл. 9.2. Первый ДЬ-оператор описывает систему координат робота, главные оси которой (nilrot обозначает отсутствие вращения) параллельны осям неподвижной системы координат. Начало системы координат, связанной с роботом, смещено на расстояние (508, 0, 381) мм от начала неподвижной системы координат. Второй AL-оператор описывает систему координат, связанную с деталью, главные оси которой повернуты на 90° вокруг оси Z относительно неподвижной системы координат. Начало координат расположено на расстоянии (508, 0, 381) мм от начала неподвижной системы координат. Третий оператор имеет то же значение, что-и первый, за исключением расположения. Смысл трех операторов на языке AML тот же, что для операторов на языке AL. Таким образом в этих языках положение в пространстве определяется с помощью фрейма, ориентированного относительно базового фрейма.
Преимущество использования матрицы однородного преобразования состоит в том, что фреймы, определенные относительно базового, могут быть получены путем умножения матрицы преобразования на базовый фрейм. В табл. 9.3 приводится сравнение операторов на языках AL и AML, которые используются для определения систем координат и отношений болт_головка болта, болт-схват и деталь_отверстие (рис. 9.1). Для описания матриц преобразования язык AL предусматривает оператор умножения матриц и структуру данных ТДЛЛД-преобразование, которое состоит из операций вращения и перемещения. Язык
Таблица 9.3. Описание основных систем координат на языках AL и AML
На языке AJ-:	
T6-<-po6oT*TRANS ((ROT, 180*град), VECTOR(381,0, 0)*мм);
E«-T6*TRANS (nilrot, VECTOR(0, 0, 127)*мм);
болт-головка болта ч- загрузочное pcrpo£(CTeo*TRANS(nilrot, nilvect) болт-схват-^- болт-головка 6<Mra*TRANS (nilrot, VECTOR(0, 0, 25.4) *мм); деталь-отверстие <- 5eTa?ib*TRANS (nilrot, VECTOR (0, 30.8, 76.2) *мм);
Примечание. Nilvect — предварительно определенный вектор, имеющий значение VECTOR(0, 0, 0)*мм.
На языке AML:
T6 = DOT(po6or, <381,0, 0>. EULERROT(< 180, 0. 0>) >);
E = DOT(T6, <0,0, 127>, EULERrOT(<0, 0, 0>) >);
болт-головка болта = DOT (загрузочное устройство. СО,0.ОЛ>.
EULERROT(<0, 0, 0>)>);
болт-схват= DOT (болт, головка болта СО, 0, 25.4>,
EULERROT(<0, 0, 0>)>);
деталь-отверстие = DOT (деталь, <0, 50.8, 76.2>,
EULERROT(<0, 0, 0» >);
Примечание. DOT — подпрограмма перемножения двух матриц
492
AML не имеет встроенного оператора матричного умножения, но оснащен системной подпрограммой DOT.
Рассмотрим более подробно обозначения в табл. 9.3. Первый AL-оператор описывает систему координат Тб, главные оси которой повернуты на 180° относительно оси X системы координат, связанной с роботом. Начало системы координат Тб расположено на расстоянии (381, 0, 0) мм от начала системы координат, связанной с роботом. Второй оператор описывает систему координат Е, главные оси которой параллельны (nilrot обозначает отсутствие вращения) главным осям системы координат Тб, а начало расположено на расстоянии (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. Определение движения
Наиболее общей операцией в роботизированной сборке является операция типа «взять и установить». Она включает дви-
Неподвижная система координат
Неподвижная система		Система координат, связанная с деталью 1
	координат	
Направление захвата Система		1	1 Система Направление захвата
болта	координат,	координат, болта
	связанная	связанная
	с деталью	с отверстием
	|	детали
Система	координат, Система	Система координат,
связанная	с голоакой координат,	связанная с головкой
болта	связанная	: 	болта
	с отверстием	
	детали	
Система	координат,	1 Система координат,
связанная	со схватом	связанная со схватом
(Е)		(Е)	।
Система	координат,	Система координат,
связанная	с сочлене-	связанная с сочлене-
нием (Те)		нием (Т6)
Система	координат,	Система координат,
Связанная	корпусом	• 	 связанная с корпусом
Неподвижная система		Неподвижная система
координат		координат
О		б
Рис. 9.2. Связи между фреймами.
жение робота от начального положения к положению схватывания, захват объекта и движение в конечное положение. Движение обычно определяется как последовательность промежуточных положений, которые должен достигнуть робот. Однако определения только начального и конечного положения не достаточно.
494
Вначале управляющая система планирует траекторию движения робота без учета расположения объектов в рабочем пространстве и возможных препятствий на планируемой траектории. Для того чтобы управляющая система могла генерировать траекторию, свободную от столкновений с препятствиями, программист должен задавать достаточно часто промежуточные точки траектории. Например, как показано на рис. 9.3, если
Рис. 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 >);
Примечание: Выражения в кавычках " .. . " являются комментариями.
К недостаткам этого типа описания относится то, что программист должен предварительно спланировать все движения робота, чтобы выбрать промежуточные точки. В результате робот может совершать лишние движения по траектории. Более того, описание сложной траектории как последовательности точек приводит к неоправданно длинной программе.
При движении руки робота из начального положения в конечное имеются физические ограничения, например такие, как места закрепления звеньев, которые требуют, чтобы рука шла вдоль оси. Кроме того, имеются ограничения на движение робота в рабочем пространстве, связанные с расположением объектов. В обоих случаях это может препятствовать требуемому движению робота.
Для обеспечения безопасного движения программист должен управлять такими параметрами, как скорость, ускорение, замедление, направление движения. Обычно эти параметры рассматриваются как ограничения, которым должно удовлетворять программное движение. Язык ЛБ оснащен ключевым словом WITH, с помощью которого к командам движения робота присоединяются операторы ограничения. В табл. 9.5 приведены команды движения робота из состояния «болт-схват к точке А
496
Таблица 9.6. Примеры описания движения руки робота иа языках AL и AML
На языке AL:
{Перемещать руку от системы координат болт-схват к системе координат А} MOVE barm ТО А
WITH DEPARTURE = Z WRT загрузочное устройство
WITH DURATION = 5*с.;
{открыть схват на 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);
с направлением начала движения вдоль положительного направления оси +2 загрузочного устройства и временной длительностью 5 с, т. е. медленное движение. В языке AML агрегаты типа (скорость, ускорение, замедление) могут быть добавлены к команде MOVE, чтобы определить скорость, ускорение и замедление робота.
Обычно движения схвата должны рассчитываться в зависимости от поставленной задачи и окружающих условий зоны рабочего пространства. В большинстве языков предусмотрены простые команды движений схвата, из которых строятся сложные движения. Для двупалого схвата могут быть предусмотрены команды «открыть» (разжатие пальцев) или «закрыть» (сжатие пальцев). Оба языка AL и АМЕ используют предварительно определенные переменные для обозначения схвата (в AL — bhand, в AML—GRIPPER). Используя команду OPEN (в AL) и MOVE (в AML), можно запрограммировать требуемое раскрытие схвата (табл. 9.5).
9.2.3.	Очувствление и управление
Расположение и размеры объектов в рабочем пространстве, как правило, определяются только с некоторой степенью точности. Чтобы робот выполнял задачи при наличии этих ограничений, должно быть реализовано очувствление. Информация, собранная с датчиков очувствления, также действует как обратная связь с рабочим пространством, что помогает роботу исследо-
497
п
вать и проверять состояние сборки. Очувствление в программировании робота условно делится на 3 типа:
1.	Позиционное очувствление. Применяется для определения текущего положения робота. Оно обычно дается кодировщиками, чтобы измерять углы в сочленениях и вычислять соответствующее положение руки робота в рабочем пространстве.
2.	Силовое и тактильное очувствление. Применяется для определения наличия объектов в рабочем пространстве.	t
Силовое очувствление используется при управлении упругой податливостью, чтобы обеспечить обратную связь в управлении движением по силе, а тактильное очувствление — для определения проскальзывания во время схватывания объекта.
3.	Системы технического зрения. Применяются для идентификации объектов и грубой оценки их положения.	(
На сегодняшний день нет общего соглашения, как строить команды очувствления, и каждый язык программирования роботов имеет свой собственный синтаксис. AL снабжен командами типа FORCE (ось) и TORQUE (ось) для силового очувствления, определяемых в командах управления как условия.	t
Например: FORCE (Z) > 0,84 * * Н. AML оснащен оператором MONITOR, который вводится в команды управления для определения асинхронных событий. Программист может ввести в программу описание датчиков и управлять движением робота, используя информацию от датчиков (табл. 9.6). Также имеются
Таблица 9.6. Силовое очувствление и податливое движение	г
На языке AL:
{Тест на определение отверстия с помощью силового очувствления}
MOVE barm ТО ® — 25,4*Z*mm ON FORCE(Z) <2,8*Н
DO ABORT ("NO HOLE");	.1
 r	v
{Установить болт, действуя силой вниз, пока нет сопротивления) ;;-
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], mofmons — 1,	
в противном случае 0:	(
fmons — MONITOR(<SLP, SRP>, 1,0, F);
• Переместить сочленение 3 на 25,4 мм и остановить, если fmons = 1.
DMOVE (<3>, <1>, fmons);
Примечание. Синтаксис команды управления:
MONITOR (датчики, тип теста, 1-й предел, 2-й предел)
_____________________________________________________________
49S	I
операторы типа 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)*мм);
{Определение основных фреймов}
болт-схват «- загрузочное ycTpoucTeo*TRANS (nilrot, nilvect);
болт-головка болта *- 6o^T-cx6ar*TRANS (nilrot, VECTOR(6, 0, 12,7)*мм);
деталь-отверстие	детал6*TRANS (nilrot, VECTOR (0, 0, 25,4) *мм);
{Определение фреймов для промежуточных точек траектории}
А загрузочное ycrponcrsosTRANS (nilrot, VECTOR (0,0, 127) *мм);
В ч- загрузочное устройство*Т%А№ (nilrot, VECTOR (0, 0, 203,2) *мм);
С «- деталь-OTdepcTuetTRANS (nilrot, VECTOR(0,0, 127) *мм);
D деталь-oreepcTuetTRANS (nilrot, болт-высота*2);	;>
{Открытие схвата}	IV
OPEN bhand ТО болт-диаметр+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 ТО В
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*H
WITH FORCE(Y)=0*H
WITH DURATON=5*lc;
END установка болта	’	,
500
печением для пользователя. Сложные программы для робота трудны как для разработки, так и для отладки. Более того, программирование робота накладывает следующие дополнительные требования на средства разработки и отладки программ:
1.	Модификация on-line и непосредственный повторный запуск. Поскольку задачи робота требуют сложных движений и длительного времени выполнения, то не всегда можно вновь запустить программу в случае аварийного останова. Система программирования робота должна иметь возможность модификации программ в режиме on-line и воспроизводить повторный запуск в любое время.
2.	Выходные сигналы с датчиков и программные траектории. Взаимодействие в реальном времени между роботом и окружающей средой не всегда воспроизводимо. Поэтому отладчик должен быть способен записывать значения сигналов с датчиков вдоль всей программной траектории.
3.	Моделирование. Это свойство позволяет тестировать программы без физической реализации робота и рабочего пространства. Следовательно, различные программы будут отлаживаться с большей эффективностью.
Читатель должен понять, что программирование на роботоориентированном языке утомительно и громоздко. Это иллюстрируется следующим примером.
Пример. В табл. 9.7 приводится программа на языке AL для выполнения операции установки болта в отверстие (рис. 9.1). Необходимые разъяснения даны в предыдущих разделах. Примите во внимание, что предложение на языке AL не считается завершенным до тех пор, пока не встретится точка с запятой.
9.3.	ХАРАКТЕРИСТИКИ
ПРОБЛЕМНО-ОРИЕНТИРОВАННЫХ ЯЗЫКОВ
Совершенно другой подход к программированию роботов применяется при использовании проблемно-ориентированных языков. В задачах сборки более естественно описывать не движения робота, а объекты, которыми робот манипулирует. Этот факт лежит в основе программирования на проблемно-ориентированных языках, применение которых упрощает задачу сборки.
Система программирования на уровне задачи позволяет пользователю описать задачу на языке высокого уровня (описание задачи). Затем планировщик задачи будет обращаться к базе данных (моделям рабочего пространства) и преобразовывать описание задачи в программу на уровне робота (синтез программы для робота), которая и будет управлять ходом выполнения задачи сборки.
501
Основываясь на этом описании, можно мысленно разделить планирование задачи на три этапа: моделирование рабочего пространства, описание задачи и синтез программы. Следует отметить, что эти три этапа не являются полностью независимыми; фактически они связаны между собой на уровне вычислений.
С помощью декомпозировщика исходное описание задачи раскладывается на последовательность подзадач и выделяется такая информация, как первоначальное и исходное состояния, (
Знания
Описание задач
Модели
Рис. 9.4. Планировщик задач.
положения схватывания, связи закрепления. Затем подзадачи поступают на планировщик подзадач, который генерирует требуемую программу для управления движением робота (рис. 9.4). Концепция планирования задачи до некоторой степени подобна идее автоматического создания программ в системе искусственного интеллекта. Пользователь задает требования на вход и выход желаемой программы, после чего генератор программы создает программу, удовлетворяющую требованиям пользователя на вход и выход [13]. Программирование на уровне задачи, подобное автоматической генерации программ, находится на стадии исследования, и многие вопросы до сих пор остаются нерешенными. В последующих разделах мы обсудим проблемы, возникающие при планировании задачи, и возможные пути их решения.
о Под декомпозировщиком подразумевается программный модуль, пред-назначенный для разбиения исходной задачи на подзадачи. — ПриМ. Лерев.
502
9.3.1.	Моделирование рабочего пространства
Для описания геометрических и физических свойств объектов, в том числе робота и представления процесса сборки в рабочем пространстве, проводится предварительное моделирование.
Геометрические и физические модели. Для того чтобы планировщик мог генерировать программу, предназначенную для выполнения роботом данной задачи, он должен иметь информацию об объектах и самом роботе. Она содержит геометрические и физические свойства объектов, которые представляются соответствующими моделями. Геометрическая модель дает информацию о размерах, объемах и формах объектов в рабочем пространстве. Как уже говорилось в гл. 8, для моделирования трехмерных объектов разработаны соответствующие численные методы [8, 245]. Для создания моделей объектов обычно применяется подход, называемый «пространственная геометрия воспроизведения объектов». При этом модели объектов рабочего пространства с помощью набора упорядоченных операций типа объединения и пересечения представляются в виде совокупности элементарных объектов, таких, как куб, цилиндр и т. д. Элементарные объекты можно реализовать различными способами, например:
1)	набором контуров;
2)	набором поверхностей;
3)	телами вращения;
4)	сеточной структурой.
В системе AUTOPASS [171] объекты моделируются с помощью процессора геометрического конструирования (ПГК) [306], в котором реализованы определенные процедуры для описания объектов. Основная идея состоит в том, что каждому объекту соответствует название процедуры и ряд параметров. Внутри такой процедуры форма объекта устанавливается с помощью обращений к другим процедурам, представляющим различные объекты, или к допустимым операциям. В системе ПГК заложен ряд элементарных объектов: куб, цилиндр, конус, клин, полусфера, пластина и тела вращения. В свою очередь элементарные объекты представляются в виде списка поверхностей, контуров и точек, которые определяются параметрами в соответствующей процедуре. Например, обращение
CALL SOLID (CUBOUD, «Block», xlen, ylen, zlen);
вызовет процедуру SOLID, с помощью которой определяется прямоугольный ящик, называемый Block, с размерами xlen, ylen и zlen. Более сложные объекты можно определить путем обращения к другим процедурам и применением к ним процедуры MERGE. Описание операции установки болта в отверстие, приведенной в разд. 9.2, дано в табл. 9.8.
503
Таблица 9.8. Описание болта иа языке системы ПГК
/*высота стержня*/ /♦высота головки*/
/*радиус стержня*/
/*радиус головки*/
/*число граней стержня*; /*число граней головки*/
Болт: PROCEDURE (стержень _ высота, стержень_радиус, стержень _ головка_высота, головка_радиус, головка_грани);
/♦определение параметров*/ DECLARE стержень-высота головка-высота стержень-радиус головка_радиус стержень-грани головка-грани
/♦описание вышеупомянутых переменных как переменных с плавающей точкой*/ FLOAT:
/♦определение формы стержня*/
CALL SOLID (CYLIND, «стержень», стержень-высота, стержёнь_радиус, стержень-грани);
/♦определение формы головки*/
CALL SOLID(CYLIND, «головка», головка-высота, головка^радиус, голов-* ка-грани);		>
/♦формирование описания болта*/	'
CALL MERGE («стержень», «головка», «объединение»); д
END Болт	I
Примечание. Выражения в /*...*/ являются комментариями.
границ
Физические свойства тела, такие, как инерция, масса и коэффициенты трения, могут ограничивать тип движений, осуществляемых роботом. Эти свойства не требуется хранить в памяти, поскольку они выводятся из модели объекта. Так как ни одна модель не является точной на 100 %, то, следовательно, тождественные части модели и объекта имеют незначительные различия в физических свойствах. Поэтому в модель необходимо вводить допуски [246].
Представление состояний рабочего пространства. Для того чтобы генерировать программу робота, планировщик задач должен быть способен сформулировать все этапы сборки. Каждый этап сборки можно кратко представить текущим состоянием рабочего пространства. Один из путей представления этих состояний заключается в описании взаимодействия всех объектов в рабочем пространстве в каждый момент времени. В языке AL предусмотрен оператор связи AFFIX, который позволяет присоединять фреймы друг к другу. Это эквивалентно физическому присоединению одной детали к другой, и если одна из деталей движется, то присоединенная деталь также будет двигаться.
Язык AL позволяет автоматически изменять расположение систем координат, проводя соответствующие преобразования..
504
Например:
AFFIX деталь-отверстие ТО деталь RIGIDLy-, деталь-отверстие- FRAME(nilrot, VECTORS, О, О)*мм);
означает, что система координат деталь_отверстие присоединяется к системе координат, связанной с деталью.
В системе 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 блок 3~ грань 1)
PLACE блок 3 SO THAT (блок 3~ грань 1 AGAINST стол}
Таблица 9.10. Определение изменения состояний рабочего пространства и команды для описания инструмента в системе AUTOPASS
Определение изменений состояний рабочего пространства
PLACE (объект), <предлог> <схватывание> <конечное состояние) (ограничения) (тогда-держать)
где
(объект) (предлог)
(схватывание) (ограничение) (тогда-держать)
— символическое имя объекта
— либо "IN", либо "ON" используется для определения типа операции
—	определяет способ захвата объекта
—	определяет ограничения
	— указывает, что схват должен оставаться в прежнем положении после завершения команды.
Команды для описания инструмента
OPERATE (инструмент) (загрузить-список) (в положении) (приспособление> (конечное состояние) (инструмент-параметры) (тогда-держать)
где
(инструмент)
(загрузить-список)
(в положении) (приспособление) (конечное-со стояние)
(инструмент-параметры)
(тогда-держать)
— определяет инструмент, который должен быть использован
—определяет список вспомогательных принадлежностей
—	определяет рабочее положение инструмента
—	определяет новое приспособление
— определяет конечное состояние, которое должно быть достигнуто по завершении команды
— определяет рабочие параметры инструмента^ такие, как скорость и направление вращения
— означает, что рука должна оставаться в прежнем положении после завершения команды
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.	Гипотеза и тест. В этом методе выбирается возможная траектория и проверяется на столкновения на ряде выбранных взаимных расположений объектов и робота. Если происходит столкновение, вводится коррекция для обхода препятствий J170]. Основным преимуществом данного метода является его
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
2 Таблица 9.11, а. Сравнение различных языков программирования роботов
to 	 Язык	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	Изменяющийся базис	Паскаль	Фортран, Лисп	Бейсик
Компилятор или интерпретатор	Компилятор	Интерпретатор	Интерпретатор	И то и другое	Интерпретатор
Тип представления данных	Фрейм		Фрейм	Фрейм	Нет	Фрейм
Описание движения	Перемещение, вращение	Фрейм	Сочленения, фрейм	Сочленения	Сочленения, фрейм
Структура управления	if-then-else while-do	if-then-else	Паскаль	Фортран	if-then
Команды очувствления	Положение	Сила	S- ;	Сила, зрение	Положение, зрение	Положение, сила
Параллельная обработка	INPAR -	Нет	Нет	Нет	Семафоры
Многосуставный робот	Да	'	Нет	Нет	Нет	Нет
Литература	[219]	[277]	[8Ц	[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.	Напишите	программу	на	языке АМР для	решения задачи	упр. 9.3.
9.5.	Напишите	программу	на	языке VAL для	решения задачи	упр. 9.3.
9.6.	Напишите	программу	на	языке системы	AUTOPASS для	решения
задачи упр. 9.3.
9.7.	Ханойская башня. Три стержня А, В, С, системы координат которых соответственно (хд, ул, z,4), (хв, у в, zB) и (хс, ус, zc) имеют известные расположения относительно неподвижной системы координат (х0, у0, z0), как показано ниже на рис. 9.6. Первоначально, на штифте А находятся два диска
разных размеров, причем диск меньшего диаметра всегда должен располагаться на диске большего диаметра. Требуется написать программу на языке А/ для управления роботом, оснащенного специальным схватом присоской (для захватывания диска), чтобы двигать два диска от стержня А к стержню С; причем в любой момент времени диск меньшего диаметра должен всегда располагаться на диске большего диаметра. Каждый диск имеет одинаковую толщину 25,4 мм.
9.8.	Напишите программу на языке AML для решения задачи в упр. 9.7,
'	Глава 10.
1 ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ
И ПЛАНИРОВАНИЕ ЗАДАЧ В РОБОТОТЕХНИКЕ
'°	‘	’ То, что воспринято разумом,—не-
”	- зыблемо, а то, что постигается толь-
’	- -	ко чувствами, — всегда зыбко и не-
определенно.
>,	Из «Диалогов» Платона
10.1.	ВВЕДЕНИЕ ' ’	
Одной из основных проблем робототехники является планирование движения для решения поставленной задачи с последующим контролем выполнения роботом команд, необходимых для осуществления этих действий. Под планированием здесь подразумевается принятие решения о ходе действия перед его выполнением.
Действия робота могут быть определены системой планирования действий робота, которая будет искать пути достижения поставленной цели, исходя из некоторой первоначальной ситуации. В этом случае необходим план, представляющий собой последовательность действий робота для достижения цели.
Исследования процесса построения решений задач робототехники привели ко многим идеям относительно системы построения решения задач в области искусственного интеллекта. В обычной постановке задачи мы имеем робот, оснащенный датчиками и способный выполнять элементарные действия в несложном рабочем пространстве. Действия робота преобразуют одно состояние (или конфигурацию) рабочего пространства в другое. Например, в рабочем пространстве несколько объектов могут располагаться на столе или друг на друге, а робот, состоящий из телевизионной камеры, манипулятора и схвата, поднимает или передвигает эти объекты. В некоторых задачах робототехники робот представляет собой подвижную тележку с телевизионной камерой, выполняющую такие операции, как, например, перемещение объектов в рабочем пространстве. В этой главе мы кратко изложим несколько методов принятия решений и их применение к планированию действий робота.
10.2.	ПОИСК В ПРОСТРАНСТВЕ СОСТОЯНИЙ
Один из методов решения задачи состоит в последовательной проверке различных возможных вариантов до тех пор, пока мы случайно не получим желаемое решение. Такая попытка
17*
515
включает поиск типа «проб и ошибок». Для обсуждения методов решения этого типа введем понятие состояний задачи (проблемных состояний) и операторов. Проблемным состоянием, или просто состоянием, является конкретная конфигурация робота. Набор всех возможных конфигураций образует пространство проблемных состояний или пространство состояний. Оператор, применяемый к состоянию, преобразует его в другое состояние. Решение поставленной задачи представляет собой последовательность операторов, которые преобразуют начальное состояние в требуемое конечное состояние.
Пространство состояний, достижимых из начального, удобно представлять в виде графа, вершины которого соответствуют состояниям, а дуги — операторам. Решение задачи можно получить, применяя операторы к начальному состоянию и получая в результате новые состояния. В полученным новым состояниям в свою очередь применяются операторы до тех пор, пока не будет достигнуто целевое состояние. Методы организации такого поиска для определения целевого состояния обычно описываются в терминах теории графов.
10.2.1.	Вводные примеры
Прежде чем приступить к обсуждению методов поиска на графе, рассмотрим кратко несколько базовых примеров, чтобы ознакомить читателя с понятиями, применяемыми в этой главе.
Рабочее пространство из модельных объектов. Будем считать, что рабочее пространство состоит из поверхности Т
Рис. 10.1. Взаимное расположение робота и модельных объектов.
и трех объектов А, В и С. Начальное состояние рабочего пространства следующее: объекты А и В находятся на поверхности, а объект С расположен на верхней грани объекта А (рис. 10.1). Робот должен преобразовать начальное состояние в целевое состояние, в котором объекты расположены друг на друге следующим образом: объект А наверху, объект В в середине и объект С внизу. Робот может использовать единственный оператор MOVE (двигать) X от Y к Z, который перемещает объект X с вершины объекта Y на объект Z. Для применения оператора требуется 1) чтобы перемещаемый объект X
516
был объектом, на вершине которого ничего нет; 2) если Z — объект, на нем ничего не должно быть расположено.
Нетрудно использовать граф вместо рис. 10.1 для описания возможных состояний. Оператор MOVE X от Y к Z имеет вид MOVE (X, Y, Z). Граф поиска в пространстве состояний приведен на рис. 10.2. Если мы устраним в графе штриховые линии (предназначенные для того, чтобы оператор не мог быть использован для выполнения одной и той же операции более одного раза), мы получим дерево поиска в пространстве со-
стояний. Из рис. 10.2 видно, что решение задачи состоит из следующей последовательности операторов: MOVE (С, Л, Т), MOVE(B, Т, С), MOVE(X, Т, В).
Выбор пути. Предположим, что мы хотим перемещать длинный и тонкий объект А через заполненное препятствиями рабочее пространство (рис. 10.3). Для планирования движений объекта, находящегося в схвате робота, мы можем выбрать представление пространства состояний в виде тройки (х, у, а), где х — горизонтальная координата объекта: 1 х 5; у — вертикальная координата объекта: 1 у sC 3; а — ориентация объекта:
(0, если объект А параллелен оси х, (1, если объект А параллелен оси у.
517
Положение и ориентация объекта являются дискретными величинами. Операторы или команды робота следующие:
MOVE в направлении ±х на одну единицу,
Рис. 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.
Для описания состояния воспользуемся списком из 4-х элементов (W, х, У, г), где
W — горизонтальное положение обезьяны;
х = 1 или 0 в зависимости от того, находится обезьяна на вершине ящика или нет соответственно;
У — горизонтальное положение ящика;
Подразумевается, что обезьяной может быть мооильныи робот.
519
z = 1 или 0 в зависимости от того, достала обезьяна бананы или нет соответственно.
Операторы для решения этой задачи — следующие:
1)	goto(?7). Обезьяна двигается к горизонтальному положению U, или в форме производящего правила,
(W, О, У, z)	(U, О, У, г).
Таким образом, состояние (U7, О, У, z) может быть преобразовано в состояние (U, О, У, z) с помощью оператора goto(t7).
Рис. 10.7. Задача «Обезьяна и бананы».
2)	pushbox(V). Обезьяна двигает ящик к горизонтальному положению V, или
ДО, о, W, z)	(V, 0, V, г).
Из левой части производящего правила следует, что оператор pushbox(V) может быть применен, если обезьяна расположена в том же положении W, что и ящик, но не на ящике. Такое условие, наложенное на область применения оператора, называется предусловием (предпосылкой) производящего правила.
3)	climbbox. Обезьяна залезает на ящик, или
(Г, 0, W, z) c“-mb--> (Г, 1, W, z).
Необходимо отметить, что для применения оператора climbbox обезьяна должна быть в том же положении W, что и ящик, но не на ящике.
520
4)	grasp. Обезьяна захватывает бананы, или
arraso
(С, 1, С, 0)	(С, 1, С, 1),
где С — положение на полу непосредственно под бананами. Следует отметить, что для применения оператора grasp обезьяна и ящик должны быть в положении С, причем обезьяна предварительно должна находиться на ящике.
о, в, О)
Начальная вершина
goto (U)
Рнс. 10.8. Представление задачи «Обезьяна н бананы» в виде графа.
Подразумевается, что как область допустимых значений, так и результаты действия операторов описываются с помощью производящих правил. Например, в правиле 2 оператор pushbox(V) применяется только тогда, когда выполнено его предусловие. В результате действия этого оператора обезьяна передвинула ящик в положение V. При такой постановке ряд целевых состояний описывается одним списком, последний элемент которого есть 1.
Пусть начальное состояние (А,0, В, 0). Единственным оператором, который можно применить, является goto(H). Он приводит к следующему состоянию (U, 0, В, 0). Теперь применимы 3 оператора: goto(t/), pushbox(l/) и climbbox (если (J — В). Продолжая применять все возможные операторы к каждому состоянию, мы создадим граф пространства состояний, показан
521
ный на рис. 10.8. Нетрудно видеть, что последовательность операторов, преобразующих начальное состояние в целевое, состоит из goto(B), pushbox (С), 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 упорядочиваются по мере увеличения значения функции оценивания. Связи среди вершин устанавливаются произвольно, но всегда в пользу целевых вершин. Результаты поиска существенно зависят от выбора функции оценивания. Полезный алгоритм наилучшего поиска первого типа, так называемый А*-алгоритм, приводится ниже.
Пусть функция оценивания для любой вершины п имеет следующий вид:
/(«) = £ («) + h (и), где §(«)—мера стоимости прохода от начальной вершины к вершине п, a h (п)—оценка стоимости прохода от вершины п к целевой вершине. Таким образом, f(n) представляет собой оценку стоимости прохода от начальной вершины к целевой вдоль пути, проходящего через вершину п.
А*-алгоритм
Шаг 1. Вначале список OPEN содержит только начальную вершину. Присвоить g значение 0, h — произвольное значение, a f—присвоить значение /г -J-0 или h. Список CLOSED считать пустым.
Шаг 2. До тех пор, пока целевая вершина не будет найдена, повторять следующую процедуру: если в списке OPEN нет ни одной вершины, выдать сообщение об аварийном останове. В противном случае выбрать из OPEN вершину с наименьшим значением f. Присвоить ей имя BESTNODE (наилучшая вершина), удалить из списка OPEN и занести в список CLOSED. Проверить, является ли BESTNODE целевой вершиной. Если да, то выход на останов с сообщением о решении (либо выдать целевую вершину BESTNODE, либо путь между начальной вершиной и целевой вершиной BESTNODE). В противном случае создать вершины — преемники вершине BESTNODE, но не определять указатели между вершиной BESTNODE и вершинами-преемниками. (Сначала необходимо установить, имеются ли среди них ранее созданные вершины.) Для каждой такой вершины, имеющей имя SUCCESSOR (преемник), выполнить следующее:
а)	Установить указатель от вершины SUCCESSOR к BESTNODE. Такие обратные связи дают возможность восстановить путь в случае нахождения решения.
624
б)	Вычислить g (SUCCESSOR = g (BESTNODE) 4-стоимость прохода от BESTNODE к SUCCESSOR.
в)	Проверить, совпадает ли SUCCESSOR с какой-либо вершиной из списка OPEN (т. е. была ли она уже создана, но не обработана). Если да, назовем эту вершину OLD. Поскольку данная вершина уже существует в графе, мы можем отбросить SUCCESSOR и добавить OLD в список преемников BESTNODE. Теперь решим, надо ли определять путь от вершины OLD к BESTNODE. Поскольку OLD и SUCCESSOR по существу являются одной и той же вершиной, надо сравнить их значение g. Если путь к OLD через его предшественника дешевле, чем путь к SUCCESSOR через BESTNODE, то ничего не надо делать. Если путь к вершине SUCCESSOR дешевле, вновь устанавливаем путь от вершины OLD к BESTNODE, присваиваем значению g(OLD) значение, соответствующее более дешевому пути, и вычисляем новое значение /(OLD).
г)	Если вершина SUCCESSOR не входит в список OPEN, проверяем, входит ли она в список CLOSED. Если входит, этой вершине из списка CLOSED присваиваем имя OLD и заносим ее в список преемников вершины BESTNODE. Проверяем так же, как на шаге 2в, какой путь лучше — новый или старый, и аналогично определяем путь и значения f и g. Если мы только что определили лучший путь к вершине OLD, мы должны распространить улучшение на всех преемников этой вершины. Таким образом, вершина OLD определяет своих преемников, а эти преемники в свою очередь определяют своих преемников. Так продолжается до тех пор, пока каждая ветвь не закончится вершиной, которая либо находится в списке OPEN, либо не имеет преемников. Чтобы распространить новую стоимость вниз, осуществляем поиск первого типа в глубину на дереве, начинающемся с вершины OLD, меняем для каждой вершины значение g (и соответственно значение /). Для каждой ветви графа поиск заканчивается, когда вы либо достигли вершины, не имеющей преемников, либо вершины, для которой уже был найден эквивалентный или же лучший путь. Это условие легко проверить. Поскольку мы идем вниз к вершине, проверяем, имеется ли путь от предшественника вершины к ней. Если да, продолжаем распространение. Если нет, значение g уже определяет лучшую часть пути. Поэтому на этом шаге распространение может быть прекращено. Но, возможно, что с новым значением g, полученным далее, путь, вдоль которого мы следовали, окажется лучшим, чем путь через текущего предшественника. Поэтому они оба сравниваются между собой. Если путь через текущего предшественника все же лучше, прекращаем распространение. Если же путь, вдоль которого распространялось улучшение, все же лучше, вновь определяем предшественника и продолжаем распространение.
525
д)	Если вершина SUCCESSOR не находится ни в OPEN, ни в CLOSED, заносим ее в OPEN и добавляем в список преемников вершины BESTNODE.
Вычисляем f (SUCCESSOR) = = f (SUCCESSOR) + h (SUCCESSOR).
Легко видеть, что А*-алгоритм представляет собой алгоритм поиска на графе, который использует /(«) в качестве функции оценивания для упорядочивания вершин. Отметим, что, поскольку g(n) и h(n) складываются, важно, чтобы значение h(ri) являлось мерой стоимости прохода от вершины п к целевой вершине.
Целью процедуры поиска является определение пути в пространстве состояний от начального состояния к целевому. Имеются два направления, в которых такой поиск может осуществляться: 1) вперед из начального состояния и 2) назад из целевого состояния. В модели производящей системы имеется набор правил как для вывода набора промежуточных состояний вперед, так и для вывода назад. При выводе вперед левые части, или предусловия, соответствуют текущим состояниям, а правые части (результаты) используются для генерации новых вершин до тех пор, пока не будет достигнуто целевое состояние. При выводе назад правые части соответствуют текущим состояниям, а левые части используются для генерации новых вершин, представляющих собой новые целевые состояния, которые необходимо достичь. Это продолжается до тех пор, пока одно из целевых состояний не будет соответствовать начальному состоянию.
Описав процесс поиска как последовательное применение ряда правил, легко создать алгоритмы поиска, не зависящие от направления поиска. Конечно, имеется возможность комбинации поиска вперед и назад. В этом случае одновременно отыскивается путь как из целевого состояния в конечное, так и путь из конечного состояния в целевое до тех пор, пока они не пересекутся. Такая стратегия называется стратегией двунаправленного поиска.
10.3. ПРОБЛЕМА СВЕДЕНИЯ ЗАДАЧИ К ПОДЗАДАЧАМ
Другой подход к решению задачи основан на проблеме сведения задачи к подзадачам. Основная идея заключается в разбиении задачи на подзадачи, которые в свою очередь разбиваются на подзадачи, и так до тех пор, пока исходная задача не сведется к ряду тривиальных задач, имеющих очевидные решения. Оператор сведения задачи преобразует описание задачи в описание ряда подзадач. К данному описанию задачи могут применяться многие операторы. Применение каждого 526
оператора также приводит к необходимости решения ряда подзадач. Поскольку не все из них в свою очередь могут быть решены, необходимо применять несколько операторов для решения всех возникающих подзадач. Это снова требует организации процесса поиска.
Разбиение задачи на ряд подзадач обычно представляется в виде графа. Предположим, что задачу А можно решить, если будут решены три подзадачи В, С и D (рис. 10.9). Дуги, ведущие из вершины А к вершинам В, С и D, назовем И-дугами. Тогда вершины В, С и D называются И-вершинами. С другой
Рис. 10.9. Граф И/ИЛИ.	' • ' '
стороны, если задача В может быть решена в случае решения одной из подзадач Е и F, то в этом случае будем использовать дугу ИЛИ. Полученный граф называется графом И/ИЛИ (рис. 10.9). Легко видеть, что методы поиска, рассмотренные в разд. 10.2, сводятся к графу И/ИЛИ, с помощью которого мы хотим найти единственный путь из начальной вершины к нелевой.
Пример. Граф И/ИЛИ для задачи «Обезьяна и бананы» приведен на рис. 10.10. В данном случае задача представляется тройкой (S,F, G), где 3 — набор начальных состояний, F — набор операторов и G — набор целевых состояний. Поскольку для данной задачи набор операторов F является постоянным и начальное состояние представляется в виде (Л,0, В,0), то можно исключить символ F и описать задачу как ({Л, 0, В, 0}, G). Один из путей выбора операторов сведения задачи заключается в применении понятия различие. Короче говоря, различие для тройки (3, F, G) представляет собой список причин, по которым ни один из элементов набора 3 не входит в набор G. (Если
527
длементарйая задача Рис. 10.10. Граф И/ИЛИ для задачи «Обезьяна и бананы»,
хотя бы один из элементов набора S входит в G, задача решается и различие отсутствует.)
В примере из разд. 10.2.1 F = {f1( f2,f3, f4} = {goto(G), pushbox(V), climbbox, grasp}. Сначала мы вычисляем различие для начальной задачи. Дело в том, что список (Л,0, В,0) не может удовлетворять решению, поскольку в нем последний элемент не равен 1.
Оператором, уменьшающим это различие, является оператор Ц = grasp. Используя Ц для разбиения начальной задачи, мы получаем следующую пару подзадач: ({(Д, О, В, 0)},Gf,) и ({Д(«1)} G), где Gft представляет собой набор описаний состояний, к которым применим оператор Д, и Si — состояние, входящее в GM, полученное при решении подзадачи ({(Д, О, В, 0)})> Gh).
Для решения задачи ({(Д, 0, В, 0)}, GfJ сначала надо вычислить ее различие. Состояние, описываемое ({(Л, 0, В, 0)}, Gft), не входит в Gf„ поскольку:
1)	ящик не находится в точке С;
2)	обезьяна не находится в точке С;
3)	обезьяна не находится на ящике.
Операторами для уменьшения этих различий являются f2 = pushbox (С),	— goto(C) и /3 = climbbox соответственно.
Применяя оператор f2, получаем подзадачи ({(Л, 0, В, 0)}, Gf2), и (М«п), Gf2), где 5ц е Gf2 вытекает из решения первой подзадачи.
Поскольку сначала должна быть решена подзадача ({(Л, 0, В, 0)}, Gf2), то для нее вычисляется различие. Различие состоит в том, что обезьяна не находится в точке В и оператор, который устраняет его, есть fi = goto(B). Этот оператор затем используется для сведения задачи к паре подзадач ({(Л, 0, В, 0)}, Gfi) и (fi (sin), Gf2). Теперь первая из этих задач является элементарной. Ее различие равно 0, поскольку (Л, 0, В,0) входит в область определения оператора fiy с помощью которого можно решить эту задачу. Отметим, что (зш) = (В, 0, В, 0), поэтому возникает вторая задача ({(В, 0, В, 0)}, Gf2). Эта задача также является элементарной, поскольку (В, 0, В, 0) входит в область определения оператора f2, с помощью которого можно решить эту задачу. Процесс последовательного решения подзадач должен продолжаться до тех пор, пока исходная задача не будет решена.
В графе И/ИЛИ одна из вершин, называемая начальной вершиной состояния, соответствует описанию исходной задачи. Вершины графа, соответствующие описаниям элементарных задач, называются конечными вершинами. Целью процесса поиска на графе является доказательство того, что задача, соответствующая начальной вершине, имеет решение, т. е. что начальная вершина является решаемой. Рекурсивное определе
529
ние решаемой вершины может быть дано следующим образом:
1.	Конечные вершины являются решаемыми вершинами, по* скольку они соответствуют элементарным задачам.
2.	Если вершина, не являющаяся конечной, имеет преемников типа ИЛИ, она является решаемой вершиной только тогда,, когда по меньшей мере один из ее преемников является решаемым.
3.	Если вершина, не являющаяся конечной, имеет преемников типа И, она является решаемой только тогда, когда все преемники являются решаемыми.
Граф решения, который является подграфом, состоящим из решаемых вершин, показывает, что начальная вершина является решаемой. Целью производящей системы или процесса поиска является нахождение графа решения от начальной вершины к конечным вершинам. Граф решения, определяющий путь от вершины п к набору вершин N графа типа И/ИЛИ, в некоторой степени аналогичен пути на обычном графе. Он может быть получен, если начало пути определить в вершине п и каждый раз выбирать только одну выходящую из нее дугу. Для каждой вершины-преемника, к которой направлена эта дуга, мы продолжаем выбирать только одну выходящую из нее дугу. И так до тех пор, пока в конце концов каждый преемник, созданный таким образом, не войдет в набор N.
Для определения решений на графе И/ИЛИ нам необходим алгоритм, подобный алгоритму А*, но способный выбирать И-дуги соответствующим образом. Такой алгоритм для реализации эвристического поиска на графе И/ИЛИ называется АО*-алгоритмом.
АО*-алгоритм
Шаг 1. В G входит только одна вершина, соответствующая начальному состоянию. (Назовем эту вершину INIT.) Вычисляется h. (INIT).
Шаг 2. До тех пор пока INIT не будет помечена как SOLVED или значение h(INIT) не превзойдет FUTILITY, повторять следующие действия:
а)	Идти из вершины INIT вдоль помеченных дуг и выбрать для процесса расширения одну из вершин на этом пути, ранее не подвергавшуюся расширению. Назвать выбранную вершину NODE.
б)	Создать преемников вершины NODE. Если их нет, присвоить FUTILITY и h значение NODE. Это означает, что NODE не является решаемой вершиной. Если преемники имеются для каждого из них (названного SUCCESSOR), который также не является предшественником NODE, делать следующее:
1)	добавить SUCCESSOR к G;
2)	если SUCCESSOR является конечной вершиной, пометить его SOLVED и присвоить его значению h значение 0;
530
3)	Если SUCCESSOR не является конечной вершиной, вычислить его значение h.
в) Распространять вновь полученную информацию по графу следующим образом:
Пусть 3 является набором вершин, которые были помечены SOLVED или значения h которых были изменены. И поэтому необходимо знать-значения h вершин их предшественников. Начнем рассмотрение 5 с вершины NODE. До тех пор пока 5 не станет пустым, повторять следующие действия:
1)	Выбрать из S вершину, у которой ни один из потомков, входящих в О, не входит в S. ( Другими словами, надо удостовериться, что для каждой вершины, подлежащей обработке, она будет обработана раньше любого из ее предшественников.) Назовем эту вершину CURRENT и устраним ее из 3.
2)	Вычислить стоимость каждой дуги, выходящей из CURRENT. Стоимость дуги равна сумме значений h каждой вершины на конце дуги плюс стоимость самой дуги. Присвоить новому значению h вершины CURRENT минимальное значение среди только что вычисленных стоимостей дуг, выходящих из нее.
3)	Отметить лучший путь из вершины CURRENT, пометив дугу, которая имеет минимальную стоимость, вычисленную на предыдущем шаге.
4)	Пометить вершину CURRENT SOLVED, если все вершины, связанные с ней через вновь помеченную дугу, были помечены SOLVED.
5)	Если CURRENT уже была отмечена SOLVED или если стоимость вершины CURRENT только что была изменена, добавляем к 3 всех предшественников вершины CURRENT.
Отметим, что вместо двух списков OPEN и CLOSED, которые были использованы в А*-алгоритме, в АО*-алгоритме применяется единая структура G. Эта структура представляет собой часть графа поиска, которая к этому времени уже была создана. Каждая вершина на графе указывает как вниз (на своих преемников), так и вверх (на своих непосредственных предшественников). Каждой вершине графа присвоено значение h для оценивания стоимости пути от нее самой к набору вершин-решений. Значение g (стоимость прохода от начальной вершины к текущей) не сохраняется как в А*-алгоритме, поскольку h. служит оценкой качества вершины. Величина FUTILITY необходима. Если оцениваемая стоимость решения становится больше, чем значение FUTILITY, поиск прекращается. Значение FUTILITY должно быть выбрано так, чтобы соответствовать порогу, за пределами которого любое решение, даже если бы оно могло быть найдено, было бы слишком громоздким, чтобы его можно было применять на практике.
Алгоритм поиска в ширину первого типа может быть получен из АО*-алгоритма, если h = 0.
531
10.4. ПРИМЕНЕНИЕ ЛОГИКИ ПРЕДИКАТОВ
Для решения задач, связанных с управлением робота, должна быть реализована возможность представления исправления и преобразования наборов утверждений. Для этого может быть использован язык логики или, более точно, язык логики предикатов первого порядка. Логический формализм представляется привлекательным, поскольку является мощным средством выведения новых знаний из старых (методом математической дедукции). По этому методу новое утверждение истинно, если можно доказать, что оно следует из утверждения, о котором уже известно, что оно истинно. Эту идею доказательства, можно применять для получения ответов на вопросы и решения задач в робототехнике Д
Рассмотрим сначала возможности логики высказываний как способа представления знаний. Она имеет то преимущество, что ее аппарат достаточно прост и для представления знаний имеются соответствующие операции. На языке логики высказываний легко описывать явления окружающего мира в виде набора правильно построенных формул (ППФ). Например:
Идет дождь.
RAINING
Светит солнце.
SUNNY
Стелется туман.
FOGGY
Если идет дождь, то не светит солнце.
RAINING SUNNY
Используя эти утверждения, мы, например, можем вывести, что не светит солнце, если идет дождь. Но очень быстро мы сталкиваемся с ограничениями логики высказываний. Предположим, мы хотим на ее языке представить очевидный факт, констатируемый следующим предположением:
ДЖОН — человек ,-,i	 : дз
Мы можем написать
JOHNMAN
Но аналогично можно сказать
Пол — человек или
PAULMAN
*> Читателям, не знакомым с логикой высказывания и логикой предикатов, мы можем рекомендовать просмотреть введение в логику прежде, чем читать оставшуюся часть главы. Читатели, желающие более полно ознакомиться с материалом этого раздела, должны просмотреть книгу [43].
532
что могло бы быть совершенно другим утверждением и нам было бы трудно вывести какое-либо заключение о степени схожести между Джоном и Полом.
Было бы намного лучше представить это в виде:
MAN(JOHN)
MAN(PAUL)
поскольку теперь структура представления отражает структуру самих знаний. Возникает еще больше трудностей, если мы попытаемся на языке логики высказываний описать следующее утверждение: «все люди смертны», так как потребуются утверждения для представления соотношений количества, если мы не собираемся по отдельности описывать смерть каждого известного человека.
Поэтому придется воспользоваться аппаратом логики предикатов, поскольку на ее языке можно описывать события, не поддающиеся описанию на языке логики высказываний. На языке логики предикатов можно представить события окружающего мира в виде ППФ. Но главная причина выбора логики предикатов состоит в том, что с ее помощью можно не только представить знания, но и получить из них новые знания.
В этом разделе мы кратко опишем язык и методы логики предикатов. Основными компонентами языка логики предикатов являются: предикаты, переменные, функции и константы. Предикаты используются для установления связи в рассуждениях. Например, для описания факта «Робот в комнате г\» достаточно простой формулы-атома:
INROOM(ROBOT,r1)
В этой формуле ROBOT и и являются константами. Обычно формулы-атомы состоят из предикатов и термов. Константа является простейшим видом терма для представления объектов или вещей при рассуждениях. Переменные также являются термами для описания объектов, относящихся к некоторому классу, как, например, INROOM(x,у). Функции применяются для определения связей между объектами, подлежащими рассмотрению. Например, функция mother (мать) применяется для установления связи между человеком и его (ее) родителем по материнской линии. Можно воспользоваться следующей формулой-атомом для представления утверждения «Мать Джона замужем за отцом Джона»:
MAR R IED[fa ther(JOHN), mother(JOHN)].
Формула-атом имеет значение И (истина), когда соответствующее утверждение истинно, и Л (ложь), когда соответствующее утверждение ложно. Таким образом INROOM(RO-
533
ВОТ, /ц) имеет значение И, a INROOM(ROBOT, г2) имеет значение Л. Формулы-атомы являются элементарными формулами, из которых строятся более сложные утверждения на языке ло- i гики предикатов. Из формул-атомов можно строить более сложные ППФ, применяя операции А (и) V (или) и => (следование). Формулы, построенные путем связи одних формул с другими символом Д, называются конъюнкциями, а символом
V—дизъюнкциями. Символ => применяется для представле- г ни# утверждения «если—тогда». Например, «если обезьяна на t ящике, она схватит бананы»:
ON(MONKEY, BOX) =>GRASP(MONKEY, BANANAS).
Символ ~ означает отрицание, т. е. он изменяет значение ППФ с И на Л и наоборот. (Истинное) утверждение «робот не находится в комнате Гг» может быть представлено в виде
~ INROOM(ROBOT,r2)
Иногда формула-атом Р(х) имеет значение И для всех возможных значений х. Это свойство описывается с помощью квантора всеобщности (Vх), который ставится перед Р(х). Если Р(х) имеет значение И хотя бы для одного значения х, это свойство представляется с помощью квантора существования (Зх), который ставится перед Р(х). Например, утверждение «все роботы серые» можно выразить в виде
(Vx) [ROBOT (х) => COLORS,GRAY)],
а «в комнате Г| находится объект»
(3x)INROOM(x,r,)
Если Р и Q являются ППФ, истинные значения выражений, составленных из этих формул, приводятся ниже в таблице:
р	Q	Р V Q	РЛ <2	Р => Q	- р
и	И	И	И	и	л
л	И	И	Л	и	и
и	Л	И	л	л	л
л	л	л	л	и	и
Если два истинных значения ППФ одинаково интерпретируются, эти ППФ являются эквивалентными. Используя таблицу истинных значений, мы можем установить следующие эквивалентности:
~~ Р) эквивалентно Р
Р\/ Q эквивалентно ~ Р => Q
534
Законы де Моргана:
~ (Р V Q) эквивалентно ~ Р Л ~ Q
~ (P/\Q) эквивалентно ~ Р V ~ Q
Дистрибутивные законы:
Р A(QV R) эквивалентно (Р A Q)V (Р Л Р)
PV(QAP) эквивалентно (PVQ)A(PVP)
Коммутативные законы:
Р Л Q эквивалентно Q Л Р
PV Q эквивалентно Q V Р
Ассоциативные законы:
(Р A Q) V R эквивалентно Р Л (Q А Р)
(PVQ)VP эквивалентно PV(QVP)
Контропозитивный закон:
Р => Q эквивалентно ~ Q => ~ Р
И, кроме того, мы имеем:
~ (Зх)Р (х) эквивалентно (Vx)[~P(x)]
~ (Ух)Р(х) эквивалентно (Зх)[~Р(х)]
В логике предикатов имеются правила вывода, которые можно применять к определенным ППФ и наборам ППФ для получения новых ППФ. Важным правилом вывода является модус поненс, являющийся правилом вывода ППФ IJA из ППФ вида №i и Wi => Ws- Другое правило вывода — универсальная специализация позволяет выводить ППФ 1П(Д) из ППФ (Vx)IH(x), где А является константой. Используя совместно модус поненс и универсальную специализацию, можно, например, вывести ППФ Г2(Л) из ППФ (Ух) [Г, (х) => Г2(х) ] и W^A).
В логике предикатов ППФ формулы, полученные с помощью правил вывода, называются теоремами, а последовательность правил вывода — доказательством теоремы. В искусственном интеллекте некоторые задачи могут быть рассмотрены как задачи доказательства теорем. Последовательность правил вывода дает решение требуемой задачи.
Пример. Пространство состояний задачи «Обезьяна и бананы» можно описать ППФ. Мы предполагаем, что используются 3 оператора: grasp (захват), clinibbox (прыжок на ящик), pushbox (передвижение ящика).
Пусть начальное состояние s0 описывается следующим набором ППФ:
~ONBOX
АТ(ВОХ,В)
♦	AT(BANANAS; С)
~ НВ	-А’
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))J
что означает; «для любого s обезьяна будет находиться на ящике в состоянии, которое получается в результате применения оператора climbbox к состоянию s».
3)	pushbox
(VxVs) {~ ONBOX (s) =>АТ(ВОХ, 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}	PUSH (OBJ, LOC)	AT (OBJ, LOC)
Л LARGE (OBJ) Л CLEAR (OBJ) Д HANDEMPTY 2	. AT (ROBOT, OBJ) Л SMALL (OBJ) 3	. None 4	AT (ROBOT OBJ) 5	HOLDING (OBJ)			—> CARRY (OBJ, LOC) WALK (LOC) pickup (OBJ) 			> PUTDOWN (OBJ) 		A AT (ROBOT, LOC) AT (OBJ, LOC) A AT (ROBOT, LOG) AT (ROBOT, LOC) HOLDING (OBJ) ~ HOLDING (OBJ)
6 AT (ROBOT, OBJ2) л holding (obj\)	PLACE (OBJ\, OBJ2) 	>	ON (OBJ\, OBJ2)
533
где: PUSH (OBJ, LOC) — переместить объект OBJ в положение LOC',
CARRY (OBJ, LOC) — переместить объект OBJ в положение LOC',
WALK (LOC) — переместить робот в положение LOC;
PICKUP (OBJ) — поднять объект OBJ;
PUTDOWN (OBJ) — опустить объект OBJ;
PLACE (ОВЛ, OBJ2) — разместить объект ОВЛ на объекте OBJ2.
Утверждения в предусловиях и результатах действия операторов имеют следующий смысл:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
AT (ROBOT, OBJ) AT (OBJ, LOC) AT (ROBOT, LOC) AT (ROBOT, OBJ2) LARGE (OBJ) SMALL (OBJ) CLEAR (OBJ) HANDEMPTY NONE HOLDING (OBJ) HOLDING (ОВЛ) ON (ОВЛ, OBJ2)
Робот ROBOT и объект OBJ в одном месте
Объект OBJ в месте LOC
Робот ROBOT в месте LOC
Робот ROBOT и объект OBJ2 в одном месте
Объект OBJ большой
Объект OBJ маленький
На объекте OBJ нет другого объекта
В схвате робота нет объекта
Оператор не имеет предусловий
В схвате робота находится объект OBJ
В схвате робота объект OBJl
Объект ОВЛ на объекте 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(В) CLEAR(С)
6N(C, А)
ONTABLE(A) ONTABLE(B) HANDEMPTY HOLDING(X)
На вершине объекта В ничего нет На вершине объекта С ничего нет Объект С на объекте А Объект А на столе Объект В на столе
В схвате робота нет объекта
В схвате робота объект 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(X)
2.	PUTDOWN(X)—опустить объект X
Предусловие и список исключений: HOLDING (X)
541
Список добавлений: ONTABLE(X), CLEAR (X), HANDEMPTY
3.	STACK(X, У)—положить объект X на объект Y Предусловие и список исключений: HOLDING (X), CLEAR(Y) Список добавлений: HANDEMPTY, ON(X, У), CLEAR(X)
4.	UNSTACK(X, У) — снять объект X с объекта У Предусловие и список исключений: HANDEMPTY, CLEAR(X), ON (X, У)
Список добавлений: HOLDING(X), CLEAR(y)
Предположим, что нашей целью является ON (В, С) Л Л ON(А, В). Начиная работу с описания начального состояния.
putdountB)
pwkuptB)
CLEAR(A) ONTABLE(A)
CLEAR(S) ONTABLE(0) CLEAR(C) ONTABLE(C) HANDEMPTY
puldownM/
puuiown(C)
pickup(A)
CLF.ARM) CLEAR(C) HOLpfNG(B) ONTABLEM) ONTABLEiO
CLEAR(C) CLEAR(R) HOl.DINGtCI ONTABLEt.4) ONTABLE(B)
CLEARS) CLEARiO HOLDlNGi.4) ONTABLE(fl) ONTABLEtO
ft

unst ackMT?)
CLEARS) ONlB.Cl CI.EARlBi ONTABI.E(<» ONTABI.ljC) HANDEMPTY
CLEAR(C) ON(S.4> CLEAR(B) ONTABLE(4) ONTABLE(C) HANDEMPTY
CLEARMf ON(C.B> CLEARlC) ONTABLEM) ONTABLE(fl) HANDEMPTY
SO
CLEARS ONtCAl CLEARiO ONTABLEM) ONTABLE(B) HANDEMPTY
CLEAR(ff) ONM.C) CLEARiAl ONTABI.EtB) ONTABl.EtC) HANDEMPTY
CLEAR(C) ()N|4.B| CLEAR(A) ONTABLEtRi ONTABLEiCi HANDEMPTY
pickuptC)
putdown(C)
plckup(B)
puidowntB)
pickup! C)
putdowniO
pkkupMi
puidow nt 4)
ON(B.C) CLEARtB) HOLDINGS) ONTABLEtCt
ONlJMl CLEARtB) HOi.DJNG(C) ONTABLE4 4)
pickupt 4 >
putdown(A)
ON(C.B)
Ci EAR(C) H01.DING/.4? ONTABl.E’tBt
pickup(B}
putdown(B)
unstack(B.C)
un$tack(C,B)
Рис. 10.13. Пространство состояний для задачи робота.
stack! B.-4)
unjt»ck(B.4i
приведенного на рис. 10.1, мы получаем полное пространство состояний (рис. 10.13) и путь (решение) между начальным и целевым состояниями, отмеченный полужирными линиями. Последовательность действий для решения задачи имеет вид {UNSTACK(C, A), PUTDOWN(C), PICKUP(S), STACK(5, Q, 542
PICKUP(A), STACK(A ^)} и называется «планом» достижения цели.
Если системе известно, как каждый оператор изменяет состояние рабочего пространства или базы данных и известны предусловия оператора, который должен выполняться, она может применять анализ конечных значений для решения задачи. Короче говоря, .по этому методу рассматриваются различия между текущими и целевыми состояниями и предпринимается попытка найти оператор, который уменьшит это различие. Таким оператором является тот, чей список добавлений содержит формулы, которые устранили хотя бы некоторую часть этого различия. Поиск продолжается рекурсивным образом до тех пор, пока не будет достигнуто целевое состояние. Система STRIPS и большинство других планировщиков используют анализ конечных значений.
Выше мы видели, как система STRIPS составляет план для решения конкретной задачи движения робота. Следующий шаг заключается в обобщении плана путем замены констант новыми параметрами. Другими словами, мы хотим расширить план до схемы плана. Требования обобщения плана появляются в обучающихся системах. Для сохранения планов (т. е. чтобы их части могли быть использованы в дальнейшем процессе планирования) должны быть известны предусловия и результаты действия любой части плана. С этой целью планы хранятся в треугольной таблице со строками и столбцами, соответствующими операторам плана. Треугольная таблица содержит структуру плана в такой форме, которая позволяет использовать части плана при решении сходных задач.
Пример треугольной таблицы приведен на рис. 10.14. Левый столбец назовем нулевым, тогда /-й столбец означает /-й оператор в последовательности плана. Пусть верхняя строка имеет номер 1. Если имеется N операторов в последовательности, представляющей собой план, тогда последняя строка будет иметь номер N + 1.
Записи в (i, /)-х элементах таблицы для />0 и i < N + 1 являются теми утверждениями, добавленными к описанию состояния ;-м оператором, которые остались в качестве предусловий i-ro оператора. Записями в (i, 0)-х элементах для i < N -|- 1 являются те утверждения в описании начального состояния, которые остались как предусловия i-ro оператора. Записи в (У+ 1)-й строке таблицы являются предложениями в описании первоначального состояния и предложениями, добавленными различными операторами, которые являются компонентами цели.
Треугольные таблицы легко строятся из описания начального состояния, последовательности операторов и описания цели. Эти таблицы являются четким и удобным представлением
543
для планов действия робота. Записи в строках слева от i-ro оператора являются предусловием оператора. Записи в столбце снизу i-ro оператора являются предложениями того оператора, которые требуются последующим операторам или которые являются компонентами цели.
i-e ядро можно получить из треугольной таблицы путем вычеркивания из нее верхних i—1 строк и всех столбцов, начиная с i-ro.
о
Рис. 10.14. Треугольная таблица.
На рис. 10.14 четвертое ядро обведено двойными линиями. Записи в i-м ядре определяют условия, которые должны соответствовать описанию состояния таким образом, чтобы последовательность, составленная из i-ro и последующего операторов, была выполнимой и приводила к цели. Таким образом, первое ядро (т. е. нулевой столбец) содержит те условия начального состояния, которые необходимы последующим операторам и цели; (Л/+ 1)-е ядро (т. е. (У + 1)-я строка) содержит условия цели. Эти свойства треугольной таблицы весьма полезны для управления ходом выполнения плана движения робота.
Поскольку планы робота в реальном рабочем пространстве должны выполняться механическими устройствами, система управления должна предусматривать возможность того, что планируемые действия робота не будут реализованы, поскольку механические допуски могут вводить ошибки при реализации плана. Во время выполнения роботом операций незапланированные действия могут неожиданно приблизить нас к цели либо сбить с пути. Эти проблемы можно было бы решить путем гене
544
рации нового плана (основанного на модернизированном описании состояний) после каждого действия робота, но очевидно, что такая стратегия была бы слишком дорогой, поэтому мы приведем схему, с помощью которой можно управлять ходом действия робота согласно данному плану.
Ядра треугольных таблиц содержат только информацию, необходимую для реализации такой системы выполнения плана. В начале выполнения плана мы знаем, что полный план выполним и соответствует достижению цели, поскольку предложения в первом ядре соответствуют описанию первоначального состояния, которое было использовано при создании плана. (Здесь мы предполагаем, что рабочее пространство является статическим, т. е. рабочее пространство изменяют только действия самого робота.) Теперь предположим, что система выполнила первые I— 1 действий последовательности операторов плана. Тогда, чтобы оставшаяся часть плана (состоящая из i-ro и последующих действий) была выполнимой и приводила к достижению цели, предложения в i-м ядре должны соответствовать описанию нового текущего состояния. (Мы предполагаем, что во время выполнения плана система очувствления непрерывно модернизирует описание состояний так, чтобы это описание точно моделировало текущее состояние рабочего пространства.) Фактически мы можем не просто проверить, соответствует ли ядро описанию состояния рабочего пространства после действия робота, мы можем выбрать соответствующее ядро с наибольшим номером. Тогда, если непредвиденные эффекты приближают нас к цели, нам необходимо только выполнить оставшиеся действия; и если ошибка выполнения нарушает результаты предыдущих действий, соответствующие действия могут быть выполнены вновь. Чтобы найти соответствующее ядро, мы проверяем ядра в треугольной таблице по мере уменьшения их номеров, начиная с большего (ядро, соответствующее большому номеру, является последней строкой таблицы). Если целевое ядро (последняя строка таблицы) приводит к достижению конечного состояния, то система заканчивает работу. В противном случае предполагаем, что соответствующим ядром с наибольшим номером является ядро с номером i. Тогда мы знаем, что z-й оператор применим к описанию текущего состояния. В этом случае система осуществляет действия, соответствующие i-му оператору, и проверяет результаты, снова отыскивая соответствующее ядро с наибольшим номером. В идеальном рабочем пространстве эта процедура выполняется просто согласно последовательности операторов плана. В реальном же рабочем пространстве эта процедура помогает избежать ненужных действий, а также устранить некоторые виды аварийного завершения путем повторного выполнения соответствующих действий. Перепланирование осуществляется, когда больше нет соответствующих ядер.
18 К. Фу и др.
545
В качестве примера, иллюстрирующего этот процесс, рассмотрим снова задачу построения пирамиды из объектов А, В и С и план, представленный в виде треугольной таблицы на рис. 10.14. Предположим, что система выполняет действия, соответствующие первым четырем операторам, и результаты этих действий заранее планируются. Теперь предположим, что система пытается осуществить захват блока А, но программа выполнения (в это время) меняет блок А на блок В, и поэтому вместо блока А робот захватывает блок В. [Снова предполагаем, что система очувствления точно модернизирует описание состояния, добавляя утверждение HOLDING (В) и исключая утверждение ON (В, С); в частности, она не добавляет утверждение HOLDING (Л).] Если бы не было ошибки выполнения, шестое ядро было бы теперь соответствующим; в результате ошибки соответствующим ядром с наибольшим номером становится четвертое ядро. Вновь выполняется действие, соответствующее оператору STACK (В, С), и система продолжает работу.
То, что ядра треугольной таблицы частично перекрываются, можно использовать для улучшения поиска соответствующего ядра с наибольшим номером. Начиная с нижней строки, мы просматриваем таблицу слева направо, определяя первый элемент, содержащий предложение, не соответствующее описанию текущего состояния. Если мы просмотрели всю строку и не обнаружили такого элемента, целевое ядро является соответствующим. Если же мы нашли такой элемент в i-м столбце, наибольший номер соответствующего ядра не может превышать i. В этом случае мы устанавливаем границу по i-му столбцу, переходим к следующей снизу строке и начинаем просматривать ее слева направо до столбца I. Если мы находим элемент, содержащий несоответствующее утверждение, мы вновь устанавливаем границу по столбцу, начинаем просматривать следующую строку и т. д. Процесс завершается определением k-ro соответствующего ядра (наибольшим номером соответствующего й-й просматриваемой строке и проведением границы по £-му столбцу, соответствующему этой строке).
Пример. Рассмотрим простую задачу переноса ящика мобильным роботом из соседней комнаты. Начальное состояние модели рабочего пространства робота приведено на рис. 10.15. Предположим, что имеются два оператора GOTHRU и PUSHTHRU.
GOTHRU (d, rt, г2) Робот двигается через дверь d из комнаты и в комнату г2
Предусловие: INROOM (ROBOT, Л CONNECTS (d, rit r2) робот в комнате и и дверь d соединяет комнаты Г\ и г2
Список исключений: INROOM (ROBOT, S) для любого значения S Б46
Список добавлений: INROOM (ROBOT, r2)
PUSHTHRU (b, d, ri, r2) Робот переносит объект b через дверь d из комнаты г, в комнату г2
Рис. 10.15. Начальная модель рабочего пространства.
Начальная база данных Мо
INROOM (ROBOT, Ri)—робот в комнате R:
CONNECTS (Dlt Ri, R2) — дверь Dx соединяет комнаты Ri и R2 CONNECTS (D2, R2, R3) —дверь D2 соединяет комнаты R2 и Rj BOX (BJ —ящик Bi
INROOM (Bi, RO —ящик В, в комнате R2
[CONNECTS (x, y, z)->CONNECTS (x, y, z)]
Цель Go	 '
3X [BOX (x) Д INROOM (x, ROJ
Различие	QOTHRP	PUSHTHRU
Расположение ящика		V
Расположение ророта	V	
Расположение ящика ироРота		V
Рис. 10.16. Таблица «действие — оператор».
Предусловие:	INROOM(b, г,) Л INROOM (ROBOT, п)Л
Л CONNECTS (d, и, r2)
Список исключений: INROOM(ROBOT, S) INROOM(i, S) Список добавлений: INROOM(ROBOT, r2), INROOM (b, r2) Таблица «различие — оператор» приведена на рис. 10.16.
18*
Б47
Когда система STRIPS приступает к решению задачи, она сначала пытается достигнуть цели Go из начального состояния Л10- Эта задача не может быть решена сразу. Однако, если начальная база данных содержит утверждение INROOM.(Bb Ri) процесс решения задачи может продолжаться. Система STRIPS находит оператор PUSHTHRU (Bb d, Г\, R\), действие которого может привести к желаемому утверждению. Предусловием 61 для оператора PUSHTHRU является следующее:
Gj :INROOM(BI, n) Л INROOM(ROBOT, г,) Л
Л CONNECTS (d, rb R,)
В анализе конечных значений это предусловие является подцелью и STRIPS пытается реализовать его из состояния Л1о.
Поскольку нет непосредственного решения этой задачи, STRIPS находит, что если r\—R2, d = D- и текущая база данных содержит оператор INROOM (ROBOT, R2), то процесс может продолжаться. Вновь STRIPS находит оператор GOTHRU(d, rb R2, результат действия которого может привести к желаемому состоянию. Его предусловие является следующей подцелью:
G2: INROOM (ROBOT, n) Л CONNECTS (d, rb R2)
Используя подстановки ri = Ri и d = Z?b система STRIPS способна выполнить операцию G2. Применяя оператор GOTHRU(D|, Rb R2) к состоянию Л10, имеем
М, : INROOM(ROBOT, R2), CONNECTS(Db Rb R2) CONNECTS (£>2, R2, Rs), BOX(Bj) INR00M(5b R2), ...
(Vx) (Vy) (Vz) [CONNECTS (x, y, z) => CONNECTS (x,z,y)]
Теперь STRIPS пытается достигнуть подцели Gi из новой базы данных Rfb Она находит оператор PUSHTHRU(Bb D{, R2, Ri) с подстановками r\ = R2 и d = D\. Применяя этот оператор к М\, получаем
M2:INROOM(ROBOT, Rd), CONNECTS(Db Rb R2)
CONNECTS (£>b R2, R3), BOX(Bi) lNR00M(5b R,). ...
(VxVyVz) [CONNECTS (x, y, z) ==> CONNECTS (x, z, y)]
На следующем шаге система STRIPS пытается реализовать исходную цель Go из состояния М2. Эта попытка оказывается успешной, и окончательная последовательность операторов имеет вид:
GOTHRU(£»,, Rb R2), PUSHTHRU(Bb D{, R2, Ri)
Желательно создать план, который не зависел бы от констант 5b Ri, R2 и 51 и можно было бы использовать в ситуациях
548
с произвольными дверями, комнатами, ящиками. Треугольная таблица для конкретного плана приведена на рис. 10.17, а тре-
1	INROOM(ROBOT.K,) CONNECTS^,,	GOTHRUlDpfli,/?,)	
2	INROOM(B,,K2) CONNECTS^’,, CONNECTSf.r.r,;) CONNECTS^, V,:)	INROOM(ROBOT,R,1	PUbHTHRWpZY/?,./?,)
3			lNROOM(ROBOT,Kp INROOMfBj,/?;)
Рис. 10.17. Треугольная таблица для конкретного плана.
INROOM(ROBOT.pj) CONNECTSlpj.pi.pj)	GOTHfWj^.ft)	
JNROOM(pd.pj) CONNECTStpu.p,.^ CONNECTSfx.y.z) -» CONNECTSCr._y,z)	!NROOM(ROBOT.pj)	PUSHTHRV(pfi^s.ft.p9>
		!NROOM(ROBOTj>9) ЩКООМ(дс.рэ)
Рис. 10.18. Треугольная таблица для обобщенного плана.
угольная таблица для обобщенного плана —на рис. 10.18. Следовательно, обобщенный план мог бы иметь следующий вид:
GOTHRU(di, г,, г2)
PUSHTHRU(b, d2, г2, г3)
и мог быть использован для перехода из первой комнаты во вторую и переноса ящика в третью комнату.
10.7.	ОБУЧЕНИЕ РОБОТА
Мы рассмотрели применение треугольных таблиц обобщенных планов для управления ходом выполнения плана действий робота. Треугольные таблицы для обобщенных планов также
549
могут быть использованы системой STRIPS для выделения соответствующей последовательности операторов во время последовательного процесса планирования. В принципе можно составить единую треугольную таблицу для представления семейства обобщенных операторов. Из списка добавлений, определяемого' системой STRIPS, мы должны выбрать наиболее экономичный по параметрам оператор. Напомним, что (z-f- 1)-я строка треугольной таблицы (исключая первый элемент) представляет собой список добавлений Л], .... , z-й части плана, т. е. последовательность OPi, ..., OPi. п-и шаг плана дает системе STRIPS и альтернативных списков добавлений, каждый из которых может быть использован для уменьшения различия, возникающего во время нормального процесса планирования. Система STRIPS обычным образом проверяет соответствие каждого из списков добавлений обобщенного плана и выбирает из них те, которые обеспечивают наибольшее уменьшение различия. Часто данный набор подходящих утверждений будет появляться в нескольких строках таблицы. В этом случае выбирается строка с наименьшим номером, поскольку данный выбор приводит к наиболее короткой последовательности операторов^ с помощью которых создаются требуемые утверждения.
Предположим, что система STRIPS выбирает z-й список добавлений Л1 ..., Ai, i < п. Поскольку этот список является результатом работы последовательности операторов ОР\, ..., ..., OPt, то очевидно, что не надо интересоваться их применением и тем более установлением их предусловий. Как правило, некоторые шаги плана требуются только для установления предусловий последующих шагов. Если нас не интересует завершающая часть плана, то в соответствующем примере обобщенного плана могут не содержаться те операторы, единственной целью которых является определение предусловий для завершающей части плана. Поэтому обычно система STRIPS использует ограниченный набор из списка Дь ..., At для установления соответствия z-й начальной части плана. Каждый из первых i операторов, которые не добавляют утверждений в этот ограниченный набор или помогают установить предусловия для некоторого оператора, добавляющего утверждение в этот набор, не требуется в соответствующем примере обобщенного плана.
Для того чтобы получить систему планирования действий робота, которая может не только ускорять процесс планирования, но также улучшать способность системы решать более сложные задачи, можно было создать систему, имеющую способность к обучению. Система STRIPS использует схему общих правил машинного обучения. Другой формой обучения могло бы быть обновление информации в таблице «различие — оператор» на основе опыта системы.
550
Мощным средством является обучение по аналогии, которое также применяется для планирования действий робота. Обучающаяся система планирования действий робота, названа PULP-I, была предложена в работе [279]. Система использует аналогию между текущей незапланированной задачей и любыми известными сходными задачами для сокращения поиска решения. Для внутреннего представления задач в этой системе вместо логики предикатов используется семантическая сеть. Вначале в качестве знаний, основанных на простом опыте, в систему заводится ряд примеров типовых задач. Для определения сходства между двумя задачами используется аналогия, которая определяется семантической процедурой соответствия. Алгоритм соответствия определяет семантическую «близость», самую маленькую величину (самое близкое значение). Основанный на семантическом определении соответствия прошлый опыт применяется для формирования плана-кандидата. Затем проверяются предусловия операторов каждого плана-кандидата на применимость их к текущему состоянию рабочего пространства. Если план не применим, он исключается из списка кандидатов. В результате проверки на применимость может оказаться несколько возможных планов-кандидатов. Эти планы-кандидаты упорядочиваются согласно их оценкам семантических соответствий. План с наименьшим значением семантического соответствия имеет высший приоритет и должен располагаться в начале списка кандидатов. Конечно, если ни один кандидат не найден, система заканчивает работу аварийным остановом. Моделирование с помощью системы PULP-I на ЭВМ показало значительное улучшение процесса планирования, которое касается не только скорости планирования, но и способности формирования сложных планов на основе типовых обучающих примеров.
10.8.	ПЛАНИРОВАНИЕ ЗАДАЧИ ДВИЖЕНИЯ РОБОТОВ
Предназначенные для роботов планировщики, рассмотренные в предыдущем разделе, требуют описания только начального и конечного состояний данной задачи. Эти системы планирования обычно не определяют подробно движения робота, необходимые для выполнения операции, а формируют такие команды, как PICKUP (А) и STACK(X, У), не определяя траекторию движения робота. Однако в обозримом будущем планировщики задач должны давать более подробную информацию о промежуточных состояниях, чем та, которую сейчас эти системы выдают. От них будет требоваться создание намного более подробной программы движения робота. Другими словами, планировщик задачи должен быть способен преобразовать детализацию на уровне задачи в детализацию на уровне манипулятора. Для выполнения этого преобразования планировщик задачи
551
должен иметь описания объектов, подлежащих манипулированию, рабочего пространства, где выполняется задача, схемы выполнения роботом задачи, начального состояния рабочего пространства и желаемого конечного (целевого) состояния. На выходе планировщика задачи должна быть программа достижения роботом конечного состояния из определенного начального состояния.
Планирование задачи осуществляется в 3 этапа: моделирование, детализация задачи и синтез программы движения манипулятора. Модель рабочего пространства, в котором выполняется задача, должна содержать следующую информацию-
1)	геометрическое описание всех объектов и робота;
2)	физическое описание всех объектов;
3)	кинематическое описание всех связей;
4)	описание робота и характеристик сенсоров.
Модели состояний задачи должны включать взаимное расположение всех объектов и связей в модели рабочего пространства.
10.8.1	. Моделирование	Д
Геометрическое описание объектов является важной частью модели рабочего пространства. Основным источником информации о геометрических моделях являются системы автоматизированного проектирования (САПР) и техническое зрение. Имеются три основных типа схем представления трехмерных объектов £247]:
1)	граничное представление;
2)	шаблонное представление;
3)	объемное представление.
Объемное представление объекта может задаваться тремя способами:
1)	занимаемой пространственной областью;
2)	разбиением на элементарные ячейки;
3)	пространственной геометрией воспроизведения объектов (ПГВО).
Для задач планирования была предложена пространственная геометрия воспроизведения объектов, основной идеей которой является построение сложных тел из нескольких типов простых с помощью набора операций. Объект на рис. 10.19, а может быть описан с помощью структуры, приведенной на рис. 10.19,6. Возможные движения объекта ограничиваются наличием других объектов в рабочем пространстве, и форма ограничений зависит от формы объектов. По этой причине планировщику задачи необходимы геометрические описания объектов. Имеются дополнительные ограничения на движение, накладываемые кинематической структурой самого робота. Кинематические модели дают
552
планировщику задачи информацию, требуемую для планирования движений манипулятора. Эта информация является внешним ограничением.
Многие физические характеристики объектов играют важную роль при планировании операций робота. Например, от массы и моментов инерции зависит скорость передвижения деталей или величина силы, которую надо приложить, чтобы их поднять и перенести. Другим важным аспектом является очувствление. Для планирования задачи зрение дает возможность
Рис. 10.19. Пространственная геометрия воспроизведения объектов.
Атрибуты А и В: длина, ширина, высота
Атрибуты А и В: длина, ширина, высота. Атрибуты С: радиус, высота. Набор операторов-связей; (J — объединение, П — пересечение, —разность.
роботу с некоторой точностью получать информацию о расположении объектов; силовое очувствление допускает использование упругой податливости; тактильное очувствление позволяет реализовать обе возможности. Помимо очувствления необходимо описывать много индивидуальных характеристик манипуляторов, например граничные значения скорости и ускорения и точность позиционирования каждого из сочленений.
10.8.2	. Подробное описание задачи
Состояние модели определяется взаимным расположением (конфигурациями) всех объектов в рабочем пространстве; задачи обычно определяются последовательностью состояний модели рабочего пространства. Для определения взаимного расположения можно использовать, во-первых, САПР (для распо
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 так, чтобы грань ft располагалась напротив грани /3 и грань ,f2— напротив грани f4).
Требуется получить набор уравнений, которые связывают конфигурацию блока 1 с известной конфигурацией блока 2, т. е. грань ft блока 2 должна быть напротив грани f3 блока 1, а грань /2 блока 2 — напротив грани f4 блока 1.
Рис. 10.20. Иллюстрация пространственной связи между объектами.
Каждый объект и его части имеют связанные с ним системы координат (рис. 10.21). Конфигурации описываются матрицами преобразования размерностью 4 X 4:
Пусть twix(9) — матрица преобразования, описывающего поворот на угол 9 вокруг оси х, trans (х, у, z) —матрица перемещения вдоль осей х, у и z и М — матрица поворота вокруг оси у, причем М — М-\ Каждая связь типа напротив между двумя гранями, например гранью f объекта А и гранью g объекта В, дает следующее ограничение на конфигурацию двух объектов:
А = f~lM twix (9) (9, у, z)gB.	(10.9-1)
555
Две связи типа напротив в примере на рис. 10.20 дают следующие уравнения
Blockl = f^M twix (0J trans (0, ylt z1)f1Block2,
Blockl =/7 twix (02) trans (0, y2, z2) f2 Block2. (10.9-2)
Уравнение (10.9-2) ний на конфигурацию
состоит из двух независимых ограниче-блока 1, которые должны одновременно
Рис. 10.21. Оси координат, связанные с объектами и их частями.
выполняться. Приравнивая оба уравнения (10.9-2) и устраняя общий член Block 2, мы получаем
/Г'М twix(0]) trans (0, уи zx)	twix (02) trans (0, y2, z2)f2.
(10.9-3)
Выражение (10.9-3) можно преобразовать следующим образом:
fa lM twix (0i) trans (0, yi + 1, Zi + 1) (/2) 'x
X trans (0, -ylt -22)twix(-02)M-1/;4 = A (10.9-4) где главные матрицы обозначают вращательный компонент преобразования, полученный подстановкой в последнюю строку матрицы [0, 0, 0, 1]. Можно показать, что для компоненты вращения и перемещения уравнения этого типа могут быть решены независимо. Уравнение вращения может быть получено заменой каждой из матриц trans на единичную и использованием только вращательных компонент других матриц. Уравнение вращения для уравнения (10.9-4) имеет вид
(/з) * М twix (0i) (f2) * twix (— 02)	= I. (10.9-5)
Поскольку /з = 1, уравнение (10.9-5) можно записать в виде
twix (0i) (f 2)“ ‘ twix (- 02) = М (fi)-' М, (10.9-6)
.556
так как
(ЛЭ-лПЛГ1 Af =
LO
— 1 0 On ООО О 1 О
0 0 1-
О
Равенство (10.9-6) выполняется, и мы можем выбрать 02 = O’-Полагая 02 = 0 в уравнении (10.9-6), мы получаем
twix (91) = М (]ч) ’м(/2) = 1.	(10.9-7)
Из уравнения (10.9-7) следует, что 01 — 0. Таким образом, урав-
- -1	0	0	От
0	10	0
0	0-1	О’
L 2	— уч	0 2 + г2 1-1
(10.9-8}
Blockl=
Г -1 о
о
- 1
вид
о о
-1
Ух
о-
0 о
1 1 -
О
1 о
Сравнивая соответствующие элементы матрицы, имеем
2 У2 — 1,
У1 = 0, 2 + = 2 z2.
Следовательно, у2 = 1, yi=0 и Zi = г2, т. е. блок 1 имеет одну степень свободы, соответствующую перемещению вдоль оси z.
Метод, используемый в предыдущем примере, был предложен в работе [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. Пространство состояний можно представить в виде (Nn, 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.
Приложение А.
ВЕКТОРЫ И МАТРИЦЫ
Ниже дается обзор основных положений векторного и матричного исчислений. Векторы обозначены полужирными строчными буквами, а матрицы — полужирными прописными буквами.
А.1. Скалярные и векторные величины
Физические параметры можно разделить на два класса: параметры, которые характеризуются только величиной, и параметры, которые характеризуются величиной и направлением. Параметры, имеющие только величину, называются скалярами (например, время, масса, плотность, длина, координаты). Скалярная величина обычно записывается в виде действительного числа с соответствующей размерностью. Сравнение скалярных величин можно производить, только если они имеют одинаковую размерность.
Параметры, имеющие величину и направление, называются векторами (например, сила, момент, скорость, ускорение). Вектор обычно представляется графически в виде стрелки, длина и направление которой соответствуют величине и направлению рассматриваемого параметра. Сравнение векторных величин можно производить только, если они описывают один физический параметр и имеют одинаковую размерность.
Два вектора а и b равны, если они имеют одинаковые длину и направление. Запись —а обозначает, что вектор имеет величину, равную вектору а, но противоположно направлен. С вектором связан положительный скаляр, равный его величине. Эта величина записывается в виде |а|. Если а является величиной или длиной вектора а, то
а = | а |.	(А.1)
Единичный вектор а имеет единичную длину в заданном направлении
|а|=1.	(А.2)
Любой вектор а в трехмерном пространстве может быть приведен к единичному вектору следующим образом:
а	а
(А.З)
569
где ах, ау и аг — элементы вектора а вдоль основных осей координат.
А.2. Сложение и вычитание векторов
Сложение двух векторов а и b является коммутативным, т. е.
а + b = b + а.	(А. 4)
Это легко проверить путем рассмотрения параллелограмма
Рис. А.1. Сложение векторов.
со сторонами а и b (рис. А.1). Сложение трех и более векторов ассоциативно (рис. А.1):
(а + Ь) + с = а + (Ъ + с) = а + b + с.	(А.5)
Разность между двумя векторами а и b записывается как а — b и определяется как вектор, проведенный из конца вектора
Ь в конец вектора а при совмещении начальных точек векторов а и Ь (рис. А.2).
А.З. Умножение векторов на скалярные величины
Умножение вектора а на скаляр т соответствует увеличению длины вектора а в \т\ раз в том же направлении, если т > О» и в обратном направлении, если т < 0. Таким образом,
Ь = та	(А.6)
и
|Ь| = |/п||а|.	(А.7)
При умножении векторов на скалярные величины используются следующие правила;
1)	т(па) = тпа-,
570
2)	m(a + b) = ma + mb;
3)	(m + ri) a = ma + na,
где тип — скалярные величины.	(А.8)
А.4. Линейное векторное пространство
Линейным векторным пространством V называется непустое множество векторов, определенных на области действительных чисел F, которые удовлетворяют следующим условиям сложения векторов и их умножения на скалярные величины:
1.	Сумма двух любых векторных элементов из V также является векторным элементом, принадлежащим V.
2.	Сложение двух любых векторных элементов V является коммутативным.
3.	Сложение трех любых векторных элементов V является ассоциативным.
4.	Существует единственный элемент, называемый нулевым вектором пространства V (обозначается через 0), такой, что для каждого элемента ае V:
0 + а = а-|-0 = а.
5.	Для каждого векторного элемента ае V существует единственный вектор (—а)е V, такой, что
а + (— а) = 0.
6.	Для каждого векторного элемента а е V и для каждого скаляра ms F произведение т на а также является вектором пространства V. Если т= 1, то
та = la = al = а.
7.	Для любых скаляров т и п из области F и любых векторов а н b из пространства V умножение на скалярные величины является дистрибутивным:
m (а + b) = ma + mb, (т + п) а = та + па.
8.	Для любых скаляров т и п из области F и любого вектора а из пространства V
т (па) = (тп) а = тпа.
Примерами линейного векторного пространства являются множества из всех действительных одно-, двух- или трехмерных векторов.
571
А.5. Линейная зависимость и линейная независимость
Конечное множество векторов {xi, х2, ..., хД в пространстве V является линейно зависимым тогда и только тогда, когда существуют п скаляров {ci, с2, Сз, ..., сп} в области F (не все равные нулю), такие, что
cpq + с2х2 + с3х3 + ... + с„х„ = 0.	(А.9)
Если единственным условием справедливости этого уравнения является тождественное равенство всех скаляров С/ нулю, то множество векторов {х<} является линейно независимым.
Два линейно зависимых вектора в трехмерном пространстве коллинеарны, т. е. они находятся на одной линии. Три линейно зависимых вектора в трехмерном пространстве компланарны, т. е. они лежат в одной плоскости.
Пример. Пусть а == (1, 2, 0)г, b = (0, 3, 2)г, а с= (3, 0,—4)г— векторы трехмерного векторного пространства. Эти три вектора составляют линейно зависимое множество в трехмерном векторном пространстве, поскольку
За — 2b — с = 0.
Они являются также компланарными.
А.6. Линейные комбинации, базисные векторы и размерность
Если существует подмножество векторов (ei, е2, ..., еп} в пространстве V и множество скаляров {еь е2, .. ., е„} в пространстве F, такие, что каждый вектор х в V может быть выражен как
п
х CjCj с2е2 "I- • • • crtert = ^2	(А. 10)
t=i
то вектор х является линейной комбинацией векторов {е,}. В этом случае говорят, что множество векторов {е,} охватывает векторное пространство V.
Базисными векторами в векторном пространстве V является множество линейно независимых векторов, охватывающих векторное пространство V. Другими словами, базисные векторы — это минимальное число векторов, охватывающих векторное пространство V. При выбранном множестве базисных векторов для векторного пространства V каждый вектор хе V’ может быть однозначно записан в виде линейной комбинации базисных векторов.
Размерность векторного пространства V равна числу базисных векторов, описывающих это пространство. Таким образом, n-мерное линейное векторное пространство имеет п базисных векторов. Для представления векторного пространства размерностью п используется обозначение Vn-
572
А.7. Декартовы системы координат
Из разд. А.6 следует, что при данном множестве из п базисных векторов {еь е2, ...,ел} в векторном пространстве Vn любой вектор г е Vn может быть однозначно записан в виде линейной комбинации базисных векторов:
Г = rIeI Н-r2e2 Н-...-4-г„е„.	(А. И)
В частности, при п = 3 в качестве базисных векторов могут служить три любых некомпланарных вектора.
В трехмерном векторном пространстве, если множество базисных векторов (еь е2, е3} имеет общее начало О, они образуют косоугольную систему координат с осями OX, OY и OZ,
Рис. А.З. Системы координат.
в,
направленными вдоль базисных векторов (рис. А.З). Соответствующим выбором направления базисных векторов можно формировать различные системы координат, которые обычно используются в инженерной практике.
Если базисные векторы {ei, е2, е3} расположены ортогонально друг другу, т. е. они пересекаются в начале координат О под
Л
Рис. А.4. Декартова система координат.
прямыми углами, то они образуют прямоугольную или декартову систему координат. Кроме того, если каждый из базисных векторов имеет единичную длину, то система координат называется ортонормальной. В этом случае обычно для обозначения базисных векторов вместо {ei, е2, е3} используется запись {i, j, к} (рис. А.4).
Если базисные векторы {i, j, к} ортонормальной системы координат направлены вдоль основных координатных осей и для совмещения оси ОХ с осью OY требуется поворот вправо на 90° относительно оси OZ, такая система координат называется
573
правой. Если же направление базисных векторов для аналогичного совмещения требует поворота влево, соответствующая система координат называется левой. В этой книге используется только правая система координат.
А.8. Произведение двух векторов
Кроме произведения скаляра и вектора важными являются еще два типа произведений. Первый тип называется скалярным (внутренним) произведением, а второй — векторным (внешним) произведением.
А.8.1. Скалярное (внутреннее) произведение
Внутреннее произведение двух векторов а и b является скаляром и определяется выражением
а • b = [ а 11 b | cos 0,	(А.12)
где 0 — угол между двумя векторами (рис. А.5). Скалярная величина
6 = |b|cos0	(А.13)
является компонентом вектора b вдоль вектора а, т. е. b численно равняется проекции b на а. Эта величина положительна,
Рис. А.5. Скалярное произведение, если проекция имеет одинаковое с вектором а направление, и отрицательна, если проекция имеет противоположное направление.
Скалярное произведение
а • b = | а | • | b | cos 0 = |a|6 = |b||a|
Д I К I	(Д’ 1 4)
cos0 = |b|a	’
равно произведению величины вектора а на компоненту вектора b вдоль вектора а. Оно также равно произведению величины вектора |Ь| на компоненту вектора а вдоль вектора Ь. Следовательно, скалярное произведение обладает свойством коммутативности;
а • b = b • а,	(А. 15)
574
Если скалярное произведение а и b равно нулю, то один из векторов или оба вектора равны нулю, либо они перпендикулярны друг другу и cos(±90°) = 0. Таким образом, два ненулевых вектора а и b ортогональны тогда и только тогда, когда их скалярное произведение равно нулю.
Поскольку внутреннее произведение может равняться нулю, когда ни один из векторов не равен нулю, то деление на вектор не определяется. Таким образом, если
а • Ь = а • с,	(А. 16)
то не b = с, а просто а-(Ь— с)=0 и b — с является нулевым вектором или вектором, ортогональным к а.
Если а и b имеют одно направление и 0 = 0°, то cos 0 = 1 и ab равно произведению длин этих двух векторов. В частности, если а — Ь, то
а • b = а • а = | а || а | = | а |2,	(А. 17)
т. е. равно квадрату длины вектора а.
Скалярное произведение векторов является дистрибутивным относительно сложения, т. е.
а • (Ь + с) = а • b + а • с	(А. 18)
и
(Ь + с) • а = Ь • а + с • а.	(А. 19)
А.8.2. Векторное (внешнее) произведение
Векторное (или внешнее) произведение ДвухЛекторов а и Ь определяется как вектор с:
с = аХЬ, "	(А.20)
который ортогонален к векторам а и b и имеет величину
| с | = | а || b | sin 0.	(А.21)
Вектор с направлен так, что вращение вправо вокруг с на угол 0, меньший 180°, совмещает а с Ь, где 0 — угол между а и b (рис. А.6).
Поскольку h ~ |b|sin 0 (рис. А.6), произведение а X b имеет величину, равную площади параллелограмма со сторонами а и Ь. Векторное произведение а X b может быть рассмотрено как результат проецирования вектора b на плоскость WXYZ, перпендикулярную плоскости векторов а и Ь, вращения проекции на 90° в положительном направлении вокруг вектора а и умножения полученного результата на | а |,
575
Векторное произведение b X а имеет ту же величину, что и аХЬ, но противоположное направление, т. е.
ЬХа = - (aXb).	(А.22)
Векторное произведение не является коммутативным. Если векторы а и b параллельны, то 0 равен 0° или 180° и
| а х b | = | а || b | sin 0 = 0.	(А.23)
И наоборот, если векторное произведение равно нулю, то один или оба вектора равны нулю или параллельны.
Отметим также, что векторное произведение дистрибутивно относительно сложения, т. е.
aX(b + c) = aXb + aXc	(А.24)
и
(Ь + с)Ха = ЬХа + сХа.	(А.25)
Для скалярного и векторного произведения единичных векторов i, j, к, направленных вдоль основных осей правой декартовой системы координат, имеем
i • i = j • j = k • k = 1,
i. j = j . k = k • i = 0,
i X i = j X j = k X k = 0,
i X j = — j X > = k, jXk = —kXj = i, k x i = - i X k = j.
(A. 26)
676
Используя определение составляющих элементов вектора и уравнение (А.26), скалярное произведение а и b можно записать в виде
а• b = (а, 1 + a2j + а3к) • (b,i + b2j + W = a1b1 + a2b2 + a3b3 — arb,
(A.27)
где ат обозначает транспонирование а (разд. A.12). Векторное произведение а и b можно записать в виде детерминанта (разд. А.15)
i j k
аХЬ= а, а2 «з
bj b2 b3
= (a,b3 — a3b2) i + (a3b, — a{b3) j + (a,b2 — a2&i) k. (A.28)
A.9. Произведение трех и более векторов
Для скалярных и векторных произведений трех и более векторов обычно выделяют следующие типы произведений:
(a-b)c, а-(ЬХс), аХ(ЬХс).	(А.29)
Произведение (а-Ь)с является простым произведением скаляра (а-b) и вектора с. Результирующий вектор имеет вели-
Рис. А.7. Смешанное произведение.
чину |а-Ь||с| и направление, совпадающее с направлением вектора с или противоположное ему в зависимости от знака (а-Ь).
Смешанное произведение а-(ЬХс) представляет собой скаляр с величиной, равной объему параллелепипеда с гранями, образованными векторами а, b и с (рис. А.7), т. е.
а • (b X с) = | а || b || с | sin Qcosa = hA — объем параллелепипеда,
(А. 30)
577
где h и А — соответственно высота и площадь основания параллелепипеда. Представляя векторы в виде составляющих их элементов в трехмерном векторном пространстве, получим
а • (b X с) = (aj + ayj + azk) •
X
сх
j k by bz Cy CZ
&x (byCz bzcy) -|- Uy (bzcx Ux	Uy	uz
—	bx	by	bz	•
cx	Cy	Cz
bxcz) + C^z{bxCy byCx) =*
(A.31)
Отметим, что скобки, выделяющие векторное произведение b X с, могут быть сняты, поскольку не имеет смысла представление a b X с в виде (а-Ь)Х с.
Видно также (рис. А.7), что объем параллелепипеда не зависит от плоскости, выбранной за его основание.
Таким образом,
'	а-ЬХс = Ь-сХа = с-аХЬ	(А.32)
и
а • b Xс = — а - сХЬ = - с • b X а = — b • а Хе. (Л.33)
Эти результаты могут быть получены из свойств детерминантов (разд. А.15). Запись а-ЬХс=аХЬ'С может быть
кратная циклическая
Циклическая
Рис. А.8. Циклическая перестановка.
представлена в виде (abc), поскольку смысл данного выражения не меняется от использования операции, обозначенной точкой или косым крестом. Уравнение (А.32), выражает циклическую перестановку этих векторов, а уравнение (А.33) выражает их обратную циклическую перестановку. Иллюстрация циклической перестановки приведена на рис. А.8. Уравнение (А.32) получается путем следования по часовой стрелке вдоль окружности. Таким же образом, но в обратном направлении, полу-
578
чается уравнение (А.33). Смешанное произведение может быть использовано для проверки линейной зависимости трех компланарных векторов. Если три вектора а, b и с — компланарны, то (abc)=0. Следовательно, если два или три вектора равны, то смешанное произведение будет равно нулю. Из этого следует, что если ei, е2 и е3 являются базисными векторами в векторном пространстве Уз, то (eie2e3) ¥= О, и они образуют правую систему координат при (eie2e3)>0 и левую систему координат при (eie2e3)<0.
Двойное векторное произведение аХ(ЬХс) представляет собой вектор, перпендикулярный (ЬХс) и лежащий в плоскости векторов b и с (рис. А.9). Предположим, что векторы а, Ь
Рис. А.9. Двойное векторное произведение.
и с неколлинеарны. Тогда вектор а X (ЬХс), находящийся в плоскости векторов Ь и с, может быть выражен в виде линейной комбинации b и с, т. е.
а X (b X с) = mb + пс.	(А.34)
Поскольку вектор аХ(ЬХс) перпендикулярен вектору а, то при скалярном умножении левой и правой частей уравнения (А.34) на вектор а получим 0:
а • [а X (b X с)] = т (а • Ь) + п (а • с) = 0.	(А.35)
Таким образом,
— = -=^- = Л, u '	(А.36)
а • с а • b ’	v '
где т, п и Я, — скаляры, и уравнение (А.34) примет вид
а X (b X с) = Я, [(а • с) b — (а • Ь) с].	(А.37)
Можно показать, что Я^=1, поэтому двойное векторное произведение будет равно
а X (Ь X с) = (а • с) b — (а • Ь) с.	(А.38)
579
Используя уравнение (А.22), получим
(а X b) X с = - с X (а X Ь) = - (с • Ь) а + (с • a) b. (А.39)
Более сложные случаи умножения четырех и более векторов можно упростить с помощью двойных произведений. Например,
(а X b) X (с X d) = (а X Ь • d) с — (а X b • с) d = (abd) с — (abc) d (АЛО)
и (а X b) • (с X d) = а • d X (с X d) = а • [(b • d) с — (b • c)d] = = (b • d) (а • с) — (b • с) (а • d).	(А.41)
А.10. Производные векторных функций
Производная вектора г(/) определяется как
д<
dr л 1- г (t 4- ДО — г (/)	.. Дг
~7тA lim —--------77----—= hm -гт-
dt д<->о	д;-»о “
(А.42)
Из уравнений (А.11) и (А.42) следует, что
(А.43)
и m-я производная от г (О равна
(А.44)
Из уравнения (А.42) вытекают следующие правила дифференцирования векторных функций:
!) 7F(a±b) = -^± —;
2)	~т~^’ где т~ Скаляр;
3)4<а-ь>=(»-ь+а'(т)^
4)	Л(аХЬ) = (»ХЬ+аХ(4));
5)	4 (аЬс) _ [(£) Ьс] + а [(-£) <] +	(£)]'
(А.45)
580
6)	й-[аХ(ЬХс)] = [-уХ(ЬХс)] + [аХ(4гХс)] + + [аХ(ЬХ»]-
А.11. Интегрирование векторных функций
Если da/dt = b(t), то интеграл вектора Ь(0 представляет собой
a(/)=$b(t)dr + c,	. м (А.46)
где с — постоянный вектор.
Если Ь(/) можно записать в прямоугольной системе координат, то
ах (О == j &х W ~Ь Сх>
ay(t) = ^by(x)dx + су,	(А.47)
аг (/) =\Ьг (т) dr + сг.
А.12. Матричная алгебра
Ниже мы рассмотрим еще один важный математический
инструмент—матрицы, которые составляют основу математического аппарата при анализе роботов. Матрица А (или AmXn) порядка тХ« представляет собой прямоугольную систему действительных или комплексных чисел, называемых элементами матрицы, которые расположены в т строк и п столб-
Ctm2 . . . Ятп _
Кроме специальных случаев будем предполагать, что А является действительной матрицей. Матрица, состоящая из одного столбца (строки), называется матрицей-столбцом (строкой). Матрица-столбец и матрица-строка часто рассматриваются как векторы.
Транспонированная матрица А, обозначаемая Аг, представляет собой матрицу, номер строки в которой совпадает 581
с номером столбца
матрицы А. Другими словами, если
	Цц	а12		
А =	а21	Я 22	•<.	а2п
_йт1 йт2  • •
		аи	а21 •	• ат\
		а12	а22 •	• ат2
ТО	А7 =			
			а2п 	• йщп _
г = 1, 2, .. /=1, 2, ..		.. т.	
		., п,	(А.49)
г = 1,	2, ..	п,	
/=1,	2, ..	т.	(А.50)
В частности, при транспонировании матрицы-столбца получается матрица-строка, и наоборот.
Квадратная матрица порядка п имеет одинаковое число строк и столбцов (т. е. т — п). Диагональная матрица порядка п является квадратной матрицей с нулевыми недиагональными элементами, т. е. элементы
aij — 0 при г =/= / для г, j = 1, 2, ..., п.	(А.51)
Единичная матрица порядка п представляет собой диагональную матрицу с единичными диагональными элементами, т. е. at, = 1, если i = j, и ац = 0, если i =#= /. Эта матрица называется тождественной и обозначается через 1„ или \пхп-
Симметрической матрицей порядка п называется квадратная матрица, которая не изменяется при транспонировании, т. е. А = Аг или ац = ац для всех i и /. Если элементы квадратной матрицы такие, что
ctij — — aif и а;; = 0,
I, /—1, 2.....п,	(А.52)
то матрица называется кососимметрической. Отметим, что если А — кососимметрическая матрица, то А = —А7.
Любая несимметрическая матрица А может быть преобразована в симметрическую матрицу С следующим образом:
С =	' (А.53)
Нулевой матрицей называется матрица, все элементы которой тождественно равны нулю. Две матрицы одного порядка равны, если равны их соответствующие элементы, т. е. если ац — Ьц для всех i и /, то А = В.
582
A.13. Сложение матриц
Сложение (вычитание) матриц А и В одного порядка дает результирующую матрицу С того же порядка, элементы которой представляют собой сумму (разность) соответствующих элементов матриц А и В. Таким образом,
А-(-В = С или aif -\-b(j = cij для всех I, j (А.54) и
А — В = С или — bij = Cij для всех i, j. (А.55)
Сложение матриц имеет те же свойства, что и сложение действительных чисел:
1)	А + В= В + А;
2)	(А+В)+С = А + (В + С);
3)	А 4-О = А (О — нулевая матрица);	(А.56)
4)	А + (-А)=О.
А.14. Умножение матриц
Произведение скаляра и матрицы получают путем умножения каждого элемента матрицы А на скаляр. Таким образом,
£А = Kk = [kat/1 = [at/k], i=l, 2, ..., tn, /=1, 2, ..., n.
При умножении произвольной матрицы порядка (и/я) на произвольный скаляр справедливы следующие правила:
1)	ц(А+ В)= аА + аВ;
2)	(а + Ь)А = ак + Ьк\
3)	а(&А)=(а&)А;	*;	(А.57)
4)	1А==А,	.<
где а иЬ — скаляры.
Две матрицы могут быть перемножены, только если они соответствуют друг другу, т. е. если АВ = С, то число столбцов А должно быть равно числу строк В, при этом результирующая матрица С имеет число строк и столбцов, соответственно равное их числу в А и В. Таким образом,
п
(ктхп) (В„ХР)= Стхр ИЛИ Cij ~ Clikbkf-	'(А.58)
k = 1
Относительно уравнения (А.58) можно сказать, что или А стоит перед В, или В стоит после А при формировании С. Для получения элемента i-й строки и /-го столбца С суммируются произведения членов соответствующих элементов в i-й строке А и /-м столбце В по уравнению (А.58). Другими словами, производится умножение i-й строки А на /-Й столбец В. Как
583
правило, умножение матриц не является коммутативным, даже если они соответствуют друг другу, т. е. для квадратных матриц А и В порядка п имеем АВ =И= ВА.
Если АВ = ВА, то матрицы коммутативны. Единичная матрица коммутативна относительно любой квадратной матрицы:
IA = AI = A.	(А.59)
Умножение матриц ассоциативно и дистрибутивно по отношению к сложению матриц, т. е.
1)	(feA)B = ЦАВ) = А(/гВ);
2)	А(ВС) = (АВ)С;
3)	(А + В)С = АС + ВС;	(А.60)
4)	С(А + В)=СА + СВ
в предположении, что умножение осуществимо. Из правила 2) следует, что при умножении трех матриц можно или умножить В на С или умножить А на В, а потом умножить результат на оставшуюся матрицу. Обычно АВ = О не означает, что А = О или В = О. Сформулируем следующие правила умножения матриц:
1)	(Матрица)тх„ (Матрица),,хр = (Матрица)*,хр;
2)	(Матрица),,, х„ (Матрица-столбец),,Х1 = (Матрица-столбец^ х1;
3)	(Матрица-строка), х„ (Матрица-столбец),, Х1 = Скаляр;
4)	(Матрица-строка), (Матрица)тХп = (Матрица-строка)^^
5)	(Матрица-столбец)*, х, (Матрица-строка), х„ = = (Матрица)тХ„.
Иногда при сложении и умножении матриц удобно разбивать матрицы на подматрицы для применения правил матричной алгебры к подматрицам.
А.15. Детерминанты
Детерминант матрицы А размерностью п%п записывается в виде
	аи	а12 •	 а1п
	Ц21	а22 •	• &2п
А| =	ащ	ап2 •	• &ПП
(А.61)
584
и равняется сумме произведений элементов произвольной строки или столбца на их соответствующие алгебраические дополнения, т. е.
п	п
I А ] = £ ачАц = £ аиАц.	(А.62)
Здесь А,, — дополнение элемента ац, которое определяется выражением
а17 = (-1У+/мф		(А.63)
где Mi, — дополнительный минор, полученный исключением элементов в г-й строке и /-м столбце детерминанта |А(. Другими словами, если
		а12	• • ац •	• Я[п
I А| =	а21	а22	• • • а21 •	• ^2п
		ai2	... alf .	
		ап2	• • • anj •	* ^пп
то, исключая элемент, г-й
строки и /-го столбца, получим
а11	а12	•••	а1,/-1	й1,/ + 1	•••
ai-l,2	al-\,n
ai + l, 1 a 1 +1,2	ai + i,I + i ••• ai + l,n
^n2	•••	/—I	^A,/ + l ••• ^nn
Из приведенного определения следует, что детерминант порядка п зависит от п детерминантов порядка п— 1, каждый из которых в свою очередь зависит от п—1 детерминантов порядка п— 2, и так далее до детерминанта порядка 1, который является скаляром.
Для вычисления детерминантов второго и третьего порядков может быть использован простой диагональный метод. Для п — 2 имеем
|А| =
аи
а21
а12
а22
— ^11^22 — а21а12-
(А.64)
585
Детерминант третьего порядка находится следующим образом:
Й11 й12 «13
«21	«22	«23
«31 «32 «33
— «11«22«33 Ч~ «12«23«31 +
+ «13«32«21	«31«22«13	«12«21«33 а11«32«23-
(А.65)
Для упрощения вычислений детерминантов используются следующие свойства:
1.	Если все элементы любой строки (или столбца) матрицы А равны нулю, А| = 0.
2.	' ''	’
3.
Если две любые строки (или столбца) матрицы А поме-
нять местами, изменится знак соответствующего детерминанта.
4.	Если А и В имеют порядок п, то |АВ| = |А||В|.
5.	Если все элементы любой строки (или столбца) матрицы А умножить на скаляр k, значение детерминанта увеличится в k раз.
6.	Если ранг (разд. А. 16) матрицы А порядка п меньше п,
ее детерминант равен нулю.
7. Если кратное любой строки (или столбца) сложить с другой строкой (или столбцом), детерминант не изменится.
Пример. Пусть
Тогда
1 а а2
1 b Ь2
1 с с2
1 а а2
0 b — а Ь2 — а2
0 с — ас2 — а2
= (Ь — а) (с2 — а2) — (с — а) (Ь2 — а2) = — (a — b)(b — с) (с — а).
Этот детерминант называется детерминантом Вандермонда
третьего порядка.
А.16. Ранг матрицы
Если строки квадратной матрицы А порядка п линейно независимы, детерминант такой матрицы не равен нулю, а матрица называется невырожденной. Если детерминант квадратной матрицы порядка п равен нулю, то матрица — вырожденная, а ее строки не являются линейно независимыми. Таким образом, де-586
терминант может использоваться для характеристики особенности матрицы.
Ранг матрицы А порядка т\п равен порядку наибольшей подматрицы А с ненулевым детерминантом. Следовательно, матрица порядка пг\п может иметь ранг, равный наименьшему из значений т и п или ниже. Ранг матрицы определяет число линейно независимых строк (или столбцов) в матрице.
А.17. Присоединение и обратные матрицы
Если А — квадратная матрица, а Л<7— алгебраическое дополнение элемента а(/ в детерминанте | А], то транспонированная матрица, полученная из дополнений Ае/, называется присоединенной к А матрицей:
1Л/Е = Ил] I, / = 1, 2, ..., п.	(А.66)
Иногда присоединение к А записывается в виде adj А.
Обратная матрица А-1 к невырожденной квадратной матрице А равна присоединенной к А матрице, деленной на детерминант А, т. е.
Произведение невырожденной матрицы А порядка п\п на свою обратную матрицу равно тождественной'матрице 1п, т. е.
АА~' = А-1А = 1„.	(А.68)
Таким образом, из уравнений (А.67) и (А.68) получаем
(а d/А) А = A (a d/A) — | А11„	(А.69)
и
^-‘1 = ^.	(А.70)
Если Аь А2, ..., Ал — квадратные матрицы порядка п, обратная матрица их произведения равна произведению их обратных матриц в обратном порядке:
(AiA2 ... А„)~' =	. А2~‘АГ‘.	(А.71)
Аналогично, если существует матрица произведения А[А2 ... ... А„, то транспонированная матрица этого произведения равна произведению транспонированных матриц в обратном порядке:
(А,А2АЧ ...	= (A„f (А„_ У ... (А2/ (АОЛ (А.72)
В общем случае матрица порядка 2X2
587
имеет обратную матрицу, равную
Аналогично матрица порядка 3X3
имеет обратную матрицу, равную
А-1 —___________________________________
aei + dhc + gfb — afh — dbi — gee
(el — fh)
X ~ {di — fg) - {dh — ge)
— (bi — ch)
{ai — eg) — (ah — bg)
(bf — ce) -— (af — cd)
(ae — bd).
Важный результат, называемый леммой об обращении, формулируется следующим образом:
[А-1 + ВГСВ] ‘ = А — АВГ [ВАВГ + С-1]"1 ВА. (А.73)
Доказательство этого результата предполагается выполнить в качестве упражнения.
А. 18. След матрицы
Следом квадратной матрицы А порядка п является сумма ее диагональных элементов
Traced. = Тг (А) = У atl.	(А.74)
1 = 1
Некоторыми важными свойствами следа матрицы являются следующие свойства:
1)	77(Д)= 77(АГ);	(А.75)
2)	Тг(А + В) = Тг(А) + Т'г(В);	(А.76)
3)	Тг (АВ) = 77(ВА);	(А.77)
4)	77 (ABC7-) = TV(CB7'Ar).	(А.78)
Более подробное изложение материала, рассмотренного в данном приложении, можно найти в работах [21, 82, 218, 237, 285].
Приложение Б.
ЯКОБИАН МАНИПУЛЯТОРА
При раздельном (независимом) управлении движением (гл. 5) необходимо определять, насколько бесконечно малое движение каждого сочленения манипулятора влияет на бесконечно малое движение всего манипулятора. Одним из преимуществ раздельного движения является существование линейного соответствия между пространством бесконечно малого движения сочленений и пространством бесконечно малого движения манипулятора. Это соответствие определяется с помощью якобиана. Ниже рассматриваются три метода получения якобиана для шестизвенного манипулятора с поступательными и вращательными сочленениями.
Б.1. Метод векторного произведения
Пусть векторы положения, линейной и угловой скорости манипулятора (конечного звена) относительно базовой системы координат (х0, уо, zo) определяются соответственно в виде
Р(0А(рЛ0, Ру«), Рг«)]Т, v (О А [МО, Vytfi’ МОЕ Q(0 А ЕЛО, «ЛО, МОЕ
(Б.1)
где, как и выше, знак Т обозначает операцию транспонирования. Основываясь на идее подвижной системы координат [310], линейную и угловую скорости манипулятора можно получить из скоростей входящих в манипулятор сочленений:
[ Q(0 ] = J (q) q (/) = [J1 (q)> 1,2 (q).....Js (q)] q (/) 1 (Б-2)
где J(q)—матрица порядка 6X6, в которой i-й столбец вектора J,(q) определяется [310] в виде
z/ — l X '"‘Рб
, если i-e сочленение — вращательное,
J/(q) = S
z/-i 0
если t-e сочленение — поступательное.
(Б.З)
где q(O = Ei(O, • ••, МОЕ— вектор скорости сочленения манипулятора, X — знак векторного произведения, ‘-'ре — положе
589
ние начала системы координат конечного звена манипулятора относительно системы координат (г—1)-го звена, записанное в базовой системе координат, a z(_i— единичный вектор вдоль оси движения i-го сочленения, записанный в базовой системе координат.
Для шестизвенного манипулятора с шарнирными сочленениями якобиан может быть найден в виде
20
21
К Рб zs
(Б.4)
(рис. 2.11) и матриц пре-
(рис. 2.13) элементы яко-
Для манипулятора робота Пума образования координат его звеньев биана определяются следующим образом:
Ji (0) =
—Si [d6 (C23C4S5-i-S23C5)-i-S23d4-i-a3C23-j-a2C2]—Ct (</6S4S5-f-d2)
Cl Иб (C23C4S5 + S23C5) -J-	— S[ (4Z6S4S5-|-d2)
0
0
0
1
J2(0) =
d6(?iS4S5d-2^1
deS[S4S3 -j- d2Sl
•Gz
-s,
0
где
/2г —	d3C23C3	d4C23 Ч~ азС2з 4~ ^гС2]
— C[ [d6C23C4S5 -J- deS23C3 -J- d4S23 + a3C23 4~
d6SIS4S3
J 3z
J3(6)=	-s*	.
C!
0	:
590
где	......
/Зг = — S[ [d6S3C4S5 — dFjC3C-s — diC3 +	—
— C1 [dgCjC^.S- -f- d3S3C5 diS3 4-
S1S23 (^6^5 + ^4) — dQC23SiS-
d3C23CiS3— ClS23(d6C5-\-d^
ox ^^i^23SiS3 dijSiSt^CiS-.
•M*’) =	r e	>
Ь1С>23
S[S23
С2З
deS23SiC3
d3S23SiS3
d^C^C^SiCs + dgSxCiC^ 4- dg-SjCggSgS-, d3C[CiS5
Л() =	— C'1c23s4 —SjC4
— х^ + сд
S23S4
d6 (SAA + CrS4) S5 + d&SiS23C5
— d& (ВДА S[S4)S5 d3C[S23C5
0
Js (0) = (CA3C4 - ЗД) 53 + c{s23c5
(S[C23Ci 4- C[S4) S5 4- 5 [S23C3
— S23C4S5 4- C^Cs
где Sz = sin0z, Cz = cos0z, Sz/ = sin (0Z 4- 0/)
Cij = COS (0; 4-0;).
Если требуется управлять манипулятором вдоль или вокруг осей системы координат манипулятора, необходимо выразить линейную и угловую скорости в системе координат манипулятора. Это можно сделать умножением v(/) и £2(/) на матрицу вращения [“Re]7" размерностью 3X3, где °R6—матрица вращения манипулятора, связывающая положение системы координат конечного звена манипулятора с базовой системой координат. Таким образом,
r6vom r[°R6]r О 1Гу(/)1_ r6Ro °1 гпмЭл
L4(d-L о [wJlrwj-! о %J
(Б.5) где 0 — нулевая матрица размерностью 3X3.
591
Б.2. Метод дифференциального перемещения и вращения
В работе [229] используется однородная матрица преобразования для нахождения дифференциального перемещения и вращения относительно системы координат, из которых определяется якобиан манипулятора. Для заданной системы координат Т звена манипулятора дифференциальное изменение в Т соответствует дифференциальному перемещению или вращению вдоль или вокруг базовых осей координат, т. е.
или
6 = (б%, бу, бг)г — дифференциальное вращение вокруг основных осей базовой системы координат, a d = (dx, dy, dz)T—- дифференциальное перемещение вдоль основных осей базовой системы координат. Аналогично дифференциальное изменение в Т может быть записано в соответствии с дифференциальными перемещением и вращением вдоль и вокруг системы координат Т:
592
или
где 7 А имеет ту же структуру, что и в уравнении (В.8) с учетом, что определения 6 и d —различны. 6 = (6Х, бу, бг)т— дифференциальное вращение вокруг основных осей системы координат a d = (dx, dy, dz)T — дифференциальное перемещение вдоль основных осей системы координат Т. Связь между А и ГА получаем из уравнений (Б.7) и (Б.10):
.	АТ = (Т) (ГА)
или
ГА = Т-1АТ.
(Б.11)
С учетом уравнения (2.2-27) уравнение (Б.11) имеет вид
ГА = Т‘\Т =
п-(бХп) n-(6Xs) п-(бХа) n-(6XP)+d-s-(dXn) s-(6Xs) s-(6Xa) s-(6Xp) + d a-(JXn) a-(dXs) a-(6Xa) a-(6XP) + d
0	0	0	0	-
(Б. 12)
где 6 = (бх, бу, бг)г — дифференциальное вращение вокруг основных осей базовой системы координат, a d = (dx, dy, dz)T— дифференциальное перемещение вдоль основных осей базовой системы координат. Используя векторные тождества
х • (У X z) = — у • (х X z) == у • (z X х)
и
х • (хХу) = 0,
20 К. Фу и др.
693
уравнение (Б.12) можно записать в виде	; ;
О '	_6.(nXs)	6.(аХп) 6 • (pXn)+d • п-
6-(nXs) О -HsXa) MpXs)+<bs
-б-(аХп) 6-(sXa)	. О MpXa)+d-a
О	О	О	О	-
(Б.13)
Поскольку координатные оси n, s, а — ортогональны, имеем
, -	nXs = a, sXa = n, aXn = s,
и уравнение (Б.13) запишется в виде
Г °		— 6 • a 0	6 • s 6  (p X n) -f- d • n -— 6 • n 6 • (P X s) + d  s	. , • s )
T *	6 • a			
TA =	— 6 • s	6 • n	0 .fr-(pXa) + d-a	. (Б.14)
	- 0	0	0	0	
Если задать элементы ТА в виде
	’ 0	~4		"4	
		0	~4	Td	
TA =	vz -4	4	°x 0	ay	’ s <Б-15)
	0	0	0	0	
то, приравнивая элементы матриц из уравнений (Б.14) и (Б.15), получим
Tdx = 5 • (р X п) + d  n = п • [(5 X р) + d], 4 = 6 • (р X s) + d • s = s • [(6 X р) + d], 4 = 6-(pXa) + d-a = a-[(6Xp) + dl, 4 = 6 • n,	,
4 = 6 • s, 4 = 6 • a. .	' - ••
(Б.16)
594
Записывая эти уравнения в матричной форме, имеем ~'dx~ rdv yd2 Чх Чу тбг
[n, s, a]7 [(pX«), (pXs), (pXa)F 0	[n, s, a]r
Clx dy dz
by _бг_
. (Б.17>
где 0 — нулевая подматрица размерностью 3X3. Уравнение (Б.17) дает связь дифференциальных перемещения и вращения в базовой системе координат и дифференциальных перемещения и вращения в системе координат Т.
Применяя уравнение (Б. 10) к кинематическому уравнению серийного шестизвенного манипулятора, получим дифференциал °Т6:
d°T6 = °Т6т”А.	(Б. 18)
В случае шестизвенного манипулятора дифференциальное изменение движения i-ro звена вызовет соответствующее изменение в °Т6Т’А:
/Т6 = °Т6Т,А = °А11А2 ... ‘~2А^ г-‘А/-‘Аг ... 5А6, (Б. 19)
где /_1А/ определяется как преобразование дифференциального, изменения вдоль или вокруг оси движения i-ro сочленения:
-0 -dBl 0 0-1 d0z 0	0 0
0	000
- 0	0	00-
гО	0	0	0	-1
0	0	0	0
О	О	О	ddt	’
-000	0	-
если i-e сочленение — вращательное,
если i-e сочленение — поступательное :
Используя уравнение (Б.19), получим Т’А из дифференциального изменения движения i-ro сочленения:
T’A = (,-‘A/AZ+I ... 5А6)-1 “~1Ai (Z-1A/Af+I ... 5A6)=Ur1‘-‘A(-Uz,
(Б.21) где
U, = ‘->A/A/+1 ... 5А6.
20*
59В
Записывая U, в виде общей однородной матрицы преобразования, получим
^х $х @х Рх пу sy ау Ру nz sz az рг -ООО 1 -
(Б.22)
С учетом уравнений (Б.20) и (Б.22) для i-ro вращательного сочленения, уравнение (Б.21) примет вид
	г 0	—	&г $г Рхпу	Ру^х~		
Т‘Д =	az 0	Пг Рх$у	— PySx	dQt. (Б.23)
	— s2 п	г	0 Рхау	— РуЯх	
	- 0	0	0	0	
Для случая	призматического i-ro		сочленения уравнение	
(Ь.21) запишется в виде				
		- 0 0 0 пг-		
		0 0 0 sz		
	Тбд =	0 0 0 аг	ddj.	(Б.24)
		-0000-		
Для элементов TsA, которые были определены в уравнении (Б.15), приравнивая элементы матриц в уравнениях (Б.15) й (Б.23) [или (Б.24)], получим
Рхпу — рупх
PxSy PySx
Рхау руах
Пг
S2
az
dQh если i-e сочленение — вращательное,
(Б.25)
если i-сочленение — поступательное.
696
Таким образом, якобиан манипулятора может быть получен из уравнения (Б.25) для i—1, 2, .6:
~Tsd ~ ux		~dqr	
T‘dy		dq2	
Tsdz		dq3	
Te s	= J(q)	dqi	(Б.26)
Ta® °y		dq-3	
Te s _ °z -		-dq6_	
где столбцы матрицы якобиана получаются из уравнения (Б.25). Для манипулятора робота Пума (рис. 2.11) и его матриц преобразования звеньев (рис. 2.13) якобиан определяется в виде
Лх
j 1у
J1(0)= -[S23(C4C5C6-S4S6) + C23S5C6], ’
s23 (C4C5S6 + S4C6) + С23ЗД
— S23C4S5 + C23C5
где
Jix ~ [^6 (^23^4^5 + ^2зСз) + diS23 + й3С23 + a2C2] (S4C5C6 4- C4S6) ~ (Ws + d2) [C23 (C4C5C6 - S4S6) - S23S5C6]),
Jiy = [<4	4* ^23^5) 4* ^4823 + «эСгз+^Сг] ( 54C’5S64-C’4C’6)
—	(^6^4^5 + d2) [— C23 (C4C5S6 4- S4C6) 4- S23S3S6],
J 1г = [d6 (C23C4S5 4- S23C5) 4- d4S23 4- a3C 23 4- a2C2] (S4S5)
—	(^e^4^5 4* d2) (C23C4S5 4- 523C5);
^2x
Jiy
j2(0)= S^ + C.s, ’
— 54C3S6 4* C4s6
. Л.-. :•		•- ДЛ _	•	.
597
где
72х = (d6S3C5 4~ d6C3C4S5 4~ d4S3 -J- а3С3 4- а2) (S3C6) —
—	(— d&C3C5 -f- d6s3c4s5 — d4C3 4~ a3S3) (C4C5C6 — S4S6), J2y = — (d(,S3C3 Ц- S6C3C4S5 -j- d4S3 4- a3C3 4- a2) (S5S6) 4~
4" (— d3C3C-, 4- d§S3C4S3 d4C3 4" a353) (^4^aS6 4~ S4C6), /22 ~ — (d3S3C5 4- d3C3C4S3 4- d4S3 4- a3C3 4~ ct3) C5 —
—	(— d3C3C3 4" d&S3C4S3 — d4C3 4" аз53) (C4*S5);
-	(a3 4- d3C4S3) (S5C6) 4- (d4 4- d6C5) (C4C5C6 - S4S6) ’ — (a3 4- d3C4S3) (S3S&) — (d4 4- d3C5) (C4C5Sq 4~ S4C6) — (аз 4- d3C4S3) C5 4- (d4 4- d&C5) C4C5
'a(0)==	s4c5c64-c4s6
— s4c5s6 4- c4s6
S4s5
Б.З. Определение якобиана из уравнений движения
Ньютона — Эйлера
В рассмотренных двух методах якобиан был получен в аналитической форме. Возможно численное определение элементов якобиана во времени в явном виде из уравнений движения Ньютона — Эйлера. Это определение основывается на том, что отношения малых величин ускорений конечного звена манипулятора к малым величинам ускорений сочленений являются элементами якобиана, если исключить нелинейные компоненты ускорений из уравнений движения Ньютона — Эйлера. Ускорения манипулятора могут быть получены путем нахождения про-
698
взводной по времени от вектора скорости из уравнения (Б.2):
1 = J(Ч)Ч(0 + j(Ч, q) q(О,	(Б.27)
L У (t) J
где q(0— [<71(0» ••> <7е (0 ]г — вектор ускорения сочленения манипулятора. Первый член уравнения (Б.27) дает линейную связь между ускорениями манипулятора и сочленений. Второй член характеризует нелинейные компоненты ускорений и является функцией скорости сочленений. Таким образом, линейная связь между ускорениями манипулятора и ускорениями сочленений может быть найдена из уравнений движения Ньютона-Эйлера с помощью первого члена в уравнении (Б.27). Из табл. 3.3 имеем следующие рекурсивные кинематические выражения (здесь рассматриваются только манипуляторы с шарнирными сочленениями):
!R0co(- = %_! ('-'Rocoz.j + z0<7z),	(Б.28)
zRod>f == ‘R/,! [i-1Rowz_, + zoqi + ('-%со,_1) X Zo^/l, (Б.29) *ад = сад) X сад) + сад) X
x [сад) x сад)] + гад c~ ’ад_>)- (б.зо>
Третий член уравнения (Б.29) и второй член уравнения (Б.30), представляют нелинейные кориолисово и центробежное ускорения. Исключая эти члены в уравнениях (Б.29) и (Б.ЗО), получим линейную связь между ускорениями манипулятора и ускорениями сочленений. Если использовать входной единичный вектор ускорения (^i, q2, q6)T = (1, 0, 0, ..., 0)г, (qi, q2, ... ..., q.)T = (0, 1, 0, ..., 0)г, (<7ь q2, ..., q&)T = (0, 0, 0, ..., l)r и т. д., то столбцы якобиана могут быть выделены, так как первый член в уравнении (Б.27) является линейным, а второй (нелинейный) член исключен. Этот численный метод требует около 24п(м4-1)/2 операций умножения и 19м(п 4- 1)/2 операций сложения, где п — число степеней свободы. Кроме того, необходимо произвести 18и операций умножения и 12м операций сложения для преобразования ускорений манипулятора из системы координат его звеньев в систему координат манипулятора.
Хотя эти три метода эквивалентны с точки зрения нахождения якобиана, последний метод удобен для устройства управления, использующего уравнения движения Ньютона — Эйлера. Поскольку для определения моментов в сочленениях из уравнений движения Ньютона — Эйлера разработаны способы параллельного вычисления [158], то якобиан может быть также вычислен этими способами. Однако последний метод дает только численные значения якобиана и не позволяет получить его аналитическую форму.
Более подробно вопросы, затронутые в данном приложении, можно найти в работах [222, 229, 310].
599
ЛИТЕРАТУРА
1.	Aggarwal J. К., Badler N. I. (eds.) Motion and Time Varying Imagery, Special issue. IEEE Trans. Pattern Anal. Machine Intelligence. PAMI-2, No. 6, pp. 493—588, 1980.
2.	Agin G. J. Representation and Description of Curved Objects, Memo AIM-173, Artificial Intelligence Laboratory, Stanford University, Palo Alto, Calif., 1972.
3.	Albus J. S. A New Approach to Manipulator Control: The Cerebellar Model Articulation Controller, Trans. ASME, J. Dynamic Systems, Measurement and Control, pp. 220—227, 1975.
4.	Ambler A. P. A Versatile System for Computer Controlled Assembly, Artificial lintelligence, 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-link Manipulator, Proc. 5th World Congr., Theory of Machines, Mechanisms, 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, Computer 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. T., 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 Intelligence, 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 Segmentation, Artificial Intelligence, 8, No. 3, p. 241—274, 1977.
15.	Barrow H. G., Tenenbaum J. M. Interpreting Line Drawings as Three-Dimensional 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 Advanced 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 Implementation, Inti. 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., Amsterdam, 1981.
29.	Brady J. M„ 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 Intelligence, 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 Operations, Inti. J. Robotics Res., vol. 2, no. 4, pp. 19—44, 1983b.
36.	Brooks R. A., and Lozano — Perez T. «А Busdivision Algorithm in Configuration Space for Find-Path with Rotation», Proc. Inti. Joint Conf. Artificial 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, Sensors 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. Industry, Series B, 85, pp. 289—297, 1963.
601
42.	Chase M. A., Bayazitoglu Y. O. Development and Application of a Generalized 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 Techniques 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 Ventricle from Cineangiograms, Comput. and Biomed. Res., 5, p. 388—410, 1972.
46.	Chung M. J. Adaptive Control Strategies for Computer-Controlled Manipulators, 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, Graphics, and Image Proc., 21, pp. 222—238, 1983.
48.	Craig J. J. JARS: JPL Autonomous Robot System, Robotics and Teleoperators 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., Biasgen 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, Northwestern U., Evanston, HI, 1965.
57.	Denavit J., Hartenberg R. S. A Kinematic Notation for Lower-Pair Mechanisms Based on Matrices, J. AppL Meeh., 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: Meltzer, 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—11641 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, Inti. 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 Automation, Proc. 4th Inti. Joint Conf. Artificial Intelligence, pp. 758—765, 1975.
81.	Franklin J. W. Vanderburg G. J. Programming Vision and Robotics Systems with RAIL”, SME Robots VI, pp. 392—406, 1982.
82.	Frazer R. A., Duncan W. T., 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 Rectangle 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”, Inti. 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 С. C. 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 Automation (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 Introduction, 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 Inti. 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 Comparative 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, Inti. J. Robotics Res., 2, No. 2, pp. 46—50, 1983.
111.	Haralick R. M. Statistical and Structural Approaches to Texture, Proo. 4th Inti. Joint Conf. Pattern Recog., pp. 45—60, 1979.
112.	Haralick R. M., 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 Processing Techniques, Appl. Optics, 16, pp. 1268—1271, 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. Cybern, 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. C. 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”, Inti. J, Robotics Res. vol. 1, no. 2, pp. 33—44, 1982.
121.	Holland S. W„ Rossol L„ Ward M. R. CONSIGHT—1: A Vision-Controlled Robot System for Transferring Parts from Belt Conveyors, in Computer 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 Complexity”, 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 В. К. 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 Inti. 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 M. K. Visual Pattern Recognition by Moment Invariants”, IEEE Trans. Inform. Theory, 8, pp. 179—187, 1962.
129.	Huang T. S., Yang G. T., 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. Meeh., 45, pp. 889—894, 1978.
132.	Inoue H. Force Feedback in Precise Assembly Tasks, MIT Artificial Intelligence Laboratory Memo 308, MIT, Cambridge, Mass., 1974.
133.	Ishizuka M., Fu K. S., Yao J. T. P. A Rule — Based Damage Assessment Systems for Existing Structures, SM Archives, 8, pp. 99—118, 1983.
134-	Itkjs U. Control Systems of Variable Structure, John Wiley N. Y. 1976.
135.	Jain R. Dynamic Scene Analysis Using Pixel — Based Processes, Computer, 14, No. 8, pp. 12—18, 1981.
136.	Jain R. Segmentation of Frame Sequences Obtained by a Moving Observer, 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 Effectors, Mechanism and Machine Theory, 12, Nol 1, pp. 95—108, 1977.
140.	Kahn M. 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,”, Inti. J. Robotics. Res, 2, No. 3, pp. 3—21, 1983.
142.	Katushi L, Horn В. К. 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 1’Aeronautique et de 1’Espace, Toulouse, France, 1980.
145.	Kirk D. E. Optimal Control Theory, An Introduction, Prentice-Hall, Englewood 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 Decomposition”, Comput. Graphics Image Proc., 5, pp. 68—105, 1976.
148.	Kohler R. J., Howell H. K. Photographic Image Enhancement by Superposition 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 Successive Screw Displacement, J. Engr. for Industry, Trans. ASME, 2, series В pp. 739—747, 1975.
150.	Koivo A. J., Guo T. H. Adaptive Linear Controller for Robotic Manipulators. 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 Information and Control Engineering Program, University of Michigan, Ann Arbor, Mich., 1985.
153.	Lee С. C. Elimination of Redundant Operations for a Fast Sobel Operator, 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 Automation 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 Feedforward 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 Identification, Washington D. C., pp. 1454—1459, 1982.
606
163.	Lee C. 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 Inti. 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 Control 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 Systems, AES-20, No. 6, pp. 695—706, 1984.
169.	Lewis R. A. Autonomous Manipulation on a Robot: Summary of Manipulators 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 Movements, IEEE Trans. Systems. Man. Cybern., SMC—11, Nol 11, pp. 691—< 698, 1981.
174.	Lozano —Perez T. Spatial Planning, A Configuration Space Apace Approach, IEEE Trans. Comput C-32, No. 2, pp. 108—120, 1982.
175.	Lozano — Perez T., Robot Programming, Proc. IEEE, 71, No. 7, pp. 821— 841, 1983.
176.	Lozano — Perez T. Task Planning in Robot Motion: Planning and Control. (M. Brady et al., eds.), MIT Press, Cambridge, Mass., 1983.
177.	Lozano—Perez T., 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 Manipulators. 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 Computer Controlled Mechanical Manipulator, IEEE Trans. Systems, Man, Cybern, SMC-12, pp. 214—234, 1982.
607
184.	Luh 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, Measurements 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.	Marek V. Algorithms for Complex Tactile Information Processing, Proc. Inti. Joint Conf. Artificial Intelligence, pp. 773—774, 1981.
188.	Mackiewicz B. R. Analysis of the Computed Torque Drive Method and Comparison with Conventional Position Servo for a Computer Controlled Manipulator, Technical Memo 33—601, Jet Propulsion Laboratory, Pasadena, Calif., 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 Contour Detection, Comm. ACM. 19, No. 2, pp. 73—83, 1976.
193.	Mason M. 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, Actuators, 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 Inti. Symp. Industrial Robots, Chicago, III, pp. 16—31, 1983.
199.	Mujtaba S. M., 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 С. P. ARM: An Algebraic Robot Dynamic Modeling Program, Proc. Inti. 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. M., 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. M., Sproull R. F. Principles of Interactive Computer Graphics, McGraw-Hill, New York, 1979.
213.	Neuman С. P., Tourassis V. D. Discrete Dynamic Robot Modelling, IEEE Trans. Systems. Man. Cybern, SMC—15, pp. 193—204, 1985.
214.	Neumann С. 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 Control 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 Recursive 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. Inti. 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 M., Hartoch G. Kinematic and Kinetic Analysis of Open —Chain Linkages Utilizing Newton —Euler Methods, 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 Laboratory, Palo Alto, Calif., 1972.
227.	Paul R. P. WAVE: A Model — Based Language for Manipulator Control Technical Paper MR76-615, Society of Manufacturing Engineers, Dearborn, 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.
609
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 Department, Stanford University, Palo Alto, Calif., 1968.
236.	Pieper D. L., Roth B. The Kinematics of Manipulators under Computer Control. Proc. HI Inti. 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 Describing 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 M. 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 M. H., Tanner J. E. Design and Implementation of a VLSI Tactile Sensing Computer, Inti. J. Robotics Res., 1. No. 3, pp. 3—18, 1982.
242.	Rajala S. A., Riddle A. N., Snyder W. E. Application of the One-Dimensional Fourier Transform for Tracking Moving Objects in Noisy Environments, 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.), Plenum N. Y„ 1979.
245.	Requicha A. Representation for Rigif Solids; Theory, Methods, and Systems, Computing Surveys, 12, No. 4, pp. 437—464, 1980.
246.	Requicha A. Towards a Theory of Geometric Telerancing, Inti. 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 Inti. 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., PAMI-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 Control. 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 Intelligence 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 Inti. Joint Conf. Pattern Recog., pp. 585—591, 1980.
263.	Shimano B. VAL: A Versatile Robot Programming and Control System, Proc. 3rd Inti. 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 Inti. 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 Inti. Joint Conf. Artificial Intelligence, pp. 423, 430, 1973.
268	Silver W. M. On the Equivalence of the Lagrangian and Newton—Euler Dynamics for Manipulators, Inti. 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. Prentice— 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 T., Charniak E. Micro — Planner Reference Manual,” 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 Programming and Teaching, IEEE Trans. Systems, Man, Cybern., SMC—11, No. 4, pp. 274—289, 1981.
278.	Takegaki M., 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 Planning. Inti. 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 Laboratory, 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”, Inti. J. Robotics Res., 1, No. 3, pp. 19—41, 1983.
284.	Thompson W. B., Barnard S. T. Lower — Level Estimation and Interpretation of Visual Motion, Computer 14, No. 8, pp. 20—28, 1981.
285.	Thrall R. M., Tornheim L. Vector Spaces and Matrices John Wiley N. Y. 1963.
286.	Tomita F., Shirai Y., Tsuji S. Description of Texture by a Structural Analysis, 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. T., Gonzalez R. C. Pattern Recognition Principles, Addison—Wesley, 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, 1966.
294.	Uicker J. J., Jr., Denavit J., Hartenberg R. S. An Iterative Methods for the Displacement Analysis of Spatial Mechanisms, Trans. ASME, J. Appl. Meeh., 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 M., 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 Control. 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 Intel!., 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, Cambridge, Mass., 1972.
302.	Waltz D. I. Automata Theoretical Approach to Visual Information Prp-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 Allanheld, 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. M., Rohrer G. D, Image Thresholding for Optical Character Recognition and Other Applications Requiring Character Image Extraction, 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. Inti. 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 Manipulator IEEE Trans. Systems, Man, Cybern. SMC—12 No. 3, pp. 266—275, 1982.
317.	Yakimovsky Y., Cunningham R. A System for Extracting Three-Dimensional Measurements from a Stereo Pair of TV Cameras, Comput, Graphics 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. T., Freudenstein R. Application of Dual Number Quaternian Algebra to the Analysis of Spatial Mechanism”, Trans. ASME, J. Appl. Meeh., 31, series E, pp. 152—157, 1964.
320.	Young К. K. D. Controller Design for a Manipulator Using Theory Variable 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. 1, pp. 61—73, 1971.
322.	Zahn C. 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. Graphics 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, General Electric Co., Bridgeport, Conn., February 1982.
w
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ
A-алгоритм 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
Декартовы системы координат 573
Декомпозировщик 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
Построение экспертной системы 363
Правило заметания объема 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
ОГЛАВЛЕНИЕ.'
Предисловие редактора перевода..................................  f	5
Предисловие.......................................................  8
Об авторах.........................................................   И
Глава 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
Лите	ратура . . . . L.......................................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. Языки программирования роботов...........................486
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
А. 10. Производные векторных функций..............................580
А.11. Интегрирование векторных функций............................581
А.12. Матричная алгебра ...	 581
А. 13. Сложение матриц............................................583
А. 14. Умножение матриц...........................................583
А. 15. Детерминанты...............................................584
€20
A. 16. Ранг матрицы.......................................  586
А.17. Присоединенные и обратные матрицы..................’	537
А. 18. След матрицы	..........................’ 588
Приложение Б. Якобиан манипулятора ...................• . . . . 589
Б.1. Метод векторного произведения................... ....	589
Б.2.	Метод дифференциального перемещения и вращения . .	592
Б.З. Определение якобиана из уравнений движения Ньютона___
Эйлера .............................................. 598
Литература.....................................................  600
Предметный	указатель...........................................614