فهرست مطالب:

ربات مرتب سازی بازیافت: 15 مرحله (همراه با تصاویر)
ربات مرتب سازی بازیافت: 15 مرحله (همراه با تصاویر)

تصویری: ربات مرتب سازی بازیافت: 15 مرحله (همراه با تصاویر)

تصویری: ربات مرتب سازی بازیافت: 15 مرحله (همراه با تصاویر)
تصویری: ۸ چیزی معمولی که دلیل ساخت آنرا نمی دانستید. 2024, نوامبر
Anonim
Image
Image
بدست آوردن داده ها
بدست آوردن داده ها

آیا می دانید که میزان متوسط آلودگی در جوامع و مشاغل تا 25 درصد متغیر است؟ این بدان معناست که از هر چهار قطعه بازیافتی که دور می ریزید ، یک مورد بازیافت نمی شود. این به دلیل خطای انسانی در مراکز بازیافت ایجاد می شود. به طور سنتی ، کارگران بسته به مواد ، سطل زباله را در سطل های مختلف مرتب می کنند. انسانها باید مرتکب خطا شوند و در نهایت سطل زباله را به درستی طبقه بندی نکنند که منجر به آلودگی می شود. با توجه به اهمیت بیشتر آلودگی و تغییرات آب و هوایی در جامعه امروز ، بازیافت نقش مهمی در حفاظت از سیاره ما دارد. با استفاده از روبات ها برای مرتب سازی سطل زباله ، میزان آلودگی به شدت کاهش می یابد ، البته ناگفته نماند که بسیار ارزان تر و پایدارتر است. برای حل این مشکل ، یک ربات مرتب سازی بازیافتی ایجاد کردم که از یادگیری ماشینی برای مرتب سازی بین مواد مختلف بازیافت استفاده می کند.

مرحله 1: قطعات

اطمینان حاصل کنید که قسمت های زیر را به همراه این آموزش باید دنبال کنید:

قطعات چاپ سه بعدی (مرحله زیر را ببینید)

رزبری پای RPI 4 4 گیگابایت

Google Coral USB Accelerator

آردوینو Uno R3

ماژول دوربین رزبری پای V2

منبع تغذیه دیواری 5V 2A DC

منبع تغذیه DC 12V

SG90 9g Micro Servos 4 عدد.

M3 x 0.5 میلی متر از جنس استنلس استیل Self-Lock Nylon Hex Lock Nut 100pcs.

M3x20 دکمه سر تیتانیوم پیچ 10 عدد.

MG996R موتور گیربکس گشتاور آنالوگ سروو موتور 4 عدد.

کارت حافظه انتخابی 32 گیگابایتی سامسونگ

کابل Adafruit Flex برای دوربین رزبری پای - 1 متر

M2 Male Male Female Spaceer Standoff Screw Nut Assort مجموعه کیت

فن 60 ولت 12 ولت

جعبه پروژه 6.69 "x 5.12" x 2.95"

مرحله 2: قطعات چاپ سه بعدی

شما باید تمام قسمتهای بازوی رباتیک را به صورت سه بعدی چاپ کنید. همه فایلها را می توانید در اینجا پیدا کنید.

مرحله 3: کد

لطفاً برای دنبال کردن این آموزش ، مخزن GitHub من را کلون کنید.

مرحله 4: بدست آوردن داده ها

برای آموزش مدل تشخیص شیء که می تواند مواد مختلف بازیافت را شناسایی و تشخیص دهد ، از مجموعه داده سطل زباله که شامل 2527 تصویر است استفاده کردم:

  • 501 لیوان
  • کاغذ 594
  • مقوا 403
  • پلاستیک 482
  • فلز 410
  • 137 آشغال

تصویر بالا نمونه ای از تصاویر موجود در مجموعه داده است.

این مجموعه داده برای آموزش مدل تشخیص شی بسیار کوچک است. فقط حدود 100 تصویر از زباله وجود دارد که برای آموزش یک مدل دقیق بسیار اندک است ، بنابراین تصمیم گرفتم آن را کنار بگذارم.

برای بارگیری مجموعه داده می توانید از این پوشه Google Drive استفاده کنید. حتماً فایل dataset-resized.zip را بارگیری کنید. این شامل مجموعه ای از تصاویر است که در حال حاضر به اندازه کوچکتر تغییر اندازه داده اند تا امکان آموزش سریعتر فراهم شود. اگر می خواهید اندازه تصاویر خام را به دلخواه تغییر دهید ، می توانید فایل dataset-original.zip را بارگیری کنید.

مرحله 5: برچسب زدن به تصاویر

برچسب زدن به تصاویر
برچسب زدن به تصاویر

در مرحله بعد ، ما باید چندین تصویر از مواد مختلف بازیافت را برچسب گذاری کنیم تا بتوانیم مدل تشخیص شی را آموزش دهیم. برای انجام این کار ، من از labelImg استفاده کردم ، یک نرم افزار رایگان که به شما امکان می دهد جعبه های محدود کننده شی را در تصاویر برچسب گذاری کنید.

هر تصویر را با برچسب مناسب برچسب گذاری کنید. این آموزش به شما نشان می دهد که چگونه. اطمینان حاصل کنید که هر جعبه محدود کننده را تا مرز هر شی نزدیک کنید تا اطمینان حاصل کنید که مدل تشخیص تا حد ممکن دقیق است. همه فایل های.xml را در یک پوشه ذخیره کنید.

عکس بالا نحوه برچسب زدن به تصاویر شما را نشان می دهد.

این یک تجربه بسیار خسته کننده و بی حس کننده است. خوشبختانه از شما ، من قبلاً همه تصاویر را برای شما برچسب گذاری کردم! میتوانید اینجا پیدایش کنید.

مرحله ششم: آموزش

از نظر آموزشی ، تصمیم گرفتم از آموزش انتقال با استفاده از Tensorflow استفاده کنم. این به ما امکان می دهد یک مدل دقیق و بدون مقدار زیادی داده آموزش دهیم.

چند راه برای انجام این کار وجود دارد. ما می توانیم آن را روی دستگاه رومیزی محلی خود در ابر انجام دهیم. بسته به قدرت کامپیوتر شما و در صورت داشتن GPU قدرتمند ، آموزش روی دستگاه محلی ما بسیار طولانی طول خواهد کشید. به نظر من این احتمالاً ساده ترین راه است ، اما باز هم با سرعت منفی.

برخی نکات کلیدی در مورد یادگیری انتقال باید مورد توجه قرار گیرد. شما باید مطمئن شوید که مدل از پیش آموزش دیده ای که برای آموزش استفاده می کنید با TPU Coral Edge سازگار است. در اینجا می توانید مدلهای سازگار را پیدا کنید. من از مدل MobileNet SSD v2 (COCO) استفاده کردم. با خیال راحت با دیگران نیز آزمایش کنید.

برای آموزش روی دستگاه محلی خود ، توصیه می کنم اگر از Windows 10 استفاده می کنید ، آموزش Google یا آموزش EdjeElectronics را دنبال کنید. شخصاً ، آموزش EdjeElectroncs را آزمایش کرده ام و در دسکتاپ خود به موفقیت رسیده ام. من نمی توانم تأیید کنم که آموزش گوگل کار می کند یا خیر ، اما اگر این کار را نکند ، شگفت زده می شوم.

برای آموزش در ابر ، می توانید از AWS یا GCP استفاده کنید. این آموزش را پیدا کردم که می توانید امتحان کنید. از TPU ابری گوگل استفاده می کند که می تواند مدل تشخیص شیء شما را بسیار سریع آموزش دهد. با خیال راحت از AWS نیز استفاده کنید.

چه در دستگاه محلی خود تمرین کنید یا در ابر ، باید با یک مدل tensorflow آموزش دیده به پایان برسید.

مرحله 7: تدوین مدل آموزش دیده

تدوین مدل آموزش دیده
تدوین مدل آموزش دیده

برای اینکه مدل آموزش دیده شما با TPU Coral Edge کار کند ، باید آن را کامپایل کنید.

در بالا نمودار جریان کار آمده است.

پس از آموزش ، باید آن را به صورت نمودار منجمد (فایل.pb) ذخیره کنید. سپس ، باید آن را به مدل Tensorflow Lite تبدیل کنید. توجه کنید که چگونه می گوید "کمی سازی پس از آموزش". اگر هنگام استفاده از آموزش انتقال از مدلهای سازگار از پیش آموزش دیده استفاده کردید ، نیازی به این کار ندارید. به اسناد کامل سازگاری در اینجا نگاه کنید.

با مدل Tensorflow Lite ، باید آن را به مدل Edge TPU کامپایل کنید. جزئیات نحوه انجام این کار را اینجا ببینید.

مرحله 8: مدل تشخیص بازیافت

اگر نمی خواهید زحمت آموزش ، تبدیل و تدوین مدل تشخیص شی را پشت سر بگذارید ، مدل تشخیص بازیافت من را اینجا ببینید.

مرحله 9: مدل را مستقر کنید

مدل را مستقر کنید
مدل را مستقر کنید

مرحله بعدی راه اندازی Raspberry Pi (RPI) و Edge TPU برای اجرای مدل تشخیص شی آموزش دیده است.

ابتدا RPI را با استفاده از این آموزش تنظیم کنید.

بعد ، Edge TPU را پس از این آموزش راه اندازی کنید.

در نهایت ، ماژول دوربین RPI را به رزبری pi وصل کنید.

شما اکنون آماده آزمایش مدل تشخیص شیء خود هستید!

اگر مخزن من را قبلاً کلون کرده اید ، می خواهید به فهرست RPI بروید و فایل test_detection.py را اجرا کنید:

python test_detection.py --model recycle_ssd_mobilenet_v2_quantized_300x300_coco_2019_01_03/dete_edgetpu.tflite --labels recycle_ssd_mobilenet_v2_quantized_300x300_coco_2019_01

یک پنجره کوچک باید ظاهر شود و اگر یک بطری آب پلاستیکی یا سایر مواد بازیافتی قرار دهید ، باید آن را مانند تصویر بالا تشخیص دهد.

برای خاتمه برنامه حرف "q" را روی صفحه کلید خود فشار دهید.

مرحله 10: بازوی روباتیک را بسازید

بازوی روباتیک را بسازید
بازوی روباتیک را بسازید

بازوی رباتیک بازوی چاپ سه بعدی است که در اینجا پیدا کردم. فقط آموزش راه اندازی آن را دنبال کنید.

تصویر بالا نشان می دهد که بازوی روباتیک من چگونه شکل گرفته است.

مطمئن شوید که پین های سروو را مطابق پین های ورودی/خروجی آردوینو در کد من وصل کرده اید. سرووها را از پایین به بالای بازو به این ترتیب وصل کنید: 3 ، 11 ، 10 ، 9 ، 6 ، 5. عدم اتصال آن به این ترتیب باعث می شود که بازو سرووی اشتباهی را حرکت دهد!

با حرکت به فهرست Arduino و اجرای فایل BasicMovement.ino ، آن را آزمایش کنید. این کار به سادگی شیئی را که در جلوی بازو قرار داده اید گرفته و آن را پشت سر می اندازید.

مرحله 11: اتصال RPI و بازوی روباتیک

اتصال RPI و بازوی روباتیک
اتصال RPI و بازوی روباتیک

ابتدا باید ماژول دوربین را در قسمت پایین پنجه نصب کنیم. تصویر بالا نشان می دهد که چگونه باید به نظر برسد.

سعی کنید دوربین را تا جای ممکن راست کنید تا خطاها در گرفتن مواد بازیافت شناخته شده به حداقل برسد. شما باید از کابل روبان ماژول دوربین بلند همانطور که در لیست مواد دیده می شود استفاده کنید.

در مرحله بعد ، باید فایل roboticArm.ino را در برد Arduino بارگذاری کنید.

در نهایت ، ما فقط باید یک کابل USB را بین پورت USB RPI و پورت USB آردوینو متصل کنیم. این به آنها امکان می دهد از طریق سریال ارتباط برقرار کنند. این آموزش را در مورد نحوه تنظیم آن دنبال کنید.

مرحله 12: لمس نهایی

لمس نهایی
لمس نهایی
لمس نهایی
لمس نهایی

این مرحله کاملاً اختیاری است ، اما من دوست دارم همه اجزای خود را در یک جعبه کوچک و کوچک پروژه قرار دهم.

تصاویر بالا نحوه ظاهر آن را نشان می دهد.

می توانید جعبه پروژه را در لیست مواد پیدا کنید. من فقط چند سوراخ ایجاد کردم و از استندهای برنجی برای نصب وسایل برقی استفاده کردم. من همچنین 4 فن خنک کننده را نصب کردم تا جریان هوا ثابت را از طریق RPI و TPU هنگام گرم نگه دارم.

مرحله 13: دویدن

شما اکنون آماده استفاده از بازوی روباتیک و RPI هستید! در RPI ، به سادگی می توانید فایل recycle_detection.py را اجرا کنید. با این کار پنجره ای باز می شود و بازوی رباتیک درست مانند ویدیوی نمایشی شروع به کار می کند! برای خاتمه برنامه حرف "q" را روی صفحه کلید خود فشار دهید.

با خیال راحت با کد بازی کنید و از آن لذت ببرید!

مرحله 14: کار آینده

امیدوارم از R. O. S. استفاده کنم برای کنترل بازوی رباتیک با حرکات دقیق تر. این امر امکان برداشت دقیق تر اجسام را ممکن می سازد.

مرحله 15: سوال دارید؟

در صورت داشتن هر گونه سوال در زیر نظر دهید!

توصیه شده: