Pengujian Kinematika Lengan Robot

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