Mundarija:

Raspberry Pi lazerli skaneri: 9 qadam (rasmlar bilan)
Raspberry Pi lazerli skaneri: 9 qadam (rasmlar bilan)

Video: Raspberry Pi lazerli skaneri: 9 qadam (rasmlar bilan)

Video: Raspberry Pi lazerli skaneri: 9 qadam (rasmlar bilan)
Video: Как из планшетного USB-сканера сделать сетевой с помощью Raspberry Pi. Реальный проект 2024, Noyabr
Anonim
Image
Image
Raspberry Pi lazerli skaner
Raspberry Pi lazerli skaner

Laser Scanner - bu Raspberry Pi o'rnatilgan tizim qurilmasi bo'lib, ob'ektlarni 3D bosma yordamida ko'paytirish uchun.obj to'rli fayllarga raqamlashtirishga qodir. Qurilma buni kompyuterni ko'rishni amalga oshirish uchun chiziqli lazer va o'rnatilgan PiCam yordamida amalga oshiradi. Lazer 45 graduslik burchak ostida joylashgan va ob'ektning vertikal bir bo'lagiga yorqin qizil chiziq chiqaradi. Kamera tilimning markazdan masofasini aniqlab beradi. Ob'ekt aylanadigan laganda ustiga o'raladi va jarayon to'liq ob'ekt skanerlanmaguncha takrorlanadi. Yaratilgan.obj fayli nihoyat foydalanuvchiga elektron pochta orqali yuboriladi, bu tizimni to'liq mustaqil va ko'milgan qiladi.

Bu ko'rsatma qurilmaning qanday qurilgani, ba'zi natijalar va kelajakdagi qadamlar haqida ma'lumot beradi.

1 -qadam: ilhom

Ilhom
Ilhom
Ilhom
Ilhom

Ishlab chiqaruvchi sifatida men bir necha yillardan beri 3D bosib chiqarish va qattiq modellashtirish bilan shug'ullanaman. Men CNC routerlardan tortib lazer kesgichlarga, 3D printerlarga qadar turli xil prototiplash vositalari bilan ishladim. Mening mahalliy ishlab chiqaruvchilarim hali sotib olmagan qurilmalardan biri 3D skaner edi va men sizga nima uchun kerakligini ayta olaman.

Arzonroqlari (bir necha yuz dollar) ishonchsiz edi, mukammal shart -sharoitlarni talab qilar edi va baribir juda yomon natijalarga erishardi. Qimmatlari bir necha ming dollargacha bo'lgan, yaxshi, qimmat edi, shuning uchun ko'p hollarda uning vazifasi bunga loyiq emas. Buning ustiga, men skanerlash natijasida hosil bo'lgan sirt to'rlari bilan emas, balki o'lchovlarni va modelni noldan loyihalashni afzal ko'raman.

Shu sababli, men javon komponentlari yordamida ob'ektni qanchalik yaxshi skanerlashimni ko'rish uchun byudjetli mustaqil skaner yaratmoqchi edim.

Bir oz tadqiqot o'tkazgandan so'ng, men ko'p 3D skanerlar aylanadigan platformani, so'ngra aylanma modelni yaratish uchun markazdan masofani o'lchash uchun turli xil sensorlardan foydalanganini ko'rdim. Ularning ko'pchiligi Kinect kamerasiga o'xshash ikkita kameradan foydalangan. Oxir -oqibat men Yscannerga duch keldim, bu past aniqlikdagi skaner, lazerdan foydalanadi. Oddiylik va maqsadga muvofiqligiga qaraganda, markazdan masofani o'lchash uchun kameraga nisbatan ofsetli yoritilgan bu lazer texnikasi oldinga aniq yo'lga o'xshardi.

2 -qadam: asboblar va ehtiyot qismlar

Qismlar:

  • Raspberry Pi - $ 35.00
  • Raspberry Pi Camera V2 $ 30,00
  • LEDlar, rezistorlar va simlar
  • Filamentni 3D bosib chiqarish
  • 12x12x0.125 o'lchamdagi yog'och choyshablar
  • M3 apparat
  • Step motor - 14 dollar
  • Chiziqli lazer - 8 dollar
  • LN298 step motorli haydovchilar - 2,65 dollar
  • Metall tugma - 5 dollar

Asboblar:

  • Lehimlash temir
  • Lazerli kesuvchi
  • 3D printer
  • Tornavida
  • Pense

3 -qadam: yuqori darajali dizayn

Yuqori darajali dizayn
Yuqori darajali dizayn
Yuqori darajali dizayn
Yuqori darajali dizayn

Ushbu dizayndagi markaziy komponent - bu ob'ektlarning vertikal bo'lagiga tushadigan chiziqli lazer. Bu proektsiyani pikameraga yozib olish, uning nuqtai nazarini to'g'rilash va keyin tasvirni qayta ishlashdan oldin filtrlash mumkin edi. Tasvirni qayta ishlashda ob'ektning markazidan chiziqning har bir bo'lagi orasidagi masofani yig'ish mumkin edi. Radial koordinatalarda bu rasm r va z komponentlarini beradi. Uchinchi o'lchov, ya'ni ob'ektni yangi bo'lakka aylantirish orqali erishiladi. Bu tushuncha birinchi rasmda ko'rsatilgan.

Yuqorida tavsiflangan harakatlarni bajarish uchun men Raspberry Pi -ni markaziy hisoblash birligimizdan foydalandim. Men Pi -ga tashqi dvigatelli 5V kuchlanishli va Pi ning GPIO pinlari orqali boshqariladigan step motorini va dvigatelini uladim. Pi -ning 3.3 V chizig'iga chiziqli lazer qo'yilgan va Pi -dagi kamera kirishiga PiCam ulangan. Nihoyat, pastga tushiriladigan oddiy tugma o'rnatildi va tizimning qanday holatda ekanligini ko'rsatuvchi LED holati. To'liq tizim tizim blok diagrammasida keltirilgan.

Boshidanoq, elektronikani T-uyalar va M3 uskunalari bilan birgalikda saqlanadigan lazerli qutiga joylashtirish rejalashtirilgan edi. Elektron buyumlar pastki bo'linmasida ko'zdan yashiriladi va qopqoq aylanadigan tovoqlar ustida ob'ektlarni joylashtirishga osonlikcha imkon beradi. Bu qopqoq tizimga tushadigan yorug'lik miqdorini minimallashtirish uchun kerak, chunki bu tashqi yorug'lik oxirgi ko'rish paytida shovqin chiqarishi mumkin.

4 -qadam: Uskuna

Uskuna
Uskuna
Uskuna
Uskuna
Uskuna
Uskuna

Yuqorida ko'rinib turibdiki, men lazerni kesish yoki 3D bosib chiqarishni boshlashdan oldin, Autodesk Fusion 360 yordamida dizaynimizning batafsil 3D modelini yaratdim. Umumiy nuqtai nazardan, qurilma - bu lazerli kesilgan menteşalari bo'lgan qopqoqli oddiy quti. Qurilmaning ikkita asosiy qatlami bor: elektron qatlam va asosiy to'shak, ikkita qatlam o'rtasida simlar o'tishi uchun teshiklari bor.

Bizning qutimizning ko'p qismi lazer kesgich bilan ishlab chiqarilgan, dizaynlari Fusion 360 da ishlab chiqarilgan va Epilog Zing 40 Vt lazerli kesgichda kesilgan. Bizning dizaynlarimiz yuqoridagi rasmlarda ko'rsatilgan. Yuqoridan chapga o'ngga siljish - bu asosiy to'shak, elektron to'shak, qopqoq uchun ikkita bo'lak, orqa qism, old qism va yon qismlar. Asosiy to'shakda uchta asosiy kesma mavjud: biri qadam dvigatelini o'rnatish uchun, ikkinchisi simlarni lazerdan o'tkazish uchun, ikkinchisi PiCam keng kabelini o'tkazish uchun. To'shak bo'lagida Pi, non taxtasi va dvigatel drayverini mahkamlash uchun o'rnatish teshiklari va step motoriga kirish uchun kattaroq kesma mavjud. Qopqoq bo'laklari bir -biriga yopishib, yuqoridagi uchburchak bo'lakni hosil qiladi va menteşe - bu yon taxtalar teshigining kengligi bo'lgan oddiy ekstruziya. Orqa va yon qismlardan birining yon tomonida uyalar bor, shuning uchun Pi portlariga (HDMI, USB, Ethernet, Quvvat) osongina kirish mumkin. Old qismi-men tugmachani va LEDni o'rnatish uchun qo'lda matkap yordamida teshiklar qildim, barcha qismlardan ko'rinib turibdiki, bizning qismlarimiz M3 apparati bilan T-bo'g'inlar va uyalar yordamida birlashtirilgan. Bu lazerli kesilgan qismlarni ortogonal va ishonchli ushlab turish usuli. Bo'laklarning suzgichlari boshqa bo'laklarga to'g'ri keladi va qirralarning t shaklidagi kesilgan joyi M3 yong'og'ini aylanmasdan tiqilib qolishi uchun joy beradi. Bu bizga M3 vintini ishlatib, bo'laklarni juda kichik chayqalish xonasi bilan mahkamlash imkonini beradi.

Tezligi va qulayligi tufayli men ko'p qismlarimizni lazer kesgich bilan bajarishni tanladim. Biroq, men 3D geometriyasi tufayli kesgichda yaratish qiyinroq bo'ladigan ba'zi qismlarni 3D bosib chiqarishimga to'g'ri keldi. Birinchi qism chiziqli lazer ushlagichi edi. Bu bo'lakni kamera ko'radigan joydan 45 graduslik asosiy to'shakka o'rnatish kerak edi va uning teshigi shunday bo'lishi kerakki, unga lazer mahkam ishqalanib ketishi mumkin edi. Menga dvigatel moslamasini yaratish kerak edi, chunki dvigatelning o'qi juda uzun edi. O'rnatish ishqalanishi lazerli kesilgan qismlarga mos tushdi va dvigatel biriktirilgan tekislikni pastga aylantiruvchi platforma asosiy to'shak bilan bir tekisda tushdi.

5 -qadam: elektronika

Elektronika
Elektronika

Ushbu loyihaning simli uskunalari juda oddiy edi, chunki 3D -skaner juda ko'p qo'shimcha qurilmalarni talab qilmadi. Dvigatel, tugma, LED, lazer va kamerani Pi ga ulash kerak edi. Ko'rsatilganidek, men pinlarni himoya qilish uchun ishlatilgan har bir pin bilan rezistorlarni ketma -ket ulashga ishonch hosil qildim. Bitta GPIO PIN -kodi LEDning holatini boshqarishga bag'ishlangan bo'lib, u qurilma ishlatishga tayyor bo'lganda yonadi va qurilma ishlayotganda PWM bilan pulsatsiyalanadi. Boshqa GPIO pinasi tortilgan tugmachaga ulangan, tugma bosilmaganda HIGH va tugma bosilganda LOW qayd qilingan. Nihoyat, men to'rtta GPIO pinini step motorini boshqarishga bag'ishladim.

Bizning dvigatelimiz tezlikni boshqarishni talab qilmasdan ma'lum bir qadamni bosib o'tishi kerak bo'lganligi sababli, biz dvigatel kirishiga kirish uchun boshqaruv liniyalarini tezlashtiradigan oddiy qadamli dvigatelni (L298N) tanladik. Bosqichli dvigatellarni juda past darajada ishlatish haqida bilish uchun biz L298N ma'lumot varag'i va Arduino kutubxonasiga murojaat qildik. Bosqichli dvigatellarning magnit yadrosi bor, ular o'zgaruvchan qutbli barmoqlar. To'rtta simlar dvigatelning bir -biriga qarama -qarshi barmoqlarini quvvatlantiradigan ikkita elektromagnitni boshqarish uchun o'ralgan. Shunday qilib, barmoqlarning qutblanishini o'zgartirish orqali biz qadamchani bir qadam bosa olamiz. Qanday qilib stepperlar apparat darajasidan ishlaganligi haqida ma'lumotga ega bo'lganimizda, biz stepperlarni boshqarishni ancha osonlashtirdik. Biz qadam dvigatelini laboratoriyada Pi emas, balki 5V quvvat manbasidan o'chirishni tanladik, chunki uning maksimal oqimi 0,8 A ga yaqin, bu Pi etkazib bera oladiganidan ko'proq.

6 -qadam: dasturiy ta'minot

Dasturiy ta'minot
Dasturiy ta'minot
Dasturiy ta'minot
Dasturiy ta'minot
Dasturiy ta'minot
Dasturiy ta'minot
Dasturiy ta'minot
Dasturiy ta'minot

Ushbu loyiha uchun dasturiy ta'minotni o'zaro ta'sir qiladigan to'rtta asosiy komponentga bo'lish mumkin: tasvirni qayta ishlash, motorni boshqarish, to'r yaratish va o'rnatilgan funktsiyalar.

Dasturning qisqacha mazmuni sifatida biz birinchi rasmga qarashimiz mumkin. Tizim ishga tushganda,.bashrc avtomatik ravishda Pi -ga kiradi va bizning python kodimizni ishga tushiradi. Tizim holat chirog'ini yoqadi va foydalanuvchi to'g'ri yuklanganligini bildiradi va tugma bosilishini kutadi. Keyin foydalanuvchi skaner qilinadigan elementni qo'yishi va qopqog'ini yopishi mumkin. Tugmani bosgandan so'ng, LED pulsatsiyalanadi, bu esa foydalanuvchiga qurilma ishlayotganligini bildiradi. Qurilma tasvirni qayta ishlash va dvigatelni boshqarish o'rtasida to'liq aylanish tugaguncha va barcha ob'ekt ma'lumotlari yig'ilguncha aylanadi. Nihoyat, to'r yaratiladi va fayl oldindan elektron pochta orqali yuboriladi. Bu tsiklni qayta boshlaydi va mashina boshqa tugmani bosish bilan boshqa tekshiruvni o'tkazishga tayyor bo'ladi.

Rasmni qayta ishlash

Amalga oshirilgan birinchi narsa, tasvirda saqlangan ma'lumotni kosmosda bir nechta nuqtalarni yaratish uchun ishlatilishi mumkin bo'lgan shaklga aylantirish uchun olingan tasvirni qayta ishlash edi. Buning uchun men platformadagi ob'ektning rasmini, shuningdek, qutining orqa tomoniga porlab, tarqalib ketayotgan lazer fonidagi shovqinni suratga olishdan boshladim. Bu rasmda xom shaklda ikkita asosiy muammo bor edi. Birinchidan, ob'ekt yuqori nuqtai nazardan qaraldi, ikkinchidan, juda ko'p fon shovqinlari bor edi. Men qilishim kerak bo'lgan birinchi narsa bu ko'rish burchagini hisobga olish edi, chunki fotosuratni avvalgidek ishlatish bizga mos keladigan ob'ekt balandligini aniqlashga imkon bermaydi. Ikkinchi rasmda ko'rinib turganidek, teskari "L" shakli balandligi mos keladi; lekin bir tomoni boshqasidan uzunroq bo'lgani uchun tomoshabinga eng yaqin chekkada har xil balandliklar ko'rinadi.

Buni tuzatish uchun tasvirdagi ish joyini avvalgi trapetsiya shaklidan to'rtburchakka aylantirishim kerak edi. Buning uchun men ushbu havola tomonidan berilgan koddan foydalandim, unga rasm va to'rtta nuqta berilganda, tasvirni to'rt nuqta orasiga kesib tashlaydi va istiqbolni qoplash uchun kesilgan tasvirni o'zgartiradi. Uchinchi rasmda ko'rinib turganidek, trapezoid shakli o'rniga to'rtburchaklar yaratish uchun to'rtta nuqta ishlatiladi.

Keyingi muammoni hal qilish kerak edi - tashqi yorug'lik ko'rinishidagi shovqin va yorug'lik lazerning o'zi aks etishi. Buning uchun men OpenCV ning inRange () funktsiyasidan foydalanib yorug'likni filtrladim. Men chegarani faqat qizil chirog'ni ma'lum darajada ko'tarish uchun o'rnatdim. To'g'ri qiymatni olish uchun men polni engil chegaradan boshladim va skaner qilinayotgan ob'ektdagi lazer nuri bo'lmaguncha chegara darajasini oshirdim. Bu tasvirga ega bo'lgach, men har bir satrda eng yorqin pikselni topdim. Lazer chizig'ining eng chap tomoni bilan chegaralangan har bir satr uchun bitta pikselli chiziqni oling. Keyin har bir piksel 3D maydonda tepalikka aylantirildi va to'r yaratish bo'limida tasvirlanganidek, massivda saqlandi. Ushbu qadamlarning natijalarini to'rtinchi rasmda ko'rish mumkin.

Dvigatelni boshqarish

Ob'ektning bo'laklarini olish uchun bitta rasmni muvaffaqiyatli qayta ishlash imkoniyatiga ega bo'lganimdan so'ng, ob'ektni boshqa burchak bilan yangi rasmga olish uchun aylantira olishim kerak edi. Buning uchun men skaner qilinayotgan ob'ekt o'tiradigan platforma ostidagi qadam motorini boshqarardim. Men dvigatel holatini kuzatish uchun o'zgaruvchini yaratish va to'rtta dvigatel kirishining har birini almashtirish orqali mikrostepni yaratish orqali qadam qadamining asosini yaratdim.

Barcha qayta ishlangan tasvirlardan to'r yaratish uchun, avvalo, ishlov berilgan tasvirdagi har bir oq pikselni 3D maydonda tepalikka aylantirishim kerak edi. Men ob'ektning alohida bo'laklarini silindrsimon simmetriya bilan yig'ayotganim uchun, silindrsimon koordinatalarni yig'ishni boshlash mantiqiy edi. Bu mantiqiy edi, chunki rasm balandligi z o'qini, aylanadigan stol markazidan masofa R o'qini, step motorining aylanishi teta o'qini ifodalaydi. Ammo, biz o'z ma'lumotlarimizni silindrsimon koordinatalarda saqlaganim uchun, bu tepaliklarning har birini kartezian koordinatalariga aylantirishga to'g'ri keldi.

Ushbu tepaliklar yaratilgandan so'ng, ular ro'yxatda saqlanadi va aytilgan ro'yxat har bir tasvir uchun yaratilgan tepalik ro'yxatlarini o'z ichiga olgan boshqa ro'yxatda saqlanadi. Barcha tasvirlar qayta ishlanib, tepalikka aylantirilgandan so'ng, men yakuniy to'rda ko'rsatilishini xohlagan tepaliklarni tanlashim kerak edi. Men yuqori tepalik va pastki tepalikni qo'shishni xohlardim, so'ngra piksellar soniga qarab har bir tasvir uchun bir xil masofadagi tepaliklarni tanladim. Barcha vertikal ro'yxatlar bir xil uzunlikda bo'lmagani uchun, men ularni eng kichik tepaliklar ro'yxatini topib, boshqa barcha ro'yxatlardan vertikallarni bir tekis bo'lguncha olib tashlashim kerak edi. to'r yaratish. Men to'rimizni.obj fayl standarti bo'yicha formatlashni tanladim, chunki u oddiy va 3D bosib chiqarilishi mumkin.

O'rnatilgan funktsiya

Qurilma ishlay boshlagach, men uni to'liq ko'milgan funktsiyalarni qo'shib parlatdim. Bu shuni anglatadiki, klaviatura, sichqoncha va monitorni olib tashlash va ishlov berish tugagandan so'ng simsiz ravishda bizga.obj faylini yuborish kerak edi. Boshlash uchun men.bashrc kodini avtomatik ravishda kirish va ishga tushirishda asosiy python dasturini ishga tushirish uchun o'zgartirdim. Bu sudo raspi-config yordamida va "Console Autologin" ni tanlab, /home/pi/.bashrc.ga "sudo python /home/pi/finalProject/FINAL.py" qatorini qo'shish orqali amalga oshirildi. foydalanuvchi kirish va chiqish uchun tugma va holat LEDini qo'shdi. Tugma foydalanuvchiga skanerlashni qachon boshlashini, LED esa foydalanuvchiga mashinaning holatini aytib beradi. Agar LED yoniq bo'lsa, qurilma yangi skanerlashni boshlashga tayyor. Agar LED pulsatsiya qilsa, qurilma hozirda skanerlamoqda. Agar LED ofis bo'lsa, tizimni qayta ishga tushirishni talab qiladigan dasturiy xato. Nihoyat, men qurilmaga.obj faylini elektron pochta orqali yuborish imkoniyatini berdim. Bu smtplib va elektron pochta kutubxonalari yordamida amalga oshirildi. Elektron pochta xabarlarini yuborish qobiliyati bizga ishlab chiqarilgan faylni foydalanuvchilarga turli platformalarda kirish uchun juda qulay va simsiz usulni berdi.

7 -qadam: integratsiya

Integratsiya
Integratsiya

Qurilmaning turli qismlarini ishlab chiqargandan so'ng, men uni yig'dim. Yuqoridagi rasm tartibda ko'rsatilgan:

(a) tashqarida yig'ilgan quti

(b) kamera va lazer o'rnatilgan quti

(c) elektron to'shakning ichki ko'rinishi

(d) Pi portlari va 5V dvigatelli kirish joyi bilan Pi orqasida

(e) tugmachani LED halqali va qurilma oldidagi holat nuri bilan

8 -qadam: Natijalar

Natijalar
Natijalar
Natijalar
Natijalar
Natijalar
Natijalar
Natijalar
Natijalar

3D lazerli skaner moslamalarni aniqlik bilan skaner qila oldi. Ob'ektlarning xususiyatlari aniq va taniqli bo'lib, uning qismlari Repetier kabi kesuvchi dastur yordamida 3D bosib chiqarish juda oson edi. Yuqoridagi rasmlarda yog'och bo'lagi va kauchuk o'rdakni skanerlash namunalari ko'rsatilgan.

Sinov paytida men topgan eng katta topilmalarimiz va yutuqlarimizdan biri bu qurilmaning mustahkamligi edi. Xuddi shu ob'ektni bir necha marta sinab ko'rish paytida, skaner har safar juda o'xshash bo'lgan.obj faylini ishlab chiqara oldi, hatto biz ob'ektning joylashishini biroz o'zgartirgan bo'lsak ham. Uchta alohida skanerdan ko'rinib turibdiki, ularning barchasi bir -biriga juda o'xshash bo'lib, bir xil tafsilotlarni va bir xil tafsilotlarni qo'lga kiritadi. Umuman olganda, tizimimizning mustahkamligi va mustahkamligi meni juda hayratda qoldirdi.

Men haqiqatan ham sozlay oladigan o'zgaruvchilardan biri bu skanerlarning aniqligi. Bosqichda 400 qadam borligi sababli, men burchak o'lchamlarini belgilash uchun har bir ΔΘ qanchalik katta bo'lishini tanlashim mumkin. Odatiy bo'lib, menda 20 o'lchamdagi burchak o'lchamlari o'rnatilgan, ya'ni har bir kadrda dvigatel 20 bosqichga aylanadi (400/20 = 20). Bu asosan vaqt manfaati uchun tanlangan - skanerni shu tarzda bajarish uchun taxminan 45 soniya kerak bo'ladi. Ammo, agar men yuqori sifatli skanerlashni xohlasam, takrorlanishlar sonini 400 tagacha ko'paytirishim mumkin. Bu modelni yaratish uchun yana ko'p nuqtalarni beradi, bu esa batafsilroq skanerlash imkonini beradi. Burchak o'lchamidan tashqari, men vertikal piksellar sonini yoki lazer bo'lagi bo'ylab qancha turli nuqtalarni tanlashni sozlashim mumkin. Vaqt o'tishi bilan shunga o'xshash qiziqish uchun menda bu ko'rsatuv 20 ga o'rnatilgan, lekin men yaxshi natijalarga erishish uchun uni ko'paytirishim mumkin. Burchak o'lchamlari va fazoviy o'lchamlarning ushbu parametrlari bilan o'ynab, men oxirgi rasmda quyida turli xil skanerlash natijalarini to'play oldim. Har bir yorliq formatlangan, bu burchak o'lchamlari x fazoviy o'lchamlari. Odatiy skanerlash sozlamalarida ko'rinib turibdiki, o'rdakning xususiyatlari taniqli, lekin batafsil emas. Ammo, men piksellar sonini ko'paytirganimda, o'rdakning ko'zlari, tumshug'i, dumi va qanotlari singari individual aniq xususiyatlar ko'rina boshlaydi. Eng yuqori aniqlikdagi tasvirni skanerlash taxminan 5 daqiqa davom etdi. Muvaffaqiyatli qarorni ko'rish juda katta muvaffaqiyat edi.

Cheklovlar

Loyihaning muvaffaqiyatli natijalariga qaramay, loyihalashtirish va amalga oshirishda bir qancha cheklovlar mavjud. Lazer yordamida yorug'lik tarqalishi bilan bog'liq ko'plab muammolar paydo bo'ladi. Men skanerlamoqchi bo'lgan shaffof, yaltiroq yoki juda qorong'i ob'ektlar yorug'lik yuzadan qanday aks etishi bilan bog'liq muammolarga duch keldi. Agar ob'ekt shaffof bo'lsa, yorug'lik so'riladi va tarqaladi, bu esa bo'laklarni juda shovqinli o'qishga olib keladi. Yorqin va qorong'i narsalarda yorug'lik aks etishi yoki so'rilishi mumkin edi, uni olish qiyin bo'lardi. Bundan tashqari, men ob'ektni xususiyatlarini tasvirga olish uchun kameradan foydalanayotganim sababli, uning sezilishi ko'rish nuqtai nazaridan cheklangan, ya'ni konkav jismlar va o'tkir burchaklar ko'pincha ob'ektning boshqa qismlari tomonidan bloklanadi. Bu bizning kauchuk o'rdak misolimizda ko'rsatilgan, chunki skanerlashda dumi ba'zan egriligini yo'qotadi. Kamera, shuningdek, faqat sirt tuzilmalarini aniqlay oladi, ya'ni teshiklar yoki ichki geometriya olinmaydi. Biroq, bu boshqa ko'plab skanerlash echimlari bo'lgan keng tarqalgan muammo.

Keyingi qadamlar

Men loyihamiz natijalaridan mamnun bo'lgan bo'lsam -da, uni yaxshilash uchun bir nechta narsalarni amalga oshirish mumkin edi. Yangi boshlanuvchilar uchun, hozirgi holatda, skanerlash piksellar sonini faqat bizning kodimizdagi qattiq kodli piksellar sonini o'zgartirish orqali o'zgartirish mumkin. Loyihani yanada kengroq qilish uchun piksellar sonini o'lchash moslamasini kiritish mumkin, shuning uchun foydalanuvchi monitor va klaviaturani skanerga ulamasdan piksellar sonini o'zgartirishi mumkin. Bundan tashqari, skaner tasvirlarni yaratadi, ular ba'zida jingalak ko'rinishi mumkin. Buni tuzatish uchun nosimmetrikliklar va qattiq burchaklarni tekislash uchun to'rlarni tekislash texnikasi qo'llanilishi mumkin. Nihoyat, men piksel koordinatalari haqiqiy dunyoga mos kelmasligini aniqladim. Men yaratgan to'rlar haqiqiy ob'ektdan 6-7 barobar katta edi. Kelgusida, ob'ektning haqiqiy o'lchamiga aniqroq bo'lishi uchun, to'rlarni o'lchash usulini qo'llash foydali bo'ladi.

9 -qadam: Resurslar

Men kodni, chop etish uchun STL fayllarini va butun loyihani kesish uchun DXF fayllarini qo'shdim.

Raspberry Pi tanlovi 2020
Raspberry Pi tanlovi 2020
Raspberry Pi tanlovi 2020
Raspberry Pi tanlovi 2020

2020 yilgi Raspberry Pi tanlovining birinchi sovrini

Tavsiya: