สารบัญ:
- ขั้นตอนที่ 1: อะไหล่
- ขั้นตอนที่ 2: ชิ้นส่วนที่พิมพ์ 3 มิติ
- ขั้นตอนที่ 3: รหัส
- ขั้นตอนที่ 4: รับข้อมูล
- ขั้นตอนที่ 5: การติดฉลากรูปภาพ
- ขั้นตอนที่ 6: การฝึกอบรม
- ขั้นตอนที่ 7: รวบรวมโมเดลที่ผ่านการฝึกอบรม
- ขั้นตอนที่ 8: แบบจำลองการตรวจจับการรีไซเคิล
- ขั้นตอนที่ 9: ปรับใช้ Model
- ขั้นตอนที่ 10: สร้างแขนหุ่นยนต์
- ขั้นตอนที่ 11: เชื่อมต่อ RPI และ Robotic Arm
- ขั้นตอนที่ 12: สัมผัสสุดท้าย
- ขั้นตอนที่ 13: วิ่ง
- ขั้นตอนที่ 14: งานในอนาคต
- ขั้นตอนที่ 15: คำถาม?
วีดีโอ: หุ่นยนต์คัดแยกขยะรีไซเคิล: 15 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
คุณรู้หรือไม่ว่าอัตราการปนเปื้อนโดยเฉลี่ยในชุมชนและธุรกิจอยู่ที่ 25%? นั่นหมายความว่า 1 ใน 4 ชิ้นของการรีไซเคิลที่คุณทิ้งไปจะไม่ถูกนำไปรีไซเคิล สาเหตุนี้เกิดจากความผิดพลาดของมนุษย์ในศูนย์รีไซเคิล ตามเนื้อผ้า คนงานจะคัดแยกขยะออกเป็นถังขยะต่าง ๆ ขึ้นอยู่กับวัสดุ มนุษย์จำต้องผิดพลาดและจบลงด้วยการไม่คัดแยกขยะอย่างถูกต้อง นำไปสู่การปนเปื้อน เนื่องจากมลภาวะและการเปลี่ยนแปลงสภาพภูมิอากาศมีความสำคัญมากขึ้นในสังคมปัจจุบัน การรีไซเคิลจึงมีส่วนสำคัญในการปกป้องโลกของเรา การใช้หุ่นยนต์ในการคัดแยกขยะ อัตราการปนเปื้อนจะลดลงอย่างมาก ไม่ต้องพูดถึงว่าถูกกว่าและยั่งยืนกว่ามาก เพื่อแก้ปัญหานี้ ฉันได้สร้างหุ่นยนต์คัดแยกขยะที่ใช้การเรียนรู้ของเครื่องเพื่อจัดเรียงวัสดุรีไซเคิลต่างๆ
ขั้นตอนที่ 1: อะไหล่
ตรวจสอบให้แน่ใจว่าคุณมีส่วนต่าง ๆ ต่อไปนี้เพื่อติดตามพร้อมกับบทช่วยสอนนี้:
ชิ้นส่วนที่พิมพ์ 3 มิติ (ดูขั้นตอนด้านล่าง)
Raspberry Pi RPI 4 4GB
Google Coral USB Accelerator
Arduino Uno R3
โมดูลกล้อง Raspberry Pi V2
แหล่งจ่ายไฟ DC แบบติดผนัง 5V 2A
แหล่งจ่ายไฟ DC 12V
SG90 9g ไมโครเซอร์โว 4 ชิ้น
M3 x 0.5มม. สแตนเลสล็อคตัวเองน็อตล็อคไนล่อน 100ชิ้น.
M3x20 สกรูหัวกระดุมไททาเนียม 10ชิ้น
MG996Rเมทัลเกียร์ทอร์คแอนะล็อกเซอร์โวมอเตอร์ 4ชิ้น.
การ์ดหน่วยความจำ Samsung 32GB Select
Adafruit Flex Cable for Raspberry Pi Camera - 1 เมตร
M2 ตัวเมียตัวเมียทองเหลือง Spacer Standoff Screw Nut Assortment Kit
พัดลม 12V ขนาด 60 มม.
กล่องโปรเจ็กต์ 6.69"x 5.12" x 2.95"
ขั้นตอนที่ 2: ชิ้นส่วนที่พิมพ์ 3 มิติ
คุณจะต้องพิมพ์ 3D ชิ้นส่วนทั้งหมดสำหรับแขนหุ่นยนต์ คุณสามารถค้นหาไฟล์ทั้งหมดได้ที่นี่
ขั้นตอนที่ 3: รหัส
โปรดโคลนที่เก็บ GitHub ของฉันเพื่อทำตามบทช่วยสอนนี้
ขั้นตอนที่ 4: รับข้อมูล
ในการฝึกโมเดลการตรวจจับวัตถุที่สามารถตรวจจับและจดจำวัสดุรีไซเคิลต่างๆ ได้ ฉันใช้ชุดข้อมูลในถังขยะซึ่งประกอบด้วยภาพ 2527 ภาพ:
- 501 แก้ว
- 594 กระดาษ
- 403 กระดาษแข็ง
- 482 พลาสติก
- 410 โลหะ
- 137 ถังขยะ
ภาพด้านบนเป็นตัวอย่างหนึ่งของภาพจากชุดข้อมูล
ชุดข้อมูลนี้มีขนาดเล็กมากในการฝึกโมเดลการตรวจจับวัตถุ มีรูปขยะประมาณ 100 รูปที่น้อยเกินไปที่จะฝึกโมเดลที่แม่นยำ ดังนั้นฉันจึงตัดสินใจละทิ้ง
คุณสามารถใช้โฟลเดอร์ Google ไดรฟ์นี้เพื่อดาวน์โหลดชุดข้อมูล อย่าลืมดาวน์โหลดไฟล์ dataset-resized.zip ประกอบด้วยชุดรูปภาพที่ปรับขนาดให้เล็กลงแล้วเพื่อให้สามารถฝึกได้เร็วขึ้น หากคุณต้องการปรับขนาดภาพดิบตามต้องการ โปรดดาวน์โหลดไฟล์ dataset-original.zip
ขั้นตอนที่ 5: การติดฉลากรูปภาพ
ต่อไป เราต้องติดฉลากรูปภาพหลายรูปของวัสดุรีไซเคิลต่างๆ เพื่อให้เราสามารถฝึกโมเดลการตรวจจับวัตถุได้ ในการทำเช่นนี้ ฉันใช้ labelImg ซึ่งเป็นซอฟต์แวร์ฟรีที่ให้คุณติดป้ายกำกับกล่องที่มีขอบเขตวัตถุในรูปภาพ
ติดป้ายกำกับแต่ละภาพด้วยป้ายกำกับที่เหมาะสม บทช่วยสอนนี้จะแสดงให้คุณเห็นว่า ตรวจสอบให้แน่ใจว่าได้ทำให้กรอบล้อมรอบแต่ละกล่องใกล้กับเส้นขอบของแต่ละวัตถุเพื่อให้แน่ใจว่าแบบจำลองการตรวจจับนั้นแม่นยำที่สุด บันทึกไฟล์.xml ทั้งหมดลงในโฟลเดอร์
รูปภาพด้านบนแสดงวิธีการติดป้ายกำกับรูปภาพของคุณ
นี่เป็นประสบการณ์ที่น่าเบื่อและทำให้มึนงงมาก โชคดีสำหรับคุณ ฉันติดป้ายกำกับรูปภาพทั้งหมดสำหรับคุณแล้ว! คุณสามารถหาได้ที่นี่
ขั้นตอนที่ 6: การฝึกอบรม
ในแง่ของการฝึกอบรม ฉันตัดสินใจใช้การเรียนรู้แบบถ่ายโอนโดยใช้ Tensorflow สิ่งนี้ทำให้เราสามารถฝึกโมเดลที่แม่นยำอย่างเหมาะสมโดยไม่ต้องมีข้อมูลจำนวนมาก
มีสองวิธีที่เราสามารถทำได้ เราสามารถทำได้บนเครื่องเดสก์ท็อปในพื้นที่ของเราบนคลาวด์ การฝึกอบรมบนเครื่องท้องถิ่นของเราจะใช้เวลานานมาก ขึ้นอยู่กับว่าคอมพิวเตอร์ของคุณมีประสิทธิภาพเพียงใด และหากคุณมี GPU ที่ทรงพลัง นี่อาจเป็นวิธีที่ง่ายที่สุดในความคิดของฉัน แต่อีกครั้งด้วยข้อเสียของความเร็ว
มีสิ่งสำคัญบางประการที่ควรทราบเกี่ยวกับการโอนย้ายการเรียนรู้ คุณต้องตรวจสอบให้แน่ใจว่ารุ่นก่อนการฝึกอบรมที่คุณใช้สำหรับการฝึกเข้ากันได้กับ Coral Edge TPU คุณสามารถค้นหารุ่นที่เข้ากันได้ที่นี่ ฉันใช้รุ่น MobileNet SSD v2 (COCO) อย่าลังเลที่จะทดลองกับผู้อื่นด้วย
ในการฝึกบนเครื่องของคุณ ฉันแนะนำให้ทำตามบทช่วยสอนของ Google หรือบทช่วยสอน EdjeElectronics หากทำงานบน Windows 10 โดยส่วนตัวแล้ว ฉันได้ทดสอบบทช่วยสอนของ EdjeElectroncs และประสบความสำเร็จบนเดสก์ท็อปของฉันแล้ว ฉันไม่สามารถยืนยันได้ว่าบทช่วยสอนของ Google จะใช้งานได้หรือไม่ แต่ฉันจะแปลกใจถ้าใช้ไม่ได้
ในการฝึกในระบบคลาวด์ คุณสามารถใช้ AWS หรือ GCP ฉันพบบทช่วยสอนนี้ที่คุณสามารถลองได้ ใช้คลาวด์ TPU ของ Google ที่สามารถฝึกโมเดลการตรวจจับวัตถุของคุณได้อย่างรวดเร็ว อย่าลังเลที่จะใช้ AWS เช่นกัน
ไม่ว่าคุณจะฝึกบนเครื่องในพื้นที่ของคุณหรือในระบบคลาวด์ คุณควรลงเอยด้วยโมเดลเทนเซอร์โฟลว์ที่ผ่านการฝึกอบรม
ขั้นตอนที่ 7: รวบรวมโมเดลที่ผ่านการฝึกอบรม
คุณต้องคอมไพล์โมเดลเพื่อให้โมเดลที่ผ่านการฝึกอบรมของคุณทำงานกับ Coral Edge TPU ได้
ด้านบนเป็นไดอะแกรมสำหรับเวิร์กโฟลว์
หลังการฝึก คุณต้องบันทึกเป็นกราฟที่ตรึงไว้ (ไฟล์.pb) จากนั้น คุณต้องแปลงเป็นโมเดล Tensorflow Lite สังเกตว่ามีข้อความว่า "การควอนไทซ์หลังการฝึก" หากคุณใช้โมเดลที่ได้รับการฝึกฝนมาล่วงหน้าที่เข้ากันได้เมื่อใช้การเรียนรู้แบบโอนย้าย คุณไม่จำเป็นต้องทำเช่นนี้ ดูเอกสารฉบับเต็มเกี่ยวกับความเข้ากันได้ที่นี่
ด้วยรุ่น Tensorflow Lite คุณต้องคอมไพล์ไปยังรุ่น Edge TPU ดูรายละเอียดวิธีการทำได้ที่นี่
ขั้นตอนที่ 8: แบบจำลองการตรวจจับการรีไซเคิล
หากคุณไม่ต้องการพบกับความยุ่งยากในการฝึกอบรม การแปลง และการรวบรวมแบบจำลองการตรวจจับวัตถุ ให้ตรวจสอบแบบจำลองการตรวจจับการรีไซเคิลของฉันที่นี่
ขั้นตอนที่ 9: ปรับใช้ Model
ขั้นตอนต่อไปคือการตั้งค่า Raspberry Pi (RPI) และ Edge TPU เพื่อเรียกใช้โมเดลการตรวจจับวัตถุที่ผ่านการฝึกอบรม
ขั้นแรก ตั้งค่า RPI โดยใช้บทช่วยสอนนี้
ถัดไป ตั้งค่า Edge TPU ตามบทช่วยสอนนี้
สุดท้าย เชื่อมต่อโมดูลกล้อง RPI กับ Raspberry Pi
ตอนนี้คุณพร้อมที่จะทดสอบโมเดลการตรวจจับวัตถุของคุณแล้ว!
หากคุณโคลนที่เก็บของฉันแล้ว คุณจะต้องไปที่ไดเร็กทอรี RPI และเรียกใช้ไฟล์ test_detection.py:
หลาม test_detection.py --model recycle_ssd_mobilenet_v2_quantized_300x300_coco_2019_01_03/detect_edgetpu.tflite --labels recycle_ssd_mobilenet_v2_quantized_300x300_coco_2019_01_03/labels.txt
หน้าต่างเล็ก ๆ จะปรากฏขึ้น และหากคุณใส่ขวดน้ำพลาสติกหรือวัสดุรีไซเคิลอื่น ๆ ก็ควรตรวจพบเหมือนภาพด้านบน
กดตัวอักษร "q" บนแป้นพิมพ์เพื่อสิ้นสุดโปรแกรม
ขั้นตอนที่ 10: สร้างแขนหุ่นยนต์
แขนหุ่นยนต์เป็นแขนพิมพ์ 3 มิติที่ฉันพบที่นี่ เพียงทำตามบทช่วยสอนเกี่ยวกับการตั้งค่า
ภาพด้านบนแสดงให้เห็นว่าแขนหุ่นยนต์ของฉันเป็นอย่างไร
ตรวจสอบให้แน่ใจว่าคุณเชื่อมต่อเซอร์โวพินกับพิน Arduino I / O ในรหัสของฉัน เชื่อมต่อเซอร์โวจากล่างขึ้นบนของแขนตามลำดับนี้: 3, 11, 10, 9, 6, 5. การไม่เชื่อมต่อตามลำดับนี้จะทำให้แขนขยับเซอร์โวผิด!
ทดสอบเพื่อดูว่ามันทำงานโดยไปที่ไดเร็กทอรี Arduino และเรียกใช้ไฟล์ basicMovement.ino นี่จะเป็นการคว้าวัตถุที่คุณวางไว้ข้างหน้าแขนแล้วปล่อยไว้ข้างหลัง
ขั้นตอนที่ 11: เชื่อมต่อ RPI และ Robotic Arm
ก่อนอื่นเราต้องติดตั้งโมดูลกล้องที่ด้านล่างของกรงเล็บ ภาพด้านบนแสดงให้เห็นว่าควรมีลักษณะอย่างไร
พยายามจัดตำแหน่งกล้องให้ตรงที่สุดเพื่อลดข้อผิดพลาดในการจับวัสดุรีไซเคิลที่รู้จัก คุณจะต้องใช้สายแพของโมดูลกล้องแบบยาวตามที่เห็นในรายการวัสดุ
ถัดไป คุณต้องอัปโหลดไฟล์ roboticArm.ino ไปยังบอร์ด Arduino
สุดท้าย เราแค่ต้องเชื่อมต่อสาย USB ระหว่างพอร์ต USB ของ RPI และพอร์ต USB ของ Arduino ซึ่งจะช่วยให้สื่อสารผ่านซีเรียลได้ ทำตามบทช่วยสอนนี้เกี่ยวกับวิธีตั้งค่า
ขั้นตอนที่ 12: สัมผัสสุดท้าย
ขั้นตอนนี้เป็นทางเลือกอย่างสมบูรณ์ แต่ฉันชอบที่จะใส่ส่วนประกอบทั้งหมดของฉันลงในกล่องโปรเจ็กต์เล็กๆ ที่สวยงาม
ภาพด้านบนแสดงให้เห็นว่ามันมีลักษณะอย่างไร
คุณสามารถค้นหากล่องโครงการได้ในรายการวัสดุ ฉันเพิ่งเจาะรูและใช้ขาตั้งทองเหลืองเพื่อติดตั้งอุปกรณ์อิเล็กทรอนิกส์ ฉันยังติดตั้งพัดลมระบายความร้อน 4 ตัวเพื่อให้อากาศไหลเวียนผ่าน RPI และ TPU เมื่อร้อนตลอดเวลา
ขั้นตอนที่ 13: วิ่ง
ตอนนี้คุณพร้อมที่จะเปิดทั้งแขนหุ่นยนต์และ RPI แล้ว! บน RPI คุณสามารถเรียกใช้ไฟล์ recycle_detection.py ได้ง่ายๆ ซึ่งจะเปิดหน้าต่างและแขนหุ่นยนต์จะเริ่มทำงานเหมือนในวิดีโอสาธิต! กดตัวอักษร "q" บนแป้นพิมพ์เพื่อสิ้นสุดโปรแกรม
รู้สึกอิสระที่จะเล่นกับรหัสและสนุก!
ขั้นตอนที่ 14: งานในอนาคต
ฉันหวังว่าจะใช้ R. O. S. เพื่อควบคุมแขนหุ่นยนต์ด้วยการเคลื่อนไหวที่แม่นยำยิ่งขึ้น สิ่งนี้จะช่วยให้หยิบวัตถุได้แม่นยำยิ่งขึ้น
ขั้นตอนที่ 15: คำถาม?
อย่าลังเลที่จะแสดงความคิดเห็นด้านล่างหากคุณมีคำถามใด ๆ !
แนะนำ:
DIY 37 Leds เกมรูเล็ต Arduino: 3 ขั้นตอน (พร้อมรูปภาพ)
DIY 37 Leds เกมรูเล็ต Arduino: รูเล็ตเป็นเกมคาสิโนที่ตั้งชื่อตามคำภาษาฝรั่งเศสหมายถึงวงล้อเล็ก
หมวกนิรภัย Covid ส่วนที่ 1: บทนำสู่ Tinkercad Circuits!: 20 ขั้นตอน (พร้อมรูปภาพ)
Covid Safety Helmet ตอนที่ 1: บทนำสู่ Tinkercad Circuits!: สวัสดีเพื่อน ๆ ในชุดสองตอนนี้ เราจะเรียนรู้วิธีใช้วงจรของ Tinkercad - เครื่องมือที่สนุก ทรงพลัง และให้ความรู้สำหรับการเรียนรู้เกี่ยวกับวิธีการทำงานของวงจร! หนึ่งในวิธีที่ดีที่สุดในการเรียนรู้คือการทำ ดังนั้น อันดับแรก เราจะออกแบบโครงการของเราเอง: th
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): 6 ขั้นตอน (พร้อมรูปภาพ)
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): การชาร์จแบบเหนี่ยวนำ (เรียกอีกอย่างว่าการชาร์จแบบไร้สายหรือการชาร์จแบบไร้สาย) เป็นการถ่ายโอนพลังงานแบบไร้สาย ใช้การเหนี่ยวนำแม่เหล็กไฟฟ้าเพื่อจ่ายกระแสไฟฟ้าให้กับอุปกรณ์พกพา แอปพลิเคชั่นที่พบบ่อยที่สุดคือ Qi Wireless Charging st
4 ขั้นตอน Digital Sequencer: 19 ขั้นตอน (พร้อมรูปภาพ)
4 ขั้นตอน Digital Sequencer: CPE 133, Cal Poly San Luis Obispo ผู้สร้างโปรเจ็กต์: Jayson Johnston และ Bjorn Nelson ในอุตสาหกรรมเพลงในปัจจุบัน ซึ่งเป็นหนึ่งใน “instruments” เป็นเครื่องสังเคราะห์เสียงดิจิตอล ดนตรีทุกประเภท ตั้งแต่ฮิปฮอป ป๊อป และอีฟ
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: 13 ขั้นตอน (พร้อมรูปภาพ)
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: ทำป้ายโฆษณาแบบพกพาราคาถูกด้วยตัวเอง ด้วยป้ายนี้ คุณสามารถแสดงข้อความหรือโลโก้ของคุณได้ทุกที่ทั่วทั้งเมือง คำแนะนำนี้เป็นการตอบสนองต่อ/ปรับปรุง/เปลี่ยนแปลงของ: https://www.instructables.com/id/Low-Cost-Illuminated-