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)
Gambar III.2 Disain rangka robot, (a), dan foto rangka robot, (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
15
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].
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.
D0D1D2D3D4
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
17
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
10.5 mm
18
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.
19
(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
12 6 -1
1 1 3.00 10 m/spanjang antenna 0.476m2 2 315 10 s
cf
λ ×= ⋅ = = =
×
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 (decoder) 50 (encoder)OSC OSCf f≈ × [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
20
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
decoder HT12D, (b). [17,18]
21
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.
22
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.
Gambar III.14 memperlihatkan pemasangan sensor micro switch pada mobile robot.
23
(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.
24
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
25
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.
26
(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.
27
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).
28
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).
29
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 / 1OUT 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.
30
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
31
mengikuti garis hitam ialah dengan menghitung jumlah pixel warna hitam pada separuh
kiri gambar dan pada separuh kanan gambar sebagai berikut.
kanan jika 100arah belok
kiri jika 100R L
L R
S SS 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, SR=2038
(c) 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.
Gambar III.24 Diagram alir proses mengikuti bola merah.
32
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 TNomor 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 t) targe6 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
33
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).
tinggilebar
,1 1
tinggi lebar
,1 1
tinggilebar
,1 1
i ji j
cm
i jj i
cm
i ji j
m ix
M
m jy
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).
34
Top Related