Turinys:

„Sonar“, „Lidar“ir „Computer Vision“naudojimas mikrovaldikliuose, kad padėtų silpnaregiams: 16 žingsnių
„Sonar“, „Lidar“ir „Computer Vision“naudojimas mikrovaldikliuose, kad padėtų silpnaregiams: 16 žingsnių

Video: „Sonar“, „Lidar“ir „Computer Vision“naudojimas mikrovaldikliuose, kad padėtų silpnaregiams: 16 žingsnių

Video: „Sonar“, „Lidar“ir „Computer Vision“naudojimas mikrovaldikliuose, kad padėtų silpnaregiams: 16 žingsnių
Video: DIY Radar With Ultrasonic Sensor And Chat-GPT Generated Arduino Code | Coders Cafe 2024, Liepa
Anonim
„Sonar“, „Lidar“ir „Computer Vision“naudojimas mikrovaldikliuose, kad padėtų silpnaregiams
„Sonar“, „Lidar“ir „Computer Vision“naudojimas mikrovaldikliuose, kad padėtų silpnaregiams

Noriu sukurti protingą „cukranendrę“, kuri gali padėti žmonėms, turintiems regos negalią, daug labiau nei esami sprendimai. Lazdelė galės pranešti vartotojui apie objektus priekyje arba šonuose, sukeldama triukšmą erdvinio garso tipo ausinėse. Lazdelė taip pat turės mažą fotoaparatą ir LIDAR (šviesos aptikimo ir diapazono nustatymo) funkciją, kad ji galėtų atpažinti kambaryje esančius objektus ir žmones ir apie tai pranešti naudotojui naudodami ausines. Saugumo sumetimais ausinės neužblokuos viso triukšmo, nes bus mikrofonas, galintis išfiltruoti visus nereikalingus garsus ir priversti automobilio ragus bei žmones kalbėti. Galiausiai sistema turės GPS, kad ji galėtų duoti nurodymus ir parodyti vartotojui, kur eiti.

Prašome balsuoti už mane mikrokontrolerio ir lauko fitneso konkursuose!

1 žingsnis: projekto apžvalga

Projekto apžvalga
Projekto apžvalga
Projekto apžvalga
Projekto apžvalga
Projekto apžvalga
Projekto apžvalga

Remiantis „World Access for the Blind“, fizinis judėjimas yra vienas didžiausių iššūkių akliesiems. Keliauti ar tiesiog vaikščioti perpildyta gatve gali būti labai sunku. Tradiciškai vienintelis sprendimas buvo naudoti plačiai žinomą „baltąją lazdelę“, kuri pirmiausia naudojama aplinkai nuskaityti, pataikant į šalia esančias kliūtis. Geresnis sprendimas būtų prietaisas, galintis pakeisti regintį asistentą, pateikiant informaciją apie kliūčių vietą, kad aklas galėtų išeiti į nežinomą aplinką ir jaustis saugus. Šio projekto metu buvo sukurtas nedidelis akumuliatorius, atitinkantis šiuos kriterijus. Prietaisas gali aptikti objekto dydį ir vietą jutikliais, kurie matuoja objektų padėtį vartotojo atžvilgiu, perduoda šią informaciją mikrovaldikliui ir konvertuoja ją į garsą, kad vartotojui būtų suteikta informacija. Prietaisas buvo sukurtas naudojant turimus komercinius LIDAR (šviesos aptikimo ir diapazono), SONAR (garso navigacijos ir diapazono) ir kompiuterinio matymo technologijas, susietas su mikrovaldikliais ir užprogramuotas teikti reikiamą garsinės informacijos išvestį naudojant ausines ar ausines. Aptikimo technologija buvo įterpta į „baltą lazdelę“, kad kitiems parodytų naudotojo būklę ir užtikrintų papildomą saugumą.

2 žingsnis: pagrindiniai tyrimai

Pagrindiniai tyrimai
Pagrindiniai tyrimai
Pagrindiniai tyrimai
Pagrindiniai tyrimai
Pagrindiniai tyrimai
Pagrindiniai tyrimai
Pagrindiniai tyrimai
Pagrindiniai tyrimai

Pasaulio sveikatos organizacija pranešė, kad pasaulyje yra 285 milijonai regos negalią turinčių žmonių, iš kurių 39 milijonai yra visiškai akli. Dauguma žmonių negalvoja apie problemas, su kuriomis regos negalią turintys žmonės susiduria kiekvieną dieną. Remiantis „World Access for the Blind“, fizinis judėjimas yra vienas didžiausių iššūkių akliesiems. Keliauti ar tiesiog vaikščioti perpildyta gatve gali būti labai sunku. Dėl šios priežasties daugelis regos negalią turinčių žmonių nori atsinešti regintį draugą ar šeimos narį, kad padėtų naršyti naujoje aplinkoje. Tradiciškai vienintelis sprendimas buvo naudoti plačiai žinomą „baltą cukranendrę“, kuri pirmiausia naudojama aplinkai nuskaityti, pataikant į šalia esančias kliūtis. Geresnis sprendimas būtų prietaisas, galintis pakeisti regintį asistentą, pateikiant informaciją apie kliūčių vietą, kad aklas galėtų išeiti į nežinomą aplinką ir jaustis saugus. „NavCog“, bendradarbiavusi tarp IBM ir Carnegie Mellon universiteto, bandė išspręsti šią problemą, sukurdama sistemą, kuri padės „Bluetooth“švyturėliais ir išmaniaisiais telefonais. Tačiau sprendimas buvo sudėtingas ir pasirodė esąs labai brangus didelio masto įgyvendinimui. Mano sprendimas tai sprendžia pašalindamas bet kokį išorinių įrenginių poreikį ir naudodamas balsą, kuris nukreipia naudotoją visą dieną (3 pav.). Technologijos, įterptos į „baltąją lazdelę“, pranašumas yra tas, kad ji signalizuoja visam pasauliui apie vartotojo būklę, dėl kurios pasikeičia aplinkinių žmonių elgesys.

3 žingsnis: projektavimo reikalavimai

Dizaino reikalavimai
Dizaino reikalavimai

Ištyręs turimas technologijas, su regos specialistais aptariau galimus sprendimus, kaip geriausiai padėti silpnaregiams naršyti aplinkoje. Žemiau esančioje lentelėje išvardytos svarbiausios funkcijos, reikalingos norint pereiti prie mano įrenginio.

Funkcija - Aprašymas:

  • Skaičiavimas - sistema turi užtikrinti greitą keitimosi informacija tarp vartotojo ir jutiklių apdorojimą. Pavyzdžiui, sistema turi sugebėti informuoti naudotoją apie priekyje esančias kliūtis, esančias bent 2 m atstumu.
  • Aprėptis - sistema turi teikti savo paslaugas patalpose ir lauke, kad pagerintų regos negalią turinčių žmonių gyvenimo kokybę.
  • Laikas - sistema turėtų veikti taip pat gerai, kaip ir dieną.
  • Diapazonas - diapazonas yra atstumas tarp vartotojo ir objekto, kurį turi aptikti sistema. Idealus atstumas yra 0,5 m, o didžiausias - daugiau nei 5 m. Tolesni atstumai būtų dar geresni, bet sunkiau apskaičiuoti.
  • Objekto tipas - sistema turėtų aptikti staigų objektų atsiradimą. Sistema turėtų sugebėti pasakyti skirtumą tarp judančių ir statiškų objektų.

4 žingsnis: inžinerinis dizainas ir įrangos pasirinkimas

Inžinerinis dizainas ir įrangos pasirinkimas
Inžinerinis dizainas ir įrangos pasirinkimas
Inžinerinis dizainas ir įrangos pasirinkimas
Inžinerinis dizainas ir įrangos pasirinkimas
Inžinerinis dizainas ir įrangos pasirinkimas
Inžinerinis dizainas ir įrangos pasirinkimas

Išnagrinėjęs daugybę skirtingų komponentų, nusprendžiau pasirinkti dalis, pateiktas iš skirtingų kategorijų.

Pasirinktų dalių kaina:

  • „Zungle Panther“: 149,99 USD
  • „LiDAR Lite V3“: 149,99 USD
  • LV-MaxSonar-EZ1: 29,95 USD
  • Ultragarsinis jutiklis - 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 žingsnis: įrangos pasirinkimas: sąveikos metodas

Įrangos pasirinkimas: sąveikos metodas
Įrangos pasirinkimas: sąveikos metodas
Įrangos pasirinkimas: sąveikos metodas
Įrangos pasirinkimas: sąveikos metodas

Nusprendžiau naudoti valdymą balsu kaip būdą sąveikauti su įrenginiu, nes turint kelis mygtukus ant lazdelės gali būti sunku regėjimo negalią turinčiam asmeniui, ypač jei kai kurioms funkcijoms reikalingi mygtukų deriniai. Naudodamas valdymą balsu, vartotojas gali naudoti iš anksto nustatytas komandas, kad galėtų bendrauti su lazdele, o tai sumažina galimas klaidas.

Įrenginys: pliusai-minusai:

  • Mygtukai: Paspaudus dešinįjį mygtuką, komandų klaidų nėra-gali būti sunku užtikrinti, kad būtų paspausti teisingi mygtukai
  • Valdymas balsu: paprasta, nes vartotojas gali naudoti iš anksto nustatytas komandas --- Neteisingas tarimas gali sukelti klaidų

6 žingsnis: įrangos pasirinkimas: mikrovaldiklis

Įrangos pasirinkimas: mikrovaldiklis
Įrangos pasirinkimas: mikrovaldiklis
Įrangos pasirinkimas: mikrovaldiklis
Įrangos pasirinkimas: mikrovaldiklis
Įrangos pasirinkimas: mikrovaldiklis
Įrangos pasirinkimas: mikrovaldiklis

Įrenginys naudojo „Raspberry Pi“dėl mažos kainos ir pakankamos apdorojimo galios gylio žemėlapiui apskaičiuoti. „Intel Joule“būtų buvęs tinkamiausias pasirinkimas, tačiau jo kaina būtų padvigubinusi sistemos kainą, o tai nebūtų idealus šis įrenginys, sukurtas taip, kad vartotojams būtų suteikta mažesnė kaina. Arduino buvo naudojamas sistemoje, nes jis gali lengvai gauti informaciją iš jutiklių. „BeagleBone“ir „Intel Edison“nebuvo naudojami dėl mažo kainos ir našumo santykio, o tai yra blogai šiai pigių sistemų sistemai.

Mikrokontroleris: pliusai-minusai:

  • „Raspberry Pi“: turi pakankamai apdorojimo galios kliūtims surasti ir turi integruotą „WiFi“/„Bluetooth“--- Nėra daug galimybių gauti duomenis iš jutiklių
  • „Arduino“: lengvai gaukite duomenis iš mažų jutiklių. t.y. LIDAR, ultragarsas, SONAR ir tt --- Nepakanka apdorojimo galios kliūtims surasti
  • „Intel Edison“: gali greitai apdoroti kliūtis, naudodamas greitą procesorių --- Norint, kad sistema veiktų, reikia papildomų kūrėjų dalių
  • „Intel Joule“: iki šiol turi dvigubai didesnį nei bet kurio vartotojų rinkoje esančio mikrovaldiklio apdorojimo greitį --- Labai didelė šios sistemos kaina ir sunku sąveikauti su GPIO, kad būtų galima sąveikauti
  • „BeagleBone Black“: kompaktiškas ir suderinamas su projekte naudojamais jutikliais, naudojant bendrosios paskirties įvesties išvestį (GPIO) --- Nepakanka apdorojimo galios veiksmingai rasti objektus

7 žingsnis: įrangos pasirinkimas: jutikliai

Įrangos pasirinkimas: jutikliai
Įrangos pasirinkimas: jutikliai
Įrangos pasirinkimas: jutikliai
Įrangos pasirinkimas: jutikliai
Įrangos pasirinkimas: jutikliai
Įrangos pasirinkimas: jutikliai

Norint pasiekti aukštą vietos tikslumą, naudojamas kelių jutiklių derinys. „Kinect“yra pagrindinis jutiklis, nes vienu metu gali nuskaityti kliūtis. LIDAR, kuris reiškia „LIght Detection and Ranging“, yra nuotolinio stebėjimo metodas, kurio metu naudojama šviesa impulsinio lazerio pavidalu, kad būtų galima greitai išmatuoti atstumus nuo jutiklio buvimo vietos iki objektų; šis jutiklis naudojamas, nes jis gali sekti iki 40 metrų (m) esantį plotą ir kadangi gali nuskaityti įvairiais kampais, jis gali aptikti, ar žingsniai kyla aukštyn ar žemyn. Garso navigacijos ir diapazono (SONAR) ir ultragarso jutikliai naudojami kaip atsarginis sekimas, jei „Kinect“praleidžia žemėje esantį stulpą ar smūgį, kuris galėtų kelti pavojų vartotojui. 9 laisvės laipsnių jutiklis naudojamas sekti, į kurią pusę nukreiptas vartotojas, kad prietaisas galėtų saugoti informaciją, kad būtų tiksliau nukreiptas kitą kartą, kai žmogus eis toje pačioje vietoje.

Jutikliai: pliusai-minusai:

  • „Kinect V1“: gali sekti 3D objektus naudodami tik vieną kamerą, kad aptiktų aplinką
  • „Kinect V2“: turi 3 infraraudonųjų spindulių kameras ir raudoną, žalią, mėlyną, gylio (RGB-D) kamerą, skirtą didelio tikslumo 3D objektų aptikimui --- gali įkaisti ir gali prireikti aušinimo ventiliatoriaus, ir yra didesnė už kitus jutiklius
  • LIDAR: spindulys, galintis sekti vietas iki 40 m atstumu --- turi būti nukreiptas į objektą ir gali žiūrėti tik ta kryptimi
  • SONAR: spindulys, galintis sekti 5 m atstumu, bet toli---- Maži daiktai, pvz., Plunksnos, gali suaktyvinti jutiklį
  • Ultragarsas: diapazonas yra iki 3 m ir yra labai nebrangus --- Atstumai kartais gali būti netikslūs
  • 9 laisvės laipsnių jutikliai: tinka nustatyti vartotojo orientaciją ir greitį --- Jei kas nors trukdo jutikliams, atstumo skaičiavimai gali būti neteisingai apskaičiuoti

8 žingsnis: įrangos pasirinkimas: programinė įranga

Įrangos pasirinkimas: programinė įranga
Įrangos pasirinkimas: programinė įranga
Įrangos pasirinkimas: programinė įranga
Įrangos pasirinkimas: programinė įranga
Įrangos pasirinkimas: programinė įranga
Įrangos pasirinkimas: programinė įranga

Pasirinkta programinė įranga pirmiesiems prototipams, pastatytiems naudojant „Kinect V1“jutiklį, buvo „Freenect“, tačiau ji nebuvo labai tiksli. Perjungus į „Kinect V2“ir „Freenect2“, stebėjimo rezultatai buvo žymiai pagerėję dėl geresnio stebėjimo, nes „V2“turi HD kamerą ir 3 infraraudonųjų spindulių kameras, o ne vieną „Kinect V1“kamerą. Kai naudojau „OpenNi2“su „Kinect V1“, funkcijos buvo ribotos ir negalėjau valdyti kai kurių įrenginio funkcijų.

Programinė įranga: pliusai-minusai:

  • „Freenect“: turi žemesnį valdymo lygį viskam valdyti --- Palaiko tik „Kinect V1“
  • „OpenNi2“: gali lengvai sukurti taškų debesies duomenis iš informacijos srauto iš „Kinect“--- Palaiko tik „Kinect V1“ir nepalaiko žemo lygio valdymo
  • „Freenect2“: turi žemesnį jutiklio juostos valdymo lygį --- veikia tik „Kinect V2“
  • ROS: Operacinė sistema, idealiai tinkanti fotoaparato funkcijoms programuoti --- Reikia įdiegti į greitą SD kortelę, kad programinė įranga veiktų

9 žingsnis: įrangos pasirinkimas: kitos dalys

Įrangos pasirinkimas: kitos dalys
Įrangos pasirinkimas: kitos dalys
Įrangos pasirinkimas: kitos dalys
Įrangos pasirinkimas: kitos dalys

Ličio jonų baterijos buvo pasirinktos dėl lengvų, didelės galios ir įkraunamų. Ličio jonų akumuliatoriaus 18650 variantas yra cilindro formos ir puikiai tinka cukranendrių prototipui. Pirmasis lazdelės prototipas pagamintas iš PVC vamzdžio, nes jis yra tuščiaviduris ir sumažina lazdelės svorį.

10 veiksmas: sistemos kūrimas: aparatinės įrangos 1 dalies sukūrimas

Sistemos kūrimas: aparatinės įrangos kūrimas 1 dalis
Sistemos kūrimas: aparatinės įrangos kūrimas 1 dalis
Sistemos kūrimas: aparatinės įrangos kūrimas 1 dalis
Sistemos kūrimas: aparatinės įrangos kūrimas 1 dalis
Sistemos kūrimas: aparatinės įrangos kūrimas 1 dalis
Sistemos kūrimas: aparatinės įrangos kūrimas 1 dalis

Pirmiausia turime išardyti „Kinect“, kad jis būtų lengvesnis ir tilptų į lazdelės vidų. Pradėjau pašalindamas visą išorinį korpusą iš „Kinect“, nes naudojamas plastikas sveria LABAI. Tada turėjau nukirpti kabelį, kad būtų galima nuimti pagrindą. Aš paėmiau laidus iš paveikslėlyje pavaizduotos jungties ir litavau juos prie USB kabelio su signaliniais laidais, o kitos dvi jungtys buvo skirtos 12 V įėjimo galiai. Kadangi norėjau, kad cukranendrių viduje esantis ventiliatorius veiktų visu pajėgumu, kad atvėsintų visus kitus komponentus, aš nutraukiau „Kinect“ventiliatoriaus jungtį ir prijungiau 5V prie „Raspberry Pi“. Aš taip pat padariau nedidelį „LiDAR“laido adapterį, kad jis galėtų tiesiogiai prisijungti prie „Raspberry Pi“be jokių kitų sistemų.

Aš netyčia litavau baltą laidą prie juodo, todėl nežiūrėkite į laidų schemų vaizdus

11 veiksmas: sistemos kūrimas: aparatinės įrangos 2 dalies sukūrimas

Sistemos kūrimas: 2 dalies aparatinės įrangos kūrimas
Sistemos kūrimas: 2 dalies aparatinės įrangos kūrimas
Sistemos kūrimas: 2 dalies aparatinės įrangos kūrimas
Sistemos kūrimas: 2 dalies aparatinės įrangos kūrimas
Sistemos kūrimas: 2 dalies aparatinės įrangos kūrimas
Sistemos kūrimas: 2 dalies aparatinės įrangos kūrimas
Sistemos kūrimas: 2 dalies aparatinės įrangos kūrimas
Sistemos kūrimas: 2 dalies aparatinės įrangos kūrimas

Aš sukūriau reguliatorių, kuris tiekia energiją visiems įrenginiams, kuriems reikalinga 5 V įtampa, kaip „Raspberry Pi“. Reguliatorių sureguliavau įdėdamas matuoklį į išėjimą ir sureguliuodamas rezistorių taip, kad reguliatorius suteiktų 5,05 V. Aš įdėjau jį šiek tiek aukštesnį nei 5 V, nes laikui bėgant akumuliatoriaus įtampa mažėja ir šiek tiek veikia išėjimo įtampą. Taip pat sukūriau adapterį, kuris leidžia maitinti iki 5 įrenginių, kuriems iš akumuliatoriaus reikia 12 V įtampos.

12 žingsnis: Sistemos kūrimas: 1 dalies programavimas

Sistemos kūrimas: sistemos programavimas 1 dalis
Sistemos kūrimas: sistemos programavimas 1 dalis
Sistemos kūrimas: sistemos programavimas 1 dalis
Sistemos kūrimas: sistemos programavimas 1 dalis
Sistemos kūrimas: sistemos programavimas 1 dalis
Sistemos kūrimas: sistemos programavimas 1 dalis

Viena iš sudėtingiausių šios sistemos dalių yra programavimas. Kai pirmą kartą gavau „Kinect“žaisti, aš įdiegiau programą „RTAB Map“, kuri paima duomenų srautą iš „Kinect“ir paverčia jį taškiniu debesiu. Naudodamas taškinį debesį, jis sukūrė 3D vaizdą, kurį galima pasukti, kad pamatytumėte visų objektų gylį. Kurį laiką su juo žaidęs ir sureguliavęs visus nustatymus, nusprendžiau įdiegti programinę įrangą „Raspberry Pi“, kad galėčiau matyti duomenų srautą iš „Kinect“. Paskutiniai du aukščiau esantys vaizdai rodo, ką „Raspberry Pi“gali sukurti maždaug 15-20 kadrų per sekundę greičiu.

Rekomenduojamas: