Робототехника.Фу, Ли, Гонсалес (962794), страница 83
Текст из файла (страница 83)
1) Покажите, что применение первой разности ценного кода норми- рует его по отношению к повороту как объяснено в равд, 8.3.1. 2) Вычислите первую разность нада 01010303033232322121!1, 8.8. !) Начертите сигпатуру границы квадрата, используя метод тангенса угла, рассмотренный в равд. 8.3.!. 2) Повторите эту процедуру для функции 484 8.14. Для образа размерностью 5 Х 5, составленного из ! и О, меняю- шахматном порядке, составьте матрицу вероятностей совместного шихся в шах пиксел я .
ения уровней интенснвности, если 1) Р определяется как «один справа» и 2) «два пиксела справа». Предположите, что верхний левый пик е, си 8.15. Рассмотрите образ, который состоит из белых и черных квадратов . е ом т )( т, расположенных в виде шахлгатной доски.
Найдите оператор положения, который дал бы диагональную матрицу вероятностей со'вместного появления уровней освещенности. 8.16. 1) Покажите, по средней осью кр)га является его центр. 2) Начертиге среднюю ось прямоугольника, области между двумя конпентрическйми окружностями и равкасторсинего треугольника. 8.17. !) Докажите, что уравнение (8.3-6) реализует условия, задаваемые четырьмя окнами, приведенными на рис. 8АО.
2) Нарисуйте окна, соответ. ствуюшие В«в уравнении (83-7). 8.!8. Нарисуйте трехгранный объект, имеющий соединения следующего инда (рис. 8.68). 8.19. Докажите, что использование уравнения (8.5-4) для определения того, к какому классу принадлежит объект, описываемый модельным вектором, . г ром, эквивалентно использованию уравнения (8.5-3). ! 8,20. Докажите, что Г)(А, В) = — удовлетворяет трем условиям, зада. Гг яаемым уравнением (8.о-7).
8.21. Покажите, что В = гпах()СГ), )Сг)) — А в уравнении (8.5-7) равно нулю только тогда, когда Сг и Сг являются идентичнымн цепочками. Глава 9. ЯЗЫКИ ПРОГРАММИРОВАНИЯ РОБОТОВ Одна и та же физическая реальность ие приводит различных наблюдателей к построению одинаковой картины мира, если они говорят на языках, между которыыи не установлено соответствие. Бенджалгин Л. Воре)х 9.!.
ВВЕДЕНИЕ В предыдущих главах обсуждались вопросы кинематики, динамики, управления, планирования траекторий, очувствления и зрения для манипуляторов, управляемых ЭВМ. Алгоритмы, предназначенные для выполнения этих задач, обычно реализуются в виде управляющих программных модулей. Основная трудность использования манипуляторов в качестве универсальных сборочных машин заключается в том, что пока не создана эффективная связь между пользователем и робототехнической системой, которая необходима для того, чтобы пользователь мог управлять манипулятором при выполнении задачи. Основными средствами реализации связи между пользователем и роботом являются: распознавание отдельных слов, обучение с последующим воспроизведением роботом рабочей программы, а также языки программирования высокого уровня. Современные системы распознавания речи весьма примитивны н обычно зависят от говорящего. Они могут распознавать ряд отдельных слов из ограниченного словаря и обычно требуют, чтобы слова отделялись друг от друга паузой.
Хотя сейчас можно распознавать отделытые слова в реальном времени благодаря быстродействующим вычислительным средствам и эффективным алгоритмам обработки, однако способность распознавания отдельных слов для описания задачи робота довольно ограничена. Более того, распознавание речи обычно требует большого объема оперативной памяти или вторичной памяти (на внешних запоминающих устройствах) для хранения речевых данных, что в свою очередь требует дополнительного времени для обучения построению эталонов речи, необходимых при распознавании.
Обучение с целью последующего воспроизведения роботом рабочей программы, известное также как «программирование обучением», является наиболее распространенным методом управления современными промышленными роботами. По этому 486 методу робот «обучается» тем движениям, которые затем выполняет в автоматическом режиме. Программирование обучением выполняется за несколько шагов: 1) ведение робота в медленном режиме при ручном управлении для выполнения технологической операции и запись углов между звеньями робота в соответствующих положениях с целью повторного воспроизведения движения; 2) корректировка и воспроизведение обучающего движения; 3) если обучающее движение правильно, робот запускается в работу на соответствующей скорости для выполнения повторяющихся операций.
При ведении робота в режиме обучения обычно можно использонать ручной привод, пульт независимого управления или специальную систему с кнопочной клавиатурой отслеживания принудительного движения робота. В настоящее время для обучения наиболее часто употребляется ручной пульт с кнопочной клавиатурой. В этом случае пользователь ведет робот вручную в пространстве и нажимает на соответствующую кнопку, чтобы записать любое желаемое угловое положение манипулятора. Угловые положения записываются в память ЭВМ в виде ряда точек траектории, через которые проходит манипулятор.
Затем по этим точкам численными методами производится интерполяция, и робот воспроизводит программный режим вдоль сглаженной траектории, В режиме корректировки программного движения пользователь может произвести коррекцию записанных угловых положений и удостовериться, что робот ие столкнется с препятствиями во время выполнения задачи.
В рабочем режиме робот будет выполнять рабочие циклы по откорректированной и сглаженной траектории. При изменении условий задачи повторяются названные выше шаги. Преимущества этого метода заключаются в простоте обучения и в относительно малом объеме памяти ЭВМ, требуемом для записи угловых положений звеньев робота.
Основной недостаток— трудность использования этого метода для включения информации с датчиков обратной связи в систему управления. Языки программирования высокого уровня дают более общий подход к решению проблемы связи человек — робот. За прошедшее десятилетие роботы были успешно применены в таких областях, как дуговая сварка и окраска, причем в обоих случаях, как правило, используется программирование обучением [71).
Эти задачи не требуют взаимодействия между роботом и окружающей средой и могут быть легко запрограммированы. Однако применение роботов для реализации задач сборки требует методов программирования на языках высокого уровня, так как сборочный робот обычно имеет сенсорную обратную связь, и этот тип нестандартного взаимодейстния робота с окружающей средой может быть осуществлен только программными методами. 487 Программирование робота существенно отличается от традиционного программирования.
Г)рн выборе метода программирования робота необходимо иметь в виду следующие соображения: объекты, которыми манипулирует робот, являются трехмерными и имеют набор физических свойств; роботы функционируют в пространственно-сложной среде; описание и представление трехмерных объектов в ЭВМ вЂ” неточное; информацвя Рис.
9.!. 'Задача установки роботом болта в отверстие. 1 — система коорлннат. связанная са схваток (В1; 11 — система ноординат, связанна» с гонлсненнгм 1тг1: !1! — система кооРдинат. свЯзаннаЯ с коппУсом; Л' — неподанпиан система координатг Π— система кгюрдннат, сзя,ганнан с отверстием детали; Ч! — снеге. ма координат, связаннан с деталью, НН вЂ” ааправленне захвата болта; Р!1! — снсзема координат, связанная с головкой болта; 1Х вЂ” система «оордннат, связанная с загрузонггь~м уг тройстеом с устройств очувствления должна быть собрана, обработана и соответствующим образом использована, Современные подходы к программированию роботов можно разделить на две категории; программирование, ориентированное на робот (роботоориентированное программирование), и проблемно-ориентированное программирование, нли программирование на уровне задачи.
В роботоориентированном программировании задача сборки описывается в виде последовательности движений. Робот управляется программой в течение выполнения всей задачи, причем каждый шаг программы примерно соответствует одному действию робота. При программировании на уровне задачи сборка 488 описывается в виде последовательности целей, которая определяет неявное движение робота. Эти подходы обсуждаются подробно в следующих двух разделах. 9.2.
ХАРАКТЕРИСТИКИ РОБОТООРИЕНТИРОВАННЫХ ЯЗЫКОВ Наиболее общий подход при создании роботоориентированных язьиов состоит в расширении возможностей существующих языков высокого уровня (чтобы соответствовать требованиям программирования робота). Этот подход специфичен, и не всегда имеются общие правила, как осуществлять расширение языка. Мы можем ле~ко определить несколько основных характеристик, которые являются общими для всех языков, ориентированных на роботы, с помощью анализа шагов разработки программы движения робота. Рассмотрим задачу установки болта в отверстие детали роботом (рис.
9.!). Робот должен приблизиться к загрузочному устройству, извлечь болт, переместиться к детали и вставить болт в одно из отверстий. Обычно для реализации этой программы требуются следующие шаги: !. Определение рабочего пространства и фиксация объектов в зажнмных приспособлениях и загрузочных устройствах.