bratu-gheorghe-dragos-licenta-2014.doc

107
ROBOT AUTONOM CU GHIDARE AUTOMATĂ PE UN TRASEU PRESTABILIT

Upload: marius-paraschiv

Post on 03-Oct-2015

226 views

Category:

Documents


10 download

TRANSCRIPT

INTRODUCERE

ROBOT AUTONOM CU GHIDARE AUTOMAT PE UN TRASEU PRESTABILIT

CUPRINS

3LIST DE TABELE

4LIST DE FIGURI

6LIST DE TERMENI

7CAPITOLUL 1.INTRODUCERE

9CAPITOLUL 2.STRUCTURA GENERAL A UNUI ROBOT

92.1.Ce este un robot?

112.2.Sistemul mecanic al unui robot

142.3.Construcia modular a unui robot

182.4.Structura roboilor mobili

182.5.Sistemul de locomoie cu enile

202.6.Sistemul de locomoie cu roi

22CAPITOLUL 3.TIPURI DE SENZORI FOLOSII N ROBOTIC

233.1.Categorii de senzori

243.2.Senzori binari

243.3.Senzori analogici versus senzori digitali

253.4.Traductoare optice i magnetice pentru detecia micrii i a poziiei

273.5.Convertorul A / D (analog / digital)

283.6.Dispozitive senzitive de poziie

313.7.Compasul

323.8.Giroscop, Accelerometru, Inclinometru

333.8.1.Accelerometru

333.8.2.Giroscopul

353.8.3.Inclinometru

353.9.Camera digital

373.9.1.Partea hardware a senzorului de camer

40CAPITOLUL 4.DISPOZITIVE DE ACIONARE PENTRU DEZVOLTAREA SISTEMELOR ROBOTICE

404.1.Motoare de curent continuu

434.2.Puntea H

454.3.Modulaia n durat a impulsurilor

474.4.Motoare pas cu pas

484.5.Dispozitive Servo

50CAPITOLUL 5.PROIECTAREA UNUI ROBOT AUTONOM CAPABIL S SE GHIDEZE DUP UN TRASEU PRESTABILIT

505.1.Descriere general

515.2.Microcontrolerul AVR

535.3.Programarea cu Bootloader

555.4.Principiul de funcionare al robotului

565.5.Modulul de alimentare

575.6.Interfaa de ncrcare a Bootloader-ului

575.7.Interfaa USB

595.8.Driverul de motoare

605.9.Microcontrolerul

625.10.Schema electric final a robotului proiectat.

635.11.Calculul economic pentru realizarea robotului

645.12.Aplicaii posibile ale robotului

67CAPITOLUL 6.CONCLUZII

676.1.Concluzii

676.2.Probleme ntmpinate i posibile mbuntiri

69BIBLIOGRAFIE

71ANEX

LIST DE TABELE

22Tabelul 3.1 Tabel cu semnale de ieire ale senzorilor i tipuri de aplicaii

23Tabelul 3.2 Tabel de clasificare al senzorilor

42Tabelul 4.1 Variabile i valori constante pentru un motor de curent continuu

LIST DE FIGURI

9Figura 2.1 Structura bloc a unui robot

12Figura 2.2 Sistemul mecanic al unui robot

12Figura 2.3 Punctul i dreapta caracteristic, auxiliar a unui obiect cilindric

15Figura 2.4 Schema structural modular a unui robot

16Figura 2.5 Module tipizate din cadrul unor structuri funcional-constructive

17Figura 2.6 Module de roboi

19Figura 2.7 Sistem de locomoie cu enile

20Figura 2.8 Sistem de locomoie cu 2x3=6 roi

21Figura 2.9 Virarea asiului la stnga

24Figura 3.1 Interfaarea unui senzor tactil

25Figura 3.2 Semnal de sincronizare pentru interfaa serial sincron

26Figura 3.3 Codoare optice incrementale versus codul Gray absolut

27Figura 3.4 Interfaarea unui convertor A / D

28Figura 3.5 Senzor sonar

29Figura 3.6 Senzor cu infrarou

30Figura 3.7 Senzor SHARP PSD i diagrama acestuia

32Figura 3.8 Compas Vector 2X

33Figura 3.9 Giroscop Piezo HiTec, nclinometru Seika

34Figura 3.10 Giroscop deviat, n repaus i corecie

34Figura 3.11 Giroscop n micare (integrat), brut i corectat

36Figura 3.12 Imagini simple la rezoluie de 60x80

37Figura 3.13 Modul de camer EyeCam

38Figura 3.14 Interfaa unei camere

39Figura 3.15 Interfa de camer cu memorie tampon FIFO

40Figura 4.1 Combinaie ntre un motor i un traductor de poziie

41Figura 4.2 Schema electric a unui motor de curent continuu

43Figura 4.3 Curbele de performan ale unui motor de curent continuu ideal

44Figura 4.4 Model de punte H i modul de operare

45Figura 4.5 Amplificator de putere

46Figura 4.6 Modulaia n durat a impulsurilor

46Figura 4.7 Vitez i msurtoarea treapt unitate a motorului versus raportul PW

48Figura 4.8 Schema motorului pas cu pas

48Figura 4.9 Dispozitiv servo HiTec

49Figura 4.10 Controlul dispozitivelor servo

51Figura 5.1 Schema bloc a proiectului

52Figura 5.2 Atribuirea pinilor pentru AtMega324PA

54Figura 5.3 Mod de operare al aplicaiei GUI

54Figura 5.4 Mod de operare al aplicaiei GUI

55Figura 5.5 Mod de operare al aplicaiei GUI

55Figura 5.6 Matrice de senzori

55Figura 5.7 Condiia pentru deplasarea nainte

56Figura 5.8 Exemplu de ghidare al robotului

57Figura 5.9 Sursa stabilizat de tensiune

57Figura 5.10 Modul de conectare a interfeei ISP

58Figura 5.11 Interfaa USB

60Figura 5.12 Configuraia cu L298N

61Figura 5.13 Designul microcontrolerului

62Figura 5.14 Schema complet a proiectului

64Figura 5.15 Autovehicul ghidat cu ajutorul magneilor

65Figura 5.16 Vehicul electric autonom proiectat de ULTra

66Figura 5.17 Autobuz hibrid din Castelln

LIST DE TERMENIISO

International organization for standardization (Organizaia internaional pentru standardizare)

RM

Mobile robot (Robot mobil)

CPU

Central processing unit (Unitatea central de procesare)

IR

Infrared (Infrarou)

LED

Light emmiting diode (Diod emitoare de lumin)

HDT

Hardware description table (Tabel cu descriere hardware)

PSD

Sensible photo detector (Detector foto sensibil)

GPS

Global positioning system (Sistem global de poziionare)

PWM Pulse width modulation (Modulaie n durat a impulsurilor)

QVGA Quarter Video Graphics Array (Sfert de matrice video grafic)CCD Charge coupled device (Dispozitiv cu cuplaj de sarcin)

CMOS Complementary Metal-Oxide Semiconductor (Semiconductorul complementar metal-oxid)FIFO First in first out (Primul intrat primul ieit)

PW Pulse width (Laimea impulsului)

UART Universal asynchronous receiver/transmitter (Receptor i transmitor universal asincron)ADC Analog to Digital Converter (Convertor analog-digital)

EEPROM Electrically Erasable Programmable Read-Only Memory (Memorie care poate fi doar citit i programat sau stears electric)

ISP In system programming (Programare n sistem)

RISC Reduced Instruction Set Computer (Calculator cu set redus de instruciuni)

GUI Graphical User Interface (Interfa grafic pentru utilizator)

LIDAR Laser Imaging Detection and Ranging (Detecia i variaia imaginii laser)CAPITOLUL 1. INTRODUCERE

Transportul reprezint deplasarea de persoane i mrfuri, dintr-un loc n altul. Acest termen provine din derivarea cuvintelor limbii latine trans, care are semnificaia de la / pn la / peste, i portare care se traduce prin a duce / a deplasa.

Odat cu dezvoltarea societii, au aprut diferite probleme de risc care pot pune n pericol via uman, de aceea pentru o dezvoltare eficient este necesar crearea unor, mijloace de ajutor care s elimine eventualele pericole asupra vieii umane.De-a lungul timpului n domeniul transporturilor s-a ncercat introducerea unor sisteme care s poat automatiza procesul de transport, n vederea eliminrii interveniei prii umane. Cteva exemple de astfel de automatizri sunt n domeniul transportului rutier: autovehicule care pot parca sau chiar frna singure. n domeniul aerian: drone capabile de a capta diveri parametrii de mediu etc.Statisticile efectuate n ultimii ani arat c roboii au devenit din ce n ce mai mult utilizai att n mediile industriale ct i n cele neindustriale, din care rezult faptul c acetia au devenit sisteme indispensabile pentru diferitele societi i servicii. Ei sunt utilizai n diferite domenii precum procesele de producie ct i alte domenii precum: medicin, agricultur, transporturile i comunicaiile, acetia contribuie la mbuntirea performanelor de intervenie, precum i a celor de raionare att cantitativ ct i calitativ.Roboii mobili sunt roboi care se pot deplasa dintr-un loc n altul, fr asistena extern a unui operator uman. Acetia au un mare avantaj spre deosebire de cei industriali care se pot deplasa numai ntr-un spaiu de lucru specific, c ei se pot deplasa ntr-un spaiu de lucru definit, liberi pentru a-i atinge scopurile. Aceast capacitate de mobilitate i face potrivii pentru un repertoriu larg de aplicaii att n medii structurate ct i nestructurate.Scopul lucrrii este de a prezenta cteva puncte cheie n proiectarea i asamblarea unui sistem robotic capabil de a se deplasa i de a se ghida autonom pe un traseu prestabilit. Vor fi prezentate cteva dispozitive care se regsesc ntr-un astfel de sistem robotic, ns i problemele care pot s apar pe parcurs, n funcie de alegerile fcute.

Pentru exemplificarea practic se va alege proiectarea i asamblarea unui robot mobil cu roi, folosind un microcontroler din gama AVR, datorit numeroaselor avantaje pe care acesta le ofer.Acest tip de sistem autonom poate fi avantajos n numeroase aplicaii, cteva dintre ele se pot regsi n lucrare, ns datorit numeroaselor tipuri de piese care pot construi un astfel de sistem voi alege prezentarea elementelor eseniale de care depind lucrurile cele mai importante, acestea fiind detecia, comanda i controlul, precum i micarea.Din punct de vedere software sistemul va funciona dup un algoritm simplu pe care l repet ntr-o bucl infinit, avnd cteva condiii pe care trebuie s le respecte pentru a fi capabil s se deplaseze.CAPITOLUL 2. STRUCTURA GENERAL A UNUI ROBOT2.1. Ce este un robot?Ce este de fapt un robot, este un sistem alctuit din mai multe subsisteme. Un sistem este de fapt un ansamblu de elemente, pri componente i legturile dintre acestea. La rndul sau sistemul se compune din elemente care se numesc subsisteme, de aceea este realizat o catalogare a acestora prin numirea sistemelor: ncadrarea sistemelor n categoria 1, iar subsistemele n categoria 2 etc.Compunerea sistemului din subsisteme i legturile dintre aceste subsisteme contribuie la realizarea structurii sistemului. Compunerea sistemelor din subsisteme este evideniat de obicei prin scheme bloc, iar n subsisteme legturile sunt evideniate prin matrice de cuplare (prin care se face diferen dintre intrri i ieiri) i matrice de structur care ne arat care subsisteme sunt n legtur.Structura unui robot este prezentat n figura de mai jos:

Figura 2.1 Structura bloc a unui robotSistemul unui robot este nevoit s comunice cu mediul pentru a realiza funciile pe care le are, de aceea el este compus din urmtoarele:1) Sistemul mecanic care este asemnat cu scheletului uman, deoarece astfel se definesc natur i amplitudinea micrilor ce pot fi realizate.2) Sistemul de acionare prin care se realizeaz micarea efectiv a elementelor din sistemul mecanic. Sistemul de acionare este asemntor sistemului muscular uman.3) Sistemul de comand este cel care emite ctre sistemul de acionare comenzi i preia informaii de la sistemul mecanic, de la sistemul de acionare i de la mediu pe care le prelucreaz, acesta se aseamn cu sistemul nervos uman.

4) Traductorii i aparatele de msur au rolul de a prelua informaii despre starea intern a robotului, adic acceleraii relative, debite, temperaturi, presiuni, deplasri, viteze.5) Senzorii preiau informaii despre starea externa a robotului, caracterizat prin parametrii mediului (temperatur, presiune, compoziie, etc.) i aciunea acestuia asupra robotului (cupluri, fore etc.).Senzorii si traductorii sunt asemntoare organelor de sim: Deplasarea roboilor mobili se realizeaz cu ajutorul platformelor mobile, aceasta face parte din sistemul mecanic, i se aseamn cu aparatul locomotor al omului.

Un sistem de rang superior al sistemului mecanic este sistemul de conducere care se compune din sistemul de acionare i cel de comand.Roboii care sunt acionai hidraulic au un grup hidraulic care prepar i realizeaz circulaia fluidului purttor de energie (ulei). Grupul hidraulic are rolul aparatului respirator i al celui digestiv al omului.Prin mediu se nelege spaiul n care robotul evolueaz, cu fenomenele care se manifest n acest spaiu i obiectele prezente aici. Obiectele cu care robotul interacioneaz constituie periferia acestuia.Legturile dintre componentele care permit realizarea legturii cu mediul i legturile dintre componentele robotului sunt: directe;

inverse (feedback).

Legturile directe pot fi la sistemul de comand atunci cnd sunt transmise comenzi ctre sistemul de acionare, iar acesta acioneaz asupra cuplelor cinematice conductoare, axele sistemului mecanic, care apoi la rndul sau acioneaz asupra mediului cu efectorul final.Feedback, reprezint totalitatea informaiilor furnizate ctre sistemul de comand prin intermediul aparatelor de msur, senzorilor i traductoarelor.Fluxul de energie care este oferit de mediu sistemului de acionare al robotului i fluxul de energie disipat ctre mediu de robot sunt considerate tot legturi.2.2. Sistemul mecanic al unui robotn majoritatea cazurilor roboii trebuie s realizeze :

cu ajutorul efectorilor finali, aciuni asupra mediului;

percepie, realizata cu senzori si traductori, pentru a putea culege informaiile din mediul de lucru;

comunicare, pentru a putea efectua schimb de informaii;

capabilitatea de a putea lua decizii n scopul realizrii anumitor sarcini.

Structura unui robot este realizat astfel pentru ndeplinirea acestor funcii: sistemul de programare si comand;

sistemul mecanic;

sistemul senzorial;

sistemul de acionare.

Sistemul de programare i comand este un ansamblu de programe i echipamente care contribuie la realizarea micrii robotului.Sistemul mecanic este alctuit dintr-o serie de elemente care sunt mbinate ntre ele prin cuple cinematice.Sistemul senzorial este un ansamblu realizat din elemente specializate n transpunerea proprietilor ale diferitelor obiecte n informaii.Sistemul de acionare transform o anumit energie n energie mecanic i asigur transmiterea ei la cuplele cinematice conductoare.Sistemul mecanic asigur micrile robotului i transmiterea necesarului de energie pentru interaciunea cu mediul, mai exact acesta are sarcin de a deplasa un anumit obiect. Partea care realizeaz aceast deplasare poart numele de manipulator sau dispozitiv de ghidare.Prin manipulare nelegem schimbarea poziiei n spaiu a unui obiect. Datorit utilizrii minii de ctre om a fost determinate formarea cuvntului manipulare. Manipularea unui obiect se realizeaz prin modificarea poziiei bazei efectorului final, cu care obiectul este solidarizat. n acest scop, baz efectorului final este solidarizat cu un element al dispozitivului de ghidare.Dispozitivul de ghidare asigur efectorului final micrile i energia mecanic necesar, micri n conformitate cu aciunea necesitata asupra mediului.Subsistemul din cadrul sistemului mecanic dedicate acestei interaciuni este efectorul final.Efectorul final al robotului care manipuleaz obiecte se numete dispozitiv de dispozitiv de aprehensiune. Din punct de vedere al teoriei mecanismelor, obiectul i partea de baza a dispozitivului de aprehensiune formeaz o cupl cinematic de clasa a VI-a, nchis de obicei prin for.Dispozitivele de ghidare pot fi cu topologie: paralel, serial sau mixt.

Structura bloc a sistemului mecanic pentru un robot este urmtoarea:

Figura 2.2 Sistemul mecanic al unui robot

Poziia orientarea unui corp in spaiul tridimensional este definite cu ajutorul punctului caracteristic, i orientarea dreptei caracteristice, respective a dreptei auxiliare.

Pentru un obiect cilindric, punctul i dreapta caracteristic, auxiliar se reprezint astfel:

Figura 2.3 Punctul i dreapta caracteristic, auxiliar a unui obiect cilindric

Se nelege prin:

Punct caracteristic, un punct al obiectului, folosit pentru a defini poziia acestuia.

Dreapta caracteristic, este o dreapt care trece prin punctul caracteristic.

Dreapta auxiliar, este o dreapt perpendicular n punctul caracteristic pe dreapta caracteristic.Cu ajutorul dreptelor caracteristice si auxiliare se definete orientarea obiectului, de care aparin ambele drepte.

n modelul matematic al sistemului mecanic al robotului, originea este dat de punctul caracteristic, iar dreapta auxiliar i cea caracteristic reprezint axele unui sistem de referin cartezian drept legat de obiect.n variantele cu topologie serial, un mecanism component al acestuia, numit mecanism generator de traiectorie (mecanism de poziionare), realizeaz modificarea poziiei punctului caracteristic si altul numit mecanism de orientare, realizeaz orientarea dreptelor caracteristic i auxiliar.Pot fi definite: Mecanismul de orientare ca fiind mecanismul sau articulaia carpian a robotului; Mecanismul generator de traiectorie ca fiind braul robotului.

Efectorul final are mai multe variante constructive cum ar fi:

Efectorul final al robotului destinat prelucrrii obiectelor este o scul; Efectorul final al robotului destinat micrii obiectelor este manipulatorulPentru procesul de prelucrare energia necesar este transmis sculei prin intermediul robotului sau a unei surse suplimentar de energie, iar n acest caz efectorul final este o scul cu un cap de for. Capul de for este alctuit dintr-un motor i o transmisie mecanic.Platforma mobil reprezint componenta sistemului mecanic care asigur modificarea poziiei ntregului ansamblu in mediu.

Platforma mobil definete tipul robotului:

Robot staionar, atunci cnd nu este nzestrat cu platform mobil;

Robot mobil, cnd este nzestrat cu platform mobil, dispozitivul de ghidare modific poziia obiectului n raport cu platforma mobil.2.3. Construcia modular a unui robot

Construcia modular a unui robot este caracterizat prin:

Structura sistematic ce se compune dintr-un ansamblu de dispozitive i sisteme care formeaz cuple cinematice conductoare. Avantajul structurii sistemice este c asigur informaiile necesare pentru analiza cinematic i dinamic pentru sistemul mecanic si cel de acionare ale robotului. Dezavantajul ei este c funciile sistemelor de rang inferior robotului si particularitile constructive ale acestora nu se reflect dect parial. Structura funcional-constructiv sau structura modular pentru a putea fi puse n eviden proprietile funcionale i constructive ale roboilor (modul de robot) este cu dispozitive de ghidare cu topologie serial.Modulul unui robot, reprezint un subansamblu care se afl n interdependen cu una sau mai multe cuple cinematice ale dispozitivului de ghidare i cu efectorul final.Modulul de robot corelat cu cupla cinematic conductoare are prile "fixe" ale sistemului de acionare aferent cuplei cinematice conductoare i traductoarelor / senzorilor, solidarizate cu structura de rezisten a unuia dintre elemente (i sau i+1). Legtura dintre dou module vecine se realizeaz prin intermediul structurii de rezisten a elementului i. n acest mod, ntregul robot cu dispozitivul de ghidare n topologie serial este de fapt constituit din "legarea n serie" a unui numr de module.

Modulul de robot corelat cu o singur cupl cinematic poart o denumire care este definit dup funcia lui in cadrul robotului:

Astfel, exist module de:

De flexiune-extensie;

De basculare a braului;

De ridicare a braului;

De extensie a braului;

De pronaie-supinaie;

De pivotare de baz;

De aducie-abducie;

Translaii de baz.

Sunt reprezentabile schematic dup normele ISO.Modulul de orientare al unui robot este corelat cu toate cuplele cinematice ale sistemului de orientare, incluznd de attea ori componentele enumerate pentru modulul corelat cu o singur cupl cinematic conductoare, cte cuple cinematice conductoare are mecanismul de orientare.

n urmtoarea figur este reprezentat corelaia dintre structura sistemic i cea modular (funcional - constructiv) a unui robot avnd un dispozitiv de ghidare serial cu M = 3.

Figura 2.4 Schema structural modular a unui robot

n care: T/S - Traductoare/Senzori; SSA - Subsistem de acionare; CCC - Cupl cinematic conductoare; A/B/C - Modulul; EF - Efector final;

ELi Elementul i (i = 0, 1, 2, 3).Roboii care au dispozitive de ghidare cu topologie funcional paralel sau mixt, au unul din module aparinnd structurii funcional-constructive constituit din dou platforme legate una de cealalt prin conexiuni.Structura funcional-constructiv cu module tipizate a roboilor, constituie o dezvoltare mai departe a concepiei constructive cu module tipice ale acestora.Modulul tipizat al unui robot, reprezint un modul din cadrul unei structuri constructiv-funcionale, care constituie un ansamblu de sine stttor, interschimbabil cu alte module, care fac parte dintr-o serie de module tipizate i care poate fi asamblat cu alte module tipizate, n conformitate cu cerinele utilizatorului.n figura de mai jos sunt reprezentate mai multe module tipizate din cadrul unor structuri funcional-constructive de robot, alctuit din module. Acestea pot fi asamblate ntr-o concepie a baukasten, n structuri diferite, alctuind o familie de roboi compui din module tipizate.

Figura 2.5 Module tipizate din cadrul unor structuri funcional-constructive

n care:

1 - Modul de translaie de baz;

2 Batiu;3 - Modul de ridicare bra;4 - Modul de rotaie de baz;5 - Modul de basculare bra;6, 7 - Module de extensie bra;8, 9 - Module de orientare;10 - Robot cu mecanism generator de TTT, obinut prin combinarea modulelor 1+3+7;11 - Robot cu mecanism generator de traiectorie TRRT, obinut prin combinarea modulelor 1+4+5+6;12 - Robot RTT obinut din modulele 4+3+7.Efectorul final se consider de regul un modul al robotului ca i sistemul de comand (cu excepia traductoarelor / senzorilor nglobai n alte module).

n urmtoarele figuri (a,b,c,d) se prezint desenele de subansamblu ale unor module de roboi:

Figura 2.6 Module de roboiDezvoltarea roboilor construii cu ajutorul modulelor interschimbabile a fost apreciat, de ctre constructorii de roboi nc de la nceputul anilor 1980. nmulirea numrului aplicaiilor industrial ale roboilor i concentrarea fabricaiei de roboi, la un numr mai redus de firme care fabric mai muli roboi pe an, a dus la diminuarea construciei de roboi din module tipizate dup 1990.2.4. Structura roboilor mobili

Structura unui robot mobil (RM) corespunde arhitecturii generale a roboilor i se compune din dou pri: Structura mecanic, respectiv manipulatorul, care determin performanele tehnice; Structura electronic, care asigur comand i controlul, dar care condiioneaz i calitatea performanelor.

n general cele mai frecvente probleme n realizarea robotului apar la, structura mecanic de volum, cost i mas redus, pentru transmiterea micrii i adaptarea la structur mecanic a motoarelor electrice i hidraulice, la proiectarea braelor mecanice pentru a putea apuca obiecte de diferite forme.Structura electronic permite datorit nivelului tehnologic de la ora actual utilizarea unui microcontroler sau a unui microprocesor n funcie de scopul pentru care este proiectat robotul, pentru a realiza comanda fiecrui grad de mobilitate, precum i a altor microprocesoare specializate pentru tratarea semnalului senzorial.Robotul mobil interacioneaz cu mediul nconjurtor prin structura sa mecanic, asigurnd astfel deplasarea, orientarea i poziionarea organului de execuie.Structura mecanic a roboilor mobili este format din:

Sistemul de manipulare, care i asigur robotului orientarea i poziionarea prii componente destinat lucrului;

Sistemul de locomoie (pe roi sau enile), prin care se asigur deplasarea pe o suprafaa de lucru (n cadrul unei autonomii sporite).2.5. Sistemul de locomoie cu enile

Sistemul de deplasare cu enile este reprezentat mai jos i are n componen:

O roat de ntindere;

O roat motoare;

Dou sau mai multe roi purttoare;

enila, este realizat ca un lan articulat plan;

Una sau dou roi de susinere a enilei.

Figura 2.7 Sistem de locomoie cu enile

Roata motoare este o roat dinat conductoare care angreneaz lanul articulate ce formeaz enila. Ghidarea i ntinderea enilei este asigurat de ctre roata dinat.

Roile purttoare asigur punctele de sprijin i de rulare, aceste puncte se obin pe ramura inferioar a lanului enilei care formeaz ramura ntins i interacioneaz cu suprafaa terenului.

Ramura superioar conine puncte de susinere formate de ctre roile de susinere, aceasta este ramur slbit, liber a enilei.

enila se compune din eclise de cauciuc, cu armtur metalic, montate articulate cu boluri pentru realizarea lungimii totale necesare.

Pentru a obine aderena la sol, enila este prevzut la partea exterioar cu proeminene n X, iar pe partea interioar sunt prezeni dini pentru angrenarea cu roata motoare. Indiferent de construcie, enila formeaz o cale de rulare fr sfrit, prin care se obine propulsia robotului, se asigur aderena acestuia cu solul i se obine o presiune specific pe sol mult mai mic dect n cazul altor soluii.Roata motoare este acionat cu ajutorul unui motor electric de curent continuu, care se alimenteaz de la un grup electrogen corespunztor sau de la baterii de acumulatoare.

Reductorul este de tip armonic (cu roat dinat elastic i cu deformator) i este prevzut cu cuplaj ireversibil, care asigur frnarea atunci cnd robotul este oprit n pant.

Sistemul de locomoie cu enile permite micarea robotului nainte, napoi, efectuarea virajelor la stnga i la dreapt, precum i o rotaie n plan orizontal. De asemenea permite robotului urcarea pantelor pan la 45.

2.6. Sistemul de locomoie cu roi

Sistemul de locomoie cu roi este prevzut cu pneuri ceea ce i permite o vitez mult mai mare de deplasare fa de cel cu enile.Roboii echipai cu un asemenea sistem acioneaz n locuri n care terenul este pietruit sau asfaltat, deoarece posibilitile lor de a trece peste obstacolele ntlnite n cale sunt mai mici dect n cazul celor care sunt echipai cu enile.n funcie de sarcina care trebuie manipulat i masa robotului sistemele de locomoie cu roi pot fi prevzute cu 3, 4, sau 6 roi, fiecare roat acionnd de regul individual.De obicei roile situate la mijloc sunt articulate la o osie fixat de saiu, iar roile extreme sunt articulate la un set de brae capabile s oscileze n plan vertical, n raport cu asiul.n figura de mai jos este prezentat un sistem de locomoie cu 6 roi:

Figura 2.8 Sistem de locomoie cu 2x3=6 roi

Acionarea se face n mod independent pentru fiecare roat motoare, cu ajutorul motoarelor electrice de curent continuu, folosindu-se reductoare armonice, iar alimentarea fiind preluat de la grupuri electrogene adecvate sau de la baterii de acumulatoare.Acest tip de sistem cu roi permite robotului s se deplaseze nainte i napoi, dar i s poat efectu virajele la stnga i la dreapta, precum i efectuarea unei rotaii n plan orizontal. De menionat faptul c n cazul acestui tip de sistem cu roi spre deosebire de cel cu enile raza de virare este mai mare.Raza de virare poate fi modificat de la o valoare minim (fig. 2.9a) la o valoare maxim (fig. 2.9b):

Figura 2.9 Virarea asiului la stngaCAPITOLUL 3. TIPURI DE SENZORI FOLOSII N ROBOTICn robotic este folosit un numr vast de senzori diferii, care folosesc diferite tehnici de msur ct i interfee diferite cu un controller. Din nefericire, acest lucru face ca acest subiect s fie foarte greu de acoperit. ns am ales mai muli senzori, des folosii n aplicaii cu roboi pe care i voi prezenta n detaliu att din punct de vedere hardware ct i software.Lucrul cel mai important n alegerea unui senzor pentru o aplicaie implic: o tehnic de msur corect, o greutate potrivit, o mrime potrivit, un interval eficient al temperaturii de funcionare, cat si un consum de energie redus, dar i gama de cost corect, deoarece aceste lucruri reflect eficiena i costurile aplicaiei aleas.

Transferul de date de la senzori ctre microprocesor se poate face prin iniializarea acestuia adic prin a polling (votare), sau prin iniializarea fcut de ctre senzor prin ntrerupere. n cazul n care microprocesorul este iniializat acesta trebuie s verifice dac senzorul este pregtit prin citirea unei linii de stare ntr-o bucl. Aceast metod consum mai mult timp dect cealalt alternativ, realizarea transferului de date cu ajutorul iniializrii senzorului necesit disponibilitatea unei linii de ntrerupere. Senzorul poate trimite semnale prin intermediul unei ntreruperi prin care s semnalizeze c datele sunt pregtite, iar microprocesorul poate reaciona imediat la aceast cerere.Tabelul 3.1 Tabel cu semnale de ieire ale senzorilor i tipuri de aplicaii

3.1. Categorii de senzoriDin punctul de vedere al unui inginer este logic, ca senzorii s fie clasificai n funcie de semnalele de ieire. Acest lucru este important pentru interfaarea cu un sistem integrat. Tabelul 3.1 de mai sus prezint un rezumat al ieirilor de senzori tipice mpreun cu exemple de aplicaii. Cu toate acestea, o clasificare diferit este necesar cnd ne uitm la partea de aplicaii. Aceast clasificare este realizat n tabelul de mai jos.Tabelul 3.2 Tabel de clasificare al senzorilor

Din punctul de vedere al unui robot este mai important s poat distinge:

Senzorii locali sau de la bord (montai pe robot);

Senzorii globali (senzorii montai n exteriorul robotului, amplasai n mediul n care acesta i desfoar activitatea i senzorii transmitori care transmit date napoi ctre robot).

Pentru roboii mobili este de asemenea important sa poat distinge: Senzorii interni sau proprioceptivi (senzorii care monitorizeaz starea interna a robotului);

Senzorii externi (senzorii care monitorizeaz mediul robotului).

O alt distingere este realizat ntre:

Senzorii pasivi (senzori care monitorizeaz mediul fr a interaciona cu acesta spre exemplu: camera digital, giroscop etc.);

Senzorii activi (senzorii care stimuleaz mediul pentru a-i realiza propriile msurtori de exemplu: scanner-ul cu laser, senzorul cu infrarou, sonarul etc.).

3.2. Senzori binariSenzorii binari sunt cei mai simpli. Acetia nu returneaz dect un singur bit de informaie i anume 0 sau 1. Un exemplu adecvat este un senzor tactil montat pe un robot, de exemplu un micro-ntreruptor. Interfaarea sa cu un microcontroler poate fi realizat foarte simplu folosind o intrare digital a controlerului. n figura 3.1 este prezentat folosirea unui rezistor pentru a realiza legtura la o intrare digital. n acest caz, o rezisten de pull-up va genera un semnal mare, dac ntreruptorul nu este activat. Aceasta se numete setare de active low.

Figura 3.1 Interfaarea unui senzor tactil 3.3. Senzori analogici versus senzori digitaliO serie de senzori produc semnale de ieire analogice n loc de semnale digitale. Acest lucru aduce necesitatea unui convertor analog / digital, pentru a putea fi realizat conexiunea unui senzor analogic cu un microcontroler. Exemple tipice de astfel de senzori sunt: senzor de distan analogic cu infrarou, microfon, compasul analogic, barometru etc..

Senzorii digitali pe de alt parte sunt mult mai compleci, dect senzorii analogici i de foarte multe ori mult mai precii. n unele cazuri acelai senzor este disponibil fie n variant analogic fie n cea digital, ns de obicei senzorul analogic este ambalat cu un convertor A/D.

Semnalele de ieire pot avea diferite forme. Poate exista fie o interfa paralel (de exemplu 8 sau 16 linii de ieire digitale), fie o interfa serial (de exemplu urmrind standard-ul RS232) sau o interfa asincron serial. Expresia sincron serial se refer la faptul c valorile datelor convertite sunt citite bit cu bit de la senzor. Dup setarea liniei de cip-activ pentru senzor, microprocesorul trimite impulsuri prin intermediul liniei de ceas i n acelai timp, citete 1 bit de informaie de la linia de informaii a senzorului, un singur bit pentru fiecare puls (de exemplu pentru fiecare margine n cretere). n figura 3.2 poate fi observat un exemplu de senzor cu o lime de ieire de 6 bii a unui cuvnt.

Figura 3.2 Semnal de sincronizare pentru interfaa serial sincron3.4. Traductoare optice i magnetice pentru detecia micrii i a poziiei

Codoarele sunt necesare ca senzori de feedback fundamentali pentru controlul motoarelor. Exist mai multe tehnici n construcia unui codor. Cele mai folosite sunt codoarele magnetice sau optice. Codoarele magnetice folosesc un senzor cu efect Hall i un disc rotativ montat pe axul motorului cu un anumit numr de magnei de exemplu 16 montai n cerc. La fiecare micare de revoluie a motorului axul conduce magneii prin dreptul senzorului Hall, rezultnd astfel 16 impulsuri pe linia codorului. Codoarele optice standard folosesc un sector din disc cu segmente albe i negre, mpreun cu un led i o fotodiod. Fotodiod detecteaz lumina reflectat cnd prin dreptul ei trece un segment alb, iar atunci cnd prin dreptul ei trece un segment de culoare neagr aceasta nu detecteaz. Deci prin urmare dac discul este alctuit din 16 segmente albe i 16 negre, senzorul va recepiona 16 impulsuri pe durata unei micri de revoluie.Codoarele sunt de obicei montate direct pe arborele motorului (asta naintea cutiei de viteze), astfel nct acestea s aib o rezoluie complet, comparativ cu viteza de rotaie mult mai lent axului roii orientat n jos. Spre exemplu dac avem un codor care detecteaz 16 impulsuri pentru fiecare micare de revoluie i o cutie de viteze cu o raie de 100:1 ntre motor i roata vehiculului, deci rezult un codor cu o rezoluie de 1600 de impulsuri pentru fiecare micare de revoluie a roii.Ambele timpuri de codoare descrise mai sus sunt numite incrementale, deoarece acestea pot numra un numr de segmente ncepnd de la un anumit punct de start. Ele nu sunt suficiente pentru a detect poziia absolut a axului motorului. Dac este necesar poziia absolut, poate fi folosit un disc cu codul Gray n combinaie cu un set de senzori. Acest numr de senzori determin rezoluia maxim a acestui tip de codor (de exemplu dac avem 3 senzori, acestea dau o rezoluie de 23=8 sectoare). De reinut, c pentru fiecare tranziie ntre 2 sectoare vecine de pe discul cu codul Gray, numai un singur bit se schimb (de exemplu ntre 1 = 001 i 2 = 011). nu ar fi cazul Pentru o codare binar nu ar fi cazul (de exemplu 1 = 001 i 2 = 011). Aceasta este o trstur esenial pentru acest tip de codor, deoarece el va reda o citire corect chiar dac discul doar trece printre cele 2 segmente (pentru codarea binar rezultatul ar fi arbitrar la trecerea printre 111 i 000).Dup cum am menionat, un codor cu un singur senzor magnetic sau optic poate numra numai numrul de segmente care trec prin dreptul su. ns acestea nu pot face diferena dac axul motorului se nvrte n sensul acelor de ceasornic sau contrar acestora. Acest lucru este deosebit de important pentru aplicaii cum ar fi vehiculele robot, care ar trebui sa fie capabile sa mearg nainte i napoi. Din acest motiv majoritatea codoarelor sunt echipate cu 2 senzori (magnetic sau optic) care sunt poziionate cu un mic defazaj ntre ele. Cu acest aranjament este posibil determinarea direciei de rotaie a axului de la motor, din moment ce este nregistrat care din cei doi senzori primete impuls pentru un nou segment. n figura 3.3 Codorul 1 primete primul semnal, iar apoi micarea se desfoar n sensul acelor de ceasornic, dac Codorul 2 primete impuls, atunci micarea are loc contrar sensului acelor de ceasornic.

Figura 3.3 Codoare optice incrementale versus codul Gray absolutDin moment ce fiecare din cei doi senzori ai unui codor sunt senzori digitali binari, acetia pot fi interfaai cu un microcontroler folosind 2 linii de intrare digitale. Oricum acest lucru nu ar fi foarte eficient, deoarece atunci controlerul ar trebui s supun la vot n mod constant liniile de date de la senzori pentru a nregistra orice modificri i pentru a actualiza numrul de sector.Din fericire acest lucru nu este necesar, deoarece, majoritatea microcontrolerelor moderne (spre deosebire de microprocesoarele standard) au o intrare hardware special pentru cazuri ca acesta.De obicei acestea sunt numite registre numrtoare de impulsuri i pot numra impulsurile recepionate pn la o anumit frecven, complet independent de CPU. Asta nseamn c CPU-ul nu este ncetinit i deci este liber s lucreze la programe de nivel superior.Prin urmare codoarele sunt senzori standard destinai roboilor mobili pentru a determin poziia ct i orientarea acestora.3.5. Convertorul A / D (analog / digital)

Un convertor A / D transform un semnal analogic ntr-o valoare digital. Caracteristicile unui convertor A / D includ:

Precizie exprimat n numrul de digii pe care l produce pentru fiecare valoare (de exemplu, 10 bii convertor A / D); Viteza exprimat prin numrul maxim de conversii pe secund (de exemplu, 500 de conversii pe secund);

Intervalul de msurare exprimat in voli (de exemplu, 05 Voli).

Convertoarele analog / digitale vin n mai multe variante. Formatul de ieire de asemenea variaz. Cele tipice sunt fie o interfa serial (de exemplu pn la 8 bii de precizie) sau o interfa serial sincron reprezentat n subcapitolul 3.2. n cele din urm are avantajul c nu impune nici o limitare privind numrul de bii pe msur, de exemplu, 10 sau 12 bii de precizie. n figura urmtoare este reprezentat un aranjament tipic al unui convertor A / D conectat la un procesor.

Figura 3.4 Interfaarea unui convertor A / D

Foarte multe module de conversie A / D includ de asemenea un multiplexor care permite conexiunea mai multor senzori, ale cror date pot fi citite i convertite ulterior. n acest caz, modulul de conversie A / D are de asemenea o linie de intrare de 1 bit, care permite specificarea unei anumite linii de intrare, utiliznd transmisia serial sincron (de la CPU la convertorul A / D).3.6. Dispozitive senzitive de poziie

Senzorii pentru msurtorile de distan sunt printre cei mai importani din robotic. Timp de decenii, roboii mobili au fost echipai cu senzori diferii, pentru msurarea distanelor pn la cel mai apropiat obstacol din jurul robotului, n scopuri de navigare.n trecut cei mai muli roboi erau echipai cu senzori sonar (adesea senzori Polaroid). Datorit conului relativ ngust al acestor senzori, pentru acoperirea ntregii circumferine a unui robot rotund sunt necesari 24 de senzori, care cartografiaz 15 fiecare. Senzorii sonar folosesc urmtorul principiu de funcionare: un semnal acustic scurt de 1ms este emis la o frecven ultrasonica cuprins ntre 50 kHz i 250 kHz, apoi este msurat timpul de la semnalul de emisie pn la ntoarcerea ecoului la senzor. Timpul de zbor msurat este proporional cu de 2 ori distan de cel mai apropiat obstacol n conul de senzor. n cazul n care nu este primit niciun semnal ntr-un anumit interval de timp, atunci nseamn c niciun obstacol nu a fost detectat n cadrul distanei corespunztoare. Msurtorile sunt repetate cam de 20 de ori pe secund ceea ce dau senzorului sunetul tipic de clic.

Figura 3.5 Senzor sonar

Senzorii sonar au un numr de dezavantaje, dar sunt n acelai timp un sistem foarte puternic de senzori. Problemele cele mai importante ale acestor senzori sunt reflexiile i interferenele. Cnd un semnal acustic este reflectat, de exemplu fa de un zid la un anumit unghi, atunci obstacolul pare s fie mai departe dect zidul real care a reflectat semnalul. Interferenele apar atunci cnd sunt operai mai muli senzori n acelai timp (fie ntre cei 24 de senzori unuia dintre roboi, fie printre mai muli roboi independeni). Aici se poate ntmpla ca semnalul acustic de la un senzor s fie preluat de ctre un alt senzor, de unde poate rezulta c obstacolul este mai aproape dect cel real. Semnalele sonar codate pot fi utilizate pentru a preveni acest lucru , de exemplu, folosind pseudo-coduri aleatorii.Astzi, n multe sisteme robot, senzorii sonar au fost nlocuii fie cu senzori cu infrarou fie cu senzori laser. Standardul actual pentru roboii mobili este de senzori laser care returneaz o hart local 2D aproape perfect din punctul de vedere al robotului, sau chiar o hart de distan 3D.Din nefericire aceti senzori sunt prea mari i grei, pe lng faptul c sunt prea scumpi pentru sistemele mici de robot mobil. Acesta este motivul pentru care ne concentrm pe senzorii de distan cu infrarou.

Figura 3.6 Senzor cu infrarouSenzorii cu infrarou (IR) de distan nu urmeaz acelai principiu c i senzorii sonar, din moment ce timpul de zbor al unui foton ar fi mult prea scurt pentru a fi msurat cu un aranjament simplu i ieftin. n schimb, aceste sisteme folosesc de obicei un LED pulsatoriu cu infrarou la o frecven cam de 40 kHz mpreun cu o matrice de detecie ca n figur de mai sus. Unghiul sub care fasciculul se reflect primete modificri conform distanei fa de obiect i de aceea poate fi folosit la msurarea distanei. Lungimea de und folosit este de obicei 880nm. Dei acest lucru este invizibil pentru ochiul uman, el poate fi transformat n lumin vizibil fie prin detectoare de infrarou fie prin nregistrarea fasciculului de lumina cu o camera senzitiv la infrarou.n figura 3.7 este reprezentat un senzor SHARP GP2D02, care este construit ntr-un mod similar cum am descris mai sus. Exist 2 variante ale acestui senzor: Sharp GP2D12 care are ieirea analogic;

Sharp GP2D02 cu ieire serial digital.

Senzorul analog simplu returneaz un nivel de tensiune n raport cu distana msurat (din pcate nu proporional, figura 3.7). Senzorul digital are o interfa digital serial. El transmite o msurtoare pe 8 bii, valoarea bit-nelept pe o singura linie, declanat de un semnal de ceas de la CPU (figura 3.2).

n figura 3.7, pot fi vzute relaia dintre citirea senzorului digital (date brute) i informaia despre distan. Din aceast diagram este clar c senzorul nu returneaz o valoare linear sau proporional cu distan actual, astfel c este necesar o post-procesare a valorilor brute de la senzor. Cea mai simpl cale de a rezolva aceast problem este prin a utiliza un tabel de cutare care poate fi calibrat individual pentru fiecare senzor. Deoarece sunt returnai doar 8 bii de date, tabelul de cutare va avea o dimensiunea rezonabil de 256 de intrri. Un astfel de tabel de cutare este prevzut n tabelul de descriere hardware (HDT) al sistemului de operare RoBIOS. Cu acest concept, calibrarea este necesar doar odat pentru fiecare senzor i este complet transparent pentru programul aplicaiei.

Figura 3.7 Senzor SHARP PSD i diagrama acestuiaO alt problem devine evident atunci cnd privim diagrama cu privire la distanele sub 6cm. Aceste distane sunt sub intervalul de msurare ale acestui senzor i vor avea ca rezultat o citire incorect a unei distane mai mari. Aceasta este o problem mult mai serioas, deoarece nu poate fi rezolvat ntr-un mod simplu. S-ar putea de exemplu, monitoriza continuu distana cu un senzor pn cnd ajunge n apropiere de 6 cm. Cu toate acestea, de atunci este imposibil s tim dac obstacolul se apropie sau merge mai departe. Cea mai sigur soluie este de a monta senzorul astfel nct obstacolul s nu se poat apropia la o distan mai mic de 6 cm, sau prin folosirea unui senzor de proximitate cu infrarou suplimentar, pentru a rezolva i problema obstacolelor aflate la o distan mai mic de 6 cm.Comutatoarele de proximitate cu infrarou sunt de o natur mult mai simpl dect PSD cu infrarou. Comutatoarele de proximitate cu infrarou sunt o variant electronic echivalent a senzorului tactil binar (figura 3.1). Aceti senzori de asemenea returneaz doar valori de 0 sau 1, dac n faa senzorului este spaiu liber (de exemplu 1-2cm) sau nu. Comutatoarele de proximitate cu infrarou pot fi folosite n loc de senzori tactili pentru cele mai multe aplicaii care implic obstacole cu suprafee reflectorizante. Ei au de asemenea avantajul, c nu sunt implicate componente mecanice n micare n comparaie cu micro-comutatoarele mecanice care au n componena pri mecanice care se pot deteriora de-a lungul timpului din cauza folosirii ndelungate.3.7. Compasul

Compasul este un senzor foarte util n multe aplicaii cu roboi mobili, n special pentru auto-localizare. Un robot autonom trebuie s se bazeze pe senzorii de la bord n scopul de a-i urmri poziia sa actual i orientarea. Metoda standard pentru a realiza asta la conducerea unui robot este prin folosirea codoarelor cu ax pentru fiecare roat, apoi aplicnd metoda dead-reckoning sau drum estimat. Aceast metod pornete cu o orientare i poziie cunoscut, apoi adaug toate aciunile de conducere i de cotitura pentru a gsi poziia i orientarea actual a robotului. Din pcate datorit alunecrii roii i ali factori, eroarea de a dead reckoning va crete din ce n ce mai mult de-a lungul timpului. De aceea este o idee bun n a avea un senzor compas la bordul robotului pentru a determina poziia absolut a acestuia.

Un pas mai departe n direcia senzorilor globali ar fi interfaarea la un modul receptor pentru sistemul de poziionare global prin satelit (GPS). Modulele GPS sunt destul de complexe i acestea conin i ele la rndul lor un microcontroler. Interfaarea de obicei, funcioneaz printr-un port serial. Pe de alt parte, modulele GPS funcioneaz n aer liber n spaii neobstrucionate.

Mai multe module de compasuri sunt disponibile pentru integrarea cu un controler. Cele mai simple module sunt compasurile analogice care pot distinge doar 8 direcii, care sunt reprezentate de 8 nivele de tensiuni diferite. Acetia sunt mai degrab senzori ieftini, care sunt utilizai de exemplu ca i compasuri direcionale pentru maini. Un astfel de compas poate fi conectat la o intrare al EyeBot (al ochiului robotului) i pragurile pot fi setate pentru a putea distinge cele 8 direcii. Un model potrivit de compas analogic este:

Senzorul Dinsmore numrul 1525 sau 1655.Compasurile sunt mult mai complexe, dar, de asemenea, ofer o rezoluie direcional mult mai mare. Senzorul pe care l-am selectat pentru exemplificare, are o rezoluie de 1 si o precizie de 2, i poate fi folosit in interior: Vector 2X.Acest senzor ofer linii de control pentru resetare, calibrare i modul de selecie, i nu toate trebuie folosite pentru toate aplicaiile. Senzorul trimite date folosind aceeai interfa digital serial deja descris n subcapitolul 3.4. Senzorul este disponibil n varianta reprezentat mai jos sau n versiunea giroscopic care permite msurtori cu pn la 15 mai precise.

Figura 3.8 Compas Vector 2X3.8. Giroscop, Accelerometru, InclinometruSenzorii de orientare sunt necesari pentru a determina orientarea unui robot n spaiul 3D pentru proiecte cum ar fi roboi pe enile, roboi pentru echilibrare, roboi care merg pe jos sau avioane autonome. O varietate de senzori sunt disponibili pentru acest scop, pn la module complexe capabile de a determina orientarea pe toate cele 3 axe. Cu toate acestea ne vom concentra mai mult asupra senzorilor mai simpli, majoritatea dintre ei capabili de a msura doar o singur dimensiune. Doi sau chiar 3 senzori din acelai model pot fi combinai pentru a msura orientarea pe 2 sau toate cele 3 axe. Categoriile de senzori sunt:1) Accelerometru (msoar acceleraia de-a lungul unei axe): Dispozitive analogice ADXL05 (o singur ax, ieire analogic) Dispozitive analogice ADXL202 (dou axe, ieire PWM)2) Giroscop (msoar schimbarea rotaional a orientrii unei axe): HiTec GY 130 Piezo Gyro (ieire i intrare PWM)

3) Inclinometru (msoar unghiul de orientare absolut al unei axe): Seika N3 (ieire analogic)

Seika N3d (ieire PWM)

Figura 3.9 Giroscop Piezo HiTec, nclinometru Seika

3.8.1. Accelerometru

Toi aceti senzori simpli au un numr de dezavantaje i restricii. Majoritatea nu pot face fa foarte bine unui bruiaj, care apar frecvent n conducerea roboilor sau mai ales n cazul roboilor care merg. n consecin, unele mijloace software trebuie s fie folosite pentru filtrarea semnalului. O abordare promitoare este de a combin dou tipuri diferite de senzori cum ar fi un giroscop i un inclinometru, iar apoi efectuarea unei fuziuni de senzori n soft.

Un numr de diferite modele de accelerometre sunt disponibile, capabile de a msura o ax sau dou axe n acelai timp. Ieirea senzorului este fie analogic sau o ieire de semnal PWM, care necesit s fie msurat i transformat napoi ntr-o valoare binar de ctre unitatea de sincronizare i procesare a procesorului.3.8.2. GiroscopulGiroscopul ales de la HiTec, este doar un reprezentant dintr-o gam foarte larg, disponibile pentru modele de elicoptere i avioane. Aceste module sunt destinate s fie conectate ntre un receptor i un dispozitiv de acionare servo, astfel nct s aib o intrare PWM i o ieire PWM. n funcionare normal, de exemplu la un elicopter, semnalul de intrare PWM de la receptor se modific n funcie de rotaia msurat de la axa giroscopului, iar un semnal PWM este produs la ieirea senzorului, pentru a compensa rotaia unghiular.

Figura 3.10 Giroscop deviat, n repaus i corecie

O problem deosebit observat cu giroscopul piezo folosit (HiTec GY 130) este deviaia: chiar atunci cnd senzorul nu este deplasat, iar semnalul PWM de intrare rmne neschimbat, ieirea senzorului alunec n timp aa cum se vede n figura 3.10.

Acest lucru se poate datora modificrilor de temperatur n senzor i necesit compensare.

O alt problem cu aceste tipuri de giroscoape este c acestea pot sesiza doar modificarea orientrii (rotaia n jurul unei singure axe), dar nu poziia absolut.

Figura 3.11 Giroscop n micare (integrat), brut i corectat

Figura 3.11 prezint semnalul senzorului integrat pentru un giroscop care este mutat continuu ntre 2 orientri cu ajutorul unui dispozitiv servo. Dup cum se poate observa n figura 3.11 n partea din stnga, valorile unghiului rmn n limitele corecte pentru cteva iteraii. Eroarea este datorat i din cauza deviaiei senzorului, dar i datorit erorii de iteraie.

Urmtoarele tehnici se aplic pentru procesarea datelor obinute:1) Reducerea zgomotului prin eliminarea valorilor date de punctele de observaie.

2) Reducerea zgomotului prin aplicarea metodei de micare medie.

3) Aplicarea factorilor de scalare pentru a incrementa / decrementa unghiurile absolute.

4) Recalibrarea giroscop n repaus prin eantionare.

5) Recalibrarea minim i maxim n repaus, prin eantionare.

Dou seturi de limite sunt utilizate pentru determinarea i recalibrarea, caracteristicilor de repaus ale unui giroscop. Abaterile senzorului sunt acum eliminate (curba superioar figura 3.10). Valoarea de ieire integrat pentru unghiul de nclinare (figura 3.10 dreapta) prezint semnalul liber de zgomot corectat. Valoarea msurat este situat acum ntre limitele corecte i este foarte aproape de unghiul adevrat.

3.8.3. InclinometruInclinometrul msoar unghiul de orientare absolut ntr-un interval specificat, n funcie de modelul senzorului. Ieirea senzorului este de asemenea dependent de model, fie cu ieire analogic a semnalului sau PWM fiind disponibile. Prin urmare, interfaarea la un sistem integrat este identic ca la accelerometre. Deoarece inclinometrele msoar unghiul de orientare absolut n jurul unei axe i nu derivatul, ele par a fi mult mai potrivite n msurarea unghiului de orientare dect un giroscop. Cu toate acestea msurtorile, arat faptul c inclinometrul Seika sufer de un decalaj de timp atunci cnd se msoar, i de asemenea sunt predispuse s oscileze atunci cnd sunt dispuse zgomotului poziional , de exemplu cauzate de servo bruiaj.

n special la sistemele care necesit un rspuns imediat precum roboii de echilibrare, giroscoapele au un avantaj fa de inclinometre. Spre urmare dup prezentarea acestor tipuri de componente am ajuns la concluzia c soluia ideal este o combinaie ntre un inclinometru i un giroscop.3.9. Camera digitalCamerele digitale sunt senzorii cei mai compleci utilizai n robotic. Acestea nu au fost utilizate n sisteme integrate pn de curnd, din cauza vitezei procesorului i a capacitii mari de memorie necesar. Ideea central din spatele dezvoltrii EyeBot (ochiului robotic) n 1995 a fost de a crea un sistem mic de viziune, compact ncorporat, care a devenit ulterior primul de acest gen. Astzi laptopurile, jucriile electronice, camerele digitale cu procesare a imaginii, telefoanele mobile dotate cu o astfel de camer la bord sunt disponibile pe piaa de consum.Pentru aplicaiile de robot mobil, suntem interesai de o rat mare a cadrelor, pentru c robotul aflat n micare s poat furniza date actualizate la o vitez ct mai mare posibil. Deoarece ntotdeauna exist un compromis ntre rata mare de cadre i rezoluia nalt, nu suntem att de ngrijorai n privina rezoluiei camerei. Pentru majoritatea aplicaiilor cu roboi mobili mici, o rezoluie de 60x80 de pixeli este suficient. Chiar i la o rezoluie aa de mic se pot detecta de exemplu, obiecte colorate sau obstacole n calea unui robot. La aceast rezoluie, rata cadrelor, de pn la 30 de cadre pe secund sunt realizabile pe un controler EyeBot. Rata de cadru va scdea cu toate acestea, n funcie de algoritmii de procesare a imaginii aplicai. Rezoluia imaginii trebuie s fie suficient de mare pentru a detecta un obiect dorit de la o distan specificat. Atunci cnd obiectul din distan se reduce la civa pixeli, atunci acest lucru nu este suficient pentru un algoritm de detecie. Multe rutine de nivel nalt n procesare a imaginii nu sunt lineare n cerinele de timp.

Figura 3.12 Imagini simple la rezoluie de 60x80

Din pcate pentru aplicaiile integrate de vizualizare, cipurile mai noi de fotografiat au rezoluii mult mai mari de exemplu, QVGA, pn la 1024x1024, n timp ce cipurile de rezoluie sczut nu mai sunt produse. Acest lucru nseamn c mai multe date sunt transferate i de obicei la o rat mult mai mare de transfer. Acest lucru implic, componente hardware mult mai rapide doar pentru a ine pasul cu rata de transfer a camerei. Rata de transfer realizabil va scdea la cteva cadre pe secund fr alte beneficii, deoarece nu am fi avut spaiul necesar de memorie pentru a stoca imaginile de nalt rezoluie lsnd la o parte viteza procesorului de a aplica algoritmi de procesare a imaginii pentru ele.n figura 3.13 poate fi observat un modul de camer EyeCam, care este utilizat cu un controler ncorporat numit EyeBot. EyeCam C2 are n plus, fa de ieirea digital, un port de ieire video analogic n tonuri de gri, care poate fi utilizat n calibrarea rapid a lentilelor sau pentru nregistrare video analogic, de exemplu n scopuri demonstrative.

Figura 3.13 Modul de camer EyeCam

3.9.1. Partea hardware a senzorului de camern ultimii ani s-a produs o schimbare n rndul tehnologiei senzorilor de camer. Cei dominani anterior senzorii CCD (dispozitiv cu cuplaj de sarcin), fiind acum depite de senzorii mult mai ieftini de produs CMOS (semiconductorul complementar metal oxid). Gama de sensibilitate a senzorilor CMOS este de obicei mai mare dect cea a senzorilor CCD cu cteva ordine de mrime.Interfeele tipice pentru senzorii de camer sunt de 16 bii n paralel, 8 bii n paralel, 4 bii n paralel sau seriale. Doar civa senzori sunt necesari pentru prencrcarea imaginii i pentru citirea arbitrar lent de la controler prin dialog de confirmare. Aceasta este o soluie ideal pentru controlere mai lente.

Cu toate acestea cipul standard i asigur propriul semnal de ceas i trimite datele complete de imagine ca un flux cu un anumit semnal cadru de start. Asta nseamn c, controlerul de la procesor trebuie s fie suficient de rapid astfel nct s in pasul cu fluxul de date. Parametrii software care pot fi setai variaz ntre cipurile de senzori. Cei mai comuni sunt stabilirea ratei cadrelor, nceputul de imagine n (x,y), dimensiunea imaginii n (x,y), luminozitatea, contrastul, intensitatea culorii i auto-luminozitatea.Cea mai simpl interfa cu un CPU este prezentat n figura 3.14. Ceasul camerei este legat la o ntrerupere a procesorului, n timp ce producia de date de la camera paralel este conectat direct la magistral date.

Figura 3.14 Interfaa unei camere

Fiecare ntrerupere creeaz un avans considerabil, din moment ce registrele trebuie s fie salvate i restaurate n stiv. Pornind i revenind de la o ntrerupere dureaz cam de 10 ori timpul de execuie al unei comenzi normale, n funcie de microcontrolerul folosit. Prin urmare, crend o ntrerupere pentru fiecare bit de imagine, nu este cea mai bun soluie. Ar fi mai bine folosirea unei memorii tampon pentru a memora un numr de bii i apoi folosirea unei ntreruperi mai puin frecvente pentru a face un transfer mai mare de date de imagine. Figura 3.15 prezint aceast abordare, folosind un tampon FIFO pentru intermedierea pentru stocarea datelor de imagine. Avantajul unui tampon FIFO este c suport citire i scriere paralel nesincronizat.n timp ce camera scrie date n memoria FIFO, procesorul poate citi date de ieire, cu coninutul memoriei tampon rmase sau nefolosit. Ieirea camerei este legat la intrarea FIFO, cu ceasul camerei de pixeli declannd linia de scriere FIFO. Din partea procesorului, ieirea de date FIFO este conectat la magistrala de date a sistemului, iar cu cip select declannd linia de citire FIFO. FIFO mai ofer 3 linii de stare suplimentare. Flag gol; Flag complet;

Flag pe jumtate complet.

Aceste ieiri digitale FIFO pot fi folosite pentru citirea vrac de date de la FIFO. Din moment ce exist un flux de date continuu care intr n FIFO, cea mai important dintre aceste linii n aplicaiile noastre fiind flag pe jumtate complet, pe care l-am conectat la linia de ntrerupere a procesorului. Ori de cte ori FIFO este pe jumtate plin, dac vom iniia o operaiune de citire vrac de 50% din coninutul FIFO, presupunnd c procesorul va rspunde destul de repede, flag-ul complet nu ar trebui s fie activat, deoarece acest lucru ar indica o pierdere iminent a datelor de imagine.

Figura 3.15 Interfa de camer cu memorie tampon FIFO

CAPITOLUL 4. DISPOZITIVE DE ACIONARE PENTRU DEZVOLTAREA SISTEMELOR ROBOTICE

Exist mai multe moduri diferite n care elementele de acionare robotice pot fi construite. Majoritatea dintre ele cele mai folosite sunt motoarele electrice sau elemente de acionare pneumatice cu supape. n acest capitol vor fi prezentate motoare de acionare electrice de curent continuu de putere. Acestea sunt motoare standard de curent continuu, motoare pas cu pas, i dispozitive servo, care sunt motoare de curent continuu cu hardware-ul de poziionare ncapsulat i nu trebuie confundate cu motoarele servo.4.1. Motoare de curent continuuMotoarele de curent continuu sunt metoda cea mai frecvent utilizat pentru locomoie n aplicaiile cu roboi mobili. Motoarele de curent continuu sunt silenioase, curate din punct de vedere al polurii i pot produce suficient putere pentru o varietate de sarcini. Ele sunt mult mai uor de controlat dect elementele de acionare pneumatice, care sunt n principal utilizate dac sunt necesare cupluri foarte mari i corzi ombilicale externe pentru pompele de presiune externe dac sunt disponibile, deci acestea nu sunt o opiune pentru aplicaiile cu roboi mobili.Motoarele de curent continuu graviteaz n mod liber, spre deosebire de motoarele pas cu pas. Prin urmare, controlul motorului necesit un mecanism de feedback cu ajutorul unui codor cu ax la fel ca n figura 4.1.

Figura 4.1 Combinaie ntre un motor i un traductor de poziiePrimul pas n construcia hardware a unui robot este selectarea unui sistem motor adecvat. Cea mai bun alegere este cea cu motor ncapsulat cuprinznd: Motor de curent continuu;

Cutie de viteze;

Codor optic sau magnetic (dublu fazate pentru detecia vitezei i a direciei).

Utilizarea sistemelor cu motor ncapsulat are avantajul c soluia este mult mai mic referitor la spaiul ocupat n sistem, dect folosirea modulelor separate i n plus este i rezistent la praf i protejate mpotriv luminii accidentale (necesar pentru codoarele optice). Dezavantajul n a folosi acest ansamblu fix este c raportul de transmisie poate fi schimbat doar cu dificultate sau deloc. n cel mai ru caz, un motor nou / o cutie de viteze n combinaie cu un codor trebuie folosite. Un codor magnetic cuprinde un disc prevzut cu un anumit numr de magnei i unul sau doi senzori cu efect Hall. Un codor optic, cuprinde un disc cu sectoare albe i negre, un LED, i un senzor reflexiv sau transmitor de lumin. Dac doi senzori sunt poziionai cu o schimbare de faz, este posibil s se detecteze care este declanat primul (folosind un magnet pentru codoarele magnetice sau un sector luminos pentru codoarele optice). Aceste informaii pot fi utilizate pentru a determina dac axul motorului se nvrte n sensul acelor de ceasornic sau contrar acestui sens. Un numr de companii ofer motoare mici, puternice de precizie ncapsulate cu cutii de viteze i codoare: Fulhaber;

Minimotor;

MicroMotor.

Toate au o varietate de combinaii de motor i de cutii de viteze disponibile, aa c este important n a realiza referitor la cerina de putere, pentru a selecta motorul i cutia de viteze potrivite pentru un nou proiect de robotic. De exemplu, exist o serie de motoare Falhauber cu o putere cuprins ntre 2 i 4 Wai, i cu rapoarte de transmisie disponibile de la aproximativ 3:1 la 1.000.000:1.

Figura 4.2 Schema electric a unui motor de curent continuuTabelul 4.1 Variabile i valori constante pentru un motor de curent continuu

Figura 4.2 ilustreaz un model liniar eficient pentru un motor de curent continuu, iar tabelul conine variabilele relevante i valori constante. O tensiune Va este aplicata la bornele motorului, care genereaz un curent i in armatura motorului. Cuplul produs de motor m este proporional cu curentul i cuplul constant al motorului Km.

m = Km x in alegerea motorului pentru aplicaie este important puterea de ieire a acestuia. Puterea de ieire Po este definit ca rata de lucru, care pentru un motor de curent continuu echivaleaz cu viteza unghiular a axului nmulit cu cuplul aplicat a:Po = a x

Puterea de intrare Pi care alimenteaz motorul este egal cu tensiunea aplicat nmulit cu curentul prin motor:

Pi= Va x i

De asemenea motorul genereaz cldura ca un efect al curentului care trece prin armatur. Puterea pierdut Pt datorit efectului termic este egal cu:

Pt = R x i2Randamentul motorului evideniaz ct de bine este transformat energia electric n energie mecanic. Acest lucru poate fi definit ca puterea de ieire produs de ctre motor mprit puterea de intrare necesitat de motor: =

Eficiena nu este constant pentru toate vitezele, iar acest lucru trebuie reinut pentru aplicaiile n care gama de viteze difer. Sistemul electric al motorului poate fi modelat cu un circuit RL n serie cu o tensiune, ce corespunde tensiunii electromotoare de ntoarcere Vemf. Aceast tensiune se produce datorit bobinelor motorului care se mic printr-un cmp magnetic. Tensiunea produs poate fi aproximat ca o funcie liniar a vitezei axului; Ke menionat ca i constanta electromotoare de ntoarcere:Ve = Ke

n modelul simplificat al motorului de curent continuu, inductana motorului i friciunea motorului sunt neglijabile i sunt 0, iar ineria rotorului este notat cu J. Formulele pentru curent i acceleraia unghiular, atunci pot fi aproximate astfel:i =

Figura urmtoare prezint curbele de performan ale unui motor de curent continuu ideal. Cu un cuplu cresctor, viteza motorului este redus liniar, n timp ce curentul crete liniar. Puterea de ieire maxim este atins la un nivel mediu al cuplului, n timp ce eficiena maxim este atins pentru valori mici ale cuplului.

Figura 4.3 Curbele de performan ale unui motor de curent continuu ideal4.2. Puntea H

Pentru cele mai multe aplicaii dorim ca un motor s poat fi capabil s fac 2 lucruri: S poat rula n 2 direcii nainte i napoi;

S i putem modifica viteza.

O punte H este ceea ce ne este necesar pentru a putea rula un motor nainte i napoi. n seciunea urmtoare vom discuta despre o metod numit modulaia n durata a impulsurilor pentru a modifica viteza motorului. Figura 4.4 prezint configuraia punii H de unde i-a primit i numele de la asemnarea cu litera a H. S presupunem c avem un motor cu dou terminale notate A i B, iar sursa de alimentare notat cu a + i a -. Dac nchidem comutatoarele 1 i 2, terminalul A se va conecta cu un a + i B cu a -: motorul execut micarea nainte. n acelai mod, dac vom nchide n loc de comutatoarele 1 i 2, comutatoarele 3 i 4 terminalul A se va conecta n schimb cu a -, iar terminalul B se va conecta cu a +, iar motorul se va mica napoi.

Figura 4.4 Model de punte H i modul de operare

Modul de implementare a unei puni H atunci cnd este folosit n combinaie cu un microcontroler este prin legarea acesteia la ieirile digitale ale microcontrolerului sau un acroaj adiional. Acest lucru este necesar din pricina faptului c ieirile digitale ale microcontrolerului au restricii foarte severe de putere. Acestea pot fi folosite pentru a controla alte circuite logice, dar niciodat direct un motor. Din moment ce un motor poate trage o putere mare (de exemplu, 1 A sau mai mult), conectarea lui direct la ieirile digitale ale unui microcontroler pot distruge microcontrolerul. Un amplificator de putere care conine dou amplificatoare separate este L298N de la ST SGS-Thomson. Figura 4.5 prezint schema. Cele 2 intrri x i y sunt necesare pentru a comuta tensiunea de intrare, astfel nct una dintre ele s fie a +, iar cealalt a -. Din moment ce acestea sunt decuplate electric de motor, intrrile x i y pot fi legate direct la ieirile digitale ale microcontrolerului. Deci direcia motorului va putea fi specificata software, de exemplu configurnd ieirea x logic n 1 i ieirea y logic la 0. Deoarece x i y sunt ntotdeauna legate una n opoziia celeilalte , ele pot fi de asemenea, substituite cu un singur port de ieire i un circuit de negare. Viteza de rotaie poate fi specificat de intrarea de vitez.

Exist 2 metode principale de oprire a unui motor: Prin setarea ambelor intrri x i y in 0 logic (sau 1 logic);

Sau prin setarea vitezei la 0.

Figura 4.5 Amplificator de putere

4.3. Modulaia n durat a impulsurilorModulaia n durat a impulsurilor sau PWM pe scurt este o metod inteligenta pentru evitarea circuitelor de alimentare analogice utiliznd faptul c sistemele mecanice au o anumit laten. n loc s genereze un semnal de ieire cu o tensiune proporional cu viteza dorit pentru motor, este suficient s genereze impulsuri digitale la nivele maxime de tensiune ale sistemului (de exemplu 5 Voli). Aceste impulsuri sunt generate la o frecven fix, spre exemplu 20 kHz, astfel nct acestea s fie dincolo de gama auzului uman.Variind durata impulsurilor n software (figura 4.6), de asemenea vom modifica semnalul analog echivalent sau efectiv al motorului i deci vom controla viteza motorului. S-ar putea spune c sistemul motor se comport c un integrator al impulsurilor de pe intrrile digitale peste un anumit interval de timp. Coeficientul ton / tperiod este numit ciclu de funcionare.

Figura 4.6 Modulaia n durat a impulsurilorModulaia n durat a impulsurilor poate fi generate prin soft. Multe microcontrolere, cum ar fi AtMega324PA, M68332, AtMega328 etc. au moduri speciale i porturi de ieire pentru a sprijini aceast operaiune. Portul de ieire digital cu semnal PWM este apoi conectat la pinul de vitez al amplificatorului de putere din figura 4.5.

Figura 4.7 Vitez i msurtoarea treapt unitate a motorului versus raportul PWn figura 4.7 n partea din stnga este reprezentat vitez motorului n timp pentru configuraia PWM 10, 20, ..., 100. n fiecare caz, vitez se acumuleaz la timp de 5s, cu o oarecare ntrziere, apoi rmne constant, i va ncetini cu o anumit inerie timp de 10s. Aceste msurtori se numesc treapt unitate, din moment ce semnalul de intrare al motorului sare ntr-o funcie treapt de la 0 la o valoare dorit PWM.

Din pcate, viteza motorului generat nu este n mod normal o funcie liniar a raportului semnalului PWM, aa cum se poate vedea comparnd msurtoarea din figura 4.7 din dreapta, la linia punctat. Acest lucru arat o msurtoare tipic folosind un motor Faulhaber 2230, n scopul de a restabili o curb de vitez aproximativ liniar utiliznd funcia MOTORDrive (de exemplu MOTORDrive (m1,50) ar trebui s reduc la jumtate viteza de la MOTORDrive (m1, 100)), iar fiecare motor trebuie s fie calibrat.Calibrarea motorului se face prin msurarea vitezei motorului la diferite configuraii ntre 0 i 100, i apoi introducnd raportul PW necesar pentru a atinge vitez real dorit, ntr-un tabel de calibrare a motorului HDT. Viteza maxim a motorului este aproximativ 1300 de rad / s la un raport PW de 100. Ajunge la 75% din viteza sa maxim (975 rad / s) la un raport PW de 20, astfel nct intrarea pentru valoarea 75 n calibrarea motorului HDT ar trebui s fie 20. Valorile ntre cele 10 puncte msurate se pot fi interpolate.Calibrarea motorului este deosebit de important pentru roboii cu acionare diferenial, deoarece n mod normal un motor execut nainte i unul napoi, n scopul de a putea conduce un robot. Multe motoare de curent continuu prezint diferene ntre vitez i raportul PW, pentru deplasarea nainte i napoi. Acest lucru poate fi eliminate prin calibrarea motorului.4.4. Motoare pas cu pas

Exist dou tipuri de motoare, care sunt semnificativ diferite de motoarele standard de curent continuu. Acestea sunt motoarele pas cu pas i cele servo, despre care vom discuta n seciunea urmtoare. Motoarele pas cu pas difer de cele de curent continuu, deoarece acestea au dou bobine ce pot fi controlate n mod independent. Ca rezultat motoarele pas cu pas pot fi mutate prin impulsuri pentru a avansa exact un singur pas nainte sau napoi, n loc de o micare lin continu ca la motoarele standard de curent continuu. Un numr tipic de pas pe rotaie este de 200, rezultnd o mrime de 1,8A pentru un pas. Unele motoare pas cu pas permit i efectuarea unei jumti de pas, de unde rezult o mrime i mai bun. Exist de asemenea i un numr maxim de pi pe secund, n funcie de sarcin, care limiteaz vitez unui motor pas cu pas.n figura 3.8 este prezentat schema unui motor pas cu pas. Bobinele sunt controlate independent de dou puni H (aici marcate cu A, A i B, B). Fiecare ciclu de patru etape rezult prin avansarea rotorului motorului printr-un singur pas dac sunt executate n ordinea 1...4. Executnd aceeai secven n ordine invers va rezulta prin micarea cu un pas napoi. De reinut c secvena de comutare seamn cu un model de cod Gray.

Figura 4.8 Schema motorului pas cu pas

Motoarele pas cu pas ar fi o alegere simpl pentru construirea roboilor mobili, lund n considerare efortul necesar pentru controlul vitezei i al poziiei al motoarelor standard de curent continuu. Cu toate acestea, motoarele pas cu pas sunt folosite foarte rar pentru, realizarea aplicaiilor de roboi mobili, deoarece acestea nu dispun de niciun rspuns cu privire la sarcin i viteza real (de exemplu o execuie de pas ratat). n plus acestea necesit dublarea componentelor electronice de alimentare, iar raportul greutate / performan este foarte dezavantajos, dect cele de la motoarele de curent continuu.4.5. Dispozitive Servo

Motoarele de curent continuu sunt uneori menionate ca servomotoare. ns nu la asta ne referim cnd folosim termenul servo. Un servomotor este un motor de curent continuu de calitate nalt, care se calific pentru a fi folosit ntr-o servo-aplicaie, adic ntr-o bucl nchis. Un astfel de motor trebuie s fie capabil s se ocupe de schimbri rapide de poziie, vitez i acceleraie i trebuie s fie evaluat pentru cuplu intermitent mare.

Figura 4.9 Dispozitiv servo HiTec

Un servo dimpotriv, este un motor de curent continuu cu o parte electronic ncapsulat pentru controlul PW i este folosit n principal n scopuri de hobby-uri, ca i modele de avioane, maini sau nave. Un dispozitiv servo are trei fire de conexiune: alimentare, mas i intrare pentru semnalul de control PW. Spre deosebire de PWM pentru motoarele de curent continuu, impulsul semnalului de intrare pentru dispozitivele servo nu este transformat n vitez. n schimb, are o intrare pentru control analogic pentru a specifica poziia dorit a capului rotativ n form de disc al servomotorului. El are o gam cam de 120 din poziia sa de mijloc. Intern, un servomotor combin un motor de curent continuu cu un circuit de rspuns, adesea folosind un poteniometru pentru a depista poziia curent a captului servo.Semnalul PW folosit pentru dispozitivele servo are o frecven de 50Hz, deci impulsurile sunt generate la fiecare 20ms. Limea fiecrui impuls specific poziia dorit a captului de la servo (figura 3.10). De exemplu, o lime de 0.7ms va roti discul complet spre stnga (-120), i o lime de 1,7 ms va roi discul complet ctre dreapt (+120). Valorile exacte ale duratei impulsului i unghiurile depind de marca i modelul dispozitivului servo.Ca i motoarele pas cu pas, dispozitivele servo par a fi o soluie simpl i bun pentru aplicaiile cu roboi. Cu toate acestea, servo-urile au aceleai dezavantaje ca i motoarele pas cu pas: nu asigur rspuns extern. Atunci cnd se aplic un anumit semnal PW unui servo, nu putem tii cnd acesta va atinge poziia dorit sau dac o va atinge, de exemplu din cauza sarcinii prea mare de ncrcare sau din cauza unui obstacol.

Figura 4.10 Controlul dispozitivelor servoCAPITOLUL 5. PROIECTAREA UNUI ROBOT AUTONOM CAPABIL S SE GHIDEZE DUP UN TRASEU PRESTABILIT

5.1. Descriere generalUn robot autonom capabil de a detecta un traseu i de a-l urma poate fi util n numeroase aplicaii, acesta poate fi programat pentru a menine un curs, n timp ce i corecteaz n mod constant micrile greite folosind mecanisme cu rspuns, un sistem simplu, dar eficient pentru bucle nchise.Roboii mai sofisticai pot fi capabili s disting diferite culori, ceea ce i face mult mai precii avnd abilitatea de a urmri un anumit traseu din mai multe trasee care se intersecteaz.n proiectarea unui astfel de robot este necesar un asiu care i permite s se deplaseze, fie pe roi, fie un alt mod de locomoie. De asemenea necesit dispozitive de detecie pentru a putea detecta traseul, i un calculator de bord pentru a putea procesa informaiile. n unele cazuri de multe ori o metod de cost mult mai redus este implementarea unui modul de camer care l poate ajuta n urmrirea traseului. Un procesor interpreteaz datele de intrare de la camer i apoi controleaz micrile robotului.Din teste se poate determina ct de bine funcioneaz un robot autonom. Un test mai complex pentru detectarea traseelor este cel care conine curbe mai strnse sau linii suprapuse, care pot induce n eroare un robot cu un cod limitat. n funcie de componentele alese pentru proiectare, robotul poate fi pregtit s nfrunte un mediu accidentat sau cu obstacole. Ca i programator am avut ocazia de a nva un robot cum s urmreasc un traseu prestabilit oferindu-i proprietatea de a rspunde la stimuli.n figura urmtoare este reprezentat schema bloc a proiectului de la care am pornit.

Figura 5.1 Schema bloc a proiectului

5.2. Microcontrolerul AVRMicrocontrolerele AVR Atmel sunt echipate cu un nucleu RISC care ruleaz un singur ciclu de instruciuni i au o structur I / O bine definit, reducnd astfel nevoia de componente externe. Oscilatoarele interne, cronometre, UART, SPI, rezistene pull-up, modularea impulsurilor n durat, ADC, comparator analogic, watch-dog timer care activeaz intrarea de reset dac se produc erori n programele rulate sunt unele dintre caracteristicile care se pot gsi ntr-un dispozitiv AVR.

Instruciunile AVR sunt reglate pentru a micora dimensiunea programului dac, codul este scris n limbaj de asamblare sau n C. Cu o memorie Flash pe cip, programabil n sistem i EEPROM, microcontrolerul AVR este o alegere foarte potrivit, n scopul optimizrii costurilor.

Pe lng toate acestea majoritatea microcontrolerelor AVR suport programarea n sistem (ISP), adic se poate reprograma, fr a fi scos din circuit. Acest lucru este foarte util, atunci cnd avem nevoie de a mbunti sistemul, sau pentru a realiz un design diferit. Majoritatea cipurilor AVR suport de asemenea Bootloader-e care duc ideea programrii ISP la un nou nivel, i despre care vom discuta n seciunea urmtoare. Caracteristici precum interfee I2C permit adugarea mult mai uoar a altor dispozitive externe.Cteva avantaje ale diferitelor familii de microcontrolere i de ce am ales utilizarea unui microcontroler AVR:

COST: AVR = PIC > 8051 (cnd spunem 8051 ne referim la familia 8051) DISPONIBILITATE: AVR = PIC < 8051

VITEZA: AVR > PIC > 8051

Din punct de vedere al perifericelor integrate este greu de fcut o comparaie, deoarece majoritatea familiilor de microcontrolere, ofer o gam de caracteristici foarte bune, ns din acest punct de vedere o comparaie poate fi realizat doar din punctual de vedere al costurilor AVR = PIC > 8051.

O alt problem ce trebuie discutat este despre instrumente i resurse, familia 8051 este existenta de mai mult timp dect cea de la AVR, i de aceea informaiile necesare despre acestea, i problemele ntmpinate pot fi gsite mult mai uor, ns i informaii existente despre microcontrolere AVR sunt disponibile chiar dac sunt aprute mult mai recent, deoarece sunt din ce n ce mai folosite i apar foarte multe informaii, ct i moduri de depanare. Ca o comparaie ntre cele 3 ar fi cam aa 8051 > AVR = PIC.n proiectarea robotului am ales s folosesc un microcontroler destul de folosit i anume AtMega324PA, acesta este destul de utilizat n diverse aplicaii, iar informaii despre el sunt disponibile att de la productor ct i de la cei care au mai lucrat cu el.n figura urmtoare este ataat o imagine cu atribuirea pinilor pentru microcontrolerul folosit.

Figura 5.2 Atribuirea pinilor pentru AtMega324PA

Cteva caracteristici ale acestui microcontroler ar fi:

Gama de tensiuni de alimentare ntre: 1.8 5.5 Voli;

Puterea consumat la 1 MHz / 1.8 Voli / 25 C n modul activ este de 0.4 mA

Arhitectura RISC avansat oferind 131 de instruciuni; 2 timer-e de 8 bii i unul de 16 bii;

6 canale care suport PWM.

5.3. Programarea cu Bootloader

Bootloader-ul este o parte software care poate ncrca programul ce trebuie rulat de ctre microcontroler din diverse surse. Un astfel de Bootloader este realizabil pentru programarea robotului numai cu ajutorul unei biblioteci care se numete V-USB, care conine stiva USB n codul Bootloader-ului. Dei aceast metod este puin mai ineficient, deoarece necesit timp ct i memorie, este mult mai avantajoas n ceea ce privete programarea microcontrolerului, deoarece odat ncrcat Bootloader-ul pe microcontroler, acest poate fi programat de cte ori dorim printr-o interfa USB.Etapele ce trebuie parcurse n vederea ncrcrii bootloader-ului pe microcontroler: Mai nti vom avea de setat fuse-urile microcontrolerului, acestea reprezint o configuraie de baza n cazul nostru alctuit din 3 bii i anume EXTENDED FUSE 0xFD, LOW FUSE 0xDE, HIGH FUSE 0x92. Care reprezint: BOOTSZ cu dimensiunea de 1024 de cuvinte, adic 2Kb, care este maxim pentru Bootloader;

BOOTRST, microcontrolerul nu va porni in programul obinuit la RESET ci direct n Bootloader;

CKSEL ofer posibilitatea de a selecta un ceas extern de frecven mare ;

CKDIV8 dezactivat, deoarece microcontrolerul nu va mai putea s realizeze divizarea ceasului prin 8 nainte de a fi utilizat.

Pentru ncrcarea Bootloader-ului pe microcontroler am folosit aplicaia GUI pentru Windows care se utilizeaz dup cum urmeaz:1) Dup conectarea cu calculatorul, selectm din aplicaie Find device

Figura 5.3 Mod de operare al aplicaiei GUI2) Dup ce dispozitivul va fi gsit, vom fi nevoii sa ncrcm fiierul .hex, pe care vrem s l punem pe microcontroler.

Figura 5.4 Mod de operare al aplicaiei GUI

3) n final vom putea s ncrcm programul dorit dup apsarea pe Flash device, ns va trebui bifat i csua numit Reboot AVR, deoarece la fiecare alimentare sau resetare la care nu este inut apsat butonul de START, codul va rula n mod automat, de reinut faptul c Bootloader-ul va putea fi gsit doar dac atunci cnd sistemul este alimentat, iar butonul START este meninut apsat.

Figura 5.5 Mod de operare al aplicaiei GUI

5.4. Principiul de funcionare al robotului

Robotul folosete senzori IR pentru a sesiza linia, o serie de 8 senzori, care n aceast configuraie au fost plasai cu partea de detecie n jos. Ieirile senzorilor sunt semnale analogice care depind de cantitatea de lumin reflectat napoi, apoi semnalul analogic este transmis microcontrolerului care prin intermediul ADC produce 0-uri i 1, pe care apoi le recepioneaz.

Figura 5.6 Matrice de senzori

ncepnd de la CENTRU, senzorii din stnga sunt notai cu L1, L2, L3, L4, iar cei din dreapta R1, R2, R3, R4. Atunci cnd un senzor se afl pe traseu n cazul nostru linia neagr, acesta citete 0, iar atunci cnd nu se afl pe linie, adic este pe fundalul alb acesta citete 1. Microcontrolerul va decide urmtoarea micare conform algoritmului de mai jos care ncearc s poziioneze robotul astfel nct L1 i R1 s citeasc 0, iar restul L2, L3, L4 i respective R2, R3, R4 s citeasc 1.

Figura 5.7 Condiia pentru deplasarea nainteAlgoritmul de ghidare i urmrire a traseului

PASUL 1: L = senzorul cel mai din stnga care citete 0; R = senzorul cel mai din dreapta care citete 0. Daca niciun senzor din STANGA sau DREAPTA este 0 atunci L sau R este egal cu 0.Exemplu:Figura 5.8 Exemplu de ghidare al robotuluiPASUL 2: Dac toi senzorii au citit 1 mergi la pasul 3,

Altfel,

Dac L > R Mergi la Stnga;

Dac L < R Mergi la Dreapta;

Dac L = R Mergi nainte

PASUL 3: ntoarce-te la pasul 1.5.5. Modulul de alimentare

Exist dou posibiliti n alimentarea montajului, prima ar fi prin folosirea tensiunii de 5 Voli stabilizat i furnizat de la mufa USB a unui calculator sau laptop, ns acest mod pentru ceea ce am proiectat este dezavantajos, deoarece i limiteaz posibilitatea de micare i ar necesita i un cablu prelungitor foarte lung.Am ales varianta cea mai eficient i anume alimentarea de la o baterie de 9 Voli. Pentru aceast variant de alimentare am folosit un stabilizator de tensiune i anume LM7805, care va furniza tensiunea necesar.

Cei doi condensatori ceramici multistrat i respectiv electrolitic se monteaz ct mai aproape de pinii 1 i 3 ai stabilizatorului de tensiune, deoarece acetia sunt pentru decuplare. Ledul este montat pentru a semnaliza prezena alimentrii, iar rezistena este pentru limitarea curentului.Pentru a putea vedea dac ansamblul a fost montat corect, am alimentat circuitul pentru prima dat, iar totul a funcionat cum trebuie, iar prezena tensiunii a fost semnalizat de aprinderea ledului rou.

n figura de mai jos este prezentat schema electric a modulului de alimentare.

Figura 5.9 Sursa stabilizat de tensiune

5.6. Interfaa de ncrcare a Bootloader-ului

Pentru a putea ncrca Bootloader-ul suntem nevoii s utilizm un set de 3 pini externi de la microcontroler i anume PB5 (MOSI), PB6 (MISO) i PB7 (SCK), un alt pin va fi legat la alimentarea de +5 Voli, unul la RESET i cellalt la mas (GND). Aceast interfa poart numele de AVR ISP, iar toi cei 6 pini sunt necesari pentru conectarea unui programator i ncrcarea Bootloader-ului din meniul de programare prin metoda ISP.

n figura urmtoare se poate observa modul de conexiune al pinilor.

Figura 5.10 Modul de conectare a interfeei ISP

5.7. Interfaa USB

Pentru ncrcarea programelor pe microcontroler am utilizat interfaa USB care este conectat la pinii PD2 i PD3, iar acetia la rndul lor sunt conectai la D+ i D- ai mufei USB. O mare problem pe care am ntmpinat-o pentru dispozitivele bazate pe V-USB, este c nu se pot conforma cu specificaiile electrice ale standardului USB, deoarece caracteristicile de I /O nu se potrivesc cu cerinele USB. Cu toate acestea, putem ajunge destul de aproape pentru a-l face s funcioneze n mod fiabil.Fiecare capt al comunicrii (gazd i dispozitivul) necesit anumite nivele de tensiune pentru un semnal nalt sau jos. Cellalt capt trebuie s genereze tensiuni n aceste domenii pentru comunicare de ncredere. Caracteristicile exacte sunt definite n caietul de sarcini USB.Avnd n vedere c partea gazd este fix, trebuie s ne acomodm cu nivelurile trimise i ateptate. Gazda trimite 0 Voli pentru un nivel redus i 3,3 Voli pentru un nivel nalt. Aceste niveluri sunt destul de precise, chiar n cazul n care caietul de sarcini permite tolerane. Acest lucru, de obicei nu este o problem, indiferent de tensiunea de alimentare a AVR. Chiar i 5 Voli detecteaz 3,3 Voli ca pe un nivel nalt.Metoda aleas pentru rezolvarea acestei probleme a fost conversia nivelelor pe D+ i D-. n loc s reducem alimentarea AVR-ului am limitat tensiunea de ieire pe D+ i D- cu diode Zenner.n figura de mai jos este reprezentat configuraia pentru interfa USB.

Figura 5.11 Interfaa USB

Cteva avantaje i dezavantaje ale abordrii acestei metode sunt:

1) Avantaje:

Cost redus;

Disponibilitate ridicat;

ntregul sistem poate lucra la tensiunea de 5 Voli;

Microcontrolerul poate fi tactat la rate ridicate.

2) Dezavantaje:

Nu este o soluie tocmai curat, deoarece trebuie fcut un compromis ntre toi parametrii Diodele Zener au gam larg de caracteristici, mai ales la cureni slbi, iar rezultatele nu pot fi reproduse;

Cureni nali atunci cnd transmisia se face la nivel nalt; Nivelul nalt este diferit ntre starea de semnalizare i starea de repaus, deoarece pentru semnalizare se folosesc cureni mari pentru a conduce diodele, pe cnd n starea de repaus acestea sunt conduse de o rezisten de pull-up de 1,5 k.5.8. Driverul de motoarePentru controlul motoarelor am ales utilizarea integratului L298N. Acesta are 4 intrri care controleaz motoarele i nc 2 enable care sunt folosite pentru a porni i opri motorul, ns n cazul nostru sistemul nu este proiectat pentru managementul energiei, iar cele 2 intrri sunt conectate direct la +5 Voli. ns dac am dori s realizm acest lucru pentru a putea controla viteza motoarelor am avea nevoie de o form de und PWM cu un factor de umplere variabil aplicat pe pinii de enable.Comutarea rapid a tensiunii ntre Vs i GND da o tensiune efectiv ntre Vs i GND a crei valoare depinde de factorul de umplere al PWM. Procentul de 100% al factorului de umplere corespunde lui Vs.Dup cum se poate observ din schema electric exist montate 8 diode Schottky 1N4007, acestea sunt montate din pricin faptului c integratul L298N nu deine astfel de componente intern i au rolul de a proteja circuitul de eventualele perturbaii ce pot aprea. n cazul n care acestea nu sunt montate microcontrolerul poate fi dereglat i se poate reseta, mai ales la schimbri ale direciei.Majoritatea circuitelor folosesc integratul L293D pentru controlul motoarelor, ns am ales L298N pentru c acesta are o capacitate de curent de 2 Amperi per canal i o tensiune de 45 Voli spre deosebire de 0,6 Amperi i tensiunea de 36 Voli. L293D nu are o capsul potrivit pentru ataarea unui radiator, practic nu poate fi folosit pentru tensiuni de peste 16 Voli fr a se arde, pe cnd L298 funcioneaz fr probleme i fr radiator la aceast tensiune dei este bine s folosim unul.n figur de mai jos este reprezentat schema electric pentru configuraia cu L298N.

Figura 5.12 Configuraia cu L298N5.9. Microcontrolerul

Pentru montarea microcontrolerului am folosit un soclu DIP40, cu 40 de pini. Micro-contactul montat pe pinii PD0 i PD1 este necesar pentru depanare, dar i pentru a fi meninut apsat n momentul ncrcrii programului, pentru ca, dispozitivul cu V-USB s poat fi detectat de ctre aplicaia GUI n Windows sau Linux, n funcie de ce se utilizeaz. Led-ul este folosit tot pentru depanare sau pentru diverse teste care se pot efectua asupra microcontrolerului.Micro-contactul montat pe pinul 9 servete pentru resetarea manual a microcontrolerului.Cei 3 condensatori ceramici C7, C5 i C1 de 100nF, montai pe AREF, VCC i AVCC sunt pentru decuplare i trebuie montai ct mai aproape posibil de aceti pini.

Cei 2 condensatori C2 i C3 de 22pF montai lng cristalul de quartz au rolul de a forma capacitatea de sarcin pentru cristalul respectiv mpreun cu capacitatea parazit dat de cablajul utilizat. Alegerea valorilor optime ine cont de capacitatea necesar specificat de productor notat CL, i de capacitatea parazit a cablajului Cs.

Formula pentru calcularea valorilor acestor condensatori este:

n figura urmtoare este prezentat configuraia pentru microcontroler:

Figura 5.13 Designul microcontrolerului5.10. Schema electric final a robotului proiectat.

Figura 5.14 Schema complet a proiectului5.11. Calculul economic pentru realizarea robotului

ComponenteNr. buciPre bucatTotal

Soclu DIP40111

Microcontroler AtMega324PA126,6026,60

Condensatori 100nF30,200,60

Condensatori 22pF20,100,20

Rezistene 1K 0,25W20,100,20

Rezisten 1K 0,5W10,300,30

Rezistene 100 0,25W20,100,20

Rezisten 2,2 K 0,25W10,400,40

Rezisten 470 0,25W10,100,10

Condensator 100F 25V10,500,50

Leduri 3 mm roii20,501

Diode Zenner 3,3V20,701,40

Micro-contacte20,601,20

Quartz 16Mhz11,601,60

Stabilizator LM7805122

Bareta de pini1x281,501,50

Punte H L298N11010

Radiator L298N199

Diode 1N400780,201,60

Radiator LM7805122

Placa de test 10x1611010

Senzori QTR-8A14343

Cabluri de conexiuni mam-mam200,8016

Mufa USB mam 4mm12,102,10

asiu robot plexiglass cu piulie i uruburi1100100

Motoare Pololu 21530

Colare20,801,60

Baterie 9V166

Conector baterie 9V10,700,70

Total270,8 RON

5.12. Aplicaii posibile ale robotului1) Maina autonom, cunoscut ca i maina care se conduce singur sau maina robot. Este un vehicul autonom capabil de a ndeplini capacitile umane de transport ale unei maini tradiionale. Un astfel de vehicul autonom este capabil s detecteze mediul nconjurtor i s navigheze fr aport uman.

Vehiculele autonome detecteaz mediul nconjurtor cu tehnici precum radar, LIDAR, GPS i viziune de calculator. Sisteme de control avansat