APLICAȚ IE PENȚRU PERSOANELE CU DIZABILIȚA Ț I LOCOMOȚORII LUCRARE DE DIPLOMĂ Autor: Nicole MILEA Conducător științific: Prof.dr.ing. Honoriu VĂLEAN… [624130]
FACULTAT EA DE AUTOMATICĂ ȘI CALCULATOARE
2017
APLICAȚ IE PENȚRU PERSOANELE CU
DIZABILIȚA Ț I LOCOMOȚORII
LUCRARE DE DIPLOMĂ
Autor: Nicole MILEA
Conducător științific: Prof.dr.ing. Honoriu VĂLEAN
FACULTATEA DE AUTOMATICĂ ȘI CALCULATOARE
DECAN
Prof.dr.ing. Liviu MICLEA Vizat,
DIRECȚOR DEPARȚAMENȚ AUȚOMAȚICĂ
Prof.dr.ing. Honoriu VĂLEAN
Autor: Nicole MILEA
Aplicație pentru persoanele cu dizabilități locomotorii
1. Enunțul temei: Realizarea unei aplicații mobile pentru detectarea căderilor.
2. Conținutul proiectului: Pagina de prezentare, Declarație privind autenticitatea
proiectu lui, Sinteza proiectului, Cuprins, Introducere , Studiu bibliografic , Analiză și
proiectare , Implementarea , Concluzii, Bibliografie .
3. Locul documentației : Universitatea Tehnică din Cluj -Napoca
4. Data emiterii temei: noiembrie 2016
5. Data predării: 11 iulie
Semnătura autorului
Semnătura conducătorului științific
FACULTATEA DE AUTOMATICĂ ȘI CALCULATOARE
FACULTATEA DE AUTOMATICĂ ȘI CALCULATOARE
Declarație pe proprie răspundere privind
autenticitatea lucrării de diplomă
Subsemnatul(a) Nicole MILEA ,
legitimat(ă) cu CI/BI seria SM nr. 456464 , CNP [anonimizat] ,
autorul lucrării:
Aplicație pentru persoanele cu dizabilități locomotorii
elaborată în vederea susținerii examenului de finalizare a studiilor de licență
la Facultatea de Automatică și Calculatoare ,
specializarea Automatică și I nformatică Aplicată ,
din cadrul Universității Țehnice din Cluj -Napoca,
sesiunea Iulie 2017 a anului universitar 2016 -2017 ,
declar pe proprie răspundere, că această lucrare este rezultatul propriei activități
intelectuale, pe baza cercetărilor mele ș i pe baza informațiilor obținute din surse care au
fost citate, în textul lucrării, și în bibliografie.
Declar, că această lucrare nu conține porțiuni plagiate, iar sursele bibliografice au
fost folosite cu respectarea legislației române și a convențiilor internaționale privind
drepturile de autor.
Declar, de asemenea, că această lucrare nu a mai fost prezentată în fața unei alte
comisii de examen de licență.
In cazul constatării ulterioare a unor declarații false, voi suporta sancțiunile
administrative, re spectiv, anularea examenului de licență .
Data Nicole MILEA
11.07.2017
(semnătura)
FACULTATEA DE AUTOMATICĂ ȘI CALCULATOARE
SINTEZA
lucrării de diplomă cu titlul:
Aplicație pentru pe rsoanele cu dizabilități locomotorii
Autor: Nicole MILEA
Conducător știi nțific: Prof.dr.ing. Honoriu VĂLEAN
1. Cerințele temei: Găsirea soluțiilor optice pentru detectarea căderilor
2. Soluții alese: Realizarea unei aplicații mobile, prin uti lizarea accelerometrului
acestui a
3. Rezultate obținute: Stabilirea pragurilor acc elerometrului care confirmă că a avut
loc o cădere
4. Țestări și verificări: Țestat de mine și mai mulți apropiați, prin mimarea mai
multor tipuri de căderi
5. Contribuții personale: Realizarea aplicației ,analiza și implementarea
algoritmului de detectar e a căderii
6. Surse de documentare: Articole științifice, diverse cărți și lucrări ști ințifice
Semnătura autorului
Semnătura conducătorului științific
Cuprins
1 Introducere ………………………….. ………………………….. ………………………….. ………………………….. …………….. 2
1.1 Obiective ………………………….. ………………………….. ………………………….. ………………………….. …..2
1.2 Specificații ………………………….. ………………………….. ………………………….. ………………………….. ..2
1.3 Context General ………………………….. ………………………….. ………………………….. …………………….. 2
2 Studiu bibliografic ………………………….. ………………………….. ………………………….. ………………………….. …. 4
2.1 Principii și metode de detectare a căderilor. ………………………….. ………………………….. ……….. 5
2.2 Evaluarea senzorilor de detecție ………………………….. ………………………….. ………………………… 6
2.2.1 Calitatea senzorială ………………………….. ………………………….. ………………………….. …………. 6
2.2.2 Datele experimentale ………………………….. ………………………….. ………………………….. ………. 7
3 Analiză și proiectare ………………………….. ………………………….. ………………………….. ………………………….. 8
3.1 Dispozitivul de detectare ………………………….. ………………………….. ………………………….. ………. 8
3.1.1 Detalii tehnice ………………………….. ………………………….. ………………………….. …………………. 8
3.2 Accelerometrul ………………………….. ………………………….. ………………………….. ……………………… 9
3.2.1 Principii fizice ………………………….. ………………………….. ………………………….. …………………. 9
3.2.2 Principii de funcționare a senzorului ………………………….. ………………………….. …………. 10
3.2.3 Structura ………………………….. ………………………….. ………………………….. ……………………… 11
3.2.4 Aplicații ………………………….. ………………………….. ………………………….. ……………………….. 12
3.2.5 Tipuri de accelerometre ………………………….. ………………………….. ………………………….. .. 17
3.3 GPS – Global Positioning System ………………………….. ………………………….. ……………………… 17
3.3.1 Fundamentele de bază a GPS -ului ………………………….. ………………………….. ………………. 19
3.3.2 Structură ………………………….. ………………………….. ………………………….. ……………………… 19
3.3.3 Calculul poziției ………………………….. ………………………….. ………………………….. ……………. 20
3.3.4 Aplicații ale GPS -ului ………………………….. ………………………….. ………………………….. …….. 22
3.4 Tehnologii utilizate ………………………….. ………………………….. ………………………….. …………….. 22
3.4.1 Platforma .NET ………………………….. ………………………….. ………………………….. …………….. 22
3.4.2 Limbajul de programare C# ………………………….. ………………………….. ………………………. 24
3.4.3 Structura unui program C# ………………………….. ………………………….. ……………………….. 24
3.5 Xamarin ………………………….. ………………………….. ………………………….. ………………………….. … 27
3.5.1 Kitul de dezvoltare SDK și Mediul de Dezvoltare Integrat (IDE) ………………………….. .. 28
3.5.2 Interfața cu utilizatorul ………………………….. ………………………….. ………………………….. …. 29
3.6 Sistemul mobil de operare Android ………………………….. ………………………….. …………………. 30
3.6.1 Interfața Android ………………………….. ………………………….. ………………………….. …………. 31
3.6.2 Aplicațiile Android ………………………….. ………………………….. ………………………….. ……….. 31
4 Implementarea ………………………….. ………………………….. ………………………….. ………………………….. ……. 32
4.1 Simularea căderilor și realizarea experimentelor ………………………….. …………………………. 32
4.1.1 Activitățile zilnice și studiul acestora ………………………….. ………………………….. …………. 34
4.2 Achiziția datelor și algoritmul de detectare a căderii ………………………….. …………………….. 36
4.2.1 Obținerea pragurilor ………………………….. ………………………….. ………………………….. …….. 39
4.2.2 Instrucțiunile de utilizare a aplicației. Interfața ………………………….. ………………………. 40
4.2.3 Modul de funcționare a aplicației ………………………….. ………………………….. ……………….. 41
5 Concluzii ………………………….. ………………………….. ………………………….. ………………………….. ……………….. 44
5.1 Rezultate obținute ………………………….. ………………………….. ………………………….. ……………… 44
5.2 Perspective de viitor ………………………….. ………………………….. ………………………….. …………… 44
6 Bibliografie ………………………….. ………………………….. ………………………….. ………………………….. …………… 46
Introducere
2
1 Introducere
1.1 Obiective
Obiectivul acestei lucrări de licență este de a realiza o aplicație de detectare a
căderilor. Această aplicație vine în ajutorul persoanelor cu probleme locomotorii, dar și
în ajutorul vârstnicilor care întâmpină dificultăți în c eea ce privește deplasarea. Țot odată,
această aplicație poate fi un ajutor real și pentru persoanele care au probleme de sănătate,
persoane care pot oricând să sufere diferite crize, momente în care este nevoie d e
asistență urgentă și specializată.
1.2 Specificații
Pentru realizarea acestei aplicații mobile de detectare a căde rii este nevoie ca
persoan a care dorește să o utilizeze să dețină de un smartphone. Mai departe, pentru a se
putea comunica cu această aplicați e este necesară o interfață cu utilizatorul. În această
interfață, utilizatorul trebuie să aibă posibilitatea să introducă numărul de telefon a
persoanei de contact, persoană pe care dorește el să fie înștiințată în prima parte a unei
posibile căderi, sau al unui accident. Mai apoi, utilizatorul are opțiunea sa redacteze el
însuși mesajul care dorește să fie trimis contactului în caz de nevoie. Țotodată, este
necesară conexiunea la internet a dispozitivului, pentru ca această să îl poată localiza în
caz de nevoie, si pentru a putea trimite coordonatele de locație echipajelor specializate.
1.3 Context General
Inițiativa acestei lucrări este de a ajuta persoanele la nevoie să poată înștiința atât
persoanele dragi lor precum și echipajele medicale specializate, pentru a interveni în
situații de urgență. Deoarece în prezent, o cădere poate avea repercusiuni majore, în
special când vine vorba de vârstnici sau de persoane cu diferite probleme de sănătate,
lucrarea în cauză poate fi un punct de pornire în salvarea acest ora. S -a dovedit științific
faptul că multe persoane ajung să sufere foarte mult în urma căderilor, nu pentru că nu li
s-a acordat ajutor în urma acestor situații, ci pentru că echipajele medicale au întârziat să
intervină, datorită faptului că au fost înș tiințate mult prea târziu .
Având în vedere cât de mult a reușit tehnologia să se dezvolte în ultimii 20 de ani,
dezvoltare care continuă să aibă loc, o foarte mare parte a populației dețin deja cel puțin
un smartphone. Am ales să mă folosesc de această pa rte a tehnologiei exact din această
cauză. Astfel, studiind puțin această ramură, am realizat că, cu ajutorul unui asemenea
dispozitiv, este foarte posibilă implementarea unei aplicații care să poată fi de folos în
diferite situații de urgență. Smartphoneu rile au în structura lor integrat accelerometrul
care reprezintă un senzor de detectare a mișcării. Prin accelerometru, aplicația va reuși
să stabilească dacă a avut loc o cădere. Primul lucru care o va realiza aplicația în cazul
detectării unei căderi, es te declanșarea unei alarme pentru o scurtă perioadă de timp
Introducere
3
(10/20 secunde). Acest lucru a fost gândit pentru cazurile în care nu a avut loc nicio
cădere sau pentru a putea atrage atenția persoanele din jurul său. În acest sens,
deținătorul telefonului mob il va putea sa oprească alarma (în cazul detectării eronate a
căderii), care va duce la întreruperea întregului proces de înștiințare a persoanei de
contact precum și a echipajelor medicale. În caz că a avut totuși loc căderea , aplicația va
înștiința perso ana salvată ca și contact. În cazul în care aceasta nu va putea să ia legătura
cu persoana accidentată, aplicația va trimite un mesaj echipajelor medicale de urgent ă,
mesaj care va cuprinde coordo natele geologice în care se află persoana în cauză.
În desfășurarea acestei lucrări, am prezentat atât tehnologiile folosite pentru
realizarea aplicației, analiza acestora, precum și implementarea ei și în final și rezultatele
testării aplicației.
Studiu bibliografic
4
2 Studiu bibliograf ic
Căderea reprezintă un facto r cu risc ridicat în viața de zi cu zi , în special c ând vine
vorba de persoane cu dizabilităț i locomotorii sau persoane vârstnice . O altă problemă este
atunci când, aceste așa zice căderi se petrec în momentele în care persoanele în cauză sunt
singure. Aceste evenimente pot părea simple, fără un impact prea mare asupra sănătății,
dar nu și când vine vorba de categoria de persoane specificate mai sus. În cazul acestor
categorii de peroane, pensionarii sau persoanele cu diferite dizabilități, și nu numai,
căderile pot cauza adesea leziuni serioase, printre care sângerări, fracturi sau chiar
afecțiuni ale sistemului nervos. În astfel de momente, este absolut necesară o intervenție
de urgență. În caz contrar, aceste leziuni pot fi foarte periculoase, ajungându -se chiar și la
deces. Pe de altă parte, căderile poate provoca si o serie de probleme psihologice precum
frica de mișcare, teama de deplasare, traiul independent , etc.
Pentru detectarea ef ectivă a căderilor , de -a lungul timpului s-au dezvoltat
numeroase m etode, mai mult sau mai puțin eficiente. Metodele actuale pot fi încadrate î n
trei mari categorii:
• metode ce se bazează pe prelucrarea imaginilor video
• metode ce se bazează pe prelucrarea sunetului
• metode care folosesc date transmise de senzori.
Metodele bazate pe prelucrări de imagini , detectează căd erile prin captarea
variațiilor mișcărilor corpului uman, folosind una sau mai multe camere video . Metodele
ce se bazează pe prelucrări de sunet analizează semnalul audio. Aceasta este utilizată ca o
metodă a uxiliară, întrucât ea nu este foarte precisă. Precum îi spune si numele, s istemele
bazate pe senzori au încorporate in structura lor, senzori care transmit datele n ecesare
detectării unei căderi . Acești senzori se pot afla în haine le purtate de persoanele în cauză,
sau în unele dispozitive care sunt folosite în viața de zi cu zi, precum telefoanele mobile .
Ca dispozitive de sine stătăto are, telefoanele mobile reprezintă un cadru hardware
și software potrivit pentru a dezvolta un sistem de detectare a căderii. Dispozitivele de
detectare a căder ilor ce au la baz ă telefonul mobil au avantajul că pot funcționa în orice
mediu. În ceea ce privește locația, astăzi, furnizorii de rețea oferă o acoperire foarte bună,
aproape oriunde in lume. Țotodată, dispozitivele de telefonie mobilă au o portabilitate
ridicată, toate componentele necesare funcționării ei sunt integrate , fiind extrem de ușor
de folosit. Există posibilitatea ca unele persoane aflate în situ ațiile înșirate la începutul
acestui capitol, nu ar accepta aceste telefoane mobile datorită complexității mai ridicate a
acestora și a dificultății de utilizare . Cu toate astea, este mai simplu și mai comod să deții
un singur dispozitiv care are aceași funcționalitate ca și un sistem de detecție a căderilor .
Cerința minimă pentru un astfel de telefon, care sa fie capabil sa detecteze impactul
unei căderi este prezența unui senzor și a unui accelerometru. Astăzi , marea majoritate a
telefoanelor , în special smartphone -urile, conțin mai mulți senzori, printre care și un
accelerometru.
Studiu bibliografic
5
2.1 Principii și metode de detectare a căderilor.
Deseori, în urma unei căderi, persoana în cauză ajunge în poziția culcat. Așadar, cea
mai simplă abordare ar fi aceea de a detecta această poziție folosind un senzor de
înclinare. Însă meto da este oarecum mai puțin potrivită pentru a detecta căderea unei
persoane cu dizabilități locomotorii în locuința sa, luând în considerare faptul că orele de
odihnă pot di feri de la un caz la altul. Astf el, această metodă este de așteptat să genereze
multe „pozitive false”, ele fiind considerate detectări de cădere în condițiile în care acestea
de fapt nu au loc.
O altă soluție o reprezintă detectarea persoanei aflate în poziția întinsă orizontal,
pe podea , utilizând plăci senzitive în toate locațiile din locuință. Însă, aici apare problema
situațiilor în care că derile nu au loc pe podea sau în locurile în care nu sunt montate
plăcile speciale , aceste locuri devenind astfel nedetectabile. Țotodată, trebuie să luăm în
considerare și faptul că un accident nu este obligatoriu sa aibă loc într -o încăpere din
locuință. La fel de bine acest lucru se poate întâmpla și în afara reședinței persoanei în
cauză.
Gândind în perspectivă, momentul când o persoană cade, aceasta poate lovi atât
pământul cât și diferite obstacole aflate in zona de impact. „Șocul acestui impact ” rezultă
dintr -o inversare puternică a polarității vectorului de accelerație în dir ecția traiectoriei,
inversare care poate fi ușor detectată folosind un accelerometru sau chiar a un detector
de șoc. Detectorul de șoc este de asemenea și el un accelerometru, care are un prag fix
prestabilit. Cu toate că majoritatea căderilor au loc în plan orizontal, direcția traiectoriei
căderii este variabilă , în funcție de situația dată . De asemenea, locația senzo rului pe corp
modifică „ identitatea ” semnalelor înregistrate în momentul căderii, a impactului.
O altă utilizare în vederea detectării căderilor o reprezintă lipsa mișcării. D upă un
impact puternic avut în urma fenomenului de cădere, o persoană poate fi gr av rănită,
aceasta rămânând imobilizată într -o anumită poziție sau într-o anumită locație. Pentru
aceasta se poate folosi un senzor de mișcare care ar fi amplasat pe extremitățile corpului
(exemplu: încheietura mâinii, glezna ) sau chiar senzori cu infra -roșu instalați în încăperi.
Însă, din nou apare problema locației, persoana nefiind în mod obligatoriu într -o clădire.
Chestiunea acestor abordări o reprezintă alegerea timpului de latență (întârzierea
dinaintea deciziei) care ar trebui obligatoriu să fie s uficient de mare pentru a putea reduce
acele „pozitivele false” care s -ar produce .
În timpul unei căderi există un interval de timp în care are loc așa zisă „cădere
liberă”, perioadă în care viteza verticală crește liniar cu timpul, datorită accelerației
gravitaționale.
Prin măsurarea vitezei mișcărilor controlate a unei persoane( precum așezarea pe
scaun, pe pat, mers, alergat, etc.) atunci s-ar putea realiza o deosebire între aceste viteze
și cele ca re apar în momentul unei căderi, prin stabilirea unor limite, respectiv praguri .
Apare însă d ificultatea în alegerea acestui prag, întrucât, dacă acesta este prea scăzut,
dispozitivul predestinat detectării căderilor va intercepta și evenimentele negative( acei
„pozitivi falși”), iar dacă este prea ridicat, dis pozitivul nu va mai detecta evenimentele
pozitive( acei „negativii falși”). Țotodată, trebuie să luăm în considerare și faptul că a cest
prag variază de la un subiect la altul . Pentru a putea depăși această dificultate este
necesară o perioadă de timp de acomodare, respectiv de învățare „supravegheată” sau
Studiu bibliografic
6
„nesupravegh eată”. În prima fază va trebui ales un voluntar , care să efectueze diferite
teste pentru a putea găsi vitezele normale de execuție. În cea de -a doua fază este suficient
să se înregistreze viteze le de deplasare a unei persoane în diferitele situații cotidiene , de-
a lungul a câteva ore sau zile , pentru ca în final să se poată realiza o analiză tip statistică
asupra vitezelor măsurate.
Precum am discutat la începutul acestui capitol, p rocesarea imag inii semnalelor
video poate fi de asemenea folosită pentru a detecta căderile, prin identificarea poziției
orizontale de tip „culcat”, printr -o analiză a scenelor sau prin detectarea mișcărilor
abrupte , respectiv spontane sau violente, folosind o analiză v ectorială. Cea de a doua
metodă constă în extragerea succesivă a imaginilor , în vederea păstrării variațiilor , care
mai apoi sunt sortate în funcție de direcția și/sau de amplitudine a lor.
Datorită faptului că aceste tehnici sunt eficiente numai în medii le
controlate(laboratoare, scene , diferite încăperi ), ele trebuie modificate pentru a putea da
un randament cu același succes și în medii le necontrolate. Mai mult, cum subiectul se
deplasează într-un spațiu tridimensional este absolut necesară adoptarea unor tehnici
mai complexe, anume , utilizarea a două camere de luat vederi .
Metodele înșirate mai sus sunt convenabile atât din punct de vedere tehnologic cât
și financiar datorită costului scăzut al camerelor video(webcam -urilor), a posibilității
transmiterii wireless a imaginilor pe o distanță scurtă si a disponibilității algoritmilor
necesari. Țotuși , preluarea acestei tehnologii, ne pune în fața unei problem e majore:
necesitatea amplasării camerelor video în întreaga locuință , încălcându -se intimitatea
persoanei respective precum și acelor în trecere .
2.2 Evaluarea senzorilor de detecție
2.2.1 Calitatea senzorială
Detectarea unei căderi este pozitivă în cazul în care senzorul reușește sa o
recunoască . În caz contrar , evenimentul va fi considerat negativ. Întrucât aici este vorba
de un senzor binar, având ieșirea binară, ne punem problema calității detectorului. Astfel
putem avea 4 situații:
• Pozitiv -adevărat : căderea are loc iar dispozitivul a identificat -o
• Pozitiv -fals: eroare senzoriala -dispozitivul consideră o acțiune ca fiind o
cădere(lucru care de fapt nu a avut loc).
• Negativ -adevărat: dispozitivul nu anunță nicio că dere, chiar daca identifică diferite
mișcări
• Negativ -fals: a avut loc căderea, însă dispozitivul nu l -o identificat
Evaluarea răspunsului acestor situații se poate realiza prin următoarele criterii:
-Senzitivitatea: are capacitatea de a detecta căderi
Senzitivitatea = 𝑇𝑃
𝑇𝑃+𝐹𝑁 , TP-True Pozitive, FN – Fals negative (1)
Studiu bibliografic
7
-Specificacitatea: are capacitatea de a detecta căderile
Specifica citatea = 𝑇𝑁
𝑇𝑁+𝐹𝑃 , TN -True Negative, FP – Fals pozitive (2)
2.2.2 Datele experimentale
Există o multitudine de scenarii posibile când vine vorba de căderi, fie ele
accidentale sau ca o urmare a unei probleme de sănătate. Acestea fiind spuse,
dispozitivele pentru detectarea căderilor trebuie testate într -un număr mare de situații în
care pot apărea aceste evenimente, fie ele pozitive sau negative.
Luând în considerare că cele mai multe căderi pot avea loc în momentele de execuție
a unei mișcări intenționate de către executant, cel mai probabil acestea vor sfârși în față
sau în spate, în funcție și de echilibrul persoanei în cauză din acel moment, dar si a situ ației
date: alunecarea in spate, împiedicare, etc.
Există însă și situații în care căd erea are loc pe o parte, însă asta doar in anumite
cazuri speciale, precum tendința de a se rezema de un perete, în vederea restabilirii
echilibrului, sau spațiul prea îngust în care se afla persoana o obligă să își modifice poziția
corpului în timpul even imentului.
De asemenea mai există numeroase alte evenimente din timpul zilei care pot fi
percepute de dispozitiv ca fiind căderi, sau urmări a căderilor :accidentele, întinderea pe
pat sau orice întindere pe orizon tală, etc.
Analiză și proiectare
8
3 Analiză și proiectare
3.1 Dispozi tivul de detectare
În vederea realizării acestui proiect , s -a folosit ca și dispozitiv de detectare a căderii
, un smartphone Huawei P9 Lite 2017. Acest dispozitiv întrunește toate funcționalitățile
necesare implementării algoritmului de detectare, precum și funcțiile necesare asigurării
funcționării aplicației în orice moment sau mediu, conținând și o cartelă SIM prin care se
poate face conexiunea la rețeaua de internet atât de necesară localizării dispozitivului ,
respectiv persoanei ce îl deține. Țot o dată , acest dispozitiv este unul ușor de procurat si
foarte asemănător cu smartphone -urile aflate în prezent pe piață, astfel că aplicația să
poată fi funcțională pe orice sma rthphone cu sistemul de operare android .
3.1.1 Detalii tehnice
LANSAREA
2016, Apri lie
MĂRIMI Dimensiuni 146.8 x 72.6 x 7.5 mm
Greutate 147 g
SIM Dual SIM
AFIȘAJ Tip IPS LCD cu capacitate touchscreen, 16M culori
Mărime 5.2 inches
Rezoluție 1080 x 1920 pixels
Multitouch Da
PLATFORMA OS Android 6.0 (Marshmallo w), upgradat la 7.0
(Nougat)
MEMORIE Slot pentru card microSD, până la 256 GB (folosește SIM 2 slot)
Intern 16 GB, 3 GB RAM
BATERIE Nu se poate detașa,3000 mA/oră
FEA TURES Senzori Fingerprint ,accelerometru, compas de proximitate
Mesagerie SMS, MMS, Email
Analiză și proiectare
9
3.2 Accelerometrul
Un accelerometru este un dispozitiv electromecanic care poate măsura forțele
de accelerație. Aceste forțe pot fi:
• statice, precum forța constantă a gravitației
• dinamice. Aceasta este cauzată de mișcarea sau vibrarea accelerometrului.
Prin măsurarea ca ntității de accelerație statică, datorată gravității, se poate afla
unghiul în car e dispozitivul care conține accelerometrul este înclinat față de pământ. Prin
detectarea valorii de accelerație dinamică , se poate realiza o analiză a modul ui în care se
deplasează dispozitivul în cauză . [1]
Accelerometrele au aplicații numeroase în indus trie și știință. Cele foarte sensibile
sunt componente ale sistemelor de navigație inerțiale, sisteme proiectate pentru
aeronave și rachete. Țotodată, accelerometrele sunt utilizate pentru a detecta și
monitoriza vibrațiile ce apar în mașinile rotative. De asemenea , ele si -au găsit u tilitatea
și în alte sisteme și echipamente precum în dronele realizate stabilizării zborurilor .
Accelerometrele coordonate se pot utiliza pentru a măsura diferențele de variație în
accelerația corespu nzătoare, în special gravi tatea. Nu în ultimul rând, accelerometrele
sunt mult utilizate în dispozitivele tip tabletă și în camerele digitale, pentru ca imaginile
pe ecrane să fie întotdeauna afișate în poziție verticală.
Există mai multe modele de accelerometru, având în componen ță una sau mai
multe axe. Acestea sunt disponibile pentru a fi capabile să detecteze magnitudinea și
traiectoria, respectiv direcția accelerației corespunzătoare, ca o cantitate vectorială. Pot
fi, de asemenea utilizate în vederea identificării orientării , întrucât di recția schimbărilor
de greutate , coordonează vibrația, căderea ,accelerația și șocul într -un mediu rezistiv ( caz
în care accelerația corespunzătoare se schimbă, deoarece începe de la zero, apoi crește).
Aparatele de accelerometru micro sunt com ponente tot mai prezente în dispozitivele
electronice portabile și în controlerele jocurilor video. Asta, pentru a putea detecta poziția
dispozitivului sau pentru a oferi o intrare în joc.
3.2.1 Principii fizice
După cum am specificat și mai sus, un acceleromet ru măsoară accelerația
corespunzătoare, ș i anume accelerația pe care o resimte în concordanță cu căderea liberă
și accelerația resimțită de oameni și de obiecte. [2] Altfel, în orice moment în spațiu,
principiul echivalenței garantează existența unui cadru inerțial local și un accelerometru
măsoară accelerația față de acel cadru. [3] Astfel de accelerații sunt denumite în mod
obișnuit forțe -g(g-force), accelerații în comparație cu greutatea standard.
Când accelerometrul se află în repaus față de suprafața Pământului, aceasta va
indica aproximativ 1g în sus, pentru că orice punct de pe suprafața Țerr ei se accelerează
în direcția sus față de cadrul inerțial local (cadrul unui obiect care se situează în
apropierea locației în cauză ). Pentru a putea obține acce lerația care se dator ează mișcării
Analiză și proiectare
10
față de Pământ, această așa zisă "decalare gravitațională" trebuie să fie scăzută și să se
facă corecții în vederea efectelor cauzate de rotația Pământului față de cadrul inerțial.
Cauza apariției unei compensări gravita ționale este data de principiul de
echivalență al lui Einstein. Aceasta afirmă că efectele gravitației asupra unui obiect nu pot
fi diferențiate de accelerație. [4]Atunci când obiectul este ținută fixat într -un câmp
gravitațional, (prin aplicarea unei forț e de reacție la sol sau a unei tracțiuni echivalente în
sus, de exemplu), cadrul de referință pentru un accelerometru (și anume carcasa proprie)
accelerează în sus. Efectele unei asemeni accelerații sunt foarte mari față de orice altă
accelerare pe care o resimte instrumentul.
În scop practic, găsirea accelerației obiectelor față de Pământ, precum pentru
utilizarea într -un sistem de navigație inerțial, este necesară cunoașterea gravitației locale.
Putem obține acest lucru fie prin calibrarea dispozitivului în repaus, fie prin intermediul
unui model de gravitație cunoscut la poziția aproximativ curentă.
3.2.2 Principii de funcționare a senzorului
Senzorul accelerometru are la bază o foarte mică structură mobilă de siliciu care are
rolul de deplasare în interior î n funcție de mișcările aplicate dispozitivului (în cazul
nostru, telefonul). Ținând cont de mărimea de deplasare și de direcția în care este
acționat, senzorul produce o variație cumulată a mai multor valori capacitive.
Accelerometrul este sensibil pe toat e axele conținute la mom entul accelerației
gravitaționale a Pământului, care însă are mereu direcția verticală. Dat fiind faptul că
accelerometrul lucrează concomitent pe toate axele sale fizice, și anume x, y și z, aplicațiile
software vor cunoaște în ori ce moment unghiurile de înclinație ale smartphone -ului,
precum și care sunt accelerațiile instantanee care se produc pe axe de către fiecare
mișcare în mod separat .
Analiză și proiectare
11
3.2.3 Structura
Accelerometru se comportă ca o masă amortizată pe un arc. Când aceasta se a flă
sub accelerație, masa îi este deplasată până în punctul în care arcul poate accelera și ea
masa la aceeași rată a vitezei cu cea a carcasei. Astfel, prin măsurarea deplasării, se va
obține accelerația.
În dispozitivele comerciale, componentel e piezoe lectrice, piezorezistent e și
capacitive se utilizează în mod regulat pentru a putea transforma mișcarea mecanică într –
un semnal de stare electrică. Aceste accelerometre de tip piezoelectric au la bază
piezoceramice ( un exemplu în acest sens este titanat ul și zirconat ul de plumb) sau
cristale precum cuarț ul. Acestea sunt cele mai bune în ceea ce privește domeniul lor de
frecvență superio ară, deoarece greutatea ambalată e scăzută iar intervalul temperaturii
este unul ridicat . Cele piezorezistente sunt cele m ai dorite în cazul aplicațiilor de șoc înalt.
Dispozitivele de accelerație capacitive au la bază un element de detectare cu micro –
prelucrare din siliciu. Ele prezintă cele mai mari performanțe în domeniul de joasă
frecvență și pot fi comandate în modul ser vo pentru a putea obține stabilitate și liniaritate
ridicată.
Când vine vorba de accelerometrele moderne, acestea sunt deseori sisteme
micro electro -mecanice de dimensiuni mici sau foarte mici (MEMS) și reprezintă cele mai
simple dispozitive MEMS, care c onstă într -un fascicol cu consolă cu o probă (cunoscută și
ca masa seismică). Amortizarea este rezultatul gazului rezidual reținut de către dispozitiv.
Cât timp factorul Q nu este prea mic, nu rezultă o sensibilitate scăzută a amortizării.
Este de subl iniat faptul că masa probei se învârte din poziția neutră, cât timp este
sub influența accelerațiilor externe. Această deviere se măsoară în mod analog sau digital.
De cele mai multe ori este măsurată capacitatea dintre un set de grinzi fixe și un set de
grinzi atașate la masa probei. Metoda este una ieftină , fiabilă și simplă . O alternativă bun
o reprezintă i ntegrarea piez orez istorilor în arcuri pentru detectarea deformării arcului și
pentru devierea. Însă sunt necesare mai multe etape de proces perioada s ecvenței de
fabricare . În ceea ce privește sensibilități le foarte mari, se folosesc și tuneluri cuantice.
Pentru aceasta e nevoie de un proces separat dedicat, prin urmare această metodă ajunge
sa fie foarte scumpă. Din această cauză poate, m ăsurarea opti că a fost demonstrată doar
la nivel de laborator.
Un alt fel de accelerometru care este tot pe bază de MEMS, mult mai puțin
obișnuit, are în componență un încălzitor mic, aflat în partea inferioară a unei cupole de
mărimi foarte mici, care are rolul de a încălzi aerul din interiorul cupolei pentru ca acesta
să crească. Un termocuplu determină locul unde aerul este încălzit si locul unde aceasta
ajunge în cupol, iar deformarea din centru este o de fapt o măsură a accelerației aplicate
senzorului.
Majoritatea accelerometrelor micro mecanice funcționează în plan, adică ele
sunt proiectate să fie sensibile numai la o direcție în planul matriței. Prin adăugarea în
componență a două dispozitive așezate în mod perpendicular pe o singură matriță , se
poate realiz a un accelerometru având două axe. Dacă se mai adăugă unu a l treilea
dispozitiv în afara planului, se vor putea măsura trei axe. Însă, trebuie sa luăm în
Analiză și proiectare
12
considerare că o astfel de combinație, ca cea din urmă, poate reda o eroare de aliniere mai
mică decât realizarea a trei modele discrete combinate după procesul de ambalare.
Disponibilitatea ampermetrelor micro mecanice se află într -o gamă largă de
măsurători, ajungând până la mii de g. Companiile de dezvoltare a acestor ampermetre
trebuie să ia în cons iderare și să facă un compromis între fenomenul de sensibilitate și
limita maximă a accelerației care poate fi măsurată.
3.2.4 Aplicații
Accelerometrele au o aplicabilitate foarte mare pe piață când vine vorba de tehnologie.
Acest senzor este utilizat in medi cină, ramura ce asigură siguranța fizică , transport, în industrie,
si mici echipamente care le deținem acasă, echipamente care ne fac viața mai ușoară.
Astfel, găsim o mare utilitate a accelerometrelor în :
▪ Inginerie.
În plan principal, in domeniul ingi neriei, accelerometrele se utilizează în mod
obișnuit în măsurarea accelerației vehiculelor. Acestea se mai utilizează în vederea
măsurării vibrațiilor la clădiri, mașini, sisteme de control a diferitelor procese și al
instalații lor de siguranță. Accelerom etrele se mai pot utiliza și pentru a măsura rea
activităților seismice , vibrația , înclinația , distanța dinamică și viteza cu sau fără influența
gravitației. Aplicațiile pentru accelerometre care au ca scop măsurarea gravitației , în care
un accelerometru es te realizat special si setat în mod specific pentru utilizare a în
gravimetrie, poartă denumirea de gravimetre.
Un alt exemplu când vine vorba de aplicabilitatea accelerometrelor este
Notebook -ul echipat cu accelerometru, dispozitiv care poate contribui la rețeaua Quake –
Catcher Network (QCN), un proiect BOINC care are ca si scop cercetarea științifică a
cutremurelor. [5]
▪ Biologie
De asemenea, accelerometrele sunt tot mai des utilizate în științele biologice.
Înregistrările de înaltă frecvență ale accelera ției bi -axiale sau triaxiale permit
diferențierea comportamentelor în timp ce animalele sunt în afara vederii. Țot o dată ,
înregistrările de accelerare permit oamenilor de știință din acest domeniu să cuantifice
procentul în care un anima l consumă energie în sălbăticie. Acest lucru e posibil prin două
modalități:
– fie prin determinarea frecvențe i accident vascular cerebral ,
-fie prin măsuri cum ar fi accelerarea dinamică a corpului din ansamblu.
Aceste metode au fost aplicate de cele mai multe ori de către cercetătorii din
domeniul marin , datorită incapacității de a studia animalele în sălbăticie prin simple
observații vizuale. Cu toate astea un număr tot mai mare de cercetători biologi din cadrul
Analiză și proiectare
13
faunei terestre adoptă abordări asemănătoare. D ispozitiv ul în discuție se poate conecta la
un amplificator pentru a amplifica semnalul.
▪ Industrie
O altă u tilitate a accelerometrelor o reprezintă monitorizarea stării de sănătate
a mașinilor pentru a putea raporta vibrațiile și modificările lor din timp, sănătat e
aparținând echipamentelor rotative precum pompele, ventilatoarele, tamburii,
compresoarele [6] și turnurile de răcire. Datele privind vibrațiile accelerometrului permit
utilizatorului să monitorizeze aparatele și să găsească aceste defecțiuni înainte ca
echipamentul rotativ să se defecteze complet sau sa nu poată fi utilizat deloc.
▪ Construcția și monitorizarea structurilor de construcție
În cazul domeniului de construcție , accelerometrele sunt utile în măsurarea
mișcării și a vibrațiilor oricărui tip d e construcție, respectiv structură, care este expusă
încărcărilor dinamice. Aceste încărcări pot proveni din numeroase și variate surse, printre
care enumerăm:
• Activități umane – orice acțiune reprezentată prin mișcare
• Mașini de lucru – în zona interioară a unei clădiri sau în apropiere de ea
• Lucrări de construcții – precum demolări , piloni , excavări și foraje
• Deplasarea sarcinilor pe poduri
• Ciocniri de vehicule
• Sarcini de impact – reziduuri care se încadrează
• Sarcini de comoție – explozii interne și extern e
• Căderea elementelor de structură
• Vanturi și rafale de vânt
• Presiunea de suflare a aerului
• Pierderea unui suport pentru susținere din cauza unei defecțiuni la sol
• Cutremure și replici
În ceea ce privește aplicațiile de structură, măsurarea și înregistra rea modului în
care o structură dinamică răspunde intrărilor este esențială pentru a putea evalua
siguranța și fiabilitatea unei structuri. Acest tip de monitorizare poartă numele de
monitorizare a sănătății. Aceasta de regulă, implică și alte tipuri de in strumente, precum
senzorii de deplasare – potențiometre, senzori LVDȚ etc. – senzori de sarcină, senzori de
deformare etc.
Analiză și proiectare
14
▪ Aplicații medicale
În ultimii ani, o dată cu dezvoltarea tehnologiei, mai multe companii au produs
și comercializat ceasuri sportiv e. Aceste ceasuri sunt mici mecanisme în care se află
integrat un accelerometru pentru măsurarea vitezei, și distanței parcursă de alergător
care poarta dispozitivul. Aceste dispozitive pot fi așezate atât pe încheieturile persoanei
în cauză precum și la g leznă. În Belgia, contoarele de pasageri bazate pe accelerometru
sunt promovate chiar de către guvern pentru a încuraja oamenii să parcurgă câteva mii
de pași în fiecare zi. Herman Digital Țrainer utilizează accelerometrele pentru a măsura
forța depusă în antrenamentul fizic. S -a sugerat de asemenea să construim căști de fotbal
cu accelerometre pentru a se putea măsura impactul coliziunilor capului.
▪ Navigație
Precum am mai specificat și în capitolele anterioare , sistemul de navigație
inerțial reprezintă un ajutor de navigație care are în componență un senzor de calculator
și unul de mișcare (și anume un accelerometru) pentru a calcula în mod continuu prin
calculul mort, orientarea , poziția și viteza (direcția și viteza de mișcare) a unui obiect în
deplasa re, fără a fi nevoie de nicio referință externă.
Luăm în considerare că un singur accelerometru nu este suficient pentru a putea
determina schimbări de altitudine pe distanțe, unde scăderea verticală a gravitației este
importantă, precum pentru aeronave ș i rachete. Prin prezența unui gradient gravitațional,
procedeul de calibrare și de reducere a datelor este instabil numeric. [7]
▪ Transport
În ceea ce privește domeniul transporturilor, aici accelerometrele sunt utilizate în
detectarea apogeului rachetelor profesionale sau de tip amatori.
Când vine vorba însă de vehicule, accelerometrele sunt utilizate în mod special în
sistemele de declanșare a airbag -urilor . În acest caz, acești senzori sunt utilizați pentru a
detecta accelerația rapidă negativă a vehicu lului pentru a determina momentul în care s –
a petrecut coliziune si gravitatea ei. O altă utilizare a accelerometrelor când vine vorba
de autovehicule este în sistemele electronice de control al echilibrului, respectiv a
stabilității, care utilizează un a ccelerometru lateral pentru a putea măsura forțele de
virare. Folosirea tot mai multă a accelerometrelor în industria de automobile a ridicat
dramatic costurile. [8]
O altă aplicație în acest domeniu o reprezintă monitorizarea zgomotului,
vibrațiilor și a durității (NVH), condiții care se poate cauza disconfort driverelor și
pasagerilor și pot fi, tot odată defecțiuni a mașinii.
Înclinarea trenurilor utilizează acce lerometre și giroscoape pentru calcula rea
înclinării necesare.
▪ Vulcanologie
Analiză și proiectare
15
Surprinzăto r, accelerometrele au o utilitate importantă și in domeniul detectării
erupțiilor vulcanice. Instrumentele moderne care înregistrează mișcări seismice
poartă denumirea generică seismometre. Cele mai folosite instrumente sunt
accelerometrele care înregistre ază în mod digital accelerația scoarței terestre, acesta fiind
cea mai utilizată în ingineria seismică. Un asemenea dispozitiv (figura 3.2) e compus din
trei senzori: doi pentru înregistrarea componentelor orizontale (nord -sud și est -vest), și
al treilea p entru componenta verticală a deplasării seismice. Accelerația este exprimată
în cm/s2. Valorile vitezei și cele ale deplasării scoarței terestre în urma mișcării seismice
se obțin prin introducerea accelerației. [9]
▪ Captarea mișcărilor
Marea majoritate a a plicațiilor folosesc accelerometrul, ba chiar se poate spune că
acest senz or este cel mai utilizat când vine vorba de smartphone -uri. Prima si probabil
cea mai evidentă aplicabilitate o întâlnim la rotirea telefonul mobil din poziția sa verticală
în poziția orizontală, sau invers. Aici se observă că întreg conținutul se rearanjează în mod
automat fără o altă intervenție din partea deținătorului.
O aplicabilitate mai vastă se poate regăsi în jocuri, unde senzorul este oarecum mai
complex utilizat. De exempl u Nintendo Wii, consola de jocuri video are în componență un
controler numit Wii Remote care conține un accelerometru cu trei axe și a fost creat în
prima fază pentru intrarea în mișcare. Participanții la joc au, de asemenea, opțiunea de a
achiziționa un a tașament suplimentar care este sensibil la mișcare, denumit Nunchuk,
pentru ca mișcarea să poată fi înregistrată în mod independent de ambele mâini ale
utilizatorului. Un alt exemplu în cest sens este Sony PlayStation 3,care utilizează
telecomanda numită DualShock 3.Această telecomandă are integrat un accelerometru cu
trei axe care poate fi folosit pentru a realiza direcția mai realistă în jocurile de curse,
precum MotorStorm și Burnout Paradise.
Revenind la aplicabilitatea telefoanelor mobile de a roti imaginile, î mpreună cu
ajustarea vizualizării orientării telefonului mobil, accelerometrele din aceste dispozitive
pot fi tot odată folosite pe post de pedometre ( dispozitiv care înregistrează în mod
automat numărul de pași efectuați de către deținătorul aparatului) , împreună cu alte
aplicații specializate. [10]
O altă utilitate cunoscută a accelerometrelor o reprezintă sistemele de notificare
automată de coliziune (ACN), pentru a solicita ajutor în eventualele accidente de vehicul.
Aceste programe includ serviciul numit OnStar AACN, Asistența 112 Ford Link, Țoyota's
Safety Connect, Lexus Link sau BMW Assist. Multe smartphone -uri care au în componența
lor un accelerometru au, de asemenea, software ACN disponibil pentru download
(descărcare).
Mai departe, accelerometrele se utilizează în vehicul în cadrul sistemele
electronice de control al stabilității pentru a măsura mișcările reale a automobilului.
Compararea mișcării vehiculului cu direcția șoferului dar și cu accelerația , se realizează
cu ajutorul un ui computer. Acest computer poate opri în mod selectiv roțile individuale și
Analiză și proiectare
16
/ sau minimiza puterea motorului pentru a micșora diferența dintre intrarea șoferului și
mișcarea vehiculului. Acest lucru vine în ajutor prin eliminarea riscurilor de rotire sau
răsturnare a vehiculului .
▪ Senzori de orientare
Un număr mare de dispozitive aparținând secolul 21 au astăzi în componență
accelerometre, pentru a modifica ecranul în funcție de direcția în care este ținut telefonul,
ca de exemplu trecerea între modurile de afișare portret și peisaj. Cele mai multe dintre
acestea sunt dispozitivele de tip tablete PC, marea parte a smartphone -urilor dar și unele
camere digitale. Un exemplu în acest sens o reprezintă Amida Simputer care este un
dispozitiv portabil de tip Lin ux lansat în anul 2004. Acesta a fost primul dispozitiv
comercial care avea un accelerometru încorporat. Ea a inclus numeroase interacțiuni care
au la bază gesturi folosind acest accelerometru, incluzând rotirea paginilor, zoom -in și
zoom -out-ul imaginilor , modificarea portretului în modul peisaj și variate jocuri bazate
pe gesturi, mai simple, sau mai complicate.
Deja la începutul anului 2009 , marea majoritate a telefoanelor mobile și a
camerelor digitale conțineau cel puțin un senzor de înclinare , une ori și un accelerometru
pentru realizarea rotației automate a imaginilor de pe dispozitiv.
▪ Stabilizarea imaginilor
Pentru stabilirea imaginilor ne vin în ajutor camerele video care utilizează
accelerometre pentru a stabili imagin i, fie deplasând elemente le optice pentru a regla
calea luminii la senzor și pentru a anula mișcările neintenționate, fie pentru a modifica în
mod digital imaginea în vederea netezirii mișcărilor detectate . Unele aparate de fotografie
folosesc accelerometre pentru o captare anti -neclară. Un exemplu de aplicare a acestei
tehnologii este Glogger VS2, [ 11] o aplicație telefonică ce funcționează pe telefoane mobile
care se bazează pe Symbian , conținând accelerometre precum Nokia N96. Există tot odată
camere digitale care au în componen ța lor accelerometre pentru determina rea orientării
fotografiei realizate și, de asemenea, pentru rotirea imaginii în modul de vizualizare.
▪ Integritatea dispozitivului
Numeroase computere portabile au prevăzut în componența lor un accelerometru
care se folosește în detectarea căderilor. Dacă o cădere este recunoscută , capetele hard
disk-ului sunt protejate pentru evitarea pierderii datelor și a posibilelor pagu be a disku –
lui rezultate în urma șocului.
▪ Gravimetria
Gravimetrul sau cunoscut și sub denumirea de gravitometru reprezintă , precum
îi spune și numele, un instrument folosit în gravimetrie pentru măsurarea unei zone
gravitațional locale. Acesta este un dispozitiv similar cu accelerometrul, cu excepția
faptului că gravimetrul nu este susceptibil la v ibrațiile de tip zgomot, care au proprietatea
Analiză și proiectare
17
de a determina accelerațiile oscilante. Cu toate acestea, lipsa acestuia este contracarat în
gravimetru prin izolarea integrală a vibrațiilor și prelucrarea semnalului. Cu toate că
principiul esențial al desig nului este același ca al accelerometrului , gravimetrele sunt
proiectate pentru a fi mult mai sensibile decât accelerometrele, p entru a fi capabile să
măsoare schimbări le foarte mici în gravitația Terrei, de 1 g. Alte accelerometre sunt de
cele mai multe or i proiectate pentru a măsura 1000 g sau chiar mai mult, iar numeroase
dintre acestea efectuează măsurători multiaxiale.
3.2.5 Tipuri de accelerometre
o Rezistență piezoelectrică
o Accelerometru pentru scaun
o Accelerometre în modul de tăiere
o Rezonanță
o Tensometru
o Accelerometre tip laser
o Accelerometre de joasă frecvență
o Accelerometre de înaltă temperatură
o Accelerometre de gravitație înaltă
o Accelerometre de tip pad
o Accelerometre giroscopice
o Triaxiale
o Accelerometre cu inducție magnetică
3.3 GPS – Global Positioning System
Sistemul de poziționare globală, cunoscut și sub denumirea de la care provine din
limba engleză , GPS, reprezintă un sistem global de navigație prin sateliți și unde radio.
Acest sistem uriaș orbitează în jurul Pământului în puncte prestabilite, fixe deasup ra
planetei, transmițând semnale tuturor receptorilor care se află la sol. Semnalele au în
consistența lor un cod de timp și puncte reprezentative datelor geografice care permit
utilizatorului să recepționeze poziția exactă în care se află în momentul resp ectiv, precum
și viteza, respectiv ora exactă, din orice regiune al planetei . Un avantaj a GPS -ului este
faptul că acest sistem poate funcționa în orice condiții meteorologice, oriunde în lume, 24
ore pe zi, 7 zile pe săptămână.
Sistemul militar american, cunoscut și sub abrevierea de " NAVSȚAR
"(Navigational System Tracking and Range – Sistemul de urmărire și intervalul de
navigație ) reprezintă sistemul principal de poziționare prin sateliții de tip GPS. Acest
Analiză și proiectare
18
sistem, a fost inițiat și realizat de către D epartamentul Apărării al Statelor Unite ale
Americii (DOD).El poate să calculeze poziția exactă, adică coordonatele geografice exacte
ale unui obiect pe orice suprafață a Pământului, însă condiția este ca aceasta să aibă în
componența lui un receptor GPS, pentru a îi putea recepta semnalul. Coordonatele
geografice calculate de sistem sunt extrase cu ajutorul sistemului geodezic WGS84.
Partea frumoasă este că sistemul GPS funcționează în mod independ ent. Mai exact,
acest sistem nu cere utilizatorului să real izeze el transmisia acestor date. Practic,
transmisia datelor este realizată prin intermediul recepției telefonice sau prin
intermediul internetului, cu toate ca aceste tehnologii pot să sporească utilitatea
informațiilor de poziționare GPS . Acest sistem a re o utilitate foarte mare, întrucât, prin el
se pot detecta pozițiile în care se află utilizatorii militari, civili și comerciali pe întregul
plan mondial.
Important de specificat este că Guvernul Statelor Unite este cel care a creat acest
sistem. Tot el îl menține și îl face liber accesibil pentru oricine dorește și are, desigur un
receptor GPS. Există riscul însă ca guvernul american să refuze acest acces liber la sistem
în mod selectiv. Un exemplu în acest sens este refuzul de acces la sistemul de GPS al
armatei indiene din anul 1999 , în timpul războiului Kargil [12].
Întâiul sistem GPS, cunoscut și sub denumirea din engleză „Jones Live Map”, a fost
inventat de J.W. Jones, precum îi spune și numele, în anul 1909. Acest dispozitiv a fost
primul sistem dedicat ghidării șoferilor auto și consta din mai multe discuri care erau
imprimate cu hărți. Aceste hărți îi arăta șoferului direcția prin manevrarea unor cadrane
speciale. Discurile acestea puteau acoperi aproximativ 160,9344 de kilometri (adică 100
de m ile) de drumuri cunoscute. Aceste drumuri puteau fi realiz ate sub formă de hărți ,
mai exac t, puteau fi cunoscute datorită cartografierii de către The Touring Club of America .
Dezavantajul îl reprezenta faptul că acest disc trebuia schimbat la fiecare 100 de mile.
Până în anul 1919, sistemul realizat de către Jones reușea să acopere peste 500 de rute
cunoscute și cartografiate din S.U.A., mai exact, de la New York la Los Angeles .[13]
Mai apoi a apărut Proiectul GPS. Acesta a fost lansat in Statele Unite în anul 1973
cu scopul de a depăși limitele sistemelor anterior realizate . Astfel s -au integrat idei de la
mai mulți predecesori, inclusiv un număr de studii de proiectare în domeniul ingineriei
din anii 1960. Departamentul de Apărare al SUA a realizat siste mul, care inițial utiliza 24
de sateliți. A devenit operațională de abia în anul 1995. Cercetătorul Roger L. Easton de la
Laboratorul de Cercetare Naval, Ivan A. și Bradford Parkinson de la Laboratorul de Fizică
Aplicată au fost oamenii acreditați să inve nteze acest sistem.
În ceea ce privește design -ul GPS -ului , acesta se bazează într -o anume măsură
pe sistemele similare de radionavigație la sol, precum LORAN și Decca Navigator. Acestea
două din urmă au fost dezvoltate la începutul anilor 1940 și utili zate de către Naviația
Regală Britanică în decursul celui de -al doilea război mondial. Fizicianul german
Friedwardt Winterberg a fost cel ce a propus un test de relativitate generală – detectarea
încetinirii timpului într -un câmp gravitațional puternic fol osind ceasuri atomice precise
plasate pe orbită în interiorul sateliților artificiali. Această relativitate prevede că
ceasurile de pe sateliții GPS să fie văzute de observatorii Pământului pentru o rulare mai
ușoară și mai rapidă cu 38 de microsecunde pe zi decât ceasurile de pe Pământ.
Analiză și proiectare
19
3.3.1 Fundamentele de bază a GPS -ului
Conceptul de GPS se bazează pe timpul și poziția cunoscu tă a sateliților specializați.
Acești sateliți au integrați în structură, ceasuri atomice sincronizate între ele și ceasuri de
masă. Zilnic se corectează devierile de la timpul real de pe pământ, iar locațiile sateliților
sunt cunoscute cu precizie. De asemenea, receptoarele GPS conțin și ele la rândul lor
ceasuri, sincronizate cu timpul real, însă sunt mai puțin stabile. Sateliții GPS t ransmit în
mod continuu timpul și poziția în care se află în fiecare moment. Un singur receptor GPS
e capabil să monitorizeze mai mulți sateliți în același timp și soluționează ecuații pentru
a calcula poziția exactă a receptorului și abaterea care a apăr ut. Este nevoie de minim
patru sateliți care urmăresc receptorul, pentru a fi capabili calculeze patru cantități
necunoscute, și anume trei coordonate de poziție și deviația ceasului de la ora satelitului.
Așadar, fiecare satelit transmite un semnal contin uu care conține:
• Un cod pseudo aleator (binar: secvențe de 1 și 0) care este cunoscut de către
receptor: aliniind în timp versiunea generată de receptor și cea măsurată de către aceasta
a codului, ora sosirii al unui anume punct din secvență , denumită epo că, se poate
determina în scala de timp a ceasului receptorului.
• Un mesaj, care are inclus timpul de transmisiei al epocii de cod (în scala de timp a
sistemului GPS) și desigur, poziția în care se află satelitul la momentul respectiv
Țeoretic, receptorul măsoară ȚOA -urile (timpul sosirii – arrival time)în funcție de
ceasul lui, a patru semnale de satelit. Însumând TOA -urile și ȚOȚ -urile (momentul
transmisiunii – trasmission time) , receptorul calculează valori a patru timpi de zbor (TOF),
care, luând în considerare viteza luminii sunt aproximativ echivalente cu diferențele
dintre raza receptorului și satelit. Mai apoi , poziția tridimensională este calculată de către
receptor.
Practic, poziția în care este situat receptorul (poziție reprez entată în coordonate
carteziene tridimensionale având originea la centrul Pământului) și deplasarea ceasului
acestuia față de timpul GPS se calculează în mod simultan, utilizând ecuații de navigație
pentru a procesa TOF -urile.
3.3.2 Structură
Sistem GPS se alc ătuiește din 3 segmente. Astfel, enumerăm:
a. Segmentul spațial – care este la rândul lui alcătuit din sateliți GPS orbitori sau așa
zise vehicule spațiale (SV) .Inițial, design -ul GPS -ului necesita 24 de vehicule
spațiale, dintre care câte 8 să fie din fiec are orbită circulară, dar la final, aceasta
suferit modificări rămânând la cate 6 plane orbitale având fiecare câte 4 sateliți.
Aceste 6 planuri orbitale au o înclinație de aproximativ 55° , față de zona ecuatorială
a Pământului. Ele sunt separate de o di stanță ascendentă de 60°. Acestea au fost
gândite astfel încât sateliții să parcurgă zilnic aceleași locații, sau aproximativ
aceleași. Prin urmare, activitatea orbitală durează aproximativ 12 ore, o jumătate de
zi. Ideea este ca cei 4 sateliți să nu parc urgă aceleași locații, astfel să se poată
Analiză și proiectare
20
parcurge într -un procent majoritar, întreaga suprafață a Pământului. În acest sens,
diferența dintre unghiurile sateliților în fiecare orbită este de câte: 30, 105, 120 și
din nou 105 grade. Printr -un calcul simplu putem observa că suma unghiurilor este
de 360 grade.
b. Segmentul de control – la rândul lui se compune din :
o stație de control (MCS= master control station),
o O stație de comandă alternativă
o 4 antene la sol
o 6 stații cu scop de monitorizare
Aceste stații sunt folosite pentru a supraveghea sateliții, a actualiza mesajele de
navigație a acestora, pentru a le calcula poziția, a le verifica ceasurile, și nu în ultimul
rând pentru a retransmite toate aceste date fiecărui satelit în parte.
c. Segmentul utilizatorului -este compus în primul rând din sute de utilizatori militari
ai S.U.A., din aliați ai serviciului GPS dar și din milioane de civili, comercianți, oameni
de știință, etc. În genere , receptoarele GPS au în alcătuirea lor o antenă, cu
frecvențele reglate pe ntru a recepționa transmis iile sateliților, procesoare receptor
și un ceas stabil (adesea este utilizat un oscilator de cristal). Mai departe,
receptoarele pot include un display pentru a furniza informații le legate de locație și
viteză , către utilizator. Un receptor este deseori reprezentat de capacitatea de
sateliți pe care îi poate monitoriza simultan. Dacă la început vorbeam de 4 sau 5
sateliți pe un receptor, din 2007 numărul a crescut semnificativ, ajungând până la
12 și chiar 20 sateliți pe un recept or.
3.3.3 Calcul ul poziției
Practic, în fiecare secundă există cel puțin un satelit care emite un semnal radio , care
include așa numitul număr pseudo aleator. Numărul ajută la identificarea acestuia. Prin
triangulație (totalitatea punctelor situate pe o anume s uprafață) se va determina poziția,
calculând distanța de la receptor, respectiv de la punctul ce se dorește a fi determinat, la
grupul de sateliți care sunt vizibili. Țeoretic, în momentul în care primim un semnal de la
un satelit, semnalul radio se propag ă cu aceeași viteză, în toate direcțiile, astfel că poziția
noastră poate fi oriunde pe suprafața sferei. Dacă însă, primim un semnal de la 2 sateliți,
automat, această suprafață se restrânge la intersecția sateliților, poziția noastră putând fi
oriunde pe perimetrul intersecției. Dacă apare și un al treilea satelit, lucrurile devin și mai
clare. Poziția de determinare se va afla la intersecția a trei sateliți, mai exact în doar 2
puncte posibile, precum putem vedea în Figura 3.3.3. Mai rămâne de determinat care
punct este cel corect.
Analiză și proiectare
21
Figura 3.3.3. Intersecția a 3 sateliți.
Deoarece există 2 punte posibile , prin apariția unui al patrulea satelit se va putea
decide poziția corectă. Ca și o concluzie, este absolut necesară recepționarea semnalului
a patru sateliți pentru a se putea localiza o poziție corectă. Cazul în care nu apar erori,
cazul ideal, receptorul se va afla exact la intersecția celor patru suprafe țe ale celor 4
sateliți.
Astfel, folosindu -ne de mesajele interceptate de la minim patru sateliți vizibili,
receptorul GPS este capabil să determine momentele de timp si pozițiil e sateliților
corespunzătoare acestor momente . Componentele poziției x, y și z, precum și ora la c are
au fost trimise se vor nota [xi, yi, zi, ti], unde i face referire la numărul satelitului și prin
urmare poate fi 1, 2, 3 sau 4. Cunoscând intervalul orar la care mesajul a fost înregistrat ,
moment notat cu tr, receptorul GPS poate determina timpul de tranziție ca (tr-ti).
Presupunând că mesajul transmis s -a deplasat cu viteza luminii, notată cu litera c, distanța
parcursă p i se va putea calcula cu formula: (tr-ti)c.
O sferă este definită prin poziția unui satelit, și prin dis tanța dintre acesta și
receptor. Sfera este centrată pe satelit, cu raza acestuia egala cu distanța dintre satelit și
receptor, iar p oziția receptorului se află undeva pe această suprafață.
Precum am specificat anterior, cazul ideal este atunci când cei patru sateliți pot
determ ina în mod corect poziția receptorului. Sunt însă câteva erori care pot apărea în
acest proces.
1. Apar întârzieri datorate atmosferei și ionosferei pământului care pot duce
ușor la apariția erorilor de poziție. Datorită vaporilor de apă din troposferă și a
particulelor ionosferei, semnalul poate fi ușor încetinit. Aceste erori se pot corecta prin
preziceri de întârziere, precum întârzierile ce ar putea apărea într -o zi normală. Aceste
preziceri poartă denumirea de modelare și ajută la o detectare cât mai pre cisă a locației
dorite, luând în considerare condițiile atmosferice din fiecare zi.
2. Existența diferitelor piedici locale. Aceste tipuri de erori sunt similare cu
cele întâlnite la receptoarele ȚV, cunoscute sub denumirea de efecte „fantomă”.
3. Probleme la sa telit. Cu toate că sateliții sunt sisteme complexe și bine
realizate, există situații când apar mici discrepanțe la ceasurile lor atomice, discrepanțe
care pot conduce la erori la măsurare.
Analiză și proiectare
22
3.3.4 Aplicații ale GPS -ului
În momentul de față, există numeroase și v ariate domenii în care GPS -ul este utilizat.
Cu toate că inițial, acest sistem a fost realizat din motive de apărare și urmărire, în
domeniul militar, astăzi își găsește ușor practicabilitatea în multe alte domenii precum în
transporturi, în com erț, sigura nță, monitorizare, civile și multe altele. Exemple concrete:
Țelefoanele mobile, localizarea rutieră, topografie si geodezie, studii climatice,
agricultură, zootehnie, silvicultură, recreațional, detonare nucleară, ghidare rachete ,
navigație aeriană și ma ritimă, etc.
3.4 Tehnologii utilizate
3.4.1 Platfo rma .NET
Platforma .NET este o tehnologie software care a fost dezvoltat de compania
Microsoft, care rulează în primul rând pe sistemul de operare Microsoft Windows. Această
platformă are inclusă o bibliotecă denumit ă Framework Class Library (FCL) și oferă
posibilitatea scrierii codului în mai multe limbi de programare. Programele realizate
pentru .NET sunt executate într -un mediu software numit Common Language Runtime
(CLR). Aceasta este o aplicație virtuală care pun e la dispoziție servicii precum gestionarea
memoriei, securitatea și tratarea excepțiilor. Prin urmare, FCL și CLR definesc împreună
Platforma .NET .
FCL pun e la dispoziție utilizatorilor o interfață , acces la date, conexiune la ea,
criptografie, realizare a de aplicații web, algoritmi numerici și nu în ultimul rând
comunicații de rețea. Programatorii realizează programe software combinând codul lor
sursă cu librăriile acestei platforme de dezvoltare și cu ajutorul a altor biblioteci. În prima
fază, acest ca dru a fost destinat utilizării aplicațiilor care au fost create pentru platforma
Windows. Visual Studio este un mediu de dezvoltare care a fost produs de către Windows
în mare parte pentru software -ul .NET.
Așadar, Țehnologia .NEȚ pune la dispoziție mai m ulte tehnologii precum : ASP, XML,
OOP, SOAP,WDSL, UDDI, și limbaje de programare ca și: VB, C++, C#, J# etc. Țotodată
sigură portabilitatea codului compilat între diferite computere cu sistem de operare
Windows, dar și posibilitatea de refolosire a codulu i în aplicații , neținând cont de limbajul
de programare folosit .
Precum am specificat, această platformă este livrată la pachet cu sistemul de operare
Windows. Mai exact , .NET 2.0 vine cu Windows Server 2003 și se poate instala pe
versiunile anterioa re, până la Windows 98 inclusiv. Mai apoi .NET 3.0 apare instalat pe
Windows Vista și poate fi instalat pe versiunile de Windows XP cu SP2 și Windows Server
2003 cu cel puțin SP1.
Pentru a putea scrie programe folosind această platformă, este necesar să avem 3
componente:
• un set de limbaje de programare precum : C#, Visual Basic .NET, J#, Managed C++,
Smalltalk, Perl,Fortran, Cobol, Lisp, Pascal etc,
• un set de medii în care să putem dezvolta aplicațiile : Visual Studio .NEȚ,
Analiză și proiectare
23
• o bibliotecă de clase pentru realizarea serviciilor Web, a aplicațiilor Web și
aplicațiilor de tipul desktop Windows.
În ceea ce privește bibliotecile, platforma .NEȚ cuprinde un set de biblioteci de clasă
standard. Aceste biblioteci de clasă implementează numeroase funcții comune, prec um
citirea și scrierea fișierelor, redarea grafică, interacțiunea bazei de date și manipularea
documentelor de tip XML. Aceste biblioteci sunt disponibile pentru toate limbile de
programare care sunt compatibile cu C#.
Biblioteca de clasă este împărțită î n două părți :
• Biblioteca de bază (BCL= Base Class Library)
• Biblioteca claselor cadru (FCL= Framework Class Library).
Ca și modele de aplicații realizabile prin platforma .NEȚ, există o multitudine de
posibilități. Această platformă suportă aplicații de ti p Consolă, de tipul Windows Forms,
ASP .NEȚ si ASP .NEȚ Core. Mono se utilizează pentru realizarea de aplicații de telefonie
mobilă precum Android, iOS, macOS, toate realizabile cu Xamarin.
Oricare din limbajele de programare înșirate mai sus se pot util iza în cadrul
acestei platforme respectând niște specificații OOP, specificații care poartă denumirea de
Common Țype Syestem (CȚS). Elementul lor de bază o reprezintă clasele, interfețele,
delegările, și referințele. Ca și mecanisme comune avem moștenirea , polimorfismul și,
desigur, tratarea excepțiilor. Platforma comună de execuție a aplicațiilor se numește
Common Language Runtime(CLR) , precum putem observa în Figura 3.4.1
Figura 3.4.1. Arhitectura Platformei .NET
În ceea ce privește securitatea , astăzi o mare problemă, platforma .NEȚ are
propriul mecanism de securitate reprezentat de 2 caracteristici: Securitatea de acces a
codului( Code Access Security =CAS) și verificare și validare a.
Un alt avantaj al platformei .NET este gestionarea memori ei. CLR -ul (Common
Language Runtime) are rolul de a se ocupa cu administrarea memoriei, adică alocarea ei
și eliberarea când e cazul. CLR se ocupă cu această ramură prin detectarea momentului în
Analiză și proiectare
24
care memoria poate fi eliberată în siguranță. Mai exact, cât timp există o referință către un
obiect, direct sau prin intermediul unui grafic al obiectelor, acel obiect este considerat a fi
încă utilizat. În momentul în care nu se mai realizează nicio referință la un obiect și
obiectul nu poate fi atinsă sau folosit ă, acesta devine gunoi.
3.4.2 Limbajul de programare C#
C# este un limbaj de programare orientat pe obiect și conceput de Microsoft la
sfârșitul anilor 90. A cest limbaj a fost creat ca un concurent pentru limbajul de
programare Java . A fost lansat publicului de abia în iunie, anul 2000 și în mod oficial în
primăvara anului 2002. Limbajul de programare C# este considerat un limbaj modern,
care combina facilități testate de -a lungul timpului cu inovații de ultim moment. Cei care
au creat acest limbaj nou a fost o echipă aparținătoare companiei Microsoft, condusă de
Anders Hejlsberg. Cu toate că el a fost creat de către Microsoft, nu este destinată strict
platformelor aparținătoare doar acestei companii. Compilatoare C# există și pentru alte
sisteme, cum ar fi Linux sau Macintosh. C# derivă din 2 mari limbaje de programare : C și
C++.
Limbajul C# conține numeroase facilități inovatoare, precum suportul încorporat
pentru componente software. Acesta dispune de facilități care pot implementa în mod
direct elemente ce al cătuiesc diferite componente software . Exemple în acest sens sunt
proprietățile, metodele ș i evenimentele. Rămâne poate cea mai importantă facilitate de
care dispune C#, posibilitatea de a lucra într-un mediu cu limbaj mix .
Țotodată, C# are o legătură spec ială cu mediul în care rulează, și anume Platforma
.NEȚ. Pe de o parte, acest limbaj de programare a fost gândit inițial pentru crearea codului
dedicat arhitecturii .NEȚ, pe de altă parte bibliotecilor pe care le utilizează sunt ale
arhitecturii .NET. [14]
Fiind și C# un limbaj de programare pe obiect, trebuie specificat faptul că toate
limbajele orientate pe acest concept au 4 caracteristici importante :
o Încapsularea – mediu care combină codul împreună cu datele pe care le
manipulează
o Polimorfismul – permite unei interfețe acces la acțiuni
o Moștenirea – proces prin care un obiect poate dobândi caracteristicile altui obiect.
o Reutilizarea – o clasă creată, poate fi utilizată pentru o mulțime de obiecte.
3.4.3 Structura unui program C#
Pentru a putea explica mai ușo r acest limbaj de programare, voi prezenta un
exemplu simplu, și clasic. Este vorba de „Hello World” scris în C#:
using System;
namespace HelloWorld
{
class Program
static void Main()
Analiză și proiectare
25
{
Console.WriteLine(“Hello World!”);
}
}
}
O aplicație scrisă în limbaj C# poate cuprinde una sau mai multe clase. Un spațiu de
nume(namespace) este alcătuită din mai multe clase cu diferite denumiri având
funcționalități înrudite. În cazul în care există 2 clase cu același nume, el e pot exista cu
condiția că fac parte din spații diferite. În exemplul de mai sus, HelloWorld.Program,
„HelloWorld” reprezintă numele programului, iar „Program” reprezintă numele clasei în
care s -a scris programul. O clasă este formată din date , precum var iabilele și metode
(funcțiile, partea dinamică a programului ). Pentru a putea apela o metodă, trebui sa o
specificăm ca atare.
Un exemplu clar în acest sens este comanda : Console.WriteLine. Aceasta reprezintă
apelul metodei WriteLine care este definită în clasa Console. Pentru o aplicație de tip
consolă, de altfel, ca și pentru o aplicație Windows, este necesar ca o singură clasă a
aplicației să fie un punct de intrare (entry point). Acest punct de intrare îl reprezintă
funcția Main.
Semnificațiile liniil or din programul de mai sus :
linia 1: specifică folosirea clase i incluse în spațiul de lucru numit System. În cazul
nostru se va folosi clasa Console.
linia 2: numele spațiului nostru , mai exact denumirea aplicației noastre „Hello
World”
linia 4 : precum am specificat, orice program C# poate fi alcătuit din una sau mai
multe clase . În cazul nostru avem o singură clasă și anume clasa „Program”
linia 6: metoda Main, „punctul de intrare” în program
linia 9: se apelează metoda WriteLine din această clasă, pen tru afișarea mesajului
„Hello World!” .
Tipuri valorice în limbajul C#
Țipurile de date si tipurile de operatori stau la baza oricărui limbaj de programare.
În ceea ce privește limbajul de programare C#, acesta oferă o multitudine de tipuri de date
și de operatori. Amintim că limbajul este unul puternic tipizat. Astfel, pentru toate
operațiile implementate, compilatorul face verificări asupra compatibilității tipurilor.
Limbajul de programare C# conține doua categorii generale de tipuri predefinite. Anume:
• tipuri valorice
• tipuri referință.
Țipurile referință se definesc de către clase. În limbajul C#, stau la bază 13 tipuri
valorice, denumite tipuri simple, datorită faptului că exista acea relație directă intre
tipurile de date conținute de C# si tipurile de date conținute de Platforma .NEȚ. Spre
exemplu, dacă în limbajul C variabila de tip „int” se reprezintă pe 2 octeți sau 4, după caz,
Analiză și proiectare
26
în C# computerul alocă 4 octeți tipului de variabilă „int”, fără a mai ține cont de mediul de
execuție. [14]
Astfel, în Țabelul 3.4.3 sunt prezentate toate tipurile conținute de limbajul de
programare C#:
Tabelul 3.4.3. Tipurile valorice din limbajul C#
Tipul în C# Tipul în .NET Semn ificație Dimensiune
(în octeți) Domeniul
bool System.Boolean Valorile de
adevăr
(adevă rat/ fals) 1 fals(0) la adevărat (1)
char System.Char Caractere 2 0 la 65535
byte System.Byte Întregi pe 8 biți,
fără semn 1 0 la 255 (0 la 28-1)
sbyte System.Sbyte Întregi pe 8 biț i,
cu semn 1 -128 la 127
short System.Int16 Întregi în forma
scurtă 2 -327 68 la 32767
ushort System.Uint16 Întregi în forma
scurtă, fără semn 2 0 la 65535 (0 la 216-1)
int System.Int32 Întregi 4 -2147483648 la
214748367
uint System.Uint32 Întregi, fără
semn 4 0 la 4294967295 (0 la 232-
1)
long System.Int64 Întregi în fo rma
lungă 8 -9223327036854775808
la
9223372036854775807
ulong System.Uint64 Întregi în forma
lungă, fără semn 8 0 la
18446744073709555161
5 (0 la 264-1)
float System.Single Virgula mobilă,
simplă precizie 4 1.5x 10−45la 3.4x 1038
double System.Dou ble Virgula mobilă,
dublă precizie 8 5.0x 10−324la 1.7x 10308
decimal System.Decimal Tip numeric cu
28 cifre
semnificative 16 1.0x 10−28la ap rox.
7.9x 1028
Analiză și proiectare
27
3.5 Xamarin
Xamarin este o companie de tip software, creată în San Francisco, California,
fondată în luna mai a anului 2011 [15] de către inginerii care au creat Mono, Mono pentru
Android și MonoȚouch. Acestea do uă sunt implementări de tip cross -platform ale
infrastructur ii lingvistice comune (CLI ) și ale specificațiilor de limbă comună (deseori
numite Microsoft .NET).
Cu ajutorul unei baze de date realizate cu C #, programatorii pot folosi instrumentele
Xamarin pentru a dezvolta aplicații de telefonie mobilă, precum Android, iOS și Windows,
având interfețele cu utilizatorul și codul de partajare pe numeroase platforme, inclusiv
Windows și MacO. Din declarațiile acestora, începând cu luna aprilie a acestui an , 1.4
milioane de dezvoltatori din 120 de țări din întreaga lume, au început să utilizeze
produsele Xamarin. La data de 24 februarie 2016, c ompania Microsoft a anunțat semnarea
unui acord definitiv de achiziționa re a Xamarin ului .
Platforma de dezvoltare Xamarin 2.0 a fost lansat în luna februarie a anului 2013.
Xamarin.Android și Xamarin.iOS fac posibilă pentru prima dată, dezvoltarea aplicați ilor
native Android, iOS și Windows în C #, cu Visual Studio sau Xamarin Studio. Programatorii
practic își re -utilizează codul scris în C # și îl partajează între platformele dispozitivelor.
Acest produs a fost utilizat pentru a crea aplicațiile numeroasel or companii cunoscute,
printre care 3M, AȚ & Ț, HP și Țarget. Xamarin are un avantaj extraordinar prin faptul că
se poate integra cu Visual Studio, IDE -ul Microsoft pentru Platforma .NET, lucru care a dus
la extinderea dezvoltării mediului de programare Vi sual Studio pentru Android și iOS.
Xamarin a lansat, tot odată, un magazin de componente pentru integrarea sistemelor de
tipul backend, a bibliotecilor, serviciilor de cloud și a controalelor UI direct în aplicațiile
mobile.
Acest instrument este unic în acest spațiu, întrucât oferă o singură limbă de
codare: C #, bibliotecă de clasă și timp de rulare (runtime) care funcționează în toate cele
trei platforme mobile de iOS, Android și Windows (limba maternă a Windows Phone este
deja C #), în timp ce compila rea este performantă chiar și când vine vorba de jocuri mai
exigente . Fiecare din aceste platforme conțin un alt set de caracteristici și fiecare variază
în ceea ce privește dezvoltarea aplicațiilor native. Acest lucru se refe ră la aplicații care pot
compi la codul nativ și care interacționează ușor cu subsistemul Java. Ca și un exemplu în
acest sens, specificăm faptul că unele platforme acceptă ca aplicațiile să fie construite în
HȚML și JavaScript, în timp ce altele sunt mai clasice și permit doar codul C / C ++.
Xamarin așadar este special prin faptul că poate combina puterea platformelor
native și totodată adaugă o serie de caracteristici de mare importanță, precum:
1) Integrarea completă pe ntru SDK -urile care stau la bază – Xamarin conține
legături pentru aproape toate SDK -urile platformei care stau la baza atât în iOS, cât și în
Android. Țotodată, aceste legături sunt tipărite puternic, însemnând că sunt extrem de
ușor de navigat, de utilizat și mai oferă o verificare eficientă de tip compilare și decurs ul
dezvoltării. Prin urmare, aceste lucruri duc în final la apariția a mai puține erori în timpul
rulării și desigur, duc la aplicații cu o calitatea superioară .
Analiză și proiectare
28
2) Oferă facilități de invocare directă a bibliotecilor Objective -C, Java, C și C ++.
Acest lucru pune la dispoziție puterea de a utiliza o gamă mare de coduri care au fost deja
create. Mai apoi, Xamarin oferă proiecte obligatorii care permit legarea ușoară a
bibliotecilor native aparținătoare obiectivului C și Java, prin utilizarea unei sintaxe
decl arate.
3) Oferă limbaje moderne de codare. Precum am specificat în capitolele anterioare,
aplicațiile Xamarin sunt scrise în C #, un limbaj relativ nou, modern, care a venit cu
îmbunătățiri semnificative față de obiectivele C și Java. Printre aceste îmbunătăț iri
amintim: funcțiile Dynamic Language, constructele funcționale precum Lambdas, LINQ,
sau caracteristicile de programare paralelă, generice sofisticate și multe altele.
4) Amazing Base Class Library (BCL) – Biblioteca claselor de bază – aplicațiil e
Xamarin utilizează .NEȚ BCL, un set uriaș de clase care au caracteristici complexe și
raționalizate, precum suport ul puternic XML, Baza de date , serializarea , IO, șirurile și
rețelele de internet , și așa mai departe . În plus, codul C # existent poate fi compilat p entru
a fi utilizat într -o altă aplicație, care acordă acces la mii de biblioteci . Acestea pot permite
realizarea de lucruri care nu sunt încă acoperite în BCL.
5) Mediul integrat de dezvoltare modernă (Modern Development Environment
Integrated – IDE) – Instrumentul în discuție, utilizează Xamarin Studio pe Mac OS X și
Visual Studio pe Windows. Acestea au în alcătuirea lor funcții precum finalizarea în mod
automat a codurilor, un sistem sofisticat de management al proiectelor și al soluțiilor, o
bibliotecă mar e de șabloane de proiecte, control integrat al surselor și multe altele.
6) Suportul Mobile Cross Platform – Xamarin pune la dispoziție un suport sofisticat
de tip cross -platform pentru toate cele trei platforme mobile majore de iOS, Android și
Windows. Aplic ațiile pot fi dezvol tate astfel încât să poată partaja până la 90% din codul
lor, iar biblioteca noastră Xamarin.Mobile oferă un API unic prin care se pot accesa
resursele comune în toate cele trei platforme. Acesta poate reduce în mod evident atât
costurile pentru dezvoltare, dar și timpul de lansare pe piață pentru dezvoltatorii de
dispozitive mobile care viz ează cele trei platforme mobile.
Datorită acestor caracteristici puternice ale Xamarin, acesta reușește să umple
un gol pentru dezvoltatorii de apli cații care doresc să folosească un limbaj de programare
și o platformă modernă pentru a putea dezvolta aplicații de tip mobile pe mai multe
platforme, nu doar pe câte una în parte.
3.5.1 Kitul de dezvoltare SDK și Mediul de Dezvoltare Integrat (IDE)
Instrumentu l de dezvoltare a aplicațiilor de telefonie mobilă Xamarin, face ca
facilitățile oferite de platforma SDK sa fie ușor accesibilă folosind sintaxa ușoară de cod C
#.
➢ iOS -Xamarin.IOS expune SDKul platformei de la Apple numită CocoaȚouch
ca și numele spațiu lui de lucru la care se poate face referire folosind C#. Spre exemplu,
platforma UIKit, platformă care conține controalele interfeței cu utiliztorul, poate fi inclus
în program prin simpla comandă „using UIKit”.
Analiză și proiectare
29
➢ Android -Xamarin.Android utilizează SDKul And roid de la Google ca fiind
numele de spații (namespaces), pentru a putea ușor sa ne referim la orice parte din ea
folosin d o simplă linie de comandă precum „using Android.Views„.
➢ Windows – Aplicațiile de tip Windows sunt realizate folosind mediul de
progr amare Visual Studio pe sistemul de operare Windows. Posibilele tipurile de proiect
sunt Windows Forms, WPF, WinRȚ Platforma universală Windows.
Dezvoltarea de proiecte folosind Xamarin se poate realiza folosind mediul de
programare Visual Studio atât pe si stemul de operare Mac cât și pe Windows. În funcție
de tipul de aplicație ales pentru dezvoltare sau creare, se va alege și IDEul cu care se poate
realiza aceasta. Deoarece aplicațiile de Windows pot fi dezvoltate numai în Windows,
pentru a putea realiza a plicații de tipul Androi sau IOS, este necesar să fie instalat mediul
de programae Visual Studio, tot pe sistemul de operare Windows. Cu toate astea, se pot
partaja proiecte și fișiere de pe 2 computere având sisteme de operare diferite precum
Windows și M ac.
IoS
Dezvoltarea aplicațiilor de tip iOS necesită un computer pe care rulează sistemul de
operare Mac. Se poate totodată folosi și Visual Studio pentru a scrie codul si mai apoi
pentru a face deploy folosind instrumentul Xamarin.
Android
Dezvoltarea de aplicații android necesită în mod obligatoriu instalarea programelor
Java și SDKurile Android pentru a se putea realiza. Acestea furnizează cele necesare
compilatorului, emulatorului și altor instrumente pentru a putea crea, lansa și mai apoi
testa aplicaț iile.
Windows
Aplicațiile Windows sunt create folosind mediul de dezvoltare Visual Studio , iar ele
nu folosesc în mod direct Xamarin. Cu toate astea, limbajul de programare C # poate fi
partajat între aplicațiile de tip Windows, Android sau iOS.
3.5.2 Interfața cu utilizatorul
Un avantaj al utilizării instrumentului Xamarin este faptul că interfața cu utilizatorul
are la bază comenzi native pe fiecare platformă, creând aplicații similare, dacă nu chiar
identice precum cele realizate cu Obiectiv -C sau Java. Pent ru crearea view -urilor în
aplicație, se pot configura co menzile în cod, sau după preferințe, crea view -uri complete
utilizând instrumentele de proiectare pe care le pune la dispoziție platforma utilizată.
Fiecare platformă permite comenzilor pentru interfa ța cu utilizatorul posibilitatea
de a fi adăugate la view prin cod. Acest lucru face dezvoltarea aplicațiilor și interfețelor
simplă și rapidă, întrucât se pot vedea rezultatele modificărilor designului în timpul
construcției aplicației, și nu numai rezult atul final, astfel încât să se poată aduce modificări
în cod, pe parcursul dezvoltării aplicației.
Fiecare platformă are o metodă diferită de vizualizare a interfeței :
Analiză și proiectare
30
o Designerul pentru iOS de la Xamarin facilitează construirea view -urilor utilizând
simple funcții drag -and-drop și câmpuri speciale pentru proprietățile elementelor.
o Xamarin oferă tot un tip de designer cu funcții drag -and-drop și în ceea ce privește
Androidul, atât pentru Visual Xamarin cât și pentru Visual Studio.
o Miscrosoft oferă tot un ti p de designer drag -and-drop și pentru aplicațiile
Windows, atât în Visual Studio cât și în Blend. View -urile sunt stocate în fișiere cu extensia
.XAML.
În Figura 3.5.2 sunt exemplele de interfețe pent ru fiecare platformă în parte .
Figura 3.5. 2. Interfețe mobile (oferite de Xamarin) pentru fiecare tehnologie
3.6 Sistemul mobil de operare Android
Android este un sistem de operare dedicat telefoanelor mobile, dezvoltat de către
compania Google și bazat pe Linux și pe conceptele care stau la baza telefoanelor „s mart”
(smartphones). Ce are în plus această tehnologie față de celelalte dispozitive touchscreen
sunt dispozitivele precum Android TV, dezvoltat pentru televizoare, Android Auto,
dedicat mașinilor și Android Wear pentru ceasurile de mână. Fiecare dintre ac estea au o
interfață de utilizator specială, în concordanță cu activitatea care o desfășoară. Mai
departe, variantele de Android sunt utilizate și pe notebook -uri, console dedicate
jocurilor, camere digitale si multe alte produce electronice.
Inițial, acea stă tehnologie a fost dezvoltată de către compania Android Inc., care mai
apoi a fost cumpărat de către Google în anul 2005. Android a fost lansat de abia după 2
ani, în anul 2007. Țot atunci a fost fondat și Open Hanset Alliance – o comunitate alcătuită
de companii din domeniul hardware , software și telecomunicații, comunitate dedicată
dezvoltării dispozitivelor mobile. Odată cu apariția primului dispozitiv comercial, din anul
2008, au existat o multitudine de variante a sistemului de operare Android, ver siunea
curentă fiind 7.0 Nougat, versiune lansată în august 2016. Androidul cel mai de succes
sistem de operare pe tablete de pană acum, dacă ne uităm la numărul de vânzări
înregistrate. Începând cu luna mai a acestui an, Android are 2 miliarde de utilizat ori activi
lunar, și cea mai mare bază instalată a oricărui sistem de operare.
Analiză și proiectare
31
3.6.1 Interfața Android
Ca și la majoritatea smartphone -urilor Android se bazează pe manipularea directă,
utilizând ca și intrări atingerile, ciupirile, împingerile, pentru a putea ma nipula obiectele
aflate pe displayul telefonului, împreună cu tastatura virtuală, care, tot prin atingeri se
comandă. Consolele dedicate jocurilor și tastaturile fizice, se conectează prin Bluetooth
sau prin USB. Răspunsul la comenzile utilizator ilor este conceput pentru a fi imediat,
deseori folosind capacitățile de vibrație ale dispozitivului pentru a conferi un feedback
acestora. Hardware -ul intern, precum accelerometrele, giroscoapele și senzorii de
proximitate sunt utilizați de unele aplicații pentru a răspunde acțiunilor suplimentare ale
utilizatorilor, precum ajustarea ecranului de la portret la peisaj în funcție de poziția
telefonului.
Dispozitivele Android pornesc de la pagina principală, pagina de start, unde se află
practic navigația principală și informațiile folosite zi de zi, asemănătoare desktopului
calculatoarelor. Paginile principale Android sunt conținute în mare parte de pictograme
și widgeturi. Pictogramele reprezintă aplicația asociată lor, iar widgeturile prezintă
diferite conținuturi live precum prognoza meteo, emailul, ora și așa mai departe.
Țotodată, ecranul de start poate avea în alcătuirea lui și alte pagini, la care ajungi dacă
trasezi cu degetul pe ecran, în direcția stânga, respectiv dreapta.
În partea superioară a ecranului, s e află o bară de stare, care afișează în general
informații legate de dispozitiv și despre posibilitățile de conectivitate, precum Bluetooth,
NFC, Wi-fi, Datele mobile, etc. Această bară poate fi extinsă prin trasarea cu degetul în jos,
pe ecran, pentru a afișa un ecran care conține notificările afișate de aplicații sau
actualizări.
Notificările sunt practic informații scurte, directe, la timp și relevante despre
aplicația în cauză, în momentul în care aceasta nu este utilizată, însă când aplicația
rulează, adică este utilizată, utilizatorii sunt direcționați către un ecran din interiorul
aplicației privind notificarea.
3.6.2 Aplicațiile Android
Aplicațiile sunt acele lucruri care au puterea de a extinde funcționalitatea
dispozitivelor, și sunt scrise utilizân d kitul de dezvoltare software (SDKul) Android, ș
deseori cu limbajul de programare Java. Un avantaj al acestei limbi de programare este că
se poate ușor combina cu C/C++. În acest an, luna mai, Google a anunțat sprijinul
dezvoltării aplicațiilor Android î n limba jul de programare Kotlin. [16] Kotlin este un
limbaj de programare scris static care rulează pe Java Virtual Machine și poate fi compilat
în codul sursă JavaScript. În prima fază, ea a fost dezvoltată de o echipă de programatori
din Saint Petersburg, Rusia. A fost proiect cu intenția de a interacționa cu codul Java.
SDK include un set mare de instrumente de dezvoltare, inclusiv un program de
depanare, biblioteci software, un emulator de telefon bazat pe QEMU, documentație, cod
exemplu și tutoriale. În prima fază , mediul de dezvoltare integrat suportat de Google (IDE)
a fost Eclipse utilizând pluginul Android Development Tools (ADT) , dar în luna decembrie
a anului 2014, Google lansează Android Studio, program bazat pe IntelliJ IDEA, ca fiind
IDE-ul său principal pentru dezvoltare de aplicații Android.
Implementarea
32
4 Implementarea
4.1 Simularea căderilor și realizarea experimentelor
Am simulat, cu ajutorul a câțiva subiecți, fenomenul de cădere. Prin monitorizarea
subiecților, am simulat și comportamentele specifice rutin elor cotidiene, dar și rezultatele
care au apărut în urma acestor experimente. În toate aceste cazuri, persoanele au avut
asupra loc telefonul mobil, atât în mână, cât și în buzunare.
Întrucât căderea poate sfârși în diferite poziții, era de așteptat ca r ezultatele să fie
diferite. Așadar, am stabilit că există patru tipuri de căderi:
• Căderi în față
• Căderi în spate
• Căderi pe partea stângă
• Căderi pe partea dreaptă
Aceste căderi au fost repetate de mai multe ori, întrucât rapiditatea căderii poate
diferi de la o situație la alta. Cu toate că aplicația se adresează într -o măsură mare și celor
cu vârste înaintate, subiecții s -au încadrat în intervalul de 20- 30 ani. Mai departe, am ținut
cont și de diferența de greutate, deoarece, o persoană cu o greutate mai m are, va cădea
oarecum diferit față de o persoană cu o greutate medie, sau sub medie. Acest lucru
contează în momentul în care vorbim despre impactul care îl are căderea în sine. Țotodată,
înălțimea persoanelor s -a încadrat undeva între 1,60 – 1,90 metrii. Această caracteristică,
poate nesemnificativă în prima parte, face diferența distanței de cădere, fiind evident că o
persoană cu înălțimea de 1,60 metri va ajunge mai repede la sol decât o persoană de
înălțime 1,90 metri. Așadar și impactul căderii va dife ri, dar nu cu diferențe foarte mari.
Întrucât ar fi necesare o multitudine de experimente și simulări când vine vorba
de impactul unei căderi, tipurile de căderi și situațiile în care pot avea loc, precum și
locațiile în care se întâmplă, am ales să fac experimente cu cele mai des întâlnite.
Din numeroase studii realizate, a reieșit faptul că o jumătate din căderi au loc în jurul
casei persoanei în cauză , [17] și de asemenea cele mai des întâlnite urmări sunt fracturile.
Doctorul Olson S., a declarat că 95% din fracturile de șold sunt rezultatul căderilor.[18]
S-a stabilit faptul că c ele mai frecvente căderi au loc când oamenii se află în poziția
verticală, iar cele mai frecvente cauze a acestor căderi sunt datorate alunecărilor și
pierderii echilibrului. Cea mai mare pondere a căderilor au loc în rândul adulților,
preponderent a vârstnicilor, iar acestea sunt pe direcția înainte, adică căderea se
realizează pe partea din față. Există totuși și numeroase situații când căderile se
desfășoară pe partea later ală, fie ea pe partea stângă sau pe partea dreaptă. Așadar , este
nevoie ca toate căderile din picioare să fie examinate când se realizează asemenea studii.
Figura 4.1.a reprezintă accelerația în cazul căderilor pe spate, iar Figura 4.1.b reprezintă
accelerația în cazul căderilor pe față.
Implementarea
33
Figura 4.1.a Reprezentarea grafică a accelerației în cazul căderilor pe spate
Figura 4.1.b Reprezentarea grafică a accelerației în cazul căderilor pe față
00.511.522.53
1
6
11
16
21
26
31
36
41
46
51
56
61
66
71
76
81
86
91
96
101
106
111
116
121
126
131
136
141
146
151
156
161
166
171
176
181
186
191
196ACCELERATIA [M/S^2]
TIMP [MS]-Accelerația
00.511.522.5
1357911131517192123252729313335373941434547495153555759616365676971737577798183858789919395ACCELERAȚIA [M/S^2]
TIMP [MS]-Accelera ția
Implementarea
34
4.1.1 Activitățile zilnice și studiul acestora
Fiecare activ itate zilnică, fizică, cât de ne -semnată, are un impact asupra
organismului. Mai apoi activitățile fiecăruia diferă extrem de mult, de la o persoană la alta.
Cu toate astea, fiecare om realizează acțiuni de genul : întindere, așezare, ridicare, mers,
alergat, plimbat etc.. Însă, daca luăm în considerare doar acele activități comune care se
repetă în fiecare zi cel puțin o dată, observăm că ele nu mai sunt atât de numeroase. Din
această cauză am ales sa studiez această parte a proiectului meu în mod separat, luând în
considerare acele situații de natură repetitivă la fiecare persoană, și totodată, activitățile
desfășurate în fiecare zi .
Pentru a fi sigură că aplicația mea de detectare a căderilor nu va considera o simplă
mișcare de rutină, fie ea spontană sa u mai lentă în desfășurare, drept o cădere, am analizat
rezultatele acestor activități și variabilele rezultate din accelerometru. Acest lucru m -a
ajutat mult și în stabilirea pragurilor în ceea ce privește căderile. Astfel, am analizat :
o Așezarea și ridi carea de pe un scaun – Figura 4.1.1.a
o Întindere pe orizontală și ridicarea de pe un pat – Figura 4.1.1.b
o Simpla activitate de plimbare – Figura 4.1.1.c
Figura 4.1.1.a Așezare și ridicarea pe/de pe un scaun
00.511.522.53
1
52
103
154
205
256
307
358
409
460
511
562
613
664
715
766
817
868
919
970
1021
1072
1123
1174
1225
1276
1327
1378
1429
1480
1531
1582
1633
1684
1735
1786
1837
1888
1939
1990
2041
2092
2143
2194ACCELERATIA [M/S^2]
TIMP [MS]-Accelerația
Implementarea
35
Figura 4.1.1.b Întindere pe orizontal ă și ridicarea de pe un pa t
Figura 4.1.1.c Activitate de plimbare
00.20.40.60.811.21.4
1
12
23
34
45
56
67
78
89
100
111
122
133
144
155
166
177
188
199
210
221
232
243
254
265
276
287
298
309
320
331
342
353
364
375
386
397
408
419
430
441
452
463ACCELERA ȚIA [M/S^2]
TIMP [MS]-Accelerația
00.511.522.53
1
19
37
55
73
91
109
127
145
163
181
199
217
235
253
271
289
307
325
343
361
379
397
415
433
451
469
487
505
523
541
559
577
595
613
631
649
667
685
703
721
739
757
775
793ACCELERATIA [M/S^2]
TIMP [MS] -Accelerația
Implementarea
36
4.2 Achiziția datelor și algoritmul de detectare a căderii
Datele au fost preluate cu ajutorul telefonului mobil Huawei P9 Lite 2017. Acestea
le-am stocat într -un fișier tip text pentru a le putea analiza și stabili constantele care vor
defini în final, impactul de cădere. Pentru a putea stabili pragurile în care au loc aceste
evenimente, a fost nevoie sa le compar cu variabilele reprezentative activităților
cotidiene.
Mai apoi, pentru a p utea calcula impactul oricărei acțiuni, trebuie să calculăm
accelerația totală. Accelerometru lucrează concomitent pe toate axele sale fizice. Aceste
axe sunt x, y și z. Așadar, dacă dorim să calculăm accelerația totală, trebuie să vedem care
sunt accelera țiile care se produc pe fiecare axă în parte. Aceste accelerații apar în urma
mișcărilor care le realizăm având desigur asupra noastră telefonul mobil. În figura 4.2.a
este un exemplu de valori a variabilelor x, y și z, valori rezultate în urma simulării unei
căderi.
Formula accelerației totale este următoarea:
Accelerația totală = √𝑥2+ 𝑦2+𝑧2 [19]
-unde x reprezintă accelerația axei x, y reprezintă acc elerația axei y, iar z reprezintă
accelerația axei z. Astfel, în funcție de valoarea aces tor variabile, se pot determina
praguri le în care putem încadra evenimentul de cădere.
În urma testelor realizate, am stabilit 2 praguri:
• Un prag inferior
• Un prag superior
Figura 4.2 .a Accelerațiile celor 3 axe conform unui eveniment de căde re
Implementarea
37
Atât pragul superior cât și pragul inferior au fost necesare implementării
algoritmului de detectare a căderii, algoritm care se poate vedea în Figura 4.2. b. și Figura
4.2.c.
Figura 4.2.b. Prima parte a algoritmului de detectare a căderii
În prima p arte a implementării algoritmului de detectare a căderii am declarat
senzorul accelerometrului, cele 2 timere : timer1 și timer 2, variabila de tip întreg: timp,
cele 3 variabile corespunzătoare axelor x, y, z, și accelerația totală. Despre aceste timere
voi discuta în cea de -a doua parte a algoritmului. În metoda OnSensorChanged, memorez
valoarea accelerației determinată de evenimentul de cădere, pe toate cele 3 axe. Mai
exact, în variabila x voi memora valoarea accelerației corespunzătoare axei x, în y
valoarea accelerației corespunzătoare axei y, iar în variabila z, accelerația
corespunzătoare axei z. Următoarea linie de cod reprezintă simpla afișare a acestor
valori, precum se poate vedea în Figura 4.2.a.
În cadrul metodei OnCreate apelez metodele Timer _Elapsed și Țimer_Elapsed2,
metode care fac referire la cele 2 timere. Mai apoi, apelând prima metodă prin obiectul
creat „timer1”, pornesc primul timer.
Implem entarea
38
Figura 4.2.c. A doua parte a algoritmului de detectare a căderii
În cea de a doua figura putem observa modul în care algoritmul de detectare a
căderii funcționează. După pornirea primului timer, aplicația rulează în metoda
Țimer_Elapsed. Putem vedea și aici formula reprezentativă accelerației totale. În cazul în
care accelerația totală este mai mică decât pragul superior stabilit în urma testelor, se va
porni timerul 2. În acest moment, programul se află în cea de a doua metodă :
Țimer_Elapsed2. Aici incrementăm timpul ,până când se îndeplinesc concomitent
următoarele condiții :
o Accelerația totală es te mai mare decât pragul inferior
o Timpul este cel mult egal cu 10
În momentul în care se îndeplinesc concomitent aceste 2 condiții, înseamnă că a
avut loc o cădere. Metoda OnResume are rolul de a reseta timer -ul și accelerometrul.
Implementarea
39
Figura 4.2.d – Diagrama de flux a algoritmului
4.2.1 Obținerea pragurilor
Pragurile cu ajutorul cărora se po t determina eveniment ele de cădere, s -au obținut
astfel :
➢ Pragul superior = vârfurile pozitive rezultate în urma semnalelor înregistrate
pentru fiecare activitate în mod separat. Acestea se vor numi valori de vârf superior . Mai
exact, pragul superior reprezintă cea mai mică valoarea a vârfurilor superioare
➢ Pragul inferior = vârfurile negative rezultate în urma semnalelor înregistrate
pentr u fiecare activitate în mod separat. Acestea se vor numi valori de vârf inferior. Mai
exact, pragul inferior reprezintă cea mai mică valoare a vârfurilor inferioare.
În urma simulărilor realizate, am observat că depășirea celor două praguri nu se
realizeaz ă concomitent. Din această cauză, am ales să introduc un alt prag, de data asta
unul de timp. Întrucât după depășirea pragului superior, urmează imediat depășirea
pragului inferior, am analizat timpul dintre aceste 2 momente. Am constatat că de fiecare
dată timpul de depășire între cele 2 limite a luat loc într -un interval de timp mai mic de
10 ms. START
INIȚIALIZARE
A FOST DEPĂȘIT
PRAGUL
INFERIOR?
A FOST DEPĂȘIT
PRAGUL
SUPERIOR?
TIMPUL S -A
SCURS ?
CĂDERE DA
NU
DA
DA
NU
Implementarea
40
4.2.2 Instrucțiunile de utilizare a aplicației . Interfața
Întrucât această aplicație este destinată în cea mai mare parte persoanelor cu
vârste înaintate, am ales să r ealizez o interfață simplă, ușor de utilizat și în același timp
plăcută. Această aplicație a fost realizată în mediul de programare Visual Studio 2017.
Pentru varianta mobile, am ales să implementez aplicația cu ajutorul platformei
Xamarin, care oferă posi bilitatea scrierii programelor în C # chiar dacă acestea urmează
să ruleze pe sistemul de operare Android. Țotodată, pentru stabilirea automată a
coordonatelor GPS și trimiterea de mesaje, respectiv realizarea de apeluri, am utilizat
librăriile dedicate din platforma Xamarin. Aplicația cuprinde 2 ferestre :
• Cel principal, care apare în momentul accesării aplicației (Figura 4.2.2.a)
• Secundar, fereastra în care se pot realiza setările de către utilizator, precum
și viziona datele deja salvate (Figura 4.2.2.b)
Figura 4.2.2.a Fereastra principală a aplicației
Implementarea
41
Figura 4.2.2.b Fereastra de setări a aplicației
În prima ferestră, utilizatorul activează sau dezactivează aplicația. Aceasta nu va
rula în fundal decât dacă se află în starea „Active”. Precum orice program, și acesta
cunsumă din energia telefonul ului mobil , astfel că utilizatorul poate opri rularea
programului prin dezactivarea aplicației.
În cea de a doua fereastră, utilizatorul trebuie sa seteze numele și numarul de
telefon al unei persoane apropiate. Prin aceste setări, în cazul unei căderi, aplicația va
încerca în prima fază să ia legătura cu persoana setată inițial, prin trimiterea unui mesaj.
4.2.3 Modul de funcționare a aplicației
Aplicația de detectare a căderilor a fost gândită pent ru mai multe situații :
➢ Situația în care a avut loc o cădere
➢ Situația în care nu a avut loc nicio cădere, dar accelerometrul a depistat un
impact similar cu cel al unei căderi
În ambele situații, aplicația va declanșa o alarmă pentru 15 secunde. Această al armă
a fost gândită nu doar pentru situația în care accelerometrul a depistat o cădere falsă, și
astfel utilizatorul să poată opri aplicația la timp, înainte să înainteze către următoarele
faze, dar și pentru situația în care persoana în cauză a suferit o cădere, și astfel, prin
alarmă să poată atrage atenția posibilelor persoane din apropiere.
Astfel, în aceste 15 secunde cât alarma este declanșată, utilizatorul poate reseta
întreaga aplicație prin oprirea alarmei, în cazul în care aceasta nu a suferit o c ădere reală.
Implementarea
42
Însă, daca a avut loc căder ea și s -au scurs cele 15 secunde fără a fi oprită alarma, aplicația
va trece la următorul pas, anume, va trimite un mesaj persoanei de contact setată inițial
în aplicație, cu coordonatele GPS reprezentative locației în care se află, precum și adresa
clară( strada, numărul, orașul și codul poștal). Un exemplu de mesaj se poate vedea în
Figura 4.2.3.a
Figura 4.2.3.a Model de mesaj sms trimis la persoana de contact
După trimiterea mesajului, se va porni un alt Ți mer, care va aștepta 30 secunde ca
persoana setată ca și contact de urgență să încerce să contacteze deținătorul telefonului
mobil. În cazul în care persoana nu revine cu un telefon, mesajul trimis inițial, acum
cuprinzând și datele de contact salvate în a plicație ( Figura 4.2.3.b ), va fi automat trimis
către echipajele medicale de urgență.
Figura 4.2.3.b Model de mesaj sms trimis la 112
Țotuși, dacă persoana de contact revine cu un telefon, din timp, iar utilizatorul
răspunde la telefon, aplicația se va reseta automat fără să mai treacă la ultima fază. În
Figura 4.2.3.c este prezentat întreg procesul care urmează în urma detectării unei căderi.
Implementarea
43
Figura 4.2.3.c Descrierea proceselor în urma dete ctării unei căderi
CĂDERE
ALARMA
OPRIREA
ALARMEI S-A SCURS
TIMPUL
MESAJ
CONTACT
CONTACUL
REVINE CU UN
TELEFON S-A SCURS
TIMPUL
UTILIZATORUL
RĂSPUNDE LA
TELEFON UTIL IZATORUL
NU RASPUNDE
LA TELEFON SE TRIMITE
MESAJ LA
URGENȚE
RESETARE 15 secunde
30 secunde
Concluzii
44
5 Concluzii
5.1 Rezultate obținute
În urma numeroaselor teste și simulări, am reușit să stabilesc pragurile
accelerometrului în care pot încadra o cădere. În prima fază am simulat cu telefonul
activitățile zilnice, pentru a putea stabili variabilele între care se încadrează acestea .
Astfel pentru:
➢ Așezat pe scaun :
• valoarea maximă a vârfului superior – 1.9 g
• valoarea maximă a vârfului inferior – 0.2 g
➢ Întins pe pat :
• valoarea maximă a vârfului superior – 2.1 g
• valoarea maximă a vârfului inferior – 0.25 g
➢ Activitate mers :
• valoarea maximă a vârfului superior – 1.9 g
• valoarea maximă a vârfului inferior – 0.6 g
Mai departe am realizat simulă rile de cădere în toate variantele ei posibile. Pentru
ca rezultatele să fie cât mai valide, am avut ajutorul a mai multor persoane care și ele la
rândul lor au simulat diferite căderi. Specific faptul că toate căderile au fost simulate în
medii controlate.
Așadar, pragurile de încadrare a căderii sunt precum urmează:
➢ valoarea maximă a vârfului superior : 2.2 g
➢ valoarea maximă a pragului inferior : 0.3 g
5.2 Perspective de viitor
Această metodă de detectare a căderii este una simplă, comodă și totodată adecvată
dispozitivelor de telefonie mobilă. Acesta nu necesită o putere de calcul foarte mare, iar
telefoa nele mobile din prezent au integrate toate componentele necesare realizării unei
asemenea aplicații .
Întrucât simulările au avut loc în medii controlate, pentru dezvoltarea dispozitivului
în viitor trebuie realizate teste și în medii mai puțin controlate. O soluție în acest sens ar
fi folosirea unor manechin e în vederea realizării simulărilor. Pentru ca rezultatele să fie
cât mai valide, aceste manechine trebui e să fie de înălțimi diferite, greutăți dif erite. M ai
exact, acestea trebuie să fie cât mai apropi ate de realitate.
De asemenea, trebuie să luăm în considerare faptul că toate simulările au avut loc
pe saltele, respectiv scaune sau alte suprafețe mai puțin dure. Șansele însă ca persoană
care a suferit o cădere să aibă loc pe o suprafață moale sunt foar te mici. Marea majoritate
Concluzii
45
a căderilor au ca urmare princi pală diferite fracturi, fisur i, respectiv lovituri la cap și multe
altele.
Pentru a se putea realiza o asemenea aplicație dar cu rezultate mai apropiate de
realitate, ar fi indicat utilizarea girosco pului concomitent cu accelerometrul. Giroscopul
este tot un senzor de mișcare. Cu ajutorul lui se poate stabili poziția în spațiu. Practic,
împreună cu accelerometrul, mișcarea s -ar putea detecta pe 6 axe (fiecare având câte 3
axe).
Ca și o concluzie gener ală, pentru ca această aplicație să poată fi utilizată pe o scară
largă, trebuie luate în considerare o sumedenie de factori, dar și posibile îmbunătățiri.
Trebuie realizate cât mai multe teste, în cât mai multe medii, fie ele controlate sau
necontrolate, pe diferite suprafețe și toate tipurile posibile de căderi.
Bibliografie
46
6 Bibliografie
[1] https://www.dimensionengineering.com/info/accelerometers
[2] W. Rindler, "Special, General, and Cosmological", in "Essential Relativity",Springer,
2013, p. 61
[3] A.Einstei n, "The Special and General Theory", in "Relativity", New York, Henry
Holt,1920, p. 168.
[4] R. Penrose,"The Principle of Equivalence",The in "Road to Reality", New York,
Knopf, 2005, pp. 393 –394.
[5] http://qcn.stanford.edu
[6] Wilcoxon re search, "Low Frequency Vibration Measurements on a
Compressor Gear Set” (PDF), 2014
[7] E. Hahn, "Vertical Speed Measurement'', in sci.aeronautics.airliners, 1996
[8] M. Andrejašic, "MEMS ACCELEROMEȚERS" (PDF), University of Ljubljana.
(Martie2008), [Online]. Available:
http://mafija.fmf.uni -lj.si/seminar/files/2007_2008/MEMS_accelerometers –
koncna.pdf
[9] "Noțiuni de sei smologie inginerească" 2014, Universității Politehnica
Țimișoara , Facultatea de co nstrucții, [Online]. Available:
http://www.ct.upt.ro/users/AurelStratan/dsis/curs04_dsis.pdf
[10] "These Apps Are Made For Walking" ,NYTimes.com (2014), [Online]. Availabe :
https://www.nytimes.com/2014/02/20/technology/personaltech/these -apps –
are-made -for-walking.html?_r=0
[11] "Mullard: DDR100 Accelerometer Double Diode data s heet" (PDF), 2013, [Online],
Available: http://tubedata.milbert.com/sheets/154/d/DDR100.pdf
[12] I. Srivastava, "How Kargil spurred India to design own GPS", in "The Times of
India", 2014.
[13] A. Negrescu, "Primul GPS, inventat în 1909", in "Din istoria gadgeturilor" 2015.
[14] S. Herbert , " C#: A Beginner’s Guide", (2001)
[15] A. Binstock, . "NET Alternative In Transition"., in InformationWeek, 2011
[16] P. Miller,(May 17, 201 7). "Google is adding Kotlin as an official programming
language for Android development", in "The Verge", Vox Media, 2017.
[17] R. Haslam, "Understanding and Preventing Falls", editura Taylor
& Francis, 2005, Pp: 90 -91.
[18] S. Olson, "Reducing Fall s and Resulting Hip Fractures Amo ng Older
Women", 2000, pp 1 -12
Bibliografie
47
[19] L. Beretu, "FU NDAMENTE DE INGINERIE MECANICA" , 20 10, p:6, [Online] .
Available:
http://www.mec.upt.ro/meca/poz10staff/LB/fundamente_de_inginerie_meca
nica.pdf
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: APLICAȚ IE PENȚRU PERSOANELE CU DIZABILIȚA Ț I LOCOMOȚORII LUCRARE DE DIPLOMĂ Autor: Nicole MILEA Conducător științific: Prof.dr.ing. Honoriu VĂLEAN… [624130] (ID: 624130)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
