Professional Documents
Culture Documents
1)
Hanny Kristianto 2)Susijanto Tri Rasmana 3)Madha Christian Wibowo
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.
3
CvScalar s; RS-232 menuju mikrontroler dan data yang
for(i=0;i<120;i++)
dikirim adalah “x” (perintah kiri), “y”
{
s=cvGet2D(image2Gray,460,i); (perintah kanan) dan “z” (perintah maju).
if (s.val[0]==255) Processor mendeteksi perintah kiri maka
k++; processor mengaktifkan flag kiri yang lalu
} menjadi tanda untuk pengiriman data “x” ke
for(i=520;i<640;i++)
mikrokontroler. Berikut adalah perintah
{
s=cvGet2D(image2Gray,460,i); untuk mengirim data.
if (s.val[0]==255) if (k<=3)
j++; {
} cout<<(stderr,"kiri\n");
if (hanny.Open(1,9600))
Pixel dapat diambil dengan
{
memanfaatkan library CvScalar, pada char* start= "x";
potongan perintah tersebut terlihat bahwa hanny.SendData(start,
pixel koordinat Y yang diambil pada pixel 1);
460 sedangkan pixel koordinat X yang
cout<<(stderr,"openedX\n");
diambil antara pixel ke 0 sampai 120 (acuan }
kiri) dan pixel 520 hingga 640 (acuan k=0;
kanan). Apabila pixel acuan tersebut terkena }
badan jalan yang bernilai 255 maka else if (j<=3)
{
diaktifkan flag kanan atau kiri yang
cout<<(stderr,"kanan\n");
digunakan untuk melanjutkan perintah if (hanny.Open(1,9600))
output. {
Jarak antara kamera dengan jalan char* start= "y";
yang terproyeksi oleh pixel baris 460 adalah hanny.SendData(start,
1);
80 cm. Dengan jarak 80 cm, perbandingan
jarak yang sebenarnya dengan pixel adalah cout<<(stderr,"openedY\n");
1 : 13. Dapat diartikan bahwa 1 cm sama }
dengan 13 pixel, dengan ketentuan jarak j=0;
kamera dengan pixel yang dimaksud adalah }
else
80 cm. {
Komunikasi Menggerakan Mobile Robot cout<<(stderr,"lurus\n");
Untuk dapat menggerakan mobile k=0;
robot maka perintah dari Processor harus j=0;
if (hanny.Open(1,9600))
dikirim ke mikrokontroler melalui UART,
{
lalu data yang diterima mikrokontroler char* start= "z";
dibaca dan diproses selanjutnya hingga hanny.SendData(start,
memperoleh output sesuai yang diinginkan. 1);
Pengiriman data dari Processor
cout<<(stderr,"OpenL\n");
(Notebook)
Pengiriman data dari processor }
berupa pengiriman data karakter. }
Pengiriman dilakukan melalui UART dari Pada potongan perintah tersebut
processor yang sudah dilengkapi dengan ditunjukan bahwa COM serial yang
4
digunakan adalah port 1 dan baudrate yang yang dikirim lalu dipilah-pilah sesuai
digunakan sebesar 9600. Perintah dengan perintah lalu diproses menjadi
pengiriman variabel start dengan dengan output yang digunakan untuk
perubahan nilai menjadi x ,y atau z sesuai mengendalikan motor DC.
dengan perintah, dan banyaknya karakter Perancangan Perangkat Keras
yang dikirim adalah 1 hanny.SendData(start, Minimum Sistem ATMEGA8535
1). Sebelum perintah tersebut terdapat Minimum sistem ATMEGA8535
header dan function yang terlampir yang digunakan adalah minimum sistem
digunakan untuk melengkapi perintah dari innovative electronics. Dengan
mengirim data secara serial. spesifikasi sebagai berikut
Penerimaan Data Mikrokontroler 1. Mikrokontroler ATMEGA8535 yang
Data dari processor diolah oleh mempunyai 8KB Flash Memory dan
mikrokontroler agar dapat mengeluarkan 8 channel ADC dengan resolusi 10
output yang nantinya dapat mengendalikan bit.
motor DC. Berikut adalah potongan perintah 2. Mendukung varian AVR 40 pin,
yang digunakan mikrokontroler untuk antara lain : ATMega8535,
menerima data serial. ATMega8515, AT90S8515,
angka=getchar(); AT90S8535, dll. Untuk tipe AVR
if (angka=='y') // kanan tanpa internal ADC membutuhkan
{ OCR1A=40;
Conversion Socket.
PORTD.7=1; //mki
OCR1B=40; 3. Memiliki jalur I/O hingga 35 pin.
PORTD.6=0; 4. Terdapat eksternal Brown Out
putchar('a'); Detector sebagai rangkaian reset.
} 5. Konfigurasi jumper untuk
else if (angka=='x') // kiri
melakukan pemilihan beberapa
{
OCR1A=40; model pengambilan tegangan
PORTD.7=0; referensi untuk tipe AVR dengan
OCR1B=40; internal ADC.
PORTD.6=1; 6. LED Programming indicator.
putchar('b');
}
7. Frekwensi Osilator sebesar 4 MHz.
else if (angka=='z') // lurus 8. Tersedia jalur komunikasi serial
{ UART RS-232 dengan konektor RJ-
OCR1A=40; 11.
PORTD.7=1;
9. Tersedia port untuk pemrograman
OCR1B=40;
PORTD.6=1; secara ISP.
putchar('c'); 10. Tegangan input Power Supply 9-12
} VDC dan output tegangan 5 VDC.
else if(angka == 'a') Konfigurasi minimum sistem
{
digambarkan pada gambar 4.
OCR1A=OCR1B=PORTD.7=PORTD.6=0;
}
Pada potongan perintah diatas
ditunjukan bahwa variabel angka digunakan
untuk penyimpanan karakter sementara
5
yang digunakan microcontroller sehingga
kecepatan mobile robot dapat dikendalikan
untuk mengurangi error yang terjadi pada
saat mobile robot berjalan di lintasannya.
Desain Mekanik Robot
Desain mekanik robot, terdiri dari
dua motor, base robot dan tiga buah roda.
Robot dirancang dengan perangkat
elektronik lainnya seperti kamera, relay
driver dan minimum sistem, sehingga dapat
menjadi suatu bentuk mobile robot. Mobile
robot ini dirancang seperti robot line
follower, namun karena metode dan
perangkat keras yang digunakan berbeda
dengan line follower maka bentuk
disesuaikan dengan kebutuhan. Berikut
adalah bentuk keseluruhan dari mobile
robot.
6
dari mobile robot dapat dikendalikan dengan PENGUJIAN SISTEM
mengubah-ubah nilai PWM yang Tujuan dari pengujian ini adalah mengetahui
dikendalikan melalui microcontroller. hasil keputusan dari pengambilan gambar,
apakah sesuai dengan program yang disusun
Sehingga kecepatan dari mobile robot dapat
sebelumnya dalam menghadapi jalan.
diklasifikasikan menjadi 4 kecepatan, yaitu Hasil Pengujian
berhenti, kecepatan pelan, sedang hingga Pengujian secara keseluruhan berjalan
cepat. Pemberian nilai PWM dapat dengan baik karena terlihat dari koneksi
diberikan sebagai berikut : serial PC dengan mikrokontroler berjalan
Tabel 1 Kecepatan Motor baik dan respon dari PC terhadap kamera
No. Kecepatan Nilai PWM cukup cepat sehingga proses jalan dari
1. Berhenti 0 mobile robot berjalan dengan lancar. Namun
2. Pelan 1-85 hasil capture dari kamera juga tergantung
3. Sedang 86-170 dengan pencahayaan, karena pencahayaan
4. Cepat 171-255 yang berlebihan atau kekurangan
Pada penelitian ini, mobile robot mempengaruhi proses dari pengolahan
menggunakan kecepatan pelan dengan gambar. Sehingga pencahayaan yang cukup
tujuan error yang dihasilkan sangat kecil mempengaruhi kelancaran jalannya mobile
sehingga mobile robot dapat berjalan robot. Gambar 8 , gambar 9 dan gambar 10
dengan baik. Dengan demikian mobile robot merupakan hasil dari respon mobile robot.
pada penelitian ini diberikan nilai PWM
antara 1 -85.
Perancangan Jalan
Jalan yang digunakan untuk menjadi
lintasan pada penelitian ini mempunyai
karakteristik tikungan ke kiri dan ke kanan
sama banyak dan sama besar, sehingga
penelitian ini berimbang antara tikungan
kanan dan tikungan kiri. Dengan panjang
jalan 16 m dan lebar jalan 39 cm yang Gambar 8 Respose Lurus
terbuat dari bahan vinyl yang dicetak Dari gambar 8 terlihat pada
dengan digital printing. Warna jalan dan Command Prompt bahwa ketika mendapati
bahu jalan hanya terdiri dari warna hitam gambar seperti itu respon dari hasil
dan putih. Berikut adalah gambar jalan yang pengolahan adalah lurus.
digunakan pada penelitian ini.
4 Meter
4 Meter