Turinys:

Kompiuterio regėjimo valdomas neįgaliųjų vežimėlis su manekenu: 6 žingsniai (su nuotraukomis)
Kompiuterio regėjimo valdomas neįgaliųjų vežimėlis su manekenu: 6 žingsniai (su nuotraukomis)

Video: Kompiuterio regėjimo valdomas neįgaliųjų vežimėlis su manekenu: 6 žingsniai (su nuotraukomis)

Video: Kompiuterio regėjimo valdomas neįgaliųjų vežimėlis su manekenu: 6 žingsniai (su nuotraukomis)
Video: Interneto svetainių ir mobiliųjų programų prieinamumas regėjimo neįgaliesiems 2024, Liepa
Anonim
Image
Image
Kompiuterinis regėjimas valdomas vežimėlis su manekene
Kompiuterinis regėjimas valdomas vežimėlis su manekene
Kompiuterinis regėjimas valdomas vežimėlis su manekene
Kompiuterinis regėjimas valdomas vežimėlis su manekene

AJ Sapala, Fanyun Peng, Kuldeep Gohel, Ray LC projektas. Instruktuojamas AJ Sapala, Fanyun Peng, Ray LC.

Mes sukūrėme neįgaliųjų vežimėlį su ratais, valdomais „Arduino“lenta, kurią savo ruožtu valdo aviečių pi, veikianti „openCV“per „Processing“. Aptikę veidus „openCV“, mes judame variklius link jo, sukdami vežimėlį taip, kad jis atsigręžtų į žmogų, o manekenas (per burną) padarys labai baisų vaizdą ir pasidalys juo su pasauliu. Tai yra blogis.

1 žingsnis: Vežimėlio dizainas, prototipas ir schemos

Vežimėlio dizainas, prototipas ir schemos
Vežimėlio dizainas, prototipas ir schemos
Vežimėlio dizainas, prototipas ir schemos
Vežimėlio dizainas, prototipas ir schemos
Vežimėlio dizainas, prototipas ir schemos
Vežimėlio dizainas, prototipas ir schemos
Vežimėlio dizainas, prototipas ir schemos
Vežimėlio dizainas, prototipas ir schemos

Pradinė koncepcija buvo paremta idėja, kad kilnojamasis kūrinys galės šnipinėti nieko neįtariančius klasės draugus ir nufotografuoti juos. Norėjome, kad galėtume išgąsdinti žmones judėdami link jų, nors nesitikėjome, kad variklio mechaninės problemos bus tokios sunkios. Mes apsvarstėme ypatybes, dėl kurių kūrinys būtų kuo patrauklesnis (blogiu būdu), ir nusprendėme įdiegti manekeną ant vežimėlio, kuris gali judėti link žmonių, kurie naudojasi kompiuteriu. Rezultato prototipą AJ pagamino iš medžio ir popieriaus, o Ray ir Rebecca privertė „OpenCV“veikti su aviečių pi, kad būtų galima patikimai aptikti veidus.

2 žingsnis: medžiagos ir sąranka

Medžiagos ir sąranka
Medžiagos ir sąranka
Medžiagos ir sąranka
Medžiagos ir sąranka
Medžiagos ir sąranka
Medžiagos ir sąranka

1x vežimėlis (https://www.amazon.com/Medline-Lightweight-Transpo…

2x motorolerių varikliai

2x „Cytron“variklio plokštės

1x arduino UNO R3 (https://www.amazon.com/Arduino-Uno-R3-Microcontrol…

1x aviečių pi 3 (https://www.amazon.com/Raspberry-Pi-RASPBERRYPI3-M…

1x raspberry pi kamera v2 (https://www.amazon.com/Raspberry-Pi-Camera-Module-…

1x 12V įkraunama baterija

fanera

L formos skliausteliuose

guminės grindys

3 žingsnis: variklio tvirtinimas prie vežimėlio ir manekeno galvutė

Variklio tvirtinimas prie vežimėlio ir manekeno galvutė
Variklio tvirtinimas prie vežimėlio ir manekeno galvutė
Variklio tvirtinimas prie vežimėlio ir manekeno galvutė
Variklio tvirtinimas prie vežimėlio ir manekeno galvutė
Variklio tvirtinimas prie vežimėlio ir manekeno galvutė
Variklio tvirtinimas prie vežimėlio ir manekeno galvutė
Variklio tvirtinimas prie vežimėlio ir manekeno galvutė
Variklio tvirtinimas prie vežimėlio ir manekeno galvutė

AJ pagamino aparatą, kuriuo motorolerio varikliai (2) pritvirtinami prie vežimėlio kėdės apačios, ir tvirtinamas laikiklis prie specialiai pagaminto guminio paskirstymo diržo. Kiekvienas variklis sumontuotas atskirai ir pritvirtintas prie atitinkamo rato. Du ratai, du varikliai. Tada varikliai maitinami ir maitinami per dvi „Cytron“variklių plokštes į „Arduino“(1) iki „Raspberry Pi“(1), visi elementai maitinami 12 voltų įkraunama baterija (1). Variklio aparatai buvo sukurti naudojant fanerą, L formos skliaustus, kvadratinius laikiklius ir medines tvirtinimo detales. Sukūrus medinį petnešą aplink tikrąjį variklį, buvo daug lengviau sumontuoti variklį vietoje vežimėlio apačioje ir jį buvo galima perkelti, kad priveržtų paskirstymo diržą. Variklio aparatai buvo sumontuoti gręžiant metalinį vežimėlio rėmą ir priveržiant medieną prie rėmo L formos skliausteliais.

Paskirstymo diržai buvo pagaminti iš guminių grindų. Guminių grindų danga jau buvo pagaminta taip, kad variklių sukimosi laikiklis būtų panašaus dydžio. Kiekvienas gabalas buvo apipjaustytas tokiu pločiu, kuris veikia su variklių sukimosi laikikliu. Kiekvienas supjaustytas gumos gabalas buvo sujungtas kartu, sukuriant „diržą“, šlifuojant vieną ir kitą galą bei sujungiant nedidelį kiekį baržos klijų. Barža yra labai pavojinga, todėl ją naudodami turite dėvėti kaukę, taip pat naudoti ventiliaciją. Aš sukūriau keletą paskirstymo diržo dydžių veislių: labai tvirtas, tvirtas, vidutinio sunkumo. Tada diržą reikėjo prijungti prie rato. Pats ratas turi nedidelį paviršiaus plotą ant pagrindo kartu su diržu. Šią nedidelę erdvę padidino kartoninis cilindras, prie kurio paviršiaus karštai priklijuota paskirstymo diržo guma. Tokiu būdu paskirstymo diržas galėtų patraukti ratą, kad jis suktųsi sinchroniškai su besisukančio motorolerio varikliu.

AJ taip pat sukūrė manekeno galvutę, kurioje integruotas „Raspberry Pi“kameros modulis. Ray panaudojo manekeno galvutę ir įdėjo „Pi“kamerą bei plokštę į manekeno burnos sritį. USB ir HDMI sąsajoms buvo sukurti lizdai, o fotoaparatui stabilizuoti naudojamas medinis strypas. Fotoaparatas sumontuotas ant pasirinktinio 3D spausdinto elemento, kuriame yra 1/4-20 varžtų priedas. Failas pridedamas (Ray patvirtino, kad tinka „Thingaverse“). AJ sukūrė galvą iš kartono, lipnios juostos ir šviesaus peruko su žymekliais. Visi elementai vis dar yra prototipo stadijoje. Manekeno galva buvo pritvirtinta prie manekenės kūno ir padėta neįgaliojo vežimėlio sėdynėje. Galva buvo pritvirtinta prie manekeno naudojant kartoninį strypą.

4 žingsnis: kodo rašymas ir kalibravimas

Kodo rašymas ir kalibravimas
Kodo rašymas ir kalibravimas
Kodo rašymas ir kalibravimas
Kodo rašymas ir kalibravimas

Rebecca ir Ray pirmą kartą bandė įdiegti „openCV“tiesiai į raspi su „python“(https://pythonprogramming.net/raspberry-pi-camera-…, tačiau neatrodo, kad ji veiktų tiesiogiai. Galų gale po daugelio bandymų įdiegti „openCV“naudojant „python“ir nepavykus, nusprendėme pradėti apdoroti „pi“, nes „OpenCV“biblioteka „Processing“veikia gana gerai. Žr. https://github.com/processing/processing/wiki/Rasp … valdyti arduino naudojant serijinį ryšį.

Ray parašė kompiuterio vizijos kodą, kuris remiasi veidų aptikimui pridėtu xml failu. Iš esmės jis mato, ar veido stačiakampio centras yra į dešinę arba į kairę nuo centro, ir perkelia variklius priešingomis kryptimis, kad pasuktų kėdę į veidą. Jei veidas yra pakankamai arti, varikliai sustabdomi fotografuoti. Jei veidų neaptinkama, mes taip pat sustojame, kad nesukeltume nereikalingų sužalojimų (galite pakeisti šią funkciją, jei manote, kad tai nėra pakankamai blogai).

Rebecca parašė „Arduino“kodą prie sąsajos su variklio plokšte, naudodama serijinį ryšį su apdorojimu pi. Svarbūs raktai yra USB serijinio prievado ACM0 atidarymas prie „Arduino“ir aviečių pi prijungimas prie „Arduino“per USB kabelį. Prijunkite „Arduino“su nuolatinės srovės variklio tvarkykle, kad galėtumėte valdyti variklio greitį ir kryptį, siunčiant krypties ir greičio komandas iš aviečių pi į „Arduino“. Iš esmės „Ray“apdorojimo kodas nurodo varikliui greitį, o „Arduino“teisingai atspėja komandos trukmę.

5 žingsnis: integruokite neįgaliųjų vežimėlį, manekeną, kodą ir testą

Image
Image
Integruokite neįgaliųjų vežimėlį, manekeną ir kodą bei testą
Integruokite neįgaliųjų vežimėlį, manekeną ir kodą bei testą
Integruokite neįgaliųjų vežimėlį, manekeną ir kodą bei testą
Integruokite neįgaliųjų vežimėlį, manekeną ir kodą bei testą

Sujungę visas dalis, mes nustatėme, kad pagrindinė problema buvo variklio prijungimas prie vežimėlio ratų, nes paskirstymo diržai dažnai nuslydo. Abu varikliai buvo sumontuoti su

vežimėlis aukštyn kojom, kad būtų lengviau sumontuoti. Abu varikliai gerai veikė, kai buvo prijungti prie 12 voltų akumuliatoriaus šaltinio. Kai pats vežimėlis buvo apverstas vertikaliai, varikliams buvo sunku perkelti kėdę atgal ir į priekį dėl pačios kėdės svorio. Mes išbandėme tokius dalykus kaip paskirstymo diržo pločio keitimas, kaiščių pridėjimas prie diržo šonų ir varomosios jėgos didinimas, tačiau nė vienas neveikė patikimai. Tačiau mums pavyko aiškiai parodyti, kai veidai yra kiekvienoje kėdės pusėje, varikliai judės atitinkama priešinga kryptimi dėl veido aptikimo su aviečių pi, todėl apdorojimo ir „Arduino“kodai veikia taip, kaip numatyta, ir varikliai gali būti tinkamai valdomi. Kiti veiksmai yra tvirtesnis būdas vairuoti kėdės ratus ir padaryti manekeną stabilią.

6 žingsnis: mėgaukitės nauju blogiu manekenu-vežimėliu

Mėgaukitės savo nauju blogiu manekenu-vežimėliu
Mėgaukitės savo nauju blogiu manekenu-vežimėliu
Mėgaukitės savo nauju blogiu manekenu-vežimėliu
Mėgaukitės savo nauju blogiu manekenu-vežimėliu
Mėgaukitės savo nauju blogiu manekenu-vežimėliu
Mėgaukitės savo nauju blogiu manekenu-vežimėliu
Mėgaukitės savo nauju blogiu manekenu-vežimėliu
Mėgaukitės savo nauju blogiu manekenu-vežimėliu

Mes daug sužinojome apie variklių ir vairuotojų gamybą. Mums pavyko paleisti veido aptikimą mažoje mašinoje su aviečių duobe. Mes supratome, kaip valdyti variklius su variklių plokštėmis ir kaip veikia variklių galia. Mes padarėme keletą šaunių manekenų, figūrų ir prototipų ir netgi įdėjome fotoaparatą į burną. Mums buvo smagu kaip komandai, besišaipančiai iš kitų žmonių. Tai buvo naudinga patirtis.

Rekomenduojamas: