-în ce măsură mașinile vor influența viața oamenilor [302222]
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
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 [anonimizat] a fi greu de atins. În ultimii 50 [anonimizat] a [anonimizat], fiind în prezent folosit în toate științele care doresc să se afirme. [anonimizat]. [anonimizat] a prezentat noua idee în vara anului 1956 la întrunirea “Darthmouth Summer Research Project on Artificial Intelligence”.
[anonimizat], de sisteme de computere. Acest domeniu a fost, [anonimizat] a devenit parte a tehnologiei î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 [anonimizat] 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?
-[anonimizat]?
-[anonimizat]?
-avem cu adevărat nevoie de aceste mașini inteligente în viața noastră?
[anonimizat], militare, științifice, [anonimizat]: recunoașterea și analiza vocii și a imaginilor, traduceri dintr-o [anonimizat] (șah, bridge), luarea unor decizii complexe fără intervenția unui operator uman etc. Inițial, obiectivele Inteligenței Artificiale au fost unele ambițioase: [anonimizat], [anonimizat].
Principalul scop al Inteligenței Artificiale este de a [anonimizat]. [anonimizat], creierul uman fiind încă o enigmă, aproape imposibil de analizat matematic și/sau tradus în limbaj mașină.
[anonimizat], [anonimizat], 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. [anonimizat], diferit fiecărui individ în parte. Acestui intelect i-[anonimizat], 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 complexe 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, vederea 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 intrare î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 nimic nu poate fi adăugat automat.
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 folosit ulterior în construcția mașinilor autoghidate.[1]
1.1.2. Robotica
1.1.2.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 eficientizeze 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 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” („RossumoviUniverzá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.
Fig.1.7 Schema bloc detaliată a unui sistem robot [2]
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 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 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 .[2]
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.[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 .
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.[4]
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 .[5]
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]
Fig.1.15 Robotul Sophia [9]
2. APLICABILITATE
2.1 Aplicaț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 domenii 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 2.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țiilor 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 utilizare a roboților pentru servicii personale, casnice sau în scop de divertisment etc.[11]
FIGURA 2.1 – Domenii majore de interes actual și de perspectivă în robotică
2.2 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 pentru 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 producție integrată care beneficiază de numeroase părți ce aparțin domeniului roboticii. Astfel ca producătorii sunt 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 produselor. 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 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 început 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 importantă 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 Europa ș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 2.2).
FIGURA 2.2 – Dinamica vânzărilor de roboți industriali la nivel mondial (prezent și perspective)
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]
FIGURA 2.3 – Dinamica vânzărilor de roboți pentru servicii profesionale (prezent și perspective)
FIGURA 2.4 – Dinamica vânzărilor de roboți pentru servicii personale (prezent și perspective)
3. VARIANTE CONSTRUCTIVE
3.1 Robotul mobil cu capabilitate de navigare autonomă în structuri complexe de tip labirint – Maze Solve
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 .
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 necunoscut 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 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.3.1 Roboți mobili autonomi de tip labirint la începutul anilor 70`
3.1.1. 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 . 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 autonomă î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 , astfel î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.3.2 Competiție de robotică 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 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 :
cablaj ;
șuruburi ;
piulițe ;
distanțiere ;
întrerupător ;
mufe;
3.2.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 de energie : hidraulică, electrică si pneumatică.
3.2.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.
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.3 Fișa tehnică a motorului
Fig. 3.4 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 .
Fig.3.5 Diagrama unui Encoder
3.2.1.2 Roți
Pentru roți am ales ca și material, plastic ABS 90T din motive de fiabilitate și costuri.
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.6 Roată din plastic ABS(dreapta) și anvelopă din cauciuc(stânga)
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.7 Roata impreună cu anvelopa
Fig.3.8 Imagine ansamblu motor-roată
3.2.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 robotului.
3.2.2.1 Placa de dezvoltare mCore
Fig.3.9 Placa de dezvoltare mCore [17]
Placa de dezvoltare mCore 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 mai 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ă. Un alt factor ce a influențat alegerea plăcii mBot a fost interfața mBlock, bazată pe Scratch 2.0, cu ajutorul căreia programarea plăcii și automat a robotului a devenit mult mai ușoară. Interfața mBlock foloseste programarea sub o interfata de tip “blocuri funcționale” care ajută în procesul scrierii unui cod curat si coerent.
Fig.3.10 Software-ul de programare mBlock ( Windows OS)
Specificații mCore
3.2.2.2 Modul de conectare Bluetooth
Fig.3.11 Modul de conectare Bluetooth[18]
Modulul Bluetooth 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.
Specificații
Voltaj operare: 5V DC power;
Versiune: Compatibil Bluetooth 2.0 și 4.0;
Voltajul nivelului de iesire: 5V/high, 0V/low;
Dimensiuni: 30mm*20mm*14mm (Lungime x Lățime x Înălțime)
3.2.2.3 Modul Line Follower IR
Fig.3.12 Modul Line-Follower IR[19]
Modulul prezinta 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.
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
3.2.2.4 Senzor ultrasonic de proximitate
Este un modul care măsoară distanța de la 3cm la 400cm. 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.
Fig. 3.13 Senzor de proximitate ultrasonic
Specificații tehnice:
● Voltaj de operare: 5V DC
● Unghi de măsurare: 30 degree
● Raza de măsurare: 3-400cm (with error less than 1cm)
● Dimensiuni: 56 x 36 x 31 mm
3.2.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 oferă o tensiune de încărcare mai mare 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.14 Acumulator LiPo Turnigy Bolt , 500mAh
3.3 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 rezolvarea problemei labirintului au fost dezvoltați doar doi algoritmi de rezolvare și anume:
Metoda urmăririi peretelui;
Metoda umplerii;
3.3.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 robotul 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 labirintului 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 .
3.3.2 Metoda umplerii
Metoda umplerii 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.15 Metoda umplerii cu aranjare unidimensională
Î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.4 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.
Fig. 3.16 Alegerea șasiului pentru robot
Fig.3.17 Montarea motoarelor – 1
Fig.3.18 Montarea motoarelor – 2
Fig.3.19 Montarea roților
Fig.3.20 Alegerea și montarea roții unisens
Fig.3.21 Montarea senzorului Line-Follower pe aceeasi suporți cu roata unisens.
Fig.3.22 Montarea senzorului ultrasonic de proximitate
Fig.3.23 Stabilirea traseului cablurilor
Fig.3.24 Montarea suportului pentru baterii de tip AAA
Fig.3.25 Montarea placii mCore – forma finală a robotului
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 semnificativa 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.
5. ANEXE
Anexa 1 – Schema mCore
Fig.5.1 Schema electri a plăcii mCore
Anexa 2 – Conectarea senzorilor la placa mCore
Fig.5.2 Conectarea senzorului line-follower la mCore
Fig.5.3 Conectarea senzorului de proximitate la mCore
Anexa 3 – Schemele electrice ale senzorilor
Fig.5.4 Schema electrică a senzorului line-follower
Fig.5.5 Schema electrică a senzorului ultrasonic de proximitate
Anexa 4 – 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;
double currentTime = 0;
double lastTime = 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(!(((linefollower_2.readSensors())==(0))))
{
_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();
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(){
}
6. 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 vedere 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.
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 evoluț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.
7. BIBLIOGRAFIE
[1] http://www.catia.ro/articole/ai/ai.html – „Inteligenta artificiala” -Un material scris de Ionut Ghionea – Iunie 2018;
[2] https://en.wikipedia.org/wiki/William_Grey_Walter , – Iunie 2018;
[3] http://www.shadow.org.uk/projects/biped.shtml – Iunie 2018;
[4] http://www.robotsvoice.com/honda-p2-and-p3/ – Iunie 2018;
[5] https://en.wikipedia.org/wiki/ASIMO – Iunie 2018;
[6] https://en.wikipedia.org/wiki/Boston_Dynamics – Iunie 2018;
[7] https://www.bostondynamics.com/spot-mini – Iunie 2018;
[8] https://ro.wikipedia.org/wiki/Sophia_(robot) – Iunie 2018;
[9] https://www.instagram.com/p/BeRKqf7gmnz/?taken-by=realsophiarobotu – Iunie 2018;
[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 – Iunie 2018;
[15] https://en.wikipedia.org/wiki/Micromouse – Iunie 2018;
[16] http://learn.makeblock.com/en/tt-geared-motor-dc-6v-200rpm/ – Iunie 2018;
[17] http://learn.makeblock.com/en/mcore/ – Iunie 2018;
[18] http://learn.makeblock.com/en/bluetooth-moduledual-mode/ – Iunie 2018;
[19] http://learn.makeblock.com/en/me-line-follower/ – Iunie 2018;
[20] http://learn.makeblock.com/en/me-ultrasonic-sensor/ – Iunie 2018
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: -în ce măsură mașinile vor influența viața oamenilor [302222] (ID: 302222)
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.
