Implementasi Robot Keseimbangan Beroda Dua Berbasis Mikrokontroler

## GRACE BOBBY, ERWIN SUSANTO, FIKY YOSEP SURATMAN
Jurusan Teknik Elektro Telkom University Bandung Email : gracebobbysidauruk@yahoo.co.id

## ABSTRAK
Perkembangan  dunia  robot  berkembang  pesat  dari  tahun  ke  tahun.  Salah  satu contohnya  ialah  Segway  Personal  Transporter.  Variasi  teknik  dalam  pergerakan robot  pada  lingkungan  yang  dinamik  pun  semakin  banyak,  diantaranya  Pole- Placement  Controller,  Fuzzy  Logic,  Proportional  Integrated  Derivative  Controller (Kontrol PID). Pada penelitian ini Fuzzy Logic akan digunakan sebagai pengontrol robot  keseimbangan  ini.  Pada  sistem  ini  digunakan  dua  sensor  (accelerometer dan  gyroscope)  untuk  mendapatkan  pembacaan  data  yang  stabil  dan  handal. Dari  hasil  percobaan  kalman  filter,  diperoleh  nilai  parameter  kalman  filter  yang optimal adalah Qaccelerometer = 0,001 , Qgyroscope = 0,003 dan Rpengukuran = 0,03.
Kata  kunci :  Accelerometer,  Gyroscope,  Fuzzy  Logic,  Kalman  Filter,  Self- balancing Control.

## ABSTRACT
The development of robots is growing rapidly from year to year. One example is the  Segway  Personal  Transporter.  A  variety  of  techniques  in  the  movement  of the  robot  in  the  dynamic  environment  became more  numerous,  including  Pole- Placement  Controller,  Fuzzy  Logic,  Proportional  Integrated  Derivative  Controller (PID  control).  In  this  project,  Fuzzy  Logic  will  be  used  as  an  balancing  robot controller.  In  this  system,  used  two  sensors  (accelerometer  and  gyroscope)  to obtain data readout is stable and reliable. From the experimental of Kalman filter, obtained  the  optimal  parameter  values  of  Kalman  filter  are  Qaccelerometer  = 0.001, Qgyroscope = 0.003 and Rmeasure = 0.03.
Keywords : Accelerometer, Gyroscope, Fuzzy Logic, Kalman Filter, Self-balancing Control.

## Implementasi Robot Keseimbangan Beroda Dua Berbasis Mikrokontroler

## 1. PENDAHULUAN
Di  dunia  modern  saat  ini.  Penelitian  mengenai  robot  sangatlah  banyak  dan  berkembang pesat, disertai dengan kemajuan teknologi yang terus menerus berkembang. Salah satu yang membuat  penulis  ingin  untuk  mengembangkan  pengetahuannya  mengenai  robot  dan sejenisnya. Robot yang akan dibahas disini adalah robot yang akan dapat menyeimbangkan dirinya  hanya  dengan  dua  roda.  Dimana  pada  saat  ini  kita  sudah  mengenal  adanya kendaraan  Segway  Personal  Transporter.  Kendaraan  yang  memiliki  dua  roda,  dikanan  dan dikiri sebagai penyeimbangnya.
Di  sini  akan  dirancang  prototip  dari  Segway.  Seperti  yang  sudah  dibahas  sebelumnya,  ini juga merupakan pengembangan dari pendulum terbalik yang di letakan diatas kereta beroda. Sedangkan tujuan dari penilitian ini ialah mendesain suatu sistem kontrol yang handal agar robot dapat berdiri tegak.
Untuk  dapat  menyeimbangkannya  dibutuhkan  metode  kontrol  yang  baik  dan  handal  untuk mempertahankan  posisi robot  dalam  keadaan  tegak  lurus  terhadap permukaan  bumi  tanpa memerlukan  pengendali  dari  luar  dan  menerapkan  Self-balancing  Control.  Maka  dari  itu penulis memilih kontrol Fuzzy Logic sebagai kontrol yang dapat menciptakan kontrol sesuai dengan  yang  diharapkan  penulis.  Penentuan  pada  metode  control  Fuzzy  Logic  ini  ialah dikarenakan dengan menggunakan Fuzzy Logic ini keluaran dari system berupa crisp tegas yang dapat menjaga kestabilan robot yang dibuat.
Pada  penelitian  ini  digunakan  Arduino  uno,  serta  memakai  sensor  accelerometer  dan gyroscope yang akan mengendalikan motor DC. Masalah yang didapatkan pada penelitian ini antara lain ialah merealisasikan kontrol Fuzzy Logic pada sistem robot dengan merealisasikan Kalman  Filter  agar  pembacaan  sensor  akurat.  Sehingga  robot  ini  dapat  mempertahankan posisinya tegak lurus dengan seimbang terhadap permukaan bumi pada bidang datar. Dan dapat menerapkan Self-balancing Control pada robot.

## Balancing Robot
Balancing robot beroda dua merupakan suatu robot mobile yang memiliki dua roda di kedua sisinya dan tidak akan seimbang tanpa sebuah metode kontrol yang baik (Wibowo,2013) . Saat balancing robot beroda dua cenderung ke depan atau miring ke kanan pada Gambar 1, maka  yang  perlu  dilakukan  adalah  motor  akan  memutar  searah  jarum  jam  sehingga balancing  robot  beroda  dua  akan  berputar  ke  arah  depan.  Gaya  yang  digunakan  untuk menyeimbangkan dihasilkan dari putaran roda.

## Bobby, dkk
(a)                                            (b)
Gambar 1. Balancing Robot Beroda Dua Menyeimbangkan Diri. (a)  Posisi Robot Seimbang (b)  Arah Roda Berjalan dan Berputar Ketika Posisi Miring ke depan.

## Logika Fuzzy
Logika  Fuzzy  merupakan  logika  dalam  pengambilan  keputusan  yang  digunakan  untuk memecahkan  masalah  dengan  sistem  yang  sulit  untuk  dimodelkan,  teori  tentang  fuzzy  set pertama  kali  diperkenalkan  dan  dikembangkan  oleh  Dr.  Lotfi  A.  Zadeh  dari  Universitas California,  Berkeley  pada  tahun  1965.  Dalam  kehidupan  banyak  masalah  dengan  informasi yang  sulit  direpresentasikan  ke  dalam  sebuah  model  rumus  atau  angka  yang  pasti  karena informasi tersebut bersifat kualitatif (tidak bisa dihitung secara kuantitatif).

## Driver Motor
Gambar 2. Driver Motor DC
Antara  mikrokontroler  dengan  suatu  motor.  Fungsi driver  motor  yaitu  untuk  menjalankan motor  sebagai  mengatur  arah  putaran  motor  maupun  kecepatan  putaran  motor  dan digunakan driver motor karena arus yang keluar dari mikrokontroler tidak mampu memenuhi

## Implementasi Robot Keseimbangan Beroda Dua Berbasis Mikrokontroler
kebutuhan motor DC, serta mengubah tegangan yang dikeluarkan mikrokontroler agar sesuai dengan tegangan yang dibutuhkan motor tersebut.
Pada  penelitian  ini  digunakan  satu  jenis driver  motor,  yaitu  driver  motor  MotoMama  Itead Studio  yang  ditunjukkan  pada  Gambar  2.  MotoMama  merupakan  basis driver motor perisai H-Bridge di ST L298N Chip.

## Sensor Kemiringan
Dalam  dunia  elektro  mekanik  ada  beberapa  alat  sensor  gerak  yang  dapat  digunakan  dan salah  satunya  adalah accelerometer  dan  gyroscope.  Secara  sederhana  accelerometer merupakan  sebuah  alat  untuk  sensor  posisi  dan  perpindahan  sedangkan gyroscope digunakan  sebagai  sensor  sudut/gerak  rotasi.    Baik accelerometer  maupun  gyroscope sudah banyak diterapkan terutama pada bidang mekanika khususnya sistem keseimbangan.

## Inertial Measurement Unit  (IMU)

## Gambar 3. IMU 6050
Gambar 3 ialah sensor MPU-6050.  IMU  digital  ini  memiliki  3-axis accelerometer dan  3-axis gyroscope yang  mana  sensor  ini  terhubung secara  I2C, dan  ketika  dikombinasikan dengan filter, akan menampilkan pembacaan kemiringan yang sangat stabil.

## Motor DC
Agar  robot  dapat  berdiri  tegak  dengan stabil  maka  pemilihan motor  DC  sangatlah  penting. Motor DC dengan torsi dan RPM yang tinggi menjadi sangat krusial untuk  kestabilan robot. Sementara yang penulis pakai ada motor DC N20 motor yang ditunjukkan pada Gambar 4.

## Gambar 4. Motor DC

## Arduino Uno

## Gambar 5. Arduino Uno
Arduino  Uno  merupakan  sebuah  perangkat  mikrokontroler  berbasis  ATMega  328.  Seperti halnya  mikrokontroler  lain,  Arduino  Uno  juga  memiliki  fasilitas  dasar  dari  mikrokontroler. Arduino  Uno  memiliki  14  pin  input/output  digital,  dengan  6  diantaranya  bisa  digunakan sebagai  PWM (Pulse  With  Modulation),  6  pin  input  analog,  ICSP  header,  16  MHz  kristal osilator, USB port dan tombol reset yang ditunjukkan  pada Gambar 5.

## Kalman Filter
Penulis  ingin  menunjukan  kelebihan  Kalman  filter  untuk  memberi  prediksi  yang  baik  untuk sudut  robot  terhadap  permukaan  bumi  dan  menjaga  robot  agar  tetap  seimbang.  Karena Kalman Filter digunakan untuk menghilangkan segala noise pengukuran pada accelerometer dan gyroscope. Kelemahan dari Filter ini sendiri adalah tidak adanya standar dalam metode

## Implementasi Robot Keseimbangan Beroda Dua Berbasis Mikrokontroler
mendapatkan  persamaan  matematis  yang  akan  digunakan  di  Kalman  Filter.    Inilah  yang membuat Kalman Filter menjadi kompleks. Kelemahan pada implementasi Kalman Filter pada sistem embedded adalah besarnya beban yang diberikan pada mikrokontroler. Dikarenakan pada akan mengerjakan perhitungan matriks yang kompleks.

## 2. PERANCANGAN SISTEM
Perancangan  robot  keseimbangan  terdiri  dari  blok  sistem  yang  diintegrasikan  menjadi  satu sistem utuh. Pembagian blok sistem dibagi menjadi blok sensor, blok pengolahan data, dan blok keluaran (Pamungkas,A.P, 2013) . Pada blok sensor, robot menggunakan sensor IMU sebagai  masukan.  Pertama  adalah  gabungan  sensor accelerometer  dan  gyroscope  yang berfungsi  untuk  mengukur  derajat  robot  yang  berporos  pada  pusat  bumi.  Pada  bagian keluaran  merupakan  pengaturan  arah  pergerakan  dan  kecepatan  dua  motor  DC  yang dipasang  secara  diferensial  dengan  menggunakan driver  motor.  Data  yang  dihasilkan  dari bagian  pengolahan  akan  digunakan  untuk  mengatur  arah  gerak  dari  kedua  motor  serta mengatur  kecepatannya  menggunakan duty  cycle.  Berikut  ini  adalah  diagram  blok  dari sistem yang digunakan dalam penelitian ini:
Gambar 6. Diagram Blok Sistem
Gambar 6 adalah struktur kerja system. Nilai masukan (Set Point) sistem berupa nilai derajat yang dikehendaki ialah 0°. Hasil dari keluaran kendali berupa tegangan dalam bentuk PWM ( Pulse  Width  Modulation).  Sensor  accelerometer  dan  gyroscope  akan  bekerja  untuk mengukur nilai dari derajat robot ( Present Value) dan kemudian menjadikan nilai pembacaan sebagi nilai umpan balik negatif.
Pada Gambar 7 akan menjelaskan alur kerja dari perangkat yang digunakan pada penelitian ini.

## Gambar 7. Alur Kerja Perangkat
Gambar  7 menunjukan  alur  proses  kerja  keseluruhan  perangkat.  Proses  pemrograman digunakan  melalui  Arduino  Uno  R3  yang  terhubung  secara serial  terhadap  PC  (Personal Computer).  Dalam  program  Arduino  telah  diatur  nilai  set  point  dari  sistem  sebesar  0º. Mikrokontroler  kemudian  menghasilkan  nilai  PWM  untuk  menyeimbangkan  robot.  Nilai derajat  dari  badan  robot  kemudian  akan  dibaca  kembali  oleh  sensor  IMU  secara analog. Untuk  proses  analisis  data,  digunakan  perangkat  lunak,  untuk plotting  data  yang  dibaca secara serial di Arduino.
Sementara  untuk flowchart  sistem  yang  digunakan  oleh  mikrokontroler  dapat  dilihat  pada Gambar 8 berikut ini :
Gambar 8. Flowchart sistem kerja dan perancangan hardware
Flowchart pada Gambar 8 merupakan urutan kerja sistem robot keseimbangan yang dibuat. Yang pertama dilakukan adalah menentukan keseimbangan dari robot. Selanjutnya dari yang sudah  dirancang  maka  dengan  otomatis  program  akan  memilih  kecepatan  dan  arah  putar motor DC.
Flowchart pada Gambar 8 yang kedua menunjukan urutan kerja dari perangkat lunak yang dirancang.  Yang  pertama  dilakukan  adalah  inisialisasi  parameter  Fuzzy  Logic  dan  kalman filter. Lalu setelah mendapat nilai pembacaan dari sensor akan dibaca menggunakan metode kalman  filter  untuk  mendapat  kemiringan  robot  yang  mana  nilai  tersebut  akan  di  proses dalam  Fuzzy  Logic  dan  mengeluarkan output  berupa  PWM  untuk  menggerakkan  motor dengan kecepatan dan arah putaran yang sudah ditentukan.

## Gambar 9. Bentuk Fisik Robot tampak Depan dan Belakang
Gambar 9 menunjukan robot tampak depan dan belakang. Bentuk fisik robot ini mempunyai tinggi 132mm dan Chassis diameter 122mm. Ruang antara plat memberikan keluasaan untuk meletakan komponen elektrik dan hardware lainnya. Jarak antara Chassis dan tanah 15mm diameter roda 42×19 mm. Dua buah motor DC ditempelkan di plat yang paling bawah.

## 2.1 Perancangan Fuzzy Logic
Logika fuzzy digunakan sebagai pengolah data masukan dari sensor  IMU. Hal ini bertujuan agar proses penyeimbangan berjalan lancar.

## 2.1.1 Fuzzyfication
Data hasil pembacaan sensor IMU merupakan data masukan bernilai tegas ( crisp) kemudian diubah menjadi himpunan fuzzy menurut fungsi keanggotaannya (Priyoprahastyo, 2015). Proses awal dari fuzzyfikasi adalah membuat membership function (fungsi keanggotaan) dari masukan,  serta  menentukan  banyaknya variable  linguistic  dalam  fungsi  keanggotaan tersebut. Dari fungsi keanggotaan yang dibuat akan diketahui nilai derajat keanggotaan dari masing-masing variable dalam himpunan fuzzy berdasarkan masukan tegas (crisp).
Pada  sistem  ini  terdapat  masukan  dari  sensor  IMU.  Masukan  dari  sensor  IMU  ini  memiliki masing-masing empat nilai linguistik untuk masing-masing sensor NE, AZE1 , AZE2  dan PE.

## Implementasi Robot Keseimbangan Beroda Dua Berbasis Mikrokontroler
Masukan  kedua  dari  delta  error  NDE,  AZDE1,  AZDE2  dan  PDE  dengan  fungsi  keanggotaan bahu trapesium.

## Gambar 10. Fungsi keanggotaan masukan sensor error
Gambar 11. Fungsi keanggotaan masukan sensor negatif error
Pada  keluaran  sistem  menggunakan  model  sugeno,  pembentukan  fungsi  keluaran  pada model  sugeno  memiliki fungsi  yang  lebih  sederhana  dengan  respon lebih  cepat  dari model yang  lain.  Bentuk  keluaran  fungsi  keanggotaan  pada  model  sugeno  mempunyai  bentuk singletone, bentuk dengan derajat keanggotaan satu pada suatu nilai crisp tunggal dan nilai nol pada suatu crisp yang lain.
Karena  keluaran  dalam  bentuk singletone  maka  fungsi  pada  setiap  nilai  linguistik  bernilai satu  dan  nol  pada  diluar  nilai  linguistik.  Keluaran  pada  sistem  yang  dibuat  ada  dua,  yaitu PWM  pengontrol  motor  dc  kanan  dan  kiri.  Untuk  keluaran  sistem  yang  berupa  kecepatan memiliki  lima  nilai  linguistik,  yaitu: MUNDUR  CEPAT,  MUNDUR,  BERHENTI,  MAJU, MAJU CEPAT.
Output -150 -35 0 35 150
Mundur Cepat Mundur
Berhenti
Maju Maju Cepat
Gambar 12. Fungsi keanggotaan keluaran motor

## 2.1.2 Rule Inference
Pada rule  inference,  terjadi  proses  pengolahan  data  masukan  fuzzyfikasi  dengan  hasil keluaran yang dikehendaki dengan aturan-aturan tertentu. Dari aturan-aturan yang dibentuk inilah  yang  nantinya  akan  menentukan  respon  dari  sistem  terhadap  berbagai  kondisi set point  dan  gangguan  yang  terjadi  pada  sistem  yang  akan  dibuat.  Rule  inference  sistem tertulis pada Tabel 1.
Tabel 1. Rule Inference motor
Keterangan : MC-=Mundur Cepat, M-= Mundur, B=Berhenti, M+= Maju, MC+= Maju Cepat.. Berdasarkan tabel, maka sistem mempunyai 16 aturan fuzzy, yaitu:
1 Jika Error = NE dan Delta Error = NDE maka Motor DC = MUNDUR CEPAT.
2 Jika Error = NE dan Delta Error = AZDE1 maka Motor DC = MUNDUR . 3 Jika Error = NE dan Delta Error = AZDE2 maka Motor DC = MUNDUR CEPAT. Sampai dengan 16 Jika Error = PE dan Delta Error = PDE maka Motor DC = MAJU CEPAT.

## Implementasi Robot Keseimbangan Beroda Dua Berbasis Mikrokontroler

## 2.1.3 Defuzzyfication
Deffuzifikasi merupakan pemetaan bagi nilai-nilai fuzzy keluaran yang dihasilkan pada tahap rules  inference  ke  nilai-nilai  keluaran  kuantitatif.  Pada  perancangan  robot  mobil  ini  proses deffuzifikasi  menggunakan  metode Weigth  Average  dan  keluaran  dari  proses  deffuzifikasi berupa nilai PWM yang nantinya digunakan untuk mengontrol kecepatan motor DC.

## 2.2 Kalman Filter Diskrit
Kalman  filter  merupakan  filter  digital  rekursif  yang  dapat  mengestimasi  proses  dengan sangat  efektif.  Kalman  filter  dapat  mengurangi  noise  pada  pengukuran  sensor  sebelum masuk ke dalam sistem kontrol. Oleh karena itu kalman filter sering digunakan pada sistem kontrol  yang  sensitif  terhadap  noise  karena  dapat  meminimalkan square  error.  Pada implementasinya  kalman  filter  tidak  memerlukan  data  yang  harus  disimpan.  Setiap  data pengukuran  yang  masuk  akan  diproses  ulang.  Sehingga  kalman  filter  akan  lebih  mudah untuk  diimplementasikan  pada  mikrokontroler (Royyan,2015) .  Sebelum  kalman  filter digunakan  untuk  membaca  data  dari  sensor,  proses  atau  sistem  harus  dimodelkan  dalam sistem linear.
𝑥 𝑘 = 𝐴𝑥 𝑘−1 + 𝐵𝑢 𝑘 + 𝑤 𝑘−1 𝑧 𝑘 = 𝐻𝑥 𝑘 + 𝑣 𝑘
Persamaan 1 merepresentasikan persamaan state proses. 𝑥 𝑘 merupakan kombinasi dari nilai sebelumnya  dengan  sinyal 𝑢 𝑘 dan process  noise. 𝐴, 𝐵, dan 𝐻 menyatakan state  matrices, 𝑤 𝑘−1 menyatakan process noise. Persamaan 2 merepresentasikan persamaan output state. 𝑧 𝑘 adalah nilai yang terukur dari sensor, dan 𝑣 𝑘 menyatakan noise pengukuran. Noise proses 𝑤 𝑘−1 dan noise  pengukuran 𝑣 𝑘 tidak  memiliki  hubungan  karena  keduanya  merupakan independent  random  noise  variables.  Tapi  keduanya  dapat  dimisalkan  dengan  matrik kovarian 𝑄 𝑤 dan 𝑅 𝑣 . Sehingga dapat dituliskan pada Persamaan 3 dan 4.
𝑄 𝑤 = 𝐸 [𝑤 𝑘 𝑤 𝑘 𝑇 ] 𝑅 𝑣 = 𝐸 [𝑣 𝑘 𝑣 𝑘 𝑇 ]
Dari  Persamaan  3  dan  4,  T  adalah matrix  transpose  dan 𝐸 merupakan  nilai  estimasinya. Process  noise  covariance  ( 𝑄 𝑤 )  matrix  dan  measurement  noise  covariance  ( 𝑅 𝑣 )  merupakan komponen penting dalam  kualitas  hasil dari  keluaran  kalman  filter. Kedua  matriks  kovarian ini  dapat  diperoleh  dengan  menggunakan  persamaan  statistic.  Namun,  pada  penelitian  ini penulis menggunakan  metode tunning. Yaitu dengan trial and error sampai mendapat nilai yang  paling  baik  untuk  pembacaan  sensor  yang  digunakan.  Kalman  filter  memperkirakan keluaran  sensor  dengan  skema  umpan  balik.  Pertama,  kalman  filter  akan  memperkirakan keadaan pada suatu waktu. Lalu mengambil nilai pengukuran yang ber- noise dalam bentuk umpan  balik.  Maka  perhitungan  dari  kalman  filter  akan  terbagi  menjadi  dua  bagian,  yaitu Time Update (kondisi prediksi) dan Measurement Update (kondisi koreksi). Dua persamaan inilah yang menjadi dasar dari kalman filter.
(1) (2)
(3)
(4)
Gambar 13. Skema Algoritma Kalman Filter

## 3. PENGUJIAN
Pengujian pada penelitian ini terbagi menjadi 3 bagian dan bertahap : 1. Pengujian Kalman Filter
2. Pengujian Fuzzy Logic
3. Kesimpulan atau nilai keseluruhan kinerja Robot

## 3.1  Pengujian Kalman Filter
Seperti yang sudah dijelaskan, tujuan utama dari Kalman filter adalah menghilangkan noise pengukuran  pada sensor  accelerometer  serta  mengurangi  drift  dari  gyroscope (Putra,2015). Kalman filter  memberikan  prediksi sudut yang  lebih  baik  dari data asli dari accelerometer.    Agar  filter  dapat  berjalan  dengan  lancar,  maka  perlu  dilakukan  tuning manual (Boskovich,1993). Parameter yang perlu dituning adalah Qw dan Rv. Matriks Qw terdiri  dari noise  proses,yaitu  Q_angle  dan  Q_bias  sedangkan  Rv  merupakan  noise pengukuran yaitu R_measure.

## Gambar 14. Tuning yang tidak baik
Dari  Gambar  14  kita  dapat  melihat  bahwa  keluaran  dari  kalman  filter  (bewarna  kuning) masih  mendominasi  pemilihan  pembacaan  sensor  yaitu  pembacaan  dari accelerometer ataupun gyroscope.  Sedangkan  yang  diharapkan  pada  penelitian  ini  kalman  filter  dapat menggabungkan kedua sensor tersebut dan mengurangi noise yang dimiliki masing-masing sensor atau memprediksi sudut keluaran yang sesungguhnya.
Gambar 15. Tuning R_measure
Gambar 16. Tuning R_ measure
Dari Gambar 15 dan Gambar 16 diatas diperoleh bahwa perubahan nilai R_measure menjadi lebih besar membuat membuat terjadinya overshoot pada awal pembacaan. Diawal Terlihat bahwa kalman mengikuti sudut pembacaan dari accelerometer tapi seiring jalan kalman pun mengikuti  nilai  pembacaan  dari gyroscope  atau  mengikuti  nilai  bias  yang  tidak  respon terhadap  waktu  yang  sebenarnya.  Disinilah  kita  harus  menemukan  atau  menentukan parameter yang tepat untuk R_measure.
Gambar 17. Tuning Q_w Gambar 18. Tuning Q_w Gambar 19. Tuning Q_w

## Gambar 20. Tuning Q_w
Pada  Gambar  17  sampai  20  menunjukan  perbandingan  sudut  accelerometer  dan  kalman filter  dengan  mengubah  nilai 𝑄 𝑤 .  Perubahan  nilai  Q_angle  dan  Q_bias  menentukan  salah satu nilai lebih dipercaya antara accelerometer dan gyroscope. Jika nilai Q_angel lebih kecil dibandingkan nilai Q_bias maka pembacaan nilai accelerometer lebih dipercaya dibandingkan dengan nilai pembacaan gyroscope, begitu juga sebaliknya.
Setelah  melakukan  beberapa  percobaan  untuk  mencari  nilai 𝑄 𝑤 dan 𝑅 𝑣 yang  optimal. Didapatkan nilai parameter kalman filter yang optimal adalah:
 Q_angle (Q_ accelerometer) = 0.001
 Q_bias (Q_ gyroscope) = 0.003  R_measure = 0.03
Gambar 21. Tuning yang Optimal

## 3.2   Pengujian Fuzzy Logic
Tujuan dari Fuzzy Logic adalah kestabilan. Terlihat robot menjaga kestabilannya di sudut 0º. Pada  Gambar  22  terlihat  bahwa  pada  awal  inisialisasi  terdapat  sebuah  overshoot  yang disebabkan initialisasi prediksi sudut kalman, akan tetapi setelah itu overshoot itu hilang.
Parameter Fuzzy ialah : -20º, -4º, 15º, 20º.

## Gambar 22. Pembacaan Sudut dan PWM
*Jika  sudut  menunjukkan  keluaran  negatif  yaitu  pembacaan  posisi  robot  miring  ke  belakang  maka PWM  akan  mengeluarkan  nilai  positif  untuk  menggerakan  motor  ke  arah  depan.  Begitu  juga sebaliknya.

## 4. KESIMPULAN
Berdasarkan  hasil  perancangan,  implementasi,  dan  pengujian  sistem  kendali  Fuzzy  Logic, dapat disimpulkan bahwa:
1. Dengan  menggunakan  2  buah  input  pada  proses  fuzzifikasi  dan  menggunakan  16 rules,  robot  mampu  mencapai  kesetimbangannya  kembali  ( steady  state)  setelah mendapatkan  gangguan  dari  luar.  Pengujian  robot  keseimbangan  dengan menggunakan  kendali  fuzzy  logic  dapat  membuat  robot  berdiri  tegak  pada  pusat bumi  dan  robot  mampu  mencapai  tujuan  dari  penelitian  ini  ialah  mendesain  suatu kontrol handal yang dapat membuat robot berdiri tegak.
2. Penggunaan filter pada sensor IMU dengan penggabungan sensor accelerometer dan gyroscope  yaitu  kalman  filter,  sangat  berguna  dan  membantu  dalam  mengurangi noise dan drift pada sensor.
3. Penggabungan  sensor accelerometer  dan  gyroscope  menggunakan  kalman  filter memberikan nilai perhitungan sudut yang lebih baik dibandingkan perhitungan sudut langsung menggunakan accelerometer atau gyroscope.
4. Pemilihan nilai 𝑄 𝑤 dan 𝑅 𝑣 pada kalman filter sangat berpengaruh pada nilai keluaran sudut  dari  sensor  IMU.  Nilai 𝑄 𝑤 dan 𝑅 𝑣 yang  optimal  setelah  melakukan  beberapa percobaan  adalah 𝑄 𝑎𝑐𝑐𝑒𝑙𝑒𝑟𝑜𝑚𝑒𝑡𝑒𝑟 = 0,001 ; 𝑄 𝑔𝑦𝑟𝑜𝑠𝑐𝑜𝑝𝑒 = 0,003 dan 𝑅 𝑚𝑒𝑎𝑠𝑢𝑟𝑒𝑚𝑒𝑛𝑡 = 0,03 .

## DAFTAR RUJUKAN
Wibowo, B.C. dan Iqbal. M. (2013). Implementasi Metode Logika Fuzzy pada Kontrol Keseimbangan Robot Mobil Beroda Dua. Jurnal Universitas Muria. Kudus.
Pamungkas, A.P. Balancing Robot Beroda Dua Menggunakan Metode Fuzzy Logic Berbasis Mikrokontroler Arduino. Fakultas Teknik Elektro, Universitas Dian Nuswantoro.
Priyoprahastyo, L.P. (2015). Design and Implementatio of Collision Avoidance for Automated Guided  Vehicle  (AGV)  Using  Ultrasonic  Sensors  With  Fuzzy  Logic  Methods.  Telkom University.
Royyan,  M.  (2015).  Implementation  of  Kalman  Filter  and  PID  Controller  for  Inverted Pendulum Robot. Telkom University.
Putra, N.W. (2015). Design And Implementation ADCS (Attitude Determination And Control System) For Nano Satellite Using Reaction Wheel. Telkom University
Boskovich, S.M. (1993). A Two Wheeled Robot Control System, California State Polyrechnic University