Bab III. Implementasi Robot Kendali Jarak Jauh
III.1. Disain Global
Diagram blok dari sistem robot kendali jarak jauh yang dikembangkan dalam tugas akhir ini diperlihatkan dalam Gambar III.1 berikut.
Gambar III.1 Diagram blok sistem robot kendali jarak jauh.
Mikrokontroller pada robot memberi sinyal pada driver motor berdasarkan data dari penerima RF (RF receiver) dan kondisi sensor micro switch. Gambar yang ditangkap oleh kamera robot dikirim ke pengontrol pusat (komputer beserta radio TV receiver dan pengirim/transmitter RF). Komputer, baik secara otomatis maupun perintah dari operator sesuai interpretasi gambar yang diterima, mengirim perintah gerak ke pengirim RF melalui port parallel yang akan diterima oleh penerima RF.
III.2. Rangka Robot
Rangka robot menggunakan enam roda dengan tipe kemudi differential drive, diperlihatkan dalam Gambar III.2.
(a) (b) gap Roda utama Roda penopang Parallel port Personal Computer RF Transmitter RF Receiver Micro-controller Driver motor Radio TV Receiver Wireless Camera Sensor Micro SW
Roda penggerak utama ialah dua roda besar yang berada di tengah, sedangkan empat roda kecil lain di depan dan di belakang digunakan untuk penopang saja (free wheel, tidak bermotor). Permukaan bawah roda utama diturunkan sedikit dari permukaan bawah roda penopang untuk memastikan roda utama menghasilkan traksi4 optimal, yakni agar roda utama menopang sebagian besar berat robot, dan untuk memperbesar sudut elevasi yang bisa didaki oleh robot. Sudut elevasi ini sama dengan sudut garis singgung roda utama dengan roda penopang yang terangkat, seperti pada Gambar III.3 berikut.
θ
Gambar III.3 Sudut garis singgung antara roda utama dengan roda penopang yang terangkat sama dengan sudut elevasi yang dapat didaki robot.
III.3. Pengontrol Pusat
Pengontrol pusat dapat bervariasi tergantung dari fungsi yang akan dikerjakan, apakah mode manual atau otomatis. Walaupun begitu, konfigurasi hardwarenya tetap, sebagaimana ditunjukkan dalam Gambar III.4 berikut.
CPU
(processing) Monitor
Port parallel Transmitter Radio TV Receiver TV Tuner
Card
Gambar III.4 Konfigurasi hardware pengontrol pusat.
Pada sub bab ini hanya akan dijelaskan fungsi pengontrol pusat sebagai pengontrol manual, pengontrolan otomatis akan dijelaskan pada Bab III.7 Sistem Kamera dan Contoh
4 Traksi ialah jumlah dorongan maksimum yang dapat diberikan pada roda sebelum mengalami slip. Traksi didefinisikan sebagai perkalian antara berat yang menekan roda (umumnya 25% dari berat kendaraan) dengan koefisien gesekan, yang bergantung pada bahan ban dan permukaan jalan [16].
Aplikasi Robot Vision Sederhana. Gambar III.5 berikut memperlihatkan antarmuka
software pengontrol manual.
(a) (b)
Gambar III.5 Tampilan antarmuka kendali manual (a) dan tampilan dari kamera robot (b).
Pengaksesan port parallel menggunakan dynamic link library inpout32.dll yang mengandung fungsi inp32 (alamatport) untuk mengambil data dari port parallel dengan alamat alamatport dan fungsi out32 (alamatport, data) untuk mengirim data data ke port parallel dengan alamat alamatport. Kaki-kaki pada parallel port yang digunakan ialah sebagai berikut.
D0 D1 D2 D3 D4 2 3 4 5 6 Data 4-bit TE
Data yang dikirim untuk tiap instruksi ialah sebagai berikut, ditunjukkan dalam Tabel III.1.
Tabel III.1 Data yang dikirim untuk tiap instruksi.
Instruksi Data 4-bit
0x01 Maju 0x02 Kiri1step 0x03 Kanan1step 0x04 Mundur 0x05 Stop motor 0x06 Maju1step 0x07 Kiri 0x08 Kanan 0x09 Mundur1step 0x0A Kamera up 0x0B Kamera down 0x0C Kamera stop
Untuk mengirim satu instruksi, digunakan perintah berikut.
Out Val("&H" + Str(alamatport)), data + 16 Out Val("&H" + Str(alamatport)), data Tunda (100)
Out Val("&H" + Str(alamatport)), data + 16
Perintah tersebut akan memicu pengiriman data karena pin TE diberi logika 1-ke-0. Pengambilan gambar dari kamera melalui TV tuner dijelaskan pada sub sub bab Bab III.7.a Sistem Kamera.
III.4. Sistem Telemetri Radio dan Pengontrol
Skematik global sistem telemetri radio dan pengontrol diperlihatkan pada Gambar III.6 berikut.
Transmitter Receiver
uC AT89S52
Driver motor DC (kamera dan roda) Sensor micro switch Port parallel 4-bit
Valid transmission Transmit
enable
Gambar III.6 Skematik global sistem telemetri dan pengontrol.
a. Sistem Telemetri Radio
Pemancar/transmitter dan penerima/receiver menggunakan modul TLP434 dan RLP434, diperlihatkan dalam Gambar III.7, buatan Laipac Technology Inc, Canada. Modul tersebut menggunakan modulasi ASK (amplitude shift keying) dengan frekuensi carrier 315.0 MHz (314.8 – 315.2 MHz) [12]. Agar penerima tidak mengeksekusi data yang diterima dari gelombang radio lain dengan frekuensi carrier yang sama, maka sinyal yang dikirim pemancar diberi alamat tertentu, yakni sinyal terdiri dari 8 bit alamat dan 4 bit data. Proses pemberian alamat ini dilakukan oleh IC encoder HT12E dan selektor alamat oleh IC
decoder HT12D dari Holtek Semicondictor Inc., Taiwan.
(a) 1 : VCC 2 : GND 3 : RF Output 4 : Code Input (b) 1 : GND 2 : Digital Output 3 : Linear Output 4 : VCC 5 : VCC 6 : GND 7 : GND 8 : Antenna Gambar III.7 Modul pemancar TLP434, (a); dan modul penerima RLP434, (b).
16.1 mm 13.5 mm
1 4
43.5 mm
Kaki-kaki IC encoder HT12E dan decoder HT12D untuk kemasan PDIP diperlihatkan dalam Gambar III.8 dan deskripsi tiap kaki pada kedua IC tersebut diberikan dalam Tabel III.2.
(a) (b)
Gambar III.8 Kaki-kaki IC encoder HT12E, (a); dan kaki-kaki IC decoder HT12D. Tabel III.2 Deskripsi kaki-kaki IC encoder HT12E dan decoder HT12D.
Pin HT12E HT12D Deskripsi
A0 – A7 √ √ Kaki input untuk pengesetan alamat 8-bit.
AD8 – AD11 D8 – D11
√
√
Kaki input untuk data 4-bit. Kaki output untuk data 4-bit.
DOUT √ Output data serial encoder.
TE √ Transmission enable, active low. Kaki DOUT
mengeluarkan data serial ketika kaki TE diberi logika 0 atau transisi 1-ke-0.
DIN √ Kaki input data serial.
VT √ Valid transmission, active high. Berlogika 1 ketika
data dinyatakan valid, dan akan berlogika 0 jika kode alamat tidak sesuai atau tidak ada sinyal yang diterima.
OSC1
OSC2 √ √ √ √ Kaki input osilator. Kaki output osilator.
VSS √ √ Catu daya negatif atau ground.
VDD √ √ Catu daya positif.
Dengan demikian, rangkaian untuk pemancar dan pemancar ialah sebagai berikut, ditunjukkan dalam Gambar III.9.
(a)
(b)
Gambar III.9 Skematik untuk pemancar, (a); dan penerima, (b).
Antenna yang digunakan ialah antenna whip, dibuat dari kabel tunggal dengan panjang ialah ½ panjang gelombang carrier.
8 1 2 6 -1 1 1 3.00 10 m/s panjang antenna 0.476 m 2 2 315 10 s c f λ × = ⋅ = = = ×
Data 4-bit pada pemancar diberikan oleh port parallel dan kaki TE dipicu transisi 1-ke-0 oleh kaki Data 4 port parallel. Sedangkan data 4-bit yang diterima penerima diteruskan ke mikrokontroller untuk diolah. Tiap kali data diterima, dan dinyatakan valid oleh decoder, kaki VT menghasilkan transisi 0-ke-1. Dengan bantuan gerbang NOT yang dibuat dari transistor NPN, transisi ini diubah menjadi 1-ke-0 dan memicu terjadinya interupsi eksternal melalui kaki INT0 pada mikrokontroller AT89S52.
Agar tidak terjadi salah baca, frekuensi osilator encoder perlu disesuaikan dengan frekuensi osilator decoder, yakni fOSC(decoder) 50≈ × fOSC(encoder) [17,18]. Frekuensi osilator ini dipengaruhi oleh hambatan resistor pada OSC1 dan OSC2 dan tegangan catu daya pada antara VCC dan GND, diperlihatkan dalam Gambar III.10. Pada sistem yang dibangun, tegangan catu daya ialah 5V, dengan pertimbangan ketersediaan nilai hambatan resistor di pasaran, maka dipilih hambatan resistor pada encoder sebesar 820 kΩ ± 5% dan
decoder sebesar 43 kΩ ± 5% yang menghasilkan frekuensi osilator encoder sebesar 3.50
kHz dan decoder sebesar 175 kHz. Selain itu, pemilihan nilai frekuensi osilator pada nilai tengah daerah kerja encoder/decoder ialah karena jika frekuensi osilator terlalu kecil maka jangkauan pemancar akan membesar tetapi laju pengiriman data melambat, sedangkan jika frekuensi osilator terlalu besar maka laju pengiriman data makin cepat tetapi jangkauan pemancar akan mengecil [19].
(a)
(b)
Gambar III.10 Kurva frekuensi osilasi terhadap tegangan catu daya untuk encoder HT12E, (a); dan
Data yang dikirim oleh encoder memiliki komposisi sebagai berikut, ditunjukkan dalam Gambar III.11(a), yakni terdiri dari 1/3 bit sinkronisasi + 8-bit periode alamat + 4-bit periode data yang menghabiskan 1 siklus + 8 bit × 3 siklus/bit + 4 bit × 3 siklus/bit = 37 siklus. Lama satu siklus dalam sistem yang dibangun ialah 1/3.50 kHz = 0.286 milidetik. Sehingga 1 word menghabiskan waktu 37 siklus × 0.286 mdet/siklus = 10.58 milidetik. Jika pin TE dilowkan selama kurang dari waktu untuk 1 word, maka encoder akan mengirim 4 word sebanyak satu kali, sedangkan jika pin TE dilowkan terus maka encoder akan mengirim word terus menerus sampai pin TE dihighkan kembali.
(a)
(b)
(c)
Gambar III.11 Komposisi informasi untuk 1 word, (a); bentuk gelombang alamat/data, (b); dan pewaktuan transmisi, (c); untuk encoder HT12E. [17]
b. Pengontrol
Pengontrol menggunakan mikrokontroller AT89S52, digunakan untuk menerjemahkan data yang diterima penerima menjadi gerakan roda utama dan kamera, serta menghindarkan robot dari tabrakan. Gambar III.12 memperlihatkan skematik dari pengontrol.
Gambar III.12 Skematik pengontrol.
Output kaki VT (valid transmission) dari penerima dimasukan ke gerbang NOT sebelum masuk ke kakai INT0 karena ketika transmisi dinyatakan valid, maka VT berubah dari logika 0 ke 1 [18], agar terjadi interupsi eksternal maka digunakan gerbang NOT untuk mengubah transisi menjadi 1-ke-0.
Untuk mendeteksi tabrakan, yakni tabrakan pada bagian depan dan belakang ataupun karena kamera terangkat terlalu tinggi atau terlalu rendah, digunakan micro switch sebagai sensor sentuhan. Gambar III.13 memperlihatkan bentuk fisik micro switch dan fungsi tiap kakinya.
(b) C NO NC (a)
Gambar III.13 Bentuk fisik micro switch (a) dan fungsi kaki-kakinya (b). Ketika micro switch tidak ditekan maka kaki C terhubung ke NO, ketika ditekan maka kaki C terhubung ke NC; yakni saklar SPDT.
(b) (a) depan belakang atas bawah
: sensor micro switch kamera
(c) (d)
Gambar III.14 Koneksi sensor micro switch pada robot (a), pemasangan sensor micro switch pada kamera (b), pada bagian depan (c), dan pada bagian belakang (d) robot.
Kaki C (common) pada micro switch dihubungkan sebagai output sensor tersebut, kaki NO (normaly open) dihubungkan ke GND, dan kaki NC (normaly closed) dihubungkan ke
pull-up resistor, lihat Gambar III.12. Sehingga ketika tidak ada satupun dari sensor micro switch yang tertekan, maka input pada gerbang AND-4-input ialah 1 semua. Jika satu saja
sensor micro switch tertekan sehingga logika keluaran dari sensor tersebut menjadi 0 (karena ketika tertekan terhubung ke GND), maka keluaran gerbang AND menjadi 0 (transisi 1-ke-0) dan menimbulkan interupsi eksternal. Keluaran sensor micro switch depan dan belakang dihubungkan ke kaki P2.6 dan P2.7 untuk mengetahui bagian robot mana yang menabrak, ditambahkan gerbang NOT untuk memastikan sinyal tidak jatuh tegangan (sebagai buffer-not).
Diagram alir dari program pada mikrokontroller untuk menerjemahkan data dari komputer dan menghindari tabrakan diperlihatkan dalam Gambar III.15 berikut.
Eksekusi (id_cmd): Id_cmd Aksi 0x01 Maju 0x02 Kiri1step 0x03 Kanan1step 0x04 Mundur 0x05 Stop motor 0x06 Maju1step 0x07 Kiri 0x08 Kanan 0x09 Mundur1step 0x0A Kamera up 0x0B Kamera down 0x0C Kamera stop Aksi:
Motor kiri Motor kanan
mL1 mL2 mR1 mR2 Maju 1 0 1 0 Mundur 0 1 0 1 Kiri 0 1 1 0 Kanan 1 0 0 1 Stop 1 1 1 1 Kamera mC1 mC2 Up 1 0 Down 0 1 Stop 1 1 Aksi XXX1step: XXX Delay(127) stop Main
Gambar III.15 Diagram alir pada mikrokontroller. Inisialisasi Beres = 1 Beres = 0? Eksekusi (id_cmd) ya tidak End Interupsi 0 : EXT0 Dari receiver Beres = 0x00 P1 = 0xFF // pull-up Id_cmd = P1 and 0x0F Interupsi 1 : EXT1 Dari micro switch stop kamera senFr = 1 // pull-up senRe = 1 // pull-up Mundur1step Maju1step Beres = 0x01 senFr = 1? senRe = 1? RETI RETI EX0=1, IT0=1 EX1=1, IT1 = 1 EA = 1 Inisialisasi RETI
Pada saat robot pertama kali dinyalakan, mikrokontroller mengeksekusi program utama (main). Terdapat dua variabel global, yakni beres dan id_cmd.
• Variabel beres, digunakan untuk memberi tanda apakah terdapat data dari penerima RF yang belum dieksekusi. Jika ada maka diberi nilai 0x00 dan jika tidak (artinya data telah dieksekusi) maka diberi nilai 0x01.
• Variabel id_cmd, digunakan untuk menampung data yang diterima oleh penerima RF. Subrutin eksekusi akan mengirim data ke driver motor yang bersesuaian dengan data yang diterima.
Program utama menginisialisasi interupsi yang akan diaktifkan pada mikrokontroller, yakni interupsi eksternal 0 dan eksternal 1 dengan sinyal pemicu bertipe transisi 1-ke-0, dan memberi nilai awal 0x01 pada variabel beres. Kemudian program utama mengecek apakah variabel beres bernilai 0x00. Jika tidak, maka program utama kembali mengecek nilai variabel beres. Jika ya, maka program utama memanggil subrutin eksekusi untuk menggerakan motor berdasarkan nilai variabel id_cmd.
Subrutin interupsi 0 : EXT0 akan dipanggil ketika terdapat data baru yang diterima oleh penerima RF, yakni ketika pin ~VT bertransisi dari 1-ke-0. Variabel beres akan diberi nilai 0x00 untuk menandakan ada data baru dan nibble rendah pada port 1 akan disalin ke variabel id_cmd.
Subrutin interupsi 1 : EXT1 akan dipanggil ketika minimal ada satu dari sensor
micro switch yang tertekan. Subrutin ini akan menghentikan gerak kamera dan
menggerakan robot satu step ke depan jika sensor micro switch belakang tertekan atau satu step ke belakang jika sensor micro switch depan tertekan. Subrutin rutin ini berguna untuk menghindarkan robot dari objek penghalang dan menghentikan gerak kamera jika telah menyimpang melewati batas tertentu (untuk mencegah motor kamera terganjal).
III.5. Sistem Penggerak Roda dan Kamera
Sistem penggerak roda dan kamera menggunakan driver L293D. Dengan pemasangan motor DC seperti pada Gambar III.16 (b), maka satu IC L293D dapat digunakan untuk dua buah motor DC.
(a) (b)
Gambar III.16 Rangkaian internal IC driver L293D [27] (a) dan rangkaian yang digunakan untuk menggerakan satu motor DC 24 V (b), VS ialah 24 V.
Arah putaran motor dikendalikan oleh sinyal TTL pada IN1, IN2, dan EN1 (pada pasangan lain: IN3, IN4, dan EN2). Jika kaki EN1 diberi logika 0, maka keluaran 3-state buffer akan berada pada keadaan Impedansi Tinggi dan OUT1 memiliki tegangan yang sama dengan OUT2 sehingga motor berhenti. Jika kaki EN1 diberi logika 1 dan kaki IN1 diberi logika 0, maka tegangan OUT1 ialah tegangan Ground. Sedangkan jika kaki EN1 diberi logika 1 dan kaki IN1 diberi logika 0, maka OUT1 ialah tegangan VS [27]. Tabel III.3 berikut meringkas kondisi kaki-kaki input serta reaksi pada motor DC.
Tabel III.3 Reaksi motor terhadap logika input
EN1 IN1 IN2 Reaksi motor
0 X X Diam
1 0 1 Berputar ke arah-1
1 1 0 Berputar ke arah berlawanan arah-1
1 0 0 Diam
1 1 1 Diam
X : don’t care, 0 atau 1
Gambar III.17 berikut memperlihatkan skematik driver motor DC yang digunakan. Hanya sepasang output saja yang digunakan untuk DR2, yakni driver untuk motor kamera.
Gambar III.17 Skematik driver motor DC yang digunakan. Mot supply ialah catu daya 24V untuk motor utama, dan motcam supply ialah catu daya 12V untuk motor kamera.
III.6. Catu Daya
Sumber catu daya ialah dua buah batere kering 12 V / 2 Ah yang disusun seri sehingga setara dengan batere 24 V / 2 Ah [5] dan satu batere 12 V /1.2 Ah (khusus untuk penggerak motor kamera). Sistem catu daya robot yang dibangun terdiri dari dua bagian yakni switch
charging dan regulator.
Switch Charging
Switch/saklar ini berguna untuk mengubah mode penggunaan batere dengan mode charging/isi ulang, sehingga tidak perlu melepas batere untuk diisi ulang, cukup menekan
tombol. Gambar III.18 memperlihatkan skematik rangkaian switch charging.
Jika mode penggunaan batere (secara seri) yang aktif, maka LED D1 akan menyala. Sedangkan jika mode charging yang aktif, maka LED D2 dan LED D3 akan menyala (jika tidak terjadi masalah pada kabel ke batere 1 dan batere 2).
Gambar III.18 Skematik switch charging.
Regulator
Regulator yang digunakan terdiri dari regulator 5 V arus rendah (untuk rangkaian mikrokontroller), regulator 5 V arus tinggi (untuk rangkaian penerima, catu daya TTL
driver motor, dan rangkaian sensor micro switch), dan regulator 8 V arus tinggi (untuk catu
daya kamera wireless). Regulator 15 V arus tinggi digunakan untuk menurunkan tegangan dari 24 V menjadi 15 V sebelum masuk ke regulator 5 V dan 8V agar tidak terjadi pemanasan berlebih akibat beda tegangan yang terlalu tinggi antara tegangan input dengan tegangan teregulasi. Batere 12V 2 Ah Batere 12V 2 Ah Batere 12V 1.2 Ah Switch
charging Regulator 15 V arus tinggi Regulator 5 V arus rendah Regulator 5 V arus tinggi Regulator 8 V arus tinggi Mikrokontroler Receiver, driver, sensor Wireless camera Motor kamera Driver
Gambar III.19 Diagram blok catu daya sistem robot.
Regulator 5 V arus rendah menggunakan IC regulator 7805 (arus maksimal 1 A [26]) sebagai berikut. Kapasitor C1 dan C2 berguna untuk meratakan tegangan input dan output (sebagai low pass filter).
Gambar III.20 Regulator 5 V arus maksimal 1 A.
Regulator 5 V, 8 V, dan 15 V arus tinggi menggunakan IC regulator 7805, 7808, dan 7815 ditambah dengan transistor PNP BD536 sebagai penguat arus.
Gambar III.21 Regulator arus tinggi. [26]
Sehingga arus output menjadi sebagai berikut.
(
)
, 1 1 , 1/ 1 OUT REG C Q REG Q REG BE Q I I I I β I V R = + = + ⋅ −Makin besar arus yang ditarik oleh regulator (akibat beban membesar) maka makin besar arus yang ditarik dari basis transistor PNP, sehingga makin besar arus yang melintasi
emmiter-collector yang akan menambah arus output.
III.7. Sistem Kamera dan Contoh Aplikasi Robot Vision Sederhana
a. Sistem Kamera
Kamera yang digunakan ialah wireless camera dengan spesifikasi sebagai dalam Tabel III.4 berikut.
Gambar III.22 Kamera wireless dan penerima RC100A+208CWA. [25] Tabel III.4 Spesifikasi kamera
Image sensor 1/3” OmniVision CMOS Validity pixel PAL 628×582 / NTSC 510×492 Horizontal definition 320 line
Visual angle 54°
Minimum illumination 3 Lux/F1.2 Frequency 1000 – 1250 MHz Transmission power 50 mW
Open transmission distance 100 m
Power DC 8 V / 200 mA Work temperature -10 to 50°C Size 25×35×15 mm Weight 65 g
Sumber : [25].
Modul penerimanya dihubungkan ke TV tuner ePro dan diakses dari Visual Basic 6 menggunakan active X control VideoCap.ocx buatan Viscom Software (dapat didownload di http://www.viscomsoft.com/demo/videocapprodemosetup.exe atau melalui http://www.pcdownloadworld.com/development-tools/video/videocap-pro-video-capture-activex-ocx.htm).
b. Contoh Aplikasi Robot Vision Sederhana
Pada tugas akhir ini diambil contoh robot vision sederhana untuk mengikuti garis hitam dan untuk mengikuti bola merah. Contoh ini dimaksudkan untuk menunjukkan bahwa sistem robot kendali jarak jauh yang dibangun dapat digunakan sebagai sistem robot navigasi berbasis kamera.
Pengikut Garis Hitam
Untuk mengetahui keberadaan garis hitam, dilakukan transformasi grayscale diikuti dengan proses binarisasi. Aturan yang digunakan untuk memandu robot agar tetap
mengikuti garis hitam ialah dengan menghitung jumlah pixel warna hitam pada separuh kiri gambar dan pada separuh kanan gambar sebagai berikut.
kanan jika 100 arah belok kiri jika 100 R L L R S S S S − > ⎧ = ⎨ − > ⎩
Dengan SR ialah jumlah pixel warna hitam pada separuh gambar kanan, dan SL ialah
jumlah pixel warna hitam pada separuh gambar kiri. Setelah melakukan aksi arah belok, robot maju satu step/langkah. Jika kondisi di atas tidak terpenuhi, maka robot hanya mengambil aksi maju satu langkah. Gambar III.23 berikut menunjukkan kondisi yang mungkin terjadi.
SL=2221, SR=2152
(a)
SL=2225, SR=2729
(b) SL=3111, S(c) R=2038 Gambar III.23 Kondisi ketika robot mengambil aksi maju saja (a), aksi belok kanan (b), dan aksi belok
kiri (c). Pengikut Bola Merah
Aksi mengikuti bola merah diperoleh dengan menggerakkan robot agar posisi pusat bola merah berada di tengah pusat screen kamera. Dengan demikian proses yang dilakukan ialah sebagai ditunjukkan dalam Gambar III.24 berikut.
Set point: Area 5 Pengontrol: Aksi gerak Output: Posisi robot terhadap bola Kamera: Ambil gambar Processing:
Filter warna merah Pusat warna merah Area 5 ialah
pusat screen kamera.
Robot mengambil gambar yang tertangkap oleh kamera. Gambar tersebut kemudian difilter
tem robot belum memiliki sensor posisi dan sudut, maka penentuan aksi gerak untuk meloloskan warna merah saja dan dicari titik pusat warna merah. Titik pusat ini dibandingkan apakah sudah berada dalam area set point atau belum. Jika belum maka diambil aksi gerak robot untuk mendekati pusat warna merah yang sebanding dengan jarak pusat warna terhadap kamera robot.
Karena sis
(sebagai respon kontrol semi-proporsional) dilakukan dengan percobaan berapa langkah yang diperlukan untuk mencapai posisi tertentu, dipilih sembilan area, seperti pada Gambar III.25 dan Tabel III.5.
Gambar III.25 Area percobaan pada lantai untuk menentukan juml step aksi gerak.
abel III.5 Hasil percobaan jumlah step yang diperlukan untuk aksi gerak. ah T
Nomor area Step yang diperlukan
1 Kiri 3 step Maju 7 step 2 Maju 7 step 3 Kanan 3 step Maju 7 step 4 Kiri 3 step Maju 2 step 5 (kondisi target) 6 Kanan 3 step Maju 2 step 7 tep Kiri 3 step Mundur 2 s 8 Mundur 3 step 9 Kanan 3 step Mundur 2 step
a merah dimaksudkan untuk meloloskan warna merah saja, yakni nilai warna Filter warn
dalam rentang RGB(130-255, 0-90, 0-90), nilai ini diperoleh dari percobaan mencocokan warna gambar bola merah dengan warna hasil komposisi RGB. Gambar III.26 berikut
menunjukkan hasil pemfilteran warna merah terhadap gambar beberapa bola dengan warna berbeda.
(a) (b)
Gambar III.26 Gambar asli (a), dan gambar setelah proses filter warna merah (b). Cara sederhana ini berhasil mensegmentasi bola merah.
Penentuan pusat warna merah meniru proses penentuan pusat massa benda diskrit, yakni pixel warna merah dimodelkan sebagai benda dengan massa 1 satuan sedangkan pixel warna hitam dimodelkan sebagai ruang kosong (massa 0 satuan).
tinggi lebar , 1 1 tinggi lebar , 1 1 tinggi lebar , 1 1 i j i j cm i j j i cm i j i j m i x M m j y M M m = = = = = = ⎛⎛ ⎞ ⎞ ⋅ ⎜⎜ ⎟ ⎟ ⎜⎝ ⎠ ⎟ ⎝ ⎠ = ⎛⎛ ⎞⋅ ⎞ ⎜⎜ ⎟ ⎟ ⎝ ⎠ ⎝ ⎠ = =
∑ ∑
∑ ∑
∑ ∑
Pada Gambar III.26(b), pusat screen kamera ditandai dengan perpotongan dua garis hijau dan pusat warna merah ditandai dengan perpotongan dua garis merah. Pada implementasi ini, jika jumlah pixel warna merah kurang dari 500 maka benda tersebut tidak diartikan sebagai bola merah. Hal ini untuk menghindari keterdeteksian tepian bola warna pink sebagai warna merah (tetapi dengan jumlah pixel merah kurang dari 500).