PROGRAMUL DE STUDII: TEHNOLOGIA INFORMAȚIEI [301905]

UNIVERSITATEA DIN ORADEA

FACULTATEA DE INGINERIE ELECTRICĂ ȘI TEHNOLOGIA INFORMAȚIEI

PROGRAMUL DE STUDII: TEHNOLOGIA INFORMAȚIEI

FORMA DE ÎNVĂȚĂMÂNT ZI/[anonimizat] O [anonimizat]. Univ. Dr. Ing. Lucian Ștefăniță GRIGORE

ABSOLVENT: [anonimizat] 2016

Cuprins

Pagina

Introducere 3

I. DESCRIEREA ROBOTULUI TERESTRU 19

I.1 Solicitările statice specifice propulsorului unui robot mobil șenilat 19

I.2 Metoda analitică de determinare a sarcinilor statice pe galeți: 19

I.3 Metoda abordării robotului mobil șenilat ca multicorp (MBS): 23

I.4 Modelul virtual al robotului mobil șenilat: 26

I.5 Solicitările dinamice ale roților purtătoare (galeților)[anonimizat] 29

I.6 Metoda analitică de determinare a sarcinilor dinamice ale galeților: 32

I.7 Metoda abordării robotului mobil șenilat ca multicorp (MBS): 38

II. DESCRIEREA ELEMENTELOR DE COMANDĂ ȘI CONTROL 41

III. [anonimizat] 46

III.1 SRF04 ULTRA-SONIC SENSOR 50

III.2 SENZOR DE DISTANȚĂ SHARP GP2Y0A02YK0F 54

III.3 SENZOR PROXIMITATE VCNL400 55

III.4 ACCELEROMETRU 3 AXE ADXL377 60

III.5 GIROSCOP 3 AXE L3G4200D 63

Concluzii 68

Bibliografie 71

Anexe ……………………………………………………………………………………………74

[anonimizat], electronica de putere și informatica au facilitat realizarea unei palete largi de roboți capabili să înlocuiască activitățile umane repetitive sau în medii periculoase.

[anonimizat]: antiteroriste, [anonimizat], [anonimizat].

[anonimizat]. Efortul cercetării a fost orientat spre satisfacerea cerințelor de comandă și control pentru un robot șenilat.

[anonimizat]-o arhitectură omogenă care utilizează un singur limbaj de programare (C ++), o [anonimizat]:

Broadcom BCM2835 CPU 700MHz;

SODIMM sized (6.5cm by 3cm) Raspberry Pi board;

512MB RAM;

4GB eMMC Flash memory;

micro USB connector type B;

2 x CSI ports for camera boards;

2 x DSI ports for display boards;

HDMI port;

Micro USB power connector.

[anonimizat]. [anonimizat] o sarcină dificilă. Din cauza lipsei de flexibilitate și performanță a controler-ului robotului, s-a preferat realizarea unei biblioteci de module de control pentru diverse aplicații.

Acest design conduce la o [anonimizat], mai ușor de utilizat și mai ușor expandabilă.

Acest tip de arhitectură are următoarele avantaje:

Simplitate. O arhitectură omogen nedistribuită este mult mai mic și mai simplă decât o arhitectură distribuită neomogen. [anonimizat], și mai ușor să se extindă. Simplitatea este critică prin prisma motivării de a putea reutiliza platforma pentru diferite aplicații.

Flexibilitate la toate nivelurile. Toate componentele platformei sunt deschise pentru extensii și modificări.

Integrarea ridicată. Din moment ce toate componentele pot rula pe aceeasi platformă, s-a urmărit o integrare mare, ceea ce permite o cooperare mai simplă și mai eficientă între componente. Respectiv, de comunicare între componentele sale și cu cele ale altor roboți tereștri sau aerieni, sistem GPS, etc.

Una dintre caracteristicile cele mai importante ale unei platforme Raspberry PI este aceea că are o multitudine de intrări/ieșiri specializate pentru diverse operațiuni, sau care se pot formata pentru necesități neintroduse în pachetul de bază.

Pinii evidențiați în Fig. I-4, reprezintă interfața fizică între Raspberry Pi și exterior. Switch-urile pot activa sau dezactiva intrările și ieșirile. 17 pini sunt pini GPIO, ceilalți 9 pini se utilizează pentru alimentare și masă.

Semnificația codurilor afișate în dreptul pinilor plăcii de dezvoltare este următoarea (Fig. I-6):

BCM – Broadcom numărul de pini, denumit în mod obișnuit "GPIO", sunt cele care ee utilizează cu RPi.GPIO și GPIO Zero;

WiringPi – cablare Pi Număr pini (prezentat ca un tooltip), pentru biblioteca electrică Pi Gordon;

Physical – Numărul care corespunde locației fizice a PIN-ului de început.

Raspberry Pi Model A + și B + au actualizată platforma cu 14 pini suplimentari. În continuare vom defini funcțiile fiecărui PIN:

3v3 Power – PIN-ul de alimentare la , și un curent maxim disponibil de aproximativ , suficient pentru a alimenta o pereche de LED-uri sau un microprocesor, dar nu cu mult mai mult, se utilizează în general o sursă de alimentare de cuplată cu un regulator de 3v3;

BCM 2 (SDA) –

Physical pin 3;

BCM pin 2;

Wiring Pi pin 8;

BCM pin 0 on Rev 1 ( very early ) Pi,

pinii i2c sunt o modalitate extrem de utilă pentru a conecta mai multe tipuri diferite de periferice externe: MCP23017 digitale IO, la un ATmega, pinii i2c includ un rezistor de la

sudo apt-get install i2c-tools

sudo i2cdetect -y 1

sudo apt-get install python-smbus

Python:

import smbus

DEVICE_BUS = 1

DEVICE_ADDR = 0x15

bus = smbus.SMBus(DEVICE_BUS)

bus.write_byte_data(DEVICE_ADDR, 0x00, 0x01);

BCM 3 (SCL) –

Physical pin 5;

BCM pin 3;

Wiring Pi pin 9;

BCM pin 1 on Rev 1;

SCL (i2c Clock);

BCM 4 (GPCLK0) –

Physical pin 7;

BCM pin 4;

Wiring Pi pin 7;

Ground –

pinii GROUND de pe Raspberry Pi sunt conecxiunile electrice, deci nu contează pe care o utilizăm, în general, cel mai convenabil sau cel mai apropiat de restul conexiunilor, sau în mod alternativ față de cel mai apropiat PIN de alimentare utilizat. Spre exemplu: Pin 17 pentru 3v3 Power și PIN-ul 25 atunci când se utilizează conexiunile SPI, acestea fiind chiar lângă cei mai importanți pini pentru SPI0;

BCM 17 –

Physical pin 11

BCM pin 17

Wiring Pi pin 0;

Procesor – este de tipul Core, set de 4 nuclee ARM Cortex-A53 MPCore, există procesor cu registru de 32 biți și 64 de biți. În forma AArch32, PC-ul este pe 32 de biți și R15 se înregistrează în fișierul de uz general. În forma AArch64, PC-ul este pe 64 de biți, iar informațiile se înregistrează independent X0 X30. Pentru forma AArch64 software-ul nu se poate scrie direct de la PC.

În plus față de ARMʼs MMU, BCM2835 include un al doilea MMU pentru cartografierea adreselor fizice ale ARM pe magistrala internă a sistemului. Oferă un control detaliat al sistemului de memorie. Cea mai mare parte de control utilizează tabele de conversie care sunt păstrate în memorie. Iar MMU este componenta majoră a unui ARM VMSA. În Fig. I-7 se prezintă o diagramă cu principalele adrese de interes și localizarea conexiunilor:

Adreseele virtuale ARM folosesc ca sistem de operare doar kernel-ul standard sub Linux.

Kernel-ul standard BCM2835 Linux oferă o mapare continuuă pe întreaga memorie RAM disponibilă, în partea de sus a memoriei. Kernel-ul este configurat pe o fracțiune de 1GB / 3GB între nucleu și spațiul utilizat de memorie.

Ruptura dintre ARM și memorie GPU este selectată prin instalarea unuia dintre fișierele furnizate de pornire * .elf ca start.elf în partiția FAT32 de încărcare a cardului SD. Cantitatea minimă de memorie care poate fi dat GPU-ului este de 32MB, dar care va restricționa performanța multimedia; de exemplu, 32MB nu oferă suficientă memorie tampon pentru GPU pentru a face decodarea video 1080p30.

O soluție des întâlnită pentru roboți mobili este propulsorul șenilat. Există mai configurații principale de propulsor șenilat :

cu două șenile unitare având planele de simetrie fixe (Fig. I-8 ) și cu configurație variabilă (cu planele de simetrie posibil de configurat conform necesităților de deplasare), așa cum se prezintă în configurațiile b…f;

cu patru șenile, acționând două câte două (Fig. I-9 ), sau acționând două câte două și având o axă unică pentru una dintre roți, această soluție îmbunătățind capacitatea de abordare a obstacolelor pentru roboții de mici dimensiuni.

Una dintre principalele calități ale unui robot mobil o constituie capacitatea acestuia de a se deplasa pe terenuri cu configurație geometrică și caracteristici mecanice extrem de diverse.

Pentru roboți de dimensiuni medii, se consideră că propulsorul șenilat simplu, cu două șenile unitare cu plane de simetrie fixe poate satisface în mod corespunzător cerințele de mobilitate și stabilitate ale robotului.

Experiența acumulată în utilizarea roboților permite formularea concluziei că propulsorul șenilat, în ciuda complicațiilor constructive, conferă caracteristici de mobilitate superioare.

Configurarea profilului șenilei presupune rezolvarea următoarelor aspecte:

dispunerea roții motoare (în față, în spate, intermediar pe ramura superioară a șenilei etc.);

dispunerea galeților extremi;

dispunerea galeților intermediari;

dispunerea roții de întindere.

Există mai multe variante de dispunere a elementelor constitutive ale profilului șenilei, principalele soluții fiind analizate în cele ce urmează.

În Fig. I-11 se prezintă o primă variantă de dispunere a roților propulsorului șenilat, caracterizată de dispunerea anterioară a roții motoare. Această soluție conduce la condiții favorabile de abordare a obstacolelor și la deplasare spre față a centrului de greutate a platformei robotului mobil. Datorită amplasării anterioare a roții motoare, ramura înclinată a șenilei de la partea anterioară este descărcată de forțele dinamice de întindere, ceea ce determină angajarea mai relaxată a șenilei pe primul galet; acest aspect poate conduce ca șenila să iasă din planul normal („să sară”) pe timpul virajului, cu atât mai mult cu cât viteza de alunecare laterală este maximă în această zonă, notată A.

În Fig. I-14 roata motoare joacă și rolul primului galet. Pentru abordarea unor obstacole cu înălțimea de h mm rezultă un diametru al roții motoare de 2xh mm, ceea ce impune realizarea unor rapoarte foarte mari de demultiplicare în transmisia mecanică de la motorul electric de acționare la axul roții motoare. Soluția prezintă avantajul simplității constructive și al unei ghidări bune a ramurii de sprijin a șenilei pe sol.

Cea de a treia variantă distinctă de dispunere a roților propulsorului șenilat este prezentată în Fig. I-15 și se caracterizează prin dispunerea anterioară a roții motoare. Această variantă prezintă avantajul deplasării spre spate a centrului de greutate al platformei robotului mobil, fapt care permite montarea la partea anterioară a brațului manipulator, mărind astfel eficiența funcțională a acestuia și conducând, implicit la o poziție a centrului de greutate a întregului robot mobil apropiată de verticala care trece prin centrul geometric al suprafeței de sprijin pe sol. Faptul că ramura superioară a șenilei este descărcată de forțele dinamice de tracțiune conduce la posibilitatea apariției oscilațiilor transversale ale acesteia pentru preîntâmpinarea acestui fenomen, se impune montarea de role de sprijin a ramurii superioare a șenilei, fapt ce conduce la creșterea gradului de complexitate constructivă.

Cei mai uzuali roboți șenilați sunt cu destinație militară sau pentru intervenție în caz de urgență antitero, calamități etc. sunt roboți cu greutatea variind între 250÷400 [kg] și care în general sunt echipați cu motoare electrice sau motoare Diesel. Excepție fac roboții din clasa 2,5 [t], care se preferă să fie echipați cu motoare Diesel (Fig. I-16). robot realizat pe o platformă echipată cu un motor Diesel de 60 CP, )

O altă categorie de roboți de talie mijlocie, aproximativ 2,5 [t], care se prefer să fie echipați cu motoare electrice (Fig. 2-8 robot specializat pentru misiuni de recunoaștere în adâncime ).

În domeniul combaterii acțiunilor teroriste s-au realizat roboți care utilizează preponderent propulsorul șenilat, platformele uzuale cântărind 50…125 [kg]. Misiunile sunt diversificate, de la cercetarea C.B.R.N. și manipularea încărcăturilor periculoase (prezintă robotul specializat TALON , ).

În prezent există pe piață o mare varietate de roboți care pot executa misiuni de intervenție, cercetare NBC și manipularea încărcăturilor periculoase, de diferite mărimi și cu diverse capabilități.

Printre cele mai importante firme care produc astfel de roboți, țara de origine precum și principalele tipuri de roboți disponibili sunt prezentate mai jos:

• AB Precision Ltd (UK) : Cyclop Mk4, Lynx, Bison;

• EOD Performance (Can): Vanguard MKII;

• Foster-Miller(USA) : Talon, Sword;

• IRobot Corporation (Ge): Packbot;

• Mesa Associates (USA): Matilda;

• PW Allen & Co. Ltd (UK): Defender, Responder;

• Remotec , Inc.(USA): MK V-A1, F6A, Mini II, Wolverine;

• Telerob (Ge): Telemax;

• Wolstenholme Machine, Inc.(USA): MR-5, MR-7.

Performanțele dinamice ale platformelor permit deplasarea cu viteze maxime de 1,5 [m/s], pentru cei destinați combaterii acțiunilor teroriste și de 3,5 [m/s], pentru cei de recunoaștere. Platforma mobilă trebuie să asigure traversarea pantelor de 40°…45° și urcarea scărilor. De asemenea, pentru o mai rapidă poziționare a robotului în zona de lucru se impune realizarea virajului de rază nulă prin pivotarea în jurul axei verticale care trece prin centrul de greutate al robotului , , .

În cazul roboților prevăzuți cu brațe manipulator, platforma mobilă trebuie să asigure stabilitatea statică și dinamică a robotului pentru sarcini manipulate de 5…25 [kg] , .

Autonomia de lucru este de 1…3 [ore] iar comanda se realizează prin comunicații radio (pentru comanda la circa 1000…2000 [m]), prin cablu optic (pentru distanțe de 50…1000 [m]), sau prin cablu pentru distanțe mai mici de 50 [m] , , .

De asemenea, s-a constat existența unor preocupări intense privind cercetarea științifică aferentă realizării unor roboți mobili în următoarele institute și universități: The Robotics Institute Carnegie Mellon University, Tohoku University, Pittsburgh, Pennsylvania/ USA, The Robotics Institute Carnegie Mellon University Pittsburgh, The University Of New South Wales School Of Mechanical And Manufacturing Engineering, Pennsylvania-USA, Sendai-Japan.

S-au evidențiat următoarele direcții importante de focalizare a cercetării științifice în domeniul roboților mobili destinați acțiunilor militare, antiteroriste și de protecție civilă ,, :

brațe tip manipulator pentru manevrarea încărcăturilor;

senzori de cercetare a mediului și obiectelor (camere video, senzori de cercetare chimică, bacteriologică și nucleară etc.);

sisteme complexe de auto-dirijare în teren pentru dobândirea de către roboții mobili a unei autonomii sporite în deplasare;

sisteme de distrugere a încărcăturilor periculoase;

sisteme bazate pe inteligența artificială.

Lucrarea este centrată în special pe ideea unui robot mobil – model experimental, destinat să efectueze operațiuni specifice de intervenție în zonele cu risc ridicat pentru om (medii cu pericol de și/sau explozie, medii toxice etc.) și de combatere a acțiunilor teroriste.

Principalele cerințe pentru un astfel de robot sunt:

să poată inspecta câmpul apropiat și să detecteze substanțe sau dispozitive periculoase;

să poată manipula și transporta obiecte cu grad sporit de risc (dispozitive explozive, containere cu substanțe toxice etc.);

să poată manipula și poziționa încărcături pirotehnice;

să permită adaptarea și schimbarea rapidă a modulelor și accesoriilor în funcție de operația pe care trebuie să o efectueze;

să aibă o structură modulară și flexibilă și un grad ridicat de manevrabilitate;

să fie autonom din punct de vedere energetic;

să permită comanda și controlul de la distanță.

Platforma mobilă constituie un element esențial în cadrul unei familii de roboți realizați într-o concepție modulară și flexibilă, astfel încât aceeași platformă să poată conlucra cu mai multe tipuri de suprastructuri specializate.

DESCRIEREA ROBOTULUI TERESTRU

Solicitările statice specifice propulsorului unui robot mobil șenilat

Am studiat cazul unui propulsor ai cărui mini-galeți sunt legați de carcasa robotului mobil prin intermediul unor balansori și la care sistemul de suspensie este similar cu al unei mașini de luptă pe șenile, respectiv bare de torsiune și amortizoare.

Galeții robotului mobil șenilat sunt supuși unor intense solicitări statice și dinamice condiționate de profilul drumului, caracteristicile de masă ale robotului, caracteristicile constructive ale șenilei și suspensiei. Interesează în mod deosebit reacțiunile verticale statice ale galeților, în continuare urmărindu-se stabilirea relațiilor de calcul ale acestora.

Determinarea sarcinilor statice pe galeți se poate face prin două metode:

metoda analitică;

metoda prin abordarea întregului ca multicorp (MBS);

Pentru validarea modelelor de calcul se pot elabora soluții originale și unice în funcție de modelul real studiat pentru determinare experimentală a sarcinilor statice pe galeți.

Metoda analitică de determinare a sarcinilor statice pe galeți:

Pentru determinarea sarcinilor statice pe galeți este necesar să se efectueze un studiu asupra problemelor de statică a suspensiei robotului șenilat. Elementul elastic al suspensiei individuale este constituit de o bară de torsiune.

În Fig. 3-1 este prezentată schema suspensiei individuale cu bară de torsiune, fiind reprezentate pozițiile funcționale caracteristice ale brațului balansorului.

S-au utilizat următoarele notații:

– unghiul de montaj inițial al balansorului măsurat față de “planul0”;

– unghiul format de balansor cu “planul 0” în poziția de echilibru static (unghiul static al balansorului);

– unghiul format de balansor cu “planul 0” la un moment oarecare;

Q – forța care acționează pe direcție verticală în axul galetului;

f – coeficientul de rezistență la rulare a galetului pe ramura inferioară a șenilei.

Unghiul de răsucire al barei de torsiune se determină cu relația:

1.1

unde s-a utilizat notația:

1.2

în care:

d diametrul zonei active a barei de torsiune;

La lungimea zonei active a barei de torsiune;

G modulul transversal de elasticitate.

Pentru studiul staticii suspensiei în ansamblu se consideră că, în faza inițială, carcasa se găseste în echilibru static, “planul 0” fiind orizontal. În continuare, se consideră că “planul 0” este rotit cu unghiul față de orizontală, în jurul unei axe transversale care trece prin centrul de greutate situat la înălțimea Hg față de “planul 0”, așa cum se prezintă în schematizarea cuprinsă în fig.3.2

În situația în care carcasa se află în echilibru static, ecuația de echilibru a forțelor pe direcție verticală este:

1.3

în care cu Gs s-a notat greutatea masei suspendate a robotului mobil șenilat.

Momentele de răsucire ale barelor de torsiune sunt date de relațiile:

1.4

Neglijând rezistența la înaintare a galetului pe ramura inferioară a șenilei, din fig 3.2 rezultă expresia momentului creat de reacțiunea verticală Qi :

1.5

Egalând relațiile (3.4) și (3.5) se obține expresia reacțiunii Qi care acționează asupra galetului i:

1.6

Prin înlocuirea acestei expresii în ecuația (3.3) se obține în final ecuația de echilibru a forțelor ce acționează asupra robotului mobil șenilat pe direcție verticală:

1.7

Ecuația de echilibru a momentelor față de centrul de greutate este :

1.8

Din fig.3.2 rezultă următoarea expresie pentru distanța între centrul de greutate și punctul de articulare al balansorului i:

1.9

care, alături de expresia reacțiunii verticale care acționează asupra galetului, conduce în final la următoarea expresie a ecuației de echilibru a momentelor:

1.10

Pentru fiecare suspensie individuală în parte este respectată următoarea condiție geometrică:

1.11

Relațiile (3.7), (3.10) și (3.11) formează împreună un sistem de N+2 ecuații care conține N+2 necunoscute: H0 , și ,(i=1…N):

1.12

Sistemul de mai sus conține ecuații trigonometrice de tip transcedental ceea ce impune aplicarea unor metode numerice de rezolvare. Prin rezolvarea numerică a sistemului (3.12) se pot determina următoarele mărimi:

unghiurile statice ale balansorilor (unghiurile pe care le formează balansorii în pozițiile statice ) ;

săgețile statice ale suspensiilor individuale;

sarcinile statice pe galeți;

săgeata statică globală a suspensiei în ansamblu;

poziția centrului de greutate;

unghiurile curente formate de balansor cu “planul 0” atunci când carcasa execută o mișcare plană compusă dintr-o translație pe verticală și o rotație în jurul axei orizontale transversale ce trece prin centrul de greutate.

Pentru determinarea mărimilor corespunzătoare situației de echilibru static, se impun următoarele condiții:

“planul 0” să fie orizontal, ceea ce conduce la condiția analitică ;

greutatea masei suspendate să fie echilibrată de reacțiunile verticale care acționează asupra galeților.

În această situație, ultimele N ecuații ale sistemului devin:

1.13

de unde rezultă expresia unghiurilor statice:

1.14

Introducând relația de mai sus în prima ecuație a sistemului (3.12) se obține următoarea ecuație:

1.15

sau:

1.16

Pentru rezolvarea ecuației (3.16) s-a utilizat programul specializat Mathematica, obținându-se valoarea: H0. Cunoscând valoarea săgeții statice în ansamblu, se pot determina valorile unghiurilor statice, precum și valorile săgeților statice ale galeților, utilizând relația:

1.17

Sarcinile statice ale galeților se determină cu relația:

. 1.18

Metoda abordării robotului mobil șenilat ca multicorp (MBS):

Sarcinile statice pe galeți se pot determina cu mult mai multă ușurință dacă se va putea utiliza un program de simulare a sistemelor mecanice. Programul de simulare ADAMS cuprinde mai multe module:

VIEW

SOLVER

CAR

CONTROLS

ENGINE

FLEX

HYDRAULICS

INSIGHT

LINEAR

POSTPROCESSOR

RAIL

TIRE

CAT

MECHANISM/PRO

VIEW este modulul general care permite realizarea oricărui model virtual. Alte module cum sunt CAR, ENGINE, HYDRAULICS, RAIL, TIRE sunt module specializate care permit rezolvarea unor probleme specifice.

Programul lucrează cu elemente rigide, dar permite simularea sistemelor mecanice care conțin elemente elastice prin intermediul modulului FLEX.

Modulul VIEW este cel care se pretează pentru o astfel de problemă.

Cu ajutorul acestui program se pot realiza modele parametrizate ale sistemelor mecanice complexe.

Acest mediu de simulare permite realizarea prototipului virtual prin realizarea elementelor virtuale ale sistemului mecanic cu ajutorul bibliotecii proprii de componente sau permite importul acestora din programele CAD cu care are interfață.

După ce se realizează sistemul mecanic virtual, se definesc forțele care acționează asupra sistemului și se rulează modelul cu ajutorul modulului SOLVER. Rezultatele obținute sunt vizualizate cu ajutorul programului de postprocesare, POSTPROCESSOR.

Programul permite determinarea unor mărimi predefinite (cum ar fi calculul distribuțiilor de viteze și accelerații pentru elementele virtuale, calculul forțelor de contact între diferite elemente virtuale ale sistemului) sau calculul unor mărimi definite de utilizator.

Pot fi repede vizualizate grafic o serie mare de variabile de proiectare. Cu ajutorul acestor variabile se pot realiza optimizări ale sistemului mecanic.

Pe timpul simulării, programul permite vizualizarea funcționării prototipului virtual permițând înțelegerea mai ușoară a comportării produsului virtual.

Realizarea prototipului virtual implică o serie de etape (fig.1-4):

realizarea sistemului mecanic virtual;

simularea acestuia (testarea printr-o serie de simulări impuse);

îmbunătățirea modelului;

validarea modelului;

optimizarea acestuia prin rulări iterative până se ating performanțele impuse sistemului.

Avantajul constă în faptul că toate aceste etape se realizează pe computer, cu mare economie de timp și cu costuri reduse.

Construirea modelului (Build) constă în:

realizarea elementelor mecanice ale sistemului (cu ajutorul elementelor proprii sau importate din medii CAD); impunerea legăturilor cinematice; introducerea forțelor si momentelor care acționează asupra sistemului.

Testarea și validarea modelului (Test – Validate) presupune:

definirea mărimilor de ieșire; realizarea simulării; vizualizarea și interpretarea datelor obținute; validarea rezultatelor simulării.

Îmbunătățirea modelului (Refine model)

După rularea inițială se pot adăuga și alte elemente care fac sistemul mai complex, cum ar fi frecări în diferite cuple, definirea elementelor de control, introducerea unor elemente elastice).

Optimizarea modelului

Modulul VIEW dispune de elemente de optimizare a funcționării sistemelor mecanice:

Calculul de senzitivitate: ajută la identificarea variabilelor care au cel mai mare impact asupra obiectivului de optimizare impus;

Optimizarea propriu-zisă: ajută la proiectarea unui produs optimizat din punct de vedere al obiectivului impus, specificând care parametri ai sistemului se pot modifica.

Cu ajutorul programului de simulare pot fi rezolvate următoarele probleme: echilibru static; analiză cinematică; analiză dinamică; calcul de senzitivitate; optimizare.

Modelul virtual al robotului mobil șenilat:

S-a realizat modelul virtual al robotului mobil șenilat cu 6 roți purtătoare, respectiv cu 6 galeți, pentru care se încearcă realizarea obiectului necesar cercetării experimentale, astfel încât să fie posibilă validarea modelelor de calcul și de simulare.

Construirea modelului virtual al robotului mobil șenilat cu 6 galeți s-a realizat având în vedere următoarele:

A. Dimensiunile de gabarit;

B. Caracteristicile de masă.

C. Propulsia are șase galeți pe o parte (fig.1-5). Modelul virtual al robotului a fost construit în scopul determinării sarcinilor statice și a solicitărilor dinamice ale galeților datorate oscilațiilor masei suspendate și profilului terenului. În consecință modelul nu conține șenilele și, prin urmare, din masa totală a fost scăzută masa șenilei care vine în contact cu solul (fig.1-6).

D. Suspensia robotului este compusă din bare de torsiune, amortizoare hidropneumatice telescopice și limitatori de cursă elastici. La construirea modelului virtual s-au adoptat dimensiunile de montaj ale suspensiilor individuale, similare cu ale unor soluții existente (fig.1-7) și ale suspensiei robotului în ansamblul ei (fig.1-8).

În modelul virtual s-a introdus constanta elastică a barei de torsiune determinată cu ajutorul relațiilor (3.1) și (3.2). Pentru amortizoarele hidropneumatice s-a introdus cu ajutorul unei funcții SPLINE caracteristica elastică a amortizorului furnizată de fabricant (fig.3.9).

Neexistând informații despre caracteristica de amortizare a amortizorului hidropneumatic, se adoptă valori specificate în documentația producătorului. În mod asemănător se evaluează și frecarea uscată care ia naștere pe timpul oscilațiilor între elementele fiecărei suspensii individuale.

La momentul inițial modelul virtual este suspendat, balansorii suspensiilor individuale fiind dispuși în poziția de montaj. Unghiurile de montaj ale balansorilor sunt adoptate prin similitudine cu ale unor soluții deja existente.

La rularea modelulului (cu ajutorul modulului SOLVER) sub influența greutății, robotul se așează pe calea de rulare.

După câteva oscilații se ajunge la echilibru static, moment în care se pot determina sarcinile statice pe galeți (fig.3.10). O verificare suplimentară a corectitudinii modelării se poate realiza prin verificarea orizontalității “planului 0”. Programul permite măsurarea pe timpul simulării a unor unghiuri predefinite. Un astfel de unghi a fost definit între “planul 0” și calea de rulare și, în urma simulării, a rezultat orizontalitatea carcasei robotului.

Solicitările dinamice ale roților purtătoare (galeților)ale propulsorului unui robot mobil șenilat, datorate oscilațiilor masei suspendate

Pentru stabilirea relațiilor de calcul a solicitărilor dinamice, este necesară efectuarea unui studiu al dinamicii suspensiei astfel încât să se stabilească funcțiile care descriu mișcările oscilatorii ale masei suspendate.

Suspensia poate fi analizată sub forma unui sistem care este supus acțiunii unor perturbații la cele N intrări ale sale (corespunzătoare celor N suspensii individuale); ieșirile sistemului sunt constituite de mișcările oscilatorii de tangaj și de săltare descrise de funcțiile și respectiv , ale căror parametri depind de caracteristicile funcționale ale elementelor conservative și disipative din compunerea suspensiei, caracteristici funcționale care depind de realizările momentane ale funcțiilor de ieșire (respectiv unghiul de tangaj , săltarea z, viteza de tangaj și viteza de săltare ) .

Se menționează faptul că cele N perturbații aplicate sistemului suspensiei sunt dependente între ele, relația de legătură fiind o funcție ce depinde de viteza de deplasare a autovehiculului pe șenile și de parametrii constructivi ai suspensiei (distanțele între galeți).

Conform acestor considerente, suspensia este reprezentată sistemic în fig.3.11.

În continuare se vor prezenta principalele tipuri de perturbații care pot fi utilizate pentru studiul suspensiilor.

Perturbația tip treaptă unitară este descrisă matematic de relațiile:

1.19

Reprezentarea grafică a acestui tip de perturbație este prezentată în fig.1-12.

Acest tip de semnal este ușor de generat analitic în cadrul programelor de simulare pe calculator și poate fi realizat fizic în cadrul experimentărilor executate asupra suspensiei.

Totuși, acest tip de perturbație introduce erori de calcul datorită faptului că la abordarea reală a acestui tip de obstacol de către autovehicul, prezența șenilei (care nu este extensibilă) conduce la o viteză de săltare a galetului având o valoare finită, și nu infinită așa cum ar rezulta din profilul obstacolului.

Efectuarea calculelor de cinematică a suspensiei, luând în considerație și prezența șenilei a condus la concluzia că, în realitate, la abordarea unui obstacol fizic tip treaptă unitară de către primul galet, pentru viteze ale robotului mobil de 0,01…0,3 m/s, timpul de urcare a galetului (în ipoteza păstrării asietei nule a masei suspendate) descrește de la 0,066s la 0,0048s, astfel încât suspensia se comportă similar cu situația în care ar aborda un obstacol tip rampă, având înălțime unitară și realizând creșterea într-un interval de timp situat în domeniul menționat anterior, funcție de viteza de deplasare. La abordarea obstacolului de către galeții următori, vitezele de săltare ale acestora cunosc o micșorare datorată efectului de “netezire” a obstacolului de către ramura inferioară a șenilei.

Perturbația tip secțiune pătrată este descrisă matematic de relațiile:

1.20

Reprezentarea grafică a acestui tip de perturbație este prezentată în fig.1-13. După cum se poate ușor constata, acest tip de perturbație păstrează avantajele, dar și dezavantajele menți-onate anterior pentru perturbația tip treaptă unitară.

Pentru aceste două tipuri de perturbații, literatura de specialitate nu conține recomandări referitoare la nivelul cantitativ pe care trebuie să îl înregistreze parametrii de apreciere a calității suspensiei.

Perturbația de tip impuls este reprezentată grafic în fig.1-14.

Acest tip de perturbație poate fi ușor generată prin impunerea unor condiții inițiale nenule pentru funcțiile care descriu amplitudinea mișcărilor oscilatorii; deasemenea, acest tip de perturbație poate fi realizat relativ ușor experimental, fie prin scoaterea masei suspendate din poziția de echilibru static urmată de eliberarea dispozitivului de ridicare, fie utilizând ca forță perturbatoare oscilația unei mase suspendate în brațul de acționare al robotului mobil sau forța de inerție la frânarea bruscă a robotului.

Perturbația de tip armonic ocupă un loc privilegiat în literatura de specialitate în care terenul (pista) are un profil longitudinal sinusoidal; aceasta fiind definită de înălțimea h a denivelărilor și de lungimea de undă a acestora, notată cu a.

Cu toate că în literatura care abordează problematica studiului suspensiilor ce echipează autovehiculele pe roți se utilizează tot mai frecvent funcții aleatoare care descriu profilul unor categorii de drumuri, aplicarea acestui tip de perturbație în cazul roboților cu șenile destinați deplasării pe drumuri denivelate și deformabile întâmpină dificultăți majore datorate următoarelor cauze:

• profilul inițial al drumului diferă mult de cel care ia naștere după rularea autovehiculului șenilat, astfel încât metodele de cercetare profilometrică aplicate pentru determinarea parametrilor statistici ai profilului drumurilor nedeformabile sunt inutilizabile;

• literatura de specialitate referitoare la roboții pe șenile nu furnizează date experimentale ale parametrilor statistici ale unor drumuri deformabile;

• modelele dinamice care utilizează perturbații aleatoare se bazează pe ipoteze simplificatoare care conduc la invarianța coeficienților sistemului de ecuații diferențiale, ceea ce a permis rezolvarea acestora prin aplicarea transformatei Laplace.

Utilizarea în simulare a unor perturbații de tip A, B, sau C nu este consistentă din punct de vedere al solicitărilor dinamice ale galeților datorită frecvenței extrem de mici cu care intervin în rulajul real al roboților; prezintă importanță însă în procesul de validare a modelului suspensiei.

Metoda analitică de determinare a sarcinilor dinamice ale galeților:

Ținând cont de considerentele expuse anterior, se consideră admisibile următoarele ipoteze referitoare la funcționarea suspensiei:

A. Masa suspendată a vehiculului pe șenile este considerată un rigid care execută următoarele tipuri de oscilații:

oscilații unghiulare în jurul unei axe orizontale perpendiculare pe direcția de deplasare – oscilații de tangaj;

oscilații pe direcție verticală – oscilații de săltare.

Oscilațiile pe direcția de deplasare și pe o direcție perpendiculară pe aceasta intervin datorită regimurilor tranzitorii de deplasare (în cazul mersului rectiliniu, respectiv în cazul virajului). Presupunând că robotul se deplasează rectiliniu și uniform pe un teren caracterizat de un coeficient global de rezistență la înaintare constant, rezultă că aceste tipuri de oscilații nu intervin în mișcarea vehiculului. Datorită amplitudinii reduse a oscilațiilor de ruliu, precum și datorită influenței reduse pe care o exercită acestea asupra solicitării galeților, nu se vor lua în calcul și aceste tipuri de mișcări ale masei suspendate. Rezultă că problema studiului oscilațiilor masei suspendate devine o problemă de mecanică în plan.

B. Oscilațiile masei suspendate au amplitudini suficient de mici, astfel încât se pot admite aproximările:

1.21

C. Vehiculul execută deplasarea în regim de mișcare uniformă pe teren orizontal, nedeformabil, având microprofilul caracterizat de funcția H(t).

D. Se neglijează influența propulsorului cu șenile asupra mișcărilor masei suspendate și asupra suspensiei.

E. Elementul elastic (conservativ) real este înlocuit cu un element elastic echivalent plasat în punctul de articulare al balansorului cu carcasa vehiculului; caracteristica elastică a elementului echivalent se consideră neliniară.

F. Elementul amortizor (disipativ) real este înlocuit cu un amortizor echivalent plasat în punctul de articulare al balansorului cu carcasa vehiculului și având o caracteristică de amortizare neliniară.

G. Forțele de frecare uscată dintre elementele componente ale suspensiei se consideră constante, sensul vectorului forță fiind întotdeauna opus celui al vectorului viteză a masei oscilante.

H. Se neglijează elasticitatea bandajelor de cauciuc ale galeților.

Pe baza ipotezelor de mai sus s-au figurat forțele și momentele care acționează asupra masei suspendate (fig.1-15).

Din ecuațiile de echilibru a forțelor și momentelor rezultă următorul sistem de ecuații diferențiale:

1.22

î n care:

unde s-au utilizat următoarele notații:

Iy mometul de inerție față de axa transversală orizontală care trece prin centrul de greutate;

Ma masa suspendată a vehiculului;

µi coeficienții de rezistență ai amortizoarelor hidraulice;

ci rigiditățile suspensiilor individuale;

Hi funcția care descrie profilul terenului;

n numărul suspensiilor individuale de pe fiecare parte a vehiculului;

r forța de frecare uscată dintre elementele suspensiei.

Prin introducerea notațiilor:

1.23

sistemul (3.3) omogenizat devine un sistem de patru ecuații diferențiale de ordinul întâi cu necunoscutele :

1.24

Pentru a simplifica determinarea coeficienților ecuațiilor diferențiale se introduc notațiile:

1.25

astfel încât coeficienții ecuației diferențiale devin:

Tipul sistemului de ecuații diferențiale depinde de natura coeficienților Ak și Bk , k=0,…,2.

Ținând cont de expresia rigidității determinată din statica suspensiei, rezultă expresiile coeficienților Bk :

1.26

Relația de mai sus indică variația coeficienților Bk funcție de unghiul static al balansorilor, de poziția acestora în cadrul suspensiei, dar și de poziția momentană a masei suspendate.

Sistemul care descrie modelul dinamic al suspensiei este un sistem de patru ecuații diferențiale de ordinul întâi, nestaționar și neomogen, chiar în absența perturbațiilor exterioare. Acest model dinamic, permite studiul oscilațiilor executate de masa suspendată a robotulului supus unor perturbații exterioare. În funcție de prezența elementelor disipative în compunerea suspensiei, se disting următoarele categorii de oscilații:

oscilații neamortizate;

oscilații cu amortizare uscată;

oscilații cu amortizare uscată și amortizare vâscoasă.

În Error! Reference source not found. este prezentată simularea oscilațiilor libere neamortizate, atunci când sunt impuse condiții inițiale nenule pentru săltarea masei suspendate.

În concluzie, modelul dinamic permite determinarea funcțiilor care descriu mișcările oscilatorii de tangaj și de săltare , respectiv . Sarcinile dinamice pe galeți depind de modul de variație a unghiurilor formate de balansori cu “planul 0”, ; de aceea în continuare se va determina relația de legătură între și funcțiile și .

Presupunând că mișcările masei suspendate se efectuează din poziția pentru care și și cuprinde o deplasare pe verticală cu distanța z și o rotire cu unghiul , axa de articulare a balansorului în carcasă va ocupa succesiv pozițiile , respectiv , unghiurile formate de balansori cu “planul0” devenind ; din considerente de ordin geometric, pe baza fig.4.7 se pot scrie următoarele relații geometrice:

înainte de deplasarea carcasei:

1.27

după deplasarea pe verticală cu z și rotirea cu unghiul a carcasei:

(3.28)

Prin egalarea relațiilor (4.8) și (4.9) și explicitarea în funcție de unghiul , se obține în final expresia unghiului de rotire a balansorului funcție de mișcările executate de carcasă:

1.28

Ținând cont de ipoteza B conform căreia oscilațiile masei suspendate au amplitudini suficient de mici, relația (4.10) devine:

1.29

Echilibrul forțelor care acționează asupra galetului “i”pe direcție verticală este dat de următoarea egalitate:

1.30

în care:

– forța elastică datorată răsucirii barei de torsiune:

1.31

– forța de amortizare redusă la axul galetului:

1.32

R – forța de frecare uscată existentă între piesele suspensiei aflate în mișcare relativă.

Prin modelarea matematică a pătratului raportului de transmitere dintre balansor și amortizorul rotativ, și a caracteristicii de amortizare, relația (4.14) devine:

1.33

unde coeficienții Mj și Ij sunt obținuți în urma modelărilor matematice.

Din analiza relațiilor (4.13) și (4.15) rezultă că, în final, forța totală Qi depinde atât de unghiul cât și de viteza unghiulară a balansorului.

Rezultă în final expresia:

1.34

Relația (4.16) este valabilă pentru toți balansorii din compunerea suspensiei, cu mențiunea că, pentru balansorii care nu acționează amortizoare este respectată condiția:

1.35

În concluzie, modelul dinamic al suspensiei descris de sistemul (3.3), alături de relațiile (3.11) și (3.16), permite determinarea solicitărilor dinamice ale galeților datorate oscilațiilor masei suspendate.

Metoda abordării robotului mobil șenilat ca multicorp (MBS):

În acest capitol se realizează studiul solicitărilor dinamice ale galeților, datorate oscilațiilor masei suspendate a robotului la traversarea unui obstacol, folosind același program de simulare a sistemelor mecanice.

La construirea modelului virtual, deosebit de importante au fost:

caracteristicile de masă – determinate experimental;

dimensiunile de gabarit ale tancului și dimensiunile de montaj ale suspensiei – în conformitate cu documentația tehnică;

caracteristicile elastice ale suspensiilor individuale.

Pentru studiul dinamic construcția modelului virtual trebuie “completată” prin introducerea:

momentului de inerție a masei suspendate față de axa transversală ce trece prin centrul de greutate;

caracteristicii de amortizare a amortizoarelor telescopice;

frecării uscate dintre elementele suspensiilor individuale.

Pentru determinarea momentului de inerție al masei suspendate, literatura de specialitate prezintă o serie de relații empirice, utilizate pentru tehnica de luptă, care iau în calcul masa tancului, precum și dimensiunile de gabarit ale acestuia. În sunt prezentate următoarele relații:

1.36

1.37

1.38

unde:

;

ctile;

L și H – lungimea, respectiv înălțimea carcasei ;

m=1,05…1,15;

.

Metodologia constă în generarea oscilațiilor de tangaj ale masei suspendate în absența amotizoarelor, atât pentru modelul virtual cât și pentru tancul considerat în realitate.

Generarea oscilațiilor de tangaj ale modelului virtual se realizează prin aplicarea pentru scurt timp a unei forțe verticale în partea din față a carcasei (fig.3.18).

Semnalul care trebuie urmărit pe timpul oscilațiilor este accelerația verticală a unui punct aflat în apropierea punctului de echilibru al ansamblului robot mobil cu braț la o sarcină calibrată de 10 [kg].

Valoarea forței verticale aplicate modelului virtual a fost stabilită prin simulări repetate, în concordanță cu următoarele etape de simulare în timp:: așezarea modelului virtual pe calea de rulare și atingerea echilibrului static (0 – 1 s); aplicarea forței verticale(1 – 2 s); reducerea până la anulare a forței verticale (2 – 2,2 s); tangajul masei suspendate (peste 2 s). Rezultatul simulării, ca alură este prezentat în figura 3.19.

Pentru determinarea momentului de inerție, au fost efectuate simulări repetate, cu valori diferite ale momentului de inerție, până când frecvența oscilaților de tangaj a atins valoarea determinată experimental. Pentru o precizie cât mai bună, construirea spectrelor de frecvențe ale semnalului simulat și ale semnalului experimental s-a realizat utilizând aceleași proceduri FFT, cu fereastră Hamming și scalare liniară (fig.4.10). De asemenea, a fost corelată frecvența de rulare a programului de simulare cu frecvența de achiziție a unui presupus lanț de măsurare, astfel încât numărul de valori luate în calcul la construirea spectrelor de frecvențe să fie același.

În cadrul acelorași simulări a fost evaluată și frecarea uscată dintre elementele suspensiilor individuale, prin introducerea unui coeficient de amortizare la nivelul barelor de torsiune.

DESCRIEREA ELEMENTELOR DE COMANDĂ ȘI CONTROL

În Fig. 4-1 este prezentat schematizat, sistemul de comandă și control al unui robot mobil teleoperat. STM32 este responsabil pentru acționarea motoarelor, realizarea feedback-ului de la encoderele incluse în motoarele electrice. Tot el este responsabil de gestionarea informațiilor primite de la GPS și IMU, de schimbul de date cu controler-ul, de comunicarea cu PIC18F4321 și de prelucrare a datelor provenite de la senzorul de sunet. Sistemul utilizează pentru motoare 6 V iar pentru Raspberry Pi2 VCC este de 3V. Conducerea cu ajutorul Raspberry Pi2 se bazează pe informațiile primite de la senzorii încorporați. Senzori de sunet, de mediu, de poziție, infraroșu.

Sistemul este constituit din elemente care satisfac patru procese esențiale.

prima este o rutină de interogare a tuturor senzorilor: sonare, microfon, IMU (unitate de măsurare inerțial), GPS, infraroșu;

a doua rutină se ocupă de preluarea și interpretarea datelor obținute de la senzori. Acest lucru are scopul de a facilita coordonarea și deplasarea vehiculului în spațiu. De asemenea decide pe care traseu să se deplaseze atunci când în calea lui apar obstacole sau alte tipuri de perturbații ale senzorilor sau a oricărui tip de perturbație intră în sistem. Mai mult decât atât are un plan de rezervă (urgență) care aduce mașina într-un punct considerat de inițiere a deplasării sau a acțiunilor pe care le are de executat;

cea de a treia rutină este destinată controlului timpului și este responsabil de odometrie și de păstrarea turației motoarelo la o anumită valoare țintă;

a patra rutină este responsabilă de executarea unor sarcini noi și care sunt inițiate în baza unui protocol de prioritizare a sarcinii respective.

Robotul șenilat este echipat cu motoare de curent continuu. Acestea au rolul de a permite operatorului să poată interveni asupra modului de progresiune în terene.

Efectuarea unui mers rectiliniu constă în aceea că motoarele vor avea o turație identică, iar pentru a lua un viraj presupune ca turațiile motoarelor să fie diferite.

Turația fiecărui motor în parte se obține în urma informațiilor puse la dispoziție de către software-ul care rulează algoritmii privind cinematica și dinamica vehiculului (vezi cap. 3).

O altă instrucțiune pe care o respectă platforma de dezvoltare se referă la apariția unor sarcini dinamice neprevăzute, datorate unei variații a tensiunii de alimentare, a unor obstacole ce nu au fost detectate de operator sau de senzorii cu care este echipat vehiculul. Altfel spus, transportul trebuie să respecte anumite condiții privind fiabilitatea motoarelor. Dacă acestea sunt supraturate există pericolul deteriorării acestora din cauza unei supraînclziri excesive.

Primul pas presupune citirea valorilor de la encodere. Acest lucru se face în mod direct pe magistrala STM32, în cazul în care vom folosi cronometre și vom întrerupe funcționarea (temporară) a motoarelor pentru a determina cele patru frecvențe. Direcția este determinată de driver-ele care acționează asupra motoarelor, acestea fiind responsabile de reglarea tensiunii de alimentare. În Fig. 4-3 este prezentată diagrama bloc a controler-ului în buclă închisă.

PID-ul introdus are rolul de a regla fin turația fiecărei roți în parte, în funcție de modelul analitic privind dinamica și cinematica vehiculului șenilat.

Procesul de reglare este unul metodic și repetabil. Obținerea algoritmului care să permită repetabilitatea funcționării PID-ului s-a obținut în laborator după mai multe iterații succesive privind diversele modri de funcționare.

Procesul are la bază instrucțiunile de bază ale controler-ului PID, pentru care s-au stabilit termenii de integrare și de derivare, în timp ce a fost calculat termenul de proporționalitate KP.

Valoarea optimă determinată pe cale experimentală intervine în reglarea frecvențelor de codificare curente.

În continuare păstrând KP constant vom face același lucru cu termenul integrativ KI și în final cu termenlu derivativ KD.

Pentru un reglaj adecvat, repetabilitatea unor funcții implică ajustarea termenului proporțional KP.

Trebuie reținut faptul că aici reglajul PID-ului s-a efectuat pe un stand, în cazul în care roțile sunt libere să se rotească descărcate de greutatea vehiculului și de frecarea cu solul. Pentru cea mai mare parte, diferența dintre operațiunea descărcată și încărcată nu pare să afecteze sistemul nostru reglaj. Cu toate acestea, roata motrică stânga este vizibil mai lentă atunci când este încărcată.

PID-ul, în baza algoritmului incărcat, a realizat destul de repede reglajul fin pentru a atenua variațiile de turație în funcție de sarcină. Un vehicul cu transmie mecanică efectuează reglajul prin intermediul cutiei de viteze.

Se poate aprecia că răspunsul în buclă deschisăpentru fiecare roată motrică în parte, permite modelarea sistemului în ansamblul său prin pași succesivi și numai în corelare cu informațiile obținute pe cale experimentală.

Alegerea structurii de hardware s-a făcut în intenția de a păstra toate componentele distanțate pentru un design ordonat curat. Layout-ul principal a fost cel de poziționare cât mai convenabil a componentelor mecanice, iar proiectarea s-a efectuat utilizând soft-ul SolidWorks.

PROGRAMAREA CONTROLER-ULUI RASPBERRY

Raspberry PI utilizează în principal sisteme de operare bazate pe kernel tip LINUX. Procesorul ARM 11 folosește sistemul de operare Raspbian. Un alt sistem de operare care poate fi susținut de platforma Raspberry PI este Ubuntu.

Nu în ultimul rând platforma Raspberry este suportată de mediile Windows 10, Core IoT.

Protocolul de cooperare permite utilizarea eficientă a GPU-ului pentru accelerarea funcțiilor grafcie GUI. Raspbian este foaret bun pentru programarea roboților, întrucât permite controlul senzorilor, motoarelor, camerelor IR/EO și transmiterea acestora în sistem wirelless către operator.

Programarea se poate realiza utilizând soft-ul C, C+ și C++.

GPIO (General-purpose input/output) sunt pini de intrare/ieșire, generici, care pot fi utilizați de operator pe timpul rulării programului.

https://play.google.com/store/apps/details?id=nz.org.winters.android.gpiotoolforraspberrypi&hl=en

http://www.instructables.com/id/Raspberry-Pi-Android-App-communication/

SRF04 ULTRA-SONIC SENSOR

Generatorul de sunete emite semnale, astfel:

pulsul de ultrasunete se deplasează cu viteza sunetului 340 [m/s] și variază în funcție de temperatură, umiditate și altitudine:

, 3.1

ieșirea din SRF04 este o durată a impulsului variabilă de la în funcție de distanța față de obiectul detectat;

SRF04 are un emițător și un receptor separate;

pentru roboți este utilizat la evitarea obstacolelor și a măsurătorilor la distanță, auto-focalizare pentru camerele video când senzorii IR nu răspund cerințelor – lumnă ambientală puternică, soare, obiecte negre care nu reflectă deloc lumina;

specificații tehnice:

voltaj: 5 VDC

curent: 30 mA ÷ 50 mA;

frecvență: 40 kHz

sensibilitate:

trigger de intrare: , puls nivel TTL;

Echo Puls: semnal pozitiv nivel TTL cu lățimea proporțională cu intervalul obiectului

funcționare:

utilizatorul trimite un puls de la modulul SRF04;

impulsul de declanșare determină un Ranger cu ultrasunete pentru a trimite 8 impulsuri sonore la 40 kHz;

impulsul de declanșare activează, de asemenea, receptorul ecou care așteaptă un impuls ecou;

dacă este primit un ecou, modulul SRF04 scoate un puls ecou a cărei lățime este proporțională cu distanța până la obiectul detectat.

Senzorul ultrasonic SRF04 permite măsurarea distanțelor fără contact de la 0,03 [m] ÷ 3 [m]. Principiul de funcționare constă în generarea unui câmp de sunet ultrasunete, iar apoi măsoară timpul necesar până când semnalul se întoarce la receptor.

Circuitul folosește un PIC12C508 care îndeplinește funcțiile de control similare traductoarelor pizo standard de 40kHz. Unitatea de transmisie poate fi acționată direct de la PIC. Sursa de 5V poate oferi o gamă utilă pentru obiecte mari, dar poate fi problematică pentre decelarea obiectelor mai mici. Traductorul poate manipula 20V pe unitate. MAX232 IC este folosit pentru comunicare pe portul RS232, utilizând aproximativ 16V pe unitate.

Receptorul este un circuit clasic op-AMP. Condensatorul de intrare este conceput cu blocuri C8 iar pentru partea reziduală a informației un DC. Lățime de bandă pentru LM1458 este 1Mhz. Feedback-ul pozitiv este evidențiat printr-un histerezis.

Pentru utilizarea SRF04 pe robotul de stins incendii, s-a ținut cont de următoarele:

evitarea reflexiilor din materialul podelei, astfel încât poziționarea acestuia se află la zona de demarcație față de capac;

s-a montat un singur sensor în față și unul în spate, dublarea senzorilor pe aceeași direcție de telemetrare conduce la culegerea de informații redundante;

senzorul a fost reglat la o secvență de triggera de pentru a sesiza modificarea de recepție a contactul cu un obstacol;

rezoluția PULSIN depinde de frecvența oscilatorului, deoarece se utilizează un oscillator de 4MHz, durata impulsului este returnat în ;

senzorul s-a montat pe servomotorul de acționare a jeturilor de substanța de stins , pentru a putea realiza o baleiere a terenului;

montarea pe servomotor ajută la map-area terenului și pentru spații mai mici.

Diagrama pe care o realizează SRF04 la un puls scurt de la intrare, va declanșa un ciclu de ultrasunete la 40kHz și care conduce la o creștere liniară. Semnalul reflectat este un impuls al cărui lățime este proporțională cu distanța până la obiect. Dacă nu se detectează nici un obiect, atunci SRF04 va reduce semnalul de răspuns după aproximativ .

La calibrarea senzorului s-a ținut cont de faptul că elementul pizo plasat chiar lângă receptor poate introduce semnale false. Reglarea se face prin condensatorulul C10 alimentat la o tensiune de -6V. Acest lucru ajută la o descărcare destul de rapidă prin rezistorul R6 pentru a restabili sensibilitatea unui răspuns la obiecte mai îndepărtate.

Instrucțiunea de programare a SRF04

#define ECHOPIN 2 // Pin impuls echo

#define TRIGPIN 3 // Pin impuls trigger

void setup(){

Serial.begin(9600);

pinMode(ECHOPIN, INPUT);

pinMode(TRIGPIN, OUTPUT);

}

void loop(){

digitalWrite(TRIGPIN, LOW); // Seteaza pin la 0 pt. 2uS

delayMicroseconds(2);

digitalWrite(TRIGPIN, HIGH); // Impuls 10uS

delayMicroseconds(10);

digitalWrite(TRIGPIN, LOW); // Seteaza pin la 0

int distance = pulseIn(ECHOPIN, HIGH); // Nr. de pulsuri

distance= distance/58; // calcleaza disanta

Serial.println(distance);

delay(50); // Asteapta 50mS inainte de urmataorea masurare

}

SENZOR DE DISTANȚĂ SHARP GP2Y0A02YK0F

Senzorul GP2Y0A02YK0F măsoară distanța și este realizat din: un circuit integrat PSD (senzor de poziție), un IRED (diodă cu emisie în infraroșu) și circuitul de procesare a semnalului.

Varietatea de reflexie a obiectelor, temperatura mediului și durata de funcționare nu sunt influențate de distanța la care se dorește măsurarea din cauza adoptării metodei triangulație. Acest dispozitiv emite tensiunea corespunzătoare pentru distanța de detectare. Acest senzor poate fi utilizat și ca un senzor de proximitate.

Caracteristici:

domeniu de măsurare: 20 ÷ 150 cm;

tipul de ieșire analogicĂ;

consumul de curent: 33 mA;

tensiunea de alimentare: 4,5 ÷ 5,5 V.

Instrucțiunea program pentru Sharp GP2Y0A02YK0F

void setup() {

Serial.begin(9600);

}

void loop() {

int valsenzor = readDistanceMediata(10, 0);

Serial.print("Valoare senzor:");

Serial.println(valsenzor);

delay(100);

}

int readDistanceMediata(int n, int pin) {

int s = 0;

for (int i = 0; i<n; i++) {

float volts = analogRead(pin) * ((float) 5 / 1024);

float distance = 65 * pow(volts, -1.10);

s = s + distance;

delay(5);

}

return (int) (s/n);

}

SENZOR PROXIMITATE VCNL400

Pentru determinarea obiectelor în imediata apropiere s-a integrat în structura de senzori a robotului senzorul de proximitate VCNL400. VCNL4000 este un senzor de proximitate, cu un senzor de integrat de lumină ambientală. Este un senzor optic industrial care combină efectul unui emițător infraroșu, a unei fotodiode PIN și de prelucrare a semnalului într-un singur pachet cu un ADC pe 16 biți pentru măsurarea distanței de proximitate, precum și de măsurare a intensității luminii ambientale. Cu o gamă de măsurare de până la 20 cm, acest stand-alone, simplifică foarte mult utilizarea în aplicații.

VCNL4000 prin interfața serială digitală I2C, permite accesul facil la o "Semnale de proximitate" și "Intensitate luminoasă" măsurări standar fără calcule complexe sau de programare.

Emițătorul infraroșu integrat are o lungime de undă de vârf de 890 nm. Lumina infraroșie emisă este modulată într-una din următoarele frecvențe purtătoare: 390.625 kHz, 781.25 kHz, MHz 1.5625, sau 3,125 MHz.

Fotodioda PIN primește lumina care este reflectată de pe obiect și îl convertește în curent. Este insensibilă la lumina ambientală. Aceasta ignoră componenta continuă a luminii și "caută" lumina pulsatorie la unul dintre cele patru frecvențe folosite de emițător. Folosește un semnal modulat de proximitate.

Senzorul de lumină ambientală Vishay lucrează în domeniul lungimii de undă percepută de ochiul uman: de la 400 nm la 700 nm cu un maxim de 560 nm

se potrivește îndeaproape această gamă de sensibilitate.

Pentru proximitate, se transformă curentul de la fotodiodă PIN la o valoare de ieșire de date digitale de 16-biți.

Pentru senzor de lumină ambientală, se transformă curentul de la detectorul de lumină ambientală, amplifică și îl convertește la un curent de ieșire digitală pe 16 biți.

Din punct de vedere funcțional VCNL4000 este un senzor complet integrat de lumină ambientală și de proximitate și așa cum s-a mai precizat nu necesită pentru decelarea informației de algoritmi pentru calcule geometrice complexe necesare determinării poziției obiectelor față de emițător. De asemenea nu necesită, o barieră mecanică între emițător și detectoarele pentru a elimina diafonia; care apare ca urmare a reflectării luminii de pe interiorul capacului tip fereastră care poate produce măsurări de proximitate false.

Procesorul de semnal compensează continuu pentru lumina reflectată de ferestre care să asigure o citire adecvată. Ca un senzor integrat, procesul de proiectare este mult simplificată. Singurele dimensiuni de care s-a avut grijă să fie îndeplinite au luat în considerare distanța de la suprafața superioară a senzorului pe fața exterioară a ferestrei și dimensiunea ferestrei, întrucât ne interesează să putem determina dimensiunea zonei de detecție.

Unghiul pe care îl acoperă fotodioda PIN este așa cum se observă în următoarele figuri.

VCNL4000 are o funcție de compensare pentru reglarea eventualelor problema datorate: suprafețelor murdare, zgâriate sau a unor materiale plastice al căror indice de reflexie este apropiat de obiectele lucioase sau mate.

Instrucțiunea program pentru Vishay VCNL400

#include <Wire.h>

#define VCNL4000_ADDRESS 0x13

void setup(){

Serial.begin(9600); // serial utilizat pt imprimare date

Wire.begin(); // initializare

initVCNL4000(); //initilizare

}

void loop(){

unsigned int ambientValue = readAmbient();

unsigned int proximityValue = readProximity();

Serial.print(ambientValue);

Serial.print(" | ");

Serial.println(proximityValue);

delay(100); //intarzie imprimarea

}

void initVCNL4000(){

byte temp = readVCNLByte(0x81);

if (temp != 0x11){

Serial.print("initVCNL4000 failed to initialize");

Serial.println(temp, HEX);

}else{

Serial.println("VNCL4000 Online…");

}

/*VNCL400 parametrii*/

writeVCNLByte(0x84, 0x0F); // Configureaza măsurarea luminii ambientale

writeVCNLByte(0x83, 15); // seteaza current IR in pasi de 10mA 0-200mA –> 200mA

writeVCNLByte(0x89, 2); // frecvență de semnal de test de proximitate IR, 0-3 – 781.25 kHz

writeVCNLByte(0x8A, 0x81); // sincronizare modulator de proximitate

}

unsigned int readProximity(){

// intoarce o valuare pe 16-bit din registrii de date de proximitate VCNL4000

byte temp = readVCNLByte(0x80);

writeVCNLByte(0x80, temp | 0x08); // comanda senzorul sa masoare proximitatea

while(!(readVCNLByte(0x80)&0x20)); // asteapta ca bitul pt datele de proximitate sa fie setat

unsigned int data = readVCNLByte(0x87) << 8;

data |= readVCNLByte(0x88);

return data;

}

unsigned int readAmbient(){

// intoarce o valuare pe 16-bit din registrii de lumina ambientala ai VCNL4000

byte temp = readVCNLByte(0x80);

writeVCNLByte(0x80, temp | 0x10); // comanda senzorul sa masoare lumina ambientala

while(!(readVCNLByte(0x80)&0x40)); // asteapta ca bitul pt datele de proximitate sa fie setat

unsigned int data = readVCNLByte(0x85) << 8;

data |= readVCNLByte(0x86);

return data;

}

void writeVCNLByte(byte address, byte data){

// scie un singur bit la adresa

Wire.beginTransmission(VCNL4000_ADDRESS);

Wire.write(address);

Wire.write(data);

Wire.endTransmission();

}

byte readVCNLByte(byte address){

// scie un singur bit de la adresa

Wire.beginTransmission(VCNL4000_ADDRESS);

Wire.write(address);

Wire.endTransmission();

Wire.requestFrom(VCNL4000_ADDRESS, 1);

while(!Wire.available());

byte data = Wire.read();

return data;

}

ACCELEROMETRU 3 AXE ADXL377

ADXL377 este un sistem complet de măsurare accelerare cu 3 axe cu o gamă tipic de măsurare de ± 200 g. ADXL377 conține polisiliciu, microprelucrate pe suprafața senzorului și astfel semnalul obținut determină o arhitectură de măsurare accelerată pe o buclă deschisă. Semnalele de ieșire sunt tensiuni analogice, care sunt proporționale cu accelerațiile. Accelerometrul poate decela accelerațiile statice cât și cele în regim dinamic rezultă din mișcare, șoc, sau vibrații. Este un senzor cu acționare mecanică. ADXL377 folosește o structură unică pentru detectarea accelerațiilor pe axel X, Y și Z. Ca rezultat, cele trei direcții de sunt identificate în sistemul triortogonal și au implementat sistemul de sensibilitate încrucișată. Nealinierea mecanică a matriței senzorului pentru pachetul sau nealinierea pachetului pentru PCB este principala sursă de sensibilitate axială. Nealinierea mecanică poate fi calibrată la nivel de sistem.

Performanțele senzorului este protejat de circuite suplimentare de compensare a temperaturii, ADXL377 folosește tehnici inovatoare de design pentru a se asigura măsurători de înaltă performanță. Prin urmare, nu există nici o eroare de cuantificare și nici comportament nemonoton, iar histerezisul de temperatură este foarte scăzut.

Aplicațiile pentru sursa de alimentare se bazează pe un singur condensator de 0,1 pF, CDC, plasat aproape de pinii de alimentare ADXL377, care protejează în mod adecvat accelerometrul de zgomotele datorate sursei de alimentare. Cu toate acestea, în aplicații unde zgomotul este prezent și ca urmare a frecvenței de ceas intern de 50 kHz (sau orice armonică al acestuia). S-a luat această măsură deoarece alimentarea cu energie poate genera zgomote ce pot cauza erori de măsurare a accelerației.

În cazul în care este nevoie de o decuplare suplimentară, se apelează la introducerea în circuit a unui rezistor de 100 Ω (sau mai mici) sau a barelor de ferită pe firul de alimentare. În plus, un condensator de 1 pF (sau mai mare) pentru realizarea unui by-pass, poate fi adăugat în paralel cu CDC. De asemenea impedanța este scăzută deoarece zgomotele transmise prin sol au un efect similar cu zgomotel transmis prin curent.

Setarea lățimii de bandă CX, CY, CZ a ADXL377 are prevederi pentru limitarea pinilor Xout, Yout, și Zout. Un condensator trebuie adăugat la fiecare dintre acești pini pentru punerea în aplicare low-pass de filtrare pentru antialiasing și reducerea zgomotului. Ecuația de lățime de bandă -3 dB este:

, 3.2

Zgomotul ADXL377 are caracteristicile de zgomot Gaussian alb, care contribuie în mod egal la toate frecvențele și este descris în termeni de pg / √Hz (zgomotul este proporțional cu rădăcina pătrată a lățimii de bandă a accelerometrului). Limita de lățime de bandă pentru cea mai joasă frecvență cerute de aplicarea pentru a maximiza rezoluția și intervalul dinamic al accelerometrului.

Cu caracteristica roll-off cu un singur pol, zgomotul tipic de ADXL377 este determinat de:

, 3.3

Este adesea util să se cunoască valoarea de vârf a zgomotului. Zgomotul vârf-la-vârf poate fi estimat doar prin metode statistice.

Estimarea zgomotului vârf la vârf

Instrucțiunea program pentru ADXL377

int scale = 3;

boolean micro_is_5V = true;

void setup()

{

// initializare comunicare seriala

Serial.begin(115200);

}

void loop()

{

// citire date acelerometru pt toate axele

int rawX = analogRead(A0);

int rawY = analogRead(A1);

int rawZ = analogRead(A2);

float scaledX, scaledY, scaledZ; // Scaled values for each axis

if (micro_is_5V)

{

scaledX = mapf(rawX, 0, 675, -scale, scale); // 3.3/5 * 1023 =~ 675

}

else

{

scaledX = mapf(rawX, 0, 1023, -scale, scale);

}

// imprima date accelerometru brute X,Y,Z

Serial.print("X: "); Serial.println(rawX);

// imprima date accelerometru la scara X,Y,Z

Serial.print("X: "); Serial.print(scaledX); Serial.println(" g");

delay(2000);

GIROSCOP 3 AXE L3G4200D

L3G4200D este un giroscop cu trei axe cu senzori de viteză unghiulară.

Acesta include un element sensibil și o interfață IC care poate oferi rata unghiulară măsurată printr-o interfață digitală (I2C / SPI). Elementul de detectare este format din senzori inerțiali și actuatori pe plachete de siliciu.

Interfața IC este un CMOS care permite un nivel ridicat de integrare. Are o scală completă de ± 250 / ± 500 / ± 2000 DPS și este capabil de rate de măsurare cu o lățime de bandă selectabil de utilizator.

L3G4200D funcționa într-un interval de temperatură de la -40 °C până la +85 °C.

Sensibilitatea giroscopului este dată de o rată unghiulară care produce o ieșire digitală pozitivă pentru o rotație în sens invers acelor de ceasornic în jurul axei sensibile considerate. Sensibilitate descrie câștigul senzorului și poate fi determinată prin aplicarea unei viteza unghiulare definite la acesta. Această valoare se schimbă foarte puțin în funcție de temperatură și timp.

Nivel zero-rata

Nivel zero rata descrie semnalul de ieșire real în cazul în care nu există o rată unghiulară prezentă. Nivelul zero al senzorilor MEMS precise este, într-o anumită măsură, o urmare a stresului la senzor și, prin urmare, nivelul de zero poate schimba ușor după montarea senzorului pe o placă de circuit imprimat sau după expunerea la mecanic extinse stres. Această valoare se schimbă foarte puțin cu temperatura și timpul.

Auto-test

Auto-testul permite testarea părții mecanice și electrice a senzorului, permițând masa seismică să fie deplasată cu ajutorul unui test-forță electrostatică. Când auto-testul este activat de IC, o forță de acționare este aplicată senzorului, similară unei forțe Coriolis.

În acest caz, senzorul prezintă o schimbare de ieșire.

Când ST (auto-test) este activ, nivelul de ieșire al dispozitivului este dat de suma algebrică a semnalelor produse cu care acționează viteza pe senzor și de testare a forței electrostatice.

FIFO L3G4200D încorporează un 32-slot de 16-bit FIFO de date pentru fiecare dintre cele trei canale de ieșire: girație, tangaj și ruliu.

Acest lucru permite salvarea datelor fără ca procesorul să fie influențat de afluența de date de șa senzor. În schimb, se poate activa doar atunci cand este nevoie și prelucra datele semnificative din FIFO.

Acest tampon poate lucra în cinci moduri diferite. Fiecare mod este selectat de biți FIFO_MODE din FIFO_CTRL_REG.

Evenimente se pot programa FIFO_empty sau FIFO_Full și poate să fie activat pentru a genera întreruperi dedicate de pe / INT2 PIN-DRDY (configurat prin CTRL_REG3), precum și informații de detectare a evenimentelor disponibile în FIFO_SRC_REG.

Nivelul de programare poate fi configurat pentru a WTM4: 0 în FIFO_CTRL_REG.

Mod de ocolire

În modul de by-pass, FIFO nu este operațional și din acest motiv ea rămâne gol. Când noi date sunt disponibile, datele vechi sunt suprascrise.

Instrucțiunea program pentru MEMS L3G4200D

*/

#include <SPI.h>

#include "L3G4200D.h"

// pin definitions

const int int2pin = 6;

const int int1pin = 7;

const int chipSelect = 10;

int x, y, z;

void setup()

{

Serial.begin(9600);

Serial.println("L3G4200D Basic Example\r\n");

SPI.begin();

SPI.setDataMode(SPI_MODE3);

SPI.setClockDivider(SPI_CLOCK_DIV8);

pinMode(int1pin, INPUT);

pinMode(int2pin, INPUT);

pinMode(chipSelect, OUTPUT);

digitalWrite(chipSelect, HIGH);

delay(100);

setupL3G4200D(2); // configurare selectabila L3G4200

// 0: 250 dps

// 1: 500 dps

// 2: 2000 dps

//Serial.println("int L3G4200D()\r\n");

//int L3G4200D(); //Test and intialize the l3g4200

// Serial.println("PASS int L3G4200D()\r\n");

}

void loop()

{

// nu citeste valorile senzorului pana nu sunt pregatite

while(!digitalRead(int2pin))

;

getGyroValues(); // actualizeaza x, y, si z cu valori noi

Serial.print(x, DEC);

Serial.print("\t");

Serial.print(y, DEC);

Serial.print("\t");

Serial.print(z, DEC);

Serial.print("\t");

Serial.println();

//delay(100); //se introduce pt a putea citi

}

int readRegister(byte address)

{

int toRead;

address |= 0x80; // adresa de citire ;

digitalWrite(chipSelect, LOW);

SPI.transfer(address);

toRead = SPI.transfer(0x00);

digitalWrite(chipSelect, HIGH);

return toRead;

}

void writeRegister(byte address, byte data)

{

address &= 0x7F; // adresa de scriere

digitalWrite(chipSelect, LOW);

SPI.transfer(address);

SPI.transfer(data);

digitalWrite(chipSelect, HIGH);

}

int setupL3G4200D(byte fullScale)

{

// se verifica counicarea corecta

if(readRegister(WHO_AM_I)!=0xD3)

return -1;

writeRegister(CTRL_REG1, 0b00001111);

writeRegister(CTRL_REG2, 0b00000000);

writeRegister(CTRL_REG3, 0b00001000);

writeRegister(CTRL_REG4, fullScale<<4);

writeRegister(CTRL_REG5, 0b00000000);

}

void getGyroValues()

{

x = (readRegister(0x29)&0xFF)<<8;

x |= (readRegister(0x28)&0xFF);

y = (readRegister(0x2B)&0xFF)<<8;

y |= (readRegister(0x2A)&0xFF);

z = (readRegister(0x2D)&0xFF)<<8;

z |= (readRegister(0x2C)&0xFF);

}

Concluzii

În urma abordării teoretice a principiilor de stabilitate a propulsorului, prin două metode (analitică și MBS), au rezultat următoarele concluzii:

1. Studiul staticii suspensiei se constituie ca o primă etapă, strict necesară, pentru studierea solicitărilor dinamice din elementele sistemului de rulare (suspensie, propulsie).

2. Metoda analitică permite studierea staticii suspensiei având ca rezultat determinarea următoarelor mărimi: unghiurile statice ale balansorilor, săgețile statice ale suspensiilor individuale și sarcinile statice pe galeți. Se pot stabili deasemenea relațiile de calcul ale constantei elastice a barei de torsiune, constantă importantă în construcția modelului virtual.

3. Prin utilizarea programelor de simulare care consideră sistemul multicorp este posibilă luarea în considerație a caracteristicilor neliniare ale elementelor suspensiei; de asemenea, la determinarea sarcinilor statice pe galeți, modelul virtual ține cont și de poziția centrului de greutate în plan transversal (metoda analitică nu ține cont de deplasarea transversală a centrului de greutate față de axa longitudinală a tancului).

4. Modelul virtual realizat permite adoptarea rațională a unghiurilor de montaj inițial al balansorilor astfel încât să se realizeze valorile impuse pentru asietă (unghiul format de “planul 0” cu orizontala) și pentru garda la sol.

5. Pentru un robot existent, de configurație constructivă similară cu cea prezentată, căruia i se cunoaște suspensia (caracteristici elastice și unghiuri de montaj), utilizând programul de simulare, se poate determina poziția centrului de greutate, prin “suprapunerea” poziției “planului 0” al modelului virtual cu cel real, precizia calculelor va putea fi determinată abia după realizarea cercetării experimentale.

Studiul solicitărilor dinamice ale galeților datorate oscilațiilor masei suspendate, ca și studiul solicitărilor statice, s-a realizat prin aceleași două metode: metoda analitică și metoda abordării întregului ca multicorp (MBS). În urma cercetărilor teoretice se desprind următoarele concluzii mai importante:

1. Aplicarea metodei analitice este condiționată de introducerea unor ipoteze simplificatoare care reduc fidelitatea descrierii realității. Astfel, nu sunt luate în considerare oscilațiile de ruliu ale masei suspendate, reducând studiul la o problemă de mecanică în plan. Un alt neajuns al metodei este rularea greoaie a modelului pentru diferite microprofile ale terenului.

2. Utilizarea unui program de simulare performant permite luarea în considerație a neliniarității caracteristicilor elastice și de amortizare, precum și a frecării uscate dintre elementele suspensiilor individuale, oferind un grad înalt de precizie. Modelul virtual, fiind construit în spațiu, va fi supus celor trei tipuri de oscilații: tangaj, săltare și ruliu. Oscilațiile de ruliu ale masei suspendate se datorează perturbațiilor exterioare, dar și faptului că suspensia este asimetrică. Deplasarea transversală a centrului de greutate față de axa longitudinală este și ea de natură să influențeze oscilațiile de ruliu.

3. Programul de simulare permite determinarea parametrilor cinematici (deplasări, viteze, accelerații) și a parametrilor dinamici (forțe, momente) ce acționează asupra galeților pentru diferite situații funcționale ale robotului mobil cu șenilă. De asemenea, acești parametrii pot fi calculați în orice alt punct predefinit al modelului virtual.

4. Cu ajutorul modulului PostProcessor al programului de simulare se pot construi spectrele de frecvențe ale parametrilor studiați pentru punerea în evidență a “zonelor periculoase” generate de apariția fenomenelor de rezonanță.

Posibilitatea comparării spectrelor de frecvență ale semnalelor simulate cu spectrele semnalelor experimentale a fost de un real folos la validarea modelului virtual. Pentru un anumit profil al pistei de rulare, se pot determina vitezele de deplasare ale vehiculului la care apare rezonanța. Este posibilă, deasemenea, optimizarea caracteristicilor suspensiei astfel încât să se evite deteriorarea elementelor suspensiei și propulsiei la deplasarea autovehiculului cu viteze frecvent folosite.

Realizarea modelului virtual al platformei robotului și utilizarea acestui model pentru simulare a condus la următoarele concluzii:

Predimensionarea elementelor geometrice importante ale propulsorului a demonstrat viabilitatea acestei soluții pentru caracteristicile de mobilitate ale platformei șenilate în condiții dificile de teren.

Calculele de tracțiune și predimensionarea motorului electric și a reductoarelor au permis identificarea unor soluții existente pe piața specializată de componente pentru motoare, sisteme de control electronic și reductoare a unor soluții care să conducă la atingerea obiectivelor de performanță ale robotului în condiții de preț de cost scăzut.

Este posibilă realizarea unui model dinamic flexibil și adaptabil care să permită descrierea funcțională a platformei mobile în situații diferite de utilizare.

Modelul geometric al platformei robotului permite o poziționare corespunzătoare și optimizată a componentelor, studierea interferențelor geometrice și eliminarea acestora, determinarea poziției centrului de masă al platformei și al robotului în ansamblu, precum și studiul cinematicii generale a robotului.

Modelul virtual al propulsorului permite studiul prin simulare al dinamicii roților evidențiindu-se fenomenele tranzitorii și cu caracter de șoc.

Modelul realizat pe baza unor caracteristici funcționale estimate a permis identificarea metodelor de gestionare a nivelului acestora și de realizare a adaptabilității performanțelor robotului cu cerințele diversificate ale potențialilor utilizatori.

Comparând valorile obținute prin simulare cu cele considerate ca fiind normale a rezultat un grad ridicat de validitate a modelului funcțional realizat. Creșterea gradului de validitate a modelului funcțional se va realiza prin ajustarea unor valori de intrare cu ajutorul datelor care se vor determina fizic prin testarea demonstratorului tehnologic, în etapele ulterioare ale proiectului.

Realizarea simulărilor a permis identificarea unei palete de mărimi care să fie determinate experimental și care să permită validarea modelului virtual.

Simulările repetate au permis estimarea gradului de sensibilitate a unor parametri funcționali dependenți de soluțiile constructive adoptate. Acest aspect va conduce în etapele următoare la adoptarea optimizată a modificărilor constructive impuse de adaptarea la cerințe diversificate ale utilizatorilor.

Bibliografie

Anexe

Figuri

Fig. I-1 Controler RASPBERRY PI [41] 3

Fig. I-2 Diagrama bloc pentru versiunile A, B, A+ și B+ [1] 4

Fig. I-3 Modul de operare pentru versiunile A, B, A+ și B+ [42] 5

Fig. I-4 GPIO a unei platforme de dezvoltare Raspberry [1] 5

Fig. I-5 Distribuția pinilor de intrare/ieșire [3] 6

Fig. I-6 Semnificația pinilor de intrare/ieșire [2] 8

Fig. I-7 Diagrama adreselor și magistrala de date aferentă [3] 9

Fig. I-8 Robot cu 2 șenilele cu configurație variabilă, adaptabilă situației de deplasare 10

Fig. I-9 Roboți cu 4 șenile 10

 cu două șenile unitare având planele de simetrie fixe (Fig. I-8 ) și cu configurație variabilă (cu planele de simetrie posibil de configurat conform necesităților de deplasare), așa cum se prezintă în configurațiile b…f; 10

 cu patru șenile, acționând două câte două (Fig. I-9 ), sau acționând două câte două și având o axă unică pentru una dintre roți, această soluție îmbunătățind capacitatea de abordare a obstacolelor pentru roboții de mici dimensiuni. 10

Fig. I-12 Robotul Telerob – teodor 11

Fig. I-13 Varianta 1 de dispunere a roților propulsorului șenilat [54] 11

Fig. I-14 Varianta 2 de dispunere a roților mortice și de întindere [54] 12

Fig. I-15 Varianta 3 clasică: roată motrică, de întindere și de sprijin [54] 12

Fig. I-16 Robot șenilat MDARS [5] 13

Fig. I-17 Robotul de cercetare FIRRE UGV 13

Fig. I-18 Exemple de teren pentru deplasarea roboților mobili [41] 14

Fig. I-19 Robotul TALON [14] 15

Fig. I-20 Sisteme avansate de comandă și control a roboților autonomi [16] 15

Fig. I-21 Exemple de roboți mobili prevăzuți cu brațe manipulator 16

Fig. I-22 Elemente componente ale roboților mobili cu destinație specială 17

Fig. I-23 Prezentare generală a stadiului actual funcție de dimensiuni și sarcini 18

Fig. 1-1 Schema suspensiei individuale cu bară de torsiune 19

Fig. 1-2 Schema pozițiilor balansorului 20

Fig. 1-3 Etapele realizării prototipului 24

Fig. 1-4 Etapele realizării prototipului virtual 25

Fig. 1-5 Propulsia cu 6 galeți a robotului 26

Fig. 1-6 Modelul virtual al robotului 26

Fig. 1-7 Suspensiile individuale ale modelului virtual (galet 1 dreapta și stânga) 27

Fig. 1-8 Suspensia modelului virtual 27

Fig. 1-9 Caracteristica elastică a amortizorului 28

Fig. 1-10 Sarcinile pe galeți (dreapta) la așezarea tancului pe calea de rulare 28

Fig. I-11 Schema suspensiei 29

Fig. 1-12 Perturbația tip treaptă unitară 30

Fig. 1-13 Perturbația tip secțiune pătrată 31

Fig. 1-14 Perturbația tip impuls 31

Fig. 1-15 Forțele care acționează asupra masei suspendate 34

Fig. 1-16 Simularea oscilațiilor libere neamortizate 36

Fig. 1-17 Schema suspensiei individuale 36

Fig. 1-18 Aplicarea forței verticale 39

Fig. 1-19 Accelerația verticală a punctului considerat pe modelul virtual 40

Fig. 1-20 Spectrul de frecvențe al accelerației – model virtual 40

Fig. 2-1 Sistemul 41

Fig. 2-2 Software-ul 42

Fig. 2-3 Diagrama bloc simplă în buclă închisă 43

Fig. 2-4 PID-ul și modul de reglare al turației motoarelor 44

Fig. 2-5 Modelul 3D al robotului șenilat 44

Fig. 2-6 Motor de current continuu cu encoder încorporat 45

Fig. 3-1 Codul culorilor pentru pinii de conectare [47] 46

Fig. 3-2 Modul de conectare în platformele Raspberry Pi [47] 47

Fig. 3-3 Modul de prezentare a datelor de la senzorii de temperatură [47] 47

Fig. 3-4 Instrucțiuni de comunicare Raspberry Pi2 pentru sisteme Android [48] 48

Fig. 3-5 Linii de comandă pentru conectarea cu plăcile Arduino [48] 49

Fig. 3-6 Schema funcțională a senzorului ultrasonic SRF04 51

Fig. 3-7 Senzor ultrasonic SRF04 51

Fig. 3-8 Reprezentarea grafică a impulsurilor senzorului ultrasonic SRF04 51

Fig. 3-9 Schema bloc a senzorului ultrasonic SRF04 [49] 52

Fig. 3-10 Schema conexiunilor senzorului ultrasonic SRF04 [49] 52

Fig. 3-11 Diagrama de detecție [49] 53

Fig. 3-12 Senzor de distanță Sharp GP2Y0A02YK0F 54

Fig. 3-13 Carateristicle de măsurare ale senzorului de distanță Sharp GP2Y0A02YK0F [23] 55

Fig. 3-14 Senzor de proximitate Vishay VCNL4000 [51] 56

Fig. 3-15 Senzor de proximitate Vishay VCNL400 – schema funcțională [51] 56

Fig. 3-16 Senzor de proximitate Vishay VCNL400 – elemente componente [51] 57

Fig. 3-17 Acoperirea unghiulară la jumătate din intensitatea emițătorului [51] 57

Fig. 3-18 Acoperirea unghiulară a nivelului de senzitivitate a fotodiodei [51] 57

Fig. 3-19 Modul de acțiune al emițătorului pentru unghi și distanță [51] 57

Fig. 3-20 Modul de acțiune al emițătorului pentru unghi și distanță [51] 58

Fig. 3-21 Schema logică privind determinarea proximității 58

Fig. 3-22 Accelerometru 3 axe Analog Devices ADXL377 [24] 60

Fig. 3-23 Axele de accelerare sunt în lungul Axei Sensitive) [24] 62

Fig. 3-24 Răspunsul la ieșire vs. orientarea gravitațională [24] 62

Fig. 3-25 Recomandări pentru lipirea pinilor [24] 62

Fig. 3-26 Giroscop 3 axe MEMS L3G4200D [53] 63

Fig. 3-27 Giroscop 3 axe MEMS L3G4200D schema bloc și descrierea [53] 64

Fig. 3-28 Giroscop 3 axe MEMS L3G4200D conectarea pinilor [53] 65

Similar Posts