Робототехника.Фу, Ли, Гонсалес (962794), страница 86
Текст из файла (страница 86)
Пример, иллюстрирующий использование информациио силовом очувствлении для определения требуемого положения схвата относительно отверстия, приведен в табл. 9.6. При движении руки робота вниз сила, действусощая вдоль осн Е системы координат, связанной со охватом, фиксируется с помощью оператора РОВСЕ(2). Если сила превышает 2,8 и, это означает, что схват не разместил деталь в отверстии и задача прерывается. Обычно информация с датчиков управляет программным движением робота. Большинство языков программирования роботов оснащено конструкциями типа 11' 1леп е(зе, саяе, с(о сспусй ю/сс!е с(о для управления программой движения робота при различных условиях.
При выполнении некоторых задач требуется, чтобы движение робота удовлетворяло внешним ограничениям. Например, для установки детали в отверстие необходимо, чтобы схват двигался только в одном направлении. Любые боковые силы могут вызывать трение, которое препятствует движению схвата с деталью. Для того чтобы осуществить податливое движение в процессе сборки, необходимо очувствление. В табл. 9.6 приведен пример, демонстрирующий применение команд силового очувствления для выполнения задачи установки детали в отнерстие прн наличии податливости. Податливое движение определяется величиной силы, допустимой в каждом из направлений системы координат, связанной со схватом.
В данном случае внешняя сила прикладывается только вдоль оси этой системы координат. 9.2.4. Системные средства программирования Язык без системных средств программирования (редактор, отладчик и т. д.) бесполезен для пользователя. Сложный язык должен сопровождаться соответствующим программным обес- " Представляет собой агрегат вида (!,ос), который определяет сочленения 1 н 5. 499 Таблица 9.7.
Программа установки болта в отверстие на языке Аь ВЕОПЧ установка (Напор переменных) болт диаметр: — 12,7»мм; болт высота «-25,4*мм; попытки «- 0; схвачено «- пожги Определение базовых фреймов) сталь «- ГРАМЕ (РОТ(2, 90*град), ЧЕСТОК(508, 381, О) ьмм); загрузочное устройство «- ГРАМЕ (п(!го1, ЧЕСТОР(635, 508, 01)емм)1 (Определение основных фреймов) болт схват «- загрузочное устройство*'ГКА)45 (п1!го1, т1чегй); болт головка болта«-болт охват»ТРА!»5(п1!гог, ЧЕСТОР(0, О, 127)ьмм); деталь отверстие «- деталь»ТРАЫ5 (и!!го1, ЧЕСТОР(0, О, 25 41»чьг); (Определение фреймов для промеж!точных точек траектории) А «- загрузочное устройство»ТРА!я 5 (и!!го1, ЧЕ СТОР (О, О, 127) »ми); В « — зигрузочиое устройство»ТРАЫ5 (п11го1, ЧЕСТОР(О, О, 2032) *мм); С «- деталь отверстие»ТРАВ 5 (и!!го1, НЕСТОР(0, О, ! 27)»мм); Р «- деталь отверстие»ТРАЫ5(п!!го!, болг еьгсота»Х); Открытие охвата) РЕП Ьйапй ТО болт диаметр+25,4»мм (Расположение схвата точно над болтом) МОЧЕ Ьагщ ТО болт схват Ч!А А !Ч(ТН АРРРОАСН= — 2 АЧКТ зигрузочнос устройство Попытка захвата болта) О СЕО5Е Ьйапй ТО 0,9„болт.
диаметр. !Г Ьйапд болт диаметр ТНЕЫ ВЕОП4 (неудача при захвате болта, новая попытка) ОКЕ|я Ьйапд ТО болг диаметр+ 25,4» мм; МОЧЕ Ьагщ ТО З вЂ” 25,4»7*мм; ЕЫР ЕЕ5Е схвачено«- истина; попытки «- попытки+1; ОПТ!1. схвачено ОР (попьггки ° 3); (Прекрагцение операции, если болт не схвачен за 3 попытки) 1Г НОТ схвачено ТНЕЫ АВОРТ («неудача при захвате болта»), (Перемещать руку к точке В) МОЧЕ Ьаггл ТО В Ч!А А !Ч1ТН РЕРАРТНРЕ=Х (ЧРТ загрузочное устройство; (Перемещать руку к тачке Г1) МОЧЕ Ьагт ТО Р Ч)А С АЧ!ТН АРРРОАСН= — 2 !ЧКТ деталь отверстие; (Проверигь, есть ли отверстие) МОЧЕ Ьаглг ТО З вЂ” 2,54»2»мм О!Ч ГОРСЕ(2) ) 2,8*Н РО АВОРТ («нет отверстия»); (Установка болта в отверстие с помощью системы силового очунетвзннгня) МОЧЕ Ьагт ТО деталь отверстие Р!РЕСТ1У 1Ч!ТН ГОРСЕ(7) =- — 2,8»Н !Ч!ТН ГОКСЕ(Х) =0»Н !Ч!ТН ГОРСЕ(У) =О*Н %!ТН РОРАТО)4 =5»1с; ЕЫР установка болта 500 печением для пользователя.
Сложные программы для робота трудны как для разработки, так и для отладки. Более того, программирование робота накладывает следующие дополнительные требования на средства разработки и отладки программ: 1. Модификация оп !Ппе и непосредственный повторный' запуск, Поскольку задачи робота требуют сложных движений и длительного времени выполнення, то не всегда можно вновь запустить программу в случае аварийного останова.
Система программирования робота должна иметь возможность модификации программ в режиме оп Йпе и воспроизводить повторный запуск в любое время. 2. Выходные сигналы с датчиков и программные траектории. Взаимодействие в реальном времени между роботом и окружаюшей средой не всегда воспроизводимо. Поэтому отладчик должен быть способен записывать значения сигналов с датчиков вдоль всей программной траектории, 3 Моделирование, Это свойство позволяет тестировать программы без физической реализации робота и рабочего пространства.
Следовательно, различные программы будут отлеживаться с большей эффективностью. Читатель должен понять, что программирование на роботоориентированном языке утомительно и громоздко. Это иллюстрнруется следующим примером. Пример. В табл. 9.7 приводится программа на языке А(.
для выполнения операции установки болта в отверстие (рис. 9.1), Необходимые разъяснения даны в предыдущих разделах. Примите во внимание, что предложение на языке Ай не считается завершенным до тех пор, пока не встретится точка с запятой. 9.3. ХАРАКТЕРИСТИКИ ПРОБЛЕМНО-ОРИЕНТИРОВАННЪ|Х ЯЗЫКОВ Совершенно другой подход к программированию роботов применяется при использовании проблемно-ориентированных языков.
В задачах сборки более естественно описывать не движения робота, а объекты, которыми робот манипулирует. Этот факт лежит в основе программирования на проблемно-ориентированных языках, применение которых упрошает задачу сборки. Система программировання на уровне задачи позволяет пользователю описать задачу на языке высокого уровня (описание задачи). Затем планировшик задачи будет обращаться к базе данных (моделям рабочего пространства) и преобразовывать описание задачи в программу на уровне робота (синтез программы для робота), которая и будет управлять ходом выполнения задачи сборки.
50! Основываясь на этом описании, можно мысленно разделить планирование задачи на три этапа: моделирование рабочего пространства, описание задачи и синтез программы, Следует отметить, что этп три этапа не являются полностью независимыми; фактически они связаны между собой на уровне вычислений, С помощью декомпознровщика и исходное описание задачи раскладывается на последовательность подзадач и выделяется такая информация, как первоначальное и исходное состояния, Алиса«ие гаЗае и дойли Знания .аРзгра.яма рабаига Рис.
93. Планировщик звдзч. положения схватывания, связи закрепления. Затем подзадачи поступают на планировщик подзадач, который генерирует требуемую программу для управления движением робота (рис. 9.4), Концепция планирования задачи до некоторой степени подобна идее автоматического создания программ в системе искусственного интеллекта. Пользователь задает требования на вход и выход желаемой программы, после чего генератор программы создает программу, удовлетворяющую требованиям пользователя на вход н выход [13]. Программирование на уровне задачи, подобное автоматической генерации программ, находится на стадии исследования, и многие вопросы до сих пор остаются нерешенными. В последующих разделах мы обсудим проблемы, возникающие прн планировании задачи, и возможныс пути нх решения.
о Под декомиозировщиком подравумеваетси программимй модуль, предназначенный дли резбиеиии исходной задачи ва подзадачи,— лрмга-аейзем 502 9.3.1. Моделирование рабочего пространства Для описания геометрических и физических свойств объектов, в том числе робота н представления процесса сборки в рабочем пространстве, проводится предварительное моделирование. Геометрические и физические модели. Для того чтобы планировщик мог генерировать программу, предназначенную для выполнения роботом данной задачи, он должен иметь информацию об объектах н самом роботе.
Она содержит геометрические и физические свойства объектов, которые представляются соответствующими моделями. Геометрическая модель дает информацию о размерах, объемах н формах объектов в рабочем пространстве. Как уже говорилось в гл. 8, для моделирования трехмерных объектов разработаны соответствующие численные методы [8, 245]. Для создания моделей объектов обычно применяется подход, называемый «пространственная геометрия воспроизведения объектов». Прн этом модели объектов рабочего пространства с помощью набора упорядоченных операций типа объединения и пересечения представляются в виде совокупности элементарных объектов, таких, как куб, цилиндр и т. д. Элементарные объекты можно реализовать различными способами, например: 1) набором контуров; 2) набором поверхностей; 3) телами вращения; 4) сеточной структурой.
В системе АОТОРАВ5 [!71] объекты моделируются с помощью процессора геометрического конструирования (ПГК) [306], в котором реализованы определенные процедуры для описания обьектов. Основная идея состоит в том, что каждому объекту соответствует название процедуры и ряд параметров. Внутри такой процедуры форма объекта устанавливается с помощью обращений к другим пропедурам, представляющим различные объекты, или к допустимым операциям. В системе ПГК заложен ряд элементарных объектов: куб, цилиндр, конус, клин, полусфера, пластина и тела вращения.
В свою очередь элементарные объекты представляются в виде списка поверхностей, контуров и точек, которые определяются параметрами в соответствующей процедуре. Например, обращение САЕЕ ВОЕ)О(СОВОУК «В1ося», х1еп, у1еп, г(еп); вызовет пропедуру ВОЫО, с помощью которой определяется прямоугольный ящик, называемый В1осй, с размерами х1еп, д1еп и г1еп. Более сложные объекты можно определить путем обращения к другим процедурам и применением к ним процедуры МЕВОЕ.