29
PN-III-P1-1.2-PCCDI-2017-0290 1 RAPORT STIINTIFIC PROIECT 1 Proiectarea, modelarea și simularea în funcționare a configurațiilor distribuite de senzori și sisteme servoing vizuale de pe sistemele autonome complexe (CAS-SI, CAS-ARP, CAS-VAM) destinate tehnologiilor de asistare personală medico-socială, intra/extra spital și acasă Etapa 2 Modelarea și simularea sistemului senzorial integrat Activitatea 2.1 Modelarea și simularea senzorilor selecționați în Etapa 1 Activitatea 2.1 Modelarea si simularea senzorilor selectionati in Etapa 1 2.1.1 Modelarea și simularea utilizării senzorului DJI Guidance Sistemul DJI Guidance este un sistem de cartografiere bazat pe fuziunea informației de la senzori optici și ultrasonici, care poate fi instalat pe platforme robotice mobile. Sistemul utilizează camere video și senzori cu ultrasunete pentru a aduna informații în timp real despre împrejurimile sale și pentru a extrage informații precum viteza, poziția și spațiul liber pe care să le ofere sistemului de control al platformelor mobile autonome complexe. Pentru sistemul autonom complex destinat tehnologiilor de asistare personală medico-socială, intra/extra spital și acasă realizat în cadrul prezentului proiect de cercetare, au fost utilizate co ntrollerul Guidance Core și 4 elemente senzoriale Guidance. Schema locală a conexiunilor este redată în figura de mai jos: Figura 2.1.1 Schema locala a conexiunilor Cele 4 elemente senzoriale au fost plasate pe cele 4 laterale ale sistemul autonom complex. Informația primară achiziționată de acestea a fost prelucrată de controllerul Guidance, iar acesta a oferit la ieșire harta distanțelor până la cele mai apropiate obiecte de sistemul autonom complex, sub forma unor hărți de adâncime reprezentate în coordonate polare. Informația procesată este transmisa printr -o conexiune USB către sistemul de decizie, unde este preprocesată prin intermediul funcțiilor incluse în pachetul de dezvoltare software Guidance SDK. Simularea funcțională a fost realizată prin int ermediul programului Matlab. Sistemul DJI Guidance a fost testat și validat prin scanarea unor spații interioare. In setul de imagini de mai jos este prezentată o imagine a spațiului scanat, precum și reprezentarea norului de puncte al distanțelor oferit de sistemul DJI Guidance, pentru una dintre cele 4 sisteme senzoriale. Acest set de imagini reprezintă unul dintre multiplele seturi de imagini achiziționate pentru a valida utilizarea sistemului DJI Guidance, și pentru a determina limitele utilizării acestuia funcție de condițiile de iluminare.

RAPORT STIINTIFIC PROIECT 1cidsactech.ucv.ro/data/_uploaded/Documente/RAPORT CIDSACTEH P1 2019 UC… · spațiile polar, cât și cartezian - unele din următoarele abordări vor

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: RAPORT STIINTIFIC PROIECT 1cidsactech.ucv.ro/data/_uploaded/Documente/RAPORT CIDSACTEH P1 2019 UC… · spațiile polar, cât și cartezian - unele din următoarele abordări vor

PN-III-P1-1.2-PCCDI-2017-0290

1

RAPORT STIINTIFIC

PROIECT 1

Proiectarea, modelarea și simularea în funcționare a configurațiilor distribuite de senzori și sisteme

servoing vizuale de pe sistemele autonome complexe (CAS-SI, CAS-ARP, CAS-VAM) destinate

tehnologiilor de asistare personală medico-socială, intra/extra spital și acasă

Etapa 2

Modelarea și simularea sistemului senzorial integrat Activitatea 2.1 Modelarea și simularea senzorilor selecționați în Etapa 1

Activitatea 2.1

Modelarea si simularea senzorilor selectionati in Etapa 1

2.1.1 Modelarea și simularea utilizării senzorului DJI Guidance

Sistemul DJI Guidance este un sistem de cartografiere bazat pe fuziunea informației de la senzori

optici și ultrasonici, care poate fi instalat pe platforme robotice mobile. Sistemul utilizează camere video și senzori cu ultrasunete pentru a aduna informații în timp real despre împrejurimile sale și pentru a extrage

informații precum viteza, poziția și spațiul liber pe care să le ofere sistemului de control al platformelor

mobile autonome complexe. Pentru sistemul autonom complex destinat tehnologiilor de asistare personală medico-socială,

intra/extra spital și acasă realizat în cadrul prezentului proiect de cercetare, au fost utilizate controllerul

Guidance Core și 4 elemente senzoriale Guidance. Schema locală a conexiunilor este redată în figura de mai jos:

Figura 2.1.1 Schema locala a conexiunilor

Cele 4 elemente senzoriale au fost plasate pe cele 4 laterale ale sistemul autonom complex.

Informația primară achiziționată de acestea a fost prelucrată de controllerul Guidance, iar acesta a oferit la ieșire harta distanțelor până la cele mai apropiate obiecte de sistemul autonom complex, sub forma unor

hărți de adâncime reprezentate în coordonate polare. Informația procesată este transmisa printr-o conexiune

USB către sistemul de decizie, unde este preprocesată prin intermediul funcțiilor incluse în pachetul de dezvoltare software Guidance SDK. Simularea funcțională a fost realizată prin intermediul programului

Matlab. Sistemul DJI Guidance a fost testat și validat prin scanarea unor spații interioare. In setul de imagini

de mai jos este prezentată o imagine a spațiului scanat, precum și reprezentarea norului de puncte al distanțelor oferit de sistemul DJI Guidance, pentru una dintre cele 4 sisteme senzoriale. Acest set de imagini

reprezintă unul dintre multiplele seturi de imagini achiziționate pentru a valida utilizarea sistemului DJI

Guidance, și pentru a determina limitele utilizării acestuia funcție de condițiile de iluminare.

Page 2: RAPORT STIINTIFIC PROIECT 1cidsactech.ucv.ro/data/_uploaded/Documente/RAPORT CIDSACTEH P1 2019 UC… · spațiile polar, cât și cartezian - unele din următoarele abordări vor

PN-III-P1-1.2-PCCDI-2017-0290

2

Figura 2.1.2 Scanarea unui spațiu deschis, cu număr redus de obstacole – reprezentarea și interpretarea

norului de puncte obținut.

Figura 2.1.3 Imaginea stereoscopia a unui spatiu complex din punct de vedere al obstacolelor

Figura 2.1.4 Norul de puncte aferent spatiului de mai sus, obtinut de la un singur element senzorial

Page 3: RAPORT STIINTIFIC PROIECT 1cidsactech.ucv.ro/data/_uploaded/Documente/RAPORT CIDSACTEH P1 2019 UC… · spațiile polar, cât și cartezian - unele din următoarele abordări vor

PN-III-P1-1.2-PCCDI-2017-0290

3

Page 4: RAPORT STIINTIFIC PROIECT 1cidsactech.ucv.ro/data/_uploaded/Documente/RAPORT CIDSACTEH P1 2019 UC… · spațiile polar, cât și cartezian - unele din următoarele abordări vor

PN-III-P1-1.2-PCCDI-2017-0290

4

Figura 2.1.5 Norul de puncte aferent spatiului de mai sus, obtinut de la toate elementele senzoriale,

reprezentat din diverse puncte de vedere

După ce sistemul DJI Guidance a fost validat pentru fiecare element senzorial, in multiple scenarii,

s-a trecut la utilizarea simultană a celor 4 elemente senzoriale, pentru a obține o scanare completă, dupa

cele 4 direcții, a spațiului din jurul sistemul autonom complex. 2.1.2Modelarea și simularea utilizării senzorului LIDAR Velodyne LiDAR Puck 16 creează imagini 3D la 360° prin utilizarea a șaisprezece perechi de

lasere/detectoare montate într-o carcasă compactă. Carcasa se rotește rapid pentru a scana mediul înconjurător. Fasciculele laser sunt emise de mii de ori pe secundă furnizând un nor de puncte 3D ,bogat în

detalii, în timp real.

Figura 2.1.6 Prezentare generală a sistemului Velodyne LiDAR Puck 16

VLP-16 măsoară reflectivitatea unui obiect cu o rezoluție de 256 biți, această fiind independeța de puterea laserului sau distanță care variază între 1m - 100m.

Datorită divergenței fasciculului laser, un singur fascicul lovește mai multe obiecte producând

astfel întoarceri multiple. VLP-16 analizează întoarcerile multiple și reportează cel mai puternic retur, ultimul retur sau ambele retururi.

În imaginea de mai jos, majoritatea fasciculelor lovesc peretele apropiat în timp ce restul

fasciculelor lovesc peretele îndepărtat. VLP-16 va înregistra ambele retururi doar dacă distanța între cele

două obiecte este mai mare de 1m. În cazul în care cel mai puternic retur este ultimul retur, al doilea cel mai puternic retur este reportat.

Page 5: RAPORT STIINTIFIC PROIECT 1cidsactech.ucv.ro/data/_uploaded/Documente/RAPORT CIDSACTEH P1 2019 UC… · spațiile polar, cât și cartezian - unele din următoarele abordări vor

PN-III-P1-1.2-PCCDI-2017-0290

5

Figura 2.1.7 Moduri de întoarcere

Senzorul VLP-16 nu necesită o configurație, calibrare sau alte setări pentru a începe producerea

datelor utile. Odată ce senzorul este montat și conectat, furnizarea de energie inițiază automat scanarea și

furnizarea de date. Cea mai ușoară metodă de a vedea senzorul VLP-16 în acțiune este folosirea programului

VeloView, un software de observare deschis publicului. VeloView citește pachetele primite de la VLP-16 prin conexiunea Ethernet, efectuează calculele

necesare pentru a determina locația exactă a punctelor în spațiu, apoi reprezintă graficul 3D pe calculatorul

utilizatorului. Acesta reprezintă punctul de început recomandat pentru noii utilizatori. Pentru a achiziționa și folosi datele de la senzor trebuie urmați niște pași fundamentali:

- Stabilirea unei conexiuni cu senzorul VLP-16

- Analizarea pachetelor de date pentru unghiul de rotație, distanță măsurată, și valorile de reflexie calibrate. Acest lucru este realizat de către programul software folosit. Acesta va

citi datele de la portul Ethernet, și va extrage unghiul de azimut, unghiul de elevație,

distanța până la obiect și referința de timp. Odată ce informația este identificată, se va trece

la următorul pas. Calcularea coordonatelor pe axele X, Y, Z din unghiul de rotație, distanța măsurată și unghiul

vertical dependent de ID-ul laser. Senzorul VLP-16 returnează coordonatele în coordonate sferice(r, ω, α).

Prin urmare, o transformare este necesară pentru a converti în coordonate XYZ. Unghiul vertical sau unghiul de elevație(ω) este fixat și este dat de ID-ul laser. Poziția de retur în pachetul de date indică ID-ul

laser. Unghiul orizontal sau unghiul de azimut(α) este reportat la începutul fiecărei secvențe de emitere

laser, iar distanța este reportată în cei doi octeți de distanță. Cu aceste informații, coordonatele X, Y, Z pot fi calculate pentru fiecare punct măsurat. Punctele cu distanță mai mică de 1 metru vor fi ignorate. Conversia

este realizată în figura următoare:

Figura 2.1.8 Conversia din coordonate sferice în coordonate carteziene

Ultimul pas este reprezentarea grafică după nevoile utilizatorului. După calcularea coordonatelor X, Y, Z, informația este stocată pentru viitoare aplicații sau afișarea lor pe un calculator ca un nor de puncte

3D.

Datele sunt furnizate de LIDAR-ul Velodyne sub urmatoarea structura

Page 6: RAPORT STIINTIFIC PROIECT 1cidsactech.ucv.ro/data/_uploaded/Documente/RAPORT CIDSACTEH P1 2019 UC… · spațiile polar, cât și cartezian - unele din următoarele abordări vor

PN-III-P1-1.2-PCCDI-2017-0290

6

Figura 2.1.9 Structura datelor furnizate de LIDAR Velodyne

Primele trei coloane reprezintă pozițiile punctelor pe cele trei axe X, Y, Z. Aceste valori sunt

utilizate pentru a reproduce forma încăperii scanate. Coloana „intensity” conține valorile de întoarce a fasciculilor laser.

Valorile X, Y, Z vor fi calculate în funcție de valorile coloanelor care conțin valorile coordonatelor

sferice: ”azimuth”, „distance_m” și „vertical angle”. Coloana „azimuth” conține valori despre valorile unghiului orizontal azimut al fiecărui punct. Coloana „distance_m” conține valorile tuturor distanțelor

punctelor față de punctul de origine. Coloanele „laser_id” și „vertical_angle” conțin valorile elevației

imaginii scanate. Coloana „laser_id” conține numărul de identificare al fiecarul laser și conține valori între

0 și 15. Coloana „vertical_angle” conține valorile unghiului vertical de elevație în funcție de valorile din coloana „laser_id”. Valorile unghiului de elevație are valori între -15° și +15°, astfel pentru valoarea 0 în

coloana „laser_id” unghiul din coloana „vertical_angle” va fi -15°, respectiv pentru valoarea 15 va fi

corespunzător unghiul +15°. Coloana „timestamp” reprezintă valorile în microsecunde de la începutul orei până la momentul

primei emiteri laser. Numerele vor avea valori între 0 și 3600∗106 μs(numărul de microsecunde într-o oră).

Toate cele șaisprezece lasere sunt emise și reîncărcate la fiecare 55.296 μs. Ciclul între emiteri este de 2.30 μs. Sunt șaisprezece emiteri (16*2.304 μs) urmate de o perioadă de încărcare de 18.43 μs. Prin urmare,

timpul de ciclu pentru emitere și reîncărcare a șaisprezece lasere va fi:

((16∗2.304 μs)+(1∗18.43 μs))=55.296 μs

Pentru reprezentarea datelor in spatiul tridimensional a fost utilizata aplicatia Simulink. Mai jos este redata schema de blocuri realizata in Simulink, precum si functiile implementate de catre acestea.

Page 7: RAPORT STIINTIFIC PROIECT 1cidsactech.ucv.ro/data/_uploaded/Documente/RAPORT CIDSACTEH P1 2019 UC… · spațiile polar, cât și cartezian - unele din următoarele abordări vor

PN-III-P1-1.2-PCCDI-2017-0290

7

Figura 2.1.10 Reprezentarea datelor in spatiu tridimensional

2.1.3 Modelarea și simularea utilizării senzorului Kinect

Dispozitivul furnizează date 2D din imagini obținute pe spectru vizibil și date 3D achiziționate de

o cameră cu timp de zbor pe spectrul IR. Cartografia este furnizată ca un nor de puncte reprezentat în

coordonate polare și conține distanța de la senzor la cel mai apropiat obstacol în direcția polară respectivă.

Figura 2.1.11 Imaginea din stanga: imaginea 2D acutizată pe spectru vizibil. Imaginea centrala:

datele de adâncime dobândite de dispozitivul cartografic în coordonate polare; centrul imaginii reprezintă centrul sistemului de coordonate polare. Imaginea din dreapta: datele de adâncime din coordonatele

spațiului cartesian (nor de puncte).

Am definit ca obstacol potențial orice punct măsurat care se află între podea și cel mai înalt punct de siguranță al scaunului rulant / utilizator. Într-o primă etapă, traducem datele polare în datele spațiului

cartesian, pentru a extrage coordonatele Z pentru toate punctele din nor ul de puncte oferit de dispozitivul

de cartografiere. Trebuie remarcat faptul că, de acum înainte, datele vor fi reprezentate simultan atât în

spațiile polar, cât și cartezian - unele din următoarele abordări vor necesita reprezentări cartesiene, altuele vor oferi rezultate mai bune pe coordonatele polare. Figura 4 prezintă un exemplu de date capturate ca o

imagine clasică și datele 3D conforme în spații polare și carteziene. Sistemul cartezian are originea la

nivelul senzorului de cartografie (elementul 4 din fig.1), iar axele sunt reprezentate în figura 4, imaginea din dreapta jos (notează faptul că axa Y este inversată, pentru a coincide cu modul de citire a datelor

cartografiate).

La următoarea etapă, am determinat care dintre date reprezintă podeaua, pentru a determina și corecta unghiul de înclinare al dispozitivului de cartografiere. În această etapă de cercetare, considerăm că

podeaua este orizontală și nu prezintă o înclinare în înălțime. Pentru dezvoltarea ulterioară, considerăm

plasarea unui giroscop în scaunul cu rotile, pentru a putea determina înclinarea pardoselii și înclinația

dispozitivului de cartografiere, astfel încât algoritmul de evitare a coliziunii să poată ajusta corespunzător reprezentarea datelor 3D. Punctele pardoselii pot fi descrise ca puncte cu coordonate Z carteziene similare.

Dacă podeaua este perfect orizontală, variația coordonatei Z pentru punctele de pardoseală va fi un interval

mic. Dacă podeaua are o înclinație ușoară, coordonata Z va prezenta o variație constantă de-a lungul axei X, ceea ce va permite determinarea înclinării față de dispozitivul de cartografiere. Pe baza acestor

considerente, o histogramă a datelor din norul de puncte poate fi făcută în privința coordonatelor Z (fig.

2.1.12).

Page 8: RAPORT STIINTIFIC PROIECT 1cidsactech.ucv.ro/data/_uploaded/Documente/RAPORT CIDSACTEH P1 2019 UC… · spațiile polar, cât și cartezian - unele din următoarele abordări vor

PN-III-P1-1.2-PCCDI-2017-0290

8

Figura 2.1.12 Histograma datelor nor de puncte cu privire la coordonata Z.

Așa cum era de așteptat, se poate observa că un număr mare de puncte din norul de puncte au

înălțimea de aproximativ 800 mm sub dispozitivul de cartografiere. Aceste puncte reprezintă puncte la

nivelul podelei. Faptul că valoarea este izolată și nu are coșuri de vecinătate cu valori adecvate înseamnă că axele XY ale dispozitivelor cartografice sunt paralele față de planul orizontal (după cum s-a menționat

anterior, în etapa actuală de cercetare se presupune că podeaua este perfect orizontală). Algoritmul de

evitare a coliziunii determină automat valoarea Z corespunzătoare celui mai mare număr de puncte din norul de puncte cu valori similare de înălțime și impune această valoare ca un prag în spațiul cartesian,

permițând extragerea podelei și descoperirea obstacolelor din apropiere (fig. 2.1.13).

Figura 2.1.13 Extracția podelei (imaginea centrală) și obstacolele potențiale (imaginea dreaptă)

din norul de puncte (spațiul cartezian reprezentat în imaginea din stânga)

2.1.4 Modelarea si simularea utilizarii senzorului Tobii eye tracker 4c

Dispozitivul selectat este întotdeauna plasat sub afișajul utilizatorului și necesită un proces inițial

de calibrare, în timpul căruia utilizatorul trebuie să privească secvențial anumite puncte afișate pe ecran.

Astfel, pentru fiecare persoană, se creează un profil personalizat pentru ochi și poate fi reutilizat atunci când persoana utilizează din nou scaunul rulant.

La un anumit moment, un singur profil de utilizator pentru urmărirea miscarilor ochilor poate fi

activ; acest lucru oferă imunitate pentru comenzile accidentale (adică atunci când altcineva intră în câmpul activ pentru urmărirea ochilor și se uită la o anumită comandă afișată pe ecran, a doua persoană va fi

ignorata și comenzile accidentale nu vor fi date).

Senzorul a fost testat pentru precizie și acuratete. Folosind setări diferite (ecrane mai mari sau mai mici, distanțe mai apropiate sau mai departate între ochii utilizatorului și senzor, poziția relativă și

orientarea între capul utilizatorului și senzor) pot duce la valori diferite pentru precizie și acuratete. Astfel,

este important să se valideze informatia furnizata de senzor și să se stabilească mai mulți parametri

dependenți de utilizator pentru configurarea cerută de nevoile specifice ale utilizatorului. Testul este conceput pentru a măsura precizia și acuratetea senzorului în corelație cu un anumit

subiect. În acest sens, am definit zonele învecinate în jurul unor puncte-țintă specifice, pentru a determina

poziția privirii ochilor raportată de senzor, în timp ce subiectul este convins că el / ea se uită la punctul țintă. Astfel, dacă privirea se află în interiorul unei zone vecine timp de 0,5 secunde, algoritmul marchează ținta

Page 9: RAPORT STIINTIFIC PROIECT 1cidsactech.ucv.ro/data/_uploaded/Documente/RAPORT CIDSACTEH P1 2019 UC… · spațiile polar, cât și cartezian - unele din următoarele abordări vor

PN-III-P1-1.2-PCCDI-2017-0290

9

corespunzătoare ca fiind "privita de subiect", modifică culoarea țintă și înregistrează poziția medie de vizionare în timpul celor 0,5 secunde.

Figura 2.1.14 Datele privirii ochilor înregistrate pentru un test, subiectul A. Se poate observa o

bună precizie și o acuratete bună

Ca metodologie de testare, am folosit urmatoarea procedura:

- Verificați poziția dispozitivului de urmarire a ochilor fata de afișaj;

- Luați notă de subiectul / condițiile de încercare / locația de salvare a datelor;

- Explicați protocolul de testare la subiect;

- Creați un nou profil de subiect (proces inițial de calibrare - dacă subiectul utilizează

dispozitivul pentru prima dată) / încărcați profilul subiectului (dacă subiectul a folosit

dispozitivul înainte);

- Efectuați simulări de testare, pentru a verifica dacă subiectul a înțeles corect protocolul de

testare; 6. Începeți testul;

- Subiectul își odihnește ochii timp de 5 minute în timp ce membrul cercetării verifică

validitatea datelor înregistrate;

- Repetați pașii 6 și 7 pentru cinci perioade valide.

Un test a constat în:

- Este afișat un ecran cu 9 puncte țintă (puncte negre în fig.3);

- Subiectul trebuie să se uite la fiecare punct timp de cel puțin 0,5 secunde, într-o ordine

aleatorie, de cel puțin 5 ori;

- Pentru fiecare punct este definită o zonă învecinată; după ce a privit mai mult de 0,5

secunde într-un punct, punctul țintă schimba culoarea pentru a permite utilizatorului să știe

că au trecut 0,5 secunde; simultan, se înregistrează datele privind privirea ochilor extrase

de către dispozitivul de urmărire a ochilor;

- Testul se încheie automat când utilizatorul analizează fiecare punct țintă de cel puțin 5 ori.

Testele au fost efectuate pentru mai multe subiecte - în această etapă a proiectului de cercetare, subiecții au fost membri ai echipei; în viitor, vom efectua teste asupra persoanelor cu deficiențe de

mobilitate grave, pentru a obține feedbackul lor (numai pentru condițiile de funcționare valabile, descrise

după cum urmează).

Pentru fiecare subiect, testele au fost repetate în diferite condiții de funcționare: în aer liber (lumina soarelui din diferite unghiuri în raport cu senzorul / subiect, parțial noros); interior (lumină naturală, lumina

fluorescentă, lumina incandescentă, intensități diferite de lumină). Analiza datelor a arătat că senzorul nu

este adecvat pentru funcționarea în aer liber la lumina directă a soarelui (provenind din orice unghi) și când este parțial inorat - testul a oferit date eronate sau chiar lipsesc date (senzorul a pierdut privirea ochilor).

Page 10: RAPORT STIINTIFIC PROIECT 1cidsactech.ucv.ro/data/_uploaded/Documente/RAPORT CIDSACTEH P1 2019 UC… · spațiile polar, cât și cartezian - unele din următoarele abordări vor

PN-III-P1-1.2-PCCDI-2017-0290

10

Figura 2.1.15 Datele de urmarire a pivirii ochilor înregistrate pentru subiectul B în aceleași

condiții ca și datele înregistrate pentru subiectul A și prezentate în fig.3. Se poate observa că precizia și

acuratetea sunt mai puțin bune.

O posibilă explicație pentru acest comportament este faptul că lumina soarelui suprasaturarează

anumiți pixeli ai senzorului IR sau senzorul IR complet conținut de dispozitivul de urmărire a ochilor.

Altfel, pentru funcționarea în interior și imun la orice tip de lumina ambientala normal, senzorul a prezentat o performanță constantă. Analiza datelor înregistrate în aceleași condiții de operare, dar pentru diferiti

subiecti, a arătat că precizia poate fi diferită de la subiect la subiect. Figura 4 prezintă datele înregistrate

pentru un subiect B, în aceleași condiții de funcționare ca și datele înregistrate pentru subiectul A și afișate

în fig. 3. Se observă că privirea înregistrată pe fig. 4 este mai împrăștiată decât privirea înregistrată în fig.3 - observație (1). Există două motive posibile:

• Primul este legat de proprietățile fiziologice naturale ale ochilor subiectului. Producătorul

dispozitivelor de urmărire a ochilor declară oficial că dispozitivul de urmărire a ochilor funcționează corespunzător pentru 95% din populația lumii, astfel precizia sa depinde de particularitățile naturale ale

ochilor subiectului.

• Al doilea este legat de posibile tulburări fiziologice ale ochilor subiectului. Acest lucru poate duce la erori în datele furnizate de dispozitivul de urmărire a ochilor.

Un alt set de teste a fost efectuat pentru a evalua performanța senzorului dacă este utilizat pentru

persoanele cu mișcări involuntare ale capului (adică tremur asemănător distoniei cervicale de amplitudine

rezonabila), în timp ce încearcă să blocheze privirea ochiului pe un punct țintă. În această etapă a proiectului de cercetare, membrii echipei au încercat să simuleze mișcările spastice bazate pe videoclipurile online care

documentau această afecțiune.

Pentru această evaluare, testul a fost ușor modificat:

- Se afișează un ecran cu 5 puncte țintă (puncte negre din figura 5);

- În mod succesiv, subiectul trebuie să se uite la fiecare punct timp de minimum 5 secunde,

simulând tremurul capului;

- Pentru fiecare punct țintă, după ce a căutat mai mult de 5 secunde la ea, modifică culoarea

pentru a permite utilizatorului să știe că au trecut 5 secunde; în timpul celor 5 secunde,

datele privind privirea sunt înregistrate în mod continuu de dispozitivul de urmărit a

privirtii ochilor;

- Testul se termină automat când utilizatorul a privit toate punctele țintă, timp de cel puțin 5

secunde fiecare. Un set de rezultate ale testelor este ilustrat în fig. 4, și arată zone

semnificative peste care datele despre privirea ochilor sunt împrăștiate, dar datele despre

privirea ochilor par a fi grupate astfel încât să poată fi definită o zonă de precizie, pentru

care algoritmul poate determina acuratetea vectorului de corecție- observație (2).

Pentru ambele observații (1) și (2), senzorul trebuie să compenseze și să ofere un răspuns robust. O modalitate de abordare a problemei de precizie, indiferent de cauză, este de a calibra senzorul în

conformitate cu precizia / acuratetea măsurată pentru utilizatorul corespunzător.

Page 11: RAPORT STIINTIFIC PROIECT 1cidsactech.ucv.ro/data/_uploaded/Documente/RAPORT CIDSACTEH P1 2019 UC… · spațiile polar, cât și cartezian - unele din următoarele abordări vor

PN-III-P1-1.2-PCCDI-2017-0290

11

Figura 2.1.16 Date de urmarire a privirii înregistrate pentru simularea tremuratului. Se poate

observa că datele sunt împrăștiate pe o zonă semnificativă, dar sunt grupate, astfel încât poate fi definită o

zonă de precizie. De asemenea, se poate determina acuratețea vectorului de corecție.

Astfel, metodologia și procedura de testare a senzorului, așa cum este descrisă mai sus, este utilizata

ca procedură de calibrare inițială pentru interfața cu utilizatorul. Măsurătorile rezultate vor fi prelucrate automat pentru a determina precizia (mărimea regiunii circulare cuprinzând toate punctele de privire a

ochilor măsurate) și acuratetea (calculată ca un vector de la coordonatele punctului țintă la coordonatele

centrului de greutate determinat pentru precizie). Valoarea de precizie este utilizată pentru a determina

dimensiunea minimă rezonabilă pentru etichetele de comandă ale utilizatorilor afișate pe ecran, iar acuratetea este utilizată pentru a compensa privirea măsurată de utilizator în raport cu eticheta de comandă

a utilizatorului.

2.1.5 Implicarea studentilor cu nevoi speciale in proiecte de cercetare

In cadrul unui program EU, LLP “Aliniamentul Strategic al Ingineriei Electrice si Informatice in

Institutiile Europene de Educatie superioara - SALEIE”, echipa noastra a deprins experienta folositoare cu

privire la dezvoltarea unor modele educationale europene care isi au locul in spectrul dezvoltarii si

standardizarii in domeniul accesibilitatii si nevoilor speciale, continuand in grupul de lucru ISO SC 36 cu Accesibilitatea pentru Invatare, Educatie si Antrenament. Au fost dezvoltate modele de practica pentru a

ajuta studentii cu nevoi speciale.

In spectrul unui program FP7 numit “Cercetare analitica si sustinere pentru Invatare Experimentala bazata pe Practica – PELARS”, o noua tehnologie educationala bazata pe colaborare a fost proiectata si

testata. Ideea principala a fost ca studentii sa fie pusi sa lucreze impreuna, in echipe, odata ce primeau o

sarcina practica de rezolvat. Una dintre conditiile luate in considerare a fost diversitatea abilitatilor si nevoilor membrilor echipelor.

Proiectul de cercetare “Management Inteligent si Distribuit a 3 Sisteme Integrate Autonome

Complexe in Tehnologii Emergente pentru Asistenta Medicala Personala si a unui Sistem de Service

Flexibil de Fabricatie de Precizie – CIDSACTEH” are patru parteneri din educatia superioara din Romania. Subiectul de cercetare este folosirea unui sistem senzorial inteligent pentru roboti mobili care sa actioneze

in aplicatii de sanatate si sa sustina nevoile speciale ale oamenilor.

Lucrarea se concentreaza pe un caz specific. Identificam un student din primul an de stiudii care se poate misca doar intr-un scaun cu rotile si care are probleme cu privire la controlul prin gesturi, la miscarile

ochilor si la manipularea obiectelor.

Apartenenta la EAEEIEE ne ofera o intelegere, cunostinte si experienta aparte, toate atat de importante privind activitatea de predare si cercetare din cadrul Departamentului de Mecatronica si

Robotica din Facultatea de Automatica, Calculatoare si Electronica, Universitatea din Craiova, Romania.

Ca parte a incercarilor menite sa raspunda la provocarile existente privind subiectul de predare

numit Inginerie Electrica si Informationala la un nivel de educatie superior, proiectul SALEIE - Aliniamentul Strategic al Ingineriei Electrice si Informatice in Institutiile Europene de Educatie Superioara

– stipuleaza sa ofere modele in acest aspect explorand prospecte si metode adaptate.

Printre aceste provocari vizate de acest proiect, urmatoarele doua au fost considerate esentiale:

• Oferirea absolventilor abilitati adecvate si necesare care ar ajuta Europa sa se dezvolte si sa se

descurce cu dezvoltarea in actualele problemele tehnice internationale din domenii cum ar fi IT sau

Sanatate.

Page 12: RAPORT STIINTIFIC PROIECT 1cidsactech.ucv.ro/data/_uploaded/Documente/RAPORT CIDSACTEH P1 2019 UC… · spațiile polar, cât și cartezian - unele din următoarele abordări vor

PN-III-P1-1.2-PCCDI-2017-0290

12

• Crearea unui teren comun in termeni de practica si aspecte colaterale pentru studentii cu un istoric

neconventional si pentru cei cu nevoi speciale. Sub spectrul proiectului, nevoile speciale includ,

dar nu sunt limitate la: probleme de mobilitate fizica, dislexie si dispraxie, probleme de vedere sau

auz. Astfel de nevoi, in special atunci cand se refera la studenti, sunt esentiale in vederea

flexibilitatii si adaptarii mediului metedologic si de practica in timp ce se pastreaza atentia in mod

special asupra atat a nevoilor si asteptarilor studentilor, cat si asupra confortului acestora.

Data fiind experienta mentionata, doi tineri cercetatori au fost selectati dintre absolventii facultatii de inginerie – un absolvent al programului Sisteme de Control si un absolvent al programului Tehnologia

Informatiei. Au fost integrati ca si cercetatori debutanti in cadrul echipei, lucrand la solutii directionate

catre persoanele cu dizabilitati, precum un tanar student cu mobilitate limitata (care foloseste un scaun cu rotile), care a actionat cu vointa proprie ca si tester in vederea unor solutii tehnice.

Cercetare analitica si sustinere pentru Invatare Experimentala bazata pe Practica (PELARS) [9] a

fost un proiect de tipul „învățare prin practica”, deoarece accentul a fost pus pe studierea procesului de

învățare (folosind atât gândirea, cât și mintea, dar și pregătirea). Prin punerea în comun a experientei aspectelor calitative umane cu cele cantitative, cum ar fi

urmărirea senzorilor și învățarea automată, am reușit să oferim o perspectivă mai precisă asupra procesului

de învățare și, prin urmare, am contribuit la evoluțiile din domeniul analizei de învățăre multimodala. Printre obiectivele proiectului, cel central a fost să ofere noi metode de predare și învățare care să

susțină dezvoltarea abilităților specifice pentru studenții noștri: cum ar fi: creativitate, inovație, gândire

critică, rezolvarea problemelor, comunicare și colaborare.

De asemenea, a fost publicată o lucrare pentru conferința EAEEIE 2018 având ca subiect implicarea a doi tineri cercetători în activitățile proiectului CIDSACTEH. Acum, cei doi tineri cercetători au primit o

sarcina suplimentara cu privire la sprijinul studentului cu nevoi speciale.

Au fost identificate o serie de discipline, iar pentru aceste discipline a fost pus în funcțiune un program special de activități cu supravegherea responsabilă a cursului. Sunt cursuri în principal din

domeniul tehnologiilor informaționale: programare, limbaje de programare, informatica aplicata, ingineria

sistemelor de programare, metode numerice și grafică computerizată. Scopul principal al acestui sprijin al activitatii este de a ajuta tânărul student să aibă condiții tehnice pentru îndeplinirea disciplinei solicitata și

indeplinirea competențelor impuse, abilități care sunt de asemenea utile pentru activitățile de cercetare.

Folosind fundalul menționat mai sus am identificat un student cu nevoi speciale și l-am implicat în

echipă participand la activitățile de cercetare. El folosește zilnic un scaun cu rotile. Este student în cadrul unui program de inginerie și, prin urmare, el are un bun fundal în informatică.

Am avut în vedere trei avantaje cu privire la acest student: mai întâi să primim un feedback pertinent

despre proiectarea scaunului cu rotile inteligent de la un utilizator real, în al doilea rând să-și folosească capacitatea de a contribui la dezvoltarea aplicației software și a treia pentru a-l ajuta să fie integrat într-o

activitate de motivare. În ceea ce privește activitățile de cercetare, studentul a fost implicat în experimente

pentru roboți mobili (scaun cu rotile inteligent) cu control bazat pe mișcările ochilor. Scaunul cu rotile are un sistem senzorial integrat (eye tracker, camere RGB și camere infraroșu).

Două dispozitive sunt conectate: unul care identifică zona de interes din imaginea spațiului de operare, iar

cealaltă constata zona reală corespunzătoare de interes în operarea in spatiul real. Încercăm să găsim o

soluție anume, una adaptată, pentru fiecare individ având un comportament specific. Elevul este capabil, respectând regulile specifice, să controleze scaunul cu rotile inteligent și sa

participe la activitatea de cercetare pentru găsirea soluțiilor adecvate corespunzătoare problemelor practice

și specifice. Scaunul cu rotile motorizat pentru persoanele cu deficiente fizice include un joystick, care este

folosit de persoană pentru a furniza comenzi de intrare pentru mișcările scaunului cu rotile.

Studiile au arătat că utilizatorii de scaune cu rotile prezintă dificultăți în manevrarea scaunului cu

rotile prin utilizarea joystick-ului. In acest context, am decis că o posibilă optimizare a interfeței om-mașină pentru acest scaun cu rotile motorizat consta in înlocuirea joystick-ului cu un sistem de urmarire a ochilor

fără contact, neinvaziv. Interfața umană îmbunătățită constă intr-un dispozitiv de urmărire a ochilor bazat

Page 13: RAPORT STIINTIFIC PROIECT 1cidsactech.ucv.ro/data/_uploaded/Documente/RAPORT CIDSACTEH P1 2019 UC… · spațiile polar, cât și cartezian - unele din următoarele abordări vor

PN-III-P1-1.2-PCCDI-2017-0290

13

pe un senzor infraroșu, o tabletă folosita pentru a afișa interfața de utilizator și o cameră de adâncime, folosita pentru dobândirea de informații 3D ale spațiului din fața scaunului cu rotile. Cele trei dispozitive

sunt conectate la un computer de bord, instalat de noi (nu este furnizat din fabrică).

Interfața de utilizator constă într-un flux video furnizat de camera de adâncime și patru butoane

sunt suprapuse peste ea – un buton pentru fiecare direcție de mișcare (înainte / înapoi / stanga / dreapta). În timp ce utilizatorul privește spre unul dintre aceste butoane, scaunul cu rotile se va deplasa spre direcţia

indicata; dacă utilizatorul arată în altă parte decât cele patru butoane, scaunul cu rotile va staționa.

Ca acționare a scaunului cu rotile, am folosit motoarele electrice și controllerul motorului cu care a fost livrat din fabrica scaunul cu rotile. Regulatorul motor utilizează o tehnica de direcție diferențială

pentru a atinge controlul direcțional al scaunului cu rotile. Acceptă comenzile ca informații de viteză înainte

/ înapoi, și vectorul de direcție, apoi calculează viteza individuală a fiecarui motor pentru a executa comanda dată.

Informațiile de manevră sunt calculate de computerul menționat mai sus, si se bazeaza pe intrarea

de la utilizator și este trimis la controlerul motorului printr-un protocol de comunicare în serie.

Studentul cu nevoi speciale de la programul Ingineria Sistemelor a fost de acord să participe la un proces care a constat în conducerea scaunului cu privirea ochilor. El a completat formularul de

consimțământ. În urma procesului, studentul ne-a oferit un feedback despre interfața de utilizator propusă

și despre modul în care se mișcă scaunul cu rotile - având în vedere că mișcarea curentă și viteza sunt prea mici.

O alt constatare, în urma procesului, este că exactitatea din comenzile date (bazate pe urmărire

privirii) este scăzută. Acest lucru se datorează faptului că studentul prezintă două afecțiuni medicale la ochi. Are strabism și, de asemenea, o mișcare involuntara a ochilor numită Nystagmus. Acestea au condus la

proiectarea unei test, care a avut ca obiectiv compensația pentru strabism și Nystagmus.

Setul de teste de precizie a fost realizat pentru studentul menționat mai sus (prezentând condiții

medicale care constau atât in strabism cât și in Nystagmus), și pentru încă doi studenți, care nu prezintă nicio conditie medicala legata de ochi. Pentru cei doi studenți fără conditie medicală condiția, cele cinci

seturi de date erau similare în ceea ce privește precizia (Fig. 3), fiind grupate în jurul punctelor de referință.

Pentru student care prezintă strabism și Nystagmus medicala speciala, privirile înregistrate sunt împrăștiate semnificativ în jurul punctelor de referință. Am considerat că este suficient pentru a lua în considerare setul

de date obținut pentru punctul de referință central și vă prezentăm seturile de date pentru cele trei teste

individuale: urmărirea ambilor ochi, urmărirea numai a ochiului stâng, urmărirea doar a ociului drept.

Testele descrise mai sus vor fi utilizate pentru a diferentia între subiecții fără probleme medicale în ceea ce privește strabismul și Nystagmus și cei care au aceste probleme. Dacă un subiect care are asemenea

probleme va fi identificat, strategia în controlul mișcărilor din scaunul cu rotile inteligent trebuie schimbata.

Pentru un caz obișnuit căutăm o corespondență între un singur punct 2D din imaginea afișată pe ecran și un singur punct 3D din spațiul real de lucru. Pentru cazul in care subiecții cu probleme de vizualizare

menționate, vom încerca sa găsim o corespondență între o zonă 2D (cel mai probabil a zona circulară -

suprafața circulară minimă, incluzand toate puncte de interes 2D) din imaginea afișată pe ecran și un volum 3D din spațiul de lucru (cel mai probabil a sferă). Prin urmare, algoritmul care genereaza calea, nu va

produce un set de puncte 3D, ci un set de volume 3D (cel mai probabil sfere). O altă problemă de rezolvat

este posibilitatea ca anumiți subiecți să aibă probleme de vedere pentru a se concentra pe punctele 2D

localizate pe marginea imaginii. Echipa departamentului de Mecatronică și Robotică de la Universitatea din Craiova, România este

implicată într-un proiect de cercetare având ca obiectiv proiectarea unui sistem inteligent scaun cu rotile.

Folosind experiența a două foste proiecte UE, echipa a integrat un student cu nevoi speciale pentru a rezolva mai bine problemele găsite în timpul proiectarii și dezvoltarii aplicațiilor. Studentul este un real utilizator

al scaunului inteligent și are abilitățile unui programator. El ar putea deveni un model pentru alți studenți

cu nevoi speciale în participarea la activități de cercetare. Rezultatele prezentate in această lucrare au fost parțial sprijinite din fondurile unui proiect complex

de cercetare „Management Inteligent si Distribuit a 3 Sisteme Integrate Autonome Complexe in Tehnologii

Emergente pentru Asistenta Medicala Personala si a unui Sistem de Service Flexibil de Fabricatie de

Page 14: RAPORT STIINTIFIC PROIECT 1cidsactech.ucv.ro/data/_uploaded/Documente/RAPORT CIDSACTEH P1 2019 UC… · spațiile polar, cât și cartezian - unele din următoarele abordări vor

PN-III-P1-1.2-PCCDI-2017-0290

14

Precizie – CIDSACTEH”, finanțat prin schema PN III, programul 1 - Creșterea cercetării și dezvoltării naționale sistem, sub-program 1.2 - Performanță instituțională. Codul proiectului de cercetare este PN-III-

P1-1.2-PCCDI-2017-0290, și contractul de finanțare pentru execuție în RDI Complex Proiectele sunt

înregistrate cu nr. 78PCCDI ⁄ 2018 la UEFISCDI.

Categorie activitate: A2 – Cercetare industriala

Activitatea 2.2. Modelarea și simularea sistemului senzorial pentru definit în Etapa 1.

Activitatea 2.2 Modelarea și simularea sistemului senzorial pentru definit în Etapa 1.

2.2.1. Descrierea sistemului

Schema generală pentru sistemul de fuziune a datelor furnizate de sistemul senzorial global este

cea din figura de mai jos

Figura 2.2.1 Sistem generic de fuziune a datelor.

Modelul sistemului senzorial propus pentru scaun cu roți (platforma mobilă) este compus din

sistemul Kinect pentru achiziția video și sistemul Lidar VLP-16 pentru scanare cu laser.

Figura 2.2.2 Câmp vizual compus pentru cele 2 sisteme

Așa cum se observă în figura de mai jos sistemul Lidar este poziționat deasupra spătarului, scanând

de deasupra acestuia pe 360 grade.

Rezultate asteptate Modelele senzorilor selectați și rezultatele simulărilor

Page 15: RAPORT STIINTIFIC PROIECT 1cidsactech.ucv.ro/data/_uploaded/Documente/RAPORT CIDSACTEH P1 2019 UC… · spațiile polar, cât și cartezian - unele din următoarele abordări vor

PN-III-P1-1.2-PCCDI-2017-0290

15

Figura 2.2.3 Dispunerea sistemelor senzoriale pe scaun

Sistemul video Kinect este poziționat frontal pe directia de mișcare, la jumatea scaunului, scanând un sector unghiular de 120 de grade pe orizontală și 80 pe verticală. Astfel zonele scanate de cele două

sisteme se suprapun parțial. Datele obținute de sistemul video sunt folosite în principal pentru interacțiunea

cu utilizatorul și pentru extragerea zonelor de destinație, în timp ce datele obținute de sistemul de scanare

cu laser sunt folosite în principal pentru determinarea frontierelor și determinarea obstacolelor dinamice.

Figura 2.2.4 Arhitectura sistemului

2.2.2. Rezultate experimentale

Experimentele realizate pentru detectarea obiectelor au fost efectuate folosind setul de date KITTI.

Asocierea dintre imaginile RGB-D obținute cu camera Kinect și punctele de cloud obținute cu LIDAR a fost

bazată pe o versiune actualizată a algoritmului Adaptive Least Squares Correlation (GOTCHA). Din

imaginile obținute cu LIDAR au fost extrase punctele cheie pentru algoritmul de potrivire. Algoritmul de fuziune de date încorporează datele LIDAR într-o regiune în creștere stereo pentru a produce imagini fără

pierderi de precizie.

Pentru extragerea punctelor inițiale a fost utilizată o implementarea de potrivire a punctelor cheie

SIFT din OpenCV. Odată ce punctele cheie potențiale sunt găsite, locațiile sunt utilizate pentru extinderea spațiului pe scară din seria Taylor pentru a obține locații mai precise și o valoare de prag; această valoare se

numește prag de contrast în OpenCV. În acest fel, se elimina orice puncte cheie cu contrast redus și ceea ce

rămâne sunt puncte de interes care vor corespunde obiectelor care sunt prezente în fiecare imagine/scenă.

Următoarea etapă este combinarea subsetului de puncte cloud obținut din sursa LIDAR cu imaginile RGB-D generate de camera Kinect. Această operație presupune ca prim pas o calibrare a camerei Kinect pe

baza pozițiilor geometrice LIDAR. Al doilea pas implică proiecția punctelor cheie detectate în imagini RGB-

D folosind ecuațiile de colinearitate. Valorile intensității imaginii la locațiile corespunzătoare din spațiul pixelilor sunt recompuse. Transformările necesare în spațiul de pixeli implică patru etape principale:

- fiecare pixel este calculat pe baza valorilor vecinilor săi;

- din coordonatele fiecărui punct cheie se calculează valoarea coordonatelor (x, y) în planul imaginii

RGB-D stânga și dreapta folosind ecuațiile de colinearitate;

Page 16: RAPORT STIINTIFIC PROIECT 1cidsactech.ucv.ro/data/_uploaded/Documente/RAPORT CIDSACTEH P1 2019 UC… · spațiile polar, cât și cartezian - unele din următoarele abordări vor

PN-III-P1-1.2-PCCDI-2017-0290

16

- coordonatele (x, y) sunt mapate în spațiul pixelilor folosind o transformare plană;

- deoarece valorile (x,y) calculate sunt coordonate non-integrale, valorile corespunzătoare ale

intensității imaginii pentru perechile (x,y) sunt prelevate din datele originale ale imaginii.

Fuziunea de date prezentată crește precizia și fiabilitatea procedurii de detectare a obiectelor.

Următoarele grafice arată curbele de Precision-Recall obținute, în care au fost utilizate doar imagini Kinect,

numai imagini LIDAR și pentru experimentele in care s-au utilizat imagini combinate obținute ca urmare a fuziunii datelor între Kinect și LIDAR.

Pentru obiecte, la detectarea s-au utilizat trei algoritmi:

- recunoașterea obiectelor SIFT care presupun 4 faze: detectarea caracteristicilor; descrierea imaginii

locale; indexare, potrivire și verificare modelului;

- BlitzNet care propune o arhitectură complexa pentru o înțelegere a scenei în timp real cu

implementarea sa;

- Tensorflow Object Detection care creează modele precise de învățare automată capabile să localizeze

și să identifice mai multe obiecte într-o singură imagine cu implementarea sa;

Curbele Precision-Recall sunt desenate cu culoare albastră pentru algoritmul SIFT, cu verde pentru

BlitzNet și cu roșu pentru Tensorflow.

După cum se poate observa, rezultatele obținute pentru imaginile combinate sunt mult mai bune decât cele obținute cu setul de date Kinect și cu setul de date LIDAR și validează metoda propunerii pentru datele

de fuziune.

Figura 2.2.5 a) graficul Precission-Recall pentru setul de date Kinect; b) graficul Precission-Recall

pentru setul de date LiDAR; c) graficul Precission-Recall pentru setul de date obtinut in urma

procesului de fuziune a datelor

2.2.3. Concluzii

Conform rezultatelor experimentale se pot trage următoarele concluzii:

1. Dacă LIDAR este scos din sistem (după ce a fost utilizat pentru calibrarea sistemului) se obține un sistem

ieftin, dar acesta prezintă următoarele dezavantaje:

- Scaunul cu rotile poate fi condus doar folosind date senzorii din față, datele din spate și laterale

lipsesc sau pot fi furnizate de către acesta sisteme LIDAR mai ieftine (tip detector de obstacole);

- Calculul traiectorial se poate face doar pe scurt distanțe datorate rezoluției scăzute a sistemului

video;

- Sistemul generează erori majore pentru următoarele cazuri: trecerea prin dreptul unor ferestre

luminate de soare, trecerea din zone întunecate în zone luminoase și invers, zone cu iluminare

ridicată si contrast mare in general;

- sistemul este fiabil doar în interior și informațiile sunt precise pentru o distanță între 4-6metri;

- imposibilitatea determinării în în timp real a obstacolelor dinamice (obiecte / persoane în mișcare);

2. Prin eliminarea sistemului Kinect, se obține un sistem mai fiabil decât precedentul cu o reducere

nesemnificativă a costurilor (Kinect are un preț mic),mai ales dacă comparăm cu costul total al sistemului,

darcu următoarele dezavantaje:

Page 17: RAPORT STIINTIFIC PROIECT 1cidsactech.ucv.ro/data/_uploaded/Documente/RAPORT CIDSACTEH P1 2019 UC… · spațiile polar, cât și cartezian - unele din următoarele abordări vor

PN-III-P1-1.2-PCCDI-2017-0290

17

- Obținerea de date eronate pentru zonele reflectorizante suprafețe (suprafețe din sticlă - ferestre,

mobilier, oglinzi, lucios suprafețe - suprafețe metalice lustruite);

- Obținerea de informații eronate în caz intalnirea cu materiale absorbante optice.

Categorie activitate: A2 – Cercetare industriala

Activitatea 2.3. Simularea algoritmilor de control ai traiectoriilor cu ocolirea obstacolelor bazați pe

informația furnizată de sistemul senzorial distribuit. Diseminare rezultate

Activitatea 2.3. Simularea algoritmilor de control ai traiectoriilor cu ocolirea obstacolelor bazați pe informația

furnizată de sistemul senzorial distribuit.

2.3.1 VFH+: Algoritm de ocolire a obstacolelor pentru platforme mobile

Metoda VFH+ folosește un proces, în patru etape, de reducere a datelor pentru a calcula noua direcție de mișcare. În primele trei etape, grila de hartă bidimensională este redusă la histograme polare

care sunt construite în jurul locației actuale a robotului. În a patra etapa, algoritmul selectează direcția cea

mai potrivită pe baza histogramei polare mascate și a unei funcții de cost. Etapa I – Histograma polara primara

Prima etapa de reducere a datelor mapează regiunea activă Ca a grilei de hartă C pe histograma

polară primară Hp. Regiunea activă Ca este o fereastră circulară cu diametrul ws ce se mișcă odată cu

platforma mobilă. Conținutul fiecărei celule active din grilă de hartă este tratat ca un vector obstacol. Pe baza sistemului de referință din figura 2.3.1, direcția vectorială βi,j este determinată de direcția

de la celula activă la punctul central al platformei mobile (PCP = Platform Center Point).

𝛽𝑖,𝑗 = 𝑡𝑎𝑛−1 (𝑦0 − 𝑦𝑖

𝑥𝑖 − 𝑥0)

unde:

x0, y0: Reprezintă coordonatele PCP. xi, yi: Reprezintă coordonatele celulei activă Ci,j

Magnitudinea vectorială a unei celule active Ci,j este dată de:

𝑚𝑖,𝑗 = 𝑐𝑖,𝑗2 (𝑎 − 𝑏𝑑𝑖,𝑗

2 )

unde:

ci,j: Reprezintă valoarea de certitudine a celulei active Ci,j di,j: Distanța de la celula activă Ci,j la MCP

parametrii a si b sunt aleși în funcție de:

𝑎 − 𝑏 (𝑤𝑠 − 1

2)

2

= 1

Metoda originală VFH nu ia în mod explicit în calcul lățimea platformei. În schimb, foloseste un

filtru trece-jos determinat empiric pentru a compensa lățimea platformei mobile și pentru a finisa

histograma polară. În contrast, VFH+ folosește un filtu trece-jos determinat teoretic pentru a compensa lățimea

platformei mobile. Celulele obstacol de pe hartă sunt mărite de raza platformei rr, care este definită ca

distanța din centrul platformei mobile până la cel mai îndepărtat punct din perimetrul acesteia. Pentru o siguranță suplimentară, celulele obstacol sunt de fapt mărite cu o rază rr+s = rr + ds unde ds este distanța

minimă dintre platforma și un obstacol.

Rezultate asteptate Modelul sistemului senzorial și rezultatele simulării;

Page 18: RAPORT STIINTIFIC PROIECT 1cidsactech.ucv.ro/data/_uploaded/Documente/RAPORT CIDSACTEH P1 2019 UC… · spațiile polar, cât și cartezian - unele din următoarele abordări vor

PN-III-P1-1.2-PCCDI-2017-0290

18

Această metodă de compensare a lățimii este implementată foarte eficient prin lărgirea obstacolelor în timp ce se construiește histograma polară primară. În loc să se actualizeze doar un sector de histogramă

pentru fiecare celulă, așa cum se procedează în metoda originală VFH, toate sectoarele de histograma care

corespund celulei mărite sunt actualizate. Un exemplu pentru o celulă este prezentat în Figura 2.3.1.

Figura 2.3.1 Unghiul de mărire

Pentru fiecare celulă, unghiul de mărire γi,j este definit de:

𝛾𝑖,𝑗 = 𝑎𝑟𝑐𝑠𝑖𝑛𝑟𝑟+𝑠

𝑑𝑖,𝑗

Pentru fiecare sector k, densitatea poalară a obstacolului este apoi calculată folosind:

𝐻𝑘𝑝

= ∑ 𝑚𝑖,𝑗 ∗ ℎ𝑖,𝑗′

𝑖,𝑗 ∈ 𝐶𝑎

având:

ℎ𝑖,𝑗′ = 1, dacă 𝑘 ∗ 𝛼 𝜖 [𝛽𝑖,𝑗 − 𝛾𝑖,𝑗 , 𝛽𝑖,𝑗 + 𝛾𝑖,𝑗]

ℎ𝑖,𝑗′ = 0, în sens contrar

Rezultatul acestui proces este o histogramă polară care ține cont de lățimea platformei mobile. Functia h’ servește, de asemenea, ca filtru trece-jos și finisează histograma polară.

Etapa II – Histograma polară binară

Pentru majoritatea aplicațiilor, este dorită o traiectorie lina și trebuie evitate oscilațiile din comanda

de direcție. Metoda originală VFH afișeaza de obicei o traiectorie foarte fină. Cu toate acestea, pragul fix τ utilizat în metoda originală VFH poate cauza o problema în mediile cu mai multe deschideri înguste,

deoarece deschiderea corespunzătoare în histograma poate alterna de mai multe ori între stările deschis și

blocat în timpul eșantionării. Într-o astfel de situație, direcția în care se indreapta platforma mobilă, poate alterna de mai multe ori între această deschidere îngustă și o altă deschidere. Rezultatul este un

comportament indecis, în timpul căruia platforma mobilă se poate apropia foarte mult de un obstacol.

Aceasta problemă poate fi ușor redusă printr-un histerezis bazat pe doua praguri, și anume τlow și τhigh. Pe baza histogramei polare primare Hp și a celor două praguri, se construiește o histogramă polară

binară Hb. În loc să aibă valori ale densității polare, sectoarele din Hb sunt fie libere (0) fie blocate (1).

Această histogramă polară indică ce direcții sunt libere pentru platforma mobilă care își poate modifica

instantaneu direcția de mișcare. Histograma polară binară este actualizată după urmatoarele reguli:

𝐻𝑘,𝑖𝑏 = 1 daca 𝐻𝑘,𝑖

𝑝 > 𝜏ℎ𝑖𝑔ℎ

𝐻𝑘,𝑖𝑏 = 0 daca 𝐻𝑘,𝑖

𝑝 < 𝜏𝑙𝑜𝑤

altfel, 𝐻𝑘,𝑖𝑏 = 𝐻𝑘,𝑖−1

𝑏

Etapa III – Histograma polară mascată

Metoda originala VFH neglijează dinamica și cinematica platformei mobile. Presupune implicit că

platforma este capabilă să își schimbe direcția de deplasare instantaneu, așa cum se arată în figura 2.3.2a.

În cazul în care platforma mobile nu se oprește la fiecare eșantionare, aceasta presupunere este falsă. Metoda VFH+ folosește o aproximare simplă dar mai apropiată traiectoriei majorității platformelor

mobile. Presupune că traiectoria platformei se bazează pe arcuri circulare (curbe având curbură constantă)

și linii drepte, așa cum se arată în figura 2.3.2b. Curbura unei curbe este definită de k = 1 / r.

Page 19: RAPORT STIINTIFIC PROIECT 1cidsactech.ucv.ro/data/_uploaded/Documente/RAPORT CIDSACTEH P1 2019 UC… · spațiile polar, cât și cartezian - unele din următoarele abordări vor

PN-III-P1-1.2-PCCDI-2017-0290

19

Figura 2.3.2 Aproximarea traiectoriilor

a) fără dinamică, b) cu dinamică

Valorile pentru raza minimă de virare în funcție de viteza platformei mobile poate fi ușor masurată.

Se definesc aceste raze pentru ambele părți ca rr = 1/kr si rl = 1/kl.

Cu acești parametrii și grila de hartă, putem determina ce sectoare sunt blocate de obstacole. Un exemplu cu două obstacole este prezentat în figura 2.3.3. Din nou, pentru a lua în considerare lățimea

platformei mobile, obstacolele sunt mărite de rr+s. Dacă un cerc de traiectorie și o celulă obstacol mărită se

suprapun, toate direcțiile de la obstacol la direcția de mișcare înapoi sunt blocate. În exemplul nostru, obstacolul A blochează toate direcțiile spre stânga sa din cauza dinamicii platformei mobile. Pe de altă

parte, obstacolul B nu blochează direcțiile din dreapta sa.

Folosind metoda originala VFH, direcțiile spre stânga obstacolului A sunt considerate direcții de mișcare adecvate. Dacă direcția dorită de deplasare ar fi spre stânga, algoritmul original VFH ar ghida în

mod incoret platforma mobile spre stânga în obstacolul A.

Cu metoda VFH+, platforma mobile ar avansa corect printre obstacolele A și B și ar face un viraj

la stânga după ce obstacolul A a fost depășit.

Figura 2.3.3 Exemplu de direcții blocate

Pozițiile centrelor de traiectorie din dreapta și stânga în raport cu poziția curentă a platformei

mobile sunt definite de:

Δxr = rr * sinθ Δxl = -rl * sinθ

Δyr = rr * cosθ

Δyl = -rl * cosθ Distanța de la o celulă activă Ci,j până la cele două centru de traiectorie sunt date de:

𝑑𝑟2 = (𝛥𝑥𝑟 − 𝛥𝑥(𝑗))2 + (𝛥𝑦𝑟 − 𝛥𝑦(𝑖))2

𝑑𝑙2 = (𝛥𝑥𝑙 − 𝛥𝑥(𝑗))2 + (𝛥𝑦𝑙 − 𝛥𝑦(𝑖))2

Un obstacol blochează direcțiile spre dreapta sa dacă:

𝑑𝑟2 < (𝑟𝑟 + 𝑟𝑟+𝑠) [condiția 1]

Un obstacol blochează direcțiile spre stânga sa dacă:

𝑑𝑙2 < (𝑟𝑙 + 𝑟𝑟+𝑠) [condiția 2]

Verificând fiecare celulă activă cu aceste două condiții, obținem două unghiuri limită, φr pentru

unghiurile din partea dreaptă ăi φl pentru unghiurile din partea stângă. De asemenea, se definește φb = θ +

π ca direcție inversă direcției curente de mișcare. Această metodă poate fi pusă în aplicare foarte eficient printr-un algoritm care are în vedere numai

celulele care au influență fie asupra φr fie φl:

Page 20: RAPORT STIINTIFIC PROIECT 1cidsactech.ucv.ro/data/_uploaded/Documente/RAPORT CIDSACTEH P1 2019 UC… · spațiile polar, cât și cartezian - unele din următoarele abordări vor

PN-III-P1-1.2-PCCDI-2017-0290

20

1) Se determină φb. Se setează φr și φl egal cu φb 2) Pentru fiecare celulă Ci,j din fereastra activă Ca cu ci,j > τ:

a) Dacă βi,j este la dreaptă de θ și la stângă de φr, se verifică condiția 1. Dacă condiția este

îndeplinita, se setează φr egal cu βi,j

b) Dacă βi,j este la stânga de θ și la dreapta de φl, se verifică condiția 2. Dacă condiția este îndeplinită, se setează φl egal cu βi,j

Dacă senzorii platformei mobile nu sunt foarte preciși, φr și φl ar putea fi, de asemenea, determinați

într-un mod mai stocastic. În loc de a compara valorile de certitudine celulară cu un prag, s-ar putea construi o histogramă polară ale carei valori sectoriale indică certitudinea ca un sector este blocat din cauza

dinamicii. Valorile pentru φr și φl ar putea fi apoi determinate prin aplicarea unui prag la această histogramă.

Întrucât prima metodă este mai eficientă, cea de-a doua metodă trebuie aplicată numai dacă este cu adevarat necesar. Cu φr, φl și histograma polară binară, putem construi histograma polară mascată:

𝐻𝑘𝑚 = 0 daca 𝐻𝑘

𝑏 = 0 𝑠𝑖 (𝑘 ∗ 𝛼) ∈ {[𝜑𝑟 , 𝜃], [𝜃, 𝜑𝑙]}

altfel 𝐻𝑘𝑚 = 1

Histograma polară mascată arată ce direcții de mișcare sunt posibile cu viteza curentă. Dacă toate

sectoarele ar fi blocate, platforma mobilă nu ar putea continua cu viteza curentă. Platforma mobilă ar trebui

sa determine un set de valori noi (φr, φl) pe baza unei viteze mai mici. Dacă histograma polară mascată a fost în continuare blocată în toate direcțiile, platforma mobilă ar trebui să se oprească imediat. Prin urmare,

histograma polară mascată poate fi, de asemenea, utilizată pentru a detecta dacă platforma mobilă este

prinsă într-un punct mort.

În figura 2.3.4, histograma polară primară, histograma polară binară si histograma polară mascată sunt prezentate pentru situatia din figura 2.3.3. Histograma polară binară indică în mod incorect că direcțiile

spre stânga obstacolului A sunt libere. Histograma polară mascată blochează corect aceste direcții. Mărimile

vectorului pentru obstacolul A sunt mai mari decât pentru obstacolul B din motiv ca obstacolul A este mai aproape de platforma mobilă. De asemenea, obstacolul A ocupă mai multe sectoare decât obstacolul B tot

din motiv ca este mai aproape de platforma mobilă iar unghiul său de mărire este mai larg.

Figura 2.3.4. a) Histograma polara primara, b) Histograma polara binara,

c) Histograma polara mascata

Etapa 4 – Selectarea direcției de virare

Histograma polară mascată arată care direcții sunt lipsite de obstacole și care sunt blocate. Cu toate

acestea, unele direcții libere reprezintă o soluție mai potrivită decât celalalte.

Metoda originala VFH+ găseste mai întâi toate deschiderile din histograma polară mascată și apoi

determină un set de direcții posibile. O funcție de cost, care ia în considerare nu doar diferența dintre posibila direcție și direcția țintă, este apoi aplicată acestor direcții. Direcția cu cel mai mic cost este aleasă

pentru a fi noua direcție de mișcare φn = α * kn.

În primul pas, sunt determinate marginile din dreapta și din stânga kr și kl ale tuturor deschiderilor din histograma polară mascată. Asemanator metodei originale VFH, se disting două tipuri de deschideri și

anume cele late și cele înguste. O deschidere este considerată largă dacă diferența dintre cele două margini

este mai mare decat sectoarele smax, în caz contrar, deschiderea este considerată îngustă. Pentru o deschidere îngustă, există o direcție care candidează astfel încât platforma mobilă să treacă

prin centrul golului dintre obstacolele corespunzătoare:

𝑐𝑛 =𝑘𝑟+𝑘𝑙

2 direcție centrată+

Page 21: RAPORT STIINTIFIC PROIECT 1cidsactech.ucv.ro/data/_uploaded/Documente/RAPORT CIDSACTEH P1 2019 UC… · spațiile polar, cât și cartezian - unele din următoarele abordări vor

PN-III-P1-1.2-PCCDI-2017-0290

21

Pentru o deschidere largă, există două direcții care candidează, una în dreapta iar cealalaltă în partea stângă a deschiderii. Direcția ținta este, de asemenea, o posibilă direcție, dacă se află între celalalte două

direcții menționate anterior.

𝑐𝑟 = 𝑘𝑟 +𝑠𝑚𝑎𝑥

2 spre partea dreaptă

𝑐𝑙 = 𝑘𝑙 −𝑠𝑚𝑎𝑥

2 spre partea stângă

𝑐𝑡 = 𝑘𝑡 dacă 𝑘𝑡 ∈ [𝑐𝑟 , 𝑐𝑙] Direcțiile candidat cr și cl fac ca platforma mobilă să urmeze conturul unui obstacol la o distanță

sigură, în timp ce ct conduce platforma mobilă spre direcția țintă. Pentru platformele mobile care nu sunt orientate spre obiective, ar putea fi adaugate și alte direcții

posibile. Pentru o platforma mobilă care ar trebui să exploreze aleatoriu mediul său, se pot adaugă direcții

care sunt egale cu direcția curentă de mișcare θi sau egală cu direcția de mișcare kn,i-1:

𝑐𝜃 =𝜃𝑖

𝛼 dacă

𝜃𝑖

𝛼∈ [𝑐𝑟 , 𝑐𝑙]

𝑐𝜑 = 𝑘𝑛,𝑗−1 dacă 𝑘𝑛,𝑖−1 ∈ [𝑐𝑟 , 𝑐𝑙]

În cazul platformaelor mobile orientate spre obiective, obținem între una și trei direcții posibile

pentru fiecare deschidere în histograma polarî mascată. În continuare, trebuie definită o funcție de cost adecvată, astfel încât platforma mobilă să selecteze cea mai potrivită direcție drept noua sa direcție de

mișcare φn. Se propune următoarea funcție de cost g în funcție de direcția posibilă c:

𝑔(𝑐) = 𝜇1 ∗ 𝛥(𝑐, 𝑘𝑡) + 𝜇2 ∗ 𝛥 (𝑐,𝜃𝑖

𝛼) + 𝜇3 ∗ 𝛥(𝑐, 𝑘𝑛,𝑖−1)

unde Δ(c1,c2) este o funcție care calculează diferența unghiulară absolută între două sectoare c1 și c2, astfel încat rezultatul să fie ≤ n/2. O posibilă implementare este:

𝛥(𝑐1, 𝑐2) = min {|𝑐1 − 𝑐2|, |𝑐1 − 𝑐2 − 𝑛|, |𝑐1 − 𝑐2 + 𝑛|}

Primul termen al funcției de cost reprezintă costul asociat cu diferența dintre direcția posibilă și

direcția țintă. Cu cât această diferență este mai mare, cu atât direcția ce candidează va îndruma platforma mobilă departe de direcția țintă și, prin urmare, costul este mai mare.

Al doilea termen reprezintă costul asociat cu diferența dintre direcția candidat și orientarea roții

platformei mobile. Cu cât acaestă diferență este mai mare, cu atât este mai mare schimbarea necesară a direcție de mișcare.

Al treilea termen reprezintă costul asociat cu diferența dintre direcția posibilă și direcția de mișcare

selectată anterior. Cu cât această diferență este mai mare, cu atât este mai mare schimbarea noii comenzi

de direcție. Pe scurt, primul termen este responsabil pentru comportamentul orientat spre obiectiv, în timp ce

al doilea și al treilea termen fac ca platforma mobilă să selecteze o direcție de mișcare.

Cu cât μ1 este mai mare, cu atât comportamentul platformei mobile este mai orientată către atingerea obiectivului. Cu cât μ2 este mai mare, cu atat platforma mobilă încearcă să execute o cale eficientă

cu o schimbare minimă a direcție de mișcare. Cu cât μ3 este mai mare, cu atât platforma mobilă încearcă să

se îndreptă către direcția selectată anterior, traiectoria fiind mai fină.

Doar relația dintre cei trei parametri este importantă, nu și mărimile lor. Pentru a garanta un comportament orientat către obiectiv, trebuie îndeplinită urmatoarea condiție:

𝜇1 > 𝜇2 + 𝜇3

Dacă o cale eficientă este mai importantă decât variațiile comenzilor de direcție, atunci μ2 trebuie setat mai mare decât μ3. Dacă finețea comenzilor de direcție este mai importantă decât eficiența traiectoriei

platformei mobile, atunci μ3 trebuie setat mai mare decât μ2.

De asemenea, este posbilă adaugarea altor termeni funcției de cost. Pentru a face platforma mobilă să evite deschiderile înguste, se poate adauga un termen care ține cont de lățimea deschiderii:

μ4 * Δ(kr,kl).

Pe de altă parte, funcția de cost ar putea fi modificată temporar pentru a face platforma mobile să

caute și să treacă prin deschideri înguste precum ușile prin adăugarea termenului: μ4 * 1/Δ(kr,kl)

Page 22: RAPORT STIINTIFIC PROIECT 1cidsactech.ucv.ro/data/_uploaded/Documente/RAPORT CIDSACTEH P1 2019 UC… · spațiile polar, cât și cartezian - unele din următoarele abordări vor

PN-III-P1-1.2-PCCDI-2017-0290

22

2.3.2 Algoritm de control în jurul obstacolelor utilizând logica Fuzzy

Algoritm de control

Vehiculul electric este echipat cu un sistem senzorial pentru a masură distanța dintre vehicul și

obiect, care permite detectarea a 5 nivele de proximitate (pl-):pl-1, pl-2, pl-3, pl-4, si pl-5. Figura 2.3.5

prezintă granița obstacolului și cele 5 nivele de proximitate, iar figura 2.3.6 prezintă cele două grade de libertate ale sistemului de locomoție al vehiculului electric. Din sistemul actuator propriu, se poate mișca

ori în cele două direcții rectangulare, ori în cele diagonale (dacă cele două grade de libertate funcționează

în mod instant).

Figura 2.3.5 Granitele obstacolelor și nivele de proximitate

Scopul algoritmului de control propus este de a mișca vehiculul aproape de granița obiectului cu

evitarea de coliziuni. Platforma mobilă poate urma 4 cicluri de mișcare posibile pe traiectorie: Ciclul 1 (C-

I), ciclul 2 (C-II), Ciclul 3 (C-III) si Ciclul 4 (C-IV): Ciclul 1:

- Dacă pl-1 este activat, mișcarea X+ este activată;

- Dacă pl-2 este activat, mișcările X+ si Y+ sunt activate;

- Dacă pl-3 este activat, mișcarea Y+ este activată; - Dacă pl-4 este activat, mișcările X- si Y+ sunt activate;

- Dacă pl-5 este activat, mișcarea X- este activată;

Ciclul 2: - Dacă pl-1 este activat, mișcarea Y+ este activată;

- Dacă pl-2 este activat, mișcările X- si Y+ sunt activate;

- Dacă pl-3 este activat, mișcarea X- este activată; - Dacă pl-4 este activat, miscările X- si Y- sunt activate;

- Dacă pl-5 este activat, mișcarea Y- este activată;

Ciclul 3:

- Dacă pl-1 este activat, miscarea X- este activată; - Dacă pl-2 este activat, mișcările X- si Y- sunt activate;

- Dacă pl-3 este activat, mișcarea Y- este activată;

- Dacă pl-4 este activat, mișcările X+ si Y- sunt activate; - Dacă pl-5 este activat, mișcarea X+ este activată;

Ciclul 4:

- Dacă pl-1 este activat, mișcarea Y- este activată; - Dacă pl-2 este activat, mișcările X+ si Y- sunt activate;

- Dacă pl-3 este activat, mișcarea X+ este activată;

- Dacă pl-4 este activat, miscările X+ si Y+ sunt activate;

- Dacă pl-5 este activat, mișcarea Y+ este activată;

Page 23: RAPORT STIINTIFIC PROIECT 1cidsactech.ucv.ro/data/_uploaded/Documente/RAPORT CIDSACTEH P1 2019 UC… · spațiile polar, cât și cartezian - unele din următoarele abordări vor

PN-III-P1-1.2-PCCDI-2017-0290

23

Figura 2.3.6 Gradele de libertate ale unui vehicul electric

În fiecare ciclu sunt descrise direcțiile mișcărilor pentru fiecare nivel de proximitate atins. De

exemplu, dacă vehiculul mobil se mșcă în interiorul primului ciclu de mișcare (Ciclul 1) și este atins

pl-3, direcția lui este pe axa Y. Un ciclu este schimbat atunci când sunt atinse nivelele de proximitate pl-1 sau pl-5. Dacă pl-5

este atins ordinea de schimbare este: C-I -> C-II -> C-III -> C-IV -> CI -> …

Dacă pl-1 este atins, secvența de schimbare devine: C-IV -> C-III -> C-II -> C-I -> C-IV ->…

Algoritmul de control al mișcării este prezentat în urmatorul cod program schematic:

STEP 1: START C-I

If pl2+ pl3+ pl4=0 then Jump to STEP 2

else Jump to STEP 1

STEP 2: If pl-1 is active then Jump to STEP 3

else Jump to STEP 4

STEP 3: START C-IV

If pl2+ pl3+ pl4=0 then Jump to STEP 5

else Jump to STEP 3

STEP 4: START C-II If pl2+ pl3+ pl4=0

then Jump to STEP 6

else Jump to STEP 4 STEP 5: If pl-1 is active

then Jump to STEP 7

else Jump to STEP 1

STEP 6: If pl-1 is active then Jump to STEP 1

else Jump to STEP 7

STEP 7: START C-III If pl2+ pl3+ pl4=0

then Jump to STEP 8

else Jump to STEP 7 STEP 8: If pl-1 is active

then Jump to STEP 4

else Jump to STEP 3

Page 24: RAPORT STIINTIFIC PROIECT 1cidsactech.ucv.ro/data/_uploaded/Documente/RAPORT CIDSACTEH P1 2019 UC… · spațiile polar, cât și cartezian - unele din următoarele abordări vor

PN-III-P1-1.2-PCCDI-2017-0290

24

Figura 2.3.7 Intrările și ieșirile algoritmului fuzzy

Algoritmul prezintă evoluția ciclurilor funcționale (a programelor). Se poate vedea că dacă în

interiorul programului, nivelele de proximitate pl-2, pl-3 sau pl-4 sunt atinse, programul nu se schimbă.

Dacă nivelele de proximitate pl-1 sau pl-5 sunt atinse, programul se schimbă. Algoritmul Fuzzy

a) Funcții membre ale nivelelor de proximitate (distanta) măsurate cu senzori

b) Funcții membre alea unghiului (programele)

c) Funcții membre ale comenzilor pe axa X

d) Funcții membre ale comenzilor pe axa Y

Figura 2.3.8 Funcții membre ale variabilelor de intrare- ieșire

Controlerul fuzzy pentru un vehicul electric bazat pe algoritmul prezentat mai sus este simplu. Cele

mai multe aplicații de control cu algoritm fuzzy, ca și servo controlerele, dispun de doar două sau trei intrări în baza de reguli. Acest lucru face interfața de control suficient de simplă încât programatorul să o poată

defini explicit cu regulile fuzzy.

Exemplul platformei mobile anterioare folosește acest principiu, pentru a explora fezabilitatea

folosirii controlului fuzzy pentru sarcinile sale. Figura 2.3.7 prezintă intrările (nivelele de distanță-proximitate și programul la pasul k) și ieșirile (mișcari pe axele X si Y și programul la pasul k+1) ale

algoritmului fuzzy.

Page 25: RAPORT STIINTIFIC PROIECT 1cidsactech.ucv.ro/data/_uploaded/Documente/RAPORT CIDSACTEH P1 2019 UC… · spațiile polar, cât și cartezian - unele din următoarele abordări vor

PN-III-P1-1.2-PCCDI-2017-0290

25

Pentru variabilele lingvistice “nivel distanță-proximitate” stabilim urmărirea a 5 termeni lingvistici: “VS – foarte mic”, “S – mic”, “M- mediu”, “B- mare”, și “VB – foarte mare”. Figura 2.3.8.a arată funcțiile

membre alea nivelelor de proximitate (distanță) măsurate cu senzori și figura 2.3.8.b arată funcțiile membre

ale unghiului (programele). Dacă obiectul este ca un cerc fiecare program este potrivit pentru un sfert de

cerc. Figura 2.3.8.c si figura 2.3.8.d prezintă funcțiile membre ale comenzilor pe axele X, respectiv Y.

Termenii lingvistici sunt : NX – X negativ, ZX – zero X, PX – X pozitiv, și NY, ZY, PY respectiv.

Tabelul 1: Reguli fuzzy pentru evoluția ciclurilor program.

VS S M B VB

C-I C-IV C-I C-I C-I C-II

C-II C-I C-II C-II C-II C-III

C-III C-II C-III C-III C-III C-IV

C-IV C-III C-IV C-IV C-IV C-I

Tabelul 2: Reguli fuzzy pentru mișcarea pe axa X.

VS S M B VB

C-I PX PX ZX NX NX

C-II ZX NX NX NX ZX

C-III NX NX ZX PX PX

C-IV ZX PX PX PX ZX

Tabelul 3: Reguli fuzzy pentru mișcarea pe axa Y.

VS S M B VB

C-I ZY PY PY PY ZY

C-II PY PY ZY NY NY

C-III ZY NY NY NY ZY

C-IV NY NY ZY PY PY

Tabelul 1 descrie regulile fuzzy pentru evoluția (tranziția) programelor, iar tabelul 2 și tabelul 3

descriu regulile fuzzy pentru mișcarea pe axele X și respectiv Y. Tabelul 1 implementează o secvență a

programelor, iar tabelul 2 și tabelul 3 implementează ciclurile de mișcare.

Figura 2.3.9 Traiectoria vehiculului electric autonom în jurul unui obtacol neregulat.

Page 26: RAPORT STIINTIFIC PROIECT 1cidsactech.ucv.ro/data/_uploaded/Documente/RAPORT CIDSACTEH P1 2019 UC… · spațiile polar, cât și cartezian - unele din următoarele abordări vor

PN-III-P1-1.2-PCCDI-2017-0290

26

2.3.3 Algoritm de control bazat pe metoda câmpului de potențial artificial și pe logica Fuzzy

Prezentarea metodei câmpului de potențial artificial

Metoda câmpului de potențial artificial este considerată o metodă “locală” care se bazează pe

următoarea idee: vehiculul electric în mișcarea sa pe traiectorie trebuie să fie “atras” de tința și respins de

frontierele obstacolelor și, eventual, ale câmpului de operare. De exemplu, să considerăm următorul sistem dinamic liniar ce poate fi considerat modelul

matematic simplificat al unui vehicul electric:

�̇� = 𝐴 𝑥 + 𝐵𝐹 (2.1)

unde 𝑥 = [𝑥1, . . . 𝑥𝑛, �̇�1, . . . �̇�𝑛]𝑇 ∈ 𝑅2𝑛 este vectorul variabilelor de stare

𝐹 = 𝑢 𝑅2𝑛 este vectorul mărimilor de intrare

𝐴 = [0𝑛𝑥𝑛 𝐼𝑛𝑥𝑛

0𝑛𝑥𝑛 0𝑛𝑥𝑛]; 𝐵 = [

0𝑛𝑥𝑛

𝐼𝑛𝑥𝑛] (2.2)

0n x n Rn x n este o matrice nulă

In x n Rn x n este o matrice unitate.

Sistemul (2.1) poate fi stabilizat în mișcarea sa spre punctul țintă [x1 .. xn]T = [xT1… yTn]

T prin metoda câmpului de potențial artificial.

Câmpului de potențial artificial π generează sistemul de forțe artificiale F:

𝐹( 𝑡) =𝜕𝑊𝑃(𝑥)

𝜕𝑥− 𝐹𝑑 −

𝜕𝜋(𝑥)

𝜕𝑥 (2.3)

unde primul termen compensează potențialul gravitațional, al doilea termen asigură controlul mișcării amortizate, iar ultima componentă definește câmpul de potențial artificial care generează mișcarea spre

poziția dorită. 𝜕𝜋(𝑥)

𝜕𝑥= [

𝜕𝜋(𝑥)

𝜕𝑥1,

𝜕𝜋(𝑥)

𝜕𝑥2, …

𝜕𝜋(𝑥)

𝜕𝑥𝑛]

𝑇 (2.4)

Deoarece platforma mobilă trebuie să fie atrasă de țintă și respinsă de obstacole, mărimea π trebuie

să înglobeze 2 componente, 2 funcții de potențial elementare:

𝜋(𝑥) = 𝜋𝐴(𝑥) + 𝜋𝑅(𝑥) (2.5)

unde: πA(x) - potențialul de atragere care este asociat cu coordonatele punctului țintă și nu depinde în

niciun fel de obstacolele prezente

πR(x) - potențialul de respingere care este asociat cu coordonatele obstacolelor (eventual, ale frontierelor acestora) nu depinde în niciun fel de coordonatele punctului țintă.

În această situație, forța F(t) va fi o sumă de 2 componente: forța de atracție și forța de respingere:

𝐹(𝑡) = 𝐹𝐴(𝑡) + 𝐹𝑅(𝑡) Câmpul de potențial artificial de atracție

Câmpului de potențial artificial de atracție este o funcție de potențial ale cărei puncte de minim sunt

elemente atractoare pentru sistemul controlat.

πA poate fi definit ca o funcțională de coordonatele de poziție x astfel:

𝜋𝐴: 𝛺 → 𝑅; 𝛺 = 𝑅𝑛 (2.7)

𝜋𝐴(𝑥) =1

2∑ [𝑘𝑖(𝑥𝑖 − 𝑥𝑇𝑖)2 + 𝑘𝑛+𝑖𝑥𝑖

2] =1

2𝑥𝑇𝑛

𝑖=1 𝐾𝑥 (2.8)

unde K = diag (k1, k2, …., k2n), ki > 0 (i = 1, …, 2n) (2.9)

Funcția πA(x) este positivă sau nulă și atinge minimul său în punctul xT, unde πA(xT) = 0. πA(x)

definit în acest mod prezintă caracteristici de stabilitate remarcabile deoarece generează o forță FA ce converge linear spre 0 când coordonatele vehicolului se suprapun peste coordonatele punctului țintă:

𝐹𝐴(𝑥) = 𝑘(𝑥 − 𝑥𝑇) (2.10)

Dacă se adaugă forțe disipative proporționale cu viteza x se poate obține stabilitatea asimptotică a

platformei mobile în mișcarea pe traiectorie.’

Câmpul de potențial artificial de respingere

Ideea principală ce decurge din definiția potențialului de respingere este aceea de a crea o barieră

de potențial în jurul obstacolelor astfel încât aceasta să nu fie traversată de traiectoria platformei mobile. În

plus, este de dorit ca acest potențial de respingere să nu afecteze deplasarea platformei spre punctul țintă

Page 27: RAPORT STIINTIFIC PROIECT 1cidsactech.ucv.ro/data/_uploaded/Documente/RAPORT CIDSACTEH P1 2019 UC… · spațiile polar, cât și cartezian - unele din următoarele abordări vor

PN-III-P1-1.2-PCCDI-2017-0290

27

atunci când el este suficient de departe de obstacole. O modalitate prin care se îndeplinesc aceste deziderate este definirea câmpului de potențial artificial de respingere astfel:

𝜋𝑅(𝑥) = {1

2𝑘 (

1

𝑑(𝑥)−

1

𝑑0)

2

𝑑𝑎𝑐ă 𝑑(𝑥) ≤ 𝑑0

0 𝑑𝑎𝑐ă 𝑑(𝑥) > 𝑑0

(2.11)

unde k este un coeficient pozitiv, d(x) reprezintă distanța de la x la obstacol și d0 este o constantă positivă

numita distanța de influență a obstacolului. În acest caz FR(x) devine:

𝐹𝑅( 𝑥) = {𝑘 (

1

𝑑(𝑥)−

1

𝑑0)

1

𝑑2(𝑥)

𝜕𝑑(𝑥)

𝜕𝑥 𝑑𝑎𝑐ă 𝑑(𝑥) ≤ 𝑑0

0 𝑑𝑎𝑐ă 𝑑(𝑥) > 𝑑0

(2.12)

Pentru acele cazuri când suprafața definită de frontiera unui obstacol nu este o regiune convexă,

trebuie descompusă aceasta regiune în mai multe regiuni convexe (care se pot intersecta), regiuni cărora li se vor asocia funcții de potențial de respingere și tot atâtea forțe de respingere care, prin compunere, vor

genera forța de respingere a obstacolului. ė/e NB NM NS NZ PZ PS PM PB

PB Z NS NS NS NB NB NB NB

PM PS Z NS NS NB NB NB NB

PS PS PS Z NS NS NB NB NB

PZ PB PS PS Z NS NS NB NB

NZ PB PB PS PS Z NS NS NB

NS PB PB PB PS PS Z NS NS

NM PB PB PB PB PS PS Z S

NB PB PB PB PB PB PS PS Z

Tabel 4 Regulile de inferență (logica de control)

Simulari

Ne propunem ca vehiculul electric autonom să se deplaseze din punctul inițial (x, y) = (0, 0) în punctul final (xT, yT) = (7, 5). În prima faza, considerăm că nu există obstacole pe traiectorie. În acest caz

există numai câmp de potențial artificial de atracție care va conduce vehiculul electric autonom direct spre

țintă (Figura 2.3.10):

𝜋(𝑥) = 𝜋𝐴(𝑥) =1

2[(𝑥 − 7)2 + (𝑦 − 5)2] (2.25)

În a doua variantă, presupunem că există un obstacol circular cu centrul său În (xR, yR) = (4, 3), și

cu distanța de influență d0 = 0.4. Expresia câmpului de potențial artificial de respingere este dată în relația

(2.11). În acest caz, traiectoria vehiculului electric autonom este prezentată în Figura 2.3.11.

𝜋𝑅(𝑥) = {

1

2(

1

√(𝑥−4)2+(𝑦−3)2− 1)

2

𝑑𝑎𝑐𝑎 √(𝑥 − 4)2 + (𝑦 − 3)2 ≤ 1

0 𝑑𝑎𝑐𝑎 √(𝑥 − 4)2 + (𝑦 − 3)2 > 1

(2.26)

Figura 2.3.10 Traiectoria vehicolului mobil autonom în lipsa obstacolelor.

Page 28: RAPORT STIINTIFIC PROIECT 1cidsactech.ucv.ro/data/_uploaded/Documente/RAPORT CIDSACTEH P1 2019 UC… · spațiile polar, cât și cartezian - unele din următoarele abordări vor

PN-III-P1-1.2-PCCDI-2017-0290

28

Figura 2.3.11 Traiectoria vehicolului mobil autonom în prezența unui obstacol

Categorie activitate: A2 – Cercetare industriala

CONCLUZII

Raportul stiintific detaliat pune in evidenta solutiile stiintifice pe care echipa de lucru a Proiectului 1 le

ofera pentru cerintele Etapei 2. In raportul stiintific detaliat in carcat pe platforma proiectului P1 (http://cidsactech.ucv.ro/data/_uploaded/Documente/RAPORT%20CIDSACTEH%20P1%202019%20U

CV.pdf), se pot vizualiza solutiile/rezultatele pentru cercetari aferente Etapei 2. Proiect 1 “Conducerea

inteligentă şi distribuită a 3 sisteme autonome complexe integrate în tehnologii emergente către asistare personală medico-socială şi deservire de linii de fabricaţie flexibilă de precizie”.

DISEMINARE

Articole (ISI sau BDI) - http://cidsactech.ucv.ro/index.php/Publicatii

ISI- Proceedings Paper

1) Manta L.F., Cojocaru D., Vladu I.C., Dragomir A., Mariniuc A., 2019, Wheelchair Control by Head

Motion Using a Non-contact Method in Relation to the Patient, 2019 20th International Carpathian Control Conference (ICCC), May 26 – 29, Kraków-Wieliczka, Poland, Electronic ISBN: 978-1-7281-0702-8, DOI:

10.1109/CarpathianCC.2019.8765982

2) Viorel Stoian, Ionel Cristian Vladu, Cristina Pana, Daniela Pătrașcu, Ileana Vladu, Locomotion Solution for Stair Climbing Wheelchair with ER Fluid Based Control, 2019, Proceedings of the 20th International

Carpathian Control Conference (ICCC’2019), Krakow-Wieliczka, Poland, May 26-29, 2019, ISBN: 978-

1-7281-0701-1, IEEE Catalog Number: CFP1942L-USB

BDI – IEEE XPLORE

3) Dorian Cojocaru, Andrei Dragomir, Florin Manta, Alexandru Mariniuc, Cristian Ionel Vladu, Iulian

Deaconu, Involving Students with Special Needs In Research Projects, 29th Annual Conference of the

Rezultate asteptate - Algoritmi de control ai traiectoriilor cu ocolirea obstacolelor bazați pe informația furnizată de sistemul

senzorial definit în etapele anterioare;

- Rezultatele simulărilor funcționale bazate pe algoritmii definiții;

- Participare conferințe, workshop-uri, articole în revistă ISI/BDI;

Page 29: RAPORT STIINTIFIC PROIECT 1cidsactech.ucv.ro/data/_uploaded/Documente/RAPORT CIDSACTEH P1 2019 UC… · spațiile polar, cât și cartezian - unele din următoarele abordări vor

PN-III-P1-1.2-PCCDI-2017-0290

29

European Association for Education in Electrical and Information Engineering (EAEEIE) 2019, 4-6 September, University of Ruse, Ruse, Bulgaria.

4) Cojocaru D., Manta L. F., Vladu I.C., Dragomir A., Mariniuc A., 2019, Using an Eye Gaze New

Combined Approach to Control a Wheelchair Movement, 2019 23rd International Conference on System

Theory, Control and Computing (ICSTCC), October 9-11, 2019, Sinaia, Romania, in curs de aparitie. 5) Resceanu Ionut Cristian, Vladu Ionel Cristian, Ganea Eugen, Roibu Horatiu, Bazavan Lidia-Cristina,

Decision Making using Data Fusion for Wheelchair Navigation, Proc. of 23rd International Conference on

System Theory, Control and Computing (ICSTCC), Sinaia, October 9-11, 2019, Page(s): 614 - 619, IEEE Catalog Number: CFP1936P-USB, ISBN: 978-1-7281-0698-4, DOI: 10.1109/ICSTCC.2019.8885823

6) I.C. Vladu, D Cojocaru, F. Manta, I Resceanu, Rheological Based Hibrid Hyper-Redundant Robot

- Design, Proc. of 23rd International Conference on System Theory, Control and Computing (ICSTCC), Sinaia, October 9-11, 2019, Page(s): 603 – 607, IEEE Catalog Number: CFP1936P-USB, ISBN: 978-1-

7281-0698-4, DOI: 10.1109/ICSTCC.2019.8885467

Conference under the patronage of Ministry of Research and Innovation:

7) Pană Cristiana Floriana, Vladu Ionel Cristian, Pătrașcu Pană Daniela Maria, Manta Liviu Florin, Cojocaru Dorian, Tarniță Daniela, Bîzdoacă Nicu George, Smart Fluid Based Variable Geometry Wheel,

Proceedings of the 11th European Exhibition of Creativity and Innovation EUROINVENT 2019, 17-19

mai, 2019, ISSN Print: 2601-4564 Prezentări in cadrul unor manifestari nationale organizate in 2019 :

1. Prezentare proiect - în cadrul conferinței 11th European Exhibition of Creativity and

Innovation EUROINVENT 2019, 17-19 mai, 2019, patronată de Ministerul Cercetării și Inovării Premii: http://cidsactech.ucv.ro/index.php/Publicatii

- Diplomă și Medalie de aur pentru: Smart Fluid Based Variable Geometry Wheel - Cerere de

Brevetare A/00212/2019, Universitatea din Craiova, Pentru Proiectul Complex: CIDSATECH, autori: Pană Cristiana Floriana, Vladu Ionel Cristian, Pătrașcu Pană Daniela Maria, Manta Liviu

Florin, Cojocaru Dorian, Tarniță Daniela, Bîzdoacă Nicu George, EUROINVENT 2019

- Diplomă și Medalie de aur pentru: Smart Fluid Based Variable Geometry Wheel - Cerere de

Brevetare A/00212/2019, Universitatea din Craiova, Pentru Proiectul Complex: CIDSATECH, autori: Pană Cristiana Floriana, Vladu Ionel Cristian, Pătrașcu Pană Daniela Maria, Manta Liviu

Florin, Cojocaru Dorian, Tarniță Daniela, Bîzdoacă Nicu George, EUROINVENT 2019

2. Prezentarea proiectului CIDSACTEH în cadrul evenimentului „Noaptea cercetătorilor” 27 Septembrie 2019 organizat la Universitatea din Craiova.

http://cidsactech.ucv.ro/index.php/Noaptea-Cercetatorilor

3. Prezentare proiect - în cadrul conferinței: 29th Annual Conference of the European Association

for Education in Electrical and Information Engineering (EAEEIE) 2019, 4-6 September,

University of Ruse, Ruse, Bulgaria

PREZENTAREA STRUCTURII OFERTEI DE SERVICII DE CERCETARE SI TEHNOLOGICE

CU INDICAREA LINK-ULUI DIN PLATFORMA ERRIS

SERVICII DE CERCETARE SI TEHNOLOGICE

Denumire - Analiza structurala si arhitecturala a platformelor mobile pentru persoane cu dizabilitati

- Analiza si selectarea solutiilor integrare si interfatare a sistemelor senzoriale in

arhitecturi de conducere pentru platforme mobile destinate persoanelor cu dizabilitati

- Studiu privind "Integrarea Senzorilor Inteligenti in Structuri de Conducere pentru Roboti"

- Servicii de proiectare asistata a platformelor mobile pentru persoane cu dizabilitati

- Servicii de integrare si interfatare a sistemelor senzoriale in arhitecturi de conducere pentru platforme mobile destinate persoanelor cu dizabilitati

Link: https://erris.gov.ro/Computer-Aided-Design-CAD--C