Sunteți pe pagina 1din 76

CAPITOLUL I

Introducere

1.1.Generalitati
1.1.1. Scurt istoric, definiţii
Unul din cele mai importante aspecte în evoluţia fiinţei umane este folosirea uneltelor
care să simplifice munca fizică. În aceasta categorie se înscriu şi roboţii, ei ocupând totuşi o
poziţie privilegiată datorită complexităţii lor.
Noţiunea de robot datează de peste 4 mii de ani. Omul şi-a imaginat dispozitive
mecanizate inteligente care să preia o parte însemnata din efortul fizic depus. Astfel a construit
jucării automate si mecanisme inteligente sau şi-a imaginat roboţii in desene, carti, filme "SF"
etc.
Revoluţia informatică a marcat saltul de la societatea industrializată la societatea avansat
informatizată generând un val de înnoiri în tehnologie şi în educaţie.Acest lucru a dus şi la
apariţia roboţilor
Termenul "robot" a fost folosit in 1920 de cehul Karel Capek într-o piesa numită
"Robotul universal al lui Kossum". Ideea era simplă: omul face robotul după care robotul ucide
omul. Multe filme au continuat sa arate că roboţii sunt maşinării dăunătoare si distrugătoare.
Termenul de “robotics” (în traducere liberă robotică) se referă la ştiinţa care se ocupă de
studiul şi utilizarea roboţilor. Acest termen a fost prima data folosit de scriitorul şi omul de ştiinţă
american de origine rusă, Isaac Asimov, într-o scurtă povestioară numită “Runaround”, în anul
1942. Această poveste scurtă a fost apoi inclusă într-o colecţie numită “I, Robot”, care a fost
publicată în 1950.
Revoluţia informatică a marcat saltul de la societatea industrializată la societatea avansat
informatizată generând un val de înnoiri în tehnologie şi în educaţie permiţând realizarea de
roboţi.
Roboţii oferă beneficii substantiale muncitorilor, industriilor si implicit ţărilor. In situatia
folosirii în scopuri paşnice, roboţii industriali pot influenţa pozitiv calitatea vieţii oamenilor prin
înlocuirea acestora in spaţii periculoase, cu conditii de mediu daunatoare omului, cu conditii
necunoscute de exploatare etc.
Domeniile de aplicare a tehnicii roboţilor se lărgesc mereu, ei putând fi utilizaţi în
industrie, transporturi şi agricultură, în sfera serviciilor, în cunoasterea oceanului şi a spatiului
cosmic, în cercetarea ştiinţifică etc.

1
1.2. Sudiu privind stadiul robotilor mobili
1.2.1 Roboţi mobili
Robotul mobil este un sistem complex care poate efectua diferite activităţi într-o varietate
de situaţii specifice lumii reale. El este o combinaţie de dispozitive echipate cu servomotoare şi
senzori (aflate sub controlul unui sistem ierarhic de calcul) ce operează într-un spaţiu real, marcat
de o serie de proprietăţi fizice (de exemplu gravitaţia care influenţează mişcarea tuturor roboţilor
care funcţionează pe pământ) şi care trebuie să planifice mişcările astfel încât robotul să poată
realiza o sarcină în funcţie de starea iniţială a sistemului şi în funcţie de informaţia apriori
existentă, legată de mediul de lucru.
Succesul în îndeplinirea acestor sarcini depinde atât de cunoştinţele pe care robotul le are
asupra configuraţiei iniţiale a spaţiului de lucru, cât şi de cele obţinute pe parcursul evoluţiei
sale.
Problemele specifice ce apar la roboţii mobili ar fi următoarele: evitarea impactului cu
obiectele staţionare sau în mişcare, determinarea poziţiei şi orientării robotului pe teren,
planificarea unei traiectorii optime de mişcare.
În cazul unui sistem robotic automat distribuit poziţiile spaţiale sunt de o extremă
importanţă şi de ele depinde îndeplinirea scopurilor dorite şi funcţionarea întregului sistem. Cu
alte cuvinte, robotul trebuie să fie capabil să-şi planifice mişcările, să decidă automat ce mişcări
să execute pentru a îndeplini o sarcină, în funcţie de aranjamentul momentan al obiectelor din
spaţiul de lucru.
Planificarea mişcărilor nu constă dintr-o problemă unică şi bine determinată, ci dintr-un
ansamblu de probleme dintre care unele sunt mai mult sau mai puţin variante ale celorlalte.
Evitare coliziunii cu obstacole fixe sau mobile (de exemplu alţi roboţi mobili) aflate în
spaţiul de lucru al robotului se poate face prin mai multe metode:realizarea unei apărători
mecanice care prin deformare opreşte robotul, folosireasenzorilor care măsoară distanţa până la
obstacolele de pe direcţia dedeplasare, folosirea senzorilor de proximitate, folosirea informaţiilor
corelate de la mai multe tipuri de senzori.
Localizarea obiectelor se poate realiza şi prin contact fizic, dar acesta impune restricţii
asupra vitezei de mişcare a structurii manipulate. Contactul fizic dintre robot şi obiectele din
mediu generează forţe de reacţiune care modifică starea robotului. Vitezele mari de lucru fac ca
efectele dinamice ale unui contact fizic cu obstacole sau obiecte manipulate să fie riscante (pot
duce la deteriorarea obiectelor sau a robotului).
Navigarea robotului este posibilă şi fără o determinare a poziţiei şi orientării faţă de un
sistem de coordonate fix, dar această informaţie este utilă pentru sisteme de comandă a mişcării.
Dintre metodele de navigaţie mai des utilizate se pot menţiona: măsurarea numărului de rotaţii
făcute de roţile motoare, folosirea de acceleratoare şi giroscoape, geamanduri electromagnetice
instalate în teren, semnalizatoare pasive sau semipasive de tip optic sau magnetic.

2
1.2.3. Caracteristici ale robotilor mobili
Roboţii mobili au următoarele caracteristici comune:
- structura mecanică este un lanţ cinematic serie sau paralel respectiv tip “master-slave”;
- sistemul de acţionare utilizat este electric pentru sarcini mici şi medii şi hidraulic pentru
sarcini mari;
- sistemul senzorial utilizează senzori interni (de turaţie, poziţie, efort) la nivelul
articulaţiilor, senzori externi(camere TV) pentru scanarea mediului şi senzori de
securitate( de proximitate, de prezenţă cu ultrasunete);
- sistemul de comandă este ierarhizat, de obicei multiprocesor;
- limbajele de programare utilizate sunt preluate de la roboţii staţionari.

1.2.4. Clasificarea roboţilor mobili

Roboţii mobili se clasifică astfel:


 În funcţie de dimensiuni: macro, micro şi nano-roboţi.
 În funcţie de mediul în care acţionează: roboţi tereştri – se deplasează pe sol, roboţi
subacvatici – în apă, roboţi zburători – în aer, roboţi extratereştri – pe solul altor planete
sau în spaţiul cosmic;
 În funcţie de sistemul care le permite deplasarea în mediul în care acţionează există de
exemplu pentru deplasarea pe sol

1. roboţi pe roţi sau şenile

Fig.1.1. Roboti mobili pe senile

2.roboţi păşitori: bipezi, patrupezi, hexapozi, miriapozi;

3
Fig.1.2. Roboti mobili pasitori
3.roboţi târâtori: care imită mişcarea unui şarpe, care imită mişcarea unei râme etc.;

Fig.1.3. Roboti taratori

4
4.roboţi săritori, care imită deplasarea broaştelor, cangurilor etc.;

Fig.1.4. Roboţi săritori


5.roboţi de formă sferică (se deplasează prin rostogolire) etc.

1.2.5. Utilizări ale roboţilor mobili.


Utilizările pentru care au fost, sunt şi vor fi concepuţi roboţii mobili sunt dintre cele mai
diverse. Mulţi roboţi din zona micro îşi găsesc utilizarea în medicină, fiind capabili să se
deplaseze de-a lungul vaselor şi tuburilor corpului omenesc, în scopul investigaţiilor,
intervenţiilor chirurgicale, dozării şi distribuirii de medicamente etc. La fel de spectaculoase sunt
şi multe utilizări ale macro-roboţilor:
 În domeniul industrial, agricol, forestier: în domeniul industrial roboţii mobili sunt
reprezentaţi de AGV-uri (Automated-Guided Vehicles), vehicule pe roţi, cu ghidare
automată, care transportă şi manipulează piese, constituind o alternativă flexibilă la
benzile de montaj; în agricultură există tractoare şi maşini agricole fără pilot, capabile să
execute singure lucrările pe suprafeţele pentru care au fost programate; în domeniul
forestier roboţii mobili pot escalada copacii înalţi

5
Fig.1.5. Roboti mobili utilizati in domeniul industrial

 În domeniul militar: este luată în considerare de către armata americană perspective


înlocuirii soldaţilor combatanţi cu roboţi, pentru a reduce riscul pierderilor umane în
luptă; roboţi mobili de cele mai ingenioase şi robuste configuraţii sunt aruncaţi în clădiri
şi incinte din zone de conflict, în scopuri de investigare şi chiar anihilare a inamicului;
Armata Statelor Unite face uz de două tipuri majore de vehicule de teren semi-autonome
şi autonome: vehiculele de dimensiuni mari , cum ar fi tancuri, camioane şi HUMVEE-
uri şi vehicule mici, care pot fi transportate de către un soldat într-un rucsac.(packbot) şi
se deplaseaza prin mers ca tancurile mici. PackBot-ul este echipat cu camere şi
echipamente de comunicaţii şi poate include manipulatoare (brate); este proiectat pentru a
găsi şi a detona explozivele improvizate salvand astfel viaţi (atât civili cât şi militari),
precum şi pentru a efectua recunoastere. Dimensiunile sale mici îi permit să intre clădiri,
sa raporteze ocupanţii posibili, şi să declanşeze capcane. Vehiculele robot armate tipice
sunt (1) Talon SWORDS (Special Weapons Observation Reconnaissance Detection
System) făcute de Foster Miller, care pot fi echipate cu mitraliere, lansatoare de grenade
sau lansatoare de rachete anti tanc, precum şi camere şi alţi senzori şi noul MAARS
(Modular Advanced Armed Robotic System). În timp ce vehicule cum ar fi SWORDS şi
MAARS sunt capabile sa navigheze autonom catre obiectivele specifice prin sistem
global de pozitionare (GPS), în prezent declansarea oricarei arme aflate la bord se face de
către un soldat situat la o distanţă sigură. MAARS foloseste o mitralieră mai puternică
decât originalul SWORDS. Deşi iniţial SWORDS cantareste aproximativ 150 kg.,
MAARS cantareste aproximativ 350 kg. Acesta este echipat cu un manipulator nou
capabil să ridice 100 livre, permitandu-i astfel să-şi înlocuiască arma platformei cu o
unitate de identificare şi neutralizare IED( Improvised explosive device).

6
a) b)
Fig. 1.6. Vehicule terestre militare : a) Packbot b) SWORDS
PACKBOT-urile sunt unităţi mici om portabile controlate de un procesor Pentium care a
fost special conceput pentru a rezista la tratamentul dur, şasiu PACKBOT are un sistem GPS, o
busola electronica si senzori de temperatură construit in IRobot producătorul PACKBOT, spune
despre ei ca se pot deplasa cu mai mult de 13 km / h, pot fi instalati în câteva minute şi poat
rezista la o cădere de 1,8 metri pe beton, echivalentul a 400 grame-forţă a lui. Soldaţii americani
profita de această robusteţe, PACKBOT sunt aruncati,prin ferestrele clădirilor dusmanilor şi apoi
utilizaţi pentru a căuta şi găsi unde combatanţi inamici se ascund. Chiar dacă terenurile sunt
denivelate, PACKBOT cu ajutorul bratelor puternice pot trece peste obstacole mari si la urcarea
treptelor.

 În domeniul distractiv şi recreativ: sunt roboţii-jucării, roboţii pentru competiţii


 În domeniul serviciilor: Există posibilităţi deosebit de largi de implementare. Sunt roboţi
pentru: deservirea bolnavilor în spitale; ajutorarea persoanelor bătrâne sau cu diferite
handicapuri; ghidarea şi informarea publicului în muzee aspirarea şi curăţirea încăperilor;
spălarea geamurilor şi a pereţilor clădirilor;

1.2.6. Proiecte anterioare în domeniul temei


Lucrarea de faţă nu îşi propune să abordeze toate tipurile de roboţi mobili. Acest lucru nu
numai că nu ar fi posibil datorită volumului extrem de documentaţie necesar, dar datorită
evoluţiei pe scara largă a fenomenului, chiar dacă s-ar realiza acest lucru, lucrarea ar fi depăşită
în câteva luni de zile. De aceea, se vor prezenta câteva exemple de roboţi mobili, special alese
pentru a sublinia extraordinara lor importanţă în secolul al XXI-lea. Se va insista, deci, asupra
unui singur tip de roboţi mobili, şi anume roboţii mobili care urmaresc o anumita traiectorie.

7
Fig.1.7. Minirobot AIRAT 2.

AIRAT 2 este un robot micromouse care foloseşte un procesor CPU 8051.AIRAT 2


foloseşte senzori pentru a o recepta când se întoarce înapoi. Placa CPU folosete o placă JS8051-
A2. Placa JS8051-A2 este foarte bine construită.Foloseşte resurse externe de putere cum ar fii
LCD, ADC, douǎ ceasuri externe, auto-Flash scriere şi altele.
AIRAT 2 utilizeaza şase senzori oferindu-i astfel posibilitatea de a se deaplasa pe
diagonală.Un simulator PC este prevăzut,oferindu-i posibilitatea utilizatorului de a întelege mai
bine nivelul inalt de căutare algoritmică a mouseului.Codul sursa C este implementat astfel încat
programatorul poate dezvolta mai usor altgoritmi care pot fi testati cu ajutorul unui simulator si
apoi implementat mouseului.
În plus,LCD,comunicatie seriala,controlul mouse-ului precum si alte functii sunt
furnizate sub forma de librarie si fisiere sursa.Pentru cei ce vor sa invete mouse-ul la un nivel
inalt,AIRAT2 furnizeaza un mediu excelent de dezvoltare,teste algoritmice,precum si multe
altele.
AIRAT 2 a aparut pe coperta publicatiei franceze MICROS&ROBOTS.
CARACTERISTICI AIRAT 2
- Capabil de reglare proprie, invaţă din mers.
- Foloseşte 6 senzori dindu-i posibilitatea de a se deplasa pe diagonala
- Uşor de asamblat/dezasamblat
- Port de reîncarcare
- Instructii de asamblare si manual al utilizatorului
- Include un simulator PC pt. accelerarea dezvoltarii
- Librarii,coduri sursa C
- AIRAT2 baterie(NiMh-450) Descriere

8
Fig.1.8. Minirobot AIRAT 2

Alte proiecte:

9
Fig.1.9. Miniroboti “Line Follower”

1.3 Scopul lucrării


Scopul acestui proiect este de a concepe, executa şi pune în aplicare un robot cu actionare
diferentiala dotat cu senzori de linie analogi si senzori de distanta , controlat de un driver de
motor care comanda cele 2 motoare de current continuu, avand ca sarcina principala urmarirea
unei linii de culoare neagra, pe un fundal alb.

10
CAPITOLUL II
1.Modelul CAD si experimental

Scopul de baza este sa dezvoltam un robot care urmareste o anumita traiectorie, folosind
senzori de linie care cuprind un LED IR si un fotorezistor sensibil la IR , astfel incat robotul sa se
deplaseze pe aceasta traiectorie de culoare neagra, aflata pe un fundal alb.
Înainte de începerea execuţiei s-a realizat o modelare tridimensională a robotului mobil
prezentat în această lucrare. S-a început cu placa suport , pe care s-a montat sistemul de acţionare
format din motoarele de curent continuu , precum şi elementele de fixare ale acestora, urmand
apoi atasarea platformei de procesare ARDUINO UNO R3 a placii SHIELD si a sistemului
senzorial format din senzorii de linie si senzorul de distanta SHARP.
Senzorii de linie sunt montati pe o placa suport aflata in partea din fata a robotului pe
care mai este montata si roata castor , în aşa fel încât senzorii de linie sa se afle la o anumita
distanta deasupra podelei.

11
Fig.2.10. Atasarea suporturilor motoarelor pe platforma robotului

Fig.2.11. Montarea motoarelor pe suporturi

12
Fig.2.12. Montarea celor 2 roti si a rotii castor

Fig.2.13 Atasarea platformei de procesare ARDUINO UNO R3 si a placii shield

13
14
Fig.2.14. Atasarea sistemului sensorial

Fig.2.15. Atasarea suportului de baterii si a bateriilor

2. Principiul de functionare
Robotul mobil pentru urmarirea unei traiectorii este un tip de robot care are doar o simpla
sarcina de indeplinit, aceea de a urmari o linie de culoare neagra pe un fundal alb.
Acest robot “line follower “ foloseste asa numita actionare diferentiala, care utilizează
două motoare independente montate în poziţii fixe pe partea dreaptă şi stângă a şasiului
robotului. Aceasta înseamnă ca încetinirea vitezei de rotaţie a motorului din stânga va face
vehiculul sa se intoarca spre stânga, iar incetinirea vitezei de rotatie a motorului din dreapta va
face robotul sa se intoarca spre acea directie.

15
Fig.2.16. Partile care intra in componenta robotului

Daca ambele motoare se rotesc cu aceeasi viteza, robotul se va indrepta inainte, asa cum
este aratat in figura de mai jos. Pentru deplasarea spre stanga, roata din stanga se va roti cu o
viteza mai mica decat cea din dreapta, iar pentru deplasarea spre dreapta roata din dreapta se va
roti cu o viteza mai mica decat cea din stanga. Astfel, curband spre dreapta si spre stanga, sau
mergand inainte, robotul poate urmari usor linia neagra.

16
Fig.2.17. Tipuri diferite de deplasare a robotului

17
CAPITOLUL III
1.Modelarea dinamica a unui robot mobil cu roti utilizand
abordarea Newton Euler

1.1Ecuatii de constrangere
În scopul de a ilustra metodologia, este considerat un robot mobil, aratat in figura de mai
jos. Acesta are două roţi motrice pe o axă, care sunt alimentate de motoare de curent continuu.
Platforma are, de asemenea, o roată pasiva (castor).
Notaţiile următoare vor fi utilizate în lucrare:

- Sistemul de coordinate

- sistemul de coordinate fixat de vehicul

- punctul cu coordonatele ( ) care este intersectia axei de simetrie cu axa

rotilor motoare;
– centrul de masa al platformei cu coordonatele ( );

b – distanta dintre ambele roti motoare si axa de simetrie;


r – raza fieacarei roti motoare;
– masa platformei fara rotile motoare si rotoarele motoarelor de c.c.;

– masa fiecarei roti motoare plus rotorul motorului;

– momentul de inertie al robotului fara rotile motoare si rotoarele motoarelor in jurul

axei vertical prin ;

– momentul de inertie al fiecarei roti si rotorul motorului in jurul axei rotii;

- momentul de inertie al fiecarei roti si rotorul motorului in jurul diametrului rotii;

a – lungime platformei in directia perpendicular pe axa rotilor motoare;

18
d – distanta de la si in lungul axei positive x;

Daca ignoram roata pasiva , configuratia platformei poate fi descrisa de 5 coordonate


generalizate, ca:

unde ( ) sunt coordonatele centrului de masa in sistemul de

coordinate , si φ este unghiul de cap al robotului dupa cum este aratat in figura de mai jos ,

si sunt pozitiile unghiulare ale rotilor motoare din stanga si repectiv din dreapta.

Fig.3.18. Exemplu de robot mobil cu roti (vederea de sus)

Pe baza ipotezei rotatiei pure pe roţile motoare, fără alunecare laterală şi longitudinală,
există trei constrângeri. În primul rând, viteza punctului a platformei trebuie să fie în

direcţia axei de simetrie (fara alunecare laterală), axa x:

19
(1)
Mai mult, în cazul în care roţile motoare nu aluneca

(2)

Deoarece coordonata centrului de masă face parte din sistemul de stat, prin utilizarea
urmatoarelor ecuatii de transfer:

(3)

(4)

20
(5)
Ecuaţiile menţionate anterior vor fi rescrise după cum urmează:

(6)

Cele 3 constrangeri pot fi scrise in forma:

unde

21
=

Deoarece sistemul mecanic are 2 grade de libertate este posibil sa gasim matricea S(q)
care atisface amebele ecuatii:

Rezolvand ecuatia constrangerii avem:

unde c=-b/2r
apoi:

22
2.Ecuatiile dinamice
Acum vom deriva ecuatia dinamica pentru robotul mobil.
Pentru un singur corp rigid cu centrul de masa in miscare , avem urmatorul set de ecuatii
newton-euler [9],[10],[11],[12]:

(7)

Unde
C – centrul de masa al corpului;
A – punctual fixat al corpului rigid;
– vectorul forta rezultant actionand pe un corp rigid;

– vectorul moment rezultant actionand in jurul punctului A;

– inertia masei in jurul punctului A;

– vectorul acceleratie al centrului de masa C;

α - vectorul acceleratiei unghiulare al corpului rigid;

În acest sens, pentru a aplica aceste formulări la robot, este necesar să obţinem
acceleraţia fiecarei roati motoare şi, de asemenea, acceleratia platformei fără roţile motoare şi
rotoarele motoarelor de curent continuu.
Acceleraţiile roţilor în sistemul de coordonate fixat de vehicul sunt obţinute după cum
urmează:

23
(8)

In care si sunt acceleratiile rotilor.

Conform (4) si (5) avem:

Apoi:

Mai mult decât atât, acceleraţiile platformei fără roţile motoare şi rotoarele motoarelor
de curent continuu în sistemul de coordonate fixat de vehicul sunt:

Ecuaţiile Newton-Euler de mişcare a platformei folosind forţele ilustrate în Fig.2 sunt


date de:
Roata dreapta:

24
(9)

(10)

Roata stanga:

(11)

(12)

Corpul:

25
(13)

Fig.3.19. Diagrama fortelor a robotului si rotilor

Conform fig 3 si 4 ecuatia euler cu privire la centrul de masa al corpului este:

(14)

26
Utilizand ecuatiile (9) si (11) va fi obtinuta urmatoarea ecuatie:

(15)

In final , rezolvand ecuatiile de mai sus , ecuatiile de miscare ale robotului ar putea fi
scrise dupa cum urmeaza:

unde:

si

Există trei ecuaţii de mişcare. Dar ecuaţia a 3 a , din cauza lipsei alunecarii laterale, nu se
aplică. Putem rescrie pur şi simplu ecuaţiile principale în forma standard aşa cum este arătat mai
jos:

(16)

unde:

27
Şi prin angajarea urmatoarei înlocuiri, forma standard a ecuaţiei este obţinnuta.

=>

(17)
unde:

Apoi

unde

28
Fig.3.20. Fortele aplicate ecuatiei Euler

29
Fig.3.21. Diagrama momentului de inertie al robotului

Acum, suntem în măsură să luam în considerare partea electrică a actuatorului. Se


presupune că roţile robotului sunt conduse de două motoare de curent continuu cu transmisii
mecanice. Fig. 5 prezintă sistemul de antrenare simplificat. Ecuaţia electrica a armaturii
motorului este scrisa, după cum urmează:

(18)

Unde Kb este constanta EMF a spatelui. Prin ignorarea inductanţei circuitului armaturii,
şi luând în considerare relaţia dintre cuplul şi armatura curenta ( ) şi

relaţiile dintre cuplu şi viteza de înainte şi după transmisie (de exemplu, τ=

), cuplul distribuit la roata dreapta si cea stanga de catre actuatori este dat de :

(19)

30
Fig.3.22. Sistemul de transmisie al fiecarei roti

Aplicand ecuatia (19) in ecuatia (17) , modelul final este obtinut dupa cum urmeaza:

(20)

31
unde

CAPITOLUL IV
1.Modelul cinematic al robotului
În cadrul acestei analize,considerăm robotul ca un corp rigid cu roţi,deplasăndu-se pe un teren
plat. Sunt necesari 3 parametri pentru a poziţiona corpul robotului în planul respectiv: doi pentru
a determina poziţia acestuia în raport cu originea sistemului de axe ataşat planului, iar al treilea
pentru determinarea orientării acestui corp în raport cu axa verticală, perpendiculară pe plan.
Există mişcări suplimentare datorate rotaţiei roţilor în jurul axelor proprii, respective cuplelor
cinematice de orientare. Prin corpul robotului întelegem doar corpul rigid al acestuia, ignorând
cuplele cinematice dintre acest corp şi roţi.
Un vehicul aflat pe un teren plat are 3 grade de libertate: 2(x,z), ce descriu poziţia, şi unul
referitor la orentarea θ(rotaţia în jurul axei verticale). În general, roboţii mobili nu au control
complet independent al celor 3 parametii ce definesc situaţia lui şi trebuie să efectueze manevre
complexe pentru a atinge o anumită situare.
Unele vehicule au roţi suplimentare sau puncte de contact, cu rolul de suport dar fără a
contribui la orientare sau propulsie. Cunoscute ca roţi pasive(ex roţi de tip castor), acestea sunt
de obicei ignorate în modelarea cinematică a unui robot mobil.

1.1. Model cinematic al robotului cu acţionare diferenţială


Pentru a specifica situarea instantanee a robotului în mediul în care se deplasează, stabilim
o relaţie de legătură între sistemul de referinţă f şi sistemul de axe curent,ataşat corpului
robotului.
- Planului i se ataşează sistemul de referinţă fix X000Y0.
- Corpului robotului i se ataşează sistemul de axe XRORYR, în punctul P
- Corespunzător poziţiei iniţiale a robotului, se consideră notaţia XR0OR0YR0
0 P=Tr+ r0 0 R(θ R0) R0P

32
Fig.4.23. Model cinematic robot cu 2 roţi
Coordonatele punctului P, determinate în raport cu originea O 0 a sistemului de referinţă,
scrise sub formă matriceală sunt:

[ ][][ ][ ]
x0 x cos θR0 - sinθ R0 0 x R0
y 0 = y + sinθR0 cos θ R0 0 × y R0 (1)
z0 z 0 0 1 zR0

 x0, y0, θ0 sunt parametrii ce exprimă poziţia şi orientarea corpului robotului în raport cu
sistemul de referinţă;
 xR0, yR0, θR0 sunt parametrii ce exprimă poziţia şi orientarea corpului robotului în raport cu
sistemul de axe ataşat acestuia, sistemul corespunzător poziţiei iniţiale
 x, y, θ sunt parametrii ce exprimă poziţia şi orientarea poziţiei iniţiale a corpului robotului
(poziţiei iniţiale a sistemului de axe ataşat corpului) în raport cu sistemul de axe de referinţă.
Robotul care face obiectul lucrării este un robot cu acţionare diferenţială. Acest tip de
acţionare este una dintre cele mai simple soluţii de roboţi mobili cu roţi. Robotul are 2 roţi
convenţionale fixe, ataşate pe şasiu. Utilizarea de viteze unghiulare diferite pentru cele 2 roţi
conduce la schimbarea direcţiei de mers.

33
[ ][ ][ ]
x 0 cos θRO -sin θRO 0 x x RO
y 0 = sin θRO cos θRO 0 y · y RO
z0 0 0 1 θ θRO
1 0 0 0 1 1

[][ ][ ]
x0 cos θR 0 −sinθ R 0 0x xR 0
y 0 = sinθ R 0 cos θ R 0 0y y
× R0 (2)
θ0 0 0 1θ θR0
1 0 0 0 1 1

Fig.4.24. Deplasarea robotului.

Cunoscând vitezele/poziţiile roţilor se cere viteza/poziţia robotului.


Se cunosc: v1=ω1 r ; v2=ω2 r

34
Fig.4.25. Reprezentarea vitezelor unghiulare a 2 roţi.

unde r=raza roţilor şi ω1, ω2= vitezele lor unghiulare


Pentru efectuarea analizei, se va proceda în felul următor:
Se specifică mărimile necesare efectuării calculului(dimensiuni ale robotului, unghiul de
orientare al robotului,θ)
Se determină punctul în jurul carua se roteşte robotul ( centrul instantaneu de rotaţie),
respectiv raza traiectoriei descrise de robot.
Se detrmină viteza unghiulară a robotului.
Se integrează relaţia obţinută, pentru a obţine poziţia robotului.

1.2 Determinarea C.I.R.


1. Determinarea mărimilor necesare efectuării calculului (dimensiuni ale robotului; unghiul
de orientare al robotului).
2. Se ataşează robotului un sistem de axe şi se măsoară unghiul de rotaţie al sistemului
curent în raport cu sistemul iniţial de referinţă.
Centrul instantaneu de rotaţie este la intersecţia axelor roţilor pentru cele 2 poziţii.
Punctul de contact al fiecărei roţi trebuie să se rotească cu aceaşi viteză unghiulară Ω în
jurul centrului instantaneu de rotaţie.

35
Fig.4.26. Determinarea C.I.R

3. Determinarea vitezei unghiulare, Ω, a robotului:


v1=ω1r=Ω(R+L/2)
v2=ω2R=Ω(R-L/2)

Rezultă:

Ω=(v1-v2)/L
R=L(v1+v2)/(v1-v2)

 Pentru traiectoria rectilinie:

v1=v2 Ω=0 şi R=

36
Fig.4.27. Traiectoria rectilinie.

 Pentru traiectorie circulară cu raza R- relaţiile sunt cele prezentate anterior.


Se determină experimental că:

L=10 cm

v1=0.5m/s şi v2=0.3 m/s Ω=2 rad/s2 şi R=16 cm

 Pentru pivotarea în jurul roţii

v1=v2 Ω=0
R=

Fig.4.28. Pivotarea în jurul roţii 2

 Pentru pivotare( rotaţie în jurul axei verticale centrale)


v2=-v1=>Ω=2v1/L=-2v2/L
R=0
v1=ω1r=Ω(R+L/2)
v2=ω2r=Ω(R-L/2)

37
Rezultă:

Ω=(v1-v2)/L
R=L(v1+v2)/(v1-v2)
Viteza liniară a robotului este:

v=Ω R=(v1+v2)/2=0.4 m/s

Fig.4.29. Pivotarea în jurul axei verticale

Integrarea ultimei ecuaţii pentru obţinerea poziţiei robotului:


dx=vx(t)dt;
dy=vy(t)dt;
dθ=Ω(t)dt;
vx(t)=v(t)cos(θ(t));

38
Fig.4.30. Deplasarea robotului.

vy(t)=v(t)sin(θ(t));
Prin integrare se obţine

x(t)= dt+x0;

y(t)= dt+y0;

θ(t)= dt+x0;
Ω=(v1-v2)/L

39
R=L(v1+v2)/(v1-v2)
v=ΩR=(v1+v2)/2
Ecuaţiile cinematicii directe se scriu sub formă matriceală în raport cu sistemul de
referinţă:

(3)

(4)

Contribuţia roţii 1 la viteza robotului este:

vx1=(ω1 r)/2=0.25 m/s


vy1=0

40
Fig.4.31. Contribuţia roţii 1 la deplasarea robotului

Ω1=(ω1 r)/L=5 rad/s


Contribuţia roţii 2 la viteza robotului

vx2=(ω2 r)/2=0.15 m/s


vy2=0

Ω2= (ω2 r)/L=-1 rad/s

41
Fig.4.32. Contribuţia roţii 2 la deplasarea robotului.

Ecuaţiile cinematicii directe scrise în raport cu sistemul de axe ataşat robotului sunt:
vx((t)=vx1+vx2=0.4 m/s
vy((t)=vy1+vy2
Ω(t)=Ω1+Ω2
Se face ipoteza că roţile nu pot aluneca lateral => componenta după axa y este 0.Dacă
robotul descrie o traiectorie circulară cu raza R, lungimea arcului descris de acesta este:
AR=(A1-A2)/2
- unde:

A1=(R+L/2) θ

A2=(R L/2) θ

42
Fig.4.33. Traiectoria circulară a robotului

Lungimea cercului descris de punctul de contact al roţii 1 este dată de relaţia

C1=2 )

θ=A1/(R+L/2)
Similar pentru roata 2

C2=2 )

43
Fig.4.34. Reprezentare a 2 roţi.

De unde rezultă:

R A2/θ
Înlocuind această relaţie în
θ=A1/(R+L/2)
Prin înlocuire se obţine:

θ=(A1 A2)/L
De aici se deduce următoarele concluzii:

 orientarea θ a robotului este complet independentă de raza traiectoriei descrise de acesta


 Dimensiunea L este o sursă de erori din cauza uzurii şi complianţei pneurilor
Lungimea traiectoriei descrise de punctul de contact al roţii poate fi calculată cu relaţia:

A1=(2∙ ∙N1∙Ref 1)/T1


N1=impulsurile numărate de traductorul de poziţie al roţii 1
T1=numărul de impulsuri pe o rotaţie a roţii 1
Ref1=raza efectivă a roţii 1
Similar pentru roata 2

A2=(2∙ ∙N2∙Ref 2)/T2

44
Pentru a se deplasa după o traiectorie rectilinie ,robotul va păstra N1=N2, dar dacă cele 2
pneuri au presiuni diferite ,razele lor vor fi diferite.

Fig.4.35. Deplasarea unei roţi peste un obstacol.

Considerăm o roată teoretică, rigidă(necompliantă), având raza R şi presupunem


că aceasta trebuie să treacă peste un obstacol cu înălţime h.
Roata se va deplasa pe suprafaţa C până când întâlneşte obstacolul N1=N2
Distanţa percepută de traductor ca fiind parcursă de roată este Am
Distanţa reală parcursă este Ah. Eroarea de poziţionare unghiulară a robotului va fii:

Δθ = 2 (Am-Ah)

Fig.4.36. Deplasarea unei roţi rigide peste un obstacol

Atunci când roata traversează o groapă aflată în terenul în care se deplasează,obstacolele


şi gropile în teren produc erori privind determinarea corectă a poziţiei robotului. Erorile sunt
cauzate şi de alunecarea roţilor ca urmare a existenţei unor pete de unsoare pe suprafaţa

45
respectivă, de impactul cu obstacole sau de accelerarea şi decelerarea excesivă sau de impactul
cu obstacole.

2. Corectia diametrului roţii


Fiind dată o linie dreaptă ca şi cale de referinţă, mişcarea unui robot mobil cu diametrele
roţilor inegale este prezentată în figura 1.

Fig.4.37. Miscarea unui robot mobil cu diametrele rotilor inegale

În fig.1 α si ρ sunt unghiul curburii şi respectiv un arc de rază si sunt valorile de


deviere de la axa y. Unghiul curburii poate fi exprimat de catre distanţa parcursă de ambele roţi

(1)

unde - este distanţa dintre roţi masurată şi Δ este distanţa parcursă de roata stânga şi
respectiv cea dreapta. Distanţele parcurse de către roata stânga şi cea dreapta sunt:

(2)

unde este numărul de impulsuri din timpul mişcării. Deplasarea liniară a roţii pe
impuls de la un codificator β este

46
(3)

unde b reprezintă raportul de transmisie şi Γ rezoluţia codificatorului. Din cauză că


numărul de impulsuri al roţii din stânga în timpul mişcării este acelaşi ca cel al roţii din dreapta ,
unghiul curburii poate fi exprimat dupa cum urmează:

(4)

unde si sunt diametrele masurate ale roţiilor din stânga şi din dreapta. Definim
greutatea roţii relative după cum urmează:

(5)

De la 4 si 5 , greutatea roţii relative poate fi exprimată după cum urmează:

(6)

Din ecuaţia 5 diametrul roţii din dreapta poate fi exprimat ca valoare relativă la roata
stânga.

(7)

si reprezintă diametrele roţii relative din stânga şi din dreapta . Din 6 şi 7 ,


dacă robotul se întoarce la dreapta (stânga) , diametrul roţii din dreapta poate fi exprimat ca fiind
mai mic (mai mare) decât roata stângă. Această corecţie relativă a diametrelor roţii poate face ca
robotul mobil să se mişte de-a lungul unei linii drepte. Un robot ar putea să nu ajungă în locaţia

47
dorită din cauză că diametrul roţii în 7 nu este actual. De aceea, trebuie sa obţinem diametrele
roţii actuale. Distanţa lr , parcursă de roata relativă şi distanţa lt, parcursă de roata actuala sunt:

(8)

(9)

unde si sunt diametrele rotilor actuale din stânga şi din dreapta. Eroarea de
poziţie este definită după cum urmează:

(10)

Definim greutatea roţii absolută după cum urmează:

(11)

Din (8)-(11), greutatea rotii absolute poate fi exprimată după cum urmează:

(12)

Din (7) si (11) putem şti că diametrul roţii absolute este relativ la diametrul roţii relative.

(13)

(14)

48
3. Corecţia distanţei dintre roţi
Dacă distanţa dintre roţi nu este aceeaşi ca valoarea masurată , robotul va sfarşi prin a se
roti mai puţin sau mai mult decât valoarea dorită. Când robotul mobil este făcut să întoarcă la
90°, o mişcare a robotului cu o distanţă dintre roţi nepotrivită este prezentată în figura de mai jos.

Fig.4.38. Rotaţia unui robot mobil cu roţi

Valoarea rotaţiei în timpul mişcării , δ este :

(15)

unde la este distanţa dintre roţi efectivă actuală. Numărul de impulsuri în timpul rotaţiei poate
exprima valoarea totală a rotaţiei.

(16)

din (15) si (16) distanţa actuală dintre roţi este:

49
(17)

CAPITOLUL V
1.Sistemul de comandă al robotului

1.1Placa de procesare ARDUINO UNO R3

50
Fig.5.39. Planul general al plăcii microcontrolerului.

Sistemul de acţionare al robotului este alcătuit din motoarele de curent continuu 120:1 cu
ajutorul căruia se realizează deplasarea precum şi driverul de motor L293N care poate comanda
2 motoare de curent continuu, curent maxim 2 amperi , complet asamblat sub forma unui shield
Arduino, facilitand astfel utilizarea simpla, si un procesor ARDUINO UNO R3 cu care se
realizează controlul motoarelor. Pentru detectarea liniei de culoare neagra am folosit 2 senzori de
linie analogi tip QTR-1A fiecare fiind format din doua componente : un led IR si un
fototranzistor sensibil la IR . Pentru a masura distanta pana la diverse obiecte inconjuratoare am
utilizat senzorul de distanta Sharp care este o componenta ce poate fi utilizata impreuna cu
Arduino.

51
Fig.5.40. Diagrama bloc pentru urmarirea liniei

Arduino UNO
Arduino UNO este o platforma de procesare open-source, bazata pe software si hardware
flexibil si simplu de folosit. Consta intr-o platforma de mici dimensiuni (6.8 cm / 5.3 cm – in cea
mai des intalnita varianta) construita in jurul unui procesor de semnal si este capabila de a prelua
date din mediul inconjurator printr-o serie de senzori si de a efectua actiuni asupra mediului prin
intermediul luminilor, motoarelor, servomotoare, si alte tipuri de dispozitive mecanice.
Procesorul este capabil sa ruleze cod scris intr-un limbaj de programare care este foarte similar
cu limbajul C++.
ARDUINO UNO este o placa de dezvoltare bazata pe microcontrolerul ATmega328
ARDUINO UNO are 14 de intrari digitale / pini de iesire (din care 6 pot fi utilizate ca iesiri
PWM), 6 intrari analogice, un oscilator cu quart de 16 MHz, o conexiune USB, o mufa de
alimentare, o mufa ICSP si un buton de resetare. ARDUINO UNO contine tot ceea ce este
necesar pentru a sprijini microcontrolerul pentru ca acesta sa functioneze; pur si simplu conectati
la un computer printr-un cablu USB, alimentator AC-la-DC sau baterie pentru a incepe.
ARDUINO UNO este diferit fata de placile precedente, in sensul ca nu foloseste un chip
driver FTDI USB-la-serial. In schimb, acesta are incorporat microcontrolerul Atmega8U2
programat ca un convertor USB-la-serial.
“UNO” inseamna “unu” in limba italiana si este numit pentru a marca viitoarea lansare
Arduino 1.0 IDE. Uno si versiunea 1.0 vor fi versiunile standard pentru marca Arduino.

Specificatii :

Microcontroler: ATmega328
Tensiune de lucru: 5V
Tensiune de intrare (recomandat): 7-12V
Tensiune de intrare (limita): 6-20V

52
Pini digitali: 14 (6 PWM output)
Pini analogici: 6
Intensitate de iesire: 40 mA
Intensitate de iesirepe 3.3V: 50 mA
Flash Memory: 32 KB (ATmega328) 0.5 KB pentru bootloader
SRAM: 2 KB (ATmega328)
EEPROM: 1 KB (ATmega328)
Clock Speed: 16 MHz

Alimentare

ARDUINO UNO poate fi alimentat prin intermediul conexiunii USB sau cu o sursa de
alimentare externa. Sursa de alimentare este selectata automat.
Alimentarea externa (non-USB) poate veni fie de la un adaptor AC-la-DC sau baterie.
Adaptorul poate fi conectat printr-un conector de 2.1mm cu centru-pozitiv. Conectare de la o
baterie poate fi realizata legand la GND si V’in capetele de la conectorii de alimentare.
Placa de dezvoltare poate opera pe o sursa externa de 6-20 volti. Daca este alimentata la
mai putin de 7V, exista posibilitatea, ca pinul de 5V sa furnizeze mai putin de cinci volti si placa
sa devina instabila. Daca se alementeaza cu mai mult de 12V, regulatorul de tensiune se poate
supra-incalzi acest lucru ducand la deteriorarea placii. Intervalul de tensiune recomandat de catre
producator este de 7-12 volti.
Pinii de tensiune si alimentarea sunt dupa cum urmeaza:
- V’in. Tensiune de intrare pe placa de dezvoltare atunci cand este utilizata o sursa de
alimentare externa (spre deosebire de 5 volti de la conexiunea USB sau alte surse de energie
stabilizata). Puteti introduce tensiuni de alimentare prin intermediul acestui pin, sau, in cazul in
care tensiunea de alimentare se face prin intermediul conectorului de alimentare externa, o puteti
accesa prin acest pin.
- 5V. Regulator de tensiune utilizat pentru alimentarea microcontrolerului si a altor
componente de pe placa de dezvoltare. Aceasta poate fi alimenta fie de la VIN printr-un regulator
de pe placa de dezvoltare, fie furnizat de catre USB sau de o alta sursa de tensiune de 5V.
- 3V3. O alimentare de 3.3 volti generat de catre regulatorul de tensiune de pe placa.
Curentul maxim ca il furnizeaza este de 50 mA.
- GND. Pini de impamantare.

Memoria
ATmega328 are 32 KB (cu 0,5 KB utilizate pentru bootloader). Ea are, de asemenea, 2
KB SRAM si 1 KB de EEPROM.

53
Fig. 5.41. Schema electrică a plăcii de
bază a minirobotului

54
2. Circuitul integrat folosit pentru comanda motoarelor

Circuitul integrat ales de noi este L293N.


Circuitul integrat L293N este o punte H folosita pentru a controla viteza de rotatie
precum si sensul de rotatie pentru cele 2 motoare. Acest circuit este controlat de catre softul aflat
pe microcontroller.
Schema de control a motoarelor cu circuitul L293N este urmatoarea:

Fig. 5.42. Schema de control a motoarelor cu circuitul L293N

55
2.1.Driverul de motor L298N

Fig. 5.43. driverul de motor L298N


Bazat pe circuitul L298N, acest driver de motoare poate comanda 2 motoare de curent
continuu, curent maxim 2 amperi. Driverul este complet asamblat sub forma unui shield Arduino,
facilitand astfel utilizarea simpla.
Conectarea la Arduino se face cupland placa shield peste placa Arduino si conectand pinii
marcati VIN si GND la sursa de alimentare pentru motoare. Pinii PWM care controleaza driver-
ul L298 sunt 3, 5, 6 si 9 (vedeti si programul de test de mai jos).
Cele doua motoare se conecteaza in pinii cu surub marcati "MOTOR1" si "MOTOR2",
iar alimentarea pentru motoare se conecteaza la pinii cu surub marcati "VIN" si "GND".

56
Fig. 5.44. Placa shield

Fig.5.45. Diagrama bloc a driverului de motor cu circuit integrat L298N

57
Fig 5.46. Conexiunea pinilor

3.Motor cu reductor 120 : 1 ax iesire D7 perpendicular

În general, sunt similare în construcţie cu generatoarele de curent continuu. Ele pot, de


fapt să fie descrise ca generatoare care „funcţionează invers”. Când curentul trece prin rotorul
unui motor, este generat un câmp magnetic care generează o forţă electromagnetică, şi ca rezultat
rotorul se roteşte. Acţiunea periilor colectoare şi a plăcuţelor colectoare este exact aceiaşi ca la
generator. Rotaţia rotorului induce un voltaj în bobinajul rotorului. Acest voltaj indus are sens
opus voltajului exterior aplicat rotorului. În timp ce motorul se roteşte mai rapid, voltajul rezultat
este aproape egal cu cel indus. Curentul este mic, şi viteza motorului va rămâne constantă atât
timp cât asupra motorului nu acţionează nici o sarcină, sau motorul nu efectuează alt lucru
mecanic decât cel efectuat pentru învârtirea rotorului. Când asupra rotorului se aplică o sarcină,
voltajul va fi redus şi un curent mai mare va putea să treacă prin rotor. Astfel, motorul este
capabil să primească mai mult curent de la sursa care îl alimentează, şi astfel să efectueze mai
mult lucru mecanic.
Deoarece viteza rotaţiei controlează trecerea curentului prin rotor, mecanisme speciale
trebuie folosite pentru pornirea motoarelor cu curent continuu. Când rotorul se află în repaus, el,
efectiv, nu are nici o rezistenţă, şi dacă voltajul normal este aplicat, va trece un curent mare, ceea
ce ar putea avaria periile colectoare sau motorul. Mijloacele obişnuite pentru prevenirea acestor
accidente este folosirea în serie a unei rezistenţe, la început, împreună cu rotorul, pentru a limita

58
curentul până când motorul începe să dezvolte un curent suficient. Pe parcurs ce motorul prinde
viteză, rezistenţa este redusă treptat, fie manual ori automat.
Viteza cu care un motor cu curent continuu funcţionează, depinde de puterea câmpului
magnetic care acţionează asupra rotorului, cât şi de curentul rotorului. Cu cât este mai puternic
câmpul magnetic, cu atât este mai mică rata rotaţiei necesare să creeze un curent secundar
necesar pentru a contracara curentul aplicat. Din acest motiv viteza motoarelor cu curent
continuu poate fi controlată prin variaţia câmpului curentului

Fig. 5.46. Motor de curent continuu 120:1

Acest motor de curent continuu cu perii, cu reductor 120 : 1, are un consum redus de
curent si ofera putere si viteza comparabile cu un servomecanism, dar la o fractiune din pret. La
o tensiune de 6 V, are la iesire o turatie in gol de 85 rpm si un cuplu maxim de 5.4 Kg-cm.

59
Fig.5.47. Dimensiunile motorului de curent continuu

Specificatii:

Tensiune nominala: 6 V
Reductor: 120:1
Turatie fara sarcina @ 6V: 85 rpm
Curent fara sarcina @ 6V: 70 mA
Curent cu ax blocat @ 6V: 800 mA
Cuplu maxim @ 6V: 5.4 kg-cm
Dimensiuni: 64.4 x 22.3 x 21 mm
Diametru ax iesire: 7 mm
Masa: 32 g

4. Sistemul senzorial

60
4.1.Numarul de senzori in cazul robotilor “line follower”
Explica despre faptul cum numarul de senzori poate afecta abilitatea robotului de a
urmari o linie. Sunt reprezentate 3 metode cu privire la abilitatea de a folosi unul , 2 sau 3
senzori , pentru un robot mobil. Numarul de senzori va afecta modul de detectare a robotului.
Numarul de senzori este cea mai importanta parte pentru a face cercetari , acest factor facand
robotul sa fie tot timpul pe linie sau nu.
1 Senzor (cautatorul de margine)

Fig.5.48. Cazul unui robot cu un singur senzor

In aceasta figura este aratat un robot mobil care utilizeaza un singur senzor. Senzorul
furnizeaza numai 2 semnale , peste linie si in afara ei. Din pacate , cateodata robotul va pierde
linia.
2 Senzori

Fig.5.49. Cazul unui robot cu 2 senzori

61
Figura arata un robot cu 2 senzori. Robotul foloseste 2 motoare si fiecare senzor
controloeaza fiecare motor. Va da 4 conditii, gasirea partii din dreapta a liniei , a partii din stanga
liniei , gaseste linia sau pierde linia si nu sunt folosti daca senzorii sunt plasati la o distanta mai
mica decat latimea liniei. Este potrivit sa adaugam un microcontroler ca controler pentru a
controla motoarele si senzori. Va controla robotul astfel incat robotul nu va mai pierde linia.

3 Senzori

Fig.5.50. Cazul unui robot cu 3 senzori

Adaugand un al 3 lea sensor la metoda anterioara , robotul va recunoaste in afara liniei si


marginile liniei. Robotul acum se va adapta mult mai usor la schimbarea conditiilor cum ar fi
curbele si se va aranja totdeauna pe linie.
Robotul va utiliza 4 fotorezistori dependenti de lumină, şi patru LED-uri pentru
iluminarea şi detectare pistei. Cele 4 LED-uri vor ilumina suprafaţa pe care este desenata linia.
Linia care ar trebui să fie urmărita este neagra, sau cel putin este o diferenţă semnificativă între
culoarea fundalului şi culoarea liniei.

4.2. Senzorii de linie analogi QTR-1A


Citirea traiectoriei dupa care se deplaseaza robotul se face cu ajutorul senzorului analogic
QRE1A format dintr-un led cu infrarosu si un fototranzistor sensibil la lumina infrarosie. Am
folosit 2 astfel de senzori ce alcatuiesc sistemul senzorial al robotului .
Semnalele provenite de la senzori sunt trimise spre procesare Unitatii Centrale
reprezentata de Platforma de dezvoltare Arduino Uno ce contine microcontroller-ul ATmega328
de la ATMEL.

62
Fig. 5.51 Senzor de linie QTR-1A
Senzorul este format din doua componente : un led IR si un fototranzistor sensibil la IR .
Cand aplicati 5V pe pinul VCC si GND led-ul IR va transmite o lumina infrarosie. In serie cu
led-ul IR este plasata o rezistenta de 100Ohm pentru a limita curentul. O rezistenta de 10kOhm
pune pinul de output pe HIGHT, dar cand lumina emisa de led-ul IR este reflectata inapoi in
fotorezistor pinul de output coboara catre LOW. Cu cat fototranzistorul primeste mai multa
lumina cu atat scade tensiune pe pinul de output .
Specificatii:

Tensiune de alimentare : 3.3V -5V


Curent : 25mA
Dimensiuni : 7.62 x 13.97 mm

Fig. 5.52 Conectarea senzorului de linie la placa ARDUINO

63
Fig.5.53. Schema cinematica a senzorului

4.3 Senzorul infraroşu Sharp GP2D120

Fig.5.54 Senzorul infraroşu Sharp GP2D120

Un senzor special folosit pentru evitarea obstacolelor este senzorul infraroşu Sharp
GP2D120 care prezintă urmatoarele caracteristici tehnice:
Foloseşte principiul de reflexie al luminii infraroşii pentru măsurarea distanţei,
Raza de acţiune este intre 4 şi 30 de cm.
Alimentarea se face la o tensiune de 4,5 pâna la 5 V şi o intensitate de 33 mA.
Tensiunea de ieşire este cuprinsă în intervalul 0.4-2.4 V la o alimentare de 5 V.

64
Interfata sa prezinta 3 fire: alimentarea(Vcc), masa(GND) şi tensiunea de ieşire(Vout) şi
necesită un conector JST de 3 pini.

Senzorul de distanta Sharp este o componenta care poate fi utilizata impreuna cu Arduino
pentru a masura distanta pana la diverse obiecte inconjuratoare.
Exista 3 tipuri de senzori, fiecare eficace pe o anumita zona din punct de vedere al
distantelor masurate : senzor de apropiere, eficient pentru masuratori intre 3 cm si 40 de cm,
senzor de departare medie, eficient intre 10 cm si 80 cm, si senzor de departare, eficient intre 15
cm si 150 cm.
Conectarea la Arduino este deosebit de simpla. Dispozitivul dispune de 3 pini, doi dintre
ei fiind pini de alimentare (GND si VCC), iar cel de-al treilea fiind pinul care da indicatii asupra
distantei, prin potentialul prezent pe acesta.

4.3.1.Modul de funcţionare
Principiul care stă la baza acestei metode de masurare folosite de senzorul Sharp se bazează
pe formarea unui triunghi între Emiţătorul de rază infraroşie, punctul de reflexie şi detectorul de
infraroşu. Astfel, emitatorul emite un puls de lumina infrarosie. Lumina străbate campul vizual şi
fie loveşte un obstacol sau continuă deplasarea. În cazul inexistenţei unui obstacol, lumina nu va
fi reflectată şi nu se va detecta nici un obiect. Dacă lumina se reflectă de pe un obiect, se va
întoarce la detector şi va creea un triunghi între emiţător, punctul de reflexie şi eetector, ca în
figura urmatoare:

Fig.5.55 Asezarea pinilor si curba caracteristica

Prin conexiunea senzorului infraroşu cu convertizorul Analog/Digital rezultã datele


analogice care sunt convertite în distanţe corecte cu ajutorul softului de programare.Astfel pentru
o valoare de 307 corespunde o distanţa de 8 cm.

65
R = (2933 / (V + 20)) – 1

R=distanţa in cm.

V=datele anlogice din conversia analog/digitală.Intervalul este intre 0 şi 1,023

F× A
L=
X

66
Fig.5.56. Modul de funcţionare al senzorului Sharp

67
Fig.5.57.Tabelul cu valori ale senzorului infrarosu

68
5. Principiul de navigare

Aşa cum sa descris mai devreme, robotul va utiliza un principiu simplu bazat pe senzori
se linie analogi . Acest robot va urmări doar linia neagră pe o suprafata alba. Aceste culori au fost
selectate pentru cel mai bun contrast si sunt folosite în toate competitiile de roboti care
urmaresc o linie. Cele 2 LED-uri vor ilumina podeaua şi fotorezistorii v-or reacţiona cu
privire la cantitatea de lumina reflectata. Dacă este reflectată mai multa lumina , acest lucru este
atunci când senzorii sunt pe suprafata alba, deoarece o suprafata alba reflecta lumina alba, LDR-
urile v-or reduce valoarea rezistenţei lor şi mai mult curent va curge la baza tranzistorului care
opereaza fiecare motor. (Notă: LDR-urile ar trebui să fie amplasate în apropierea LED-urilor si
capul lor ar trebui să fie coaxial. altfel LDR-urile nu v-or detecta suprafaţă cat este nevoie).
In cazul in care cele 2 leduri au detectat linia neagra robotul se va deplasa inainte.

69
Fig.5.58. Detactarea liniei negre de catre senzori si deplsarea inainte

70
Atunci când linia neagră este detectata de LED-ul din dreapta , cantitatea de lumina
reflectata va fi mai mică decat cea de pe linia alba, astfel încât LDR-urile v-or creşte valoarea
rezistenţei lor, si mai puţin curent va fi aplicat pe baza tranzistorului iar motorul va încetini
facand robotul sa vireze spre dreapta .

71
Fig. 5.59. Detectarea liniei negre de catre senzorul din dreapta si virarea spre dreapta
Atunci când linia neagră este detectata de LED-ul din stanga , cantitatea de lumina reflectata va
fi mai mică decat cea de pe linia alba, astfel încât LDR-urile v-or creşte valoarea rezistenţei lor,
si mai puţin curent va fi aplicat pe baza tranzistorului iar motorul va încetini facand robotul sa
vireze spre stanga .

72
Fig.5.60. Detectarea liniei negre de catre senzorul din stanga si virarea spre stanga

73
Fig.5.61. Principiul de functionare al LED –urilor si al fotorezistorilor

6. Algoritmul de control proportional


Controlul proportional , care este de obicei folosit la algoritmii de urmarire a unei linii ,
inseamna ca intensitatea rotatiei robotului fata de linie este proportionala cu distanta dintre robot
si linie. Cu alte cuvinte , daca centrul robotului este pozitionat exact pe linie , rotatia robotului va
fie gala cu zero , dar daca robotul este deviat de la centrul liniei, intensitatea rotatiei va creste
treptat , pana cand va atinge intensitatea maxima daca linia este complet inaccesibila. Acest
algoritm proportional va preveni robotul de la oscilarea sprea dreapta si spre stanga liniei in timp
ce incearca sa o urmeze.
Prin intensitatea de rotatie ne-am referit la viteza la care rotile se vor intoarce .

74
CAPITOLUL VI
Concluzii
Navigarea este importanta pentru multe aplicaţii imaginate ale robotilor mobili.
Denumirea de “line follower” în sine se refera clar la faptul că acesta este un robot care
detecteaza sau urmează un traseu specific. Acest robot este un instrument excelent pentru
extinderea imaginaţiei unui student. Din acest proiect , putem concluziona că avem posibilitatea
de a proiecta şi construi un robot destinat urmaririi unei linii.
Robotul urmritor de linie este o platforma adaptabila, care permite dezvoltarea de diverse
aplicaţii. Avand o structura moderna , putem modifica cu uşurinţă posibilitatea funcţiilor şi sa
adaugăm unele funcţii noi cum ar fi de exemplu detectarea unor obstacole si ocolirea acestora.
In acesta lucrare am cercetat , proiectat si conceput un robot mobil cu actinoare
diferentiala avand 2 motoare independente montate de o parte si de alta a sasiului robotului , si 4
senzori pentru indeplinirea unei singuri sarcini , aceea de a urmari o linie de culoare neagra pe un
fundal alb.
In zilele noastre , o mare parte a robotilor “line follower” folosesc senzori infrarosii
pentru culegerea informatiilor in timp ce in acest proiect am folosit senzori LDR pentru culegera
informatiilor. Astfel, am dovedit in acest proiect ca senzorii LDR nu numai ca se aplica in
dispozitivele de comutare ci se pot aplica si in cazul robotilor mobili.
Ca un avantaj al acestui robot este preţul redus şi simplitatea de al construi, dar sunt si
dezavantaje majore, cum ar fi viteza redusa şi instabilitatea pe liniile de diferite grosimi.

Bibliografie

75
1. Mayur Agarwal , Prashant Agrawal , Krishna Nand Gupta , Hitesh Meghani – Line
Follower Robot , Robotics Workshop Currents 15th march 2008EEE Department NIT
Trichy

2. Park, Sungyong and Minor, Mark A. "Modeling and Dynamic Control of Compliant
Framed Wheeled Modular Mobile Robots", Intemdonal Conhnnu on Robotics L
Automation.,New Orloans. LA, 2004.

3. Ahmadreza Tarakameh, Khoshnam Shojaie - Modeling of a Differential Drive Wheeled


Mobile Robot by Newton–Euler Method , Electronic Research Centre, Department of
Electrical Engineering, Iran University of Science and Technology Tehran, IRAN

4. Robo-11 Interactive C robot kit Activity book

5. Jong-Woo Moon , Chong-kug Park , - Kinematic Correction of a Differential Drive


Mobile Robot and a Design for Velocity Trajectory with Acceleration Constraints on
Motor Controllers 1999

6. Muhamad Nor Hafiz B Moktarudin – Application Of LDR Sensor On Line Follower


Robot , Faculty Of Electrical Engineering University Teknikal Malaysia Melaka 2008

7. Adarsh K. , Prashanth S. , Radha malini M.G. – Line Follower Robot Mechatronics


Project

INTERNET:
1. http://www.ermicro.com/blog/?p=1097
2. http://ikalogic.com/tut_line_sens_algo.php
3. http://imtuoradea.ro/auo.fmte/ss_2010_files/TRANSISTOR%20BASED%20MOBILE
%20LINE%20FOLLOWING%20ROBOT.pdf
4. http://kingkong.me.berkeley.edu/~adarsh/LFR.pdf
5. http://ro.wikipedia.org/wiki/LED
6. http://ikalogic.com/proj_mini_line_folower.php
7. http://www.scribd.com/doc/7380969/Line-Follower-Using-AT89c51
8. http://www.scribd.com/doc/42777208/Line-Follower-Robot-Project
9. http://www.richardvannoy.info/building-a-line-following-robot.pdf
10. http://ac.upg-ploiesti.ro/spc2009/spc_junior/cao_quoc_huy.pdf
11. http://www.mil.ufl.edu/5666/papers/IMDL_Report_Summer_05/dutka-paul/MILee.pdf
12. http://gilerpunada.blogspot.com/2009/09/line-following-mobile-robot-s2g3-part1.html
13. http://www.scribd.com/doc/22264883/Line-Following-Robot-Guide
14. http://elf.cs.pub.ro/pm/wiki/prj2010/pgp/linefolcoldet

76