RANCANG BANGUN SISTEM NAVIGASI
PADA
DIFFERENTIAL STEERING MOBILE ROBOT
Yanuhar Prabowo1) Helmy Widiyantara2) Pauladie Susanto3) S1 Sistem Komputer
STIMIK STIKOM Surabaya Jl. Raya Kedung Baruk 93 Surabaya, 60298
Email : 1)yanuhar.prabowo@gmail.com, 2)helmywid@stikom.edu, 3)pauladie@stikom.edu
Abstract: Several sub-systems establish a system has function perfectly as planned. The system helps people to monitor gas consists of sub-systems that are equipped with gas sensors and other sensors.
This study analyzed the design of navigation system on the differential steering mobile robot, that is a robot moving (mobile robots) that programmed to move towards a certain point coordinates. This Mobile Robot System is a sub-system which supports the Gas Monitoring system. This study uses the method of analysis of literature study of the theories in the book and internet. Based on the theories and these data, we design hardware, testing hardware, software manufacture, integrating all sub-systems into a mobile robot system, testing the overall functionality.
Modules, components used in the design of mobile robots, among others: microcontrollers ATmega128; DT-AVR ATmega1280 CPU MODULE; Differential Mover Robot; DAGU Rover 5 4WD; CMPS10 Tilt Compensated Magnetic Compass; Rotary Encoder; DC motors; Motor controllers; and Liquid Cristal Display ( LCD ). Designing program that are used in the planning of the mobile robots, among others, for the purpose of determining the direction of the coordinates using the application of the theory of trigonometry, the distance to the determination of the coordinates of the destination using the application of the theory of Pythagoras.
The research was successfuly with insignificant error. The average of total error for (x) was 2.42 % (negative direction) and (y) was 0,79% (positive direction).
Keyword: microcontroller, navigation system, trigonometry, Pythagoras, differential steering mobile robot.
Pengembangan robot menjadi
mobile robot. Mobile robot dapat
dikendalikan secara otomatis maupun manual disesuaikan dengan kebutuhan.Mobile robotyang digunakan untuk melakukan monitoring. Monitoring di tempat-tempat yang lolos dari pantauan alat manual dan manusia.Mobile robot
untukmonitoring gas.Dalammonitoring ini diperlukan alat untuk mendeteksi gas secara menyeluruh, melakukan mapping pada area tertentu dan menghindari halangan dalam perjalanannya menuju tujuan yang diinginkan. Oleh karena itu dibutuhkan
sebuah mobile robot yang dilengkapi dengan sensor gas dan sensor-sensor lainnya.
Sebelumnya jenismobile robotini menggunakan teknologi line tracer untuk mendeteksi jalur pergerakan. Mobile robot
berjalan sesuai jalur yang telah disediakan, sehingga tidak efisien dikarenakan harus membuat jalur khusus.Untuk membuat lebih efisien, mobile robot dirancang dengan navigasi otomatis.Mobile robot yang digunakan pada monitoring gas harus memiliki kemampuan untuk bernavigasi dengan baik dan presisi agar robot dapat sampai pada tujuan yang diinginkan.
JCONES Vol 3, No 2 (2014) 107-115 JCONESVol #, No # (2014) ##-##
Journal of Control and Network Systems
Situs Jurnal : http://jurnal.stikom.edu/index.php/jconeJournal of Control and Network Systems
Situs Jurnal : http://jurnal.stikom.edu/index.php/jconeMobile robot yang memiliki kemampuan untuk bernavigasi didukung dengan sistem pengatur kemudi yang dapat untuk manuver, diantaranya adalah penggerak diferensial (differential steering).
Selain memiliki sistem pengatur kemudi, mobile robot juga dilengkapi oleh sistem navigasi yang menunjukkan pemetaan lokasi.Pada umumnya GPS digunakan untuk pemetaan di luar ruangan.Sedangkan di dalam ruangan penggunaan GPS banyak kendala. Oleh karena pemetaan di dalam ruangan dilakukan dengan penggunaan kombinasi sensor yaitu sensor kompas dan rotary
encoder.
Kekurangsempurnaan jenis mobile
robotterdahulu (penggunaan line tracer),
akan dirancang penyempurnaannya dengan teknologi navigasi otomatis.
METODE PENELITIAN
Studi kepustakaan berupa data-data literatur dari masing-masing komponen, informasi dari internet, dan konsep-konsep teoretis dari buku-buku penunjang.
Dari data-data yang diperoleh maka dilakukan perencanaan rangkaian perangkat keras.Dalam perangkat keras ini, dilakukan pengujian perangkat keras dengan program-program yang telah dibuat, pembuatan perangkat lunak adalah tahap selanjutnya.Terakhir adalah penggabungan perangkat keras dengan kerja perangkat lunak yang telah selesai dibuat.
Blok Diagram Sistem
Dua proses utama yang dijalankan, yaitu proses penentuan arah hadap robot terhadap arah koordinat tujuan dan proses penentuan jarak tempuh pada robot dalam menuju koordinat tujuan. Dimana pertama-tama input koordinat didownload kedalam mikrokontroler bersama dengan program untuk menjalankan mobile robot. Setelah mendapatkan input koordinat yang berupa koordinat mana saja yang harus ditempuh oleh robot, robot akan melakukan penentuan arah hadap robot terhadap koordinat tujuan. Proses penentuan arah ini dilakukan dengan mengambil data pada sensor kompas digital yang kemudian diteruskan dengan perhitungan rumus Trigonometri. Sehingga setelah proses ini dilakukan mobile
robotakan mendapatkan data tentang arah
tujuan robot dan mampu menyesuaikan arah hadap robot semula menjadi arah hadap robot terhadap koordinat tujuan. Setelah robot menghadap pada arah hadap yang benar, dilakukan proses penentuan jarak tempuh menuju koordinat tujuan. Proses ini dilakukan menggunakan perhitungan rumus Phytagoras dan melakukan update pada
rotary encoder. Sehingga setelah proses ini
dilakukan robot mampu mengetahui jarak yang harus di tempuh untuk menuju koordinat tujuan dan robot mempunyai kemampuan untuk berhenti saat jarak yang dilalui oleh robot dusah memenuhi jarak tempuh yang harus dilalui. Pada gambar 1 adalah diagram blok keseluruhan dari sistem ini.
Gambar 1 Blok diagram keseluruhan dari sistem
Differential Steering Mobile Robot
Salah satu jenis mobile robot yang umum digunakan, terutama untuk dioperasikan dalam ruangan adalah dengan pengemudian atau sistem penggerak diferensial (differential drive).Alasan utamanya karena relative dan lebih fleksibel dalam melakukan maneuver serta kemudahan dalam pengontrolannya. Arsitektur dari differential drive dapat dilihat pada gambar 2.
Perhitungan rumus arah dan jarak dari koordinat awal dan tujuan
Input Data
koordinat tujuan (X,Y)
Robot
Microcontroller
Sensor Kompas
Rotary Encoder
Gambar 2 Posisi dan orientasi mobile robot
dalam sistem koordinat cartesian Kecepatan linier mobile robot pada masing-masing roda kanan dan kiri berturut-turut adalah VR dan VL. Kecepatan rotasi
masing-masing roda dengan jari-jari r adalah ωR dan ωL sesuai dengan persamaan 1 dan 2
berikut:
ω
R(t)
=
VR (t) r (1)ω
L(t)
=
VL (t) r (2) Ketika robot melakukan gerakan memutar (berotasi) sesaat dengan panjang jari-jari R diukur dari pusat rotasi dan titik pusar kedua titik maka kecepatan rotasi disetiap titik robot tersebut selali sama (robot adalah sistem mekanis yang rigid), sehingga persamaan3 dan4 berikut ini berlaku untuk menghitung kecepatan rotasi dari robot tersebut:ω(t)
=
R+L/2VR (3)ω(t)
=
R−L/2VL (4)Berdasarkan persamaan 3 dan 4 kecepatan rotasi robot tersebut dapat dihitung hanya berdasarkan informasi dari kedua kecepatan linier roda robot tersebut:
ω(t)
=
VR t −VL L t (5) Sedangkan jari-jari dapat dicari dengan:R
=
L (V2 (VR+VL)R−VL)(6)
Dari persamaan6, jari-jari lintasan lingkaran sesaat berbanding terbalik dengan selisih kedua kecepatan roda robot.Semakin kecil selisih kedua kecepatan roda maka jari-jari lingkaran sesaat yang dibentuk oleh lintasan robot tersebut semakin panjang dan sebaliknya. Sedangkan jika kecepatan linier roda kiri maka R = ∞, atau secara praktis robot akan bergerak membentuk lintasan yang lurus. Agar robot dapat berotasi pada pusat sumbunya (R=0) maka berdasarkan persamaan 6, kecepatan kedua roda tersebut harus berlawanan.
Berdasarkan persamaan 5 dan 6, maka kecepatan linier robot dapat dihitung dengan menggunakan persamaan 7 berikut:
R
=
VR(t)+V2 L(t)(7) Agar lebih sederhana, persamaan 5 dan 7 dapat dikumpulkan dalam bentuk persamaan matrik vektor sebagaimana berikut:𝑉(𝑡)
ω(t) = 1/21/𝐿 −1/𝐿 1/2 VVRL(t) t (8)
Persamaan8 pada dasarnya memperlihatkan relasi antara kecepatan linier roda-roda robot terhadap kecepatan linier dan angular robot, sedangkan persamaan 9 berikut akan memperlihatkan relasi sebaliknya. VR t VL(t) = 1/2 1/2 1/𝐿 −1/𝐿 𝑉(𝑡) ω(t) (9)
Dengan mengetahui kecepatan linier dan angular robot setiap saat, maka kecepatan pada setiap sumbu kartesian dapat dicari dengan cara memproyeksikan vektor kecepatan robot pada sumbu-sumbu tersebut.(Utomo, 2007)
Mobile robot tipe penggerak
diferensial memiliki 2 buah roda penggerak yang terpisah (kanan dan kiri).Kedua roda ini digerakkan oleh motor DC yang ditempatkan pada satu sumbu secara terpisah.Sehingga kedua roda ini berfungsi sebagai penggerak sekaligus sebagai kemudi mobile robot.Sehingga tingkat keluwesan
robot dan kemampuan manuver mobile robot tipe penggerak diferensial jauh lebih baik.
Jika kedua roda didorong dalam arah yang sama dan kecepatan sama pula, robot akan bergerak dalam garis lurus. Jika tidak, tergantung pada kecepatan rotasi dan arahnya, pusat rotasi bisa jatuh di mana saja di garis yang menghubungkan dua roda.Karena arah robot tergantung pada kecepatan dan arah putaran dari dua roda yang digerakkan. Jika kedua roda berputar dengan kecepatan yang sama dalam arah yang berlawanan, robot akan berputar di titik pusat sumbu.(Hartanti, 2011)
Perancangan Perangkat Keras
Perancangan perangkat keras pada sistem ini dilakukan berdasarkan blok diagram sistem keseluruhan yang terdapat pada Gambar1.
Dalam blok diagram pada gambar1, mikrokontroler yang bertugas sebagai pemroses akan mendapatkan data input dari sensor kompas digital dan rotary encoder. Sensor kompas akan memberikan data berupa sudut arah mata angin dalam bentuk digital. Sedangkan rotary encoder akan memberikan data berupa pulse sebagai penghitung jarak tempuh robot. Kemudian mikrokontrol mengolah data tersebut, dalam hal ini pengolahan data pada mikrokontrol menggunakan rumus perhitungan arah dan jarak.Hasil dari rumus tersebut adalah agar robot dapat mengetahui arah dan jarak tempuh yang harus dilalui untuk mencapai koordinat tujuan. Berikut adalah gambar blok diagram perangkat keras secara keseluruhan :
Gambar 3Blok diagram perangkat keras keseluruhan
Perancangan
Minimum System
Pada sistem ini dibuat piranti pengendali menggunakan microcontroller
keluaran AVR, yaitu ATMega128. Untuk mengaktifkan atau menjalankan
microcontroller ini diperlukan rangkaian
minimum sistem. Rangkaian minimum sistem tersebut terdiri rangkaian reset dan rangkaian osilator. Dalam perancangannya ini memerlukan beberapa komponen pendukung seperti kristal, resistor dan kapasitor.
Rangkaian minimum sistem dibuat untuk mendukung kerja dari microcontroller
ATmega dimana microcontroller tidak bisa berdiri sendiri alias harus ada rangakaian dan komponen pendukung seperti halnya rangakaian catu daya, kristal dan lain sebagaianya yang biasanya disebut minimumsistem.
Modul Kompas Digital CMPS10
Modul kompas digital ini berfungsi sebagai penunjuk sudut arah mata angin pada mobile robot dalam mencari koordinat tujuan yang akan dicapai. Mode yang digunakan pada untuk komunikasi antaraAtmega 128 Sensor Kompas (CMPS10) Rotary Encoder Motor Driver Motor (Jalan Robot)
kompas dengan mikrokontroller adalah komunikasi serial.
Rotary Encoder
rotary encoder ini berfungsi
sebagai penghitung jarak tempuh mobile
robot dalam perjalanan menuju koordinat
tujuan, sehingga mobile robot dapat berhenti tepat pada koordinat tujuan. Dalam tugas akhir ini menggunakan encoder quadrature optic dari chassis robot Dagu Rover 5 yang memberikan 1000 pulsa dari tiap 3 putaran dari poros output.
Perancangan Perangkat Lunak
Perancangan perangkat lunak bertujuan untuk mengirimkan data dari pembacaan sensor kompas ke minimum sistem melalui komunikasi serial dan juga melakukan pengolahan data dengan melalui proses perhitungan rumus arah dan jarak pada minimum sistem. Minimum sistem memperoleh data dari sensor kompas yaitu berupa data derajat arah mata angin padamobile robot yang dapat digunakan untuk
menentukan arah hadap robot terhadap koordinat tujuan robot dan dari rotary
encoder yaitu berupa pulse yang dapat
digunakan untuk penentuan jarak tempuh
mobile robot, serta mengatur kecepatan putar
roda melalui PWM yang dikirimkan ke
driver motor. Perancangan perangkat lunak
terbagi dalam beberapa program antara lain : program penentuan arah tujuan robot, program penentuan jarak tempuh tujuan robot. Diagram alir perangkat lunak secara umum dapat dilihat pada Gambar 4.
start
Inisialisasi program
Jumlah koordinat yang dimasukan != Total koordinat yang
dilalui selesai Tidak Penentuan arah tujuan robot Ya Penentuan jarak tempuh robot A B
Gambar 4 Diagram alir program secara umum
Pada gambar 3.6 diagram alir program secara umum pada mikrokontrol dimulai dengan inisialisasi program keseluruhan yang telah diunduh pada mikrokontrol kemudian setelah itu melakukan pengecekan data koordinat tujuan yang akan dilalui oleh robot. Setelah dilakukan pengecekan koordinat tujuan maka robot akan memasuki subproses penentuan arah tujuan robot, pada subproses ini menggunakan implementasi dari rumus trigonometri yang berfungsi untuk menentukan arah hadap robot menuju koordinat tujuan yang akan dilalui robot. Setelah melakukan subproses penentuan penentuan arah, robot selanjutnya memasuki subproses penentuan jarak tempuh robot. Pada subproses ini menggunakan implementasi dari rumus phytagoras yang berfungsi untuk menentukan jarak tempuh yang akan dilalui robot dari titik koordinat awal menuju titik koordinat tujuan. Setelah
kedua subproses tersebut dilakukan, robot akan berjalan menuju koordinat tujuan dan apabila telah sampai pada koordinat tujuan maka robot akan kembali pada proses pengecekan data koordinat tujuan untuk melakukan penghitungan ulang terhadap koordinat tujuan lain yang telah dimasukan. Proses pengecekan koordinat tersebut dilakukan berulang sampai jumlah koordinat yang telah dilalui sama dengan total koordinat yang dimasukan oleh pengguna.
PENENTUAN
ARAH
TUJUAN
PADA
MOBILE ROBOT
Diagram alir untuk mengetahui penentuan arah tujuan pada mobile robot
berdasarkan pembacaan sensor kompas digital terdapat pada Gambar 5.
Init sensor kompas
Data koordinat Set offset
Hitung sudut alpha
Merubah sudut alpha menjadi arah tujuan robot
Menentukan nilai toleransi arah tujuan robot
Arah robot != Arah tujuan robot Return Tidak Robot berputar pada porosnya Ya
Baca sensor kompas
A
Gambar 5 Diagram alir penentuan arah tujuan pada mobile robot
Pada gambar 5Diagram alir penentuan arah tujuan pada mobile robot, penentuan arah tujuan pada mobile robot dimulai dengan inisialisasi sensor kompas digital yang diteruskan dengan pembacaan sensor
kompas agar dapat melakukan penentuan offset. Offset berguna sebagai derajat acuan robot pada saat robot melakukan navigasi. Setelah mendapatkan input data koordinat, dilakukan perhitungan sudut alpha dengan menggunakan rumus Trigonometri sebagai berikut:
𝛼 = 𝑡𝑎𝑛−1𝑦 𝑡𝑎𝑟𝑔𝑒𝑡
𝑥 𝑡𝑎𝑟𝑔𝑒𝑡
Kemudian diteruskan dengan merubah sudut alpha menjadi arah tujuan robot.Setelah mendapatkan arah tujuan robot, dilakukan penentuan nilai toleransi arah tujuan robot. Setelah mendapatkan nilai-nilai diatas dilakukan penyesuaian arah hadap mobile
robot terhadap arah tujuan robot dengan cara
membandingkan nilai arah robot dan nilai arah tujuan robot.
PENENTUAN
JARAK
TEMPUH
PADA
MOBILE ROBOT
Diagram alir untuk mengetahui penentuan jarak tempuh tujuan berdasarkan pembacaan rotary encoderterdapat pada Gambar 6.
Init rotary encoder
Data koordinat
Hitung jarak tempuh tujuan
Baca rotary encoder
Data rotary encoder != Jarak tempuh tujuan
Return
Tidak
Robot berjalan sesuai arah tujuan
Ya
B
Gambar 6 Diagram alir penentuan jarak tempuh pada mobile robot
Pada gambar 6Diagram alir penentuan jarak tempuh tujuan pada mobile
mobile robot dimulai dengan inisialisasi
rotary encoder yang diteruskan dengan
pengambilan data koordinat. Kemudian dilakukan perhitungan jarak tempuh dengan menggunakan rumus Phytagoras sebagai berikut:
𝑟 𝑡𝑎𝑟𝑔𝑒𝑡 = 𝑥 𝑡𝑎𝑟𝑔𝑒𝑡2+ 𝑦 𝑡𝑎𝑟𝑔𝑒𝑡2
Setelah mendapatkan nilai jarak tempuh, dilakukan pembacaan rotary
encoder dan pembandingan nilai antara
outputrotary encoder dan nilai jarak tempuh
yang didapat untuk menentukan pergerakan
mobile robot.
PENGUJIAN SISTEM
Tujuan evaluasi sistem ini adalah untuk mengetahui sistem navigasi pada
mobile robot apakah sudah dapat berjalan
sesuai dengan yang diharapkan. Apakah sistem navigasi dapat menentukan arah pergerakan mobile robot dari koordinat asal menuju koordinat tujuan, sesuai dengan koordinat inputan dari user.
HASIL PENGUJIAN
Pengujian keseluruhan sistem navigasi pada differential steering mobile
robotini menggunakan 5 pola jalan.
Pemilihan 5 pola jalan ini mewakili kemungkinan-kemungkinan pergerakan yang terjadi saat melakukan proses navigasi. Pada pengujian ini menggunakan arena khusus yang berbentuk persegi dengan ukuran 141cm x 141cm dan diberi garis bantu untuk mempermudah proses penghitungan pada pengujian ini. Pada pengujian ini menggunakan satuan koordinat (X,Y) yang berukuran 23,5cm x 23,5cm. Adapun 5 pola jalan tersebut digambarkan sebagai berikut.
Gambar 7 Gambar pola jalan 1
Gambar 8 Gambar pola jalan 2
Gambar 9 Gambar pola jalan 3
Gambar 10 Gambar pola jalan 4
Gambar 11 Gambar pola jalan 5 Hasil perhitungan nilai error
keseluruhan pada sistem navigasi yang telah diujikan pada 5 pola yang telah disiapkan dapat dilihat pada tabel 1sebagai berikut.
Tabel 1 Tabel perhitungan error keseluruhan pada sistem navigasi
Error keseluruhan pada sistem
navigasi ini merupakan rata-rata dari error
tiap pola yaitu jumlah seluruh error pola dibagi dengan banyaknya pola.
ES = ( ΣError Pola ) / Banyak Pola. Banyak pola = 5
Berdasarkan tabel 4.1 dapat disimpulkan bahwa sistem navigasi ini memiliki nilai rata-rata error keseluruhan untuk (x) sebesar 2,42 % (kearah negatip) dan (y) sebesar 0,79 % (kearah positip) pada lapangan yang telah disiapkan untuk penelitian ini. Disamping karena kondisi lantai (lapangan) seperti yang diterangkan dimuka (faktor kelicinan yang tidak rata), hal tersebut juga disebabkan karena kepekaan motor berbeda sehingga kecepatan putar motor kanan dan motor kiri tidak sama, penyebab lain karena adanya pembacaan sensor kompas yang selalu berubah karena pengaruh keadaan di sekitar robot. Sistem navigasi ini meliputi dua proses yaitu proses perhitungan sudut arah hadap untuk menentukan posisi hadap tujuan dan proses perhitungan jarak tempuh untuk menentukan jarak antara koordinat asal menuju koordinat tujuan. Perhitungan sudut arah hadap mobile robot didapatkan dengan menggunakan hasil perhitungan rumor trigoniometri yang ditambahkan dengan derajat offset sehingga menghasilkan sudut
putar arah koordinat tujuan. Sedangkan perhitungan jarak tempuh mobile robot
didapatkan dengan menggunakan rumus phytagoras yang dibandingkan dengan
update keluaran pada rotary endcoder saat
mobile robot berjalan sehingga
menghasilkan jarak tempuh yang haris dillalui mobile robot untuk mencapai koordinat. Guna keperluan analisis error
pada tiap-tiap tingkat diberikan notasi (-) atau (+) sesuai dengan posisinya.
KESIMPULAN
Dengan memanfaatkan sensor kompas digital dan rotary encoder yang terintegrasi pada differential steering mobile robot
perancangan sistem navigasi ini telah berhasil berjalan sesuai dengan yang diharapkan.Selain itu Perhitungan jarak dengan menggunakan rumus Pytagoras dan perhitungan sudut dengan menggunakan rumus trigonometri telah berhasil diimplementasikan untuk sistem navigasi pada differential steering mobile robot. Pada pola jalan navigasi robot yang bervariasi, sistem navigasi ini memiliki nilai rata-rata
error keseluruhan untuk (x) sebesar 2,42 %
(kearah negatip) dan (y) sebesar 0,79 % (kearah positip) pada lapangan yang telah disiapkan untuk penelitian ini.
DAFTAR PUSTAKA
Goge, Douglas W. ( 1995). A Brief History of Unmanned Ground Vehicle
(UGV) Development Efforts,
Unmanned System Magazine, United States of America
.
Hartanti, E. D. (2011). Rancang Bangun Mobile Robot Penjejak Benda Bergerak Berbasis Pengendali PD (Proposional-Derivative)
Menggunakan Mikrokontroler AVR
Atmega8535. Semarang: Jurusan
Teknik Elektro, Fakultas Teknik Universitas diponegoro.
Mardiana, I. D. (2008). Sistem Penentuan Lokasi Kendaraan Menggunakan GPS Dengan Pemanfaatan SMS Sebagai Komunikasi Data.
(DECIMAL)
(%)
(DECIMAL)
(%)
1
-0.173
-17.27%
0.19
19.00%
2
-0.143
-14.26%
-0.06
-6.05%
3
0.133
13.33%
-0.01
-0.55%
4
0.058
5.78%
-0.03
-2.78%
5
0.003
0.30%
-0.06
-5.67%
ES
-0.024
-2.42%
0.01
0.79%
Keterangan :
: Notasi (-/+) pada
error
menunjukan arah penyimpangan
: ES adalah
Error
kesuluruhan (jumlah
error
seluruh pola dibagi banyaknya pola)
ERROR
POLA (X)
JUMLAH
ERROR
(X) SELURUH LANGKAH / JUMLAH LANGKAH JUMLAH
ERROR
(Y) SELURUH LANGKAH / JUMLAH LANGKAH
ERROR
POLA (Y)
POLA
Singgeta, R. L. (2013). Rancang Bangun Robot Boat Navigasi Tanpa Awak.
e-jurnal Teknik dan Komputer.
Utomo, A. D. (2007). Sistem Kontrol Navigasi Pada Mobile Robot Berbasis PCBC (piecewise cubic bezier curve).
Varberg, D. (2007). Ninth Edition Calculus.
United States of America: Pearson Education, Inc.