ФPAГMEHT КНИГИ (...) Программирование движения роботов
9.1. ВВЕДЕНИЕ В этой главе мы обратимся к некоторым важным вопросам программирования движения роботов. Программирование многостепенных манипуляционных роботов является гораздо более сложным, чем программирование станков с числовым программным управлением. Во многих робототехнических системах применяется так называемое программирование «он-лайн», при котором сам робот используется на различных стадиях программирования. Это известно также как программирование робота методом обучения, при котором оператор перемещает манипулятор через множество требуемых точек траектории в трехмерном рабочем пространстве с помощью кнопок, рукояток, «мыши», рычагов управления или клавиатуры ЭВМ. Компьютер запоминает все точки и детали траектории движения, так что он может управлять роботом с тем, чтобы точно воспроизводить движение в дальнейшем. С другой стороны, программирование «офф-лайн» осуществляется без использования робота. В этом случае программное обеспечение должно быть способно решать обратную задачу кинематики общего вида и перемещать сочленения робота так, чтобы достигать любого желаемого кинематического положения схвата. Следовательно, в робототехнике используются три метода программирования: 1. Ручное обучение, или показ-и-обучение. 2. Обучение ведением, или сопровождение. 3. Языки программирования. Два первых метода относятся к программированию «он-лайн», потому что они требуют наличия самого робота для осуществления программирования. 9.2. РУЧНОЕ ОБУЧЕНИЕ, ИЛИ ПОКАЗ-И-ОБУЧЕНИЕ Обучение с помощью этого метода обычно осуществляется посредством пульта, множество кнопок и рычагов которого позволяет программисту перемещать робот из одного кинематического положения (т. е. позиции и ориентации) в другое кинематическое положение и, следовательно, сохранять каждое движение в памяти компьютера и в конце создать файл движения, который может быть воспроизведен роботом. В разделе этой главы, связанном с программированием, представлена обучающая программа, которая преобразует всю клавиатуру компьютера, совместимого с IBM PC, в специальный пульт обучения, с тем чтобы проиллюстрировать метод ручного обучения (рис. 9.2.1), В этой программе содержатся такие операторы, как закрытие схвата и активация сварочной головки. 9.3. ОБУЧЕНИЕ ВЕДЕНИЕМ, ИЛИ СОПРОВОЖДЕНИЕ Этот метод состоит в том, что оператор берет схват робота и ведет его вдоль любой желаемой траектории с требуемой скоростью и, возможно, ускорением; одновременно непрерывно осуществляются запоминание и запись позиций и ориентаций. Этот метод можно применять только к определенному классу роботов, для которых приводы можно перемешать вручную, записывая при этом траекторию движения. При другом подходе должен быть второй манипулятор, или имитатор (обучающая рука). В этом случае имитатор ведется оператором вручную вдоль желаемой траектории движения, и это движение записывается компьютером с определенной частотой. В силу ряда недостатков этого метода он не применяется широко. Однако он по-прежнему используется для обучения очень сложным движениям, таким, как специальная сварка, окраска сложных автомобильных частей распылением. 9.4. ЯЗЫКИ ПРОГРАММИРОВАНИЯ Некоторые робототехнические системы оснащены языками программирования, позволяющими иметь доступ к информации от датчиков, расположенных на руке робота, а также задавать движение робота. Эти языки называются явными или роботоориентированными языками программирования. Самым важным преимуществом явных языков программирования для роботов является то, что они позволяют использовать данные от внеш- Рис. 9.2.1. Типичный пульт управления и обучения робота. (С разрешения Cincinnati Milacron.) Рис. 9.4.1. Типичный комплекс: робот + ЭВМ-f контроллер. (С разрешения Feedback Corp., США.) них систем очувствления, таких, как силовые и зрительные, а также данные от внутренних систем очувствления для модификации различных робототехнических задач и действий (рис. 9.4.1). Очевидно, что в таких случаях робот может справляться в большей степени со случайностями и неопределенностями в своей рабочей зоне и, таким образом, расширить сферу своего применения. Основным недостатком использования роботоориентированного языка программирования по сравнению с обучением показом и ведением является то, что требуется, чтобы программист по роботам являлся экспертом по программированию и проектированию стратегий очувствленного движения. Обычный заводской рабочий не имеет такой подготовки. Один из путей обхода этой трудности — это обращение к задач-ноориентированному программированию. В этом случае программист не должен заботиться о деталях каждого действия, которое должен выполнить робот, он скорее формулирует команды, которые обеспечивают достижение желаемых подцелей задачи. Например, если отдается команда «поставить чашку кофе на стол», то система автоматически планирует оптимальную траекторию для манипулятора, который избегает столкновения с любыми препятствиями на своем пути и ставит чашку на стол подходящим образом. Задачноориентированное программирование сейчас развивается и, вероятно, скоро станет доступным. 9.5. ОБЗОР РОБОТООРИЕНТИРОВАННЫХ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ В последнее время появились две хорошие обзорные статьи по языкам программирования роботов: «Программирование роботов», написанная Т. Лозано-Перезом [18], и «Языки программирования промышленных роботов: сравнительная оценка», написанная В. А. Грувером и др. [14]. Мы также сделаем краткий обзор соответствующей литературы и представим несколько типичных программ для установки вала в отверстие. Первый роботоориентированный язык программирования был разработан в М. I. Т. Эрнстом [3]. Он был назван интерпретатором механической руки (MHI). Программная структура MHI создается на основе охраняемых движений, т. е. рука движется до тех пор, пока датчик не зафиксирует определенное положение. Типичная программа включает такие команды, как. move (двигаться) — для обозначения направления и скорости, until (до тех пор пока) — для проверки датчика, ifgoto (если — то идти) — для обозначения логического ветвления и ifcontinue (если — то продолжить) — для продолжения программы, если достигаются желаемые условия. Другой язык был разработан в М. I. Т. Сильвером [28]. Он был назван MINI и в основе своей являлся расширением ЛИСП-снстемы. Серьезным ограничением MINI являлось то, что он не мог взаимозависимо управлять сочленениями робота. Он использовался для робота, работающего в декартовой системе координат и оснащенного шестикомпонентным датчиком в запястье с чувствительностью около 400 г. Основная часть, программы установки вала в отверстие имеет вид (...) ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ Автоматизированная сборка 415 Автоматизированное производство 74, 472 Адъюнкт А 82 Активные датчики 463 — связи управления 262 Алгоритм пропорционального правления 357 А-матрица 100 Амплнтудно-моделированная интенсивность 438, 463 Аналоговый датчик касания 444 — электрический сигнал 478 Аналого-цифровой преобразователь (АЦП) 34, 52, 358, 359, 367, 444 Асинхронный последовательный интерфейс RS-232 494 Базовая система координат 74, 78, 111, 336 Барьер 431 Белградский протез 21 Булевы операции 490 Буферная память 436, 445 Вектор 77 — возмущающего момента 371 — дифференциального перемещения 179 переноса 183 — — поворота 180, 183 — единичный 79, 91 — момента количества движения 305 — нормали 76, 100, 401 — однородный 83, 84 — ориентации 76, 100, 401 — относительной скорости 304 ¦— полярного момента 459 — положения 77, 89 — — узла схвата 159 — — центра масс 305 — скорости 175 — углов 89 — управления моментом 371 — ускорения 175, 304 Векторная алгебра 77 Вероятность столкновения 57 Взаимно-корреляционная мера 454 Видиконовая трубка 438, 440 Визуальная обработка данных 447 Виртуальная работа 409 Вращение 53, 74, 86, 90, 165 — сложное 94, 106 Время просчета траекторий 219 Выделение изображения 453, 459 — края 451 Гиратор 264, 265, 366 Гироскоп 264 Гравитационная нагрузка 37 Гравитационный возмущающий момент 375 Границы рабочего пространства 196, 211 Граф преобразования 187 Дальномер 474, 480 Датчик вузуальной информации 24 — внешний 431 — внутренний 431 — давления 14 — дальности 26 — деформации 24 — импульсный 51, 90 — локационный 472 — магиитоэластичный 472 — многокомпонентный 384 — моментов 384, 431, 468 — положения 27 — пьезоэлектрический 47! — робототехнический 463 — сил 384, 431, 468, 478 ¦ — тактильный 476 — температуры 432 — усилия 24 — химический 432 Двухплечевой контур привода 368 Демпфирование 342, 362, 363 — вязкое 342 — критическое 362 Демпфированный отклик 372 Деформация роботов 409 Диссекторная видеотрубка 440, 441 Допустимая рабочая область 205, 233 Допустимое движение схвата 223, 232 Задача разбора навала 446 Закон Кирхгофа 287 — кубический изменения углов 219 — пропорционально-дифференциальный 377 — пропорционально-пнтегра льнодифференциальный 380 — «робот—поверхность» 419 Зрительное восприятие данных 447 Изображение бинарное 445, 448, 449, 460 — полутоновое 445 Иконоскоп 440 Имитатор 482 Индуктивность обмотки 365, 395 Интеллектуальный сенсор 25 Интерпретатор механической руки 485 Информационный поток 463, 465 «Искусственная кожа» 26 Источник потока 266 — усилия 267 Калибровка телевизионной камеры 459 Кинематика роботов 25, 73, 89 Кинематическое положение схвата 65, 74, 215 Кинетическая энергия системы 312 — —- Т-манипулятора 319 Кодовый преобразователь 359, 364 Компенсация ускорения 392 Контакты линейные 108 — точечные 108 Координируемое движение 387 Коэффициент гирации 366 — демпфирования 295, 361, 372 — жесткости 295, 419, 420 — масштабирования 83 — передачи двигателя 367 усилителя 395 — противо-э. д. с. 395 — трения 363, 365, 424 Критерий заклинивания Симуновича 422, 425 — устойчивости Рауса 382 ЛИСП-система 485 Манипулятор многозвенный 43 — шестистепениой 122 — PUMA 600 131, 160 Масштабирование 86, 457 Матрица вращения 76, 86, 90, 96 — Денавита—Хартенберга 113 — емкостная 477 — общего положения 175 — регулирования 384 — резисторная 477 — Якоби 193 Матричная алгебра 77 Метод вычисляемого момента 378 — Лагранжа—Эйлера 299, 300, 312 — пороговой сегментации изображения 452 — проектирования траекторий 217 — связных графов 262, 274, 288, 350 — синтеза оптимальных траекторий 28 Микровыключатель 431, 476 Минимальная подсистема 357 Момент 334 — Д Аламбера 341, 406 Моменты роботов 396 — эквивалентные в сочленениях 406 Мостовая схема 368 Мультипроцессорная обработка информации 25, 26 Напряжение аналоговое 444 Непрерывность по скорости 225, 226 — — ускорению 225, 226 Несбалансированность 374 Обработка изображения 444 — — бинарная 445 — — градационная 445 Обратная задача кинематики 75, 76, 89, 134 — — статики 407 Обратная связь по силе 13, 26, 28, 383 — положению 26, 51 Обратные итерации 346 Обучение робота ведением 55, 482 ручное 482 ¦ сопровождением 482 Общие узлы потока 265 усилий 265 Одновходовые элементы мощности 263 сопротивления 263 — инерционные элементы 263 Оператор вращения 197 Операция сборки 60 Опорная поверхность 223 Оптический датчик 472 — кодировщик 359 Ориентация схвата 73, 76, 86, 100 Ортиконовая трубка 438, 439 Отклик системы 362 Открытая кинематическая цепь 357 Отслеживание объекта 186 0-узлы 265, 287 Оценка поворота изображения 458 Ошибка квантования 367 — механическая 416 — позирования 39 — пространственная 57 — размерная 56 — слежения 386 Пассивные датчики 463 ПД-регулятор 371, 378 Перенос 74, 86, 105 Перспективные проекции 86, 98 ПЗС-камера 442 ПИД-закон 379, 380 — регулятор 381, 384 — управление 380, 383 Планирование траекторий 223 Плоскость 84 — однородная 84 Плюмбиконовая трубка 440 Повторяемость 52, 55 Податливая рука 385 Податливое окружение 385 Податливость 385, 414—418 — механическая 416 Подгонка по шаблону 450 Позицирование схвата 96 Положение схвата 73, 76, 86 Постоянная момента двигателя 366 Потенциальная энергия V манипулятора 320 Пределы досягаемости схвата 207 Предметная библиотека 453, 456 Преобразование вращательное 94 — вращения—качания 102, 134, 139 переноса 105 — Денавита—Хартенберга 100, 191. 312 камеры 459 — Лапласа 359, 374 — моментов 400 — однородное 86, 103, 175 — перспективное 86, 104, 455 — С 78 — скоростей 175, 301 — ускорений 175, 301 — Эйлера 101 Преобразователь 264 — давления 384 — модулированный 271 Прибор с зарядовой связью (ПЗС) 442 -----------инжекцией (ПЗИ) 442 передачей заряда (ППЗ) 442 Привод 74 — гидравлический 50 — линейного перемещения 50 — модульный 45 — пневматический 47, 50. 74 — поводковый 49 — электромеханический 51 Принцип виртуальной работы 409 — Гамильтона 311 — Д Аламбера 340, 409 — силового очувствления 14 — триангуляции 474 — цифрового управления 14 Причинность 287 — интегральная 267 — одиовходовая 267 Программирование «он-лайн» 481 Программное обеспечение 481 EMITY 59, 60 MAPLE 492 ML 59, 60 Проектирование траекторий 217 Пространственное кольцо 197 Пространство рабочее 35, 196, 198, 205 — схвата 175 Противо-э. д, с. 366 Профиль изменения скорости 218 — — ускорения 218 Процесс сборки 24, 25, 370, 463 Прямая задача кинематики 74, 76, 89, 112 Прямые итерации 346 Разрешающая способность 52, 56 Разрешение пространственное 52, 54 — угловое 56 Распознавание изображения 453 — объектов 447 Растяжение 86 Регулирование 364 Регулятор гибридный 384, 417 — переменной скорости 387 — постоянной скорости 388 — пропорционально-дифференциаль-ный 371 — релейный 388, 389 — с компенсацией ускорения 376 Редуктор 51, 365 Рекурсивные уравнения динамики 340 --------Ньютона—Эйлера 344 -------- обратные 343 --------прямые 343 Робот 11 — интеллектуальный 429 — манипулятор 12, 13, 59, 74 ¦— многозвенный 39, 41 — промышленный 12 САПР 30 Связный граф 271, 275, 276, 283, 290, 292 СДТ-1 210 СДТ-П 210 Сегментация изображения 451 — — пороговая 452 Сила Д’Аламбера 333 Силы роботов 396, 397 обобщенные в схвате 396, 406 Система второго порядка 361 — градационная 445 — отслеживания шва 462 — приводов 50, 51, 74 — тактильная 25 — технического зрения 187, 433, 436 — ультразвуковая 25, 33 — управления роботом 358 — замкнутая 359 — — — разомкнутая 359 — SRI 461 — UNIVIS10N 11 462 Скважность 368 Скорость видеосигнала 445 — вращения 51 — линейная 298 — сочленений 316 — угловая 176, 298, 337 Собственная частота системы 361 Собственные колебания 374 Согласователь 466—468 Состояние покоя 220 Сочленения «высшая пара» 108 — «низшая пара» 108 — поворотные 106 — поступательные 53 — призматические 106, 109 Стереоаиализ 459 Схват адгезионный 47 — вакуумный 47 — Капорали—Шахинпура 47 — магнитный 47 — стержневидный 47 — Сзлисбыори 48 — Utah—MIT 49 Тактили 476 Тактовая частота 379 Тахометр 359 ТВ-камера 186, 432, 436, 438, 454 Телеоператор 13, 59 Тензор инерции 307, 410 Тензоэлемент 384 Теорема Ли—Янга 206 — о параллельных осях 309 Терминальная подсистема 357 Тетраэдр состояний 262 Т-матрица 100 Траектория движения 75, 223, 232 — перемещения 217, 218 — типа 4—3—4 227, 233 3-5—3 232 Триангуляция 432 Угол качания запястья 211 — Эйлера 89, 101, 138 Узлы с общими усилиями 287 — схвата 43 Ультразвук 25 Ультразвуковые анализаторы изображений 34 Управление динамикой робота по ошибке 364 — комбинированное 384 — моментом 369 податливой руки 385 — пропорциональное 364 — силовое 383, 384 — с квантованием по времени 379 Управляемые углы 156 Уравнение Гамильтона 311 — динамики 291, 323, 331 — Лагранжа 273, 278, 300, 310 — Лагранжа—Эйлера 312, 315, 318, 321 — Ньютона 309 — Ньютона—Эйлера 323, 333 — Эйлера 309 Усиление изображения 451 Усилитель 358 — привода 367 Усилия контактные 414 Устойчивость динамическая 361 Устройство очувствления 59 — УДП 464—467 Функция Лангранжа 299, 300, 310, 319, 321 — передаточная 367, 372 ЦАП 34, 52, 358, 359, 367 Целевая точка 57 Центр масс звеньев 397, 398 — податливости 418, 420, 421 удаленный (УЦП) 463, 464 — тяжести изображений 449 Цепь звеньев 74 ЧПУ 13, 28, 30 Шаблоны 453, 454 Шестистепенный манипулятор 122, 135, 331 Широтно-импульсная модуляция 368 Эйлеровы преобразования 78, 101 — углы 100, 102 Эйнштейновы соглашения 80 Экстремум траектории 225, 226 Эксцентриситет 374 Элементы пьезокерамические PZT 384 — пьезоэлектрические 384 — С, /, О, R 265—270 Эффект задержки 379 — памяти 49 Язык программирования 482 AL 486—488 ALGOL 486 AML 60, 492 AML/E 490 APT 60, 492 AR—BASIC 494 BASIC 493 MINI 485 ROBOT-BASIC 494 VAL 489 VAL II 490 WAVE 485 |
☭ Борис Карлов 2001—3001 гг. ☭ |