Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Robot Penyortiran Daur Ulang Dengan Google Coral

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 berkurang drastis, apalagi jauh lebih murah dan lebih berkelanjutan. Untuk mengatasi ini, saya membuat robot penyortiran daur ulang yang menggunakan pembelajaran mesin untuk menyortir di antara bahan daur ulang yang berbeda.

Demo:

Kode:

Harap clone repositori GitHub saya untuk mengikuti tutorial ini.

Langkah 1, Mendapatkan Data:

Untuk melatih model deteksi objek yang dapat mendeteksi dan mengenali bahan daur ulang yang berbeda, saya menggunakan set data trashnet yang mencakup 2527 gambar:

Ini contoh gambarnya:

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 mendownload set 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 2, Memberi Label Gambar:

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

Beri label pada 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 satu folder.

Berikut 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 3, Pelatihan:

Dalam hal pelatihan, saya memutuskan untuk menggunakan transfer learning menggunakan Tensorflow. Hal ini memungkinkan kami untuk melatih model yang cukup akurat tanpa data dalam jumlah besar.

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 berlatih di komputer lokal Anda, sebaiknya ikuti 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 mengonfirmasi 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 4, Menyusun Model yang Dilatih:

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

Berikut 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 terlatih yang kompatibel saat menggunakan pembelajaran transfer, Anda tidak perlu melakukan ini. Lihat dokumentasi lengkap tentang kompatibilitas di sini.

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

Model Deteksi Daur Ulang:

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

Langkah 5, Terapkan Model:

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

Pertama, siapkan RPI menggunakan tutorial ini.

Selanjutnya, siapkan Edge TPU dengan 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 dapat membuka 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 ini:

Tekan huruf “q” pada keyboard Anda untuk mengakhiri program.

Langkah 6, Bangun Lengan Robot:

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

Beginilah hasil lengan saya:

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

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

Langkah 7, Menghubungkan RPI dan Lengan robot:

Pertama-tama kita harus memasang modul kamera ke bagian bawah cakar:

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 mengupload file roboticArm.ino ke board 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 menyiapkannya.

Langkah 8, Sentuhan Terakhir:

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

Berikut tampilannya:

Sumber:Robot Penyortiran Daur Ulang Dengan Google Coral


Proses manufaktur

  1. Model Kereta
  2. Python/MicroPython Sensor Logger dengan Google Spreadsheet
  3. Robot Seluler dengan Penghindaran Rintangan Berbasis Penglihatan
  4. Robot yang Dikontrol Web Raspberry Pi dengan Video
  5. Desinfeksi Robot dengan Lampu Ultraviolet
  6. Hambatan Menghindari Robot Dengan Motor Servo
  7. Mengontrol Robot Roomba Dengan Arduino Dan Perangkat Android
  8. Peralatan yang Dikendalikan Suara Bluetooth dengan OK Google
  9. Kontrol PID dari Robot Gripper di Matlab / Simulink
  10. Pusat Putar Dilengkapi Lengan Robot