Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Роботы и робототехника лабораторный практикум. Учебное пособие
.pdf
I
– inputs – множество входных функций, отражающих
μ
x
входные позиции перехода;
O – outputs – множество выходных функций, отражающих
выходные позиции перехода;
– вектор
нента которого – количество меток/точек в
сети Петри.
Для иллюстрации сетей Петри удобно использовать их графическое представление. В соответствии с ним сеть Петри представляет собой ориентированный граф с двумя типами вершин,
в котором:
– позициям сети Петри соответствуют вершины, изображаемые кружками O;
– переходам сети Петри – вершины, изображаемые утолщенными черточками
– функциям I соответствуют дуги, направленные от позиций
к переходам;
– функциям О соответствуют дуги от переходов к позициям.
Вершины одного типа не могут быть соединены непосредственно (рис. 5.5).
x
– маркировка сети Петри – вектор, i-я компо-
i-ой позиции структуры
|;
2
1
t
1
t
1
Рис. 5.5. Недопустимое соединение вершин графа сети Петри
Внутри позиций сети Петри, которые являются статическими объектами, проставляют маркеры сети, которые являются динамическими объектами. Наличие и количество маркеров в позициях меняется в процессе изменения состояния моделируемой
системы – маркеры перемещаются по позициям сети. Каждое изменение маркировки (количество маркеров в позициях) называют
81

событием. События совершаются при срабатывании (возбуждение
или запуск) переходов. При этом маркеры из входных позиций переходов перемещаются в их выходные позиции. Считается, что
события происходят мгновенно и разновременно при выполнении
некоторых условий. Последовательность событий образует моделируемый процесс.
Количество маркеров в позициях определяется или соответствующим количеством точек в кружках,
обозначающих соответствующие вершины графа или целым числом, если маркеров в позиции больше пяти.
Правила срабатывания переходов конкретизируют следующим образом: переход срабатывает, если для каждой из его входных позиций выполняется условие
в
i-й входной позиции, Кi – число дуг, идущих от i-й позиции к пе-
реходу. При срабатывании перехода число маркеров в
позиции уменьшается на
ется на
Мj, где Мj – число дуг, связывающих переход с j-й пози-
Ki а в j-й выходной позиции увеличива-
Ni > Ki, где Ni – число маркеров
i-й входной
цией.
Иными словами:
– условие для данного перехода считается выполненным, когда в каждой входящей в этот переход позиции количество меток
больше или равно количеству дуг, соединяющих данную позицию
и переход;
В результате срабатывания перехода/выполнения события:
– в позициях, входящих в переход, меток убавляется на количество, равное
числу дуг, соединяющих позицию и переход;
– в позициях, выходящих из перехода, меток увеличивается
на количество, равное числу дуг, соединяющих переход и позицию.
Маркировка сети Петри при этом изменяется.
На рис. 5.6 и 5.7 приведены примеры невыполнения и выполнения условий для переходов сетей Петри.
На рис. 5.8 показан пример распределения маркеров по
по-
зициям перед срабатыванием переходов и после.
Маркировка сетей Петри, представленных на рис. 5.8 (а)
и 5.8 (б), до перехода записывается в виде (1, 0, 2) и (..., 3, 2, 1).
После срабатывания переходов маркировка становится (0, 1, 3) и
(..., 2, 0, 2) соответвственно.
82

а)
x
x
x
2
t
x
1
1
x
3
б)
x
2
x
3
x
4
t
2
в)
x
2
x
3
x
4
t
2
x
2
г)
x
3
x
4
t
2
Рис. 5.6. Некоторые случаи невыполнения условий
для переходов сетей Петри
2
а)
x
t
1
1
x
3
б)
Рис. 5.7. Случаи выполнения условий для переходов сетей Петри
до:
x
2
а)
t
x
1
1
x
3
после:
x
1
2
t
x
3
4
2
x
2
t
1
x
3
б)
x
2
x
3
x
4
t
2
x
2
x
3
x
4
t
2
Рис. 5.8. Сеть Петри до и после события/срабатывания переходов t
83
и t2
1

На рис. 5.9 приведен пример графического представления
μ
сети Петри.
2
4
x
1
Рис. 5.9. Пример графического представления сети Петри
t
1
x
t
2
3
Эту же сеть Петри можно представить в виде структуры:
{}
()
,
xtI =
11
() { }
,,, xxxxP =
, xxtO =
321
,
4321
,
Начальная маркировка
() { }
() { }
()
,
{}
,ttT =
21
, xxtI =
322
, xxtO =
142
1,2,0,1=
.
Также можно представить структуру сети Петри (см. рис.
5.9) в виде таблицы, показанной на рис. 5.10. Цифра 0 в таблице
означает, что у перехода 1 отсутствует второй вход.
№ перехода
1 1 0 2 3
2 2 3 1 4
Input Output
I 1 I 2 O 1 O 2
Рис. 5.10. Табличное представление сети Петри
События в сети Петри делятся на «примитивные» и «непримитивные».
«Примитивные» события (при моделировании) мгновенны и
неодновременны. «Примитивные» события изображаются в виде
вертикальной линии. «Непримитивными» называются события,
длительность которых отлична от нуля. Они изображаются в виде
прямоугольника. Продолжительность срабатывания (задержки)
84

событий задается путем придания переходам веса. В этом случае
используется модельное время и моделируется не только последовательность событий, но и их привязка ко времени. Полученную
модель называют временной сетью Петри.
Описание конечными автоматами работы группы из четырёх роботов-манипуляторов в задаче по переносу деталей из
одного крайнего лотка в другой.
Задача – необходимо с помощью роботов перемещать стопку
n дисков из положения a в положение c, а затем из положения
из
c – в положение a и так далее – в бесконечном цикле (рис. 5.11).
Рис. 5.11. Схема переноса детали группой роботов
Для упрощения описания задачи переноса группой роботовманипуляторов деталей из одного крайнего лотка в другой приведём пояснительный рисунок, условно показывающий группу роботов сверху (рис. 5.12).
На рис. 5.12 условно показаны:
– кружки – основания роботов-манипуляторов;
– штриховые линии – траектории движения схватов робо-
тов-манипуляторов при переносе детали;
– штриховые области – области рабочих зон, где запрещено
совместное положение схватов соседних роботов-манипуляторов;
– цифры 2020,2040,2060 – названия совместных рабочих
зон;
85

– буквы aa,a2b, … – переменные, обозначающие характер-
ные точки положения схватов роботов-манипуляторов.
2020 2040 2060
c2d
dd
Р 2 Р 1
d2e
e2f
ee
ff
f2g
gg
Р 4
aa
bb
Р 3
b2ca2b
cc
Рис. 5.12. Траектория переноса детали с обозначением характерных точек
При разработке алгоритма управления группой роботов,
обеспечивающего описанный выше перенос деталей, нужно учитывать следующие ограничения:
– соседние роботы не могут одновременно находиться в общей для них области рабочей зоны;
– в общем случае неизвестно, когда соседние роботы будут
входить в общую область рабочей зоны, но известно, что соседние
роботы должны
Следовательно, можно говорить о понятии «принадлежности» области рабочей зоны одному из двух соседних роботов.
В данной задаче понятие принадлежности – это бинарное состояние области рабочей зоны. В процессе работы принадлежность
общих областей рабочих зон роботов будет меняться. В дальнейшем будем задавать начальное положение
принадлежность общих областей рабочих зон.
Постараемся понять, как должна синхронизироваться работа
роботов. Например, если какой-либо робот кладёт деталь, находясь в общей области рабочих зон, то он «знает», что при выходе
из нее туда может и должен войти соседний робот, чтобы эту деталь взять. Когда именно
ся общую область рабочих зон, первый робот не знает, но он знает,
входить в нее строго последовательно.
роботов и начальную
соседний робот войдёт в освободившую-
86

что можно снова войти в эту область только тогда, когда соседний
робот ее освободит.
Используя понятие «принадлежности» общей области рабочих зон, можно организовать совместную работу следующим образом:
– каждый из роботов-соседей знает, кому принадлежит общая область рабочих зон;
– в рабочую зону может входить тот робот, кому эта
в данный момент времени принадлежит;
– при выходе из общей области рабочих зон робот посылает сигнал о смене принадлежности этой общей области рабочих зон.
В силу того что каждый робот управляется отдельным контроллером, необходима их синхронизация, например, синхроимпульсами по выделенным дискретным линиям. Синхроимпульсы должны посылаться
тей рабочих зон. Соседние роботы должны получать синхроимпульсы информирующие их, что соответствующая общая область
рабочих зон принадлежит им.
Далее рассмотрим две возможные схемы синхронизации роботов в группе.
Схема непосредственного обмена синхроимпульсами
роботами при их выходе из общих облас-
область
Следует отметить: для данной схемы синхронизации
(рис. 5.13, 5.14) робот, выходя из
только посылает соседу синхроимпульс о том, что зона ему не
принадлежит, но и отмечает данный факт у себя в памяти – например, изменяя состояние выделенной для этого булевой переменной.
Бинарное понятие принадлежности общих областей рабочих
зон и изменение этого понятия теми же синхросигналами можно
описать
с помощью конечных автоматов.
R4
Рис. 5.13. Схема непосредственного обмена синхроимпульсами
R3
совместной рабочей зоны, не
R2
87
R1

R2
R1
DO
DO
1HW D70D70 1HW
DI
Рис. 5.14. Соединение контроллеров двух роботов дискретными линиями
связи при непосредственном обмене синхроимпульсами:
D70 – контроллер робота Kawasaki; 1HW – плата дискретного входа/выхода,
которым оснащён контроллер; DI – Digital Input – дискретный вход;
DO – Digital Output – дискретный выход
DI
Для схемы непосредственного обмена синхроимпульсами
примем следующие правила:
– В памяти контроллера каждого робота содержатся булевы
переменные состояния граничащих с этим роботов общих областей рабочих зон. Для робота R2 это переменные 2040, 2060 (см.
рис. 5.12).
– Имена булевых переменных совпадают с именами общих
областей рабочих зон.
– О принадлежности роботу общей области рабочих зон
сви-
детельствует значение TRUE соответствующей булевой переменной.
– В контроллере каждого робота моделируются конечные
автоматы примыкающих к нему общих областей рабочих зон. Например, у робота R2 это конечные автоматы общих областей 2040
и 2060, а у робота R3 – конечные автоматы общих областей 2020 и
2040. Если общая область 2040 принадлежит роботу R3, то в контроллере R3 переменная 2040 имеет
значение TRUE, а в контрол-
лере робота R2 та же переменная имеет значение FALSE.
– Перед началом работы группы роботов булевы переменные состояния общих областей инициализируются в соответствии
с начальным состоянием робототехнической системы.
Пример непосредственного соединения контроллеров роботов Kawasaki представлен на рис. 5.15. Условные обозначения синхросигналов, посылаемых роботами при непосредственном обмене
синхроимпульсами, показаны
на рис. 5.16.
88

+24V
GND
Доп-но
9
Разъём X9
Робот 1
Разъём X9
Робот 2
Разъём X9
Робот 3
№ ножки
Доп-но
№ ножки
Доп-но
№ ножки
+24V
9
+24V
9
12
10
11
GND
10
12
11
GND
10
12
11
Доп-но
сигналы
5
11
№ ножки
Разъём CN2 - выходные
Доп-но
сигналы
4
11
№ ножки
Разъём CN2 - выходные
Доп-но
Vin 1-16
Com 1-16
сигналы
№ ножки
Разъём CN2 - выходные
Vin 1-16
Com 1-16
36
18
Vin 1-16
Com 1-16
36
18
36
18
11
Доп-но
сигналы
11
14
№ ножки
Разъём CN4 - входные
Доп-но
сигналы
4
11
№ ножки
Разъём CN4 - входные
Доп-но
Com 1-16
сигналы
18
11
№ ножки
Разъём CN4 - входные
Com 1-16
18
Com 1-16
18
+24V
GND
Доп-но
9
Разъём X9
10
12
Робот 4
11
№ ножки
Доп-но
Vin 1-16
Com 1-16
сигналы
№ ножки
Разъём CN2 - выходные
36
18
11
Доп-но
Com 1-16
сигналы
18
11
№ ножки
Разъём CN4 - входные
Рис. 5.15. Пример соединения контроллеров роботов Kawasaki для непосредственной связи между ними
89

P
2020
P
2040
P
2060
R4
P
3
2020
R3
P
2
2040
R2
P
1
2060
R1
Рис. 5.16. Условные обозначения синхросигналов
при непосредственном обмене синхроимпульсами
Реализация конечного автомата рабочей зоны 2060
на роботе R2: на роботе R1:
а) б)
2060 2060
R2
2060=TRUE
2
P
2060
1
P
2060
R1
2060=FALSE
2060 2060
R2
2060=FALSE
2
P
2060
1
P
2060
R1
2060=TRUE
Рис. 5.17. Конечные автоматы общей области 2060 на роботах R2 и R1
реализация конечного автомата рабочей зоны 2060
на роботе R2: на роботе R1:
а)
pulse 5,1
signal -2060
2060 2060
R2
swait 14
signal 2060
2060=TRUE
Рис. 5.18. Конечные автоматы состояния общей области 2060,
2
;(P
)
2060
1
)
;(P
2060
2060=FALSE
R1
б)
2060 2060
R2
2060=FALSE
с программными командами
90
swait 11
signal 2060
pulse 11,1
signal -2060
2
;(P
2060
R1
1
;(P )
2060
2060=TRUE
)
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
