Satura rādītājs:

Datoru redzamības ratiņkrēsls ar manekenu: 6 soļi (ar attēliem)
Datoru redzamības ratiņkrēsls ar manekenu: 6 soļi (ar attēliem)

Video: Datoru redzamības ratiņkrēsls ar manekenu: 6 soļi (ar attēliem)

Video: Datoru redzamības ratiņkrēsls ar manekenu: 6 soļi (ar attēliem)
Video: Kā izveidot eParaksts mobile ar eID karti 2024, Jūlijs
Anonim
Image
Image
Datoru redzes kontrolēts ratiņkrēsls ar manekenu
Datoru redzes kontrolēts ratiņkrēsls ar manekenu
Datoru redzes kontrolēts ratiņkrēsls ar manekenu
Datoru redzes kontrolēts ratiņkrēsls ar manekenu

AJ Sapala, Fanyun Peng, Kuldeep Gohel, Ray LC projekts. Instruktējams AJ Sapala, Fanyun Peng, Ray LC.

Mēs izveidojām ratiņkrēslu ar riteņiem, kurus kontrolē Arduino dēlis, ko savukārt kontrolē aveņu pi, kas darbojas openCV, izmantojot Processing. Kad atklājam sejas openCV, mēs virzām motorus uz to, pagriežot ratiņkrēslu tā, lai tas būtu vērsts pret cilvēku, un manekens (caur muti) uzņems ļoti biedējošu attēlu un dalīsies tajā ar pasauli. Tas ir ļauns.

1. solis: ratiņkrēsla dizains, prototips un shēmas

Ratiņkrēsla dizains, prototips un shēmas
Ratiņkrēsla dizains, prototips un shēmas
Ratiņkrēsla dizains, prototips un shēmas
Ratiņkrēsla dizains, prototips un shēmas
Ratiņkrēsla dizains, prototips un shēmas
Ratiņkrēsla dizains, prototips un shēmas
Ratiņkrēsla dizains, prototips un shēmas
Ratiņkrēsla dizains, prototips un shēmas

Sākotnējā koncepcija balstījās uz domu, ka pārvietojams gabals varēs izspiegot nenojaušamos klasesbiedrus un uzņemt viņus neglītas bildes. Mēs vēlējāmies spēt nobiedēt cilvēkus, virzoties viņiem pretī, lai gan neparedzējām, ka motora mehāniskās problēmas būs tik sarežģītas. Mēs izskatījām iezīmes, kas padarītu gabalu pēc iespējas saistošāku (ļaunā veidā), un nolēmām īstenot manekenu uz ratiņkrēsla, kas var virzīties uz cilvēkiem, izmantojot datora redzi. Rezultāta prototipu AJ izgatavoja no koka un papīra, bet Rejs un Rebeka lika OpenCV darboties ar aveņu pi, pārliecinoties, ka sejas var ticami noteikt.

2. darbība: materiāli un iestatīšana

Materiāli un uzstādīšana
Materiāli un uzstādīšana
Materiāli un uzstādīšana
Materiāli un uzstādīšana
Materiāli un uzstādīšana
Materiāli un uzstādīšana

1x ratiņkrēsls (https://www.amazon.com/Medline-Lightweight-Transpo…

2x motorolleru motori

2x Cytron motoru plates

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

1x aveņu pi 3 (https://www.amazon.com/Raspberry-Pi-RASPBERRYPI3-M…

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

1x 12V uzlādējams akumulators

saplāksnis

L-kronšteini

gumijas grīdas segums

3. solis: motora piestiprināšana pie ratiņkrēsla un manekena galvas

Motora un ratiņkrēsla stiprinājuma un manekena galvas izgatavošana
Motora un ratiņkrēsla stiprinājuma un manekena galvas izgatavošana
Motora un ratiņkrēsla stiprinājuma un manekena galvas izgatavošana
Motora un ratiņkrēsla stiprinājuma un manekena galvas izgatavošana
Motora un ratiņkrēsla stiprinājuma un manekena galvas izgatavošana
Motora un ratiņkrēsla stiprinājuma un manekena galvas izgatavošana
Motora un ratiņkrēsla stiprinājuma un manekena galvas izgatavošana
Motora un ratiņkrēsla stiprinājuma un manekena galvas izgatavošana

AJ izgatavoja aparātu, kas piestiprina motorollera motorus (2) ratiņkrēsla apakšai, un piestiprināja piķa kronšteinu pie speciāli izgatavotas gumijas zobsiksnas. Katrs motors ir uzstādīts atsevišķi un ir piestiprināts pie atbilstošā riteņa. Divi riteņi, divi motori. Motori pēc tam tiek baroti ar jaudu un zemēti caur divām Cytron motoru plāksnēm līdz Arduino (1) līdz Raspberry Pi (1), visi elementi tiek darbināti ar 12 voltu uzlādējamu akumulatoru (1). Motora aparāti tika izveidoti, izmantojot saplāksni, L veida kronšteinus, kvadrātiekavas un koka stiprinājumus. Izveidojot koka stiprinājumu ap faktisko motoru, motora uzstādīšana vietā ratiņkrēsla apakšā bija daudz vieglāka, un to varēja pārvietot, lai pievilktu zobsiksnu. Motora aparāti tika uzstādīti, urbjot cauri ratiņkrēsla metāla rāmi un pieskrūvējot koku pie rāmja ar L veida kronšteiniem.

Zobsiksnas tika izgatavotas no gumijas grīdas. Gumijas grīdai jau bija izveidots piķis, kas pēc izmēra bija līdzīgs motoru griešanās kronšteinam. Katrs gabals tika apgriezts platumā, kas darbojas ar motoru griešanās kronšteinu. Katrs sagrieztais gumijas gabals tika sapludināts kopā, izveidojot “jostu”, slīpējot vienu galu un pretējo galu un pieslēdzot nelielu daudzumu baržas līmes savienošanai. Barža ir ļoti bīstama, un, lietojot to, jums jāvalkā maska, kā arī jāizmanto ventilācija. Es izveidoju vairākas zobsiksnas izmēru šķirnes: īpaši stingras, stingras, mērenas. Pēc tam josta bija jāpievieno ritenim. Ritenim uz pamatnes ir neliels virsmas laukums, kas pievienots jostai. Šo mazo telpu palielināja kartona cilindrs ar zobsiksnas gumiju, kas karsti pielīmēta pie tās virsmas. Tādā veidā zobsiksna varētu satvert riteni, lai palīdzētu tam griezties sinhronizācijā ar rotējošā motorollera motoru.

AJ arī izveidoja fiktīvu galvu, kas integrē Raspberry Pi kameras moduli. Rejs izmantoja fiktīvo galvu un manekena mutes rajonā uzstādīja Pi kameru un tāfeli. USB un HDMI saskarnēm tika izveidoti sloti, un kameras stabilizēšanai tiek izmantots koka stienis. Kamera ir uzstādīta uz pielāgota 3D drukāta gabala, kuram ir stiprinājums 1/4-20 skrūvēm. Fails ir pievienots (Rejs no Thingaverse pieņēmis piemērotībai). AJ izveidoja galvu, izmantojot kartonu, līmlenti un blondu parūku ar marķieriem. Visi elementi joprojām ir prototipa stadijā. Manekena galva tika piestiprināta pie manekena sievietes ķermeņa un ievietota ratiņkrēsla sēdeklī. Galva tika piestiprināta pie manekena, izmantojot kartona stieni.

4. solis: koda rakstīšana un kalibrēšana

Koda rakstīšana un kalibrēšana
Koda rakstīšana un kalibrēšana
Koda rakstīšana un kalibrēšana
Koda rakstīšana un kalibrēšana

Rebeka un Rejs vispirms mēģināja instalēt openCV tieši raspi ar python (https://pythonprogramming.net/raspberry-pi-camera- … tomēr šķiet, ka tas nedarbojas tiešraidē. Galu galā pēc daudziem mēģinājumiem instalēt openCV, izmantojot python, un neizdodas, mēs nolēmām sākt apstrādi uz pi, jo openCV bibliotēka apstrādē darbojas diezgan labi. Skatiet vietni https://github.com/processing/processing/wiki/Rasp … Ņemiet vērā arī to, ka tā darbojas ar GPIO portiem, kurus pēc tam varam izmantot kontrolēt arduino, izmantojot seriālo komunikāciju.

Rejs uzrakstīja datora redzes kodu, kas paļaujas uz sejas noteikšanai pievienoto xml failu. Būtībā tas redz, vai sejas taisnstūra centrs atrodas pa labi vai pa kreisi no centra, un pārvieto motorus pretējos virzienos, lai pagrieztu krēslu uz sejas. Ja seja ir pietiekami tuvu, motori tiek apturēti, lai uzņemtu attēlu. Ja sejas netiek atklātas, mēs arī apstājamies, lai neradītu liekus ievainojumus (varat mainīt šo funkcionalitāti, ja uzskatāt, ka tā nav pietiekami ļauna).

Rebeka uzrakstīja Arduino kodu saskarnei ar motora paneli, izmantojot sērijas sakarus ar apstrādi uz pi. Svarīgas atslēgas ir USB seriālā porta ACM0 atvēršana Arduino un aveņu pi savienošana ar Arduino, izmantojot USB kabeli. Savienojiet Arduino ar līdzstrāvas motora draiveri, lai kontrolētu motora ātrumu un virzienu, nosūtot virziena un ātruma komandas no aveņu pi uz Arduino. Būtībā Reja apstrādes kods norāda motoram ātrumu, kurā jāiet, kamēr Arduino pareizi uzminē komandas ilgumu.

5. solis: integrējiet ratiņkrēslu, manekenu, kodu un testu

Image
Image
Integrējiet ratiņkrēslu, manekenu un kodu un testu
Integrējiet ratiņkrēslu, manekenu un kodu un testu
Integrējiet ratiņkrēslu, manekenu un kodu un testu
Integrējiet ratiņkrēslu, manekenu un kodu un testu

Saliekot visas detaļas, mēs atklājām, ka galvenais jautājums bija motora savienojums ar ratiņkrēsla riteņiem, jo zobsiksnas bieži noslīdēja. Abi motori tika uzstādīti kopā ar

ratiņkrēsls otrādi, lai atvieglotu uzstādīšanu. Abi motori darbojās labi, kamēr tie bija pievienoti 12 voltu akumulatora avotam. Kad pats ratiņkrēsls tika pagriezts vertikāli, motoriem bija grūtības pārvietot krēslu atpakaļ un uz priekšu paša krēsla svara dēļ. Mēs izmēģinājām tādas lietas kā zobsiksnas platuma maiņa, tapu pievienošana jostas sāniem un palielināts dzinējspēks, taču neviens nedarbojās droši. Tomēr mēs varējām skaidri parādīt, kad sejas atrodas katrā krēsla pusē, motori kustēsies atbilstošā pretējā virzienā, pateicoties sejas noteikšanai ar aveņu pi, tāpēc apstrādes un Arduino kodi darbojas kā paredzēts, un motorus var atbilstoši kontrolēt. Nākamie soļi ir izveidot stabilāku veidu, kā vadīt krēsla riteņus un padarīt manekenu stabilu.

6. solis: Izbaudiet savu jauno ļauno manekenu-ratiņkrēslu

Izbaudiet savu jauno ļauno manekenu-ratiņkrēslu
Izbaudiet savu jauno ļauno manekenu-ratiņkrēslu
Izbaudiet savu jauno ļauno manekenu-ratiņkrēslu
Izbaudiet savu jauno ļauno manekenu-ratiņkrēslu
Izbaudiet savu jauno ļauno manekenu-ratiņkrēslu
Izbaudiet savu jauno ļauno manekenu-ratiņkrēslu
Izbaudiet savu jauno ļauno manekenu-ratiņkrēslu
Izbaudiet savu jauno ļauno manekenu-ratiņkrēslu

Mēs daudz uzzinājām par motoru un vadītāju ražošanu. Mums izdevās palaist sejas noteikšanu nelielā mašīnā ar aveņu kauliņu. Mēs sapratām, kā vadīt motorus ar motoru plāksnēm un kā darbojas dzinēju jauda. Mēs izgatavojām dažus foršus manekenus, figūras un prototipus un pat iebāzām kameru mutē. Mums bija jautri kā komandai, kas izsmēja citus cilvēkus. Tā bija atalgojoša pieredze.

Ieteicams: