1. Pendahuluan
Tujuan
Tugas Akhir ini bertujuan untuk merancang pemetaan posisi pada robot sepak bola beroda tim R2C-WARRIOR.
1.1. Latar Belakang Masalah
Robotics Research Center (R2C) adalah tim robot dari Universitas Kristen Satya Wacana yang mengikuti ajang Kontes Robot Indonesia (KRI). Tim R2C mengikuti tiga dari enam divisi yang diperlombakan, salah satunya adalah divisi Kontes Robot Sepak Bola Indonesia (KRSBI) Beroda dengan nama tim R2C-WARRIOR. Pada kontes Robot Sepak Bola Indonesia (KRSBI) Beroda terdapat spesifikasi robot harus bisa mengejar bola, menggiring bola, menghindari musuh, mengoper bola ke teman, menendang bola ke arah gawang. Dikarenakan aturan tersebut maka robot diharuskan untuk dapat mendeteksi letak gawang, letak kawan , dan melakukan positioning.
Sedangkan untuk robot tim R2C-WARRIOR saat ini melakukan positioning menggunakan algoritma odometry saja dengan terdapat masalah pada saat melakukan pemetaan robot seperti jika salah pembacaan rotary encoder yang disebabkan oleh slip pada roda rotary encoder. Sehingga menyebabkan salah arah dalam melakukan tendangan ke arah gawang maupun operan ke arah robot kawan.
Berdasarkan permasalahan yang sudah diuraikan, maka dilakukanlah sebuah perancangan untuk membuat sistem pemetaan menggunakan gyrodometry yang merupakan kombinasi data gyroscope dari sensor gyro MPU 6050 dan odometry menggunakan tiga rotary encoder dengan roda omni untuk melakukan pemetaan pada robot guna mengetahui arah gawang dan robot kawan.
1.2. Landasan Teori a Gyrodometry
Gyrodometry merupakan kombinasi antara data sensor gyroscope dan data yang diperoleh dari odometry. Pada perancangan algoritma ini bertujuan untuk memetakan posisi robot. Cara kerja algoritma ini dimulai setelah microcontroller menerima data encoder , data tersebut akan dikonversikan menjadi satuan centimeter dengan Persamaan (1) dan (2) berikut ini.
K = 2πr………(1) D = K / Resolusi encoder ……….(2) Keterangan :
❖ r = jari -jari roda pada encoder.
❖ π = 22 / 7.
❖ K = keliling roda pada encoder.
❖ D = Jarak tempuh roda encoder dalam satuan centimeter Setelah mendapatkan nilai konversi, kemudian mencari nilai Vx dan Vy melalui Persamaan (3) dan (4) berikut ini.
Dx = D2 + D1 - D3 ...(3) Dy = D2 - D1...(4) Keterangan :
❖ Dx = Jarak tempuh dalam sumbu X.
❖ Dy = Jarak tempuh dalam sumbu Y.
Kemudian untuk menentukan koordinat X dan Y setelah mendapat nilai jarak tempuh masing - masing sumbu ditransformasikan menggunakan persamaan matrik (5) berikut ini.
Keterangan :
❖ Y = Koordinat sumbu Y.
❖ X = Koordinat sumbu X.
❖ θ = arah robot(Pembacaan sensor gyroscope)
…(5)
Semua perhitungan di atas merupakan langkah yang akan dilakukan untuk mendapatkan koordinat robot, sehingga dapat mengetahui posisi dan melakukan pemetaan.
Gambar 1. Gyrodometry.
b MPU6050
Modul sensor ini memiliki dua fungsi yaitu, accelerometer gyroscope, untuk accelerometer memiliki fitur tiga sumbu keluaran digital, ADC 16-bit terintegrasi memungkinkan pengambilan sampel accelerometer secara simultan tanpa memerlukan multiplexer eksternal, dengan arus operasi normal 500μA,serta interupsi yang dapat diprogram pengguna.
Untuk gyroscope memiliki fitur 3 Axis keluaran digital dengan rentang skala penuh yang dapat diprogram pengguna ±250, ±500, ±1000, dan ±20000°/dtk, ADC 16-bit terintegrasi, filter low-pass yang dapat diprogram secara digital, dengan arus operasi sebesar 3.6mA.
Pada perancangan kali ini MPU6050 akan diakses menggunakan I2C. Kemudian pembacaan sensor gyroscope akan mendapatkan nilai yang akan masuk ke dalam perhitungan gyrodometry.
Gambar 2. MPU6050.
c Rotary Encoder LPD3860 400BM-G5-24C
Rotary Encoder adalah sensor yang mendeteksi posisi dan kecepatan dengan mengubah perpindahan mekanis rotasi menjadi listrik dan memproses sinyal tersebut. Berdasarkan prinsip pengoperasiannya, rotary encoder terbagi menjadi 2 jenis, incremental encoder dan absolute encoder. Incremental Encoder merupakan jenis encoder yang mengeluarkan pulsa sebagai respons terhadap jumlah perpindahan rotasi poros. Sedangkan Absolute encoder merupakan jenis encoder yang mengeluarkan secara paralel sudut rotasi sebagai nilai absolut dalam kode 2n. Oleh karena itu, ia memiliki satu keluaran untuk setiap bit kode keluaran, dan dengan meningkatnya resolusi, nilai keluaran akan meningkat.
Pada perancangan ini, rotary encoder merupakan salah satu komponen penting untuk membaca posisi robot. Data yang diambil dari rotary encoder ini adalah jumlah putaran roda dari pulsa yang dapat diartikan sebagai gerakan, posisi, dan arah. 3 rotary encoder akan dipasang seperti pada gambar
1.3.1.
Gambar 3. Rotary Encoder LPD3860 400BM-G5-24C.
d Arduino Pro Micro
Untuk menghitung koordinat robot dan melakukan pemetaan pada tugas akhir ini digunakan Arduino Pro Micro. Arduino Pro Micro menggunakan IC Atmega32U4, memiliki 18 GPIO pin dengan 5 pin digunakan sebagai output PWM, 9 pin input analog, 4 pin interrupts, 2 UART, dan didukung dengan osilator 16MHz.
Arduino Pro Micro digunakan sebagai kontroler untuk membaca sensor MPU6050, membaca nilai encoder, dan menghitung koordinat robot serta pemetaan lapangan.Selain itu Arduino Pro Micro berkomunikasi dengan mikrokontroler STM32F707 untuk mengirim data koordinat serta pembacaan MPU6050.
2. Metode
Gambar 4. Arduino Pro Micro.
2.1. Desain Hardware
Gambar 5.a. Sketsa Rancangan Robot Gambar 5.b. Gambar Keseluruhan Robot.
2.2. Diagram Kotak Sistem
Gambar 6. Diagram Kotak Sistem.
2.3. Gaftar Alir Sistem
Gambar 7.a. Gambar Alir Sistem Pemetaan Robot.
2.4. Cara Kerja
Gambar 7.b. Gambar Alir Sistem Kerja Robot.
Cara kerja gyrodometry dan penerapan dalam robot adalah sebagai berikut.
a MPU 6050
Sensor diharapkan dapat membaca sudut dari 0 sampai 180° kekanan serta 0 sampai - 179° kekiri sehingga dapat masuk ke rumus gyrodometry. Akan tetapi pembacaan sensor MPU6050 selalu membaca increment jika diputar ke kanan dan decrement jika diputar kekiri sehingga diperlukan rumus tambahan dengan memanfaatkan modulus serta percabangan pada bagian code agar hasil sesuai dengan yang diinginkan.
Gambar 8. Ilustrasi Sudut yang Diharapkan.
b Rotary Encoder
Langkah yang harus dilakukan terlebih dahulu adalah mengukur diameter roda rotary encoder, kemudian menghitung satuan pulsa per cm melalui persamaan berikut.
K = 2πr………(6) D = K/Resolusi encoder ………..………….(7) Keterangan :
❖ r = jari-jari roda pada encoder.
❖ π = 22 / 7.
❖ K = keliling roda pada encoder.
❖ D = pulsa encoder dalam satuan centimeter.
Setelah itu memasang rotary encoder sesuai dengan letak yang sudah ditentukan.
Gambar 9.a. Ukuran Roda Encoder. Gambar 9.b. Pemasangan Rotary Encoder.
c Algoritma Gyrodometry
Algoritma gyrodometry dilakukan dengan menggunakan persamaanberikut ini.
Dx = D2 + D1 - D3 ………(8) Vy = D2 - D1 ………(9)
…(5)
Keterangan :
Dx = jarak teMPUh dalam sumbu X. Dy = jarak teMPUh dalam sumbu Y.
Y = koordinat sumbu Y. X = koordinat sumbu X. θ = arah robot(pembacaan sensor gyroscope).
Persamaan di atas dipengaruhi oleh vektor dari odometry yang digabung dengan nilai gyroscope, kemudian robot akan digeser secara manual ke arah sumbu X dan Y dengan jeda 5 cm.
Gambar 10. Ilustrasi vector encoder.
3. Hasil dan Pembahasan
3.1. Membandingkan Hasil Perhitungan Gyrodometry Dengan Jarak Asli
● Permasalahan
Terdapat permasalahan pada hasil perhitungan gyrodometry untuk menentukan koordinat X dan Y yaitu hasil yang tertampil pada perhitungan dan jarak aslinya berbeda sangat jauh. Hal ini disebabkan oleh penempatan rotary encoder yang tidak presisi, serta ralat yang terdapat pada masing - masing komponen. Masalah ini dapat diatasi menggunakan metode regresi linear. Metode ini bertujuan untuk pemodelan dan investigasi hubungan dua variabel atau lebih, dengan satu variabel tetap dan yang lain merupakan variabel bebas. Pada kasus ini variabel tetap adalah jarak real yang diinginkan sedangkan variabel bebas merupakan hasil pembacaan jarak dari gyrodometry di masing - masing sumbu X dan Y dengan cara mendorong robot secara manual ke depan untuk sumbu Y dan ke kanan untuk sumbu X. Hasil perhitungan mendekati jarak asli dengan mengalikan hasil rumus gyrodometry dengan hasil regresi linear .
Gambar 11.a.Hasil Regresi Linear ke Arah Sumbu X.
Gambar 11.b.Hasil Regresi Linear ke Arah Sumbu Y.
● Hasil
Berikut ini tabel hasil keberhasilan dari gyrodometry dimana ralat terbesar adalah 9,43% untuk sumbu X dan 3,85% untuk sumbu Y.
Tabel 1. Hasil Gyrodometry ke Arah Sumbu X dan Y.
No Jarak Asli (cm)
Sumbu X Sumbu Y
Jarak Pembacaan
(cm)
Ralat (%) Jarak Pembacaan
(cm)
Ralat (%)
1 5 4,74 5,20 4,88 2,40
2 10 9,84 1,60 10,06 0,60
3 15 15,14 0,93 14,91 0,60
4 20 21,08 5,40 20,77 3,85
5 25 25,04 0,16 24,79 0,84
6 30 31,21 4,03 31 3,33
7 35 34,98 0,06 34,87 0,37
8 40 43,77 9,43 40,13 0,33
9 45 44,52 1,07 46,08 2,40
10 50 49,37 1,26 49,85 0,30
11 55 55,09 0,16 54,76 0,44
12 60 61,26 2,10 60,3 0,50
13 65 64,98 0,03 65 0,00
14 70 70,84 1,20 69,53 0,67
15 75 74,36 0,85 74,9 0,13
16 80 81,53 1,91 82,19 2,74
17 85 85,97 1,14 85,97 1,14
18 90 88,7 1,44 92,79 3,10
19 95 95,8 0,84 94,71 0,31
20 100 99,85 0,15 101,23 1,23
3.2. Penerapan
Trigonometri digunakan dalam menentukan arah sudut untuk mengoper ke arah robot teman maupun ke arah gawang. Nilai koordinat X dan Y dibagi 50 cm untuk mendapatkan nilai grid X dan grid Y.
Gambar 12.a. Ilustrasi Arah Tendang
Melambangkan Robot.
Melambangkan titik tujuan tendangan gawang maupun robot teman .
θ° Merupakan sudut arah tendangan (dari perhitungan trigonometri)Robot berada pada grid (9, 12) sedangkan titik tujuan tendangan adalah grid (6, 17), setelah mendapatkan titik tujuan tendangan langkah yang dilakukan adalah mencari sudut dengan perhitungan berikut
Melalui perhitungan di atas robot akan berputar ke arah sudut -37°. Yang membedakan antara percobaan menendang ke arah gawang dan ke arah teman adalah menentukan titik tujuan tendangan jika ke arah gawang sudah dicode secara manual tetapi jika menendang ke arah teman melalui komunikasi antar robot. Pada bagian ini telah dilakukan percobaan sebanyak 25 kali untuk tendangan ke arah gawang maupun ke arah teman dengan hasil yang dapat dilihat pada tabel berikut.
Tabel 2. Hasil Penerapan Gyrodometry Tendang ke Gawang dan ke Robot Teman.
Percobaan ke
Hasil
Tendang ke Gawang dengan Titik Tujuan (6,17) dari Titik yang
Random
Tendang ke Arah Teman dengan Titik Tujuan yang
Random dan Titik Robot yang Random
1 berhasil gagal
2 berhasil berhasil
3 gagal berhasil
4 berhasil berhasil
5 berhasil gagal
6 berhasil berhasil
7 berhasil berhasil
8
gagal
gagal9 berhasil berhasil
10 berhasil berhasil
11 berhasil berhasil
12 gagal berhasil
13 berhasil gagal
14 berhasil berhasil
15 berhasil berhasil
16 berhasil gagal
17 gagal berhasil
18 berhasil berhasil
19 berhasil berhasil
20 gagal berhasil
21 berhasil gagal
22 berhasil berhasil
23 berhasil berhasil
24 berhasil gagal
25 berhasil berhasil
4. Kesimpulan
Dari hasil perancangan dan pengujian yang telah dilakukan diperoleh hasil berikut ini. Saat robot digeser secara manual kearah sumbu X dengan ralat paling besar 9,43%. Saat robot digeser secara manual kearah sumbu X dengan ralat paling besar 3,85%. Akurasi keberhasilan robot mengoper ke arah teman sebesar 72%. Akurasi keberhasilan robot menciptakan gol sebesar 80%. Regresi linear dapat mengatasi masalah pada perhitungan gyrodometry .