Πίνακας περιεχομένων:

Ρομπότ ταξινόμησης ανακύκλωσης: 15 βήματα (με εικόνες)
Ρομπότ ταξινόμησης ανακύκλωσης: 15 βήματα (με εικόνες)

Βίντεο: Ρομπότ ταξινόμησης ανακύκλωσης: 15 βήματα (με εικόνες)

Βίντεο: Ρομπότ ταξινόμησης ανακύκλωσης: 15 βήματα (με εικόνες)
Βίντεο: Daniel Schmachtenberger: Θα μας καταστρέψει η τεχνολογία; 2024, Νοέμβριος
Anonim
Image
Image
Λήψη των Δεδομένων
Λήψη των Δεδομένων

Γνωρίζατε ότι το μέσο ποσοστό μόλυνσης σε κοινότητες και επιχειρήσεις κυμαίνεται έως 25%; Αυτό σημαίνει ότι ένα στα τέσσερα κομμάτια ανακύκλωσης που πετάτε δεν ανακυκλώνεται. Αυτό οφείλεται σε ανθρώπινο λάθος στα κέντρα ανακύκλωσης. Παραδοσιακά, οι εργαζόμενοι θα ταξινομούν τα σκουπίδια σε διαφορετικούς κάδους ανάλογα με το υλικό. Οι άνθρωποι είναι βέβαιο ότι θα κάνουν λάθη και τελικά δεν θα ταξινομήσουν σωστά τα σκουπίδια, οδηγώντας σε μόλυνση. Καθώς η ρύπανση και η κλιματική αλλαγή γίνονται ακόμη πιο σημαντικές στη σημερινή κοινωνία, η ανακύκλωση παίρνει τεράστιο ρόλο στην προστασία του πλανήτη μας. Χρησιμοποιώντας ρομπότ για τη διαλογή των απορριμμάτων, τα ποσοστά μόλυνσης θα μειωθούν δραστικά, για να μην αναφέρουμε πολύ φθηνότερα και πιο βιώσιμα. Για να το λύσω αυτό, δημιούργησα ένα ρομπότ διαλογής ανακύκλωσης που χρησιμοποιεί μηχανική μάθηση για να ταξινομεί μεταξύ διαφορετικών υλικών ανακύκλωσης.

Βήμα 1: Μέρη

Βεβαιωθείτε ότι έχετε τα ακόλουθα μέρη για να ακολουθήσετε μαζί με αυτό το σεμινάριο:

Τρισδιάστατα τυπωμένα μέρη (δείτε το παρακάτω βήμα)

Raspberry Pi RPI 4 4GB

Google Coral USB Accelerator

Arduino Uno R3

Raspberry Pi Camera Module V2

Τροφοδοτικό 5V 2A DC τοίχου

Τροφοδοτικό DC 12V

SG90 9g Micro Servos 4τεμ.

Μ3 x 0.5mm Ανοξείδωτο ατσάλι Nylon Hex Lock Nut 100pcs.

M3x20 Button Head Titanium Βίδες 10τεμ.

MG996R Metal Gear Torque Analog Servo Motor 4τεμ.

Samsung 32GB Επιλογή κάρτας μνήμης

Adafruit Flex Cable για κάμερα Raspberry Pi - 1 μέτρο

M2 Ανδρικό θηλυκό ορείχαλκο σετ απόστασης βιδών παξιμάδι ποικιλία

Ανεμιστήρας 12mm 60mm

Πλαίσιο έργου 6,69 "x 5,12" x 2,95"

Βήμα 2: Τμήματα εκτυπωμένων 3D

Θα χρειαστεί να εκτυπώσετε 3D όλα τα μέρη του ρομποτικού βραχίονα. Μπορείτε να βρείτε όλα τα αρχεία εδώ.

Βήμα 3: Κωδικός

Παρακαλώ κλωνοποιήστε το αποθετήριό μου στο GitHub για να το ακολουθήσετε μαζί με αυτό το σεμινάριο.

Βήμα 4: Λήψη των δεδομένων

Για να εκπαιδεύσω το μοντέλο ανίχνευσης αντικειμένων που μπορεί να ανιχνεύσει και να αναγνωρίσει διαφορετικά υλικά ανακύκλωσης, χρησιμοποίησα το σύνολο δεδομένων απορριμμάτων που περιλαμβάνει 2527 εικόνες:

  • 501 γυαλί
  • 594 χαρτί
  • 403 χαρτόνι
  • 482 πλαστικό
  • 410 μέταλλο
  • 137 σκουπίδια

Η παραπάνω εικόνα είναι ένα παράδειγμα ενός στις εικόνες από το σύνολο δεδομένων.

Αυτό το σύνολο δεδομένων είναι πολύ μικρό για να εκπαιδεύσει ένα μοντέλο ανίχνευσης αντικειμένων. Υπάρχουν μόνο περίπου 100 εικόνες σκουπιδιών που είναι πολύ λίγες για να εκπαιδεύσετε ένα ακριβές μοντέλο, οπότε αποφάσισα να το αφήσω έξω.

Μπορείτε να χρησιμοποιήσετε αυτόν το φάκελο google drive για να κατεβάσετε το σύνολο δεδομένων. Βεβαιωθείτε ότι έχετε κατεβάσει το αρχείο dataset-resized.zip. Περιέχει το σύνολο των εικόνων που έχουν ήδη αλλάξει μέγεθος σε μικρότερο μέγεθος για να επιτρέπουν ταχύτερη εκπαίδευση. Εάν θέλετε να αλλάξετε το μέγεθος των ακατέργαστων εικόνων σύμφωνα με τις προτιμήσεις σας, μπορείτε να κατεβάσετε το αρχείο dataset-original.zip.

Βήμα 5: Επισήμανση των εικόνων

Επισήμανση των εικόνων
Επισήμανση των εικόνων

Στη συνέχεια, πρέπει να επισημάνουμε αρκετές εικόνες διαφορετικών υλικών ανακύκλωσης, ώστε να μπορέσουμε να εκπαιδεύσουμε το μοντέλο ανίχνευσης αντικειμένων. Για να το κάνω αυτό, χρησιμοποίησα το labelImg, ένα δωρεάν λογισμικό που σας επιτρέπει να επισημάνετε κουτιά οριοθέτησης αντικειμένων σε εικόνες.

Προσθέστε ετικέτα σε κάθε εικόνα με την κατάλληλη ετικέτα. Αυτό το σεμινάριο σας δείχνει πώς. Βεβαιωθείτε ότι έχετε κάνει κάθε πλαίσιο οριοθέτησης όσο πιο κοντά στο όριο κάθε αντικειμένου για να διασφαλίσετε ότι το μοντέλο ανίχνευσης είναι όσο το δυνατόν ακριβέστερο. Αποθηκεύστε όλα τα αρχεία.xml σε ένα φάκελο.

Η παραπάνω φωτογραφία δείχνει πώς να επισημάνετε τις εικόνες σας.

Αυτή είναι μια πολύ κουραστική και ενοχλητική εμπειρία. Ευτυχώς για εσάς, έχω ήδη επισημάνει όλες τις εικόνες για εσάς! Μπορείτε να το βρείτε εδώ.

Βήμα 6: Εκπαίδευση

Όσον αφορά την εκπαίδευση, αποφάσισα να χρησιμοποιήσω την εκμάθηση μεταφοράς χρησιμοποιώντας το Tensorflow. Αυτό μας επιτρέπει να εκπαιδεύσουμε ένα αξιοπρεπώς ακριβές μοντέλο χωρίς μεγάλη ποσότητα δεδομένων.

Υπάρχουν δύο τρόποι για να το κάνουμε αυτό. Μπορούμε να το κάνουμε στην τοπική μας επιφάνεια εργασίας στο cloud. Η εκπαίδευση στο τοπικό μας μηχάνημα θα διαρκέσει πολύ καιρό ανάλογα με το πόσο ισχυρός είναι ο υπολογιστής σας και αν έχετε ισχυρή GPU. Αυτός είναι ίσως ο ευκολότερος τρόπος κατά τη γνώμη μου, αλλά και πάλι με το αρνητικό της ταχύτητας.

Υπάρχουν μερικά βασικά πράγματα που πρέπει να σημειωθούν σχετικά με τη μεταφορά της μάθησης. Πρέπει να βεβαιωθείτε ότι το προ-εκπαιδευμένο μοντέλο που χρησιμοποιείτε για εκπαίδευση είναι συμβατό με το Coral Edge TPU. Μπορείτε να βρείτε συμβατά μοντέλα εδώ. Χρησιμοποίησα το μοντέλο MobileNet SSD v2 (COCO). Μη διστάσετε να πειραματιστείτε και με άλλους.

Για να εκπαιδεύσετε στον τοπικό σας υπολογιστή, θα συνιστούσα να ακολουθήσετε το σεμινάριο της Google ή το σεμινάριο EdjeElectronics εάν εκτελείτε Windows 10. Προσωπικά, έχω δοκιμάσει το σεμινάριο EdjeElectroncs και έχω επιτύχει στην επιφάνεια εργασίας μου. Δεν μπορώ να επιβεβαιώσω αν το σεμινάριο της Google θα λειτουργήσει, αλλά θα εκπλαγώ αν δεν το κάνει.

Για να εκπαιδεύσετε στο cloud, μπορείτε να χρησιμοποιήσετε το AWS ή το GCP. Βρήκα αυτό το σεμινάριο που μπορείτε να δοκιμάσετε. Χρησιμοποιεί τα cloud TPU της Google που μπορούν να εκπαιδεύσουν το μοντέλο ανίχνευσης αντικειμένων σας πολύ γρήγορα. Μη διστάσετε να χρησιμοποιήσετε και το AWS.

Είτε προπονείστε στο τοπικό σας μηχάνημα είτε στο cloud, θα πρέπει να καταλήξετε με ένα εκπαιδευμένο μοντέλο tensorflow.

Βήμα 7: Συγκέντρωση του εκπαιδευμένου μοντέλου

Συγκέντρωση του Εκπαιδευμένου Μοντέλου
Συγκέντρωση του Εκπαιδευμένου Μοντέλου

Για να συνεργαστεί το εκπαιδευμένο μοντέλο σας με το Coral Edge TPU, πρέπει να το μεταγλωττίσετε.

Πάνω υπάρχει ένα διάγραμμα για τη ροή εργασίας.

Μετά την προπόνηση, πρέπει να το αποθηκεύσετε ως κατεψυγμένο γράφημα (αρχείο.pb). Στη συνέχεια, πρέπει να το μετατρέψετε σε μοντέλο Tensorflow Lite. Σημειώστε πώς λέει "Κβαντοποίηση μετά την εκπαίδευση". Εάν χρησιμοποιήσατε τα συμβατά προ-εκπαιδευμένα μοντέλα κατά τη χρήση της εκμάθησης μεταφοράς, δεν χρειάζεται να το κάνετε αυτό. Ρίξτε μια ματιά στην πλήρη τεκμηρίωση σχετικά με τη συμβατότητα εδώ.

Με το μοντέλο Tensorflow Lite, πρέπει να το μεταγλωττίσετε σε ένα μοντέλο TPU Edge. Δείτε λεπτομέρειες για το πώς να το κάνετε αυτό εδώ.

Βήμα 8: Μοντέλο ανίχνευσης ανακύκλωσης

Εάν δεν θέλετε να ξεπεράσετε την ταλαιπωρία της εκπαίδευσης, της μετατροπής και της σύνταξης του μοντέλου ανίχνευσης αντικειμένων, δείτε εδώ το μοντέλο ανίχνευσης ανακύκλωσης.

Βήμα 9: Αναπτύξτε το μοντέλο

Αναπτύξτε το Μοντέλο
Αναπτύξτε το Μοντέλο

Το επόμενο βήμα είναι να ρυθμίσετε το Raspberry Pi (RPI) και το Edge TPU για να εκτελέσετε το εκπαιδευμένο μοντέλο ανίχνευσης αντικειμένων.

Αρχικά, ρυθμίστε το RPI χρησιμοποιώντας αυτό το σεμινάριο.

Στη συνέχεια, ρυθμίστε το Edge TPU μετά από αυτό το σεμινάριο.

Τέλος, συνδέστε τη μονάδα κάμερας RPI στο raspberry 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_09/1

Θα πρέπει να εμφανιστεί ένα μικρό παράθυρο και αν βάλετε ένα πλαστικό μπουκάλι νερό ή άλλο υλικό ανακύκλωσης, θα πρέπει να το εντοπίσει όπως στην παραπάνω εικόνα.

Πατήστε το γράμμα "q" στο πληκτρολόγιό σας για να τερματίσετε το πρόγραμμα.

Βήμα 10: Φτιάξτε το ρομποτικό μπράτσο

Φτιάξτε το ρομποτικό μπράτσο
Φτιάξτε το ρομποτικό μπράτσο

Ο ρομποτικός βραχίονας είναι ένας τρισδιάστατος εκτυπωμένος βραχίονας που βρήκα εδώ. Απλώς ακολουθήστε το σεμινάριο για τη ρύθμιση του.

Η παραπάνω εικόνα δείχνει πώς έγινε το ρομποτικό μου χέρι.

Βεβαιωθείτε ότι έχετε συνδέσει τους πείρους σερβο σύμφωνα με τις ακίδες εισόδου/εξόδου Arduino στον κωδικό μου. Συνδέστε τα servos από κάτω προς τα πάνω του βραχίονα με αυτήν τη σειρά: 3, 11, 10, 9, 6, 5. Αν δεν τα συνδέσετε με αυτήν τη σειρά, ο βραχίονας θα μετακινήσει λάθος σερβο!

Δοκιμάστε τη λειτουργία του, μεταβαίνοντας στον κατάλογο Arduino και εκτελέστε το αρχείο BasicMovement.ino. Αυτό απλά θα πιάσει ένα αντικείμενο που τοποθετείτε μπροστά από το χέρι και θα το αφήσετε πίσω.

Βήμα 11: Σύνδεση RPI & Robotic Arm

Σύνδεση RPI & Robotic Arm
Σύνδεση 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: Ερωτήσεις;

Μη διστάσετε να αφήσετε ένα σχόλιο παρακάτω αν έχετε οποιεσδήποτε ερωτήσεις!

Συνιστάται: