ISSN(p): 2338-8323 | ISSN(e): 2459-9638 | Vol. 8 | No. 1 | Halaman 69 - 79
DOI : http://dx.doi.org/10.26760/elkomika.v8i1.69

## Lane Tracking
pada Robot Beroda Holonomic
menggunakan Pengolahan Citra

## ALI RIZAL CHAIDIR, KHAIRUL ANAM, GAMMA ADITYA RAHARDI
Fakultas Teknik Universitas Jember, Indonesia Email: ali.rizal@unej.ac.id
Received 6 Agustus 2019 | Revised 3 September 2019 | Accepted 11 Oktober 2019

## ABSTRAK
Robot merupakan teknologi yang dapat diterapkan bidang pertanian dan industri. Salah satu teknik navigasi robot yang dapat diterapkan di bidang pertanian dan industri adalah lane tracking. Untuk bernavigasi robot membutuhkan sebuah alat untuk mengenali lingkungannya, alat tersebut dapat berupa sensor atau kamera. Salah  satu  kelebihan  menggunakan  kamera  jika  dibandingkan  dengan  sensor adalah  dapat  mengurangi  penggunaan  perangkat  keras  untuk  mengenali lingkungan  robot.  Fokus  utama  penelitian  ini  adalah  membuat  robot  beroda holonomic untuk bernavigasi di antara dua garis yang berada di sebelah kiri dan kanan robot menggunakan kamera. Kamera digunakan untuk menangkap citra di depan robot, citra tersebut diolah disebuah SBC (Single Board Computer) untuk mendapatkan  parameter  jumlah  pixel  antara  garis  tengah  robot  dengan  garis sebelah  kanan  dan  kiri  robot.  Parameter  tersebut  kemudian  diolah  untuk menentukan kecepatan  motor pada roda robot holonomic. Hasil  yang  diperoleh adalah  dari  setiap  pengujian  robot  mampu  bernavigasi  pada  jalur  yang  telah ditentukan.
Kata kunci : Lane Tracking, Pengolahan Citra, Robot Beroda Holonomic

## ABSTRACT
Robotic navigation techniques that can be applied in agriculture and industry is lane tracking. To navigate, robots need device to recognize the environment, the device can use sensors or cameras. The main focus of this research is to make holonomic wheeled robot to navigate between two lines located on the left and right of the robot using the camera. The camera is used to capture the image in front of the robot, the image is processed in an SBC (Single Board Computer) to get the paramters of the number of pixels between the center line with the right and left lines of the robot. These paramaters are the processed to determine the motor speed on the holonomic robot wheel. The result of each test is that the robot is able to navigate on a predetermined path.
Keywords : Lane Tracking, Image Processing, Holonomic Wheeled Robot

## 1. PENDAHULUAN
Kemajuan  suatu  negara  dapat  dilihat  dari  perkembangan  teknologi  yang  dihasilkan  oleh negara tersebut, teknologi dapat mempercepat dan mempermudah tercapainya suatu tujuan tertentu,  salah  satu    teknologi  yang  dapat  membantu  dan  menggantikan  beberapa  tugas manusia  yang  sederhana  adalah  robotika (Siciliano  &  Khatib,  2008) .  Robot  dapat bergerak  secara  mandiri,  berdasarkan  perintah  operator (Chaidir,  Satriya,  &  Kalandro, 2016) ,  dan  dapat  dilakukan  dengan  menggunakan  teknik  pengindraan  visual.  Dengan menggunakan  teknik  pengindraan  visual  dalam  proses  navigasi  robot  maka  robot  tidak membutuhkan  banyak  sensor  untuk  navigasi,  karena  dengan  menggunakan  pengindraan visual  (menggunakan  kamera webcam)  dapat  mengetahui  posisi (Chaidir,  Muldayani,  & Kalandro, 2018) , jarak, warna, dan bentuk dari suatu objek yang ada di lingkungan robot.
Robot  dapat  diterapkan  di  bidang  transportasi,  industri (Siciliano  &  Khatib,  2008) dan pertanian (Hassan, Ullah, & Iqbal, 2016) (Umarkar & Karwankar, 2016) . Salah satu jenis robot  yang dapat diterapkan di bidang tersebut adalah robot beroda dengan gerakan holonomic. Berbeda dengan gerakan berbelok robot jenis car like mobile robot (Fahmizal, Murti,  &  Pratama,  2018) ,  gerakan  holonomic  adalah  sebuah  gerakan  yang  membuat robot tidak perlu mengubah arah hadapnya. Gerakan robot tersebut dapat dilakukan dengan menggunakan  roda omni,  yaitu  3  buah  roda  omni  dengan  posisi  setiap  roda  seperti  yang ditunjukkan pada Gambar 2 (McComb, 2011) .
Gambar 1. Roda Omni
Gambar 2. Posisi Roda Robot Beroda Holonomic
Robot  membutuhkan  teknik  navigasi  untuk  menyelesaikan  tugasnya,  salah  satu  teknik navigasi  pada  robot  beroda  adalah lane  tracking.  Lane  tracking  adalah  sebuah  algoritma untuk membantu sebuah robot atau kendaraan untuk mengikuti sebuah jalur berupa sebuah lorong  atau  sejenisnya,  tidak  hanya  untuk  robot  beroda, lane  tracking  juga  dapat diaplikasikan  untuk quadcopter (Ko,  Oh,  &  Ahn,  2016) . Lane  tracking tidak hanya  dapat diterapkan  di  bidang  pertanian, lane  tracking  pada  umumnya  diterapkan  pada  sistem transportasi  cerdas,  atau  kendaraan  transportasi  yang  bergerak  secara  mandiri (Bounini, Gingras, Lapointe, & Pollart, 2015) (Yoo, Yang, & Sohn, 2013) .
Fokus  penelitian  ini  adalah  membuat  robot  beroda holonomic  agar  dapat  bernavigasi  di antara dua garis yang berada di sebelah kiri dan kanan robot menggunakan kamera. Kamera digunakan untuk menangkap citra di depan robot, citra tersebut diolah di sebuah SBC ( Single Board  Computer)  untuk  mendapatkan  parameter  jumlah  pixel  antara  garis  tengah  robot dengan  garis  sebelah  kanan  dan  kiri  robot.  Parameter  tersebut  kemudian  diolah  untuk menentukan kecepatan motor pada setiap roda robot holonomic agar robot dapat bergerak maju, dan berbelok.

## 2. METODOLOGI

## 2.1 Desain Sistem Keseluruhan
Desain  sistem  terdiri  dari  dua  bagian,  yaitu  desain  alur  proses  dari  perangkat  keras  robot (Gambar  3)  dan  desain  alur  proses  dari  algoritma  pengolahan  citra  (Gambar  4).  Ada  tiga komponen  utama  di  dalam  sistem  perangkat  keras,  yaitu webcam  untuk  mengambil  citra, LattePanda sebagai Single Board Computer untuk pengolahan citra, dan driver motor untuk mengendalikan motor DC pada robot.
Gambar 3. Alur Proses dari Perangkat Keras Robot
Gambar 4. Alur Proses dari Algoritma Pengolahan Citra Akuisisi citra Perbaikan Citra Segmentasi Algoritma untuk menentukan gerakan
robot beroda holonomic

## 2.2  Robot Beroda Holonomic
Robot yang digunakan adalah robot berjenis robot beroda dengan gerakan holonomic, robot jenis  tersebut  menggunakan  roda omni,  robot  mampu  bergerak  ke  arah  sumbu  x  dan  y secara  bebas,  dan  memiliki  tiga  roda  penggerak (McComb,  2011) ,  ukuran  dan  bentuk robot ditunjukkan pada Gambar 5, robot tersebut memiliki ukuran tinggi 76 cm, lebar 52 cm, dan panjang 60 cm. Bagian atas robot terdapat kamera yang digunakan untuk melihat garis di depan robot. Informasi dari kamera diproses oleh sebuah algoritma pemrograman untuk mendapatkan  nilai  yang  digunakan  sebagai  acuan  untuk  menggerakkan  robot.  Algoritma tersebut  ditanam  di  dalam  sebuah Single  Board  Computer  yaitu  LattePanda,  LattePanda adalah sebuah komputer kecil yang telah terintegrasi dengan Arduino.

## Gambar 5. Robot Beroda Holonomic
Robot  bergerak  akibat  dari  putaran  motor  DC,  untuk  mengatur  kecepatan  dan  arah  putar robot,  diperlukan  rangkaian driver  motor  (Gambar  6).  Rangkaian  pada  Gambar  6  adalah rangkaian driver  motor  untuk  satu  motor,  menggunakan  komponen  utama  relai,  kondisi saklar relai berubah akibat dari kondisi transisitor yaitu saturasi atau dalam kondisi cut off, perubahan  kondisi  saklar  relai  mengakibatkan  arah  putaran  robot  berubah.  Sedangkan komponen  FET  pada  rangkaian driver  motor  digunakan  untuk  mengatur  kecepatan  motor, kaki gate  pada  FET  yang  terhubung  dengan  optocoupler  (U3)  dihubungkan  ke  pin  analog LattePanda.  Sedangkan  pin  1  pada optocoupler  (U1  dan  U2)  digunakan  pada  pin  output digital LattePanda.
Gambar 6. Rangkaian Driver Motor

## 2.3  Perbaikan Citra
Citra  yang  tertangkap  tidak  langsung  diolah,  diperlukan  proses  perbaikan  citra  terlebih dahulu.  Setiap  citra  dimungkinkan  terdapat  derau  yang  berbentuk  bintik-bintik,  untuk mengurangi  derau  tersebut,  tahap  yang  dilakukan  adalah  melakukan  filter  median menggunakan Persamaan (1), filter median berguna untuk menghilangkan bintik-bintik pada sebuah citra (Ramaraj & Rajan, 2010) .
𝑌 𝑥, 𝑦 𝑚𝑒𝑑𝑖𝑎𝑛 𝐼 𝑖, 𝑗 , 𝑖, 𝑗 ∈ 𝑛𝑏𝑜𝑟 𝑥, 𝑦 (1)
Dengan: nbor[x,y]  = sub image dari citra RGB, I orig [i,j]     = sebuah citra RGB

## 2.4  Segmentasi
Segmentasi  adalah  proses  untuk  memisahkan  latar  belakang  dan  latar  depan  citra.  Untuk memisahkan  latar  belakang  dan  latar  depan  citra  adalah  dengan  melakukan  proses thresholding menggunakan Persamaan (2), nilai ambang diatur untuk memisahkan citra latar belakang  dan  latar  depan,  citra  latar  depan  direpresentasikan  dengan  nilai pixel  di  setiap parameter  RGB  dengan  nilai  255  (berwarna  putih),  sedangkan  warna pixel  citra  latar belakang adalah berwarna hitam.
1 max    Y( , ) min
max ( , ) min ( , ) max ( , ) min 0 if Tr x y Tr Tg Y x y Tg G x y Tb Y x y Tb if else                (2)
dimana G(x,y) adalah image biner, Y(x,y) adalah image RGB, Trmax dan Trmin menyatakan nilai threshold  maksimal  dan  minimal  komponen  r,  Tgmax  dan  Tgrmin  menyatakan  nilai threshold maksimal dan minimal komponen g, Tbmax dan Tbmin menyatakan nilai threshold maksimal dan minimal komponen b.

## 2.4 Algoritma untuk Menentukan Gerakan Robot
Setelah  melakukan  pemisahan  latar  belakang  dan  latar  depan  dari  citra,  tahap  selanjutnya adalah  melakukan  pembuatan  algoritma  untuk  mendapatkan  jumlah pixel  antara  kolom tengah  citra  dengan  garis  pada  citra,  ilustrasi  citra  biner  dan  parameter  yang  digunakan untuk menentukan pergerakan robot ditunjukkan pada Gambar 7.
Nilai  P_ka  dan  P_ki  adalah  nilai  jumlah pixel  antara  garis  kolom  tengah  citra  dengan  garis petunjuk  navigasi  robot.  Nilai  P_ka  adalah  jumlah pixel  sebelah  kanan  dan  P_ki  adalah jumlah pixel sebelah kiri. Jumlah pixel tersebut diperoleh di baris pixel ke 50. Berikut adalah listing program yang digunakan untuk mendapatkan parameter P_ka da P_ki:
Untuk mendapatkan parameter P_ka:
Untuk mendapatkan parameter P_ki:
Gambar 7. Ilustrasi Sebuah Citra Biner Berukuran 320x240 dengan Parameter yang digunakan untuk Menentukan Pergerakan Robot
Setelah mendapatkan nilai P_ka dan P_ki, selanjutnya adalah mengirimkan nilai tersebut ke Arduino pada LattePanda untuk menggerakkan motor dc secara serial. Berikut adalah listing program untuk mengirimkan nilai dari parameter tersebut:
Sedangkan listing  program  untuk  arduino  yang  telah  menjadi  satu  board  di  Single  Board Computer LattePanda adalah sebagai berikut:
Setelah nilai diterima, selanjutnya adalah mengirimkan nilai tersebut ke driver motor dengan perintah:

## 3. HASIL DAN PEMBAHASAN
Ada  beberapa  tahapan  pengujian  dalam  penelitian  ini,  yaitu  pengujian  pergerakan mobile robot  holonomic,  pengujian  algoritma  perangkat  lunak,  pengujian  gerakan  mobile  robot holonomic pada sebuah jalur.

## 3.1 Pengujian Pergerakan Robot Beroda Holonomic
Pengujian  ini  dilakukan  untuk  mengetahui  pergerakan  robot  terhadap  nilai  masukan  yang berupa nilai analog dan digital dari mikrokontroler. Pergerakan robot yang dimaksud adalah maju, mundur, geser kanan dan kiri, putar kanan dan kiri, dan diam. Tabel 1 menunjukkan hasil  dari  pengujian.  Dari  tabel  tersebut  menunjukkan  bahwa  robot  dapat  melakukan gerakan-gerakan dasar berdasarkan keadaan nilai digital pada Port A dan analog pada pin 5,
3, dan 6. Pada saat robot berputar ke kanan dan ke kiri, nilai analog pada pin 5, 3, dan 6 sama,  akan  tetapi  nilai  pada port  A  berbeda,  hal  ini  dikarenakan  port  A  digunakan  untuk mengubah arah putaran motor.
Tabel 1. Pengujian Gerakan Robot Port A (Hex) Pin Analog Pergerakan Robot 5 3 6 0x0C 200 0 200 Maju 0x03 200 0 200 Mundur 0x86 50  250 50 Geser Kanan 0x29 80  250 80 Geser Kiri 0x26 80  200 80 Berputar kanan 0x89 80  200 80 Berputar kiri 0x00 0 0 0 Diam

## 3.2 Pengujian Algoritma Perangkat Lunak
Pengujian dilakukan menggunakan sebuah web cam, web cam digunakan untuk mengambil informasi citra jalur navigasi robot, citra yang digunakan untuk navigasi robot. Pengujian ini menggunakan sebuah kertas putih yang memilki dua garis warna hitam. Hasil dari pengujian dapat dilihat pada Tabel 2.
Tabel 1. Pengujian Algoritma Pendeteksi Garis untuk Navigasi Robot
Citra P_ka P_ki
85 85 148 29 58 119 90 93 159 3 2
159
Tabel  2 menunjukkan  bahwa  algoritma yang telah dibuat mampu  mengenali  baris  navigasi robot, hal ini ditandai dengan area warna kuning, area warna kuning adalah area yang akan digunakan  robot  untuk  menentukan  pergerakan  robot.  Pergerakan  robot  ditentukan berdasarkan  nilai  P_ka  dan  P_ki,  pada  tabel  terlihat  bahwa  ketika  citra  terlihat  memiliki
luasan area kuning pada sisi kanan dan kiri dari kolom tengah (garis warna biru muda) sama maka P_ka dan P_ki memiliki nilai  85, dan jika salah satu area warna kuning terlihat lebih sedikit  dibandingkan  lainnya, misalnya  pada citra kedua pada  tabel maka  nilai  P_ka = 148 dan  P_ki  =  29,  dan  begitu  juga  pada  citra  lainnya.  Tentu  hal  ini  menunjukkan  bahwa algoritma yang telah dibuat memungkinkan untuk digunakan sebagai pengenal baris navigasi robot  dan  nilai  P_ka  dan  P_ki  dapat  digunakan  sebagai  parameter  untuk  menentukan kecepatan  penggerak  robot.  Nilai  P_ka  digunakan  untuk  menentukan  kecepatan  roda  kiri robot, sedangkan nilai P_ki digunakan untuk menentukan kecepatan roda kanan robot.

## 3.3 Pengujian Gerakan Robot Beroda Holonomic pada Sebuah Jalur
Pengujian  dilakukan  untuk  mengetahui  respon  robot  terhadap  jalur  yang  telah  disiapkan berdasarkan  algoritma  yang  telah  dibuat  dan  diuji  sebelumya,  Tabel  3  menunjukkan  hasil pengujian.
Tabel 3 Pengujian Algoritma pada Robot Pengujian ke- Jejak robot pada lintasan Pengujian ke- Jejak robot pada lintasan
1 4 2 5 3
Pada Tabel 3 jarak antar garis pada jalur lintasan yang digunakan adalah 73 cm. Pengujian dilakukan sebanyak 5 kali, pergerakan robot pada setiap pengujian direkam lalu diamati dan selanjutnya ditampilkan dalam sebuah tabel. Tabel 3 menunjukkan hasil pengujian algoritma pada robot, garis kuning pada gambar di tabel tersebut menunjukkan jejak pergerakan robot ketika bernavigasi. Dari tabel tersebut terlihat bahwa dari setiap pengujian jalur robot (warna kuning) tetap berada di dalam jalur antara dua garis warna hitam.

## 4. KESIMPULAN
Lane  Tracking  pada  robot  beroda  holonomic  menggunakan  pengolahan  citra  telah  dibuat. Driver  motor  yang  diterapkan  pada  robot  mampu  menggerakkan  tiga  roda  omni  yang terpasang  pada  maing-masing  motor  DC.  Rangkaian driver  motor  tersebut  mampu menggerakkan  motor  DC  searah  dan  berlawanan  dengan  arah  jarum  jam  serta  mampu mengatur  kecepatan  roda  robot.  Sehingga  robot  mampu  bergerak  tidak  hanya  maju, mundur, belok kanan dan kiri, akan tetapi mampu juga bergeser ke kanan dan ke kiri. Selain itu,  algoritma  pemrograman  pengolahan  citra  yang  telah  dibuat  mampu  mengenali  baris hitam  dan  jumlah pixel  antara  kolom  tengah  citra  dengan  garis  warna  hitam  di  sebelah kanan dan kiri dari kolom tengah citra. Sehingga hasil pengujian algoritma lane tracking pada robot menunjukkan bahwa robot mampu bernavigasi pada jalur yang ditentukan.

## DAFTAR RUJUKAN
Bounini,  F.,  Gingras,  D.,  Lapointe,  V.,  &  Pollart,  H.  (2015).  Autonomous  Vehicle  and  Real Time  Road  Lanes  Detection  and  Tracking. IEEE  Vehicle  Power  and  Propulsion Conference (VPPC). Montreal: IEEE.
Chaidir,  A.  R.,  Muldayani,  W.,  &  Kalandro,  G.  D.  (2018).  Pengenalan  Gestur  Jari Menggunakan Pengolahan Citra untuk Mengendalikan Joint pada Base Robot Lengan. Jurnal Rekayasa Elektrika, 14 (3), 174-180.
Chaidir, A. R., Satriya, A. B., & Kalandro, G. D. (2016). Design of a Gripping Imitator Robotic Arm  for  Taking  an  Object. 4th  International  Conference  on  Information  and Communication Technology. Bandung: IEEE.
Fahmizal, Murti, B. B., & Pratama, D. B. (2018). Kendali Logika Fuzzy pada Car Like Robot
(CLMR) Penjejak Garis. ELKOMIKA, 6 (3), 451-464.
Hassan, M. U., Ullah, M., & Iqbal, J. (2016). Towards Autonomy in Agriculture: Design and Prototyping  of  a  Robotic  Vehicle  with  Seed  Selector  . International  Conference  on Robotics and Artificial Intelligence. Rawalpindi: IEEE, (pp. 37-44)
Ko,  G.,  Oh,  K.-H.,  &  Ahn,  H.-S.  (2016).  Image-Based  LAne  Tracking  in  Quadcopter. IEEE 25th  International  Symposium  on  Industrial  Electronics  (ISIE).  Santa  Clara:  IEEE, (pp. 387-392)
McComb, G. (2011). Robot Builder's Bonanza. New York: McGraw-Hill.
Ramaraj, E., & Rajan, A. S. (2010). Median Filter Using Open Multiprocessing in Agriculture. IEEE 10th International Conference on Signal Processing Proceedings. Beijing: IEEE.
Siciliano, B., & Khatib, O. (2008). Springer Handbook of Robotics. Springer.
Umarkar,  S.,  &  Karwankar,  A.  (2016).  Automated  Seed  Sowing  Agribot  Using  Arduino.
International  Conference  on  Communication  and  Signal  Processing  (ICCSP).
Melmaruvathur: IEEE, (pp. 1379–1383)
Yoo, H., Yang, U., & Sohn, K. (2013). Gradient-Enhancing Conversion for Illumination-Robust Lane Detection. IEEE Transactions on Intelligent Transportation Systems. IEEE, (pp.
1083-1094)