Kazalo:
- 1. korak: Pregled projekta
- 2. korak: Raziskave ozadja
- 3. korak: Zahteve pri oblikovanju
- 4. korak: Inženirsko načrtovanje in izbira opreme
- 5. korak: Izbira opreme: Metoda interakcije
- 6. korak: Izbira opreme: Mikrokrmilnik
- 7. korak: Izbira opreme: Senzorji
- 8. korak: Izbira opreme: programska oprema
- 9. korak: Izbira opreme: Drugi deli
- 10. korak: Razvoj sistema: Ustvarjanje strojne opreme 1. del
- 11. korak: Razvoj sistema: Ustvarjanje strojne opreme 2. del
- 12. korak: Razvoj sistema: Programiranje sistema 1. del
Video: Uporaba Sonarja, Lidarja in Računalniškega vida na mikrokontrolerjih za pomoč slabovidnim: 16 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
Ž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
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
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
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
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
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
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
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
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
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
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
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
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:
Vdor v Hexbug Spider XL za dodajanje računalniškega vida s pametnim telefonom Android: 9 korakov (s slikami)
Hakiranje Hexbug Spider XL za dodajanje računalniškega vida s pametnim telefonom Android: Sem velik oboževalec prvotnega Hexbuga ™ Pajek. Imam v lasti več kot ducat in jih vse vdrl. Kadar koli gre eden od mojih sinov k prijateljem ’ rojstnodnevno zabavo, prijatelj dobi Hexbug ™ pajka kot darilo. Hakiral sem ali
AI AIDS Eyes (sistem računalniškega vida, ki operaterje opozarja, naj nosijo zaščitna očala): 4 koraki
AI AIDS Eyes (sistem računalniškega vida, ki operaterje opozarja, naj nosijo zaščitna očala): Tukaj je predstavitev sistema. Ko sistem zazna, da se vrtalnik pobere, bo samodejno izdal opozorilo o zaščitnih očalih. Za prikaz prisotnosti opozoril varnostnih očal je rob slike RGB v demo v
Prepoznavanje zvezd z uporabo računalniškega vida (OpenCV): 11 korakov (s slikami)
Prepoznavanje zvezd z uporabo računalniškega vida (OpenCV): Ta navodila vam bodo opisala, kako ustvariti program za računalniški vid za samodejno prepoznavanje vzorcev zvezd na sliki. Metoda uporablja knjižnico OpenCV (Open-Source Computer Vision) za ustvarjanje nabora usposobljenih HAAR kaskad, ki jih je mogoče
Prava delujoča palica Harry Potter z uporabo računalniškega vida: 8 korakov (s slikami)
Resnično delujoča palica Harry Potter z uporabo računalniškega vida: " Vsaka dovolj napredna tehnologija se ne razlikuje od čarovnije " - Arthur C. Clarke Nekaj mesecev nazaj je moj brat obiskal Japonsko in imel prave čarovniške izkušnje v čarovniškem svetu Harryja Potterja v Universal Studiosu
Vodnik za začetnike po mikrokontrolerjih: 10 korakov (s slikami)
Vodnik za začetnike po mikrokrmilnikih: Kaj imajo skupnega daljinski upravljalniki, usmerjevalniki in roboti? Mikrokrmilniki! Danes so mikrokontrolerji, prijazni začetnikom, enostavni za uporabo in programiranje le z prenosnikom, kablom USB in nekaj (brezplačno) odprtokodno programsko opremo. Woohoo !! Vse