книги / Робот. Компьютер. Гибкое производство
.pdfпрограммировании геометрические соотношения между объектами технологического пространства для выполне ния траекторных вычислений и (или) контроля взаимных расстояний.
В отличие от большинства систем независимого про граммирования роботов, опирающихся на мощные гео метрические моделлеры универсального назначения и ре ализуемых на больших или супермини-ЭВМ типа 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 2» 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 |
0Х |
|
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