Satura rādītājs:

Raspberry Pi lāzera skeneris: 9 soļi (ar attēliem)
Raspberry Pi lāzera skeneris: 9 soļi (ar attēliem)

Video: Raspberry Pi lāzera skeneris: 9 soļi (ar attēliem)

Video: Raspberry Pi lāzera skeneris: 9 soļi (ar attēliem)
Video: Штукатурка стен - самое полное видео! Переделка хрущевки от А до Я. #5 2024, Jūlijs
Anonim
Image
Image
Raspberry Pi lāzera skeneris
Raspberry Pi lāzera skeneris

Lāzera skeneris ir Raspberry Pi iegultās sistēmas ierīce, kas, izmantojot 3D drukāšanu, spēj digitalizēt objektus.obj tīkla failos, lai tos reproducētu. Ierīce to dara, izmantojot datora redzi, izmantojot līnijas lāzeru un integrētu PiCam. Lāzers ir novietots 45 grādu leņķī no lāzera un projicē spilgti sarkanu līniju uz vienas vertikālās objekta šķēles. Kamera nosaka šķēles attālumu no centra, lai iegūtu acu šķēli. Objekts tiek savērpts uz rotējošās paplātes un process tiek atkārtots, līdz tiek skenēts viss objekts. Ģenerētais.obj fails beidzot tiek nosūtīts lietotājam pa e -pastu, padarot sistēmu pilnībā atsevišķu un iegultu.

Šajā pamācībā tiks apskatīta ierīces uzbūve, daži rezultāti un turpmākās darbības.

1. solis: iedvesma

Iedvesma
Iedvesma
Iedvesma
Iedvesma

Kā dedzīgs veidotājs es jau vairākus gadus nodarbojos ar 3D drukāšanu un stabilu modelēšanu. Esmu strādājis ar daudziem dažādiem prototipēšanas rīkiem, sākot no CNC maršrutētājiem līdz lāzergriezējiem un beidzot ar 3D printeriem. Viena ierīce, ko mana vietējā ražotāja vēl nav iegādājusies, ir 3D skeneris - un es varu pateikt, kāpēc to darīt.

Lētākie (daži simti dolāru) bija neuzticami, tiem bija nepieciešami perfekti apstākļi, un tie joprojām deva diezgan nobružātus rezultātus. Dārgie bija … labi, dārgi, sasniedzot vairākus tūkstošus dolāru, tāpēc daudzos gadījumos tā funkcija nebija tā vērta. Turklāt vairāk nekā parasti es izvēlos veikt mērījumus un izstrādāt modeli no nulles, nevis nodarboties ar skenēšanas rezultātā radīto virsmas tīklu.

Šī iemesla dēļ es vēlējos izveidot budžeta atsevišķu skeneri, lai redzētu, cik labi es varu skenēt objektu, izmantojot plaukta komponentus.

Pēc dažu pētījumu veikšanas es redzēju, ka daudzi 3D skeneri izmanto rotējošu platformu un pēc tam dažādus sensorus, lai izmērītu attālumu no centra, lai izveidotu rotācijas modeli. Daudzi no tiem izmantoja dubultās kameras, kas līdzīgas Kinect kamerai. Galu galā es uzdūros Yscanner, kas ir zemas izšķirtspējas skeneris, izmantojot lāzeru. Raugoties uz vienkāršību un iespējamību, šī lāzera tehnika, kurā lāzers tiek spīdēts nobīdīts attiecībā pret kameru, lai izmērītu attālumu no centra, izskatījās kā skaidrs ceļš uz priekšu.

2. darbība: rīki un detaļas

Daļas:

  • Raspberry Pi 35,00 USD
  • Raspberry Pi kamera V2 30,00 USD
  • Gaismas diodes, rezistori un vadi
  • 3D drukas kvēldiegs
  • 12x12x0,125 koka loksnes
  • M3 aparatūra
  • Soļu motors - 14 ASV dolāri
  • Līnijas lāzers - 8 ASV dolāri
  • LN298 pakāpju motoru draiveri - 2,65 ASV dolāri
  • Metāla spiedpoga - 5 ASV dolāri

Rīki:

  • Lodāmurs
  • Lāzera griezējs
  • 3D printeris
  • Skrūvgriezis
  • Knaibles

3. solis: augsta līmeņa dizains

Augsta līmeņa dizains
Augsta līmeņa dizains
Augsta līmeņa dizains
Augsta līmeņa dizains

Šīs konstrukcijas galvenā sastāvdaļa ir līnijas lāzers, kas izvirzīts uz objektu vertikālu šķēli. Šo projekciju varētu uzņemt pikameras kamerā, labot tās perspektīvu un pēc tam filtrēt pirms attēlu apstrādes. Attēlu apstrādē varētu apkopot attālumu starp katru līnijas segmentu no objekta centra. Radiālajās koordinātās šis attēls dotu gan r, gan z komponentu. Trešā dimensija Θ tiek sasniegta, pagriežot objektu uz jaunu šķēli. Šī koncepcija ir parādīta pirmajā attēlā.

Lai veiktu iepriekš aprakstītās darbības, es izmantoju Raspberry Pi kā mūsu centrālo skaitļošanas vienību. Es pievienoju soļu motoru un motora draiveri pie Pi, ko darbina ārēja 5 V barošana un ko kontrolē Pi GPIO tapas. Uz Pi 3,3 V līnijas tika uzlikts līnijas lāzers, un Pi kameras ieejai tika pievienots PiCam. Visbeidzot, tika uzstādīta vienkārša nolaižama poga un statusa gaismas diode, kas norāda lietotājam, kādā stāvoklī sistēma atrodas. Visa sistēma ir apkopota sistēmas blokshēmā.

Jau no paša sākuma bija plānots elektroniku ievietot lāzera griezuma kastē, kas turēta kopā ar T veida spraugām un M3 aparatūru. Elektronika būtu paslēpta no redzamības apakšējā nodalījumā, un vāks ļautu viegli piekļūt priekšmetu novietošanai uz rotējošās paplātes. Šis vāks ir nepieciešams, lai samazinātu sistēmā noplūstošās gaismas daudzumu, jo pēdējā skenēšanas laikā šī ārējā gaisma var radīt troksni.

4. solis: aparatūra

Aparatūra
Aparatūra
Aparatūra
Aparatūra
Aparatūra
Aparatūra

Kā redzams iepriekš, pirms lāzera griešanas vai 3D drukāšanas es izmantoju Autodesk Fusion 360, lai izveidotu detalizētu mūsu dizaina 3D modeli. Kā pārskats, ierīce ir vienkārša kaste ar vāku ar lāzera griezuma eņģēm. Ierīcei ir divi galvenie slāņi: elektronikas gulta un galvenā gulta, ar caurumiem vadiem, lai tie varētu iet starp diviem slāņiem.

Lielākā daļa mūsu kastes tika izgatavota ar lāzera griezēju, un dizainparaugi tika ražoti programmā Fusion 360 un sagriezti ar Epilog Zing 40 W lāzera griezēju. Mūsu dizains ir parādīts iepriekš redzamajos attēlos. No augšas pa kreisi, virzoties pa labi, gabali ir galvenā gulta, elektronikas gulta, divi vāka gabali, aizmugurējā daļa, priekšējā daļa un divas sānu daļas. Galvenajā gultnē ir trīs galvenie izgriezumi: viens pakāpiena motora uzstādīšanai, otrs vadu vadīšanai no lāzera un otrs PiCam plašā kabeļa novietošanai. Gultas daļai ir montāžas atveres Pi, maizes dēļa un motora vadītāja nostiprināšanai, kā arī lielāks izgriezums, lai piekļūtu pakāpju motoram. Vāka gabali saplūst kopā, lai izveidotu trīsstūrveida gabalu, kas redzams iepriekš, un eņģe ir vienkārša ekstrūzija, kas ir sānu dēļu cauruma diametra platums. Aizmugurējā daļā un vienā no sānu daļām sānos ir spraugas, lai varētu ērti piekļūt Pi portiem (HDMI, USB, Ethernet, barošana). Priekšpuse ir vienkāršs gabals, kurā es galu galā izveidoju caurumus ar rokas urbi, lai uzstādītu pogu un LED. Kā redzams visos gabalos, mūsu detaļas tiek turētas kopā ar M3 aparatūru, izmantojot T veida savienojumus un spraugas. Šī ir metode lāzera griezuma gabalu turēšanai ortogonāli un droši. Gabalu spuras sakrīt ar citu gabalu spraugām, un t veida griezums malās dod iespēju M3 uzgrieznim iestrēgt tajos bez vērpšanas. Tas ļauj mums pēc tam izmantot M3 skrūvi, lai bloķētu gabalus kopā ar ļoti mazu kustību telpu bez montāžas pilnīga pastāvīguma.

Tā ātruma un viegluma dēļ es izvēlējos lielāko daļu mūsu darbu veikt ar lāzera griezēju. Tomēr man vēl bija 3D drukāt dažus gabalus to 3D ģeometrijas dēļ, kurus uz griezēja būtu grūtāk izveidot. Pirmais gabals bija līnijas lāzera turētājs. Šis gabals bija jāuzstāda uz galvenās gultas 45 grādu leņķī no kameras skata, un tam jābūt ar caurumu, lai lāzers varētu cieši berzēties. Man arī bija jāizveido motora stiprinājums, jo motora vārpsta bija tik gara. Stiprinājuma berze iederas lāzera griezuma gabalos un pazemināja motoru piestiprinošo plakni tā, lai rotējošā platforma būtu vienā līmenī ar galveno gultu.

5. solis: elektronika

Elektronika
Elektronika

Šī projekta elektroinstalācijas aparatūra bija ļoti vienkārša, jo 3D skenerim nebija vajadzīgas pārāk daudz perifērijas ierīču. Motors, poga, LED, lāzers un kamera bija jāpievieno Pi. Kā parādīts, es pārliecinājos, ka savienojam rezistorus sērijveidā ar katru mūsu izmantoto tapu, lai aizsargātu tapas. Viena GPIO tapa bija paredzēta statusa gaismas diodes kontrolei, kas iedegsies, kad ierīce būs gatava lietošanai, un pulsēs ar PWM, kad ierīce darbojās. Vēl viena GPIO tapa tika pievienota izvilktajai pogai, reģistrējot HIGH, kad poga netika nospiesta, un LOW, kad poga tika nospiesta. Visbeidzot, es četras GPIO tapas veltīju soļu motora vadīšanai.

Tā kā mūsu motoram bija jāsper tikai noteikts posms, neprasot kontrolēt ātrumu, mēs izvēlējāmies vienkāršāku pakāpju motora draiveri (L298N), kas vienkārši paātrina vadības līnijas, lai ievadītu motora ieejas. Lai uzzinātu, kā darbināt pakāpju motorus ļoti zemā līmenī, mēs atsaucāmies gan uz L298N datu lapu, gan uz Arduino bibliotēku. Pakāpju motoriem ir magnētiskais kodols ar mainīgiem polaritātes pirkstiem. Četri vadi ir iesaiņoti, lai kontrolētu divus elektromagnētus, kas katrs baro katru otru motora pretējo pirkstu. Tādējādi, pārslēdzot pirkstu polaritāti, mēs spējam vienu soli nospiest soli. Ar šīm zināšanām par to, kā steperi strādāja no aparatūras līmeņa, mēs varējām daudz vieglāk kontrolēt steperus. Mēs izvēlējāmies izslēgt mūsu pakāpju motoru no 5 V barošanas avota laboratorijā, nevis Pi, jo tā maksimālā strāvas pieplūde ir aptuveni 0, 8 A, kas ir vairāk nekā Pi varētu nodrošināt.

6. darbība: programmatūra

Programmatūra
Programmatūra
Programmatūra
Programmatūra
Programmatūra
Programmatūra
Programmatūra
Programmatūra

Šī projekta programmatūru var iedalīt četros galvenajos komponentos, kas savstarpēji mijiedarbojas: attēlu apstrāde, motora vadība, acu izveidošana un iegultās funkcijas.

Kā programmatūras kopsavilkumu mēs varam aplūkot pirmo attēlu. Kad sistēma sāk darboties,.bashrc automātiski piesakās Pi un sāk darbināt mūsu python kodu. Sistēma iedegas statusa indikatorā, lai lietotājs zinātu, ka tā ir pareizi palaista, un gaida pogas nospiešanu. Pēc tam lietotājs var ievietot skenējamo vienumu un aizvērt vāku. Pēc pogas nospiešanas gaismas diode sāk pukstēt, lai lietotājs zinātu, ka ierīce darbojas. Ierīce darbosies starp attēlu apstrādi un motora vadību, līdz tiks pabeigta pilna rotācija un tiks apkopoti visi objekta dati. Visbeidzot, tīkls tiek izveidots un fails tiek nosūtīts pa e -pastu uz iepriekš atlasītu e -pastu. Tādējādi cikls tiek atsākts, un iekārta ir gatava veikt citu skenēšanu, nospiežot pogu.

Attēlu apstrāde

Pirmā lieta, kas tika ieviesta, bija uzņemtā attēla apstrāde, lai attēlā saglabāto informāciju iegūtu formā, kuru varētu izmantot, lai izveidotu punktu masīvu telpā. Lai to izdarītu, es sāku, fotografējot objektu uz platformas kopā ar visu fona troksni, ko rada lāzers, kas spīd uz kastes aizmugures un izkliedējās. Šim attēlam neapstrādātā veidā bija divas galvenās problēmas. Pirmkārt, objekts tika skatīts leņķī ar paaugstinātu perspektīvu un, otrkārt, bija daudz fona trokšņu. Pirmā lieta, kas man bija jādara, bija ņemt vērā šo skata leņķi, jo, izmantojot fotoattēlu tādu, kāds tas ir, mēs nevarētu noteikt konsekventu objekta augstumu. Kā redzams otrajā attēlā, otrādi apgrieztās “L” formas augstums ir nemainīgs; tomēr, tā kā viena puse ir garāka par otru, šķiet, ka skatītājam tuvākajā malā ir atšķirīgs augstums.

Lai to labotu, man bija jāpārveido attēla darba vieta taisnstūrī no trapecveida formas, kāda tā bija iepriekš. Lai to izdarītu, es izmantoju šīs saites nodrošināto kodu, kas, piešķirot attēlu un četrus punktus, apgriež attēlu starp četriem punktiem un pārveido apgriezto attēlu, lai kompensētu perspektīvu. Šī transformācija izmanto četrus punktus, lai izveidotu taisnstūri, nevis trapecveida formu, kā redzams trešajā attēlā.

Nākamā problēma, kas bija jāatrisina, bija fona troksnis ārējās gaismas veidā un gaisma, ko atstaro pats lāzers. Lai to izdarītu, es filtrēju gaismu, izmantojot OpenCV funkciju inRange (). Es iestatīju slieksni, lai sarkanā gaisma tiktu uztverta tikai noteiktā līmenī. Lai iegūtu pareizo vērtību, es sāku ar saudzīgu slieksni un turpināju palielināt sliekšņa līmeni, līdz vienīgā uztvertā gaisma bija lāzera gaisma uz skenējamā objekta. Kad man bija šis attēls, es atradu spilgtāko pikseļu katrā rindā, lai iegūstiet viena pikseļa līniju katrā rindā, kas robežojas ar lāzera līnijas kreiso pusi. Pēc tam katrs pikselis tika pārveidots par virsotni 3D telpā un saglabāts masīvā, kā aprakstīts acu izveidošanas sadaļā. Šo darbību rezultātus var redzēt ceturtajā attēlā.

Motora vadība

Pēc tam, kad varēja veiksmīgi apstrādāt vienu attēlu, lai iegūtu objekta šķēli, man vajadzēja pagriezt objektu, lai uzņemtu jaunu attēlu ar citu leņķi. Lai to izdarītu, es kontrolēju soļu motoru zem platformas, uz kuras atrodas skenējamais objekts. Es izveidoju pamatu mūsu soļu funkcijai, izveidojot mainīgo, lai izsekotu motora stāvokli un mikrosoli, pārslēdzot katru no četrām motora ieejām.

Lai izveidotu tīklu no visiem apstrādātajiem attēliem, man vispirms bija jāpārvērš katrs apstrādātā attēla baltais pikselis virsotnē 3D telpā. Tā kā es kolekcionēju atsevišķas objekta šķēles ar cilindrisku simetriju, bija jēga sākt vākt cilindriskās koordinātas. Tam bija jēga, jo attēla augstums varētu attēlot z asi, attālums no rotējošā galda centra varētu attēlot R asi, bet pakāpiena motora rotācija-teta asi. Tomēr, tā kā es glabāju mūsu datus cilindriskās koordinātās, man nācās pārvērst katru no šīm virsotnēm par Dekarta koordinātām.

Kad šīs virsotnes tika izveidotas, tās tika saglabātas sarakstā, un minētais saraksts tika saglabāts citā sarakstā, kurā bija virsotņu saraksti, kas izveidoti katram uzņemtajam attēlam. Kad visi attēli tika apstrādāti un pārvērsti virsotnēs, man bija jāizvēlas virsotnes, kuras es patiesībā vēlējos attēlot galīgajā tīklā. Es vēlējos, lai tiktu iekļauta augšējā un apakšējā virsotne, un pēc tam, pamatojoties uz izšķirtspēju, es izvēlējos vienmērīgi izvietotu virsotņu skaitu, ko izmantot katram attēlam. Tā kā ne visi virsotņu saraksti bija vienāda garuma, man tie bija jāizlīdzina, atrodot sarakstu ar mazāko virsotņu skaitu un noņemot virsotnes no visiem pārējiem sarakstiem, līdz tie bija vienmērīgi. Ar izveidotajiem virsotņu sarakstiem es tagad varēju izveidot sietu. Es izvēlējos formatēt mūsu sietu pēc.obj faila standarta, jo tas ir vienkāršs un izdrukājams 3D formātā.

Iegultā funkcija

Kad ierīce bija funkcionāla, es to pulēju, pievienojot pilnīgu iegulto funkcionalitāti. Tas nozīmēja tastatūras, peles un monitora noņemšanu un to bezvadu nosūtīšanu mums.obj failu pēc apstrādes pabeigšanas. Lai sāktu, es nomainīju.bashrc kodu, lai automātiski pieteiktos un startēšanas laikā palaistu galveno python programmu. Tas tika darīts, izmantojot sudo raspi-config un izvēloties “Console Autologin”, un /home/pi/.bashrc pievienojot rindiņu “sudo python /home/pi/finalProject/FINAL.py”. Papildus tam es arī pievienoja pogu un statusa LED lietotāja ievadīšanai un izvadei. Poga ļautu lietotājam pateikt ierīcei, kad jāsāk skenēšana, un gaismas diode norādītu lietotājam iekārtas stāvokli. Ja gaismas diode deg, ierīce ir gatava sākt jaunu skenēšanu. Ja gaismas diode mirgo, ierīce pašlaik skenē. Ja gaismas diode ir birojs, ir programmatūras kļūda, kas prasa sistēmas restartēšanu. Visbeidzot, es ļāvu ierīcei nosūtīt.obj failu pa e -pastu. Tas tika darīts, izmantojot smtplib un e -pasta bibliotēkas. Šī iespēja nosūtīt e -pastus deva mums ļoti ērtu un bezvadu veidu, kā lietotājam nogādāt saražoto failu, lai piekļūtu daudzām dažādām platformām.

7. solis: integrācija

Integrācija
Integrācija

Pēc dažādu ierīces gabalu izgatavošanas es to saliku kopā. Iepriekš redzamais attēls ir parādīts secībā:

a) samontēta kaste ārpusē

b) salikta kaste iekšpusē ar kameru un lāzeru

c) skats no iekšpuses uz elektronikas gultu

d) Pi aizmugurē ar piekļuvi Pi portiem un 5 V motora ieeju

e) spiedpoga ar LED gredzenu un statusa gaismu ierīces priekšpusē

8. darbība. Rezultāti

Rezultāti
Rezultāti
Rezultāti
Rezultāti
Rezultāti
Rezultāti
Rezultāti
Rezultāti

Lāzera 3D skeneris spēja pienācīgi precīzi skenēt objektus. Objektu iezīmes ir atšķirīgas un atpazīstamas, un detaļas bija ļoti viegli izdrukāt 3D, izmantojot griešanas programmatūru, piemēram, Repetier. Iepriekš redzamajos attēlos parādīti daži koka gabala un gumijas pīlītes skenētie paraugi.

Viens no mūsu lielākajiem atklājumiem un panākumiem, ko atklāju testēšanas laikā, bija ierīces konsekvence. Vairāku viena un tā paša objekta izmēģinājumu laikā skeneris spēja izveidot.obj failu, kas katru reizi bija ļoti līdzīgs, pat ja mēs nedaudz mainījām objekta izvietojumu. Kā redzams trīs atsevišķos skenējumos, tie visi izskatās ļoti līdzīgi, uztverot vienādas detaļas un vienādu detaļu daudzumu. Kopumā mani ļoti pārsteidza mūsu sistēmas konsekvence un izturība.

Viens no mainīgajiem, ko es patiešām spēju noregulēt, ir skenēšanas izšķirtspēja. Tā kā stepperā ir 400 soļu, es varu izvēlēties, cik liels katrs ΔΘ diktēt leņķisko izšķirtspēju. Pēc noklusējuma leņķiskā izšķirtspēja ir iestatīta uz 20 atkārtojumiem, kas nozīmē, ka katrs kadrs, motors griežas par 20 soļiem (400/20 = 20). Tas tika izvēlēts galvenokārt laika interesēs - skenēšana šādā veidā prasa apmēram 45 sekundes. Tomēr, ja es vēlos daudz augstākas kvalitātes skenēšanu, es varu palielināt atkārtojumu skaitu līdz 400. Tas dod daudz vairāk punktu, ar kuriem veidot modeli, padarot skenēšanu daudz detalizētāku. Papildus leņķiskajai izšķirtspējai es varu pielāgot arī vertikālo izšķirtspēju vai to, cik dažādus punktus izvēlos aptaujāt gar lāzera šķēli. Līdzīgas intereses dēļ man šis noklusējuma iestatījums ir 20, bet es varu to palielināt, lai iegūtu labākus rezultātus. Spēlējot ar šiem leņķiskās izšķirtspējas un telpiskās izšķirtspējas parametriem, es pēdējā attēlā varēju apkopot dažādu skenēšanas rezultātus. Katra etiķete ir formatēta tā, lai tā būtu leņķiskā izšķirtspēja x telpiskā izšķirtspēja. Kā redzams noklusējuma skenēšanas iestatījumos, pīles funkcijas ir atpazīstamas, bet nav detalizētas. Tomēr, palielinot izšķirtspēju, sāk parādīties atsevišķas precīzas iezīmes, tostarp acis, knābis, aste un spārni uz pīles. Augstākās izšķirtspējas attēla skenēšana prasīja apmēram 5 minūtes. Redzot tik augstu sasniedzamo izšķirtspēju, tas bija ļoti liels panākums.

Ierobežojumi

Neskatoties uz veiksmīgajiem projekta rezultātiem, joprojām ir daži dizaina un ieviešanas ierobežojumi. Izmantojot lāzeru, rodas daudz problēmu ar gaismas izkliedi. Daudzi objekti, kurus es mēģināju skenēt un kuri bija vai nu caurspīdīgi, spīdīgi vai ļoti tumši, izrādījās apgrūtinoši, atspoguļojot gaismu no virsmas. Ja objekts būtu caurspīdīgs, gaisma tiktu absorbēta un izkliedēta, radot ļoti skaļu šķēļu nolasīšanu. Spīdīgos un tumšos objektos gaisma vai nu atstarojas, vai tiek absorbēta līdz vietai, kuru būtu grūti uztvert. Turklāt, tā kā es izmantoju kameru, lai fiksētu objektu iezīmes, tās uztveršanu ierobežo redzes līnija, kas nozīmē, ka ieliekti priekšmeti un asi leņķi bieži tiek bloķēti ar citām objekta daļām. Tas ir parādīts mūsu gumijas pīles piemērā, jo aste dažreiz skenēšanas laikā zaudēs izliekumu. Kamera var noteikt arī tikai virsmas struktūras, kas nozīmē, ka caurumus vai iekšējo ģeometriju nevar uzņemt. Tomēr šī ir izplatīta problēma, kas piemīt arī daudziem citiem skenēšanas risinājumiem.

Nākamie soļi

Lai gan es biju apmierināts ar mūsu projekta rezultātiem, bija dažas lietas, kuras varētu īstenot, lai padarītu to labāku. Iesācējiem pašreizējā stāvoklī skenēšanas izšķirtspēju var mainīt tikai, mainot mūsu kodā ierakstītos izšķirtspējas mainīgos. Lai padarītu projektu vēl iebūvētu, varētu iekļaut izšķirtspējas potenciometru, lai lietotājs varētu mainīt izšķirtspēju, nepievienojot skenerim monitoru un tastatūru. Turklāt skeneris rada attēlus, kas dažkārt var izskatīties robaini. Lai to novērstu, varētu izmantot acu izlīdzināšanas paņēmienus, lai izlīdzinātu nelīdzenumus un skarbos stūrus. Visbeidzot, es atklāju, ka pikseļu koordinātas neatbilst reālajai pasaulei. Manis izveidotās acis bija 6 līdz 7 reizes lielākas par faktisko objektu. Nākotnē būtu izdevīgi ieviest acu mērogošanas veidu, lai tie būtu precīzāki attiecībā pret objekta patieso izmēru.

9. solis: resursi

Es esmu iekļāvis kodu, STL failus drukāšanai un DXF failus griešanai visā projektā.

Raspberry Pi konkurss 2020
Raspberry Pi konkurss 2020
Raspberry Pi konkurss 2020
Raspberry Pi konkurss 2020

Pirmā balva Raspberry Pi konkursā 2020

Ieteicams: