Cuprins:

Utilizarea sonarului, lidarului și viziunii computerizate pe microcontrolere pentru a ajuta persoanele cu deficiențe de vedere: 16 pași
Utilizarea sonarului, lidarului și viziunii computerizate pe microcontrolere pentru a ajuta persoanele cu deficiențe de vedere: 16 pași

Video: Utilizarea sonarului, lidarului și viziunii computerizate pe microcontrolere pentru a ajuta persoanele cu deficiențe de vedere: 16 pași

Video: Utilizarea sonarului, lidarului și viziunii computerizate pe microcontrolere pentru a ajuta persoanele cu deficiențe de vedere: 16 pași
Video: LIDAR Scan Discovered an Unknown Civilization In The Amazon 2024, Iulie
Anonim
Utilizarea Sonar, Lidar și Computer Vision pe microcontrolere pentru a ajuta persoanele cu deficiențe de vedere
Utilizarea Sonar, Lidar și Computer Vision pe microcontrolere pentru a ajuta persoanele cu deficiențe de vedere

Vreau să creez o „trestie” inteligentă care poate ajuta persoanele cu deficiențe de vedere mult mai mult decât soluțiile existente. Bastonul va putea notifica utilizatorul cu privire la obiectele din față sau din lateral făcând un zgomot în căștile de tip sunet surround. Bastonul va avea, de asemenea, o cameră mică și LIDAR (Light Detection and Ranging), astfel încât să poată recunoaște obiecte și persoane din cameră și să notifice utilizatorul folosind căștile. Din motive de siguranță, căștile nu vor bloca tot zgomotul, deoarece va exista un microfon care poate filtra toate sunetele inutile și poate menține claxoanele mașinii și oamenii vorbesc. În cele din urmă, sistemul va avea un GPS, astfel încât să poată oferi indicații și să arate utilizatorului unde să meargă.

Vă rog să mă votați la concursurile de microcontroler și fitness în aer liber!

Pasul 1: Prezentare generală a proiectului

Prezentare generală a proiectului
Prezentare generală a proiectului
Prezentare generală a proiectului
Prezentare generală a proiectului
Prezentare generală a proiectului
Prezentare generală a proiectului

Potrivit World Access for the Blind, mișcarea fizică este una dintre cele mai mari provocări pentru persoanele nevăzătoare. Călătoria sau mersul pe o stradă aglomerată poate fi foarte dificilă. În mod tradițional, singura soluție a fost utilizarea „trestiei albe” cunoscută în mod obișnuit, care este utilizată în primul rând pentru a scana împrejurimile lovind obstacolele din apropierea utilizatorului. O soluție mai bună ar fi un dispozitiv care poate înlocui asistentul văzător oferind informații despre localizarea obstacolelor, astfel încât nevăzătorul să poată ieși în medii necunoscute și să se simtă în siguranță. În timpul acestui proiect, a fost dezvoltat un dispozitiv mic cu baterie care îndeplinește aceste criterii. Dispozitivul poate detecta dimensiunea și locația obiectului prin intermediul unor senzori care măsoară poziția obiectelor în raport cu utilizatorul, retransmite acele informații la un microcontroler și apoi le convertesc în audio pentru a furniza informații utilizatorului. Dispozitivul a fost construit folosind LIDAR (detectarea și distanțarea luminii), SONAR (navigarea și distanțarea sunetului) și tehnologiile de vizualizare computerizate disponibile la microcontrolere și programate pentru a furniza informațiile sonore necesare folosind căști sau căști. Tehnologia de detectare a fost încorporată într-un „baston alb” pentru a indica altora starea utilizatorului și pentru a oferi siguranță suplimentară.

Pasul 2: Cercetare de fond

Cercetări de fond
Cercetări de fond
Cercetări de fond
Cercetări de fond
Cercetări de fond
Cercetări de fond
Cercetări de fond
Cercetări de fond

În 2017, Organizația Mondială a Sănătății a raportat că la nivel mondial existau 285 de milioane de persoane cu deficiențe de vedere, dintre care 39 de milioane sunt complet orbi. Majoritatea oamenilor nu se gândesc la problemele cu care se confruntă zilnic persoanele cu deficiențe de vedere. Potrivit World Access for the Blind, mișcarea fizică este una dintre cele mai mari provocări pentru persoanele nevăzătoare. Călătoria sau mersul pe o stradă aglomerată poate fi foarte dificilă. Din această cauză, mulți oameni cu deficiențe de vedere preferă să aducă un prieten cu vedere sau un membru al familiei pentru a ajuta la navigarea în medii noi. În mod tradițional, singura soluție a fost utilizarea „trestiei albe” cunoscută în mod obișnuit, care este utilizată în primul rând pentru a scana împrejurimile lovind obstacolele din apropierea utilizatorului. O soluție mai bună ar fi un dispozitiv care poate înlocui asistentul văzător oferind informații despre localizarea obstacolelor, astfel încât nevăzătorul să poată ieși în medii necunoscute și să se simtă în siguranță. NavCog, o colaborare între IBM și Universitatea Carnegie Mellon, a încercat să rezolve problema prin crearea unui sistem care utilizează balize Bluetooth și smartphone-uri pentru a vă ajuta. Cu toate acestea, soluția a fost greoaie și s-a dovedit a fi foarte costisitoare pentru implementările la scară largă. Soluția mea abordează acest lucru eliminând orice nevoie de dispozitive externe și folosind o voce pentru a ghida utilizatorul pe tot parcursul zilei (Figura 3). Avantajul de a avea tehnologia încorporată într-un „baston alb” este că semnalează restul lumii starea utilizatorului, ceea ce determină schimbarea comportamentului oamenilor din jur.

Pasul 3: Cerințe de proiectare

Cerințe de design
Cerințe de design

După ce am cercetat tehnologiile disponibile, am discutat posibile soluții cu profesioniștii din viziune cu privire la cea mai bună abordare pentru a ajuta persoanele cu deficiențe de vedere să navigheze în mediul lor. Tabelul de mai jos prezintă cele mai importante funcții necesare pentru ca cineva să treacă la dispozitivul meu.

Caracteristică - Descriere:

  • Calcul - Sistemul trebuie să ofere o procesare rapidă a informațiilor schimbate între utilizator și senzori. De exemplu, sistemul trebuie să poată informa utilizatorul despre obstacolele din față care se află la cel puțin 2 metri distanță.
  • Acoperire - Sistemul trebuie să ofere serviciile sale în interior și în exterior pentru a îmbunătăți calitatea vieții persoanelor cu deficiențe de vedere.
  • Timp - Sistemul ar trebui să funcționeze la fel de bine în timpul zilei, precum și noaptea.
  • Gama - Gama este distanța dintre utilizator și obiectul care trebuie detectat de sistem. Domeniul minim ideal este de 0,5 m, în timp ce domeniul maxim ar trebui să fie mai mare de 5 m. Distanțe suplimentare ar fi și mai bune, dar mai dificile de calculat.
  • Tipul de obiect - Sistemul ar trebui să detecteze apariția bruscă a obiectelor. Sistemul ar trebui să poată face diferența dintre obiectele în mișcare și obiectele statice.

Pasul 4: Proiectarea inginerească și selectarea echipamentelor

Proiectare inginerie si selectie echipamente
Proiectare inginerie si selectie echipamente
Proiectare inginerie si selectie echipamente
Proiectare inginerie si selectie echipamente
Proiectare inginerie si selectie echipamente
Proiectare inginerie si selectie echipamente

După ce am analizat multe componente diferite, am decis părțile selectate din diferitele categorii de mai jos.

Prețul pieselor selectate:

  • Zungle Panther: 149,99 USD
  • LiDAR Lite V3: 149,99 USD
  • LV-MaxSonar-EZ1: 29,95 USD
  • Senzor cu ultrasunete - HC-SR04: 3,95 USD
  • Raspberry Pi 3: 39,95 dolari
  • Arduino: 24,95 dolari
  • Kinect: 32,44 USD
  • Floureon 11.1v 3s 1500mAh: 19,99 dolari
  • LM2596HV: 9,64 USD

Pasul 5: Selectarea echipamentului: Metoda de interacțiune

Selectarea echipamentului: Metoda de interacțiune
Selectarea echipamentului: Metoda de interacțiune
Selectarea echipamentului: Metoda de interacțiune
Selectarea echipamentului: Metoda de interacțiune

Am decis să folosesc controlul vocal ca metodă de interacțiune cu dispozitivul, deoarece a avea mai multe butoane pe un baston poate fi o provocare pentru o persoană cu deficiențe de vedere, mai ales dacă unele funcții necesită o combinație de butoane. Cu ajutorul controlului vocal, utilizatorul poate utiliza comenzi presetate pentru a comunica cu bastonul, ceea ce reduce erorile potențiale.

Dispozitiv: Pro --- Contra:

  • Butoane: Nicio eroare de comandă atunci când butonul din dreapta este apăsat --- Poate fi dificil să vă asigurați că butoanele corecte sunt apăsate
  • Control vocal: Ușor, deoarece utilizatorul poate folosi comenzi presetate --- Pronunția incorectă poate induce erori

Pasul 6: Selectarea echipamentului: Microcontroler

Selecția echipamentului: microcontroler
Selecția echipamentului: microcontroler
Selecția echipamentului: microcontroler
Selecția echipamentului: microcontroler
Selecția echipamentului: microcontroler
Selecția echipamentului: microcontroler

Dispozitivul a folosit Raspberry Pi datorită costului redus și a puterii de procesare suficiente pentru a calcula harta de adâncime. Intel Joule ar fi fost opțiunea preferată, dar prețul său ar fi dublat costul sistemului, ceea ce nu ar fi ideal acest dispozitiv dezvoltat pentru a oferi utilizatorilor o opțiune de cost mai mic. Arduino a fost utilizat în sistem, deoarece poate obține cu ușurință informații de la senzori. BeagleBone și Intel Edison nu au fost utilizate din cauza raportului preț scăzut la performanță, ceea ce este rău pentru acest sistem cu costuri reduse.

Microcontroler: Pro --- Contra:

  • Raspberry Pi: Are suficientă putere de procesare pentru a găsi obstacole și are WiFi / Bluetooth integrat --- Nu sunt multe opțiuni pentru primirea datelor de la senzori
  • Arduino: primiți cu ușurință date de la senzori mici. adică LIDAR, cu ultrasunete, SONAR etc. --- Putere de procesare insuficientă pentru găsirea obstacolelor
  • Intel Edison: poate procesa rapid obstacolele cu procesorul rapid --- Necesită piese de dezvoltator suplimentare pentru a funcționa pentru sistem
  • Intel Joule: are o viteză de procesare dublă a oricăruia dintre microcontrolerele de pe piața consumatorilor până în prezent --- Cost foarte mare pentru acest sistem și dificil de interacționat cu GPIO pentru interacțiunea senzorilor
  • BeagleBone Black: Compact și compatibil cu senzorii folosiți în proiect utilizând ieșirea de intrare cu scop general (GPIO) --- Putere de procesare insuficientă pentru a găsi în mod eficient obiecte

Pasul 7: Selectarea echipamentului: senzori

Selecția echipamentului: senzori
Selecția echipamentului: senzori
Selecția echipamentului: senzori
Selecția echipamentului: senzori
Selecția echipamentului: senzori
Selecția echipamentului: senzori

O combinație de mai mulți senzori este utilizată pentru a obține o precizie ridicată a locației. Kinect este senzorul principal datorită cantității de suprafață pe care o poate căuta pentru obstacole simultan. LIDAR, care înseamnă LIght Detection and Ranging, este o metodă de teledetecție care utilizează lumina sub forma unui laser pulsat pentru a măsura distanțele de la care se află senzorul la obiecte rapid; senzorul este utilizat deoarece poate urmări o zonă de până la 40 de metri (m) distanță și, deoarece poate scana în diferite unghiuri, poate detecta dacă vreun pas se urcă sau coboară. Senzorii SOund Navigation And Ranging (SONAR) și ultrasonic sunt folosiți ca urmărire de rezervă în cazul în care Kinect ratează un stâlp sau o lovitură în pământ care ar reprezenta un pericol pentru utilizator. Senzorul de 9 grade de libertate este utilizat pentru urmărirea direcției cu care se confruntă utilizatorul, astfel încât dispozitivul să poată stoca informațiile pentru o precizie mai mare direcționând data viitoare când persoana merge în același loc.

Senzori: Pro --- Contra:

  • Kinect V1: Poate urmări obiecte 3D cu --- O singură cameră pentru a detecta împrejurimile
  • Kinect V2: Are 3 camere cu infraroșu și o cameră roșie, verde, albastră, de adâncime (RGB-D) pentru detectarea obiectelor 3D de înaltă precizie --- Se poate încălzi și poate avea nevoie de un ventilator de răcire și este mai mare decât alți senzori
  • LIDAR: Fascicul care poate urmări locațiile de până la 40 m distanță --- Trebuie poziționat spre obiect și poate privi doar în acea direcție
  • SONAR: Fascicul care poate urmări 5 m distanță, dar într-o rază îndepărtată --- Obiecte mici, cum ar fi pene, pot declanșa senzorul
  • Ultrasonic: Are o rază de acțiune de până la 3 m și este foarte ieftin --- Distanțele pot fi uneori inexacte
  • Senzor de 9 grade de libertate: bun pentru detectarea orientării și vitezei utilizatorului --- Dacă ceva interferează cu senzorii, calculele distanței pot fi calculate incorect

Pasul 8: Selectarea echipamentului: Software

Selecția echipamentului: software
Selecția echipamentului: software
Selecția echipamentului: software
Selecția echipamentului: software
Selecția echipamentului: software
Selecția echipamentului: software

Software-ul selectat pentru primele prototipuri construite cu senzorul Kinect V1 a fost Freenect, dar nu a fost foarte precis. La trecerea la Kinect V2 și Freenect2, rezultatele de urmărire au fost semnificativ îmbunătățite datorită urmăririi îmbunătățite, deoarece V2 are o cameră HD și 3 camere cu infraroșu, spre deosebire de o singură cameră de pe Kinect V1. Când foloseam OpenNi2 cu Kinect V1, funcțiile erau limitate și nu puteam controla unele dintre funcțiile dispozitivului.

Software: Pro --- Contra:

  • Freenect: Are un nivel mai scăzut de control pentru a controla totul --- acceptă numai Kinect V1
  • OpenNi2: Poate crea cu ușurință datele din norul de puncte din fluxul de informații de la Kinect --- Acceptă numai Kinect V1 și nu are suport pentru control la nivel scăzut
  • Freenect2: Are un nivel mai mic de control pentru bara senzorului --- Funcționează numai pentru Kinect V2
  • ROS: Sistem de operare ideal pentru programarea funcțiilor camerei --- Trebuie instalat pe un card SD rapid, astfel încât software-ul să funcționeze

Pasul 9: Selectarea echipamentului: alte piese

Selecția echipamentului: alte piese
Selecția echipamentului: alte piese
Selecția echipamentului: alte piese
Selecția echipamentului: alte piese

Bateriile litiu-ion au fost selectate datorită faptului că sunt ușoare, au o capacitate mare de putere și sunt reîncărcabile. Varianta 18650 a bateriei litiu-ion are o formă cilindrică și se potrivește perfect în prototipul de trestie. Primul baston prototip este realizat din țeavă din PVC, deoarece este gol și reduce greutatea bastonului.

Pasul 10: Dezvoltarea sistemului: Crearea hardware-ului Partea 1

Dezvoltarea sistemului: Crearea hardware-ului Partea 1
Dezvoltarea sistemului: Crearea hardware-ului Partea 1
Dezvoltarea sistemului: Crearea hardware-ului Partea 1
Dezvoltarea sistemului: Crearea hardware-ului Partea 1
Dezvoltarea sistemului: Crearea hardware-ului Partea 1
Dezvoltarea sistemului: Crearea hardware-ului Partea 1

Mai întâi trebuie să demontăm Kinect pentru a-l face mai ușor și astfel încât să se potrivească în interiorul bastonului. Am început prin îndepărtarea tuturor carcasei exterioare de pe Kinect, deoarece plasticul folosit cântărește MULȚI. Apoi a trebuit să tai cablul, astfel încât baza să poată fi scoasă. Am luat firele de la conectorul prezentat în imagine și le-am lipit pe un cablu USB cu fire de semnal, iar celelalte două conexiuni erau pentru puterea de intrare de 12V. Din moment ce am vrut ca ventilatorul din interiorul bastonului să funcționeze la putere maximă pentru a răci toate celelalte componente, am întrerupt conectorul ventilatorului de la Kinect și am conectat 5V de la Raspberry Pi. De asemenea, am făcut un mic adaptor pentru firul LiDAR, astfel încât să se poată conecta direct la Raspberry Pi fără alte sisteme între ele.

Am lipit din greșeală firul alb cu cel negru, așa că nu te uita la imagini pentru schemele de cablare

Pasul 11: Dezvoltarea sistemului: Crearea hardware-ului Partea 2

Dezvoltarea sistemului: crearea hardware-ului partea 2
Dezvoltarea sistemului: crearea hardware-ului partea 2
Dezvoltarea sistemului: crearea hardware-ului partea 2
Dezvoltarea sistemului: crearea hardware-ului partea 2
Dezvoltarea sistemului: crearea hardware-ului partea 2
Dezvoltarea sistemului: crearea hardware-ului partea 2
Dezvoltarea sistemului: crearea hardware-ului partea 2
Dezvoltarea sistemului: crearea hardware-ului partea 2

Am creat un regulator pentru a furniza energie tuturor dispozitivelor care necesită 5V, cum ar fi Raspberry Pi. Am reglat regulatorul punând un contor pe ieșire și reglând rezistorul astfel încât regulatorul să ofere 5.05V. L-am pus puțin mai mare de 5V, deoarece în timp, tensiunea bateriei scade și afectează ușor tensiunea de ieșire. De asemenea, am făcut un adaptor care îmi permite să alimentez până la 5 dispozitive care necesită 12V de la baterie.

Pasul 12: Dezvoltarea sistemului: Programarea sistemului Partea 1

Dezvoltarea sistemului: Programarea sistemului Partea 1
Dezvoltarea sistemului: Programarea sistemului Partea 1
Dezvoltarea sistemului: Programarea sistemului Partea 1
Dezvoltarea sistemului: Programarea sistemului Partea 1
Dezvoltarea sistemului: Programarea sistemului Partea 1
Dezvoltarea sistemului: Programarea sistemului Partea 1

Una dintre cele mai provocatoare părți ale acestui sistem este programarea. Când am reușit Kinect să se joace cu el, am instalat un program numit RTAB Map care preia fluxul de date de la Kinect și îl convertește într-un nor de puncte. Cu norul de puncte, a creat o imagine 3D care poate fi rotită, astfel încât să vedeți adâncimea unde se află toate obiectele. După ce m-am jucat o vreme și am ajustat toate setările, am decis să instalez un software pe Raspberry Pi pentru a-mi permite să văd fluxul de date de la Kinect. Ultimele două imagini de mai sus arată ce poate produce Raspberry Pi la aproximativ 15-20 de cadre pe secundă.

Recomandat: