Daftar Isi:

Robot Penyortiran Daur Ulang: 15 Langkah (dengan Gambar)
Robot Penyortiran Daur Ulang: 15 Langkah (dengan Gambar)

Video: Robot Penyortiran Daur Ulang: 15 Langkah (dengan Gambar)

Video: Robot Penyortiran Daur Ulang: 15 Langkah (dengan Gambar)
Video: Mesin Penghancur Besi - Shredder machine 2024, Juli
Anonim
Image
Image
Mendapatkan Data
Mendapatkan Data

Tahukah Anda bahwa tingkat kontaminasi rata-rata di komunitas dan bisnis berkisar hingga 25%? Itu berarti satu dari setiap empat potong daur ulang yang Anda buang tidak didaur ulang. Hal ini disebabkan karena kesalahan manusia di pusat daur ulang. Secara tradisional, pekerja akan memilah sampah ke tempat sampah yang berbeda tergantung pada bahannya. Manusia pasti membuat kesalahan dan akhirnya tidak memilah sampah dengan benar, yang menyebabkan kontaminasi. Ketika polusi dan perubahan iklim menjadi semakin signifikan dalam masyarakat saat ini, daur ulang mengambil peran besar dalam melindungi planet kita. Dengan menggunakan robot untuk memilah sampah, tingkat pencemaran akan menurun drastis, apalagi jauh lebih murah dan lebih berkelanjutan. Untuk mengatasi ini, saya membuat robot penyortiran daur ulang yang menggunakan pembelajaran mesin untuk menyortir antara bahan daur ulang yang berbeda.

Langkah 1: Bagian

Pastikan Anda memiliki bagian berikut untuk diikuti dengan tutorial ini:

Bagian Cetakan 3D (lihat langkah di bawah)

Raspberry Pi RPI 4 4GB

Akselerator USB Google Coral

Arduino Uno R3

Modul Kamera Raspberry Pi V2

Catu Daya Dinding 5V 2A DC

Catu Daya DC 12V

SG90 9g Micro Servo 4pcs.

M3 x 0.5mm Stainless Steel Self-Lock Nylon Hex Lock Nut 100 pcs.

M3x20 Kepala Tombol Sekrup Titanium 10pcs.

MG996R Metal Gear Torsi Analog Servo Motor 4pcs.

Samsung 32GB Pilih Kartu Memori

Kabel Flex Adafruit untuk Kamera Raspberry Pi - 1 meter

M2 Pria Wanita Kuningan Spacer Standoff Screw Nut Assortment Kit

Kipas Angin 60mm 12V

Kotak Proyek 6,69"x 5,12" x 2,95"

Langkah 2: Bagian Cetakan 3D

Anda perlu mencetak 3D semua bagian untuk lengan robot. Anda dapat menemukan semua file di sini.

Langkah 3: Kode

Silakan kloning repositori GitHub saya untuk mengikuti tutorial ini.

Langkah 4: Mendapatkan Data

Untuk melatih model deteksi objek yang dapat mendeteksi dan mengenali bahan daur ulang yang berbeda, saya menggunakan dataset jaring sampah yang mencakup 2527 gambar:

  • 501 gelas
  • 594 kertas
  • 403 karton
  • 482 plastik
  • 410 logam
  • 137 sampah

Gambar di atas adalah contoh salah satu gambar dari dataset.

Dataset ini sangat kecil untuk melatih model pendeteksian objek. Hanya ada sekitar 100 gambar sampah yang terlalu sedikit untuk melatih model yang akurat, jadi saya memutuskan untuk tidak memasukkannya.

Anda dapat menggunakan folder google drive ini untuk mengunduh kumpulan data. Pastikan untuk mengunduh file dataset-resized.zip. Ini berisi kumpulan gambar yang sudah diubah ukurannya ke ukuran yang lebih kecil untuk memungkinkan pelatihan yang lebih cepat. Jika Anda ingin mengubah ukuran gambar mentah sesuai keinginan Anda, silakan unduh file dataset-original.zip.

Langkah 5: Memberi Label pada Gambar

Memberi Label pada Gambar
Memberi Label pada Gambar

Selanjutnya, kita perlu memberi label pada beberapa gambar dari bahan daur ulang yang berbeda sehingga kita dapat melatih model pendeteksian objek. Untuk melakukan ini, saya menggunakan labelImg, perangkat lunak gratis yang memungkinkan Anda memberi label pada kotak pembatas objek dalam gambar.

Beri label setiap gambar dengan label yang sesuai. Tutorial ini menunjukkan caranya. Pastikan untuk membuat setiap kotak pembatas sedekat mungkin dengan batas setiap objek untuk memastikan model deteksi seakurat mungkin. Simpan semua file.xml ke dalam folder.

Foto di atas menunjukkan cara memberi label pada gambar Anda.

Ini adalah pengalaman yang sangat membosankan & mematikan pikiran. Untungnya untuk Anda, saya sudah memberi label semua gambar untuk Anda! Anda dapat menemukannya di sini.

Langkah 6: Pelatihan

Dalam hal pelatihan, saya memutuskan untuk menggunakan pembelajaran transfer menggunakan Tensorflow. Ini memungkinkan kami untuk melatih model yang cukup akurat tanpa sejumlah besar data.

Ada beberapa cara yang bisa kita lakukan. Kami dapat melakukannya di mesin desktop lokal kami di cloud. Pelatihan pada mesin lokal kami akan memakan waktu yang sangat lama tergantung pada seberapa kuat komputer Anda dan apakah Anda memiliki GPU yang kuat. Ini mungkin cara termudah menurut saya, tetapi sekali lagi dengan kelemahan kecepatan.

Ada beberapa hal penting yang perlu diperhatikan tentang transfer learning. Anda perlu memastikan bahwa model pra-latihan yang Anda gunakan untuk pelatihan kompatibel dengan TPU Coral Edge. Anda dapat menemukan model yang kompatibel di sini. Saya menggunakan model MobileNet SSD v2 (COCO). Jangan ragu untuk bereksperimen dengan orang lain juga.

Untuk melatih di mesin lokal Anda, saya akan merekomendasikan mengikuti tutorial Google atau tutorial EdjeElectronics jika berjalan di Windows 10. Secara pribadi, saya telah menguji tutorial EdjeElectroncs dan mencapai kesuksesan di desktop saya. Saya tidak dapat memastikan apakah tutorial Google akan berfungsi, tetapi saya akan terkejut jika tidak.

Untuk berlatih di cloud, Anda dapat menggunakan AWS atau GCP. Saya menemukan tutorial ini yang dapat Anda coba. Ini menggunakan TPU cloud Google yang dapat melatih model deteksi objek Anda dengan sangat cepat. Jangan ragu untuk menggunakan AWS juga.

Baik Anda berlatih di mesin lokal atau di cloud, Anda harus mendapatkan model tensorflow yang terlatih.

Langkah 7: Menyusun Model Terlatih

Menyusun Model Terlatih
Menyusun Model Terlatih

Agar model terlatih Anda dapat bekerja dengan TPU Coral Edge, Anda perlu mengompilasinya.

Di atas adalah diagram untuk alur kerja.

Setelah pelatihan, Anda perlu menyimpannya sebagai grafik beku (file.pb). Kemudian, Anda perlu mengubahnya menjadi model Tensorflow Lite. Perhatikan bagaimana dikatakan "Kuantisasi pasca-pelatihan". Jika Anda menggunakan model pra-terlatih yang kompatibel saat menggunakan pembelajaran transfer, Anda tidak perlu melakukan ini. Lihatlah dokumentasi lengkap tentang kompatibilitas di sini.

Dengan model Tensorflow Lite, Anda perlu mengompilasinya ke model Edge TPU. Lihat detail tentang cara melakukannya di sini.

Langkah 8: Model Deteksi Daur Ulang

Jika Anda tidak ingin repot melatih, mengonversi, dan menyusun model deteksi objek, lihat model deteksi daur ulang saya di sini.

Langkah 9: Terapkan Model

Menyebarkan Model
Menyebarkan Model

Langkah selanjutnya adalah menyiapkan Raspberry Pi (RPI) dan Edge TPU untuk menjalankan model deteksi objek yang dilatih.

Pertama, atur RPI menggunakan tutorial ini.

Selanjutnya, atur Edge TPU mengikuti tutorial ini.

Terakhir, sambungkan modul kamera RPI ke raspberry pi.

Anda sekarang siap untuk menguji model deteksi objek Anda!

Jika Anda sudah mengkloning repositori saya, Anda akan ingin menavigasi ke direktori RPI dan menjalankan file test_detection.py:

python 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

Sebuah jendela kecil akan muncul dan jika Anda meletakkan botol air plastik atau bahan daur ulang lainnya, itu akan mendeteksi seperti gambar di atas.

Tekan huruf "q" pada keyboard Anda untuk mengakhiri program.

Langkah 10: Bangun Lengan Robot

Bangun Lengan Robot
Bangun Lengan Robot

Lengan robot adalah lengan cetak 3D yang saya temukan di sini. Ikuti saja tutorial pengaturannya.

Gambar di atas menunjukkan bagaimana lengan robot saya ternyata.

Pastikan Anda menghubungkan pin servo sesuai dengan pin I/O Arduino dalam kode saya. Hubungkan servo dari bawah ke atas lengan dalam urutan ini: 3, 11, 10, 9, 6, 5. Tidak menghubungkannya dalam urutan ini akan menyebabkan lengan menggerakkan servo yang salah!

Uji untuk melihatnya berfungsi dengan menavigasi ke direktori Arduino dan menjalankan file basicMovement.ino. Ini hanya akan mengambil objek yang Anda tempatkan di depan lengan dan menjatuhkannya ke belakang.

Langkah 11: Menghubungkan RPI & Lengan Robot

Menghubungkan RPI & Lengan Robot
Menghubungkan RPI & Lengan Robot

Pertama-tama kita perlu memasang modul kamera ke bagian bawah cakar. Gambar di atas menunjukkan bagaimana seharusnya terlihat.

Cobalah untuk menyelaraskan kamera selurus mungkin untuk meminimalkan kesalahan dalam mengambil bahan daur ulang yang dikenali. Anda perlu menggunakan kabel pita modul kamera yang panjang seperti yang terlihat pada daftar bahan.

Selanjutnya, Anda perlu mengunggah file roboticArm.ino ke papan Arduino.

Terakhir, kita tinggal menghubungkan kabel USB antara port USB RPI dan port USB Arduino. Ini akan memungkinkan mereka untuk berkomunikasi melalui serial. Ikuti tutorial ini tentang cara mengaturnya.

Langkah 12: Sentuhan Akhir

Sentuhan Akhir
Sentuhan Akhir
Sentuhan Akhir
Sentuhan Akhir

Langkah ini sepenuhnya opsional tetapi saya ingin memasukkan semua komponen saya ke dalam kotak proyek kecil yang bagus.

Gambar di atas menunjukkan tampilannya.

Anda dapat menemukan kotak proyek pada daftar bahan. Saya baru saja mengebor beberapa lubang dan menggunakan kuningan untuk memasang elektronik. Saya juga memasang 4 kipas pendingin untuk menjaga aliran udara konstan melalui RPI dan TPU saat panas.

Langkah 13: Lari

Anda sekarang siap untuk menyalakan lengan robot dan RPI! Di RPI, Anda cukup menjalankan file recycle_detection.py. Ini akan membuka jendela dan lengan robot akan mulai berjalan seperti di video demo! Tekan huruf "q" pada keyboard Anda untuk mengakhiri program.

Jangan ragu untuk bermain-main dengan kode dan bersenang-senanglah!

Langkah 14: Pekerjaan Masa Depan

Saya berharap untuk menggunakan R. O. S. untuk mengontrol lengan robot dengan gerakan yang lebih presisi. Ini akan memungkinkan pengambilan objek yang lebih akurat.

Langkah 15: Pertanyaan?

Jangan ragu untuk meninggalkan komentar di bawah jika Anda memiliki pertanyaan!

Direkomendasikan: