Файл: Системы очувствления и адаптивные промышленные роботы..pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 29.02.2024

Просмотров: 285

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Ниже описаны два инструментальных комплекса, их структура, а также рассмотрены решаемые ими задачи.

Исследовательский инструментальный робототехнический ком­ плекс. Этот комплекс разработан в МВТУ им. Н. Э. Баумана. Программное обеспечение инструментального комплекса состоит из

двух

компонент — универсальных

и проблемно-ориентированных

средств.

 

Универсальные средства, включающие операционные системы

(чаще

всего — реального времени),

являются базовыми для разра­

ботки программного обеспечения роботов. Для рассматриваемого инструментального комплекса такими операционными системами являются РАФОС (RT-11), ОС РВ (RSX-11M). Каждая из этих опе­ рационных систем предоставляет пользователю свои собственные средства для разработки программного обеспечения роботов. К ука­ занным средствам относятся трансляторы (или интерпретаторы) с языков программирования, загрузчики, редакторы и т. д. Так, операционная система RSX-11M позволяет писать программы на

следующих языках: Масго-11 (ассемблер),

PL-11,

PASCAL,

FOCAL, BASIC, С, LISP, ФОРТРАН.

на базе

универ­

Проблемно-ориентированные средства строят

сальных.

Специализированная операционная система, представляющая со­ бой вторую компоненту программного обеспечения, выполняет сле­ дующие функции:

формирование программы движения (либо в процессе обучения робота, либо на разработанном проблемно-ориентированном языке);

исполнение программы движения (либо ее имитация); тестирование каналов связи ЭВМ — манипулятор — ЭВМ; калибровка телевизионной камеры; исследование алгоритмов управления и обработки информации;

подготовка и передача данных на рабочий робототехнический комплекс.

Программное обеспечение робота представляет собой набор мо­ дулей, которые можно рассматривать и проектировать как проб­ лемно-ориентированную операционную систему. Действительно, те задачи, которые решает программное обеспечение робота, во многом совпадают с задачами, решаемыми универсальными операционными системами. Это совпадение касается, в частности, необходимости рас­ пределять ресурсы управляющей ЭВМ, обеспечивать мультизадач­ ный режим работы, поддерживать принятую структуру данных, осу­ ществлять операции ввода/вывода, предоставлять человеку-опера- тору возможность формировать программу движения манипулятора на проблемно-ориентированном языке и т. д. Все эти атрибуты при­ сущи как программному обеспечению роботов, так и универсальным операционным системам.

На рис. 5.24 приведена структура программного обеспечения робота, которая в общих чертах совпадает со структурой операцион­ ной системы. Это обстоятельство дает возможность при разработке программного обеспечения воспользоваться результатами, получен-

163


Рис. 5.24. Структура проблемно-ориентированной операционной системы

ными в области системного программирования, и, в частности, конеч­ ным продуктом — универсальными операционными системами как ядром программного обеспечения роботов.

Человек-оператор общается с системой с помощью программы интерактивного монитора, который обеспечивает прием и адекватное накопление, исполнение директив оператора. Выбор команд мони­ тора определяется теми задачами по управлению и обучению робота, которые стоят перед человеком-оператором. В приведенном ниже примере подсказки и сообщения системы выделены подчеркиванием.

1.PROGRAM — переход в реж им запоминаемой программы;

формирование программы управления МР на проблемно-ориент иро­ ванном языке.

Формат команды: PROGRAM

input SOS—file— [(имя—входного—текстового—файла)] output SOS—file= [(имя—выходного—текстового—файла)] output run—file= [(имя—задачи) 1

options^ ШВТТГМ] [EX]

Программа управления движением МР, формируемая в режиме PROGRAM, представляет собой последовательность операторов языка, среди которых могут быть следующие операторы: элементар­ ных перемещений исполнительного механизма, реализующие не­ которые вычислительные процедуры, управляющие ходом исполне­ ния рабочей программы, и другие. Команда PROGRAM помимо формирования программы предоставляет пользователю и некоторые

164

возможности отладки. В зависимости от указанных ключей сформи­ рованная программа может быть исполнена либо полностью (ключ ЕХ), либо в пошаговом режиме (DB) с выдачей на каждом шаге информации о состоянии исполнительного механизма. Программа движения может формироваться, обслуживаться и исполняться как с участием реального механизма, так и с использованием его кинематической модели, выводимой на экран графического дисплея.

2. EDIT — команда редакт ирования;

позволяет либо от редак­

тировать

уже существующий текстовой

ф а й л, либо создать новый

на внешнем запоминающ ем устройстве.

 

Формат

команды:

 

EDIT

input SOS—file= [(имя—входного—текстового—файла)! output SOS—Ше= [(имя—выходного—текстового—файла)]

Для использования программ, подготовленных с помощью ре­ дактора, их необходимо передать на вход транслятора с языка управ­ ления движением, который выполнит соответствующие преобразова­ ния и сформирует загрузочный модуль.

3. RUN — команда исполнения программ ы , подготовленной в ре­ жиме PROGRAM.

Формат команды: RUN

task п ате= имя—задачи

В зависимости от того, с каким ключом формировался загрузоч­ ный модуль в режиме PROGRAM, команда RUN выполнит пошаго­ вую обработку программы с выдачей информации о состоянии испол­ нительного механизма по завершении очередной инструкции соот­ ветствующего текста или исполнит всю программу с выдачей управ­ ления либо на реальный исполнительный механизм, либо на его модель па экране графического дисплея.

4. TRAIN — переход в реж им обучения (реж им запоминаемых данны х).

Формат команды: TRAIN

input data name= [(имя—входных—данных)] output data name= [(имя—выходных—данных)] default: [Т^= (число)] 1У=(число)]

options [IMl [SN]

TRN) (?) | (TYPE) | (OFF) [ (ON) | (EXT)

Команда является многофункциональной и предоставляет чело- веку-оператору следующие возможности:

формировать и редактировать программу движения в диалого­ вом режиме (без выдачи управления на исполнительный механизм) (OFF-режим);

формировать и редактировать программу движения, используя задающие органы — функциональный пульт, клавиатуру терминала или подобный исполнительному задающий механизм (ON-режим);

165


исполнять сформированную программу с выдачей управляющих сигналов непосредственно на приводы исполнительного механизма, либо имитировать исполнение программы с помощью графического дисплея (режим EXT);

получать данные для использования на промышленном робото­ техническом комплексе (режим СОРУ);

запросить информацию о возможностях, представленных системой пользователю — (режим ?).

5. ЕХЕС — исполнение т раект ории движ ения, сформированной в реж име TRAIN.

Формат команды: ЕХЕС

data п ате^(и м я —данных) option^ [AT] [ST]

points (номер—точки—в—массиве—последовательности)

Программа может отрабатываться как в автоматическом (ключ АТ), так и в пошаговом режиме (ключ ST) с первой или любой дру­ гой позиции последовательности узловых точек траектории.

6. TEST — тестирование каналов связи Э В М М Р и М Р Э В М и калибровка т елевизионной системы.

Формат команды: TEST

device^ [TV] [ARM1

Тестирование каналов связи (режим ARM) выполняется посред­ ством активного эксперимента, в результате чего определяются параметры системы, значения которых могут меняться при измене­ нии внешних условий. В соответствии с полученными параметрами осуществляется автоматическая подстройка программного обеспечения системы, связанного с обслуживанием внешних ус­ тройств.

При работе с телевизионной системой необходимо иметь «при­ вязку» систем координат камеры и рабочего пространства. Она выполняется автоматически по запросу пользователя (TV), и ре­ зультаты калибровки «рассылаются» по соответствующим програм­ мам, связанным с системой визуальной информации.

Таким образом, набор рассмотренных основных команд специали­ зированной системы удовлетворяет большинству потребностей поль­ зователя инструментального робототехнического комплекса по под­ готовке и исполнению программ управления.

Одним из способов задания движения робота в не полностью предсказуемой обстановке является не только описание точек по­ зиционирования с указанием порядка их обхода, но и указание условий, при которых осуществляется переход от одной точки к другой, а также выполнение некоторых дополнительных операций. Реализация такого способа задания движения — это использование проблемно-ориентированного языка, в число основных конструкций которого входят как операторы, обеспечивающие непосредственное управление движением, так и операторы, позволяющие обрабаты-

166


гать сенсорную информацию и на основании результатов обработки управлять процессом прохождения программы.

Основные конструкции входного проблемно-ориентированного языка управления движением манипулятора могут быть описаны

следующим

образом.

Ф ормат

ст роки. Программа управления представляет собой

последовательность операторов, каждый из которых может быть снабжен меткой. Форматирование строки совпадает в основном с фор­ матированием, используемым в языке ФОРТРАН, с той лишь раз­ ницей, что в первой позиции строки допускается наличие буквы F. Это означает, что строка представляет собой оператор,'написанный на языке ФОРТРАН. Эта возможность предоставляется пользователю для того, чтобы сформировать некоторые специфические законы управления движением или отработки информации.

О перапоры входного язы ка. Их делят на исполняемые и неисполняемые. Исполняемые операторы приводят либо к некоторому пере­ мещению манипулятора, либо к подготовке этого перемещения путем инициирования датчиков считывания и обработки соответ­ ствующей информации. Неисполняемые операторы информируют транслятор о некоторых особенностях вводимой программы и не порождают никаких действий со стороны манипулятора и датчиков.

Любое движение исполнительного механизма можно представить как совокупность некоторых элементарных движений. Поэтому це­ лесообразно иметь набор операторов, которые будучи сгруппированы в различных комбинациях, могут обеспечить любое сколь угодно сложное движение. Такие операторы называются элементарными. Однако крайне неудобно использовать для задания программы дви­ жения этот ограниченный набор элементарных операторов. Поэтому пользователю предоставляется возможность применять операторы, которые не являются элементарными, но могут быть к ним сведены. Такие операторы называют макрооператорами или макросами.

Положение манипулятороз может быть задано одним из следу­ ющих способов:

с помощью вектора, компоненты которого представляют собой либо углы в подвижных сочленениях

Ч = (<7ъ Яг, Яг, Ял, ft. </«)\ либо координаты захвата

s -- (X, у, z, а, Р, у )т ;

с помощью матрицы следующей структуры:

е*. еу. е*. Р

0 0 0 1

где е*в, е^в, е2# — векторы, имеющие в качестве проекции направ­ ляющие косинусы, которые связывают абсолютную систему коорди­ нат X 0Y 0Z 0 и систему координат захвата X6y 6Z6 (рис. 5.25); р — вектор, связывающий начало абсолютной системы координат с на­ чалом системы координат захвата.

16 7


Рис. 5.25. Система координат захвата и ее сбязЬ

 

с абсолютной системой

координат

Все

элементарные

операторы

можно

разбить

на

следующие

группы:

 

движения

[Д ];

операторы

операторы ввода-вывода [В];

арифметические операторы [А I;

ния

операторы

передачи

управле­

[У];

управления

транс­

операторы

ляцией

[ТI;

модификации

текс­

операторы

та

[М ];

1 - 4

 

операторы [01;

неисполняемые

операторы управления внешним

оборудованием

[С].

 

 

Для описания некоторых из введенных в состав языка элемен­ тарных операторов и их семантики принята следующая система обо­ значений: числа обозначены маленькими буквами, имена (идентифи­ каторы) — большими буквами, в квадратных скобках после имени оператора указана его группа.

Ниже приведены основные операторы языка.

1. PQ (/, qlt q2, qs, <?4. <7з, <7в) [Д1

Оператор обеспечивает выдачу на приводы исполнительного ме­ ханизма управляющих сигналов

q f = q i jq ?> i = Г 2, ..., 6.

где q& — управляющий сигнал на /-ю степень; qat — текущее состоя­ ние /-й степени подвижности;

1, относительное задание управляющих углов; О, абсолютное задание управляющих углов.

2. IPQ (/, А )

[Д]

 

предыдущему,

с

той лишь разницей,

Оператор эквивалентен

что управляющие углы задаются не явно,

как в операторе PQ ( ),

а составляют содержимое массива

А:

 

 

 

А ({)

-

qt , i =

1, 2,

...,

6.

Здесь А — это

имя

массива.

 

 

 

3. PQM (/, т,

q) [Д]

 

 

 

 

В результате реализации этого оператора на m-й привод выдается

управляющий сигнал q}m =

q + jq“• Здесь / и qfn имеют тот же смысл,

что и для оператора PQ (

). Заметим, что по результирующему

движению манипулятора оператор PQ (/, qu q2y q3y q4, qby q9) экви­ валентен следующей последовательности операторов: ^

168