Kazalo:

Uporaba Sonarja, Lidarja in Računalniškega vida na mikrokontrolerjih za pomoč slabovidnim: 16 korakov
Uporaba Sonarja, Lidarja in Računalniškega vida na mikrokontrolerjih za pomoč slabovidnim: 16 korakov

Video: Uporaba Sonarja, Lidarja in Računalniškega vida na mikrokontrolerjih za pomoč slabovidnim: 16 korakov

Video: Uporaba Sonarja, Lidarja in Računalniškega vida na mikrokontrolerjih za pomoč slabovidnim: 16 korakov
Video: Brian Keating Λ Lee Cronin: Življenje v vesolju 2024, December
Anonim
Uporaba Sonarja, Lidarja in Računalniškega vida na mikrokontrolerjih za pomoč slabovidnim
Uporaba Sonarja, Lidarja in Računalniškega vida na mikrokontrolerjih za pomoč slabovidnim

Želim ustvariti inteligenten "trs", ki lahko ljudem z okvarami vida pomaga veliko bolj kot obstoječe rešitve. Palica bo lahko uporabnika obvestila o predmetih spredaj ali ob straneh s hrupom v slušalkah tipa prostorski zvok. Palica bo imela tudi majhno kamero in LIDAR (zaznavanje svetlobe in doseg), tako da lahko prepozna predmete in ljudi v prostoru ter uporabnika obvesti s slušalkami. Iz varnostnih razlogov slušalke ne bodo blokirale vsega hrupa, saj bo na voljo mikrofon, ki lahko izloči vse nepotrebne zvoke in zadrži zvok avtomobila in ljudi. Nazadnje bo sistem imel GPS, tako da lahko daje navodila in uporabniku pokaže, kam naj gre.

Prosim, glasujte zame v natečajih Mikrokontroler in Outdoor Fitness!

1. korak: Pregled projekta

Pregled projekta
Pregled projekta
Pregled projekta
Pregled projekta
Pregled projekta
Pregled projekta

Po svetovnem dostopu za slepe je fizično gibanje eden največjih izzivov za slepe ljudi. Potovanje ali preprosto hoja po prenatrpani ulici je lahko zelo težavno. Tradicionalno je bila edina rešitev uporaba splošno znanega "belega trsa", ki se uporablja predvsem za skeniranje okolice z zadetkom na ovire v bližini uporabnika. Boljša rešitev bi bila naprava, ki lahko zamenja vidnega pomočnika z informacijami o lokaciji ovir, tako da lahko slepa oseba odide v neznano okolje in se počuti varno. Med tem projektom je bila razvita majhna naprava na baterije, ki izpolnjuje ta merila. Naprava lahko zazna velikost in lokacijo predmeta s senzorji, ki merijo položaj predmetov glede na uporabnika, te podatke posredujejo v mikrokrmilnik in jih nato pretvorijo v zvok, da uporabniku posredujejo informacije. Naprava je bila izdelana z uporabo razpoložljivih komercialnih LIDAR (zaznavanje svetlobe in doseg svetlobe), SONAR (zvočna navigacija in doseg) ter računalniških vidnih tehnologij, povezanih z mikrokrmilniki, in programirana za zagotavljanje zahtevanega zvočnega izhoda informacij z uporabo slušalk ali slušalk. Tehnologija odkrivanja je bila vgrajena v "beli trs", da bi drugim pokazala stanje uporabnika in zagotovila dodatno varnost.

2. korak: Raziskave ozadja

Raziskave ozadja
Raziskave ozadja
Raziskave ozadja
Raziskave ozadja
Raziskave ozadja
Raziskave ozadja
Raziskave ozadja
Raziskave ozadja

Svetovna zdravstvena organizacija je leta 2017 poročala, da je po vsem svetu 285 milijonov ljudi z okvaro vida, od tega 39 milijonov popolnoma slepih. Večina ljudi ne razmišlja o težavah, s katerimi se ljudje z okvaro vida srečujejo vsak dan. Po svetovnem dostopu za slepe je fizično gibanje eden največjih izzivov za slepe ljudi. Potovanje ali preprosto hoja po prenatrpani ulici je lahko zelo težavno. Zaradi tega mnogi ljudje s slabovidnostjo raje pripeljejo vidnega prijatelja ali družinskega člana za pomoč pri krmarjenju po novih okoljih. Tradicionalno je bila edina rešitev uporaba splošno znanega "belega trsa", ki se uporablja predvsem za skeniranje okolice z zadetkom na ovire v bližini uporabnika. Boljša rešitev bi bila naprava, ki lahko zamenja vidnega pomočnika z informacijami o lokaciji ovir, tako da lahko slepa oseba odide v neznano okolje in se počuti varno. NavCog, ki je sodeloval med IBM -om in Univerzo Carnegie Mellon, je poskušal rešiti težavo z ustvarjanjem sistema, ki za pomoč pri vodenju uporablja svetilnike Bluetooth in pametne telefone. Vendar je bila rešitev okorna in se je izkazala za zelo drago za obsežne izvedbe. Moja rešitev to odpravlja tako, da odpravlja potrebo po zunanjih napravah in z glasom vodi uporabnika ves dan (slika 3). Prednost, da je tehnologija vgrajena v „beli trs“, je ta, da signalizira preostali svet o stanju uporabnika, kar povzroči spremembo vedenja okoliških ljudi.

3. korak: Zahteve pri oblikovanju

Oblikovalske zahteve
Oblikovalske zahteve

Po raziskavi razpoložljivih tehnologij sem se s strokovnjaki za vid pogovarjal o možnih rešitvah o najboljšem pristopu, ki pomaga slabovidnim pri navigaciji v njihovem okolju. Spodnja tabela navaja najpomembnejše funkcije, ki so potrebne, da nekdo preide na mojo napravo.

Funkcija - opis:

  • Izračun - sistem mora zagotoviti hitro obdelavo izmenjanih informacij med uporabnikom in senzorji. Na primer, sistem mora biti sposoben obvestiti uporabnika o ovirah pred nami, ki so oddaljene najmanj 2 m.
  • Pokritost - sistem mora nuditi svoje storitve v zaprtih prostorih in na prostem, da izboljša kakovost življenja ljudi z motnjami vida.
  • Čas - sistem bi moral delovati tako podnevi kot ponoči.
  • Domet - obseg je razdalja med uporabnikom in objektom, ki ga sistem zazna. Idealni minimalni doseg je 0,5 m, največji doseg pa mora biti večji od 5 m. Nadaljnje razdalje bi bile še boljše, vendar težje izračunati.
  • Vrsta objekta - sistem bi moral zaznati nenaden pojav predmetov. Sistem bi moral znati razlikovati med premikajočimi se in statičnimi objekti.

4. korak: Inženirsko načrtovanje in izbira opreme

Inženirsko projektiranje in izbira opreme
Inženirsko projektiranje in izbira opreme
Inženirsko projektiranje in izbira opreme
Inženirsko projektiranje in izbira opreme
Inženirsko projektiranje in izbira opreme
Inženirsko projektiranje in izbira opreme

Po ogledu številnih različnih komponent sem se odločil za dele, izbrane iz različnih kategorij spodaj.

Cena izbranih delov:

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

5. korak: Izbira opreme: Metoda interakcije

Izbira opreme: način interakcije
Izbira opreme: način interakcije
Izbira opreme: način interakcije
Izbira opreme: način interakcije

Odločil sem se, da bom za interakcijo z napravo uporabil glasovno upravljanje, ker je lahko za gube z vidom več gumbov na palici izziv, še posebej, če so nekatere funkcije zahtevale kombinacijo gumbov. Z glasovnim upravljanjem lahko uporabnik uporablja vnaprej nastavljene ukaze za komunikacijo s palico, kar zmanjšuje morebitne napake.

Naprava: Prednosti --- Slabosti:

  • Gumbi: Napaka pri ukazu pri pritisku desnega gumba --- zagotoviti, da so pravilni gumbi pritisnjeni, je lahko težavno
  • Glasovno upravljanje: Enostavno, ker lahko uporabnik uporablja prednastavljene ukaze --- Nepravilna izgovorjava lahko povzroči napake

6. korak: Izbira opreme: Mikrokrmilnik

Izbira opreme: mikrokrmilnik
Izbira opreme: mikrokrmilnik
Izbira opreme: mikrokrmilnik
Izbira opreme: mikrokrmilnik
Izbira opreme: mikrokrmilnik
Izbira opreme: mikrokrmilnik

Naprava je uporabila Raspberry Pi zaradi nizkih stroškov in zadostne procesorske moči za izračun zemljevida globine. Intel Joule bi bila najprimernejša možnost, vendar bi se njena cena podvojila stroške sistema, kar pa ne bi bilo idealno za to napravo, ki je razvita tako, da uporabnikom ponuja nižje stroške. Arduino je bil uporabljen v sistemu, ker lahko zlahka dobi informacije iz senzorjev. BeagleBone in Intel Edison nista bila uporabljena zaradi nizkega razmerja med ceno in zmogljivostjo, kar je slabo za ta nizkocenovni sistem.

Mikrokrmilnik: prednosti --- slabosti:

  • Raspberry Pi: Ima dovolj procesorske moči za iskanje ovir in ima vgrajen WiFi/Bluetooth --- Ni veliko možnosti za sprejem podatkov od senzorjev
  • Arduino: Preprosto prejemajte podatke iz majhnih senzorjev. tj. LIDAR, Ultrasonic, SONAR itd. --- Premalo procesorske moči za iskanje ovir
  • Intel Edison: Lahko hitro obdeluje ovire s hitrim procesorjem --- Za delovanje sistema potrebuje dodatne razvijalce
  • Intel Joule: Ima dvojno hitrost obdelave od katerega koli od mikrokrmilnikov na potrošniškem trgu do danes --- Zelo visoki stroški za ta sistem in težko delovanje z GPIO za interakcijo senzorjev
  • BeagleBone Black: Kompakten in združljiv s senzorji, ki se uporabljajo v projektu z uporabo splošnega vhodnega izhoda (GPIO) --- premalo procesorske moči za učinkovito iskanje predmetov

7. korak: Izbira opreme: Senzorji

Izbira opreme: Senzorji
Izbira opreme: Senzorji
Izbira opreme: Senzorji
Izbira opreme: Senzorji
Izbira opreme: Senzorji
Izbira opreme: Senzorji

Za dosego visoke natančnosti lokacije se uporablja kombinacija več senzorjev. Kinect je glavni senzor zaradi velikosti območja, ki ga lahko hkrati odkrije za ovire. LIDAR, ki pomeni LIght Detection and Ranging, je metoda daljinskega zaznavanja, ki uporablja svetlobo v obliki impulznega laserja za merjenje razdalj od mesta, kjer je senzor do hitrih predmetov; ta senzor se uporablja, ker lahko sledi območju do 40 metrov (m) stran in ker lahko skenira pod različnimi koti, lahko zazna, ali gre kateri od korakov navzgor ali navzdol. Senzorji za zvočno navigacijo in določanje razdalje (SONAR) ter ultrazvočni senzorji se uporabljajo kot rezervno sledenje v primeru, da Kinect zgreši drog ali udarec v tleh, ki bi predstavljal nevarnost za uporabnika. Senzor 9 stopenj svobode se uporablja za sledenje, v katero smer je uporabnik obrnjen, tako da lahko naprava shrani podatke za večjo natančnost, ki sledi naslednjič, ko oseba hodi na isto mesto.

Senzorji: Prednosti --- Slabosti:

  • Kinect V1: lahko sledi 3D objektom z --- samo eno kamero za zaznavanje okolice
  • Kinect V2: Ima 3 infrardeče kamere in rdečo, zeleno, modro, globinsko (RGB-D) kamero za visoko natančno zaznavanje 3D objektov --- se lahko segreje in morda potrebuje hladilni ventilator ter je večji od drugih senzorjev
  • LIDAR: Žarek, ki lahko sledi lokacijam, oddaljenim do 40 m --- Treba ga je postaviti proti objektu in lahko gleda samo v to smer
  • SONAR: Žarek, ki lahko sledi 5 m stran, vendar daleč---- Majhni predmeti, kot je perje, lahko sprožijo senzor
  • Ultrazvok: ima doseg do 3 m in je zelo poceni --- razdalje so lahko občasno nenatančne
  • Senzor 9 stopenj svobode: dobro za zaznavanje orientacije in hitrosti uporabnika --- Če kaj vpliva na senzorje, je mogoče izračune razdalje napačno izračunati

8. korak: Izbira opreme: programska oprema

Izbira opreme: programska oprema
Izbira opreme: programska oprema
Izbira opreme: programska oprema
Izbira opreme: programska oprema
Izbira opreme: programska oprema
Izbira opreme: programska oprema

Izbrana programska oprema za prvih nekaj prototipov, zgrajenih s senzorjem Kinect V1, je bila Freenect, vendar ni bila zelo natančna. Pri prehodu na Kinect V2 in Freenect2 so bili rezultati sledenja bistveno izboljšani zaradi izboljšanega sledenja, saj ima V2 HD kamero in 3 infrardeče kamere v nasprotju z eno samo kamero na Kinect V1. Ko sem uporabljal OpenNi2 s Kinect V1, so bile funkcije omejene in nisem mogel nadzorovati nekaterih funkcij naprave.

Programska oprema: prednosti --- slabosti:

  • Freenect: Ima nižjo raven nadzora za nadzor vsega-podpira samo Kinect V1
  • OpenNi2: Lahko preprosto ustvari podatke v oblaku točk iz toka informacij iz Kinect --- Podpira samo Kinect V1 in nima podpore za nizko raven nadzora
  • Freenect2: Ima nižjo stopnjo nadzora za senzorsko palico --- deluje samo za Kinect V2
  • ROS: Operacijski sistem, idealen za programiranje funkcij kamere --- Nameščen na hitri kartici SD, da bo programska oprema delovala

9. korak: Izbira opreme: Drugi deli

Izbira opreme: drugi deli
Izbira opreme: drugi deli
Izbira opreme: drugi deli
Izbira opreme: drugi deli

Litij -ionske baterije so bile izbrane, ker so lahke, imajo visoko zmogljivost in se lahko polnijo. Različica litij -ionske baterije 18650 ima valjasto obliko in se popolnoma prilega prototipu trsa. Prvi prototip trsa je izdelan iz PVC cevi, ker je votel in zmanjšuje težo trsa.

10. korak: Razvoj sistema: Ustvarjanje strojne opreme 1. del

Razvoj sistema: Ustvarjanje strojne opreme 1. del
Razvoj sistema: Ustvarjanje strojne opreme 1. del
Razvoj sistema: Ustvarjanje strojne opreme 1. del
Razvoj sistema: Ustvarjanje strojne opreme 1. del
Razvoj sistema: Ustvarjanje strojne opreme 1. del
Razvoj sistema: Ustvarjanje strojne opreme 1. del

Najprej moramo Kinect razstaviti, da bo lažji in da se prilega notranjosti trsa. Začel sem z odstranitvijo vsega zunanjega ohišja iz Kinecta, saj uporabljena plastika veliko tehta. Potem sem moral prerezati kabel, da sem lahko odstranil podlago. Žice sem vzel iz konektorja, prikazanega na sliki, in jih spajkal na USB kabel s signalnimi žicami, druga dva priključka pa sta bila za 12V vhodno moč. Ker sem želel, da ventilator v trsu deluje s polno močjo, da ohladi vse ostale komponente, sem prekinil priključek ventilatorja iz Kinecta in povezal 5V z Raspberry Pi. Naredil sem tudi majhen adapter za žico LiDAR, tako da se lahko poveže neposredno v Raspberry Pi brez drugih sistemov vmes.

Belo žico sem pomotoma spajkal na črno, zato ne glejte slik za sheme ožičenja

11. korak: Razvoj sistema: Ustvarjanje strojne opreme 2. del

Razvoj sistema: Ustvarjanje strojne opreme 2. del
Razvoj sistema: Ustvarjanje strojne opreme 2. del
Razvoj sistema: Ustvarjanje strojne opreme 2. del
Razvoj sistema: Ustvarjanje strojne opreme 2. del
Razvoj sistema: Ustvarjanje strojne opreme 2. del
Razvoj sistema: Ustvarjanje strojne opreme 2. del
Razvoj sistema: Ustvarjanje strojne opreme 2. del
Razvoj sistema: Ustvarjanje strojne opreme 2. del

Ustvaril sem regulator, ki zagotavlja napajanje vsem napravam, ki potrebujejo 5V, kot je Raspberry Pi. Regulator sem nastavil tako, da sem na izhod postavil merilnik in upor nastavil tako, da bo regulator zagotavljal 5,05 V. Postavil sem ga nekoliko višje od 5V, ker se sčasoma napetost akumulatorja zniža in nekoliko vpliva na izhodno napetost. Naredil sem tudi adapter, ki mi omogoča napajanje do 5 naprav, ki potrebujejo 12V iz baterije.

12. korak: Razvoj sistema: Programiranje sistema 1. del

Razvoj sistema: Programiranje sistema 1. del
Razvoj sistema: Programiranje sistema 1. del
Razvoj sistema: Programiranje sistema 1. del
Razvoj sistema: Programiranje sistema 1. del
Razvoj sistema: Programiranje sistema 1. del
Razvoj sistema: Programiranje sistema 1. del

Eden najbolj zahtevnih delov tega sistema je programiranje. Ko sem prvič dobil Kinect, da se igra z njim, sem namestil program, imenovan RTAB Map, ki vzame podatkovni tok iz Kinecta in ga pretvori v oblak točk. Z oblakom točk je ustvaril 3D sliko, ki jo je mogoče zasukati, tako da si ogledate globino, kjer so vsi predmeti. Po tem, ko sem se nekaj časa poigrala z njim in prilagodila vse nastavitve, sem se odločila, da na Raspberry Pi namestim nekaj programske opreme, ki mi bo omogočila ogled podatkovnega toka iz Kinecta. Zadnji dve zgornji sliki prikazujeta, kaj lahko Raspberry Pi proizvede pri približno 15-20 sličicah na sekundo.

Priporočena: