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

Учебное пособие 1942

.pdf
Скачиваний:
14
Добавлен:
30.04.2022
Размер:
3.06 Mб
Скачать

end;

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