INHOUDSOPGAWE:

Sonar, Lidar en rekenaarvisie op mikrobeheerders gebruik om gesiggestremdes te help: 16 stappe
Sonar, Lidar en rekenaarvisie op mikrobeheerders gebruik om gesiggestremdes te help: 16 stappe

Video: Sonar, Lidar en rekenaarvisie op mikrobeheerders gebruik om gesiggestremdes te help: 16 stappe

Video: Sonar, Lidar en rekenaarvisie op mikrobeheerders gebruik om gesiggestremdes te help: 16 stappe
Video: Donald Hoffman: De aard van het bewustzijn [Technisch] 2024, November
Anonim
Sonar, Lidar en rekenaarvisie op mikrobeheerders gebruik om gesiggestremdes te help
Sonar, Lidar en rekenaarvisie op mikrobeheerders gebruik om gesiggestremdes te help

Ek wil 'n intelligente 'kierie' skep wat mense met gesiggestremdhede baie meer kan help as bestaande oplossings. Die kierie kan die gebruiker in kennis stel van voorwerpe aan die voorkant of aan die kante deur 'n geraas te maak in die surround -tipe koptelefoon. Die kierie het ook 'n klein kamera en LIDAR (Light Detection and Ranging) sodat dit voorwerpe en mense in die kamer kan herken en die gebruiker in kennis kan stel deur die koptelefoon te gebruik. Om veiligheidsredes blokkeer die koptelefoon nie al die geraas nie, aangesien daar 'n mikrofoon is wat al die onnodige geluide kan filter en die horings en mense aan die praat hou. Laastens het die stelsel 'n GPS, sodat dit aanwysings kan gee en die gebruiker kan wys waarheen hy moet gaan.

Stem asseblief vir my in die Microcontroller- en Outdoor Fitness -wedstryde!

Stap 1: Oorsig van die projek

Oorsig van die projek
Oorsig van die projek
Oorsig van die projek
Oorsig van die projek
Oorsig van die projek
Oorsig van die projek

Volgens World Access for the Blind is fisiese beweging een van die grootste uitdagings vir blinde mense. Reis of bloot deur 'n druk straat kan baie moeilik wees. Tradisioneel was die enigste oplossing die gebruik van die algemeen bekende 'wit riet', wat hoofsaaklik gebruik word om die omgewing te skandeer deur die hindernisse in die omgewing van die gebruiker aan te raak. 'N Beter oplossing sou 'n toestel wees wat die siende assistent kan vervang deur inligting te verstrek oor die ligging van hindernisse, sodat die blinde in onbekende omgewings kan uitgaan en veilig kan voel. Tydens hierdie projek is 'n klein battery-aangedrewe toestel ontwikkel wat aan hierdie kriteria voldoen. Die toestel kan die grootte en ligging van die voorwerp opspoor deur middel van sensors wat die posisie van voorwerpe met betrekking tot die gebruiker meet, die inligting aan 'n mikrobeheerder oordra en dit dan omskakel in klank om inligting aan die gebruiker te verskaf. Die toestel is gebou met behulp van beskikbare kommersiële LIDAR (Light Detection and Ranging), SONAR (Sound Navigation and Ranging), en rekenaarvisie -tegnologie wat aan mikrobeheerders gekoppel is en geprogrammeer om die nodige hoorbare inligtingsuitset met behulp van koptelefoon of koptelefoon te verskaf. Die opsporingstegnologie is ingebed in 'n 'wit kierie' om die toestand van die gebruiker aan te dui en ekstra veiligheid te bied.

Stap 2: Agtergrondnavorsing

Agtergrondnavorsing
Agtergrondnavorsing
Agtergrondnavorsing
Agtergrondnavorsing
Agtergrondnavorsing
Agtergrondnavorsing
Agtergrondnavorsing
Agtergrondnavorsing

In 2017 het die Wêreldgesondheidsorganisasie berig dat daar wêreldwyd 285 miljoen gesiggestremdes was, waarvan 39 miljoen heeltemal blind is. Die meeste mense dink nie elke dag aan die probleme waarmee gesiggestremdes te kampe het nie. Volgens World Access for the Blind is fisiese beweging een van die grootste uitdagings vir blinde mense. Reis of bloot deur 'n druk straat kan baie moeilik wees. As gevolg hiervan bring baie mense met gesiggestremdheid die voorkeur om 'n siende vriend of familielid saam te bring om deur nuwe omgewings te beweeg. Tradisioneel was die enigste oplossing die gebruik van die algemeen bekende 'wit riet', wat hoofsaaklik gebruik word om die omgewing te skandeer deur die hindernisse in die omgewing van die gebruiker aan te raak. 'N Beter oplossing sou 'n toestel wees wat die siende assistent kan vervang deur inligting te gee oor die ligging van hindernisse, sodat die blinde persoon in 'n onbekende omgewing kan uitgaan en veilig kan voel. NavCog, 'n samewerking tussen IBM en die Carnegie Mellon Universiteit, het probeer om die probleem op te los deur 'n stelsel te skep wat Bluetooth -bakens en slimfone gebruik om te help. Die oplossing was egter omslagtig en was baie duur vir grootskaalse implementering. My oplossing spreek dit aan deur die behoefte aan eksterne toestelle uit te skakel en deur 'n stem te gebruik om die gebruiker deur die dag te lei (Figuur 3). Die voordeel daarvan dat die tegnologie in 'n 'wit kierie' ingebed is, is dat dit die res van die wêreld aandui van die toestand van die gebruiker, wat die gedrag van die omliggende mense kan verander.

Stap 3: Ontwerpvereistes

Ontwerpvereistes
Ontwerpvereistes

Nadat ek die beskikbare tegnologieë ondersoek het, bespreek ek moontlike oplossings met professionele persone oor visie oor die beste benadering om gesiggestremdes te help om in hul omgewing te navigeer. Die onderstaande tabel bevat die belangrikste funksies wat nodig is vir iemand om na my toestel oor te skakel.

Funksie - beskrywing:

  • Berekening - Die stelsel moet 'n vinnige verwerking bied vir die uitruil van inligting tussen die gebruiker en sensors. Die stelsel moet byvoorbeeld die gebruiker kan inlig oor struikelblokke wat minstens 2 m van die voorkant af is.
  • Dekking - Die stelsel moet sy dienste binne en buite lewer om die kwaliteit van die gesiggestremdes se lewens te verbeter.
  • Tyd - Die stelsel moet net so goed presteer in die dag as in die nag.
  • Bereik - Die reeks is die afstand tussen die gebruiker en die voorwerp wat deur die stelsel opgespoor moet word. Die ideale minimum afstand is 0,5 m, terwyl die maksimum bereik meer as 5 m moet wees. Verdere afstande sou selfs beter wees, maar meer uitdagend om te bereken.
  • Object Type - Die stelsel moet die skielike voorkoms van voorwerpe opspoor. Die stelsel behoort die verskil tussen bewegende voorwerpe en statiese voorwerpe te kan onderskei.

Stap 4: Ingenieursontwerp en keuring van toerusting

Ingenieursontwerp en keuring van toerusting
Ingenieursontwerp en keuring van toerusting
Ingenieursontwerp en keuring van toerusting
Ingenieursontwerp en keuring van toerusting
Ingenieursontwerp en keuring van toerusting
Ingenieursontwerp en keuring van toerusting

Nadat ek na baie verskillende komponente gekyk het, het ek besluit op onderdele wat uit die verskillende kategorieë hieronder gekies is.

Prys van geselekteerde onderdele:

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

Stap 5: Keuse van toerusting: Metode van interaksie

Toerustingkeuse: Interaksiemetode
Toerustingkeuse: Interaksiemetode
Toerustingkeuse: Interaksiemetode
Toerustingkeuse: Interaksiemetode

Ek het besluit om stembeheer te gebruik as 'n metode om met die toestel te kommunikeer, want dit kan 'n uitdaging wees vir 'n gesiggestremde persoon om verskeie knoppies op 'n kierie te hê, veral as sommige funksies 'n kombinasie van knoppies vereis. Met stembeheer kan die gebruiker voorafbepaalde opdragte gebruik om met die kierie te kommunikeer, wat moontlike foute verminder.

Toestel: voordele --- nadele:

  • Knoppies: geen opdragfout as die regterknoppie ingedruk word nie --- Dit kan 'n uitdaging wees om te verseker dat die regte knoppies ingedruk word
  • Stembeheer: Maklik omdat die gebruiker voorafbepaalde opdragte kan gebruik --- Verkeerde uitspraak kan foute veroorsaak

Stap 6: Keuse van toerusting: Mikrobeheerder

Toerustingkeuse: mikrobeheerder
Toerustingkeuse: mikrobeheerder
Toerustingkeuse: mikrobeheerder
Toerustingkeuse: mikrobeheerder
Toerustingkeuse: mikrobeheerder
Toerustingkeuse: mikrobeheerder

Die toestel het die Raspberry Pi gebruik vanweë die lae koste en voldoende verwerkingskrag om die dieptekaart te bereken. Die Intel Joule sou die voorkeuropsie gewees het, maar die prys daarvan sou die koste van die stelsel verdubbel het, wat nie ideaal sou wees nie; hierdie toestel wat ontwikkel is om gebruikers 'n laer koste te bied. Die arduino is in die stelsel gebruik omdat dit maklik inligting van sensors kan kry. Die BeagleBone en Intel Edison is nie gebruik nie vanweë die lae prys -prestasie -verhouding, wat sleg is vir hierdie goedkoop stelsel.

Mikrokontroleur: voordele --- nadele:

  • Framboos Pi: het genoeg verwerkingskrag om hindernisse te vind en het geïntegreerde WiFi/Bluetooth --- Nie veel opsies om data van sensors te ontvang nie
  • Arduino: Ontvang maklik data van klein sensors. ie. LIDAR, Ultrasonic, SONAR, ens --- Nie genoeg verwerkingskrag om hindernisse op te spoor nie
  • Intel Edison: kan vinnig hindernisse verwerk met 'n vinnige verwerker --- Vereis ekstra ontwikkelaarstukke om vir die stelsel te funksioneer
  • Intel Joule: het tot dusver dubbel die verwerkingsnelheid van enige van die mikrobeheerders op die verbruikersmark --- Baie hoë koste vir hierdie stelsel en moeilik om met GPIO te kommunikeer vir sensorinteraksie
  • BeagleBone Black: Kompak en versoenbaar met sensors wat in die projek gebruik word deur die algemene uitvoerinvoer (GPIO) te gebruik --- Nie genoeg verwerkingskrag om voorwerpe effektief te vind nie

Stap 7: Keuse van toerusting: Sensors

Toerustingkeuse: Sensors
Toerustingkeuse: Sensors
Toerustingkeuse: Sensors
Toerustingkeuse: Sensors
Toerustingkeuse: Sensors
Toerustingkeuse: Sensors

'N Kombinasie van verskeie sensors word gebruik om 'n hoë akkuraatheid van die ligging te verkry. Die Kinect is die hoofsensor vanweë die hoeveelheid oppervlakte wat dit tegelykertyd na hindernisse kan soek. LIDAR, wat staan vir Ligh Detection and Ranging, is 'n afstandswaarnemingsmetode wat lig in die vorm van 'n gepulseerde laser gebruik om vinnig afstande te meet van waar die sensor na voorwerpe is; die sensor word gebruik omdat dit 'n gebied tot 40 meter (m) weg kan volg, en aangesien dit in verskillende hoeke kan skandeer, kan dit opspoor of enige stappe op of af gaan. Die SOUND Navigation And Ranging (SONAR) en Ultrasoniese sensors word as rugsteunopsporing gebruik as die Kinect 'n paal of stamp in die grond misloop wat 'n gevaar vir die gebruiker kan inhou. Die 9 grade of Freedom Sensor word gebruik om te volg in watter rigting die gebruiker gekyk word, sodat die toestel die inligting kan stoor vir 'n groter akkuraatheid, volgende keer dat die persoon op dieselfde plek loop.

Sensors: voordele --- nadele:

  • Kinect V1: Kan 3D-voorwerpe opspoor met --- Slegs een kamera om die omgewing op te spoor
  • Kinect V2: het 3 infrarooi kameras en 'n rooi, groen, blou, diepte (RGB-D) kamera vir 3D-voorwerpopsporing met 'n hoë presisie --- Kan warm word en 'n koelwaaier benodig, en is groter as ander sensors
  • LIDAR: Balke wat plekke tot 40 m weg kan volg --- Moet na die voorwerp geplaas word en kan slegs in daardie rigting kyk
  • SONAR: Straal wat 5 m weg kan spoor, maar in 'n verre afstand --- Klein voorwerpe soos vere kan die sensor aktiveer
  • Ultrasonies: het 'n reikafstand van tot 3 m en is baie goedkoop --- Afstande kan soms onakkuraat wees
  • 9 grade van vryheidsensor: goed om die oriëntasie en spoed van die gebruiker te waarneem --- As iets met die sensors inmeng, kan die afstandberekeninge verkeerdelik bereken word

Stap 8: Keuse van toerusting: sagteware

Toerustingkeuse: sagteware
Toerustingkeuse: sagteware
Toerustingkeuse: sagteware
Toerustingkeuse: sagteware
Toerustingkeuse: sagteware
Toerustingkeuse: sagteware

Die geselekteerde sagteware vir die eerste paar prototipes wat met die Kinect V1 -sensor gebou is, was Freenect, maar dit was nie baie akkuraat nie. By die oorskakeling na Kinect V2 en Freenect2 is die opsporingsresultate aansienlik verbeter as gevolg van verbeterde opsporing, aangesien die V2 'n HD -kamera en 3 infrarooi kameras het, in teenstelling met 'n enkele kamera op die Kinect V1. Toe ek OpenNi2 met die Kinect V1 gebruik, was die funksies beperk en kon ek sommige van die funksies van die toestel nie beheer nie.

Sagteware: voordele --- nadele:

  • Freenect: het 'n laer vlak van beheer om alles te beheer --- Ondersteun slegs die Kinect V1
  • OpenNi2: Kan maklik die puntwolkdata skep uit die inligtingstroom van die Kinect --- Ondersteun slegs die Kinect V1 en het nie ondersteuning vir lae vlak beheer nie
  • Freenect2: Het 'n laer vlak van beheer vir sensorstaaf --- Werk slegs vir die Kinect V2
  • ROS: Bedryfstelsel ideaal vir die programmering van kamerafunksies --- Moet op 'n vinnige SD-kaart geïnstalleer word sodat die sagteware kan werk

Stap 9: Keuse van toerusting: Ander onderdele

Toerustingkeuse: Ander onderdele
Toerustingkeuse: Ander onderdele
Toerustingkeuse: Ander onderdele
Toerustingkeuse: Ander onderdele

Litiumionbatterye is gekies omdat dit lig was, 'n hoë kragvermoë en herlaaibare het. Die 18650 -variant van die litiumioonbattery het 'n silindriese vorm en pas perfek in die rottangprototipe. Die eerste prototipe riet is gemaak van PVC -pyp omdat dit hol is en die gewig van die kierie verminder.

Stap 10: Stelselontwikkeling: die maak van die hardeware Deel 1

Stelselontwikkeling: die maak van die hardeware Deel 1
Stelselontwikkeling: die maak van die hardeware Deel 1
Stelselontwikkeling: die maak van die hardeware Deel 1
Stelselontwikkeling: die maak van die hardeware Deel 1
Stelselontwikkeling: die maak van die hardeware Deel 1
Stelselontwikkeling: die maak van die hardeware Deel 1

Eerstens moet ons die Kinect uitmekaar haal om dit ligter te maak sodat dit binne -in die kierie pas. Ek het begin met die verwydering van al die buitekant van die Kinect, aangesien die plastiek baie weeg. Toe moes ek die kabel sny sodat die basis verwyder kon word. Ek het die drade uit die aansluiting op die foto geneem en aan 'n usb -kabel met seindrade gesoldeer, en die ander twee verbindings was vir die 12V -ingang. Aangesien ek wou hê dat die waaier in die kierie op volle krag sou loop om al die ander komponente af te koel, het ek die aansluiting van die waaier van die Kinect afgesny en 5V van die Raspberry Pi bedraad. Ek het ook 'n klein adapter vir die LiDAR -draad gemaak, sodat dit direk in die Raspberry Pi kan koppel sonder dat daar ander stelsels tussenin is.

Ek het per ongeluk die wit draad aan die swart vasgemaak, so kyk nie na die beelde vir die bedradingsdiagramme nie

Stap 11: Stelselontwikkeling: die maak van die hardeware Deel 2

Stelselontwikkeling: die maak van die hardeware Deel 2
Stelselontwikkeling: die maak van die hardeware Deel 2
Stelselontwikkeling: die maak van die hardeware Deel 2
Stelselontwikkeling: die maak van die hardeware Deel 2
Stelselontwikkeling: die maak van die hardeware Deel 2
Stelselontwikkeling: die maak van die hardeware Deel 2
Stelselontwikkeling: die maak van die hardeware Deel 2
Stelselontwikkeling: die maak van die hardeware Deel 2

Ek het 'n reguleerstuk geskep om alle toestelle wat 5V benodig, soos die Raspberry Pi, van krag te voorsien. Ek het die reguleerder ingestel deur 'n meter op die uitset te plaas en die weerstand aan te pas sodat die reguleerder 5.05V sou lewer. Ek stel dit 'n bietjie hoër as 5V, want mettertyd daal die batteryspanning en beïnvloed die uitsetspanning effens. Ek het ook 'n adapter gemaak waarmee ek tot 5 toestelle wat die 12V benodig, van die battery benodig.

Stap 12: Stelselontwikkeling: Programmering van die stelsel Deel 1

Stelselontwikkeling: Programmering van die stelsel Deel 1
Stelselontwikkeling: Programmering van die stelsel Deel 1
Stelselontwikkeling: Programmering van die stelsel Deel 1
Stelselontwikkeling: Programmering van die stelsel Deel 1
Stelselontwikkeling: Programmering van die stelsel Deel 1
Stelselontwikkeling: Programmering van die stelsel Deel 1

Een van die mees uitdagende dele van hierdie stelsel is die programmering. Toe ek die Kinect die eerste keer laat speel het, het ek 'n program genaamd RTAB Map geïnstalleer, wat die datastroom van die Kinect neem en dit omskakel in 'n puntwolk. Met die puntwolk het dit 'n 3D -beeld geskep wat gedraai kan word, so sien die diepte van waar al die voorwerpe is. Nadat ek 'n rukkie daarmee gespeel het en al die instellings aangepas het, het ek besluit om sagteware op die Raspberry Pi te installeer sodat ek die datastroom van die Kinect kon sien. Die laaste twee beelde hierbo wys wat die Raspberry Pi met ongeveer 15-20 rame per sekonde kan lewer.

Aanbeveel: