Proiectarea și realizarea unui robot mobil cu capabilitate de navigare automată in structuri complexe de tip labirint [302070]
UNIVERSITATEA DIN ORADEA
FACULTATEA DE INGINERIE MANAGERIALA SI TEHNOLOGICA
DOMENIUL MECATRONICA SI ROBOTICA
PROGRAMUL DE STUDIU ROBOTICA
PROIECTAREA SI REALIZAREA UNUI ROBOT MOBIL
CU CAPABILITATE DE NAVIGARE AUTOMATA
IN STRUCTURI COMPLEXE DE TIP LABIRINT
CONDUCATOR STIINTIFIC :
S.l.dr.ing. MOLDOVAN OVIDIU
ABSOLVENT: [anonimizat]
2018
Lista figurilor
Fig.1. 1 Mecatronica – 4 –
Fig.1. 2 Ilustrație din piesa de teatru RUR – 5 –
Fig.1. 3 Coperta RUR – 6 –
Fig.1. 4 Nanorobot medical – 7 –
Fig.1. 5 Sistemul robot [2] – 10 –
Fig.1. 6 Schema bloc informaționala pentru sistemul robot [2] – 10 –
Fig.1. 7 Schema bloc detaliata a unui sistem robot [2] – 11 –
Fig.1. 8 Sistem robot industrial Panasonic HS220G3 – 13 –
Fig.1. 9 Teaching Pendant Panasonic HS220G3 – 14 –
Fig.1. 10 Robotul Elsie – 19 –
Fig.1. 11 Robotul P2 produs de Honda – 20 –
Fig.1. 12 Shadow Walker – 20 –
Fig.1. 13 Robotul ASIMO in anul 2011 – 21 –
Fig.1. 14 SpotMini – 22 –
Fig.1. 15 Robotul Sophia – 23 –
1.INTRODUCERE
1.1 Mecatronica si Robotica
1.1.1 Mecatronica
Termenul "mecatronică" a fost asociat pentru prima dată în anul 1975 [anonimizat] o prescurtare a [anonimizat]-Informatică. [1]
[anonimizat] a fost înțeleasă ca o completare a [anonimizat].
De-a [anonimizat]-a schimbat sensul și și-a extins suprafața semnificativa : mecatronica a [anonimizat], informaticii si electrotehnicii . [anonimizat].
Totuși, mecatronica nu este același lucru cu automatizarea producției sau cu automatica . [anonimizat]. Mecatronica poate fi definită ca o concepție inovatoare a tehnicii de automatizare pentru necesitățile ingineriei și educației.
Mecatronica a fost creata pentru a deservi drept tehnologie și a devenit filosofie care s-a răspândit în întreaga lume. [anonimizat]: știința mașinilor inteligente. [1]
[anonimizat], că mecatronica este o sferă interdisciplinară a [anonimizat]. Totuși, [anonimizat], cum ar fi: electrotehnica, energetica, [anonimizat], tehnica reglării și altele.
1.1.2 Robotica
1.1.2.1 [anonimizat]. [anonimizat].
[anonimizat] s-a [anonimizat] a unor spatii pentru locuit. Tendința de a [anonimizat] a spori rezultatele muncii chiar de a pune la lucru mașinării a [anonimizat] , [anonimizat]. 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 gata 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 operatorii 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 prezent 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 artificiala 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).
Fig.1. 2 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 miniaturiză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 denumirea 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 de robot in celebra piesa RUR „ Robotii universali ai lui Rossum” („Rossumovi Univerzální Roboti” ), lansata in anul 1921.
Fig.1. 3 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. 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 .
Fig.1. 4 Nanorobot medical
Perioada interbelica a trecut , tehnologia 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 nanometrice , 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 ridicata 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 mecanice 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 autovehiculele , la care 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ări 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 temperaturii 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 .
1.1.2.2 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 ;
Roboti de servicii ;
Roboti de jucărie ;
Roboti pășitori ;
Roboti militari ;
Roboti medicali .
1.1.2.3 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 . Părțile componente ale unui sistem robot sunt :
Sistemul de comanda ;
Sistemul de acționare ;
Sistemul mecanic ;
Sistemul de percepție .
Fig.1. 5 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 .
Totalitatea echipamentului este organizat in jurul mașinii de calcul centrale aflata in dialog (prin intermediul conexiunii de interfață ) cu traductoarele , senzorii si circuitele de acționare ale robotului .
Fig.1. 6 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 .
1.1.2.4 Schema bloc a parții electrice a unui robot
In figura 1.7. este reprezentata o versiune ce reprezintă sistemul robot , fiind reprezentate mai multe elemente din structura unui echipament de conducere cunoscut.
Elementul principal din schema informaționala din fig.1.5. este denumit in schema din fig.1.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 locul 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 complexitate 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.
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 dulapului;
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.1. 8 Sistem robot industrial Panasonic HS220G3
Panoul de învățare este gândit astfel încât sa aibă o tastatura 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.
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 . Activează 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.1. 9 Teaching Pendant Panasonic HS220G3
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).
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.
1.1.2.5 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 hidraulic, 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 cuplelor 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 scopului 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ă funcția de regulator:
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 considera 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 controlat 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 punctului 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).
c). volumul de calcule 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 robotului, 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 mod 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]
1.1.2.6 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 traductoare 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ătoare.
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.
MODELAREA MEDIULUI
SPECIFICAREA , GENERAREA SI CONTROLUL MISCARII
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, Generarea 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 miște 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 baza unui dialog cu operatorul uman.
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 prin intermediul programelor de tip software foarte bine gândite si dezvoltate precum : C , C++ , Pascal , etc. . ” [2]
1.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) , 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.1. 10 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 , principul sau de funcționare bazându-se pe motoare pneumatice . [3]
Mai târziu in 1996 apare P2 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. [4]
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 .
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 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 mare 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. [5]
Fig.1. 13 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 autovehicul , 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 . Cercetările lor in mediul roboticii continua si reușesc sa creeze roboti extraordinari , inclusiv in prezent .
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 internet in urma lansării unui videoclip de promovare pentru robotul SpotMini. [6]
Fig.1. 14 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 electrice , 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ătre cei de la Hanson Robotics , Hong Kong . Sophia a fost creata cu scopul de a învăța si a se adapta comportamentului uman. Fiind dotata cu o inteligenta artificiala extrem de complexa , chiar ea a relatat faptul ca a fost activata la data de 19 aprilie 2015 însă potrivit unei postări pe site-ul de socializare Instauram ,al Sophiei aceasta spune ca a împlinit 2 ani la data de 2 februarie 2018 ,iar mai târziu la data de 25 septembrie 2017 , aceasta a devenit primul robot din lume care dobândește cetățenia unui stat si anume al Arabiei Saudite , fapt care stârnește o serie lunga de controverse care in opinia unor critici ar reprezenta o încălcare a drepturilor omului in Arabia Saudita . [8][9]
Fig.1. 15 Robotul Sophia
2.APLICABILIATATE
2.1. Aplicații ale sistemelor robotice
In mod uzual robotii , fie ei comandați de la distanta sau nu , au fost creați pentru a fi plasați in medii periculoase pentru om , precum mediile cu temperaturi extrem de ridicate , mediile unde se afla radiații , mediile toxice , etc.
Un exemplu foarte bun poate fi reprezentat prin robotii celor de la N.A.S.A. (National Aeronautics and Space Administration) aceștia trimit diverși roboti pe alte planete pentru a culege si intercepta date despre tot ce „mișcă” pe suprafața planetelor .
Fig.2.1 Vehiculul spațial Spirit
„Mediile industriale, spre deosebire de altele (extraterestre, subacvatice, urbane, agricole, forestiere etc.), au caracteristici specifice care au determinat folosirea unor structuri dedicate ale roboților industriali ficși și, în ultimul timp, induc personalizări specifice privind dezvoltarea și implementarea roboților mobili universali ca roboți mobili industriali. Printre caracteristicile și cerințele specifice ale mediilor industriale legate de implementarea roboților, în special, a celor mobili, se evidențiază: structurarea parțială a locațiilor de lucru, nivelul crescut de securitate, necesitatea unui sistem senzorial extern precum și necesitatea unor sistemele auxiliare.
La proiectarea, dezvoltarea și implementarea roboților industriali se urmărește, pe de-o parte, mărirea eficienței acțiunilor asupra mediilor tehnologice prin creșterea vitezei și preciziei de execuție și, pe de altă parte, înlocuirea operatorilor umani care execută operații simple repetitive sau care lucrează în medii austere (căldură/frig, lumină/întuneric, vibrații/zgomote etc.) și nocive (cu radiații, poluate etc.) sau scoaterea operatorului uman din mediul respectiv, controlând robotul de la distanță. „ [24]
2.2. Flexibilitate
Fig.2.2 Spot Mini deschizând ușa
Prin flexibilitatea unui robot putem înțelege simplitatea cu care daca facem modificări asupra robotului , sa poate satisface mai multe sarcini .
De exemplu , robotul dezvoltat de către cei de la Boston Dynamics , Spot Mini , la baza este un robot proiectat pentru a transporta diferite obiecte , însă încărcarea acestuia se face de către un operator uman , prin simpla atașare a unui braț mobil robotului , acesta poate sa facă de unul singur , încărcarea , sau lucruri chiar mai inteligente precum deschiderea unei uși , pentru a putea avea acces într-o alta încăpere fata de cea in care se afla .
3. VARIANTE CONSTRUCTIVE
3.1. Robot mobil cu capabilitate de navigare autonoma in structuri complexe de tip labirint
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 alta forma constructiva pentru „ a da viată ” unui nou robot cu capabilitate autonoma in structuri complexe de tip labirint .
Problema rezolvării labirintului este veche de aproximativ 40 de ani . Cu toate acestea, este o componenta importanta a câmpului roboticii . Este bazata pe una dintre cele mai importante arealuri ale roboticii si anume „ Decision Making Algorithm” (Algoritmul de luare a deciziilor ) . Robotul va fi plasat intr-un mediu necunoscut pentru acesta , si va trebui sa aibă o capabilitate buna in 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 roboti micro-mouse aveau forme fizice uriașe si conțineau multe blocuri de porți logice . Datorita avansului tehnologic , forma fizica a noilor generații de micro-mouse a devenit mult mai mica decât înainte. [10]
Fig.3.1 Roboti mobili autonomi de tip labirint la începutul anilor 70`
3.1.1. Competițiile de robotica
La ora actuala exista o varietate larga de competiții de robotica bazate pe roboti autonomi ce a inspirat si motivat elevii , studenții si inginerii din întreaga lumea , sa creeze roboti autonomi dar in același timp si competitivi , la fiecare ediție a acestor concursuri încercând sa doboare recordurile stabilite anterior . Una dintre cele mai populare categorii ale acestor competiții este Micro-Mouse , categorie care a fost conceputa încă de prin anii 70` .
Scopul unui robot mobil autonom cu capabilitate de navigare automata in structuri complexe de tip labirint este de a găsi cea mai rapida si simpla 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 , astfel încât dimensiunea robotului sa nu depășească o lățime si o lungime mai mare de 25 cm in timp ce pentru înălțime nu sunt stabilite nici un fel de frontiere .
Fig.3.2 Competiție de robotica micro-mouse
3.2 Ansamblul robot .
Componenta robotului se constituie din următoarele componente :
Sașiu ;
Suport senzori ;
2 x Suport prindere motor ;
2 x Roata cu anvelopa din silicon turnat ;
2 x Micro Motor cu Reductor si Encoder ;
3 x Senzor de distanta cu infraroșu ;
Placa de dezvoltare Arduino Uno R3 ;
Modul cu Driver de Motoarea Dual L298N ;
Acumulator LiPo Zippy
Alte elemente constructive :
cablaj ;
șuruburi ;
piulițe ;
distanțiere ;
intrerupator.
3.2.1 Proiectarea robotului cu ajutorul softurilor de tip CAD
Pentru a crea un nou concept de robot mobil plecam de la o idee stabilita , dând frâu liber imaginației in crearea unei noi forme constructive cu ajutorul a ceea ce reprezintă astăzi softurile de tip Computer Aided Design (CAD).
La ora actuala pe piață exista o varietate destul de larga in ceea ce privește softurile de tip CAD , softuri care au înlocuit convenționalele elemente de proiectare grafica precum creionul , liniarul si hârtia , totodată lăsând loc unei munci mai elegante , precise si mai curate cu ajutorul calculatorului .
In industria auto si nu numai astăzi totul este mai ușor in urma proiectării pe calculator, ducând mai departe stadiul de proiectare la cel de simulare , astfel încât puteam vedea cum va arata produsul final încă dinainte de a-l pune in producție , in același timp fiind posibila si o estimare a costurilor de producție prin intermediul structurii de tip CAD, CAM, CAE.
CAD – Computer Aided Design / Proiectarea Asistata de Calculator ;
CAM – Computer Aided Manufacturing / Fabricarea Asistata de Calculator ;
CAE – Computer Aided Engineering / Ingineria Asistata de Calculator ;
Fig.3.3 Interfețe ale programelor de tip CAD (AutoCAD, NX, Fides, CATIA, SolidWorks)
3.2.2. Proiectarea si realizarea șasiului
Modelarea propriu zisa pentru acest robot mobil cu capabilitate de navigare automata in structuri complexe de tip labirint am făcut-o utilizând softul de modelare 3D CATIA , dezvoltat de către francezii de la „Dassault Systemes” , care momentan este lider de piață . Sașiul este componenta pe care se montează elementele mecanice ale unui robot sau vehicul , oferind rigiditate întregului ansamblu .
Sașiul propus spre proiectare este compus din 2 piese modulare , cu spatii special prevăzute pentru montarea de componente necesare .
Fig.3.4.Șasiu MazeBot
Fig.3.5.Suport senzori MazeBot.
Elementele prezentate in figurile anterioare , au fost proiectate si modelate cu ajutorul softului CATIA V5 R20 , iar mai târziu cu ajutorul unei imprimante 3D de precizie au fost realizate si in realitate procesul durând un timp considerabil mai mic fata de alte metode convenționale de prelucrare , însă la modul in care a evoluat tehnologia in ziua de astăzi putem include chiar imprimanta 3D la categoria metodelor convenționale datorita ușurinței cu care pot fi realizate piesele , sa nu mai punem la socoteala timpul câștigat si costurile reduse pentru fabricarea unui singur obiect .
Fig.3.6 Șasiu MazeBot executat la imprimanta 3D
Fig.3.7 Suport senzori MazeBot executat la imprimanta 3D
Tehnologia de imprimare 3D a apărut de mai bine de 20 de ani însă aceasta tehnologie nu a fost foarte bine promovata pana in deceniul al doilea din secolul 21 . Prima imprimanta 3D pusa spre comercializare a fost inventata de cercetătorul Charles Hull .
Principial imprimarea 3D are la baza un proces aditiv , la modul in care elementele printate sunt realizate printr-o așezare succesiva a straturilor de material . Cu ajutorul acestora prototipurile nu rămân doar o idee pusa pe calculator , ci chiar pot fi realizate in cel mai scurt timp si cu cele mai mici costuri . Totodată o imprimanta 3D poate fi considerata un robot industrial cu capabilități limitate.
Tipuri de imprimare 3D :
Stereolitografie (SLA) ;
Imprimare cu pulbere (SLS) ;
Imprimare prin extrudare (FDM) .
Astăzi cea mai utilizata metoda de imprimare este FDM , aceasta a triumfat in urma costurilor relativ mici ale imprimantelor si consumabilelor , materia prima corespunzătoare acestei metode este filamentul de PLA sau ABS .
Fig.3.8 Imprimanta 3D
De la apariția lor si pana in prezent , imprimantele 3D si procesul de imprimare 3D a evoluat foarte mult , astfel ca au fost făcute teste in majoritatea domeniilor inclusiv militare si medicina , însă ceea ce este cu adevărat surprinzător este utilitatea imprimantei 3D in reproducerea de organe artificiale , propulsând astfel industria medicala spre un nou capitol . Cea mai recenta realizare aparține unor cercetători de la Universitatea Newcastle din Marea Britanie care prin prelevarea de celule stem din corneea unui donator si combinarea acesteia cu pudra obținuta dintr-un extract de alge , denumita alginat (folosita la reproducerea de țesuturi omenești) au reușit sa creeze o „bio-cerneala” , pentru a obține prima cornee artificiala din lume , realizata cu ajutorul procesului de imprimare 3D , fără ca întregul proces sa depășească 10 minute . [12][13]
3.2.3 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 . In general sunt folosite 3 surse principale de energie : hidraulica , electrica si pneumatica .
3.2.3.1 Motoare
Pentru contracția acestui robot am ales sa folosesc doua micro motoare de curent continuu cu Reductor si Codor cu un raport de reducție de 1:150 . Acest tip de motoare au integrate in componenta lor un Encoder ce poate măsura viteza motoarelor . Axul motoarelor este metalic si are o lungime de 9mm , având forma unui profil D , totodată fiind compatibil cu roti de tip Pololu. [11]
Fig.3.9 Micro Motor cu Encoder
Fig.3.10 Specificatii 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 . Modul lor de acționare se manifesta prin conversia mișcării mecanice in semnale electrice . In tehnica se găsesc encodere de doua feluri : incrementale si absolute . [14]
Fig.3.10 Diagrama unui Encoder
3.2.3.2 Suporți motoare
Suporții unui motor sunt acele elemente create pentru a fixa motorul de sașiu , la fel ca si in cazul sașiului suporți au fost proiectați cu ajutorul aceluiași soft de proiectare CATIA , iar mai apoi printați cu ajutorul unei imprimante 3D folosind clasicul filament de ABS pe post de materie prima .
Fig.3.11 Suport motor
3.2.3.3 Roți
Fig.3.12 Roti executate la imprimanta 3D
De asemenea rotile robotului au fost concepute in softul de proiectare CATIA si executate cu ajutorul unei imprimante 3D , totodată in momentul proiectării este creata si o matrița pentru anvelopa , corp comun cu roata . Materialul matriței fiind eliminat după ce compoziția turnata in aceasta se întărește . Pentru anvelopa a fost creat un amestec chimic care in timp se solidifica având proprietăți aderente fata de sol si textura de silicon .
3.2.4 Sistem de comanda
Sistemul de comanda al unui robot se refera la totalitatea elementelor care fac posibila comandarea robotului precum , PCB-uri cu microcontrolere , senzori , traductoare , drivere de motoare si alte componente care fac realizabila dinamica robotului .
3.2.4.1 Placa de dezvoltare Arduino Uno R3
Fig.3.13 Arduino Uno R3
Putem considera Arduino drept „inima” acestui proiect , întregul cod al programului este stocat in microprocesorul sau . Partea hardware a Arduino consta in intr-un design deschis realizat cu ajutorul procesorului Atmel AVR , de asemenea Arduino are propriul sau limbaj de programare pentru ca procesoarele sale sa poate fi programate .
Arduino este originar din Italia si include o gama larga de placi de dezvoltare , însă pentru acest proiect este folosita placa de dezvoltare Arduino Uno R3 .
Arduino Uno R3 are la baza microprocesorul ATmega328P , care la rândul sau este bazat pe un microcontroler AVR RISC pe 8 biți .
Programul folosit pentru a face încărcarea posibila pe plăcile de dezvoltare Arduino este unul proiectat in „propria bucătărie” si se numește Arduino IDE (Integrated Development Environment ) adică in traducere in limba romana Mediu Integrat de Dezvoltare , este un program gratuit oferit de concernul italian pe propriul lor site . Programarea se face pe calculator in limbaj C , instrucțiunile sunt transformate pas cu pas in codul mașinii având extensia de „fișier hex” . Încărcarea codului HEX pe dispozitivele Arduino se face prin intermediul portului USB . [15]
Fig.3.14 Arduino IDE
3.2.4.2 Driver de motoare L298N
Driverul de motoarea L298N este folosit in cadrul acestui proiect pentru a controla cele 2 motoare disponibile pe robot , In componenta sa driverul are un limitator de tensiune , in momentul in care motoarele sunt alimentate la o tensiune mai mare de 7V , alimentarea separata a părți logice nu mai este necesara . De asemenea este prezenta si puntea H care este un circuit electronic integrat in driver si „ permite aplicarea unei tensiuni pe o sarcina in orice sens”. [16][17]
Fig.3.15 Driverul de motoare L298N
3.2.4.3 Senzori de distanta Sharp
Senzorii de distanta Sharp folosesc unde de tip IR Infraroșu , aceștia se numără printre cei mai preciși senzori de distanta de pe mapamond , senzorii măsoară si oferă date despre distantele obiectelor fata de ei . Citirile senzorilor se fac la cel mai înalt nivel atât timp cat obiectul de măsurat se afla in raza de acțiune a senzorului , modul de funcționare este destul de simplu , ledul trimite o unda IR spre obiectul de detectat , iar detectorul format din 2 fotodiode primesc semnalul înapoi . [18]
Conectarea la Arduino este una extrem de simpla , dat fiind faptul ca senzorul dispune de 3 pini , dintre care 2 sunt alimentările (GND si VCC ) si al 3-lea oferă date despre distanta. Acești senzori se cataloghează după distantele eficiente pentru măsurători astfel ca vom avea senzori de distanta eficienți intre :
3 si 40 cm ;
10 si 80 cm ( senzorii folosiți in cadrul acestui proiect ) ;
15 si 150 cm .
Fig.3.16 Senzor SHARP cu raza de acțiune (10-80 cm)
3.2.5 Alimentare
Alimentarea acestui robot se face foarte simplu prin folosirea unui acumulator LiPo Turnigy Bolt . LiPo vine de la „lithium polymer” , in traducere polimer de litiu , si 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 folosita in acest proiect LiPo Turnigy Bolt oferă o tensiune de încărcare mai mare decât la LiPo-urilor standard . Capacitatea bateriei este de 500mAh , este formata din 2 celule cu o tensiune de 7.4 V , o greutate de 33 g si o rata de descărcare de 65C . [19]
Fig.3.17 Acumulator LiPo Turnigy Bolt , 500mAh
3.3 Algoritmi de rezolvare
Algoritmii reprezintă metoda sau procedura de calcul , formata din pașii obligatorii si necesari pentru soluționarea unei probleme . Pana in prezent pentru rezolvarea problemei labirintului au fost dezvoltați doar doi algoritmi de rezolvare si anume :
Metoda urmăririi peretelui ;
Metoda umplerii . [20]
3.3.1 Metoda urmăririi peretelui
Aceasta metoda este cea mai comuna pentru algoritmul de rezolvare al labirintului , robotul va menține direcția urmărind ori peretele stand ori cel drept . Acest algoritm de asemenea mai poarta si denumirea de regula mâinii stângi – regula mâinii drepte . Mereu in momentul in care robotul ajunge într-o intersecție va simți unde sunt deschiși pereții si își va selecta direcția in funcție de regula folosita , ori stânga ori la dreapta . Luând pereții drept ghid, aceasta strategie este capabila sa facă robotul sa ajungă la finalul labirintului dar fără sa îl fi rezolvat . Aceasta metoda nu este eficienta 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 bucla închisa . [21]
Instrucțiunile date de algoritm pentru cele 2 cazuri se regăsesc in tabelul următor :
3.3.2 Metoda umplerii
Metoda umplerii este considerata drept cel mai eficient algoritm in 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 indica pașii de la orice alta celula la celula destinație . Prima aranjare tine minte valorile hărții pereților in timp ce cea de a doua înmagazinează valorile distantelor .
Fig.3.18 Metoda umplerii cu aranjare unidimensională
In fiecare celula 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ă decida care din celulele învecinate are cea mai mica valoare a distanței ;
Să se deplaseze spre celula învecinată cu cea mai mica valoare a distanței . [23]
3.3.3 Codul sursă al unui robot
„Codul sursa” sau „Programul sursa” reprezintă un set de instrucțiuni bine definite , pe care programatorul i le implementează robotului , astfel făcându-se comunicarea intre programator si computer/robot . Pentru a scrie un „cod sursa” programatorul trebuie sa folosească unul din limbajele de programare cunoscute de plăcile de dezvoltare pe care sunt construiți robotii , de exemplu pentru a programa o placa de dezvoltare Arduino limbajul specific este limbaj C . [22]
3.4 Construcția robotului
In acest subcapitol va fi prezentat prin intermediul ilustrațiilor modul in care a fost asamblat robotul , începând de la alezajele realizate la nivelul suportului de senzori si a celorlalte componente ale robotului .
Fig.3.19 Alezarea suportului de senzori
Fig.3.20 Suportul de senzori cu piloni M3 pentru Arduino
Fig.3.21. Suportul de senzori cu senzori Sharp atașați
In aceasta etapa a construcției suportul de componente electronice este plasat in interiorul șasiului propriu zis si urmează a fi montate si motoarele .
Fig.3.22 Atașarea suportului de senzori pe șasiu
Fig.3.23. Atașarea motoarelor ansamblului
Fig.3.24 Atașarea roților si a plăcii de dezvoltare Arduino Uno R3 ansamblului
Fig.3.24 Atasarea driverului L298N si cuplarea motoarelor
Fig.3.25 Conectarea tuturor elementelor electronice
3.5 Robot mobil cu capabilitate de navigare automată in structuri complexe de tip labirint in stadiu final
Fig.3.26 Ansamblul robot proiectat
Fig.3.27 Ansamblul robot explodat
Fig.3.28 Ansamblul robot executat
4. ANALIZA DE COSTURI
Costul total al acestui robot se ridica la 368 RON . Este un preț mic pentru realizarea unui robot . Robotii mobili necesita un șasiu pentru a asambla tot echipamentul . Având in vedere ca in cadrul Departamentului de Mecatronica de la Facultatea de Inginerie Manageriala si Tehnologica din cadrul Universității din Oradea se afla o imprimanta 3D singurul cost al realizării șasiului si a altor elemente componente ale robotului se ridica la achiziționarea unei role de filament ABS pentru construcția propriu zisa . Folosirea unui șașiu disponibil pe piață cat si a celorlalte elemente componente precum suportul senzorilor , suportul motoarelor si rotile ar fi ridicat semnificativ costul de producție al acestui robot . De asemenea turnarea cauciucului siliconic pe roti a fost realizata cu substanțe existente in dotarea Departamentului de Mecatronica .
Cu toate ca exista pe piața o sumedenie de plăcute care sunt copie fidela a Arduino Uno R3 la un preț cu pana la 80% mai redus am ales sa folosesc placa de dezvoltare Arduino Uno R3 originala .
5. CONCLUZII
Ca si concluzii cele 2 metode , algoritmul urmăririi peretelui si algoritmul umplerii au fost implementate cu succes pe robot si obiectivul acestui proiect a fost atins . Primul algoritm folosit cel al urmăririi peretelui este o metoda clasica si poate genera un rezultat bun in rezolvarea labirintului , dar in lipsa de inteligenta proprie a eșuat sa rezolve labirintul in cea mai rapida cale si nu a fost capabil sa rezolve o lupa închisa intr-un labirint cu o asemenea structura. Deci metoda folosita si de asemenea eficienta in rezolvarea labirintului , găsind cel mai rapid drum este metoda algoritmului umplerii .
6. BIBLIOGRAFIE
[1]http://www.mecatronica.ro/definitie_mecatronica.html
[2]Ivan BOGDANOV , „Conducerea Roboților” , Editura Orizonuri Universitare, Timișoara, ISBN : 978-973-638-419-6 , 2009 .
[3]http://www.shadow.org.uk/projects/biped.shtml
[4]http://www.robotsvoice.com/honda-p2-and-p3/
[5]https://en.wikipedia.org/wiki/ASIMO
[6] https://en.wikipedia.org/wiki/Boston_Dynamics
[7]https://www.bostondynamics.com/spot-mini
[8]https://ro.wikipedia.org/wiki/Sophia_(robot)
[9]https://www.instagram.com/p/BeRKqf7gmnz/?taken-by=realsophiarobot
[10]https://en.wikipedia.org/wiki/Micromouse
[11]https://www.optimusdigital.ro/ro/motoare-micro-motoare-cu-reductor/4689-micro-motor-cu-reductor-130-i-codor-cgm12-n20va-8200e-6-v-530-rpm.html?search_query=micro+metal&results=30
[12]https://ro.wikipedia.org/wiki/Imprimare_3D
[13]https://paginiromanesti.ca/2018/06/01/prima-cornee-artificiala-umana-creata-imprimanta-3d/
[14]https://www.optimusdigital.ro/ro/motoare-micro-motoare-cu-reductor/4686-micro-motor-cu-reductor-1150-i-codor-cgm12-n20va-8200e-6-v-105-rpm.html
[15]https://store.arduino.cc/arduino-uno-rev3
[16]https://www.optimusdigital.ro/ro/drivere-de-motoare-cu-perii/145-driver-de-motoare-dual-l298n.html?search_query=l298&results=5
[17]http://www.electronicstefan.ro/2012/01/ce-este-puntea-h/
[18]https://www.robofun.ro/senzor_sharp_%20GP2Y0A21YK?gclid=Cj0KCQjwjN7YBRCOARIsAFCb9369OeCKdL8QIcIcgIMfQ_A0J88J4skT9e3NFNWn7bbCOO4Uo02UmSUaAscwEALw_wcB
[19]https://www.optimusdigital.ro/ro/acumulatori-de-111-v/2841-acumulator-lipo-gens-ace-450mah-111v-25c-3s1p.html?search_query=lipo&results=285
[20]https://ro.wikipedia.org/wiki/Algoritm
[21]https://en.wikipedia.org/wiki/Maze_solving_algorithm
[22]https://ro.wikipedia.org/wiki/Cod_surs%C4%83
[23]https://www.geeksforgeeks.org/flood-fill-algorithm-implement-fill-paint/
[24]https://mctr.mec.upt.ro/wp-content/uploads/2018/01/Lucrare_Bissinger.pdf
7. ANEXE
Anexa 1. Schema bloc
Fig.6.1 Schema bloc
Anexa 2. Diagrama Driverului de motoare L298N
Fig.6.2 Diagrama L298N
Anexa 3. Conectarea senzorilor la Arduino Uno R3
Fig.6.3 Schema senzor Sharp la Arduino
Anexa 4. Conectarea L298N la Arduino Uno R3
Fig.6.4 Schema L298N la Arduino Uno R3
Anexa 5. Codul sursa
#define vel_motor_esq 10
#define vel_motor_dir 11
#define e1 8
#define e2 9
#define d1 12
#define d2 7
int trigger_frente = A4; // front
int echo_frente = A5; // front
int trigger_esq = A2;// right
int echo_esq = A3;// rt
int trigger_dir = A0;
int echo_dir = A1
void setup()
{
pinMode(trigger_frente, OUTPUT);
pinMode(echo_frente, INPUT);
pinMode(trigger_esq, OUTPUT);
pinMode(echo_esq, INPUT);
pinMode(trigger_dir, OUTPUT);
pinMode(echo_dir, INPUT);
pinMode(vel_motor_esq, OUTPUT);
pinMode(vel_motor_dir, OUTPUT);
pinMode(e1, OUTPUT);
pinMode(e2, OUTPUT);
pinMode(d1, OUTPUT);
pinMode(d2, OUTPUT);
delay(5000);
}
void loop()
{
long duracao_frente, duracao_esq,
duracao_dir, direita, esquerda, frente;
digitalWrite(trigger_frente, LOW);
delayMicroseconds(2);
digitalWrite(trigger_frente, HIGH);
delayMicroseconds(5);
digitalWrite(trigger_frente, LOW);
duracao_frente = pulseIn(echo_frente, HIGH);
frente = duracao_frente/29/2
digitalWrite(trigger_esq, LOW);
delayMicroseconds(2);
digitalWrite(trigger_esq, HIGH);
delayMicroseconds(5);
digitalWrite(trigger_esq, LOW);
duracao_esq = pulseIn(echo_esq, HIGH);
esquerda = duracao_esq/29/2;
digitalWrite(trigger_dir, LOW);
delayMicroseconds(2);
digitalWrite(trigger_dir, HIGH);
delayMicroseconds(5);
digitalWrite(trigger_dir, LOW);
duracao_dir = pulseIn(echo_dir, HIGH);
direita = duracao_dir/29/2;
analogWrite(vel_motor_esq, 0);
analogWrite(vel_motor_dir, 0); //
analogWrite(e1, 0); //
analogWrite(e2, 0); //
analogWrite(d1, 0); //
analogWrite(d2, 0);
if(frente >8)
{ if(direita >7 && direita< 13)
{
analogWrite(vel_motor_esq, 120);
analogWrite(vel_motor_dir, 150);
analogWrite(e1, 255);
analogWrite(e2, 0);
analogWrite(d1, 0);
analogWrite(d2, 255);
}
if(direita >=13)
{
analogWrite(vel_motor_esq, 255);
analogWrite(vel_motor_dir, 60);
analogWrite(e1, 255);
analogWrite(e2, 0);
analogWrite(d1, 0);
analogWrite(d2, 255);
}
if(direita <=7)
{
analogWrite(vel_motor_esq, 60);
analogWrite(vel_motor_dir, 255);
analogWrite(e1, 255);
analogWrite(e2, 0);
analogWrite(d1, 0);
analogWrite(d2, 255);
} }
if(esquerda <=20 && direita>20 && frente <=8)
dir();
if(esquerda >20 && direita>20 && frente <=8)
dir();
if(direita <=20 && esquerda>20 && frente <=8)
esq();
if(direita<=20 && esquerda<=20 && frente<=8)
voltar();
}
void esq()
{
analogWrite(vel_motor_esq, 120);
analogWrite(vel_motor_dir, 120);
analogWrite(e1, 0);
analogWrite(e2, 255);
analogWrite(d1, 0);
analogWrite(d2, 255);
delay(700);
}
void dir()
{analogWrite(vel_motor_esq, 120);
analogWrite(vel_motor_dir, 120);
analogWrite(e1, 255);
analogWrite(e2, 0);
analogWrite(d1, 255);
analogWrite(d2, 0);
delay(800);
}
void voltar()
{
analogWrite(vel_motor_esq, 120);
analogWrite(vel_motor_dir, 120);
analogWrite(e1, 255);
analogWrite(e2, 0);
analogWrite(d1, 255);
analogWrite(d2, 0);
delay(1200);
}}
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: Proiectarea și realizarea unui robot mobil cu capabilitate de navigare automată in structuri complexe de tip labirint [302070] (ID: 302070)
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.
