## Jambura Journal of Electrical and Electronics Engineering

## Implementasi Algoritma SLAM pada Prototipe Robot Pemotong Rumput Menggunakan Raspberry Pi
Istas Pratomo Manalu Departemen Teknologi Komputer Institut Teknologi Del
Laguboti, Indonesia istas.manalu@del.ac.id Putra Bakti Butarbutar Departemen Teknologi Komputer Institut Teknologi Del Laguboti, Indonesia putrabutarbutar58@gmail.com Febriend B.R.C Sigalingging Departemen Teknologi Komputer Institut Teknologi Del Laguboti, Indonesia febriands11@gmail.com Diterima : Juni 2021 Disetujui : November 2021 Dipublikasi : Januari 2022
Pemotongan rumput secara manual masih sering dilakukan oleh sebagian  pemilik  pekarangan  atau  ladang  rumput  yang  luas sehingga  menimbulkan  kebosanan  dan  kelelahan.  Kegiatan pemotongan  rumput  ini  juga  membutuhkan  banyak  waktu  dan tenaga.  Salah  satu  penemuan  mesin  pemotong  rumput  adalah mesin  pemotong  rumput  gendong.  Penemuan  ini  juga  memiliki beberapa kelemahan seperti menimbulkan polusi udara dan suara yang  sangat  mengganggu  masyarakat  sekitar.  Selain  itu pemotongan  manual  ini  juga  merupakan  pekerjaan  yang monoton  dan  berbahaya.  Robot  pemotong  rumput  juga  telah diperkenalkan  dan  tentunya  memiliki  biaya  yang  tinggi.  Oleh karena itu, dalam penelitian ini kami berhasil membuat prototipe mesin  pemotong  rumput  yang  lebih  ekonomis  dari  segi  biaya, energi, dan polusi dengan memanfaatkan Raspberry Pi 3 sebagai mikrokontroler. Prototipe dirancang dengan panjang 24,5 cm dan lebar 22 cm serta dilengkapi dengan pisau mekanik pada bagian depan  yang  memiliki arah  putaran ke bawah.  Prototipe  ini  juga dilengkapi  dengan  sensor  Infrared  yang  dapat  mendeteksi pembatas  area  untuk  menghindari  tabrakan.  Area  pengujian adalah  2x2  meter  tanpa  hambatan  di  dalamnya.  Jalur pemotongan  telah  ditentukan  menggunakan  algoritma  SLAM dimana robot memotong rumput dengan jalur berbentuk S. Kami menunjukkan bahwa robot berjalan sesuai dengan algoritma dan memotong rumput dengan sempurna.
Kata Kunci— Mikrokontroller; Raspberry Pi; SLAM; S-shaped; Lawn Mower.
Abstract— Manual  grass  cutting  is  still  often  done  by  some owners  of  large  yards  or  fields  which  causes  boredom  and fatigue. This activity also requires a lot of time and effort. One of the inventions of the lawn mower is the carrying grass cutting machine.  This  invention  also  has  several  drawbacks  such  as causing air pollution and noise which is very disturbing to the surrounding community, monotonous and dangerous work. The lawn  mower  robot  has  also  been  introduced  with  various programs set in it and of course has a high cost. Therefore, in this research, we succeeded in making a prototype lawn mower that is more economical in terms of cost, energy, and pollution by  utilizing  the  Raspberry  Pi  3  as  a  microcontroller.  The
prototype is designed with a length of 24.5 cm and a width of 22 cm and is equipped with a mechanical knife on the front which has  a  downward  rotation  direction.  The  prototype  is  also equipped with IR sensor that can detect area delimiters to avoid collisions. The test area is 2x2 meters without any obstacles in it. The  mowing  path  has  been  determined  using  the  SLAM algorithm wherein the robot cuts the grass in an S-shaped path. We  show  that  the  prototype  robot  runs  according  to  the algorithm  and  cuts  the  grass  perfectly.  for  further  work  it  is necessary  to  apply  a  different  algorithm  that  can  detect  any obstacles in the test area.
Keywords— Microcontroller; Raspberry Pi; SLAM; S-shaped; Lawn Mower.

## I. P ENDAHULUAN
Pemotongan  rumput  secara  manual  masih  sering dilakukan  oleh  sebagian  pemilik  pekarangan  atau  ladang yang luas sehingga menimbulkan kebosanan dan kelelahan. Kegiatan  ini  juga  membutuhkan  banyak  waktu  dan  tenaga. Salah satu penemuan mesin pemotong rumput adalah mesin pemotong  rumput  gendong.  Penemuan  ini  juga  memiliki beberapa  kelemahan  seperti  menimbulkan  polusi  udara  dan kebisingan  yang  sangat  mengganggu  masyarakat  sekitar, pekerjaan yang monoton dan berbahaya. Memotong rumput juga  perlu  fokus  pada  setiap  aspek  seperti  kemiringan halaman,  rintangan.  Terkadang  terdapat  batu  yang  apabila terkena  akan  menimbulkan  bahaya  terhadap  orang  ataupun mesin  itu  sendiri.  Ini  akan  menyebabkan  cedera  kerja  dan biaya  tambahan  penggantian  material.  Selain  itu  penentuan lintasan  pemotongan  juga  perlu  diperhatikan  untuk menghindari bahaya kerja terhadap orang ataupun mesin.
Wang  et  al. [1] menerapkan  algoritma  SLAM  dan c untuk  mesin  pemotong  rumput.  Mereka  menggunakan NVIDIA  JETSON  TX1  sebagai  mikrokontroler  yang cenderung  cukup  mahal.  Sebagai  hasilnya,  dengan menggunakan  kedua  algoritma  tersebut,  mesin  dapat memotong dengan baik, namun masih perlu untuk mengganti
DFS dengan algoritma lainnya. Hal ini disebabkan DFS tidak selalu  menghasilkan  solusi  yang  paling  optimal  karena mengembalikan  jalur  sukses  pertama  yang  ditemukannya tanpa memperhitungkan waktu atau langkah yang diperlukan untuk sampai ke titik tersebut [2]–[5].
Penelitian  ini  membuat  prototipe  robot  dengan memanfaatkan  Rasberry  Pi  sebagai  mikrokontroler  yang mampu mengatur semua kinerja pada robot seperti sensor dan aktuator. Dengan mengganti algoritma DFS dengan S-shaped dan  algoritma  SLAM  [6],  [7],  diharapkan  dapat  mengatasi kelemahan  dari  segi  waktu  dan  efisiensi  penentuan  rute. Robot akan mengikuti jalur S sesuai dengan algoritma yang diprogram [8]–[10]. Dengan demikian mesin akan mengikuti jalur  dan  memotong  rumput  dari  titik  awal  hingga  ke  titik akhir.

## II. METODE

## A. Metode SLAM
Metode  Simultaneous  localization  and  Mapping (SLAM)  adalah  sebuah  teknik  yang  digunakan  untuk membangun  sebuah  peta  pada  lingkungan  yang  belum diketahui  melalui  bantuan  sebuah  alat  yang  berupa  robot ataupun  autonomous  vechile,  atau  juga  mengupdate  peta yang sudah diketahui dan pada waktu yang sama mengenali lokasi robot tersebut[11]. Simultaneous merupakan suatu hal yang terjadi/berjalan pada saat yang bersamaan, localization merupakan  lokasi  yang  diberikan  oleh  peta,  dan  Mapping merupakan  peta  yang  diberikan  dari  lokasi.  Dalam  buku “SLAM for Dummies” menyatakan SLAM bukanlah sebuah algoritma  yang  berdiri  sendiri,  melainkan  sebuah  metode yang  didalamnya  terdiri  dari  bebrapa  algoritma.  Pada prinsipnya  semua  algoritma  yang  tergabung  akan  bekerja bersamaan pada kondisi tertentu[12][13]. Dalam metode ini terdapat beberapa algoritma diantaranya adalah Wall follow algorithm,  ‘S’  Shape  Pathway  algorithm,  Random  walk algorithm,  dan  lain  sebagainya.  Metode  SLAM  ini  sangat cocok  dan  mendukung  untuk  pembuatan  prototype  lawn mower yang akan di bangun.

## Gambar 1 'S' Shape pathway algorithm
Algoritma  ‘S’  Shape  pathway  adalah  algoritma  yang memetakan lingkungan dengan membentuk huruf seperti ‘S’ [14][15] seperti yang ditunjukkan pada gambar 1. Kelebihan dari  algoritma  ini  adalah  memiliki  jalur  tercepat  dan  dapat mencakup  seluruh  area  untuk  melakukan  pemotongan. Kekurangan dari algoritma ini adalah tidak dapat kembali ke titik awal.

## B. Flowchart Sistem
Berikut gambaran flowchart sistem dengan menggunakan algoritma ‘S’ Shape pathway.

## Gambar 2 Flowchart arah gerak prototipe robot pemotong rumput
Berdasarkan  Gambar  2,  pertama  robot  ditempatkan dititik awal yaitu dibagian pojok kiri bawah dengan simbol huruf  S  yang  artinya  Start.  Kemudian  robot  menyala  dan algoritma  akan  memberikan  hitungan  1  sebagai  acuan  path planning (Count=1). Robot maju kedepan dan ketika sensor yang  terdapat  pada  robot  mendeteksi  adanya  halangan didepan  dengan  batas  jarak  10  cm,  maka  robot  berhenti. Algoritma  akan  membaca  hitungan  jalur  yang  telah  dilalui robot apabila hitungan ganjil, maka robot berbelok ke kanan, tetapi  ketika  hitungan  genap  robot  akan  berbelok  ke  kiri. Dikarenakan  robot  masih  berjalan  sekali  maka  hitungan adalah  1  dan  dianggap  sebagai  ganjil  maka  robot  akan berbelok ke kanan sebesar 1800 yang artinya robot berbentuk bujur/mengitari  area  dan  bergerak  mengikuti  putaran  dari lebar  robot  agar  area  dapat  dicakup  dan  menambahkan  1 hitungan  algoritma.  Robot  maju  dan  karena  proses sebelumnya hitungan telah ditambahkan 1 artinya rute robot dianggap sebagai genap, ketika sensor mendeteksi halangan di  depan  maka  robot  akan  berbelok  ke  kiri.  Setelah  robot berbelok maka robot akan scan apabila ada halangan didepan dan sebelah kanan kemudian hitungan lebih dari 3 maka robot akan  berhenti  Dikarenakan  hitungan  tidak  lebih  dari  3  dan halangan bagian depan dan kanan tidak ada maka robot akan melanjutkan  perjalanannya.  Robot  akan  berhenti  apabila sensor sebelah kanan dan depan terdeteksi halangan dengan jarak  10cm  dan  hitungan  algoritma  berjumlah  lebih  dari  3 maka robot akan berhenti berjalan.
Berikut merupakan alur dari jalannya robot berdasarkan flowchart  Gambar  2  dengan  algoritma  S  Shape  Pathway dapat dilihat pada Gambar 3.

## Gambar 3 Jalur Robot dari Flowchart

## C. Perancangan Sistem Perangkat Keras
Pada Gambar 4 berikut ini, merupakan perancangan alur sistem  yang  akan  dibangun.  Raspberry  sebagai  pengendali inti  semua  komponen  yang  akan  menjalankan  robot  untuk memotong  rumput.  Sensor  halangan  yang  dipakai  adalah sensor IR, dimana pemilihan sensor ini dasari dengan tingkat sensivitas  yang  tinggi  karena  menggunakan  gelombang cahaya  sebagai  media  komunikasi  antara transceiver dan receiver ,  jika  dibandingkan  dengan  ultrasonic  transducer yang menggunakan gelombang suara, maka pastinya  sensor IR  akan  lebih  cepat  memberikan  respon  terhadap obstacle . Selain  hal  tersebut,  pada  prototipe  ini  menggunakan  sensor IR, karena sistem hanya di desain untuk melihat keberadaan obstacle . Sensor IR mengirim gelombang suara ke halangan di depan dan ketika dipantulkan robot akan mengirim data ke Raspberry Pi untuk membuat robot berhenti bergerak.

## Gambar 4 Gambar Perancangan Sistem Perangkat Keras
Relay digunakan untuk mengalirkan atau memutus arus ke  dinamo  untuk  hidup  atau  mati.  Sebagai  pemberi  daya kepada raspberry Pi, kami menggunakan power bank Li-ion berkapasitas  10.000  mAH.  Hal  ini  diharapkan  agar  suplay arus  terhadap  power  bank  stabil  pada  5  V.  Sementara  itu, Arduino  Nano  digunakan  khusus  untuk  pengontrol  roda penggerak untuk maju, mundur, kanan dan kiri [16]. Motor
Driver  BTS7960  ( Dual BTS7960  H Bridge  Configuration ) berfungsi sebagai pengontrol PWM ( Pulse Width Modulation ) atau kecepatan dinamo DC dan menggerakkan perputaran dinamo secara searah jarum jam ( Clockwise ) atau berlawanan  arah  jarum  jam  ( Counterclockwise ).  Baterai Yuasa  YTZ5S  dengan  kapadasitas  12  V/4,5  A  (113mm  x 70mm  x  86mm)  berfungsi  sebagai  pemberi  daya  utama  ke Dinamo DC pemotong dan Dinamo DC roda penggerak (DC 12V  10000  RPM). Step  Up 10A  150W  DC-DC  berfungsi untuk menaikkan arus voltase ke Dinamo DC penggerak agar dapat bekerja maksimal.
D. Kebutuhan Perangkat Lunak
Perangkat  lunak yang  digunakan  untuk  mengolah data, menyimpan  data,  dan  melakukan  pemrosesan  dalam penelitian ini yaitu:
• Raspbian  adalah  OS  dari  distribusi  Debian. Raspbian  dirancang  khusus  untuk  sistem  operasi pada perangkat Raspberry Pi.
• Sublime adalah sebuah editor pemrograman
• Programming  language  Python digunakan  untuk membangun  sistem  prototype  khususnya  program pada raspberry Pi.
• Autocad  digunakan  untuk  menggambar  desain  2 dimensi dan 3 dimensi
• Google SketchUp dan  Adobe  Ilustrator  digunakan untuk mendesign prototype
E. Komunikasi  Serial  antara  Raspberry  Pi  dengan Arduino
Pengontrol roda penggerak pada robot adalah mikrokontroler berupa  Arduino  nano.  Keputusan  untuk  melakukan pergerakan akan diberikan oleh mikrokontroler utama yaitu raspberry pi. Sehingga diperlukan komunikasi serial (UART) Raspberry  Pi  dan  Arduino.  Dalam  prototipe  ini,  kami menggunakan  komunikasi  USB  serial.  Dengan  demikian pengkabelan di dalam prototipe ini lebih rapi dan sederhana. Setelah  melakukan  instalasi  komunikasi  serial,  selanjutnya mengimport library serial pada code Raspberry Pi, kemudian memasukkan port serial yang yang telah kita tentukan.

## III. HASIL DAN PEMBAHASAN
A. Desain Prototipe Robot Lawn Mower
Perancangan mekanik robot dilakukan untuk mendukung  kemampuan  robot  dalam  bergerak  pada  area yang  ditentukan.  Spesifikasi  dari Lawn  Mower dengan menggunakan Raspberry Pi dapat dilihat pada tabel 1 berikut ini.
Tabel 1 Spesifikasi perangkat yang digunakan Spesifikasi Keterangan Panjang robot 34.7cm Lebar robot 37cm Tinggi robot 15.5cm Diameter ban depan Diameter ban belakang 70mm 115mm Panjang pisau 9.5cm Lebar pisau 2cm Akrilik robot (lapisan atas) 24.5cm x 22cm Pipa pisau 23.5cm x 5cm Plat besi penahan pipa pisau 29.5cm x 6.5cm x 7.7cm Akrilik penahan (lapisan bawah) 29cm x 10.4cm Bobot mesin ±3,5 Kg Bobot total ±4,5 Kg
Desain  robot  dengan  keterangan  perangkat  yang  digunakan dapat dilihat pada Gambar 5.

## Gambar 5 Desain prototipe robot pemotong rumput

## B. Pengujian arah gerak robot
Pengujian  pada  pergerakan  robot  dapat  dilihat  pada Gambar 6. Pada gambar tersebut terdapat perintah yang akan dilakukan oleh robot, yaitu:
1. Maju yang artinya robot akan bergerak maju
2. Mundur yang artinya robot akan bergerak mundur
3. Stop yang artinya robot akan berhenti bergerak
4. Belok kiri yang artinya robot akan berbelok ke kiri
5. Belok  kanan  yang  artinya  robot  akan  berbelok  ke kanan
Maka dari perintah diatas robot dapat melakukan arah pergerakan nya dengan maju, mundur, stop, belok kanan, dan belok kiri

## Gambar 6 Pengujian arah pergerakan prototipe robot Pemotong rumput

## Hasil pengujian prototype robot dapat dilihat pada Tabel 2.

## Tabel 2 hasil pengujian prototype robot
No Nama Pengujian Hasil Pengujian 1 Maju Berhasil 2 Mundur Berhasil 3 Belok Kanan Berhasil 4 Belok Kiri Berhasil 5 Sensor Halangan Berhasil 6 Stop Berhasil 7 Pisau On Berhasil 8 Pisau Off Berhasil 9 Mode Otomatis Berhasil

## C. Pengujian Pemotong Rumput
Pada  pengujian  ini  dilihat  apakah  pisau  sudah  dapat digunakan  untuk  memotong  rumput.  Pada  Gambar  7  (a) dimana  pisau  dari  robot  belum  dinyalakan  sehingga  belum melakukan  pemotongan  rumput.  Pada  Gambar  7  (b)  pisau pada prototype robot  dinyalakan  untuk  memotong  rumput, dari  hal  tersebut  bahwa  pisau  sudah  dapat  melakukan pemotongan rumput.
(a) (b)
Gambar 7 (a) Sebelum melakukan pemotongan, (b) Setelah melakukan pemotongan rumput

## IV. K ESIMPULAN
Setelah  perancangan  sistem  dan  pembuatan Prototype of  an  Automatic  Lawn  Mower  using  Raspberry Pi , selanjutnya  dilakukan  pengimplementasian Prototype  of  an Automatic  Lawn  Mower  using  Raspberry  Pi ,  diperoleh bahwa Robot mampu berjalan dengan menggunakan fungsi S Shape  algorithm yaitu  melakukan  rute  yang  membentuk sesuai  huruf  ‘S’.  Untuk  penelitian  berikutnya,  sangat disarankan  untuk  mencoba  jalur  yang  berbeda  untuk menyesuaikan kepada lingkungan yang sebenarnya.

## R EFFERENSI
[1] K. S. Wang and C. K. Huang, “Intelligent Robotic Lawn Mower Design,” in 2018 International Conference on System Science and Engineering, ICSSE 2018 , 2018.
[2] S. El-Ghoul, A. S. Hussein, M. S. A. Wahab, U. Witkowski, and U. Ruckert, “A Modified Multiple Depth First Search Algorithm for Grid Mapping Using Mini-Robots Khepera,” J. Comput. Sci. Eng. , vol. 2, no. 4, pp. 321–338, Dec. 2008.
[3] “(PDF) Search Methods in Motion Planning for Mobile Robots.” [Online]. Available: https://www.researchgate.net/publication/350514506_Search_Me thods_in_Motion_Planning_for_Mobile_Robots. [Accessed: 16- Jun-2021].
[4] TARJAN R, “Depth- first search and linear graph algorithms,” 1971, pp. 114–121.
[5] S. J. Russell, P. Norvig, J. F. Canny, J. M. Malik, and D. D. Edwards, “Artificial Intelligence A Modern Approach,” 1995.
[6] Y. Misono, Y. Goto, Y. Tarutoko, K. Kobayashi, and K. Watanabe, “Development of laser rangefinder-based SLAM algorithm for mobile robot navigation,” in Proceedings of the SICE Annual Conference , 2007, pp. 392–396.
[7] L. D’Alfonso, A. Griffo, P. Muraca, and P. Pugliese, “A SLAM algorithm for indoor mobile robot localization using an Extended Kalman filter and a segment based environment mapping,” in 2013 16th International Conference on Advanced Robotics, ICAR 2013 , 2013.
[8] S. Singh, V. K. Shetkar, F. Siddiqui, and D. Soman, “A novel hybrid navigation algorithm for autonomous robotic vacuum cleaners,” in 2017 6th International Conference on Computer Applications in Electrical Engineering - Recent Advances, CERA 2017 , 2018, vol. 2018-January, pp. 491–496.
[9] K. M. Hasan, Abdullah-Al-Nahid, and K. J. Reza, “Path planning
algorithm development for autonomous vacuum cleaner robots,” in 2014 International Conference on Informatics, Electronics and Vision, ICIEV 2014 , 2014.
[10] Q. Chen, C. Zhang, H. Ni, X. Liang, H. Wang, and T. Hu, “Trajectory planning method of robot sorting system based on S- shaped acceleration/deceleration algorithm,” Int. J. Adv. Robot. Syst. , vol. 15, no. 6, Nov. 2018.
[11] “Pengenalan SLAM (Simultaneous Localization and Mapping) pada LIDAR | BINUS UNIVERSITY MALANG | Pilihan Universitas Terbaik di Malang.” [Online]. Available: https://binus.ac.id/malang/2019/01/pengenalan-slam- simultaneous-localization-and-mapping-pada-lidar/. [Accessed: 15-Jun-2021].
[12] R. Mur-Artal, J. M. M. Montiel, and J. D. Tardos, “ORB-SLAM: A Versatile and Accurate Monocular SLAM System,” IEEE
Trans. Robot. , vol. 31, no. 5, pp. 1147–1163, Oct. 2015.
[13] T. Whelan, S. Leutenegger, R. F. Salas-Moreno, B. Glocker, and A. J. Davison, “ElasticFusion: Dense SLAM without a pose graph,” in Robotics: Science and Systems , 2015, vol. 11.
[14] C. H. Chen and K. T. Song, “Complete coverage motion control of a cleaning robot using infrared sensors,” in Proceedings of the 2005 IEEE International Conference on Mechatronics, ICM ’05 , 2005, vol. 2005, pp. 543–548.
[15] T. Taketomi, H. Uchiyama, and S. Ikeda, “Visual SLAM algorithms: A survey from 2010 to 2016,” IPSJ Transactions on Computer Vision and Applications , vol. 9. Springer, 2017.
[16] M. Lamatenggo, P. T. Elektro, I. Wiranto, and W. Ridwan, “Perancangan Balancing Robot Beroda Dua Dengan Metode Pengendali PID Berbasis Arduino Nano,” Jambura J. Electr. Electron. Eng. , vol. 2, no. 2, pp. 39–43, Jul. 2020.