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