Sunteți pe pagina 1din 16

Capitolul 1.

Introducere

Obiectivele Cursului
Despre Modularitate, PCAP
Definirea Robotului
Complexitatea
Modelul Obiect

Capitolul nti al Bazelor Roboticii este o introducere n cunoaterea conceptelor utilizate la studiul,
sistemelor complexe din care robotul face parte. Structura lui este organizat pe cinci subcapitole care
se refer la urmtoarele aspecte: Obiectivele modulului Bazele roboticii n fapt dezvoltarea unui
fundament conceptual necesar studiului roboilor; Modularitatea i abstractizarea, dou construcii
mentale care se pot apoi dezvolta prin mecanismul al crui acronim este PCAP; Definirea robotului unde
alturi de definiiile canoice ale acestui sistem mecatronic se propune o definiie de lucru care ofer
posibilitatea de analiz a acestor sisteme; definirea conceptului de Complexitate i a modurilor specifice
de analiz i sintez a acestor sisteme iar in final descrierea Modelului obiect paradigm utilizat in
cunoaterea sistemelor complexe.

1.1.

Obiectivele cursului

Bazele Roboticii este unul din cursurile pe care programa analitic a specializrii de Robotic o cuprinde
sub forma unui curs de specialitate. Alaturi de acest curs studenii care parcurg aceast specializare
beneficiaz de cursuri precum, Robotica, Roboi mobili etc. Este deja evident faptul c Bazele Roboticii
este un curs care le fundamenteaz pe acestea. n consecin obiectivele la care se refer acest capitol
sunt derivate prin analiza fundamentelor menionate.
Vom preciza n primul rnd dorina de a prezenta utilizarea unor principii inginereti de proiectare
modular i de abstractizare. Modularitatea este un numitor comun al proiectarii inginereti specific i
celei mecatronice. Ea poate fi ntlnit n ingineria electric, n cea mecanic precum i n informatic.
Conceptul de modularitate este coroborat cu cel de abstractizare adic priceperea de a identifica
conceptele care definesc un anumit fenomen.
n al doilea rnd dorina de a prezenta procedee de modelare, adic de a realiza conexiuni n limbaj
matematic ntre conceptele care au fost amintite. Modelele matematice sunt utilizate n toate tiintele
care compun ingineria mecatronic (mecanica, electrica i informatica) ele reprezentnd singurul mod
de a explica fenomenele care apar n acest context i de a permite predicii asupra acestora.
Nu n ultimul rnd ne dorim s subliniem caracterul cibernetic al roboticii, faptul ca un astfel de produs
are conexiuni inverse (feedback) care analizeaz rezultatele obinute i le compar cu obiectivele iniiale
ale sarcinii de ndeplinit (task).
Cursul conine i o latur aplicativ n care modelele imaginate sunt transformate n algoritmi i
transpuse in programe de calcul. Soluia numeric a modelelor va fi realizat prin programare n Matlab
sau n Python.

1.2.

Despre modularitate, PCAP

ntr-o celebra lucrare [Miller, G. A. (1956). "The magical number seven, plus or minus two: Some limits on our
capacity for processing information". Psychological Review 63 (2): 8197 ]
atragea atenia asupra faptului c n general un om poate utiliza concomitent apte idei. Se pune deci
ntrebarea care este modalitatea de a soluiona probleme complexe, adic de a utiliza concomitent mai
multe idei? Sau, cum putem imagina soluii inginereti care prin complexitatea lor depaete acest prag
maxim de apte?
Soluia este abstractizarea si modularizarea. Cele dou soluii sunt prezente n ziua de azi n toate
domeniile inginereti. Modularitatea este ideea de a construi componente care pot fi reutilizate, iar
abstractizarea este ideea de a simplifica imaginea unui sistem adic, de a eluda aspectele sale
particulare, de a ne concentra asupra aspectelor pe care le considerm eseniale. n acest mod

descrierea unui sistem complex poate fi enunat ca fiind o interaciune ntre module. Iar att
interaciunile ct i modulele sunt abstractizate sub form de modele, respectiv de componente.

Structuri Mec.

Motoare

Mecanisme

Mot. CC

Mec.
Antropomorf

Servo
Motoare

Sist. de calcul
Calc.elect.
Calc. pe care
ruleaz un
program de
conducere

Figura1.1 Domeniile care compun robotica, abstractizri succesive


Modularitatea i abstractizarea permit imaginarea unui proces repetitiv care va genera noi module prin
conectarea si abstractizarea modulelor iniiale.
Acest proces repetitiv este construit cu ajutorul unui mecanism (proces) de gndire care cuprinde
urmtoarele etape [Dennis Friedman Introduction to Electrical Emgineering MIT]:

Realizarea, imaginarea, unui set de componente de baz Primitive;


Coroborarea, mbinarea, Combinarea, primitivelor ntr-un sistem mai complex;
Abstractizarea sistemelor complexe, identificarea prilor lor eseniale;
Identificarea unor Paternuri (din eng. Pattern, tipare, abloane) comune ale abstractizrilor
realizate (adic abstractizarea abstracizrilor).

Mecanismul de gndire menionat poate fi descris prin succesiunea Primitiv Combinare


Abstractizare Patern ceea ce a condus la denumirea de PCAP (omonim cu eng. pick up a ridica dar

mai ales - aici- cu a intelege). Cursul utilizeaz acest mecanism n vederea ordonrii conceptelor care
apar n robotic.
Vom ncepe cu un exemplu comun: crmida, cas, instalaia de ap, funcia de gatit. Crmizile sunt
obiecte modelate sub forma unor paralelopipede adic din punct de vedere geometric pot fi definite
prin 3 dimensiuni iar din cel funcional prin mas, rezisten etc. Mai multe tipuri de cramizi pot
constitui o mulime de Primitive, o clas. Combinnd aceste primitive la care adaugm i primitive din
alte clase (ferestre, usi, instalaii etc) se obtine o cas - o cladire care folosete drept locuin. Putem s
extragem din proiectul casei anumite pri pe care le vom utiliza i la alte case (de exemplu camera de
baia sau instalaiile de ap), ceea ce nseamn c am facut Abstracii. Dac avem o colecie de astfel de
abstracii putem s identificm Paternurile acestora, de exemplu faptul c o buctrie are ca elemente
definitorii locurile de procesare ale hranei, locurile de curire ale vaselor,etc. Astfel am definit o
funcionalitate a caselor, cea de a asigura un loc de pregtire a hranei.
Putem deci ntelege o cas, pe care trebuie s o proiectam, ca un ansamblui de funcionaliti, putem s
asociem fiecrei funcii diferite abstractiuni, putem apoi s accesm setul de primitive pe care n avem la
dispoziie i s le realizm efectiv.
Acest mod de gandire are urmtoarele consecine imediate: pentru a proiecta o cas trebuie s cunosc
funcionalitatea pe care doresc s o ofer dar nu trebuie s cunosc modul specific n care se reafizeaz
acea funcie; acel ansamblu care va realiza o anumit funcie are caracterul unui black box (cutie neagra)
ceea ce inseamn c pot opera cu ea fr a-i cunoate coninutul; pentru o anumit funcie am la
dispoziie mai multe astfel de black boxuri din care pot s o aleg pe cea care se potrivete mai bine
proiectului meu. Exist specialiti in anasmblurile menionate, ei cunosc nu numai cum se acceseaz
black box-ul dar i cum funcioneaz acesta. Dar atunci cand ansamblul este unul complex, la randul lor
specialitii menionai descriu funcionarea acestuia prin agregarea de alte black boxuri componente ale
ansamblului n discuie s.s.m.d.
Putem exepmlifica mecanismul PCAP n precizarea domeniilor inginereti care compun robotica (v.
fig.1.1). Parte a mecatronicii ea este compus din trei domenii inginereti: mecanica, electrica i
informatica. Aceste domenii i ofer primitivele i combinaiile necesare. Caracterul mecatronic al
produsului (robot) se releveaz prin proiectarea unitar a acestuia adic aeste combinaii trebuie s se
constituie ntr-un sistem cu legturi specifice.
n figura 1.2 aceast idee este dezvoltat. Creterea gradului de abstractizare implic sisteme care in
figura 1.1 apareau n clase diferite (Electric i Informatic).
Prima abstractizare se refer la elementele care compun circutele analogice rezistene, condensatoare,
bobine. Utilizarea acestora se realizeaz prin eludarea efectelor secundare i prin concentrarea asupra
fenomenul fundamental pe care l provoac. Mai precis o rezisten este utilizat doar datorit efectului
ei evideniat de legea lui Ohm iar capacitatea, inductana pe care o posed este de cele mai multe ori
neglijat. Un condensator la rndul lui posed rezisten dar i acest proprietate este neglijat vizavi de
proprietatea sa fundamentaal de capacitor.

Elemente
Analogice Circuite
Analogice Circuite
Numerice Calculator

Program

Figura 1.2. Niveluri de abstractizare

A doua abstractizare se refer la circuitele analogice. Sisteme realizate din elemetele menionate n
paragraful anterior. n acest caz se dorete obinerea unei modulariti care poate fi reprezentat
conceptual (modelat) printr-o funcie intrare ieire. Mai mult, se dorete ca acest modularitate s
permit conectri (la alte module), iar acestea s nu modifice funciile iniiale. Figura 1.3.a prezint un
astfel de modul . Este vorba de un divizor de tensiune n care funcia menionat este descris de relaia
(1.1).

(1.1)
Putem conecta un astfel de modul la un motor de curent continuu (motor CC) iar pentru a asigura
prezervarea funciei dat de modelul (1.1) este necesar utilizarea unui element de legtur special de
exemplu un amplificator operaional.
Al treilea nivel al abstractizrii sunt circuitele digitale. n acest caz funciile de ieire pot lua dou valori
nalt i joas ceea ce este modelat prin 1 i 0. Circuitele numerice sunt deja proiectate n sensul
conectrii lor cu alte module. Utiliznd mai multe module de acest tip putem genera o mare varietate de
funcii.
Vin

Vin
R1

R1
Vout
+

Vout
R2

R2

Am
p.
Mo
t.
CC

Figura 1.3. Divizor de tensiune, conectarea la un motor CC

Urmtorul nivel de abstractizare l reprezint calculatorul electronic. Este compus din circuite digitale,
este interfaat pentru a fi conectat la alte module digitale i pentru a fi programat (utilizat) de un om.
Dac n cazul circuitelor digitale funciile menionate erau binedefinite (nu se modificau n timp), n cazul
calculatorului acestea sunt subiectul programelor de calcul
Ultimul nivel de abstractizare este programul de calcul. Pornind de la un anumit limbaj de programare,
care conine convenii specifice, programarea permite transpunerea unor algoritmi n funcii care (se
manifest) au efect vizavi de modulele cu care este conectat calculatorul sistemul de acionare al
robotului, sistemul de senzori etc - dar i ctre utilizator simulatoare, interfee etc.
Sistemul robotic este subiect de abstractizare, de exemplu evidenietre de subsisteme specifice (de
orientare, de pozitionare, de prehensare, de calcul etc.) ceea ce permite gsire de paternurilor
(manipularea obiectelor, definirea taskului etc).

1.3.

Definirea robotului

Vom ncepe prin a meniona faptul c este vorba de un concept de tip suitcase (eng. Valiza), adic un
sistem pentru care exist mai multe definiii recunoscute i care n zilele noastre evolueaz cu rapiditate.
Vom prezenta cteva definiii girate de ISO (Organizaia Internaional de Standardizare), EURON
(European Robotics research Network) i de RAI (Robotic American Institute) iar apoi von trece la o
definiie de lucru (de la care vom ncepe analiza).

Conform ISO i EURON: Robotul este un manipulator controlat n mod automat , reprogramabil,
utilizat pentru scopuri multiple, n automatizarea aplicaiilor industriale;
Conform RAI: Roboii Industriali sunt manipulatoare reprogramabile, multifuncionale, utilizate
pentru a manipula materiale, unelte sau echipamente

Vom dezvolta aceste definiii prin a spune c Robotul este un sistem mecatronic, programat care
interacioneaz cu obiectele din jur.
Faptul c genul proxim al roboticii este mecatronica conduce la ideea ca vorbim despre un
sistem n bucl nchis (cibernetic).
Sistemul poate fi definit la randul lui ca fiind un ansamblu de elemente ntre care apar
legturi specifice. Vom meniona faptul acest ansambul este gndit ca un interior care
se gsete n anumite relaii (specifice fiecrui sistem n parte ) cu exteriorul (restul
Univesului). Aceast ultim idee expliciteaz aa numita gndire sistemic.
Atributul de programat (reprogramat) vine s sublinieze faptul c sarcinile robotului sunt
flexibile iar acest flexibilitate este implementabil prin programare (reprogramare).

Interaciunea menionat poate fi de mai multe tipuri dintre care menionm, manipularea
obiectelor i deplasarea (manipularea propriului corp) n anumite medii.
A manipula un obiect nseamna a-i modifica postura (ntr-un anumit timp), adic a
modifica poziia i orientarea obiectului.
Apare astfel posibilitatea de a evidenia funciile robotului i de a realiza o prim clasificare a acestor
sisteme. Definiia anterioar a evideniat dou tipuri de roboi. Cei cu post fix n care un elemet
(particular, numit baz) nu i modific postura n timpul funcionrii i care se numesc Manipulatoare.
Cei care se deplaseaz n anumite medii modificnd astfel postura tuturor elementelor din care sunt
compui i care poart denumirea de roboi mobili. Evident apare i situaia n care robotul mobil
conine un bra ataat de corpul su care are rol n manipularea de obiecte.
Din punctul de vedere al mecanismului PCAP ne intereseaz funciile care sunt cuprinse n definiie. Vom
neniona urmtoarele:

1.4.

Este un sistem n bucl nchis ceea ce nseamn existena unor subsisteme (componente
blackbox la acest nivel de cunoatere) care permit:
o Interfaarea la un utilizator, n vederea menionrii sarcinii de lucru;
o Citirea starii curente (subsistem senzoristic);
o Compararea starii curente cu taskul impus i determinarea diferenei dintre acestea;
o Transformarea diferneei menionate ntr-o comand care are rolul de a diminua acest
difern;
o Accesul de o surs de energie care permite funcionarea sistemului;
o Transformarea comenzii ntr-o aciune care modific starea sistemului;
Sarcinile specifice sunt de manipulare ceea ce conduce la necesitatea unor subsisteme care
permit :
o Modificarea poziiei;
o Modificarea orientrii;
o Prehensarea obiectului, apucarea lui.

Complexitatea

Complexitatea este un concept (idee) care se refer la sisteme alctuite din multe elemente i este de
multe ori sinonim cu complicat, greu de neles (nclcit). Sublinierea acestui caracter al sistemelor cu
care operm din ce in ce mai mult are rolul de a imagina strategii de analiz i de sintez (proiectare) ale
acestora.
Cunoaterea sistemelor complexe necesit imaginarea unor niveluri de abstractizare ierarhizate n care
fiecare nivel se refer la un anumit sistem care este alctuit din elemente conectate n vererea realizrii
unor funcii specifice acestui sistem. Funciile menionate depesc din punct de vedere al abstractizrii

funcionarea elementelor care compun sistemul. Dac ne intereseaz funcionarea unui anumit element
al sistemului atunci ne vom referi la un nivel de abstractizare inferior.
Apar deci dou tipuri de funcii. Cele care sunt realizate de sistem, acestea sunt emergente, sunt impuse
de ctre utilizator. Respectiv cele specifice elementelor, impuse de proiectant, necesare pentru
realizarea primelor tipuri de funcii, eludate ns de utilizator. Existena acestei tipologii poate fi
neleas i ca o relaie de tipul extern, intern. Mai precis, funciile sistemului sunt relaii cauzale ntre
conexiunile acestuia cu exteriorul (universul), funciile elementelor sunt relaii ntre elementele
componente. Poate fi sesizat deasemenea i o ruptur n modul de gandire al utilizatorului, cel care
beneficiaz de funciile sistemului i priectant cel care trebuie s implementeze funciile interioare.
Sistemele complexe pot fi descrise prin urmtoarle atribute:

Structur ierarhic: sistemul complex este compus din subsisteme care la rndul lor pot fi
divizate n alte subsisteme;
Primitivele relative: din raiuni de cunoatere sunt evideniate primitivele, cele care constituie
baza de elemente de la care pornete construcia subsistemelor i a sistemelor. Este evident
faptul c definirea unui element, subsistem ca primitiv este un proces subiectiv care este la
latitudinea observatorului;
Legturile dintre elemente: constituie, in final, principalul mod de a identifica subsistemele,
subsistemele acestor subsisteme etc. Putem observa legaturi puternice - cu o dinamic mai
puternic, cu frecven nalt, cu timpi de stabilizare redui care sunt specifice ntre
elementele unui sistem, precum i legaturi mai slabe cu o dinamic mai redus, cu frecvene
mai joase cu timpi de stabilizare mai mari care sunt specifice ntre subsisteme;
Stucturi comune: evideniaz dorina de a utiliza n realizarea, cunoaterea acestor sisteme de
paternuri, abloane pe care le cunotem deja;
Evoluia prin forme intermediare stabile: nelegerea, proiectarea i realizarea unui sistem
complex este una evolutiv care dezvolt sisteme simple. Stabilitatea rezultatelor succesive, a
iteraiilor, care apar ntre variantele iniiale i cele finale se refer la faptul c acestea
funcioneaz n limitele unor anumite cerine din ce n ce mai aproape de cele ale utilizatorului.

Descrierea (cunoaterea) unui sistem complex necesit surprinderea a dou ierarhi. Este vorba despre
ierarhia clasei din care face parte sistemul i cea a obiectului din care este parte.
De exemplu un motor MaxonEC, face parte din clasa motoarelor de CC dar utilizat pentru construcia
robotului face parte din sistemul su de acionare. Faptu c Maxom EC este un motor de CC permite
utilizarea (prin adaptare la parametrii acestui motor) tuturor cunotinelor pe care le avem relativ la
motoarele de CC: modelul su dinamic, schemele de legare la o surs de putere, schemele de control
aferente etc. Apartenena sa la sistemul de acionare permite accesarea cunotinelor relativ la aceste
sisteme: funciile pe care trebuie s le genereze, viteza de reacie, puterea, asamblarea la structura
robotului etc.

ntelegerea complexitii poate fi de tip algoritmic, cea care evideniaz operaiile necesare realizrii
unei funcii, obiectiv, task, respectiv cea orientat pe obiecte (OO). Mecanismul PCAP se refer la cea din
urm.
Prin obiect nelegem un element tangibil din realitate de exemplu element al structurii de poziionare,
motor de CC, senzor, program de realizare a unui task, interfaa cu utilizatorul etc. Obiectul este acea
entitate care se comport ntr-un mod predefinit adic este cauzal definit. nelegereaorientat pe
obiecte include modularizarea i abstractizarea (cele dou concepte iniiale de la care s-a pornit). Ea
presupune identificarea obiectelor care particip la realizarea sarcinii.

1.5.

Modelul Obiect

Conceptul de Frame, (cadru) a fost propus de Marvin Minski [A Framework for Representing KnowledgeThe
Psychology of Computer Vision, P. Winston (Ed.), McGraw-Hill, 1975]ca structur de date si de funcionalitai
utilizabil n cadrul tiinei numit Inteligena artificial (IA). Un Frame se referea la o mulime de entiti
care au un anumit comportament apriori cunoscut. Originea acestui concept consta n dorina de a
rezolva una din (complicatele) probleme ale IA: percepia. Agentul inteligent tia c n anumite condiii
pot fi ntlnite anumite entiti care se comport ntr-un anumit mod. n consecin acesta se concentra
asupra acestora, trecand cu vederea restul obiectelor (n numr considerabil) care se gsesc n univers.
Economia n gndire (procesare de informaii) era una din beneficiile acestei idei.
Pentru a exemplifica conceptul menionat ne vom imagina (experiment mental) c intrm ntr-o
buctrie. Ceea ce n mod legitim tim c vom percepe sunt entiti ca: mese, scaune, chiuvete, sobe de
gtit etc. Nu tim cum va arta concret masa pe care o vom vedea dar cunoatem deja clasa maselor
astfel nct ceea ce trebuie s facem este s adaptm conceptul de mas la ceea ce vedem. Este puin
probabil ca n buctrie vom vedea un pian, astfel nct nu ne vom aduce n memoria de scurt durat
conceptul clasei pianelor. Exemplul aduce n discuie dou noiuni pe care le utilizm n mod curent,
conceptul i clasa. Clasa este o mulime de entiti care au proprieti comune (clasa scaunelor, meselor,
pisicilor etc.) iar conceptul clasei este acel element (real sau imaginar)al clasei care este reprezentativ
acesteia. (Termenul de concept se poate utiliza i pentru a meniona o idee important , semnificativ)
Ideea de Frame a fost preluat i dezvoltat n cea de Obiect. Dup cum am menionat n paragreafele
anterioare ea poate fi utilizat n cunoaterea (analiza) i proiectarea (sinteza) sistemelor complexe.
Aceste sisteme sunt din domeniul realului (camion, robot, fier de clcat etc.) ct i din domeniul
abstractului (algoritm, program etc.). Conceptul de obiect s-a dezvoltat foarte mult n programare,
programarea orientat pe obiecte (OO) devenind una din paradigele acestui proces. Aceast dezvoltare
a inclus mecanisme de analiz i de sintez care constitue un exemplu care a fost utilizat i la alte
sisteme (mecanice, electrice etc.). PCAP este un astfel de mecanism care surprinde un modul de
cunoatere al sistemelor complexe.

Datorit caracterului exemplificator al programrii OO vom prezenta n cele ce urmeaz cteva din
elementele care o definesc. Obiectul este o entitate tangibil care reunete ideea de algoritm cu cea de
date. Obiectul are anumite comportamente descrise prin algoritmi, poate avea modificri de stare, dar
are o structur de proprieti invariante.
Pentru c s-a menionat faptul c programarea OO a devenit o paradigm de programare vom aminti c
ea a evoluat prin dou abstractizri. Prima este una structural n care comportamente care se repetau
au fost reunite n subprograme iar a doua este una de modularizare n care structuri de progame
asemnatoare au fost reunite (abstratizare i modularizare). Dac paradigma (anterioar) a procedurilor
poate fi pus n coresponden cu verbele (aciunea asupra unei date), programarea OO este asociat cu
pronumele (date asupra crora se acioneaz ntr-un mod specific). La fel ca n cazul Frame-urilor o
anumit dat (ansamblu de date) implic aciuni specifice.
De exemplu o mas este utilizat pentru a susine anumite obiecte n anumite condiii, dei aparent are
proprieti diferite (cunoatem o mare varietate de mese) n fapt ne referim la valori diferite ale unei
mulimi de proprieti de acelai tip.
La rndul ei programarea OO a cunoscut abstractizri interioare de tipul Obiecte, Clase i Clustere. Este
vorba de a reuni anumite obiecte sub forma unei definiii comune care le poate genera ceea ce a condus
la apariia conceptului de Clase, respectiv de a reuni obiecte cu funcionalitate comun adic definirea
unui Cluster.
Paradigma programarii OO conine mecanisme de analiza OO, proiectare OO, programare propriu zis
OO. Astfel:

Programarea OO este o metod de de programare n care programele sunt aranjate sub forma
unor colecii de obiecte care coopereaz. Obiectele sunt instanieri ale claselor care la rndul lor
aparin anumitor ierarhi;
Proiectarea OO este o metod de proiectare care se bazeaz pe descompunerea n obiecte;
Analiza OO este o metod de analiz caredescompune cerinele unui sistem n cerine specifice
obiectelor

Obiecte

Modele
Analiza OO

Proiectarea OO

Programarea OO

Programe

Alte metode
Figura 1.4. Succesiunea mecanismelor utilizate la realizarea unui program

Figura1. 4 surprinde succesiunea utilizabil la realizarea unui program OO. Procesul ncepe cu analiza OO
care are ca rezultat realizarea unor modele. Modelele sunt apoi transformate n obiecte de ctre

proiectarea OO, urmnd ca n final acestea s fie transpuse n programe prin programarea OO. Se
menioneaz i faptul c exist i alte posibiliti de a transpune modlele n programe.
Definiia conceptului de Obiect este completat prin evidenierea caracteristicilor sale. Acestea sunt n
conformitate cu Grady Booch [Object Oriented Analysis and Design with Applications, Addison Wesley2007 ] de
dou tipuri, majore cele care sunt mereu prezente i minore, cele care pot s apar. Din categoria
caracteristicilor majore menionm:

Abstracia, care se refer la eludarea a tot ceea ce este nesemnificativ. Prin evidenierea
trsturilor eseniale care prin valorile lor pot diferenia obiectele, abstracia permite definirea
clasei. Tot aici sunt precizate posibilitile, protocolul, de conectare cu un alt obiect. n concluzie
abstractizarea este cea care definete obiectul;
ncapsularea, cea care secretizeaz obiectul vizavi de utilizator, definind cele dou pri ale
obiectului, interfaa i implementarea. Interfaa este vizibil utilizatorului i cuprinde
modalitile de generare ale comportamentelor specifice ale acestuia, iar implementarea este
partea invizibil pentru utilizator, cea care permite (de fapt) realizarea comportamentelor
solicitate prin interfa;
Modularitatea, proprietatea sistemelor de a fi descompuse n module, grupeaz clasele i
obiectele care au legturi specifice n mulimi.
Ierarhia permite ordonarea claselor i obiectelor. Astfel clasa aparine unei structuri ce poate fi
definit prin sintagma Este o..., iar obiectul uneia de tipul Parte a....Ierarhiile sunt descrise prin
concepte de tipul:
o Motenire, ceea ce implic generalizare i existena subclaselor , a prinilor i a
urmailor. Motenirea permite reutilizarea datelor sau a metodelor claselor prini de
ctre clasele urmasi.De exemplu, robotul este un manipulator programabil sau SCARA
este un robot cu trei grade de mobilitate, el motenete de la clasa robot faptul c
acesta este un maipulator, faptul c poate fi programat etc. dar n acelai timp
particularizeaz anumite proprieti, metode ale acestuia are doar trei grade de
mobilitate, respectiv introduce metode, proprieti noi ;
o Agregarea , ceea ce implic o legtur de tipul unei cooperri n vederea realizrii unui
obiectiv comun. De exemplu, sistemul de acionare al robotului este parte a acestuia.

Din categoria caracteristicilor minore menionm:

Tipologia, cea care ramforsez caracterul unuei anumite clase i permite conexiunea obiectelor.
De exempul, sistemul de acionare al acestui robot este unul cu motoare CC; el poate fi conectat
la anumite surse de energie i nu la altele.
Concurena.

Un obiect este ceva perceptibil (tangibil sau vizibil) ceva care poate fi neles, ceva care poate fi descris
printr-o stare; are un anumit comportament specific; are o identitate precis.

Starea unui obiect cuprinde valorile proprietilor acestuia. De exemplu Robotul (n sens
general) nu este un obiect (este o clasa care poate fi instaniat n diferite obiecte), dar Robotul
ABB din laboratorul de robotic este un obiect, el are proprieti binedefinite: volum de lucru,
greutate,..., etc.
Comportamentul descrie modul n care obiectul acioneaz n anumite circumstane date,
putnd fi descris prin schimbrile (modificrile) strii acestuia. Afirmaie poate fi inversat n
sensul n care starea obiectului este rezultatul comportamentelor acestuia. De exemplu starea
frigiderului poate fi definit prin: temperatura la interiorul frigiderului, faptul c motorul electric
care acioneaz asupra compresorului este pornit sau oprit etc. Aceste stri au fost determinate
de comportamentul frigiderului adic de modul lui specific de reacie la temperatura (de rcire)
impus de utilizator. n cazul unui robot manipulator starea lui poate fi descris (ntre altele) de
vitezele i poziiile relative ale elementelor (braelor) sale. Aceast stare este o consecin a
comportamentului de control al robotului.
Un comportament poate fi abstractizat ca fiind o sum de operaii (funcii). Specific paradigmei OO se
pot identifica urmtoarele tipuri:

Constructorul: este operaia care creaz obiectul adic (ntr-un sens mai larg) iniializeaz starile
acestuia. n cazul unui robot acest operaie o putem observa n dou moduri. n primul rnd
construirea efectiv a robotului, adic asamblarea sistemului mecanic a celui electric, a celui
informatic etc. Iar n al doilea rnd putem s o observm ca ansamblul de aciuni care permit
pornirea robotului generarea strii de stand by. Programul de conducere al robotului este
alctuit la rndul lui din obiecte (program) care sunt iniializate prin constructor.
Destructorul: este operaia de distrugere a obiectului. Bineneles i de acest dat este vorba
de a conduce robotul ctre o anumit stare de repaus, iar referitor la subsistemul lui informatic
de a elibera memoria calculatorului de anumite obiecte.
Modificatorul: este o operaie n sens general care modific starile unui obiect. De exemplu
nchiderea sau deschiderea unui prehensor, etc.
Selectorul: este o operaie de alegere a unui obiect far a-i modifica starea.
Iteratorul: este operaia care permite accesul ntr-un mod ordonat. De exemplu n cazul
manipulatoarelor se utilizeaz strategia de manipulare de tipul pick and place ceea ce necesit
realizarea unor iteraii de tipul: pregensorul este adus lng obiectul de manipulat,
manipulatorul prehensez obiectul, robotul deplaseaz obiectul n noua sa locaie dorit i n
cele din urm eliberaz acest obiect.

Comportamentele menionate au generat urmtoarele relaii dintre obiecte:

Legtura este o conexiune fizic sau conceptual ntre obiecte. Tipul legturilor poate clasifica la
obiecte n urmtoarele tipuri:
o Controler , atunci cnd un obiect opereaz asupra altui obiect. De exemplu n cazul
roboilor exist un obiect denumit controler, conectat (legat) la actuatorii acestuia pe
care i conduce n scopul realizrii poziiilor dorite n cuplele robotului;

o
o

Server, atunci cnd obiectul rspunde la comenzile altui obiect. Continund exemplul
anterior putem afirma ca motorul de CC este un server al controlerului;
Proxy, atunci cnd obiectul are ambele statute menionate anterior. De exemplu un
panou de interfaare este n legtur cu senzorii robotului de la care cere informaii i pe
care le afiseaz ca urmare a mesajelor trimise de acetia.

n figura 1.5 este schematizat exemplul anterior, evideniindu-se tipul legturii si obiectele care
sunt astfel conectate.

Motor CC

Senzor

[ proxy]

[ server]
[ proxy]
Controler
[ controler]

Panou
Afiare
[ server]

Figura 1.5. Tipul legturilor caracterizeaz comportamentul obiectelor

Agregarea este o conexiune care implic o anumit ierarhie de tipul ntreg parte. Aceste
legturi asigur ncapsularea obiectelor una fa de cealalt. Conexiunea este o agregare mai
slab ea fiind o legtur carepoate fi desfcut. De exemplu senzorul este parte a nunui servo
motor care la rndul lui este parte a sistemului de actionare al robotului. Putem s nlocuim
senzorul dac acesta s-a stricat sau dac ne dorim o alt calitate a msurtorilor. Este ns clar
c robotul nu poate fi conceput fr senzori sau fr servomotoare etc.

O clas reprezint o mulime de obiecte care posed o structur, un comportament i o semantic


comun. Este deja clar faptul c aceast noiune se refer la ceea ce n limbaj comun numim
conceptul unei clase, adic acel individ reprezentativ . Discutnd despre clase ne situm la un nivel
mai nalt al abstractizrii. Clasa roboilor conine toate atributele, comportamentele pe care le au
roboii dar acesta nu sunt instaniate (sunt variabile a cror valoare nu au fost atribuit).
Clasele posed interdependene de tipul:

Asociere: legturi slabe care apar la primele faze ale proiectrii i care pe parcursul aceteia se
vor transforma n legturi mai puternice (mai bine definite). De exemplu se poate spune ca
exist o legtur de asociere ntre clasa controlerelor si cea a senzorilor. n prim instan
aceast asociere nu d detalii asupra naturii intime a conexiunii;
Motenirea: este o legtur conceptual dintre o sub clas (urma, copil) i o super clas
(printe)n sensul n care o sub clas preia structura i sau comportamentele superclasei.

Motenirea se poate realiza prin extensie ceea ce nseamn c subclasa dezvolt setul de
comportamente precum i structura superclasei, respectiv prin restricie caz n care elementele
menionate se mrginesc. Motenirea poate fi singular, de la o singur superclas sau multipl
de la mai multe clase.
S-a fcut referire la analiza i proiectarea orientat pe obiecte (v. figura 1.4). Rolul obiectelor i a claselor
n aceste dou activiti apare acum mai clar. Astfel:

La nceput, n timpul analizei funciilor temei de proiectare i n primele etape ale acesteie se
face identificare claselor care formeaz vocabularul problemei (domeniului), identificarea
structurii pe care trebuie s o formeze conexiunea claselor pentru a rezolva problema. Adic
identificarea abstraciilor problemei i al mecanismul de implementare.
Proiectarea se face prin iteraii care dezvolt produsul printr-o succesiune de variante stabile.
Clasele sunt concretizate n obiecte care au comportamente specifice. Sistemele complexe (din
care fac parte i roboii) se proiectez i se realizeaz prin coroborarea mai multor echipe care
lucreaz n paralel. Acest lucru poate fi realizat dac funciile produsului sunt descompuse la un
nivel de abstractizare inferior specific subansamblelor. Un subansamblu este un sistem care
poate fi conectat n vederea realizrii sistemului care se afl la un nivel ierarhic superior.
Conexiunile menionate necesitatea imaginrii unor protocoale: contracte care prevd
funcionalitatea i interfaa fiecrui subansamblu. Subansamblele pot fi privite ca obiecte
ncapsulate cu o anumit funcionalitate ceea ce permite modularizarea lor.

Figura 1.6 ilustreaz o variant posibil a claselor care alctuiesc un robot. Vocabularul problemei a fost
identificat in subcapitolul consacrat definirii robotului. Pe scurt:

Interfaa Utilizatorului o clas care permite accesul utilizatorului n programarea robotului


respectiv afiarea datelor obinute prin monitorizarea robotului. Rolul acestei clase este n a
permite existena proprietii de ncapsulare, mai exact pentru un utilizator robotul este un
black box care are comportamente ce pot fi iniializate cu ajutorul acestei clase.
Comportamentul este descris prin evoluia mrimilor de stare care poate fi citit tot cu ajutorul
clasei. Exist multe variante de obiecte n care se concretizeaz aceast clas, o consol de
calculator, un pandant. La rndul lui acest obiect este n fapt un sistem complex alctuit din
conexiunea a mai multor obiecte.

La rdul ei figura 1.7 ilustreaz cele dou relaii de motenire i de agregare care pot fi identificate la
obiectele care compun lanul cinematic de poziionare i a celui de orientare al robotului.

Interfa surs de Energie

Interfa Utilizator

Program de Conducere

Comparator

Starea Curent

Obiect Manipulat

Task: Main de Stare

Controler

Sistem de Actionare

Mecanism Pozitionare,
Orientare

Prehensor

Sistem Senzorial Intern

Sistem Senzorial Extern

Figura 1.6. Clasele care compun un robot (manipulator)

Mediu Extern

Obiect: Solid Rigid

Legturi Mecanice: Cuple

Mecanism

Lan cinematic deschis

Interfa

Mecanism Pozitionare,

Mecanism Orientare

Figura 1.7. Relaii de motenire i de agregare ale obiectelor care compun lanul cinematic al robotului

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