Sunteți pe pagina 1din 171

SISTEME MECATRONICE

Sistemul de acionare al unui robot cuprinde totalitatea surselor


energetice ale robotului precum i elementele de control direct ale acestora.
n acest sens, prin sistem de acionare se va nelege ansamblul motoarelor i
convertoarelor prin care se obine energia mecanic necesar deplasrii
robotului precum i dispozitivele suplimentare ce controleaz acest transfer
energetic.
Un astfel de sistem va cuprinde :
1)

o surs primar de energie ;

2)

un sistem de conversie al energiei primare n energie mecanic ;

3)

un sistem pentru transmisia energiei mecanice la articulaia

corespunztoare ;
4)

un control al parametrilor caracteristici ale acestor sisteme.

Structura general a unui sistem de acionare este prezentat n figura


3.1.
Sistemele uzuale de acionare folosesc trei surse primare de energie :
electric , pneumatic sau hidraulic. Procentual, cel mai mare numr de
sisteme de roboi industriali moderni utilizeaz acionarea hidraulic datorit
unor caracteristici deosebite pe care aceste echipamente le ofer n ceea ce
privete raportul dintre fora exercitat la dispozitivul motor i greutatea
acestuia. O arie larg o au deasemenea acionarile electrice, utilizate
ndeosebi datorit facilitilor de control pe care le pot asigura. Acionarea
pneumatic ocup o pondere redus n aceast direcie , ea fiind de obicei
utilizat n sistemele de comand ale dispozitivelor auxililiare.

Surs
primar
Energie primar
Convertor
(motor)
Energie mecanic
Sistem de
transmisie
Sistem de
control
ROBOT

Figura 3.1

Sisteme de acionare electric


Dei mai puin utilizat dect acionarea hidraulic, acionarea electric
ocup o arie suficient de ntins la roboii industriali datorit urmtoarelor
avantaje principale :
a) sursa de energie electric primar este uor de gsit;
b) sistemele de control sunt precise, sigure i relativ uor de cuplat la o
conducere numeric la nivel nalt;
c) se poate asigura o funcionare autonom prin alimentarea cu baterii;
d) nu se impun probleme specifice de poluare.

Motoare de curent continuu


Acionarea cu motoare de curent continuu are avantajul important c
momentul creat este practic independent de poziia i viteza motorului,
depinznd numai de cmpul nfurrilor i curentul din armturi. Dac
nfurrile de cmp sunt nlocuite cu un magnet permanent atunci
momentul dezvoltat este proporional cu valoarea curentului din armturi i
deci cu tensiunea aplicat.
Anumite proceduri tehnologice au permis micorarea greutii
motoarelor. Ele se refer, de exemplu, la eliminarea nfurrilor de excitaie
prin utilizarea motoarelor cu magnet sau micorarea greutii rotorului prin
motoarele disc. Dei teoretic, orice motor electric este susceptibil de
utilizare, pentru acionarea roboilor se utilizeaz numai motoare de curent
continuu i pas cu pas, primul datorit sistemelor performante de control, iar
al doilea datorit facilitilor pe care le ofer n controlul n bucl deschis la
operaiile de poziionare .
Dezavantajul

principal

al

acestor

acionri

este

greutatea

componentelor. Raportul putere - greutate sau moment - greutate este mai


mic dect la acionrile hidraulice. Aceast greutate nu poate fi redus n
mod semnificativ datorit circuitului magnetic care, pentru asigurarea unor
performane ridicate necesit o geometrie corespunztoare.
Utilizarea motorului de c.c n acionarea roboilor impune :
a) un sistem de control utiliznd tahogeneratoare i transformatoare de
poziie;
b) un sistem mecanic care s realizeze conversia miscrii de rotaie in
micare de translaie;
c) un sistem mecanic pentru blocarea motorului .

Motoarele de curent continuu sunt formate din dou pri : un sistem de


excitatie i o nfurare dispus ntr-o armtur rotoric. Un sistem de
comutaie, asigur n permanen un sens unic al curentului n raport cu
cmpul magnetic, deci asigura o for n direcie constant.
Schema echivalent simplificat a motorului de curent c.c cu excitaie
separat este prezentat n figura 3.2.
Fluxul magnetic este proporional cu valoarea curentului de exciatie ,
= ke I e

(3.1)

iar ecuaiile ce guverneaz regimul staionar (neglijnd anumite efecte


secundare) sunt :
U e = Re I

(3.2)

U = R I + Ec

(3.3)

Ec = k

(3.4)

iar cuplul electromagnetic creat M :


Th

Th

L
Th

Th

b .)

a .)
Fig ura 3.5

(3.5)

Dac motorul lucreaz sub curent de excitaie constant, atunci fluxul


este constant deci

iar

E c = k '

(3.6)

M = k1 I

(3.7)

U
R
2 M
k1 k1

(3.8)

Caracteristicile statice de funcionare se obin din aceast ultim relaie,


(Figura 3.3).
Dac opereaz n curent de excitaie variabil i tensiune de alimentare
constant, atunci ecuaiile de funcionare devin :

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

Ultima relaie indic o dependen neliniar pronunat a vitezei n


raport cu fluxul, deci curentul de excitaie. Aceast neliniaritate complic
legea de control i face ca reglajul turaiei prin controlul curentului de
excitaie s fie rar utilizat n sistemele de acionare, n general, i a roboilor,
n particular.
Regimul tranzitoriu al motorului ce opereaz sub flux constant se
obine imediat din figura 3.2.
u (t ) = R i (t ) + L

di (t )
+ k (t )
dt

(3.12)

iar cuplul motor va fi:


M =J

d (t )
+ k f + M f + M s
dt

(3.13)

unde J este momentul de inerie al elementelor de rotaie, k f definete


coeficientul de frecare vscoas, M f este cuplul corespunztor frecrii
uscate iar M s este cuplul de sarcin.
Din ( 3.9 ) si (3.13 ) se obine:
ki (t ) = J

d (t )
+ kf + M f + Ms
dt

(3.14)

MM0

M=M0

U2>U1
U1
M

Figura 3.3

Aplicnd transformarea Laplace relaiilor (3.12) i (3.13), considernd


condiii iniiale nule, rezult :
U (s) = ( R + L s) I (s) + k (s)

(3.15)

k I ( s) = ( J s + k f ) (s ) + M f ( s) + M s (s)

(3.16)

Ecuaiile acestea definesc schema bloc echivalent a motorului


(figura3.4).
Din (3.15) si (3.16) rezult ,
(s) =

( 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 )

Considernd cuplurile de frecare M f foarte mici i neglijnd cuplul de


sarcin M s rezult funcia de transfer ntre vitez i tensiune :

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)

Dac k f se consider suficient de mic, atunci funcia de transfer (3.19)


poate fi rescris sub forma:
Y (s) =

A
(1 + e s ) (1 + m s )

(3.21)

Unde e definete constanta de timp electric ,


M f + MS
U (s )

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)

Ecuaiile de mai sus sunt, n principiu, specifice motoarelor disc, dar


pot fi aplicate la toate motoarele utilizate n sistemele de acionare ale

roboilor, diferenierile fiind de ordin tehnologic. Aceste ecuaii indic


reglajul preferenial al turaiei prin reglarea tensiunii de alimentare

u.

Controlulde tensiune al turaiei este utilizat practic n peste 85% din


sistemele de acionare al roboilor (cu acionare prin motor de c.c. ) i numai
o mic parte utilizeaz controlul prin curent, aceast ultim procedur fiind
avantajoas datorit funciei de transfer mai simple ntre cuplu i curent.
Controlul n tensiune al turaiei n acionarea roboilor se rezolv prin
dou metode:
redresoare comandate cu tiristoare;
variatoare de tensiune continu
Redresoarele comandate cu tiristoare reprezint o soluie extrem de larg
utilizat i o literatur extrem de bogat abordeaz aceast problematic [38,
31, 81]. Din mulimea structurilor i schemelor bazate pe aceast metoda, se
vor prezenta cteva tipuri utilizate frecvent n controlul roboilor.
Redresoare monofazate n punte. Aceste sisteme sunt utilizate n
special la puteri i tensiuni mici. Schema general a unui redresor de acest
tip este prezentat n figura 3.5.

Th2

+
t

Ud

Th1

M
us

t
L
Th3

id

Th4

Id
a)

b)

Figura 3.5

Controlul redresrii este obinut printr-o punte, n circuitul exterior al


redresorului fiind montat motorul de c.c. Se remarc conducia, pe fiecare
alternan a tensiunii din secundar, a dou tiristoare opuse. De exemplu ntro semialternan conduc tiristoarele Th 2 i Th 3 (linie nentrerupt), iar n
cealalt semialternan grupul Th 1, Th 4 (linie punctat). Controlul valorii
curentului redresat se obine prin controlul unghiului de aprindere al
tiristoarelor. Pentru atenuarea componentelor alternative ce apar n aceast
redresare, n circuitul motorului se introduce o bobin de netezire L.
Redresoare trifazate n puncte. Circuitele de acest tip reprezint
stuctura cea mai eficient pentru alimentarea motoarelor de c.c. sub raportul
puterii i randamentului. Configuraia de baz a unui astfel de circuit este
prezentat n figura 3.6, iar formele de und ale semnalelor se pot urmri n
figura 3.7.
Variatoare de tensiune continu. Aceste dispozitive trasform o
tensiune continu aplicat la intrare, n impulsuri dreptunghiulare de
tensiune, la ieire, astfel nct valoarea medie a tensiunii de ieire se poate
modifica n funcie de factorul de umplere al impulsurilor. Schema de
principiu a unei astfel de valori este prezentat n figura 3.8.[38,81,47].

L
i

figura 3.6

Elementul principal al dispozitivului este un comutator static CS


realizat, de obicei, dintr-un tiristor comandat. nchiderea comutatorului
nseamn aplicarea semnalului de tensiune de amplitudine U pe bornele
motorului, regim menionat pe o durata de timp Ti. Prezena inductiei L
determin o cretere a curentului, presupus idealizat ca o cretere liniara
(figura 3.8b),
di E
=
dt L

(3.24)

Deschiderea ntrerupatorului nseamn decuplarea alimentrii E i


nchiderea curentului de autoinducie prin dioda D. Valoarea medie a
tensiunii la bornele motorului va fi:
U cc = E

Ti
T

(3.25)

Aceast relaie indic doua modaliti de control a componentei


continue: a) prin ajustarea duratei impulsului T i n cadrul unei perioade T
de comutare constant ; b) prin meninerea duratei T i constanta i varierea
perioadei T. Ambele metode determin funcionarea motorului ntr-un singur
regim, regimul de motor. O soluie nbunatait este oferit de funcionarea
motorului n dou regimuri n cadrul unei perioade de lucru, regim de motor
popriu-zis i regimul de frn.

Figura 3.7

n figura 3.9 este reprezentat schema de principiu a unui astfel de


variator [47].
n primul regim este deschis comutatorul CS1, dioda D1 avnd rol de
descrcare.
CS

u
E
UCC

i
t

Ti
T
a.)

b.)

Figura 3.8

n al doilea regim se blocheaz CS1 i se deschide CS2 motorul trecnd


n regim de frn prin scurtcircuitarea indusului, energia cinetic
transformndu-se n energie mecanic. Cnd se deschide CS2 tensiunea
electromotoare a mainii mpreun cu cea de autoinducie determin
deschiderea diodei D2 i trecerea curentului spre sursa E, deci energia
magnetic acumulat se transform n energie electric. Cele dou zone
funcionale corespund cadranelor I i II a curenilor

i tensiunilor de

alimentare. O structur funcional mai complex corespunde operrii n


patru cadrane(figura 3.10). Sistemul cuprinde patru comutatoare statice CS1CS4 a cror comutare dup o anumit ordine determin funcionarea n regim
de motor i frn pentru ambele polariti de alimentare a le motorului.

Motor pas cu pas


Motoarele pas cu pas sunt sisteme sincrone care realizeaz o corelaie
direct ntre mrimea comandat i poziia obinut. Aceste motoare asigur
conversia direct a semnalului de intrare, dat sub form numeric, ntr-o
micare de poziionare

unghiular prin cumulri incrementale. Aceast

proprietate determin o utilizare larg a motoarelor pas cu pas n toate


sistemele de poziionare n bucla deschis. Conversia intrinsec a comenzii
n poziie asigur scheme de control simle, eficiente att sub aspect tehnic,
ct i economic.

CS1
E

D2
L

+
D1

CS2

M
Frn

Motor

b.)

a.)

Figura 3.9

Pe lng aceste avantaje, trebuiesc subliniate i cteva dezavantaje


printre care se menioneaz: acceleraii i deceleraii discontinue, variaia
cuplului cu poziia rotorului, puteri mici etc.
Principiul de funcionare al unui motor pas cu pas este prezentat n
figura 3.11.
Statorul cuprinde patru poli iar rotorul este realizat dintr-un magnet
bipolar. Dac se alimenteaz nfurrile 1-3, atunci rotorul se va deplasa
ntr-o poziie n care fluxul magnetic prin aceste nfurri este maxim, deci
el se va alinia pa axa nfurrilor 1 3. Dac se alimenteaz nfurrile 2
4 atunci rotorul

se va roti cu 90 , sensul de rotaie depinznd de

polaritatea aplicat, pn se va alinia cu noua nfurare. O combinaie de


semnale aplicate va determina poziii intermediare corespunztoare. In
absena oricrui semnal de alimentare a nfurrilor, rotorul va ocupa o
poziie bine determinat aliniindu-se cu unii din polii statorului , fr a conta
polaritatea .

n acest tip de motor, cuplul dezvoltat va depinde evident de poziia


rotorului i n orice caz valorile de cuplu obinute sunt relativ mici.
O soluie tehnologic superioar este oferit de motoarele pas cu pas cu
reluctan variabil. Constructiv, aceste motoare sunt cu rotor pasiv, avnd i
crestturi uniform repartizate pe suprafaa rotorului. Prin alimentarea unei
faze statorice, rotorul se va roti astfel nct circuitul magnetic s prezinte
reluctana magnetic minim producnd alinierea dinilor statorici i rotorici.
Comutnd alimentarea pe faza urmatoare se obine o deplasare a rotorului
pentru o nou realiniere a dinilor acestora, determinnd apariia unui cuplu.

d1

D3
CS3

CS1

+
E

u2

u2
d2

D
CS2

CS4

Figura 3.10

Dup soluiile constructive utilizate aceste motoare se mpart n


[47,38]: motoare cu structur monostatoric (o singura unitate stator-rotor) i
motoare cu structura polistatoric.
Prima configuraie, monostatoric , reprezint o soluie mai
avantajoas, datorit simplitii construciei. Aceste motoare pot fi realizate

n dou variante, cu numr de dini egal pe stator i rotor i cu numr de dini


n rotor mai mare decat n stator (fig.3.12).
n figura 3.12.a este prezentat un motor pas cu pas cu 8 dini pe stator i
6 dini pe rotor, funcionnd n 4 faze cu pas de 15 . nfurarile unei faze
sunt dispuse pe 2 poli statorici diametral pui. La alimentarea unei faze,
dinii rotorici se aeaz n faa dinilor statorici pe care este conectat faza
comandat . La alimentarea fazei urmtoare, rotorul se va roti cu 15 .
Pentru obinerea unui pas de rotaie mai mic se mrete numrul de
dini statorici i rotorici. n figura 3.12.b este reprezentat un astfel de motor
cu 6 poli apareni statorici.

1
I

N
4

3
I

Figura 3.11

Motoarele pas cu pas polistatorice sunt realizate sub forma unor


multistructuri statoric-rotorice, fixate mecanic n aceeai carcas dar
independente din punct de vedere electric i magnetic. Statorul i rotorul au
acelai numr de dini. Subsistemele rotorice sunt montate pe acelai ax , dar
sunt separate din punct de vedere magnetic.

a.)

b.)

Figura 3.12

Pentru a realiza rotaia este necesar decalarea subsistemelor rotorice sau


statorice, radial unele faa de altele. n figura 3.12 este prezentat un motor cu
trei faze, cu statorul aliniat i un decalaj de o treime din pasul dentar realizat
prin cele trei subsisteme rotorice.
Indiferent de principiul de funcionare al motorului, comanda acestuia
se realizeaz prin comutarea succesiv a fazelor nfurarilor. n figura 3.14
se pot urmrii diagramele tensiunilor de alimentare n cteva variante
funcionale aplicate unui motor cu patru faze.
n

figura 3.14, a este reprezentat aa numita comand simetric

simpla n care alimentarea fazelor este comutat succesiv pe fiecare


nfaurare, semnalele de comanda fiind disjuncte. n figura 3.14,b sunt

alimentate n permanen dou nfurri, sensul de rotaie al motorului fiind


determinat de ordinea de conectare i deconectare a acestora (comanda
simetric dubl). Aceast metoda este mbunatit n figura 3.14,c n sensul
c intervalul de timp asociat unei nfurri este defalcat n trei zone. Prima
i ultima corespund alimentrii simultane cu faza precedent i respectiv
succesoare iar n a doua este asigurat numai alimentarea fazei proprii.

Figura 3.13

Comutarea semnalelor pe nfsurri este realizat cu scheme de


comanda specific. Aceste scheme trebuie s conin, pe de o parte, logic

de comutare a fazelor, iar pe de alta parte dispozitive electronice de putere


cuplate direct pe nfsurrile motorului.
n figura 3.15

se pot urmrii principalele elemente ce intr n

componena acestor scheme.


Circuitul distribuitor este format dintr-un numrtor n inel, cu numrul
strilor egal cu numrul fazelor motorului, urmat de o logic de decodificare
ce permite activarea unei singure ieiri ntr-o stare a numaratorului. Pentru
axemplificare, n figura 3.16 s-au prezentat dou circuite distribuitoare
pentru un motor cu patru faze.
u1
u2
u3
u4

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

Primul distribuitor , figura 3.16,a realizat dintr-un numrtor modulo 4


activat cu un generator de impulsuri cu perioada T=
de explorare al tuturor fazelor motorului.

tM
unde t M este timpul
4

Circuit
distribuitor

Control1

Bloc
contactor
static

fd

F2
MPP
Fn

Generator de
tact

Control2

Figura 3.15

Prin decodificare se obine n fiecare stare a numrtorului un singur


impuls, la fiecare perioad a generatorului, deci controlul realizat
corespunde unei comenzi simetrice simple. In figura 3.16,b este utilizat
acelai numrtor dar logica de decodificare asigur semnalele urmtoare:

A = Q1

B = Q0 Q 1 + Q 0 Q1
C = Q1

D = Q 0 Q 1 + Q0 Q1

Prin aceast selecie se obine o distribuie n timp de forma 3.14,b


realiznd, deci, comenzi simetrice duble.
Circuitele prezentate sintetizeaz funcia de baz a distribuitoarelor,
repartiia semnalelor pe fiecare faz dup o secven impus, avnd ca
referin semnalul unui generator de tact. In afar de acest semnal,
distribuitorul poate fi controlat printr-o serie de semnale externe ce i
definesc sensul de baleiaj al fazelor, blocarea sau deblocarea sa i permit
chiar modaliti funcionale specifice corespunztoare unor regimuri de
accelerare sau decelerare a motorului.

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

este necesar i la regimurile de decelerare. Aceast modificare a frecvenei


poate fi realizat in diferite moduri: prin circuite specializate analogice sau
numerice sau prin sistemul software al unui procesor ce controleaz
micarea. Pentru exemplificare, in figura 3.17 este prezentat un circuit
numeric ce realizeaz controlul frecvenei prin informaia numeric
transmisa de la procesor. Aceast mrime numeric , reprezentat prin
vectorul Nv, este nscris intr-un registru tampon ce este decrementat de un
semnal de tact de frecvent ridicat i riguros constant (Ts) emis de un
generator GT1. La atingerea strii de zero a registrului , o poart logic P1
blocheaz accesul acestor impulsuri i permite renscrierea unei noi valori
numerice cu o ntrziere . Ieirea porii reprezint totodat semnalul de tact
al distribuitorului.
Ts

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

Frecvena de control a distribuitorului fd se obine , din valoarea


numeric aplicat , dup o relaie de forma
fd = k

1
Nv

Aceast relaie este pus n eviden prin diagrama de semnale din


figura 3.17,b. Pentru o valoare Nv = 3 nscris periodic n registru se obin
impulsurile ud cu perioada Td1. Mrirea valorii numerice , Nv2 determin o
cretere proporional a perioadei la valoarea Td2.
Distribuitoarele

de impulsuri discutate genereaz deci logica de

comutare a tensiuni de alimentare pe fiecare faz fr a asigura puterea


necesar pentru comutare. Aceasta este obinut de un bloc de comutatoare
statice care realizeaz amplificarea necesar a sistemului.
Problemele impuse acestor circuite sunt numeroase, ele derivnd din
regimurile speciale la care opereaz un motor pas cu pas. Aceste probleme
pot fi formulate prin condiiile urmtoare:
1)

generarea unui curent cu o amplitudine corespunztoare puterii

cerute de motor i cu polaritate adecvat. Aceast implic trazistoare de


putere n etajele finale sau chiar tiristoare;
2)

comutarea curentului de la valoarea zero la valoarea de regim n

timp minim;
3)

comutarea invers a curentului de la valoarea nominal la zero

n timp minim cu evitarea apariiei unor semnale de supraurmrire.


Prima condiie se realizeaz prin utilizarea unor configuraii speciale de
amplificare n curent de tipul circuitelor Darlington. Aceste circuite au
avantajul unui factor de amplificare bun, o impedan de intrare mare, o

impedan de ieire foarte mic , deci o adaptare foarte bun fa de sarcina


oferit de motor. Ele reprezint totodat i un excelent comutator static,
constantele de timp proprii fiind foarte mici.
n fig 3.18 este reprezentat un astfel de comutator Darlington cuplat pe
una din nfurrile unui motor pas cu pas. Dac semnalul furnizat de
distribuitor este la nivel logic O, tranzistorul T1 se blocheaz determinnd
blocarea tranzistorului T2 i anulnd deci curentul n faz motorului. Pentru
o valoare logic 1, tranzistorul T1 intr n saturaie determinnd conducia
lui T2 si, deci, un curent corespunztor prin nfurarea motorului.
+5V

Faza 1

R1

+E

T1

De la
distribuito

T2
R2

D1

R3

Figura 3.18

Condiile 2 si 3 formulate sunt strns legate de regimul tranzitoriu al


circuitului de sarcin. Propriu-zis, sarcina acestui comutator este
caracterizat prin inductana L a nfurrii motorului, deci evoluia n timp
a curentului corespunde regimului oricrui comutator cu sarcina inductiv.
Considernd comutatorul o structur ideal cu rezistena de ieire R0 se
obine,

E
m
1 e
i (t ) =
Rm + R0

(3.26)

unde m este constanta de timp a circuitului.

m =

L
R m + R0

(3.27)

I(t)

E
Rm

L, Rm
+
E
-

K
Comutator

ideal (R=0)

t f1

Figura 3.19

Timpul de front anterior la comutarea curentului Tfl (figura 3.19b) se


poate aprecia la
t fl 3 m

valoare ce

(3.28)
nu satisface ntotdeauna cerinele

de comutare ale fazelor

motorului, datorit valorii mari ai inductanei L i mici ale rezistenelor Rm si


R0 .
mbuntirea timpului de front este posibil prin tehnici binedezvoltate n literatura de specialitate, cea mai simpl procedur de
micorare a constantei de timp Tm constnd n introducerea n serie cu
nfurarea motorului a unei rezistene R. Noua constant de timp va fi.

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

Dezavantajul principal al metodei const n creterea puterii consumate


prin disiparea acesteia n rezistena intern R. Acest neajuns poate fi
remediat prin meninerea rezistenei R numai pe durata regimului tranzitoriu
i anularea ei n restul intervalului de timp. n figura 3.20 este prezentat
aceast soluie n care rezistena R, comun tuturor fazelor motorului, este
scurtcircuitat prin tranzistorul T. Un bloc de control asigur comutarea
tranzistorului T n intervalele de timp necesare.
Un aspect caracteristic comutaiei n circuitele inductive este apariia
supratensiunilor n colectorii tranzistorilor finali la comutarea intern a

curentului. n acest caz, curentul nu devine imediat zero, ci se menine n


nfurare datorit inductivitii acesteia. Efectul imediat este apariia
supratensiunii ce poate provoca strpungerea tranzistorilor i n acelai timp
se creeaz riscul alimentrii simultane a dou faze, cea blocat i faza
succesoare acesteia (prin comutarea distribuitorului). Rezultatul este un efect
de frnare al motorului.
Eliminarea acestui neajuns se obine prin montarea n paralel cu
nfurrile motorului a unor diode (figura 3.18) sau unor circuite formate
din diode i rezistene (figura 3.20), ultimele elemente avnd ca scop
micorarea costantei de timp de descrcare.

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.

ntr-o structur multiprocesor, fiecrei axe de micare i se asociaz cte un procesor


mpreun cu modulele de interfa auxiliare ctre dispozitivul de acionare i ctre sistemul de
traductoare de deplasare. Un procesor specializat coordoneaz i supervizeaz ntregul proces,
acesta asumndu-i, n acelai timp, o serie de sarcini ce nu pot fi distribuite procesoarelor locale.
Aceast distribuie a funciilor de conducere ntre cteva procesoare are, n primul rnd,
avantajul unei distribuii a efortului de calcul care, ntr-o conducere n timp real, este ntotdeauna
prioritar.Aceast soluie va fi, deci, recomandabil n sistemele mai lente, cu un set de instruciuni
redus, i cu timpi de prelucrare mari.
Dac procesoarele utilizate sunt microprocesoare pe 16 sau 32 bii cu o prelucrare rapid
de informaie i care conin un set bogat de instruciuni, atunci o arhitectur de tip multiprocesor
nu este recomandat, ntregul sistem de conducere putnd fi acoperit cu un singuur procesor.
Indiferent de tipul arhitecturii utilizate, o caracteristic de baz a acesteia este
modularitatea. Aceast modularitate trebuie privit sub dou aspecte:
Modularitate funcional ce reflect tendina sistemului de a rmne constant (ca
structur) pentru orice extindere solicitat. Astfel, dac se dorete introducerea unei bucle de
conducere pentru nc o ax de micare, aceasta implic integrarea unui set nou de funcii
(hardware i software) fr a modifica structura existent.
Modularitatea fizic indic integrarea uneia sau a mai multor uniti fizice ntr-o singur
unitate funcional. Aceast organizare ofer avantaje deosebite n fazele de proiectare i de
explorare ale echipamentului.
n continuare va fi analizat detaliat o arhitectur tip monoprocesor a crei structur se va
regsi n toate configuraiile uzuale de conducere (figura 10.1).
TERMINAL
OPERATOR

MICROPROCESOR

MEMORIE
RAM-EPROM

INTERFA MEMORIE
MAGNETIC

TABLOU
INSTRUIRE
INTERFA
OPERATOR

INTERFEE I/O

INTERFA MEMORIE
MAGNETIC

INTERFA MEMORIE
MAGNETIC

FLOPPY DISK, CASETE

INTERFA MEMORIE
MAGNETIC

Figura 10.1

Unitatea principal a sistemului este microprocesorul mpreun cu unitile de memorie


aferente. Caracteristicile microprocesorului determin direct puterea unitii de control i
flexibilitatea acesteia.
n principiu, performanele microprocesorului trebuie s corespund unui standard ridicat,
prin aceasta nelegnd:
O unitate aritmetic i logic capabil s manipuleze date pe 16 bii i s realizeze
operaii aritmetice complexe ca adunarea i inmulirea;
Un sistem puternic de gestionare a intrrilor i ieirilor n timp real;
Un set bogat de instruciuni cu mai multe moduri de adresare;
Timpul asociat ciclurilor main s fie mic;
O serie de microprocesoare comerciale satisfac aceste deziderate. Menionm n acest sens
seria 9000 de la Texas Instruments, Motorola 6800, Intel 8086 etc.
Memoria sistemului este format din componente ROM, PROM sau EPROM ce
memoreaz programul de control general al robotului i componentele RAM utilizate n fazele de
execuie i pentru memorarea unor variabile n ciclurile de instruire.
Arhitectura sistemului cuprinde un set de module de interfa prin care se achiziioneaz
informaiile traductoarelor de msur sau ale sistemului senzorial i prin care se transmit
comenzile de acionare.
Informaia de poziie este primit de la un traductor incremental sau absolut i este
convertit n circuitul de interfa n semnale compatibile cu microprocesorul. Informaia de
comand este obinut n urma unei prelucrri numerice a algoritmului de conducere sub forma
unui semnal numeric i este convertit n sistemul de interfaare ntr-un semnal, de obicei
analogic, care activeaz blocul de acionare corespunztor.
Cele dou mrimi, de poziie i de comand, asigur legtura microprocesorului cu obiectul
condus, robotul, i asigur funcionalitatea arhitecturii ca un sistem n circuit nchis.
O funcionare tipic de conducere a robotului pe o traiectorie dat se realizeaz n modul
urmtor. La intervale de timp egale, microprocesorul calculeaz coordonatele necesare pentru
deplasarea terminalului, cu o mrime corespunztoare intervalului de timp i cu o orientare
adecvat, n lungul traiectoriei de lucru. Aceste coordonate sunt comparate cu cele primite de la
traductoare, eroarea rezultat este introdus intr-un regulator PID (implementat software) ai crui
coeficieni sunt dependeni de caracteristicile sistemului. Ieirile regulatorului comand sistemul
de acionare prin circuitul de interfaare. n scopul obinerii unei stabiliti garantate n circuit
nchis, ntregul sistem trebuie s opereze la o frecven ridicat.
Un modul de interfat specific acestei arhitecturi este cel care asigur legtura cu
operatorul. n mod normal operatorul acioneaz asupra microprocesorului prin dou moduri: un
pupitru (tablou) de comand i un panou (pupitru de intruire).
Primul asigur o legtur permanent cu robotul i cu microprocesorul semnalnd diferitele
regimuri funcionale i permind o intervenie direct. Al doilea sistem asigur funciile de
instruire i este realizat ca o unitate fizic portabil ce permite deplasarea operatorului n imediata
vecintate a robotului n scopul obinerii unei instruciuni concrete.
Ultimul modul n aceast configuraie asigur legtura direct intrare - ieire cu spaiul
extern al microprocesorului, acesta fiind concretizat aici de structura mecanic a robotului i de
mediul de operare al acestuia. Prin acest sistem de interfa microprocesorul primete informaiile
senzorilor din structura robotului sau a spaiului de lucru al acestuia i permite obinerea unei
comportri adaptive fa de orice modificare a parametrilor respectivi.

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.

Implementarea sistemelor de conducere


Indiferent de structura de conducere adoptat, una din funciile de baz ale
microprocesorului va consta n acoperirea controlerului numeric ce asigur performanele de
regim staionar i dinamic ale elementelor mecanice. O funcionare corect n acest sens este
posibil numai dac controlerul realizat opereaz n timp real ceea ce impune o prelucrare
adecvat a semnalelor (eantionate i cuantificate), o procesare intern conform algoritmului
adoptat i o generare corespunztoare a mrimilor de comand necesare.
n anumite configuraii standard, controlerul numeric nu reprezint altceva dect o
transpunere digital a clasicului regulator sau compensator utilizat n buclele de reglare
convenionale. n acest caz efortul de calcul este minim i acoperirea este posibil utiliznd un
suport hardware modest. n cazurile unor abordri mai sofisticate a sistemului de conducere se
impune mai nti o mbuntire i filtrare a acestuia utiliznd tehnici de calcul corespunztoare i
apoi implementarea unor legi de conducere cu performane ridicate.
Indiferent de complexitatea soluiilor abordate, structura general a sistemului de
conducere are forma prezentat n figura 10.3. Un bloc de eantionare determin discretizarea

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)

unde T este perioada de eantionare.

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)

Controlerul numeric genereaz comenzile ui conform relaiei:

ui = G (ei )

(10.3)

unde G reprezint legea de control utilizat.


Ambele funcii de prelucrare numeric, a controlerului i cea a blocului comparator
(calculul erorii) sunt acoperite de microprocesor. Acesta furnizeaz la ieire o mrime de
comand numeric ui incompatibil n general cu sistemul de acionare al robotului. Conversia
semnalului de comand discret ui ntr-un semnal continuu u (t ) se realizeaz cu circuite de
extrapolare. Se prefer utilizarea unor extrapolare de ordin zero avnd n vedere facilitile de
realizare fizic a acestora. ntr-adevr, datorit caracteristicilor specifice

u (t ) = ui

pentru iT t (i + 1)T

(10.4)

ele pot fi obinute cu simple elemente de memorie analogic.


Principiile teoretice referitoare la gsirea celor mai adecvate soluii privind implementarea
sistemului numeric de control au fost analizate ntr-un numr mai mare de lucrri [3, 32, 89, 118].
n cele ce urmeaz vor fi abordate cteva metode ce permit obinerea unor soluii relativ comode.

Proceduri de implementare convenionale


Una din cele mai simple modaliti de proiectare const n utilizarea procedurilor clasice de
sintez a sistemului de conducere pentru semnale continue n timp i conversia acestui sistem
ntr-un sistem discret analiznd toate implicaiile ce decurg din aceast transformare. Acestea se

refer n general la efectele privind deteriorarea stabilitii sistemului ca urmare a eantionrii


semnalelor.
ntr-o form simplificat, etapele ce definesc aceste proceduri sunt urmtoarele:
i)
Se proiecteaz structura de conducere a fiecrei articulaii mecanice astfel nct s
se asigure performanele de regim staionar i dinamice impuse utiliznd tehnicile specifice
semnalelor continue. Aceste metode au fost analizate n capitolul 5 i corespund unor proceduri
destul de familiare proiectanilor de sisteme automate. Relund anumite aspecte discutate
anterior, un astfel de sistem va avea forma prezentat n figura 10.4,a. Mai exact, pentru cazul
unei articulaii de rotaie, n figura 10.4,b. sunt indicate funciile de transfer ale elementului
mecanic i al sistemului de acionare (motor de curent continuu Y ( s ) = km . Regulatorul YR ( s) va
avea o funcie de transfer mai mult sau mai puin complicat conform performanelor impuse
ntregului sistem de conducere.

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)

iar f b este lrgimea de band a sistemului n bucl nchis.


Alte criterii [118] impun o soluie de forma :

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)

n condiiile n care aceast modificare structural menine calitativ regimurile funcionale


dorite se poate trece le etapa urmtoare, n caz contrar o modificare a perioadei de eantionare T
(micorarea acesteia) fiind imperios necesar.
iii) Se aplic transformanta Z funciei de transfer a regulatorului determinnd astfel
funcia de transfer direct a controlerului numeric.
YR ( z ) = Z {YR (s )}

(10.9)

De asemenea, notnd prin


kf

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)

Relaia (10.2) constituie punctul de plecare al implementrii controlerului numeric.


iv)

Se determin algoritmul de funcionare al controlerului

u (z ) a1 + a2 z 1 + .... + ak z k
=
e( z ) 1 + b1 z 1 + .... + bn z n

u (z ) = a1 + a2 z 1 + .... + ak z k e(z ) b1 z 1 + .... + bn z n u ( z )


sau, n domeniul timp
u (t ) = a1e(t ) + a2 e(t T ) + .... + ak e(t kT ) b1u (t T ) .... bn u (t nT )

(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)

Performanele solicitate sistemului sunt :


7 .5 %
Supraurmrirea
Eroarea staionar nul pentru semnalul treapt unitar
E =0

(10.15)

Eroare staionar la semnale rampa unitara

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)

Pentru alegerea perioadei de eantionare T se determin constanta de timp a elementelor


mecanice.

f =

1
= 0.37 s
2.67

Utiliznd drept criteriu de selecie realia (10.7) rezult


1
T f = 0.063s
5
n acest sens se alege perioada de eantionare la valoarea T = 0.02 s . Funcia de transfer a
extrapolarului de ordin zero, se poate aproxima printr-o dezvoltare Pade de ordin 1 sub forma:
1 e sT
=
s

2
2
T
=
=
2 s + 100
sT
1+
s+
2
T

Funcia de transfer a cii directe va deveni n acest caz (figura 10.5)

Y (s) =

5064( s + 3.64)
s( s + 71.07 )( s + 2.67)( S + 100)

Analiza stabilitii implic trasarea locului rdcinilor funciei de transfer :

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

Din (10.18) rezult:

YR ( z ) = k

1 z 1e 3.64T
1 z 1e 71.07T

Pentru T = 0.02 s , se obine:

YR ( z ) = k

z 0.9297
z 0.2414

Utiliznd relaia (10.4) se determin k :

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)

Pentru implementarea numeric a relaiei (10.6) se impune utilizarea coeficienilor


subunitari. Definind, pentru aceasta, variabila:

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

Proiectarea direct n domeniul timp


Aceast metod de proiectare specific sistemelor discrete permite determinarea direct a
funciei de transfer a regulatorului numeric pe baza rspunsului dorit, impus la un semnal de
referin dat (de obicei o treapt unitar discret sau o ramp unitar discret). Procedura are
avantajul unei simpliti remarcabile ea eliminnd tehnicile laborioase de alocare a zerourilor i
polilor n domenii specificate unor metode ce implic un calcul pretenios i nu ntotdeauna
exact.
Pentru exemplificarea procedurii s considerm schema ganeral de reglare a poziiei
printr-o articulaie de rotaie (figura 10.6). Sistemul de conducere urmrete obinerea unei
comportri impuse, unei evoluii dorite a variabilei q pentru un semnal tipizat pe intrare, de
exemplu treapta unitar (figura 10.10).
Fie deci {q i} mulimea valorilor discrete ale rspunsului dorit, un semnal treapt. Cu
aceste date se poate obine transformata n Z a mrimii de ieire.
q ( z 1 ) = q 1 z 1 + q 2 z 2 + ..... + q p z p + z ( p +1) + z ( p + 2 ) + ...........
unde:

q p +1 = q p + 2 = ............... = 1

datorit atingerii valorii staionare dup p pai.

(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)

Pe de alt parte, dac Y0 ( z 1 ) este funcia de transfer corespunztoare n circuitul nchis,


atunci rspunsul la un semnal treapt unitar :
qd ( z 1 ) =

(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)

Funcia de transfer a regulatorului se obine din :


YR ( z 1 )Y f ( z 1 )

Y0 ( z ) =

(10.31)

1 + YR ( z 1 )Y f ( z 1 )

unde Y f ( z 1 ) rezult din figura (10.6) sub forma :


Y f ( z 1 ) = Z

kf
1 e Ts

s
s ( s + a)

(10.32)

Aplicnd tehnicile cunoscute de transformare, rezult:


Y f ( z 1 ) =

kf

(10.33)

(1 z )(1 z 1e aT )

ntruct Y f ( z 1 ) nu conine zerouri, exist riscul introducerii unor elemente instabile n


circuit nchis, deci YR ( z 1 ) se poate determina direct din (10.31):

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 ) =

z 3 (1 z 1 )(1 0.92 z 1 )(0.028 + 0.0320 z 1 + 0.02 z 2 + 0.02 z 3 ) u ( z 1 )


=
(1 0.28 z 3 0.32 z 4 0.20 z 5 0.2 z 6 )
e( z 1 )

Prelucrarea acestei relaii determin algoritmul final:

u I = 0.28u i 3 + 0.32u i 4 + 0.2u i 5 + 0.2u i 6 + 0.028ei 3 0.025ei 4 0.011ei 5 +


+ 0.011ei 6 0.02ei 7 + 0.018ei 8

Implementarea sistemului de msurare al mrimilor analogice


Numeroase criterii concureaz la stabilirea componentelor i dimensiunilor sistemului de
conducere. ntre aceste elemente putem amintii:
Acoperirea performanelor impuse;
Eliminarea incertitudinilor funcionale n condiii reale de operare;
Facilitai de testare;
Preuri de cost rezonabile pe componente i pe ntreaga structura, etc.
Toate aceste criterii permit stabilirea unui cadru general n care trebuie cuprins arhitectura
viitorului sistem. Alegerea exact a unor soluii hardware de implementare se realizeaz prin
utilizarea unor metode specifice, bazate pe o analiz amnunita a semnalelor prelucrate i a
algoritmului implementat.
n cele ce urmeaz vom aborda principalele etape ce intervin n aceste proceduri.

Dimensionarea convertorului analog-numeric


Implementarea oricrui algoritm de conducere presupune, n primul rnd, determinarea
parametrilor elementului de conversie al mrimilor msurate de traductoarele de poziie, n spe
convertorul analog-numeric.
Parametrul principal al acestui convertor l reprezint numrul de bii ce definete
conversia analog-numeric.

q nCAN =

smax
smin

(10.35)

deci

nCAN = log 2

smax
smin

(10.36)

De exemplu, presupunnd un semnal normalizat, deci S max = 1V i o rezoluie 1% atunci :


nCAN = log 2

1
;
0.01

6 < nCAN < 7


Se alege deci nCAN = 7 . ntr-o reprezentare n complement fa de 2 se aloc un bit pentru
semn, deci n final :

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

Caracteristica general a conversiei i cteva mrimi semnificative sunt prezentate n figura


10.11.b

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.

Conectarea convertorului analog-numeric la procesor


Interfaarea cu un microprocesor a convertorului cere executarea unui dialog ntre cele
dou sisteme. Acest dialog se poate rezuma n executarea urmtoarelor operaii :

UC-ul microprocesorului trimite un semnal de START convertorului pentru


iniializarea procesului;

UC analizeaz bitul de stare ST pentru a aprecia nchiderea conversiei;

UC ncarc ntr-un registru intern informaia numeric .

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;

ETICHETEAZ ADRESELE DE LUCRU


GENEREAZ SEMNALUL START
INTRODUCE SET PE REGISTRU A

MOV
RAL
JNC
JMP
DATA LDA
STA

A,NRA+2; NCARC BITUL ST


TESTEAZ BITUL ST

DATA;
TEST;
NRA;
NRX;

GENEREAZ CS I NCARCA N A VALOREA


CONVERSIEI
NCARC DATELE LA ADRESA DORIT

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;

GENEREAZ SEMNALUL START


SE REALIZEAZ NTRZIEREA DORIT

SE NCARC VALOAREA CONVERSIEI


SE NCARC DATELE LA ADRESA DORIT

Implementarea controlerului numeric


Funcia de baz a microprocesorului const n generarea secvenelor de comand n
conformitate cu algoritmul de control stabilit. Propriu-zis, realizarea acestui deziderat implic
dimensionarea corect a structurii hardware necesare i apoi implementarea software a
algoritmului ce genereaz secvenele dorite.
Un prim factor important n stabilirea configuraiei sistemului l constituie determinarea
corect a lungimii cuvntului de date. Desigur, n estimarea numrului de bii necesar pentru
acoperirea operaiilor matematice concur numeroi factori cum ar fi: frecvena de eantionare,
complexitatea algoritmului utilizat, disponibilitile hardware etc. n cadrul acestei seciuni vor fi
analizate elementele ce deriv din implementarea numeric a algoritmului n contextul existenei
unor restricii privind lungimea maxim de cuvnt acceptat de suportul hardware al sistemului.

Dimensionarea lungimii cuvntului de date


n conformitate cu cele discutate n seciunile precedente, forma general a funciei de
transfer a controlerului numeric este (relaia 10.12)
k

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)

unde a i si bi desemneaz valorile obinute prin reprezentarea numeric n n bii a coeficienilor


reali ai, bi, respectiv iar i, i sunt erorile corespunztoare.
ntr-o reprezentare n complement fa de doi, mrimea treptei de discretizare numeric
corespunde valorii

= 2 n +1
Din figura 10.11 se obine imediat condiia:

i
2

deci

(10.40)

i 2 n

(10.41)

i 2 n

innd cont de alterarea coeficienilor ai i bi funcia de transfer a controlerului devine:


k

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)

unde e-zrT, r=1,2, m sunt polii sistemului.


Pentru exemplificare, s considerm funcia de transfer (10.21) rescris sub forma:

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

n > INTREG - log 2 3 71,07.0,02) = 3,6


2

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.

Implementarea algoritmului de control


Funcia de control a microprocesorului const n calculul erorii sistemului de conducere i
generarea pe baza acesteia a mrimii de comand.
Eroarea este obinut prin diferena ntre valoarea prescris i cea msurat i convertit de
CAN. Toate mrimile sunt subunitare i reprezentate numeric n complement fa de 2. ntruct
calculul diferenei poate determina uneori erori prin depirea capacitii registrelor, se impune
semnalizarea acestor cazuri.
n continuare se va prezenta un subprogram de calcul; utiliznd instruciunile
microprocesorului 8080.
NRX: DW
NRQ: DW

0001H; ADRESA DATELOR CONVERTITE DIN CAN


1001H; ADRESA DATELOR PRESCRISE

NRF:
NRP:

DW
DW
LDA
SUI
STANRF

0004H;
0006H;
NRQ;
NRX

ADRESA MRIMII DE EROARE


ADRESA SEMNALULUI DE DEPIRE
NCARC N ACC VALOAREA PRESCRIS
SCADE MRIMEA MSURAT
SALVEAZ VALOAREA ERORII

Pentru identificarea situaiilor de depire se compar biii de semn ai fiecrui termen cu


cel obinut prin adunare. n acest scop se execut o funcie logic SAU EXCLUSIV ntre
mrimile analizate urmat de o deplasare la stnga ceea ce permite izolarea bitului de semn.

CONT:

IMPR1:
IMPR2:
CALC:

INCORECT:
CORECT:

SE COMPAR BITUL DE SEMN


LHLD
NRX;
NTRE UN TERMEN I REZULTAT
XRA
H;
RLC
JC
IMPR1
SE COMPAR BITUL DE SEMN
LDA
NRF;
NTRE AL DOILEA TERMEN
LHLD
NRQ;
I REZULTAT
XRA
H;
RLC
JC
IMPR2
JMP
CALC
MVI
N PRIMUL CAZ SE NSCRIE
C, OFFH;
JMP
N C NUMARUL FFH
CONT;
MVI
N AL DOILEA CAZ SE
D, OFFH;
LDA
NSCRIE N D NUMRUL FFH
D;
CMP
SE COMPAR REZULTATELE
C;
UZ
INCORECT
JMP
CORECT
MVI NRF, OFFH;
REVENIREA DIN SUBPROGRAM

Pentru implementarea n continuare a algoritmului de calcul vom considera sistemul de


control definit prin relatile (10.23), (10.24), care va fi reluat sub forma

wi = c1u i 1 + c 2 ei + c3 ei 1

(10.45)

u i = 256 wi

(10.46)

Coeficienii c1, c2, c3 sunt numere subunitare ce vor fi definite prin:

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)

Unde U1 si E1 poate fi rescris pentru o implementare ntr-o faz anterioar. Pentru


iniializare se va considera:

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.

Formarea semnalelor de ieire pentru acionare electric


Comanda final a dispozitivelor de acionare (motoare de c.c.) necesit refacerea analogic
a semnalului numeric. Aceast conversie de semnal este realizat prin blocuri specializate CNA
care genereaza la ieire un semnal continuu corespunztor ponderii coeficienilor ce apar n
expresia numeric prelucrat.
Domeniul tensiunii de ieire este bipolar i poate fi ales, n funcie de o mrime de referin
aplicat Uref n gama 2.5 V, 5 V, 10 V.
Cuplarea unui astfel de convertor la microprocesor este prezentat n figura 10.13.
Magistrala de date este cuplat pe intrarea convertorului, conversia fiind realizat pe 8 bii
prin trunchierea celor 16 bii rezideni n zonele Z, Z+1 de memorie. Dac se dorete o conversie
pe 16 bii, cuplarea se realizeaz prin dou porturi i prin utilizarea unui convertor de construcie
special.

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

In condiiile n care procesorul comand mai multe dispozitive analogice, se impune o


demultiplexare analogic controlat (figura 10.14).
De asemenea, n cazul n care nivelele n putere si tensiune ale semnalelor furnizate
depesc resursele circuitelor utilizate, se pot utiliza circuite speciale pentru adaptare.

Controlul
evoluat

interfarii

microprocesor-robot

printr-un

limbaj

Sistemul de conexiuni microprocesor-robot se bazeaz pe existena unuia sau mai multor


circuite de intrare-ieire (PIA-Peripheral Interface Adaptor) care realizeaz interfaa ntre
porturile microprocesorului i perifericile robotului. Programarea microprocesorului n scopul
realizrii interfeei dorite se poate realiza fie n limbajul de asamblare al microprocesorului, fie
ntr-un limbaj de nivel nalt, de exemplu n Basic, limbaj facil i uor implementabil. Utilizarea
asamblorului ofer avantaje deloc neglijabile cum ar fi:
O vitez de execuie de 10-100 ori mai mare, ceea ce poate constitui un element esenial
ntr-o serie de aplicaii de conducere
Un spaiu de memorie redus, sub 2k.
Dac nsa aceste caracteristici nu sunt prioritare, utilizarea limbajului Basic, sau a altui
limbaj evoluat, este recomandabil.

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

Sistemul cuprinde o serie de circuite de extensie modularizate n cartele.O cartel cuprinde


circuite specializate pentru prelucrarea intrrilor sau a ieirilor, numerice sau analogice.O cartel
principal sau de baz asigur cuplarea direct cu microprocesorul. Ea permite identificarea
cartelelor de serviciu prin activarea unor linii de selecie.
n general sistemul este format din patru cartele de achiziie i patru cartele de
ieiri.Cuplarea se realizeaz printr-o magistral intern de date.Dac se consider c adresele
acestor cartele sunt 56832-56835, atunci selecia unei cartele de ieire se face prin instruciunea

POKE adres (56832 - 56835), valoarea (0 - 255)


ceea ce va determina transmiterea valorii dorite pe magistrala cartelei adresate.De asemenea,
adresarea unei cartele de intrare se realizeaz prin

PEEK adres (56832 - 56835)


n acest caz, pe magistrala intern se va transmite combinaia binar, ponderat, a variabilei
conectate.
n figura 10.17 sunt prezente dou cartele pentru variabile binare.Astfel, instruciunea
PEEK 56832
va nsemna transferul n microprocesor a valorii 00 110 100 iar instruciunea
POKE 56833.3
va determina anclaarea motorului de curent continuu i a releului R prin comanda
00000011.

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

Comanda accelerarii unui motor de c.c.


Ca o prim aplicaie se va lua n considerare sistemul de accelerare-decelerare al unui
motor de c.c. Se va utiliza cartela de ieiri analogice conectat pe adresa 56835. ntruct semnalul
furnizat nu corespunde parametrilor cerui de motor, se utilizeaz un amplificator de putere
intermediar (figura 10.19b.)
Diagrama tensiunii de comand pentru un regim de accelerare dorit este prezentat n
figura 10.19a. Panta regimului este

P=

U
T1

unde U este aptitudinea palierului semnalului (echivalent cu un semnal numeric de


valoare 255) iar T1 este timpul real de evoluie. Apreciind c scara de timp a procesorului este
mult mai mare ca a elementului comandat
t p 1000t motor

ui

R2
R1

ui
R3

U
T1

(a)

(b)
Figura 10.19

relaia de mai sus devine:


P=

255
1000T1

Programul complet de conducere va fi :


10 REM-ACCELERARE20 T = 1000* T1
30 P = 255/T
40 FOR UI = 0 TO 255 STEP P
50 POKE 56835,UI
60 NEXT UI
70 END

Controlul unui manipulator ce deservete un punct de tratare chimic


Se propune, n continuare, analiza posibilitii de implementare a sistemului de control
pentru un manipulator cu dubl acionare: electric i hidraulic.

Manipulatorul alimenteaz cu piese grele o cuv cu soluii preparate pentru tratarea


chimic.Tratarea se realizeaz la o temperatur prescris i pe o durat de timp predeterminat
(figura 10.20).

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 :

Cartela de intrri binare (adresa 56832) : 0 Limitator P0


1 Limitator P1
2 Limitator L0
3 Limitator L1

Cartela de ieiri binare (adresa 56833) : 0 Mers dreapta D


1 Mers stnga S
2 Electroventil ridicare R
3 Electroventil coborre C
4 Electroutil abur V
5 Melanjor M
Cartela intrri analogice (adresa 56834) : 0 Termometru Th

Programul de conducere va avea forma urmtoare :


10
20
30
40
50
60
70
80
90
100
110
120
130
140
150
160
170
180
190
200
210
220
230
240

REM CONTROLUL MANIPULATORTO = T0


POKE 556833,1
X=PEEK 56832 AND 21
IF X=0 THEN 40
POKE 56833, 23 + 25
Y=PEEK 56832 AND 23
IF Y=0 THEN 70
POKE 56833, 24
POKE 56834, 20
TL=PEEK 56834
TA=20+TL * 180/250
IF TA < TO THEN 100
POKE 56832, 25
T1=3600*1000
FOR I=1 to T1: NEXT I
POKE 56833, 22
Y=PEEK 56832 AND 22
IF Y=0 THEN 180
POKE 56833, 21
X=PEEK 56832, 20
IF X=0 THEN 210
POKE 56833, 0
END
3
F0

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.

Controlul acionrii prin motoare pas cu pas.


Se va aborda n continuare controlul n bucl deschis al acionrilor robotice cu motoare
pas cu pas discutate n capitolul 3.1.2. Se va considera un motor p.p. cu patru nfurri statorice
alimentate prin intermediul unei interfee de putere cu circuite Darlington (figura 3.18).
Microprocesorul va asigura controlul alimentrii fazelor conform unei logici impuse (figura
10.22).

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

Instruciunile 20-60 definesc , ca i n programul anterior, logica de comutare a fazelor.


Instruciunea 80 introduce o condiie de oprire a deplasrii motorului printr-o variabil, un buton
de presiune ce cupleaz linia D6 la mas. Dac acest ntreruptor este deschis (valoarea 1) atunci
programul rmne blocat la linia 80. La nchiderea ntreruptorului, linia de date se cupleaz la
mas (valoarea 0) i programul trece la instruciunea urmtoare. Instruciunile 90-100 permit
introducerea valorilor dorite ale distanei (echivalent n numr de pai de motor), a sensului de
deplasare i a vitezei.

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)

Secvena 1: I=1, W=-1+1=0, D=F(0 AND 3)=F(0)

Secvena 2: I=2, W=0+1=1, D=F(1 AND 3)=F(1)


AND se calculeaz vectorial ntre componentele 1 i 3 deci
(00000001) AND (00000011) = (00000001) = 1;

Secvena 3: I=3, W=1+1=2, D=F(2 AND 3)=F(2) pentru c


(00000010) AND (00000011) = (00000010) = 2;

Secvena 4: I=4, W=-2+1=3, D=F(3 AND 3)=F(3):

Secvena 5: I=5, W=3+1=4, D=F(4 AND 3)=F(0) pentru c (00000100) AND


(00000011)=(00000000)=0 etc.
b)
Sens negativ de rotaie (W=0, ROT=-1)
Secvena 1: I=1, W=0-1=-1, D=F (-1 AND 3) = F (3). n acest caz se realizeaz funcia
AND ntre 1(exprimat n complement faa de 2) si 3 deci
-1 AND 3 = (11111111) AND (00000011) = (00000011) = 3
Secvena 2: I=2, W=-1-1=-2, D=F (-2 AND 3) = F (2) pentru c
-2 AND 3 = (11111110) AND (00000011) = (00000010) = 2 etc.
O procedur similar poate fi utilizat pentru alte moduri de comand a fazelor motorului.
Astfel, n figura 10.23 este determinat logica de comand pentru controlul numeric al fazelor
(figura 3.14,c).
10 S=56579: D=56577: DIM F(4)
20: POKE S,15
30: FOR I=0 TO 7
40: READ F(I)
50: NEXT I
60: DATA 1,5,4,6,,2,10,8,9

Logica de control Pondere Vectorul de


a fazelor
Binar
Control
0
F(0)=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

n numeroase aplicaii, efectul de programare este considerabil simplificat prin utilizarea


unor module inteligente care preiau o parte din funciile cerute. Astfel introducerea circuitului
integrat SAA 1027 asigur automat logica de comutare a fazelor, prin programare introducnduse numai parametrii eseniali: distana i sens.
Circuitul SAA 1027 este format dintr-un distribuitor n inel urmat de o logic de generare a
semnalelor de tip simetrie dubl (figurile 3.15 si 3.16) precum i de amplificatoarele de putere
corespunztoare (figura 10.24) [24] .
Controlul circuitului se realizeaz prin bornele T(triger) si R(rotaie), acestea desemnnd
impulsurile de tact ale distribuitorului i respectiv semnul de rotaie. Aceste semnale sunt
controlate direct de micrprocesor prin liniile de date D0 si D1. Dou pori cu colector n gol
asigur compatibilitatea electric ntre magistrala de date i circuit.
+12V
+12V

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

Ieirile circuitului alimenteaz fazele motorului F0 , F1 , F2 , F3 , dup o logic


corespunztoare (tabelul 10.24,b).Programarea microprocesorului se va rezuma la generarea
semnalelor T si R astfel nct s se realizeze rotaia motorului cu o vitez impus, ntr-un sens
specificat, si s acopere o distan de deplasare dorit.
10 S=56579 : D=56577
20 POKE S, 3
30
DI = DISTANA
40
SENS = SENS
50
IF SENS=1 THEN R=2
60 IF SENS=0 THEN R=0
70 FOR I=1 TO DI
80 POKE D, 1+R
90 POKE D, 0+R
100 NEXT I
110
END.
Instruciunile 80 si 90 determin transmisia pe liniile de date, succesiv, a valorilor
3,2,3,2,3,2, (pentru SENS=1) si 1,0,1,0, (pentru SENS=0) deci n binar 11, 10, 11, 10,sau
01, 00, 01, 00, formnd deci bitul de sens D1 la valoarea 1 i respectiv 0 iar bitul de tact D0
sub forma unui impuls cu o perioad egal cu cea a explorrii instruciunilor 70-100. Modificarea
frecvenei de tact necesit introducerea unor instruciuni de ntrziere de aceeai form ca cele
utilizate n programele anterioare.

Comanda unui robot n coordonate carteziene


Ca o aplicaie direct a celor prezentate n paragraful anterior se va aborda problema
comenzii unui robot ce asigur manipularea unei piese ntr-un depozit (fig. 9.16). Acionarea
robotului pe axele X-Y se obine prin motoare p.p iar pe axa Z prin motoare de curent continuu.

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

REM CONTROL ROBOT XYZ POKE 56575,0


POKE 56579, 255
DI1 = N1: DI2=N2: V=VITEZA
IF PEEK(56573) AND 22 THEN 50
POKE 56577, 64+16
IF PEEK(56573) AND 21 THEN 70
FOR I=1 TO DI2
POKE 56577,4

100 FOR J=1 TO V: NEXT J


110 POKE 56577,0
120 FOR J=1 TO V: NEXT J
130 NEXT I
Port

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

FOR I=1 TO DI1


POKE 56577,1
FOR J=1 TO V: NEXT J
POKE 56577,0
FOR J=1 TO V: NEXT J
NEXT I
POKE 56577,32
IF PEEK (56573) AND 20 THEN 210
POKE 56577,128

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)

TACT (Linia O2)

V cicluri FOR:-NEXTV cicluri FOR:-NEXT

Figura 10.27.
n mod similar, prin instruciunile 140 190 este comandat motorul axei X n sens pozitiv
pe distana N1 .

Comanda acionrilor cu motor de curent continuu


a)

Reglajul tot sau nimic al poziiei liniare


n conditiile n care masele elementelor mecanice sunt mici iar performanele impuse
sistemului de reglare sunt modeste se poate accepta acest sistem de reglare, remarcabil prin
simplitatea sa. Microprocesorul compar valoarea prescris a poziiei cu cea msurat de un

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

REM REGLAJ TOT SAU NIMIC U=TENSIUNE NOMINAL


POKE 56834,1
W = PEEK(56834)
POKE 56834,0
X = PEEK(56834)
IF X<W THEN POKE 56835,U
IF X>=W THEN POKE 56834,0
GO TO 30

Instruciunea 20 introduce tensiunea nominal de comand a motorului. Valoarea prescris


W este obinut prin instruciunile 30,40 iar cea msurat prin 50,60. Ultimele instruciuni
definesc logica de generare a tensiunii de ieire.

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)

Reglajul poziiei unghiulare

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.

Cartela de ieiri analogice 56835 formeaz o tensiune n domeniul 0 2.56V dup o


conversie numeric analogic a unei mrimi binare n domeniul 0-155 bii, valoare amplificat
de A1 n domeniul [0,10V].
Logica de generare a ieirii este urmtoarea:
Dac W<X se genereaz un semnal de comand de forma
X W
2
ntr-adevr, dac X=W rezult Y=128 deci 1,28 V dup conversia A/N si 5V dup A1.
Dac X-W [0;255] se obine o tensiune final n gama [5;10V].
Y = 128

Dac W>X, semnalul de comand va fi

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:

10 REM REGLAJ DE POZIIE UNGHIULAR 20 POKE 56834,1


30 W=PEEK(56834)
40 POKE 56834,0
50 X=PEEK(56834)
60 IF W>X THEN Y=128+(W-X)/2: GO TO 90
70 IF W<X THEN Y=128-(W-X)/2: GO TO 90
80 IF W=X THEN Y=128
90 POKE 56835,Y

100 GO TO 20

CONDUCEREA ROBOILOR PRIN CONTROLERE


LOGICE PROGRAMABILE

Capitolul de fa este destinat metodelor de conducere ale unor echipamente speciale


cunoscute frecvent sub denumirea de controlere logice programabile (CLP). Derivnd direct din
automatele programabile , CLP-urile reprezint ultima realizare n domeniul att de diversificat al
echipamentelor de conducere pentru procese secveniale. Proiectate iniial ca simple simulatoare
ale schemelor cu contacte i relee, aceste sisteme s-au impus n ultimii ani prin facilitile
deosebite pe care le ofer att proiectantului ct i utilizatorului.

Controlere logice programabile


Controlerele programabile sunt sisteme specializate destinate acoperirii urmtoarelor
funcii: procesarea datelor, memorare, transfer intrare-ieire. Dei indicativul "logicprogramabil" desemneaz clar existena unor procesoare ce opereaz scalar, n prezent aceste
echipamente pot prelucra de asemenea mrimi numerice, deci pot interveni direct n structuri de
conducere numeric modelnd sau simulnd bucle de reglare complex. Un avantaj caracteristic
acestor sisteme l reprezint posibilitatea vizualizrii programului de conducere printr-o schem
tip "contacte i relee", reprezentare ladder". Aceast reprezentare ofer programatorului un afiaj
electronic extrem de familiar, capabil s permit att faciliti de programare ct i de urmrire a
evoluiei procesului condus. Aceste controlere realizeaz deci fuziunea ntre o tehnic "arhaic"
a schemelor cu contacte i metodele moderne de procesare ale calculatoarelor numerice.
Schema general a unui CLP este prezentat n figura 11.1

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

Transfer toate ieirile


din RAM n canalele
corespunztoare

5s

5s pentru 1 k programe

5s

<==========>

<==================> <==================>
b)
Figura 11.2.

Instruciuni i programarea grafic a CLP


Instruciunile utilizate n programarea CLP se nscriu n gama uzual a instruciunilor
logice avnd n plus caracteristici specifice rezultate din reprezentarea grafic proprie schemelor
ladder.[121,122]
Diagramele ladder au fost utilizate iniial pentru reprezentarea circuitelor electrice.
Ulterior, introducerea controlerelor programabile i dorina de a asigura utilizatorului aceleai
faciliti n urmrirea funcionrii sau n testarea circuitelor au impus adaptarea simbolurilor
circuitelor electrice n logica programabil.
O diagram ladder, n schemele electrice, este format din dou bare verticale ce asigur
potenialul electric necesar i o reea de contacte i bobine (figura 11.3.a).
n figura 11.3.b este prezentat o reprezentare cu o logic similar cu cea oferit de schema
electric dar utiliznd simboluri specifice din CLP. Dei simbolurile folosite de diverse firme nu
au o standardizare riguroas acestea ncearc s pstreze caracterul oferit de simbolurile i
conexiunile electrice din care deriv.

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.

Organigrame de stri i Grafcet


n general, implementarea sistemelor de conducere secvenial se baza pe tehnicile oferite
de organigramele (grafurile) de stri. Acestea permiteau dezvoltarea unor metode puternice de
implementare asociate diverselor sisteme ce reprezentau suportul hardware.
n ultimii ani n literatura de specialitate, n special n cea de provenien francez, s-au
introdus i dezvoltat noi sisteme de reprezentare grafic a evoluiei secveniale a proceselor,
cunoscute sub denumirea de Grafcet.
Dei un Grafcet red n esen aceleai elemente ca i o organigram de stri, anumite
particulariti de reprezentare ofer faciliti att proiectantului ct i utilizatorului, ceea ce a dus
la lrgirea ariei de utilizare i penetrarea metodei ntr-un mare numr de aplicaii.
Un Grafcet este un graf orientat definit printr-un cvadruplet {S , T , E , M } unde:
- S = {S1 , S 2 ,..., S N } este mulimea secvenelor (n particular a strilor);
- T = {T1 , T2 ,..., TP } este mulimea condiiilor ce determin tranziiile dintr-o secven n
alta;
- E = {E1 , E2 ,..., EQ } este mulimea ieirilor generate n timpul evoluiei;

- M = {M 1 , M 2 ,..., M M } reprezint o mulime de valori binare ce desemneaz starea de


activare a fiecarei secvene. Pentru mi = 0 se consider c secvena asociat este neactiv iar
pentru mi = 1 secvena devine activ. n mod normal o singur secven este activ dar pot
exista situaii n care procese concurente pot determina activarea simultan a mai multor
secvene.
Simbolizarea Grafcet-ului nu este unic. n literatur se pot ntlni diverse moduri de
reprezentare. n figura 11.4 este prezentat o metod utilizat frecvent n aplicaii de conducere a
proceselor industriale.
O secven este reprezentat printr-un dreptunghi (sau un cerc) i definit printr-un
identificator de secven. Acesteia i se asociaz o variabil, de obicei o variabil intern, ce
reprezint suportul fizic al secvenei.
Asociat identificatorului de secven i conectat direct la acesta este blocul ieirilor
generate n secvena respectiv. Activarea secvenei (variabilei) nseamn activarea tuturor
ieirilor conectate. n aceast reprezentare se mai poate remarca prezena a dou condiii de
tranziie, prima desemnnd condiiile pentru atingerea secvenei iar a doua reprezentnd condiiile
pentru evoluia n secvena urmtoare. Aceste condiii reprezint fie simple variabile externe, fie
funcii logice complexe obinute prin operatori logici specializai. Conexiunile ntre blocurile unui
Grafcet se obin prin linii orizontale i verticale. Liniile verticale desemneaz evoluii iar cele
orizontale indic posibiliti de ramificare condiionat sau nu. n figura 11.5 sunt prescurtate
dou diagrame, prima ca o ramificare de tip SAU, a doua cu o ramificare I.
De la secvena
precedent

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

Este evident c, n funcie de complexitatea procesului condus, arborescena Grafcet-ului


crete, n aceeai structur putnd fi ntlnite att ramificaii de tip I ct i SAU precum i
configuraii ierarhizate corespunznd unor anumite grade de subordonare. n figura 11.6 este
prezentat un Grafcet cu o astfel de structur, liniile A0 , B0 definind gradul 0 de subordonare iar
liniile A1 , B1 , gradul 1.

S0

E0
T0

A
S11

Ramificaie

E11

S21

T12
S12

&

E21
T22

E12

S22

E22

B
T1
S1

E1
Figura 11.5 b

Un Grafcet poate fi ntotdeauna echivalat cu o organigram (graf) de stri, complexitatea


translatrii fiind dat de gradul de dificultate prin care o secven se descompune ntr-una sau mai
multe stri. n cele mai dese cazuri o secven corespunde unei stri i atunci asimilarea este
simpl (figura 11.7).
n cazurile mai complexe, fiecare secven se nlocuiete cu un numr de stri astfel nct
s preia toat informaia coninut n aceasta. Condiiile de tranziie snt bineneles pstrate.

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.

Implementarea unui Grafcet


Tehnica de implementare a unui Grafcet se bazeaz pe transpunerea n limbajul CLP a unei
funcii logice ce definete:
- set pe condiiile de tranziie TIN (figura 11.4);
- memorarea variabilei asociate secvenei;
- reset pe condiiile de tranziie TOUT .
Dac se noteaz prin Si variabila intern asociat secvenei, condiiile de mai sus se pot
scrie sub forma:

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:

Si = Tinit + TIN Si 1 + Si TOUT

(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)

Generarea variabilelor de ieire se obine fr dificultate utiliznd facilitile de alocare a


ieirilor oferite de un CLP. n figura 11.8 este reprezentat diagrama ecuaiei 11.4 i instruciunile
corespunztoare.

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

Conducerea unui conveior ntr-o instalaie robotizat de vopsire


Ca o prim aplicaie se va aborda problema implementrii sistemului de conducere a unui
conveior utilizat pentru transportul unor subansamble (plci) ntr-o instalaie robotizat de
vopsire. ntregul sistem este prezentat n figura 11.10.
Tehnologic, conveiorul este format dintr-un lan transportor cu o latur inferioar activ i
una superioar pasiv. Latura activ conine 10 puncte de prindere n care sunt montate panourile.
Acestea sunt prinse n punctul de ncrcare i avanseaz secvenial att prin punctele de vopsire
ct i prin cuptorul de uscare i coacere.
Linia este prevzut cu doi roboi ce asigur vopsirea pe fiecare fa a panourilor cnd
acestea ajung n poziiile c3 , respectiv c5 . Poziiile c6 , c7 , c8 corespund deplasrii n zona
cuptorului iar c9 reprezint punctul de descrcare.

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,

fiecare celul Ri adus n starea logic 1 reprezentnd marcarea secvenei corespunztoare Si .

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

R6 , R7 , R8 determin activarea becurilor n infrarou ale cuptorului.


Att schema ladder prezentat ct i programul asociat demonstreaz clar, fa de
complexitatea problemei abordate, elegana i simplitatea soluiei.

Conducerea unui robot n coordonate cilindice


Se va analiza n continuare posibilitatea implementrii unui sistem de conducere pentru un
robot n coordonate cilindrice ce deservete o celul de prelucrare. Celula este alimentat cu piese
neprelucrate printr-o band transportoare, piesele fiind dispuse ordonat pe palete, cte 8 pe fiecare
palet n grupe de cte 4 (figura 11.17). Robotul transfer succesiv piesele n punctul de
prelucrare (pres) urmnd o traiectorie impus.

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

Variabile ieire Alocare


CLP
Acionare r+
200

Secvene

Alocare
CLP

s0

Griper nchis GRI

r-

201

..

Griper deschis GRD

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

Implementarea algoritmilor de reglare


Sistemele CLP echipate cu canale de intrare de tip analogic pot realiza operaii matematice
asupra mrimilor de intrare achiziionate i transfer rezultatul direct, prin modulele de ieire, n
sistemele de acionare ale articulaiilor mecanice ale roboilor. Nivelul i complexitatea
algoritmului de control depinde de viteza i capacitatea de operare a controlerului.
n mod uzual un CLP poate realiza algoritmi de reglare de timp proporional utilizabili n
sistemele de acionare hidraulice. n sistemele de acionare electric un astfel de control este
nesatisfactor, performanele realizate fiind departe de cerinele impuse. CLP-urile standard
conin o subrutin rezident n memorie ce se apeleaz la cerere i se actualizeaz conform
parametrilor impui. Termenii matematici necesari sunt aproximai cu o precizie rezonabil ceea
ce impune un timp mare de procesare. n ansamblu metoda se poate aprecia ca o metod nu prea
rapid.
O soluie mai aceptabil const n introducerea unor module inteligente PID ce conin att
canalele de intrare - ieire necesare ct i un microprocesor specializat pentru calculul matematic
aferent. Acest procesor opereaz n paralel cu unitatea central a CLP absolvind-o de toate
calculele implicate de algoritm, acesta avnd rolul numai de actualizarea a parametrilor n
memoria ROM a modulului. n plus, modulul poate realiza procesri ale semnalului de intrare,
filtrare, netezire, fcndu-1 compatibil cu calculele matematice ulterioare.
Utilizarea algoritmilor PID printr-o diagram ladder implic apelarea unui meniu care
specific: valoarea prescris, intrarea msurat, blocul PID apelat, valorile numerice ale
coeficienilor PID precum i ieirea utilizat.
(D142)

(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.

Sisteme de conducere fuzzy


Introducere
Metodele de conducere convenional se bazeaz pe o modelare corespunztoare a
sistemului supus reglrii i o tratare analitic cu ajutorul funciilor de transfer sau a ecuaiilor de
stare. n majoritatea cazurilor, o tratare complet a problemei conducerii impune cunotine
avansate de matematic i sisteme de conducere.
n contrast cu tehnicile convenionale, metodele fuzzy de conducere ofer soluii mult mai
pragmatice, cu evidente faciliti de aplicare n domenii diverse, impunnd cunotine de nivel
acceptabil n domeniul sistemelor, logic de control i tehnologie.
Utilizarea logicii fuzzy n implementarea unor sisteme de conducere n condiiile absenei
unei informaii totale asupra sistemului a reprezentat, de asemenea, unul din factorii care au
determinat larga rspndire a controlului fuzzy n cele mai diverse domenii. Am asistat ( n
ultimele dou decenii) i asistam la o adevrat explozie a tehnicilor de implementare de tip fuzzy
att n problemele clasice de control ct i n domeniul sistemelor expert, ale inteligenei
artificiale sau n complexele probleme de decizii n domeniul economic.
Conceptul de Logic Fuzzy a fost introdus pentru prima dat de Lotfi A. Zadeh de la
Universitatea din California, Berkley, n 1965 n lucrarea Fuzzy Sets [1]. La acea epoc, de
afirmare a calculatoarelor numerice bazate pe logic exact 0, 1, un astfel de concept prea
neverosimil. Zadeh, prin aceast logic fuzzy a impus o alt modalitate de tratare a problemelor
n care mrimile ce determin evoluia unui sistem nu au frontierele clar definite, 0 sau 1, alb sau
negru, aceasta putnd fi asociate unei anumite zone incerte, gri. De fapt, logica fuzzy d o nou
interpretare a logicii cu mai multe valori formulat de Lukasievici [2]. De exemplu, sistemele
ternare (cu trei valori logice 0, 1/2, 1) au fost studiate n nenumrate lucrri de algebr de
comutaie, dar Zadeh a introdus conceptul de mulime fuzzy, vag pentru cazurile cnd
frontiera valorii 1/2 are o caracteristic incert.
Primele aplicaii ale acestui nou concept au aprut n jurul anilor 1975 n domeniile
economic i medicin. Ulterior, japonezii au introdus metodele fuzzy n sistemele de control cu
aplicaii diverse n industrie sau n echipamente electrocasnice.
Sfritul secolului trecut marcheaz o cretere spectaculoas a metodelor fuzzy datorat
att noilor domenii de aplicaie: robotic, inteligen artificial, industrie uoar, industria
materiilor compozite, navigaie, economie, etc., ct i extinderii geografice a noilor utilizatori n
SUA i Europa.

Principiul logicii fuzzy


Logica fuzzy poate fi interpretat ca un concept de implementare a logicii umane n
problemele de tip ingineresc. n limbajul uman exist diferite tipuri de inceritudini numite
frecvent incertitudini lexicale care identific imprecizia n evaluarea unor concepte sau n
stabilirea unor concluzii.

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

Mulimea Brbai nali conform teoriei


convenionale a mulimilor

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

Mulimea fuzzy Brbai nali

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

1,5 1,6 1,6 1,7 1,7 1,80 1,9 1,95


5 0 5 0 5
0
Figura 12.3 Funcia de apartenen (x)

(x)

brbai scunzi

brbai de
nlime medie

brbai nali

1,5 1,5 1,6 1,6 1,7 1,7 1,8 1,8 1,9


0
5
0
5
0
5
0
5
0
Figura 12.4 Funcii de aprtenen pentru cteva etichete lingvistice

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)

Deci, mulimea fuzzy asociat mulimii POZITIV MARE va fi:


~
APOZITIVMARE = {..., (40,0.8), (50,1), (60.0.8),...}

(12.8)

Pentru submulimea ZERO obinem:


~
AZERO = {..., ( 15,0), ( 10,0 ), ( 5,0.5), (0,1), (5,0.5), (10,0 ),...}

(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)

iar n cazul universului de discurs continuu i infinit se utilizeaz:

~ (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

Funcii de apartenen clopot

definite prin relaiile:

(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)

unde x0 definete poziia vrfului pentru =1 iar a reprezint lrgimea domeniului.


O funcie de apartenen care deriv din caracteristica trapezoidal i cea definit de
relaia (12.14) poate fi determinat de relaiile [3]:

(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)

Forma acestei funcii este prezentat n figura 12.10.

( x)
1

x1

x2

a1
Figura 12.10

Funcia de apartenen definit prin relaiile (12.15 12.17)

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 .

Punctelor de pe frontier le sunt asociate o anumit incertitudine.

frontiera

baza

frontiera

suport

Figura 12.11

Forma general a unei funcii de apartenen

Strategia de control lingvistic


S reconsiderm cazul comenzii unui bra de robot (figura 12.6). S presupunem c dorim
s micm braul din poziia iniial ( i = 80 0 ) n poziia de origine, dorit ( d = 0 0 ).
Conducerea convenional a braului este bazat pe procesarea erorii,
e(t ) = d (t ) (t )

(12.18)

utiliznd regulatoare standarde PI sau PID (figura 12.12).

d +

Regulator PI

BRA

Figura 12.12

Sistem de conducere convenional

Algoritmul de control al braului determin o lege de variaie a cuplului de acionare M(t)


astfel nct eroarea staionar a sistemului s tind ctre valoarea zero.
es = lim e(t ) = 0
t

(12.19)

O astfel de abordare impune o analiz exact a micrii braului, determinarea ecuaiilor


difereniale ce guverneaz micarea precum i calculul corespunztor al parametrilor
regulatorului n scopul obinerii performanelor dorite.
O tratare cu totul diferit de procedura de control convenional este oferit de aa numit
strategie de control lingvistic. Un operator uman poate realiza un control cu performane
acceptabile printr-o evaluare euristic a poziiei (a erorii de urmrire) i luarea unor decizii
corespunztoare. n esen, un operator va aciona dup urmtoarele reguli:
1.
Pornete braul din poziia iniial cu o valoare medie a cuplului M.
2.
Dac distana fa de poziia dorit mare, crete valoarea cuplului la o valoare
mare.
3.
Dac distana este medie el micoreaz valoarea cuplului la o valoare medie.
4.
Dac distana este zero valoare cuplului este redus la zero sau se poate
impune chiar o valoare negativ zero astfel nct s fie realizat oprirea n poziia dorit.
Regulile precizate impun introducerea unor mulimi fuzzy corespunztoare pe universul
de discurs reprezentat de cuplul de acionare. Convenional acestea vor fi notate prin:
NEGATIV ZERO, POZITIV ZERO, MEDIE, MARE i crora li se va asocia funcii de
apartenen de tip triunghiular (figura 12.13).

POZITIV
MEDIE
ZERO

NEGATIV
ZERO

-M1

Figura 12.13

+M1

MARE

+M2

+M3

Funcii de apartenen ale cuplului de acionare

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

Funcii de apartenen ale variabilei Temperatur

Regula 1 se interpreteaz astfel: dac piesa ce urmeaz a fi preluat nu este suficient


nclzit (TEMPERATUR JOAS) atunci micarea braului nu este necesar (Cuplu=POZITIV
ZERO).
Pentru Regula 2 avem urmtoarea interpretare: dac Temperatura atinge valoarea necesar
(domeniul TEMPERATUR MEDIE) i dac braul are poziia iniial (Unghiul=POZITIV
MARE) atunci braul este pus n micare (Cuplu=MARE) pentru prinderea piesei, etc.
Desigur, n alte situaii pot apare i operatori de tipul SAU (OR) sau negaie (NOT) care
implementeaz n concept fuzzy logica clasic.

Operatori n logic fuzzy


Operatorii uzuali NEGAIE, I, SAU sunt tratai n logic fuzzy prin aplicarea regulilor
min, max asupra funciilor de apartenen.

Operatorul SAU (OR)


~ ~ ~
Se vor considera trei mulimi fuzzy A , B , C , definite pe acelai univers de discurs X.
Operatorul SAU corespunde operaiei de reuniune:

~ ~ ~
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)

n cazul n care variabilele sunt diferite, procedura se pstreaz:

C~ ( x, y ) = max[ A~ (x ), B~ ( y )]

(12.22)

Evident c anumite proprieti ale


comutativitatea i idempoten se pstreaz.

algebrei

C~ = max[ A~ , B~ ] = max[ B~ , A~ ]

D~ = max[ A~ , B~ , C~ ] = max[max[ A~ , B~ ], C~ ] =

]]

logice

convenionale

(booleene),

(12.23)

] ]

max A~ , max B~ , C~ = max max A~ , C&&&, B~

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 SAU realizat prin maximum

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~ ]

D~ = min A~ , B~ , C~ = min min[ A~ , B~ ], C~ =

(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

Operator I realizat prin operaia minimum

Operatorul NEGAIE (NOT)


Acest operator realizeaz complementul funciei de apartenen n raport cu 1 (figura
12.17):
~ ~
C=A

(12.32)

C~ ( x ) = 1 A~ ( x )

(12.33)

A~

x
C~

x
Figura 12.17

Operatorul NU (Negaie)

Proprieti generale ale unui sistem de conducere


n logic fuzzy
Sistemele convenionale de conducere ale unui robot (ale componentelor sale mecanice) se
ncadreaz n configuraia clasic a sistemelor de reglare (figura 12.18).
e

qd
+

Regulator

Sist. de acionare

um

Element mecanic

qT

Traductor
Figura 12.18

Sistem convenional de conducere

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

Sistem de conducere n logic fuzzy

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

Structura unui CLF

Blocul de fuzificare transform datele de intrare, eroarea sistemului, n mrimi fuzzy,


atribuind acestor mrimi variabile lingvistice i asociindu-le funcii de apartenen
corespunztoare.
Blocul de inferene reprezint partea principal a unui CLF. Acest bloc genereaz legea de
control sub forma unei familii de reguli logice de tipul IF...THEN ce descriu relaiile ntre intrarea
e (eroare) i ieirea u a controlerului. Adaptnd un model direct, aceste reguli implementeaz de
fapt o lege de forma general:
u (k ) = F (e(k ), e(k 1),..., e(k v ), u (k 1), u (k 2),..., u (k v ))

(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)

u (k ) = F (e(k ), e(k 1))

(12.36)

sau:

Existena unei legi de conducere de tipul (12.42)-(12.6.44) nu nseamn c CLF poate fi


definit printr-o funcie de transfer sau printr-o ecuaie de diferene. Legea de control este generat
prin baza de reguli IF...THEN sub forma:
u (k ) = u (k ) u (k 1)

(12.37)

i deci ieirea actual se obine sub forma:


u (k ) = u (k 1) + u (k )

(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 )

Variabilele de intrare i ieire ntr-un CLF

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;

pot fi conduse procese complexe cu neliniariti dificil de modelat;


implementarea se poate realiza tehnologic relativ facil fie prin proiectarea unor
configuraii particulare de controlere, fie prin utilizarea unor procesoare dedicate.
Dezavantajele utilizrii acestor sisteme sunt:
nu exist o metodic precis pentru realizarea tuturor fazelor implementrii unui CLF:
fuzificare, inferene, defuzificare, n multe situaii soluiile adoptate avnd un caracter euristic,
artizanal, nesistematic;
dificultatea demonstrrilor, n toate cazurile, a stabilitii sistemelor;
posibilitatea apariiei ciclurilor limit datorit funcionrii pe caracteristici neliniare;
performanele sistemului condus pot s nu fie ntotdeauna la nivelul dorit;
imposibilitatea implementrii practice a unui CLF cu un numr mare de variabile de
intrare (peste 4) datorit dimensiunii bazei de reguli implicat.
n orice caz, este evident c sistemele de conducere n logic fuzzy reprezint o
alternativ clar fa de sistemele de conducere convenionale. Acest lucru este demonstrat de
numeroasele aplicaii n economie i industrie, de volumul cercetrilor pe plan mondial n aceast
direcie, de eforturile tehnologice pentru a pune la dispoziie resursele software i hardware
specializate.

Fuzificarea mrimilor n CLF


Dup prezentarea general a caracteristicilor de baz n SCLF, vom aborda n detaliu
principalele aspecte ale procedurilor de implementare a unui CLF.
Interfaarea pe intrare a unui astfel de controler este realizat prin blocul de fuzificare.
Acesta trebuie s asigure:
Conversia mrimilor de intrare (eroare) e ntr-o form digital compatibil cu procesarea
ulterioar n logic fuzzy. Dac eroarea e este un semnal continuu, se impune o conversie analognumeric corespunztoare. De asemenea, dac e este un semnal numeric, o procesare numeric
suplimentar este necesar pentru asigurarea performanelor dorite.
Formarea variabilelor ce vor determina condiiile antecedentului n baza de reguli a CLF.
n general, aa cum s-a artat anterior, o prim variabil de intrare este eroarea e(k), dar
impunerea unor condiii complexe necesit generarea i a altor variabile de intrare. Acestea pot fi
definite prin mrimea de eroare evaluat la cteva momente de timp, e(k-1),
e(k-2),..., e(k-v)
sau de alte variabile de stare ale sistemului condus, cum ar fi viteza sau acceleraia braului
mecanic (pentru controlul unui sistem robot).
Exprimarea variabilelor de intrarea ca mulimi fuzzy. n acest sens, mrimilor fizice li se
atribuie variabile lingvistice, variabile fuzzy i funcii de apartenen. Se determin totodat
universul de discurs pe care este definit fiecare variabil.

Funciile de apartenen utilizate n sistemele de conducere au forme triunghiulare sau


trapezoidale. De asemenea, universul de discurs este frecvent ales ca [-1,1] iar variabilele de
intrare astfel definite sunt considerate normalizate. Este evident c aceasta impune utilizarea unor
factori de scal corespunztori pentru fiecare variabil.

n figura 12.22.a sunt reprezentate funciile de apartenen a cinci mulimi fuzzy ce


reprezint etichetele lingvistice ale erorii: NM, NI, Z, PI, PM (NEGATIV MARE, NEGATIV

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)

..

-0.8Q -0.5Q -0.2Q 0.2Q +0.5Q 0.8Q


Figura 12.22

Funcii de apartenen ale variabilelor de intrare n CLF

INFERIOR, ZERO, POZITIV INFERIOR, POZITIV MARE, respectiv). Rangul de


operare al erorii, universul su de discurs, se presupune
[-1,1]. Se observ c trei mulimi au
funcii de apartenen triunghiulare iar dou, trapezoidale.
n mod analog, n figura 12.22.b sunt reprezentate cele trei funcii de apartenen ale
mulimilor fuzzy asociate etichetelor lingvistice ale variaiei erorii e: N,Z,P (NEGATIV, ZERO,
POZITIV) al crui univers de discurs este de asemenea normalizat.
n figura 12.22.c sunt prezentate funciile de apartenen ale mulimilor fuzzy ce reprezint
&), n condiiile n care baza de reguli ce urmeaz a fi stabilit impune
acceleraia micrii ( q&
introducerea acestor variabile. Sunt definite apte mulimi fuzzy asociate etichetelor NM, NS, NI,
Z,PI, PS, PM (NS=NEGATIV SUPERIOR, PS=POZITIV SUPERIOR). Universul de discurs nu
&.
mai este normalizat i este utilizat chiar domeniul de variaie al variabilei de stare, acceleraia q&

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).

Pentru a evita eventualele confuzii ulterioare menionm c particularitile specificate


mai sus sunt valabile pentru funciile de apartenen asociate numai variabilelor de intrare ntr-un
CLF. Variabilelor de ieire, mrimile crisp, li se asociaz de asemenea funcii de apartenen, dar
acestora nu li se mai impun restrictiv condiiile (12.39), (12.740). Procesul de generare ale acestor
variabile este defuzificarea i va fi discutat ulterior. Funciile de apartenen utilizate pot fi de
tipul celor prezentate n figura 12.22, dar pot avea i forma aparte ca n figura 12.24.b. Funciile
de apartenen din figura 12.24.a pot intra n categoria normale, acestea respectnd condiiile
(12.39), (12.40), dar cele din figura 12.24.b, funcii numite singleton, nu verific nici una din
condiii. Aceste funcii sunt utilizate frecvent n condiiile n care se dorete obinerea, n procesul
de defuzificare, a unei relaii simplificate pentru variabilele de ieire.
Figura 12.24 Funcii de apartenen pentru variabilele de iesire

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 )

Sistem de conducere al unui bra robot

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

Funciile de apartenen pentru e, e,u

Formarea corect a bazei de reguli depinde de ordinul sistemului condus i de


performanele dorite. n principiu, nu exist o procedur sistematic pentru determinarea
regulilor, acestea fiind determinate n mare msur de abilitatea i experiena proiectantului.
Totui, pentru cazul analizat, regulile pot fi stabilite relativ uor, acestea fiind determinate de

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.1 Baza de reguli pentru variabilele e, e


Matrice cuprinde, pe linii i coloane etichetele lingvistice ale variabilelor e i e, respectiv.
Fiecare pereche linie, coloan definete condiiile unei anumite reguli iar n celula
corespunztoare a matricei este introdus eticheta lingvistic a valorii generate, u (consecin).
Matricile de inferene de tipul celei prezentate sunt practice pentru baze de reguli cu un
numr mare de variabile de intrare n CLF. De exemplu, dac condiiile n CLF sunt date de e, e
i 2e (acceleraia sistemului), atunci baza de reguli poate fi sintetizat prin matricea de inferene
din Tabelul 12.2.
2 e
e

Tabelul 12.2

Baza de reguli pentru variabilele e, e,2e

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.

Implementarea bazei de reguli


Este evident c procesarea unor reguli ntr-o baz (mecanismul de inferen) impune
determinarea, n primul rnd, a condiiilor ce definesc regula i a gradului lor de activare. Acest
lucru este obinut prin tratarea condiiei ca mulime fuzzy i prin testarea gradului de activare al
acesteia cu ajutorul funciilor de apartenen asociate.
ntr-o scriere sintetic, o regul poate fi exprimat sub forma:
Regula j: IF CONDIIA C1 AND CONDIIA C2 AND ... AND CONDIIA CP
THEN DECIZIA Dj
~
Considernd A1 , mulimea fuzzy asociat condiiei C1, gradul de activare al condiiei
pentru o valoare x=x* n universul de discurs este exprimat prin

( )

g A~ = A~ x *
1

(12.41)

n figura 12.26 este ilustrat grafic modul de calcul al gradului de activare.

A~

1
g A~ = A~ ( x * )
1

x=x*

Figura 12.26

Calculul gradului de activare

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)

Condiiile Ci sunt interpretate prin operatorul AND

( )

( )

f D j x1* , x 2* ,..., x *p = AND g A~ x1* ,..., g A~ x *p


p
1

(12.43)

unde f D j va reprezenta funcia de activare al variabilei de ieire, consecin, decizie a regulii


determinate de expresia THEN.
Sinteza deciziei, la nivelul unei reguli, este obinut n general prin algoritmul Mandami
[12] care formal este scris sub forma:

~
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

Calculul gradului de activare al unei reguli

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

Figura 12.28 Generarea deciziei pentru regula j

n figura 12.29 este:

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

Generarea deciziilor pentru doua reguli.

~
~
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

Implementarea numeric a bazei de reguli corespunde de fapt modului de tratare a


operatorilor AND - OR. Cea mai des ntlnit modalitate de evaluare este cunoscut sub numele
min - max n care operatorii AND sunt evaluai prin funcia min, iar operatorii OR prin
max.

( )
)

( ))

( )

( ))

f D j = AND g A~ x1* ,..., g A~ x *p = min g A~ x1* ,..., g A~ x *p


1
p
1
p
~
~*
~
~
D = OR D1 ,..., Dr* = max D1* ,..., Dr*

(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

Generarea deciziei prin operatorul max

(12.48)

Alte proceduri de implementare sunt definite ca prod - max, unde:

( )

( )

AND g A~ x1* ,..., g A~ x *p =


p
1

( )

( )

g ~ x * ,..., g ~ x *
p
Ap
A1 1

(12.49)

iar operatorul OR pstreaz forma (12.46).


De asemenea, se utilizeaz i forma prod - sum n care operatorul AND este tratat dup
relaia (12.47), iar OR prin:

~
~
~
OR D1* ,..., Dr* = D1* ,..., Dr*

(12.50)

Pentru ilustrarea acestor proceduri se va utiliza baza de reguli prezentat n paragraful


precedent, cu funciile de apartenen ale celor dou variabile de intrare e, e i de ieire u.
Se va analiza metoda min - max ce implementeaz condiiile logice AND i OR prin
operatori min i max, respectiv. n figura 12.31 este ilustrat grafic aceast metod. Sunt analizate
primele dou reguli ale bazei i este exemplificat procedura pentru cteva valori particulare ale
variabilelor de intrare e i e, e = 0.3 i e = 0.2 .
Pentru Regula 1, e = 0.3 determin un grad de activare g ~e , pentru funcia de apartenen
N:
g ~e = ~eN ( 0.3) = 0.75

(12.51)

iar e = 0.2 , pentru funcia de apartenen P, determin:


g ~e = P~e (0.2) = 0.5

(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)

Similar, pentru Regula 2 se obine:


g ~e = P~e (0.2) = 0.5

(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)

Aplicarea procedurii prod - max va determina cteva modificri cantitative


f Z1 = g e~ g e~ = 0.375

(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

Implementarea regulilor 1 i 2 prin metoda min-max

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

Analiza comparativ a metodelor

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)

ceea ce reprezint o msur crisp a deciziei fuzzy.


n cazul general, defuzificarea apeleaz la formula clasic a centrului de greutate:
1

*
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

n mod curent este utilizat o procedur de discretizare


n

u (u )
j

u =
*

j =1
n

(u )

(12.62)

j =1

ceea ce permite, n cele mai multe cazuri, un calcul uor de implementat.


Pentru anumite cazuri particulare ale funciei de apartenen, relaiile (12.59) (12.61) pot
cpta anumite forme simplificate. De exemplu, dac ieirea este definit prin funcii singleton,
expresia (12.61) devine (figura 12.34):

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

Defuzificarea pentru ieire de tip singelton

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

Defuzificarea prin valoarea maxim

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

Gradul de activare al mulimilor fuzzy se obine n aceeai manier ca cea prezentat n


paragraful 12.8:

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):

D * = max Z 1* , N 2* , N 3* , P4* , Z 5* , N 6* , P7* , P8* , Z 9*


u

ntreaga procedur este ilustrat n figurile 12.36 i 12.37.

Defuzificarea final permite determinarea valorii crisp a mrimii de ieire, conform


relaiei (12.60), (12.62).
~e

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

Implementarea bazei de reguli conducerea unui brat robot

1
D*

0.5
0.25
-1

-0.2

0.2

u =-0.22
Figura 12.37

Defuzificarea decizie conducerea unui robot

Metodele Takagi Sugeno Kang (TSK)


Modelele fuzzy discutate anterior se bazau pe reguli n care att partea condiional ct i
cea decizional cuprindea mulimi fuzzy
Regula i: IF CONDIIA C1 AND CONDIIA C2 AND ... MULIMI FUZZY
MULIMI FUZZY
THEN DECIZIA Di
Astfel de modele nu conin nici o form explicit a funciei obiectiv i sunt cunoscute
frecvent sub denumirea de modele Mandani.
O alt modalitate de tratare, atrgtoare n cazul sistemelor mari i complexe, este oferit
de modelul Takagi Sugeno Kang (TSK) n care ieirea, decizia sistemului este obinut dup o
lege non-fuzzy, ca o funcional pe variabilele de intrare.
MULIMI FUZZY
Regula i: IF x1 este C1i AND x2 este C2i AND ...
MULIMI NON-FUZZY
THEN ui = f i ( x1 , x2 ,..., xn )
Marele avantaj al acestui model rezid n posibilitatea de tratare a sistemelor complexe prin
decompoziia acestora n subsisteme mai simple, uneori chiar, subsisteme liniare. De asemenea, o
alt posibilitate de abordare const n descompunerea spaiului de stare al sistemului n subspaii
disjuncte i identificarea modelelor dinamice pentru fiecare subspaiu. Ieirea final este obinut
printr-o compunere logic a ieirilor fiecrui subspaiu.
n cele mai dese cazuri, partiionarea spaiului de stare este astfel realizat nct ieirea s
poat fi generat sub forma unor modele liniare.
Regula 1:
IF x1 este C11 AND ... AND xn este Cn1
THEN u1 = a10 + a11 x1 + ... + a1n x n
...
Regula p:
IF x1 este C1p AND ... AND xn este Cnp
THEN u n = a p 0 + a p1 x1 + ... + a pn x n
n ceast baz de reguli, Cij (j=1,p), (i=1,n) sunt mulimi fuzzy pe spaiul de stare al
sistemului X1, X2, ..., Xn iar x1, x2, ..., xn sunt valori crisp ale variabilelor de intrare (stare). Partea
decizional a regulilor poate fi considerat ca modele liniare ce definesc variabilele de ieire u1,
u2, ..., up (mrimi crisp) n funcie de variabilele de intrare (stare), variabile crisp. Ieirea global u
a ntregului model TSK se obine printr-o medie ponderat a ieirilor crisp ui pentru fiecare
subsistem liniar. Considernd gradul de activare al fiecrei condiii Cij:

g ij = Cij (x i )

i=1,...,n;

j=1,...,p

(12.96)

iar funcia de activare la nivelul unei reguli:

f u j = min g1 j ,..., g nj

(12.97)

ieirea general va fi:

f ui

u=

i =1

fu j
j =1

(ai 0 + ai1 x1 + ... + ain x n )

(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

unde f ui se obine conform relaiilor (12.96), (12.97).


Analogia acestui model cu un regulator convenional PI permite identificarea parametrilor
regulatorului:

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

Controlul cinematic diferenial prin CLF


Dup cum este bine cunoscut n literatura de specialitate , controlul cinematic diferenial
utilizeaz modelul diferenial al unui robot, model ce permite calculul diferenial dX al
coordonatelor operaionale (variabile ce definesc poziia n spaiul de lucru) n funcie de variaia
dq a coordonatelor generalizate (variabile asociate fiecrei articulaii mecanice). Analitic, aceast
dependen este scris printr-o matrice Jacobian, n forma

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

n cele ce urmeaz, se va analiza o soluie de control cinematic diferenial utiliznd un CLF


care va permite calculul inversei matricii Jacobian adoptnd euristic o baz de reguli
corespunztoare.
Este evident c att structura convenional ct i cea utiliznd logica fuzzy trebuie s
urmreasc acelai criteriu de calitate, minimizarea erorii sistemului de conducere.

xdi

q i

x i

CLF

xi
f(q)
Figura 12.39

qi
Control cinematic diferenial cu CLF

ntr-o scriere general, eroarea poate fi definit astfel:

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)

astfel nct variaiile q vor fi date de legea:

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)

Derivata acestei funcionale, de-a lungul traiectoriei sistemului va fi:

V&(x ) = ( X d X )T X&= ( X d X )T Jq&

(12.110)

Aproximnd derivata q& prin:

q&

q
T

(12.111)

unde T este timpul de eantionare, se obine:

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)

ceea ce confirm convergena la zero a erorii e din (12.104).


Pentru ilustrarea metodei vom analiza sistemul de conducere pentru un robot planar cu
dou articulaii (figura 12.40)
Coordonatele operaionale sunt:

x l cos q1 + l 2 cos(q1 q 2 )
X = =1

y l1 sin q1 + l 2 sin (q1 q 2 )

(12.115)

iar matricea Jacobian va fi:

l sin q1 l 2 sin (q1 q 2 ) l 2 sin (q1 q 2 )


J = 1

l1 cos q1 + l 2 cos(q1 q 2 ) l 2 cos(q1 q 2 )

(12.116)

Pentru o eroare de forma:

e=

1
( x d x )2 + ( y d y )2
2

(12.117)

se impune o lege de conducere de forma (12.107) care va fi implementat ntr-un CLF:

q1 = [( l1 sin q1 l 2 sin (q1 q 2 ))( x d x ) +

(12.118)

+ (l1 cos q1 + l 2 cos(q1 q 2 ))( y d y )]

q 2 = [l1 sin (q1 q 2 )( x d x ) l 2 cos(q1 q 2 )( y d y )]

(12.119)

Y
(x,y)=X
q

q1
0
Figura 12.40

Modelul unui robot planar cu 2 articulaii

sau ntr-o form simplificat:

(
)
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

impune construirea bazei sub forma unei tabele.


De exemplu, prima regul se va formula astfel:
Regula 1: IF ex este N AND J11 este N AND ey este P AND J21 este P
THEN q1 este PM.
...

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

Model discret model continuu

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.

Sisteme cu acionare intrinsec


Cea mai simpl forma de acionare intrinsec este obinut din dispozitive planare fluidice
de tipul celor prezentate n figura 13.3.

Figura 13.3

Dispozitiv intrinsec planar

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

Model intrinsec spaial

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

Micarea modelului cu acionare spaial

Figura 13.6 Robotul NOBEL MEC

O structur industrial cu acionare intrinsec, hidraulic, este oferit de terminalul robotului


NOBEL MEC (figura 13.6). Fiecare element este acionat de un servosistem, comanda centralizat a
acestora permind micarea braului ntr-un singur plan.
O soluie bazat pe utilizarea noilor materiale inteligente este prezentat n figura 13.7. Structura
modelului este similar cu cea discutat anterior, dar aciona-rea este obinut cu lichide
electrorheologice (ER). Un lichid ER este o suspensie de particule ntr-un mediu neconductor, ceea ce
permite modificarea vscozitii fluidului printr-un cmp electric continuu de intensitate ridicat
aplicat fluidului. Un set de electrozi dispui longitudinal, pe generatoarea cilindrilor, permite controlul
cmpului electric i asigur un control al vscozitii n lungul acestora.
Figura 13.7

Model cu acionare prin lichide ER.

Evident, micarea i orientarea este realizat prin controlul presiunii fluidului, dar ulterior, controlul
vscozitii asigur o bun stabilitate a micrii.

Sisteme cu acionare extrinsec


Pentru aceste sisteme sursa motoare se gsete poziionat n afara structurii flexibile a
braului, acionarea fiecrui element i modul realizndu-se prin diverse modaliti de transmisie.
Cel mai cunoscut sistem de transmisie este cel realizat pe baz de cabluri tractate electric sau
hidraulic. n figura 13.8 este prezentat robotul ACMA la firmei Renault al crui terminal cu
funcie tentacul-tromp este utilizat n instalaiile de vopsire automat. Elementele flexibile sunt
grupate n module, fiecare modul fiind activat printr-un sistem de cabluri astfel dispuse nct s
asigure o distribuie uniform a forei de-a lungul braului. (figura 13.9). n cadrul fiecrui modul,
elementele flexibile sunt pasive.
Figura 13.8
Robotul ACMA-Renault.

Figura 13.9

Modelul cu tractare pe cabluri

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.

n cadrul laboratorului de Robotic al Universitii din Craiova a fost realizat familia de


roboi TEROB (TEntacle ROBot). Modelul TEROB-01 este un bra cu acionare electric (13.11)
prin cabluri. Sistemul cuprinde trei tronsoane, fiecare tronson fiind format din cinci elemente
articulate. Un sistem de cabluri permite acionarea individual a fiecrui element.
Figura 13.11 Modelul TEROB-01.

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

Tehnologic, o astfel de structur presupune existena unei coloane verte-brale cu celule


periferice care pot determina, printr-o acionare intrinsec sau extrinsec, forma dorit a braului.
n esen, din punct de vedere cinematic, un model tentacular este definit printr-o curb C
care este descris parametric printr-un vector r ( s ) R 3 i un sistem de referin asociat definit
prin matricea ( s ) R 33 ale crei coloane reprezint versorii sistemului (figura 13.15).
Parametrul independent s reprezint lungimea arcului de la origine pn n punctul curent P. Se
va considera c lungimea total a braului pe curba C este l.
Poziia unui punct s pe curba C este definit prin vectorul de poziie

r = r (s)

(13.1)

unde s [0, l ] . n cazul unei evoluii dinamice, se va introduce variabila temporal

t,

r = r ( s, t ) .
Parametrizarea curbei C va fi realizat prin dou unghiuri ( s) i q(s). Pentru fiecare

punct r ( s, t ) , orientarea robotului este dat de un sistem vectorial ortonormat e x , e y , e z cu


originea n punctul r ( s, t ) . Pe ntrega structur a curbei C se poate defini o parametrizare sub
forma:

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)

unde c = cos , s = sin , etc.


Pentru o variaie infinit mic ds n lungul curbei C, noul vector de poziie va fi:

r ( s + ds, t ) = r ( s, t ) + dr(s, t)

(13.4)

iar matricea va avea forma:

s + ds (t ) = e x ( s + ds, t ) e y ( s + ds, t ) e z ( s + ds, t )

(13.5)

Vectorul de poziie r poate fi exprimat i prin componentele sale:


s

x( s, t ) = sin ( s ' , t ) cos q ( s ' , t )ds '


0
s

y ( s, t ) = cos ( s ' , t ) cos q ( s ' , t )ds '


0
s

z ( s, t ) = sin q ( s ' , t )ds '


0

unde s ' [0, s ] .

(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

Versorii sistemului de referie

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).

Modelul dinamic al braului ideal


Se va reconsidera un model tentacul idealizat, flexibil, n care vor fi neglijate frecrile i
amortizrile interne. Se vor neglija efectele seciunii asupra dinamicii braului.
n conformitate cu elementele prezentate n paragrafele anterioare, poziia unui punct
curent M, la momentul t, aflat la distana s de originea braului, va fi descris n spaiul 3D de un
vector pe curba C asociat,

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

x( s, t ) = sin ( s ' , t ) cos q ( s ' , t )ds '


0

(13.8)

y ( s, t ) = cos ( s ' , t ) cos q ( s ' , t ) ds '

(13.9)

0
s

z ( s, t ) = sin q ( s ' , t )ds '

s ' [0, s ]

cei doi parametri unghiulari ( s, t ) i q(s,t) determin forma braului i asigur poziionarea
corespunztoare a elementului terminal
l

x L (t ) = x(l , t ) = sin ( s , t ) cos q( s , t )ds


0
l

y L (t ) = y (l , t ) = cos ( s , t ) cos q ( s , t )ds '

(13.10)

0
l

z L (t ) = z (l , t ) = sin q ( s , t )ds
0

Analiza dinamic a sistemului impune introducerea elementului de mas dm astfel:

dm = ds

(13.11)

unde va reprezenta densitatea de mas liniar presupus uniform distribuit pe lungimea


braului.
Se vor utiliza, de asemenea, urmtoarele notaii:

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)

, s ' [0, s ] , t [0, t f ]

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.

Corespunztor coordonatelor de poziie, viteza n fiecare punct, de-a lungul braului, va fi


definit prin

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 .

+ [ qco sq ' ds ' ] 2 ds

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
.

) reprezint derivatele pariale funcionale ( n sens Gateaux) definite ca

variaia funcionalei W n raport cu q la punctul s [0, l ] .


De exemplu, (

Wk
.

) are forma urmtoare:

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

+ [ qco sq ' ds ' ][ cos q ' ds ' ]

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 '' +
'

''

'

''

'

+ g cos q 'ds ' = Fq

(13.23)

0
ss

..

..

q ' sin q ' cos q ' ' sin( ' ' ' ) + ' cos q ' cos q ' ' cos( ' ' ' )
00

.
'2

q cos q sin q sin( ) +


'

''

'

''

.
'2

cos q ' sin q '' sin( ' '' )

' 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)

Modelul dinamic se va obine prin particularizarea modelului (13.24)- (13.25) i va avea


forma
..
'

. 2
'

(q cos(q q ) + q
''

'

sin(q '' q ' ))ds ' ds '' +

+ g cos q ' ds ' = F

(13.26)

unde F este fora generalizat Fq ( s, t ) ce determin modificarea formei, micarea, braului n


planul OYZ al variabilei q.

Sistem de conducere distribuit cu lichide ER


Caracteristici tehnice
Se va considera un model tentacul format prin legarea n cascad a unor module de forma
celor prezentate n figurile 13.17 a i b. Fiecare modul, element, poate atinge orice orientare n
spaiul 3D.
Constructiv, modulele sunt de tipul intrinsec, n care micarea de ncovoiere este obinut
prin presiunea exercitat de un fluid asupra pereilor terminali. n figura 13.18 este reprezentat un
astfel de modul format dintr-un cilindru divizat n trei camere. Pereii cilindrului sunt realizai din
cauciuc n care sunt integrate fibre circulare pentru asigurarea unei rigiditi a ntregii structuri.
Prin creterea presiunii unei camere, cilindrul se va ncovoia n partea opus a acesteia. Un
control corespunztor al presiunii n fiecare camer va determina ncovoierea cilindrului n
direcia dorit.
n afara controlului presiunii, sistemul conine un control suplimentar oferit de proprietile
speciale ale lichidului utilizat. Soluia adoptat la acest model se bazeaz pe utlizarea lichidelor
electrorheologice (ER) a cror vscozitate poate fi controlat printr-un cmp electric extrem de

intens (~ 10 5 V / m ). n acest scop este introdus un circuit suplimentar de control al potenialului


electric format dintr-o reea de electrozi distribuit la periferia cilindrului, reea supus unui
potenial uniform distribuit pe lungimea cilindrului (figura 13.19). n funcie de legea de
distribuie a potenialului se poate obine o distribuie corespunztoare a vscozitii fluidului.
z

x
b

a
Figura 13.17

Figura 13.18

a. un tentacul ideal 3D
b. Model flexibil 3D

Structura unui modul

Figura 13.19

Distribuia vscozitii in modul

Modelul planar aproximativ


Pentru simplificarea analizei, se va studia modelul tentacul planar (figura 13.20) ce
opereaz n planul OXZ.

Figura 13.20

Modelul planar OXZ

Se vor reconsidera ecuaiile (13.26) ale modelului dinamic planar i se va introduce o


discretizare uniform s1, s2, ...sN a variabilei spaiale s:
si s i 1 =
si = i ,

(13.27)
l = N

(13.28)

q ( s i ) = qi

(13.29)

i n plus, va fi admis restricia


q ( s i ) q( s j ) < ,

i,j=1,2,...,N

(13.30)

unde este o constant pozitiv suficient de mic.


Din (13.26), cu restricia (13.30) se obine modelul discret al braului sub forma:
.

x = ( s1 (1 ) + s 2 ( 2 ) + ... + s N ( N )) x + f + Bu
unde:

(13.31)

x = col (q1 ,..., q N , q1 ,... q N )

(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)

ON i IN sunt matricea nul i matricea identitate de dimensiunea (n m ) , respectiv, iar

i i sunt definite prin


2 =

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

Evoluia traiectoriilor pe planurile de comutare

Metoda de conducere se bazeaz pe principiul sistemelor cu structur variabil a cror


evoluie este descompus n dou pri: micarea pe traiectoria convenional i micarea forat
pe o traiectorie n lungul dreptei de comutare. n acest sens, evoluia complex pe cele 2N grade
de libertate este descompus pe N planuri definite prin parametrii (qi , qi +1 ) , pentru fiecare plan
impunndu-se o anumit dreapt de comutare (Figura 13.22).
Micarea este descompus n dou pri: n prima parte se produce controlul
convenional prin controlul presiunii fluidului (segmentul de traiectorie P0P1) iar n partea a
doua, cnd traiectoria penetreaz linia de comutare asociat planului, modificarea factorului de
amortizare i determin evoluia sistemului pe dreapta de comutare, direct ctre origine.
Procedura se repet pentru fiecare plan.
Algoritmul de conducere se bazeaz pe comutarea secvenial a unui sistem cu structur
variabil pe diverse submulimi. S1(e), S2(e), ..., SN(e) unde e este eroarea sistemului.
S1 S2 S3 ... SN

(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)

O astfel de strategie nseamn, de fapt, descompunerea sistemului complex de ordinul 2N


n N subsiteme de ordinul 2, fiecare subsistem evolund dup algoritmul clasic al sistemelor cu
structur variabil cu dreapt de comutare.
Justificarea teoretic a unui astfel de sistem distribuit de conducere se obine plecnd de la
modelul dinamic al erorii n jurul unui punct de funcionare.
Se vor considera: w=col(w1, w1,...,wN) poziia dorit a braului, presupus constant i xs,
us vectorii regimului staionar pentru stare i control, respectiv, i se va defini eroarea global
sub forma:
e = col (e1 ...e N )
unde:

(13.40)

ei = wi xi , i=1,2,...,N
.

(13.41)

ei = xi

(13.42)

u = u s u

(13.43)

Modelul dinamic al erorii va fi:


.

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)

iar planurile de comutaie se vor defini prin


S ( e) = p T e = 0

(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)

unde P este o matrice pozitiv definit i simetric.


Legea de conducere se obine din ecuaia clasic a metodei a II-a a lui Liapunov [7, 8]:
.

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)

i stabilitatea micrii impune ca:


.

S 1 (e) = p1 e1 + p N +1 e N +1 = 0

(13.54)

Din (4.5.9), (4.5.18) se obine:


21e N +1 2 e1

e N +1
.

= m1 =

e1

f1 (q1s )
e1
q1

e N +1

sau:
m12 21m1 + 2 +

f1 (q1s )
=0
q1

(13.55)

ceea ce impune ca factorul de amortizare s verifice relaia:

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)

Dup atingerea acestor parametrii, se controlez evoluia pe a dou suprafa de comutare:


S 2 (e) = p1e1 + p 2 e2 + p N +1e N +1 + p N + 2 e N + 2 = 0

(13.58)

care devine:
S 2 ( e) = p 2 e 2 + p N + 2 e N + 2 = 0

(13.59)
.

Evoluia forat ctre origine (e2=0, e 2 = 0 ) va impune controlul factorului de amortizare


dup o procedur similar, deci:

22 1 +

M2

(13.60)

Algoritmul de conducere va consta deci ntr-o aplicare succesiv a ecuaiilor (13.51) ce


determin evoluia ctre suprafeele de comutare i ulterior o modificare a factorului de
amortizare, pe diferitele segmente ale braului. Aceast cretere a coeficientului i se va obine
prin creterea corespunztoare a cmpului electric aplicat pe suprafa lichidului ER. O
exemplificare a mecanismului de conducere este ilustrat n figura 13.23.

Figura 13.23

Conducerea secvenial distribuit

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.

Regulile de control lingvistic se determin pe baza algoritmului discutat n paragraful


precedent. O sintez a acestora poate fi urmarit n Tabelul 13.1. pentru controlul presiunii
fluidului i pentru controlul vscozitii.
Figura 13.24 Funcii de apartenen.
Tabelul 13.1

Regulile de control fuzzy.

Caracteristicile principale pot fi sumarizate astfel:


Valori negative ale presiunii sunt plasate deasupra diagonalei principale iar cele pozitive,

dedesubt, conform relaiei (13.52).


Valorile fuzzy ale presiunii cresc odat cu distana fa de diagonala principal i
descresc pentru vscozitate.
Valorile zero ale presiunii i valorile maxime ale vscozitii sunt plasate pe diagonala
principal.

Controlul poziiei prin legi de conducere


convenionale
Modelul matematic discutat n paragrafele anterioare arat clar dificultatea stabilirii unei
legi de conducere adecvate datorit complexitii ecuaiilor ce guverneaz micarea unei structuri

hiper-redundante. Ecuaiile integro-difereniale, cu componente neliniare dificile de tratat, pun


probleme deosebite n determinarea unor soluii corespunztoare n conducerea sistemului n
scopul obinerii unor performane impuse.
n paragraful precedent s-au folosit cteva metode aproximative care au permis o abordare
simplificat a conducerii unui bra tentacul, aproximri ce evident se vor repercuta asupra calitii
conducerii sistemului.
n cadrul acestui paragraf se vor propune civa algoritmi care vor permite implementarea
unor controlere de tip convenional PD fr a utiliza modelul matematic complicat al braului
mecanic. Metoda se bazeaz pe utilizarea unor criterii energetice pentru un sistem de conducere
al crui criteriu de performan l constituie atingerea unei poziii dorite fixe.

Relaii energetice ale unui model tentacular


Pentru simplificarea tratrii se va studia varianta planar OYZ a modelului tentacul ideal,
neglijnd frecrile i eventualele amortizri interne. Pentru acest model, coordonata principal
este unghiul ntre tangenta la curba modelului i axa OY:
q=q(s)

(13.61)

sau, ntr-o micare dinamic, la momentul t:


q=q(s,t)

(13.62)
l
L(i ( s s))
l

A
s
O

L(i s)
A

s s s

Figura 13.25

Determinarea relaiilor energetice.

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)

Se poate defini derivata lucrului mecanic:


dL( s )
L(l ( s s )) L(l s )
= lim
s 0
ds
s
iar din (13.63) rezult:
.
dL( s ) t
= F ( s, ) q ( s, )d
ds
0

(13.67)

Prin integrare, se obine:


l t

L( s ) = F ( s ' , ) q( s ' , )d ds '

(13.68)

s0

unde: s ' [ s, l ]
iar pentru ntregul bra, de lungime l:
l t

L = F ( s ' , ) q ( s ' , )d ds ' ,

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

Din formula (13.70), prin aplicarea legii conservrii energiei se obine:

[Wk (t ) + W p (t )] [Wk (0) + W p (0)] =


l t

= ( 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

Sistemul de conducere pentru atingerea unei poziii dorite

Eroarea sistemului de conducere se va defini prin:


e (t , s ) = (t , s ) d ( s ) , s [0, l ]
eq (t , s ) = q (t , s ) q d ( s ) , s [0, l ]

a)

Conducerea uniform distribuit PD.

Se propune o lege de conducere de forma:

(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)

unde k1 ( s ), k2 ( s ) , k q1 ( s), k q2 ( s) sunt coeficieni pozitivi.


Sub aceast form, relaiile (13.75) reprezint o lege de conducere clasic de tip PD n care
mrimea de conducere generat, forele F i Fq sunt uniform distribuite de-a lungul braului.
n scopul de a aprecia calitatea acestui sistem de conducere, nu se va apela la soluia clasic
ce implic modelul dinamic extrem de complicat al braului ci se va utiliza metoda Liapunov ntro construcie special [4, 10]. Se va propune urmtoare funcia Liapunov.
V (t ) = Wk (t ) + W p (t ) +

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.

Exemplu 1. Se consider un manipulator tentacul ce opereaz n spaiul de operare OXYZ.


Parametrii mecanici ai sistemului sunt = 2.2kg / m i lungimea l=0,6m. Se va considera c
poziia iniial a braului este cea orizontal (axa OY), definit de:

( 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)

Legea de conducere este de forma (13.75), unde:


k1 ( s ) =, k q1 ( s ) = 200
k2 ( s ) = k q2 ( s) = 8

(13.80)

Simularea sistemului de ecuaii integro-difereniale ale braului mecanic


utiliznd o discretizare a spaiului variabilei s cu un increment = 0.1m :

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

Evoluia braului ctre poziia dorit D

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

Portretul de faz al micrii.

Pentru o apreciere cantitativ a evoluiei sistemului, n figura 13.28 s-a reprezentat


portretul de faz al micrii, unde s-a considerat eroarea global a sistemului de conducere
definit prin:
l

e(t ) = ((q ( s, t ) q d ( s )) + ( s, t ) d ( s )))ds

(13.81)

0
.

e( t ) = (
0

q ( s, t ) ( s, t )
)ds
+
t
t

(13.82)

Ca i n reprezentarea simulat a evoluiei braului (figura 13.27) se remarc buna evoluie


a sistemului, traiectoria de faz evolund de la o valoare global a erorii de cca +7.6 ctre dreapta
de comutare i de aici ctre origine.
Exemplul 2. Un nou test de conducere a fost aplicat aceluiai bra mecanic, plecnd din
aceeai poziie iniial, dar pentru care poziia dorit este reprezentat de o curb:
C d : d ( si ) =
q d ( si ) =

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

Evoluia braului ctre poziia dorit C.


Phase Portrait

250

200

150
t
d)/
r
or
r
e(
d

100

50

0
-12

-10

-8

Figura 13.30

-6
error

-4

-2

Portretul de faz al micrii.

Exemplul 3. O mai bun apreciere a performanelor sistemului de control poate fi obinut


dac se analizeaz modelele planare. n acest sens se va studia micarea unui bra tentacular ce
evolueaz n planul OXZ. Modelul dinamic este obinut din modelul spaial, ecuaiile (13.23),
(13.24) pentru = 0 . De asemenea, legea de conducere va avea forma:
.

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)

Poziia iniial va fi considerat axa vertical OZ a sistemului:


D0 : q ( s,0) =

; 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)

Rezultatele simulrii sunt prezentate n figurile 13.31 i 13.32.


n figura 13.31 este prezentat evoluia braului n plan precum i cteva poziii
intermediare iar n figura 4.32 poate fi urmrit portretul de faz al micrii.
-1
10 6
.
t=0.01s
5

Initial
Position

3
t=0.024s
2

Desired
Position

-1

-1

Figura 13.31

Final
Position
t=0.12s

-1
6 10

Micarea braului n planul XOZ.


Phase Portrait

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

Portretul de faz al micrii.

b.

Conducerea uniform distribuit PD cu ponderare spaial

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)

unde k1 , k2 , k3 , k 1q , k q2 , k q3 sunt coeficieni pozitivi, iar f ( s, t ) , f q ( s, t ) reprezint funcii


de pondere spaial.
Al treilea termen al legii de conducere introduce o funcie de ponderare pentru facilitatea
conducerii n cazul n care curba ce definete poziia dorit a micrii nu are o form neted
prezentnd numeroase coluri i elemente de discontinuitate.
Stabilitatea micrii braului printr-o conducere de forma (13.87), (13.88) este demonstrat
tot prin metoda a doua lui Liapunov utiliznd o funcie de forma:

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

n acest caz se va obine:

(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

Introducerea legilor de conducere (13.87) i (13.88) n relaia (13.90) determin o funcie


.

V (t ) sub forma:
l

V (t ) = (k1 ( s)( ( s, t )) 2 + k q1 ( s) (q ( s, t )) 2 )ds

(13.92)

deci:
.

V (t ) 0

(13.93)

Pentru ilustrare acestei legi de conducere se va simula sistemul pe un exemplu planar.


Exemplu 4. Se consider un bra ce evolueaz n planul XOZ, plecnd din poziia iniial,
axa vertical OZ iar poziia dorit este dat de forma S definit prin:
C d : q d (1) =

; 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)

Se propune o lege de control (13.88) la care coeficienii sunt alei n forma:


k q1 ( si ) = 10.5 si
k q2 ( si ) = 0.27 si
f q ( si , t ) = 0.3 si (q( si ) q d ( si ))

(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)

Micarea braului pe poziia dorit S


Phase Portrait

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

Portretul de faz al micrii

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.

Poziia dorit staionar.

Se va considera c forele distribuite F ( s, t ) , Fq ( s, t ) sunt generate de un controler fuzzy:


u ( s, t ) = F ( s, t )

(13.107)

u q ( s, t ) = Fq ( s, t )

(13.108)

Utiliznd aceeai funcie Liapunov ca i n paragraful (4.7) se obine:


.

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)

Dac se introduce o discretizare spaial si = i , i=0,1,...,N, inegalitile de mai sus devin:


.i

(u i (t ) + k1i ei (t )) e (t ) < 0

(13.112)

(u i q (t ) + k q1i eqi (t )) e q (t ) < 0

(13.113)

unde u i (t ) = u i (i, t ) ,..., k1i (t ) = k1 (i, t ) ,..., e i (t ) = e(i, t ) ,...,


Condiiile (13.112) i (13.117) pot reprezenta suportul pentru definirea unei baze de reguli
ale unui controler fuzzy. n acest sens, se vor considera funciile de apartenen din figura 13.36
.

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

POSITIVE ZERO, POZITIVE MEDIUM, POSITIVE BIG, respectiv.


Figura 13.36 Funcii de apartenen
NB

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.

Poziia dorit variabil n timp.

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

e i , e i i eqi , e qi , respectiv i genereaz o funcie neliniar g 1i , g q 1i , care vor constitui


.

intrri n al doilea nivel ierarhic mpreun cu vitezele de micare i , q i , respectiv.


ntr-o scriere general, mrimile u , u q pot fi puse sub forma:
.

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)

Se va introduce discretizare spaial utilizat i n cazurile anterioare:


si = i , i=0,1,2,...,N
Pentru simplificarea tratrii i micorarea efortului de calcul pe domeniile variabilelor sunt
utilizate numai mulimile fuzzy de apartenen ilustrare n figura 13.38. Cele dou nivele
ierarhice vor impune implementarea a cte 16 reguli pe fiecare nivel, pentru generarea

ui = g 2i
Sistem Fuzzy
Nivel 2

g1i
Sistem Fuzzy
Nivel 1
.

ei

e i

controlerului (Tabelul 13.3).


Figura 13.37

Controlerul fuzzy cu dou nivele

N NZ PZ P

ei , ei
-1

-0.2

0.2

i , u

Figura 13.38

Funcii de apartenen pe fiecare nivel

NZ

PZ

PZ

NZ

PZ

NZ

PZ

NZ

NZ

PZ

NZ

NZ

PZ

NZ

NZ

NZ

PZ

PZ

PZ

PZ

Tabelul 13.3

Baza de reguli pentru sistemul cu 2 nivele

Pentru ilustrarea procedurilor dezvoltate mai sus se va considera problema conducerii


braului spre o poziie dorit definit de:
C d : q d ( si ) =

si ; ,i=0,1,2,...,6
8
7

(13.121)

i se va implementa un controler fuzzy de forma (13.108) prin baza de reguli prezentate n


figurile 13.36 i 13.37.
Evoluia braului robotului poate fi urmrit n figura 13.39 iar portretul de faz al micrii
este prezentat n figura 13.40. Se remarc aceeai bun calitate a micrii i convergena spre zero
a erorii de poziie.

-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

Evoluia braului prin controlerul fuzzy


Phase Portrait

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

Portretul de faz al micrii

S-ar putea să vă placă și