• 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!
7
0
0

Teks penuh

(1)

RANCANG BANGUN ROBOT PERMAINAN CATUR BERBASIS KAMERA

Ian Agung Prakoso - 2204100060

Jurusan Teknik Elektro – FTI, Institut Teknologi Sepuluh Nopember Kampus ITS, Surabaya – 60111

Abstrak - Dalam dunia mekatronika, teknologi robot merupakan salah satu teknologi yang dikembangkan dengan pesat dewasa ini, salah satu contohnya adalah robot manipulator. Robot manipulator merupakan robot yang menyerupai lengan dan memiliki jumlah derajat kebebasan tertentu. Dengan pengaturan robot manipulator secara otomatis maka robot manipulator dibuat tidak hanya untuk kebutuhan industri tetapi juga untuk kebutuhan hiburan seperti robot untuk bermain catur.

Pada tugas akhir ini kami membuat robot permainan catur yang akan menunjang sistem permainan catur secara keseluruhan. Robot permainan catur ini dapat memindahkan buah catur sesuai posisi yang diberikan pemain. Perintah gerak buah catur yang diterima akan dipastikan bahwa posisi kotak adalah kosong melalui blok computer vision dan diteruskan ke path planner, kemudian lengan robot akan mengambil dan menempatkan buah catur yang diinginkan pada posisi yang diinginkan. Robot ini menggunakan lengan robot 3 DOF dan gripper yang mengambil dan menempatkan buah catur. Visualisasi kamera digunakan untuk menginterpretasikan koordinat kotak hitam putih pada papan catur dan mendeteksi adanya buah catur pada kotak hitam putih.

Pada tugas akhir ini, sistem pemantauan berdasarkan estimasi koordinat pandang mata memiliki keakuratan anatara 95% - 99% dengan jarak antara sensor citra dengan layar monitor adalah 26 – 35 cm.

Kata kunci: computer vision, path planner, manipulator 1. PENDAHULUAN

Robot manipulator merupakan robot yang menyerupai lengan dan memiliki jumlah derajat kebebasan tertentu. Manipulator merupakan bagian mekanik yang dapat difungsikan untuk memindah, mengangkat dan memanipulasi benda kerja. Konfigurasi manipulator dapat dibagi menjadi 4 kelompok, yaitu: polar, silindris, cartesian, dan sendi lengan. Konfigurasi sendi-lengan dapat dimodifikasi sedemikian rupa sehingga pengaruh dari gravitasi dapat diabaikan dalam analisa dinamiknya. Bentuk modifikasi tersebut dikenal sebagai manipulator planar[1] atau SCARA. 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 [2]. Chesster adalah sebuah tangible interface [3] untuk bermain catur dengan melawan sebuah komputer atau seseorang lawan yang secara geografi terpisah jauh dan terhubung melalui internet.

Pada Tugas Akhir ini dibuat sebuah robot yang diaplikasikan di bidang hiburan yaitu robot permainan catur. Robot permainan catur ini menggunakan konfigurasi manipulator SCARA 3 DOF dengan 3 buah motor stepper sebagai penggeraknya dan solenoide untuk menggerakkan end-effector . Tujuan yang ingin dicapai dalam tugas akhir ini adalah membuat robot manipulator untuk untuk menggerakkan buah catur dan sistem image processing untuk

mengetahui keberadaan buah catur pada papan catur yang sebenarnya. Robot permainan catur ini merupakan bagian penunjang pada sistem permainan catur secara keseluruhan.

2. TEORI PENUNJANG 2.1. Konfigurasi Robot

Konfigurasi robot merupakan bentuk geometri dari manipulator robot.[4] Secara umum terdapat lima konfigurasi robot yang digunakan di industri dapat dilihat pada gambar 7, yaitu : Cartesian Robot, Cylindrical Robot, Spherical Robot, Articulated Robot, SCARA (Selectively Compliant Assembly Robot Arm).[4]

Konfigurasi cartesian terdiri dari tiga sumbu linear yang saling tegak lurus, yang disingkat dengan PPP. Sedangkan konfigurasi cylindrical terdiri dari satu revolute joint dan dua linear joint yang disingkat dengan RPP. Konfigurasi Spherical atau polar terdiri dari dua revolute joint dan satu linear joint (RRP). Konfigurasi articulated (anthropomorphic) terdiri dari tiga revolute joint (RRR). Konfigurasi SCARA (Selectively Assembly Robot Arm) terdiri dari 2 revolute joint dan satu linear joint (RRP).[4]

(a) (b) (c)

(d) (d)

Gambar 2. (a). Cartesian Robot, (b). Cylindrical Robot, (c). Spherical Robot, (d). Articulated Robot, (e). SCARA

2.2. Analisa Kinematik Robot Tangan 2DOF

Forward Kinematic adalah analisa kinematik untuk mendapatkan koordinat posisi (x,y,z) jika diketahui sudut dari tiap joint. Inverse Kinematic adalah analisa kinematik untuk mendapatkan besar sudut dari masing – masing joint jika kita mempunyai data koordinat posisi (x,y,z).

Kedudukan ujung lengan dinyatakan sebagai P(x,y) dimana,

(

1 2

)

2 1 1

cos

θ

+

cos

θ

+

θ

=

l

l

x

,

y

=

l

1

sin

θ

1

+

l

2

sin

(

θ

1

+

θ

2

)

Persamaan di atas dapat diperoleh dengan menggunakan analisa kinematik maju. Dan dengan menggunakan analisis invers kinematik maka kita akan mendapatkan,

      + = − 2 1 2 2 2 1 2 2 1 2 2 cos l l l l y x

θ

,

(2)

dan

(

)

(

1 2 2

)

2 2 2 2 2 2 1 1 1

sin

cos

sin

.

cos

tan

θ

θ

θ

θ

θ

yl

l

l

x

l

x

l

l

y

+

+

+

=

− 1 θ 2 θ β α

Gambar 3. Robot Tangan 2 Sendi (2DOF)

2.3. Skala Warna HSV

Skala warna HSV merupakan bentuk lain dalam merepresentasikan data pixel dari suatu image yang berwarna selain skala warna RGB. HSV merupakan singkatan dari Hue Saturation Value. Hue adalah nilai yang merepresentasikan warna mulai dari merah, kuning, hijau, cyan, biru, magenta dan kembali ke merah. Kisaran nilai Hue antara 0-360. Saturation adalah nilai yang merepresentasikan derajat keabuan dari suatu warna, mulai dari unsaturated sampai fully saturated. Semakin besar prosentase nilai saturation maka semakin besar derajat keabu-abuannya. Kisaran nilai saturation antara 0% - 100%. Value menyatakan tingkat kecerahan suatu warna. Kisaran nilai value antara 0%-100%. Semakin besar nilai value maka semakin terang warna pixel tersebut.

Gambar 4. Gambar cone yang merepresentasikan nilai skala warna

HSV[25]

Berikut ini adalah penghitungan nilai H (Hue), S (Saturation), V (Value) pada Open CV.

(RGB) V=max , , ( ) ( ) V B G R V

S= −min , , untuk V≠0, selain itu S=0

( ) ( ) ( )      = →  − + = →  − + = →  − = B V S G R G V S R B R V S B G H / 60 * 240 / 60 * 180 / 60 * jika H<0 maka H=H+360

Dengan skala output 0≤V≤1, 0≤S≤1, 0≤H≤360. Kemudian nilai tersebut dikonversikan pada nilai HSV yang disediakan oleh Open CV sesuai tipe data.

Untuk citra 8-bit:

V = V*255, S = S*255, H = H/2 (untuk mencukupi nilai 0…255)

Gambar 5. Diagram blok sistem.

3. PERENCANAAN DAN PEMBUATAN ALAT 3.1. Perancangan Sistem

Robot permainan catur ini adalah suatu sistem penunjang untuk sistem permaianan catur secara keseluruhan. Kita mengasumsikan bahwa player A bermain dengan buah catur putih atau white pieces. Robot permainan catur bekerja dengan menerima input gerakan white pieces dari player A yang berupa posisi awal, posisi akhir, jenis buah catur dan juga menerima inputan image dari kamera kemudian inputan posisi tersebut akan diolah pada blok computer vision menggunakan algoritma image processing sehingga dinyatakan apakah gerakan ini valid dan diketahui jalur perpindahan white pieces. Jalur perpindahan tersebut diolah oleh robot interface menjadi serangkaian data dan perintah yang akan dikirimkan ke robot manipulator melalui komunikasi serial standar RS-232. Robot manipulator kemudian memindahkan white pieces ke posisi akhir yang diinginkan.

3.2. Perancangan Perangkat Keras

Perencanaan perangkat keras meliputi perancangan sistem mekanik dan sistem elektrik pada robot permainan catur. Namun secara umum robot ini dirancang dengan spesifikasi :

a. Konfigurasi robot menggunakan konfigurasi SCARA 3DOF. b. Robot penggerak kamera pemantau ini menggunakan open loop system untuk sistem kontrol geraknya. Kemudian digunakan motor stepper sebagai penggerak lengan robot dan solenoid sebagai penggerak gripper.

c. Kamera webcam sebagai sensor visual.

d. Robot ini menggunakan mikrokonroler ATMega 32. e. Robot ini menggunakan komunikasi serial standar RS232. f. Driver motor stepper bertipe bipolar.

g. Rangkaian Limit Switch untuk mereset dan inisialisasi robot h. Buah catur hitam didefinisikan sebagai buah catur berwarna merah dan buah catur putih didefinisikan sebagai buah catur berwarna biru.

Driver motor stepper yang digunakan bertipe bipolar. Prinsip dasar dari driver bipolar tersebut adalah dengan menggunakan rangkaian H-Bridge sehingga untuk mengendalikan 1 motor stepper dengan 2 kumparan maka driver motor stepper bipolar ini membutuhkan 2 rangkaian H-Bridge. Rangkaian tersebut merupakan rangkaian switching arus yang mengaliri lilitan pada motor stepper. Urutan pemberian data pada motor stepper dapat mengontrol arah putaran motor stepper. Penambahan kecepatan pada motor stepper dengan meningkatkan frekuensi pemberian data pada rangkaian switching arus.

(3)

Gambar 6. Driver Stepper bipolar

3.3. Perancangan Perangkat Lunak 3.3.1 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”. Perspective Tranform adalah geometric transform yang menggunakan matriks 3x3 dan dapat menghasilkan citra baru dengan bentuk yang melebar,menyempit. Perspective Transform dapat mengubah bentuk rectangle menjadi trapezoid . Dalam hal tampilan chessboard dalam citra yang diakuisisi oleh Web Camera maka dimungkinkan tampilan chessboard tidak terlihat persegi, maka dilakukan Perspective Transform untuk mengubah tampilan chessboard meyerupai kotak persegi lagi.

3.3.2 Inisialisasi chessboard

Inisialisasi chessboard diperlukan untuk medapatkan koordinat titik tengah dari tiap kotak hitam-putih dari papan catur. Petak – petak chessboard pada deretan vertikal disebut ”lajur” dan ditandai dengan abjad kecil: a;b;c;d;e;f;g;h, dimulai dari sudut kiri bawah. Sedangkan deretan petak horizontal (mendatar) diberi tanda : 1;2;3;4;5;6;7;8, dimulai juga dari sudut kiri bawah sesuai dengan gambar sebelumnya. Penomoran baris mendatar dimulai dari pihak putih, jadi dalam penulisan buah catur, putih terletak di bawah dan hitam terletak di atas.

Gambar 7. Petak – petak pada chessboard

Dalam gambar 3.17 juga terlihat koordinat kartesian yang menyatakan koordinat berdasarkan pixel dari citra yang mempunyai 2 sumbu. Koordinat tersebut dinamakan koordinat pixel, sumbu-x dinamakan sumbu Xp dan sumbu-y dinamakan sumbu Yp.

Koordinat tersebut dimulai dari titik (0,0) yang berada di sebelah kiri bawah citra.

Gambar 8. Sebuah corner yang terletak di perpotongan kotak hitam-putih

Setelah citra ”dst” didapatkan melalui proses akuisi, maka akan dideteksi corner yang terdapat pada chessboard di dalam citra ”dst”. Corner yang dihasilkan nantinya berjumlah 49. Setiap corner disini didefinisikan sebagai titik tengah dalam setiap 4 kotak dalam chessboard. Gambar 3.18 menunjukkan sebuah corner yang ditandai dengan lingkaran hijau. Deteksi corner menggunakan fungsi Open CV yaitu int cvFindChessboardCorners() dan void cvFindCornerSubPix().

3.3.3 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 terhadap 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 nilai counter.

Algoritma deteksi buah catur ini ditulis menjadi suatu fungsi dengan nilai keluaran bertipe integer. Jika nilai keluaran bernilai ”0” maka petak tersebut kosong. Jika nilai keluaran bernilai ”1” maka petak berisi buah catur hitam (buah catur warna merah). Jika nilai keluaran bernilai ”2” maka petak berisi buah catur putih (buah catur warna biru).

3.3.4 Inverse Kinematik

Pada Tugas Akhir ini terdapat 2 buah koordinat kartesian yaitu: koordinat kartesian robot dan koordinat kartesian pixel. Dalam proses gerak robot, kordinat posisi akhir (dalam koordinat kartesian robot ) harus dirubah untuk mendapatkan data pulsa firing sequence setiap motor stepper penggerak. Koordinat posisi akhir dalam koordinat katesian robot tersebut didapatkan dari kalibrasi pixel terhadap koordinat posisi dalam koordinat kartesian pixel chessboard.

Inverse Kinematik menggunakan rumus trigonometri pada lengan robot 2 DOF untuk mendapatkan sudut putar dari setiap DOF. Sudut putar setiap DOF itulah yang nantinya akan dirubah menjadi data – data pulsa firing sequence setiap motor stepper.

Gambar 9. Koordinat Pixel (dimulai dari pojok kiri bawah) dan koordinat

(4)

Gambar 10. Pembagian port-port mikrokontroler.

3.3.5 Path Planner

Pergerakan buah catur menggunakan metode Continuous Path dengan jalur pergerakan sesuai pergerakan buah catur pada umumnya. Pergerakan untuk memukul (menangkap) buah catur lawan yang berada pada jalur yang dilaluinya membutuhkan bantuan dari luar untuk memindahkan buah catur lawan tersebut. 3.3.1. Program Mikrokontroler

Perancangan program mikrokontroler ini meliputi pengaturan input ke tiga driver motor stepper dan driver solenoid agar robot bergerak ke posisi yang diinginkan sesuai pembacaan data serial yang dikirim dari komputer. Pembagian port-port pada mikrokontroler ditunjukan pada gambar 10. Program pada mikrokontroller melakukan 2 fungsi utama yaitu mengkonversi paket data serial menjadi array data yang menunjukkan jenis motor stepper yang berputar, arah putar motor stepper, kecepatan putar stepper dan keadaan ON/OFF solenoide. Fungsi utama kedua adalah untuk memberikan pulsa atau firing sequence ke driver stepper dan driver solenoid.

4. PENGUJIAN ALAT

4.1.1 Penghitungan Resolusi Gerak Robot untuk Gerakan Translasi pada DOF-1

Penghitungan resolusi gerak robot untuk gerakan translasi pada DOF-1 merupakan perhitungan panjang kenaikan-penurunan lengan robot dari dasar base untuk setiap step motor stepper 1 (gerak translasi). Misalkan (xi,yi) adalah data hasil pengukuran dimana xi merupakan jumlah step motor stepper sedangkan yi merupakan panjang kenaikan atau penurunan lengan robot. Hubungan antara xi dan yi dihampiri dengan sebuah garis lurus yang dibuat dengan metode Regresi linier sedemikian sehingga errornya sekecil mungkin dengan titik – titik data.

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

4.1.2 Penghitungan Resolusi Gerak Robot untuk Gerakan Rotasi pada DOF-2

Penghitungan resolusi gerak robot untuk gerakan rotasi pada DOF-2 merupakan perhitungan sudut putar lengan robot pada

DOF-2 untuk setiap step motor stepper 2 (gerak rotasi). Misalkan (xi,yi) adalah data hasil pengukuran dimana xi merupakan jumlah step motor stepper sedangkan yi merupakan sudut putar DOF-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

4.1.3 Penghitungan Resolusi Gerak Robot untuk Gerakan Rotasi pada DOF-3

Penghitungan resolusi gerak robot untuk gerakan rotasi pada 3 merupakan perhitungan sudut putar lengan robot pada DOF-3 untuk setiap step motor stepper DOF-3 (gerak rotasi). Misalkan (xi,yi) adalah data hasil pengukuran dimana xi merupakan jumlah step motor stepper sedangkan yi merupakan sudut putar DOF-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

4.1.4 Kalibrasi Pixel dengan Area Kerja Robot

Area kerja robot direpresentasikan dalam koordinat kartesian robot yang mempunyai titik asal (0,0) berada pada sebelah kiri atas pada gambar 9. Koordinat kartesian robot mempunyai sumbu-Y (Yr) dan sumbu-X (Xr). Penentuan koordinat dari tiap petak tidak bisa secara langsung dikarenakan petak-petak catur pada image chessboard berada dalam koordinat pixel chessboard sehingga perlu dilakukan pengubahan (kalibrasi) dari koordinat pixel chessboard menjadi koordinat kartesian robot (dalam satuan cm). Koordinat pixel chessboard dimulai dari sebelah kiri bawah pada gambar 9 mempunyai sumbu-X(Xp) dan sumbu-Y(Yp) (dalam satuan pixel).

Panjang 1 pixel (cm) dapat ditentukan dengan persamaan,

) 8 1 ( ) 8 1 ( 1 a a Tengah JarakTitik a a Tengah JarakTitik pixel cm pixel panjang − − =       (cm/pixel)

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

(

)

(

c y panjang pixel

)

a xr= − p * 1 +

(

x

panjang

pixel

)

b

y

r

=

p

*

1

+

Setelah dilakukan pengukuran maka didapatkan, a = 20.2 cm, b = 0.3 cm, c = 473.9331 pixel dan panjang 1 pixel = 1/8.93407 cm/pixel1/9 cm/pixel. 4.2.1 Pengujian Pengiriman Data Serial

Pengujian pengiriman data serial bertujuan untuk mengetahui keberhasilan pengiriman data serial dari PC ke mikrokontroller. Dalam 1 paket data serial mengandung karakter – karakter yang menunjukkan nilai counter dan nilai delay untuk setiap motor

(5)

stepper. Karakter yang menunjukkan kedua nilai tersebut perlu dirubah menjadi data bertipa integer. Pengujian pengiriman data serial ini tidak hanya menguji proses pengiriman saja tetapi keberhasilan pengubahan karakter menjadi data bertipe integer. Pada mikrokontroller nilai yang ditunjukkan oleh karakter tersebut ditambah 1 sehingga ketika dikirim kembali ke PC, nilai tersebut telah bertambah 1.

Tabel 1. Pengujian Pengiriman Data Serial

Data Kirim Data Terima Kategori

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

Dari tabel 4.7 terlihat bahwa pengujian pengiriman data serial berjalan berhasil semua.

4.3.1 Pengujian Inisialisasi Chessboard

Pengujian Inisialisasi ChessBoard bertujuan untuk mendapatkan kondisi yang optimal untuk deteksi corner chessboard terutama dari sisi pengaturan pencahayaan. Selain itu, pengujian ini juga bertujuan untuk mendapatkan parameter perspective transform agar tampilan chessboard pada image yang akan diolah mendekati bentuk persegi.

(a) (b)

Gambar 11. (a) Image sebelum proses Perspective Transform. (b) Image setelah proses Prespective Transform. Pengujian ini dilakukan dengan melewatkan image asli hasil akuisisi citra dari webcam ke proses perspective transform kemudian melalui proses deteksi corner chessboard. Data corner dari chessboard kemudian dioleh sedemikian rupa untuk menghasilkan titik tengah dari tiap petak. Hasil dari proses perspective transform ditunjukkan pada gambar 4.2. Pada pengujian ini didapatkan nilai optimal variabel perspective transform agar tampilan chessboard menyerupai persegi yang ditunjukkan pada tabel 4.9.

Tabel 3. Nilai optimal variabel pada proses perspective transform

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

Nilai parameter brightness webcam yang optimal adalah 5 Hasil pendeteksian corner dan titik tengah ditunjukkan pada gambar 4.3.

(a) (b)

Gambar 12. (a) Hasil Deteksi corner dari chessboard. (b)Hasil Deteksi titik tengah kotak hitam-putih chessboard Setelah data-data corner chessboard didapatkan maka data tersebut diolah sedemikian rupa untuk memperhitungkan letak titik-tengah dari tiap petak. Data titik titik-tengah tiap petak yang didapatkan hanyalah sebagai representasi dalam koordinat pixel sehingga tidak dapat digunakan dalam proses inverse kinematik. Oleh karena itu, untuk mendapatkan titik tengah tiap petak dalam koordinat kartesian robot maka titik tengah tersebut diatas harus dirubah melalui kalibrasi pixel. Data – data titik tengah tiap petak dalam satuan pixel ditunjukkan pada table 4.

Tabel 4. Titik tengah (x;y) tiap petak dalam pixel

Kolom a b c d 1 159;46 212;45 266;45 319;46 2 159;98 212;98 265;98 319;98 3 159;152 212;151 265;151 319;151 4 159;204 212;204 265;204 319;204 5 159;257 212;257 265;257 319;257 6 159;310 212;310 265;310 319;310 7 160;362 212;362 266;362 319;362 B ar is 8 160;414 212;414 266;414 319;414 Kolom e f g h 1 373;45 426;46 479;46 533;46 2 373;98 426;98 480;98 534;98 3 373;151 426;151 480;151 534;151 4 372;204 426;204 479;204 533;204 5 372;257 426;257 479;257 533;257 6 372;310 426;310 479;310 533;310 7 372;362 425;362 478;362 532;362 B ar is 8 372;414 425;414 478;414 532;414

4.3.2 Pengujian Deteksi Buah Catur

Pengujian deteksi buah catur bertujuan untuk 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 penentuan kategori isi tiap petak. Pengujian ini dilakukan pada ROI(Region of interest) dari petak yang ingin dideteksi. Pengujian ini dilakukan dengan cara mengubah nilai threshold data hue dan saturation sampai didapatkan kondisi optimal untuk pendeteksian warna merah dan warna biru tiap pixel. Setelah itu dilakukan pengujian lanjutan dengan mengubah nilai threshold counter merah dan nilai threshold counter biru untuk mendapatkan kondisi optimal dalam penentuan isi dari tiap petak. Hasil pendeteksian isi tiap petak dibagi menjadi 3 kategori: petak kosong, petak berisi buah catur hitam (warna merah), petak berisi buah catur putih (warna biru).

Hasil Deteksi warna pada petak hitam dan petak putih ditunjukkan pada gambar 13

(6)

(a) (b)

Gambar 13 . Deteksi buah catur pada petak hitam (a) dan petak putih (b) Tabel 5. Range Nilai Hue, Saturation,Value

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

Tabel 6. Range counter untuk warna merah dan warna biru

Warna Counter

Merah Counter merah > 190

Biru Counter biru > 280

4.3.2 Pengujian Path Planner

Pengujian Path Planner bertujuan untuk mengetahui seberapa akurat algoritma untuk menghasilkan path. Path merupakan titik tengah petak yang merupakan jalur pergerakan dari posisi awal ke posisi akhir sesuai buah catur yang digerakkan. Pengujian ini dilakukan dengan memberikan halangan pada jalur pergerakan buah catur. Pada pengujian ini didapatkan data keberhasilan algoritma path planner yang ditunjukkan pada table 4.15

Tabel 7. Hasil Pengujian Path Planner

Buah Catur Posisi Posisi Prosentase

Type Awal Akhir

Pengujian a3 20 100 b3 20 100 Pawn b2 c3 20 95 d5 20 100 c4 20 100 d3 20 100 King d4 e4 20 100 e8 20 100 a5 20 100 h5 20 100 Rock e5 e1 20 100 h7 20 100 a8 20 100 c2 20 100 Bishop e4 h1 20 95 e7 20 100 f6 20 100 f4 20 100 e3 20 100 c3 20 100 b4 20 100 b6 20 100 Knight d5 c7 20 100

Dari table pengujian di atas didapatkan rata – rata keberhasilan algoritma path planner sekitar 99,6%.

Hasil Path Planner untuk gerak knight dari d4 ke e6 ditunjukkan pada gambar 14.

(a) (b)

(c) (d)

Gambar 14. (a) Peluang, (b) path bawah1(c) path bawah2 (d) path atas

4.3.2 Pengujian Gabungan

Pengujian gabungan bertujuan untuk mengetahui hasil pergerakan yang dilakukan oleh robot manipulator sesuai dengan posisi yang diberikan serta mengetahui repeatability dari robot manipulator. Repeatability adalah kemampuan robot untuk kembali pada posisi yang sama.

Pengujian repeability dilakukan dengan menghitung selisih error posisi buah catur hasil pergerakan pada pergerakan 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.

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.

Pada pengujian pertama pergerakan manipulator pick and place, buah catur tidak berhasil semua dipindahkan sehingga diperlukan kompensasi nilai counter pulsa yang diberikan ke mikrokontroller sesuai dengan petak pada posisi awal dan petak pada posisi akhir. Untuk proses pick didapatkan nilai kompensasi untuk counter stepper2 sebesar -1 dan nilai kompensasi untuk counter stepper3 sebesar +12.

Tabel 8. Hasil pengujian repeatability

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

Nilai rata-rata selisih error adalah 4 pixel. Berdasarkan hasil kalibrasi pixel didapatkan panjang pixel sebesar 1/9 pixel/cm

(7)

sehingga selisih error rata-rata adalah 0.4444 cm. Nilai repeatibility untuk robot manipulator ini adalah 0.4444cm.

Tabel 9. Hasil pengujian error posisi

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

Pada pengujian error posisi diperlukan nilai kompensasi untuk counter stepper2 pada proses place 1 petak ke kanan sebesar -3 dan nilai kompensasi counter stepper3 pada proses place 1 petak ke kanan sebesar +10. Dari hasil tabel 4.16 didapatkan nilai error posisi rata-rata sebesar 9.5 pixel atau sebesar 1.06 cm.

Dari pengamatan langsung pada desain mekanik pada saat pergerakan, didapati bahwa faktor backlash dan spilling sangatlah besar pengaruhnya dalam mengurangi ketepatan pergerakan. Desain mekanik pada Tugas Akhir ini sangat terpengaruh terhadap faktor spilling dan backlash sehingga pasti diperlukan kompensasi untuk setiap pergerakan

Nilai repeatability dan nilai rata-rata error posisi dapat diperbaiki dengan cara menambahkan sensor posisi seperti potensiometer pada desain mekanik.

5. PENUTUP

Dari seluruh rangkaian kegiatan perancangan sistem dan pengujian alat penulis memperoleh kesimpulan dan memberikan beberapa saran sebagai berikut.

5.1 Kesimpulan

Kesimpulan yang diperoleh dalam Tugas Akhir ini adalah:

a.Dalam prosedur Inisialisasi chessboard parameter brightness webcam yang optimal berada pada nilai 4.

b.Filter warna HSV dengan metode thresholding cukup baik digunakan dalam pendeteksian warna merah dan biru.

c.Rata – rata keberhasilan algoritma path planner sekitar 99,6%. d.Error posisi rata – rata hasil pergerakan sebesar 1.06 cm. e.Nilai repeatibility untuk robot manipulator ini adalah 0.4444cm. 5.2 Saran

Beberapa saran yang dapat penulis berikan untuk pengembangan Tugas Akhir ini adalah:

a.Desain mekanik diperbaiki untuk mengurangi error gerakan robot akibat backlash dan friction.

b.Kontrol gerakan robot sebaiknya menggunakan sistem closed loop dengan menambahkan sensor posisi seperti potensiometer pada desain mekanik.

DAFTAR PUSTAKA [1] Pitowarno, Endra, 2006, Robotika Desain,

Kontrol dan Kecerdasan Buatan, Yogyakarta, ANDI. [2] Meppelink, David J. dan Martin, Fred., 2003.

A Tangible Interface to Computerized Chess. University of Massachusetts Lowell.

<URL:http: //teaching.cs.uml.edu/techrpts/Papers/ MeppelinkMartinChesster.pdf >

[3] Ishii, H., Ullmer,B., Tangible Bits:Towards Seamless Interfaces between People, Bits and Atoms, MIT Media Laboratory. <URL:http:// web.media.mit.edu/ ~anjchang/ ti01/ ishii-chi97-tangbits.pdf>

[4] Dorf, Richard C. 2000. The Electrical Engineering Handbook, CRC Press LLC.

[5] http://www.mathworks.com

BIODATA PENULIS

Ian Agung Prakoso dilahirkan di Surabaya 15 September 1986. Penulis menyelesaikan pendidikan dasar di SDN Kepuh Kiriman I Waru kemudian menyelesaikan pendidikan menengah di SLTPN I Waru dan SMAN 5 Surabaya. Pada tahun 2004, penulis memulai pendidikan di jurusan Teknik Elektro, FTI, Institut Teknologi Sepuluh Nopember (ITS) Surabaya. Selama kuliah penulis aktif dalan organisasi Himpunan Mahasiswa Teknik Elektro ITS dan aktif sebagai asisten laboratorium Elektronika Dasar. Email : [email protected] dan [email protected]

Gambar

Gambar 3. Robot Tangan 2 Sendi (2DOF)  2.3. Skala Warna HSV
Gambar 6. Driver Stepper bipolar
Gambar 10. Pembagian port-port mikrokontroler.
Tabel 1. Pengujian Pengiriman Data Serial  Data Kirim  Data Terima  Kategori
+3

Referensi

Dokumen terkait

Pada bagian yang berhubungan langsung dengan cincin belah, stator dilengkapi dengan sikat karbon ( brush ) yang berfungsi untuk menghubungkan arus listrik dari

Dimana robot ini akan berjalan menuju koordinat yang ditentukan apabila telah menerima inputan dari port A, port C, dan Port D, dan akan berjalan sesuai dengan perintah yang telah

Tidak tercapainya tingkat kebersihan sebanyak 100% oleh robot dikarenakan tidak terjangkaunya debu atau sampah yang berada di tepi dinding sedangkan robot vacuum

Untuk penentuan nama suatu lokasi daerah dengan cara pemetaan yaitu dengan membaca data koordinat yang diterima dari modul GPS kemudian data tersebut dibandingkan

Telah dilakukan modifikasi sistem penangkap gambar kedap cahaya yang dapat menampilkan langsung citra radiograf digital pada layar monitor PC dan menyimpan file radiograf

sehingga tidak perlu datang melihat secara langsung aquaponic karna sistem ini dapat memantau suhu, kelembaban dan mengukur ketinggian air pada kolam melalui smartphone

Sistem dirancang dapat menghubungi pemilik rumah yang kebetulan berada diluar rumah, rangkaian switch line yang digunakan untuk menghubungkan saluran telepon dengan

Telah dilakukan modifikasi sistem penangkap gambar kedap cahaya yang dapat menampilkan langsung citra radiograf digital pada layar monitor PC dan menyimpan file