Penerapan SLAM Gmapping dengan Robot Operating System ...

7
I. Pendahuluan Robot pintar dan otonom merupakan area teknologi yang semakin berkembang dan banyak digunakan untuk berbagai bidang. Salah satu area penelitian yang berkembang pesat adalah mobil pengemudi mandiri (self- driving car) seperti yang terdapat pada [1–3]. Mobil ini dapat mengantarkan penumpang ke tujuannya secara otonom dan berjalan otomatis. Pada bidang pertanian teknologi robotika telah banyak digunakan antara lain pada [4] yang menggunakan robot untuk membantu proses panen pada rumah kaca khususnya panen bunga. Robot digunakan untuk membawa wadah berisi air sebagai tempat bunga yang baru dipetik agar tidak layu. Robot ini memiliki kemampuan untuk mengikuti pekerja rumah kaca secara otomatis dan memetakan area sekitarnya. Robot juga dapat mengantar bunga yang telah dipetik ketempat stasiun pengumpul bunga jika wadahnya telah penuh. Robot pemetik apel dikembangkan pada [5] dimana robot memanen apel secara otomatis menggunakan pembelajaran mendalam (deep learning). Buah apel dideteksi dan dilokalisasi menggunakan pengolahan citra kemudian apel tersebut dipetik dengan lengan robot. Robot pemotong rumput seperti pada [6] dikembangkan dengan mengendalikan alat pemotong rumput dan gerakan robot menggunakan logika fuzzy. Robot dilengkapi sensor warna sehingga dapat membedakan rumput atau bukan rumput. Robot cerdas bergerak dibidang kebencanaan antara lain dikembangkan oleh Team Hector (Heterogeneous Cooperating Team of Robots) dari TU Darmstadt [7] dimana beberapa robot mampu melakukan eksplorasi terkoordinasi secara otonom pada daerah bencana sekaligus mengenali korban atau objek lainnya. Team ini mengembangkan modul dengan sumber terbuka (open source) yang dikenal dengan nama hector_slam yang melakukan lokalisasi posisi robot serta pemetaan untuk daerah bencana. Robot kebencanaan lainnya yang telah dikembangkan terdapat pada [8]. Robot kebencanaan ini memiliki kemampuan untuk mendeteksi korban dengan memanfaatkan sensor PIR, memetakan rintangan di sekitar robot dengan sensor Penerapan SLAM Gmapping dengan Robot Operating System Menggunakan Laser Scanner pada Turtlebot Aulia Rahman Jurusan Teknik Elektro dan Komputer, Fakultas Teknik, Universitas Syiah Kuala Jl. Syech Abdurrauf No. 7, Banda Aceh 2311 e-mail: [email protected] Abstrak—Kemampuan untuk berpindah dari satu lokasi ke lokasi lain dengan aman untuk melakukan tugas yang diberikan merupakan kemampuan dasar yang harus dimiliki oleh mobile robot. Untuk memenuhi keperluan tersebut maka robot harus mampu mengindera lingkungan disekitarnya dan juga mengetahui lokasi dirinya relatif terhadap lingkungan tersebut. Penginderaan lingkungan ini dilakukan dengan menggunakan laser scanner untuk menghasilkan peta dua dimensi (2D), sementara untuk mengestimasi posisi relatif robot pada peta (lokalisasi) menggunakan particle filter. Penerapan pemetaan dan lokalisasi secara bersamaan ini diimplementasikan menggunakan algoritma Simultaneous Localization and Mapping (SLAM) Gmapping berbasis Robot Operating System (ROS) pada turtlebot 3. Hasil yang diperoleh berupa peta probabilistik 2D occupancy grid map dalam skala abu-abu. Selain mengimplementasikan SLAM gmapping dengan pada turtlebot 3. Artikel ini juga memperlihatkan simulasi 3D menggunakan gazebo. Kata kunci: Robot Operating System (ROS), Gmapping slam, Laser scanner, Turtlebot Abstract—The manouver ability from one place to another in order to accomplish some tasks safely is a basic requirement of mobile robotics. Current robotic’s navigation systems require a ’real world’ map data, acquired by on-board sensors, to carry out simultaneous localisation and navigation (SLAM) algorithm. There are several SLAM algorithms. In this article we used SLAM gmapping using robot operating system (ROS) and laser scanner. The gmapping slam algorithm used particle filter method to localize robot pose within the environment and generate 2D occupancy grid map. The map is in gray-scale informed the free space, wall, and unexplored space. The implementation of gmapping slam conducted with turtlebot 3 from Robotics as well as 3D simulation using gazebo. Keywords: Robot Operating System (ROS), Gmapping slam, Laser scanner, Turtlebot Copyright © 2020 Jurnal Rekayasa Elektrika. All right reserved Jurnal Rekayasa Elektrika Vol. 16, No. 2, Agustus 2020, hal. 103-109 ISSN. 1412-4785; e-ISSN. 2252-620X, Terakreditasi RISTEKDIKTI No. 36b/E/KPT/2016 DOI: 10.17529//jre.v16i2.16491 Received 21 April 2020; Revised 15 May 2020; Accepted 27 June 2020 103

Transcript of Penerapan SLAM Gmapping dengan Robot Operating System ...

Page 1: Penerapan SLAM Gmapping dengan Robot Operating System ...

I. Pendahuluan

Robot pintar dan otonom merupakan area teknologi yang semakin berkembang dan banyak digunakan untuk berbagai bidang. Salah satu area penelitian yang berkembang pesat adalah mobil pengemudi mandiri (self-driving car) seperti yang terdapat pada [1–3]. Mobil ini dapat mengantarkan penumpang ke tujuannya secara otonom dan berjalan otomatis. Pada bidang pertanian teknologi robotika telah banyak digunakan antara lain pada [4] yang menggunakan robot untuk membantu proses panen pada rumah kaca khususnya panen bunga. Robot digunakan untuk membawa wadah berisi air sebagai tempat bunga yang baru dipetik agar tidak layu. Robot ini memiliki kemampuan untuk mengikuti pekerja rumah kaca secara otomatis dan memetakan area sekitarnya. Robot juga dapat mengantar bunga yang telah dipetik ketempat stasiun pengumpul bunga jika wadahnya telah penuh. Robot pemetik apel dikembangkan pada [5] dimana robot memanen apel secara otomatis menggunakan

pembelajaran mendalam (deep learning). Buah apel dideteksi dan dilokalisasi menggunakan pengolahan citra kemudian apel tersebut dipetik dengan lengan robot. Robot pemotong rumput seperti pada [6] dikembangkan dengan mengendalikan alat pemotong rumput dan gerakan robot menggunakan logika fuzzy. Robot dilengkapi sensor warna sehingga dapat membedakan rumput atau bukan rumput.

Robot cerdas bergerak dibidang kebencanaan antara lain dikembangkan oleh Team Hector (Heterogeneous Cooperating Team of Robots) dari TU Darmstadt [7] dimana beberapa robot mampu melakukan eksplorasi terkoordinasi secara otonom pada daerah bencana sekaligus mengenali korban atau objek lainnya. Team ini mengembangkan modul dengan sumber terbuka (open source) yang dikenal dengan nama hector_slam yang melakukan lokalisasi posisi robot serta pemetaan untuk daerah bencana. Robot kebencanaan lainnya yang telah dikembangkan terdapat pada [8]. Robot kebencanaan ini memiliki kemampuan untuk mendeteksi korban dengan memanfaatkan sensor PIR, memetakan rintangan di sekitar robot dengan sensor

Penerapan SLAM Gmapping dengan Robot Operating System Menggunakan Laser Scanner

pada Turtlebot Aulia Rahman

Jurusan Teknik Elektro dan Komputer, Fakultas Teknik, Universitas Syiah KualaJl. Syech Abdurrauf No. 7, Banda Aceh 2311

e-mail: [email protected]

Abstrak—Kemampuan untuk berpindah dari satu lokasi ke lokasi lain dengan aman untuk melakukan tugas yang diberikan merupakan kemampuan dasar yang harus dimiliki oleh mobile robot. Untuk memenuhi keperluan tersebut maka robot harus mampu mengindera lingkungan disekitarnya dan juga mengetahui lokasi dirinya relatif terhadap lingkungan tersebut. Penginderaan lingkungan ini dilakukan dengan menggunakan laser scanner untuk menghasilkan peta dua dimensi (2D), sementara untuk mengestimasi posisi relatif robot pada peta (lokalisasi) menggunakan particle filter. Penerapan pemetaan dan lokalisasi secara bersamaan ini diimplementasikan menggunakan algoritma Simultaneous Localization and Mapping (SLAM) Gmapping berbasis Robot Operating System (ROS) pada turtlebot 3. Hasil yang diperoleh berupa peta probabilistik 2D occupancy grid map dalam skala abu-abu. Selain mengimplementasikan SLAM gmapping dengan pada turtlebot 3. Artikel ini juga memperlihatkan simulasi 3D menggunakan gazebo.

Kata kunci: Robot Operating System (ROS), Gmapping slam, Laser scanner, Turtlebot

Abstract—The manouver ability from one place to another in order to accomplish some tasks safely is a basic requirement of mobile robotics. Current robotic’s navigation systems require a ’real world’ map data, acquired by on-board sensors, to carry out simultaneous localisation and navigation (SLAM) algorithm. There are several SLAM algorithms. In this article we used SLAM gmapping using robot operating system (ROS) and laser scanner. The gmapping slam algorithm used particle filter method to localize robot pose within the environment and generate 2D occupancy grid map. The map is in gray-scale informed the free space, wall, and unexplored space. The implementation of gmapping slam conducted with turtlebot 3 from Robotics as well as 3D simulation using gazebo.

Keywords: Robot Operating System (ROS), Gmapping slam, Laser scanner, TurtlebotCopyright © 2020 Jurnal Rekayasa Elektrika. All right reserved

Jurnal Rekayasa Elektrika Vol. 16, No. 2, Agustus 2020, hal. 103-109ISSN. 1412-4785; e-ISSN. 2252-620X, Terakreditasi RISTEKDIKTI No. 36b/E/KPT/2016DOI: 10.17529//jre.v16i2.16491

Received 21 April 2020; Revised 15 May 2020; Accepted 27 June 2020

103

Page 2: Penerapan SLAM Gmapping dengan Robot Operating System ...

104 Jurnal Rekayasa Elektrika Vol. 16, No. 2, Agustus 2020

ultrasonik, serta kemampuan untuk mengetahui posisi robot menggunakan GPS.

Dari beberapa contoh penerapan teknologi robotika di berbagai bidang seperti yang telah dijelaskan diatas, salah satu kemampuan dasar yang harus dimiliki robot untuk scenario-skenario diatas adalah kemampuan untuk mengestimasi posisi relatif robot terhadap lingkungan atau peta dan secara bersamaan melakukan pemetaan. Kemampuan ini dikenal dengan Simultaneous Localization and Mapping (SLAM). SLAM merupakan suatu istilah yang menggunakan berbagai algoritma untuk menggabungkan beberapa sensor data untuk menghasilkan peta lingkungan yang secara secara simultan juga dapat menentukan lokasi robot. Dulunya masalah ini adalah paradoks yang sulit dipecahkan karena untuk mengetahui posisi robot, robot harus memiliki peta yang akurat. Dan untuk membuat peta yang akurat, robot harus mengetahui posisinya. Paradoks ini dijelaskan dengan baik pada [9].

Solusi dari permasalahan SLAM ini disajikan oleh Choset dan Nagatani pada tahun 2001 [10] menggunakan generalized Voronoi graph (GVG). Metode ini merepresentasikan lingkungan dengan peta topologi GVG yang mengandung informasi tentang lingkungan sekitar robot. Peta topologi GVG ini semakin lama semakin berkembang seiring bertambahnya edges dan nodes baru dari sensor. Sehingga robot pada akhirnya dapat melakukan proses eksplorasi pada lingkungannya secara parsial dan bertahap.

Salah satu metode untuk mencari solusi SLAM adalah dengan particle filter [11]. Particle filter menggunakan sampel atau particle set secara random dan merata untuk merepresentasikan distribusi awal kondisi awal lingkungan robot. Kemudian seiring dengan informasi baru dari sensor robot, state robot diperbarui. Dan proses dilakukan secara terus menerus sehingga diperoleh posisi robot dengan probabilitas tinggi. Algoritma SLAM gmapping yang digunakan dalam artikel ini menggunakan teknik particle filter. Metode lain dalam memecahkan masalah SLAM adalah dengan Kalman Filter [9].

Selain particle filter dan Kalman filter, salah satu algoritma yang banyak digunakan untuk memecahkan SLAM saat ini adalah solusi berbasis grafis (graph-based SLAM) [12]. Metoda ini menggunakan teori optimisasi grafik.

Dari sisi sensor yang digunakan, penggunaan kamera juga banyak digunakan untuk mendapatkan informasi tiga dimensi (3D) dari lingkungan sekitar robot dan untuk melakukan algoritma SLAM. Secara umum sensor kamera yang digunakan dibagi menjadi dua kategori yaitu kamera stereo dan monocular. Kamera stereo yang diintegrasikan dengan sensor depth dikenal dengan RGBD (Red, Green, Blue, and Depth) kamera [13]. Kelebihan kamera RGBD adalah informasi jarak objek didepan kamera dapat diketahui secara langsung sedangkan kamera stereo [14] tidak.

Sementara itu untuk monocular SLAM memerlukan proses tambahan untuk memperoleh menghitung jarak objek terhadap sensor. Prinsip kerja monocular SLAM

[15], [16] adalah dengan mengidentifikasi fitur dari objek dan landmarks sekitar robot.

II. Metode

A. Gambaran umum sistem

Platform robot yang digunakan dalam artikel ini adalah turtlebot 3 dari Robotis. Robot ini memiliki 2 roda dan motor penggerak serta sebuah roda penyangga. Untuk melakukan manuver, robot ini memvariasikan kecepatan putar motornya. Mekanisme penggerak dengan sistem ini dikenal dengan differential drive [17].

Modul Software menggunakan Robot Operating System (ROS) sebagai robot middleware. ROS merupakan middleware dalam penelitian robotika. ROS menyediakan modul-modul yang dapat diimplementasikan langsung oleh peneliti robotika ataupun komunitas dan memungkinkan pengembangan modul-modul baru.

Untuk menyelesaikan permasalahan SLAM, pada artikel ini digunakan teknik partikel filter dan diimplementasikan dengan ROS dalam modul SLAM gmapping [18]. Robot dilengkapi dengan laser scanner sebagai sensor untuk pembuatan peta denah arena indoor yang dijelaskan lebih rinci pada bagian berikutnya. ROS diinstal pada Single Board Computer (SBC) odroid XU-4 sebagai pengganti Raspberry Pi 3 yang merupakan SBC standar yang terpasang pada turtlebot 3. Sistem operasi utama menggunakan Linux Ubuntu versi 16.04 dan versi ROS yang digunakan adalah kinetic kame.

B. ROS

Robot Operating System (ROS) merupakan suatu framework berbasis open source yang berisi tools dan library yang berguna dalam mengembangkan program atau aplikasi untuk sistem robot [19]. Struktur ROS bersifat modular sehingga memudahkan proses integrasi antara program yang telah dikembangkan sebelumnya dengan program yang sedang dikembangkan. Komunikasi antar proses dalam ROS dilakukan dengan menghubungkan program atau yang disebut dengan node yang saling berkomunikasi via topic. Node merupakan program yang ditulis untuk melakukan berbagai fungsi atau tugas tertentu. Sedangkan topic adalah bus yang digunakan dalam transmisi pesan (message) antar node. Node dapat mem-publish data (misanya data laser scanner) yang disebut dengan publisher dan node dapat pula berfungsi menerima dan menampilkan data yang disebut dengan subscriber. Streaming data (message) via topic tersebut dilakukan dalam jaringan lokal TCP yang disebut dengan jaringan ROS atau ROS network.

Kumpulan dari nodes yang saling berkomunikasi dior- ganisir menjadi paket atau package. Package terdiri dari node dan library lainnya. Sistem komunikasi pada ROS dengan node publisher dan subscriber diilustrasikan dalam Gambar 1.

Bentuk elips pada Gambar 1 merupakan node terdiri dari

Page 3: Penerapan SLAM Gmapping dengan Robot Operating System ...

105Aulia Rahman: Penerapan SLAM Gmapping dengan Robot Operating System Menggunakan Laser Scanner pada Turtlebot

dua jenis yaitu publisher dan subscriber. Secara umum node tidak mengetahui dengan node mana dia berkomunikasi. Akan tetapi node dapat mem-publish informasi kesuatu topic. Sedangkan node yang memerlukan informasi tersebut akan men-subscribe informasi pada topic. Node yang mem-publish informasi disebut publisher sedangkan node yang mem-subscribe informasi disebut dengan subscriber. Bentuk kotak menunjukkan topic diinatasikan dengan /topic_name. Topic digunakan sebagai saluran komunikasi data berbasis TCP atau UDP. Setiap topik mempunyai tipe message dengan format tertentu [20]. Message adalah tipe data dalam ROS.

C. Perangkat Keras Robot

Saat ini tersedia banyak sekali robot atau komponen robot yang didukung oleh ROS. Daftar lengkap robot dan komponen lainnya dapat dilihat lebih lanjut pada (https://robots.ros.org). Pada artikel ini penulis menggunakan platform robot dari Robotis yaitu turtlebot 3 waffle.

Turtlebot 3 ini merupakan versi terbaru dari keluarga turt- lebot 1 yang diciptakan oleh salah seorang pendiri Willow Garage yang juga pengembang ROS. Turtlebot 1 dikembangkan pada tahun 2010 dan pertama kali dipasarkan pada tahun 2011. Pada tahun 2012, Yujin Robot mengembangkan turtlebot 2 berbasis pada platform robot yang dikenal dengan nama kobuki. Kemudian pada tahun 2017 turtlebot 3 dikembangkan dengan mengadopsi aktuator cerdas Dynamixel dari Robotis. Versi ini dilengkapi dengan fitur-fitur yang lebih lengkap dari pendahulunya. Dan merupakan platform standar yang telah terintegrasi dengan ROS.

Turtlebot 3 adalah platform robot dengan biaya relatif terjangkau dan tersedia dalam bentuk kit yang langsung dapat digunakan dengan perangkat lunak sumber terbuka (open-source). Turtlebot kit terdiri dari robot base dengan mekanisme sistem penggerak differential drive, sensor jarak 2D/3D, dan sebuah Single Board Computer (SBC), serta kit penunjang lainnya. Turtlebot didesain agar mudah dirakit dan komponennya dapat disesuaikan dengan keinginan pengguna. Pengguna dapat menggunduh cara merakit dan menggunakan turtlebot ini dengan yang tersedia dari Turtlebot SDK.

Sebagai platform robot level pemula, robot ini memiliki dan mengadopsi teknologi pada platform robot yang lebih besar. Dan tidak sedikit robot-robot komersil seperti robot penghisap debu yang awalnya dikembangkan dari platform turtlebot. Salah satu teknologi utama dari turtlebot adalah

Simultaneous Localization and Mapping (SLAM) dan navigasi, sehingga robot ini cocok dikembangkan sebagai robot layanan rumah (home service robot). Turtlebot dapat menjalankan algoritma SLAM untuk membuat peta sekelilingnya dan berjalan di ruangan secara otomatis tanpa menabrak dinding atau objek lainnya.

Banyak laboratorium penelitian dan universitas menggunakan platform ini untuk penelitian tentang SLAM, penelitian multi- robot, dan penelitian interaksi manusia robot. Selain untuk penelitian, robot ini juga banyak digunakan untuk mengajarkan mahasiswa terutama pada mata kuliah dan teknologi robotika (daftar yang cukup komprehensif tersedia pada http://wiki.ros.org/Courses). Robot ini dapat dikendalikan dari jarak jauh menggunakan laptop, joystick maupun telepon genggam. Gambar plafform turtlebot 3 waffle pi standar dapat dilihat pada Gambar 3.

Spesifikasi lengkap kit standar turtlebot 3 dapat dilihat pada Tabel 1. Platform turtlebot 3 ini bersifat modular. Dalam artikel ini, penulis melakukan beberapa modifikasi komponen robot ini untuk meningkatkan kinerja dan agar robot lebih responsif untuk melakukan tugas dengan komputasi yang intensif. Beberapa pilihan tersedia untuk SBC yaitu yang berbasis prosesor Intel atau ARM. Salah satu kelebihan SBC berbasis Intel adalah banyaknya tersedia berbagai sistem operasi berbasis Linux yang pre-installed dengan paket binary ROS yang bisa langsung dioperasikan. Hal ini tentu saja mempermudah proses instalasi. Akan tetapi di sisi lain, arsitektur Intel biasanya memiliki konsumsi power yang lebih tinggi jika diimplentasikan langsung pada robot sedangkan robot memiliki kapasitas baterai terbatas. Selain itu CPU berbasis Intel harganya relatif lebih tinggi dibandingkan sistem ARM.

SBC dari turtlebot 3 kit adalah raspberry pi 3 dengan quadcore. Untuk meningkatkan performa dari SBC maka dalam artikel ini penulis memilih SBC Odroid XU4 yang memiliki jumlah core yang lebih besar yaitu 8 core.

Gambar 1. Ilustrasi komunikasi antar node pada ROS via topik

Tabel 1. Spesifikasi standar kit turtlebot 3 waffle pi

Items Turtlebot Waffle Pi

Max translational vel 0.26 m/s

Max rotational vel 1.82 rad/s

Max. payload 30 Kg

Size (LxWxH) (281 x 306 x 141) mm

Weight 1.89 Kg

Operating time ± 2 Hours

Charging time ± 2.5 Hours

Actuator DynamixelXM430-W210-T

Embedded board OpenCR 1.0

SBC Raspberry Pi 3

Lidar LDS-01120 - 3500 mm

Sensors 3-axis (gyroscope, accelero-meter, magnetometer)

Page 4: Penerapan SLAM Gmapping dengan Robot Operating System ...

106 Jurnal Rekayasa Elektrika Vol. 16, No. 2, Agustus 2020

Hal ini diperlukan karena kita dapat mendistribusikan implementasi tugas dalam ROS node pada kedelapan core dari CPU, terutama untuk menjalankan algoritma SLAM pada turtlebot 3 ini yang membutuhkan komputasi intensif dan diharapkan algoritma SLAM dapat berjalan mulus.

D. Laser Scanner

Laser scanner atau sering juga disebut dengan LiDAR (Light Detection and Ranging) merupakan komponen penting dalam turtlebot 3. Lidar menggunakan laser untuk memindai halangan atau dinding agar robot dapat bermanuver dengan aman. Penggunaan lidar sangat pupoler dewasa ini untuk berbagai keperluan terutama semakin populer setelah semakin banyak digunakan mobil mengemudi otomatis (self driving cars) seperti pada [21] dan [1].

Cara kerja sensor ini adalah dengan memproyeksikan sinar laser atau sinyal sumber kemudian menghitung lamanya (waktu) sinyal pantul yang diterima oleh receiver lidar [17]. Pada lidar 360 derajat, proses ini berlangsung secara berkesinambungan. Hasil scan atau pemindaian lidar ini berupa titik-titik awan (point clouds) dalam bidang 2 dimensi, karena sensor ini hanya menindai bidang horizontal. Jika lidar memindai bidang vertikal dan horizontal maka point clouds yang dihasilkan berupa ruang 3 dimensi. Point clouds 3 dimensi memungkinkan pemetaan lebih detail tentang lingkungan robot tapi

membutuhkan komputasi yang lebih powerful.Turtlebot 3 dilengkapi dengan 3600 lidar. Lidar ini

memiliki jangkauan antara 12–350 cm dengan resolusi angular sebesar 10. Pada penelitian ini, lidar kit standar diganti dengan 2D lidar dari SICK yaitu SICK TIM571. Lidar SICK TIM571 dipilih karena memiliki jangkauan yang lebih besar yaitu antara 5–2500 cm dan resolusi angular yang lebih baik yaitu 0,33. Data laser scanner ini dihubungkan ke SBC Odroid XU4 untuk diproses lebih lanjut oleh ROS dalam menjalankan algoritma SLAM gmapping.

E. Algoritma SLAM

SLAM merupakan algoritma komputasi untuk membuat peta lingkungan sekitar robot dan memperbarui peta berdasarkan informasi dari sensor serta disaat yang sama merekam jejak lintasan robot [9]. Ada berbagai macam teknik yang bisa digunakan untuk menerapkan algoritma SLAM antara lain hector_slam, gmapping, dan cartographer [22]. Semua algoritma SLAM ini tersedia dalam paket standar ROS.

Dalam artikel ini, penulis menggunakan SLAM gmapping untuk melakukan proses lokalisasi dan pemetaan. Metode SLAM dengan gmapping mirip dengan metode SLAM lainnya seperti hector_slam dimana metode ini dapat membuat peta meskipun tidak ada informasi odometry pada robot dan mengimplementasikan algoritma lingkar terbuka (open loop algorithm) dan sebagai konsekuensinya error akibat ketidakpastian sensor akan bertambah besar selama proses pemetaan dilakukan.

Gmapping disisi lain menggunakan pendekatan lingkar tertutup (closed loop approach) dimana jika robot kembali pada posisi awal lagi, peta yang dibentuk akan diperbarui [18]. Gmapping relatif lebih ringan dan membutuhkan sumber daya komputasi lebih sedikit dibandingkan dengan cartographer. Sehingga metode ini cocok diterapkan pada turtlebot 3. Metode gmapping membutuhkan informasi dari lidar dan data odometry robot. Lokalisasi pada gmapping menggunakan metode Monte Carlo Localization (MCL) atau sebut juga dengan filter partikel (particle filter).

Pemetaan dengan gmapping menggunakan teknik occupancy grid map. Peta ini merupakan peta dua dimensi

Gambar 2. Node dan Topic ROS pada algoritma SLAM gmapping

Gambar 3. Turtlebot 3 waffle pi

Page 5: Penerapan SLAM Gmapping dengan Robot Operating System ...

107Aulia Rahman: Penerapan SLAM Gmapping dengan Robot Operating System Menggunakan Laser Scanner pada Turtlebot

(2D) yang sering digunakan pada ROS. Occupancy grid map merupakan peta atau citra greyscale yang direpresentasikan dalam rentang nilai dari 0 sampai dengan 255. Nilai ini diperoleh dari probabilitas posterior menggunakan teorema Bayes. Peta hasil algoritma SLAM dengan gmapping seperti terlihat pada Gambar 8 . Warna putih pada peta adalah area dimana robot bisa bergerak bebas. Warna hitam merepresentasikan dinding atau area okupansi dimana robot tidak bisa bergerak. Dan terakhir warna abu-abu merupakan daerah yang belum dieksplorasi oleh robot. Peta ini nantinya digunakan sebagai informasi bagi robot untuk bermanuver dan bernavigasi.

Pembuatan peta 2D occupancy grid map didasarkan informasi dari odometry robot, modul transformasi koordinat (TF), dan informasi dari sensor lidar (laser scan) ketika robot bergerak. Data ini dapat divisualisasikan pada ROS dengan RViz. Peta 2D yang dihasilkan disimpan oleh map_server dalam map.pgm dan map.yaml. Peta ini digunakan oleh robot untuk mendeteksi rintangan atau objek di sekitar robot sehingga robot dapat bermanuver dengan aman. Alur proses algoritma gmapping SLAM dan node-node ROS yang diperlukan diilustrasikan dalam Gambar 4.

F. Lingkungan pengujian pada arena buatan

Lingkungan pengujian dalam pembuatan peta indoor ruangan oleh robot dilakukan pada arena buatan dengan ukuran panjang arena 600 cm, lebar 400 cm, dan tinggi 60 cm. Bahan pembuatan arena terbuat dari kayu dengan permukaan yang telah dilapisi dengan high pressure laminate agar permukaan dinding arena menjadi rata sehingga pantulan sinar laser dari lidar dapat terbaca dengan baik dan presisi. Arena indoor ini dibuat untuk mensimulasikan kondisi ruangan dengan ukuran kecil dan besar, jalur yang sempit serta jalur yang besar. Ilustrasi arena indoor buatan terlihat pada Gambar 5.

III. HASIL

Turtlebot 3 yang telah dimodifikasi tampak pada Gambar 6. Pada bagian depan terlihat kotak biru, webcam, dan usb-hub. Sementara pada bagian belakang

terdapat lidar SICK Tim 571, baterai lipo, dan antena wifi. Didalam kotak warna biru adalah odroid XU-4 dimana sistem ROS terinstal. ROS yang digunakan adalah versi kinetic kame dan Linux versi 16.04 LTS. Selain itu untuk menjalankan simulator gazebo diperlukan PC desktop karena membutuhkan kartu grafis dengan ukuran 4 GB agar simulasi dengan gazebo berjalan mulus.

Node dan topic yang dieksekusi pada turtlebot 3 seperti pada Gambar 2. Package pada turtlebot 3 untuk menjalankan algoritma SLAM gmapping antara lain adalah turtlebot_core, TF_tree, teleoperation, dan gmapping. Node teleoperation mem-publish /cmd_vel dan di-subscribe oleh turtlebot_core. Node gmapping memperoleh informasi lingkungan dari sensor lidar kemudian dioleh menjadi peta probabilistik 2D occupancy grid map. Peta 2D disimpan oleh package map_server. Untuk melihat hasilnya pada PC desktop, perlu dijalankan RViz. Sementara untuk keperluan simulasi dengan Gazebo, langkah yang harus dijalankan adalah dengan menjalankan Gazebo, teleoperation, gmapping dan Rviz. Rangkuman langkah yang dieksekusi dapat dilihat pada Tabel 2.

Proses gmapping slam pada arena pengujian terlihat pada Gambar 7 dimana terlihat data laser scanner disekitar

Gambar 4. Diagram alir algoritma SLAM gmapping pada turtlebot 3 [20]

Gambar 5. Arena pengujian indoor

(a)

(b)Gambar 6. Turtlebot 3 yang digunakan, (a) tampak depan; (b) tampak belakang

Page 6: Penerapan SLAM Gmapping dengan Robot Operating System ...

108 Jurnal Rekayasa Elektrika Vol. 16, No. 2, Agustus 2020

robot. Kemudian ketika robot bergerak, data disekeliling robot juga diperbaharui sekaligus terlihat posisi dan orientasi robot yang direpresentasikan dalam sumbu koordinat kartesian. SLAM gmapping pada Gambar 7 ditampilkan menggunakan RViz.

Hasil peta 2D occupancy grid map terlihat pada Gambar 8. Terlihat area putih yang berarti area tersebut dapat dilalui oleh robot. Garis hitam merupakan dinding-dinding pada ruang pengujian. Sedangkan warna abu-abu berarti bahwa area tersebut merupakan area yang tidak diekplorasi oleh robot.

Sementara itu kita juga dapat membuat simulasi area pengujian dengan menggunakan simulator yang bernama gazebo. Hasil pembuatan area pengujian SLAM gmapping dengan gazebo ditunjukkan pada Gambar 9.

IV. Pembahasan

Dari hasil pembahasan diatas dapat diperoleh beberapa hal yang dapat didiskusikan. Melihat hasil peta 2D dengan occupancy grip map yang dihasilkan dari algoritma SLAM gmapping terlihat bahwa hasilnya dapat merepresentasikan area pengujian. Hal ini terlihat dari segmentasi warna dalam skala abu-abu grey scale bahwa warna putih merupakan area terbuka, warna hitam merupakan dinding-dinding arena, dan warna abu-abu merupakan area yang tidak dieksplorasi oleh turtlebot 3. Peta 2D yang dihasilkan cukup akurat Simulasi dengan gazebo menunjukkan bahwa simulator ini cukup baik untuk melakukan simulasi.

V. KESIMPULAN

Artikel ini telah membahas tentang bagaimana membuat peta di sekitar robot menggunakan algoritma SLAM gmapping meng- gunakan laser scanner. Peta 2D berupa occupancy grid map yang dihasilkan sudah menyerupai area pengujian sebenarnya. Peta yang dihasilkan di-publish oleh ROS sebagai informasi bagi topic cmd_vel untuk mengendalikan kecepatan robot bermanuver menuju area yang aman. Peta hasil SLAM gmapping berupa citra 2D dalam skala abu-abu yang dibedakan menjadi tiga kategori yaitu: warna hitam adalah dinding, warna putih adalah area kosong atau bebas penghalang, dan terakhir warna abu-abu merupakan area yang belum dieksplorasi oleh robot.

Selain menjalankan algoritma SLAM gmapping pada hardware turtlebot 3 yang telah dimodifikasi, penulis juga menggunakan simulator gazebo untuk mensimulasikan area pengujian dan algoritma SLAM gmapping. Simulator dijalankan pada PC desktop karena gazebo membutuhkan kartu grafis dengan kapasitas minimum 4 GB agar simulasi dapat berjalan dengan baik.

REFERENSI

[1] C. Badue, R. Guidolini, R. V. Carneiro, P. Azevedo, V. B. Cardoso, A. Forechi, L. F. R. Jesus, R. F. Berriel, T. M. Paixão, F. W. Mutz, T. Oliveira-Santos, and A. F. de Souza, “Self-driving cars: A survey,” CoRR, vol. abs/1901.04407, 2019.

[2] S. Verghese, “Self-driving cars and lidar,” in Conference on Gambar 7. Proses gmapping slam pada arena pengujian

Gambar 8. Peta 2D tampak atas arena pengujian dengan gmapping slam

Gambar 9. Gambar perspektif simulasi 3D area pengujian dengan gazebo

Tabel 2. Langkah-langkah dalam menjalankan gmapping slam pada Turtlebot 3 dan simulator Gazebo

Turtlebot 3 Simulasi Gazebo

Turtlebot core Simulator Gazebo

TF tree Teleoperation

Laser scanner Gmapping

Teleoperation RVz Gmapping

RViz (pada PC Desktop)

Page 7: Penerapan SLAM Gmapping dengan Robot Operating System ...

109Aulia Rahman: Penerapan SLAM Gmapping dengan Robot Operating System Menggunakan Laser Scanner pada Turtlebot

Lasers and Electro-Optics. Optical Society of America, 2017, p. AM3A.1.

[3] R. W. Wolcott and R. M. Eustice, “Visual localization within lidar maps for automated urban driving,” in 2014 IEEE/RSJ International Conference on Intelligent Robots and Systems, Sep. 2014, pp. 176–183.

[4] H. Masuzawa, J. Miura, and S. Oishi, “Development of a mobile robot for harvest support in greenhouse horticulture — person following and mapping,” in 2017 IE- EE/SICE International Symposium on System Integration (SII), Dec 2017, pp. 541–546.

[5] Y. Onishi, T. Yoshida, H. Kurita, T. Fukao, H. Arihara, and A. Iwai, “An automated fruit harvesting robot by using deep learning,” ROBOMECH Journal, vol. 6, no. 1, pp. 13-20, Nov 2019.

[6] M. Firdaus, M. Syaryadhi, and A. Rahman, “Pengendalian robot mobil otonom pemotong rumput menggunakan metode logika fuzzy,” Karya Ilmiah Teknik Elektro, vol. 2, no. 2, 2017.

[7] S. Kohlbrecher, J. Meyer, T. Graber, K. Petersen, U. Kli- ngauf, and O. von Stryk, “Hector open source modules for autonomous mapping and navigation with rescue robots,” in RoboCup 2013: Robot World Cup XVII, S. Behnke, M. Veloso, A. Visser, and R. Xiong, Eds. Berlin, Hei- delberg: Springer Berlin Heidelberg, 2014, pp. 624–631.

[8] S. Sausan, B. Sakti, H. Leo, A. Yuliani, I. Permatasari, A. Rahman, and M. Syaryadhi, “Robot pointer sebagai penunjuk jalan tim sar untuk mempermudah pencarian korban bencana gempa,” Jurnal Rekayasa Elektrika, vol. 13, no. 2, p. 112-118, Aug 2017.

[9] J. J. Leonard and H. F. Durrant-Whyte, “Simultaneous map building and localization for an autonomous mobile robot,” in Proceedings IROS ’91: IEEE/RSJ International Workshop on Intelligent Robots and Systems ’91, Nov 1991, vol.3, pp. 1442–1447.

[10] H. Choset and K. Nagatani, “Topological simultaneous localization and mapping (slam): toward exact localiza- tion without explicit localization,” IEEE Transactions on Robotics and Automation, vol. 17, no. 2, pp. 125–137, April 2001.

[11] G. Grisetti, C. Stachniss, and W. Burgard, “Improving grid-based slam with rao-blackwellized particle filters by adaptive proposals and selective resampling,” in Pro- ceedings of the 2005 IEEE

International Conference on Robotics and Automation, April 2005, pp. 2432–2437.

[12] W. Lin, J. Hu, H. Xu, C. Ye, X. Ye, and Z. Li, “Graph-based slam in indoor environment using corner feature from laser sensor,” 2017 32nd Youth Academic Annual Conference of Chinese Association of Automation (YAC), May 2017.

[13] F. Endres, J. Hess, J. Sturm, D. Cremers, and W. Burgard, “3-d mapping with an rgb-d camera,” IEEE Transactions on Robotics, vol. 30, no. 1, pp. 177–187, Feb 2014.

[14] C. Brand, M. J. Schuster, H. Hirschmuller, and M. Suppa, “Stereo-vision based obstacle mapping for indoor/outdoor slam,” 2014 IEEE/RSJ International Conference on Intelligent Robots and Systems, Sep 2014, pp. 1846-1853.

[15] R. Mur-Artal, J. M. M. Montiel, and J. D. Tardós, “Orb- slam: A versatile and accurate monocular slam system,” IEEE Transactions on Robotics, vol. 31, no. 5, pp. 1147– 1163, Oct 2015.

[16] R. Mur-Artal and J. D. Tardos, “Orb-slam2: An open-source slam system for monocular, stereo, and rgb-d cameras,” IEEE Transactions on Robotics, vol. 33, no. 5, pp. 1255–1262, Oct 2017.

[17] P. Corke, Robotics, vision and control: fundamental algorithms in MATLAB® second, completely revised. Springer, 2017.

[18] G. Grisetti, C. Stachniss, and W. Burgard, “Improved techniques for grid mapping with rao-blackwellized particle filters,” IEEE transactions on Robotics, vol. 23, no. 1, pp. 34–46, 2007.

[19] M. Quigley, K. Conley, B. P. Gerkey, J. Faust, T. Foote, J. Leibs, R. Wheeler, and A. Y. Ng, “Ros: an open-source robot operating system,” in ICRA Workshop on Open Source Software, 2009.

[20] Y. Pyo, H. Cho, L. J. Jung, and D. Lim, ROS Robot Programming (English). ROBOTIS, 12 2017. [Online]. Available: http://community.robotsource.org/t/download-the-ros-robot-programming-book-for-free/ 51.

[21] E. Yurtsever, J. Lambert, A. Carballo, and K. Takeda, “A survey of autonomous driving: Common practices and emerging technologies,” CoRR, vol. abs/1906.05113, 2019.

[22] S. Thrun, W. Burgard, and D. Fox, Probabilistic robotics. MIT press Cambridge, 2000.