Sunteți pe pagina 1din 65

SISTEME DE CONDUCERE A ROBOTILOR

CUPRINS
Introducere 2

Sisteme de conducere 5

Sisteme de conducere conventionale 5

Structura programelor de conducere 6

Implementari tehnologice ale sistemelor de conducere 7

Arhitecturi de conducere 9

Concluzii 12

Sisteme de conducere neconventionale 14

Sisteme de conducere neuronale 14

Sisteme de conducere fuzzy 18

Sisteme de actionare 42

Sisteme de actionare conventionale 42

Sisteme de actionare neconventionale 47

Generalitati 47

Sisteme de actionare realizate cu lichide electrorheologice 50

Model de robot pentru aplicarea algoritmului de comanda 51

Model general 51

Principiul de actionare al unui element 51

Algoritmi de comanda pentru modelul proiectat 54

Distributia fortelor de “incovoiere” 54

Corespondenta pozitie necesara – forte aplicate, respectiv presiuni aplicate 58

Programul de simulare a miscarii robotului 61

Exemplu de deplasare rectilinie a robotului, utilizand pasirea cu oscilatii verticale ale corpului 73

Bibliografie 77

Introducere
Robotii prin structura si functiile lor reprezinta o clasa de sisteme ce sintetizeaza elemente de
varf dintr-o serie de domenii tehnico-stiintifice. Este evident, deci, ca robotul reprezinta un sistem
extrem de complex, descris prin modele matematice sofisticate definite prin sisteme de ecuatii
diferentiale neliniare, cu parametri variabili, deterministe sau stohastice, cuprinzand un numar mare
de variabile de intrare si iesire.

Structura de conducere a unui robot este o structura ierarhica. Acest principiu de conducere este
datorat complexitatii deosebite a sistemelor ce intra in componenta robotului si dificultatilor create
de sarcinile de operare impuse.

Organizarea ierarhica a sistemelor de control pentru roboti este e tip vertical, fiecare nivel
ierarhic acoperind nivelul inferior sub raportul problemelor de conducere abordate. Un nivel de
control comunica cu nivelul imediat inferior prin instructiuni de control si primeste de la acesta
informatii caracteristice care, impreuna cu deciziile furnizate de nivelul imediat superior, ii permit sa
stabileasca strategia viitoare de actiune.

In general sistemele robot cuprind un numar variabil de nivele ierarhice in functie de


complexitatea sistemului de conducere utilizat. Putem delimita cinci nivele ierarhice:

nivel 0 / operatorul uman – comunica cu sistemul, intervenind numai in cazul schimbarii


strategiei de conducere, unei avarii, sau aparitiei unei perturbatii externe neprevazute;

nivel 1 / recunoasterea formelor – permite luarea unor decizii adecvate la schimbarea


conditiilor de lucru;

nivel 2 / nivel strategic – se produce defalcarea operatiei preconizate in operatii elementare;

nivel 3 / nivel tactic – se genereaza traiectoriile de miscare functie de gradele de libertate ale
robotului;

nivel 4 / nivelul executiv – coordoneaza functionarea diverselor sisteme e actionare asociate


gradelor de libertate ale robotului.

In functie de sistem principalele cerinte ale unui sistem de conducere pot fi:

generarea traiectoriilor pentru realizarea unei miscari impuse;

conducerea in circuit inchis;

conducerea miscarii in contact direct cu obiectele (conducerea complianta).

Sarcinile unui sistem de conducere determina o impartire a informatiilor in doua clase, pe de


o parte informatiile ce asigura regimul de miscare dorit si pe de alta parte informatii ce acopera
functia tehnologica impusa robotului.

Organizarea programelor de conducere reprezinta un aspect foarte important in sistemele de


conducere ale robotilor, de aceasta depinzand in mare masura performantele adoptate. Se pot
realiza fie programe bazate pe exploatarea secventiala a blocurilor componente in cadrul unei
structuri fixe, de lungime constanta, fie prin structuri variabile de programare, in acest caz trecerea
de la o comanda la alta fiind realizata intr-o maniera adaptiva, pe baza ultimelor rezultate obtinute
din spatiul de operare al robotului.

Complexitatea sistemului de conducere si gradul de dificultate al operatiilor executate


determina adoptarea unor tehnologii specifice de implementare a legilor de conducere. Solutiile
oferite de majoritatea robotilor si manipulatoarelor industriale pot fi grupate in doua clase:
implementari in logica cablata si implementari in logica flexibila.

Metodele de conducere conventionala se bazeaza pe o modelare corespunzatoare a


sistemului supus reglarii si o tratare analitica cu ajutorul functiilor de transfer sau a ecuatiilor de
stare. In majoritatea cazurilor, o tratare completa a problemei conducerii impune cunostinte
avansate de matematica si sisteme de conducere.

Abordarea inginereasca “clasica”a realitatii este prin esenta o abordare calitativa si


cantitativa, bazata pe o modelare matematica – mai mult sau mai putin - „exacta”. Intr-o astfel de
abordare, exprimari de forma “temperatura potrivita”, “umiditate ridicata”,”viteza foarte mare legate
de marimile caracteristice ale unui proces condus, sunt din punct de vedere cantitativ greu
interpretabile. Acest lucru se datoreaza faptului ca in automatica ”clasica” marimile/informatiile sunt
prelucrate cu o valoare numerica bine precizata. In acest context si elaborarea strategiei de
conducere si a dispozitivului de conducere necesita o modelare cantitativa cat mai exacta a
procesului condus: strategiile de conducere avansata (adaptive, cu structura variabila) necesita chiar
permanenta reevaluare a modelelor sau/si a valorilor parametrilor ce caracterizeaza aceste modele
(modele parametrice).

In contrast cu tehnicile conventionale, metodele fuzzy de conducere ofera solutii mult mai
pragmatice, cu evidente facilitati de aplicare in domenii diverse, impunand cunostinte de nivel
acceptabil in domeniul sistemelor, logica de control si tehnologie.

Utilizarea logicii fuzzy in implementarea unor sisteme de conducere in conditiile absentei unei
informatii totale asupra sistemului a reprezentat, de asemenea, unul din factorii care au determinat
larga raspandire a controlului fuzzy in cele mai diverse domenii. Am asistat ( in ultimele doua
decenii) si asistam la o adevarata explozie a tehnicilor de implementare de tip fuzzy atat in
problemele clasice de control cat si in domeniul sistemelor expert, ale inteligentei artificiale sau in
complexele probleme de decizii in domeniul economic.

O alta metoda de abordare a conducerii neconventionale a robotilor o formeaza retelele


neuronale.

Retelele neuronale artificiale sunt compuse dintr-o multime de elemente simple cu


functionare paralela. Aceste elemente sunt inspirate din sistemul nervos biologic. Functionarea
retelei este determinata in mare masura de conexiunile intre elemente. Modul de conectare a
acestor elemente, denumite neuroni artificiali sau unitati de procesare, determina arhitectura retelei
neuronale.

In ultimul timp logica fuzzy si retelele neuronale formeaza sisteme de conducere neuro-
fuzzy.

Sisteme de conducere

Sisteme de conducere conventionale

Sarcinile care stau in fata unui sistem de conducere determina o impartire a informatiilor de
lucru in doua clase, pe de o parte informatii ce asigura regimul de miscare dorit si pe de alta parte
informatii ce acopera functia tehnologica impusa robotului.
Programele de miscare cuprind elemente de baza ale algoritmilor de miscare ce calculeaza intre
anumite puncte, prin tehnici de interpolare, traiectoria robotului.

In Fig. 2.1. sunt prezentate detaliat blocurile componente ce intervin in prelucrarea


informationala ce insoteste procesul de conducere al unui robot.

STRUCTURA PROGRAMELOR DE CONDUCERE

Organizarea programelor de conducere reprezinta un aspect foarte important in sistemele de


conducere ale robotilor, de aceasta depinzand in mare masura performantele realizate si
complexitatea solutiilor hardware adoptate.

Cea mai simpla modalitate de realizare a programelor este bazata pe exploatarea secventiala
a blocurilor componente in cadrul unei structuri fixe, de lungime constanta (Fig. 2.2.).
Fiecare bloc de informatie contine ansamblul de date ce defineste o anumita comanda. Succesiunea
de comenzi, intr-o ordine bine precizata, determina o operatie tehnologica completa a robotului.

Explorarea blocurilor este realizata de un registru distribuitor incremental la sfarsitul fiecarei


secvente tehnologice (o secventa tehnologica reprezinta efectul obtinut prin exercitarea unei singure
comenzi).

O modalitate superioara de conducere este obtinuta prin structurile variabile de programe


(Fig. 2.3.). In acest caz, trecerea de la o comanda la alta este realizata intr-o maniera adaptiva, pe
baza deciziilor furnizate de ultimul bloc de date si pe baza informatiilor furnizate de sistemul
senzorial al robotului, deci pe baza ultimelor rezultate obtinute din spatiul de operare al acestuia. O
astfel de structura confera sistemului de conducere o elasticitate ridicata, o flexibilitate sporita la
orice modificari ale parametrilor robotului sau mediului de lucru.

IMPLEMENTARI
TEHNOLOGICE
ALE SISTEMELOR
DE CONDUCERE

Complexitatea
sistemului de
conducere si gradul de
dificultate al operatiilor
executate determina
adoptarea unor
tehnologii specifice de
implementare a legilor
de conducere.
Solutiile oferite de majoritatea robotilor si manipulatoarelor industriale pot fi grupate in doua
clase: implementari in logica cablata si implementari in logica flexibila (programata). Prima clasa
este reprezentativa pentru acele tipuri de roboti secventiali si manipulatoare care au sisteme de
conducere cu cel mult doua nivele ierarhice (inferioare), nivelul executiv si tactic.

Legile de conducere sunt de tip secvential si prezinta un pronuntat caracter de rigiditate, traiectoriile
de miscare, impuse de operatiile executate, pastrand constante forma si marimile lor semnificative.
Tehnologic aceste sisteme sunt realizate in doua variante: fluidic si electronic. Solutia fluidica este
intalnita la primele tipuri de manipulatoare industriale, in momentul de fata preferandu-se aproape
in exclusivitate tehnologiile de tip electronic. (Fig. 2.4.).

Solutiile flexibile de conducere corespund cerintelor impuse de robotii industriali moderni. Ele
ofera avantaje deosebite atat sub raportul performantelor realizate cat si in ceea ce priveste
complexitatea problemelor tratate si simplitatea structurilor hardware utilizate. Practic, aceste
sisteme sunt implementate in patru variante: cu logica flexibila de tip microprogramat, cu automate
programabile, microprocesoare si microcalculatoare.

Aceasta esalonare indica de fapt si complexitatea solutiilor adoptate, structurile


microprogramate corespunzand unor legi de conducere simple iar conducerea cu microprocesoare si
microcalculatoare fiind specifica sistemelor complexe cu o comportare adaptiva fata de schimbarile
mediului de operare.
ARHITECTURI DE CONDUCERE

Complexitatea functiilor realizate si solutia tehnologica de implementare adoptata sunt elemente


care prefigureaza o anumita arhitectura de conducere.
Sistemele de conducere in logica cablata se bazeaza in principiu pe un automat secvential a (Fig.
2.5.) realizat dintr-un registru de deplasare urmat de o logica de decodificare corespunzatoare.
Registrul constituie suportul de stare al automatului, pentru fiecare stare robotul executand o
anumita secventa functionala. La sfarsitul fiecarei secvente se genereaza un semnal ce determina
incrementarea pas cu pas a registrului. Simplitatea schemei face ca o astfel de structura de
conducere sa fie deseori de preferat in comanda manipulatoarelor si a robotilor industriali de tip
secvential.

Structurile flexibile cu logica microprogramata sant realizate dintr-un automat secvential


constituit dintr-un secventiator programabil si o memorie a carui set de instructiuni defineste atat
comenzile necesare fiecarei secvente, cat si evolutia viitoare a automatului si conditiile externe care
pot guverna aceasta evolutie. Flexibilitatea sistemului este conferita de elasticitatea informatiei
rezidenta in memorie atat sub raport cantitativ cat si calitativ (Fig. 2.6.).

O structura superioara de conducere este oferita de automatele programabile. Acestea


inlocuiesc practic structurile cablate cu structuri logice programabile (Fig. 2.7.) de tipul memoriilor
semiconductoare, retelelor logice programabile (PLA), circuitelor specializate programabile etc. Se
obtine, in acest fel, o flexibilitate ridicata a modurilor de operare, o valorificare maxima a
capacitatilor de memorie iar prin introducerea unei unitati de dialogare se permite interventia
operatorului uman in stabilirea unor regimuri de lucru prioritare.

Sistemele de conducere cu microprocesoare realizeaza o serie de functii de conducere si


supraveghere a robotilor utilizand intreaga gama a operatiilor logice si de calcul aritmetic, evaluari
cantitative si calitative a unor marimi, prelucrarea unor semnale prin algoritmi de conducere discreta
etc. Aceste sisteme au ca suport hardware (Fig.2.8.) familii de microprocesoare pe 8 sau 16 biti sau
microprogramate.
Pentru prelucrarea mixta a semnalelor binare si a celor numerice, sistemele de acest tip sunt
implementate si in configuratii de tip biprocesor, formate din sectiuni diferite specializate pe
interpretarea unor marimi pur secventiale sau a unora numerice

Astfel de sisteme se introduc, in mod firesc, in structuri de conducere ierarhizate, fiecare


procesor preluand unul din nivelele ierarhice proprii conducerii robotilor.

CONCLUZII

Majoritatea robotilor si manipulatoarelor industriale opereaza in practica in conditii cunoscute


anticipat, functionand ciclic in conformitate cu cerintele tehnologice impuse. Ca urmare, este posibila
sinteza unei conduceri nominale, a unui control programat, ce implementeaza miscarea dorita
pentru o stare initiala particulara considerand ca nici o perturbatie nu afecteaza miscarea. Un astfel
de control poate fi sintetizat utilizand modelul centralizat (global) al robotului.

Intrucat aceste modele sunt, in general, destul de precise, este de asteptat ca traiectoria
realizata de robot prin exercitarea acestui control sa fie destul de corect executata.

Sinteza acestui control este realizata, de obicei, off-line definind mai intai traiectoria de
miscare in conformitate cu cerintele tehnologice de functionare ale robotului si calculand apoi
marimile de control necesare pentru actionarea acestuia. Aceasta inseamna ca nivelul de control
tactic se reduce la o simpla memorare a traiectoriilor si a secventelor de control. adecvate.

Aceasta solutie este, in general, unanim acceptata in aplicatiile industriale ale robotilor si
manipulatoarelor, calculul off-line al controlului fiind realizat intr-un calculator suficient de puternic,
ce acopera un numar mare de sisteme de conducere, in timp ce controlul efectiv al robotilor la nivel
executiv cade in sarcina unor automate locale, microprocesoare sau microcalculatoare specializate.

O problema deosebita, in sinteza controlului la nivel tactic, apare datorita redundantei


structurii mecanice. Aceasta problema poate fi eliminata prin introducerea unor criterii suplimentare
care sa penalizeze si sa restrictioneze posibilitatile de miscare ale robotului. In acest fel, o conducere
optima sau suboptimala satisface pe de o parte anumite criterii de performanta si inlatura, pe de
alta parte, aspectele conducerii redundante. Evident ca o astfel de tratare presupune o abordare la
nivele ierarhice superioare, algoritmii respectivi necesitand un suport hardware si software
substantial.

Complexitatea modelelor matematice ale intregii structuri mecanice face, de cele mai multe
ori, improprie implementarea unor algoritmi de conducere. In acest caz, este preferata decuplarea
modelului in subsisteme, in mod normal fiecarei articulatii (sau a unei grupe de articulatii) asociindu-
i-se un subsistem. Legea de conducere este determinata din conditiile de stabilizare locala a fiecarui
subsistem ceea ce nu conduce intotdeauna la o comportare satisfacatoare pe ansamblul problemei
de conducere. In astfel de situatii se introduc suplimentar bucle de reactie globala care sa
imbunatateasca performantele dinamice ale sistemului. Noua configuratie de conducere obtinuta
poate deveni atat de complexa incat decuplarea realizata in prima faza isi pierde sensul.

Cu toate aceste neajunsuri, tehnica decuplarii poate fi utilizata cu succes daca se tine cont
de faptul ca, in conditiile definirii fiecarui grad de libertate ca un subsistem propriu, cuplajul intre
subsisteme este determinat de fortele si momentele in articulatie. Este posibil sa se elimine
interactiunea dintre subsisteme prin introducerea unor bucle de compensare adecvate. Aceasta
metoda prezinta inconvenientul utilizarii unor traductoare forta - moment, in general traductoare
pretentioase, costisitoare. Cu toate acestea, procedura este atractiva datorita, in special, utilizarii
unor algoritmi de conducere mult mai simpli decat in varianta clasica.

Conducerea robotilor prin masurarea fortelor-momentelor se impune de asemenea in


operatiile de asamblare cand robotul vine in contact direct cu anumite obiecte. In acest caz,
conducerea prin controlul fortei permite o mai buna adaptare la fluctuatiile parametrilor spatiului de
operare realizand totodata performante dinamice satisfacatoare.

Indiferent de modul de tratare, exemplele de mai sus permit stabilirea unui model matematic
general ce caracterizeaza dinamica unui brat mecanic.

 (*)

unde q este vectorul coordonatelor generalizate (nx1) pentru cele n articulatii ale sistemului

mecanic, J(q) este matricea (nxn) de inertie, V este o matrice de frecare vascoasa (nxn), F( ,
,q); i,j=1,…,n este vectorul fortelor Coriolis si centrifugale (nx1), G(q) este vectorul (nx1) asociat
termenilor dependenti de gravitatie iar M este un vector (nx1) al fortelor de intrare generalizate.

Modelul generalizat pune bine in relief complexitatea problemelor ce stau in fata


proiectantului sistemului de conducere, probleme ce in mare pot fi formulate in: neliniaritati
complexe ce apar in sistemul de ecuatii diferentiale ce descriu dinamica robotului, modificarea
continua a parametrilor si coeficientilor acestor ecuatii cu pozitia mecanismului si puternica corelare,
interconditionarea generala a parametrilor si coordonatelor sistemului mecanic.

Sisteme de conducere neconventionale

SISTEME DE CONDUCERE NEURONALE


Retelele neuronale artificiale sunt compuse dintr-o multime de elemente simple cu
functionare paralela. Aceste elemente sunt inspirate din sistemul nervos biologic. Functionarea
retelei este determinata in mare masura de conexiunile intre elemente. Modul de conectare a
acestor elemente, denumite neuroni artificiali sau unitati de procesare, determina arhitectura retelei
neuronale.

Analogii cu sistemul nervos.

Sistemul nervos uman sta in atentia cercetatorilor, principalele lor obiective fiind intelegerea
acestuia si realizarea unor modele artificiale ale acestuia.

La baza sistemului nervos sta o celula denumita neuron, care are proprietatea de a primi, prelucra si
transmite semnale denumite excitatii. Elementele principale ale neuronului sunt: corpul neuronului si
prelungirile neuronului (dendritele si axonul) (Fig.2.1.).

Dendritele sunt in numar variabil, terminatiile lor fiind in contact fie cu un axon, fie cu celule
epitale. Prelungirea axonica este unica si prezinta la extremitatea libera o ramificatie bogata. Din
punct de vedere functional neuronul este element excitoconductor avand atat proprietatea de a se
excita, cat si aceea de a conduce excitatia. Excitabilitatea si conductibilitatea nu sunt specifice
neuronului, ele sunt atribuite materiei vii. Ca o proprietate specifica neuronului, trebuie considerata
interiorizarea sau formarea de engrame. Aceasta consta in aceea ca, ca o modificare produsa in
neuron sub influenta unui excitant este conservata si dupa incetarea excitatiei, iar mai tarziu ea
poate fi reprodusa.

Prin excitarea neuronului ia nastere influxul nervos. Neuronul transmite acest influx fie altor
neuroni, fie unor organe efectoare (muschi, glande), punandu-le in stare de functiune. Circulatia
influxului nervos se face intr-un sens bine determinat si anume:

prin dendrite, de la varful acestora spre corpul neuronului;

prin corpul neuronului, de la dendrite la baza axonului;

prin axon, de la corpul neuronului spre arborizatia terminala.

Din punct de vedere fiziologic neuronii pot fi grupati in 3 categorii:

neuroni senzitivi – primesc excitatiile receptionate de la celulele senzoriale din mediul extern sau
din mediul intern;

neuroni motorii – ai caror axoni se termina in organele efectoare;


neuroni de asociere (conectori) – ale caror dendrite fac legatura cu un neuron senzitiv, iar
axonul face legatura cu un neuron motor.

In sistemul motor neuronii sunt legati in lanturi, fie intre prelungiri si corpul neuronului
(axon-dendrita), fie intre prelungiri si corpul neuronului. Conexiunea aceasta se numeste sinapsa.
Trebuie remarcat ca mai multi neuroni sinaptici converg pe un neuron pestsinaptic, iar acesta
transmite informatiile primite la un numar mare de neuroni. Sinapsele functioneaza ca adevarate
macazuri, putand selecta, amplifica sau bloca influxul nervos.

Scoarta cerebrala sau cortexul cerebral este locul celor mai complexe functii de relatie cu
mediul inconjurator si de integrare a partilor corpului intr-un tot unitar. Scoarta cerebrala contine un
numar de 14 – 18 miliarde de neuroni. In cortex se intalnesc doua feluri de legaturi: unele care
exista din nastere si au caracter definitiv si altele care se formeaza in timpul vietii si au caracter
temporar.

Tipuri de retele neuronale.

Retelele neuronale se pot imparti in doua mare categorii:

retele neuronale fara reactie (statice);

cu propagare inapoi;

cu contrapropagare.

retele neuronale cu reactie (dinamice).

retele de tip Hopfield;

de tip memorii asociative bidirectionale.

Retele neuronale cu propagare inapoi (backpropagation) – au un nivel de intrare, un nivel de


iesire si eventual unul sau mai multe nivele ascunse. Legaturile dintre diferite nivele au anumite
valori care se determina prin procesul iterativ de invatare.

Retelele neuronale cu contrapropagare – au antrenarea mai rapida. Reteaua este formata


din trei nivele neuronale si deci din doua nivele sinaptice. Reteaua se poate imparti in doua
submodele: un cuantizator Kohonen si un codor Grossberg. Primul nivel primeste un vector de
intrare, iar ponderile modeleaza astfel intrarea incat un singur neuron se activeaza la iesirea acestui
nivel. Nivelul de iesire Grossberg recodifica iesirea nivelului Kohonen generand vectorul de iesire.

Retele neuronale Hopfield – presupun o topologie cu un nivel de intrare si unul de iesire, iar
iesirile sunt readuse la nodurile de intrare. Daca iesirile sunt binare, atunci toate iesirile posibile
reprezinta varfurile unui hiper-cub. Iesirea activa va trece de la un varf la altul pana cand ajunge
intr-o stare stabila.

Retele de tip memorii asociative bidirectionale – sunt de fapt heteroasociative, adica daca
avem un vector la intrare se obtine la iesire un alt vector, asocierea fiind memorata in sinapse la
antrenarea retelei. Reteaua are sens bidirectional adica la aplicarea la intrare a vectorului obtinut la
iesire duce la obtinerea vectorului pereche. Daca vectorul de intrare este perturbat intre anumite
limite, iesirea ramane corecta.

Caracteristicile cele mai importante ale retelelor neuronale artificiale sunt:

Capacitatea de invatare
retelele neuronale artificiale nu necesita programe puternice ci sunt mai degraba rezultatul unor
antrenamente asupra unui set de date;

dandu-se un set de intrari (eventual si iesirile dorite) in urma procesului de antrenament se


auto-organizeaza astfel ca pot rezolva problemele pentru care au fost proiectate. S-a
dezvoltat o gama foarte larga de algoritmi de antrenament, fiecare avand avantajele si
dezavantajele sale, putandu-se aplica cu succes in unele cazuri sau fara nici o sansa in altele

Capacitatea de generalizare  - daca au fost antrenate corespunzator, retelele sunt capabile sa


dea raspunsuri corecte si pentru intrari diferite de cele cu care au fost antrenate, atat timp cat
aceste intrari nu sunt foarte diferite. Este important de mentionat ca retelele neuronale artificiale
generalizeaza automat ca urmare a structurii lor, nu cu ajutorul inteligentei omului inglobata intr-un
anumit program special creat in acest scop.

Capacitatea de sinteza  - retelele neuronale artificiale pot lua decizii sau trage concluzii cand
sunt confruntate cu informatii complexe sau cu zgomote irelevante sau partiale. De exemplu o retea
poate fi antrenata cu o secventa de versiuni distorsionate ale unei litere. Dupa un proces de
antrenare adecvat, aplicarea unei versiuni distorsionate a acelei litere (alta decat cele folosite la
antrenare) va avea ca rezultat la iesirea retelei litera corecta. Deci se poate spune ca reteaua a
invatat sa recunoasca ceva ce nu a vazut mai inainte.

Un cadru pentru reprezentari distribuite

O retea artificiala consta intr-o reuniune de unitati de procesare simple care comunica prin
trimiterea semnalelor intre ele printr-un mare numar de conexiuni ponderate.

Se pot distinge o serie de aspecte majore ale unui model paralel distribuit:

o multime de unitati de procesare – fiecare unitate receptioneaza intrarea de la vecini sau din
surse externe si o foloseste pentru a calcula un semnal de iesire care se propaga la alte
unitati;

o stare a activarilor ai pentru fiecare unitate, si care determina iesirea unitatii;

conexiunea intre unitati – in general fiecare conexiune este definita printr-o pondere w ij care
determina efectul pe care il are semnalul unitatii j asupra unitatii i;

o regula de propagare, cu care se determina intrarea efectiva ii din intrarile sale externe;

o functie de activare Fi care determina noul nivel de activare bazata pe intrarea efectiva ii(t) si
starea curenta ai(t);

o intrare externa sau offset pentru fiecare unitate;

o metoda pentru adunarea informatiilor;

un mediu in interiorul caruia sistemul trebuie sa lucreze, furnizand semnalele de intrare si – daca
este necesar – semnalele de eroare.

Arhitectura retelei

Din punct de vedere al conexiunilor, principala distinctie se poate face intre:


retele neuronale fara reactie (feed-forward networks) in care datele circula de la intrare la
iesire strict direct. Procesarea datelor poate fi extinsa la straturi multiple de unitati, dar
fara sa existe conexiuni inverse;

retele neuronale recurente (recurrent networks) care contin conexiuni inverse. Spre
deosebire de retelele fara reactie, aici sunt importante proprietatile dinamice ale retelei.
In unele cazuri, valoarea de activare a unitatii trece printr-un proces de relaxare care
face ca neuronul sa evolueze intr-o stare stabila in care aceasta activare nu se mai
modifica. In alte aplicatii, modificarile valorilor de activare ale neuronului sunt
importante, in care comportamentul dinamic constituie chiar iesirea retelei.

Instruirea retelelor neuronale artificiale

O retea neuronala trebuie sa fie configurata astfel incat aplicarea unui set de intrari sa
produca un set de iesiri. O cale este setarea explicita a ponderilor, folosind o cunoastere anterioara
a lor. Alta cale este sa “instruiasca” reteaua neuronala din alimentarea ei cu modele (pattern) de
invatare si permitandu-i sa isi modifice ponderile in conformitate cu niste reguli de invatare.

Paradigmele invatarii

Situatiile invatarii se pot clasifica in doua tipuri distincte:

Invatare supervizata sau invatare asociativa in care reteaua este instruita prin furnizarea


modelelor intrarii si a iesirii corespunzatoare. Aceste perechi intrare-iesire pot fi furnizate de
un invatator extern, sau de un sistem pe care il contine reteaua (auto-supervizare).

Invatare nesupervizata sau Auto-organizare (Self-organisation) in care o unitate (de iesire) este


instruita sa raspunda la adunarea modelelor de intrare in jurul unor valori. In contradictie cu
paradigmele invatarii supervizate, nu exista un set de categorii in care modulele sa fie
clasificate, mai degraba sistemul trebuie sa isi dezvolte propria reprezentare a stimulilor de
intrare.

Modificarea modelelor de conexiuni

Cele doua paradigme prezentate mai sus au drept rezultat ajustarea ponderilor conexiunilor dintre
unitati, in conformitate cu niste reguli de ajustare. Ideea de baza este ca daca doua unitati i si j sunt
active simultan, trebuie intarita interconexiunea dintre ele.

SISTEME DE CONDUCERE FUZZY

Metodele de conducere conventionala se bazeaza pe o modelare corespunzatoare a


sistemului supus reglarii si o tratare analitica cu ajutorul functiilor de transfer sau a ecuatiilor de
stare. In majoritatea cazurilor, o tratare completa a problemei conducerii impune cunostinte
avansate de matematica si sisteme de conducere.

Conducerea bazata pe teoria multimilor vagi (logica vaga), sau conducerea fuzzy, este mult
mai pragmatica, putand prelua si utiliza o caracterizare “lingvistica” a calitatii desfasurarii procesului
si adapta aceasta caracterizare functie de cerintele concrete de desfasurare a acestuia.

Notiunea de multime vaga porneste de la notiunile:

ideea de apartenenta partiala la o clasa;

categoria de limite slab definite;


gradualitatea in trecerea de la o situatie la alta, admiterea de situatii intermediare intre “tot”
si “nimic”.

Dezvoltarea acestor notiuni furnizeaza posibilitati de reprezentare si manipulare a


cunostintelor insuficient descrise, vagi sau imprecise si stabilesc o interfata intre date descrise
simbolic (prin cuvinte) si numeric (prin cifre).

Logica fuzzy constituie un mod de abordare a unor modele de procese sau sisteme incomplet
cunoscute sau definite si opereaza cu inferente logice (judecati) similare cu rationamentul uman.
Implementarea ei conduce la realizarea unor controlere ce contin elemente de inteligenta artificiala.

Comanda in logica fuzzy este avantajoasa (prezinta interes) pentru urmatoarele motive:

poate fi aplicata in cazul unor modele vag definite;

poate trata intr-un cadru comun cunostinte furnizate numeric (de traductoare, instrumente
de masura) si cunostinte exprimate simbolic (de catre un observator sau operator
uman);

sinteza cunostintelor mai multor experti este usor de realizat;

este posibila coordonarea mai multor obiective;

este robusta, se comporta bine la perturbatii care pot afecta procesul;

este usor de realizat si de adaptat conditiilor functionale ale procesului, deci flexibila.

Principalele particularitati ale conducerii fuzzy a proceselor pot fi sintetizate prin urmatoarele:

conducerea fuzzy se bazeaza pe regulatoare – denumite regulatoare fuzzy – cu “caracteristica


statica” neliniara, influentabila/modificabila dupa nevoi;

conducerea fuzzy poate fi asigurata dupa mai multe marimi ale procesului fiind incadrabila din
acest punct de vedere in categoria structurilor de conducere cu conexiuni multiple; prin
aceasta, regulatorul fuzzy devine multivariabil la intrare (eventual si la iesire) si se apropie ca
si continut de regulatoarele dupa stare;

principial, regulatoarele fuzzy sunt regulatoare fara dinamica, dar domeniile de utilizare si
performantele lor, respectiv ale sistemelor de reglare automata cu regulatoare fuzzy pot fi
largite prin extinderea regulatoarele fuzzy propriu-zise cu module “cu dinamica”; ca efect se
obtin asa numitele regulatoarele fuzzy cu dinamica; cum dinamica introdusa creeaza
componente de tip derivativ si/sau integrator, aceste regulatoare vor fi denumite
regulatoarele fuzzy cvasitipizate;

regulatoarele fuzzy prezinta maleabilitate in modificarea proprietatilor de transfer (prin


caracteristici statice generalizate), ceea ce asigura posibilitatea realizarii, intr-o varietate
mare, a structurilor de conducere adaptiva.

Abordarea bazata pe experienta umana se manifesta in cazul conducerii fuzzy prin


formularea cerintelor de conducere, respectiv prin elaborarea comenzii regulatorului fuzzy cu
ajutorul unor reguli “naturale” (set de reguli) de forma:

DACA (premisa) ATUNCI (concluzia)


unde “premisa” se va referi la situatia constatata privind evolutia procesului condus (comparata de
regula cu evolutia dorita), iar “concluzia” se va referi la masurile ce trebuie luate – sub forma
comenzii u(t) – pentru asigurarea evolutiei dorite. Ansamblul acestor reguli va constitui “baza de
reguli” a regulatorului fuzzy.

Cercetarile intreprinse, referitoare la comportarea “expertului uman”, au evidentiat ca


acestuia ii este de fapt specifica o comportare “puternic neliniara” insotita/completata cu efecte de
anticipare, de intarziere, de predictie si chiar de adaptare la conditiile concrete de functionare.
Nuantarea caracterizarii lingvistice a desfasurarii evolutiei procesului condus (si, corespunzator, a
caracterizarii matematice vagi) precum si interpretarea – bazata pe experienta – a procesului de
generare a comenzii necesare si de analiza a evolutiei procesului condus, vor fi in ultima instanta
“parametrii” prin care se pot modifica proprietatile regulatorului fuzzy. Din acest punct de vedere
sistemele de conducere bazate pe logica fuzzy pot fi incadrate in domeniul foarte general al
“sistemelor de conducere expert”, fara insa a le confunda cu acestea.

Schema bloc (considerata clasica in


literatura) aferenta unui sistem de reglare
automata – monovariabil din punctul de
vedere al referintei (w) si al numarului de
iesiri de apreciere (y) – prevazut cu
regulator fuzzy este prezentat in Fig.2.2.

Particularitatea esentiala este cea a


conexiunilor multiple dinspre proces catre
regulator prin marimi auxiliare, reunite in

vectorul   si care sunt direct sau


indirect marimi de intrare in regulator.

Indiferent de numarul marimilor de intrare in regulatorul fuzzy, acesta trebuie sa aiba cel
putin una, notata in schema cu e1, care sa corespunda erorii de reglare:

Principial, functionarea unui regulator fuzzy presupune urmatoarea succesiune de


operatii Fig. 2.3.

Informatia ferma de la intrare (marimi masurate, marimea prescrisa, eroarea de reglare)


este “convertita” intr-o reprezentare “vaga”. Aceasta operatie este
numita fuzificarea informatiei ferme.

Informatia fuzzificata este prelucrata pe baza unui set de reguli (baza de reguli) care in vederea
conducerii procesului in cauza trebuie sa fie “bine precizate”. Principiile (regulile de evaluare)
a setului de reguli poarta denumirea de schema de inferenta, iar rezultatul il
constituie forma vaga a comenzii u (comanda  vaga
Comanda vaga trebuie convertita intr-o exprimare “ferma”, cu valoare numerica bine precizata
si, ulterior, si natura fizica bine precizata, direct utilizabila la nivelul elementului de executie.
Operatia poarta numele de defuzificare.

Blocul de fuzificare transforma datele de intrare, eroarea sistemului, in marimi fuzzy,


atribuind acestor marimi variabile lingvistice si asociindu-le functii de apartenenta corespunzatoare.

Blocul de inferente reprezinta partea principala a unui CLF. Acest bloc genereaza legea de
control sub forma unei familii de reguli logice de tipul IFTHEN ce descriu relatiile intre intrarea e
(eroare) si iesirea u a controlerului. Adaptand un model direct, aceste reguli implementeaza de fapt
o lege de forma generala:

Din considerente practice, implementarea unei astfel de legi pentru  este extrem de
complexa si dificil de aplicat. In mod curent, legea de control de mai sus capata forma simplificata:

sau:

Existenta unei legi de conducere de tipul (1.6.9)-(1.6.11) nu inseamna ca CLF poate fi definit
printr-o functie de transfer sau printr-o ecuatie de diferente. Legea de control este generata prin
baza de reguli IFTHEN sub forma:

si deci iesirea actuala se obtine sub forma:

un astfel de CLF este numit CLF-Mamdani dupa numele cercetatorilor Mamdani si Assilian care l-au
propus prima data in anul 1975 (Fig. 2.4.)

Fuzificarea marimilor in CLF

Interfatarea pe intrare a unui astfel de controler este realizata prin blocul de fuzificare.
Acesta trebuie sa asigure:
Conversia marimilor de intrare (eroare) e intr-o forma digitala compatibila cu procesarea
ulterioara in logica fuzzy. Daca eroarea e este un semnal continuu, se impune o conversie
analog-numerica corespunzatoare. De asemenea, daca e este un semnal numeric, o
procesare numerica suplimentara este necesara pentru asigurarea performantelor dorite.

Formarea variabilelor ce vor determina conditiile antecedentului in baza de reguli a CLF. In


general, asa cum s-a aratat anterior, o prima variabila de intrare este eroarea e(k), dar
impunerea unor conditii complexe necesita generarea si a altor variabile de intrare.
Acestea pot fi definite prin marimea de eroare evaluata la cateva 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 acceleratia bratului mecanic (pentru controlul unui sistem robot).

Exprimarea variabilelor de intrarea ca multimi fuzzy. In acest sens, marimilor fizice li se


atribuie variabile lingvistice, variabile fuzzy si functii de apartenenta. Se determina totodata universul
de discurs pe care este definita fiecare variabila.

Functiile de apartenenta utilizate in 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 ca aceasta impune utilizarea unor factori
de scala corespunzatori pentru fiecare variabila.

In Fig.2.5.a sunt reprezentate functiile de apartenenta a cinci multimi fuzzy ce reprezinta


etichetele lingvistice ale erorii: NM, NI, Z, PI, PM (NEGATIV MARE, NEGATIV INFERIOR, ZERO,
POZITIV INFERIOR, POZITIV MARE, respectiv). Rangul de operare al erorii, universul sau de discurs,
se presupune [-1,1]. Se observa ca trei multimi au functii de apartenenta triunghiulare iar doua,
trapezoidale.
In mod analog, in Figura Fig.2.5.b sunt reprezentate cele trei functii de apartenenta ale multimilor
fuzzy asociate etichetelor lingvistice ale variatiei erorii Δe: N,Z,P (NEGATIV, ZERO, POZITIV) al carui
univers de discurs este de asemenea normalizat.

In Figura Fig.2.5.c sunt prezentate functiile de apartenenta ale multimilor fuzzy ce reprezinta
acceleratia miscarii ( ), in conditiile in care baza de reguli ce urmeaza a fi stabilita impune
introducerea acestor variabile. Sunt definite sapte multimi fuzzy asociate etichetelor NM, NS, NI,
Z,PI, PS, PM (NS=NEGATIV SUPERIOR, PS=POZITIV SUPERIOR). Universul de discurs nu mai este
normalizat si este utilizat chiar domeniul de variatie al variabilei de stare, acceleratia  .

Functiile alese pot fi simetrice sau nesimetrice (in raport cu originea), triunghiulare sau
trapezoidale, echidistante sau nu, pe universul de discurs normalizat sau nu. Totusi, indiferent de
modalitatile de alegere se impun categoric respectarea urmatoarelor conditii:

 , 

 , 

O analiza elementara indica ca prima relatie impune ca pentru orice punct din universul de

discurs, U sa fie definita cel putin o functie  . A doua conditie este determinata de o anumita
comoditate in calculele numerice ale CLF. Particularitatile specificate mai sus sunt valabile pentru
functiile de apartenenta asociate numai variabilelor de intrare intr-un CLF. Variabilelor de iesire,
marimile crisp, li se asociaza de asemenea functii de apartenenta, dar acestora nu li se mai impun
restrictiv aceste conditii.

Baza de reguli

Partea principala a unui CLF, cea care implementeaza algoritmul de conducere al sistemului
este baza de reguli (blocul de inferente) a sistemului.

Asa cum am aratat in paragrafele anterioare, fiecare regula este formata din doua parti:
partea IF numita si antecedent si o parte THEN numita consecinta.

IF 

THEN 

IF 

THEN 
Antecedentul contine conditia sau conditiile (variabile de intrare) care activeaza regula. Daca mai
multe variabile formeaza conditiile de activare, acestea sunt legate prin AND. Consecinta permite
generarea variabilei sau a variabilelor de iesire activate ca urmare a indeplinirii conditiilor regulii.

Pentru a fixa ideile vom exemplifica baza de reguli pentru un sistem de conducere al unui
brat in miscare de translatie (Fig.2.6.).

Se va construi baza de reguli pentru un CLF cu doua variabile de intrare e(k) si Δe(k) si o variabila
de iesire u(k). Se va presupune ca universul de discurs este normalizat atat in ceea ce priveste
variabilele de intrare cat si pe cea de iesire, iar functiile de apartenenta au forma din Fig. 2.7.

Formarea corecta a bazei de reguli depinde de ordinul sistemului condus si de performantele


dorite. In principiu, nu exista o procedura sistematica pentru determinarea regulilor, acestea fiind
determinate in mare masura de abilitatea si experienta proiectantului. Totusi, pentru cazul analizat,
regulile pot fi stabilite relativ usor, acestea fiind determinate de conditia evolutiei stabile a sistemului
catre o dreapta de comutare.

In sinteza, baza de reguli pentru exemplul discutat, contine noua reguli in forma urmatoare:

Regula 1 IF e este N AND Δe este P

THEN u este Z
Aceasta regula sugereaza ca in conditiile in care eroarea este negativa si variatia ei este
pozitiva, comanda generata u poate fi zero, evolutia sistemului ducand catre domeniul e=0. Celelalte
reguli au interpretari 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 remarca ca fiecare regula este definita prin operatorul logic AND (SI) ce defineste
intersectia conditiilor logice asociate regulii. Desi, neformulat explicit, baza de reguli contine si
operatorul OR (SAU) aplicat ca operator reuniune intrinsec pe multimea regulilor bazei. Exemplu
anterior poate fi rescris sub forma urmatoare:

Regula 1 .. , OR

Regula 2 .. , OR

Regula 9 .. .
Descrierea de mai sus a bazei de reguli este asa numita „descriere lingvistica”. Ea este
utilizata frecvent in conditiile in care dimensiunea bazei este rezonabila, numarul de variabile de
intrare in CLF nedepasind valoare trei. In mod frecvent, baza de date poate fi reprezentata sub
forma tabelara si printr-o matrice de inferenta. De exemplu, regulile stabilite mai sus pot fi redate
sintetic ca in Tabelul 2.1.

N Z P
e
P Z N N
Z P Z N
N P P Z

Tabelul 2.1. Baza de reguli pentru variabilele e, 

Matrice cuprinde, pe linii si coloane etichetele lingvistice ale variabilelor e si Δe, respectiv.
Fiecare pereche linie, coloana defineste conditiile unei anumite reguli iar in celula corespunzatoare a
matricei este introdusa eticheta lingvistica a valorii generate, u (consecinta).

Matricile de inferente de tipul celei prezentate sunt practice pentru baze de reguli cu un
numar mare de variabile de intrare in CLF. De exemplu, daca conditiile in CLF sunt date de e, Δe si
Δ2e (acceleratia sistemului), atunci baza de reguli poate fi sintetizata prin matricea de inferente din
Tabelul 2.2.

N Z P
N Z P N Z P N Z P

 e
P Z Z N Z N N Z N N
Z P Z Z P Z N Z Z N
N P P Z P P Z P Z Z

Tabelul 2.2. Baza de reguli pentru variabilele e,

Procedura poate fi extinsa pentru structuri mai complexe, cu un numar mai mare de variabile
de intrare, dar trebuie avut in vedere ca o crestere a complexitatii bazei de date implica o procesare
mai laborioasa, prelucrarea unui numar mare de variabile, un timp de calcul sporit si multe
inconveniente in implementarea practica a algoritmului de control.

Implementarea bazei de reguli

Este evident ca procesarea unor reguli intr-o baza (mecanismul de inferenta) impune
determinarea, in primul rand, a conditiilor ce definesc regula si a gradului lor de activare. Acest lucru
este obtinut prin tratarea conditiei ca multime fuzzy si prin testarea gradului de activare al acesteia
cu ajutorul functiilor de apartenenta asociate.

Intr-o scriere sintetica, o regula poate fi exprimata sub forma:

Regula j: IF CONDITIA C1 AND CONDITIA C2 AND AND CONDITIA CP

THEN DECIZIA Dj
Considerand  , multimea fuzzy asociata conditiei C1, gradul de activare al conditiei pentru
o valoare x=x* in universul de discurs este exprimat prin

 (1.9.1)

In Fig.2.8.este ilustrat grafic modul de calcul al gradului de activare.

Pentru o regula completa definita prin conditiile C1, C2, , Cp carora li se asociaza multimile fuzzy 

,  , .,  , definite pe universul de discurs x1, x2, , xp, se obtine:

 , i=1, 2, , p

Conditiile Ci sunt interpretate prin operatorul AND

unde   va reprezenta functia de activare al variabilei de iesire, consecinta, decizie a


regulii determinate de expresia THEN.

Sinteza deciziei, la nivelul unei reguli, este obtinuta in general prin algoritmul Mandami care
formal este scris sub forma:

unde  ,  ,,   sunt multimi fuzzy definite pe universul de discurs U al variabilei de


iesire u.
Fig. 2.10. ilustreaza tehnica de formare a deciziei in cadrul unei reguli. Pe intreaga baza,
procedura este repetata pentru fiecare regula.

In Fig.2.11. este prezentata generarea deciziilor in doua reguli j si m,   si   


reprezentand multimile fuzzy corespunzatoare definite pe universul de discurs al variabilei de iesire.
Implementarea numerica a bazei de reguli corespunde de fapt modului de tratare a operatorilor AND
- OR. Cea mai des intalnita modalitate de evaluare este cunoscuta sub numele „min - max” in care
operatorii AND sunt evaluati prin functia „min”, iar operatorii OR prin „max”.

Pentru exemplificarea ultimului operator, in Figura 1.30 este prezentata functia max aplicata
pe cele doua reguli j si m ilustrate in Fig.2.11.

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

iar operatorul OR pastreaza forma enuntata mai sus.

De asemenea, se utilizeaza si forma „prod - suma” in care operatorul AND este tratata dupa
relatia de mai sus, iar OR prin:
Defuzificarea

Etapele principale in implementarea unui CLF, fuzificarea marimilor de intrare si procesarea


algoritmului de conducere sub forma unei baze de reguli au fost prezentate la punctele 1 si 2. In
final, marimea de iesire este generata sub forma unei multimi fuzzy. Este evident ca se impune
compatibilizarea acestei marimi cu procesul condus, deci este necesara reconversia marimii de iesire
intr-o marime crisp. Procedura aceasta este cunoscuta sub numele de defuzificare.

Defuzificarea reprezinta o etapa importanta in structura generala a proiectarii unui CLF si


literatura de specialitate abunda in solutii. In cele ce urmeaza se vor prezenta cateva din tehnicile de
implementare cele mai eficiente.

Defuzificarea prin „centru de greutate” este cea mai raspandita procedura de reconversie a
deciziei fuzzy de la iesirea CLF intr-o variabila crisp. Aceasta metoda se bazeaza pe evaluarea
functiei de apartenenta a deciziei fuzzy dupa aceleasi reguli ca cele utilizate in calculul centrului de
greutate din mecanica clasica. In acest mod se asociaza functiei de apartenenta a decizie variabilei
de iesire o valoare crisp corespunzatoare.

Pentru fixarea ideilor, se va considera decizia D* reprezentata in Fig.2.13.. Functia de


apartenenta a acestei decizii fuzzy este obtinuta din primele doua reguli ale aplicatiei discutate in
paragraful precedent.
Prin evaluarea „centrului de greutate” al ariei definita de functia de apartenenta a deciziei D* se
obtine pe abscisa:

ceea ce reprezinta o masura crisp a deciziei fuzzy.

In cazul general, defuzificarea apeleaza la formula clasica a „centrului de greutate”:

unde   este functia de apartenenta a deciziei finale numitorul reprezinta aria


delimitata de functia de apartenenta, iar numaratorul defineste momentul ariei. In aceasta relatie s-
a presupus ca universul de discurs U este normalizat. Intr-o forma mai generala, expresia poate fi
rescrisa ca:

In mod curent este utilizata o procedura de discretizare

ceea ce permite, in cele mai multe cazuri, un calcul usor de implementat.


Pentru anumite cazuri particulare ale functiei de apartenenta, relatiile folosite pentru defuzificare pot
capata anumite forme simplificate. De exemplu, daca iesirea este definita prin functii singleton,
expresia de discretizare devine (Fig.2.14.):

unde:

O interpretare si mai facila, desi evident destul de aproximativa, se poate obtine daca functia
de apartenenta contine un maxim sau domenii maximale (2.15.).

Analogia intre CLF si regulatoarele conventionale PD, PI, PID


Legea de conducere a variabilei de iesire u in functie de eroarea e(k) si variatia erorii Δe(k),
este de forma

O astfel de lege de conducere este similara cu cea stabilita in regulatoarele conventionale de


tip PD care genereaza un control sub forma unei combinatii intre o componenta de tip proportional
si una de tip derivativ:

unde kP si kD sunt parametrii regulatorului PD.

Prin analogie, o lege de conducere obtinuta intr-un CLF, de aceasta forma se va numi CLF –
PD.

Daca regulile unui CLF nu genereaza valoarea u(k), ci variatia marimii de iesire Δu(k):

deci se implementeaza o lege de conducere generala de forma

atunci aceasta lege se poate asocia cu cea oferita de un regulator conventional de tip PI
descris prin relatia:

unde kP si kI sunt parametrii regulatorului PI.

In acest sens, un CLF a carei baza de reguli defineste un algoritm de forma (1.12.4) se va
numi de tipul CLF – PI.

Procedura poate fi extinsa pentru legi de conducere mai complexe. De exemplu, daca legea
unui CLF este generata sub forma:

unde:

ea va fi de tipul PID, intrucat este similara cu cea obtinuta de regulatorul conventional cu


acelasi nume:
Este evident ca o astfel de lege impune in CLF o baza de reguli mai complexa, definita pe

variabilele  ,  ,  . De exemplu, o regula a bazei poate fi urmatoarea:

IF   este ZERO AND   este MEDIE AND   este POZITIVA

THEN   este POZITIVA

O forma modificata a legii (1.12.6) care poate fi acceptata in definirea unui CLF – PID poate
fi de forma:

care corespunde regulatorului PID discret:

Desigur, pot fi adoptate si alte legi de conducere, cu algoritmi mai sofisticati, dar este
evident ca o crestere a numarului de variabile de intrare (antecedente) in structura regulilor,
determina o implementare extrem de dificila si in multe cazuri cu totul nepractica. Din acest motiv,
introducerea a mai mult de doua variabile de intrare in structura regulilor este acceptata numai in
conditii de performante cu totul speciale.

Consideratii asupra universului de discurs

In general, universul de discurs al variabilelor de intrare si de iesire la un CLF este


reprezentat de dreapta numerelor reale. In practica, fiecare univers este restrictionat la un interval
bine definit intre o valoare maxima si una minima in conformitate cu rangul marimilor fizice.

In functie de problema de conducere abordata, domeniile universurilor de discurs pot fi


extrem de diverse. Totusi, pentru simplificarea tratarii si unificarea metodologiei de proiectare, este
de preferat sa se opereze pe universuri de discurs normalizate.

Pentru exemplificare se va considera ca variabilele e(k), Δe(k) si u(k) opereaza pe


domeniile  ,  ,  , respectiv si se vor presupune universele
normalizate corespunzatoare:

Pentru a transforma domeniile de operare ale variabilelor de intrare masurate e(k), Δe(k) in
universul de discurs normalizat se utilizeaza factori de scala:
Acesti coeficienti vor transforma valorile reale masurate ale intrarilor in CLF, e(k), Δe(k), in
valorile e*(k), Δe*(k) din universul normalizat:

unde:

Algoritmul bazei de reguli se va aplica marimilor normalizate si va permite dupa defuzificare,


obtinerea unei variabile de iesire din universul corespunzator normalizat:

Implementarea completa a CLF-ului impune generarea iesirii in universul real de activare,


deci este necesara o „denormalizare” printr-un factor de scala corespunzator:

ceea ce determina revenirea variabilei de iesire in domeniul  .

In general, universul normalizat poate fi identic cu un rang real de operare al unei variabile,
dar, pentru cele mai multe aplicatii, acesta coincide cu intervalul inchis [-1,1].

Factorii de scala joaca un rol extrem de important in proiectarea unui CLF. Este evident ca
scalarea erorii si a variatiei acesteia inseamna efectiv o transformare a spatiului de stare ceea ce va
determina o modificare automata a performantelor. In literatura de specialitate sunt mentionate
urmatoarele reguli ce se impun in selectia factorilor de scala:

Alegerea unor valori mari ale factorilor ke determina erori stationare mici, timp de crestere
mic si suprareglaj ridicat, in timp ce valori mici ale lui ke determina o comportare opusa;

Valori mari ale lui kd determina o convergenta rapida;


Timpul de crestere este ridicat pentru valori mici ale factorului ku.

Metodele Takagi – Sugeno – Kang (TSK)

Modelele fuzzy discutate anterior se bazau pe reguli in care atat partea conditionala cat si
cea decizionala cuprindea multimi fuzzy

Regula i: IF CONDITIA C1 AND CONDITIA C2 AND   MULTIMI FUZZY

THEN DECIZIA Di   MULTIMI FUZZY

Astfel de modele nu contin nici o forma explicita a functiei obiectiv si sunt cunoscute frecvent
sub denumirea de modele Mandani.

O alta modalitate de tratare, atragatoare in cazul sistemelor mari si complexe, este oferita de
modelul Takagi – Sugeno – Kang (TSK) in care iesirea, decizia sistemului este obtinuta dupa o lege
non-fuzzy, ca o functionala pe variabilele de intrare.

Regula i: IF x1 este C1i AND x2 este C2i AND   MULTIMI FUZZY

THEN     MULTIMI NON-FUZZY

Marele avantaj al acestui model rezida in posibilitatea de tratare a sistemelor complexe prin
decompozitia acestora in subsisteme mai simple, uneori chiar, subsisteme liniare. De asemenea, o
alta posibilitate de abordare consta in descompunerea spatiului de stare al sistemului in subspatii
disjuncte si identificarea modelelor dinamice pentru fiecare subspatiu. Iesirea finala este obtinuta
printr-o compunere logica a iesirilor fiecarui subspatiu.

In cele mai dese cazuri, partitionarea spatiului de stare este astfel realizata incat iesirea sa
poata fi generata sub forma unor modele liniare.

Regula 1: IF x1 este C11 AND AND xn este Cn1

THEN 

...

Regula p: IF x1 este C1p AND AND xn este Cnp

THEN 

In aceasta baza de reguli, Cij (j=1,p), (i=1,n) sunt multimi fuzzy pe spatiul de stare al
sistemului X1, X2, , Xn iar x1, x2, , xn sunt valori crisp ale variabilelor de intrare (stare). Partea
decizionala a regulilor poate fi considerata ca modele liniare ce definesc variabilele de iesire u 1, u2, ,
up (marimi crisp) in functie de variabilele de intrare (stare), variabile crisp. Iesirea globala u a
intregului model TSK se obtine printr-o medie ponderata a iesirilor crisp ui pentru fiecare subsistem
liniar. Considerand gradul de activare al fiecarei conditii Cij:

 i=1,,n

j=1,,p
iar functia de activare la nivelul unei reguli:

iesirea generala va fi:

Daca iesirea fiecarei reguli este o functie neliniara  , modul de calcul


dat de relatia de mai sus se pastreaza, iesirea u fiind obtinuta tot ca o medie ponderata pe iesirile
neliniare ale fiecarei 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 urmatoarea baza de reguli:

Regula 1: IF e(k) este C11 AND Δe(k) este C21

THEN 

Regula p: IF e(k) este C1p AND Δe(k) este C2p

THEN 

Iesirea CLF va fi:

unde  se obtine conform relatiilor enuntate.

Analogia acestui model cu un regulator conventional PI permite identificarea parametrilor


regulatorului:

deci:
Concluzii

Printre avantajele reglajului bazat pe teoria multimilor vagi pot fi invocate cateva, deosebit
de atractive din punct de vedere practic:

conducerea bazata pe reguli ce se dezvolta si tin seama de experienta unui operator


uman expert:

cel putin intr-o prima faza (si chiar aparent), dezvoltarea Sistemului de reglare nu necesita un
aparat matematic sofisticat;

Instrumentatia de proces poate fi simpla, etc.

Toate acestea ofera o atractie pragmatica spre domeniu, fara insa ca solutia de conducere
sa garanteze si performante superioare (in raport cu un reglaj conventional, de exemplu).
Stabilitatea si robustetea asigurate prin baza de reguli nu sunt garantate analitic, fiind bazate doar
pe modul de intocmire a regulilor, iar verificarea teoretica si practica a acestora se dovedeste
anevoioasa.

Sisteme de actionare

Sisteme de actionare conventionale

Sistemul de actionare al unui robot cuprinde totalitatea surselor energetice ale robotului
precum si elementele de control direct ale acestora.

Un sistem de actionare cuprinde (Fig.3.1.):

o sursa primara de energie;


un sistem de conversie a energiei primare in energie mecanica;

un sistem pentru transmisia energiei corespunzatoare la articulatia corespunzatoare;

un control al parametrilor caracteristici al acestor sisteme.

Sistemele uzuale folosesc trei surse primare de energie: electrica, pneumatica si hidraulica.

Sistemele de actionare electrica – prezinta avantajele:

sursa de energie electrica primara este usor de gasit;

sistemele de control sunt precise, sigure si usor de cuplat la o conducere numerica;

se poate asigura o functionare autonoma prin alimentarea cu baterii;

nu se impun probleme specifice de poluare.

Cel mai folosit sistem de actionare electrica este cel cu motoare de curent continuu. Acesta
prezinta avantajul important ca momentul creat este practic independent de pozitia si viteza
motorului, depinzand numai de campul infasurarilor si curentul din armaturi.

Adoptand anumite configuratii de constructie se poate reduce greutatea acestora, prin utilizarea
motoarelor cu magnet permanent sau reducerea greutatii rotorului prin folosirea motoarelor disc.

Dezavantajul principal al acestui tip de actionari este greutatea componentelor. Raportul putere-
greutate este mai mic decat la actionarile hidraulice. Datorita circuitului magnetic, care necesita o
geometrie interna corespunzatoare pentru asigurarea unor performante ridicate, greutatea nu poate
fi redusa in mod semnificativ.

Utilizarea unui asemenea tip de motor in actionarea robotilor necesita urmatoarele sisteme:

sistem de control utilizand tahogeneratoare de masura si senzori auxiliari de pozitie;

sistem mecanic care realizeaza conversia miscarii de rotatie in miscare de translatie;

sistem mecanic pentru blocarea motorului.

Functia de transfer pentru acest tip de motor este

unde   este constanta de timp electrica,

 este constanta de timp electromecanica,


.

Aceste ecuatii pot fi aplicate indica reglajul preferential al turatiei prin reglarea tensiunii de
alimentare u. Cele mai multe sisteme folosesc controlul in tensiune al turatiei, si numai o mica parte
controlul in curent. Controlul in tensiune al turatiei in actionarea robotilor poate fi realizata prin doua
metode: redresoare cu tensiune continua, respectiv variatoare de tensiune continua.

Una dintre cele mai utilizate structuri o reprezinta redresorul monofazat in punte, fiind folosit la
tensiuni si puteri mici. Controlul redresarii este obtinut printr-o punte de tiristoare, in circuitul
exterior al redresorului fiind montat motorul de c.c. . Controlul valorii curentului redresat se obtine
prin controlul unghiului de aprindere al tiristoarelor.

O structura mai eficienta, sub raportul puterii si randamentului, este redresorul trifazat in punte.

Variatoarele de tensiune continua transforma o tensiune continua aplicata la intrare in impulsuri


dreptunghiulare de tensiune la iesire, astfel incat valoarea medie a tensiunii de iesire se poate
modifica in functie de factorul de umplere al impulsurilor.

Motoarele pas cu pas sunt sisteme sincrone care realizeaza o corelatie directa intre marimea
de intrare si pozitia realizata. Acest tip de motoare asigura conversia directa a semnalului de intrare,
dat sub forma numerica, intr-o miscare de pozitionare unghiulara prin cumulari incrementale, ceea
ce determina o utilizare larga a acestora in toate sistemele de pozitionare in bucla deschisa.
Conversia intrinseca a comenzii in pozitie asigura scheme de control simple, eficiente sub aspect
tehnic si economic.

Deci nu motor pas cu pas poate fi considerat un dispozitiv electromecanic cu miscare discreta
care transforma impulsurile electrice de tensiune in deplasari discrete, pentru fiecare impuls
realizand o deplasare cu un unghi bine precizat, numit unghi de pas. Cu alte cuvinte rotorul nu se
poate situa, in raport cu axa magnetica rezultanta a statorului, decat in anumite pozitii stabile
determinate fie de principiul reactantei minime, fie de componenta tangentiala a fortei de atractie a
polilor de nume contrar. Din acest punct de vedere putem face urmatoarea clasificare:

motoare pas cu pas cu magneti permanenti;

motoare pas cu pas cu reluctanta variabila – motoare cu rotor pasiv, avand crestaturi uniform
repartizate pe suprafata motorului. Prin alimentarea unei faze statorice, rotorul se va roti
astfel incat circuitul magnetic sa prezinte reluctanta magnetica minima. Comutand
alimentarea pe faza urmatoare se obtine o deplasare a rotorului pentru o noua reluctanta
minima (aliniere a dintilor statorici si rotorici), se creeaza deci un cuplu;

motoare pas cu pas hibride.

Principalele dezavantaje ale motorului pas cu pas sunt: acceleratii si deceleratii discontinue,
variatia cuplului cu pozitia rotorului, puteri mici.

Dupa solutiile constructive utilizate aceste motoare se impart in: motoare cu structura
monostatorica (o singura unitate stator-rotor) si motoare cu structura polistatorica.

Clasificarea comenzii se poate realiza functie de:

Durata alimentarii: comanda potentiala sau in impulsuri – comanda potentiala se refera la durata
alimentarii unei faze in raport cu durata intre doua tacturi de comanda, 1/f, unde f este
frecventa de comanda a servomotorului. Daca durata de alimentare a fazei este cel putin
egala cu 1/f atunci este vorba de comanda potentiala, deci in acest caz durata aplicarii
tensiunii pe faza variaza invers proportional cu frecventa de comanda. Daca durata
alimentarii este constanta si intotdeauna mai mica decat 1/f atunci este vorba de o comanda
in impulsuri;

Sensul tensiunii pe durata unei perioade: comanda unipolara sau bipolara – se refera la sensul
tensiunii pe o faza pe durata unei perioade complete. In cazul comenzii unipolare, fiecare
infasurare este strabatuta de curent intr-un singur sens, pe cand la comanda bipolara se
inverseaza polaritatea tensiunii de alimentare la capetele infasurarii, si deci si curentul prin
faza;

Simetria impulsurilor pe durata unei perioade: comanda simetrica sau nesimetrica – comanda
este simetrica daca pentru orice tact de comanda avem alimentate acelasi numar de faze.
Pentru o comanda nesimetrica cu injumatatirea unghiului de pas avem o dublare a
numarului de pasi pe rotatie, pe cand o comanda nesimetrica cu salt se micsoreaza numarul
de pasi crescand unghiul de pas.

Se pot folosi si alte tipuri de motoare electrice (de exemplu motor asincron bifazat), dar desi
pentru motoarele asincrone raportul consum performanta este mai bun partea de comanda necesita
scheme complexe, nefiind utilizate pe scara larga. Totusi in ultimul timp datorita cercetarilor in
domeniu acestea se impun tot mai mult.

Sisteme de actionare hidraulica – se bazeaza pe principiul conversiei energiei unui fluid


incompresibil in energie mecanica. Lichidul utilizat este un ulei mineral ce actioneaza la presiuni de
pana la 100 atm., sursa de presiune hidraulica fiind incorporata in sistemul de actionare propriu al
robotului sau apartinand unui sistem centralizat.

Dispozitivul cu cea mai larga utilizare in aceste sisteme este reprezentat de pistonul hidraulic
liniar (Fig.3.2.). O structura similara este utilizata si pentru actionarea intr-o miscare de rotatie.

Aceste dispozitive se utilizeaza pe scara larga in actionarea robotilor datorita unor avantaje
specifice: realizarea unui raport putere/greutate mare, posibilitatea actionarii directe, interconetarea
lor directa in articulatiile de rotatie ale robotului, etc. .

Un rol esential in comanda acestor actionari il joaca sistemele de control al cailor de fluid,
servovalvele. Aceste dispozitive permit blocarea unor cai de fluid, schimbarea sensului pe o anumita
cale sau comutarea traseelor de cale dupa o logica impusa (Fig.3.2.).
Raspandirea acestui tip de actionari este data de urmatoarele avantaje:

puterea realizata in aceste sisteme este mult mai mare decat a oricarui sistem, luand ca referinta
greutatea echipamentului utilizat;

actionarile hidraulice sunt mult mai robuste decat cele electrice, amplificarea realizata este mai
mare, precizia si raspunsul la frecventa sunt mai bune;

actionarea hidraulica are performante foarte bune la viteze mici;

sistemele hidraulice se pot cupla direct la sarcina fara dispozitive suplimentare;

Deficientele care limiteaza utilizarea lor mentionam:

neliniaritatea extrem de pronuntata a majoritatii elementelor, ceea ce ingreuneaza foarte mult


realizarea unui control eficient;

incompresibilitate fluidului, factor esential intr-o actionare hidraulica, devine element deficitar in
conditiile in acre se impune implementarea unei legi de reglare. Realizarea unor elemente de
reglare fluidice de tip P, PI, PID se obtine extrem de dificil cu dispozitive electro-mecanice
complexe. Mai mult, daca o servovalva blocheaza o cale de fluid, aceasta devine practic
neoperanta, controlul fluidic incetand cu totul.

Sisteme de actionare pneumatice – caracteristica principala a acestor dispozitive este data


de utilizarea aerului ca fluid compresibil al sistemului de actionare.

Functiile de operare ale sistemelor pneumatice sunt similare cu cele hidraulice, particularitatile
tehnologice si constructive specificelor fiind datorate schimbarii fluidului, cu specificul si proprietatile
sale.

Avantajele folosirii unor sisteme pneumatice sunt:

simplitatea echipamentului de actionare;

robustetea dispozitivelor utilizate;


nepoluarea mediului de lucru;

sisteme de control simple;

raportul putere/greutate relativ ridicat;

rezistenta la suprasarcini de valori mari.

Deoarece fluidul folosit (aerul) este compresibil, sistemele pneumatice sunt folosite in special la
elementele mecanice care lucreaza pe principiul totul sau nimic fara a fi necesar un reglaj
intermediar.

Controlul pozitiei unui element mecanic prin sisteme pneumatice este rar utilizat datorita
performantelor sale slabe in comparatie cu cele hidraulice sau electrice, performante datorate
compresibilitatii fluidului care introduce un timp de propagare, de intarziere in dinamica
dispozitivului. De asemenea, o deficienta de baza, o constituie faptul ca aceste sisteme utilizeaza
controlul dupa debit, parametru ce nu este intotdeauna indicat pentru controlul pneumatic al unei
miscari. Din acest motiv, se recomanda utilizarea unui control al presiunii ceea ce creste
performantele, dar este mult mai complex si creste costurile.

Sisteme de actionare neconventionale

GENERALITATI

Conceptul de material inteligent deriva de la formele inteligente ale sistemelor (materialelor)


naturale, adica organismele vii. Ca urmare, materialele inteligente sunt concepute ca materiale care
indeplinesc functiile naturale de detectie (“sensing”), comanda (“actuation”), control si inteligenta
(Fig. 3.3.).

Fig. 3.3. Set de
structuri
 

A – structuri adaptive
B – structuri senzitive
C – structuri controlate
D – structuri active
E – structuri inteligente

Materialele inteligente (“smart / intelligent materials”) au


proprietatea de a se auto-adapta la stimuli externi. Functiile acestor
materiale se manifesta inteligent in functie de schimbarile mediului
exterior (figura 2).

Raspunsul materialelor active la schimbarile de mediu (stimuli) poate consta in modificarea lungimii
materialului, modificarea vascozitatii, a conductivitatii electrice s.a.
Forta exterioara aplicata poate fi clasificata in trei categorii:

cimp electric ceramici electrostrictive si piezoelectrice si polimeri piezoelectrici

cimp termic aliaje cu memoria formei

cimp magnetic materiale magnetostrictive si materiale magnetice cu memoria formei


(aliaje feromagnetice cu memoria formei)

In functie de tipul de raspuns pe care il genereaza, materialele active pot fi impartite in doua
categorii:

Semnalul de intrare este transformat totdeauna in efort, care poate fi folosit pentru a introduce
miscare (dinamica) intr-un sistem. Aceste materiale constituie grupul cel mai des folosit pentru a
construi o structura inteligenta (materiale active integrate intr-o structura mecanica, de exemplu o
constructie sau elicea unui elicopter), cu scopul de a modifica dimensiunile geometrice ale
structurilor.

Dispozitivele pe baza de materiale care raspund prin modificarea lungimii sint denumite
adesea actuatori (sau actuatori in stare solida).

Materialele active pot fi folosite si ca senzori, atunci cind efortul aplicat asupra materialului este
transformata intr-un semnal care permite estimarea nivelurilor de tensiune in sistem. Figura 3
ilustreaza principiile unui material actuator/senzor. in functie de directia stimul – raspuns, un
dispozitiv cu material activ poate fi folosit atat ca actuator, cit si ca senzor.
Figura 2. Dispozitive cu materiale active utilizate ca actuator (a) si senzor (b)

A doua categorie de materiale active contine acele materiale care raspund la stimuli prin
modificarea unei proprietati cheie, de exemplu conductivitatea electrica sau viscozitatea. Aceste
materiale sunt mai putin integrate in structuri mecanice, fiind folosite mai degraba pentru
reprezentarea modulelor complexe, de exemplu cuple, dispozitive de fixare, valve, intrerupatoare.
Aceste materiale sunt folosite in mod frecvent ca senzori.
Desi materialele din aceasta categorie nu genereaza o tensiune la aplicarea unui stimul extern,
ele sunt uneori denumite  sisteme actuatoare. Exemple in acest sens sunt fluidele electro si
magnetorheologice, care raspund prin cresterea vascozitatii la aplicarea unui camp electric sau
magnetic extern.

Anumite caracteristici specifice ale materialelor fac ca acestea sa poata fi folosite in aplicatii ca
materiale inteligente. Aceste proprietati sunt:

efectul piezoelectric;

efectul magnetostrictiv;

efectul electroplastic;

efectul de memorie a formei;

proprietati electroreologice;

proprietati neliniare electrooptice;

proprietati neliniare electroacustice;

proprietati neliniare electromagnetice;

proprietati pirosenzitive.

SISTEME DE ACTIONARE REALIZATE CU LICHIDE ELECTRORHEOLOGICE

Cercetarile curente asupra fluidelor electroreologice au ca obiectiv dezvoltarea unor sisteme


purtatoare de particule, cu proprietati care sa permita obtinerea unui comportament elastic
inteligent. Versiuni anterioare de fluide electroreologice contineau apa adsorbita, ceea ce limita
temperatura de operare la 80 C. Noile fluide electroreologice contin particule de polimeri, minerale
sau ceramici dispersate in ulei silconic, ulei mineral sau parafina clorurata, prezentand urmatoarele
avantaje: cresterea domeniului de operare la 200 C, proprietati izolatoare bune, compatibilitate la
dispersia particulelor.

Principalele proprietati ale fluidelor elecrorheologice care au aplicatii in robotica sunt:

modificarea proprietatilor dielectrice a unui fluid electrorheologic, aflat in camp electric, sun
actiunea unor forte exterioare. Acest aspect conduce la posibila utilizarea a acestor fluide ca
senzori;

modificarea vascozitatii sub actiunea unui camp electric. Aceasta proprietate, combinata cu un
sistem hidraulic deformabil longitudinal, dar nu transversal, avand ca fluid de lucru fluid
electrorheologic, poate fi utilizata la constructia unui actuator flexibil, foarte fiabil.

Mecanismele robot facute cu astfel de elemente au cateva trasaturi distincte, in comparatie cu


mecanismele de roboti conventionali:

sunt usor miniaturizabile datorita structurilor lor simple putand fi folosite la realizarea unor
microroboti specializati utilizati in spatii cu mai multe restrictii;

au multe grade de libertate (pitch, yaw, stretch) disponibile pentru structurile robotice;

sunt ieftine – pot fi utilizate la roboti pentru uz medical;


opereaza uniform si lent din cauza mecanismelor fara frecari.

Robotii construiti pe acest principiu au mecanisme cu frecari mici si legaturi neconventionale, ei


pot sa lucreze cu miscari line, precise, asemanatoare oamenilor sau insectelor.

Model de robot pentru aplicarea algoritmului de comanda

Model general

Tehnicile de proiectare pentru roboti pasitori implica de obicei existenta unor mecanisme
complicate si un numar foarte mare de cabluri intre roboti si controlere. Realizarea practica a unor
astfel de roboti necesita multe dispozitive precum: motoare electrice, angrenaje reductoare, senzori,
rulmenti, lagare, cuzineti si elemente de brat mecanice.

Pot fi usor proiectati roboti pasitori cu mecanisme simple si miniaturizate folosind microactuatori
flexibili ca roboti-picioare.

Principiul de actionare al unui element

Fiecare picior al robotului este format dintr-un unic element de


actionare “hidraulic”, format dintr-un cilindru de
cauciuc compartimentat in trei camere prin care
circula lichid electrorheologic (Fig. 4.2.). Unul din
capetele cilindrului este astupat (partea de pasire),
prin celalalt capat fiind introdus sau scos lichid
electrorheologic (la nivel de camera), asigurandu-se
astfel variatia presiunii lichidului din camere.

Cilindrul, care constituie elementul de actionare, respectiv piciorul


robotului, este impartit in trei camere longitudinale prin care circula
lichid (Fig. 4.3.). In mijlocul cilindrului este inserat un electrod metalic
de forma unui arc cu diametru foarte mic, care constituie electrodul
pozitiv pentru lichidul electrorheologic.
De asemenea in exteriorul cilindrului se afla o camasa metalica, tot de forma unui arc, care
are dublu rol. Un rol electric, fiind electrodul negativ pentru lichidul electrorheologic, respectiv un rol
mecanic, aceasta camasa impiedicand dilatarea transversala a
cilindrului si de asemenea ajutand la revenirea acestuia la forma
initiala dupa o dilatare longitudinala.

La introducerea unei presiuni, intr-o camera a cilindrului,


acesta se dilata. Deoarece camasa exterioara elimina dilatarea
transversala, tot efortul se traduce printr-o dilatare longitudinala a
camerei cilindrului (Fig. 4.4.). Teoretic, asa cum se observa si in
figura, pentru presiuni diferite obtinem bineinteles alungiri diferite.
Practic, deoarece cele trei camere sunt unitare si formeaza un
singur corp, se obtine o arcuire si alungire a cilindrului in directia si
cu unghiul dat de compunerea celor trei presiuni. Intradevar pentru
presiuni egale in cele trei camere se obtine o alungire longitudinala,
fara arcuire.

Sistemul format din lichidul electrorheologic si electrozii


aferenti are dublu rol. Rolul principal este asigurarea a doua
electrovalve, la capatul neastupat al cilindrului, pentru fiecare din cele trei camere. Alimentand cu
tensiune cei doi electrozi vascozitatea lichidului din aceasta zona creste, blocand circulatia lichidului.
In functie de necesitatea cresterii sau scaderii presiunii din camerele piciorului se comanda cele
doua electrovalve, de admisie, respectiv de evacuare. Cea de-a doua functie indeplinita de sistem
consta in cresterea vascozitatii in toata masa de lichid din cilindru, obtinandu-se astfel o “inghetare”
a acestuia. Astfel se poate controla cu mare precizie pozitia piciorului “inghetand” practic pozitia
dorita. De asemenea se poate controla cu acuratete viteza de modificare a formei piciorului.

Un asemenea picior poate avea trei stari (Fig. 4.5.):

starea de repaus - cand nici o camera nu este presurizata si atunci piciorul are forma de repaus,
adica un cilindru de lungime L;

starea de alungire – cand toate trei camerele sunt presurizate cu aceeasi presiune si atunci
piciorul are forma unui cilindru cu lungimea  , alungirea acestuia aparand ca efect al
presiunii din camere;

starea de curbare si/sau alungire – apare in situatia in care presiunile din camere au valoare
diferita si atunci cel putin una dintre camere se alungeste, acest efect ducand la curbarea
piciorului in directie opusa presiunii celei mai mari.
Algoritmi de comanda pentru modelul proiectat

Distributia fortelor de “incovoiere”

Pentru arcuirea (incovoierea)


piciorului se aplica presiuni diferite in
camerele piciorului robotului. Datorita
acestor presiuni camerele tind sa se
deformeze longitudinal cu lungimi diferite
proportional cu presiunile aplicate.
Deoarece camerele formeaza un tot unitar
se vor incovoia in directia data de
rezultanta compunerii a trei forte de
incovoiere proportionale cu cele trei
presiuni din camerele piciorului. Practic
efectul alungirii camerelor piciorului se
manifesta aproximativ la fel cu actiunea
unor forte de incovoiere la capatul liber al
piciorului (cel neatasat de corpul robotului)
(Fig. 5.1.).

Practic avem doua efecte distincte


create de presiuni – alungire si curbare.
Datorita presiunii apare o alungire diferita a
camerelor. Datorita acestei deformari se
genereaza o forta de incovoiere care
curbeaza piciorul.

Se compun oricare doua din fortele de incovoiere (de exemplu ca in figura F1 cu F2) si
rezultanta acestora (R12) se compune cu cea de-a treia forta. Rezultanta (R12-3) da directia de
incovoiere-indoire a piciorului (Fig. 5.2.).

Considerand ca sistemul atasat piciorului robotului are planul XOY in planul piciorului (practic
este identic ca orientare cu sistemul XOY al corpului robotului) si avand axa OY de-a lungul liniei de
separare dintre camerele 1 si 2 putem calcula unghiul pe care in face rezultanta cu axa OX, respectiv
cu axa OY.
Calculam marimea rezultantei si unghiul acesteia cu axa OX.

Intr-un paralelogram stim ca suma a doua unghiuri alaturate este 180o. Cum in
paralelogramul OABC stim ca unghiul AOC este de 120o rezulta ca unghiul OAB este de 60o. Folosind
teorema lui Pitagora generalizata putem determina rezultanta R12 (Fig. 5.3.).

Deci
Dar OA = F2 si OC F1, deci

Aplicam din nou teorema lui Pitagora generalizata in triunghiul OAB pentru determinarea
unghiului BOA.

deci

Deoarece AOD = 120o si DOA’ = 900 atunci AOA’ = 30o, deci unghiul rezultantei R12 fata de
axa OX este

Din figura se observa ca unghiul   tinde catre valoarea de 30o pentru F1 aproximativ egal
cu zero, respectiv tinde catre valoarea 150o pentru F2 aproximativ egal cu 0 (unghi masurat fata de
axa OX in sens trigonometric)

Analog se determina rezultanta R12-3. In paralelogramul DOBE unghiul DOB este egal cu
270o -  . Deci unghiul OBE este egal cu 180o - DOB.

Aplicam teorema lui Pitagora generalizata in triunghiul OBE

Inlocuind R12 si   obtinem


Stim ca  , deci

, deci

cum   obtinem

inlocuim in relatia lui R12-3 si obtinem

Aplicand teorema generalizata a lui Pitagora in triunghiul OED obtinem valoarea unghiului
EOD, respectiv  .
de unde obtinem 

Directia facuta de rezultanta cu axa OX este 

fiind exprimata in functie de F1, F2 si F3.

Putem determina astfel directia de incovoiere a piciorului, in raport cu sistemul de coordonate


atasat piciorului, pentru un set de forte F1, F2, F3, respectiv de presiuni aplicate camerelor piciorului
P1, P2, P3.

Acest set de ecuatii ne ajuta in cazul unui studiul experimental pentru stabilirea dependentei
presiuni-forte.

Corespondenta pozitie necesara – forte aplicate, respectiv presiuni aplicate

Crearea modelului pentru picior se bazeaza pe urmatoarele supozitii:

presiunea exercitata intr-o camera a


piciorului nu se exercita transversal,
ci numai longitudinal, asupra
peretilor terminali;

intotdeauna planele care trec prin cele


doua capete ale piciorului se
intersecteaza in centrul de curbura al
acestuia (Fig. 5.4.);

se presupune ca alungirea maxima a


piciorului este egala cu lungimea
initiala multiplicata cu factorul 1,5;

contactul cu solul se face punctiform prin


intermediul unei semisfere situata la
capatul piciorului in continuarea
acestuia.

Programul de simulare a miscarii robotului

Acest program este realizat prin intermediul programului CAD AutoCAD, apeland la unul din
mediile de programare integrate, respectiv Visual Basic.
Mediul de dezvoltare AutoCAD pune la dispozitia utilizatorului trei medii principale de
programare.

Primul si cel mai vechi este mediul de programare AutoLISP. Este pus la dispozitia utilizatorului si
un editor – VisualLISP. Acest limbaj de programare este un interpretor si deci foarte lent in executie,
desi ofera avantajele executiei unui program pas cu pas, observandu-se efectele programului pe
masura ce acesta se executa. De asemenea este specializat in lucrul cu liste, listele fiind
**principalul tip de date folosit de AutoCAD (de exemplu coordonatele unui punct constituie o
lista/vector cu trei elemente (x,y,z)).

Cel de-al doilea mediu de programare ARX este o versiune a limbajului de programare C, fiind de
asemenea utilizat impreuna cu primele versiuni de AutoCAD. Prezinta avantajul unei executii rapide,
acest limbaj de programare fiind un compilator. Ca dezavantaje putem aminti neintegrarea unui
editor de programe in AutoCAD, necesitatea, evidenta de altfel, de a compila programele inainte de
rularea lor in AutoCAD, ceea ce face complicata depanarea lor.

Cel de-al treilea mediu de programare ales este Visual Basic preai partile bune din cele doua
medii de programare enumerate mai sus. Este rapid in executie, lucreaza direct cu obiectele din
baza de date AutoCAD, putand genera obiecte complexe, respectiv lucrul cu solide si operatii cu
acestea (ceea ce AutoLISP nu putea). De asemenea in AutoCAD este inclus un editor de programe
Visual Basic complet. Mediul Visual Basic lucreaza cu ferestre Windows, deci nu este necesara
apelarea la mediul de dezvoltare DCL pentru crearea acestora. Unul din avantajele principale este
lucrul cu obiecte Windows, si respectiv ActiveX.

Programul dezvoltat permite generarea direct in baza de date a AutoCAD a modelului robot in
orice pozitie, creand chiar o animatie a acestuia. Se pot configura atat elementele geometrice ale
robotului, cat si pozitia picioarelor in mod independent.

Interfata programului este prezentata in figurile urmatoare

In continuare
sunt
prezentate
modulele
programului.
Private Sub CommandButton1_Click()

centruRobot(0) = 200: centruRobot(1) = 0: centruRobot(2) = 0

centruPicioare

For ii = 0 To 5

distRev(ii) = 2# * DP * 2

unghirev(ii) = -pi / 4

unghirev1(ii) = 0

Next ii

CreazaRobot

End Sub

Private Sub CommandButton2_Click()

ThisDrawing.SendCommand '_undo' & vbCr & '100' & vbCr

ThisDrawing.Regen acAllViewports

End Sub

Private Sub IniSterge_Click()

Set SSetColl = ThisDrawing.SelectionSets

Set ssetObj = SSetColl.Add('TEST')

End Sub

Private Sub start_Click()

Afis.AddItem ('Robot Hexapod cu Elemente de Actionare cu Fluid Electrorheologic')

Afis.AddItem ('Indrumator Doctorat -- Prof.Univ.Dr.Ing. Mircea IVANESCU')

Afis.AddItem ('Autor Ing. Cristian VLADU')

Afis.AddItem ('')

Afis.AddItem ('')

Afis.AddItem ('Lungimea piciorului neactionat este L = ' + L + 'mm')

Afis.AddItem ('Diametrul piciorului fara camasa exterioara este D = ' + D + 'mm')


Afis.AddItem ('Grosimea peretilor camerelor piciorului este GP = ' + GP + 'mm')

Afis.AddItem ('Diametrul electrodului interior este DI = ' + DI + 'mm')

Afis.AddItem ('')

'initializare variabile

DiP = CDbl(DI.Value)

DP = CDbl(D.Value)

LP = CDbl(L.Value)

GpP = CDbl(GP.Value)

AlungireP = CDbl(Alungire.Value)

nrSecvP = CDbl(NrSec.Value)

UnghiMaxP = CDbl(UnghiMax.Value)

' seteaza shade mode

ThisDrawing.SendCommand 'shademode' & vbCr & 'g' & vbCr

' Refresh view

ThisDrawing.Regen acAllViewports

'Dim i As Integer

ini 'procedura in modul 2

'grila

CreazaRobot

Afis.AddItem ('')

' Schimbarea directiei de vizualizare

Dim NewDirection(0 To 2) As Double

NewDirection(0) = -1: NewDirection(1) = -1: NewDirection(2) = 1

ThisDrawing.ActiveViewport.Direction = NewDirection

ThisDrawing.ActiveViewport = ThisDrawing.ActiveViewport

'ThisDrawing.ModelSpace.Layout
ZoomAll

End Sub

' Modul cu functiile necesare generarii piciorului

' Creaza cele trei camere ale piciorului

' Creaza cele 6 picioare

' Creaza corpul robotului

Sub CreazaRobot()

unghi ' la fel

CalculaxaRevolutie

' Extrudeaza solid din regiune

' Regiunea formata din 6 arcuri de cerc si 4 linii

' Definesc frontierele pentru crearea regiunii

Dim frontiera(0 To 11) As AcadEntity

' Definirea arcurilor

Dim centerPoint(0 To 2) As Double

Dim startAngle As Double

Dim endAngle As Double

' Definirea extrudarii

Dim height As Double

height = -LP

' culoare camere

Dim c(0 To 2) As Integer

Dim i As Integer

Dim j As Integer

Dim regionObj As Variant

Dim m As Integer
Dim color As AcadAcCmColor

Dim axisPt(0 To 2) As Double

Dim axisDir(0 To 2) As Double

Dim angle As Double

For j = 0 To 5

centerPoint(0) = centru(j, 0): centerPoint(1) = centru(j, 1): centerPoint(2) = centru(j, 2)

axisPt(0) = ptRev(j, 0): axisPt(1) = ptRev(j, 1): axisPt(2) = ptRev(j, 2)

axisDir(0) = DirRev(j, 0): axisDir(1) = DirRev(j, 1): axisDir(2) = DirRev(j, 2)

angle = unghirev(j)

For i = 0 To 2

c(0) = c1(i, 0)

c(1) = c1(i, 1)

c(2) = c1(i, 2)

raza = DiP / 2

startAngle = pi + pi / 6 + unghicamera(i)

endAngle = pi + pi / 2 - 0.00001 + unghicamera(i)

Set frontiera(0) = ThisDrawing.ModelSpace.AddArc(centerPoint, raza, startAngle, endAngle)

raza = DP / 2

startAngle = pi + pi / 6 + unghicamera(i)

endAngle = 11 * pi / 6 + unghicamera(i)

Set frontiera(2) = ThisDrawing.ModelSpace.AddArc(centerPoint, raza, startAngle, endAngle)

raza = DiP / 2

startAngle = pi + pi / 2 + 0.00001 + unghicamera(i)

endAngle = 11 * pi / 6 + unghicamera(i)

Set frontiera(4) = ThisDrawing.ModelSpace.AddArc(centerPoint, raza, startAngle, endAngle)

raza = DiP / 2 + GpP

startAngle = pi + pi / 2 + 0.00001 + unghicamera(i)


endAngle = 11 * pi / 6 - alfa1 + unghicamera(i)

Set frontiera(6) = ThisDrawing.ModelSpace.AddArc(centerPoint, raza, startAngle, endAngle)

raza = DP / 2 - GpP

startAngle = pi + pi / 6 + alfa2 + unghicamera(i)

endAngle = 11 * pi / 6 - alfa2 + unghicamera(i)

Set frontiera(8) = ThisDrawing.ModelSpace.AddArc(centerPoint, raza, startAngle, endAngle)

raza = DiP / 2 + GpP

startAngle = pi + pi / 6 + alfa1 + unghicamera(i)

endAngle = pi + pi / 2 - 0.00001 + unghicamera(i)

Set frontiera(10) = ThisDrawing.ModelSpace.AddArc(centerPoint, raza, startAngle, endAngle)

' Definirea liniilor

Set frontiera(1) = ThisDrawing.ModelSpace.AddLine(frontiera(2).startPoint, frontiera(0).startPoint)

Set frontiera(3) = ThisDrawing.ModelSpace.AddLine(frontiera(4).endPoint, frontiera(2).endPoint)

Set frontiera(5) = ThisDrawing.ModelSpace.AddLine(frontiera(4).startPoint, frontiera(6).startPoint)

Set frontiera(7) = ThisDrawing.ModelSpace.AddLine(frontiera(6).endPoint, frontiera(8).endPoint)

Set frontiera(9) = ThisDrawing.ModelSpace.AddLine(frontiera(8).startPoint, frontiera(10).startPoint)

Set frontiera(11) = ThisDrawing.ModelSpace.AddLine(frontiera(0).endPoint, frontiera(10).endPoint)

' Crearea regiunii

regionObj = ThisDrawing.ModelSpace.AddRegion(frontiera)

' sterg liniile care genereaza regiunea

For m = 0 To 11

frontiera(m).Delete

Next m

' Selectez elementele pentru stergerea lor ulterioara

ssetObj.AddItems regionObj

' color cc

Set color = AcadApplication.GetInterfaceObject('AutoCAD.AcCmColor.16')


Call color.SetRGB(c(0), c(1), c(2))

' Creare solid

If angle = 0 Then

' picior drept

Set solidObj(j, i) = ThisDrawing.ModelSpace.AddExtrudedSolid(regionObj(0), height, 0)

Else

' picior curbat

Set solidObj(j, i) = ThisDrawing.ModelSpace.AddRevolvedSolid(regionObj(0), axisPt, axisDir, angle)

End If

' Sterge regiunea

ssetObj.Erase

'solidobj.Rotate3D (punct1,punct2,unghi)

'color cc

solidObj(j, i).TrueColor = color

Next i

Next j

' Corpul robotului

Dim corpObj As Acad3DSolid

Dim orCorp(0 To 2) As Double

Dim LCorp As Double, LatCorp As Double, ICorp As Double

Call color.SetRGB(134, 180, 253)

orCorp(0) = centruRobot(0): orCorp(1) = centruRobot(1): orCorp(2) = centruRobot(2)

LCorp = centru(2, 0) - centru(0, 0)

LatCorp = centru(0, 1) - centru(3, 1) - DP * 1.5

ICorp = LP / 6

Set corpObj = ThisDrawing.ModelSpace.AddBox(orCorp, LCorp, LatCorp, ICorp)

corpObj.TrueColor = color
End Sub

' Modul care face initializari

Public pi As Double

' coordonatele centrului picioarelor (6 picioare) x-0, y-1, z-2

Public centruRobot(0 To 2) As Double

Public centru(0 To 5, 0 To 2) As Double

Public DistCentruP As Double

Public DiP, LP, DP, GpP As Double

Public alfa1, alfa2 As Double

Public sters As Integer

' pastreaza culorile RGB pentru camerele picioarelor

Public c1(0 To 2, 0 To 2) As Integer

Public unghicamera(0 To 2) As Double

Public solidObj(0 To 50, 0 To 2) As Acad3DSolid

'variabile pentru revolve - curbarea piciorului

Public distRev(0 To 5) As Double

Public unghirev(0 To 5) As Double

Public unghirev1(0 To 5) As Double

Public ptRev(0 To 5, 0 To 2) As Double

Public DirRev(0 To 5, 0 To 2) As Double

Public ssetObj As AcadSelectionSet

Public SSetColl As AcadSelectionSets

Public AlungireP As Double

Public nrSecvP As Integer

Public UnghiMaxP As Double

' procedura temporara care face initializarile manual pana la calcularea acestora
Sub ini()

Dim ii As Integer

pi = 3.141592

' culori RGB pentru camere

c1(0, 0) = 255

c1(0, 1) = 0

c1(0, 2) = 255

c1(1, 0) = 255

c1(1, 1) = 50

c1(1, 2) = 0

c1(2, 0) = 0

c1(2, 1) = 255

c1(2, 2) = 252

' initializare unghi necesar pentru crearea camerelor

unghicamera(0) = 0

unghicamera(1) = -2 * pi / 3

unghicamera(2) = 2 * pi / 3

' distanta dintre centrele picioarelor este de 3 ori raza de curbura a piciorului

' presupunand ca 4*Lp este perimetru maxim al cercului descris de picior

' 2*pi*R = 4*LP - DistCentruP=3R

DistCentruP = 6 * LP / pi

centruRobot(0) = 0: centruRobot(1) = 0: centruRobot(2) = 0

centruPicioare

revol

'unghirev(4) = 0

End Sub
' Procedura calculeaza unghiurile pentru arcul de la conturul interior al camerei
piciorului

Sub unghi()

Dim p, a, b, c, t1, t2, t3, t4 As Double

a = GpP / 2

b = DiP / 2 + GpP

c = DiP / 2 + GpP

p = (a + b + c) / 2

t1 = (p - b) * (p - c)

t2 = p * (p - a)

t3 = t1 / t2

t4 = Math.Sqr(t3)

alfa1 = 2 * Math.Atn(t4) '(TanAlfaPe2)

a = GpP / 2

b = DP / 2 - GpP

c = DP / 2 - GpP

p = (a + b + c) / 2

p = (a + b + c) / 2

t1 = (p - b) * (p - c)

t2 = p * (p - a)

t3 = t1 / t2

t4 = Math.Sqr(t3)

alfa2 = 2 * Math.Atn(t4)

End Sub

Sub centruPicioare()

centru(0, 0) = centruRobot(0) - DistCentruP: centru(0, 1) = centruRobot(1) +


DistCentruP / 2: centru(0, 2) = centruRobot(2)
centru(1, 0) = centruRobot(0): centru(1, 1) = centruRobot(1) + DistCentruP / 2:
centru(1, 2) = centruRobot(2)

centru(2, 0) = centruRobot(0) + DistCentruP: centru(2, 1) = centruRobot(1) +


DistCentruP / 2: centru(2, 2) = centruRobot(2)

centru(3, 0) = centruRobot(0) - DistCentruP: centru(3, 1) = centruRobot(1) -


DistCentruP / 2: centru(3, 2) = centruRobot(2)

centru(4, 0) = centruRobot(0): centru(4, 1) = centruRobot(1) - DistCentruP / 2:


centru(4, 2) = centruRobot(2)

centru(5, 0) = centruRobot(0) + DistCentruP: centru(5, 1) = centruRobot(1) -


DistCentruP / 2: centru(5, 2) = centruRobot(2)

End Sub

Sub revol()

' initializare date pentru revolutie pana vor fi calculate

For ii = 0 To 5

distRev(ii) = 2# * DP

unghirev(ii) = -pi / 2

unghirev1(ii) = 0

Next ii

End Sub

Sub grila()

' This example adds a line in model space

Dim lineObj As AcadLine

Dim startPoint(0 To 2) As Double

Dim endPoint(0 To 2) As Double

' color cc

Dim color As AcadAcCmColor

Set color = AcadApplication.GetInterfaceObject('AutoCAD.AcCmColor.16')

Call color.SetRGB(127, 223, 255)


' Creare grila

For i = 0 To 50

' linii orizontale

startPoint(0) = 0#: startPoint(1) = 0# + i * 10: startPoint(2) = 0#

endPoint(0) = 500#: endPoint(1) = 0# + i * 10: endPoint(2) = 0#

Set lineObj = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint)

lineObj.TrueColor = color

' linii verticale

startPoint(0) = 0# + i * 10: startPoint(1) = 0#: startPoint(2) = 0#

endPoint(0) = 0# + i * 10: endPoint(1) = 500#: endPoint(2) = 0#

Set lineObj = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint)

lineObj.TrueColor = color

Next i

End Sub

' pt e absolut si dir e relativ la acesta

Sub CalculaxaRevolutie()

Dim ir As Integer

Dim alfa1rev As Double

Dim OC, OD As Double

For ir = 0 To 5

ptRev(ir, 0) = distRev(ir) * Math.Cos(unghirev1(ir)) + centru(ir, 0)

ptRev(ir, 1) = distRev(ir) * Math.Sin(unghirev1(ir)) + centru(ir, 1)

ptRev(ir, 2) = centru(ir, 2)

alfa1rev = Math.Atn(30# / distRev(ir))

OC = Math.Sqr(900# + distRev(ir) * distRev(ir))

OD = distRev(ir) * Cos(alfa1rev)

DirRev(ir, 0) = OC - OD
DirRev(ir, 1) = distRev(ir) * Sin(alfa1rev)

DirRev(ir, 2) = 0

Next ir

End Sub

Exemplu de deplasare rectilinie a robotului, utilizand pasirea cu oscilatii verticale ale corpului

In fig,5,9. este prezentat robotul in pozitie de repaus. In aceasta pozitie actuatorii nu sunt actionati,
ei putand sustine greutatea robotului prin constructia lor (camasa exterioara, peretii camerelor,
electrod interior). In aceasta pozitie toate cele sase picioare au contact ferm cu solul, poligonul de
sustinere fiind un dreptunghi.

Presupunand ca comandam robotul pentru o deplasare rectilinie inainte, vom comanda


actionarea a picioarelor 1, 3 si 5, obtinand o alungire a acestora, respectiv o ridicare a robotului si
desprinderea de sol a picioarelor 2, 4 si 6. In acest moment poligonul de sustinere este un triunghi
descris de cele trei picioare care au contact cu solul.
In continuare este comandata curbarea picioarelor inactive, respectiv 2, 4 si 6, pozitionandu-se
pentru o actionare ulterioara. Se realizeaza o curbare maxima cu alungire minima, prin aplicarea
corespunzatoare a presiunilor. In continuare poligonul de sustinere este un triunghi descris de cele
trei picioare care au contact cu solul, adica picioarele 1, 3 si 5.

Continuand aceasta miscare se comanda curbarea si alungirea maxima pentru picioarele 2, 4 si


6. In aceasta pozitie aceste picioare aproape au contact cu solul.

In continuare poligonul de sustinere este un triunghi descris de cele trei picioare care au contact cu
solul, adica picioarele 1, 3 si 5, desi putem admite ca poligonul de sustinere este descris de toate
picioarele, acestea avand contact cu solul.

Urmatoarea comanda elimina presiunea din camerele picioarelor care au contact cu solul,
respectiv 1, 3 si 5. Aceasta duce la destinderea acestor picioare, adica la scurtarea lor pana la pozitia
de relaxare/repaus. Din acest motiv picioarele 2, 4 si 6 ajung ferm pe sol, datorita miscarii verticale
de coborare a corpului robotului, in timp ce picioarele 1, 3 si 5 nu mai au contact cu solul. Poligonul
de sustinere va fi un triunghi descris de picioarele 2, 4 si 6.

Ultima miscare din acest semiciclu este de fapt miscarea de inaintare a robotului. Picioarele 2, 4
si 6, care acum au contact cu solul sunt comandate pentru alungire maxima fara curbare, egaland
presiunea in toate camerele cu presiunea maxima admisa. Corpul robotului va efectuao miscare de
inaintare pe orizontala si o miscare de ridicare pe verticala, rezultanta acestor miscari fiind o miscare
inainte si in sus.

Acest algoritm se repeta pentru obtinerea pasirii (miscarii de inaintare) si cu celelalte trei
picioare.

Se poate obtine o deplasare spre inainte (rectilinie) fara deplasari pe verticala ale corpului
robotului. Curbarea si deplasarea picioarelor se va face in lateral, efectuandu-se o rotire a picioarelor
care au contact cu solul, ceea ce provoaca o miscare oscilatorie a corpului robotului in plan orizontal.
Pentru deplasarea robotului astfel incat corpul acestuia sa nu oscileze in plan vertical sau
orizontal ar trebui controlata pozitia actuatorilor flexibili astfel incat curbarile pentru pozitionare sa
asigure numai jumatate din cursa maxima, cealalta jumatate de cursa sa fie folosita pentru
inaintare. In acest caz deplasarea utila se micsoreaza cel putin la jumatate.

Bibliografie

Fig. 4.6. Distributia fortelor


de incovoiere corespunzatoare presiunilor
 
Mircea Ivanescu, Roboti industriali. Algoritmi si sisteme de conducere , Ed. Universitaria, Craiova,
1994

Mircea Ivanescu, s.a., Actionari neconventionale a robotilor,

Sonia Degeratu, Nicu George Bizdoaca, Aliaje cu memorie a formei, Ed. Universitaria, Craiova,
2003

Stefan Preitl, Radu Emil Precup, Introducere in conducerea fuzzy a proceselor, E. Tehnica,
Bucuresti 1997

Dan Mihai, Comenzi numerice pentru sisteme electromecanice, Ed. Dicactica Nova, Craiova,
1996

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