AUTOMATIC MOBILE ROBOT MENGGUNAKAN DATA KAMERA SEBAGAI PENGAMBIL GAMBAR JALAN ROBOT

AUTOMATIC MOBILE ROBOT MENGGUNAKAN DATA KAMERA SEBAGAI
PENGAMBIL GAMBAR JALAN ROBOT
1)

1)

Hanny Kristianto 2)Susijanto Tri Rasmana 3)Madha Christian Wibowo

Program Studi S1 Sistem Komputer, STIKOM Surabaya, email: hanny.kristianto@gmail.com
2) Program Studi S1 Sistem Komputer, STIKOM Surabaya, email: susianto@stikom.edu
3) Program Studi S1 Sistem Komputer, STIKOM Surabaya, email: madha@stikom.edu

Abstraksi, Pada saat ini, sangat sering ditemukan kemajuan teknologi di berbagai bidang. Salah satunya adalah
pengendalian tanpa awak atau yang biasa disebut dengan autopilot. Teknologi pengendalian tanpa awak tersebut
umumnya digunakan pada pesawat komersial dan pada bidang pertahanan negara guna mengendalikan rudal dan
alat perang lainnya. Namun kali ini peneliti memanfaatkan teknologi pengolahan citra untuk membuat suatu
pengendalian mobile robot tanpa awak.
Tugas akhir ini bertujuan untuk membuat mobile robot yang berjalan pada sebuah lintasan dengan
memanfaatkan adanya kamera sebagai pengambil gambar jalan sehingga gambar tersebut dapat diolah oleh
prosessor. Untuk itu mobile robot ini memerlukan microcontroller, prosessor, kamera, relay driver dan motor
DC. Dimana input dari kamera dibaca oleh prosessor lalu diolah dengan teknologi pengolahan citra

menggunakan Open CV. Dengan memanfaatkan library dari Open CV maka proses untuk mengolah gambar
dapat menjadi lebih cepat. Dengan CVScalar dari library OpenCV maka peneliti dapat menentukan nilai pixel
yang berada di jalan atau berada di bahu jalan, sehingga prosessor dapat menentukan keputusan laju dari mobile
robot. Hasil tersebut dikirimkan melalui komunikasi serial ke microcontroller sehingga microcontroller dapat
mengolah perintah dari prosessor untuk menggerakan motor DC sebagai pengendali mobile robot.
Untuk menentukan jalan dari mobile robot maka peneliti memanfaatkan library dari Open CV antara
lain CVcvtcolor untuk merubah gambar dari RGB ke biner, lalu menggunakan CVTreshold untuk mengubah dari
grayscale ke biner dan menggunakan CVScalar untuk membuat pixel acuan yang menentukan bahu jalan dan
badan jalan.
Mobile robot ini dapat berjalan dilintasannya yang memiliki tikungan ke kiri dan ke kanan dan tanpa
ada halangan atau persimpangan jalan. Namun mobile robot ini dapat berjalan baik atau tidak tergantung dengan
intensitas cahaya yang didapatkan oleh mobile robot. Karena, bahan yang dibuat untuk jalan lintasan dari mobile
robot adalah berbahan vinyl yang mudah memantulkan cahaya walau berwarna hitam.
Keyword : Open CV, Mobile Robot, autopilot,Microcontroller

Di era modern saat ini keberadaan
peralatan transportasi menjadi sangat
penting. Kebutuhan alat transportasi yang
aman dan nyaman merupakan hal yang
sangat didambakan. Sampai saat ini,

sebagian besar sistem navigasi atau kemudi
alat transportasi darat (mobil) masih banyak
dilakukan dengan tenaga manusia. Untuk
dapat mengendalikan mobil dengan baik
seseorang harus mempunyai ketrampilan
khusus, juga diperlukan konsentrasi disaat
mengendalikannya
di
jalan
raya.
Mengemudi kendaraan dengan konsentrasi
yang kurang sangat berbahaya, karena
berisiko besar terjadi kecelakaan. Untuk itu
diperlukan diperlukan suatu sistem yang

dapat
membantu
manusia
dalam
mengendarai kendaraan. Sistem yang

bersifat otomatis ini diharapkan dapat
membantu atau bahkan menggantikan
sebagian besar peran pengemudi dalam
mengendalikan mobil.
Sistem image processing digunakan
untuk membantu mengimplementasikan
sistem autopilot di darat. Sistem tersebut
akan diaplikasikan oleh penulis pada sebuah
mobile robot yang diberi kamera untuk
dapat mengambil gambar lintasan yang
sedang dilintas oleh mobile robot tersebut.
Lintasan yang ditempuh oleh robot tersebut
berupa lintasan tanpa ada halangan dan
tanpa ada persimpangan jalan. Selain itu,
1

lintasan tersebut menggunakan perbedaan
kontras warna antara bahu jalan dengan
jalan.
Dengan

memanfaatkan
library
OpenCV yaitu CVScalar, pendeteksian
antara bahu jalan dengan badan jalan dapat
diwujudkan. Oleh karena itu Image
processing dapat mendeteksi jalan dengan
bahu jalan yang dilintasi, sedangkan
penggunaan sensor ultrasonic dan sensor
cahaya tidak tepat guna dalam mendeteksi
jalan dan bahu jalan tersebut. Dikarenakan
penggunaan sensor tersebut mendeteksi
bahu jalan dan badan jalan dengan
mendekati bahu jalan tersebut untuk dapat
dideteksi, sedangkan pada kondisi nyata
mobil harus menjaga jarak dengan bahu
jalan. Sehingga, penggunaan Image
processing menjadi tepat guna untuk
mengimplementasikan autopilot di darat.
METODE
Pengerjaan Tugas Akhir ini dapat terlihat

jelas dari blok diagram yang tampak pada
gambar 3.1. Blok diagram tersebut
menggambarkan proses dari capture gambar
hingga perintah ke motor. Terdapat
beberapa komponen penting pada blok
diagram tersebut antara lain adalah webcam,
PC, mikrokontroler dan motor DC.
Kamera

 ‡ŽƒŽ—‹

Personal
Computer








Motor Roda
Kanan

Motor Roda
Kiri

Microcontroller

Gambar 1 Blok Diagram
Gambar 1 merupakan proses
mengalirnya data input hingga menjadi
output. Data yang diperoleh dari kamera
berupa data lintasan yang tampak oleh
kamera robot pada saat di lintasan lalu data
tersebut dikirim ke Personal Computer
melalui USB. Pada Personal Computer hasil

kamera tersebut diolah pada software
Microsoft Visual C++ 2008 menggunakan
library OpenCV dan hasilnya dikirm

melalui serial menuju mikrokontroler.
Mikrokontroler mengendalikan motor sesuai
dengan perintah dari PC, sehingga motor
DC dapat berjalan sesuai dengan jalan yang
ditempuh mobile robot.
Proses Pendeteksian Jalan
Proses Pendeteksian Jalan yang
dilakukan oleh Processor (Notebook)
tampak pada blok diagram gambar 2.
Gambar RGB

Biner

Grayscale

Perintah arah jalan
berdasarkan
koordinat pixel

Gambar 2 Blok Diagram Pengolahan

gambar
Pada gambar 2 gambar RGB
diperoleh dari hasil capture kamera yang
lalu dirubah ke gambar grayscale kemudian
biner. Pada gambar biner, gambar jalan
terlihat kontras antara jalan dan bahu jalan.
Sehingga diambil lah koordinat pada bahu
jalan untuk menjadi acuan mobile robot
bergerak ke kiri, ke kanan atau lurus.
Proses Perubahan Warna dari RGB ke
Grayscale
Proses perubahan warna dari RGB
ke
Grayscale
bertujuan
untuk
mempermudah proses selanjutnya yaitu
proses merubah grayscale menjadi biner.
Sehingga gambar yang diterima oleh
processor (notebook) dirubah langsung ke

grayscale. Perubahan gambar RGB ke
Grayscale menggunakan library openCV
pada visual C++ menggunakan perintah
sebagai berikut.
cvCvtColor(
CV_BGR2GRAY);

src,

image2Gray,

Pada perintah tersebut sudah
terdapat dua frame, yang satu berisi gambar
asli dari kamera (src) sedangkan yang
lainnya adalah frame yang disediakan untuk
hasil perubahan ke grayscale (image2Gray).
2

j


Sehingga maksud dari potongan perintah
tersebut adalah mengubah gambar src ke
grayscale (CV_BGR2GRAY) lalu disimpan
pada frame bernama image2Gray.
Proses Perubahan Gambar Grayscale ke
Biner
Proses perubahan gambar grayscale
ke biner bertujuan untuk membedakan
warna secara kontras antara bahu jalan dan
badan jalan. Sehingga perintah untuk arah
kanan dan kiri maupun lurus dapat semakin
jelas. Berikut adalah perintah yang
memanfaatkan library OpenCV untuk
mengubah gambar grayscale menjadi biner.

START

Inisialisasi : pixel
batas kanan dan
kiri


Jalan
mengenai
batas kiri
?

Motor kanan :
mundur
Motor kiri : maju

Jalan
mengenai
batas
kanan?

Motor kanan :maju
Motor kiri :mundur

cvThreshold(image2Gray,image2Gray,5
0,255,CV_THRESH_BINARY);

Pada perintah tersebut gambar
grayscale dari frame image2Gray dirubah
menjadi biner (CV_THRESH_BINARY)
dengan threshold 50 dan disimpan pada
frame yang sama yaitu image2Gray.
Threshold bertujuan mengubah pixel diatas
threshold untuk menjadi pixel bernilai 255
sedangkan dibawah threshold dirubah
menjadi 0, dengan demikian didapatkanlah
gambar biner.
Proses Pengambilan Koordinat sebagai
Acuan
Pada proses ini penulis menetapkan
koordinat pixel yang digunakan sebagai
acuan mobile robot untuk bergerak ke kiri
maupun ke kanan. Koordinat pixel yang
dipakai adalah koordinat pixel bahu jalan
(kanan dan kiri robot) pada posisi robot di
tengah jalan, sehingga koordinat tersebut
dapat digunakan sebagai acuan. Apabila
posisi acuan tersebut terdeteksi mengenai
jalan maka robot melakukan aksi, yaitu
belok kiri atau kanan tergantung pada acuan
kiri atau kanan yang terkena badan jalan.
Berikut adalah flowchart untuk memperjelas
dari proses pendeteksian jalan.

Motor kanan :
maju
Motor kiri : maju

Gambar 3 Flowchat Pendeteksian Jalan
Pada gambar 3 dijelaskan bahwa
terdapat pixel yang menjadi batas kanan dan
kiri. Pixel tersebut menjadi acuan motor
robot untuk bergerak ke kanan dan ke kiri.
Berikut bagian dari kode program dalam
menentukan pixel hingga keputusan robot
bergerak
ke
kanan
atau
kiri.

3

CvScalar s;
for(i=0;i