Licenta Ap V1.3 [604565]
UNIVERSITATEA DIN ORADEA
FACULTATEA DE INGINERIE ELECTRIC Ă ȘI TEHNOLOGIA INFORMAȚIEI
SPECIALIZAREA: CALCULATOARE
FORMA DE ÎNVĂȚĂMÂNT: ZI
LUCRARE DE LICENȚĂ
CONDUCĂTOR ȘTIINȚIFIC:
Prof. Dr.Ing. ȘTEFAN VÁRI -KAKAS ABSOLVENT: [anonimizat]
2018
UNIVERSITATEA DIN ORADEA
FACULTATEA DE INGINERIE ELECTRIC Ă ȘI TEHNOLOGIA INFORMAȚIEI
SPECIALIZAREA: CALCULATOARE
FORMA DE ÎNVĂȚĂMÂNT: ZI
PROIECTAREA ȘI REALIZAREA UNUI ROBOT MOBIL
DE TIP MAZE SOLVER
CONDUCĂTOR ȘTIINȚIFIC:
Prof. Dr.Ing. ȘTEFAN VÁRI -KAKAS ABSOLVENT: [anonimizat]
2018
*TEMA LUCRARII*
CUPRINS
1.INTRODUCERE ………………………….. ………………………….. ………………………….. ……………….. 1
1.1 Inteligența artificială și robotica ………………………….. ………………………….. …………………. 1
1.1.1 Inteligența artificială ………………………….. ………………………….. ………………………….. . 1
1.2 Aplicați i ale sistemelor robotice ………………………….. ………………………….. …………………. 3
1.3 Flexibilitate ………………………….. ………………………….. ………………………….. …………………. 4
2. FUNDAMENTAREA TEMEI ………………………….. ………………………….. ………………………… 7
2.1 Ro botica ………………………….. ………………………….. ………………………….. ……………………… 7
2.1.1 Scurt Istoric ………………………….. ………………………….. ………………………….. …………… 7
2.1.2 Competițiile de robotică ………………………….. ………………………….. …………………….. 11
2.1.3 Clasificarea Roboților ………………………….. ………………………….. ……………………….. 12
2.2. Stadiul actual si realizările importante ale sistemelor robotice ………………………….. …. 22
2.3 Robotul mobil cu capabilitate de navigare autonomă î n structuri complexe de tip
labirint – Maze Solver ………………………….. ………………………….. ………………………….. ………. 26
3. STRUCTURA APLICAȚIEI ………………………….. ………………………….. ………………………… 28
3.1 Ansamblul robot – Hardware ………………………….. ………………………….. ……………………. 28
3.1.1 Sistem de acționare ………………………….. ………………………….. ………………………….. . 28
3.1.2 Sisteme de comandă ………………………….. ………………………….. ………………………….. 32
3.1.3 Alimentare ………………………….. ………………………….. ………………………….. …………… 40
3.2 Construcția robotului ………………………….. ………………………….. ………………………….. ….. 40
3.3 Ansamblul robot – Software ………………………….. ………………………….. …………………….. 46
3.3.1 Algoritmi de rezolvare ………………………….. ………………………….. ………………………. 46
3.3.2 Platforma mBlock ………………………….. ………………………….. ………………………….. … 48
4. ANALIZA DE COSTURI ………………………….. ………………………….. ………………………….. … 49
5. CONCLUZII ………………………….. ………………………….. ………………………….. …………………… 50
1 1.INTRODUCERE
1.1 Inteligența artificială și robotica
1.1.1 Inteligența artificială
Când s -a vorbit prima dată de Inteligența Artificială (AI – Artificial Intelligence) în
1956, totul părea o utopie, un vis frumos pentru a fi realizat, un stadiu al dezvoltării considerat
a fi greu de atins. În ultimii 50 de ani, termenul a luat formă, devenind realitate, fiind în prezent
folosit în toate științele care doresc să se afirme. Pionerul său, prof. John McCarthy a prezentat
noua idee în vara anului 1956 la întrunirea “Darthmouth Summer Research Project on Artificial
Intelligence”.
Inteligența Artificială poate fi definită ca simularea inteligenței umane procesată de
mașini, în special, de sisteme de computere. Acest domeniu a fost, în general, caracterizat de
cercetări complexe în laboratoare și doar destul de recent a devenit parte a t ehnologiei în
aplicații comerciale.
În ultimii ani au avut loc numeroase discuții privind ideea Inteligenței Artificiale și rolul
său în dezvoltarea tehnologiilor. De -a lungul timpului , societatea a ridicat diferite intrebări
legate de evoluția tehnologică prin inteligența artificială:
-în ce măsură mașinile vor influența viața oamenilor ?
-pot fi construite mașini conștiente ?
-dacă oamenii sunt capabili cu adevărat sa contruiască mașini inteligente, cum le vom controla?
-cine va deține puterea, omul sau mașina?
-avem cu adevărat nevoie de aceste mașini inteligente în viața noastră?
Termenul de inteligența artificială este întâlnit azi în numeroase publicații tehnice,
medicale, militare, ș tiințifice, de obicei, când vine vorba de aplicații ce realizează performanțe
de care numai omul era socotit capabil: recunoașterea și analiza vocii și a imaginilor, traduceri
dintr -o limbă în alta, diferite jocuri de inteligență (șah, bridge), luarea unor decizii complexe
2 fără intervenția unui operator uman etc. Inițial, obiectivele Inteligenței Artificiale au fost unele
ambițioase: mașina trebuia să rezolve probleme diverse , să învețe pe baza propriei experiențe ,
să efectueze raționamente, să conceapă no i obiecte cu proprietăți prestabilite.
Principalul scop al Inteligenței Artificiale este de a imita întrutotul creierul uman în
modul în care acesta gândește, răspunde și interacționează. În pofida nivelului atins de
cercetători, acest deziderat nu va fi atins foarte curând, creierul uman fiind încă o enigmă,
aproape imposibil de analizat matematic și/sau tradus în limbaj mașină.
Indiferent de puterea lor de procesare, mașinile nu vor înlocui, probabil niciodată, omul,
cea mai inteligent ă și puternică ființă de pe Pământ. Această afirmație este sprijinită de
numeroase rațiuni. Cel mai important argument împotriva dezvoltării mașinii cu adevărat
inteligente este cel al evoluției. Mașinile nu au parcurs rigorile de supraviețuire timp de
milioane de ani precum oamenii. Modul în care aceștia interacționează, gândesc și se adaptează
sunt faze de dezvoltare ale intelectului, diferit fiecărui individ în parte. Acestui intelect i -au
fost necesare milioane de ani să evolueze, reprezentând, astfel, o etapă extrem de dificil de
implementat în dezvoltarea mașinii inteligente.
Unii oameni de știință afirmă că inteligența umană este imposibil de atins și întrecut pe
cale artificială de o mașină. În 1989, matematicianul britanic Roger Penrose a susținut c ă
mecanismele de funcționare specifice creierului uman nu pot fi replicate de mașină, nici măcar
în principiu. În prezent, creierul uman este considerat a fi cel mai sofisticat computer cunoscut.
Afirmația nu poate fi negată, dar creierul uman funcționează pe aceleași principii ca oricare alt
creier din regnul animal. Spre a înțelege inteligența umană, trebuie să înțelegem modul în care
se formează cele mai simple gânduri. Încercarea de a trece peste aceste etape primare și a
cerceta direct acțiunile comple xe ale creierului uman este aproape imposibilă.
Până în prezent s -au dezvoltat două metode diferite de abordare a Inteligenței Artificiale.
Prima metodă este cunoscută sub numele “top-down approach” sau “symbolic approach to
AI”. Spre exemplu, ve derea artificială a unei mașini (controlată de un computer) a fost abordată
prin construirea unor algoritmi și aplicarea lor pe o serie de date de intrare. Fiecare pas al
procesului de vedere trebuie evaluat, un algoritm urmând să transforme datele de intr are într -o
formă mai ușor de utilizat. Această metodă are dezavantajul că este prea dependentă de mașină
și poate fi utilizată doar în probleme foarte restrânse. De asemenea, abordarea se bazează în
mare măsură pe cunoștințele programatorului, absolut nimi c nu poate fi adăugat automat.
3 A doua metodă constă în construirea unei rețele neuronale care să asigure convertirea unei
imagini în informație. În anii ’60preocupările au fost concentrate pentru constituirea unei
astfel de rețele, denumită “perceptron”. Acesta, o combinație reușită de rețea neuronală și
informații pre -procesate, a permis pentru prima dată recunoașterea imaginilor de către un
computer. Perceptronul s -a bazat pe ceea ce a reprezentat atunci primul stadiu al vederii
artificiale, fiind folosi t ulterior în construcția mașinilor autoghidate. [1]
1.2 A plicații ale sistemelor robotice
Pentru fiecare categorie de aplicații industriale, pe piață există o gamă largă de
produse ajunse la maturitate tehnologică iar pentru domeniile emergente sunt bine structurate
direcțiile majore de cercetare și stadiile de dezvoltare tehnico -științifică ale unor produse noi
pe baza unei politici coerente specifice acestui domeniu. Din acest punct de vedere spre
deosebire de domeniul mecatronicii (considerată o științ ă orizontală cu o arie de cuprindere a
unei problematici mult mai largi, ce are ca obiect servirea unei plaje largi de domenii
conexe), robotica are un caracter de știință integratoare (verticală) orientată spre servirea
direct a unei plaje limitate de dom enii de interes conexe direct. Se poate astfel considera că
,,robotica este domeniul tehnologic care are ca obiect de studiu proiectarea, construcția,
integrarea în aplicații specifice și exploatarea roboților”.[10 ]
Actual, domeniul roboticii include trei subdomenii majore, aferente în ordine
,,roboticii industriale”, ,,roboticii pentru servicii” și respectiv ,,roboticii pentru aplicații
spațiale și de securitate” ( figura 1.1), subdomeniul roboticii pentru servicii fiind subdivizat la
rândul său în ,,robotica pentru servicii profesionale” și ,,robotica pentru servicii personale”.
În ceea ce privește segmentele de piață majore cărora li se adresează produsele și tehnologiile
robotice acestea includ atât domenii consacrate, așa cum este cazul aplicații lor robotice
industriale pentru procesele de fabricație, cât și domeniilor emergente cu dată de apariție
relativ nouă, cum sunt cele specifice aplicațiilor bio -industriale, pentru servicii în sectorul
public, pentru domenii medicale sau respectiv de utiliz are a roboților pentru servicii
personale, casnice sau în scop de divertisment etc.[11]
4 FIGURA 1.1 – Domenii majore de interes actual și de perspectivă în robotică
1.3 Flexibilitate
În ziua de zi, diversitatea aplicațiilor în care sunt utilizați roboți este în continuă
creștere. Bunurile de consum devin din ce în ce mai diversificate și individualizate, își
micșorează durata de viață și noi produse sunt pregătite continuu de către producători pentru
satisfacerea cerințelor clienților, cerințe pent ru produse de calitate si ce pot fi exploatate la
nivel înalt. Din punct de vedere al producătorilor de astfel de bunuri, aceasta înseamnă
identificarea continuă de noi modalități de flexibilizare a fabricației, un timp de răspuns către
piață din ce în ce mai scurt și cerințe de creștere continuă a calității produselor .
Din aceste motive tot mai mulți producători se orientează către procese de pro ducție
integrată care beneficiază de numeroase părți ce aparțin domeniului roboticii. Astfel ca
producătorii sun t puși în situația de a cumpara roboțu mai fiabili, mai ușor programabili și o
capacitate de integrare cât mai mare.
Din acest punct de vedere, incepand cu anii 2006 s -a remarcat o creștere de vânzări pe
piața roboților, creștere oprită odată cu venirea crizei economice din 2009 . Pe perioada crizei,
multe dintre companii si -au inghețat investițiile facute anterior și au inceput o reorganizare a
companiei , marcată în special de interesul deosebit pentru creșterea productivității și calității
produselo r. Astfel, comparativ cu anul 2008, considerat ultimul an de succes în domeniul
vânzărilor de roboți, anul 2009 a înregistrat un declin al vânzărilor de 47% (60.000 de
5 unități), o astfel de descreștere nefiind atinsă din anul 1994. Așa cum arată însă toate
analizele de piață, odată incheiată criza financiară în țarile puternic dezvoltate, s -a înregistrat
încă de la finalul anului 2009, o crestere pe piața roboților, anul 2010 fiind anul în care
reînvie piața robotică. În mod similar, la nivelul prognozelor de în ceput de an 2011 se
stimează ca certă păstrarea acestei tendințe și ca urmare o continuare și în acest an, respectiv
în intervalul următor, a creșterii cererii de produse din domeniul roboticii.[ 12]
Această recuperare masivă din anul 2010 (cea mai import antă din ultimii 30 ani) a
permis ca, doar în primele trei trimestre ale anului trecut, volumul vânzărilor de roboți să se
dubleze față de cel al vânzărilor din aceeași perioadă a anului 2009, indicând faptul că piața
roboticii și -a revenit complet, fiind atinse ritmuri de creștere a vânzărilor comparative cu cele
din perioada 2006 -2008 . În mod similar, anul acesta se preconizează o continuare a
dezvoltării pieței roboților destinați industriilor, construiți după noile tehnologii dezvoltate în
anii 2010 -2012 dar și pentru roboții din noile domenii emergente. [12]
Analizele statistice și anchetele de piață pentru domeniul roboticii realizate de către
forurile abilitate (IFR, RIA, JARA), precum și de reprezentanții principalelor companii
producătoare de roboț i (Fanuc, Kuka, ABB, Adept, Comau) .
Rapoartele care privesc cele mai puternice piețe internaționale în domeniul roboților
industriali, ca și clasament în topul vanzărilor, sunt în urmatoarea ordine , piețele din Asia de
Sud Est (China și Korea), și din Euro pa și din America de Nord (USA și Canada).
Complementar acestora, piețele care sunt în plină dezvoltare, India, Brazilia și respectiv
Rusia sunt considerate actual ca de interes și cu un mare potențial pentru noile fabrici, ca și
cele din Asia de Sud Est (figura 1.2).
FIGURA 1.2 – Dinamica vânzărilor de roboți industriali la nivel mondial (prezent și
perspective)
6 Din punctul de vedere al aplicațiilor industriale în care s -au remarcat creșteri ale
vânzărilor, se remarcă, în ordine, sectoarele industriei electronice , prelucrătoare prin așchiere ,
de fabricație are perelor din mase plastice / cauciuc, producției de produse farmaceutice /
dispozitive medicale, producției de produse alimentare și bunuri de consum, iar dintre
categoriile de procese de lucru robotizate cele de acoperire / vopsire / depunere de adezivi,
sudare cu arc electric, manipulare / transfer / transport industrial precum și cele
logistice.[ 13][14]
7 2. FUNDAMENTAREA TEMEI
2.1 Robotica
2.1.1 Scurt Istoric
Robotica este știința care se ocupă cu tehnologia, proiectarea și fabricarea roboților.
Robotica necesită cunoștințe de electronică, mecanică și programare.
De la începuturile existentei sale , omul s -a străduit mereu sa -si eficienti zeze efortul
pentru procurarea de hrana sau de amenajare a unor spatii pentru locuit. Tendința de a ușura
efortul fizic , de a spori rezultatele muncii chiar de a pune la lucru mașinării a existat încă din
antichitate , când au fost inventate si pârghiile , planul inclinat , scripeții sau roata. Arhimede
a făcut clasificarea pârghiilor si a inventat scripetele mobil , valabile pana in prezent . Astăzi
competiția de piață este acerba. Creșterea cantitativa si calitativa a producțiilor , reducerea
preturilor de cost si a timpilor de fabricație sunt acum deziderate care condiționează
nemijlocit menținerea in competiție a agenților economici. Cel mai bun exemplu pe aceasta
tema o reprezintă chiar industria producătoare de automobile , unde un autovehicul este g ata
sa părăsească procesul de producție cat si fabrica la fiecare 5 -6 minute cu toate ca numărul
operatorilor umani este in continua scădere .
In Japonia exista fabrici care nu au in componenta lor mai mult de 15 muncitori ,
referindu -ne strict la operator ii umani ce fac parte din procesul de producție , fapt ce nu ar fi
fost realizabil fără implicarea roboților.
Imediat după anul 1960 omenirea a avansat încă o data pe scara tehnologica in ceea ce
numim astăzi era calculatoarelor , ajungându -se ca in prezen t domeniile de activitate unde
calculatorul sa nu fie folosit , devin tot mai puține . Astfel , tendința de a controla si a
conduce activități cu ajutorul calculatorului , transferul sarcinilor de la hardware la software
este permanent , inteligenta artifi ciala fiind o realizare a zilelor noastre (ex. chiar
campionatul mondial de șah a fost întrerupt , la un moment dat , după ce sistemul „Deep
Blue” a reușit sa îl înfrângă pe campionul mondial en -titre Gari Kasparov).
8 Fig.2.1 Ilustrație din piesa de teatru RUR
Apariția si răspândirea microprocesoarelor a permis incorporarea elementelor de
inteligenta in structura constructiva a uneltelor. Electronica , electrotehnica in general , au
cunoscut o dezvoltare fără precedent . Aceasta a permis realizarea mi niaturizării , a
microminiaturizării si , mai nou a nanominiaturizării . Principial , o mașina mecanica
umanoida putea si construita încă din perioada interbelica , in acele timpuri problema fiind
comanda si acționarea acesteia .
De altfel , chiar denumire a de robot a apărut in perioada interbelica. Termenul este
creația dramaturgului Karl Capek ( 1890 – 1938 ) , unul dintre cei mai importanți scriitori
cehi , nominalizat pentru premiul Nobel in 1936 . Capek a folosit, pentru prima data in lume
,denumirea d e robot in celebra piesa RUR (Fig 2.1) „ Robotii universali ai lui Rossum ”
(„RossumoviUniverzální Roboti ” ), lansata in anul 1921.
9
Fig.2.2 Coperta RUR
Mai târziu in ziarul „Lidove noviny” ( „Ziarul poporului „ ) autorul avea sa declare ca
adevăratul inventator al termenului de robot a fost , in realitate, fratele sau Josef Capek.
Denumirea de robot provine din termenul de origine ceha „robota” , traductibil in
limba romana prin : „robie” , „sclavie” , „munca silnica” . Numele Rossum este o aluzie la
cuvântul rozum din limba ceha care înseamnă „rațiune” , „înțelepciune”.
RUR este o piesa science -fiction si prezinta o fabrica in care se produc mașini
umanoide, denumite roboti (Fig 2.2) . Acești „oameni” pot gândi si acționa de sine stătător ,
iar la început sunt foarte dispuși sa își servească stăpânul (Rossum) . La un moment dat ,
robotii se revolta , schimba si, in final distrug societatea umana , cu excepția unui singur om .
10 Fig.2.3 Nanorobot medical
Perioada interbelica a trecut , tehnolog ia a evoluat , situația s -a schimbat . In ziua de
astăzi exista blocuri electronice de putere realizate miniatural , microcontrolere ,
micromotoare , senzori ce pot fi introduși fără dificultate într -o articulație mecanica. S -au
dezvoltat chiar structuri n anometrice (Fig 2.3) , utilizate in medicina (roboti care curata
interiorul vaselor de sânge) .
In anii `60 , din secolul trecut , s -a produs o schimbare radicala in ceea ce privește
concepția in acționarea axelor mecanice . Încă din antichitate concepția constructiva avea la
baza utilizarea unei surse unice de energie care genera energia cinetica , necesara pentru
punerea in mișcare a elementelor mecanice ce fac parte dintr -un sistem. Astfel , o singura
roata de moara (eoliana sau hidraulica), o greutate r idicata si lăsata sa cada încet ca sa -si
micșoreze treptat energia potențiala , un singur arc tensionat , un singur motor de mare putere
erau folosite ca surse unice generatoare de locomoție .
Un sistem complex si sofisticat la vremea lui de transmisii mec anice cu -curele , cu
lanțuri ,cu roti dințate sau cu fricțiune – era folosit pentru a pune in mișcare toate axele
mecanice ce trebuiau acționate . Unele sisteme erau atât de complicate si complexe încât au
ajuns sa fie numite veritabile bijuterii tehnice . Astăzi se procedează la acționarea individuala
a fiecărei axe in parte , amplasând motoare de puteri adecvate chiar la nivelul axei. Acest
concept având denumirea de conducere distributiva. Excepția de la regula o constituie chiar
11 autovehiculele , la ca re cutia de viteze ( din ce in ce mai complexa) si cea de direcție rămân
esențiale pentru distribuirea mișcării produse de motor , dar prin trecerea la acționarea
electrica se întrevede realizarea roților conduse autonom .
Si in mecanica au apărut schimbăr i in concepție . Pentru robotica fost importanta
contribuția cercetătorilor J.Denavit si R.S. Hartemberg care cu lucrarea „ A Kinematic Nation
for Lower -Pair Mechanisms Based on Matrices” publicata in „ Journal of Applied
Mechanics” in 1955 au introdus o noua metodologie de abordare si de calcul in mecanisme .
Mai târziu , R.P. Paul a preluat principiile Denavit -Hartemberg si a pus bazele metodologiei
de calcul pentru analiza cinematica directa si inversa la brațele de robot .
Nu in ultimul rând este importanta evoluția științei materialelor. Sunt azi obținute
materiale inteligente si/sau materiale cu memorie (materiale ce își schimba abilitățile in
funcție de condițiile lor de utilizare – variația solicitării , schimbarea temperaturi i externe ,
umiditate etc. – sau „țin minte” modul in care au fost folosite).
In zilele noastre , nivelul de automatizare (executare de operații tehnologice precum :
prelucrare , manipulare , asamblare , finisare , verificare fără participarea efectiva a omului )
al activităților este deosebit de avansat. Sistemele sunt flexibile din multe puncte de vedere ,
sunt conduse adaptiv si inteligent. Exista activități in agricultura , producție industriala ,
servicii , chiar transporturi unde operatorul uman nu intervine de loc , are rol numai in
supraveghere sau service .
2.1.2 Competițiile de robotică
La ora actual ă exist ă o varietate larg ă de competiții de robotic ă bazate pe robo ți
autonomi ce a inspirat și motivat elevii , studenții si inginerii din întreaga lume , sa creeze
roboți autonomi dar în același timp și competitivi , la fiecare ediție a acestor concursuri
încercând sa doboare recordurile stabilite anterior (Fig 2.4) . Una dintre cele mai populare
categorii ale acestor competiții este Micro -Mouse , categorie care a fost conceput ă încă de prin
anii 70` .
Scopul unui robot mobil autonom cu capabilitate de navigare auto nomă în structuri
complexe de tip labirint este de a găsi cea mai rapid ă și simpl ă cale spre mijlocul labirintului /
spre o alta ieșire a labirintului , totodată pentru a fi considerat eligibil la un astfel de concurs
robotul de tip micro -mouse trebuie sa întrunească condiții precum cea de dimensionare , a stfel
12 încât dimensiunea robotului sa nu depășească o lățime si o lungime mai mare de 25 cm în timp
ce pentru înălțime nu sunt stabilite nici un fel de frontiere . [15]
Fig.2.4 Competiție de robotic ă micro -mouse
2.1.3 Clasificarea Roboților
Nevoia omenirii de a evolua , de a -si face o condiție mai buna de trai ,de a economisi
timp si efort fizic , cat si de a sporii siguranța in mediile de acțiune , a împins cercetarea si
dezvoltarea muncii cu ajutorul roboților si implicit al calculatorului spre majoritatea
domeniilor de lucru existente la ora actuala .
Astfel nevoia de a crea roboti pentru a facilita ușurința procesului de producție ,
explorare si îmbunătățirii vieții au fost create diferite tipuri de roboti care sa deservească cu
acuratețe domeniile in care vor acționa :
• Roboti mobili ;
• Roboti autonomi ;
• Roboti umanoizi ;
• Roboti industriali ;
13 • Roboti de servicii ;
• Roboti de jucărie ;
• Roboti pășitori ;
• Roboti militari ;
• Roboti medicali .
2.1.3.1 Schema bloc a unui robot
„ Sistemul este un ansamblu de elemente interconectate astfel încât performantele
ansamblului sunt superioare sumei performantelor individuale ale elementelor componente
(Fig 2.5) .
Părțile componente ale unui sistem robot sunt :
• Sistemul de comanda ;
• Sistemul de acționar e ;
• Sistemul mecanic ;
• Sistemul de percepție .
Fig.2.1 Sistemul robot [2]
Sistemul de acționare si cel de comanda reprezintă sistemul de conducere .
Sistemul mecanic in acțiune asupra mediului se definește ca fiind sistem condus .
Procesul robotizat este de altfel procesul condus .
Din prisma circuitului informațional , care se regăsește intr -un sistem robot , este
valabila schema din figura următoare .
14 Totalitatea echipamentului este organizat in jurul mașinii d e calcul centrale aflata in
dialog (prin intermediul conexiunii de interfață ) cu traductoarele , senzorii si circuitele de
acționare ale robotului (Fig 2.6)
Fig.2.2 Schema bloc informaționala pentru sistemul robot [2]
• Sistemul de acționare = sistem de acționare ;
• Sistemul de comanda = calculator ;
• Sistemul de percepție = traductoare si senzori .
2.1.3.2 Schema bloc a parții electrice a unui robot
In figura 2.7. este reprezentata o versiune ce reprezintă sistemul robot , fiind
reprezentate mai multe elemente din structura unui echipament de conducere cunoscut.
Fig.2.3 Schema bloc detaliat ă a unui sistem robot [2]
15 Elementul principal din schema informaționala din fig. 2.6 este denumit in sche ma din
Fig.2.7. calculator deoarece are toate funcțiile specifice unui calculator obișnuit de tip IBM
PC. Deși se aseamănă foarte mult cu un calculator convențional exista anumite elemente care
fac diferența fata de o structura clasica da calculator:
• Din când in când sistemul de conducere al robotului are mai multe mașini de
calcul;
• blocul calculator are in componenta sa si circuite ( de interfață) specifice
lucrărilor de robotica;
• sistem de ilustrare artificiala (care e o alta mașina de calcul externa dotata cu
camera de înregistrare video , fiind in stare sa culeagă informații din mediu, sa le
examineze , sa le priceapă si sa le transfere calculatorului central).
Calculatorul central ordonează unul sau mai multe microprocesoare / microcontrolere
care, la rândul lor, conduc sistemul de acționare.
Sistemul de acționare este compus din sisteme de conducere locale (S.C.L.)
concepute la nivelul fiecărei cuple cinematice conducătoare in jurul motoarelor de acționare.
S.C.L. -urile sunt concepute cu o arhitectura de sistem de reglare automata (S.R.A.).
In schema bloc din fig.1.6. , un S.C.L. (cu structura de S.R.A.) a fost
reprezentat prin grupurile:
• comanda elementul de acționare , elemente de acționare , interfață , traductor;
• elementul de acționare se compune din motor , frâne si transmisie.
Din ce in ce mai des se folosește termenul de actuator , care este legat de la verbul to
actuate , provenind din limba engleza. Traducerea in limba romana este :
a ajusta, a potrivi. Prin actuator, in funcție de loc ul in care este folosit cuvântul , se poate
înțelege drept motorul având in ansamblul sau cel puțin o parte din transmisie si/sau frâna.
Uneori prin utilizarea termenului de actuator reiese ca fiind inclusa si o parte electronica (de
comanda sau senzor).
Totalitatea acestor elemente funcționează in bucla închisa (exista conexiuni de
reacție inversa – de feed -back) si se formează intr -un S.R.A.
Fiecare cupla cinematica conducătoare este prevăzută cu cate un S.C.L . Schema din
fig. 1.7. ilustrează cu comp lexitate partea electrica a unui robot.
Sistemul de conducere al unui robot este prevăzut si echipat fizic cu dispozitive
electrice si electronice care, de obicei , sunt introduse intr -un dulap denumit dulap cu
echipamente electrice si electronice .
16 Exista si echipamentele electrice care nu se afla in acest dulap:
• motoarele de acționare si traductoarele sunt distribuite pe sistemul mecanic;
• senzorii sunt așezați in mediul de lucru al robotului;
• panoul de învățare se afla in exteriorul dulapulu i;
• panoul operator se afla pe ușa dulapului . ” [2]
Pentru un echipament de conducere al unui robot este specific panoul de învățare ,
pentru care in limbajul specific se folosesc mai multe nomenclaturi : modul de instruire,
panou de instruire , teaching pendant.
Cu ajutorul panoului de învățare prin intermediul operatorului uman , robotul poate fi
ghidat manual spre situările convenabile executării operațiilor tehnologice.
După ce robotul a fost deplasat manual , operatorul uman poate comanda
sedimentarea in memoria calculatorului a coordonatelor atinse de către elementele sistemului
mecanic, in puncte țintă .
Fig.2.4 Sistem robot industrial Panasonic HS220G3
Panoul de învățare este gândit astfel încât sa aibă o tast atura alfanumerica (litere si
cifre) si o expunere alfanumerica. Cel mai des întâlnit caz al panoului de învățare este dotat si
cu un joystick cu care se pot comanda gesticulările sistemului mecanic. (Fig 2.8)
17 Acest instrument este utilizat in faza de programare a robotului când operatorul
inițiază robotul in ceea ce are de făcut si întocmește programul consemnând instrucțiune după
instrucțiune.
Panoul operator este situat pe ușa dulapului si este alcătuit din butoane pentru
acționarea de comenzi si becuri de semnalizare. Exemple de butoane:
– ciuperca de avarie ;
– pornirea rețelei cu cheie ciuperca de avarie ;
– butoane pentru selectarea regimului manual / automat.
In dulap se afla ma șina de calcul centrala care dispune de un afișaj electronic , o
tastatura si unitate de disc. Daca robotul face parte din categoria celor mai evoluați, atunci el
are un calculator care este in stare sa lucreze cu noțiuni de inteligenta artificiala . Activ ează
cu programe elaborate la nivel task , fiind in stare sa își autogenereze programul direct ce
urmează sa fie executat.
Exemplu : un robot inteligent “percepe” o comanda de tipul “du-te si apuca șurubul”,
in timp ce unul mai puțin inteligent va realiza numai o succesiune de comenzi de tipul:
1. află unde se afla șurubul;
2. deplasează -te pana in dreptul șurubului;
3. apropie efectorul final de șurub;
4. condu efectorul final spre o locație optima pentru prehensarea șurubului;
5. prehensează șurubul.
Fig.2.5 Teaching Pendant Panasonic HS220G3
18
Pentru robotii ordinari calculatorul trebuie sa îndeplinească sarcina de modelare a
mediului si generare a traiectoriei (modelarea mediului se percepe ca fiind reprezentarea prin
ecuații matematice a acțiunilor si obiectelor din proces) (Fig 2.9).
Blocul generator de traiectorie emite semnale de conducere ( mărimi
de prescriere ): viteze, poziții , accelerații asupra sistemul de acționare.
Senzorii se afla in componenta sistemul de percepție si sunt poziționați in mediul in
care robotul lucrează .
Exemple : exista senzori de gabarit, de proximitate , de contact si forța sau moment ,
senzori optici , etc.
2.1.3.3 Sistemul de acționare
„ La nivelul tuturor cuplelor cinematice conducătoare este așezat cate un motor de
acționare. Motorul poate fi hidraulic , electric sau pneumatic.
Observație: in funcție de tipul de motoare cu care este dotat , robotului ii este
atribuita denumirea de robot acționat h idraulic, electric, pneumatic sau mixt.
Motorul produce mișcarea elementelor mecanice. Dinamica este propagata ( prin
blocul de transmisie ) la elementele cuplelor cinematice conducătoare .
Motorul este controlat de un circuit electronic si energia este primita de la o sursa de
alimentare.
Întregul ansamblu este alcătuit din motor si circuitele electronice care îl
controlează, reprezintă un sistem de conducere local (S.C.L.). In structura unui robot
numărul S.C.L. -urilor este corelat cu numărul cuplelo r cinematice conducătoare care trebuie
controlate.
S.C.L. -urile sunt construite cu o arhitectura de sistem de reglare automata (S.R.A).
Observație: S.R.A. este un sistem unde reglarea se face automat (fără intervenție din
exterior) pentru realizarea s copului final .
Sistemul de acționare este alcătuit din mai multe S.C.L. -uri in funcție de gradele de
mobilitate pe care sistemul mecanic cu pricina le are in componenta sa.
Observație: In fig. 1.7 a fost afișat un singur S.C.L. (S.R.A.) si s -a notat cu „6 x 6
” faptul ca in componenta ansamblului de acționare exista 6 tipuri de S.C.L. -uri fiindcă s -a
bănuit ca robotul are 6 axe.
Întregul S.C.L. este controlat de către un controler construit cu microcontroler sau
microprocesor. Acesta efectuează fu ncția de regulator:
19
1. Primește mărimea de prescriere (viteza, accelerație , poziție) de la generatorul
de traiectorie ;
2. Primește datele cu privire la mișcarea executata in timp real de elementele
mecanice, de la traductorul aferent;
3. măsoară eroarea dintre mărimea de prescriere si cea de reacție;
4. măsoară mărimea de comanda cu care se rectifica eroarea; calculul se
realizează cu o formula numita algoritm de reglare folosind valoarea curenta
a erorii ;
5. transmite mărimea de control , electronicii de putere si ulterior aceasta
motorului, pentru a fixa elementelor cuplelor cinematice conducătoare o
dinamica in sensul anularii erorii.
Observații:
1. cele cinci puncte specificate anterior se întemeiază in problema
conducerii nemijlocite a elementelor unei cuple cinematice conducătoare;
2. uneori in aceste cazuri intervine si blocul interpolator care produce puncte prescrise
suplimentar;
3. o parte din frâna electromecanica si transmisie se conside ra incluse in sistemul de
acționare. Astfel, prima (roata dințata si fata a unui ambreiaj ), fulia conducătoare a unei
curele , etc. După caz, se considera ca fac parte din sistemul de acționare .
Cea mai buna metoda pentru ca un robot sa poată sa fie con trolat ar fi utilizând
un regulator global care sa comande simultan toate mișcările de pe toate axele. Modul de
conducere prezentat anterior nu se implementează pentru moment deoarece:
a). traductoarele carteziene , fiind capabile sa urmărească dinamica pu nctului
caracteristic in spațiu sunt foarte scumpe la preciziile ce se cer de către aplicațiile din
robotică;
b). conexiunile dintre dinamica pe diferite axe se exprima prin ecuații complexe
(profund neliniare).
20 c). volumul de calcul e obligatoriu pentru efectuarea unei reglări globale este foarte
ridicat si nu se poate obține in timp real cu nici o mașina de calcul convenabila ca si cost la
momentul actual.
Date fiind motivele acestea , indiferent de modul in care se face comanda rob otului,
dinamica propriu -zisa a sistemului mecanic se comanda cu S.C.L. -uri dispuse la nivelul
tuturor cuplelor cinematice conducătoare. Este folosita metoda de conducere distribuita a
mișcărilor pe axe. Blocuri , de soiul celor S.C.L. , construite in mo d particular pentru
comanda unei singure axe mecanice , astăzi sunt foarte bine puse la punct. Acest tip de
sisteme cat si senzorii sau traductoarele aferente se fabrica la preturi accesibile. ” [2]
2.1.3.4 Funcții ale sistemului de conducere al unui robot
„Sistemul de comanda al unui robot a cărui schema bloc a fost prezentata in fig.1.7
trebuie sa efectueze următorul set de operații si calcule:
• calcule de cinematica in urma cărora se pot determina elementele unei traiectorii:
viteze , poziții, accelerații (cuvântul „determina” are in acest context rolul de a
afla si acestea impun );
• calcule de dinamica;
• interpretarea datelor primite de la t raductoare si senzori;
• calcule corespunzătoare constituirii interne in calculator a mediului înconjurător;
• calcule corespunzătoare controlării robotului , comandate de algoritmele de reglare,
unde se tine cont si de calculele de dinamica si cinematica;
• controlul sistemelor de acționare si efectuarea conducerii nemijlocite a elementelor
robotului;
• comunicarea cu operatorul uman , efectuata cu ajutorul unor echipamente adecvate
de tip : tastatura , display , unitate de disc ; si utilizând programe corespunzăt oare.
21 Operațiile si calculele enumerate anterior sunt realizate într -o ordine predefinita in
funcție de priorități, de condițiile unei aplicații bine definite. Pentru fiecare grup de calcule pot
exista mașini de calcul speciale sau blocuri specializate .
Grupele de calcule si comenzi specificate mai sus se pot delimita principial in trei
grupe complexe de sarcini atribuite sistemului de conducere al robotului.
A. MODELAREA MEDIULUI
B. SPECIFICAREA , GENERAREA SI CONTROLUL MISCARII
C. DIALOGUL CU OPERATORUL UMAN
A. Modelarea mediului
Reprezentarea cu ecuații matematice a spațiului de lucru, a elementelor brațului
robotului si completarea acestor scheme cu date oferite de către de senzori reprezintă
modelarea mediului.
Cu acest set de sarcini se face reprezentarea in ordine succesiva a etapelor procesului
tehnologic si se afla configurația dispozitivului de ghidare la nivelul fiecărei etapa de proces.
La robotii mai slab evoluați modelarea mediului se face prin învățare.
B. Specificarea, Generar ea si Controlul mișcării
Reprezintă setul principal de sarcini ale sistemului de conducere al robotului.
Scopul conducerii unui robot este de a face sistemul mecanic sa se miste unde si
cum pretinde procesul tehnologic si eventuale impuneri suplimentare.
Observație: efectorul final al robotului trebuie condus in locuri specifice cu o anumita
orientare .
Conducerea are in componenta sa o etapa de specificare a mișcărilor, începând cu
condițiile inițiale oferite, si o etapa de comanda si reglare a mișcărilor in vederea executării lor
corecte.
C. Dialogul cu operatorul uman
Acest act apare ca de la sine înțeleasa întrucât totalitatea comenzilor si operațiilor sunt
realizate de către sistemul de conducere se duc la bun sfârșit pe baz a unui dialog cu
operatorul uman.
22 Acest dialog se realizează prin intermediul dispozitivelor de tip hardware
corespunzătoare : display , tastatura , unitate de disc ; si se pun in funcțiune cu limbajul de
programare.
Modelarea mediului poate fi realizata p rin intermediul programelor de tip software foarte
bine gândite si dezvoltate precum : C , C++ , Pascal , etc. . ” [2]
2.2. Stadiul actual si realizările importante ale sistemelor robotice
Primii roboti mobili care au fost construiți au fost Elmer (1948) si Elsie (1949) din
figura 2.10 , de către neurofiziologul William Grey Walter (1910 -1977) . Robotii săi fiind
capabili sa evite obstacole cat si sa caute o sursa de lumina.
Fig.2.6 Robotul Elsie
De la construcția primilor roboti si pana in prezent nevoia omenirii de a evolua in
domeniul tehnologiei , de a -si ușura munca de zi cu zi cu ajutorul roboților .
Astfel trecând peste perioada războaielor in 1988 apare robotul humanoid Shadow
Walker (Fig 2.12) , principul sau de fun cționare bazându -se pe motoare pneumatice . [2]
23
Fig.2.7 Robotul P2 produs de Honda
Fig.2.8 Shadow Walker
Mai târziu in 1996 apare P2 (Fig 2.11) realizat de către cei de la Honda , primul robot
humanoid cu autocontrol . Acesta era capabil sa meargă pe cele doua picioare , având o înălțime
de 1,80 m si cântărind mai bine de 200 de kilograme , era capabil sa opereze independent ,
chiar sa urce sau sa coboare scările , folosind tehnologie wireless. [3]
In 2000 tot cei de la Honda sunt cei care fac pasul următor prin robotul ASIMO
(Advanced Step in Innovative Mobility ) , acesta este considerat urmașul seriei P (Fig 2.13) .
La început a avut o greutate de aproximativ 54 de kilograme si o înălțime de 120 cm , la
început , deoarece pe parcursul anilor ASIMO a suferit o serie de modificări (îmbunătățiri)
care au dus la forma sa finala in anul 2011 când „a mai slăbit” ajungând la 48 de kilograme ,
înălțând -se pana la 130 cm , fiind capabil sa meargă cu o viteza de 2.7 km/h , iar la alergare
24 sa ajungă chiar si la viteze de 9 km/h , daca in 2000 avea 26 de grade de libertate in 2011 a
reușit sa ajungă la un număr semnificativ mai ma re si anume 57. De asemenea daca in 2000
autonomia sa era de doar 30 de minute , in 2011 putea sa funcționeze pana la o ora dublând -si
astfel autonomia . Totodată ultima versiune a lui ASIMO era capabil sa comunice „verbal”
cunoscând Engleza si Japoneza. [4]
Fig.2.9 Robotul ASIMO in anul 2011
Cu toate ca Boston Dynamics a fost înființat in 1992 aceștia au devenit cunoscuți in
universul roboticii de abia in 2005 prin robotul Big Dog . Acesta a fost realizat la cererea
Guvernului Statelor Unite ale Americii prin intermediul DARPA (Defense Advanced
Research Projects Agency) Big Dog era un robot de tip patruped conceput astfel încât sa ajute
militarii aflați pe front in medii in care terenul era prea dificil pentru a utiliza un autov ehicul ,
la modul in care Big Dog era capabil sa care greutăți de pana la 150 de kilograme , având o
viteza de 1.8 m/s , proiectul însă a fost abandonat pe motiv ca robotul făcea o gălăgie mult
prea mare si astfel era ușor de detectat pentru inamici . Cerc etările lor in mediul roboticii
continua si reușesc sa creeze roboti extraordinari , inclusiv in prezent . [5]
25 In Februarie 2018 , moment in care compania este sub întreținerea Google X , aceștia,
Boston Dynamics reușesc sa ajungă extrem de virali pe intern et in urma lansării unui
videoclip de promovare pentru robotul SpotMini (Fig 2.14) . [6]
Fig.2.10 SpotMini
SpotMini este tot un robot de tip patruped , care cântărește doar 25 de kilograme ,iar
daca ii este atașat si brațul robotic ajunge la 30 de kilograme , are o autonomie de pana la 90
de minute la o singura încărcare .
Conform celor de la Boston Dynamics SpotMini este unul dintre cei mai silențioși
roboti care au fost construiți vreodată , datorita motoarelor sale electri ce , este „inundat” de
senzori , având si un giroscop , totodată la nivelul membrelor exista senzori de proprioceptie (
am putea spune un al 6 -lea simt , proprioceptorul este o formațiune nervoasa , un receptor
care este capabil sa recepționeze cat si sa transmită stimuli primiți de la tendoane , mușchi ,
alte organe in legătura cu procesul de locomoție ) . [7]
Cu toate acestea robotul care a stârnit cele mai multe controverse la nivel global se
numește Sophia care este un robot de tip humanoid creat de căt re cei de la Hanson Robotics ,
Hong Kong (Fig 2.15) . Sophia a fost creat ă cu scopul de a învăța și a se adapta
comportamentului uman. Fiind dotat ă cu o inteligen ță artificial ă extrem de complex ă , chiar
ea a relatat faptul c ă a fost activata la data de 19 aprilie 2015 însă potrivit unei postări pe site –
ul de socializare Instauram ,al Sophiei , aceasta spune c ă a împlinit 2 ani la data de 2 februarie
2018 ,iar mai târziu la data de 25 septembrie 2017 , aceasta a devenit primul r obot din lume
26 care dobândește cetățenia unui stat și anume al Arabiei Saudite , fapt care stârnește o serie
lungă de controverse care in opinia unor critici ar reprezenta o încălcare a drepturilor omului
în Arabia Saudita . [8]
Fig.2.11 Robotul Sophia [9]
2.3 Robotul mobil cu capabilitate de navigare autonomă în structuri complexe de tip
labirint – Maze Solve r
Bazându -ne pe informațiile cumulate pana in acest moment si gama larga de elemente
care este pusa la dispoziție in domeniul roboticii mobile am ales o alt ă forma constructiva
pentru „ a da via ță ” unui nou robot cu capabilitate autonom ă în structuri complexe de tip
labirint (Fig 2.16).
Problema rezolvării labirintului este veche de aproximativ 40 de ani . Cu toate
acestea, este o componenta important ă a câmpului roboticii . Este bazat ă pe una dintre cele
mai importante arealuri ale roboticii și anume „ Decision Making Algorithm” (Algoritmul de
luare a deciziilor ) . Robotul va fi plasat intr -un mediu n ecunoscut pentru acesta , și va trebui
sa aibă o capabilitate bun ă în luarea deciziilor . Dezvoltarea algoritmilor micro -mouse -ului (sa
îmbunătățit treptat, pornind de la un robot de baza urmărind peretele pana la nivelul de „Flood
Fill Algorithm”(Algoritm de Umplere).Primele concepte de robo ți micro -mouse aveau forme
27 fizice uriașe si conțineau multe blocuri de porți logice . Datorit ă avansului tehnologic , forma
fizică a noilor generații de micro -mouse a devenit mult mai mic ă decât înainte.
Fig.2.16 Roboți mobili autonomi de tip labirint la începutul anilor 70`
28 3. STRUCTURA APLICAȚIEI
3.1 Ansamblul robot – Hardware
Componenta robotului se constituie din următoarele componente :
➢ Sașiu ;
➢ Suport senzori ;
➢ 2 x Suport prindere motor ;
➢ 2 x Roat ă cu anvelop ă din silicon turnat ;
➢ 1 x Roată omnidirecțională
➢ 2 x Micro Motor cu Reductor si Encoder ;
➢ 1 x Senzor de distant ă ultasonic ;
➢ 1 x Modul Bluetooth ;
➢ 1 x Suport baterii ;
➢ 1 x Modul Line -Follower ;
➢ Placa de dezvoltare Arduino mCore ;
➢ Modul cu Driver de Motoarea Dual L298N ;
➢ Alte elemente constructive :
o cablaj ;
o șuruburi ;
o piulițe ;
o distanțiere ;
o întrerupător ;
o mufe;
3.1.1 Sistem de acționare
Sistemul de acționare robot reprezintă ansamblul de elemente ce pun in mișcare
(producerea de energie mecanica obligatorie pentru deplasarea robotului) , acesta cuprinde
toate sursele de energie ale robotului . În general sunt folosite 3 surse principale d e energie :
hidraulic ă, electric ă si pneumatic ă.
29 3.1.1.1 Motoare
Makeblock TT Geared Motor DC 6V / 200RPM – motor TT cu șuruburi , se potrivește
perfect cu tamburul de distribuție din plastic 62T și cu tamburul de distribuție din material
plastic 90T pentru sistemul roților de articole DIY (Fig 3.1)
Caracteristici:
• Sprijin pentru transferul pozitiv și negativ.
• Acuratețea înaltă în controlul debitului.
• Se utilizează tubul de silicon D (1,5 -4) mm * 0,5 m pentru protecție
• Structura simplă și întreținerea redusă. [16]
Fig.3. 1 Fișa tehnică a motorului
30
Fig. 3. 2 Micro motor
Acest tip de motoare folosesc encodere care se mai numesc si traductoare de poziție
rotative , sunt capabile sa măsoare viteza de rotație , poziția , sensul , unghiul si lungimea
(Fig 3.2) . Modul lor de acționare se manifesta prin conversia mișcării mecani ce in semnale
electrice . In tehnica se găsesc encodere de doua feluri : incrementale si absolute (Fig 3.3)
Fig.3. 3 Diagrama unui Encoder
31
3.1.1.2 Roți
Pentru roți am ales ca material, plastic ABS 90T din motive de fiabilitate și costuri (Fig 3.4)
Fig.3. 4 Roată din plastic ABS(dreapta) și anvelopă din cauciuc(stânga)
ABS -ul este un tip de plastic rezistent la temperaturi și stres fizic îndeajuns încât să nu
creeze probleme ulterioare. De asemenea, greutatea acestuia este una scazută, ușurând rolul
rezistența exercitată asupra motoarelor (Fig 3.5) .
Fig. 3. 5 Roata impreună cu anvelopa
32
Materialul din care este facută anvelopa care se pune peste miezul din plastic al roții
este un tip de cauciuc(polimeri elastici din gumă) moale, special confecționat pentru a oferi
cât mai multă aderentă .(Fig 3.6)
Fig.3. 6 Imagine ansamblu motor -roată
3.1.2 Sisteme de comandă
Sistemul de comand ă al unui robot se refer ă la totalitatea elementelor care fac posibil ă
comandarea robotului precum , PCB -uri cu microcontrolere , senzori , traductoare , drivere de
motoare și alte componente care fac realizabil ă dinamica robotulu i.
33 3.1.2.1 Placa de dezvoltare mCore
Fig.3. 7 Placa de dezvoltare mCore [17]
Placa de dezvoltare mCore din figura 3.7 este bazată pe o placă de dezvoltare Arduino
Uno și este creierul acestui proiect. Codul sursă care face posibil tot de la acționarea
motoarelor si până la rezolvarea labirintului este stocat in microprocesorul plăcii care m ai
apoi coordonează mai departe toate procesele, miscările, calculele, etc. robotului.
Alegerea plăcii mBot a fost influențată de anexele aflate deja onboard, precum ar fi
buzzer, LED RGB, senzor de lumină, mufe USB Type B, etc. lucru care a ajutat la
construirea robotului prin renunțarea la a cositori fire si alți diferiți senzori pe placă (Fig. 3.8).
34
Specificații mCore
Fig.3.8 Schema electri a plăcii mCore
Voltaj Operare 3.7-6V DC
Microcontroller ATmega328
Dimensiuni 90 x 79 x 18mm (3.54 x 3.11 x 0.71inch)
Dimensiuni carcasă 110 x 150 x 10 mm (4.33 x 5.91 x 0.39 inch)
Greutate netă 43g (1.52oz)
35 3.1.2.2 Modul de conectare Bluetooth
Fig.3. 9 Modul de conectare Bluetooth[18]
Modulul Bluetooth (Fig 3.9) permite o mai ușoară interacțiune cu robotul prin
intermediul plăcii mCore. Conectarea la robot se poate face wireless cu ajutorul acestui
modul, de pe orice calculator sau telefon cu sistem de operare Android sau iOS (Fig.3.10)
Specificații
• Voltaj operar e: 5V DC power;
• Versiune : Compatibil Bluetooth 2.0 și 4.0;
• Voltajul nivelului de iesire: 5V/high, 0V/low;
Dimensiuni : 30mm*20mm*14mm (L ungime x Lățime x Înălțime )
36
Fig 3. 10 Modulul Bluetooth instalat pe placa mCore
3.1.2.3 Modul Line Follower IR
Fig.3.1 1 Modul Line -Follower IR[19]
Modulul din figura 3.11 prezint ă un potențiometru cu ajutorul căruia se poate măsura aria de
detectare. Nivelul Pin -ului “Mode” este folosit pentru a selecta modul de operare. Acest
modul este folosit pentru a ajuta robotul în ghidarea pe un anumit traseu prestabilit sau, în
cazul acesta, pentru a -și menține poziția pe mijlocul culoarului. Conectarea cu placa este
prezentată in figura 3.12. Schema electrică a acestuia se poate observa în figura 3.13.
37 Specificații tehnice
● Voltaj Operare : 5V DC
● Raza detectare : 1~2cm
● Unghi detectare : 120°
● Tip de Control : Double -digital
● Dimensiuni : 51 x 24 x 21mm
Fig.3.12 Conectarea senzorului line -follower la mCore
Fig.3.13 Schema electrică a senzorului line -follower
38 3.1.2.4 Senzorul ultrasonic de proximitate
Este un modul care măsoară distanța de la 3cm la 400cm (Fig 3.14) . Modulul este
folosit pentru a ajuta robotul să evite diferitele obstacole ce pot apărea în calea sa sau pentru
diferitele activități de măsurare a distanței. Conectarea modulului la placă este prezentată în
figura 3.15. În figura 3.16 se poate observa schema electrică a senzorului.
Specificații tehnice:
● Voltaj de operare : 5V DC
● Unghi de măsurar e: 30 degree
● Raza de măsurare : 3-400cm (with error less than 1cm)
● Dimensiuni: 56 x 36 x 31 mm
Fig. 3.1 4 Senzor de proximitate ultrasonic
39
Fig.3.15 Conectarea senzorului de proximitate la mCore
Fig.3.16 Schema electrică a senzorului ultrasonic de proximitate
40 3.1.3 Alimentare
Alimentarea acestui robot se face foarte simplu prin folosirea unui acumulator LiPo
Turnigy Bolt . LiPo vine de la „lithium polymer” , în traducere polimer de litiu , și oferă o
energie semnificativ mai mare decât a altor baterii clasice , unul din avantaje ar fi capacitatea
mai mare comparativ cu baterii de dimensiuni apropiate .
Bateria folosit ă in acest proiect LiPo Turnigy Bolt (Fig 3.17) oferă o tensiune de
încărcare mai m are decât la LiPo -urilor standard . Capacitatea bateriei este de 500mAh , este
format ă din 2 celule cu o tensiune de 7.4 V , o greutate de 33 g și o rat ă de descărcare de 65C
.
Fig.3.1 7 Acumulator LiPo Turnigy Bolt , 500mAh
3.2 Construcția robotului
În acest subcapitol va fi prezentat, prin intermediul ilustrațiilor, modul în care a fost asamblat
robotul , începând de la alezajele realizate la nivelul suportului de senzori si a celorlaltor
componente ale robotului. Pașii construcției sunt prezentați în figurile 3.18 – 3.27.
41
Fig. 3.1 8 Alegerea șasiului pentru robot
Fig.3.1 9 Montarea motoarelor – 1
42
Fig.3. 20 Montarea motoarelor – 2
Fig.3. 21 Montarea roților
43
Fig.3.2 2 Alegerea și montarea roții unisens
Fig.3.2 3 Montarea senzorului Line -Follower pe aceeasi suporți cu roata unisens.
44
Fig.3.2 4 Montarea senzorului ultrasonic de proximitate
Fig.3.2 5 Stabilirea traseului cablurilor
45
Fig.3.2 6 Montarea suportului pentru baterii de tip AAA
Fig.3.2 7 Montarea placii mCore – forma finală a robotului
46 3.3 Ansamblul robot – Software
3.3.1 Algoritmi de rezolvare
Algoritmii reprezintă metoda sau procedura de calcul , format ă din pașii obligatorii si
necesari pentru soluționarea unei probleme . P ână în prezent pentru r ezolvarea problemei
labirintului au fost dezvoltați doar doi algoritmi de rezolvare și anume:
1. Metoda urmăririi peretelui;
2. Metoda umplerii;
3.3.1.1 Metoda urmăririi peretelui
Aceast ă metod ă este cea mai comun ă pentru algoritmul de rezolvare al labirintului ,
robotul va menține direcția urmărind ori peretele st âng ori cel drept . Acest algoritm de
asemenea mai poarta și denumirea de „regula mâinii stângi – regula mâinii drepte ” . Mereu în
momentul în care robotu l ajunge într -o intersecție va simți unde sunt deschiși pereții și își va
selecta direcția în funcție de regula folosit ă , ori stânga ori la dreapta . Luând pereții drept
ghid, aceasta strategie este capabil ă să facă robotul s ă ajungă la finalul labirintul ui dar fără sa
îl fi rezolvat . Aceast ă metod ă nu este eficient ă in rezolvarea unui labirint deoarece algoritmul
urmăritor de pereți va eșua in unele cazuri de contracție ale labirinturilor , unele construcții de
labirint pot avea secțiuni in care daca este folosit acest algoritm robotul intra într -o bucl ă
închisa .
47 Regula urmăririi peretelui drept Regula urmăririi peretelui stâng
Daca nu exista nici un perete la dreapta Daca nu exista nici un perete la stânga
Întoarce la dreapta Întoarce la stânga
Sau Sau
Daca nu exista nici un perete înainte Daca nu exista nici un perete înainte
Menține direcția înainte Menține direcția înainte
Sau Sau
Daca nu exista nici un perete la stânga Daca nu exista nici un perete la dreapta
Întoarce la stânga Întoarce la dreapta
Sau Sau
Întoarce -te Întoarce -te
3.3.1.2 Metoda umplerii
Metoda umplerii (Fig. 3.28) este considerat ă drept cel mai eficient algoritm în
rezolvarea unui labirint . Algoritmul acestei metode este derivat de la „Algoritmul lui
Bellman Ford” . Acest algoritm funcționează atribuind fiecărei celule a labirintului o valoare ,
unde aceste valori indic ă pașii de la orice alta celula la celula destinație . Prima aranjare tine
minte valorile hărții pereților în timp ce cea de a doua înmagazinează valorile distan țelor.
Fig.3. 28 Metoda umplerii cu aranja re unidimensională
48 În fiecare celul ă a labirintului robotul va fi nevoit sa urmeze următorii pași :
• Să actualizeze harta pereților;
• Să umple labirintul cu valori noi ale distantelor ;
• Să decid ă care din celulele învecinate are cea mai mica valoare a
distanței;
Să se deplaseze spre celula învecinată cu cea mai mic ă valoare a distanței .
3.3.2 Platforma mBlock
Platforma mBlock (Fig 3.29) a fost unul dintre motivele alegerii folosirii plăcii de
dezvoltare mCore datorită interfeței acesteia. mBlock este o platformă de programare bazată
pe Scratch 2.0 care beneficiază de o interfață de programare extrem de ușor de folosit, chiar si
de către cei mai noi în domeniul programării / software.
Metoda de programare / codare a robotului se face astfel printr -o interfață de tipul
„drag and drop”, prezintă blocuri funcționale cu parametrii ce pot fi modificați conform
obiectivului facilitând astfel p rocesul de alcătuire al codului sursă. In figura 3.16 se poate
observa platforma mBlock pe un sistem de operare Windows, pe pagina de start, de pe care se
poate incepe programarea robotului.
Fig. 3. 29 Interfața platformei mBlock
49 4. ANALIZA DE COSTURI
Costul total al acestui robot se ridic ă la 390 RON . Este un preț mic pentru realizarea
unui robot . Robotii mobili necesit ă un șasiu pentru a asambla tot echipamentul. Folosirea
unui șașiu disponibil pe piață cat si a celorlalte elemente componente precum suportul
senzorilor , suportul motoarelor si rotile inseamnă o creștere semnificativ a costul de producție
al acestui robot , în lipsa unei imprimante 3D .
Cu toate ca exista pe piaț ă o sumedenie de plăcu țe care sunt copie fidela a Arduino
Uno R3 la un preț cu pana la 80% mai redus am ales sa folosesc placa de dezvoltare mCore
din cauza motivelor menționate mai sus.
Nr.
crt. Piesele necesare construirii robotului Preț
(RON) Cantitate Total (RON)
1 Șasiu
80 1
80 2 Suport senzori 1
3 Roti 2
4 Motor DC cu Encoder 52 2 104
5 mCore 70 1 70
6 Senzor de proximitate ultrasonic 35 1 35
7 Senzor Line -Follower 35 1 35
8 Bateria LiPo Turnigy Bolt 55 1 55
9 Șurub + piuliță M3 x 10 3 1 3
10 Șurub + piuliță M2 x 10 8 1 8
SUB TOTAL : 390 RON
50 5. CONCLUZII
Ca si concluzii cele 2 metode , algoritmul urmăririi peretelui si algoritmul umplerii,
au fost implementate cu succes pe robot și obiectivul acestui proiect a fost atins. Primul
algoritm folosit, cel al urmăririi peretelui, este o metodă clasică și poate genera un rezultat
bun în rezolvarea labirintului dar, în lipsa de inteligență proprie a eșuat sa rezolve labirintul în
cea mai rapidă variantă și nu a fost capabil sa rezolve o lupă închisa într -un labirint cu o
asemenea structură. Deci metoda folosită și de asemenea eficientă in rezolvarea labirintului ,
găsind cel mai rapid drum este metoda algoritmului umplerii .
În ceea ce priveste concluzia asupra întregului proiect, pornind de la câteva module
electronice, cateva piese metalice si ambiție, s -a alcătuit un robot inteligent cel puțin
impresionant. Modelul este flexibil din punctul de vedere al programării, putând fi programat
sa execute diferite sarcini ajutat de modulele electronice instalate prin simpla reprogramare in
mBlock, dar și din punct de ve dere al pieselor/modulelor instalate. „Orice lucru poate fi
îmbunătățit” – la modelul creat, se pot adăuga diferite alte module electronice, piese metalice,
servo -motoare, senzori, etc. Toate acestea în funcție de scopul robotului sau obiectivele
vizate .
Ca si contribuție personală, am cercetat modelele de roboți creați înainte de alte
persoane, am încercat și reușit îmbunătațirea procesului de rezolvare al labirintului în ceea ce
privește atât partea software cât și cea hardware. Am reușit sa contruiesc o macheta de 150cm
X 150cm, un labirint 3D din care robotul a reușit sa iasă exact cum am dorit. Ca și viitoare
îmbunătățiri, se pot considera unele motoare mai puternice și mai precise, senzori cu o
calibrare mai exactă, acumulatori mai puternici, etc.
O astfel de platformă este avantajoasă tocmai din acest motiv, nu există o limitare a
potențialului unui astfel de robot. În ceea ce privește inteligența artificială, in fiecare zi apar
noi tehnologii și noi aparate care sunt menite să ușureze viața omului , însă rămâne intrebarea:
„Este acest lucru ceea ce ne dorim cu adevărat? ”. Bineînțeles, omul a căutat mereu mijloace
sa își ușureze munca, pornind de la inventarea roții și până la ultimele tehnologii din toate
domeniile, însă am ajuns in acel punct al e voluției unde ne întrebăm dacă ne dorim atât de
mult sa ne ușurăm munca încât riscăm sa ne lăsăm înlocuiți de roboți.
51 BIBLIOGRAFIE
[1] http://www.catia.ro/articole/ai/ai.html – „Inteligenta artific iala” -Un material scris de Ionut
Ghionea – Iunie 2018;
[2] https://en.wikipedia.org/wiki/William_Grey_Walter , – Data accesării – Iunie 2018;
[3] http://www.shadow.org.uk/projects/biped.shtml – Data accesării – Iunie 2018;
[4] http://www.robotsvoice.com/honda -p2-and-p3/ – Data acc esării – Iunie 2018;
[5] https://en.wikipedia.org/wiki/ASIMO – Data accesării – Iunie 2018;
[6] https://en.wikipedia.org/wiki/Boston_Dynamics – Data accesării – Iunie 2018;
[7] https://www.bostondynamics.com/spot -mini – Data accesării – Iunie 2018;
[8] https://ro.wikipedia.org/wiki/Sophia_(robot) – Data accesării – Iunie 2018;
[9] https://www.instagram.com/p/BeRKqf7gmnz/?taken -by=realsophiarobotu – Data
accesării – Iunie 2 018;
[10] http://www.oxforddictionaries.com/view/entry/m_en_gb0714530#m_en_gb0714530 –
Oxford English Dictionary ș
[11] EUROP Strat1egic Research Agenda, Iulie 2009;
[12] Ake Lindqvist “Robotics industry is back on track”, IFR, Ianuarie 2011;
[13] IFR: Surging demand for industrial robots in 2010;
[14] https://www.ttonline.ro/revista/roboti/robotica -prezent -si-perspective -economice -si-
tehnico -stiintifice – Data accesării – Iunie 2018;
[15] https://en.wikipedia.org/wiki/Micromouse – Data ac cesării – Iunie 2018;
[16] http://learn.makeblock.com/en/tt -geared -motor -dc-6v-200rpm/ – Data accesării – Iunie
2018;
[17] http://learn.makeblock.com/en/mcore/ – Data accesării – Iunie 2018;
[18] http://learn.makeblock.com/en/bluetooth -moduledual -mode/ – Data accesării – Iunie
2018;
52 [19] http://learn.makeblock.com/en/me -line-follower/ – Data accesării – Iunie 2018;
[20] http://learn.makeblock.com/en/me -ultrasonic -sensor/ – Data accesării – Iunie 2018 ;
53 ANEXE
Anexa 1 – Codul sursă
#include <Arduino.h>
#include <Wire.h>
#include <SoftwareSerial.h>
#include <MeMCore.h>
MeDCMotor motor_9(9);
MeDCMotor motor_10(10);
void move(int direction, int speed)
{
int leftSpeed = 0;
int rightSpeed = 0;
if(direction == 1){
leftSpeed = speed;
rightSpeed = speed;
}else if(direction == 2){
leftSpeed = -speed;
rightSpeed = -speed;
}else if(direction == 3){
leftSpeed = -speed;
rightSpeed = speed;
}else if(direction == 4){
leftSpeed = speed;
rightSpeed = -speed;
}
motor_9.run((9)==M1? -(leftSpeed):( leftSpeed));
motor_10.run((10)==M1? -(rightSpeed):(rightSpeed));
}
double angle_rad = PI/180.0;
double angle_deg = 180.0/PI;
void detectWall();
double WallDetected;
double DistToWall;
double RoomSize;
MeUltrasonicSensor ultrasonic_3(3);
void turnRight ();
double Speed;
MeLineFollower linefollower_2(2);
void nudgeRight();
void nudgeLeft();
void turnLeft();
void Initialize();
double CmPerSecond;
void stopMovement();
void moveForward(double distance);
double Duration;
54 double currentTime = 0;
double lastTim e = 0;
double getLastTime(){
return currentTime = millis()/1000.0 – lastTime;
}
void detectWall()
{
WallDetected = 0;
_delay(0.2);
DistToWall = ultrasonic_3.distanceCm();
Duration += 0.2;
if((DistToWall) < (RoomSize)){
WallDetected = 1;
}
}
void turnRight()
{
move(4,Speed);
_delay(0.25);
while (!(((linefollower_2.readSensors())==(0))))
{
_loop();
move(4,Speed);
}
stopMovement();
}
void nudgeRight()
{
move(4,(Speed) * (0.8));
_delay(0.02);
Duration += 0.02;
move(1,Speed);
}
void nudgeLeft()
{
move(3,(Speed) * (0.8));
_delay(0.02);
Duration += 0.02;
move(1,Speed);
}
void turnLeft()
{
move(3,Speed);
_delay(0.25);
while (!(((linefol lower_2.readSensors())==(0))))
55 {
_loop();
move(3,Speed);
}
stopMovement();
}
void Initialize()
{
RoomSize = 27.94;
CmPerSecond = 12.5;
Speed = 70;
}
void stopMovement()
{
move(1,0);
}
void moveForward(double distance)
{
lastTime = millis()/1000.0;
Duration = (distance) / (CmPerSecond);
move(1,Speed);
while (!((getLastTime()) > (Duration)))
{
_loop();
if(((linefollower_2.readSensors())==(1))){
nudgeLeft();
}
if(((linefollower_2.readSensors())==(2))){
nudgeRight();
}
move(1,Speed);
}
stopMovement();
}
void setup (){
Initialize();
pinMode(A7,INPUT);
while (!((0^(analogRead(A7)>10?0:1))))
{
_loop();
}
while (!(((linefollower_2.readSensors())==(3))))
{
_loop();
turnLeft();
detectWall();
56 if(((WallDetected)==(1))){
turnRight();
detectWall();
if(((WallDetected)==( 1))){
turnRight();
detectWall();
if(((WallDetected)==(1))){
turnRight();
detectWall();
}else{
moveForward(RoomSize);
}
}else{
moveForward(RoomSize);
}
}else{
moveForward(RoomSize);
}
}
}
void loop(){
_loop();
}
void _delay(float seconds){
long endTime = millis() + seconds * 1000;
while (millis() < endTime)_ loop();
}
void _loop(){
}
DECLARAȚIE DE AUTENTICITATE
A
LUCRĂRII DE FINALIZARE A STUDIILOR
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Licenta Ap V1.3 [604565] (ID: 604565)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
