Sisällysluettelo:

Sonar-, Lidar- ja Computer Vision -laitteiden käyttäminen mikrokontrollereissa näkövammaisten auttamiseksi: 16 vaihetta
Sonar-, Lidar- ja Computer Vision -laitteiden käyttäminen mikrokontrollereissa näkövammaisten auttamiseksi: 16 vaihetta

Video: Sonar-, Lidar- ja Computer Vision -laitteiden käyttäminen mikrokontrollereissa näkövammaisten auttamiseksi: 16 vaihetta

Video: Sonar-, Lidar- ja Computer Vision -laitteiden käyttäminen mikrokontrollereissa näkövammaisten auttamiseksi: 16 vaihetta
Video: What is Lidar? How does Lidar work? Know all about LiDAR 2024, Heinäkuu
Anonim
Sonar-, Lidar- ja Computer Vision -sovellusten käyttäminen mikrokontrollereissa näkövammaisten auttamiseksi
Sonar-, Lidar- ja Computer Vision -sovellusten käyttäminen mikrokontrollereissa näkövammaisten auttamiseksi

Haluan luoda älykkään "keppi", joka voi auttaa näkövammaisia ihmisiä paljon enemmän kuin olemassa olevat ratkaisut. Keppi voi ilmoittaa käyttäjälle edessä tai sivuilla olevista esineistä tekemällä melua surround -äänityyppisissä kuulokkeissa. Keppissä on myös pieni kamera ja LIDAR (valon tunnistus ja etäisyys), jotta se voi tunnistaa huoneessa olevat ihmiset ja ilmoittaa käyttäjälle kuulokkeilla. Turvallisuussyistä kuulokkeet eivät peitä melua, koska siellä on mikrofoni, joka voi suodattaa pois kaikki tarpeettomat äänet ja pitää auton torvet ja ihmiset puhumassa. Lopuksi järjestelmässä on GPS, jotta se voi antaa ohjeita ja näyttää käyttäjälle minne mennä.

Äänestä minua Microcontroller- ja Outdoor Fitness -kilpailuissa!

Vaihe 1: Yleiskatsaus projektista

Katsaus projektiin
Katsaus projektiin
Katsaus projektiin
Katsaus projektiin
Katsaus projektiin
Katsaus projektiin

World Access for the Blindin mukaan fyysinen liike on yksi sokeiden suurimmista haasteista. Matkustaminen tai yksinkertaisesti käveleminen tungosta kadulla voi olla erittäin vaikeaa. Perinteisesti ainoa ratkaisu oli yleisesti tunnetun”valkoisen kepin” käyttäminen, jota käytetään pääasiassa ympäristön skannaamiseen osumalla käyttäjän lähellä oleviin esteisiin. Parempi ratkaisu olisi laite, joka voi korvata näkevän avustajan antamalla tietoja esteiden sijainnista, jotta sokea voi mennä ulos tuntemattomiin ympäristöihin ja tuntea olonsa turvalliseksi. Tämän projektin aikana kehitettiin pieni akkukäyttöinen laite, joka täyttää nämä kriteerit. Laite voi tunnistaa kohteen koon ja sijainnin antureiden avulla, jotka mittaavat esineiden sijainnin suhteessa käyttäjään, välittävät nämä tiedot mikrokontrolleriin ja muuttavat sen sitten ääniksi, jotta ne voivat tarjota tietoja käyttäjälle. Laite rakennettiin käyttämällä saatavilla olevaa kaupallista LIDAR (Light Detection and Ranging), SONAR (Sound Navigation and Ranging) -tekniikkaa ja tietokonenäkötekniikoita, jotka on liitetty mikrokontrollereihin ja ohjelmoitu tarjoamaan vaadittua äänitietoa kuulokkeilla tai kuulokkeilla. Tunnistustekniikka oli upotettu”valkoiseen keppiin” osoittaakseen muille käyttäjän tilan ja tarjotakseen lisää turvallisuutta.

Vaihe 2: Taustatutkimus

Taustatutkimus
Taustatutkimus
Taustatutkimus
Taustatutkimus
Taustatutkimus
Taustatutkimus
Taustatutkimus
Taustatutkimus

Vuonna 2017 Maailman terveysjärjestö raportoi, että maailmassa oli 285 miljoonaa näkövammaista, joista 39 miljoonaa on täysin sokeita. Useimmat ihmiset eivät ajattele ongelmia, joita näkövammaiset kohtaavat päivittäin. World Access for the Blindin mukaan fyysinen liike on yksi sokeiden suurimmista haasteista. Matkustaminen tai yksinkertaisesti käveleminen tungosta kadulla voi olla erittäin vaikeaa. Tämän vuoksi monet näkövammaiset mieluummin tuovat näkevän ystävän tai perheenjäsenen auttamaan navigoimaan uusissa ympäristöissä. Perinteisesti ainoa ratkaisu oli yleisesti tunnetun”valkoisen kepin” käyttäminen, jota käytetään pääasiassa ympäristön skannaamiseen osumalla käyttäjän lähellä oleviin esteisiin. Parempi ratkaisu olisi laite, joka voi korvata näkevän avustajan antamalla tietoja esteiden sijainnista, jotta sokea voi mennä ulos tuntemattomiin ympäristöihin ja tuntea olonsa turvalliseksi. IBM: n ja Carnegie Mellon Universityn yhteistyössä toiminut NavCog on yrittänyt ratkaista ongelman luomalla järjestelmän, joka käyttää Bluetooth -majakoita ja älypuhelimia opastuksessa. Ratkaisu oli kuitenkin hankala ja osoittautui erittäin kalliiksi laajamittaisille toteutuksille. Ratkaisuni ratkaisee tämän poistamalla ulkoisten laitteiden tarpeen ja käyttämällä ääntä ohjaamaan käyttäjää koko päivän ajan (kuva 3). Teknologian etu "valkoiseen keppiin" on se, että se ilmaisee muulle maailmalle käyttäjän tilan, joka aiheuttaa muutoksia ympäröivien ihmisten käyttäytymiseen.

Vaihe 3: Suunnitteluvaatimukset

Suunnitteluvaatimukset
Suunnitteluvaatimukset

Tutkittuani käytettävissä olevia tekniikoita keskustelin mahdollisista ratkaisuista näköammattilaisten kanssa parhaasta lähestymistavasta, jolla autetaan näkövammaisia liikkumaan ympäristössään. Alla olevassa taulukossa on lueteltu tärkeimmät ominaisuudet, joita joku tarvitsee siirtyäkseen laitteeseeni.

Ominaisuus - Kuvaus:

  • Laskenta - Järjestelmän on tarjottava nopea käsittely käyttäjän ja antureiden välillä vaihdetulle tiedolle. Esimerkiksi järjestelmän on kyettävä ilmoittamaan käyttäjälle edessä olevista esteistä, jotka ovat vähintään 2 metrin päässä.
  • Kattavuus - Järjestelmän on tarjottava palvelujaan sisällä ja ulkona parantaakseen näkövammaisten ihmisten elämänlaatua.
  • Aika - Järjestelmän pitäisi toimia yhtä hyvin päiväsaikaan kuin yöllä.
  • Alue - Alue on etäisyys käyttäjän ja järjestelmän havaitseman kohteen välillä. Ihanteellinen vähimmäiskantama on 0,5 m, kun taas maksimikantaman tulisi olla yli 5 m. Muut etäisyydet olisivat vielä parempia, mutta haastavampia laskea.
  • Kohteen tyyppi - Järjestelmän tulisi havaita esineiden äkillinen ilmestyminen. Järjestelmän pitäisi pystyä erottamaan liikkuvat ja staattiset kohteet.

Vaihe 4: Suunnittelu ja laitteiden valinta

Tekninen suunnittelu ja laitteiden valinta
Tekninen suunnittelu ja laitteiden valinta
Tekninen suunnittelu ja laitteiden valinta
Tekninen suunnittelu ja laitteiden valinta
Tekninen suunnittelu ja laitteiden valinta
Tekninen suunnittelu ja laitteiden valinta

Tarkasteltuaan monia erilaisia komponentteja, päätin osista, jotka on valittu alla olevista eri kategorioista.

Valittujen osien hinta:

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

Vaihe 5: Laitteiden valinta: Vuorovaikutustapa

Laitteiden valinta: Vuorovaikutustapa
Laitteiden valinta: Vuorovaikutustapa
Laitteiden valinta: Vuorovaikutustapa
Laitteiden valinta: Vuorovaikutustapa

Päätin käyttää puheohjausta menetelmänä olla vuorovaikutuksessa laitteen kanssa, koska useiden painikkeiden käyttö keppissä voi olla haastavaa näkövammaiselle, varsinkin jos jotkin toiminnot vaativat painikkeiden yhdistelmiä. Puheohjauksella käyttäjä voi käyttää esiasetettuja komentoja kommunikoidakseen keppin kanssa, mikä vähentää mahdollisia virheitä.

Laite: plussat --- haitat:

  • Painikkeet: Ei komentovirhettä, kun oikeaa painiketta painetaan --- Oikeiden painikkeiden painaminen voi olla haastavaa
  • Ääniohjaus: Helppo, koska käyttäjä voi käyttää esiasetettuja komentoja --- Väärä ääntäminen voi aiheuttaa virheitä

Vaihe 6: Laitteiden valinta: Mikro -ohjain

Laitteiden valinta: Mikro -ohjain
Laitteiden valinta: Mikro -ohjain
Laitteiden valinta: Mikro -ohjain
Laitteiden valinta: Mikro -ohjain
Laitteiden valinta: Mikro -ohjain
Laitteiden valinta: Mikro -ohjain

Laite käytti Raspberry Pi -laitetta sen alhaisen hinnan ja riittävän prosessointitehon vuoksi syvyyskartan laskemiseksi. Intel Joule olisi ollut paras vaihtoehto, mutta sen hinta olisi kaksinkertaistanut järjestelmän kustannukset, mikä ei olisi ihanteellinen tämä laite, joka on kehitetty tarjoamaan halvemman vaihtoehdon käyttäjille. Arduinoa käytettiin järjestelmässä, koska se voi helposti saada tietoa antureista. BeagleBonea ja Intel Edisonia ei käytetty alhaisen hinta -laatusuhteen vuoksi, mikä on huono tämän edullisen järjestelmän kannalta.

Mikrokontrolleri: Hyödyt --- haitat:

  • Raspberry Pi: Siinä on riittävästi prosessointitehoa esteiden löytämiseen ja siinä on integroitu WiFi/Bluetooth --- Ei monia vaihtoehtoja tiedon vastaanottamiseen antureista
  • Arduino: Vastaanota helposti tietoja pienistä antureista. eli. LIDAR, ultraääni, SONAR jne. --- Ei tarpeeksi prosessointitehoa esteiden löytämiseen
  • Intel Edison: Pystyy käsittelemään esteitä nopeasti nopealla suorittimella --- Vaatii lisäkehityspaloja toimiakseen järjestelmässä
  • Intel Joule: Käsittelynopeus on kaksinkertainen mihin tahansa kuluttajamarkkinoiden mikrokontrolleriin asti --- Erittäin korkeat kustannukset tälle järjestelmälle ja vaikea vuorovaikutus GPIO: n kanssa anturien vuorovaikutuksessa
  • BeagleBone Black: Pienikokoinen ja yhteensopiva projektorissa käytettävien antureiden kanssa käyttämällä yleistulolähtöä (GPIO) --- Ei tarpeeksi prosessointitehoa esineiden löytämiseksi tehokkaasti

Vaihe 7: Laitteiden valinta: Anturit

Laitteiden valinta: Anturit
Laitteiden valinta: Anturit
Laitteiden valinta: Anturit
Laitteiden valinta: Anturit
Laitteiden valinta: Anturit
Laitteiden valinta: Anturit

Useiden antureiden yhdistelmää käytetään korkean sijaintitarkkuuden saavuttamiseksi. Kinect on tärkein anturi, koska se voi tutkia esteitä kerralla. LIDAR, lyhenne sanoista LIght Detection and Ranging, on kaukokartoitusmenetelmä, joka käyttää valoa pulssilaserin muodossa mittaamaan etäisyydet siitä, missä anturi on nopeasti esineisiin; tätä anturia käytetään, koska se voi seurata jopa 40 metrin (m) etäisyydellä olevaa aluetta ja koska se voi skannata eri kulmista, se voi havaita, menevätkö askeleet ylös tai alas. SOUN -navigointi- ja etäisyysanturia (SONAR) ja ultraääni -antureita käytetään varaseurannana, jos Kinect ei saavuta napaa tai kolahtaa maahan, joka aiheuttaisi vaaraa käyttäjälle. 9 asteen vapauden anturia käytetään seuraamaan, mihin suuntaan käyttäjä on edessään, jotta laite voi tallentaa tiedot tarkemmin ja ohjata seuraavan kerran, kun henkilö kävelee samassa paikassa.

Anturit: Hyödyt --- haitat:

  • Kinect V1: Voi seurata 3D-kohteita --- Vain yhdellä kameralla havaita ympäristö
  • Kinect V2: Sisältää 3 infrapunakameraa ja punaisen, vihreän, sinisen, syvyyden (RGB-D) kameran erittäin tarkkaan 3D-objektin havaitsemiseen --- Voi lämmetä ja saattaa tarvita tuulettimen, ja se on muita antureita suurempi
  • LIDAR: Palkki, joka voi seurata jopa 40 metrin päässä olevia paikkoja --- Se on sijoitettava kohti esinettä ja voi katsoa vain siihen suuntaan
  • SONAR: Säde, joka voi seurata 5 metrin päässä, mutta kaukana---- Pienet esineet, kuten höyhenet, voivat laukaista anturin
  • Ultraääni: Kantama jopa 3 m ja se on erittäin edullinen --- Etäisyydet voivat joskus olla epätarkkoja
  • 9 vapausasteen anturia: Hyvä käyttäjän suunnan ja nopeuden havaitsemiseen --- Jos jokin häiritsee antureita, etäisyyslaskelmat voidaan laskea väärin

Vaihe 8: Laitteiden valinta: Ohjelmisto

Laitteiden valinta: Ohjelmisto
Laitteiden valinta: Ohjelmisto
Laitteiden valinta: Ohjelmisto
Laitteiden valinta: Ohjelmisto
Laitteiden valinta: Ohjelmisto
Laitteiden valinta: Ohjelmisto

Valittu ohjelmisto ensimmäisille Kinect V1 -anturilla rakennetuille prototyypeille oli Freenect, mutta se ei ollut kovin tarkka. Kun siirryttiin Kinect V2: een ja Freenect2: een, seurantatulokset paranivat merkittävästi parantuneen seurannan ansiosta, koska V2: ssa on HD -kamera ja 3 infrapunakameroita verrattuna Kinect V1: n yhteen kameraan. Kun käytin OpenNi2: ta Kinect V1: n kanssa, toiminnot olivat rajalliset, enkä voinut hallita joitakin laitteen toimintoja.

Ohjelmisto: Hyödyt --- haitat:

  • Freenect: Sillä on alhaisempi hallintataso kaiken hallintaan --- Tukee vain Kinect V1: tä
  • OpenNi2: voi helposti luoda pistepilvetietoja Kinectin tietovirrasta --- Tukee vain Kinect V1: tä eikä tue matalan tason ohjausta
  • Freenect2: Anturipalkin hallintataso on alhaisempi --- Toimii vain Kinect V2: ssa
  • ROS: Käyttöjärjestelmä, joka on ihanteellinen kameran toimintojen ohjelmointiin --- On asennettava nopealle SD-kortille, jotta ohjelmisto toimii

Vaihe 9: Laitteiden valinta: Muut osat

Laitteiden valinta: Muut osat
Laitteiden valinta: Muut osat
Laitteiden valinta: Muut osat
Laitteiden valinta: Muut osat

Litiumioniakut valittiin kevyiden, suuritehoisten ja uudelleenladattavien materiaalien vuoksi. Litiumioniakun 18650 -variantti on lieriömäinen ja sopii täydellisesti ruoko -prototyyppiin. Ensimmäinen prototyyppiruoka on valmistettu PVC -putkesta, koska se on ontto ja vähentää kepin painoa.

Vaihe 10: Järjestelmän kehittäminen: Laitteiston luominen Osa 1

Järjestelmän kehittäminen: Laitteiston luominen Osa 1
Järjestelmän kehittäminen: Laitteiston luominen Osa 1
Järjestelmän kehittäminen: Laitteiston luominen Osa 1
Järjestelmän kehittäminen: Laitteiston luominen Osa 1
Järjestelmän kehittäminen: Laitteiston luominen Osa 1
Järjestelmän kehittäminen: Laitteiston luominen Osa 1

Ensin meidän on purettava Kinect, jotta se olisi kevyempi ja jotta se mahtuisi keppiin. Aloitin poistamalla Kinectin ulkokuoren, koska käytetty muovi painaa PALJON. Sitten minun piti katkaista kaapeli, jotta pohja voidaan poistaa. Otin johdot kuvassa näkyvästä liittimestä ja juotin ne USB -kaapeliin, jossa oli signaalijohdot, ja kaksi muuta liitäntää olivat 12 V: n syöttövirtaa varten. Koska halusin, että sokeriruo'on sisällä oleva tuuletin pyörii täydellä teholla kaikkien muiden komponenttien jäähdyttämiseksi, katkaisin liittimen irti tuulettimesta Kinectistä ja johdotin 5 V: n Raspberry Pi -laitteesta. Tein myös pienen sovittimen LiDAR -johdolle, jotta se voi muodostaa yhteyden suoraan Raspberry Pi -laitteeseen ilman muita järjestelmiä.

Juotin vahingossa valkoisen johdon mustaan, joten älä katso kuvia kytkentäkaavioista

Vaihe 11: Järjestelmän kehittäminen: Laitteiston luominen Osa 2

Järjestelmän kehittäminen: Laitteiston luominen Osa 2
Järjestelmän kehittäminen: Laitteiston luominen Osa 2
Järjestelmän kehittäminen: Laitteiston luominen Osa 2
Järjestelmän kehittäminen: Laitteiston luominen Osa 2
Järjestelmän kehittäminen: Laitteiston luominen Osa 2
Järjestelmän kehittäminen: Laitteiston luominen Osa 2
Järjestelmän kehittäminen: Laitteiston luominen Osa 2
Järjestelmän kehittäminen: Laitteiston luominen Osa 2

Luin säätimen, joka tarjoaa virtaa kaikille laitteille, jotka vaativat 5 V: n, kuten Raspberry Pi. Viritin säätimen asettamalla mittarin ulostuloon ja säätämällä vastusta niin, että säädin antaa 5,05 V. Laitoin sen hieman korkeammaksi kuin 5 V, koska ajan myötä akun jännite laskee ja vaikuttaa hieman lähtöjännitteeseen. Tein myös sovittimen, jonka avulla voin käyttää jopa 5 laitetta, jotka vaativat 12 V: n akun.

Vaihe 12: Järjestelmän kehittäminen: Järjestelmän ohjelmointi Osa 1

Järjestelmän kehittäminen: Järjestelmän ohjelmointi Osa 1
Järjestelmän kehittäminen: Järjestelmän ohjelmointi Osa 1
Järjestelmän kehittäminen: Järjestelmän ohjelmointi Osa 1
Järjestelmän kehittäminen: Järjestelmän ohjelmointi Osa 1
Järjestelmän kehittäminen: Järjestelmän ohjelmointi Osa 1
Järjestelmän kehittäminen: Järjestelmän ohjelmointi Osa 1

Yksi tämän järjestelmän haastavimmista osista on ohjelmointi. Kun olin ensin saanut Kinectin leikkimään sen kanssa, asensin RTAB Map -ohjelman, joka ottaa Kinectin datavirran ja muuntaa sen pistepilveksi. Pistepilven avulla se loi 3D -kuvan, jota voidaan kiertää, jotta näet kaikkien kohteiden syvyyden. Kun olen pelannut sitä jonkin aikaa ja säätänyt kaikkia asetuksia, päätin asentaa jonkin ohjelmiston Raspberry Pi: hen, jotta voin nähdä Kinectin datavirran. Kaksi viimeistä kuvaa osoittavat, mitä Raspberry Pi voi tuottaa noin 15-20 kuvaa sekunnissa.

Suositeltava: