Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Робот. Компьютер. Гибкое производство

.pdf
Скачиваний:
1
Добавлен:
12.11.2023
Размер:
8.54 Mб
Скачать

программировании геометрические соотношения между объектами технологического пространства для выполне­ ния траекторных вычислений и (или) контроля взаимных расстояний.

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

Система АПРОГРАФ реализована в двух версиях: для двумерных и трехмерных геометрических объектов. В дву­ мерной версии системы каждый геометрический (графи­ ческий)' объект представляет собой четверку <А, Г, С , /)>,

где А —имя объекта; Г —линейный

список дескрипторов

угловых вершин

контурного описания

объекта, Т=*

===\xi) y i ) } i=*UL,

L

число

вершин,

( x h у {)

—координаты

i-й вершины; С — согласованный с Т

список дескрипторов

связей между

вершинами,

С={<с<(ж<, у<)

сг —код

типа связи, (Xi, уг) —для дуговой связи координаты цент­ ра дуги, связывающей вершины i и i—1; D —текущая ориентация объекта. Параметры L и D называются атри­ бутами объекта и доступны в качестве скалярных вели­ чин при программировании. Их значения автоматически изменяются в результате выполнения конструктивных и пространственных операций над объектами. Помимо объ­ ектов этого класса, также возможно использование так называемых виртуальных объектов, представляющих со­ бой произвольные фрагменты контурных описаний обыч­ ных объектов. Такие виртуальные объекты описываются тройкой

<А, /, D>,

где А —имя основного, невиртуального, объекта; / —ин­ тервал индексов вершин контура, общих для основного и данного виртуального объекта в списке Т основного объ­ екта; D —ориентация.

41

На множестве объектов определены три операции пре­ образования координат, обеспечивающие перенос Д/(у),

вращение R { р , ф), масштабирование S { р , т х,

т у), где v —

двумерный вектор, р — точка на плоскости,

ф — угол, т х

и Шу — коэффициенты растяжения по осям X

и Y абсолют­

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

слияние { A F F I X )

и расщепление { C U T ) \

A F F I X ( N i%N 2) : ( N h

Т1г Ch D x>, </V2, T 2%Cv Z)2>

C U T ( N i%N 2%i) : Ф »

T 1%Ci%D J

 

1%T i \

T 21 ^1 \ ^21

( N T 21 C21

где знаки || и \ обозначают соответственно конкатенацию списков п отсечение концевого подсписка.

Построение новых объектов, помимо операции

A F F I X

и C U T , обеспечивается

также специальными

процеду­

рами:

 

 

 

 

—интерактивное построение контурного описания объ­

екта, D R A W ( N ) ;

 

 

 

позиции

—построение точечного объекта в заданной

S E T P O I N T (N, р)

или

в точке пересечения

двух объ­

ектов S E T - C R O S S

(А, N и N z) ;

(N , pt, р2) ;

— построение линейного отрезка S E T L I N E

— построение сегмента дуги S E T A R C (A2pi, рг, рс, 0у, где рс —центр дуги, 0 —признак выпуклости сегмента.

Операция C O P Y обеспечивает возможность репликации объектов:

C O P Y ( N v N 2) : ( N v T v Cv D J -> ( N v T v Cv D J , <N2%T 2, C 2, D 2>,

где T 2= T U C2= C U D 2- D i .

Наконец, операция K I L L { N ) обеспечивает уничтоже­ ние объекта А (невиртуального).

В трехмерной версии системы АПРОГРАФ использу­ ется способ описания геометрических объектов в терминах вершин, ребер и граней (аппроксимация многогранника­ ми). Геометрический объект при этом представляется чет­ веркой

<А, Г, F, F),

где N — имя объекта, Т — список дескрипторов вершин, V —-

42

список дескрипторов ребер, F —список дескрипторов гра­ ней. С каждой гранью объекта / е ? связывается своя ло­ кальная система координат —координатный фрейм. Раз­ меры каждого из списков Г, V и F , а также все множест­ во фреймов, связанных с объектом, образует множество атрибутов объекта, доступ к которым обеспечивается спе­ циальными функциями геометрического процессора. Как и в случае двумерных объектов, имеется возможность оп­ ределения виртуальных объектов, описываемых тройками

<ЛГ, V*, F),

где V* —список указателей на дескрипторы ребер в спис­ ках Т других объектов. Разрешаются вырожденные объ­ екты, представляющие собой изолированные вершины, ребра и координатные фреймы.

На множестве описываемых таким образом объектов определены операции преобразования координат, обеспе­

чивающие параллельный

перенос

M O V E

(у),

вращение

вокруг произвольной оси

R O T A ( р,

у, ф)

и поворот

осей

R O T F ( р,

f 1, f2), масштабирование

S C A L E (р, f,

m j ,

иг/,

m zf ), где

р —точка в пространстве, v —вектор,

ф —плос­

кий угол, f, f 1 и f 2—координатные фреймы, /тг/, иг/, иг/ — коэффициенты растяжения по осям координатного фрей­ ма f.

Процедура G R O U P обеспечивает возможность выпол­ нения групповых операций с объектами. Класс объектов, порождаемых этой процедурой, описывается пятеркой <G, £/, Г, V, F), где G — имя группы, U —список имен вхо­ дящих в группу объектов; Г, V, F —объединенные списки дескрипторных вершин, ребер и граней этих объектов со­ ответственно.

Псевдообъекты (вырожденные объекты) создаются с помощью процедур-конструктивов:

—построение одиночной вершины S E T T O P ( N , р),

— построение ребра S E T V E R T E X { N , р4, р2), —построение фрейма S E T F R A M E (N, р4, р2, р3). Процедуры копирования C O P Y и C O P Y G обеспечива­

ют построение новых объектов путем копирования объ­ ектов или групп соответственно (вторая из этих процедур фактически выполняет «склеивание» объектов группы). Уничтожение объектов производится с помощью процеду­ ры K I L L .

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

43

чивает графическую визуализацию модели на экране гра­ фического дисплея с использованием функции экранного «окна», позволяя отображать на экране любую часть в кабинетной или ортогональной проекции.

Моделирование кинематики

Особенности моделирования кинематики роботов в систе­ ме АПРОГРАФ рассмотрим на примере эксперименталь­ ной модели робота, кинематическая схема которого при­ ведена на рис. 2. В системе АПРОГРАФ существуют два пути моделирования кинематики. Первый путь состоит в использовании аналитических соотношений, связывающих вектор 0 обобщенных координат робота и абсолютные декартовы координаты схвата робота в пространстве для решения прямой и обратной задач кинематики. В данном случае матрица связи, описывающая ориентацию и поло­ жение схвата в функции вектора 0, является произведе­ нием матриц локальных преобразований координат

А (0) = B i (0j) * Z?2 (®)г * (®з) * • • • -®8 (®e)ii

(1)

Рис. 2. Кинематическая схема робота с восемью степенями подвиж> яости

44

где B t , . . .

B s —матрицы

степеней

подвижности 1- 8 соч

ответственно.

 

 

 

 

 

 

 

 

 

 

 

COS 0*

— sin 0Х 0

Чг COS 0!

 

fii(Oi)

sin

 

cos 0X 0

аг sin

0j

i

0

 

 

0

 

1

si

 

 

 

 

 

 

 

 

 

 

0

 

 

0

 

0

1

 

 

 

 

cos 02

sin 02

0

a2 cos

02

 

в г

(0.)

sin 02

cos 02

0

a2 sin

02

%

0

 

 

0

 

1

0

 

 

 

0

 

 

0

 

0

1

 

 

 

 

— 1

0

 

0 0 "

 

 

 

 

В3{%)

0

1

 

0

0

 

 

 

 

 

0

0

 

1

03

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

 

0

1

 

 

 

 

 

 

 

cos 04

0

sin

04

0

 

 

в

м

sin 04

0

cos 04

0

 

 

0

 

1

 

0

 

$4

 

 

 

 

 

 

 

 

 

 

 

0

 

0

 

0

 

1

 

 

 

 

cos 05

 

- sin 05

0

abcos 05

 

в

м

sin 05

 

cos 05

0

ab sin 05

%

0

 

 

0

 

1

$5

 

 

 

 

 

 

 

 

 

 

0

 

 

0

 

0

1

 

 

 

 

cos 0e

sin 06

0

aQcos

06

 

вл%)

sin 0e

 

cos 06

0

a6 sin 00

»

0

 

 

0

 

 

1

SQ

 

 

 

0

 

 

0

 

 

0

1

 

 

 

 

COS 07

0

sin 07

b1 cos 07 +

a7 sin 0-

в7 (07)

sin 07

0

COS07

67 sin 07 — <a7 cos 0-

0

 

1

0

 

 

 

s7

 

 

 

0

 

0

 

0

 

 

 

1

 

 

 

cos 08

sin 08

 

О

О

 

 

 

В8(%)

sin 08

cos 08

 

О

О

 

 

 

О

 

 

0

 

1

st

 

 

 

 

 

О

 

 

0

 

0

1

 

 

 

45

Рис. 3. Графическое изображение скелетной модели робота на эк­ ране дисплея (а —исходная конфигурация, б —целевая конфигу* рация)

Рис. 4. Графическое изображение объемной модели робота на экра­ не дисплея

* При положении и ориентации охвата, заданных число­ вой матрицей Л*, значения компонент вектора 0 нахо­ дятся из решения матричного уравнения

Л(в)=Л*,

(2)

при этом 2 из 8 обобщенных координат выступают в роли свободных параметров, выбираемых из физических сооб­ ражений (в данном случае это координаты 0! и 0з, 03=const). Изоморфизм геометрической модели робота, построенной в терминах геометрических соотношений между элементами конструкции робота и аналитическим описанием его кинематики в виде матричного уравнения (2), устанавливается путем использования обобщенных координат в качестве параметров операций M O V E и R O T A , соответствующих матрицам В 8, поскольку произ­ ведение этих матриц эквивалентно последовательности

геометрических

операторов

{Oi, 0 2, . . . 0 8), где

опера­

тор Oi обеспечивает преобразование координат

M O V E

(при 1 = 3) и

R O T A (при

i = 3) группового

объекта

. . . N s .

Реализация алгоритма решений обратной

задачи кинематики в виде специализированной процеду­ ры —подпрограммы геометрического процессора —позво­ ляет автоматически вычислять требуемые значения пара­ метров операторов O i + O s для установки схвата в задан­ ное положение и соответствующим образом изменять со­ стояние геометрической модели робота и ее графическое изображение на экране дисплея. Заметим, что степень детализации геометрической модели робота при этом мо­ жет быть произвольной —от предельно упрощенного ске­ летного представления, как на рис. 3, до вполне реали­ стичного представления, как на рис. 4.

В отличие от описанного выше подхода, требующего системной поддержки процедуры решения обратной зада­ чи кинематики, второй путь основывается на чисто гео­ метрическом решении этой задачи. Показанная на рис. 3 серпообразная фигура представляет область пространст­ ва Е, в пределах которой позиционирование схвата при текущих значениях обобщенных координат 0i, 02 и век­ торе ориентации схвата обеспечивается движениями в 5-й и 6-й степенях подвижности. Обратная задача кине­ матики решается путем ее декомпозиции на три незави­ симые группы движений: подвод схвата к целевой точке пространства, расположенной внутри области Е , за счет движений в узлах 5 и 6; плоский сдвиг зоны Е до попа­ дания в нее целевой точки за счет движений в узлах 1

47

и 2; поворот зоны Е за счет вращений в узлах 1, 2 или 4. Конкретный алгоритм строится пользователем в инте­ рактивном режиме с визуальными контролем состояния модели по графическому изображению на экране дис­ плея.

Графический редактор

Подготовка геометрических моделей объектов техноло­ гической задачи робота в системе АПРОГРАФ ведется в режиме диалога пользователя с интерфейсным модулем геометрического процессора —графическим редактором. Этот модуль предоставляет пользователю широкий набор сервисных процедур для конструирования, коррекции и диагностики геометрической модели задачи. Доступ к этим процедурам организован с помощью иерархической системы «меню».

Основное меню включает процедуры манипулирования объектами, доступа к каталогу описаний объектов в БГД, копирования и удаления объектов, управления режимами графического вывода на экран и параметрами экранного преобразования координат, инициации режимов иденти­ фикации, поиска, редактирования объектов и их элемен­ тов, вспомогательных геометрических построений. Вспо­ могательное меню режима идентификации и поиска вклю­ чает процедуры установки экранного курсора на заданную вершину объекта, последовательного просмотра вершин, вывода идентифицирующих данных и т. п. Меню режима редактирования включает процедуры построения и добав­ ления новых геометрических элементов (ребер* граней) к редактируемому объекту, возможно, пустому, а также удаления элементов. Меню режима вспомогательных гео­ метрических построений, вход в который возможен из всех других режимов, а также рекурсивно, включает про­ цедуры ввода кординат точек пространства (в абсолют­ ной и относительной форме), построения геометрических примитивов —точек, отрезков прямых, окружностей, обес­ печивающих разметку пространства модели. Ввод коорди­ нат может быть осуществлен как в числовой форме, так и с помощью устройств графического ввода («мышь», джойстик, цифровой планшет).

48

Графическое программирование

С помощью интерпретатора языка графического про­ граммирования пользователь системы АПРОГРАФ имеет возможность текстуального программирования манипуля­ ций с геометрической моделью с визуальным контролем правильности программы при использовании всего арсе­ нала вычислительных средств языка программирования высокого уровня. Интерпретатор обеспечивает выполне­ ние инструкций языка графического программирования (ЯГП) как в пошаговом режиме, так и в режиме потока, в связи с чем его можно использовать наряду с графиче­ ским редактором и для подготовки геометрических данных. В соответствии с концепцией графического программиро­ вания ЯГП не содержит никаких роботоориентированных инструкций, хотя и позволяет включать в текст програм­ мы обращения к специализированным программным мо­ дулям, реализующим специфические вычислительные про­ цедуры (решения обратной задачи кинематики, модели­ рование динамики робота, анализа сенсорных данных и т. д.). ЯГП позволяет описывать обработку данных двух видов: геометрических объектов и их элементов (верши­ ны, ребра, грани) и негеометрических —символьных и числовых, скалярных и массивов.

Кроме обычных конструкций ввода/вывода, управле­ ния (условный и безусловный переходы на метку, циклы, вызов подпрограммы и т. д.), численных и логических вычислений, обработки символьных строк, ЯГП содержит команды управления геометрическим процессором, обес­ печивающие доступ к базе геометрических данных, мани­ пулирование геометрическими объектами, конверсию ти­ пов данных, а также управление режимом графического вывода и диагностические функции. Доступ к атрибутам геометрических объектов, а также вычисление геометри­ ческих отношений обеспечиваются механизмом встроен­ ных функций.

Графическая программа составляется одним из двух способов: с помощью обычных средств подготовки и ре­ дактирования текстовых файлов (процессор текстов) либо в процессе диалога с интерпретатором. Во втором слу­ чае в распоряжении пользователя имеются как команды редактирования строк текста графической программы, так и возможность автоматической трассировки последователь­ ности выполняемых геометрических процедур и операций с данными в виде инструкций ЯГП.

49

Подготовка управляющих программ для роботов (посттрансляция)

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

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

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

50