• Tidak ada hasil yang ditemukan

Sistem Navigasi Kendaraan Menggunakan Indoor GPS Marvelmind dengan Implementasi pada Robot Operating System (ROS)

N/A
N/A
Erdianto Parluhutan sitorus

Academic year: 2024

Membagikan "Sistem Navigasi Kendaraan Menggunakan Indoor GPS Marvelmind dengan Implementasi pada Robot Operating System (ROS)"

Copied!
173
0
0

Teks penuh

(1)

Laporan Kerja Praktik

Sistem Navigasi Kendaraan Menggunakan Indoor GPS Marvelmind dengan

Implementasi pada Robot Operating System (ROS)

Badan Riset dan Inovasi Negara Bandung KST Samaun Samadikun

Oleh:

14S20009 Erdiato Parluhutan Sitorus

Program Studi Sarjana Teknik Elektro Fakultas Informatika dan Teknik Elektro

Institut Teknologi Del

Tahun 2023

(2)

LEMBAR PENGESAHAN LAPORAN KERJA PRAKTIK

Judul Sistem Navigasi Kendaraan Menggunakan Indoor GPS Marvelmind dengan Implementasi pada Robot Operating System (ROS)

Perusahaan Badan Riset dan Inovasi Negara Bandung KST Samaun Samadikun

Nama Erdianto Parluhutan Sitorus NIM 14S20009

Jenjang Studi Sarjana (S1) Program Studi Teknik Elektro

Fakultas Informatika dan Teknik Elektro Waktu Pelaksanaan 12 Juni 2023 s/d 11 Agustus 2023

Bandung, 12 Agustus 2023 Mengetahui,

Dosen Pembimbing Akademik, Pembimbing Lapangan,

I Gde Eka Dirgayussa, S.Pd,M.Si Erik Adiwiguna

NIDN. 0103058901 NIP.198712052018011001

Menyetujui,

Ketua Program Studi Teknik Elektro, Guntur Petrus Boy Knight, S.T, M.T

NIDN.0126078702

KATA PENGANTAR

i

(3)

Dengan rendah hati, penulis memanjatkan puji dan syukur kepada Tuhan Yang Maha Esa atas rahmat dan karunia-Nya yang telah melancarkan penulis dalam menyelesaikan Laporan Kerja Praktek di Badan Riset dan Inovasi Nasional yang berjudul "Sistem Navigasi Kendaraan Menggunakan Indoor GPS Marvelmind dengan Implementasi pada Robot Operating System (ROS)". Laporan ini disusun sebagai tuntutan penyelesaian mata kuliah Kerja Praktek di Program Studi Teknik Elektro Fakultas Informatika dan Teknik Elektro Institut Teknologi Del. Penulis berharap dengan selesainya kerja praktek ini dapat menambah wawasan dan keterampilan penulis yang diperoleh selama melakukan kerja praktek.Adapun kerja praktek ini dilaksanakan di Badan Riset dan Inovasi Nasional (BRIN) selama kurun waktu 61 hari, mulai dari tanggal 12 Juni hingga 12 Agustus 2019.

Terima kasih yang sebesar-besarnya kepada Badan Riset dan Inovasi Nasional atas kesempatan dan dukungan yang diberikan selama kerja praktek ini. Pada kesempatan ini juga, penulis mengucapkan terima kasih kepada seluruh pihak yang telah memberikan bantuan, dan bimbingan kepada penulis untuk menyelesaikan laporan kerja praktek ini. Untuk itu, penulis mengucapkan rasa terima kasih yang sebesar-besarnya kepada:

1. Bapak Profesor Estiko Rijanto atas bimbingan dan motivasi yang diberikan selama pelaksanaan Kerja Praktek.

2. Bapak Afrias Sarotama sebagai Pembimbing lapangan yang telah memberikan bimbingan, nasihat, masukan, kritik serta saran kepada penulis.

3. Bapak Erik Adiwiguna yang telah membantu segala administarasi dan keperluan pendukung lainnya terkait Kerja Praktek.

4. Bapak Hafil dan Bapak Aryo yang telah memberikan bantuan dan dukungan selama Kerja Praktek.

5. Orang tua dan keluarga yang selalu memberikan nasihat, motivasi dan dukungan.

6. Seluruf staff BRIN yang telah memberikan bantuan.

7. Bapak Guntur Purba Siboro selaku Kepala Program Studi Teknik Elektro Institut Teknologi Del.

8. Bapak I Gde Eka Dirgayussa selaku pembimbing kerja praktek di Institut Teknologi Del

9. Teman -teman kerja praktek di BRIN.

ii

(4)

Penulis menyadari bahwa dalam laporan kerja praktek ini masih ditemukan berbagai kekurangan, baik dalam penyusunan laporan maupun dalam materi yang disajikan. Oleh karena itu, penulis dengan tulus meminta maaf atas kekurangan tersebut yang mungkin ada. Penulis mengupayakan yang terbaik dalam konteks ini. Tidak hanya itu, penulis juga mengharapkan agar laporan ini memiliki manfaat bagi pembaca, terutama bagi Institut Teknologi Del, perusahaan terkait, dan pihak-pihak lain yang memiliki kepentingan. Dalam akhir kata, penulis ingin mengucapkan terima kasih atas perhatian dan kesempatan ini.

Bandung, 14 Agustus 2023

Erdianto Sitorus

iii

(5)

ABSTRAK

Teknologi kendaraan otonom merupakan inovasi yang memungkinkan kendaraan untuk beroperasi secara otomatis tanpa memerlukan kendali langsung dari manusia. Tujuan utama kendaraan otonom adalah meningkatkan keselamatan lalu lintas dengan mengurangi kecelakaan yang disebabkan oleh manusia, serta meningkatkan efisiensi dan pengelolaan lalu lintas dengan pengurangan kemacetan.

Marvelmind adalah perangkat yang dapat digunakan untuk melakukan navigasi kendaraan otonom.

Melalui integrasi Indoor GPS Marvelmind pada platform ROS, kendaraan otonom dapat memperoleh data lokasi yang cukup akurat dan memungkinkan pemetaan lintasan yang akan dilalui.

Dalam pengerjaan sistem navigasi kendaraan, dilakukan instalasi ROS pada perangkat Raspberry Pi dan software Dashboard Indoor GPS di windows. Software Dashboard Indoor GPS digunakan untuk kofigurasi beacon statis, beacon dinamis dan modem dari perangkat Marvelmind. Konfigurasi dilakukan untuk memungkinkan komunikasi antar perangkat Marvelmind. Beacon statis terdiri dari empat buah dan diletakkan disetiap sudut ruangan untuk membaca lokasi dan pergerakan beacon dinamis dan mengirimkan data lokasinya ke modem. Modem terhubung dengan platform Windows untuk menerima data lokasi dan menampilkan rute pergerakan dari beacon dinamis yang terhubung dengan perangkat raspberry. Melalui ROS yang telah terinstall pada Raspberry memungkinkan untuk mempublish sekumpulan data mengenai informasi dari mobile beacon dalam bentuk topik- topik yang terdapat pada perangkat marvelmind. Penelitian ini menghasilkan sebuah sistem navigasi kendaraan yang berperan penting dalam pengembangan sistem kendaraan otonom.

Kata Kunci: Indoor GPS Marvelmind, Kendaraan Otonom, ROS, Sistem Navigasi

iv

(6)

ABSTRACT

Autonomous vehicle technology is an innovation that enables vehicles to operate automatically without direct human control. The primary goal of autonomous vehicles is to enhance traffic safety by reducing accidents caused by human error, as well as to improve traffic efficiency and management by alleviating congestion. Marvelmind is a device that can be employed for autonomous vehicle navigation. Through the integration of Indoor GPS Marvelmind on the ROS platform, autonomous vehicles can acquire sufficiently accurate location data, enabling precise route mapping. In the development of the vehicle navigation system, ROS installation was performed on a Raspberry Pi device, and the Indoor GPS Dashboard software on Windows. The Indoor GPS Dashboard software was used to configure static beacons, dynamic beacons, and the Marvelmind device's modem. Configuration was executed to facilitate communication between Marvelmind devices. Static beacons, consisting of four units, were placed at each corner of the room to track the location and movement of dynamic beacons and transmit their location data to the modem. The modem was connected to a Windows platform to receive and display the movement routes of the dynamic beacons, which were connected to the Raspberry Pi device.

Through the ROS that has been installed on the Raspberry, it is possible to publish a collection of data regarding information from mobile beacons in the form of topics found on the MarvelMind device. This research produces a vehicle navigation system which plays an important role in the development of autonomous vehicle systems.

Keywords: Indoor GPS Marvelmind, Autonomous Vehicles, ROS, Navigation System.

v

(7)

DAFTAR ISI

LEMBAR PENGESAHAN LAPORAN KERJA PRAKTIK...i

KATA PENGANTAR...i

ABSTRAK...i

ABSTRACT...i

DAFTAR ISI...i

DAFTAR TABEL...i

DAFTAR GAMBAR...i

DAFTAR LAMPIRAN...i

BAB I PENDAHULUAN...1

1. 1 Latar Belakang...1

1. 2 Rumusan Masalah...1

1. 3 Tujuan Kerja Praktek...1

1. 4 Ruang Lingkup Masalah Kerja Praktek...1

1. 5 Manfaat Kerja Praktek...1

BAB II TINJAUAN PUSTAKA...1

3.1 Navigasi dalam Ruangan (Indoor)...1

3.2 Indoor GPS Marvelmind...1

3.3 Robot Operating System (ROS)...1

BAB III METODOLOGI KERJA PRAKTEK...1

3.1 Tujuan Operasional dan Data yang Dibutuhkan...1

3.2 Tahapan Pelaksanaan Kerja Praktek...1

3.2.1. Tahap Persiapan...1

3.2.2. Tahap Pelaksanaan...1

3.2.3. Tahap Penyusunan Laporan...1

3.3 Metode Pengambilan Data...1

BAB IV GAMBARAN UMUM DAN KONDISI EKSISTING PERUSAHAAN...1

4.1 Lokasi Perusahaan...1

4.2 Visi dan Misi Perusahaan...1

4.3 Struktur Organisasi...1

BAB V HASIL DAN PEMBAHASAN...1

5.1 Konfigurasi Indoor GPS Marvelmind...1

5.1.1 Setup Modem Indoor GPS Marvelmind...1 vi

(8)

5.1.2 Setup Beacon Indoor GPS Marvelmind...1

5.1.3 Kalibrasi Indoor GPS Marvelmind...1

5.2 Komunikasi Serial Menggunakan Rosserial...1

5.3 Build and Install Marvelmind ROS Package...1

5.4 Combine Publisher and Subscriber in a Closed Loop System...1

5.4.1 Simulasi Turtle Node...1

5.4.2 Turtle Controller...1

5.5 Komunikasi Perangkat Marvelmind Menggunakan ROS...1

5.6 Robot Otonom...1

5.7 Waypoint pada Dashboard Indoor GPS Marvelmind...1

BAB VI KESIMPULAN DAN SARAN...1

6.1 Kesimpulan...1

6.2 Saran...1

DAFTAR PUSTAKA...1

LAMPIRAN...1

Lembar Penilaian...1

Laporan Kehadiran Kerja Praktik...1

vii

(9)

DAFTAR TABEL

Tabel 2.1 Spesifikasi Arduino Due ... 9 Tabel 5.1 List Topik pada Marvelmind Indoor GPS ... 49

viii

(10)

DAFTAR GAMBAR

Gambar 2.1 Indoor GPS Marvelmind ... 21

Gambar 4.1 Lokasi Badan Riset dan Inovasi Nasional ... 2 2 Gambar 4.2 Struktur Organisasi BRIN ... 2 3 Gambar 5.1 Setup Modem Indoor GPS Marvelmind ... 2 4 Gambar 5.2 Setup Beacon Indoor GPS Marvelmind ... 2 5 Gambar 5.3 Pengukuran Manual pada Sumbu X ... 2 6 Gambar 5.4 Nilai Terukur dari Indoor GPS pada Sumbu X ... 2 6 Gambar 5.5 Pengukuran Manual pada Sumbu Y ... 27

Gambar 5.6 Nilai Terukur dari Indoor GPS pada Sumbu Y ... 2 7 Gambar 5.7 Pengukuran Manual pada Koordinat X,Y ... 2 7 Gambar 5.8 Nilai Terukur dari Indoor GPS pada Sumbu X,Y ... 2 8 Gambar 5.9 Program Serial Node ... 3 4 Gambar 5.10 Komunikasi Serial Menggunakan Rosserial ... 3 5 Gambar 5.11 Install Paket Indoor GPS Marvelmind ... 3 6 Gambar 5.12 Build Paket Indoor GPS Marvelmind ... 3 6 Gambar 5.13 Simulasi Turtle Node ... 3 8 Gambar 5.14 Topik dari Turtlesim Node ... 3 8 Gambar 5.15 System Turtlesin Node ... 3 9 Gambar 5.16 Close Loop System ... 43

Gambar 5.17 Node Turtle Controller ... 44

Gambar 5.18 Pergerakan Turtlesim Node Secara Otomatis ... 44

Gambar 5.19 Menjalankan ROS Server ... 46

Gambar 5.20 Menjalankan ROS Marvelmind ... 47

Gambar 5.21 Topik List dari Paket Indoor GPS ... 47

Gambar 5.22 Data yang Diperoleh dari Topik Hedge_Pos_ang ... 40

Gambar 5.23 Tampilan Posisi pada Visualization Marker ... 50

Gambar 5.24 Subscriber Test Indoor GPS Marvelmind ... 51

Gambar 5.25 Create Waypoint pada Dashboard Indoor GPS ... 56

Gambar 5.26 Pembacaan Nilai Koordinat Waypoint ... 57

ix

(11)

DAFTAR LAMPIRAN

Lampiran 1 Penilaian Dari Perusahaan ... 60 Lampiran 2 Log Activity ... 61

x

(12)

BAB I PENDAHULUAN

1. 1 Latar Belakang

Badan Riset dan Inovasi Nasional adalah lembaga pemerintah nonkementerian yang berada di bawah dan bertanggung jawab kepada Presiden Indonesia melalui menteri yang membidangi urusan pemerintahan di bidang riset dan teknologi. Lembaga ini pertama kali dibentuk oleh Presiden Joko Widodo melalui Peraturan Presiden Nomor 74 Tahun 2019. Pada 28 April 2021, berdasarkan Peraturan Presiden Nomor 33 Tahun 2021 tentang Badan Riset dan Inovasi Nasional, BRIN menjadi lembaga yang berdiri sendiri dengan mengintegrasikan Kementerian Riset dan Teknologi. BRIN dibentuk untuk mendorong dan mengkoordinasikan kegiatan riset, teknologi, dan inovasi di berbagai sektor. BRIN bertujuan untuk mempercepat kemajuan teknologi dan inovasi dalam rangka meningkatkan daya saing dan kemandirian bangsa. Dengan memfasilitasi kolaborasi antara lembaga pemerintah, akademisi, industri, dan masyarakat, BRIN bertanggung jawab dalam menggerakkan program dan proyek- proyek strategis nasional yang berbasis riset dan inovasi.

Kerja Praktek (KP) merupakan bagian dari proses pendidikan akademik pada jenjang S1 yang bertujuan untuk memberikan pengalaman belajar kepada mahasiswa dalam situasi nyata di lapangan. Selama pelaksanaan KP, mahasiswa berkesempatan untuk bekerja pada suatu unit industri atau lembaga tertentu yang relevan dengan program studi mereka. Melalui program KP ini para mahasiswa tidak hanya dituntut untuk menerapkan pengetahuan dan keterampilan akademik yang telah diperoleh melalui perkuliahan, tetapi juga diharapkan dapat beradaptasi dengan tuntutan nyata dalam situasi kerja yang sesungguhnya. Mahasiswa diharapkan dapat mencapai kompetensi yang ditetapkan oleh program studi masing-masing di lingkungan Institut Teknologi Del (IT Del).

Pada pelaksanaan Kerja Praktek, penulis telah memilih topik proyek yang akan dikerjakan yaitu terkait dengan pengembangan sistem navigasi kendaraan otonom berbasis Indoor GPS Marvelmind dengan implementasi pada Robot Operating System (ROS). Kendaraan otonom menawarkan potensi untuk meningkatkan keamanan, efisiensi, dan kenyamanan transportasi, baik dalam lingkungan lalu lintas maupun di dalam ruangan. Sistem navigasi menjadi salah satu komponen kunci dalam pengembangan kendaraan otonom, yang memungkinkan kendaraan untuk mengenali lingkungan sekitar dan mengambil keputusan untuk melakukan pergerakan secara aman dan efisien. Dalam konteks navigasi kendaraan otonom, teknologi Indoor GPS dengan menggunakan sistem Marvelmind menjadi solusi menarik karena mampu mengatasi tantangan navigasi dalam ruangan. Indoor GPS adalah sebuah sistem navigasi yang dirancang khusus untuk beroperasi di dalam lingkungan tertutup, seperti gedung, gudang, atau area perindustrian.

(13)

Teknologi Indoor GPS menggunakan kombinasi dari berbagai sensor, termasuk ultrasonik, inframerah, dan pemancar radio, untuk menghitung posisi dan orientasi sebuah objek di dalam ruangan.

Salah satu penerapan penting dari teknologi Indoor GPS adalah pada kendaraan otonom berbasis robotika. Robot Operating System (ROS) telah menjadi platform perangkat lunak yang sangat populer untuk pengembangan sistem kendaraan otonom. ROS menyediakan berbagai alat dan pustaka untuk mempermudah integrasi dan pengelolaan berbagai komponen robotika, termasuk sistem navigasi dan kendali. Melalui laporan kerja praktek ini, penulis berharap dapat menambah wawasan dan pemahaman yang lebih mendalam tentang bagaimana teknologi ini dapat diterapkan dalam pengembangan kendaraan otonom, serta potensi dan tantangan yang dihadapi dalam lingkungan indoor. Selain itu, penulis juga berharap laporan ini dapat menjadi referensi bagi mahasiswa dan para profesional dalam bidang robotika dan kendaraan otonom untuk memahami dan mengaplikasikan teknologi Indoor GPS dan ROS dalam proyek-proyek masa depan.

1. 2 Rumusan Masalah

1. Bagaimana cara instalasi Robot Operating System pada Raspberry pi?

2. Bagaimana cara mengimplementasikan teknologi Marvelmind Indoor GPS dalam sistem navigasi kendaraan di dalam ruangan?

3. Bagaimana melakukan komunikasi serial dengan rosserial?

4. Bagaimana menjalankan Indoor GPS Marvelmind menggunakan ROS?

5. Bagaimana cara combine publisher dan subscriber?

1. 3 Tujuan Kerja Praktek

a. Tujuan Umum

Tujuan umum Kerja Praktek ini adalah sebagai wahana belajar bagi mahasiswa untuk mengintegrasikan kompetensi akademik dan kompetensi profesional secara menyeluruh sesuai dengan yang telah ditetapkan oleh masing-masing program studi.

Melalui pengalaman belajar ini, mahasiswa diharapkan dapat mengembangkan pengetahuan, sikap, dan keterampilan sebagai seorang profesional yang handal, serta mampu mengaplikasikan ilmu yang telah dipelajarinya dalam dunia kerja secara konkret.

Dengan demikian, Kerja Praktek menjadi kesempatan bagi mahasiswa untuk mengalami dan memahami aspek praktis dari bidang studi mereka, meningkatkan keterampilan kerja, dan mempersiapkan diri untuk menghadapi tantangan dalam lingkungan kerja profesional di masa depan.

(14)

b. Tujuan Khusus

1. Melakukan eksplorasi dan penerapan teknologi Marvelmind Indoor GPS untuk mengakuisisi data lokasi dan navigasi di lingkungan indoor dengan tingkat akurasi yang tinggi

2. Mengkaji secara mendalam konsep dan teknologi yang digunakan dalam sistem navigasi kendaraan otonom dengan memanfaatkan teknologi Marvelmind Indoor GPS.

Menganalisis kinerja sistem, keunggulan, dan batasan yang dimiliki oleh teknologi ini dalam konteks navigasi kendaraan otonom di dalam ruangan.

3. Merancang dan mengimplementasikan sistem navigasi kendaraan otonom yang menggunakan teknologi Marvelmind Indoor GPS dengan memanfaatkan fasilitas dan kemampuan yang disediakan oleh Operating Robot System (ROS). Memperhatikan aspek-aspek seperti pemetaan, navigasi, deteksi dan algoritma pengambilan keputusan..

4. Melakukan uji coba secara sistematis untuk menguji performa sistem navigasi kendaraan otonom yang telah dirancang dan diimplementasikan. Melakukan analisis dan evaluasi terhadap hasil uji coba untuk mengukur sejauh mana sistem mampu berfungsi secara efektif, akurat, dan aman dalam menghadapi berbagai situasi dan tantangan navigasi di lingkungan indoor.

5. Mengidentifikasi kendala atau tantangan yang dihadapi selama implementasi sistem navigasi kendaraan otonom

6. Menyajikan laporan kerja praktek yang komprehensif dan sistematis, mencakup seluruh proses dan hasil penelitian serta pengembangan sistem navigasi kendaraan otonom berbasis Indoor GPS Marvelmind dengan integrasi ROS. Laporan ini akan memberikan gambaran jelas tentang metodologi, hasil, dan kesimpulan dari penelitian dan pengembangan yang telah dilakukan.

7. Memastikan bahwa seluruh proses pengembangan dan implementasi sistem navigasi kendaraan otonom berbasis Marvelmind Indoor GPS dengan integrasi ROS dilakukan dengan mematuhi prinsip-prinsip etika dan keamanan.

1. 4 Ruang Lingkup Masalah Kerja Praktek

Ruang lingkup masalah dari Kerja Praktek ini adalah untuk mengkaji pemrograman dan implementasi sistem navigasi kendaraan otonom berbasis Indoor GPS Marvelmind pada platform Robot Operating System (ROS). Laporan kerja praktek ini akan berfokus pada implementasi dan penggunaan sistem Marvelmind untuk mendukung navigasi kendaraan

(15)

otonom di dalam lingkungan indoor. Adapun hal-hal yang menjadi perhatian untuk dimengerti adalah:

1. Instalasi Robot Operating System (ROS) pada Raspberry pi

2. Konfigurasi beacon statis dan dinamis dengan software dashboard pada indoor GPS Marvelmind

3. Membuat waypoint pada software dashboard dan menampilkan koordinat waypoint dengan menjalankan subscriber pada ROS.

4. Menjalankan komunikasi serial menggunakan rosserial untuk mengirimkan instruksi dari program python ke Arduino.

5. Melakukan komunikasi antara ROS di windows dengan ROS pada Raspberry pi 6. Menjalankan program yang disediakan Marvelmind sebagai publisher yang

mengirimkan beberapa topik yang berisi mengenai data lokasi dan posisi dai beacon dinamis.

7. Membuat program dalam bahasa python sebagai subscriber yang akan menampung seluruh topik dari publisher dan mengirimkan instruksi ke Arduino berdasarkan isi topik dari publisher dengan menjalankan komunikasi serial.

8. Membuat program Arduino yang digunakan untuk menggerakkan roda menggunakan motor stepper dan menerima instruksi dari bahasa python.

1. 5 Manfaat Kerja Praktek a. Bagi Perusahaan

1. Menjalin dan membina hubungan baik dengan pihak universitas dan mahasiswanya.

2. Melalui kerja praktek ini, lembaga Badan Riset dan Inovasi Nasional dapat mengembangkan dan mengimplementasikan sistem navigasi kendaraan otonom berbasis Indoor GPS Marvelmind pada platform ROS.

3. Memberi informasi perkembangan teknologi kepada para peserta kerja praktik sehingga dapat memahami perkembangan dan meningkatkan kualitas peserta kerja praktik untuk bekerja secara profesional nantinya.

b. Bagi Kampus

1 Membangun hubungan baik dengan perusahaan dan menciptakan citra positif untuk kampus.

2 Meningkatkan peluang kerja untuk mahasiswa dengan pengalaman kerja langsung.

(16)

3 Mengetahui bagaimana kebutuhan perusahaan terhadap tenaga kerja di industry sehingga dapat memberikan kampus pedoman dalam menyusun kurikulum untuk menyiapkan mahasiswa pada dunia kerja.

4 Memperkenalkan mahasiswa pada budaya kerja dan etika di perusahaan.

c. Bagi Penulis

1. Meningkatkan kemampuan, pengetahuan dan keterampilan mahasiswa terhadap dunia kerja.

2. Memperluas wawasan mahasiswa mengenai dunia kerja di industri teknologi dan robotika.

3. Melatih mahasiswa dapat beradaptasi dengan budaya, norma dan etika yang berlaku di perusahaan.

4. Membangun hubungan yang baik dengan staff di perusahaan sehingga mahasiswa dapat memperoleh pengetahuan dan pengalaman berharga dari para praktisi yang berpengalaman dalam bidang robotika.

5. Berkontribusi dalam inovasi teknologi kendaraan otonom.

6. Mendapatkan pemahaman mendalam tentang navigasi kendaraan otonom dan teknologi Indoor GPS Marvelmind serta penggunaannya pada platform ROS.

1. 6 Sistematika Penulisan

Sistematika penulisan pada laporan ini terdiri dari 6 bab, yaitu : 1. Bab 1. Pendahuluan

Bab ini berisi latar belakang masalah, tujuan kerja praktik, batasan masalah, dan sistematika penulisan.

2. Bab 2. Tinjauan Pustaka

Pada bab ini berisi teori tentang sistem otonom dan hal-hal terkait yang relevan dengan topik yang diteliti selama pelaksanaan kerja praktik.

3. Bab 3. Metodologi Kerja Praktik

Bab ini menjelaskan tahapan pelaksanaan kerja praktik, termasuk persiapan, pelaksanaan, dan penyusunan laporan. Metode yang digunakan untuk pengumpulan data selama kerja praktik juga dijelaskan pada laporan ini.

4. Bab 4. Gambaran Umum dan Eksisting Perusahaan

(17)

Bab ini menjelaskan deskripsi singkat perusahaan, visi dan misi perusahaan, tempat dan lokasi perusahaan, struktur organisasi, dan beberapa proyek perusahaan yang sudah selesai.

5. Bab 5. Hasil dan Pembahasan

Bab ini membahas mengenai proyek-proyek yang dikerjakan oleh penulis dan tim selama melakukan kerja praktik di Badan Riset dan Inovasi Negara. Proyek yang dibahas ialah proyek sistem navigasi kendaraan.

6. Bab 6. Kesimpulan dan Saran

Bab ini menjelaskan kesimpulan dan saran mengenai hasil dari Kerja Praktik.

BAB II TINJAUAN PUSTAKA

2.1 Navigasi dalam Ruangan (Indoor)

Sistem navigasi dalam ruangan (indoor) telah menjadi area penelitian yang semakin penting dalam pengembangan kendaraan otonom dan robotika. Teknologi navigasi indoor memungkinkan kendaraan atau robot untuk beroperasi dengan baik di dalam gedung, pabrik, atau lingkungan tertutup lainnya. Navigasi dalam ruangan merupakan aspek penting dalam pengembangan robotika dan kendaraan otonom. Navigasi dalam ruangan adalah kemampuan untuk mengatur pergerakan dan menentukan posisi di lingkungan tertutup seperti gedung, pabrik, atau ruang dalam gedung [1]. Solusi navigasi indoor memungkinkan pergerakan yang akurat di dalam ruangan tanpa tergantung pada sinyal GPS konvensional, membuka potensi pengembangan aplikasi robotika yang lebih canggih dan efisien di lingkungan dalam ruangan. Solusi navigasi indoor memanfaatkan teknologi seperti sensor jarak, pemetaan lingkungan, dan komunikasi berbasis jaringan lokal untuk menciptakan peta dan menentukan posisi di dalam ruangan.

2.2 Indoor GPS Marvelmind

Marvelmind adalah perusahaan yang menyediakan sistem penentuan posisi dalam ruangan yang disebut Indoor GPS. Sistem ini menggunakan teknologi ultra-wideband (UWB) untuk memberikan informasi posisi yang tepat untuk robot otonom, drone, forklift, kendaraan, dan manusia. Sistem GPS Indoor Marvelmind terdiri dari beacon stasioner yang ditempatkan di seluruh gedung dan beacon bergerak yang dapat dipasang ke pengguna atau objek yang dilacak. Sistem ini dapat melacak hingga 250 beacon dan tag, yang mencakup area seluas hingga 50.000 meter persegi [2].

(18)

Salah satu keunggulan utama dari Indoor GPS Marvelmind adalah kemampuannya untuk memberikan informasi posisi yang akurat di dalam lingkungan dalam ruangan. Sistem GPS Indoor Marvelmind telah terintegrasi dengan berbagai platform, termasuk ROS (Robot Operating System) dan Pixhawk 4, untuk memungkinkan navigasi otonom untuk drone dan robot lainnya [3]. Karena tidak tergantung pada sinyal GPS yang sering kali tidak dapat diakses di dalam gedung, solusi ini mengatasi keterbatasan tersebut dengan memanfaatkan teknologi beacon. Indoor GPS Marvelmind terdiri dari 6 buah perangkat dimana 5 perangkat sebagai beacon dan 1 sebagai modem. Dari kelima becacon salah satu beacon berfungsi sebagai beacon dinamis atau beacon yang akan dilacak pergerakannya dan lainnya sebagai beacon statis.

Beacon Statis adalah perangkat yang ditempatkan di sekitar lingkungan yang akan dinavigasi. Ini bisa dipasang di dinding, langit-langit, atau tempat lain yang strategis.

Beacon ini berfungsi sebagai poin referensi tetap yang mengirimkan sinyal ultrasonik.

Perangkat ini membantu sistem menghitung posisi relatif perangkat yang bergerak berdasarkan waktu tiba sinyal dari beberapa beacon statis. Modem dalam konteks Indoor GPS Marvelmind merujuk pada perangkat komunikasi nirkabel yang digunakan untuk menghubungkan beacon dengan sistem komputer atau perangkat yang mengelola data posisi. Modem ini bertanggung jawab untuk mengirimkan sinyal ultrasonik dari beacon statis ke sistem pemrosesan data. Dalam beberapa implementasi, modem juga dapat memungkinkan komunikasi dua arah untuk mengkonfigurasi dan mengelola pengaturan beacon.

Gambar 2.1 Indoor GPS Marvelmind

2.3 Robot Operating System (ROS)

(19)

Robot Operating System, yang biasa disebut ROS, adalah kerangka kerja perangkat lunak yang dirancang khusus untuk memfasilitasi pengembangan, pengujian, dan pengoperasian robotika [4]. ROS menyediakan berbagai alat, pustaka, dan lingkungan yang mendukung berbagai aspek pengembangan robotika, mulai dari kontrol pergerakan hingga pengolahan data sensor dan interaksi dengan lingkungan sekitar. Salah satu fitur kunci dari ROS adalah pendekatan modular dan terdistribusi. ROS memungkinkan koneksi jaringan proses (node) dengan central hub, memfasilitasi komunikasi dan pertukaran data antar node yang berjalan di beberapa perangkat alat untuk pengujian dan visualisasi. ROS menawarkan serangkaian alat yang membantu pengembang menguji dan men-debug aplikasi mereka, serta memvisualisasikan data dan perilaku sistem [5]. ROS juga menyediakan berbagai alat untuk simulasi robot dan pengujian. Ini memungkinkan pengembang untuk menguji dan memvalidasi algoritma dan perilaku robot dalam lingkungan yang dikendalikan sebelum menerapkannya di dunia nyata. Selain itu, ROS mendukung berbagai bahasa pemrograman, seperti Python dan C++, sehingga pengembang dapat memilih bahasa yang paling sesuai dengan kebutuhan. Dalam konteks pengembangan navigasi indoor seperti menggunakan Indoor GPS Marvelmind, ROS dapat menjadi landasan yang kuat. Integrasi antara sistem navigasi indoor dengan ROS memungkinkan pengembang untuk mengambil keuntungan dari alat dan pustaka yang ada dalam ROS untuk mengelola pergerakan robot, mengintegrasikan data sensor dari beacon, dan mengimplementasikan algoritma navigasi yang kompleks.

ROS menggunakan arsitektur komunikasi yang berpusat pada konsep ROS Master dan didasarkan pada publisher-subscriber. ROS Master memfasilitasi komunikasi antara berbagai node di dalam sistem ROS. Ros Master berperan sebagai titik pusat dari mana semua node mendaftar dan mendapatkan informasi mengenai node lainnya [6]. Dalam konteks ROS, node merupakan unit dasar perangkat lunak yang melaksanakan tugas khusus, seperti mengumpulkan data sensor, mengendalikan aktuator, atau menjalankan algoritma tertentu. Setiap node dapat berinteraksi dengan ROS Master dan node lainnya melalui topik (topics). Dalam arsitektur komunikasi ROS, pola komunikasi yang umum digunakan adalah publisher-subscriber. Node yang mengirimkan data ke suatu topik disebut publisher sedangkan node yang menerima data dari topik yang sama disebut subscriber. Hal ini memungkinkan komunikasi antar node tanpa perlu mengetahui secara eksplisit alamat IP atau detail jaringan dari node penerima data.

2.4 Arduino Due

(20)

Arduino Due adalah salah satu papan pengembangan mikrokontroler yang dirancang untuk memberikan kinerja tinggi. Arduino Due berbasis pada mikrokontroler ARM Cortex-M3 AT91SAM3X8E. Prosesor 32-bit ini memungkinkan Arduino Due untuk menangani tugas-tugas yang lebih kompleks dan memproses data dengan kecepatan yang lebih tinggi dibandingkan dengan papan Arduino yang berbasis mikrokontroler 8- bit. Arduino Due memiliki kecepatan clock 84 MHz, memungkinkan penggunanya untuk mengembangkan proyek dengan tingkat kompleksitas yang lebih tinggi, seperti pengendalian perangkat yang memerlukan resolusi tinggi atau aplikasi yang menuntut pemrosesan data yang cepat. Arduino Due juga dilengkapi dengan sejumlah pin input/output digital dan analog, mendukung berbagai jenis sensor dan aktuator. Selain itu, papan ini mendukung antarmuka USB dan konektivitas serial yang memudahkan pengguna untuk menghubungkannya dengan komputer atau perangkat lain.

Tabel 2.1 Spesifikasi Arduino Due

Spesifikasi Teknologi Arduino Due

Ukuran Papan 101.6×53.3mm

Microcontroller/ Clock Speed AT91SAM3X8E/84MHz

SRAM (Main Memory) 96kB

Flash Memory 512kB

Operating Voltage +3.3V

Input Voltage(recommended) +7~+12V

Output Voltage +5V, +3.3V

Digital I/O Pins 54

PWM Digital I/O Pins 12

Analog Input Pins 12

Analog Output Pins(DAC) 2

Rated Current per Pin 130mA/All Pins Program Writing Pins Micro USB Type-B

Micro USB Type-AB ICSP

(21)

BAB III METODOLOGI KERJA PRAKTEK

3.1 Tujuan Operasional dan Data yang Dibutuhkan

Secara operasional Kerja Praktik ini bertujuan untuk menguji mahasiswa melalui implementasi ilmu pengetahuan yang didapat selama perkuliahan kemudian di terapkan pada perusahaan sehingga memberi penyelarasan antara dunia industri dan pendidikan.

3.2 Tahapan Pelaksanaan Kerja Praktek 3.2.1. Tahap Persiapan

Sebelum memulai pelaksanaan kerja praktek, terdapat beberapa tahapan yang perlu dilalui. Tahap awal adalah mencari tempat kerja praktek, di mana setiap mahasiswa dapat mengajukan permohonan secara individu. Namun, disarankan agar setiap mahasiswa membentuk kelompok dengan satu atau beberapa teman untuk menjalani pengalaman kerja ini secara bersama-sama. Setelah kelompok terbentuk, langkah selanjutnya adalah menentukan perusahaan yang akan menjadi tempat pelaksanaan kerja praktek. Pada tahap ini, penting untuk mengumpulkan informasi detail mengenai kegiatan dan operasi perusahaan tersebut. Informasi ini akan membantu mahasiswa dalam menentukan topik atau proyek spesifik yang akan dikerjakan selama periode kerja praktek. Sebelum benar-benar terjun ke lapangan, ada tahap pelatihan yang harus diikuti. Pelatihan ini diadakan di lingkungan kampus IT Del yang bertujuan mempersiapkan mahasiswa dengan pengetahuan dan keterampilan yang relevan sebelum mereka memulai pengalaman kerja praktik di lapangan.

3.2.2. Tahap Pelaksanaan

(22)

Persiapan sebelum menerima proyek dari Badan Riset dan Inovasi Nasional yaitu : 1. Menjalankan komunikasi serial dengan pyserial

2. Melakukan instalasi ROS di windows 3. Melakukan instalasi ROS di Ubuntu

4. Melakukan instalasi software Dashboard Indoor GPS Marvelmind 5. Mempelajari fitur-fitur pada perangkat ROS

6. Mempelajari datasheet Marvelmind Indoor GPS

7. Melakukan instalasi paket marvelmind Indoor GPS pada ROS 8. Melakukan konfigurasi dan kalibrasi indoor GPS marvelmind 9. Menjalankan paket indoor GPS Marvelmind pada ROS

Kegiatan kerja praktek berlangsung selama 8 minggu, dimulai pada tanggal 12 Juni 2023 hingga 11 Agustus 2023. Lokasi pelaksanaan kerja praktek ini berada di Badan Riset dan Inovasi Nasional yang beralamat di Jl. Sangkuriang, Dago, Kecamatan Coblong, Kota Bandung, Jawa Barat.Selama proses kerja praktek, jadwal kerja telah ditetapkan. Pada hari Senin hingga jumat, mahasiswa menjalani jam kerja dari pukul 08.00 hingga 17.00 WIB.

Waktu istirahat dilakukan pada pukul 12.00 hingga 13.00 WIB.Pembimbing kerja praktek adalah Bapak Afrias Sarotama dan Bapak Erik Adiwiguna, yang memiliki peran penting dalam mengarahkan dan mendampingi mahasiswa selama pelaksanaan kerja praktek di Badan Riset dan Inovasi Nasional.

3.2.3. Tahap Penyusunan Laporan

Pada tahap penyusanan laporan ini Kerja Praktik ini, mahasiswa diberikan template laporan yang sudah disediakan dari prodi oleh koordinator Kerja Praktik. Selanjutnya penulis hanya mengikuti format yang sudah diberikan di dalam panduan tersebut. Laporan disusun secara bertahap setiap akhir minggu. Pengerjaan lebih intensif dilakukan pada 3 minggu terakhir pelaksanaan kerja praktek industri. Laporan disusun atas beberapa bab dengan perincian sebagai berikut.

a. Bab I Pendahuluan

Bab ini membahas mengenai latar belakang, identifikasi masalah, tujuan Kerja Praktek, ruang lingkup masalah dan manfaat Kerja Praktek

b. Bab II Tinjauan Pustaka

Bab ini membahas landasan teori yang berhubungan dengan Kerja Praktik.

c. Bab III Metodologi Kerja Praktek

(23)

Bab ini membahas mengenai tujuan operasional dan data yang dibutuhkan, tahapan pelaksanaan Kerja Praktek, yaitu tahap persiapan, tahap pelaksanaan dan tahap penyusunan laporan, serta metode pengambilan data.

d. Bab IV Gambaran Umum dan Kondisi Eksisting Perusahaan

Bab ini membahas mengenai gambaran umum dan kondisi eksisting perusahaan yang meliputi sejarah perusahaan, profil perusahaan dan identitas perusahaan.

e. Bab V Hasil Pelaksanaan Kerja Praktek

Pada bab ini membahas mengenai ringkasan Kerja Praktek dalam log activity; meliputi pembekalan teori, hasil dan analisis Kerja Praktek.

f. Bab VI Kesimpulan dan Saran

Pada bab ini membahas kesimpulan dan saran Kerja Praktek.

3.3 Metode Pengambilan Data

Adapun penulis melakukan pengambilan data dengan cara:

1. Pendekatan Studi Literatur

Dalam upaya pengambilan data, penulis menerapkan pendekatan studi literatur. Referensi yang meliputi jurnal, artikel, dan situs web dengan melakukan penelusuran online.

Langkah ini memungkinkan penulis untuk merangkum pemahaman dari berbagai sumber yang relevan, membangun landasan teoritis yang kuat, dan mengaplikasikannya dalam konteks kerja praktek.

2. Pendekatan Wawancara

Metode wawancara digunakan sebagai pendekatan untuk mengumpulkan data. Melalui interaksi langsung dengan pembimbing kerja praktek, penulis memperoleh informasi yang mendalam dan sulit diperoleh dari sumber lain. Proses wawancara memberikan kesempatan bagi penulis untuk mengajukan pertanyaan yang lebih mendetail, merinci konsep yang rumit, dan mendapatkan wawasan yang berharga dari pengalaman praktisi.

3. Pendekatan Observasi

Pengambilan data dengan pendekatan observasi memungkinkan penulis untuk mengamati dengan teliti dan mempraktikkan secara langsung pada objek yang sedang diteliti.

Melalui pengamatan visual dan interaksi langsung, penulis mampu mengidentifikasi perincian yang mungkin terlewatkan dan menyerap pengetahuan praktis yang berharga.

Pendekatan ini memberikan kesempatan untuk mendapatkan informasi melalui pengalaman langsung dalam situasi aktual.

(24)

BAB IV GAMBARAN UMUM DAN KONDISI EKSISTING PERUSAHAAN

4.1 Lokasi Perusahaan

Badan Riset dan Inovasi nasional atau sebelumnya dikenal dengan Pusat Penelitian Tenaga Listrik dan Mekatronik (P2 Telimek LIPI) Lembaga Ilmu Pengetahuan Indonesia beralamat di Jl. Sangkuriang – Komplek LIPI Gedung 20 Bandung, Jawa Barat, Indonesia.Dimana BRIN bertugas untuk menjalankan penelitian, pengembangan, pengkajian, dan penerapan, serta invensi dan inovasi yang terintegrasi.

(25)

Gambar 4.1 Lokasi Badan Riset dan Inovasi Nasional

4.2 Visi dan Misi Perusahaan

Berikut merupakan visi dan misi Badan Riset dan Inovasi Nasional (BRIN)

A. Visi:“Menjadi badan yang andal, profesional, inovatif, dan berintegritas dalam pelayanan kepada presiden dan wakil presiden untuk mewujudkan visi dan misi Presiden dan Wakil, yaitu Indonesia maju yang berdaulat, mandiri, dan berkepribadian berlandaskan gotong royong”.

B. Misi:

1. Memberikan dukungan teknis dan administrasi serta analisis yang cepat, akurat dan responsif, kepada Presiden dan Wakil Presiden dalam menyelenggarakan penelitian, pengembangan, pengkajian dan penerapan, serta invensi dan inovasi, penyelenggaraan ketenaganukliran, dan penyelenggaraan keantariksaan secara nasional yang terintegrasi serta melakukan monitoring pengendalian dan evaluasi terhadap pelaksanaan tugas dan fungsi BRIDA.

(26)

2. Meningkatkan kualitas sumber daya manusia dan prasarana riset dan inovasi penyelenggaraan ketenaganukliran, dan keantariksaan secara nasional yang terintegrasi dan pembinaan terhadap pelaksanaan tugas dan fungsi BRIDA.

3. Menyelenggarakan pelayanan yang efektif dan efisien di bidang pengawasan, administrasi umum, informasi, dan hubungan kelembagaan.

4.3 Struktur Organisasi

Gambar 4. Struktur Organisasi BRIN

Pimpinan tertinggi BRIN adalah Bpk. Laksana Trin HandokoSetelah melalui prosesi pelantikan yang berlangsung di Istana Negara pada tanggal 24 April 2021, Bpk.Laksana Tri Handoko resmi menjabat sebagai Kepala BRIN (Badan Riset dan Inovasi Nasional), mengemban peran sebagai pimpinan tertinggi dalam organisasi tersebut. Dengan dilantiknya Laksana Tri Handoko, ia secara resmi mengambil kendali atas arah dan pengembangan strategis BRIN, membawa visi dan kepemimpinan yang baru untuk mendorong inovasi dan riset di Indonesia.

BAB V HASIL DAN PEMBAHASAN

Pada bab ini, penulis akan menjelaskan mengenai proyek yang dikerjakan selama kerja praktek di Badan Riset dan Inovasi Nasional (BRIN). Selama menjalani kerja praktek penulis mengerjakan proyek mengenai pengembangan sistem otonom. Pada proyek ini peneliti berfokus pada pembuatan sistem navigasi kendaraan. Sistem navigasi bertujuan untuk memberikan data lokasi dan arah yang akan ditempuh kendaraan. Dengan adanya sistem navigasi ini mempermudah melacak lokasi dari kendaraan otononom.

(27)

Gambar 5.1 Tahap Pelaksanaan Proyek

5.1 Konfigurasi Indoor GPS Marvelmind

Dalam bab ini akan membahas secara rinci tentang konfigurasi sistem Marvelmind Indoor GPS yang diterapkan dalam proyek ini. Sistem Marvelmind Indoor GPS digunakan untuk mendapatkan data lokasi dalam lingkungan dalam ruangan dengan akurasi tinggi. Untuk mendapatkan data lokasi yang akurat diperlukan langkah-langkah konfigurasi sebagai berikut.

5.1.1 Setup Modem Indoor GPS Marvelmind

Langkah awal dalam konfigurasi indoor GPS adalah pembaruan firmware yang sesuai dengan perangkat. Perangkat penerima, yang dalam hal ini adalah komputer dihubungkan ke modem melalui kabel USB. Selanjutnya adalah upload firmware yang sesuai dengan modem melalui Dashboard Indoor GPS. Dalam hal ini penulis mengunduh firmware terbaru dari situs resmi Marvelmind. Modem berfungsi sebagai perangkat penghubung yang bertugas untuk mengumpulkan data lokasi dari beacon-beacon yang terpasang di lingkungan dalam ruangan, dan meneruskannya ke perangkat penerima, seperti komputer atau Raspberry Pi. Modem berperan sebagai jembatan komunikasi antara beacon dan perangkat penerima,

(28)

memungkinkan pengguna untuk memperoleh informasi akurat tentang posisi dan lokasi relatif dari beacon di dalam ruangan.

Gambar 5.2 Setup Modem Indoor GPS Marvelmind

5.1.2 Setup Beacon Indoor GPS Marvelmind

Beacon Indoor GPS Marvelmind terdiri dari 2 jenis yaitu beacon statis dan beacon dinamis. Beacon statis diletakkan di dinding yang berfungsi untuk menerima data lokasi dari beacon dinamis. Sedangkan beacon dinamis diletakkan di kendaraan yang akan dilacak lokasinya. Untuk masing-masing beacon dilakukan pembaharuan firmware yang sesuai dengan perangkat. Langkah selanjutnya adalah konfigurasi masing-masing beacon melalui Dashboard Indoor GPS. Sesuaikan ketinggian dan alamat (address) dari beacon untuk mendapatkan lokasi yang akurat dari beacon. Setelah masing-masing beacon telah dikonfigurasi dengan benar selanjutnya adalah menempatkan setiap beacon statis di lokasi strategis dalam ruangan dan memiliki koordinat yang telah ditentukan sebelumnya. Beacon statis harus ditempatkan strategis di sudut-sudut ruangan dan di sepanjang dinding untuk memastikan distribusi sinyal yang merata. Jarak antara beacon statis harus diatur dengan baik, menghindari tumpang tindih sinyal yang bisa mengakibatkan data yang tidak akurat. Untuk beacon dinamis dipasang pada objek atau perangkat yang bergerak di dalam lingkungan dalam ruangan. Fungsi utama beacon dinamis adalah untuk memberikan informasi tentang pergerakan objek tersebut. Saat beacon dinamis bergerak, perubahan posisinya akan diindikasikan melalui data yang dikirimkan. Fungsi ini memungkinkan pemantauan dan pengendalian yang akurat terhadap objek yang bergerak di lingkungan indoor, sehingga berguna dalam berbagai aplikasi seperti manufaktur otomatis, logistik, dan penelitian. Dalam keseluruhan sistem Marvelmind Indoor GPS, kombinasi antara beacon statis dan dinamis memungkinkan pengguna untuk memperoleh data lokasi dengan akurasi tinggi dan

(29)

memberikan fleksibilitas dalam melacak baik objek yang bergerak maupun titik referensi tetap di dalam ruangan.

Gambar 5.3 Setup Beacon Indoor GPS Marvelmind

Setelah Setelah menyelesaikan konfigurasi, setiap beacon pada sistem Marvelmind Indoor GPS dapat secara otomatis membaca posisi dari masing beacon dengan presisi menggunakan sinyal ultrasonik. Beacon-beacon ini saling berinteraksi, berbagi informasi mengenai posisi relatif mereka, sehingga sistem dapat menghitung dengan akurat lokasi setiap beacon di lingkungan indoor. Selanjutnya, setiap beacon terhubung dengan modem, yang berfungsi sebagai antarmuka ke perangkat eksternal atau jaringan. Koneksi ini memungkinkan data lokasi yang dikumpulkan oleh beacon diakses secara langsung oleh perangkat lain dalam jaringan. Modem berperan penting dalam menyediakan akses real-time ke informasi lokasi, memberikan fleksibilitas untuk memantau dan menggunakan data tersebut sesuai kebutuhan.

Gambar 5.4 Konfigurasi Indoor GPS Marvelmind

Gambar 5.4 diatas menunjukan masing-masing beacon telah terhubung dan dapat membaca lokasi antar beacon. Tabel yang berada pada pojok kiri atas gambar berisikan jarak dari masing-masing beacon. Tabel akan berwarna putih jika beacon telah berhasil membaca jarak antar beacon dengan akurat dan akan berwarna merah jika jarak yang terbaca belum

(30)

sesuai. Beacon lima berfungsi sebagai beacon dinamis dimana beacon tersebut akan dihubungkan dengan kendaraan yang akan dibaca lokasi perpindahannya. Beacon-beacon lainnya berfungsi sebagai beacon statis yang diletakkan di dinding ruangan dan akan membaca pergerakan dari beacon dinamis kemudian mengirimkan data perpindahannya ke modem.

Gambar 5.5 Data Lokasi Perpindahan Beacon Dinamis

5.1.3 Kalibrasi Indoor GPS Marvelmind

Pada sub bab ini, akan diuraikan proses kalibrasi Indoor GPS yang dilakukan dalam rangka memastikan akurasi dan keandalan data lokasi yang diterima dari sistem Marvelmind.

Proses kalibrasi ini dilakukan dengan membandingkan nilai posisi yang ditampilkan oleh sistem Indoor GPS dengan nilai posisi yang diperoleh melalui pengukuran manual. Kalibrasi Indoor GPS memiliki manfaat penting dalam memastikan bahwa sistem memberikan data lokasi yang akurat dan dapat diandalkan. Dengan membandingkan data lokasi yang diterima dari sistem Indoor GPS dengan nilai posisi yang diukur manual, proses kalibrasi memungkinkan identifikasi dan koreksi ketidakakuratan sistem. Hal ini membantu dalam meningkatkan akurasi data yang diperoleh dari sistem, yang pada gilirannya memperkuat kualitas informasi yang dihasilkan dan solusi yang di implementasikan. Proses kalibrasi dilakukan pada 3 titik yaitu pada sumbu x, sumbu y dan koordinat xy yang ditandai titik warna biru pada gambar 5.6. Titik warna hijau ditandai dengan beacon-beacon statis dinama beacon 1 diletakkan pada pada koordinat (0,0) untuk mempermudah melakukan pengukuran manual. Pengukuran manual dilakukan dengan cara menarik alat ukur dari posisi beacon 1 ke

(31)

benda yang ada pada titik biru dan membandingkan hasilnya dengan nilai yang terukur melalui Indoor GPS.

Gambar 5.6 Kalibrasi pada sumbu x, y dan koordinat xy 1. Lokasi pertama pada sumbu x

Pengukuran manual:

xm1 = 1.85 ,ym1 = 0

Gambar 5.7 Pengukuran Manual pada Sumbu X Nilai terukur dari Indoor GPS Marvelmind:

xe1 = 1.813 ye1 = 0.025

Gambar 5.8 Nilai Terukur dari Indoor GPS pada Sumbu X 2. Lokasi Kedua pada Sumbu Y

(32)

Pengukuran manual:

xm2 = 0, ym2 = 2.87

Gambar 5.9 Pengukuran Manual pada Sumbu Y Nilai terukur pada dari Indoor GPS Marvelmind:

xe2 = 0.07, ye2 = 2.835

Gambar 5.10 Nilai Terukur dari Indoor GPS pada Sumbu Y 3. Lokasi Ketiga pada Koordinat X,Y

Pengukuran manual:

xm3 = 2.17, ym3 = 1.90

Gambar 5.11 Pengukuran Manual pada Koordinat X,Y Nilai terukur dari Indoor GPS Marvelmind:

(33)

xe3 =2.167 ye3 = 1.933

Gambar 5.12 Nilai Terukur dari Indoor GPS pada Koordinat X,Y Perhitungan Nilai Eror

lokasi 1:

ex1 = xm1 - xe1

ex1 = 1.85 - 1.813 = 0.037 lokasi 2:

ex2 = xm2 – xe2

ey2= 2.87 - 2.835 = 0.035 lokasi 3:

ex3 = xm3 - xe3; ey3 = ym3 - ye3;

ex3 = 2.17 - 2.167 = 0.003 ey3 = 1.90 - 1.933 = -0.033

Keterangan : xm = Nilai pengukuran manual pada sumbu x xe = Nilai terukur Indoor GPS pada sumbu x ym= Nilai pengukuran manual pada sumbu y ye= Nilai terukur Indoor GPS pada sumbu y xe= Nilai perhitungan error

5.2 Instalasi Robot Operating System (ROS)

ROS Noetic merupakan salah satu versi dari Robot Operating System (ROS) yang dirilis untuk Ubuntu 20.04. ROS Noetic memiliki dukungan jangka panjang (LTS) hingga tahun 2025 dan didukung oleh arsitektur amd64, armhf, dan arm64. ROS Noetic juga dapat membantu dalam merancang perangkat lunak kompleks tanpa harus mengetahui cara kerja perangkat keras tertentu.

(34)

a. Konfigurasi Ubuntu Repositories

Mengonfigurasi repositori Ubuntu untuk mengizinkan "restricted," "universe," dan

"multiverse" penting untuk memungkinkan akses ke berbagai paket perangkat lunak dan komponen. Repositori "restricted" berisi perangkat lunak yang tidak sepenuhnya bebas dan terbuka, sedangkan repositori "universe" berisi perangkat lunak bebas dan terbuka yang tidak didukung 7secara resmi oleh Canonical. Repositori "multiverse" berisi perangkat lunak yang tidak sepenuhnya bebas dan terbuka karena masalah lisensi dan hukum.

Untuk mengaktifkan repositori "restricted," "universe," dan "multiverse," perlu mengonfigurasi repositori Ubuntu. Setelah mengaktifkan repositori "restricted," "universe,"

dan "multiverse," maka dapat menginstal berbagai paket perangkat lunak dan komponen yang tersedia di repositori tersebut.

b. Setup Sources.List

Konfigurasi sources.list di sistem operasi Ubuntu agar dapat menerima perangkat lunak dari repositori yang ditentukan dengan perintah :

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $ (lsb_release -sc) main" > /etc/apt/sources.list.d/ros- latest.list'

c. Set Up Keys

sudo apt install curl # if you haven't already installed curl curl -s

https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -

d. Instalasi

Pastikan packet Debian telah di up – date :

sudo apt update

lalu install ROS jenis noetic :

sudo apt install ros-noetic-desktop-full

Desktop-Full Install adalah salah satu opsi instalasi ROS Noetic yang direkomendasikan.

Opsi ini mencakup semua paket yang ada di opsi Desktop, ditambah dengan simulator 2D/3D dan paket persepsi 2D/3D.

e. Enviroment Setup

Jalankan script ini di setiap terminal bash yang digunakan untuk ROS:

(35)

source /opt/ros/noetic/setup.bash

selanjutnya, untuk melihat ROS sudah terinstall atau tidak gunakan perintah:

Roscore

Gambar 5.13 Tampilan roscore

5.3 Komunikasi Serial Menggunakan Rosserial

Rosserial adalah sebuah perangkat lunak yang memungkinkan komunikasi serial antara perangkat keras mikrokontroler, seperti Arduino, dengan sistem ROS (Robot Operating System). Dengan menggunakan rosserial dapat mengintegrasikan perangkat keras mikrokontroler dengan ekosistem ROS untuk mengontrol robot atau perangkat lain secara lebih terstruktur dan terintegrasi. Langkah awal dalam implementasi komunikasi serial adalah membuat sebuah ROS node. Node ini bertanggung jawab untuk mengatur komunikasi antara mikrokontroler dan sistem ROS. Penulis menggunakan bahasa pemrograman Python untuk membuat node ini. Node ini akan berperan dalam menginisialisasi komunikasi, mengirim pesan, dan menerima pesan. Selanjutnya adalah membuat node baru yang digunakan sebagai subscriber yang akan menerima pesan yang dikirimkan dari komunikasi serial. Dalam hal ini program pada Arduino berperan sebagai node subscriber yang akan menerima pesan dari publisher. Program Arduino akan menggerakkan roda kendaraan sesuai dengan pesan yang diterima. Komunikasi serial menggunakan rosserial dapat dijalankan ketik node yang berperan dalam menginisialisasi komunikasi telah dijalankan dan selanjutnya node subscriber pada Arduino dijalankan. Pada tahap berikutnya adalah membuat node baru yang berperan sebagai publisher yang akan mengirimkan data informasi. Dalam hal ini publisher adalah node yang terhubung ke Indoor GPS dan akan mengirimkan data informasi dari beacon dinamis.

(36)

 Kode Program serial Node/ROS Node

#!/usr/bin/env python import rospy

from rosserial_python import SerialClient, RosSerialServer from serial import SerialException

from time import sleep import multiprocessing import sys

if __name__=="__main__":

rospy.init_node("serial_node")

rospy.loginfo("ROS Serial Python Node")

port_name = rospy.get_param('~port','/dev/ttyUSB0') baud = int(rospy.get_param('~baud','57600'))

# for systems where pyserial yields errors in the fcntl.ioctl(self.fd, TIOCMBIS, \

# TIOCM_DTR_str) line, which causes an IOError, when using simulated port

fix_pyserial_for_test = rospy.get_param('~fix_pyserial_for_test', False) # Allows for assigning local parameters for tcp_port and fork_server with

# global parameters as fallback to prevent breaking changes if(rospy.has_param('~tcp_port')):

tcp_portnum = int(rospy.get_param('~tcp_port')) else:

tcp_portnum =

int(rospy.get_param('/rosserial_embeddedlinux/tcp_port', '11411'))

if(rospy.has_param('~fork_server')):

fork_server = rospy.get_param('~fork_server') else:

fork_server =

rospy.get_param('/rosserial_embeddedlinux/fork_server', False)

# TODO: do we really want command line params in addition to parameter server params?

sys.argv = rospy.myargv(argv=sys.argv) if len(sys.argv) >= 2 :

port_name = sys.argv[1]

if len(sys.argv) == 3 :

tcp_portnum = int(sys.argv[2]) if port_name == "tcp" :

server = RosSerialServer(tcp_portnum, fork_server)

(37)

rospy.loginfo("Waiting for socket connections on port %d" % tcp_portnum)

try:

server.listen()

except KeyboardInterrupt:

rospy.loginfo("got keyboard interrupt") finally:

rospy.loginfo("Shutting down")

for process in multiprocessing.active_children():

rospy.loginfo("Shutting down process %r", process) process.terminate()

process.join()

rospy.loginfo("All done") else : # Use serial port while not rospy.is_shutdown():

rospy.loginfo("Connecting to %s at %d baud" % (port_name,baud) ) try:

client = SerialClient(port_name, baud, fix_pyserial_for_test=fix_pyserial_for_test)

client.run()

except KeyboardInterrupt:

break

except SerialException:

sleep(1.0) continue except OSError:

sleep(1.0) continue except:

rospy.logwarn("Unexpected Error: %s", sys.exc_info()[0]) client.port.close()

sleep(1.0) continue

 Node Subscriber Pada Arduino

/*

* rosserial Subscriber Example * Blinks an LED on callback */

#define USE_USBCON

#include <ros.h>

#include <std_msgs/Int32.h>

#define STEP_PIN1 5 // Connect the driver's step pin to pin 5

#define DIRECTION_PIN1 6 // Connect the driver's direction pin pin 6

#define STEP_PIN2 7 // Connect the driver's step pin to pin 5

#define DIRECTION_PIN2 8 // Connect the driver's direction pin pin 6

(38)

#define VRM1 22

#define CW1 23

#define RUN1 24

#define VRM2 26

#define CW2 27

#define RUN2 28

#define BERHENTI 0

#define MAJU 1

#define MUNDUR -1

#define MAJUKANAN 2

#define MAJUKIRI 3

#define MUNDURKANAN -2

#define MUNDURKIRI -3

#define PUTARKANAN 4

#define PUTARKIRI -4 int keadaan;

ros::NodeHandle nh;

void messageCallback(const std_msgs::Int32& cmd_msg) { int cmd = cmd_msg.data;

switch (cmd) {

case BERHENTI: keadaan = BERHENTI; berhenti(); break;

case MAJU: keadaan = MAJU; maju(); break;

case MUNDUR: keadaan = MUNDUR; mundur(); break;

case MAJUKANAN: keadaan = MAJUKANAN; maju(); break;

case MAJUKIRI: keadaan = MAJUKIRI; maju(); break;

case MUNDURKANAN: keadaan = MUNDURKANAN; mundur(); break;

case MUNDURKIRI: keadaan = MUNDURKIRI; mundur(); break;

case PUTARKANAN: keadaan = PUTARKANAN; belokKanan(); break;

case PUTARKIRI: keadaan = PUTARKIRI; belokKiri(); break;

default: break;

} }

ros::Subscriber<std_msgs::Int32> sub("turtle_control", &messageCallback);

void setup() {

pinMode(LED_BUILTIN, OUTPUT);

nh.initNode();

nh.subscribe(sub);

pinMode(STEP_PIN1, OUTPUT);

pinMode(DIRECTION_PIN1, OUTPUT);

pinMode(STEP_PIN2, OUTPUT);

pinMode(DIRECTION_PIN2, OUTPUT);

pinMode(VRM1, OUTPUT);

(39)

pinMode(CW1 , OUTPUT);

pinMode(RUN1, OUTPUT);

pinMode(VRM2, OUTPUT);

pinMode(CW2 , OUTPUT);

pinMode(RUN2, OUTPUT);

keadaan = BERHENTI;

}

void belokKanan() {

delay(10);

digitalWrite(RUN2, LOW);

delay(10);

digitalWrite(CW2, LOW);

delay(10);

digitalWrite(RUN2, LOW);

digitalWrite(VRM2, LOW);

}

void belokKiri() {

delay(10);

digitalWrite(RUN2, LOW);

delay(10);

digitalWrite(CW2, LOW);

delay(10);

digitalWrite(RUN2, LOW);

digitalWrite(VRM2, LOW);

}

void berhenti() {

delay(10);

digitalWrite(RUN2, LOW);

delay(10);

digitalWrite(CW2, LOW);

delay(10);

digitalWrite(RUN2, LOW);

digitalWrite(VRM2, LOW);

}

void maju() {

delay(10);

digitalWrite(RUN2, HIGH);

delay(10);

digitalWrite(CW2, HIGH);

delay(10);

digitalWrite(RUN2, LOW);

digitalWrite(VRM2, HIGH);

(40)

}

void mundur() {

delay(10);

digitalWrite(RUN2, HIGH);

delay(10);

digitalWrite(CW2, LOW);

delay(10);

digitalWrite(RUN2, LOW);

digitalWrite(VRM2, HIGH);

}

void loop() {

switch (keadaan) { case BERHENTI:

break;

case MAJU:

MoveStepsKanan(4, 1000);

MoveStepsKiri(-4, 1000);

break;

case MUNDUR:

MoveStepsKanan(-4, 1000);

MoveStepsKiri(4, 1000);

break;

case MAJUKANAN:

MoveStepsKanan(4, 1000);

MoveStepsKiri(-8, 1000);

break;

case MAJUKIRI:

MoveStepsKanan(8, 1000);

MoveStepsKiri(-4, 1000);

break;

case MUNDURKANAN:

MoveStepsKanan(-4, 1000);

MoveStepsKiri(8, 1000);

break;

case MUNDURKIRI:

MoveStepsKanan(-8, 1000);

MoveStepsKiri(4, 1000);

break;

case PUTARKANAN:

MoveStepsKanan(-4, 1000);

MoveStepsKiri(-4, 1000);

break;

case PUTARKIRI:

MoveStepsKanan(4, 1000);

MoveStepsKiri(4, 1000);

break;

}

nh.spinOnce();

(41)

delay(1);

}

void MoveStepsKanan(int steps, unsigned int microsecondStepDelay) {

if (steps < 0){

digitalWrite(DIRECTION_PIN1, LOW); // Set counter-clockwise direction }else{

digitalWrite(DIRECTION_PIN1, HIGH); // Set clockwise direction }

// Moves desired number of steps

// Motor rotates one step when STEP_PIN changes from HIGH to LOW for(int i = 0; i < abs(steps); i++){

digitalWrite(STEP_PIN1, HIGH);

delayMicroseconds(microsecondStepDelay/2);

digitalWrite(STEP_PIN1, LOW);

delayMicroseconds(microsecondStepDelay/2);

} }

void MoveStepsKiri(int steps, unsigned int microsecondStepDelay) {

if (steps < 0){

digitalWrite(DIRECTION_PIN2, LOW); // Set counter-clockwise direction }else{

digitalWrite(DIRECTION_PIN2, HIGH); // Set clockwise direction }

// Moves desired number of steps

// Motor rotates one step when STEP_PIN changes from HIGH to LOW for(int i = 0; i < abs(steps); i++){

digitalWrite(STEP_PIN2, HIGH);

delayMicroseconds(microsecondStepDelay/2);

digitalWrite(STEP_PIN2, LOW);

delayMicroseconds(microsecondStepDelay/2);

} }

Dengan menggunakan Rosserial dapat membuat komunikasi yang lancar antara perangkat keras mikrokontroler dan sistem ROS, memungkinkan untuk mengendalikan dan memonitor robot atau sistem lain secara lebih terstruktur dan terintegrasi. Langkah awal untuk membuat komunikasi serial dengan menjalankan program serial_node atau node yang akan memfasilitasi untuk melakukan komunikasi serial yang ditampilkan Gambar 5.14.

(42)

Gambar 5.14 Program Serial Node

Dengan menjalakan kedua program maka akan muncul topik dengan nama turtle_control seperti yang ditampilkan pada Gambar 5.15 dimana subscribernya adalah program pada ardunino.

Gambar 5.15 Komunikasi Serial menggunakan Rosserial

5.4 Build and Install Marvelmind ROS Package

Paket perangkat lunak Marvelmind ROS adalah sebuah paket yang memungkinkan untuk mengintegrasikan sistem pelacakan indoor Marvelmind dengan platform Robot Operating System (ROS). Dengan menggunakan paket ini dapat mengakses data pelacakan dari sensor Marvelmind dalam lingkungan ROS, yang sangat berguna untuk aplikasi robotika indoor dan navigasi.

Sebelum memulai proses instalasi, dipastikan bahwa Sistem operasi telah dilengkapi dengan instalasi ROS (dalam hal ini, ROS Kinetic digunakan, namun versi ROS lain yang kompatibel juga dapat digunakan). Berikut adalah penjelasan rinci tentang langkah-langkah yang terlibat dalam membangun dan menginstal paket Marvelmind ROS:

(43)

1. Buka terminal ubuntu dan masuk ke direktori "src" di workspace ROS untuk membuat direktori baru marvelmind_nav dengan menjalankan perintah:

$ cd ~/catkin_ws/src

$ mkdir marvelmind_nav

2. Selanjutnya salin paket Indoor GPS Marvelmind yang diunduh dari repositori ke direktori yang telah dibuat.Paket Indoor GPS juga dapat diunduh dengan menjalankan perintah dibawah ini pada terminal ubuntu:

$ git clone https://github.com/marvelmindrobotics/marvelmind_ros.git

5.16 Install Paket Indoor GPS Marvelmind

3. Sebelum menjalankan paket Indoor GPS Marvelmind, terlebih dahulu build paket dengan menjalankan perintah berikut pada direktori catkin_ws di terminal ubuntu:

$ source devel/setup.bash

$ catkin_make

$ catkin_make install

5.17 Build Paket Indoor GPS Marvelmind

Dengan mengikuti langkah-langkah diatas, perangkat Indoor GPS dapat dijalankan pada platform ROS. Namun sebelum itu perlu mempersiapkan sistem Marvelmind secara manual seperti yang dijelaskan sebelumnya pada konfigurasi Indoor GPS Marvelmind.

(44)

Gunakan komputer lain yang dilengkapi dengan perangkat lunak dasbor (dashboard) untuk membangun peta sebagaimana yang dijelaskan dalam manual pengoperasian:

5.5 Combine Publisher and Subscriber in a Closed Loop System

Turtle node dalam ROS adalah sebuah simulasi perangkat lunak yang mewakili sebuah robot sederhana berbentuk kura-kura.Node ini diimplementasikan dalam paket turtlesim yang disediakan oleh ROS. Tujuan dari turtle node adalah untuk memberikan lingkungan simulasi yang sederhana dan interaktif untuk mengembangkan dan menguji algoritma pengendalian robot.Implementasi combine publisher and subscriber in a closed loop system dengan tujuan untuk menggerakkan turtle node secara otomatis dalam sebuah bidang dimana jika turtle node mendekati batas bidang atau dinding maka turtle node akan melambat dan berputar secara otomatis untuk menghindari tabrakan dengan bidang. Hal ini akan menjadi sebuah sistem keamanan untuk turtle node dalam pergerakan secara otomatis. Tahap implementasinya adalah membuat sebuah node sebagai subscriber dan node lainnya sebagai publisher. Tahap selanjutnya juga membuat node yang lebih kompleks dimana node tersebut sebagai subscriber dan sekaligus publisher untuk topik lainnya.Hal ini yang akan membuat sytem berjalan dalam sebuah close loop system.

5.4.1.1.1

Simulasi Turtle Node

Untuk menjalankan simulasi turtle node pada platform ROS menggunakan instruksi

$ roscore pada terminal ubuntu. Instruksi roscore berperan sebagai pusat komunikasi utama dalam lingkungan Robot Operating System (ROS). Ketika dijalankan, roscore memulai

"master node" yang mengatur aliran informasi antara semua node dalam sistem. Master node mengelola parameter, layanan,

Gambar

Gambar 2.1 Indoor GPS Marvelmind
Gambar 4.1 Lokasi Badan Riset dan Inovasi Nasional
Gambar 4. Struktur Organisasi BRIN
Gambar 5.1 Tahap Pelaksanaan Proyek
+7

Referensi

Dokumen terkait

KATA PENGANTAR Dengan memanjatkan rasa puji dan syukur kehadiran Tuhan Yang Maha Esa, karena atas segala rahmat dan karunia-Nya jualah akhirnya penulis dapat menyelesaikan

Dengan segala kerendahan hati atas terselesainya penyusunan Tugas Akhir ini, penulis memanjatkan puji dan syukur kehadirat Tuhan Yang Maha Esa, yang senantiasa telah

Dengan memanjatkan puji syukur kehadirat Tuhan Yang Maha Esa berkat limpahan rahmat, hidayah dan karunia-Nya sehingga penulis dapat menyelesaikan penyusunan Skripsi melalui

Dengan memanjatkan Puji syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa, karena atas Rahmat dan Karunia-Nya sehingga penulis dapat menyelesaikan penyusunan

Dengan memanjatkan puji syukur kehadiran Tuhan Yang Maha Esa yang telah melimpahkan rahmat, karunia dan hidayahnya kepada penulis, sehingga dapat menyelesaikan

Puji syukur penulis panjatkan kepada Tuhan Yang Maha Esa berkat,rahmat dan segala karunia yang telah dilimpahkan-Nya sehingga penulis dapat menyelesaikan kuliah Kerja

Puji syukur kepada Tuhan Yang Maha Esa atas berkat, rahmat dan karunia-Nya yang telah membimbing dan menguatkan hati penulis sehingga penulis dapat menyusun dan

Om Swastyastu puji syukur kehadapan Ida SangHyang Widhi Wasa/Tuhan Yang Maha Esa, karena atas segala limpahan berkat dan Rahmat-Nya, sehingga Tugas Akhir yang berjudul