Documente Academic
Documente Profesional
Documente Cultură
2)
3)
corespunztoare ;
4)
Surs
primar
Energie primar
Convertor
(motor)
Energie mecanic
Sistem de
transmisie
Sistem de
control
ROBOT
Figura 3.1
principal
al
acestor
acionri
este
greutatea
(3.1)
(3.2)
U = R I + Ec
(3.3)
Ec = k
(3.4)
Th
L
Th
Th
b .)
a .)
Fig ura 3.5
(3.5)
iar
E c = k '
(3.6)
M = k1 I
(3.7)
U
R
2 M
k1 k1
(3.8)
M = k I
(3.9)
U = k + RI
(3.10)
U
RM
k (k ) 2
(3.11)
Ie
ue
Re
Le
Ec
Figura 3.2
di (t )
+ k (t )
dt
(3.12)
d (t )
+ k f + M f + M s
dt
(3.13)
d (t )
+ kf + M f + Ms
dt
(3.14)
MM0
M=M0
U2>U1
U1
M
Figura 3.3
(3.15)
k I ( s) = ( J s + k f ) (s ) + M f ( s) + M s (s)
(3.16)
( M f ( s ) + M s ( s )) ( R + Ls )
k U ( s)
(3.17)
k 2 + ( R + L s )(k f + J s ) k 2 + ( R + L s )(k f + J s )
Y (s ) =
(s )
U (s )
) (
LJs + RJ + Lk f s + Rk f + k 2
(3.18)
sau
Y (s ) =
(3.19)
1 + 2s + 2 s 2
unde
A=
k
Rkf + k2
; 2 =
RJ + Lkf
LJ
;
2
=
Rkf + k2
Rkf + k2
(3.20)
A
(1 + e s ) (1 + m s )
(3.21)
e =
L
R
1
J (s )
R + Ls
1
Js + k f
(s )
Figura 3.4
iar, m constanta de timp electro-mecanic ,
m =
RJ
k2
(3.22)
u.
Th2
+
t
Ud
Th1
M
us
t
L
Th3
id
Th4
Id
a)
b)
Figura 3.5
L
i
figura 3.6
(3.24)
Ti
T
(3.25)
Figura 3.7
u
E
UCC
i
t
Ti
T
a.)
b.)
Figura 3.8
i tensiunilor de
CS1
E
D2
L
+
D1
CS2
M
Frn
Motor
b.)
a.)
Figura 3.9
d1
D3
CS3
CS1
+
E
u2
u2
d2
D
CS2
CS4
Figura 3.10
1
I
N
4
3
I
Figura 3.11
a.)
b.)
Figura 3.12
Figura 3.13
u1
u2
u3
u4
t
t
t
t
t
t
t
t
b
a
u1
u2
u3
u4
t
t
t
t
c
Figura 3.14
tM
unde t M este timpul
4
Circuit
distribuitor
Control1
Bloc
contactor
static
fd
F2
MPP
Fn
Generator de
tact
Control2
Figura 3.15
A = Q1
B = Q0 Q 1 + Q 0 Q1
C = Q1
D = Q 0 Q 1 + Q0 Q1
Q0 Q1 Q0 Q1Q0 Q1 Q0 Q1
A B
C D
Decodificator
Q0
t
T= M
4
J
K
Q1
J
K
CK
fd
CK
a
Q0
N
Q1
A
B
CK
fd
Figura 3.16
Frecvena de tact este, la rotaia nominal a motorului, constanta i
obinut prin circuite oscilatoare de uz general. Pentru regimurile de
accelerare se impune, in scopul eliminrii fenomenului de pierdere al
pailor, pornirea generatorului de la frecvene joase si creterea gradat a
frecvenei pn se atinge frecvena de regim dorit. O procedur similar
de la procesor (Nv)
P2
GT1
CK
LOAD
P1
ud
N v1
uT1
ud
spre distribuitor
N v1
Ts
N v1
N v2
Ts
t
Td1
figura 3.17
Td1
Td 2
1
Nv
timp minim;
3)
Faza 1
R1
+E
T1
De la
distribuito
T2
R2
D1
R3
Figura 3.18
E
m
1 e
i (t ) =
Rm + R0
(3.26)
m =
L
R m + R0
(3.27)
I(t)
E
Rm
L, Rm
+
E
-
K
Comutator
ideal (R=0)
t f1
Figura 3.19
valoare ce
(3.28)
nu satisface ntotdeauna cerinele
m/ =
L
R m + R0 + R
(3.29)
Faza 1
R1
D1
2
Faza 2
R2
D2
Faza n
n
Dn
Rn
+E
T
Bloc control
Figura 3.20
Observatie: In acest modul sunt reluate unele din notiunile pe care leam intalnit in capitolul de actionari electrice in mecatronica, partea I.
SISTEME DE CONDUCERE
CU MULTIPROCESOR
Complexitatea structurilor mecanice ntr-o serie de roboi industriali, a sistemelor
senzoriale precum i gradul ridicat de dificultate al operaiilor tehnologice conexe necesit
sisteme de conducere cu rezerve hardware i software suficiente, care s acopere cerinele impuse
de regimurile specifice n care opereaz aceste sisteme. Una din soluiile cele mai curent utilizate
n aceast direcie const n implementarea sistemului de conducere pe o structur bazat pe
microprocesoare.
Microprocesorul acoper relativ uor cerinele specificate mai sus i asigur n acelai timp
o flexibilitate deosebit a domeniului de utilizare, o fiabilitate ridicat i, nu n ultimul rnd, o
soluie economic n general unanim acceptabil.
Principii generale
Caracteristica de baz a unui sistem robotic este micarea robotului n cicluri
reprogramabile i capacitatea acestuia de a schimba, modifica, traiectoria i punctele eseniale ale
acesteia n conformitate cu modificarea cerinelor de operare. Aceasta presupune existena unor
sisteme de conducere flexibile care s asigure generarea unor legi de conducere adecvate si
modificarea acestora cnd este cazul. Implementarea lor necesit fie existena unui sistem de
programare, cu programe realizate off-line, fie a unui sistem de instruire specific. n ambele
cazuri va fi necesar introducerea unei memorii care s asigure informaia de control
corespunztoare.
Deci, aceste sisteme trebuie s fie dotate cu o memorie de dimensiuni adecvate i cu o
structur hardware i software de control a acesteia.
Roboii generaiilor recente sunt dotai cu structuri ierarhizate de conducere ceea ce asigur
o comportare adecvat la schimbrile mediului de lucru. Aceasta impune fie existena unui
calculator puternic care s acopere ntregul sistem de conducere, fie a unor procesoare
specializate ataate fiecrui nivel ierarhic. Ultima soluie este de cele mai multe ori preferabil,
att n ceea ce privete flexibilitatea de ansamblu a configuraiei, ct i sub raport economic.
Roboii actuali au n general un cmp de aplicaie bine conturat, acesta fiind definit de
structura mecanic existent i, n special, de specificul sistemului de calcul i al programelor
utilizate. Astfel, un robot destinat unor operaii de vopsire trebuie s fie echipat cu un sistem
hardware - software care s-i permit programarea prin instruire a traiectoriilor de micare, pe
cnd un robot utilizat n operaii de asamblare cuprinde un sistem de msurare i senzorial de
nalt calitate pentru a asigura conducerea compliant adecvat.
Structura de baz
Soluiile hardware implicate n orice sistem de conducere cu micrprocesor pot fi grupate n
dou clase mari: arhitecturi microprocesor i arhitecturi multiprocesor.
MICROPROCESOR
MEMORIE
RAM-EPROM
INTERFA MEMORIE
MAGNETIC
TABLOU
INSTRUIRE
INTERFA
OPERATOR
INTERFEE I/O
INTERFA MEMORIE
MAGNETIC
INTERFA MEMORIE
MAGNETIC
INTERFA MEMORIE
MAGNETIC
Figura 10.1
A doua categorie de sisteme, cele de tip multiprocesor, corespund unor arhitecturi mai
avansate, adecvate unei conduceri evoluate a roboilor.
n figura 10.2 este prezentat o astfel de structur bazat pe o ierarhizare master slave a
procesoarelor. Procesorul master slave stabilete legile generale de conducere a robotului,
strategia de funcionare a acestuia i mparte fiecrui procesor sclav sarcinile n conducerea
fiecrui element. Astfel, un procesor sclav coordoneaz funciile tactile ale minii, iar celelalte
controleaz micarea asociat fiecrei articulaii mecanice pe baza informaiilor primite de la
traductoarele i senzorii sistemului.
MAGISTRAL COMUN
MASTER
TERMINAL
OPERATOR
SLAVE 1
SLAVE 2
INTERTAA 1
SLAVE 3
INTERTAA 2
INTERTAA 3
TERMINAL
GRAFIC
MEMORIE
EXTERN
Traductoare
senzori for
Senzori deplasare
Acionare
terminal
Senzori deplasare
Acionare
articulaie
Acionare
articulaie
Figura 10.2
Pe lng caracteristicile menionate mai sus, un astfel de sistem mai cuprinde i numeroase
avantaje cum ar fi: suplee tehnologic, posibilitatea interconectrii unor subsisteme de conducere
specializat, testabilitate facil etc.
mrimilor de tip analogic asigurnd n acest fel caracteristicile necesare prelucrrii numerice
ulterioare,
qi = q(iT ) = q(t )
t = iT
i = 0,1,2.......
(10.1)
q d (t)
EANTIONARE I
CALCULLUL ERORII
ei
CONTROLER
NUMERIC
ui
EXTRAPOLATOR
u (t)
q (t)
ROBOT
Figura 10.3
Eroarea sistemului de conducere se determin din semnalele astfel formate:
ei = qdi qi
(10.2)
ui = G (ei )
(10.3)
u (t ) = ui
pentru iT t (i + 1)T
(10.4)
qd
(s)
e (s)
Y R (s)
qd
(s)
u
(s)
u (s)
e (s)
Y SA (s)
u (z)
Y R (s)
Kf
s(s + a)
q (s)
YROB (S)
q (s)
Figura 10.4
ii)
Se alege perioada de eantionare T a sistemului discretizat. Aceast alegere este
determinat att din raiuni de implementare tehnologic ct i, n special, din consideraii
privind pstrarea performanelor staionare i dinamice sau altfel spus, pstrarea rspunsului
la impuls i n frecven al noului sistem discretizat.
Prima condiie implic practic determinarea uunei anumite lungimi a cuvntului i deci este
corelat direct cu arhitectura sistemului de calcul, cu resursele hardware disponibile. Asupra
acestui aspect se va reveni ulterior.
Respectarea celei de a doua condiii implic satisfacerea unor restricii legate de
constantele de timp sau frecvenele critice ale sistemului condus.
f s 10 f b
unde
fs =
1
T
(10.5)
T 0,1 Tfi
(10.6)
unde T fi sunt constantele de timp principale ale prii fixe, sau [82],
{ }
T 0,5 min T fi
n care min { T fi } este cea mai mic constant de timp a elementelor mecanice.
1
1
T ....
5 2,5
T f pricipal
(10.7)
Toate aceste criterii mai mult sau mai puin empirice permit alegerea unei perioade de
eantionare T ntr-o prim etap. Se impune ulterior verificarea corectitudinii acestei selecii
printr-o analiz riguroas a implicaiilor introduse n comportarea sistemului de conducere.
Plecnd de la premisa c regulatorul i elementele de comparaie alanogic sunt
implementate corect sub raportul performanelor prin controlerul numeric i blocurile de
eantionare i de calcul al erorii (fig. 10.9.), diferenierile ntre cele dou structuri de conducere,
cea continu i cea discret sunt date de blocul de extrapolare. Se impune, deci, verificarea
gradului de alterare al performanelor prin ntrzierile introduse de extrapolare.
q d (s)
e (s)
u (s)
u (s)
Y R (s)
Y EX (s)
q (s)
Kf
s(s + a)
Figura 10.5
n practic, se analizeaz stabilitatea unui sistem de conducere de forma prezentat in
figura 10.5 n care s-a intercalat un bloc de extrapolare.
Tehnica curent utilizat const n trasarea locului rdcinilor pentru noul sistem de
conducere n circuit nchis i verificarea regimurilor stabile pentru o funcie de transfer YEx ( s) a
extrapolarului.
De exemplu, dac se consider un extrapolar de ordin zero, atunci
YEx (s ) =
1 e sT
s
(10.8)
(10.9)
Y1 (z ) = Z YEx (s )
s(s + a )
(10.10)
e( z ) = Z {e(s )}
(10.11)
q (z ) = Z {q(s )}
se obine forma discret a sistemului de conducere (figura 10.6).
n aceast prezentare, funcia de transfer YR ( z ) are forma general,
YR ( z ) =
a1 + a2 z 1 + .... + ak z k
1 + b1 z 1 + .... + bn z n
kn
(10.12)
u (z ) a1 + a2 z 1 + .... + ak z k
=
e( z ) 1 + b1 z 1 + .... + bn z n
(10.13)
v)
Se adopt o soluie hardware pentru ntregul sistem de conducere. Se
implementeaz prin software-ul procesorului algoritmul (10.13).
qd
(z)
e (z)
q (z)
u (z)
Y R (z)
Y 1 (z)
Figura 10.6
n figura 10.7 este prezentat structura general a sistemului de conducere. n afara
elementelor discutate se remarc prezena unui convertor analog-numeric ce realizeaz
eantionarea i cuantificarea mrimilor de reacie q (t ) . S-a constatat, de asemenea, c valorile
prescrise qd (t ) sunt introduse direct n forma discret q d (iT ) .
PROCESOR
q d (iT)
e (iT)
CALCULUL ERORII
u (iT)
ALGORITMUL (10.13)
EXTRAPOLATOR
u (iT)
q (iT)
q (t)
CONVERTOR A/N
ROBOT
Figura 10.7
Pentru exemplicarea procedurii se va aborda sistemul de conducere al unei articulaii de
rotaie descris prin funcia de transfer (inclusiv acionarea).
Y f (s) =
10
s ( s + 2.67)
(10.14)
(10.15)
E1 0.02
(10.16)
Lrgimea de band
f b 50 Hz
(10.17)
YR ( s ) = 252.3
( s + 3.64)
( s + 71.07 )
(10.18)
f =
1
= 0.37 s
2.67
2
2
T
=
=
2 s + 100
sT
1+
s+
2
T
Y (s) =
5064( s + 3.64)
s( s + 71.07 )( s + 2.67)( S + 100)
Y ( s ) =
( s + 3.64)
s ( s + 71.07)( s + 2.67)( s + 100)
n figura 10.8 sunt prezentate comparativ locul rdcinilor pentru cazul prezenei
extrapolarului n funcia de transfer n circuit deschis i n cazul eliminrii acestuia. Este evident
nrutirea stabilitii datorit ntrzierii introdus de extrapolator dar se observ uor c ramura
critic determinat de cei doi poli p0 = 0 i p1 = 2.67 determin instabilitate pentru un factor
general de amplificare k = 10.000 > 5046 (punctele M si N). Se poate aprecia deci c
eantionarea cu perioada T = 0.02 s nu afecteaz stabilitatea sistemului de conducere.
n continuare se determin funcia de transfer discret a regulatorului. Tinnd cont de
forma acesteia (10.18) se poate utiliza metoda transformrii directe [119] astfel nct:
YR ( z ) =
( s + a j )
(s + b j )
(10.19)
unde:
k=
lim YR ( s)
S O
(10.20)
lim YR ( s)
S 1
YR ( z ) = k
1 z 1e 3.64T
1 z 1e 71.07T
YR ( z ) = k
z 0.9297
z 0.2414
3.64
71.07 = 139.42
k=
1 0.9297
1 0.2414
252.3
Deci :
YR ( z ) = 139.42
z 0.9297
1 0.2414
(10.21)
sau
u( z)
1 0.9297 z 1
= 139.42
e( z )
1 0.2414 z 1
Trecnd n domeniul discret se obine:
ui = 0.2414 ui 1 + 139.42 ei 129.24 ei 1
(10.22)
wi =
rezult:
1
ui
256
Plan S
Plan S
Z1=-3,64
P2=-71,07
-38
Figura 10.8
P3=-100
P1=-2,67
M
(k=10000)
-3,64
P0=0
N
(k=10000)
-71,07
-38
-2,67
(10.23)
wi =
0 .2414
139 .42
129 . 24
u i 1 +
ei
e i 1
256
256
256
(10.24)
Structura general de implementare poate fi urmrit n figura 10.9. Multiplicarea prin 256
solicitat este usor i rapid realizat prin software-ul procesorului.
PROCESOR
q di
(q
di
q im
ei
ECUAIA (10.24)
wi
x 256
ui
EXPLORATOR
u i*
ROBOT
q i*
ECUAIA (10.24)
q (t )
Figura 10.9
q p +1 = q p + 2 = ............... = 1
(10.25)
qd*
1
t
*
2T
3T
4T
1
q2
q1*
6T
7T
..
q5*
t
2T
q4*
q3*
5T
3T
4T
5T
6T
7T
8T
9T ..
Figura 10.10
Relaia (10.25) poate fi rescris sub forma:
q ( z 1 ) = q 1 z 1 + q 2 z 2 + ..... + q p z p +
z ( p +1)
1 z 1
(10.26)
sau:
q ( z 1 ) =
q 1 z 1 + (q 2 q *1 ) z 2 + ..... + (q p q * p 1 ) z p + (1 q * p ) z ( p +1)
1 z 1
(10.27)
(10.28)
1 z 1
este :
qd ( z 1 ) = Y0 ( z 1 )
1
1 z 1
(10.29)
Comparnd relaiile (10.27) i (10.29) rezult funcia de transfer n circuit nchis dorit:
Y0 ( z 1 ) = q 1 z 1 + (q 2 q *1 ) z 2 + ..... + (1 q p ) z (1+1)
(10.30)
Y0 ( z ) =
(10.31)
1 + YR ( z 1 )Y f ( z 1 )
kf
1 e Ts
s
s ( s + a)
(10.32)
kf
(10.33)
(1 z )(1 z 1e aT )
YR ( z 1 ) =
Y0 ( z 1 )
(10.34)
Y f ( z 1 )(1 Y0 ( z 1 ))
Pentru exemplificare, s considerm c evoluia dorit a semnalului de ieire este dat prin
valorile:
q1 = q 2 = 0;
q 5 = 0.8;
q 3 = 0.28;
q 6 = 1;
q 4 = 0.6;
q 7 = 1;......... ....
Primele dou valori nule se datoreaz timpului mort apreciat la acest sistem:
2T
Utiliznd aceleai valori ca i n aplicaia precedent, pentru T=0.02s din (10.32) rezult :
YR ( z ) =
q nCAN =
smax
smin
(10.35)
deci
nCAN = log 2
smax
smin
(10.36)
1
;
0.01
nCAN = 7 + 1 = 8
n figura 10.11.a este prezentat schema general a unui astfel de convertor precum i
semnalele principale aferente acestuia.
Ponderea bitului cel puin semnificativ LSB este :
1 LSB =
2
= 7.812 mV
28
Iesire
0.11111
Intrare
CS
START
ST
D7 D6
CA
N
2
1
3,906 = LSB
- 2
D0
1V 1LSB
Intrare
1
+ 3,906mV = LSB
2
1.00000
Figura 10.11
Funcionarea convertorului este realizat prin aplicarea unor semnale de control.
Amorsarea mecanismului conversiei se obine prin semnalul START conversie. Conversia
propiu-zis este realizat sub controlul unui semnal de tact ce permite prin tehnici specifice
(aproximaii succesive) secvenierea procesului.
Starea operaiei de conversie este accesibil utilizatorului sub forma semnalului ST care
devine 1 logic la nceperea conversiei i se anuleaz odat cu terminarea ei. Ieirea digital se
obine dup acest interval de timp (tc) de ordinul 15 s la convertoarele rapide. Captarea acestei
informaii se realizeaz prin activarea semnalului CS care aduce n regim de transparen prile
de ieire tri-state ale convertorului.
Intrare analogica
A15
Magist D
A0 rala
P2
A0
A1
MEMR
CS
START CONVERTOR A/N
ST
A1
A0
UC
A1
A0
D7
D6
D5
D4
D3
D2
D1
D0
D7 D6
P4
D0
P1
Figura 10.12
O astfel de soluie este prezentat n figura 10.12. S-a utilizat un procesor cu 16 linii de
adres, convertorul fiind cuplat n spaiul de adresare rezervat paginii FD din memorie. Semnalele
CS, START i controlul porii P1 de acces al strii ST se obin prin adresele FD00, FD01, FD02.
Ieirile D7D0 sunt legate la magistrala de date a microprocesorului i pot deveni
accesibile la formarea semnalului CS (adresa FD00 prin poarta P1). Testarea strii convertorului
se realizeaz prin deschiderea porii P1 i transferarea coninutului semnalului de stare ST pe linia
D7 (adresa FD02 prin poarta P4). Activarea tuturor porilor este condiionat de decodificarea
paginii de adrese FD n decodificatorul D i executarea de ctre UC a operaiei de citire din
memorie (MERM=1).
De exemplu, utiliznd instruciunile specifice microprocesorului 8080, programul de
achiziie este urmtorul :
NRX:
NRA:
TEST
DW
DW
LDA
MVI
0001H;
00FDH;
NRA+1;
AOFFH;
MOV
RAL
JNC
JMP
DATA LDA
STA
DATA;
TEST;
NRA;
NRX;
n unele cazuri, n locul testului efectuat asupra bitului de stare se prefer realizarea unei
ntrzieri software de 25 s dup care se transfer rezultatul conversiei .
LDA
MVI
MVI
MVI
MVI
MVI
MVI
MVI
MVI
LDA
STA
NRA+1;
A,0;
A,0;
A,0;
A,0;
A,0;
A,0;
A,0;
A,0;
NRA;
NRX;
YR ( z ) =
a z
i =0
n
i + bj z
j =0
(10.37)
j
unde coeficientii ai, bj sunt mrimi cuantificate, exprimate ntr-un cod numeric.
S presupunem c n bii sunt utilizai pentru reprezentarea acestor coeficieni. n acest caz,
utilizarea unui cuvnt de lungime impus n poate determina o reprezentare eronat. Fie
ai = ai + i
(10.38)
b*i = bi + i
(10.39)
= 2 n +1
Din figura 10.11 se obine imediat condiia:
i
2
deci
(10.40)
i 2 n
(10.41)
i 2 n
YR ( z ) =
*
z i
i =0
(10.42)
1+ b z
*
j
j =0
Funcia astfel obinut difer cantitativ de cea iniial i acest lucru poate duce la
modificri substaniale n comportarea n frecven a sistemului i implicit la schimbarea
caracteristicilor de lucru . Pentru aprecierea, de exemplu, a efectelor asupra stabilitii sistemului
se pot analiza modificrile survenite n polii funciei de transfer. n [32] se arat c polii pi se
deplaseaz la pi + pi conform relaiei:
p i =
j =i
p ij +1
p
1 i
pr
i =1
m j
(10.43)
Este evident c n condiiile plasrii unor poli n apropierea cercului unitate n planul Z
deplasarea polilor poate fi suficient de pronunat pentru a determina o instabilitate a sistemului.
Este interesant de precizat care este numrul minim de bii care menine stabilitatea
sistemului. n [32] se arat c dac perioada de eantionare este T i funcia de transfer are m poli
distinci, stabilitatea este garantat dac:
5 m m
n > INTREG log 2 m + 2 z r T
r =1
(10.44)
z e 3,64T
YR ( z ) = k
z e 71,07T
cu T=0,02s. Exist un singur pol z1 = e-71,07T deci relaia (10.44) devine
Deci o lungime de cuvnt de 4 bii este suficient pentru asigurarea condiiei de stabilitate
numeric.
Tinnd cont de acest rezultat i avnd n vedere c s-a obinut o lungime de cuvnt de 8 bii
pentru convertorul analog-numeric, se poate considera ca un microprocesor de 8 bii acoper n
totalitate cerinele de implementare numeric a sistemului de conducere.
NRF:
NRP:
DW
DW
LDA
SUI
STANRF
0004H;
0006H;
NRQ;
NRX
CONT:
IMPR1:
IMPR2:
CALC:
INCORECT:
CORECT:
wi = c1u i 1 + c 2 ei + c3 ei 1
(10.45)
u i = 256 wi
(10.46)
C1 : DB 4H
C2 : DB 83H
C3 : DB 4AH
Relaia (10.45) poate fi rescris pentru o implementare numeric sub forma:
W 2 = P1 * U 1 + P 2 * E 2 + P3 * E1
(10.47)
U 1 : DB 00H
E1 : DB 00H
Generarea mrimii W2 se obine dup trei operaii de nmulire i dou de adunare.
Operatia de nmultire se va realiza dup algoritmul clasic de nmulire al numerelor
subunitare exprimate n complement fa de 2[32,120]. n acest scop se definete o
microinstruciune specific MULT.
MULT MACRO P, U, Z
unde P este un parametru ce exprim coeficienii utilizati in (10.47) iar U reprezint
variabila asociat fiecrui termen. Rezultatul fiecrui produs este desemnat prin Z:
U: DW 2200H
P: DW 3000H
Z; DW 2000H
Se iniializeaz registrele:
MOV
B, U
MOV
P, C1
MOV
C, P
MVI D, 07H
START: MOV
A, B;
SE TESTEAZ BITUL CEL MAI PUTIN
RAR;
SEMNIFICATIV AL LUI U
MOV
B, A;
MOV
A, H
JNC
ADR1;
ADD
C;
DAC ACEST BIT=1 SE ADUN C
ADR1: RLC;
RRC;
SE DEPLASEAZ LA DREAPTA CONINUTUL
RAR
REGISTRELOR
MOV
H, A;
MOV
A, L;
H SI L CONSIDERATE IN PRELUNGIRE SI
RAR
RESPECTND REGULA DEPLASRII
MOV
L, A
BITUL DE SEMN
DCR
D;
JNZ START;
MOV
A, B;
SE VERIFIC CONTINUTUL CONTOARULUI
RAR;
JNC FINAL; SE TESTEAZ BITUL CEL MAI SEMNIFICATIV
MOV
A, H;
SUI
U
DAC B7=1 SE SCADE DIN ULTIMA VALOARE NUMRUL
MOV
H, A
U
FINAL:
MOV
MOV
END
Z, H;
Z+1,H
M
REZULTATUL ESTE STOCAT IN Z
Produsul rezultat pe 16 bii n perechea de regitri h-l este stocat n adresele Z, Z+1.
ntruct fiecare factor este subunitar la aceast operatie nu apar riscurile unei depiri ale
capacitii registrelor. Operaia se repet pentru celalalte dou produse n mod similar modificnd
parametrii macroinstructiunii MULT.
Pentru implementarea operaiei de adunare este utilizat o procedur de tipul celei
prezentate n calculul erorii, nlocuind funcia de scdere cu cea de adunare si pstrnd aceleai
reguli de protejare al calculului n cazul depirii capacitii registrelor.
Generarea comenzii finale necesit de asemena multiplicarea rezultatului cu 256 (relaia
10.46). Operatia se poate obine simplu prin deplasarea virgulei cu 8 bii.
A15
A0
MEMW
D7
UC
D1
D0
CS
D0 D1 ... D7
U ref
CNA
u0
DATA
t
ts
CS
tpw
t
U0
t
b
Figura 10.13
Iniializarea conversiei este obtinut prin activarea bornei CS a convertorului, comanda
este obinut de obicei prin decodificarea adresei creia i este asociat convertorul i prin
generarea unuia din semnalele de control ale memoriei, de exemplu MEMW.
ADR
Acionare element 1
u0
Acionare element 2
DMUX
Acionare element n
CE
Figura 10.14
CNA:
DW
LDA
STA
FFOAH
Z
CNA
Controlul
evoluat
interfarii
microprocesor-robot
printr-un
limbaj
Tehnici intrare-ieire
Orice port al microprocesorului cuprinde un registru de date D i un registru de control al
sensului de propagare S. Registrul D memoreaz valorile achiziionate din exterior (port de
intrare) sau stocheaz datele nainte de emiterea lor n exterior (port de ieire).
Microprocesor
I
D0
eire
S0 = 0 : port intrare
S0 = 1 : port iesire
S0
Figura 10.15
n Basic, controlul portului ca port de intrare se poate realiza uor prin instruciunile
10 D = 56577 : S = 56579
20 POKE S ,0
S-a presupus c adresa registrului D este 56577 iar a registrului de control 56579.Similar,
utilizarea ca port de ieire se realizeaz prin
20 POKE S ,255
ceea ce inseamn ncrcarea registrului S cu valoarea (255)10 =(1111 1111)2,deci schimbarea
sensului de deplasare n porile liniilor de date (fig.10.15).
n multe situaii, complexitatea problemelor de control cere ca anumite linii de date s fie
utilizate pentru achiziie iar altele pentru generarea unor ieiri. n acest caz controlul va fi obinut
prin
20 POKE S ,15
unde s-a considerat c liniile D0-D3 opereaz ca ieiri iar D4-D7 ca intrri.
n general, numrul mare de variabile implicat n conducerea unui robot este incompatibil
cu posibilitile de interfaare direct intrare-ieire al unui microprocesor.Din acest motiv se
utilizeaz frecvent proceduri de extensie.O soluie larg utilizat este cea prezentat n figura
10.16.
......
Cartel
3
......
Cartel
2
......
Cartel
1
Cartel
de
baz
Magistral de date
Linii
selecie
Figura 10.16
7654321 0
Cartel
a de
iesiri
binare
(56833)
7654321 0
Cartel
a de
iesiri
binare
(56832)
Seleci
Magistrala
date interne
Magistrala
date interne
Seleci
Figura 10.17
n afara cartelelor pentru variabile binare, sistemul poate conine i cartele pentru
prelucrarea unor mrimi analogice. De exemplu, cartela pentru intrri continue din figura 10.18
este utilizat pentru achiziionarea semnalelor n gama 0-5 V furnizate de traductoarele de
msurare analogic ale poziiilor unghiulare.Cartela conine opt borne de conexiune deci poate
prelucra simultan opt mrimi.Dup o conversie analog-numeric pe opt bii (domeniul 0-255),
valoarea numeric rezultat este transmisa prin magistrala de date catre microprocesor.
Programarea cartelei se realizeaz n dou etape:
POKE 56834, nr. Canal (0 - 7)
PEEK 56834
Prima instruciune selecteaz un anumit canal analogic i lanseaz conversia A/N iar a
doua citete valoarea convertit anterior.
Iesire
continu
. . . . . .
7. 6 5 4 3 2 1 0
Cartela
pentru
iesiri
continue
56835
Cartela
pentru
intrari
continue
56834
Magistral
date interna
Selecie
Magistral
date
Selecie
Figura 10.18
Cartela pentru iesiri analogice formeaz un semnal continuu utilizat n reglarea motoarelor
de c.c. ale sistemelor de acionare.Conversia se realizeaz printr-o scar liniar, fiecarui bit
fiindu-i alocat 1 mV semnal continuu, deci semnalul maxim generat este de 2,56 V. De exemplu,
comanda unei tensiuni de 50 mV se realizeaz prin
POKE 56835.50
iar a unei tensiuni de 2 V
POKE 56835.200
P=
U
T1
ui
R2
R1
ui
R3
U
T1
(a)
(b)
Figura 10.19
255
1000T1
R
C
S
P0
P1
L1
L0
Th
M
Figura 10.20
Manipulatorul se deplaseaz pe orizontal pe o linie L printr-o acionare electric i ridic
sau coboar piesele printr-o acionare hidraulic. Temperatura cuvei este msurat cu un
termometru Th i poate fi controlat prin deschiderea unei conducte de vapori de ap V. Un
sistem de limitatoare P0, P1, L0, L1 permite controlul poziiei. Organigrama ntregului proces este
prezentat n figura 10.21.
Rezervarea variabilelor i cartelelor utilizate este urmtoarea :
B1
B2
B3
Interfaa de putere
B0
F1
1
0
F2
F3
Figura 10.21
Instruciunea 120 actualizeaz valoarea temperaturi TL care este convertit numeric n
gama 0-255 considernd c domeniul de temperatur 20-200 (al cuvei) este un domeniu liniar.
START
nchide C
T0
Deplasare D
Citete trad.
0
P1
Orice depl. D
Porn. melanj M
Desch vap V
Citete T
Conversie A/N
T0
nchide V
Coborre C
L1
Ridicare
Citete trad.
L0
Oprire ridicare
Depl. stnga
Citete trad.
Anclaare temp.
Citete
trad.
Oprire melanjor
M
1=G
b
a
P0 0
Oprire depl. S
STOP
Figura 10.22.a
Logica de control a fazelor Pondere binar Vectorul de control
0,2
F(0)=5
1,2
F(1)=6
1,3
F(2)=10
0,3
F(3)=9
Figura 10.22(b)
Pentru nceput se va lua n consideraie comanda simetric dubl a fazelor motorului
(figura 3.14.b).
n acest caz se poate defini un vector de alimentare al fazelor F=(F(0), F(1), F(2), F(3))
care va lua succesiv valorile 5, 6, 10, 9 (figura 10.22b). Microprocesorul va aciona bornele B0,
B1, B2, B3 ale interfeei de putere astfel nct s asigure valorile dorite ale fazelor F(I). Programul
corespunztor va fi urmtorul :
10
20
30
40
50
60
70
80
90
100
110
S=56579 : D=56577
DIM F(4)
FOR I=0 TO 3
READ F(I)
NEXT I
DATA 5,6,10,9
POKE S, 15
FOR I=0 TO 3
POKE D, F(I)
NEXT I
END
Instruciunile de mai sus genereaz alimentarea fazelor n ordinea solicitat far a asigura
sensul de deplasare sau al distanei parcurse. O variant imbuntait a programului, complet cu
elementele suplimentare de comand, este prezentat mai jos:
10
20
30
40
50
60
70
80
90
100
110
120
130
140
150
160
170
180
190
200
S=56579 : D=56577
DIM F(4)
FOR I=0 TO 3
READ F(I)
NEXT I
DATA 5,6,10,9
POKE S, 15
IF PEEK(D) AND 26 THEN 80
DI=DISTANA
SENS=SENS
V=VITEZA
V=256-V
IF SENS=1 THEN W=-1: ROT=1: GO TO 150
IF SENS=0 THEN W=0 :ROT=-1
FOR I=1 TO DI
W=W+ROT
POKE D, F(W AND3)
FOR J=1 TO V:NEXT J
NEXT I
END
Sensul de deplasare este o mrime binar cu valori 0,1 corespunznd rotaiei inverse sau
normale a motorului.
Instruciunea de vitez introduce o variabil V ce determin durata impulsurilor aplicate pe
fazele motorului. Aceast valoare se complementeaz n raport cu 256 (instruciunea 120) pentru
a asigura corelarea acestei valori cu viteza rezultat: durata mare a impulsurilor corespunde unor
viteze mici i invers. Instruciunea 180 formeaz efectiv semnalul n durat prin blocarea
avansului programului pn se atinge valoarea dorit.
Instruciunile 130 190 genereaz, n funcie de sensul impus, logica semnalelor ce
activeaz fazele motorului. n acest scop sunt introduse dou variabile W i ROT care, prin
instruciunea 170, determin valoarea vectorului F n fiecare secven. Pentru exemplificare se
vor considera cteva secvene de lucru.
a)
Sens pozitiv de rotaie (W=-1, ROT=1)
0,2
2
1,2
1
1,3
3
0,3
F(1)=5
F(2)=4
F(3)=6
F(4)=2
F(5)=10
F(6)=8
F(7)=9
Figura 10.23
Mpp
F3
Q3
D0
F2
Q2
SAA 1027
D1
F1
Q1
F0
Q0
+12V
Figura 10.24 (a)
Secv.
T1
Q0
1
Q1
0
Q2
0
Q3
1
T2
T3
1
0
0
1
1
1
0
0
T4
Figura 10.24.(b)
+12V
Z
Ls
y1
Lj
x1
y2
x2
X
Figura 10.25
n figura 10.25 este prezentat un segment al unei traiectorii de lucru. Robotul prinde o pies
n punctul A (nchide griperul), se ridic n punctul B, se deplaseaz pe axa Y pe distana
( y 2 y1 ) pn n punctul C, se deplaseaz pe axa X pe distana (x 2 x1 ) pn n punctul D,
coboar n E i depune piesa (deschide griperul).
Deplasrile pe axele X i Y se obin prin controlul numrului de impulsuri aplicat
motoarelor p.p.,
x 2 x1 = N1 impulsuri
y2 - y1 = N 2 impulsuri
iar deplasarea pe axa Z este restricionat de limitatoarele de jos Lj i Ls.
n tabelul 10.1 este prezentat rezervarea variabilelor. Porturile cu adresele 56577 si 56573
sunt utilizate pentru comanda acionrilor pe cele trei axe ale griperului, respectiv pentru
acionarea limitatoarelor de poziie. Acestor porturi li se asociaz porturile de adrese 56575 si
56579 ce controleaz sensul propagrii informaiei prin porturile de date. Codificarea complet a
comenzilor generate prin portul 56577, innd cont de comenzile cu dublu sens ale fiecrei axe,
este prezentat n tabelul 10.2.
10
20
30
40
50
60
70
80
90
Adr. 56577
(ieire)
Adr. 56573
(intrare)
Tabelul 10.1
Comanda
X+
XY+
YZ+
ZG inchis
G deschis
Variabil
Comand X
Sens pe X
Comand Y
Sens pe Y
Comand Z
Sens pe Z
nchide griper
Deschide griper
Buton primire
Rezervare
Date
Valoare numeric
00000001 1
00000011 3
00000100 4
00001100 12
00010000 16
00100000 32
01000000 64
10000000 128
Tabelul 10.2
START
Iniializare
registre i date
Comand X +
Citete buton
pornire
N1
0
BP
1
Anulare X +
nchide griper
Comad Z +
Comand Z +
Citete Ls
Citete Lg
0
Ls
Lg
Anulare Z +
Anulare Z +
Comand Y +
Deschide griper
N2
STOP
a
Figura 10.26
140
150
160
170
180
190
200
210
220
330
END
Organigrama din figura 10.26 i programul asociat sunt determinate conform procedurilor
stabilite.
Instruciunile 20, 30 definesc portul 56573 ca port de intrare i 56577 ca port de ieire.
Instruciunea 40 introduce valorile distanelor pe axele X si Y precum i viteza V, de fapt durata
impulsului de tact al motoarelor p.p.
Pentru interpretarea variabilelor asociate limitatoarelor i butonului de pornire s-a
considerat c acestea prin nchidere transmit potenialul masei (0 logic) iar prin deschidere
formeaz semnal logic 1. n acest sens, instruciunile 70 si 210 blocheaz avansul programului
pn la nchiderea contactelor respective.
Instruciunile 80-130 genereaz comanda motorului p.p al axei Y n sens pozitiv pe o
distan echivalent cu N2 impulsuri. Impulsul de tact este transmis prin linia D2 (sensul rotaiei
este linia D3 = 0 ) prin instruciunile 90 si 110 cu durata egal cu V cicluri FOR TO- : NEXT(figura 10.27)
Figura 10.27.
n mod similar, prin instruciunile 140 190 este comandat motorul axei X n sens pozitiv
pe distana N1 .
traductor analogic si aplic motorului tensiunea nominal de comand atta timp ct nu s-a
realizat cea dorit.
Schema complet de control este prescurtat n figura 10.28. Sunt utilizate dou cartele:
56834 pentru achiziionarea mrimilor de intrare i 56835 pentru generarea ieirii. Pe borna 0 a
lui 56834 este conectat
traductorul de poziie T iar pe borna 1 poteniometrul valorii prescrise. Programul de
comand al motorului va fi:
10
20
30
40
50
60
70
80
90
Valoare
prescrisa W
56834
56834
Figura 10.28
O astfel de soluie de reglare este aplicabil n general articulaiilor de translaie orizontale
(mecanisme de culisare) la care, odat cu atingerea cotei prescrise si decuplarea tensiunii, se
pstreaz poziia. Soluia este mai puin aplicabil articulaiilor de rotaie.
b)
n acest caz se utilizeaz o schem de comand de tipul celei din figura 10.29. Motorul
este controlat printr-o tensiune de comand n domeniul [0,10V] prin intermediul unui
amplificator al crui semnal de referin este fixat la jumtatea domeniului, 5V. La atingerea
valorii prescrise, microprocesorul genereaz un semnal de 5V (dup A1) ceea ce va
determina blocarea motorului. Abateri ntr-un sens sau altul fa de valoarea prescris vor
produce tensiuni corespunztoare n jurul tensiunii de 5V.
Y = 128 +
WX
2
W
56834
56834
A2
A1 +5V
uE[0,2,5 6V]
uE[010V]
Mcc
Figura 10.29
Pentru X=W se obine la ieirea lui A1 o tensiune de 5V iar pentru W-X [0;255]
conversia A / N si A1 va forma o tensiune in domeniul [5;10V].
Programul complet are forma:
100 GO TO 20
Magistrala de adrese
Magistrala de control
RAM
REPROM
(memorie (program
program) utilizator)
ROM
UC
( p )
ROM
(data)
Unitate
I/O
Magistrala Date
Magistrala I/O
Lateh
Buffer
Filtre
Interfa
Optocuploare
Figura 11.1.
UC controleaz i supervizeaz toate operaiile din interiorul CLP, transferul
instruciunilor, procesarea lor i conexiunile cu exteriorul. UC este alimentat de la un generator
cu cuar cu frecven ntre 1 i 8 MHz (n funcie de tipul microprocesorului utilizat).
Pentru memorarea programului toate CLP-urile moderne utilizeaz memorii RAM sau
EPROM. Primele se folosesc pentru dezvoltrile iniiale ale programului care, dup testarea
complet, este nscris n EPROM. Celelalte memorii sunt utilizate pentru stocarea unor variabile
intermediare pentru realizarea imaginilor variabilelor de intrare/ieire i pentru memorarea unor
funcii interne: numrare, temporizare, marcare etc.
Unitile intrare-ieire formeaz interfaa ntre structura intern a CLP i procesul condus
sau acestea vor asigura, pe de o parte izolarea CLP-ului de exterior i compatibilitatea electric cu
exteriorul a semnalelor ce intr sau sunt generate.
Operaiile interne i procesarea datelor n CLP sunt aceleai cu ale oricrui microprocesor
sau al automatelor programabile.
La faza fetch instruciunea este citit din memorie i plasat ntr-un registru de instruciuni
pentru decodificarea ei n operaii interne (microinstruciuni) cerute de fiecare instruciune
particular. Urmeaz faza de execuie a instruciunii care implic, de obicei, o prelucrare logic
asupra unei variabile interne sau externe i stocarea rezultatului ntr-o locaie corespunztoare.
Este evident c un loc important n aceste operaii l joac achiziionarea variabilelor externe.
n general exist dou modaliti de captare a variabilelor de intrare. Prima procedur
implic transferul datelor de la canalul de intrare specificat n instruciune, prelucrarea lor i
nscrierea rezultatului n canalul de ieire dorit, (figura 11.2a.). n al doilea caz, utilizat pentru
sistemele cu un numr mare de intrri/ieiri, ntr-o prim faz se achiziioneaz ntr-un RAM
toate variabilele de intrare cuplate, se execut apoi ntreg programul memorndu-se toate
rezultatele n alt seciune RAM i n final noile valori ale variabilelor de ieire se trimit pentru
actualizare, n toate canalele de ieire cuplate la CLP (figura 11.2.b.).[121]
Fetch.decodificare Achiziionarea
execuie
variabilei de
instruciune
intrare
Fetch.decodificare
execuie
instruciune
Achiziionarea
variabilei de
intrare
5s
3s
5s
3s
<==========>
<==========>
<==========>
a)
<==========>
Copiaz toate
intrrile n RAM
Fetch.decodificare
execuie pentru ntregul
program
5s
5s pentru 1 k programe
5s
<==========>
<==================> <==================>
b)
Figura 11.2.
Figura 11.3
n tabelul 11.1 sunt prezentate cteva din simbolurile i instruciunile asociate, utilizate n
CLP produse de firmele Texas Instruments i Mitsubishi.
n anexa 3 snt prezentate detaliat instruciunile firmei i modul de utilizare.
Texas Instruments Mitsubishi
Mnemonic
Mnemonic
Funcie
STR
LD
Declar nceput
de linie. ncarc
variabil
AND
AND
Conexiune serie
OR
OR
OUT
OUT
NOT
...I
Simbolizare
grafic
Conexiune paralel
Ieiri
Negaie
Funcii speciale
Tabelul 11.1
Programarea CLP se poate realiza att pe baza instruciunilor logice ct i prin programare
grafic utiliznd simbolurile corespunztoare. n acest caz se permite utilizatorului s foloseasc
simbolurile familiare din structura circuitelor electrice. Modulul de programare translateaz sau
compileaz aceste simboluri grafice n instruciuni logice memorate n memoria RAM.
condiii de tranziie
pe intrare TIN
Identificator
Variabil
Spre secvena
urmtoare
condiii
tranziie
ieire TOUT
Ieire
Ieire
Ieire
Figura 11.4
n figura 11.5.a, linia orizontal A desemneaz o evoluie fie n secvena S11 , fie n S 21
prin deciziile T11 sau T21 . n figura 11.4.b, condiia T0 desemneaz evoluia din S0 att n
secvena S11 ct i n. S 21 . Liniile orizontale determin convergena evoluiilor care se
realizeaz tot pe o logic SAU (condiiile T13 sau , T23 figura 11.5.a) sau pe o logic I (condiia
T1 , figura 11.5.b).
S0
E0
Ramificaie
T11
S11
T21
S21
E11
E21
T12
S12
T22
E12
S22
E22
T13
B
S1
T23
E1
Figura 11.5 a
S0
E0
T0
A
S11
Ramificaie
E11
S21
T12
S12
&
E21
T22
E12
S22
E22
B
T1
S1
E1
Figura 11.5 b
n finalul acestei prezentri s-ar putea ncerca aflarea rspunsului la ntrebarea "ce este de
preferat, utilizarea organigramei de stri sau a Grafcet-ului?".
Este evident c nu se poate formula un rspuns tranant, ambele soluii reprezentnd
metode adecvate de lucru. Totui, n cazul unor procese industriale complexe, a cror evoluie
implic un numr mare de stri, se poate recomanda utilizarea Grafcet-ului, numrul de secvene
fiind n general mai mic dect cel al strilor i deci suportul fizic solicitat va fi mai redus.
S0
T0
A
S11
S21
T12
S12
A1
S31
T21
T31
S32
S22
T12
S13
E0
B1
T22
S23
T41
S41
T42
T22
S33
T1
S1
Figura 11.6
Acest lucru va fi bine ilustrat n soluiile propuse pentru comanda unor roboi secveniali
destinai unor funcii de manipulare la care evident exist o diferen mare ntre numrul de stri
i cel al secvenelor implicate n generarea traiectoriei.
Si = TIN + Si TOUT
(11.1)
relaie care este identic practic cu ecuaia unui bistabil R S . n cele mai multe cazuri,
condiia de set include nu numai variabilele TIN ci i variabila ce definete secvena anterioar
Si 1 , deci
Si = TIN Si 1 + Si TOUT
(11.2)
T0
Secvena 1
Variabila 1
Ieire 1
Starea 1
(Variabila 1)
Ieire 1
0
T1
T1
1
Figura 11.7
Primul termen va defini condiia de amorsare a secvenei Si , iar al doilea asigur
stabilitatea secvenei i n acelai timp anularea ei prin condiiile TOUT . Este posibil ca forma
(11.2) s sufere modificri sau completri n funcie de anumite elemente specifice. De exemplu,
dac Si poate fi i iniializat printr-o condiie suplimentar Tinit , relaia (11.1) devine:
(11.3)
Aparent, relaia (11.3) ofer soluia implementrii. n realitate, aplicarea acestei formule
ntr-o succesiune de secvene ale unui grafcet este improprie datorit hazardului de comutare
produs de aceeai variabil de condiie la setarea i resetarea a dou secvene consecutive.
Pentru concretizarea ideii, s considerm secvenele S1 i S 2 din figura 11.9.a. Conform
relaiei (11.3) rezult:
S1 = T0 S0 + S1T1
S 2 = T1S1 + S 2 T2
Este evident c variabila T1 reseteaz pe S1 i definete totodat condiia pentru activarea
lui S 2 dar condiionat de S1 (termenul T1S1 ). Pe de alt parte aceste relaii sunt reprezentate pe
linii diferite n diagram, explorate secvenial. n consecin, se produce nti resetarea lui S1 prin
S1T1 i nu mai poate fi realizat deci activarea, pe linia urmtoare, a lui S2 ( termenul T 1S1 = 0 ).
Acest neajuns se poate remedia punnd condiia ca resetarea unei secvene s fie realizat
nu de variabila de tranziie ci de starea succesoare. Astfel, relaiile de mai sus devin :
S1 = T0 S 0 + S1 S 2
S1 = T1S1 + S 2 S3
Se poate verifica uor c acum deficienele semnalate au fost complet eliminate. Relaia
(11.3) se poate rescrie sub forma :
Si = Tinit + TIN Si 1 + Si Si +1
(11.4)
0
1
2
3
4
5
6
7
8
9
10
LOD
LOD
AND
LOD
ANDNOT
ORLOD
ORLOD
OUT
LOD
OUT
OUT
Tinit
TIN
Si-1
Si
Si+1
Tinit
( SI )
TIN
SI-1
SI
SI+1
SI
Si
Si
Ieire 1
Ieire 2
( Ieire 1)
( Ieire 2)
( Ieire k)
Figura 11.8
Reprezentarea de mai sus definete metoda general de implementare a unei secvene. n
funcie de caracteristicile problemei de conducere abordat, aceast reprezentare poate suferi
modificri cantitative care s permit utilizarea unor elemente i proceduri speciale de
implementare oferite de instruciunile unui CLP.
Un exemplu n acest sens l constituie utilizarea instruciunilor STL asociat cu variabilele
600-647. Acestea din urm au proprietatea unei celule latch, deci devin logic 1 (set) prin
condiiile ce sigur activarea variabilei, memoreaz valoarea logic i se reseteaz o dat cu
activarea celulei urmtoare.
Prin aceste proprieti aceste variabile vor constitui suporturi ideale pentru implementarea
oricror secvene. De asemenea, utilizarea instruciunii STL (instruciune de tip master) permite
formarea unor bare de conexiune suplimentar pentru comanda unui numr mare de variabile.
Pentru exemplificare s considerm grafcet-ul din figura 11.9.a. Diagrama ladder asociat
este prezentat n figura 11.9.b iar instruciunile corespunztoare n figura 11.9.c.
Variabila de iniializare asigur condiia de set a variabilei latch 600. Pe a doua linie a
diagramei, variabila 600 i T0 determin condiia de set a lui 601. Activarea acesteia determin
resetarea lui 600, generarea ieirii 200 i formarea condiiilor de baz pentru activarea variabilei
602 .a.m.d..
Iniializare
Iniializare
S 600
600
S0
S 600
T0
S 601
( 200 )
T0
S1
S 601
S2
S 602
STL
T1
E 200
601
STL
E 200
S 602
( 201 )
T2
S 600
END
Figura 11.9
c0
c1
c2
c3
c4
c5
c6
c7
c8
c9
TD
Incarcare
ROB1 ROB2
Zona de
uscare
Descarcare
Figura 11.10
Activarea funciilor de vopsire a celor doi roboi se produce ori de cte ori un panou ajunge
n poziiile respective. De asemenea, cuptorul este nclzit cu becuri n infrarou care sunt aprinse
numai dac cel puin un panou se deplaseaz n zona de uscare. Trebuie subliniat faptul c linia
nu este normal ncrcat la capacitatea maxim deci se impune ntotdeauna cunoaterea exact a
strii de ncrcare a fiecrei poziii ci .
Acionarea conveiorului este realizat secvenial, cu un tact de lucru suficient de mare
pentru a permite realizarea funciilor de vopsire n c3 i c5 i tratarea termic n cuptor. Un
traductor de deplasare incremental montat pe una din roile conveiorului furnizeaz semnalul
necesar pentru controlul poziiei.
Grafcet-ul asociat operaiilor executate pe linie este prezentat n figura 11.11.
Fiecrui punct de lucru ci , i se asociaz o secven si , din timpul tehnologic al liniei.
Prezena uni panou ntr-un punct ci , este desemnat prin marcarea secvenei. Aceast marcare se
realizeaz numai n prima poziie c0 (iniializare) o dat cu ncrcarea unui panou i se
deplaseaz n celelalte secvene si succesiv, sincron cu deplasarea panoului, prin tactul de lucru
al liniei.
Iniializare
S0 *
R0
TACT
S1 *
R1
TACT
S2
R2
TACT
S3
R3
TACT
Marcarea
secvenelor
ACTIV ROB1
S4
R4
TACT
S5
R5
ACTIV ROB1
TACT
S6
R6
ACTIV infrarou
TACT
S7
R7
ACTIV infrarou
TACT
S8
R8
ACTIV infrarou
TACT
S9
R9
Figura 11.11
Aceste funcii de memorare i de deplasare a informaiei nmagazinate impun alegerea unui
registru de deplasare ca suport al secvenelor de lucru, n consecin s-a ales registrul definit prin
variabilele R0 , R1 ,..., R9 ca registru suport,
Variabil extern
Variabil de tergere (reset)
Semnal traductor TD
Semnal derivat TD*
Iniializare marcare
Activare ROB1
Activare ROB2
Activare becuri infrarou
Registre
Alocare n CLP
1
2
400
3
200
201
202
R0-R9
Tabelul 11.2
Alocarea variabilelor n CLP este prezentat n tabelul 11.2 iar diagrama i instruciunile de
implementare n
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
LOD
SOT
LOD
LOD
LOD
SFR
LOD R
OUT
LOD R
OUT
LOD R
OR R
OR R
OUT
END
2
400
1
400
3
10
10
3
200
5
201
6
7
8
202
SOT
( 400 )
1
400
3
R3
R5
R6
SFR
0
10
( 200 )
( 201 )
( 202 )
R7
R8
Figura 11.12
Impulsul traductorului de deplasare TD este derivat prin instruciunea SOT ceea ce permite
formarea unui singur semnal cu o durat egal cu cea a timpului de baleiaj al programului. Se
evit n acest fel deplasarea fals a informapei n registru n timpul explorrilor succesive ale
programului. Impulsul este memorat n variabila intern 400 i este utilizat ca impuls de deplasare
a lui SFR 0. Iniializarea registrului se realizeaz cu variabila 3 furnizat de punctul de ncrcare
al liniei. Celulele R3 i R5 sunt citite succesiv i genereaz activarea celor doi roboi iar celulele
Presa
Paleta
(a)
A (r0 , 0 )
B (r0 , 1 )
C (r2 , 1 )
P0 (r1 , 1 )
P4 (r1 , 2 )
P7
P4 P5 P6
P
P P2 3
2 A P0 1
.
Figura 11.17
Iniial robotul se gsete n punctul A. Braul avanseaz n punctul P0 , prinde o pies i se
retrage n A. Braul se rotete n B, avanseaz n punctul C, depune piesa n pres i se retrage n
A prin segmentul CBA. Operaia se repet de 8 ori dup care banda circular avanseaz aducnd
o nou palet la punctul de ncrcare.
Robotul, pe cele dou axe r, , dispune de dou tipuri de traductoare de msur,
incremental pentru axa r i absolut pentru axa . Prezena acestor dou tipuri de traductoare ofer
posibilitatea utilizrii facilitilor de calcul numeric pe care le ofer un CLP.
Grafcet-ul sistemului de conducere este prezentat n figura 11.18. n secvena s0 se
iniializeaz coordonatele punctului de lucru P0 . Fiecare secven definete un segment din
traiectorie i este implementat prin variabile interne de tip latch 600-613 folosind instruciuni tip
STL.
n cadrul unei secvene se genereaz ieirea necesar dar totodat se impun prelucrri
numerice corespunztoare cerinelor impuse de fiecare secven de micare. Aceste prelucrri nu
apar explicit n grafcet dar ele snt prezentate detaliat n diagrama ladder asociat (figura 11.19).
S0
600
Iniializare date
S1
601
Acionare r+
r1
S2
602
nchidere griper
GRI
S3
603
Acionare rr0
S4
604
Acionare r+
a
Figura 11.18. a)
Se remarc prezena unei ramificaii de tip SAU generat n secvena s8. Condiiile de
evoluie pe anumite ramuri sunt determinate de numrul de piese manipulat i identificat n
secvena s7. Astfel, dup 4 piese sau 8 piese manipulate, evoluia se realizeaz pe ramurile doi i
trei ce determin iniializarea parametrilor i r pe anumite valori. n celelalte cazuri, evoluia se
realizeaz pe prima ramur.
a
S5
605
Acionare rr2
S6
606
Deschidere
griper-
GRD
S7
607
Acionare r+
Contor piese
r0
S8
608
NUM4+NUM8
S9
609
sr
NUM8
NUM4
S10
610
2
r r1
S11
611
O0
r1
S12
612
AB
PP
S13
613
Acion
Figura 11.18. b)
603
STL
S 600
STL
FUN147 FUN247
10
10
FUN147 FUN247
10
10
FUN147 FUN147
902
20
4
CNT ( 211 )
1
2
FUN147 FUN147
20
210
FUN147 FUN247
10
10
211
FUN147 FUN147
20
20
S 601
( 201 )
S 604
604
STL
( 202 )
FUN147 FUN147
13
10
( 200 )
FUN147 FUN147
10
10
FUN147 FUN147
10
810
FUN147 FUN147
3
801
710
FUN147 FUN147
910
20
4
CNT
1
2
210
STL
( 204 )
2
605
STL
S 602
602
711
S 603
S 605
( 200 )
FUN147 FUN247
10
10
FUN147 FUN147
20
903
4
CNT ( 212 )
1
3
212
S 606
606
607
( 208 )
3
STL
607
STL
FUN 100
4
S 607
( 208 )
STL
FUN147 FUN147
20
904
STL
4
CNT
4
( 215 )
FUN147 FUN147
810
10
FUN147 FUN247
4
10
( 213 )
FUN147 FUN147
820
20
CNT
0
( 213 )
FUN 100
.
8
.
.
606
FUN147 FUN247
10
10
S 604
S 613
Figura 11.19
Variabile intrare
Traductor ax r
Alocare
CLP
1
Secvene
Alocare
CLP
s0
r-
201
..
202
s13
Prezen panou PP
F203
Var.int.
Iniializare
nchide griper
204
Alocare
CLP
Registrul r
810
Traductor absolut
10
.
17
20
.
27
Deschide
griper
205
Registrul
811
Numrtor
de piese
900
206
Avans band
Tabelul 11.5
Fiecare secven din grafcet este transpus n diagram printr-un numr de instruciuni
logice i aritmetice.
Secvena s0 realizeaz iniializarea cordonatelor punctului de prindere al pieselor. Primele
instruciuni determin ncrcarea n registrul DRO (800) a valorii r, (instruciunile FUN147/10 i
FUN247/ r1 ) i transferarea ulterioar a valorilor din DRO n DR10 (810), prin instruciunile
FUN147/20 i FUN147/810. n mod similar este ncrcat n registrul DR11 (811), cota 0 .
Ultima instruciune a secvenei determin trecerea necondiionat n secvena urmtoare
identificat prin variabila 601.
n secvena s1 , prima linie determin activarea ieirii 200 (deplasarea r + ) iar urmtoarele
linii permit transferul coordonatei r1 , din 810 n numrtorul CNT1 aflat la adresa 901.
Numrtorul poate fi resetat prin variabila 4 (prezen panou n punctul de ncrcare) i este
incrementat prin impulsurile traductorului de deplasare al axei r (variabila 1). Cnd numrtorul
atinge cota prescris ( r1 ) se comut ieirea 210 ce determin, n linia urmtoare, trecerea pe
variabila 602 (secvena s2 ).Secvena s2 are numai o funcie scalar comutnd ieirea 204
(nchidere griper), ceea ce determin trecerea n secvena s3 (variabila 603). n aceast secven
se produce revenirea braului pe segmentul ( r0 r1 ) dup o procedur similar cu cea dezvoltat
mai sus.
Secvena s4 realizeaz rotaia braului cu unghiul 1 0 . Msurarea micrii este obinut
printr-un traductor absolut ce furnizeaz codul mrimii msurate sub forma unui vector pe 16 bii,
fiecare bit fiind captat prin variabile de intrare 10-17,20-27 (instruciunile FUN147/13,
FUN147/10). Rezultatul msurrii este stocat n DR1 (801). n linia urmtoare, n registrul
DR0(800) se ncarc coordonata 1 0 . Valorile astfel stocate n DRO i DR1 snt comparate
(instruciunile FUN 147/3 i FUN 147/801), rezultatul comparaiei fiind concretizat n comutarea
variabilelor 710 i 711.
ntr-o manier similar sunt implementate i celelate secvene. Trebuie remarcat realizarea
funciei de contorizare a pieselor prin numrul CNTO (adresa 900), impulsul de numrare fiind
obinut din varibila 3 (griper deschis) la fiecare depunere a piesei n punctul de prelucrare.
Testarea coninutului numrtorului este obinut prin instruciunile FUN100/4 i FUN100/8 ce
identific numrul 4 i respectiv 8 al pieselor depuse. Variabilele asociate 214, 215 permit
implementarea ramificaiei de tip paralel din grafcet.
Pe baza diagramei astfel stabilite se obine programul de conducere. Un fragment din
program este prezentat mai jos.
0
1
2
3
4
5
6
LOD
SET
STL
FUN
7
8
9
10
11
12
13
FUN
FUN
5
600
600
147
10
247
r1
FUN
FUN
FUN
147
20
147
810
147
10
247
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
FUN
46
47
48
49
50
51
52
53
54
55
.
.
.
FUN
FUN
SET
STL
OUT
FUN
FUN
FUN
FUN
LOD
LOD
CNT
OUT
LOD
SET
STL
OUT
LOD
SET
STL
OUT
FUN
FUN
147
20
147
811
601
601
200
147
10
147
810
147
20
147
901
4
1
1
210
210
602
602
204
2
603
603
201
147
10
247
r0 r1
FUN
LOD
LOD
CNT
OUT
LOD
SET
147
20
147
902
4
1
2
211
211
604
(D086)
( 012 )
(D300)
(D220)
Figura 11.20
Aplicarea algoritmului PID cere definirea anterioar a mrimilor implicate n construcia
sa. Astfel, valorile numerice ale mrimilor de intrare i ieire se memoreaz n registre de date pe
16 bii D000 - D100, respectiv D200 - D300. De asemenea coeficienii k1 , k2 , k3 ai unui algoritm
PID,
y = k1 x + k 2 xdt + k 3
dx
dt
sunt memorai n trei registre succesive, pe diagram indicndu-se adresa primului registru
(D300).
n figura 11.20 este prezentat un exemplu de implementare PID. n registrul D142 se
nscrie valoarea numeric prescris, registrul D086 memoreaz valoarea numeric a intrrii,
identificatorul 012 determin blocul PID apelat, registrele D300,D301,D302 stocheaz
coeficienii k1 , k2 , k3 iar n registrul D200 este memorat valoarea numeric a ieirii. Pentru a fi
utilizat pe ieire analogic, mrimea numeric este convertit ntr-un bloc D/A.
S considerm cuvinte ca brbat nalt, brbat tnr sau zi cald, ce nu exprim foarte
clar atributul asociat. Un brbat poate fi nalt dac are 1,80 m, dar unul care are numai 1,79 m nu
poate fi considerat imediat ca unul de nlime medie. De asemenea, atributul de nalt poate fi
diferit interpretat de un copil, pentru care toi brbaii sunt nali, i altfel de un adult.
n aceeai manier se poate interpreta brbat tnr. Pentru un om de 60 de ani, toi cei
care au 54 de ani pot intra n aceast categorie, ceea ce evident c nu corespunde unor alte criterii
de apreciere. Acesta poate fi considerat ntre dou vrste sau n vrst, dar delimitarea nu
poate fi n nici un caz exact.
Aceste exemple sugereaz faptul c o eventual abordare a acestor incertitudini ntr-o
tratare logic necesit introducerea unui model matematic.
S reconsiderm, pentru exemplificare, modelul lingvistic brbai nali. ntr-o tratare
convenional, conform teoriei mulimilor, mulimea brbai nali va cuprinde toi brbaii cu
nlime peste 1,77 m (de exemplu). Deci se poate introduce o funcie care s poat identifica
exact apartenena sau neapartenena unui element (brbat) la aceast mulime (figura 12.1).
n figura 12.2 este prezentat o mulime n care elementele ei pot fi mai mult sau mai
puin definite ca brbai nali. Aceast mulime este o mulime fuzzy.Fiecrui element al
acestei mulimi i se poate asocia un anumit grad de apartenen la brbai nali. Acest grad este
numit grad al funciei de apartenen (x) al elementului xX.
Mulime Brbai nali
1,64
1,78
1,85
1,72
1,48
Figura 12.1
1,90
1,92
1,75
1,70
1,68
Mulime fuzzy
Brbai nali
1,78
1,90
1,88
1,64
1,85
1,74
1,72
1,70
1,48
Figura 12.2
1,92
1,75
1,68
Reprezentarea printr-o funcie continu a funciei de apartenen este redat n figura 12.3.
Rangul lui este de la 0 la 12.
(x)
1
(x)
brbai scunzi
brbai de
nlime medie
brbai nali
Exemplul de mai sus poate fi extins i pentru alte etichete lingvistice cum ar fi: brbai
scunzi i brbai de nlime medie crora li se vor atribui funcii de apartenen
corespunztoare (figura 12.4).
Deci funcia de apartenen transform X ntr-un spaiu M al funciei de apartenen (x).
Dac M conine numai dou puncte 0 i 1, atunci caracterul incert dispare i se poate discuta de o
mulime convenional (figura 12.5).
A
1,80
Figura 12.5
Dac se consider submulimea brbailor cu nlime peste 1,80 m atunci fiecare
element x al universului de discurs poate aparine sau nu (cu certitudine) acestei submulimi:
A:X[0,1]
(12.1)
S considerm universul X definit de mulimea valorilor unghiulare ale unui bra robot n
coordonate cilindrice. n jurul poziiei de echilibru a braului se pot defini urmtoarele etichete
lingvistice: ZERO, POZITIV MEDIE, POZITIV MARE, NEGATIV MEDIE, NEGATIV
MARE, ceea ce corespunde unei delimitri n coordonate unghiulare ca cea sugerat n figura
12.6. Acestora li se pot asocia funciile de apartenen reprezentate n figura 12.7.
Elementele prezentate mai sus permit introducerea conceptului de mulime fuzzy i
ZERO
POZITIV
MEDIE
NEGATIV
MARE
POZITIV
MARE
Poziie iniial
Figura 12.6
identificarea elementelor sale specifice.
O mulime clasic (mulime crisp) este definit ca o colecie de elemente sau obiecte xX
care poate fi finit, numrabil sau nu. Dac considerm acum o submulime A, AX, un element
x poate s aparin lui A sau s nu aparin lui A. Dac xA atunci declaraia aparine lui
A este adevrat, n caz contrar fiind fals.
~
O mulime fuzzy A este o mulime de perechi ordonate:
{(
~
A = x, A~ ( x ) / x X
(12.2)
~
unde A~ (x ) este funcia de apartenen a lui x n A . De exemplu, s considerm poziia braului
= +40 0 . Pentru cele 5 variabile lingvistice reprezentate n Figura 12.7, poziia = +40 0 va fi
definit prin:
NEGATIVMARE = 40 0 = 0
(12.3)
NEGATIVMEDIIE = 40 0 = 0
(12.4)
ZERO
(12.5)
(
)
( = 40 ) = 0
( = 40 ) = 0.2
( = 40 ) = 0.8
0
POZITIVMEDIE
POZITIVMARE
(12.6)
(12.7)
(12.8)
(12.9)
n mod similar pot fi construite submulimile fuzzy pentru celelalte funcii de apartenen
prezentate n figura 12.7.
O notaie destul de frecvent ntlnit n literatura de specialitate [2, 3] pentru un univers de
discurs discret i finit este dat de:
NEGATIV
MARE
NEGATIV
MEDIE
ZERO POZITIV
MEDIE
POZITIV
MARE
0,8
0,2
0
-90
-50
-10
10
50
90
Figura 12.7
~ ( xi )
~ ~ (x1 ) A~ ( x 2 )
A= A
+
+ ... = A
x1
x2
xi
i
(12.10)
~ (x )
~
A= A
x
(12.11)
Funcii de apartenen
Exemplele precedente au pus n eviden importana cunoaterii funciei de apartenen n
condiiile definirii corecte a unei mulimi fuzzy. Conform elementelor prezentate anterior,
~
considernd X un univers de discurs i o submulime A a lui X, atunci submulimii fuzzy A i se
asociaz funcia caracteristic, funcia de apartenen:
A~ : X [0,1]
(12.12)
prin care este specificat gradul prin care x este un membru al submulimii A.
Formele cele mai des ntlnite ale funciilor de apartenen n aplicaii industriale sunt
cele triunghiulare i trapezoidale (figura 12.8) [2], [3].
M2
M1
M2
M3
M1
M2
M1
M3
M3
M4
Figura 12.8
Funcii de apartenen triunghiulare i trapezoidale
Gradul de apartenen este exprimat, n aceste cazuri, prin relaii liniare. n mod normal,
aceste funcii sunt definite prin punctele de referin M1, M2, M3 sau M1, M2, M3, M4, respectiv.
Sunt utilizate de asemenea i alte forme [3] (figura 12.9).
(a)
0.5
x0
a
1
(b)
0.5
x0
a
Figura 12.9
x
a
(x ) =
1
x x0
1+
; < x < +
(12.13)
respectiv:
1
(x ) = 1 + cos
2
( x x0 )
2a
; x0 2 a x x0 + 2a
(12.14)
(x ) =
(x x1 )
1
; x1 2a1 x x1
1 + cos
2
2a1
(x ) = 1 ; x1 x x2
1
(x ) = 1 + cos
2
(12.16)
(x x2 )
2a 2
(12.15)
; x 2 x x 2 + 2a 2
(12.17)
( x)
1
x1
x2
a1
Figura 12.10
Forma general a unei funcii de apartenen este prezentat n Figura 12.112. n structura
reprezentrii distingem urmtoarele zone:
baza funciei de apartenen definit ca acea regiune a universului de discurs pentru care
A~ ( x ) = 1 .
suportul corespunde acelei regiuni a universului pentru care A~ ( x ) 0 .
frontierele funciei de apartenen sunt definite ca acele regiuni pentru care 0 < A~ (x ) < 1 .
frontiera
baza
frontiera
suport
Figura 12.11
(12.18)
d +
Regulator PI
BRA
Figura 12.12
(12.19)
POZITIV
MEDIE
ZERO
NEGATIV
ZERO
-M1
Figura 12.13
+M1
MARE
+M2
+M3
Scrise ntr-un formalism specific controlului fuzzy, regulile de mai sus sunt specificate
prin aa numitele reguli If-Then.
Regula 1
If Unghiul=POZITIV MARE
Then Cuplul=MARE
If Unghiul=POZITIV MEDIU
Regula 2
Then Cuplul=MEDIE
If Unghiul=ZERO
Regula 3
Then Cuplul=NEGATIV ZERO
Regulile prezentate mai sus definesc aa numitul mecanism de inferen ce reprezint o
etap important n introducerea conceptului fuzzy ntr-un sistem de conducere. Evident, aceste
reguli au, n acest exemplu, o form simpl, corespunznd problemei tratate.
S presupunem c micarea braului din poziia iniial pn n poziia dorit face parte
dintr-un ciclu tehnologic de preluare a unei piese supus unui proces de tratare termic.
Introducnd o nou variabil TEMPERATURA , asociindu-i acesteia domeniile:
TEMPERATUR JOAS, TEMPERATUR MEDIE, TEMPERATUR MARE i asociindu-le
funciile de apartenen din figura 12.14, regulile prezentate mai sus vor introduce condiii
suplimentare. Aceste condiii sunt impuse n corpului regulii prin operatori I (AND), respectiv
SAU (OR), n funcie de logica interpretrii.
Astfel, noile reguli vor avea forma:
Regula 1 IF Unghiul=POZITIV MARE AND Temperatura =
TEMPERATURA JOAS
THEN Cuplul=POZITIV ZERO
Regula 2 IF Unghiul=POZITIV MEDIU AND Temperatura =
TEMPERATUR MEDIE
THEN Cuplul=MARE
TEMP.
JOAS
TEMP.
MEDIE
TEMP.
MARE
20
100
Figura 12.14
1000
10000
TEMPERATUR
~ ~ ~
C = AB
(12.20)
n tratarea fuzzy, operatorul este realizat prin funcia de maxim aplicat la nivelul funciilor
de apartenen (figura 12.15):
C~ ( x ) = max[ A~ ( x ), B~ ( x )]
(12.21)
C~ ( x, y ) = max[ A~ (x ), B~ ( y )]
(12.22)
algebrei
C~ = max[ A~ , B~ ] = max[ B~ , A~ ]
D~ = max[ A~ , B~ , C~ ] = max[max[ A~ , B~ ], C~ ] =
]]
logice
convenionale
(booleene),
(12.23)
] ]
C~ = max[ A~ , A~ ] = A~
(12.24)
Operatorul SAU poate fi construit i prin operaia aritmetic de adunare, mai precis de
mediere
C~ ( x, y ) =
1
~ ( x ) + B~ ( x )
2 A
(12.25)
Divizarea prin 2 s-a impus pentru a exclude eventualele depiri a valorii 1 a funciilor
rezultate prin nsumare.
1
A~
B~
1
C~
1
x
Figura 12.15
Operatorul I (AND)
Ca i n algebra convenional acest operator se obine prin operaia de intersecie realizat
la nivelul funciilor de apartenen prin operatorul minim:
~ ~ ~
C = A B
C~ ( x ) = min A~ ( x ), B~ ( x )
(12.26)
(12.27)
n figura 12.16 este prezentat operatorul I prin operaia de minim aplicat funciilor de
apartenen.
Toate proprietile descrise mai sus se regsesc i la acest operator:
C~ ( x, y ) = min[ A~ ( x ), B~ ( y )]
(12.28)
C~ = min[ A~ , B~ ] = min[ B~ , A~ ]
(12.29)
[
] [
]
= min[ A~ , min[ B~ , C~ ]] = min[min[ A~ , C&&&], B~ ]
(12.30)
n foarte multe aplicaii, operatorul I este realizat prin operaia aritmetic de nmulire:
C~ ( x ) = [ A~ ( x ) B~ ( x )]
(12.31)
A~
1
B~
1
C~
x
Figura 12.16
(12.32)
C~ ( x ) = 1 A~ ( x )
(12.33)
A~
x
C~
x
Figura 12.17
Operatorul NU (Negaie)
qd
+
Regulator
Sist. de acionare
um
Element mecanic
qT
Traductor
Figura 12.18
ntr-o astfel de structur, valoare dorit a variabilei de poziie (de referin) qd este
comparat cu valoarea real msurat de traductor (qT). Eroarea rezultat este procesat ntr-un
regulator care genereaz mrimea de comand a sistemului de acionare u i prin aceasta este
determinat micarea elementului mecanic (braul robotului):
e = q d qT
Regulatoarele uzuale utilizate n aceste sisteme sunt de tipul P, PI i PID, ele asigurnd, n
condiii de alegere corespunztoare a parametrilor regulatorului, performanele de control dorite.
Un sistem de conducere n logic fuzzy (SCLF) respect configuraia general a oricrui
sistem de conducere, rolul regulatorului convenional fiind preluat de un Controler n Logic
Fuzzy (CLF) (figura 12.19).
qd +
CLF
Sist. de acionare
qT
Traductor
Element mecanic
Figura 12.19
Un CLF va implementa, deci, un algoritm de conducere care, prin procesarea erorii e (sau a
unui vector eroare e = (e1 e 2 . . . e n )T ) s determine performanele calitative dorite pentru
ntregul sistem de conducere, n mod curent obinerea unei erori staionare zero.
n contrast cu regulatorul standard, CLF nu implementeaz o relaie mate-matic bine
definit (algoritmul de reglare) ci utilizeaz inferene cu mai multe re-guli bazate pe variabile
lingvistice i care sunt tratate prin operatori n logic fuzzy.
Configuraia general a unui CLF cuprinde trei pri (figura 12.20) [2, 3, 6]:
Fuzificare
Inferene (baza de reguli)
Defuzificare.
FUZIFICARE
Variabile
crisp
INFERENE
Variabile
fuzzy
Figura 12.20
DEFUZIFICARE
Variabile
fuzzy
Variabile
crisp
(12.34)
Din considerente practice, implementarea unei astfel de legi pentru v > 1 este extrem de
complex i dificil de aplicat. n mod curent, legea de control de mai sus capt forma
simplificat:
u (k ) = F (e(k ), e(k 1), u (k 1))
(12.35)
(12.36)
sau:
(12.37)
(12.38)
un astfel de CLF este numit CLF-Mamdani dup numele cercettorilor Mamdani i Assilian care
l-au propus prima dat n anul 1975 (figura 12.21) [12].
e(k )
u (k )
+
CLF
e(k 1)
Figura 12.21
u(k)
e(k )
Fiecare din regulile bazei este caracterizat printr-o parte IF numit antecedent i o parte
THEN numit consecin. Antecedentul unei reguli conine setul de condiii, consecina conine
concluzia. Modul n care opereaz CLF-ul este urmtorul: dac condiiile antecedentului sunt
satisfcute, atunci concluzia, consecina, este activ. Deci CLF-ul poate fi privit ca un sistem care
are ca intrri variabilele incluse n antecedentele regulilor i ca ieire variabila inclus n
consecin. Deci, se va putea defini eroarea e(k) i variaia ei e(k) ca intrri n sistem, iar ieirea
poate fi reprezentat de variaia u(k) (figura 12.21). Un exemplu de regul poate fi urmtorul:
IF e(k) este POZITIV AND e(k) este ZERO
THEN u(k) este POZITIV
...
Este evident c intrrile i ieirile unui CLF sunt stri, sau substri ale ntregului sistem
controlat, deci CLF poate fi privit i ca un controler de variabil de stare guvernat de o familie de
reguli i un mecanism de inferen fuzzy.
Ultimul bloc al unui CLF, blocul de defuzificare, asigur formarea unor semnale crisp, prin
metode specifice, compatibile cu sistemele de acionare utilizate n controlul roboilor.
Elementele prezentate mai sus pot pune n eviden caracteristicile generale ale sistemelor
conduse prin metode bazate pe logica fuzzy i permit identificarea avantajelor i dezavantajelor
acestor noi concepte de conducere.
Avantajele eseniale pot fi sumarizate n urmtoarele [10], [11, [12]:
nu se impune un model precis al sistemului condus;
strategia de conducere se bazeaz pe operatori lingvistici i o baz de reguli uor de
implementat;
NI
NM
PI
PM
(a)
-1
-0.6 -0.2
N
0.2 +0.6
(b)
-1
NM
-0.2
NS
NI Z
0.2
PI PS
+1
PM
(c)
..
Cele trei exemple prezentate mai sus ilustreaz faptul c alegerea funciilor de apartenen
nu poate s fie supus unor reguli foarte precise. Acestea pot fi alese simetrice sau nesimetrice (n
raport cu originea), triunghiulare sau trapezoidale, echidistante sau nu, pe universul de discurs
normalizat sau nu. Totui, indiferent de modalitile de alegere se impun categoric respectarea
urmtoarelor condiii:
A1 ( x ) A2 ... An , x U
(12.39)
A1 ( x ) A2 ... An = 1 , x U
(12.40)
Semnificaia acestor condiii va fi ilustrat mai trziu dar o analiz elementar indic c
relaia (12.39) impune ca pentru orice punct din universul de discurs, U s fie definit cel puin o
funcie Ai (x ) . A doua condiie este determinat de o anumit comoditate n calculele numerice
ale CLF.
NS
NI
PI
PS
x
N
NM
PM
x
Figura 12.23 Forme ale funciilor de apartenen
n figura 12.23 sunt prezentate cteva tipuri de funcii de apartenen care nu respect
condiiile (12.39), (12.40). Astfel de forme nu pot determina o implementare corect a
conceptului de logic fuzzy. Se remarc c funciile descrise n figura 12.22 verific cele dou
condiii (12.39), (12.40), modelul lor servind ca referin pentru implementri curente. Trebuie
subliniat faptul c, n funcie de problema abordat, pot fi utilizate i alte tipuri de funcii de
apartenen, cu forme specifice, particulare, [5, 6] care s ofere anumite faciliti n generarea
bazei de reguli (evident c restriciile (12.39), (12.40) trebuie s fie satisfcute).
NM NS NI Z
PI PS PM
a
-1
NM
NS NI
PI
PS
PM
b
-1
Baza de reguli
Partea principal a unui CLF, cea care implementeaz algoritmul de conducere al
sistemului este baza de reguli (blocul de inferene) a sistemului.
Aa cum am artat n paragrafele anterioare, fiecare regul este format din dou pri:
partea IF numit i antecedent i o parte THEN numit consecin.
IF ..........
1 4 2..........
4 3
conditie
THEN ..........
1 4 2..........
4 3
con sec int a
IF .......
1 4 AND
4 44.......
2 4 AND
4 4 ......
43
conditii
THEN ..........
1 4 2..........
4 3
con sec int a
Antecedentul conine condiia sau condiiile (variabile de intrare) care activeaz regula.
Dac mai multe variabile formeaz condiiile de activare, acestea sunt legate prin AND.
Consecina permite generarea variabilei sau a variabilelor de ieire activate ca urmare a
ndeplinirii condiiilor regulii.
Pentru a fixa ideile vom analiza baza de reguli pentru un sistem de conducere al unui bra
n micare de translaie (figura 12.25).
e(k )
xd
+
CLF
Bra robot +
Sistem acionare
e(k 1)
Figura 12.25
e(k )
Se va construi baza de reguli pentru un CLF cu dou variabile de intrare e(k) i e(k) i o
variabil de ieire u(k). Se va presupune c universul de discurs este normalizat att n ceea ce
privete variabilele de intrare ct i pe cea de ieire, iar funciile de apartenen au forma din
e, e
Z
-1 -0.4
0.4
+1
e
u
N
-1
-0.2
0.2
+1
figura 12.26.
Figura 12.26
condiia evoluiei stabile a sistemului ctre o dreapt de comutare [3], [7], [8]. Detaliile asupra
acestei metode vor fi tratate ulterior.
n sintez, baza de reguli pentru exemplul discutat, conine nou reguli n forma urmtoare:
Regula 1 IF e este N AND e este P
THEN u este Z
Aceast regul sugereaz c n condiiile n care eroarea este negativ i variaia ei este
pozitiv, comanda generat u poate fi zero, evoluia sistemului ducnd ctre domeniul e=0.
Celelalte reguli au interpretri similare.
Regula 2 IF e este Z AND e este P
THEN u este N
Regula 3 IF e este P AND e este P
THEN u este N
Regula 4 IF e este N AND e este Z
THEN u este P
Regula 5 IF e este Z AND e este Z
THEN u este Z
Regula 6 IF e este P AND e este Z
THEN u este N
Regula 7 IF e este N AND e este N
THEN u este P
Regula 8 IF e este Z AND e este N
THEN u este P
Regula 9 IF e este P AND e este N
THEN u este Z
Se remarc c fiecare regul este definit prin operatorul logic AND (I) ce definete
intersecia condiiilor logice asociate regulii. Dei, neformulat explicit, baza de reguli conine i
operatorul OR (SAU) aplicat ca operator reuniune intrinsec pe mulimea regulilor bazei. Exemplu
anterior poate fi rescris sub forma urmtoare:
Regula 1 ............................................ , OR
Regula 2 ............................................ , OR
.
.
.
Regula 9 ............................................ .
Descrierea de mai sus a bazei de reguli este aa numita descriere lingvistic. Ea este
utilizat frecvent n condiiile n care dimensiunea bazei este rezonabil, numrul de variabile de
intrare n CLF nedepind valoare trei. n mod frecvent, baza de date poate fi reprezentat sub
form tabelar i printr-o matrice de inferen. De exemplu, regulile stabilite mai sus pot fi redate
sintetic ca n Tabelul 12.12.
Z
P
P
N
Z
P
N
N
Z
e
P
Z
N
Tabelul 12.2
Procedura poate fi extins pentru structuri mai complexe, cu un numr mai mare de
variabile de intrare, dar trebuie avut n vedere c o cretere a complexitii bazei de date implic o
procesare mai laborioas, prelucrarea unui numr mare de variabile, un timp de calcul sporit i
multe inconveniente n implementarea practic a algoritmului de control.
( )
g A~ = A~ x *
1
(12.41)
A~
1
g A~ = A~ ( x * )
1
x=x*
Figura 12.26
Pentru o regul complet definit prin condiiile C1, C2, ..., Cp crora li se asociaz
~
~ ~
mulimile fuzzy A1 , A2 , ...., Ap , definite pe universul de discurs x1, x2, ..., xp, se obine:
( )
g A~ = A~ xi * , i=1, 2, ..., p
i
(12.42)
( )
( )
(12.43)
~
D *j = D~ (u )
j
D~ (u ) f D j , u U
(12.44)
~ ~
~
unde D1 , D2 ,..., Dr sunt mulimi fuzzy definite pe universul de discurs U al variabilei de ieire
u.
A~
g A~ ( x1* )
1
x1*
x1
A~
g A~ ( x2* )
2
AND
x2
x 2*
A~
g A~ ( x p * )
p
x *p
Figura 12.27
xp
Figura 12.28 ilustreaz tehnica de formare a deciziei n cadrul unei reguli. Pe ntreaga baz,
procedura este repetat pentru fiecare regul.
D~
g A~ ( x1* )
1
g A~ ( x 2* )
2
g A~ ( x *p. )
p
~
Dj
fDj
AND
~
D*j
u
g A~ ( x1* )
1
g A~ ( x 2* )
2
g A~ ( x *p. )
p
~
Dj
~
D*j
fDj
AN
u
g A~ ( x1* )
1
~
g A ( x 2* )
2
fDm
g A~ ( x *p )
p
AN
OR
~
Dm
~
D*m
Figura 12.29
~
~
prezentat generarea deciziilor n dou reguli j i m, D j i Dm reprezentnd mulimile fuzzy
corespunztoare definite pe universul de discurs al variabilei de ieire.
~
Dm* = D~ (u )
m
(12.45)
D~ (u ) f Dm , u U
m
( )
)
( ))
( )
( ))
(12.46)
(12.47)
Pentru exemplificarea ultimului operator, n figura 12.30 este prezentat funcia max
aplicat pe cele dou reguli j i m ilustrate n figura 12.29.
...
fDm
~
Dj
~
Dj
~
Dm
~
Dj
~
D
fDj
u
Figura 12.30
~
~ ~
D = max D *j , D m*
u
(12.48)
( )
( )
( )
( )
g ~ x * ,..., g ~ x *
p
Ap
A1 1
(12.49)
~
~
~
OR D1* ,..., Dr* = D1* ,..., Dr*
(12.50)
(12.51)
(12.52)
Condiia Regulii 1, IF e este N AND e este P THEN u este Z este tratat prin operatorul
min:
min ( g e~ , g e~ ) = f z1 = 0.5
(12.53)
(12.54)
min ( g e~ , g e~ ) = f N 2 = 0.25
(12.55)
Cele dou funcii de activare f Z1 , f N 2 determin deciziile Z1* , N 2* iar decizia final (dup
dou reguli) va fi conform relaiei (12.46),
D * = max Z 1* , N 2*
(12.56)
(12.57)
f N 2 = g ~e g ~e = 0.125
(12.58)
care se vor repercuta n noile forme ale deciziilor Z1* , N 2* i corespunztor decizia final
D * = max Z1* , N 2* .
e~
N
e~
P
ge=0.75
u~
P
g e=0.5 fZ1=0.5
min
R1
-0.4
0.4
-0.4
e~
N
~e
R2
e
e
-0.2
0 0.2
u~
N
g e=0.
min fN2=0.25
5
ge=0.25
-0.4
0.4
0.4
-0.4
0.4 e
-0.2
0.2
e = 0.2
e=-0.3
u~
N
0.25
0.5
0.2 1
Figura 12.31
n mod similar se obine decizia prin algoritmul prod - sum. Pentru comparare, n figura
12.32 sunt prezentate cele dou metode.
1
0.375
0.125
-1
-0.2
0.5
D*
0.2
D*
0.125
-1
Figura 12.32
-0.2
0.2
Defuzificarea
Paragrafele anterioare au abordat etapele principale n implementarea unui CLF, fuzificarea
mrimilor de intrare i procesarea algoritmului de conducere sub forma unei baze de reguli. n
final, mrimea de ieire este generat sub forma unei mulimi fuzzy. Este evident c se impune
compatibilizarea acestei mrimi cu procesul condus, deci este necesar reconversia mrimii de
ieire ntr-o mrime crisp. Procedura aceasta este cunoscut sub numele de defuzificare.
Defuzificarea reprezint o etap important n structura general a proiectrii unui CLF i
literatura de specialitate abund n soluii [2, 3, 4, 5]. n cele ce urmeaz se vor prezenta cteva
din tehnicile de implementare cele mai eficiente.
Defuzificarea prin centru de greutate este cea mai rspndit procedur de reconversie a
deciziei fuzzy de la ieirea CLF ntr-o variabil crisp. Aceast metod se bazeaz pe evaluarea
funciei de apartenen a deciziei fuzzy dup aceleai reguli ca cele utilizate n calculul centrului
de greutate din mecanica clasic. n acest mod se asociaz funciei de apartenen a decizie
variabilei de ieire o valoare crisp corespunztoare.
Pentru fixarea ideilor, se va considera decizia D* reprezentat n figura 12.33. Funcia de
apartenen a acestei decizii fuzzy este obinut din primele dou reguli ale aplicaiei discutate n
paragraful precedent (figura 12.31).
Prin evaluarea centrului de greutate al ariei definit de funcia de apartenen a deciziei
*
D se obine pe abscis:
1
0.5
D*
0.25
-1
-0.2
0.2
u*=-0.395
Figura 12.33
Defuzificarea deciziei D*
u * = 0.395
(12.59)
*
u (u )du
1
1
u* =
(12.60)
(u )du
*
unde * (u ) este funcia de apartenen a deciziei finale obinut prin relaia (12.46), numitorul
reprezint aria delimitat de funcia de apartenen, iar numrtorul definete momentul ariei. n
aceast relaie s-a presupus c universul de discurs U este normalizat. ntr-o form mai general,
expresia (12.59) poate fi rescris ca:
u (u )du
*
u =
(12.61)
(u )du
u (u )
j
u =
*
j =1
n
(u )
(12.62)
j =1
u* =
u jwj
(12.63)
j =1
unde:
wj =
j
r
j
j =1
(12.64)
PS
PM
NM
1
u2
-u1
u3
u*
Figura 12.34
O interpretare i mai facil, dei evident destul de aproximativ, se poate obine dac
funcia de apartenen conine un maxim sau domenii maximale (figura 12.35).
u * = max
(12.65)
max
u*
Figura 12.35
Un exemplu de calcul
n paragrafele precedente a fost prezentat n detaliu metodologia de proiectare a unui
CLF. Pentru a concretiza mai bine procedura i pentru a permite o mai bun familiarizare cu
tehnicile de implementare, se va relua exemplul oferit de conducerea unui bra de robot (figura
12.25) cu baza de reguli prezentat n Tabelul 1 i funciile de apartenen din figura 12.26. Se
vor trata regulile de conducere prin metoda min - max pentru regimul de lucru definit prin:
e = 0.3
e = 0.2
Primele dou reguli sunt analizate n figura 12.31 i n continuare vor fi analizate celelalte
apte reguli ale bazei.
Astfel, Regula 3 impune algoritmul:
IF e este P AND e este P
THEN u este N
ge = 0
g e = 0.5
iar funcia de activare a ieirii, pe decizia N, va fi
f N3 = min (g e , g e ) = 0
ceea ce identific decizia regulii, conform relaiei (12.45), ca mulimea valorilor 0 n domeniul de
discurs al variabilei de ieire:
N 3* = {0} , u U
n mod similar sunt analizate celelalte reguli Regula 4, ..., Regula 9 obinndu-se deciziile
sub forma mulimilor fuzzy P4* , Z 5* , N 6* , P7* , P8* , Z 9* , respectiv.
Decizia final, pentru variabilele de intrare (e, e ) = ( 0.3,0.2 ) se obine dup formula
(12.46):
N
N
~e
PP
ZZ
ge=0
00
00.4
-0.4
-0.2
Reg
0.4
~e
ZZ
-0.4
0.
e = 0.2
PP
0
0 0.4
~e
-0.2
P4*
0
0.2
0.
e=-0.3
e~
N
N
ZZ
gge=0.75
e=0.
Reg 75
00
Z5
0.4 e
0
e = 0.2
e~
PP
N6 *
0.
0
u~
min fP7=0
0
0.4
0 0.2
u~
g e=0
min
.5
fN6=0
ge=0
0
u~
0 0.4
~e
Reg
g e= min
fZ5=0.25
-0.4
0 0.2
~e
ge=0.
g e=0
.5 min fP4=0.
5
Reg
N
N
N3 *
u~
e~
N g =0.7 Z
g e=0.
min
fN3=
5
0
0.4 e
e~
-0.4
Reg
-0.4
u~
g e=
0 00.4 e
P
P7*
0 0.
N
N
Reg
ZZ
g e=0
ge=0.
25
-0.4 0
0.4
u~
e~
N
min
Reg
ge=0
-0.4
0
e=-0.3
0.
Figura 12.36
-0.2
g e=0
0.4 e
e = 0.2
P
Z9*
fZ9=0
-
0.2
1
D*
0.5
0.25
-1
-0.2
0.2
u =-0.22
Figura 12.37
g ij = Cij (x i )
i=1,...,n;
j=1,...,p
(12.96)
f u j = min g1 j ,..., g nj
(12.97)
f ui
u=
i =1
fu j
j =1
(12.98)
Dac ieirea fiecrei reguli este o funcie neliniar ui = f i ( x1 , x2 ,..., xn ) , modul de calcul
dat de relaia (12.98) se pstreaz, ieirea u fiind obinut tot ca o medie ponderat pe ieirile
neliniare ale fiecrei reguli.
Modelul TSK poate fi utilizat pentru implementarea unui CLF de tipul PI, PD, sau PID. De
exemplu, un CLF PI poate fi modelat prin urmtoarea baz de reguli:
Regula 1:
IF e(k) este C11 AND e(k) este C21
THEN u (k ) = a11e(k ) + a12 e(k )
Regula p:
IF e(k) este C1p AND e(k) este C2p
THEN u (k ) = a p1e(k ) + a p 2 e(k )
Ieirea CLF va fi:
f ui
u (k ) =
i =1
(ai1e(k ) + ai 2 e(k ))
(12.99)
fu j
j =1
u (k ) = k I e(k ) + k P e(k )
(12.100)
deci:
p
kP =
i =1
f ui ai 2
p
(12.101)
fu j
j =1
kI =
i =1
f ui ai1
p
(12.102)
fu j
j =1
dX = J (q )dq
(12.103)
Structura clasic a unui control cinematic diferenial este prezentat n figura 12.38.
Aa dup cum se cunoate, punctul slab al unei astfel de conduceri l constituie calculul
inversei matricei Jacobian, calcul ce nu poate fi realizat off-line datorit dependenei
coeficienilor matricei de parametrii qi. Cu toate c n literatur s-au dezvoltat o serie de metode
care permit calculul rapid al lui J 1 (q ) , ele cer, n general, sisteme hardware de mare vitez, cu
un pre de cost ntotdeauna prohibitiv, pentru o operare eficient n timp real.
xdi
q i
xi
+
-
-1
J (q)
xi
f(q)
Figura 12.38
qi
Controlul cinematic diferenial convenional
xdi
q i
x i
CLF
xi
f(q)
Figura 12.39
qi
Control cinematic diferenial cu CLF
e = Xd X =
1
( X d X )T ( X d X )
2
(12.104)
unde Xd este vectorul de poziie dorit n spaiul cartezian. Legea de conducere care se va
introduce trebuie s determine variaii q care s permit micorarea erorii. O soluie simpl se
bazeaz pe utilizarea unei metode de tip gradient:
q =
e
q
(12.105)
unde este un factor de proporionalitate ales convenabil, > 0 . Din relaia (12.104) rezult:
e X T
(X d X ) = J T (X d X )
=
q
q
(12.106)
q = J T ( X d X )
(12.107)
Se poate arta uor c adoptarea unei legi de conducere de tipul (12.107) ofer soluii bune
pentru un sistem de tipul celui prezentat n Figura 12.39, o astfel de conducere determinnd
convergena la zero a erorii (12.104)
lim e(t ) = 0
(12.108)
Pentru justificarea acestei soluii se va utiliza metoda a 2-a a lui Liapunov i se va defini o
funcional Liapunov de forma:
V (x ) =
1
( X d X )T ( X d X )
2
(12.109)
(12.110)
q&
q
T
(12.111)
q
V&( x ) ( X d X )T J
T
sau:
(12.112)
V&(x ) = ( X d X )T JJ T ( X d X )
T
(12.113)
( )
dar, cu excepia cazurilor n care matricea JJ T este singular, aceasta este pozitiv definit, deci:
V&(x ) < 0
(12.114)
x l cos q1 + l 2 cos(q1 q 2 )
X = =1
(12.115)
(12.116)
e=
1
( x d x )2 + ( y d y )2
2
(12.117)
(12.118)
(12.119)
Y
(x,y)=X
q
q1
0
Figura 12.40
(
)
q 2 = (J 12 e x + J 22 e y )
q1 = J 11e x + J 21e y
(12.120)
(12.121)
unde Jij sunt componentele matricei Jacobian iar ex, ey reprezint erorile pe cele dou coordonate
operaionale.
Pentru transpunerea celor dou relaii (12.120), (12.121) ntr-o baz de reguli se vor adopta
funciile de apartenen din figura 12.41.
Numrul mare de variabile (de intrare) antecedent n definirea regulilor e x , e y , J 1i , J 2i
I~
-E
-0.1E
Z P
0.1E +E ex, ey
-I
-0.2I
0.2I +I
q~
NM Nm Z Pm PM
-Q -0.6Q
- 0.2Q
0.2Q +0.6Q Q qi
Figura 12.41
Funcii de apartenen
Iij
J21
J11 N
N
Z
Pm
ZN
Nm
ZN
ZP
ZN
Nm
ZN
Pm
ZP
Nm
NM
Nm
Nm
Nm
NM
Nm
ZP
Z
Z
P
P
Pm
ZN
Nm
ZN
Nm
ZN
Nm
ZN
Pm
Pm
ZP
Nm
ZN
ZN
ZN
Nm
ZN
Pm
Pm
ZP
Nm
ZP
ZP
ZP
Nm
ZN
Pm
ZP
Nm
NM
Nm
Nm
Nm
NM
Pm
ZP
Pm
ZN
Nm
ZP
ZP
ZP
Nm
ZP
Pm
PM
Pm
ZN
Pm
Pm
Pm
ZN
Pm
PM
ey
ex
P
P
Z
N
P
Z
N
P
Z
N
PM
Pm
ZN
Pm
Pm
ZN
ZP
Pm
PM
Tabelul 12.3
Baz de reguli
Toate celelalte reguli se vor formula ntr-o manier similar, variabila de ieire q1
obinndu-se din funciile de apartenen prezentate n figura 12.41.
Sisteme tentaculare
Introducere
Configuraiile convenionale de roboi sunt mecanisme discrete obinute prin legarea n
cascad a unor corpuri rigide articulate obinute printr-o conexiune cu un singur grad de libertate.
Mecanismul acestor structuri presupune existena unor relaii cunoscute ntre centrele de greutate
ale corpurilor articulate iar articulaiile sunt controlate prin legi de conducere proprii. Elementele
lanului cinematic sunt formate din componente pasive, activarea fiind realizat numai la nivelul
articulaiei.
n contrast cu structuri clasice, modelele de tip tentacul, tromp, serpentin sunt
realizate prin conexiunea n serie a unor elemente a cror micare de ncovoiere (rotaie) este
realizat dup curbe continue. Aceast ultim caracteristic desemneaz aceast clas de roboi ca
roboi continui, n timp ce structurile convenionale sunt considerate ca roboi discrei .
Modelele de tip tentacul sunt formate, teoretic, dintr-un numr infinit de articulaii, ceea ce
permite obinerea unui lan cinematic descris printr-o curb continu i i confer o mobilitate,
ipotetic, infinit. Din acest motiv n multe lucrri aceste modele sunt desemnate i ca modele
hiperredundante. Marea lor mobilitate face ca aceti roboi s fie utilizai cu precdere n spaii
de operare cu restricii deosebit de severe.
Figura 13.1
n acest fel se pot manipula piese, se pot realiza operaii de vopsire, sudur, eliminarea
unor imperfeciuni tehnologice n zone greu accesibile, containere nchise, construcii tabulare,
etc. (figura 13.2).
Figura 13.2
Model tentacular - aplicaii n spaii cu restricii
Proiectarea i realizarea unui sistem de tip tentacul ridic probleme complexe printre care
am putea meniona:
Dificultatea acionrii distribuite pe lungimea sistemului. Este evident ca o acionare
electric de tip clasic este inacceptabil datorit greutii suportului magnetic. Mult mai pretabile
pot fi acionrile de tip pneumatic, hidraulic sau cele care utilizeaz componente tehnologice noi,
materiale inteligente de tip SMA, lichide ER, muchi artificiali din polimeri, etc.
Msurarea poziiilor relative sau absolute a articulaiilor ridic probleme extrem de
complexe. n noul curent se accept msurarea unor puncte discrete, restul punctelor fiind
obinute prin proceduri speciale de estimare.
Dificultatea determinrii unei legi de micare pentru ntreaga configuraie avndu-se n
vedere complexitatea modelului matematic al tentaculului i al complicaiilor ce apar la
implementarea unui controler distribuit.
Modele tentacul
n momentul de fa, literatura de specialitate semnaleaz prezena a numeroase
configuraii care, prin gradul lor ridicat de mobilitate, pot fi incluse n clasa modelelor
tentaculare. Aceste modele se individualizeaz prin tehnologia de acionare a fiecrui element,
prin modalitile adoptate pentru rotaia sau ncovoierea fiecrei componente a sistemului. n mod
curent, n literatur sunt descrise trei tipuri de modele tentaculare:
Modele cu acionare intrinsec, la care sistemele de acionare se gsesc chiar n structura
corpului elementelor i constituie o component a mecanismului de animaie.
Modele cu acionare extrinsec n care elementul activ este poziionat n afara structurii
braului iar micarea este realizat printr-un mecanism de transfer (cabluri, fire, etc).
Modele hibride care utilizeaz ambele sisteme.
Fiecare dintre aceste grupe poate fi subdivizat n modele planare sau spaiale dup cum
micarea se produce ntr-un plan specificat, sau n aria direciei din spaiu, respectiv.
Figura 13.3
Rotaia elementului se obine prin simpla modificare a presiunii n camera semicilindrului, ceea ce
va va determina o rotaie, o ncovoiere a elementului n plan. Un rol esenial n producerea micrii l
au pereii elementului realizai din elemente cu componente elastice, ceea ce asigur alungirea sau
contractarea pereilor n funcie de presiunea aplicat.
O structur spaial cu acionare intrisec se obine prin exinderea soluiei anterioare. n figura 13.4
este prezentat un astfel de model realizat din trei cilindri de acionare montai pe un suport comun.
Deformarea elastic a camerelor cilindrilor determin ncovoierea elementului n spaiu.
Figura 13.4
O schem simplificat a micrii este prezentat n figura 13.5. Pentru a obine o anumit direcie de
rotaie se impune controlul strict al presiunii n cele trei camere ale cilindrilor. O structur tentacular
complet este obinut prin legarea n serie a ctorva module. Este evident c, prin controlul distribuit
al lanului de module, se obine orientarea n spatiul 3D i flexibilitatea formei ntregii structuri.
Figura 13.5
Evident, micarea i orientarea este realizat prin controlul presiunii fluidului, dar ulterior, controlul
vscozitii asigur o bun stabilitate a micrii.
Figura 13.9
Un robot reprezentativ al acestei familii este robotul HB-Hitachi (figura 13.10) utilizat n
operaii de vopsire i grunduire. Robotul este utilizat din dou tronsoane cu acionare electric
independent. Fiecare tronson este format dintr-un numr de elemente vertebre a cror micare
este ghidat de-a lungul unor suporturi elastice printr-o tractare cu cabluri. Vertebrele au o form
specific astfel nct s permit o mobilitate la cca 150 una fa de cealalt, n orice direcie.
Figura 13.10 Robotul HB-Hitachi.
Modelul TEROB-02 (figura 13.12) este un robot al crui bra cuprinde opt elemente
articulate prin cuple sferice ceea ce asigur o mare mobilitate ntregii structuri mecanice.
Comanda robotului se realizeaz prin gruparea elementelor n dou tronsoane, activarea fiecrui
element fiind acionat individual prin cabluri acioanate cu motoare pas cu pas ceea ce faciliteaz
procedurile de generare a comenzii i simplific sistemul de comand prin eliminarea
traductoarelor de reacie.
Figura 13.12
Modelul TEROB-02
Modelul TEROB-03 este un robot cu acionare electrohidraulic format din trei module,
fiecare coninnd 12 elemente de rotaie cu dou grade de libertate. Acionarea hidraulic este
suficient de puternic pentru dezvoltarea unor funcii de manipulare cu sarcini de 1,5 daN..
Figura 13.13 Modelul TEROB-03
Modelul cinematic
Pentru analiza cinematic a acestor sisteme, se va considera un bra tentacul ideal, cu o
mas uniform distribuit, cu o flexibilitate ideal n sensul c braul poate lua orice form n
spaiul 3D (figura 13.14.).
z
Figura 13.14
Model ideal
r = r (s)
(13.1)
t,
r = r ( s, t ) .
Parametrizarea curbei C va fi realizat prin dou unghiuri ( s) i q(s). Pentru fiecare
s (t ) = e x ( s, t ) e y ( s, t ) e z ( s, t )
(13.2)
c ( s, t ) s ( s, t )c q ( s, t ) s ( s, t ) s q ( s, t )
s (t ) = s ( s, t ) c ( s, t )c q ( s, t ) c ( s, t ) s q ( s, t )
0
s q ( s, t )
c q ( s, t )
(13.3)
r ( s + ds, t ) = r ( s, t ) + dr(s, t)
(13.4)
(13.5)
(13.6)
l
e z0
e x0
e z0
e 0y
e x0
s
0
r (s) e y
r (s)
q(s)
( s) Y
Figura 13.15
Din punct de vedere cinematic, se poate adopta deci urmtoare interpretare [4]: n orice
punct definit de variabila s, relaiile (13.3)- (13.6) determin poziia curent, matricea s conine
orientarea robotului iar forma robotului este determi-nat de funciile ( s) i q(s).
r = r ( s, t ) ,
s [0, l ]
(13.7)
r
q(s,t)
( s, t )
X
Figura 13.16
r ( s, t ) = [x( s, t )
y ( s, t ) z ( s, t )]T
unde:
s
(13.8)
(13.9)
0
s
s ' [0, s ]
cei doi parametri unghiulari ( s, t ) i q(s,t) determin forma braului i asigur poziionarea
corespunztoare a elementului terminal
l
(13.10)
0
l
z L (t ) = z (l , t ) = sin q ( s , t )ds
0
dm = ds
(13.11)
q = q ( s, t ) , s [0, l ] , t [0, t f ]
= ( s, t ) , s [0, l ] , t [0, t f ]
q ' = q ( s ' , t ) , s ' [0, s ] , t [0, t f ]
.
q=
q ( s, t )
, s [0, l ] , t [0, t f ]
t
.'
q =
q ( s ' , t ) '
, s [0, s ] , t [0, t f ]
t
.. '
2 q( s ' , t )
q =
(13.12)
t
. . . .. . . . . . . . . . . .
Fq = Fq ( s, t ) , s [0, l ] , t [0, t f ]
F = F ( s, t ) , s [0, l ] , t [0, t f ]
................
unde Fq i F vor reprezenta forele distribuite ce acioneaz n planurile q i , respectiv i
determin evoluia formei braului.
v = vx
vy
vz
]T
(13.13)
unde:
s
.'
v x = ( q sin q ' sin ' + ' cos q ' cos ' )ds '
0
s
v y = ( q ' sin q ' sin ' ' cos q ' sin ' )ds '
(13.14)
Determinarea ecuaiilor de stare care guverneaz micarea unui bra tentacular este o
problem extrem de complicat. Structura continu a modelului, neliniaritile existente,
distribuia forelor i parametrilor pe lungimea braului fac dificil aplicarea unor metode
convenionale. n cele ce urmeaz se vor obine ecuaiile de stare prin utilizarea ecuaiilor lui
Lagrange extinse pentru sisteme infinit dimenisionale ceea ce impune calculul energiilor
mecanice ale braului. Pentru un element dm, energia cinetic i potenial va fi:
1
dm v 2
2
dw p = dm g z
dwk =
(13.15)
(13.16)
unde:
v 2 = v x2 + v 2y + v z2
(13.17)
Energiile totale ale braului se vor obine prin integrarea relaiilor (13.15), (13.17) cu
substituirea corespunztoare a mrimilor definite prin expresiile (13.9) i (13.14),
'
1 l s .
Wk = {[ ( q sin q ' sin ' + ' cos q ' cos ' )ds ' ] 2 +
2 0 0
s
+ [ ( q ' sin q ' sin ' ' cos q ' sin ' )ds ' ] 2 +
0
s .
0
l
W p = g
'
(13.18)
'
sin q ds ds
0 0
(13.19)
Pentru obinerea modelului matematic se vor substitui aceste expresii n ecuaiile lui
Lagrange adoptate pentru sistemele infinit dimensionale [2, 11]:
W p
W
d Wk
= Fq
( . )( k )+
q
dt
q
q
(13.20)
W p
W
d Wk
= F
( . )( k )+
dt
(13.21)
unde (
Wk
), (
Wk
.
Wk
.
Wk
.'
) = {[ ( q sin q ' sin ' + ' cos q ' cos ' )ds ' ][ ( sin q ' sin ' )ds ' ] +
+ [ ( q ' sin q ' cos ' ' cos q ' sin ' )ds ' ][ ( sin q ' cos ' )ds ' ] +
0
0
0
s
(13.22)
n mod similar sunt calculate i celelalte derivate pariale. Substituind aceste rezultate n
ecuaiile lui Lagrange se obine forma final a modelului matematic,
s s ..
q ' [sin q ' sin q '' cos(q ' q '' ) + cos q ' cos q '' ]
00
.
'2
..
[cos q sin q sin( ) + q [cos q ' sin q '' cos( ' '' ) sin q ' cos q '' ]
'
'
.
'2
''
'
''
+ [cos q sin q cos( ) q q '' sin( q ' q '' )]}ds ' ds '' +
'
''
'
''
'
(13.23)
0
ss
..
..
q ' sin q ' cos q ' ' sin( ' ' ' ) + ' cos q ' cos q ' ' cos( ' ' ' )
00
.
'2
''
'
''
.
'2
' q ' sin q ' cos q '' cos( ' '' )}ds ' ds '' = F
(13.24)
Ecuaiile (13.23), (13.24) pot fi considerate ca ecuaii de stare ale unui bra tentacul ideal.
Reamintim c n definirea acestui model au fost neglijate frecrile i efectele amortizrilor
interne. Chiar i cu aceste simplificri, ecuaiile respective reprezint un model integrodiferenial, puternic neliniar care va ridica probleme deosebite n abordarea problemelor de
conducere.
n foarte multe aplicaii, att pentru simplificarea tratrii ct i pentru abordarea unor cazuri
specifice, modelul dinamic spaial 3D este nlocuit cu un model planar 2D, de exemplu pentru un
robot ce opereaz n planul OYZ. n acest caz, parametrul principal este reprezentat de unghiul
ntre tangenta la curb i axa OY,
q = q ( s, t )
(13.25)
. 2
'
(q cos(q q ) + q
''
'
(13.26)
x
b
a
Figura 13.17
Figura 13.18
a. un tentacul ideal 3D
b. Model flexibil 3D
Figura 13.19
Figura 13.20
(13.27)
l = N
(13.28)
q ( s i ) = qi
(13.29)
i,j=1,2,...,N
(13.30)
x = ( s1 (1 ) + s 2 ( 2 ) + ... + s N ( N )) x + f + Bu
unde:
(13.31)
(13.32)
0 N
b=
I N
(13.33)
0N
cos q
1
f =
...
cos q N
1
Ai ( i ) =
0
... 2
2
... +
(13.34)
...
0
...
1
... 2 i ...
... + 2 i ...
(13.35)
Er 2
A
2 i =
(13.36)
(13.37)
n care D=2r este diametrul cilindrului, i este factorul de amortizare, E este modulul de
elasticitate echivalent al materialului compozit.
Sistemul de conducere
Sistemul de control conine dou subsisteme: un sistem de control convenional de tip
electrohidraulic al presiunii fluidului i un sistem de control cu structur variabil bazat pe
controlul vscozitii fluidului ER (figura 13.21).
Figura 13.21
Sistemul de conducere
Figura 13.22
(13.38)
iar evoluia pe o suprafa si = 0 are loc numai dac se realizeaz, n prealabil, ecuaiile pe
suprafeele predecesoare,
s1 = 0 , s 2 = 0 , ..., si 1 = 0
(13.39)
(13.40)
ei = wi xi , i=1,2,...,N
.
(13.41)
ei = xi
(13.42)
u = u s u
(13.43)
e = ( A1 (1 ) + A2 ( 2 ) + ... + AN ( N ))e + f + Bu
(13.44)
0N
(sin w )e
1 1
f =
...
(sin w N )e N
(13.45)
unde:
Se va nota prin:
M i = max(
f i
)
s
qi qi =qi
(13.46)
(13.47)
unde:
p = col ( p1 , p 2 ,..., p N )
pi
p N +1
= mi , i = 1,2,..., N
mi > 0
(13.48)
n prima parte a micrii, controlul evoluiei ctre o dreapt de comutare definit prin
relaia (13.47) se obine utiliznd o funcie Liapunov de forma:
V=
1 T
e Pe
2
(13.49)
V = e T Qe + 2e T PBu + 2e T Pf < 0
(13.50)
unde Q este o matrice pozitiv definit iar componenta neliniar are forma (13.45). [14]. Se obine:
u =U +
dac
eT P < 0
u =U
dac
eT P > 0
(13.51)
unde:
U + =U * Mi > 0
U = U * + M i < 0
i=1,...,N
(13.52)
n momentul n care traiectoria penetreaz dreapta de comutare Si(e), sistemul este forat s
evolueze direct ctre origine prin controlul factorului de amortizare global i . De exemplu, la
comutarea legii de micare pe prima dreapt S1(e), evoluia erorii este dat de:
S1 (e) = p1e1 + p N +1e N +1 = 0
(13.53)
S 1 (e) = p1 e1 + p N +1 e N +1 = 0
(13.54)
e N +1
.
= m1 =
e1
f1 (q1s )
e1
q1
e N +1
sau:
m12 21m1 + 2 +
f1 (q1s )
=0
q1
(13.55)
12 1 +
M1
(13.56)
Condiia (13.56) determin evoluia sistemului forat, pe dreapta de comutare S1(e), ctre
origine:
e1=0
e1 = 0
(13.57)
(13.58)
care devine:
S 2 ( e) = p 2 e 2 + p N + 2 e N + 2 = 0
(13.59)
.
22 1 +
M2
(13.60)
Figura 13.23
Control fuzzy
Algoritmul de conducere prezentat mai sus ofer posibilitatea introducerii unor reguli
fuzzy i implementarea unui controler specific. n acest sens, se vor considera ca mrimi de
.
intrare variabilele erorii ei i ei iar ieirile controlerului vor fi semnale de activare a presiunii
fluidului i a vscozitii acestuia. Se va considera un spaiu normalizat att pentru mrimile de
intrare ct i pentru variabila de ieire asociat presiunii. Pentru controlul vscozitii se va pstra
ieirea nenormalizat. Pentru implementarea controlerului fuzzy se vor introduce funciile de
apartenen pentru mrimile de intrare i de ieire (Figura 13.24).
S-au utilizat etichete lingvistice uzuale care s identifice asocieri cu valorile crisp ale
variabilei respective, de exemplu, NB= NEGATICE BIG (NEGATIV MARE) determin o
mulime fuzzy corespunztoare domeniilor negative extreme ale variabilelor de intrare sau ieire,
NM= NEGATICE MEDIUM, etc.
(13.61)
(13.62)
l
L(i ( s s))
l
A
s
O
L(i s)
A
s s s
Figura 13.25
Se va considera c poziia iniial a braului este orizontal, staionar, deci energia cinetic
i potenial va fi zero.
Se va presupune c lucrul mecanic pentru micarea a (l-s) din lungime, din poziia iniial,
este L(l-s). Dac un element s este deplasat printr-un moment M ntr-o nou poziie definit
printr-un unghi q, la momentul t, noua valoare a lucrului mecanic va fi (Figura 13.25):
t
L(l ( s s )) = L (l s ) + M ( s, ) q ( s, )d
0
unde:
(13.63)
q ( s, t ) =
q ( s, t )
t
(13.64)
iar:
M ( s, t ) = F ( s, t )s
(13.65)
n care s-a presupus c evoluia braului este determinat printr-o for F aplicat normal pe curba
C a coloanei vertebrale a sistemului.
Relaia (13.63) va deveni:
t
L(l ( s s )) = L(l s ) + F ( s, ) q ( s, )d s
(13.66)
(13.67)
(13.68)
s0
unde: s ' [ s, l ]
iar pentru ntregul bra, de lungime l:
l t
s ' [ s, l ]
(13.69)
00
Rezultatul de mai sus poate fi extins pentru modelul 3-dimensional controlat prin dou
fore uniform distribuite Fq , F n planul celor dou coordonate generalizate q(s,t), ( s, t ) :
l t
L = ( F ( s , ) ( s , ) + Fq ( s , ) q ( s , )d ds
(13.70)
00
= ( F ( s , ) ( s , ) + Fq ( s , ) q( s , )d ds
(13.71)
00
unde Wk (t ), Wk (0) i W p (t ), W p (0)] reprezint energia cinetic total i energia potenial total
la momentul t i 0, respectiv.
Din relaia (13.71) se obine, de asemenea, o formul util n cele ce urmeaz:
.
[W k (t ) + W p (t )] =
l t
= ( F ( s , ) ( s , ) + Fq ( s , ) q( s , )d ds
(13.72)
00
Legi de conducere
Pe baza rezultatelor anterioare se va propune un sistem de conducere pentru atingerea unei
poziii dorite fr a utiliza modelul matematic al braului (figura 13.26).
Controlul poziiei braului nseamn controlul micrii acestuia pentru a atinge o poziie
dorit definit prin curba:
C d : ( d ( s ), q d ( s )) ,
s [0, l ]
qd (s )
Fq ( s, t )
d (s )
F ( s, t )
(13.73)
Ec. (13.75)
q ( s, t )
( s, t )
Figura 13.26
a)
(13.74)
F ( s, t ) = k1 ( s)e ( s, t ) k2 ( s ) e ( s, t )
.
Fq ( s, t ) = k q1 ( s )e q ( s, t ) k q2 ( s ) e q ( s, t )
(13.75)
1l 1
2
1
2
(k ( s)e ( s, t ) k q ( s) e q( s,t )ds
20
(13.76)
Evident, V(t) este pozitiv definit ntruct termenii care definesc energiile cinetic i
potenial sunt pozitivi sau zero:
Wk (t ) 0
W p (t ) 0
(13.77)
innd cont de relaiile energetice stabilite n paragraful anterior, derivata funciei (13.76)
va avea forma:
.
V (t ) = ( F ( s , t ) e ( s , t ) + Fq ( s , t ) e q ( s , t ) + k1 ( s)e ( s, t ) e ( s, t )
0
.
k q1 ( s )eq ( s, t ) eq ( s, t )
sau, nlocuind expresiile funciilor de conducere F , Fq din (13.75), rezult:
.
V (t ) = k1 ( s )(e ( s, t )) 2 + k q1 ( s )(eq ( s, t )) 2 ds
(13.78)
deci:
.
V (t ) 0
ceea ce arat stabilirea sistemului de conducere i evoluia spre zero a erorii.
Pentru ilustrarea acestei metode se vor simula cteva exemple de conducere utiliznd
tehnica SIMULINK din MATLAB.
( s,0) = 0;
q ( s,0) = 0;
iar poziia dorit este reprezentat de o dreapt n spaiul OXYZ definit prin:
Dd : d ( s ) =
; q d (s) =
; s [0,0.6]
(13.79)
(13.80)
s-a realizat
si = i , i=1,2,...,6
iar ecuaiile difereniale rezultate s-au simulat n MATLAB.
Rezultatele simulrii sunt sugetiv ilustrate n figura 13.27, n care se poate urmri att
poziia iniial, cea final precum i nc zece poziii intermediare.
-1
10 6
Z
4
Final
Position
2
0
-2 Initial
Position
-4
-1
10 8
Y
6
4
2
0
Figura 13.27
-2
2 X
-1
4 10
Phase Portrait
160
140
120
100
t
d)/
r
or
r
e(
d
80
60
40
20
0
-8
-7
-6
-5
Figura 13.28
-4
error
-3
-2
-1
(13.81)
0
.
e( t ) = (
0
q ( s, t ) ( s, t )
)ds
+
t
t
(13.82)
10
12
si ;
si ;
i=1,2,...,6
(13.83)
Legea de conducere are aceeai form cu cea utilizat n aplicaia precedent iar
coeficienii au valori date de (13.80). Micarea braului, simulat n 3-D, poate fi urmrit n
figura 13.29 precizndu-se, din nou cteva poziii intermediare.
Aspectul calitativ al micrii este, de asemenea, bine reliefat n evoluia n planul fazelor
din figura 13.30 unde se poate constata aceeai convergen spre origine a erorii i derivatei
acesteia.
-1
10 7
t=0.238s
Z 6
5
4
t=0.12s
Desired
Position
2
Initial Position
1
0
-1
10 8
Y
6
4
2
0
Figura 13.29
-1
3 10
X
250
200
150
t
d)/
r
or
r
e(
d
100
50
0
-12
-10
-8
Figura 13.30
-6
error
-4
-2
Fq ( s, t ) = k q1 ( s )(q ( s, t ) q d ( s )) k q2 ( s ) q ( s, t )
unde coeficienii k 1q , k q2 sunt alei la valorile:
k q1 ( s) = 12.5
(13.84)
k q2 ( s) = 0.1875
(13.85)
; s [0,0.6]
iar poziia dorit este dat sub forma unui semicerc care poate fi aproximat prin:
Cd : q d (si ) =
si ; i=1,2,...,6
(13.86)
Initial
Position
3
t=0.024s
2
Desired
Position
-1
-1
Figura 13.31
Final
Position
t=0.12s
-1
6 10
0.5
-0.5
-1
t
d)/
r
or
r
e(
d
-1.5
-2
-2.5
-3
-3.5
0
0.01
0.02
0.03
0.04
0.05
0.06
error
Figura 13.32
b.
Un sistem de conducere mai performant se obine printr-o lege de conducere sub forma:
.
F ( s, t ) = k1 ( s )e ( s, t ) k2 ( s) e ( s, t )
t
k3 ( s ) f ( s, t ) f ( s, ) e ( s, )d
(13.87)
0
.
F ( s, t ) = k1 ( s)e ( s, t ) k2 ( s ) e ( s, t )
t
k3 ( s) f ( s, t ) f ( s, ) e ( s, )d
(13.88)
0
.
Fq ( s, t ) = k q1 ( s )e q ( s, t ) k q2 ( s ) eq ( s, t )
k q3 ( s ) f q ( s, t )
f q ( s , ) e q ( s , ) d
(13.89)
V (t ) = Wk (t ) + W p (t ) +
t
1l 1
2
2
1
(k ( s)e ( s, t ) + k q ( s) eq ( s,t )ds
20
+ k3 ( s )( f ( s, ) e ( s, )d ) 2 +
0
t
+ k q3 ( s )( f q ( s, ) e q ( s, )d ) 2
0
(13.90)
V (t ) = ( F ( s , t ) e ( s , t ) + Fq ( s , t ) eq ( s , t )
0
.
+ k1 ( s )e ( s, t ) e ( s, t ) + + k q1 ( s )eq ( s, t ) eq ( s, t ) +
.
0
t
(13.91)
+ k3 ( s ) e ( s, ) f ( s, t ) f ( s, ) e ( s, ) d +
+ k q3 ( s ) eq ( s, ) f q ( s, t ) f q ( s, ) eq ( s, )d )ds
0
V (t ) sub forma:
l
(13.92)
deci:
.
V (t ) 0
(13.93)
; q d ( 2) =
; q d (3) =
5
;
6
6
3
3
q d ( 4) =
; q d (5) = ; q d (6) = ;
8
5
8
(13.94)
(13.95)
Evoluia braului poate fi urmrit n figura 13.33, iar portretul de faz asociat n figura
13.34.
6
4
)
1(p
x
e
0
1*
Final Position
t=0.72s
Initial Position
Desired Position
2
-2
-1
Figura 13.33
1
*10exp(-1)
0.5
-0.5
t
d)/
r
or
r
e(
d
-1
-1.5
-2
-2.5
0.005
0.01
0.015
0.02
0.025
0.03
0.035
error
Figura 13.34
Conducere fuzzy
Sistemul de conducere dezvoltat n paragrafele anterioare permite introducerea metodelor
fuzzy n implementarea controlerelor. Se vor analiza separat dou cazuri, cnd poziia dorit este
staionar i cazul n care poziia dorit este variabil n timp.
a.
(13.107)
u q ( s, t ) = Fq ( s, t )
(13.108)
V (t ) = (u ( s, t ) + k1 ( s ) e ( s, t )) e ( s, t ) +
(13.109)
0
.
+ (u q ( s, t ) + k q1 ( s ) e q ( s, t )) e q ( s, t )ds
O condiie suficient de stabilitate poate fi dedus sub forma:
.
(u ( s, t ) + k1 ( s ) e ( s, t )) < 0
.
(u q ( s, t ) + k q1 ( s ) e q ( s, t )) < 0
(13.110)
s [0, l ]
(13.111)
(u i (t ) + k1i ei (t )) e (t ) < 0
(13.112)
(13.113)
definite pe un spaiu normalizat al variabilelor ei , e i , u i , unde NB, NM, NZ, PZ, PM, PB,
reprezint mulimile fuzzy NEGATIVE BIG, NEGATIVE MEDIUM, NEGATIVE ZERO,
NB
NM
NZ PZ PM
PB
ei , e i , u i
-1
-0.6
-0.2
0.2
0.6
NM
NZ
PZ
PM
PB
PB
NZ
PZ
NM
NM
NB
NB
PM
NZ
PZ
NM
NM
NB
NB
PZ
NZ
PZ
NM
NM
NB
NB
NZ
PB
PB
PM
PM
PZ
NZ
NM
PB
PB
PM
PM
PZ
NZ
NB
PB
PB
PM
PM
PZ
NZ
Tabelul 13.2
Baza de reguli
Baza complet de reguli este reprezentat n tabelul din Tabelul 13.2, regulile fiind astfel
selectate nct condiiile de stabilitate (13.110) i (13.111) s fie respectate.
b.
n acest caz, se va considera c legile de conducere ale braului sunt definite sub forma:
.
F ( s, t ) = k ( s ) ( s, t ) + u ( s, t )
(13.114)
Fq ( s, t ) = kq ( s ) q ( s, t ) + uq ( s, t )
(13.115)
unde u i u q sunt generate de controlere fuzzy. Din aceeai condiie de stabilitate Liapunov
(4.8.3) obinem:
.
V (t ) = ( k 2 k q q 2 + u + u q q +
0
.
(13.116)
+ u q q + k1 e e + k q1 e q e q ) ds
Funcia (13.116) este negativ definit dac urmtoarele inegaliti vor fi satisfcute:
.
(u ( s, t ) ( s, t ) + k1 ( s ) e ( s, t ) e ( s, t )) < 0
.
(13.117)
(u q ( s, t ) q ( s, t ) + k q1 ( s ) e q ( s, t ) e q ( s, t )) < 0
(13.118)
Pentru obinerea regulilor fuzzy pentru cele dou mrimi u , u q se va adopta un sistem
fuzzy ierarhic cu dou nivele de ierarhizare (figura 13.37). Nivelul 1 are ca variabile de intrare pe
u = g ( g , e , ) = g 2 ( g1 , (e , e ), )
.
(13.119)
u q = g q ( g q , e q , q ) = g q2 ( g q1 , (e q , e q ), q)
(13.120)
ui = g 2i
Sistem Fuzzy
Nivel 2
g1i
Sistem Fuzzy
Nivel 1
.
ei
e i
N NZ PZ P
ei , ei
-1
-0.2
0.2
i , u
Figura 13.38
NZ
PZ
PZ
NZ
PZ
NZ
PZ
NZ
NZ
PZ
NZ
NZ
PZ
NZ
NZ
NZ
PZ
PZ
PZ
PZ
Tabelul 13.3
si ; ,i=0,1,2,...,6
8
7
(13.121)
-1
10 6
Z
4
Final
Position
2
0
-2 Initial
Position
-4
-1
10 8
Y
6
4
2
0
Figura 13.39
-2
2 X
-1
4 10
160
140
120
100
t
d
)/
r
o
rr
e
(
d
80
60
40
20
0
-8
-7
-6
-5
Figura 13.40
-4
error
-3
-2
-1