Talaan ng mga Nilalaman:

Paggamit ng Sonar, Lidar, at Computer Vision sa Mga Microcontroller upang Tulungan ang mga May Kapansanan sa Biswal: 16 Hakbang
Paggamit ng Sonar, Lidar, at Computer Vision sa Mga Microcontroller upang Tulungan ang mga May Kapansanan sa Biswal: 16 Hakbang

Video: Paggamit ng Sonar, Lidar, at Computer Vision sa Mga Microcontroller upang Tulungan ang mga May Kapansanan sa Biswal: 16 Hakbang

Video: Paggamit ng Sonar, Lidar, at Computer Vision sa Mga Microcontroller upang Tulungan ang mga May Kapansanan sa Biswal: 16 Hakbang
Video: BT: Madalas at matagal na paggamit ng computer, puwede magdulot ng computer vision syndrome... 2024, Hulyo
Anonim
Paggamit ng Sonar, Lidar, at Computer Vision sa Mga Microcontroller upang Tulungan ang mga May Kapansanan sa Biswal
Paggamit ng Sonar, Lidar, at Computer Vision sa Mga Microcontroller upang Tulungan ang mga May Kapansanan sa Biswal

Nais kong lumikha ng isang matalinong 'tungkod' na makakatulong sa mga taong may mga kapansanan sa paningin nang higit pa sa mga umiiral na solusyon. Maabisuhan ng tungkod ang gumagamit ng mga bagay sa harap o sa mga gilid sa pamamagitan ng pag-ingay sa mga palibut ng headphone na uri ng tunog. Ang tungkod ay magkakaroon din ng isang maliit na kamera at LIDAR (Light Detection at Ranging) upang makilala nito ang mga bagay at tao sa silid at abisuhan ang gumagamit sa pamamagitan ng paggamit ng mga headphone. Para sa mga kadahilanang pangkaligtasan, hindi hahadlangan ng mga headphone ang lahat ng ingay dahil magkakaroon ng isang mikropono na maaaring ma-filter ang lahat ng mga hindi kinakailangang tunog at mapanatili ang mga busina ng kotse at mga taong nagsasalita. Panghuli ang system ay magkakaroon ng GPS upang makapagbigay ito ng mga direksyon at maipakita ang gumagamit kung saan pupunta.

Mangyaring iboto ako sa Microcontroller at mga panlabas na Fitness contests!

Hakbang 1: Pangkalahatang-ideya ng Project

Pangkalahatang-ideya ng Project
Pangkalahatang-ideya ng Project
Pangkalahatang-ideya ng Project
Pangkalahatang-ideya ng Project
Pangkalahatang-ideya ng Project
Pangkalahatang-ideya ng Project

Ayon sa World Access for the Blind, ang pisikal na kilusan ay isa sa pinakamalaking hamon para sa mga bulag. Ang paglalakbay o simpleng paglalakad sa isang masikip na kalye ay maaaring maging napakahirap. Ayon sa kaugalian ang tanging solusyon ay ang paggamit ng karaniwang kilalang "puting tungkod" na pangunahing ginagamit upang i-scan ang paligid sa pamamagitan ng pagpindot sa mga hadlang sa kalapitan ng gumagamit. Ang isang mas mahusay na solusyon ay isang aparato na maaaring palitan ang nakakita ng katulong sa pamamagitan ng pagbibigay ng impormasyon tungkol sa lokasyon ng mga hadlang upang ang bulag na tao ay maaaring lumabas sa hindi kilalang mga kapaligiran at pakiramdam na ligtas. Sa panahon ng proyektong ito, isang maliit na aparato na pinapatakbo ng baterya na nakakatugon sa mga pamantayang ito ay binuo. Maaaring makita ng aparato ang laki at lokasyon ng object sa pamamagitan ng mga sensor na sumusukat sa posisyon ng mga bagay na nauugnay sa gumagamit, i-relay ang impormasyong iyon sa isang microcontroller, at pagkatapos ay i-convert ito sa audio upang magbigay ng impormasyon sa gumagamit. Ang aparato ay itinayo gamit ang magagamit na komersyal na LIDAR (Light Detection and Ranging), SONAR (Sound Navigation and Ranging), at mga teknolohiya ng computer vision na naka-link sa mga microcontroller at na-program upang maibigay ang kinakailangang naririnig na output na impormasyon gamit ang mga earbuds o headphone. Ang teknolohiya ng pagtuklas ay naka-embed sa loob ng isang "puting tungkod" upang ipahiwatig sa iba ang kalagayan ng gumagamit at magbigay ng karagdagang kaligtasan.

Hakbang 2: Pananaliksik sa Background

Pananaliksik sa Background
Pananaliksik sa Background
Pananaliksik sa Background
Pananaliksik sa Background
Pananaliksik sa Background
Pananaliksik sa Background
Pananaliksik sa Background
Pananaliksik sa Background

Noong 2017, iniulat ng World Health Organization na mayroong 285 milyong taong may kapansanan sa paningin sa buong mundo kung saan 39 milyon ang ganap na bulag. Karamihan sa mga tao ay hindi nag-iisip tungkol sa mga isyu na kinakaharap ng mga taong may kapansanan sa paningin araw-araw. Ayon sa World Access for the Blind, ang pisikal na kilusan ay isa sa pinakamalaking hamon para sa mga bulag. Ang paglalakbay o simpleng paglalakad sa isang masikip na kalye ay maaaring maging napakahirap. Dahil dito, maraming mga tao na may kapansanan sa paningin ang mas gusto na magdala ng isang nakikitang kaibigan o miyembro ng pamilya upang makatulong na mag-navigate sa mga bagong kapaligiran. Ayon sa kaugalian ang tanging solusyon ay ang paggamit ng karaniwang kilalang "puting tungkod" na pangunahing ginagamit upang i-scan ang paligid sa pamamagitan ng pagpindot sa mga hadlang sa kalapitan ng gumagamit. Ang isang mas mahusay na solusyon ay isang aparato na maaaring palitan ang nakakita ng katulong sa pamamagitan ng pagbibigay ng impormasyon tungkol sa lokasyon ng mga hadlang upang ang bulag na tao ay maaaring lumabas sa hindi kilalang mga kapaligiran at pakiramdam na ligtas. Ang NavCog, isang pakikipagtulungan sa pagitan ng IBM at Carnegie Mellon University, ay nagtangkang malutas ang problema sa pamamagitan ng paglikha ng isang system na gumagamit ng mga Bluetooth beacon at smartphone upang matulungan ang gabay. Gayunpaman, ang solusyon ay mahirap at napatunayan na napakamahal para sa malalaking sukat na pagpapatupad. Tinutugunan ito ng aking solusyon sa pamamagitan ng pag-aalis ng anumang pangangailangan para sa mga panlabas na aparato at sa pamamagitan ng paggamit ng isang boses upang gabayan ang gumagamit sa buong araw (Larawan 3). Ang bentahe ng pagkakaroon ng teknolohiyang naka-embed sa loob ng isang "puting tungkod" ay signal ito sa natitirang mundo ng kondisyon ng gumagamit na nagsasanhi ng pagbabago sa pag-uugali ng mga nakapaligid na tao.

Hakbang 3: Mga Kinakailangan sa Disenyo

Mga Kinakailangan sa Disenyo
Mga Kinakailangan sa Disenyo

Matapos masaliksik ang mga magagamit na teknolohiya, tinalakay ko ang mga posibleng solusyon sa mga propesyonal sa paningin sa pinakamahusay na diskarte upang matulungan ang may kapansanan sa paningin na mag-navigate sa kanilang kapaligiran. Inililista ng talahanayan sa ibaba ang pinakamahalagang mga tampok na kinakailangan para sa isang tao na lumipat sa aking aparato.

Tampok - Paglalarawan:

  • Pagkalkula - Kailangang magbigay ang system ng mabilis na pagproseso para sa ipinagpalit na impormasyon sa pagitan ng gumagamit at mga sensor. Halimbawa, kailangang maipaalam ng system sa gumagamit ng mga hadlang sa harap na hindi bababa sa 2m ang layo.
  • Saklaw - Kailangang magbigay ang system ng mga serbisyo nito sa loob at labas ng bahay upang mapabuti ang kalidad ng buhay ng mga taong may kapansanan sa paningin.
  • Oras - Ang sistema ay dapat na gumanap din sa araw tulad ng sa oras ng gabi.
  • Saklaw - Ang saklaw ay ang distansya sa pagitan ng gumagamit at ng bagay na maaaring napansin ng system. Ang perpektong pinakamaliit na saklaw ay 0.5 m, samantalang ang maximum na saklaw ay dapat na higit sa 5 m. Ang karagdagang mga distansya ay magiging mas mahusay ngunit mas mahirap na kalkulahin.
  • Uri ng Bagay - Dapat makita ng system ang biglaang paglitaw ng mga bagay. Dapat masabi ng system ang pagkakaiba sa pagitan ng mga gumagalaw na bagay at mga static na bagay.

Hakbang 4: Pagpipili ng Disenyo ng Kagawaran at Kagamitan

Pagpili ng Disenyo ng Kagawaran at Kagamitan
Pagpili ng Disenyo ng Kagawaran at Kagamitan
Pagpili ng Disenyo ng Kagawaran at Kagamitan
Pagpili ng Disenyo ng Kagawaran at Kagamitan
Pagpili ng Disenyo ng Kagawaran at Kagamitan
Pagpili ng Disenyo ng Kagawaran at Kagamitan

Matapos tingnan ang maraming iba't ibang mga bahagi, nagpasya ako sa mga bahagi na pinili mula sa iba't ibang mga kategorya sa ibaba.

Presyo ng mga piling bahagi:

  • Zungle Panther: $ 149.99
  • LiDAR Lite V3: $ 149.99
  • LV-MaxSonar-EZ1: $ 29.95
  • Ultrasonic Sensor - HC-SR04: $ 3.95
  • Raspberry Pi 3: $ 39.95
  • Arduino: $ 24.95
  • Kinect: $ 32.44
  • Floureon 11.1v 3s 1500mAh: $ 19.99
  • LM2596HV: $ 9.64

Hakbang 5: Pagpili ng Kagamitan: Paraan ng Pakikipag-ugnay

Pagpili ng Kagamitan: Paraan ng Pakikipag-ugnay
Pagpili ng Kagamitan: Paraan ng Pakikipag-ugnay
Pagpili ng Kagamitan: Paraan ng Pakikipag-ugnay
Pagpili ng Kagamitan: Paraan ng Pakikipag-ugnay

Napagpasyahan kong gamitin ang kontrol sa boses bilang pamamaraan upang makipag-ugnay sa aparato dahil ang pagkakaroon ng maraming mga pindutan sa isang tungkod ay maaaring maging mahirap para sa isang taong may kapansanan sa paningin, lalo na kung ang ilang mga pag-andar ay nangangailangan ng isang kumbinasyon ng mga pindutan. Sa kontrol ng boses, maaaring gumamit ang gumagamit ng mga paunang preset na utos upang makipag-usap sa tungkod na binabawasan ang mga potensyal na error.

Device: Mga kalamangan --- Kahinaan:

  • Mga Pindutan: Walang error ng utos kapag ang kanang pindutan ay pinindot --- Maaaring hamon upang matiyak na ang tamang mga pindutan ay pinindot
  • Pagkontrol sa boses: Madali dahil ang gumagamit ay maaaring gumamit ng mga preset na utos --- Maling pagbigkas ay maaaring magdulot ng mga error

Hakbang 6: Pagpili ng Kagamitan: Microcontroller

Pagpili ng Kagamitan: Microcontroller
Pagpili ng Kagamitan: Microcontroller
Pagpili ng Kagamitan: Microcontroller
Pagpili ng Kagamitan: Microcontroller
Pagpili ng Kagamitan: Microcontroller
Pagpili ng Kagamitan: Microcontroller

Ginamit ng aparato ang Raspberry Pi dahil sa mababang gastos at sapat na kapangyarihan sa pagpoproseso upang makalkula ang malalim na mapa. Ang Intel Joule sana ang ginustong pagpipilian ngunit ang presyo nito ay doblehin ang gastos ng system na hindi magiging perpekto sa aparatong ito na binuo upang magbigay ng isang mas mababang pagpipilian ng gastos para sa mga gumagamit. Ang arduino ay ginamit sa system dahil madali itong makakakuha ng impormasyon mula sa mga sensor. Ang BeagleBone at Intel Edison ay hindi ginamit dahil sa mababang presyo sa ratio ng pagganap na masama para sa mababang sistema ng gastos.

Microcontroller: Mga kalamangan --- Kahinaan:

  • Raspberry Pi: Mayroong sapat na kapangyarihan sa pagproseso para sa paghahanap ng mga hadlang at isinama ang WiFi / Bluetooth --- Hindi maraming mga pagpipilian para sa pagtanggap ng data mula sa mga sensor
  • Arduino: Madaling makatanggap ng data mula sa maliliit na sensor. ibig sabihin LIDAR, Ultrasonic, SONAR, atbp --- Hindi sapat ang kapangyarihan sa pagpoproseso para sa paghahanap ng mga hadlang
  • Intel Edison: Maaaring maproseso nang mabilis ang mga hadlang sa mabilis na processor --- Nangangailangan ng karagdagang mga piraso ng developer upang gumana para sa system
  • Intel Joule: Mayroong doble ang bilis ng pagproseso ng alinman sa mga microcontroller sa merkado ng consumer hanggang ngayon --- Napakamahal ng gastos para sa sistemang ito at mahirap makihalubilo sa GPIO para sa pakikipag-ugnay ng sensor
  • BeagleBone Itim: Compact at katugma sa mga sensor na ginamit sa proyekto sa pamamagitan ng paggamit ng Pangkalahatang Layunin Input Output (GPIO) --- Walang sapat na kapangyarihan sa pagproseso upang mabisang makahanap ng mga bagay

Hakbang 7: Pagpili ng Kagamitan: Mga Sensor

Pagpili ng Kagamitan: Mga Sensor
Pagpili ng Kagamitan: Mga Sensor
Pagpili ng Kagamitan: Mga Sensor
Pagpili ng Kagamitan: Mga Sensor
Pagpili ng Kagamitan: Mga Sensor
Pagpili ng Kagamitan: Mga Sensor

Ang isang kumbinasyon ng maraming mga sensor ay ginagamit upang makakuha ng mataas na kawastuhan ng lokasyon. Ang Kinect ang pangunahing sensor dahil sa dami ng lugar na maaari nitong i-scan ang mga hadlang sa isang pagkakataon. Ang LIDAR na kumakatawan sa LItuo Detection at Ranging, ay isang pamamaraang remote sensing na gumagamit ng ilaw sa anyo ng isang pulsed laser upang sukatin ang mga distansya mula sa kung saan ang sensor ay sa mga bagay na mabilis; ginamit ang sensor na iyon sapagkat maaari itong subaybayan ang isang lugar hanggang sa 40 metro (m) ang layo at dahil maaari itong mag-scan sa iba't ibang mga anggulo, maaari itong makita kung ang anumang mga hakbang ay paakyat o pababa. Ang SOund Navigation And Ranging (SONAR) at Ultrasonic sensor ay ginagamit bilang backup na pagsubaybay sa kaganapan na kinalampasan ng Kinect ang isang poste o paga sa lupa na maaaring magdulot ng isang panganib sa gumagamit. Ginagamit ang 9 Degree of Freedom Sensor para sa pagsubaybay kung anong direksyon ang kinakaharap ng gumagamit upang maimbak ng aparato ang impormasyon para sa mas mataas na kawastuhan na pagdidirekta sa susunod na ang tao ay lumakad sa parehong lugar.

Mga Sensor: Mga kalamangan --- Kahinaan:

  • Kinect V1: Maaaring subaybayan ang mga 3D na bagay gamit ang --- Isang camera lamang ang makakakita ng paligid
  • Kinect V2: Mayroong 3 infrared camera at isang Red, Green, Blue, Lalim (RGB-D) camera para sa detalyadong detalyeng 3D object detection --- Maaaring magpainit at maaaring mangailangan ng isang cool na fan, at mas malaki kaysa sa iba pang mga sensor
  • LIDAR: Beam na maaaring subaybayan ang mga lokasyon hanggang sa 40 m ang layo --- Kailangan na nakaposisyon patungo sa object at maaari lamang tumingin sa direksyong iyon
  • Sonar: Beam na maaaring subaybayan ang 5 m ang layo ngunit sa isang malayo na saklaw --- Ang maliliit na mga bagay tulad ng mga balahibo ay maaaring magpalitaw ng sensor
  • Ultrasonic: Mayroong isang saklaw ng hanggang sa 3 m at napaka-mura --- Puwedeng hindi tumpak ang mga distansya paminsan-minsan
  • 9 Mga Degree ng Freedom Sensor: Mabuti para sa pang-orient ng oryentasyon at bilis ng gumagamit --- Kung ang anumang nakakagambala sa mga sensor, ang mga kalkulasyon sa distansya ay maaaring maling makalkula

Hakbang 8: Pagpili ng Kagamitan: Software

Pagpili ng Kagamitan: Software
Pagpili ng Kagamitan: Software
Pagpili ng Kagamitan: Software
Pagpili ng Kagamitan: Software
Pagpili ng Kagamitan: Software
Pagpili ng Kagamitan: Software

Ang napiling software para sa unang ilang mga prototype na binuo gamit ang sensor ng Kinect V1 ay Freenect ngunit hindi ito gaanong tumpak. Kapag lumilipat sa Kinect V2 at Freenect2, ang mga resulta sa pagsubaybay ay napabuti dahil sa pinabuting pagsubaybay dahil ang V2 ay may isang HD camera at 3 infrared camera na taliwas sa isang solong camera sa Kinect V1. Kapag gumagamit ako ng OpenNi2 gamit ang Kinect V1, limitado ang mga pagpapaandar at hindi ko makontrol ang ilan sa mga pagpapaandar ng aparato.

Software: Mga kalamangan --- Kahinaan:

  • Freenect: Mayroong isang mas mababang antas ng kontrol para sa pagkontrol sa lahat --- Sinusuportahan lamang ang Kinect V1
  • OpenNi2: Madaling makakalikha ng point cloud data mula sa stream ng impormasyon mula sa Kinect --- Sinusuportahan lamang ang Kinect V1 at walang suporta para sa mababang antas ng kontrol
  • Freenect2: Mayroong isang mas mababang antas ng kontrol para sa sensor bar --- Gumagana lamang para sa Kinect V2
  • ROS: Perpekto ang operating system para sa pag-andar ng camera camera --- Kailangang mai-install sa isang mabilis na SD card upang gumana ang software

Hakbang 9: Pagpili ng Kagamitan: Iba Pang Mga Bahagi

Pagpili ng Kagamitan: Iba Pang Mga Bahagi
Pagpili ng Kagamitan: Iba Pang Mga Bahagi
Pagpili ng Kagamitan: Iba Pang Mga Bahagi
Pagpili ng Kagamitan: Iba Pang Mga Bahagi

Ang mga baterya ng Lithium Ion ay napili dahil sa pagiging magaan, pagkakaroon ng isang mataas na kapasidad sa kuryente, at pagiging rechargeable. Ang variant ng 18650 ng baterya ng lithium ion ay may isang cylindrical na hugis at ganap na umaangkop sa prototype ng tungkod. Ang 1st prototype cane ay gawa sa pipa ng PVC sapagkat ito ay guwang at binabawasan ang bigat ng tungkod.

Hakbang 10: Pag-unlad ng System: Paglikha ng Bahagi ng Hardware 1

Pag-unlad ng System: Paglikha ng Bahagi ng Hardware 1
Pag-unlad ng System: Paglikha ng Bahagi ng Hardware 1
Pag-unlad ng System: Paglikha ng Bahagi ng Hardware 1
Pag-unlad ng System: Paglikha ng Bahagi ng Hardware 1
Pag-unlad ng System: Paglikha ng Bahagi ng Hardware 1
Pag-unlad ng System: Paglikha ng Bahagi ng Hardware 1

Una kailangan naming i-disassemble ang Kinect upang mas magaan ito at upang magkasya ito sa loob ng tungkod. Nagsimula ako sa pamamagitan ng pag-alis ng lahat ng panlabas na pambalot mula sa Kinect habang ang ginamit na plastik ay bigat ng LOT. Pagkatapos ay kailangan kong putulin ang cable upang maalis ang base. Kinuha ko ang mga wire mula sa konektor na ipinakita sa larawan at na-solder ang mga ito sa isang usb cable na may signal wires at ang dalawa pang koneksyon ay para sa 12V input power. Dahil gusto ko ang tagahanga sa loob ng tungkod na tumatakbo sa buong lakas upang palamig ang lahat ng iba pang mga bahagi, pinutol ko ang konektor mula sa fan mula sa Kinect at nag-wire ng 5V mula sa Raspberry Pi. Gumawa rin ako ng isang maliit na adapter para sa LiDAR wire upang maaari itong direktang kumonekta sa Raspberry Pi nang walang anumang iba pang mga system sa pagitan.

Hindi sinasadyang na-solder ko ang puting kawad sa itim kaya huwag tumingin sa mga imahe para sa mga diagram ng mga kable

Hakbang 11: Pag-unlad ng System: Paglikha ng Bahagi ng Hardware 2

Pag-unlad ng System: Paglikha ng Bahagi ng Hardware 2
Pag-unlad ng System: Paglikha ng Bahagi ng Hardware 2
Pag-unlad ng System: Paglikha ng Bahagi ng Hardware 2
Pag-unlad ng System: Paglikha ng Bahagi ng Hardware 2
Pag-unlad ng System: Paglikha ng Bahagi ng Hardware 2
Pag-unlad ng System: Paglikha ng Bahagi ng Hardware 2
Pag-unlad ng System: Paglikha ng Bahagi ng Hardware 2
Pag-unlad ng System: Paglikha ng Bahagi ng Hardware 2

Lumikha ako ng isang piraso ng regulator upang magbigay ng lakas sa lahat ng mga aparato na nangangailangan ng 5V tulad ng Raspberry Pi. Inayos ko ang regulator sa pamamagitan ng paglalagay ng isang metro sa output at pag-aayos ng risistor upang ang regulator ay magbigay ng 5.05V. Inilagay ko ito nang medyo mas mataas kaysa sa 5V dahil sa paglipas ng panahon, bumababa ang boltahe ng baterya at bahagyang nakakaapekto sa boltahe ng output. Gumawa rin ako ng isang adapter na nagbibigay-daan sa akin upang paandarin ang hanggang sa 5 mga aparato na nangangailangan ng 12V mula sa baterya.

Hakbang 12: Pag-unlad ng System: Programming ang System Bahagi 1

Pag-unlad ng System: Programming ang System Bahagi 1
Pag-unlad ng System: Programming ang System Bahagi 1
Pag-unlad ng System: Programming ang System Bahagi 1
Pag-unlad ng System: Programming ang System Bahagi 1
Pag-unlad ng System: Programming ang System Bahagi 1
Pag-unlad ng System: Programming ang System Bahagi 1

Ang isa sa mga pinaka-mapaghamong bahagi ng sistemang ito ay ang programa. Noong una kong nakuha ang Kinect upang maglaro dito, nag-install ako ng isang programa na tinatawag na RTAB Map na kumukuha ng data stream mula sa Kinect at binago ito sa isang point cloud. Gamit ang point cloud, lumikha ito ng isang 3D na imahe na maaaring paikutin upang makita ang lalim kung nasaan ang lahat ng mga object. Matapos maglaro sandali dito at ayusin ang lahat ng mga setting, nagpasya akong mag-install ng ilang software sa Raspberry Pi upang payagan akong makita ang data stream mula sa Kinect. Ang huling dalawang mga imahe sa itaas ay nagpapakita kung ano ang maaaring gawin ng Raspberry Pi sa halos 15-20 mga frame bawat segundo.

Inirerekumendang: