Sisukord:

Sonari, Lidari ja arvutinägemise kasutamine nägemispuudega inimeste jaoks mikrokontrolleritel: 16 sammu
Sonari, Lidari ja arvutinägemise kasutamine nägemispuudega inimeste jaoks mikrokontrolleritel: 16 sammu

Video: Sonari, Lidari ja arvutinägemise kasutamine nägemispuudega inimeste jaoks mikrokontrolleritel: 16 sammu

Video: Sonari, Lidari ja arvutinägemise kasutamine nägemispuudega inimeste jaoks mikrokontrolleritel: 16 sammu
Video: Безымянная звезда (1 серия) (1978) фильм 2024, Detsember
Anonim
Sonar, Lidar ja Computer Vision kasutamine vaegnägijate abistamiseks mikrokontrolleritel
Sonar, Lidar ja Computer Vision kasutamine vaegnägijate abistamiseks mikrokontrolleritel

Tahan luua intelligentse „kepi“, mis aitab nägemispuudega inimesi palju rohkem kui olemasolevad lahendused. Kepp saab teavitada kasutajat ees või külgedel olevatest esemetest, tekitades ruumilise heli tüüpi kõrvaklappides müra. Keppil on ka väike kaamera ja LIDAR (valguse tuvastamine ja kauguse määramine), et see tuvastaks ruumis olevad objektid ja inimesed ning kasutajat kõrvaklappide abil teavitaks. Ohutuse huvides ei blokeeri kõrvaklapid kogu müra, kuna seal on mikrofon, mis suudab kõik ebavajalikud helid välja filtreerida ning hoida autosarve ja inimesi rääkimas. Lõpuks on süsteemil GPS, mis annab juhiseid ja näitab kasutajale, kuhu minna.

Palun hääletage minu poolt mikrokontrolleri ja välitreeningu võistlustel!

Samm: projekti ülevaade

Ülevaade projektist
Ülevaade projektist
Ülevaade projektist
Ülevaade projektist
Ülevaade projektist
Ülevaade projektist

Maailma juurdepääsu pimedatele andmetel on füüsiline liikumine pimedate inimeste jaoks üks suurimaid väljakutseid. Reisimine või lihtsalt ülerahvastatud tänaval kõndimine võib olla väga raske. Traditsiooniliselt oli ainsaks lahenduseks üldtuntud valge kepi kasutamine, mida kasutatakse peamiselt ümbruse skaneerimiseks, lüües takistusi kasutaja läheduses. Parem lahendus oleks seade, mis võib asendada nägemisabi, andes teavet takistuste asukoha kohta, et pime saaks tundmatus keskkonnas välja minna ja end turvaliselt tunda. Selle projekti käigus töötati välja väike patareidega töötav seade, mis vastab nendele kriteeriumidele. Seade saab tuvastada objekti suuruse ja asukoha andurite abil, mis mõõdavad objektide asukohta kasutaja suhtes, edastavad selle teabe mikrokontrollerile ja teisendavad selle seejärel heliks, et anda kasutajale teavet. Seade ehitati olemasolevate kaubanduslike LIDAR -ide (valguse tuvastamine ja vahekaugus), SONAR -i (helinavigatsioon ja helitugevus) ning mikrokontrolleritega ühendatud arvutite nägemistehnoloogiate abil, mis olid programmeeritud nii, et need pakuksid kõrvaklappide või kõrvaklappide abil vajalikku kuuldavat teavet. Tuvastamistehnoloogia oli põimitud valgesse keppi, et näidata teistele kasutaja seisundit ja pakkuda täiendavat ohutust.

2. samm: taustauuringud

Taustauuringud
Taustauuringud
Taustauuringud
Taustauuringud
Taustauuringud
Taustauuringud
Taustauuringud
Taustauuringud

2017. aastal teatas Maailma Terviseorganisatsioon, et maailmas on 285 miljonit nägemispuudega inimest, kellest 39 miljonit on täiesti pimedad. Enamik inimesi ei mõtle probleemidele, millega nägemispuudega inimesed iga päev kokku puutuvad. Maailma juurdepääsu pimedatele andmetel on füüsiline liikumine pimedate inimeste jaoks üks suurimaid väljakutseid. Reisimine või lihtsalt ülerahvastatud tänaval kõndimine võib olla väga raske. Seetõttu eelistavad paljud nägemispuudega inimesed kaasa tuua nägemispuudega sõbra või pereliikme, et aidata uues keskkonnas navigeerida. Traditsiooniliselt oli ainsaks lahenduseks üldtuntud valge kepi kasutamine, mida kasutatakse peamiselt ümbruse skaneerimiseks, lüües kasutaja läheduses olevaid takistusi. Parem lahendus oleks seade, mis võib asendada nägemisabi, andes teavet takistuste asukoha kohta, et pime saaks tundmatus keskkonnas välja minna ja end turvaliselt tunda. IBMi ja Carnegie Melloni ülikooli koostöö NavCog on püüdnud probleemi lahendada, luues süsteemi, mis suunab Bluetoothi majakaid ja nutitelefone. Lahendus oli aga tülikas ja osutus suuremahuliste rakenduste jaoks väga kulukaks. Minu lahendus lahendab selle, välistades vajaduse väliste seadmete järele ja kasutades häält, mis juhendab kasutajat kogu päeva vältel (joonis 3). Tehnoloogia „valgele keppile” sisseehitatud eeliseks on see, et see annab ülejäänud maailmale märku kasutaja seisundist, mis põhjustab muutusi ümbritsevate inimeste käitumises.

3. samm: disaininõuded

Disaininõuded
Disaininõuded

Pärast olemasolevate tehnoloogiate uurimist arutasin nägemisspetsialistidega võimalikke lahendusi, kuidas leida parim lahendus nägemispuudega inimestele oma keskkonnas navigeerimiseks. Allolevas tabelis on loetletud kõige olulisemad funktsioonid, mis on vajalikud minu seadmele üleminekuks.

Funktsioon - Kirjeldus:

  • Arvutamine - süsteem peab tagama kasutaja ja andurite vahel vahetatud teabe kiire töötlemise. Näiteks peab süsteem suutma kasutajat teavitada ees olevatest takistustest, mis asuvad vähemalt 2 m kaugusel.
  • Katvus - nägemispuudega inimeste elukvaliteedi parandamiseks peab süsteem pakkuma oma teenuseid siseruumides ja väljas.
  • Aeg - süsteem peaks toimima nii päeval kui ka öösel.
  • Vahemik - vahemik on kaugus kasutaja ja süsteemi poolt tuvastatava objekti vahel. Ideaalne minimaalne kaugus on 0,5 m, maksimaalne aga üle 5 m. Edasised vahemaad oleksid veelgi paremad, kuid keerukamad arvutada.
  • Objekti tüüp - süsteem peaks tuvastama objektide ootamatu ilmumise. Süsteem peaks suutma eristada liikuvaid ja staatilisi objekte.

4. samm: tehniline disain ja seadmete valik

Tehniline disain ja seadmete valik
Tehniline disain ja seadmete valik
Tehniline disain ja seadmete valik
Tehniline disain ja seadmete valik
Tehniline disain ja seadmete valik
Tehniline disain ja seadmete valik

Pärast paljude erinevate komponentide vaatamist otsustasin osad, mis on valitud allpool toodud erinevatest kategooriatest.

Valitud osade hind:

  • Zungle Panther: 149,99 dollarit
  • LiDAR Lite V3: 149,99 dollarit
  • LV-MaxSonar-EZ1: 29,95 dollarit
  • Ultraheli andur - HC -SR04: 3,95 dollarit
  • Vaarika Pi 3: 39,95 dollarit
  • Arduino: 24,95 dollarit
  • Kinect: 32,44 dollarit
  • Floureon 11.1v 3s 1500mAh: 19,99 dollarit
  • LM2596HV: 9,64 dollarit

5. samm: seadmete valik: interaktsioonimeetod

Seadmete valik: interaktsioonimeetod
Seadmete valik: interaktsioonimeetod
Seadmete valik: interaktsioonimeetod
Seadmete valik: interaktsioonimeetod

Otsustasin seadmega suhtlemiseks kasutada hääljuhtimist, sest mitme nupu kasutamine keppidel võib nägemispuudega inimese jaoks olla keeruline, eriti kui mõned funktsioonid nõuavad nuppude kombinatsioone. Hääljuhtimise abil saab kasutaja suhkrurooga suhtlemiseks kasutada eelseadistatud käske, mis vähendab võimalikke vigu.

Seade: plussid-miinused:

  • Nupud: parempoolse nupu vajutamisel käsutõrge puudub --- õigete nuppude vajutamine võib olla keeruline
  • Hääljuhtimine: lihtne, kuna kasutaja saab kasutada eelseadistatud käske --- Vale hääldus võib põhjustada vigu

6. samm: seadmete valik: mikrokontroller

Seadmete valik: mikrokontroller
Seadmete valik: mikrokontroller
Seadmete valik: mikrokontroller
Seadmete valik: mikrokontroller
Seadmete valik: mikrokontroller
Seadmete valik: mikrokontroller

Seade kasutas Raspberry Pi -d selle odavuse ja sügavuskaardi arvutamiseks piisava töötlemisvõimsuse tõttu. Eelistatud variant oleks olnud Intel Joule, kuid selle hind oleks süsteemi maksumuse kahekordistanud, mis poleks ideaalne see seade, mis on välja töötatud pakkuma kasutajatele odavamat võimalust. Süsteemis kasutati arduinot, kuna see saab anduritelt hõlpsalt teavet saada. BeagleBone'i ja Intel Edisoni ei kasutatud madala hinna ja jõudluse suhte tõttu, mis on selle odava süsteemi jaoks halb.

Mikrokontroller: plussid-miinused:

  • Raspberry Pi: Tal on piisavalt töötlemisvõimsust takistuste leidmiseks ja sellel on integreeritud WiFi/Bluetooth --- Anduritelt andmete vastuvõtmiseks pole palju võimalusi
  • Arduino: saate hõlpsalt andmeid väikestelt anduritelt. st. LIDAR, ultraheli, SONAR jne --- takistuste leidmiseks pole piisavalt töötlemisvõimsust
  • Intel Edison: suudab kiire protsessoriga takistusi kiiresti töödelda --- Süsteemi toimimiseks on vaja täiendavaid arendajad
  • Intel Joule: omab kahekordset töötlemiskiirust mis tahes tarbijaturul olevate mikrokontrollerite puhul --- selle süsteemi jaoks väga kõrge hind ja anduritega suhtlemiseks on raske GPIO-ga suhelda
  • BeagleBone Black: kompaktne ja ühilduv projektis kasutatavate anduritega, kasutades üldotstarbelist sisendväljundit (GPIO) --- Objektide tõhusaks leidmiseks pole piisavalt töötlemisvõimsust

7. samm: seadmete valik: andurid

Seadmete valik: andurid
Seadmete valik: andurid
Seadmete valik: andurid
Seadmete valik: andurid
Seadmete valik: andurid
Seadmete valik: andurid

Asukoha suure täpsuse saavutamiseks kasutatakse mitmete andurite kombinatsiooni. Kinect on peamine andur, kuna see suudab korraga takistusi otsida. LIDAR, mis tähistab LIght Detection and Ranging, on kaugseire meetod, mis kasutab valgust impulsslaseri kujul, et mõõta anduri ja objektide kiireid kaugusi; seda andurit kasutatakse seetõttu, et see suudab jälgida kuni 40 meetri (m) kaugusel asuvat ala ja kuna see võib skannida erinevate nurkade alt, suudab see tuvastada, kas mõni samm liigub üles või alla. SOON Navigation and Ranging (SONAR) ja ultraheli andureid kasutatakse tagavarajälgimiseks juhuks, kui Kinect jätab maapinnale otsa või löögi vahele, mis võib kasutajale ohtu kujutada. 9 vabadusastme andurit kasutatakse kasutaja suuna jälgimiseks, et seade saaks salvestada teabe suurema täpsusega, suunates järgmisel korral, kui inimene samas kohas kõnnib.

Andurid: plussid-miinused:

  • Kinect V1: saab 3D-objekte jälgida --- ainult ühe kaameraga, et ümbrust tuvastada
  • Kinect V2: sellel on 3 infrapunakaamerat ja punane, roheline, sinine, sügavuskaamera (RGB-D) suure täpsusega 3D-objektide tuvastamiseks --- võib kuumeneda ja võib vajada jahutusventilaatorit ning on suurem kui teised andurid
  • LIDAR: tala, mis suudab jälgida asukohti kuni 40 m kaugusel --- tuleb paigutada objekti poole ja saab vaadata ainult selles suunas
  • SONAR: tala, mis suudab jälgida 5 m kaugust, kuid kaugel---- väikesed esemed, näiteks suled, võivad anduri käivitada
  • Ultraheli: tööulatus on kuni 3 m ja see on väga odav --- vahemaad võivad mõnikord olla ebatäpsed
  • 9 vabadusastme andurit: sobib kasutaja orientatsiooni ja kiiruse tundmiseks --- kui miski segab andureid, võib vahemaa arvutused valesti arvutada

8. samm: seadmete valik: tarkvara

Seadmete valik: tarkvara
Seadmete valik: tarkvara
Seadmete valik: tarkvara
Seadmete valik: tarkvara
Seadmete valik: tarkvara
Seadmete valik: tarkvara

Esimeste Kinect V1 anduriga ehitatud prototüüpide jaoks oli valitud tarkvara Freenect, kuid see ei olnud väga täpne. Kinect V2 ja Freenect2 -le üleminekul paranesid jälgimise tulemused tänu paremale jälgimisele, kuna V2 -l on HD -kaamera ja 3 infrapunakaamerat, mitte üks Kinect V1 kaamera. Kui ma kasutasin OpenNi2 koos Kinect V1 -ga, olid funktsioonid piiratud ja ma ei saanud mõningaid seadme funktsioone juhtida.

Tarkvara: plussid-miinused:

  • Freenect: omab madalamat kontrolli kõigi asjade juhtimiseks --- toetab ainult Kinect V1
  • OpenNi2: saab hõlpsalt luua Kinecti infovoost punktpilveandmeid --- toetab ainult Kinect V1 ja ei toeta madala taseme juhtimist
  • Freenect2: omab anduriba madalamat juhtimistaset --- töötab ainult Kinect V2 puhul
  • ROS: Operatsioonisüsteem, mis sobib ideaalselt kaamera funktsioonide programmeerimiseks --- Peab olema installitud kiirele SD-kaardile, et tarkvara töötaks

9. samm: seadmete valik: muud osad

Varustuse valik: muud osad
Varustuse valik: muud osad
Varustuse valik: muud osad
Varustuse valik: muud osad

Liitiumioonakud valiti kergete, suure võimsusega ja laetavate ainete tõttu. Liitiumioonaku 18650 variant on silindrikujuline ja sobib ideaalselt suhkruroo prototüübiga. Esimene prototüüp on valmistatud PVC torust, kuna see on õõnes ja vähendab suhkruroo kaalu.

10. samm: süsteemi arendamine: riistvara 1. osa loomine

Süsteemi arendamine: riistvara loomine 1. osa
Süsteemi arendamine: riistvara loomine 1. osa
Süsteemi arendamine: riistvara loomine 1. osa
Süsteemi arendamine: riistvara loomine 1. osa
Süsteemi arendamine: riistvara loomine 1. osa
Süsteemi arendamine: riistvara loomine 1. osa

Kõigepealt peame Kinecti lahti võtma, et see oleks kergem ja mahuks kepi sisse. Alustuseks eemaldasin Kinectilt kogu väliskesta, kuna kasutatud plast kaalub PALJU. Siis pidin kaabli ära lõikama, et alus oleks eemaldatav. Võtsin juhtmed pildil näidatud pistikust ja jootsin need signaaljuhtmetega USB -kaabli külge ja ülejäänud kaks ühendust olid 12V sisendvoolu jaoks. Kuna ma tahtsin, et suhkruroo sees olev ventilaator töötaks täisvõimsusel, et kõiki teisi komponente jahutada, katkestasin Kinecti ventilaatori pistiku ja ühendasin Raspberry Pi juhtmega 5 V. Tegin ka väikese adapteri LiDAR -juhtme jaoks, et see saaks otse Raspberry Pi -ga ühenduda ilma muude süsteemideta.

Jootsin kogemata valge traadi musta külge, nii et ärge vaadake juhtmestiku skeemidelt pilte

11. samm: süsteemi arendamine: riistvara 2. osa loomine

Süsteemi arendamine: riistvara loomine 2. osa
Süsteemi arendamine: riistvara loomine 2. osa
Süsteemi arendamine: riistvara loomine 2. osa
Süsteemi arendamine: riistvara loomine 2. osa
Süsteemi arendamine: riistvara loomine 2. osa
Süsteemi arendamine: riistvara loomine 2. osa
Süsteemi arendamine: riistvara loomine 2. osa
Süsteemi arendamine: riistvara loomine 2. osa

Ma lõin regulaatoritüki, et toita kõiki seadmeid, mis vajavad 5 V pinget, näiteks Raspberry Pi. Häälesin regulaatori nii, et panin väljundile arvesti ja reguleerisin takisti nii, et regulaator annaks 5,05V. Panin selle veidi kõrgemale kui 5V, sest aja jooksul väheneb aku pinge ja mõjutab veidi väljundpinget. Ma tegin ka adapteri, mis võimaldab mul toita kuni 5 seadet, mis vajavad akult 12 V pinget.

12. samm: süsteemi arendamine: süsteemi 1. osa programmeerimine

Süsteemi arendamine: süsteemi programmeerimine 1. osa
Süsteemi arendamine: süsteemi programmeerimine 1. osa
Süsteemi arendamine: süsteemi programmeerimine 1. osa
Süsteemi arendamine: süsteemi programmeerimine 1. osa
Süsteemi arendamine: süsteemi programmeerimine 1. osa
Süsteemi arendamine: süsteemi programmeerimine 1. osa

Selle süsteemi üks keerulisemaid osi on programmeerimine. Kui olin esimest korda Kinectiga mängimiseks saanud, installisin programmi nimega RTAB Map, mis võtab Kinecti andmevoo ja teisendab selle punktpilveks. Punktipilvega lõi see 3D -pildi, mida saab pöörata, nii et näete kõigi objektide sügavust. Olles sellega mõnda aega ringi mänginud ja kõiki seadeid reguleerinud, otsustasin installida Raspberry Pi tarkvara, et saaksin näha Kinecti andmevoogu. Viimased kaks ülaltoodud pilti näitavad, mida Raspberry Pi suudab toota umbes 15-20 kaadrit sekundis.

Soovitan: