Realizarea Robotului Mobil

1. MECATRONICĂ. ROBOTICĂ

1.1. Definiția mecatronicii

Mecatronica este o stiință puternic eterogenă, care integrează domenii inginerești considerate, ca și abordate, până acum, într-o manieră de delimitare strictă. Mecatronica este integrarea sinergică a ingineriei mecanice cu electronica și controlul inteligent computerizat în proiectarea și realizarea produselor industriale și a proceselor.

Firma Yasukawa Electric Company in 1969 defineste noțiunea de mechatronics = abreviere : mecha – “mechanism” + tronics –“electronics”.

Fig. 1.1. Conceptul de mecatronică

Principalele domenii de lucru ale mecatronicii sunt : mecanic, electronic (hardware) și software. Domeniul mecanic reprezintă suma tuturor conceptelor, metodelor, metodologiilor, și tehnicilor de analiză și sinteză a acțiunilor de deplasare, generare de forțe, suport, împreună cu fenomenele mecanice specifice de degradare (frecare, uzură, oboseală etc), solicitare mecanică și răspuns în rezistență, care contribuie la realizarea unei funcții globale complexe.

Domeniul electronic (hardware) al mecatronicii se referă la ansamblul conceptelor, metodelor, și metodologiilor, care privesc transmiterea, transformarea și prelucrarea semnalelor electrice ( împreună cu fenomenele și procesele de degradare specifice și de solicitare ) pentru comandă, controlul și autoapărarea sistemului împotriva diverselor perturbații.

Domeniul software reprezintă ansamblul conceptelor, metodelor și tehnicilor care formează nucleul unui comportament rațional sau inteligent (al ansamblului tehnic). El tinde să reprezinte imaginea modului uman de a răspunde la diverse situații prin raționament și gândire.

O imagine asupra diversității și complexității domeniilor care sunt incluse în vasta noțiune de “Mecatronică” poate fi furnizată de tematica secțiunilor primei conferințe IFAC (International Conference of Automatic Control) de “Sisteme Mecatronice”, organizată între18 și 20 septembrie 2000 la Darmstadt (Germania):

A – Sisteme mecatronice, incluzând vehicule mecatronice, motoare și mașini mecatronice, trenuri mecatronice și sisteme spațiale mecatronice;

B – Componente mecatronice, cu temele actuatori și dispozitive mecatronice și lagăre magnetice;

C – Roboți și mașini pășitoare, cuprinzând roboți mecatronici, sisteme robotice mobile, mașini pășitoare;

D – Proiectarea sistemelor mecatronice – a avut ca centre de greutate: modelarea și identificarea; instrumente software; simularea în timp real și hardware-in-the-loop;

E – Controlul automat al sistemelor mecatronice, s-a concentrat asupra metodelor de control, a controlului mișcării și vibrațiilor și a sistemelor mecatronice pentru detectarea și diagnosticarea erorilor.

Toate aceste domenii împreună formează un sistem mecatronic.

Sistemul mecatronic este ansamblul de obiecte/corpuri prin a căror conlucrare se obține o funcție, care nu poate fi realizată de obiectele/corpurile integrate dacă acestea ar acționa separat. Sistemul mecatronic este acel sistem care preia semnale din mediu, le procesează și le prelucrează rațional sau inteligent realizând în urma deciziilor deplasării și/sau generări de forțe în/sau asupra mediului de lucru.

1.2. Definiția roboticii

Apariția și dezvoltarea mecatronicii a determinat integrarea în aceasta, ca ramură, a roboticii – domeniu care se referă la rezolvarea problemelor de realizare tehnică a operațiunilor specifice activităților umane de acțiune asupra mediului și ale cărui sisteme reprezentative – roboții (sistemele robot) urmează cursul evoluției proceselor de “automatizare”, în sensul realizării, cu flexibilitate ridicată, a operațiunilor tipic umane. Acest scop depășește de departe nivelul mecanizării, care urmărea amplificarea puterii fizice prin sisteme tehnice, și chiar pe cel al automatizării clasice, construită restrictiv în jurul unei game unice de acțiuni pentru realizarea unui singur tip de produs.

Robotica este un domeniu pluridisciplinar al științei și tehnicii care studiază proiectarea și tehnica construirii sistemelor mecanice, informatice sau mixte și a roboților, în scopul înlocuirii totale sau parțiale a omului în procesele tehnologice, în acțiunea asupra mediului înconjurător etc. Multe aspecte ale roboticii implică inteligența artificială: roboții pot fi echipați cu senzori echivalenți cu organele de simț ale omului, pentru vedere, pipăit, perceperea temperaturii. Unii au chiar capacitatea de a lua decizii simple, iar în prezent cercetările în domeniu sunt orientate spre obținerea de roboți cu un grad de autocontrol care să le permită mobilitatea și luarea de decizii într-un mediu necontrolat direct de către oameni.

Robotica intră și în rândul persoanelor în vârstă cu invenții precum un baston robot. Acest tip de robot a fost dezvoltat de inginerii japonezi, și pe lângă faptul că este un baston, este unul inteligent. Acesta este dotat cu o roată de cauciuc ce ajută la deplasarea vârstnicului, și pe lângă aceasta, bastonul simte vibrațiile și intensitatea pe care utilizatorul o transmite, și în cazul unei posibile alunecări, bastonul folsindu-se de roată, poate să redreseze poziția bătrânului, evitând o posibilă accidentare. Totodată bastonul poate fi folosit pentru exerciții, activându-i roata în așa fel încât în anumite poziții va solicita mușchii care trebuie lucrați.

În altă ordine de idei, robotica tinde spre înlocuirea anumitor servicii produse de oameni cu cele produse de roboți.

Robotica face parte, sau mai bine zis, este o știință ce studiază în ansamblu tehnologia și mai exact, învierea acesteia prin intermediul așa zișilor roboți. Cu alte cuvinte, robotica se leagă strict de crearea roboților. Un robotician trebuie să fie expert în mai multe domenii, cum ar fi electricitatea, mecanica și programarea.

Imaginea pe care majoritatea dintre noi o au despre roboți vine în principal din filmele Science Fiction, și în secundar din imagini ale plictisitoarelor linii de asamblare ale automobilelor. Contrastul dintre aceste două imagini a produs o anumită dezamăgire a publicului în ceea ce privește robotica: în definitiv, după atâția ani de progres tehnologic, nu avem încă roboți cărora să le putem vorbi și care să poată fi de ajutor în îndeletnicirile casnice. Nici nu poate fi vorba de roboți care să lupte în război, să piloteze navete spațiale sau alte ocupații frecvente în romanele științifico-fantastice. Există deci tendința de a cădea în cealaltă extremă, de a presupune că nu există decât roboți plicticoși, buni doar pentru asamblarea plăcilor electronice și a automobilelor.

Realitatea contrazice însă ambele imagini. E adevărat că nu avem încă roboți cărora să le putem vorbi, avem însă roboți care au participat cu mult succes la operații chirurgicale extrem de complicate; nu avem încă soldați-roboți, armata americană este în schimb unul dintre cei mai mari investitori în tehnologie robotică, și deși rezultatele sunt departe de “Terminator I”, există roboți care pot contribui în mod eficace la salvarea de vieți omenești (cum ar fi celebrul robot care a fost trimis să inspecteze Cernobîl).

E naiv să ne așteptăm ca robotica să pornească de la zero și să ajungă într-un timp relativ scurt (cam cinci decenii de la primele prototipuri funcționale) la performanțe comparabile cu cele omenești. Deși încă departe de visele pionierilor din domeniu, robotica ne aduce în fiecare zi un pic mai aproape de ele, iar acest progres este în continuă accelerație. Cel puțin cercetătorii din robotică au planuri foarte ambițioase și pline de optimism.

În mare, robotica poate fi divizată în trei domenii: percepție, cogniție și acțiune. Această diviziune e naturală: un robot trebuie în general să “simtă”, pentru a primi informații despre mediul înconjurător. Informațiile în sine însă nu folosesc la nimic: robotul trebuie să “ințeleagă” ce se petrece, să construiască planuri, să evalueze situații, etc. Aceasta este partea de cogniție. Un robot ar fi inutil dacă nu ar putea să facă ceva: să se deplaseze, să transforme în mod intenționat mediul înconjurător, să exploreze, într-un cuvînt, să acționeze.

În anumite cazuri putem elimina cogniția, obținînd fie ceea ce se numește teleoperare (operare de la distanță), caz în care nu există decizie la nivelul robotului, fie celebrii roboți lucrători la o linie de asamblare.

Bazele roboților de azi stau mult mai departe. Primele modele de mașini pot fi mai degrabă numite automate (provenind din grecescul automatos, care se mișcă singur). Acestea nu puteau executa decât câte un singur obiectiv, fiind constrânse de construcție.

1.3. Istoric

Matematicianul grec Archytas a construit, conform unor relatări, unul dintre aceste prime automate: un porumbel propulsat cu vapori, care putea zbura singur. Acest porumbel cavernos din lemn era umplut cu aer sub presiune. Acesta avea un ventil care permitea deschiderea și închiderea printr-o contragreutate. Au urmat multe modele dealungul secolelor. Unele înlesneau munca iar altele deserveau la amuzamentul oamenilor.

Cuvântul “robot” a apărut pentru prima dată în anul 1921 în piesa de teatru R.U.R. (“Rossum’s Universal Robot”) scrisă de un dramaturg ceh, Karel Čapek. Acest cuvânt derivă din “robota” care, în limbile slavone, se traduce prin muncă (grea). Autorul Karel Čapek a folosit termenul acesta, cu gândul la oamenii orașului Praga, care călătoreau cu trenuri vechi și pline într-un mod inuman, doar pentru că devenise rutină, pentru că ajunseseră să acționeze mecanic, fără să gândească, fără să mai aibă personalitate; exact ca niște roboți.

Prin publicarea lucrării respective în limba engleză, în anul 1923, cuvântul “robot” împreună cu semnificația dată de autorul său au fost preluate în literatura internațională, un rol determinant avându-l cunoscutul autor de literatură “science-fiction”, Isaac Asimov.

Primele cercetări în domeniul roboticii au fost inițiate la începutul anilor 1960. Evoluția roboților se caracterizează printr-un dinamism comparabil cu cel al evoluției computerelor sau al

transmisiei informației, domenii cu care, de altfel, se află în strânsă legătură.

Cu descoperirea ceasului mecanic din secolul XIV s-a deschis calea unor posibilități noi și complexe. Nu mult după aceea au apărut primele mașini, care semănau îndepărtat cu roboții de azi. Posibil era însă numai ca mișcările să urmeze una după alta, fără să fie nevoie de intervenția manuală în acel sistem.

În cele ce urmează voi puncta câteva repere temporale care au influențat evoluția roboților:

Mijlocul anilor 1700 – J. de Vaucanson a realizat păpuși mecanice care cântau.

În 1770 în Anglia s-au introdus pentru prima dată șabloanele mecanice, în industria textilă. Acesta a fost primul semn al apariției roboticii în viața de zi cu zi.

1801 – J. Jacquard a inventat un război de țesut ca o mașină programabilă.

1805 – H. Maillardet a realizat o păpușă mecanică ce putea să deseneze.

În 1870 au apărut mașinile de copiat cu acționare hidraulică.

În 1900 au apărut mașinile de copiat cu acționare electro-hidraulică.

În 1914 : – linii tehnologice cu acționare electrică și mecanică

– tuburi electronice.

În 1925 robotizarea a început să prindă avânt, apărând liniile de producție automate.

În 1940 : – informația numerică – cartelă: elici navale

– calculator numeric: relee, tuburi

– limbaje de cod numeric.

În 1950 tehnologia semiconductoare.

George Devol a înregistrat în anul 1954 primul patent pentru un robot industrial. Roboții industriali din prezent nu sunt de obicei mobili. După forma și funcția lor, domeniul lor operațional este restrâns. Ei au fost introduși pentru prima oară pe linia de producția a General Motors în 1961. Roboții industriali au fost folosiți prima dată în Germania la lucrări de sudură începând din 1970.

În 1954 : – calculatoare de proces cu semiconductoare.

– linii tehnologice automatizate.

Anul 1956 este considerat ca anul nașterii a robotului industrial. George Devol a depus candidatura în acest an în SUA pentru un patent pentru "transferul programat de articole". Câțiva ani după aceea a construit împreună cu Joseph Engelberger UNIMATE. În 1960 Engelberg a devenit președinte la UNIMATE. Acest robot de cca. două tone a fost mai întâi introdus în montarea de iconoscoape pentru televizoare, găsindu-și apoi drumul în industria automobilă. Programele pentru acest robot au fost salvate sub formă de comenzi direcționate pentru motoare pe un cilindru magnetic. Din acest moment se introduc roboți industriali ca UNIMATE în multe domenii ale producției fiind permanent dezvoltați mai departe pentru a putea face față cererilor complexe care li se impun.

1959 – A fost realizat primul robot comercial de către firma Planet Corporation. Acesta era comandat pe baza unor microcontacte și a unor came.

1961 – Robotul “Unimate” este utilizat de “Ford Motor Company” pentru deservirea unei matrițe.

1962 – “Unimate” este utilizat de “General Motors” – Ternestedt, New Jersey

1966 – Firma norvegiană “Trallfa” a realizat un robot utilizat pentru vopsire.

1967 – Mosher R. și Liston B.D. construiesc primul quadruped telecomandat denumit “General Electric Quadruped Truck”.

Morrison J. construiește la Aerojet General Corporation un hexapod cu destinație militară denumit “Iron Mule Train”.

1968 – Stanford Research Institute (SRI) a realizat robotul mobil “Shakey” pentru deplasări pe orizontală, echipat cu o mulțime de senzori tactili și cameră de luat vederi.

În 1968 au apărut liniile robotizate automate.

În 1969 Japonia cumpără un robot din SUA. Din acest moment răspândirea robotilor începe, și continuă cu o uriașă dezvoltare.

1971 – Stanford University a realizat un braț robotic de mici dimensiuni, acționat

electric, cunoscut ulterior sub denumirea de “brațul Stanford”.

Firmele “Nissan Motors” (Japonia) și “Fiat” (Italia) au fabricat sub licență robotul “Unimate”.

1973 – “Stanford Research Institute” crează primul limbaj de programare pentru roboți în scopuri de cercetare, denumit WAVE.

În 1974 Japonia avea deja 2500 de roboți. Tot îm 1974 apare limbajul pentru roboți denumit AL. Ulterior, din cele 2 limbaje Victor Scheinman și Bruce Simano crează limbajul VAL pentru robotul

Unimation.

– Firma ASEA a realizat robotul IRb6, acționat în întregime electric.

– Franța lansează programul “Spartacus” prin regia Renault pentru proiectaree roboților modulari.

1975 – Robotul “Sigma” (Olivetti) este folosit pentru prima dată într-o operație de asamblare. Prima utilizare a roboților în cercetarea spațiului cosmic: la centrul spațial Kennedy se lansează sonda automată dotată cu brațul manipulator “Viking”.

În 1978 roboții ating numărul de 10.000 (6000 în Japonia, 3000 în SUA, 1000 în Europa).Tot în 1978 Firmele Unimation și General Motors lansează robotul PUMA (Programmable Universal Machine for Assembly) bazat pe un proiect al Stanford University.

1979 – Yamanashi University din Japonia crează robotul SCARA (Selective Compliance Arm for Robotic Assembly).

Fig. 1.2. Graficul evoluției roboților industriali.

1980 – In Japonia apare primul robot semi-inteligent cu acționare hidraulică, numit “WABOT”.

1984 – “National Science Foundation” din SUA pune bazele proiectului pilot APAS (Adaptable-Programmable Assembly System) care avea ca scop final realizarea unei linii flexibile de asamblare automată.

Roboții industriali erau în număr de aproximativ 250.000 împarțiți în mai multe tipuri. Câteva dintre ele sunt enumerate mai jos:

Roboți domestici

Roboti educaționali

Roboți medicali

Roboți de navigație

Roboți militari

Roboți de explorări spațiale

Exoskelete + proteze.

În ultimii 20 de ani asistăm la o veritabilă explozie în domeniul relizărilor robotice. Cercetările au mers în 2 direcții principale: o direcție “pe orizontală”, lărgindu-se extrem de mult aria de folosire a roboților, în special în toate ramurile industriale și cu precădere cele “neprietenoase” pentru operatorul uman, dar și în alte ramuri, cum ar fi cea a serviciilor și o direcție “pe verticală”, pentru creșterea performanțelor roboților în domeniu hardware și software, astfel încât aceste creații

să se apropie tot mai mult de capacitățile fizice ale viețuitoarelor pământului și, în special, de cele intelectuale și afective ale ființelor umane.

După un avânt substanțial al aplicațiilor roboticii în domeniul industrial, cu precădere în industria automobilelor, la începutul anilor 1990 s-au conturat multiple aplicații în domeniile neindustriale (nemanufacturiere). Asupra acestor aplicații doresc să atrag atenția, cu atât mai mult cu cât s-a estimat că robotica urmează să joace un rol însemnat în restructurarea civilizației mileniului trei. Această afirmație poate fi ușor susținută cu câteva date statistice conținute în ultimul raport (pe 2001) al IFR (International Federation of Robotics). Astfel, în anul 2000 s-au pus în funcțiune 98700 unități de roboți, numărul total ajungând la 949800 de unități, iar valoarea totală a pieței corespunzătoare acestui domeniu a fost estimată la 5,7 miliarde de dolari SUA.

Fig. 1.3. Graficul evoluției roboților neindustriali

Statisticile privind tipurile de roboți arată sugestiv creșteri importante ale numărului roboților care răspund unor aplicații neindustriale. Dacă în cursul anului 2000 numărul unităților instalate a ajuns la 112500, la sfârșitul anului 2004 se estima că numărul acestora va ajunge la aproape 625000.
Această dezvoltare, chiar spectaculoasă, în direcția aplicațiilor neindustriale justifică trecerea în revistă în rândurile de mai jos a principalelor subdomenii în care roboții nemanufacturieri sau roboții de serviciu își pot găsi aplicabilitate.

Aceste domenii sunt: construcțiile, reabilitarea bolnavilor, comerț, transport și circulația mărfurilor, administrația locală, protecția mediului înconjurător și agricultura; supraveghere, inspecție, protecția de radiații și intervenții în caz de catastrofe; hoteluri și restaurante; în medicină, gospodărie, hobby și petrecerea timpului liber.

2. ROBOȚI MOBILI

2.1. Ce reprezintă robotul

În anul 1942, Isaac Asimov a publicat o scurtă povestire, “Runaround”, în care folosit termenul “robotică” și în care a definit cele trei reguli de bază ale roboților:

Un robot nu poate leza o ființă umană sau nu poate asista inactiv atunci când aceasta este în primejdie.

Orice robot trebuie să se supună comenzilor primite de la ființele umane, cu excepția acelor comenzi care nu respectă primul principiu.

Orice robot trebuie să se autoprotejeze atunci când este pusă în pericol integritatea sa, cu excepția cazurilor în care s-ar încălca cel puțin unul dintre primele două principii.

Dar cine sunt acești ROBOȚI care trebuie să se supună unor legi atât de radicale?

Robotica este acea parte a științei care se ocupă cu studiul operațiilor umanoide și se situează la frontiera mecanicii cu informatica, electrotehnica, electronica și știința sistemelor și calculatoarelor, termotehnică, hidraulică. Operațiile umanoide sunt operațiile efectuate de către om cu ajutorul brațelor și picioarelor coordonate de organele de simț.

Robotul a constituit din totdeauna și continuă și în prezent să reprezinte o creație fascinantă. Este elementul care prezintă un viu și egal interes atât în domeniul creației tehnico-inginerești, cât și în cel al artei (literatură, film etc). În imaginația febrilă a omului a apărut o nouă creatură, de cele mai multe ori asemănătoare lui, care dispune de capacități complexe, de calități fizice superioare. Toți și-au pus mari speranțe în acest nou personaj, unii în rău, dar cei mai mulți în bine. Actualele generații de roboți au îndreptățit multe din speranțele noastre, dar tot multe speranțe au mai rămas de îndeplinit pentru generațiile viitoare de roboți.

Nu există încă o definiție clară a ceea ce înseamnă un robot, pentru că este foarte dificil să exprimi în câteva fraze varietatea de aspecte care au legătură cu această creație a omului. Tocmai din acest motiv, aproape fiecare firmă care are de a face cu așa ceva a încercat sa descrie cât de clar, scurt si cuprinzător a putut acest produs inventat de om. Din acest motiv, există o multitudine de definiții care mai de care mai interesante, mai concise sau mai cuprinzătoare, exprimate după cum a crezut fiecare firmă de cuviință.

În următoarele rânduri vor fi prezentate câteva definiții ale unor firme cu renume, cum ar fi:

RIA (Robot Institute of America): “Robotul este un manipulator multifuncțional, reprogramabil, destinat deplasării materialelor, pieselor, sculelor sau altor dispozitive specializate prin mișcări variabile, programate pentru a îndeplini anumite sarcini.”

JIRA (Japan Industrial Robot Association): “Robotul este un dispozitiv versatil și flexibil care oferă funcții de deplasare similare celor ale membrelor umane sau ale cărui funcții de deplasare sunt comandate de senzori și de mijloace proprii de recunoaștere.”

BRA (British Robot Association): “Robotul este un dispozitiv reprogramabil realizat pentru manipularea și transportul pieselor, sculelor sau altor mijloace de producție prin mișcări variabile programate pentru a îndeplini sarcini specifice de fabricație.”

GM (General Motors): “Robotul este un echipament fizic cu funcționare programabilă capabil să efectueze anumite operații și secvențe de operații orientate spre manipularea de piese, scule, subansamble. “

Institutul Francez de Standardizare definește robotul ca fiind „un manipulator automat

repregramabil și polivalent, capabil să realizeze poziționarea și reorintarea pieselor printr-o mișcare variabilă și programabilă a brațelor terminale, prin intermediul unor dispozitive.”

În literatura românească de specialitate robotul este definit ca fiind un echipament

automat, adaptabil prin reprogramare la condițiile de mediu în care acționează.

Robotul este un produs mecatronic ce combină tehnologia mecanică cu sisteme avansate de electronică și automatică.

Robotul este un sistem de mare flexibilitate, cu funcționare automată, adaptabilă condițiilor unui mediu complex în care evoluează, acționând, prelungind, amplificând sau înlocuind una sau mai multe din funcțiile umane exercitate asupra mediului.

Este un echipament fizic cu funcționare programată, capabil să efectueze anumite operații sau secvențe de operații, orientate spre manipulare de piese și dispozitive.

Robotul este un dispozitiv automat ce execută activități rezervate în mod normal oamenilor și operează cu o inteligență aproape umană.

Roboții sunt echipamente inofensive, care au rolul de ajuta omul. Diferența dintre om și robot este aceea că acesta din urmă este capabil să facă două lucruri identice.

După cum se poate observa, în toate definițiile date, în mare parte se face referire doar la partea industrială a roboților. Una din primele descrieri ale unui robot a avut scopul de a evidenția faptul că aceste creaturi mecanice au fost concepute pentru a imita omul și acțiunile sale.

Având trecute în revistă aceste lucruri, am putea spune că: „Roboții sunt sisteme mecanice cu structură variabilă, controlate de sisteme complexe și concepute pentru executarea de operații asemănătoare acțiunilor ființelor (umane și nu numai).”

Robotul este un sistem compus din mai multe elemente: mecanică, senzori și actuatori precum și un mecanism de direcționare. Mecanica stabilește înfățișarea robotului și mișcările posibile pe timp de funcționare. Senzorii și actuatorii sunt întrebuințați la interacția cu mediul sistemului. Mecanismul de direcționare are grijă ca robotul să-și îndeplinească obiectivul cu succes, evaluând de exemplu informațiile senzorilor.

Arhitectura generală a unui robot perrnite evidențierea a patru componente fundamentale. Fiecare dintre acestea asigură pentru robotul mobil o clasă de sarcini curente și specifice, din a căror integrare rezultă funcționarea globală dorită precum și integrarea în aplicația curentă.

Structura mecanică

Sistem de acționare (sursa energetică)

Sistem senzorial

Unitatea de control și gestiunea sarcinilor

2.1.1. Structura mecanică a unui robot

Sistemul mecanic al robotului are rolul de a asigura realizarea mișcărilor acestuia și transmiterea energiei mecanice necesare interacțiunii cu mediul. Adică are sarcina de a deplasa un obiect. Partea din sistemul mecanic care realizează această deplasare se numește dispozitiv de ghidare sau manipulator.

Se înțelege prin manipulare modificarea situării în spațiu a unui obiect. Utilizarea mâinii de către om a determinat formarea cuvântului de manipulare. Manipularea obiectului se realizează prin modificarea situării bazei efectorului final, cu care obiectul este solidarizat. În acest scop, baza efectorului final este solidarizată cu un element al dispozitivului de ghidare.

Dispozitivul de ghidare are rolul de a da efectorului final mișcările și energia mecanică necesară mișcări în conformitate cu acțiunea necesitată asupra mediului.

Subsistemul din cadrul sistemului mecanic dedicat acestei interacțiuni este efectorul final.

Structura mecanică este astfel concepută încât să asigure atât funcția specifică de motricitate, cât și realizarea obiectivelor stabilite prin destinația robotului. În raport cu motricitatea se pot evidenția patru structuri mecanice de bază:

Structura cu roți este cea mai comună, fiind impusă de practica realizării vehiculelor. Datorită performanțelor și avantajelor specifice, se poate aprecia că această soluție s-a impus definitiv pentru aplicațiile industriale, existând totuși o mare varietate constructivă.

Structura cu șenile prezintă avantajul unei bune aderențe pe sol și ușurința în depășirea obstacolelor. Soluția este reținută pentru roboții mobili ce evoluează pe sol accidentat, în aplicații civile sau militare.

Structura pășitoare dispune de un sistem mecanic complicat, dotat cu numeroase articulații, fiind inspirată din biologia multipezilor. Soluția este adecvată accesului în medii extrem de dificile, periculoase sau inaccesibile omului, și este abordată mai mult pentru unele destinații speciale.

Structura șerpuitoare reprezintă o soluție de locomoție într-un mediu de tip tunel, și vizează aplicațiile din exploatările miniere, testele geologice sau inspecțiile în zone cu geometrii complexe. Tehnicile folosite sunt inspirate tot de biologic, conducând la soluții mecanice ample, cu o structură modulară ce introduce numeroase grade de libertate. Literatura de specialitate relevă trei structuri: o structură inextensibila (articulată după două axe reciproc ortogonale), o structură cu trei articulații (două ortogonale de rotație și una de translație în sensul mișcării principale de avans) și o structură capabilă să realizeze deplasarea relativă între două module succesive.

2.1.2. Sistemul de acționare. Sursa energetică

Sistemul de acționare se alege în funcție de clasa de operații ce trebuie executate, în funcție de modul de lucru, de viteza de deplasare, de sarcină și de spațiul de mișcare precum și de precizia de poziționare. Astfel există:

sisteme de acționare electrică (aproximativ 30% din numărul acestora),

sisteme de acționare pneumatice (cam 21% din cazuri),

sisteme de acționare hidraulice pentru sarcini mari și deplasări limitate în spațiu.

sisteme de acționare mixte (9% din variantele constructive) – de tip electropneumatic sau electrohidraulic.

Energia electrică este în mod evident cea mai des folosită, datorită multiplelor sale avantaje. Transportul sau generarea energiei electrice necesare funcționării unui robot mobil întâmpină însă anumite dificultăți specifice. Din punct de vedere principial, de-a lungul timpului au fost testate mai multe soluții constructive, după cum urmeaza:

Acumulatori reîncărcați periodic, automat sau manual.

Grup electrogen îmbarcat, soluție relativ incomodă, ce folosește combustibil lichid și care creează poluare în spații închise.

Linie electrică de alimentare (așa numitul cordon ombilical), ceea ce suprimă în totalitate limitările energetice, dar introduce restricții importante în autonomie și mobilitate.

Încă din anii 1970, studiul vehiculelor cu tracțiune electrică a reliefat problema capitală a stocării energiei în raport cu autonomia de deplasare. Deși numeroase îmbunătățiri tehnologice au fost introduse în fabricația bateriilor și acumulatorilor electrici, se poate aprecia că rezultatele sunt încă foarte modeste comparativ cu soluțiile convenționale, ceea ce restrânge puternic autonomia unui robot mobil. Energia masică furnizată de acumulatorii utilizați pentru tracțiunea electrică variază de la 20W· h/ Kg pentru acumulatorii uzuali realizați în varianta constructivă clasică (Pb/acid), până la 180W · h/ Kg pentru cei mai performanți (Na/S), ceea ce reprezintă valori modeste comparativ cu alte

resurse energetice.

Cu toate acestea, soluția alimentării prin acumulatori reîncărcabili este cea mai indicată pâna în prezent pentru roboții mobili de uz industrial, dimensionarea fiind realizată în funcție de volumul robotului, sarcina manipulată, regimmile dinamice prevăzute, precum și durata de funcționare zilnică (unul sau două schimburi).

Perfecționările continue pe care le-au cunoscut în ultimii ani acționările electrice, atât sub aspectul elementelor de execuție cât și al structurilor de comandă, au permis dezvoltarea unor sisteme de acționare inteligente, ce pot răspunde din ce în ce mai eficient cerințelor specifice motricității unui robot mobil. Schema structurală a unei astfel de acționări este indicată în figura 2.1.

Fig. 2.1. Schema structurală a unei acționări inteligente pentru

realizarea motricității unui robot mobil

Motoarele de acționare ale roboților trebuie să îndeplinească următoarele condiții:

– să dezvolte cupluri ridicate;

– să aibă gabarit și masă reduse;

– să fie caracterizat printr-un moment de inerție scăzut pentru a permite poziționarea precisă;

– să fie compatibil cu sistemul de comandă și cu sistemul senzorial;

– să fie insensibil la perturbații.

Noutatea în domeniul acționărilor o constituie fibra musculară artificială, foarte utilizată în cazul androizilor. Acești mușchi artificiali modelează grosier funcționarea fibrei musculare umane dar pe lângă viteza de acționare scăzută, timpul mare de răspuns și limitarea posibilităților de deplasare spațială a brațului astfel acționat există și dezavantajul unei sarcini manipulate de valoare mică.

2.1.3. Sistemul senzorial

Dicționarele din prima parte a anilor 1970 nu cuprind cuvântul "senzor". Acesta a apărut odată cu dezvoltarea microelectronicii, împreună cu alte noțiuni de mare impact, cum ar fi cele de „microprocesor”, „microcontroller”, „actuator” etc., adăugând o noțiune nouă unei terminologii tehnice având o anumită redundanță. Astfel, o mare parte din elementele tehnice senzitive sunt încadrate în categoria de traductor. Un traductor este un dispozitiv care convertește efecte fizice în semnale electrice, ce pot fi prelucrate de instrumente de măsurat sau calculatoare.

Ce este senzorul? Trebuie spus că nu există o definiție unitară și necontestată a „senzorului”, motiv care lasă mult spațiu pentru interpretări, ambiguități și confuzii. Denumirea senzorului provine din cuvântul latin „sensus”, care însemnă simț și înainte de a fi adoptat pentru sisteme tehnice, a fost și este utilizat pentru a desemna capacitățile organelor de simț ale oamenilor și ale organismelor vii, de a culege și prelucra informații din mediul înconjurător și a le transmite creierului. În acest proces, mărimile fizice, neelectrice, sunt convertite în semnale electrice, pe care creierul le poate prelua și interpreta; pe baza cărora poate coordona acțiunile mușchilor. Modelul din biologie este întâlnit în mare măsură și la sistemele mecatronice.

Sistemele mecatronice sunt formate din trei tipuri de senzori, și anume:

senzori interni (interioceptivi) – plasați pe buclele interne de reglare și ajută la descrierea traiectoriei segmentelor mecanice componente;

senzori externi (exterioceptivi) – se utilizează pe buclele externe pentru coordonarea traiectoriei generale a ansamblului;

senzori de securitate – utilizați pe buclele interne sau externe de reacție pentru sesizarea pericolelor (ciocniri, creșterea temperaturii, etc.).

Fig. 2.2. Schema bloc a unui senzor

Funcțiile sistemului senzorial sunt:

realizarea reglajului de poziție, viteză, deplasare, accelerație, efort;

modelează o serie de funcții senzoriale umane: tactilă, vizuală;

de tip releu pentru evitarea coliziunilor și securitate.

Senzorii interni sunt în general de tip poziție și deplasare. Cei mai utilizați în acest caz sunt senzorii de tip potențiometric (rezistivi) și cei de tip optic. Sistemele senzoriale de tip optic conțin un generator de flux luminos (de regulă un LED) și un element receptor (fototranzistor sau fotocelulă). Pentru poziționări precise se utilizează senzori inductivi.

Senzorii externi sunt senzori de efort (în general au la bază mărci tensometrice plasate pe concentratoare de efort), senzori de alunecare sau senzori tactili.

O categorie aparte de astfel de senzori o reprezintă pielea artificială ce are la bază proprietățile reflexiei și refracției luminii. Este vorba de senzorul cu fibră optică și senzorii cu ghid optic tangențial, cei mai utilizați dintre variantele constructive ce folosesc fascicole luminoase.

Sistemul senzorial de securitate are rolul de a evita coliziunile când apar regimuri deficitare de funcționare sau obstacole neprevăzute. Noii algoritmi inteligenți de recunoaștere a paternului împreună cu tehnologiile de realizare a camerelor digitale de luat vederi (CCD) de înaltă rezoluție dau valențe noi acestui sistem senzorial permițând luarea deciziilor și stabilirea traiectoriilor de deplasare.

Cei mai utilizați senzori datorită raportului preț – precizie de poziționare sunt senzorii optici în infraroșu și senzorii cu ultrasunete, formați dintr-un emițător de undă și un receptor comandat în fază cu emițătorul. Funcționarea acestor senzori este puternic influențată de caracteristicile mediului (praf, fum, suprafețe reflectorizante, etc.).

Ca senzori de proximitate se mai folosesc senzori fluidici (cu jet de aer), capacitivi sau inductivi, senzori ce comandă relee sau microîntrerupătoare ce decuplează în situații critice alimentarea sistemului de acționare. Acești senzori au prioritate în nivelul de întreruperi a sistemului decizional.

2.1.4. Unitatea de control și gestiunea sarcinilor

Sistemul pentru tratarea informațiilor și gestiunea sarcinilor constituie modulul informatic central. El stabilește comenzilc necesare pentru realizarea tuturor funcțiilor specifice navigației, precum și activarea dispozitivelor conexe, în concordanță cu obiectivul propus.

Complexitatea acestui modul poate fi extrem de variabilă, în strânsă corelație cu gradul de autonomie și de inteligență ce caracterizează robotul, mergând de la un singur automat programabil până la structuri ierarhizate multiprocesor. Pentru scopurile industriale sunt preferabile soluțiile mai simple, ce raspund prin cost și fiabilitate cerințelor utilizatorilor pentru clasa aplicațiilor uzuale.

Totuși, întrucât creșterea inteligenței îmbarcate pe robot determină și un spor de flexibilitate în exploatare, în viitor sunt de așteptat soluții din ce în ce mai sofisticate.

Din punct de vedere al amplasării acestui modul, pot exista două soluții, fiecare cu o serie de avantaje și dezavantaje specifice:

Amplasarea pe robot, ceea ce întărește esența conceptului de autonomie.

Amplasarea exterioară fixă, ceea ce presupune existența a cel puțin unui canal radio pentru realizarea dialogului permanent cu robotul.

Se poate însă aprecia că atât perfecționările microelectronicii, cât și specificul mediului industrial, conduc la avantajarea primei soluții. Comunicațiile radio permanente pot fi ușor perturbate de numeroasele câmpuri electromagnetice parazite, ce există în mediul industrial.

În plus, utilizarea undelor radio este supusă pretutindeni unui proces de autorizare pentru eliberarea licențelor de emisie.

Fig. 2.3. Organizarea sistemului pentru tratarea informațiilor

și gestiunea sarcinilor robotului mobil.

Sistemul pentru tratarea informațiilor și gestiunea sarcinilor asigură modelarea spațiului, localizarea robotului în scena sa de operare, planificarea traiectoriei, precum și strategia de navigație și de ghidare. Toate aceste probleme includ o mare varietate de abordări și soluții concrete, cu un grad mai mic sau mai mare de generalitate. Pentru roboții mobili complet autonomi, acest modul deține adesea și capacitatea de învățare pe baza experiențelor anterioare. Se creează astfel premizelă ca o anumită sarcină de navigație, cum ar fi spre exemplu depășirea unui obstacol întâlnit pe traiectorie, să poată fi realizată cu o mai mare rapiditate prin utilizarea unor strategii care, cel mai adesea, au condus anterior la succes.

2.2. Clasificările roboților

Indiferent că vorbim despre roboți industriali sau neindustriali, roboți cu bază fixă sau roboți cu bază mobilă, este clar faptul că sunt din ce în ce mai răspândiți printre noi, și din ce în ce mai utilizați. Din acest motiv, o clasificare a acestora trebuie făcută bazându-se pe o mulțime de criterii, pe care le voi exemplifica în rândurile de mai jos.

a) După domeniile de utilizare:

– în domeniul industrial – roboți industriali

– în medicină – exoschelete, roboți medicali

– în zone aflate la distanță față de operator – telemanipulatoare

– în scopuri distractive – roboți de divertisment

– în învățământ – roboți educaționali

– pentru asistarea și ajutorul oamenilor – roboți pentru service

b) după scopul utilizării, roboții pot fi proiectați pentru:

– eliminarea efortului (manipulare obiecte grele sau/și voluminoase)

– eliminarea plictiselii și rutinei (schimbarea poziției unei piese pe masa de lucru la producția de serie etc)

– înlocuirea omului în poziții fizice dificile (anumite operații de sudură în industria auto etc)

– asistența persoanelor defavorizate (cu handicap, accidentate, vârstnice, blocate sub dărâmături, în caz de incendii,inundații, alte catastrofe)

– operații ce prezintă pericol pentru om (medii toxice, cu iradiere, dezamorsări etc)

– asigurarea preciziei cerute (în industria microelectronică, operații chirurgicale etc)

– asigurarea unui randament și a unei eficiențe superioare ale operațiilor executate (viteză mărită, frecvență sporită etc.)

– pentru operații în zone inaccesibile omului (cosmos, fundul oceanelor, labirinturi)

– pentru divertisment (parcuri de distracții, filme science-fiction etc.)

– pentru înlocuirea unor membre umane cu funcții afectate (mâini, degete, picioare mecanice etc)

– pentru operații militare (roboți mobili, simulatoare etc.)

– fără un scop anume

c) după sistemul de coordonate în care operează:

– roboți în coordonate carteziene

– roboți în coordonate cilindrice

– roboți în coordonate sferice

– roboți în coordonate antropomorfe

– roboți în alte tipuri de coordonate (ex.: torice).

d) după gradul de complexitate a sistemului de conducere:

– manipulatoare clasice (stucturi mecanice de braț simple care execută mișcări reduse, în multe cazuri prin intervenția directă a operatorului uman)

– roboți secvențiali (execută un set de mișcări clar ordonate în timp)

– roboți repetitori (repetă cicluri de mișcare învățate în perioada de instruire)

– roboți cu comandă numerică (sunt conduși de controlere specializate, asemănătoare celor de la mașinile unelte)

– roboți inteligenți (dispun de sisteme senzoriale complexe – vedere artificială, piele artificială; sisteme de control de ultimă generație – inteligență artificială; comportare adaptivă la modificările mediului, dialog om-robot în limbaj natural etc).

e) după gradul de redundanță:

– roboți neredundanți (numărul gradelor de mobilitate 6)

– roboți redundanți (numărul gradelor de mobilitate > 6, dar <30)

– roboți hiper-redundanți (numărul gradelor de mobilitate este foarte mare,teoretic infinit,practic >30)

f) după generație:

– din generația I (manipulatoarele clasice)

– din generația II (roboții industriali obișnuiți)

– din generația III (comportare adaptivă, sisteme de locomoție)

– din generația IV (roboții inteligenți)

– din generația V (roboții dotați cu simțuri și sentimente)

g) după tipul sistemului de acționare:

– cu acționare electrică

– cu acționare hidraulică

– cu acționare pneumatică

– cu acționare mixtă

– cu acționare neconvențională (bazate pe fluide ER/MR, materiale cu memorarea formei, mușchi artificiali etc).

h) după numărul gradelor de libertate:

– cu un singur grad de libertate

– cu 2 grade de libertate

– cu 3 grade de libertate

– cu 4 grade de libertate

– cu 5 grade de libertate

– cu 6 grade de libertare

i) după existența sistemului de locomoție:

– roboți cu bază fixă

– roboți mobili (cu sisteme de locomoție pe roți, pe șenile, conveioare, pe picioare, pentru cățărare, prin târâre etc)

j) după capacitatea de ridicare:

– ușori (ridică 0-5 kg)

– medii (ridică 5-200 kg)

– grei (ridică peste 200 kg)

k) După soluția constructivă a structurii mecanice:

– Roboți cu structuri mecanice convenționale (roboți industriali, telemanipulatoare etc.)

– Roboți cu structuri mecanice neconvenționale (roboți pășitori/cățărători, roboți tip șarpe sau râmă, roboți cu brațul tip trompă de elefant sau tentacul etc.)

2.2.1. Roboți industriali. Domenii de utilizare

Robotul industrial reprezintă un sistem electropneumo-hidromecanic dotat cu mai multe grade de libertate, capabil să execute autonom și automat operații de manipulare sub controlul unui sistem de comandă echipat cu memorie programabilă.

Aplicațiile actuale ale roboților sunt foarte diverse. Pentru unele aplicații sunt concepuți roboți speciali, pentru altele însă există roboți cu o cinematică (structură mecanică) standard. În zilele noastre, datorită tehnologiei avansate, prezența roboților este vizibilă în toate domeniile, cum ar fi:

1) Utilizarea roboților în operații de sudare

Sudarea este una dintre primele operații tehnologice (iar în prezent printre cele mai răspândite) la care s-a prevăzut utilizarea roboților, acest fapt datorându-se condițiilor extrem de dificile în care lucrează operatorul uman în acest proces ca, de exemplu: emanațiile de fum și gaze, solicitarea fizică deosebită (greutatea cleștelui, poziții incomode etc).

Aplicațiile utilizării roboților în operații de sudare se împart în două mari clase:

– sudarea “punct cu punct”: sudarea prin rezistență în puncte sau relief, sudarea bolțurilor, electronituirea etc.

– sudarea “în cordon” (de tip liniar și contur): sudarea cu arc electric, cu plasmă, prin rezistență în linie, cu oxigen etc.

Operațiile efectuate de roboți în timpul procesului de sudare pot fi de două tipuri:

– operații principale: robotul execută efectiv sudarea prin intermediul terminalului specific, dotat cu electrozii corespunzători,

– operații secundare: manipularea pieselor sudate de alte dispozitive specializate, prelucrarea rosturilor, curățirea și finisarea cordonului de sudare.

Programarea traiectoriei terminalului robot pentru operațiile de sudare se face prin metoda modernă de “instruire” care constă în a urmări traseul dorit printr-o anumită metodă, timp în care traductoarele echipamentului înregistrează în memorie informația legată de poziții și viteze. Traiectoria “învățată” în acest mod este, apoi, urmată de către robot ori de câte ori este programat s-o facă.

Câteva aspecte ale sudării robotizate:

– Pentru mărirea productivității, în unele cazuri s-a prevăzut dotarea roboților cu două brațe pentru sudarea în paralel a două piese identice sau a părților simetrice ale aceleiași piese.

– În cazul sudării prin puncte pe traiectorii spațiale complexe (de exemplu la caroseriile auto), fiind necesară poziționarea și orientarea electrodului în poziție perpendiculară pe suprafața de sudat, se impune utilizarea unui robot cu cel puțin 5 grade de libertate. În cazul unei suprafețe planare acest număr se reduce la 3.

– Pentru cazuri de spații de operare puternic restricționate de prezența obstacolelor se impune utilizarea roboților redundanți, dotați cu 2-3 grade de libertate suplimentare sau preluarea de către anumite dispozitive speciale (mese rotative și liniare, manipulatoare etc.) a unei părți din sarcinile de deplasare ale robotului.

2) Utilizarea roboților la șlefuirea și lustruirea suprafețelor prelucrate ale pieselor

– S-a constatat o creștere accentuată a parcului de roboți industriali în domeniul prelucrării, în special pentru lucrările de șlefuire și lustruire.

– Este vorba, în special, de operațiile de finisare a pieselor care ar trebui, altfel, executate pe cale manuală, determinând o creștere a prețului produsului.

3) Utilizarea roboților la turnarea pieselor din materiale metalice

Procesul de turnare este unul din domeniile industriale în care roboții sunt utilizați pe scară largă,

a) datorită condițiilor grele de muncă (vibrații, temperaturi ridicate, sarcini mari, zgomot, gaze, praf etc.)

b) pentru mărirea randamentului și a productivității procesului tehnologic.

Există multe operații deservite de roboți: formare, manipularea modelelor ușor fuzibile pentru obținerea formelor coajă, introducerea miezurilor în forme, turnare, scoaterea piesei turnate, debavurare prin polizare, curățare, verificare.

4) Utilizarea roboților în operații de prelucrări prin așchiere

În urma statisticilor publicate se constată faptul că majoritatea covârșitoare a operațiilor efectuate de roboți la prelucrările prin așchiere sunt operații auxiliare:

de deservire cu piese, scule și semifabricate a mașinilor-unelte,

de eliminare a așchiilor, rebuturilor și resturilor rezultate în urma operațiilor tehnologice.

Elementele principale, care realizează efectiv operația de prelucrare prin așchiere, sunt mașinile unelte.

5) Utilizarea roboților în operații de forjare, matrițare și tratamente termice

Utilizarea roboților industriali în locul operatorilor umani la aceste operații industriale conduce la numeroase avantaje:

îndepărtarea omului de un loc de muncă caracterizat prin: temperaturi ridicate, atmosferă poluantă, eforturi

fizice mari, vibrații, zgomot accentuat,

reducerea rebuturilor,

creșterea durabilității sculelor datorată uniformității asigurate de ciclul de lucru automatizat,

îmbunătățirea calității pieselor,

creșterea ritmului de lucru și a gradului de încărcare a utilajelor.

La operațiile de forjare liberă sau în matriță, de prelucrare a tablelor sau de tratament termic, manipulatoarele și roboții industriali execută operații de manipulare a semifabricatelor între utilaje sau chiar în interiorul utilajelor, de la un punct de prelucrare la altul.

6) Utilizarea roboților în industria maselor plastice

În industria prelucrării materialelor plastice roboții sunt utilizați la efectuarea

de inserții metalice în matriță sau

la deservirea matriței de injecție, mașinii, dispozitivelor de debavurare, cuvelor de răcire, containerelor și benzilor transportoare care fac parte din sistemul de injecție. În acest fel operatorul este protejat de pericolele de explozie, temperaturi ridicate, gaze nocive etc.

7) Utilizarea roboților în industria sticlei

problemă care apare aici, diferită de cele din alte ramuri industriale, o reprezintă fragilitatea obiectului manipulat (sticla). Din acest motiv trebuie luate în considerare măsuri specifice, în special referitoare la structura terminalului robot.

Cele mai întâlnite operații executate de roboți în acest domeniu sunt:

– manipularea,

– tăierea elementelor din sticlă și

– polizarea marginilor rezultate în urma tăierii.

În cazul manipulării unor obiecte din sticlă aflată la temperatura normală trebuie rezolvate doar problemele

legate de fragilitate; obiectele fierbinți impun materiale adecvate în structura dispozitivului de apucare.

Pentru geamuri plate se utilizează terminale de prindere dotate cu ventuze cu vid.

În funcție de mărimea și forma geamului manipulat pot fi prevăzute: o singură ventuză sau mai multe, amplasate pe o singură față sau pe ambele fețe ale geamului.

8) Utilizarea roboților în industria alimentară

industria alimentară se află în perioada de început a automatizării si robotizarii, deși există numeroase posibilități de introducere a roboților.

9) Utilizarea roboților în operații de verificare și control

În astfel de operații există două situații posibile:

a) manipularea piesei de verificat la dispozitivul de control și testare și

b) manipularea dispozitivului de control la piesa ce trebuie verificată. În ambele variante există posibilitatea cerinței ca robotul să execute o serie de poziționări și orientări suplimentare ale terminalului, conform algoritmului de testare și control.

Câteva exemple de operații de testare și control efectuate cu ajutorul roboților industriali: controlul formei pieselor, controlul dimensional al acestora, controlul suprafețelor roților dințate sau al altor suprafețe alezate etc.

Alte domenii de utilizare a roboților

10) Utilizarea roboților în operații de asamblare

11) Utilizarea roboților în operații de tăiere și debavurare, cu laserul

12) Roboți pentru utilități publice. Exemplu de aplicație: utilizarea roboților la săparea de galerii pentru utilitățile publice din marile orașe.

13) Utilizarea roboților în medii de curățenie extremă.

14) Utilizarea sistemelor robotice în îngrijirea sănătății și biomedicină (servicii de sănătate)

15) Utilizarea roboților în distrugerea minelor antipersonal

16) Utilizarea roboților în explorări științifice (aplicații subacvatice, aplicații spațiale, explorări vulcanice)

2.2.2. Roboți mobili. Tipuri de direcții

Primii roboți au avut o caracteristică comună, și anume baza fixă și o structură antropomorfă asemănătoare operatorului uman. Evoluția sistemelor tehnice a dus la apariția roboților mobili, astfel că la ora actuală robotul mobil este caracterizat de posibilitatea de navigare în mediul de lucru.

Mobilitatea unui robot, ca și a oricărui vehicul de altfel, presupune posibilitati de deplasare pe planul suport (sol). Astfel, se pot evidenția două funcții distincte:

Funcția de propulsie, ce include deplasările liniare ale robotului pe direcția longitudinală și pe cea transversală. Această funcție este realizată prin rotația comandată a roților în jurul propriilor axe de rotație.

Funcția de direcție (sau orientare), ce are ca finalitate rotația întregului robot în jurul axei sale proprii de pivotare.

Rezultă deci că, în cazul unei mobilități totale, există trei grade de libertate, cel puțin două acționări fiind necesare. Ca atare, roțile unui vehicul pot fi clasificate în două grupe:

Roți motrice, dacă o acționare transmite axului lor un cuplu ce asigură funcția de propulsie.

Roți directoare, cele destinate realizării funcției de orientare a robotului mobil în scena sa de operare.

Se poate face o distincție între roțile directoare capabile să realizeze numai o mișcare liberă de rotație, mecanismului de orientare revenindu-i comanda axei de pivotare, și roți directoare complet libere (independente, sau "castor"), capabile atât de rotație, cât și de pivotare pe o direcție normală. În acest ultim caz, funcția de orientare este transferată în comanda roților motrice.

Trei roți sunt necesare unui robot mobil pentru a asigura echilibrul său, numit echilibru isostatic. Din motive de stabilitate, mai ales în viraje, este preferabilă dispunerea a patru roți. Echilibrul este atunci de tip hiperstatic. Transforrnarea echilibrului isostatic într-unul de tip hiperstatic se face adesea și prin introducerea unor roți libere la rotație și orientare, cunoscute și sub denumirea de roți castor.

În general, roboții mobili de mică putere dispun de două sau trei roți motrice și/sau directoare (legate rigid de șasiu), și una, două sau trei roți libere atât la rotație cât și la pivotare, ce asigură suspensia elastică a întregii structuri mecanice.

Cele mai folosite soluții pentru a realiza direcționarea roboților mobili sunt prezentate mai pe larg în subcapitolele următoare, respectiv:

Direcția prin “osie frântă”

Direcția prin „osie pivotantă”

Direcția prin „roți diferențiale”

Direcția prin „roți cu galeti”

2.2.2.1. Direcția prin “osie frântă”

Direcția de tip "osie frântă" reprezintă principiul binecunoscut de funcționare al direcției automobilelor. Roțile directoare sunt de regulă dispuse în partea frontală (în raport cu direcția de mers) și posedă fiecare câte o axă proprie de pivotare AP1 și AP1, situate la extremitățile osiei fixe anterioare. Pentru a nu apărea patinări pe sol ale roților în viraje, cele două roți directoare trebuie să descrie curbe ce au același centru instantaneu de rotatie R. Axele celor patru roți trebuie deci să fie permanent concurente în același punct.

Direcția de tip osie frântă asigură o adevărată separare între funcțiile de motricitate și de direcție, ceea ce facilitează conducerea robotului (simplitate în comandă, cuplu de bracare mic, etc.), și favorizează stabilitatea generală a robotului, întrucât poligonul de sustentație, ce este definit de cele patru puncte de contact roți și sol, rămâne practic invariabil. Efectul de impact al unei roți cu un

obstacol produce o reacție slabă, dacă lungimea bielelor este mică.

Printre dezavantajele utilizării unei astfel de soluții la realizarea bazei mecanice a roboților mobili, se pot menționa: un mecanism de direcție relativ mai complicat și implicit mai scump, traseul de ghidare trebuie să aibă unghiuri de viraj strict limitate, adică sunt obligatorii racordări (cu rază minimă impusă) între tronsoanele liniare de traiectorie, întrucât rotația pe loc a robotului (așa-numita "pivotare ") este imposibilă.

2.2.2.2. Direcția cu osie pivotantă

Direcția cu osie pivotantă asigură modificarea orientării robotului mobil prin pivotarea uneia sau a mai multor părți din componența sa în jurul unei axe unice de pivotare AP. Funcțiile de propulsie și direcție pot fi asigurate de aceleași roți, denumite în acest caz roți motrico-directoare, sau separat, caz în care funcția de pivotare este asigurată de una sau mai multe roți directoare, cu mișcare de rotatie liberă.

Direcționarea prin osie pivotantă poate fi realizată în mai multe configurații, cea mai obișnuită fiind cu o singură acționare a direcției (pe axa de pivotare AP, perpendiculară pe sol) și una sau două acționări de propulsie pe axa AR, paralelă cu solul. Trebuie menționat că roata ce asigură orientarea robotului (eventual roata motrico-directoare) poate fi simplă sau dublă, și poziționată anterior sau posterior în raport cu direcția normală de înaintare. Se impune însă o atentă echilibrare a structurii, iar pentru îmbunătățirea stabilității se pot prevedea și alte roți independente, dispuse pe aceeași circumferință. Lipsa de echilibrare, centraj și contact nepunctiform cu solul, pot conduce la fenomene de tangaj în raport cu axa de pivotare.

Există șase configurații reprezentative pentru roboții mobili cu direcție asigurată prin osii pivotante. Pentru îmbunătățirea stabilității generate pe tronsoanele rectilinii de traiectorie, roțile R1 și R2 trebuie să fie rigide la pivotare, adică trebuie să aibă axele de rotație AR fixe.

Fig. 2.4. Variante constructive posibile pentru roboții mobili cu direcție controlată prin osie pivotantă.

Variantele constructive din Figura 2.4. a. b. c. utilizează roți simple, cea mai indicată fiind prima soluție. La această, comandă de orientare este facilă și permite unghiuri importante de pivotare. De ascmenea, nu există decât teoretic un cuplaj mecanic între propulsie și orientare, orientarea robotului mobil putând fi practic controlată cu ușurință în timpul propulsiei. Șocul cauzat de impactul cu un obstacol poate însî determina pivotarea roții din față. Acesta este motivul pentru care se preferă cel mai adesea inversarea sensului de deplasare, în scopul creșterii stabilității în linie dreaptă, astfel încât osia roților motrice R1 și R2 devine osie anterioară în raport cu direcția normală de deplasare a robotului mobil.

Soluția constructivă din Figura 2.4. b. prezintă interes deoarece prezența unui braț al suspensiei, de tip biela, între axa de pivotare AP și planul de simetrie al roții , faciliteaza pivotarea. Stabilitatea generală este însă modestă din două cauze principale: poligonul de sustentație este variabil în timpul deplasărilor pe tronsoane nerectilinii de traiectorie, iar pe de alta parte, există un cuplaj mecanic între funcțiile de propulsie și de direcție.

Soluția constructivă din Figura 2.4. c. este inspirată din mecanismul de direcție al autovehiculelor. Ea asigură un reglaj automat al poziției roții anterioare de direcționare pentru deplasările rectilinii, însă cuplul motor necesar orientării sale este mult mai mare comparativ cu variantele constructive anterioare, chiar și atunci când robotul este în repaus.

Variantele constructive prezentate în Figura 2.5 . a. b. c. înlocuiesc roata unică de direcționare a robotului cu o pereche, ceea ce ameliorează considerabil stabilitatea, permițând și luarea în considerație a altor soluții pentru asigurarea orientării robotului mobil. În cazul soluției constructive din Figura 2.5. a., cele două roți directoare pot fi mecanic independente sau cuplate printr-un grup diferențial.

Fig. 2.5. Variante constructive posibile pentru roboții mobili cu direcție controlată prin osie pivotantă

Deosebită este soluția constructivă din Figura 2.5. c., utilizată adesea pentru construcția bazei mecanice a roboților mobili destinați aplicațiilor industriale. Existența unui poligon de sustentație de tip patrulater, ce rămâne practic constant pe parcursul tuturor deplasărilor robotului mobil, face cuplul necesar pivotării să fie mic, iar stabilitatea foarte bună.

De asemenea, printr-o comandă adecvată, roțile motoare pot fi în același timp și roți directoare, iar dacă roțile R1 și R2 sunt cu mișcare liberă de rotație și pivotare, adică sunt roți de tip "castor", se poate asigura pivotarea pe loc a robotului, eliminându-se necesitatea unor racorduri în viraje.

Acest ultim aspect este deosebit de important pentru navigația robotului mobil pe o traiectorie prescrisă de către planificatorul său de traiectorie, întrucât simplifică traseul cablat sau memorat, traseu care poate avea acum orice formă pur poligonală.

Pe de altă parte, această soluție constructivă a osiei pivotante a robotului mobil realizează o legătură principială strânsă cu soluția următoare de direcționare, bazată pe utilizarea roților motrice cu funcționare diferențială.

2.2.2.3. Direcția prin roți diferențiale

Direcția prin roți diferențiale, este deseori folosită în construcția roboților mobili. Două roți R1 și R2, dotate cu acționările independente M1, M2 , și fără capacitatea de pivotare în jurul axelor fixe AF1 și AF2 , realizează atât propulsia cât și direcționarea prin diferența de viteză unghiulară dintre ele (roți motrico-directoare).

În cazul acestei soluții constructive, absența pivotării elimină posibilitatea apariției oscilațiilor întregii structuri pe parcursul deplasării. La soluțiile anterioare, aceste oscilații erau produse de neregularitățile solului, cuplul de girație al întregii structuri, etc.

Ca dezavantaj, se poate menționa imposibilitatea realizării deplasărilor transversale, cât și faptul că o bună stabilitate și precizie pe traiectoria de navigație impusă necesită în mod obligatoriu controlul reciproc și coordonat al vitezelor roților R1 și R2.

2.2.2.4. Direcția prin “roți cu galeți”

Direcția prin “roți cu galeți” reprezintă o soluție bazată pe o concepție originală de roată, în care banda de rulare este înlocuită printr-un număr de rulouri, a căror axă este înclinată comparativ cu cea a roții. Deoarece numai rotația poate fi comandată, sunt necesare mai multe roți pentru a asigura o mobilitate completă a robotului mobil.

Fig. 2.6. a.Roată cu galet. b. Variantă constructivă prin roți cu galeți

Prin studii experimentale s-a ajuns la evidențierea a două soluții fundamentale:

Roboți mobili cu patru roi cu galeți, axele rulourilor înclinate la 45° față de axa roții

Roboți mobili cu trei roți cu galeți, dispuse triunghiular, axele rulourilor fiind perpendiculare pe axa roții.

Deși mobilitatea acestei variante de proiectare este totală, ea nu s-a impus, întrucât construcția mecanică este relativ pretentioasă, sarcina utilă este mică, iar coeficienții de frecare foarte mici cu solul limitează puternic accelerațiile, frânările și abordarea planelor înclinate.

2.2.3. Roboți neindustriali. Domenii de utilizare

Datorită dezvoltării spectaculoase în direcția aplicațiilor neindustriale, se justifică trecerea în revistă în rândurile de mai jos a principalelor subdomenii în care roboții nemanufacturieri sau roboții de serviciu își pot găsi aplicabilitate. Aceste domenii sunt construcțiile, reabilitarea bolnavilor, comerț, transport și circulația mărfurilor, administrația locală, protecția mediului înconjurător și agricultura; supraveghere, inspecție, protecția de radiații și intervenții în caz de catastrofe; hoteluri și restaurante; în medicină, gospodărie, educație și distracție (edu-tainement).

Pentru a sugera aplicații concrete în aceste subdomenii, aplicații abordabile în colective interdisciplinare de ingineri, sunt precizate mai departe direcțiile care pot fi avute în vedere.

În medicină: sisteme robotizate pentru diagnoza prin ecografie, sisteme robotizate pentru intervenții neurochirurgicale; telemanipulatoare pentru chirurgie laporoscopică; vehicule ghidate automat pentru transportul bolnavilor imobilizați la pat; vehicule ghidate automat pentru transportul medicamentelor, alimentelor, băuturilor și lenjeriei de schimb; vehicule ghidate automat pentru activități de curățenie și dezinsecție în spitale; sisteme robotizate pentru pregătirea prin simulare, înainte de operație, a unor intervenții chirurgicale etc.

Pentru reabilitare se pot identifica următoarele aplicații: scaun cu rotile pliant, îmbarcabil în autoturisme; manipulator pentru deservirea persoanelor paralizate, vehicul pentru conducerea nevăzătorilor etc.

În construcții: vehicul ghidat automat pentru asfaltarea șoselelor, sistem robotizat pentru stropirea betonului în construcția tunelurilor; robot mobil pentru cofraje glisante; excavatoare autonome, sistem robotizat pentru compactarea și nivelarea suprafețelor turnate din beton; sistem robotizat pentru inspectarea fațadelor clădirilor; sistem robotizat pentru montarea sau demontarea schelelor metalice etc.

În administrația locală: vehicul autonom pentru curățirea zăpezii de pe autostrăzi; vehicul autonom pentru menținerea curățeniei pe străzi; sistem robotizat pentru inspecția și întreținerea automată a canalelor etc.

Pentru protejarea mediului înconjurător: sistem robotizat de sortare a gunoiului în vederea reciclării, sistem automat de inspectare, curățare și recondiționare a coșurilor de fum înalte; platforme autonome mobile pentru decontaminarea persoanelor, clădirilor străzilor; vehicul ghidat automat pentru decontaminarea solului etc.

În agricultură, dintre aplicațiile posibile amintim: sistem robotizat de plantare a răsadurilor; sistem robotizat de culegere a fructelor; sistem robotizat de culegere a florilor; sistem robotizat de tundere a oilor etc.

În comerț, transporturi, circulație: vehicule ghidate automat pentru întreținerea curățeniei pe suprafete mari (peroane de gări, autogări și aerogări); sistem robotizat de curățire automată a fuselajului și aripilor avioanelor; sistem automatizat de alimentare cu combustibil a autovehiculelor.

Hotelurile și restaurantele pot fi prevăzute cu: sisteme robotizate pentru pregătirea automată a sălilor de restaurant, de conferințe; sistem de manipulare automată a veselei; minibar mobil pentru transportul bauturilor, ziarelor. Pentru siguranță și pază: robot mobil de pază pe timpul nopții în muzee; robot mobil pentru paza clădirilor și santierelor; vehicul autonom pentru stingerea incendiilor; robot mobil pentru detectarea și dezamorsarea minelor; sistem robotizat pentru intervenții în spații periculoase etc.

În gospodărie, pentru hobby și petrecerea timpului liber se pot identifica următoarele aplicații: robot de supraveghere copii pentru diverse intervale de vârstă; robot de gestionare și supraveghere generală a locuinței, robot mobil pentru tunderea automată a gazonului; instalație robotizată pentru curățirea bărcilor de agrement și sport etc.

2.2.3.1. Edu-tainement

Roboți utilizați în educație și distracție. Educația și distracția (edu-tainement) luate împreună formează unul din cele mai recente domenii de aplicație ale roboților mobili și evoluează rapid în ultimul timp. Principala particularitate a acestor aplicații este reprezentată de faptul că astfel de sisteme trebuie să fie ieftine, fără o precizie deosebita, fără a le fi impuse în mod special aspecte de robustețe sau fiabilitate. Edu-tainement înseamnă "învățare prin joacă", adică mai multă distracție, educația fiind un produs secundar.

Aspecte ale edu-tainement-ului:

competiția robotică

instrumente robotice pentru instruire

instrumente robotice pentru amuzament

kit-uri pentru construcții robotice

noi tipuri de jucării

robotica plus un mediu pedagogic

instrumente robotice pentru refacere (după un efort, imobilizare îndelungată etc

În categoria edu-tainement au fost incluse mai multe produse diferite, care au fost proiectate să instruiască tehnic și să amuze în același timp utilizatorul. Scopul este de a învăța prin joacă, luând în considerare mai mult amuzamentul, în timp ce educația este, într-un fel, un produs secundar.

Robotica pentru edu-tainement a fost identificată ca o cheie de succes pentru a familiariza oamenii tineri cu tehnologia. Copiii și adolescenții au nevoie să fie introduși în noile tehnologii cât mai repede posibil. Este fundamental să se înceapă cu schimbările în sistemul educațional introducând, de asemenea, noi instrumente de predare și învățare.

Robotica orientată spre edu-tainement include activități în jurul noilor jucării "inteligente" și consideră competiția robotică ca un nou tip de sport. Este recunoscut faptul că robotica furnizează noi metode pentru predare (în școli, universități, muzee, acasă) și are un potențial de piață imens. Competiția robotică pentru studenți îi determină pe aceștia să muncească din greu, distrându-se în același timp și încurajează lucrul în echipă.

Fig. 2.7. Robot mobil de urmărit linii

Robotica este o cale perfectă pentru a îmbina discipline precum informatica, mecanica, electronica, controlul etc. Aplicații ale edu-tainement-ului sunt: jocurile, dansul, temele de acasă, predarea, ghidare/orientare în spații necunoscute etc.

Aspectele prezentate vin să sprijine intențiile de a demara activități în domeniul roboticii, unele din acestea putând deveni chiar activități de succes, care pot constitui adevărate provocări pentru specialiștii în robotică sau în domeniile apropiate.

3. REALIZAREA ROBOTULUI MOBIL.

DESCRIERE COMPONENTE

Tehnologia și știința sunt de baza pentru a putea dezvolta o societate fundamentată pe cunoaștere. Este necesară o rapidă dezvoltare atât a științei cât și a tehnologiei pentru a produce o dezvoltare de durată în societate. O altă problemă este lipsa deplină a resursei umane pentru acest domeniu.

Filozofia mecatronică, în contextul practicii inginerești, a însemnat trecerea de la ingineria clasică, secvențială, la ingineria simultană sau concurentă, formându-se astfel ideea de robot mobil inteligent. Revoluția mecatronică este cea care a dat startul în realizarea acestor roboți.

Astfel, am ales să imi aduc propriul aport în această cercetare, astfel că, am început conceperea unui robot mobil de urmărit linii. Pentru a fi sigur de rezultatul final, lucrarea mea s-a împărțit în două etape, partea de simulare și partea practică.

3.1. Realizarea robotului în simulator

Încă de la începutul acestui proiect mi-am pus problema care vor fi pașii pe care trebuie să îi urmez. În urma unor discuții întreținute cu colegii de grupă și în mod special cu profesorul îndrumător, am ajuns la concluzia că un bun început ar fi utilizarea unui simulator, ceea ce imi va putea permite să văd eventuale probleme de implementare, ce piese necesită folosite, și nu numai. Simularea este un proces util, pentru că îți permite să anticipezi rezultatul final real al robotului, fără a avea surprize neplăcute.

În acest sens, am decis să folosesc programul Proteus, deoarece introducerea rapidă de modele complexe pentru simulare si layout PCB, sau crearea de scheme atractive pentru publicare era ceea ce eu aveam nevoie, Proteus-ul este programul care oferă cel mai bine aceste cerințe. Acesta este un software dezvoltat de Labcenter Electronics, ce realizează simulări de microcontroller-e, scheme electrice, plăci de circuit printate (PCB printed circuit board), etc.

Proiectarea de plăci de circuit printate se face prin combinarea părții ISIS a Proteus-ului, parte în care se fac schemele electrice, cu partea de ARES, care este layout-ul PCB-ului. Scopul este de a oferi un puternic, integrat și ușor de folosit mediu de lucru pentru a proiecta plăci de circuit. Proteus-ul include o formă integrată pentru toate piesele disponibile în gama PCB, cât și un mediu de bază SPICE, standard, capabil să simuleze aceste piese.

În figura 3.1. este prezentată interfața Proteus-ului, în care se pot observa cele două medii de lucru pentru a se putea face simulările necesare.

În partea stângă, cu chenar albastru, este partea ISIS Schematic Capture, acolo unde se găsesc toate simbolurile electrice ale tuturor pieselor disponibile în Proteus; iar în partea dreaptă, cu chenar roșu, se află partea ARES PCB Layout, unde se pot vedea piesele simulate.

Fig. 3.1. Interfața Proteus

După cum se poate observa, atunci când se dorește utilizarea unei piese, Proteus-ul oferă o previzualizare a piesei respective și ca schemă electrică, dar și ca model simulat al piesei reale.

ISIS-ul se află în centrul programului Proteus, și reprezintă mult mai mult decât un alt pachet de scheme. Acesta combină un mediu de proiectare unic, cu capacitatea de a defini cât mai multe detalii ale aspectului desenului. În ISIS se pot implementa de asemenea și desene multistrat. Cu alte cuvinte, o anumită componentă poate fi definită ca un modul care este apoi reprezentat printr-o diagramă de circuit suplimentară. Ierarhia poate avea un număr arbitrar de niveluri, iar modulele pot fi desenate, fie în calitate de componente standard, fie ca bloc de sub-circuite speciale, în care porturile interfeței pot fi adăugate sau eliminate.

După ce este introdus un modul de sub-circuit și i se atașează pini, se poate naviga prin el către noul strat și se pot adăuga circuite adiționale. Conectivitatea între stratul-copil și stratul-părinte se face prin intermediul denumirilor terminalelor ale stratului-copil. Orice terminal care are același nume cu un pin de pe stratul-părinte se consideră a fi conectat. Se poate proceda în acest fel pentru a se forma o ierarhie logică de mare complexitate.

Pentru a evita aglomerarea de cabluri, o opțiune este aceea de a desemna surse de putere globale, ceea ce înseamnă că nu este nevoie să se definească în mod explicit legături în sus și în jos în ierarhie pentru liniile electrice. De asemenea, se poate desemna manual orice altă sursă ca fiind globală.

Se poate naviga cu ușurință în susul și în josul sub-circuitelor cu ajutorul meniului contextual (sau prin intermediul comenzilor rapide de la tastatură), sau se poate naviga pe întreaga ierarhie prin comanda goto sheets. În cele din urmă unealta de design oferă un control instant schematic, incluzând atât o conectivitate cât și o vedere fizică a situației actuale.

Fig. 3.2. comanda goto Sheets

Opțiunile de numire și adnotările inițiale sunt disponibile pentru fiecare strat în parte pentru claritate și pentru a ajuta la împărțirea unui proiect mai mare în blocuri logice.

ISIS vine cu bibliotecile pentru TTL, CMOS, ECL, microprocesor, memorie și circuite integrate analogice, plus biblioteci cu sute de nume bipolare, FET și diode semiconductoare discrete. De asemenea, sunt incluse biblioteci de producător specifice de la National Semiconductor, Philips, Motorols, Teccor, Texas Instruments, Dallas și Zetex printre altele – un total de expansiune, în prezent peste 10.000 de piese.

Aceste biblioteci conțin, de asemenea, proprietăți implicite pentru ambalare PCB și modele de simulator. Ambele dispozitive multi-element omogene și eterogene sunt acceptate, astfel încât se pot plasa bobine și contacte de releu pe părți separate ale desenului. Se pot repartiza și pini conectori. Editarea dispozitivului se poate face direct de pe desen, utilizând instrumentele generale de editare. Dispozitivele pot fi construite din linii, casete, cercuri, arce, text sau obiecte speciale cu pini. Simboluri non-electrice pot fi create pentru a fi utilizate în mici diagrame mecanice sau în diagrame bloc.

Meniul Package Device este foarte util deoarece combină partea de schemă electrică cu partea de PCB, oferind un mediu grafic în care este afișat modelul ales.

Fig. 3.3. Meniul Package Device

Pentru fiecare model PCB, se creează numerotarea pinilor împreună cu denumirea sau rolul acestora, astfel că se poate întâmpla ca pentru aceeași schemă electrică, modelul PCB să aibă același număr diferit de pini. Modificarea schematicii și/sau formatarea se reflectă imediat. Totodată, un editor integrat de antet și subsol este inclus în program.

Mai mult, proprietățile componentelor pot fi adăugate/eliminate sau editate din fereastra BOM (Bill of Materials). Orice modificări sunt în mod automat adăugate în schematică. Acest lucru este, desigur, locul cel mai natural pentru a adăuga coduri, denumiri de componente, proprietăți etc.

Design Explorer este un instrument unic în Proteus, care oferă o interfață de utilizator stil fereastră pentru a permite navigarea și inspectarea schematică la orice etapă în procesul de proiectare. Acesta este capabil nu numai de a interoga starea actuală a schematicii, a verifica conectivitatea, dar și pentru a naviga la elemente de interes pe ambele parți: schematică și PCB.

Design Explorer poate afișa informații despre schema în două moduri:

Lista vizualizare piese. Această vedere oferă o reprezentare fizică a schematicii, care arată foi, ierarhii, componente și pini componente. Se poate naviga atât pe un design (dacă, de exemplu, este un design multi-strat, cu mai mult de două straturi) cât și în jos prin design (se deplasează printr-o ierarhie de design în jos de la o componentă să se uite la o listă a componentei pini).

Lista vizualizare surse. Această vedere oferă o reprezentare a conectivității de schematică, arătând o listă cu toate sursele de pe schematică și toți pinii conectați la sursa selectată.

Fig. 3.4. Partlist si netlist

Exploratorul de design se poate folosi și pentru a naviga direct la elementele de interes fie de pe schematică fie din aspectul ARES corespunzător. Acest lucru este simplu de realizat, deoarece este ca și click dreapta pe element în exploratorul de proiectare și selectând opțiunea de navigare corespunzătoare din meniul contextual rezultat.

ISIS-ul se completează perfect cu ARES-ul prin faptul că ambele conlucrează reflectând modele cât mai realiste, acest lucru însemnând înaltă performanță. Bibliotecile furnizate acoperă o gamă largă de componente prin inclusiv toate categoriile, cele mai comune IC, tranzistoare, diode și tipuri de conectori. Sunt furnizate ca standard, întreaga bibliotecă IEC și SMT, care include toate stilurile discrete și standard. Sunt incluse și ambele biblioteci IPC-782, respectiv IPC-7351, care sunt suprafețe standard de montare. Dacă este nevoie, noi pachete pot fi ușor create direct pe desen; ARES susține de altfel și caracteristici 2D generale.

Într-un proiect tipic componentele schematice sunt deja selectate, având una sau mai multe așa-zise “foot-print-uri”; aceste piese pot fi selectate automat din coșul de piese atunci când se dorește plasarea lor pe placă.

ARES include un sistem complet de proiectare re-utilizare, sub formă de template-uri de bord și date tehnologice. Un utilizator poate crea mai multe template-uri, reprezentând proiecte comune, și apoi poate inițializa machete noi de la șablon preîncărcând toate informațiile configurate. Un set implicit de plăci comune Eurocard sunt furnizate ca standard.

Un fișier șablon este, în esență un aspect de bază (margine placă, găuri de montare, etc), împreună cu un set de date de tehnologie. Aceste date includ reguli de proiectare, clase de surse, utilizarea straturilor, grile, unitățile și proprietăți de placă și pot fi aplicate și altor aspecte direct, precum și atunci când un nou proiect este inițializat din șablonul respectiv.

ARES dispune de cele mai noi metode pe parte de alimentare – utilizează regiuni poligonale plasabile, în care granițele interne sunt create în mod automat în jurul pistelor existente. Schimbând pistele, marginile sunt recalculate pentru a menține regulile de construcție. De asemenea, si reliefurile termice sunt suportate în ARES, astfel că se pot fie hașura, fie umple fiecare poligon. Pe lângă acestea și zone imbricate sau insule neconectate pot fi incluse.

Fig. 3.5. Conexiuni nereliefate, conexiuni reliefate

Privind de aproape figura 3.5. putem observa două zone în ARES ale aceleiași plăci. Cea din partea stângă-sus este o zonă hașurată, zona cu reliefarea termică, în timp ce zona din dreapta-jos reprezintă zona cu conexiuni solide, nereliefate.

În timp ce se lucrează, ARES controlează fiecare pistă amplasată și avertizează imediat ce o legatură (fizică sau electrică) este întreruptă. Se pot personaliza complet constrângerile plăcii, se pot stabili reguli pentru fiecare strat și/sau strategii sau se pot stabili chiar reguli pentru a reglementa comportamentul între strategiile de funcționare de pe placă.

O bară de stare arată în timp real atât conectivitatea cât și regulile de proiectare a plăcii. Aceasta bară de stare este situată în partea de jos a ARES-ului. Dacă se dă click pe oricare, se produce un raport în care se listează toate conexiunile lipsă sau suplimentare. Dacă se dă dublu click pe oricare intrare din listă, ARES va mări imaginea pentru a arăta exact unde este eroarea situata pe PCB.

În cele din urmă, verificarea preproducției se execută înainte de ieșirea din fabricație și este concepută pentru a fi un control automat de asigurare a calității. În plus față de testarea conectivității și a regulilor de proiectare, se testează și integritatea printr-o cale de cod complet separată și se execută teste separate pentru verificarea greșelilor de proiectare comune.

Instrumentul de vizualizare 3D (3D Viewer) în ARES oferă o modalitate pentru a extruda un layout și a vizualiza placa așa cum ar arăta ea în viața reală. Acest lucru este extrem de util pentru că se poate observa design-ul plăcuței în timp ce lucrezi la ea; acest instrument de altfel m-a ajutat enorm deoarece am putut implementa plăcuța robotului și am știut exact cum o sa arate în realitate, deoarece ambele placuțe care alcătuiesc robotul sunt realizate manual, ci nu cumpărate.

Fig. 3.6. Exemplu de plăcuță vizualizată în 3d viewer

Navigarea, atât orbitală cât și “zboară prin” este extrem de intuitivă și este controlată cu ajutorul mouse-ului. Se poate specifica, de asemenea, un plan de înălțime care corespunde carcasei plăcii, care apare ca o cutie semi-transparentă în jurul plăcii, cu scopul de a permite un control vizual rapid împotriva proeminențelor.

În figurile următoare sunt prezentate plăcuțele necesare proiectării robotului meu în realitate, cu o bună funcționare.

În figura 3.7. este reprezentată plăcuța pe care sunt montați cei doi senzori împreuna cu cele două fotodiode necesare pentru a nu apărea interferențe asupra senzorilor din cauza mediului înconjurător.

Fig. 3.7. Plăcuța de navigație

În figura 3.8. este descrisă plăcuța microcontroller-ului și a driver-ului de motoare.

Fig. 3.8. Plăcuța de comandă și control

3.2. Elemente componente și asamblarea robotului

În urma analizei făcute în simulatorul Proteus, ce a constat în descoperirea pieselor cele mai potrivite pentru construirea robotului, după mai multe încercări și teste, am ajuns la forma ideală care este prezentată în figurile 3.7 și 3.8.

Ținând cont că am ajuns la momentul în care totul este verificat și funcționează conform planului, am început implementarea practică a robotului. Implementarea practică a robotului a determinat, bineînțeles, achiziționarea pieselor utilizate în mediul de simulare. Având toate piesele necesare la dispoziție, am putut începe construirea plăcilor de circuit imprimat.

1) Plăcile de circuit imprimat

Un circuit imprimat sau cablaj imprimat, (prescurtat PCB, din engleză Printed Circuit Board), este o placă cu cablaj imprimat care are rolul de a susține mecanic și de a conecta electric un ansamblu de componente electrice și electronice, pentru a realiza un produs final funcțional.

O placă de cablaj imprima brut, este realizată dintr-un strat izolator, de grosime care poate varia de la câteva zecimi de mm până la ordinul câtorva mm, pe care se află o folie de cupru (simplu strat) sau două (dublu strat). Stratul izolator are în general grosimea de 1,6 mm, dar această valoare nu reprezintă un standard, deoarece depinde de foarte mulți factori, în general mecanici și tehnologici. Uzual ca izolator se folosește materialul cunoscut sub numele de FR4.

Fig. 3.9. Placă de cupru neprelucrată

Circuitul imprimat final se realizează prin metode foto și chimice. Un circuit imprimat poate fi cu simplă față (strat conductor), dublă față, sau multistrat. Circuitele imprimate multistrat sunt realizate prin suprapunerea succesivă a mai multor circuite dublu strat, separate între ele printr-un strat izolator, de obicei din material identic cu cel al cablajului brut. Trecerea transversală de la un strat la altul se realizează cu ajutorul vias-urilor și/sau a pinilor TH. Vias-urile pot fi TH (cu trecere dintr-o parte în alta a cablajului), buried (stratul de început cât și cel de sfârșit sunt în interiorul cablajului), sau blind (se pleacă de pe un strat exterior și se ajunge pe un strat interior).

Materialele din care sunt fabricate circuitele imprimate: FR4, FR408, FR5. FR4 (prescurtare de la Flame Retardant 4) este un material din fibră de sticlă din care sunt fabricate PCB-uri având grosimea de 1,6 mm sau 0,8 mm.

PCB-urile care lucrează la frecvențe ridicate sunt fabricate din materiale din plastic, cu caracteristici speciale, cum ar fi: Rogers 4000, Teflon, Duroid, Polymide. Polyimide este un material plastic cu un înalt punct de topire folosit în fabricarea circuitelor flexibile. Pentru a evita încălzirea componentelor se folosesc miezuri de aluminiu sau de cupru.

Materiale necesare:

– placă de textolit cu strat de cupru.

– clorură ferică

– burghiu de 0.8 mm și eventual de 1 mm

– mașină de găurit sau Dremel

– fierăstrău pentru decupat placa la dimensiunile dorite

– ciocan și un cui

– șmirghel fin

– markere permanente de diferite grosimi

Procesul de realizare

1. Primul pas: proiectarea circuitului, adică transformarea schemei în desenul de pe placă. Se face direct pe hârtie, sau pe calculator, cu ajutorul Proteus-ului.

Fig. 3.10. Proiectare cablaj corect

O greșeală pe care am făcut-o a fost proiectarea “pe dos” a cablajului: adică am conceput pe hârtie cablajul cu toate piesele văzute de deasupra, apoi am desenat pe placa de cupru traseele exact ca pe foaie. Nu a fost bine, pentru că pe cupru cablajul trebuie desenat privit de pe partea cu lipituri, din spate, adică “mirrored”, văzut în oglindă.

2. Am măsurat și am tăiat o bucată corespunzătoare de textolit. Am măsurat de două ori dar am tăiat o singură dată.

Fig. 3.11. Măsurarea dimensiunii necesare de placă Tăierea plăcii

3. Am “îmbrăcat” placa decupată cu hârtia cu desenul circuitului, cât mai strâns, având grijă ca traseele să fie bine aliniate cu placa. Scotch-ul mi-a fost foarte util.

4. A urmat să “punctam” pe placă locul viitoarelor găuri. Etapa aceasta are o dublă importanță: ușurința de a desena traseele dacă se văd deja unde vin găurile, și apoi, la găurire, burghiul va avea un punct de plecare pentru gaură, și nu va decide el unde dă gaura.

Fig. 3.12. Punctarea găurilor

Folosind un ciocan și un obiect fin și ascuțit (în lipsă de altceva, un cui de beton sau un șurub) se marchează cu o lovitură fiecare gaură de pe circuit.

5. Apoi am desenat traseele. Mai întâi am curațat placa de cupru de oxizi și urme de degete, și am lustruit-o cu șmirghel fin. Apoi, cu atenție, am desenat traseele, ca pe hârtie.

6. Etapa următoare – corodarea cu clorura ferică. Clorura ferică este o substanță corozivă și pătează (acesta este lucrul pe care l-am aflat experimental). Am folosit un recipient de plastic.

Fig. 3.13. Corodarea cu clorură ferică

Corodarea merge mai repede dacă clorura e caldă, și dacă recipientul e agitat în timpul procesului. Durează 5 – 15 minute, în funcție de concentrație, temperatură, etc. De îndată ce tot cuprul a fost dizolvat, am spălat placa bine cu apă și am curățat-o de impurități. Clorura se poate reutiliza de cateva ori.

7. Am dat găurile, cu burghiul de 0.8. Pentru găurile mai mari, unde sunt sârme de exemplu, am utilizat un burghiu mai gros, de 1 mm. Ce am observat este că se face mult praf în această operațiune, deci ar fi fost utilă o mască de praf.

8. Primul cablajul a fost gata, după care l-am făcut și pe cel de-al doilea.

Fig. 3.14. Placa de comandă și placa de navigație

9. Apoi a urmat plantarea și lipirea pieselor și în sfârșit momentul adevărului…merg sau nu? Au mers ambele, așa că am avut motiv de bucurie și am trecut mai departe.

În figura 3.15 se pot observa plăcile în starea finală.

Fig. 3.15. Plăci finalizate

Pe figura 3.15. ies în evidență piesele componente electronice pe care le-am folosit la construcția robotului. Pe placa de comandă (cea din stânga), am utilizat microcontroller-ul PIC16F684, driverul de motoare L293DNE, stabilizator de tensiune, pinii pentru ICSP, potențiometru, jumper, rezistențe, legăturile pentru motoare, senzori, LED-uri și pentru sursa de alimentare.

Pe placa de navigație (cea din dreapta), am folosit doi senzori, două fotodiode (LED-uri) și legăturile pentru ele.

2) Microcontroller-ul PIC16F684

Microcontroller-ul PIC16F684 este microcontroller-ul folosit de mine în acest proiect. Am ales acest model deoarece este ieftin, mic și ușor de folosit. Acest microcontroller este disponibil în varianta cu 12pini sau cu 14 pini.Modelul utilizat de mine este format din 14 pini de intrare/ieșire. În funcție de care periferic este activ, unii sau toții pini pot să nu fie disponibili ca fiind pini de uz general. În general, atunci când un periferic este activat, pinul asociat nu mai este disponibil pentru uz general.

Fig. 3.16. a. Diagramă pini PIC16F684 b. Formă fizică

În continuare voi enumera câteva specificații tehnice ale microcontroller-ului PIC16F684.

RISC CPU de înaltă performanță:

doar 35 de instrucțiuni de învățare, toate instrucțiunile fiind de tip single-cycle, cu excepția branch-urilor;

viteza de operare, curent continuu 20MHz oscilații/intrare ceas, respectiv 200 nanosecunde per ciclu de instrucțiune în curent continuu.

Dispune de întreruperi; Stivă hardware pe 8 nivele; Moduri de adresare directă, indirectă și relativă.

Caracteristici speciale microcontroller:

Gamă largă de tensiune de operare (2V-5,5V); Econimisire energie în modul “sleep”

Interval de temperatură extins pentru mediul industrial

Celule de memorie EEPROM de înaltă anduranță: rezistă la 100.000 de scrieri Flash, rezistă la 1milion de scrieri EEPROM, și reține date de tip Flash și EEPROM un timp mai mare de 40 de ani.

Caracteristici Low-Power:

Curent de stand-by de 50nA la 2V; Curent de operare de 11μA la 32kHz, 2V; 220μA la 4MHz, 2V; Curent temporizator Watchdog 1μA la 2V

Caracteristici periferice:

12 pini de intrare/ieșire cu control individual de direcție; Sursă de curent mare pentru acționare directă cu LED-uri; Întrerupere activată atunci când se schimbă pinul

Modulul comparator analogic:

Două comparatoare analogice; Intrările și ieșirile comparatoarelor sunt accesibile extern

Programabil pe referințele de tensiunile ale cip-ului.

Convertor analog/digital:

Rezoluție de 10biți și 8 canale

Timer0:

Temporizator pe 8biți/numărător cu 8biți și prescalare programabilă

Timer1 îmbunătățit: Temporizator pe 16biți/numărător cu prescalare; Poarta Timer1 externă (numărător activat); Timer2: temporizator pe 8biți/numărător pe 8biți cu registru, prescalare și postscalare.

Capture, Compare și modul PWM:

16biți Capture, rezoluție maximă 12.5ns

Compare are rezoluție maximă 200ns

PWM pe 10biți cu 1, 2 sau 4 canale de ieșire, programabil în timp mort; frecvență maximă 20kHz

Programarea serială (ICSP )pe circuit prin intermediul a doi pini

3) Driverul de motoare L293DNE

L293 și L293D sunt drivere care utilizează punți H. L293-ul este proiectat pentru a oferi curenți de acționare bidirecționali de până la 1 A la tensiuni de la 4,5 V până la 36 V. L293D este conceput pentru a furniza curenți de acționare bidirecționale de până la 600mA la tensiuni de la 4,5 V până la 36 V. Ambele dispozitive sunt proiectate pentru a conduce sarcini inductive, cum ar ca relee, solenoizi, motoare de curent continuu, motoare pas cu pas, precum și alte aplicații cu sarcini de înalt curent/înaltă tensiune cu alimentare pozitivă.

Fig. 3.17. Diagrama pini L293DNE

Toate intrările sunt compatibile TTL. Fiecare ieșire este un circuit complet totem-pol, cu un tranzistor Darlington și o pseudosursă Darlington. Driverele sunt activate pe perechi, driverul 1 și 2 fiind activate de pinul 1,2EN, iar driverul 3 și 4 sunt activate de pinul 3,4EN.

Când semnalul de intrare este activ (high), driverul asociat este activ, ieșirea este activă și este în fază cu intrările. Când semnalul de intrare este inactiv (low), driverul este dezactivat, ieșirea la fel dar este în stare de înaltă-impedanță.

Fig. 3.18. Diagrama bloc pentru L293DNE

Cu semnalele adecvate, fiecare pereche de drivere formează o punte H cu care se poate face controlul a două motoare în două sensuri, sau a patru motoare într-un singur sens.

Un terminal VCC1, separat de VCC2, este prevăzut pentru intrări logice pentru a minimiza puterea de disipare a dispozitivului. L293DNE este caracterizat și de faptul ca operează la temperaturi între 0 si 70°C.

Caracteristici tehnice ale driver-ului L293DNE sunt prezentate mai jos:

Tensiune de alimentare pentru Vcc1 până la 36V

Tensiune de alimentare de ieșire pentru Vcc2 până la 36V

Tensiunea de intrare 7V

Gama tensiunii de ieșire -3V până la +3V

Curent de vârf la ieșire (nonrepetitiv t ≤ 100 μs) ±1.2 A

Ieșire curent continuu ±600 mA

Temperatura maximă de joncțiune TJ = 150°C

Intervalul de temperatură pentru stocare, Tstg de la -65°C până la 150°C

4) Stabilizatorul de tensiune

Stabilizatoarele din seria 7800 sunt disponibile în mai multe tipuri, de exemplu TO-220, TO-220FP, TO-220FM, etc., și cu mai multe tensiuni de ieșire fixe, ceea ce le face foarte utile într-o gamă mare de aplicații. Stabilizatorul de tensiune folosit este modelul L7805CV, pentru că are tensiunea de ieșire fixă pe 12V. Ca și model, după cum se poate observa în figura de mai jos, am ales TO-220.

Aceste regulatoare pot oferi stabilizarea locală pe cip, eliminând problemele de distribuție asociate cu reglarea singur punct.

Fig. 3.19. Stabilizator de tensiune L7805CV

Fiecare tip are curent de limitare intern, protecție pentru oprirea la temperaturi ridicate și pentru zona de siguranță, ceea ce îl face, teoretic, indestructibil.

Fig. 3.20. Alocări pini

Deși au fost proiectate în principal ca regulatoare de tensiune fixă, aceste dispozitive pot fi utilizate cu componente externe pentru a obține tensiune reglabilă și curenți reglabili.

5) ICSP

Microcontroller-ele sunt de obicei lipite direct pe o placă de circuit imprimată; circuite care nu au spațiu pentru un cablu extern mare de programare la un alt calculator. O piesă separată de hardware, numită programator este necesară pentru a se conecta la un port intrare ieșire de la un PC pe o parte și la PIC pe cealaltă parte. Mediul de dezvoltare programator/depanator PICkit 2 este unul cu cost-redus.

Acesta este capabil să programeze majoritatea microcontroller-elor Microchip Flash, și dispozitive seriale EEPROM. PICkit 2 poate de asemenea să facă și depanarea dispozitivelor folosite.

Fig. 3.21. Descriere Pickit 2

Portul de conectare USB este de tip miniusb. Conectarea PICkit la calculator se face prin cablul aferent.

Statusul LED-urilor arată în ce stadiu se află pickit-ul astfel:

Power (verde) înseamnă că sursa de alimentare este conectată la pickit prin intermediul portului usb

Target (galben) arată că pickit-ul alimentează dispozitivul conectat.

Busy (roșu) înseamnă că pickitul este ocupat cu o funcție în progres, din cauza programării.

Push-button-ul poate fi folosit pentru a intra în modul de scriere program pentru dispozitiv atunci când Programmer>Write on PICkit Button este bifat în meniul aplicației pickit. Butonul mai poate fi folosit și pentru a pune firmware-ul sistemului de operare al pickit-ului în modul Bootloader.

Conectorul de programare este un antet de 6 pini (0,100 "spațiere) care se conectează la dispozitivul de țintă. Specificațiile pinilor pot fi văzute în figura de mai jos:

Fig. 3.22. Specificatii pini

Funcțiile pinilor sunt diferite pentru programarea serială pe EEPROM față de programarea dispozitivelor HCS.

Pentru prevenirea pierderii pickit-ului, acesta este prevăzut cu un dispozitiv prin care pickitul poate fi legat cu un șnur.

Cu ajutorul programatorului PICkit 2, am reușit ceea ce îmi propusesem, adică să fac un program adecvat pentru ca robotul meu să urmărească o linie neagră pe fundal alb.

6) Potențiometrul

Fig. 3.23. Potențiometrul 1006p 102

Un potentiometru este un rezistor variabil care prezintă trei pini disponibili. Între doi dintre cei trei pini se măsoară întotdeauna (indiferent de poziția cursorului) aceeași rezistență. Dacă se măsoară între cel de-al treilea pin și unul dintre cei doi pini, vom avea o rezistență variabilă care depinde de poziția cursorului.

Astfel, putem folosi un potențiometru cuplând sau doar doi din cei trei pini (și atunci se obține un rezistor variabil), sau toți cei 3 pini (obținându-se un divizor de tensiune). Am ales să folosesc un potențiometru pentru reglarea turației motoarelor.

7) Senzorii

Senzorii sunt elemente ce prelucrează informația despre starea externă a sistemului robot. Funcția de percepție senzorială poate fi considerată și funcție de măsurare, ea asigurând măsurarea unor mărimi fizice și eventual conversia semnalului obținut. Pe baza unui principiu fizic, o informație de interes din mediul de lucru al robotului sau din interiorul sistemului robot, este convertită într-o cantitate măsurabilă. Informația de interes este o reprezentare a mărimii fizice.

Fig. 3.24. Senzor

Elementele senzoriale care sunt integrate în structura sistemului autonom mobil sunt esențiale pentru a obține informații despre starea internă sau starea externă a robotului. Nu trebuie scăpat din vedere costul acestor elemente senzoriale și necesitatea prelucrării informației în timp real.

8) Rezistorii

Rolul rezistorilor este de a se opune trecerii curentului electric. Rezistența electrică este mărimea ce caracterizează orice conductor electric. Într-un circuit electric, valoarea rezistenței se calculează cu ajutorul legii lui Ohm. Aceasta este definită ca fiind raportul dintre tensiunea U aplicată la bornele sursei, și intensitatea I a curentului care circulă prin conductor, adică R=U/I.

Fig. 3.25. Rezistor de 270 Ω și de 1k Ω

Am avut nevoie să folosesc rezistențe de 270Ω pentru protecția fotodiodelor, și rezistențe de 1k Ω pentru protecția driverului motoarelor și a senzorilor.

9) Fotodiodele

Fotodioda este un dispozitiv optoelectonic constituit dintr-o joncțiune pn fotosensibilă sau un contact metal semiconductor fotosensibil, utilizate întotdeauna în regim de polarizare inversă, deoarece în acest regim se poate fructifica în conditii optime influența fluxului luminos asupra curentului prin dispozitiv. La fotodiode, terminalul mai lung este Anodul (+), iar terminalul mai scurt este Catodul (-).

Fig. 3.26. Fotodioda

Rolul fotodiodelor folosite de mine în construcția robotului este de a ajuta senzorii să “vadă” mai bine, și în același timp să fie independenți față de mediul înconjurător, adică să nu depindă de luminozitatea venită din exterior.

10) Motoarele

Trăsăturile distinctive ale motoarelor de curent continuu sunt în general cuplurile mari la pornire, care le permite să depășească încărcături grele la pornire, precum și un raport cuplu/viteză corespunzătoare pentru sarcinile de lucru ridicate. O altă caracteristică importantă a motorului de curent continuu este că puterea și cuplurile sunt concentrate într-o dimensiune compactă în comparație cu alte tipuri de motoare electrice.

Unele dintre avantajele de a folosi motoare de curent continuu cu reducție:

sunt extrem de compacte, cu o structură robustă

pot fi asamblate cu orice reductor

înaltă calitate de echilibrare

nivel de zgomot redus

Fig. 3.27. Motoare

Caracteristici:

• Câmp magnetic generat de magneți permanenți

• Tensiune de alimentare 12V

11) Roata castor (ball caster)

Roțile castor sunt roți independente, capabile să se rotească, astfel încât să reiese orientarea robotului. Roata castor folosită de mine la structura mecanică a robotului permite orientarea liberă a robotului deoarece este independentă și este capabilă să pivoteze.

Fig. 3.28. Roata castor

11) Roțile motrice.

Roțile motrice/directoare sunt legate rigid de șasiu, și se numesc așa deoarece odată acționate, ele transmit axului lor un cuplu, care asigură propulsia robotului. Mai exact, sunt roțile atașate motoarelor.

Fig. 3.29. Roți motrice

4. CONDUCEREA ROBOTULUI MOBIL. APLICAȚII

4.1. Conducerea robotului mobil

Robotul mobil utilizat este de tip uniciclu, având o structură dreptunghiulară, fapt care l-a făcut mai adaptabil la diferitele modificări structurale. Funcția de locomoție a robotului mobil este asigurată de două roți motrice (prezentate în figura 3.28) și o roată de tip castor (figura 3.27), responsabilă de menținerea echilibrului întregului sistem. Funcția energetică este asigurată de două baterii de 9V, legate în paralel.

Roțile motoare sunt prinse de șasiu printr-un sistem special proiectat pentru a asigura stabilitate și pentru a permite montarea senzorilor. Roțile motoare se află montate pe partea superioară a șasiului, în timp ce traductorii de poziție (senzorii) împreună cu roata castor sunt montați pe partea inferioară a șasiului.

În figura 4.1. se poate observa structura mecanica a robotului

Fig. 4.1. Structura mecanică a robotului mobil

Modul de funcționare al robotului: se deplasează conform unui traseu reprezentat de o linie neagră pe un fundal alb. Linia neagră se trasează cu bandă izoliera pe o bucată de carton duplex.

Citirea traiectoriei pe care se deplasează robotul se face cu ajutorul senzorilor analogici montați alături de fotodiode . Am folosit 2 astfel de senzori și două fotodiode de culoare roșie; acestea alcătuind sistemul senzorial al robotului.

Semnalele provenite de la senzori sunt trimise spre procesare unității centrale reprezentată de platforma de dezvoltare PIC ce conține microcontroller-ul PIC16F684. Platforma de dezvoltare PIC reprezintă sistemul de comandă al robotului și conține 14 pini de intrare-ieșire care pot fi setați fie ca analogici, fie ca digitali. În cazul în care unui pin i se atribuie valoarea 0, înseamnă că este setat ca pin digital. Dacă pinului i se da valoarea 1 atunci se seteaza ca fiind pin analogic.

Semnalele procesate sunt apoi transmise către driverul de motoare L293DNE ce comandă, conform principiului unei punți H, cele două motoare electrice de curent continuu cu reducție ale robotului.

4.2. Aplicații

Înainte de a putea începe să scriu programe, a trebuit să setez parametrii constructivi.

Crearea configurației se face astfel:

1) click dreapta pe numele proiectului în bara de instrumente pentru proiect

2) în căsuța de proprietăți a proiectului se selectează Manage Configurations

3) în căsuța de configurații se selectează New

4) în căsuța de configurații New Configuration Name se introduce Default și se apasă OK

5) în căsuța de configurații trebuie verificat să fie Default selectat și apoi se apasă Set Active

6) se apasă OK în căsuța de configurații.

Setarea proprietăților configurației se face în mai mulți pași:

1) În proprietățile proiectului se selectează „Conf:[Default]” în lista de categorii

– în căsuța Device se introduce numele dispozitivul care urmează a fi folosit. În cazul meu PIC16F684.

– în Hardware Tool se selectează PICkit2

– în Compiler Toolchain se selectează versiunea care este instalată pe calculator.

– se dă apply.

2) Sub „Conf:[Default]” se selectează PICkit2

– în categoria Option se selectează Power

– se bifează "Power target circuit from PICkit3"

– se dă apply.

3) Sub Conf: [Default] se selectează XC8 Compiler

– în categoria Option se selectează Optimizations

– se setează "Optimizations Set" la "none"

– se dă apply

4) se apasă OK pentru a se închide fereastra de proprietăți.

Testarea configurației. Pentru a testa configurația se dă click pe butonul clean and build (acela cu un ciocan și o matură). Textul va începe să scrolleze în afara ferestrei către partea de jos a paginii. Dacă totul este în regulă, textul apărut va fi BUILD SUCCESSFUL (total time: …). Dacă apare vreo eroare, trebuie urmăriți din nou pașii precedenți și verificat dacă nu cumva s-a omis ceva, și dacă s-a dat apply la tot.

Aplicația pentru așteptarea unei milisecunde. Una dintre cele mai utile funcții este funcția wait_ms. Aceasta nu este o funcție existentă în bibliotecile standard, ci este o funcție care trebuie creată. Pentru implementarea acestei funcții este nevoie de o buclă, care va ține procesorul pe loc până când va trece timpul setat.

PIC16F necesită 4 cicluri de ceas pentru a executa o linie de cod de asamblare. Prin urmare, cu un ceas de 16Mhz, liniile de cod vor fi executate la o viteză de 4milioane de linii pe secundă, egal cu 4000 de linii pe milisecundă. Întrucât o buclă for va avea o instrucțiune de fiecare dată pentru comparare, și două pentru funcționare în interiorul buclei, va funcționa perfect. Avem nevoie doar ca bucla for să ruleze de 1000 de ori într-o milisecundă.

În system.c se creează o nouă funcție în partea de jos a fișierului în care se scrie void wait_ms(uint16_t time). Mai jos este funcția completă:

/**

* așteaptă un număr dat de millisecunde folosind schema de așteptare busy.

* @param time – timp în ms de așteptat.

*/

void wait_ms(uint16_t time)

{

static long timel = 0;

timel = time * 1000l;

for( ; timel; timel–);// fără condiție inițială, când timpul > 0, decrementează timpul fiecărei bucle

}

1. Se deschide system.h din folderul Header din browser-ul de proiect.

2. La final se adaugă linia void wait_ms(uint16_t); pentru prototipul funcției.

3. Se modifică cifra 8 din linia 8000000L cu 16000000L.

4. Se dă Build, și se verifică de erori.

Aplicație pentru licărirea unui LED. Cel mai bun mod de a testa că totul este configurat corect este să clipească un LED. În cazul în care clipește la durata așteptată, atunci totul a fost configurat corect. În acest exemplu, LED-ul este conectat la portul A, Pin 0 (RA0 pe foaia de date).

1. Se deschide Main.c în vizualizatorul de proiecte în fișierul sursă. Funcția void main (void) este punctul de intrare principal al programului. Atunci când MCU este activat, prima și prima dată intră în această funcție. Prima linie apelează funcția ConfigureOscillator care se setează în prealabil pentru a stabili sursa de ceas și viteza:

/**

* Configurare sursă de ceas și viteză

*/

void ConfigureOscillator(void)

{

OSCCONbits.IRCF = 0b101;

OSCCONbits.SCS = 0b00;

OSCTUNEbits.PLLEN = 0b1;

}

Următoarea linie apelată este InitApp, o funcție ce se va completa în scurt timp, și în cele din urmă va intra într-o buclă infinită. Din moment ce nu există un sistem de operare pentru funcție la care să revină, nu există nici un apel de întoarcere la capăt.

Funcția finalizată arată așa:

1. Imediat înaintea buclei While se setează pinul LED-ului ca ieșire, TRISAbits.TRISA0 = 0; Dacă se setează valoarea 1 este pin de intrare.

2. În interiorul buclei While se :

– setează LED-ul oprit : LATAbits.LATA0 = 0; dacă se pune =1 este LED pornit.

– așteaptă ½ secunde: wait_ms(500);

– setează LED-ul pornit: LATAbits.LATA0 = 1;

– așteaptă ½ secunde: wait_ms(500);

void main(void)

{

    /* Configurare oscilator */

    ConfigureOscillator();

    /* Initializare I/O și periferice pentru aplicație */

    InitApp();

    TRISAbits.TRISA0 = 0; // setare pin ca iesire

    while(1)

    {

        LATAbits.LATA0 = 0; // setare pin LOW

        wait_ms(500);       // asteptare 0.5 secunde

        LATAbits.LATA0 = 1; // setare pin HIGH

        wait_ms(500);       // asteptare 0.5 secunde

    }

}

Aplicație pentru citirea unei valori analogice. Următoarea aplicație este ceva mai complexă față de ce am prezentat până acum, la modul că pot fi date intrări de către utilizator. Voi folosi un potențiometru pentru a crea un semnal analogic care va schimba viteza de licărire a LED-ului. Convertorul analog-numeric primește o tensiune analogică și furnizează o valoare numerică.

1. În browserul proiect am deschis user.c din fișierul sursă.

2. Deasupra funcției InitApp am creat o altă funcție void init_adc(void)

3. Am introdus codul următor pentru a activa convertorul analog-numeric:

/**

* Initializare convertor analog-numeric.

*/

void init_adc(void)

{

TRISAbits.TRISA1 = 0b1; // setare pin ca input

ANCON0bits.ANSEL1 = 0b1; // setare pin ca analog

ADCON1bits.VCFG = 0b00; // setare v+ referinta la Vdd

ADCON1bits.VNCFG = 0b0; // setare v- referinta la GND

ADCON1bits.CHSN = 0b000;// setare input negativ la GND

ADCON2bits.ADFM = 0b1; // justificarea output-ului

ADCON2bits.ACQT = 0b110;// 16 TAD

ADCON2bits.ADCS = 0b101;// folosirea Fosc/16 pentru sursa de ceas

ADCON0bits.ADON = 0b1; // pornire CAN

}

4. Am creat o altă funcție imediat după apelare uint16_t adc_convert(uint8_t channel)

/**

* Preformare conversie analog-numerica.

* @param intrare canal CAN pentru folosire.

* @întoarce valoarea conversiei

*/

uint16_t adc_convert(uint8_t channel)

{

ADCON0bits.CHS = channel; // selectare canal dat

ADCON0bits.GO = 0b1; // start conversie

while(ADCON0bits.DONE); // așteptare până când se termină de făcut conversia.

return (ADRESH<<8)|ADRESL; // întoarcere rezultat.

}

5. În funcția InitApp am adaugat linia init_adc()

6. În fișierul user.h am adaugat prototipul uint16_t adc_convert(uint8_t);

7. Am modificat main-ul în felul următor.

void main(void)

{

uint16_t adc_value; // variabila pentru a reține rezultatul CAN

/* Configurare oscillator*/

ConfigureOscillator();

/* Initializare I/O si periferice*/

InitApp();

TRISAbits.TRISA0 = 0; // setare pin ca output

while(1)

{

LATAbits.LATA0 = 0; // setare pin LOW

adc_value = adc_convert(1); // preformare conversie A-N pe channel 1

wait_ms(adc_value>>2); // asteptare 0.5 secunde

LATAbits.LATA0 = 1; // setare pin HIGH

adc_value = adc_convert(1); // preformare conversie A-N pe channel 1

wait_ms(adc_value>>2); // asteptare 0.5 secunde

}

}

8. Am dat Build după care am verificat dacă funcționează. În funcție de cum învârteam de butonul potențiometrului, viteza de licărire a LED-ului creștea sau scădea. Asta a însemnat construirea cu succes a programului.

Aplicație pentru citirea unei valori digitale. Următoarea aplicație permite citirea unei intrări digitale de la un comutator. Cănd comutatorul este oprit, programul va face ce făcea și înainte, adică așteaptă pornirea comutatorului, iar când comutatorul este pornit, programul va face ca LED-ul să se aprindă până în momentul în care comutatorul va fi stins din nou.

1. Pentru a seta un pin ca intrare, trebuie scris un 1 la registrul TRIS al biților.

TRISAbits.TRISA2 = 1;

2. Dacă un pin are proprietăți analogice, s-ar putea să fie nevoie ca pinul corespunzător să fie schimbat în digital în registrul ANCONx.

3. Atunci când se scrie o valoare a unui pin se utilizează registrul LAT, dar atunci când se dorește citirea valorii unui pin se utilizează registrul PORT.

value = PORTAbits.RA2;

4. Se modifică main-ul astfel:

void main(void)

{

uint16_t adc_value; // variabilă pentru a reține rezultatul conversiei analog-digitale

/* Configurare oscilator */

ConfigureOscillator();

/* Initializare I/O și Periferice pentru aplicație */

InitApp();

TRISAbits.TRISA0 = 0; // setare pin ca ieșire

TRISAbits.TRISA2 = 1; // setare pin ca intrare

ANCON0bits.ANSEL2= 0; // setare pin ca digital

while(1)

{

if(PORTAbits.RA2) // dacă pinul este în high

{

LATAbits.LATA0 = 1; // setare pin ca high

}

else // dacă pinul este în low

{ // aprindere LED

LATAbits.LATA0 = 0; // setare pin LOW

adc_value = adc_convert(1); // preformarea conversiei analo-digitală pe canalul 1

wait_ms(adc_value>>2); // așteptare câtva timp

LATAbits.LATA0 = 1; // setare pin HIGH

adc_value = adc_convert(1); // preformarea conversiei analo-digitală pe canalul 1

wait_ms(adc_value>>2); // așteptare câtva timp

}

}

}

Aplicație pentru urmărirea liniei. Această aplicație este aplicația cu care este încărcat robotul, și funcționează urmărind linii drepte, curbe, întrerupte, chiar și linii de diferite grosimi.

#include"16F684.h"

#device ADC=10

#use delay(clock=4000000)

void SM()

{

int16 val1;

setup_adc(ADC_CLOCK_INTERNAL);

setup_adc_ports(sAN1);

set_adc_channel(1);

delay_ms(3);

val1=read_adc();

if(val1>102)

{

output_C(0x10);

val1=read_adc();

}

else output_C(0x00);

}

void SS()

{

int16 val2;

setup_adc(ADC_CLOCK_INTERNAL);

setup_adc_ports(sAN2);

set_adc_channel(2);

delay_ms(3);

val2=read_adc();

if(val2>102)

{

output_C(0x01);

val2=read_adc();

}

else output_C(0x00);

}

void main()

{

while(1)

{

SS();

SM();

//output_C(0x01);

//delay_ms(500);

//output_C(0x10);

//delay_ms(500);

}

}

Similar Posts