• Tidak ada hasil yang ditemukan

RANCANG BANGUN ROBOT PERMAINAN CATUR BERBASIS KAMERA

N/A
N/A
Protected

Academic year: 2021

Membagikan "RANCANG BANGUN ROBOT PERMAINAN CATUR BERBASIS KAMERA"

Copied!
44
0
0

Teks penuh

(1)

RANCANG BANGUN ROBOT

PERMAINAN CATUR

BERBASIS KAMERA

TUGAS AKHIR

Oleh :

Ian Agung Prakoso 2204100060

Dosen Pembimbing :

Ir. Djoko Purwanto, M.Eng., Ph.D.

Bidang Studi Elektronika | Jurusan Teknik Elektro | FTI – ITS | Surabaya

(2)

Outline

Latar Belakang

Tujuan

Perumusan Masalah

Perencanaan dan Pembuatan Alat

Pengujian software dan hardware

(3)

Latar Belakang

Salah satu konstruksi awal robot

permainan catur adalah Turk yang dibuat

pada tahun 1976 oleh Wolfgang Von

Kompelen yang sebenarnya digerakkan

oleh manusia di dalam robot tersebut.

Salah satu sistem robot permainan catur

adalah chesster

[1]

[1].Meppelink, David J. dan Martin, Fred., 2003. A Tangible Interface to Computerized

Chess. University of Massachusetts Lowell.

(4)

Sistem Permainan Catur yang menjadi latar belakang

(5)

Tujuan

Membuat robot manipulator untuk

menggerakkan buah catur

Membuat sistem image processing untuk

mengetahui keberadaan buah catur pada

papan catur yang sebenarnya.

(6)

Perumusan Masalah

Pendeteksian posisi dari papan catur melalui sensor

visual.

Pengubahan sebuah gerakan buah catur yang kita

inginkan menjadi serangkaian urutan perintah dan

data untuk menggerakkan lengan robot.

Pendeteksian keberadaan dan warna buah catur pada

kotak hitam atau putih yang kita inginkan.

Kamera sebagai sensor visual yang digunakan

sebanyak 1 buah dan terletak statis di atas papan

catur.

Lengan robot yang digunakan bertipe 3 DOF robot.

Papan catur yang digunakan berukuran 50x50 cm2.

(7)

Perencanaan dan Pembuatan

Alat

(8)
(9)

Sistem Mekanik

Sistem Elektrik

(10)

Sistem Mekanik

Konfigurasi robot yang digunakan adalah

konfigurasi SCARA 3 DOF (Degree of Freedom).

Open loop system untuk sistem kontrol geraknya.

Kemudian digunakan motor stepper sebagai

penggerak. Terdapat sensor limit switch sebagai

pembatas gerak robot namun bukan sebagai

feedback sistem secara keseluruhan.

(11)

Perancangan Perangkat Keras

Mekanik Robot Permainan Catur Berbasis Kamera

Sistem mekanik Gripper

Posisi webcam Sistem mekanik robot

(12)

Perancangan Perangkat Keras

Sistem Elektrik

Rangkaian sistem minimum mikrokontroler ATMega 32

sebagai penyimpan program kontroler.

Rangkaian driver motor stepper bertipe bipolar.

Rangkaian driver solenoid sebagai penggerak gripper

Rangkaian power supply untuk menyuplai tegangan

motor stepper dan solenoide

Rangkaian Limit Switch untuk mereset dan inisialisasi

robot .

(13)

Perancangan Perangkat Keras

Rangkaian Sistem Minimum Mikrokontroler ATMega 32

Mikrokontroler ATMega 32 sebagai rangkaian penerjemah data serial dari PC menjadi firing

sequence untuk

mengontrol motor Stepper dan mengontrol ON/OFF solenoide

(14)

Perancangan Perangkat Keras

Jalur Komunikasi Serial RS 232

Komunikasi serial RS-232 antara uc dengan PC

(15)

Perancangan Perangkat Keras

Rangkaian Driver Motor Stepper Rangkaian Driver Motor Stepper tipe Bipolar

Menggunakan rangkaian H-Bridge

Motor Stepper Universal difungsikan sebagai tipe bipolar

(16)

Perancangan Perangkat Keras

Rangkaian Driver Solenoide Rangkaian Driver Solenoide menggunakan Transistor Switching

(17)

Program pada PC (MS. Visual C++ 2008 & Open CV)

Program Mikrokontroler (Code Vision AVR)

Perancangan Perangkat

Lunak

(18)

Diagram Alir Program Pada Komputer

(19)

Perancangan Perangkat Lunak

Program pada PC

Akuisisi Citra oleh Web Camera *

Inisialisasi chessboard *

Deteksi buah catur *

Path Planner *

Inverse Kinematik **

*Blok Computer Vision **Robot Interface

(20)

Perancangan Perangkat Lunak

Akuisisi Citra oleh Web Camera

Program akan mengakuisisi citra tersebut dengan skala RGB dengan nama ”frame” kemudian dilakukan proses Perspective Transform pada Open CV untuk mendapatkan citra baru bernama ”dst”.

(a)

Image sebelum proses Perspective Transform.

(b)

Image setelah proses Prespective Transform.

void cvWarpPerspective( const CvArr* src,

CvArr* dst,

const CvMat* map_matrix, int flags = CV_INTER_LINEAR +

CV_WARP_FILL_OUTLIERS, CvScalar fillval = cvScalarAll(0));

(21)

Perancangan Perangkat Lunak

Inisialisasi chessboard

Inisialisasi chessboard diperlukan untuk mendapatkan koordinat titik tengah dari tiap kotak hitam-putih dari papan catur.

Setiap corner disini didefinisikan sebagai titik tengah dalam setiap 4 kotak dalam

chessboard

Koordinat Pixel

Sebuah corner

int cvFindChessboardCorners( const void* image,

CvSize pattern_size, CvPoint2D32f* corners, int* corner_count = NULL,

int flags =

CV_CALIB_CB_ADAPTIVE_THRESH );

void cvFindCornerSubPix( const CvArr* image, CvPoint2D32f* corners,

int count, CvSize win, CvSize zero_zone, CvTermCriteria criteria);

(22)

Perancangan Perangkat Lunak

Deteksi buah catur

Algoritma deteksi buah catur digunakan untuk menentukan kondisi suatu petak apakah kosong ataukah terisi buah catur hitam ataukah terisi buah catur putih.

Algoritma deteksi buah catur dibuat menggunakan prinsip filter warna yang diterapkan pada citra berskala RGB yang telah diubah ke dalam skala HSV oleh Open

CV.

Filter warna menggunakan proses

thresholding nilai Hue, Saturation, Value

setiap pixel pada ROI (Region of Interest)

citra berskala HSV.

Kemudian dilakukan penghitungan jumlah

pixel warna merah dan warna biru melalui

(23)

Perancangan Perangkat Lunak

Path Planner

Pola pergerakan buah catur dengan metode Continuous

Path sesuai dengan hasil path yang dihasilkan dari

algoritma Path Planner.

Pergerakan robot harus diinisialisasi pada awalnya agar robot manipulator mulai bergerak pada posisi awal yang telah ditentukan. Inisialisasi menggunakan fungsi dari

limit switch.

Pada Tugas akhir ini setiap robot manipulator selesai melakukan fungsi place maka robot akan me-reset posisinya sendiri kembali ke posisi awal yang telah ditentukan. Kemampuan repeatibility robot ditentukan

berdasarkan kemampuan robot untuk kembali mendekati posisi awal yang telah ditentukan.

(24)

Perancangan Perangkat Lunak

Inverse Kinematik

Inverse Kinematic adalah analisa kinematik untuk mendapatkan besar sudut dari

masing – masing joint jika kita mempunyai data koordinat posisi (x,y,z).

P(x,y) dimana, 1 θ 2 θ β α ( 1 2) 2 1 1cosθ + cosθ +θ =l l x y =l1sinθ1 +l2sin(θ12)       + = − 2 1 2 2 2 1 2 2 1 2 2 cos l l l l y x θ (( )) 2 2 2 2 1 2 2 2 2 1 1 1 sin cos sin . cos tan θ θ θ θ θ yl l l x l x l l y + + − + = −

(25)

Perancangan Perangkat Lunak

Program Mikrokontroler

Fungsi Konversi_data ()

Fungsi Konversi_data() merubah paket data serial yang telah dirubah ke array karakter2[k] menjadi array karakter 1[i][j].

Karakter1[i][0] merupakan bagian array yang menentukan apakah

gerakan robot merupakan gerak motor stepper atau solenoid.

Karakter1[i][1] merupakan bagian array yang menentukan jumlah delay ketika motor stepper bergerak.

Karakter1[i][2] merupakan bagian array yang menentukan arah gerak motor stepper dan solenoid.

Karakter1[i][3] merupakan bagian array yang menentukan jumlah

counter (firing sequence) pada motor stepper.

Fungsi Run_Motor()

Fungsi Run_motor() merupakan fungsi untuk mengirimkan firing

sequence yang berupa pulsa dari mikrokontroler ke driver motor stepper

(26)
(27)

Penghitungan Resolusi Gerak Robot

Pengujian Perangkat Keras

Pengujian Perangkat Lunak

Pengujian Gabungan

(28)

Penghitungan Resolusi Gerak Robot (1)

Penghitungan pertama untuk gerakan translasi naik dengan

memberikan setiap kenaikannya 2000 step dengan delay per-step sebesar 3 ms sehingga persamaan garis lurusnya untuk gerak translasi naik adalah

y=0.016+0.000248x

Penghitungan kedua untuk gerakan translasi turun dengan

memberikan setiap penurunannya 2000 step dengan delay per-step sebesar 3 ms dan persamaan garis lurusnya untuk gerak translasi turun adalah

y=0.018+0.000249x

Penghitungan Resolusi Gerak Robot untuk Gerakan Translasi pada DOF-1

(29)

Penghitungan Resolusi Gerak Robot (2)

Perhitungan pertama untuk gerakan rotasi searah jarum jam pada DOF-2 dengan memberikan 10 step dan delay per-step sebesar 60 ms untuk setiap gerakan dan persamaan garis lurusnya untuk gerak rotasi searah jarum jam pada DOF-2 adalah

y=-2.47937+0.78269x

Perhitungan kedua untuk gerakan rotasi berlawanan jarum jam pada DOF-2 dengan memberikan 10 step dan delay per-step sebesar 60 ms untuk setiap gerakan dan persamaan garis

lurusnya untuk gerak rotasi berlawanan jarum jam pada DOF-2 adalah

y=-2.11365+0.778512 x

Penghitungan Resolusi Gerak Robot untuk Gerakan Rotasi pada DOF-2

(30)

Penghitungan Resolusi Gerak Robot (3)

Perhitungan pertama untuk gerakan rotasi searah jarum jam pada DOF-3 dengan memberikan 20 step dan delay per-step sebesar 60 ms untuk setiap gerakan dan persamaan garis lurusnya untuk gerak rotasi searah jarum jam pada DOF-3 adalah

y= -9.68166+0.146789x

Perhitungan kedua untuk gerakan rotasi berlawanan jarum jam pada DOF-3 dengan memberikan 20 step dan delay per-step sebesar 60 ms untuk setiap gerakan dan persamaan garis lurusnya untuk gerak rotasi berlawanan jarum jam pada DOF-3 adalah

y=-8.83001+0.145455x

Penghitungan Resolusi Gerak Robot untuk Gerakan Rotasi pada DOF-3

(31)

Penghitungan Resolusi Gerak Robot (4)

Kalibrasi Pixel dengan Area Kerja Robot

Koordinat Pixel (dimulai dari pojok kiri bawah) dan koordinat kartesian robot (dimulai dari pojok kiri atas)

Persamaan untuk mengubah koordinat suatu titik P(xp,yp) menjadi P(xr,yr)dalam koordinat kartesian robot,

(

x panjang pixel

)

b yr = p * 1 +

(

)

(

c y panjang pixel

)

a xr = − p * 1 + ) 8 1 ( ) 8 1 ( 1 a a Tengah JarakTitik a a Tengah JarakTitik pixel cm pixel panjang − − =      

(32)

Pengujian Perangkat Keras

Pengujian Pengiriman Data Serial

Berhasil 1234568 1234567 Berhasil 1000000 999999 Berhasil 100000 99999 Berhasil 10000 9999 Berhasil 1000 999 Berhasil 200 199 Berhasil 100 99 Berhasil 20 19 Berhasil 10 9 Berhasil 2 1 Kategori Data Terima Data Kirim

(33)

Pengujian Perangkat Lunak

Pengujian Inisialisasi Chessboard

Tujuan :

Mendapatkan kondisi yang optimal untuk

deteksi corner chessboard terutama dari sisi pengaturan pencahayaan.

Mendapatkan parameter perspective transform

agar tampilan chessboard pada image yang akan diolah mendekati bentuk persegi.

Tabel 3. Nilai optimal variabel pada proses

perspective transform 0 dstQuad[3].y frame->width dstQuad[3].x 0 dstQuad[2].y -10 dstQuad[2].x (frame->height)*1 dstQuad[1].y ((frame->width)*(1))+5 dstQuad[1].x (frame->height)*(1.04) dstQuad[0].y -5 dstQuad[0].x Nilai Variabel

(34)

Pengujian Perangkat Lunak

Pengujian Deteksi Buah Catur

Tabel. Range Nilai Hue, Saturation,Value

V>105 60<S<200 80<H<115 Biru V>165 S>30 H<10; H>150 Merah Value (V) Saturation (S) Hue (H) Warna

Tabel. Range counter untuk warna merah dan warna biru

Counter biru > 280 Biru Counter merah > 190 Merah Counter Warna Tujuan :

Mendapatkan range nilai Hue, Saturation,

Value yang optimal dalam pendeteksian buah

catur hitam (warna merah) dan pendeteksian buah catur putih (warna biru) serta range nilai

counter warna merah dan warna biru untuk

(35)

Pengujian Perangkat Lunak

Pengujian Path Planner (1)

Tujuan :

Mengetahui seberapa akurat algoritma untuk

menghasilkan path

Pengujian ini dilakukan dengan memberikan

halangan pada jalur pergerakan buah catur.

(36)

Pengujian Perangkat Lunak

Pengujian Path Planner (2) Tabel. Hasil Pengujian

Path Planner 100 20 c7 100 20 b6 100 20 b4 100 20 c3 100 20 e3 100 20 f4 100 20 f6 100 20 e7 d5 Knight 95 20 h1 100 20 c2 100 20 a8 100 20 h7 e4 Bishop 100 20 e1 100 20 h5 100 20 a5 100 20 e8 e5 Rock 95 20 c3 100 20 b3 100 20 a3 b2 Pawn Akhir Awal Type Prosentase Pengujian Posisi Posisi Buah Catur

Dari table pengujian didapatkan rata – rata keberhasilan algoritma

(37)

Pengujian Penggabungan

Tujuan :

Mengetahui hasil pergerakan yang dilakukan oleh robot

manipulator sesuai dengan posisi yang diberikan.

Mengetahui repeatability dari robot manipulator

Terdiri atas :

Pengujian repeatability

(38)

Pengujian Penggabungan

Pengujian repeatability (1)

Repeatability adalah kemampuan robot untuk kembali pada posisi yang

sama.

Selisih error didapat dengan menghitung selisih antara error posisi dengan error posisi pertama.

Pada pengujian ini buah catur digerakkan dari d4 ke e4 sebanyak 10 kali

lalu dihitung error posisinya menggunakan algoritma template matching pada Open CV.

(39)

Tabel Hasil pengujian repeatability 4 50 10 9 45 9 1 53 8 7 47 7 5 49 6 4 58 5 0 54 4 4 58 3 1 55 2 54 1 Selisih error (pixel) error posisi (pixel) Pengujian

Nilai rata-rata selisih error

adalah 4 pixel.

Berdasarkan hasil kalibrasi

pixel didapatkan panjang

pixel sebesar 1/9 pixel/cm sehingga selisih error rata-rata adalah 0.4444 cm.

Nilai repeatibility untuk

robot manipulator ini

adalah 0.4444cm.

Pengujian Penggabungan

(40)

Pengujian Penggabungan

Pengujian error posisi (1)

Pengujian hasil pergerakan juga dilakukan dengan menghitung error posisi rata-rata dari 10 pergerakan yang berbeda.

Error posisi juga dihitung dengan menggunakan algoritma template matching pada Open CV.

(41)

Pengujian Penggabungan

Pengujian error posisi (2) Tabel. Hasil pengujian error posisi

11 c1-d1 11 10 c2-d2 10 7 c3-d3 9 9 c5-d5 8 8 c4-d4 7 5 d3-e3 6 7 d2-e2 5 9 d1-e1 4 11 d6-e6 3 10 d5-e5 2 8 d4-e4 1 error posisi (pixel) Pergerakan Pengujian

Didapatkan nilai error posisi rata-rata sebesar 9.5 pixel atau sebesar 1.06 cm.

(42)
(43)

Kesimpulan yang diperoleh dalam Tugas Akhir ini

adalah:

Dalam prosedur Inisialisasi chessboard parameter

brightness webcam yang optimal berada pada nilai 4.

Filter warna HSV dengan metode thresholding cukup baik

digunakan dalam pendeteksian warna merah dan biru.

Rata – rata keberhasilan algoritma path planner sekitar

99,6%.

Error posisi rata – rata hasil pergerakan sebesar 1.06 cm. Nilai repeatibility untuk robot manipulator ini adalah

0.4444cm.

(44)

SEKIAN

Gambar

Diagram Blok Sistem
Diagram Alir Program  Pada Komputer
Tabel .Pengujian Pengiriman Data Serial
Tabel 3. Nilai optimal variabel pada proses
+2

Referensi

Dokumen terkait

Proyectar dibujando es un movimiento que se ejerce desde la acción del dibujar, no como vehículo que ayuda a desplazarse dentro del proyecto, sino como acción que aloja en si

Kebermaknan kerja pada karyawan memiliki peranan penting dalam meningkatkan kreativitas kinerja pada karyawan, saat ini perusahaan tengah menghadapi tantangan inovasi yang

Sebagaimana yang telah dijelaskan sebelumnya bahwa lelang akan dilaksanakan apabila sampai batas waktu yang telah ditetapkan penerima gadai (rahin) masih tidak dapat

Untuk mengetahui upaya yang dilakukan dalam menanggulangi kendala dalam pemberian ganti rugi kepada masyarakat dari perusahaan pertambangan pasir di Kecamatan

mengembangkan kreatifitas, menambah wawasan pengetahuan dan pengalaman yang kemungkinan besar tidak mereka dapatkan dari kegiatan intrakurikuler, sehingga dapat

Secara strtigrafi dari endapan aluvium dan gambut terletak diatas Formasi Tufa Toba Di daerah penyelidikan endapan gambut dapat dikualifikasikan sebagai &#34;topogenus peat&#34;

Rerata penurunan tekanan darah sistolik dan dias- tolik setelah meditasi berbeda secara signifikan antara kelompok yang melakukan meditasi dengan yang tidak Hasil penelitian

Perpindahan panas atau heat transfer adalah ilmu yang mempelajari perpindahan energi panas atau kalor sebagai akibat dari adanya perbedaan temperatur diantara dua medium,