Scrigroup - Documente si articole

Username / Parola inexistente      

Home Documente Upload Resurse Alte limbi doc  


AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


SISTEME DE CONDUCERE A ROBOTILOR

calculatoare

+ Font mai mare | - Font mai mic



UNIVERSITATEA DIN CRAIOVA

FACULTATEA DE AUTOMATICA, CALCULATOARE SI ELECTRONICA



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

e

N

Z

P

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.

e

N

Z

P

N

Z

P

N

Z

P

N

Z

P

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 u1, 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





Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 6166
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved