Navigasi Mobile Robot Berbasis Trajektori dan Odometry dengan

advertisement
Navigasi Mobile Robot Berbasis Trajektori dan
Odometry dengan Pemulihan Jalur Secara Otomatis
Jusuf Dwi Kariyanto1 , Ali Husein Alasiry2, Fernando Ardila3 Nofria Hanafi4
Jurusan Teknik Elektronika, Politeknik Elektronika Negeri Surabaya
Electronics Engineering Polytechnic Institute of Surabaya
Institut Teknologi Sepuluh Nopember Surabaya
Kampus ITS Sukolilo, Surabaya 60111, INDONESIA
Tel: +62 (31) 594 7280; Fax: +62 (31) 594 6114
email : [email protected]
Abstraks Sejauh ini banyak penelitian tentang
kontrol pergerakkan mobile robot. Banyak tantangan yang
dihadapi, diantaranya adalah sejauh mana mobile robot
bisa mengatasi gangguan dan dituntut mencapai sebuah
target posisi tertentu. Robot harus mampu mengetahui
besarnya gangguan sehingga robot mampu bergerak
kembali ke arah yang aman dan tetap berusaha mendekati
target. Kebanyakan mobile robot tidak mengetahui dimana
posisi robot saat bergerak, bagaimana navigasi robot
untuk mencapai tujuan, dengan adanya gangguan yang
datang dari luar dan robot dapat sampai pada tujuan.
Oleh karena itu pada tugas akhir ini dibuat navigasi
mobile robot berbasis trajektori dan odometry dengan
pemulihan jalur secara otomatis untuk mencapai tempat
tujuan dan mampu mengatasi gangguan dari luar yang
menyebabkan robot berubah arah. Untuk mencapai target
diam berupa sebuah posisi dalam koordinat kartesian
(x_pos, y_pos, theta) diterapkan dengan teknik odometry.
Data rotary encoder pada roda kanan dan kiri diolah
dengan formula odometry dan dan dikonversi ke
kinematika differential drive sehingga diperoleh data yang
direspon oleh motor kanan dan kiri sehingga mobile robot
mampu mengetahui posisinya dan jarak terhadap target
saat itu. Implementasi metode ini sangat tepat dan
memberikan banyak keunggulan. Mobile robot dengan
kecepatan 0.52 m/s mampu mencapai target dengan error
rata-rata 2,43 % . Pada kecepatan 0,75 m/s robot mampu
mencapai target dengan error rata-rata 5,81 %. Pada
kecepatan 0,52 m/s mobile robot dapat
mengatasi
gangguan yang ada dengan tetap mendekati target dengan
penyimpangan jalur makasimal 10 cm sedangkan pada
kecepatan 0,75 terjadi penyimpangan jalur sebesar 20 cm.
Kata kunci : robot, navigasi,trajectory,odometry,differential
I.
PENDAHULUAN
Sejauh
ini
banyak
penelitian
tentang
kontrolpergerakkan robot secara konvensional. Sedangkan
pada kenyataan suatu robot yang bergerak otonom, banyak
tantangan yang dihadapi. Diantaranya adalah sejauh mana
robot bisa mengatasi gangguan, dan dituntut mencapai sebuah
target posisi tertentu. robot harus mampu mengetahui
besarnya gangguan sehingga mampu bergerak kembali ke
arah yang aman dan tetap berusaha mendekati target.
kebanyakan robot tidak mengetahui dimana posisi robot
sekarang[9], bagaimana navigasi robot untuk mencapai tujuan
dengan adanya gangguan yang datang dari luar dan robot
dapat sampai pada tujuan. Oleh karena itu pada tugas akhir ini
dibuat robot yang dapat bernavigasi untuk mencapai tempat
tujuan, dan mampu mengatasi gangguan dari luar yang
menyebabkan robot berubah arah dengan robot tetap menuju
target.
Judul di ini di ambil berdasarkan masalah yang muncul
pada Kones Robot Indonesia (KRI) 2011. Dimana robot
terdiri dari 3 macam, yaitu 1 robot manual dan 2 robot
otomatis. Robot manual dioperasikan oleh salah satu dari tim,
sedangkan robot otomatis bekerja secara otomatis dengan
target menyusun Loy Krathong dan memasang lilin. Navigasi
robot otomatis tidak lagi menggunakan sensor garis untuk
melaju menuju target, karena kegagalan pembacaan sensor
garis sangat besar yang disebabkan bedanya intensitas cahaya
pada masing-masing tempat. Maka dari itu sitem navigasi
robot otomatis menggunakan metode berbasis odometry.
Pada tugas akhir ini untuk mencapai target diam
berupa sebuah posisi dalam koordinat kartesian (X_pos,
Y_pos, theta) diterapkan dengan teknik odometry[2]. Data
rotary encoder pada roda kanan dan kiri diolah dengan
formula odometry sehingga robot mampu mengetahui
posisinya dan jarak terhadap target saat itu. Implementasi
metode ini sangat tepat dan memberikan banyak keunggulan.
Permasalahan baru muncul pada saat kedua robot otomatis
bekerja secara bersamaan, dimana tabrakan antara kedua robot
bias saja terjadi. Robot mampu mengatasi gangguan yang ada
dengan tetap mendekati target dan mencapainya dengan error
kurang dari 5.81 %.
.
1
II. TINJAUAN PUSTAKA
A. Mikrokontroller[7]
Mikrokontroler AT Mega 128 termasuk dalam
keluarga AVR. Mikrokontroler AVR merupakan
mikrokontroler berbasis arsitektur RISC (Reduced
Instruction Set Computing) 8 bit. Mikrokontroler AVR
didesain menggunakan arsitektur Harvard, di mana ruang
dan jalur bus bagi memori program dipisahkan dengan
memori data. Memori program diakses dengan singlelevel , di mana ketika sebuah instruksi dijalankan,
instruksi lain berikutnya akan di prefetch dari memori
program. ATmega128 memiliki throughputs mendekati 1
MIPS per MHz membuat desainer sistem dapat
mengoptimalkan konsumsi daya yang diimbangi dengan
kecepatan pemrosesan yang baik. Fitur yang dimiliki oleh
AT Mega 128 adalah [1]
Untuk pemrograman AT Mega 128 menggunakan
pin PDO untuk MISO dan pin PDI untuk MOSI bukan
menggunakan pin MISO dan MOSI yang ada pada paket
IC AT Mega 128 karena umumnya kedua pin tsb dipakai
untuk keperluan antarmuka SPI. Untuk pin konfigurasi
pada paket IC AT Mega 128 dapat dilihat pada gambar 1.
memperkuat torsi motor), selain itu robot dengan satu atau dua
buah roda castor yang ditempatkan dibagian belakang robot
yang berfungsi sebagai penyeimbang. Gambar 2.
memperlihatkan arsitektur robot dilihat dari bagian atas. Jika
kedua roda penggerak tersebut berputar dengan kecepatan
yang sama maka robot tersebut akan bergerak dengan arah
yang lurus, sedangkan jika kecepatan salah satu roda lebih
lambat maka robot akan bergerak membentuk kurva dengan
arah lintasan menuju salah satu roda yang bergerak lebih
lambat.
Gambar 2. Posisi dan Orientasi Mobile Robot Dalam Sistem
Koordinat Cartesian[3]
C. Model kinematika gerak mobile robot
Pada Pada umumnya, kita dapat mengetahui posisi
pergerakan robot berdasarkan kecepatan anguler rodarodanya, yang biasa disebut kinematik[10].
Gambar 1. Konfigurasi pin AT Mega 128[1]
VR (t) = r.ώ.R (t)
(1)
VL (t) = r.ώ. L (t)
(2)
Namun, bagaimana kita dapat mengontrol robot untuk
dapat bergerak sesuai dengan tujuan dengan memberikan
input berupa posisi (x, y) dan sudut (  ) , inilah yang disebut
permasalahan kinematika terbalik (inverse kinematics
problem). Sayangnya, pada differential drive robot memiliki
pola non-holonomic, sehingga tidak dapat berpindah secara
bergeser ke samping.
D. Teori pendukung odometry
B. Sistem kemudi differential drive
Salah satu jenis system kemudi mobile robot yang
umum digunakan, terutama untuk dioperasikan dalam ruangan
adalah mobile robot dengan pengemudian atau sistem
penggerak diferensial (differential drive)[3].
Secara teknis, robot jenis ini pada dasarnya memiliki
dua roda utama yang masing-masing digerakan oleh
penggerak tersendiri (umumnya berupa motor DC magnet
permanent dengan gear-pereduksi yang berfungsi untuk
Teori pendukung Sebuah metode dasar navigasi,
digunakan oleh hampir semua robot, adalah odometry.
Misalkan robot Anda dimulai pada start, menunjuk ke sumbuy. Posisi awal adalah (x, y, θ) = (0, 0, 0). Jika robot
perjalanan (kira-kira) langsung selama tiga detik pada 1 m / s,
menuju target yang dikehendaki misal (3, 0, 0) dengan sangat
baik. Itulah esensi dari odometry.[11]
Kecepatan motor memberi kita dua kuantitas yaitu
tingkat di mana posisi mobile robot sudah berubah, dan
tingkat di mana mobile robot bergerak maju. Yang harus kita
2
lakukan adalah mengintegrasikan dua kuantitas, dan kita akan
memiliki posisi robot (x, y, θ). Kedengarannya agak sulit,
tetapi rumus matematika akhirnya menjadi sangat sederhana.
Dalam sistem nyata, data berasal dari sensor nyata yang
diambil dengan sampel secara berkala. Setiap beberapa
milidetik, kita mendapatkan pengukuran baru kecepatan motor
kita. Misalkan Robot posisi di (x, y, θ).
Mengingat bahwa panjang busur sama dengan jarijari kali sudut dalam, panjang busur ini adalah:
d_center =
(3)
Mengingat geometri dasar, kita tahu bahwa:
(4)
(5)
Jika d_baseline adalah jarak antara roda kiri dan kanan, kita
dapat menulis:
(6)
Mengurangkan (2) dari (3), kita melihat:
(7)
(8)
Gambar 3 Geometri Odometry. Selama periode waktu kecil, gerak
robot dapat berbentuk busur.[11]
Tergantung pada jenis sensor yang kita gunakan, kita
mungkin mendapatkan bebrapa pengukuran kecepatan motor
(dalam radian), atau perkiraan seberapa cepat motor berputar
(tingkat sudut, radian / detik.) Mengingat jumlah rotasi dari
motor dan diameter roda, kita dapat menghitung jarak yang
sebenarnya. Misalkan roda kiri digerakkan oleh jarak d_left
dan roda kanan telah pindah d_right Untuk beberapa periode
waktu kecil (seperti yang d_left dan d_right pendek), kita
cukup bisa berasumsi bahwa lintasan mobile robot adalah
busur (lihat Gambar. 3)
Masalah odometry adalah untuk memecahkan (x', y',
') yang diberikan (x, y, θ) dan d_baseline . Dalam gambar,
robot bergerak berlawanan arah jarum jam. Keadaan awal (x,
y, θ) mendefinisikan titik awal robot, dengan θ mewakili
tujuan robotnya. Setelah robot telah digerakkan oleh d_left
dan d_right, kita ingin menghitung posisi baru, (x', y', '). Titik
tengah robot, perjalanan sepanjang busur juga.
Kami menghitung pusat P lingkaran dengan memaksa
d_left dan d_right menjadi dua busur dengan sudut yang sama
φ. Dari ini, kita dapat menghitung posisi robot baru (x', y', ').
(9)
(10)
Kemudian kita hitung posisi robot yang baru. Semua
busur memiliki asal mula yang sama di titik P.
Perhatikan bahwa sudut dasar robot sehubungan dengan
sumbu x adalah θ – π/2. koordinat P:
(11)
Py =
y – r_center sin(θ − π/2)
= y + rcenter cos(θ)
(12)
Sekarang kita dapat menghitung x' dan y' :
x' = Px + r_center cos(φ + θ − π/2)
=
=
(13)
x – r_center sin(θ) + r_center
x + r_center [−sin(θ) + sin(φ)cos(θ) + sin(θ)cos(φ)]
Dan
y'=
Gambar 4 Geometri odometry Detil.[11]
Py + r_center sin(φ + θ − π/2)
(14)
=
y + r_center cos(θ) – r_center cos(φ + θ)
=
y + r_center [cos(θ) − cos(φ)cos(θ) + sin(θ)sin(φ)]
3
Jika φ adalah kecil, kita dapat menentukan sin (φ) = φ
dan cos (φ) = 1.
Maka didapatkan :
x' = sin(θ) + φcos(θ) + sin(θ)
= x + r_center φcos(θ)
(15)
= x + d_center cos(θ)
Dan
y'= y + r_center [cos(θ) − cos(θ) + φsin(θ)]
= y + r_center [φsin(θ)]
(16)
= y + d_center sin(θ)
Gambar 5 Blok bagian sistem keseluruhan
C. Perancangan dan pembuatan perangakat keras
Akhirnya, kita dapatkan persamaan odometry (x', y', ').:
d_center =
Rotary encoder
(17)
(18)
' =
x' =
y' =
θ+φ
x + d_center cos(θ)
y + d_center sin(θ)
(19)
(20)
(21)
Untuk mendeteksi perpindahan atau putaran motor
digunakan sensor rotary encoder. Yang menjadi pilihan adalah
Incremental Encoder. Rotary Encoder Relatif (sering disebut
juga Incremental Encoder) digunakan ketika metode
pengkodean absolut tidak bisa digunakan (disebabkan
ukurandan bentuk piringan/cakram). Metode ini juga
menggunakan piringan yang dipasang pada poros, tetapi
ukuran piringan/cakram kecil, dengan jumlah garis radial yang
banyak, seperti jeruji roda. Sebuah saklar optik, seperti
photodiode, menghasilkan pulsa listrik. Kemudian rangkaian
kontrol elektronika menghitung pulsa untuk menerjemahkan
sudut putar dari poros.
III. PERANCANGAN SISTEM
A. Blok diagram system
Secara keseluruhan, robot ini terbagi dalam
beberapa blok, yaitu :
Gambar 7 Incremental Rotary Encoder
Berikut ini gambar rangkaian interface dengan mikrokontroler.
Gambar 6. Diagram Blok Mobile Robot Berbasis Odometry.
B. Perancangan desain dan pembuatan mekanik
Robot didesain berbentuk kotak dengan dua motor
dibelakang dan dua roda bebas di depan. Robot dibuat
bertingkat dua, hal ini dikarenakan robot hanya berdiameter
14 cm, sedangkan rangkaian pendukung robot yang cukup
banyak serta baterai yang cukup besar. Pada tingkat dasar
terdiri dari motor kanan dan kiri, roda kanan dan kiri dengan
rotary encoder, serta baterai 12 volt. Pada tingkat kedua
berupa PCB rangkaian elektronika yang menyatu dengan lima
buah sensor ultrasonic. Hal ini dimaksudkan demi pencapaian
desain yang serendah mungkin supaya robot mempunyai
keseimbangan beban yang baik.
Gambar 8. Interface rotary encoder dengan mikrokontroler
4
Rangkaian Driver Motor H-Bridge 6 MOSFET
Rangkaian driver motor ini dapat disebut juga rangkaian HBridge 6 transistor. Dimana terdiri dari 2 transistor PNP dan 4
transistor NPN.
16 Mhz
Gambar 10 Minimum system atmega128 [7]
Gambar 9. skema rangkaian driver motor H-Bridge
"A" berupa input 1 (+5 V) ketika transistor Q1 R4 On
maka Q5 akan turun turun menjadi 0,2 volt. Dengan demikian,
transistor Q1 P-jenis diaktifkan. "B" input, 0 (0V) akan
dinonaktifkan bila P6 transistor dan R2 melalui pintu gerbang
transistor Q 2 , tegangan rangkaian 12 volt akan naik. Bias
tegangan transistor Q 4 on ktika transistor Q1 diaktifkan, akan
mendekati 12 volt. Jadi, arus motor akan dari kiri ke kanan.
Transistor Q7, Q5 diterapkan untuk input A = 1 dan B = 1,
dengan menonaktifkan transistor MOSFET mencegah arus
pendek. Sirkuit transistor Q 3 dan Q 4 dapat digunakan untuk
daya MOSFET N-type. IRFZ44 yang mampu dilewati arus 50
ampere dan transistor sangat kuat.
Kapasitas saat ini untuk transistor Q1 dan Q2 juga
dekat dengan MOSFET N-jenis dapat digunakan dalam P-type
MOSFET. IRF9540 dapat menampung 23 amp. Sirkuit 9 volt
sampai 20 volt untuk bekerja secara lancar pada tegangan
suplai. 12-volt tegangan suplai, Sesuai dengan nilai saat ini
dari transistor seçilmellidir pendingin disukai, sampai 3 A ada
saat ini tidak perlu menginstal pendingin. Kerugian kerugian
hanya pada dc grafik (steady-state loss), switching (switching)
kerugian tidak termasuk dalam meningkatkan frekuensi
switching, kerugian akan meningkat transistor lebih banyak
dan lebih akan mendapatkan panas.
Minimum System ATmega128
Minimum system ATmega128 tidaklah sama dengan
ATmega lainnya dimana PIN yang digunakan sebagai
downloader bukan pada pin MOSI, MISO, SCK, RESET,
(+), (-). perhatikan gambar rangkaian berikut ini untuk
skematik rangkaian minimum system ATmega128.
Rangkaian regulator switching
Setiap mikrokontroller pasti membutuhkan sumber
tegangan, lazimnya adalah 5 Volt (meskipun ada beberapa
yang bisa memakai tegangan 2.85 – 3.6 Volt). Tapi, apakah
masih memakai LM7805 untuk sumber tegangan 5Volt? Anda
perlu heatsink yang besar kan kalau memakai LM7805 karena
panasnya terlalu panas. Tampaknya anda perlu mengucapkan
selamat tinggal kepada LM7805, karena National
Semiconductor sudah mengeluarkan LM2576 untuk regulator
5 volt berjenis ‘Simple Switcher’. Rangkaiannya (diambil dari
datasheet LM2576):
Gambar 11 PCB switching [4]
Dengan beban 1 Ampere pada Output dan Input 12
Volt, LM2576 hanya hangat saja, karena bekerja dengan
prinsip switching power supply. Komponen yang kritis
adalah:Coil L1 = 100uH Gunakan coil yang ukuran kawatnya
cukup besar sehingga dapat dialiri arus cukup besar, mungkin
anda perlu mencoba-coba dahulu induktor yang cocok.
Terkadang agak sulit mencarinya di pasar lokal, tapi beberapa
toko
sudah
menjualnya.Catch
Dioda
1N5822
Capasitor gunakan yang berkualitas tinggi (105 derajat
celcius), biar enggak meletus! Untuk input lebih dari 12 volt
saya sarankan memakai heatsink kecil.Saat mendesain PCB,
usahakan jalur Ground dibuat setebal dan sedekat mungkin
dengan LM2576.
5
D. Perancangan dan pembuatan perangakat luna
Algoritma metode odometry
distance = (left_encoder + right_encoder) / 2
theta += (left_encoder - right_encoder) /HEEL_BASE;
X_position += distance * sin(theta);
Y_position += distance * cos(theta);
Target +=(((float)Target-fabs(Heading_Error))*0.045);
Target_Bearing = 90.0 - (Rads*(atan(y/x)));
heading_error += target_bearing - (theta*RADS);
Steering+=((float)Heading_Error*Kp)+((float)D_Error*
Kd);
MKA= Target - Steering;
MKI= Target + Steering;
Robot bergerak dari Start menuju target berdasarkan
titik koordinat yang kita inginkan berupa (x,y). Pada start
awal nilai theta = 0, dan robot akan bergerak berdasarkan
perubahan theta yang menyebabkan heading robot berubah.
Pada saat robot bergerak secara otomatis robot mengambil
titik sampling dalam hitungan waktu tertentu untuk
mencapai target.
Gambar 12. Algoritma odometry
Mekanisme Kerja :
Pada start awal robot berada pada posisi
(x=0,y=0,theta=0). Dengan ATtiny 2313 untuk membaca
rotary encoder sehingga diketahui posisi dengan perhitungan
di dalamnya. Dengan pengiriman serial, data scanning dan
posisi dikirim ke ATMega 128 sebagai masternya. Di dalam
ATMega 128 inilah metode odometry diterapkan. Dengan
masukan berupa data scanning dan posisi tersebut kemudian
diolah menggunakan metode odometry dan dikonversi ke
kinematika differential drive sehingga diperoleh data agar
direspon oleh motor vexta
Perhitungan metode odometry
(a)
(b)
Gambar 14. simulasi odometry (a) tidak ada gangguan (b)
ada gangguan
Gambar 13. Proses navigasi robot untuk mencapai target
Pada Gambar 14(a) robot bergerak dengan metode
trajektori [6] dan odometry dimana tidak ada gangguan dari
luar, maka robot dengan pasti akan mencapai target.
Sedangkan Gambar 14(b), robot bergerak dari start kemudian
di tengah jalan terdapat gangguan dari luar (tabrakan) yang
menyebabkan robot keluar dari trak odometri. Dengan
melihan data rotary pada saat terjadi tabrakan, maka besarnya
error/penyimpangan jalur akan diketahui. Kemudian data error
akan diolah untuk mendapatkan trak baru untuk mencapai
target. Dengan kata lain robot merecord setiap pergerakan dari
rotary robot melalui Xbee Pro dikirim ke PC. Dengan Visual
Basic (VB), data diolah untuk mengetahui terjadinya error
pada robot. Dan akan dilakukan pemulihan jalur secara
otomatis berdasarkan data sebelumnya. Sehingga robot
mendapatkan trak baru untuk mencapai target.
6
BAB IV
PENGUJIAN DAN ANALISA
A. Pengujian Kecepatan motor
Robot
Tachometer
Digital
Gambar 15 Pengukuran PWM
Dari data percobaan di atas diperoleh bahwa, motor
baru bisa berputar setelah PWM mencapai 2(unsigned char)
dan menghasilkan kecepatan 22rpm. Disini pengukuran
dilakukan untuk mengetahui keseimbangan navigasi motor.
Dimna kedua motor harus mempunyai respon yang sama.
Kecepatan motor sebanding denga PWM, disini pada saat
kecepatan mencapai 301rpm maka meskipun PWM dinaikan,
kecepan motor akan konsatan. Hal ini dikarenakan motor
mempunyai
kecepatan
maksimal
sesuai
dengan
sepesifikasinya. Dengan respon motor yang sama diharapkan
robot dapat berjalan lurus saat diberi PWM yang sama.
Ketidak samaan respon kecepatan bisa dipengaruhi oleh
faktor mekanik dan umur dari motor itu sendiri.
B. Pengujian Rotary Encoder
Untuk mendeteksi perpindahan atau putaran motor
digunakan sensor rotary encoder. Yang menjadi pilihan adalah
Incremental Encoder. Rotary Encoder Relatif (sering disebut
juga Incremental Encoder) digunakan ketika metode
pengkodean absolut tidak bisa digunakan (disebabkan
ukurandan bentuk piringan/cakram). Metode ini juga
menggunakan piringan yang dipasang pada poros, tetapi
ukuran piringan/cakram kecil, dengan jumlah garis radial yang
banyak, seperti jeruji roda. Sebuah saklar optik, seperti
photodiode, menghasilkan pulsa listrik. Kemudian rangkaian
kontrol elektronika menghitung pulsa untuk menerjemahkan
sudut putar dari poros. Pada pengujian kali ini, rotary di
pasang tepat sejajar dengan roda belakang robot. UIntuk
melihat data rotary maka robot dijalankan secara otomatis
dengan kecepatan PWM 5. Robot akan berjalan maju dan
rotary akan menghitung jarak yang telah ditempuh. Robot
akan berhenti pada jarak yang telah ditentukan. Berikut adalah
proses pengujian rotary.
Gambar 16 Pengukuran rotary
Analisa :
Data yang dihasilkan rotary berupa logic 0/1, yang
dibaca oleh mikrokontroler melelui komparator internal. Dari
data diatas diperoleh bahwa pulsa rotary kanan dan kiri
hampir sama, ketidaksamaan ini disebabkan oleh permukaan
lintasan dan getaran saat robot bergerak. Semakin besar
jumlah pulsa rotary dalam satu putaran maka sensitifitass
dari rotary sangatlah besar.
7
C. Pengujian Odometry
Pada pengujian ini robot akan diberi jalur berupa
beberapa titik koordinat (x,y) yang harus ditempuh. posisi
awal robot sebelum bergerak adalah (0,0). secara umum
seluruh lintasan robot dapat dibagi menjadi empat kuadran
yaitu kuadran satu, dua, tiga dan empat. berikut pemetaan
koordinat berdasarkan kuadrannya :
Tabel 4.1. Pembagian Kuadran
Kuadran
X
Y
Letak terhadap titik awal
1
+
+
Kanan depan
2
+
Kiri depan
3
Kiri belakang
4
+
Kanan belakang
Lintasan robot dibuat di PC dengan menggambar
pada kotak yang tersedia. kotak-kotak ini memiliki ukuran
50 pixel x 50 pixel yang mana pada kondisi nyata kotak ini
berukuran 50cm x 50cm. posisi awal robot digambarkan
dengan kotak berwarna Biru sedangkan titik tujuan robot
digambarkan dengan lingkaran kuning dengan garis tepi
hitam dan berwarna putih pada target terdapat warna hitam
pada bagian tengahnya Posisi target berada pada koordinat
(x,y) dalam satuan cm. Sehingga kalau dihitung jarak
menuju target sebesar ‘total distance’ cm. Error diketahui
dari jarak posisi akhir robot berhenti terhadap target
berupa deadzone dengan radius 3cm. Ketika robot sudah
masuk deadzone maka target telah tercapai. Berikut ini
error pencapaian target dengan lima kali percobaan,
dimana terdiri dari 5 macam target dan 5 kali percobaan
setiap target
Odometry dengan target 1 titik
Robot berada pada posisi start, sebelum menerima
data dari server. Data yang diterima robot berupa koordinat
(x,y) yang akan dijadikan sebagai target. Dimana robot harus
bias mencapai target tersebut. Disini pertama kali robot berada
pada posisi star(0,0) dan di sart menuju target (250,450). Jalur
lintasan robot ditunjukan dengan garis warna merah.
BAB V
KESIMPULAN
Dari pengujian yang telah dilakukan maka dapat
diambil beberapa kesimpulan yaitu:
1. Mobil robot telah berhasil bernavigasi odometry
dengan tingkat error rata-rata 2,43% dan error
maksimal 5,81%.
2. Robot dapat mengatasi gangguan yang datang tibatiba. Sehingga robot tidak berubah arah karena
sebuah gangguan dan dapat kembali ke track semula
dan kembali bergerak menuju target.
3. Kesalahan dalam pemasangan roda kanan dan kiri
sangat mempengaruhi navigasi robot.
4. Faktor pengali encoder dalam konversi pulsa ke jarak
tempuh yang tidak benar akan mempengaruhi titik X
dan titik Y
5. Nilai wheel base yang tidak benar akan
mempengaruhi sudut hadap robot.
6. Pencapaian target dengan teknik odometry sangat
dipengaruhi oleh selip roda. Semakin panjang rute
yang
berbelok-belok
maka
potensi
selip
semakinbesar
7. Secara perhitungan di mikrokontroller (robot) hasil
yang didapat mendekati 100% namun pada kondisi
riil robot sering melenceng dari posisinya.
.
DAFTAR PUSTAKA
Gambar 17 Posisi start robot
[1] Mobile robot, http://id.wikipedia.org
[2] Anderson David, “ IMU Odometry “, Article, October
2006 Dallas, Texas, 2006.
[3] Borenstein J, Y. Koren .Potential Field Methods and Their
Inherent Limitations for Mobile Robot Navigation, Paper;
1991
[4] Gregor Klancar, Drago Matko, Saso Blazic. Mobile Robot
Control on a reference Path, Proc. Paper; June 2005
[5] Kwon Y.D, Lee Jin S. An Obstacle Avoidance Algorithm
for Mobile Robot. Paper; 1995.
[6] Setiawan Iwan, “ Perancangan dan Implementasi Sistem
Kontrol Navigasi Robot Mobile Penjejak Trayektori
Bezier “, Paper, Laboratorium Teknik Kontrol Otomatis,
Teknik Elektro Undip
[7] Anonym (2010)“datasheet ATmega 128”, Atmel
,www.alldatasheet.com. Diakses pada 19 September 2010
Gambar 1Kemampuan robot dalam mencapai target
8
Download