Учебное пособие 1942
.pdfend;
procedure TForm1.Button1Click(Sender: TObject); label 1,2;
begin
x0:=50; y0:=360; H:=1; l:=0.2; {Параметры тележки}
{Начальные и конечные координаты, ширина допустимой зоны}
KX0:=2; KY0:=2; KXt:=14.3; KYt:=7.8; d:=0.4; t1:=abs((KXt-KX0)/1);
if t1<=0 then t1:=5; b21:=0; b22:=0; b23:=0;
{ Задание координат препятствий } xp[1,1]:=0; xp[2,1]:=1.5; xp[1,2]:=1.5; xp[2,2]:=4; yp[1,1]:=5; yp[2,1]:=11; yp[1,2]:=6; yp[2,2]:=11; xp[1,3]:=5; xp[2,3]:=8; xp[1,4]:=8; xp[2,4]:=11;
yp[1,3]:=0; yp[2,3]:=3.5; yp[1,4]:=0; yp[2,4]:=6.5; xp[1,5]:=11; xp[2,5]:=18; xp[1,6]:=4; xp[2,6]:=20; yp[1,5]:=0; yp[2,5]:=3; yp[1,6]:=9; yp[2,6]:=11; xp[1,7]:=16; xp[2,7]:=20;
yp[1,7]:=6; yp[2,7]:=9;
{Расчет относительных координат препятствий и достижимой зоны} for i:=1 to 2 do
begin
251
for j:=1 to 8 do begin
xn[i,j]:=x0+trunc(xp[i,j]*25); yn[i,j]:=y0-trunc(yp[i,j]*25); xz[1,j]:=x0+trunc((xp[1,j]-d)*25); yz[1,j]:=y0-trunc((yp[1,j]-d)*25); xz[2,j]:=x0+trunc((xp[2,j]+d)*25); yz[2,j]:=y0-trunc((yp[2,j]+d)*25);
if xz[1,j]<x0 then xz[1,j]:=x0; if xz[2,j]<x0 then xz[2,j]:=x0;
if yz[1,j]>y0 then yz[1,j]:=y0; if yz[2,j]>y0 then yz[2,j]:=y0;
end;
end;
1: t:=0; P:=KY0; f:=0; Q:=KX0+(KXt-KX0)*t/t1+l*cos(f);
f0:=arctan((KYt-KY0)/(KXt-KX0)); {Определение начального} if (Q>8) and (Q<10.5) then f0:=0; {значения курсового угла f }
repeat |
|
f:=f0+f1(t,b21,b22,b23); |
{Определение курсового угла f } |
if f>1 then f:=1; if f<-1 then f:=-1; z:=(1+sqr(t)+sqr(t*t)+sqr(t*t*t)); Q:=KX0+(KXt-KX0)*t/t1+l*cos(f); {Определение координаты Х}
252
P:=P+((KXt-KX0)*0.01/t1)*(sin(f)/cos(f)); |
{Определение Y} |
if (Q>6) and (p>7.75) then begin |
|
p:=7.75; f:=0; |
|
end; |
|
if (Q>11) and (P<4.5) then begin |
|
p:=4.5; f:=0; |
|
end; |
|
if (Q>16) and (P<1.5) then begin |
|
p:=1.5; f:=0; |
|
end; |
|
{Определение параметров Е и А} |
|
if (q>0) and (q<=1.5+d) then begin |
|
e:=(5-d)/2; a:=(5-d)/2; |
|
end; |
|
if (q>1.5+d) and (q<=4+d) then begin |
|
e:=(6-d)/2; a:=(6-d)/2; |
|
end; |
|
if (q>4+d) and (q<=5-d) then begin |
|
e:=(9-d)/2; a:=(9-d)/2; |
|
end; |
|
if (q>5-d) and (q<=8-d) then begin |
|
e:=2.75-d; a:=6.25; |
|
253
end;
if (q>8-d) and (q<=11+d) then begin e:=1.25-d; a:=7.75;
end;
if (q>11+d) and (q<=16-d) then begin e:=3-d; a:=6;
end;
if (q>16-d) and (q<=18+d) then begin e:=1.5-d;a:=4.5;
end;
{Определение знака выражения Q-A} if abs(p-A)>E then begin
k:=1;
if (p-A<0) then k:=-1;
{Корректировка параметров уравнения для курсового угла} b22:=b22-((p-A)-0.999*E*k)*t*t/z;
b23:=b23-((p-A)-0.999*E*k)*t*t*t/z;
goto 1; end; t:=t+0.01; i:=i+1;
until (Abs(q-Kxt)<0.4) and (Abs(p-Kyt)<0.4);
254
{Вывод параметров уравнения для курсового угла} begin
Edit1.text:=FloatToStr(b22);
Edit2.text:=FloatToStr(b23);
end;
end;
255
7.ЛОГИЧЕСКОЕ УПРАВЛЕНИЕ СЛОЖНОЙ РОБОТОТЕХНИЧЕСКОЙ СИСТЕМОЙ
7.1. Понятие сложной системы
Любая технологическая операция, в которой участвует робот, нуждается не только в манипуляторе как исполнительном механизме робота, но и в дополнительном оборудовании. Компонентами такого оборудования могут быть, например, сборочные приспособления, станки, прессы, конвейеры, ориентирующие устройства и т. д.
Робототехническая система может включать несколько манипуляторов, активное технологическое оборудование (т.е. оборудование, которым можно управлять, получая информацию о результате примененного управления). Кроме того, в состав робота может входить система
256
очувствления, обеспечивая тем самым адаптивные свойства робототехнической системы. Общая схема такой системы приведена на рис. 7.1.
Оператор |
|
|
|
Адаптивный робот |
Технологическое |
|
|
|
|
|
оборудование |
Сис |
|
|
тема |
Манипулятор |
|
|
|
Внешняя |
|
|
среда |
Система очувствления |
|
Рис. 7.1. Состав адаптивной робототехнической системы
В отношении любой технической системы можно сформулировать множество заданий, которые она может выполнить. Например, задание «Перенести деталь Р из точки А в точку В» может быть выполнено одним роботом (либо конвейером) и не требует участия в нем дополни-
257
тельных систем. Однако можно привести примеры заданий, в выполнении которых должно участвовать несколько систем. В этом случае задание декомпозируется на подзадания, каждое из которых должно быть выполнено некоторой подсистемой.
Так, например, если усложнить предыдущее задание следующим образом: «Перенести деталь Р из точки А в точку В, проверить правильность ее установки в точке В и, если деталь установлена правильно, запрессовать», то по меньшей мере три технические системы должны участвовать в его выполнении: робот — операция переноса, система технического зрения (СТЗ)
— анализ сцены, пресс — операция запрессовки.
Действия всех трех систем должны быть скоординированы: после окончания транспортной операции робот может исполнять другое задание, СТЗ начинает операцию контроля только после того, как манипулятор положит деталь в точку В и покинет поле зрения камеры, команда на запрессовку должна быть подана только после того, как СТЗ подтвердила правильность положения детали. Кроме того, может возникнуть множество ошибок, связанных, например, с неправильной установкой детали (и тогда робот должен попытаться переустановить ее), а также возникших в процессе переноса и т.д.
Дадим теперь более точное определение сложным робототехническим системам (СРС). Пусть задание Т представлено множеством подзаданий ti:
Т = {t1, t2 ,..., tm}. |
(7.1) |
Введем отношение следования F на множестве Т, тогда ti Ftj означает, что задание tj может быть выполнено только при условии выполнения ti. Если такая структуризация задания Т
258
проведена, то можно построить описывающий Т ориентированный граф |
|
G = ( Т, A ), |
(7.2) |
где Т = {ti} — множество вершин графа G; |
|
А = {аi} Т Т — множество направленных дуг. |
|
При этом дуга а А соединяет ti с tj тогда и только тогда, когда ti Ftj . Такое разбиение задания широко используют в методах теории искусственного интеллекта и при построении моделей в задаче оперативного управления гибкими производственными системами.
Пусть система S состоит из подсистем Si (далее называемых локальными системами, или
терминалами): |
|
S ={S1, S2,..., SN }, |
(7.3) |
при этом Тi T* — задание, выполняемое системой Si. Тогда систему |
|
CS=(S, T) |
(7.4) |
будем называть T-сложной системой (далее — сложной системой), если выполнены следующие условия:
N
C1: Ti=T ; |
(7.5) |
i =1 |
|
С2: G — связный граф. |
(7.6) |
259
Условия С1, С2 интерпретируются следующим образом.
С1: сложная система представляет собой набор подсистем, которые в состоянии выполнить задание Т.
С2: действия всех подсистем, входящих в состав сложной системы, должны координироваться в процессе выполнения задания. Координация в данном случае — обмен данными (или командами) между подсистемами.
Если одна из подсистем Si S является роботом, то такую сложную систему будем называть СРС. Сделаем теперь несколько замечаний по поводу приведенного определения сложной системы.
1.Сложная система рассматривается только совместно с заданием, которое система исполняет. Следовательно, один и тот же набор технических систем может быть либо сложной системой (в смысле введенного определения), либо нет — в зависимости от выполняемого системой задания и способа его декомпозиции по подсистемам.
2.Данное определение является рекурсивным в том смысле, что сложная система может быть компонентой другой сложной системы, что позволяет единообразно использовать описанный далее способ управления иерархически построенными сложными системами.
3.Понятие СРС можно ввести и с помощью сетей Петри, интерпретируя позиции как выполнение подзаданий (или как ресурс), а обрамляющие их переходы — как начало и конец исполнения соответствующих подзаданий.
Пусть задание Т состоит из трех подзаданий Т = {t1, t2, t3} (рис. 7.2, a), где t1 означает собрать узел А; t2 — узел В; t3 — деталь С = А + В. Система S состоит из двух подсистем S = {R1,
R2} (рис. 7.2, б), где задания T1 и T2 для роботов R1 и R2 имеют вид T1={t1, t3}, T2={t2, t3}, т.е. ро-
260