• Tidak ada hasil yang ditemukan

Aplikasi computer vision pada lengan robot pemindah benda berdasarkan bentuk dan posisi

N/A
N/A
Protected

Academic year: 2021

Membagikan "Aplikasi computer vision pada lengan robot pemindah benda berdasarkan bentuk dan posisi"

Copied!
288
0
0

Teks penuh

(1)PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. TUGAS AKHIR. APLIKASI COMPUTER VISION PADA LENGAN ROBOT PEMINDAH BENDA BERDASARKAN BENTUK DAN POSISI Diajukan untuk memenuhi salah syarat memperoleh gelar Sarjana Teknik pada Program Studi Teknik Elektro Fakultas Sains dan Teknologi Universitas Sanata Dharma. Disusun oleh : ALBERTUS ADIT TRIANGGORO NIM : 155114066. PROGRAM STUDI TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2019.

(2) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. FINAL PROJECT. COMPUTER VISION APPLICATION ON ROBOT ARM TO MOVE OBJECT BASED ON SHAPE AND POSITION In partial fulfilment of the requirements for the degree of Sarjana Teknik in Electrical Enginering Study Program Faculty of Science and Technology Sanata Dharma University. Constructed By : ALBERTUS ADIT TRIANGGORO NIM : 155114066. ELECTRICAL ENGINEERING STUDY PROGRAM FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY YOGYAKARTA 2019 ii.

(3) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. iii.

(4) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. iv.

(5) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. v.

(6) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. HALAMAN PERSEMBAHAN DAN MOTTO HIDUP MOTTO :. “ KESUKSESAN ADALAH PERJUANGAN DARI KEGAGALAN DEMI KEGAGALAN TANPA KEHILANGAN SEMANGAT DAN OPTIMISME”. Skipsi ini kupersembahkan untuk :. Tuhan Yesus Kristus juru selamatku Bunda Maria, Santo Yosef dan malaikat pelindungku ssAyah dan Ibu tercinta, untuk doa, serta dukuangannya secara moral maupun materi Kakak ku dan sahabat-sahabatku Almamaterku Teknik Elektro Universtas Sanata Dharma Yogyakarta vi.

(7) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. vii.

(8) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. INTISARI Perkembangan teknologi memiliki peran yang sangat penting dalam menunjang aktivitas manusia untuk mempermudah dalam melakukan pekerjaan sehingga mendapatkan hasil yang maksimal. Salah satunya adalah teknologi computer vision dengan memanfaatkan image processing sehingga dapat memberikan kecerdasan buatan pada lengan robot untuk memindahkan objek berdasarkan bentuk dan posisi. Lengan robot memiliki peran penting untuk mengurangi kecelakaan kerja bagi manusia yang bekerja pada bidang pekerjaan yang berhubungan dengan bahan-bahan kimia berbahaya dan pengangkatan benda-benda berat, meminimalisasi human error, serta untuk meng-otomasi bidang pekerjaan yang masih dilakukan secara manual agar proses produksi menjadi lebih efisien. Berdasarkan hal tersebut, dibutuhkan adanya lengan robot yang dapat memindahkan objek berdasarkan pengenalan bentuk dan posisi objek. Urutan pengenalan bentuk dan posisi objek yaitu akusisi objek oleh webcam, image preprocessing, labeling dan segmentasi, menghitung nilai area, perimeter, thinness ratio dan centroid objek. Pengenalan bentuk didasarkan pada range nilai thinness ratio masing-masing objek sedangkan pengenalan posisi didasarkan pada nilai centroid objek. Lengan robot digerakan oleh motor servo yang dikendalikan oleh Atmega32 menggunakan komunikasi serial USART antara komputer dengan mikrokontroler yang diprogram menggunakan matlab dan codevision AVR. Hasil dari penelitian ini adalah sistem yang dapat membedakan 3 macam bentuk objek yaitu kubus, tabung dan prisma segitiga yang dapat diletakan pada 12 posisi tertentu, serta lengan robot yang dapat mengambil dan memindahkan objek berdasarkan bentuk dan posisi. Setelah melakukan percobaan sebanyak 180 kali pengenalan bentuk objek dan 75 kali pengambilan dan pemindahan objek, sistem lengan robot dapat bekerja 100% apabila sesuai dengan batasan masalah Kata kunci : Computer vision, lengan robot, USART.. viii.

(9) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. ABSTRACT The development of technology has a very important role to supporting human activites to make it easier to do work, so get the maximum result. One of them is the technology of computer vision to utilize image processing so that it can provide artificial intelligence on the robot arm to move object based on shape and position. The robot arm has a important role to reduce work accidents for human who work on the field of work in touch with these chemicals dangerous and the object heavy, minimization human error, as well as to make automatically the job is still conducted in manual so that the process of production become more efficient. Based on this, it takes the robot arm that can move object based on shape and position of the object. Object shape and position identification step is acquisition of the object by webcam, image preprocessing, labeling and segmentation, calculate the value of the area, perimeter, thinness ratio and centroid of the object. Shape identification based on the range value thinness ratio of each object while the identification of a position based on the value of the centroid object. The robot arm movement by a motor servo which is controlled by the Atmega32 using serial communication USART between computer and microcontroller programed with matlab and codevision AVR. The result of the research is the system that can discrimination three kinds of the object that the cube, tubes, and prism triangle that can be put on twelve a position in certain areas, as well the robot arm can take and move objects based on the shape and position. After experimenting as much as one hundres and eighty time to identification shape and positions of the objects and seventy five time to pick up dan separate of the object, the system and robot arm can work 100% if in accordance with limits of the problem. Keywords : Computer vision, robot arm, USART.. ix.

(10) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. KATA PENGANTAR Puji dan Syukur penulis panjatkan. kepada Tuhan Yang Maha Esa atas segala. berkatdan rahmat-Nya, sehingga penulis dapat menyelesaikan tugas akhir ini dengan baik. Penulis menyadari bahwa banyak pihak yang telah memberikan doa, dukungan, motivasi serta bantuan kepada penulis sehingga dapat menyelesaikan tugas akhir ini. Oleh karena itu, penulis mengucapkan terima kasih kepada : 1). Sudi Mungkasi, S.Si, M.Math.,Sc.,Ph.D. selaku Dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta.. 2). Petrus Setyo Prabowo, S.T.,M.T., selaku Ketua Program Studi Teknik Elektro Universitas Sanata Dharma Yogyakarta.. 3). Martanto, S.T.,M.T., selaku dosen pembimbing akademik yang telah mendampingi dan membimbing penulis selama perkuliahan.. 4). Dr. Linggo Sumarno selaku dosen pembimbing yang dengan penuh perhatian, kesabaran dan dengan ketulusan hati memberi bimbingan, kritik, saran serta motivasi dalam penulisan tugas akhir ini.. 5). Bapak Petrus Setyo Prabowo, S.T.,M.T., dan Bapak Djoko Sumarno, S.Si.,M.T., selaku dosen penguji yang telah bersedia memberi kritik, saran dan bimbingan dalam memperbaiki tugas akhir ini.. 6). Bapak/Ibu dosen yang telah mengajarkan banyak hal selama penulis menempuh pendidikan di Program Studi Teknik Elektro, Fakultas Sains dan Teknologi, Universitas Sanata Dharma Yogyakarta.. 7). Kedua orang tua tercinta, Bapak Falentinus Prayitno dan Ibu Christina Kemiyem atas doa, kasih sayang, dukungan serta motivasi.. 8). Kakak tercinta Brigita Yuandini dan kakak ipar Bernadus Sambang Nusantoro serta keponakan Alfonsus Davis Ezekiel yang selalu mendukung dan memberikan semangat serta motivasi sehingga dapat menyelesaikan study dengan baik.. 9). Stefani Nita Lystia sebagai teman, sahabat dan kekasih yang selalu menyemangati dan mendukung penulis sampai terselesaikannya tugas akhir ini.. 10) Staff Sekretariat Teknik Elektro yang telah membantu dalam hal administrasi. 11) Staff dan petugas laboratorium Teknik Elektro yang telah membantu banyak hal untuk kelancaran tugas-tugas perkuliahan dan asisten dosen.. x.

(11) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. xi.

(12) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. DAFTAR ISI Halaman Judul (Bahasa Indonesia) .............................................................................. i Halaman Judul (Bahasa Inggris)..................................................................................... ii Halaman Persetujuan .................................................................................................... iii Halaman Pengesahan ..................................................................................................... iv Pernyataan Keaslian Karya ........................................................................................... v Halaman Persembahan .................................................................................................. vi Lembar Persetujuan Publikasi Karya ............................................................................ vii INTISARI ...................................................................................................................... viii ABSTRACT .................................................................................................................. ix KATA PENGANTAR .................................................................................................. x DAFTAR ISI ................................................................................................................ xii DAFTAR GAMBAR ..................................................................................................... xvi DAFTAR TABEL ........................................................................................................ xxii BAB I : PENDAHULUAN 1.1. Latar Belakang ............................................................................................ 1 1.2. Tujuan dan Manfaat .................................................................................... 2 1.3. Batasan Masalah ......................................................................................... 2 1.4. Metodologi Penelitian ................................................................................. 3 BAB II : DASAR TEORI 2.1. Computer Vision ......................................................................................... 5 2.1.1. Pemrosesan Citra (Image Processing) ........................................... 5 2.1.1.1. Definisi Citra ................................................................... 5 2.1.1.2. Citra Grayscale ................................................................ 6 2.1.1.3. Citra Biner ....................................................................... 7 2.1.1.4. Konversi Citra Grayscale ke Citra Biner .......................... 8 2.1.1.5. Noise Filtering ................................................................. 9 2.1.1.6. Labeling Objek ................................................................ 11 2.1.1.7. Segmentasi Citra .............................................................. 12 2.1.2. Pengenalan Bentuk dan Penentuan Posisi ...................................... 13. xii.

(13) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. 2.1.2.1. Pengenalan Bentuk .......................................................... 13 2.1.2.1.1. Area ................................................................. 13 2.1.2.1.2. Perimeter ......................................................... 14 2.1.2.1.3. Thinness Ratio ................................................. 15 2.1.2.2. Penentuan Posisi ............................................................... 16 2.1.2.2.1. Centroid ........................................................... 16 2.1.3. Webcam .......................................................................................... 18 2.2. Lengan Robot .............................................................................................. 18 2.2.1. Motor Servo .................................................................................... 21 2.2.2. Torsi/Momen Gaya ........................................................................ 22 2.2.3. Invers Kinematics Robot Arm 2 DOF (Degree Of Freedom) ........ 24 2.2.4. Pulse Width Modulation (PWM) ..................................................... 27 2.2.5. Mikrokontroler AVR Atmega32 .................................................... 27 2.2.5.1. Arsitektur Atmega32 ...................................................... 28 2.2.5.2. Deskripsi Mikrokontroler AVR Atmega32 .................... 28 2.2.5.3. Timer/Counter0 ............................................................... 30 2.2.5.4. Komunikasi Serial USART ............................................ 32 2.2.6. Minimum Sistem Atmega32 .......................................................... 37 2.2.7. Power Supply ................................................................................. 37 BAB III : PERANCANGAN PENELITIAN 3.1. Proses Kerja dan Mekanisme Lengan Robot .............................................. 39 3.2. Perancangan Lengan Robot .......................................................................... 40 3.2.1. Robot Arm Assembly ........................................................................ 44 3.2.2. Desain Keseluruhan Sistem ............................................................. 45 3.2.3. Sudut Pergerakan Tiap Motor Servo ................................................ 46 3.3. Perancangan Perangkat Keras (Hardware) ................................................. 47 3.3.1. Wiring Motor Servo Pada Minimum Sistem Atmega32 .................. 48 3.3.2. Perhitungan Torsi Motor Servo ........................................................ 49 3.3.3. Motor Servo ..................................................................................... 53 3.3.4. Webcam dan Area Peletakan Benda ................................................. 55 3.4. Perancangan Perangkat Lunak (Software) .................................................. 57 3.4.1. Flowchart Utama ............................................................................. 57 3.4.2. Akuisisi Citra ................................................................................... 59 xiii.

(14) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. 3.4.3. Image Preprocessing ........................................................................ 59 3.4.4. Labeling dan Segmentasi ................................................................. 61 3.4.5. Proses Pengenalan Bentuk Objek pada Matlab ................................ 62 3.4.6. Proses Penentuan Posisi Objek pada Matlab ................................... 63 3.4.7. Pengirimana Data Dari Matlab ke Mikrokontroler .......................... 64 3.4.8. Proses Pergerakan Servo Lengan Robot .......................................... 66 3.4.9. Perancangan GUI pada Matlab ........................................................ 74 BAB IV : HASIL DAN PEMBAHASAN 4.1. Perangkat Keras (Hardware) Lengan Robot ............................................... 75 4.1.1. Bentuk Fisik dan Sistem Kerja Lengan Robot .................................. 75 4.1.2. Wiring Motor Servo pada Minimum Sistem Atmega32 Beserta LCD 16x2 ............................................................................. 77 4.1.3. Webcam dan Area Peletakan Objek ................................................. 78 4.1.4. Objek Tiga Dimensi dan Kotak Peletakan Objek ............................ 80 4.2. Hasil Data Pengujian dan Pembahasan ....................................................... 81 4.2.1. Pengujian Pengenalan Bentuk dan Posisi Objek .............................. 81 4.2.1.1. Pengujian Nilai Area, Perimeter dan Thinness Ratio Objek .................................................. 81 4.2.1.2. Nilai Centroid Posisi Peletakan Objek ............................... 84 4.2.2. Sudut Motor Servo .......................................................................... 86 4.2.3. Pergerakan Lengan Robot ............................................................... 90 4.2.4. Pengujian Keberhasilan Sistem Mengenali Bentuk dan Posisi Objek ............................................................................. 96 4.2.5. Pengujian Keberhasilan Lengan Robot Saat Mengambil dan Memindahkan Objek ................................................................ 97 4.3. Analisa dan Pembahasan Perangkat Lunak (Sofrtware) ............................. 102 4.3.1. Software Matlab .............................................................................. 102 4.3.1.1. Inisialisasi Komunikasi USART ....................................... 102 4.3.1.2. Inisialisasi Webcam ......................................................... 103 4.3.2.3. Proses Akuisisi Citra. ...................................................... 103. 4.3.2.4. Proses Image Preprocessing ............................................ 104 4.3.2.5. Proses Labeling dan Segmentasi ...................................... 108 4.3.2.6. Proses Pengenalan Bentuk Objek .................................... 109 xiv.

(15) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. 4.3.2.7. Proses Penentuan Posisi Objek ........................................ 111 4.3.2.8. Proses Pengiriman Data dari Matlab ke Mikrokontroler . 113 4.3.2.9. Tampilan GUI Matlab ...................................................... 119 4.3.2. Software Codevision AVR ............................................................. 120 4.3.2.1. Inisialisasi Komunikasi USART ...................................... 120 4.3.2.2. Inisialisasi Timer0. .......................................................... 121. 4.3.2.3. Program Menerima Data Serial dari Matlab .................... 121 4.3.2.4. Pengendali Motor Servo .................................................. 123 4.3.2.5. Subrutin Program Utama ................................................. 134 BAB V : KESIMPULAN DAN SARAN 5.1. Kesimpulan .................................................................................................. 135 5.2. Saran ............................................................................................................. 135 DAFTAR PUSTAKA ................................................................................................... 136 LAMPIRAN ................................................................................................................. L-1. xv.

(16) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. DAFTAR GAMBAR Gambar 2.1. Sistem Koordinat Citra Berukuran M x N ( M Baris dan N Kolom) .... 6 Gambar 2.2. Citra Grayscale Beserta Representasi Nilai Keabuannya ..................... 7 Gambar 2.3. Citra Biner dan Representasi Nilai Binernya .......................................... 7 Gambar 2.4. Ilustrasi Perubahan Nilai Pixel pada Proses Thresholding .................... 8 Gambar 2.5. Citra Hasil Thresholding dengan Beberapa Variasi Nilai Threshold .... 9 Gambar 2.6. Median Filtering (a) Input (b) Output ................................................... 10 Gambar 2.7. Noise Filtering pada Citra (a) Input (b) Output .................................... 11 Gambar 2.8. Labeling Objek (a) Citra Input (b) Citra Hasil Labeling Objek ............ 11 Gambar 2.9. Proses Segmentasi (a) Citra Hasil Labeling (b) Segmentasi Objek Pertama (c) Segmentasi Objek Kedua .................................................. 12 Gambar 2.10. Area Objek Persegi ................................................................................ 14 Gambar 2.11. Perimeter Objek Persegi ........................................................................ 15 Gambar 2.12. Titik Pusat (Centroid) (a) Citra Objek Persegi (b) Centroid Objek Persegi ................................................................... 17 Gambar 2.13. Webcam Logitech C170 ......................................................................... 18 Gambar 2.14. Manipulator pada Lengan Robot ........................................................... 19 Gambar 2.15. Gripper Lengan Robot ........................................................................... 20 Gambar 2.16. Model Fisik Motor Servo Hitec HS-300 ............................................... 21 Gambar 2.17. Sistem Pengkabelan Motor Servo .......................................................... 21 Gambar 2.18. Cara Pengontrolan Motor Servo ............................................................ 22 Gambar 2.19. Vektor Gaya pada Lengan ..................................................................... 23 Gambar 2.20. Gerak Rotasi pada Benda ....................................................................... 24 Gambar 2.21. Lengan Robot 2 Sendi (2 DOF) ............................................................. 25 Gambar 2.22. Analisis Pergerakan Lengan Robot ....................................................... 26 Gambar 2.23. Sinyal PWM ........................................................................................... 27 Gambar 2.24. Konfigurasi Pin Mikrokontroler AVR ATmega32 ................................ 29 Gambar 2.25. Mode Phase Correct PWM ................................................................... 31 Gambar 2.26. Mode Fast PWM .................................................................................... 32 Gambar 2.27. Register UDR ......................................................................................... 33 xvi.

(17) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. Gambar 2.28. Register UCSRA .................................................................................... 33 Gambar 2.29. Register UCSRB .................................................................................... 35 Gambar 2.30. Register UCSRC .................................................................................... 36 Gambar 2.31. Minimum Sistem Atmega32 .................................................................. 37 Gambar 2.32. Contoh Tampilan Fisik Regulated Switching Power Supply ................. 38 Gambar 3.1. Blok Diagram Sistem ............................................................................. 40 Gambar 3.2. Part Gripper .......................................................................................... 41 Gambar 3.3. Part Base Lengan Robot ........................................................................ 42 Gambar 3.4. Part Penghubung Base Terhadap Lengan Bawah ................................. 42 Gambar 3.5. Part Lengan Bawah ............................................................................... 43 Gambar 3.6. Part Lengan Atas .................................................................................... 43 Gambar 3.7. Gripper .................................................................................................. 44 Gambar 3.8. Lengan Robot ......................................................................................... 44 Gambar 3.9. Visualisasi Sistem .................................................................................. 45 Gambar 3.10. Visualisasi Sistem (Tampak Atas) ......................................................... 45 Gambar 3.11. Wiring Motor Servo pada Minimum Sistem Atmega32 ........................ 48 Gambar 3.12. Analisis Torsi Motor Servo 2 ................................................................ 49 Gambar 3.13. Analisis Torsi Motor Servo 3 ................................................................ 50 Gambar 3.14. Analisis Torsi Motor Servo 4 ................................................................ 51 Gambar 3.15. Analisis Torsi Motor Servo 1 ................................................................ 52 Gambar 3.16. Motor Servo Towerpro SG90 ................................................................ 54 Gambar 3.17. Motor Servo JX PDI-6225-300 ............................................................. 54 Gambar 3.18. Visualisasi Nomor Posisi Area Peletakan Benda .................................. 56 Gambar 3.19. Area Peletakan Objek ............................................................................ 56 Gambar 3.20. Flowchart Secara Keseluruhan .............................................................. 58 Gambar 3.21. Flowchart Akuisisi Citra ....................................................................... 59 Gambar 3.22. Flowchart Image Processing ................................................................ 60 Gambar 3.23. Flowchart Labeling dan Segmentasi ..................................................... 61 Gambar 3.24. Flowchart Proses Pengenalan Bentuk Objek pada Matlab...................... 62 Gambar 3.25. Flowchart Proses Penentuan Posisi Objek pada Matlab ......................... 63 xvii.

(18) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. Gambar 3.26. (Lanjutan) Flowchart Proses Penentuan Posisi Objek pada Matlab ...... 64 Gambar 3.27. (Lanjutan) Flowchart Proses Penentuan Posisi Objek pada Matlab ....... 64 Gambar 3.28. Flowchart Pengiriman Data dari Matlab ke Mikrokontroler ................... 65 Gambar 3.29. Flowchart Pergerakan Servo Lengan Robot............................................ 67 Gambar 3.30. (Lanjutan) Flowchart Pergerakan Servo Lengan Robot ......................... 68 Gambar 3.31. (Lanjutan) Flowchart Pergerakan Servo Lengan Robot ......................... 69 Gambar 3.32. (Lanjutan) Flowchart Pergerakan Servo Lengan Robot ......................... 70 Gambar 3.33. (Lanjutan) Flowchart Pergerakan Servo Lengan Robot ......................... 71 Gambar 3.34. (Lanjutan) Flowchart Pergerakan Servo Lengan Robot ......................... 72 Gambar 3.35. (Lanjutan) Flowchart Pergerakan Servo Lengan Robot ......................... 73 Gambar 3.36. Perancangan GUI pada Matlab .............................................................. 74 Gambar 4.1. Keseluruhan Sistem Lengan Robot ....................................................... 76 Gambar 4.2. Lengan Robot Tampak Samping ........................................................... 76 Gambar 4.3. Lengan Robot Tampak Atas ................................................................... 77 Gambar 4.4. Area peletakan objek beserta batas nilai pixel ....................................... 79 Gambar 4.5. Objek Tiga Dimensi ............................................................................... 80 Gambar 4.6. Kotak Peletakan Objek .......................................................................... 80 Gambar 4.7. Grafik Nilai Area Objek ........................................................................ 82 Gambar 4.8. Grafik Nilai Perimeter Objek ................................................................ 83 Gambar 4.9. Grafik Nilai Thinness Ratio Objek ........................................................ 84 Gambar 4.10. Nilai Centroid Tiap Posisi Peletakan Objek .......................................... 85 Gambar 4.11. Pengujian OCR dan Sudut pada Servo 1 ................................................ 87 Gambar 4.12. Pengujian OCR dan Sudut pada Servo 2 ............................................... 87 Gambar 4.13. Pengujian OCR dan Sudut pada Servo 3 ............................................... 87 Gambar 4.14. Pengujian OCR dan Sudut pada Servo 4 ............................................... 88 Gambar 4.15. Grafik Perbandingan Sudut Pergerakan Servo 1 ..................................... 93 Gambar 4.16. Grafik Perbandingan Sudut Pergerakan Servo 2 ..................................... 94 Gambar 4.17. Grafik Perbandingan Sudut Pergerakan Servo 3 ..................................... 95 Gambar 4.18. Pengujian Sistem Lengan Robot dengan 1 Objek ................................. 100 Gambar 4.19. Pengujian Sistem Lengan Robot dengan 2 Objek ................................ 100 xviii.

(19) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. Gambar 4.20. Pengujian Sistem Lengan Robot dengan 3 Objek ................................ 100 Gambar 4.21. Pengujian Sistem Lengan Robot dengan 4 Objek ................................ 101 Gambar 4.22. Pengujian Sistem Lengan Robot dengan 5 Objek ................................ 101 Gambar 4.23. Listing program inisialisasi Komunikasi USART ................................. 102 Gambar 4.24. (Lanjutan) Listing Program Inisialisasi Komunikasi USART ............... 102 Gambar 4.25. (Lanjutan) Listing Program Inisialisasi Komunikasi USART ............... 103 Gambar 4.26. Listing Program Inisialisasi Webcam .................................................... 103 Gambar 4.27. Listing Program Akuisisi Citra .............................................................. 103 Gambar 4.28. Hasil Capturing Webcam dengan Nilai Treshold 0,1 ............................ 105 Gambar 4.29. Hasil Capturing Webcam dengan Nilai Treshold 0,2 ............................ 105 Gambar 4.30. Hasil Capturing Webcam dengan Nilai Treshold 0,3 ............................ 106 Gambar 4.31. Hasil Capturing Webcam dengan Nilai Treshold 0,4 ............................ 106 Gambar 4.32. Hasil Capturing Webcam dengan Nilai Treshold 0,5 ............................ 107 Gambar 4.33. Listing Program Image Preprocessing .................................................. 107 Gambar 4.34. Listing Program Labeling dan Segmentasi Citra ................................... 108 Gambar 4.35. Listing Program Perhitungan Nilai Area, Perimeter dan Thinness Ratio Objek ............................................................................. 109 Gambar 4.36. Listing Program Penentuan Bentuk Objek ............................................ 110 Gambar 4.37. (Lanjutan) Listing Program Penentuan Bentuk Objek ........................... 110 Gambar 4.38. Listing Program Perhitungan Centroid ................................................. 111 Gambar 4.39. Listing Program Penentuan Posisi Objek .............................................. 112 Gambar 4.40. Listing Program Penambahan Arraychar Objek di Posisi 4 ................... 113 Gambar 4.41. Listing Program Mengisi Arraychar Secara Lengkap (5 Data) ............. 114 Gambar 4.42. (Lanjutan) Listing Program Mengisi Arraychar Secara Lengkap (5 Data) ....................................................................... 114 Gambar 4.43. Listing program sort array ..................................................................... 115 Gambar 4.44. Listing Program Pengkonversian Data Arraychar Menjadi Karakter .... 115 Gambar 4.45. (Lanjutan) Listing Program Pengkonversian Data Arraychar Menjadi Karakter. ................................................................................ 116. Gambar 4.46. (Lanjutan) Listing Program Pengkonversian Data Arraychar xix.

(20) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. Menjadi Karakter. .............................................................................. 116. Gambar 4.47. (Lanjutan) Listing Program Pengkonversian Data Arraychar Menjadi Karakter. .............................................................................. 117. Gambar 4.48. (Lanjutan) Listing Program Pengkonversian Data Arraychar Menjadi Karakter. .............................................................................. 117. Gambar 4.49. (Lanjutan) Listing Program Pengkonversian Data Arraychar Menjadi Karakter. .............................................................................. 118. Gambar 4.50. (Lanjutan) Listing Program Pengkonversian Data Arraychar Menjadi Karakter. .............................................................................. 118. Gambar 4.51. Tampilan GUI Matlab ............................................................................. 119 Gambar 4.52. Listing Program Inisialisasi Komunikasi USART pada Codevision AVR .......................................................................... 120 Gambar 4.53. Listing Program Inisialisasi Timer0 ....................................................... 121 Gambar 4.54. Deklarasi Tipe Data Variabel untuk Menerima Data Serial USART .... 122 Gambar 4.55. Listing Program Menerima Data Serial USART dengan Scanf ............ 122 Gambar 4.56. Listing Program Mendefinisikan Servo ................................................. 123 Gambar 4.57. Listing Program Pengendali Sudut Putar Motor Servo .......................... 123 Gambar 4.58. Fungsi Program Gerak Kubus di Posisi satu ......................................... 124 Gambar 4.59. Listing Program Fungsi Counter Pergerakan Lengan Robot Mengambil Objek ................................................................................. 125 Gambar 4.60. Listing Program Gerak Ambil di Posisi 1 .............................................. 126 Gambar 4.61. (Lanjutan) Listing Program Gerak Ambil di Posisi 1. .......................... 126. Gambar 4.62. Listing Program Gerak Siaga ................................................................. 127 Gambar 4.63. (Lanjutan) Listing Program Gerak Siaga. ............................................. 128. Gambar 4.64. (Lanjutan) Listing Program Gerak Siaga. ........................................... 128. Gambar 4.65. (Lanjutan) Listing Program Gerak Siaga. ........................................... 129. Gambar 4.66. Listing Program Gerak Peletakan Kubus .............................................. 129 Gambar 4.67. (Lanjutan) Listing Program Gerak Peletakan Kubus. .......................... 130. Gambar 4.68. (Lanjutan) Listing Program Gerak Peletakan Kubus ............................ 130 Gambar 4.69. (Lanjutan) Listing Program Gerak Peletakan Kubus ............................ 131 xx.

(21) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. Gambar 4.70. Listing Program Gerak Standby1 ........................................................... 131 Gambar 4.71. (Lanjutan) Listing Program Gerak Standby1. ....................................... 132. Gambar 4.72. (Lanjutan) Listing Program Gerak Standby1. ..................................... 132. Gambar 4.73. (Lanjutan) Listing Program Gerak Standby1. ..................................... 133. Gambar 4.74. Listing Program Standbylagi .................................................................. 133. xxi.

(22) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. DAFTAR TABEL Tabel 2.1. Penentuan Ukuran Karakter ..................................................................... 36 Tabel 3.1. Variabel Sudut Tiap Motor Servo untuk Mengambil dan Meletakan Benda Kubus ..................................................................... 46 Tabel 3.2. Variabel Sudut Tiap Motor Servo untuk Mengambil dan Meletakan Benda Tabung ................................................................... 46 Tabel 3.2. (Lanjutan) Variabel Sudut Tiap Motor Servo untuk Mengambil dan Meletakan Benda Tabung ................................................................... 47 Tabel 3.3. Variabel Sudut Tiap Motor Servo untuk Mengambil dan Meletakan Benda Prisma Segitiga ...................................................... 47 Tabel 3.4. Perhitungan Nilai OCR ............................................................................. 55 Tabel 3.5. Inisialisasi Karakter Objek Kubus Beserta Posisinya ............................... 65 Tabel 3.6. Inisialisasi Karakter Objek Tabung Beserta Posisinya .............................. 66 Tabel 3.7. Inisialisasi Karakter Objek Prisma Segitiga Beserta Posisinya ................. 66 Tabel 3.8. Keterangan GUI ......................................................................................... 74 Tabel 4.1. Batas Nilai pixel pada Sumbu x dan y untuk Masing-Masing Posisi ........ 79 Tabel 4.2. Data Nilai Area Masing-Masing Bentuk Benda ........................................ 81 Tabel 4.3. Data Nilai Perimeter Masing-Masing Bentuk Benda ............................... 82 Tabel 4.4. Data Nilai Thinness Ratio Masing-Masing Bentuk Benda ........................ 83 Tabel 4.5. Nilai Centroid tiap posisi peletakan objek ................................................ 85 Tabel 4.6. Persentase Error Nilai OCR Motor Servo JX-PDI-6225-300 (Servo 1) ... 89 Tabel 4.7. Persentase Error Nilai OCR Motor Servo Towerpro SG90 ....................... 90 Tabel 4.8. Sudut Tiap Servo untuk Mengambil dan Meletakan Objek Kubus ........... 91 Tabel 4.9. Sudut Tiap Servo untuk Mengambil dan Meletakan Objek Tabung .......... 91 Tabel 4.10. Sudut Tiap Servo untuk Mengambil dan Meletakan Objek Prisma .......... 92 Tabel 4.11. Persentase Error Nilai Sudut Motor Servo Satu ....................................... 92 Tabel 4.12. (Lanjutan) Persentase Error Nilai Sudut Motor Servo Satu ..................... 93 Tabel 4.13. Persentase Error Nilai Sudut Motor Servo Dua ........................................ 93 Tabel 4.14. Persentase Error Nilai Sudut Motor Servo Tiga ....................................... 94 Tabel 4.15. Nilai Centroid Peletakan Objek Sebelum dan Sesudah di Pindahkan ...... 96 xxii.

(23) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. Tabel 4.16. Pengujian Keberhasilan Sistem Mengenali Bentuk dan Posisi Objek ...... 97 Tabel 4.17. Pengujian lengan robot saat mengambil dan meletakan objek .................. 98 Tabel 4.18. Pengujian lengan robot saat mengambil dan meletakan objek .................. 99. xxiii.

(24) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. BAB I PENDAHULUAN 1.1. Latar Belakang Pada era digital ini, teknologi berkembang semakin pesat. Perkembangan teknologi memiliki peran yang penting dalam menunjang aktivitas manusia untuk mempermudah melakukan pekerjaan agar lebih efektif dan efisien. Salah satu hasil perkembangan teknologi yaitu teknologi di bidang computer vision dan lengan robot. Computer vision merupakan disiplin ilmu pengetahuan yang berfokus pada sistem kecerdasan buatan dan berhubungan dengan akuisisi serta image processing [1]. Sedangkan lengan robot, atau biasa disebut robot manipulator merupakan gabungan dari beberapa segmen yang secara umum terbagi menjadi 3 bagian utama yaitu arm, wrist dan gripper [2]. Computer vision banyak diterapkan pada bidang kesehatan, otomasi industri, militer dan kontrol robotika. Pada bidang robotika misalnya, computer vision mampu memberikan kecerdasan buatan pada lengan robot untuk memindahkan benda berdasarkan informasi posisi, warna, ukuran dan bentuk benda. Sistem kecerdasan buatan pada lengan robot dirancang menggunakan algoritma-algoritma yang memungkinkan robot bergerak secara otomatis [3]. Lengan robot memiliki peran penting dalam bidang industri, misalnya untuk mengurangi resiko kecelakaan kerja bagi manusia yang bekerja pada bidang pekerjaan yang berhubungan dengan bahan-bahan kimia berbahaya dan pengangkatan benda-benda berat, meminimalisasi human error sehingga meningkatkan produktifitas industri, serta untuk meng-otomasi bidang pekerjaan yang masih dilakukan secara manual agar proses produksi menjadi lebih efisien. Dalam penerapannya, lengan robot berfungsi untuk memindahkan benda, tool, material, produk industri serta berbagai macam peralatan tertentu lewat pergerakan yang terprogram untuk melakuan berbagai macam tugas [2]. Pada penelitian terdahulu yang dilakukan oleh Hasan [4] mengenai aplikasi pengenalan objek untuk lengan robot pemisah benda berdasarkan bentuk, peletakan benda hanya pada satu posisi yang sudah ditentukan sebelumnya dan lengan robot mengambil benda dari satu posisi kemudian memindahkannya menuju salah satu dari empat posisi peletakan benda, sesuai dengan bentuk bendanya (point to multipoint). Selain itu, orientasi peletakan benda juga tidak acak. Dari penelitian tersebut dan berdasarkan manfaat lengan robot serta computer vision, maka peneliti memiliki gagasan membuat lengan robot yang 1.

(25) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 2. dapat mengambil benda dari dua belas posisi di dalam area kerja dan memindahkannya menuju salah satu dari tiga posisi peletakkan benda (multipoint to multipoint), serta orientasi dan posisi peletakan benda yang bisa acak di dalam area kerja lengan robot. Benda diletakan di area kerja lengan robot yang berada dibawah camera webcam untuk diproses dan dikenali bentuk dan posisinya. Setelah bentuk dan posisi benda dikenali, maka lengan robot akan mengambil benda tersebut untuk dipindahkan dan diletakkan pada tempat yang telah ditentukan.. 1.2. Tujuan dan Manfaat Tujuan penulisan tugas akhir ini yaitu mengaplikasikan computer vision pada lengan robot agar dapat memindahkan benda yang diletakan pada area kerja lengan robot secara realtime. Manfaat dari pembuatan tugas akhir ini adalah : a. Untuk media pembelajaran mengenai computer vision dan pengenalan objek. b. Untuk dasar penelitian mengenai aplikasi computer vision pada lengan robot. Pengembangan dari pembuatan tugas akhir ini yaitu lengan robot industri otomatis untuk memindahkan benda-benda berat maupun material tertentu yang memiliki bentuk berbeda, serta orientasi dan posisi letak benda yang acak secara otomatis.. 1.3.. Batasan Masalah Pada perancangan alat ini, penulis berfokus pada pembuatan lengan robot beserta. programnya dengan menggunakan code vision AVR dan computer vision sebagai image processing-nya menggunakan software MATLAB, sedangkan untuk hardware berupa camera webcam, lengan robot, dan USB to TTL converter menggunakan modul yang sudah jadi dan tersedia dipasaran. Penulis menetapkan beberapa batasan masalah pada perancangan ini, yaitu sebagai berikut : 1). Masukan berupa tiga buah benda yaitu kubus, tabung dan prisma segitiga yang berwarna kuning dan terbuat dari Styrofoam.. 2). Ukuran benda yang digunakan yaitu : a) Tabung (diameter = 3,5 cm, tinggi = 3,5 cm). b) Prisma Segitiga (Tinggi = 3,5 cm, panjang rusuk segitiga = 3,5 cm). c) Kubus (panjang rusuk = 3,5 cm)..

(26) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 3. 3). Jumlah maksimal benda yang dapat diletakan pada area peletakan benda sebanyak 5 buah.. 4). Menggunakan camera webcam Logitech C170 untuk mengidentifikasi benda yang terhubung dengan software MATLAB.. 5). Jarak peletakan camera webcam menyesuaikan dengan luas area peletakan benda agar citra yang di akuisisi webcam hanya area peletakan benda.. 6). Camera webcam diletakan diatas area peletakan benda.. 7). Area peletakan benda memiliki ukuran panjang 28 cm, lebar 21 cm dan berwarna hitam.. 8). Area peletakan benda terbagi menjadi 12 posisi, tiap-tiap posisi berukuran 7 cm x 7cm.. 9). Benda diletakan pada titik tengah area berukuran 7 cm x 7 cm dengan posisi yang acak.. 10). Objek tabung dan prisma segitiga diletakan dengan orientasi yang acak, sedangkan orientasi objek kubus akan dievaluasi lebih lanjut.. 11). Pengambilan benda dilakukan berurutan dari nomor posisi terkecil.. 12). Jarak antara area peletakan benda dengan lengan robot sejauh 10 cm.. 13). Lengan robot dan gripper terbuat dari bahan akrilik dengan tebal 3 mm.. 14). Komunikasi antara laptop dengan ATmega32 menggunakan komunikasi serial USART yang dihubungkan dengan modul yang sudah tersedia di pasaran yaitu modul USB to TTL converter.. 15). Tempat peletakan benda berada disamping lengan robot. Terdapat tiga buah tempat untuk meletakan benda yaitu kotak berwarna hijau untuk meletakan benda kubus, kotak berwarna merah untuk meletakan benda tabung dan kotak berwarna kuning untuk meletakan benda berbentuk prisma segitiga.. 16). Terdapat tampilan GUI pada MATLAB sebagai user interface agar dapat melihat data benda yang dikenali.. 17). Keluaran pada GUI berupa bentuk benda dan posisinya..

(27) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 4. 1.4. Metodologi Penelitian Langkah-langkah yang dilakukan peneliti dalam pengerjaan tugas akhir ini yaitu : 1). Pengumpulan bahan-bahan referensi berupa buku, e-book dan jurnal ilmiah yang membahas computer vision dengan MATLAB, pemrosesan citra, lengan robot, robotika modern, pemrogaman dengan codevision AVR, ATmega32 serta buku-buku penunjang lainnya.. 2). Perancangan hardware dan software. Tahap ini merupakan perancangan desain lengan robot beserta skema-skema rangkaian pendukung dan pembuatan flowchart untuk memprogram ATmega32 dan MATLAB.. 3). Pembuatan hardware dan software. Tahapan ini berisi tentang pembuatan alat sesuai dengan desain lengan robot yang telah dirancang berserta program-program yang mengacu pada flowchart yang telah dibuat pada perancangan.. 4). Proses pengambilan data. Teknik pengambilan data dilakukan dengan mencari data pada masing-masing benda, melihat tanggapan sistem dalam mendeteksi bentuk dan posisi benda, sudut motor servo pada lengan robot, dan keakuratan lengan robot saat memindahhkan benda.. 5). Analisa dan penyimpulan hasil percobaan. Analisa dan penyimpulan hasil percobaan dapat dilakukan dengan melihat persentase error alat saat mendeteksi bentuk benda, dan tingkat keberhasilan lengan robot saat memindahkan benda berdasarkan bentuk dan posisinya..

(28) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI. BAB II DASAR TEORI Pada bab ini akan dibahas mengenai landasan-landasan teori yang digunakan dalam pembuatan tugas akhir “Aplikasi Computer Vision Pada Lengan Robot Pemindah Benda Berdasarkan Bentuk Dan Posisi”.. 2.1. Computer Vision Computer vision merupakan teknologi paling penting dimasa yang akan datang dalam pengembangan robot interaktif. Computer vision merupakan bidang pengetahuan yang berfokus pada bidang sistem kecerdasan buatan dan berhubungan dengan akuisisi data dan pemrosesan citra. Penerapan computer vision pada lengan robot misalnya, digunakan untuk mengetahui pergerakan lengan robot dalam upaya mengambil atau meletakkan suatu benda disekitarnya (image-based visual servoing) [1]. Computer vision mengkombinasikan disiplin ilmu pemrosesan citra dan pengenalan pola. Pemrosesan citra merupakan proses pengolahan citra digital untuk mendapatkan citra dengan kualitas yang lebih baik, sedangkan pengenalan pola merupakan proses mengidentifikasi objek pada suatu citra digital. Proses identifikasi citra bertujuan untuk mendapatkan informasi dari citra digital. Hasil dari proses pengolahan citra dan pengenalan pola tersebut akan menghasilkan informasi yang digunakan untuk mengendalikan pergerakan robot [5].. 2.1.1. Pemrosesan Citra (Image Processing) 2.1.1.1. Definisi Citra Secara matematis, sebuah citra dapat didefinisikan sebagai fungsi dua dimensi f (x,y), dimana x dan y adalah koordinat spasial (plane) dan f adalah nilai intensitas warna pada koordinat x dan y. Nilai f, x dan y adalah nilai berhingga. Citra digital memiliki nilai-nilai f, x dan y yang bersifat diskrit, seperti citra yang disimpan di memori komputer. Citra digital merupakan citra dua dimensi (2D) yang dinyatakan dalam bentuk matriks berukuran N baris dan M kolom dengan jumlah elemen berhingga. Setiap elemen matriks citra atau biasa disebut piksel (picture element) memiliki posisi koordinat x dan y serta nilai tertentu.. 5.

(29) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 6. Koordinat (0,0) merupakan titik origin dari sebuah citra digital [6]. Sistem koordinat citra dapat dilihat pada gambar 2.1.. Gambar 2.1. Sistem koordinat citra berukuran M x N (M baris dan N kolom) [7]. Citra digital dapat memiliki noise. Noise adalah gambar atau pixel yang tidak diinginkan dan mengganggu kualitas citra. Noise tersebut bisa terjadi sejak pengambilan citra menggunakan sensor camera seperti webcam. Level pencahayaan dan suhu sensor camera menjadi faktor utama yang mempengaruhi tingkat noise yang dihasilkan pada citra digital. Noise tersebut perlu dihilangkan untuk mendapatkan kualitas citra yang lebih baik [4].. 2.1.1.2. Citra Grayscale Proses awal yang banyak dilakukan dalam pemrosesan citra digital adalah dengan mengubah citra berwarna menjadi citra grayscale, hal ini bertujuan untuk menyederhanakan model citra berwarna yang terdiri dari tiga layer matriks yaitu red-layer, green-layer dan blue layer menjadi satu layer matrik citra grayscale [4]. Citra grayscale merupakan citra digital yang hanya memiliki suatu nilai kanal pada setiap piksel nya. Warna yang dimiliki adalah warna hitam, putih dan abu-abu. Citra grayscale sudah tidak memiliki komponen RGB (Red Green Blue), yang ada adalah derajat keabuan yang direpresentasikan dengan intensitas 0 sampai 255. Nilai 0 menyatakan hitam dan nilai 255 menyatakan putih [6]. Citra grayscale beserta representasi nilai keabuannya ditunjukan pada gambar 2.2..

(30) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 7. Gambar 2.2. Citra grayscale beserta representasi nilai keabuannya [7]. 2.1.1.3. Citra Biner Citra biner adalah citra yang setiap pikselnya hanya dinyatakan dengan sebuah nilai dari dua kemungkinan (yaitu 0 dan 1). Nilai 0 menyatakan warna hitam dan nilai 1 menyatakan warna putih. Citra sbiner banyak digunakan dalam image processing, misalnya untuk memperoleh tepi bentuk, luas area dan ukuran suatu objek pada citra digital [6]. Contoh citra biner ditunjukan pada gambar 2.3.. Gambar 2.3. Citra biner dan representasi nilai binernya [7].

(31) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 8. 2.1.1.4. Konversi Citra Grayscale Ke Citra Biner Proses pengkonversian citra grayscale menjadi citra biner merupakan tahap awal dalam image processing. Dalam proses pengkonversian ini, dibutuhkan suatu nilai batas yang disebut dengan threshold. Tresholding ini digunakan untuk mengatur jumlah derajat keabuan pada citra. Nilai intensitas citra yang lebih dari atau sama dengan nilai threshold akan diubah menjadi 1 (berwarna putih) sedangkan nilai intensitas citra yang kurang dari nilai threshold akan diubah menjadi 0 (berwana hitam). Sehingga citra keluaran dari hasil thresholding adalah berupa citra biner [8]. Persamaan yang digunakan untuk mengkonversi nilai piksel citra grayscale menjadi biner pada metode thresholding ditunjukan pada persamaan 2.1 sebagai berikut : 1, 𝑗𝑖𝑘𝑎 𝑓(𝑥, 𝑦) ≥ 𝑇 𝑔(𝑥, 𝑦) = { 0, 𝑗𝑖𝑘𝑎 𝑓(𝑥, 𝑦) < 𝑇. (2.1). Keterangan : f (x,y) : citra grayscale g (x,y) : citra biner T. : nilai threshold Contoh perubahan nilai piksel pada proses thresholding ditunjukkan oleh gambar 2.4. sedangkan citra hasil thresholding dengan beberapa variasi nilai threshold ditunjukan oleh gambar 2.5.. Gambar 2.4. Ilustrasi perubahan nilai piksel pada proses thresholding [8].

(32) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 9. Gambar 2.5. Citra hasil thresholding dengan beberapa variasi nilai threshold [8] Gambar 2.5 menunjukan bahwa semakin kecil nilai threshold maka citra biner akan di dominasi oleh warna putih, sedangkan semakin besar nilai threshold maka citra biner akan di dominasi oleh warna hitam [8].. 2.1.1.5 Noise Filtering Suatu citra digital dapat memiliki noise. Noise merupakan gambar atau pixel yang mengurangi kualitas citra. Noise pada citra digital dapat berupa titik-titik putih di area citra yang berwarna hitam ataupun titik-titik hitam pada area yang berwarna putih. Ada beberapa penyebab noise, yaitu gangguan fisis pada pada alat akuisisi serta intensitas pencahayaan. Noise tersebut dapat mempengaruhi informasi yang terdapat pada citra. Untuk meningkatkan kualitas citra dan mengurangi noise supaya informasi yang ada pada citra dapat diolah dan dianalisa dengan baik dapat dilakukan dengan median filtering [9]. Median filtering merupakan suatu metode yang terfokus pada nilai median atau nilai tengah dari jumlah total pixel yang ada disekelilingnya. Pada umumnya, median filtering.

(33) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 10. akan mengganti pixel-pixel yang berderau/noise dengan suatu nilai yang dekat dengan pixelpixel disekitarnya [10]. Nilai pixel pada pusat bidang window dapat dihitung dengan mencari nilai median dari nilai intensitas sekelompok pixel yang telah diurutkan jika window tersebut ditempatkan pada suatu bidang citra [9]. Secara matematis, rumus median filtering ditunjukan pada persamaan 2.2 sebagai berikut : 𝑔(𝑥, 𝑦) = 𝑀𝑒𝑑𝑖𝑎𝑛{𝑓 (𝑥 − 𝑖, 𝑦 − 𝑗), (𝑖, 𝑗) ∈ 𝑊 }. (2.2). g (x,y) merupakan citra yang dihasilkan dari citra f (x,y), sedangkan W merupakan window yang ditempatkan pada bidang citra dan (i,j) elemen dari window. Median filtering dan contoh noise filtering ditunjukan oleh gambar 2.6 dan gambar 2.7.. (a). (b). Gambar 2.6. Median Filtering (a) input (b) output.

(34) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 11. (a). (b). Gambar 2.7. Noise filtering pada citra (a) input (b) output. 2.1.1.6. Labeling objek Citra biner dapat merepresentasikan sejumlah objek. Jumlah objek dalam citra biner dihitung dengan cara memberi label pada objek. Pelabelan terhadap objek merupakan suatu tindakan untuk memberi label berbeda (memberi nomor) pada setiap objek yang terdapat dalam citra biner. Pada proses pelabelan, piksel berlabel nol adalah latar belakang, piksel berlabel satu merupakan label pada objek pertama, piksel berlabel dua merupakan label pada objek ke dua, dan seterusnya. Pelabelan pada citra biner digunakan untuk menghitung jumlah objek dalam suatu citra [6]. Contoh labeling objek pada citra biner ditunjukan pada gambar 2.8.. (a). (b). Gambar 2.8. Labeling objek (a) citra input (b) citra hasil labeling objek.

(35) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 12. 2.1.1.7. Segmentasi Citra Segmentasi citra merupakan salah satu tahapan penting dalam proses pengenalan bentuk dan posisi objek dalam citra. Proses segmentasi citra bertujuan untuk memisahkan antara objek dengan backgroundnya. Segmentasi citra dilakukan untuk mempermudah dalam proses pengidentifikasian suatu objek dalam citra digital. Pada umumnya keluaran hasil segmentasi citra berupa citra biner di mana objek (foreground) yang dikehendaki berwarna putih (1), sedangkan background yang ingin dihilangkan berwarna hitam (0) [11]. Proses segmentasi ditunjukan pada Gambar 2.9.. Gambar 2.9. Proses segmentasi (a) citra hasil labeling (b) segmentasi objek pertama (c) segmentasi objek kedua Pada gambar 2.9 dilakukan proses segmentasi objek. Pada segmentasi objek pertama, jika terdapat nilai pixel yang tidak sama dengan 1, maka nilai pixel diubah menjadi bernilai 0 sedangkan untuk pixel yang bernilai 1 akan tetap bernilai 1 sehingga didapatkan hasil.

(36) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 13. segmentasi objek pertama. Pada segmentasi objek kedua, jika terdapat nilai pixel yang tidak sama dengan 2, maka nilai pixel diubah menjadi bernilai 0 sedangkan untuk pixel yang bernilai 2 akan diubah menjadi bernilai 1 sehingga didapatkan hasil segmentasi objek kedua.. 2.1.2. Pengenalan Bentuk Dan Penentuan Posisi Bentuk dan posisi merupakan salah satu ciri yang dapat diekstrak dari suatu objek untuk membedakan objek tersebut dengan objek lainnya. Untuk dapat membedakan objek satu dengan objek lainnya tersebut dilakukan identifikasi pada objek. Identifikasi tersebut dapat berupa pengenalan bentuk dan posisi.. 2.1.2.1. Pengenalan Bentuk 2.1.2.1.1. Area Area merupakan banyaknya pixel pada suatu objek (luas objek). Objek pada citra biner direpresentasikan dengan warna putih. Nilai pixel citra berwarna putih pada area tersebut bernilai 1. Jumlah pixel (yang bernilai 1) pada suatu objek dalam citra digital adalah nilai areanya. Jumlah pixel area dari setiap objek berbeda beda. Perbedaan nilai area objek ini digunakan dalam perhitungan thinnes ratio untuk menentukan bentuk suatu objek dalam citra digital [7]. Area objek persegi berwarna putih ditunjukan oleh gambar 2.10. Rumus area ditunjukan pada persamaan 2.3 berikut [7] : 𝑁 𝐴𝑖 = ∑ 𝑀 𝑥=1 ∑𝑦=1 𝑂𝑖 (𝑥, 𝑦). Keterangan : 𝐴𝑖. = Jumlah pixel dari luas objek (area). M. = Kolom pixel. N. = Baris pixel. Oi. = Objek dalam suatu citra. (2.3).

(37) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 14. Gambar 2.10. Area objek persegi Berdasarkan gambar 2.10, dapat diketahui nilai area objek persegi menggunakan persamaan 2.3. Area objek persegi tersebut adalah 9. Nilai area ini didapatkan dari jumlah pixel yang bernilai 1 pada objek.. 2.1.2.1.2. Perimeter Perimeter merupakan banyaknya pixsel pada boundary atau tepi objek. Perimeter didapatkan dari hasil deteksi tepi suatu objek dalam citra digital. Deteksi tepi dapat dilakukan dengan kontur moore. Contoh kontur moore terdapat di lampiran. Jumlah pixel perimeter dari setiap objek berbeda beda. Perbedaan nilai perimeter dari objek digunakan dalam perhitungan thinnes ratio untuk menentukan bentuk suatu objek dalam citra digital Jumlah pixel tersebut dihitung berdasarkan pixel (yang bernilai 1) pada tepi suatu objek [7]. Perimeter objek persegi ditunjukan oleh gambar 2.11..

(38) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 15. Gambar 2.11. Perimeter objek persegi Berdasarkan gambar 2.11, dapat diketahui nilai perimeter objek persegi tersebut adalah 8. Nilai perimeter ini didapatkan dari jumlah pixel yang bernilai 1 pada tepi objek.. 2.1.2.1.3. Thinness Ratio Thinness ratiomerupakan perbandingan banyaknya pixel area dengan banyaknya pixel perimeter dari suatu objek dalam citra digital. Setiap bentuk objek memiliki nilai thinness ratioyang berbeda beda. Nilai tersebut digunakan sebagai perbandingan untuk menentukan bentuk suatu objek yang diamati. Untuk benda yang bentuknya sama tetapi ukuranya berbeda, nilai thinness rationya tetap sama, hal ini karena perbandingan jumlah pixel area dan pixel perimeternya tetap sama [7]. Rumus thinnes ratio ditunjukan pada persamaan 2.4.. 𝑇𝑖 =. 4𝜋𝐴𝑖 𝑃𝑖2. Keterangan : Ti = Thinness ratio Ai = jumlah pixel dari luas objek (area) Pi = jumlah pixel dari keliling objek (perimeter). (2.4).

(39) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 16. Dari gambar 2.11 dan 2.12 didapatkan nilai area (Ai) = 9 dan nilai perimeter (Pi) = 8. Dari nilai area dan perimeter, dapat dicari nilai thinness ratio. Contoh perhitungan nilai thinness ratio sebagai berikut : 𝑇𝑖 =. 𝑇𝑖 =. 4𝜋𝐴𝑖 𝑃𝑖2. 4𝜋 × 9 (8)2. 𝑇𝑖 = 1,767 Berdasarkan hasil perhitungan, didapatkan nilai thinness ratio yaitu 1,767.. 2.1.2.2. Penentuan Posisi 2.1.2.2.1. Centroid Centroid merupakan titik pusat dari area suatu objek dengan koordinat (x,y) pada suatu citra digital. Koordinat (x,y) dihitung berdasarkan nilai awal yang dimulai dari di titik origin (0,0) citra. Centroid dari setiap objek dalam suatu citra memiliki nilai yang berbeda beda. Perbedaan nilai centroid disebabkan oleh letak dari masing-masing objek dalam citra. Nilai centroid tersebut yang digunakan untuk menentukan posisi suatu objek dalam suatu citra [7]. Contoh centroid objek ditunjukan oleh gambar 2.12. Rumus centroid ditunjukan pada persamaan 2.5 dan 2.6. 1. 𝑁 𝑥𝑖 = 𝐴 ∑𝑀 𝑥=1 ∑𝑦=1 𝑥𝑂𝑖 (𝑥, 𝑦 ) 𝑖. 1. 𝑁 𝑦𝑖 = 𝐴 ∑𝑀 𝑥=1 ∑𝑦=1 𝑦𝑂𝑖 (𝑥, 𝑦 ) 𝑖. Keterangan : xi = koordinat pada sumbu x yi = koordinat pada sumbu y Ai = jumlah pixel dari luas objek (area) M = kolom pixel N = baris pixel. (2.5). (2.6).

(40) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 17. Oi = objek dalam suatu citra. (a). (b). Gambar 2.12. Titik pusat (centroid) (a) citra objek persegi (b) centroid objek persegi Berdasarkan gambar 2.12a, contoh perhitungan nilai centroid dari objek persegi sebagai berikut : Ai = 9 a). 𝑥𝑖 = 𝑥𝑖 =. (2𝑥1)+(2𝑥1)+(2𝑥1)+(3𝑥1)+(3𝑥1)+(3𝑥1)+(4𝑥1)+(4𝑥1)+(4𝑥1) 9. 27 9. 𝑥𝑖 = 3 b). 𝑦𝑖 = 𝑦𝑖 =. (2𝑥1)+(2𝑥1)+(2𝑥1)+(3𝑥1)+(3𝑥1)+(3𝑥1)+(4𝑥1)+(4𝑥1)+(4𝑥1) 9. 27 9. 𝑦𝑖 = 3 Centroid dari objek persegi pada gambar 2.12 terletak pada koordinat (3,3). Centroid objek persegi ditunjukan oleh gambar 2.12b..

(41) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 18. 2.1.3. Webcam Webcam atau web camera adalah sebuah kamera video digital kecil yang dihubungkan ke komputer melalui port USB atau port COM. Webcam bermanfaat dalam bidang telekomunikasi, bidang keamanan dan bidang industri. Sebagai contoh webcam digunakan untuk videocall chatting, surveillience camera, dan sebagai video conference oleh beberapa user. Pada bidang pengolahan citra, webcam digunakan untuk meng-capture citra analog sehingga diperoleh citra digital yang kemudian diolah dengan perangkat lunak seperti matlab [12]. Webcam logitech C170 ditunjukan oleh gambar 2.13, sedangkan spesifikasi webcam terdapat di lampiran.. Gambar 2.13. Webcam logitech C170 [13]. 2.2. Lengan Robot Lengan robot atau robot manipulator merupakan sekumpulan hubungan mekanik yang terdiri dari rangkaian kinematik yang secara umum terbagi menjadi tiga bagian yaitu arm, wrist, dan gripper. Konfigurasi robot digunakan untuk mengklasifikasikan robot-robot industri. Konfigurasi robot mengarah pada bentuk geometri dari manipulator robot, yaitu informasi hubungan dari setiap joint pada manipulator. Robotics Industries Associations (RIA) mendefinisikan robot sebagai manipulator didesain untuk memindahkan material, benda, alat atau peralatan tertentu lewat pergerakan yang terprogram [2]. Sistem lengan robot memiliki empat komponen dasar, yaitu : Manipulator, end effector, aktuator, controller..

(42) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 19. a.. Manipulator Manipulator adalah bagian mekanik yang dapat difungsikan untuk memindah,. mengangkat dan memanipulasi benda kerja [14]. Manipulator pada lengan robot memiliki tiga bagian, yaitu bagian dasar (base), bagian lengan (arm) dan bagian pergelangan (wrist). Manipulator lengan robot ditunjukan pada gambar 2.14.. Gambar 2.14. Manipulator pada lengan robot [15] Bagian dasar (base) berfungsi untuk menyangga lengan robot dan biasanya terpasang secara paten pada area kerja. Hal ini bertujuan untuk menjaga keseimbangan lengan robot ketika bergerak. Bagian lengan (arm) berfungsi untuk memposisikan end effector agar dapat mengambil benda dan bagian pergelangan (wrist) berfungsi untuk mengatur orientasi dari end effector. Bagian ujung pada lengan robot terpasang end effector atau biasa disebut dengan gripper sebagai instrument untuk mencengkeram benda [4].. b.. End Effector End effector dapat ditemukan hampir disemua aplikasi robot, walaupun. keberadaannya bukan merupakan komponen dasar dari sistem robot. End effector berfungsi sebagai bagian terakhir yang menghubungkan manipulator dengan objek [4]. Contoh end effector pada lengan robot yaitu gripper. Gripper berfungsi untuk mencengkram objek. Contoh gripper ditunjukan pada gambar 2.15..

(43) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 20. Gambar 2.15. Gripper lengan robot [16]. c.. Aktuator Aktuator adalah bagian penting pada robot yang berfungsi sebagai penggerak dari. perintah yang diberikan oleh pengontrol. Biasanya aktuator merupakan piranti elektromekanik yang menghasilkan daya gerakan [1]. Aktuator dasar yang sering digunakan sebagai penghasil gerakan dapat dibagi menjadi tiga bagian, yaitu aktuator berbasis motor listrik (motor DC magnet permanen (DC-MP), motor DC brushless (DC-BL), motor DC servo (DC-SV)), aktuator pneumatik dan aktuator hidrolik [14].. d.. Kontroler Kontroler adalah rangkaian elektronik berbasis mikroprosesor yang berfungsi sebagai. pengendali sistem mekanik dalam membentuk fungsi kerja [3]. Kontroler mmenyimpan informasi berupa data-data pergerakan lengan robot yang telah diprogram dengan bahasa pemrogaman tertentu pada mikrokontroler. Informasi dan data-data tersebut disimpan dalam memori. Data tersebut dapat dioutputkan untuk menentukan gerakan dari manipulator..

(44) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 21. 2.2.1. Motor Servo Motor servo merupakan motor DC yang memiliki kualitas tinggi. Motor ini sudah dilengkapi sistem kontrol. Pada aplikasinya, motor servo sering digunakan sebagai kontrol loop tertutup, sehingga dapat menangani perubahan posisi secara tepat dan akurat begitu juga dengan pengaturan kecepatan dan percepatan [2]. Motor servo disusun dari sebuah motor DC, gearbox, variabel resistor atau potensiometer dan rangkaian kontrol. Potensiometer berfungsi untuk menentukan batas maksimal putaran sumbu (axis) motor servo, sedangkan sudut dari sumbu motor servo diatur dengan memberikan variasi lebar pulsa PWM pada bagian pin kontrolnya. [18]. Contoh model fisik servo dan pengkabelannya ditunjukan pada gambar 2.16 dan gambar 2.17.. Gambar 2.16. Model fisik motor servo hitec HS-300 [18]. Gambar 2.17. Sistem pengkabelan motor servo [19] Sistem pengkabelan motor servo terdiri dari 3 bagian, yaitu Vcc, Gnd, dan Kontrol (PWM). Penggunaan PWM pada motor servo berbeda dengan penggunaan PWM pada.

(45) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 22. motor DC. Pada motor servo, pemberian nilai PWM akan membuat motor servo bergerak pada posisi tertentu lalu berhenti (kontrol posisi) [2]. Motor servo dibedakan menjadi dua, yaitu continous servo motor dan uncontinous servo motor. Motor servo tersebut dapat bergerak dua arah yaitu clock wise (CW) dan Counter Clock Wise (CCW). Continous servo motor dapat berputar penuh 3600 sehingga memungkinkan untuk bergerak rotasi, sedangkan uncontinous servo motor hanya dapat berputar 1800. Cara pengontrolan servo ditunjukan pada gambar 2.18.. Gambar 2.18. Cara pengontrolan motor servo [2] Prinsip utama pada pengontrolan motor servo adalah pemberian nilai PWM pada kontrolnya. Perubahan duty cycle akan menentukan perubahan posisi dari motor servo. Frekuensi PWM yang digunakan pada pengontrolan motor servo selalu mempunyai frekuensi 50 Hz sehingga pulsa yang dihasilkan setiap 20 ms. Lebar pulsa pengontrolan menentukan posisi servo yang dikehendaki. Seperti contoh pada gambar 2.18 yaitu untuk menggerakkan servo ke posisi 900, maka dengan cara memberikan pulsa high selama 1,5 ms dan pulsa low selama 18,5 ms [2].. 2.2.2. Torsi/Momen Gaya Torsi atau momen gaya (τ) adalah kemampuan sebuah gaya yang bekerja pada suatu benda untuk memutar benda tersebut terhadap titik poros tertentu [20]. Jika pada benda bekerja lebih dari satu torsi, maka torsi total adalah penjumlahan dari seluruh torsi yang.

(46) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 23. bekerja. Gaya yang bekerja pada benda dapat menuju berbagai arah, tetapi torsi pada benda akan bernilai maksimal jika arah gaya tegak lurus (θ = 90) dengan benda atau lengan. Gambar 2.19 menunjukan penguraian vektor gaya yang bekerja pada lengan dalam menganalisis torsi [21].. Gambar 2.19. Vektor gaya pada lengan [21]. Massa dan posisi gaya terhadap poros putaran mempengaruhi besarnya torsi yang dihasilkan, sehingga semakin besar torsi (τ), dengan jarak antara sumbu putaran dan letak gaya yang sama, maka gaya F untuk memutar benda semakin besar [22]. Rumus torsi pada benda yang bergerak translasi ditunjukan pada persamaan 2.7 τ = F r sin θ. (2.7). Keterangan : τ = Torsi (N.m) L atau r = Jarak tegak lurus antara garis kerja gaya denga sumbu rotasi (m) F = Gaya (N), F = massa x gravitasi bumi θ = Derajat sumbu putar Contoh perhitungan torsi, jika beban sebesar 10 N (F) dan panjang lengan 10 cm (θ = 900), maka besar torsi adalah 1 N.m. Berdasarkan persoalan, dibutuhkan motor servo yang memiliki torsi lebih besar dari 1 N.m untuk dapat mengangkat beban tersebut [2]. Torsi tidak hanya menyebabkan gerak translasi, tetapi juga menyebabkan benda bergerak rotasi (horizontal). Torsi digunakan untuk menggerakan benda dari posisi diam hingga bergerak. Torsi yang menyebabkan benda berotasi dapat dihitung berdasarkan hukum II Newton [23]. Resultan torsi untuk benda yang bergerak rotasi ditunjukan oleh persamaan 2.8 dan 2.9, 2.10, sedangkan kecepatan sudut rotasi ditunjukan oleh persamaan 2.11. Gambar 2.20 menunjukan benda yang berotasi pada porosnya..

(47) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 24. ∑ τ = 𝐼𝛼. (2.8). ∆𝜔 ) ∆𝑡 𝜔1 − 𝜔0 ∑ τ = (𝑚𝑟 2 ) 𝑥 ( ) 𝑡1 − 𝑡0 ∑ τ = (𝑚𝑟 2 ) 𝑥 (. 𝜔=. (2.9) (2.10). 2𝜋 𝑇. (2.11). Keterangan : ∑ τ = resultan torsi ( N.m) I. = momen inersia (kg.m2). 𝛼. = percepatan sudut (rad/s2). 𝑚 = massa (kg) r. = jari-jari atau jarak antara sumbu rotasi dengan gaya (m). 𝜔. = kecepatan sudut (rad/s). T. = periode (s). Gambar 2.20. Gerak rotasi pada benda [24]. 2.2.3. Invers Kinematics Robot Arm 2 DOF (Degree Of Freedom) Kinematika. didefinisikan. sebagai. studi. pergerakan. robot. (motion). tanpa. memperhatikan gaya/force atau faktor lainnya yang mempengaruhi pergerakan tersebut. Pada analisa kinematik, posisi, kecepatan, dan akselerasi dari seluruh link dihitung tanpa memperhatikan gaya yang menyebabkan pergerakannya [2]. Invers kinematika merupakan.

(48) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 25. analisa kinematik untuk mendapatkan besar sudut dari masing-masing joint berdasarkan panjang lengan robot dan data koordinat posisi yang akan dituju. Lengan robot dua DOF merupakan robot yang memiliki dua lengan (a 1 dan a2) dan memiliki dua derajat kebebasan (dua servo penggerak). Contoh lengan robot dua DOF ditunjukan pada gambar 2.21.. Gambar 2.21. Robot lengan 2 sendi (2 DOF) [25] Dengan memperhitungkan panjang lengan robot dan koordinat yang akan dituju, analisa invers kinematik lengan robot yang memiliki 2 derajat kebebasan ( 2 DOF) dapat dihitung dengan rumus yang ditunjukan pada persamaan 2.12 dan 2.13. 𝑥 2 + 𝑦 2 − 𝑎12 − 𝑎22 ( ) 2𝑎1 𝑎2. (2.12). 𝑦 (𝑎1 + 𝑎2 cos 𝑞2 ) − 𝑥. 𝑎2 sin 𝑞2 ) 𝑥 (𝑎1 + 𝑎2 cos 𝑞2 ) + 𝑦. 𝑎2 sin 𝑞2. (2.13). 𝑞2 = cos 𝑞1 = tan−1 (. −1. Keterangan : q1 = sudut antara garis horizontal pada base dengan sudut servo satu q2 = sudut antara perpanjangan lengan l1 dengan sudut servo dua a1 = panjang lengan pertama a2 = panjang lengan kedua x = titik koordinat yang ingin dituju (sumbu x) y = titik koordinat pada yang ingin dituju (sumbu y).

(49) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 26. Gambar 2.22. Analisis pergerakan lengan robot Contoh perhitungan sudut q1 dan sudut q2 seperti pada gambar 2.21 untuk menentukan pergerakan lengan robot mengambil benda pada koordinat (16,1) seperti ditunjukan oleh gambar 2.22 dapat di hitung menggunakan rumus pada persamaan 2.12 dan 2.13 sebagai berikut : Dari gambar 2.22, diketahui : x = 16 cm, y = 1 cm a1 = 14 cm, a2 = 22 cm q1 = ? dan q2 = ? Penyelesaian : 𝑞2 = cos 𝑞2 = cos. −1. −1. 𝑥 2 + 𝑦 2 − 𝑎12 − 𝑎22 ( ) 2𝑎1 𝑎2. 162 + 12 − 142 − 222 ( ) 2 𝑥 14 𝑥 22. 𝑞2 = 133,368𝑜 𝑞1 = tan−1 ( 𝑞1 = tan. −1. 𝑦 (𝑎1 + 𝑎2 cos 𝑞2 ) − 𝑥. 𝑎2 sin 𝑞2 ) 𝑥 (𝑎1 + 𝑎2 cos 𝑞2 ) + 𝑦. 𝑎2 sin 𝑞2. 1(14 + 22 cos 133,3680 ) − 16𝑥22 sin 133,3680 ( ) 16 (14 + 22 cos 133,3680 ) + 1𝑥22 sin 133,3680 𝑞1 = 89,62𝑜. Berdasarkan contoh perhitungan, sudut pergerakan servo yang diperlukan supaya lengan robot dapat mengambil benda yaitu sudut q1 = 89,62𝑜 , dan q2 = 133,368𝑜 ..

(50) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 27. 2.2.4. Pulse Width Modulation (PWM) Pulse width modulation (PWM) adalah cara memanipulasi lebar sinyal yang dinyatakan dengan pulsa dalam suatu perioda, untuk mendapatkan tegangan rata-rata yang berbeda. Aplikasi PWM berbasis mikrokontroler bisa berupa pengendalian kecepatan motor DC, pengaturan nyala terang lampu LED, dan pengedalian motor servo. Sinyal PWM memiliki amplitudo dan frekuensi dasar yang tetap, namun memiliki duty cycle bervariasi (antara 0 hingga 100%). Duty cycle merupakan perbandingan lebar pulsa on terhadap satu periode gelombang [26]. Contoh sinyal PWM ditunjukan oleh gambar 2.23.. Gambar 2.23. Sinyal PWM [26] Rumus menghitung duty cycle sinyal PWM ditunjukan pada persamaan 2.14. 𝑇𝑜𝑛. 𝐷𝑢𝑡𝑦 𝑐𝑦𝑐𝑙𝑒 = 𝑇𝑜𝑛+𝑇𝑜𝑓𝑓 𝑥 100 %. (2.14). Keterangan : Ton = Lebar pulsa on dalam satu periode gelombang. Toff = Lebar pulsa off dalam satu peridode gelombang. Ttotal = Waktu satu periode gelombang.. 2.2.5. Mikrokontroler AVR Atmega32 AVR (Alf and Vegard’s Risch Processor) merupakan single-chip microcontroller RISC (Reduced Instruction Set Computer) 8-bit dengan arsitektur Havard yang dilengkapi dengan fitur-fitur standart seperti on-chip-program (code) ROM, data RAM, dara EEPROM,.

(51) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 28. timer-counter dan port I/O [23] . Chip AVR yang digunakan untuk tugas akhir ini adalah ATmega32. Hampir semua instruksi program dieksekusi dalam satu siklus clock. AVR juga mempunyai 32 register general-purpose, timer-counter fleksibel dengan mode compare, interupsi internal dan eksternal, serial UART, programmable Watchdog Timer, dan power saving mode dan In-System Programmable Flash on-chip yang memungkinkan memori program untuk diprogram ulang [4]. Sebagai generasi terbaru, ATmega32 memiliki fitur yang lebih lengkap dibanding dengan generasi sebelumnya. ATmega32 memiliki kapasitas memori programmable flash sebesar 32 KB, dua kali lebih besar dari ATmega16. Selain itu ATmega32 juga memiliki EEPROM dan RAM dua kali lebih besar dari ATmega16 yakni EEPPOM sebesar 1 KB dan SRAM sebesar 2 KB.. 2.2.5.1. Arsitektur AVR ATmega32 Mikrokontroler ATmega32 memiliki arsitektur sebagai berikut : a. Saluran I/O sebanyak 32 buah, yaitu Port A, Port B, Port C, Port D. b. ADC 10 bit sebanyak 8 saluran. c. Tiga buah timer/counter yaitu Timer 0, Timer 1, dan Timer 2. d. Watchdig Timer dengan osilator internal. e. SRAM sebanyak 512 byte. f. Memori Flash sebesar 32 kb. g. Sumber interupsi internal dan eksternal. h. Port SPI (Serial Pheriperal Interface). i. EEPROM on board sebanyak 512 byte. j. Komparator analog. k. Port USART (Universal Shynchronous Ashynchronous Receiver Transmitter) untuk komunikasi serial.. 2.2.5.2. Deskripsi Mikrokontroler AVR ATmega32 Konfigurasi Pin Mikrokontroler ATmega32 dengan 40 pin DIP (dual in-line package) dapat dilihat pada gambar 2.24. AVR menggunakan arsitektur Havard (dengan memori dan bus terpisah untuk program dan data). Ketika sebuah instruksi sedang dikerjakan maka.

(52) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 29. instruksi berikuntya diambil dari memori program [27]. Konfigurasi pin Atmega32 ditunjukan pada gambar 2.24.. Gambar 2.24. Konfigurasi pin mikrokontroler AVR Atmega [28] Penjelasan konfigurasi PIN pada mikrokontroler AVR ATmega32, secara umum : a.. Pin 1 sampai 8 (PortB : PB0 – PB7) merupakan port parallel 8 bit dua arah (bidirectional), yang dapat digunakan untuk general purpose dan special feature.. b.. Pin 9 (Reset). Reset terjadi jika pin ini diberi logika low melebihi perioda minimum yang diperlukan.. c.. Pin 10 (VCC) dihubungkan ke catu daya (+5 Volt).. d.. Pin 11 dan 31 (GND) dihubungkan ke Vss atau Ground.. e.. Pin 12 (XTAL 2) adalah pin keluaran dari inverting oscillator amplifier.. f.. Pin 13 (XTAL 1) adalah pin masukan ke inverting oscillator amplifier dan masukan ke rangkain internal clock.. g.. Pin 14 sampai 21 (PortD : PD0 – PD7) adalah 8-bit dua arah (bi-directional I/O) port dengan internal pull-up resistors) digunakan untuk general purpose dan special feature.. h.. Pin 22 sampai 29 (PortC : PC0 – PC7) adalah 8-bit dua arah (bi-directional I/O) port dengan internal pull-up resistors digunakan untuk general purpose dan special feature. Dua pin PC6 dan PC7 berfungsi sebagai oscillator eksternal untuk timer/counter2..

(53) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 30. i.. Pin 30 adalah Avcc pin penyuplai daya untuk port A dan A/D converter dan dihubungkan ke Vcc. Jika ADC digunakan maka pin ini dihubungkan ke Vcc.. j.. Pin 32 adalah AREF pin yang berfungsi sebagai referensi masukan analog untuk ADC.. k.. Pin 33 sampai 40 (PortA : PA0 – PA7) adalah 8-bit dua arah (bi-directional I/O) port dengan internal pull-up resistors digunakan untuk general purpose. Port ini juga dimultipleks dengan masukan analag ke ADC 8 kanal [27].. 2.2.5.3. Timer/Counter Timer / Counter adalah bagian mikrokontroller yang tidak terpengaruh oleh kerja prosesor. Fungsi utama dari Timer / Counter, yaitu sebagai pewaktu (timer) atau penghitung (counter) atau berfungsi untuk menciptakan periode waktu, menghitung waktu dan menghitung kejadian. Pada chip AVR, Timer/Counter dapat berfungsi untuk mementukan lebar pulsa atau untuk membangkitkan sinyal PWM (Pulse Width Modulation). Beberapa Timer/Counter pada AVR juga digunakan sebagai penyelarasan waktu (kalibrasi) pada aplikasi real time. Timer / Counter dibagi berdasarkan lebar register yang mengandung nilai waktu atau menghitung nilai [4]. Mikrokontroler Atmega32 memiliki tiga macam timer yaitu timer/counter0 (8 bit), timer/counter1 (16 bit) dan timer/counter2 (8 Bit). Masing-masing kanal pewaktuan dilengkapi dengan prescaler yang berfungsi untuk membagi sumber clock utama mikrokontroler [27].. TIMER/COUNTER 0 Fitur-fitur yang dimiliki: 1. Satu buah unit Compare Counter (Unit ini akan meng-count dan meng-compare) 2. Timer dinolkan saat compare match (Auto reload) 3. Dapat menghasilkan gelombang PWM dengan glitch free 4. Frekuensi generator 5. Exsternal event counter 6. Prescaler clock hingga 10 bit 7. Membangkitkan interupsi saat timer overflow dan atau compare match.

Gambar

Gambar 2.4. Ilustrasi perubahan nilai piksel pada proses thresholding [8]
Gambar 2.11. Perimeter objek persegi
Gambar 2.13. Webcam logitech C170 [13]
Gambar  2.19  menunjukan  penguraian  vektor  gaya  yang  bekerja  pada  lengan  dalam  menganalisis torsi [21]
+7

Referensi

Dokumen terkait

Banyak hal yang dapat di manfaatkan dari sebuah sistem pengolahan citra, salah satunya pada penerapan mesin conveor penyortir barang, dalam bidang penyortir barang atau

Sesuai dengan tujuan penelitian yang telah ditetapkan sebelumnya, maka dapat disimpulkan bahwa algorit- ma untuk memanfaatkan omnidirectional image dalam menentukan arah

Sistem berbasis IOT dan aplikasi yang dikembangkan pada penelitian ini dapat bekerja dengan baik dalam menentukan lokasi objek pada area terbuka dengan tingkat