Author: Гонсалес Р. Ли К. Фу К.
Tags: автоматика системы автоматического управления и регулирования интеллектуальная техника технология управления оборудование систем управления техническая кибернетика кибернетика электроника электротехника робототехника
ISBN: 5-03-000805-5
Year: 1989
Robotics: Control, Sensing, Vision,
and Intelligence
K. S. Fu i
School of Electrical Engineering f
Purdue University
R. С Gonzalez
Department of Electrical Engineering
University of Tennessee
and У
Perceptics Corporation
Kcoxville, Tennessee
trs. 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
В книге известных американских ученых систематически
излагаются последние достижения в области кинематики, динамики, систем
управления и очувствления и программного обеспечения промышленных
манипуляционных роботов типа Пума. Рассматриваются способы
планирования траектории движения манипулятора, повышения точности,
улучшения динамических характеристик при использовании систем
технического зрения, средств адаптации и элементов искусственного
интеллекта.
Для инженеров, занимающихся робототехникой, студентов старших
курсов соответствующих специальностей вузов.
2402020000-083 RRk ад
Ф 041(01 )-89 128"90 ББК 32*816
Редакция литературы по информатике и робототехнике
ISBN 5-03-000805-5 (русск.) © 1987 by McGraw-Hill, Inc.
ISBN 0-07-022625-3 (англ.) <g) перевод на русский язык, «Мир», 1989
ПРЕДИСЛОВИЕ РЕДАКТОРА ПЕРЕВОДА
Стремительное развитие робототехники за последнюю четверть
века существенно обогатило технический прогресс и
предоставило человечеству новые средства автоматизации —
промышленные роботы, применяемые в качестве транспортных средств,
технологических машин и элементов гибких систем
комплексной автоматизации. Фундаментальные идеи робототехники
основываются на новейших достижениях в области теоретической
и прикладной механики, электроники, вычислительной техники,
технологии, теории управления.
Интенсивному развитию робототехники сопутствуют
публикации по конкретным отдельным достижениям и обобщающие
монографии, хотя создание последних требует значительного
теоретического, практического и педагогического опыта. К
числу таких обобщающих многоплановых публикаций относится
данная книга, которая отражает опыт исследований по
кинематике, динамике, системам управления и очувствления и по
программному обеспечению промышленных манипуляционных
антропоморфных роботов типа Пума. Отечественным аналогом
является робот РМ-01. Монография отличается от других книг
по этой тематике систематичностью изложения, общностью
подходов и* методов, что позволяет использовать ее и как учебное
пособие. Среди отечественных и зарубежных книг по
робототехнике лишь немногие могут претендовать на подобное
обобщение и служить учебниками.
Основное внимание авторы уделили рассмотрению робота
как управляемой механической системы. Читатель получает
возможность проследить все основные этапы конструирования
робота —от кинематики и динамики до систем управления,
программирования и придания роботам некоторых свойств
искусственного интеллекта.
Авторы постепенно вводят читателя в курс основных
проблем по механике и управлению антропоморфными
5
манипуляционными роботами. От подробного изложения основ
кинематики и динамики авторы переходят к планированию
траекторий движения манипулятора, затем к построению
комбинированных по положению и силе систем управления, в том числе
адаптивных. Рассмотрены различные способы планирования
траектории манипулятора при отсутствии и наличии
препятствий на пути его движения. Подробно описаны проблемы
увеличения точности с помощью интерполяции траектории
полиномами и выбором опорных точек, в которых производится
коррекция параметров движения. Большое внимание уделяется
системам низкого и высокого уровней технического зрения,
программному обеспечению и языкам программирования роботов,
экспертным системам в связи с разработкой элементов
искусственного интеллекта, решению проблем обучения и планирования
задач.
Авторы использовали обширный литературный материал, в
основном американские, английские и японские работы.
Некоторые отечественные публикации по этим вопросам мы приводим
ниже в качестве дополнительной литературы.
Материал данной книги изложен достаточно полно и
доступно. Основные теоретические положения иллюстрируются
большим числом тщательно подобранных примеров, пользуясь
которыми читатель может глубже понять и усвоить
прочитанное. Монография написана простым и ясным языком, в чем
проявился большой педагогический опыт авторов, снабжена
хорошими четко выполненными иллюстрациями.
Книга представляет интерес для специалистов и рассчитана
на научных сотрудников, преподавателей, инженеров,
аспирантов, а также студентов, интересующихся проблемами
робототехники и автоматизации производства. Перевод книги
выполнили А. А. Сорокин (гл. 1—4, предисловие), М. Ю. Рачков
(гл. 5—7, приложение), А. В. Градецкий (гл. 8—10).
В. Г. Градецкий
ДОПОЛНИТЕЛЬНАЯ ЛИТЕРАТУРА
1. Робототехника и гибкие производственные системы: Проблемы
создания гибких автоматических производств./Под ред. академиков И. М.
Макарова, К. В. Фролова, чл.-корр. АН СССР П. Н. Белянина. — М.: Наука, 1987.
2. Научные основы робототехники./Под ред. чл.-корр. АН СССР
Д. Е. Охоцимского и чл.-корр. АН СССР Е. М. Попова. — М.: Наука, 1987.
3. Попов Е. П., Верещагин А. Ф., Зенкевич С. Л. Манипуляционные
роботы: Динамика и алгоритмы. — М: Наука, 1978.
4. Медведев В. С, Лесков А. Г., Ющенко А. С. Системы управления
манипуляционных роботов. — М.: Наука, 1978.
5. Кулешов В. С, Лакота Н. А. Динамика систем управления
манипуляторами. — М.: Энергия, 1971.
6. Промышленная робототехника./Под ред. Я. А. Шифрина. — М.:
Машиностроение, 1983.
7. Тимченко В. Ам Сухомлин А. А. Роботизация сварочного
производства.—К.: Техника, 1988.
8. Пашков Е. В., Погорелов Б. В., Карлов А. Г. и др. Робототехнические
системы в сборочном производстве. — К.: Вища школа, 1987.
9. Костюк В. И., Гавриш А. П., Ямпольский Л. См Карлов А. Г.
Промышленные роботы: Конструирование, управление, эксплуатация. — К.: Вища
школа, 1985.
10. Черноусько Ф. Л., Болотник Н. Н., Градецкий В. Г. Манипуляционные
роботы: Динамика, управление, оптимизация. — М.: Наука, 1989.
Посвящается Виоле, Конни и Пэй*
Лин
ПРЕДИСЛОВИЕ
г
Эта книга написана с целью предоставить инженерам, ученым
и учащимся (связанным по роду своей деятельности с
робототехникой) всестороннее, систематическое и современное
изложение принципиальных вопросов, лежащих в основе
конструирования, анализа и синтеза робототехнических систем.
Начало развития робототехники можно отнести к середине
40-х годов, когда в Окриджской и Аргоннской национальных
Лабораториях были сконструированы и собраны манипуляторы
копирующего типа, предназначенные для работы с
радиоактивными веществами. Первый промышленный робот, управляемый
с помощью компьютера, был создан фирмой Юнимейшн в
конце 50-х годов. В течение следующих 15 лет появился целый ряд
промышленных и экспериментальных устройств этого типа.
Несмотря на доступность технологии изготовления и
применения роботов, широкий интерес к робототехнике как
самостоятельной области исследований проявился сравнительно недавно,
что объясняется значительным отставанием производства в
большинстве промышленных стран.
Робототехника представляет собой область знания,
лежащую на стыке различных дисциплин. Она включает как
вопросы конструирования отдельных механических и
электрических узлов, так и технологию построения системы
очувствления, вопросы применения компьютеров, проблемы
искусственного интеллекта. Основная масса материалов, касающихся
теоретических основ, вопросов конструирования и приложений
робототехники, разбросана по многочисленным техническим
журналам, материалам конференций, исследовательским
работам и книгам, в которых либо рассматриваются специальные
вопросы робототехники, либо дается краткий обзор
исследований в этой области. В связи с этим трудно, особенно для
новичка, изучить круг вопросов, составляющих основу предмета.
Данная книга представляет гобой попытку последовательно из-
6
ложить основные методы и принципы робототехники. Тем
самым предлагаемая книга может использоваться и как учебное
пособие, и как справочник. Студенты найдут в ней логически
связанное обсуждение основных понятий и наиболее важных
методов. Для инженеров и ученых эта книга может служить
готовым справочником, поскольку в ней систематизированы
понятия и методы робототехники.
Математический уровень изложения материала книги
предполагает знакомство читателя с основами теории матриц,
теории вероятностей, программирования и математического
анализа. Основное внимание уделено выводу фундаментальных
результатов, базирующемуся на первичных понятиях и
представлениях. По ходу изложения приводятся многочисленные
примеры. В конце каждой главы даются задачи разных типов
и уровней сложности. Некоторые из этих задач позволят
читателю в процессе их решения глубже понять излагаемый в книге
материал. Другие служат как бы дополнением и расширением
затронутого круга вопросов.
Предлагаемая книга была создана на основе материалов
лекций, которые ее авторы читали в университетах в Пэрдью
(Purdue), Теннесси (Tennessee) и Мичигане (Michigan).
Материал был тщательно отработан в процессе семинарских
занятий и при чтении всеми авторами многочисленных кратких
курсов в течение пятилетнего периода. На характер изложения
материала в книге существенное влияние оказали замечания
и предложения студентов, слушавших эти курсы.
Авторы книги выражают признательность всем, кто прямо
или косвенно содействовал подготовке ее текста. В особенности
нам бы хотелось поблагодарить профессоров В. Л. Грина,
Г. Н. Саридиса, Р. Б. Кэлли, Я. И. С. Лу, Н. К. Ло, В. Т. Снай-
дера, Д. Бржаковича, Е. Г. Бурдэ, М. Я. Чунга, В. X. Ли, а
также докторов О. Е. Вудса, С. Дугласа, А. К. Бьецци, С. Дэя,
Ф. Кинга и Л.-В. Тзая. Неоспоримо также, что за последние
пять лет, проведенные нами в университетской среде, студенты
оказали влияние не только на наши мысли, но и на развитие
вопросов, затронутых в этой книге. Нам бы хотелось отметить
здесь тех студентов, которые работали вместе с нами в
процессе выполнения своих выпускных и преддипломных
исследований. Это Д. А. Херрера, М. А. Абиди, Р. О. Иасон, Р. Сафа-
бакш, А. П. Перец, К. X. Хайден, Д. Р. Кэйт, К. А. Райнхарт,
Н. Алвертос, Е. Р. Мейер, П. Р. Чанг, К. Л. Чен, С. X. Хоу,
Г. X. Ли, Р. Джангклас, Хуарг и Д. Хуанг. Мы благодарим
также г-жу Сюзен Мерел, г-жу Дэнис Смидди, г-жу Мэри
Верден, г-жу Фрэцси Бурдэ и г-жу Мэри Энн Прудер за печатание
многочисленных вариантов рукописей. И наконец, мы
выражаем нашу признательность Национальному фонду,
министерству военно-воздушных сил, министерству военно-морского
9
флота, министерству вооруженных сил, фирмам «Вестингхаус»,
«Мартин Мариэтта Аэроспейс», «Мартин Мариэтта Энеджи
Системз», «Юнион Карбайд», «Локхид Миссайлз энд Спэйс
Компани», Ок-Риджской национальной лаборатории и
Университету центра по управлению и измерениям в Теннесси за
финансирование наших исследований в области робототехники,
искусственного зрения, искусственного интеллекта и смежных
областях.
/С. Фу, Р. Гонсалес, К. Ли
Профессор Кинсан Фу скончался 29 апреля 1985 г. в
Вашингтоне (округ Колумбия) от сердечного приступа вскоре
после завершения работы над этой книгой. Это большая потеря
для всех, кому посчастливилось знать этого ^человека и
работать с ним на протяжении его продуктивной и выдающейся
творческой деятельности.
Р, Гонсалес
К. Ли
ОБ АВТОРАХ
Кинсан Фу был профессором Университета Пэрдью. Он
получил ученые степени бакалавра, магистра и доктора наук
соответственно в Национальном университете Тайваня,
университетах Торонто и Иллинойса, был всемирно известным
специалистом в области распознавания образов, обработки изображений
и искусственного интеллекта, внес существенный вклад как
в фундаментальные, так и прикладные исследования. Написал
четыре книги и более 400 статей по автоматическому
распознаванию образов. Подготовил 75 докторов наук. Был избран
членом Национальной инженерной академии в 1976 г., удостоен
медалей Американского общества технического образования в
1981 г. и Международного общества по электронике и
электротехнике в 1982 г. Был членом Международного общества по
электронике и электротехнике, с 1971 г. — членом общества
Гугенхейма, а также почетным членом обществ Сигма Кси,
Эта Каппа Ню и Тау Бета Пи. Основал и был первым
президентом Международной ассоциации по распознаванию образов,
был главным редактором журнала по распознаванию образов
и машинному интеллекту. Профессор Фу умер от сердечного
приступа 29 апреля 1985 г. в Вашингтоне.
Рафаэль Гонсалес является профессором по вычислительной
технике Университета Теннесси в Кноксвилле, а также
основателем и президентом фирмы Персептикс Корпорейшн, которая
специализируется в области обработки изображений,
распознавания образов, технического зрения и машинного интеллекта.
Степень бакалавра он получил в Университете Майами, а
ученые степени магистра и доктора — в Университете Флорида в
Гейнесвилле. Всемирно известен в своей области, им или с его
участием написано более 100 статей и 4 книги в области обра*
ботки изображений, распознавания образов и машинного
зрения. Является консультантом многих промышленных фирм и
правительственных учреждений, Состоит во многих научных
И
обществах, в том числе в обществах Тау Бета Пи, Фи Каппа
Фи, Эта Каппа Ну, Сигма Кси, а также в международном
обществе по электронике и электротехнике.
К. Ли является профессором Университета Пэрдью. Ученые
степени бакалавра и магистра он получил в Вашингтонском
государственном университете, а степень доктора наук в
Университетах Пэрдью и Мичигана. Автор более 40 научных
статей, докладов по робототехнике на многих конференциях. В
настоящее время специализируется в области робототехники,
автоматизации и интегрированных производственных систем.
Ведет интенсивную консультационную работу в области
робототехники для автомобильных и аэрокосмических фирм.
Рецензент-консультант с 1983 г. научных программ в области
применения вычислительной техники Международного общества
по электронике и электротехнике, технический издатель
журнала по робототехнике и автоматизации, член технических
комитетов различных конференций по робототехнике. Состоит в
научных обществах Сигма Кси, Тау Бета Пи, Международном
обществе по электронике и электротехнике, в Американской
ассоциации по промышленным роботам.
Глава 1.
ВВЕДЕНИЕ
Одна машина может выполнять
работу сотни обыкновенных людей, но
никакая машина не заменит одного
выдающегося человека.
Элберт Хаббард
1.1. ОСНОВНЫЕ ПОЛОЖЕНИЯ
Растущие потребности производства в выпуске качественной
продукции обусловливают все более широкое применение в
промышленности средств автоматизации, в основе которых лежит
вычислительная техника. В настоящее время большинство
автоматизированных работ на производстве осуществляется
машинами, специально сконструированными для выполнения
определенных функций в производственном процессе. Такие
машины, как правило, дороги и не обладают гибкостью, т. е. они
могут быть использованы только для конкретных, заранее
определенных работ. В связи с этим все больший интерес
проявляется к использованию роботов, способных выполнять
различные производственные функции в обстановке гибкого
производственного процесса при более низких материальных затратах.
Слово робот происходит от чешского слова robota,
означающего работу. В словаре Вебстера робот определяется как
автоматическое устройство, которое выполняет функции, обычно
приписываемые человеку. В соответствии с этим определением
моечные машины являются роботами. В Американском робото-
техническом институте применяют более точное определение
промышленных роботов: перепрограммируемый
многофункциональный, манипулятор, предназначенный для осуществления
различных заранее заданных перемещений материалов,
деталей, инструментов или специальных приспособлений с целью
выполнения различных работ. Итак, робот представляет собой
перепрограммируемый универсальный манипулятор,
снабженный внешними датчиками и способный выполнять различные
сборочные работы. Это определение предполагает наличие у
робота интеллекта, обусловленного заложенными в компьютер
алгоритмами систем управления и очувствления.
Промышленный робот представляет собой универсальный,
оснащенный компьютером манипулятор, состоящий из
нескольких твердых звеньев, последовательно соединенных
вращательными или поступательными сочленениями. Эта цепь одним
13
концом соединена с основанием манипулятора, другой ее конец
свободен и снабжен инструментом, позволяющим
воздействовать на объекты манипулирования или выполнять сборочные
Вращение блокгпевом
суставе
пдеЩж \^
Вращение
хорпуса
Основание
Рысканье
^Запястье
Вращение а
корпуса (320 й)
Качание в плечевом
сустабе (300°)
&»& локтевом
Вращение
Л локтевом
суставе (270°}
Тангаж
'крен то0/
Охват
i$Рысканье (№Q)
Рис. 1.1. Манипулятор Т3 фирмы «Цинциннати Милакрон» (а) в манипулятор
Пума-560 (б).
работы. Движение в сочленениях манипулятора вызывает
относительное перемещение его звеньев. С точки зрения механики
робот состоит из руки (несущей конструкции) и узла запястья,
оснащенного инструментом. Он может воздействовать на
объекты, расположенные внутри его рабочего объема. Под рабочим
объемом робота подразумевается область пространства, в
каждую точку которой рука робота может доставить блок за-
14
пястья. Обычно рука робота обладает тремя степенями
свободы. Комбинацией перемещений по этим степеням свободы
обеспечивается перенос узла запястья в заданную точку
рабочего объема. Узел запястья обычно обладает тремя
вращательными степенями свободы. Комбинацией вращений в узле
запястья обеспечивается необходимая для работы с объектом
манипулирования ориентация инструмента. Три угловых
движения, реализуемые узлом запястья, часто называют танга-
Рис. 1.2. Различные категории манипуляторов.
жем, рысканьем и креном. Таким образом, рука шестизвенного
робота обеспечивает нужное положение инструмента, а узел
запястья — его правильную ориентацию. Все сказанное
иллюстрирует рис. 1.1, на котором изображены манипуляторы Р
фирмы «Цинциннати Милакрон» и Пума фирмы «Юнимейшн».
Промышленные роботы широко используются для
выполнения таких функций в производственном процессе, как сборочно-
монтажньде, сварочные, покрасочные, погрузочно-разгрузочные
работы. Их используют для проведения космических и
подводных исследований, для работы с вредными веществами и
радиоактивными материалами. Все эти роботы относятся к одной
из четырех основных категорий, различающихся по способу
осуществления пространственных перемещений (рис. 1.2):
15
• Роботы с декартовой системой координат, имеющие три
поступательных сочленения (например, робот RS-1 фирмы ИБМ
и робот Sigma фирмы «Оливетти») (а).
• Роботы с цилиндрической системой координат, имеющие
два поступательных и одно вращательное сочленение
(например, робот Versatran 600 фирмы «Прэб» (б).
• Роботы со сферической системой координат, имеющие
одно поступательное и два вращательных сочленения
(например, робот Unimate-200B фирмы «Юнимейшн») (в).
• Роботы с вращательной, или шарнирной, системой
координат, имеющие три вращательных сочленения (например,
робот Р фирмы «Цинциннати Милакрон» и робот Пума фирмы
«Юнимейшн») (г).
Большинство современных промышленных роботов, несмотря
на то что управление ими осуществляется с помощью микро-
и мини-ЭВМ, представляют собой по сути простые позиционные
механизмы. Их функционирование сводится к воспроизведению
заранее запрограммированной последовательности движений.
Кроме того, эти роботы не оборудованы или оборудованы в
недостаточной степени внешними датчиками, поставляющими
информацию о рабочей обстановке. В результате роботы
применяются в основном для выполнения простых, многократно
повторяющихся операций. В настоящее время усилия
исследователей направлены на дальнейшее совершенствование робото-
технических систем. Одним из путей такого совершенствования
является изучение ряда важных вопросов робототехники,
изложенных в этой книге.
1.2. ИСТОРИЯ РАЗВИТИЯ РОБОТОВ
Слово робот в английском языке впервые появилось в
1921 г. после выхода в свет сатирической пьесы Карела
Чапека «РУР». В этой пьесе роботы — человекоподобные машины,
обладающие способностью работать без устали. Они были
созданы для того, чтобы работать вместо людей. Однако в конце
пьесы роботы восстают против своих создателей и уничтожают
все человечество. В большой мере именно пьеса Чапека
породила бытующее и по сей день представление о роботах, как
о человекоподобных машинах, обладающих интеллектом и
индивидуальностью. Этот образ был подкреплен фильмом «Мет-
рополис», созданным в 1926 г. в Германии. Робот Электро и
его собака Спарко успешно демонстрировались в 1939 г. на
Всемирной ярмарке в Нью-Йорке. Робот СЗРО из более позднего,
созданного в 1977 г. фильма «Звездные войны» также
способствовал этому представлению. Современные промышленные
роботы несомненно покажутся примитивными в сравнении с обра-
16
зом, созданным средствами массовой информации за последние
шесть десятилетий.
Первые роботы, с которых началась современная
робототехника, появились сразу после второй мировой войны. В конце
40-х годов в Окриджской и Аргоннской национальных
лабораториях были начаты исследовательские программы по
созданию дистанционно управляемых механических манипуляторов
для работы с радиоактивными материалами. Разрабатывались
манипуляторы копирующего типа, предназначенные для
точного воспроизведения движений руки и кисти человека-оператора.
В систему входили задающий и копирующий манипуляторы.
Задающий манипулятор приводился в движение
человеком-оператором, при этом копирующий манипулятор воспроизводил
с максимальной точностью все движения задающего. Позднее
путем установления механических связей между задающим и
копирующим манипуляторами была введена обратная связь,
позволяющая оператору ощущать силы взаимодействия между
копирующим манипулятором и его рабочей средой. В середине
50-х годов механические способы введения обратной связи были
заменены электрическими и гидравлическими, как, например,
в манипуляторе Handyman фирмы «Дженерал Электрик» и
манипуляторе Minotaur-I фирмы «Дженерал Милз».
Вскоре вслед за манипуляторами копирующего типа были
разработаны более сложные системы, способные выполнять
многократно повторяющиеся операции в автономном режиме.
В середине 50-х годов Джордж С. Девол сконструировал
устройство, названное им «программируемое шарнирное
устройство для переноски» — манипулятор, функционирование
которого задавалось программой (следовательно, могло изменяться)
в виде последовательности элементарных движений,
определенных командами этой программы. Дальнейшее совершенствова-
> ние Деволом совместно с Джозефом Ф. Энгельбергером этого
замысла привело к созданию первого промышленного робота,
выпущенного в 1959 г. фирмой «Юнимейшн». Основная идея
при создании этого устройства заключалась в совмещении
манипулятора с компьютером, что позволило получить машину,
которую можно было «обучать» автоматическому выполнению
разнообразных работ. От специализированных автоматических
машин эти роботы отличались возможностью смены
выполняемых операций при изменении условий производственного
процесса. Изменение выполняемых роботом операций
осуществлялось путем относительно недорогого перепрограммирования и
переоснащения.
В 60-х годах стало очевидно, что гибкость
программируемых роботов — этого нового мощного промышленного
инструмента — может быть существенно повышена за счет
использования средств очувствления. В начале 60-х годов Эрнст [72]
17
разработал управляемую с помощью компьютера механическую
руку с тактильными датчиками. Это устройство, названное
МН-1, могло «осязать» блоки, с которыми оно работало, и
использовало поступающую с датчиков информацию для
управления захватным устройством, что позволяло укладывать блоки
без помощи оператора. Эта разработка является одним из
первых примеров робота, способного адаптироваться к
неполностью определенной внешней обстановке. Система состояла
из манипулятора ANL Model-8 с шестью степенями свободы,
управляемого с помощью устройства обмена компьютером
ТХ-0. Позднее эта исследовательская разработка стала частью
проекта MAC, по которому в состав системы вводилась еще и
телевизионная камера, В тот же период Томович и Бонн [287]
разработали опытный образец схвата с датчиками,
измеряющими давление при соприкосновении с объектом, по которому
формировался сигнал обратной связи на мотор силового
привода. Как только схват входил в контакт с объектом, с
датчиков давления в компьютер поступала информация о
размерах и весе объекта манипулирования. В 1963 г. фирма «Амери-
кэн Мэшин энд Фаундри Компани» (AMF) начала выпуск
промышленного робота VERSATRAN. В этом же году был начат
ряд разработок промышленных роботов, таких, как
эдинбургский и роэмптонский манипуляторы.
В конце 60-х годов Маккарти [194] со своими коллегами
из Лаборатории искусственного интеллекта в Станфорде
сообщили о создании компьютера, имеющего руки, глаза и уши
(т. е. оснащенного манипуляторами, телевизионными камерами
и микрофонами). Ими была продемонстрирована система,
которая воспринимала устные команды, «видела» разбросанные на
столе блоки и манипулировала этими блоками в соответствии
с полученными инструкциями. В этот же период Пайпер [235]
провел исследования, касающиеся кинематики управляемого
компьютером манипулятора, а Кан и Рот [НО] исследовали
вопросы динамики и управления манипулятором с
ограничениями. Последние применили релейное управление,
обеспечивающее максимальное быстродействие.
Одновременно промышленные роботы начали развиваться
и в других странах, особенно в Японии. Уже в 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
также в материалах Международного симпозиума по
промышленным роботам, Международной объединенной конференции
по вопросам искусственного интеллекта, Международной
конференции по автоматике и робототехнике и в трудах общества
инженеров фотооптической аппаратуры 1).
Материал по всем затронутым в этой книге вопросам в
достаточном объеме содержится в работах [49, 60, 62, 71, 163,
229, 270, 289].
1} Из отечественных можно назвать следующие журналы: «Техническая
кибернетика», Изв. АН СССР; «Механика твердого тела»; «Машиноведение»;
«Проблемы машиностроения»; «Приборы и системы управления»; «Вестник
машиностроения», а также тематические сборники, труды конференций* —
Прим, ред.
Глава 2.
КИНЕМАТИКА МАНИПУЛЯТОРА
Смотри! Она защевелилась, она
начинает двигаться, кажется, она
чувствует движение жизни.
X. В. Лангфелло
2.1. ВВЕДЕНИЕ
Механический манипулятор можно рассматривать как
разомкнутую цепь, которая состоит из нескольких твердых тел (звеньев),
последовательно соединенных вращательными или
поступательными сочленениями, приводимыми в движение силовыми
приводами. Один конец этой цепи соединен с основанием, а другой
конец свободен и снабжен рабочим инструментом, позволяющим
воздействовать на объекты манипулирования или выполнять
различные технологические, например сборочные, операции.
Относительное движение сочленений передается звеньям, в результате
чего схват манипулятора занимает в пространстве заданное
положение. В большинстве приложений робототехники требуется
описать пространственное положение схвата по отношению к
заданной абсолютной системе координат.
Кинематика манипулятора изучает геометрию движения
манипулятора относительно заданной абсолютной системы
координат, не рассматривая силы и моменты, порождающие это
движение. Таким образом, ее предметом является описание
пространственного положения манипулятора как функции времени, и,
в частности, соотношения между пространством присоединенных
переменных манипулятора — обобщенными координатами,
положением и ориентацией схвата. В этой главе рассмотрены две
основные задачи кинематики манипулятора (важные как в
теоретическом, так и прикладном плане).
1. Для конкретного манипулятора по известному вектору
присоединенных углов — обобщенных координат q(t) = (q\(t),
<Ы0, ••> 4n{t))T и заданным геометрическим параметрам
звеньев (п — число степеней свободы) определить положение и
ориентацию схвата манипулятора относительно абсолютной
системы координат.
2. При известных геометрических параметрах звеньев найти все
возможные векторы присоединенных переменных манипулятора,
обеспечивающие заданные положение и ориентацию схвата
относительно абсолютной системы координат,
27
Первую из этих задач принято называть прямой, а вторую —
обратной задачей кинематики манипулятора. Поскольку
собственными независимыми переменными манипулятора являются
присоединенные переменные, а задача, как правило,
формулируется в координатах абсолютной системы отсчета, обратная
задача кинематики возникает более часто, чем прямая. На
рис. 2.1 приведена блок-схема, иллюстрирующая взаимосвязь
этих задач.
Параметры
збеньео
Присоединенные
углы (обоб-
щенные
координаты)
q,(t),..., qn(t)
Присоединенные
углы
(обобщенные хоорди- **~
наты)
in
Прямая
задача
кинематики
Положение и
ориентация
cxfama
Параметры
збеньев
in
f,№).-, Ь'Ч
Обратная
задача
кинематики
Рис. 2.1. Прямая и обратная задачи кинематики.
Так как звенья манипулятора совершают вращательное и/или.
поступательное движение относительно абсолютной системы
координат, результирующее пространственное положение схвата
определяется угловым и поступательным движениями звеньев.
В работе [57] изложен общий систематический подход к
описанию пространственного расположения звеньев манипулятора в
абсолютной системе отсчета, основанный на применении
матричной алгебры. Для описания взаимного пространственного
положения двух смежных звеньев этот подход использует
однородную матрицу преобразования размерностью 4 X *• Прямая
задача кинематики сводится тем самым к определению
однородной матрицы преобразования, характеризующей
пространственное положение системы координат схвата манипулятора в
абсолютной системе отсчета. Однородные матрицы преобразования
используются также при выводе уравнений динамики движения
манипулятора.
К решению обратной задачи кинематики существует, вообще
говоря, несколько подходов. Наиболее часто используются
методы матричной алгебры, метод итераций и геометрический
подход. На примере решения обратной задачи кинематики простого
манипулятора с вращательными сочленениями мы рассмотрим
геометрический подход, основой для которого служат понятия
23
систем координат звеньев и конфигураций манипулятора. Кроме
того, будет предложен более общий подход с использованием
однородных матриц размерностью 4X4, который
проиллюстрирован на примере решения обратной задачи кинематики простых
манипуляторов.
2.2. ПРЯМАЯ ЗАДАЧА КИНЕМАТИКИ
Ниже матричная и векторная алгебра 1> применяются для
систематического и обобщенного подхода к описанию и
представлению расположения звеньев манипулятора (исполнительных
механизмов робота) относительно заданной абсолютной системы
координат* Так как звенья манипулятора могут совершать
вращательное и/или поступательное движение относительно
абсолютной сиетемь! отсчета, для каждого звена определяется свя-
аанная система координат, оси которой параллельны осям
сочленений звеньев. Прямая задача кинематики сводится к
определению матрицы преобразования, устанавливающей связь
между абсолютной и связанной системами координат. Для
описания вращательного движения связанной системы отсчета
относительно абсолютной используется матрица поворота 2)
размерностью 3X3, для представления векторов положения в
трехмерном пространстве применяются однородные координаты,
а для учета поступательного движения связанной системы
координат вместо матрицы поворота используется матрица
однородного преобразования размерностью 4X4. Таким матричным
представлением для описания пространственной геометрии
манипулятора впервые воспользовались Денавит и Хартенберг [57].
Их представление дает универсальный алгоритм для вывода
уравнений кинематики манипулятора.
2.2Л. Матрицы поворота
Матрицу поворота размерностью 3X3 можно определить
как матрицу преобразования трехмерного вектора положения
в евклидовом пространстве, переводящую его координаты из
повернутой (связанной) системы отсчета OUVW в абсолютную
систему координат OXYZ. На рис. 2.2 показаны две правые
прямоугольные системы координат: системы координат OXYZ с осями
OX, OYt OZ и система OUVW с осями OUy ОУ, OW. Начала этих
систем совпадают и расположены в точке О. Система OXYZ
фиксирована в трехмерном пространстве и принята за абсолютную,
*> Для обозначения векторов и матриц используются соответственно по«
лужирные строчные и прописные буквы.
2) В ряде работ эту матрицу называют матрицей вращения, Оба понятия
идентичны. — Прим. ред.
29
а система координат OUVW вращается относительно
абсолютной системы OXyZ. Физически система OUVW может
рассматриваться как связанная система координат. Это означает, чта
она соответствующим образом жестко связана с твердым телом
(например, с летательным аппаратом или звеном манипулятора)
и движется вместе с ним. Пусть (i*, \у> kz) и (iM, jVy kw) —
единичные векторы, направленные вдоль осей систем OXVZ и
OUVW соответственно. Некоторую точку р в пространстве
можно охарактеризовать
координатами относительно любой
из указанных систем. Для
простоты рассуждений
предположим, что точка р фиксирована
и неподвижна в системе
отсчета OUVW, Тогда в системах
координат OUVW и OXYZ
точка р будет иметь
соответственно координаты
Puvw === \Ри> Pw> Pw)
И Рхуж = (Рх> Ру> Pzf> (2.2-1)
Рис. 2.2. Абсолютная и связанная си- где pxyz И \)Uvw характеризуют
стемы координат. положение одной и той же
точки р относительно различных
систем отсчета. Верхний индекс Г, добавляемый к обозначению
вектора или матрицы, обозначает операцию транспонирования.
Наша задача состоит в том, чтобы определить матрицу R
размерностью 3X3, которая преобразует координаты pVuw в
координаты вектора р в системе OXYZ после того, как система
OUVW будет повернута, т. е.
Jxyz
Rpui
(2.2-2)
Заметим, что физически точка р вращается вместе с системой
координат OUVW.
Из определения компонент вектора имеем
Put
ри'К + pv - h + Pw ' К
(2.2-3)
где pay pv и pw представляют собой составляющие вектора р
вдоль осей OU, OV и OW соответственно, или проекции вектора
р на эти оси. Таким образом, используя определение скалярного
произведения и равенство (2.2-3), получаем
Р = h ' *« • Ри + i* • iv ■ Pv + *х ■ К * Рш>
Pu + ly- U • Pv + h • К ■ Pw> (2.2-4)
Px — **
Py = h
Pz = K
P = V
P = K
30
1« * Pu "T &z ' Jo • pv "T kz * Кш ■ pw>
или в матричной форме
Ру\ = Ihiu iyh UK \\Pv I (2.2-5)
С учетом этого выражения матрица R в равенстве (2.2-2)
примет вид
[1* * 'и *х ' )v *Х * *-w |
]»«« !,•)« J,-к. . (2.2-6)
^z ' *и *г ' Jo ^z * Кц, J
Аналогично, координаты р^ош можно получить из координат
Pxyz-
Puvw = Q-pxyz, (2.2-7)
ИЛИ
[Pal Г К h lu'Jy iu'Kl ГрЛ
Pv Н Ь'Ъ Ь-Jir Jo-kJ-UJ. (2.2-8)
Поскольку операция скалярного произведения коммутативна,
то из соотношений (2.2-6) — (2.2-8) следует
Q = R~1 = Rr, (2.2-9)
QR = RrR = R1 R = 13, (2.2-10)
где Ь — единичная матрица размерностью 3X3.
Преобразование, определяемое формулой (2.2-2) или (2.2-7), называется
ортогональным преобразованием, а поскольку все векторы,
входящие в скалярные произведения, единичные, его также
называют ортонормальным преобразованием.
Особый интерес представляют матрицы поворота системы
OUVW относительно каждой из трех основных осей системы
OXYZ. Если положение системы OUVW в пространстве
изменяется за счет поворота этой системы на угол а вокруг оси ОХ,
то в системе отсчета OXYZ изменятся и координаты (pXt py, рг)т
точки puvwy имеющей в системе OUVW неизменные координаты
{Ри> Pv, Pw)> Соответствующая матрица преобразования R*, а
называется матрицей поворота вокруг оси ОХ на угол а.
Основываясь на полученных выше результатах, для матрицы R*. а имеем
Pxyz = R*, а * Puvw> (2.2-11)
причем
R*, а —
\х = U, И
" h ' 'и '* * ]v
\у * *« iy * Jv
L К2 • 1ц Kz • Jv
ijc • К"
iy * *>w
k • k -
—
"1 0
0 cos а
L0 sin а
0
— sin
cos
. (2.2-12)
Аналогично, трехмерные (размерностью 3X3) матрицы
поворота вокруг оси О У на угол ф и вокруг оси OZ на угол 8 имеют
31
соответственно вид (рис. 2.3):
К#, ф==
cos ф 0 sin ф "1
0 10
L — sin ф 0 cos ф J
R*,
Г cos 9 — sin 0 01
sin9 cos 9 0
L 0 0 oJ
Г cos 8 — sin0
sin 0 cos 0
0
(2.2-13)
Матрицы R*a, Ryt ф и R2i fi называются матрицами
элементарных поворотов. Любые другие матрицы конечных поворотов
можно получить, используя матрицы элементарных поворотов.
Пример. В повернутой системе координат OUVW заданы две
точки аыида=(4, 3, 2)т и bUtw=(6, 2, 4)г. Требуется определить
координаты ьхуг и Ъхуг этих точек в абсолютной системе
координат, если система OUVW повернута относительно оси OZ на
угол 60°.
г eUteHUe'. dixuz === Кг, 60о *&uvw И Охуг == Кг, QQoOuvwy
0,500 -0,866
0,866 0,500
. 0 0 1 J L 2
4 (0,5) + 3 (—0,866)+ 2(0)
4 (0,866) + 3(0,5) + 2(0)
4(0) + 3(0) + 2(1)
а
хуг
'■хуг
"[
и хуг — «\г, 60© i
•до-
"гиг
■'хуг
Г 0,500
0,866
Lo
—0,866 0"
0,500 0
0 1 -
•
'6
2
-4
]-[
1 Г 1,268-1
: =6,196
J U,0 J
0,598
4,964
2,0
'хуг,
Таким образом, a.xyz и Ьхуг в абсолютной системе координат
равны соответственно (—0,598, 4,964, 2,0)т и (1,268, 6,196, 4,0)Г.
Пример. По известным координатам точек ахуг = (4, 3, 2)г и
Ьхуг = (6, 2,4)г в абсолютной системе отсчета требуется
определить соответствующие координаты в системе OUVW,
повернутой относительно оси OZ на 60°.
Решение. &uvw = (R*,воо)7*&хрж и bUo» °=(R*,еоо)г-Ья
0,500 0,866
| -0,866 0,500
0 0
4 (0,5)+ 3(0,866)+ 2(0)
4 (-0,866)+ 3(0,5)+ 2(0)
4(0)+ 3(0)+ 2(1)
0,500
-0,866
0 0 U L4J L 4,0
-[
•ШЬ
■н
0,866 ОТ Г 6 "I Г 4,7321
0,500 0 II 2 = -4,196
0 1J L 4 J L 4.0 J
4,5981
1,964 ,
2,0 J
32
ф * -90*
W
i
U-:
vi
л
, i^—-—■■.,,■, »
0 bs 90*
Рис. 2.З. Вращающаяся система координат*
2 К. Фу и др.
33
2.2.2. Матрицы сложных поворотов
Описание последовательности конечных поворотов
относительно основных осей системы OXYZ можно получить путем
перемножения матриц элементарных поворотов. Поскольку
операция перемножения матриц некоммутативна, здесь существенна
последовательность выполнения поворотов. Например, матрица
поворота, представляющего собой результат последовательного
выполнения поворотов сначала на угол а вокруг оси ОХ, затем
на угол 8 вокруг оси OZ, затем на угол ср вокруг оси О К, имеет
вид
R — Ru-<nR
у, <p*\z, 0 " *>*, а
Rv
' Сф 0 5ф"
0 1 0
L— Sep о Сф-
•
-се
59
- 0
-S9 01
се о
0 1-1
X
X
1 о о
0 Са — Set
0 Sot CaJ
СфСв SySa — CySQCa C(fSQSa +ScpCa'
se ceca —cesa
L— S<pCQ СфСеСа + СфСа СфСа — SySQSa ■
(2.2-14)
X
где Сф = cos ф; 5ф ss sin ф; С8 = cos 8, 58 зэ sin 8; Са sa cos а,
5а = sin а. Она отличается от матрицы, описывающей
результат поворота сначала на угол ф вокруг оси OY, затем на угол 0
вокруг оси OZ и, наконец, на угол а относительно оси ОХ. Во
втором случае результирующая матрица поворота имеет вид
0 I ГС8 -58 01
-5а \-\SQ С6 0 X
CaJ L0 о 1J
—58 С65ф
iSq> СаС8 Са585ф —SaCq
15ф 5аС8 5а585ф — CaCq
(2.2-15)
Наряду с вращением относительно осей абсолютной системы
координат OXYZ подвижная система отсчета OUVW может
совершать повороты вокруг собственных осей. В этом случае
результирующая матрица поворота может быть получена с
использованием следующих простых правил.
1. Вначале обе системы координат совпадают, и,
следовательно, матрица поворота представляет собой единичную
матрицу размерностью 3X3.
2. Если подвижная система координат OUVW совершает
поворот вокруг одной из основных осей системы OXYZ, матрицу
R — R*, a ■ Rs, e * Ry, ф —
"1 0
0 Са
LO 5a
Г Сф 0 5ф-
0 10
L—5ф 0 Сф-
ESS
1
сесф
СаЯбСф + S
l Sa.se
Сф —С
34
^предыдущего результирующего поворота надо умножить слева
на соответствующую матрицу элементарного поворота.
3. Если подвижная система координат OUVW совершает
поворот вокруг одной из своих основных осей, матрицу
предыдущего результирующего поворота надо умножить справа на
соответствующую матрицу элементарного поворота.
Пример. Требуется найти матрицу поворота, являющегося
результатом последовательного выполнения поворотов сначала на
угол ф вокруг оси О У, затем на угол 8 вокруг оси Of и на угол
а вокруг оси OU,
Решение:
R = Ri/, ф ' 'з * Кда, 9 * Ra, а = Ry, ф * ^ш, 6 * R«, а =
Сф 0 Яф! ГС6 —SB 0"| Г1 О О
О 1 0 • S6 С9 О I • О Са -Sa
. —Sy 0 Сф J L 0 0 1-ILoSa CaJ
СфС9 5ф5а — Сф59Са CySQSa + SyCa
SB С9Са —C6Sa
—5фС6 SySBCa + CySa Cq>Ca — SySSSa Л
-[
Этот пример построен так, что матрица результирующего
поворота такая же, как в выражении (2.2-14), однако
последовательность поворотов отличается от последовательности,
результатом которой является выражение (2.2-14).
2.2.3. Матрица поворота вокруг произвольной оси
В ряде случаев подвижная система координат OUVW может
совершать поворот на угол ф относительно произвольной оси г,
представляющей собой единичный вектор с компонентами гх, гу
и гг, выходящий из начала координат О. Преимущество такого
поворота состоит в том, что для некоторых угловых движений
последовательность поворотов относительно основных осей систем
координат OXYZ и/или OUVW можно заменить одним поворотом
системы OUVW вокруг оси г. Чтобы получить матрицу поворота
Rr, ф, можно сначала произвести ряд поворотов относительно осей
системы OXYZr чтобы совместить ось г с осью OZ. Затем
произведем требуемый поворот вокруг оси г на угол ф и опять ряд
поворотов относительно осей системы OXYZ, возвращающих ось OZ
в исходное положение. Из рис. 2.4 видно, что совмещение осей OZ
и г может быть реализовано с помощью поворота на угол а
относительно оси ОХ (ось г в результате окажется в плоскости
XZ), а затем на угол —р вокруг оси О У (в результате оси OZ
и г совпадут)..После поворота на.угол ф относительно OZ или г
2*
оЪ
произведем указанную выше последовательность поворотов, но
в обратном порядке и изменим при этом знаки углов поворота
/ х, и
Рис. 2.4. Вращение вокруг произвольной оси.
на противоположные. Результирующая матрица поворота равна
X
1 О О
О Са Sa
LO —Sa Ca-i
cp о —sp
0 1 0
Sp 0 CpJ
R„
R*
г/, -з "••*, a
cp о sp
0 1 0
L— Sp 0 CpJ
Г1 0 0
0 Ca —Sa
Lo 5a Ca-i
Сф —5ф О
5ф Сф О
L 0 0 1
]
X
Из рис. 2.4 легко определить, что
sina =
V
sin p = гх,
rl + d
cosa =
л/4 + rl
Подстановка этих равенств в предыдущее выражение для Rr|<p
дает
Г 2
Rr, ф —
г^Кф + Сф гхгуКф — г^ф гу^Уф + ryS<p
ГхгуУЦ + ^S<P r2yVq> + Сф г^г2Кф — rxSq>
L^Л^Ф ~~ ^Ф ryrzVy + Г^ф Гг^ф + Сф J
(2.2-16)
36
где Vty==vers <p = 1 —cos qp. Это очень полезная матрица пово-
Пример. Найти матрицу поворота Rr, ф, задающую поворот на
Шол ф вокруг вектора г = (1, 1, 1)т.
^ешение. Поскольку вектор г не является единичным, нужно
рмировать его и определить после этого его координаты в си-
еме отсчета OXYZ. Тем самым
1
1
V'S + 'J + 'S v'3
Гу = V3" Гг ' Уз"
^Подставляя эти значения в равенство (2.2-16), получим
матрицу Яг, Ф:
1/ЗУф + Сф 1/ЗКф —-^=-5ф 1/31/ф + -^|г5ф
■v, ф
1/ЗУф + -4=- S(P !/ЗКф + Сф 1/31/ф ^ 5(Р
1/ЗКф т-5ф 1/ЗКф + -j= Sy 1/ЗКф + Сф
2.2.4. Представление матриц поворота через углы Эйлера
Матричное описание вращения твердого тела упрощает
многие операции; однако, для того чтобы полностью описать
ориентацию вращающегося твердого тела, необходимо использовать
щсе девять элементов матрицы поворота. Непосредственно эти
Цементы не составляют полной системы обобщенных координат,
с помощью которых можно описать ориентацию вращающегося
твердого тела относительно абсолютной системы координат.
В качестве обобщенных координат можно использовать углы
Эйлера ф, 6 и \|?. Существует много различных систем углов
Эйлера и все они описывают ориентацию твердого тела
относительно некоторой заданной системы координат. Три наиболее
часто используемые системы углов Эйлера представлены
в табл. 2.1.
Таблица 2.1. Три системы углов Эйлера
Последовательность
поворотов
На ф вокруг оси
OZ
На Э вокруг оси
OU
На я|э вокруг оси
OW
На ф вокруг оси
OZ
На 6 вокруг оси
OV
На г|э вокруг оси
OW
На -ф вокруг оси
ОХ
На 8 вокруг оси
OY
ha ф вокруг оси
OZ
37
Первая из рассматриваемых систем углов Эйлера обычна
используется при описании движения гироскопов и соответствует
следующей последовательности поворотов (рис, 2.5):
1. Поворот на угол ф вокруг оси OZ.
2. Поворот на угол 0 вокруг повернутой оси OU(Ru, e)-
xtu
Рис. 2.5. Первая система углов Эйлера.
3. Наконец, поворот на угол if вокруг повернутой оси OW(RWt$)»
Результирующая матрица поворота имеет следующий вид:
0|>
5ф
0
—Si|j 01
Сф 0
0 1 J
Сф —5ф 01 Г 1 0 0
Яф Сф 0 0 С9 — SQ
о о 1-1 Lo se се
СфСг|? — 5фСб5г|) —Сф5г|) — ЯфСвСф 5ф5в
ЗфСф + СфСеЯф — 5ф5г|з + СфС9Сг|э —Сф5в
sesy soc^ ce
(2.2-17)
Поворот, описываемый матрицей Rep, e> ^, может быть также
получен в результате выполнения последовательности
следующих поворотов вокруг осей неподвижной системы координат!
сначала на угол \|> вокруг оси OZ, затем на угол 6 вокруг оси ОХ
и, наконец, на угол ф вокруг оси 01.
На рис. 2.6 изображена вторая система углов Эйлера, опре»
деляемая следующей последовательностью поворотов:
1. Поворот на угол ф вокруг оси 0Z(R2l ф)*
38
2. Поворот на угол 0 вокруг повернутой оси OV(Rv, еЬ
3. Наконец, поворот на угол ф вокруг повернутой оси Ott^R^, ^).
Результирующая матрица поворота имеет следующий вид:
Сф —Яф 01 Г СО 0 591 Г Сф —S-ф О
5ф Сф 0 0 1 0 5ф Сф О
О 0 1 J L -SQ О С9 J L О О U
СфСбСф — СфЯф —СфС95ф — 5фСф Сф59"
5фС9Сф + Сф5ф — 5фС95ф + СфСф 5ф59
~59Сф 595ф С9
(2.2-18)
поворот, описываемый матрицей Цф| е, ф для этой системы
%Гйов Эйлера, может быть получен также в результате выполне-
y,v
Х,и
Рис. 2.6. Вторая система углов Эйлера.
1Шя следующей последовательности поворотов вокруг осей
неподвижной системы координат: на угол г|) вокруг оси OZ, затем
на угол 9 вокруг оси О У и, наконец, на угол ф вокруг оси OZ.
Еще одну систему углов Эйлера составляют так называемые
-углы крена, тангажа и рысканья. Эти углы обычно применяются
в авиационной технике при описании движения аппаратов.
Они соответствуют следующей последовательности поворотов:
1. Поворот на угол г|) вокруг оси OX(Rx,y) (рысканье).
% Поворот на угол 9 вокруг оси OY(Ry,B) (тангаж).
3, Поворот на угол ф вокруг оси 0Z(R2, Ф) (крен).
39
Результирующая матрица поворота имеет следующий вид:
Сф —Sep О-
Sqp Сф О
о о и
СфСЭ CqpSeSif — S(pC4f> CcpSBC^ + ScpS\|)
ScpCG SqpS0S\|> + CcpC-ф SqpSOC^ — Сср5г|з
L —S9 C0Si|3 CeCiJ)
Г С9 О 591
0 10
L—so о се J
Г' °
0 Сф
Lo sy
0 Л
—St|)
Сг|з J
(2.2-19)
Поворот, описываемый матрицей Rcp, e, ф в переменных крен,
тангаж, рысканье, может быть также получен в результате вы-
z полнения следующей
последовательности поворотов вокруг
осей абсолютной и подвижной
систем координат: на угол ф
вокруг оси OZ, затем на угол 0
вокруг повернутой оси OV и,
^У наконец, на угол \|) вокруг
повернутой оси OU (рис. 2.7).1)
Рысканье
Ф'Г
Тангаж
Рис. 2.7. Крен, тангаж, рысканье
(третья система углов Эйлера),
2,2.5. Геометрический смысл
матриц поворота
Выясним теперь
геометрический смысл матриц поворота.
Пусть точка р в системе отсчета OUVW имеет координаты
(1, 0, 0), т. е. puvw = i«. Тогда первый столбец матрицы поворота
представляет собой координаты этой точки относительно системы
отсчета OXYZ. Аналогично, выбирая в качестве р векторы
(0, 1, О)7 и (0, 0, 1)г, легко видеть, что второй и третий столбцы
матрицы поворота представляют собой координаты единичных
векторов в направлении соответственно осей ОV и OW системы
OUVW относительно системы отсчета OXYZ. Таким образом,
если заданы абсолютная система отсчета OXYZ и матрица
поворота, то векторы-столбцы этой матрицы задают в системе OXYZ
координаты единичных векторов в направлении основных осей
системы OUVW, Это позволяет определить положение осей
системы координат OUVW относительно абсолютной системы
координат. Итак, матрица поворота определяет положение
основных осей повернутой системы координат относительно
абсолютной системы координат.
]) В принятой авторами системе координат продольная ось аппарата или
сочленения совпадает с осью Z,— Прим. редй
40
Поскольку операция обращения матрицы поворота совпадает
|$ операцией транспонирования, то векторы-строки матрицы
поворота задают направление основных осей абсолютной системы
координат OXYZ в повернутой системе координат OUVW. Такая
геометрическая интерпретация матрицы поворота дает ключ
к решению многих задач кинематики манипулятора. Ниже
приводится ряд полезных свойств матриц поворота.
1. Каждый столбец матрицы поворота представляет собой
единичный вектор в направлении соответствующей оси
повернутой системы отсчета, заданный своими координатами
относительно абсолютной системы координат. Каждая строка матрицы
Поворота представляет собой единичный вектор в направлении
соответствующей оси абсолютной системы координат, заданный
своими координатами относительно повернутой системы отсчета
/г^ Поскольку каждый столбец и строка представляют собой
координаты единичного вектора, длина векторов, определяемых
строками и столбцами матрицы поворота, равна 1. Это свойство
непосредственно следует из определения ортонормированной
системы координат. Далее, детерминант матрицы поворота равен
+ 1 для правосторонней системы отсчета и —1—для
левосторонней.
3. Поскольку столбцы (строки) матрицы поворота являются
векторами, составляющими ортонормированный базис, скалярное
произведение векторов, определяемых двумя различными
столбцами (строками), равно нулю.
4. Операция обращения матрицы поворота совпадает с
операцией транспонирования: R^^R и RR =13,
где 1з — единичная матрица размерностью 3X3. Свойства 3 и 4
особенно полезны для проверки результатов умножения двух
матриц поворота и при поиске строки или столбца матрицы
поворота, в котором сделана ошибка.
Пример. Координатные оси Of/, ОV и OW повернуты на угол а
вокруг оси ОХ. Определить координаты единичных векторов
в направлении осей абсолютной системы отсчета относительно
повернутой системы отсчета OUVW.
Решение. Единичные векторы в направлении повернутых
координатных осей в повернутой системе отсчета имеют координаты
1М = (1, о, 0)г, Ь = (0, 1, 0)г, кда = (0, О, 1)г. Тогда исходные
единичные векторы имеют вид
ix=Uu + 0h + 0K = (U 0, 0)г,
iy = 0iw + cosaj0—sinaka, = (0, cos a, —sin a) ,
кг = 0iM + sin aj0 -j- cos акш = (О, sin a, cosa)r.
Используя свойство 1 и рассматривая эти векторы как строки
матрицы поворота, можно воссоздать матрицу R*, a, которая бу-
41
дет иметь следующий вид:
Г 1 О ОТ
R*, а — I 0 cos а sin а ,
L 0 — sin а cos а J
что совпадает с результатом транспонирования матрицы,
входящей в равенство (2.2-12).
2.2.6. Однородные координаты и матрицы преобразований
Поскольку трехмерная матрица поворота не невет информа-
ции о поступательном перемещении и используемом масштабе,,
вектор координат р=(р*, рУу pz)T в трехмерном пространстве
дополняют четвертой координатой (или компонентой) так, чта
он принимает вид р = (wpXy wpy, wpz, w)T. В этом случае говорят,
что вектор р выражен в однородных координатах. В этом
разделе для обозначения того, что евклидов вектор выражен в
однородных координатах, мы будем его записывать в виде р. В
дальнейшем, если это не приведет к путанице, такие «крышки» над
буквами будут опущены. Описание точек трехмерного
пространства однородными координатами позволяет ввести в
рассмотрение матричные преобразования, содержащие одновременно
поворот, параллельный перенос, изменение масштаба и
преобразование перспективы. В общем случае изображение jV-мернога
вектора вектором размерностью N + 1 называется
представлением в однородных координатах. При таком представлении
преобразование jV-мерного вектора производится в (N + 1)-мерном
пространстве, а физический /V-мерный вектор получается
делением однородных координат на (N + 1)-ю компоненту до. Так,,
вектор р = (рх, рУу pz)T положения в трехмерном пространстве
в однородных координатах представляется расширенным
вектором (wpXiwpy,wpz,w)T. Физические координаты связаны с од*
нородными следующим образом:
wpx wpy wpz
Px==z w » Ру = ~^ ' Рг = ~ЩГ~'
Представление трехмерного вектора положения в
однородных координатах не единственно. Например, pi — (wipx,W\pyy
W[pz,Wi)T и р2 =(w2px, W2Py,w2pz,W2)T являются различными
однородными представлениями одного и того же вектора
положения р = (рх, ру, pz) t. Таким образом, четвертую компоненту до-
вектора однородных координат можно рассматривать как
масштабирующий множитель. Если эта компонента равна 1 (до = 1),
то однородные координаты вектора положения совпадают с его
физическими координатами. В робототехнике масштабирующий
42
житель всегда выбирается равным 1, а в задачах машинной
фики он принимает любые положительные значения.
Однородная матрица преобразования представляет собой
матрицу размерностью 4X4, которая преобразует вектор,
выраженный в однородных координатах, из одной системы отсчета в
другую. Однородная матрица преобразования может быть разбита
«а четыре подматрицы:
[Кзхз!рзх1 "I
ТхЛ'ТхТг
Поворот \ Сдвиг
Преобразование | Масштаби
перспективы j рование
(2.2-20)
Верхняя левая подматрица размерностью 3X3 представляет
собой матрицу поворота; верхняя правая подматрица размер-
■ +Ш$!ВШ& 3X1 представляет собой вектор положения начала ко-
«фдинят повернутой системы отсчета относительно абсолютной;
нижняя левая подматрица размерностью 1X3 задает
преобразование перспективы; четвертый диагональный элемент является
глобальным масштабирующим множителем. Однородная
матрица преобразования позволяет выявить геометрическую связь
между связанной системой отсчета OUVW и абсолютной
системой OXYZ.
Если вектор р трехмерного пространства выражен в
однородных координатах (т. е. р = {рх, py,Pz, 1)г), то, используя
понятие матрицы преобразования, можно сформировать
однородную матрицу преобразования Т„ов, задающую преобразование
поворота и имеющую размерность 4 X 4. Однородная матрица
поворота получается соответствующим расширением обычной
матрицы поворота, имеющей размерность 3X3. Так, однородное
представление для матриц (2.2-12) и (2.2-13) имеет следующий
вид:
cosqp 0 sin ф 0'
0 10 0
— sin ф 0 соэф 0
0 0 0 1
(2.2-21)
Эти матрицы размерностью 4X4 называются однородными
матрицами элементарных поворотов.
Верхняя правая подматрица однородной матрицы
преобразования, имеющая размерность 3X1» задает параллельный пе-
Т =5
Тг,е = ,
"1 0
0 cos a
0 sin а
!_0 0
~ cos 0 —
sin Э
0
0
0
— sin а
cos а
0
sin9 0
cos 9 0
0 1
0 0
0"
0
0
1_
°1
0
0
1
' *U,<f
•
43
т =
1 сдв
(2.2-22)
ренос системы координат OUVW относительно абсолютной
системы OXYZ на вектор (dx, dy, dz)T:
1 0 0 dx~
О I 0 dy
О 0 1 dz
.0 0 0 1
Эта матрица размерностью 4X4 называется однородной матри*
цей элементарного сдвига.
Левая нижняя подматрица однородной матрицы
преобразования размерностью 1 X 3 определяет преобразование
перспективы, используемое, как показано в гл. 7, в задачах машинного
зрения и при калибровке изображений. Здесь элементы этой
подматрицы нулевые, что соответствует нулевому преобразованию
перспективы.
Диагональные элементы однородной матрицы
преобразования определяют локальное и глобальное изменения масштаба.
Первые три диагональных элемента задают локальное
растяжение, или изменение масштаба:
(2.2-23)
Легко видеть, что значения координат претерпевают изменение
масштаба, определяемое соответственно скалярами a, b и с.
Заметим, что матрицы элементарных поворотов Т„ов не дают
эффекта локального изменения масштаба.
Четвертый диагональный элемент определяет глобальное
преобразование масштаба
a U U U
0 6 0 0
0 0 с 0
0 0 0 11
X
У
z
1 1
ах
by
cz
1
1 0 0 01
0 10 0
0 0 10
0 0 0 s\
1 х
У
Z
1 1
" X
У
z
s
(2.2-24)
где s > 0. Физические декартовы координаты вектора будут
равны
Р* = Т> Ру = -Т' Л—f- » = Тв1' <2-2'25>
Таким образом, четвертый диагональный элемент однородной
матрицы преобразования определяет глобальное сжатие
координат, если s > 1, и растяжение, если 0 < s < 1.
Итак, однородная матрица преобразования переводит вектор,
44
заданны* однородными координатами в системе отсчета OUVW,
& абсолютную систему координат OXYZ, т. е. при w = 1
Рхуг = Tpuvw (2.2-26а)
и
Т =
2.2.7. Геометрический смысл однородной матрицы
преобразования
В общем случае однородная матрица преобразования
векторов трехмерного пространства может быть представлена так,
как в равенстве (2.2-266). Выберем в системе координат OUVW
точку р, имеющую однородные координаты (О, О, О, 1)Г, т. е.
Puvw совпадает с началом системы координат OUVW. В этом
случае верхняя правая подматрица размерностью 3X1
характеризует положение точки начала системы координат OUVW
в абсолютной системе отсчета OXYZ. Далее, выберем точку р
равной (1, О, О, 1)Г, т. е. puvw = iM. Кроме того, предположим,
что начала обеих систем отсчета совпадают и расположены в
точке О. Это приводит к тому, что все элементы верхней правой
подматрицы, имеющей размерность 3X1, равны 0. Тогда
первый столбец (или вектор п) однородной матрицы
преобразования определяет координаты единичного вектора в направлении
оси OU системы OUVW в системе отсчета OXYZ. Аналогично,
полагая р равным (0, 1, 0, 1)г и (0, 0, 1, 1)г, легко видеть, что
второй столбец (или вектор s) и третий столбец (или вектор а)
элементов однородной матрицы преобразования определяют
соответственно координаты единичных векторов в направлении
осей OV и OW системы OUVW в абсолютной системе отсчета.
Таким образом, если задана абсолютная система отсчета OXYZ
и однородная матрица преобразования Т, то векторы-столбцы
подматрицы поворота представляют собой единичные векторы
в направлении основных осей системы OUVW, заданные своими
координатами в абсолютной системе отсчета, т. е. задают
ориентацию основных осей системы отсчета OUVW относительно
абсолютной системы координат. Четвертый вектор-столбец
однородной матрицы преобразования задает положение начала
координат системы отсчета OUVW относительно абсолютной системы
координат. Другими словами, однородная матрица
преобразования в геометрическом смысле определяет расположение
повернутой системы координат (положение и ориентацию) по
отношению к абсолютной системе отсчета.
ftx sx &х Рх
пу sy ay ру
п7
си
0 0 0 1
[п s a pi
о о о ij- (2-2-26б)
45
Поскольку операция обращения подматрицы поворота
совпадает с операцией транспонирования, то векторы-строки
подматрицы поворота задают положение основных осей абсолютной
системы координат относительно повернутой системы координат
OUVW. Однако для однородной матрицы операции обращения
и транспонирования не совпадают. Положение начала
абсолютной системы координат относительно системы координат OUVW
можно определить лишь после того, как определена матрица,
обратная матрице однородного преобразования. В общем случае
такая матрица имеет следующий вид:
аг. аа
az
0 0 0
т
-п р
т
-s р
т
-а р
1
т
~п р
т
—s р
т т
Изхз— а р
0 0 0
1
(2.2-27)
Таким образом, из равенства (2.2-27) видно, что векторы-столбцы
матрицы, обратной к однородной матрице преобразования,
определяют положение основных осей абсолютной системы отсчета
относительно повернутой системы координат OUVW. Верхняя
правая подматрица размерностью 3X1 характеризует
положение начала абсолютной системы координат относительно системы
OUVW. Такая геометрическая интерпретация однородной
матрицы преобразования будет часто использоваться в данной книге.
2.2.8. Однородная матрица композиции преобразований
Однородная матрица композиции преобразований
(обозначим ее как матрицу Т) может быть получена путем
перемножения однородных матриц элементарных поворотов и сдвигов.
Однако, поскольку операция умножения матриц некоммутативна,
особое внимание следует обратить на порядок перемножения
этих матриц. При определении однородной матрицы композиции
преобразований будут полезны следующие правила:
1. Вначале обе системы координат совпадают, и,
следовательно, однородная матрица преобразования представляет собой
единичную матрицу 14 размерностью 4X4.
2. Если подвижная система координат OUVW совершает
поворот/сдвиг относительно осей системы отсчета OXYZ,
однородную матрицу предыдущего результирующего преобразования
надо умножить слева на соответствующую однородную матрицу
элементарного поворота/сдвига.
3. Если подвижная система координат OUVW совершает
поворот/сдвиг относительно одной из собственных основных осей,
однородную матрицу предыдущего результирующего
преобразования надо умножить справа на соответствующую однородную
матрицу элементарного поворота/сдвига.
46
У, «»
Пример. Две точки &uvw — (4, 3, 2)Г и bwt^ = (6, 2, 4)т тре-
^етс^^нзстшъ на +5 единиц вдоль оси ОХ и на —3 единицы
вдоль оси OZ. Используя соответствующую однородную
матрицу преобразования, определить координаты точек а*
b*, у, z, полученных в результате этих смещений.
Решение.
9
3
-1
i
&хуг —
i% —
"хуг ~
"10 0
0 1 0
0 0 1
_0 0 0
"10 0
0 1 0
0 0 1
_0 0 0
51
0
—3
1J
51
0
-3
1J
Г4"
3
2
L i_
Г6"
2
4
_ 1 J
==
" 4(1)+1(5)
3(1)+1(0)
2(1) + 1 (—3)
KD
"11"
2
1
. 1 .
*
Смещенные точки имеют следующие координаты:
a^ = (9, 3, -1)г и Ь.хуг = {\\, 2, 1)г.
Пример. Требуется определить матрицу Т, задающую преобра-
вание, состоящее из поворота на угол а вокруг оси ОХ, затем
смещения на b единиц вдоль повернутой оси OV.
Решение. Эта задача, может быть, до некоторой степени
искусственна, однако она иллюстрирует смысл основных компонент
матрицы Т. Мы воспользуемся двумя подходами к ее решению.
Первый из них противоречит принятому в этой книге стилю
изложения, однако является весьма иллюстративным, второй
соответствует общим принципам изложения и является более
простым. После поворота Тх>а направление повернутой оси ОV
определяется (через векторы L, )y, kz абсолютной системы отсчета)
вектором ]v = cos а]у + sin ак2, т. е. вторым столбцом равенства
(2.2-21). Таким образом, сдвиг вдоль повернутой оси OV на b
единиц равен b)v = b cos a]y -\- b sin ak2 и матрица Т имеет
следующий вид:
* о, Ь1 х, a
"1
0
0
_0
"1
0
0
0
0 0
1 0
0 1
0 0
0
cos a
sin a
0
0 1
b cos a
b sin a
1 J
Г1 0
0 coso
0 sin о
Lo о
0 0
— sin a b cos a
cos a b sin a
0
1
0
. — sin a
cos a
0
0
0
0
1
47
Второй подход состоит в том, чтобы, следуя изложенным выше
правилам, увидеть, что поскольку матрица Т*, а преобразует ось
ОУ в ось О У, то прежний эффект достигается сдвигом вдоль
оси OV:
*х, а ' v, Ъ
Г1 °
0 cos а
0 sin а
1 0 0
"10 0
0 cos а — sin а
0 sin а cos а
_0 0 0
0 0 "
— sin а ft cos а
cos а Ъ sin а
0 1
01
0
0
1 J
Г1
0
0
!_о
0
1
0
0
0 0
0 Ь
1 0
0 1
Пример. Определить однородную матрицу преобразования Т9
задающую следующую последовательность преобразований:
поворот на угол а вокруг оси ОХ, сдвиг на а единиц вдоль оси ОХ,
сдвиг на d единиц вдоль оси OZ и затем поворот на угол 9
вокруг оси OZ.
Решение.
X
Т2, eTz,
Г1 0
0 1
о о
[_о о
Г cos 6
sin 6
0
1 0
d * х, a l xy a
0
0
1
0
01
0
d
1 J
Г1 C
0 1
0 (
LO (
- cos а sin
cos a cos 6
sin а
0
cose •
-sine 0 0"
sine cose о о
0 0 10
_ 0 0 0 1 _
) 0 a~\
0 0
) 1 0
) 0 lj
X
pi о о
0 cos а — sin а
0 sin a cos а
j_0 0 0
e sin a sin 6 a cos 6 ~
— sin с cos6 a sin 6
cos a d
0 1
0
0
0
1
Мы определили две системы координат — неподвижную
абсолютную систему координат OXYZ и подвижную систему,
совершающую вращательное и поступательное движение, — систему
координат OUVW. Для описания взаимного пространственного
положения этих систем координат была использована
однородная матрица преобразования размерностью 4X4. Матрица
однородного преобразования обладает тем свойством, что,
воздействуя на вектор положения, выраженный в однородных коорди-
48
йатах, производит одновременно преобразования поворота, сдвига
перспективы и глобальное изменение масштаба.
Если эти две системы координат связать со звеньями
манипулятора, например с /-м и (i—1)-м звеньями соответственно, то
система координат (/—1)-го звена будет абсолютной системой
координат, а система координат /-го звена, если последнее
движется,— подвижной системой координат. Используя матрицу Т,
мы по известным координатам рг неподвижной относительно /-го
звена точки р в системе OUVW /-го звена можем получить
координаты этой точки в системе координат OXYZ, связанной
с (i— 1)-м звеном в соответствии со следующей формулой;
P*-i = Tp„ (2.2-28)
где Т — однородная матрица преобразования, устанавливающая
связь между системами координат; р,— расширенный вектор
положения (xi, tji, Zh I)7, определяющий однородные координаты
точки в системе координат /-го звена; рм — расширенный вектор
положения (х/_ь yi-u Zi-u 07> определяющий однородные
координаты этой же точки р, относительно системы координат
(/— 1)-го звена.
2.2.9. Звенья, сочленения и их параметры
Механический манипулятор состоит из звеньев, соединенных
вращательными или поступательными сочленениями (рис. 2.8).
Каждая пара, состоящая из звена и сочленения, обеспечивает
одну степень свободы. Следовательно, манипулятор с N
степенями свободы содержит N пар звено — шарнир, причем звено О
соединено с основанием, где обычно размещается инерциальная
система координат данной динамической системы, а последнее
звено снабжено рабочим инструментом. Звенья и сочленения
нумеруются по возрастанию от стойки к схвату манипулятора; так,
сочленением 1 считается точка соединения звена 1 и опорной
стойки. Каждое звено соединено не более чем с двумя другими
так, чтобы не образовывалось замкнутых цепей.
В общем случае два звена соединяются элементарным
сочленением, имеющим две соприкасающиеся поверхности,
скользящие друг относительно друга. Известно всего шесть различных
элементарных сочленений: вращательное, поступательное
(призматическое), цилиндрическое, сферическое, винтовое и плоское
(рис. 2.9). Из перечисленных типов сочленений в манипуляторах
обычно используются только вращательное и поступательное.
В месте соединения двух звеньев определяется ось /-го
сочленения (рис. 2.10). Эта ось имеет две пересекающие ее нормали,
каждая из которых соответствует одному из звеньев.
Относительное положение двух соединенных звеньев (звена /—1 и
звена /) определяется величиной di— расстоянием между этими
49
нормалями, отсчитываемым вдоль оси сочленения.
Присоединенный угол Qi между нормалями измеряется в плоскости,
перпендикулярной оси сочленения. Таким образом, dt и 9/ можно
назвать расстоянием и углом между смежными звеньями. Они
определяют относительное положение соседних звеньев.
Звено i (/= 1, 2, 3, ..., 6) соединено не более чем с двумя
звеньями (/—1-м и i-\- 1-м звеньями); таким образом, в
точках соединения /-го звена с двумя соседними определены две
Рис. 2.8. Звенья и сочленения манипулятора Пума.
оси сочленений. Важное свойство звеньев с точки зрения
кинематики состоит в том, что они сохраняют неизменной
конфигурацию относительного расположения соседних сочленений,
характеризуемую параметрами at и а/. В качестве параметра а*
выбрано кратчайшее расстояние между осями z,_i и ъ\ i-ro и
i -f- 1-го сочленений соответственно, измеряемое вдоль их общей
нормали, at— угол между осями сочленений, измеряемый в
плоскости, перпендикулярной их общей нормали. Таким образом,
at и а\ можно рассматривать соответственно как длину и угол
скрутки 1-го звена. Эти параметры характеризуют
конструктивные особенности /-го звена.
Итак, с каждым звеном манипулятора связаны четыре
параметра; aLi a/, dt, 0/. Если для этих параметров установить пра-
50
Вращательное
Плоское
Цилиндрическое. Поступательное
Сферическое
Винтовое
Рис. 2.9. Элементарные сочленения.
Сочленение 1*1
Сочленение I P^> i¥i
\з$еноь*1
Рис. 2.10, Система координат; звена и ее параметры.
51
вило выбора знаков, то они составят набор, достаточный для
описания кинематической схемы каждого звена манипулятора.
Заметим, что эти параметры можно разделить на две пары:
параметры звена (aiy at), которые характеризуют конструкцию звена,
и параметры сочленения (di, 6;), характеризующие относительное
положение соседних звеньев.
2.2.10. Представление Денавита — Хартенберга
Для описания вращательных и поступательных связей между
соседними звеньями Денавит и Хартенберг [57] предложили
матричный метод последовательного построения систем
координат, связанных с каждым звеном кинематической цепи. Смысл
представления Денавита — Хартенберга (ДХ-представление)
состоит в формировании однородной матрицы преобразования,
имеющей размерность 4X4 и описывающей положение системы
координат каждого звена относительно системы координат
предыдущего звена. Это дает возможность последовательно
преобразовать координаты схвата манипулятора из системы отсчета,
связанной с последним звеном, в базовую систему отсчета,
являющуюся инерциальной системой координат для
рассматриваемой динамичекой системы.
Кроме базовой системы координат для каждого звена на оси
его сочленения определяется ортонормированная декартова
система координат (X/, уь %i) l\ где i=*l, 2, ..., п, а п равно числу
степеней свободы манипулятора. Поскольку вращательное
сочленение имеет только одну степень свободы, каждая система
координат (х;, у,-, zt) манипулятора соответствует (i + l)-y
сочленению и связана с i-м звеном. Когда силовой привод
возбуждает движение в i-ы сочленении, /-е звено начинает двигаться
относительно (i—1)-го звена. Поскольку г-я система координат
связана с /-м звеном, она движется вместе с ним. Таким
образом, я-я система координат движется вместе с последним п-м
звеном манипулятора. Базовой является нулевая система
координат (хо, уо, z0), представляющая собой инерциальную систему
координат манипулятора. Так, для шестизвенного манипулятора
Пума должны быть определены семь систем координат, а именно
(хо, уо, Zo)., (хь уь zi), ..,, (х6, уе> z6).
Каждая система координат формируется на основе
следующих трех правил:
1. Ось z,_i направлена вдоль оси /-го сочленения.
2. Ось х; перпендикулярна оси z^i и направлена от нее.
3. Ось у,- дополняет оси хг, z-t до правой декартовой системы
координат.
*> В действительности (х/, у*, z/) представляют собой единичные векторы,
направленные вдоль основных осей i-й системы координат, но в данном случае
так обозначается i-я система координат,
52
Эти правила оставляют свободу в выборе 0-й системы
координат при условии, что ось z0 направлена вдоль оси первого
сочленения. Последняя, п-я система координат также может быть
выбрана в произвольной точке n-го звена при условии, что ось
хп перпендикулярна оси г^-х.
ДХ-представление твердых звеньев зависит от четырех
геометрических параметров, соответствующих каждому звену. Эти
четыре параметра полностью описывают любое вращательное
или поступательное движение и определяются в соответствии
с рис. 2.10 следующим образом:
0;—присоединенный угол — угол, на который надо повернуть
ось x/_i вокруг оси z/_i, чтобы она стала сонаправлена
с осью \i (знак определяется в соответствии с правилом
правой руки);
di — расстояние между пересечением оси z,_i с осью уц и
началом (I— 1-й системы координат, отсчитываемое вдоль оси
Zi-U
щ — линейное смещение — расстояние между пересечением оси
z/_i с осью х/ и началом i-и системы координат,
отсчитываемое вдоль оси X/, т. е. кратчайшее расстояние между осями
z/-i и га
а< — угловое смещение — угол, на который надо повернуть ось
z;_i вокруг оси X/, чтобы она стала сонаправленной с осью
zt (знак определяется в соответствии с правилом правой
руки).
Для вращательных сочленений параметры di, at и at
являются характеристиками сочленения, постоянными для данного
типа робота. В то же время 9г является переменной величиной,
изменяющейся при движении (вращении) /-го звена
относительно (I—1)-го. Для поступательных сочленений 9*, а/ и а/ —
характеристики сочленения, неизменные для данного робота,
a di — переменная величина. Ниже в этой книге о величинах 9*
(или di) будем говорить как о присоединенных переменных,
подразумевая тем самым, что они могут менять свои значения.
Величины du а{, а/, если /-е сочленение вращательное, и 9/, аи а/,
если оно поступательное, будем называть присоединенными
параметрами, подчеркивая их постоянство.
Ниже в алгоритме 2.1 дано описание процедуры
формирования последовательности согласованных систем координат,
связанных со звеньями манипулятора. Алгоритм базируется на
изложенных выше трех основных правилах построения ортонор-
мированных систем координат звеньев и учитывает
геометрический смысл параметров сочленений и звеньев. Примеры
применения этого алгоритма для шестизвенного манипулятора Пума
и для манипулятора, разработанного в Станфордском
университете, приведены на рис. 2.11 и 2.12 соответственно.
53
Алгоритм 2.1. Формирование систем координат звеньев. Для
каждого звена манипулятора с п степенями свободы этот
алгоритм формирует ортонормированную систему координат. Выбор
систем координат производится с учетом конфигурации
манипулятора, сходной с конфигурацией человеческой руки. Системы
Рис. 2.11. Формирование систем координат звеньев для манипулятора Пума.
Параметры систем координат звеньев манипулятора Пума
Сочленение i
1
2
3
4
5
6
Qi
90
0
90
0
0
0
а1
-90
0
90
-90
90
0
ai
0
431,8 мм
—20,32 мм
0
0
0
di
0
149,09 мм
0
433,07 мм
0
56,25 мм
Пределы изменения
-160- +160
-225 — 45
-45 - 225
-ПО- 170
— 100- 100
—266 - 266
координат нумеруются в порядке возрастания от основания
к схвату манипулятора. Взаимное расположение соседних зве-
ньем описывается однородной матрицей преобразования
размерностью 4X4. Смысл такого построения систем заключается в
тем, что оно позволяет, как будет показано в следующих главах,
выработать последовательную процедуру решения обратной
задачи кинематики. Заметим, что предлагаемый способ выбора
систем координат не является единственным.
54
Д1. Формирование базовой системы координат. Сформировать
правую ортонормированную систему координат (х0, уо, Zo),
связанную с основанием, направив ось z0 вдоль оси 1-го
Рис. 2.12. Формирование систем координат звеньев для станфордского
манипулятора.
ч Параметры систем координат звеньев станфордского манипулятора
Сочленение i
1
2
3
4
5
6
е/
б! = —90
е2 = -90
е3 — -90
е4 = о
е5 = о
еб = о
at
-90
90
0
-90
90
0
ai
0
0
0
0
0
0
di
dx
d2
dz
0
0
d6
сочленения к «плечу» манипулятора. Оси х0 и у0 можно
выбрать произвольно при условии их перпендикулярности
ОСИ Zo-
Д2. Начало и цикл. Для всех i (i = 1, 2, .,., п— 1) выполнить
шаги ДЗ—Д6.
ДЗ. Формирование осей сочленений. Направить ось zt вдоль оси
движения (вращательного или поступательного) /+1-го
сочленения. Для роботов с манипуляторами, имеющими
конфигурацию левой-правой руки, оси ъх и z2 направлены
от плеча и общего направления манипулятора.
Д4. Формирование начала 1-й системы координат. Расположить
начало i-й системы координат на пересечении осей zt и z/_i
или на пересечении общей нормали к осям z, и ъ^х
с осью z,.
Д5. Формирование оси х/. Выбрать единичный вектор х*
следующим образом: х* = ±{zi-\ X z,)/||zi-i X z«|| или вдоль
общего перпендикуляра к осям z/_i и %и если они
параллельны.
Д6. Формирование оси у*. Положить у/ = -\-{zL X x,)/||z; X х»||,
получив тем самым правостороннюю систему координат.
(Продолжить оси г-ь и Xi, если это необходимо для шагов
Д9-Д12.)
Д7. Формирование системы координат схвата. Как правило,
n-е сочленение является вращательным. Сформировать
ось Z/j, направив ее вдоль оси z„_! и от робота. Выбрать
ось хп так, чтобы она была перпендикулярна осям zn^\ и
гп. Ось у„ дополняет систему до правой тройки (более
подробно см. разд. 2.2.11).
Д8. Определение параметров звеньев и сочленений. Для
каждого i (* = 1, ..., л) выполнить шаги Д9 — Д12.
Д9. Определение du di представляет собой расстояние от
начала (I—1)-й системы координат до пересечения оси
z/_i с осью X/, отсчитываемое вдоль оси z/_i. Если 1-е
сочленение — поступательное, то dt — присоединенная
переменная.
Д10. Определение at. а% — расстояние между пересечением оси
z/_i с осью xi и началом 1-й системы координат,
отсчитываемое вдоль оси Хи
Д11. Определение 8/. 6/ — угол, на который нужно повернуть
ось х/_! вокруг оси z,-_i, чтобы она стала сонаправлена
с осью Xi. Если 1-е сочленение — вращательное, то 0; —
присоединенная переменная.
Д12. Определение а/, а* — угол, на который надо повернуть ось
Zt—1 вокруг оси х/, чтобы она стала сонаправлена с
ОСЬЮ Z|,
Как только ДХ-системы координат сформированы для всех
звеньев, не составляет труда построить однородные матрицы
преобразования, связывающие i-ю и (i—1)-ю системы
координат. Из рис. 2.10 видно, что координаты точки г/, заданные в 1-й
системе координат, можно преобразовать в координаты r*_i этой
же точки относительно (/—1)-й системы координат, выполняя
последовательность следующих операций:
56
1. Поворот вокруг оси z;_i на угол 9/, чтобы ось х/_1 стала сонг^
правлена с осью х/.
2. Сдвиг вдоль оси Z/_i на расстояние d/, чтобы совместить оси
X/_i И X*.
3. Сдвиг вдоль оси х, на расстояние а*, чтобы совместить начала
чала координат.
4. Поворот вокруг оси х< на угол а,-, в результате которого
достигается совпадание систем координат.
Каждую из этих четырех операций можно описать
однородной матрицей элементарного поворота-сдвига, а произведение
таких матриц даст однородную матрицу сложного
преобразования '~!А/, называемую ДХ-матрицей преобразования для
смежных систем координат с номерами i и i— 1. Таким образом,
получаем
™t — ' 2, d * г, G * х, а * ху а —
1
О 1
О О
О О
о
1
о
о
1
X
COS0;
sin0;
0
0
COS0;
sin 0*
0
0
— sine, 0 01
COS0, 0 0
0 10
0 0 1 J
Г 1 0 0 a(~\
0 10 0
0 0 10
[о о о i J
— cos at sin 0; sin at sin 0;
cos at cos 0; — sin at cos 0^
sin at cos a^
0
0
0 0 0
1 0
0 cos a
X
U Sin 0t;
.0 0
a{ cos 0f"
at sin 0г
dt
1
0 0'
sin at 0
cos a,- 0
0 1
(2.2-29)
Используя равенство (2.2-27), найдем, что матрица, обратная
к '_1А,-, имеет вид
(2.2-30)
COS0;
- cos at sin 0;
sin a( sin 0^
0
sin 0;
cos at cos 0f
— sin c^ cos 9f
0
0
sin otf
cos щ
0
~~at
—dt sin at
—dt cos c^
1
где a*, au dt — константы, а 0/ — присоединенная переменная,
если рассматриваемое сочленение—вращательное.
Для поступательного сочленения присоединенной переменной
является du а а«, а, и 0*—константы. В этом случае '^А,- при-
57
нимает вид
i-\
А/ — *г,Ъ*глй^х,а'
cosQ£ — cos a, sin 0; sin а; sin 0/ О"
sin G^ cos a, cos 0/ — sina,cos0/: 0
0 sin ai cos a/ dt
0
0
0
а матрица, обратная к * lAh равна
1
(2.2-31)
cos 0/
— cosaz sin 9(-
sin at sin 0^
0
sin 0/
0
(2.2-32)
0
cos щ cos Qt sin at —dt sin a,-
— sina^cos0z cosaf —dt cos at
0 0 1
Используя матрицу '-1A/, можно связать однородные
координаты р, точки р относительно i-и системы координат (точка р
покоится в 1-й системе координат) с однородными координатами
этой точки относительно (/—1)-й системы отсчета, связанной
с (I— 1)-м звеном. Эта связь устанавливается равенством
P<-i = '~!A,fc, (2.2-33)
ГДе p;_i —(Xi-u yi-u Zt-U 1)Г И pt—(Xi, tji, Zi, 1)Г.
Для шестизвенного манипулятора Пума были определены
шесть матриц '-'А,-, соответствующие показанным на рис. 2.11
системам координат. Эти матрицы представлены ниже.
'А,-
"А, =
4А6 =
1 cos 9.
sin 6.
0
L 0
С, 0
S, 0
0 -1
0 0
С, 0
5з 0 -
0 1
0 0
-с6 о
55 0
0 1
_0 0
— cos a. sin 6. sin a. sin 9.
cos a. cos 0. — sin a. cos 0^
sin a.
0
— Si 0П
C, 0
0 0
0 I J
S3 asCz "
- 63 Й3О3
0 0
0 1
s5 oi
-c5 о
0 0
0 1J
cos a.
0
. 'A2 =
, 8A4~
, 5A6-
C2 — ^2
02 ^ 2
0 0
,0 0
rc4 0
s4 0
0 —1
Lo 0
Се — ^б
^6 Q
0 0
_0 0
a. cos 0, 1
a. sin 0^
d' 1
1 J
0 a2C2"T
0 a2S2
1 d2 V
0 1 J
— S4 0 "I
c4 0
0 £/4
0 1 J
0 0 1
0 0
t de Г
0 1 J
58
Т, ^ »А,'А,»А, =
Т2 ■> 3А44Аб6А6 =
^1^23 — <->i C1023 CL2C1C2 -f- Яз^чСгз — «2^1
S1C23 ^1 SiS23 #2SiC2 "^ а3«^1^23 + ^2^1
— 023 О С23 — #2^2 — Оз^23
О О
C4C5UQ — 54Об
О4С5С/6 — W*->6
-55Св
О
О 1
* С4С5О6 — S^Cq C4O5
04С5О6 + С4Св 0405
55Se
О
с5
о
^6C4S5
c?6S4S5
d6C5 + dA
1
где
Ci km cos 8<; S* = sin 0;; C*/ =э cos (9* + 6/); Stj = sin (8* + 9/).
2.2.11. Уравнения кинематики манипулятора
Однородная матрица °Т<, определяющая положение f-й си-
стёмы координат относительно базовой системы координат, пред-
Рис. 2.13. Система координат схвата.
ставляет собой произведение последовательности однородных
матриц преобразования /_1А^ и имеет вид
°Т< = °А11А2...'-% = П/-1А/ =
/=1
1о 0 0 1 J == L 0 1 JW«"-1.2.....*. (2.2-
34)
где [х<, ул гг] — матрица, определяющая ориентацию /-й системы
координат, связанной c.jVm звеном, по отношению к базовой си-
59
nx
"у
пг
0
$х &х
Sy &у
Sz O-z
0 0
Px
Py
Pz
1
стеме координат. Это верхняя левая подматрица матрицы °Tiy
имеющая размерность 3X3. рг — вектор, соединяющий начало
базовой системы координат с началом 1-й системы координат.
Это верхняя правая подматрица матрицы °Т|, имеющая
размерность 3X1. В частности, при / = 6 мы получаем матрицу Т =
= °Ао, которая задает положение и ориентацию схвата
манипулятора относительно базовой системы координат. Эта матрица
так часто используется при описании кинематики манипулятора,
что ее называют «матрицей манипулятора». Предположим, что
матрица Т имеет следующий вид:
Гх6 у0 z6 р6] r°R6 °Рб]= Гп s a pi
Ч О О О 1JL0 1_|"Чо00 1_|~~
(2.2-35)
где (рис. 2.13)
п — вектор нормали к схвату. В случае плоскопараллельного
движения пальцев схвата этот вектор перпендикулярен пальцам
манипулятора.
s — касательный вектор схвата. Он лежит в плоскости
движения пальцев схвата и указывает направление движения
пальцев во время открытия и закрытия схвата.
а — вектор подхода схвата. Он направлен по нормали к
ладони схвата (т. е. перпендикулярен плоскости крепления
инструмента в схвате).
р — вектор положения схвата. Этот вектор направлен из
начала базовой системы координат к началу системы координат
схвата, которое, как правило, расположено в точке, являющейся
геометрическим центром полностью сжатых пальцев.
Если положение манипулятора в абсолютном пространстве
определяется матрицей В, а в схвате манипулятора
зафиксирован инструмент, положение которого в системе координат схвата
определяется матрицей Н, то положение рабочего узла
инструмента относительно абсолютной системы координат дается
произведением матриц В, °Т0 и Н, т. е.
абс-i
1инстр
B°TfiH.
(2.2-36)
Отметим, что Н ess вАИНСтр, В ss абсА0.
Решение прямой задачи кинематики для шестизвенного
манипулятора является, таким образом, вопросом вычисления
Т = °А6 с помощью последовательного перемножения шести
матриц i~lkl. Отметим, что решение прямой задачи кинематики при-
водит к единственной матрице Т при заданных q=(<7i,g2, -*«
... qe)T и фиксированных системах координат, где ^ = 6/ для
вращательного сочленения и qt = di для поступательного
сочленения. Ограничения определяются только физическими
пределами изменения 9* для каждого сочленения манипулятора. В
таблице на рис. 2.11 указаны такие пределы для робота Пума серии
560 при выборе систем координат, указанном на рис. 2.11.
Следующей после определения матриц преобразования
координат задачей является поиск эффективного метода вычисления
матрицы Т при помощи универсальной вычислительной машины.
Наиболее эффективным является способ, состоящий в
аналитическом перемножении всех шести матриц с последующим
вычислением элементов матрицы Т на ЭВМ по полученным формулам.
Недостатками этого метода являются, во-первых, трудоемкость
вычисления произведения шести матриц '^А/ и, во-вторых,
недостаточная гибкость метода, обусловленная тем, что каждая
матрица манипулятора соответствует определенному типу робота
при вполне конкретном выборе систем координат. С другой
стороны, можно ввести в ЭВМ все шесть матриц {~ХК[ и с ее
помощью выполнить их перемножение. Этот метод обладает
большей гибкостью, но требует большего времени вычислений, и это
при условии, что четвертая строка матриц <-1А; состоит в
основном из нулей.
Метод, одновременно обладающий достаточной гибкостью и
обеспечивающий приемлемую скорость вычислений, состоит в
том, чтобы «вручную» перемножить первые и последние три
матрицы {-хКи получив Ti=°Ai1A22A3 и Т2 = 3А44А55А6, что
представляет собой достаточно простую задачу. Затем точные
выражения для элементов матриц Ть Т2 используются в программе,
по которой ЭВМ производит численное перемножение этих
матриц, формируя матрицу манипулятора Т = TjT2.
Для робота Пума 560 матрицы Тх и Т2 имеют вид
Т1=°Аз = 0А11А22А3 =
С[С2з
•SiC23
— ^23
О
-S,
С,
о
о
c,s
1°23
5iS23 ct2SiC2 + a^Si С2з + d2C\
^23
0
~#2о2 — #з*^;
1
Т2 = 3А6 = 3А44А55Аб =
C^C5Cq о40б С4С5Об — S^Cq С405
04С5С6 -f- C^Sq 04C5O6 + C^Cq 04S5
-55Сб
о
S$Sq
о
с5
о
23
* d6CAS5
а 60405
d6C5 + d4
1
(2.2-37)
(2.2-38)
где Сц за cos(0j + в/) и Sij mm sin(G/ + в/),
61
Матрица манипулятора Т для робота Пума (рис. 2.11) равна
Т = Т,Т
1*2:
-°А JA 2А 3А 4А 5А
- /\i /\2 Лз /\4 ^5 Л6 —
^х sx &х
Ку sy ау
nz sz az
0 0 0
Py
Pz
1
(2.2-39)
где
nx = Ci [С2з (C4C5CQ — 54S6) — 52з55С6] — Sx (S^C^Cq + C4S6),
ny = S, [C23 (C4C5C6 - 5456) - 523S5C6] + C, (S4C5C6 + C456), (2.2-40)
я2 = —■ 523 [C4C$Cq — S4Sq] C23S5S6,
sx = С у [—C23 (С4С55б + 54С6) + о23555б] S{ ( S^C^Sq ~Ь C4C6),
5# = S{ [—C23 (C4C5Cq + S4C6) + 523S5S6] + ^ (—•S4C5S6 + C4C6),
% = 523 (C4C5S6 + S4C6) + C2,S5S,9 (2.2-41)
ax = Cx (C22P4S5 + ^2зС5) — S10405,
Я# — «$1 (С2зС45б + о2зС5) + СiS405,
(2.2-42)
#2 52зС405 4" ^23^5»
Px = ci ld6 (^23^4^5 + S23C5) + 523d4 + a3C23 + fi^A] — 5! {dbSAS5 + d2)f
Py = Si [^(QASs + 523C5) + 523d4 + a3C23 + a2C2] + C, (d6S4S5 + d2)>
Pz = d6 (C2ZC5 — S23C4S5) + ^23^4 — a3S23 — a^. (2.2-43)
Положив для проверки 61 = 90°, 02 = 0°, 03 = 90°, 94 = 0°,
e5 = 0°, 8e = 0°, имеем
0-10 —149,09
0 0 1 921,12
-1 0 0 20,32
0 0 0 1
T =
что согласуется с выбором систем координат, показанным на
рис. 2.11.
Из равенств (2.2-40) — (2.2-43) видно, что вычисление
матрицы манипулятора Т требует обращения к программам
вычисления 12 трансцендентных функций, выполнения 40 умножений
и 20 сложений в том случае, если производится только
вычисление верхней правой подматрицы матрицы Т, имеющей
размерность 3X3, а вектор п определяется как векторное
произведение векторов s и а(п = sXa). Далее, если объединить <26 с
длиной рабочего инструмента, то d6 = 0, а длина инструмента
увеличится на d6 единиц. Это сокращает объем вычислений до 12
обращений к программам вычисления трансцендентных функций,
35 операций умножения и 16 операций сложения.
62
Пример. Робототехнический комплекс оборудован
телевизионной камерой (рис. 2.14). В поле зрения камеры находятся точка
начала базовой системы координат, в которой закреплен шести-
звенный манипулятор, а также центр объекта
манипулирования, например куба. Если в центре куба поместить локальную
систему координат, то его положение относительно камеры
будет определяться однородной матрицей преобразования Ть
Положение базовой системы координат относительно камеры также
может быть задано
однородной матрицей
преобразования Т2, причем
Т,=
"0
1
0
_0
1
0
0
0
1
0
0 •
0
0
-1
0
0
0 1"
0 10
-1 9
о i_
»
0 -10
0 20
-1 10
0
1
Рис. 2.14. Робототехнический комплекс,
оборудованный телевизионной камерой.
а) Найдите положение
центра куба относительно
базовой системы
координат.
б) Предположим, что куб
находится в пределах
достижимости
манипулятора. Какой должна быть матрица [n, s, а], чтобы направление
движения пальцев схвата совпадало с направлением оси у
объекта манипулирования и при этом можно было бы поднять куб
с поверхности, на которой он находится.
Решение.
камера^ ^
1 куб — * 1 -
камерагр
база :
т2 =
ГО 1
1 0
0 0
[_о о
1 0
0 -1
0 0
0 0
0
0
-1
0
0
0
-1
0
11
10
9
1 J
-10
20
10
1
Чтобы найти базаТкуб, воспользуемся «правилом
последовательных преобразований»:
база™ база™
* куб — * камера
камера-у. /™ \-! «
Используя для обращения матрицы Т2 равенство (2.2-27),
получаем результирующую матрицу преобразования
база^
I куб —
" 1 0 0 К
) 1
0-1 0 20 1
0 0 —1 10
_0 0 0 lj
г 0 10 11"
-1 0 0 10
0 0 1 1
0 0 0 1
Г0 1
1 0
0 0
|_о о
0 1
0 10
-1 9
0 1
Таким образом, куб находится в точке (11, 10, 1)г относительно
базовой системы координат. Его оси х, у, г сонаправлены
соответственно с осями —у, х и г базовой системы координат.
Чтобы определить [n,s, а], воспользуемся выражением
ох
i6 —
En s а р 1
0 0 0 1 У
где р ={1!, 10, 1)г, как следует из решения первой части задачи.
В соответствии с условием задачи и видом матрицы базаТ!<Уб
надо, чтобы вектор подхода а был направлен в сторону
противоположную направлению оси OZ базовой системы координат,
т. е. а = (0, 0, —1)г; вектор s должен быть параллелен оси у
базовой системы, т. е. s =(±1,0, 0)г; вектор п можно
сформировать как векторное произведение векторов s и а:
п =
i j k-
sx sy sl
L4* y k^ и ^'Z
=
■ « J
± 1 0
L 0 0
kn
0
— 1 -
<=»
■ 0
± 1
L 0
Таким образом, для матрицы ориентации схвата fn. s, а] можно
записать два выражения:
[n, s, а] =
0 1 0
+ 10 0
L 0 0 -1
или [n, s, а] =
0-1 0
-10 0
L 0 0 -1 J
64
2.2.12. Другие способы определения положения схвата
В предыдущих разделах мы рассмотрели поступательное и
вращательное движения звеньев манипулятора и ввели понятие
однородных матриц преобразования, описывающих положение
и ориентацию систем координат звеньев. Наибольший интерес
представляет матрица манипулятора °Тб, которая описывает
положение и ориентацию схвата относительно базовой системы
координат. Верхняя левая подматрица матрицы °Т6, имеющая
размерность 3X3, задает ориентацию схвата. Эта подматрица
поворота совпадает с матрицей °R6. Существуют и другие способы
описания положения схвата.
Описание ориентации с помощью углов Эйлера. Как
говорилось в разде. 2.2.4, описание вращения твердого тела с помощью
матриц поворота упрощает многие операции, однако не дает
полной системы обобщенных координат. Такой полной системой
обобщенных координат являются углы Эйлера ф, 8, \|>.
С помощью матрицы поворота, записанной как в равенстве
(2.2-17) через углы Эйлера, матрицу манипулятора °Тб можно
представить в следующем виде:
Г СфСф — 5ф5951|? —Сф5г|5 — 5фС0Сг|) SySQ рх 1
5фС\|? + СфС65о|) — CcpSty + СфСЭСЧ!) — Сф59 ру
°Тб = ses-Ф sec4|) се рг у
L о о о 1 J
(2.2-44)
Преимущество описания ориентации с использованием углов
Эйлера состоит в том, что вся информация о положении и
ориентации объекта в пространстве содержится в шестимерном
векторе XYZqQty. Зная этот вектор и используя равенство (2.2-44),
легко сформировать матрицу °Т6.
Описание ориентации с помощью углов крена, тангажа и
рысканья. Еще одной системой углов Эйлера для описания
вращения являются углы крена, тангажа и рысканья (КТР). С
использованием равенства (2.2-19), описывающего вращение тела
в координатах КТР, получаем матрицу манипулятора °Тб в виде
ГСфСб CySeS® — ScpCty CySBC^ + SySty px
5фС9 SqpSeS-ф + CcpC* ЯфЗбС'ф — CySty ру
Tf>== —se cesty сесг|) рг
L 0 0 0 1
Как уже говорилось в гл. 1, существуют различные типы
манипуляторов (в зависимости от используемых типов сочленений,
(2.2-45)
3 К. Фу и др.
65
например XYZ — манипулятор, цилиндрический, сферический,
манипулятор смешанного типа). В связи с этим положение
(Px,Py,Pz)T схвата манипулятора может быть описано,
например, в сферических или цилиндрических координатах.
Результирующую матрицу манипулятора можно получить из
следующего равенства:
°Т6 =
1
0
0
0
0
1
0
0
0
0
1
0
Рх I
Ру
Рг
1
г °
°R6 0
0
1 0 0 0 1
(2.2-46)
где °R6 — матрица поворота, выраженная через углы Эйлера или
через векторы [n, s, a].
Подматрица положения в цилиндрических координатах.
В цилиндрической системе координат положение схвата
определяется следующими преобразованиями поворота и сдвига
(рис. 2.15):
1. Сдвиг на г единиц вдоль оси ОХ(Тх, г).
2. Поворот на угол а вокруг оси OZ(TZt a).
3. Сдвиг на d единиц вдоль оси OZ{lZt d)-
Однородную матрицу, определяющую результат
перечисленных преобразований, можно представить в следующем виде:
i*,d'
X
4 Т =
г, а ж х, г 1
10 0/--
0 10 0
0 0 10
0 0 0 1
"1 0 0 ОН
0 10 0
0 0 1 d\
.0 0 0 1J
=
ГСа
5а
0
L о
Са —Set 0
5а Са 0
0 0 1
0
0 0
—5а
0 0
Са 0 0
0 1 0
0 0 1
гСа"
г5а
d
1
X
(2.2-47)
Поскольку нас интересует только вектор положения (т. е.
четвертый столбец матрицы Тц„л), матрицу манипулятора °Т6 можно
представить в виде
(2.2-48)
Ох
причем рх = гСа, ру
"10 0 гСа"]
0 1 0 г5а
0 0 1 d
_0 0 0 1 J
= rSa, рг s= d.
0
°R6 0
0
1_0 0 0 1
66
Подматрица положения в сферических координатах. Для
определения положения схвата можно также воспользоваться
сферической системой координат. В этом случае положение
схвата определяется следующими преобразованиями (рис. 2.16):
1. Сдвиг на г единиц вдоль оси OZ(T2, r).
2. Поворот на угол (3 вокруг оси ОУ(ТУг р).
3. Поворот на угол а вокруг оси OZ(Tz, а).
— У
Рис. 2.15. Представление в цилинд- Рис. 2.16. Представление в сфериче-
рических координатах. ских координатах.
Матрица, описывающая результат перечисленных
преобразований, равна
1сф-
т т т —
ж2, а1 у, р *z, г
V /
X
~Са
5а
0
_ 0
"1 0 0 0]
0 10 0
0 0 1 г
0 0 0
1 1
—5а 0 0"j
Ca 0 0
0 10
0 0 lj
Г Ср 0 5р
0
0 10 0
—Sp 0 Ср 0
1_ 0 0 0 1
ГСаСр —5а CaSp rCa5p~
5аСр Ca Sa5p r5a5p
-5р 0 Ср гСр
0 0
0 1
X
(2.2-49)
Как и выше, нас интересует вектор положения схвата
относительно базовой системы координат, поэтому матрица
манипулятора °Т6, в которой вектор положения представлен в
сферических координатах, а подматрица поворота записана через углы
з*
67
1 0
0 1
0 0
0 0
0 rCaSp"]
0 rSaSp
1 rC$
0 1
Г °
°R6 0
0
1 0 0 0 1
Эйлера или векторы [n, s, а], дается следующим выражением:
(2.2-50)
где рх s rCaS|3, ру = rSaS|3, pz = /"Ср.
В заключение отметим, что положение и ориентация схвата
манипулятора могут быть описаны несколькими способами
(в различных системах координат). Вектор положения может
быть представлен в декартовой {Рх, ру, pz)T, цилиндрической
(rCa, rSay d)T или сферической (rCaSfi, rSaSft, rC$)T системе
координат. Для описания ориентации схвата относительно
базовой системы координат можно использовать декартовы
координаты [n, s, а], углы Эйлера (ср, Э, ^) или углы крена, тангажа и
рысканья. Сказанное иллюстрирует табл. 2.2.
Таблица 2.2. Различные способы описания положения и ориентации
Положение
Ориентация
В декартовых координатах
В цилиндрических координатах
(rCa, rSa, d)T
В сферических координатах (rCaSfi,
rSaSfi, rC$)T
1 0 0 рх
О 1 0 ру
О 0 i рг
0 0 0 1
°т6 = т
В декартовых координатах [п, s. а]
Углы Эйлера (ср, 9, г|?)
Крен, тангаж, рысканье
1 положения •
, Т поворота —'
[n, s, а]
0
on
или Rq^e,^ °
0
0 Oil
положения ■ поворота
2.2.13. Классификация манипуляторов
Манипулятор состоит из последовательности твердых тел
(или звеньев), первое из которых соединено с опорной стойкой,
а последнее снабжено рабочим инструментом. Каждое звено
соединено не более чем с двумя другими так, чтобы не
образовывалось замкнутых цепей. Считается, что соединение двух
звеньев — сочленение — имеет только одну степень свободы.
С учетом этого ограничения интерес представляют два типа
сочленений: вращательное и поступательное. Вращательное
сочленение допускает только вращение вокруг некоторой оси; поступа-
68
Ййвдьное сочленение обеспечивает поступательное движение вдоль
некоторой оси при отсутствии вращения (поступательное
движение с вращением имеет место в винтовых сочленениях). Звенья
манипулятора участвуют в относительном движении, в
результате которого достигается определенное положение и
ориентация схвата или инструмента.
Следовательно, рассматривая манипуляторы как некоторые
последовательности сочленений и звеньев, их можно
классифицировать по типу используемых сочленений и
последовательности их расположения в направлении от опорной стойки к схвату.
При таком подходе манипулятор Пума следует отнести к классу
6В, а манипулятор Станфордского университета — к классу
2В-П-ЗВ. Здесь В обозначает вращательное, а П —
поступательное сочленение.
2.3. ОБРАТНАЯ ЗАДАЧА КИНЕМАТИКИ
В этом разделе рассматривается обратная задача кинематики
шестизвенного манипулятора. Команды управления
манипуляторами роботов, оснащенных ЭВМ, формируются обычно в
пространстве присоединенных переменных, координаты объектов
манипулирования задаются в некоторой абсолютной системе
координат. Для управления положением и ориентацией схвата
робота таким образом, чтобы производить необходимые операции
с объектом манипулирования, необходимо уметь решать
обратную задачу кинематики. Другими словами, надо уметь по
заданным матрице °Тб положения и ориентации схвата
шестизвенного манипулятора и известным параметрам его звеньев и
сочленений определить присоединенные параметры q = (qu ...
..., qQ)T манипулятора, обеспечивающие заданное положение
схвата.
Существуют различные методы решения обратной задачи
кинематики, к числу которых относятся методы обратных
преобразований [231], винтовой алгебры [149], двойственных матриц
[56], двойственных кватернионов [319], итераций [294] и
геометрический подход [168]. Пайпер [235] получил решение
обратной задачи кинематики для произвольного манипулятора
с шестью степенями свободы, первые три сочленения которого
вращательные или поступательные, а оси последних трех
пересекаются в одной точке. Решение получено в форме уравнения
4-й степени относительно одной из неизвестных и в явном виде
относительно остальных. Пол и др. [231] для того же класса
манипуляторов, что и Пайпер, предложили воспользоваться
методом обратных преобразований с применением однородных
матриц размерностью 4X4. Недостатком этого подхода
является то, что из него не следует, каким образом выбрать из
нескольких существующих решений одно, соответствующее данной
69
конфигурации манипулятора. В этом вопросе исследователю
приходится полагаться на собственную интуицию. Ниже рассмотрен
предложенный Пайпером подход к решению обратной задачи
кинематики в эйлеровых координатах. Уикер и др. [294] и Ми-
ленковиц и Хуанг [198] предложили итеративную процедуру
решения обратной задачи кинематики большинства
промышленных роботов. Такой подход требует больших вычислительных
затрат и не гарантирует сходимости результатов, особенно для
вырожденного случая. Кроме того, как и метод обратных
преобразований, метод итераций не дает способа выбора из
нескольких существующих решений одного, соответствующего
данной конфигурации манипулятора.
Желательно, чтобы решение обратной задачи кинематики
было получено в явном виде. К счастью, большинство
промышленных роботов удовлетворяет одному из следующих двух
условий, достаточных для достижения такой цели:
1. Оси трех смежных сочленений пересекаются в одной точке.
2. Оси трех смежных сочленений параллельны между собой.
Станфордский манипулятор и манипулятор Пума удовлетворяют
первому условию, а манипуляторы ASEA и MINI MOVER —
второму.
Из равенства (2.2-39) следует вид матрицы манипулятора Т:
Т« =
пу sy ау ру
nz sz аг рг
0 0 0 1
= °А1,А22Аз8А44А5вА6. (2.3-1)
Из равенства (2.3-1) видно, что матрица Т является функцией
синусов и косинусов углов 6i, 62, ..♦, бе- Приравнивая элементы
матриц в левой и правой частях матричного уравнения (2.3-1),
получаем, например, для манипулятора Пума двенадцать
уравнений (2.2-40) — (2.2-43) относительно шести неизвестных
(присоединенных углов). Поскольку число уравнений превышает
число переменных, можно сразу сделать вывод о том, что
решение обратной задачи кинематики для манипулятора Пума не
единственно. Мы рассмотрим два метода решения обратной
задачи кинематики; метод обратных преобразований в
эйлеровых координатах, которым можно также воспользоваться для
решения этой задачи в координатах присоединенных углов* и
геометрический подход, выгодно отличающийся наглядностью.
2.3.1. Метод обратных преобразований
В этом разделе общий метод обратных преобразований
продемонстрирован на примере решения обратной задачи
кинематики в эйлеровых координатах. Задача состоит в том, чтобы,
70
зная трехмерную матрицу поворота и учитывая равенство
5(2.2-17), представляющее собой выражение этой матрицы через
углы Эйлера:
п*
пу sy au
— Kz, фК«, е^ш, ф —
-[
СфСЧ|> — 5фС65^ ~Сф5ф — 5фС6Сг|) SqSQ
SyCty + CqjCeS-ф — SySty + CyCQCty —СфЯ9
(2.3-2)
определить соответствующие значения углов ф, 9, ф. Записывая
это матричное уравнение в форме уравнений для отдельных
элементов, получим
пх = СфС-ф — 5фС95г|), (2.3-За)
пу = 5фСг|) + СфС95ф, (2.3-36)
nz = S6Si|), (2.3-Зв)
sx = —Сф5ф — ЯфСЭСф, (2.3-Зг)
sy = —5ф5ф + СфС9СЧ|>, (2.3-Зд)
s2 = S6C^, (2.3-Зе)
fljc = SqSQ, (2.3-Зж)
в|г = —Сф59, (2.3-3з)
аг = С9. (2.3-Зи)
Из уравнений (2.3-Зи), (2.3-Зе) и (2.3-3з) получаем, что решение
всей системы уравнений (2.3-За) — (2.3-Зи) имеет следующий вид:
9 = arccos (а2), (2.3-4)
Ф = arccos Г -||-1, (2.3-5)
Ф = arccos —^- . (2.3-6)
Полученное решение неустойчиво и плохо обусловлено по
следующим причинам:
1. Функция arccos неудобна тем, что точность вычисления
ее значения зависит от этого значения.
2. В точках, где sin (9) принимает близкие к нулю значения,
т. е. при 9 « 0° или 9 « 180°, равенства (2.3-5) и (2.3-6) либо
не определены, либо дают низкую точность вычислений.
Следовательно, требуется найти более устойчивый способ
определения углов Эйлера в данной задаче, а также более
71
устойчивую обратную тригонометрическую функцию для
вычисления этих углов. Для вычисления угла 0, значения которого
лежат в пределах —я ^ 0 ^ я, воспользуемся функцией
арктангенса ATAN2(y, x), вычисляющей значение arctg(r//;c) с учетом
принадлежности аргумента соответствующему квадранту. Эта
функция определена следующим образом:
Q = ATAN2{y, х)<
> О°<0<9О°, если х>0, у > 0;
9О°<0<18О°, если х < 0, у > 0;
— 180° <0< — 90°, если х < 0, у < 0;
—90° < 0 < 0°, если х > 0, у < 0.
(2.3-7)
Применяя такую обратную тригонометрическую функцию
двух аргументов, рассмотрим общее решение, предложенное
Полом и др. [231].
Элементы матрицы в левой части матричного уравнения
(2.3-2) заданы, а элементы матриц, стоящих в правой части
этого уравнения, неизвестны и зависят от ср, 0, \|э. В работе [231]
предлагается последовательно умножать слева обе части
уравнения (2.3-2) на матрицы обратных преобразований и
определять искомые углы из полученных таким образом матричных
уравнений. Смысл таких преобразований состоит в том, что мы
переносим сначала одну из неизвестных величин из правой в
левую часть уравнения, находим ее, затем переносим в левую
часть следующую неизвестную, найдя ее, повторяем эту
процедуру до тех пор, пока не будут найдены все неизвестные.
Умножая слева матричное уравнение (2.3-2) на R^<p,
переносим неизвестную <р в левую часть, оставляя в правой
неизвестные 0 и \f>, и тем самым получаем
[
Сф 5ф 0
—Яф Сф 0
0 0 1
tlx Sx CLX |
ny sy av
n, sy a7 -i
Г1 0
0 CG
Lo se
0 1
-se
ceJ
ГСл|)
Sip
L о
-Sip 0
Cip 0
0 1
или
[
Сщх + Syriy
—Synx + Серп y
h
Cysx + Sq$y Cyax + Syay
Sysx -f Cq>Sy —Syax + Сщу |
sz az
Cty — S-ф 0
CeSty CQCty —S9
Lsesi|> secy* ce.
(2.3-8)
72
Из равенства элементов (1,3) (элементов, находящихся на
пересечении 1-й строки и 3-го столбца матрицы) в правой и левой
частях уравнения (2.3-8) имеем
Суах + Syay = 0, (2.3-9)
что в свою очередь дает
<V = zrctg[-^] = ATAN2(aXi -a,). (2.3-10)
Из равенства элементов (1, 1), (1, 2) в правой и левой частях
следует
Су = Сщх + Syny, (2.3-11 а)
5ф = — Cq>sx — Sysy, (2.3-116)
что позволяет найти г[?:
, Г 5гЬ 1 Г —Cysx — Sysy -I
+ - arct§ L WJ " arCtg l C*nx + ttpn, J -
= ЛГЛЛ^2 (—Сф5л — 5ф^, Сф/г* + S<ftiy). (2.3-12)
Приравнивая элементы (2, 3), (3,3) матриц в левой и правой
частях уравнения, получаем
58 = Scpax — Сщу,
CQ = az, (2.3-13)
что позволяет найти 0
' Sycix — Сцау '
6 = arctg[^|-] = arctg[-
■■]-
= ATAN2 (Syax — Сщу} аг). (2.3-1 1)
Поскольку смысл метода обратных преобразований состоит
в переносе одной из неизвестных величин в левую часть
матричного) уравнения с последующим разрешением уравнения
относительно этой неизвестной, можно попытаться решить это же
самое матричное уравнение, умножая обе его части справа на
матрицу обратного преобразования R^, $:
[пх
пу
п9
ах
Г Сг|з S^ О
—5г|> Оф О
az J L 0 0 1 J
Сф —5ф
5ф Сф
- О О
В результате умножения матриц получим
О
О
Ы
1 О О
О С9 -59
L0 59 С9
nxCty — sxSty nxSty + sxCty ax
Оф — syS^ nySty + syCty ay
2Ci|) + szSty nzSty + szCty az J
[nxi
Сф
5ф
О
-5фС0
СфС9
50
5ф591
-Сф50 .
С9 J
(2.3-15)
73
Как и выше, приравнивая элементы (3, 1) матриц в левой и
правой частях уравнения, имеем
nzCty — szS^ = 0, (2.3-16)
что дает
ф = arctg [-^] = ATAN2 (nz, sz). (2.3-17)
Из равенства элементов (3, 2), (3, 3) обеих матриц следует
56 = n2S\t> + sfity, (2.3-18a)
CQ = a2 (2.3-186)
что позволяет определить в:
e = arctg[^^±^i] =
= ATAN2 (nzSty + 5гСг|), а2). (2.3-19)
Из равенства элементов (1, 1), (2, 1) матриц в левой и правой
частях уравнения (2.3-15) имеем
СФ = пхС^ — sxSy\>, (2.3-20a)
5Ф == пуС^ — SySty, (2.3-206)
откуда легко найти
г пуСу — syS^ "|
ф _ arctg L————^j =
= ATAN2 (nyCty — SySty, nxC^ — sxSty). (2.3-21)
Решение вопроса о том, слева или справа умножать обе части
матричного уравнения на матрицу обратного преобразования,
зависит от исследователя и во многом определяется его
интуицией.
Воспользуемся изложенным методом обратных преобразовав
ний для определения углов Эйлера манипулятора Пума. В
применении к манипуляторам типа Пума углы Эйлера обозначаются
символами О, Л и Г и определяются следующим образом
(рис. 2.17):
О (ориентация) — угол, образуемый осью у0 с проекцией оси
инструмента на плоскость XY и отсчитываемый вокруг оси Zo.
А {высота 1)) — угол, образуемый плоскостью XY с осью
инструмента а, отсчитываемый вокруг оси инструмента s.
Т (инструмент) — угол, образуемый плоскостью XY с осью
инструмента s, отсчитываемый вокруг оси инструмента а.
^ По первой букве английскою слова altitude — высота. — Прим. перев.
74
Вначале оси системы координат инструмента (или системы
координат схвата) параллельны осям базовой системы
координат робота, как показано на рис. 2.18, т. е., когда О=Л = 7"=0°,
схват направлен в сторону, противоположную направлению оси
Д<Й^
**т*\
Осt> Z системы xovpdu-
,t нат&яструмекта
■^У
*&? tpfir
Осб инструмента
■**&*
с«(
*°V
-■i vU
Рис. 2.17. Определение углов Эйлера О, Л и Г (из руководства 39811 к
манипулятору Пума).
уо, пальцы расположены в горизонтальной плоскости, а ось s
сонаправлена с осью х0. Матрица преобразования, задающая
ориентацию системы координат схвата (n, s, а) по отношению
к базовой системе координат (х0, Уо, z0), имеет вид
О 1 О
0 0—1
10 0
(2.3-22)
75
С учетом определения углов О AT и вида матрицы (2.3-22),
задающей начальную ориентацию системы координат схвата, связь
УО
Рис. 2.18. Начальное расположение системы координат инструмента.
между матрицей ориентации схвата и углами О AT определяется
следующим выражением:
[пх sx ax-\
ПУ Sy аУ \~ ^г, О
nz s9 ах J
г ° !
°1
0 0-1
L—1 0 0-
0 1 0"]
0 0-1
-1 0 0J
1~
Rs, лКа.Г— 1
L
Г СА 0 SAl
0 1 0
L -
-SA 0 СА1
СО -SO 01
50 СО 0 h
0 0 1 J
ГСТ -ST 01
ST СТ 0
L 0 0 1 J
X
Умножая справа это матричное уравнение на матрицу, обрат"
ную Ra>T,
az
СТ ST 0
-ST СТ 0
О 0 1J
X
СО -SO О
so со о
-О О U
СА О SA
О 1 О
-SA О СА
О 1
О О
-1 О
°1
— 1
О J
X
и производя умножение матриц, получаем
nxCT — sxST nxST + sxCT ax
nyCT — syST tiyST + syCT ay
L пгСТ — szST nzST + szCT az
-SOSA CO SOCA 1
COSA SO -COCA
-СА О -SA
(2.3-23)
Приравнивая элементы (З, 2) в обеих частях матричного
уравнения (2.3-23), получим
nzST + szCT = 0, (2.3-24)
76
что позволяет определить Т:
T = avdg[-^r] = ATAN2(s2y -nz). (2.3-25)
Из равенства элементов (3, 1), (3, 3) в левой и правой частях
уравнения (2.3-23) следует
SA = —а2, (2.3-26а>
С А = -nzCT + szST. (2.3-266)
В результате получаем
А - arctg [ _ЛяС7+ szST ] ^ ATAN2 (~a*> -n£T + szST). (2.3-27)
Из равенства элементов (1, 2), (2,2) матриц в левой и правой
частях уравнения (2.3-23) имеем
СО = nxST + sxCT, (2.3-28a)
SO = nyST + syCT, (2.3-286)
откуда получаем выражение для О:
О = arctg[^r + 'lcr] = ATAN2(nyST + пуСТ> n*ST + 5*СГ>-
(2.3-29)
Рассмотренным способом, состоящим в умножении исходного
уравнения слева или справа на неизвестную матрицу обратного
преобразования, можно воспользоваться для решения обратной
задачи кинематики манипулятора Пума. Такое решение
подробно изложено в работе [231].
Хотя метод обратных преобразований дает общий подход
к решению обратной задачи кинематики, из него не следует,
каким образом выбрать из нескольких существующих решений
одно, соответствующее требуемой конфигурации манипулятора.
В этом вопросе приходится полагаться на интуицию
исследователя. Для нахождения решения обратной задачи кинематики по
заданной матрице манипулятора более пригодным является
геометрический подход, дающий также и способ выбора
единственного решения для конкретной конфигурации манипулятора. Этот
подход описан в разд. 2.3.2.
2.3.2. Геометрический подход
В этом разделе излагается геометрический подход к решению
обратной задачи кинематики шестизвенного манипулятора с вра-
77
щательными сочленениями. Решение проводится для
манипулятора типа Пума. По аналогии с геометрией человеческой руки
и в соответствии с расположением систем координат звеньев
различные конфигурации манипулятора Пума (рис. 2.11)
определяются с помощью трех индикаторов конфигурации (РУКА,
ЛОКОТЬ, ЗАПЯСТЬЕ)0. Для индикатора характеризуют
взаимное расположение первых трех сочленений, а третий —
расположение последних трех. Для шестиосных манипуляторов типа
Пума существуют четыре различных решения обратной задачи
кинематики первых трех сочленений и каждому из этих четырех
решений соответствует по два допустимых решения для последних
трех сочленений. Первые два индикатора конфигурации
позволяют выбрать одно из четырех возможных решений для первых
трех сочленений. Аналогично, третий индикатор определяет
выбор одного из двух возможных решений для последних трех
сочленений. Выбор индикаторов, определяющих конфигурацию
манипулятора, производится пользователем до начала решения
обратной задачи кинематики. Решение производится в два этапа.
Сначала вычисляется вектор, направленный от плеча к запястью.
Проекции этого вектора на плоскость xr-i yi-i используются при
нахождении присоединенного угла 1-го сочленения (i = 1,2,3)
для первых трех сочленений. При решении обратной задачи
кинематики для последних трех сочленений используется решение,
полученное для первых трех сочленений, подматрицы поворота
матриц °Т и r~l\i (i = 4, 5, 6) и проекции систем координат
звеньев на плоскость х'-1 у*-1. Исходя из геометрических
соображений, удается последовательно сформировать решение данной
задачи. В качестве проверки полученного решения можно с
помощью соответствующих уравнений кинематики вычислить
значения индикаторов конфигурации, являющихся функциями
присоединенных углов. С некоторыми изменениями и уточнениями
этот метод можно обобщить для решения обратной задачи
кинематики большинства современных промышленных роботов с
вращательными сочленениями.
Если задана матрица абсТИНСтр> то, умножив эту матрицу слева
и справа на В-1 и Н-1 соответственно, можно вычислить °Т6 и
1} В этом разделе авторы для определения конфигурации манипулятора
ставят в соответствие звеньям — руке, локтю, запястью — некоторые функции,
названные ими индикаторами конфигурации. Придавая индикаторам
конфигурации дискретные значения (±1) в зависимости от знака соответствующих
кинематических соотношений, авторам удалось создать достаточно наглядную
классификацию видов конфигурации манипулятора с помощью
геометрической интерпретации. Желая сохранить стиль изложения, мы сохранили
предложенную авторами терминологию, хотя она не получила широкого
распространения в отечественной литературе по робототехнике.— Прим,
ред.
78
затем воспользоваться указанным способом:
~ п., Sv a
О™ т wj — I абст ж»
16= I — В *инстрП
-1
х °* **х Рх
пу sy ау Ру
tu
а*
0 0 0 1
(2.3-30)
Определение различных конфигураций манипулятора. Для
манипулятора Пума, показанного на рис. 2.11 (и других мани-
Локоть
Яебая берхняз
рука
Правая верхняя
рука
Яебая ниясняя
рука
Правая нижняя
рука
Рис. 2.19. Определение различных конфигураций манипулятора.
пуляторов с вращательными сочленениями), возможны
различные типы конфигурации, которые определяются по аналогии
с геометрией руки человека в соответствии с расположением
систем координат звеньев, устанавливаемым алгоритмом 2.1. Типы
конфигурации манипулятора устанавливаются следующим
образом (рис. 2.19):
ПРАВАЯ РУКА: При неподвижном 3-м сочленении
увеличение угла 02 приводит к увеличению координаты запястья по
оси z0.
79
ЛЕВАЯ РУКА: При неподвижном 3-м сочленении
увеличение угла Э2 приводит к уменьшению координаты запястья по
оси z0.
ВЕРХНЯЯ (локоть выше запястья) РУКА: Положение
запястья {ПРАВОЙ/ЛЕВОЙ} руки по отношению к системе
координат плеча характеризуется
{отрицательным/положительным} значением координаты по оси у2.
НИЖНЯЯ (локоть ниже запястья) РУКА: Положение
запястья {ПРАВОЙ/ЛЕВОЙ} руки по отношению к системе
координат плеча характеризуется {положительным/отрицательным}
значением координаты по оси у2.
КИСТЬ ВНИЗ: Скалярное произведение единичного вектора
s системы координат схвата и единичного вектора у5 системы
координат (х5, уз, z5) положительно.
КИСТЬ ВВЕРХ: Скалярное произведение единичного
вектора s системы координат схвата и единичного вектора уб
системы координат (х5, уз, z5) отрицательно.
(Заметим, что это определение типов конфигурации
манипулятора по положению систем координат звеньев изменится, если
будут использованы другие системы координат.)
В соответствии с данным определением различных
конфигураций манипулятора для каждой из таких конфигураций
определены индикаторы конфигурации (РУКА и ЛОКОТЬ).
Совместно эти два индикатора выделяют одно из четырех возможных
решений обратной задачи кинематики для первых трех
сочленений. Для каждой из четырех возможных конфигураций
манипулятора (рис. 2.19), определяемых первыми двумя
индикаторами, третий индикатор (ЗАПЯСТЬЕ) обусловливает выбор
одного из двух возможных решений обратной задачи кинематики
для последних трех сочленений. Перечисленные три индикатора
конфигурации звеньев могут быть определены следующим
образом:
+ 1 для ПРАВОЙ руки
РУКА
-{+
,1 для ВЕРХНЕЙ руки
локоть
ЗАПЯСТЬЕ = {
1 для ЛЕВОЙ руки
\ — 1 для НИЖНЕЙ руки
+ 1, если КИСТЬ ВНИЗ
— 1, если КИСТЬ ВВЕРХ
В дополнение к перечисленным индикаторам определим
ПЕРЕКЛЮЧАТЕЛЬ следующим образом:
( +1 Сменить ориентацию запястья
ПЕРЕКЛЮЧАТЕЛЬ = < . „
(. — 1 Не менять ориентацию запястья
Г2.3-34)
80
Значения индикаторов и переключателя задаются
исследователем до начала решения обратной задачи кинематики. Значения
индикаторов можно также определить, зная присоединенные
углы манипулятора и пользуясь соответствующими уравнениями
конфигурации, которые будут приведены ниже и которыми
можно воспользоваться для проверки решения обратной задачи
кинематики.
Решение обратной задачи кинематики для первых трех
сочленений. В соответствии с кинематической схемой
манипулятора Пума, представленной на рис. 2.11, вектор р, выходящий из
начала системы координат плеча (х0, у0, z0) и заканчивающийся
в точке пересечения осей трех последних сочленений,
определяется следующим выражением (см. рис. 2.14):
р = р6 — desi = (pxt py} рг)т, (2.3-35)
что соответствует вектору положения матрицы °Т4:
Г рх 1 ГС{ (а2С2 + агС23 + dAS2S) — d2S{ "I
\ру\ = \SX (a2C2 + а3С2г + tf4S23) + d2C{ . (2.3-36)
L pz J L d4C23 — a3S23 ~~ a2^2 J
Решение для первого сочленения. Проецируя, как показано на
рис. 2.20, вектор р на плоскость х0, уо, получаем следующие
уравнения для определения угла бь
ef = Ф — a, ef = я + ф + а, (2.3-37)
r = ^pl + pl-dl R = 4pl + p], (2.3-38)
Ру Рх
sin ф = -Q-, cos ф = -о-, (2.3-39)
sina = -|4 cosa = ^-, (2.3-40)
в которых верхние индексы L и R означают соответственно
ЛЕВУЮ и ПРАВУЮ конфигурации манипулятора. Из уравнений
(2.3-37) — (2.3-40) получаем значения функций синуса и косинуса
угла Bi для ЛЕВОЙ/ПРАВОЙ конфигурации манипулятора:
sm 6i = sin (ф — a) = sin ф cos a —- cos ф sin a =
cos 9f = cos (ф — a) = cos ф cos a + sin ф sin a
-a* : / r . \ ~РуГ "" Pxd*
sin 0i = sin (я + ф + a) = ^2 »
cos 6f = cos (к + ф + a) = ~РхГ * Pyd2 . (2.3-44)
— R2
(2.3-41)
Pxr + pyd2
R2
»
(2.3-42)
(2.3-43)
81
Объединяя равенства (2.3-41) — (2.3-44) и используя индикатор
РУКА для учета ЛЕВОЙ/ПРАВОЙ конфигурации манипуля-
Уо
ОА~ d2
\ Ле&ая рцка I
\
Ч
/
£нугпренний цилиндр (радиус d }
АВ*г* V/^ + Р\ -d\
ОВ<
:<Ip1+pI ~r
ОА** <?г
АВ~г~4Р\ + P\-d\
ов г 4р\ + ?уг
Рис. 2.20. Решение для 1-го сочленения.
тора, получаем значения функций синуса и косинуса угла Gj
в следующем виде:
cosBj
-РУКА Ру д/р" + Pi - 4 ~ РЛ
2,2 '
Рх+Ру
-РУКА рхЛ/р2х + р1-4+pyd2 ^
(2.3-45)
(2.3-46)
Рх+Р
82
В этих равенствах используется положительное значение
квадратного корня, а индикатор РУКА определен равенством
(2.3-31). Для вычисления 0Ь лежащего в пределах —я ^ 9i ^ я,
воспользуемся функцией арктангенса, определенной равенством
АВ в аг EG - Ру
ВС - <i) DE - Pt
АЕ^Г~ V/£ + P]-d\
Рис. 2.21. Решение для 2-го сочленения.
(2.3-7). Из равенств (2.3-45) и (2.3-46) с учетом равенства
((2.3-7) получаем следующую формулу для определения Q{:
-aretg-Г—21йЛ^^^^1_я<в1<я.
L -РУКА ^ yp2 + р2 _ ^2 + р^ J
(2.3-47)
Решение для второго сочленения. Чтобы найти 02, спроецируем
вектор р на плоскость xiyi, как показано на рис. 2.21. В
соответствии с этим рисунком возможны четыре различных
конфигурации манипулятора. Каждой конфигурации соответствует
свое значение угла 92 при 0° ^ а < 360° и 0° < р <90°
(табл. 2.3). Как следует из табл. 2.3, используя индикаторы
конфигурации РУКА и ЛОКОТЬ, для G2 можно записать единое для
всех возможных конфигураций манипулятора выражение,
имеющее следующий вид.
92 = а + (РУКА • ЛОКОТЬ) • р = а + К • р, (2.3-48)
где составной индикатор конфигурации К = РУКА -ЛОКОТЬ
определяет соответствующий знак угла р, а точкой обозначена
83
Таблица 2.3. Угол 02 при различных конфигурациях манипулятора
Конфигурация манипулятора
ЛЕВАЯ ВЕРХНЯЯ рука
ЛЕВАЯ НИЖНЯЯ рука
ПРАВАЯ ВЕРХНЯЯ рука
ПРАВАЯ НИЖНЯЯ рука
е2
а — р
а + р
а+Р
а — р
РУКА
-1
-1
+ 1
+ 1
локоть
+ 7+7
РУКА-ЛОКОТЬ
-1
+ 1
+ 1
— 1
операция умножения индикаторов. Геометрия манипулятора,
отраженная в схеме на рис. 2.21, позволяет записать следующие
соотношения:
о in ci -
cosa =
рло ft -
V^Uo JJ -
sin p =
Л = Угё + Р2 + Й-*!' r = *Jp*x + p*-d*9 (2.3-49)
- _. Рг — — ....£?. (2 3-50V
* ф1+Р1+Р1-4
РУКА-г РУКА-л/pI + pI-4
R Л/р1 + Р2у+Рг-4
_ a22 + R2-(d24 + al) __ p2x + pl + Pl+al-4-(dl+4)
2а2УРх + Ру + Рг — а-2
(2.3-52)
= Vl-cos2p. (2.3-53)
Из равенств (2.3-48) — (2.3-53) можно определить значение
функций синуса и косинуса угла д2-
sin 82 = sin (a + К • Р) = sin a cos (К • Р) + cos a sin (К • P) =
= sin a cos p +(РУКА-ЛОКОТЬ) cos a sin p, (2.3-54)
cos 82 = cos (a + К • p) = cos a cos p — (РУКА • ЛОКОТЬ) sin a sin p.
(2.3-55)
Равенства (2.3-54), (2.3-55) позволяют найти значение б2:
e2 = arct4l^] -*<02<я. (2.3-56)
Решение для третьего сочленения. Для определения 63
спроецируем вектор р на плоскость х2уг (рис. 2.22). В соответствии
с рис. 2.22, как и в предыдущем случае, возможны четыре
различные конфигурации манипулятора. Как показано в табл. 2.4,
каждой конфигурации соответствует свое выражение для 03. Па-
84
раметр (2Р4)</ представляет собой у-ю компоненту вектора,
выходящего из начала системы координат (х2у у2, z2) и
заканчивающегося в точке пересечения осей последних трех сочленений.
Таблица 2.4. Угол 83 при различных конфигурациях манипулятора
Конфигурация манипулятора
Wy
>о
<0
>о
<о
0,
Ф-Р
Ф-Р
Ф-Р
Ф-Р
РУКА
-1
— 1
+ 1
+ 1
локоть
+1
-1
+1
— 1
РУКА ЛОКОТЬ
ЛЕВАЯ ВЕРХНЯЯ рука
ЛЕВАЯ НИЖНЯЯ рука
ПРАВАЯ ВЕРХНЯЯ рука
ПРАВАЯ НИЖНЯЯ рука
— 1
+ 1
+ 1
-I
Из рис. 2.22 получаем следующие равенства, позволяющие
определить 03:
R = *sjpl + p2y + pl-di
cosqp:
2а2 л^й\ + а\
sin ф == РУКА • ЛОКОТЬ л/l -cos2<p,
sin р =
Vrf4 + а;
-, cosp =
д/4 + аз '
(2.3-57)
(2.3-58)
(2.3-59)
В соответствии с табл. 2.4 значение 03 можно представить
формулой, единой для всех конфигураций манипулятора:
е3 = Ф — р.
(2.3-60)
Из равенства (2.3-60) получаем следующие выражения для
функций синуса и косинуса угла 9з:
sin93= sin (ф — р) = sin фсоэр — соэф sin р, (2.3-61)
cos 63 ===== cos (ф — р) == cos ф cos p + sin ф sin p. (2.3-62)
Из равенств (2.3-61) и (2.3-62) с использованием равенств
(2.3-57) — (2.2-59) находим решение для 6з:
8я
= arctg Г sm Q31, —я <; 83 ^ я.
ь I cos 63 J' 6
(2.3-63)
Решение обратной задачи кинематики для последних трех
сочленений. Зная первые три присоединенных угла, можно сфор-
оа
мировать матрицу °Т3, часто используемую при решении
обратной задачи кинематики для последних трех сочленений. Для
манипулятора Пума это решение можно получить, приводя
сочленения в соответствие со следующими требованиями:
м
03 - Ф ~ /?
Левая нижняя рука
AD^Rz* V/>2 + р] + Pi - &
/3 *М»
Левам НИЖНЯЯ рука
$1~Ф~$
Левая верхняя рина
Рис. 2,22, Решение для 3-го сочленения.
1. Сочленение 4 должно быть установлено так, чтобы вращением
в сочленении 5 можно было совместить ось вращения
сочленения 6 с заданным вектором подхода (вектором а матрицы Т).
2. Сочленение 5 должно быть установлено так, чтобы ось
вращения сочленения 6 совпадала с вектором подхода.
3. Сочленение 6 должно быть установлено так, чтобы ось уб
совпала с заданным касательным вектором схвата, определяю-
ж
щим его ориентацию. Перечисленные условия соответственно
записываются в следующем виде:
24 = „ \у и при заданном a = (aJC> ay, az) , (2.3-64)
a = z5 при заданном a = (aJC, a^, az)r, (2.3-65)
s = у6 при заданных s = (sXi syt szf и n = (nx, nyi nz)T.
(2.3-66)
В равенстве (2.3-64) векторное произведение может быть как
положительным, так и отрицательным. Поэтому возможны два
решения для 64. При равенстве векторного произведения нулю
(т. е. ось z3 параллельна а) имеет место вырожденный случай.
Это происходит, когда оси вращения 4-го и 6-го сочленений
параллельны, и означает, что при данной конкретной
конфигурации был бы достаточен пятиосный, а не шестиосный
манипулятор.
Решение для четвертого сочленения. Обе возможные
ориентации запястья (ВВЕРХ и ВНИЗ) определяются ориентацией
системы координат схвата (n, s, а) относительно системы
координат (х5, Уб, z5). Знак векторного произведения в равенстве
(2.3-64) должен быть определен с учетом ориентации п или s
по отношению к единичным векторам xs или у5 соответственно,
которые в свою очередь ориентированы определенным образом
относительно единичного вектора z4 в соответствии с правилами
выбора систем координат звеньев. (Из рис. 2.11 видно, что
единичный вектор z4 сонаправлен с единичным вектором у5.)
Предположим сначала, что векторное произведение в
равенстве (2.3-64) имеет положительный знак. Признаком этого
может служить индикатор ориентации Q, определяемый следующим
образом:
!0 в вырожденном случае;
s-y5, если s-y5=^0; (2.3-67)
п • у5, если s • у5 = 0.
В соответствии с рис. 2.11 уб = z4, и, используя равенство
(2.3-64), можно представить индикатор ориентации в следующем
виде:
10 в вырожденном случае;
S " Т^М еСЛИ 8'(2зХа)# 0; (2.3-68)
п ' .I23 S а! если s . (z3 X а) = 0.
Если наше предположение о знаке векторного произведения в
равенстве (2.3-64) не верно, то позже оно будет скорректировано
87
Таблица 2,5. Различные ориентации запястья
Ориентация запястья
кисть вниз
кисть вниз
кисть вверх
КИСТЬ ВВЕРХ
Q = s-y5 или п-уч
АУЛУ
о о о о
М-ЗАПЯСТЬЕ-sign (Q)
+ 1 +1
+ 1 -1
-1 -1
-1 +1
с помощью индикатора ЗАПЯСТЬЕ и индикатора ориентации Q.
Индикатор £2 служит признаком начальной ориентации
единичного вектора z4, обусловленной правилами выбора систем
координат звеньев. Индикатор звена ЗАПЯСТЬЕ характеризует
выбранную исследователем ориентацию узла запястья в
соответствии с определением, содержащимся в равенстве (2.3-33). Если
эти индикаторы одного знака, то предположение о знаке
векторного произведения в равенстве (2.3-64) верно. Табл. 2.5
устанавливает соответствие между ориентацией запястья и различными
комбинациями значений индикатора ЗАПЯСТЬЕ и индикатора
ориентации.
sin 04 е* *ЧЧ'\»)
COS 04 ** ^ » Уз
^rs>
Рис. 2.23. Решение для 4-го сочленения.
между ориентацией запястья и различными комбинациями
значений индикатора ЗАПЯСТЬЕ и индикатора ориентации.
Проецируя систему координат (х4, у4, z4) на плоскость х3уз
(рис. 2.23) и используя табл. 2.5, можно получить следующие
соотношения:
sin 04 = — М (z4 • х3), cos 94 = М (z4. уз), (2.3-69)
где х3 и уз — соответственно первый и второй столбцы матрицы
oj3) м = ЗАПЯСТЬЕ -cign(Q), а функция sign определяется
следующим образом:
( +1, если х^ 0;
88
Таким образом, с помощью индикатора ЗАПЯСТЬЕ и
индикатора ориентации решение для 64 может быть представлено в
следующем виде:
sin 04"
п , Г sin 041
Г M(C,ay-Sxax)
= arctg[-
]■
-п^94^я. (2.3-71)
М(СхС2гах + SlC2zciy — S2^az) У ^ 4 ^- х '
В вырожденном случае переменной 04 может быть присвоено
любое значение, согласующееся с ориентацией запястья
(КИСТЬ ВВЕРХ/ВНИЗ). Это условие всегда удовлетворяется,
если положить 84 равным текущему значению 04. Кроме того,
сменив значение ПЕРЕКЛЮЧАТЕЛЯ, можно получить другое
решение для 64: 04 — 04 + 180°.
Решение для пятого сочленения. Для определения 05
воспользуемся условием, состоящим в том, что ось шестого сочленения
должна совпадать с заданным вектором подхода (a = zs). Прое-
sin 05
а«Х4
cos 05 - -(а.у4)
Рис. 2.24. Решение для 5-го сочленения.
•-У4
цируя систему координат (х5, уб, z5) на плоскость х4у4, можно
показать, что справедливы следующие соотношения (рис. 2.24):
sin 85 = а • х4, cos Э5 = — (а • у4), (2.3-72)
где £4 и у4 — соответственно первый и второй столбцы матрицы
°Т4, а а — вектор подхода. Таким образом, получено решение
для 05:
*-•«*[•=*}-
Г (С1С23С4 — 5j54) ax + (S1C23C4 + C|S4) cty — С^2Ъаг "|
^ L C\S2bax + SiS2Z^y + C2zCLZ J '
C\S2^ax + SiS2zuy + С2Ъаг
(2.3-73)
Если 05 « 0, имеет место вырожденный случай.
Решение для шестого сочленения. Мы получили такие решения
04, 05 для 4-го и 5-го сочленений, что ось шестого сочленения
сонаправлена с заданным вектором подхода а. Теперь мы
хотим получить такую ориентацию схвата, которая бы позволила
поднять объект манипулирования. Для этого надо так располо-
89
6L(-5lC4-
— n<96
Sin Oa
" • Ув
*~ У5
COi ^-St У5
жить схват, чтобы s = y6. Проецируя систему координат схвата
(n, s, а) на плоскость xsys, можно показать, что справедливы
следующие равенства (рис. 2.25):
sin 6б = п • у5, cos 9б = s • у5, (2.3-74)
где уз — второй столбец матрицы °Тб, а п и s — соответственно
нормальный и касательный векторы матрицы °Т6. Таким
образом, для 96 имеем
*-«*йм-
[(— SiC4 — C1C23S4) пх + {CiC4 ~~ ^1^23^4) Пу —• (S4S23) fiz 1
^1^23^4) Sx + (С1С4 — SiCzzSi) Sy -f (54523) SZ J
(2.3-75)
Рассмотренный метод
решения обратной задачи
кинематики основан на
геометрической интерпретации условий,
накладываемых на
положение конечной точки 3-го
звена и на положение и
ориентацию схвата или
инструмента. В предложенном решении
для углов 04, 05 и 06
необходимо обратить особое
внимание на следующее. Дело в
том, что требование
совпадения оси 5-го сочленения с
векторным произведением z3
и а может не иметь смысла,
если sin 85 ^ О (т. е. 05 » 0). В этом случае манипулятор
становится вырожденным: оси его 4-го и 6-го сочленений
совпадают. В таком состоянии важна только сумма углов 04 и 06.
Угол 94 можно выбрать произвольным образом (обычно
выбирают 04 равным его текущему значению), а 04 + 06 выбирается
так, чтобы требуемым образом расположить оси s и п. Если ПЕ-
РЕРЕКЛЮЧАТЕЛЬ «включен» (т. е. ПЕРЕКЛЮЧАТЕЛЬ— 1),
то 04 = 94 + я, 05 = —85, 06 = 9б + я-
Итак, для шестизвенного манипулятора Пума существуй во*
семь решений обратной задачи кинематики. Решения для
первых трех присоединенных углов 0Ь 02, 03 обеспечивают
требуемое расположение руки (первых трех звеньев), а выбором углов
04, Об, 06 обеспечивается заданная ориентация схвата. Для
первых трех присоединенных углов существуют четыре решения:
два — для манипулятора с левосторонней конфигурацией и
два — с правосторонней. Для каждой конкретной конфигурации
манипулятора равенства (2.3-47), (2.3-56), (2.3-63), (2.3-71^
Рис. 2.25. Решение для 6-го сочленения.
$0
(2.3-73), (2.3-75) дают решение (Оь 02, 98, в4, в5, вб) обратной
задачи кинематики, причем (вь 92> вз, 04 + я, —65, 66 + я) также
является решением этой задачи (если ПЕРЕКЛЮЧАТЕЛЬ
«включен»).
Уравнения вида конфигурации для определения
индикаторов конфигурации манипулятора. Полученное в предыдущем
разделе решение обратной задачи кинематики для манипулятора
типа Пума не единственно и зависит от индикаторов
конфигурации, задаваемых исследователем. Эти индикаторы можно также
определить, зная присоединенные углы. В этом разделе
получены соответствующие уравнения конфигурации для каждого из
рассмотренных индикаторов. Решение уравнения дает значение
соответствующего индикатора в соответствии с определениями
(2.3-31) —(2.3-33).
Для индикатора РУКА, следуя определению
ПРАВОЙ/ЛЕВОЙ руки, уравнение конфигурации можно записать в виде
'<*■>>-*• т5££г-
= Zn
I 1 к
— sin 8, cos 9! О
Рх Ру О
1 - ру sin 8, - рх cos б!
—, (2.3-76)
llziXpl HziXp'l
где р' =(р*, ру, 0)т — проекция вектора р (равенство (2.2-36))
на плоскость х0уо, i\ —{—sin0b cos8i,0)r — третий столбец
матрицы °Ti и Zo=(0, О, 1)Г. Возможны следующие варианты:
1. Если g(6, p) > 0, реализована конфигурация ПРАВОЙ руки.
2. Если g(8, р) < 0, реализована конфигурация ЛЕВОЙ руки.
3. Если g(Q, р) = 0, конфигурация манипулятора одновременно
соответствует определению как ПРАВОЙ, так и ЛЕВОЙ руки:
манипулятор находится внутри цилиндра радиусом d2
(рис. 2.19). В этом случае принимается для определенности»
что реализована конфигурация правой руки (РУКА= + 1).
Поскольку знаменатель выражения (2.3-76) всегда
положителен, определение ЛЕВОЙ/ПРАВОЙ конфигурации сводится
к определению знака числителя g(8,p):
РУКА = sign [g (9, р)] — sign (— рх cos 9, — ру sin 9,), (2.3-77)
где функция sign определена равенством (2.3-70). Подстановкой
первой и второй компонент вектора р из равенства (2.3-36) в
равенство (2.3-77) получаем
РУКА = sign [g(8, p)] = sign[£(6)] = sign(— d4S23 — a23C23 — a2C2).
(2.3-78)
Следовательно, из уравнения (2.3-78) значение индикатора
РУКА для ПРАВОЙ/ЛЕВОЙ конфигурации манипулятора уста-
91
ч
навливается следующим образом:
( +1 => ПРАВАЯ рука,
РУКА = sign (-rf4S23-a3C23-a2C2) = { _1=^ЛЕВАЯ рука.
(2.3-79)
При выводе уравнения конфигурации для индикатора
ЛОКОТЬ используем определение ВЕРХНЕЙ/НИЖНЕЙ руки.
Взяв (2р4)г/ и индикатор РУКА из табл. 2.4, получим уравнение
конфигурации для индикатора ЛОКОТЬ, использующее знак
второй компоненты вектора положения матрицы 2А33А4 и
индикатор РУКА:
ЛОКОТЬ = РУКА • sign (d4C3 ~ a3S,) =
+ 1=> ЛОКОТЬ выше запястья,
— 1=^ ЛОКОТЬ ниже запястья.
(2.3-80)
Для индикатора ЗАПЯСТЬЕ, следуя определению возможных
конфигураций запястья (КИСТЬ ВВЕРХ/ВНИЗ), сформируем
скалярное произведение единичных векторов s и у5 (или z4).
( +1, если s • z4 > 0
ЗАПЯСТЬЕ = < t ^ n = sign (s • z4). (2.3-81)
I — 1, если s • z4 < 0
Если s-z4 = 0, значение индикатора ЗАПЯСТЬЕ можно
определить из следующего выражения:
{+1, если п • Та > СП
} = sign(n-z4). (2.3-82)
— 1, если п • z4 < 0 у
Объединяя равенства (2.3-81) и (2.3-82), получим
( sign (s ■ z4), если s • z4 ф 0 ")
ЗАПЯСТЬЕ = \ . / п \ =
( sign (n • z4), если s • zi = 0 )
+ 1=> КИСТЬ ВНИЗ,
-1 => КИСТЬ ВВЕРХ. (2'3"83^
Полученные уравнения конфигурации позволяют проверить
решение обратной задачи кинематики. С их помощью при
решении прямой задачи кинематики вычисляются значения индика*
торов конфигурации, которые затем используются для решения
обратной задачи кинематики (рис. 2.26).
Машинное моделирование. Для проверки правильности решения
обратной задачи кинематики манипулятора Пума,
изображенного на рис. 2.11, может быть составлена программа для ЭВМ.
Первоначально в программе задается положение манипулятора
в пределах допустимых значений присоединенных углов. При-
-{
92
соединенные углы являются входами в программу решения
прямой задачи кинематики, которая формирует матрицу
манипулятора Т. Присоединенные углы используются также в уравнениях
конфигурации, из которых определяются значения трех
индикаторов конфигурации манипулятора. Значения индикаторов
совместно с матрицей Т являются входами в программу решения
обратной задачи кинематики, вычисляющую присоединенные
Положение и
Присоединенные
углы
-чЬ
Прямая задача
кинематики
ориентация
сявата
0иш5ка
Урабненйя
конфигурации
РУКА у ШОЩШЯСТЬЕ
Обратная задача
кинематики
п s
О О
ар]
О 1J
Рис. 2.26. Моделирование решения обратной задачи кинематики на ЭВМ.
углы, которые должны совпасть с присоединенными углами,
являющимися входами в программу решения прямой задачи
кинематики. Блок-схема такой модели представлена на рис. 2.26.
2.4. ЗАКЛЮЧЕНИЕ
В этой главе мы рассмотрели прямую и обратную задачи
кинематики манипулятора. Были определены параметры звеньев
и сочленений манипулятора, а для описания положения звеньев
относительно фиксированной системы координат было введено
понятие однородной матрицы преобразования размерностью
4 X 4. Для шестизвенного манипулятора типа Пума получены
соотношения, решающие прямую задачу кинематики.
Сформулирована обратная задача кинематики. С помощью
метода обратных преобразований получено решение обратной
задачи в эйлеровых координатах. Метод обратных
преобразований позволяет решать обратную задачу кинематики простых
манипуляторов, однако он не дает возможности раскрыть
геометрический смысл задачи. В связи с этим на примере решения
обратной задачи кинематики шестизвенного манипулятора с
вращательными сочленениями рассмотрен геометрический подход.
В решении использовались три индикатора конфигурации
манипулятора (РУКА, ЛОКОТЬ, ЗАПЯСТЬЕ). Для шестизвенного
манипулятора типа Пума существует восемь различных решений
обратной задачи кинематики: четыре — для первых трех
сочленений, и каждому из этих четырех соответствуют еще два воз-
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. Найдите матрицу поворота, являющегося результатом
последовательного выполнения поворотов сначала на угол ф вокруг оси ОХ, на угол t|?
вокруг оси OW и затем на угол 9 вокруг оси О У,
94
2.3. Найдите последовательность поворотов, отличную от описанной в
задаче 2.2, но имеющую ту же матрицу результирующего поворота.
2.4. Выведите формулы для sin(cp + 9) и cos((p + Q), раскрывая
выражение, представляющее матрицу суммарного поворота в виде произведения
матриц элементарных поворотов.
2.5. Определите матрицу Т, описывающую результат последовательного
выполнения следующих преобразований: поворот на угол а вокруг оси ОХ,
сдвиг на Ь единиц длины вдоль оси OZ и затем поворот угол ф вокруг
оси OV.
2.6. Определите в соответствии с рис. 2.27 однородные матрицы
преобразований '-*А/ и °А« для i — 1, 2, 3, 4, 5.
Рис. 2.27. Схема систем координат для упражнения (2.6) нахождения
однородной матрицы преобразования.
2.7. Определите в соответствии с рис. 2.28 однородные матрицы
преобразований '-*А* и °А* для t = 1, 2, 3, 4.
2.8. Робототехнический комплекс оборудован телевизионной камерой (см.
пример из разд. 2.2.11). В поле зрения камеры находятся точка начала
базовой системы координат, в которой закреплен манипулятор, а также объект
манипулирования — куб. Если в центре куба поместить локальную систему
координат, то его положение относительно камеры будет определяться
однородной матрицей Т4. Аналогично, положение базовой системы координат
относительно камеры может быть задано однородной матрицей Т2, где
_1 0 0 -10 "1
0—1 0 20
0 0-1 10 '
0 0 0 1 I
и i
U 1
1 0
0 0
0 0
0
—1
0
10
9
1
95
а) К сожалению, после того как оборудование было установлено и были
выбраны указанные системы координат, кто-то развернул камеру на 90° вокруг
ее оси z. Каковы стали положение и ориентация камеры по отношению к
базовой системе координат робота?
Рис. 2.28. Схема систем координат для упражнения (2.7) нахождения
однородной матрицы преобразования.
б) После того, как вы ответили на вопрое а), тот же человек енач&Яр
развернул объект манипулирования на 90° вокруг его оси х, а затем сдвинул его на
4 единицы вдоль повернутой оси у. Определите положение и ориентацию
объекта манипулировании относительно базовой системы координат робота и
относительно повернутой системы координат камеры.
2.9. Мы рассмотрели геометрический способ решения обратной задачи
кинематики манипулятора Пума. Определите в терминах требуемого числа
операций сложения и умножения и обращений к программам вычисления
трансцендентных функций вычислительные ресурсы, необходимые для решения этой
задачи на ЭВМ (если некоторая операция повторяется, ее нужно учитывать
только один раз).
96
2.10. Определите ортонормированные системы координат (х?, у*, Z/), £ —
= 1, 2, ..., 6, для звеньев манипулятора Пума 260, изображенного на
рис. 2.29, и заполните следующую таблицу:
Вращение туловища 330**
Параметры систем
координат звеньев
манипулятора Пума
Сочленение
i
1
2
3
4
5
6
в* а{ а{ dt
Рис. 2.29. Звенья, сочленения и присоединенные углы (обобщенные
координаты) манипулятора Пума 260.
2.11. Определите ортонормированные системы координат (х*, у*, Z/), / =
= 1, 2, ..., 5, для звеньев манипулятора MINIMOVER, показанного на
рис. 2.30, и заполните следующую таблицу:
4 К. Фу и др5
97
Параметры систем
координат звеньев
манипулятора MINIMOVER
Сочленение
i
1
2
3
4
5
е/ at ai di
Уо
Рис. 2.30. Схема манипулятора
MINIMOVER.
2.12. Станфордский манипулятор установлен в положение, показанное на
рис. 2.31. Присоединенные переменные для такого положения манипулятора
имеют значения q ■ (90°, —120°, 22 см, 0°, 70°, 90°)т. Определите ортонор-
мированные системы координат (х<, у*, z^), i= 1, 2, ..., 6, для этого
манипулятора и заполните следующую таблицу:
Параметры систем
координат звеньев
станфордского манипулятора
Сочленение
i
1
2
3
4
5
6
*i ai ai di
Рис. 2.31. Схема станфордского
манипулятора.
2.13. Используя матрицы '-*Aj (i=l, 2, ..., 6) для манипулятора Пума,
представленные в разд. 2.2.10, определите ошибку положения конца 3-го звена,
обусловленную ошибками измерений первых трех присоединенных углов
(Л01, А9г, АОз). Воспользуйтесь схемой аппроксимации первого порядка.
2.14. Решите задачу 2.13 для станфордского манипулятора, показанного
на рис. 2.12.
2.15. На рис. 2.32 показан манипулятор с двумя степенями свободы.
Зная, что длина каждого из звеньев составляет 1 м, определите системы ко-
98
ординат звеньев и найдите °Ai и 4А2. Для этого манипулятора решите
обратную задачу кинематики.
Рис. 2.32. Схема манипулятора с двумя степенями свободы.
2.16. Предположим, что для манипулятора Пума, показанного на рис. 2.11Г
при решении обратной задачи кинематики найдены первые три
присоединенные переменные (0i, 02, 6з) и, кроме того, заданы '_1А, (i = 1, 2, ..., 6) и
°Т6. Используя метод обратных преобразований, найдите последние три
присоединенные переменные (04, 65, 66). Сравните полученное решение с тем,
которое дается равенствами (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],
пользуясь для описания кинематической цепи матрицами
преобразования однородных координат и уравнениями Лагранжа —
Эйлера, показал, что уравнения динамики движения станфордского
шестизвенного манипулятора существенно нелинейны и
отражают эффекты, связанные с действием сил инерции,
обусловленных ускоренным движением звеньев, действием кориолисовых
и центробежных сил, а также действием силы тяжести. Более
того, действующие в сочленениях силы и моменты зависят от
параметров манипулятора, мгновенных значений
присоединенных переменных, скоростей и ускорений, а также перемещаемого
манипулятором груза. Уравнения Лагранжа — Эйлера
обеспечивают строгое описание динамики состояния манипулятора и
могут быть использованы для разработки усовершенствованных
законов управления в пространстве присоединенных
переменных. В меньшей степени они используются для решения прямой
и обратной задач динамики. Прямая задача состоит в том, чтобы
по заданным силам и моментам определить обобщенные
ускорения, интегрирование которых позволяет получить значения
обобщенных координат и скоростей. Обратная задача динамики
заключается в том, чтобы по заданным обобщенным
координатам, скоростям и ускорениям определить действующие в
сочленениях манипулятора силы и моменты. Для решения обеих
названных задач, как правило, необходимо вычислять
динамические коэффициенты Dik, Ынт и сц определяемые равенствами
(3.2-31), (3.2-33) и (3.2-34) соответственно. Вычисление этих
коэффициентов требует выполнения очень большого числа
арифметических операций. В связи с этим уравнения Лагранжа —
Эйлера без дополнительных упрощений практически
неприменимы для обеспечения управления манипулятором в реальном
времени.
С целью получения более эффективных с вычислительной
точки зрения алгоритмов расчета обобщенных сил и моментов
некоторые исследователи [6, 185, 233] использовали уравнения
Ньютона — Эйлера. Вывод уравнений движения манипулятора
101
методом Ньютона — Эйлера прост по содержанию, но весьма
трудоемок. Результатом является система прямых и обратных
рекуррентных уравнений, последовательно применяемых к
звеньям манипулятора. С помощью прямых уравнений
последовательно от основания к схвату вычисляются кинематические
характеристики движения звеньев, такие, как линейные и угловые
скорости и ускорения, линейные ускорения центров масс звеньев.
Обратные уравнения позволяют последовательно от схвата
к основанию вычислить силы и моменты, действующие на каждое
из звеньев. Наиболее важный результат такого подхода состоит
в том, что время, необходимое для вычисления обобщенных сил
и моментов, прямо пропорционально числу сочленений, но не
зависит от реализующейся в процессе движения конфигурации
манипулятора. Это позволяет реализовать простые законы
управления манипулятором в реальном времени.
Низкая вычислительная эффективность уравнений Лагран-
жа — Эйлера обусловлена в основном тем, что для описания
кинематической цепи используются матрицы преобразования
однородных координат. Уравнения Ньютона — Эйлера обладают
большей вычислительной эффективностью, что связано с
векторным представлением и их рекуррентной природой. Холлербахом
[122] была сделана попытка повысить вычислительную
эффективность уравнений Лагранжа — Эйлера за счет их
рекуррентной природы. Однако полученные им рекуррентные уравнения
потеряли «аналитичность», столь полезную при синтезе
управления в пространстве состояний. Для синтеза законов управления
желательно иметь в распоряжении замкнутую систему
дифференциальных уравнений, точно описывающую динамику
движения манипулятора. Кроме того, желательно, чтобы в этих
уравнениях можно было легко выделить составляющие, отражающие
действие сил инерции различной природы, с тем чтобы выбором
закона управления обеспечить их максимальную компенсацию
[130]. Еще один подход к формированию эффективной в
вычислительном плане системы точных уравнений движения основан
на применении принципа Д'Аламбера, Этот подход позволяет
получить уравнения движения в векторно-матричной форме,
удобной для анализа. Помимо того, что эти уравнения
обеспечивают снижение по сравнению с уравнениями Лагранжа —
Эйлера вычислительных затрат на расчет динамических
коэффициентов, они позволяют различать динамические эффекты,
обусловленные вращательным и поступательным движением
звеньев, что весьма полезно при синтезе управления в
пространстве состояний. Вычислительная эффективность этих уравнений
обусловлена использованием для описания кинематики звеньев
матриц поворотов и векторов относительного положения.
В этой главе уравнения движения манипулятора получены
методом Лагранжа — Эйлера, методом Ньютона — Эйлера, а
Г02
также с помощью принципа Д'Аламбера. Все три подхода
проиллюстрированы на примере простого двухзвенного
манипулятора. Так как динамические коэффициенты уравнений движения
необходимо определять и в задачах выбора закона управления,
и при моделировании движения манипулятора с помощью ЭВМ,
для каждой системы уравнений движения найдено число
необходимых для их реализации математических операций сложения
и умножения. Затраты на вычисление обобщенных сил и
моментов с применением обобщенных уравнений Д'Аламбера имеют
порядок О (и3), с применением уравнений Лагранжа — Эйлера —
0(/24) (при оптимизации — 0(гс3), с применением уравнений
Ньютона — Эйлера — 0(п)> где п — число степеней свободы
манипулятора.
3.2. МЕТОД ЛАГРАНЖА— ЭЙЛЕРА
Полное описание движения манипулятора можно получить,
применяя метод Лагранжа — Эйлера для неконсервативных
систем. Описав кинематику манипулятора с помощью матричного
представления Денавита — Хартенберга, можно, пользуясь лаг-
ранжевым формализмом, получить уравнения динамики. Такое
совместное использование Д-Х-представления и метода
Лагранжа приводит к компактной векторно-матричной форме
уравнений движения, удобной для аналитического исследования и
допускающей реализацию на ЭВМ.
Вывод уравнений динамики движения манипулятора основан
на следующем:
1. На описании взаимного пространственного расположения
систем координат t-го и (/— 1)-го звеньев с помощью
матрицы преобразования однородных координат f~ХА/. Эта
матрица преобразует координаты произвольной точки
относительно 1-й системы координат в координаты этой же
точки относительно (i—1)-й системы координат.
2, На использовании уравнения Лагранжа — Эйлера
Мя]-%-т- '=''2 '• <3-2-"'
в котором L — функция Лагранжа (L = К — Р), К — полная
кинетическая энергия манипулятора, Р — полная потенциальная
энергия манипулятора, qt — обобщенные координаты
манипулятора, ф — первая производная по времени обобщенных
координат, %i — обобщенные силы (или моменты), создаваемые в /-м
сочленении для реализации заданного движения /-го звена.
Для того чтобы воспользоваться уравнением Лагранжа —
Эйлера, необходимо выбрать систему обобщенных координат.
103
Обобщенные координаты представляют собой набор координат,
обеспечивающий полное описание положения рассматриваемой
физической системы в абсолютной системе координат.
Существуют различные системы обобщенных координат, пригодные
для описания простого манипулятора с вращательными и
поступательными сочленениями. Однако поскольку углы поворотов
в сочленениях непосредственно доступны измерению с помощью
потенциометров или других датчиков, то они составляют
наиболее естественную систему обобщенных координат. В этом
случае обобщенные координаты совпадают с присоединенными
переменными манипулятора. В частности, если i-e сочленение— •
вращательное, то qt s= Qu если же t-e сочленение —
поступательное, то qi = di.
В излагаемом ниже выводе уравнений движения
манипулятора с п степенями свободы используются матрицы
преобразования однородных координат, рассмотренные в гл. 2.
3.2.1. Скорость произвольной точки звена манипулятора
Для того чтобы воспользоваться уравнениями Лагранжа —
Эйлера, необходимо знать кинетическую энергию
рассматриваемой физической системы, а следовательно, и скорости всех ее
точек. В этом разделе получены соотношения, определяющие
скорость точки, неподвижной относительно i-ro звена, с учетом
движения всех сочленений манипулятора.
Рассмотрим произвольную точку, неподвижную относительно
/-го звена и заданную в системе координат i-ro звена
однородными координатами гг* (рис. 3.1)
= (**, й, *ь 1)г. (3.2-2)
Обозначим через °г,- координаты этой же точки относительно
базовой системы координат. Как и выше, 1~1А/ обозначает
матрицу преобразования однородных координат, определяющую
пространственное положение системы координат i-ro звена
относительно системы координат (t— 1)-го звена, а °А/ —матрицу,
определяющую связь между системой координат /-го звена и
базовой системой координат. Тогда связь между °п и 'г*
определяется соотношением
°г,=*°А{гь (3.2-3)
где °А, = °А}А*.„ '-'А*. (3.2-4)
%
*1Л
St
Щ
i
104
Если /-е сочленение — вращательное, то, как следует из
равенства (2.2-29), матрица '^А, имеет вид
pcos0, — cos a/sin 0^ sin a* sin 9, a,-cos8j-|
sin 9; cos at cos 9^ — sin щ cos 9, at sin 9^
0 sin a; cos af dt
L 0 0 0 1
<-'A,=
(3.2-5)
Если j-e сочленение — поступательное, то в соответствии с
равенством (2.2-31) матрица i_iA/ имеет следующий вид:
'-«А,-
pcos9£ —cos at sin 8£ sin щ sin 9^ 0-
sin Qt cos a/ cos Q{ — sin at cos Qt 0
0 sin at cos a,- dt
0 0 0 1 J
(3.2-6)
В общем случае все ненулевые элементы матрицы °А* яв-
звен&
Рис. 3.1. Точка ln i-ro звена.
ляются функциями величин 9/, d/, a/ и a/ (/ = 1, 2, ..., /),
причем в зависимости от типа /-го сочленения 9/ или dj
представляет собой присоединенную переменную этого сочленения, а ос-
105
тальные величины являются известными параметрами,
определяемыми кинематической структурой манипулятора. Для
вывода уравнений движения, описывающих как вращательные, так
и поступательные сочленения, мы будем использовать
обобщенные координаты <7/. Переменная qi совпадает с 8/, если 1-е
сочленение— вращательное, и с й1у если I- сочленение —
поступательное.
В рамках предположения о том, что звенья манипулятора
представляют собой твердые тела, точка 'г, так же, как и любая
другая точка /-го звена, имеет нулевую скорость относительно
i-й системы координат, не являющейся в общем случае инер-
циальной. Скорость точки Т; относительно базовой системы
координат может быть представлена следующим образом:
V/ = V,
1 М«4(°А*Г,).
dt
: A1A2
dt
i-l aL
1 aI
AJn + uA|A2 ... ,-1A5r,+
. .. + % ... "Air, + °A{f, = [£ *£■ g} j 'Г|. (3.2-7)
При выводе этого уравнения использовалось условие 'п = 0.
Частные производные матрицы °А4- по переменным qt легко
вычислить с помощью матрицы CL, которая для вращательного
сочленения имеет вид
(3.2-8а)
г°
1
0
L0
— 1
0
0
0
0
0
0
0
0-1
0
0
0 J
а для поступательного сочленения
Q,=
г 0 0 0 0
0 0 0 0
0 0 0 1
0 0 0 0J
(3.2-86)
Используя эту матрицу, можно написать
dq.
Q'_%.
(3.2-9)
106
Например, для манипулятора с вращательными сочленениями
qt = Qi. Используя равенство (3.2-5), имеем
3 0^ sinc^cosB,- — а^ sin 8;
cos at sin 0j sin at sin 0^ at cos 8/:
d'-%
dQ(
X
-—
- —
L
rO
1
0
Lo
- COS 9;
sin 0;
0
- 0
sin 6/
cos 9,-
0
0
— 1
0
0
0
0
0
0
0
—cos a,-
- cos
a
- cos a
0
0
O-i
0 I
0
0-
N
sin 9,
cos ac cos в;
sin a;
0
0
0
0
x
sin a/ sin 9^ at cos 9( -j
— sin at cos 9; at sin Qc
cos af dt
0 1
Q'-'A...
Таким образом, для i=l, 2, .. .
^y I 0,
/7.
i-1
A/,
если
если
(3.2-10)
По смыслу равенство (3.2-10) описывает изменение положения
точек 1-го звена, вызванное движением в j-u сочленении
манипулятора. Для упрощения формул введем обозначение
(J,-/AdQAf/d<7/> c учетом которого равенство (3.2-10) можно
представить в следующем виде для i = 1, 2, ..., п:
U,
I 0,
если
если
(3.2-11)
Используя введенное обозначение, формулу для v/ можно
представить в форме
^-[ZJM/]''*-
(3.2-12)
Следует отметить, что частная производная матрицы l-lAt по
переменной qt уже не является матрицей преобразования
однородных координат. Если рассматривается вращательное
сочленение, то умножение матрицы /_1А/ слева на матрицу Q/
эквивалентно перестановке первых двух строк матрицы '~lAi с по*
следующим изменением знака всех элементов первой строки на
противоположный и обнулением всех элементов третьей и
четвертой строк. Для поступательного сочленения эффект такого
107
умножения состоит в перестановке третьей и четвертой строк
матрицы '-*А/ и последующем обнулении элементов всех строк,
кроме третьей. Смысл использования матрицы Q; состоит в том,
чтобы сохранить в формулах матрицы '_1А/ и все операции
производить только с ними.
Определим величину, характеризующую эффект
взаимодействия сочленений, следующим образом:
( °A/«1Q^1A*-iQ*"1A,f если />*>/;
"^7^и.7*Н Чк-Л^Ау-Л^А/, если />/>*; (3.2-13)
^ 0, если / < / или i < k.
Например, для манипулятора с вращательными сочленениями
при i = / = k = 1 и q\ =■= 0! имеем
№.=-*-«ЙАО-аСЙА,.
3.2.2. Кинетическая энергия манипулятоа
Зная скорость произвольной точки каждого звена
манипулятора, найдем кинетическую энергию /-го звена. Обозначим через
Ki кинетическую энергию /-го звена (/=1, 2, ..., п)\ Пусть
dKi обозначает кинетическую энергию элемента массы dm /-го
звена. Тогда
dff, —V* (*? + # +^J*»—1/* след (U,U[)d/n =
— V»Tr (UiUf) dm. (3.2-14)
Здесь вместо скалярного произведения используется оператор
Тг (след матрицы)1), что в дальнейшем позволит перейти к
матрице инерции Si /-го звена. Подставляя в выражение (3.2-14)
значение v,- из равенства (3.2-12), получаем следующее
выражение для кинетической энергии элемента массой dm:
- ЪТг Г ± £ Uj^rfU^l dm -
= 4*Tr ft £ U,p (V»'»? ) Ufrv л1 • (3.2-15)
Lp=l r<=l J
108
Матрица U// характеризует изменение положения точки f-ro
звена относительно базовой системы координат, обусловленное
изменением координаты qj. Данная матрица одинакова для всех
точек i-ro звена и не зависит от распределения массы в этом
звене. Не зависят от распределения массы также и величины
qu Таким образом,
/С/ = J rf/Ci = V» 7-г Г 2 Z^tp(\!r\rJdm)4^Qr\ (3.2-16)
Интегральный член в скобках представляет собой матрицу
инерции Jt i-ro звена
\ х\ dm \ xlyl dm \ xizi dm \ xt dm
\хьуь dm \ у] dm \ yizi dm \ yt dm
\ x.z. dm \ yizi dm \ z] dm \ zi dm
\ xt dm \ yt dm \ zt dm \ dm
(3.2-17)
h = \ 'rIrf dm =
Если воспользоваться тензором инерции I//, по определению
равным
^^SKTZ^]-^/]^'
где индексы /, /, k принимают значение Xt, yt или эд, обозначая
оси 1-й системы координат, а б*; — так называемый символ Кро-
некера, то матрицу J, можно представить в следующей форме:
Jf =
*хх ""■" *уу * lz
lxy
niiXi
*ху
'уу + 1г
Jyz
rntyi
1уг
*хх ' *уу *z
2
m^i
ть%1
mfii
mt
(3.2-18)
Здесь in=(xifyitZi1l)T — однородные координаты центра масс
i-го звена в /-й системе координат. Формулу (3.2-18) можно
109
также записать в виде
h
■ т,-
1г1\\ + Kti + Щъъ
k]\2
п\\
^i22 + ^i*33
km
km
km
fe/23
i22 "
k%
У*
2
1 J
(3.2-19
Здесь Kijk = Ijk/mi и /, ft = l, 2, 3, a ^ = (хь //ь г/, l)r —pa-
Аиус-вектор центра масс i-ro звена в системе координат 1-го
звена. Таким образом, полная кинетическая энергия
манипулятора равна
к = t К, = •/■1 Tr \ t t \itphKioir] -
= 4ft t t\Tr(\}ipltUl,)Wr]. (3.2-20)
t ~ 1 0 — 1 Г= 1
Отметим, что величины Jt (i = l, 2, ..., n) зависят только от
распределения массы /-го звена в 1-й системе координат и не
зависят ни от положения, ни от скорости звеньев. Это позволяет,
однажды вычислив матрицы J*, использовать полученные
значения в дальнейшем для вычисления кинетической энергии
манипулятора.
3.2.3. Потенциальная энергия манипулятора
Обозначим полную потенциальную энергию манипулятора
через Р, а потенциальную энергию /-го звена — через Р,-. Тогда
P, = -m/^«=-mlg(°Ajfi)> 1=1, 2, ..., п. (3.2-21)
Суммируя потенциальные энергии всех звеньев, получаем
Р = I Р,; = Z - «,* (°Afr). (3.2-22)
f»l
/-1
Здесь 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 - V. % t t [Tr (U,,.J(.Uf,) qfik\ + £ mig (»X{r4). (3.2-23)
Подставив это выражение в уравнение Лагранжа, получим
выражение для обобщенной силы п, которую должен развить
силовой привод 1-го сочленения, чтобы реализовать заданное
движение /-го звена манипулятора
*.-i-[,^]-J^-tZ1>w»43*»+
+ £ E £Гг С"/*»wo *л. - E «/«^A. < -1,2,.... *
/=* fe=I ™=l /-' (3.2-24)
Выражение (3.2-24) можно представить в следующей более
простой форме:
п п п
** = £ 0**fo+2 E A<Am**4m + ^i /=1> 2, ..., /г, (3.2-25)
или в матричном виде
t (0 = D (q (t)) ■ q (0 + h (q (0, q (0) + с (q (/)), (3.2-26)
где т(/)—вектор (размерностью га XI) обобщенных сил,
создаваемых силовыми приводами в сочленениях манипулятора:
*(*)=■(*!(/), т2(0, .... тп(№ (3.2-27)
q(t) —вектор (размерностью /г X 1) присоединенных
переменных манипулятора
q(/) = МО, <72(0, ■■., q.(0F; (3-2-28)
q(/) —вектор (размерностью га XI) обобщенных скоростей
q(0 = (<7,(0, <М0, .... <7»(0)Г; (3.2-29)
q(/) —вектор (размерностью гаХО обобщенных ускорений
q(0 = (<7,(0, <Ы0, .... <7Л0)Г; (3.2-30)
D (q) — симметрическая матрица размерностью га X/г> элементы
которой даются выражением
Dik= t 7>(и/г1,ит), i,k = l,2,...,m (3.2-31)
111
h(q, q) — вектор (размерностью дХП кориолисовых и
центробежных сил
h(q, q) = (Ab ft* ..., Л„)г,
п п
hi= Z £ hikmqkqm /=1, 2, ..., л, (3.2-32)
V.e I ^(U^J^Ji) i, k, m = l, 2, .... it; (3.2-33)
j=*maX(i, k,m)
с(q) —-вектор (размерностью nXl) гравитационных сил
e(q) = fo, c2, ..., crt)r,
ct = t (- «/S^r,), *— 1, 2/ .... i*. (3.2-34)
3.2.5. Уравнения движения манипулятора с вращательными
сочленениями
Конкретизация равенств (3.2-26) — (3.2-34) для шестизвен-
ного манипулятора с вращательными сочленениями приводит к
следующему виду членов уравнений, определяющих динамику
движения манипулятора.
Матрица D(0). Исходя из равенства (3.2-31), имеем
\»и
Dl2
D*
Ян
0.5
I_0i6
012
022
023
024
025
026
013
023
033
034
035
036
014
024
034
044
045
046
015
025
035
045
055
056
0161
026
036
046
056
066 J
где
0„ -IVOWil) + 7>(U2lJ2U£) + 7>(U31J3U3r) + Tr(U41JtUL)+
+ 7Y(U5AU[1) + 7>(U6AlJ6ri).
0,2 = 02. = Tr (U22J2Ur.) + Tr (U^Uf,) + TV (U42JJU[.) +
+ rr(UeJeUj1) + rr(UMJeUJl)i
0.3 = 03. = Гг (Ua.J.UJ.) + TV (U„J4U J,) + 7V (U53J5U[,) +
+ rr(uaAUj).
0.4 = 04. = Tr (U44J4U[0 + TV (U54J6U£) + TV (U^UJ).
0.5 = 05. - rr(U„J,U£) + Гг (UeJ#U£),
112
С учетом (3.2-36) и (3.2-37) равенство (2.2-32) можно
представить в виде следующего произведения матриц и векторов:
/г. = 6гН;5Д (3.2-38)
Здесь индекс i указывает номер сочленения (£—1, 2, ... 6), в
котором измеряются моменты и силы центробежного и кориоли-
сового типа. Рассматривая (3.2-38) как выражение для
компоненты шестимерного вектора h(8, 6), можем написать
IV
h.
h
h4
h
\_h_
ttrH[)V0 1
йгн2>¥б
OrH3,v0
(FH4iV9
erH5iVe
JrH6iVoJ
Вектор гравитационных сил с(0). Из равенства (3.2-34)
имеем
с(в) = (сь c2s c3i сА, сь, с6)г, (3.2-40)
где
+ m6gU|ir6),
сз=~ Квию*з + ^8U^4 + ть«Щгг5 + тбёибзгб)>
с, = - Кеи4У4 + т&ЩЛ + пЧёЩ^)>
c6 = -m6gU|.F6.
Коэффициенты a, Dik и 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 коэффициент Оц связывает момент хи действующий
в i-м сочленении, с ускорением i и присоединенной
переменной. Если 1фк, то Dik определяет момент (или силу),
возникающий в i-м сочленении под действием ускорения в k-м
сочленении.
Поскольку матрица инерции симметрична и Tr(A) = 7Y(Ar),
можно показать, что Dik = Dkl.
, 3. Коэффициенты hikm, определяемые равенствами (3.2-32)
и (3.2-33), устанавливают связь действующих в сочленениях сил
и моментов со скоростями изменения присоединенных
переменных. Коэффициент hikm определяет связь момента, возникающего
в i-м сочленении в результате движения в k-м и m-м
сочленениях, со скоростями изменения k-й и пг-й присоединенных
переменных. В частности, при k = m коэффициент hikk связывает
угловую скорость в k-м сочленении с порождаемой ею
центробежной силой, «ощущаемой» в i-м сочленении. Если k = m, то
hikm связывает кориолисову силу, возникающую в i-м
сочленении, со скоростями изменения k-я и m-й присоединенных
переменных, в результате которого эта сила возникает. Отметим, что в
соответствии с физическим смыслом hikm = himk.
При вычислении рассмотренных коэффициентов полезно
знать, что некоторые из них могут иметь нулевые значения по
одной из следующих причин:
1. Конкретная кинематическая схема манипулятора может
исключать динамическое взаимовлияние движений в некоторых
парах сочленений (коэффициенты Д/, hikm).
2. Некоторые из коэффициентов hikm присутствуют в
формулах (2.2-32) и (3.2-33) чисто фиктивно, будучи нулевыми в
соответствии с физическим смыслом. Так, например, коэффициент
hm всегда равен 0, поскольку центробежная сила, порождаемая
движением в i-м сочленении, на само i-e сочленение влияния не
оказывает, хотя и влияет на другие сочленения, т. е. кщфО
при / Ф L
3. Некоторые из динамических коэффициентов могут
принимать нулевые значения в отдельные моменты времени при
реализации определенных конфигураций манипулятора.
Уравнения движения манипулятора (3.2-26) — (3.2-34)
представляют собой систему нелинейных обыкновенных
дифференциальных уравнений второго порядка. Эти уравнения учитывают
все действующие на звенья манипулятора силы и моменты:
инерциальные, центробежные, кориолисовы и гравитационные.
При заданных в виде функций времени моментах (силах) п (t =
= 1, 2, ..., п) одновременным интегрированием всех входящих
в (3.2-26) уравнений можно получить описание реального дви-
115
жения манипулятора в форме зависимостей от времени
присоединенных переменных q(/). Далее, используя соответствующие
матрицы преобразования однородных координат, по известной
вектор-функции q(/) можно определить зависимость от времени
положения схвата манипулятора (траекторию схвата). Или если
с помощью программы выбора траектории получены в форме
заданных функций времени законы изменения присоединенных
переменных, их скоростей и ускорений, то с помощью равенств
(3.2-26) — (3.2-34) можно определить зависимость от времени
%{t) моментов, которые должны быть созданы в сочленениях
для реализации выбранной траектории движения
манипулятора. В этом случае мы будем иметь дело с задачей
программного управления. Однако для автономных робототехнических
систем более предпочтительным является управление с
обратной связью. Этот вопрос рассмотрен в гл. 5.
Вследствие матричной структуры уравнения Лагранжа —
Эйлера в задачах управления с обратной связью, где они
используются для описания состояния управляемой системы,
применяются в форме (3.2-26). Такая форма допускает выбор
закона управления, устраняющего все нелинейные эффекты.
Достаточно часто при разработке замкнутой системы управления
манипулятора динамические коэффициенты выбираются таким об-
Таблица 3.L Вычислительные затраты на реализацию уравнений
движения в форме Лагранжа — Эйлера !>
Составляющие уравнений
движения
п
Tr [UkiJk (Ukif]
£ Tr [UklJk (Ukif]
fe = max(f, /)
Tr[UmlkJm(Umi)T]
£ Tr[UmjkJm(Umi)T]
Число операций
умножения
Z2n(n — 1)
An (9/г ~ 7)
0
(128/3) Az(n-f 1)(я + 2)
0
(128/3)/г2(д+1)(д+2)
0
Число операций
сложения
2Ап(п— 1)
51лг — 45
п Г"
\/2п(п-\)
(65/2) я (я + 1)(я + 2)
(1/6)/»(/!- 1)(я+1)
(65/2) п2 (п + 1)(я + 2)
(1/6)/г2(/г-1)(я+1)
T = D(g)q + h(qt q) + c(q) (128/3) /г4+(512/3) я3 + (98/3) п4 + (781/6) п*+
+ (844/3) п2 + (76/3) п + (637/3) п2 + (107/6) п
1) /г —число степеней свободы манипулятора,
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. Двухзвенный манипулятор.
оси сочленений рассматриваемого манипулятора параллельны
оси ,г, перпендикулярной плоскости рисунка. Физические
характеристики, такие, как положение центра масс, масса каждого
звена и выбранные системы координат, указаны ниже. Требуется
получить уравнения движения рассматриваемого двухзвенного
манипулятора, основываясь на равенствах (3.2-26) — (3.2-34).
117
Относительно рассматриваемого манипулятора будем
предполагать следующее:
• присоединенными переменными являются углы 9Ь Q2\
• первое и второе звенья имеют соответственно массы тх
и т2\
• параметры звеньев имеют значения oti = а2 = 0, d\ = d2 =
= 0, й\ =0,2 = 1. В соответствии с рис. 3.2 и полученными в
предыдущих разделах соотношениями для матрицы '"^А/ (/=1, 2)
имеем
Г С,
S,
0
U
°А2 =
S, 0 /С, -1
С, 0 IS,
0 1 0
0 0 1-
1
= AiA2 =
-с
0
L о
•А ■—
, А2 —
- с2 —s2 о
1С21
О2 ^-<2 -^ ^^2
0 0 10
L о 0 0 1-
2 -Sa 0 *(С12 + С,)-|
2 Си 0 Z(S12 + S,)
0 1 0
0 0
1
•
где С, = cos 9- S, = sin 6,; Ciy = cos (9, + 9y); Sif = sin (9, + 9,).
В соответствии с определением матрицы Qi для вращательного
сочленения имеем
q< =
0 -1 О О'
1 0 0 0
0 0 0 0
0 0 0 0
Используя выражение (3.2-11), получаем
и,
<)"А,
= QTA,=
■S, —С, 0
С, — S, 0 + /С,
0 0 0 0
0 0 0 0
0-1 0 0'
1 0 0 0
0 0 0 0
0 0 0 0.
-IS,
с,
о
о
S, 0 1С,
с, о is,
0 1 0
0 0 1
118
Аналогично для U2i и U22 получаем
Uo, —■
j 22
^=Q?A2 =
"0 -
1
0
_o
Г-5I2 -c12 о -/
-1 0 0~
0 0 0
0 0 0
0 0 0.
rc
12
512
Oj2 C12
0 0
l_0 0
(Sia + 5,)-
C12 -512 0 /(CI2f-C,)
0 0 0
l_ 0 0 0
''"As о* л'»
—Эвр=0АЛгА» =
"
"C, — S, 0 /C,~i
5! С, О /S,
0 0 10
_0 0 0 1 J
— Oj2 C12 0 -
C12 512 0
0 0 0
L 0 0
0
0
0
>
Г0 -1 0 0"]
1 0 0 0
0 0 0 0
l_0 0 0 OJ
IC\2 I
0
0
ГС2
52
0
l_o
0 /(C12 + C,)
0 /(5,2 + S,)
1 0
0 1
-s2 о /r2~
C2 0 /S2
0 1 0
0 0 0 _
Из равенства (3.2-18) в предположении о равенстве нулю всех
центробежных моментов инерции получаем формулу для
матрицы псевдоинерции J,:
J,=
Г l/3/ni/2 0 0 -
0 0 0
0 0 0
L— l/2m,/ 0 0
-1/2/n,/"
0
0
тх _
, J2 =
" l/3m2/2 0 0
0 0 0
0 0 0
_— l/2m2/ 0 0
-l/2m/
0
0
m2
Используя формулу (3.2-31), получаем
Du = r2(UnJiUfi) + r2(U2iJ2U2ri) =
= tA
5,
c,
0
0
— Ci
-5,
(J
0
0
0
0
0
— ZSm
/с.
0
о J
Г l/3m,/2 0 0
0 0 0
0 0 0
L —1/2/71,/ 0 0
— 1/2т,/
0
0
m.
u[,
+
11»
+ тА
512 — С12 О
О 0 0
0 0 0
l/3m2/2 0 0 — l/2tn2l
0 0 0 0
0 0 0 0
!_ — l/2m2l 0 0 m2
£>,2 = £>2i = rr(U22J2Ufi) =
= 7Y<
KSa + Si)
ЦС12 + СХ)
0
О
X
X
ul
> = XlZmf + 4/3m2/2 + m2C2l2;
~ "^12
(->12
0
0
-C12 0 -
-Sl2 0
0 0
0 0
*"->l2 1
'^12 1
0
о J
Г l/3m2t2
0
0
L— l/2m2/
0 0
0 0
0 0
0 0
— \/2m2l
0
0
m2
Ml
)
= /n2/2 (-1/6 + 1/2 + 1/2C2) = l/3m2/2 + l/2m/C2;
£>22 = 7Y(U22J2U22) =
l/3m2/2 0 0 —l/2m2r
0 0 0 0
0 0 0 0
Tr<
S12 C12 0 /S12
^12 ^12 0
0 0 0
0 0 0
u2r2
0
0 JI_—1/2w2/ 0 0 m2
= l/3m2/2SL + l/3m2/2Ci2= l/3m2/2.
Для определения слагаемых, описывающих центробежное и ко-
риолисово ускорение, воспользуемся равенством (3.2-32). Для
I = 1 оно дает
2 2
h{ = 2 Z hikmQkQm = Ашб? + AU2ei02 + /11216182 + /112262.
Jfe = l m= 1
С помощью (3.2-33) можно получить значения коэффициентов
hikm. Подставляя их в предыдущее выражение, имеем
h{ = — l/2/n252/2ei — m2S2/2e,e2.
Аналогично для / = 2
2 2
Л2=Е Z Л2*тв*вт = Л21161 + Aaisdifia + /^2218261 + Л222ё^ =
fe = lm=l
= l/2m252^28i.
Таким образом,
h(8, 6) = [
l/2m2S2l% - m2S2lB
l/2m2S2l2Ql
*•)
120
Запишем теперь слагаемые, определяющие влияние гравитацион
ных сил с =(С\,с2)т. На основании равенства (3.2-34) имеем
с, = — (m,gUnri + /n2gU2ir2) =
-5, -С, О
— - /п, (о, - е, о, о)
-m2(0, —g, 0,0)
О 0 0
О 0 0
— l/2miglC{ + l/2tn2gtCl2 + m2glCl\
С, -5, О
О 0 0
О 0 0
S12 — С12 0 -
W2
/S,~|
/с,
0
0
Г —//21
0
0
1 1
Sia О
/(S.J + S,)'
/(С12 + С,)
о
о
— //2
0
О
1
с2 = — m2gU22r2 =
= - m2 (0, - g, О, О)
и|9 "*~~ С#1п ^ "~~" '"1
с12
0
0
-512 0
0 0
0 0
/с12
0
0
-1/2
О
О
1
-m2(\/2glCl2-glCi2).
Таким образом, нами получен вектор, определяющий влияние
силы тяжести:
<ч:и
l/2mlglCl + l/2m2glCl2 + tn2glCx
l/2m2glCl2
]•
Окончательно имеем следующие уравнения, описывающие
динамику движения рассмотренного двухзвенного манипулятора:
T(t) = D(e)e(t) + h(0, в) + с(в),
l/3m,/2 + 4/3m2/2 + m2C2l2 l/3m2/2 + \/2m2PC2
l/3m2/2 4- l/2m2PC2 l/3m2/2
[:;]=[
Ю
+
+
Г -1/2т252/2ё2 - /n2S2f ё,ё2 ]
L l/2m2S2/2e2 J
l/2m2S2
f 1/
l/2m2glCl2
+
Г l/2mlglCl + l/2m2glCl2 + /гад/С,
121
3.3. УРАВНЕНИЯ НЬЮТОНА — ЭЙЛЕРА
В предыдущем разделе с помощью уравнений Лагранжа —
Эйлера мы получили систему нелинейных дифференциальных
уравнений, описывающую динамику движения манипулятора.
Применение полученных уравнений для расчета сил и моментов,
которые должны быть созданы силовыми приводами в
сочленениях манипулятора для реализации заданной траектории
движения, с вычислительной точки зрения представляет большие
трудности при решении задачи управления в реальном времени.
Они обусловлены в основном неэффективностью в
вычислительном плане уравнений Лагранжа — Эйлера, использующих
матрицы преобразования однородных координат размерностью
4X4. Для обеспечения управления в реальном времени была
разработана упрощенная модель динамики движения
манипулятора, не учитывающая кориолисовы и центробежные силы.
Это позволило сократить время, необходимое для вычисления
требуемых сил и моментов на каждом шаге интегрирования
уравнений движения до допустимых пределов (менее 10 мс счета
с применением компьютера PDP11/45). Однако при быстром
движении манипулятора кориолисовы и центробежные силы
оказывают существенное влияние на динамику движения.
В связи с этим применение упрощенной модели динамики
накладывает ограничения на скорость движения манипулятора,
что нежелательно в большинстве производственных процессов.
Кроме того, при быстром движении манипулятора ошибки в
реализуемых силах и моментах, обусловленные неучетом
центробежных и кориолисовых сил, не удается
скомпенсировать за счет управления с обратной связью из-за слишком
больших величин требующихся для этого корректирующих
моментов.
В качестве альтернативного более эффективного в
вычислительном плане способа описания динамики манипулятора
некоторые исследователи воспользовались подходом, основанным на
применении второго закона Ньютона. Ими были получены
различные формы уравнений Ньютона — Эйлера для описания
движения разомкнутой кинематической цепи [6, 223, 185, 299]. Та-
кой подход приводит к системе прямых и обратных
рекуррентных уравнений, позволяющих сократить затраты времени на
вычисление заданных моментов до пределов, допускающих
реализацию управления в реальном времени. Вывод этих уравнений
основывается на принципе Д'Аламбера и ряде соотношений,
описывающих кинематику звеньев манипулятора в базовой
системе координат. Прежде чем обратиться к выводу уравнений
динамики движения манипулятора, мы напомним некоторые
сведения относительно подвижных систем координат.
122
3.3.1. Вращающиеся системы координат
В этом разделе получены соотношения, устанавливающие
связь между вращающейся и неподвижной инерциальной
системами координат. Затем полученные соотношения
распространены на подвижную систему координат, участвующую
одновременно в поступательном и вращательном движениях
относительно инерциальной системы. Рассмотрим две системы
координат (рис. 3.3):
неподвижную инерциальную
систему координат OXYZ и
вращающуюся систему
координат OX*Y*Z*.
Начала этих систем совпадают
и расположены в
точке О, а оси ОХ\ OY*t 01*
вращаются относительно
осей OX, OY, OZ. Пусть
(i, j, к) и (Г, j*, к*) -
тройки единичных
векторов, направленных вдоль
основных осей систем
OXYZ и OX*Y*Z*
соответственно. Положение
точки г, неподвижной относительно системы координат OX*Y*Z*y
можно описать следующими двумя способами:
Рис. 3.3. Вращающаяся система координат»
или
г = xi + у] + zk,
(3.3-1)
(3.3-2)
Найдем скорость точки г. Поскольку рассматриваемые системы
координат вращаются относительно друг друга, скорости точки
r(t) будут различны в этих системах. В дальнейшем будем
различать скорости произвольной точки в системах координат
OXYZ и OX*Y*Z*, используя следующие обозначения:
d( )
dt
dt
скорость в неподвижной системе координат OXYZ;
(3.3-3)
- скорость в подвижной вращающейся системе (3.3-4)
координат OX*Y*Z*.
Из выражения (3.3-1) получаем скорость точки г(/) в системе
OXYZ:
-jf = х\ + у] + zk + х -rr + у 4f + г 4т~ = *' + У\ + *к- (3.3-5)
dt
dt
123
Дифференцируя равенство (3.3-2), получаем скорость точки r(t)
в системе координат OX*Y*Z*:
—. = Х 1 -\-у j +2 k + *
dt
У dt ~Z dt
= хГ + уГ + х\\ (3.3-6)
С учетом равенств (3.3-2) и (3.3-6) можно получить следующее
выражение для скорости точки r(t) в системе координат OXYZ:
dt
= х\ +у ) +zk +х -— + у -L- + z
dt
dt
(3.3-7)
d*r . * dV . * d\
<2г
rf/
dtf
2 d*
Здесь мы сталкиваемся с трудностью вычисления производных
di*/dt, df/dt и dk*/dt, обусловленной тем, что векторы i*, j*, k*
вращаются относительно векторов
U j, k.
Чтобы найти соотношение
между скоростями точки г в
неподвижной и вращающейся системах
координат, предположим, что система
OX*Y*Z* вращается вокруг
некоторой оси OQ> проходящей через
точку О, с угловой скоростью о) (рис.
3.4). Угловая скорость вращения
системы координат OX*Y*Z*
представляет собой по определению
вектор длины со, направленный вдоль
оси OQ в соответствии с правилом
правой руки. Рассмотрим вектор s,
неподвижный относительно
системы OX*Y*Z*. Покажем, что
скорость точки, положение которой
задается вектором s, в системе
координат OXYZ равна
s(/ + Д/)
Рис. 3.4. Скорость во
вращающейся системе координат.
ds v,
(3.3-8)
Поскольку производная вектора определяется равенством
ds ,. s (/ + АО - s (О
"77 = ,im л7
(3.3-9)
справедливость выражения (3.3-8) можно доказать,
убедившись, что
iXi"iim »(« + *) — <*). (3.3-10)
д*-»о
д*
Учитывая, что равенство векторов обеспечивается совпадением
их длин и направлений, покажем, что векторы в левой и правой
частях равенства (3.3-10) одинаковы по величине и их
направления совпадают. Длина вектора wXs равна
|o>Xs| = 0-s- sin9. (3.3-11)
Если величина At достаточно мала, то из рис. 3.4 очевидно, что
| As | = (5 sin 9) (со А/). (3.3-12)
Тем самым доказано равенство длин векторов в левой и правой
частях равенства (3.3-10). В соответствии с определением
векторного произведения вектор to X s перпендикулярен вектору s
и лежит в плоскости окружцости, изображенной на рис. 3.4.
Применив формулу (3.3-8) к единичным векторам i*, j*, k*,
из равенства (3.3-7) получаем
(3.3-13)
Это основное соотношение, определяющее связь между
скоростями одной и той же точки во вращающейся и неподвижной
системах координат. Продифференцировав левую и правую части
равенства (3.3-13), имеем
d2v d Г d*r I . ч/ dr , did ..
_ d*2r , w d*r
~ dt2
= ^ + 2<*X^ + <»X(<*Xr) + ^-Xr. (3.3-14)
i ч / d*r , ч, Г d*r . v / 1 i dm K,
Равенство (3.3-14) представляет собой теорему Кориолиса.
Первое слагаемое в правой части этого равенства представляет
собой ускорение рассматриваемой точки в системе OX*Y*Z*.
Второе слагаемое описывает кориолисово ускорение. Третье
слагаемое есть центростремительное ускорение, направленное к
оси вращения и перпендикулярное ей. Четвертое слагаемое
исчезает при постоянной угловой скорости.
3.3.2. Подвижные системы координат
В этом разделе мы рассмотрим подвижные системы
координат, которые могут участвовать как во вращательном, так и в
поступательном движениях относительно некоторой
неподвижной инерциальной системы координат. На рис. 3.5 изображена
подвижная система координат 0*X*Y*Z*1 которая совершает
вращательное и поступательное движения относительно
инерциальной системы координат OXYZ. Положение материальной
точки р, обладающей массой т, относительно систем координат
OXYZ и 0*X*Y*Z* задается векторами г и г* соответственно.
Положение точки О* в системе координат OXYZ определяется
вектором h. Соотношение между векторами гиг* дается
выражением (см. рис. 3.5)
r=:r* + h. (3.3-15)
Если система координат 0*X*Y*Z* движется относительно
системы OXYZ, то
/Л . dv dr* , dh * ,
_ dt
dt
dt
(3.3-16)
где v* и v — скорости точки р в системах координат 0*X*Y*Z* и
OXYZ соответственно, a v^ — скорость подвижной системы ко-
*• У*
Рис. 3.5. Подвижная система координат.
ординат1) 0*X*Y*Z* в инерциальной системе OXYZ. С учетом
равенства (3.3-13) выражение (3.3-16) можно представить в
виде
/А dr* , dh d*r* . у * dh /0 (J 1ГГЧ
Аналогично ускорение точки р относительно системы координат
OXYZ можно представить в виде
а/,ч_ dv(t) _ dV rf'h , .
а W — ^ "" <//2 + dt2 — а + (
,3.3-18)
где а* и а — ускорения точки р в системах координат 0*X*Y*Z*
и OXYZ соответственно, а ал — ускорение системы координат
D Имеется в виду скорость точки О*. — Прим, перев.
126
0*X*Y*Z* в инерциальной системе координат OXYZ. С учетом
(3.3-14) равенство (3.3-18) можно представить в виде
а(0 = ^^ + 2соХ —+ <*Х(соХг) + ^гХг +-5Г-
(3.3-19)
Полученные соотношения для подвижных систем координат мы
в дальнейшем применим к системам координат звеньев
манипулятора, определенным нами в главе, посвященной кинематике
манипулятора. Уравнения движения выведем, применяя к таким
подвижным системам координат принцип Д'Аламбера.
3.3.3. Кинематика звеньев
В этом разделе мы выведем уравнения, основывающиеся на
полученных выше соотношениях для подвижной системы
координат и описывающие кинематику звеньев манипулятора в
базовой системе координат.
Напомним, что ортонормированная система координат (х*-ь
у;_ь zi-i) связана с осью t-го сочленения (рис. 3.6). Системы
координат (xi'-i, y/-i, z;_i) и (х/, у/, z/) связаны с (/—1)- и
i-м звеньями и имеют начала в точках О* и Ог соответственно.
Положение точек О7 и О* в базовой системе координат
определяется векторами р, и p/_i соответственно. Относительное
положение точек О' и О* характеризуется в базовой системе
координат вектором р\ = pf — Pt-r
Предположим, что система координат (x/-i, y*-i, z,-_i) имеет
•относительно базовой системы координат (х0, уо, z0) линейную
скорость V/—1 и угловую скорость со/_1. Пусть со. и о>* — угловые
скорости точки О' в системах координат (х0, Уо, го) и (xt-u yi-u
zt-\) соответственно. Тогда линейная скорость V/ и угловая
скорость со, системы координат (х/, у,-, z<) относительно базовой
системы координат с учетом равенства (3.3-17) определяются
-выражениями
Vf~TT + »*-.iXp;+ ▼,_!, (3-3-20)
со. = со._1 + &], (3.3-21)
где d*{)/dt означает скорость в движущейся системе
координат (х,_1, у;_ь Zf—i). Линейное ускорение v* и угловое ускорение
со; системы координат (xi, у/, zt) относительно базовой системы
координат с учетом равенства (3.3-19) определяются выраже-
127
ниями
a 'p, . d p.-
dt2 т w;-i /\ Pi I ^w;-i /\ ^
+ «MXK_,Xp;) + Uw, (3.3-22)
g>. = <o^j + o)*. (3.3-23)
Пользуясь равенством (3.3-13), находим угловое ускорение
системы координат (%i, yt, zi) относительно системы координат
(xw, У*-ь z/_i):
♦ *
i;--д^ + в^.ХЧ (3.3-24)
В результате равенство (3.3-23) можно представить в
следующем виде:
* *
<*< - *,-, + -jr + »,., X «I- (3.3-25)
Как уже говорилось, системы координат (х/-ь yt-ь z*-i) и
(х;, у/, Z/) в соответствии с алгоритмом формирования систем
координат звеньев манипулятора связаны с (t—1)-м и i-м
звеньями соответственно. Если г-е сочленение — поступательное,
то t-e звено совершает поступательное движение вдоль оси
Zf-i со скоростью ^ относительно (t—1 )-го звена. Если t-e
сочленение— вращательное, то t-e звено вращается вокруг оси
zm с угловой скоростью (о* относительно (t—1)-го звена.
Таким образом,
( Zi^xCji, если t-e сочленение — вращательное;
<o* = S n . (3.3-26)
( 0, если t-e сочленение — поступательное*
Здесь qi—величина угловой скорости вращения t-ro звена
относительно системы координат (х/~ь У*-ь z*-i). Аналогично
d*<*>* f zt-t?i» если t-e сочленение — вращательное;
dt " \ 0, если t-e сочленение — поступательное.
С учетом равенств (3,3-26) и (3.3-27) формулы (3.3-21) и
(3.3-25) могут быть представлены в следующем виде:
( «>*_i + zf-i<7tj если г"е сочленение — вращательное;
* (^ %_], если t-e сочленение — поступательное;
(3.3-28)
<&*_! + z;_!^i + со/_1 X (z£_i^,-), если i-e сочленение —
вращательное;
.
если t-e сочленение —
поступательное.
(3.3-29)
128
С учетом равенства (3.3-8) линейные скорость и ускорение
i-ro звена относительно (i—1)-го можно представить в
следующем виде:
если /-е сочленение — вращательное;
dp] = / *; х р;>
dt '"1 «1-1*1,
dt3
если 1-е сочленение —поступательное.
(3.3-30)
а <й,
~зг X Р/ + ®) X (<">) X pj), если i-e сочленение —
вращательное;
Г®|Хр
Zi_iqh если i-e сочленение —
поступательное.
(3.3-31)
Используя равенства (3.3-30) и (3.3-21), выражение (3.3-20)
для линейной скорости i-ro звена относительно базовой системы
координат можно представить в виде
f<dfXP/ + vp если 1-е сочленение —
вращательное;
(3 3-32)
i-iQi + ®/ XpJ + vt-v если *~е сочленение— * 7
поступательное.
С учетом следующих свойств векторного произведения:
(а X Ь) X с = Ь(а • с) - а(Ь • с), (3.3-33)
а X (Ь X с) = b (а • с) - с (а • Ь) (3.3-34)
и равенств (3.3-26) — (3.3-31); выражение (3.3-22) для
линейного ускорения звена i относительно базовой системы координат
преобразуется к виду
®i X Р* + <°j X (<*>,- X Р*) + vf_p если /-е сочленение —
вращательное;
1 *ir А + ^ X Pi + 2ю, X (ж,.,*,) + о. X (•, X Р*) + v,_p
если /-е сочленение — поступательное.
(3.3-35)
Заметим, что ш* = а>/-ь если i-e сочленение — поступательное.
Равенства (3.3-28), (3.3-29), (3.3-32) и (3.3-35), описывающие
кинематику движения i-ro звена, потребуются нам при выводе
уравнений динамики манипулятора.
3.3.4. Рекуррентные уравнения динамики манипулятора
Основываясь на полученных выше кинематических
соотношениях, в этом разделе мы воспользуемся принципом Д'Алам-
бера для вывода уравнений динамики движения манипулятора.
5 к. фу и др. 129
Принцип Д'Аламбера позволяет применить известные условия
статического равновесия к задачам динамики за счет
рассмотрения (наряду с внешними действующими на механическую
систему силами) сил инерции, препятствующих движению.
Принцип Д'Аламбера выполняется для механической системы
в любой момент времени. По сути это несколько
модифицированный второй закон Ньютона, формулируемый следующим
образом:
Алгебраическая сумма внешних сил и сил инерции,
действующих на тело в любом направлении, равна нулю.
Рассмотрим i-e звено (рис. 3.7). Пусть точка О' совпадает
с центром масс этого звена. Устанавливая соответствие между
рис. 3.6 и 3.7, введем следующие обозначения (все векторы
заданы в базовой системе координат):
mt — масса i-го звена;
ti — положение центра масс 1-го звена в базовой
системе координат;
S/ — положение центра масс /-го звена
относительно начала системы координат (х/, у», zi);
р* — положение начала i-й системы координат
относительно начала (I—1)-й системы
координат;
vf = —77- — линейная скорость центра масс i-ro звена;
SLlz=dvi/d! —линейное ускорение центра масс i-го звена;
Ff — суммарная внешняя сила, приложенная к
центру масс i-ro звена;
N,- — суммарный момент внешних сил,
приложенных к i-му звену;
1/ —матрица инерции i-ro звена относительно
его центра масс в базовой системе координат
(х0, уо, z0);
f; —сила, с которой (i— l)-e звено действует на
1-е звено в системе координат (х*м,уг-ь z<_i);
t\i — момент, вызванный действием (i— 1)-го
звена на i-e звено в системе координат (х/_ь
У»-ь z/_i).
Пренебрегая силами трения в сочленениях, получаем,
применив принцип Д'Аламбера к /-му звену:
d(m,v.) -
Р« = -Цг-^="»А. (3.3-36)
N, = -Vr^ e h*t + <•>«• X (1<<В/>. (3.3-37)
130
*,'-*
Сочленение?
Рис. 3.6, Взаимосвязь систем координат, имеющих начала в точках 0, 0* и Q'r
Центр тсс
1-ед эбена
(*/-!) У/-1,^
Звено i-l
Рис. 3.7. Силы и моменты, действующие на i'-е звено,
5*
131
Входящие в эти формулы линейные скорость и ускорение
центра масс /-го звена в соответствии с равенствами (3.3-32) и
(3.3-35) определяются выражениями *>
V, = %Xs* + v<, (3.3-38)
а, = <о< X Ъ + *>i X (©, X if) + v,. (3.3-39)
Суммарные сила F; и момент N,-, приложенные к t-му звену,
обусловлены действием на него силы тяжести, а также сил со
стороны соседних (/—1)-го и (i+l)-ro звеньев. Таким
образом,
F, = f,-ff+„ (3.3-40)
N, - n, - щ+1 + (Рг_, - F<) X f, - (^ - r,) X f/+i = (3.3-41)
= n, - n£+1 + (pIM - Ft.) X F, - p; X !,+l. (3.3-42)
Эти уравнения можно представить в рекуррентной форме,
воспользовавшись тем, что
fi"F| + t|+i-«A + fi+i. (3.3-43)
"г - «W, + Pi X !<+1 + (Pi + S,) X F, + N,. (3.3-44)
Полученными уравнениями, имеющими рекуррентную форму,
можно пользоваться для вычисления сил и моментов (f/, щ)
(f=l, 2, ..., д), действующих на звенья /г-звенного
манипулятора. Для этого достаточно учесть, что frt+i и пл+1
представляют собой соответственно силу и момент, с которыми объект
манипулирования действует на схват манипулятора.
Из приведенного в гл. 2 алгоритма формирования систем
координат звеньев и кинематических соотношений для соседних
звеньев следует, что если /-е сочленение — вращательное, оно
реализует поворот на qt радиан в системе координат (х^-ь yi~\,
Zi-i) вокруг оси zz_i. Поэтому момент, создаваемый приводом
/-го сочленения, должен быть равен сумме проекции момента
tit на ось Zj-i и момента вязкого трения в t-м сочленении. Если
же /-е сочленение — поступательное, оно реализует смещение на
qt единиц длины относительно системы координат (х/-ь У«-ь
Zi-x) вдоль оси Zi-ь В этом случае сила п, создаваемая в этой
сочленении, должна быть равна в системе координат (х*-ь У*-ь
g/_i) сумме проекции силы Ь на ось z,_i и силы вязкого трения.
Таким образом, момент (сила) т*, создаваемый приводом 1-го
11 Здесь (х/, у/, ц) —подвижная система координат.
132
сочленения, определяется формулой
( nfz^j + б^, если 1-е сочленение — вращательное.
{ hzi-1 + biqt, если i-e сочленение —поступательное,
(3.3-45)
где &*— коэффициент вязкого трения в i-ы сочленении.
Если основание манипулятора закреплено на платформе и
0-е звено неподвижно, то <о0 = о)0 = 0, vo — 0, и с учетом силы
тяжести
где | £1 = 9,8062 м/с2. (3.3-46)
8х
V0=g= gy
В заключение отметим, что уравнения Ньютона — Эйлера,
описывающие движение манипулятора, представляют собой си-
Таблица 3.2. Рекуррентные уравнения движения в форме Ньютона — Эйлера
•i-«
Прямые уравнения: /==1, 2, ,.., п
если i-e сочленение — вращательное;
если i-e сочленение — поступательное;
°i_i"l"z/-A"''fi)i-i^(zt-l^)' если г"е сочленение *-
вращательное;
© если i-e сочленение —
поступательное;
С <*>/ X Р* + <*>j X (<*>i X Р*) + Vj_j, если г-е сочленение —
вращательное;
** = { «|-Л + *4Хр1+Л»|Х(»|.1#|) +
+ ©; X (<*>/ X Р*) + v*_i, если i-e сочленение —
поступательное;
i,-i,Xi| + «!X ftXif) + vr
Обратные уравнения: * = /г, л — 1, ..., 1
Г,—«Л.
N/eIA + ^X(I^),
*| - ** + *#+!•
**-n^i+pJ х tl+l + (P; + ?,) х f, + n„
если 1-е сочленение — вращательное,
1^-i + M/.
если г-е сочленение — поступательное,
где Ь* — коэффициент вязкого трения в t'-м сочленении.
Обычно начальные условия с учетом действия силы тяжести имеют следующий
вид: ©о = <*>о = v0 = 0; v0 = {gx, gy, gz)T, причем \g\ = 9,8062 м/с2
133
стему прямых и обратных рекуррентных уравнений (уравнения
(3.3-28), (3.3-29), (3.3-35), (3.3-39) и (3.3-43) —(3.3-45)). Все
они представлены в табл. 3.2. Прямые уравнения позволяют
вычислять линейные и угловые скорости и ускорения каждого
звена рекуррентным образом в направлении от базовой системы
координат к схвату. Обратные уравнения служат для
вычисления сил и моментов, которое производится рекуррентным
образом в направлении от схвата к основанию. Таким образом,
прямые уравнения обеспечивают последовательное в направлении
от основания к схвату вычисление параметров движения звеньев
манипулятора, в то время как обратные уравнения позволяют
вычислять моменты и силы, которые должны быть реализованы
в сочленениях манипулятора, последовательно в направлении
от схвата к основанию.
3.3.5. Рекуррентные уравнения движения звена в системе
координат, связанной с этим звеном
Результаты предыдущего раздела показывают, что
динамика движения манипулятора может быть описана системой
прямых и обратных рекуррентных уравнений, поочередно
применяемой ко всем звеньям манипулятора. Прямые уравнения
позволяют последовательно от основания к схвату вычислить
кинематические характеристики движения звеньев, такие, как
угловые скорость и ускорение, линейное ускорение. При помощи
обратных уравнений последовательно от схвата к основанию
вычисляются силы, действующие на звенья, а также моменты,
которые должны быть созданы силовыми приводами для
реализации заданной траектории движения.
Недостаток полученных рекуррентных уравнений движения
состоит в том, что матрица L, а также геометрические
параметры (rf, s., p._p р*), будучи выраженными относительно
базовой системы координат, меняются в процессе движения
манипулятора. Лу и др. [185] усовершенствовали
рассматриваемый метод, перейдя в уравнениях движения к скоростям,
ускорениям, матрицам инерции, векторам положения центров масс
звеньев, силам и моментам, выраженным относительно систем
координат соответствующих звеньев. Это позволило сильно
упростить вычисления. Особенно важно, что время вычисления
управляющих моментов при использовании указанным образом
модифицированных уравнений движения линейно
пропорционально числу сочленений и не зависит от реализующейся в
процессе движения конфигурации манипулятора. Это дает
возможность реализовать алгоритм управления манипулятором в
реальном времени в пространстве присоединенных переменных.
Пусть {~]Ri — матрица поворота, имеющая размерность
3X3 и преобразующая произвольный трехмерный вектор из
134
системы координат (х<, у/, z/) в систему координат (x,-i, у/_ь
Z/_i). Матрица i_1R/ является верхней левой подматрицей
матрицы ИД*.
Выше было показано, что
v-l
C-'r^-V.-C-'Ri)1.
где
1-1
R,=
(3.3-47)
(3.3-48)
ГнЛ =
(3.3-49)
"cos6^ —cos a,- sin 0,- sin а^ sin 6^
sin8£ cos a,- sin 9,- — sin c^ cos 9,
0 sin at cos a;
cos0, sin 0; 0
— cosot/Sin9£ cos a, cos 0t- sin at
L sin a; sin Bt —sin a^ cos 6^ cos a; J
Вместо вычисления <*>., o>., v., a., p*, s., F., Np ip п. и т.,
заданных в базовой системе координат, будем вычислять
%щу %щ, <R0vf, 'R0ab %?t, 'R0N„ fRA, 'Ron, и %xh
заданные в системе координат г'-го звена (xh yh 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) примут соответственно вид
( *R;_iC 1Ro€0/—1 + zo4i)> если '"е сочленение—.
iRo®i=\
вращательное;
'R*_i ('_,Ro»*-iX
Ro<»i='
'RoV,=
если i-e сочленение —
поступательное;
(3.3-50)
fR*-i F~'Ro<^-i + z0?i + O'^Ro^-i) X z0ft], если
1-е сочленение — вращательное;
*Rt_i O^Ro^t-i)» если 1-е сочленение —
поступательное;
(3.3-51)
См,) x (£RopO + (Ч«\) x [(VJ x Cr0p;)] +
+ lRi-i C~lR()V*-i)> если *"e сочленение —
вращательное;
%-i Ы + '"V*-,) + ('R0if) X ('R0p;) +
+ 2('R0e»,)X('Ri-i«o^i) +
+ ('R0<»()X[CRo^)X('Rop;)]. если i-e
сочленение — поступательное;
(3.3-52)
135
*R0a/ - (%Щ) X ('Roe,) + (%<*д X [(%<*д X CRo»/)] + 'Rov,,
(3.3-53)
'*R0F< = miR0af, (3.3-54)
<R0N, = ('RoIiRO ('Ro©£) + ('Ro®<) X [('RoI?R/) CRo©/)], (3.3-55)
'Rot* = 'Ri+i C+1Ro«i+i) + 'RoF„ (3.3-56)
'RoP* - 4+i Г"Л+1 + C+lRoPl) X (l+lRA+i)] +
+ ('RoPl + 'Ro^,) X ('R0F£) + ВД, (3.3-57)
!(/R0n^)r(iR^1z0) + 6i9b если i-e сочленение —
вращательное;
'Ro'/)r('Ri-iZo) + 6^, если *-e сочленение —
поступательное.
Таблица 3.3. Рекуррентные уравнения движения в форме Ньютона — Эйлера,
эффективные с вычислительной точки зрения
Прямые уравнения: /=1, 2, ..., п
R, j ( ~ RqO^j + z0#/)» если /-е сочленение — вращательное;
Л, если /-е сочленение — поступательное;
4-1 ['~ V<->+*оь + С" Vw) х v*i].
*R © е: 4 если /-е сочленение — вращательное;
fR£_! ('"^RqW^j), если /-е сочленение — поступательное;
С V) х (Чр!) + (V) х [(Vi) x (V)] +
+ *R£-1 (^~"1R0v/_f), если /-е сочленение — вращательное;
'«!-»(zo^ +'" Vi-i) + (Vi) x (VI") +
+2 (Vi) x (4-iV«)+(V) х (ч«о х cr0p;)]>
если /-е сочленение — поступательное;
V* - С*Л) х (Ч»*) + (4е*) х [(Ч»<) х (4**)] + Vr
Обратные уравнения; («ft» rt— 1, ..., 1
4fi-4+i(m*A+i) + »iVi.
V< - Ч+1 ['* Vi+i+C+1 vi) x r v+,)]+(v;+ад x
< (V,) + (V4) (V«) + С v.) x [(Ч'Л) (Vi)].
('RqhJ (£R^i«0) + ^^» если /-е сочленение — вращательное;
V«-i
t ((V) (Ч-лИм*
' l(Vi)r('R|-i*o) + Mi.
т..
если J-e сочленение — поступательное.
Здесь Zo = (О, О, 1)г, а Ь*— коэффициент вязкого трения в i-m сочленении.
Стандартный вид начальных условий с учетом действия силы тяжести следую»
щий: <0о = Шо = vo = 0; v0 = (.£*, gVt gz)T, причем |g| = 9,8062 м/с2.
136
Здесь Z0 =(0, 0, l)7"; 'RoS* — центр масс /-го звена в системе
координат (хр у{, zty> 'R0p* — вектор относительного положения
начал систем координат (х,-, у*, zi) и (х*~ь y*-i, z,_i),
выраженный относительно системы координат (х*, у*, z*) и равный
чр; -
dt sin с^
dh cos a; J
(3.3-59)
('RoI/°R/) — матрица инерции f-го звена относительно его центра
масс, выраженная в системе координат (х,, у*, z*).
Итак, нами получены эффективные с вычислительной точки
зрения уравнения движения, представляющие собой системы
прямых и обратных рекуррентных уравнений, позволяющих
вычислить кинематические и динамические параметры движения
каждого звена в системе координат, связанной с этим звеном.
Эти рекуррентные уравнения приведены в табл. 3,3.
3.3.6* Вычислительный алгоритм
В настоящее время уравнения движения манипулятора в
форме Ньютона — Эйлера являются наиболее эффективным с
вычислительной точки зрения описанием динамики движения
манипулятора. Вычислительные затраты на реализацию этих
уравнений приведены в табл. 3.4. Общее число необходимых
математических операций (умножений и сложений)
пропорционально п — числу степеней свободы манипулятора.
Таблица ЗА. Вычислительные затраты на реализацию уравнений
движения в форме Ньютона — Эйлера для манипулятора Пума
Составляющие уравнений
%Щ
%®1
%Vi
%&l
RoF*
Rof*
%Hi
'Ron;
Общее
движения
ЧИСЛО
операций
Число операций
умножения
9/11)
9/1
27 п
15/г
3/1
9 (/1—1)
24/г
21 (/1- 15)
117 (/1-24)
Число операций
сложения
7/1
9/t
22/1
14/1
0
9 (/1 — 6)
18/1
24 (п— 15)
103 (/1 — 21)
^ п — число степеней свободы манипулятора.
137
Поскольку уравнения движения в такой форме являются
рекуррентными по сути, целесообразно представить их в форме
алгоритма вычисления задаваемых воздействий (сил или
моментов) для силового привода каждого из сочленений. Ниже
представлен такой алгоритм.
Алгоритм 3.1. Метод Ньютона— Эйлера
Этот алгоритм вычисляет для я-звенного манипулятора
моменты (или силы), которые должны быть созданы силовыми
приводами сочленений для реализации заданной траектории
движения манипулятора. Вычисления производятся по
формулам из табл. 3.3.
Начальные условия:
п — число звеньев,
«о = <°о = v0 = 0,
v0 = g = (gx, gy, gz)T, где I sr | — 9,8062 м/с2.
Переменные:
Яи Яь Яи i= 1, 2, . .., /г, /, F,, \u nit т,.
Прямая последовательность:
N1. [Установка счетчика.] Присвоить переменной i значение 1:
N2. [Шаг вычисления кинематических параметров.] Вычислить
'Ro<o/, 'Row, 'R0v< и 'Roa,- по формулам табл. 3.3.
N3. [Проверка i = n?] Если / = п, перейти к выполнению шага
N4, в противном случае увеличить па единицу значение
переменной i (/-<-*+ 1) и вернуться на N2.
Обратная последовательность:
N4. [Установка f^i и пп+ь] Присвоить fn+i и пп+\ значения
соответственно силы и момента, необходимых для поднятия
груза. Если груз отсутствует, присвоить этим переменным
нулевые значения.
N5. [Вычисление заданных сил (моментов).] Вычислить 'RoFi,
'RoNj, <Rof/, 'Ron/, m при известных fn+\ и пп+\.
N6. [Обратная итерация.] Если i=lf закончить счет; в
противном случае уменьшить значение счетчика i на единицу
и перейти к выполнению N5.
3.3.7. Пример: двухзвенный манипулятор
Для иллюстрации применения уравнений Ньютона — Эйлера
в этом разделе рассматривается двухзвенный манипулятор с
вращательными сочленениями (рис. 3.2). Оси вращения всех
сочленений параллельны оси z, перпендикулярной плоскости
138
|$Шуйй£ Физические параметры манипулятора приведены в
разд. 3.2.6.
Сначала, пользуясь рис. 3.2 и равенствами (3.3-48), (3.3-49),
сформируем матрицы поворота
°R.=
°R2 =
2R,=
TCl
\sl
Lo
rcl2
sl2
Lo
- c2
-s2
- 0
-S, 0 -
с, о
0 1 -
-512 0-
Cl2 0
0 1 -
52 0П
C2 0
0 1 J
> R2 ==
. Ro —
. Ro = 1
rc2 -
52
L о
Г C|
-5,
L о
^12
5,2
• 0
-52 0]
C2 0
0 1 J
5, OH
с, о
0 1 J
5,2 0 1
c,2 о
0 1 J
В соответствии с табл. 3.3 зададим следующие начальные
условия:
соо = <й0 = v0 = 0; v0 == (0, g, 0)г, где g = 9,8062 м/с2.
Прямые уравнения. Пользуясь равенством (3.3-50), вычислим
угловые скорости 1-го и 2-го звеньев. Для 1-го звена при <о0 = 0
имеем
IR0«i = 1RoK + z0e1) =
Для 2-го звена
2Ro©2 = 2R1(1Ro®i + z0e2) =
С9 5, 0
г с,
-5,
L о
5,
с,
0
01
0
1 J
Г°"
0
Lo.
е,=
"°1
0
-1J
е,
-52
о
о 1
1 р
1 L
-о-
0
L1 -
ё,+
"0"
0
L1 -
ё2
=
■оп
0
LI J
- о (в, + е2).
Пользуясь равенством (3.3-51), вычислим угловые ускорения
1-го и 2-го звеньев. Для 1-го звена, учитывая, что 0)0 = 100 = 0,
имеем
iR0©1 = iR0 (ю0 + zoe, + <*>о X zQQ{) = (О, О, 1)Т 0Ь
Для 2-го звена
2R0«2 = 2Ri ['Ro^ + z092 + (Ъ0&х) X z0e2] = (0, 0, If (9, + 92).
139
Пользуясь равенством (3.3-52), вычислим линейные ускорения
точек, являющихся началами систем координат 1-го и 2-го
звеньев. Для 1-го звена, учитывая, что v0 = (0, g, 0)г, имеем
'Rov, = (4U) x ('RoPl) + (4©,) x [(Ч«.) x ('RopD] + 'R0v2=
Г0"
0
Ll-
e,x
- r
0
Lo-
+
-Q-
0
-1 -
r
e.xi
1 I
"°"
0
L i.
e,x
-/ -
0
LO-
1
r
\)
'gSil
gCi
L о J
- /ef + gSi
/e, + gc,
0
Для 2-го звена
2R«v2 = (2R0«2) X (2R0P*2) + (2R0«2) X [(2R0«>2) X (2R0P2)] +
ID „ \
+ 2R1(,R0vI)
X
о
0
I
+
г 0 -i
0
L §, + e2.
i-
X
L
c2 s2 o~
— S2 C2 0
0 0
1
l -
0
0-
+
Г °
0
L e, + 62
Г - /e2 + gSi 1
/6, + eC, |
1
0
HI
JU
=
i (Ssei - c2e2 — ё? — ё| — 26ie2) + gs
i (в, + ё2 + cA + 52e2) + gCi2
о
12
0
0
6, + (
X
Пользуясь равенством (3.3-53), найдем линейные ускорения
центров масс 1-го и 2-го звеньев. Для 1-го звена имеем
]Roi, = CRo©,) X (!RoSi) + CRo»,) X [(]Ro«>i) X ('RA)J + 'RoV„
где
s,=
2°'
2^
L о
; R0S] —
■ c,
-5,
L о
s,
0
°1
0
1 -1
L о
' 1
2
0
L о .
Таким образом,
'Roa, =
Г°~
0
Li.
ё,х
i -|
2
0
L о .
1 +
i
Г °1
0
-ё,-
Х
1
Г° 1
0
-0,-
X
1 ~п
2 1
0
L о JJ
? +
- /6? + gSi '
0
"-je^ + gs, I
0
+
Для 2-го звена
*R0a2 = (2R0<o2) X (2Ro^) + (2Ro«2) X [(2Ro«2) X (2RoS2)l + 2RqV2,
где
s9 =
1 С '
J_
2
0
^ o12
Rqs2 —
C12 S12 0
I S12 Cl2 0
L о о и
\ --C 1
I 2 C12
L о _
—
/ -1
2 1
1 °
L о J
Таким образом,
2R0a2 =
г 0 -
0
Ц + ё\-
X
i -i
2
i °
L о .
+
0
0
X
X
0
0
6, + e2 J
X
2
L о JJ
+
i (s2§i - с2ё? — e? — e| — 26x62) + gsl2"
/(e1 + e2 + c2ei + 52ei) + gc12
0
l (S2§i - C29? - «/«в? - «/«6a - 6162) + gS12
/ (C20i + S2ef + '/20i + ViSa) + gCl2
0
Обратные уравнения. Считая, что схват манипулятора не
нагружен, имеем f3 = Пз = 0. Для расчета сил, действующих на
звенья, пользуемся равенством (3.3-56). Для 2-го звена с учетом
141
того, что f3 = 0, имеем
2*А=: % (Зад + V2 = 2R0f2 = ^R0a2 =
m2i (52ё1 - c2e2 - у2ё2 - i/2e| - ё,ё2) + gm2s12)'
т21 (С2ё, + S28? + '/28i + V262) + gm2Ci2
0
Для 1-го звена
[C2 -S2 OH
52 C2 0 X
0 0 1 J
m2l (52ei — CA — V2©? — V26I — eie2) + gm252 "1
m2/ (C26, + S292 + i/»Si + V2e2) + gm2Ci2 + «iRoa,
0 J
m2/ [- ё2 - >/2c2 (ё? + ё2) - с2ё,ё2 - v2s2 (ё, + ё2)] -
— m2g (C12S2 — C2Sl2) — Vitriol + mlgSl
m2i [ё, - v2s2 (ё2 + ei) - s2e,e2 + V2c2 (ё! + ё2)] +
+ m2gCi + '/гтД + gmxCx
0
С помощью равенства (3.3-57) вычислим моменты, действующие
на звенья. Для 2-го звена с учетом того, что п3 = 0, имеем
2R0n2 = (2RoP; + 2R072) X (2R0F2) + 2R0N2,
где
C*12 *^12 ^ I I
2R0p2= -sa си о I /s
Loo l-l
/G i2
• 0
Таким образом,
C12] ГМ
Н-Ы-
R0n2 =
г i_-
2
О
Lo J
rO
X
m2l (S20, - CM - V2ei - ЧЛ - 6i62) + gm2S12~
m2Z (C20, + S2e? + V2ei + V202) + gm2Ci2 1+
+
0 0
0 '/12m2/2 0
0 0 V2m2/2J
0
0
0
Le, + e2J
о
о
L %m2l% + %m2l% + %m2l2 (C20, + S282) + 42m2glCl2
}
142
Для 1-го звена получаем
«Ron, = 'R2 [2R0n2 + (2RoP;) X (2R0f2)l +
+ (,RoP;+'RoS1)X(1RoF1) + ,R0N1,
где
Г/С,"
/5,
L о -
,; 2R0p; =
- ic2-
-IS.2
L о -
; %p\ =
- /-i
0
LoJ
Таким образом,
%"i - % (Я*А) + !Ra [(2RoPl) X (2R0f2)] +
+ [T> °> O^X^oFj + 'RoN!.
Наконец, в соответствии с выражением (3.3-58) определим
моменты, которые должны быть реализованы силовыми
приводами сочленений. Для 2-го сочленения, полагая 62 = 0,
получаем
T2 = (%n2r(2R1z0) =
= 7з"Л + 7з»Л + 1/2ш2/2С2ё1 + V2m2g/C12 + 4%m2l2S2K
Для 1-го сочленения при Ь{ = 0 имеем
T1=(1R0n1)r(1RoZ0) =
= xkmxl% + AUm2l% + l/3m2l% + m2C2l% + 'W2e2 -
- m2S2l%Q2 - V2m2S/6i + V2mig/Ci + V2m2g/C12 + m2glC{.
Эти уравнения динамики движения манипулятора совпадают
с уравнениями, полученными в разделе 3.2.6 с применением
метода Лагранжа — Эйлера.
3.4. ОБОБЩЕННЫЕ УРАВНЕНИЯ Д'АЛАМБЕРА
Вычислительная неэффективность уравнений Лагранжа —
Эйлера обусловлена использованием матриц преобразования
однородных координат. В то же время удобство использования
уравнений Ньютона — Эйлера объясняется их рекуррентностью
и векторной формой записи. Для того чтобы получить
замкнутую и эффективную с вычислительной точки зрения форму
записи уравнений движения, можно, описав кинематику звеньев
с помощью векторов относительного положения и трехмерных
матриц поворота, вычислить кинетическую и потенциальную
энергии манипулятора, сформировать функцию Лагранжа, а
затем воспользоваться уравнениями Лагранжа — Эйлера. В этом
143
разделе мы получим уравнения движения Д'Аламбера в форме
Лагранжа, или, что то же самое, обобщенные уравнения
Д'Аламбера. Здесь мы будем рассматривать только
манипуляторы с вращательными сочленениями.
Считая звенья манипулятора твердыми телами, угловую
скорость <os s-ro звена относительно базовой системы координат
Базовая система координат
Рис. 3.8. Определение векторов, используемых в обобщенных уравнениях
Д'Аламбера.
можно представить как сумму относительных угловых
скоростей звеньев с меньшими номерами (рис. 3.8):
•.—IJe/e/.t, (3.4-1)
где z/-i — ось вращения /-го сочленения, заданная в базовой
системе координат. Умножая слева обе части равенства (3.4-1)
на SR0, получим угловую скорость s-ro звена, выраженную в
системе координат этого звена:
*Ro«>s=E8/sRoZ/-b (3.4-2)
/-1
Пусть (см. рис. 3.8) Ts — вектор положения центра масс 5-го
звена в базовой системе координат. Его можно представить в
следующем виде:
Fs-Ip; + c,, (3.4-3)
144
где cs — вектор относительного положения центра масс 5-го
звена и начала (s — 1)-й системы координат, выраженный в
базовой системе координат.
С помощью равенств (3.4-1) — (3.4-3) линейную скорость vs
5-го звена в базовой системе координат можно представить в
виде суммы линейных скоростей, обусловленных движением
звеньев с меньшими номерами:
Е [ [ £ 6Л_,] хР;] + [t 6A.Jх cs. (3.4-4)
S-1
k
Кинетическая энергия 5-го звена (l^s^n), имеющего
массу ms> складывается из кинетической энергии
поступательного движения и кинетической энергии вращения вокруг центра
масс:
■Vs == V^s/пост I \*>s/Bpatu ==s
= Чгт9(U5 • U,) + Vi (*НЛ)Г I,СМ.). (3.4-5)
где Ь — тензор инерции 5-го звена относительно центра масс,
представленный в системе координат 5-го звена.
Для простоты рассуждений динамические эффекты,
связанные с поступательным и вращательным движениями и
воздействием силы тяжести, рассмотрим по отдельности. Применяя
уравнения Лагранжа к составляющей кинетической энергии,
обусловленной поступательным движением 5-го звена, имеем для
5 ^ i
4 Vd(Ks)<
dt L dBi
где
С учетом
гост "1
и (а^)пост
dQt
dvs ,
тождеств
dt IdBiJ
d Г
* Г
+pi+1+
-Pi-i).
09,
s ddi J s
И"-*'
5>/.
dvs
■•-)■
dvs
'
(3.4-6)
(3.4-7)
(3.4-8)
равенство (3.4-6) принимает вид
Tt ViK&T\~ diKnT = m*Vs'[z'-'x(F*-p'-l)1, (3-4"9)
145
Суммируя по всем звеньям от i до п, получаем силы,
обусловленные поступательным движением всех звеньев:
±_ Гд(/С£.)пост1 _ д (К. £.)пост и
dt I dQi J dQi
n n
_ V / d Г д (^лоет 1 а (/CsWt 1 _ V m xV \t w7 « M
- L {-£ I mt J ae—) - 2,m^' Iz<-i X (r, - p^)]*
s=l s=i (3.4-10)
где с учетом равенств (3.3-8) и (3.3-12) ускорение vs s-ro звена
определяется формулой
v. - ^ (zi [(£ *л-)х *]+(£ e'z'-)х 4 -
-еГ(Е8л-.)х»;+
- + [(Ё s"-,) х г] + {(£»*_,) х [(| е,*,.,) х г.]}+
+ Z{lf(l*A-)xVp-.lxrtl +
+ {z[(E Wi)xW>]xc,j. (з-4-»)
^р=2 *» ч? =
Кинетическая, энергия вращения s-ro звена определяется фор*
,т / s
мулой
(3.4-12)
Поскольку
^^e/Roz^ij,
^^eRoZ.^fljye/RoZ/^), ,>/, (3.443)
4" (sRoZy-i) - 5RoZ,_i X S^i-u i > U (3.4-14)
146
J
и
£('Нл-.) = t(^7 %*<->)^ = sRoz,_, x(£ §/%*/_,);
(3.4-15)
дифференцируя по времени равенство (3.4-13), имеем
+(sRoZ,-i)r Ь (£ e/RoZz-.J + (Х*,-,)Г I, [£ ё; (-1. 'RoZ/.^L
= rRoZi-i X J e/RoZy-i J IJ £ 0/*Roz/-iJ +
+ (^RoZ/-,)7 I, ( £ ё/'RoZ/-! J +
\-l '
+ (sR0z(-_I)4 ^(e/RoZz-.X 2 e**Roz*_,) . (3.4-16)
Пользуясь теперь равенством (3.4-14), найдем частную
производную величины (Ks)вращ по координате 0,- (s 7^ i):
^I = [[E^RoZ/_1JxsRoZ/.i] Is[g в/RoZ/-,]. (3.4-17)
Вычитая (3.4-17) из (3.4-16) и производя суммирование по всем
звеньям от / до /г, получаем силы, обусловленные вращательным
движением звеньев:
d Г д (К. Е.)вращ "1 д (К. £.)вращ
Г д (К. £.)вращ 1
L сЮ/ J
дВ,
^ Г d Г д (/Cs)Bpam "1 д (^5)вращ ) _
+
147
+ (4W1)ri.
+
.{£ [e/RoZ/., X ( £ 6/RoZft-, )11
['Ro*,-ix(Z 6*'Roz*-,)j I^e/Rozy-.J,
+
i=\, 2, ..., tt. (3.4-18)
Потенциальная энергия манипулятора складывается из
потенциальных энергий всех его звеньев
п
/>.£. = £ Р„ (3.4-19)
$ = 1
где Р5 — потенциальная энергия s-ro звена, вычисляемая по
формуле
^.—1-«Л--в"-«.(Р|-1 + Р1+ ■•■ +^)' О.4-20)
Здесь g=(g*, gy, g-2)r и |g| = 9,8062 м/с2. Применяя уравнение
Лагранжа — Эйлера, имеем для
d \д(Р,)Л diPs) _
dt L d%i J d&i e%i ° ae«
= 8 • т. д{Г'ю*'~1) ^ 2 • ms [z,_, X ft - p,_,)], (3.4-21)
где p,_i не зависит от 8<. Суммируя по всем звеньям от i до п,
получаем моменты, обусловленные силой тяжести:
с? г а (я. я.) 1 а (я. £.)
<* Гд(Р.Е.)1
dt L аё/ J
dBt
-i
s-i
d(Ps)
д9{
= Z g • ms [»,_, X (rs - pi_,)]. (3.4-22)
S-/
Суммируя равенства (3.4-10), (3.4-18) и (3.4-22), получаем
момент тг, создаваемый силовым приводом 1-го сочлшщмя Jtfi$
реализации заданного движения манипулятора:
d Г д (К. £.)пост 1 а(/С.£.)поет) . Г<* / 0 (*• *-)врапО
1 I л L aei J ае* J L л v a§/ у
w ^=]+Дйа - £ (m, {['£ (£ §,„.,) x p;1
ae2
+
+ [(Z e'z/->)x C*J}'[z'-'x (r* ~ p'-i)])
+
148
+l[rRozi.1)ris(j;e/»R0z/.1)]-f
+ {£ [(§ ё^.-i) х 6а-. ] х р;})] ■ [«,., х б - Pi_o])
|W64XE^')X^]}+
\Z [(Ё 6Л-1) X 0pzp_, J X св J J • [ж,., X (г. - Pi_,)]) +
i((sRoZ,-1)rI,{|;[e/RoZ/.1x( t VRo*a-i)]} +
[%*£_, х(£ ep%zP-ij] i.(x; в,%ж,_,^+
Ьг-! X £ % (Г/- Pi-l) J.
+
+
+
+
+
+ g
(3.4-23)
Полученное равенство можно представить в следующей более
наглядной форме:
t Dtfi, (t) + hf°" (в, в) + кГщ (в, в) + ct - т, </), (3.4-24)
/-1
где для /= 1, 2, .... га
я,, = Dir + Д?Г = Z [(%*i-iY h(%*/-.)] +
+ Z { ms [z,., X ( £ P; + cs)] • [«,_, X ft - P,_i)] } -
= Z[(sR0z/_1Fis(sRoz/_1)] +
+ Z {^s [z;_, X (rs — p,_,)] • [z,_, X (rs - Рг-i)]}, i < Л
(3.4-25)
149
и- л о> -1 {т. [% ({(£,»л-.) [(|, V,-,) х р;] } +
+ {|2 [(? ел_0 х вАм] х Р;})] ■ [жм х ft - P,_o]} +
+.?, [»■({ it *л-0х [(I, "л-)х <<]}+
+ { Е2 [Q| вл-t) X 6pvi] Xc5j)- [ж,., X А - р,-,)]];
(3.4-26)
лвраЩ (0j б) = £ {(«R^)' Is {| [в/RoZ,-! (ftS+j B^RoZ,^)]} +
+ [Xz,-ix(Eiep5Rozp-,i)] I^Z^Ro^-i)} (3.4-27)
и с, = — g • [*,_, X E m7 (r7 - p,_!)J. (3.4-28)
Динамические коэффициенты Dif, а являются функциями
присоединенных переменных и параметров манипулятора, в то
* пост * вращ 1
время как Ы и hi — функции присоединенных
переменных, скоростей и параметров манипулятора. Эти коэффициенты
имеют следующий физический смысл:
• Коэффициенты Пц связаны с инерционностью звеньев
манипулятора. Равенство (3.4-25) отражает влияние ускоренного
движения в /-м сочленении на реализующийся в i-м сочленении
вращающий момент тг. Первое слагаемое в выражении (3.4-25)
учитывает влияние вращательного движения /-го звена на
возникающий в 1-м сочленении момент. Если i = /, то Он
характеризует момент сил инерции, возникающий в f-м сочленении в
ответ на ускоренное вращение £-го звена. Если i =?= /, это
слагаемое характеризует момент сил инерции, возникающий в i-м
сочленении в ответ на ускоренное вращение /-го звена. Второе
слагаемое в выражении (3.4-25) отражает аналогичные эффекты,
обусловленные поступательным ускоренным движением звеньев.
• Слагаемое /г"ост (0, 6) отражает эффекты, связанные с
постоянной скоростью изменения присоединенных переменных.
Равенство (3.4-26) описывает суммарный момент центробежной
и кориолисовой сил, возникающий в i-м сочленении как
следствие движения в р-м и q-ы сочленениях и обусловленный
поступательным движением р-го и q-ro звеньев. Первое и третье
слагаемые в выражении (3.4-26) представляют собой
центробежную и кориолисову силы инерции, обусловленные соответственно
150
поступательным движением звеньев с номерами, меньшими s,
и поступательным движением s-ro звена. Если р = q, это
центробежная сила, действующая в i-м сочленении. Если рф q, это
кориолисова сила, действующая в i-м сочленении. Второе и
четвертое слагаемые в выражении (3.4-26) описывают силы корио-
лиса, обусловленные соответственно поступательным движением
всех звеньев с номерами, меньшими s, и поступательным
движением s-ro звена.
• Слагаемое /г?ращ (0, 8) также связано с постоянной
скоростью изменения присоединенных переменных. Аналогично
равенству 3.4-26 равенство (3.4-27) описывает суммарный момент
центробежной и кориолисовой сил, возникающий в i-м
сочленении как следствие движения в р-м и q-м сочленениях, но в
отличие от /г?ост(6, 8) обусловленный вращательным
движением р-ro и q-ro звеньев. Первое слагаемое в равенстве (3.4-27)
описывает чисто кориолисовы силы инерции, действующие в
i-м сочленении вследствие поступательного движения р-го и q-ro
звеньев. Второе слагаемое описывает сумму центробежной и
кориолисовой сил инерции, действующих в i-м сочленении. Если
р = q, это центробежная сила, действующая в i-м сочленении;
если рф q, это кориолисова сила, вызванная вращательным
движением р-го и q-ro звеньев.
• Коэффициент Ct характеризует силу, с которой звенья с
номерами, большими i, воздействуют на i-e сочленения под
действием силы тяжести.
Таблица 3.5. Сравнение вычислительной сложности различных форм
уравнений динамики движения манипулятора 1*
Число
операций
умножения
Число
операций
сложения
Кинематическое
описание
Форма
уравнений
движения
*) л —число
производился без
Уравнения
Лагранжа — Эйлера
Уравнения
Ньютона —
Эйлера
132 п
111 л-4
Матрицы
поворотов
и векторы
положения
Рекуррентные
уравнения
тора. Расчет числ
ш уравнений.
Обобщенные
уравнения
Д'Аламбера
13/6/г3 + Ю5/2/г2 +
+ 268/Зя + 69
128/3/г4-Ь512/Зя3 +
+ 739/3/г2+160/3/г
98/Зм4 + 781/ёлг3 +
+ 559/Зл2 + 245/6/г
Однородные матрицы
размерностью 4X4
Замкнутая система
дифференциальных
уравнений
степеней свободы манипуля
предварительной оптимизаци
4/3/г3 + 44п2 +
-f 146/3/г + 45
Матрицы поворотов
и векторы
положения
Замкнутая система
дифференциальных уравнений
а необходимых операций
151
82
0 »
0——->
7
Си
©—
5s
x
! *
ren
л&
-Wl
©
•tf
4
(—^-T
2£
#
E
4
5
i
I
e
X
£
0™
«MS
0— *
0—<
^
X
JWJ
•Ml
T
©"
©--
V
4Irt «fee
5l«
4
4
CO
+
«Id
I
CI* S tofd
<
a 5*
$ +
4*
52.
4
в
+
J
■#
♦
"*
4
w»
ж
«
2|г»
*
S
4-
iS
+
1
•~*
«<
ч
SI»
+
•ь
4
w*
4>
«*
4
e*l e> »-|« «If
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^c\ 0^ащ, АГТ, ЛГщ> построенные для этой
траектории. Число расчетных точек траектории равно 31. Графики,
приведенные на рис. 3.10, соответствуют коэффициентам Dl^m
и Z)?/0CT> которые характеризуют силы инерции,
обусловленные ускоренным движением звеньев. На рис. 3.11 показано
поведение слагаемых А"ост и А?раш> связанных с центробежной и
кориолисовой силами. На каждом из рисунков представлены
три кривые, отражающие отдельно влияние сил инерции,
обусловленных поступательным и вращательным движениями
звеньев, а также их суммарное влияние.
Из анализа графиков, приведенных на рис. 3.10, можно
сделать следующие выводы, позволяющие сформировать
упрощенную модель динамики манипулятора:
153
■ Результат бра ща тельного движения
► Результат поступательного движения
к суммарный осроэект вращательного и поступательного ддижеяиН
600 1200 7800 2400 3000
Время, мс
0,1567
-0,023бТ~
-0,2039
-03842
-
• ^v "
Dm
i i
J 1^4,
600 1200 1800 2400 3000
Время, мс
9,250
600 1200 1800 2400 0000
Время, мс
№ 1200 1800 2400 Ж$
Время, мс
-3,510
Р
600 1200 1800 2400 300Ф
Время, мс
600 1200 1800 2400 W0&
Время у мс
Чг
2t056\
%$78
1015
Ц3071. «J m 1 „ llt ILL ^ [t t
0 600 1200 1800 2400 3000
Время, мс
23
4^L^L^l-J-Ii...J_i„Jb
600 1200 1800 2400 JQ OQ
Времяt mg
154
600 1200 1800 №0 6000
Время> мс
Ot0W*
qotm
4
qoo^Y
-D}00fOtl
600 /200 1800 2400 J00<7
Время\ мс
600 1200 1800 2400 3000
Время, мс
0,9245^
0,6246
0J247\
к к к к к к
зз
О 600 1200 1800 2400 6000
Время t мс
0,0016
О 600 1200 1800 2400 6000
Время3 мс
о 600 1200 1800 24оо зооа
Время, мс
О SO 0 1200 1800 2400 600&
Время, мс
Рис. ЗЛО. Коэффициенты Dih определяющие реакцию на ускоренное
движение звеньев.
По оси ординат отложены числовые значения элементов матриц,
155
4004OkmmtimmM-L»U.-L.U — \JL„lJ>
О 600 1200 180Q 2400 3000
Время, Мс
4№
%010
%OfO
л
'40
QflfOQkm^mS mS-MJl- ■ ,Ja.
600 1200 1800 2400 6000
Время, мо
О
»1683
нм$
нш
Da
m* **.*»*
A.
k* Jm et
0 60Q 1200 mO WQ 6000
вртя, ло
Продолжение рис. 3.10.
-1,200
600 1200 1800 2W 6000
яреш, ма
SJfif
2J7S\
ojm
I i I i I I
-'яр
^JUUJt^l Ж^Л*.»И"лМ
0 600 1200 16QQ 2400 3000
Время, Jtzc
$111 f » *
B.Q10
(010
V
ill' ■■!! T m и M\m t\f
О 600 1200 1800 MOO 30QO
Время, мс
1) Влияние сил инерции, обусловленных поступательным
движением звеньев, преобладает в коэффициентах D\i, D22, £>гз>
£>зз и £>5б.
2) Влияние сил инерции, обусловленных вращательным
движением звеньев, преобладает в коэффициентах /)44, £46, Е>ьь
и /)6б.
3) В остальных элементах матрицы D составляющие,
обусловленные вращательным и поступательным движением,
равноценны. На рис. ЗЛО графики, показывающие поведение
коэффициентов £>5бОСТ и ^45СТ» имеют разрывы. Это связано с
ошибками округления, возникающими при моделировании на ком-
156
Результат вращательного движения
Результат поступательного движения
\ Суммарный эухрект вращательного и поступательного движений
О *
О 600 7200 1800 гШ 3000
фелтя, мс
П1170Г
О 600 /200 1800 2400 3000
Время, мо
О 600 1200 1800 2400 3000
Время, мс
О 600 1200 1800 2400 ,
Время, мс
О 600 1200 1600 2400 3000
Время, мс
О 600 1200 1800 2400 3000
Время, мс
Рис. 3.11. Слагаемые Ни обусловленные кориолисовым и центробежным
ускорениями.
1о оси ординат отложены числовые значения элементов матриц.
пьютере VAX-11/780. Величины этих коэффициентов очень малы
цо сравнению с коэффициентами, характеризующими влияние
сил инерции, обусловленных вращательным движением звеньев.
Анализ графиков, приведенных на рис. 3.11, позволяет сделать
следующие выводы:
1) Вращательные составляющие преобладают в
коэффициентах fti, h2y hz.
2) Поступательная составляющая вносит определяющий
вклад в коэффициент /ц.
157
3) Вклады вращательной и поступательной составляющих в
коэффициенты /i5 и А6 равноценны.
Сделанные выводы справедливы для конкретной
рассмотренной траектории движения. Упрощенная модель, получаемая в
результате отбрасывания слагаемых, оказывающих
несущественное влияние на динамику движения манипулятора,
учитывает основные действующие на звенья силы и моменты и при
этом требует значительно меньших вычислительных затрат, чем
полная модель. Это существенно упрощает разработку законов
управления манипулятором.
3.4.2. Пример: двухзвенный манипулятор
Запишем для двухзвенного манипулятора (рис. 3.2)
обобщенные уравнения Д'Аламбера. Полагая массы звеньев
равными т\ и т2 и считая, что каждое из звеньев имеет длину /„
находим тензоры инерции этих звеньев
0 0 0
0 \/\2т{12 0
.0 0 l/12/iM2.
I,
0 0 0
0 1/12т2/2 0
.0 0 l/12m2/2J
Требуемые матрицы поворота имеют следующий вид:
°Ri
с,
$
0
Ro
-5,0"
С, 0
0 1_
, R2 —
= °R1'R2 =
^12 "~
S\2
_Q
G2
s2 о
s2 с2 о
_0 0 1
-sa о-
Сп 0
0 1_
,
1R0 = (°Ri)r, 2R0 = (°Ra)r.
где C< = cos9,, S,==sin9,, Си = cos (9, + 9Д S„ = sta (в, + в,).
Такие характеристики манипулятора,
определяются следующими выражениями:
Pi = Pi =
с, = г, =
как
Р*> ср rt и Р
I*
\IC\~
IS,
L о _
. «-
1С12
isl2
_ 0
> Р2=Ч
2 С1
2 Л»
L о
, с2 =
2 С12
-i-S
2 Л|2
0
. Г2 =
/(С, + С12)'
/№ + 512)
о
'С| "i" "2" С12
^1 + y "-*12
158
Пользуясь равенством (3.4-25), находим элементы матрицы
Z>„ = ('R0Zo)r I, ('Rozo) + (2R0z0)r I2 (2RoZ0) +
+ Щ (z0 X c,) • (z0 X r,) + m2 [z0 X (Pi + c2)] • (z0 X r2) =
■(0,0, 1)1,
Л-щ
1.
0
0
• 1
0"
0
1 -
on
0
.1J
X
X
1
+ (0, 0, 1)I2|
!-
2 Cl
-s,
2 d»
L о
r°
0
LI
'Q + Y l2 I I
0
is
г l2\ \
01
0 +
1J
Г-ic"
1 2
x ls
J 2
L о
1 r°~
• 0
Li_
x
+
1С I + у £l2
о
+ m2
= IfimJ2 + 4/3m2/2 + C2m2l2,
Dl2 = D2l = (2R0z0)r I2 (2R0z,) + m2 (z, X c2) • (z0 X f2) =
= l/3m2/2 + l/2m2C2/2,
D22 = (2R0z,)r I2 (2R0z,) + m2 (z, X c2) • [z, X (r2 - p,)] =
= l/12/n2/2 + l/4m2/2 = l/3m2/2.
Таким образом,
w-[S: a-
Г l/3m,/2 + 4/3m2/2 + m2/2C2 l/3m2/2 + l/2m2C2/21
= L l/3m2/2 + \J2m2C2l2 l/3m2/2 J'
Для вычисления Л?0СТ(Э, 8) и /г*ращ(0, 6) воспользуемся
равенствами (3.4-26) и (3.4-27), оставив в них только те
слагаемые, которые в нашем примере отличны от нуля:
л.ост = щ [в.з0 х (e,z0 х Р;)] • (z0 x F.) +
+ /щ [e,z0 X (6lZo X с,)] • (z0 X г,) +
+ m2 [(e,z0 + e2z,) X [(9,z0 + e2z,) X cj +
+ (0,zo X 62z,) X c2] • (z0 X r2) = l/2m/52e2 -
- l/2m/S2e2 - l/2m2l2SM - m/S2e,e2,
159
Arm=('RoZ0 X e.'RoZof Ii (e1,RoZo)+(2RoZo)TI2(e12RoZo X e22RoZ,)+
+ [2RoZ0 X (ei2RoZo + e22Roz1)]7' I2 (6i2RoZo + e22R0Zi) = 0.
Таким образом,
h{ = hT" + ЛГЩ — - l/2m2l2sM - т21%Ш.
Аналогично находим
ЛГТ = т2 [6,z0 X (elZo X Pi)] • [«, X (ft - р,)] +
+ m2 {(e,z0 + e2z.) x [(e,z0 + e8z,) x c2] +
+ (e,z0 X 92z,) X Ъ) • [z« X (f2 - Pi)] = l/2m/S2e?,
hf™ = (2RoZl)r I2 (e,2R0z0 X e22R0z1) +
+ [2R0z, X (e,2R0z0 + e22R0z,)f I2 (e,2R0z0 + e22RoZl) = 0.
Заметим, что Лвращ = Л2ращ = 0, что облегчает выбор закона
управления с обратной связью.
Итак,
h2 = Л2П0СТ + Л1ращ = lJ2m2l2SM.
Таким образом,
Г Л, I _ Г - l/2m2S2/2e2 — m25/eie21
I h2 J ~ [ 1/2т2$/ё2 J*
С помощью равенства (3.4-28) находим компоненты вектора с:
с, = _ g . [Zo x (m,f, + m2r2)] = (1/2/n, + m2) g/C, + l/2m2g/C12,
c2 = — g • [z, X m2 (r2 — p,)] = l/2m2g/C12,
где g= (0, —g, 0)r. В результате приходим к следующему виду
вектора с
с
= Гс' 1 = Г(1/2m'+m2) ^/Cl + 1/2т^/с,г 1
4c2J L V2m2glCi2 У
где g = 9,8062 м/с2. Найденные значения матрицы D и векторов
h и с приводят к следующей системе обобщенных уравнений
Д'Аламбера, описывающих динамику движения
рассматриваемого двухзвенного манипулятора:
Гт,(0"1 _Г1/Зт1/2 + 4/Зт2/2 + т2С2/2 l/3m2/2+ l/2m2C2Z2l f §,(*)]
It2(oJ= l/3m2/2+l/2m2C2/2 l/3m2/2 J Le2(/)J +
Г- l/2tn2S2l2Ql — m25/eie2l r(l/2mt + m2)glCx + l/2m2glCl2-l
+ [ l/2m25/e2 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], что уравнения в форме
Лагранжа — Эйлера можно получить из уравнений в форме i
Ньютона — Эйлера. Силвер [268] показал эквивалентность этих
двух форм с помощью тензорного анализа. Хастон и Келли
[130] разработали алгоритмический способ вывода уравнений
движения, удобных для реализации на ЭВМ. Ли и др. [166],
основываясь на обобщенном принципе Д'Аламбера, получили
уравнения движения в матрично-векторном представлении в
форме, удобной для разработки алгоритмов управления. Нью-
ман и Тоурасис [214] и Мьюррей и Ньюман [202] разработали
программное обеспечение, позволяющее формировать уравнения
движения манипулятора при помощи ЭВМ. Ньюман и Тоурасис
[213] построили дискретную модель динамики
манипулятора.
162
Упражнения
3.1. а) Каков смысл обобщенных координат манипулятора? б) Приведите-
Пример двух различных систем обобщенных координат для манипулятора,
показанного на рис. 3.12. Изобразите выбранные вами системы обобщенных.
координат на двух отдельных
рисунках.
3.2. На рис. 3.13 изображена точка,
имеющая в некоторой промежуточной
системе координат (хь уь zi)
координаты (—1, 1, 2). Система координат
(Xi, yi, Zi) движется поступательно
относительно абсолютной системы ко-
! ординат (х0, уо, z0) со скоростью,
равной 3ft + 2/fj-f-4k, где j} j?
к—единичные векторы в направлении осей х0,
у0 и z0 соответственно. Найти
ускорение указанной точки относительно
абсолютной системы координат.
3.3. Положение точки,
неподвижной относительно системы координат
0*X*Y*Z* (разд. 3.3.1 и 3.3.2), задается
в системе координат OXYZ вектором
r(t) = 3ft + 2/j + 4k, где i, j, k — единичные векторы в направлении
основных осей абсолютной системы координат OXYZ. Система 0*X*Y*Z*
вращается относительно системы OXYZ с угловой скоростью w = (0, 0, l)7^
Найти кориолисово и центростремительное ускорения.
Рис. 3.12.
Тояка
Рис. 3.13.
3.4. Чем различаются равенства (3.3-13) и (3.3-17), если a) h = 0 и
б) dh/dt = О, т. е. h — постоянный вектор.
3.5. На рис. 3.14 изображен куб массой М, длина стороны которого
равна 2а. (хо, уо, z0) — абсолютная система координат, (u, v, w) — система
координат., связанная с кубом, (хцм, уц„, гцм) — другая связанная с кубом
система координат, начало которой совпадает с центром масс куба.
6*
163
а) Найти тензор инерции куба в системе координат (х0, уо, z0).
б) Найти тензор инерции куба относительно центра масса в системе
координат (Хцм, уцм, ZUM).
3.6. Рассмотрите упр. 3.5 для прямоугольного параллелепипеда,
показанного на рис. 3.15.
Умц
■^цм
У
Рис. 3.14.
3.7. Предположим, что куб из упр. 3.5 был повернут на угол а вокруг
оси z0, a затем на угол G вокруг оси и, Определите тензор инерции в системе
координат (хо, уо, z0).
3.8. Рассмотрите упр. 3.7 для прямоугольного параллелепипеда из
упр. 3.6.
3.9. Мы выяснили, что уравнения Ньютона — Эйлера в применении к
задаче описания динамики движения манипулятора значительно более
эффективны в вычислительном плане, чем уравнения Лагранжа — Эйлера. Тем не
менее некоторые исследователи все-таки пользуются уравнениями
Лагранжа - Эйлера. Почему? (Приведите две причины.)
ЗЛО. Специалист в области робототехники утверждает, что если
манипулятор движется очень медленно, то слагаемые, учитывающие в уравнениях
Лагранжа — Эйлера кориолисовы и центробежные силы и моменты, можно
опустить. Будут ли такие упрощенные уравнения более эффективны с
вычислительной точки зрения, чем уравнения Ньютона -— Эйлера? Обоснуйте
свой ответ.
164
3.11. В этой главе нами рассмотрены два различных способа описания
динамики движения манипулятора, а именно уравнения Лагранжа — Эйлера
и уравнения Ньютона — Эйлера. Поскольку и те и другие описывают одну
и ту же физическую систему, они должны быть эквивалентны. С помощью
уравнений Лагранжа — Эйлера в заданной точке (qd(/i), <\d{ti)t <[d(ti))
траектории манипулятора, соответствующей моменту времени /4, можно
определить матрицу D(qrf(/t)) и векторы h{qd(ti)y qd{ti))i c(qd(ti)). Попытайтесь
к
iv,
—% -уо
90
Рис. 3.15.
сформулировать алгоритм нахождения этих же характеристик в этой же
самой точке траектории с помощью уравнений Ньютона — Эйлера, не
использующий уравнений Лагранжа — Эйлера.
3.12. Решением упр. 3.11 является метод зондирования. Предположим,
что для вычисления управляющих моментов некоторого манипулятора
требуется выполнить N операций умножения и М операций сложения. Зная М,
Nun, определите минимальное число сложений и умножений, необходимых
для вычисления матрицы O(q). Здесь п — число звеньев манипулятора.
3.13. В уравнениях движения манипулятора, полученных методом
Лагранжа — Эйлера, вектор силы тяжести g представляет собой вектор-строку
вида (0, 0, —\g\, 0), где отрицательный знак соответствует земной системе
координат. В уравнениях Ньютона — Эйлера в соответствии с табл. 3.2
влияние силы тяжести учитывается в земной системе вектором (0, 0, Igl)7", и
здесь знак «—» отсутствует. Объясните это противоречие.
3.14. В рекуррентные уравнения Ньютона — Эйлера входит матрица
(*Roh°R*)> представляющая собой тензор инерции 1-го звена в 1-й системе
координат. Найдите связь между этой матрицей и матрицей инерции J/,
входящей в уравнения Лагранжа — Эйлера
3.15. Сравните отличия между представлениями угловой скорости и
кинетической энергии в уравнениях Лагранжа — Эйлера и Ньютона — Эйлера,
заполнив следующую таблицу;
165
Рис. 3.16.
Рис. 3.17,
166
Угловая скорость
Кинетическая энергия
Метод
Лагранжа — Эйлера
Метод
Ньютона — Эйлера
3.16. Двухзвенный манипулятор, показанный на рис. 3.16, прикреплен к
потолку и находится под действием силы тяжести (g — 9,8062 м/с2); (х0,
Уо, Zo)—абсолютная система координат; 0Ь 02 — обобщенные координаты;
\di, di — длины звеньев; /щ, тг— массы звеньев. Будем считать, что масса
каждого из звеньев сосредоточена в крайней точке звена.
а) Найдите матрицы '-'A/, i = 1,2.
б) Найдите матрицу инерции J/ для каждого звена.
в) Получите уравнения Лагранжа — Эйлера для этого манипулятора,
предварительно определив элементы матриц D(0), h(0, 0) и с(0).
3.17. Рассматривая манипулятор из упр. 3.16, проделайте следующие
*наги вывода уравнений Ньютона — Эйлера.
а) Укажите начальные условия для рекуррентных уравнений Ньютона —
Эйлера.
б) Найдите тензор инерции 'R0l,0Ri для каждого _звена.
в) Найдите остальные параметры, такие, как lR0s. и *R0P/, используемые
в уравнениях Ньютона — Эйлера.
г) Получите уравнения Ньютона — Эйлера для рассматриваемого
манипулятора, полагая, что in+i и n,I+i имеют нулевые значения.
3.18. Воспользуйтесь уравнениями Лагранжа — Эйлера для описания
динамики движения двухзвенного манипулятора, показанного на рис. 3.17.
Здесь (хо, уо, zo) —абсолютная система координат; 0 и d — обобщенные
координаты; mit тг—массы звеньев. Предполагается, что масса т\ 1-го
звена расположена в точке, находящейся на постоянном расстоянии г\ от
оси вращения 1-го сочленения, а масса т2 2-го звена сосредоточена в
крайней точке 2-го звена.
Глава 4.
ПЛАНИРОВАНИЕ
ТРАЕКТОРИЙ МАНИПУЛЯТОРА
Какая путаница! Но как она
спланирована!
Александр Поп
4.1. ВВЕДЕНИЕ
Рассмотрев в предыдущих главах вопросы кинематики и
динамики манипулятора, обратимся теперь к задаче выбора закона
управления, обеспечивающего движение манипулятора вдоль
некоторой заданной траектории. Перед началом движения
манипулятора важно знать, во-первых, существуют ли на его пути
какие-либо препятствия, и, во-вторых, накладываются ли какие-
либо ограничения на траекторию схвата. В зависимости от
ответов на эти два вопроса закон управления манипулятором
принадлежит к одному из четырех типов, указанных в табл. 4.1. Из
таблицы видно, что задача управления манипулятором
распадается на две взаимосвязанные подзадачи — выбор
(планирование) траектории и осуществление движения манипулятора вдоль
выбранной траектории. В этой главе рассмотрены различные
способы планирования траекторий манипулятора при отсутствии
Таблица 4.1. Типы управления манипулятором
Ограничения
на
траекторию
манипулятора
Присутствуют
Отсутствуют
Препятствия на пути манипулятора
присутствуют
Автономное
планирование траектории,
обеспечивающее обход
препятствий, плюс
регулирование
движения вдоль выбранной
траектории в процессе
работы манипулятора
Позиционное
управление плюс
обнаружение и обход
препятствий в процессе
движения
отсутствуют
Автономное
планирование траектории плюс
регулирование
движения вдоль
выбранной траектории в
процессе работы
манипулятора
Позиционное
управление
168
препятствий на пути движения. Введен формализм описания
заданной траектории манипулятора в виде последовательности
точек пространства, в которых заданы положение и ориентация
манипулятора, и пространственной кривой, соединяющей эти
точки. Кривую, вдоль которой схват манипулятора движется из
начального положения в конечное, будем называть траекторией
схвата. Наша задача состоит в разработке математического
аппарата для выбора и описания желаемого движения
манипулятора между начальной и конечной точками траектории.
Суть различных способов планирования траекторий
манипулятора сводится к аппроксимации или интерполяции выбранной
траектории полиномами некоторого класса и к выбору
некоторой последовательности опорных точек, в которых производится
коррекция параметров движения манипулятора на пути от
начальной к конечной точке траектории. Начальная и конечная
точки траектории могут быть заданы как в присоединенных, так
и в декартовых координатах. Более часто, однако, используют
для этого декартовы координаты, поскольку в них удобнее
задавать правильное положение схвата. Кроме того, присоединенные
координаты непригодны в качестве рабочей системы координат
еще и потому, что оси сочленений большинства манипуляторов
не ортогональны, вследствие чего невозможно независимое
описание положения и ориентации схвата. Если же в начальной и
конечной точках траектории требуется знание присоединенных
координат, их значения можно получить с помощью программы
решения обратной задачи кинематики.
Как правило, траектория, соединяющая начальное и
конечное положения схвата, не единственна. Возможно, например,
перемещение манипулятора как вдоль прямой, соединяющей
начальную и конечную точки (прямолинейная траектория), так и
вдоль некоторой гладкой кривой, удовлетворяющей ряду
ограничений на положение и ориентацию схвата на начальном и
конечном участках траектории (сглаженная траектория). В этой
главе рассмотрен аппарат планирования как прямолинейных,
так и сглаженных траекторий. Сначала мы рассмотрим
наиболее простой случай планирования траекторий, удовлетворяющих
некоторым ограничениям на характер движения схвата, а затем
полученный способ обобщим с целью учета ограничений
динамики движения манипулятора.
По смыслу планировщик траекторий можно рассматривать
как «черный ящик» (рис. 4.1). На вход планировщика
траекторий подаются некоторые переменные, характеризующие
накладываемые на траекторию ограничения. Выходом является
заданная во времени последовательность промежуточных точек, в
которых определены в декартовых или присоединенных
координатах положение, ориентация, скорость и ускорение схвата и через
которые манипулятор должен пройти на пути от начальной к
169
конечной точке траектории. При планировании траекторий
обычно применяется один из двух следующих подходов. Первый
состоит в том, что исследователь задает точный набор
ограничений (например, непрерывность и гладкость) на положение^
скорость и ускорение обобщенных координат манипулятора в
некоторых (называемых узловыми) точках траектории.
Планировщик траекторий после этого выбирает из некоторого класса
функций (как правило, среди многочленов, степень которых не
Характерис^
тики
траектории
Ограничения
на траектории
\ \
Планировщик
траекторий
}
\ >
\
^
iqi), qtfA ({(I)}
{p(t),<b(t),V(t),Mt)}
Ограничения
динамики
манипулятора.
Рис. 4.1. Блок-схема планировщика траекторий.
превышает некоторое заданное п) функцию, проходящую через
узловые точки и удовлетворяющую в них заданным
ограничениям. Второй подход состоит в том, что исследователь задает
желаемую траекторию манипулятора в виде некоторой
аналитически описываемой функции, как, например, прямолинейную
траекторию в декартовых координатах. Планировщик же
производит аппроксимацию заданной траектории в присоединенных
или декартовых координатах. В первом подходе определение
ограничений и планирование траектории производятся в
присоединенных координатах. Поскольку на движение схвата
никаких ограничений не накладывается, исследователю трудно
представить реализуемую траекторию схвата, и поэтому
возникает возможность столкновения с препятствиями, информация
о наличии которых на пути схвата отсутствует. При втором
подходе ограничения задаются в декартовых координатах, в то
время как силовые приводы реализуют изменение
присоединенных координат. Поэтому для нахождения траектории,
достаточно точно аппроксимирующей заданную, с помощью
приближенных функциональных преобразований переходят от ограни-
170
чений, заданных в декартовых координатах, к ограничениям,
заданным в присоединенных координатах, и только после этого
отыскивают среди функций заданного класса траекторию,
удовлетворяющую ограничениям, выраженным в присоединенных
координатах.
Названные выше два подхода к планированию траекторий
манипулятора можно было бы использовать для эффективного
(практически в реальном времени) построения
последовательностей узловых точек траекторий манипулятора. Однако
задаваемая во времени последовательность векторов {q(0> q(0»
q(t)} в пространстве присоединенных переменных формируется
без учета ограничений динамики манипулятора, что может
приводить к возникновению больших ошибок слежения при
управлении манипулятором. Этот вопрос рассмотрен в разд. 4.4.3.
4.2. ОБЩАЯ ПОСТАНОВКА ЗАДАЧИ ПЛАНИРОВАНИЯ
ТРАЕКТОРИИ
Планирование траекторий может производиться как в
присоединенных, так и в декартовых координатах. При
планировании траектории в присоединенных координатах для полного
описания движения манипулятора задается зависимость от
времени всех присоединенных переменных, а также их первых двух
производных. Если планирование траектории ведется в
декартовых координатах, задается зависимость от времени положения,
скорости и ускорения схвата и по этой информации
определяются значения присоединеных координат, их скоростей и
ускорений. Планирование в присоединенных переменных
обладает тремя преимуществами: 1) задается поведение переменных,
непосредственно управляемых в процессе движения
манипулятора; 2) планирование траектории может осуществляться
практически в темпе реального времени; 3) траектории в
присоединенных переменных легче планировать. Недостатком является
сложность определения положения звеньев и схвата в процессе
движения. Такая процедура часто необходима для того, чтобы
избежать столкновения с препятствиями, имеющимися на пути
манипулятора.
В общем случае основной алгоритм формирования узловых
точек траектории в пространстве присоединенных переменных
весьма прост:
/ = to\
цикл: ждать следующего момента коррекции;
/ == t + At;
h(t) — заданное положение манипулятора в пространстве
присоединенных переменных в момент времени t\
Если t — tf, выйти из процедуры:
Выполнить цикл;
171
Здесь Д(/)—интервал времени между двумя
последовательными моментами коррекции параметров движения
манипулятора.
Из приведенного выше алгоритма видно, что все вычисления
производятся для определения траекторной функции h(/),
которая должна обновляться в каждой точке коррекции параметров
движения манипулятора. На планируемую траекторию
накладываются четыре ограничения. Во-первых, узловые точки
траектории должны легко вычисляться нерекуррентным способом. Во-
вторых, промежуточные положения должны определяться
однозначно. В-третьих, должна быть обеспечена непрерывность
присоединенных координат и их двух первых производных, чтобы
планируемая траектория в пространстве присоединенных
переменных была гладкой. Наконец, в-четвертых, должны быть
сведены к минимуму бесполезные движения типа «блуждания».
Перечисленным ограничениям удовлетворяют траектории,
описываемые последовательностями полиномов. Если для
описания движения некоторого, например, 1-го сочленения
используется последовательность р полиномов, они должны содержать
3(р+1) коэффициентов, выбираемых в соответствии с
начальными и конечными условиями по положению, скорости и
ускорению и условием непрерывности этих характеристик на всей
траектории. Если добавляется дополнительное ограничение,
например задается положение в некоторой промежуточной точке
траектории, то для выполнения этого условия требуется
дополнительный коэффициент. Как правило, задаются два
дополнительных условия по положению (вблизи начальной точки
траектории и вблизи конечной), обеспечивающих безопасные
направления движения на начальном и конечном участках
траектории и более высокую точность управления движением. В этом
случае изменение каждой присоединенной переменной может
быть описано одним полиномом седьмой степени или двумя
полиномами четвертой степени и одним — третьей (4-3-4) или
двумя полиномами третьей степени и одним — пятой (3-5-3),
или пятью кубическими полиномами (3-3-3-3-3). Эти способы
рассмотрены в следующих разделах.
Если планирование траектории производится в декартовых
координатах, приведенный выше алгоритм преобразуется к
следующему виду:
t = t0;
цикл: ждать следующего момента коррекции;
t = /о + А/;
Н(/) и» положение схвата манипулятора в декартовом пространстве
в момент t;
Q[W(t)] = вектор присоединенных координат, соответствующих Н(0$
Если / = tfl выйти из процедуры;
Выполнить цикл;
172
Здесь помимо вычисления траекторией функции Н (t) в
каждой точке коррекции параметров движения манипулятора
требуется определить значения присоединенных переменных,
соответствующие вычисленному положению схвата. Матричная
функция Н(/) описывает положение схвата манипулятора в
абсолютном пространстве в момент времени / и, как показано в
разд. 4.4, представляет собой матрицу преобразования
однородных координат размерностью 4X4.
В общем случае планирование траекторий в декартовых
координатах состоит из двух последовательных шагов: 1)
формирование последовательности узловых точек в декартовом
пространстве, расположенных вдоль планируемой траектории схвата;
2) выбор некоторого класса функций, описывающих
(аппроксимирующих) участки траектории между узловыми точками в
соответствии с некоторым критерием. Используемый на втором
шаге критерий выбирается, как правило, с учетом применяемых
впоследствии алгоритмов управления с тем, чтобы
гарантировать возможность движения вдоль выбранной траектории.
Существуют два основных подхода к планированию траекторий в
декартовом пространстве. В первом из них большинство
вычислений, оптимизация траекторий и последующее регулирование
движения производятся в декартовых координатах1). Узловые
точки на заданной прямолинейной траектории в декартовом
пространстве выбираются через фиксированные интервалы
времени. Вычисление значений присоединенных координат в этих
точках производится в процессе управления движением
манипулятора. Методы описания прямолинейного движения между
последовательными узловыми точками изложены в работах
[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. Требуется выбрать некоторый класс
полиномиальных функций степени не выше /г, позволяющих
производить интерполяцию траектории по заданным узловым
точкам (начальная точка, точка ухода, точка подхода, конечная
точка), обеспечивающую выполнение условия непрерывности
положения, скорости и ускорения на всем интервале времени
[to, tf\. Один из способов состоит в том, чтобы описать движе-
Таблица 4.2. Ограничения на траекторию в пространстве
присоединенных переменных
Начальная точка:
1. Положение (задано).
2. Скорость (задана; обычно нулевая).
3. Ускорение (задано; обычно нулевое).
Промежуточные точки:
4. Положение в точке ухода (задано).
5. Положение в точке ухода (изменяется непрерывно при переходе
между последовательными участками траектории).
6. Скорость (изменяется непрерывно при переходе между
последовательными участками траектории).
7. Ускорение (изменяется непрерывно при переходе между
последовательными участками траектории),
8. Положение в точке подхода (задано).
9. Положение в точке подхода (изменяется непрерывно при переходе
между последовательными участками траектории).
10. Скорость (изменяется непрерывно при переходе между
последовательными участками траектории).
11. Ускорение (изменяется непрерывно при переходе между
последовательными участками траектории).
Конечная точка:
12. Положение (задано).
13. Скорость (задана; обычно нулевая).
14. Ускорение (задано; обычно нулевое).
176
ние 1-го сочленения полиномом седьмой степени
qt (t) = a/ + Об/6 + arf + aAt4 + a3t3 + a2t2 + axt + a0, (4.3-1)
в котором неизвестные коэффициенты а\ определяются из
заданных граничных условий и условий непрерывности. Однако
использование такого полинома высокой степени обладает
целым рядом недостатков. В частности, представляет трудность
определение его экстремальных значений. Кроме того,
интерполяция полиномами высокой степени подвержена
возникновению «биений» интерполирующей функции, обусловливающих
бесполезные движения манипулятора. Альтернативный подход
состоит в том, чтобы разбить траекторию движения на несколько
участков и каждый из этих участков интерполировать
полиномом низкой степени. Существуют различные способы разбиения
траектории на участки, каждый из которых обладает
достоинствами и недостатками. Наиболее распространены следующие
способы:
4-3-4-траектории. Траектория изменения каждой
присоединенной переменной разбивается на три участка. Первый
участок, задающий движение между начальной точкой и точкой
ухода, описывается полиномом четвертой степени. Второй
(средний) участок траектории между точкой ухода и точкой
подхода описывается полиномом третьей степени. Последний
участок траектории между точкой подхода и конечной точкой
описывается полиномом четвертой степени.
3-5-3-траектории. Разбиение траектории на участки
производится так же, как для 4-3-4-траекторий, но используются
другие полиномы: первый участок описывается полиномом третьей
степени, второй участок — полиномом пятой степени, последний
участок — полиномом третьей степени.
Кубический сплайн. Используется кубический сплайн при
разбиении траектории на пять участков.
Заметим, что все предыдущие рассуждения относятся к
описанию траектории каждой присоединенной переменной, т. е. на
три или на пять участков разбивается траектория каждой
присоединенной переменной. Следовательно, число полиномов,
используемых для полного описания 4-3-4-траектории ЛЛзвенного
манипулятора, равно N X 3 = 3iV, а число подлежащих
определению коэффициентов равно 7N. При этом требуется еще
определить экстремумы для всех 3N участков траекторий. В
следующем разделе мы рассмотрим схемы планирования 4-3-4-
траекторий и траекторий, задаваемых кубическими сплайнами.
4.3.1. Расчет 4-3-4-траектории
В связи с тем, что для каждого участка траектории
требуется определить N траекторий присоединенных переменных,
удобно воспользоваться нормированным временем t^ [О, 1].
177
Это позволяет достичь единообразия уравнений, описывающих
изменение каждой из присоединенных переменных на каждом
участке траектории. При этом нормированное время будет
изменяться от / = 0 (начальный момент для каждого из участков
траектории) до t = 1 (конечный момент для каждого из
участков траектории). Введем следующие обозначения:
/ — нормированное время, / ^ [О, 1]; т—реальное время,
измеряемое в секундах; т< — момент (в реальном времени)
окончания t-ro участка траектории; ti = %t — t*-i — интервал
реального времени, затрачиваемый на прохождение /-го участка
траектории;
t= J"!^1 ; te[TWlTj; fe=[0,l].
Траектория движения /-й присоединенной переменной задается
в виде последовательности полиномов ht(t), На каждом участке
траектории для каждой присоединенной переменной
используемые полиномы, выраженные в нормированном времени, имеют
вид
h\ (0 — а\4* + а\?^ + а\42 + <*i\t + #ю (1*й участок), (4.3-2)
h2 (/) = а2гР + #22^2 + a2Xt + а2о (2-й участок), (4.3-3)
hn(f) — anAt* + a^t3 + an2t2 + anlt + an0 (последний участок).
(4.3-4)
Индекс у переменной, стоящей в левой части каждого из
равенств, обозначает номер участка траектории; п-й участок—•
последний. Индексы в обозначении неизвестных Коэффициентов
ац имеют следующий смысл: i-й коэффициент для /-го участка
траектории рассматриваемой присоединенной переменной.
Граничные условия, которым должна удовлетворять выбранная
система полиномов, следующие:
1. Начальное положение = 80 = 8(/0).
2. Значение начальной скорости = ио (обычно нулевое).
3. Значение начального ускорения = а0 (обычно нулевое).
4. Положение в точке ухода = 8i = 6(/i).
5. Непрерывность по положению в момент t\ (т. е. 8(/f) =
-в an). _ ;
6. Непрерывность по скорости в момент tx (т. е. v(t\ ) = v(tt)j.
7. Непрерывность по ускорению в момент t\ (т. е. a(/r)=«(/i"))»
8. Положение в точке = 62 == 8(^2).
9. Непрерывность по положению в момент t2 (т. е. в(*2") =
= е(/П).
30. Непрерывность по скорости в момент /2 _(т, е. v{t2j = v (/2 ))♦
178
П. Непрерывность по ускорению в момент t2 (т. е. а (/2 ) =
~a(tt)).
12. Конечное положение = 8f — 8 (tf),
13. Значение конечной скорости = Uf (обычно нулевое).
J4. Значение конечного ускорения = af (обычно нулевое).
Граничные условия для 4-3-4-траекторий показаны на
рис. 4.3. Первую и вторую производные рассматриваемых поли-
1 «to
| «to
ъ
1
1
1
1—
*§ «to
1
*Ы) -
д(то) -
Цто) ■
i
1
L_
•Jl
= v0
-во
Щ) ■■
в(т~) .
ко ■
«К) ■
у 1
I
I
I
I
1
«*<т|)1
-»(rj) }
L_
- *(4)
- 3(4)
■-zm—
\
I
I
I
r
t
I
I
!
!
1
r
1
f
_1
--*(»•,,)-»/
*to = Vf
«to = af
1 m
70
71
реальное бремя
Рис. 4.3. Граничные условия для 4-3-4-траектории в пространстве
присоединенных переменных.
номов относительно реального времени можно представить в
следующем виде:
vt(t)
dhj (t) ^_ dhj (t) dt
" d%
1
dx
dt
x. — x
/-1
dhj(t) ^_
dt
ax
1 dhi u) _ 1 / ,.
(тг-т._,)2 d<2
i=l, 2, re.
d4n{t)_ 1 dVnjj) _ _l_
<^
(4.3-5)
Л* (0.
(4.3-6)
Для описания первого участка траектории используется
полином четвертой степени
h{ (/) = a14/4 + al3/3 + a12/2 + ant + a10, / г [0, 1]. (4.3-7)
179
С учетом равенств (4.3-5) и (4.3-6) скорость и ускорение на
этом участке имеют вид
„ /л h (0 Aautb + Зак^2 + 2al2t + а\\ (л 0 Q\
V{ (t) — —т— = j , (4.,i-«;
л /л ^ (О 12fli^2 + 6a13; + 2fl12 /у| о о\
а\ У* = —1Г~ — 3 ' (4.<3-У>
ч м
I. Для / = 0 (начальная точка данного участка
траектории). Из граничных условий в этой точке следует
a10 = h{ (0) = 90 (е0~ задано), (4.3-10)
hi (Q) г 4<W3 + 3<W2 + 2a12* + дц 1 ям (лъ\л\
Oo—7iT = L Й А-о""*"' (4'3~U)
Отсюда имеем ап = y0/i и
an =
Й! (0) = Г 12au^ + bant + 2a12 I _ 2a12 (43.12)
что позволяет получить a12 = —-.
Подставляя найденные значения коэффициентов в равенство
(4.3-7), получим
hx (t) = a14/4 + a13/3 + [-^] /2 + faA) / + 60, * e= [0, 1]. (4.3-13)
2. Для /=1 (конечная точка данного участка траектории J,
В этой точке мы ослабим накладываемые граничные условия,
сняв требование точного прохождения траектории через
заданное положение, но оставив условия непрерывности по скорости
и ускорению. Эти условия означают, что скорость и ускорение
в конце первого участка траектории должны совпадать со
скоростью и ускорением в начале второго участка. В конце
первого участка скорость и ускорение соответственно равны
Щ 0) = 0i = -7— = 7 (4.3-14)
ai (1) = ах ~ —2— = -г— ■ (4.3-15)
h м
Для описания второго участка траектории используется
полином третьей степени
h2 (t) = a23/3 + a22t2 + a2lt + a20, t e= [0, 1]. (4.3-16)
180
L Для / = 0 (точка ухода). Пользуясь равенствами (4.3-5)
и (4.3-6) в этой точке, имеем
А2(0) = а20 = в2(0), (4.3-17)
_ h2 (0) _ Г За23*2 + 2а22^ + а2\ I _ flai f4 3-18>
1 ^2 L *2 Jf =-0 *2
Отсюда следует а21 = о^,
r6<W + 2a„1 = 2*, (43.19)
L *2 J*«.0 *2
/га (Q) _ Г 6аа3* + 2а22 1 _ 2а22
и, следовательно, а22 = —£--
Поскольку скорость и ускорение в этой точке должны совпадать
соответственно со скоростью и ускорением в конечной точке
предыдущего участка траектории, то должны выполняться
равенства
МО _ МО и МО) = МО (4 3 20)
которые соответственно приводят к следующим условиям:
Г За23/2 + 2а22* + а2\ "I Г 4auf3 + Зя^2 + 2ai2^ + ап
tt
П _ Г 4амг3 + За1Эг + 2а12; + ап Л (4 3-2П
или
— а01 4atA 3aio ап£7 Uri,
6a23^ + 2a22 "| Г \2aut2 + 6ai3^ + 2a12
in
1 =П2а^2 + 6а^ + 2а12-| ^ (4 3^
или
— 2a99 12au 6aio aJ\
2 + —•£- + —£- + -*± = 0. (4.3-24)
*2 ' t\ l t2
2. Для ^= 1 (точка подхода). В этой точке скорость и
ускорение должны совпадать со скоростью и ускорением в
начальной точке следующего участка траектории. Для
рассматриваемой точки имеем
Л2 (1) — а23 + а22 + a21 + a20, (4.3-25)
/1х fa(l) _ Г 3fl23f2 + 2а22/+ а21 I __ За23 + 2а22 + flai (4 3-26)
t2 L ^2 Jtf«=l ^2
„ /n fe(l) _ Г 6а2з^ + 2а22 "| 6а23 + 2а22 (А ,, 07ч
^2(U=—Г" = Р = J2 ' V*.0-*n
h L f2 J/-i r2
181
Для описания последнего участка траектории используется
полином четвертой степени
hn(t) = anAt4 + an3t3 + an2t2 + anlt + an0, fe[0flj. (4.3-28)
Если в этом равенстве заменить t на t = t—1 и рассматривать
зависимость от новой переменной ?, тем самым мы произведем
сдвиг по нормированному времени: если переменная t
изменяется на интервале [0, 1], то переменная ? изменяется на
интервале [—1, 0]. Равенство (4.3-28) при этом примет вид
К 0) = aJA + a J3 + a J2 + a J + ап0, t е [~ 1, 0]. (4.3-29)
Пользуясь равенствами (4.3-5) и (4.3-6), найдем скорость и
ускорение на последнем участке
(f) = ^" (*) = 4ап^3 + Zanzi2 + 2лп2* + am /^ g_ол\
in tti
gn (t) = ЦВ. = ifnj + to»,? + 2a„2 _ (4331)
1. Для ? = 0 (конечная точка рассматриваемого участка
траектории). В соответствии с граничными условиями в этой
точке имеем
Лге(0) = а„0 = 6/, (4.3-32)
v Al12I = £«L. (4.3-33)
««1 = *>ftn-
Отсюда следует
Далее,
и, следовательно,
af — —^— = —2- (4,3-34)
_ afln
%n2 ' о
2. Для t = —1 (начальная точка последнего участка
траектории). В соответствии с граничными условиями в точке под-
182
aftl
хода получаем
fin (-1) _ Г 4an4F3 + 3an3t2 + 2an2i + anl 1
-4fl„4 + 3a„3-flf/rt + Vn
f»
(4.3-36)
12aft4-6a„3 + flf4
(4.3-37)
Условия непрерывности скорости и ускорения в точке
подхода записываются следующим образом:
Ля(1) . hn(~\)
Ml) _ hn(-\)
и
L
ti
(4.3-38)
или
/ft /2 *2 *2
-12art4 + 6a„3-af/„ _( 6a
r
1 n
2a2
7i
+ ^ + ^T = 0. (4.3-40)
Приращение присоединенной переменной на каждом из
участков траектории можно найти по следующим формулам:
б, = в, - 0О = А, (1) - Л, (0) = а,4 + а13 + -ft- + о^ь (4-3-41)
б2 = 62 - 9, = h2 (1) - h2 (0) = а23 + а22 + а21) (4.3-42)
К = в, — 62 = Л„ (0) -*- hn (— 1) ===== — апА + ап3 1~ + vfU-
(4.3-43)
Все неизвестные коэффициенты в полиномах, описывающих
изменение присоединенной переменной, могут быть определены
путем совместного решения уравнений (4.3-41), (4.3-22),
(4.3-24), (4.3-42), (4.3-39) и (4.3-43). Представляя эту систему
уравнений в матричной форме, получим
У = Сх,
(4.3-44)
18а
где
C =
aftn + vf, af, 6„ + '
ad
f'n
- Vf*n\
1
за,
6/rf
0
0
0
0
1
4A,
12 A?
0
0
0
0
0
-1A2
0
1
1A2
0
0
0
0
-2/tl
1
m
2/tl
0
0
0
0
1
Щ
6/4
0
0
0
0
0
-3A„
6/£
1
0
0
0
0
4A„
-12/£
-1
: (#13> a14» #21» ^22> a23> ^7i3> anV •
(4.3-45)
, (4.3-36)
(4.3-47)
Таким образом, задача планирования траектории (для каждой
присоединенной переменной) сводится к решению векторного
уравнения (4.3-44):
Уь
'• La cijXi
/~1
или
х=С
(4.3-48)
(4.3-49)
Структура матрицы С позволяет легко найти неизвестные
коэффициенты. Кроме того, матрица, обратная С, всегда существует,
если только интервалы U (при /=1, 2, п) положительны.
Решая уравнение (4.3-49), получаем все неизвестные
коэффициенты полиномов, описывающих траекторию /-й присоединенной
координаты.
Поскольку для полинома, описывающего последний участок
траектории, нами была произведена замена, сдвигающая
интервал изменения нормированного времени, то после определения
коэффициентов аы из уравнения (4.3-49) необходимо произвести
обратную замену, состоящую в подстановке i — t—1, в равен*
стве (4.3-29). В результате получим
К (0 = «W4 + (—4а«4 + а«з) t3 + (6а„4 — За„3 + ап2) t2 +
+ (—4а/г4 + Зап3 — 2ап2 + ап[) t + (ап4 — а„3 + ап2 — ад1 + ая0),
*€=[(), 1]. (4.3-50)
Окончательный вид полиномов для 4-3-4-траектории,
получаемый из решения уравнения (4.3-49), представлен в табл. 4.3.
184
Таблица 4.3. Вид полиномов для 4-3-4-траектории
Первый участок траектории:
hx (t) _ [б, - v0tl - -^у- - о J /4 + at" + l^-\ t2 + Ы\) t + во,
Ai <l> 46, Q , a
й, (1) 126t 12р0 - бег
fll=--^~^-^-5a
/2 f2 * /2
м м м *i
Второй участок траектории:
Ла (0 - |_62 - Ms - -^ J t* + [-^-j t2 + iPit%) * + Oi.
/k(0 362 9r, fll*2
„ /J2(l) . 662 60, .
a2 — —2 -~2 2a,f,.
r2 r2 f2
Последний участок траектории:
[a2tl aftl 1
96„ - 4^„ 12- - Bvftn + -^-J /4 +
+ [-86n + бо//„ - -^ + 3u2/„ J /3 + [-^J *2 + Wn) t + 62
где a = //g, и
26**,
g=4»-+4zL+2+^.
Таблица 4.4. Вид полиномов для 3-5-3-траектории
Первый участок траектории:
*2
МО = [б. - t>ofi - -^y-J '3 + [^р] '* + ferfi) * + %
1 ~~ f, /, ° 2 '
a ^ hi (1) _ _6б^ _ 6vo_ _ 2a
l\ l\ l\
185
Продолжение табл. 4.4
Второй участок траектории:
[аЛ\ а4\Л
бб2 - зм2 - ^ih - -^- + -y-\ t5 +
+ [-1562 + 8о,/8 + 7v2t2 + —li - a24J *4 +
Г ЪаЛ\ а&Л X аЛ\Л
+ [ Юб2 - во,/» - 4v2t2 - -ii + -|2.J /3 + [-^-J '2 +
+ (vit2)t + Bu
h2(\) 36„ affn
Последний участок траектории:
/2
Аналогичные вычисления применяются при расчете 3-5-3-траек-
торий. В качестве упражнения читателю предлагается
самостоятельно построить такую траекторию. Окончательный ее вид
представлен в табл. 4.4.
4.3.2. Описание траекторий кубическими сплайнами
Интерполяция заданной функции кубическими полиномами,
обеспечивающая непрерывность первых двух производных в
узловых точках, называется кубическим сплайном. Такой способ
интерполяции обеспечивает достаточную точность
аппроксимации и гладкость аппроксимирующей функции. В общем случае
сплайн представляет собой в каждой точке полином степени k
с непрерывными k — 1 производными в узловых точках. В
случае кубических сплайнов непрерывность первой производной
обеспечивает непрерывность по скорости, а непрерывность
второй производной означает непрерывность по ускорению.
Кубические сплайны обладают целым рядом преимуществ.
Во-первых, это полиномы минимальной степени, обеспечивающей
непрерывность по скорости и ускорению. Во-вторых, низкая
степень используемых полиномов сокращает вычислительные
затраты и снижает возможность возникновения вычислительной
неустойчивости.
185
При использовании кубических сплайнов каждый из пяти
участков траектории описывается полиномом вида
Л/ (0 = Щ4* + aI2t2 + ant + aj0
/=1, 2, 3, 4, п (4.3-51)
при t/-i<t<T/ и <^[0, 1]. а/г- обозначает i-й неизвестный
коэффициент, соответствующий /-му участку траектории; п-й
участок траектории —последний.
Применение кубических сплайнов подразумевает наличие
пяти участков траектории и шести узловых точек. Однако в
наших предыдущих рассуждениях мы пользовались только
четырьмя узловыми точками: начальной, точкой ухода, точкой
э
Время
Рис. 4.4. Граничные условия для траектории, описываемой кубическим
сплайном.
подхода и конечной. Таким образом, требуется задать еще две
узловые точки с тем, чтобы обеспечить достаточное число
граничных условий для определения неизвестных коэффициентов
Щи Эти дополнительные узловые точки можно выбрать на
отрезке траектории между точкой ухода и точкой подхода. Нет
необходимости точно знать значения присоединенной
координаты в этих точках, достаточно задать моменты времени и
потребовать непрерывности скорости и ускорения. Таким образом,
выбранная система интерполяционных многочленов должна
удовлетворять следующим граничным условиям: 1)
присоединенная координата должна принимать заданные значения в
начальной точке, точке ухода, точке подхода и конечной точке;
2) скорость и ускорение должны быть непрерывны во всех
узловых точках. Граничные условия для траектории, описываемой
кубическим сплайном, представлены на рис. 4.4. Значения тех
187
переменных, которые на рисунке подчеркнуты, известны до
начала расчета планируемой траектории.
Первая и вторая производные используемых полиномов по
отношению к реальному времени соответственно равны
hf (t) За,з*2 + 2aj2t + а/,
vt (t) =-
tf tf
/=1, 2, 3, 4, /z, (4.3-52)
hj (t) 6aIst + 2a/2
M0=—— = з •
/=1, 2, 3, 4, n. (4.3-53)
где // — интервал реального времени, затрачиваемый на
прохождение /-го участка траектории. Заданные положение,
скорость и ускорение в начальной и конечной точках траектории,
а также положения в точках ухода и подхода полностью
определяют коэффициенты полиномов h\{t) и hn(t), описывающих
начальный и конечный участки траектории. При известных h\(t)
и hn(t) коэффициенты полиномов /г2(0> h3{t), h4(t)
определяются из условий непрерывности в узловых точках.
Первый участок траектории описывается полиномом
hx (t) = al3fi + a[2t2 + ant + a10. (4.3-54)
При t = 0 в соответствии с начальными условиями имеем
A1(0) = aIO = B0 (80 задано), (4.3-55)
v A hi (0) = ап
Отсюда получаем an = vot\. Далее,
(4.3-56)
^ДМЧ^^ (0_57)
а0 t\
и, следовательно, ai2 = —tjt
При t = I в соответствии с условием, накладываемым на
положение в точке ухода, имеем
Ai(l) = ^i3 + ^L + ^, + 90 = el. (4.3-58)
Отсюда легко найти
013 = 6i — vQii |р, (4.3-59)
188
где 6i=0; — 6/_If Таким образом, первый участок траектории
полностью определен
*1 (0 - [б! - »Л - ^-] '3 + [^тг] '2 + (*А) t + e0. (4.3-60)
В соответствии с выражением (4.3-60) скорость и ускорение в
конечной точке первого участка траектории равны
— ^i = Tt = — -2v*~~* (4.3-61)
МО Л 65д - 2aQt2 - 6yt 6бх бо0 _ ,. . em
—2— = а\ = 3 = "л 1 2ао- (4.3-62)
Ч ч Ч Ч
Эти скорость и ускорение должны совпадать соответственно
со скоростью и ускорением в начальной точке следующего
участка траектории.
Последний участок траектории описывается полиномом
К (0 — апЪР + an2t2 + anXt + an0. (4.3-63)
Пользуясь граничными условиями для /==0 и 1 = 1, получаем
hn (0) = ап0 = Вп (дп — задан), (4.3-64)
К 0) = я„з + ап2 + апХ + в„ = 0f, (4.3-65)
— =vf = - , (4.3-66)
Ml) А п ба^з + 2ап2 ,Л Q fi7\
—- af = -2 . (4.d-b7)
ln ln
Решая эти уравнения относительно неизвестных
коэффициентов ал3, ап2, апЬ получаем
К (0 — [в* - t^„ + ^] /3 + (-36„ + Zvftn - aftl) t2 +
+ [зб„ - 2vftn + ^-] t + 9Я, (4.3-68)
где 6„==8f — вя.
Второй участок траектории описывается полиномом
Л2 (0 = <W3 + <W2 + a2lt + a20. (4.3-69)
Из условий непрерывности по положению, скорости и
ускорению в точке ухода находим
h2 (0) = а20 — 0, (0, — известно), (4.3-70)
щ = ЬЖ=<^=Щл (4.3-71)
*2 -*8 »1 N
189
Отсюда следует а2{ = vxt2y
ai=M0) = 2?==Ao1 (4_3.72)
t2 t2 i{
axt\
и, следовательно, a22 =—к~-
С учетом найденных коэффициентов можно записать
h2 (/) = a23/3 + [^] *2 + (о,**) * + 8„ (4.3-73)
36i 0 a0^i 661 6у0 о
где vx= — 2vQ —, fli = —5 : 2ao-
* 1 Z it f 1
Остается найти коэффициент а2з. С помощью равенства (4.3-73)
найдем скорость и ускорение при t= 1, которые должны
совпадать соответственно со скоростью и ускорением в начальной
точке следующего участка траектории:
о
л2 (1) = е2 = й23 + ^- + о а + е„ (4.3-74)
/i9(l) 3a23 + axt\ -f u^2 За^
= У2 = _- р L^ = yi + a^2 + _^i, (4.3-75)
/2
*2 \Ч _ ба23 -г «i*2
/L(l) 6а2з + а1*2 6а
= ^+-f- (4.3-76)
t2 t2 t2
Заметим, что каждая из величин 62, V2 и а2 зависит от
значения а2з-
Третий участок траектории описывается полиномом
h (t) = Озз*3 + aZ2t2 + a3lt + a30. (4.3-77)
В точке / = 0в соответствии с условиями непрерывности по
положению скорости и ускорению имеем
,2
К (0) = а30 = 92 = а23 + -^г + »Ж + 01, (4.3-78)
- А Лз (0)
J* /3
Таким образом, a3i = t>2/3.
Далее,
п А Лз (0)
Г3
Отсюда получим а32 = -^—.
190
a3i
/з
2^32
Ml)
*2
А»(1)
'2
(4.3-79)
(4.3-80)
Подставляя найденные значения коэффициентов в выражение
(4.3-77), получаем
h (О = Озз/3 + [пт] t2 + v2y + 92. (4.3-81)
Найдем в точке t=\ значения скорости и ускорения, которые
должны совпадать с соовтетствующими характеристиками в
начальной точке следующего участка:
К (О = 83 = 62 + ь4ъ + -^Г + азз, (4.3-82)
-ЧГ- = и*= L — = v2 + a2t, + -^-, (4.3-83)
*3 *3 r3
1Г^а % 23=а2+-^. (4.3-84)
гз гз гз
Заметим, что каждая из величин 8з, из и а3 зависит от а3з и
неявно зависит от а2г-
Четвертый участок траектории описывается полиномом
h (t) = ai3t3 + aA2t2 + aAxt + a40. (4.3-85)
Используя условия, накладываемые на положение в точке
подхода, а также условия непрерывности в этой точке скорости и
ускорения, получаем
К (0) = а40 = 63 = 92 + v2t, + -^ + ^зз. (4,3-86)
что дает a4I = v3tA.
Далее,
йз = -^- = -^=-Ц1>-. (4.3-88,
*4 *4 *2
Отсюда получаем #42 — —2~~-
Подставляя найденные выражения для коэффициентов в
равенство (4.3-85), получаем
Л4 (0 = я43/3 + [-^ ] '2 + (*Л) * + 83, (4.3-89)
где 9з, Уз и аъ определяются соответственно равенствами
(4.3-82), (4.3-83) и (4.3-84), а коэффициенты а2з, азз и а4з по-
прежнему неизвестны. Их нужно найти, чтобы полностью
определить полиномы, описывающие три средних участка
траектории. Для этого воспользуемся условиями в граничной точке
191
между четвертым и последним участками траектории:
й4 (1) « а43 + ^ + vziA + 93 = 64, (4.3-90)
-^-^ + ^4+o8-o4-1f-2of+--il. (4.3-91)
h, (1) 6a ,ч — 66„ 6af
_±il = _^ + a3 = a4 = _yL + _^_2af. (4.3-92)
Из этих уравнений можно найти значения неизвестных
коэффициентов агз, а3з и а4з- В результате все полиномы будут
полностью определены. Ниже представлен окончательный вид этих
полиномов:
ft, (/) = [б[ - »о*, - -^] t3 + [^f] е + Кч)' + во. (4.3-
93)
0,-^—2^-^.! а.^^-^-гао, (4.3-94)
ч 2 ч ч
Л2 (0 = а2/ + \^f\ t2 + (t»A) / + в„ (4.3-95)
а,*2
в2 = а23 + -^- + о,/2 + вь (4.3-96)
«b-Oi+aA + 'V1: a2 = a1 + -^) (4.3-97)
Лз (0 = азз/3 + [^-] t2 + о^ + е2, (4.3-98)
а<Д
93 — в2 + v4z + -^- + а3з. (4.3-99)
v3 = v2 + a2(3 + ^-, a3 = a2 + ^-, (4.3-100)
h4 (/) = a4/ + [^-] /2 + (03^4) * + 63, (4.3-101)
hn (t) = [в„ - vftn + ^2-j /3 + (-3S„ + 3off« - aitl) e + .,
+ [зв„ - 2vftn + ^-] / + в4> (4.3-102)
v
4 ■
36„ _ . a^ _ -в6„ tef
JL_20f + -LiL; a4 = ^J. + ^-_2af> (4.3-103)
tf 2 ft
Л X\ Я X2 A #3
вв-«тЬ flee-S-g-. a43 = ^, (4.8-104;
192
причем
Х{ = ky (u-t2) + k2 (t\ - d) - йз [(" -U)d + t\{tA - /2)], (4.3-105)
■x2= —ki(u + h) + k2(c- 4) + /23[(u - U)с + t\(u - t2)l (4.3-106)
jc3 = kx(u- tA) + k2(d-c) + кг [(/4 - /2) с -~ d (a - f2)L (4.3-107)
D=u{u-t2)(u- /4), (4.3-108)
w = /2 + ^3 + ^ 2 (4.3-109)
ft, = G4 - Gj - »lM - a{ -~t (4.3-110)
t>J-P4-o,-ala-(a4-a,)«/2i (43_IU)
6
(4.3-112)
с Ы= 3«2 — Зи/2 + & (4.3-113)
d = %t\ + 3t3t4 + tl (4.3-114)
Таким образом, показано, что, если заданы положения в
начальной и конечной точках, точках ухода и подхода, а также
время движения по каждому из участков траектории, тем
самым полностью определен кубический сплайн, задающий закон
изменения присоединенной координаты. Здесь мы рассмотрели
построение кубического сплайна для траектории с пятью
узловыми точками. Более общий подход к построению кубических
сплайнов для траекторий с п узловыми точками рассмотрен в
разд. 4.4.3.
4.4. ПЛАНИРОВАНИЕ ТРАЕКТОРИЙ В ДЕКАРТОВЫХ
КООРДИНАТАХ
В предыдущем разделе рассмотрены способы построения
траекторий в пространстве присоединенных переменных,
основанные на использовании интерполяционных многочленов
низкого порядка. Хотя присоединенные координаты полностью
определяют положение и ориентацию схвата манипулятора в
декартовом пространстве, они не годятся для описания задачи,
выполняемой манипулятором. Это обусловлено тем, что
большинство присоединенных координат манипулятора
неортогональны и не позволяют независимо изменять положение и
ориентацию схвата. В робототехнических системах достаточно
высокого уровня для управления манипулятором используются
специальные языки программирования. В таких системах
задание манипулятору обычно представляется в виде
последовательности узловых точек в декартовом пространстве, через которые
должен пройти схват или рабочий инструмент. В связи с этим
необходим математический аппарат, позволяющий описывать
7 к. Фу и др. 193
как узловые точки, через которые должен пройти схват, так и
пространственную кривую (траекторию), соединяющую эти
точки.
Пол [228] предложил способ планирования траекторий схва-
та в декартовом пространстве, состоящих из
последовательности прямолинейных участков. Между прямолинейными
участками траектории движение задается с помощью квадратической
интерполяции полученных в результате решения обратной
задачи кинематики точек в пространстве присоединенных
переменных. Предложенный Полом метод был расширен и
усовершенствован Тэйлором [282] за счет использования аппарата
кватернионов для описания положения схвата манипулятора.
Свойства кватернионов позволили упростить в вычислительном
плане описание вращательного движения схвата между
узловыми точками. Описание же поступательного движения никаких
преимуществ по сравнению со способом Пола не имеет. Все
названные подходы к планированию прямолинейных траекторий
в декартовом пространстве мы рассмотрим в следующих двух
разделах.
4.4.1. Метод, использующий матрицу однородного
преобразования
В программируемых робототехнических системах движение
манипулятора может задаваться в виде последовательности
узловых точек в декартовом пространстве. Каждая из этих
точек описывается матрицей однородного преобразования,
устанавливающей связь между системой координат схвата и
абсолютной системой координат. Значения присоединенных
координат, соответствующих заданным в декартовых координатах
положениям схвата в узловых точках, вычисляются с помощью
программы решения обратной задачи кинематики. Далее, для
того чтобы осуществлять управление манипулятором,
траектория между двумя последовательными узловыми точками в
пространстве присоединенных переменных интерполируется
квадратным полиномом. В результате управление манипулятором
осуществляется таким образом, чтобы схват двигался по
прямой линии, соединяющей эти точки. Преимуществом такого
способа управления является возможность манипулирования
движущимися объектами. Хотя положение схвата манипулятора
в узловых точках полностью описывается матрицей
однородного преобразования, способ движения схвата из одной точки
в другую не определен. Пол [228] предложил использовать для
осуществления перехода из одной узловой точки в другую
прямолинейное перемещение и два поворота. Первый поворот
осуществляется вокруг единичного вектора к с тем, чтобы
обеспечить необходимый угол подхода, а второй — вокруг оси
инструмента для обеспечения его необходимой ориентации.
194
В общем случае положение, которое должен занять
манипулятор, определяется следующим основным уравнением:
°Х 6Т — °Г /Абазар (А А \\
*б * инстр *-*база\*/ * объект» у*.^ ij
где °Т6 — матрица однородного преобразования, имеющая
размерность 4 X 4 и описывающая положение и ориентацию схвата
в базовой системе координат; 6ТИНстр — матрица однородного
преобразования, имеющая размерность 4X4 и описывающая
положение и ориентацию инструмента относительно системы
координат схвата. Точнее говоря, эта матрица описывает
положение рабочей части инструмента, движением которой нужно
управлять; °Сбаза(0— матрица однородного преобразования,
имеющая размерность 4X4 и являющаяся функцией времени.
Она описывает положение рабочей системы координат объекта
манипулирования относительно базовой системы координат;
6азаРобъект— матрица однородного преобразования, имеющая
размерность 4 X 4 и описывающая заданные положение и
ориентацию объекта манипулирования в момент захвата
относительно рабочей системы координат объекта. Если матрица 6ТИНСтр
уже включена в матрицу °Т6, в уравнении (4.4-1) матрица 6ТИнстр
является единичной и ее можно опустить. Если рабочая система
координат объекта совпадает с базовой системой координат
манипулятора, то °Сбаза(0 представляет собой единичную матрицу
в любой момент времени.
Можно заметить, что левая часть уравнения (4.4-1)
описывает положение и ориентацию схвата манипулятора в момент
захвата, в то время как правая часть этого уравнения
описывает положение и ориентацию подлежащей захвату части
объекта манипулирования. Таким образом, мы можем определить
матрицу °Т6, определяющую конфигурацию манипулятора,
необходимую для правильного осуществления захвата объекта
в виде
1б = ^база U/ ■ объект L * инстр! • (4.4-2)
Если было бы можно достаточно быстро вычислять элементы
матрицы °Т6 и затем определять присоединенные переменные,
этого было бы достаточно для осуществления управления
манипулятором.
С использованием равенства (4.4-1) последовательность
заданных положений, определяющую выполняемую
манипулятором задачу, можно представить в следующем виде:
*б \ Тинст-рЛ = I C6asa(tf)Ji \ Робъект/Ь
*6 \ THHCTpj2 == I Сбаза (ОЬ V Робъект/2> ,. . ЛЧ
Тб \ ТИнстр/# — L Сбаза W*N ^ ^ объект) N*
7*
195
Опуская для простоты несущественные индексы, имеем
Т6инстрТ2 = С2(/)Р2,
Т6ЙНСТ% = С„(/)Р„.
(4.4-4)
По заданным положениям Ci(t)Pi можно определить
расстояния между последовательными точками и, если даны
линейные и угловые скорости, можно вычислить интервал
времени Т/, необходимый для перехода из i-ro в (i + l)«e
положение. Описание движения из 1-го положения в (i + l)-e удобно
производить, задав положение в 1-й точке, относительно
заданного положения в (i-{-l)-& точке. Обозначим как Рг/ матрицу,
определяющую заданное положение схвата в i-й точке
относительно системы координат, задающей положение схвата в /-й
точке. Если требуется перевести схват манипулятора из
положения 1 в положение 2, то, записывая уравнение для точки 1
относительно системы координат этой точки, имеем
Записывая уравнение для точки 1 в системе координат 2-й
точки, получаем
Т6инстрТ2 = С2(0Р12. (4.4-6)
Из этих уравнений находим матрицу Pi2
р12 = СГ1 (О С, (/) Рп {нтрТхУх ИНСТРТ2. (4.4-7)
С помощью выражения (4.4-7) можно найти Pi2, зная Рц.
Таким образом, движение из i-ro положения в (i-fl)-e можно
рассматривать как переход из состояния
Т6 = Сг+1(0Рм+.(инстрТ<+1)"' (4.4-8)
в состояние
Te-Cl+l(OP|*i.e+i(liewTi+irl. (4.4-9)
Пол [228] предложил простой способ перевода схвата
манипулятора из одного заданного положения в другое. Движение
схвата осуществлялось как композиция поступательного
перемещения, поворота вокруг заданной оси и еще одного поворота
вокруг оси инструмента. Первым поворотом обеспечивалось
заданное направление вектора подхода. Вторым поворотом
достигалась требуемая ориентация схвата.
196
Движение из i-ro положения в (i+ 1)-е можно задать при
помощи «ведущего» преобразования D(k)t являющегося
функцией нормированного времени:
Т6 (Л) = Сг+1 (Я) Pit 1 + 1D (А) (Т^,)"', (4.4-10)
где Х = —, Ае[0, 1], /— реальное время с момента начала
движения вдоль данного участка траектории и Т — полное
время движения вдоль данного участка траектории. В i-й точке
/ = 0, Х = 0, D(0) — единичная матрица размерностью 4X4 и
P/ + m+i-Pm + iD(1).
Отсюда получаем
-I,
D(l) = (Pt.,+ir(P*+,.t+i).
(4.4-11)
(4.4-12)
Представляя положение схвата в точках i и i + 1 в виде
соответствующих матриц однородных преобразований, имеем
't.i+i
-[
р Ай-\Пв
пл
0
пв
0
вл ал рл "J
0 0 1 J
SB аВ Рв
0 0 1.
~
|_
1"
'<
К
К
_о
Гп*
к
п*
Lo
6д;
S,A
<
0
5В
6*
У
sB
Z
0
«*л
<
ч?
0
«,8
af
«гв
0
рП
рЛ
ргл
1 J
рв~\
РВу\
Pi
1
(4.4-13)
(4.4-14)
Пользуясь равенством (2.2-27) для обращения матрицы Р/, i+i
и произведя умножение на Рж»<+ь получаем
D(l)-
р пА • пл пл • sB пл • ав пл - (рв — рА)
&а пв &АШ sb &а * ав sA- (рд — рл)
ал • пв ал • ss ал • ав ал • (рд — рд)
L 0 0 0 1
(4.4-15)
где точка означает скалярное произведение векторов.
Если ведущая функция содержит одно поступательное и два
вращательных движения, то и перемещение, и повороты будут
прямо пропорциональны X. Если X изменяется пропорционально
времени, то результирующее движение, описываемое функцией
Э(Я), представляет собой поступательное движение с постоян-
197
ной линейной скоростью и два вращения с постоянными
угловыми скоростями. Поступательное движение описывается
матрицей однородного преобразования L(X), задающей движение
вдоль прямой, соединяющей точки Р, и P,+i. Первое
вращательное движение задается матрицей R/i(A), описывающей
разворот вектора подхода из положения Р; в положение Pt+i.
Второе вращательное движение описывается матрицей Rs(A),
задающей изменение ориентации схвата от положения Р, к
положению Р/-н за счет вращения вокруг оси инструмента. В
результате ведущая функция может быть представлена в виде
D(X) = L(X)RA(X)RB(X),
где
ИЛ) =
-1
о
о
L0
0 О
1 О
О 1
о о
Хх
Ху
Xz
1 J
Нд(Я) =
S2$V (XQ) + С (Щ - StyCtyV (XQ)
- 5фСф V (Щ C2$V (Щ + С(Щ
- StyS (XQ)
- Сг|)5 (XQ)
О
О
CtyS (XQ)
s^s (яе)
о
RB (X) =
где
С(Яф)
5(Я<р)
О
. о
- S (Аф)
С(Лф)
О
О
о
о
о
1 J
V (XQ) = 1 - cos (Щ,
С (ХВ) = cos (XQ), S (XQ) = sin (Щ,
С (Яф) = cos (Лф), S(A4>) = sin(tap)
(4.4-16)
(4.4-17)
О-
О
О
1
(4.4-18)
(4.4-19)
(4.4-20)
и X е [0, 1 ]. Матрица поворота Ra (X) описывает вращение на
угол 8 вокруг вектора ориентации, соответствующего
положению Pi, который повернут на угол ф вокруг вектора подхода.
Матрица Rs(A) описывает вращение на угол ф вокруг вектора
подхода, соответствующего положению P,+i.
Перемножая матрицы (4.4-17) — (4.4-19), получаем
D(X)
dn
0
do
0
da dp
0
П
(4.4-21)
198
где
do =
- s (Аф) [s2^v (щ + с (ле)] + с (Яф) [- s^c^v (щ\
- S (Яф) [— S^C^V (Щ] + С (Щ [СЦУ (Щ + С (Щ]
- 5 (Лф) [— C^S (Щ\ + С (Щ [- S^S (Щ]
da
Сг|)5(Я9)1 ГХх
S^S {Щ , dp = \ Xy
L С(Щ -I ьЯг-1
и dn = do X da.
Применяя метод обратных преобразований к равенству (4.4-16),
можно определить ху уУ z. Для этого нужно умножить обе
части равенства (4.4-16) справа на Rb (Я) RJ!W и приравнять
соответствующие элементы векторов положения
х = пл . (рв — рл),
У = *а-(Рв — Рл), (4.4-22)
z = *л • (Рв — Рл)-
Умножая обе части равенства (4.4-16) справа на R£!(^) и слева
ца L~!(A,)t найдем из условия равенства соответствующих
элементов третьего столбца значения 0 и \f>:
♦-■««[££]■
> = arctg j
— я ^г|э ^ я,
[(пл-ав)2+(^-ав)2]'/2
0<9:
'.п.
}•
(4.4-23)
(4.4-24)
ф, умножим
~Х(Ь) и Ril'M,
обе части (4.4-16) слева последова-
и, приравняв соответствующие эле-
Чтобы найти
тельно на I/
менты, получим
ЗД = - StfC^V (МЭ) (пА • пв) + [С2фК (Я9) + С (А9)] (Sj4
СФ = - Ci|)Ci|)7 (Л9) (пл • sB) + [C2^V (Щ + С (Щ] (sA
-5i|)S(^6)(a^-sB),
Ф = arctg [ ^^-J. — я<ф<я.
na) —
(4.4-25)
•в) —
(4.4-26)
(4.4-27)
Движение между двумя участками траектории. Часто
необходимо обеспечить движение манипулятора вдоль
последовательности прямолинейных участков (это диктуется выполняе-
199
мой манипулятором задачей или наличием препятствий на его
пути). Для того чтобы избежать скачков по скорости при
переходе с одного участка траектории на другой, между участками
нужно обеспечить движение с ускорением или торможением.
Такое движение можно реализовать, начиная изменение
скорости за время т до точки перехода между участками и
поддерживая ускорение постоянным, пока не пройдет т единиц
времени после перехода границы участков (рис. 4.5). Если
1
Яуть А
£
-Т
т Время
Рис. 4.5. Движение между двумя прямолинейными участками траектории.
ускорение поддерживается постоянным от момента —т до
момента т, то его величина, обеспечивающая заданное изменение
скорости и положения, определяется формулой
q(/) = ^r[ACf+ ЛВ],
(4.4-28)
где — т < / < Т, и
~ х
У
z
ё
d(t)
АС =
1 хвс
Уве
ZBC
®вс
1<$вс _
, ДВ =
ХВА 1
УВА
ZBA
&ВА
_Фвл 1
ДС и ДВ — векторы, элементами которых являются
приращения декартовых координат и углов между точками В и С и
между точками В и А соответственно.
В соответствии с равенством (4.4-28) скорость и положение
на интервале —т < t < т определяются равенствами
я(/)=4[АСт + АВ]я-:т'- (4-4"29>
q (/) = [[ДС J- + ДВ] Л - 2ДВ] Я + ДВ, (4.4-30)
200
где
q(0 =
При r<t<T движение задается равенствами
q — ДСЯ, 9 = 0, (4.4-32)
где Я=^у.
Отметим, что, как и выше, К представляет собой нормированное
время, изменяющееся на интервале [0, 1]. Следует помнить,
однако, что нормирующий множитель различен для разных
участков траектории.
Для движения от А к В и к С определим i|) на интервале
—т < t < т следующим образом:
* — №bc - ^ав) Я + г|)лв, (4.4-33)
где ^ав и -фяс определены для движения от Д к В и от В к С
формулой (4.4-23). Тем самым ^ будет изменяться от $ав к -фвс.
Итак, для описания движения из положения Рг в положение
Р*+1 надо в соответствии с равенствами (4.4-16) — (4.4-27)
вычислить ведущую функцию D(A,); далее следует определить
Т6(А,) по формуле (4.4-10) и с помощью программы решения
обратной задачи кинематики вычислить соответствующие
значения присоединенных координат. При необходимости
применяется квадратическая интерполяция траектории между
полученными точками в пространстве присоединенных координат.
Пример. Двигаясь по прямолинейной траектории в
декартовом пространстве, манипулятор должен переместить болт из
обоймы в одно из отверстий бруска, изображенного на рис. 4.6.
Запишите все необходимые матричные уравнения, задающие
движение манипулятора вдоль штриховой линии,
обеспечивающее выполнение поставленной задачи. Для обозначения
промежуточных точек траектории можно использовать буквы.
Решение. Пусть Р/ — узловые точки траектории, через
которые должен пройти схват манипулятора (t = 0, 1, 2, 3, 4, 5).
Матричные уравнения будут иметь следующий вид:
в точке Ро: [BASE] [T6] [E] = [INIT] [P0], (4.4-34)
в точке F2: [BASE] [T6] [Е] = [ВО] [Р,], (4.4-35)
в точке Р2: [BASE] [T6] [Е] = [ВО] [Р2], (4.4-36)
х~
У
г
е
ф_
. q(0 =
X
У
z
ё
_<pJ
,Ai±i
(4.4-31)
201
в точке Р3: [BASE] [T6] [Е] = [ВО] [Р3], (4.4-37)
в точке Р4 : [BASE] ]Т6] [Е] = [BR] [Р4], (4.4-38)
в точке Р5: [BASE] [T6] [Е] = [BR] [Р5], (4.4-39)
где [BASE], [INIT], [ВО], [BR], [Т6], [Е], [Р0], [Pi], [P2],
[Рз], [Р4], [Рб]—матрицы однородных преобразований,
имеющие размерность 4 X 4. Матрицы [BASE], [INIT], [ВО] и [BR]
заданы относительно абсолютной системы координат; [Т6]
задана относительно базовой системы; [Е] задана относительна
% Абсолютная система
[T6J; [Р0] задана относительно системы [INIT]; [Pi], [P2] и
[Рз] заданы относительно [ВО]; [Р4] и [Рб] заданы
относительно [BR].
Для описания движения из Ро и Pi воспользуемся двойной
индексацией, чтобы записать равенство (4.4-34) в системе
координат Рь В системе координат Р0 имеем
[Т6] = [BASE]-1 [INIT] [Рад] [ЕГ1. (4,4-40)
Записывая это равенство в системе Рь получаем
[Т6] = [BASE]-1 [ВО] [Р01] [ЕГ1. (4.4-41)
Из равенств (4.4-40) и (4.4-41) находим
[Poi] = [BO]-1[INIT][P00]. (4.4-42)
202
Таким образом, переход из положения Р0 в положение Pi вдоль
прямолинейной траектории означает изменение конфигурации
Манипулятора с
[Т6] = [BASE]"1 [ВО] [Р01] [ЕГ1 (4.4-43а)
на [Т6] = [BASE]-1 [ВО] [Рп] [ЕГ1. (4.4-436)
Переход из точки Р? в Pi+i для * = 1, 2, 3, 4 осуществляется
аналогично.
4.4.2. Планирование прямолинейных траекторий
с использованием кватернионов
Предложенный Полом способ построения прямолинейных
траекторий опирается на описание заданных положений схвата
манипулятора матрицами однородных преобразований. Такое
представление заданных положений удобно и наглядно. Однако
оперирование с матрицами предъявляет относительно высокие
требования к объему памяти, используемой для их хранения в
вычислителе, и к количеству выполняемых арифметических
операций. Кроме того, матричное описание операций вращения
является существенно избыточным, что может привести к
вычислительной неустойчивости. Вместе с тем было показано, что
представление вращений с помощью кватернионов позволяет
задать более эффективное и более равномерное движение. Тэй-
лор [282] предложил два способа построения прямолинейных
участков траектории между узловыми точками. Первый из них,
называемый управлением в декартовых координатах, является
усовершенствованием метода Пола и отличается от него тем,
что для описания вращений используются кватернионы. Этот
способ прост и обеспечивает более равномерное угловое
движение. Однако он требует большого числа вычислений в процессе
управления манипулятором, и, кроме того, им нельзя
пользоваться при вырожденной конфигурации манипулятора. Второй
способ, называемый способом планирования траекторий с
ограниченными отклонениями, требует дополнительного этапа
планирования. На этом этапе производится выбор узловых точек
в количестве, достаточном для того, чтобы траектория в
пространстве присоединенных переменных между узловыми
точками задавалась путем линейной интерполяции и при этом
отклонения схвата от прямолинейной траектории не превышали
бы заданной величины. Этот способ существенно снижает
количество вычислений, необходимых на каждом участке траектории.
Кватернионы. В последние дессятилетия аппарат
кватернионов успешно применялся в задачах анализа
пространственного движения механизмов. Мы воспользуемся кватернионами
для упрощения описания ориентации схвата манипулятора в за-
203
даче планирования прямолинейной траектории. Кватернион
представляет собой упорядоченную четверку вещественных
чисел s, а, 6, с, связанных соответственно с четырьмя базисными
элементами: вещественным числом +1 и тремя другими
единичными элементами i, j, k, обладающими следующими
свойствами:
ij = k, jk = i, ki = j,
ji = -k, kj = — i, ik= — j.
Единичные элементы i, j, k можно рассматривать как
базисные векторы декартовой системы координат в трехмерном
пространстве. В этом случае кватернион Q может быть записан в
виде суммы скалярной части s и векторной части v:
Q = [5 + v] — s + ах + b] + ск = (5, a, b, с). (4-4-44)
Следующие понятия и свойства являются основными в
алгебре кватернионов:
• Скалярная часть Q : s.
• Векторная часть Q : ал + Ь] + ск.
• Кватернион, сопряженный Q : s — (а\ + Ь] + ск).
• Норма Q:s2 + a2 + b2 + с2.
• Кватернион, обратный Q: 8* + а* + р + сж-
• Единичный кватернион: 5 + а\ + Ь] + ск, где s2"+ а2 -J-
Важно отметить, что подмножествами кватернионов
Являются вещественные числа (s, 0, 0, 0), комплексные числа
(s, а, 0, 0) и векторы трехмерного пространства (0, а, Ьш с).
Сложение (вычитание) двух кватернионов производится путем
сложения (вычитания) всех соответствующих элементов
задающей кватернион четверки чисел. Произведение двух
кватернионов вычисляется следующим образом:
Q1Q2 = {s\ + ax\ + bx\ + с{к) (s2 + а2\ + Ь2] + с2к) =
= (s{s2 — v, • v2 + s2\l + s{v2 + Vi X v2). (4.4-45)
Это выражение получается непосредственным примененчш^ЙШр
пределительного закона обычной алгебры, но с учетом йбрйЩ!
перемножения единичных элементов. В общем случае
произведение двух векторов трехмерного пространства, записанных в
форме кватернионов, представляет собой не вектор, а
кватернион, т. е. если Qi =[0 + vi] = (0, аь bu Ci) и Q2 = [0 + v2] =
= (0, а2, b2, c2), то в соответствии с выражением (4.4-45)
QiQ2 = — Vi • v2 + Vi X v2.
204
^ДДОебра' кватернионов дает простой и удобный аппарат
описания конечных поворотов в трехмерном пространстве. Если
ввести обозначения
S=sin[-|], С - cos [|],
то поворот Rot(n, 6) на угол 0 вокруг оси п можно представить
кватернионом
Rot (n, 6) - [cos [~] + sin [1] n]. (4.446)
Пример. Поворот на 90° вокруг вектора к, сопровождаемый
поворотом на 90° вокруг вектора j, можно представить в виде
произведения кватернионов
(cos 45° + j sin 45°) (cos 45° + k sin 45°) = (1/2 + j/2 + k/2 + i/2) =
=["2+^-4]=И0°+""6°^]-
-M1^' l24
Результирующим является поворот на 120° вокруг оси,
составляющей одинаковые углы с осями I, j, k. Отметим, что
результирующий поворот можно было бы определить,
воспользовавшись матрицами поворотов, рассмотренными в гл. 2. Однако
кватернионы дают гораздо более простую форму
представления. Таким образом, для описания поворотов можно
пользоваться как матрицами, так и кватернионами.
В заключение этой части раздела в табл. 4.5 приведены
вычислительные затраты, необходимые для выполнения некоторых
обычных операций с поворотами, при описании с помощью
кватернионов и при матричном представлении.
Таблица 4.5. Вычислительные затраты при описании вращений
матрицами и кватернионами
Операция
R1R2
Rv
R -> Rot (n, 6)
Описание с помощью
кватернионов
9 сложений, 16 умножений
12 сложений, 22
умножения
4 умножения, 1
квадратный корень, 1 арктангенс
Описание с помощью
матриц
15 сложений, 24
умножения
6 сложений, 9 умножений
2 квадратных корня, 8
сложений, 10 умножений,
1 арктангенс
Способ управления в декартовых координатах. За время Т
требуется перевести схват манипулятора из узловой точки F0
205
в узловую точку Fi, обеспечив^ прямолинейное движение. Здесь
F* (/ = 0, 1) представляет собой матрицу однородного
преобразования, задающую положение системы координат схвата в
узловой точке:
■Чо П
Движение вдоль выбранной траектории представляет собой
поступательное перемещение точки начала системы координат
схвата из положения р0 в положение pi и одновременное
вращение системы координат схвата, переводящее ее ориентацию
из R0 в Ri. Пусть МО- доля пути, которую остается пройти
манипулятору в момент t. При равномерном движении имеем
X(t) = l^±$ (4.4-47)
где Т — полное время движения вдоль рассматриваемого
участка траектории, a t — время, прошедшее с момента начала
движения вдоль этого участка. Положение и ориентация системы
координат схвата в момент t определяются соответственно
равенствами
p(0 = Pi-MO(Pi-Po). (4.4-48)
R (/) = R, Rot [n, - QX (О], (4.4-49)
где Rot(n, 9)—поворот на угол 0 вокруг оси п, переводящий
матрицу ориентации схвата из R0 в Ri:
Rot(n, 9) = R0-IRi. (4.4-50)
Последнее равенство означает, что Rot(n, 9) описывает в
форме кватерниона поворот, задаваемый матрицей Ro^Rb
Следует отметить, что вектор pi — ро в равенстве (4,4-48) и вектор
п и угол 9 в равенстве (4.4-49) в том случае, если система
координат F] неподвижна, достаточно вычислить только один раз.
С другой стороны, если точка, в которую должен быть
перемещен схват, движется, то меняется и матрица Ft. В этом случае
pi — ро> п и 0 должны вычисляться на каждом шаге, и, как
показал Тэйлор [282], может иметь место ситуация погони.
Если схват манипулятора должен переходить с одного
участка траектории на другой с постоянным ускорением, между
участками будет иметь место интервал разгона или
торможения. Для реализации такого движения ускорение должно
включаться за время т до прохода точки пересечения
рассматриваемых участков и выключаться через время т после прохода этой
точки. Из этого требования вытекают граничные условия для
206
участка перехода
р(Г1-т) = р1-^, (4.4-51)
р(Г1 + т) = р1 + ^|р., (4.4-52)
ЖР('Н=г,-т = ТГ' (4-4"53)
WPWU+t—тР*. (4-4"54>
где Api = pi — ро; Др2 = Р2 — Pi; Тх и Т2 — соответственно
интервалы времени, в течение которых проходятся первый и
второй участки. Если на участке перехода действует постоянное
ускорение
^-Р(0 = ар> (4.4-55)
то двукратным интегрированием (4.4-55) с учетом граничных
условий получаем равенство, описывающее поступательное
движение системы координат схвата:
Р (О - Pi - ^^ff1 APi + Sl£ffL ЛР2' (4-4"56>
где t' = T\ — t — время до момента пересечения двух участков
траектории. Аналогично получается уравнение, описывающее
изменение ориентации системы координат схвата:
RtO-^Rotfnb -(%-J[)2 e{]Rot[n2> - {х+£2 e2], (4.4-57)
где
Rotfai, e^ — Ro^Ri и Rot(n2, 92) = Rr1R2.
Последние два равенства обозначают представление
соответствующих заданных матрицами поворотов в форме кватернионов.
Полученные уравнения, описывающие поступательное и
вращательное движение системы координат схвата, обеспечивают
плавный переход между двумя участками траектории. Следует
отметить, что угловое ускорение будет постоянным только в том
случае, если ni и п2 параллельны или если одна из угловых ско-
й й
ростей qpj = •— или Ф2 = -уг- равна нулю.
Траектория с ограниченными отклонениями. Описанный
выше способ формирования траектории в декартовых
координатах требует существенных затрат вычислительного времени.
Кроме того, в реальном времени весьма сложно реализовать
учет ограничений на движение манипулятора в пространстве
присоединенных переменных. Существует ряд возможностей
устранить эти трудности. Можно заранее (до осуществления
207
движения) получить и записать в память вычислителя решение
обратной задачи кинематики, моделируя работу алгоритма.
Реализовать заданное движение в этом случае не составит труда,
поскольку последовательность точек управления будет просто
считываться из памяти компьютера. Другой возможный путь
состоит в том, чтобы заранее вычислить значения присоединенных
координат в некоторой последовательности точек каждого из
участков траектории и затем осуществить интерполяцию
полиномами низкой степени. Сложность такого подхода состоит в
том, что число промежуточных точек, необходимое для
осуществления движения, достаточно близкого к прямолинейному,
зависит от выполняемого движения. Априорный выбор интервала,
достаточно малого для того, чтобы обеспечить малые
отклонения от прямолинейного движения, приводит к резкому
возрастанию объема предварительных вычислений и используемых
ресурсов памяти. Учитывая все это, Тэйлор [282] предложил
способ планирования траекторий в пространстве
присоединенных переменных, называемых траекториями с ограниченными
отклонениями. Этот метод позволяет на этапе предварительных
вычислений выбрать промежуточные точки в количестве,
достаточном для того, чтобы отклонения планируемой траектории
схвата от прямолинейной не превышали некоторых заданных
пределов.
При таком подходе сначала вычисляются векторы
присоединенных координат q<, соответствующие узловым точкам
траектории, заданным в декартовом пространстве. Затем
вычисленные векторы используются в качестве узловых точек в
процедуре построения траектории изменения присоединенных
переменных, аналогичной процедуре, используемой при построении
траектории в декартовых координатах. Движение из точки q0 в
точку qi описывается уравнением
q(0 = qi-Zyr"A(Ib (4-4-58)
а при переходе от участка между q0 и qi к участку между qi и
q2 движение задается формулой
ч (О - * - -^т?1 лч. + ^ШГ ЛЧ2> (4-4'59)
где Aqi = qi —qo> Aq2 = q2 —qi, a Tu T2, x и V имеют тот же
смысл, что и выше. Эти уравнения обеспечивают постоянную
скорость движения между узловыми точками в пространстве
присоединенных координат и плавный переход с постоянным
ускорением от одного участка траектории к другому. Однако
при этом система координат схвата может существенно
отклоняться от заданной прямолинейной траектории. Величина
отклонения характеризуется разностью между F/(/), описывающей
208
положение схвата, соответствующее точке q/(/) в пространстве
присоединенных переменных, и Fd(t), описывающей положение
схвата в момент t при условии его движения по заданной
прямолинейной траектории в декартовом пространстве. Отклонения
положения и ориентации определяются соответственно
формулами
*р = 1р/(0-Р*(01. (4.4-60)
6д = | угловая часть Rot(n, <p)| = |q>|f (4.4-61)
где Rot (n, ф)—КГ1 (OR/С).
Задавая максимальные допустимые отклонения по положению и
ориентации 6ракс и б^акс, мы потребуем выполнения условий
6Р<6ГС и 6*<бГс. (4.4-62)
Для этого необходимо выбрать достаточное количество
промежуточных точек между двумя последовательными узловыми
точками. Предложенный Тэйлором [282] способ построения
траекторий с ограниченными отклонениями является по существу
алгоритмом последовательного построения промежуточных
точек, обеспечивающих выполнение условий (4.4-62). Этот
алгоритм обладает быстрой сходимостью, хотя формируемый с его
помощью набор промежуточных точек и не является
минимальным. Этот алгоритм приведен ниже.
Алгоритм формирования траекторий с ограниченными
отклонениями. При заданных максимальных отклонениях 6ракс
и 6#акс по положению и ориентации соответственно и заданных
узловых точках F, траектории в декартовом пространстве этот
алгоритм формирует последовательность промежуточных
узловых точек в пространстве присоединенных переменных такую,
что отклонения системы координат схвата от заданной
прямолинейной траектории в дакартовом пространстве не превышают
заданных пределов.
51. Вычисление значений присоединенных переменных.
Определить векторы присоединенных координат q0 и qb
соответствующие точкам F0 и Fi.
52. Вычисление,средней точки в пространстве
присоединенных переменных. Вычислить среднюю точку qm в пространстве
присоединенных переменных
Ят = Я1 — V2Aqi,
где Aqi=qi — qo, и вычислить положение Fm системы
координат схвата, соответствующее значениям присоединенных
координат qm.
53. Вычисление средней точки в декартовом пространстве,
Вычислить соответствующую среднюю точку Fc траектории в
209
декартовом пространстве:
где Rot(n, 9) = R5',Ri.
54. Вычисление отклонения. Вычислить отклонение Fm от Fc
*р = 1рт"-рЛ 6Л = | угловая часть Rot(n, ф) = R7!Rm | = I Ф I l).
55. Проверка условия ограниченности отклонений. Если
6р<!6ракс и &я^6/Гкс, закончить работу алгоритма. В
противном случае вычислить вектор qc присоединенных координат,
соответствующих точке Fc декартовой траектории, и выполнить
шаги S2 — S5 последовательно для двух подынтервалов,
заменяя Fi на Fc и Fc на F0.
Этот алгоритм обладает достаточно быстрой сходимостью.
Как правило, на одной итерации максимальное отклонение
уменьшается примерно в 4 раза. Тейлор [282] исследовал
скорость сходимости представленного алгоритма для
цилиндрического манипулятора (два поступательных и два вращательных
сочленения). Оказалось, что на одной итерации максимальное
отклонение уменьшается не более чем в 4 и не менее чем в 2
раза в зависимости от положения манипулятора.
Итак, метод построения траекторий с ограниченными
отклонениями состоит в формировании последовательности
промежуточных точек в пространстве присоединенных переменных,
обеспечивающей движение схвата в декартовом пространстве вдоль
траектории, отклонение которой от заданной прямолинейной
траектории не превышает заданных пределов.
4.4.3. Описание траектории кубическими полиномами
с учетом ограничения моментов
В предложенных Тэйлором способах планирования
прямолинейных траекторий формирование векторов присоединенных
координат {q(0. чОО» 4(0} вдоль заданной в декартовом
пространстве траектории производится без учета динамики
манипулятора. Однако характеристики силовых приводов сочленений
имеют участки насыщения, и величина развиваемых приводами
сил и моментов ограничена. Ограничения располагаемых сил и
моментов необходимо учитывать при планировании
прямолинейных траекторий. Это приводит также к необходимости двух
последовательных этапов в осуществлении управления манипуля-
1) Правильнее писать б* = | угловая часть Rot (/г, ср) | = | <р |, где
Rot (/г, ф) = R^Rm-~~ Прим. перев.
210
тором: выбор оптимальной траектории до начала движения и
регулирование движения вдоль выбранной траектории в
процессе работы манипулятора.
При планировании прямолинейных траекторий в декартовом
пространстве условия, которым должна удовлетворять
траектория, задаются в декартовых координатах, в то время как
ограничения реализуемых приводами сил и моментов задаются в
пространстве присоединенных переменных. Таким образом,
возникает задача оптимизации с ограничениями, заданными в
различных системах координат. Путем аппроксимации полиномами
цизкой степени можно сформировать траекторию манипулятора
в пространстве присоединенных переменных, соответствующую
траектории в декартовом пространстве, и проводить
оптимизацию траектории и регулирование движения на уровне
присоединенных переменных [59]. Другая возможность состоит в том,
чтобы преобразовать ограничения сил и моментов к декартовой
системе координат, в которой затем проводить оптимизацию
траектории и регулирование движения [165].
Несмотря на необходимость проведения многочисленных
нелинейных преобразований из декартовой системы координат в
пространство присоединенных переменных, более простым
оказался подход, в котором планирование траектории ведется на
уровне присоединенных переменных. Лин [172] предложил
способ интерполяции траектории в пространстве присоединенных
координат между узловыми точками, выбранными на заданной
прямолинейной траектории. С помощью этого способа
прямолинейная траектория в декартовом пространстве преобразуется в
N траекторий присоединенных переменных — по одной для
каждого сочленения. Поскольку аналитический вид такого
преобразования неизвестен, используются способы полиномиальной
интерполяции, позволяющие аппроксимировать заданную
траектории. Для этого на заданной траектории выбирается
достаточное число узловых точек и каждый из участков между двумя
последовательными узловыми точками аппроксимируется N
полиномами— по одному для каждой присоединенной переменной.
Аппроксимирующие полиномы должны проходить через узловые
точки. Для аппроксимации Лин [172] выбрал кубические
полиномы, позволяющие получить достаточно гладкую траекторию
при малых перерегулированиях по угловому положению между
соседними узловыми точками. Между каждыми двумя соседними
точками из п используемых узловых точек траектория
аппроксимируется отрезком кубического полинома. Значения
присоединенных координат в п — 2 узловых точках фиксированы.
В двух узловых точках значения присоединенных координат
априорно не определены. Это необходимо для того, чтобы
обеспечить выполнение условий непрерывности по положению,
скорости и ускорению вдоль всей траектории. Для определения не-
211
известных коэффициентов полиномов нужно решить систему
п — 2 уравнений. Получаемое векторное уравнение имеет
удобную для решения структуру. Его решениями являются
аппроксимирующие траекторию функции, которые зависят от
интервалов времени между узловыми точками. Для минимизации
времени прохождения всей заданной траектории нужно
скорректировать величины этих интервалов с учетом имеющихся
ограничений. Тем самым задача сводится к минимизации времени
движения путем соответствующего выбора временнйх
интервалов.
Пусть однородная матрица Н (t) описывает положение
системы координат схвата. Схват должен пройти
последовательность узловых точек в декартовом пространстве: H(t\)f
Н(?г)>...> Н(/л). Векторы присоединенных координат (q\U
#2ь •-., <7лл), (q\2> <722, •••> <7#2), ..., (qm, q<m> ..., ?**),
соответствующие этим узловым точкам, вычисляются с помощью
программы решения обратной задачи кинематики. Здесь qfi
обозначает /-ю присоединенную переменную, соответствующую
положению схвата в i-й узловой точке Н(^). Требуется построить
кубическую интерполяцию траектории /-й присоединенной
переменной между точками [qj\{t\)t 472(^2), •-., <7/л(*«)]» где t\ <C
< U < ... <Ltn — моменты прохождения узловых точек. В
начальный момент t = t\ и конечный момент t = tn заданы
соответственно начальные <?/i, u/i, а,ц и конечные #/*, i>/„, Я/л
(положение, скорость и ускорение). Кроме того, значения
присоединенной переменной qjk в моменты времени tk заданы для k =
= 3, 4, ..., п — 2. Значения q2 и qn-\ не определены: как уже
говорилось, это необходимо для обеспечения непрерывности
кинематических характеристик вдоль всей траектории.
Пусть Qji(t)—кубический полином, описывающий поведение
/-й присоединенной переменной между узловыми точками Н/ и
Hi+i и определенный на интервале [h, ti+\]. Задача состоит в
«сшивке» между собой полиномов Qft(t) (i=l, 2, .... п—1)
так, чтобы они проходили через заданные узловые точки и
обеспечивалась непрерывность положения, скорости и ускорения на
всем интервале [tu tn\. Поскольку Qji(t)—кубический полином,
его вторая производная Qjt{t) является линейной функцией
времени t:
Q^ = ^^Q^) + ^Q^+I), '"! п~1'
ui ui 1= 1, ..., N,
(4.4-63)
где Ui = tm — U — время, затрачиваемое на прохождение f-ro
участка. Дважды интегрируя unit) и учитывая граничные
условия Qii{ti) =qa и Qji{ti+i) — ?/,н-ь получаем интерполирующую
212
функцию следующего вида:
* = 1, 2, ..., п— 1,
,-1,2 N. <«'64>
Таким образом, для 1=1, 2 п—1 Qn'{t) определены, если
известны Qa{ti) и <3/<(^+i). На основании этого можно записать
систему п — 2 линейных уравнений относительно неизвестных
Qn{ti), i = 2 п— 1:
AQ = b,
Q,At3)
(4.4-65)
A =
Q =
3„1 + 2«2 + |i.
L Q/, n-\ (^n-i) J
«2 - — 2 (w2 + и3)
о %
0
«3
2 (% + и4)
«4
2 (w4 + иЛ_3)
О 0
Wrt-3
О О
2 (ип_3 + ил_2) иЛ-2'
UZ
Un — 2
ип-2 Зи/г_1+2Ид_2^
ИЛ_2 _!
213
b=
L «4 И3 J
6 ГУ/5-У/-4 _ У4-У/3]
L «4 «3 J
♦
— [?/я - и|Л., + —-а,п\ -
, 6?/л , 6<7п-2
иП—\ иП — \иП — 2
un-lajn
Структура матрицы А позволяет легко определить Q,
подстановкой которого в выражение (4.4-63) получается
окончательный вид Qji(t). В окончательном виде полиномы Qa(t)
зависят от интервалов времени щ и заданных значений
присоединенных координат, скоростей и ускорений. Матрица А в
уравнении (4.4-64) всегда неособенная, если интервалы щ
положительны. Поэтому задача интерполяции траектории кубическими
полиномами всегда имеет единственное решение.
Поскольку характеристики силовых приводов сочленений
имеют участки насыщения и развиваемые приводами моменты и
силы ограничены, минимальное общее время движения вдоль
траектории, описываемой кубическими полиномами, определяется
максимальными значениями присоединенных скоростей, ускоре*
ний и допустимой скоростью изменения ускорения. Для
увеличения скорости работы манипулятора нужно минимизировать
время движения вдоль заданной траектории. Этого можно
достичь соответствующим выбором величин интервалов щ с учетом
ограничений присоединенных скоростей, ускорений, моментов и
скоростей изменения ускорений. Задачу можно сформулировать
следующим образом: минимизировать целевую функцию Т
Т=%Щ (4.4-66)
при следующих ограничениях:
214
Ограничение по скорости: | Q/7 (/) | ^ Vjt
i=U •.., п— \.
Ограничение по ускорению: | Qfi (t) | < Aff
/=1, ..., N,
i= 1, .,,, /г— 1.
Ограничение по скорости изменения ускорения: -~^Q/j(0 И^/г
/= 1, ..., п— 1.
Ограничение моментов: |т/(/)|^Г/, /=1, ..., N.
Здесь Т — общее время движения вдоль заданной траектории;
V/, Л/, // и Г/ соответственно максимальные значения скорости,
ускорения, скорости изменения ускорения, момента в /-м
сочленении.
Строгое представление этих ограничений приведено ниже.
Ограничение по скорости. Дифференцируя равенство (4.4-64)
и заменяя Qn{ti) и Q/i(^+i) соответственно на со// и со/, ч-ь
получаем
+p^-*H-№-JH (4-4-67>
Q/i(0 = ^7ti(/-^)--^(/-^ + 1), (4.4-68)
где со/* — ускорение в узловой точке Н,. Оно равно Qjtitt), если
Q//(/) проходит через узловую точку Н* в момент ti% Скорость
достигает своего максимального по абсолютной величине
значения в одной из точек /,-, */+i или h> при этом h <= [ti, *ж] и
Qji(h) = 0. Ограничение по скорости, таким образом, принимает
вид
max | Q}i | = max [ | Qfi (/,) |, | Qfi (ti + {) |, I Qsi (*,) \}<Vjt
tez]ti, ti + i)
i = 1, 2, ..., n — 1,
/=1, 2, .... tf, (4.4-69)
215
где
\Qn(tt)\ =
Qidh)\ =
щ +
ii.i+i-Qn , (">/< ~ai,<+i)ui
"г Н й 1 fi "'
ii°>j, t+iui
2(<V
CD
, i-hl)
((0ii-(dhi + \)ui , Яд + х — Яд
6 "**" w,
если сад Ф Q)A c+i и *, e= [/*, /,+1],
если (o/I- = co/^+1 или ^ ^ [//, /< + 1].
Ограничения по ускорению. Между двумя узловыми точками
ускорение линейно зависит от времени. Поэтому максимальная
абсолютная величина ускорения достигается в точке ti или в
точке ti+i и равна максимальной из величин {|сод|, |(0/, ж|}.
С учетом этого ограничение по ускорению принимает
следующий вид:
max {| од |, | со/21, ..., | сом |} < Лу>
/=1,2, ..., N.
Ограничения по скорости изменения ускорения.
*/, i+i — <ьц
: J i>
!=l, 2, .... N,
" *—I, 2 n-1.
(4.4-70)
(4.4-71)
Ограничения моментов. Момент, который должен быть создан
силовым приводом для реализации заданного движения, можно
рассчитать с помощью уравнений динамики движения
манипулятора (равенство (3.2-25)):
*/(0- £Я/*(О*(0)§л(0 +
Л=1
+ Е Е Л/|км (Q, (/)) Qki (/) Qm< (0 + с7 (Q£ (0), (4.4-72)
где
/=1, 2, ..., TV,
/=1, 2, .... n— 1.
Если условия ограничения моментов не выполняются, должно
быть произведено динамическое временное масштабирование
траектории, обеспечивающее выполнение этих условий [8, 122].
Для решения сформулированной задачи оптимизации при
наличии ограничений надо выбрать подходящий алгоритм опти-
216
Ййзацни. Существует несколько алгоритмов оптимизации для
аадач такого типа. Лин и др. [172] воспользовались методом
гибкого поиска, предложенным Нелдером и Медом. Результаты
применения этого оптимизационного метода изложены в работе
[172].
4.5. ЗАКЛЮЧЕНИЕ
Выше были рассмотрены два основных подхода к
планированию траекторий: планирование сглаженных траекторий в
пространстве присоединенных переменных и планирование
траекторий в декартовом пространстве. Планирование траекторий в
пространстве присоединенных переменных состоит в описании
закона изменения присоединенных координат
последовательностями полиномов, что позволяет получать гладкие траектории
изменения присоединенных, переменных. Для снижения
вычислительных затрат и минимизации бесполезных движений
используются последовательности полиномов низкой степени.
Траектория изменения присоединенной переменной разбивается на
несколько участков, каждый из которых интерполируется
полиномом низкой степени. В частности, были рассмотрены способы
описания траектории с помощью двух полиномов четвертой и
одного — третьей степени (4-3-4-траектории) и с помощью пяти
кубических полиномов.
Был рассмотрен ряд методов планирования траекторий в
декартовом пространстве. Поскольку управление манипулятором
осуществляется в пространстве присоединенных переменных, а
траектория движения задается в декартовом пространстве,
обычно пользуются полиномиальной аппроксимацией заданного
в декартовом пространстве движения траекторией в
пространстве присоединенных переменных. Для осуществления
прямолинейного движения Пол [228] предложил использовать
композицию поступательного перемещения и двух поворотов схвата
манипулятора. Предложенный Полом метод был усовершенствован
Тэйлором [282] за счет применения кватернионов для описания
вращений. Тэйлор разработал также способ построения
траекторий с ограниченными отклонениями. Основой этого способа
является алгоритм формирования последовательности
дополнительных узловых точек на заданной декартовой траектории при
аппроксимации ее траекторией в пространстве присоединенных
переменных. Лин и др. [172] предложили подход, состоящий в
интерполяции заданной траектории кубическими полиномами
по п выбираемым исследователем узловым точкам. При этом
проводилась минимизация времени движения вдоль выбранной
траектории с учетом ограничений по скорости, ускорению и
скорости изменения ускорения присоединенных переменных и
ограничений моментов, создаваемых приводами. Рассмотренные
217
методы применяются на этапе планирования траекторий,
осуществляемом до начала движения манипулятора. Тем самым
управление манипулятором разбивается на два этапа — этап
планирования и этап регулирования движения манипулятора вдоль
выбранной траектории, которое производится в процессе работы
манипулятора. Второму этапу посвящена гл. 5.
Литература
Дополнительные сведения о сглаженных траекториях в
пространстве присоединенных переменных содержатся в работах
[29, 163, 169, 170, 226]. В большинстве из перечисленных работ
построение траекторий производится без учета ограничений
динамики манипулятора. Основное внимание в них сосредоточено
на обеспечении гладкости и непрерывности траекторий за счет
выбора соответствующих ограничений по скорости и ускорению.
Холлербах [122] предложил способ временного
масштабирования, позволяющий выяснить, возможно ли реализовать
выбранную траекторию в рамках ограничений кинематических
параметров и развиваемых силовыми приводами моментов, зависящих
от мгновенных значений присоединенных переменных и
скоростей.
Формирование траектории манипулятора, обеспечивающей
движение схвата вдоль отрезков прямой в декартовом
пространстве рассмотрено в работе [228]. Для описания положений,
через которые должен пройти схват манипулятора. Пол
воспользовался матрицами однородных преобразований. Движение
между двумя последовательными заданными положениями
представляет собой композицию поступательного перемещения,
поворота, обеспечивающего требуемое положение вектора
подхода, и поворота вокруг оси инструмента, обеспечивающего
заданную ориентацию схвата. Для обеспечения гладкости
траектории применяется квадратическая интерполяция траектории
движения между соседними прямолинейными участками.
Воспользовавшись аппаратом кватернионов, Тэйлор [282]
усовершенствовал предложенный Полом метод, добившись более
равномерного движения. Оба метода в целях обеспечения
возможности планирования траекторий в реальном времени не
учитывают физических ограничений на величину моментов,
создаваемых приводами манипулятора.
Ряд других схем планирования траекторий в декартовом
пространстве позволяет одновременно обеспечить непрерывность
траектории и учесть ограничения моментов. Для того чтобы
учесть ограничения моментов на этапе планирования
траектории, обычно предполагают, что максимальное значение момента
не зависит от скорости и положения манипулятора. В частности,
в работах [172, 184] переменные ограничения моментов были
218
'заменены постоянными для каждой присоединенной переменной
ограничениями по скорости, ускорению и скорости изменения
ускорения. Авторы этих работ выбрали последовательность
узловых точек на траектории в декартовом пространстве,
определили в этих точках значения присоединенных координат и с
помощью интерполяции полиномами низкой степени построили
гладкую траекторию в пространстве присоединенных
переменных, отвечающую условиям непрерывности и проходящую через
выбранные узловые точки. Затем в предположении о постоянстве
динамических ограничений проводился выбор интервалов
времени движения между узловыми точками с учетом ограничений.
Поскольку интерполяция траектории производилась в
пространстве присоединенных переменных, то на каждом участке между
соседними узловыми точками движение схвата манипулятора
может отклоняться от заданной в декартовом пространстве
траектории.
Ли 1152] разработал дискретную схему планирования
траектории, обеспечивающую выбор узловых точек в точности на
заданной прямолинейной траектории в декартовом пространстве,
удовлетворяющей условиям гладкости и ограничениям динамики.
Задача планирования траектории сформулирована им как
задача максимизации расстояния между последовательными
узловыми точками на прямолинейной траектории в декартовом
пространстве при ограничениях, обусловленных требованиями
гладкости и днамикой манипулятора.
В связи с необходимостью дискретной аппроксимации
присоединенных скоростей, ускорений и скоростей изменения
ускорений решение задачи оптимизации требует большого
количества вычислений, что препятствует эффективному применению
этой схемы. Для снижения вычислительных затрат оптимизация
производится с помощью итеративных алгоритмов поиска.
Упражнения
4.1. Однозвенный манипулятор с вращательным сочленением должен за
2 с переместиться из положения 0(0) = 30° в положение 6(2) = 100°.
Присоединенные скорости и ускорения в начальной и конечной точках равны
нулю.
а) Какова максимальная степень полинома, пригодного для описания
этого движения?
б) Какова минимальная степень полинома, пригодного для описания
этого движения?
4.2. В упр. 4.1 определите а) коэффициенты кубического полинома,
описывающего заданное движение; б) коэффициенты полинома четвертой
степени, описывающего заданное движение; в) коэффициенты полинома пятой
степени, описывающего заданное движение. Допускается разбиение
траектории на участки.
4.3. Предположим, что длина каждого звена двухзвенного манипулятора,
описанного в разд. 3.2.6, составляет 1 м. Требуется переместить манипулятор
из начального положения (#0> Уо) = (1,96, 0,50) в конечное положение
219
(*/» yt) = (ЬОО. 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 J
Конечное положение задается матрицей Тк:
—0,933 -0,064 0,355 412,876-1
-0,122 0,982 -0,145 596,051 I
-0,339 -0,179 -0,924 -545,869 Г
0 0 0 0 J
Точки подхода и ухода определяются по «правилу большого пальца»
вычислением 25% от dQ (величина d6 составляет 56,25 мм). Найти матрицы
однородных преобразований Ту и Тп, соответствующие точкам ухода и подхода.
4.6. Для манипулятора Пума 560, системы координат звеньев которого
заданы на рис. 2.11, требуется построить 4-3-4-траекторию для следующих
условий движения. Начальное положение манипулятора задается матрицей
однородного преобразования Тн:
-~1 0 0 От
0 1 0 600,0
0 0-1 -100,0 I
- 0 0 0 1 J
Положение в точке подхода задается матрицей Тн:
0 1 0 100,0-1
1 0 0 400,0 I
0 0-1 -50,0 Г
0 0 0 1 J
а) Точки ухода и подхода определяются по «правилу большого пальца»
вычислением 25 % от de (величина dQ составляет 56.25 мм), при этом
допустим произвольный поворот. Определите матрицу Ту, описывающую точку
ухода, если схват при переходе из начальной точки в точку ухода
развернулся на 60° вокруг оси s.
б) Определите матрицу Тк, описывающую конечное положение, если
при переходе из точки подхода в конечную точку схват развернулся на —60°
вокруг оси s,
т =
1 н
т =
Т =
220
4.7. Требуется переместить манипулятор из точки А в точку В, где А
и В описываются следующими матрицами:
О —1 0 20-1
0 0 1 30 I
-1 0 9 5 Г
О 0 0 1 J
Движение из А в В представляет собой композицию поступательного
перемещения и двух поворотов, как это описано в разд. 4.4.1. Найдите 9, *ф, <р и
х, у, z соответствующего ведущего преобразования. Найдите также три
промежуточных преобразования между А и В.
4.8. Требуется осуществить прямолинейный переход манипулятора из
точки А в точку В, сопровождаемый разворотом с постоянной угловой
скоростью на угол 0 вокруг вектора k. Точки А и В заданы следующими
матрицами однородных преобразований:
- 0 —1 0 10-1
0 0 1 30
— 1 0 0 10 I'
- 0 0 0 1 i
Найти вектор к и угол G. Найти также три промежуточных преобразования
между А и В.
4.9. Представьте найденный в упр. 4.8. поворот в форме кватерниона.
4.10. Опишите в форме кватернионов следующую последовательность
поворотов: сначала на 60° вокруг оси j, затем на 120° вокруг оси i. Найдите
результирующий поворот в кватернионной форме.
4.11» Покажите, что матрица А в выражении (4t4-64) всегда имеет
обратную.
г —1 и
и о 1
А =
0 1 0 10
0 0 -1 15
В
о о
о
I J
Г 1 v
и iu т
А =
0 1 0 10
0 0 —1 10
в =
LOO
1 J
Глава 5.
УПРАВЛЕНИЕ МАНИПУЛЯТОРАМИ
ПРОМЫШЛЕННОГО РОБОТА
Надо понимать, что происходящее
вокруг в значительной степени нам
не подвластно, зато нам подвластна
наша реакция на происходящее.
Дж. Петти
5.1. ВВЕДЕНИЕ
Если динамические уравнения движения манипулятора
заданы, целью управления манипулятором является выполнение
им движений в соответствии с заданным рабочим критерием.
Хотя проблема управления может быть сформулирована таким
простым образом, ее решение усложняется действием сил
инерции, реакции в соединениях и веса звеньев манипулятора.
Проблема управления манипулятором в общем случае сводится, во-
первых, к получению его динамических моделей и, во-вторых, к
определению закона управления им на основе этих моделей для
обеспечения требуемых рабочих и динамических характеристик
системы. Первая часть проблемы управления подробно
обсуждена в гл. 3, а вторая часть рассматривается в этой главе.
Анализ управляемого движения манипулятора показывает,
что управление движением выполняется в два этапа. На первом
этапе осуществляется управление транспортным движением, при
котором манипулятор перемещается из начального положения
или из исходной ориентации в окрестность желаемого конечного
положения вдоль планируемой траектории или ориентируется в
заданном положении. На втором этапе реализуется управление
точным (корректирующим) движением, при котором датчик
конечного положения взаимодействует с объектом, выдавая
информацию в цепь обратной связи для завершения движения.
Современный подход при проектировании систем управления
манипулятором состоит в том, чтобы управлять движением в
каждом сочленении с помощью встроенного сервомеханизма.
Такой подход не позволяет адекватно моделировать динамику
манипулятора, поскольку не учитывает движение и
конфигурацию реальной конструкции манипулятора. Это приводит к
значительным отличиям параметров модели от параметров реальной
управляемой системы, что снижает эффективность
традиционных методов управления с использованием обратной связи.
В результате скорость манипулятора уменьшается по сравнению
222
с расчетной и имеет место торможение» что ухудшает точность
и скорость позиционирования манипулятора и сужает область
применения робота. Таким образом, управляемые на основе
рассмотренного подхода манипуляторы перемещаются с низкой
скоростью и с паразитными вибрациями. Любое улучшение
параметров управления манипулятором требует рассмотрения
более эффективных динамических моделей, совершенствующих
технику управления, а также использования особых
вычислительных процедур. В данной главе рассматриваются методы,
которые реализуют Динамические модели, описанные в гл. 3, и
позволяют повысить эффективность управления манипулятором.
Заданные
Устройств
Возмущения
Манцпутщх
\Цатчики и
схемы
оценибания
Унтеррейс
Рис. 5.1. Общая блок-схема управления манипулятором робота.
Рассматривая управление манипулятором как задачу
формирования траектории движения (рис. 5.1), управление движением
можно подразделить на три основных вида:
1. Управление движением сочленений манипулятора.
• Сервомеханизм звена (схема управления манипулятором
робота Пума).
• Метод вычисления моментов.
• Оптимальное по быстродействию управление.
• Управление переменной структурой.
• Нелинейное независимое управление.
2. Программное управление движением в декартовом
пространстве по скорости, ускорению и силе.
3. Адаптивное управлеш1е.
• Адаптивное управление по заданной модели.
• Самонастраивающееся адаптивное управление.
• Адаптивное управление по возмущению с компенсацией
по прямой связи.
• Адаптивное управление программным движением.
Предполагается, что движение вдоль траектории в связанной
или декартовой системе координат является функцией времени.
223
5.2. УПРАВЛЕНИЕ МАНИПУЛЯТОРОМ РОБОТА ПУМА
Каждое сочленение манипулятора робота управляется своим
простым сервомеханизмом. Устройство управления
манипулятором робота Пума серии 560 состоит из вычислительного
устройства DEC LSI-11/02 и шести микропроцессоров Rockwell
6503, каждый из которых имеет кодирующее устройство, цифро-
аналоговый преобразователь (ЦАП) и усилитель тока.
Структура управления построена иерархически. На верхнем уровне
иерархической системы находится микрокомпьютер LSI-11/02,
который используется в качестве ЭВМ верхнего уровня. На
Терминал
Флоппи*
диск
Панель
\ynpafae~
RepuqjepuUHbie\
устройства
Цифроа налоговый
преобразователь
\BLY~W
/\
\VALtcmupae
woe лрограм\
упируемоеПЩ
\Канал
прямогодосту-
хяавпамятм
\ЦентральнЫ1\
I процессор
MZWT-// уАШтерохйс
Г"^
L
6503
мп
>
\
—г
т
\&MU№*6
Y-
Двигатель
сочленения I
Кодирую
щее
устрой-
1 ство
Т^28мс
Цифроаналоеобш
нрееЬра?одател&
6503
МП
ь-
V
LSMJ/02
иьШсштт
дйигатель
сочленения 6
к
0,87д~МО
Манипулятор peSamct Яулга
шдируго-
\ щее
"368"
Рис. 5.2. Схема управления манипулятором робота Пума.
нижнем уровне располагается шесть микропроцессоров 6503 —
по одному на каждую степень свободы (рис. 5.2).
Вычислительное устройство выполняет две основные функции: 1)
взаимодействие с пользователем в режиме связи терминала с
процессором и составление подзадач из списка команд пользователя
VAL*> и 2) координацию работы шести микропроцессоров; 6503
для выполнения команды. Режим связи терминала
пользователя с процессором включает грамматический разбор,
интерпретацию и декодирование команд VAL, а также выдачу
пользователю соответствующих сигналов об ошибках. Когда команда
VAL декодирована, вызываются внутренние программы для вы-
]> VAL — пакет программ для управления манипулятором робота Пу«
ма, разработанный фирмой Unirnation 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)1.
Микропроцессор вычисляет сигнал ошибки положения
сочленения и посылает его на аналоговую плату, которая имеет
обратную связь по току с каждым двигателем сочленения.
Для управления каждым сочленением имеются два контура
управления. Внешний контур оперирует информацией об ошибке
позиционирования и обменивается данными с
микропроцессорами 6503 примерно каждые 0,875 мс. Внутренний контур
состоит из аналоговых устройств и компенсатора с обратной
связью по производной для демпфирования сигналов
отклонений по скорости. Коэффициенты передачи обоих контуров
постоянны и обеспечивают «критическое демпфирование системы
сочленений» по скорости, определяемой программой VAL.
Основными функциями микропроцессоров являются:
1. Получение и обработка опорных точек траектории от
вычислительного устройства LSI-11/02 и проведение
интерполяции между текущими и заданными значениями параметров
сочленений через 28 мс.
8 К. Фу и др.
225
2. Считывание значений регистра, который накапливает
приращения величин от кодового датчика, формируемых по
каждой оси вращения, через 0,875 мс.
3. Накопление сигналов ошибки от интерполированных
опорных точек сочленений и значений от кодового датчика по осям.
4. Преобразование сигналов ошибки в токовые сигналы с
помощью преобразователя DAC и подача их на аналоговую
плату, сигналы с которой организуют движение в сочленениях.
Отметим, что в схеме управления роботом Пума используется
пропорционально-интегрально-дифференциальный метод
управления (ПИД-регулятор), Основной недостаток этой схемы
управления состоит в том, что коэффициент передачи обратной
связи постоянен и предварительно задан. Это не дает
возможности изменять коэффициент передачи обратной связи при
изменении нагрузок. Так как промышленный робот представляет
собой достаточно нелинейную систему, то силы инерции,
реакции и веса зависят от положения или от положения и скорости
и могут изменяться в больших пределах. Таким о0разом,
рассмотренная схема управления, в которой используется
постоянный коэффициент передачи для управления нелинейной
системой, неэффективна. Действительно, манипулятор робота Пума
перемещается с сильными вибрациями на малых скоростях.
Одно из решений этой проблемы заключается в использовании
цифрового управления, при котором прикладываемые моменты
к манипулятору робота обрабатываются на ЭВМ, где заложена
соответствующая динамическая модель манипулятора. Вариант
такого метода рассматривается в разд. 5.3.
5.3. МЕТОД ВЫЧИСЛЕНИЯ УПРАВЛЯЮЩИХ МСЩЩЩ
Если движение манипулятора описывается уравнениями
Лагранжа — Эйлера или Ньютона — Эйлера, задачей^ управле-
ния является нахождение управляющих моментов и СШ*щШ$§
моменты и силы должны обеспечивать максимально
приближенное к заданной траектории движение конечного звена
манипулятора в реальном времени, Управляющие моменты
привода определяются с помощью динамической модели манипул
лятора, основанной на используемых уравнениях движения,
В расчетной схеме моделируются рабочие характеристики
двигателя, а также предусматривается преобразование
вычисленного момента в управляющие напряжения или ток
двигателя. Управляющее напряжение вычисляется с такой
скоростью, которая позволяет пренебречь запаздываниями,
возникающими в процессе анализа вычислений.
Параметры модели отличаются от параметров реальнее
объекта управления. Поэтому необходимо использовать сигналы Ж
обратной связи по положению и скорости для коррекции
расчетных ?л$&ментов с целью обеспечения необходимой величины
упраЩйощего сигнала, подаваемого на двигатели сочленений 1>.
даточная функция одного сочленения робота
разделе излагаются методы получения передаточной
Шдрищин одного сочленения робота, с помощью которых можно
построить пропорционально-дифференциальные регуляторы
У|ЩД-регуляторы). Рассмотрены также методы построения
регулятора для многосуставных манипуляторов, движение
которых описывается уравнениями Лагранжа — Эйлера или
Ньютона— Эйлера. При анализе одно сочленение манипулятора ро-
6pwa трактуется как линейная непрерывная система, к которой
для упрощения вычислений может быть применен метод
преобразований Лапласа.
Большинство промышленных роботов имеют электрические,
гидравлические или пневматические приводы. Манипуляторы с
электрическими приводами чаще всего оснащаются двигателями
постоянного тока с независимым возбуждением в каждом
сочленении. Двигателями постоянного тока являются, как правило,
двигатели с постоянным магнитом, якорным возбуждением и с
непрерывным вращением выходного вала. Они сочетают в себе
такие качества, как высокая мощность, плавность хода,
возможность работы на малых скоростях, линейность нагрузочной
характеристики и небольшие постоянные времени.
Использование постоянного магнитного поля и энергии постоянного тока
обеспечивает максимальный момент при минимальной энергии,
затрачиваемой на питание, и при минимальном весе. Эти
параметры также позволяют снизить индуктивность двигателя и,
следовательно, величину постоянной времени, обусловленную
электрическими взаимодействиями. На рис. 5.3 приведена
эквивалентная схема двигателя постоянного тока с управлением в
цепи якоря, который может быть использован в сочленении
манипулятора. Основными переменными величинами в этой схеме
являются следующие:
Va — напряжение якоря, В;
Vf — напряжение поля, В;
La — индуктивность якоря, Гн;
Lf — индуктивность поля, Гн;
Ra — сопротивление якоря, Ом;
Iff — сопротивление поля, Ом;
ia — ток якоря, А;
1> Двигатели, встроенные в шарниры звеньев, здесь и далее будем для
краткости называть двигателями сочленений. — Прим. редч
S*
227
if — ток поля, А;
еь —электродвижущая сила, В;
т —момент, развиваемый двигателем, Н-м;
8т — угловое перемещение вала двигателя, рад;
8д — угловое перемещение вала нагрузки, рад;
]т -— момент инерции двигателя, приведенный к валу
двигателя, н-м-с2/рад;
fm — коэффициент вязкого трения двигателя, приведенный
к валу двигателя, н-м-с/рад;
JL — момент инерции нагрузки, приведенный к валу
нагрузки, н«м-с2/рад;
fL — коэффициент вязкого трения нагрузки, приведенный к
валу нагрузки, н-м-с/рад;
Nm—число зубьев внутреннего редуктора (редуктора
двигателя) ;
Ыц— число зубьев внешнего редуктора (редуктора нагрузки).
Рис. 5.3. Эквивалентная схема двигателя постоянного £<жа с управляющем
в цепи якоря*
Нагруженное звено соединяется с выходным валом
двигателя с помощью редуктора — механической системы передач.
Как следует из схемы системы передач, показанной на рис. 5.4,
общее линейное перемещение редукторов при их взаимодействии
одинаково, т. е.
dm:=dL и rm9m = rL9L,
где гт и rL — соответственно радиусы взаимодействующих
шестерен внутреннего и внешнего редуктора. Так как радиус,
шестерни пропорционален числу зубьев, то
или
L tn
(5.3-2)
(5.3-3)
где /#^йёрЩаточное отношение, связывающее 9l и 0т
следующим образом:
eL(0 = nem(/). (5.3-4)
дифференцировав два раза, получим
h(f) = nbm(t) (5.3-5)
fe BLw—пёт(0. (б.з-б)
Шслй нагрузка подсоединена к внешнему редуктору, момент,
и®
Яередаточное
отношение pafya п
fm^777777>
6m~6Lln
Рис. 5.4. Анализ системы механической передачи.
обеспечиваемый выходным валом двигателя, равен сумме
моментов, потребляемых двигателем и нагрузкой.
Таким образом,
[Момент на "I
валу
двигателя
мент на "| _ %л _ Г Момент нагрузки, 1
ВаЛ^ h д™Тя ]+ пРиве*енный (5.3-7)
дгателя J 1_двш<иел>^ lk валу двигателя J
или в другой форме
* (0 = *„(*) + *:(/).
(5.3-8)
229
Момент нагрузки, приведенный к валу нагрузки, равен
4(t) = JA(t) + fA(t)> (5.3-9)
а момент двигателя, отнесенный к валу двигателя, равен
тт (/) = /mem (/) + f mem (0. (5.3-ю)
По закону сохранения энергии работа, которая производится
нагрузкой, приведенной к валу нагрузки tl8l, должна равняться
работе, приведенной к валу двигателя т^8т. Из этого следует,
что
т, (/) е, (t)
С учетом уравнений (5.3-9), (5.3-5) и (5.3-6) имеем
т! (г) = п2 [jLQm (t) + fLQm (/)]. (5.3-12)
Используя уравнения (5.3.10) и (5.3.12), запишем выражение
для момента, развиваемого выходным валом двигателя:
т (0 = гт (о + xl (/) = (jm + n2jL) ew (t) + (fn + n%) em (/) =
='e„em(0 + /effem(0, (5.3-13)
где Jen = Jm + n2JL — суммарный эффективный момент инерции
двигателя и нагрузки, приведенный к валу двигателя, a /eff =
= fm + n2fb — суммарный коэффициент вязкого трения
двигателя и нагрузки, приведенный к валу двигателя.
Основываясь на полученных выше результатах, можно
определить передаточную функцию paccMaTpH^aew^^drejii^^^^^fo
сочленения манипулятора. Поскольку моментЖ£ $Щу двигателя
линейно зависит от тока якоря и не зависит от скорЬс$и и
углового положения, получим
r(t) = KJa(t)i (5.3-14)
где Ка — коэффициент пропорциональности, имеющий размер*:
ность н-м/А, Используя закон Кирхгофа для контура якоря,
получим
У а (0 - RJa Ю + La ^Г~ + *Ь<4 ] (5.3-15)
где еь — электродвижущая сила, пропорциональная угловой
скорости двигателя:
мо-кАло. (5-з-1б)
а Кь — коэффициент пропорциональности, имеющий размер*
ность В-с/рад. Производя преобразование Лапласа над полу-
230
Нрешв уравнениями и решая их относительно Ia(s), получим
Уа (5) - sKb@m (s)
да i sLa
ш
(5.3-17)
-•В результате выполнения преобразования Лапласа над
уравнением (5.3-13) имеем
Т (*) = s2/eff6w (s) + sf^Qm (s). (5.3-18)
- Производя преобразование Лапласа над уравнением (5.3-14)
;В: подставляя в него значение la(s) из уравнения (5.3-17),
получим
Т (*) = KJa (*) = Ка [Ka(V+^!m(S)] ' (5-3"19)
Приравнивая уравнения (5.3-18) и (5.3-19) и группируя члены,
Излучаем передаточную функцию от напряжения якоря к
угловому перемещению вала двигателя
6m(s) _ Ка
У а (*> "" S [s2JciiLa + (^/eff + *«'eff) S + «Jeff + % aK b] '
(5.3-20)
Так как величина постоянной времени двигателя, обусловленная
электрическим взаимодействием, намного меньше ее величины,
т(*)
sQm{s) ад ejs)
5/**
i
5U+ R<
t
к*
v. 1
'£
1
J ЛаР + /cff
1
n
Рис. 5.5. Передаточная функция разомкнутой системы одного сочленения
манипулятора робота.
обусловленной механическими факторами, можно пренебречь
влиянием индуктивности якоря La. Это позволяет упростить
предыдущее уравнение и записать его в виде
em (s) Kg К
У а <*) " S Weft + «Jeff + *aKb) S (T mS + l)
(5.3-21)
где /С А
Ка
— передаточный коэффициент двигателя и
— постоянная времени двигателя.
231
Поскольку выходом системы управления является угловое
перемещение сочленения [Oi(s)], используя уравнение (5.3-4)
и его преобразование Лапласа, можно отнести угловое
положение сочленения ®l(s) к напряжению якоря Va(s), т. е.
&L (S) nKa
~vj^) = *Wa + RJrt + KaKb) ' (5'3"22>
Уравнение (5.3-22) является передаточной функцией одного
сочленения манипулятора, связывающей прикладываемое
напряжение с угловым перемещением сочленения. Блок-схема
системы показана на рис. 5.5.
5.3.2. Устройство позиционирования для одного сочленения
манипулятора
Назначением устройства позиционирования является
управление двигателем таким образом, чтобы реальное угловое
перемещение сочленения совпадало с желаемым угловым
перемещением, определяемым заданной траекторией (см. гл. 4).
Управление основано на выработке сигнала ошибки между заданным
и действительным угловыми положениями сочленения для
выработки соответствующего управляющего напряжения. Другими
словами, прикладываемое к двигателю напряжение прямо
пропорционально ошибке между заданным и действительным
угловыми перемещениями сочленения:
Vaс,. *£* - *,ГС <*>-»*<'» , (5.3.23)
а v 7 п п v
где КР — коэффициент передачи обратной связи по положению,.
имеющий размерность В/рад, е (t) — Ql (/) — Ql (/) — ошиС
стемы, п — передаточное отношение, учитывающее прЩр
управляющего напряжения к валу двигателя. Из ypirt
(5.3-23) следует, что значение действительного углового
положения сочленения подается на вход системы для выработки^
сигнала ошибки. Этот сигнал усиливается на величину
коэффициента передачи обратной связи по положению Кр для той*--'
чтобы получить требуемое управляющее напряжение. Tftgpt
образом, мы преобразовали систему одного сочленения робота
из разомкнутой системы управления, которая описывалась
уравнением (5.3-22), в замкнутую систему управления с помощью
блока отрицательной обратной связи (рис. 5.6). Текущее угло- |
вое положение сочленения может измеряться с помощью оптин
ческого кодирующего устройства или потенциометра.
Применяя преобразование Лапласа к уравнению (5.3-23) i
Va{s)-
232
Kp[ej(s)-eL(s)] = kpe(s) (5^jgj
и подставляя Va(s) в уравнение (5.3-22), получим передаточную
фун!Щш§ разомкнутой системы, связывающую ошибку управ-
ЮЙОЩего сигнала [£(s)] с текущим положением сочленения;
Е{8) =U W s (sRaLeU + RJeti + KaKb) '
(5.3-25)
Ti' После нескольких простых алгебраических преобразований
%К)Жно получить передаточную функцию замкнутой системы,
*, + **,
UU
^ п
VJA
T(.V)
*8
гфН sLu + Rt
I
fc'eff + /cf
^Us)
.Рис. 5.6. Управление с обратной связью одним сочленением манипулятора.
представляющую собой отношение действительного углового
перемещения 0l(s) к желаемому @l(s) угловому перемещению:
eL(s) G(s) КаКр ^^
е£ (s)
\ + G(s) s2RaJeil + s (Rjeti + KaKb) + KaKp
*2 + [(*Ли + KaKb)/RaJeU] s + KaKp/RafeU '
(5.3-26)
Из уравнения (5.3-26) видно, что пропорциональный регулятор
для одного сочленения робота представляет собой систему
второго порядка, которая является устойчивой, если все
коэффициенты системы положительны. Для того чтобы улучшить
динамику системы и уменьшить статическую ошибку, можно
увеличить коэффициент передачи обратной связи КР и ввести
демпфирование в систему путем учета производной от ошибки
позиционирования. Угловая скорость сочленения может
измеряться тахометром или вычисляться по соответствующем
величинам между двумя последовательными положениями
сочленения. С учетом этого замечания управляющее напряжение
двигателя будет прямо пропорционально ошибке позиционирования
и ее производной, т. е.
Va{t) =
Кр [6j (t) - QL «)] + К0 Щ (0 - &L (Qj _ Кре (0 + К0ё (О
(5.3-27)
233
где Kv — коэффициент передачи обратной связи по производной
от ошибки, а п— передаточное отношение редуктора,
учитывающее приведение управляющего напряжения к валу двигателя.
Уравнение (5.3-27) отражает тот факт, что кроме обратной
связи по положению организуется обратная связь по скорости.
Для этого измеряется или вычисляется скорость двигателя с
последующим умножением ошибки по скорости на коэффициент
обратной связи по скорости Kv. Поскольку, как это показано
в гл. 4, желаемая траектория сочленения может быть описана
гладкими полиномиальными функциями, две первые
производные которых существуют на интервале [/0, tf), желаемая
скорость может быть вычислена по этим полиномиальным
функциям и использована для получения ошибки по скорости в
контуре обратной связи. Сумма напряжений, полученных с
помощью контуров обратной связи, подается на двигатель
сочленения. Соответствующая замкнутая система управления
показана на рис. 5.6.
Производя преобразование Лапласа над уравнением (5.3-27)
и подставляя Va(s) в уравнение (5.3-22), получим
передаточную функцию, связывающую сигнал ошибки [£(s)] с
действительным перемещением сочленения:
Е{8) -^WW- *(**Л|! +*Лй+****) _
W + V. (6.3.28)
С помощью простых алгебраических преобразований получаем
передаточную функцию замкнутой системы, связывающую
действительное угловое перемещение [Oi(s)] с желаемым угловым
перемещением [&i (s)):
е^>_ gpdM KaKvs + KaKp
®l " 1 + gpd <*) " " *Veff + 5 (^Jeff + KaKb + KaKv) + KaKp '
(5.3-29)
Заметим, что при Kv = 0 уравнение (5.3-29) переходит в
уравнение (5.3-26). ;
Уравнение (5.3-29) описывает систему второго порядка,
корень которой расположен на расстоянии —Kp/Kv в левой
полуплоскости на плоскости аргумента s. Расположение этого корня
влияет па величину перерегулирования и на длительность
переходного процесса. Система управления манипулятором нахск
дится также под действием возмущений [D(s)] от сил веса и
центробежных сил, действующих на звено манипулятора
(рис. 5.7). Таким образом, момент, вырабатываемый на валу
234
ЩШггеля, должен компенсировать моменты, теряемые на самом
двигателе, моменты, потребляемые нагрузкой, а также моменты,
^Шкодуемые на устранение влияния возмущений. Отсюда с уче-
*Ъ1 уравнения (5.3-18) получаем
Т (*) « [s2JQli + sfm] 6m (s) + D (в), (5.3-30)
;|де D(s) — преобразование Лапласа от возмущающих
воздействий. Передаточная функция, связывающая возмущения с
действительным перемещением сочленения, записывается в виде
-*Я-
*2Veff + 5 (^eff + КаКь + KaKv) + КаКр '
(5,3-31)
Используя уравнения (5.3-29) и (5.3-31) и принцип
суперпозиции, можно получить действительное перемещение
сочлене*)
oft?) va(s) J o/H(.v>
*ПЗН
Рис. 5.7. Блок-схема управления с обратной связью манипулятором при
наличии возмущений.
нения с учетом двух входных воздействий &l(s) и D(s) в
следующем виде:
Ка(Кр + sKv)BdL(s) - nRaD(s)
eL(s) = -
** Veff + * Weff + V» + /^*0) + tfatf „
(5.3-32)
Ниже рассмотрена работа описанной замкнутой системы, в
частности влияние вида входного воздействия на статическую
ошибку системы и нахождение значений коэффициентов
передачи обратной связи по положению и скорости.
5.3.3. Критерии работоспособности и устойчивости
Работа замкнутой системы управления второго порядка
основана на таких критериях, как обеспечение хорошей
динамики, небольшая или нулевая статическая ошибка и малые
времена переходных процессов. Сначала исследуем диапазон
значений коэффициентов передачи обратной связи по
положению и скорости. В предположении, что возмущения отсутствуют,
235
из уравнений (5.3-29) и (5.3-31) видно, что мы имеем систему
второго порядка с нулевым корнем. Наличие нулевого корня в
системе второго порядка обычно приводит к более быстрой
обработке заданного значения на входе системы и сопровождается
большей величиной перерегулирования по сравнению с системой
второго порядка без нулевого корня. Временно пренебрегая
эффектом, вызываемым наличием нулевого корня, попытаемся
определить значения Кр и Kv, которые обеспечивают
критическое или надкритическое демпфирование системы.
Напомним, что характеристическое уравнение системы
второго порядка может быть записано в следующей стандартной
форме:
52 + 2£cofts + < = 0, (5.3-33)
где £ и соя — соответственно коэффициент демпфирования и
собственная частота колебаний системы. Сравнивая полюсы
замкнутых систем, описываемых уравнениями (5.3-29) и (5.3-33),
видим, что
и
2£соя = т—к . (5.3-35)
JeftHa
Работа системы второго порядка определяется значениями ее
собственной частоты колебаний ю„ и коэффициентом
демпфирования £. Из соображений безопасности система манипулятора
не должна отрабатывать ступенчатое входное воздействие с
недостаточным демпфированием. Для обеспечения требуемда0* в
указанном выше смысле режима работы необходимо иМе^Д^
тическое или надкритическое демпфирование системы, ссютве*-
ствующее значению коэффициента демпфирования, большему
или равному единице. Передаточный коэффициент обратной
связи по положению определяется из уравнения (5.3-34) для
собственной частоты колебаний системы
К,-"*У*« >0. (5.3-36)
Подставляя G>n из уравнения (5.3-34) в уравнение (5.3-35),
находим, что
_ УеИ + *а*Ь+*Я*, > j (5>3.37)
2V*«Veff*a
где равенство дает критическое демпфирование системы, а
неравенство соответствует надкритическому демпфированию си-
236
стемы. Из уравнения (5.3-37) можно найти передаточный
коэффициент обратной связи по скорости:
^SVW^-^e»-*^ (5зз8)
Для устранения колебаний и резонанса конструкции сочленения
необходимо выбирать значение частоты собственных колебаний,
не превышающее половины величины резонансной частоты
конструкции сочленения [229], т. е.
со„ < 0,5сог, (5.3-39)
где сог — резонансная частота конструкции сочленения (рад/с )\
Резонансная частота конструкции зависит от материала, из
которого изготовлен манипулятор. Если эффективную жесткость
сочленения обозначить kstnu то возвращающий момент &stiH0m (t)
противодействует моменту инерции двигателя:
/effem (0 + *stiff9m (0 = 0. (5.3-40)
Производя преобразование Лапласа, получим
характеристическое уравнение выражения (5.3-40) в виде
W + £stiff = 0. (5.3-41)
Решение этого уравнения дает резонансную частоту
конструкции системы
*-(£)"■ «5.3-42,
Хотя жесткость сочленения является постоянной величиной, в
случае дополнительной нагрузки на манипулятор эффективный
момент инерции будет возрастать, что в свою очередь приводит
к уменьшению резонансной частоты конструкции. Если
резонансная частота конструкции со0 измерена для известного
момента инерции, то для другого момента инерции /0 она
определяется по формуле
(0Г
= со0(-^7)1/2- (5.3-43)
Используя выражение (5.3-39), находим ограничения для Кр из
уравнения (5.3-36):
°<кР<%^- <5-3-44>
С учетом уравнения (5.3-43) эти ограничения преобразуются к
виду
°<*р<4*г-- (5-з-45)
237
Зная KPf передаточный коэффициент обратной связи по скорости
Kv можно найти из уравнения (5.3-38):
тг ^ Ra^O yJ0Jeii ~ # Jeff ~~ ^Л /С о Л а\
Kv > т? . (5.3-4b)
На следующем этапе исследуются статические ошибки
рассматриваемой системы для ступенчатых и непрерывных входных
воздействий. Ошибка системы определяется как £(/) = 8l(/) —
— 9l (/). Используя уравнение (5.3-32), ошибку в виде
преобразований Лапласа можно записать так
нм-е*м-е fc) [s%uRa + s{Rahif + KaKb)] ei {s) + nRa°(s)
£(S)-VL(S) VlW- s>RJeU + s(RJeU + KaKb + KaKv) + KaKp '
(5.3-47)
Для ступенчатого входного воздействия с амплитудой Л, т. е.
при 6l (/) = Ау и при неизвестном возмущающем входе
статическая ошибка системы на ступенчатое входное воздействие
может быть найдена из теоремы существования предела:
ess (ступенчатое воздействие) A essp = lim е (t) = Vim sE(s) =
= lim s [s2/effi?fl +'{RJeU + Ka~b)] A/s + nR«D {s) -
sXo ^аГьП + 8(Я^и + КаКь + КаК9) + КаКр ~
""И* L ^JeU + s (RafJ+aKaKb + KaKv) + KaKp J • (5*3'48)
Эта ошибка является функцией возмущений. Мы можем
заранее определить такие возмущающие воздействия, как сила
тяжести и центробежный момент, которые зависят от скорости
сочленения. К возмущениям, которые не могут быть точно
определены, относятся момент трения в редукторах и помехи в
системе. Таким образом, можно идентифицировать каждый из
этих моментов отдельно как
т*(0 = *в(/) + *с(0 + т.. (5.3-49)
где то (О и тс(0—соответственно моменты сил тяжести и
центробежных сил звена минипулятора, а хе — остальные
возмущающие воздействия, кроме сил тяжести и центробежных сил,
значения которых предполагаются равными малой постоянной
величине. Соответствующим преобразованием Лапласа
уравнения (5.3-49) является следующее уравнение:
D (s) = TG (s) - Тс (*) + Ц. (5.3-50)
Для того чтобы скомпенсировать силы тяжести и центробежные
силы, можно вычислить величины моментов от них и эти значе-
238
"|щя подать в устройство управления, как это показано на рис. 5.8,
С целью минимизации их влияния. Такая компенсация называет-
ся компенсацией по прямой связи.
Обозначим вычисленные моменты через xcomp(0» a ИХ пРе"
образование Лапласа— через rcomp(s). Используя эти обозна-
\&хдсиот
шал
программа
щ
-±(
АЦ/7
ц^\ Тахометр
Вычисление
эдс
двигателя
компенсация
щиивни оорат.
•ной связи
Bid)
[Вычислена^ Ч
моментов
ХарактерисА
у&ипика иналря\
Ъюение-маяент1?
f^XuAH \ЦА
Вбмисление
силы тяжести,
кориолисовызс сил,
центробежной симг,
сил инерции
Праведной
ивиеатель
*т»)
№
Федун-
тор
уСомпенсация
ошибки
позиционирования
АЦП
¥■
т
Рис. 5.8. Компенсация возмущений.
ченияи уравнение (5.3-50), преобразуем уравнение (5.3-47) к
виду
F М - №«#* + S (*J*t + *«*»)] @t (д) ,
nRa [Т0 (s) + Тс (s) + TJs - Гсотр (s)\
+
**«a'eff + * («Jeff + KaKb + KaKv) + KaKp
(5.3-51)
Для ступенчатого входного воздействия 0l(s) = A/s
статическая ошибка позиционирования системы запишется следующим
образом:
essp - iim |_ s2RJen + s {RJ&u + КаКь + KaKv) + KaKp J . y>.d-wj
При стремлении времени к бесконечности величина
погрешности от центробежной силы в статической ошибке позициони-
239
рования равна нулю. Причина этого состоит в том, что
центробежная сила является функцией 8l (t) и при стремлении
времени к бесконечности 9l(°o) стремится к нулю. Следовательно,
ее вклад в величину статической ошибки позиционирования
равняется нулю. Если момент тСотр(0 создается только силой
тяжести звена манипулятора, выражение для статической
ошибки позиционирования упрощается:
£ssp == £- is ■ (О.О-Оо)
ЛдАр
Поскольку значение Кр ограничено неравенством (5.3-45),
предыдущее выражение также упрощается:
еззр = -^. (5.3-54)
Это выражение является малой величиной, так как значение те
предполагалось малым. Вычисление %gU) рассмотрено ниже
(с использованием динамической модели манипулятора).
Если входом системы является непрерывная функция, то
в! (s) = Ajs2t и в предположении, что возмущения определены в
соответствии с уравнением (5.3-50), статическая ошибка
системы равна
ess (непрерывное воздействие) Д essv =
Для того чтобы упростить выражение для статической ошибки'
но скорости, вычислим снова момент [тсотр(/)]| эквивалентшц&^
действию силы тяжести и центробежной силы, В результате
статическая ошибка по скопости запишется в виде
В это выражение входит конечная статическая ошибка.
Вычисление Тсотр(0 зависит от динамической модели манипулятора^
В общем случае, как это показано в гл. 3, уравнения Лагран-
жа — Эйлера, описывающие движение манипулятора с шесЙШШ
сочленениями без учета динамики электронного управляющего^
240 I
блока, трения в редукторе и люфтов, могут быть записаны в
виде, соответствующем уравнению (3.2-24):
"Em^[^]b Для /=1, 2, ..., 6, (5.3-57)
где т/(0 — обобщенный управляющий момент в i-u сочленении
для перемещения /-го звена, qi(t) и cji(t) — соответственно
угловая скорость и угловое ускорение /-го сочленения, qi —
обобщенная координата манипулятора, определяющая его угловое
положение; °Т; — однородная матрица преобразования для
звена размерностью 4X4, которая связывает пространственное
расположение между двумя системами координат (/-й и
базовой системами координат), г*— положение центра масс /-го
звена относительно /-й координаты системы, g —(g*, gv, gz, 0) —
линейный вектор силы тяжести, |g| = 9,8062 м/с2, Si — матрица
псевдоинерции /-го звена относительно системы координат /-го
звена, которая может быть записана в соответствии с
уравнением (3.2-18).
Уравнение (5.3-57) может быть выражено в матричной форме
в явном виде
£ Dlkqk (/) + S Z hlkmqk (/) qm (t) + ct = xt (t), /=1,2 6,
(5.3-58)
где
А Г d°Tj f d°Tj \П
D«= I 4^J'Uf)]' '.*-ья.....в.
/=max<«, ft) L A Ч ' ' J
(5.3-59)
h^= £ Tr[iSrJ'(^r)r]- «.*.«-!.«..-.6.
/-max(f, ft. m) m l
(5.3-60)
^ = Zf-^g(^)"r/l '-Uh,,! (5.3-61)
241
-Ci(t) = [Dib Di2, Di3, Di4, Dl5, D№]
+
Уравнение (5.3-57) можно записать в матричном виде
q2(t)
qAt)
ш
ш
Ue(0J
+ Wi(0» 42(О, <7з(0, Ы'), ЧЛО, &(01Х
hi\\ hm hm h-i\\ fyis "ш
"Ш "£22 "£23 "£24 "£25 "£26
"£31 "£32 ^£33 ^£34 ^£35 "£36
X
— ^£61 ^£62 ^£63 km ^£65 ^£66 —
&(0
qAt)
q5(t)
I qAt) J
+ ct. (5.3-62>
Используя уравнения Лагранжа — Эйлера, описывающие
движение манипулятора, можно определить моменты силы
тяжести, центробежной силы и кориолисовых сил для /-го
сочленения соответственно в виде
xG(t) = ch г = 1, 2, ..., 6,
(5.3-63)
rc(t) = [qi(t), «МО, qAt), qAt), qAt), qAt))X
.qAt)
hm has "£i6
"£21 "£22 "/23 ^£24 ^£25 ^26
hiM hiv) htvx hfOA hiw. h
X
^.11 hi\2 ^£13
431 "£32 "£33 "/34 "£35 'Ч36
^/6i ^/62 ^63 A£64 /ггб5 Л/66 j
<72 (0
I<7e(0J
/=1, 2, ..., 6.
(5.3-64)
Эта компенсация соответствует тому, что обычно называют
методом обратной задачи динамики или методом вычисления
момента.
5.3.4. Устройство управления многосуставным роботом
Одной из основных схем управления манипулятором с
несколькими сочленениями является схема, основанная на методе
вычисления момента, в котором используются уравнения дви-
242
Щ&нкя Лагранжа — Эйлера или Ньютона — Эйлера. По
существу метод вычисления момента представляет собой прямое
управление, которое, однако, включает компоненты как прямой,
Так и обратной связи. Такое управление позволяет
компенсировать силы взаимодействия между разными сочленениями, при
этом компоненты обратной связи позволяют вычислить
необходимые корректирующие моменты для компенсации отклонений
от желаемой траектории. Предполагается, что могут быть точно
определены значения, соответствующие величинам D(q), h(q, q)
и c(q) в уравнении движения Лагранжа — Эйлера (3.2-26). Это
необхЬдимо для минимизации нелинейных эффектов и
использования пропорционально-дифференциального управления
двигателями сочленений. Таким образом, закон управления имеет
следующую форму:
Т (/) - Da (q) (qd (I) + К, \qd (t) - q (/)] + К, [qd (t) - q (t)]} +
+ he(q, q) + ca(q), (5.3-65)
где Kv и Кр — соответственно матрицы передачи в обратных
связях по производной и по положению размерностью 6X6 для
манипулятора, имеющего 6 степеней подвижности.
Подставляя т(/) из уравнения (5.3-65) в уравнение (3.2-26),
имеем
D (q) q(t) + h(q, q) + с(q) - Da (q) {qd (t) +
+ K0 [qd (/) - q (01 + Kp [qd (t) - q (t)]} + 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) [e (t) + K,e (t) + Kpe (/)] = 0, (5.3-67)
где e(t)Aqd(t)-q(t) и e(t)Aqd(t)-q(t).
Поскольку функция D(q) всегда несингулярна, КР и К^
могут быть выбраны таким образом, чтобы корни
характеристического уравнения (5.3-67) имели отрицательные
действительные части, при которых вектор ошибки позиционирования е(/)
асимптотически стремится к нулю.
Вычисление моментов в сочленениях, основанное на
использовании уравнений Лагранжа — Эйлера в общем виде, является
неэффективным, и поэтому цифровое управление с обратной
связью в режиме реального времени, как было показано в
работе [226], невозможно или очень сложно реализовать. По этой
причине обычно упрощают уравнение (5.3-65), пренебрегая
функцией ha(q, q), зависящей от скорости, и недиагональными
элементами матрицы Da(q), характеризующей ускорение. В этом
243
случае закон управления приобретает форму
т (0 - diag [Da (q)] (qd (t) + K0 [qd (t) - q (/)] +
+ Kp[qd(»q(0]} + Ca(q). (5.3-68)
Моделирование на ЭВМ показало, что указанными величинами
нельзя пренебрегать в случае движения манипулятора робота
с большой скоростью [226].
Аналогичный закон управления манипулятором робота для
связанной с сочленениями системы координат может быть
получен из уравнений движения Ньютона — Эйлера. Рекурсивный
закон управления выводится путем подстановки qi{t) в
уравнения движения Ньютона — Эйлера для определения
необходимого момента на каждом двигателе:
Яг М = qf (t) + t КЦ [qf (1) - Я, Щ + t Kjf [qf fl) - q, (J)],
(5.3-69)
где KlJ и KlJ— соответственно коэффициенты передач
обратных связей по производной и положению для i-ro сочленения,
а еу (/) = q<j (t) — qj (t)—ошибка позиционирования для /-го
сочленения. Физическая интерпретация использования уравнения
(5.3-69) в рекурсивных уравнениях Ньютона — Эйлера может
быть представлена следующим образом:
1. Первый член позволяет выработать желаемый
управляющий момент для каждого сочленения, если правильно выбрана
математическая модель объекта управления и известны
физические параметры системы. Однако отклонения от желаемой
траектории движения сочленения будут неизбежны из-за
наличия в контуре сервомеханизма ошибок от люфтов, трения в
редукторе, неопределенности сил инерции и задержек времени.
2. Остальные члены в уравнениях движения Ньютона —
Эйлера позволяют выработать корректирующий момент для
компенсации малых отклонений от желаемой траектории движения
сочленения.
Приведенный рекурсивный закон управления представляет
собой пропорционально-дифференциальное управление,
компенсирующее действие сил инерции, реакции и тяжести в звеньях
манипулятора. Для того чтобы обеспечить критическое
демпфирование для каждой из подсистем сочленения, матрицы передач
обратной связи Кр и К», которые являются диагональными,
могут быть выбраны в соответствии с методами, рассмотренными
в разд. 5.3.3 или в работах [229, 180]. При свободном
движении критически демпфированных подсистем предполагается, что
вся система ведет себя как критически демпфированная.
Таким образом, метод вычисления моментов представляет
собой компенсационное управление по прямой связи. Основы-
244
ваясь на уравнениях движения Лагранжа — Эйлера, записанных
в общем виде, управляющие моменты в сочленениях могут быть
вычислены за время О (/г4). Аналогичный закон управления,
полученный с использованием уравнений движения Ньютона —
Эйлера, может быть вычислен за время О (п). Одним из основных
недостатков этого метода управления является зависимость схо
димости вектора ошибки позиционирования от динамических
коэффициентов D(q), h(q, q) и c(q) в уравнениях движения.
5.3.5. Компенсация в системах с цифровым управлением
В дискретных системах управления время характеризуется
периодом дискретизации А/, при этом скорость выражается не
в радианах в секунду, а в радианах за период А/. Это
определяет изменение инерции звена на величину f2s, где fs — частота
дискретизации (/S=l/A/).
Обычно используется частота дискретизации 60 Гц с
периодом дискретизации 16 мс. Это объясняется ее
распространенностью и тем, что большинство манипуляторов имеет
механическую резонансную частоту приблизительно в диапазоне 5—
10 Гц. Хотя из дискретной теоремы Найквиста следует, что
отношение частоты дискретизации к частоте среза системы для
возможности воспроизведения сигнала должно быть по крайней
мере не меньше двух, для систем непрерывного времени это
отношение увеличивается. Для того чтобы улучшить работу
системы при дискретизации, частота дискретизации должна быть
много больше собственной частоты манипулятора, и наоборот,
период дискретизации должен быть много меньше наименьшей
постоянной времени манипулятора. Таким образом, для
минимизации погрешностей от дискретизации обычно выбирается
частота дискретизации, в 20 раз превышающая частоту среза
системы, т. е.
А'=1шж = -щг- (5-3"70>
5.3.6. Зависимость момента от напряжения
Теоретически момент в двигателе постоянного тока с
управлением в цепи якоря является линейной функцией напряжения
якоря. Однако в действительности зависимость момента от
напряжения нелинейна из-за влияния трения при малых моментах
и из-за явлений насыщения при больших моментах. По этим
причинам численное преобразование вычисленного момента в
требуемое входное напряжение обычно уточняется с помощью
табличных значений или вычислений по приближенным
формулам. Выходное напряжение реализуется, как правило, в виде
245
сигналов постоянной величины или в виде импульсов различной
ширины. Типичная кривая преобразования напряжения в
момент показана на рис. 5.9, где 1/ф — управление двигателем, при
котором сочленение перемещается с постоянной скоростью, не
вызывая усилий в направлении движения, а /\р — сила или мо-
Ширина импульса
напряжения
Скорости'момент > ф
Скорость-момент < ф
Рис. 5.9. График зависимости напряжение — вращающий момент.
мент, которые сочленение развивает при управлении Уф с
отрицательной скоростью. Величины наклонов и их приращения
получены из экспериментальных кривых.
5.4. СУБОПТИМАЛЬНОЕ ПО БЫСТРОДЕЙСТВИЮ
УПРАВЛЕНИЕ
Для большинства производственных задач желательно
перемещать манипулятор с наивысшей скоростью для того, чтобы
минимизировать время выполнения заданного технологического
цикла. Это зызвало необходимость исследовать задачу
оптимального по быстродействию управления для механических
манипуляторов [140]. Целью оптимального по быстродействию
управления является перемещение рабочего органа
манипулятора из начального положения в заданное за минимальное
время.
Рассмотрим кратко основы оптимального по быстродействию
управления на примере шестизвенного манипулятора.
Уравнения движения шестизвенного робота в пространстве состояний
можно получить из уравнений движения Лагранжа — Эйлера.
Определим вектор состояния манипулятора размерностью 2л
246
в виде
хт (/)«. [qr (/)> qr (/)] = [qi (/)> _ § ^ (0> ^ (/)> # # ^ ^ (/)] А
^ [х[ (0, xl (0] = [*, (/), х2 (О *2„ (OJ (5.4-1)
и входной вектор управления размерностью п в виде
"Г(0 = Ы0, т2(/), ...,т„(0]. (5.4-2)
В пространстве состояний уравнения движения Лагранжа —
Эйлера могут быть записаны в виде
x(0 = f[x(/h и ;/)], (5,4-3)
где f(«)—непрерывно дифференцируемая вектор-функция
размерностью 2л XI. Поскольку функция D(q) всегда
несингулярна, приведенное уравнение может быть записано следующим
образом:
Xl(0 = x2(/)
и х2 it) = f2 [x (/)] + b [Xl (/)] u (/), (5.4-4)
где f2(x) — вектор-функция размерностью п XI:
f2(x)^-D-,(x1)[h(x1, x2) + c(Xl)]. (5.4-5)
Можно показать, что величина b(xi) эквивалентна матрице
D-'(xi).
Предполагается, что в начальный момент времени t = to
система находится в исходном состоянии х(^о) = х0, а в конечный
момент времени система должна находиться в заданном
конечном состоянии \(tf) = \f. Кроме того, предполагается, что
допустимые управляющие воздействия ограничены по величине и
удовлетворяют неравенству
1^К(^)макс для всех /. (5.4-6)
Таким образом, задача оптимального по быстродействию
управления заключается в нахождении допустимого управления^
которое переводит систему из начального состояния х0 в
конечное состояние Xf и минимизирует рабочий критерий (выражение
5.4-7), удовлетворяя ограничениям (5.4-6):
Ч
J=^dt = tf-t0. (5.4-7)
to
В соответствии с принципом максимума Понтрягина [145];
оптимальное управление, которое минимизирует приведенный
выше функционал 7, должно минимизировать гамильтониан.
247
Для получения оптимального вектора управления v*(t)
необходимо, чтобы оптимальный вектор состояния x*(t)t оптимальные
сопряженные переменные р*(/) и функция Гамильтона
Я(х, р, v) = prf(x, v)+l (5.4-8)
удовлетворяли условиям
х*(0 — аЯ(Х*ф*' tt'} Для всех t s [/0, tt]9 (5.4-9)
р* (/) = _ ^(x*^p*, и*) для всех / е ^ ^ (5 410)
и Я(х\ р„ и*)<# (х*, р*, и*) для всех / е [f0f ff] (5.4-11)
на интервале допустимых управлений. После подстановки v*(tf),
из уравнения (5.4-8) в (5.4-11) задача оптимизации сводится к
двухточечной краевой задаче с граничными условиями на
состояние х(/) в начальный и конечный моменты времени. Так как
уравнения движения нелинейны, единственным способом
решения задачи управления в этом случае является численное
решение. Однако численное решение не учитывает действия
возмущений в системе, а позволяет только вычислить
управляющую функцию разомкнутой системы. Кроме того, такое решение
оптимально только для заданных начальных и конечных
условий. Следовательно, вычисление оптимального управления
должно осуществляться для каждого движения манипулятора.
Кроме того, на практике численные методы не обеспечивают
достаточной точности управления механическими
манипуляторами. По этим причинам в качестве альтернативы численному
решению [140] можно использовать аппроксимацию
оптимального управления, результатом которой является получение
субоптимального по быстродействию управления.
Субоптимальное управление с обратной связью находится
путем аппроксимации нелинейной системы, описываемой
уравнениями (5.4-4), линейной системой и последующего
аналитического нахождения оптимального управления для линейной
системы. Линейная система получается заменой переменных после
линеаризации уравнений движений. Преобразование
используется для записи в явном виде управляющих воздействий в
линеаризованной системе. Обозначая новый ряд зависимых
переменных через Bi(0i t = lf 2, ..., 2я, уравнения движения могут
быть с использованием новых переменных состояния записаны
в виде
lt(t) = xl(t)-xi(tf)t /=1, 2, ..., я,
и В,(/)-*!«). «-П+1, ...,2л. ( ' "М
Первый набор nli(t) характеризует ошибку углового
положения, а второй набор nli{t)— ошибку скорости изменения угло-
248
аргоадЕроження. В результате такой замены переменных задача
управления сводится к задаче перемещения системы из
начального состояния %(t0) в начало координат пространства |
переменных. Для того чтобы получить линеаризованную систему»
уравнение (5.4-12) подставляется в уравнение (5.4-4) и
используется разложение в ряд Тейлора в начале координат
пространства | переменных. Кроме того, все тригонометрические
функции также разлагаются в соответствующие ряды. В результате
линеаризованные уравнения движения будут иметь вид
|(0 = Ag(0 + Bv(/), (5.4-13)
где lT(t) — (h, ga, ...» In) и v(0— связаны с и(/)
соотношением v(/) = u(0 + c. Вектор с содержит статические моменты
сил тяжести в конечном состоянии. Несмотря на то что
уравнение (5.4-13) является линейным, управляющая функция в нем
v(/) записана в неявном виде. Путем соответствующего отбора
определяющих векторов из линейно независимых столбцов
управляемых матриц А и В для выделения управляющей
функции можно получить новый набор уравнений:
t(/) = A£(/) + Bv(0. (5.4-14)
Если в качестве примера взять трехзвенный манипулятор и
написать для него уравнения, приведенные выше, можно
получить систему с двумя интеграторами для каждого из трех
звеньев и несимметричными ограничениями на величину
управляющего воздействия:
tii-i(0 —*i. £м<') —Ew-i, «—1.2,3, (5.4-15)
где V* ^ v{ ^ vf и
tf-(«lX— + «|. «Г = ~ («Омане + С,' (5-4-16>
Ci есть f-й элемент вектора с.
После этого получение оптимального по быстродействию
управления и переключающих поверхностей 1> можно
осуществить обычными способами. Линеаризованное и записанное в
явном виде с помощью уравнений (5.4-15) и (5.4-16)
субоптимальное управление, как правило, обеспечивает в достаточной
степени близкие к оптимальным динамику и траектории движения
манипулятора. Однако этот метод является слишком сложным,.
Х) Напомним, что оптимальное по быстродействию управление
представляет собой кусочно-постоянную функцию времени. Таким образом, интерес
представляют те области пространства состояний, в которых управление
постоянно. Эти области разделяются линиями в двумерном пространстве,
поверхностями — в трехмерном пространстве и гиперповерхностями — в
«-мерном пространстве. Такие разделяющие поверхности называют соответственно
линиями переключения, поверхностями переключения и гиперповерхностями
переключения,
249
если объектом управления служит манипулятор с четырьмя и
более степенями свободы; кроме того, он не учитывает влияние
неизвестных внешних нагрузок.
5.5. УПРАВЛЕНИЕ МАНИПУЛЯТОРОМ С ПЕРЕМЕННОЙ
СТРУКТУРОЙ
Использование теории систем с переменной структурой для
управления манипуляторами было предложено в работе [320].
Системы с переменной структурой (СПС) относятся к классу
систем с дискретным управлением по обратной связи. В
течение последних 20 лет теория систем с переменной структурой
находит многочисленные применения в различных отраслях
металлургической, химической и космической промышленности.
Основной особенностью СПС является наличие так
называемого скользящего режима на поверхности переключения.
В скользящем режиме система не реагирует на изменение
параметров и на возмущающие воздействия, а ее траектории
проходят по поверхности переключения. Это свойство СПС позволяет
исключить влияние сил взаимодействия между сочленениями
манипулятора. Явление скользящего режима не зависит от
параметров системы и носит стабильный характер. Таким
образом, теория СПС может быть использована для создания
устройства управления переменной структурой (УУПС), которое
организует скользящий режим при формировании траекторий
движения манипулятора робота. Для создания такого
устройства управления не требуется использование точной
динамической модели манипулятора и достаточно знать граничные
значения параметров модели. Управление переменной структурой
отличается от оптимального по быстродействию управления
тем, что оно формирует траектории движения системы в
скользящем режиме. Кроме того, система в этом режиме
нечувствительна к изменению параметров.
Пусть требуется найти управление переменной структурой
для шестизвенного манипулятора. Определяя вектор состояния
из уравнения (5.4-1)
х1 =(<7ь ••, <7е, <7ь ■••, <М —(А. •••> Ре. *и •••> °б)==(рг, vr)
i(5.54)
и вводя вектор ошибки позиционирования ei (t) = p(0— Pd> а
также вектор ошибки по скорости e2(/) = v(0 (vd = 0), сведем
задачу слежения к задаче стабилизации. Уравнения ошибки
системы будут иметь вид
е,(0 —v(0
и v (/) = f2 (е, + pd, v) + b (ei + pd) u (0, (5.5-2)
250
где f2 и b определяются из выражения (5.4-5). Для системы
стабилизации управление переменной структурой может быть
записано в виде
!uf (Р> у)> если st {ei> vt) > °>
/=1, ..., 6 (5.5-3)
uj (Рэ v), если s. (eit vt) < О,
где Si{et, vt)—поверхности переключения, удовлетворяющие
условиям
st{eh vi) = ciei + vh ct>0, i—l, .... 6. (5.5-4)
После этого синтез управления сводится к выбору управления
с обратной связью в соответствии с уравнением (5.5-3) так>
чтобы скользящий режим происходил на пересечении с
поверхностями переключения.
Решая алгебраические уравнения поверхностей
переключения
$i (eh v^ = О, I = 1, .,., 6, (5.5-5)
можно отыскать единственно существующее управление
ue, = - D (р) (f (p, v) + Cv), (5.5-6)
где С == diag[ci, c2y ..., с6]. После этого скользящий режим
получается из уравнения (5.5-4) в виде
et = — cteh i = 1, ..., 6. (5.5-7)
Это уравнение в явном виде описывает движение шести
линейных систем первого порядка, каждое из которых
представляет одну степень свободы манипулятора при нахождении
системы в скользящем режиме. Как видно из уравнения (5.5-3),
устройство управления переводит манипулятор в скользящий
режим, при этом влияние сил взаимодействия между
сочленениями полностью исключается. Для управления манипулятором
в скользящем режиме используется устройство управления,
реализующее управление в соответствии с уравнением (5,5-6).
Динамика манипулятора в скользящем режиме зависит только от
конструктивных параметров Си Асимптотическая устойчивость
систем в скользящем режиме обеспечивается при выборе а > О,
а регулирование скорости движения в этом режиме достигается
изменением параметров с*.
Таким образом, управление переменной структурой
позволяет исключить нелинейные силы взаимодействия между
сочленениями путем перевода системы в скользящий режим. Однако
устройство управления вырабатывает сигналы дискретного
управления по обратной связи, которые весьма быстро меняют
знак управляющего воздействия. В результате действия таких
сигналов может появиться вибрация, которую необходимо учи-
251
тывать в некоторых применениях управления манипулятором
робота. Более подробно многовходовые управляющие
устройства для СПС описаны в работе [320].
5.6. НЕЛИНЕЙНОЕ НЕЗАВИСИМОЕ УПРАВЛЕНИЕ
ПО ОБРАТНОЙ СВЯЗИ
Нелинейное независимое управление по обратной связи
является важной частью теории нелинейного управления. На его
основе может быть выработано субоптимальное управление для
механических манипуляторов. В большинстве существующих
алгоритмов управления роботами (например, в методе
вычисления моментов) значительное внимание уделяется нелинейной
компенсации сил взаимодействия между звеньями
манипулятора. В работе [118] применен метод нелинейного управления
по обратной связи к простой шаговой системе, которая
содержала определенный класс нелинейностей, включающий
тригонометрические и полиномиальные виды нелинейностей. В
результате были получены независимые подсистемы, позиционная
устойчивость и желаемые периодические траектории. В этой
работе подход отличается от метода линейного разделения
системы, где расчлененная система должна быть линейной. В
работе [258] предложен итеративный алгоритм для
последовательного усовершенствования нелинейного субоптимального
закона управления. Он дает возможность приблизиться к
получению оптимального управления манипулятором. С другой
стороны, для того чтобы достичь такого высокого качества
управления, этот метод требует значительного времени вычисления.
Ниже кратно описана нелинейная теория декомпозиции по
работам [75, 86]. В этой теории используются уравнения
движения Ньютона — Эйлера для построения нелинейного
независимого управления манипуляторами робота.
Пусть основная нелинейная система задана в виде
х(/) = А(х) + В(х)и(0
и у(/) = С(х), (5.6-1)
где x(t)— /г-мерный вектор, \x(t) и у(0— m-мерные векторы, а
А(х), В(х) и С (х) —матрицы соответствующих порядков.
Определим нелинейный оператор N% в виде
где Ci(x)~i-я компонента С(х), а №АС{(х) — С{(х),
Определим также порядок di нелинейной системы как
dt = min {/: [-£- N*a lCt (x)] В (x) Ф 0, / - 1, 2, ..., n]. (5.6-3)
252
Целью управления является нахождение независимого
управления по обратной связи u{t):
u(0 = F(x)+G(x)w(0, (5.6-4)
где w(t)*—m-мерный входной вектор, F(x)—вектор обратной
связи размерностью mXl» определяющий разделение и
расположение полюсов, a G(x)—входная передаточная матрица
размерностью mXm, такая, что вся система имеет независимые
связи входов и выходов.
Подставляя и(*) из уравнения (5.6-4) в систему уравнений
(5.6-1), запишем результат в следующем виде:
i(0 = A(x) + B(x)F(x) + B(x)O(x)w(0
и У(0 = С(х). (5.6-5)
Для того чтобы получить независимые связи входов и
выходов в указанной системе, F(x) и G(x) выбираются
соответственно
f(x) = f;(x) + f;(x), (5.6-6)
где
Fl(x)—-О-Ч^С'Сх),
Fnx) = -D^1(x)M*(x)
и G(x) = D*~l(x)\.
FJ(x) представляет обратную связь в системе декомпозиции, а
F*(x) является управляющей частью с произвольным
расположением полюсов. Входной передаточный коэффициент
выделенной части может быть выбран с помощью G(x), a D*(x) —
матрица размерностью /пХш, i-я строка которой записывается в
виде
DHx) = [^T^"IctW]BW Для а,Ф0. (5.6-7)
С*(х) — m-мерный вектор, i-я компонента которого равна
С;(х) = ^С,(х). (5.6-8)
М*(х)—/п-мерный вектор, t-я компонента которого записывается
в виде
dt-\
М] (х) = Z аЛ tN*pt (x) для dt Ф 0, (5.6-9)
а Л — диагональная матрица, элементы которой являются
постоянными величинами fa для i = l, 2, ,,., т. Теперь система
253
уравнений (5.6-1) может быть записана в виде
y*(0 = C*(x) + D*(x)u(0,
(5.6-10)
где у*(0 — выходной вектор, i-й компонентой которого является
y\di) (/), т. е.
У?1) (0 - С] (х) + D\v(t). (5.6-11)
Используя уравнения (5.6-4) и (5.6-6) в уравнении (5.6-11),
получим
yfl) (0 + «v,. Ж'й~1) W + • • • + «о. Л (0 = *л (0, (5.6-12)
где а*,* и Я/ — произвольные скалярные величины.
Для того чтобы показать, что 1-я компонента имеет вид
уравнения (5.6-11), предположим, что Л =1.'Тогда Ui{t) —
= d(x), и после дифференцирования получим
М1)(/)^^(0 = ^1Х(/):
_ dCi (х)
дх
[А (х) + В (х) F (х) + В (х) G (х) w (/)] =
= NA+BFCi(\)
Используя аналогию
dCi (х)
дх
[B(x)G(x)w(/)].
<WA 00 = Л#С, (х) + [д1дхЫаАГ%{*)Щ№
y{p(t) можно записать в виде
№ (t) = N\Ct (х) + [±- Ct (х)] В (х) F (х) + Щ®- [в (X)G (x) w(01.
С помощью уравнений (5.6-4) и (5.6-7) это выражение MOatHiN
записать также в виде
<(0 = c;(x) + d;(X)u(o.
Легко показать, что и значения di = 2, 3, ... приводят к урав^
нению (5.6-11). Таким образом, результирующая система имеет
разделенные связи входов и выходов и представляет собой не
зависящую от времени систему второго порядка, которая может
быть использована для моделирования каждого сочленения ма
нипулятора робота, л
254
шк
Как было показано в гл. 3, уравнения движения Лагранжа —
Эйлера для шестизвенного робота могут быть записаны в виде
Ai
А,
А
А
'ее J
0,(0'
e6(0J
+
Л, (9,9)]
М9, 9)_
+
"с, (б)-]
Lk6(9)_
---
"«i(0"|
L«e(o J
или в векторно-матричной форме
D(9)9 + h(9, 9) + c(9) = u(0,
(5.6-13)
(5.6-14)
где u(0 — вектор управляющего момента для двигателя в
сочленении размерностью 6X1. 6(/) — вектор угловых
положений, 9 (/) — вектор угловых скоростей, 9 (t) — вектор ускорения
размерностью 6X1, с (9) — вектор силы тяжести размерностью
6X1. h(9, 9)— вектор кориолисовых и центробежных сил
размерностью 6Х 1, a D(9) — матрица инерции размерностью 6X6.
Поскольку D(9)—всегда несингулярна, последнее уравнение
может быть записано в виде
или
9(0 =
9(0 = -
+
D1 (9) [h (9, 9) + с (9)] + D-' (9) ц (0 (5.6-15)
А,
LAe
А.
LD
16
Ае
AeJ
Ае
Аб J
M6f 6) + С1(в)"
1_ме, e) + c6(6)J
«i(0
L щ (t) J
+
(5.6-16)
Приведенная динамическая модель состоит из
дифференциальных уравнений второго порядка для каждой переменной
сочленения, следовательно, в этом случае di = 2. Трактуя
каждую переменную сочленения Qi(t) как выходную переменную,
последнее уравнение может быть связано с уравнением (5.6-11)
следующим образом:
У? (0 = h (0 = - [О"1 (6)], [h (9, 9) + с (9)] + [D-' (9)], u (/) =
= C;(x) + D;(x)u(/)( (5.6-17)
255
где
С] (х) = - fD-1 (в)], [h (в, в) + с (в)] (5.6-18)
xT(t) = W(t), QT(t)]
и D*(x) = [D-,(e)]b (5.6-19)
a [D—■ (в) ] »• — 1-я строка матрицы D_1(9). Таким образом,
управление u(t) для выделенной системы (уравнение (5.6-5)) должно
быть следующим:
и (/) = - D* -' (х) [С* (х) + М* (х) - Aw (/)] =
= - D (9) {- D-1 (8) [h (Э, 9) + с (6)] + М* (х) - Aw (/)} =
= h (9, в) + с (8) - D (9) [М* (х) - Aw (t)]. (5.6-20)
Подробнее для /'-го сочленения управление запишется в виде
и, (0 = ^ (9, 9) + с, (9) - [Dtl ... Dm] X
Г о„ё, (/) + ао,в, (/) - Л,а»1 (01
X . (5.6-21)
L а1696 (0 + аоб96 (/) - Я6ш6 (/) J
Из этого уравнения видно, что управление ui(t) для i-ro
сочленения зависит только от текущих динамических переменных
и от входного воздействия w(/). Подставляя и(0 из уравнения
(5.6-20) в уравнение (5.6-14), получим
D(6)0(O + h(9, 9) + c(6) =
'aiA(0 + %M)-Mi(O'
= h(9, 9)+c(9)-D(9)
Отсюда
(5.6-22)
D(9)
L al696 (/) + a0696 (t) — k^wb (t) J
Si (>) + оцв| (0 + айв, (t) - Я,да, (/)
L 96 (/) + a1696 (t) + аоб96 (/) - hwe (0 J
= 0. (5.6-23)
Так как D(9)—всегда несингулярна, последнее уравнение
можно записать в виде
9* (0 + а,А (/) + а0А (/) = 1т (/) I = 1, 2, ..., 6, (5.6-24)
256
из которого следует полное разделение связей входов и выходов-
системы. Отметим, что параметры а^, а0; и %t можно выбрать
произвольно, обеспечивая соблюдение критерия устойчивости.
Следовательно, манипулятор можно представить в виде шести
независимых, записанных в явном виде и инвариантных ко
времени систем второго порядка, а управление и(/) (уравнение-
(5.6-20)) можно строить на основе динамики манипулятора.
Эффективным путем вычисления уравнения и(/) является
использование уравнений движения Ньютона — Эйлера. Таким
образом, для получения управления m{t) для /-го сочленения
необходимо подставить значение fy(/) вместе с выражением
kiWiit) — auQi(t) — ao$i(t) в уравнения движения Ньютона —
Эйлера.
5.7. НЕЗАВИСИМОЕ ПРОГРАММНОЕ УПРАВЛЕНИЕ
ДВИЖЕНИЕМ
В предыдущем разделе мы рассмотрели некоторые методы
управления механическим манипулятором в связанных
координатах для формирования траектории сочленения. Во многих
приложениях более предпочтительным является программное
управление движением, которое обеспечивает движение
манипулятора в декартовых координатах по требуемой траектории
с необходимой скоростью. Независимое программное
управление предполагает комбинированное движение различных
двигателей сочленений и раздельные управляемые движения звеньев
манипулятора вдоль осей неподвижной системы координат. Это*
означает, что несколько двигателей сочленений должны
работать одновременно с различными изменяющимися скоростями
для формирования заданного движения манипулятора вдоль
любой оси неподвижной системы координат. Это делает
возможным выбор направления и скорости произвольной траектории
движения манипулятора. Такое управление существенно
упрощает набор последовательности движений для выполнения
поставленной задачи, потому что пользователю обычно легче
ориентироваться в декартовой системе координат, чем в угловой
системе координат сочленения манипулятора.
Как правило, требуемое движение манипулятора
записывается в виде временных траекторий манипулятора в
декартовых координатах, хотя система управления оперирует входными
воздействиями, относящимися к связанным с сочленениями
координатам. Математическая связь между этими двумя
системами координат необходима для получения эффективного
управления в декартовом пространстве. Коротко опишем основную
кинематическую теорию, связывающую две системы координат
для шестизвенного манипулятора робота. Это приведет к по-
9 К. Фу и др.
257
ниманию важнейших методов независимого программного
управления движением.
Положение конечного звена манипулятора относительно
фиксированной системы координат может быть определено путем
расположения ортогональной системы координат на этом звене,
т. е. путем введения системы координат конечного звена
(рис. 5.10). Задача нахождения положения конечного звена при
этом сводится к определению положения и ориентации системы
Конечное $8ем
^манияг/лятора
Яйдъем
(^V^ вращение
Яручете
зыШжение
Поворот
Рис. 5.10 Система координат конечного звена.
координат конечного звена относительно инерциальной системы
координат манипулятора. Для этого используется однородная
матрица преобразования размерностью 4X4:
г МО МО МО Рх
(fifty (t) sy(t) ay(t) py(t)
MO sz(t) MO MO
базап
1 конечное звено
(0 =
-[
0 0 0
n(0 s(/) a(/) p(0
0 0 0 1
1
]•
(5.7-1)
где p — вектор положения конечного звена, а п, s, a —
единичные векторы, направленные вдоль основных осей системы
координат, определяющих ориентацию конечного звена. Вместо
использования подматрицы вращения [n, s, а] для определения
ориентации можно использовать три угла Эйлера — угол
поворота оф), наклона (3(0 и вращения y(t)> которые определяются
258
щ/тщ&щтт системы координат конечного звена соответствен-
Е-^кмвокруг осей хо, уо и z0 базовой системы координат. Элементы
j[ii, s, а] можно получить из матрицы вращения Эйлера как
результат вращения по углу а вокруг оси х0, по углу р вокруг
оси уо и по углу у вокруг оси zo базовой системы координат
(уравнения (2.2-19)). Таким образом,
гх(0 sx(0
база*
Су
5Y
- О
СуСр
svcp
L-S0
^конечное звено
«)■
пх
— Sy ОТ Г Ср
Су 0 0 1
О 1 J L - 5р О
— SyCa + CySQSa
СуСа + SySfiSa
CpSa
cos a sb Ca, sin p
A*)
-nz(t)
0 Sp
0
cp
MO
sAO
l
0
MO
az (t) J
0 0
Ca — Sa
LO Sa Ca-
SvSa + CySpCa
- CySa + SvSpCa
CpCa
SP, cosp^=Cp, sinv = 5Y,
(5.7-2)
где sin a = Sa,
cos у— Cy.
Определим векторы положения р(/)> углов Эйлера Ф(/)>
линейной скорости v(/) и угловой скорости Q(t) конечного звена
манипулятора в базовой системе координат соответственно:
Р (0 = [Рх (t), Ру (0, Рг ЮГ. Ф (О Д [« (О, Р (О, У (t)Y,
v (0 ^ К (/), о, (t), vz (t)f, Й (О Д К (0, со, (0, сог (0Г- (5.7-3)
Линейная скорость конечного звена в базовой системе
координат равна производной по времени от положения конечного
звена
(5.7-4)
v(/) = ^ = p(/).
dt
Так как инвертирование направляющей матрицы косинусов
эквивалентно ее транспонированию, мгновенная угловая
скорость системы координат конечного звена вокруг главных осей
базовой системы координат может быть получена из уравнения
(5.7-2):
О — ю, со,.
dRl
dt
со„
О
COv
О
О
— vS|3d + -у
Sfia — у О
SyCfia + CyP - CyCpd + SyP
— SyCfia — CyP"
CyCpd — SyP
0
(5.7-5)
9*
259
Из последнего уравнения можно получить связь между
[©*(/), (о^(/), со2(/)]г и [а(/), р(0, y(t)]T путем приравнивания
ненулевых элементов в матрицах:
Г щ (0"
% (0
L саг (/) J
=
СуС$ — Sy 0
5уСр Су 0
L — Sp 0 1
a(t)
Р(0
y(0
Отсюда легко определяется обратная связь
о(/)
PC)
y(t)J
seep
Су Sy 0
SvCp CyCp 0
CySP Sy5p CpJ
MO
co„(0
©a(0J
(5.7-6)
(5.7-7)
или, записывая в матричной форме,
6tf)A[S<o)]Q(Q.
(5.7-8)
В подвижной системе координат линейную и угловую
скорости конечного звена можно получить из скоростей
предыдущих сочленений:
rvwi
L«(о J
[N (q)] q (t) = [N, (q), N2 (q) N6 (q)] q (0, (5.7-9)
где q(0 = (qi» •••» qe)r — вектор скорости сочленений
манипулятора, a N(q) — якобиан размерностью 6X6, i'-й столбец
которого в виде вектора N,(q) может быть найден, согласно
работе [310], в виде
"Zi_iX(p — Pi-i)'
Ni(q) =
Z/-1
]•
[о'"'}
если /-e соадеяфяне
является вращательнк»^;^
если *-е сочленение
[ ■-■% ■* является поступательным.
(5.7-10)
Знак X означает результат пересечения векторов, p*_i —
положение начала координат (i — 1) системы координат по
отношению к базовой системе координат, zt_i— единичный вектор,
направленный вдоль оси движения /-го сочленения, а р —
положение конечного звена в базовой системе координат.
Если инвертированный якобиан существует от q(0, то
скорость сочленения q(t) манипулятора может быть вычислена из
скорости конечного звена при использовании уравнения (5.7-9):
q(0 = N-'(q)
L о (о J
(5.7-11)
260
|РХй заданы желаемые линейная и угловая скорости конеч-
звена, это уравнение позволяет вычислить скорости в со-
ейениях и определить режимы работы двигателей в
сочленениях для того, чтобы обеспечить установившееся движение
конечного звена в заданном направлении в декартовой системе
координат.
Ускорение конечного звена может быть получено путем
определения производной по времени от вектора скорости в
^уравнении (5.7-9):
[йw J=*(<ь ч)ч(0 + N(q) q(0, (5J~12)
где q (t) = [q{ (/), ..., <76 (t)]T — вектор ускорения сочленений
манипулятора. Подставляя q(^) из уравнения (5.7-11) в уравнение
{6.7-12), получим
[^)]-N(q.4)N-'(q)[^»] + N(q),(0. (5.7-13)
Ускорения в сочленениях q (t) могут быть вычислены из
скоростей и ускорений конечного звена следующим образом:
q(0 = N-4q)[^]^^4q)N(q,q)N-4q)[^]-
(5.7-14)
Полученные кинематические связи между координатами,
связанными с сочленениями, и декартовыми координатами
будут использованы в разд. 5.7.1 для различных методов
независимого программного управления движением и при выводе
уравнений движения конечного звена манипулятора в декартовых
координатах.
5.7.1. Независимое программное управление движением
ло скорости
При независимом программном управлении движением по
скорости работа различных двигателей в сочленениях
производится независимо и одновременно с различными скоростями,
изменяющимися во времени для того, чтобы обеспечить
установившееся движение конечного звена манипулятора вдоль
любой оси неподвижной системы координат. Математические
выражения, связывающие неподвижные координаты, такие, как
подъем рх, смещение ру, выдвижение рг, поворот а, наклон (3 и
вращение у с угловыми координатами шестизвенного
манипулятора, являются заведомо нелинейными и могут быть запи-
261
саны с помощью нелинейной вектор-функции в виде
х(0 = Пч(0], (5.7-15)
где f(q)—вектор-функция размерностью 6X1, а
x(t) (декартовы координаты) = (рх, руу pz, а, р, у)т
и q(/)(обобщенные координаты) = (qit q2, • •♦, Qn)T-
Взаимосвязь между линейной и угловой скоростями
конечного звена и скоростями сочленений шестизвенного
манипулятора определена уравнением (5.7-9).
Для более общего рассмотрения предположим, что
манипулятор имеет га степеней свободы, а интересующая нас
декартова система координат имеет размерность п. Тогда углы в
сочленениях и декартовы координаты будут связаны нелинейной
функцией согласно уравнению (5.7-15).
Дифференцируя уравнение (5.7-15) по времени, получим
^l=x(/) = N(q)q(0, (5.7-16)
где N (q) — якобиан от q (/), т. е.
^/ = -?L» 1</<л, 1</<т. (5.7-17)
oq j
Из уравнения (5.7-16) видно, что при осуществлении
управления по скорости связь является линейной. Когда x(t) и q(/)
имеют одинаковую размерность, манипулятор не имеет
избыточных степеней свободы и якобиан может быть инвертирован
в соответствии с несингулярным положением q(/):
q(0 = N-'(q)x(0. (5.7-18)
Если известна скорость движения вдоль декартовых
координат, то из уравнения (5.7-18) легко находится комбинация
скоростей двигателей в сочленениях, обеспечивающая желаемое
движение конечного звена. Для этого могут быть использованы
различные методы вычисления обратного якобиана. Блок-схема
программного управления движением по скорости приведена на
рис. 5.11. Если m > и, манипулятор имеет избыточные степени
свободы и обратный якобиан не существует. Это сводит задачу
к нахождению обобщенного обратного якобиана. В таком
случае если ранг N(q) равен п9 то q(t) определяется путем
минимизации критерия ошибки, который формируется
присоединением уравнения (5.7-16) с множителем Лагранжа к критерию
качества, т. е.
С = -j qrAq + V [х - N (q) q], (5.7-19)
262
где X — вектор множителя Лагранжа, а А — симметрическая
положительно определенная матрица размерностью тУ^т.
Минимизируя критерий качества С относительно q(/) и А,,
имеем
q(t) = A-lNT(q)k (5.7-20)
и x(0 = N(q)q(/). (5.7-21)
Подставляя q(/) из уравнения (5.7-20) в уравнение (5.7-21) и
решая его относительно X, получим
Я = [N (q) A~V (q)]~lx (/). (5.7-22)
Подставляя X в уравнение (5.7-20), имеем
q(0 = A-!Nr(q)[N(q)A~1Nr(q)]^1x(/). (5.7-23)
Если матрица А — тождественная, уравнение (5.7-23) сводится
к уравнению (5.7-18).
т
N-'(x)
Устройство
улрабления
сочленениями
мю
в
•*—
Манипулятор
встроенные
0 шарниры
датчики
0J
Рис. 5.11. Блок-схема программного управления движением по скорости.
Достаточно часто возникает необходимость управлять
движением конечного звена не в неподвижной системе координат, а в
системе координат конечного звена (рис. 5.10). В этом случае
требуемая скорость движения конечного звена в системе
координат конечного звена связана с движением в неподвижной
декартовой системе координат следующим образом:
x(/) = °Rnh(0, (5.7-24)
где °Rh — матрица размерностью яХ6, которая связывает
ориентацию системы координат конечного звена относительно
неподвижной системы координат. Если задана скорость движения
конечного звена h (/) относительно системы координат
конечного звена, то, используя уравнения (5.7-23), (5.7-24), скорость
движения сочленения может быть вычислена по формуле
q (/) = A~'Nr (q) [N (q) A~lNr (q)]"1 °RAh {t). (5.7-25)
263
В уравнениях (5.7-23) и (5.7-25) угловое положение q(/)
зависит от времени t, поэтому необходимо оценивать N-1(q) на
каждом отрезке дискретного времени при вычислении q{t). При
использовании этого метода управления требуется
дополнительное вычисление обратного якобиана на каждом отрезке
дискретного времени и решение сингулярной задачи, связанной с
инвертированием матрицы.
5.7.2. Независимое программное управление движением
по ускорению
Независимое программное управление движением по
ускорению [186] расширяет возможности управления движением по
скорости, включая управление ускорением. Оно является
альтернативной управлению по положению, при котором
непосредственно учитывается положение или ориентация конечного звена
манипулятора. Всякое управление по обратной связи
производится относительно конечного звена, следовательно^
предполагается, что желаемые ускорения при заданном движении
конечного звена заранее определяются пользователем.
Действительное и желаемое положения и ориентация
конечного звена манипулятора могут быть представлены следующими
однородными матрицами преобразования размерностью 4X4:
Гп(0 s(0 a(/) р(/)1
Н(0 = [ 0
О
О
1
Hd(t)
Vnd{
1_ О
(t) Sd(t) 2td(t)
0
Pd(t)
1
]•
(6.7-26)
1 - "'*-*<•*- -,■"'-.'-
где n, s, a — единичные векторы, направленные
вдоль главных осей х, у, z системы коорднндт щмШШй
а р(0 — вектор положения конечного звена относительно
вой системы координат. Ориентация подматрицы [n, s, а] стерев
деляется с помощью углов Эйлера, описывающих вращен^г,
(а, (3, у) относительно базовой системы координат в соотнес*;
ствии с уравнением (5.7-2). Л1
Ошибка позиционирования конечного звена определяется
как разность между желаемым и действительным положением
конечного звена и может быть записана в виде ' ,* "*'i."
е-(0 = Рй(0-р(0 =
Pdx(t)-Px(t)-
Pdy(t)-Py(t)
Pi a)-P АО
(5.7-27)
Аналогичным образом ошибка ориентации определяется
расхождение между желаемой и действительной ориентаци
264
осей конечного звена и может быть представлена следующим
образом:
е0 (0 - 1/2 [п (0 Xn4s(0Xs4a (t) X ad]. (5.7-28)
Следовательно, управление манипулятором основывается на
«сведении указанных ошибок конечного звена к нулю.
Для шестизвенного манипулятора можно совместить
линейные скорости v(^) и угловые скорости со(/) конечного звена в
шестимерном векторе х (t):
x(0 = [^^]=N(q)q(/), (5.7-29)
где N(q)—матрица размерностью 6X6, определенная
уравнением (5.7-10). Уравнение (5.7-29) является основным для
независимого программного управления движением по скорости,
где скорости в сочленениях находятся из скоростей конечного
звена. Аналогично могут быть определены ускорения в
сочленениях из ускорения конечного звена х (t). Производная по
времени от х(/) представляет собой ускорение конечного звена
х (0 - N (q) q (t) + N (q, q) q (<). (5.7-30)
Управление заданным движением по ускорению с
использованием обратной связи основано на сведении ошибок
позиционирования и ориентации конечного звена к нулю. Если
траектория движения манипулятора задана в декартовых
координатах, то известны желаемые положения pd(t)9 скорость vd(t) и
ускорение \d (t) относительно базовой системы координат. Для
уменьшения ошибки позиционирования каждый двигатель в
сочленениях манипулятора должен развить необходимые моменты
я усилия. По существу это приводит к возникновению линейного
ускорения конечного звена v(/), которое удовлетворяет
следующему уравнению:
v{t) = v*(t) + kt \vd(t) - v(0] + k2\pd(t)-p(t)], (5.7-31)
где k\ и k2 — скалярные константы. Уравнение (5.7-31) может
быть записано в виде
ер (0 + k,ep (/) + k2tp (t) = 0, (5.7-32)
где ep(t) = pd(t)—Р(0- Входные моменты и силы должны
выбираться таким образом, чтобы гарантировать асимптотическую
сходимость к нулю ошибки позиционирования конечного звена.
Для этого необходимо выбрать k\ и k2 так, чтобы
характеристические корни уравнения (5.7-32) имели отрицательные
действительные части.
265
Аналогично, чтобы уменьшить ошибку ориентации конечного
звена, требуется обеспечить входные моменты и силы,
прикладываемые к манипулятору таким образом, чтобы угловое
ускорение конечного звена удовлетворяло выражению
© (/) = ©<* (/) + k{ [со<* (0 - со (/)] + k2e0. (5.7-33)
Сгруппируем vd и cod в шестимерный вектор, а ошибки
позиционирования и ориентации в вектор ошибки
**>-[£»] и е('Чмо]- (5'7-34)
Из уравнений (5.7-31) и (5.7-33) имеем
х (t) = xd (t) + kx [xd (t) - x (/)] + &2e (/). (5.7-35)
Подставляя уравнения (5.7-29) и (5.7-30) в уравнение
(5.7-35) и решая его относительно q (/), получим
q (t) = N-1 (q) [xd (t) + kx (xd (t) - x (/)) + £2e W - N (q, q) q (/)] -
= - kiq(t) + N"1 (q) [xd(t) + kxxd{t) + /e2e(/) - N(q, q)q(/)].
(5.7-36)
Уравнение (5.7-36) является основой для управления
заданным движением манипулятора по ускорению с помощью
обратной связи. Для вычисления управляющих моментов и сил в
двигателе каждого сочленения манипулятора используются
рекурсивные уравнения движения Ньютона — Эйлера. Положение
q(t) и скорость сочленения манипулятора q(/) измеряются
потенциометрами или оптическими кодирующими устройствами.
Величины v, со, N, NH, N и Н(/) могут быть найдены из
рассмотренных выше уравнений. Эти величины, определяемые
заданной траекторией вместе с желаемыми положением pd(/)>
скоростью vd(t) и ускорением vd(t), используются при
вычислении ускорения в сочленении в соответствии с уравнением
(5.7-36). Управляющие моменты и силы в сочленениях могут
быть рекурсивно получены из уравнений движения Ньютона —
Эйлера. Этот метод управления также требует большого объема
вычислений и характеризуется особенностями, связанными с
использованием якобиана, а также необходимостью иметь
информацию об ускорении для формирования траектории
движения конечного звена манипулятора.
5.7.3. Независимое программное управление движением по силе
Основным назначением независимого программного
управления движением по силе является определение управляющих
моментов двигателей сочленений для осуществления позицион-
266
«его управления в декартовых координатах манипулятором
робота. Преимущество этого метода заключается в том, что он
не использует сложные динамические уравнения движения
манипулятора и имеет возможность компенсировать упругую
податливость конструкции, силы тяжести и трение. Этот метод
так же, как и описанные выше методы, является методом
управления конечным звеном манипулятора. Он основан на
связи между вектором силы F, получаемым от датчика усилия
ц захватном устройстве манипулятора, и моментами,
развиваемыми двигателями сочленений. Данный метод управления
состоит из управления положением в декартовых координатах и
управления по силе. При управлении положением вычисляются
м Ь^(?)—
Nr
\Манипу\
лятор
*J
°KW
Датчик
силы
Kp + Kvs
У-
Рис, 5.12. Блок-схема программного управления по силе.
требуемые силы и моменты, которые должны быть приложены
к конечному звену для организации желаемой траектории
движения в декартовых координатах. Управление по силе
определяет необходимые моменты в двигателях каждого сочленения
таким образом чтобы конечное звено могло поддерживать силы
и моменты, заданные управлением по положению. Блок-схема
такого управления приведена на рис. 5.12.
Кратко рассмотрим математический аппарат, используемый
в данном методе управления. Более подробное его изложение
можно найти в работе [316]. Основная идея метода базируется
на связи между заданным вектором силы F = (F*, Fy> Fz, MXj
МУу MZ)T и моментами в сочленениях т = (ть тг, ..., %п)Т,
которые прикладываются к двигателям в каждом сочленении для
уравновешивания сил, действующих на конечное звено. Здесь
(Fx, Fy, FZ)T и (МХу Му> Мг)т — соответственно силы в
декартовой системе координат и моменты в системе координат
конечного звена. Связь между этими величинами записывается в виде
x(0 = N4q)F(/), (5.7-37)
где N — якобиан, определяемый уравнением (5.7-10).
267
Так как целью такого управления является формирование
траектории конечного звена в декартовых координатах, то
соответствующие временные траектории положения должны быть
заданы в виде функций от матрицы преобразования
манипулятора °А6(/), СКОРОСТИ (vx,Vy,Vz)T И УГЛОВОЙ СКОРОСТИ ((О*, (Оу, (02)r
относительно системы координат конечного звена. Другими
словами, заданная зависящая от времени матрица преобразования1
°A6(t -\- At) может быть представлена в виде
°А6(/ + Л/) = °А6(0
1
МО
МО
0
-МО
1
МО
0
МО MOi
— МО МО 1
1 v. (0
0 1 J
Af.
(5.7-39)
(5.7-38)
Желаемая скорость xd(t) = (vX9 vy, v29 cox, a>yj coz)T в декартовых
координатах определяется из следующего уравнения:
1 — со2(/) ®y(t) vx(t)
©«(О i — МО vy(t)
•©„(/) (O,(0 1 Vz(t)
0 0 0 1 J
Ошибка по скорости xd — x в декартовых координатах
также определяется из приведенного уравнения. Ошибка по
скорости xd — х, используемая в уравнении (5.7-31), отличается
от указанной ошибки по скорости, так как в уравнении ошибки*
приведенном выше, используется метод с применением однород^
ной матрицы преобразования. В уравнении (5.7-31) ошибка па
скорости была получена простым дифференцированием pd(t) —
-р(о-
Аналогично можно получить желаемое ускорение xd(t) в
декартовых координатах:
(5.7-40)
:и,« kd(t + M)-xd(t)
xd(t)
м
Если отсутствуют ошибки по положению и скорости
конечного звена, при использовании
пропорционально-дифференциального метода управления желательно как можно ближе
совместить действительное и желаемое значения ускорений х(0
в декартовых координатах. Это достигается установкой
действительного значения ускорения в декартовых координатах
согласно следующему выражению:
х(0], (5.7-41)
(5.7-42)
х (t) = xd (t) + Kv [xd (/) - x (/)] + Kp \xd (/) -
xe(t) + Kvxe(t) + Kpxe(t)^0.
268
&: При выборе величин Kv и Кр такими, при которых
характеристические корни уравнения (5.7-42) имеют отрицательные
действительные части, х(/) будет сходиться к xd(t)
асимптотически.
В данном методе управления желаемые силы и моменты,
компенсирующие ошибки позиционирования, могут быть
получены с использованием второго закона Ньютона:
F*(0 = Mx(0, (5.7-43)
где М — матрица массы с диагональными элементами в виде
общей массы нагрузки т и моментов инерции Ixx, IylJ, 1гг
относительно основных осей нагрузки. Используя уравнение (5.7-37),
заданные силы Fd в декартовых координатах могут быть
переведены в моменты в сочленениях:
х (t) = NT (q) Fd = NT (q) Mi (/). (5.7-44)
Обычно данный метод целесообразно использовать только в
том случае, когда нагрузка незначительна по сравнению с
массой манипулятора. Если нагрузка сравнима с массой
манипулятора, желаемая точность позиционирования конечного звена
обычно не достигается. Это происходит оттого, что некоторые
моменты в сочленениях оказываются недостаточными для
развития необходимых ускорений звеньев. Чтобы компенсировать
эти эффекты, используется комбинированное управление по силе
и положению.
Метод управления по силе основывается на методе
стохастической аппроксимации Роббинса — Монро и служит для
определения действительной силы Fa в декартовых координатах,
такой, что необходимая сила F0, измеренная датчиком силы в
захватном устройстве конечного звена манипулятора, сводится
к желаемой силе, полученной рассмотренным выше методом
управления по положению. Если ошибка между измеренным
вектором силы Fo и желаемой силой в декартовых координатах
больше, чем заданный пользователем порог AF(£)=F^(&) —
— Fo(£), действительная сила в декартовых координатах
вычисляется по формуле
Fa (k + 1) = F. (k) + yk AF (k)9 (5.7-45)
где yk = l/(k + 1) для k = 0, 1, ..., N. Теоретически величина
N должна быть большой. Однако на практике величина N
может быть выбрана исходя из условия сходимости сил. По
результатам численного моделирования, приведенным в работе
[316], величина N=1 или N — 2 дает достаточно хорошую
сходимость вектора сил.
269
Таким образом, описанный метод управления по силе имеет
преимущества: он учитывает различные изменения нагрузки и
его можно использовать для манипуляторов с любым числом
степеней свободы без увеличения сложности вычислений.
5.8. АДАПТИВНОЕ УПРАВЛЕНИЕ
Большинство методов, рассмотренных в предыдущих
разделах, предназначено для управления конечным звеном
манипулятора или сочленениями, и в них уделено внимание
компенсации нелинеиностей от сил взаимодействия между различными
сочленениями. Эти управляющие алгоритмы могут быть
неадекватными, потому что требуют наличия точной модели
динамики манипулятора и не учитывают изменения нагрузки в
процессе выполнения манипулятором работы. Такие изменения
в объекте управления часто оказываются достаточно
значительными и снижают эффективность управления по обратной связи.
В результате ухудшается динамика и демпфирование системы,
что ограничивает точность и скорость позиционирования
конечного звена. Значительное улучшение точности формирования
желаемой траектории во времени для широкого диапазона
движений манипулятора и для различных нагрузок достигается при
использовании адаптивных методов управления.
5.8.1. Адаптивное управление по заданной модели
Среди различных методов адаптивного управления
наиболее широко используемым и относительно легко реализуемым
является адаптивное управление по заданной модели. Идея
этого метода основана на выборе соответствующей заданной
модели и алгоритма адаптации, по которым изменяются
коэффициенты передач обратных связей на двигатели в реальной
системе. Алгоритм адаптации проводится на основе
информации об ошибках между выходами заданной модели и выходами
реальной системы. Общая блок-схема адаптивного управления
системой по заданной модели приведена на рис. 5.13.
Простое адаптивное управление по заданной модели для
механических манипуляторов было предложено в работе [64].
При анализе нагрузка принималась в рассмотрение в сочетании
с конечным звеном и предполагалось, что размеры конечного
звена малы по сравнению с длиной других звеньев. Таким
образом, выбранная заданная модель обеспечивает эффективную
и гибкую работу замкнутой управляемой системы по
формированию желаемой траектории. В качестве заданной модели для
каждой степени свободы манипулятора робота выбирается
линейное дифференциальное уравнение второго порядка, не
зависящее от времени. Манипулятор управляется путем настройки
270
коэффициентов передачи обратной связи по положению и по
скорости при отслеживании модели таким образом, чтобы его
рабочие характеристики при замкнутом управлении совпадали
с желаемыми рабочими характеристиками заданной модели.
В результате такая схема адаптивного управления требует
небольшого объема вычислений, которые могут выполняться с
помощью недорогих микропроцессоров. Этот алгоритм
адаптивного управления не требует ни сложных математических
моделей динамической системы, ни предварительного знания внеш-
ваданный
входной. ^
сигнал г ^ Г
1
>
)
1-
Заданная
моде
ль
Динамическая
система
манипилятора
родота
/
Настраиваемые
коэффициенты
пвреаач одра т.-
ной связи
(
Мвооанизм,
адаптации
}
i
iT«
(*r,er)
1 U
У
Рис. 5.13. Общая блок-схема адаптивного управления системой по заданной
модели^
них воздействий, таких, как величина нагрузки и др.
Адаптивная схема, построенная по заданной модели, стабильно
функционирует в широком диапазоне движений и нагрузок.
После определения вектора у (0» описывающего динамику
заданной модели, и вектора х(/), описывающего динамику
манипулятора, г-е сочленение заданной модели может быть
описано следующим образом:
Щ§1 (0 + Mi (0 + Vi W = г, (t), (5.8-1)
Коэффициенты аь и Ьь определяются из частоты собственных
колебаний сош- и коэффициента демпфирования ^ линейной
системы второго порядка:
a>i = —у- и bi =
^i
(5.8-2)
271
В предположении, что при управлении манипулятором
используются коэффициенты передачи обратной связи по
положению и по скорости и что членами высоких порядков можно
пренебречь, уравнение динамики манипулятора для 1-го сочленения
может быть записано в виде
<*; (0 *i (0 + Р/ (0 *t if) + *i (0 = rt (0, (5.8-3)
где oii(t) и р/(0— медленно изменяющиеся во времени
параметры системы.
Настройка коэффициентов обратной связи управляемой
системы может быть произведена несколькими путями. Для
минимизации квадратичной функции ошибки системы, определяемой
различиями между динамикой реальной системы (уравнение
(5.8-3)) и динамикой заданной модели (уравнение (5.8-1)),
благодаря своей простоте используется метод градиентного спуска
/f (et) = 1/2 (ftft + k\et + k[et)\ i = 1, 2, ..., n, (5.8-4)
где ei = yi — Xi и значения весовых коэффициентов k)
выбираются из условий получения стабильности работы системы.
Используя метод градиентного спуска, настройку
параметров системы, минимизирующую ошибку системы, можно описать
следующими выражениями:
*1 (0 = [*ft W + *!*i W + *^ W1 [*& (0 + *5*i (0 + ftSa/ WJ,
(5.8-5)
Р< (0 - [*Й (0 + *{*i (О + *fo (/)] [k*2wt (0 + £{<*>; (0 + 4ta (/)],
(5.8-6)
где ш(0 и wt(t), а также их производные описываются из
решения следующих дифференциальных уравнений:
а,щ (/) + М/ (0 + «I (0 - - Л (0. (5.8-7)
а,й< (0 + М* (0 + шЛ (0 =~ - h (t). (5.8-8)
Величины yi(t) и #(<) представляют собой две первые
производные по времени из уравнения динамики заданной модели.
В замкнутой адаптивной системе решение уравнений заданной
модели используется для получения желаемого входа. Таким
образом, для получения значений m{t) и Wi(i)% а также их
производных в уравнениях (5.8-5) и (5.8-6) решаются
дифференциальные уравнения (5.8-7) и (5.8-8). Наконец, решая
дифференциальные уравнения (5.8-5) и (5.8-6), получаем значения
at(t) и p,(f).
Одним из наиболее важных преимуществ такого метода
управления является отсутствие сложной математической
модели, однако стабильность замкнутой адаптивной системы при
272
этом находится на границе устойчивости. Поскольку анализ
устойчивости в данном методе затруднителен, в работе [64]
была исследована линеаризованная модель адаптивной системы.
Однако возможность адаптации устройства управления при
больших силах взаимодействия между звеньями манипулятора
для рассмотренного метода становится неоднозначной.
6.8.2. Адаптивное управление с авторегрессивной моделью
В работе [150] предложено адаптивное
самонастраивающееся устройство управления, использующее авторегрессивную
модель для установления соответствия между входными и
выходными параметрами манипулятора. Алгоритм управления
предполагает, что силы взаимодействия между сочленениями
г^-г
х>
Манипулятор
Р(0)
Оценка пара-
метров по
методу на имено-
huux нвадратов
Алгоритм
управления
Т
Рис. 5.14. Адаптивное управление с авто регрессивной моделью.
ничтожно малы. Блок-схема системы управления приведена на
рис. 5.14. Обозначим входной момент на i-м сочленении через
Ui, а выходное угловое положение манипулятора — через уи
Пара входного и выходного параметров (uif yi) может быть
описана авторегрессивной моделью, которая приводит эту пару
как можно в более близкое соответствие:
Vt (A) = t [aTVt (* - m) + *>i (* - m)] + a] + et (ft), (5.8-9)
где a° — постоянная силы, ei(k) — ошибка моделирования,
которая по предположению описывается белым шумом с гауссов-
ским распределением и не зависит от щ и yi(k — m), m ^ 1.
Параметры а? и Ь? определяются таким образом, чтобы полу-
27а
чить наилучшее совпадение наименьших квадратов измеренной
пары параметров входа и выхода. Эти параметры могут быть
получены путем минимизации следующего критерия:
n
^Ы = 1ГТтЕеН*). (5.8-10)
fe = 0
где N — число измерений. Пусть а, является i-u
параметрическим вектором
<х* = (а?, а\у ..., сц, &?, b\9 ..., 6?)т, (5.8-11)
a tyi(k— 1) — вектор пары входного и выходного воздействия
= [1, yt(k - 1), ..., yt(k - я), tf| (* - 1), .. м щ{к - «)f, (5.8-12)
Тогда рекурсивная оценка по наименьшим квадратам щ
определяется выражением
(5.8-13)
в котором
P|W.j.r'.<*-)♦.<*-)<<»-»'.<»-)], (5.8.14)
nt L ^/ + фГ (iv — 1) р, (iv — о ^ (л^ — о Г
где 0 < \ii ^ 1 — коэффициент «запоминания», обеспечивающий
экспоненциальное убывание предыдущих значений параметров
во времени в алгоритме оценивания и возможность медленного
изменения параметров, Р.- — симметрическая матрица
размерностью (2п+ 1)Х(2я+ 1), а Л над а* обозначает оценку.
Используя приведенные уравнения для вычисления оценок
авторегрессивной модели, эту модель можно представить в виде
9г (*) - Щ% (ft - 1) + •, (ft). (6.8-15)
Рабочий критерий для /-го сочленения при определении
опорных точек траектории имеет вид
jk(u)^E{[yi(k + 2)~y*(k + 2)y + yiui(k+l)\^i(k)}, (5.8-16)
где Е[-] — вероятность выполнения процесса при наличии if>/(£)t
a yi — неотрицательный весовой коэффициент, задаваемый
пользователем,
274
Оптимальное управление, минимизирующее приведенный
рабочий критерий, имеет вид
Щ (к + 1) = да7ц]1+ у< {'? <*> + й\ (к) [«fo (*)] +
МП \
+ £лр(*)*,<*+ *-»») + £$?*(*)«, (* + 2-m)-itf(* +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
положению и по скорости до нуля вдоль заданной траектории.
Рекурсивная схема идентификации по наименьшим квадратам
используется для эффективного определения параметров системы
в реальном времени из уравнений возмущений. При управлении
линеаризованной возмущенной системой вдоль заданной
траектории используется одношаговый оптимальный закон
управления. Для получения необходимого управляющего воздействия
параметры и коэффициенты передачи обратной связи пересчи-
тываются и настраиваются в каждый дискретный период
времени. Таким образом, общий момент, управляющий
двигателями сочленений, складывается из номинальных моментов,
определяемых из уравнений движения Ньютона — Эйлера, и их
моментов по возмущениям, вычисляемых по одношаговому
оптимальному закону управления линеаризованной системой. Такой
метод адаптивного управления позволяет свести задачу
управления манипулятором от номинального управления к
управлению линейной системой вдоль заданной траектории.
Адаптивное управление основывается на линеаризованных
уравнениях для возмущений относительно заданной траектории.
Для построения устройства управления с обратной связью с
целью вычисления моментов возмущения в сочленениях,
уменьшающих ошибки по положению и по скорости вдоль заданной
траектории, необходимо продифференцировать соответствующие
линеаризованные уравнения возмущений. Уравнения движения
Лагранжа — Эйлера /г-звенного манипулятора могут быть
выражены в пространстве состояний в виде уравнений (5.4-4).
В такой постановке задача управления формулируется как
нахождение закона управления по обратной связи u(/) = g[x(/) J»
такого, что замкнутая система управления x(t) = f{x(t)\
g[x(t)]} асимптотически устойчива и описывает максимально
приближенную к желаемой траекторию в широком диапазоне
нагрузок в каждый момент времени.
Предположим, что заданное состояние xn(t) системы
(уравнение (5.4-4)) определено заданной траекторией, а
соответствующие заданные моменты \xn(t) получены из уравнений
движения Ньютона — Эйлера. Тогда xn(t) и un(t) удовлетворяют
уравнению (5.4-4):
M0-lM0.tt.fflI. (5.8-18)
Используя разложение в ряд Тейлора в уравнении (5.4-4)
относительно заданной траектории и вычитая из него уравнение
(5.8-18), а также пренебрегая членами высоких порядков,
получим соответствующую линеаризованную модель возмущений
для рассматриваемого типа управления:
6х (/) = V*f \n бх (t) + VJ \п би (/) = A (t) бх (/) + В (0 би (0, (5.8-19)
276
где V*f|rt и Vuf|« — якобианы в функции от f[x(/), u(/)],
определяемые соответственно xn{t) и un(t), &x(t) — x(t)—xn{t)t a
8u(t) = u(t)—Un(t).
Параметры системы А(/) и В(/) в уравнении (5.8-19)
зависят от текущего положения и скорости манипулятора при
движении вдоль заданной траектории и, следовательно, медленна
меняются во времени. Из-за сложности уравнений движения
манипулятора точное определение элементов А(^) и В(^)
чрезвычайно затруднительно. Однако построение закона
управления с обратной связью для уравнений возмущения требует,
чтобы параметры системы в уравнении (5.8-19) были известны в
каждый момент времени. Таким образом, для определения
неизвестных элементов А(/) и В (t) может быть использован метод
параметрической идентификации.
В данной постановке задача управления манипулятором
сводится к определению би(/), которое устремляет 6x(t) к нулю
вдоль всей заданной траектории в каждый момент времени.
Следовательно, вся управляемая система характеризуется
параметрами как прямой, так и обратной связей. После задания
опорных точек траектории qd(t), qd(t) и qd(t) в прямой связи
формируются соответствующие номинальные моменты un(t) из
уравнений движения Ньютона — Эйлера. В обратной связи
формируются соответствующие моменты по возмущениям 6и(/)>
которые компенсируют малые отклонения от заданной траектории.
Вычисление моментов, компенсирующих возмущения,
производится с помощью одношагового оптимального закона
управления. Такая постановка задачи имеет два главных преимущества.
Первое преимущество заключается в сведении нелинейной
задачи управления к линейному управлению вдоль заданной
траектории, а второе — в том, что определение номинальных и
компенсирующих моментов может быть произведено отдельно и
одновременно. Благодаря наличию такой параллельной
структуры вычислений метод адаптивного управления легко
реализуется на современных недорогих микропроцессорах. Блок-схема
рассмотренного метода управления приведена на рис. 5.15.
В случае использования цифровых машин уравнение (5.8-19)
необходимо дискретизировать для получения соответствующих
дискретных уравнений при определении требуемых параметров:
х [(k + 1) Т] = F (kT) х (kT) + G (kT) u (kT),
/г = 0, 1, ..., (5.8-20)
где T — период дискретизации и u(kT)—n-мерный
кусочно-постоянный входной вектор управления u(t) на интервале
времени между двумя любыми последовательными моментами
дискретизации kT ^ t < (k + 1)7\ а х (kT) — 2/г-мерный возмущен-
27?
ныи вектор состояния, который определяется выражением
kT
х (кТ) = Г (kT, t0) х (t0) + J Г (kTf t) В (/) и (/) dt. (5.8-21)
Здесь Г(kГ, t0) — переходная матрица состояния системы, а
F(kT) и G(kT)— соответственно матрицы размерностью 2пХ2я
и 2яХя, которые определяются следующим образом:
F (кТ) — Г [(к + 1) Г, ЛГ] (5.8-22)
и G (кТ) и (kT) = J Г р + 1) Г, t] В (0 и (0 dt. (5.8-23)
В этой модели должны быть определены все 6/г2 параметров
в матрицах F(kT) и G(kT). Для простоты и ясности исключают
период дискретизации Т из последнего уравнения,
/7араметрь/ движения
робота Возмущения
Заданная V^k)
траекториях
системы
Уравнения
движения
Ньютона-
Эйлера
4/?
pur*;
Манипулятор\
робота
Овношаговое
оптимально^
устройство
управления
I
■л
Рекурсивная
схема
идентификации
по методу
наименьшие
квадратов
&х(х)
Внешняя
среда
ПО),
PiOlfi *(t)
Измерения
О
Рис. 5.15. Адаптивное управление по возмущениям.
Задача определения параметров может быть решена с по*
мощью различных алгоритмов, таких, как методы наименьших
квадратов, максимума, вариационных методов и методов
стохастической аппроксимации. Для определения параметров
системы в матрицах F(k) и G(k) целесообразно использовать
рекурсивную схему определения параметров по наименьшим
квадратам в реальном времени благодаря простоте ее реализации.
В данной схеме определения параметров делаются следующие
предположения: 1) параметры системы медленно меняются, но
при этом скорость их изменения меньше, чем скорость адапта*
278
ции; 2) погрешности измерений пренебрежимо малы; 3)
переменные состояния x(k) в уравнении (5.8-20) поддаются
измерению.
Для того чтобы применить рекурсивный алгоритм
идентификации по наименьшим квадратам к уравнению (5.8-20),
необходимо трансформировать систему уравнений к удобному для
вычисления виду. Записывая r-ю строку неизвестных параметров
системы через k-й момент времени в виде 3/г-мерного вектора,
получим
0?<*) = [/„(А), .... /„(*), *„(*), .... «,„(*)]•
/=1, 2, .... Л (5.8-24)
или в матричной форме
= [0i(*), Ми), •■•> вр(*)], (5.8-25)
где р = 2я. Аналогично определяем выходы и входы
возмущенной системы по уравнению (5.8-20) в /г-й момент времени
Зп-мерным вектором:
■Г(*)-[*i(*). *2(*)> .— *Р<*). Щ(к), th(k)9 ..., иЛ(*)1. (5.8-26)
а состояние в &-й момент времени — 2п-мерным вектором:
хт (к) = [*, (А), *2 (А), ... t хр (Л)]. (5.8-27)
В результате система, соответствующая уравнению (5.8-20),
может быть записана в виде
Х( (к + 1) — zT (k) В, (к), i = 1, 2, ..., p. (5.8-28)
В такой формулировке задачи требуется определить
параметры в каждом столбце в*, основываясь на измерениях
вектора z(k). Для того чтобы проверить точность алгоритма оценки
по методу наименьших квадратов, при расчете учитывают
ошибку моделирования и шум в уравнении (5.8-20) в виде 2я-мер-
ного вектора ошибки е(А), часто называемого разностным
вектором:
M*) = *i(*+l)-zr(A)6*(*). /=1, 2, ..., р. (5.8-29)
При оценке параметров по методу наименьших квадратов
предполагается, что неизвестные параметры являются постоянными
в ДО-
Гц W ■
/ip'(A) •
•• ГцW
-.fPP\k)
..gPAk)
■ gBn(k) 1
279
величинами, а решение основывается на ряде из N измерений
с равными весами, используемом для оценки этих параметров.
К сожалению, данный алгоритм не может быть использован для
параметров, меняющихся во времени. Кроме того, требуется
производить сложное в вычислительном отношении
инвертирование матриц. Чтобы уменьшить объем вычислений и
проследить изменение параметров в (k) во времени на каждом
периоде дискретизации, в схеме последовательного определения
параметров по методу наименьших квадратов производится
пересчет неизвестных параметров на каждом периоде дискретиза-
дии с использованием новых измерений на каждом дискретном
интервале, что обеспечивает эффективное решение задачи
идентификации. Рекурсивный алгоритм определения параметров по
методу наименьших квадратов находится путем минимизации
экспоненциального критерия ошибки, в котором учитывается
квадрат ошибки последних измерений в виде
J^Zf-'ejU), (5.8-30)
где вектор ошибки определяется выражением
•fW-tVF^iO). VF^iW. •••> МЛО], (5.8-31)
а N > Зп — число измерений, используемых для оценки
параметров Qi(N). Минимизируя критерий ошибки в уравнении
(5.8-30) относительно неизвестных параметров вектора 6/ и
используя лемму об обращении матриц, после простых
алгебраических преобразований получаем рекурсивную схему
идентификации по методу наименьших квадратов в реальном времени:
£. (k+\) = в, (к) + Y (*) Р (*) z (k) [Xi(k+1)- zT (k) 6t (k)l (5.8-32)
p (k + 1) = P (k) - y (k) P (k) z (k) zT (k) P (k) (5.8-33)
и Y (k) = W (k) P (k) z (k) + p]"1, (5.8-34)
где 0<р<1, знак Л над 9* означает оценку, Р(£) =
= р [Z (к) ZT(к)) -1 — симметрическая положительно
определенная матрица размерностью ЗлХЗл. Здесь Z(ft) = [z(l), z(2),...
...,z(&)] — матрица измерений до k-го дискретного момента
времени. Если ошибки ei(k) распределены аналогично и не
зависят от нулевого значения и изменения а2, то P{k) можно
представить в виде ковариантной матрицы при р, равном а2.
Из приведенных рекурсивных уравнений видно, что оценка
параметров §*(£+!) в (£+1)-й дискретный период времени
равна предыдущей оценке 0*{&), скорректированной на
величину, пропорциональную [xt(k+l)— zT(k)Qt(k)]. Член zT(k)Bi(k)
представляет собой прогнозируемую величину х*(А+1), осно-
280
ванную на оценке параметров Qi(k) и векторе измерения z(k)~
Компоненты вектора y(k) P(&)z(&) являются весовыми
коэффициентами, которые определяют величину коррекции
предыдущей оценки для получения новой оценки 6;(&+1). Параметр
р — весовой коэффициент, обычно используемый для
отслеживания медленно меняющихся параметров путем реализации
экспоненциального уменьшения во времени значения
измеренных величин. Если р< 1, наибольший весовой коэффициент
получают значения, полученные на последнем дискретном периоде,,
и не получают значения, полученные на предыдущем периоде.
Если р« 1, точность отслеживания медленно меняющихся
параметров снижается вследствие погрешности при получении и
обработке экспериментальных данных.
Путем подбора весового коэффициента р можно добиться
компромисса между способностью к быстрой адаптации и
потерей точности определения параметров. В большинстве
прикладных задач для отслеживания медленно меняющихся
параметров р обычно выбирается в пределах 0,90 ^ р < 1,0.
Наконец, рассмотренный алгоритм идентификации
начинается с выбора начальных значений Р(0):
Р(0) = а13п, (5.8-35)
где а — большая положительная скалярная величина, а Ьл —
тождественная матрица размерностью 3/гХЗп. Начальную
оценку неизвестных параметров F(k) и G(k) можно
аппроксимировать следующими уравнениями:
F(0)~I2n + {|^[x„(0), u„(0)]}r + {|L[x„(0), u„(0)]}2^-,
(5.8-36)
G(0)«{-g-[x„(0), u„(0)]}r +
+ {£- [xn (0), u„ (0)]} X {JSr [x„ (0), un (0)]} Г +
4 {-£lxn(0), u„(0)]}2{^L[x„(0), e„(0)]}-j" (5.8-37)
где T — период дискретизации.
Для получения требуемых корректирующих моментов,
уменьшающих ошибки манипулятора по положению и скорости вдоль
номинальной траектории, соответствующие законы управления
могут быть построены после определения параметров F(k) n
G(k). Это можно сделать путем нахождения оптимального
управления и*(&)> минимизирующего рабочий критерий и
удовлетворяющего требованиям уравнения (5.8-20):
J(k) = 1/2 [xT(k + l)Qx (k+l) + uT(k) Ru (£)], (5.8-38)
281
где Q — полуположительно определенная весовая матрица
размерностью рХр, a R — положительно определенная весовая
матрица размерностью пХ.п. Одношаговый рабочий критерий
(уравнение (5.8-38)) показывает, что целью оптимального
управления является сведение к нулю ошибок манипулятора
по положению и по скорости вдоль номинальной траектории при
позиционном и скоростном управлении на дискретных
интервалах. При этом одновременно достигается качество управления.
Вид оптимального управления, минимизирующего функционал
(уравнение (5.8-38)) и удовлетворяющего требованиям
уравнения (5.8-20), хорошо известен [259]:
u* (k) = - [R + GT (k) QG (к)Г1 От (k) QF (k) x (ft), (5.8-39)
где F(k) и G(k)—параметры системы, полученные с помощью
алгоритма идентификации (уравнения (5.8-32) — (5.8-34)) в Л-й
дискретный момент времени.
Алгоритмы идентификации и управления (уравнения
(5.8-32) — (5.8-34) и (5.8-39)) не требуют сложных вычислений.
В уравнении (5.8-34) [zr(ft)P(£)z(&)p] представляет собой
скаляр, поэтому его обращение тривиально. Хотя весовой
коэффициент настраивается для каждого вектора /-го параметра
Qi(k), это требует большого объема вычислений для матрицы
Р(&4- 1). Такая настройка нежелательна при реализации
управления манипулятором робота в режиме реального времени.
Матрица Р(&+ 1) вычисляется только один раз на каждом
дискретном периоде времени с использованием одного и того же весового
коэффициента р. Более того, поскольку
Р(А)—симметрическая положительно определенная матрица, необходимо
вычислять только верхнюю диагональную матрицу из P(k).
Объединенный алгоритм идентификации и управления может быть
реализован за время О(я3). В табл. 5.1 приведены требования
Таблица 5.1. Расчет адаптивного устройства управления
Адаптивное устройство
управления
Уравнение движения
Ньютона — Эйлера
Алгоритм адаптации по
методу наименьших
квадратов
Алгоритм управления
Итого
Число операций
умножения
117/1-24
30/г2 + 5/г+1
8/г3 + 2п2 + 39
8/»8 + 32/72 + 5я + 40
Число операций
сложения
103л — 21
30/г2 + Зп — 1
8л8 — п2 — п 4- 18
8я8 + 29п2 + 2/г + 17
к вычислению адаптивного управления при наличии возмущений.
В соответствии с возможностями ЭВМ DEC PDP 11/45 сложе-
282
ние с плавающей запятой (инструкция ADDF) занимает время
5,17 мкс, а умножение с плавающей запятой (инструкция
MULF)— 7,17 мкс. Предположим, что по каждой из указанных
инструкций необходимо выбирать данные из машинной памяти
дважды при времени выборки 450 не. Тогда для вычисления
моментов на первых трех сочленениях манипулятора робота Пума
в основной точке траектории при реализации адаптивного
управления по возмущениям требуется примерно 7,5 мс.
0,0198 г
/fep$oe сочленение
а Вез нагрузки
с Ямобини яагрузяю
-0,0560
* е\
0,000 0,2000 0,4000 0,6000 0,8000 1,000
Время> а
Рис. 5.16. Ошибка позиционирования первого сочленения при различных
нагрузках.
Изучение трехзвенного манипулятора робота Пума путем
численного моделирования проведено в работах [159, 160]. При
этом была оценена работа адаптивного устройства управления
и осуществлено сравнение с устройством управления
(уравнение (5.3-65)), которое в основном представляет собой
пропорционально-дифференциальный регулятор (ПД-управление).
Анализ проводился при различных условиях нагружения во время
движения по заданной траектории. Была сопоставлена и
оценена реализация ПД-управления и адаптивного управления для
трех различных условий нагружения. Результаты приведены в
табл. 5.2, где в первом случае приведены данные при отсут-
283
Таблица 5.2. Сравнение ПД-управления и адаптивного управления
Различные условия
нагружения
Без нагрузки:
ошибка в тензоре
инерции 10%
0,5 максимальной
нагрузки:
ошибка в тензоре
инерции 10%
Максимальная
нагрузка:
ошибка в тензоре
инерции 10%
ПД-управление
Формирование траектории
Сочлене
ния
1
2
3
1
2
3
1
2
3
Максимальная
ошибка,
градус
0,089
0,098
0,328
0,121
0.147
0,480
0,145
0,185
0,607
Максимальная
ошибка,
мм
1,55
1,71
2,86
2,11
2,57
4,19
2,53
3,23
5,30
Ошибка
конечного
положения.,
градус
0,025
0,039
0,121
0,054
0,078
0,245
0,082
0,113
0,360
Адаптивное управление
Формирование траектории
Максимальная
ошибка,
градус
0,020
0,020
0,032
0,045
0,065
0,096
0,069
0,069
0,066
Максимальная
ошибка,
мм
0,34
0,36
0,28
0.78
1,14
0.83
1,20
1,22
0,58
Ошибка
конечного
положения,
градус
0,000
0,004
0,002
0,014
0,050
0,077
0,023
0,041
0,019
0.№\ г-
д(г?о/юе сочленение
u Sf$ пагрузт
*/?<мтя нагрузка
!
§ -0,0077
<3
-0,0209
0,000 0,2000 0,4000 0;6000 0,8000 1,000
Лремя,с
Рис, 5.17. Ошибка позиционирования второго сочленения при различных
нагрузках.
2М
ствии нагрузки, во втором случае — при половине
максимальной нагрузки, а в третьем случае — при максимальной нагрузке.
Во всех случаях ошибка тензора инерции составляла 10%, что
означало отклонение его действительного значения от
измеренного в пределах ±10%. Результаты отразили преимущество
адаптивного управления по сравнению с ПД-управлением с по-
0,0796 г-
&
0,05*78
-0,0293
Третье сочленение
о £еэ нагрузки
о Половина нагрузки
• Полная нагрузка
1,000
0,000 0,2000 0,4000 0,6000 0,8000
Время, с
Рис. 5.18. Ошибка позиционирования третьего сочленения при различных
нагрузках.
стоянным коэффициентом передачи обратной связи в смысле
точности как формирования траектории движения, так и
конечного позиционирования. Графики ошибок углового положения
при адаптивном управлении для рассмотренных случаев
приведены на рис. 5.16—5.18. Более подробно результаты
моделирования изложены в [159, 160].
5.8.4. Независимое адаптивное управление движением
Метод адаптивного управления, рассмотренный в разд. 5.8.3
для связанных координат, может быть распространен на случай
управления манипулятором в декартовых координатах при
различных условиях нагружения с помощью применения принципа
независимого управления движением по скорости и ускорению.
Независимое адаптивное управление движением формирует дви-
285
жение конечного звена и основано на использовании
линеаризованной возмущенной системы, описывающей движение
конечного звена вдоль заданной временной траектории. Это
управление отличается от независимого управления движением по
ускорению минимизацией не только ошибок по положению или
ориентации, но и ошибок по угловым и линейным скоростям
конечного звена манипулятора вдоль координатных осей
конечного звена. Как и для предыдущего метода адаптивного
управления, управляемая система характеризуется наличием
положительной и отрицательной обратных связей, которые могут
определяться одновременно и отдельно. Прямая связь преобразует
определенные значения положений, скоростей и ускорений
конечного звена в соответствующие значения этих величин для
сочленений, с помощью которых вычисляются номинальные
моменты в сочленениях, компенсирующие все силы,
взаимодействующие между различными сочленениями. В обратной связи
формируются моменты в сочленениях, компенсирующие
возмущения и уменьшающие ошибки конечного звена манипулятора
по положению и скорости вдоль его номинальной траектории.
В этом случае также используется рекурсивный алгоритм
идентификации по методу наименьших квадратов для определения
параметров линеаризованной системы в режиме связи с
процессором.
Уравнения движения манипулятора в декартовых
координатах могут быть легко получены с использованием
кинематической связи между связанными с сочленениями координатами и
декартовыми координатами, которая была ранее найдена в виде
уравнений (5.7-1)—(5.7-14). Ускорение манипулятора
определяется уравнением (5.7-13) и имеет вид
[^(/M = N(q, q)N-'(q) [ q{|J]+ N(q)q(f). (5.8-40)
Для того чтобы отразить динамику манипулятора в этом
кинематическом уравнении, необходимо использовать уравнения
движения Лагранжа — Эйлера в виде уравнения (3.2-26).
Поскольку D(q) — всегда несингулярна, q(/) можно получить из
уравнения (3.2-26) и после его подстановки в уравнение (5.8-40)
определить ускорение конечного звена манипулятора в виде
+ N(q)D-|(q)M0-h(q> q)-c(q)]. (5.8-41)
Разобьем для удобства N(q), N_1(q) и D-1(q) на
подматрицы размерностью 3X3, a h(q, q), c(q) и т(0 на подматрицы
286
размерностью ЗХ U
Объединяя уравнения (5.7-4), (5.7-8) и (5.8-41) и используя
уравнения (5.8-42) — (5.8-44), получим уравнения состояния
манипулятора в декартовых координатах
ГО О
О О
и
О
- Р (О -I
Ф(0
la(t).
=
О
S(O)
X
где 0 — нулевая матрица размерностью 3X3. Заметим, что
самая левая матрица и средние векторы имеют размерность
12X1, левая центральная матрица — 12X12, правая
матрица— 12X6 и самый правый вектор — 6Х 1. Уравнение (5.8-45)
представляет собой уравнение состояния манипулятора и будет
287
использовано при получении адаптивного управления в
декартовых координатах.
Определяя вектор состояния конечного звена манипулятора
в виде
х(0 А(хь хъ ..., х12)тА(рх, РУ> Рг, «, Р> Y, vXi vyy v21 шх, (nyt co2)rA
Д(рт, Фг, vr, Qr)r, (5.8-46)
a вектор входных моментов в виде
и (О А (т„ ..., т6)г А (Щ, ..., щ)т, (5.8-47)
уравнение (5.8-45) можно записать в пространстве состояний
в виде
x(t) = 1[x(t), u(t)]t (5.8-48)
где x(t)—2п-мерный вектор, и(0—n-мерный вектор,
f(-)—непрерывно дифференцируемая нелинейная вектор-функция
размерностью 2пXI, а п = 6 — число степеней свободы
манипулятора.
Уравнение (5.8-48) может быть записано в виде
хх (t) = fx (х, и) = х7 (О,
*з(0 = Ых» и) = *9(/),
-МО = /4(х> и) = — sec х5 (лг10 cos л:6 + *п sin x6),
хъ (t) = /5 (х, и) == sec *5 (*шcos #з sin x& — хп cos л:5 cos л:6),
x6(t) = f6(x, и) =
= — secA:5(^io sin x5cos x6 + xu sin x5 sin л:б + at^cosats),
*/+б(0 = Л+б(х, и) = gi+6 (q, q) x (0 + bi+6 (q)k (q, q) + bi+6(q) u(/),
(5.8-49)|
где /= 1, ..., 6, a g;+6(q, q) есть (/ + 6)-я строка матрицы
гоо i3 о
0 0 0 S(<D)
0 0Nn(q, q)K,i(q) + Ni2(q, q)K2i(q) Nu(q, q)Ku(q) + Ni2(q, q) K22(q)
L00N21(q, q)Kn(q) + NM(q q)K21(q) N2i(q, q)K12(q) + N22(q, q)K22(q).
a bi+6(q) есть (/+6)-я строка матрицы
О 0
0 0
Nn (q) En (q) + N12 (q) E21 (q) Nu (q) E12 (q) + N,8 (q) E22 (q)
L N21 (q) En (q) + N22 (q) E21 (q) N21 (q) E12 (q) + N22 (q) E22 (q) J
. T-h^q, q) — qfon
^(q' q)= и i \ ( Л
L — h2 (q, q) — c2 (q) J
288
Уравнение (5.8-49) полностью описывает динамику
манипулятора в декартовых координатах. Задачей управления при
этом является нахождение закона управления по обратной связи
u(0 = g[x(')]. который минимизирует ошибку конечного звена
при его движении вдоль заданной траектории в широком
диапазоне нагрузок. Снова получим соответствующую
линеаризованную систему, используя теорию возмущений и разложение в ряд
Тейлора в уравнении (5.8-49), и построим управление по
обратной связи вдоль желаемой траектории конечного звена.
Определение закона управления по обратной связи для
линеаризованной системы аналогично определению закона управления в
связанных с сочленениями координатах (уравнения (5,8-32) —
(5.8-34) и (5.8-39)). Блок-схема независимого адаптивного
управления движением показана на рис. 5.19.
Система независимого адаптивного управления движением
также характеризуется наличием прямой (программной), а
также положительной и отрицательной обратных связей. Это
позволяет проводить параллельные вычисления параметров в этих
связях. В прямой связи определяются управляющие моменты
в сочленениях по следующему алгоритму. Сначала по опорным
точкам траектории конечного звена pd(t), <Bd(0» vd(/), Qd(t),
vd(t) и Qd(t) формируются величины требуемых положений,
скоростей и ускорений в сочленениях, а затем из уравнений
движения НьютЬна — Эйлера вычисляются управляющие моменты
в сочленениях, организующие траекторию конечного звена. При
этом используются сформированные величины положений,
скоростей и ускорений в сочленениях. Определенные таким
образом моменты представляют собой номинальные моменты un(t).
В обратной связи вычисляются моменты в сочленениях,
компенсирующие возмущения, в соответствии с уравнением (5.8-39) и
рекурсивным алгоритмом идентификации по методу наименьших
квадратов (уравнения (5.8-32) — (5.8-34)).
Возможность применения адаптивного устройства
управления, реализованного на дискретной частоте 60 Гц, и
современных недорогих микропроцессоров можно установить путем
определения времени вычисления при рассмотрении математических
операций умножения и сложения. Предположим, что
мультипроцессоры могут производить параллельный расчет управления.
Параметры прямой связи, в которой формируются номинальные
моменты в сочленениях, организующие заданную траекторию
движения конечного звена, могут подсчитываться в четыре
последовательных этапа. Это требует в общем случае выполнения
1386 операций умножения и 988 операций сложения для шести-
звенного манипулятора. Параметры обратной связи, в которой
формируются моменты, компенсирующие возмущения в
сочленениях, удобно вычислять в три последовательных этапа. Для
шестизвенного манипулятора это требует выполнения примерно
10 К. Фу и др.
289
*2
CD
О
W(t)\
N'VJ
Параметры звеяьеб
робота
LA
Уравнения
движения
Ньютона-
дилера
Wit)
Программа
решения оо-
\ратной задачи
1 кинематики
«,*-
Манипулятор
робота
Ъи(к)
рдношаговое\
устройство
оптимального\
управления
x*#h
tfit)
vd(t)\
Sfit)\
Рекурсивная
схема
идентификации по
методу
наименьших
кбадратов
F(W,W)
bx(fc)
ПО)*
• G(0),
Программа
кинематики
[Щ>]
x(t)=
■Юг
'P(t) '
0(t)
V(t)
&(t)
\nt)\
.Рис, 5.19. Независимое адаптивное управление движением,
33#Шбрйций умножения и 3118 операций сложения. Поскольку
параметры прямой и обратной связей могут вычисляться
параллельно, независимое адаптивное управление движением в общем
случае требует выполнения 3348 операций умножения и 3118
операций сложения в каждый период дискретизации. Объем
вычислений для операций умножения и сложения при
адаптивном управлении n-звенного манипулятора приведен в табл. 5.3.
Таблица 5.3. Вычисление независимого адаптивного управления
движением
Этап 1
Этап 2
Этап 3
Этап 4
Этап 1
Этап 2
Этап 3
Адаптивное управление
Вычисление qd (обратная
1 задача кинематики)
Вычисление q
Вычисление q
Вычисление т
Общее число операций
при вычислениях по
прямой связи
Вычисление (р Ф )
Вычисление (v Q )
Вычисление ошибок
конечного звена
[ж(*)-жЛ(А)]
Алгоритм идентификации
Вычисление адаптивного
управления
Общее число операций
при вычислениях по
обратной связи
Общее число
математических операций
Число операций
умножения
(39)
л2 + 27л+ 327
(525)
4л2
(144)
117л-24
(678)
5 л2 + 144 л + 342
(1386)
(48)
л2 + 27л —21
(177)
0
(0)
33л2 + 9л + 2
(1244)
8л3 + 4л2 + п + 1
(1879)
8л3 + 38л2 +
+ 37 л + 30
(3348)
8л3 + 38л2 +
+ 37л + 30
(3348)
Число операций
сложения
(32)
л2 + 18л+ 89
(233)
4л2 — Зл
(126)
103л— 21
(597)
5л2 + 118« + 100-
(988)
(22)
л2+ 18л— 15
(129)
24
(12)
34'/2л2- V/2n
(1233)
8л3 —л
(1722]
8п? + ЗЬ1/2п2 +
+ 17Уа« + 7
(3118)
8л* + 35'/2"2 +
+ 17'/2"+ 7
(3118)
Для микропроцессора INTEL 8087 целочисленное умножение
занимает 19 мке, сложение—17 мке, а обращение к памяти —
9 мке. Предполагая, что для каждой операции умножения и
сложония требуются два обращения к памяти, вычисление
предложенного управления займет 233 мс. Такое быстродействие
10* 291
является недостаточным для работы замкнутой системы,
В разд. 5.3.5 было показано, что минимальное быстродействие
для дискретной частоты 60 Гц составляет 16 мс.
В микропроцессоре Motorola MC 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, найти передаточные функции разомкнутой системы SL(s)/E(s) и
замкнутой системы ®L(s)/QL(s)t если управляющее напряжение Va(t) прямо
пропорционально ошибке позиционирования и скорости изменения выходного
углового положения.
5.2. Определите установившуюся ошибку системы на ступенчатое
входное воздействие при управляющем напряжении из упр. 5.1. Сделайте то же
самое для аналогового входа.
5.3. Сколько требуется операций умножения и сложения на одной
опорной точке траектории при использовании метода вычисления моментов, если
для вычисления управляющих моментов в сочленениях для манипулятора с
шестью степенями свободы и с. шарнирными сочленениями использовать
уравнения движения Ньютона — Эйлера?
293
5.4. При использовании метода вычисления моментов было найдено»
управление в непрерывном времени, в то время как из-за использования
цифровой машины при реализации управления манипулятором робота она
должно осуществляться в дискретном времени, т. е. с помощью системы
с дискретными параметрами. Приведите условие, при котором возможна
указанная реализация управления.
5.5. Уравнения движения двухзвенного манипулятора робота (разд. 3.2.6)
записываются в компактной матрично-векторной форме
Г<*п(е2) dl2 (02) "I Г et (/) "I
Ы12(62) d22 Лв2(0 J
л, №) и+*»w * а - л. m ч+[:;t S' ] - [';»]■
где g — ускорение свободного падения. Определите соответствующие векторы
переменного состояния х(г) и вектор управления и(/) для этой динамической
системы. Предполагая, что существует D-l(6), запишите уравнения движения
такого робота для параметров d//, р^ и с; в пространстве состояний с ис~
пользованием найденных вектора переменных состояния и вектора
управления.
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. ВВЕДЕНИЕ
Внешние устройства очувствления позволяют взаимодействовать
роботу с внешней средой в интерактивном режиме, который
отличается от режима работы по жестко заданной программе,
предусматривающей выполнение повторяющихся операций без
обратной связи с внешней средой. Хотя последний режим
преобладает в современных промышленных роботах, очувствление и
высокий уровень технического интеллекта обеспечивает более
активное взаимодействие машин с внешней средой, что,
несомненно, является перспективной областью развития
робототехники. Роботу, который может «видеть» и «чувствовать»,
легче выполнять сложные задачи, кроме того, в этом случае
снижаются требования к точности устройств управления. Очув-
ствленные обучаемые системы обладают возможностью
адаптации при выполнении широкого круга задач. Благодаря этому
повышается степень универсальности, что в конечном счете при- f.
водит к снижению стоимости продукции и технического обслу- •
живания.
, Функционально датчики роботов можно подразделить на
два основных типа: датчики внутреннего состояния и датчики
внешнего состояния. Датчики внутреннего состояния служат
для формирования сигналов в цепях обратных связей по
положению и скорости звеньев манипулятора ]\ Эти измерения
используются при управлении роботом, которое рассматривалось
в гл. 5. Датчики внешнего состояния предназначены для
измерения параметров в дальней и ближней зонах и для тактильных
измерений. Внешнее очувствление, которое рассматривается в
гл. 6—8, используется для управления движением робота, а
также при идентификации объектов и манипулирования с ними.
Датчики внешнего состояния в свою очередь подразделяются
на контактные и бесконтактные. Контактные датчики, как сле-
4) В последнее время получают развитие комбинированные методы
управления, включая очувствление по силе и моменту. — Прим. ред.
295
дует из их названия, производят измерения при контакте с
объектом в процессе касания, проскальзывания или кручения.
Принцип действия бесконтактных датчиков основан на
определении изменений акустического или электромагнитного полей
при взаимодействии с объектом. Наиболее важными примерами
использования бесконтактных датчиков является измерение
положения объекта в дальних и ближних зонах, а также
определение характеристик объекта оптическим методом.
Основное внимание в данной главе уделено датчикам
измерения в дальней и ближней зонах, а также тактильным и сило-
моментным датчикам. Вопросы технического зрения подробно
рассматриваются в гл. 7 и 8. Отметим, что техническое зрение
и датчики измерения в дальней зоне обычно дают основной
объем информации при управлении движением манипулятора,
а датчики измерения в ближней зоне и тактильные датчики
используются на конечных этапах движения манипулятора при
захвате объекта. Силомоментные датчики применяются в
качестве устройств обратной связи для управления манипулятором
после захвата объекта, например для исключения возможности
его повреждения или проскальзывания.
6.2. ДАТЧИКИ ИЗМЕРЕНИЯ В ДАЛЬНЕЙ ЗОНЕ
С помощью датчиков измерения в дальней зоне определяется
расстояние от точки отсчета, обычно связанной с самим
датчиком, до объекта в рабочем диапазоне измерений. Человек
оценивает расстояние с помощью зрения (гл. 7), в то время как
некоторые животные, например летучие мыши, определяют
расстояние по времени посылки и отражения акустического
сигнала. Датчики измерения в дальней зоне используются для
навигации робота и обхода препятствий, когда требуется
оценить расстояния до ближайших объектов или определить
местоположение и форму объектов в рабочем пространстве робота;
В данном разделе рассматриваются некоторые методы
измерения в дальней зоне.
6.2.1. Триангуляция
Одним из простейших методов измерения в дальней зоне
яйляется метод триангуляции (рис. 6.1). Объект освещают уз-
ким лучом света, направленным на его поверхность. Движение
луча в плоскости определяется линией от объекта до приемника
света и линией от приемника до источника света. Если
приемник расположен на малом участке поверхности, при
обнаружении приемником светового пятна расстояние D до освещенного
участка поверхности может быть вычислено из геометрических
соотношений (рис. 6.1), так как угол, образованный источником
2&8
р базовой линией, и расстояние В между источником и прием«
ником известны.
Этот метод реализует точечное измерение. Если система
источник — приемник движется в фиксированной плоскости
Источник
базовая
линия
Рис. 6.1. Измерение расстояния методом триангуляции [137].
(вверх и вниз и в стороны в плоскости, перпендикулярной
плоскости рис. 6.1 исключающей базовую линию), то в этом случае
можно получить группу точек, расстояния от которых до прием-
Рис. 6.2. Сканируемые объекты (а) и изображение с интенсивностью,
пропорциональной расстоянию (б) [137].
ника известны. Эти расстояния легко перенести в трехмерную
систему координат путем сканирования (рис. 6.2). На рис. 6.2, а
показано расположение сканируемых объектов, а на рис. 6.2, б—
результаты сканирования в виде изображения, интенсивность
297
которого (чем ближе, тем темнее) пропорциональна зоне
дальности, измеренной от плоскости движения до пары источник —
приемник.
6.2.2. Метод подсветки
Данный метод состоит в проецировании светового потока
на группу объектов и использовании изменения формы потока
для вычисления расстояния. Одним из наиболее
распространенных световых потоков, применяемых в настоящее время,
является световая полоса, генерируемая через цилиндрические линзы
или узкую щель. Пересечение светового потока с объектами в
рабочем пространстве (рис. 6.3) образует на них полосы света,
фиксируемые телевизионной камерой, помещенной на
расстоянии В от источника света. Такая ситуация легко анализируется
компьютером при определении расстояния. Например,
отклонение лучей указывает на изменение поверхности, а разрыв
соответствует промежутку между поверхностями.
298
Рис. 6.3. Измерение расстояний методом подсветки. Вид сверху (б) на
расположение элементов системы, изображенной на рис. а, позволяет упростить
процесс калибровки.
Для получения базовых значений расстояний вначале
проводят калибровку системы. Один из простейших вариантов
идентификации показан на рис. 6.3,6, который представляет
собой вид сверху системы, представленной на рис. 6.3, а. При
таком расположении источник света и камеру помещают на
одинаковой высоте, а световой поток перпендикулярен линии,
соединяющей источник света и центр объектива камеры.
Назовем вертикальную плоскость, проходящую через эту линию,
плоскостью отсчета. Очевидно, что плоскость отсчета
перпендикулярна световому потоку и любая вертикальная плоская
поверхность, пересекающая луч, дает вертикальную полосу света
(рис. 6.3,а), каждая точка которой будет равноудалена по
нормали от плоскости отсчета.
Целью расположения элементов системы, показанного на
рис. 6.3,6, является размещение камеры таким образом, чтобц
каждая вертикальная полоса была также вертикальной в пло*
скости изображения. Следовательно, каждая точка в одном
столбце изображения будет найдена, поскольку находится на
известном расстоянии от плоскости отсчета.
В большинстве систем, основанных на методе подсветки,
используют цифровые изображения. Предположим, что изображе-
299
ние, полученное камерой, преобразовано в цифровой массив
размерностью NXM (разд. 7.2) и пусть # = 0, 1, 2, ..., М—1
является номером столбца этого массива. Ниже показано, что
процедура калибровки состоит в измерении расстояния В между
источником света и центром линз и последующим измерением
углов ас и «о. После того как эти величины становятся известны,
из правил элементарной геометрии следует, что d (рис. 6.3,6)
вычисляется по формуле
d^ktgQ. (6.2-1)
где к—фокальная длина линз и
е = ас — а0. (6.2-2)
Для цифрового изображения, содержащего М столбцов,
приращение расстояния dk между столбцами определяется по
формуле
а^==к1Щ те1Г <6-2"3>
для 0 ^ к ^ М/2. (В изображении на мониторе k = 0
соответствовало бы крайнему слева столбцу, a & — М/2—
центральному столбцу.)
Угол а*, образованный проекцией произвольной полосы,
легко получить, отметив, что
«а = «с-^ (6.2-4)
где
tge; = ^i, (6.2-5)
или, используя равенство (6.2-3),
где 0 sg k ^ М/2. Для оставшихся значений k (т. е. по другую
сторону оптической оси) имеем
Ч=~% + Ч' (6-2-7)
где
6^arctg[^^] (6.2-8)
для М/2</г<(М- 1).
Сравнивая уравнения (6.2-6) и (6.2-8), отметим, что
В^ = —8^.. Таким образом, равенства (6.2-4) и (6.2-7)
идентичны для всего диапазона 0 ^ k ^ М—1. Тогда из рис. 6.3,6-
следует, что расстояние по нормали Dk между произвольной
полосой света и плоскостью отсчета будет равно
Dh = BtgQk (6.2-9)
300
для 0 ^ k ^ М—1, где a,k вычисляется либо из уравнения
(6.2-4), либо из уравнения (6.2-7).
Важно отметить, что, если величины В, а0,- «с М я К
известны, номер столбца в цифровом изображении полностью
определяет расстояние между плоскостью отсчета и всеми
точками на полосе, отображенной на этом столбце. Так как М и X
являются фиксированными параметрами, процедура
калибровки состоит в простом измерении В и определении ас и ао, как
указано выше. Для определения ас плоскую вертикальную
поверхность размещают так, чтобы ее пересечение со световой
полосой находилось в центре плоскости изображения (т. е. у =
— М/2). Затем измеряют величину перпендикуляра Dc между
поверхностью и плоскостью отсчета. Из рис. 6.3,6 следует, что
cfe-arctgf-^-]. (6.2-10)
Чтобы определить ао, перемещают поверхность ближе к
плоскости отсчета, пока ее световая полоса не совместится с у = О
на плоскости изображения. Затем измеряют DQ и из рис. 6.3,6
находят
Oo = arctg [■%-]. (6.2-11)
Это завершает процесс калибровки.
Основное преимущество такой системы состоит в
относительной простоте измерения расстояний. После завершения
калибровки расстояние, соответствующее каждому столбцу в
изображении, вычисляется с помощью уравнения (6.2-9), где k =
= 0, 1, 2, ..., М — 1, а результаты хранятся в памяти. Затем
в процессе измерений расстояние до любой точки изображения
получают путем простого определения номера ее столбца в
изображении и обращения к соответствующей области памяти.
В заключение отметим, что для решения более общей задачи,,
когда источник света и камера размещаются произвольно по
отношению друг к другу, можно использовать метод, описанный
в разд. 7.4. Однако полученные выражения были бы
значительно более сложными с точки зрения вычислений.
6.2.3. Измерители расстояния по времени прохождения сигнала
Ниже рассматриваются три метода измерения расстояния,
основанные на определении времени прохождения сигнала
между объектом и приемником. Два из них используют лазер,
а третий — ультразвуковые сигналы.
В первом методе измеряется метод, в течение которого
посланный вдоль оси световой импульс возвращается вдоль той
же оси от отражающей поверхности. Расстояние до поверхности
301
определяется по формуле D = cT/2, где Т — время
прохождения сигнала и с — скорость света. Отметим, что поскольку
скорость света примерно составляет 0,3 м/нс, электронное
оборудование должно обладать частотой отсчета 50 Гц для
достижения точности измерения порядка ±6,3 мм.
Система, использующая лазерные импульсы, дает двумерный
массив со значениями, пропорциональными расстоянию [137].
Двумерное сканирование выполняется путем отклонения
лазерного луча вращающимся зеркалом. Рабочая зона этого
устройства находится в пределах 1—4 м с обеспечением точности до
±0,25 см. Пример картины выходного сигнала такой системы
дан на рис. 6.4. На рис. 6.4, а показан набор трехмерных объ-
Рис. 6.4. Система объектов (а) и изображение (б) с интенсивностью,
пропорциональной расстоянию [138].
ектов, а на рис. 6.4,6 — соответствующий информационный
массив, представленный в виде изображения, интенсивность
каждой точки которого пропорциональна расстоянию между
датчиком и отражающей поверхностью в этой точке (чем темнее, тем
ближе). Яркие участки вокруг границ объектов представляют
прерывистое изменение расстояния, определяемое ЭВМ с
помощью специальной процедуры.
Во втором методе вместо импульсного светового сигнала
используется непрерывный луч лазера и измеряется задержка
(т. е. фазовый сдвиг) между посылаемыми и возвращенными
лучами (рис. 6.5). Допустим, что луч лазера с длиной волны К
расщеплен на два луча. Один из них (называемый «лучом
отсчета») проходит расстояние L к фазометру, а другой проходит
расстояние D до отражающей поверхности. Общее расстояние,
пройденное отраженным лучом, составляет D' = L-\-2D.
Допустим, что D = 0. При этом условии Dr = L, и как луч отсчета,
так и отраженный луч достигают фазометра одновременно. Если
302
увеличивать D, отраженный луч проходит большой путь и,
следовательно, возникает фазовый сдвиг между двумя лучами в
точке измерения (рис. 6.5,6). В этом случае имеем
D' = L +
360
(6.2-12)
Отметим, что, если 9 = 360°, обе волны вновь совпадают и
нельзя отличить D'— L и D' = L-\-n'k, n=l, 2, ..., основы-
Лазер
Разделитель
.луча
Li
Фазометр
Отражающая
/№0ергноспгь
• Исходящий yii/ч
—.**— Отраженный луч
-*\е ц—
Рис. 6.5. Принцип измерения расстояния по фазовому сдвигу (а) и сдвиг
между исходящей и отраженной световыми волнами (б).
ваясь на одном измерении фазового сдвига. Таким образом,
решение может быть получено только в том случае, если 6 < 360°,
либо, что то же самое, 2D < X. Так как D' = L + 2D, подставив
это значение в уравнение (6.2-12), имеем
D
е
360
(!)•
(6.2-13)
что определяет расстояние через фазовый сдвиг, если известна
длина волны.
303
Если длина волны лазерного луча мала (например, 632,8 нм
для гелий-неонового лазера), то метод, схема которого
показана на рис. 6.5, нецелесообразно применять в робототехнике.
Простейшим решением в этом случае является амплитудное
моделирование лазерного луча путем использования волны с
гораздо большей длиной. (Например, помня, что c = fky
модулирующая волна с частотой /=10 МГц имеет длину 30 м.) Этот
метод проиллюстрирован на рис. 6.6. Основная процедура
остается прежней, но сигнал отсчета является теперь функцией
модулирования Модулированный лазерный сигнал посылается на
объект, а возвращенный сигнал демодулируется и сравнивается
с отсчетным сигналом для определения фазового сдвига.
Равенство (6.2-13) все еще имеет силу, но теперь работа
происходит в более удобном диапазоне длин волн.
Рис. 6.6. Волновор сигнал1 модулированный по амплитуде модулирующей
функцией с гораздо большей длиной волны.
Важным преимуществом метода с непрерывным лучом по
уравнению с импульсным методом является то, что первый дает
сведения об интенсивности (чем ярче, тем ближе) [137].
Однако для работы по методу с непрерывным лучом
затрачивается значительно большая мощность. Неточности при
измерении расстояний, получаемые при использовании любого из
этих методов, требуют усреднения отраженного сигнала для
уменьшения ошибки. Если при рассмотрении задачи мы
допускаем, что к действительному расстоянию добавляется шум
измерения, и принимаем, что измерения являются
статистически независимыми, можно показать,_что стандартное отклонение
от среднего значения равно 1/yN стандартных отклонений
шума, где 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. ОЧУВСТВЛЕНИЕ В БЛИЖНЕЙ ЗОНЕ
Датчики измерения в дальней зоне, описанные нами выше,
дают оценку расстояния между датчиком и отражающим
объектом. Датчики измерения в ближней зоне обычно имеют
дискретный пороговый выходной сигнал, который определяет на-
Магнит КоРп^с
Karrt/шка Дизлектрик Соединение
Рис. 6.8. Индуктивный датчик (а), форма магнитных линий при отсутствии
ферромагнетика (б) и форма магнитных линий при наличии ферромагнетика
в зоне измерения датчика (в) [38].
личие объекта в пределах установленного пространства.
Типичным является использование таких датчиков в
робототехнике для получения информации в ближней зоне при захвате
объекта или при его обходе. В настоящем разделе
рассматриваются несколько основных методов очувствления в ближней
зоне и основные рабочие характеристики датчиков.
6.3.1. Индуктивные датчики
Датчики, основанные на изменении индуктивности при
взаимодействии с металлическим объектом, находятся в ряду
наиболее широко используемых промышленных датчиков измере-
306
ния в ближней зоне. Принцип работы этих датчиков можно
объяснить, используя рис. 6.8 и 6.9. На рис. 6.8, а представлена
схема индуктивного датчика, который состоит из катушки,
размещенной вслед за постоянным магнитом в корпусе.
Когда датчик приближается к ферромагнитному материалу,
изменяется расположение силовых линий постоянного магнита,
(рис. 6.8,6 и в). При
отсутствии движения
силовые линии не изменяются
и, следовательно, в
катушке ток не
индуцируется. Однако, если в поле
постоянного магнита
перемещается
ферромагнитный материал,
возникающее в результате этого
изменение силовых линий
индуцирует импульс
тока, амплитуда и форма
которого
пропорциональны уровню изменения
магнитного поля.
Изменение
напряжения на выходе катушки
обеспечивает
эффективное очувствление в
ближней зоне. На рис. 6.9, а
показано изменение
напряжения в катушке в
зависимости от скорости, с
которой ферромагнетик
вводится в поле магнита.
Полярность выходного
напряжения датчика
зависит от того, входит
объект в поле или
выходит из него. На рис. 6.9, б
показана зависимость
амплитуды напряжения от расстояния между датчиком и
объектом. Из этого рисунка видно, что чувствительность резко
падает с увеличением расстояния и датчик эффективен только
на расстояниях ~ 1 мм.
Так как для получения выходного сигнала на датчике
требуется наличие относительного движения датчика и объекта,
одним из методов получения дискретного порогового сигнала
является интегрирование выходного сигнала. Пороговый
сигнал остается на нижнем уровне, пока значение интеграла
Высокая скорость
Время
Низкая скорость
0,150 Q5D0 Q750
Расстояние между объектом и
датчиком, мм
6
Рис. 6.9. Зависимости выходного сигнала
индуктивного датчика от скорости (а) и
(б).
307
остается ниже установленного порога. После превышения
порога выходной сигнал переходит на верхний уровень, что
соответствует наличию объекта в зоне измерений.
6.3.2. Датчики Холла
Из физики известно, что эффект Холла связывает
напряжение между двумя точками в проводнике или
полупроводниковом материале с магнитным полем, воздействующим на этот
материал. Используемые сами по себе датчики Холла могут
уловить только намагниченные объекты. Однако, если их
использовать вместе с постоянным магнитом, как показано на
рис. 6.10, они способны установить наличие всех
ферромагнитных материалов. Используемый таким образом датчик Холла
Рис. 6.10. Раоота датчика Холла (а), снабженного постоянным магнитом (б)г
«чувствует» сильное магнитное поле при отсутствии
ферромагнетика в ближней зоне (рис. 6.10,а). Если такой материал
вносят в ближнюю зону действия прибора, магнитное поле на
датчике ослабевает вследствие замыкания линий поля через мате*
риал (рис. 6.10,6).
Датчики Холла основаны на возникновении силы Лоренца,
действующей на заряженную частицу, движущуюся в магнит-,
ном поле. Эта сила направлена по оси, перпендикулярной
плоскости, образованной направлением движения заряженной частицы
и направлением поля. Таким образом, сила Лоренца
определяется как F=(/(vXB), где q — заряд, v — вектор скорости,
В — вектор магнитного поля, а X — знак пересечения векторов.
Предположим, например, что ток проходит через
полупроводник n-типа, который находится в магнитном поле (рис. 6.11),
Помня, что электроны являются основными носителями в ма-
308
териалах /г-Типа и что движение дырочного тока
противоположно потоку электронов, ясно, что сила, действующая на
движущиеся отрицательно заряженные частицы имела бы
направление, показанное на рис. 6.11. Эта сила действует на
электроны, которые скапливаются в нижней части материала. Таким
образом возникает напряжение, которое в данном случае
имеет положительный знак в верхней части материала. При
внесении ферромагнетика в зону действия полупроводникового
магнитного прибора напряженность магнитного поля
увеличивается. Следовательно, уменьшается сила Лоренца, и в итоге —
напряжение на полупроводнике. На этом падении напряжения
Рис. 6.11. Возникновение эффекта Холла.
и основан принцип измерения в ближней зоне датчиками
Холла. Дискретный выходной сигнал, определяющий наличие
объекта, реализуется пороговым ограничением выходного
напряжения датчика.
Отметим, что использование таких полупроводников, как
кремний, имеет ряд преимуществ с точки зрения размеров,
точности и устойчивости к влиянию электрических помех. Кроме
того, использование полупроводниковых материалов позволяет
установить электронную схему усиления и обработки сигналов
непосредственно на датчике, уменьшая таким образом его
размер и стоимость.
6.3.3. Емкостные датчики
В отличие от индуктивных датчиков и датчиков Холла,
которые идентифицируют ферромагнитные материалы, емкостные
датчики обладают способностью (с различной степенью
чувствительности) обнаруживать все твердые и жидкие материалы.
309
Как видно из их названия, эти датчики основаны на
изменении емкости, которая зависит от расстояния до поверхности
объекта в зоне действия чувствительного элемента.
Дазовь/й
электрод
Уубстбительный
электрод
/7еттная
Изолирующая смола длата
Рис. 6.12. Емкостной датчик измерения в ближней зоне [38].
Основные компоненты емкостного датчика показаны на
рис. 6.12. Чувствительным элементом является Конденсатор,
состоящий из чувствительного электрода и базового электрода
(ими могут быть, например,
металлический диск и кольцо,
разделенные диэлектриком). За емкостным
элементом обычно помещают
воздушную полость для обеспечения
изоляции. В состав датчика может
входить также электронная схема.
В этом случае схему заплавляют
в смолу, чтобы обеспечить ее
герметичность и механически
защиту. :
Существует ряд методов
обнаружения в ближней зоне,
основанных на изменении емкости. В
одном простейшем методе
конденсатор представляет собой элемент
колебательного контура, колебания
в котором возникают только в том
случае, если емкость датчика
превышает заданное пороговое
значение. Колебания преобразуются
затем в выходное напряжение, которое указывает на присутствие
объекта в зоне измерения. Этот метод обеспечивает дискретный
выходной сигнал, переключение которого зависит от значения
заданного порога.
В более сложном методе используется емкостной элемент
в контуре, по которому постоянно проходит синусоидальный
сигнал частоты. Изменение емкости вызывает фазавый сдвиг
5 Ю
Расстояние, мм.
Рис. 6.13. Зависимость
процентного изменения емкости
датчика в ближней зоне от
расстояния [38].
310
между сигналом эталонной частоты и сигналом от емкостного
элемента. Фазовый сдвиг пропорционален изменению емкости
Иррледовательно, может быть использован для обнаружения
объекта в ближней зоне.
На рис. 6.13 показано изменение емкости в зависимости от
||шсстояния для датчика измерения в ближней зоне,
построенного по рассмотренному принципу. Следует отметить, что на.
расстоянии, превышающем несколько миллиметров,
чувствительность резко падает. Форма характеристики при этом
зависит от материала объекта измерения. Обычно такие датчики,
работает в дискретном пороговом режиме. Изменение емкости
выше заданного порога Т соответствует наличию объекта,,
а ниже —его отсутствию в зоне, установленной величиной Г.
6.3.4. Ультразвуковые датчики
Характеристики всех рассмотренных датчиков измерения;
в ближней зоне сильно зависят от материала объекта измерения.
Эта зависимость может быть в значительной степени
уменьшена путем использования ультразвуковых датчиков, работа
которых при измерении расстояния была кратко рассмотрена
Корпус датчика
1
Металлический
корпус
Смола
Керамическш
ПреобразоЗателЖ
Электрический
кабель
Акустический
лоелотитель
Рис. 6.14. Ультразвуковой датчик измерения в ближней зоне [39].
в разд. 6.2.3. В данном разделе более подробно рассмотрены
конструкции и работа этих датчиков, а также
проиллюстрировано их использование для измерений в ближней зоне.
На рис. 6.14 показана структура типичного ультразвукового
преобразователя, используемого для измерения в ближней
зоне. Основным элементом является электроакустический
преобразователь, в качестве которого часто используется
пьезоэлектрический керамический элемент. Подложка из смолы
защищает преобразователь от влажности, пыли и других
внешних воздействий. Она служит также как переходное акустиче-
311
ское сопротивление. Поскольку один и тот же преобразователь
используется обычно как для передачи, так и для приема
сигналов, для обнаружения объектов в ближней зоне необходимо
быстрое демпфирование акустической энергии. Это достигается
путем применения акустических поглотителей и развязкой
преобразователя от корпуса. Конструкция корпуса позволяет
получать узкий акустический поток, дающий мощный и
направленный сигнал.
Для лучшего понимания работы ультразвукового датчика
измерителя в ближней зоне надо провести анализ сигналов,
используемых как для передачи, так и для приема
акустической энергии. Типичный вид таких сигналов представлен на
А
В
С
Л
Е
F
УП
At Излучаемый
'сиенал
Л
Л
Возвращенный сиенал
Л_
Ш~1Г~1Г~1Ги
Ш~
о±^=ЕЦ_
Рис. 6.15. Сигналы, используемые в ультразвуковом датчике измерения £
ближней зоне f39].
рис. 6.15. Сигнал А является запорным сигналом, используемым
для управления посылаемыми сигналами. Сигнал В содержит
выходной и отраженный сигналы. Импульсы С выделяют
сигналы передачи или приема. Для того чтобы установить
различие между импульсами, соответствующими посылаемой и
отраженной энергии, вводятся временные окна (сигнал £>)* на
которых основывается принцип измерения датчика. ВременнгЬй
интервал Д£ является минимальным временем измерения,: а
Д/i -f- At2—максимальным. Можно отметить, что эти
временные интервалы соответствуют прохождению определенных
расстояний со скоростью распространения звука в используемой
рабочей среде. После получения отраженного сигнала (в то
время как сигнал D имеет максимальное значение)
вырабатывается сигнал £, величина которого принимает нулевое
значение после окончания действия передающего импульса А. Нако-
312
н£ц, сигнал F вырабатывается при появлении положительного
кмнульса Б й сбрасывается в случае отсутствия сигнала Е
и появления импульса Л. Таким образом, сигнал F будет иметь
максимальное значение при наличии объекта на расстоянии,
определяемом параметрами сигнала Д т. е. сигнал F является
выходным сигналом ультразвукового датчика, работающего в
бинарном режиме.
в.3.5. Оптические датчики измерения в ближней зоне
Оптические датчики измерения в ближней зоне подобны
ультразвуковым датчикам в том смысле, что они определяют
близость объекта по его влиянию на волновой сигнал,
проходящий от источника к приемнику. Один из наиболее
распространенных методов измерения расстояния в ближней зоне
с помощью оптических средств показан на рис. 6.16. Датчик
состоит из светодиода, который выполняет роль источника ин-
Сдетодиод
/fepedafdufue
линзы
Зона
чувствительности
финимающие
Фотодиод линзы
Поверхности
Агента
Рис. 6.16. Оптический датчик измерения в ближней зоне [251].
фракр^сного излучения, и фотодиода, используемого в качестве
приемника. Пучки света, сформированные фокусными
системами источника и приемника в одной плоскости, пересекаются
в вытянутой конусовидной зоне. Эта зона определяет рабочий
диапазон датчика, так как отражающая поверхность, которая
находится в зоне, освещается источником и одновременно
«просматривается» приемником.
Хотя данный метод в принципе похож на метод
триангуляции, рассмотренный в разд. 6.2.1, необходимо отметить, что зона
измерений, показанная на рис. 6.16, обеспечивает не только
точечное измерение. Другими словами, поверхность,
находящаяся в любом месте указанной зоны, будет идентифицирована.
Для объекта с известной ориентацией и характеристиками
отражения можно осуществить калибровку интенсивности
изображения в функции расстояния, однако обычно систему,
приведенную на рис. 6.16, используют в режиме, при котором фор-
313
мируется дискретный выходной сигнал при достижении
интенсивности отраженного потока определенного порогового
значения.
6.4. ТАКТИЛЬНЫЕ ДАТЧИКИ
Тактильные датчики используются в робототехнике для
получения информации о контакте манипулятора с объектами в
рабочем пространстве. Тактильная информация может
использоваться, например, для определения местоположения объекта
или его распознавания, а также для управления усилием
захватного устройства, воздействующим на объект
манипулирования. Тактильные датчики подразделяются на два основных
типа: дискретные и аналоговые. Дискретные датчики, как
правило, срабатывают при наличии или отсутствии объекта, в то
время как выходной сигнал аналоговых датчиков
пропорционален прикладываемому усилию. Более подробно эти датчики
рассматриваются в следующих разделах.
€.4.1. Дискретные пороговые датчики
Как было отмечено, дискретные тактильные датчики
являются контактными приборами типа микропереключателей.
В простейшем случае переключатель размещается на внутрен-
Рис. 6.17. Простой схват Рис, 6.18. Типичный аналоговый тактиль-
робота с бинарными так- ный датчик,
тильными датчиками.
ней поверхности каждого пальца манипулятора (рис. 6.17).
Этот вариант очувствления используется для определения
наличия детали между пальцами схвата. Перемещая манипулятор
над объектом и последовательно производя контактирование
314
с его поверхностью, можно также осуществить центрирование
манипулятора относительно объекта для его захвата и переноса.
Путем размещения нескольких дискретных тактильных
датчиков на внутренней поверхности каждого пальца схвата
достигается расширение получаемого объема информации. Кроме
того, они часто ставятся на внешней поверхности конечного
звена манипулятора для получения управляющих сигналов,
используемых при формировании траектории движения
манипулятора в рабочем пространстве. Последний вариант аналогичен
использованию тактильной информации человеком,
проходящим через абсолютно темную комнату.
6.4.2. Аналоговые датчики
Аналоговый тактильный датчик является регистрирующим
прибором, выходной сигнал которого пропорционален
прикладываемой силе. Простейший из таких приборов состоит из
подпружиненного стержня (рис. 6.18), который механически связан,
с вращающейся осью. Горизонтальная сила, действующая на
стержень, преобразуется в пропорциональный поворот оси. Этот
поворот непрерывно измеряется с помощью потенциометра
или кодовым устройством с дискретным выходом. При
известной жесткости пружины сила соответствует указанному
перемещению.
В последние годы значительное внимание уделяется
развитию систем тактильного очувствления, способных получать
больший объем информации, чем один датчик. Использование
таких систем проиллюстрировано на рис. 6.19, где показан
схват робота, на внутренней поверхности каждого пальца
которого размещается матрица тактильных датчиков. Внешние
чувствительные поверхности схвата обычно выполняются в виде
дискретных устройств.
Хотя чувствительные матрицы могут выполняться из
некоторого множества отдельных датчиков, одним из
перспективных направлений здесь является использование электродов из
проводящих материалов (например, на графитовой основе),
сопротивление которых меняется в зависимости от величины
давления. В таких устройствах, обычно называемых
«искусственной кожей», давление от объекта вызывает соответствующие
деформации, которые измеряются как непрерывно меняющееся;
сопротивление. Изменение сопротивления легко преобразуется
в электрический сигнал, амплитуда которого пропорциональна
силе, действующей на соответствующую точку поверхности
материала.
Несколько основных методов, используемых при создании
искусственной кожи, показаны на рис. 6.20. Схема, приведенная
на рис. 6.20, а, основана на эффекте «окна», проявляемом про-
315.
•водящим материалом, помещенным между общим корпусом и
системой электродов, выполненных на стеклокерамической
печатной плате. Каждый электрод представляет собой
прямоугольное поле — «окно», которое идентифицирует одну точку
касания. Сила тока от общего корпуса к каждому электроду
зависит от давления на проводящий материал.
В методе, показанном на рис. 6.20,6, пара длинных и узких
электродов размещена в плоскости активных электрических
контуров с использованием СБИС-технологии. Проводящий
материал находится над этой плоскостью и изолирован от нее по
Бнешнт vySmfa-
Внешние vyScmfa-
тельные поверхности
Рис. 6.19. Схват робота, оснащенный матрицами тактильных датчиков.
всей поверхности, кроме поверхности электродов. Давление от
объекта изменяет сопротивление электродов, которое затем
преобразуется с помощью электронных контуров, размещенных
между электродными парами в сигналы тока или напряжения.
Другая возможная реализация приведена на рис. 6.20, в.
Проводящий материал располагается между двумя взаимно
перпендикулярными наборами тонких, плоских и гибких,
электродов. Каждое пересечение между ними, разделенное проводи-
щим материалом, представляет собой одну чувствительную
точку. Изменение сопротивления в функции давления
измеряется путем смещения электродов одного набора и изменения
тока в элементах второго набора. Величина тока в каждом из
этих элементов пропорциональна давлению между
неподвижным элементом и элементом, смещаемым внешней силой.
Наконец, система, показанная на рис. 6.20,г, построена
с использованием анизотропного проводящего материала. Эти
316
материалы обладают односторонней проводимостью. В
основании датчика расположена система плоских электродов, а
сверху находится проводящий материал, направление проводимости
которого перпендикулярно осям электродов. Проводящий
материал отделен от электродов сеткой для его изоляции при
отсутствии внешней силы. Когда приложена внешняя сила,
происходит контакт между материалом и электродами. Возрастание
Проводящий
' материал
Общий
корпус
Пара „
Чуотбителб- электродов
ше злектроды
Активный
контур
Резиновая
кожа
Анизотропный
пробооящий
материал
-электрод
ЛроЗодящий
материал
6
Олешроды
Разделяющая
сетка
Рис. 6.20. Четыре метода реализации искусственной кожи.
силы приводит к увеличению площади контакта и уменьшению
Сопротивления. Как и в предыдущем методе, один из элементов
чувствительной системы перемещается под действием внешней
силы, а на втором производится измерение тока. Необходимо
отметить, что чувствительность такого датчика зависит от
толщины сепаратора.
Рассмотренные методы (рис. 6.20, в и г) основаны на
соответствующем смещении элементов чувствительной системы. Это
часто приводит к трудностям при получении тактильной инфор-
317
мадии со сложных деталей, поскольку пересечение
электрических контуров индуцирует помехи в виде обратных токов.
Одним из решений этой проблемы является установка диодов
в каждом контуре, исключающих прохождение обратных токов.
Другое решение заключается в заземлении всех контуров,
кроме перемещаемого контура. Вклад каждого элемента
пересечения можно выявить путем индивидуального контроля всех
контуров принимающей системы.
Все рассмотренные тактильные датчики измеряют силы,
перпендикулярные к чувствительной поверхности датчика.
Проскальзывание объекта
. Зубчатый
шар
Контакты
(8 f6 местах±
Рис. 6.21. Устройство для определения величины и направления
проскальзывания [18].
Определение проскальзывания путем измерения
тангенциального движения является другой важной задачей тактильного
очувствления. В заключение кратко рассмотрим один из мет^
дов такого очувствления [18]. Реализация метода (рис. 6.21)
включает свободно вращающийся зубчатый шар, который
отклоняет тонкий стержень, установленный на оси пррйодяй|Щ|
диска. Под диском равномерно расположены электричесШе
контакты. Вращение шара, вызванное проскальзыванием по
нему объекта, приводит к вибрации стержня и диска с частотой,
пропорциональной скорости вращения шара. От направления
вращения зависит, какой контакт будет задействован
вибрирующим диском. Усредненное направление проскальзывания
определяется по импульсам в соответствующих выходных элек^
трических контурах.
318
6.5. СЙЛРОМОМЕНТНОЕ ОЧУВСТВЛЕНИЕ
Силомоментные датчики используются в основном для
определения сил реакции, возникающих при механической сборке.
Основные методы в этой области направлены на очувствление
сочленений и схвата робота. Возможно также очувствление,
при котором силовой преобразователь устанавливается между
основанием робота и установочной поверхностью для измерения
компонентов сил и моментов, действующих на основание.
Однако в большинстве случаев основание жестко устанавливается
на твердой поверхности, и в подобного рода очувствлении не
возникает необходимости. Указанное очувствление аналогично
очувствлению схвата, которое подробно рассматривается в
данном разделе.
Датчик сочленения измеряет в декартовых координатах
силы и моменты, которые действуют на робот, и производит их
векторное сложение. Для сочленения, перемещаемого с
помощью двигателя постоянного тока, очувствление производится
простым измерением тока якоря. Датчики схвата, которые
рассмотрены в данном разделе, размещаются между конечным
звеном манипулятора и схватом. Они состоят из измерителей
напряжений, которые определяют отклонение механической
системы под действием внешних сил. Характеристики и
методологический анализ этого типа датчиков рассматриваются в
данном разделе.
6.5.1. Элементы датчика схвата, встроенного в запястье
Датчики схватов представляют собой небольшие,
чувствительные, легкие (—370 г) и относительно компактные
конструкции диаметром 10 см и толщиной 3 см с динамическим
диапазоном до 90 кг. Для уменьшения гистерезиса и
увеличения точности измерения датчик обычно выполняется из одной
твердой металлической заготовки (как правило, алюминиевой).
Например, датчик, показанный на рис. 6.22, содержит восемь пар
полупроводниковых измерителей напряжения, установленных на
четырех отклоняющихся стержнях — по одному измерителю на
каждой стороне стержня. Измерители с противоположных
концов отклоняющихся стержней подсоединены дифференциально
к потенциометрическому контуру, выходное напряжение на
котором пропорционально компонентам сил, нормальным к
плоскости измерителей. Дифференциальное включение измерителей
напряжения обеспечивает автоматическую компенсацию
изменений температуры.
Однако это является лишь первичной грубой компенсацией.
Так как восемь пар измерителей напряжения расположены
нормально к осям х, у и z системы координат сил, три компо-
319
ненты силы F и три компоненты момента М могут быть
определены соответствующим сложением или вычитанием
выходных напряжений. Это может быть выполнено с
использованием матрицы калибровки датчика (см. разд. 6.5.2).
Большинство силовых датчиков схватов функционирует как
преобразователи сил и моментов, действующих на
манипулятор, в измеряемые отклонения или перемещения в схвате.
Важно, чтобы движения в схвате, производимые силовым
датчиком, не влияли на точность позиционирования манипулятора.
Таким образом, требования к датчикам можно сформулировать
следующим образом.
Силовой датчик схбата>
встроенный S запястье
Рис. 6.22. Силовой датчик схвата, встроенный в запястье,
1. Высокая жесткость. Частота собственных колебаний
механического устройства связана с его1 жесткостью, слЩДР^
те'льно, высокая жесткость обеспечивает быстрое
демпфирование возникающих колебаний при измерении сил и точность
показаний на коротких временных интервалах. Кроме того, это
снижает величину отклонений от действия сил и моментов, ко- ;
торая может привести к ошибке позиционирования
манипулятора. ^
2. Компактность конструкции. Это позволяет облегчить две*
жение манипулятора в условиях навала деталей» а тъщШ^
уменьшить вероятность столкновения датчика с объектами,
Находящимися в рабочем пространстве. Компактный датчик
можно размещать ближе к расположенному в схвате
технологическому оборудованию, благодаря чему уменьшается ошибка
позиционирования оборудования из-за неадекватности рабочих
условий оборудования и датчика. Кроме того, желательно
расширить диапазон измерения сил и моментов. Этому способствует
минимизация расстояния между манипулятором и датчиком, при*
320
водящая к уменьшению величины рычага прикладываемых к
манипулятору сил.
3. Линейность. Хорошая линейность выхода чувствительных
элементов it прикладываемых сил и моментов позволяет
выделить силы и моменты с помощью простых матричных операций.
Кроме того, упрощается процесс калибровки датчика силы
(разд. 6.5.2).
4. Малые величины гистерезиса и внутреннего трения.
Внутреннее трение уменьшает чувствительность измерительных
элементов. Это также уменьшает гистерезисные эффекты при
возвращении измерительного прибора в исходное положение.
Силовой датчик схвата, показанный на рис. 6.22,
спроектирован с учетом указанных требований.
6.5.2. Выделение сил и моментов
Предположим, что взаимовлияние различных измерителей
пренебрежимо мало, силовой датчик схвата работает в
диапазоне упругих деформаций и измерители напряжения дают
показания, которые линейно зависят от их отклонений. Тогда датчик
(рис. 6.22) выдает восемь рядов измерений, которые должны
быть обработаны программным путем на ЭВМ с использованием
простого метода выделения трех ортогональных компонент сил
и моментов относительно системы координат датчика силы.
Такая обработка может быть реализована путем определения
матрицы размерностью 6X8, называемой матрицей разделения
силы (или матрицей калибровки датчика) R/?, которая
составляется на основе измерений силы для выделения трех
ортогональных компонент силы и момента. В соответствии с рис. 6.22
разделяемый вектор силы, направленный вдоль координатных
осей датчика силы, математически представляется в виде
F = RFW, (6.5-1)
где
Р = (силы, моменты)7, = (FX, Fy, Fz, Mx, Myy MZ)T,
W = (pяд измерений) — (w{, w2, w$, ..., до8)г>
и
Г ги ... r18i
RF= •-. . (6.5-2)
L гб1 ,. ♦ г68 J
В выражении (6.5-2) гцфО— являются членами,
требующими преобразования ряда измерений W (в вольтах) в силы
и моменты (в ньютонах и ньютонах на метр соответственно).
Если пренебречь взаимовлиянием измерителей, то, суммируя
(согласно рис. 6.22) силы и моменты относительно начала
координат датчика, размещенного в центре датчика силы, полу-
И К. Фу и др.
321
чим выражение (6.5-2) с некоторыми Гц, равными нулю. Для
датчика, представленного на рис. 6.22, матрица разделения
силы по уравнению (6.5-2) примет вид
R/
О 0 г,, О О О
17
о
г2! 0 0 0 г25 О О О
О г32 О г34 0 г36 О г38
О О 0 г44 О О О г48
О г52 О О О г« О О
,г61 О г63 О г65 О г67 О .
(6.5-3)
Довольно частое предположение об отсутствии взаимосвязи
измерителей не соответствует действительности. Для некоторых
датчиков силы соответствующая погрешность намерений
достигает 5%. Таким образом, на практике обычно необходимо
заменять матрицу разделения силы R^ на матрйДу, сбдергжащук)
48 ненулевых элементов. Такая «полная» матрица используется
для калибровки датчика силы (разд. 6.5.3). Разделенный вектор
силы F используется для получения ошибки, необходимой для
выработки сигнала управления манипулятором. Недостатком
использования силового датчика схвата, встроенного в запястье,
является то, что он обеспечивает измерение векторов силы,
разделяемых в процессе контакта элементов при сборке только
в одной точке.
6.5.3. Калибровка датчика , ^^ёшШ^
Целью калибровки силового датчика схвата, встроенного
в запястье, является определение всех 48 неизвестных
элементов матрицы разделения силы (уравнение (6.5-2)) на основе
экспериментальных данных. В связи с наличием взаимовлияния
контуров датчика необходимо найти 48 ненулевых эдемейшв
в матрице RF. Калибровка силового датчика схвата пронзво*
дится путем определения псевдообратной матрицы калибровки
RJ,, которая удовлетворяет соотношениям Щ
w = r;f
RpRe- " I
<р*\р
8X8'
(6.64)
(6.5-5)
где RJ — матрица размерностью 8X6, а 18хв — единичная
матрица размерностью 8X8. Тогда матрица калибровки RJ, из
уравнения (6.5-1) может быть найдена из псевдообратной мат{
рицы в уравнении (6.5-4) с использованием метода наименьших.
322
квадратов. Перемножая уравнение (6.5-4) на (R*F)T, получаем
(R;fW-=[(R>fR>]F. (6.5-6)
После обращения матрицы [(R^)rRf] имеем
F = [(R»'-R;]-,(R^W. (6.5-7)
Сравнивая уравнения (6.5.1) и (6.5.7), получим
■&"' R, а [(Г,У К]~' (КУ- (6-5-8)
Матрица SCF может быть определена путем расстановки из-
вестных весовых коэффициентов при векторах, расположенных
вдоль осей, системы координат датчика. Подробно
экспериментальный процесс калибровки матрицы разделения силы изложен
в работе [264].
6,6. ЗАКЛЮЧЕНИЕ
Материал, представленный в данной главе, характеризует
уровень развития области создания датчиков роботов, дающих
информацию о внешней среде. Однако надо отметить, что
возможности таких датчиков гораздо более ограничены, чем
человеческие возможности в этом плане.
Как отмечалось в начале данной главы, большинство
современных промышленных роботов функционирует по заранее
заданной жесткой программе без использования обратной связи
от датчиков. Повышение интереса к гибким автоматизированным
производствам привело к развитию робототехнических систем,
управляемых с помощью датчиков, как к средству расширения
области применения этих машин. Таким образом,
совершенствование датчиков представляет собой динамично
развивающуюся область с использованием известных из литературы новых
методов и технологий.
Литература
Обзорными статьями по робототехнике являются [18, 91„
195, 197, 251]. Материалы по лазерным измерителям расстояний
имеются в работах [67, 137, 138]. Продолжение материала,
изложенного в разд. 6.3, находится в работах [38—40, 271], а в
разд. 6.4—в £аботах [113, 120, 187, 241], а также в работах
[22, ПО, 195]. Датчики Для основания робота (разд. 6.5)
рассматриваются в работе [63]. Дополнительные сведения по сило-
моментному очувствлению можно найти в работах [196, 210, 264>
313].
11*
323>
Упражнения
255т
225\
200 j
175 \
150
125 \
too
75]
M\
0 25 50 75 100 W 150 175 200 225
\ /
J I I L . .1
i i
1,11 J -i 1 J
'I
Рис. 6.23.
6.1. Докажите справедливость выражения (6.2-8).
6.2. Датчик измерения расстояния по времени прохождения сигнала
освещает рабочее пространство с двумя объектами, имеющими изображение,
показанное на телеэкране (рис. 6.23). Предполагая, что измерительная система
расположена согласно рис. 6.3, б и чтоМ = 256, D0 = 1м, Dc = 2 м, В — 3 м,
а Я = 35 мм, определите расстояние
"""^^ между объектами в направлении
светового луча.
6.3. а) Гелий-неоновый лазер' с
непрерывным излучением (длина
волны 632,8 мм), используемый для
измерения расстояния, имеет модулиро-
ваный сигнал с частотой 30 мГц.
Какое расстояние до объекта
соответствует фазовому сдвигу 180°?
б) Какова верхняя граница
диапазона измерения расстояния, на
котором прибор дает однозначные
показания?
6.4. Определите верхнюю границу
частоты модулирующего сигнала для
обеспечения диапазона измерения до
5 м при использовании измерителя
расстояний на базе лазера с
непрерывным излучением.
6.5. а) Предположим, что
точность лазерного измерителя
расстояний снижается шумом с гауссовским
распределением, имеющим нулевое
среднее значение и стандартное отклонение 100 см. Сколько измерений
необходимо усреднить, чтобы получить точность ±0,5 см с вероятностью 0,9$?
б) Как изменится количество измерений, если среднее значение шУЩ:,&ШШш
5 см?
6.6. Используя рис. 6.15, покажите вид сигналов ультразвукового датчика,
способного измерять расстояние, а не только выдавать бинарный выходной
сигнал в ближней зоне действия.
6.7. Предположим, что ультразвуковой датчик измерения используется
для определения нахождения объекта в зоне 0,5 м. В момент t =■ 0
преобразователь выдал импульс длительностью 0,1 мс. Предположим также, что для
гашения резонансных колебаний в преобразователе требуется 0,4 мс, а в
окружающей среде — 20 мс. Скорость звука равна 344 м/с
а) Какой интервал времени можно использовать в качестве окна?
б) Через какое время прибор может выдать повторный импульс?
в) Каково минимально измеряемое расстояние? -<А|1
6.8. Оптический датчик расстояний (рис. 6.16) имеет зону
чувствительности, сформированную пересечением двух одинаковых лучей. Конус, ,o6jJlt*|
зуемый каждым лучом, начинается на линзах и имеет вершину, рашоя^йрн-
ную в 4 см напротив центра противоположной линзы. В какой зоне датчик
обнаруживает объект, если каждая из линз имеет диаметр 4 мм, а центры
линз разнесены на 6 мм? Предполагается, что объект может быть
обнаружен в любом месте зоны чувствительности.
6.9. Измерительная система размерностью 3X3 тактильного датчика §
сканируется путем смещения по рядам, значение элементов которых равно
5 В. Столбцы считываются путем закорачивания их элементов на корпус и
измерения тока. Предположим, что несмещенные ряды и несчитанные столбцы
обладают высоким сопротивлением. Действие силы на систему приводит к
появлению следующих величин сопротивлений на каждом пересечении элек-
324
тродов (ряд, столбец): 100 Q на (1,1), (1,3), (3,1) и (3,3), 50 Й на (2,2) и
(3,2). Все другие пересечения имеют бесконечно большое сопротивление.
Опред^#ге ток, измеренный в кяшом пересечении ряда и столбца в системе,
учитыврррих взаимовлияние.
6.10. Рассмотрите упр. 6.9 в предположении:
а) все несмещенные ряды и столбцы закорочены на корпус;
б) в каждом соединении установлен диод (0,6 В) с сопротивлением.
JB*fc(На роботе Пума с плоскопараллельным движением схвата
установлен датчик силы. Произведена процедура калибровки для получения
матрицы R*. После завершения всех измерений на роботе был заменен схват.
Есть ли необходимость повторной калибровки силового датчика схвата?
Обоснуйте ответ.
Глава 7.
СИСТЕМЫ ТЕХНИЧЕСКОГО ЗРЕНИЯ
НИЗКОГО УРОВНЯ
Лучше один раз увидеть, чем сто
раз услышать.
Пословица
7.1. ВВЕДЕНИЕ
«Зрительные» возможности робота, как и людей, обеспечиваются
сложным чувствительным механизмом, который позволяет гибка
и «осмысленно» реагировать на изменения внешней среды.
Использование технического зрения и других методов
очувствления, рассмотренных в гл. 6, диктуется постоянной
необходимостью повышать гибкость и расширять области применения
робототехнических систем. Хотя датчики расстояния, тактильные
датчики и датчики силы играют большую роль в
совершенствовании функционирования робота, техническое зрение является
наиболее мощным источником информации для робота.
Измерительные системы, методы измерения и оборудование при
использовании технического зрения имеют гораздо больше
возможностей, чем при использовании датчиков, работа которых
описана в гл. 6.
Зрение робота можно определить как процесс выделения,,
идентификации и преобразования информации, полученной из
трехмерных изображений. Этот процесс, называемый также
техническим или машинным зрением, разделяется на шесть
основных этапов: 1) снятие информации, 2) предварительная
обработка информации, 3) сегментация, 4) описание, 5)
распознавание, 6) интерпретация. Снятие информации представляет собой
процесс получения визуального изображения. Предварительная
обработка информации заключается в использовании таких
Методов как понижение шума или улучшение изображения
отдельных деталей. Сегментация — процесс выделения на изображении
интересующих объектов. При описании определяются
характерные параметры (например, размеры или форма), необходимые
для выделения требуемого объекта на фоне других.
Распознавание представляет собой процесс идентификации объектов
(например, гаечного ключа, болта, блока двигателя). Наконец,
интерпретация выявляет принадлежность к группе распознаваемых
объектов.
326
Назвйаные этапы удобно сгруппировать в соответствии со
сложностью их реализации. Выделим три уровня технического
зрения: низкий, средний и высокий. Хотя четких границ между
$гимн уровнями не существует, их выделение целесообразно для
классификации различных процессов, характерных для систем
технического зрения. Например, под низким уровнем
технического зрения понимаются такие процессы, которые являются
простыми с точки зрения осуществления автоматических
действий, не требующих наличия искусственного интеллекта. К
низкому уровню технического зрения мы будем также относить
Снятие и предварительную обработку информации. Таким
образом, этот уровень охватывает процессы, начиная непосредственно
от формирования изображения и кончая процессами
компенсации» такими, как уменьшение шума, а также процессами
выделения простейших параметров изображения, такими, как
разрывы интенсивности. Подобные действия можно сравнить с
действиями человека, пытающегося найти свое место в темном зале
кинотеатра, в который он зашел прямо с яркого дневного света.
Осмысленный процесс нахождения незанятого места не может
начаться до того, как будет получено соответствующее
изображение пространства.
Под средним уровнем технического зрения понимаются
процессы выделения, идентификации и разметки элементов
изображения, полученного на нижнем уровне. С учетом принятого
подразделения технического зрения к среднему уровню
относятся сегментация, описание и распознавание отдельных
объектов.
Под высоким уровнем технического зрения понимаются
процессы, относящиеся к искусственному интеллекту. В то время
как алгоритмы, используемые на нижнем и среднем уровнях
технического зрения, разработаны достаточно хорошо, знание и
понимание процессов высокого уровня пока еще недостаточны.
В соответствии с изложенным в гл. 8 это приводит к введению
ограничений и предположений для уменьшения сложности
задачи.
Рассмотренную классификацию можно использовать в
основном для всех видов применяемых систем технического зрения.
Это не означает, что она может служить моделью человеческого
зрения и в то же время не связана с ним. Известно, например,
что распознавание и интерпретация для человека
представляют собой взаимосвязанные функции. Однако наличие этих
связей не определяет возможностей их аналитического
моделирования. Таким образом, приведенная классификация
функций может рассматриваться как практический метод
реализации систем технического зрения, отражающий наш
уровень понимания и владения аналитическими подходами в этой
области.
327
В главе описаны получение изображения, его
предварительная обработка, а также идеи и методы реализации функций,
осуществляемых на низком уровне технического зрения.
Верхний (высокий) уровень технического зрения рассмотрен в гл. 8.
Хотя зрение отражает объемное трехмерное пространство, в
системах технического зрения используется только его плоское
изображение, объемную информацию из которого получают с
помощью специальных методов, таких, как метод структурного
освещения (разд. 7.3) или стереоизображения (разд. 7.4).
7.2. ПОЛУЧЕНИЕ ИЗОБРАЖЕНИЯ
Визуальная информация преобразуется в электрические
сигналы с помощью видеодатчиков. После пространственной
дискретизации и квантования по амплитуде эти сигналы дают
цифровое изображение. Ниже рассмотрены основные методы
получения изображения при использовании технического зрения в
роботах, влияние дискретизации на пространственное
разделение и влияние квантования по амплитуде на разделение по
интенсивности. Математический аппарат формирования
изображения описан в разд. 7.4.
Основными устройствами, используемыми в техническом
зрении роботов, являются телевизионные камеры, состоящие из
электронной трубки или твердотельного чувствительного
элемента с соответствующими электронными блоками. Хотя подробное
изучение этих устройств не входит в рамки данной книги, мы
рассмотрим принцип работы трубки видикон, которая
представляет семейство телевизионных камер. Твердотельные
чувствительные элементы будут представлены приборами с зарядовой
связью (ПЗС). Они обладают рядом преимуществ neptei эдй^Г*
ронными трубками (например, имеют меньшие вес и размере
больший ресурс и малую энергоемкость). Однако разрешающая
способность некоторых трубок пока выше возможностей
твердотельных камер.
Трубка видикон представляет собоой цилиндрическую
стеклянную оболочку, содержащую с одного конца электронную
пушку, а с другого — экран и мишень (рис. 7.1, а). Электронный луч
фокусируется и отклоняется с помощью напряжения,
прикладываемого к катушкам. Отклоняющий контур обеспечивает
сканирование луча по внутренней поверхности мишени для
«считывания» изображения. Внутренняя поверхность стеклянного экрана
пЬкрыта прозрачной металлической пленкой, которая образует
электрод, формирующий электрический видеосигнал. На
металлическую пленку нанесен тонкий фоточувствительный слой
мишени. Этот слой состоит из мелких шаровидных частиц,
сопротивление которых обратно пропорционально интенсивности
светового потока. За фоточувствительной мишенью расположена
т
положительно заряженная тонкая проволочная решетка,
которая тормозит электроны, испускаемые пушкой, так что они
попадают на мишень со скоростью, близкой к нулю.
В нормальном режиме на металлическое покрытие экрана
подаетсяЩр^о^штельный потенциал. При отсутствии света
фоточувствительный материал ведет себя как диэлектрик, так как
Прозрачное, метал-
лическ
личёское покрытие
Фокусирующая
катушка
vhs/////zzz
\ : zr~
Фоточубстви-
телтый слой
•г--
f
Решетка-
Электронный луч
Электронная пушка
Выводы
трубки
(Отклоняющая
itamyium
zzzzzzzzzzzzzzzzzzzzzm
г
Экран
Рис. 7.1. Схема трубки видикон (а) и сканирование электронным лучом (б).
потенциал на внутренней поверхности мишени, вызываемый
электронным лучом, компенсируется положительным зарядом на
металлическом покрытии. Таким образом, при сканировании
электронного луча по поверхности мишени фоточувствительный
слой становится накопителем отрицательного заряда на
внутренней поверхности и положительного заряда на внешней
поверхности. Когда на поверхностный слой мишени попадает свет, его
329
сопротивление падает и появляется электрический ток,
нейтрализующий положительный заряд. Так как поток электронов
пропорционален величине светового потока в каждой точке
мишени, на поверхностном слое мишени образуется изображение,
соответствующее световому изображению на экране трубки, т. е.
остаточная концентрация электронных зарядов выше в темных
местах и ниже в светлых местах мишени. Таким образом, в
процессе сканирования мишени образуется ток в металлическом
слое, который подается на выводы трубки. Величина тока
пропорциональна числу перемещающихся электронов и,
следовательно, интенсивности светового потока в соответствующем
месте, по которому проходит сканирующий луч. Это изменение
тока во время сканирования электронного луча после его
обработки в электронном блоке камеры формирует видеосигнал,
пропорциональный интенсивности входного изображения.
Основной стандартный вариант сканирования, используемый
в США, показан на рис. 7.1,6. Электронный луч сканирует по
всей поверхности мишени 30 раз в 1 с. Полный объем
сканирования (называемый кадром) состоит из 525 линий, 480 из
которых содержат информацию об изображении/Если линии
сканировать последовательно, а результат подавать на телевизионный
монитор, то изображение будет заметно дрожать. Это можно
устранить, используя механизм сканирования, при котором кадр
делится на две соединенные области по 262,5 линии. Они
сканируются 60 раз в 1 с, т. е. с удвоенной скоростью. Первая область
в каждом кадре сканируется по нечетным линиям (показаны
штрихами на рис. 7.1,6), в то время как вторая область {цсаяя-
руется по четным линиям. Данная схема сканирования^^^^^^*
ствующая соглашению по сканированию RETMA, является
стандартной для телепередач в США. Другие стандарты
применяются при использовании более высоких скоростей скШ&рШщр"
ния кадра, но принцип их действия по существу совпадает е
описанным. Например, распространенный метод сканирования в
машинном зрении и при получении цифрового изображения
основан на применении 559 линий, 512 из которых содержат
данные об изображении. Работа с числами в виде целых степеней
числа 2 имеет ряд преимуществ как в аппаратной, так и в
программной реализации. ;
При рассмотрении устройств на ПЗС удобно подразделить
датчики на два типа: датчики линейного сканирования и
датчики с плоскостной структурой. Основной частью ПЗС-датчиков
является ряд кремниевых чувствительных элементов,
называемых фотоячейками. Фотоны от отображаемого объекта проходят
через входную прозрачную поликристаллическую кремниевую
структуру и абсорбируются в кристалле кремния, образуя пары
электрон — дырка. Полученные фотоэлектроны собираются на
фотоячейках, при этом величина заряда на каждой фотоячейке
ззо
i уранстртный регистр
Шина
И 2\ .... ^ ^
<>• , у-
Шина
\& гтт ТГ
уранспорюный ре&истр
"-
Lb
Ги
Выходная
тина
=>
Усилитель
Горизонтальный транспортный регистр
ZE
Шина
ZE
2Е
Э.
25.
ZE
Ir
S3
И
«
I
Рис. 7.2. ПЗС-датчик линейного сканирования (а) н ПЗС-датчик с плоской
структурой (б).
пропорциональна соответствующей интенсивности светового
потока. Типичный датчик линейного сканирования (рис. 7.2, а)
состоит из ряда фоточувствительных элементов, из двух шин,
используемых для передачи содержимого с фоточувствительных
элементов в транспортные регистры, а также из выходной шины,
служащей для передачи содержимого из транспортных регистров
на усилитель. На выходе усилителя формируется сигнал
напряжения, величина которого пропорциональна содержимому
фотоячеек.
331
Начало координат
ПЗС-датчики с плоскостной структурой аналогичны датчикам
линейного сканирования с тем отличием, что в них фотоячейки
расположены в форме матрицы, а между рядами фотоячеек
имеется комбинация переходных транспортных регистров
(рис. 7.2,6). Информация с нечетных номеров фотоячеек
поступает последовательно в вертикальные транспортные регистры, а
затем — в горизонтальный транспортный регистр. Информация
с этого регистра поступает на усилитель, выход которого
сопряжен с видеоканалом. Повторение данного процесса для
фотоячеек с четными номерами
относится к обработке второй области те-
левизионного кадра. Такое
«сканирование» производится 30 раз в 1 с.
Камеры с линейным
сканированием воспроизводят, естественно,
только одну линию входного
изображения. Эти камеры удобно
использовать в случае движения
объекта относительно датчика
(например, болтов на конвейере).
Движение объекта в направлении,
перпендикулярном датчику, дает
двумерное изображение. Нередко
используются датчики линейного
сканирования с разрешающим
диапазоном, включающим 256—2048
элементов. Разрешающая способность
датчиков с плоскостной структурой
составляет 32 X 32 элементов на
нижней границе и 256X256 элементов для средних диапазонов.
Современные промышленные устройства с высокой
разрешающей способностью содержат 480 X 380 элементов, а
экспериментальные ПЗС-датчики имеют 1024 X Ю24 элементов и больше.
Обозначим через f(xf у) двумерное изображение (рис. 7.3),
получаемое телевизионной камерой или другим устройством,
дающим изображение. Здесь х и у пространственные координаты
(т. е. координаты плоскости изображения), а величина f в
произвольной точке (х, у) пропорциональна яркости
(интенсивности) изображения в этой точке. Переменной z обозначим
изменение интенсивности изображения для случая, когда
пространственное расположение этих изменений не существенно.
Для получения удобной с точки зрения вычисления формы
функции изображения f (ху у) ее необходимо дискретизировать
как пространственно, так и по амплитуде (интенсивности).
Дискретизацию по пространственным координатам (х, у) будем
называть дискретизацией изображения, а амплитудную
дискретизацию— квантованием по интенсивности или квантованием по
Рис. 7.3. Обозначения
координат при описании
изображения. Значение произвольной
точки (я, у) задается
величиной (интенсивностью) функции
/ в этой точке.
332
Рис. 7.4. Эффекты уменьшения величины дискретизации, (а) 512X512;
(б) 256X256; (в) 128X128; (г) 64X64; (д) 32X32.
уровню серого. Последний термин применяется для одноцветных
изображений и отражает тот факт, что изображение меняется
по тону от черного до белого в серых оттенках. Термины
интенсивности и уровня серого будем использовать попеременно.
Рис. 7.5. Изображение размером 512X512 соответственно с 256, 128, 64, 32,
16, 8, 4 и 2 уровнями интенсивности.
Предположим, что непрерывное изображение '}ЩЩщ^ЩШ^
вано равномерно на N рядов и М столбцов, причем ка^дай^и*
скретная величина проквантована по интенсивности. Такая
система, называемая цифровым изображением, может быть
представлена в виде
Г /(0,0) f(0f 1) .„ f(0f Af-1). I
,tr л fO.Q) /0. 1) — fU.M-D
fww" ... ... .,. '
Lf(N-l90) f(N-\, 1) ... f(ЛГ — 1P M~I)J
(7.2-1)
где и x и у теперь дискретные переменные:
*»0, 1,2 Л/-1; (/ = 0, 1,2, ..., М—1
Каждый элемент системы называется элементом
изображения, элементом картинки или пикселом. В соответствии с рис. 7.3
можно отметить, что /(0, 0) является пикселом начала коорди-
334
Продолжение рис. 7.5.
нат изображения, /(О, 1)—правый от него пиксел и так далее.
Обычно на практике величины N, М и число уровней
дискретной интенсивности каждого квантованного пиксела задают в
виде целых степеней числа 2.
Для уяснения процессов дискретизации и квантования
рассмотрим рис. 7.4. На рис. 7.4, а приведено изображение, дискре-
тизированное в систему пикселов размером N X N с N = 512,
при этом интенсивность каждого пиксела квантована по одному
из 256 дискретных уровней. На рис. 7.4, б—д показано то же
изображение, но соответственно с N=.256, 128, 64 и 32. Везде
число уровней интенсивности равнялось 256. Поскольку площадь
дисплея для каждого изображения была также одинаковой
(512X512 воспроизводящих точек), величина пикселов в
изображении с меньшей разрешающей способностью удваивалась
по сравнению с предыдущим изображением для того, чтобы
заполнить все рабочее поле дисплея. В результате изображение
принимает шахматную структуру, которая особенно заметна
на картинках с низшей разрешающей способностью. Можно
335
отметить, что качество изображения размером 256X256
довольно близко к приведенному на рис. 7.4, а, в то время как для
других значений оно резко снижается.
Рис. 7.5 иллюстрирует эффект, появляющийся при
уменьшении числа уровней интенсивности в случае постоянного
пространственного разрешения 512X512. Изображения с числом
уровней 256, 128 и 64 достаточно качественны. Изображения с 32
уровнями уже несколько хуже особенно на участках с близкими
уровнями интенсивности, что происходит из-за использования
слишком малого числа уровней интенсивности, представляющего
каждый пиксел. Это еще более заметно при появлении
пересекающихся структур, называемых ложными контурами, на
изображении с 16 уровнями. При меньшем числе уровней качество
резко ухудшается.
Степень дискретизации и число уровней интенсивности,
необходимые для получения требуемого в системе воспроизведения
изображения объекта, зависят от самого изображения и от вида
его использования. Для сравнения можно указать, что4 для
получения качественной черно-белой телевизионной картинки
требуется 512X512 пикселов со 128 уровнями интенсивности. Как
правило, универсальная система технического зрения должна
иметь как минимум разрешающую способность порядка 256 X
X 256 пикселов с 64 уровнями интенсивности, j
7.3. МЕТОДЫ ОСВЕЩЕНИЯ
Освещение объектов служит важным фактором, который
влияет на алгоритм получения изображения в целом.
Произвольное освещение внешней среды часто не является удовашгвд-
рительным, так как оно может привести к пониженной
контрастности изображения, к появлению бликов, теней и Яейвфй|йр1^Р"
ных деталей. Правильно организованная система освещейия
уменьшает сложность получаемого изображения при увеличении
информации, требуемой для обнаружения и выделения объекта.
На рис. 7.6 показаны четыре основные схемы, используемые
для освещения рабочего пространства робота. Для объектов с .1
гладкими поверхностями правильной формы можно применить
метод рассеянного освещения (рис. 7.6,а). Такая схема
освещения обычно используется в тех случаях, когда важными
являются характеристики поверхности объекта (рис. 7.7). Теневое
освещение (рис. 7.6,6) дает черно-белое (дискретное) изображе- |
ние. Этот метод целесообразно применять при необходимости
распознавания или измерения силуэтов объектов. Пример такого
случая показан на рис. 7.8.
Метод структурного освещения (рис. 7.6, в) заключается в
проецировании на рабочую поверхность световых точек, полос 1
или решеток. Этот метод освещения имеет два важных преиму-
336
щества. Первое преимущество заключается в упрощении задачи
нахождения объекта за счет подачи в рабочее пространство
известного светового рисунка, по искажению которого
определяется наличие объекта. Второе преимущество —возможность
получения пространственных характеристик объекта по анализу
формы искажений светового рисунка. Два примера реализации
Метода структурного освещения приведены на рис. 7.9. В первом
Случае показан объект, освещенный параллельными плоскостя-
и света, которые образуют световые полосы на пересечении с
\Лкамера
Летало
Лолосы, показы-
бающие контур
детали
Летали
Деталь
Неровная поверхность
г
рис. 7.6. Четыре основные схемы освещения f201].
плоской поверхностью. Во втором случае производится
проецирование двух световых плоскостей с разных направлений, но
сходящихся на поверхности в одну полосу (рис. 7.10,а). Камера
линейного сканирования, размещенная над поверхностью и
сфокусированная на полосе, при отсутствии объекта будет
отображать непрерывную линию света. Эта линия прерывается
любым объектом, пересекающим одновременно обе световые
плоскости. Данный метод удобно использовать при движении объектов
по ленте конвейера перед камерой. Как показано на рис. 7.10,6,
337
Рис. 7.7, Пример рассеянного освещения.
Рис. 7.8. Пример теневого освещения.
338
a
;к--4 '
:.*-■' Г...::
"■7<#/ —-~
#
Рис. 7.9. Два примера структурного освещения f260, 203].
Источник' у/'
сбета *
ч Источник
чч у сбета
Световая
плоскость
Источник света
Камера
линейного
сканирования
Рис. 7.10. Вид сверху (а) на две световые плоскости, пересекающиеся на
одной линии. Объект (б) будет обнаружен камерой, только если он
пересекает обе световые плоскости fl21].
339
наличие двух источников света гарантирует попадание объекта
в световую полосу, если она расположена прямо напротив
камеры. Отметим, что камера линейного сканирования регистрирует
только ту линию, на которой сходятся две световые плоскости,
но при движении объекта относительно камеры может быть
получена двумерная информация.
Метод направленного освещения (рис. 7.6, г) используется в
основном для обследования объекта. Такие дефекты
поверхности, как впадины и трещины, определяются с помощью точно
направленного светового луча (например, лазерного луча) пут<
измерения величины его рассеивания. Если поверхность без
дефектов, то на камеру попадает небольшое количество света.
Пели же на поверхности имеются дефекты, поток света в
сторону камеры увеличивается и позволяет их выявить (рис. 7.11},
7.4. ГЕОМЕТРИЯ ИЗОБРАЖЕНИЯ
Ниже рассматриваются важные преобразования,
используемые при получении изображения, математическая модель
камеры и ряд аспектов задачи формирования стереоизображения.
Некоторые из этих преобразований уже были рассмотрены в
гл. 2 в связи с кинематикой манипулятора робота. Здесь
обсуждаются сходные проблемы, но с точки зрения получения
изображения.
340
Wtikf? Ifекоторые основные преобразования
Дадим представления о таких задачах, как вращение,
изменение масштаба и смещение (сдвиг) изображений. Все
преобразования записываются в трехмерной декартовой системе
координат, в которой координаты точки записываются как (X, У, Z).
В случае двумерных изображений для обозначения координат
пиксела используется сокращенная запись (х, у). В обычной
терминологии выражение (X, У, Z) представляет собой
пространственные координаты точки.
Смещение. Предположим, что требуется сместить точку
с координатами (X, У, Z) в новое место, используя перемещения
(До, То, Z0). Смещение легко выполняется по следующим
формулам:
Г»* + *0. Y* = Y + YQ9 Z* = Z + Z0i
где (X*, У*, Z*) — координаты новой точки. Эти выражения
могут быть записаны в матричной форме
ЁН:
0 О Х0
1 О У0
О 1 Z0J
X
Y
Z
L-1
(7.4-2)
Как показано ниже, для получения сложного изображения
часто используется сочетание нескольких преобразований, таких^
как смещение после изменения масштаба и вращения. Запись
такого процесса существенно упрощается при применении
квадратичных матриц. Соответственно уравнение (4.7.2) запишется в
следующем виде:
Г-|
у.
Z*
1 -
- 1 0 0 Х0-л
0 1 0 Yu\
0 0 1 zA
L-0 0 0 1 J
ГХЛ
Y
z
Li J
(7.4-3)
Для параметров X*, У* и Z* уравнения (7.4-2) и (7.4-3)
полностью эквивалентны.
В этом разделе мы будем использовать выражение для
объединенной матрицы
Av,
(7.4-4)
341
где А—матрица преобразования размером 4X4, v — вектор-
столбец, содержащий начальные координаты:
v =
г X
Y
Z
(7.4-5)
Ф
(7.4-6)
a v* — вектор-столбец, элементами которого являются преобра-
z зованные координаты:
гГ-п
Г
Z*
L 1
. С использованием этих
выражений матрица, с
помощью которой
выполняется смещение,
шется в виде
О О
О
/
запи-
Т =
Рис. 7.12. Вращение точки относительно
осей координат. Углы измеряются по
часовой стрелке, если смотреть вдоль осей
вращения на начало координат.
Г 1
О 1
О О
О О
Хо-
Zo
1 J
(7.4-7)
а процесс
смещения^определяется ^уравнением
(7.*4)/*.^;#tff||jj
Изменение масштаба. Масштабирование на коэффициенты
Sx, Sy и St по осям X, Y и Z производится с помощью матрйвдр
преобразования
S =
rSx
О
о
о
о
su
о
о
о
о
о
От
о
о
1 J
(7.4-8)
Вращение. Преобразования, используемые для
осуществления трехмерного вращения, значительно сложнее других
преобразований. Простейшим видом этих преобразований является
вращение вокруг координатных осей. Для вращения заданной
точки вокруг произвольной точки в пространстве требуется
выполнить три преобразования. Первое преобразование смещает
произвольную точку в начало координат, второе — осуществляет
вращение, а третье —возвращает точку в исходное положение.
342
Ш|^&ответстЙйй С рис. 7.12 вращение точки относительно ко-
Ш|Минатной оси Z на угол 0 реализуется с помощью
преобразования
(7.4-9>
Угол вращения б измеряется по часовой стрелке, если
смотреть на начало координат из точки на оси +Z. Отметим, что это*
преобразование осуществляется только для координат X и У.
Вращение точки вокруг оси X на угол а выполняется с по-
мощью преобразования
г cos 8
— sin 0
0
L о
sin 8
COS0
0
0
0
0
1
0
O-i
0
0
I -1
Ra =
Г 1
0
0
Lo
0
cos a
— sin a
0
0 O-i
sin a 0
cos a 0
0 1 J
(7.4-10),
Наконец, вращение точки относительно оси У на угол р
реализуется с помощью преобразования
Rft =
г cos р
0
sin р
L 0
0
1
0
0
— sin p O-i
0 0
cosp 0
0 1 J
(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 т, столбцы которой являются
вектор-столбцами, то одновременное преобразование всех этих
34а
точек с помощью матрицы преобразования А
4X4 записывается в виде
V = AV.
размерностью
(7.4-13)
Полученная матрица V* имеет размерность 4 X т. Ее i-й
столбец v, содержит координаты преобразованной точки,
соответствующей Vf.
В заключение отметим, что из матриц многих рассмотренных
преобразований легко получить обратные матрицы,
используемые для выполнения обратных преобразований. Например,
матрица обратного смещения имеет вид
Т"' =
г 1 0 0 -*o-i
0 1 0 -K0
0 0 1 -Z0
Lo о о i .
(7.4-14)
Аналогично обратная матрица вращения Re"1 определяется как
Re-l = '
- cos (—8) sin (—8) OO-i
— sin (— 8) cos (—8) 0 0 1
1 0 0 10
L
0 0
0 1-
l . (7.4-15)
1
Обращение более сложных матриц преобразования обычно
производится численными методами.
7.4.2. Оптические преобразования ; ^хши
Оптические преобразования, которь^ йаёкваю^ся также ць&т
образованиями изображений, проецируют точки трехмерного
пространства на плоскость. Оптические преобразования игДОКиг*
основную роль при получении изображения, поскольку они
определяют способ отображения пространственных объектов. Хотя
ниже в этом разделе оптические преобразования записываются
В матричной форме размерностью 4X4, они существенно
отличаются от рассмотренных в предыдущем разделе, поскольку
являются нелинейными, так как включают операции деления
координат.
На рис. 7.13 приведена схема процесса формирования
изображения. Предположим, что система координат камеры (х, у,
г) имеет плоскость изображения, совпадающую с плоскостью
ху, а оптическая ось, установленная по центру линзы,
направлена вдоль оси z. Таким образом, центр плоскости изображения
является началом координат, а центр линзы имеет координаты
(0,ОД). Если камера сфокусирована на дистанционные объек-
344
ты, то X прайШШяег собой фокусное расстояние линзы. Здесь
предполагается, что система координат камеры совпадает с
декартовой системой координат (J, У, Z). Это ограничение будет
снято в следующем разделе.
Пусть (X, У, Z)— координаты произвольной точки трехмер-
гаЙ®" пространства (рис. 7.13), Предположим для последующих
рассуждений, что Z > Kt т. е. что все интересующие нас точки
\F,Y
Плоскость изображения
Центр линзы
Рис. 7.13. Основная схема процесса получения изображения. Система
координат камеры (х, уу z) совпадает с декартовой системой координат (Ху У, Z).
пространства находятся перед линзой. Сначала требуется
установить взаимосвязь между точкой (X, У, Z) и координатами
(х, у) ее проекции на плоскость изображения. Это легко
сделать, рассмотрев соответствующие треугольники. Из рис. 7.13
следует
(7.4-16)
А,
Y
Y
z *
(7.4-17)
где минусы перед X и У означают, что точки на изображении
перевернуты.
Спроецированные на плоскость изображения точки
трехмерного пространства определяются непосредственно из уравнений
(7.4-16) и (7.4-17):
(7.4-19)
Важно отметить, что данные уравнения являются
нелинейными, потому что они включают операцию деления на перемен-
345
ную Z. Хотя ими можно пользоваться в приведенном виде,
часто удобно применять матричную форму записи, как это
делалось в предыдущем разделе для описания процессов вращения,
смещения и масштабирования. Такую запись легко получить с
помощью однородных координат.
Однородные координаты точки с декартовыми координатами
(X, Y, Z) определяются как (kX, kY, kZ, k), где k —
произвольная ненулевая постоянная. Ясно, что обратное преобразование
однородных координат в декартовые осуществляется путем
деления трех однородных координат на четвертую. Точка в
декартовой системе координат определяется в векторной форме
следующим образом:
Г*
w =
Y
LZJ
(7.4-20)
а соответствующая запись в однородных координатах будет
иметь вид
kX-
V*h
(7.4-21)
Определим матрицу оптического преобразования в виде
"10 0 0
0 10 0
0 0 1 0
.° ° -х 'j
Р =
шш
Тогда произведение Pwft дает вектор, который обозначим
через с*:
' гкХл
сА = Pwft —
1 0
0 1
о о
о
о
1
о
о
о
0 ° -х *
kY
kZ
k J
kX
kY
kZ
-kZ
+ k
(7.4-23)
Элементы вектора си являются координатами камеры в
однородной форме. Как было отмечено выше, эти координаты могут
быть переведены в декартовые координаты путем деления
каждого из трех элементов вектора Си на четвертый. Таким образом,
декартовы координаты любой точки связаны с системой коорДи-.
346
нат камеры <зл«Ующей векторной формой:
-в
Г hX 1
х^т
KY
k-Z
KZ
L X-2J
(7.4-24)
Два первых элемента вектора с являются координатами
МрР, у) Спроецированной на плоскость изображения
пространственной точки (X, У, Z) в соответствии с уравнениями (7.4-18) и
(7.4-19). Третий элемент для рассматриваемой схемы (рис. 7.13)
не существен. Как показано ниже, этот элемент выступает в ка-
\ Штае свободной переменной в обратном оптическом преобра-
эовании.
Обратное оптическое преобразование переводит точку с
плоскости изображения обратно в трехмерное пространство. Таким
образом, из уравнения (7,4-23) получим
™Л = Р сЛ,
где Р определяется в виде
р- =
10 0 0
0 10 0
0 0 10
1 ,
о о
(7.4-25)
(7.4-26)
Предположим, что заданная точка на изображении имеет
координаты (х0, уо, 0), где 0 по координате г отражает тот факт,
что плоскость изображения находится на 2 = 0. Эта точка
может быть записана в однородной форме вектором
г kx0-
4 =
ky0
0
к
(7.4-27)
Используя уравнение (7.4-25), получим соответствующий
вектор для однородных пространственных координат
Wh
г kx0-
ky0
0
L k
(7.4-28)
34?
или для декартовых координат
w =
х^
Y
Z-
•=
Xq
Уй
L 0
(7.4-29)
Поскольку Z=^=0, данное выражение верно не только для
одной точки пространства. Это объясняется тем, что
отображение трехмерного пространства на плоскость изображения
является преобразованием многих точек в одну. Точка
изображения (хо, У о) соответствует ряду пространственных точек,
лежащих на одной линии, которая проходит через (х0, (/о, 0) и (0, 0,
X). Уравнения этой линии в декартовой системе координат
получаются из уравнений (7.4-18) и (7.4-19) в виде
Хо
и
X = ^(X — Z)
Y = 1±(K-Z).
(7.4-30)
(7.4-31)
Из этих уравнений видно, что если нет достаточной
информации о пространственной точке (например, ее координаты Z),
полученной из точки на изображении, то нельзя точно
восстановить точку в трехмерном пространстве по ее изображению.
Это вполне естественное соображение может быть использовано
для определения обратного оптического преобразования путем
простой подстановки элемента z в вектор с& вместо 0 в качестве
свободной переменной. Таким образом, получим
<V
ky0
kz
U к
(7.4-3
Теперь из уравнения (7.4-25) имеем
wA =
kxQ
ky0
kz
kz
L Я
f к
(7.4-33)
348
После преобразования в декартовые координаты получим
Г XI
Y
\-Z-
' "
Хх0 |
X + z
Ху0
X + z
Xz
_ X + z J
w= У \ =
(7.4-34)
Другими словами, используя z как свободную переменную,
получим уравнения
XXq
Выразив z в последнем уравнении через Z и подставляя его
в два первых уравнения, получим
Х =
Z =
X + z '
Xz
X + z *
(7.4-35)
X = ^(X~Z),
Y = Jx~(x
Z\
(7.4-36)
(7.4-37)
что согласуется с тем, что для восстановления точки в
трехмерном пространстве путем обратного оптического преобразования
требуется знание по крайней мере одной декартовой
координаты точки. Эта проблема обсуждается также в разд. 7.4.5.
7.4.3. Модель камеры
Уравнения (7.4-23) и (7.4-24) характеризуют формирование
изображения путем проекции точки пространства на плоскость
изображения. Таким образом, эти два уравнения представляют
основную математическую модель воспроизводящей камеры.
Данная модель базируется на предположении, что система
координат камеры и декартова система координат совмещены.
В этом разделе рассмотрим более общий случай, при котором
две системы координат могут быть разделены. Однако главная
цель получения координат произвольной точки пространства на
плоскости остается той же.
В случае, изображенном на рис. 7.14, декартова система
координат (X, У, Z) используется для определения положения
как камеры, так и точек пространства, обозначенных через w.
На этом рисунке также показаны система координат камеры
(х, yf z) и точки изображения, обозначенные через с, Предпо-
349
лагается, что камера установлена на шарнире, который
обеспечивает поворот по углу G и наклон по углу а. Здееь поворот
определяет угол между осями х и Ху а наклон —угол между
осями z и Z. Смещение центра шарнира от начала декартовой
Рис. 7.14. Геометрическое расположение элементов при получении
изображения в двух системах координат.
системы координат обозначено вектором wo, а смещение центра
плоскости изображения относительно центра шарнира —
вектором г с элементами (г\, г2, г3).
Весь необходимый материал для получения модели камеры*
основанной на геометрическом расположении элементов,
которые показаны на рис. 7.14, изложен в двух предыдущих
разделах. Метод заключается в приведении в соответствие системы
координат камеры и декартовой системы координат путем ряда
преобразований. После этого можно легко использовать
оптическое преобразование, заданное уравнением (7.4-22) для по-
350
лучения координат любой точки пространства на плоскости
изображения. Другими словами, перед использованием оптического
преобразования задача предварительно сводится к
геометрической системе, приведенной на рис. 7.13.
Предположим, что камера сначала находится в нормальном
ИШОЖении, т. е. центр шарнира и начало координат плоскости
Wgg^&MeHHn совмещены с началом декартовой системы коор-
рвнат и все их оси совпадают. Перевод из нормального поло-
Щща к геометрическому расположению, показанному на
рис. 7.14, может быть осуществлен несколькими путями.
Зададим следующую последовательность операций: 1) сдвиг цен-
^ЕМ'ЩДрнира относительно начала координат, 2) поворот оси х,
ТЙщадлон.оси z% 4) сдвиг плоскости изображения относительно
центра шарнира.
Ясно, что указанная последовательность механических опе-
щй не обеспечивает необходимое перемещение всех точек
пространства, поскольку вид группы точек, воспроизводимый
камёрШ поёле их перемещения из нормального положения,
будет совершенно другой. Однако можно вернуть все точки
пространства обратно в нормальное положение, применяя к ним
ту же последовательность операций. Поскольку расположение
камеры в нормальном положении соответствует рис. 7.13, при
реализации оптического преобразования задача сводится к
применению ряда указанных операций соответственно к каждой
точке пространства.
Сдвиг начала декартовой системы координат в центр
шарнира выполняется с помощью следующей матрицы
преобразований:
1 О О -V
0 1 0 — F0 и
'о о 1 -zj
-О 0 0 1 J
Другими словами, однородная точка пространства wa с
координатами (Ао, Ко, Zo) после преобразования Gw^ является
началом новой системы координат.
Как указывалось выше, угол поворота измеряется между
осями х и X В нормальном положении эти оси совпадают. В
результате поворота оси х на заданный угол производится
вращение по углу 6. Вращение производится относительно оси z и
осуществляется с использованием матрицы преобразования Re,
заданной уравнением (7.4-9), т. е. применение этой матрицы ко
всем точкам, включая точку Gw^, позволяет эффективно
поворачивать ось х в требуемое положение. При использовании
уравнения (7.4-9) важно иметь в виду условие,
соответствующее рис. 7.12, а именно положительные углы получаются при
351
вращении точек по часовой стрелке, что предполагает вращение
камеры против часовой стрелки вокруг оси z. Неподвижное (0°)
положение соответствует случаю совпадения осей х и X.
До этого момента оси г и Z еще совпадают. Поскольку
наклон определяется углом между этими двумя осями,
поворачиваем камеру на угол а путем вращения оси z на данный угол.
Вращение производится относительно оси х с использованием
матрицы преобразования Ra (уравнение (7.4-10)) для всех
точек, включая точку ReGw^. Как и раньше, вращение камеры
против часовой стрелки дает положительные углы, а поворот
в 0° получается при совпадении осей z и Z1}.
В соответствии с разделом 7.4.4 две матрицы вращения
могут быть совмещены в одной матрице R = RaRe.
Далее из уравнений (7.4-9) и (7.4-10) имеем
R =
cos 6
— sin 0 cos a
sin 0 sin a
0
sin 9
cos 0 cos a
— cos 6 sin a
0
0
sin a
cos a
0
O-i
0
6
1 J
b ^4*39)
Наконец, смещение начала координат плоскости
изображения на вектор г производится с помощью матрицы
преобразования
1 0 0 —гх-л
С =
0 10
0 0 1
Lo о о
— Г 2
— гъ
1 -1
(7.4-40)
Таким образом, применяя к точке wA ряд преобразований
CRGw/t, совмещаем декартову систем^ координат и систему
координат камеры. Координаты точки W/, на плоскости
изображения окончательно получают с использованием уравнения
(7.4-22). Другими словами, однородная точка пространства»
которая фиксируется камерой, расположенной в соответствии с
рис. 7.14, имеет следующую запись в системе однородных
координат камеры:
ch = PCRGwA. (7.4-41)
Это уравнение представляет оптическое преобразование,
включающее две системы координат.
Как показано в разд. 7.4.2, декартовы координаты (х, у)
точки изображения получаются путем деления первого и вто-
*> Наглядность этих преобразований можно обеспечить, сконструировав
систему осей (например, с помощью устройств для чистки трубок), пометив
оси х, у, г и произведя поочередное вращение осей вручную.
352
элементов вектора ел на четвертый. Расписывая уравнение
(7.4-41) и возвращаясь к декартовой системе координат,
получим BW№';V
flt^. V(Х~ fq)cos9 + (Г ~ Го) sin 9"" Г!
v, -Г0) slit 9 iift a + (К — Y0) cos 9 sin а — (Z — Z0) cos а + r3 + Л
(7.442)
1 *T (ff""" XQ) sin 8 cos а + (У — У о) cos 8 cos а + (Z — ZQ) sin а — r2
А Ц (X ~ A"o) sin 8 sin а + (У — Y0) cos 9 sin а — (Z — Z0) cos а + r3 + Л *
:>.■ (7.4-43)
Эти уравнения определяют координаты изображения точки
Шдаранственные координаты которой (X, Y, Z). Отметим,
данное уравнения приводятся к уравнениям (7.4-18) и
•19} при Xo=-Yo = Z0 = Oy n=r2 = r3 = 0 и а = 9 == 0°.
\
\ZL
/
Рис. 7.15. Камера, направленная на пространственный объект.
Пример. Для иллюстрации рассмотренного метода
предположим, что требуется найти изображение угла блока, показанного
на рис. 7.15, Камера смещена от начала координат и
направлена на объект с поворотом на 135° и наклоном в 135°.
Условимся, что изменение углов происходит в положительном
направлении при вращении камеры против часовой стрелки, если
смотреть на начало координат вдоль оси вращения.
Воспроизведем подробно операции, необходимые для
перемещения камеры из нормального положения к положению, по-
12 К. Фу и др.
353
казанному на рис. 7.15. Камера изображена в нормальном
положении на рис. 7.16, а и в смещенном относительно начала
координат положении на рис. 7.16,6. Важно отметить, что после
этой операции оси декартовой системы координат используются
только для угловых отсчетов, т. е. после перемещения
декартовой системы координат все вращения производятся относитель-
kz
Къ
Ось z перпендикулярна
плоскости рисунка
Л
Ось х
перпендикулярна плоское-
кости рисунка
Плоскость XY
Рис. 7.16. (а) Камера в нормальном положении, (б) Смещение центра
шарнира из начала координат, (в) Вращение вокруг оси г при повороте.
(г) Вращение вокруг оси х при наклоне.
но новых осей (осей камеры). На рис. 7.16,в показан вид вдоль
оси z камеры при осуществлении поворота. В этом случае
вращение камеры вокруг оси z происходит против часовой стрелки,
поэтому точки пространства вращаются относительно этой оси
в противоположном направлении по положительному
направлению угла 6. На рис. 7.16, г показано положение системы вдоль
оси х камеры перед осуществлением наклона после завершения
поворота. Вращение вокруг этой оси происходит против часовой
стрелки по положительному направлению угла а. Оси
декартовой системы координат показаны на рис. 7.16, в и г штриховыми
354
линиями, чтобы подчеркнуть их значение только как базы
отсчета при реализации поворота и наклона. На рис. 7.16, г не
отражена окончательная операция смещения плоскости
изображения относительно центра шарнира.
В задаче используются следующие параметры: Х{} = 0 м,
у0 = 0 м, Z0«l м, а—135°, 6 = 135°, /^ = 0,03 м, г2 = гг =
■= 0,02 м, К = 35 мм = 0,035 м.
Искомый угол имеет координаты (X, У, Z) = (l; 1; 0,2).
Для того чтобы подсчитать координаты изображений угла
блока, достаточно просто подставить заданные значения
параметров в уравнения (7.4-42) и (7.4-43), т. е.
« -0,03 . -0,42
Х — Л =ЩТХ И ^ = Л —1.БЗ + А. •
Подставляя Л = 0,035, получим координаты изображения х =
= 0,0007 м и # = 0,009 м.
Отметим, что эти координаты легко укладываются на
плоскость изображения размером 0,025X0,025 м. Если же,
например, применять линзу с фокусным расстоянием 200 мм, то
просто показать, что полученное изображение угла блока будет
находиться вне эффективного поля зрения камеры.
Наконец, отметим, что все соответствующие уравнениям
(7.4-42) и (7.4-43) координаты получены относительно центра
плоскости изображения. При действии ранее установленного
условия о расположении начала координат плоскости
изображения в верхнем левом углу необходимо изменить значения
координат.
7.4.4. Калибровка камеры
В разделе 7.4.3 были получены точные уравнения для
координат (х, у) изображения пространственной точки w. В
соответствии с уравнениями (7.4-42) и (7.4-43) использование этих
уравнений требует знания фокусного расстояния, смещений
камеры и углов поворота и наклона. Хотя эти параметры могут
быть измерены непосредственно, иногда бывает удобно
(например, при частом перемещении камеры) определять один или
несколько из указанных параметров, используя саму камеру в
качестве измерительного прибора. Это требует наличия ряда
точек изображения с известными декартовыми координатами.
Процесс вычисления параметров камеры, использующий эти
известные точки, часто называют калибровкой камеры.
Пусть в соответствии с уравнением (7.4-41) А= PCRG.
Элементы А содержат все параметры камеры, а из уравнения
(7.4-41) известно, что Сн = Aw/j. Полагая k = 1, можно записать
12*
355
в однородной форме
~ сын
Ch2
1 ch3
*~chA ~
" #11 #12 #13 #14~|
#21 #22 #23 #24
#3i a32 #зз #34
■— #41 #42 #43 #44 —
1
rX-i
Y
Z
Li J
(7.4-44)
Из двух предыдущих разделов следует, что координаты
камеры в декартовой системе задаются в виде
х =
%а
и
У-
"/12
СЫ
(7.4-45)
(7.4-46)
Подставляя сн\ = хсна и ch2 = ychA в уравнение (fW%4) и
раскрывая матричное произведение, получим
хсм = апХ + al2Y + axbZ + а14,
усы = а2{Х + а22К + #23^ + 024,
ch4 = #4i^ + #42^ + #43^ + а44,
(7.4-47)
где выражение для снъ может быть опущено, так как оно
связано с z. I-
Подставляя сна в первые два уравнения (7,4-47), пощщ^
два уравнения с двенадцатью неизвестными коэффициентами
апХ + ai2Y + al3Z — а4{хХ — aA2xY — a&xZ — а44 * + #н = О,
а21Х + а22К + a^Z — a41*/J — а42#Г — a^yZ — auy + a24 = 0.
(7.449)
Далее процесс калибровки состоит из трех этапов. Первый
этап заключается в определении т ^ 6 точек пространства с
известными координатами (Xtt У*, Zt), i — 1, 2, ..,, m.
Поскольку имеются два уравнения, включающие координаты этих точек,
то их необходимое количество должно по крайней мере
равняться шести. На втором этапе получают соответствующие
изображения этих точек (xi,yi)t i=l> 2, ..., т, с помощью
камеры. Третий этап состоит в использовании полученных
результатов в уравнениях (7.4-48) и (7.4-49) для определения
неизвестных коэффициентов. Для нахождения оптимального
решения линейной системы уравнений тщ (7.4-48) и (7.4-49J
существует много численных методов [218]>
356
1.5. Стереоизображение
Как указано в разд. 7.4.2, проецирование трехмерного
пространства на плоскость изображения является преобразованием,
"при ротором несколько точек сливаются в одну. Это означает,
что точка изображения неоднозначно определяет расположение
соответствующей точки пространства. В данном разделе
показывается, что информация о глубине изображения может быть
Получена при использовании методов стереоскопического
изображения (или стереоизображения).
Изображение 1
(*t> Ы
Изображение 2
Центр
линзы
оптическая
^ ^ ось
w
Точка
Яросгпранстба
Рис. 7.17. Схема получения стереоизображения.
Стереоизображение включает два отдельных вида
изображаемого объекта (рис. 7.17), например пространственной точки
w. Расстояние между центрами двух линз называется базовой
линией. Требуется определить координаты (X, У, Z) точки w,
заданной точками ее изображения (х\, у\) и (х2> £/г).
Предполагается, что камеры идентичны и системы координат
обеих камер полностью совпадают, отличаясь только
расположением их начал. Эти условия обычно встречаются на
практике. Как и прежде, считается, что при совмещении системы
координат камеры с декартовой системой координат плоскость
изображения ху совпадает с плоскостью XY декартовой системы
координат. При сделанных предположениях координата Z
точки w одинакова для обеих систем координат камер.
Допустим, что первая камера совмещена с декартовой
системой координат, как показано на рис. 7.18. Тогда по уравне-
357
нию (7.4-31) точка w лежит на линии с координатами
Х\
JTi-Trft-Z,),
(7.4-50)
где индексы у X и Z обозначают, что к началу декартовой
системы координат передвинута первая камера, а вторая камера
и точка w также переместятся в этой системе. При этом
сохранено относительное расположение элементов системы,
показанное на рис. 7.17. Если вместо этого к началу декартовой системы
ИзображеХ
ние /
Начало
декарто
бой
системы
координат д
Изображение Z
Рис. 7.18. Вид сверху на рис. 7.17 при совмещении первой камеры с
декартовой системой координат.
Плоскость постоях*
ног о значения
координаты Z
координат передвинута вторая камера, то точка w лежит на
линии с координатами
(7.4-51)
*2
%2 — Т~ (^ ~~ Z2) ■
Однако благодаря наличию расстояния между камерами и
тому, что координаты Z точки w одинаковы в обеих системах
координат камер, имеем
Х2 = Х{ + В
и
где, как отмечено выше, В — базовая линия.
358
(7.4-52)
(7.4-53)
Подставляя уравнения (7.4-52) и (7.4-53) в уравнения
(7.4-50) и (7.4-51), получим уравнения
Xl + B = ^-(X-Z) (7.4-54)
X[^^L(X- Z). (7.4-55)
Вычитая уравнение (7.4-55) из уравнения (7.4-54) и решая
его относительно Z, получим
Z = X ^—. (7.4-56)
Отсюда видно, что координата Z точки w легко вычисляется
при известной разности между соответствующими координатами
х2 и х\ изображения, а также значений базовой линии и
фокусного расстояния. Декартовы координаты X и У получаются
затем прямо из уравнений (7.4-30) и (7.4-31) с использованием
координат (хи у\) или (х2, уъ).
Наибольшую трудность при применении уравнения (7.4-56)
для получения координаты Z представляет нахождение двух
соответствующих точек на различных изображениях одного
объекта. Поскольку эти точки обычно находятся в
непосредственной близости, часто используют метод, при котором на
одном изображении выделяют точку внутри малой окрестности,
а затем пытаются определить соответствующую окрестность на
другом изображении корреляционными методами, изложенными
в гл. 8. Процесс сопоставления обычно ускоряется, если объект
имеет характерные признаки, такие, как выступающие углы.
В заключение отметим, что процесс калибровки,
рассмотренный в предыдущем разделе, может непосредственно
использоваться для стереоизображения простой его реализацией
независимо для каждой камеры.
7.5. НЕКОТОРЫЕ ОСНОВНЫЕ ВЗАИМОСВЯЗИ
МЕЖДУ ПИКСЕЛАМИ
Ниже рассматривается несколько простых, но важных
взаимосвязей между пикселами в цифровом изображении. Как и в
предыдущем разделе, изображение будем обозначать f(x, у).
При обсуждении отдельного пиксела будем использовать
сокращенные обозначения р и q. Для подгруппы пикселов
используется обозначение S.
7.5.1. Соседние пикселы
Пиксел р с координатами (х, у) имеет четыре
горизонтальных и вертикальных соседних пиксела с координатами
(х+ 1, у)у (х— 1, у), {х, у+ 1), {х, у— 1).
359
Эта группа пикселов, называемая «четыре соседа р»,
обозначается через N4(p). Отметим, что данные четыре пиксела
находятся на одном расстоянии от (ху у), а также некоторые из
соседних пикселов р могут быть за пределами цифрового
изображения, если (х, у) находится на границе изображения.
Четыре диагональных соседних пиксела р имеют координаты
(X+I,y+1), (*+ 1,^-1), (х- 1,0+1), (Х-\,У-\)
и обозначаются через No{p)'. Эти точки вместе с четырьмя
указанными выше называются «восемь соседей р» и обозначаются
через Ns{p). Некоторые из точек ND(p) и N8(p) также могут
выходить за пределы изображения, если (х, у) находится на
границе изображения.
7.5.2. Связи
Пусть V — ряд значений интенсивности пикселов, которые
могут быть соединены. Например, если требуется связать
пикселы с интенсивностью 59, 60 и 61, то V = {59, 60, 61}.
Рассмотрим три типа связей:
1. Четырехсвязный. Два пиксела р и q со значениями интен-
сивностей из V являются четырехсвязными, если q относится к
к группе Af4(p).
2. Восьмисвязный. Два пиксела р и q со значениями интен-
сивностей из V являются восьмисвязными, если q относится к
группе iV8(p).
3. m-связный (смешанная связь). Два пиксела р и
д^Означениями интенсивности из V являются m-связными, если
а) q относится к группе ЛМр);
б) q относится к группе Nd(p) и Множество Л^(р)ЛЛМ?}+
пустое. (Это множество пикселов, являющихся четырьмя
соседними как по отношению к р, так и по отношению к q со
значениями интенсивностей из V.)
Смешанная связь является модификацией восьмисвязного
типа систем и вводится для исключения множественности
соединений, которая часто вызывает трудности при использовании
восьмисвязных систем. Рассмотрим для примера систему
пикселов, показанную на рис. 7.19, а. Предположим, что V= {1, 2}.
Связи восьми соседних пикселов с пикселом, имеющим
значение 2, обозначим штриховыми линиями (рис. 7.19,6). Отметим
неопределенность полученных связей ввиду их множественности.
Эта неопределенность снимается при использовании т-связной
системы (рис. 7.19,в).
Пиксел р примыкает к пикселу q, если они связаны. Можно
подразделить примыкание на 4-, 8- и га-размерное* в
зависимости от определенного типа связей. Два изображения под-
360
fpynn Si и S2 примыкают друг к другу, если несколько пикселов
ИЗ Si примыкают к нескольким пикселам из S2.
Путь от пиксела р с координатами (х, у) к пикселу q с
координатами (s, t) представляет собой последовательность
определенных пикселов с координатами (*о, f/o), (х\,у\) >..., (хПууп)>
где (хо, f/o) —(*, у), (хп, yn) = (s, t)y (xi, yt) — пиксел,
прилежащий к (#i~i,#i-i), l^t^/tj a n —длина пути, Можно
подразделить пути на 4-, 8- и m-размерные в зависимости от типа
используемого примыкания.
О 1 1
0 2 0
0 О 1
а 6 д
Рис. 7,19. Система пикселов (а). Связь восьми соседних пикселов с
пикселом со значением 2 (б). Связь ш-соседних пикселов с пикселом со
значением 2 (в).
Если р и q являются пикселами изображения одной
подгруппы S, то р считается связанной с q в 5, если путь от р до q
состоит только из пикселов, лежащих в S.
Для любого пиксела р, принадлежащего S, группа пикселов
в S, связанных с р, называется связанным компонентом 5.
Отсюда следует, что два любых пиксела связанного компонента
связаны друг с другом, а несвязанного — разделены.
7.5.3. Измерение расстояний
Определим для пикселов р, q, z соответственно с
координатами (х, у), (s, /) и (и, v) функцию расстояния или метрику D
следующим образом:
1) D(p, q)^0 [D(p, q) = 0, если p=*q\%
2) D(p, q) = D(q,p),
3) D(Pl z)^D(p, q) + D(q, z).
Евклидово расстояние между р и q определяется по формуле
De (p, q) = l(x - sf + (у - [tftm. (7.5-1)
При измерении этого расстояния пикселы, имеющие
расстояние, меньшее или равное некоторой величине г от (х,у)9
располагаются в окружности радиусом г с центром в (х, у).
Расстояние D4, называемое модульным, между р и q определяется
выражением
А(Р, ?) = l*-*I + Iy-/I. (7.5-2)
0
0
0
1 1
I /
1 '
•
/
1 /
\ /
2ч 0
\
s
\
\
с N
I
2, 0
361
В этом случае пикселы, имеющие расстояние D4, меньшее или
равное некоторой величине г от (х, у), образуют ромбовидную
структуру с центром в (х, у). Например, пикселы с расстоянием
£>4 ^ 2 от (х, у) (центральной точки) образуют следующие
контуры с равными от центра расстояниями:
2
2 1 2
2 10 12
2 1 2
2
Отметим, что пикселы с D4=l являются четырьмя
соседними к (х, у).
Расстояние £>8, называемое также шахматным, между р и q
определяется по формуле
D8(p, <7) = max(|*-*|, \y-t\). (7.5-3)
При этом пикселы с расстоянием D8, меньшим или равным
некоторой величине г, образуют квадрат с центром в (х, у).
Например, пикселы с расстоянием Z)8 ^ 2 от центральной точки
(х, у) образуют следующие равноудаленные от центра контуры:
2 2 2 2 2
2
2
2
2
1
1
1
2
1
0
1
2
1
1
1
2
2
2
2
2
Пикселы с Ds = 1 составляют восемь соседних к точке (х, ;/)
пикселов. -"йЩрй
Можно отметить, что расстояние £>4 между двумя точками р
и 7 равно кратчайшему из четырех путей между ними. То же
самое относится к расстоянию £)8. В действительности можно
определять расстояния D4 и D8 между р к q независимо от
наличия связующих их путей, поскольку для нахождения этих
расстояний требуются только значения координат данных точек.
Однако, когда имеют дело с m-связностью, величина*
расстояния (длина пути) между двумя пикселами зависит от значения
пикселов вдоль пути, а также от их соседей. Рассмотрим для
примера систему пикселов, в которой р\> р2 и /п имеют
значения 0 или 1
Рз Ра
Р\ P2
Р
362
И предположить связность пикселов со значением 1 при
р1 и ръ равными 0, то т—расстояние между р и р4 равно 2.
Если р\ или ръ равно 1, расстояние равно 3. Если же р\ и р3
равно 1, то расстояние будет равно 4.
7.6. ПРЕДВАРИТЕЛЬНАЯ ОБРАБОТКА ИНФОРМАЦИИ
Ниже рассматриваются некоторые методы предварительной
обработки информации, используемые в системах технического
зрения роботов. Хотя число методов, пригодных для предвари-
БрЦОЙ обработки основных параметров изображения, довольно
велико, требованиям по скорости вычислений и по
эксплуатационной стоимости, лежащим в основе систем технического
зрения, удовлетворяет только определенная подгруппа этих ме-
ВВДОВ. Рассматриваемые ниже методы предварительной
обработки информации являются типичными с точки зрения удовле-
^шия указанным требованиям.
1АЛ. Основные понятия
Рассмотрим два основных подхода к предварительной
обработке информации. Первый подход основан на методах
пространственной области, а второй — на методах частотной
области с использованием преобразования Фурье. Вместе эти
подходы охватывают большинство из существующих алгоритмов
предварительной обработки информации, применяемых в
системах технического зрения роботов.
Методы пространственной области. К пространственной
области относится совокупность пикселов, составляющих
изображение. Методы пространственной области являются
процедурами, оперирующими непосредственно с этими пикселами.
Функции предварительной обработки в пространственной области
записываются в виде
g(x, y)-h[f(x, y)l (7.6-1)
где f(x, у)—входное изображение, g(x, у)—выходное
(обработанное) изображение, a h — оператор функции fy
определенный в некоторой области (х, у). Оператор h можно применять
также к ряду входных изображений для формирования,
например, суммы пикселов К изображений при уменьшении шума
(разд. 7.6.2).
Основным подходом при определении окрестности точки
(х, у) является использование квадратной или прямоугольной
области части изображения с центром в точке (х, у) (рис. 7.20).
Центр этой части изображения перемещается от пиксела к
пикселу, начиная, например, от левого верхнего угла; при этом для
получения g(x, у) оператор применяется для каждого положе-
363
ния (ху у). Хотя иногда используются и другие формы
окрестности (например, круг), квадратные формы более
предпочтительны из-за простоты их реализации.
V
Рис, 7.20. Окрестность размерностью 3X3 точки (*, у) изображения.
Простейшая форма h получается, когда окрестность имеет
размерность 1 X 1 и, следовательно, g зависит только от
значения / в точке (х,у). В этом слуеде к
становится картой интенсивкмтн \Цяи
преобразованием Т вида
где для простоты введены переменные s
и г, обозначающие соответственно
интенсивность f(x, у) и g(x,y) в любой
точке {х, у). Этот тип преобразования
более подробно обсуждается в разд.
7.6.3.
Один из наиболее часто
встречающихся методов пространственной
области основан на использовании так
называемых масок свертки (или
шаблонов, окон или фильтров). Обычно
маска представляет собой небольшую (например, размерность
3X3) двумерную систему (рис. 7.20), коэффициенты которой
выбираются таким образом, чтобы обнаружить заданное
свойство изображения. Предположим для начала, что дано изобра-
-I
~L
~1
-1
8
-1
Л
-1
-1
Рис. 7.21. Маска для
обнаружения отдельных
точек, отличающихся от
постоянного фона.
364
Цршес постоянной интенсивностью, которое содержит отдсль-
л удаленные друг от друга пикселы с отличной от фона ин-
Живностью. Эти то*!ки могут быть обнаружены маской,
покаянной на рис. 7.21. Процесс заключается в следующем. Центр
1еки (помеченный цифрой 8) перемещается по изображении)
||Й1ределенным образом. При совпадении центра маски с
положением каждого пиксела производится умножение значений
;^#сех пикселов, находящихся под маской, на соответствующий
> коэффициент на маске, т. е.
значение пиксела под
центром, маски умножается на
8, а значения восьми
соседних пикселов
умножаются на —1. Затем
результаты этих девяти умножений
суммируются. Если все пик-
седы под маской имеют оди-
накШйе значения
(постоянный фон), то сумма будет
равна нулю. Если же центр
маски разместится над
точкой с другой
интенсивностью, сумма будет отлична
от нуля. В случае
размещения указанной точки вне
центра сумма также будет
отлична от нуля, но на
меньшую величину. Это
различие может быть
устранено путем сравнения значения
нием.
Если величины wu w2, • •> wg представляют собой
коэффициенты маски пиксела (х, у) и его восьми соседей (рис. 7.22),
предыдущее рассмотрение можно представить как выполнение
следующей операции:
h[f(x, y)]^wj{x-l$ y-l) + wj(x-l
+ wj(x— 1, y+ l) + wAf(x, y — 1)4
+ w5f (x, y) + wbf (*, у + 1) +
+ w7f(x+h y-l) + w8f(x+U y) +
+ Wgf(x+l9 У+1)
wt
kx - \,y -1)
Щ
(x,y~\)
w7
fe +1,^-1)
wt
(*-UW
Wj
i*,y)
"S
! (* + i,y)
TV3
fc- hy + v\
■щ
(«vy + D
Wg
(x+ l,y+i)
Рис. 7.22. Общая маска размерностью
3X3 с коэффициентами и
соответствующими расположениями пикселов
изображения.
суммы с пороговым значе-
У) +
(7.6-3)
на окрестности размерностью 3X3 точки (х, у).
Отметим, что использование окрестности не ограничивается
областями размерностью 3X3 и случаями, которые будут
приведены в дальнейшем, например снижение шума, получение
365
переменных порогов изображения, подсчет измерений
параметров изображения и формирование структуры объекта.
Методы частотной области. К частотной области относится
совокупность комплексных пикселов в виде преобразования
Фурье от изображения. Понятие «частота» используется при
интерпретации преобразования Фурье и вытекает из того факта,
что результат этого преобразования представляет собой сумму
синусоид. Из-за повышения требований к обработке результатов
методы частотной области не так широко используются в
техническом зрении роботов, как методы пространственной области.
Однако преобразоЬание Фурье играет важную роль при анализе
движения объекта и при описании объекта. Кроме того, многие
пространственные методы для улучшения качества и
восстановления изображения базируются на концепциях преобразования
Фурье. Более подробно преобразования Фурье и его свойства
изложены в работе [104].
Сначала рассмотрим дискретную функцию одной переменной
f(x), x==0, 1, 2, ..., N—1. Прямое преобразование Фурье от
f(x) определяется следующим образом:
n-i
F М ж Т Е f(jc) e-*2™*!" (7.6-4)
х = 0
для и = 0, 1, 2, ..., N — 1. В этом уравнении / = д/ — 1, а и —
частотная переменная. Обратное преобразование Фурье от F(u)
восстанавливает функцию f(x) и определяется в виде
ЛЛ— 1
/(*)=Е F(u)e№»*iN (7.6-5)
й-0
для а' = 0, 1, 2, ..., N— 1. Справедливость этих уравнений,
называемых парой преобразования Фурье, легко проверяется паШ .
становкой уравнения (7.6-4) для F(u) в уравй€ЙШ"^€^^Ш(1:^-?
наоборот. В обоих случаях получается тождество.
При прямом использовании уравнения (7.6-4) для и=*
= 0, 1, 2, ..., N—1 требуется — N2 операций сложения и
умножения. При применении быстрого преобразования Фурье
(БПФ) число операций сокращается до AMog2N, где
предполагается, что N — целая степень числа 2. То же самое
относится к уравнению (7.6-5) для л: —0, 1, 2, ..., N—1. Ряд;
алгоритмов БПФ реализуется на различных языках
программирования.
Прямое и обратное двумерные преобразования Фурье для
изображения размерностью /VXA/" определяются формулами
JV-1 Л'-1
F (uy v) = jf £ Y, f(x> у)е-*2п(»х+*У№ (7.6-6)
*-0 у~0
36G
дли и} и = 0, 1, 2, . .., N — 1 и
ЛГ-1 JV-1
/(х, У) = тТ, Z F("' e)*»w+*»V* (7.6-7)
для др^=0, 1, 2, ..., Л/—1. Можно показать, что каждое из
данных уравнений выражается в виде отдельных одноразмерных
|§|Шв форме уравнения (7.6-4). Это позволяет проводить пря-
,^1$< процедуру вычисления двумерного преобразования Фурье,
используя только одноразмерный БПФ-алгоритм. Сначала
вычисляются и запоминаются преобразования каждой строки
функции f(xt у) (образуется таким образом двумерный массив
промежуточных результатов). Полученные результаты
умножаются на N, и вычисляются одномерные преобразования каждого
столбца. Окончательным результатом является F(u} v).
Порядок вычисления строк и столбцов не влияет на конечный
результат.
Преобразование Фурье можно использовать, как это
показано в гл. 8, при решении многих задач систем технического
зрения. Например, с помощью представления границы объекта
в виде одномерного массива точек и вычисления их
преобразования Фурье полученные значения F(u) могут быть
использованы в качестве описания формы границы. Одномерное
преобразование Фурье является также эффективным при
обнаружении движения объекта. Ипользование дискретного двумерного
преобразования Фурье возможно при изменении, увеличении и
восстановлении изображений, хотя, как уже отмечалось,
применение этого метода в промышленных системах технического
зрения до сих пор ограничено сложностью требуемых
вычислений. В заключение отметим, что двумерное аналоговое
преобразование Фурье может быть осуществлено (со скоростью света)
оптическими средствами. Этот подход, требующий
использования прецизионного оптического оборудования, применяется в
промышленных условиях для решения таких задач, как
проверка качества поверхности металла после финишной обработки.
7.6.2. Сглаживание
Операции сглаживания используются для снижения шума и
других помех, которые могут появляться на изображении в
результате дискретизации, квантования, передачи или
возмущений внешней среды при получении изображения. Ниже
рассматриваются некоторые методы быстрого сглаживания,
которые могут быть использованы в системах технического зрения
роботов.
Усреднение окрестности. Усреднение окрестности является
прямым методом пространственной области для сглаживания
367
изображения. Для имеющегося изображения f(x, у) процесс
заключается в получении сглаженного изображения g(x, у),
интенсивность которого в каждой точке {ху у) равна усредненному
значению интенсивности пикселов функции /, содержащихся в
заданной окрестности точки (х, (/). Другими словами,
сглаженное изображение получается при использовании соотношения
(я, m)<= S
для всех х и у функции f(x, у). S — множество координат точек
в окрестности точки (л;, у), включая саму точку (х, у), а Р —
общее число точек в окрестности. Отметим путем сравнения
уравнений (7.6-8) и (7.6-3), что для окрестности размерностью
3X3 первое уравнение является частным случаем второго при
wi = !А- Конечно, уравнение (7.6-8) не ограничивается
применением квадратной формы окрестности, но, как указывалось в
разд. 7.6-1, эта форма наиболее предпочтительна для систем
технического зрения роботов.
Пример. На рис. 7.23 показан эффект сглаживания при
усреднении окрестности. Отметим, что степень сглаживания строго
пропорциональна размерности используемой окрестности.
В большинстве процессоров масок сглаженное значение
каждого пиксела определяется до того, как изменяются значения
других пикселов.
Усредненная фильтрация. Одной из принципиальных
трудностей усреднения окрестности является наличие расплывчатых
изображений кромок и других характерных деталей. Эта
расплывчатость часто может быть значительно умень^на^щ!;
использовании так называемых усредняющих фильтров, в
которых вместо рассмотренного усреднения интенсивность кажЩ||
пиксела заменяется средним значением интенсивности в
заданной окрестности пиксела. *ь&*?$Ш
Напомним, что среднее значение М ряда величин
предполагает, что часть этих величин имеет значение, меньшее Af,
а часть — превышающее М. Для осуществления усредненной
фильтрации в окрестности пиксела сначала выделяют значения
пиксела и его соседей, определяют среднее значение и
присваивают это значение пиксела. Например, в окрестности
размерностью 3X3 средним значением является пятая наибольшая
величина, в окрестности размерностью 5X5 — тринадцатая
наибольшая величина и т. д. Когда несколько значений в
окрестности равны, они группируются следующим образом,
Предположим, что окрестность размерностью 3X3 содержит
величины (10, 20, 20, 20, 15, 20, 20, 25, 100). Эти величины
группируются в виде (10, 15, 20, 20, 20, 20, 20, 25, 100), что приводит
к среднему значению 20. Таким образом, основным назначением
368
Е.™ г. Изо°Ражение с помехами а). Результат усреднения каждого
пиксела по его четырем соседям (б) и результаты использования окрестностей
соответственно с размерностями 3 X 3, 5 X 5, 7 X 7 и 11 X И (°вкЕ1")ностеи
369
усредненной фильтрации является выравнивание интенсивности
выделяющихся точек с интенсивностью соседних точек. Это
позволяет устранить появляющиеся в поле маски фильтра
изолированные пики интенсивности.
Рис. 7.24. Исходное изображение (а). Изображение с импульсным шумом (б)*
результат использования окрестности размерностью 5X5 (в) и результат
использования усредняющего фильтра размерностью 5X5 (г).
Пример. На рис. 7.24, а показано исходное изображение, а
па рис. 7.24,6 — то же самое изображение, но приблизительно
с 20 %-ным искажением пикселов «импульсным шумом». На
рис. 7.24, в приведен результат^ усреднения размерностью 5X5,
а на рис. 7.24, г — результат использования усредненного
фильтра размерностью 5Х 5. Преимущество усредненной фильтрации
перед усреднением окрестности очевидно. Три светлые точки,
оставшиеся на рис. 7.24, г, вызваны большой концентрацией
370
шума в этих точках, повлиявшей на вычисление среднего
значения. Повторное или многократное использование усредненного
фильтра позволяет устранить и эти точки.
йр^среднение изображения. Рассмотрим изображение с
пометами g(x9y), которое состоит из суммы шумового сигнала
п(х,у) и неискаженного изображения f(xt у), т. е.
g(x, y) = f(*> У) + п(х, у), (7.6-9)
где предполагается, что шум не коррелирован и имеет нулевое
среднее значение. Целью следующей процедуры является
получение сглаженного изображения путем задания ряда
изображений с помехами gi(x, у), i = 1, 2, ..., К.
Если характеристики шума удовлетворяют приведенным
ограничениям, несложно показать [224], что при формировании
изображения g(x,y) усреднением К различными изображениями
с помехами
к
g(x,y) = ±Y<gt(x,y) (7.6-10)
получим
E{g(xt y)} = f(x, у) (7.6-11)
и
о\(х, у) = ±в1(х,у), (7.6-12)
где E{g(x, у)} —ожидаемое значение g, а сг|(лг, у) и в2п(х, у)—
отклонения gun. Стандартное отклонение любой точки в
усредненном изображении равно
ов(х, у) = -±=вп(х, У). .(7.6-13)
Из уравнений (7.6-12) и (7.6-13) видно, что при возрастании
К отклонения значений пикселов уменьшаются. Поскольку
E{g(x>y)} =f{x,y)y то g(x,y) приближается к неискаженному
изображению f(x,y) при увеличении числа изображений с
помехами, используемых в процессе усреднения.
Необходимо отметить, что в рассмотренном методе
предполагалось фиксированное пространственное расположение
изображений с помехами при изменении только интенсивностей
пикселов.\Для систем технического зрения роботов это
означает, что все объекты в рабочем пространстве должны быть не
подвижны относительно камеры в процессе усреднения. Многие
системы технического зрения имеют возможность выполнения
полного цикла сложения изображений за один дискретный
интервал времени (т. е. за одну тридцатую секунды). Таким
образом, сложение, например, 16 изображений займет время
37!
a
. ■■■ ■ ■■■■■■■■■■■■• • '
Рис. 7.25. Исходное изображение с помехами (а) и результаты усреднения
с помощью 4, 3, 16, 32 и 64 подобных изображений (б —с).
порядка 0,5 с, в течение которого не должно быть движения
объектов.
Пример. МфроД усреднения проиллюстрирован на рис. 7.25.
На рис. 7.25, а показано исходное изображение с помехами,
ИрРрйс. 7.25,6—е приведены соответственно результаты усред-
■Шй этого изображения с помощью 4, 8, 16, 32 и 64 подобных
«Сражений. Отметим, что качество достаточно приемлемо
WtK— 32.
Р^глаживающие дискретные изображения. Дискретные изо-
Щжеиия получаются при использовании контурного или струк-
Жированного освещения (разд.
I) или при определении кромок
ти пороговых значений (разд. 7.6.4
7Д5). Условимся обозначать тем-
*е точки через 1, а светлые точки
"ерез 0. Таким образом, поскольку
гз0бражения состоят из двух
значений интенсивности, помехи в этом
Случае проявляются в виде таких
эффектов, как наличие размытых
границ, небольших окружностей,
стертых углов и отдельных точек.
Основная идея, лежащая в
основе рассматриваемых в данном
разделе методов, состоит в определении
булевой функции, вычисляемой в
окрестности с центром в пикселе р,
и в присвоении пикселу р значения 1
или 0 в зависимости от
пространственного расположения и дискретных значений соседних
пикселов. Из-за ограниченности допустимого времени вычисления
в производственных задачах, для решения которых применяется
техническое зрение, анализ обычно производится в диапазоне
восьми соседних с центральным пикселов. Это определяет
использование маски размерностью 3X3 (рис. 7.26). В процессе
сглаживания, во-первых, заполняются небольшие (размером
в один пиксел) пробелы на темных местах изображения, во-
вторых, ликвидируются небольшие дефекты в виде трещин на
прямоугольных сегментах, в-третьих, удаляются изолированные
единичные значения, в-четвертых, спрямляются небольшие
выпуклости вдоль прямоугольных сегментов и, в-пятых,
восстанавливаются утраченные угловые точки.
На рис. 7.26 два первых из указанных результатов
процесса сглаживания осуществляются с помощью булевого
выражения
а
d
f
b
Р
€Г
с
е
h
Рис. 7.26. Соседи пиксела /;,
используемые при сглаживании
дискретных изображений.
Темные пикселы обозначаются
через 1, а светлые — через 0.
Bl = p + b-g-(d + e) + d-e-(b + g),
(7.6-14)
373
где точка и плюс обозначают соответственно логические
операции И или ИЛИ. По условию темные пикселы, содержащиеся
в поле маски, обозначаются логической единицей, а светлые
пикселы — логическим нулем. Тогда, если В{ = 1, присваиваем
пикселу р значение 1, в противном случае — значение 0.
Уравнение (7.6-14) применяется одновременно ко всем пикселам,
так как следующее значение положения каждого пиксела
определяется до того, как изменяются значения других
пикселов.
Третий и четвертый результаты процесса сглаживания
реализуются с помощью определения булевого выражения
B2 = p-[(a+b + d)-(e + g + h) + (b + c + e)X
X(d + f + g)] (7.6-15)
одновременно для всех пикселов. Как и прежде, предполагается,
что р = 1 при #2 =ss 1 и р = 0 при В2 = 0.
Восстановление точек верхних правых углов производится
с помощью уравнения
Bz = p.(d>f.g)-(a + b + c + e + h) + pt (7.6-16)
где чертой обозначено логическое дополнение. Аналогично
восстанавливаются точки правых нижних, левых верхних и левых
нижних углов соответственно по уравнениям
BA = p.(a-b-d)- (c + e+f + g + h) +р9 (7.6-17)
В5 - Р • (* • g • А) ■ (a + b + c + d + f) + р (7.6-18)
и
В, = р • (6 • с • е) • (a + d + f + g + h) + р. (7,6*19)
Четыре последних уравнения дают пятый результат процесса f
сглаживания. \ /
Пример." ""Рассмотренный метод проиллюстрирован на!?
рис. 7.27. На рис. 7.27, а приведено дискретное изображение^
с помехами, а на рис. 7.27, б показан результат использования;!
выражения В\. Отметим, что при этом заполняются пробелы^
вдоль границы и внутри темной области изображения. На
рис. 7.27, в дана картина применения выражения В2 к
изображению на рис. 7.27, б. Как и ожидалось, устранились выпуклой!
сти на границе темной области, а также отдельные точки изо-|
бражения (изображение полностью заполнено нулями от своей
границы до границы темной области). Наконец, на рис. 7.27,3
374
I
|ij
i
t
i
i
ij"
и
i
i
i
t
i
1 i
i
i
i
i
i
I
i
5
1 I
I'i
i
i
j
i
j„
i
i
i
i
i
i
l
i
i
i
j
i
6
Рис. 7.27. Исходное изображение (а). Результаты использования выражений
Bi и Вг (б и в) и окончательный результат после использования выражений
Вз — В6 (г).
приведен результат использования выражений Вг — В6 к
изображению на рис. 7.27,6. В данном случае работает только
выражение б4.
7.6.3. Улучшение качества изображения
Одной из принципиальных трудностей во многих задачах
систем технического зрения нижнего уровня является
необходимость автоматической адаптации при изменении освещения.
Возможность компенсации таких эффектов, как тени и блики
на изображении, часто является решающей для успешного
выполнения дальнейшего алгоритма обработки информации.
Ниже рассматривается несколько методов решения этих и
подобных задач. Напомним, что улучшение качества является
375
^ты
основной целью при обработке цифрового изображения и
анализе объектов. Мы ограничимся дискретными методами,
пригодными для систем технического зрения роботов. Под
пригодностью здесь понимается наличие высокого быстродействия и
средней сложности используемого оборудования.
Гистограммное выравнивание. Пусть переменная г
обозначает интенсивность пикселов корректируемого изображения.
Сначала предположим, что г — нормализованная непрерывная
переменная, находящаяся в диапазоне 0 ^ г ^ 1.
Дискретный случай мы
рассмотрим немного ниже.
Для любого г на
интервале [0, 1]
выполняется преобразование вида
s = T(r),
которое определяет
значение интенсивности s
для значения каждого
пиксела г в исходном
изображении. Это
предполагает, что функция
преобразования Т
удовлетворяет условиям:
1. Т(г)— однозначная
и монотонно
возрастающая на интервале 0 ^
<Г(г)< 1.
2. О ^ Т(г) < 1 для 0 < г < 1.
Первое условие исключает переход с черной шкалы
интенсивности на белую, а второе условие гарантирует нахождение
интенсивности изображения в диапазоне от 0 до 1 для всех
значений пикселов. Функция преобразования, удовлетворяющая
этим условиям, показана на рис. 7.28.
Функция обратного преобразования от s к г имеет вид
r^T'{(s\ (7.6-21)
где предполагается, что функция T~l (s) удовлетворяет двум
указанным выше условиям. j
Переменные интенсивности г и s квантуются на интервале
[О, 1] случайным образом и, следовательно, могут
характеризоваться с помощью соответствующих функций плотности
вероятности (ФПВ) рг(г) и ps{s). Основная тональность
изображения зависит от ФПВ интенсивности. Например, изображение
с пикселами, имеющими ФПВ, которая приведена на рис. 7.29, а,
будет обладать достаточно темной тональностью, поскольку
большинство значений пикселов сконцентрировано на темном
Рис. 7.28. Функция преобразования
интенсивности.
376
участке шкалы интенсивности. С другой стороны, изображение^
ЩШШ^ф^^'ЬШсёлы имеют распределение интенсивности,
соответствующее рис. 7.29,6, будет состоять в основном из светлых
щЬнов.
Шг)
Рис. 7.29. ФПВ интенсивности темного изображения (а) и светлого
изображения (б).
Из теории вероятности следует, что, если рг(г) и Т (г)
известны, a T~l(s)—удовлетворяет первому условию, то ФПВ
преобразованной интенсивности имеет вид
Ps(s) = [pr(r)£\ - " (7-6"22>
Предположим, что задана функция преобразования вида
г
s = T(r)=\pr(w)dw, 0<г<1, (7.6-23)
U
где w — вспомогательная переменная интегрирования. Правая
часть этого уравнения представляет собой интегральную
функцию распределения рг(г), которая удовлетворяет двум
приведенным выше условиям. Производная по 5 от г для данной
функции преобразования легко определяется выражением
ds , ч
(7.6-24)
Подставляя dr/ds в уравнение (7.6-22), получим
p.w-[frWfrWLr-w"[1Ur",«"1, 0<e<1- (7-6-25)
Данное выражение представляет собой равномерную плот-
ность на интервале существования преобразуемой переменной
5. Отметим, что полученный результат не зависит от обратной
функции преобразования. Это важно, так как часто аналитиче-
377
ское определение T~[(s) представляет большие трудности.
Необходимо также отметить, что использование функции
преобразования, заданной уравнением (7.6-23), дает новую
интенсивность, которая всегда имеет новую ФПВ, не зависящую от
формы рг{г). Данное свойство идеально соответствует
автоматической коррекции. Основной эффект рассмотренного
преобразования заключается в выравнивании распределения интен-
сивностей. Как показано ниже, это существенно влияет на
качество изображения.
Для использования в цифровой обработке изложенный
способ должен быть сформулирован в дискретной форме. Для ин-
тенсивностей рассматриваемых дискретных величин вероятности
задаются соотношением
Мга)--^, 0<г*<1, £ = 0, 1, 2, ..., L-1, (7.6-26)
где L — число дискретных уровней интенсивности, рг{гк)—
оценка вероятности интенсивности />, пи — число появлений
данной интенсивности на изображении, а п — общее число
пикселов на изображении. График зависимости рг{гк) от г и обычно
называют гистограммой, а метод, используемый для получения
равномерной гистограммы, известен и как гистограммная
коррекция или гистограммная линеаризация.
Дискретная форма уравнения (7.6-23) имеет вид
k k
sk = T (rk) = £ -£ - £ pr (г,) (7.6-27)
для 0 ^ rk ^ 1 и k = 0, 1, 2, ..., L—1. Из этого уравнения
следует, что для получения значения s*, соответствующего г*,
производится простое суммирование элементов гистограммы от
О до rk.
Обратное дискретное преобразование имеет вид
г* —ЗПЧ**). 0<s*<l, (7.6-28)
где предполагается, что как Г(/>), так и T-[(sk) удовлетворяют
двум указанным выше условиям. Хотя функция Т~] (sa) не
используется в гистограммной коррекции, она играет основную
роль в гистограммной детализации; рассматриваемой ниже.
Пример. Для иллюстрации гистограммного выравнивания
на рис. 7.30, а показано исходное изображение, а на
рис. 7.30,6 — его гистограмма. Результат использования
уравнения (7.6-27) для этого изображения приведен на рис. 7.30,<з,
а соответствующая выровненная гистограмма — на рис. 7.30, г.
Лучшее изображение деталей на скорректированной картине
очевидно. Отметим, что при этом гистограмма не является
совершенно ровной, что обычно происходит, когда для дискрет-
378
ных величин используется метод, полученный для непрерыв-
г кш'мличин.
|^^ Метод задания гистограммы. Гистограммное выравнивание
г 'удобно для автоматической коррекции, поскольку оно основана
на функции преобразования, т. е. однозначно определяется
с помощью гистограммы исходного изображения. Однако этот
метод ограничен в том смысле, что в нем используется только
функция гистограммной линеаризации. Этого недостаточно,
Рис. 7.30. Исходное изображение (а) и его гистограмма (б). Изображение
с выровненной гистограммой (в) и его гистограмма (г) [315].
когда исходной информацией является желаемая форма
выходной гистограммы. Обобщим теперь гистограммный способ
на случай получения изображения с гистограммой
определенной интенсивности. Как показано ниже, гистограммное
выравнивание является частным случаем этого метода.
Сначала оперируем с непрерывными величинами. Пусть
рг(г) и pz(z)—соответственно исходная и желаемая ФПВ
интенсивности. Предположим, что заданное изображение с первой
гистограммой выровнено с помощью уравнения (7.6-23), т. е.
г
8 = Т (г) = \ pr (w) dw. (7.6-29)
о
379
Если желаемое изображение было бы доступно, его уровни
интенсивности также могли бы быть выробнены с
использованием функции преобразования
z
v = G (z) = J pz (ш) dw. (7.6-30)
о
Тогда бы обратное преобразование z=G~l(v)
восстанавливало желаемые первоначальные уровни. Это, конечно,
гипотетическое утверждение, поскольку уровни z — именно то, что
необходимо получить. Отметим, однако, что ps(s) и Pv(v)
будут идентичными равномерными плотностями, так как
использование уравнений (7.6-29) и (7.6-30) обеспечивает
равномерную плотность независимо от формы ФПВ под интегралом.
Таким образом, если вместо применения v в обратном
преобразовании использовать обратные уровни s, полученные из
исходного изображения, то результирующие уровни z = G~l(s)
будут иметь желаемую ФПВ pz(z). В предположении, что
G~l(s) является однозначной функцией, алгоритм можно
обобщить следующим образом:
1. Выровнять уровни интенсивности исходного изображения
с помощью уравнения (7.6-29).
2. Определить желаемую ФПВ интенсивности и получить
функцию преобразования G(z), используя уравнение (7.6-30).
3. Осуществить обратное преобразование z = G~l(s) к
уровням интенсивности изображения с выровненной по п. 1
гистограммой.
Этот алгоритм дает выходное изображение с заданной ФЙВ
интенсивности.
Два требуемых для определения гистограммы
преобразования Г (г) и G~\(s) можно объединить в одно преобразование
z = G-l(s) = G~[[T(r)], (7.6-31)
которое связывает г с г. Отметим, что при G-1 [Т(г)] = Т(г)
этот метод сводится к гистограммному выравниванию.
Из уравнения (7.6-31) видно, что исходное изображение не |
нуждается в точном гистограммном выравнивании ддя
определения гистограммы. При этом требуется только, чтобы функция
Т(г) зависела и связывалась с G-l(s) одним преобразованием,
т. е. могла быть применена непосредственно к исходному
изображению. Основная трудность использования двух
преобразований или их совместного выражения (7.6-31) для непрерывных
переменных заключается в аналитическом определении
обратной функции. В дискретном случае эта проблема упрощается
из-за обычно сравнительно небольшого (например, 256) числа
отдельных уровней, что делает осуществимым подсчет и
хранение информации о каждом возможном целом значении пиксела.
380
Формулировка данного алгоритма для дискретного случая
<шхдна ъ дискретным выражением, рассмотренным в
предыдущем-разделе:
'-& >^-^. ..'
с -• sk = Т (гк) = Е рг (гД (7.6-32)
(А'
i
/-о
(7.6-33)
(7.6-34)
где рг(г/) вычисляется из исходного изображения, a Pz(zj)
задается. 1
Рис. 7.31. Исходное изображение (о) и результат гистограммного
выравнивания (б). Заданная гистограмма (в) и результат использования метода
задания гистограммы (г) [315].
Пример. Иллюстрация метода задания гистограммы
приведена на, рис. 7.31. На рис. 7.31, а показано исходное
изображение, а на рис. 7.31,6 —результат выравнивания. На рис. 7.31, в
изображена заданная гистограмма, а на рис. 7.31, г —
результат использования этой гистограммы с помощью
рассмотренного алгоритма. Отметим, что в данном случае применение
381
гистограммного выравнивания мало влияет на качество
изображения.
^Локальное улучшение качества. Приведенные методы
гистограммного выравнивания и задания гистограммы являются
общими в смысле изменения интенсивности пикселов с помощью
функции преобразования на всем поле изображения. Хотя эти
методы дают общее улучшение качества, часто необходимо
выделить детали на достаточно малых участках изображения.
Поскольку качество пикселов на этих участках может мало
влиять на вычисления при преобразовании всего изображения,
использование общих методов редко приводит к улучшению
качества на малых участках. Решением данной проблемы
является усовершенствование функций преобразования,
основанных на распределении интенсивности или на других
свойствах, в окрестности каждого пиксела заданного изображения.
Рассмотренные выше гистограммные методы легко
трансформируются для локального улучшения качества.
Трансформация заключается в определении окрестности размерностью
пХ/пив перемещении ее центра от пиксела к пикселу, В
каждом положении вычисляется гистограмма точек в данной
окрестности и определяется функция преобразования
гистограммного выравнивания или функция преобразования метода
задания гистограммы. Эта функция служит для отображения
интенсивности пиксела, расположенного в центре окрестности.
Затем центр участка размерностью пУСт перемещается на
соседний пиксел и процесс повторяется. Поскольку при
перемещении участка от пиксела к пикселу меняется только один
новый ряд или столбец окрестности, то можно осущестэШь
пересчет гистограммы, полученной для предыдущего полажейия
с новыми параметрами, появляющимися на каждом шаге
движения. Этот метод имеет очевидные преимущества перед
методом с повторяющимися вычислениями гистограммы всех точек
области пУ^т при ее перемещении каждый раз на один
пиксел. Другим способом, часто используемым для упрощения
вычислений, является применение непересекающихся областей.
Это, однако, приводит к появлению нежелательного
шахматного распределения интенсивности на изображении.
Пример. Локальное гистограммное выравнивание с
перемещением окрестности от пиксела к пикселу проиллюстрировано
на рис. 7.32. На рис. 7.32, а показано изображение с пятью
темными квадратными участками на фоне с постоянной
интенсивностью. Изображение слегка расплывчато в результате
использования маски размерностью 7X7 для уменьшения шума
(разд. 7.6.2). На рис. 7.32,6 приведен результат
гистограммного выравнивания. Наиболее характерной особенностью этого
изображения является увеличение помех, что обычно
происходит при использовании в этом методе изображений с шумом,
332
|р£ они были предварительно сглажены перед
выравниванием. На рис. 7.32, в показан результат локального гисто-
граммного выравнивания с применением окрестности
размерностью 7X7. Отметим, что на темных участках изображения
обнаружилась внутренняя структура, которая не была видна
ни на одном из двух предыдущих изображений. Помехи по
Ч.\ J*>*
**'*•" *Г^<' $V *""*'* v"7
•>" ** **
\* . V ^* JM.
Рис. 7.32. Исходное
изображение (а) и результат общего
гистограммного выравнивания
(б). Результат локального
гистограммного выравнивания с
использованием окрестности
размерностью 7X7 для
каждого пиксела (в).
сравнению с исходным изображением выросли, но их величина
намного меньше, чем на втором изображении, благодаря
локальности метода. Этот пример наглядно показывает необходимость
локального улучшения качества, когда интересующие детали
слишком малы, чтобы существенно влиять на общие
характеристики методов обработки целого изображения.
Качество изображения на локальных участках можно
улучшать, используя другие параметры интенсивностей пикселов
в окружности. Двумя такими часто используемыми
параметрами являются среднее значение интенсивности и изменение
интенсивности (или стандартное отклонение). Среднее
значение— это мера средней яркости, а изменение интенсивности-
383
мера контрастности изображения. Типичное локальное
преобразование, основанное на этих параметрах, переводит
интенсивность исходного изображения f{x7y) в интенсивность нового
изображения g(x,y) путем осуществления следующей
операции над расположением (х, у) каждого пиксела:
8 (х> У) = Л (х9 у) [f (х, у) — т (дс, у)] + т (х, у), (7.6-35)
где
А (х, y) = k
м
а (х, у)
0<k< 1.
(7.6-36)
В этой записи т(х,у) и о(х, у)—соответственно среднее
значение интенсивности и стандартное отклонение, подсчитан-
Рис. 7.33. Изображения до (а) и после (б) локального улучшения качества
[207].
ные для окрестности с центром в точке, (х, у), М — среднее
значение всей функции f(x,y), a k — постоянная из указанного
диапазона.
Важно отметить, что Л, т и о — переменные величины,
которые зависят от заданной окрестности точки (*,(/).
Локальные изменения увеличиваются за счет умножения разности
между f(x,y) и локальным средним значением Шй мокт&тШ
коэффициент А(х>у). Поскольку величина А(х,у) обратйо
пропорциональна стандартному отклонению интенсивности,
участки с низкой контрастностью имеют большее усиление.
Среднее значение подставляется снова в уравнение (7.6-35) для
восстановления среднего уровня интенсивности изображения на
локальном участке. На практике желательно подставлять часть
среднего значения и ограничивать изменение функции А(х>у]
в пределах [ЛМин,Лмакс] для уравновешивания больших откло*
нений интенсивности на отдельных участках. ,
384
Пример. Оборудование для реализации метода улучшения
качества изображения и способ обработки изображения в
реальном масштабе времени (т. е. со скоростью 30 кадров в 1 с)
описаны в работе [207]. Пример возможностей метода, исполь-
■рвдего локальный участок размером 15X15 пикселов, приве-
Пр* на рис. 7.33. Заметно улучшение качества изображения де-
ргалей на границе между двумя областями различных интенсив-
щостей, а также улучшение воспроизведения интенсивности
-внутри каждой из этих областей.
7.6.4. Определение кромок
Определение кромок занимает центральное место при
обработке информации в системах технического зрения,
представляя собой начальный этап реализации многочисленных
алгоритмов идентификации объектов. В этой главе рассматриваются
основные методы определения точек кромок. Способы
последующей обработки этих точек излагаются в гл. 8.
Основные положения. Основным принципом большинства
методов определения кромок является вычисление частных
производных. Поясним это положение с помощью рис. 7.34.
На рис. 7.34, а приведены изображение светлого объекта
простой формы на темном фоне, кривая интенсивности вдоль
горизонтальной линии сканирования изображения, а также
первая и вторая производные этой кривой. Отметим, что участки
кривой, соответствующие кромке (переход от темной области
к светлой), представляют собой наклонные, а не вертикальные
линии, какие должны быть в случае резкого изменения
интенсивности. Это отражает тот факт, что кромки на цифровом
изображении в результате дискретизации обычно слегка
размыты.
В указанной модели кромки первая производная всех
участков кривой с постоянной интенсивностью равна нулю и
является постоянной величиной на участках изменения
интенсивности. С другой стороны, вторая производная равна нулю на
всех участках, кроме начальных и конечных точек изменения
интенсивности. С учетом этого очевидно, что величина первой
производной может быть использована для обнаружения
наличия кромки, а знак второй производной — для определения
того, на темной (фон) или на светлой (объект) стороне кромки
располагается пиксел кромки. Например, знак второй
производной (рис. 7.34, а) положителен для пикселов,
расположенных на внешних сторонах кромок объекта, и отрицателен для
пикселов внутренних светлых сторон этих кромок. Те же
рассуждения справедливы для случая нахождения темного
объекта на светлом фоне (рис. 7.34.6), Отметим, что знак второй
13 К. Фу и др.
385
производной при этом также позволяет определить переход
интенсивности на кромке.
Хотя данное рассмотрение ограничивается одномерным
горизонтальным профилем, аналогично можно определять кромки
при любой их ориентации на изображении. Для этого изучается
ЛзоЗра-
Ofcenue
КриЗая
интенсивности по
горизонтальной
линии
нтен-1 /—к '
ino j/ \|
шьнои\1\ Д|
—\\ \\—-
ЛерЗая
производная
Вторая про из-
Зодная
Н
р
1Г
н
а *
Рис. 7.34. Определение кромок с помощью производных, а) — светлый объект
на темном фоне, б) — темный объект на светлом фоне.
профиль, перпендикулярный к направлению кромки в любой
заданной точке, а результаты находятся указанным выше
образом. Как показано ниже, первая производная в любой точке
изображения получается из величины градиента в этой точке,
а вторая производная определяется с помощью преобразования
Лапласа.
386
Вычисление градиента. Градиент изображения f (х, у) в точке
\х, у) опрфЩШёШ как двумерный вектор
г df -,
Gx\ = \ df [ (7-6"37>
Из векторного анализа известно, что вектор G указывает
|Шн>авление максимального изменения функции / в точке
(х,у). Однако при определении кромок представляет интерес
Щшфшнъ этого вектора» называемого обычно градиентом и
§|ршачаемого как G[f(x,y)], где
W О [f (х, у)} - [0« + 0J]* - [(^)2 + (-£)*]* • (7.6-38)
На практике, как правило, градиент аппроксимируется
абсолютными значениями
G[f(x, y)]e*\QK\ + \G,\. (7.6-39)
Эта аппроксимация значительно упрощает реализацию
метода, в особенности при использовании распространенного
оборудования.
Из уравнения (7.6-38) следует, что вычисление градиента
основано на нахождении первых производных df/dx и df/dy.
Для цифрового изображения это можно сделать несколькими
путями. Один из подходов состоит в использовании разности,
между соседними пикселами
Gx = -Sr=f(x,y)~-f(x-~ 1, У),
Gu
дх
ду
= f(x, y) — f(x, У— 1).
(7.6-40)
(7.6-41)
G*= дх
Несколько более сложный способ включает пикселы в
окрестности размерностью 3 X 3 с центром в точке (л:, у):
-[/(*+1, y-l) + 2f(x+l, y) + f(x+l, y+l)]-
-[f(x-l,y-l) + 2f(x-l,y) + f(x-l,y+l)] =
= (g + 2/г + i) -(a + 2b + c), (7.6-42)
[(.v-1, y+\) + 2f(x, y+l) + f(x+l, y+\)}-
\) + 2f(x, y-l) + f(x+\, y-l)} =
Gy-
df
: dy
-lf(x-l, у
= (c + 2e + i)-(a + 2d + g),
(7.6-43)
где буквы от а до i обозначают соседние точки центра (х,у).
Окрестность размерностью 3X3 точки (х, у) в упрощенной
13*
387
записи показана на рис. 7.35, а. Отметим, что ближайшие
к точке (х,у) пикселы в данном варианте определения
производных цифрового изображения имеют значение, равное 2.
Вычисление градиента в области размерностью 3X3 имеет преимущество
по сравнению с использованием уравнений (7.6-40) и (7.6-41)
в смысле большего усреднения, что делает градиент менее
чувствительным к помехам. В принципе возможно применение и
более широких окрестностей для нахождения градиента, но
а
d
0
Ь
(*,У)
h
с
е
i
-1
0
1
-2
0
г
-1
0
1
-1
-2
-1
S
Рис. 7.35. Окрестность
размерностью 3X3
точки (х, у) (а) и маскн
для вычисления Gx и G9
(б и в).
в промышленных системах технического зрения распространено
использование размерности 3X3 благодаря высокой скорости
вычислений и умеренным требованиям к оборудованию для
этого случая.
В соответствии с изложенным в разд. 7.6.1 значение jQx но
уравнению (7.6-42) можно определить с помощью маски
(рис. 7.35, б). Аналогично находится и значение Gy (рис. 7.35, в).
Эти две маски обычно называются операторами Собеля.
Использование данных масок в произвольной точке (#, у)
сочетает в себе результат применения уравнений (7,6-38) или (7.6-39)
в виде аппроксимации градиента в этой точке. Перемещая
маски по изображению f(x,y), получают градиенты во всех его
точках.
Существует множество способов формирования выходного
изображения g(x,y)y основанных на вычислении градиента.
Простейшим способом является задание функции g в .точке
388
(х,у) значения, равного величине градиента входного
изображения / в этой точке, т. е.
!(x>y) = G[f(x,y)).
Пример использования такого подхода при получении
градиентного изображения приведен на рис. 7.36.
(7.6-44) I
.Рис. 7.36. Исходное изображение (а) и результат использования уравнения
(7.6-44) (б).
Другим способом получения дискретного изображения
является применение следующих соотношений:
г(*> У)-
( 1 при
\ 0 при
G[f(x, y)]>T9
G[f(xty)]^T)
(7.6-45)
где Г — неотрицательная пороговая величина. В этом случае
.йрШю^.аначения только пикселы кромки, градиенты которых
Нрейншают величину Т. Таким образом, использование
уравнения (7.6-45) может рассматриваться как процесс выделения
только тех пикселов, которые характеризуются значительным
(определенным величиной Т) перепадом интенсивности.
Дальнейший анализ полученных пикселов обычно требует стирания
отдельных точек и связывания пикселов вдоль соответствующих
контуров, которые однозначно определяют объекты на
изображениях. Применение для этих целей уравнения (7.6-45)
рассматривается и иллюстрируется в разд. 8.2.1.
Оператор Лапласа. Оператор Лапласа является оператором
производных второго порядка вида
HfU. *>]-■& + $• •
(7.6-46)
389
Для дискретных изображений оператор Лапласа
определяется следующим образом:
L[f(x, y)] = [f(x+l, y) + f(x- l, y) + f(x, y+l) +
+ f(x,y-l)]-4f(x,y). (7.6-47)
Эта цифровая запись оператора Лапласа дает нуль на участках
постоянной интенсивности и на участках изменяющейся
интенсивности на кромках, что характерно
для производной второго порядка.
Решение уравнения (7.6-47) может быть
основано на применении маски, данной
на рис. 7.37.
Хотя, как было отмечено в начале
этого раздела, оператор Лапласа
определяет переход интенсивности, он редко
сам по себе используется для
нахождения кромки. Дело в том, что, являясь
оператором производных второго
порядка, оператор Лапласа дает результат
обычно очень чувствительный к помехам.
Таким образом, этот оператор, как
правило, выполняет второстепенную роль при определении, на
кадкой из сторон (темной или светлой) кромки находится данный
пиксел.
0 10
1-4 1
0 1 0
Рис. 7.37. Маска для вы
числения оператора Лап
ласа.
7.6.5. Пороговое разделение
Пороговое разделение является одним из основных методов,
используемых в промышленных системах технического зрения
для обнаружения объектов, особенно в случаях, когда требуется
наличие высокой пропускной способности системы. В данном
разделе рассматриваются особенности порогового разделения*
которые относятся к нижнему уровню обработки информации.
Применение порогового разделения на более высоком уровне
обработки излагается в гл. 8.
Предположим, что гистограмма интенсивности (рис *J7*38, а}
соответствует изображению f(x, у), состоящему иахййеглых
объектов на темном фоне. При этом интенсивности пптёЯШ оф&еш*
тов и фона разделяются на две выделяющиеся части. Одним из
очевидных путей отделения объектов от фона является выбор
порогового значения Г, которое разделяет эти группы интенсив-
ностей. Тогда любая точка {х, у), для которой f(x, у) > 7\
принадлежит объекту, а в противном случае — фону. Несколько
более общий вариант этого подхода показан на рис. 7.38, б, где
гистограмма изображения характеризуется тремя отдельными
частями, соответствующими, например, двум светлым объектам
mill
L.f.illl
T
a
«а темном фоне. В этом случае используется тот же подход, и
точка {х, у) классифицируется как принадлежащая к первому
объекту при Г1</(х, у) ^ Г2, ко второму объекту при
{(х,у) > 7*2 и к фону при f(x, у) ^ Т{.
Данный вариант многоуровнего порогового разделения
обычно менее надежен, чем одноуровневый вариант, из-за трудности
установки нескольких
пороговых значений,
которые Эффективно
разделяли бы интересующие
области гистограммы,
особенно когда их число
достаточно велико. Обычно
такие задачи при
использовании порогового раз-
щщения лучше решаются
с помощью одной
меняющейся пороговой
величины (гл. 8).
.* В соответствии с
изловленным подходом можно
рассматривать пороговое
разделение как
операцию, включающую
действия с функцией Т в виде
Т = Т[х, у, р(х, у\
fix, у)), (7.6-47)
где f(x,
у)—интенсивность точки (х, j/), a p(х,
у) обозначает некоторое
частное свойство этой
точки, например
среднюю интенсивность
окрестности с центром в
точке (х, у). Пороговое изо-
fhUll
iLuLi
5
Рис. 7.38. Гистограммы интенсивности,
которые могут быть разделены с помощью
(а) одного порогового значения и {б)
нескольких пороговых значений.
Сражение получается путем определения
(1 при f(x, г
*te|f)-l0 при f(x, г
У)>Т,
у)<т.
(7.6-48)
Таким образом, на изображении g(x, у) пикселы со
значением 1 (или с любым другим соответствующим уровнем
интенсивности) относятся к объектам, в то время как пикселы со
значением 0 относятся к фону.
391
Когда величина Т зависит только от f(x, у),.порог называется
глобальным. Пример такого порога приведен на рис. 7.38, а.
Если величина Т зависит как от f(x,y), так и от р(хуу), то
порог называется локальным. Если к тому же величина Т зависит
от пространственных координат х и у, порог называется дина-
мическим. К нижнему уровню технического зрения относят
методы порогового разделения, которые основаны на одной
глобальной величине Т. Поскольку пороговое разделение играет
Рис. 7.39. (а) Исходное изображение,
(б) Гистограмма интенсивности в
диапазоне от 0 до 255, (в)
Изображение, полученное по уравнению (7.6-48),
с глобальным порогом Т — 90.
центральную роль при выделении объектов, его более сложные
варианты относятся к среднему уровню технического зрения.
Простой пример глобального порогового разделения показан на \
рис. 7.39. ~ *~4
7,7. ЗАКЛЮЧЕНИЕ
Представленный в этой главе материал охватывает широкий
круг методов обработки информации, обычно относящихся к
нижнему уровню технического зрения. Как отмечено в разд. 7.1,
системы технического зрения решают пространственные задачи,
и большинство алгоритмов (особенно на нижнем уровне) осно-
ваны на изображениях трехмерных объектов. Важными методами
для получения информации о глубине изображения являются
методы измерения, изложенные в разд. 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. Какой объем памяти требуется для запоминания информации
изображения размерностью 512X512, в котором каждый пиксел может иметь
256 значений интенсивности.
7.2. Предложите метод, в котором используется одна световая плоскость
для определения диаметра цилиндрических объектов. Предполагается, что
используется линейная камера с разрешающей способностью в N пикселов, а
также что расстояние между камерой и центром цилиндров постоянно.
393
7.3. (а) Рассмотрите точность вашего решения задачи 7.2 с точки зрения
разрешающей способности камеры (N точек на одной линии) и
максимального диаметра цилиндра, DMaKC. (б) Какова максимальная ошибка, если N
равно 2048, a DKaKC = 1 м?
7.4. Определите изображение пространственной точки с координатам»
(1/2, 1/2, V2/2) лежащей на оптической оси камеры, размещенной в точке
(0, 0, 2) под углом 135° с наклоном 135°. Предполагается, что используется,
50-мм линза, а п = гг = гз = 0.
7.5. Из уравнения (7.4-41) получите уравнения (7.4-42) и (7.4-43).
7.6. Покажите, что расстояние D4 между двумя точками р и q равно-
кратчайшему из четырех путей между этими точками.
7.7. Покажите, что метод преобразования Фурье для подсчета F(u\
может быть использован без вычисления обратных преобразований.
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. Результаты, полученные за один проход через изображение
некоторых двумерных масок, могут быть получены также с помощью двух
проходов одномерной маски. Например, результат использования сглаживающей
маски размерностью 3 X 3 с коэффициентами 1/9 (см. п. 7.6.2) может быть
получен также с помощью одного прохода через изображение маски [1 1 1)
ГЧ
и второго прохода через маску 1 • Полученный результат умножается
на 1/9. Покажите, что маски Собеля (рис. 7.35) могут быть получены с
помощью одного прохода дифференциальной маски вида [—1 0 1] (или ее
вертикального эквивалента), а также сглаживающей маски вида [I 2 J-J (влд
ее вертикального эквивалента). .., ъ,н :£'■
7.14. Покажите, что дискретное преобразование Лапласа, данное в
уравнении (7.6-47), пропорционально с коэффициентом —1/4 вычитанию из f(xty)
среднего четырех соседей (*, у).
Глава 8.
СИСТЕМЫ ТЕХНИЧЕСКОГО ЗРЕНИЯ
высокого уровня
Только художник может создать
произведение, которое затрудняет
восприятие.
Теодор Гилл
8Л. ВВЕДЕНИЕ
С целью классификации методов и подходов, используемых в
системах технического зрения, мы рассмотрели в разд. 7.1 три
основных подкласса: зрение низкого, среднего и высокого
уровней. Системы технического зрения низкого уровня, подробно
рассмотренные в гл. 7, предназначены для обработки
информации с датчиков очувствления.
Эти системы можно отнести к классу «интеллектуальных»
машин, если они обладают следующими признаками
(признаками интеллектуального поведения):
1) возможностью выделения существенной информации из
множества независимых признаков;
2) способностью к обучению на примерах и обобщению этих
знаний с целью их применения в новых ситуациях;
3) возможностью восстановления событий по неполной
информации;
4) способностью определять цели и формулировать планы
для достижения этих целей.
Создание систем технического зрения с такими свойствами
для ограниченных видов рабочего пространства в принципе
возможно, но характеристики таких систем далеки от возможностей
человеческого зрения. В основе технического зрения лежит
аналитическая формализация, направленная на решение
конкретных задач. Машины с сенсорными характеристиками, близкими
к возможностям человека, по-видимому, появятся еще не скоро.
Однако отметим, что копирование природы не является
единственным решением этой проблемы. Читателю наверняка известны
ранние экспериментальные образцы аэропланов с машущими
крыльями и другими особенностями полета птиц. Современное
решение задачи о полете в пространстве в корне отличается от
решений, подсказанных природой. По скорости и достижимой
высоте самолеты намного превосходят возможности птиц.
Как уже говорилось в разд. 7.1, системы технического зрения
среднего уровня связаны с задачами сегментации, описания и
393
распознавания отдельных объектов. Как будет видно из
следующих разделов, эти задачи охватывают множество подходов,
основанных на аналитических представлениях. Системы
технического зрения высокого уровня решают проблемы, рассмотренные
выше. Для более ясного понимания проблем технического
зрения высокого уровня и его связи с техническим зрением низкого
и среднего уровней введем ряд ограничений и упростим
решаемую задачу.
8.2. СЕГМЕНТАЦИЯ
; Сегментацией называется процесс подразделения сцены на
составлящие части или объекты. Сегментация является одним
из основных элементов работы автоматизированной системы
технического зрения, так как именно на этой стадии обработки
объекты выделяются из сцены для дальнейшего распознавания
и анализа. Алгоритмы сегментации, как правило, основываются
на двух фундаментальных принципах: разрывности и подобии.
В первом случае основной подход основывается на определении
контуров, а во втором — на определении порогового уровня и
расширении области. Эти понятия применимы как к
статическим, так и к динамическим (зависящим от времени) сценам.
В последнем случае движение может служить мощным
средством для улучшения работы алгоритмов сегментации.
8.2.1. Проведение контуров и определение границы
Методы, приведенные в разд. 7.6.4, определяют разрывы в
интенсивности представления образа объекта. В идеальном
случае эти методы определяют пикселы, лежащие на границе
между объектом и фоном. На практике данный ряд пикселов редко
полностью характеризует границу из-за шума, разрывов на
границе вследствие неравномерной освещенности и других
эффектов, приводящих к размытию изображения. Таким образом,
алгоритмы обнаружения контуров сопровождаются процедурами
построения границ объектов из соответствующих
последовательностей пикселов. Ниже рассмотрено несколько методик,
пригодных для этой цели.
Локальный анализ. Одним из наиболее простых подходов
соединения точек контура является анализ характеристик
пикселов в небольшой окрестности (например, в окрестности
размером 3X3 или 5X5) каждой точки (х> у) образа, который
уже подвергся процедуре обнаружения контура. Все точки,
являющиеся подобными (определение критерия подобия дано
ниже), соединяются, образуя границу из пикселов, обладающих
некоторыми общими свойствами.
396
При таком анализе для установления подобия пикселов
контура необходимо определить: 1) величину градиента, требуемого
для построения контурного пиксела, и 2) направление
градиента. Первая характеристика обозначается величиной G[f(x, у)]г
определенной в уравнении (7.6-38) или (7.6-39). Таким образом,
пиксел контура с координатами \х\ у') подобен по величине в
определенной ранее окрестности (х> у) пикселу с координатами
(х, у)у если справедливо неравенство
\G{f(xty)]-G[f(x',tf))\^T, (8.2-1)
где Г—пороговое значение.
Направление градиента устанавливается по углу вектора
градиента, определенного в уравнении (7.6-37), т. е.
e = arctg[|^], (8.2-2)
где 0 — угол (относительно оси х), вдоль которого скорость
изменения имеет наибольшее значение, как показано в разд. 7.6.4»
Тогда можно сказать, что угол пиксела контура с
координатами {х\ у') в некоторой окрестности (л:, у) подобен углу пиксела
с координатами (х, у) при выполнении следующего неравенства:
|е-е'|<Л, (8.2-3)
где А — пороговое значение угла. Необходимо отметить, что
направление контура в точке (я, у) в действительности
перпендикулярно направлению вектора градиента в этой точке. Однако
для сравнения направлений неравенство (8.2-3) дает
эквивалентные результаты.
Основываясь на этих предположениях, мы соединяем точку
в некоторой окрестности (х, у) с пикселом, имеющим
координаты (jc, у), если удовлетворяются критерии по величине и
направлению. Двигаясь от пиксела к пикселу и представляя
каждую присоединяемую точку как центр окрестности, процесс
повторяется для каждой точки образа. Для установления
соответствия между уровнями интенсивности освещения и
последовательностями пикселов контура применяется стандартная
библиотечная процедура.
Пример. В качестве иллюстрации описанной выше
процедуры рассмотрим образ задней дверцы автомобиля, приведенный на
рис. 8.1, а. Цель состоит в определении размеров
прямоугольников, с помощью которых можно построить качественное
изображение. Построение таких прямоугольников осуществляется в
результате определения строго горизонтальных и вертикальных
контуров. На рис. 8.1,6 и в показаны горизонтальные и
вертикальные компоненты операторов Соболя, рассмотренные в
разд. 7.6.4. На рис. 8.1, г показаны результаты соединения точек,
которые одновременно имеют градиенты больше 25 и направле-
397
ния этих градиентов отличаются не более чем на 15 градусов.
Горизонтальные линии построены путем последовательного
применения этих критериев к каждой строке изображения
(рис 8.1,е), а вертикальные линии — последовательным
сканированием изображения (рис. 8.1,6) по столбцам. Дальнейший
Рис. 8.1. Исходный образ (а), горизонтальная состаълякШ0^Ш^ШШ%Щ^^
вертикальная составляющая градиента (в) и результат* <шАшетлп ПЩ$^
контура (г). Предоставлено фирмой Perceptics.
процесс состоял в соединении сегментов контура, разделенных
небольшими промежутками, и в объединении отдельных
коротких сегментов.
Глобальный анализ с помощью преобразования Хоуга.
Рассмотрим метод соединения граничных точек путем определения
их расположения на кривой специального вида. Первоначальна
предполагая, что на плоскости ху образа дано п точек, тре-
398
i
Йрёт^й найти подпоследовательности точек, лежащих на прямых
-линиях. Одно из возможных решений состоит в построении всех
линий, проходящих через каждую пару точек, а затем в
нахождении всех подпоследовательностей точек, близких к
определенным линиям. Задача, связанная с этой процедурой, заключается
в нахождении п(п— 1)/2 ~ п2 линий и затем в осуществлении
п[п(п— 1)]/2 ~ п3 сравнений каждой точки со всеми линиями.
Этот процесс трудоемок с вычислительной точки зрения за
исключением самых простых приложений.
Данную задачу можно решить по-другому, применяя подход,
предложенный Хоугом и называемый преобразованием Хоуга
[127J. Рассмотрим точку (Хи yt) и общее уравнение прямой
линии уь = axL + b. Имеется бесконечное число линий, проходящих
рис. 8.2. Плоскость ху (а) и пространство параметров (б).
через точку (xh yt), но все они удовлетворяют уравнению yt =
= axi + b при различных значениях о и 6. Однако, если мы
запишем это уравнение в виде b = —Xia + yt и рассмотрим
плоскость ab (пространство параметров), тогда мы имеем
уравнение одной линии для фиксированной пары чисел (xi, у{). Более
того, вторая точка (#/, у}) также имеет в пространстве
параметров связанную с ней линию, которая пересекает другую
линию, связанную с точкой (xi, yt) в точке (а\ ft7), где значения
а' и Ь' — параметры линии, на которой расположены точки (хи
yi) и (X/, yj) в плоскости ху. Фактически все точки,
расположенные на этой линии, в пространстве параметров будут иметь
линии пересечения в точке (а\ Ь') (рис. 8.2).
Вычислительная привлекательность преобразования Хоуга
заключается в разделении пространства параметров на так
называемые собирающие элементы (рис. 8.3), где (амакс Ямин) и
(Ьмакс Ьмин)—допустимые величины параметров линий.
Собирающий элемент А (I, /) соответствует площади, связанной с
координатами пространства параметров (a,, bj). Вначале эти эле-
399
Олакс\
О
амакс а
менты считаются равными нулю. Тогда для каждой точки (xk,
Ук) в плоскости образа мы полагаем параметр а равным
каждому из допустимых значений на оси а и вычисляем
соответствующее Ь, используя уравнение Ь = —xka + yk- Полученное
значение b затем округляется до ближайшего допустимого
значения на оси Ь. Если выбор ар приводит к вычислению bQ, мы
полагаем А(ру q) = Л(р, q) + 1. После завершения этой
процедуры значение М в элементе A (i, /) соответствует М точкам
в плоскости г//, лежащим на линии у = а(х + bj. Точность рас-
b положения этих точек на одной
прямой зависит от числа
разбиений плоскости ab. Отметим,
что, если мы разбиваем ось а на
К частей, тогда для каждой
точки (xkyyk) мы получаем К
значений 6, соответствующих К
возможным значениям а.
Поскольку имеется п точек образа,
процесс состоит из пК
вычислительных операций. Поэтому
приведенная выше процедура линейна
относительно п и имеет меньшее
число вычислительных
операций, чем процедура, описанная
выше, если К ^ п.
Проблема, связанная с
представлением прямой линии
уравнением у — ах-\- Ь, состоит в том, что оба параметра а и b
стремятся к бесконечности, если линия принимает
вертикальное положение. Для устранения этой трудности используется
нормальное представление прямой линии в виде
х cos 6 + у sin 8 = р. (8.2-4)
Смысл параметров уравнения (8.2-4) ясен из рис. 8.4, а. Это
представление для построения таблицы собирающих элементов
используется так же, как метод, изложенный выше, но вместо
прямых линий мы имеем синусоидальные кривые в плоскости
6р. Как и прежде, М точек, лежащих на прямой Х(Ш & +
+ у sin 0< — р/, соответствуют М синусоидальным кривым, кото*
рые пересекаются в точке (6„ р/) пространства параметров. Бели
используется метод возрастания 8 и нахождения для него
соответствующего р, процедура дает М точек в собирающий элемент
A(i,j), связанный с точкой (8/, р/). Разбиение пространства
параметров приведено на рис. 8.4,6.
Пример. Использование преобразования Хоуга, основанного
на уравнении (8.2-4), проиллюстрировано на рис. 8.5. На
рис. 8.5,е уровень яркости в плоскости 0р пропорционален числу
Рис. 8.3. Разбиение плоскости
параметров на элементы с целью
использования преобразования
Хоуга.
400
Шв||й^р^йфй8>щнх элементах. На этом рисунке абсцисса соот-
im&tCTbf&t 6и ордината р в диапазонах ±90° и ±рмакс
соответственно. В данном случае величина рМакс равна расстоянию от
одного угла, до другого в исходном образе. Центру рис. 8.5, в
соответствуют 0 =0° и р = 0. Интересно отметить, что яркие пятна
(большое число точек в собирающем элементе) около 0°
соответствуют вертикальным линиям и около ±90° соответствуют
горизонтальным линиям рис. 8.5,6. На рис. 8.5, г показаны
линии, которые определены этим методом и накладываются на
исходный образ. Различие обусловлено ошибкой дискретизации
6 и р в пространстве параметров.
* 1 | | *
* if 1 *
• * * I I 1***1
* 1 i I I *
* I I ! 1*1
* 1 1 I I * I
i 1 1 » *—>
"мин
0 в
Рит. 8.4. Нормальное представление линии (а) и разбиение плоскости 6р на
элементы (б).
Хотя наше внимание было сосредоточено только на прямых
линиях, преобразование Хоуга применимо к любой функции вида
g(x, с) =0, где х — вектор координат, а с — вектор
коэффициентов. Например, геометрическое место точек, лежащих на
окружности
(x-Ciy+(y-c2f = cl (8.2-5)
легко может быть определено с помощью подхода, изложенного
выше. Основное отличие заключается в том, что теперь мы
имеем три параметра Си с<± и с3, которые образуют в трехмерном
параметрическом пространстве ячейки в форме кубов и
собирающие элементы вида Л(/, /, k). Процедура состоит в задании
приращений с\ и с2, решении уравнения (8.2-5) относительно с3
и в изменении собирающего элемента, соответствующего ячейке,
связанной с тройкой (сь с2у с3). Очевидно, что сложность
преобразования Хоуга существенно зависит от числа координат и
коэффициентов в данном функциональном представлении.
В заключение отметим, что определение кривых, не имеющих
простого аналитического представления, возможно на основе
401
дальнейшего обобщения преобразования Хоуга. Более подробна
этот вопрос рассмотрен в работе [10].
Глобальный анализ с помощью методов теории графов.
Изложенные выше методы основаны на задании последователь-
Рис. 8.5. Образ детали (а), градиентный образ (б), график преобразования
Хоуга (в) и обнаруженные линии, наложенные на исходный сбраз (?)•
(Предоставлено D. Cate из фирмы Texas Instruments.)
ности точек контура, полученных в результате градиентного
преобразования. Этот метод редко применяется для
предварительной обработки данных в ситуациях, характеризуемых высоким
уровнем шума, вследствие того, что градиент является
производной и усиливает колебания интенсивности. Рассмотрим
глобальный подход, основанный на представлении сегментов
контура в виде графа и поиске на графе пути наименьшей стоимо-
402
■р..который соответствует значимым контурам. Этот подход
■Шретявляет приближенный метод, эффективный при наличии
■ума. Как и следует ожидать, эта процедура значительно слож-
Ше и требует больше времени обработки, чем методы, изложен-
Ipe, выше,
f Сначала дадим несколько простых определений. Граф G =
1 (N, А) представляет собой конечное, непустое множество
ршин N вместе с множеством А неупорядоченных пар
различных элементов из N. Каждая пара из А называется дугой.
О 1 2
о • • •
(7) (2) (2)
1 • • •
f •* (5) (7) (2)
2 * » *
(5) (0 (0)
Рис. 8.6. Элемент контура, располо- Рис. 8.7. Образ размерностью 3X3.
женный между пикселами р и q.
Граф, в котором дуги являются направленными, называется на-
правленным графом. Если дуга выходит из вершины щ к
вершине щ% тогда щ называется преемником вершины щ, В этом
случае вершина щ называется предшественником вершины п/.
Процесс идентификации преемников каждой вершины
называется расширением этой вершины. В каждом графе
определяются уровни таким образом, чтобы нулевой уровень состоял
из единственной вершины, называемой начальной, а последний
уровень — из вершин, называемых целевыми. Каждой дуге (п,-,
rij) приписывается стоимость с(пи п}). Последовательность
вершин 72ь П2, ..., nk, где каждая вершина щ является преемником
вершины tt;_i, называется путем от п{ к п^ а стоимость пути
определяется формулой
k
c=Yi c(ni-\> nt)- (8.2-6)
Элемент контура мы определим как границу между двумя
пикселами р и q (рис. 8.6). В данном контексте под контуром
понимается последовательность элементов контура.
Для иллюстрации применения введенных понятий к
определению контура рассмотрим образ размерностью 3X3,
приведенный на рис. 8.7, где цифры в скобках обозначают интенсивность,
403
а без скобок — координаты пикселов. Каждому элементу
контура, определенному пикселами р и q> приписываем стоимость
c(p,q) = H-\f(p)-f(4)],
(8.2-7)
где Н — наибольшее значение интенсивности образа (в данном
случае оно равно 7), f(p)—значение интенсивности в точке р>
а\ f(Q) —значение интенсивности в точке q.
—*
1(0.01(0.]]
(0, 1) (I, 1)
[«..??..
(0.1К0.2)|
CLOKU)
(ь и (о. Dh-"-Hu. и a.2)h--
з****
(2,0) (2,1)
(2Л)(1И)
U1) (2,1)1
(2, 1) (2.-2)1
Рис. 8.8. Граф для определения контура образа, приведенного на рис. 8.7,
Для каждой вершины пары (а, Ь) (с, d) соответствуют точкам/? и q. Отметим,
что если идти по образу сверху вниз, то р будет находиться справа. Путь
минимальной стоимости помечен штриховыми линиями f!91].
Граф для этой задачи показан на рис. 8.8. каждая вершина
графа соответствует элементу контура, и две вершины
связываются дугой в том случае, если два соответствующих элемента
контура, взятые последовательно, могут быть частью коЙг^аГ
Стоимость каждого элемента контура, рассчитанная по
уравнению (8.2-7), показана дугой, ведущей в этот элемент, а целевые
вершины показаны двойными прямоугольниками. Каждый путь
между начальной и целевой вершиной является возможным
контуром. Для простоты предполагалось, что контур начинается в
верхнем ряду и заканчивается в последнем, так что первый
элемент контура может быть только [(0, 0), (0, 1)] или [(О, 1),
(0, 2)] и последний элемент [(2, 0), (2, 1)] или [(2, 1), (2, 2)].
Путь минимальной стоимости, рассчитанный по уравнению
404
* 1
{7) L
т
®
• •
C5)
. Г
(5)
Рис. 8.9.
т
*
CD
*
(2)
! •
| (2)
Конту
ветствующий
мальной
•
(0)
», COOT-
пути мини
стоимости, по-
казанному на
рис. 8.8.
(8.2-6), показан штриховой линией, а соответствующий контур
представлен на рис. 8.9.
Как правило, задача определения пути минимальной
стоимости непроста с вычислительной точки зрения. Обычно критерием
оптимальности является быстродействие. Алгоритм, приведенный
ниже, типичен для класса процедур, использующих эвристики с
целью сокращения объема поиска. Пусть г(п)—оценка
стоимости пути минимальной стоимости из начальной вершины s в
целевую вершину, причем путь проходит
через вершину п. Эту оценку можно
представить в виде суммы пути
минимальной стоимости s в п и оценки
стоимости пути из п в целевую вершину, т. е.
r(n) = g(n) + h(n). (8.2-8)
Здесь g(n) является оценкой стоимости
пути наименьшей стоимости из s в пу
определенного ранее, a h(n)
определяется с помощью использования
эвристической информации (например, проводя
расширение только некоторых вершин,
основанное на предварительном вычислении
стоимостей при определении путей,
ведущих к вершине h(n)). Алгоритм поиска на графе, основанный на
применении оценки г(п)у приведен ниже:
Шаг 1. Поместить стартовую вершину OPEN и положить
g(s)=0.
Шаг 2. Если нет вершин, помеченных как OPEN, то выход
на аварийный останов; в противном случае
продолжение работы.
Шаг 3. Пометить CLOSED помеченную OPEN вершину пу
оценка которой г(п), определенная по уравнению
(8.2-8), имеет наименьшее значение. (Связи для
минимальных значений г устанавливаются
произвольно, но всегда в пользу целевой вершины.)
Шаг 4. Если п является целевой вершиной, то выход на
останов с выдачей пути, полученного в результате
обратного прохождения по указателям направления;
в противном случае продолжение работы.
Шаг 5. Расширение вершины пу т. е. генерирование всех ее
преемников (если преемников нет, переход к шагу 2).
Шаг 6. Если преемник щ не помечен, положить
г {Щ) = g(n) + c (п, щ)у
пометить его OPEN и направить указатели от него
к вершине п.
405
Шаг 7. Если преемник т помечен CLOSED или OPEN,
изменить его значение по формуле
g' (щ) = min [g (щ), g(n) + c (/г, я,)].
Пометить OPEN те преемники, помеченные
CLOSED, значения g' которых были уменьшены
таким образом. От этих вершин направить указатели
к вершине п. Перейти к шагу 2.
Как правило, этот алгоритм не гарантирует нахождение пути
минимальной стоимости; его преимущество заключается в быст-
*X»#-Z -Ч4*«Л.г* 4*1 Xli Z»ph#«iiz.*«x»
• )| ♦ZXK|4 — l»|IH»4i-K.«iZ»»4 2k*l».-U»«»
• м»к-"й1х*i*ii !«••«• iz»«♦*•*!*• a—x*u«4»
• ZZ KM* ♦•I«IH»*l»»iUll»X»»»Z-i4*MlZ«
•ZZ I.*» |ИИ1*"И.'.Н Z*.I-.ZZIJrtfb ♦•
«•XO*A l)N»NN|l.l4|tliM<i .dlX4Z»4ilH*»»
« IXXl^iKMMXMI IZZ.A- Z4»«l-i*iZZ»ZAX«
<t»<»tiiHIIIMIH*l.t lA»XZXMeXt-i.»ZMX*
• II iZMMIHUNM IZ*l»»MfZM8*lZ.MZ.*t
*aZ ♦1MZ99MZMNMM X*ZZl-WXHff» LtWP8Z>»
«lI>4XZtt»XZMt4Mei ♦ » ZZItMWMNAZ) ZXZI * •
•Z1'4 I )IW»J»»IWIHMI ) ьШ—1**1***и в*-А)1«
• *♦ XZ>At»»ZAX»AHI»»Wt >HH>WHWAtAWKZ •* X*»
*Z » Z)>l4X2W»»4MNt. iX).0*«tMZMAei.k*ZAX«
«•A i* *-»Ulll«WfUX|t»,||ZMfNl«. i « I ••
+1**111 k IIZUMNMDMM) ЛИН-Ml A«X». I *•
«ii i.: i»t*»iwtwmtx*tiMimnnHixz>i>z*»
«iitx nn^nwiHwwucoemMiazHt» z •
«• >-».Ч ItMIMIMi Nttit ZNMNKNl MXi I*
«I» ZZ.A- ZA8W1 #0»»BIHIIIW1ШШШK#ttZHvй •
• AIXAZ I ■ Z * -— WXA——gxa»A#— A8«Atm »♦•
«4X4Zn>lMAMZeM*AMAM0«*ltXM«t»AXtl».»-*
• 1Z IZUiOWnNIXWIZimHMUf* K»Z«
• -*.ll* M MHZNH)8Me«' ХА9Й1 tMl ZAXi A*
• 4 J- Z Xi>iX^»ZM#««)ZX4-iew«AAl.AAZ».»
• i»x xiiHiMiXMiMtMxeMi Miienwn hi
• l- a *i«t»*«AaAAZW4t.zx4*4.*z хкш>*#
«A| ; )X»»)tMH»iNNMIiN- Z-» • X» I ♦ X* ) » X» I > •
♦X«*-Z>Z»*»g»Wt—WW«ZI»fZ*Ut X>-XH> )Xa«Z«
•«II 4Ze*aaaeaxzax»*A»i»н) i» ni 41 »i 4 ♦ *•• -z-
*#-A;XAiAi*tt*AAfe«X4JiU«4A«4-)> i 11. A- Z>*
- 1 i > 1 A i ЧНПММ KHX. X» XI НАД ZX4U4, U»X"
• -M XX.-ltAt* XKilX aZ».l«tXZlA- Z>)|M|I«
«4- Z4».XZJZXZ»ZX4»*Zl -»l4*.»»Z «AiXXI-.l*
• ♦z xi ;ix xu. •zmx*.*««x)44-41. izxzi x-x»
«4AAA4AAa:xmxuxz*i.4 ii»x--*4 zx4-> t -inmi»
«*l ♦ZftAA-||§i24lZ4A4ff>*-X*IINUI 1» -I. •
«ill»!. >A«!-Zt*4i ZX* •il*X--A4ZZl «»»r. ZZ* a*
Mai
• aa a
» * '•
• J 8
» a •
• i •
• а а
• *
• i
• i
• a
• a
• a
• a
• ь
• a
• a
• a
• a
• a
• a
• *
• i
• a
• a
• a
• a a
■ а ее
• э аэ&э
• «ae
mm
aa
a
a
• a
• a
a a
a a
a a
a a
a a
a a
a a
a a
a a
a a
a a
a *»
6
a
a
1
a
a
a
a
a
a
a
a
a
a
еаэаь
u *
a •
a •
a ♦
a »
a •
a •
e •
Рис. 8.10. Зашумленный образ (а) и результат определения контура,
полученного с помощью метода эвристического поиска на графе [292] (б).
родействии за счет использования эвристик. Однако мбжно
показать, что, если h(n) является нижней границей стоимости
пути минимальной стоимости от вершины п к целевой вершине,
тогда процедура действительно определит оптимальный путь к
целевой вершине [115]. Если эвристическая информация
отсутствует, т. е. h sea 0, процедура сводится к алгоритму постоянной
стоимости [59].
Пример. Типичный результат, полученный в результате
работы этой процедуры, приведен на рис. 8.10. На рис. 8.10, а по-
406
ктШ з1шумленный образ, и на рис. 8.10,6 результат
сегментации контура, полученный с помощью поиска на соответствующем
графе путей наименьшей стоимости. В данном примере были
использованы эвристики, предотвращающие расширение тех
вершин, стоимости которых превышали заданное пороговое
значение.
8.2.2. Определение порогового уровня
Понятие порогового уровня (порога) введено в разд. 7.6.5 как
тест вида
Т = Т[х, у, р{х, */), f{x;y)l (8.2-9)
где f(x, у) —интенсивность в точке (х, у), р(х, у) —некоторое
локальное свойство, определяемое в окрестности этой точки.
Пороговое изображение дается следующим выражением:
{1, если f (х7 у) > 7\
О, если Ц.,у)<Т. (8'2-10>
так что пикселы в g(xf у), имеющие значение 1, соответствуют
объектам, а пикселы, имеющие значение 0, соответствуют фону.
В уравнении (8.2-10) предполагается, что интенсивность
объектов больше интенсивности фона. Противоположное условие
получается путем изменения знаков в неравенствах.
Глобальные и локальные пороги. Если значение Т в
уравнении (8.2-9) зависит только от f(x, у), то, как показана
в разд. 7.6.5, порог называется глобальным. Если значение Т
зависит как от f(x, у), так и от р{х, у), порог называется
локальным. Если, кроме того, Т зависит от пространственных
координат х и у, в этом случае он называется динамическим
порогом.
Глобальные пороги применяются в ситуациях, когда имеется
явное различие между объектами и фоном и где освещенность
достаточно однородна. Методы обратной и структурированной
освещенности, изложенные в разд. 7.3, обычно дают
изображения, которые могут быть сегментированы путем применения
глобальных порогов. Но, как правило, произвольное освещение
рабочего пространства приводит к изображениям, которые, если
исходить из определения порогового уровня, требуют локальнога
анализа для компенсации таких эффектов, как неоднородность
освещения, тени и отражение.
Ниже мы рассмотрим ряд методов для выбора порогов,
используемых при сегментации. Хотя некоторые из них могут
применяться для выбора глобального порога, они обычно
используются в ситуациях, требующих анализа локального порога.
407
Выбор оптимального порога. Часто рассматривают
гистограмму, состоящую из суммы значений функции плотности ве*
роятности. В случае бимодальной гистограммы
аппроксимирующая ее функция дается уравнением
P(z) = PiPi(z) + P2p2(z), (8.2-11)
где интенсивность г —случайная переменная величина, p\{z) и
P2{z)—функции плотности вероятности, а Рх и Р2 —априорные
Л
liiiniillllllii
Интгнсибностб %
а
ш,и»>»
pN-'PtPtWW®
ш
Шттибностъ ъ
Рис. 8.11. Гистограмма интенсивности (а) и ее аппроксимация в шиШ
-суммы двух функций плотности вероятности (б). :- >|j
вероятности. В данном случае априорные вероятности означают
появление двух видов уровней интенсивности на образе.
Например, рассмотрим образ, гистограмма которого приведена на
рис. 8.11, а. Полная гистограмма может быть аппрокЬимирдваЩ
суммой двух функций плотности вероятности, как показаш^Я
рис. 8.11,6. Если известно, что объект состоит из светлых
пикселов и они занимают 20 % площади образа, то Р1=0,2, НеойЯИ
димо, чтобы
408
ИНЬнном случае это означает, что на остальную часть образа
приходится 80 % пикселов фона.
^Введем две следующие функции от г:
dx(z) = PlPl(2)9 (8.2-13)
d2{z) = P2px{z). (8.2-14)
Из теории принятия решений [290] известно, что средняя
ошибка определения пиксела объекта в качестве фона (и
наоборот) минимизируется с помощью следующего правила:
рассматривая пиксел со значением интенсивности г, мы
подставляем это значение z в уравнения (8.2-13) и (8.2-14). Затем мы
определяем пиксел как пиксел объекта, если d\{z) >U2{z)y или
как пиксел фона, если ^2(2) >d\{z). Тогда оптимальный порог
определяется величиной г, для которой d\ (z) = d2(z). Таким
образом, полагая в уравнениях (8.2-13) и (8.2-14) z — T,
получаем, что оптимальный порог удовлетворяет уравнению
*iPi<n~*tftCO. (8.2-15)
Итак, если известны функциональные зависимости p\{z) и Р2(г),
это уравнение можно использовать для нахождения
оптимального порога, который отделяет объекты от фона. Если этот
порог известен, уравнение (8.2-10) может быть использовано для
сегментации данного образа.
В качестве важной иллюстрации применения
уравнения (8.2-15) предположим, что p\(z) и p2(z) являются
плотностями вероятности распределения Гаусса, т. е.
^-ti^-N?1]- ,8'2-i7)
В этих выражениях положим z = Ty подставим их в
уравнение (8.2-15) и после упрощения получим квадратное уравнение
относительно Т:
где
А
В
С
Возможность двух решений указывает на то, что для получения
оптимального решения могут потребоваться два значения
порогового уровня,
ЛГ2 + ВГ + С = 0, (8.2-18)
— Off — 0%
= 2(т{о2-т2о2)у (8.2-19)
= <з2т2 — aim2, + 2в2в2 In °2nl .
12 2 1' 12 GiP2
40&
Если стандартные отклонения равны (ai = G2 = a), в этом
случае имеется единственное значение порогового уровня:
Т = mitm2 + °2 In £-. (8.2-20)
Если а = 0 или Pi = Р2, оптимальное значение порогового
уровня является арифметическим средним математических
ожиданий. Сформулированное условие означает, что интенсивности
объекта и фона постоянны для всего образа. Последнее условие
означает, что пикселы объекта и фона имеют одинаковую
вероятность появления, причем каждый раз число пикселов объекта
равно числу пикселов фона, j
Пример. Рассмотрим сегментацию механических деталей,
показанных на рис. 8.12, а, где мы пренебрежем решеткой,
наложенной на образ. На рис. 8.12,6 приведен результат
вычисления глобальной гистограммы, соответствующей бимодальной
гауссовой плотности распределения вероятности,
устанавливающей оптимальный глобальный порог, который окончательно
используется в уравнении (8.2-10) для сегментации образа. Видно,
что отклонения в интенсивности делают этот подход практически
непригодным. Однако он может быть реализован на локальных
участках образа, определенных решеткой на рис. 8.12, а.
После разбиения образа на подобразы для каждого из них
вычисляется гистограмма и проводится тест на бимодальность.
Бимодальные гистограммы соответствуют смешанной гауссовой
плотности распределения вероятности, и оптимальное значение
•порогового уровня вычисляется по уравнениям (8.2-18) и (8.2-
19). Для подобразов, не имеющих бимодальных гистограмм,
значения пороговых уровней не вычисляются. Для них эти
значения вычисляются путем интерполяции порогов соседних
подобразов, являющихся бимодальными. Гистограммы для каждого
подобраза приведены на рис. 8.12, в, где горизонтальные линии
обозначают относительный диапазон этих гистограмм. В конце
процедуры для определения порогового значения Т(х, у)
проводится от точки к точке повторная интерполяция соседних
пороговых значений. Отметим, что в данном случае мы имеем дело
с динамическим значением порогового уровня, поскольку оно
зависит от пространственных координат (х, у), Изменение Т(х, у)
в зависимости от положения показано на рис. 8.12, г.
Окончательно пороговый образ создается в результате
сравнения каждого пиксела в первоначальном образе с
соответствующим пороговым уровнем. На рис. 8.12,(9 показан результат
использования этого метода в данном частном случае. Налицо
улучшение по сравнению с применением глобального порогового
уровня. Отметим, что данный метод предполагает установление
порогового уровня для каждой ячейки, а локальные пороги ин-
410
шжш
Рис. 8.12. Образ механических
деталей, разделенный на области
решеткой (а), образ, полученный в
результате определения глобального
порогового уровня (б), гистограммы
подобразов (в), иллюстрация
динамического порога (г) и образ,
полученный в результате определения
динамических порогов (д) [252].
411
терполируются с целью создания динамического порога, который
окончательно используется при сегментации.
Изложенный выше подход применяется дли выбора
пороговых уровней изображения. Предположим, что мы можем
моделировать многомодальную гистограмму в виде суммы п функций
плотности вероятности:
p(*) = PiPi(z)+ ... +Рпрп(г). (8.2-21)
Тогда задача оптимизации порогового уровня сводится к
определению принадлежности данного пиксела к одной из п
возможных категорий. Правило минимизации ошибки теперь
основывается на п функциях вида
dt (z) == PiPi (г), i-» 1, 2, ..., д. (8.2-22)
Данный пиксел интенсивности z принадлежит k-й категории,
если dk(z) >dj{z), /=1, 2, ..., п\ \фк. Как прежде,
оптимальный пороговый уровень между категорией k и категорией
/, обозначаемый Tkj, определяется из уравнения
PkPk(Tkf) = P,Pt(Tki)- (8.2-23)
Как указывалось в разд. 7.6.5, при получении пороговых
уровней на основе многомодальных гистограмм актуальной является
задача идентификации гистограммных мод.
Определение порогового уровня на основе характеристик
границы. Одним из наиболее важных аспектов при выборе
порогового уровня является возможность надежно
идентифицировать модовые пики для данной гистограммы. Это важно при
автоматическом выборе порогового уровня в ситуациях, когда
характеристики образа меняются вследствие большого разброса
интенсивности. Из изложенного выше очевидно, что возможность
выбора «хорошего» порогового уровня может быть существенно
увеличена в случае, если пики гистограмм являются высокими,
узкими, симметричными и разделены глубокими провалами.
Одним из подходов для улучшения вида гистограмм является
рассмотрение только тех пикселов, которые лежат на границе
(или около нее) между объектами и фоном. Одно из очевидных
улучшений состоит в том, что этот подход позволяет получать
гистограммы менее зависимыми от отношения между объектом
и фоном. Например, гистограмма интенсивности образа,
составленного из маленького объекта на большой площади
постоянного фона, определялась бы большим пиком вследствие
концентрации пикселов фона. С другой стороны, результирующие
гистограммы имели бы пики с более сбалансированными высотами,
если бы рассматривались пикселы, лежащие только на (или
около) границе между объектом и фоном. Кроме того,
вероятность расположения пиксела на границе объекта практически
равна вероятности того, что он лежит на границе фона, что
412
улучшаетчФйК1М€трню гистограммных пиков. Окончательно, как
показано ниже, использование пикселов, которые
удовлетворяют некоторым простым критериям, основанным на операторах
Нрщиента и Лапласа, приводит к увеличению провалов между
Шрками гистограммы.
Щ Выше мы неявно подразумевали, что граница между объек-
** мп и фоном известна. Очевидно, что во время проведения
сегментации эта информация отсутствует, поскольку нахождение
раздела между объектами и фоном является окончательной
'целью приведенной здесь процедуры. Однако из разд. 7.6.4 из-
' ве£тно, что, вычислив градиент пиксела, можно определить,
лежит ли он или не лежит на контуре. Кроме того, лапласиан
может дать информацию о том, лежит ли данный пиксел на темной
Jt. е. фон) или светлой (объект) стороне контура. Как
установлено в разд. 7.6.4, с внутренней стороны идеального контура
лапласиан равен нулю, поэтому на практике можно ожидать, что
провалы гистограмм, образованных пикселами, выбранными по
критерию градиент/лапласиан, будут располагаться достаточно
редко и иметь желаемую высоту.
Градиент G[f(x,y)\ любой точки образа определяется
уравнением (7.6-38) или (7.6-39), лапласиан L[f(x,
у)]—уравнением (7.6-47). Эти два свойства можно использовать для
формирования трехуровнего образа:
ГО, если G[f(xty)]<T,
*{х,у) = \+, если G[f(x,y)]>T и L[f (х, у)] > 0, (8.2-24
I -, если G[f(x,y)]>T и L[f(x,y)]<09
где символы 0, +, — представляют три различных уровня
освещенности, а Т — пороговый уровень. Предположим, что темный
объект располагается на светлом фоне, тогда в соответствии с
рис. 7.34,6 применение уравнения (8.2-24) дает образ s(x, у),
в котором все пикселы, не лежащие на контуре (для них
значение G[f(x> у)] меньше Г, помечены 0, все пикселы на темной
стороне контура помечены -f- и все пикселы на светлой стороне
контура помечены —. Для светлого объекта на темном фоне
символы + и — в уравнении (8.2-24) меняются местами. На
рис. 8.13 показан объект, построенный на светлом фоне по
уравнению (8.2-24).
Только что изложенная процедура может применяться для
создания сегментированного, бинарного образа, в котором 1
соответствует объектам, представляющим интерес, и 0 — фону.
Отметим, что перемещение (вдоль горизонтальных или
вертикальных линий сканирования) от светлого фона к темному
объекту должно характеризоваться заменой знака — фона на
+ объекта s(x} у). Внутренняя область объекта состоит из
пикселов, помеченных либо 0 либо +. Окончательно
перемещена
ние от объекта к фону характеризуется заменой знака + на
—. Таким образом, горизонтальные или вертикальные линии
сканирования, содержащие части объекта, имеют следующую
структуру:
(,..)(-, +)(0 или +)(+, -)(...),
где (...) является произвольной комбинацией +» — или О.
Остальные скобки содержат точки объекта и помечены 1, Все
0б60ООО0йО0ОО0О00--0 0+0+О0ОО00О00О0ОО000000ООО000000000о0000О0ОО00006О>
чооооооооооооооооооооооооооо+оооооо+ооооооо+ооооооооооооооооооооооооооо
Ю00000000000000000000000-013000000000--000000-00++00 + +00000000000000000>
ЮОООО0000000000000000000000000000000000000000000000000000+00000000000а
<0 0000 0 00 0000 00000 00000000000 00 00 000000000000000000-0 000-0 0000 + 0 00000001
ЮООООООО00000000000*00000000000000000000000000000000000000-00000«00000
Ю000000000000000000000+0000000000000000000000000000000000000000-0-00«0>
(00000 00 0-00 000000000-00000000*+0000000000000000000000000000000000000001
Ю00000000 00000000000000000000000000+000+000000000000000000000000000-0-
Ю000000000000000000000000000000-000-0000000-0+000000000000000000000000)
ЮО000ОО00ОООООО0ОООО00000000000000000000000000000000+00000+OOOOOOOOOOft
О0000000000ОС00000000000000000000000000000000000000-0000-0000 + 0000000 0)
Ю00000000000000000000000000000000000000000000000000000000-00+00000000ft
(00000000000000Э 0000000 00000000000000000000000 ОООООООО 000 000000СГ
(0 00000000 0000 * 0 00000000000000000000000000000000000000000ft
ЮОО00О00О000 ♦*+♦♦♦* 000000000000000000000000000000000000000000000
to 000000000 + + + + 00+ + + .--0000000000000000 0 000000000000000000000ft
Ю0О000000 0- -♦♦♦♦♦ *♦♦♦»♦♦—000000000000 00000000000000000000ft
О00000000 ♦♦ + ♦ + 0 000000000 ♦ + ♦♦♦» ►» 0000000000000000000)
оооооооо—♦ + »♦ оооооооооо ♦♦»►♦ .♦♦+♦♦♦—ооооооооооооооооо-
О 0000000 ♦♦♦—0- + ++ Э0000000 ♦♦♦>♦♦♦»►♦♦ ►♦ + +--ООООООООООООООООО
ОООООООО +++-00— ♦♦♦♦♦♦--00000 НИ" ♦ М f м +-000000000000000О
00000000—♦♦+*!--00-~» + »0+ + +-0000 + м» ..-♦♦♦4 + »+—0000000000000)
00000000-- + »+ »—000--+ + 00+-++--00--- + + + + - 00 ♦♦♦►♦♦ 0000000000ft
ОООООООО ♦♦ + --000—*.♦♦♦♦*♦♦—*«»+ + **»- -00000000 ♦♦♦♦♦♦--ОООООООООО
С00000000--+t»--000--+ + +»-♦ + + +- —^♦♦♦4- — 0000000000--++►♦ 00000—-
000000000--+++»--00--* ♦ »♦ — -* ♦♦♦♦♦♦ ♦♦»-•- -0 0000000000 ♦♦♦♦♦»♦,-. ♦
0000000000--+ + + ---0—*♦++♦----+♦♦♦♦♦♦ 00000000000000 *»*+»*»*>»*»*
i)0000000000--» IH \ |* м+------ 0 00000000000000000 ♦ >>►♦♦♦♦♦*>
ЮООООООООООО--* f *♦*♦♦♦♦+♦+--0000000000000000000000000000000 ir----.
POOOOO ОООООООО '+ + ♦♦♦♦♦•.*-0 00000000000000000000000 ОООООООООО- — • +>-•- ft
-ooooooooooooooo—--------оооооооооооооооооооооооооооооооооооооооооооа
Ю000000000000000ОООООООО0000000000000000000000000000 00000 00 ОООООООО 000»
оооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооа
0000000000000000000000000000000000000000000ОООООООООООООООвООООООООООО"
000—-00000-0000-0000000000000000000000000000000000000000000000000;
»iHmnH*H*H»HHMHM(»ntHHHHHH»KfHKHH»f»HMHi».»
« л ......«•*?* „.„„».„..*.,,„- ..,,„.,
«00-00000000—00-000000- —----0000000 -*«♦••»«-..о'---...-«.♦-.
000000000000000000000000000000000000000000000000000000ООООООООО0000000
000000000000000000000000000000000000000000000000000000000000000000000ft
000ОООООООО00000000000000000000000000000000000000000000000000ООООООООО
ОООООООО00000О000О00О000000О00000000000ОООО00000О000000000000О000000ОО
oooooooooooooooooooooqoooooooooooooooooooooooooooooooooooooooooooooooo
Рис. 8.13. Образ объекта, построенный с помощью уравнения (8.2-24) [306|*
другие пикселы вдоль той же линии сканирования помечаются
О, за исключением всех последовательностей из (0 или -J-),
ограниченных (—, +) и (+, —).
Пример. Для иллюстрации только что изложенного
материала рассмотрим рис. 8.14, а, на котором показан образ
обычного банковского чека. На рис. 8.15 приведена гистограмма,
определяющая число пикселов, градиенты которых превышают 5.
Отметим, что эта гистограмма обладает свойствами, описанными
выше, т. е. она имеет две основные симметричные моды
одинаковой высоты, разделенные хорошо различимым провалом. На
рис. 8.14,6 показан сегментированный образ, полученный па
414
тю (8.2-24) со значением Г, примерно равным средней
провала. Приведенный выше анализ последовательности
^ает бинарный результат.
г>
Рис. 8.14. Исходный образ (а) и сегментированный образ (б) [306].
1
1000
too у
Определение порогового уровня, основанное на нескольких
переменных. Изложенные выше методы связаны с определением
порогового уровня для
единственного переменного значения *500
интенсивности. В некоторых
приложениях можно
использовать более одной
переменной для характеристики
каждого пиксела образа, увеличивая
таким образом не только
степень различия между
объектом и фоном, но и между
самими объектами. Одним из
наиболее значимых примеров
является цветное зрение, где
используются красные, зеленые и
голубые компоненты (КЗГ)
для формирования
составного цветного образа. В этом
случае каждый пиксел характеризуется тремя переменными и
это позволяет строить трехмерную гистограмму. Основная
tf~f4 jf-24 2S и выше
Ветчина градиента
Рис. 8.15. Гистограмма пикселов,
градиенты которых превышают 5 [306].
415
процедура та же, что и для одной переменной. Пусть, например,
даны три 16-уровневых изображения, соответствующие КЗГ
компонентам датчика цвета. Сформируем кубическую решетку
16 X 16 X 16 и поместим в каждый элемент пикселы, КЗГ
компоненты которых имеют интенсивности, соответствующие
координатам, определяющим положение этого элемента. Число
точек в каждом элементе решетки может быть затем разделено на
общее число пикселов образа для формирования нормированной
гистограммы.
Теперь выбор порога заключается в нахождении групп точек
в трехмерном пространстве, где каждая «компактная» группа
аналогична основной моде гистограммы одной переменной.
Например, предположим, что мы ищем две значимые группы точек
данной гистограммы, где одна группа соответствует объекту, а
другая — фону. Принимая во внимание, что теперь каждый
пиксел имеет три компоненты и может быть рассмотрен как точка
трехмерного пространства, можно сегментировать образ с
помощью следующей процедуры. Для каждого пиксела образа
вычисляется расстояние между этим пикселом и центром
каждой группы. Тогда, если пиксел располагается рядом с центром
группы точек объекта, мы помечаем его 1; в противном случае
мы помечаем его 0. Это понятие легко распространить на
большую часть компонентов пиксела и соответственно на большую
часть групп. Основная сложность состоит в том, что определение
значимых групп, как правило, приводит к довольно сложной
задаче, поскольку число переменных возрастает. Читатель,
желающий более подробно ознакомиться с методами определения
групп, может, например, обратиться к работе [290]. Другие
методы сегментации изложены в работе [90].
Пример. В качестве иллюстрации подхода, основанного на
применении гистограмм от многих переменных, рассмотрим
рис. 8.16. На рис. 8.16, а представлен одноцветный образ цветной
фотографии. Исходный цветной образ был составлен из трех
16-уровневых КЗГ образов. Для наших целей существенно
отметить, что шарф и один из цветков на платье были
ярко-красные, а волосы и лицо светлые и отличались по спектральным
характеристикам от окна и других объектов деталей фона.
Рис. 8.16,6 получен в результате определения порогового
уровня для группы точек гистограммы, о которой было известно,
что она содержит КЗГ компоненты, представляющие собой
телесные тона. Важно отметить, что окно, которое в одноцветном
образе имеет такой же диапазон интенсивности, как и волосы,
не проявилось на сегментированном образе вследствие различия
их мультиспектральных характеристик. Тот факт, что некоторые
малые области волос в верхней части головы объекта
проявились на сегментированном образе, говорит о том, что они
телесного цвета. Рис. 8.16, в получен путем определения порогового
416
уровня группы точек, близкой к красной оси. В этом случае
только шарф, красный цветок и несколько изолированных точек
прояЯшсь на сегментированном образе. Пороговый уровень,
использованный при получении обоих результатов, не превышал
НрКера одного элемента кубической решетки. Таким образом,
все пикселы с компонентами, не превышающими единичного
расстояния от центра группы точек, были закодированы как белые.
Любые другие пикселы рассматривались как черные.
8.2.3. Областно-ориентированная сегментация
Основные определения. Целью сегментации является
разделение образа на области. В разд. 8.2.1 мы рассматривали эту
проблему как нахождение границ между областями на основе
принципа разрыва интенсивности, в то время как в разд. 8.2.2
сегментация осуществлялась после определения пороговых
14 К. Фу и др.
417
уровней, зависящих от таких свойств пикселов, как
интенсивность или цвет. В этом разделе мы рассмотрим методы
сегментации, основанные на прямом нахождении областей.
Пусть R— область образа. Рассмотрим сегментацию как
процесс разбиения R на п подобластей /?ь /?2, ..-, Rn, так что
1. Д^=^
2. Ri — связная область, i= 1, 2, ,.., /г;
3. Ri П Rj = 0 для всех i и /, i Ф /;
4. Р(/?<) есть ИСТИНА для i= 1, 2, ..., щ
5. P(Ri\JRj) есть ЛОЖЬ для *=й=/, где P(i?*) —логический
предикат, определенный на точках из множества /?/, и 0 —
пустое множество.
Условие 1 означает, что сегментация должна быть полной,
т. е. каждый пиксел должен находиться в образе. Второе
условие требует, чтобы точки в области были связными (разд. 7.5.2).
Условие 3 указывает на то, что области не должны
пересекаться. Условие 4 определяет свойства, которым должны
удовлетворять пикселы в сегментированной области. Простой пример:
Р(Rt)= ИСТИНА, если все пикселы в Ri имеют одинаковую
интенсивность. Условие 5 означает, что области Rt и Rj
различаются по предикату Р. Применение этих условий в алгоритмах
сегментации рассматривается в следующих разделах.
Расширение области за счет объединения пикселов.
Расширение области сводится к процедуре группирования пикселов или
подобластей в большие объединения. Простейшей, mj^^^m^
ляется агрегирование пикселов. Процесс начинается с выбора
множества узловых точек, с которых происходит расширение
области в результате присоединения к узловым точкам
соседних пикселов с похожими характеристиками (интенсивность,
текстура или цвет). В качестве простой иллюстрации этой
процедуры рассмотрим рис. 8.17, а, на котором цифры внутри ячеек
указывают интенсивность. Пусть точки с координатами (3, 2) и
(3, 4) используются как узловые. Выбор двух начальных точек
приведет к сегментации образа на две области: области Ru
связанной с узлом (3, 2), и области R2} связанной с узлом (3, 4).
Свойство Р, которое мы будем использовать для того, чтобы
отнести пиксел к той или иной области, состоит в том, чтр модуль
разности между интенсивностями пиксела и узловой точки не
превышает пороговый уровень Т. Любой пиксел,
удовлетворяющий этому свойству одновременно для обоих узлов, произвольно
попадает в область R\. На рис. 8.17,6 показан результат,
полученный для Т = 3. В этом случае сегментация проводится для
двух областей, причем точки в Ri обозначаются буквой а, точки
в /?2 буквой Ь. Необходимо отметить, что независимо от того, в
какой из этих двух областей будет взята начальная точка, окон-
418
0
1
0
2
0
0
1
±
0
1
5
5
6
7
5
6
8
2
б
6
7
7
7
6
5
a
чатсльный результат будет один и тот же. Если, с другой сто-
роны,%Ё1брать Т = 8, была бы получена единственная область
^Предыдущий пример, не- .—!—.—t 1
я на его простоту, иллю- i
рует некоторые важные
емы расширения области. 2
умя очевидными проблема-
являются: выбор началь- 3
:х узлов для правильного
Вредставления областей, пред- 4
Шгавляющих интерес, и опреде-
Рйенйе подходящих свойств для 5
ЯШпочения точек в различные
Области в процессе расшире-
*ния. Выбор множества,
состоящего из одной или нескольких
начальных точек, следует из
постановки задачи. Например, в
военных приложениях объек-
fbi, представляющие интерес,
имеют более высокую
температуру, чем фон, и поэтому
проявляются более ярко. Выбор
наиболее ярких пикселов
является естественным начальным
шагом в алгоритме процесса
расширения области. При
отсутствии априорной
информации можно начать с
вычисления для каждого пиксела
набора свойств, который
наверняка будет использован при
установлении соответствия
пиксела той или иной области в
процессе расширения. Если
результатом вычислений
являются группы точек (кластеры),
тогда в качестве узловых
берутся те пикселы, свойства
которых близки к свойствам
а
а
а
а
а
а
а
а
а
а
b
b
b
b
b
b
b
b
b
b
b
b
b
b
b
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
s
Рис. 8.17. Пример расширения
области на основе использования извест-
центроидов этих групп. Так, в Ных начальных точек [104].
примере, приведенном выше,
гистограмма интенсивностеи показала бы, что точки с
интенсивностью от одного до семи являются доминирующими.
Выбор критерия подобия зависит не только от задачи, но
также от вида имеющихся данных об образе. Например, анализ
14*
419.
информации, полученной со спутников, существенно зависит от
использования цвета. Задача анализа значительно усложнится
при использовании только монохроматических образов. К
сожалению, в промышленном техническом зрении возможность
получения мультиспектральных и других дополнительных данных об
образе является скорее исключением, чем правилом. Обычно
анализ области должен осуществляться с помощью набора
дескрипторов, включающих интенсивность и пространственные
характеристики (моменты, текстуру) одного источника
изображения. В разд. 8.3 приведены дескрипторы, используемые для
описания области.
Отметим, что применение только одних дескрипторов может
приводить к неправильным результатам, если не используется
информация об условиях связи в процессе расширения области.
Это легко продемонстрировать при рассмотрении случайного
расположения пикселов с тремя различными значениями
интенсивности. Объединение пикселов в «область» на основе признака
одинаковой интенсивности без учета условий связи приведет к
бессмысленному результату при сегментаци.
Другой важной проблемой при расширении области является
формулировка условия окончания процесса. Обычно процесс
расширения области заканчивается, если больше не существует
пикселов, удовлетворяющих критерию принадлежности к той или
иной области. Выше упоминались такие критерии, как
интенсивность, текстура и цвет, которые являются локальными по
своей природе и не учитывают «историю» процесса расширения
области. Дополнительный критерий, повышающий мощность
алгоритма расширения области, включает понятие размера,
схожести между пикселом-кандидатом и только что созданными
пикселами (сравнение интенсивности кандидата и средней
интенсивности области), а также формы области, подлежащей
расширению. Использование этих типов дескрипторов основано
на предположении, что имеется неполная информация об
ожидаемых результатах.
Разбиение и объединение области. Изложенная выше
процедура расширения области начинает работу с заданного
множества узловых точек. Однако можно сначала разбить образ
на ряд произвольных непересекающихся областей и затем об^
единять и/или разбивать эти области с целью удовлетворения
условий, сформулированных в начале раздела. Итеративные
алгоритмы разбиения и объединения, работа которых
направлена на выполнение этих ограничений, могут быть изложены
следующим образом.
Пусть R является полной областью образа, на которой
определен предикат Р. Один из способов сегментации R состоит в
успешном разбиении площади образа на все меньшие
квадратные области, так что для каждой области Rt, Р{/?/)=ИСТИ-
420
НА. ЩИй€&ура начинает работу с рассмотрения всей области
Hpfbtf' P(R) — ЛОЖЬ, область разбивается на квадранты.
Если щля какого-либо квадранта Р принимает значение ЛОЖЬ,
Ирг> квадрант разбивается на подквадранты и т. д. Этот метод
Пения обычно представляется в виде так называемого квад-
ерева (дерева, у которого каждая вершина имеет только че-
*е потомка). На рис, 8.18 приведен простой пример квадро-
"рева. Отметим, что корень дерева соответствует всему образу,
*,
*3
Rz
bt
к43
R42
__d
Рис. 8.18. Образ, разделенный на области (а), и соответствующее квадро-
дерево (б).
а каждая вершина — разбиению. В данном случае только /?4
подлежит дальнейшему разбиению. Если применять только
операцию разбиения, можно ожидать, что в результате
окончательного разбиения всей площади образа на подобласти последние
будут иметь одинаковые свойства. Это можно устранить
допустимым объединением так же, как и разбиением. Для того чтобы
удовлетворить условиям сегментации, введенным выше,
необходимо объединять только те соседние области, пикселы которых
удовлетворяют предикату Р\ таким образом, две соседние
области Ri и Rk объединяются только в том случае, если
P{Ri[)Rk) = ИСТИНА.
Изложенное выше можно представить в виде процедуры, где
на каждом шаге выполняются следующие операции:
1. Разбиение области Rif для которой Р (Ri) — ЛОЖЬ, на
четыре непересекающихся квадранта.
2. Объединение соседних областей /?,- и Rk, для которых
P{R}\jRk) = ИСТИНА.
3. Выход на останов, когда дальнейшее объединение или
разбиение невозможно.
Возможны варианты этого алгоритма [125]. Например,
можно сначала разбить образ на квадратные блоки. Дальней-
421
шее разбиение выполняется по изложенному выше способу, но
вначале объединение ограничивается группами" из четырех
блоков, являющихся в квадродереве потомками и
удовлетворяющих предикату Р. Когда дальнейшее объединение этого типа
становится невозможным, процедура завершается окончатель-
ш
Рис. 8Л9. Пример алгоритма разбиения и объединения.
ным объединением областей согласно шагу 2. В этом случае
объединяемые области могут иметь различный размер.
Основным преимуществом этого подхода является использование
одного квадродерева для разбиения и объединения до шага, на
котором происходит окончательное объединение.
Пример. Проиллюстрируем изложенный* выше алгоритм
разбиения и объединения рис. 8.19, В данном случае образ состоит
из одного объекта и фона. Для простоты мы предполагаем, что
интенсивности объекта и фона постоянные и P(Rt) = ИСТИНА,
если все пикселы в Rt имеют одинаковую интенсивность. Из
этого следует, что для всей области образа P(R)= ЛОЖЬ,
поэтому образ разбивается так, как показано на рис. 8,19, а. На
следующем шаге только область в левом верхнем углу
удовлетворяет предикату, и поэтому она остается неизменной, в та
422
время как другие разбиваются на подквадранты (рис. 8.19,6).
ЩщШОи случае можно объединить несколько областей, за
исключением двух подквадрантов, включающих нижнюю часть
объята; эти подквадранты не удовлетворяют предикату и поэтому
должны подвергнуться дальнейшей операции разбиения.
Результаты операции разбиения и объединения приведены на
рис. 8Л9,б. На этом шаге все области удовлетворяют предикату
Р\ и объединение соответствующих областей после последней
операции разбиения дает окончательный, сегментированный
результат (рис. 8.19, г)
8.2.4. Применение движения
Движение представляет собой мощное средство, которое
используется человеком и животными для выделения
интересующих их объектов из фона. В системах технического зрения
роботов движение используется при выполнении различных
операций на конвейере, при перемещении руки, оснащенной
датчиком, более редко при перемещении всей робототехнической
системы. В этом подразделе мы рассмотрим применение
движения для сегментации с точки зрения распознавания образов.
Основной подход. Один из наиболее простых подходов для
определения изменений между двумя кадрами изображения
(образами) f(x, у, tt) и f(x, уу £/), взятыми соответственно в
моменты времени U и //, основывается на сравнении
соответствующих пикселов этих двух образов. Для этого применяется
процедура, заключающаяся в формировании так называемой
разности образов.
Предположим, что мы имеем эталонный образ, имеющий
только стационарные компоненты. Если сравним этот образ с
таким же образом, имеющим движущиеся объекты, то разность
двух образов получается в результате вычеркивания
стационарных компонент (т. е. оставляются только ненулевые записи,
которые соответствуют нестационарным компонентам
изображения).
Разность между двумя кадрами изображения, взятыми в
моменты времени U и //, можно определить следующим образом:
ч f 1, если |/(лг, у, tt) — f(xt yy f/)|>ef /оллгч
du(x, //=i л (8.2-25)
7 tO в противном случае, '
где 6 — значение порогового уровня. Отметим, что dif(x, у)
принимает значение 1 для пространственных координат (х, у)
только в том случае, если два образа в точке с этими
координатами существенно различаются по интенсивности, что
определяется значением порогового уровня 0.
423
При анализе движущегося образа все пикселы изображений
разности йц(х, у), имеющие значение 1, рассматриваются как
результат движения объекта. Этот подход приметим только
в том случае, если два образа зарегистрированы и
освещенность имеет относительно постоянную величину в пределах
границ, устанавливаемых пороговым уровнем в. На практике
а -. #
Рис. 8.20, Кадр изображения
в момент времени t{ (а), кадр
изображения в момент времени
tj (б) и разность двух кадров
(в) [135].
записи в йц(х> у), имеющие значение 1, часто появляются в
результате действия шума. Обычно на разности двух кадров
изображения такие значения выглядят как изолированны^ точки.
Для их устранения применяется простой подход, заключающийся
в формировании 4- или 8-связных областей из единиц в d//(x, у),
и затем пренебрегают любой областью с числом записей, мень*
шим заранее заданного. При этом можно не распознать малые
и/или медленно движущиеся объекты, но это увеличивает
вероятность того, что остающиеся записи в разности двух кадров
изображения, действительно соответствуют движению.
Проиллюстрируем эти рассуждения рис. 8.20. На рис. 8.20, а приведен эта-
424
tMieiHioiteiMMiiniti
мммммемемм им
CIMIIMMIIMIMIMMMM)
HMHIMMIMIMtlllMtltt
IIMIMMCIMMUMIIMIM
»«•• ИП.1.1 0)
MMMMtIMM М«
lilt
IMI
1111
111$
1111
1111
Jill.
•HI.
1111
/1111.
1111
** 4u
mi
•Hi
111
111
1,11
111
1 ! 1
1111 ^b
11 f| «*!
ПИ
If Лонный кадр изображения, который соответствует моменту
времени ti и состоит из одного объекта постоянной интенсивности,
движущегося с равномерной скоростью по поверхности фона,
также имеющего постоянную интенсивность. На рис. 8.20,6 приведен
кадр в момент времени */, а на рис. 8.20, в разность кадров
рассчитанная по уравнению (8.2-25) с пороговым уровнем, большим
постоянной интенсивности фона. Необходимо отметить, что в
процессе определения разности кадров возникли две несвяз-
р ные области: одна область является результатом выделения
контура передней части, а другая — задней части движущегося
объекта.
Аккумулятивная разность. Как говорилось выше, разность
кадров благодаря шуму часто содержит изолированные записи.
Несмотря на то что число таких записей может быть сокращено
или полностью ликвидировано в результате анализа связности
пороговых уровней, этот процесс может также привести к
потере изображений малых или медленно движущихся объектов.
Ниже излагается подход для решения этой проблемы путем
рассмотрения изменения в расположении пикселов на
нескольких кадрах, т. е. в процесс вводится «память». Основная идея
заключается в пренебрежении теми изменениями, которые
возникают случайно в последовательности кадров и, таким образом,
могут быть отнесены к случайному шуму.
Рассмотрим последовательность кадров изображения
f(x, У, tx), f(x9 у, t2), ..., f(xt уу tn) и допустим, что f(x, у, ti)
является эталонным образом. Изображение аккумулятивной
разности формируется в результате сравнения эталонного
образа с каждым образом в данной последовательности. В
процедуре построения изображения аккумулятивной разности
имеется счетчик, предназначенный для учета расположения
пикселов. Его значение увеличивается каждый раз, когда возникает
различие в расположении соответствующих пикселов
эталонного образа и образа из рассматриваемой последовательности.
Таким образом, когда k-й кадр сравнивается с эталонным,
запись в данном пикселе аккумулятивной разности означает, во
сколько раз интенсивность пиксела &-го кадра отличается от
интенсивности пиксела эталонного образа. Различия
устанавливаются, например, с помощью уравнения (8.2-25).
Приведенные выше рассуждения иллюстрируются рис. 8.21.
На рис. 8.21, а—д приведены образы прямоугольного объекта
(обозначенного нулями), движущегося вправо с постоянной
скоростью 1 пиксел/кадр. Эти образы приведены в моменты
времени, соответствующие одному перемещению пиксела. На
рис. 8.21, а изображен кадр эталонного образа, на рис. 8.21,6—г
со 2-го по 4-й кадры последовательности, а на рис. 8.21,(9— 11-й
кадр. Рис. 8.21, е—и соответствуют изображениям
аккумулятивной разности, которые можно объяснить следующим образом.
На рис. 8.21, е левая колонка из 1 обусловлена различием между
425
объектом на рис. 8.21, а и фоном на рис. 8.21,6. Правая колонка
из 1 вызвана различием между фоном эталонного образа и
передним контуром движущегося объекта. Ко времени появления
а
5
в
г
д
9
10
11
12
13
14
15
16
9
10
11
12
13
14
15
16
9
10
11
12
13
14
15
16
9
10
11
12
13
14
15
16
9
10
11
12
13
14
15
16
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
ооооооос
ооооооос
00000000
00000000
ороооооо
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
9
10
11
12
13
14
15
16
9
10
11
12
13
14
15
16
9
10
11
12
13
14
15
16
9
10
11
12
13
14
15
16
21
21
21
21
21
21
321
321
321
321
321
321
е
4 1
21
21
21 ofC |
21
21
21
321
321
321 ,
321 J I
321
321
t
А98765438887654321
А98765438887654321
А98765438887654321 и
А98765438887654321 ' [
А98765438887654321 (
А98765438887654321
11
Рис. 8.21. Кадр эталонного образа (а), б — <? соответственно2-, 3-, 4- и 11-ft
кадры, е — и — изображения аккумулятивной разности для 2-, 3-, 4- и 11-го
кадров [135].
4-го кадра (рис. 8.21, г)\ первый ненулевой столбец
изображения аккумулятивной разности указывает на три отсчета, что
соответствует трем основным различиям между этим столбцом в
эталонном образе и соответствующим столбцом в последующих
426
■ррШ^На рис. 8.21, и показано общее число из 10 (представ-
X «Л» в шестнадцатеричной системе счисления) изменений
лч> положения. Остальные записи на этом рисунке объясняв
ся аналогично.
Нередко полезно рассматривать три типа изображений
аккумулятивной разности^ абсолютное, положительное и
отрицательное. Последние два получаются из уравнения (8.2-25), в
У99Н999999999ДО
9§#999?9?99?9?9?9У99;
?91|е8В8В88вэ8ее8вееа
^teeiemeteeeseeeaii.
Ytaim7?>7??ir}77Tmii
imW7lt?777?l77777*iU
We7?466644444464463322l I
»ftf774A4*6AA4AA46443X2*ll
9?BB77666644444644A4332:4 1
?*в877*65555553555Э544332211
¥У887764555555в553Я544342211
?*в87746535535М5*314 433*211
998877 44354444*4444«344»32211
V?e87?465S4444444444554433C21i
998877W5J44444444445544S32211
vyB877446fi443a313333445B44S322U
У?Вв77АА354433333333645344332211
112233445366644666645544332?U
li2«344556477??7?77643S443322lt
tl2SS344SSA47?7??777445S4433221I
11223344S5646466664655443322I1
11123344556*777777776«e5443322lt
11223344534477777777443544332211
112233445566666464643544332211
1122334455467777777?6435«43322lt
1122334455667777777766354433221I
112233445566666666663344332211
112233445366666666665344332211
112233445566666666665544332211
1122334455555555335544332211
1122334455555535535344332211
1122334455555535533544332211
11223344444444444444332211
1122334444444444444 4332211
11223344444444444444332211
112233333333333333332211
112233333333333333332211
112233333333333333332211
1122222222222222222211
1122222222222222222211
1122222222222222222211
Ш111111111111Ш11
ШШП1Ш1ПШП
штцшиишп
a
99999999999999999999
9У999999999999999999
9999999999999999999»
998tSQ0039Q890Qe8B3a
998600088380^0888863
99ев88В88вВ88'88б8880
99887777777777777777
99887777777777777777
99887777777777777777
9?8e7746646666646466
99887766666666446664
99887766666664444466
998B7766555555|S'5555
99887746555555355535
9989776655555555SSS3
99887766554444444444
99887746354444444444
99887746554444444444
9988774455443333333$
99887766354433333333
It
11
IX
2211
2211
2211
332211
332211
332211
44332211
4433221*
44332211
C544332211
S344332211
S544332211
665544312211
663544332211
1.12233445346446666665544332211
11223344SS447777777746SS443322U
11223344554677777777665344332211
112233445544446444665344 332211
1122334455447777777766554433221T
112233445566777777776*5344332211
112233445366666646663544332211
112233445364777777 77645544332211
11223344554677777777445544332211
113233445544646446445544332211
112233445366666466445544332211
112233445546444464445544332211
1122334455555553555544332211
1122334455555555555544332211
1122334455555555555544332211
112233 44444444444 444332211
11223344 4444 44 44 4444332211
1122334 4 44444444 4444332211
112233333333333333332211
112233333333333333332211
112233333333333333332211
1122222222222222222211
11222222222223222-22211
1122222222222222222211
1111111111111111-1111
llllllllllllllllllli
11111111111111111111
3
Рис. 8.22. Абсолютное (а), положительное (б) и отрицательное (в)
изображения аккумулятивной разности для объекта размером 20 X 20 пикселов с
интенсивностью, превышающей фон, движущегося в юго-восточном направлении
[136].
котором нет модуля, а вместо f(x, yy ti) подставляется значение
эталонного кадра. Предполагая, что числовые значения
интенсивности объекта превышают значения фона в случае, когда
разность положительна, она сравнивается с положительным
значением порогового уровня; если отрицательна, сравнение
выполняется с отрицательным значением порогового уровня. Это
определение заменяется на противоположное, если
интенсивность объекта меньше фона.
Пример. На рис. 8.22, а — в показаны абсолютное,
положительное и отрицательное изображения аккумулятивной разности
427
размером 20X20 пикселов, причем интенсивность пикселов
объекта больше интенсивности фона. Объект движется с постоянной
скоростью в юго-восточном направлении. Важно отметить, что
пространственное расширение положительного изображения
прекращается, когда объект покидает начальное положение.
Другими словами, когда объект, интенсивность которого больше
фона, полностью выходит из положения, соответствующего
положению на эталонном образе, то генерация новых записей для
положительного изображения аккумулятивной разности
прекращается. Таким образом, после завершения генерации
положительное изображение аккумулятивной разности дйет исходное
расположение объекта на эталонном кадре. Как показано ниже,
такое свойство полезно при создании эталона из движущейся
последовательности образов. Из рис. 8.22 видно, что
абсолютное изображение содержит области как положительного, так и
отрицательного изображения, и записи в этих образах
указывают скорость и направление движения объекта. Форма
кодирования интенсивности образов, приведенных на рис. 8.22, дана
на рис. 8.23.
428
Определение эталонного образа. Успех применения методов,
изложенных в предыдущих двух разделах, зависит от
эталонного образа, относительно которого проводятся дальнейшие
сравнения. Как уже говорилось выше, различие между двумя
образами в задаче распознавания движущихся объектов
определяется путем исключения стационарных компонент при
сохранении элементов, соответствующих шуму и движущимся
объектам, Проблема выделения образа из шума решается методом
фильтрации или с помощью формирования изображения
аккумулятивной разности.
ВРис. 8.24. Два кадра изображения сцены дорожного движения. Имеются два
росновных движущихся объекта: белый автомобиль в центре и пешеход в
tлевой нижней части сцены [1351.
На практике не всегда можно получить эталонный образ,
имеющий только стационарные элементы, и это приводит к
необходимости построения эталона из набора образов,
содержащих один или более движущихся объектов. Это особенно
характерно для ситуаций, описывающих сцены со многими
быстроменяющимися объектами или в случаях, когда возникают
частые изменения сцен. Рассмотрим следующую процедуру
генерации эталонного образа. Предположим, что мы рассматриваем
первый образ последовательности в качестве эталонного. Когда
нестационарная компонента полностью вышла из своего
положения в эталонном кадре, соответствующий фон в данном кадре
может быть перенесен в положение, первоначально занимаемое
объектом в эталонном кадре. Когда все движущиеся объекты
полностью покинули свои первоначальные положения, в
результате этой операции воссоздается эталонный образ, содержащий
только стационарные компоненты. Перемещение объекта можно
определить с помощью операции расширения положительного
изображения аккумулятивной разности.
Пример. Иллюстрация описанного выше подхода приведена
на рис. 8.24 и 8.25. На рис. 8.24 показаны два кадра изображе-
429
ния перекрестка. Первое изображение рассматривается в
качестве эталонного, а второе воспроизводит эту же сцену в
некоторый более поздний момент времени. Основными движущимися
деталями являются автомобиль, движущийся слева направо, и
Пешеход, пересекающий улицу в нижней левой части картины.
Рис. 8.25. Изображение, в котором устранен автомобиль и сохранен фон (а),
и изображение, в котором устранен пешеход и сохранен фон. Последнее
изображение можно использовать как эталонное f!35].
Устранение движущегося автомобиля показано на рис. 8.25, а,
а устранение пешехода — на рис. 8.25,6.
8.3. ОПИСАНИЕ
В системах технического зрения проблемой описания
называется выделение свойств (деталей) объекта с целью
распознавания. В идеальном случае дескрипторы не должны зависеть
от размеров, расположения и ориентации объекта, но должны
содержать достаточное количество информации для надежной
идентификации объектов. Описание является основным
результатом при конструировании систем технического зрения в том
смысле, что дескрипторы должны влиять не только на
сложность алгоритмов распознавания, но также и на их работу.
В разд. 8.3.1, 8.3.2 и 8.4 мы рассмотрим три основные
категории дескрипторов: дескрипторы границы, дескрипторы области
и дескрипторы для описания трехмерных структур.
"8.3.1. Дескрипторы границы
Цепные коды. Цепные коды применяются для представления
границы в виде последовательности отрезков прямых линий
определенной длины и направления. Обычно в основе этого
представления лежит 4- или 8-связная прямоугольная решетка
(рис. 8.26). Длина каждого отрезка определяется разрешением
решетки, а направления задаются выбранным кодом. Отметим,
430
щ*й<+
-v-0
4-е
-кО
3
6
Ь; 8.26. 4-направленный цепной код (а) и 8-направленный цепной код (б).
L
J.
(Г
0
•—*■
3
iо^, о
->+*
Y-
V в
Цепкой код 0 3 3 001 f 03332 3 ...
Рис. 8.27. Этапы получения цепного кода.
431
что для представления всех направлений в 4-направленном
цепном коде достаточно 2 бит, а для 8-направленного цепного кода
требуется 3 бит. Конечно, можно определить цепные коды с
большим числом направлений, но на практике наиболее часто
используются коды, приведенные на рис. 8.26.
Для порождения цепного кода заданной границы сначала
выбирается решетка (рис. 8.27,а). Тогда, если площадь ячейки,
расположенной внутри границы, больше определенного числа
(обычно 50%), ей присваивается значение 1; в противном
случае этой ячейке присваивается значение 0. Данный процесс
иллюстрируется рис. 8.27,6, где ячейки со значением 1
отмечены темными линиями.
Окончательно мы кодируем
границу между двумя областями,
используя направления,
заданные решеткой на рис. 8.26, а.
Результат кодирования в
направлении по часовой стрелке
с началом в месте, помеченном
точкой, приведен на рис. 8.27, в.
Альтернативная процедура
состоит в разбиении границы
на участки равной длины
(каждый участок имеет одно
и то же число пикселов) и
соединении граничных точек
Рис. 8,28. Генерация цепного кода с каждого участка прямой ЛИ-
помощью разбиения границы. нией, а затем присваивания
каждой линии направления,
ближайшего к одному из допустимых направлений цепного
кода. Пример такого подхода, использующего четыре
направления, приведен на рис. 8.28.
Важно отметить, что цепной код данной границы зависит от
начальной точки. Однако можно нормировать код с помощью
простой процедуры. Для создания цепного кода начальная
точка на решетке выбирается произвольным образом.
Рассматривая цепной код как замкнутую последовательность индексов
направлений, мы вновь выбираем начальную точку таким
образом, чтобы результирующая последовательность индексов была
целым числом, имеющим минимальную величину. Также можно
нормировать повороты, если вместо цепного кода
рассматривать его первую разность. Первая разность вычисляется в
результате отсчитывания (в направлении против часовой стрелки)
числа направлений, разделяющих два соседних элемента кода.
Например, первая разность для цепного кода с 4
направлениями 10103322 есть 3133030. Если рассматривать код как
замкнутую последовательность, тогда первый элемент разности
432
можно вычислить, используя переход между последним и пер-
КрШ компонентами цепи. В данном примере результатом яв-
рЙНется 33133030. Нормирование можно осуществить путем
разбиения всех границ объекта на одинаковое число равных сег-
А центов и последующей подгонкой длин сегментов кода с целью
нх соответствия этому разбиению, как показано на рис. 8.28.
Изложенные методы нормирования являются точными
только в том случае, когда сами границы инвариантны к повороту
и изменению масштаба. Этот случай редко встречается на
практике. Например, один и тот же объект, разбитый на элементы
в двух различных направлениях, как правило, имеет разную
kw
-ил.
J I L.
Ф % 4г 0 f & *
а
* Z
0
* в * * *
Рис. 8.29. Две простые формы границы и их сигнатуры как функции угла.
форму границы, причем степень различия пропорциональна
разрешающей способности изображения. Этот эффект можно
уменьшить, если выбирать длины элементов цепи большими, чем
расстояния между пикселами дискретного образа, или же выбирать
ориентацию решетки (рис. 8.27) вдоль главных осей
кодируемого объекта. Этот вопрос рассматривается ниже в разделе,
посвященном индексам формы.
Сигнатуры. Сигнатурой называется одномерное
функциональное представление границы. Известно несколько способов
создания сигнатур. Одним из наиболее простых является
построение отрезка из центра к границе как функции угла (рис. 8.29).
Очевидно, что такие сигнатуры зависят от периметра области и
начальной точки. Нормирование периметра можно осуществить,
пронормировав кривую г(9) максимальным значением.
Проблему выбора начальной точки можно решить определив сначала
цепной код границы, а затем применив метод, изложенный в
предыдущем разделе. Конечно, расстояние, зависящее от угла, не
является единственным способом определения сигнатуры.
Например, можно провести через границу прямую линию и определить
угол между касательной к гарнице и этой линией как функцию
433
положения вдоль границы [4]. Полученная сигнатура, хотя и
отличается от кривой г(0), несет информацию об основных
характеристиках формы границы. Например, горизонтальные участки
кривой соответствовали бы прямым линиям вдоль границы,
поскольку угол касательной здесь постоянен. Один из вариантов
этого метода в качестве сигнатуры использует так называемую
функцию плотности наклона [206]. Эта функция представляет
собой гистограмму значений угла касательной. Поскольку
гистограмма является мерой концентрации величин, функция
плотности наклона строго соответствует участкам границы с
постоянными углами касательной (прямые или почти прямые участки)'
и имеет глубокие провалы для участков, соответствующих
быстрому изменению углов (выступы или другие виды изгибов).
После получения сигнатуры мы должны ее описать таким
образом, чтобы можно было различать сигнатуры,
соответствующие различным формам границы. Как правило, эта проблема
решается просто, поскольку теперь мы имеем дело с
одномерными функциями. Метод, часто применяемый для определения
отличительных признаков сигнатуры, состоит в определении ее
моментов. Пусть а — дискретная случайная величина,
означающая отклонения амплитуды сигнатуры, и пусть р{а{)у /==
= 1, 2, ..., К — соответствующие значения гистограммы, где
К — число дискретных приращений амплитуды а. Тогда п-й
момент in от а относительно его среднего значения определяется
выражением
к
Vn(a)=Z (at-mYpiad* (8.3-1)
где
А
/n=£a<Pte). (8.3-2)
Величина m является средним значением a, a \i2 — его
дисперсией. Для установления различия между сигнатурами явно
непохожих форм границы обычно требуется только несколько
первых моментов.
Аппроксимация многоугольниками. Дискретную границу с
произвольной точностью можно аппроксимировать
многоугольниками. Для замкнутой кривой аппроксимация является
точной, когда число сегментов в многоугольнике равно числу точек
границы, так что каждая пара соседних точек определяет
сегмент многоугольника. На практике целью аппроксимации
многоугольниками является качественное определение формы
границы с помощью минимального числа многоугольных сегментов.
Хотя обычно эта проблема нетривиальна и довольно быстро
сводится к итеративному поиску, требующему больших временных
434
затрат, имеется ряд методов аппроксимации многоугольниками,
относительная простота которых и требования к обработке
данных делают их пригодными для приложений в области
технического зрения роботов. В этом разделе рассмотрено несколько
таких методов.
Вначале рассмотрим метод, предложенный в работе [269],
для определения многоугольников, имеющих минимальный пе-
Рис. 8.30. Граница объекта, заключенная в элементы (а), и многоугольник
минимального периметра (б).
риметр. Эту процедуру лучше всего объяснить на примере.
Предположим, что мы заключили границу во множество
связанных друг с другом элементов (рис. 8.30, а). Это вложение
представляется в виде границ, соответствующих внешней и
внутренней границам полосы элементов. Мысленно границу
объекта можно представить в виде резиновой ленты,
расположенной внутри границ. Если теперь предположить, что
резиновая лента сжалась и приняла форму, показанную на рис. 8.30,6,
то эта форма будет соответствовать многоугольнику
минимального периметра, удовлетворяющего геометрии полосы
элементов. Когда элементы расположены таким образом, что внутри
435
каждого элемента находится только одна точка границы, та
для каждого элемента максимальная ошибка между исходной
границей и ее аппроксимацией резиновой лентой составит
V2d, где d — расстояние между пикселами. Эту ошибку
можно в 2 раза уменьшить, расположив пикселы в центрах
соответствующих элементов.
В задаче аппроксимации многоугольниками применяются
методы объединения, основанные на ошибке или других
критериях. Один из подходов состоит в соединении точек границы
линией по методу наименьших квадратов. Линия проводится до
тех пор, пока ошибка аппроксимации не превысит ранее
заданный порог. Когда порог превышается, параметры линии
заносятся в память, ошибка полагается равной нулю и процедура
повторяется; новые точки границы соединяются до тех пор, пока
ошибка снова не превысит порог. В конце процедуры
образуются вершины многоугольника в результате пересечения
соседних линий. Одна из основных трудностей, связанная с этим
подходом, состоит в том, что эти вершины обычно не соответствуют
изгибам границы (таким, как углы), поскольку новая линия
начинается только тогда, когда ошибка превысит порог. Если,
например, длинная прямая линия пересекает угол, то числом
(зависящим от порога) точек, построенных после пересечения,
можно пренебречь ранее, чем будет превышено значение
порогового уровня. Однако для устранения этой трудности наряду
с методами объединения можно использовать методы разбиения.
Один из методов разбиения сегментов границы состоит в
последовательном делении сегмента на две части до тех пор, пока
удовлетворяется заданный критерий. Например, можно
потребовать, чтобы максимальная длина перпендикуляра,
проведенного от сегмента границы к линии, соединяющей две крайние
точки этого сегмента, не превышала ранее установленного
значения порогового уровня. Если это имеет место, наиболее
дальняя точка становится вершиной, разделяя, таким образом,
исходный сегмент на два подсегмента. Этот метод обладает тем
преимуществом, что он адаптирован к наиболее подходящим точкам
изгиба. Для замкнутой границы наилучшей начальной парой
точек обычно являются точки, наиболее удаленные от границы.
Соответствующий пример приведен на рис. 8.31. На рис. 8.31, а
показана граница объекта, а на рис. 8.31,6— разбиение э^й
границы (сплошная линия) по наиболее удаленным точкам,
В точке с перпендикуляр из вершины сегмента к линии аЪ имеет
наибольшую длину. Аналогично точка d наиболее удалена от
нижнего сегмента. На рис. 8.31, в показан результат применения
процедуры разбиения с пороговым уровнем, равным 0,25 длины
линии ab. Поскольку длина перпендикуляра, опущенного из
любой точки новых сегментов границы до соответствующей
прямой линии, не превышает выбранной величины порогового
436
урошш, то результатом работы процедуры является
многоугольник, приведенный на рис. 8.31, г.
Отметим, что имеется большое число работ, посвященных
комбинации методов объединения и разбиения. Обзор этих
методов приведен в работе [232].
Индексы формы. Граница, закодированная с помощью цеп*
ного кода, имеет несколько первых разностей, зависящих от
начальной т©чки. Индекс формы такой границы, основанный на
Рис. 8.31. Исходная граница (а), граница, разделенная по наиболее
удаленным точкам (б), соединение вершин отрезками прямых линий (в) и
получившийся в результате многоугольник (г).
коде из четырех направлений (рис. 8.26, а), определяется как
первая разность наименьшего значения. Порядок п индекса
формы равен числу цифр кода. Отметим, что п существует даже
для замкнутой границы, и его значения ограничивает число
всех возможных форм. На рис. 8.32 приведены все возможные
формы 4-, 6- и 8-го порядков вместе с их цепными кодами,
первыми разностями и индексами формы. Отметим, что при
вычислении первых разностей цепные коды рассматривались как
замкнутые последовательности. Хотя первая разность цепного
кода не зависит от вращения, закодированная граница, вообще
говоря, будет зависеть от ориентации решетки кода, показанной
на рис. 8.27, а. Один из путей нормирования ориентации
решетки следующий: большой осью границы является отрезок
прямой линии, соединяющий две наиболее удаленные друг от
437
друга точки. Малой осью является перпендикуляр,
восстановленный к. большой оси и имеющий Длину, достаточную для
построения прямоугольника, описанного вокруг границы.
Отношение большой оси к малой называется эксцентриситетом
границы, а упомянутый выше прямоугольник— базовым прямо-
угольником. Во многих случаях при совмещении решетки
цепного кода со сторонами базового прямоугольника получается
только один индекс формы. В работе [85] приведен алгоритм
построения базового прямоугольника для
6-$ порядок
замкнутой кривой,
4 и порядок
и
Цепной код о 3 21
Разность 3 3 3 2
Мдекс (рормы 3 33 3
-*-
0 0 3 22 1
3033 03
033 03 3
8-йпорядок
Цепной код 0033ZZ11
Разность 30303030
Индекс формы 03030303
4 Н
03032211
33133 030
030331 33
■4-
0003222 t
30033003
003300 33
Рис. 8.32. Все формы 4-, 6- и 8-го порядков. Направления определяются
согласно рис. 8.26, и точка в левом верхнем углу указывает начальную точку.
закодированной с помощью цепного кода. Задавая желаемый
порядок формы границы области, мы получаем прямоугольник
порядка п, эксцентриситет которого наилучшим образом
соответствует эксцентриситету базового прямоугольника для
установления размеров решетки. Например, если п = 12, то всеми
прямоугольниками 12-го порядка (т. е. периметр которых равен
12) являются следующие; 2X4, ЗХЗи1Х5. Если для данной
границы эксцентриситет прямоугольника 2X4 наиболее близок
к эксцентриситету базового прямоугольника, выбирается
решетка 2X4, центр которой совпадает с центром базового
Прямоугольника, и для получения цепного кода применяется
изложенная выше процедура. Индексы формы получаются из
первых разностей этого кода с помощью только что приведенного
метода. Хотя порядок полученного индекса формы обычно
равен п (что определяется способом выбора размеров ячеек
решетки) для границ, имеющих выемки, размеры которых
сравнимы с размерами ячеек решетки, порядок индекса формы
иногда будет больше д. В этом случае выбирается прямоуголь-
438
ник более низкого порядка и вся процедура повторяется, пока
индекс формы, полученный в результате ее работы, не
достигнет величины п.
Пример. Предположим, что для границы, показанной на
.8.33, а мы задали порядок /г == 18. Для получения индекса
рмы такого порядка воспользуемся только что изложенной
"щедурой. Сначала мы находим базовый прямоугольник, как
Индекс срормы. 000310330130031303
Рис. 8.33. Шаги генерации индекса формы.
показано на рис. 8.33,6. Ближайшим прямоугольником 18-го
порядка является прямоугольник 3X6, поэтому базовый
прямоугольник разбивается так, как показано на рис. 8.33,6, причем
направления цепного кода совпадают с направлениями решетки.
Затем мы определяем цепной код и его первую разность, по
которой вычисляется индекс формы (рис. 8.33,г).
Дескрипторы Фурье. Дискретное одномерное преобразование
Фурье, определяемое уравнением (7.6-4), часто можно исполь-
439
.♦.••
• ••••
зовать для описания двумерной границы. Предположим, что
граница состоит из М точек. Если рассматривать границу на
комплексной плоскости (рис. 8.34), каждая точка (х, у) двумерной
границы соответствует комплексному числу х + /г/.
Последовательность точек границы
можно представить в виде
функции, имеющей преобразование
Фурье F{u)y и = О, I, 2, ...
..., М—1. Если М является
целым числом (степенью 2), F(u)
можно вычислить с помощью
алгоритма быстрого
преобразования Фурье (алгоритма
БПФ), рассмотренного в
разд. 7.6.1. Этот метод выбран
потому, что для идентификации
существенно разных форм
обычно требуется только
несколько первых компонент
F(u). Например, объекты,
приведенные на рис. 8.35, можно
различить, используя менее 10 % элементов полного
преобразования Фурье их границ. Преобразование Фурье легко нормируется
для размера, поворота и начальной точки границы. Для изме-
i
Действительная ось ее
Рис. 8.34. Представление границы
области на комплексной плоскости.
Рис. 8.36. Две формы, которые легко различить с помощью дескрипторов
Фурье [2341.
нения размера контура достаточно умножить компоненты пре
образования Фурье на константу. В силу линейности
преобразования Фурье это эквивалентно умножению границы на один
и тот же множитель (масштабирование). Поворот на угол 0
осуществляется умножением элементов F(u) на ехр (/в). Окон-
440
чательно можно показать, что изменение начальной точки кон-
Vtypa в пространственной области соответствует умножению &-й
компоненты F(u) на ехр(//гГ), где Т лежит в интервале [0, 2л].
Поскольку значения Т изменяются в пределах от 0 до 2я,
начальная точка обходит весь контур только один раз. Эту
информацию можно использовать как основу для нормирования
1[104].
8.3.2. Дескрипторы области
Область, представляющую интерес, можно описать формой
ее границы (разд. 8.3.1) или же путем задания ее
характеристик, как показано ниже. Важно отметить, что методы,
рассмотренные в обоих разделах, применяются для описания областей.
Некоторые простые дескрипторы. Существующие системы
технического зрения основываются на довольно простых
дескрипторах области, что делает их более привлекательными с
вычислительной точки зрения. Как следует ожидать, применение
этих дескрипторов ограничено ситуациями, в которых
представляющие интерес объекты различаются настолько, что для их
идентификации достаточно несколько основных дескрипторов.
Площадь области определяется как число пикселов,
содержащихся в пределах ее границы. Этот дескриптор полезен при
сборе информации о взаимном расположении и форме объектов,
от которых камера располагается приблизительно на одном
и том же расстоянии. Типичным примером может служить
распознавание системой технического зрения объектов,
движущихся по конвейеру.
Большая и малая оси области (разд. 8.3.1) полезны для
определения ориентации объекта. Отношение длин этих осей,
называемое эксцентриситетом области, также является важным
дескриптором для описания формы области.
Периметром области называется длина ее границы. Хотя
иногда периметр применяется как дескриптор, чаще он
используется для определения меры компактности области, равной
квадрату периметра, деленному на площадь. Отметим, что
компактность является безразмерной величиной (и поэтому
инвариантна к изменению масштаба) и минимальной для
поверхности, имеющей форму диска.
Связной называется область, в которой любая пара точек
может быть соединена кривой, полностью лежащей в этой
области. Для множества связных областей (некоторые из них
имеют отверстия) в качестве дескриптора полезно использовать
число Эйлера, которое определяется как разность между числом
связных областей и числом отверстий. Например, числа Эйлера
для букв А и В соответственно равны 0 и —1, Другие
дескрипторы области рассматриваются ниже.
441
Текстура. Во многих случаях идентификацию объектов или
областей образа можно осуществить, используя дескрипторы
текстуры. Хотя не существует формального определения
текстуры, интуитивно этот дескриптор можно рассматривать как
описание свойств поверхности (однородность, шероховатость,
регулярность). Некоторые примеры приведены на рис. 8.36. Двумя
основными подходами для описания текстуры являются
статистический и структурный. Статистические методы дают такие
характеристики текстуры, как однородность, шероховатость,
зернистость и т, д. Структурные методы устанавливают взаимное
расположение элементарных частей образа, как, например,
описание текстуры, основанной на регулярном расположении
параллельных линий.
Одним из наиболее простых методов описания текстуры
является использование моментов гистограммы интенсивности
442
образа или области. Пусть z— случайная величина, обозначаю-
Кршднекретную интенсивность образа, и p{zi), i = 1, 2,..., L —
роответствующие значения гистограммы, где L — число уровней
/"различной интенсивности. В разд. 8.3.1 показано, что /г-й момент
Ы относительно среднего значения определяется формулой
M2)=£(*<-m)npfo). (8.3-3)
где т — среднее значение z (т. е» средняя интенсивность
образа):
m = £ ггр (Zi). (8.3-4)
Из уравнения (8.3-3) следует, что ц0=1 и |ni = 0. Второй
момент, называемый дисперсией и обозначаемый а2(г), особенно
важен для описания текстуры. Он является мерой контраста
интенсивности и применяется для определения дескрипторов,
описывающих однородность поверхности. Например, величина
«-1—ttW (8-3"5)
равна 0 для областей постоянной интенсивности [а2(г)= 0, если
все zi имеют одно и то же значение] и приближается к 1 для
больших значений ст2(г). Третий момент является мерой
асимметрии гистограммы, а четвертый момент — мерой ее
относительной ровности. Пятый и шестой моменты не так легко
связать с формой гистограммы, но они дают некоторую
количественную информацию о виде текстуры.
Однако характеристики текстуры, вычисляемые только по
гистограммам, не дают информации о взаимном расположении
пикселов. Поэтому для получения такой информации в процессе
анализа текстуры надо рассматривать,не только распределение
интенсивностей, но также положения пикселов с равными или
почти равными значениями интенсивности. Пусть Р — оператор
положения и А — матрица размером &Х&> где элемент ац
обозначает число появлений точек с интенсивностью zi (в
положении, определяемом Р) относительно точек с интенсивностью Z\
для 1 ^ /, / «^ k. Например, рассмотрим образ с тремя
уровнями интенсивности Z\ = 0, z^ = 1 и 23 = 2:
0 0 0 12
110 11
2 2 10 0
110 2 0
0 0 10 1
443
Если мы определим оператор положения как «един пиксел
справа и затем один пиксел вниз», тогда"мы получим матрицу
А размерностью 3X3 следующего вида:
Г4 2 1
А= 2 3 2
L0 2 О
]■
где, например, ац — число появлений точки с уровнем
интенсивности z\ = О, расположенной на один элемент по диагонали
вниз от пиксела с такой же интенсивностью, а а\$ — число
появления точки с уровнем г\ = О относительно точки с
интенсивностью гз = 2. Отметим, что размерность матрицы А строго
определяется числом различных уровней интенсивности входного
образа. Таким образом, для практического применения этого
метода обычно требуется разбиение диапазона интенсивности
на несколько интервалов с целью сохранения приемлемой
размерности матрицы А.
Обозначим через п общее число пар точек, удовлетворяющих
Р (в приведенном выше примере п = 16). Если ввести матрицу
С с элементами сц = ац/п, тогда Сц представляет собой оценку
вероятности того, что пара точек, удовлетворяющих Р, будет
иметь значения (г/, г/). Матрица С называется матрицей
вероятности совместного появления уровней интенсивности, где
термин «уровень интенсивности» используется для обозначения
интенсивности монохромного пиксела или образа. Поскольку С
зависит от Р, можно обнаружить наличие видов данной
текстуры путем выбора соответствующего оператора положения. Так,
оператор, используемый в предыдущем примере, чувствителен
к полосам частот постоянной интенсивности, падающей под
углом —45° (отметим, что в матрице А элементом с наибольшим
значением является ац=4 отчасти благодаря точкам,
имеющим интенсивность, равную нулю и падающую под углом
—45°). В более общем случае возникает задача анализа
матрицы С с целью описания текстуры области, для которой она
была вычислена. Ниже приводится набор дескрипторов из (111].
1. Максимальная вероятность:
max (cu),
2. Разностный момент k-то порядка:
3. Обратный разностный момент &-го порядка:
444
4, Штропия:
- £ %cit\ogct!.
5. Однородность:
i f '
"- Основная идея состоит в описании «содержания» матрицы
С с помощью этих дескрипторов. Например, первое свойство
дает значение самого сильного отклика на оператор Р (как
в приведенном выше примере). Второй дескриптор имеет
относительно низкое значение, когда большие значения элементов
Матрицы С расположены около главной диагонали, поскольку
в этом случае разности i~j весьма малы. Действие третьего
о ооооо-
е
Рис. 8.37. Простейший элемент текстуры (а). Модель, созданная в
результате применения правила S^aS (б). Двумерная модель текстуры, созданная
с помощью этого и других правил (в).
дескриптора противоположно второму. Четвертый дескриптор
является мерой беспорядка и достигает наибольшего значения,
когда все элементы матрицы сц равны. Наоборот, пятый
дескриптор имеет наименьшее значение, когда все Сц равны.
Метод, основанный на применении этих дескрипторов, состоит в
том, чтобы «обучить» систему распознавать различные текстуры
по соответствующим значениям дескрипторов. После того как
вычислены дескрипторы области с неизвестной текстурой, в
качестве искомой текстуры из памяти системы выбирается та
текстура, дескрипторы которой наиболее близки к вычисленным.
Более подробно этот метод рассматривается в разд. 8.4.
Методы, рассмотренные выше, являются статистическими.
Как уже говорилось в начале этого раздела, ко второй главной
категории методов описания текстуры относятся структурные
методы. Предположим, что мы имеем правило вида S->aS>
которое означает, что символ S преобразуется в aS (например,
три применения этого правила дадут цепочку aaaS). Если а
является кругом (рис. 8.37, а), то, присвоив значение «круги
44 >
вправо» цепочке вида ааа... с помощью правила S->aS,
станет возможным генерировать модель текстуры, показанной на
рис. 8.37,6/
Предположим, что к этой схеме мы добавили несколько
новых правил: S-*bA, А-+сА, А-+с, A-+bS, 5->a, где Ь
означает «круг вниз», а с — «круг влево». Теперь мы можем создать
цепочку вида aaabccbaa, которая соответствует матрице из
кругов размерностью 3X3. Различные модели текстур, одна из
которых показана на рис. 8.37, в, можно легко создать
аналогичным образом (однако с помощью этих правил можно
создавать не только прямоугольные структуры).
Таким образом, для создания сложных моделей текстуры
можно использовать «простейший элемент текстуры»
(примитив) и набор правил, ограничивающих число возможных
взаимных расположений этих элементов. Эти понятия лежат в основе
структурного метода создания и распознавания структуры
образа, который подробно рассмотрен в разд. 8.5.
Скелет области. Важным подходом для описания вида
структуры плоской области является ее представление в виде графа.
Во многих случаях для этого определяется схема (скелет)
области с помощью так называемых прореживающих (или же
сокращающих) алгоритмов. Прореживающие процедуры
играют основную роль в широком диапазоне задач компьютерного
зрения — от автоматической проверки печатных плат до
подсчета асбестовых волокон в воздушных фильтрах. Скелет
области можно определить через преобразование средних осей
(ПСО), предложенное в работе [24]. ПСО области R с
границей В определяется следующим образом. Для каждой точки р
из R мы определяем ближайшую к ней точку, лежащую на 5.
Если р имеет больше одной такой точки, тогда о ней говорится,
что она располагается на средней оси (скелете) области /?.
Важно отметить, что понятие «ближайшая точка» зависит от
определения расстояния (разд. 7.5.3), и поэтому на результаты
операции ПСО будет влиять выбор метрики. Некоторые
примеры применения евклидовой метрики даны на рис. 8.38.
Хотя ПСО дает довольно удовлетворительный скелет
области, его прямое применение затруднительно с вычислительной
точки зрения, поскольку требуется определение расстояния
между каждой точкой области и границы. Был предложен ряд
алгоритмов построения средних осей, обладающих большей
вычислительной эффективностью. Обычно это алгоритмы
прореживания, которые итеративно устраняют из рассмотрения
точки контура области так, чтобы выполнялись следующие
ограничения:
1) не устранять крайние точки;
2) не приводить к нарушению связности;
3) не вызывать чрезмерного размывания области.
446
Хотя были сделаны некоторые шаги в применении скелетов
JpFзадач распознавания черно-белых образов с несколькими
ямй интенсивности [70], [256], этот тип представления
чно связывается с бинарными данными.
Ниже мы рассмотрим алгоритм, разработанный Накаши
р Шингалом [204]. Эта процедура быстрая, проста в
реализации и, как показано ниже, во многих случаях дает более
хорошие результаты, чем другие алгоритмы прореживания. Сначала
введем несколько определений. Используя бинарные данные,
у
А
* >
^ 7
V
1
1
1
I
\
г-
1
1
1
" 1
л
• N
• \
• S
С \
>
с я
V
/
/
■к
<
\
\
\
4J
а б
Рис. 8.38. Средние оси трех простых областей.
обозначим точки области единицами, а точки фона — нулями.
Назовем их соответственно темными и светлыми точками.
Точкой контура называется темная точка, которая имеет в своей
окрестности, состоящей из четырех точек, по меньшей мере
одну светлую. Конечной точкой называется темная точка,
которая в своей окрестности, состоящей из восьми точек, имеет
одну и только одну темную точку. Точкой разрыва называется
темная точка, устранение которой привело бы к нарушению
связности области. Для всех алгоритмов прореживания шум
и другие ложные изменения границы могут приводить к
значительным отклонениям определяемого скелета (наиболее явно
это показано на рис. 8.38,6). Поэтому предполагается, что
границы всех областей перед процессом прореживания были
предварительно сглажены, например, с помощью процедуры,
рассмотренной в разд. 7.6.2.
В соответствии с приведенным на рис. 8.39 расположением
точек окрестности точка контура р, используемая в
алгоритмах прореживания, может быть следующего вида: 1) левая
точка контура, у которой левая соседняя точка п4 светлая;
2) правая точка контура, у которой соседняя точка п0 светлая;
3) верхняя точка контура, у которой соседняя точка п2 свет-
447
лая; 4) нижняя точка контура, у которой соседняя точка п&
светлая. Иногда точку можно одновременно отнести сразу к
нескольким из этих видов. Например, темная точка р, у которой
п0 и па светлые, будет одновременно правой и левой точками
контура. Затем сначала рассматривается процесс
идентификации левых точек контура, которые должны быть устранены,
и уже потом процедура распространяется на другие виды точек.
из
Н
"5
п2
Р
Пб
m
"о
"7
Рис. 8.39. Обозначение для соседних с точкой р
пикселов, которое используется в алгоритме
прореживания [204].
Точка контура р помечается, если она не является конечной
точкой или точкой разрыва, а также если ее устранение не
вызовет чрезмерного размытия (как показано ниже). Проверка
этих условий осуществляется путем сравнения окрестности
точки р, состоящей из восьми точек с окнами, приведенными
*
d
р
d
d
d
d
d
*
d
P
d
d
d
d
d
P
*
d
e
d
P
t
d
e
Рис. 8.40. Разметка окрестности из восьми соседних точек темной точки р.
Для приведенных окон точка р не помечается. Звездочкой обозначена
темная точка, a d и е могут быть либо темными, либо светлыми [204].
на рис. 8.40, где р и звездочка являются темными точками,
a d и е могут быть либо темными, либо светлыми точками.
Если окрестность точки р соответствует окнам, показанным на
рис. 8.40, а—я, возможны два случая:
1. Если все точки d светлые, тогда р является конечной
точкой.
2. Если хотя бы одна точка d темная, тогда р является
точкой разрыва. В любом из этих случаев точка р не должна
помечаться.
Анализ окна, представленного на рис. 8.40, г, более
сложный. Если хотя бы одна из точек d и е темная, тогда точка р
является точкой разрыва и не должна помечаться. Однако
необходимо рассмотреть другое расположение точек. Предположим,
что все точки d светлые, а точки е могут быть либо темными,
либо светлыми. Это условие дает восемь вариантов, показан^
448
ных на рис. 8.41. Для «Ойфигураций а —в точка р конечная,
для конфигурации г она является точкой разрыва. Если бы р
была устранена в конфигурациях д и е, то на примере легко
юказывается, что это устранение вызвало бы чрезмерное
размытие наклонных областей шириной 2. На конфигурации ж
точка р относится к так называемой шпоре, обычно
появляющейся вследствие короткого ответвления или выступа области.
Поскольку предполагается, что граница области вначале
сглажена, появление шпоры во время процесса прореживания рас-
ВШйается как важный элемент описания формы области,
Щ Р
*
Р
*
Р
*
Р
* *
р /' р р
* * * * 1 * * *■ I
д е ж з
Рис. 8.41. Возможные конфигурации, когда на рис. 8.40 точка d светлая, а в
может быть темной, * или светлой [2041.
и поэтому точка р не должна быть устранена. Наконец, если
все изолированные точки были устранены ранее, появление во
время процесса прореживания конфигурации з означает, что
область свелась к единственной точке; ее устранение означало
бы ликвидацию последней остающейся части области.
Аналогичные рассуждения применяются, когда точки d и е меняются
местами или же когда они могут быть как темными, так и
светлыми. Главным является то, что каждая левая точка контура
р, имеющая окрестность из восьми точек, соответствующую
окнам, показанным на рис. 8.40, не должна быть устранена.
Проверка окрестности точки р на соответствие четырем
окнам (рис. 8.40) осуществляется по формуле булевой алгебры
логики:
В4 = nQ • (п{ + п2 + п6 + п7) • (п2 + Я3) • (Дв + Щ), (8.3-6)
где индекс у В означает, что п4 является светлой (т. е. р —
левая точка контура), точка — логическое И, плюс — логическое
15 К. Фу и др.
449
ИЛИ, минус — логическое отрицание, а пц i= 1, 2, 3, 4
определены на рис. 8.39. Ранее непомеченным темным точкам
присваивается значение 1 (ИСТИНА), светлым, а также
помеченным точкам — значение О (ЛОЖЬ). Тогда, если В4 = 1
(ИСТИНА), мы помечаем точку р. В противном случае точка р
остается непомеченной. Легко показать, что эти условия,
наложенные на В4, одновременно выполняются для всех четырех
окон, приведенных на рис. 8.40.
Подобные выражения получаются для правых точек
контура
В0 = п4 • (п2 + п3 + пь + nQ) • (n6 -f п7) • (/ft + «2). (8.3-7)
для верхних точек контура
В2 = гсб • (п0 + п4 + пь + гс7) • (по + «О • (й3 + п4) (8.3-8)
и для нижних точек контура
£6 = п2. (п0 + пх + п3 + п4) • (л4 + й5) • (п0 +*Hj). (8.3-9)
Используя эти уравнения, алгоритмы прореживания
работают итеративным образом, два раза сканируя данные.
Сканирование может осуществляться либо вдоль строк, либо вдщь
столбцов образа, но этот выбор обычно влияет на конечный
результат. В первом случае для пометки левых и правых точек
контура применяются В4 и В0; при втором сканировании для
пометки верхних и нижних точек контура применяются В2
и Bq. Если после второго сканирования не появилось новых
помеченных точек контура, алгоритм прекращает работу, а
искомый скелет состоит из непомеченных точек; в противном
случае процедура повторяется. Отметим, что предварительно
помеченным темным точкам при вычислении булевых
выражений присваивается значение 0. Альтернативная процедура
состоит в присвоении любой помеченной точке значения 0 во
время работы алгоритма, и следовательно, обработка точек
фона и создание скелета происходят в конце работы
процедуры. Этот метод более прост в реализации за счет отбрасывания
всех других точек области.
Пример. На рис. 8.42, а приведена бинарная область, %jt*
рис. 8.42,6 — скелет, полученный с помощью описанщт ШЫЩЩ
алгоритма. Для сравнения на рис. 8.42,0 праведен €|С€лет,
полученный на основе тех же данных с помощью хорошо
известного алгоритма прореживания [233]. Различие в результатах
очевидно.
Инварианты моментов. В разд. 8.3.1 говорилось, что для
описания границы области можно использовать дескрипторы
Фурье, инвариантные относительно перемещения, поворота и
изменения масштаба. В том случае, когда область задается
450
множЩгвом точек, она может быть описана моментами,
инвариантными относительно этих действий.
Обозначим через f(x,y) интенсивность в точке области
у). Тогда для данной области момент (р + q) порядка опре-
яется выражением
mPQ=Z E*V/(*. У), (8.3-10)
,,.г
х у
где суммирование проводится по всем пространственным
координатам (х, у) точек области, Центральный момент порядка
«til* **»»»*■
»■■•* ■»*•••■*
• •••■•• »*Ш.1»«
«НШН0111Ш1ИП1
ММ"
#••••#
••■•••1
*•••*••
••••••■
•*•«••««
t.ti.t... »»*
•••!•••■ »»*
)«.»•«••• ••••
#.»ММ.< ■■»
»»»••■••••• #»•!•
«MM»l«t§M»IMIM»MM
• •М«М*
М *
ч »
X
*
•
4
•
•
•
м» »м
•НИ
в
Рис. 8.42. Бинарная область (а). Скелет, полученный с помощью одного
алгоритма прореживания (б), и скелет, полученный с помощью другого
алгоритма прореживания (в) [204].
(р + я) определяется следующей формулой:
Им=£ И(х-х)р(у-у)Ч{х,у),
х д
где
х =
Woo
У —
moo
(8.3-1i)
(8.3-12)
Нормированный центральный момент порядка (р + д)
определяется выражением
*\pq v
^00
(8.3-13)
где
v = ^4^-+l для {p + q) = 2, 3, ... . (8.3-14)
15*
451
Используя только нормированные центральные моменты
2- и 3-го порядков, можно вывести следующий набор
инвариантов моментов:
^1 = Л2о + Ло2> (8.3-15)
*2 = (л2о-*1о2)2 + 4гй, (8.3-16)
^з - (Лао - Зтц2)2 + (3%1 - лоз)2, (8.3-17)
^4 = (Лзо + Л12)2 + (Л21 + %з)2, (8.3-18)
^5 = (Лзо — Зтц2) (Лзо + Лиг) [(Лзо + Л12)2 — 3 (т|21 + Лоз)2] +
+ (ЗЛ21 — Лоз) (Л21 + Лоз) [3 (Лзо + Л12)2 — (Л21 + Лоз)2], (8.3-19)
Фе = (Лго — Ло2) [(Лзо + Л12)2 — (Л21 + Лоз)2] +
+ 4Ли (Лзо + Л12) (Л21 + Лоз), (8.3-20)
4>7 = (ЗЛ21 — Лоз) (Лзо + Л12) [(Лзо + Л12)2 — 3 (т|21 + Лоз)2] +
+ (Зл12-Лзо)(Л21 + Лоз)[3(Лзо+Л12)2-(Л21 + Лоз)2]. (8.3-21)
Как показано в работе [128], этот набор моментов
инвариантен относительно перемещения, поворота и изменения
масштаба.]
8.4. СЕГМЕНТАЦИЯ И ОПИСАНИЕ ТРЕХМЕРНЫХ
СТРУКТУР
В предыдущих двух разделах основное внимание уделялось
методам сегментации и описания двумерных структур. В этом
разделе мы рассмотрим эти задачи применительно к
трехмерным данным сцены.
Как уже говорилось в разд. 7.1, по существу зрение
является трехмерной проблемой, поэтому в основе разработки
многофункциональных систем технического зрения, пригодных
для работы в различных средах, лежит процесс обработки
информации о трехмерных сценах. Хотя исследования в этой
области имеют более чем 10-летнюю историю, такие факторы,
как стоимость, скорость и сложность, тормозят внедрение
обработки трехмерной зрительной информации в промышленных
приложениях.
Возможны три основные формы представления
информации о трехмерной сцене. Если применяются датчики,
измеряющие расстояние, то мы получаем координаты (х,угг) точек
поверхностей объектов. Применение устройств, создающих
стереоизображение, дает трехмерные координаты, а также
информацию об освещенности в каждой точке. В этом случае каждая
точка представляется функцией f(x,y,z), где значения
последней в точке с координатами (х, у, г) дают значения
интенсивности в этой точке (для обозначения точки в трехмерном
пространстве и ее интенсивности часто применяется термин вок-
45.2
Р<сел). Наконец, можно установить трехмерные связи на основе
одного двумерного образа сцены, т. е. можно выводить связи
между объектами, такие, как «над», «за», «перед». Поскольку
точное трехмерное расположение точек сцены обычно не может
быть вычислено на основе одного изображения, связи,
полученные с помощью этого вида анализа, иногда относятся к так
называемой 2,5-мерной информации.
8.4.1. Описание трехмерной сцены плоскими участками
Один из наиболее простых подходов для сегментации и
описания трехмерных структур с помощью координат точек
(x,y,z) состоит в разбиении сцены на небольшие плоские
а 8 в
Рис. 8.43. Описание трехмерной поверхности, основанное на представлении
В виде плоских участков [265].
«участки» с последующим их объединением в более крупные
элементы поверхности в соответствии с некоторым критерием.
Этот метод особенно удобен для идентификации многогранных
объектов, поверхности которых достаточно гладкие относительно
разрешающей способности.
453
Рассмотрим основные понятия, лежащие в основе этого
метода, на примере рис. 8.43. На рис. 8.43, а приведена простая
сцена, а на рис. 8.43, б—множество соответствующих
трехмерных точек. Эти точки можно объединить в небольшие элементы
поверхности, если, например, разбить трехмерное пространство
на ячейки, в которых содержатся эти точки. Затем группе точек
каждого элемента ставится в соответствие плоскость, для
которой вычисляется единичный вектор (нормаль), проходящий
через центр этого элемента.
Плоские участки получаются в результате пересечения
плоскостей и сторон элементов, а их ориентация в пространстве
задается единичным вектором (рис. 8.43,0.) Все плоские
участки, направления которых в пределах задаваемого порога
примерно одинаковы, объединяются в элементарные области (R)
(рис. 8.43,г). Затем эти области классифицируются как
плоские (Р), кривые (С) или неопределенные (U) в зависимости
от направления плоских участков каждой области (например,
плоские участки плоской поверхности будут иметь одйо и то
же направление). Этот тип классификации областей показан
на рис. 8.43, д. Окончательно (и это самый трудный шаг)
основные поверхности получаются в результате объединения
смежных областей одного класса (рис. 8.43, £). Отметим, что в
результате работы этой процедуры сцена разделена на
различные поверхности, а каждой поверхности присвоен дескриптор
(т. е. поверхность является кривой или плоской).
8.4.2. Применение градиента
Когда сцена задана вокселами, ее можно описать плоскими
участками (по аналогии с методом, рассмотренным в разд. 8.4.1)
с помощью трехмерного градиента. В этом случае дескрипторы
поверхности также получаются в результате объединения этих
плоских участков. Как уже говорилось в разд. 7.6.4, вектор
градиента указывает направление максимальной скорости
изменения функции, а его величина соответствует величине этого
изменения. Эти понятия применимы для трехмерного случая
и также могут быть использованы для разбиения на сегменты
трехмерных структур тем же способом, который применялся
для двумерных данных. \"
Пусть задана функция f(x,y,z), тогда ее градиент в точке
G[f(x,y,z)}:
\GX-
\G,
\-Gz J
" df "J
dx
dt
dy
дг 1
(8.4-1)
454
НрЙ**мна градиента G определяется следующим образом:
G [f (*, у, z)] = (0J + 6\ + Gl)\ (8.4-2)
пользуя уравнение (7.6-39) для упрощения вычислений, G
^то аппроксимируется абсолютными значениями:
G[f(x, у, z)]~\Gx\ + \Gy\ + \Gz\.
^Применение трехмерного градиента основывается на
использовании операторов, аналогичных операторам, рассмотренным в
зд. 7.6.4. На рис. 8.44 приведен оператор размерностью
75
3
2
-Д
2
-1
2
_*5
3
2
3
/
/
/ У
0
0
0
0
0
0
°н
°и
_1у
/' /' У
л
3
Л.
г
\ 3
2
1
2
7з
3
л.
2
3
Л
А
А
)
рис. 8.44. Оператор размерностью 3X3X3 для вычисления составляющей
градиента Gx [324]. ь
3X3X3, предложенный в работе [324] для вычисления
компоненты градиента Gx. Такой же оператор, ориентированный
вдоль оси у, используется для вычислений Gy, и
ориентированный вдоль оси z — для вычисления Gz. Основное свойство этих
операторов состоит в том, что они дают наилучший (по методу
наименьших квадратов) плоский контур между двумя
областями различной интенсивности в трехмерной окрестности.
Центр каждого оператора перемещается от воксела к вок-
селу, и операторы применяются так же, как их двумерные ана-
455
логи (разд. 7.6.4), т. е. результатом действия операторов в
любой точке (#, */, z) являются Gx, Gy и G*v которые затем
подставляются в уравнение (8.4-1) для получения вектора
градиента и в уравнение (8.4-2) или (8.4-3) для получения его
величины. Отметим, что оператор, приведенный на рис. 8.44, дает
нулевое значение градиента для области постоянной
интенсивности размерностью 3X3X3.
Для разбиения сцены на плоские участки, аналогичные тем,
которые рассматривались в предыдущем разделе, имеется
простая процедура, использующая метод градиента. Нетрудно
показать, что вектор градиента к плоскости ах + by + cz ™ 0
имеет компоненты Gx = a, Gy = b и Gz=ec, Поскольку
рассмотренные выше операторы дают оптимальный плоский
участок в окрестности размерностью 3X3X3, отсюда следует,
что компоненты вектора G определяют направления плоского
участка в каждой окрестности, в то время как величина G
дает указание на резкое изменение интенсивности в пределах
плоского участка, т. е. она указывает на наличие контура
интенсивности в пределах этого участка. Соответствующий
пример применения градиентного оператора приведен на рис. 8.45.
Поскольку поверхность каждого планарного участка пpoxoдиf
через центр воксела, границы этих участков не всегда могут
совпадать. На рис. 8.45 совпадающие участки показаны
широкими однородными областями.
После того как получены плоские участки, они могут быть
объединены в основные поверхности методом, рассмотренным
в разд. 8.4.1. Отметим, что теперь мы располагаем
дополнительной информацией об интенсивности и разрывах
интенсивности, облегчающей процесс объединения и описания.
8.4.3. Разметка линий и соединений
Итак, контуры в трехмерной сцене определяются
разрывами в данных о координатах и/или интенсивности. После того
как был определен набор поверхностей и контуров,
располагающихся между ними, окончательное описание сцены может
быть получено путем разметки линий, котфрые соответствуют
контурам, и соединений, которые эти контуры образуют.
Основные виды линий приведены на рис. 8.46. Выпуклая
линия (помеченная +) образуется в результате пересечения
двух поверхностей выпуклого тела (например, линия,
образованная в результате пересечения двух сторон куба). Вогнутая
линия (помеченная —) образуется в результате пересечения
двух поверхностей, принадлежащих двум различным телам
(например, пересечение стороны куба с полом). Скрытые
линии (помеченные стрелками) представляют собой контуры
невидимых поверхностей. Поверхности, закрывающие другие ча-
466
1¥и объекта, располагаются справа от линии, если смотреть в
направлении стрелок, а невидимые поверхности располагаются
слева. После того как линии сцены размечены, их соединения
дают ключ к пониманию
природы трехмерных
объектов сцены. Физические
ограничения допускают
лишь несколько
возможных комбинаций меток
линий в соединении.
Например, сцена в виде
многогранника не имеет
линий, метки которых могут
меняться между
вершинами. Нарушение этого
правила приводит к
объектам, не имеющим
физического смысла (рис. 8.47).
В основе метода
анализа соединений лежит
образование словаря ИЗ Рис. 8.45. Аппроксимация куба плоскими
допустимых ТИПОВ СОеди- участками с использованием градиента[324]
нений. Например, легко
показать, что словарь соединений, приведенный на рис. 8.48,
содержит все значимые помеченные вершины трехгранных тел
Нижний уровень
■——— Выпуклая линия
*—-— Вогнутая линия
—*— За/сш/пая линия
Рис. 8.46. Три основные разметки линий.
(т. е. тела, у которых три плоские грани сходятся к одной вер-
10ине). После того как произведена классификация соединений
в соответствии со словарем, возникает задача объединения
различных поверхностей в объекты. Как правило, она решается
% помощью набора эвристических правил, построенных для
457
интерпретации помеченных линий и последовательностей из
соседних соединений. Основные понятия, лежащие в основе
этого метода, могут быть проиллюстрированы рис. 8.49. Из-
рис. 8.49, б следует, что капля полностью составлена из
скрытой невидимой границы, за исключением короткой вогнутой
касается базовой детали.
Поскольку перед каплей
ничего нет, она может
быть выделена из сцены.
Отметим также, что
имеется вершина типа (10)
из словаря, приведенного
на рис. 8.48. Очевидно,
что для трехгранных
объектов три поверхности,
сходящихся к этой
вершине, образуют
кубическую поверхность.
Подобные рассуждения
применимы к базовой детали,
после того как устранены
кубические поверхности,
после устранения оазовои детали на фоне остается
единственный объект, на котором завершается декомпозиция сцены.
Хотя этот пример и дает достаточно полное представление
о применении анализа линий и соединений для описания
трехмерных объектов сцены, тем не менее создание алгоритма для
обработки более сложных сцен является далеко не
тривиальной задачей. Работы, посвященные исследованиям в этой
области, приводятся в конце главы.
8.4.4. Обобщенные конусы
Обобщенным конусом (или цилиндром) называется
поверхность, получаемая в результате перемещения плоского
поперечного сечения вдоль произвольной пространственной кривой
(хребта) под постоянным к ней углом, причем поперечное
сечение преобразуется по правилу заметания объема. В
техническом зрении метод обобщенных конусов независимо от других
методов позволяет создавать образы трехмерных структур, что
полезно при моделировании и для проверки соответствия
построенных моделей исходным данным.
Пример работы процедуры генерации обобщенных конусов
приведен на рис. 8.50. На рис. 8.50, а поперечным сечением
является кольцо, хребтом — прямая линия, а правило заметания
объема состоит в перемещении поперечного сечения
перпендикулярно хребту, в то время как его диаметр остается постоян-
линии, указывающей место, где она
Рис. 8.47. Объект, не имеющий физического
смысла. Отметим, что одна из линий
меняет метку из-за того, что загорожена
выпуклость между двумя вершинами.
458
\
ft)
m
(S)
(S)
(6)
\
(7)
m
(W
(t!)
Г
(13) (ft) (15)
P«c. 8.48. Словарь соединений для трехгранных тел.
(8)
/
it 2)
(16)
Рис. 8.49. Сцена (а), помеченные линии (б) и
декомпозиция на основе анализа линий и соединений
.(в) [265].
ным. В результате получается полый цилиндр. На рис. 8.50,6
приведена та же ситуация, за исключением того, что сначала
правило заметания объема состоит в том, чтобы поддерживать
диаметр поперечного сечения постоянным, а затем после
прохождения поперечным сечением средней точки хребта диаметр
линейно возрастает.
Рис. 8.50. Поперечные сечения и соответствующие им обобщенные конусы.
а — поперечное сечение остается постоянным во время заметания объема; б — диаметр
поперечного сечения линейно увеличивается после прохождения средней точки хребта.
Когда устанавливается соответствие между набором
трехмерных точек и набором известных обобщенных конусов,
сначала определяется центральная ось точек, а затем набор
поперечных сечений, который наилучшим образом соответствует
данным при перемещении вдоль хребта. Обычно для получения
удовлетворительного результата требуется большое число
испытаний, особенно при неполных данных.
8.5. РАСПОЗНАВАНИЕ
Распознаванием называется процесс разметки, т. е.
алгоритмы распознавания идентифицируют каждый объект сцены
и присваивают ему метки (гаечный ключ, перемычка, болт).
Обычно в большинстве промышленных систем технического
зрения предполагается, что объекты сцены сегментированы как
отдельные элементы. Другое общее ограничение относится
460
к расположению устройств сбора информации относительно
исследуемой сцены (обычно они располагаются
перпендикулярно рабочей поверхности). Это приводит к уменьшению
отклонений в характеристиках формы, а также упрощает процесс
сегментации и описания в результате уменьшения вероятности
загораживания одних объектов другими. Управление
отклонениями в ориентации объекта производится путем выбора
дескрипторов, инвариантных к вращению, или путем
использования главных осей объекта для ориентирования его в
предварительно определенном направлении.
Современные методы распознавания делятся на две
основные категории: теоретические и структурные методы. Как
показано ниже, теоретические методы основываются на
количественном описании (например, статистическая текстура), а в
основе структурных методов лежат символические описания и
их связи (например, последовательности направлений в
границе, закодированной с помощью цепного кода). За
несколькими исключениями, рассмотренные в этом разделе процедуры
используются для распознавания образов двумерных объектов.
8.5.1. Теоретические методы
Теоретические методы распознавания объектов
основываются на применении решающих функций (дескриминанта). Пусть
х = (хь х2, ..., хп)т — вектор модели объекта (модельный
вектор) с действительными компонентами, где xi — i-й дескриптор
данного объекта (например, площадь, средняя интенсивность,
длина периметра). Тогда, если заданы М классов объектов
(Oi, (о2, ..., сом, основной задачей распознавания является
определение М решающих функций di(x), d2(x), ..., d.w(x), таких,
что для любого модельного вектора х*, принадлежащего классу
со/, выполняются следующие неравенства:
di(x)>df(x), /=1, 2, ..., М\ \Ф1. (8.5-1)
Другими словами, неизвестный объект, представленный
вектором х*, относится к /-му классу (т. е. распознается), если при
подстановке х* во все решающие функции di(x*) имеет
наибольшее значение.
В промышленных системах технического зрения решающие
функции используются главным образом для установления
соответствия (подбора). Предположим, что мы представляем
каждый класс объектов с помощью вектора прототипа
(усредненного вектора):
N
461
где Xk — модельные векторы, о которых известно, что они
относятся к классу cOi. Тогда, чтобы определить, к какому классу
объектов относится неизвестный вектор х*, надо найти его
ближайший прототип. Если для определения близости к прототипу
используется евклидово расстояние, задача сводится к
вычислению следующих выражений;
D/(x*) = ||x*^in/t|1 /=1, 2, ..., Ц; (8|Щ
где ||а|| =(ага)1/2 — евклидова норма. В этом случае «eifrd)^^
относится к классу со/, если Di{x*) является наименьшим
расстоянием. Нетрудно показать, что это эквивалентно
вычислению значений функций
d, (х*) = (х)т т, - l/2m/my, / — 1, 2, ... f M (8.5-4)
и выбору наибольшего значения, что совпадает с определением
решающей функции (выражение 8.5-1). Другое применение
соответствия состоит, например, в нахождении подобраза w(x, у)
462
более большом образе f(x,y). Для каждого участка {хь у)
рбраза f(x,y) коэффициент корреляции определяется
выражением
£ J][^(U)-/rg[/(U)-mf]
>■(*, *)= z Z^;,/)_WJ2Z £[f(s.o-mfpy^ (8-5-5)
где предполагается, что w(stt) центрируется в каждой точке
(х,у). Суммирование проводится по всем координатам, общим
для обоих областей, mw — средняя интенсивность w и nif —
средняя интенсивность / в области, совпадающей с w. Отметим,
что обычно значение v(x,y) лежащее в диапазоне [—1,1]»
сильно изменяется при переходе от одного участка образа
к другому, причем значение 1 соответствует наилучшему
подбору. Затем для каждого участка (х,у) определяется v(x1y)y
и для установления наилучшего соответствия w в f выбирается
его наибольшее значение. [Процедура движения w{xty) по
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, е. Таким
образом, граница представляется следующей цепочкой:
aaabebbbeddded. Таким образом, зная длины и направления
простейших элементов, а также порядок их расположения
относительно друг друга, мы можем описать структуру объекта.
В этом разделе описаны подобные методы, предназначенные
463
для создания и работы с такими видами структурных
описаний моделей объектов.
Подбор индексов формы. Рассмотрим процедуру сравнения
двух границ объектов, описанных с помощью индексов формы.
Она аналогична процедуре, изложенной в разд. 8.5.1, для
векторного представления объектов. В соответствии с разд. 8.3.1
степенью схожести k между двумя границами объектов А и В
назовем наибольшее значение совпадающих индексов формы,
Начало <
а'
a
a
a
i
- 1
^ f \ь с
f d\ t
d \
' d
d
h
i
\
4 с
6
b
f
Рис. 8.52. Граница объекта (а), простейшие элементы (б) и граница,
закодированная простейшими элементами (в). Соответствующая цепочка имеет вид
aaabcbbbcdddcd.
т. е. мы имеем 54(Л)=* s4(B), s6(A)= s6(S), 58(Л)== s8(B), ...
..., sk(A) = sh(B)9 sk+2(A)¥*sk+2{B)y sk+A{A)^sM(B)y ...,
где s является индексом формы, а нижний индекс означает
порядок. Расстояние между двумя формами границы Л и В
определяется как величина, обратная степени схожести:
D(A, В) = ~. (8.5-6)
Это расстояние удовлетворяет следующим свойствам:
а) D(A9 B)>0;
б) D(A9 В) = 0, если А = В) (8.5-7)
в) D(A, C)<max[D(4, В), 0(5, С)].
Для сравнения двух форм границы используется либо /е,либо D.
Если используется степень схожести, из сказанного выше
следует, что чем больше &, тем формы оказываются более
близкими. Обратное справедливо, когда применяется расстояние.
Пример. Для иллюстрации приведенных понятий
предположим, что мы хотим определить, какая из пяти форм (Л, В, £>,
£, F) (рис. 8.53, а) наилучшим образом соответствует форме С.
Это аналогично предположению о том, что свойства пяти форм
известны, и требуется определить, какая из них наилучшим
образом соответствует форме с неизвестными свойствами. Поиск
можно представить наглядно с помощью дерева схожести, по-
464
f' казанного на рис. 8.53, б. Корень дерева соответствует
наименьшей рассматриваемой степени схожести, которая в данном
примере равна 4. Из рис. 8.53, б видно, что все формы являются
идентичными вплоть до шестой степени (и до восьмой степени,
если исключить форму А). Таким образом, степень схожести
формы А по отношению ко всем другим формам равна 6.
Продолжая исследование, мы находим, что степень схожести
формы D по отношению к остающимся формам равна 8 и т. д.
Степень
4 >-OABCDEF
10
& о &:
а
А
В
С
V
в
F
А
оо
в
6
ос
С
6
8
оо
в
D
6
8
8
ОО
Е
6
10
8
S
ОО
F
6
8
\2
8
8
«
Рис. 8.53. Формы (а), дерево
схожести (б) и матрица
схо-нести (в) [311.
В данном случае только форма F наиболее соответствует
форме С, поскольку их степени схожести выше, чем для любых
других форм. Если бы неизвестной предполагалась форма Е,
также была бы найдена единственная форма, но с более низкой
степенью схожести. Если была бы неизвестной форма Л,
применяя этот метод, мы могли бы сказать, что она подобна
другим пяти формам со степенью схожести, равной 6. Всю
информацию можно объединить в матрицу схожести (рис. 8.53, в).
Установление соответствия с помощью цепочек.
Предположим, что два контура С\ и С2 закодированы цепочками аи
465
a2 ... an и ^i^?2 ...6m соответственно. Пусть Л является числом
соответствий между двумя цепочками, и мы говорим, что со-
ответствие появляется в /-й позиции, если а}- = 6/. Число
символов, между которыми нет соответствия, дается выражением
fl = max(|C1|, I С21) — Л, (8.5-8)
где \С\ является длиной (числом символов) цепочки С.
Можно показать, что В = О только тогда, когда С\ и С2 идентичны.
Простая мера схожести между цепочками С\ и С2
определяется отношением
R^Z~W:= max(|C,|, |C2|)-i4 ' (8,5-Q)
Поскольку в знаменателе стоит В, то R равно бесконечности
для идеального соответствия и нулю, когда между символами
в С\ и С2 нет ни одного соответствия (т. е. в этом случае
Л = 0). Поскольку соответствие устанавливается в результате
поочередного сравнения соответствующих символов, то при
создании цепочки, описывающей границу, важно^
местоположение начальной точки. В противном случае если для каждой
границы выбраны произвольные начальные точки, то надо
сдвигать одну из цепочек (по кругу) и определять R по уравнению
(8.5-9) для каждого сдвига. Число сдвигов, требуемое для
выполнения всех необходимых сравнений, равно тах(| С\\9 \С2\ )►
Пример. На рис. 8.54, а и б показаны эталонные границы для
двух классов объектов. Границы были аппроксимированны
многоугольниками (рис. 8.54, в и г). Затем в результате вычисления
внутренних углов между сегментами многоугольника были
сформированы цепочки, причем многоугольник обходился в
направлении по часовой стрелке. Углы были закодированы одним из
восьми возможных символов, соответствующих приращению 45°:
sx: 0°<9^45°, s2: 45° < 6 < 90°, ..., s8: 315° < 0 < 360°.
Результаты вычисления R для эталонной границы объекта 1
и его пяти моделей показаны на рис. 8.54, д, где записи
соответствуют значениям R = A/B (например, обозначение 1.с
соответствует третьей цепочке для объекта класса 1). На рис. 8.54,е
показаны результаты для цепочек объекта второго класса.
Наконец, на рис. 8.54, ж показана таблица значений /?, полученных
в результате сравнения цепочек обоих классов. Важно отметить»
что в последней таблице все значения R существенно меньше»
чем в предыдущих двух таблицах. Из этого следует, что
значения R соответствуют высокой степени различия между двумя
классами объектов. Например, если бы цепочка 1.а
соответствовала неизвестной форме границы, то ее наименьшее значение
при сравнении с другой цепочкой класса 1 было бы равно 4,67.
Наоборот, ее наибольшее значение при сравнении с цепочкой
второго класса было бы 1,24. Отсюда следует, что эта цепочка
относится к первому классу.
466
Синтаксические методы. Среди структурных методов
синтаксические методы наиболее часто применяются для задач
распознавания образов. Основная идея, лежащая в основе
синтаксических методов, состоит в подробном описании структурной
модели простейшими элементами в соответствии с набором пра-
а
I А/В\
l.b
I.C
l.d
[ l.e
If
i l.a
116,0
Я.6
5fil
1 4,67
Г 4,67
l.b
26,3
8,1
7,2
7,2
l.c
10,3
10,3
10,3
l.d
14,2
8,5
l.e
2hL
ГШ
2.b
2.e 1
2d
2.e
2.Г
| 2.a
33.,5
4,75
3,6
2,83
2,63
2.b
5,8
4,23
3,25
3,0
2c
19,3
9,17
7,71
2d
18,3
13,5
2x
27,0
| A/B
ПГа
2.b
2-е
2.d
2-е
[ 2.f
l.a
1,24
1,18
1,02
1,02
0,93
W*9
l.b
1,5
1,43
1,18
1,18
1,07
1,02
l.c
1,32
1,32
1,19
1,19
1,08
1,02
l.d
1747
1,47
1,32
1,32
1,19
1,14
l.c
1,55
1,55
1,39
1,39
1,24
1,11
iTl
1,48 |
1,48
1,48
1,40 J
1,25 J
1,18
Рис. 8.54. Границы объектов, принадлежащих двум различным классам (а, б),
соответствующие им аппроксимации многоугольниками (в, г) и таблицы
R = Л/В (д — ж) [2761.
вил {грамматикой). Сначала рассмотрим грамматики цепочек,
а затем распространим эти идеи на грамматики более высокой
размерности.
Грамматики цепочек. Предположим, что мы имеем два
класса объектов со! и со2» которые представляются цепочками из
простейших элементов (разд. 8.5.2). Каждый простейший элемент
можно интерпретировать как допустимый символ некоторой
грамматики, где под грамматикой подразумевается набор
синтаксических правил (отсюда название — синтаксическое
распознавание образов). С помощью этих правил из допустимых
символов можно создавать предложения. В данном случае предло-
467
жениями являются цепочки символов, которые в свою очередь
служат для описания моделей объектов. Рассмотрим две
грамматики G\ и G2. Правила грамматики G\ позволяют создавать
предложения только для объектов класса cot, а правила
грамматики G2— только для объектов класса со2. Набор
предложений, созданный грамматикой G, называется языком и
обозначается L(G).
После определения двух грамматик G\ и G2 процесс
синтаксического распознавания образов в принципе довольно прост.
Если дано предложение, представляющее неизвестную модель
объекта, задача состоит в определении языка, к которому это
предложение относится. Если предложение относится к языку
L(Gi), мы говорим, что модель описывает объект класса соь
Аналогично мы говорим, что объект относится к классу со2, если
данное предложение из языка L(G2). Однако предложение
может одновременно относиться сразу к двум языкам L(G\) и
L(G2). В этом случае оно отбрасывается.
Когда имеется больше двух классов моделей объектов,
подход синтаксической классификации тот же, что описанный
выше. Различие заключается в том, что рассматривается
большее число грамматик (по меньшей мере одна на класс). В этом
случае модель объекта относится к классу со/, если она является
предложением только из языка L(Gi). Если предложение не
относится ни к одному языку или же относится сразу к
нескольким, то модель, соответствующая этому предложению,
исключается из рассмотрения Для цепочки определим
грамматику как четверку
G = (N. E> P, 5), (8.5-10)
где N — конечный набор нетерминальных символов или
переменных, 2 — конечный набор терминальных символов или
констант, Р — конечный набор производящих правил (правил
вывода). Символ S, принадлежащий N, является начальным
символом.
Наборы N и 2 не должны пересекаться. Далее
нетерминальные символы обозначаются прописными буквами: Л, В, ...
..., S Константы обозначаются строчными буквами
начала алфавита: а, Ь, с, а цепочки из констант — строчными
буквами конца алфавита: и, до, х, у, z. Цепочки, состоящие из
констант и переменных, обозначаются строчными буквами
греческого алфавита: а, р, 0, .... Пустое предложение
(предложение, не имеющее символов) обозначается К. Наконец, если
задан набор символов V, то V* будет обозначать все
предложения, составленные из элементов V.
Грамматики цепочек характеризуются в основном видом их
производящих правил. Определенный интерес для
синтаксического распознавания образов представляют регулярные ерам-
468
b
Матики, производящие правила которых всегда имеют вид
А-*-аВ или А->а9 причем А и В принадлежат N, а а
принадлежит £, Представляют интерес также контекстно-свободные
грамматики с производящими правилами вида Л~>а, А
принадлежит N, а а принадлежит набору (N U X)* ~~ ^5 т- е- а
может быть любой цепочкой, состоящей из констант и
переменных за исключением пустой
цепочки.
Пример. Смысл
рассмотренных понятий поясним на
следующем примере. Предположим, что
объект, показанный на рис. 8.55, а,
представляется своим скелетом.
Для описания структуры
подобных скелетов введем простейшие
элементы, показанные на
рис. 8.55,6. Рассмотрим
грамматику G = (N, 2, Р, S) с N =
= {А, В, S}, S = {а, ЬУ с) и
производящими правилами
1) S-+aA,
2) А-+ЬА,
3) А-+ЬВ,
4) В-+с,
где константы а, Ь и с
приведены на рис. 8.55,6. Как уже
говорилось выше, S является
начальным символом, с которого
создаются все цепочки в языке
L(G). Если, например, после
правила 1 мы два раза
применим правило 2, то получим
5 =>- аА =>- аЬА =>■ abb А, где =>-
означает порядок вывода
цепочки, начиная с S и применяя производящие правила из Р.
Отметим, что производящие правила S-^aA и А-+ЬА трактуются
как «из 5 может быть выведено аА» и «из А может быть
выведено ЬА». Поскольку в цепочке abb А имеется переменная, то,
применяя соответствующие правила, можно продолжить вывод.
Например, если к ней два раза применить правило 2, а затем
правила 3 и 4, то мы получим цепочку, которая соответствует
структуре, приведенной на рис. 8.55, е. Отметим, что после
применения правила 4 цепочка не содержит переменных, и поэтому
вывод прекращается. Нетрудно видеть, что приведенная выше
грамматика имеет язык L(G)= {abnc\n^ 1}, где bn означает
п повторений символа Ь. Другими словами, с помощью G можно
Рис. 8.55. Объект, представленный
своим скелетом (а), простейшие
элементы (б) и структура,
созданная с помощью регулярной
грамматики (в).
469
создавать скелеты структур типа гаечных ключей произвольной
длины в пределах разрешения, определяемого длиной
простейшего элемента Ь.
Применение семантик. В рассмотренном выше примере мы
неявно предполагали, что взаимосвязь между простейшими
элементами устанавливается только в точках, показанных на
рис. 8.55,6. В более сложных ситуациях правила,
устанавливающие связи между элементами, а также другая информация
относительно таких особенностей, как длина и направление про*
стейших элементов, число применений правил, должна быть
представлена в явном виде. Обычно это делается с помощью
семантик. Как правило, синтаксис определяет структуру
объекта или выражения, а семантика передает ее смысл. Например,
предложение на Фортране А = В/С синтаксически правильно,
но семантически корректно, только если СфО. Для более
ясного понимания этих понятий введем семантическую
информацию для рассмотренной выше грамматики, предназначенной для
описания формы гаечных ключей. Эту информацию4 вместе с
производящими правилами представим следующим образом:
Производящие
правила
Семантическая информация
S->aA
А-*ЪА
А->ЬВ
В->с
Связь с а можно осуществить только в месте, помеченном
точкой. Направление а, которое обозначается 0, определяется
направлением перпендикуляра, опущенного на линию,
соединяющую концы двух отрезков, не помеченных точками. Длина
каждого отрезка равна 3 см
Связь с Ь осуществляется только в местах, помеченных точками.
Многократные связи недопустимы. Направление b совпадает с
направлением а, и длина b равна 0,25 см. Это производящее
правило можно применять не более 10 раз
Направления а и b должны совпадать. Связи должны быть
простыми и осуществляться только в местах, помеченных точками
Направления с и а должны совпадать. Связи должны быть
простыми и осуществляться в местах, помеченных точками
Отметим, что, используя синтаксическую информацию,
можно применить несколько синтаксических правил для описания
относительно широкого класса моделей. Например, определив
направление 8, мы сможем не определять простейшие элементы
для каждой возможной ориентации объекта. Аналогично,
требуя, чтобы все простейшие элементы имели одинаковое
направление, мы исключаем из рассмотрения структуры гаечных
ключей, лишенные физического смысла.
Распознавание. До сих пор мы рассматривали грамматики
как генераторы моделей образов. Ниже мы рассмотрим задачу
распознавания, если дана цепочка, описывающая модель. При
470
этом будем предполагать, что цепочка относится к языку L(G)T
созданному грамматикой G. Основные понятия, лежащие в
основе синтаксического распознавания, можно проиллюстрировать
математическими моделями вычислительных машин,
называемых автоматами. Если на вход такого автомата подается
цепочка, оШ&ьшакнцая модель, то он способен распознать, относится
ли эт# модель к определенному языку или классу. Мы рассмот-
Дртолько конечные автоматы, которые распознают языки, соз-
Нраемые регулярными
грамматиками.
ЩКонечный автомат опреде-
Ь**тся как пятерка
Ш> Е, б, дЬ9 F), (8,5-11)
Q— конечное непустое
Ьожество состояний, 2 —
коечный входной алфавит,
"ункция перехода б
устанавливает соответствие между
г1Й*ожеством QXS (набором
%йорядоченных пар,
образованных из элементов Q и 2) и
набором ИЗ всех подмножеств Q, Рис. 8.56. Конечный автомат.
<7о — начальное состояние и F
(подмножество из Q)—множество конечных или допустимых
состояний. Эту терминологию и обозначения, связанные с
выражением (8.5-11), поясним на простом примере.
Пример. Рассмотрим автомат, заданный выражением
(8.5-11), где Q = {q0, qu ?2}> Z={a>ft}, F — (<7о) и функция
переходов состояния определяется выражением 6= (q0l a) = {<72}>
М<7о> b) = {qx}y 6(qu a) = {q2}, 6(qi9 b) = {q0}, 6(q2> a) = \q0}y
6(^2» b) = {qi). Если, например, автомат находится в
состоянии q0 и на входе его символ а, то он перейдет в состояние q2.
Аналогично, если после символа а на входе появляется символ
Ь, автомат перейдет в состояние q\ и т. д. Отметим, что в этом
случае начальное и конечное состояния одно и то же.
Диаграмма состояний для рассмотренного выше автомата
приведена на рис. 8.56. На этой диаграмме каждое состояние
обозначено вершиной, а направленные дуги указывают
возможные переходы между состояниями. Конечное состояние
обозначено двойной окружностью, и каждая дуга помечена символом,
который вызывает этот переход. О цепочке w терминальных
символов говорится, что она принимается или распознается
автоматом, если, начиная из состояния q0i последовательность
символов в w переводит автомат в конечное состояние, после
того как на его входе был принят последний символ из w. Ha-
471
пример, автомат, приведенный на рис. 8.56, распознает цепочку
w = abbabby но отбрасывает цепочку w =■ aabab.
Между регулярными грамматиками и конечным автоматом
имеется взаимно-однозначное соответствие, т. е. язык
распознается конечным автоматом тогда и только тогда, когда он
порождается регулярной грамматикой. Процедура получения
автомата, соответствующего данной регулярной грамматике, довольно
проста. Пусть имеется грамматика G = (jV, X» Р> ^о)> гДе
Хо зэе S, и предположим, что в N входят Хо и п нетерминальных
символов Х\, Х2> ..., Хп. Множество состояний Q для автомата
образуется в результате введения п + 2 состояний {^о, Qu • ••
..., qn> qn+\}y таких, что qt соответствует Х-г для 0^/^п и
qn+\ является конечным состоянием. Множество входных
символов идентично множеству терминальных символов в G. Функция
перехода б определяется двумя правилами, основанными на
правилах из О. Для каждого i и /, 0 ^ i ^ п9 О ^ / <; п\
1. Если Xi-*-aXj находится в Р, то b{qty а) содержит q\,
2. Если Si-*-а находится в Р, то 6(qi, а) содержит qn+\.
Если же задан конечный автомат А ™ (Q, 2, a, qo> F), то в
соответствующей ему регулярной грамматике G=(jV, 2, Р, Х0)
величина N является множеством состояний Q с начальным
символом Х0, соответствующим qo9 а производящие правила G
получаются следующим образом:
1. Если <7/ находится в б(^, а), то в Р имеется
производящее правило Xi-^aX}.
2. Если состояние из F находится в 6(^f, а), то в Р имеется
производящее правило Xi-^a.
Пример. Конечный автомат, соответствующий приведенной
выше грамматике, для описания моделей гаечных ключей
можно построить, записав производящие правила следующим
образом: Хо-+аХ\у X\-+-bX\y Xi-+bX2l X2-^c. Тогда согласно
изложенному выше, мы имеем A = (Qf £, 6, qQy F), где Q =
= {<7о> qu Я2, <7зЬ S=R b, c}y Z7 = {^з}, и соответствие,
устанавливаемое функцией переходов состояния б(^0, а) = {qi},
в(^7ь Ь) = {qu q2}y (42, с) = {qs}. Для полноты можно записать
eUo,ft)=6(<7o,<0=6(<7b a) = 6{qu c)=6(q2t a)=6{q2,' Ь) = ф,
где ф — пустое множество, указывающее, что для данного
автомата такие переходы не определены. ;
Грамматики более высокой размерности. Рассмотренные
выше грамматики пригодны для приложений, где связь между
простейшими элементами удобно выражать цепочками. Ниже
мы рассмотрим два примера грамматик, способных описывать
более общие связи между простейшими элементами и частями
моделей.
Древовидная грамматика определяется как пятерка
G = (Nt I, Р, г, S), (8.5-12)
472
Ш и 2 — соответственно множества терминальных и нетер-
анальных символов; S — начальный символ, который в общем
^случае может быть деревом; Р — набор производящих правил
вдда Ti-^Tj, где Ti и Т} являются деревьями; г — функция
ранжирования, которая указывает число прямых потомков
вершины, помеченной терминальным символом грамматики.
Расширенная древовидная
грамматика имеет производя-
1 щие правила вида
А-+а
i i
Ах ... Ап
где Л, Ль ..,,
Л,г—нетерминальные символы, и
а — терминальный
символ.
Пример. Скелет
структуры, показанной на рис.
8.57, а, можно создать с
помощью древовидной
грамматики, имеющей
следующие правила:
1) S->a 2) Л,->6
i
3) Л,
л,
4) Л2-
I
А2
5) А2-
Аъ
е 6) А3-
7) А,
Рис. 8.57. Объект (а) и простейшие
менты, использованные для представ,
скелета с помощью древовидной грам
ки (б).
эле-
ления
мати-
где между простейшими элементами из прямых линий
устанавливаются связи типа «начало одного с концом другого», а для
простейшего элемента в виде окружности связи могут быть
установлены в любом месте этой окружности. В этом случае
функция ранжирования имеет следующий вид: г(а)= {О, 1},
г(Ь) =и= r(d) = r(e)= {1}, г(с)={2}. Отметим, что ограничение,
состоящее в том, чтобы правила 2, 4 и 6 были применены
одинаковое число раз, приведет к структуре, у которой все три
ветви будут иметь одинаковую длину. Аналогично, требование,
чтобы правила 4 и 6 были применены одинаковое число раз,
47а
приведет к структуре, симметричной относительно вертикальной
оси фигуры, изображенной на рис. 8.57, а.
В заключение рассмотрим кратко грамматику,
предложенную в работе [95] для построения трехмерных объектов,
состоящих из кубических структур. Как и выше, основным моментом
Рис. 8.58. Простейшие элементы в виде вершин [95].
при создании объекта с помощью синтаксических методов
является подробное описание набора простейших элементов и их
взаимосвязей. В этом случае простейшими элементами
являются вершины, показанные на рис. 8.58. В зависимости от
S
Рис. 8.59. Классификация вершин типа Т.
локальной информации вершина типа Т может быть либо
вершиной Гь либо Г3. Если вершина Т содержится среди вершин
параллелограмма, она относится к типу Г3, в противном случае
она относится к вершине Гь Эта классификация приведена на
рис. 8.59.
Грамматические правила заключаются в описании
взаимосвязей между структурами (рис. 8.60). Вершины, обозначенные
474
Правила1\
\
s
j
*»*ш*
\ ®s
(l\
!
{Tx^
^C9
\WJ
I
1
Лрадцло 2
ПраВало з\
*ъ
правило 4
itya&moS\
475
/Травило д\
~J
Лрадило 7
Лрадило 8
/Зради/w 9
Рис. 8.60. Правила, используемые для генерации трехмерных структур.
Пустые круги означают, что допустимо несколько типов вершин [95].
476
двойными окружностями, обозначают центральные вершины
ИрИного куба объекта, откуда можно осуществлять дальней-
■ре связи. Это иллюстрируется рис. 8.61, на котором показан
Рис. 8.61. Построение модели с помощью правил, приведенных на рис. 8.60
типичный вывод, использующий правила, приведенные на
рис. 8.60. На рис. 8.62 приводятся виды структур, которые
могут быть построены с помощью этих правил.
8.6. ИНТЕРПРЕТАЦИЯ
В этом разделе мы рассматриваем интерпретацию как
процесс, который позволяет системе технического зрения
приобрести более глубокие знания об окружающей среде по
сравнению со знаниями, полученными с помощью методов, изложенных
выше. Рассматриваемая с этой точки зрения интерпретация
охватывает данные методы как неотъемлемую часть процесса
477
tfej
£=Л
Рис. 8.62. Модели трехмерных структур, созданные с помощью правил,
приведенных на рис. 8.6Ю [95].
478
|, понимания зрительной сцены. Хотя в области технического зре-
«да она и является объектом активных исследований,
достижения пока весьма незначительны. Ниже мы кратко рассмотрим
проблемы, представляющие современные исследования в этой
области технического зрения.
Мощность системы технического зрения определяется ее
I способностью выделять из сцены значимую информацию при
различных условиях наблюдения и использовании минимальных
знаний об объектах сцены. По ряду причин (неравномерное
? освещение, наличие тел, загораживающих объекты, геометрия
; наблюдения) этот тип обработки представляет трудную задачу.
В разд. 7.3 много внимания уделено методам уменьшения
разброса в интенсивности. Способы обратного и
структурированного освещения, рассмотренные в разд. 7.3, позволяют
устранить трудности, связанные с произвольным освещением
рабочего пространства. К этим трудностям относятся теневые
эффекты, усложняющие процесс определения контуров, и
неоднородности на гладких поверхностях. Это часто приводит к тому,
что они распознаются как отдельные объекты. Очевидно, многие
из этих проблем обусловлены тем, что относительно мало
известно о моделировании свойств освещения и отражения
трехмерных сцен. Методы разметки линий и соединений,
изложенные в разд. 8.4, представляют собой некоторые попытки в этом
направлении, но они не в состоянии количественно объяснить
эффекты взаимодействия освещения и отражения. Более
перспективный подход основан на математических моделях,
описывающих наиболее важные связи между освещением,
отражением и характеристиками поверхности, такими, как ориентация
[124, 142, 189].
Проблема загораживания одних объектов другими имеет
место, когда рассматривается большое число объектов в реальном
рабочем пространстве. Например, рассмотрим сцену,
показанную на рис. 8.63, а. Человек без труда определил бы, что за
втулками находятся два гаечных ключа. Однако для машины
интерпретация этой сцены происходит совершенно по-другому.
Даже если бы система была способна идеально выделить группу
объектов из фона, то все ранее рассмотренные двумерные
процедуры описания и распознавания дали бы плохой результат
для большинства загороженных объектов. Применение
трехмерных дескрипторов, рассмотренных в разделе 8.4, было бы
более успешным, но даже они дали бы неполную информацию.
Например, некоторые из втулок оказались бы частично
цилиндрическими поверхностями и средний гаечный ключ был бы
представлен двумя отдельными объектами.
Для обработки таких сцен, какая показана на рис. 8.63, а
требуются описания, которые должны содержать информацию
о формах и объемах объектов, а также процедуры для установ-
479
a
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]. Одной из ранних работ
по анализу сцены на основе метода разметки линий и
соединений являются работы [10Й и 249]. Более широкое применение
этих идей можно найти у Вальца [301, 392].
Современный обзор исследований в этих областях приведен
в работе [15]. Для более подробного знакомства с
обобщенными конусами имеются работы [2, 209, 189, 262].
Более подробно метод теоретического решения,
рассмотренный в разд. 8.5.1, изложен в книге Ту и Гонсалеса [290].
Материал разд. 8.5.2, связанный с подбором индексов формы,
основан на статье Брибиеску и Гузмана [31]. Синтаксические
методы изложены в работе [276]. Дополнительный материал по
структурным методам распознавания образов можно найти в
книгах Павлидиса [232], Гонсалеса и Томасона [ЮЗ] и Фу
[88, 89].
По разд. 8.6 смотрите работы Додда и Россола [60], а
также работы Балларда и Брауна [11]. Обзор статей но
проблемам, рассмотренным в этом разделе, сделан в работе [28].
16*
483
Упражнения
8.1. 1) Разработайте общую процедуру для получения нормального
представления линии, заданной уравнением у = ах + Ь. 2) Найдите нормальное
представление линии у = —2х + 1.
8.2. 1) Наложите на рис. 8.7 все возможные контуры, задаваемые с
помощью графа, приведенного на рис. 8.8. 2) Определите стоимость пути
минимальной стоимости.
8.3. Найдите контур, соответствующий пути минимальной стоимости для
подобраза, приведенного на рис. 8.64, где цифры в скобках указывают ин-
0 12
(2) (1) (0)
(1) (1) (7)
Рис. 8.64.
(б) (8) (2)
тенсивность. Предположите, что контур начинается на первом столбце и
заканчивается на последнем.
8.4. Предполагая, что образ имеет распределение интенсивности,
показанное на рис. 8.66, где pi(z) соответствует интенсивности объектов, а
Рг (z) — интенсивности фона, найдите оптимальный порог между пикселами
объекта и фона при условии что, Pi = Рг.
Рис. 8.65.
Рис. 8.66,
8.5. Сегментируйте образ, приведенный на рис. 8.66, используя процедуру
разбиения и объединения, рассмотренную в разд. 8.2.3. Пусть Р (#*) =
ИСТИНА, если все пикселы в Rt имеют одну и ту же интенсивность. Постройте
квадродерево, соответствующее вашей процедуре сегментации.
8.6. 1) Покажите, что новый выбор начальной точки цепного кода
таким образом, чтобы результирующая последовательность цифр образовывала
целое число минимальной величины, делает код независимым от того, с
какой точки мы начнем обход границы 2) Какой будет нормированная
начальная точка цепного кода 11076765543322?
8.7. 1) Покажите, что применение первой разности цепного кода
нормирует его по отношению к повороту как объяснено в разд. 8.3.1. 2)
Вычислите первую разность кода 0101030303323232212111.
8.8. 1) Начертите сигнатуру границы квадрата, используя метод тангенса
угла, рассмотренный в разд. 8.3.1. 2) Повторите эту процедуру для функции
484
во^эсти |аклона. Предположите, что стороны квадрата совпадают с осями
^и у, к возьмите ось х в качестве линии отсчета. Начните с угла, ближай-
.^Гу К' началу координат.
\Ji;*':8.9» Задайте несколько дескрипторов-моментов, необходимых для
дифференциации форм областей, приведенных на рис. 8.29.
8.10. 1) Покажите, что метод аппроксимации многоугольниками с по-
• мощью резиновой ленты, рассмотренный в разд. 8.3.1, дает прямоугольник
минимального периметра. 2) Покажите, что если каждый элемент
соответствует граничному пикселу, то максимальная ошибка для этого элемента
будет л/2 d> где d — расстояние между пикселами (для дайной решетки).
8.11. 1) Каким бы был результирующий многоугольник, если в методе
объединения, рассмотренном в разд. 8.3.1, положить ошибку, равной нулю.
U} Каким был бы в этом случае результат применения метода разбиения?
8.12. 1) Чему равен порядок индекса формы для каждой из фигур, при-
. веденных на рис. 8.67. 2) Найдите индекс формы для четвертой фигуры.
8.13. Вычислите среднее значение и дисперсию для 4-уровневого образа,
имеющего гистограмму p{z\) = 0,1, р(г2)=0,4, p(zs) = 0,3, p(zt) = 0,2.
Предположите, что 2i = 0, Z2 = 1, z$ = 2 и z^ = 3.
ц у
а) (г) (3) (*) /
Рис. 8.67. Рис. 8.68.
8.14. Для образа размерностью 5X5, составленного из 1 и 0,
меняющихся в шахматном порядке, составьте матрицу вероятностей совместного
появления уровней интенсивности, если 1) Я определяется как «один пиксел
справа» и 2) «два пиксела справа». Предположите, что верхний левый пиксел
имеет значение 0.
8.15. Рассмотрите образ, который состоит из белых и черных квадратов
размером /пХ^, расположенных в виде шахматной доски. Найдите
оператор положения, который дал бы диагональную матрицу вероятностей
совместного появления уровней освещенности.
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. Покажите, что В = max(|Ci|, \Сг\) — А в уравнении (8.5-7) равно
нулю только тогда, когда d и С2 являются идентичными цепочками.
Глава 9.
ЯЗЫКИ ПРОГРАММИРОВАНИЯ РОБОТОВ
Одна и та же физическая реальность
не приводит различных
наблюдателей к построению одинаковой
картины мира, если они говорят на
языках, между которыми не установлено
соответствие.
Бенджамин Л. Ворф.
9.1. ВВЕДЕНИЕ
В предыдущих главах обсуждались вопросы кинематики,
динамики, управления, планирования траекторий, очувствления и
зрения для манипуляторов, управляемых ЭВМ. Алгоритмы»
предназначенные для выполнения этих задач, обычно
реализуются в виде управляющих программных модулей. Основная
трудность использования манипуляторов в качестве
универсальных сборочных машин заключается в том, что пока не создана
эффективная связь между пользователем и робототехнической
системой, которая необходима для того, чтобы пользователь
мог управлять манипулятором при выполнении задачи.
Основными средствами реализации связи между
пользователем и роботом являются: распознавание отдельных слов,
обучение с последующим воспроизведением роботом рабочей
программы, а также языки программирования высокого уровня.
Современные системы распознавания речи весьма прими-
тцвны и обычно зависят от говорящего. Они могут распознавать
ряд отдельных слов из ограниченного словаря и обычно
требуют, чтобы слова отделялись друг от друга паузой. Хотя
сейчас можно распознавать отдельные слова в реальном времени
благодаря быстродействующим вычислительным средствам и
эффективным алгоритмам обработки, однако способность
распознавания отдельных слов для описания задачи робота
довольно ограничена. Более того, распознавание речи обычно
требует большого объема оперативной памяти или вторичной
памяти (на внешних запоминающих устройствах) для хранения
речевых данных, что в свою очередь требует дополнительного
времени для обучения построению эталонов речи, необходимых
при распознавании.
Обучение с целью последующего воспроизведения роботом
рабочей программы, известное также как «программирование
обучением», является наиболее распространенным методом
управления современными промышленными роботами. По этому
486
I адтоду робот «обучается» тем движениям, которые затем
W выполняет в автоматическом режиме. Программирование
обучением выполняется за несколько шагов: 1) ведение робота в
медленном режиме при ручном управлении для выполнения
технологической операции и запись углов между звеньями робота
1 в соответствующих положениях с целью повторного воспроизве-
| дения движения; 2) корректировка и воспроизведение
обучающего движения; 3) если обучающее движение правильно, робот
| запускается в работу на соответствующей скорости для выполне-
4 аия повторяющихся операций.
При ведении робота в режиме обучения обычно можно
использовать ручной привод, пульт независимого управления или
специальную систему с кнопочной клавиатурой отслеживания
принудительного движения робота. В настоящее время для
обучения наиболее часто употребляется ручной пульт с
кнопочной клавиатурой. В этом случае пользователь ведет робот
вручную в пространстве и нажимает на соответствующую
кнопку, чтобы записать любое желаемое угловое положение
манипулятора. Угловые положения записываются в память ЭВМ
в виде ряда точек траектории, через которые проходит
манипулятор. Затем по этим точкам численными методами
производится интерполяция, и робот воспроизводит программный
режим вдоль сглаженной траектории. В режиме корректировки
программного движения пользователь может произвести
коррекцию записанных угловых положений и удостовериться, что
робот не столкнется с препятствиями во время выполнения
задачи. В рабочем режиме робот будет выполнять рабочие циклы
по откорректированной и сглаженной траектории. При
изменении условий задачи повторяются названные выше шаги.
Преимущества этого метода заключаются в простоте обучения и в
относительно малом объеме памяти ЭВМ, требуемом для записи
угловых положений звеньев робота. Основной недостаток —
трудность использования этого метода для включения
информации с датчиков обратной связи в систему управления.
Языки программирования высокого уровня дают более
общий подход к решению проблемы связи человек — робот. За
прошедшее десятилетие роботы были успешно применены в
таких областях, как дуговая сварка и окраска, причем в обоих
случаях, как правило, используется программирование
обучением [71]. Эти задачи не требуют взаимодействия между
роботом и окружающей средой и могут быть легко
запрограммированы. Однако применение роботов для реализации задач сборки
требует методов программирования на языках высокого уровня,
так как сборочный робот обычно имеет сенсорную обратную
связь, и этот тип нестандартного взаимодействия робота с
окружающей средой может быть осуществлен только программными
методами.
487
Программирование робота существенно отличается от
традиционного программирования. При выборе метода
программирования робота необходимо иметь в виду следующие
соображения: объекты, которыми манипулирует робот, являются
трехмерными и имеют набор физических свойств; роботы
функционируют в пространственно-сложной среде; описание и
представление трехмерных объектов в ЭВМ — неточное; информация
Рис. 9.1. Задача установки роботом болта в отверстие.
I — система координат, связанная со схватом (Е); II—система координат, .связанная
с сочленением (Те); III—система координат, связанная с корпусом; IV — неподвижная
система координат; V — система координат, связанная с отверстием детали; VI —
система координат, связанная с деталью; VII — направление захвата 0олтз; VIII—система
координат, связанная с головкой болта; IX — система координат, Связанная с
загрузочным устройством.
с устройств очувствления должна быть собрана, обработана и
соответствующим образом использована.
Современные подходы к программированию роботов можно
разделить на две категории: программирование,
ориентированное на робот (роботоориентированное программирование), и
проблемно-ориентированное программирование, или
программирование на уровне задачи.
В роботоориентированном программировании задача сборки
описывается в виде последовательности движений. Робот
управляется программой в течение выполнения всей задачи, причем
каждый шаг программы примерно соответствует одному
действию робота. При программировании на уровне задачи сборка
488
присылается в виде последовательности целей, которая
определяет неявное движение робота. Эти подходы обсуждаются
подробно в следующих двух разделах.
9.2. ХАРАКТЕРИСТИКИ РОБОТООРИЕНТИРОВАННЫХ
ЯЗЫКОВ
Наиболее общий подход при создании роботоориентирован-
ных языков состоит в расширении возможностей существующих
языков высокого уровня (чтобы соответствовать требованиям
программирования робота). Этот подход специфичен, и не всегда
имеются общие правила, как осуществлять расширение языка.
Мы можем легко определить несколько основных характеристик,
которые являются общими для всех языков, ориентированных
на роботы, с помощью анализа шагов разработки программы
движения робота. Рассмотрим задачу установки болта в
отверстие детали роботом (рис. 9.1). Робот должен приблизиться к
загрузочному устройству, извлечь болт, переместиться к детали
и вставить болт в одно из отверстий.
Обычно для реализации этой программы требуются
следующие шаги:
1. Определение рабочего пространства и фиксация объектов
в зажимных приспособлениях и загрузочных устройствах.
2. Описание на языке программирования расположения
объектов (загрузочного устройства, детали и т. д.) в пространстве
и их отношений (деталь-отверстие, болт-схват, и т. д.) ]
3. Разделение задачи сборки на последовательность
действий, таких, как движение робота, захват объектов, установка
болта.
4. Добавление команд с устройств очувствления для
определения нестандартных ситуаций (таких, как невозможность
определения местонахождения болта во время захвата) и для
управления выполнением задачи сборки.
5. Отладка и совершенствование программы с помощью
повторения шагов 2—4.
Важными характеристиками, которые мы определили,
являются описания положения (шаг 2), движения (шаг 3) и
очувствления (шаг 4). Эти характеристики подробно обсуждаются
ниже.
В качестве примеров рассмотрим языки AL [200] и AML
[283]. Выбор этих языков не является произвольным. AL повлиял
на создание многих роботоориентированных языков и до сих пор
активно развивается.
> Символ подчеркивания обычно используется в языках программирова
ния для обеспечения соответствия в названиях переменных.
489
Он обладает широким набором команд для удовлетворения
требованиям программирования робота и также свойствами
языка программирования высокого уровня. Язык AML в
настоящее время предназначен для управления роботами фирмы IBM.
AML построен на иных принципах, чем AL. С помощью этих
языков воссоздается окружающая среда робототехнической
системы, в которой могут быть построены различные
программируемые интерфейсы для роботов. Таким образом, имеется
богатый набор основных элементов для описания операций робота,
что дает возможность пользователям реализовывать команды
высокого уровня в соответствии с их требованиями. В настоящее
время AL и AML являются наиболее распространенными робо-
тоориентированными языками. Они описаны в табл. 9.1.
Таблица 9.1. Краткая характеристика роботоориентированных языков
програмирования AL и AML
AL разработан в Стандфордском университете. В настоящее время он
может быть реализован на ЭВМ типа VAX, и управление роботом в
реальном времени осуществляется с одиночной стойки PDP-11.
• Язык программирования высокого уровня с характерными чертами Алу
гола и Паскаля.
• Оснащен спецификациями как на уровне робота, так и на уровне
задачи.
• Переведен на язык программирования низкого уровня и реализовав
на машине, осуществляющей управление в реальном времени.
• Имеет конструкции языка программирования в реальном времени
(синхронизация, совместное выполнение и условные переходы).
• Представление данных и структур управления осуществляется, как и
в языке Алгол.
• Оснащен средствами для моделирования рабочего пространства.
AML разработан фирмой IBM. Он предназначен для управления
работами типа IBM RS-1 и реализован на ЭВМ SERIES-1 (или персональном
компьютере фирмы IBM), которая также допускает возможность управления
роботом. Робот RS-1 представляет собой манипулятор, работающий в
декартовой системе координат и имеющий 6 степеней свободы. Первые три
сочленения робота — призматические и три последние — вращательные.
• Обеспечивает описание окружающей среды, в которой могут быть
построены различные интерфейсы пользователя.
• Обладает свойствами и конструкциями, подобными свойствам и
конструкциям языка LISP, и способен к агрегированию данных.
• Имеет возможность планирования траекторий сочленений в
пространстве, допускает ограничения по положению и скорости, а также позволяет
описывать абсолютные и относительные движения.
• Обеспечивает управление от датчиков для возможного прерывания
движения робота.
9.2Л. Определение положения
Обычно при роботизированной сборке взаимное
расположение робота и деталей строго определено. Детали закрепляются
в технологических приспособлениях так, чтобы минимизировать
490
клонения от заданного положения. Для сборки произвольно
расположенных деталей требуются системы технического
зрения, и поэтому она еще не получила широкого распространения
з промышленности.
Наиболее общим подходом для описания ориентации и
положения объектов в рабочем пространстве является подход,
предусматривающий использование систем координат и
соответствующих им структур данных, называемых фреймами. Фреймы
представляются матрицами однородного преобразования
размерностью 4X4. Фрейм состоит из подматрицы размерностью
3X3 (определяющей ориентацию) и вектора (определяющего
лоложение), которые в свою очередь определены по отношению
к некоторой базовой системе координат (базовому фрейму).
В табл. 9.2 приведены описания на языках AL и Л ML для трех
фреймов, соответствующих системам координат, связанным с
роботом, деталью и загрузочным устройством, показанных на
рис. 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\, матриц вращения \ROT\ и
векторов \VECTOR\. С другой стороны, язык AML
предусматривает обобщенную структуру, называемую агрегатом, которая
позволяет пользователю конструировать свои собственные
структуры данных. В табл. 9.2 приведена структура данных для
представления декартовой системы координат, имеющая формат
(вектор, матрица). В этой структуре данных вектор положения
робота является агрегатом, состоящим из трех скаляров, а
матрица представляет собой агрегат из трех векторов ориентации.
491
Рассмотрим более подробно обозначения в табл. 9.2. Первый
/lL-оператор описывает систему координат робота, главные оси
которой (nilrot обозначает отсутствие вращения) параллельны
осям неподвижной системы координат. Начало системы
координат, связанной с роботом, смещено на расстояние (508, 0,
381) мм от начала неподвижной системы координат. Второй AL-
оператор описывает систему координат, связанную с деталью,
главные оси которой повернуты на 90° вокруг оси Z
относительно неподвижной системы координат. Начало координат
расположено на расстоянии (508, 0, 381) мм от начала неподвижной
системы координат. Третий оператор имеет то же значение, что
и первый, за исключением расположения. Смысл трех
операторов на языке AML тот же, что для операторов на языке AL.
Таким образом в этих языках положение в пространстве
определяется с помощью фрейма, ориентированного относительно
базового фрейма.
Преимущество использования матрицы однородного
преобразования состоит в том, что фреймы, определенные
относительно базового, могут быть получены путем умножения матрицы
преобразования на базовый фрейм. В табл. 9.3 приводится
сравнение операторов на языках AL и AML, которые используются
для определения систем координат и отношений болт-головка
болта, болт^схват и деталь-отверстие (рис. 9.1). Для описания
матриц преобразования язык AL предусматривает оператор
умножения матриц * и структуру данных 77?ЛЛЛ$-преобразование,
которое состоит из операций вращения и перемещения. Язык
Таблица 9.3. Описание основных систем координат на языках AL и AML
На языке AL:
T6^oo6ot*TRANS((ROT, 180*град), VECTOR(381, 0, 0)*мм);
E-«-T6*TRANS (nilrot, VECTOR (0,6, 127) *мм);
болт-головка болта-*-загрузочное устройство+TRANS (nilrot, nilvect)
болт-схват +- болт-головка болтц*Т#АЫ§ (nilrot, VECTOR (0, 0, 25.4) *мм);
деталь-отверстие +- деталььТЯАЫЬ (nilrot, VECTOR(0, 30.8, 76.2)*мм);
Примечание. Nilvect ~~ предварительно определенный вектор, имеющий
значение VECTOR (0, 0. 0) *мм.
На языке AML: 1
T6 = DOT(po6o7\ <381,0,0>, EULERROT(<180,0,0>)>);
E = DOT(T6, <0,0, 127>, EULERROT(<0,0,0>)>);
болт - головка болта = DOT (загрузочное устройство, <0, 0, 0>,
EULERROT(<0,0,0>)>);
болт-.схвати DOT (болт-головка болта <0, 0, 26.4>,
EULERROT(<0, 0, 0>) >);
деталь -отверстие =DOT (деталь, <0, 50.8, 7б.2>,
EULERROT(<0, 0, 0>) >)\
Примечание. DOT — подпрограмма перемножения двух матриц
492
AML не имеет встроенного оператора матричного умножения,
но оснащен системной подпрограммой DOT.
Рассмотрим более подробно обозначения в табл. 9.3. Первый
Л£-оператор описывает систему координат 76, главные оси ко-
торой повернуты на 180° относительно оси X системы
координат, связанной с роботом. Начало системы координат 76
расположено на расстоянии (381, 0, 0) мм от начала системы
координат, связанной с роботом. Второй оператор описывает систему
координат Е, главные оси которой параллельны (nllrot
обозначает отсутствие вращения) главным осям системы координат 76,
а начало расположено на расстоянии (0, 0, 127) мм от начала
системы координат 76. Аналогичные рассуждения применимы
ко всем другим трем операторам на языке AL. Такой же
смысл имеют операторы на языке AML. Связь между
фреймами, которые мы определили в табл. 9.2 и 9.3, представлена
на рис. 9.2, а,
Отметим, что в языке AL не требуются фреймы,
определяющие положение руки робота, поскольку в нем используется
неявный фрейм для представления конечного положения схвата и
нет доступа к промежуточным фреймам 76 и Е. Так как в
процессе сборки детали перемещаются или взаимодействуют с
другими объектами, то последовательность фреймов в программе
должна соответствовать текущим состояниям рабочего
пространства (рис. 9.2, б).
Другой способ определения ориентации и положения объекта
состоит в том, что схват робота в интерактивном режиме
перемещается от одной фиксированной точки до другой. В качестве
примера приведем систему POINTY [107], использующую язык
AL. Эта система позволяет пользователю вести робот вручную
или с помощью подвесного пульта управления через рабочее
пространство. При этом когда пользователь направляет руку
робота, оснащенную специальным инструментом, к объекту, то
система генерирует команды на языке AL, подобные командам,
приведенным в табл. 9.2 и 9.3. Это устраняет необходимость
измерять расстояния и углы между системами координат, что
весьма трудоемко.
Хотя система декартовых координат широко применяется
для представления конфигураций робота, она имеет некоторые
ограничения. Более удобным способом представления
конфигураций робота по сравнению с декартовой системой координат
является система обобщенных координат. Поскольку обратная
задача кинематики не дает единственного решения,
конфигурация робота определяется неоднозначно в декартовом
пространстве. По мере увеличения числа операций и объектов связи
между системами координат становятся сложными и трудными
для управления. Кроме того, число требуемых вычислений
также существенно увеличивается.
493
9.2.2. Определение движения
Наиболее общей операцией в роботизированной сборке
является операция типа «взять и установить». Она включает дви-
Неподвижная система
координат
Неподвижная система
координат
Система координат,
связанная с деталью
Направлена
болта
Система
связанная
болта
Система
связанная
(Е)
ie захвата
координат,
с головкой
координат,
со схватом
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 TO A;
MOVE barm TO болт-схват\
{другое описание движения робота}
MOVE barm TO болт-схват VIA A;
{двигаться вдоль текущей оси Z на 25,4 мм (относительное движение)}
MOVE barm ТО <8> —25,4*Z*mm;
Примечания: barm — идентификатор, обозначающий руку робота;
® указывает текущее положение руки, эквивалентное
выражению: робот *Т6*Е.
Выражения в скобках { ... } являются комментариями.
На языке AML:
• "Переместить сочленения 1 и 4 на 234 мм и 20° соответственно
(абсолютное движение)"
MOVE (<1,4>, <234,20>);
• "Переместить сочленения 1, 3 и 6 на 25,4 мм, 50,8 мм и 5°
соответственно (относительное движение)"
DMOVE (<1,3,6>, <25,4, 50,8>);
Примечание: Выражения в кавычках " ... " являются комментариями.
К недостаткам этого типа описания относится то, что
программист должен предварительно спланировать все движения
робота, чтобы выбрать промежуточные точки. В результате
робот может совершать лишние движения по траектории. Более
того, описание сложной траектории как последовательности
точек приводит к неоправданно длинной программе.
При движении руки робота из начального положения в
конечное имеются физические ограничения, например такие, как
места закрепления звеньев, которые требуют, чтобы рука шла
вдоль оси. Кроме того, имеются ограничения на движение
робота в рабочем пространстве, связанные с расположением
объектов. В обоих случаях это может препятствовать требуемому
движению робота. ;
Для обеспечения безопасного движения программист должен
управлять такими параметрами, как скорость, ускорение,
замедление, направление движения. Обычно эти параметры
рассматриваются как ограничения, которым должно удовлетворять
программное движение. Язык AL оснащен ключевым словом
WITH, с помощью которого к командам движения робота
присоединяются операторы ограничения. В табл. 9.5 приведены
команды движения робота из состояния «болт-схват к точке А
496 'М
Таблица 9.6. Примеры описания движения руки робота на языках AL и AML
На языке AL:
{Перемещать руку от системы координат болт.-схват к системе координат А}
MOVE barm TO A
WITH DEPARTURE = Z WRT загрузочное устройство
WITH DURATION«=5*c;
{открыть схват на 63,5 мм}
OPEN bhand TO 63,5+мм
Примечание. С помощью команды WRT (по отношению к) создается вектор
в указанной системе координат.
На языке AML:
• Переместить сочленения 1 и 4 на 254 мм и 20° со скоростью 25,4 мм/с.
• Ускорение и замедление равны 25,4 мм/с2.
MOVE (<1,4>, <254,20>, <25,4,25,4, 25,4>);
• Открыть схват на 63,5 мм
MOVE (GRIPPER, 63.5);
с направлением начала движения вдоль положительного
направления оси +Z загрузочного устройства и временной
длительностью 5 с, т. е. медленное движение. В языке AML агрегаты
типа (скорость, ускорение, замедление) могут быть добавлены
к команде MOVE, чтобы определить скорость, ускорение и
замедление робота.
Обычно движения схвата должны рассчитываться в
зависимости от поставленной задачи и окружающих условий зоны
рабочего пространства. В большинстве языков предусмотрены
простые команды движений схвата, из которых строятся сложные
движения. Для двупалого схвата могут быть предусмотрены
команды «открыть» (разжатие пальцев) или «закрыть»
(сжатие пальцев). Оба языка AL и AML используют предварительно
определенные переменные для обозначения схвата (в AL —
bhand, в AMI— GRIPPER). Используя команду OPEN (в AL)
и MOVE (в AML), можно запрограммировать требуемое
раскрытие схвата (табл. 9.5).
9.2.3. Очувствление и управление
Расположение и размеры объектов в рабочем пространстве,
как правило, определяются только с некоторой степенью
точности. Чтобы робот выполнял задачи при наличии этих
ограничений, должно быть реализовано очувствление. Информация,
собранная с датчиков очувствления, также действует как обратная
связь с рабочим пространством, что помогает роботу исследо-
497
вать и проверять состояние сборки. Очувствление в
программировании робота условно делится на 3 типа:
1. Позиционное очувствление. Применяется для определения
текущего положения робота. Оно обычно дается
кодировщиками, чтобы измерять углы в сочленениях и вычислять
соответствующее положение руки робота в рабочем
пространстве.
2. Силовое и тактильное очувствление. Применяется для
определения наличия объектов в рабочем пространстве.
Силовое очувствление используется при управлении
упругой податливостью, чтобы обеспечить обратную связь в
управлении движением по силе, а тактильное
очувствление — для определения проскальзывания во время
схватывания объекта.
3. Системы технического зрения. Применяются для
идентификации объектов и грубой оценки их положения.
На сегодняшний день нет общего соглашения, как строить
команды очувствления, и каждый язык программирования
роботов имеет свой собственный синтаксис. AL снабжен
командами типа FORCE (ось) и TORQUE (ось) для силового
очувствления, определяемых в командах управления как условия.
Например: FORCE(Z) > 0,84* Н. AML оснащен оператором
MONITOR, который вводится в команды управления для
определения асинхронных событий. Программист может ввести в
программу описание датчиков и управлять движением робота,
используя информацию от датчиков (табл. 9.6). Также имеются
Таблица 9.6. Силовое очувствление и податливое движение
На языке AL:
{Тест на определение отверстия с помощью силового очувствления}
MOVE barm ТО ® — 25,4*Z*mm ON FORCE(Z)<2,8*H
DO ABORT ("NO HOLE");
{Установить болт, действуя силой вниз, пока нет сопротивления}
MOVE barm TO деталь_отверстие
WITH FORCE(Z)= — 2,8*Н WITH FORCE(X)=0*H
WITH FORCE(Y)=0*H WITH DURATION = 3*c
На языке AML:
• Определить команду управления для датчиков силы SLP и SRP. Если
значения сигналов с датчиков выходят из интервала [О, F], mofmons—1,
в противном случае 0:
fmons==MONITOR(<SLP, SRP>, 1,0, F);
• Переместить сочленение 3 на 25,4 мм и остановить, если fmons = h
DMOVE (<3>, <1>, fmons);
Примечание. Синтаксис команды управления:
MONITOR (датчики, тип теста, 1-й предел, 2-й предел)
498
операторы типа OPOSITION, которые дают информацию о
текущем положении сочленений 1\
Большинство языков программирования роботов
ориентировано на применение в системах технического зрения, и
пользователь имеет возможность самостоятельно разрабатывать
программные модули для обработки зрительной информации.
Одно из основных применений информации очувствления
состоит в том, чтобы начать или завершить выполнение операции.
Например, деталь, находящаяся на ленте конвейера, попадая в
поле зрения оптического датчика может быть захвачена роботом
по сигналу с этого датчика. В случае возникновения
ненормальных условий функционирования выполнение команды
прекращается. Пример, иллюстрирующий использование информации о
силовом очувствлении для определения требуемого положения
схвата относительно отверстия, приведен в табл. 9.6.
При движении руки робота вниз сила, действующая вдоль
оси Z системы координат, связанной со схватом, фиксируется
с помощью оператора FORCE (Z). Если сила превышает 2,8 н,
это означает, что схват не разместил деталь в отверстии и
задача прерывается.
Обычно информация с датчиков управляет программным
движением робота. Большинство языков программирования
роботов оснащено конструкциями типа if-then-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;
схвачено ч- ложь;
{Определение базовых фреймов}
oV/алб ч- FRAME (ROT (Z, 90*град), VECTOR (508, 381, 0)*мм):
загрузочное устройство ч- FRAME (nilrot, VECTOR (635, 508, 01) *мм);
{Определение основных фреймов}
болт-схват ч~ загрузочное устройство*ТЦANS (nilrot, nilvect);
болт-головка болта+-6oAT-cxeaT*TRANS(nilrot, VECTOR(0, 0, 12,7)*мм);
аегаль-огб^сшеч-^Ta^b^TRANS (nilrot, VECTOR(0, 0, 25,4) *мм);
{Определение фреймов для промежуточных точек траектории}
А ч- загрузочное устройство*ТЯANS (nilrot, VECTOR (0,0, 127) *мм);
В ч- загрузочное устройство*ТRANS (nilrot, VECTOR (0, 0, 203,2) *мм);
С 4-der^6_oree/7cr^*TRANS(nilrot, VECTOR(0, 0, 127)*мм);
D ч- derflui&_oree/?CTwe*TRANS (nilrot, болт -высот а*Т);
{Открытие схвата}
OPEN bhand TO болг_даажегр-г-25,4*мм
{Расположение схвата точно над болтом}
MOVE barm TO болт-схват VIA A
WITH APPROACH = —Z WRT загрузочное устройство
{Попытка захвата болта}
DO
CLOSE bhand TO 0,9*болт.-диаметр-.
IF bhand <болт„диаметр THEN BEGIN
{неудача при захвате болта, новая попытка}
OPEN bhand TO болт-диаметр + 25,4* мм;
MOVE barm TO <8>—25,4*Z*mm; END ELSE схвачено ч- истина;
попытки ч- попытки-\-1;
UNTIL схвачено OR (попытки > 3);
{Прекращение операции, если болт не схвачен за 3 попытки}
IF NOT схвачено THEN ABORT («неудача при захвате болта»);
{Перемещать руку к точке В}
MOVE barm TO В
VIA Л
WITH DEPARTURE = Z WRT загрузочное устройство;
{Перемещать руку к точке D}
MOVE barm TO D VIA С
WITH APPROACH = —Z WRT деталь-отверстие-
{Проверить, есть ли отверстие}
MOVE barm ТО ® — 2,54*Z*mm ON FORCE(Z) >2,8*H
DO ABORT («нет отверстия»);
{Установка болта в отверстие с помощью системы силового очувствления}
MOVE barm TO деталь „отверстие DIRECTLY
WITH FORCE(Z)=—2,8*H
WITH FORCE(X)=0*H
WITH FORCE (Y)=0*H
WITH DURATON = 5*lc;
END установка болта
500
■НЙшем для пользователя. Сложные программы для робота
ЩруЯЙы как для разработки, так и для отладки. Более того,
»аммирование робота накладывает следующие дополни-
ьные требования на средства разработки и отладки про-
1мм:
L Модификация on-line и непосредственный повторный
заик. Поскольку задачи робота требуют сложных движений и
^длительного времени выполнения, то не всегда можно вновь
загустить программу в случае аварийного останова. Система про-
f рраммирования робота должна иметь возможность модификации
' программ в режиме on-line и воспроизводить повторный запуск
jb любое время.
2. Выходные сигналы с датчиков и программные траектории.
Взаимодействие в реальном времени между роботом и
окружающей средой не всегда воспроизводимо. Поэтому отладчик
должен быть способен записывать значения сигналов с
датчиков вдоль всей программной траектории.
3. Моделирование. Это свойство позволяет тестировать
программы без физической реализации робота и рабочего
пространства. Следовательно, различные программы будут
отлаживаться с большей эффективностью.
Читатель должен понять, что программирование на робото-
ориентированном языке утомительно и громоздко. Это
иллюстрируется следующим примером.
Пример. В табл. 9.7 приводится программа на языке AL для
выполнения операции установки болта в отверстие (рис. 9.1).
Необходимые разъяснения даны в предыдущих разделах.
Примите во внимание, что предложение на языке AL не считается
завершенным до тех пор, пока не встретится точка с запятой.
9.3. ХАРАКТЕРИСТИКИ
ПРОБЛЕМНО-ОРИЕНТИРОВАННЫХ ЯЗЫКОВ
Совершенно другой подход к программированию роботов
применяется при использовании проблемно-ориентированных
языков. В задачах сборки более естественно описывать не
движения робота, а объекты, которыми робот манипулирует. Этот
факт лежит в основе программирования на
проблемно-ориентированных языках, применение которых упрощает задачу сборки.
Система программирования на уровне задачи позволяет
пользователю описать задачу на языке высокого уровня
(описание задачи). Затем планировщик задачи будет обращаться к
базе данных (моделям рабочего пространства) и
преобразовывать описание задачи в программу на уровне робота (синтез
программы для робота), которая и будет управлять ходом
выполнения задачи сборки.
601
Основываясь на этом описании, можно мысленно разделить
планирование задачи на три этапа: моделирование рабочего
пространства, описание задачи и синтез программы. Следует
отметить, что эти три этапа не являются полностью независимыми;
фактически они связаны между собой на уровне вычислений.
С помощью декомпозировщика ^ исходное описание задачи
раскладывается на последовательность подзадач и выделяется
такая информация, как первоначальное и исходное состояния,
Онания
Описание задах
т
Декомпозиров-
щик
\
• • • * • • щ
1 \
/
ЛланироЗщик подвадач
т
программа pofiornct
Модели
Рис. 9.4. Планировщик задач.
положения схватывания, связи закрепления. Затем подзадачи
поступают на планировщик подзадач, который генерирует
требуемую программу для управления движением робота (рис. 9.4).
Концепция планирования задачи до некоторой степени
подобна идее автоматического создания программ в системе
искусственного интеллекта. Пользователь задает требования на
вход и выход желаемой программы, после чего генератор
программы создает программу, удовлетворяющую требованиям
пользователя на вход и выход [13]. Программирование на
уровне задачи, подобное автоматической генерации программ,1
находится на стадии исследования, и многие вопросы до сих пор
остаются нерешенными. В последующих разделах мы обсудим
проблемы, возникающие при планировании задачи, и возможные
пути их решения.
4) Под декомпозировщиком подразумевается программный модуль,
предназначенный для разбиения исходной задачи на подзадачи. — Прим., перев.
502
9.3.1. Моделирование рабочего пространства
Для описания геометрических и физических свойств
объектов, iPftkk- тепе робота и представления процесса сборки в ра-
НШм пространстве, проводится предварительное моделиро-
^Геометрические и физические модели. Для того чтобы пла-
|ровщик мог генерировать программу, предназначенную для
волнения роботом данной задачи, он должен иметь информа-
об объектах и самом роботе. Она содержит геометрические
^физические свойства объектов, которые представляются
соответствующими моделями. Геометрическая модель дает
информацию о размерах, объемах и формах объектов в рабочем
пространстве. Как уже говорилось в гл. 8, для моделирования
трехмерных объектов разработаны соответствующие численные
методы [8, 245]. Для создания моделей объектов обычно приме-
няется подход, называемый «пространственная геометрия
воспроизведения объектов». При этом модели объектов рабочего
пространства с помощью набора упорядоченных операций типа
объединения и пересечения представляются в виде совокупности
элементарных объектов, таких, как куб, цилиндр и т. д.
Элементарные объекты можно реализовать различными способами,
например:
1) набором контуров;
2) набором поверхностей;
I 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 Болт
Примечание. Выражения в /*...*/ являются комментариями.
Физические свойства тела, такие, как инерция, масса и
коэффициенты трения, могут ограничивать тип движений,
осуществляемых роботом. Эти свойства не требуется хранить в памяти,
поскольку они выводятся из модели объекта. Так как ни одна
модель не является точной на 100 %, то, следовательно,
тождественные части модели и объекта имеют незначительные
различия в физических свойствах. Поэтому в модель необходимо
вводить допуски [246].
Представление состояний рабочего пространства. Для того
чтобы генерировать программу робота, планировщик задач
должен быть способен сформулировать все этапы сборки. Каждый
этап сборки можно кратко представить текущим состоянием
рабочего пространства. Один из путей представления этих
состояний заключается в описании взаимодействия всех объектов в
рабочем пространстве в каждый момент времени. В языке AL
предусмотрен оператор связи AFFIX, который позволяет
присоединять фреймы друг к другу. Это эквивалентно физическому
присоединению одной детали к другой, и если одна из деталей
движется, то присоединенная деталь также будет двигаться.
Язык AL позволяет автоматически изменять расположение
систем координат, проводя соответствующие преобразованияг
504
Например:
W$ffX деталь-отверстие ТО деталь RIGIDLy-,
тль-отверстие- FRAME(nilrot, VECTOR(ly О, 0)* мм);
ает, что система координат деталь_отверстие присоеди-
Ирыея к системе координат, связанной с деталью.
ШВ системе AUTOPASS для представления состояний рабо-
Шко пространства применяется граф. Вершины графа обозна-
Р^Ют объекты, а дуги — связи между ними. Связи могут быть
шшадующих видов:
| 1. Соединение. Объект может быть закреплен жесткой
связью, присоединен гибкой связью или условно соединен с
другим объектом. Первым двум видам соединений соответствует
оператор AFFIX в языке AL, Условное соединение означает, что
объект удерживается силой тяжести, но не строго закреплен.
2. Ограничение. Связи типа ограничения представляют собой
физические ограничения между объектами, которые могут
двигаться поступательно или совершать вращательные движения.
3. Компонент сборки. Он используется, чтобы указать, что
подграф, связанный дугой этого типа, является этапом сборки и
может быть рассмотрен в качестве объекта. В процессе сборки
граф изменяется, чтобы отражать текущее состояние сборки во
времени.
9.3.2. Описание задачи сборки
Описание задачи сборки дается на языке высокого уровня.
Наилучшим вариантом для пользователя было бы общение с
системой на естественном языке, что привело бы к исключению
описания этапов сборки. Тогда задача сборки водяного насоса
могла бы быть определена командой «собрать водяной насос».
Однако до такого уровня еще очень далеко и пока нельзя
обойтись без подробного описания последовательности сборки.
Современный подход представляет собой использование
языка программирования с хорошо разработанным синтаксисом
и семантикой, что облегчает пользователю подробно описывать
последовательность сборки. Задачу сборки можно представить
в виде последовательности состояний модели рабочего
пространства, которые определяются взаимным расположением всех
объектов в рабочем пространстве.
Один из путей описания взаимного расположения объектов
заключается в использовании пространственных связей между
этими объектами. Например, рассмотрим рабочее пространство
состояний из блоков, показанное на рис. 9.5. Чтобы указать, что
две поверхности касаются друг друга, введем пространственную
связь AGAINST. Тогда для описания двух ситуаций,
изображенных на рис. 9.5, могут быть использованы выражения из
505
табл. 9.9. Если мы предположим, что состояние А — начальное
и состояние В — конечное, тогда их можно использовать для
описания задачи подъема блока 3 и размещения его на верхней
грани блока 2. Если же состояние А — конечное и состояние
В— начальное, мы имеем задачу съема блока 3 и размещения
его на столе. Преимущество использования этого типа
представления заключается в том, что состояния рабочего пространства
легко интерпретируются человеком и, более того, легко
определяются и модифицируются. Существенным ограничением этого
fioSepjzHoc/nb
(грань) 3
&J70K.3J ~Л
♦ I
Поверхность
(грань) 1
Рис. 9.5. Рабочее пространство из блоков.
метода является то, что он не дает всю необходимую
информацию для описания операции. Например, вращающий момент,
требуемый для затягивания болта, не может быть включен в
описание состояния.
Таблица 9.9. Описание состояний рабочего пространства
из модельных блоков
Состояние А
(блок 1 -грань 1 AGAINST стол)
{блок 1-грань 3 AGAINST блок 2~грань 1)
(блок 3-грань 1 AGAINST стол)
Состояние В
(блок 1-грань 1 AGAINST стол)
(блок 1-грань 3 AGAINST блок 2^грань 1)
(блок 2~грань 3 AGAINST блок 3-грань 1)
Альтернативный подход заключается в описании задачи в
виде последовательности символических операций на объектах.
Обычно также имеется ряд пространственных ограничений на
объекты, устраняющих любую неопределенность. Эта форма
описания подобна форме, используемой в схеме промышленной
сборки. Большинство языков, ориентированных на роботы,
приспособлено к этому типу описания.
Язык AL обладает ограниченными возможностями описания
задачи с помощью этого метода. С помощью оператора AFFIX
объектный фрейм может быть присоединен к идентификатору
-506
barm для указания того, что рука робота удерживает объект.
В этом случае движение объекта к другой точке представляется
движением системы координат, связанной не с рукой, а с
объектом. Например, процесс установки болта в отверстие (рис. 9.1)
определяется следующим образом:
AFFIX болт-головка болта ТО рука;
MOVE болт-головка болта ТО деталь-отверстие;
В работе [238] предложен язык, называемый RAPT, в
котором применяются операторы AGAINST, FIT и COPLANAR для
описания связи между свойствами объектов, которыми могут
быть: плоские или сферические поверхности, цилиндрические
стержни и отверстия, контуры и вершины. Эти свойства
определяются с помощью фреймов, подобных тем, которые
используются в языке AL. Например, две операции в рабочей зоне с
блоками (рис. 9.5) могут быть описаны следующим образом:
PLACE блок 3 SO THAT (блок 2- грань 3 AGAINST блок <?_
грань 1)
PLACE блок 3 SO THAT (блок 3- грань 1 AGAINST стол)
Таблица 9.10. Определение изменения состояний рабочего пространства
и команды для описания инструмента в системе AUTOPASS
Определение изменений состояний рабочего пространства
PLACE <объект>, <предлог> {схватывание) {конечное состояние)
(ограничения) <тогда-держать>
где
(объект) — символическое имя объекта
<предлог) — либо "IN", либо "ON" используется для определения
типа операции
(схватывание) — определяет способ захвата объекта
(ограничение) — определяет ограничения
(тогда-держать) — указывает, что схват должен оставаться в прежнем
положении после завершения команды.
Команды для описания инструмента
OPERATE (инструмент) (загрузить-список) (в положении) (приспособление>
(конечное состояние) (инструмент-параметры) (тогда-держать)
где
(инструмент) — определяет инструмент, который должен быть
использован
(загрузить-список) — определяет список вспомогательных
принадлежностей
(в положении) — определяет рабочее положение инструмента
(приспособление) — определяет новое приспособление
(конечное-состояние) — определяет конечное состояние, которое
должно быть достигнуто по завершении команды
(инструмент-параметры) — определяет рабочие параметры инструмента,.
такие, как скорость и направление вращения
(тогда-держать) — означает, что рука должна оставаться в
прежнем положении после завершения команды
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
хваченныЛ^бшек* должен надежно удерживаться в схвате во
время последующих движений робота.
■рбыадю способ захвата детали и соответствующая ему кон-
■рурация манипулятора выбираются на основе следующих
аедур:
4. Возможные способы захвата детали выбираются исходя
-геометрии объекта (так, например, для схвата с параллель-
м движением пальцев место, удобное для захвата, располо-
о параллельно направлению движения пальцев со стороны
внутренних или внешних поверхностей, устойчивости (одна
^возможностей захвата предусматривает, чтобы центр масс
Зъекта находился между пальцами) и уменьшения
неопределенности.
Щ 2. Затем число возможных способов захвата детали
сокращается в зависимости от того, могут ли они быть реализованы
роботом или привести к столкновению с другими объектами.
3. Окончательная конфигурация манипулятора при захвате
выбирается среди оставшихся (если таковые имеются) так,
чтобы она привела к наиболее устойчивому захватыванию и
вероятность столкновения с препятствиями была минимальной при
наличии ошибок позиционирования.
Большинство современных методов для планирования
захвата детали направлено на нахождение достижимых роботом
положений захватывания, причем не все ограничения на
взаимное расположение объектов принимаются во внимание.
Поскольку при наличии неопределенностей захватывание наиболее
трудно осуществимо, то в этом случае часто используется
очувствление.
После того как объект схвачен, робот должен его перенести
в требуемое место рабочего пространства и затем выполнить
операцию. Это движение может быть разделено на 4 этапа:
1. Отход с предосторожностями от текущего положения.
2. Движение, свободное от столкновений, к желаемому
положению.
3. Подход с предосторожностями к месту выполнения
операции.
4. Податливое движение для достижения конечного
положения. При этом одной из важных проблем является
планирование движения робота без столкновений с объектами рабочего
пространства. Было предложено несколько алгоритмов для
планирования траектории, свободной от столкновений, которые
могут быть объединены в 3 класса:
1. Гипотеза и тест, В этом методе выбирается возможная
траектория и проверяется на столкновения на ряде выбранных
взаимных расположений объектов и робота. Если происходит
столкновение, вводится коррекция для обхода препятствий
.1170]. Основным преимуществом данного метода является его
509
простота и то, что имеются достаточно эффективные системы
геометрического моделирования. Однако расчет коррекции
бывает затруднителен, когда рабочее пространство заполнено
препятствиями.
2. Штрафные функции. Это метод построения штрафных
функций, значения которых зависят от близости препятствий.
Штрафные функции обладают тем свойством, что их значения
возрастают при приближении робота к препятствиям. Полная
штрафная функция является суммой всех отдельных штрафных
функций, причем иногда имеется член, характеризующий
степень близости к оптимальной траектории. Затем берутся
производные полной штрафной функции по параметрам взаимного
расположения объектов. Найдя локальный минимум полной
штрафной функции, можно определить траекторию, свободную
от столкновения с препятствиями. Метод имеет то
преимущество, что позволяет учитывать все препятствия и ограничения.
Однако сами штрафные функции довольно трудно определять.
3. Алгоритмы свободного пространства. Было предложено
несколько алгоритмов этого типа. В работе [174]
рассматривается представление свободного пространства (пространства,
свободного от препятствий) в терминах конфигураций робота
(конфигурационное пространство). Эта идея эквивалентна
преобразованию руки робота, держащей объект, в точку и
соответственно увеличению числа препятствий в рабочем пространстве.
Тогда нахождение траектории, свободной от столкновений,
равнозначно нахождению траектории, которая не пересекает ни
одно из препятствий. Этот алгоритм работает достаточно
хорошо, когда рассматривается только поступательное движение.
Для вращательного движения должны быть сделаны
приближения, чтобы определить конфигурационное пространство, а это
требует существенного увеличения объема вычислений.
В работах [34] и [35] предложен другой метод, в котором
свободное пространство представляется в виде пересечения
обобщенных конусов, а объем, охватываемый движущимся
объектом, функцией их ориентации. Тогда траекторию, свободную
от столкновений, можно определить путем сравнения объема,
охватываемого объектом, с объемом свободного пространства.
Другой трудной и важной проблемой является генерация
податливого движения. В настоящее время ведутся
исследования, направленные на то, чтобы допустимые конфигурации
робота лежали на С-поверхности [193] 2> в пространстве реализа-
г> С-поверхность определяется в С-системе координат. Она представляет
собой конфигурацию робота, допускающую движение только по некоторым
степеням свободы. Вдоль С-поверхности реализуются степени свободы по
положению, а перпендикулярно к ней — по силе. — С-система координат
представляет собой ортогональную систему координат в декартовом пространстве.
Система координат выбрана так, чтобы поступательное движение робота
осуществлялось вдоль главных осей, а вращательное движение вокруг ниж
510
щяй различных конфигураций робота. Тогда осуществление
податливых движений эквивалентно нахождению комбинирован-
ной стратегии управления по положению/силе для того, чтобы
^йЁектория робота оставалась на С-поверхности.
j
9.4. ЗАКЛЮЧЕНИЕ
Мы рассмотрели характеристики языков, ориентированных
на роботы, и проблемно-ориентированных языков. В робото-
#риентированных языках задача сборки явно описывается как
Последовательность движений робота. Программист управляет
движением робота в ходе выполнения всей задачи, причем
каждый шаг программы примерно соответствует одному действию
робота.
Проблемно-ориентированные языки программирования
позволяют представлять задачу сборки как последовательность
промежуточных положений объектов, а не как
последовательность движений робота, необходимую для достижения этих
положений. Таким образом, в этом случае движение робота
задается неявно. В качестве примеров роботоориентированных
языков были приведены языки программирования AL и AML.
Мы считаем, что роботоориентированный язык
программирования труден для практической эксплуатации, поскольку
пользователь вынужден подробно программировать каждое
движение робота. Проблемно-ориентированные языки намного
.легче использовать. Однако многие сложности, возникающие
при планировании задачи, моделировании объекта, обходе
препятствий, планировании траектории, использовании
информации очувствления и конфигурации схватывания должны быть
решены, прежде чем проблемно-ориентированные языки смогут
эффективно применяться.
В заключение приведем таблицу сравнения различных
языков (табл. 9.11, а и б).
Литература
Подробные сведения о робото-ориентированном
программировании можно найти в работах [27, 93, 108, 175, 219, 225, 227,
229, 238, 239, 263, 270, 277, 283]. Информация о
программировании на уровне задачи (проблемно-ориентированное
программирование) содержится также в работах [23, 52, 80, 169, 198].
Языки программирования для описания объектов приводятся в
работах [13, 107, 171, 306]. В работе [277] приводится матричное
уравнение однородного преобразования для описания
последовательности выполнения задачи манипулятором.
Различные алгоритмы обхода препятствий, реализованные
в языках программирования в виде модулей, приведены в ра-
511
Е) Таблица 9.11, а. Сравнение различных языков программирования роботов
Язык
Институт
Робот
Робото- или проб-
лемноориентиро-
ванный
Базис языка
Компилятор или
интерпретатор
Тип представления
данных
Описание движения
Структура
управления
Команды
очувствления
Параллельная
обработка
Многосустав«ый
робот
Литература
AL
Станфорд
Пума, станфорд-
ский
манипулятор
Робото- и проб-
лемноориенти-
рованный
Concurrent
Pascal
И то и другое
Фрейм
Фрейм
Паскаль
Положение,
сила
COBEGIN
семафоры
Да
[200]
AML
ИБМ
Манипулятор
ИБМ
Роботоориен-
тированный
Лисп, АПЛ,
Паскаль
Интерпретатор
Агрегат
Сочленение
Паскаль
Положение
Нет
Нет
[283]
AUTOPASS
ИБМ
Манипулятор
ИБМ
но-ориентированный
ПЛ/1
И то и другое
Модель
Неявное
описание
ПЛ/1
Сила,
тактильная*
информация
Ш
PARALLEL
Нет
[171]
HELP
GE
Аллегро
Роботоориен-
тированный
Паскаль
Интерпретатор
Нет
Сочленение
Паскаль
Сила, зрение
Семафоры
Да
[325]
JARS
JPL
Пума, стан-
фордский
манипулятор
Роботоориен-
тированный
Паскаль
Компилятор
Фрейм
Сочленение,
фрейм
Паскаль
Близость,
зрение
Нет
Нет
[48]
MAPLE
ИБМ
Манипулятор
ИБМ
Роботоориен-
тированный
ПЛ/1
Интерпретатор
Нет
Перемещение,
вращение
ПЛ/1
Сила,
близость
IN
PARALLEL
Да
[52]
Таблица 9J1, б. Сравнение различных языков программирования роботов
Язык
Институт
Робот
Робото- или проблемно-
ориентированный
Базис языка
Компилятор или
интерпретатор
Тип представления
данных
Описание движения
Структура управления
Команды очувствления
Параллельная обработка
Многосуставяый робот
Литература
MCL
Мс. Donnell
Douglas
Цинциннати
Милакрон ТЗ
Роботоориентиро-
ванный
APT
Компилятор
Фрейм
Перемещение,
вращение
if-then-else
while-do
Положение
INPAR
Да
[219]
PAL
Purdue
Станфордский
манипулятор
Роботоориенти-
рованный
Изменяющийся
базис
Интерпретатор
Фрейм
Фрейм
if-then-else
Сила
Нет
Нет
[277]
RAIL
Automat IX
Манипулятор,
проектируемый
по заказу
Роботоориенти-
рованный
Паскаль
Интерпретатор
Фрейм
Сочленения,
фрейм
Паскаль
Сила, зрение
Нет
Нет
[81]
RPL
SRI
Пума
Роботоориенти-
рованный
Фортран, Лисп
И то и другое
Нет
Сочленения
Фортран
Положение,
зрение
Нет
Нет
[225]
VAL
Unimate
Пума
Роботоориенти-
рованный
Бейсик
Интерпретатор
Фрейм
Сочленения,
фрейм
if-then
Положение, сила
Семафоры
Нет
[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
деталей из загрузочного устройства в палету, представляющую собой матрицу
из 3X3 ячеек. Предполагается, что расположение загрузочного устройства
и палеты известны. Программа должна фиксировать заполнение каждой
ячейки и сигнализировать пользователю о заполнении всей палеты.
9.4. Напишите программу на языке AML для решения задачи упр. 9.3.
9.5. Напишите программу на языке VAL для решения задачи упр. 9.3.
9.6. Напишите программу на языке системы AUTOPASS для решения
задачи упр. 9.3.
9.7. Ханойская башня. Три стержня Л, В, С, системы координат которых
соответственно (хА, Ул, Za)> (хв, у я, z5) и (хс, у с, zc) имеют известные
расположения относительно неподвижной системы координат (х0, у0, z0), как
показано ниже на рис. 9.6. Первоначально, на штифте А находятся два диска
Рис. 9.6.
разных размеров, причем диск меньшего диаметра всегда должен
располагаться на диске большего диаметра. Требуется написать программу на языке
AI для управления роботом, оснащенного специальным схватом присоской
(для захватывания диска), чтобы двигать два диска от стержня А к
стержню С; причем в любой момент времени диск меньшего диаметра должен
всегда располагаться на диске большего диаметра. Каждый диск имеет
одинаковую толщину 25,4 мм.
9.8. Напишите программу на языке AML для решения задачи в упр. 9.7.
Глава 10.
ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ
И ПЛАНИРОВАНИЕ ЗАДАЧ В РОБОТОТЕХНИКЕ
То, что воспринято разумом, —
незыблемо, а то, что постигается
только чувствами, — всегда зыбко и
неопределенно.
Из «Диалогов» Платона
10.1. ВВЕДЕНИЕ
Одной из основных проблем робототехники является
планирование движения для решения поставленной задачи с
последующим контролем выполнения роботом команд, необходимых для
осуществления этих действий. Под планированием здесь
подразумевается принятие решения о ходе действия перед его
выполнением.
Действия робота могут быть определены системой
планирования действий робота, которая будет искать пути достижения
поставленной цели, исходя из некоторой первоначальной
ситуации. В этом случае необходим план, представляющий собой
последовательность действий робота для достижения цели.
Исследования процесса построения решений задач
робототехники привели ко многим идеям относительно системы
построения решения задач в области искусственного интеллекта.
В обычной постановке задачи мы имеем робот, оснащенный
датчиками и способный выполнять элементарные действия в
несложном рабочем пространстве. Действия робота преобразуют
одно состояние (или конфигурацию) рабочего пространства
в другое. Например, в рабочем пространстве несколько
объектов могут располагаться на столе или друг на друге, а робот,
состоящий из телевизионной камеры, манипулятора и схвата,
поднимает или передвигает эти объекты. В некоторых задачах
робототехники робот представляет собой подвижную тележку
с телевизионной камерой, выполняющую такие операции, как,
например, перемещение объектов в рабочем пространстве.
В этой главе мы кратко изложим несколько методов принятия
решений и их применение к планированию действий робота.
10.2. ПОИСК В ПРОСТРАНСТВЕ СОСТОЯНИЙ
Один из методов решения задачи состоит в
последовательной проверке различных возможных вариантов до тех пор, пока
мы случайно не получим желаемое решение. Такая попытка
17*
515
включает поиск типа «проб и ошибок». Для обсуждения
методов решения ч этого типа введем понятие состояний задачи
(проблемных состояний) и операторов. Проблемным
состоянием, или просто состоянием, является конкретная
конфигурация робота. Набор всех возможных конфигураций образует
пространство проблемных состояний или пространство
состояний. Оператор, применяемый к состоянию, преобразует его в
другое состояние. Решение поставленной задачи представляет
собой последовательность операторов, которые преобразуют
начальное состояние в требуемое конечное состояние.
Пространство состояний, достижимых из начального,
удобно представлять в виде графа, вершины которого соответствуют
состояниям, а дуги — операторам. Решение задачи можно
получить, применяя операторы к начальному состоянию и получая
в результате новые состояния. В полученным новым состояниям
в свою очередь применяются операторы до тех пор, пока не
будет достигнуто целевое состояние. Методы организации
такого поиска для определения целевого состояния обычно
описываются в терминах теории графов.
10.2.1. Вводные примеры
Прежде чем приступить к обсуждению методов поиска на
графе, рассмотрим кратко несколько бааовых примеров, чтобы
ознакомить читателя с понятиями, применяемыми в этой главе.
Рабочее пространство из модельных объектов. Будем
считать, что рабочее пространство состоит из поверхности Т
Рис. 10.1. Взаимное
расположение робота и модельных
объектов.
ШШШШ5^ШШШ%%
и трех объектов Л, В и С. Начальное состояние рабочего
пространства следующее; объекты А и В находятся на
поверхности, а объект С расположен на верхней грани объекта А
(рис. 10.1). Робот должен преобразовать начальное состояние
в целевое состояние, в котором объекты расположены друг на
друге следующим образом: объект А наверху, объект В в
середине и объект С внизу. Робот может использовать
единственный оператор MOVE (двигать) X от У к Z, который
перемещает объект X с вершины объекта У на объект Z. Для
применения оператора требуется 1) чтобы перемещаемый объект X
616
>ыл объектом, на вершине которого ничего нет; 2) если Z —
,ект, на нем ничего не должно быть расположено.
Нетрудно использовать граф вместо рис. 10.1 для описания
возможных состояний. Оператор MOVE X от У к Z имеет вид
MOVE(X, У, Z). Граф поиска в пространстве состояний
приведи на рис. 10.2. Если мы устраним в графе штриховые линии
(предназначенные для того, чтобы оператор не мог быть ис-
дольаВн для выполнения одной и той же операции более
однояВраза), мы получим дерево поиска в пространстве со*
move Яш %
MdVE (*, Г, Л)
MOVE (С Г, Щ
Рис. 10.2. Граф поиска в пространстве состояний.
стояний. Из рис. 10.2 видно, что решение задачи состоит из
следующей последовательности операторов: MOVE (С, Л, Г),
MOVE (В, 7, С), MOVE (Л, Г, В).
Выбор пути. Предположим, что мы хотим перемещать
длинный и тонкий объект А через заполненное препятствиями
рабочее пространство (рис. 10.3). Для планирования движений
объекта, находящегося в схвате робота, мы можем выбрать
представление пространства состояний в виде трон, i (х,//, а),
где х—горизонтальная координата объекта: 1 < х^ 5; у—
вертикальная координата объекта: 1 ^ # ^ 3; а — ориентация
объекта:
С 0, если о
a==i 1
^ 1, если о
бъект А параллелен оси ху
объект А параллелен оси у.
617
Положение и ориентация объекта являются дискретными
величинами. Операторы или команды робдта следующие:
MOVE в направлении ±х на одну единицу,
MOVE в направлении ±у на одну единицу,
ROTATE 90° (повернуть на 90°).
9\
■' | ш 1 ■■
иШ- +
D \U
ттш^яшт
+ + -Ь
Рис. 10.3. Рабочее пространство.
Пространство состояний показано на рис. 10.4. Мы
предполагаем, что каждое «поступательное движение» имеет длину 2
и «вращательное движение» имеет длину 3. Пусть объект А
у= координата у объекта
12 3 4-
Рис. 10.4. Пространство состояний.
<#* ориентация
оЯъешсс
координата
<с одьекта
первоначально находится в точке (2, 2) и ориентирован
параллельно оси у. Задача состоит в том, чтобы передвинуть
объект А в точку (3,3) так, чтобы он был ориентирован
параллельно оси х. Тогда начальное состояние будет (2, 2, 1), а
целевое—(3, 3, 0).
518
Два пути равной длины, приводящих к решению, показаны
на рис. 10.5 и 10.6. На первый взгляд эти два пути не кажутся
наиболее короткими. Однако более подробное исследование
показывает, что если передвигать вдоль них объект из целевого
состояния, то можно избежать двух вращений за счет несколько
большего расстояния.
/Г'
/
/Конец
Начало..
Л—4—>
/
—f —
\/
~А
■* <
i
i
I
-А -У-~Л
/ I \/ \
! \
-н-^.
_iil
I
I /
.J/
Рис. 10.5.
Задача «Обезьяна и бананы». В комнате находятся
обезьяна1*, ящик и гроздь бананов (рис. 10.7). Бананы
подвешены под потолком вне досягаемости обезьяны. Каким образом
обезьяна может достать бананы?
Г
СГ-D
□
и
L
U
Рис. 10.6.
Для описания состояния воспользуемся списком из 4-х
элементов (W, х, У, г), где
W — горизонтальное положение обезьяны;
х = 1 или 0 в зависимости от того, находится обезьяна на
вершине ящика или нет соответственно;
Y—горизонтальное положение ящика;
1) Подразумевается, что обезьяной может быть мобильный робот.
519
г= 1 или 0 в зависимости от того, достала обезьяна
бананы или нет соответственно.
Операторы для решения этой задачи — следующие:
1) goto ({У). Обезьяна двигается к горизонтальному
положению £/, или в форме производящего правила,
(W, О, У, z) g0i°iU)> (U, О, У, г).
Таким образом, состояние {W, О, У, z) может быть
преобразовано в состояние (£/, О, У, г) с помощью оператора goto((7).
Л' С
Рис. 10.7. Задача «Обезьяна и бананы».
2) pushbox(V). Обезьяна двигает ящик к горизонтальному
положению V, или
(W, 0, W, г) pu*hbox(y), {V, 0, V, *).
Из левой части производящего правила следует, что оператор
pushbox(V) может быть применен, если обезьяна расположена
в том же положении W> что и ящик, но не на ящике. Такое
условие, наложенное на область применения оператора1,
называется предусловием (предпосылкой) производящего правила.
3) climbbox. Обезьяна залезает на ящик, или
(Г> о, W, z) ^^ (W, 1, W, z).
Необходимо отметить, что для применения оператора climbbox
обезьяна должна быть в том же положении W, что и ящик, но
не на ящике.
520
4) grasp. Обезьяна захватывает бананы, или
(С, 1, С, 0) -^ (С, 1, С, 1),
I, где С — положение на полу непосредственно под бананами.
Следует отметить, что для применения оператора grasp
обезьяна и ящик должны быть в положении С, причем обезьяна
предварительно должна находиться на ящике.
(A, 0,R,0)
Началбная
веришна
goto (V)
push box (V)
climbbox
Sei U=B, climbbox
(B.U в,о)
(V,U v,0)
Set V-C
grasp
W,0, V,0)
(0,1,0,1)
Конечная
вершина
Рис. 10.8. Представление задачи «Обезьяна и бананы» в виде графа.
Подразумевается, что как область допустимых значений, так
и результаты действия операторов описываются с помощью
производящих правил. Например, в правиле 2 оператор
pushbox(l/) применяется только тогда, когда выполнено его
предусловие. В результате действия этого оператора обезьяна
передвинула ящик в положение V. При такой постановке ряд
целевых состояний описывается одним списком, последний
элемент которого есть 1.
Пусть начальное состояние (Л,0, В, 0). Единственным
оператором, который можно применить, является goto(£/). Он
приводит к следующему состоянию (U, 0, В, 0). Теперь применимы
3 оператора: goto(t/), pushbox(\/) и climbbox (если U = B).
Продолжая применять все возможные операторы к каждому
состоянию, мы создадим граф пространства состояний, показан-
521
ный на рис. 10.8. Нетрудно видеть, что последовательность
операторов, преобразующих начальное состояние в целевое,
состоит из goto (В), pushbox(C), climbbox и grasp.
10.2.2. Методы поиска на графе
Для небольших графов, один из которых показан на
рис. 10.8, путь из начального состояния в конечное может быть
легко найден непосредственной проверкой. В случае более
сложных графов для определения пути в пространстве состояний из
начального состояния в конечное требуется формализованный
процесс поиска. Один из способов описания процесса поиска
пути на графе заключается в использовании производящих си-
стем. Производящая система включает следующее:
1. Базу данных, которая содержит информацию,
относящуюся к определенной задаче.
2. Набор правил, действующих над базой данных. Каждое
правило состоит из левой части, которая определяет
применимость правила (предусловие), и правой части, описывающей
действие, которое должно быть выполнено в случае
применения правила. Применение правил изменяет базу данных.
3. Стратегию управления, которая определяет, какие
правила должны быть применены, а также прекращение
вычислений, когда для базы данных выполняется конечное условие.
На языке производящих систем граф, показанный на
рис. 10.8, создается стратегией управления. Различные базы
данных, полученные с помощью правил, на графе обычно
представляются в виде вершин. Таким образом, стратегия
управления поиском на графе подразумевает нахождение пути на графе
из начальной вершины, представляющей собой начальную базу
данных, в целевую вершину. Целевая вершина в свою очередь
является базой данных, удовлетворяющей конечному (или
целевому) условию производящей системы.
Процедура поиска на графе может быть описана следующим
образом:
Шаг 1. Создать граф поиска G, состоящий только из
начальной вершины $. Занести s в список, называемый OPEN.
Шаг 2. Создать список, называемый CLOSED, который
первоначально является пустым.
Шаг 3. LOOP: если OPEN пуст, выход на аварийный останов.
Шаг 4. Выбрать первую вершину из OPEN, удалить ее из
OPEN и занести ее в CLOSED. Назвать эту вершину п.
Шаг 5. Если п является целевой вершиной, выход на останов
с выдачей решения, полученного с помощью отслеживания
пути, помеченного указателями, в направлении от п к s в G
(указатели 1) определяются на шаге 7).
1) В данном случае под указателем понимается направление дуги от
одной вершины графа к другой. — Прим. перев.
522
Шаг 6. Расширить вершину п, создав набор М из
преемников, не являющихся предшественниками п. Определить вершины
набора М в качестве преемников /гвС
Шаг 7. Установить указатели в направлении п от тех вершин
набора М, которые еще не были в списках OPEN или CLOSED.
Добавить эти вершины из набора М в OPEN. Для каждой
вершины набора М, который уже был в OPEN или CLOSED,
решить, надо ли восстановить его указатель в направлении п. Для
каждой вершины из М, уже находящейся в CLOSED, определить
для каждого из его потомков в G, следует ли восстанавливать
его указатель 1К
Шаг 8* Переупорядочить список OPEN по некоторому
произвольному критерию или эвристическому правилу.
Шаг 9. Перейти к выполнению шага 3.
Если никакая эвристическая информация не используется
при упорядочении вершин из списка OPEN, на шаге 8 должен
быть применен некоторый произвольный критерий.
Результирующая процедура поиска называется слепой. Первый тип
процедуры слепого поиска упорядочивает вершины в OPEN
по мере возрастания глубины их расположения в дереве
поиска 2). Такой поиск называется поиском в ширину первого типа.
Было показано, что этот метод обеспечивает нахождение пути
минимальной длины к целевой вершине при условии, что этот
путь существует.
Второй тип слепого поиска упорядочивает вершины в OPEN
по мере уменьшения глубины их расположения в дереве поиска.
Вершины, располагающиеся на наибольшей глубине, заносятся
в список первыми. Вершины равной глубины располагаются
в произвольном порядке. Назовем этот метод поиском в
глубину первого типа. Для предотвращения процесса поиска вдоль
некоторого бесполезного пути устанавливается ограничение на
глубину. Ни одна вершина, глубина которой превышает
ограничения, не порождается.
Описанных выше методов слепого поиска достаточно для
нахождения путей от начальной вершины к целевой. Во многих
случаях допустимо использование дополнительной информации,
зависящей от вида решаемой задачи и помогающей сократить
поиск. Этот класс процедур поиска называется эвристиками
1) Если граф, подлежащий исследованию, является деревом, то ни один
из преемников, созданных на шаге 6, не был создан ранее. Таким образом,
вершины из набора М уже не зходят либо в OPEN, либо в CLOSED. В этом
случае каждая вершина из набора М добавляется в OPEN и размещается в
исследуемом дереве в качестве преемника п. Если граф, подлежащий исследова
нию, не является деревом, возможно, что некоторые из вершин набора М уже
были созданы, т. е. они могли уже быть в OPEN или CLOSED.
2) Для обеспечения наиболее раннего завершения целевые вершины
должны быть занесены в начало OPEN.
523
или наилучшим поиском первого типа, а используемая
информация, зависящая от вида решаемой задачи, называется
эвристической^ информацией. На шаге 8 процедуры поиска на графе
эвристическая информация может быть использована для
упорядочивания вершин в списке OPEN так, чтобы поиск
осуществлялся среди наиболее перспективных секторов графа.
Рассмотрим важный метод, который использует функцию
оценивания для вычисления «перспективы» вершин. Вершины в списке
OPEN упорядочиваются по мере увеличения значения функции
оценивания. Связи среди вершин устанавливаются произвольно,
но всегда в пользу целевых вершин. Результаты поиска
существенно зависят от выбора функции оценивания. Полезный
алгоритм наилучшего поиска первого типа, так называемый
А*-алгоритм, приводится ниже.
Пусть функция оценивания для любой вершины п имеет
следующий вид:
f(n) = g(n) + h(n),
где g(n)—мера стоимости прохода от начальной вершины
к вершине n, a h(n)—оценка стоимости прохода от вершины п
к целевой вершине. Таким образом, f(n) представляет собой
оценку стоимости прохода от начальной вершины к целевой
вдоль пути, проходящего через вершину п.
А*-алгоритм
Шаг 1. Вначале список OPEN содержит только начальную
вершину. Присвоить g значение О, h — произвольное значение,
а / — присвоить значение ft + 0 или А. Список CLOSED
считать пустым.
Шаг 2. До тех пор, пока целевая вершина не будет найдена,
повторять следующую процедуру: если в списке OPEN нет ни
одной вершины, выдать сообщение об аварийном останове.
В противном случае выбрать из OPEN вершину с наименьшим
значением f. Присвоить ей имя BESTNODE (наилучшая
вершина), удалить из списка OPEN и занести в список CLOSED.
Проверить, является ли BESTNODE целевой вершиной. Если
да, то выход на останов с сообщением о решении (либо выдать
целевую вершину BESTNODE, либо путь между начальной
вершиной и целевой вершиной BESTNODE). В противном случае
создать вершины — преемники вершине BESTNODE, но не
определять указатели между вершиной BESTNODE и
вершинами-преемниками. (Сначала необходимо установить» имеются
ли среди них ранее созданные вершины.) Для каждой такой
вершины, имеющей имя SUCCESSOR (преемник), выполнить
следующее:
а) Установить указатель от вершины SUCCESSOR к BEST-
NODE. Такие обратные связи дают возможность восстановить
путь в случае нахождения решения.
624
б) Вычислить g (SUCCESSOR = g(BESTNODE) +стоимость
■f прохода от BESTNODE к SUCCESSOR.
в) Проверить, совпадает ли SUCCESSOR с какой-либо
вершиной из списка OPEN (т. е. была ли она уже создана, но не
Щ. обработана). Если да, назовем эту вершину OLD. Поскольку
данная вершина уже существует в графе, мы можем отбросить
SUCCESSOR и добавить OLD в список преемников BEST-
NODE. Теперь решим, надо ли определять путь от вершины
OLD к BESTNODE. Поскольку OLD и SUCCESSOR по суще-
I ству являются одной и той же вершиной, надо сравнить их
§Й значение g. Если путь к OLD через его предшественника де-
| шевле, чем путь к SUCCESSOR через BESTNODE, то ничего
не надо делать. Если путь к вершине SUCCESSOR дешевле,
вновь устанавливаем путь от вершины OLD к BESTNODE,
присваиваем значению g(OLD) значение, соответствующее
более дешевому пути, и вычисляем новое значение /(OLD).
г) Если вершина SUCCESSOR не входит в список OPEN,
проверяем, входит ли она в список CLOSED. Если входит, этой
вершине из списка CLOSED присваиваем имя OLD и заносим
ее в список преемников вершины BESTNODE. Проверяем так
же, как на шаге 2в, какой путь лучше — новый или старый, и
аналогично определяем путь и значения fug. Если мы только
что определили лучший путь к вершине OLD, мы должны
распространить улучшение на всех преемников этой вершины.
Таким образом, вершина OLD определяет своих преемников,
а эти преемники в свою очередь определяют своих преемников.
Так продолжается до тех пор, пока каждая ветвь не закончится
вершиной, которая либо находится в списке OPEN, либо не
имеет преемников. Чтобы распространить новую стоимость
вниз, осуществляем поиск первого типа в глубину на дереве,
начинающемся с вершины OLD, меняем для каждой вершины
значение g (и соответственно значение /). Для каждой ветви
графа поиск заканчивается, когда вы либо достигли вершины,
не имеющей преемников, либо вершины, для которой уже был
найден эквивалентный или же лучший путь. Это условие легко
проверить. Поскольку мы идем вниз к вершине, проверяем,
имеется ли путь от предшественника вершины к ней. Если да,
продолжаем распространение. Если нет, значение g уже
определяет лучшую часть пути. Поэтому на этом шаге
распространение может быть прекращено. Но, возможно, что с новым ;
значением g, полученным далее, путь, вдоль которого мы
следовали, окажется лучшим, чем путь через текущего
предшественника. Поэтому они оба сравниваются между собой. Если путь
через текущего предшественника все же лучше, прекращаем
распространение. Если же путь, вдоль которого распространялось
улучшение, все же лучше, вновь определяем предшественника и
продолжаем распространение.
625
д) Если вершина SUCCESSOR не находится ни в OPEN,
ни в CLOSED, заносим ее в OPEN и добавляем в список
преемников вершины BESTNODE.
Вычисляем /(SUCCESSOR) =
= f (SUCCESSOR) + h (SUCCESSOR).
Легко видеть, что А*-алгоритм представляет собой алгоритм
поиска на графе, который использует f(n) в качестве функции
оценивания для упорядочивания вершин. Отметим, что,
поскольку g(n) и h(n) складываются, важно, чтобы значение h(n)
являлось мерой стоимости прохода от вершины п к целевой
вершине.
Целью процедуры поиска является определение пути в
пространстве состояний от начального состояния к целевому.
Имеются два направления, в которых такой поиск может
осуществляться: 1) вперед из начального состояния и 2) назад из
целевого состояния. В модели производящей системы имеется
набор правил как для вывода набора промежуточных состояний
вперед, так и для вывода назад. При выводе вперед левые
части, или предусловия, соответствуют текущим состояниям,
а правые части (результаты) используются для генерации
новых вершин до тех пор, пока не будет достигнуто целевое
состояние. При выводе назад правые части соответствуют
текущим состояниям, а левые части используются для генерации
новых вершин, представляющих собой новые целевые
состояния, которые необходимо достичь. Это продолжается до тех
пор, пока одно из целевых состояний не будет соответствовать
начальному состоянию.
Описав процесс поиска как последовательное применение
ряда правил, легко создать алгоритмы поиска, не зависящие от
направления поиска. Конечно, имеется возможность
комбинации поиска вперед и назад. В этом случае одновременно
отыскивается путь как из целевого состояния в конечное, так и путь
из конечного состояния в целевое до тех пор, пока они не
пересекутся. Такая стратегия называется стратегией
двунаправленного поиска.
10.3. ПРОБЛЕМА СВЕДЕНИЯ ЗАДАЧИ К ПОДЗАДАЧАМ
Другой подход к решению задачи основан на проблеме
сведения задачи к подзадачам. Основная идея заключается в
разбиении задачи на подзадачи, которые в свою очередь
разбиваются на подзадачи, и так до тех пор, пока исходная задача
не сведется к ряду тривиальных задач, имеющих очевидные
решения. Оператор сведения задачи преобразует описание
задачи в описание ряда подзадач. К данному описанию задачи
могут применяться многие операторы. Применение каждого
526
оператора также приводит к необходимости решения ряда
подзадач. Поскольку не все из них в свою очередь могут быть
решены, необходимо применять несколько операторов для
решения всех возникающих подзадач. Это снова требует
организации процесса поиска.
Разбиение задачи на ряд подзадач обычно представляется
в виде графа. Предположим, что задачу А можно решить, если
будут решены три подзадачи В, С и D (рис. 10.9). Дуги,
ведущие из вершины А к вершинам В, С и D, назовем И-дугами.
Тогда вершины В, С и D называются И-вершинами. С другой
Рис. 10.9. Граф И/ИЛИ.
стороны, если задача В может быть решена в случае решения
одной из подзадач Е и F, то в этом случае будем использовать
дугу ИЛИ. Полученный граф называется графом И/ИЛИ
(рис. 10.9). Легко видеть, что методы поиска, рассмотренные
в разд. 10.2, сводятся к графу И/ИЛИ, с помощью которого мы
хотим найти единственный путь из начальной вершины к не-
левой.
Пример. Граф И/ИЛИ для задачи «Обезьяна и бананы»
приведен на рис. 10.10. В данном случае задача представляется
тройкой (5, F, G), где S — набор начальных состояний, F —
набор операторов и G — набор целевых состояний. Поскольку для
данной задачи набор операторов F является постоянным и
начальное состояние представляется в виде (Л,0, В, 0), то можно
исключить символ F и описать задачу как ({А, 0, В, 0}, G).
Один из путей выбора операторов сведения задачи заключается
в применении понятия различие. Короче говоря, различие для
тройки (S,F,G) представляет собой список причин, по которым
ни один из элементов набора 5 не входит в набор G. (Если
527
аА,о,в,оу,а.)
dA,o,B,o},a/t)
s,hc%
i\A,OAO), 6)
J4
grasp
Ца,о,в,о), gu1
((fa)},u)
Элементарная
ftfvtejj
Ф,2,)1 SfJ
Злементарйая задача
Рис. 10.10. Граф И/ИЛИ для задачи «Обезьяна и бананы>.
сИтЬЬоя
хотя бы один из элементов набора S входит в G, задача
решается и различие отсутствует.)
В примере из разд. 10.2.1 F = {fu /2, /3, /4} = (goto((7),
pushbox(l/), climbbox, grasp}. Сначала мы вычисляем различие
для начальной задачи. Дело в том, что список (Л,0, В,0) не
может удовлетворять решению, поскольку в нем последний
элемент не равен 1.
Оператором, уменьшающим это различие, является
оператор /4 = grasp. Используя f4 для разбиения начальной задачи,
мы получаем следующую пару подзадач: ({(Л, 0, В, 0)},Gf4) и
({M-Si)} G), где Gf4 представляет собой набор описаний
состояний, к которым применим оператор f4, и S\ — состояние,
входящее в Gf4, полученное при решении подзадачи ({(Л, 0, В, 0)}),
Для решения задачи ({(Л, 0, В, 0)}, Gf^ сначала надо
вычислить ее различие. Состояние, описываемое ({(Л, 0, В, 0)}, Gf4)t
не входит в Gf„ поскольку:
1) ящик не находится в точке С;
2) обезьяна не находится в точке С;
3) обезьяна не находится на ящике.
Операторами для уменьшения этих различий являются
f2 = pushbox(C), /i = goto (С) и /з = climbbox соответственно.
Применяя оператор f2, получаем подзадачи ({(Л, 0, В, 0)}, G/2)
и (M-sii), Gf2)t где snG Gf2 вытекает из решения первой
подзадачи.
Поскольку сначала должна быть решена подзадача
({(Л, 0, В, 0)}, Gf2), то для нее вычисляется различие. Различие
состоит в том, что обезьяна не находится в точке В и оператор,
который устраняет его, есть /i = goto(B). Этот оператор
затем используется для сведения задачи к паре подзадач
({(Л, 0, S, 0)}, Gfi) и (fi(sin), Gf2). Теперь первая из этих
задач является элементарной. Ее различие равно 0, поскольку
(Л, 0, В,0) входит в область определения оператора /ь с
помощью которого можно решить эту задачу. Отметим, что
fi (^ш) = (В, 0, В, 0), поэтому возникает вторая задача
{{(В, 0, В, 0)}, Gf2). Эта задача также является элементарной,
поскольку (В,0, В, 0) входит в область определения оператора
f2, с помощью которого можно решить эту задачу. Процесс
последовательного решения подзадач должен продолжаться до
тех пор, пока исходная задача не будет решена.
В графе И/ИЛИ одна из вершин, называемая начальной
вершиной состояния, соответствует описанию исходной задачи.
Вершины графа, соответствующие описаниям элементарных
задач, называются конечными вершинами. Целью процесса
поиска на графе является доказательство того, что задача,
соответствующая начальной вершине, имеет решение, т. е. что
начальная вершина является решаемой. Рекурсивное определе-
529
ние решаемой вершины может быть дайо следующим образом;
1. Конечные вершины являются решаемыми вершинами,
поскольку они соответствуют элементарным задачам.
2. Если вершина, не являющаяся конечной, имеет
преемников типа ИЛИ, она является решаемой вершиной только тогда,
когда по меньшей мере один из ее преемников является
решаемым.
3. Если вершина, не являющаяся конечной, имеет
преемников типа И, она является решаемой только тогда, когда все
преемники являются решаемыми.
Граф решения, который является подграфом, состоящим из
решаемых вершин, показывает, что начальная вершина является
решаемой. Целью производящей системы или процесса поиска
является нахождение графа решения от начальной вершины
к конечным вершинам. Граф решения, определяющий путь от
вершины п к набору вершин N графа типа И/ИЛИ, в
некоторой степени аналогичен пути на обычном графе. Он может
быть получен, если начало пути определить в вершине п и
каждый раз выбирать только одну выходящую из нее дугу. Для
каждой вершины-преемника, к которой направлена эта дуга,
мы продолжаем выбирать только одну выходящую из нее дугу.
И так до тех пор, пока в конце концов каждый преемник,
созданный таким образом, не войдет в набор N.
Для определения решений на графе И/ИЛИ нам необходим
алгоритм, подобный алгоритму А*, но способный выбирать
И-дуги соответствующим образом. Такой алгоритм для
реализации эвристического поиска на графе И/ИЛИ называется
АО*-алгоритмом.
АО*-алгоритм
Шаг 1. В G входит только одна вершина, соответствующая
начальному состоянию. (Назовем эту вершину INIT.)
Вычисляется /г (INIT).
Шаг 2. До тех пор пока INIT не будет помечена как
SOLVED или значение Л (INIT) не превзойдет FUTILITY,
повторять следующие действия:
а) Идти из вершины INIT вдоль помеченных дуг и выбрать
для процесса расширения одну из вершин на этом пути, ранее
не подвергавшуюся расширению. Назвать выбранную вершину
NODE.
б) Создать преемников вершины NODE. Если их нет,
присвоить FUTILITY и h значение NODE. Это означает, что NODE
не является решаемой вершиной. Если преемники имеются для
каждого из них (названного SUCCESSOR), который также не
является предшественником NODE, делать следующее:
1) добавить SUCCESSOR к G;
2) если SUCCESSOR является конечной вершиной,
пометить его SOLVED и присвоить его значению h значение 0;
530
3) Если SUCCESSOR не является конечной вершиной,
вычислить его значение h.
в) Распространять вновь полученную информацию по графу
следующим образом:
Пусть 5 является набором вершин, которые были помечены
SOLVED или значения h которых были изменены. И поэтому
необходимо знать значения h вершин их предшественников.
Начнем рассмотрение 5 с вершины NODE. До тех пор пока 5 не
станет пустым, повторять следующие действия:
1) Выбрать из S вершину, у которой ни один из потомков,
входящих в G, не входит в S. ( Другими словами, надо
удостовериться, что для каждой вершины, подлежащей обработке, она
будет обработана раньше любого из ее предшественников.)
Назовем эту вершину CURRENT и устраним ее из 5.
2) Вычислить стоимость каждой дуги, выходящей из
CURRENT. Стоимость дуги равна сумме значений h каждой
вершины на конце дуги плюс стоимость самой дуги. Присвоить
новому значению h вершины CURRENT минимальное значение среди
только что вычисленных стоимостей дуг, выходящих из нее.
3) Отметить лучший путь из вершины CURRENT, пометив
дугу, которая имеет минимальную стоимость, вычисленную на
предыдущем шаге.
4) Пометить вершину CURRENT SOLVED, если все вершины,
связанные с ней через вновь помеченную дугу, были помечены
SOLVED.
5) Если CURRENT уже была отмечена SOLVED или если
стоимость вершины CURRENT только что была изменена,
добавляем к 5 всех предшественников вершины CURRENT.
Отметим, что вместо двух списков OPEN и CLOSED,
которые были использованы в А*-алгоритме, в АО*-алгоритме
применяется единая структура G. Эта структура представляет
собой часть графа поиска, которая к этому времени уже была
создана. Каждая вершина на графе указывает как вниз (на
своих преемников), так и вверх (на своих непосредственных
предшественников). Каждой вершине графа присвоено значение
h для оценивания стоимости пути от нее самой к набору
вершин-решений. Значение g (стоимость прохода от начальной
вершины к текущей) не сохраняется как в А*-алгоритме,
поскольку h служит оценкой качества вершины. Величина
FUTILITY необходима. Если оцениваемая стоимость решения
становится больше, чем значение FUTILITY, поиск
прекращается. Значение FUTILITY должно быть выбрано так, чтобы
соответствовать порогу, за пределами которого любое решение,
даже если бы оно могло быть найдено, было бы слишком
громоздким, чтобы его можно было применять на практике.
Алгоритм поиска в ширину первого типа может быть
получен из АО*-алгоритма, если h ss= 0.
531
10.4. ПРИМЕНЕНИЕ ЛОГИКИ ПРЕДИКАТОВ
Для решения задач, связанных с управлением робота,
должна быть реализована возможность представления
исправления и преобразования наборов утверждений. Для этого может
быть использован язык логики или, более точно, язык логики
предикатов первого порядка. Логический формализм
представляется привлекательным, поскольку является мощным средством
выведения новых знаний из старых (методом математической
дедукции). По этому методу новое утверждение истинно, если
можно доказать, что оно следует из утверждения, о котором уже
известно, что оно истинно. Эту идею доказательства, можно
применять для получения ответов на вопросы и решения задач в
робототехнике !).
Рассмотрим сначала возможности логики высказываний как
способа представления знаний. Она имеет то преимущество, что
ее аппарат достаточно прост и для представления знаний
имеются соответствующие операции. На языке логики
высказываний легко описывать явления окружающего мира в виде набора
правильно построенных формул (ППФ). Например:
Идет дождь.
RAINING
Светит солнце.
SUNNY
Стелется туман.
FOGGY
Если идет дождь, то не светит солнце,
RAINING->~ SUNNY
Используя эти утверждения, мы, например, можем вывести,
что не светит солнце, если идет дождь. Но очень быстро мы
сталкиваемся с ограничениями логики высказываний.
Предположим, мы хотим на ее языке представить очевидный факт,
констатируемый следующим предположением:
ДЖОН — человек
Мы можем написать
JOHNMAN
Но аналогично можно сказать
Пол — человек
или
PAULMAN
!) Читателям, не знакомым с логикой высказывания и логикой
предикатов, мы можем рекомендовать просмотреть введение в логику прежде, чем
читать оставшуюся часть главы. Читатели, желающие более полно
ознакомиться с материалом этого раздела, должны просмотреть книгу [43].
632
что могло бы быть совершенно другим утверждением и нам
было бы трудно вывести какое-либо заключение о степени
схожести между Джоном и Полом.
Было бы намного лучше представить это в виде:
MAN(JOHN)
MAN(PAUL)
поскольку теперь структура представления отражает структуру
самих знаний. Возникает еще больше трудностей, если мы
попытаемся на языке логики высказываний описать следующее
утверждение: «все люди смертны», так как потребуются
утверждения для представления соотношений количества, если мы не
собираемся по отдельности описывать смерть каждого
известного человека.
Поэтому придется воспользоваться аппаратом логики
предикатов, поскольку на ее языке можно описывать события, не
поддающиеся описанию на языке логики высказываний. На
языке логики предикатов можно представить события
окружающего мира в виде ППФ. Но главная причина выбора логики
предикатов состоит в том, что с ее помощью можно не только
представить знания, но и получить из них новые знания.
В этом разделе мы кратко опишем язык и методы логики
предикатов. Основными компонентами языка логики
предикатов являются: предикаты, переменные, функции и константы.
Предикаты используются для установления связи в
рассуждениях. Например, для описания факта «Робот в комнате г.»
достаточно простой формулы-атома:
INROOM(ROBOT,r1)
В этой формуле ROBOT и г\ являются константами. Обычно
формулы-атомы состоят из предикатов и термов. Константа
является простейшим видом терма для представления объектов
или вещей при рассуждениях. Переменные также являются
термами для описания объектов, относящихся к некоторому классу,
как, например, INROOM (*,(/). Функции применяются для
определения связей между объектами, подлежащими рассмотрению.
Например, функция mother (мать) применяется для
установления связи между человеком и его (ее) родителем по
материнской линии. Можно воспользоваться следующей
формулой-атомом для представления утверждения «Мать Джона замужем за
отцом Джона»:
MARRIED[father(JOHN),mother(JOaN)].
Формула-атом имеет значение И (истина), когда
соответствующее утверждение истинно, и Л (ложь), когда
соответствующее утверждение ложно. Таким образом INROOM(RO-
533
ВОТ, п) имеет значение И, a INROOM(ROBOT, г2) имеет
значение Л. Формулы-атомы являются элементарными формулами,
из которых строятся более сложные утверждения на языке
логики предикатов. Из формул-атомов можно строить более
сложные ППФ, применяя операции Л (и) V (или) и =ф-
(следование). Формулы, построенные путем связи одних формул с
другими символом Л, называются конъюнкциями, а символом
V—дизъюнкциями. Символ =^ применяется для
представления утверждения «если—тогда». Например, «если обезьяна на
ящике, она схватит бананы»:
ON(MONKEY, BOX) =* GRASP(MONKEY, BANANAS).
Символ ~ означает отрицание, т. е. он изменяет значение ППФ
с И на Л и наоборот. (Истинное) утверждение «робот не
находится в комнате г2» может быть представлено в виде
~INROOM(ROBOT,r2)
Иногда формула-атом Р(х) имеет значение И для всех
возможных значений х. Это свойство описывается с помощью
квантора всеобщности (Vx), который ставится перед Р(х). Если
Р(х) имеет значение И хотя бы для одного значения х, это
свойство представляется с помощью квантора существования (За:),
который ставится перед Р(х), Например, утверждение «все
роботы серые» можно выразить в виде
(Vx) [ROBOT (x) =► COLORE, GRAY)],
а «в комнате г\ находится объект»
(Нж) INROOM (x9rx)
Если Р и Q являются ППФ, истинные значения выражений,
составленных из этих формул, приводятся ниже в таблице:
р
и
л
и
л
Q
И
И
л
л
Р\/ Q
и
и
и
л
Р AQ
И
л
л
л
Р=> Q
и
и
л
и
~р
л
и
л
i И
Если два истинных значения ППФ одингково
интерпретируются, эти ППФ являются эквивалентными. Используя
таблицу истинных значений, мы можем установить следующие
эквивалентности:
~ (~ Р) эквивалентно Р
Р V Q эквивалентно ~ Р => Q
534
Г Законы де Моргана:
- ~(PVQ) эквивалентно ~ PA~Q
~ (Р Л Q) эквивалентно ~ Р V ~ Q
Дистрибутивные законы:
PA(QVR) эквивалентно (PAQ)V(PAR)
PV(QAR) эквивалентно (>V Q)A(P V R)
Коммутативные законы:
Р A Q эквивалентно Q Л Р
PV Q эквивалентно QV Р
Ассоциативные законы:
(PAQ)VR эквивалентно PA(QAR)
(PVQ)\/R эквивалентно PV(QVR)
Контропозитивный закон:
Р => Q эквивалентно ~ Q =>- ~ Р
И, кроме того, мы имеем:
~ (Зх)Р(х) эквивалентно (Vx) [~ Р{х)]
~ (Vx)P(x) эквивалентно (Зх)[~ Р(х)\
В логике предикатов имеются правила вывода, которые
можно применять к определенным ППФ и наборам ППФ для
получения новых ППФ. Важным правилом вывода является
модус поненс, являющийся правилом вывода ППФ W2 из ППФ
вида W\ и W\ =>- W2. Другое правило вывода — универсальная
специализация позволяет выводить ППФ ЩЛ) из ППФ
(Vx)W{x)9 где А является константой. Используя совместно
модус поненс и универсальную специализацию, можно,
например, вывести ППФ W2{A) из ППФ (Vx) [Wx (x) =► W2(x)] и
Wi(A).
В логике предикатов ППФ формулы, полученные с помощью
правил вывода, называются теоремами, а последовательность
правил вывода — доказательством теоремы. В искусственном
интеллекте некоторые задачи могут быть рассмотрены как
задачи доказательства теорем. Последовательность правил
вывода дает решение требуемой задачи.
Пример. Пространство состояний задачи «Обезьяна и
бананы» можно описать ППФ. Мы предполагаем, что используются
3 оператора: grasp (захват), climbbox (прыжок на ящик),
pushbox (передвижение ящика).
Пусть начальное состояние s0 описывается следующим
набором ППФ:
~ ONBOX
АТ(ВОХ,£)
AT(BANANAS; С)
-~ нв
535
Предикат ONBOX имеет значение И (истинно), только когда
обезьяна находится на вершине ящика, а предикат НВ имеет
значение И, только когда у обезьяны имеются бананы.
Действия трех операторов можно описать следующими ППФ:
1) grasp
(Vs) {ONBOX (s) Л AT (BOX, С, s)=^HB(grasp (s))}
что означает: «для любого s, если обезьяна находится на ящике
и ящик расположен в точке С в состоянии 5, обезьяна завладеет
бананами, если оператор grasp применить к состоянию s».
Отметим, что значением оператора grasp(s) является новое
состояние после того, как этот оператор был применен к
состоянию s.
2) climbbox
(Vs) {ONBOX(climbbox (s))}
что означает: «для любого s обезьяна будет находиться на
ящике в состоянии, которое получается в результате
применения оператора climbbox к состоянию s».
3) pushbox
(V;tVs){~ ONBOX (s)=^AT(BOX, jc, pushbox (x, s))}
что означает: «для любого х и 5, если обезьяна не находится
на ящике в состоянии 5, ящик будет в положении х в
состоянии, полученном в результате применения оператора pushbox(x)
к состоянию s».
Целевой ППФ является
(Zs)HB(s)
Чтобы показать, что обезьяна может достать бананы, эту задачу
можно решить как доказательство теоремы [216]. -
10.5. АНАЛИЗ КОНЕЧНЫХ ЗНАЧЕНИЙ
Выше мы рассмотрели несколько методов поиска вперед и
назад, но для конкретной задачи должно быть выбрано одно
из двух возможных направлений. Однако для решения задачи
часто применяется поиск в двух направлениях. Такая
смешанная стратегия давала бы возможность решить основные' части
задачи методом поиска вперед. Затем можно было бы идти
назад, чтобы решить вспомогательные задачи, возникающие при
соединении вместе отдельных частей решения. Это можно
осуществить, применяя метод анализ конечных значений. Метол
основывается на установлении различия между текущим и це
левым состояниями. Если различие установлено, необходим
найти оператор, который может его уменьшить. Возможно, чти
этот оператор неприменим к текущему состоянию. Поэтому воз-
536
нйкает подзадача получения состояния, в котором он может
применяться. Также возможно, что оператор не приводит точно
к целевому состоянию. Тогда мы имеем вторую подзадачу
получения состояния, применив к которому данный оператор, мы
перейдем в целевое состояние.
Если различие определено правильно и результат
применения оператора действительно уменьшает это различие, легче
решить две подзадачи, чем исходную задачу. Анализ конечных
значений рекурсивно применяется к подзадачам. С этой точки
зрения анализ конечных значений можно было бы
рассматривать как метод сведения задачи к подзадачам. Для того чтобы
нацелить систему на решение больших задач, различиям
должны быть присвоены приоритетные уровни. Различия с высоким
приоритетом рассматриваются раньше, чем различия с низким
приоритетом. Наиболее важной структурой данных,
используемой в анализе конечных значений, является «цель». Цель
представляет собой кодировку текущей проблемной ситуации,
желаемой ситуации и историю прежних попыток превращения
текущей ситуации в желаемую. Имеются цели трех основных
типов:
Тип 1. Преобразование объекта А в объект В.
Тип 2. Уменьшение различия между объектом А и объектом
В посредством модификации объекта А
Тип 3. Применение оператора Q к объекту Л.
Для достижения целей указанных типов имеются
соответствующие процедуры (рис. 10.11), которые могут быть
интерпретированы как операторы сведения исходной задачи к
подзадачам, соответствующим И-вершинам (в случае
преобразования объекта или применения оператора) либо ИЛИ-вершинам
(в случае уменьшения различия).
Первой программой, применяющей анализ конечных
значений, был общий решатель задач GPS (general problem solver).
Причиной его создания послужило частое использование этого
метода для решения задач. Для GPS исходной задачей является
достижение цели преобразования объекта А в объект В, где А
является исходным объектом или состоянием, а В — желаемым
объектом или целевым состоянием. GPS прекращает работу,
если для цели преобразование объекта нет различия между А
и В или же для цели применение оператора оператор Q
непосредственно переводит А в В. Для цели уменьшение различия
процесс вычисления может завершиться остановом в ситуациях,
когда нельзя применить ни один из имеющихся операторов.
При преобразовании объекта А в объекте В для обнаружения
различия между двумя объектами используется процесс
сравнения. В первую очередь уменьшаются различия с более
высокими приоритетами. Операторы, соответствующие уменьшению
каждого различия, заносятся в таблицу различие —оператор.
537
Уменьшение
различия между Аи 4 по-
угучение найбмсоде А'
Лреодразойание
Из
Уменьшение различия
между А< и В
Вы5ор coomfiemcmdy/o-
щеео оператора &,
^применение еео к А и
У обучение на выходе А'
\/7рименение онерато-
I paQKA
уменьшение различия
{между А и яредуслодия/шА
wnepa/пораQ.иполучение
\на0ыходе А"
//римененхе о/гератора\
CL к А" получение на
вьшде А'
Рис. 10.11. Методы анализа конечных значений.
Рассмотрим простую задачу, операторы для решения которой
приводятся ниже:
Предусловия
1. AT (ROBOT, OBJ)
Л LARGE (OBJ)
Л CLEAR (OBJ)
Л HANDEMPTY
2. AT (ROBOT, OBJ)
Л SMALL (OBJ)
3. None
4. AT (ROBOT, OBJ)
5. HOLDING (OBJ)
6. AT (ROBOT, OB/2)
Л HOLDING (OBJl)
Оператор
PUSH (OBJ, LOC)
>
CARRY (OBJ, LOC)
WALK (LOC)
PICKUP (OBJ)
>
PUTDOWN (OBJ)
>
PLACE (OBJl, OBJ2)
Результат
AT (OBJ, LOC)
A AT (ROBOT, LOC)
AT (OBJ, LOC)
A AT (ROBOT, LOQ)
AT (ROBOT, LOC)
HOLDING (OBJ)
~ HOLDING (OBJ)
ON (OBJl, OBJ2)
638
где: PUSH (OBJ, LOC) — переместить объект OBJ в положение LOG;
CARRY (OBJ, LOC) — переместить объект OBJ в положение LOC;
WALK (LOC) — переместить робот в положение LOC;
PICKUP (OBJ) — поднять объект OBJ;
PUTDOWN (OBJ) — опустить объект OBJ;
PLACE (OB/1, 05/2) — разместить объект OBJ\ на объекте 0BJ2.
Утверждения в предусловиях и результатах действия операторов имеют
следующий смысл:
Робот ROBOT и объект OBJ в одном месте
Объект OBJ в месте LOC
Робот ROBOT в месте LOC
Робот ROBOT и объект 0BJ2 в одном месте
Объект OBJ большой
Объект OBJ маленький
На объекте OBJ нет другого объекта
В схвате робота нет объекта
Оператор не имеет предусловий
В схвате робота находится объект OBJ
В схвате робота объект ОВЛ
Объект ОВЛ на объекте 0BJ2
1. AT (ROBOT, OBJ)
2. AT (OBJ, LOC)
3. AT (ROBOT, LOC)
4. AT (ROBOT, OB/2)
5. LARGE (OBJ)
6. SMALL (OBJ)
7. CLEAR (OBJ)
8. HANDEMPTY
9. NONE
10. HOLDING (OBJ)
11. HOLDING (OB/1)
12. ON (OBJX, 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. Эту ситуацию можно описать конъюнкцией из
следующих утверждений:
На вершине объекта В ничего нет
На вершине объекта С ничего нет
Объект С на объекте Л
Объект А на столе
Объект В на столе
В схвате робота нет объекта
В схвате робота объект X
Цель заключается в построении пирамиды из объектов, в
которой объект В находится на объекте С и объект А — на
объекте В. В терминах логических утверждений эта цель выглядит
следующим образом: ON (В, С)ЛОГЧ(Л, В).
Действия робота переводят одно состояние или
конфигурацию рабочего пространства в другое. Один из простых и
полезных методов для описания действий робота используется
системой планирования решений задачи робота, которая
называется 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
Предусловие и список исключений: ONTABLE(X), CLEAR (X)
HANDEMPTY
Список добавлений: HOLDING(X)
2. PUTDOWN(X)—опустить объект X
Предусловие и список исключений: HOLDING (X)
CLEAR (В)
CLEAR (С)
ON (С, Л)
ONTABLE^)
ONTABLE(S)
HANDEMPTY
HOLDING^)
641
Список добавлений: ONTABLE(X), CLEAR(X), HANDEMPTY
3. STACKS, К)—положить объект X на объект У
Предусловие и список исключений: HOLDING (X), CLEAR (К)
Список добавлений: HANDEMPTY, ON (Л, У), CLEAR (X)
4. UNSTACK(^, У) —снять объект X с объекта У
Предусловие и список исключений: HANDEMPTY, CLEAR(X),
ON(X, У)
Список добавлений: HOLDING (X), CLEAR (У)
Предположим, что нашей целью является ON (В, С) Л
Л 01Ч(Л, В). Начиная работу с описания начального состояния,
putdown(fi) SyS $kV.\x${B)
У
ск(
CLHARM)
CLEAR* C)
HOLDING(fi>
ONTABLEM)
ONTABLE(C)
VsJack(a^)V
CLEARM» ONTABLEM)
CLEAR(fi) ONTABLE(fi)
CLEAR(C) ONTABLE(C)
HANDEMPTY
\ /
pickupM) X^N. putdownM)
pkkup(C)\ Xputdowo(C)
\unsfack(BM) J
1 CLEAR(C)
CLEAR(S)
HOLDING(C)
ONTABLEM)
J ONTABLE(fi) J
У$1асМСЛ)\
9 С]/уип%ъсШ.О \^{к^св^//ьшаск{С.В)
CLEARM)
ON(fi.C)
CLEAR(fi)
ONTABLEM)
ONTABUK)
HANDEMPTY
pickupM)
1
1
CLEAR(C)
ON<fl..4)
CLEAR(fi)
'ONTABLEM)
ONTABLE(C)
HANDEMPTY
pickup(C)
putdownM'J
ON<fi.C)
CLEARlfi)
HOLDING^}
ONTABLE(C)
si ас
G
kM.fi)
i
i
i
i
'
,
'
\
CLEARM}
ON( C.fi)
CLEAR(C)
ONTABLEM)
ONTABLE(fi)
HANDEMPTY
puidown(C)
pfckupM»
OHlB.A)
CLEAR(fi)
HOLDING! C)
ONTABLEM)
$tack(Cfl)
i m slack
clearm»
ONMJJ)
ONifi.O
ONTABLL'fO
HANDEMPTY
и
B)
1
i
r
I
'
J
'
SO
VunslackfCM) J
CLEAR(fl)
CLEAR(C)
HOLDINGM)
ONTABLE(fi)
ONTABLE(C)
/stackM.fijV
\un*tackM.#>
NN^stacM/4 ОУ/unstackM-C) ХЧ
CLEAR<fl)
ONlCMl
CLEAR(C)
ONTABLEM)
ONTABLE(B)
HANDEMPTY
pickup(fi)
putdownM)
ON< C.fi)
CI.EAR(C)
HOLDINGM)
ONTABLEM)
unstack(C.B)
*
CLEAR(Cj
ON< Cfi>
OWB.A)
ONTABLEM)
HANDEMPTY
ar
ЦЛ.С)
4
i
1
i
CLEAR(B)
ONM.C)
CLEARM»
ONTABLE<fi>
ONTABLE(C)
HANDEMPTY
pmdown(fi)
pickup* в)
ON(CM)
CLEAR(C)
HOLDING(B)
ONTABLEM)
stack(fi,C)
unstacl
CLEARM)
ONM.C)
OStC.B)
ONTABLEM)
HANDEMPTY
(А.С
\
T
i
I
i
i
CLEAR(C)
ONM.fi)
CLEARM)
ONTABLE<fl)
ONTABLE*C>
HANDEMPTY
pickup* С)
puldown(W)
ONMC)
CLEARM)
HOLDING(fi)
ONTABLE(C)
unxtack(fi.C)
i
CLEAR(ft)
ON<fi.C)
ОЩС.А1
ONTABLEM»
HANDEMPTY
tac
klfl/ll
1
,
r
I
'
i
I
putdown(C)
ONM.fi)
CLEARM)
HOLDING(C)
ONTABLE(fi)
«аск(СИ)
un*acl
CLEAR(fi)
ON(fiM)
ONM.C)
ONTABLEiC)
HANDEMPTY
(в
A)
•
i
i
i
uni«ek(C,4>
CLEAR* С j
ON(C./4)
ONM.fiJ
ONTABLEM
HANDEMPTY
Рис. 10.13. Пространство состояний для задачи робота.
приведенного на рие. 10.1, мы получаем полное пространство
состояний (рис. 10.13) и путь (решение) между начальным и
целевым состояниями, отмеченный полужирными линиями.
Последовательность действий для решения задачи имеет вид
{UNSTACK(C, Л), PUTDOWN(C), PICKUP(S), STACK (Я, Q»
PICKUP (Л), STACK (А В)} и называется «планом» достиже-
Если системе известно, как каждый оператор изменяет со-
Ищние рабочего пространства или базы данных и известны
"едусловия оператора, который должен выполняться, она мо-
рет применять анализ конечных значений для решения задачи.
роче говоря, по этому методу рассматриваются различия
ежду текущими и целевыми состояниями и предпринимается
/попытка найти оператор, который уменьшит это различие.
Таким оператором является тот, чей список добавлений содержит
формулы, которые устранили хотя бы некоторую часть этого
различия. Поиск продолжается рекурсивным образом до тех
пор, пока не будет достигнуто целевое состояние. Система
STRIPS и большинство других планировщиков используют
анализ конечных значений.
Выше мы видели, как система STRIPS составляет план для
решения конкретной задачи движения робота. Следующий шаг
заключается в обобщении плана путем замены констант новыми
параметрами. Другими словами, мы хотим расширить план до
схемы плана. Требования обобщения плана появляются в
обучающихся системах. Для сохранения планов (т. е. чтобы их
части могли быть использованы в дальнейшем процессе
планирования) должны быть известны предусловия и результаты
действия любой части плана. С этой целью планы хранятся
в треугольной таблице со строками и столбцами,
соответствующими операторам плана. Треугольная таблица содержит
структуру плана в такой форме, которая позволяет использовать
части плана при решении сходных задач.
Пример треугольной таблицы приведен на рис. 10.14. Левый
столбец назовем нулевым, тогда /-й столбец означает /-й
оператор в последовательности плана. Пусть верхняя строка имеет
номер 1. Если имеется N операторов в последовательности,
представляющей собой план, тогда последняя строка будет иметь
номер N + 1.
Записи в (i, /)-х элементах таблицы для />0 и i <C N-\- 1
являются теми утверждениями, добавленными к описанию
состояния /-м оператором, которые остались в качестве
предусловий /-го оператора. Записями в (2, 0)-х элементах для I < iV+ 1
являются те утверждения в описании начального состояния,
которые остались как предусловия г'-го оператора. Записи в
(N + 1)-й строке таблицы являются предложениями в описании
первоначального состояния и предложениями, добавленными
различными операторами, которые являются компонентами
цели.
Треугольные таблицы легко строятся из описания
начального состояния, последовательности операторов и описания
цели. Эти таблицы являются четким и удобным представлением
543
для планов действия робота. Записи в строках слева от /-го
оператора являются предусловием оператора. Записи в столбце
снизу /-го оператора являются предложениями того оператора,
которые требуются последующим операторам или которые
являются компонентами цели.
1-е ядро можно получить из треугольной таблицы путем
вычеркивания из нее верхних /— 1 строк и всех столбцов, начиная
с /то.
о
HANDEMPTY
CLEAR(C)
ON(C4)
ONTABLE(tf)
CLEAR(#).
ONTAHl.EM)
1
unstack(CVt)
HOLDING(C)
CLEARS)
2
putdown(C)
HANDEMPTY
CLEAR(C)
3
piekup(5)
HOLDINGS)
4
1 .stack(fi,C)
HANDEMPTY
CLEAR(fi)
ON(fi.C)
5
pickup(/4)
HOLDING^)
6
stacks ,B)
ON(.4,#)
Рис. 10.14. Треугольная таблица.
На рис. 10 14 четвертое ядро обведено двойными линиями.
Записи в 1-й ядре определяют условия, которые должны
соответствовать описанию состояния таким образом, чтобы
последовательность, составленная из /-го и последующего операторов,
была выполнимой и приводила к цели. Таким образом, первое
ядро (т. е. нулевой столбец) содержит те условия начального
состояния, которые необходимы последующим операторам и
цели; (/V+ 1)-е ядро (т. е. {N + 1)-я строка) содержит условия
цели. Эти свойства треугольной таблицы весьма полезны для
управления ходом выполнения плана движения робота.
Поскольку планы робота в реальном рабочем пространстве
должны выполняться механическими устройствами, система
управления должна предусматривать возможность того, что
планируемые действия робота не будут реализованы, поскольку
механические допуски могут вводить ошибки при реализации
плана. Во время выполнения роботом операций
незапланированные действия могут неожиданно приблизить нас к цели либо
сбить с пути. Эти проблемы можно было бы решить путем гене-
544
рации нового плана (основанного на модернизированном
описании состояний) после каждого действия робота, но очевидно,
адго такая стратегия была бы слишком дорогой, поэтому мы
приведем схему, с помощью которой можно управлять ходом
1ствия робота согласно данному плану.
Ядра треугольных таблиц содержат только информацию,
необходимую для реализации такой системы выполнения плана.
В начале выполнения плана мы знаем, что полный план
выполним и соответствует достижению цели, поскольку предложения
в первом ядре соответствуют описанию первоначального
состояния, которое было использовано при создании плана. (Здесь
мы предполагаем, что рабочее пространство является
статическим, т. е. рабочее пространство изменяют только действия
самого робота.) Теперь предположим, что система выполнила
первые I— 1 действий последовательности операторов плана. Тогда,
чтобы оставшаяся часть плана (состоящая из /-го и
последующих действий) была выполнимой и приводила к достижению
цели, предложения в i-м ядре должны соответствовать
описанию нового текущего состояния. (Мы предполагаем, что во
время выполнения плана система очувствления непрерывно
модернизирует описание состояний так, чтобы это описание точна
моделировало текущее состояние рабочего пространства.)
Фактически мы можем не просто проверить, соответствует ли ядра
описанию состояния рабочего пространства после действия
робота, мы можем выбрать соответствующее ядро с наибольшим
номером. Тогда, если непредвиденные эффекты приближают нас
к цели, нам необходимо только выполнить оставшиеся действия;
и если ошибка выполнения нарушает результаты предыдущих
действий, соответствующие действия могут быть выполнены
вновь. Чтобы найти соответствующее ядро, мы проверяем ядра
в треугольной таблице по мере уменьшения их номеров, начиная
с большего (ядро, соответствующее большому номеру, является
последней строкой таблицы). Если целевое ядро (последняя
строка таблицы) приводит к достижению конечного состояния,
то система заканчивает работу. В противном случае
предполагаем, что соответствующим ядром с наибольшим номером
является ядро с номером L Тогда мы знаем, что 1-й оператор
применим к описанию текущего состояния. В этом случае система
осуществляет действия, соответствующие /-му оператору, и
проверяет результаты, снова отыскивая соответствующее ядро с
наибольшим номером. В идеальном рабочем пространстве эта
процедура выполняется просто согласно последовательности
операторов плана. В реальном же рабочем пространстве эта
процедура помогает избежать ненужных действий, а также
устранить некоторые виды аварийного завершения путем
повторного выполнения соответствующих действий.
Перепланирование осуществляется, когда больше нет соответствующих ядер.
18 К. Фу и др.
545
В качестве примера, иллюстрирующего этот процесс,
рассмотрим снова задачу построения пирамиды из объектов Л, В
и С и план, представленный в виде треугольной таблицы на
рис. 10.14. Предположим, что система выполняет действия,
соответствующие первым четырем операторам, и результаты этих
действий заранее планируются. Теперь предположим, что
система пытается осуществить захват блока Ау но программа
выполнения (в это время) меняет блок А на блок В, и поэтому
вместо блока А робот захватывает блок В. [Снова
предполагаем, что система очувствления точно модернизирует описание
состояния, добавляя утверждение HOLDING (В) и исключая
утверждение ON (В, С); в частности, она не добавляет
утверждение HOLDING (Л).] Если бы не было ошибки выполнения,
шестое ядро было бы теперь соответствующим; в результате
ошибки соответствующим ядром с наибольшим номером
становится четвертое ядро. Вновь выполняется действие,
соответствующее оператору STACK(B, С), и система продолжает
работу.
То, что ядра треугольной таблицы частично перекрываются,
можно использовать для улучшения поиска соответствующего
ядра с наибольшим номером. Начиная с нижней строки, мы
просматриваем таблицу слева направо, определяя первый элемент,
содержащий предложение, не соответствующее описанию
текущего состояния. Если мы просмотрели всю строку и не
обнаружили такого элемента, целевое ядро является соответствующим.
Если же мы нашли такой элемент в i-м столбце, наибольший
номер соответствующего ядра не может превышать и В этом
случае мы устанавливаем границу по i-му столбцу, переходим
к следующей снизу строке и начинаем просматривать ее слева
направо до столбца и Если мы находим элемент, содержащий
несоответствующее утверждение, мы вновь устанавливаем
границу по столбцу, начинаем просматривать следующую строку
и т. д. Процесс завершается определением £-го
соответствующего ядра (наибольшим номером соответствующего k-й
просматриваемой строке и проведением границы по k-ыу столбцу,
соответствующему этой строке).
Пример. Рассмотрим простую задачу переноса ящика
мобильным роботом из соседней комнаты. Начальное состояние
модели рабочего пространства робота приведено на рис. 10.15.
Предположим, что имеются два оператора GOTHRU и
PUSHTHRU.
GOTHRU (d, ru г2) Робот двигается через дверь d из комнаты Г\
в комнату г2
Предусловие: INROOM(ROBOT, п) Л CONNECTS (d, ru r2)
робот в комнате Г\ и дверь d соединяет комнаты Т\ и г2
Список исключений: INROOM (ROBOT, S) для любого значения S
646
Дргсок добавлений: INROOM(ROBOT, r2)
SlfHTHRU(&, d, Г\9 г2) Робот переносит объект Ь через дверь d
^комнаты л в комнату г2
Комната г.
Дберь dx
Хомната Гг
Ящик
Родом
Дверь &г
1 !_
Ломнa ma А
Рис. 10.15. Начальная модель рабочего пространства.
Начальная база данных М0
INROOM (ROBOT, Л,) —робот в комнате #i
CONNECTS (Du Ru /?2) — дверь Dx соединяет комнаты Ri и R2
CONNECTS (Da. Ru ^)—дверь Dz соединяет комнаты Rz и Ri
BOX (Bi)~ящик В,
INROOM (Blt /?2)-ящик В, в комнате R2
VxVyVz [CONNECTS (я, у, z)->CONNECTS (*, #, z)l
Цель Go
2* [BOX (л:) Л INROOM (x, &)]
Y^^Mepamop
Различие ^ч\^
Расположение
ящика
Расположение
\poSoma
Расположение
ящика и робота
аотнна
V
PttSHTHRV
V
V
Рис. 10.16. Таблица «действие — оператор».
Предусловие: INROOM (b, n)AINROOM(ROBOT, n)A
Л CONNECTS (d,ru r8)
Список исключений: INROOM(ROBOT, S) INROOM(b, 5)
Список добавлений: INROOM (ROBOT, r2), INROOM (b, r2)
Таблица «различие — оператор» приведена на рис. 10.16.
18*
647
Когда система STRIPS приступает к решению задачи, она
сначала пытается, достигнуть цели G0 из начального состояния
М0. Эта задача не может быть решена сразу. Однако, если
начальная база данных содержит утверждение INROOM (Si, R\)
процесс решения задачи может продолжаться. Система
STRIPS находит оператор PUSHTHRU (Вь d, ru /?i), действие
которого может привести к желаемому утверждению.
Предусловием G) для оператора PUSHTHRU является следующее:
Gi:INROOM(Bb n) Л INROOM(ROBOT, rx) Л
Л CONNECTS (d, ru Rx)
В анализе конечных значений это предусловие является
подцелью и STRIPS пытается реализовать его из состояния М0.
Поскольку нет непосредственного решения этой задачи,
STRIPS находит, что если r\=R2y d = D\ и текущая база
данных содержит оператор INROOM(ROBOT, R2), то процесс
может продолжаться. Вновь STRIPS находит оператор
GOTHRU(d, г\у R2y результат действия которого может привести
к желаемому состоянию. Его предусловие является следующей
подцелью:
G2: INROOM (ROBOT, n) Л CONNECTS (d, ru #2)
Используя подстановки гх = R\ и d = D\, система STRIPS
способна выполнить операцию G2. Применяя оператор
GOTHRU(Di, Ru R2) к состоянию М0, имеем
Mi: INROOM (ROBOT, /?2), CONNECTS (Du Ru #2)
CONNECTS (D2, /?2, Яз), BOX (BO
INROOM(Bb /?2), ...
(Vjc) (Vy) (Vz) [CONNECTS (x, y, z) =ф CONNECTS (x, zy y))
Теперь STRIPS пытается достигнуть подцели G\ из новой
базы данных М\. Она находит оператор PUSHTHRU(B\, D\, R2>
Ri) с подстановками п=/?2 и d — D\. Применяя этот оператор
к Ми получаем
М2: INROOM (ROBOT, Rx)f CONNECTS (Du Ru #2)
CONNECTS(Db/?2, /?3)> BOX(Bi)
INROOM(Sb/?!), ...
(VxVyVz) [CONNECTS (jc, y, z) =ф CONNECTS (*, zy y)] :
На следующем шаге система STRIPS пытается реализовать
исходную цель Go из состояния М2. Эта попытка оказывается
успешной, и окончательная последовательность операторов имеет
вид:
GOTHRU(Db Ru /?2), PUSHTHRU(5Ь Du Я2, Ri)
Желательно создать план, который не зависел бы от констант
Du Ru R2 и В\ и можно было бы использовать в ситуациях
548
привольными дверями, комнатами, ящиками. Треугольная
таблица для конкретного плана приведена на рис. 10.17, а тре-
1
2
3
INROOM(ROBOT,*,)
CONNECTS^,Я,,/?,)
INROOM(B,,ff.)
connectscd", ,/?,,/?■>)
CONNECTS(a\v,-) mT
CONNECTS('v,v,c)
GOTHR^Oj^!,/?,)
INROOM(ROBOT,/?2)
PUSHTHRU(5,,D,t RZM{)
INROOM(ROBOT,Kj)
INROOM(fl|,/?t)
Рйс. 10.17. Треугольная таблица для конкретного плана.
!NROOM(ROBOT./>2)
CONNECTS^, .рг,р£
ШООМ(р64>#
CONNECTS(pe.ft,ft)
CONNECTSCrora) "■*
CONNECTStW)
GOTHRU(ft.ft,fc>
lNROOM(ROBOT.p5)
PUSHTHRU(p6./>s.ft7>9>
INROOM(ROBOT^)
INROQM<ft,ps)
Рис. 10.18. Треугольная таблица для обобщенного плана.
угольная таблица для обобщенного плана — на рис. 10.18.
Следовательно, обобщенный план мог бы иметь следующий вид:
GOTHRU(db гигг)
. PUSHTHRU(&, d2, г2, г8)
и мог быть использован для перехода из первой комнаты во
вторую и переноса ящика в третью комнату.
107. ОБУЧЕНИЕ РОБОТА
Мы рассмотрели применение треугольных таблиц
обобщенных планов для управления ходом выполнения плана действий
робота. Треугольные таблицы для обобщенных планов также
549
могут быть использованы системой STRIPS для выделения со*
ответствующей последовательности операторов.во время
последовательного процесса планирования. В принципе можно
составить единую треугольную таблицу для представления семейства
обобщенных операторов. Из списка добавлений, определяемого*
системой STRIPS, мы должны выбрать наиболее экономичный
по параметрам оператор. Напомним, что (*+1)-я строка
треугольной таблицы (исключая первый элемент) представляет
собой список добавлений А\, ..., i i-й части плана, т. е.
последовательность ОР\, ..., OPt. п-и шаг плана дает системе
STRIPS n альтернативных списков добавлений, каждый из
которых может быть использован для уменьшения различия, воз-
никающего во время нормального процесса планирования.
Система STRIPS обычным образом проверяет соответствие
каждого из списков добавлений обобщенного плана и выбирает и&
них те, которые обеспечивают наибольшее уменьшение
различия. Часто данный набор подходящих утверждений будет
появляться в нескольких строках таблицы. В этом случае
выбирается строка с наименьшим номером, поскольку данный выбор
приводит к наиболее короткой последовательности операторов^
с помощью которых создаются требуемые утверждения.
Предположим, что система STRIPS выбирает i'-й список
добавлений Л1 ..., Л/, К п. Поскольку этот список является
результатом работы последовательности операторов ОР\, . ..>
..., OPiy то очевидно, что не надо интересоваться их
применением и тем более установлением их предусловий. Как
правило, некоторые шаги плана требуются только для установления
предусловий последующих шагов. Если нас не интересует
завершающая часть плана, то в соответствующем примере
обобщенного плана могут не содержаться те операторы,
единственной целью которых является определение предусловий для
завершающей части плана. Поэтому обычно система STRIPS
использует ограниченный набор из списка Ль ..., Л; для
установления соответствия t-й начальной части плана. Каждый из.
первых i операторов, которые не добавляют утверждений в этот
ограниченный набор или помогают установить предусловия для
некоторого оператора, добавляющего утверждение в этот
набор, не требуется в соответствующем примере обобщенного
плана.
Для того чтобы получить систему планирования действий
робота, которая может не только ускорять процесс
планирования, но также улучшать способность системы решать более
сложные задачи, можно было создать систему, имеющую
способность к обучению. Система STRIPS использует схему общих
правил машинного обучения. Другой формой обучения могло бы
быть обновление информации в таблице «различие — оператор»
на основе опыта системы.
550
МОЩНЫМ rppraaifrm*- пщтя Aj^t- у^^щ^ц^ и о ппгмч которое
также применяется-.для планирования действий робо
чающаяся система планирования действий робота, на
PULP-I, шт предложена в работе [279}. Система истшш5вд||
аналогию между текущей незапланированной задачей и любыми"
извесШШв сходными задачами для сокращения поиска
решения. Щя. внутреннего представления задач в этой системе
вместо дЩдаки предикатов используется семантическая сеть.
Вначале & качестве знаний, основанных на простом опыте, в
систему заводится ряд примеров типовых задач. Для определения
сходства между двумя задачами используется аналогия, кото-
НрРопределяется семантической процедурой соответствия. Ал-
■ЩОД соответствия определяет семантическую «близость», са-
Щщмаленькую величину (самое близкое значение). Основан-
на семантическом определении соответствия прошлый опыт
^меняется для формирования плана-кандидата. Затем
проверяется предусловия операторов каждого плана-кандидата на
применимость их к текущему состоянию рабочего пространства.
Если план не применим, он исключается из списка кандидатов.
В результате проверки на применимость может оказаться
несколько возможных планов-кандидатов. Эти планы-кандидаты
упорядочиваются согласно их оценкам семантических
соответствий. План с наименьшим значением семантического
соответствия имеет высший приоритет и должен располагаться в начале
списка кандидатов. Конечно, если ни один кандидат не найден,
система заканчивает работу аварийным остановом.
Моделирование с помощью системы PULP-I на ЭВМ показало
значительное улучшение процесса планирования, которое касается не
только скорости планирования, но и способности формирования
сложных планов на основе типовых обучающих примеров.
10.8. ПЛАНИРОВАНИЕ ЗАДАЧИ ДВИЖЕНИЯ РОБОТОВ
Предназначенные для роботов планировщики,
рассмотренные в предыдущем разделе, требуют описания только
начального и конечного состояний данной задачи. Эти системы
планирования обычно не определяют подробно движения робота,
необходимые для выполнения операции, а формируют такие
команды, как PICKUP (Л) и STACK(X, F), не определяя
траекторию движения робота. Однако в обозримом будущем
планировщики задач должны давать более подробную информацию о
промежуточных состояниях, чем та, которую сейчас эти системы
выдают. От них будет требоваться создание намного более
подробной программы движения робота. Другими словами,
планировщик задачи должен быть способен преобразовать
детализацию на уровне задачи в детализацию на уровне манипулятора.
Для выполнения этого преобразования планировщик задача
551
должен иметь описания объектов, подлежащих
манипулированию, рабочего пространства, где выполняется задача, схемы
выполнения роботом задачи, начального состояния рабочего
пространства и желаемого конечного (целевого) состояния. На
выходе планировщика задачи должна быть программа достижения
роботом конечного состояния из определенного начального
состояния.
Планирование задачи осуществляется в 3 этапа:
моделирование, детализация задачи и синтез программы движения
манипулятора. Модель рабочего пространства, в котором выполняется
задача, должна содержать следующую информацию-
1) геометрическое описание всех объектов и робота;
2) физическое описание всех объектов;
3) кинематическое описание всех связей;
4) описание робота и характеристик сенсоров.
Модели состояний задачи должны включать взаимное
расположение всех объектов и связей в модели рабочего
пространства.
10.8.1. Моделирование
Геометрическое описание объектов является важной частью
модели рабочего пространства. Основным источником
информации о геометрических моделях являются системы
автоматизированного проектирования (САПР) и техническое зрение. Имеются
три основных типа схем представления трехмерных объектов
[247]:
1)_ граничное представление;
2) шаблонное представление;
3) объемное представление.
Объемное представление объекта может задаваться тремя
способами:
1) занимаемой пространственной областью;
2) разбиением на элементарные ячейки;
3) пространственной геометрией воспроизведения объектов
(ПГВО).
Для задач планирования была предложена пространственная
геометрия воспроизведения объектов, основной идеей которой
является построение сложных тел из нескольких типов простых
с помощью набора операций. Объект на рис. 10.19, а может быть
описан с помощью структуры, приведенной на рис. 10.19,6.
Возможные движения объекта ограничиваются наличием других
объектов в рабочем пространстве, и форма ограничений зависит
от формы объектов. По этой причине планировщику задачи
необходимы геометрические описания объектов. Имеются
дополнительные ограничения на движение, накладываемые
кинематической структурой самого робота. Кинематические модели дают
552
планировщику задачи информацию, требуемую для
планирования даяженнй манипулятора. Эта информация является внеш-
Ир ограничением.
Ийногие физические характеристики объектов играют важ-
■р роль при планировании операций робота. Например, от
■ЁЁСЫ и моментов инерции зависит скорость передвижения де-
Шгёй или величина силы, которую надо приложить, чтобы их
Щршиъ и перенести. Другим важным аспектом является очув-
*еяие. Для планирования задачи зрение дает возможность
а
Рис. 10.19. Пространственная геометрия воспроизведения объектов.
Атрибуты А и В: длина, ширина, высота
Атрибуты А и В: длина, ширина, высота. Атрибуты С: радиус, высота. Набор
операторов-связей: U — объединение, Г) — пересечение, — разность.
роботу с некоторой точностью получать информацию о
расположении объектов; силовое очувствление допускает использование
упругой податливости; тактильное очувствление позволяет
реализовать обе возможности. Помимо очувствления необходимо
описывать много индивидуальных характеристик
манипуляторов, например граничные значения скорости и ускорения и
точность позиционирования каждого из сочленений.
10.8.2. Подробное описание задачи
Состояние модели определяется взаимным расположением
(конфигурациями) всех объектов в рабочем пространстве;
задачи обычно определяются последовательностью состояний
модели рабочего пространства. Для определения взаимного
расположения можно использовать, во-первых, САПР (для распо-
553.
ложения моделей объектов в желаемые конфигурации),
во-вторых, робот (для определения его конфигураций и расположения
частей объектов) и, в-третьих, пространственные символически©
связи между частями объекта (для введения ограничений на
конфигурации объектов). Первые две возможности позволяют
создавать численные описания конфигураций, которые трудны
для интерпретации и модификации. В последнем случае
конфигурация описывается набором символических пространственных
связей, которые необходимо соблюдать между объектами в этой
конфигурации.
Поскольку состояниями модели являются наборы
конфигураций и подробное описание задачи определяется
последовательными состояниями, выражаемыми символическими
пространственными связями конфигураций, то мы в состоянии
определять задачи. Предположим, что в модель входят имена и
свойства объектов. Первым шагом процесса планирования
задачи является преобразование символических пространственных
связей между свойствами объектов в уравнение параметров
конфигураций объектов в этой модели. Затем эти уравнения
должны быть насколько возможно упрощены, чтобы можно было
определить ранги конфигураций всех объектов. Во время
синтеза программы также используется символическая форма
связей.
10.8.3. Синтез программы движения манипулятора
Синтез программы манипулятора на основе подробного
описания задачи является решающим этапом планирования.
Основные шаги этого этапа следующие: планирование захвата,
планирование движения и обнаружение ошибок. Программа,
полученная в результате синтеза, состоит из команд захвата,
нескольких видов определения движения и тестов на ошибки.
Обычно эта программа составлена на роботоориентированном
языке для определенного манипулятора и допускает
многократное использование без предварительного перепланирования.
10.9. ОСНОВНЫЕ ПРОБЛЕМЫ ПЛАНИРОВАНИЯ ЗАДАЧ
10.9.1. Символические пространственные связи
Основными этапами получения из символических
пространственных связей ограничений на конфигурации являются:
1) Определение системы координат для объектов и частей
объектов.
2) Определение уравнений параметров конфигурации
объекта по каждой пространственной связи.
3) Объединение уравнений для каждого объекта.
554
Щ& 4) Решение уравнений для параметров конфигурации
каждого объекта.
Рассмотрим пример, приведенный на рис. 10.20:
PLACE Block l (fi against f3) and (f2 anainst f4)
'(разместить блок 1 так, чтобы грань f\ располагалась напротив
грани /3 и грань ^—напротив грани f4).
Требуется получить набор уравнений, которые связывают
конфигурацию блока 1 с известной конфигурацией блока 2, т. е.
грань f\ блока 2 должна быть напротив грани f3 блока 1, а
грань /г блока 2 — напротив грани /4 блока 1.
IvWК 2
ЖаокТ
Рис. 10.20. Иллюстрация пространственной связи между объектами.
Каждый объект и его части имеют связанные с ним системы
координат (рис. 10.21). Конфигурации описываются матрицами
преобразования размерностью 4X4:
h =
h =
г 1 0 0 O-i
0 10 0
0 0 10
L0 1 1 U
10 0 0
0 10 0
0 0 10
1 1 1 U
и-
0 10 0
-10 0 0
0 0 10
1 0 1 U
Г0 -1 0 0
1 0 0 0
0 0 10
L1 0 1 U
Пусть twix(O) — матрица преобразования, описывающего
поворот на угол 6 вокруг оси х, trans (х, у, г) —матрица
перемещения вдоль осей х, у и z и М — матрица поворота вокруг оси у,
причем М = М~Х. Каждая связь типа напротив между двумя
гранями, например гранью / объекта А и гранью g объекта В,
дает следующее ограничение на конфигурацию двух объектов:
A = f~1Mtmx(Q)(Q, У, z)gB. (10.9-1)
555
Две связи типа напротив в примере на рис. 10.20 дают
следующие уравнения
Blockl=/3*"1Aftwix(e1) trans (0, уь ^J f! Block2,
Block 1= /7 !Aftwix(ei) trans (0, y2, z2) f2 Block2. (10.9-2)
Уравнение (10.9-2) состоит из двух независимых
ограничений на конфигурацию блока 1, которые должны одновременно
Рис. 10.21. Оси координат, связанные с объектами и их частями.
выполняться. Приравнивая оба уравнения (10.9-2) и устраняя
общий член Block 2, мы получаем
/r^Mtwix (Q{) trans (0, уи z^fx = /r1Altwix(92) trans (0, уъ z2)f2.
(10.9-3)
Выражение (10.9-3) можно преобразовать следующим образом:
fslMtmx(Bi)trans(0, ух+1, z{ + 1) (/з)"1 X
X trans (0, — yu -z2)twix(-e2)M-74 = /, (10.9-4)
где главные матрицы обозначают вращательный компонент
преобразования» полученный подстановкой в последнюю строку
матрицы [0, 0, 0, 1]. Можно показать, что для компоненты
вращения и перемещения уравнения этого типа могут быть решены
независимо. Уравнение вращения может быть получено заменой
каждой из матриц trans на единичную и использованием только
вращательных компонент других матриц. Уравнение вращения
для уравнения (10.9-4) имеет вид
(/з)"1 М twix (80 (f2yl twix (- 62) М (fd = I. (10.9-5)
Поскольку /з = 1, уравнение (10.9-5) можно записать в виде
twix (60 {f2yl twix (- 62) = М (й)"1 М9 (10.9-6)
556
так как
0
1
0
0
—1
0
0
0
0
0
1
0
0
0
0
1
(f2)=M(fT м =
Равенство (10.9-6) выполняется, и мы можем выбрать 02 = (Х-
Полагая 92 = 0 в уравнении (10.9-6), мы получаем
twix(9,) = M(/0 M(f2) = l
(10.9-7)
Из уравнения (10.9-7) следует, что 0i =0. Таким образом,
уравнение 10.9-2 имеет вид
Blockl=
--10 0 0
0 1 0 0
0 0—1 0
1 Ух 2 + г, 1 -
- -1 0 0 От
0 10 0
0 0-10
L 2 — у2 0 2 + z2 1J
(10.9-8)
Сравнивая соответствующие элементы матрицы, имеем
2 — г/2 = 1,
#1 = 0,
2 + ^=2 + 22.
Следовательно, #2=1, #i=0 и z\ = z2, т. е. блок 1 имеет
одну степень свободы, соответствующую перемещению вдоль
оси z.
Метод, используемый в предыдущем примере, был предложен
в работе [5]. Контактные связи, применяемые в этом методе,,
делятся на связи типа напротив, соответствовать и
параллельность для деталей, имеющих плоские или сферические
поверхности, цилиндрические стержни и отверстия, острые края и
вершины. В работе [281] этот подход распространен на неконтактные
связи, такие, как стержень и отверстие с диаметром
большим, чем диаметр стержня, объект в ящике или деталь рядом
с другой деталью. Эти связи повышают число ограничений на
параметры конфигурации. Например, они могут быть
использованы для моделирования положения конца отвертки в схвате
робота, ошибок положения в сочленениях и проскальзыванияг
отвертки в схвате. После упрощения равенств и неравенств
определяется набор линейных ограничений путем линеаризации
вращений вблизи исходной конфигурации. Значения параметров
557
конфигурации, удовлетворяющей ограничениям, могут быть
получены методом линейного программирования применительно к
линеаризованным уравнениям ограничений.
10.9.2 Обход препятствий
Наиболее общими движениями робота являются движения
связанные с переносом объектов, для которых единственное
ограничение состоит в том, чтобы робот и переносимый объект
не столкнулись с объектами в рабочем пространстве. Поэтому
для планирования задачи важно планировать движения с
учетом обхода препятствий. В разных областях были предложены
различные алгоритмы обхода препятствий. Ниже мы кратко
изложим эти алгоритмы, предназначенные для обхода роботом
препятствий в трехмерном пространстве. Эти алгоритмы можно
разделить на 3 класса: 1) гипотеза — тест; 2) штрафная
функция; 3) явно свободное пространство.
Раньше других был предложен метод гипотезы и теста,
состоящий из трех основных шагов:
1. Предлагается гипотеза относительно пути-кандидата
между начальной и конечной конфигурациями манипулятора
робота.
2. Набор конфигураций вдоль этого пути тестируется на
возможность столкновений.
3. Если столкновение оказывается возможным, с целью
определения пути обхода исследуется препятствие, которое может
вызвать это столкновение. Весь процесс повторяется для
модифицированного движения.
Главное преимущество метода «гипотеза — тест» заключается
в его простоте. Основными вычислительными операциями
метода являются определение возможных столкновений и
модификация путей для предотвращения столкновений. Первая
операция равнозначна способности определять ненулевое
геометрическое пересечение между моделями манипулятора и препятствий.
Эта возможность, как правило, имеется в большинстве систем
геометрического моделирования. В разд. 10.8 мы указывали, что
вторая операция — модифицирование предложенного
пути—может быть очень трудной. Обычные предложения модификации
пути основываются на аппроксимации препятствий в виде
замкнутых сфер. Эти методы хорошо работают, когда препятствия
расположены редко. Когда же пространство заполнено
объектами, попытки избежать столкновения с одним препятствием
обычно приводят к столкновению с другим. В таких условиях
определение возможных столкновений может быть осуществлено
более точно, если применить систему технического зрения
и/или другие системы очувствления.
658
■Шторой класс алгоритмов обхода препятствий основывается
■рбпределении штрафной функции для конфигурации манипу-
Кгора, с помощью которой кодируется наличие объектов.
Вбычно для конфигурации, которая приводит к столкновениям,
■рйение штрафа равно бесконечности и резко падает по мере
различения расстояния от препятствий. Полная штрафная
■ЁЙрция представляет собой сумму штрафов отдельных препят-
HpNfifi, к которой иногда добавляется штрафной член отклонения
pnr кратчайшего пути. Для каждой конфигурации мы можем
рычислить значение штрафной функции и оценить ее частные
Рис. 10.22. Штрафная функция для простого робота с одной вращательной
степенью свободы( а) и для двузвенного манипулятора (б). (Числа на
рисунке указывают значения штрафной функции.)
производные по отношению к параметрам конфигурации. На
основе этой локальной информации с помощью функции поиска
пути необходимо выбрать последовательность конфигураций.
Решение должно соответствовать локальному минимуму
штрафной функции, т. е. компромиссу между увеличением длины пути
и максимальным приближением к препятствиям. Интерес к
методам штрафных функций основан на том, что они обеспечивают
относительно простой путь комбинирования ограничений от
различных объектов. Однако это справедливо лишь для робота
с вращательной степенью свободы; в этом случае вид штрафной
функции легко получить исходя из формы препятствия. Для
большинства реальных роботов, таких, как двузвенный
манипулятор, штрафную функцию можно было бы определить через
преобразование конфигурации препятствия в пространстве.
В противном случае движения робота, уменьшающие значения
штрафной функции, не были бы безопасными. Различие между
этими двумя типами штрафных функций иллюстрируется на
рис. 10.22. Отметим, что на рис. 10.22, а движение вдоль умень-
559
шающихся значений штрафной функции является безопасным,
в то же время на рис. 10.22,6 подобное движение конца руки
манипулятора приводит к столкновению.
Метод, описанный в работе [144], является промежуточным
и использует штрафную функцию, которая удовлетворяет
определению потенциального поля. Градиент поля в точке робота
интерпретируется как сила отталкивания в этой точке, которая
суммируется с силой притяжения, действующей из конечного
положения робота. Движение робота является результатом
взаимодействия этих двух сил при наличии кинематических
ограничений. Используя несколько точек робота, можно
избежать ситуаций, приведенных на рис. 10.22.
Основным недостатком использования штрафных функций
для планирования безопасных путей является точная локальная
информация, которую они дают для поиска пути. Попытки
определения пути по локальным минимумам штрафной функции
могут привести к тупиковым ситуациям, когда дальнейший
поиск пути становится невозможным. В этом случае алгоритм
должен выбрать предыдущую конфигурацию и продолжить
поиск в другом направлении. Такие точки возврата трудны для
идентификации на основе локальной информации. Поэтому
полезно комбинировать метод штрафных функций с более общим
методом гипотеза — тест. Штрафные функции более удобны в
в тех случаях, когда требуются только небольшие модификации
известного пути.
Третий класс алгоритмов обхода препятствий в явном виде
определяет наборы конфигураций робота, которые свободны от
столкновений с объектами (свободное пространство). Обход
препятствия трактуется здесь как поиск пути в пределах этих
наборов, связывающего начальную и конечную конфигурации.
Эти алгоритмы в основном различаются самими наборами,
составляющими свободное пространство, и путями представления
этих наборов. Преимущество методов свободного пространства
состоит в том, что они используют явную характеристику
свободного пространства, позволяющего определить метод поиска,
который гарантирует нахождение путей в том случае, если они
существуют, в пределах известного набора конфигураций из
свободного пространства. Более того, эти методы часто
позволяют определить самый короткий из всех безопасных путей.
К недостаткам метода относится то, что процесс вычисления
свободного пространства может быть длительным. В частности,
другие методы могут быть более эффективными в случае
пространства с небольшим числом объектов. Однако для
пространства, заполненного большим числом объектов, другие методы
либо оказываются неработоспособными, либо слишком
трудоемкими.
560
10.9.3. Планирование захвата
Ирцшчная операция робота начинается с захвата объекта:
остальные операции зависят от выбора, сделанного во время
захвата. Существует несколько вариантов выбора конфигура-
^И|захвата объекта без столкновений, однако другие аспекты
Ийцей проблемы планирования движений захвата разработаны
Ирабо. В этом разделе термин объект-цель относится к объекту,
■gjopbifi должен быть схвачен. Поверхности робота,
используемые для захвата (например, внутренние стороны пальцев),
называются поверхностями захвата. Конфигурация манипулятора,
■татрой он производит операцию захвата объекта, называется
ЩШйльной конфигурацией захвата. Конфигурация, в которой
Крот переносит объект-цель к месту его назначения, называется
Щонечной конфигурацией захвата.
Существуют три основных критерия выбора конфигурации
Охвата для объектов с известными конфигурациями. Первым
критерием является безопавность: робот должен обеспечить
безопасность в.начальной и конечной конфигурациях захвата.
Вторым критерием — достижимость: робот должен быть способен
достичь начальной конфигурации захвата и с объектом в руке
найти свободный от столкновений путь к конечной
конфигурации захвата. Третьим критерием является надежность: захват
должен быть надежным при наличии сил, действующих на
захватываемый объект во время движений, перемещений и
некоторых других операций. Если начальная конфигурация объекта-
цели является существенно неопределенной, дополнительным
критерием является определенность: движение при захвате
должно уменьшить неопределенность положения объекта цели.
Выбор безопасных и достижимых конфигураций
манипулятора, обеспечивающий захват, относится к проблеме обхода
препятствий. Однако при решении этой задачи следует иметь
в виду, что при планировании захвата определяется одна
конфигурация, а не траектория.
Кроме того, при планировании захвата необходимо подробно
рассматривать взаимодействие манипулятора и объекта-цели.
Отметим, что возможными конфигурациями, обеспечивающими
захват, являются конфигурации, при которых руки захватного
устройства находятся в контакте с объектом-целью и
одновременно выполняется условие предотвращения столкновений
между манипулятором и другими объектами. И наконец, при
планировании процесс выбора конфигурации манипулятора,
обеспечивающей захват, связан с ограничениями,
накладываемыми последующими операциями при захвате объекта.
Поэтому большинство существующих методов планирования
захвата рассматривается независимо от проблемы обхода
препятствий.
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
1Ййтеллекте подход к решению задач, называемый «генерация и
jjecr». Больше 15 лет химики-органики использовали систему
fDendral в качестве консультанта. В настоящее время она
признана как эксперт в области масс-спектрального анализа.
Одной из наиболее известных экспертных систем является
также система 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. ЗАКЛЮЧЕНИЕ
В этой главе рассмотрены вопросы решения задач
планирования применительно к роботам. Планировщик пытается найти
путь из начального состояния рабочего пространства робота в
конечное состояние. Путь состоит из последовательности
операций, считающихся элементарными для системы. Решение задачи
ът
может быть основано на соответствующей последовательности
реалшых действий в реальном рабочем пространстве.
Планирован^ должно рассматриваться как интеллектуальная функ-
■р робота.
Вр конце 1971 и начале 1972 г.г. были предложены два основ-
Ш подхода к планированию действий робота. Первый подход,
■Личным представителем которого является система STRIPS,
иршчается в создании для робота универсального планиров-
Вша, способного решать задачи в различных рабочих простран-
WBax. Второй подход состоит в выборе определенного рабочего
Нгайгранства и в написании применительно к нему
компьютерен: программы решения задач. Первый подход, подобный мно-
Щ&& другим процессам решения задач в искусственном интеллек-
| обычно требует большого объема вычислений для решения
Аач, возникающих при функционировании робота в реальном
|рйбочем пространстве, и, следовательно, чрезвычайно
трудно реализуем с вычислительной точки зрения. Второй подход
•имеет общий недостаток, состоящий в том, что для каждых
действий робота необходимо писать свой набор программ, что
значительно ограничивает гибкость функционирования робота
в реальном рабочем пространстве.
Помимо планирования задач робота на высоком уровне
требуется более подробная количественная информация о рабочем
пространстве робота. Существующие методы планирования
задач непригодны с вычислительной точки зрения для
практических применений в реальном времени. Требуются более мощные
и эффективные алгоритмы. Кроме того, для ускорения
вычислений и удовлетворения требованиям реального времени могут
быть использованы специализированные компьютеры.
Планирование действий робота, подразумевающее
интеллектуальные действия и способность решения задач, все еще
является активной сферой исследований. Для функционирования
робота в реальном времени до сих пор необходимы мощные и
эффективные алгоритмы планирования, которые будут
реализованы на высокоскоростных специализированных компьютерных
системах.
Литература
Общие вопросы, относящиеся к тематике этой главы, могут
быть найдены в работах [13, 216, 217, 248]. Материалы
разд. 10.2 и 10.3 основаны на работах [308, 309, 216, 312].
Материалы по разд. 10.4 можно найти в работе [43].
Дополнительную информацию по разд. 10.5 и 10.6 можно найти в работах
[78, 248], а по разд. 10.7 в работе [279]. Ранними
работами, рассматривающими вопросы планирования задачи робо-
667
том (разд. 10.8 и 10.9), являются работы [5, 61, 77, 267, 281].
Более поздними —работы [55, 144, 247]. Дополнительную
информацию по разд. 10.10 можно найти в работах [117, 208, 304].
Упражнения
10.1. Предположим, что три миссионера и три людоеда собираются
переплыть на лодке с одного берега реки на другой. Максимальная
вместимость лодки 2 человека. Если в любой момент времени число людоедов
превзойдет число миссионеров, людоеды начнут есть миссионеров. Предложите
компьютерную программу для решения задачи безопасной переправы людей
на другой берег. Указание. Используйте представление пространства
состояний и методы поиска, приведенные в разд. 10.2. Пространство состояний
можно представить в виде (Л/m, Nc)y где 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.
Приложение А.
ВЕКТОРЫ И МАТРИЦЫ
Ниже дается обзор основных положений векторного и
матричного исчислений. Векторы обозначены полужирными строчными
-буквами, а матрицы — полужирными прописными буквами.
АЛ. Скалярные и векторные величины
Физические параметры можно разделить па два класса:
параметры, которые характеризуются только величиной, и
параметры, которые характеризуются величиной и направлением.
Параметры, имеющие только величину, называются скалярами
(например, время, масса, плотность, длина, координаты).
Скалярная величина обычно записывается в виде действительного
числа с соответствующей размерностью. Сравнение скалярных
величин можно производить, только если они имеют одинаковую
размерность.
Параметры, имеющие величину и направление, называются
векторами (например, сила, момент, скорость, ускорение).
Вектор обычно представляется графически в виде стрелки, длина и
направление которой соответствуют величине и направлению
рассматриваемого параметра. Сравнение векторных величин
можно производить только, если они описывают один
физический параметр и имеют одинаковую размерность.
Два вектора а и b равны, если они имеют одинаковые длину
и направление. Запись —а обозначает, что вектор имеет
величину, равную вектору а, но противоположно направлен. С
вектором связан положительный скаляр, равный его величине. Эта
величина записывается в виде |а|. Если а является величиной
или длиной вектора а, то
а-|а|. (АЛ)
Единичный вектор а имеет единичную длину в заданном
направлении
|а| —1. (А.2)
Любой вектор а в трехмерном пространстве может быть
приведен к единичному вектору следующим образом:
V
4+4+4
(А.З)
569
где aXi ay и az — элементы вектора а вдоль основных осей
координат.
А.2. Сложение и вычитание векторов
Сложение двух векторов а и b является коммутативным, т. е.
а + b = b + a. (A.4)
Это легко проверить путем рассмотрения параллелограмма
а + b + с
Рис. АЛ. Сложение векторов.
со сторонами а и b (рис. АЛ). Сложение трех и более векторов,
ассоциативно (рис. АЛ):
(а + Ь) + с = а + (Ь + с) = а + b + с. (А.5)
Разность между двумя векторами а и b записывается как
а — b и определяется как вектор, проведенный из конца вектора
а~Ь
Рис. А.2. Вычитание векторов.
b в конец вектора а при совмещении начальных точек векторов
а и b (рис. А.2).
А.З. Умножение векторов на скалярные величины
Умножение вектора а на скаляр т соответствует увеличению
длины вектора а в \т\ раз в том же направлении, если т > О*
и в обратном направлении, если т <С 0. Таким образом,
b = ma
|b| = Im||a|.
(А.6)
(А.7)
При умножении векторов на скалярные величины
используются следующие правила:
1) т(ла) = /пла;
670
2) m(a +b) = ma + mb;
3) (m + n) a = ma + na,
где m и /г — скалярные величины. (А.8)
А.4. Линейное векторное пространство
Линейным векторным пространством V называется непустое
множество векторов, определенных на области действительных
чисел F, которые удовлетворяют следующим условиям
сложения векторов и их умножения на скалярные величины:
1. Сумма двух любых векторных элементов из V также
является векторным элементом, принадлежащим V.
2. Сложение двух любых векторных элементов V является
коммутативным.
3. Сложение трех любых векторных элементов V является
ассоциативным.
4. Существует единственный элемент, называемый нулевым
вектором пространства V (обозначается через 0), такой, что для
каждого элемента а е V:
0 + а = а + 0 = а.
5. Для каждого векторного элемента ael/ существует
единственный вектор (—а) <= V, такой, что
а + (-а) = 0.
6. Для каждого векторного элемента aEl/ и для каждого
скаляра m e F произведение т на а также является вектором
пространства V. Если т= 1, то
ma= la = al = а.
7. Для любых скаляров т и п из области F и любых
векторов а и b из пространства V умножение на скалярные величины
является дистрибутивным:
m (a + b) = ma + mb,
(т + п) а = та + ла.
8. Для любых скаляров т и п из области F и любого
вектора а из пространства V
т (па) = (тп) а = т/га.
Примерами линейного векторного пространства являются
множества из всех действительных одно-, двух- или трехмерных
векторов.
571
A.5. Линейная зависимость и линейная независимость
Конечное множество векторов {хь х2, ..., хп} в пространстве
V является линейно зависимым тогда и только тогда, когда
существуют п скаляров {си c2i c3, ..., сп) в области F (не все
равные нулю), такие, что
с{х{ + с2х2 + с3х3 + ... + спхп = 0. (А.9)
Если единственным условием справедливости этого
уравнения является тождественное равенство всех скаляров Ci нулю,
то множество векторов {х;} является линейно независимым.
Два линейно зависимых вектора в трехмерном пространстве
коллинеарны, т. е. они находятся на одной линии. Три линейно
зависимых вектора в трехмерном пространстве компланарны,
т. е. они лежат в одной плоскости.
Пример. Пусть а = (1,2, 0)r, b = (0, 3, 2)г, ас= (3, 0, — 4)т—
векторы трехмерного векторного пространства. Эти три вектора
составляют линейно зависимое множество в трехмерном
векторном пространстве, поскольку
За — 2Ь — с = 0.
Они являются также компланарными.
А.6. Линейные комбинации, базисные векторы и размерность
Если существует подмножество векторов (еь ег, ..., еп}
в пространстве V и множество скаляров (d, е2, ..., е„} в
пространстве F, такие, что каждый вектор х в V может быть
выражен как
п
х = с1е1 + с2е2 + ... + спеп = 2 cteh (АЛО)
то вектор х является линейной комбинацией векторов {е,}.
В этом случае говорят, что множество векторов {е,}
охватывает векторное пространство V.
Базисными векторами в векторном пространстве V является
множество линейно независимых векторов, охватывающих
векторное пространство V. Другими словами, базисные векторы —
это минимальное число векторов, охватывающих векторное
пространство V. При выбранном множестве базисных векторов для
векторного пространства V каждый вектор х е V может быть
однозначно записан в виде линейной комбинации базисных
векторов.
Размерность векторного пространства V равна числу
базисных векторов, описывающих это пространство. Таким образом,
n-мерное линейное векторное пространство имеет п базисных
векторов. Для представления векторного пространства
размерностью п используется обозначение Vn.
572
А*7. Декартовы системы координат
Из разд. А.6 следует, что при данном множестве из п
базисных векторов {еь е2, ...,е„} в векторном пространстве Vn
любой вектор геК„ может быть однозначно записан в виде
линейной комбинации базисных векторов:
г = r{tx + r2t2 + ... + rnen. (AM)
. В частности, при п = 3 в качестве базисных векторов могут
служить три любых некомпланарных вектора.
В трехмерном векторном пространстве, если множество
базисных векторов (ei,e2, e3} имеет общее начало О, они
образуют косоугольную систему координат с осями OX, OY и OZ,
Рис. А.З. Системы координат.
*1
ч
направленными вдоль базисных векторов (рис. А.З).
Соответствующим выбором направления базисных векторов можно
формировать различные системы координат, которые обычно
используются в инженерной практике.
Если базисные векторы {ei,e2, е3} расположены
ортогонально друг другу, т. е. они пересекаются в начале координат О под
№
к
Лрабая
Рис. А.4. Декартова система координат.
7
Левая
прямыми углами, то они образуют прямоугольную или декар-
тову систему координат. Кроме того, если каждый из базисных
векторов имеет единичную длину, то система координат
называется ортонормальной. В этом случае обычно для обозначения
базисных векторов вместо {еье2, е3} используется запись
{i,j,k} (рис. А.4).
Если базисные векторы {i, j, k} ортонормальной системы
координат направлены вдоль основных координатных осей и
для совмещения оси ОХ с осью OY требуется поворот вправо
на 90° относительно оси OZ, такая система координат называется
573
правой. Если же направление базисных векторов для
аналогичного совмещения требует поворота влево, соответствующая
система координат называется левой. В этой книге используется
только правая система координат.
А.8. Произведение двух векторов
Кроме произведения скаляра и вектора важными являются
еще два типа произведений. Первый тип называется
скалярным (внутренним) произведением, а второй — векторным
(внешним) произведением.
А.8.1. Скалярное (внутреннее) произведение
Внутреннее произведение двух векторов а и b является
скаляром и определяется выражением
а • Ь = 1 а Ц b [cose, (A.12)
где 0 — угол между двумя векторами (рис. А.5). Скалярная
величина
u = |b|cos9 (A.13)
является компонентом вектора b вдоль вектора а, т. е. Ъ
численно равняется проекции b на а. Эта величина положительна,
|а[ со$0
Рис. А.5. Скалярное произведение.
а[ cqs#
если проекция имеет одинаковое с вектором а направление,
и отрицательна, если проекция имеет противоположное
направление.
Скалярное произведение
a-b = |a|-|b|cos9 = |a|6 = |b||a|
cos9 = |b|a (АЛ4)
равно произведению величины вектора а на компоненту
вектора b вдоль вектора а. Оно также равно произведению
величины вектора |Ь| на компоненту вектора а вдоль вектора Ь.
Следовательно, скалярное произведение обладает свойством
коммутативности;
а • b = b • а. (А. 15)
574
Если скалярное произведение а и b равно нулю, то один из
векторов или оба вектора равны нулю, либо они
перпендикулярны друг другу и cos(±90°) ав 0. Таким образом, два
ненулевых вектора а и b ортогональны тогда и только тогда, когда
их скалярное произведение равно нулю.
Поскольку внутреннее произведение может равняться нулю,
когда ни один из векторов не равен нулю, то деление на
вектор не определяется. Таким образом, если
ab = ac, (A.16)
То не b = с, а просто а-(Ь — с)=0 и b — с является нулевым
Лектором или вектором, ортогональным к а.
Если а и b имеют одно направление и 0 = 0°, то cos 0 = 1
и ab равно произведению длин этих двух векторов. В
частности, если а «=* Ь, то
a.b=»a.a=4a||a| = |a|2, (A.17)
т. е. равно квадрату длины вектора а.
Скалярное Произведение векторов является дистрибутивным
относительно сложения, т. е.
a.(b + c) = a.b + a-G (A.18)
и
(Ь + с)-а — Ьа + са. (A.19)
А.8.2. Векторное (внешнее) произведение
Векторное (или внешнее) произведение двух векторов а и b
определяется как вектор с:
c«aXb, (A.20)
который ортогонален к векторам а и b и имеет величину
|c| = Ia||b|sin6. (A.21)
Вектор с направлен так, что вращение вправо вокруг с на
угол 0, меньший 180°, совмещает а с Ь, где 0 — угол между а и b
(рис. А.6).
Поскольку /г = | b | sin в (рис. А.6), произведение аХ* имеет
величину, равную площади параллелограмма со сторонами а
и Ь. Векторное произведение аХЬ может быть рассмотрено как
результат проецирования вектора Ъ на плоскость WXYZ,
перпендикулярную плоскости векторов а и Ь, вращения проекции
на 90° в положительном направлении вокруг вектора а и
умножения полученного результата на |а|.
57S
Векторное произведение b X а имеет ту же величину, что
и аХЬ, но противоположное направление, т. е.
ЬХа--(аХЬ). (А.22)
Векторное произведение не является коммутативным. Если
векторы а и b параллельны, то 8 равен 0° или 180° и
|aX&l = |a||b|sin9 = 0.
(А.23)
И наоборот, если векторное произведение равно нулю, то
один или оба вектора равны нулю или параллельны.
Рис. А.6. Векторное произведение.
Отметим также, что векторное произведение дистрибутивно
относительно сложения, т. е.
а X (Ь + с) = а X b + а X с (А.24)
(Ь + с)Ха = ЬХа + сХа. (А.25)
Для скалярного и векторного произведения единичных
векторов !, j, k, направленных вдоль основных осей правой
декартовой системы координат, имеем
Ы = |.|=к-к=1,
i.j=j.k==k-i = 0,
iXi = JXj = kXk = 0,
i X j = — J X i = k,
jXk=-kXj = i,
kXi = -iXk = j.
(A.26)
576
Используя определение составляющих элементов вектора
и уравнение (А.26), скалярное произведение а и b можно
записать в виде
а• b = (а{1 + а2] + а3к) -(bxi + b2) + bzk) = axbx + аф2 + афг — arb,
(A.27)
где а7" обозначает транспонирование а (разд. А. 12). Векторное
произведение а и b можно записать в виде детерминанта
(разд. АЛ5)
И J k
а X Ь = \ах а2 аг\
I Ьх Ь2 Ьъ |
= (аф3 — аф2) \ + (афх — афъ) j + (axb2 — афх) к. (А.28)
А.9. Произведение трех и более векторов
Для скалярных и векторных произведений трех и более
векторов обычно выделяют следующие типы произведений:
(а-Ь)с, а-(ЬХс), аХ(ЬХс).
(А.29)
Произведение (а-Ь)с является простым произведением
скаляра (а-b) и вектора с. Результирующий вектор имеет вели-
b х с
Рис. А.7. Смешанное произведение.
чину |а-Ь||с| и направление, совпадающее с направлением
вектора с или противоположное ему в зависимости от знака
(а-Ь).
Смешанное произведение а-(ЬХс) представляет собой
скаляр с величиной, равной объему параллелепипеда с гранями,
образованными векторами a, b и с (рис. А.7), т. е.
а • (Ь X с) = | а 11 b 11 с | sin в cos a = НА = объем параллелепипеда,
(А.ЗО)
577
где h и А — соответственно высота и площадь основания
параллелепипеда.. Представляя векторы в виде составляющих их
элементов в трехмерном векторном пространстве, получим
I i J k
а • (Ь X с) = (ах1 + ау] + агк) -\bx Ъу Ъг
\ ^х Су @z
= ах (Ьусг — Ьгсу) + ау {Ьгсх — Ьхсг) + az(bxcy — bycx) ■■
а,
(А.31>
ау а2
bx by Ъг
^х Су С2
Отметим, что скобки, выделяющие векторное произведение-
b X с, могут быть сняты, поскольку не имеет смысла представ*
ление а• b X с в виде (а-Ь)Хс.
Видно также (рис. А.7), что объем параллелепипеда не
зависит от плоскости, выбранной за его основание.
Таким образом,
a.bXc = b.cXa = c-aXb (A.32)
и
а.ЬХс = -ачХЬ = -С'ЬХа = -ЬаХс (А.ЗЗ)
Эти результаты могут быть пол-учены из свойств
детерминантов (разд. А.15). Запись a»bXcsaXb*c может быть
Циклическая
Рис. А.8. Циклическая перестановка.
Обратная циклическая
представлена в виде (abc), поскольку смысл данного
выражения не меняется от использования операции, обозначенной
точкой или косым крестом. Уравнение (А.32), выражает
циклическую перестановку этих векторов, а уравнение (А.ЗЗ) выражает
их обратную циклическую перестановку. Иллюстрация
циклической перестановки приведена на рис. А.8. Уравнение (А.32)
получается путем следования по часовой стрелке вдоль
окружности. Таким же образом, но в обратном направлении, полу-
578
1ется уравнение (А.ЗЗ). Смешанное произведение может быть
1пользовано для проверки линейной зависимости трех
компланарных векторов. Если три вектора a, b и с — компланарны, то
l|abc)=0. Следовательно, если два или три вектора равны, то
Смешанное произведение будет равно нулю. Из этого следует,
жто если еь fy и е3 являются базисными векторами в векторном
пространстве 1/3, то (е^ез) ф- О, и они образуют правую
систему координат при (eie2e3) > 0 и левую систему координат
! При (е^ез) < 0.
Двойное векторное произведение аХ(ЬХс) представляет
собой вектор, перпендикулярный (ЬХс) и лежащий в
плоскости векторов b и с (рис. А.9). Предположим, что векторы a, b
ь х с
Рис. А.9. Двойное векторное произведение.
и с неколлинеарны. Тогда вектор а X (Ь X с), находящийся в
плоскости векторов b и с, может быть выражен в виде линейной
комбинации b и с, т. е.
а X (Ь X с) = тЪ + пс.
(А.34)
Поскольку вектор аХ(ЬХс) перпендикулярен вектору а,
то при скалярном умножении левой и правой частей уравнения
(А.34) на вектор а получим 0:
а • [а X (Ь X с)] = т(а • Ь) + л (а • с) = 0.
Таким образом,
т — п «
а • с а • b '
(А.35)
(А.36)
где т, п и К — скаляры, и уравнение (А.34) примет вид
аХ(ЬХс) = Ч(а-с)Ь —(a-b)c]. (A.37)
Можно показать, что X еа 1, поэтому двойное векторное
произведение будет равно
а X (Ь X с) = (а • с) b — (а • Ь) с.
(А. 38)
579
Используя уравнение (А.22), получим
(aXb)Xc=-cX(aXb) = -(c-b)a + (c.a)b. (A.39)
Более сложные случаи умножения четырех и более
векторов можно упростить с помощью двойных произведений.
Например,
(а X Ь) X (с X d) = (а X b • d) с - (а X b • с) d = (abd) с - (abc) d
(А.40)
и (а X b) • (с X d) = а • d X (с X d) = а • [(b • d)c — (b • с)d] =
= (b • d) (a • c) - (b • c) (a • d). (A.41)
АЛО. Производные векторных функций
Производная вектора г(/) определяется как
1-А lim r(/ + AO-r(0= ,jm Дг
Из уравнений (АЛ1) и (А.42) следует, что
-(тМт?) ! + (£> (А.43)
dx
ИГ
и т-я производная от г(/) равна
dnr /dnrx\ (dnru\ (dnrz\
IF - ЬЙ « + Ы) i + Ы") k. (A.44)
Из уравнения (А.42) вытекают следующие правила
дифференцирования векторных функций:
1) - (а±Ъ)~&±&; (А.45)
df v« -^ -/ dt -- dt *
d , ч rfa
— (ma)=m-Sf
2) -jr(ma) =m-rr, где m —скаляр;
5>1<*И(49Ч+а[(£)с] + [аЪ(§)];
680
dt
[аХ(ЬХс)] = [-|-Х(ЬХс)] + [ах(4гХс)] +
+[*х(ьх-£)]-
АЛ. Интегрирование векторных функций
Если da/dt = b{t)> то интеграл вектора Ь(0 представляет
собой
(А.46)
а(0= $Ь(т)Л + с,
где с — постоянный вектор.
Если Ь(^) можно записать в прямоугольной системе
координат, то
ах (0 = ) Ьх (т) dx + сх,
М') = $ by(x)dx + cy,
(А.47)
А.12. Матричная алгебра
Ниже мы рассмотрим еще один важный математический
инструмент — матрицы, которые составляют основу
математического аппарата при анализе роботов. Матрица А (или
Атх„) порядка тХ« представляет собой прямоугольную
систему действительных или комплексных чисел, называемых
элементами матрицы, которые расположены в т строк и п
столбцов:
k = [at
1 «и
«21
\-ат\
«12 •
#22 •
ат2 .
. <*1п
» • #2гс
• &тп -
/-1. 2, ..
' / = 1, 2, .
., т,
., п.
(А.48)
Кроме специальных случаев будем предполагать, что А
является действительной матрицей. Матрица, состоящая из
одного столбца (строки), называется матрицей-столбцом
(строкой). Матрица-столбец и матрица-строка часто
рассматриваются как векторы.
Транспонированная матрица А, обозначаемая Аг,
представляет собой матрицу, номер строки в которой совпадает
581
с номером столбца матрицы А. Другими словами, если
А =
то
Аг =
ап аХ2
аи а2\
а\2 а<12
а2п
ат2
Чп
12п
.. а„
1, 2,
1, 2,
1, 2, .
1, 2, .
... п,
.., т.
(А.49)
(А.50)
В частности, при транспонировании матрицы-столбца
получается матрица-строка, и наоборот.
Квадратная матрица порядка п имеет одинаковое число
строк и столбцов (т. е. т = п). Диагональная матрица порядка
п является квадратной матрицей с нулевыми недиагональными
элементами, т. е. элементы
ац = 0 при i ф j для /, / = 1, 2,
(АЛИ)
Единичная матрица порядка п представляет собой
диагональную матрицу с единичными диагональными элементами,
т. е. ац = 1, если i = j, и а,-/= 0, если [ф\. Эта матрица
называется тождественной и обозначается через \п или 1пхп.
Симметрической матрицей порядка п называется
квадратная матрица, которая не изменяется при транспонировании,
т. е. А = А7" или ац = ац для всех i и /. Если элементы
квадратной матрицы такие, что
чг
— а.
и ан = 0,
I, /=1, 2, ..., м,
(А.52)
то матрица называется кососимметрической. Отметим, что если
А — кососимметрическая матрица, то А = —А7",
Любая несимметрическая матрица А может быть
преобразована в симметрическую матрицу С следующим образом:
А + А'
(А.53)
Нулевой матрицей называется матрица, все элементы
которой тождественно равны нулю. Две матрицы одного порядка
равны, если равны их соответствующие элементы, т. е. если
йц = Ьц для всех / и /, то А = В.
582
A + B = C
A-B = C
ИЛИ йц + Ъц = Сц
или а.ц — Ьц = Сц
■К Сложение матриц
| Сложение (вычитание) матриц А и В одного порядка дает
ультирующую матрицу С того же порядка, элементы кото-
представляют собой сумму (разность) соответствующих
ементов матриц А и В. Таким образом,
для всех /, у (А.54)
для всех /, /. (А.55)
Сложение матриц имеет те же свойства, что и сложение
действительных чисел:
1) А+В= В + А;
2) (А+В)+С-А + (В + С);
3) А + 0 = А (О — нулевая матрица); (А.56)
4) А + (-А)=0.
А. 14. Умножение матриц
Произведение скаляра и матрицы получают путем
умножения каждого элемента матрицы А на скаляр. Таким образом,
ЛА = А6 = [kciij] = [a;/&], /«1, 2, ..., /п, /==1, 2, ..., п.
При умножении произвольной матрицы порядка (тХ«)
на произвольный скаляр справедливы следующие правила:
1) а(А + В)=аА + аВ;
2) (а + 6)А = аА + ЬА;
3) а(6А)=(ай)А; (А.57)
4) 1А — А,
где а и Ъ — скаляры.
Две матрицы могут быть перемножены, только если они
соответствуют друг другу, т. е. если АВ = С, то число
столбцов А должно быть равно числу строк В, при этом
результирующая матрица С имеет число строк и столбцов,
соответственно равное их числу в А и В. Таким образом,
п
(Атхм)(В«хр) = СтХр или сц=Т* ciikbkj. (A.58)
Относительно уравнения (А.58) можно сказать, что или А
стоит перед В, или В стоит после А при формировании С. Для
получения элемента i'-й строки и /-го столбца С суммируются
произведения членов соответствующих элементов в 1-й строке
А и у'-м столбце В по уравнению (А.58). Другими словами,
производится умножение i-й строки А на у-й столбец В. Как
правило, умножение матриц не является коммутативным, даже
если они соответствуют друг другу, т. е. для квадратных матриц
А и В порядка п имеем АВ Ф ВА.
Если АВ = ВА, то матрицы коммутативны. Единичная
матрица коммутативна относительно любой квадратной матрицы:
IA = AI = A. (A.59)
Умножение матриц ассоциативно и дистрибутивно по
отношению к сложению матриц, т. е.
1) (£А)В = £(АВ)= А(АВ);
2) А(ВС) = (АВ)С;
3) (А + В)С = АС+ВС; (А.60)
4) С(А+В)=СА + СВ
в предположении, что умножение осуществимо. Из правила 2)
следует, что при умножении трех матриц можно или умножить
В на С или умножить А на В, а потом умножить результат на
оставшуюся матрицу. Обычно АВ = 0 не означает, что А = О
или В = О. Сформулируем следующие правила умножения
матриц:
1) (Матрица)тх„ (Матрица)„Хр = (Матрица)тХр;
2) (Матрица)тХА1 (Матрица-столбец),^ = (Матрица-
столбец^ х1;
3) (Матрица-строка^ Х/г (Матрица-столбец)^х1 = Скаляр;
4) (Матрица-строка^ XJn (Матрица)тХд = (Матрица-
строка)^;
б) (Матрица-столбец)тХ1 (Матрица-строка^ Хп =
= (Матрица)тХл.
Иногда при сложении и умножении матриц удобно
разбивать матрицы на подматрицы для применения правил матрич*
ной алгебры к подматрицам.
А. 15. Детерминанты
Детерминант матрицы А размерностью пУ^п записывается
в виде
#11 #12 • • • а\П
й2[ #22 • • ■ а2п
!А| =
ап\ ап2 • • • Щг
(А.61)
584
и равняется сумме произведений элементов произвольной
строки или столбца на их соответствующие алгебраические
дополнения, т. е.
I А | = £ ацАц = X <*цАц.
/ml
*-1
(А.62)
Здесь Aii — дополнение элемента ацу которое определяется
выражением
АЦ = {-\)ШМФ (А.63)
где Mil — дополнительный минор, полученный исключением
элементов в t-й строке и /-м столбце детерминанта |А|.
Другими словами, если
А| =
#21 #22
. а
hi
;2/
Щ\ Щч • • • #//
#л1 #л2 • • • anj
• а2п
• <*tn
• dun
то, исключая элемент, i-я строки и /-го столбца, получим
#п #12 • •• #i,/-i а1,/+1 ••• а\п
|Affl| =
#i-l, 1 #/-1,2
#i + l, 1 #i + l,2
ап\ ап2
#/-1,/~1 #/-1,/ + 1 • •
#/ + 1,/-1 #* + 1,/ + 1 ••
#я, /-1 #/г,/ + 1
li~\,n
Из приведенного определения следует, что детерминант
порядка л зависит от п детерминантов порядка п— 1, каждый из
которых в свою очередь зависит от п—1 детерминантов
порядка п — 2, и так далее до детерминанта порядка 1, который
является скаляром.
Для вычисления детерминантов второго и третьего порядков
может быть использован простой диагональный метод. Для
п = 2 имеем
#11 #12
#21 #22
: #11#22 — #21#12*
(А.64)
585
Детерминант третьего порядка находится следующим образом:
!А| =
аП #12 а\3
а2\ #22 #23
#31 #32 #33
Н~ #13#32#21
: апа22азз + #i2#23#3i +
#31#22#13 #12#21#33 — #11#32#23' (A. 65)
Для упрощения вычислений детерминантов используются
следующие свойства:
1. Если все элементы любой строки (или столбца) матрицы
А равны нулю, IАI = 0.
2. |А| = |АЧ-
3. Если две любые строки (или столбца) матрицы А
поменять местами, изменится знак соответствующего детерминанта.
4. Если А и В имеют порядок п> то |АВ| = |А||В|.
5. Если все элементы любой строки (или столбца) матрицы
А умножить на скаляр k, значение детерминанта увеличится
в k раз.
6. Если ранг (разд. А. 16) матрицы А порядка п меньше п,
ее детерминант равен нулю.
7. Если кратное любой строки (или столбца) сложить с
другой строкой (или столбцом), детерминант не изменится.
Пример. Пусть
А =
Тогда
[
1 а а
1 Ъ Ъ2
1 с
2-,
с2 Л
|А|
| 1 а а2
1 Ъ Ь2
\\ с с2
=
1 а а2
0 Ь— а Ь2-а2
0 с — а с2 — а2
= (Ь - а) (с2 - а2) -(с-а) {Ь2 - а2) =■
=■= (а — b) (b — с) (с — а).
Этот детерминант называется детерминантом Вандермонда
третьего порядка. .■
А.16. Ранг матрицы
Если строки квадратной матрицы А порядка п линейно
независимы, детерминант такой матрицы не равен нулю, а матрица
называется невырожденной. Если детерминант квадратной
матрицы порядка п равен нулю, то матрица — вырожденная, а ее
строки не являются линейно независимыми. Таким образом, де-
683
терминант может использоваться для характеристики особен-
ностирртрицы.
матрицы А порядка тХя равен порядку наибольшей
эицы А с ненулевым детерминантом. Следовательно, мат-
|Шорядка тХл может иметь ранг, равный наименьшему
1чений тип или ниже. Ранг матрицы определяет число
|но независимых строк (или столбцов) в матрице.
А.17. Присоединение и обратные матрицы
рЕсли А — квадратная матрица, а Ац— алгебраическое до-
■Йдаение элемента aLj в детерминанте |А|, то транспопирован-
■р.ратрица, полученная из дополнений Aih называется при-
■Киненной к А матрицей:
\Ац\Т = [Аи] £. /—1, 2 п. (А.66)
Иногда присоединение к А записывается в виде adj A.
Обратная матрица А-1 к невырожденной квадратной
матице А равна присоединенной к А матрице, деленной на детер-
~нант А, т. е.
А =-1тгвТ7гг- (А-67)
Произведение невырожденной матрицы А порядка мХ« на
свою обратную матрицу равно тождественной матрице 1п, т. е.
AA~l=A~lA —I*. (А.68)
Таким образом, из уравнений (А.67) и (А.68) получаем
(a djA) А = A (a d]A) = | А | \п (А.69)
и
I А-11 = -ntl" (AJ0)
Если Аь А2, ..., А*— квадратные матрицы порядка п,
обратная матрица их произведения равна произведению их
обратных матриц в обратном порядке:
(А,А2 ... Anrl = AnlAnLi ... А^АГ1. (А.71)
Аналогично, если существует матрица произведения AjA2 ...
... Ал, то транспонированная матрица этого произведения
равна произведению транспонированных матриц в обратном
порядке:
(А^Аз ... AJ - (Ап)т (АЯв1)г ■ • • (А2)т (А0Г. (А.72)
В общем случае матрица порядка 2X2
[а с "I
ь А
587
имеет обратную матрицу, равную
J Г d -cl
-ЬсУ—Ь а У
ad
Аналогично матрица порядка 3X3
г а Ь с
А =
d e f
Shi.
имеет обратную матрицу, равную
X
Г[= ! V
aei + dhc + gfb — afh — dbi — gee ^
(ei — /A) — (Ы — с/г) (6/ — се)
— (Л — fg) (oi — eg) — (af — cd)
{dh — ge) — (ah — 6g) (ae — 6d) J
Важный результат, называемый леммой об обращении,
формулируется следующим образом:
,-i
i-i
[А~1 + ВГСВ] = А - АВГ [ВАВГ + С-1] ВА. (А.73)
Доказательство этого результата предполагается выполнить в
качестве упражнения.
А. 18. След матрицы
Следом квадратной матрицы А порядка п является сумма
ее диагональных элементов
Тгасек еэ Тг (А) = £ аа.
(А.74)
Некоторыми важными свойствами следа матрицы являются
следующие свойства:
1) 7>(А)=7У(АО; (А.75)
2) 7V(A+B)=77(A)+7Y(B); (AJ6)
3) Гг(АВ) = 7>(ВА); (А.77)
4) Tr(ABCT) = Tr(CBTAT). (A.78)
Более подробное изложение материала, рассмотренного в
данном приложении, можно найти в работах [21, 82, 218, 237,
285].
Приложение Б.
ЯКОБИАН МАНИПУЛЯТОРА
При раздельном (независимом) управлении движением
(гл. 5) необходимо определять, насколько бесконечно малое
движение каждого сочленения манипулятора влияет на
бесконечно малое движение всего манипулятора. Одним из
преимуществ раздельного движения является существование
линейного соответствия между пространством бесконечно малого
движения сочленений и пространством бесконечно малого
движения манипулятора. Это соответствие определяется с помощью
якобиана. Ниже рассматриваются три метода получения
якобиана для шестизвенного манипулятора с поступательными и
вращательными сочленениями.
Б.1. Метод векторного произведения
Пусть векторы положения, линейной и угловой скорости
манипулятора (конечного звена) относительно базовой системы
координат (хо, Уо, z<>) определяются соответственно в виде
p(t)AlPx(t), py(t), Pz(t)Y,
v{t)&[vx{t), МО, о,(OF. (Б.1)
й(0ДК(0, со^о, co2(0F,
где, как и выше, знак Т обозначает операцию
транспонирования. Основываясь на идее подвижной системы координат [310],
линейную и угловую скорости манипулятора можно получить из
скоростей входящих в манипулятор сочленений:
L q (о J=J (q) q (/)=[Jl (q)'J2 (ч)' • • •■Je (q)1 q {t)■ (Б*2)
где J(q)—матрица порядка 6X6, в которой 1-й столбец
вектора J/(q) определяется [310] в виде
, если 1-е сочленение — вращательное,
z/-i J
если 1-е сочленение — поступательное.
(Б.З)
где q(t) = [qi(t), ..., q6(t)]T— вектор скорости сочленения
манипулятора, X —знак векторного произведения, '~1р6 — положе-
~м \-»/
Го'
589
ние начала системы координат конечного звена манипулятора
относительно системы координат («—1)-го звена, записанное в-
базовой системе координат, a z,-i — единичный вектор вдоль
оси движения /-го сочленения, записанный в базовой системе
координат.
Для шестизвенного манипулятора с шарнирными
сочленениями якобиан может быть найден в виде
J (9)
роХ'
L z0
'Рб Z1X'P6
• z5 X 5Р6
zs
]•
(Б.4)
Для манипулятора робота Пума (рис. 2.11) и матриц
преобразования координат его звеньев (рис. 2.13) элементы
якобиана определяются следующим образом:
J,(6) =
"—Si ^6(С23С485+823С5)+82^-\-а3С23+а2С2]—С{ {dQS4S5+d2)
С, [d6 (C23C4S5 + S23C5) + S23d4-\-a3C23-\-a2C2] — 5j (d6S4Sb-\-d2)
0
0
0
1
d6CiS4S5 + dfix
d6S]S4Sb + d2Sx
h
J2(6) =
'22
0
где
J2z= — S\ [^б-^гз^^з — ^6С2зС5 — d4C23 + a3^23 + ^52]
— С1 [d^C23C4S5 -{- flf6S23C5 + д?452з + ^3^23 + ДгСУ*
«6010405
J3(0) =
'32
■s,
c,
0
590
J4(6) =
>(«) =
hz — "" $1 [d&S3CAS-0 — dQC3C5 — d4C3 + a3Si] -
— C{ [dbCzCAS^ + ^б5зС5 + d4S3 + a3C3],
5i523 (^6^5 + ^4) — ^6^23^455
rf6C23C4S5 — Ct523 (^6^5 + ^4)
UqC io23O405 ago 1*323^ 4^5
C1O23
5iS23
C23 _
ЙбО2304С5
dQCiC2^S^Crt + d^SiC^C^ + fl^SiCW^Ss — dQC{CAS5
— t» 1^23^4 *->lW
— 5^23^4 + £чС4
^23*54
dQ (S1C23C4 + С XS4) S5 + dQS\S2^C5
— d& {C\C23C^ — S\Sv *->5 — d^C\S23C^
0
(C1C23C4 — ЗА) 05 + C1S23C5
(8{С2зР4 + C^) 53 + S1S23Q
023C405 + C23C5
Sf = sin 9,, C< — cos 9/f Su = sin (Q( + 9,)
J6(8) =
С^ — СОв^ + в,).
Если требуется управлять манипулятором вдоль или вокруг
осей системы координат манипулятора, необходимо выразить
линейную и угловую скорости в системе координат
манипулятора. Это можно сделать умножением v(t) и Я (0 на матрицу
вращения [0Яб]г размерностью 3X3, где °R6 — матрица
вращения манипулятора, связывающая положение системы координат
Конечного звена манипулятора с базовой системой координат,
аким образом,
[4,(0 1 [W о irv(/)i r6Ro о -j
6»o(/)J L 0 [°R6]'
где 0 — нулевая матрица размерностью 3X3.
(Б.5)
591
Б.2. Метод дифференциального перемещения и вращения
В работе [229] используется однородная матрица
преобразования для нахождения дифференциального перемещения и
вращения относительно системы координат, из которых
определяется якобиан манипулятора. Для заданной системы
координат Т звена манипулятора дифференциальное изменение в Т
соответствует дифференциальному перемещению или вращению
вдоль или вокруг базовых осей координат, т. е.
T + dT
- 1 0 0 dx~i
О I 0 dy
О 0 1 dz
L0 0 0 1 J
1 -ог
бг 1
-б» бд.
L О О
б, СИ
-б, О
1 О
О 1 -
Т (Б.6)
или
dT =
- 1 0 0 dx-\
О I 0 dy
О 0 1 d,
1 —i
-б,
L О
L0 0 0 1 J
г 1 0 0 0
0 10 0
0 0 10
L0 0 0 Ы J
1
ьх
о
-б,
1
о
0-1
о
о
1 -
Т = АТ,
(Б.7)
где
АД
1 0 0 dx-\
О 1 0 dy
О 0 1 dz
L-0 0 0 1
г 1
L О
б,
1
О
0-1
о
о
1
- 1 0 0 0-1
0 10 0
0 0 10
О 0 0 1 J
(Б.8)
6 = (6*, бу, 8Z)T — дифференциальное вращение вокруг основных
осей базовой системы координат, a d = (dXl dy%
dz)T—дифференциальное перемещение вдоль основных осей базовой системы
координат. Аналогично дифференциальное изменение в Т может
быть записано в соответствии с дифференциальными
перемещением и вращением вдоль и вокруг системы координат Т:
Т + dl = Т
г 1 0 0 dx-\
0 1 0 dy\
0 0 1 dz\
Lo о о 1 J
г 1
бг
-б,
L о
-бг
i
б*
0
б, 0-,
-б, 0
1 0
0 1 J
(Б.9)
592
1
0 0 dx-\
0 1 0 dy 1
0 P 1 dA
0 0 0 1 J
—
p
1 -Ьг «, О
Ьг 1 -6X 0
-t>« ьх i о
L о о oi
- 1 OOO-i
0 10 0
0 0 10
Lo о о
1
,A(T)(rA),
(Б.10)
НргЛ имеет ту же структуру, что и в уравнении (Б.8) с учетом,
Ир определения б и d — различны. б = (б*, Ьу, Ьг)т — дифферен-
Щрьяьное вращение вокруг основных осей системы координат Т,
(dx, dy, dz)T — дифференциальное перемещение вдоль
х осей системы координат Т. Связь между А и ГА по-
аем из уравнений (Б.7) и (Б.10)!
ДТ = (Т)(ГЛ)
гл = т~Чт.
(Б.11)
С учетом уравнения (2.2-27) уравнение (Б.11) имеет вид
г п
S
а
■ (б X п)
(бХп)
(бХп)
о
(б X s)
(6Xs)
(бХв)
0
т-'дт —
п • (б X а)
s • (б X а)
а-(бХа)
0
(6Xp)+d
(6Xp) + d
(6Xp) + d
0
(Б.12)
где б = (6*, Ьу, Ьг)т — дифференциальное вращение вокруг
основных осей базовой системы координат, a d = (dx, du, dz)T —
дифференциальное перемещение вдоль основных осей базовой
системы координат. Используя векторные тождества
x-(yXz) = -y(xXz) = y-(zXx)
и
х-(хХу) = 0,
20 К. Фу и др.
593
уравнение (Б. 12) можно записать в виде
О _6.(nXs) 6.(aXn) 6-(pXn)+d-nn
6-(nXs) О -6-(sXa) 6.(pXs)+d-s
-б-(аХп) 6-(sXa) 0 6-(pXa)+d-a
О О О О -
(Б. 13)
Поскольку координатные оси n, s, a — ортогональны, имеем
nXs^a, sXa = n, aXn = s,
и уравнение (Б. 13) запишется в виде
ГА =
О -6-a 6«s 6-(pXn) + d-n-|
6- а 0 — 6-п 6-(pXs) + d-s
— 6-s 6-n 0 6-(pXa) + d-a
О
0 0 0
Если задать элементы ТА в виде
(Б.14)
0
Ч
-ч
0
-ч
0
ч
0
Т6У fdx
— Ч Tdy
о Tdz
0 0
(Б. 15)
то, приравнивая элементы матриц из уравнений (Б,14) и (Б.15),
получим
4 = *-(pXn) + dn = n.[(6Xp) + d],
4 = o-(pXs) + d-s =
4 = o-(pXa) + d-a:
T6*=6-n,
:s-[(6Xp) + d],
= a-[(6Xp) + d],
T62=6a.
(Б.16)
594
Записывая эти уравнения в матричной форме, имеем
[n, s, аП(рХп), (pXs), (рХа)Г
О [n, s, а]г
d,
•-*г
(Б. 17)
где 0 —нулевая подматрица размерностью 3X3. Уравнение
(Б.17) дает связь дифференциальных перемещения и вращения
бвой •системе координат и дифференциальных перемещения
©ащения в системе координат Т.
Применяя уравнение (Б. 10) к кинематическому уравнению
ийного шестизвенного манипулятора, получим
дифферентам °Т6:
d°T6 = °T6TeA. (Б. 18>
В случае шестизвенного манипулятора дифференциальное
изменение движения г'-го звена вызовет соответствующее изменение
t°TeT'A:
/Т6 = °Т6ТвД = °А11А2...г-2А/_1 '-'AZ-'A, ...5A6, (Б. 19)
где '^А* определяется как преобразование дифференциального,
изменения вдоль или вокруг оси движения i-то сочленения:
г 0 -^ 0 0-1
i-\,
I dBt 0 0
0
0 0 0 0
L 0 0 0 0-
г0 0 0 O-i
0 0 0 0
0 0 0 ddi
Lo 0 0 0 -
I
если (-е сочленение —
• вращательное,
если i-e сочленение —
поступательное
Используя уравнение (Б. 19), получим TsA из
дифференциального изменения движения *"-го сочленения:
(Б.21)
где
IT — *-1Д /A t 5А
20*
69Ь
Записывая U» в виде общей однородной матрицы
преобразования, получим
Рх-
Vf
tly Sy Cty Py
п*
а?
О 0 0 1 J
(Б.22)
С учетом уравнений (Б.20) и (Б.22) для /-го вращательного
сочленения, уравнение (Б.21) примет вид
т8
'Д =
— Ош Sz РхПу —РУПХ-
0 -пг pxsy —pysx
Рхау ~ Ру^х
о
0
0
о
о
dQt. (Б.23)
Для случая призматического r-го сочленения уравнение
(Б.21) запишется в виде
Те
Л =
г0 0 0 /i2i
0 0 0 sz
О 0 0 а2
Lo О О О J
dd}.
(Б.24)
Для элементов ТвА, которые были определены в уравнении
(Б.15), приравнивая элементы матриц в уравнениях (Б.15) и
(Б.23) [или (Б.24)], получим
их
Ч
ГЧ
гъх
Ч
|_ч_
= 1
рхПу — руПХ
Pxsy Pysx
РхЯу ~ Руйх
пг
az
az
О
О
О
dOiy если 1-е сочленение —
вращательное,
(Б.25)
ddh
если /-сочленение —
поступательное.
696
гТаким образом, якобиан манипулятора может быть получен
уравнения (Б.25) для t=l, 2, ..., 6:
Ч
их
Ч
L4 -
= J(q)
~dqi~\
dq2
dq3
dqi
dq%
-dq6J
(Б.26)
где столбцы матрицы якобиана получаются из уравнения (Б.25).
Для манипулятора робота Пума (рис. 2.11) и его матриц
преобразования звеньев (рис. 2.13) якобиан определяется в виде
Ji(9) =
J\x
hy
hz
— [52з (CaC^Cq — S^Sq) + C2^S^Cq] ,
^23
— S2dP^5 + ^22рЪ
где
hx = [^6 (^23^4^5 + S23C5) + ^4^23 + #3^23 + #2^] ($££$ + ^4^б) -
— (d^S^S^ + d2) [С2з (C4C5Q — S4Sq) — 52з55С6]),
hy = [^6 (C23QS5 + 52зС5) + d4S23 + ^3^23+^^21 (— 54C556+C4C6)-
— (4S4S5 + d2) [— C23 (C4C5SQ + S4C6) + S23S5Se],
/1г = [rf6 (C23C455 + S23C5) "I" ^4^23 + a?p2Z + #2^1 (S4S5) ~~
— (d^S4S5 + do) (C23C4S5 + S23C5);
*2x
h
J2(9) =
' 2 у
^22
S4C5C6 + C45e
— S4C5O6 i WOg
597
где
J3(9) =
J2X = (de53C5 + 4АОД + d4S3 + a3C3 + a2) (SbC6) -
— (— d6C3C5 + d6S3C4S5 — d4C3 + a3S3) (С4СЪС6 — S4S6),
/2J, = - (dsSfis + SEC3C4S5 + d4S3 + a,^ + a2) (5556) +
+ (- d6C3C5 + d6S3C4S5 - d4C3 + a3S3) (C4C556 + S4C6),
/a* = - (^53С5 + 4Аад + rf453 + a3C3 + a2) C5 -
- (- dAC5 + ^зСЛ - d4C3 + a3S3) (C455);
Г (a3 + d6C4S5) (S5C6) -f (d4 + d6C5) (C4C5C6 - 5456)
- (a3 + d6C455) (55S6) - (d4 + 4A) (C4C5S6 + S4C6)
- (a3 + d6C4S5) C5 + (d4 + 4A) C4C5
S4C5Q + C4S6
— о4С5Об "г Ц^5
54S5
d^S^J^
О
SsSq
c3 J
— d6s6
о
s6
Q
о
J4(e) =
J5(6) =
je(6) =
O'
0
0
0
0
1
Б.З. Определение якобиана из уравнений движения
Ньютона — Эйлера
В рассмотренных двух методах якобиан был получен в
аналитической форме. Возможно численное определение элементов
якобиана во времени в явном виде из уравнений движения
Ньютона — Эйлера. Это определение основывается на том, что
отношения малых величин ускорений конечного звена
манипулятора к малым величинам ускорений сочленений являются
элементами якобиана, если исключить нелинейные компоненты
ускорений из уравнений движения Ньютона — Эйлера.
Ускорения манипулятора могут быть получены путем нахождения про-
698
; взводной по времени от вектора скорости из уравнения (Б.2):
[urn 1= J(ч)*(0 + J(q' * *(0, (Б,27)
где q(0= [<7i(0» •••> <7е(0]г — вектор ускорения сочленения
манипулятора. Первый член уравнения (Б.27) дает линейную
связь между ускорениями манипулятора и сочленений. Второй
член характеризует нелинейные компоненты ускорений и
является функцией скорости сочленений. Таким образом,
линейная связь между ускорениями манипулятора и ускорениями
сочленений может быть найдена из уравнений движения
Ньютона— Эйлера с помощью первого члена в уравнении (Б.27). Из
табл. 3.3 имеем следующие рекурсивные кинематические
выражения (здесь рассматриваются только манипуляторы с
шарнирными сочленениями):
fRo^ *= r'R*-i C-'RoCOi-i + ЧЬ\ (Б.28)
<Ro<b< - %-, [*—1ReA,_1 + z$t + ('^Roo^i) X *M, (Б.29)
%li = ('ЛА) X ('RbPl) + ('Rc^i) X
X [('RrfD,) X ('RoPl)] + 'R,-i C-^i-i)- (Б-3°)
Третий член уравнения (Б.29) и второй член уравнения
(Б.ЗО), представляют нелинейные кориолисово и центробежное
ускорения. Исключая эти члены в уравнениях (Б.29) и (Б.ЗО),
получим линейную связь между ускорениями манипулятора и
ускорениями сочленений. Если использовать входной единичный
вектор ускорения(qu cj2t ..., <7б)г*=(1, О, 0, ..., 0)г, (qu Ць ...
..., </бГ=(0, 1, 0, ..., О)', (qu Q2, .... <7е)г=(0, 0, 0, ..., I)*
и т. д., то столбцы якобиана могут быть выделены, так как
первый член в уравнении (Б.27) является линейным, а второй
(нелинейный) член исключен. Этот численный метод требует около
24п(п-\- \)/2 операций умножения и \9п(п-\- \)/2 операций
сложения, где п — число степеней свободы. Кроме того,
необходимо произвести \8п операций умножения и \2п операций
сложения для преобразования ускорений манипулятора из системы
координат его звеньев в систему координат манипулятора.
Хотя эти три метода эквивалентны с точки зрения
нахождения якобиана, последний метод удобен для устройства
управления, использующего уравнения движения Ньютона — Эйлера.
Поскольку для определения моментов в сочленениях из
уравнений движения Ньютона — Эйлера разработаны способы
параллельного вычисления [158], то якобиан может быть также
вычислен этими способами. Однако последний метод дает
только численные значения якобиана и не позволяет получить его
аналитическую форму.
Более подробно вопросы, затронутые в данном приложении,
можно найти в работах [222, 229, 310].
599!
ЛИТЕРАТУРА
1. Aggarwal J. К., Badler N. I. feds.) Motion and Time Varying Imagery,
Special Issue. IEEE Trans. Pattern Anal. Machine Intelligence. PAMI-2,
No. 6, pp. 493—588, 1980.
2. Agin 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 Intelligence, 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. 111—122, 1981.
11. Ballard D. H., Brown С. М. Computer Vision, Prentice-Hall, Englewood
Cliffs, N. J., 1982.
12. Barnard S. Т., Fischler M. A. Computational Stereo, Computing Surveys.
14, No. 4, pp. 553—572, 1982.
13. Ba-rr 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
Bejczy А. К. Sensors, Controls, and Man —Machine Interface for Ad-
ivanced Teleoperation, Science, 208, pp. 1327—1335, 1980.
gЛ9. Bejczy A. K., Lee S. Robot Arm Dynamic Model Reduction for Control,
fc Proc. 22nd IEEE Conf. on Decision and Control, San Antonio, Tex.,
pp. 1466—1476, 1983.
;:*&Q. 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.
■121. 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, Intl. J. Robotics Res. 2, No. 2, pp. 51—61, 1983.
$3, 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, Intl. J. Robotics Res., vol. 2, no. 4, pp. 19—44, 1983b.
36. Brooks R. A., and Lozano — Perez T. «A Busdivision Algorithm in
Configuration Space for Find-Path with Rotation», Proc. Intl. 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 С et al. An Ultrasonic Proximity Sensor Operating in Air,
Sensors and Actuators, 2, no. 1, pp. 97—103, 1981.
40. Catros J. Y., Espiau В., 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. С. Т. Symbolic Logic and Mechanical Theorem
Proving, Academic Press, New York, 1973.
44. Chaudhuri В. В. 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 С. К., Капеко Т. 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 Proa, 21, pp. 222—238, 1983.
48. Craig J. J. JARS: JPL Autonomous Robot System, Robotics and Teleope-
rators Group, Jet Propulsion Laboratory, Pasadena, Calif, 1980.
49. Craig J. J. Introduction to Robotics: Mechanics and Control, Addison-
Wesley, Reading, Mass, 1986.
50. Crandall S. H., Karnopp D. C, Kurtz E. F. et al. Dynamics of Mechanical
and Electromechanical Systems, McGraw-Hill, New York, 1968.
51. Cross G. R., Jain A. K. Markov Random, Field Texture Models, IEEE
Trans. Pattern Anal. Mach. Intell., PAMI-5, No. 1, pp. 25—39, 1983.
52. Darringer J. A., Blasgen M. W. MAPLE: A High Level Language for
Research, in Mechanical Assembly, IBM Research Report RC 5606, IBM
T. J. Watson Research Center, Yorktown Heights, N. Y., 1975.
53. Davies E. R., Plummer A. P. N. Thinning Algorithms: A Critique and a
New Methodology, Pattern Recog., 14, pp. 53—63, 1981.
54. Davis L. S. A Survey of Edge Detection Techniques, Comput. Graphics
Image Proa, 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, III, 1965.
57. Denavit J., Hartenberg R. S. A Kinematic Notation for Lower-Pair
Mechanisms Based on Matrices, J. Appl. Mech., 77, pp. 215—221, 1955.
58. Derksen J., Rulifson J. F., Waldinger R. J. The QA4 Langauge Applied
to Robot Planning», Tech. Note 65, Stanford Research Institute, Menlo
Park, Calif., 1972.
59. Dijkstra E. A Note on Two Problems in Connection with Graphs, Nume-
rische Mathematik, 1. pp. 269—271, 1959.
60. Dodd G. G., Rossol L., (eds.) Computer Vision and Sensor-Based Robots,
Plenum, 1979.
61. Doran J. E. Planning and Robots'', in Machine Intelligence, 5 (B: Melt-
zer, D. Michie eds,), American Elsevier, pp. 519—532, 1970.
62. Dorf R. C. Robotics and Automated Manufacturing, Reston Publishin Co.,
Reston, Va., 1983.
63. Drake S. H. Using Compliance in Lieu of Sensory Feedback for Automatic
Assembly, Report T-657, C. S. Draper Laboratory, Cambridge, Mass., 1977.
64. Dubowsky S., DesForges D. T. The Application of Model Referenced
Adaptive Control to Robotic Manipulators. Trans. ASME, J. Dynamic
Systems, Measurement and Control. 101. pp. 193—200, 1979.
65. Duda R. O., Hart P. E. Use of the Hough Transformation to Detect Lines
and Curves in Pictures", Comm. ACM. 15, Nol. 1, pp. 11—15, 1972.
66. Duda R. O., Hart P. E. Pattern Classification and Scene Analysis, John
Wiley, 1973.
602
67. Duda R. О., Nitzan D., Barrett P. Use of Range and Reflectance Data to
Find Planar Surface Regions, IEEE Trans. Pattern Anal. Machine Inlell.,
РАМЫ, No. 3, pp. 259—271, 1979.
€8. Duffy J. Analysis of Mechanisms and Robot Manipulators, John Wiley,
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 B,
pp. 1159—1164, 1975.
70. Dyer C. R., Rosenfeld A. Thinning Algorithms for Grayscale Pictures,
IEEE Trans. Pattern Anal. Machine Intelligence PAMI-1, No. 1, pp. 88—
89, 1979.
71. Engelberger J. F. Robotics in Practice, АМОСОМ, N. Y. 1980.
72. Ernst H. A. MH—1, 0 Computer-Oriented Mechanical Hand", Proc. 1962
Spring Joint Computer Conf. San Francisco, Calif., pp. 39—51, 1962.
73. Fahlman S. E. A Planning System for Robot Construction Tasks", Artifi-
al Intelligence 5, No. 1, pp. 1—49, 1974.
74. Fairchild CCD Imaging Catalog. Fairchild Corp., Palo Alto, Calif., 1983.
75. Falb P. L., Wolovich W. A. Decoupling in the Design and Synthesis of
Multivariable Control Systems'*, IEEE Trans. Automatic Control, 12, No. 6,
pp. 651—655, 1967.
76. Featherstone R. The Calculation of Robot Dynamics Using Articulated-
Body Inertia, Intl. J. Robotics Res., 2, No. 1, pp. 13—30, 1983.
77. Fikes R. E., Hart P. E., Nilsson N. J. Learning and Executing Generalized
Robot Plans, Artificial Intelligence, 3, No. 4, pp. 251—288, 1972.
78. Fikes R. E., Nilsson N. J. STRIPS: A New Approach to the Application of
Theorem Proving to Problem Solving", Artificial Intelligence, 2, No. 3/4,
pp. 189—208, 1971.
79. Fink D. G. (ed.) Television Engineering Handbook, McGraw-Hill, N. Y.
1957.
80. Finkel R. et al. An Overview of AL, A Programming Language for
Automation, Proc. 4th Intl. 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. Т., 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", Intl. J. Robotics. Res., 1, No. 1,
pp. 65—78, 1982.
87. Fu K. S. Learning Control Systems and Intelligent Control Systems: An
Intersection of Artificial Intelligence and Automatic Control, IEEE Trans.
Automatic Control. AC-16, No. 2, pp. 70—72, 1971.
88. Fu K. S. Syntactic Pattern Recognition and Applications, Prentice — Hall,
Englewood Cliffs. N. J., 1982.
89. Fu K. S. (ed.) Special Issue of Computer on Robotics and Automation,
15, No. 12, 1982.
90. Fu K. S., and Mui J. K. A Survey of Image Segmentation", Pattern
Recog., 13, No. 1, pp. 3—16, 1981.
91. Galey В., Hsia P. A Survey of Robotics Sensor Technology, Proc. 12th
Annual Southeastern Symp. System Theory, pp. 90—93, 1980.
92. Gantmacher F. R. The Theory of Matrices, 2 vols., Chelsea N. Y., 1959.
603
93. Geschke С. С. A System for Programming and Controlling Sensor-Based
Robot Manipulators IEEE Trans. Pattern Anal. Machine Intell., PAMI-5,
No. 1, pp. 1—7, 1983.
94. Gilbert E. G., Ha I. J. An Approach to Nonlinear Feedback Control with
Application to Robotics", IEEE Trans. Systems, Man, Cybern., SMC-14,
No. 2, pp. 101—109, 1984.
95. Gips J. A Syntax — Directed Program that Performs a Three-Dimensional
Perceptual Task, Pattern Recog., 6, pp. 189—200, 1974.
96. Goldstein H. Classical Mechanics, Addison — Wesley, Reading, Mass.,
1950.
97. Gonzalez R. С 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 С Application of Theorem Proving to Problem Solving, Proc. 1st
Intl. Joint Conf. Artificial Intelligence, Washington D. C, 1969.
107. Grossman D. D., Taylor R. H. Interactive Generation of Object Models
with a Manipulator, IEEE Trans. Systems. Man. Cybern. SMC-8 No. 9,
pp. 667—679, 1978.
108. Gruver W. A. et al. Industrial Robot Programming Languages: A
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, Intl.
J. Robotics Res., 2, No. 2, pp. 46—50, 1983.
111. Haralick R. M. Statistical and Structural Approaches to Texture, Proo.
4th Intl. Joint Conf. Pattern Recog., pp. 45—60, 1979.
112. Haralick R. 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, Intl, 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.
§|1& Hemami H., Camana P. C. Nonlinear Feedback in Simple Locomotion
Systems, IEEE Trans. Automatic Control. AC-19, pp. 855—860, 1976.
1119. Herrick C. N. Television Theory and Servicing, 2d ed., Reston Publishers,
Reston, Va., 1976.
120. Hillis D. W. A High Resolution Imaging Touch Sensor", Intl. J.
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 Intl. Joint Conf. Pattern Recog., pp. 424—433,
1974.
126. Horowitz R., Tomizuka R. An Adaptive Control Scheme for Mechanical
Manipulators — Compensation of Nonlinearity and Decoupling Control.
Trans. ASME J. Dynamic Systems. Measurement and Control. 1986.
127. Hough, P. V. Q 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. Т., 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 qf
Single —Arm Robots", IEEE Trans. Systems, Man Cybern, SMC—12,
No. 3, pp. 259—266, 1982.
131. Huston R. L., Passerello С E., Harlow M. W. Dynamics of Multirigid
Body Systems. J. Appl. Mech., 45, pp. 889—894, 1978.
132. Inoue H. Force Feedback in Precise Assembly Tasks, MIT Artificial
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. Hkis 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 T R., Levinson D. A. The Use of Kane's Dynamical Equations in
Robotics/', Intl. J. Robotics. Res, 2, No. 3, pp. 3—21, 1983.
142. Katushi 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.
344 Khatib O. Commande Dynamique dans Espace Operationnel des Robots
Manipulateurs en Presence d'Obstacles", Docteur Ingenieur Thesis, L'Ecole
Nationale Superieure de TAeronautique et de TEspace, Toulouse, France,
1980.
145. Kirk D. E. Optimal Control Theory, An Introduction, Prentice-Hall, Engle-
wood Cliffs, N. J. 1970.
146. Klinger A. Patterns and Search Statistics", in Optimizing Methods in
Statistics (J. S. Rustagi, ed.), Academic Press, N. Y., pp. 303—339, 1972.
147. Klinger A. Experiments in Picture Representation Using Regular
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 Т. 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 В. Н. 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 С С. 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 С 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.f
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 С 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 С S, G., Chung M. J. Adaptive Perturbation Control with
Feedforward Compensation for Robot Manipulators, Simulation, 44, No. 3,
pp. 127—136, 1985.
161. Lee С S. G., Chung M. J., Lee В. Н. An Approach of Adaptive Control
for Robot Manipulators, J. Robotic Systems, 1, No. 1, pp. 27—57. 1984.
162. Lee С 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
fLee С. S. G., Gonzalez R. C„ Fu K. S. Tutorial on Robotics, 2d ed. IEEE
Computer Press, Silver Spring, Md, 1986.
Lee C. S. G., Huang D. A Geometric Approach to Deriving Position/Force
Trajectory in Fine Motion, Proc. 1985, IEEE Intl. Conf. Robotics and
I Automation, St. Louis, Mo, pp. 691—697, 1985.
165. Lee С S. G., Lee В. Н. Resolved Motion Adaptive Control for Mechanical
Manipulators, Trans. ASME J. Dynamic Systems, Measurement and Con-
A trol 106, No. 2, pp. 134—142, 1984.
166. Lee C. S. G,, Lee B. 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
1 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 С 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 Т., 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 Т., 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 С 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 С 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. Marck V. Algorithms for Complex Tactile Information Processing, Proc.
Intl. Joint Conf. Artificial Intelligence, pp. 773—774, 1981.
188. Markiewicz B. R. Analysis of the Computed Torque Drive Method and
Comparison with Conventional Position Servo for a Computer Controlled
Manipulator, Technical Memo 33—601, Jet Propulsion Laboratory,
Pasadena, Calif., 1973.
189. Marr. D, Visual Information Processing: The Structure and Creation of
Visual Representations, Proc. Intl. Joint. Conf. Artificial Intelligence,
Tokyo, Japan, pp. 1108—1126, 1979.
190. Marr D. Vision Freeman, San Francisco, Calif., 1982.
191. Marteili A. Edge Detection Using Heuristic Search Methods, Comput.
Graphics Image Proc, 1. pp. 169—182, 1972.
192. Marteili 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
Intl. 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 C. P. ARM: An Algebraic Robot Dynamic Modeling
Program, Proc. Intl. Conf. Robotics, Atlanta, Ga.t pp. 103—113, 1984.
203. Myers W. Industry Begins to Use Visual Pattern Recognition Computer,
13, No. 5, pp. 21—31, \$№.
204. Naccache N. J. Shinghal 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. С Real-Time Adaptive Contrast Enhancement,
IEEE Trans. Pattern Anal, Machine Intell., 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 Т. О. 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., Sprouli R. F. Principles of Interactive Computer
Graphics, McGraw-Hill, New York, 1979.
213. Neuman C. P., Tourassis V. D. Discrete Dynamic Robot Modelling, IEEE
Trans. Systems. Man. Cybern, SMC—15, pp. 193—204, 1985.
214. Neumann C. P., Tourassis V. D. Robot Control: Issues and Insight, Proc.
Third Yale Workshop on Applications of Adaptive Systems Theory, Yale
University, New Haven, Conn., pp. 179—189, 1983.
215. Nigam R., Lee С 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. Intl. Conf. Robotics, Atlanta, Ga.f pp. 169—
175, 1984.
222. Oring D. E. Schrader W. W. Efficient Computation of the Jacobian for
Robot Manipulators. Intls. J. Robotics Res., 3, No. 4, pp. 66—75, 1984.
223. Orin D. E., McGhee R. В., 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. Pavlidis T. Structural Pattern Recognition, Springer-Verlag, 1977.
233. Pavlidis 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. Ill Intl. Congr. Theory of Machines and Mechanisms, 2,
pp. 159—168, 1969.
237. Pipes L. A. Matrix Methods in Engineering, Prentice-Hall, Englewood
Cliffs, N. J., 1963.
238. Popplestone R. J., Ambler A. P., Bellos I. RAPT, A Language for
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, Intl. J. Robotics Res., 1. No. 3, pp. 3—18, 1982.
242. Rajala S. A., Riddle A. N.. Snyder W. E. Application of the
One-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, Intl. J. Robotics
Res., 2, No. 4, pp. 45—60, 1983.
247. Requicha A., Voelcker H. B. Solid Modeling: A Historical Summary and
Contemporary Assessment," IEEE Comput, Graphics and Applications, 2,
No. 2, pp. 9—24, 1982.
248. Rich A. Artificial Intelligence, McGraw-Hill, 1983.
249. Roberts L. G. Machine Perception of three-Dimensional Solids, Optical
and Electro-Optical Information Processing, (J. P. Tippett et al., eds.),
MIT Press, Cambridge, Mass, 1965.
250. Rochcr F., Keissling A. Methods for Analyzing Three-Dimensional Scenes,
Proc. 4th Intl. Joint Conf. Artificial Intelligence, pp. 669—673, 1975.
251. Rosen С A., Nitzan D. Use of Sensors in Programmable Automation,
Computer, 10. No. 12, pp. 12—23, 1977.
252. Rosenfeld А., Как А. С Digital Picture Processing, 2d ed., Academic
Press, N, Y. 1982.
253. Roth В., 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 Intl. Joint Conf. Pattern Recog.,
pp. 585—591, 1980.
263. Shimano B. VAL: A Versatile Robot Programming and Control System,
Proc. 3rd Intl. Computer Software Applications Conf., Chicago, III,
pp. 878—883, 1979.
264. Shimano B. E.f Roth B. On Force Sensing Information and its Use in
Controlling Manipulators, Proc. 9th Intl. Symp. on Industrial Robots,
Washington, D. C, pp. 119—126, 1979.
265. Shirai Y. Three-Dimensional Computer Vision", in Computer Vision and
Sensor-Based Robots (G. G. Dodd and L. Rossol, eds.), Plenum N. Y.,
1979.
266. Siklossy L. Modelled Exploration by Robot, Tech. Rept. L, Computer
Science Department, University of Texas, Austin, Tex., 1972.
267. Siklossy L., Dreussi J. An Efficient Robot Plannor which Generates its
Own Procedures, Proc. 3rd Intl. Joint Conf. Artificial Intelligence,
pp. 423, 430, 1973.
268. Silver W. M. On the Equivalence of the Lagrangian and Newton—Euler
Dynamics for Manipulators, Intl. J. Robotics, Res., 1, No. 2, pp. 60—70,
1982.
269. Sklansky J., Chazin R. L., Hansen B. J. Minimum-Perimeter Polygons of
Digitized Silhouettes, IEEE Trans. Comput., C-21, No. 3, pp. 260—268,
1972.
270. Snyder W. E. Industrial Robots: Computer Interfacing and Control.
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 C. H., Radcliffe C. W. Kinematics and Mechanisms Design, John
Wiley, N. Y. 1978.
274. Sussman G. J., Winograd Т., 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. Intl. J. Computer and Information Sciences, 8, No. 4, pp. 303—333,
1979.
280. Tarn T. J. et al. Nonlinear Feedback in Robot Arm Control, Proc. 1984,
Conf. Decision ond Control. Las Vegas, Nev., pp. 736—751, 1984.
281. Taylor R. H. The Synthesis of Manipulator Control Programs from
611
Task — Level Specifications, Report AIM-282, Artificial Intelligence
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", Intl. J. Robotics Res., 1, No. 3, pp. 19—41, 1983.
284. Thompson W. В., 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. Т., 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 JT L., Mudge T N., Lee С S. G. Connection Between Formulations
of Robot Arm Dynamics with Applications to Simulation and Control.
CRIM Technical Report No. RSD—TR-4-82, the University of Michigan,
Ann Arbor, Mich, 1982.
293. Uicker J. J. On the Dynamic Analysis of Spatial Linkages using 4X4
Matrices, Ph. D. disseration, Northwestern University. Evanston, III,
1965.
294. Uicker J. J., Jr., Denavit J., Hartenberg R. S. An Iterative Methods for
the Displacement Analysis of Spatial Mechanisms, Trans. ASME, J. AppL
Mech., 31, Series E, pp. 309—314, 1964.
295. Unger S. H. Pattern Detection and Recognition", Proc. IRE, 47. No. 10,
pp. 1737—1752, 1959.
296. User's Guide to VAL Version 11, 2d ed., Unimation, Inc., Danbury, Conn,
1979.
297. Utkin V. I, Variable Structure Systems with Sliding Mode: A Survey,
IEEE Trans. Automatic Control, AS-22, pp. 212—222, 1977.
298. Vukobratovic 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 Intell.,
PAMI-2, No. 6, pp. 583—588, 1980.
301. Waltz D. I. Generating Semantic Descriptions from Drawings, of Scenes
with Shadows, Ph. D. Dissertation, Artificial Intelligence Lab., MIT,
Cambridge, Mass., 1972.
302. Waltz D. I. Automata Theoretical Approach to Visual Information
Processing, 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 С 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. шШу М. A. A Geometric Modeling System for Automated Mechanical
Assembly IBM J. Res. Devel., 24, No. 1, pp. 64—74, 1980.
307. 'ШНе J. M., Rohrer G. D. Image Thresholding for Optical Character
Bpecognition and Other Applications Requiring Character Image Extrac-
■Ion, 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,
Цр. 47—53, 1969.
309. Whitney D. E. State Space Models of Remote Manipulation Tasks, Proc.
Intl. Joint Conf. Artificial Intelligence, Washington, D. C, pp. 495—598,
1969.
^■t Whitney D. E. The Mathematics of Coordinated Control of Prosthetic
«Arms and Manipulators, Trans. ASME, J. Dynamic Systems, Measurement
end Control. 122, pp. 303—309, 1972.
Щт Will P., Grossman D. An experimental System for Computer Controlled
I Mechanical Assembly, IEEE Trans. Comput., C-24, No. 9, pp. 879—888,
; 1975.
f?. Winston P. H. Artificial Intelligence, 2d ed., Addison— Wesley, Reading,
г Mass., 1984.
8. Wise K. D., (ed.) Special Issue on Solid — State Sensors, Actuators, and
Interface Electronics, IEEE Trans. Elect. Devices, 29, pp. 42—48, 1982.
Ill4. Wolfe G. J. Mannos J. L. Fast Median Filter Implementation, Proc. Soc.
Photo-Optical Inst. Engr., 207, pp. 154—160, 1979.
15. Woods R. E., Gonzalez R. С Real-Time Digital Image Enhancement,
Proc. IEEE 69, No. 5, pp. 643—654, 1981.
316. Wu С. Н., 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-Dimen-
sional 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 А. Т., Freudenstein R. Application of Dual Number Quaternian
Algebra to the Analysis of Spatial Mechanism", Trans. ASME, J. Appl.
Mech., 31, series E, pp. 152—157, 1964.
320. Young К. К. 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 С. Т., 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.
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ
А-алгоритм 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
Датчик сочленения 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
Построение экспертной системы 563
Правило заметания объема 458
Правильно построенные формулы
(ППФ) 458
Предста вленне Денивита—Хартенбер-
га 52
Преобразование Хоуга 399
Принцип д''Аламбера 130
— максимума Понтрягина 247
Проблемно-ориентированное
программирование 488
Проблемно-ориентированные языки
501
Проведение контуров 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 54,1
616
>*лстемные средства
программирования 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
Уравнение Лагранжа — Эйлера 163
Усреднение изображения 371
— окрестности 367
Усредненная фильтрация 368
Устройство позиционирования 232
Функция плотности наклона 434
— ранжирования 473
Цепные коды 430
Циклическая перестановка 578
Цифровое изображение 334
Частота дискретизации 245
Шахматное расстояние 362
Штрафная функция 559
Эвристики 523
Эвристическая информация 524
Экспертные системы 562
Dendral 564
MYCIN 565
Элемент изображения 334
Эффект Холла 308
Язык логики предикатов первого
порядка 532
ОГЛАВЛЕНИЕ
Предисловие редактора перевода . .'. . .... 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
Литература 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
|/-; Упражнения , 21$
Глава б. Управление манипуляторами промышленного робота 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. Заключение 2921
Литература 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
АЛ. Скалярные и векторные величины 569
А.2, Сложение и вычитание векторов 570
А.З. Умножение векторов на скалярные величины 570
А.4. Линейное векторное пространство 571
А.5. Линейная зависимость и линейная независимость , . . ■. 572
А.6. Линейные комбинации, базисные векторы и размерность . . 572
А.7. Декартовы системы координат # 573
А.8. Произведение двух векторов 574
А.9. Произведение трех и более векторов 577
АЛО. Производные векторных функций 580
А.11. Интегрирование векторных функций 581
АЛ2. Матричная алгебра 581
А.13. Сложение матриц 583
А. 14. Умножение матриц 583
АЛ5. Детерминанты 584
A. 16. Ранг матрицы 586
А. 17. Присоединенные и обратные матрицы 587
А. 18. След матрицы . 588
Приложение Б. Якобиан манипулятора ... 589
Б.1. Метод векторного произведения .... 589
Б.2. Метод дифференциального перемещения и вращения . . . 592
Б.З. Определение якобиана из уравнений движения Ньютона —
Эйлера ........ 598
Щ- Литература 600
Предметный указатель 614
г
УВАЖАЕМЫЙ ЧИТАТЕЛЬ!
Ваши замечания о содержании
книги, ее оформлении, качестве перевода и
другие просим присылать по адресу:
129820, Москва, И-110, ГСП, 1-й
Рижский пер., д. 2, изд-во «Мир»,
i
Научное издание
Кинсан Фу, Рафаэль Гонсалес, К. Ли
РОБОТОТЕХНИКА
Заведующий редакцией
д-р техн. наук А. Л. Щёрс
Зам. заведующего редакцией Э. Н. Эадиков
■Старший научный редактор И. М. Андреева
Младший редактор Т. Б. Вахнюк
Художник А. И. Чаузов
Художественные редакторы О. Н. Адаскнна,
Н. М. Иванов
Технический редактор 3. И. Резник
Корректор Н. А. Мистрюкова
И Б № 6947
Сдано в набор 14.04.89. Подписано к печати
•01.10.89. Формат 60Х88'Лб. Бумага
книжно-журнальная. Печать высокая. Гарнитура
латинская. Объем 19,5. бум. л. Усл. печ. л. 38,22.
Усл. кр.-отт. 38,22. Уч.-изд. л. 39,97.
Изд. № 6/6433. Тираж 13500 экз. Зак. 143.
Цена 3 р. 10 к.
Издательство «Мир»
В/О «Совэкспорткнига» Государственного ко*
митета СССР по печати.
129820, ГСП, Москва, 1-й Рижский пер., 2
Набрано в Ленинградской типографии № 2
головного предприятия ордена Трудового
Красного Знамени Ленинградского объединения
«Техническая книга» им. Евгении Соколовой
Государственного комитета СССР по печати.
198052, г. Ленинград, Л-52, Измайловский
проспект, 29.
Отпечатано в Ленинградской типографии № 4
ордена Трудового Красного Знамени
Ленинградского объединения «Техническая книга»
им. Евгении Соколовой Государственного
комитета СССР по печати. 191126. Ленинград,
Социалистическая ул., 14.