-
TUGAS AKHIR
APLIKASI COMPUTER VISION PADA LENGAN
ROBOT PEMINDAH BENDA BERDASARKAN
OBJEK DAN POSISI BENDA
Diajukan untuk memenuhi salah satu syarat
memperoleh gelar Sarjana Teknik pada
Program Studi Teknik Elektro
Jurusan Teknik Elektro
Fakultas Sains dan Teknologi Universitas Sanata Dharma
disusun oleh :
YOSHUA ADHI PERKASA
NIM : 155114032
JURUSAN TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERITAS SANATA DHARMA
YOGYAKARTA
2019
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
i
TUGAS AKHIR
APLIKASI COMPUTER VISION PADA LENGAN
ROBOT PEMINDAH BENDA BERDASARKAN
OBJEK DAN POSISI BENDA
Diajukan untuk memenuhi salah satu syarat
memperoleh gelar Sarjana Teknik pada
Program Studi Teknik Elektro
Jurusan Teknik Elektro
Fakultas Sains dan Teknologi Universitas Sanata Dharma
disusun oleh :
YOSHUA ADHI PERKASA
NIM : 155114032
JURUSAN TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERITAS SANATA DHARMA
YOGYAKARTA
2019
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
ii
FINAL PROJECT
THE APPLICATION OF COMPUTER VISION ON
MOVING ROBOTIC ARMS BASED ON THE
OBJECT AND ITS POSITION
In a partial fulfilment of the requirements
for the degree of Sarjana Teknik
Department of Electrical Engineering
Faculty of Science and Technology, Sanata Dharma University
YOSHUA ADHI PERKASA
NIM : 155114032
JURUSAN TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERITAS SANATA DHARMA
YOGYAKARTA
2019
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
iii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
iv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
v
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
vi
MOTTO :
“Serahkanlah perbuatanmu kepada TUHAN,
maka terlaksanalah segala rencanamu.”
Amsal 16:3
Skripsi ini kupersembahkan untuk ……
Tuhan Yesus Kristus Penolong setiaku
Bapak , Ibu serta kakak dan adik tercinta
Dosen-dosen yang selalu membimbingku
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
vii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
viii
INTISARI
Peran teknologi telah banyak digunakan diberbagai kehidupan
manusia saat ini.
Penggunaan robot khusunya lengan robot dapat membantu dalam
memindahkan benda dari
satu tempat ke tempat yang lain. Teknologi computer vision dapat
digunakan untuk
membantu otomatisasi pergerakan lengan robot.
Dalam penelitian ini, peneliti menggunakan lengan robot yang
sudah dilengkapi
dengan teknologi computer vision yang memanfaatkan webcam untuk
memindahkan benda
satu ke tempat yang lain. Untuk itu pertama kali, webcam
menangkap citra objek berupa
sejumlah wadah kubus dan tabung. Citra hasil tangkapan ini,
kemudian di proses
menggunakan software MATLAB untuk mengidentifikasi jenis dan
posisi objek. Hasil
identifikasi kemudian dikirimkan menggunakan komunikasi serial
USB-TTL ke
mikrokontroler ATmega32. Setelah itu berdasarkan perintah dari
mikrokontroler lengan
robot akan mengisi bola ke sejumlah wadah kubus dan tabung.
Hasil implementasi sistem lengan robot ini mempunyai
keberhasilan 100%. Sebagai
catatan, wadah tabung dan kubus harus diletakkan di tengah area
peletakan wadah.
Kata kunci: lengan robot, computer vision, webcam, MATLAB,
ATmega32, USB-TTL.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
ix
ABSTRACT
Technology has been used in every part of human’s life. Robotic
tools such as robotic
arms can be used for transporting an object from one place to
another. Computer Vision
Technology can be used to optimize the automatic move of robotic
arms.
In this research, researcher used robotic arms with computer
vision technology as
well as the use of webcam to transport an object from one place
to another. The first step
was using webcam to record the object’s images which are a
couple of cubes and tubes. The
images then are processed using MATLAB software to identify the
kind of objects as well
as their position. The result then is sent using USB-TTL to
Atmega32 micro-controller.
Furthermore, the robotic arms would add balls to the cubes and
tubes.
The result of the implementation of robotic arms are working
properly, reaching out
to 100% possibility, if the cubes and tubes are placed in the
center.
Keywords: robotic arms, computer vision, webcam, MATLAB,
ATmega32, USB-TTL.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
x
KATA PENGANTAR
Puji syukur penulis ucapkan kepada Tuhan Yesus Kristus atas
berkat dan bimbingan-
Nya, sehingga saya dapat menyelesaikan tugas akhir ini yang
berjudul “Aplikasi Computer
vision Pada Lengan Robot Pemindah Benda Berdasarkan Bentuk dan
Posisi Benda”.
Penelitian yang berupa tugas akhir ini merupakan salah satu
untuk syarat bagi
mahasiswa Jurusan Teknik Elektro untuk memperoleh gelar Sarjana
Teknik di Universitas
Sanata Dharma Yogyakarta. Penelitian ini dapat diselesaikan
dengan baik atas bantuan,
gagasan dan dukungan dari berbagai pihak. Oleh karena itu,
peneliti ingin mengucapkan
terima kasih kepada :
1. Kedua orang tua tercinta, Bapak Basuki Sapto Sulasno dan Ibu
Theresia Mulyati
atas doa, kasih sayang, dukungan serta motivasi.
2. Sudi Mungkasi, S.Si., M.Math.Sc., Ph.D., selaku Dekan
Fakultas Sains dan
Teknologi Universitas Sanata Dharma Yogyakarta.
3. Dr. Linggo Sumarno., selaku Dosen Pembimbing tugas akhir yang
telah
membimbing dan memberikan arahan dalam penyusunan tugas akhir
ini.
4. Bapak Petrus Setyo Prabowo, S.T.,M.T., dan Bapak Djoko
Sumarno, S.T.,M.T.,
selaku dosen penguji yang telah bersedia memberi kritik, saran
dan bimbingan
dalam memperbaiki tugas akhir ini.
5. Petrus Setyo Prabowo, S.T., M.T, dan Ir Tjendro, selaku
kepala program studi
teknik elektro dan wakil kepala program studi teknik
elektro.
6. Desi Tri Prasetya A.Md., sebagai teman, sahabat dan kekasih
yang selama ini
telah memberikan doa dan dukungan dalam menyelesaikan tugas
akhir ini.
7. Kakak dan adik tersayang yang terus mendukung dan memberi
semangat penulis.
8. Albertus Adit .T, R. Wenang S.N, dan Openyear S, teman
seperjuangan yang
telah memberikan tenaga, pikiran, dan dukungan demi kelancaran
dan
terselesaikanya tugas akhir ini.
9. Saudara-saudara yang terus memberikan semangat dan dukungan
kepada
penulis.
10. Segenap dosen dan laboran Teknik Elektro Universitas Sanata
Dharma
Yogyakarta.
11. Segenap karyawan sekretariat Fakultas Sains dan
Teknologi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xii
DAFTAR ISI
HALAMAN JUDUL (BAHASA INDONESIA)
......................................................... i
HALAMAN JUDUL (BAHASA INGGRIS)
..............................................................
ii
HALAMAN PERSETUJUAN
.....................................................................................
iii
HALAMAN PENGESAHAN
......................................................................................
iv
PERNYATAAN KEASLIAN KARYA
.......................................................................
v
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP
........................................... vi
HALAMAN PERNYATAAN PERSETUJUAM PUBLIKASI KARYA
ILMIAH UNTUK KEPENTINGAN AKADEMIS
................................................... vii
INTISARI
......................................................................................................................
viii
ABSTRACT
....................................................................................................................
ix
KATA PENGANTAR
..................................................................................................
x
DAFTAR ISI
.................................................................................................................
xii
DAFTAR TABEL
.........................................................................................................
xvii
DAFTAR GAMBAR
....................................................................................................
xix
BAB I: PENDAHULUAN
1.1. Latar Belakang
.........................................................................................................
1
1.2. Batasan Masalah
......................................................................................................
3
1.3. Metodelogi Penelitian
..............................................................................................
5
BAB II: DASAR TEORI
2.1. Matlab
................................................................................................................
6
2.2. Computer Vision
................................................................................................
6
2.2.1. Pengolahan Citra Digital
............................................................................
7
2.2.2. Pemrosesan Citra
........................................................................................
8
2.2.2.1. Citra Grayscale
..............................................................................
8
2.2.2.2. Citra Biner
.......................................................................................
8
2.2.2.3. Konversi Citra Graschale ke Citra Biner
........................................ 9
2.2.2.4. Noise Filtering
.................................................................................
10
2.2.2.5. Labeling Objek
................................................................................
11
2.2.2.6. Segmentasi Citra
..............................................................................
12
2.2.3. Pengenalan Ukuran dan Posisi Benda
........................................................ 12
2.2.3.1. Pengenalan Ukuran
..........................................................................
12
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xiii
2.2.3.1.1. Area
.................................................................................
12
2.2.3.1.2. Perimeter
.........................................................................
13
2.2.3.1.3. Thinnessratio
...................................................................
13
2.2.3.2. Pengenalan Posisi
............................................................................
14
2.2.3.2.1. Centroid
..........................................................................
14
2.2.4. Metode Pengenalan Benda
.........................................................................
15
2.2.4.1. Proses Capture Objek
...................................................................
15
2.2.4.2. Citra Grayscale ke Citra Biner
..................................................... 16
2.2.4.3. Proses Labeling
............................................................................
16
2.2.4.4. Proses Segmentasi Citra
...............................................................
17
2.2.4.5. Proses Mencari Luas Objek
.......................................................... 18
2.2.4.6. Proses Mencari Keliling Objek
..................................................... 19
2.2.4.7. Proses Mencari Thinnessratio Objek
............................................ 19
2.2.4.8. Proses Mencari Posisi Objek
........................................................ 20
2.3. Lengan Robot
....................................................................................................
21
2.3.1. Manipulator
............................................................................................
21
2.3.2. End effector
.............................................................................................
22
2.3.3. Kontroler
.................................................................................................
22
2.4. Torsi/Momen Gaya
............................................................................................
22
2.5. Inverse Kinematics
............................................................................................
25
2.6. Aktuator Robot
..................................................................................................
27
2.6.1. Motor Servo
............................................................................................
27
2.6.2. PWM (Pulse Width Modulation)
............................................................ 28
2.7. Mikrokontroller AVR ATmega32
.....................................................................
28
2.7.1. Diskripsi Mikrokontroler AVR ATmega32
............................................ 29
2.7.2. Timer/Counter
.........................................................................................
30
2.7.2.1. TIMER/COUNTER 0
.................................................................
31
2.7.3. Komunikasi Serial USART
.....................................................................
33
2.7.3.1. Inisialisasi USART
..................................................................
33
2.7.3.2. USART I/O Data Register (UDR)
........................................... 34
2.7.3.3. USART Control and Status Register A (UCSRA)
.................. 34
2.7.3.4. USART Control and Status Register B (UCSRB)
................... 35
2.7.3.5. USART Control and Status Register C (UCSRC)
................... 37
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xiv
2.8. Adaptor / Power Supply
....................................................................................
38
2.9. Webcam
............................................................................................................
38
2.10. Minimum Sistem ATmega32
..........................................................................
39
BAB III: PERANCANGAN PENELITIAN
3.1. Proses Kerja Sistem
...........................................................................................
40
3.2. Perancangan Mekanik Lengan Robot
................................................................
41
3.2.1. Robot Arm Assembly
..............................................................................
44
3.2.2. Desain Keseluruhan Sistem
...................................................................
44
3.2.3. Posisi dan Penempatan Motor Servo
...................................................... 45
3.2.3. Metode Pergerakan Lengan Robot
.......................................................... 45
3.2.4. Area Peletakan Benda
.............................................................................
46
3.2.5. Proses Penentuan Sudut Pergerakan Motor Servo
.................................. 48
3.3. Perancangan Perangkat Keras (hardware)
........................................................ 49
3.3.1. Wiring keseluruhan sitem
........................................................................
49
3.3.2. Perhitungan Torsi Motor Servo
...............................................................
51
3.3.4. Motor Servo
............................................................................................
56
3.3.5. Webcam
...................................................................................................
59
3.3.6. Objek dan Benda
.....................................................................................
60
3.4. Persancangan Perangkat Lunak (software)
....................................................... 61
3.4.1. Diagram Alir Utama
................................................................................
61
3.4.2. Flowchart Akusisi Citra
..........................................................................
63
3.4.3. Flowchart Image Preprocessing
.............................................................
63
3.4.4. Labeling dan Segmentasi
........................................................................
65
3.4.5. Flowchart Program Pengenalan Bentuk Benda Pada MATLAB
............ 66
3.4.6. Flowchart Program Pengenalan Posisi Benda Pada Matlab
................... 67
3.4.7. Flowcart Komunikasi Data Matlab Dengan Mikrokontroler
.................. 68
3.4.8. Flowchart Program Lengan Robot
.......................................................... 70
3.4.4. Perancangan GUI MATLAB
..................................................................
73
BAB IV: HASIL DAN PEMBAHASAN
4.1. Perangkat Keras (Hardware) Lengan Robot
................................................... 75
4.1.1. Bentuk Fisik dan Sistem Jerja Lengan Robot
........................................ 75
4.1.2. Wiring Motor Servo Pada Minimum Sistem ATmega32
Beserta LCD 16x2
.................................................................................
77
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xv
4.1.3. Webcam dan Area Peletakan Objek
....................................................... 77
4.1.4. Objek 3 Dimensi dan Kotak Peletakan Benda
....................................... 79
4.1.5. Mekanisme Kerja Lengan Robot
........................................................... 82
4.2. Hasil Pengujian dan Pembahasan
....................................................................
83
4.2.1. Menentukan Sudut Pergerakan Lengan Robot
........................................ 83
4.2.1.1 Metode Analisis Gambar dengan Ukuran Sebenarnya
............... 83
4.2.1.2. Metode Hitung dengan Invers Kinematics
................................ 87
4.3. Analisa dan Pembahasan Perangkat Lunak (software)
.................................... 94
4.3.1. Aplikasi MATLAB
.................................................................................
94
4.3.1.1. Tampilan GUI Pada Sistem
....................................................... 94
4.3.1.2. Inisialisai Komunikasi Serial
..................................................... 95
4.3.1.3. Inisialisasi webcam
....................................................................
96
4.3.1.4. Proses Akusisi Citra
..................................................................
97
4.3.1.5. Proses Pengolahan Citra
............................................................ 97
4.3.1.6. Proses Labeling dan Segmentasi
............................................... 98
4.3.1.7. Proses Pengenalan Posisi dan BentukObjek
.............................. 98
4.3.1.8. Proses Penggolongan Posisi dan Objek
..................................... 99
4.3.1.9. Proses Pengiriman Data dari Matlab ke Mikrokontroler
........... 101
4.3.2. Aplikasi Code Vision AVR
......................................................................
104
4.3.2.1. Inisialisasi Komunikasi Serial
................................................... 104
4.3.2.2. Inisialisasi Timer 0
....................................................................
105
4.3.2.3. Program Menerima Data Serial dari Matlab
.............................. 106
4.3.2.4. Inisialisasi Port Motor Servo
..................................................... 107
4.3.2.5. Pengendali Motor Servo
............................................................
107
4.3.2.6. Program Utama
..........................................................................
108
4.3.2.7. Program Fungsi Pergerakan
...................................................... 109
4.4. Hasil Pengujian dan Analisa Pengambilan Data
.............................................. 111
4.4.1. Nilai OCR Untuk Menentukan Sudut Pada Tiap Motor Servo
............. 111
4.4.1.1. Motor Servo SG90 (Servo 4)
................................................... 114
4.4.1.2. Motor Servo JX PDI-6225-300 (Servo 3)
................................ 114
4.4.1.3. Motor Servo JX PDI-6225-300 (Servo 2)
................................ 115
4.4.1.4. Motor Servo JX PDI-6225-300 (Servo 1)
................................ 116
4.5. Pengujian Arah Gerak Tiap Motor Servo
........................................................ 118
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xvi
4.6. Pengujian Nilai Sudut Pergerakan Berdasarkan
Perbandingan
Gambar Skala 1:1 dengan Perhitungan Invers Kinematics (Teori)
.................. 120
4.7. Pengujian dan Perbandingan Nilai Sudut Teori dengan Praktik
..................... 120
4.8. Pengujian Nilai Area
........................................................................................
122
4.9. Pengujian Nilai Perimeter
................................................................................
123
4.10. Pengujian Nilai Thinnessratio
........................................................................
124
4.11. Pengujian Keberhasilan Sistem Mendeteksi Satu Objek Pada
Posisi ............ 125
4.12. Pengujian Keberhasilan Lengan Robot Saat Mengambil dan
Memindahkan Benda
.....................................................................................
126
BAB V: KESIMPULAN
5.1. Kesimpulan
..............................................................................................................
130
5.2. Saran
........................................................................................................................
130
DAFTAR PUSTAKA
...................................................................................................
131
LAMPIRAN
..................................................................................................................
L-1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xvii
DAFTAR TABEL
Tabel 2.1. Penentuan Ukuran Karakter
..........................................................................
36
Tabel 3.1. Variabel Sudut Pergerakan Tiap Motor Servo Objek
Kubus dan
Tabung Tabel
.................................................................................................
48
Tabel 3.2. Data yang digunakan untuk perhitungan torsi
............................................... 51
Tabel 3.3. Hasil Perhitungan Torsi Motor Servo
........................................................... 56
Tabel 3.4. Perhitungan Nilai OCR
..................................................................................
59
Tabel 3.5. Spesifikasi Webcam Logitech C 170
.............................................................
59
Tabel 3.6. Inisialisasi Objek Tabung Beserta Posisinya
................................................. 69
Tabel 3.7. Inisialisasi Objek Kubus Beserta Posisinya
.................................................. 69
Tabel 3.8. Keterangan Tampilan Utama Program
.......................................................... 74
Tabel 4.1. Batas nilai pixel pada sumbu x dan y untuk
masing-masing posisi .............. 79
Tabel 4.2. Tabel Sudut Pergerakan Metode Analisis Gambar Skala
1:1 ....................... 87
Tabel 4.3. Tabel Hasil Perhitungan Invers Kinematics
.................................................. 93
Tabel 4.4. Tabel Perbandingan Error Nilai Sudut Secara
Gambar
Skala 1:1 dengan Invers Kinematics
.............................................................
93
Tabel 4.5. Tabel Perbandingan Error Nilai OCR Secara Teori
dengan Praktik
Motor Servo JX PDI-6225-300 (Servo 1)
.................................................... 116
Tabel 4.6. Tabel Perbandingan Error Nilai OCR Secara Teori
dengan Praktik
Motor Servo JX PDI-6225-300 (Servo 2)
.................................................... 117
Tabel 4.7. Tabel Perbandingan Error Nilai OCR Secara Teori
dengan Praktik
Motor Servo JX PDI-6225-300 (Servo 3)
.................................................... 117
Tabel 4.8. Tabel Perbandingan Error Nilai OCR Secara Teori
dengan Praktik
Motor Servo SG90 (Servo 4)
........................................................................
117
Tabel 4.9. Hasil pengujian arah gerak motor servo berdasarkan
gambar skala 1:1 ....... 119
Tabel 4.10. Hasil pengujian arah gerak motor servo berdasarkan
metode
invers kinematics
.........................................................................................
119
Tabel 4.11. Tabel Perbandingan Sudut Berdasarkan Gambar Skala
1:1 dengan
Perhitungan Invers Kinematics
.....................................................................
120
Tabel 4.12. Tabel Perbandingan Sudut Berdasarkan Gambar Skala
1:1 dengan
Implementasi
...............................................................................................
121
Tabel 4.13 Tabel Hasil Implementasi Sudut Terhadap Nilai OCR
................................ 121
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xviii
Tabel 4.14. Pengujian hasil perhitungan nilai area
........................................................ 122
Tabel 4.15. Pengujian hasil perhitungan nilai perimeter
................................................ 123
Tabel 4.16. Pengujian hasil perhitungan nilai thinnessratio
.......................................... 124
Tabel 4.17. Keberhasilan mendeteksi Objek
..................................................................
125
Tabel 4.18. Keberhasilan memindahkan bola ke dalam objek
........................................ 126
Tabel 4.19. Percobaan ke-1
............................................................................................
126
Tabel 4.20. Percobaan ke-2
............................................................................................
127
Tabel 4.21. Percobaan ke-3
............................................................................................
127
Tabel 4.22. Percobaan ke-4
............................................................................................
128
Tabel 4.23. Percobaan ke-5
............................................................................................
128
Tabel 4.24. Percobaan ke-6
............................................................................................
129
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xix
DAFTAR GAMBAR
Gambar 1.1. Batas area kerja
..........................................................................................
3
Gambar 1.2. Jumlah maksimal benda
.............................................................................
4
Gambar 2.1. Sistem koordinat citra berukuran MxN (M baris dan N
kolom) ............... 7
Gambar 2.2. Citra grayscale
...........................................................................................
8
Gambar 2.3. Citra biner Representasi dalam bentuk biner 1 dan 0
................................ 9
Gambar 2.4. Pengubahan nilai piksel pada proses thresholding
.................................... 10
Gambar 2.5. Median Filtering
........................................................................................
11
Gambar 2.6. Contoh Noise Filtering Pada Citra
............................................................ 11
Gambar 2.7. Contoh labeling pada objek
.......................................................................
12
Gambar 2.8. Perimeter (keliling) pada objek citra
......................................................... 13
Gambar 2.9. Titik pusat (centroid) dari suatu objek dengan
koordinat (x,y) ................. 15
Gambar 2.10 Hasil capture objek
...................................................................................
15
Gambar 2.11. Hasil grayscale ke dalam citra biner 1 dan 0
........................................... 16
Gambar 2.12. Proses labeling pada objek
......................................................................
17
Gambar 2.13. Proses Segmentasi pada objek
.................................................................
18
Gambar 2.14. Proses mencari luas area pada objek
....................................................... 18
Gambar 2.15. Proses mencari luas perimeter pada objek
............................................... 19
Gambar 2.16. Proses mencari nilai centroid
...................................................................
20
Gambar 2.17. Manipulator Pada Lengan Robot
.............................................................
21
Gambar 2.18. end-effector jenis gripper
........................................................................
22
Gambar 2.19. Momen gaya
............................................................................................
22
Gambar 2.20. Contoh soal dan pembahasan tentang torsi
.............................................. 24
Gambar 2.21. Invers Kinematics dua sendi
....................................................................
25
Gambar 2.22. Ukuran lengan robot
.................................................................................
26
Gambar 2.23. Model fisik motor servo
..........................................................................
27
Gambar 2.24. Pensinyalan motor servo
..........................................................................
28
Gambar 2.25. Konfigurasi Pin Mikrokontroler AVR
..................................................... 29
Gambar 2.26. Mode Phase Correct PWM
.....................................................................
32
Gambar 2.27. Mode Fast PWM
.....................................................................................
33
Gambar 2.28. Register UDR
..........................................................................................
34
Gambar 2.29. Register UCSRA
......................................................................................
34
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xx
Gambar 2.30. Register UCSRB
......................................................................................
35
Gambar 2.31. Register UCSRC
......................................................................................
37
Gambar 2.32. Adaptor / Power supply
...........................................................................
38
Gambar 2.33. webcam Logitech c170h
..........................................................................
39
Gambar 2.34. Minimum sistem ATemega32
.................................................................
39
Gambar 3.1. Blok Diagram Sistem Kerja
.......................................................................
41
Gambar 3.2. Kumpulan Desain Part Lengan Robot
...................................................... 43
Gambar 3.3. Assemmbly Part Lengan Robot
.................................................................
44
Gambar 3.4. Desain Keseluruhan Sistem
.......................................................................
44
Gambar 3.5. Penempatan dan pengurutan peletakkan motor servo
............................... 45
Gambar 3.6. Analisis gambar keseluruhan sistem
.......................................................... 46
Gambar 3.7. Luas Area
...................................................................................................
46
Gambar 3.8. Area penempatan objek
.............................................................................
47
Gambar 3.9. wiring sistem keseluruhan
.........................................................................
50
Gambar 3.10. Kontruksi Lengan Robot
..........................................................................
51
Gambar 3.11. Perhitungan torsi motor servo 2
...............................................................
52
Gambar 3.12. Perhitungan torsi motor servo 3
...............................................................
53
Gambar 3.13. Perhitungan torsi motor servo 4
...............................................................
54
Gambar 3.14. Perhitungan torsi motor servo 1
...............................................................
55
Gambar 3.15. Motor Servo JX PDI-6225-300
...............................................................
57
Gambar 3.16. Motor Servo SG90
...................................................................................
57
Gambar 3.17. Rangkaian pin motor servo pada minimum system
Mikrokontroler
ATmega32
................................................................................................
58
Gambar 3.18. Posisi peletakkan webcam terhadap objek
................................................ 60
Gambar 3.19 Objek berupa gelas dan benda berupa bola
.............................................. 60
Gambar 3.20. Diagram Alir Utama Sistem
....................................................................
62
Gambar 3.21. Flowchart Akusisi Citra
..........................................................................
63
Gambar 3.22. Flowchart Image Preprocessing
.............................................................
64
Gambar 3.23. Labeling dan Segmentasi
.........................................................................
65
Gambar 3.24. Flowchart Pengenalan Bentuk
.................................................................
66
Gambar 3.25. Flowchart Pengenalan posisi
...................................................................
67
Gambar 3.26. Flowchart Komunikasi Data
...................................................................
68
Gambar 3.27. Pergerakan lengan robot
..........................................................................
70
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xxi
Gambar 3.28. Lanjutan I Pergerakan lengan robot
......................................................... 71
Gambar 3.29. Lanjutan II Pergerakan lengan robot
....................................................... 72
Gambar 3.30. Lanjutan III Pergerakan lengan robot
...................................................... 73
Gambar 3.31. Perancangan Desain GUI
.........................................................................
74
Gambar 4.1. Lengan robot dan gripper
..........................................................................
75
Gambar 4.2. Minimum system dan LCD 16x2
...............................................................
76
Gambar 4.3. Pencahayaan dan peletakkanya
..................................................................
76
Gambar 4.4. Webcam dan area peletakan webcam
......................................................... 78
Gambar 4.5. Area kerja
...................................................................................................
78
Gambar 4.6. Nilai pixel tiap posisi
.................................................................................
79
Gambar 4.7. Hasil capture minim cahaya
......................................................................
80
Gambar 4.8. Objek berupa wadah berbentuk tabung dan kubus
.................................... 80
Gambar 4.9. Hasil capture objek pencahayaan merata
.................................................. 81
Gambar 4.10. Benda berupa bola dan area peletakan bola
............................................. 81
Gambar 4.11. Hasil implementasi sistem
.......................................................................
82
Gambar 4.12. Analisis menggunakan gambar dengan skala 1:1
.................................... 84
Gambar 4.13. Dimensi lengan robot
...............................................................................
88
Gambar 4.14. Posisi Siaga
..............................................................................................
88
Gambar 4.15. Ambil benda
.............................................................................................
89
Gambar 4.16. Posisi 1 dan 3
...........................................................................................
90
Gambar 4.17. Posisi 2
.....................................................................................................
90
Gambar 4.18. Posisi 4 dan 6
...........................................................................................
91
Gambar 4.19. Posisi 5
.....................................................................................................
92
Gambar 4.20. Tampilan GUI pada sistem
......................................................................
94
Gambar 4.21. Inisialisasi Komunikasi Serial
.................................................................
95
Gambar 4.22. Program popupmenu
................................................................................
96
Gambar 4.23. Inisialisasi Webcam
.................................................................................
96
Gambar 4.24. Listing program akuisisi citra
..................................................................
97
Gambar 4.25. Proses pengolahan citra
...........................................................................
97
Gambar 4.26. Proses segmentasi dan labeling citra
....................................................... 98
Gambar 4.27. Pengenalan bentuk dan posisi
..................................................................
99
Gambar 4.28. Pengenalan bentuk dan posisi
..................................................................
100
Gambar 4.29. Nilai centroid tiap posisi
..........................................................................
101
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xxii
Gambar 4.30. Listing program penambahan array
......................................................... 102
Gambar 4.31. Penambahan isi data array
.......................................................................
103
Gambar 4.32. Pengurutan data array
..............................................................................
103
Gambar 4.33. Konversi angka ke karakter
.....................................................................
104
Gambar 4.34. Program inisialisasi komunikasi USART
................................................ 105
Gambar 4.35. Listing program inisialisasi timer 0
......................................................... 106
Gambar 4.36. Listing program menerima data serial USART dengan
scanf ................. 106
Gambar 4.37. Inisialisasi port motor servo
....................................................................
107
Gambar 4.38. Pengendali motor servo
...........................................................................
107
Gambar 4.39. Program utama
.........................................................................................
108
Gambar 4.40. Program penampil data komunikiasi yang diterima
................................ 109
Gambar 4.41. Program pengisian dua kali
.....................................................................
109
Gambar 4.42. Fungsi Pergerakan
...................................................................................
110
Gambar 4.43. Listing program pergerakan lengan
......................................................... 110
Gambar 4.44. PWM berdasrkan spesifikasi motor servo SG90
...................................... 112
Gambar 4.45. PWM berdasrkan spesifikasi motor servo JX
PDI-6225-300 .................. 113
Gambar 4.46 Sudut 0°
....................................................................................................
114
Gambar 4.47 Sudut 90°
..................................................................................................
114
Gambar 4.48 Sudut 180°
................................................................................................
114
Gambar 4.49 Sudut 0°
....................................................................................................
114
Gambar 4.50 Sudut 90°
..................................................................................................
114
Gambar 4.51 Sudut 180°
................................................................................................
115
Gambar 4.52 Sudut 0°
....................................................................................................
115
Gambar 4.53 Sudut 90°
..................................................................................................
115
Gambar 4.54 Sudut 180°
................................................................................................
115
Gambar 4.55 Sudut 0°
....................................................................................................
116
Gambar 4.56 Sudut 90°
..................................................................................................
116
Gambar 4.57 Sudut 180°
................................................................................................
116
Gambar 4.58. Pengujian sudut arah gerak tiap motor servo
........................................... 115
Gambar 4.59. Grafik pengujian hasil perhitungan nilai area
......................................... 122
Gambar 4.60. Grafik pengujian hasil perhitungan nilai perimeter
................................. 123
Gambar 4.61. Grafik pengujian hasil perhitungan nilai
thinnessratio ........................... 124
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xxiii
Gambar 4.62. Hasil GUI percobaan ke-1
.......................................................................
126
Gambar 4.63. Hasil GUI percobaan ke-2
.......................................................................
127
Gambar 4.64. Hasil GUI percobaan ke-3
.......................................................................
127
Gambar 4.65. Hasil GUI percobaan ke-4
.......................................................................
128
Gambar 4.66. Hasil GUI percobaan ke-5
.......................................................................
128
Gambar 4.67. Hasil GUI percobaan ke-6
.......................................................................
129
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
1
BAB I
PENDAHULUAN
1.1. Latar Belakang
Dewasa ini teknologi memiliki peranan penting untuk menunjang
serta
mempermudah berbagai aktivitas dan pekerjaan manusia. Salah satu
hasil perkembangan
teknologi yaitu adanya teknologi yang dinamakan legan robot dan
computer vision. Lengan
robot disebut juga robot manipulator merupakan gabungan dari
beberapa segmen dan joint
yang secara umum dibagi menjadi tiga bagian yaitu arm, wrist,
dan gripper [1]. Sedangkan
computer vision adalah ilmu dan teknologi mesin atau sistem yang
mampu mengekstrak
informasi dari gambar yang diperlukan untuk menyelesaikan tugas
tertentu. Data gambar
dapat terambil dalam banyak bentuk seperti video, kamera,
webcam, scanner dan lain-lain.
Proses penggabungan teknologi antara lengan robot dan computer
vision dapat
menjadi jawaban atas tantangan perkembangan teknologi masa yang
akan datang.
Keberadaan dua sistem tersebut dapat dijadikan satu keutuhan
sistem yang dapat
dimanfaatkan di dalam bidang perindustrian, pengetahuan dan
media pembelajaran. Salah
satu contoh teknologi yang terkait adalah seperti pada
penelitian terdahulu yang dilakukan
oleh Hasan mengenai aplikasi pengenalan objek untuk lengan robot
pemisah benda
berdasarkan bentuk. Dari penelitian tersebut dan berdasarkan
manfaat lengan robot serta
computer vision, maka peneliti memiliki gagasan membuat aplikasi
computer vision pada
lengan robot pemindah benda berdasarkan objek dan posisi benda
menggunakan camera
webcam C170 sebagai sensor.
Perbandingan antara peneliti terdahulu dengan penelitian saat
ini terletak pada
prinsip kerja. Pada peniliti terdahulu webcam digunakan untuk
mendeteksi objek berupa
berbagai macam bentuk, kemudian objek dipindahkan ke suatu wadah
yang telah ditentukan
berdasarkan kriteria bentuk objek. Sementara pada peneliti saat
ini berkebalikan, webcam
digunakan untuk mendeteksi objek berupa dua macam bentuk wadah.
Kemudian lengan
robot akan memindahkan benda berupa bola kedalam wadah yang
telah terdeteksi oleh
webcam. Keistimewaan pada penelitian saat ini objek atau wadah
berupa dua macam bentuk
wadah diletakkan secara acak. Dalam konteks ini, peneliti
dituntut bagaimana suatu sistem
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
2
aplikasi computer vision dapat mengenali jenis objek, dan posisi
objek kemudian
memberikan sinyal pada mikrokontroler untuk menggerakan lengan
robot.
Hasil yang diperoleh kontroler, yaitu mengetahui sinyal yang
telah dikirim oleh
aplikasi computer vision menggunakan program MATLAB. Isi sinyal
tersebut adalah posisi
objek berupa dua macam jenis bentuk wadah yang diletakkan secara
acak kemudian, dapat
menggerakan lengan robot untuk mengambil benda berupa bola dan
akan dipindahkan ke
objek berupa dua macam jenis bentuk wadah yang telah
teridentifikasi. Dari dua macam
jenis bentuk wadah tersebut yaitu, wadah berbentuk tabung, dan
gelas berbentuk kubus yang
mana dua macam bentuk itu telah ditentukan dari perbedaan jumlah
pengisianya.
1.2. Tujuan Penelitian
Tujuan penulisan tugas akhir ini yaitu membuat aplikasi computer
vision yang dapat
mengidentifikasi serta membedakan dari dua macam bentuk objek
berupa wadah berbentuk
tabung dan kubus, kemudian aplikasi computer vision dapat
berkomunikasi dengan kontroler
berupa mikrokontroler yang akan mengontrol pergerakan lengan
robot. Perbedaan bentuk
wadah tersebut lengan robot akan menerima sinyal dan dapat
membedakan jumlah pengisian
ke wadah. Wadah berbentuk tabung berisikan satu buah bola,
sementara wadah berbentuk
kubus berisikan dua buah bola.
1.3. Manfaat Penelitian
Penelitian ini diharapkan dapat bermanfaat bagi masyarakat yang
ingin mengenal,
mempelajari, serta mampu menerapkan mengenai computer vision dan
pengenalan objek.
Jika dapat dikembangkan serta diterapkan di dalam dunia
perindustrian yaitu, membantu
pekerjaan manusia serta meminimalisir terjadinya human error
seperti contoh untuk
membedakan objek-objek maupun material tertentu yang memiliki
bentuk kemudian posisi
benda yang acak dengan sistem otomatis.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
3
1.4. Batasan Masalah
Aplikasi computer vision pada lengan robot pemindah benda
berdasarkan objek dan
posisi benda, memiliki perangkat keras (hardware) dan perangkat
lunak (software).
Hardware yang digunakan yaitu webcam dan lengan robot, sedangkan
software yang
digunakan yaitu matlab dan Code Vision AVR. Matlab digunakan
untuk pengolahan citra dan
Code Vision AVR digunakan untuk memprogram controller pergerakan
motor servo.
Agar Tugas Akhir ini bisa mengarah pada tujuan dan untuk
menghindari terlalu
kompleksnya permasalahan yang muncul, maka perlu adanya
batasan-batasan masalah yang
sesuai dengan judul dari tugas akhir ini. adapun batasan masalah
adalah :
1. Masukan berupa dua jenis bentuk objek berupa dua macam wadah
yang berbentuk
tabung dan kubus, serta benda yang dipindahkan berupa bola.
2. Tempat peletakan benda berupa bola berada disamping lengan
robot dengan tinggi
25 cm.
3. Ukuran ojek berupa wadah dan benda berupa bola yang dijual
dipasaran yang
digunakan yaitu :
a) Wadah Tabung (diameter = 70 mm, tinggi = 75 mm)
b) Wadah Kubus (panjang = 70 mm, lebar =70mm, tinggi = 75
mm)
c) Bola (diameter = 40mm)
4. Objek disusun secara acak diatas area berwarna hitam
berukuran 28 cm x 21 cm.
5. Posisi peletakan objek satu ke objek lain sesuai dengan
batasan penulis yaitu tidak
boleh berhimpitan dan dalam cakupan camera webcam.
6. Posisi peletakan objek secara acak namun berada di titik
tengah kotak sampling,
seperti pada gambar berikut ini,
Gambar 1.1. Batas area kerja
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
4
7. Jumlah maksimal objek yang dapat diletakkan yaitu 6 gelas,
seperti yang terlihat
pada gambar 1.2, serta pemilihan dari dua macam jenis bentuk
dari ke-6 gelas diubah
secara bebas.
Gambar 1.2. Jumlah maksimal benda
8. Menggunakan webcam C170 untuk mengidentifikasi objek yang
terhubung dengan
software MATLAB.
9. Jarak peletakan camera webcam menyesuaikan dengan luas area
peletakan benda
agar citra yang di akuisisi webcam hanya area peletakan
benda.
10. Lengan robot dan gripper terbuat dari akrilik dengan tebal
3mm yang didesain
dengan menggunakan Autodesk Invertor 2015.
11. Lengan robot terdiri dari empat buah servo uncontiuous yang
deprogram
menggunakan codevision AVR melalui ATmega32.
12. Komunikasi antara leptop dengan ATmega32 menggunakan
komunikasi serial
USART yang dihubungkan dengan modul yang sudah tersedia di
pasaran yaitu modul
USB to TTL converter.
13. Terdapat tampilan GUI pada MATLAB sebagai graphic user
interface agar dapat
melihat data objek yang akan dikenali, dan jumlah benda yang
terdeteksi.
14. Keluaran pada GUI berupa bentuk benda dan posisinya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
5
1.5. Metodologi Penelitian
Langkah-langkah yang dulakukan dalam pengerjaan tugas akhir ini
yaitu :
1) Melakukan studi pustaka / refrensi berupa buku dan jurnal
ilmiah yang membahas
mengenai image processing dengan MATLAB, lengan robot,
pemrograman dengan
code vision AVR, ATmega32, serta buku-buku pendukung lainya.
2) Perancangan desain lengan robot beserta skema-skema rangkaian
pendukung dan
pembuatan flowchart untuk memprogram Atmega32 dan MATLAB.
3) Pembuatan hasil perancangan berupa hardware dan software.
Tahapan ini berisi tentang
pembuatan alat sesuai dengan desain lengan robot yang telah
dirancang beserta
program-program yang mengacu pada flowchart yang telah dibuat
pada perancangan.
4) Proses pengambilan data dilakukan dengan mencari data tentang
kordinat posisi objek,
jenis bentuk objek, melihat tanggapan sistem dalam mendeteksi
objek, sudut putaran
motor servo pada lengan robot, dan keakuratan lengan robot saat
mengambil benda serta
menaruh benda pada objek yang telah terdeteksi.
5) Analisis dan penyimpulan hasil percobaan. Analisa dan
penyimpulan hasil percobaan
dapat dilakukan dengan melihat presentase error alat saat
mendeteksi objek, dan tingkat
keberhasilan lengan robot saat memindahkan benda ke objek yang
telah terdeteksi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
6
BAB II
DASAR TORI
Pada bab ini akan dibahas mengenai landasan-landasan teori yang
digunakan dalam
pembuatan tugas akhir ”Aplikasi Computer Vision Pada Lengan
Robot Pemindah Benda
Berdasarkan Objek dan Posisi Benda“.
2.1. MATLAB
Matlab (matrix labortary) dikembangkan oleh MathWorks adalah
sebuah Bahasa
dengan high performance untuk komputasi masalah teknik. Matlab
mengintegerasikan
komputasi, visualisasi, dan pemrograman dalam satu model yang
sangat mudah untuk
dipakai dimana masalah dan penyelesaianya diekspresikan dalam
notasi matematika yang
familiar. Saat ini matlab memiliki ratusan fungsi yang dapat
digunakan sebagai problem
solver mulai dari simpel sampai masalah-masalah yang kompleks
dari berbagai disiplin ilmu
[2]. Beberapa manfaat yang didapatkan dari matlab antara
lain:
a) Perhitungan Matematika
b) Komputasi numerik
c) Simulasi dan pemodelan
d) Visualisasi dan analisis data
e) Pembuatan grafik untuk keperluan sains dan teknik
f) Pengembangan aplikasi, misalnya dengan memanfaatkan GUI.
g) Robotika
2.2. Computer Vision
Computer vision merupakan ilmu yang menggunakan image processing
untuk
membuat keputusan berdasarkan citra yang didapat dari sensor
[4]. Dengan kata lain,
computer vision bertujuan untuk membangun sebuah mesin pandai
yang dapat “melihat”.
Kerangka kerja umum yang biasa dilakukan dalam computer vision
adalah proses akuisisi
citra, pra pemrosesan, ekstraksi fitur, deteksi atau segmentasi
citra, pemrosesan tingkat
tinggi, dan terakhir pengambilan keputusan [7]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
7
2.2.1. Pengolahan Citra Digital
Secara umum, istilah pengolahan citra digital menyatakan
”pemrosesan gambar
berdimensi-dua melalui komputer digital” [jain, 1989]. Menurut
Efford [2000], pengolahan
citra adalah istilah umum untuk berbagi teknik yang keberadaanya
untuk memanipulasi dan
memodifikasi citra dengan berbagai cara [12]. Ditinjau dari
sudut pandang matematis, citra
merupakan fungsi malar (continue) dari intensitas cahaya pada
bidang dwimatra. Sumber
cahaya menerangi objek, objek memantulkan kembali sebagian dari
berkas cahaya tersebut.
Pantulan cahaya ini ditangkap oleh alat-alat optik, misalnya
mata pada manumur, kamera,
pemindai (scanner), dan sebagainya, sehingga bayanagan objek
yang disebut citra tersebut
terekam [13].
Citra digital dibentuk oleh kumpulan titik yang dinamakan piksel
(pexel atau “picture
element”). Setiap pixel digambarkan sebagai satu kotak kecil.
Setiap piksel mempunyai
koordinat posisi. Sistem koordinat yang dipakai untuk menyatakan
citra digital ditunjukan
di Gambar 2.1 [12].
Gambar 2.1. Sistem koordinat citra berukuran MxN (M baris dan N
kolom) [12].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
8
2.2.2. Pemrosesan Citra
2.2.2.1. Citra Grayscale (Black White)
Citra skala keabuan atau disebut juga citra grayscale yaitu
citra yang nilai pixelnya
mempresentasikan derajat keabuan atau intensitas warna putih.
Nilai intensitas paling rendah
merepresentasikan warna hitam dan nilai intensitas tinggi
merepresentasikan warna putih.
Pada umumnya citra grayscale memiliki kedalaman pixel 8 bit (256
derajat keabuan), tetapi
ada juga citra grayscale yang kedalaman pixelnya tepi bukan 8
bit, misalnya 16 bit untuk
penggunaan yang memerlukan ketelitian tinggi [14]. Berikut
contoh gambar 2.2 tentang citra
grayscale.
Gambar 2.2. Citra grayscale [21].
2.2.2.2. Citra Biner
Citra biner adalah citra dengan setiap piksel hanya dinyatakan
dengan sebuah nilai
dari dua kemungkinan (yaitu nilai 0 dan 1). Nilai 0 menyatakan
warna hitam dan nilai 1
menyatakan warna putih. Citra jenis ini banyak dipakai dalam
pemrosesan citra, misalnya
untuk kepentingan memperolah tepi bentuk suatu objek. Gambar 2.3
menyatakan citra biner
[14].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
9
Gambar 2.3. Citra biner representasi dalam bentuk biner 1 dan 0
[15].
2.2.2.3. Konversi Citra Grayscale ke Citra Biner
Proses pengkonversian citra grayscale ke citra biner membutuhkan
suatu nilai batas
atau yang biasa disebut nilai threshold. Nilai intensitas dari
citra grayscale yang lebih dari
atau sama dengan nilai threshold akan diubah menjadi 1 (warna
putih) sedangkan untuk nilai
intensitas citra grayscale yang kurang dari nilai threshold akan
diubah menjadi 0 (warna
hitam). Sehingga citra yang keluar dari hasil thresholding
merupakan citra biner [22].
Untuk mengkonversi nilai piksel citra grayscale menjadi citra
biner pada metode
thresholding dapat digunakan persamaan sebagai berikut :
𝑔(𝑥, 𝑦) = {1, 𝑗𝑖𝑘𝑎 𝑓(𝑥, 𝑦) ≥ 𝑇
0, 𝑗𝑖𝑘𝑎 𝑓(𝑥, 𝑦) < 𝑇 (2.1)
Keterangan :
f(x,y) : Nilai intensitas citra grayscale
g(x,y) : Citra biner
T : Nilai Threshold
Contoh pengubahan nilai piksel citra grayscale ke citra biner
menggunakan metode
thresholding dapat dilihat pada gambar 2.4.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
10
Gambar 2.4. Pengubahan nilai piksel pada proses thresholding
[24].
2.2.2.4. Noise Filtering
Noise adalah gangguan yang dapat terjadi pada citra digital,
noise biasa terjadi
dikarenakan pencahayan yang kurang bagus dan juga gangguan fisik
pada alat akuisisi.
Noise pada citra digital dapat berupa titik-titik hitam di area
citra yang berwarna putih
ataupun titik-titik putih pada area yang berwarna hitam. Untuk
mengurangi noise pada citra
digital dapat dilakukan dengan median filtering.
Median filter merupakan salah satu filter non-linear. Tujuan
dari penggunaan median
filter yaitu untuk mengurangi noise atau gangguan pada citra.
Dikatakan non-linear karena
cara kerja metode ini tidak termasuk kedalam kategori operasi
konvolusi. Operasi non-linear
dihitung dengan mengurutkan nilai intensitas sekelompok pixel,
kemudian nilai pixel yang
diproses akan digantikan dengan nilai tertentu [23]. Median
filtering dan contoh citra biner
hasil median filtering ditunjukan oleh gambar 2.5 dan 2.6.
Secara matematis dapat
dirumuskan 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.5 dan gambar
2.6.
𝑔(𝑥, 𝑦) = {1, 𝑗𝑖𝑘𝑎 𝑓(𝑥, 𝑦) ≥ 𝑇1 = 100
0, 𝑗𝑖𝑘𝑎 𝑓(𝑥, 𝑦) < 𝑇2 = 150
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
11
(a) (b)
Gambar 2.5. Median Filtering (a) input (b) output.
(a) (b)
Gambar 2.6. Contoh Noise Filtering Pada Citra (a) input (b)
output.
2.2.2.5. Labeling Objek
Labeling adalah proses pelabelan komponen atau suatu objek yang
terhubung dalam
gambar biner. Pada proses pelabelan piksel berlabel 0 adalah
latar belakang, piksel berlabel
1 membuat satu objek dan, piksel berlabel 2 membuat objek kedua,
dan seterusnya seperti
contoh gambar 2.7 berikut ini.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
12
(a) (b)
Gambar 2.7. Contoh labeling pada objek (a) input (b) output.
2.2.2.6. Segmentasi Citra
Proses segmentasi citra bertujuan untuk memisahkan dari beberapa
objek yang
terekstrak. Segementasi citra yang nantinya akan mempermudah
proses pengenalan objek.
Hasil keluaran segmentasi citra berupa citra biner 1 dan 0.
2.2.3. Pengenalan Ukuran dan Penentuan Posisi
Salah satu ciri yang dapat diolah dari suatu objek yaitu ukuran
dan juga posisi,
dengan demikian dapat dimanfaatkan untuk proses pengenalan objek
satu, objek dua, dan
lainya. Sebelum mengetahui atau mencari ukuran dan posisi dari
suatu objek, didalam proses
mengekstrak dibutuhkan proses pengolahan citra seperti noise
filtering, labeling, dan
segmentasi citra agar mendapat data yang bagus.
2.2.3.1 Pengenalan Ukuran
2.2.3.1.1. Area
Area adalah banyaknya jumlah piksel pada wilayah objek (luas
objek). Objek pada
citra biner berwarna 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 area-nya. Untuk mengetahui area digunakan
rumus berikut [21] :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
13
𝐴𝑖 = ∑ ∑ 𝑂𝑖 (𝑥, 𝑦)𝑁𝑦=1
𝑀𝑥=1 (2.3)
Keterangan :
𝐴𝑖 = Jumlah pixel dari luas objek (area)
M = Kolom pixel
N = Baris pixel
𝑂𝑖 = Objek dalam suatu citra
2.2.3.1.2. Perimeter
Perimeter (keliling) objek menyatakan panjang dari kerangka yang
dihasilkan seperti
yang terlihat pada gambar 2.8. Perimeter didapatkan dari hasil
deteksi tepi suatu objek dalam
citra digital. Jumlah pixel perimeter dari setiap objek
berbeda-beda.
Gambar 2.8. Perimeter (keliling) pada objek citra.
2.2.3.1.3. Thinnessratio
Thinnessratio adalah perbandingan antara jumlah pixel area
dengan banyaknya pixel
perimeter dalam suatu objek pada citra digital. Setiap bentuk
benda / objek memiliki nilai
thinesratio yang berbeda-beda. Untuk benda yang bentuknya sama
tetapi ukuranya berbeda,
nilai thinnessratio nya tetap sama, hal ini karena perbandingan
jumlah pixel area dan pixel
perimeter-nya tetap sama [22] Rumus thinnessratio yaitu :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
14
𝑇𝑖 =4𝜋𝐴𝑖
𝑃𝑖2 (2.4)
Keterangan :
𝑇𝑖 = thinnessratio
𝐴𝑖 = jumlah pixel dari luas objek (area)
𝑃𝑖 = jumlah pixel dari keliling objek (perimeter)
2.2.3.2. Pengenalan Posisi
2.2.3.2.1. Centroid
Centroid didefinisikan sebagai titik tengah atau pusat dari
region. Elemen pertama
dari centroid adalah koordinat horizontal (“X” koordinat) dan
vertical (“Y” koordinat) dari
objek [19]. Perbedaan nilai centroid disebabkan oleh letak dari
masing-masing objek dalam
citra. Rumus centroid yaitu :
𝑥𝑖 =1
𝐴𝑖∑ ∑ 𝑥𝑂𝑖
𝑁𝑦=1
𝑀𝑥=1 (𝑥, 𝑦) (2.5)
𝑦𝑖 =1
𝐴𝑖∑ ∑ 𝑦𝑂𝑖
𝑁𝑦=1
𝑀𝑥=1 (𝑥, 𝑦) (2.6)
Keterangan :
𝑥𝑖 = koordinat pada sumbu x
𝑦𝑖 = koordinat pada sumbu y
𝐴𝑖 = jumlah pixel dari luas objek (area)
𝑀 = kolom pixel
𝑁 = baris pixel
𝑂𝑖 = objek dalam suatu citra
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
15
Gambar 2.9. Titik pusat (centroid) dari suatu objek dengan
koordinat (x,y) [19].
2.2.4. Metode Pengenalan Benda
2.2.4.1. Proses capture Objek
Untuk mengenali suatu objek atau gambar diperlukan metode yang
dapat difungsikan
untuk mendeteksi adanya perbedaan. Perbedaan tersebut berupa
perubahan data atau suatu
nilai yang dimiliki oleh masing-masing objek atau gambar yang
akan diidentifikasi
menggunakan software matlab.
Langkah untuk mengenali suatu citra dengan terlebih dahulu objek
ter-capture
dengan baik dan sesuai hasil yang akan dicapai pada tiap-tiap
objek. Hasil capture objek
inilah yang menjadi dasar dalam proses pengambilan dan
pengamatan nilai atau data yang
terkandung pada objek. Hasil capture terhadap objek akan diubah
terlebih dahulu ke dalam
bentuk citra grayscale (keabuan), berikut merupakan contoh hasil
capture serta pengubahan
ke grayscale dilihat pada gambar 2.10.
Gambar 2.10. Hasil capture objek.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
16
2.2.4.2. Citra Grayscale ke Citra Biner
Citra grayscale akan diubah ke dalam bentuk citra biner (0 dan
1), dapat dilihat pada
gambar 2.11. Citra biner sebagai dasar didalam image
preprocessing, yang mana objek dapat
diolah jika telah melalui perubahan ke dalam bentuk itra
biner.
a) Citra grayscale b) Citra biner
Gambar 2.11. Hasil grayscale ke dalam citra biner 1 dan 0.
2.2.4.3. Proses Labeling
Untuk mengetahui jumlah objek yang terdeteksi menggunakan sebuah
metode
menggunakan prinsip labeling. Labeling dapat memisahkan objek
satu dengan objek yang
lainya. Proses labeling dapat dilihat pada gambar 2.12.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
17
a) Citra biner sebelum proses labeling b) Hasil sesudah proses
labeling
Gambar 2.12. Proses labeling pada objek.
2.2.4.4. Proses Segmentasi Citra
Segmentasi citra yang akan mengelola setelah proses labeling
telah berhasil, tujuan
adanya segmentasi citra sebagai pemisah antara objek satu dengan
yang lain. Pemisahan
memudahkan didalam mengenali tiap objek yang telah terproses
sebelumnya. Jika proses
segmentasi tidak dilakukan, maka proses pencarian luas,
keliling, dan area akan dieksekusi
secara keseluruhan tidak memperdulikan ada berapa jumlah objek
didalam citra. Proses
segmentasi dapat dilihat pada gambar 2.13.
a) Hasil labeling
Gambar 2.13. Proses segmentasi pada objek.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
18
b) Hasil Segmentasi objek 1 c) Hasil Segmentasi objek 2
Gambar 2.13. (Lanjutan) Proses segmentasi pada objek.
2.2.4.5. Proses Mencari Luas Objek
Luas objek suatu citra dapat diketahui dengan menghitung luas
objek citra biner
yang memiliki nilai 1, sementara nilai 0 menyatakan bahwa tidak
terdapat objek. Proses
pencarian nilai luas dari objek dapat dilihat pada gambar
2.14.
Gambar 2.14. Proses mencari luas area pada objek.
Berdasarkan gambar 2.14, dapat diketahui nilai area objek
persegi menggunakan
persamaan 2.3. Area objek persegi tersebut adalah 36. Nilai area
ini didapatkan dari jumlah
pixel yang bernilai 1 pada objek.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
19
2.2.4.6. Proses Mencari Keliling Objek
Keliling objek dapat diketahui nilainya dengan menghitung
panjang garis tepi dari
objek citra biner yang terdeteksi. Proses pencarian nilai
keliling dari objek dapat dilihat pada
gambar 2.15.
Gambar 2.15. Proses mencari luas perimeter pada objek.
Berdasarkan gambar 2.15, dapat diketahui nilai perimeter objek
persegi tersebut
adalah 20. Nilai perimeter ini didapatkan dari jumlah pixel yang
bernilai 1 pada tepi objek.
2.2.4.7. Proses Mencari Thinnessratio Objek
Proses thinnessratio digunakan sebagai perbandingan untuk
menentukan bentuk
suatau objek yang diamati. Agar menentukan hasil pengamatan
bentuk suatu objek dari
gambar 2.14 dan 2.15 didapatkan nilai area (Ai) = 36 dan nilai
perimeter (Pi) = 20. Dari data
tersebut dapat dicari nilai thinnessratio menggunakan persamaan
2.4. Contoh penyelesaian
perhitungan nilai thinnessratio sebagai berikut :
𝑇𝑖 =4𝜋𝐴𝑖
𝑃𝑖2
𝑇𝑖 =4𝜋 𝑥 36
(20)2
𝑇𝑖 = 1,13
Berdasarkan hasil perhitungan, didapatkan nilai thinnessratio
yaitu 1,13.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
20
2.2.4.8. Proses Mencari Posisi Objek
Segmentasi citra yang akan mengelola setelah proses labeling
telah berhasil, dan
disinilah proses pencarian nilai centroid (titik kordinat x dan
y) dan luas area objek. Dapat
dilihat pada gambar 2.16. adalah proses pencarian centroid.
1 2 3 4 5 6 7
1 0 0 0 0 0 0 0
2 0 1 1 1 0 0 0
3 0 1 1 1 0 0 0
4 0 1 1 1 0 0 0
5 0 0 0 0 0 0 0
6 0 0 0 0 0 0 0
7 0 0 0 0 0 0 0
Gambar 2.16. Proses mencari nilai centroid.
Bersasarkan contoh pada gambar 2.16 dapat dicari nilai centroid
dengan
menggunakan persamaan 2.4 dan 2.5. Berikut ini adalah contoh
cara menghitung nilai
centroid.
a) Koordinat x
𝑥𝑖 =1
9 (2𝑥1) + (2𝑥1) + (2𝑥1) + (3𝑥1) + (3𝑥1) + (3𝑥1) + (4𝑥1) + (4𝑥1)
+ (4𝑥1)
𝑥𝑖 =1
9 (27)
𝑥𝑖 = 3
b) Koordinat y
𝑦𝑖 =1
9 (2𝑥1) + (2𝑥1) + (2𝑥1) + (3𝑥1) + (3𝑥1) + (3𝑥1) + (4𝑥1) + (4𝑥1)
+ (4𝑥1)
𝑦𝑖 =1
9 (27)
𝑦𝑖 = 3
Berdasarkan hasil perhitungan, didapatkan nilai centroid (x, y)
yaitu (x = 3, y = 3).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
21
2.3. Lengan Robot
Lengan robot atau bisa disebut robot manipulator adalah gabungan
dari beberapa
segmen dan joint yang secara umum dibagi menjadi tiga bagian
yaitu arm, wrist, dan gripper.
Konfigurasi robot biasanya digunakan untuk mengklasifikasikan
robot-robot industri.
Konfigurasi robot mengarah pada bentuk geometri dari manipulator
[1]. Sistem lengan robot
memiliki empat komponen dasar, yaitu : Manipulator, end
effector, actuator, dan kontroler.
2.3.1. Manipulator
Manipulator pada robot lengan memiliki tiga bagian, yaitu bagian
dasar (base),
bagian lengan (arms), dan bagian pergelangan (wrist).
Bagian-bagian manipulator lengan
robot dapat dilihat pada gambar 2.17 [10].
Gambar 2.17. Manipulator Pada Lengan Robot [1]
Bagian dasar (base) manipulator bisa secara paten terpasang pada
dasar area kerja
ataupun terpasang pada rel. bagian lengan (arms) berfungsi untuk
memposisikan end-
effector, dan bagian pergelangan (wrist) berfungsi untuk
mengatur orientasi dari end-
effestor. Bagian ujung pada robot lengan terpasang end-effector
atau yang sering disebut
dengan gripper yang berfungsi untuk sebagai alat mencengkram
pada lengan robot [10].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
22
2.3.2. End effector
End-effector dapat ditemukan hampir di semua aplikasi robot,
walaupun
keberadaanya bukan merupakan komponen dasar dari sistem robot.
End-effector berfungsi
sebagai bagian terakhir yang menghubungkan antara manipulator
dengan objek [10].
Berikut ini adalah contoh jenis end-effector dilihat pada gambar
2.18.
Gambar 2.18. end-effector jenis gripper [11].
2.3.3. Kontroler
Kontroler adalah rangkaian elektronik berbasis mikroprosesor
yang berfungsi sebaga
pengatur seluruh komponen dalam membentuk fungsi kerja [3].
Kontroler menyimpan
informasi berupa data–data pergerakan lengan robot yang telah
deprogram dengan bahasa
pemrograman tertentu pada mikrokontroler. Informasi dan
data-data tersebutdisiman dalam
mmori. Data tersebut dapat dioputkan untuk menentukan pergerakan
dari manipulator yang
menggunakan motor servo sebagai aktuator.
2.4. Torsi/Momen Gaya
Momen Gaya (Torsi(τ)) adalah kemampuan gaya F memutar/merotasi
benda
terhadap poros diam. Sehingga semakin besar torsi (τ) maka gaya
F memutar benda pun
semakin besar [8].
Gambar 2.19. Momen gaya
𝑟
𝜃
F
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
23
Rumus:
𝐹 = 𝑚 𝑥 𝑔 (2.7)
𝜏 = 𝐹 𝑟 𝑆𝑖𝑛𝜃 (2.8)
Keterangan :
𝑚 = Masa benda (kg)
𝑔 = Grafitasi (m/s2)
𝜏 = Torsi (N-m)
𝑟 = Jarak dari titik pangkal gaya sampai sumbu putar (m)
𝐹 = Gaya(N)
𝜃 = Derajat sumbu putar
Selain bergerak secara vertical servo juga dapat bergerak secara
horizontal, untuk
menghitung total torsi yang bekerja pada servo horizontal bisa
menggunakan hokum Newton
II [25].
∑ τ = I α (2.9)
Dimana :
𝐼 = 𝑚 𝑥 𝑟2 (2.10)
𝛼 = ∆𝜔
∆𝑡 (2.11)
𝜔 = 2𝜋
𝑇 (2.12)
Keterangan :
∑ 𝜏 = Resultan torsi (N.m)
I = Momen inersia (kg.m2)
α = Percepatan sudut (rad/s2)
m = Massa (kg)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
24
r = Jari-jari antara sumbu rotasi dengan gaya (m)
ω = Kecepatan sudut (rad/sec)
T = Periode (s)
Gambar 2.20. Contoh soal dan pembahasan tentang torsi
Dengan melihat informasi dari data atau nilai yang terkandung
pada gambar 2.20,
𝑚 = 500 𝑔𝑟𝑎𝑚 = 0,5 𝑘𝑔, 𝑔 = 9,8 𝑚/𝑠2, 𝑟 = 10 𝑐𝑚 = 0,1 𝑚 . Berikut
adalah contoh
pembahasan dari gambar 2.19 :
𝐹 = 𝑚 𝑥 𝑔
𝐹 = 0,5 𝑥 9,8
= 4,9 N
𝜏 = 𝐹 𝑟 𝑆𝑖𝑛𝜃
𝜏 = 4,9 𝑥 0,1 𝑥 𝑆𝑖𝑛 90°
= 0,49 N-m
Berdasarkan persoalan tersebut, dibutuhkan motor servo yang
memiliki torsi lebih
besar dari 0,49 N.m untuk dapat mengangkat beban tersebut.
10 cm
M = 500 gram
𝜃
𝑟
F
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
25
2.5. Inverse Kinematics
Kinematika robot adalah studi analistis pergerakan lengan robot
terhadap sistem
kerangka koordinat acuan yang diam/bergerak tanpa memperlihatkan
gaya yang
menyebabkan pergerakan tersebut [19]. Lengan robot 2 sendi yaitu
sebuah lengan robot yang
terdiri dari 2 buah lengan dan 2 buah derajat kebebasan.
Ilustrasi dari lengan robot ini
ditunjukan oleh gambar 2.21.
Gambar 2.21. Invers Kinematics dua sendi.
Pada inverse kinematics, nilai koordinat 𝑥 dan 𝑦 serta 𝑙1 dan 𝑙2
sudah ditentukan
sehingga hanya dicari nilai 𝜃2 dan 𝜃1. Persamaan untuk
mendapatkan nilai 𝜃2 dan 𝜃1
ditunjukan pada rumus 2.13 dan 2.14[19].
𝜃2 = 𝑎𝑟𝑐𝑜𝑠 ( 𝑥2+𝑦2− 𝑙1
2−𝑙22
2 𝑙1 𝑙𝑙2 ) (2.13)
𝜃1 = 𝑎𝑟𝑐𝑠𝑖𝑛 ( 𝑙2 sin(𝜃2)
√𝑥2+𝑦2 ) + 𝑎𝑟𝑐𝑡𝑎𝑛(
𝑦
𝑥 ) (2.14)
Keterangan :
𝑥 = Jarak antar robot dan benda
𝑦 = Tinggi benda
𝑙1 = Panjang lengan 1
𝑙2 = Panjang lengan 2
𝜃1 = Sudut 𝜃1
𝜃2 = Sudut 𝜃2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
26
Gambar 2.22. Ukuran lengan robot.
Dengan melihat informasi dari data atau nilai ukuran yang
terkandung pada tiap-tiap
bagian robot pada gambar 2.22 yaitu, 𝑥 = 16 cm, 𝑦 = 8 cm, 𝑙1= 14
cm, 𝑙2 = 24 cm. Berikut
pembahasan untuk mendapatkan nilai 𝜃2 dan 𝜃1 dari contoh soal
pada gambar 2.21.
𝜃2 = 𝑎𝑟𝑐𝑜𝑠 ( 𝑥2 + 𝑦2 − 𝑙1
2 − 𝑙22
2 𝑙1 𝑙2 )
𝜃2 = cos−1 (
162 + 82 − 142 − 242
2 𝑥 14 𝑥 24)
𝜃2 = 132,269𝑜
𝜃1 = 𝑎𝑟𝑐𝑠𝑖𝑛 ( 𝑙2 sin(𝜃2)
√𝑥2 + 𝑦2 ) + 𝑎𝑟𝑐𝑡𝑎𝑛(
𝑦
𝑥 )
𝜃1 = 𝑎𝑟𝑐𝑠𝑖𝑛 ( 24 sin(132,269)
√162 + 82 ) + 𝑎𝑟𝑐𝑡𝑎𝑛(
1
16 )
𝜃1 = 86,7𝑜
Berdasarkan persoalan tersebut, dibutuhkan sudut putar pada 𝑙1 =
132,269𝑜, dan
𝑙2 = 86,7𝑜 untuk dapat menuju dan mengambil benda.
24 cm
14 cm
16 cm
8 cm
𝒍𝟏
𝒍𝟐
𝒙
𝒚
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
27
2.6. Aktuator Robot
Istilah yang digunakan untuk mekanisme yang mengeerakkan lengan
robot. Aktuator
dapat berupa hidrolik dan pneumatic yang digunakan untuk
mengendalikan persendian
prismatik karena dapat menghasilkan gerakan linear secara
langsung, atau pula actuator
motor listrik yang menghasilkan gerakan rotasi. Penggerak yang
umum digunakan pada saat
ini adalah penggera motor servo. Penggerak motor ini lebih mudah
dikontrol dibanding
pergerakan lainya.
2.6.1. Motor Servo
Motor DC sering disebut ”motor servo”. Dalam realitanya, berbeda
dengan motor
DC. Motor servo merupakan motor DC yang mempunyai kualitas
tinggi. Motor ini sudah
dilengkapi dengan system control. Pada aplikasinya, motor servo
sering digunakan sebagai
control loop tertutup, sehingga dapat menangani perubahan posisi
secara tepat dan akurat
begitu juga dengan pengaturan kecepatan dan percepatan [1].
Gambar 2.23. Model fisik motor servo [1].
Bentuk fisik dari motor servo dapat dilihat pada gambar 2.23.
Sistem pengkabelan
motor servo terdiri dari 3 bagian, yaitu Vcc, Gnd, dan Kontrol
(PWM). Penggunan PWM
pada motor servo berbeda dengan penggunaan PWM pada motor DC.
Pada motor servo,
pemberian nilai PWM akan membuat motor servo bergerak pada
posisi tertentu lalu berhenti
(kontrol posisi) [1].
Motor servo dibedakan menjadi 2, yaitu continuous servo motor
dan uncontinuous
servo motor. Pada continuous servo motor, motor servo dapat
berputar 360° sehingga
memungkinkan untuk bergerak rotasi [1]. Untuk menggerakkan motor
servo ke kanan atau
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
28
ke kiri, tergantung dari nilai delay yang kita berikan. Untuk
membuat servo pada posisi
center, berikan pulsa 1.5ms. Untuk memutar servo ke kanan,
berikan pulsa = 1ms untuk berputar ke kiri dengan delay 20ms,
seperti ilustrasi pada gambar 2.24
berikut :
Gambar 2.24. Pensinyalan motor servo [1].
2.6.2. PWM (Pulse width Modulation)
Servo motor dikendalikan dengan memberikan inputan berupa PWM
(Pulse Width
Modulation). Sinyal PWM yang diberikan ke servo merupakan sinyal
yang proporsional
bersarnya terhadap posisi poros output servo tersebut. Secara
spesifik, dalam perulangan 20
ms, sinyal PWM sebesar 1 ms akan menghasilkan output shaft yang
bergerak ke posisi paling
kiri. Dengan perulangan yang sama, sinyal PWM sebesar 2 ms akan
menghasilkan output
shaft yang bergerak ke arah paling kanan. Dengan demikian, untuk
sinyal PWM yang
besarnya 1,5 ms akan menghasilkan posisi ditengah-tengah.
2.7. Mikrokontroler AVR ATmega32
ATmega32 termasuk dalam seri microcontroller unit (MCU) CMOS
8-bit keluarga
AVR (Alf and Vegard’s Risch Processor) yang dirancang oleh Atmel
berbasis arsitektur
RISC (Reduced Instruction Set Computer). Hampir semua instruksi
dieksekusi dalam satu
siklus [12]. ATmega32 juga memiliki EEPROM dan RAM dua kali
lebih besar dari
ATMEGA16 yakni EEPPOM sebesar 1KB dan SRAM sebesar 2KB.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
29
Beberapa fasilitas yang terdapat pada mikrokontroler Atmega32
antara lain:
a) Kapasitas memori flash 32 KB, Internak SRAM (Static Random
Acces Nenory) 2 K byte,
dan EEPROM (Electrically Erasable Programmable Read Only Memory)
1024 byte.
b) I/O sebanyak 32 buah, yang terdiri dari 4 port yaitu Port A,
Port B, Port C, Port D.
c) ADC (Analog to Digital) 10 bit sebanyak 8 channel.
d) Tiga buah timer/counter yaitu Timer 0, Timer 1, dan Timer
2.
e) Unit interupsi internal dan eksternal.
f) Empat saluran output PWM (Pulse Width Modulation).
g) Port antarmuka SPI (Serial Peripheral Interface).
h) Port USART (Universal Synchronous-Asynchronous Receiver
Transmitter) untuk
komunikasi serial.
i) Komunikasi serial TWI (Two Wire Interface).
j) Komparator analog.
2.7.1. Diskripsi Mikrokontroler AVR ATmega32
Konfigurasi Pin Mikrokontroller ATmega32 dengan desain 40 pin
dapat dilihat pada
gambar 2.25.
Gambar 2.25. Konfigurasi Pin Mikrokontroler AVR Atmega [5].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
30
Penjelasan konfigurasi PIN pada mikrokontroler AVR ATmega 32
komputer, secara umum:
a. Pin 1 sampai 8 (Port B) merupakan port parallel 8 bit dua
arah (bidirectional), yang dapat
digunakan untuk general purpose dan special feature.
b. Pin 9 (Reset) jika terdapat minimum pulse pada saat active
low.
c. Pin 10 (VCC) dihubungkan ke Vcc (2,7 – 5,5 Volt).
d. Pin 11 dan 31 (GND) dihubungkan ke Vss atau Ground.
e. Pin 12 (XTAL 2) adalah pin masukkan ke rangkaian osilator
internal. Sebuah osilator
kristal atau sumber osilator luar dapat digunakan.
f. Pin 13 (XTAL 1) adalah pin keluaran ke rangkaian osilator
internal. Pin ini dipakai bila
menggunakan osilator kristal.
g. Pin 14 sampai 21 (Port D) 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 (Port C) adalah 8-bit dua arah
(bi-directional I/O) port dengan internal
pull-up resistors digunakan untuk general purpose dan special
feature.
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 A REF pin yang berfungsi sebagai referensi
untuk pin analog jika A/D
Converter digunakan.
k. Pin 33 sampai 40 (Port A) adalah 8-bit dua arah
(bi-directional I/O) port dengan internal
pull-up resistors digunakan untuk general purpose.
2.7.2. Timer/Counter
Timer / Counter adalah bagian mikrokontroller yang bersifat
independen dari CPU,
atau dengan kata lain tidak terpengaruh oleh kerja prosesor.
Fungsi utama dari timer /
counter seperti dengan namanya, 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].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
31
2.7.2.1. TIMER/COUNTER 0
Fitur-fitur yang dimiliki:
1. Satu buah unit Compare Counter (Unit ini akan meng-count dan
meng-compare)
2. Clear timer pada saat compare match (Auto reload)
3. Phase Correct PWM yang bebas glitch
4. Frequency generator
5. Exsternal event counter
6. Prescaler clock hingga 10 bit
7. Membangkitkan interupsi saat timer overflow dana tau compare
match
Perhitungan overflow interrupt sebagai pembangkit PWM
ditunjukkan pada
persamaan 2.15, 2.16, dan 2.17 berikut [10].
𝑇 =1
𝑓 (2.15)
𝑂𝑣𝑒𝑟𝑓𝑙𝑜𝑤 𝑖𝑛𝑡𝑒𝑟𝑟𝑢𝑝𝑡 = 𝑁 𝑥 256 𝑥 𝑇 (2.16)
𝑂𝐶𝑅 = 𝑃𝑢𝑙𝑠𝑒
𝑂𝑣𝑒𝑟𝑓𝑙𝑜𝑤 𝑖𝑛𝑡𝑒𝑟𝑟𝑢𝑝𝑡 (2.17)
𝑃𝑢𝑙𝑠𝑒 = 𝑆𝑢𝑑𝑢𝑡
180°+ 1 (2.18)
Keterangan:
f = frekuensi yang digunakan untuk eksekusi program
T = periode
N = prescaller yang digunakan
OCR = nilai cacahan pulsa
Pulse = lebar pulsa
𝑆𝑢𝑑𝑢𝑡 = Lebar sudut motor servo
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
32
Berikut merupakan mode-mode operasi timer [10].
a) Mode normal, timer digunakan untuk menghitung saja, membuat
delay, dan
menghitung selang waktu.
Gambar 2.26. Mode Phase Correct PWM [5]
b) Mode phase correct PWM (PCP), digunakan untuk mnghasilkan
sinyal PWM
dimana nilai register counter (TCNT0) yang mencacah naik dan
turun secara
terus menerus akan selalu dibandingkan dengan register
pembanding OCR0.
Hasil perbandingan register TCNT0 dan OCR0 digunakan utnuk
membangkitkan
sinyal PWM yang dikeluarkan pada OC0 seperti ditunjukkan Gambar
2.23.
c) CTC (Clear timer on compare match), register counter (TCNT0)
akan mencacah
naik kemudian di-reset atau kembali menjadi 0x00 pada saat nilai
TCNT0 sama
dengan OCR0. Sebelumnya OCR diset dulum karena timer 0 dan 2
maksimumnya 255, maka range OCR 0-255.
d) Fast PWM, mode ini hamper sama dengan mode phase correct PWM,
hanya
perbedaanya adalah register counter TCNT0 mencacah naik saja dan
tidak pernah
mencacah turun seperti terlihat pada Gambar 2.27.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
33
Gambar 2.27. Mode Fast PWM [5].
2.7.3. Komunikasi Serial USART
Universal Synchronous and Asychrnous Serial and Transmitter
(USART) adalah
suatu piranti komunikasi serial yang fleksibel yang tersedia di
dalam fitur mikrokontroler
ATmega32. Pada proses inisialisasi setiap perangkat yang
terhubung harus memiliki
baudrate yang sama. Beberapa fasilitas yang disediakan USART AVR
adalah sebagai
berikut:
a) Operasi full duplex (mempunyai register reciver dan transmit
yang terpisah)
b) Mendukung kecepatan multiprosesor
c) Mode kecepatan berorde Mbps
d) Operasi asinkron atau sinkron
e) Operasi master atau slave clock sinkron
f) Dapat menghasilkan baud-rate (laju data) dengan resolusi
tinggi
g) Modus komunikasi kecepatan ganda pada asinkron
2.7.3.1. Inisialisasi USART
Salah satu kelebihan menggunakan sistem USART dibandingkan
dengan UART
adalah pada operasi Full Duplex. Pada mikrokontroler AVR untuk
mengaktifkan dan
mengeset komunikasi USART dilakukan dengan cara mengaktifkan
register-register yang
digunakan untuk komunikasi USART. Dalam prosesinisialisasi, ada
beberapa buah register
yang perlu ditentukan nilainya, yaitu:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
34
2.7.3.2. USART I/O Data