raport stiintific proiect 1cidsactech.ucv.ro/data/_uploaded/documente/raport cidsacteh p1 2019...
TRANSCRIPT
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.
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
PN-III-P1-1.2-PCCDI-2017-0290
3
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.
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
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.
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).
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
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).
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.
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.
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
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
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
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;
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:
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;
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.
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:
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ă+
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)
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ă;
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
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.
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.
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ă
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.
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;
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