Tabel 4.7 Analisa Sudut Link Segi 4 Lengan Robot
No Jumlah
Sudut A dan B
Jumlah Sudut
segi 4 AB Error
Jumlah Sudut C
dan D Jumlah
Sudut segi 4 CD
Error Jumlah
Sudut E dan F
Jumlah Sudut
segi 4 EF Error
1 180
˚ 360
˚ 188
˚ 376
˚ 4,44
180 ˚
360 ˚
2 180
˚ 360
˚ 180
˚ 360
˚ 177
˚ 354
˚ 1,67
3 180
˚ 360
˚ 185
˚ 370
˚ 2,78
180 ˚
360 ˚
4 183
˚ 366
˚ 1,67
180 ˚
360 ˚
176 ˚
352 ˚
2,22 5
180 ˚
360 ˚
178 ˚
356 ˚
1,11 177
˚ 354
˚ 1,67
Dari data yang didapatkan pada Tabel 4.7 terlihat error yang terjadi pada pergerakan sudut pada lengan robot. Untuk segi 4 AB memiliki rata-rata error 0,33, segi
4 CD memiliki rata-rata error 1,67, dan segi 4 EF memiliki rata-rata error 1,11.
4.2.4. Pengujian Repeatability Gerakan Lengan Robot
Pengujian ini dilakukan untuk melihat tingkat kestabilan lengan robot dalam melakukan pergerakan. Pergerakan yang akan diuji berdasarkan sudut yang diberikan dari
mikrokontroler dengan input Gamepad. Pengujian dilakukan dengan cara memberi input tertentu pada masing-masing axis lengan robot yang mana akan diberikan secara berulang
sebanyak 10 kali. Dari input tersebut akan diukur sudut aktual yang terjadi pada lengan robot. Membentuk sudut acuan dilakukan secara acak CW atau CCW.
1. Base
Tabel 4.8 Repeatability Gerak Sendi Base
Percobaan Sudut acuan Sudut aktual Selisih Error 1
80 ˚
73 ˚
7 ˚
8,75 2
80 ˚
73 ˚
7 ˚
8,75 3
80 ˚
73 ˚
7 ˚
8,75 4
80 ˚
73 ˚
7 ˚
8,75 5
80 ˚
73 ˚
7 ˚
8,75 6
80 ˚
73 ˚
7 ˚
8,75 7
80 ˚
73 ˚
7 ˚
8,75 8
80 ˚
73 ˚
7 ˚
8,75 9
80 ˚
73 ˚
7 ˚
8,75 10
80 ˚
73 ˚
7 ˚
8,75 Rata-rata
7 ˚ 7
˚ 8,57
Berdasarkan pengambilan data yang telah dilakukan pada Tabel 4.8 sendi Base melakukan pergerakan sudut yang sangat stabil hingga tidak terjadi perubahan dalam
kestabilannya. 2.
Shoulder Tabel 4.9 Repeatability Gerak Sendi Shoulder
Percobaan Sudut acuan Sudut aktual Selisih Error 1
60 ˚
54 ˚
6 ˚
10 2
60 ˚
54 ˚
6 ˚
10 3
60 ˚
53 ˚
7 ˚
11,67 4
60 ˚
54 ˚
6 ˚
10 5
60 ˚
53 ˚
7 ˚
11,67 6
60 ˚
53 ˚
7 ˚
11,67 7
60 ˚
54 ˚
6 ˚
10 8
60 ˚
54 ˚
6 ˚
10 9
60 ˚
54 ˚
6 ˚
10 10
60 ˚
54 ˚
6 ˚
10 Rata-rata
53,7 ˚
6,3 ˚
10,50
Dari percobaan yang ditampilkan pada Tabel 4.9 gerakan sendi Shoulder lumayan stabil hanya terjadi 3 perbedaan dari 10 kali percobaan yang dilakukan. Perbedaaan
yang terjadi pun tidak terlalu mencolok yakni hanya 1˚ yang paling besar. 3.
Elbow Tabel 4.10 Repeatability Gerak Sendi Elbow
Percobaan Sudut acuan Sudut aktual Selisih Error 1
50 ˚
49 ˚
1 ˚
2 2
50 ˚
49 ˚
1 ˚
2 3
50 ˚
48 ˚
2 ˚
4 4
50 ˚
47,5 ˚
2,5 ˚
5 5
50 ˚
48 ˚
2 ˚
4 6
50 ˚
47,5 ˚
2,5 ˚
5 7
50 ˚
47,5 ˚
2,5 ˚
5 8
50 ˚
47,5 ˚
2,5 ˚
5 9
50 ˚
47,5 ˚
2,5 ˚
5 10
50 ˚
48 ˚
2 ˚
4 Rata-rata
47,95 ˚
2,05 ˚ 4,1
Tabel 4.10 memperlihatkan kestabilan gerak sendi Elbow. Dari 10 kali percobaan yang dilakukan ada 3 variasi sudut yang terjadi yakni 49˚, 48˚, dan 47,5˚. Selisih dari 3
posisi tersebut yang paling besar adalah 2,5˚.
4. Gripper
Tabel 4.11 Repitability Gerak Gripper
Percobaan Sudut acuan Sudut aktual 1
15 ˚
45 ˚
2 15
˚ 55
˚ 3
15 ˚
45 ˚
4 15
˚ 55
˚ 5
15 ˚
45 ˚
6 15
˚ 55
˚ 7
15 ˚
45 ˚
8 15
˚ 55
˚ 9
15 ˚
45 ˚
10 15
˚ 55
˚
Bebeda dari semua sendi yang ada, hasil dari percobaan Gripper ada pengecualian. Desain yang Gripper membuat sudut acuan tidak akan sama dengan sudut aktual. Pada
Tabel 4.11 ditunjukkan hasil percobaan kestabilan dari Gripper, ternyata gerakan sudut yang dilakukan tidak dapat stabil. Ada 2 variasi sudut yang terjadi pada
pengambilan data. Perbedaan tersebut terjadi ketika motor berputar CCW dan CW. Selisih sudutnya pun cukup besar yakni mencapai 10˚. Ketidakstabilan ini terjadi
karena roda gigi yang menghubungkan penjepit Gripper memiliki renggang sedikit yang mana ketika digerakkan membuat gerakan tidak fix atau dengan kata lain kocak.
4.3. Analisa Perangkat Lunak
4.3.1. Inisialisasi
Inisialisasi pada program pengendali lengan robot dengan Gamepad ini berisi tentang pendefenisian dari fungsi library dan variabel yang digunakan dalam proses
pengoperasian data. Seperti pada Bab perancangan pada flowchart utama program, bagian dari inisialisasi meliputi inputoutput yang digunakan, setup untuk komunikasi serial, serta
setup untuk USB host shield. Listing program inisialisasi dari pengendali lengan robot dengan Gamepad dapat dilihat pada Gambar 4.13 dan Gambar 4.14.
Gambar 4.13 Inisialisasi Library yang Digunakan
Gambar 4.14 Inisalisasi Variabel dan InputOutput 1
Gambar 4.15 Inisalisasi Variabel dan InputOutput 2
Gambar 4.13 memperlihatkan program ini menggunakan 2 library yaitu library Servo.h dan library PS3USB.h. Servo.h berfungsi mengubah output digital dari
mikrokontroler dapat digunakan untuk mengatur motor servo yang mana membutuhkan output analog. Dengan library ini motor servo diatur sudutnya dari 0-180
˚. Sedangkan library PS3USB.h mengatur komunikasi perangkat Gamepad yang terhubung ke USB host
shield dengan mikrokontroler melalui ICSP bus. Pada Gambar 4.14 dan Gambar 4.15 yang ditunjuk no 1 merupakan variabel yang
berisi posisi sudut motor servo 0-180 ˚ sekaligus menentukan posisi awal ketika program
running. Pada no 2 merupakan variabel untuk membatasi sudut maksimal atau minimal yang dapat dicapai oleh motor servo. Pada no 3 adalah alamat pin output untuk motor
servo yang berjumlah 4 pin. Sedangkan no 4 adalah variabel untuk motor servo yang akan digunakan dan antara pin output dengan variabel motor servo dihubungkan oleh no 6.
Untuk bagian input dapat ditunjukkan pada no 5, dimana inputnya menggunakan Gamepad PS3 yang terhubung melalui USB.
4.3.2. Pembacaan Input dan Perintah ke Output
Gambar 4.16 Input dan Output pada Program Listing program pembacaan input dan perintah ke output dalam mikrokontroler
arduino dapat dilihat pada Gambar 4.16. Pembacaan input dari USB Gamepad menggunakan komunikasi ISCP memanfaatkan port MISO, MOSI, SCK, dan RESET
mikrokontroler. Menggunakan library USB host shield sehingga semua input dari Gamepad dapat terbaca TRIANGLE, CROSS, SQUARE, CIRCLE, UP, DOWN, LEFT, dan
RIGHT. Sedangkan listing program output untuk menggerakkan motor servo ditunjukkan pada Gambar 4.16 juga. Menggerakkan motor servo menggunakan pulsa-pulsa yang
dikeluarkan oleh mikrokontroler melalui port digital 4, 6, 7, dan 8. Motor servo digerakkan berdasarkan posisi sudut yang telah disimpan pada variabel pos1234 yang berisi sudut
dari 0-180 ˚.
Input Output