## Peningkatan Akurasi Sensor GY-521 MPU- 6050 dengan Metode Koreksi Faktor Drift
Fakhruddin Mangkusasmito 1 , Dista Yoel Tadeus 1 , Heru Winarno 2 , Eko Ariyanto 2
1 STr.Teknologi Rekayasa Otomasi, Sekolah Vokasi Undip, Semarang, Indonesia
2 STr. Teknik Listrik Industri, Sekolah Vokasi Undip, Semarang, Indonesia fakhm17@lecturer.undip.ac.id
Diterima 14 Oktober 2020 Disetujui 11 November 2020
Abstract—  GY-521  MPU-6050 Module  is a  core  module MPU-6050, which is a 6 axis Motion Processing Unit. This sensor  can  be  categorized  as  an  Inertial  Measurement Unit (IMU) sensor, which utilizes measurement systems such  as  gyroscopes  and  accelerometers  to  estimate  the relative position, velocity, and acceleration of an object. A  common  accuracy  problem  in  using  IMU  sensors, including  the  GY-521  MPU-6050,  is  the  drifting phenomenon.  This  phenomenon  results  in  a  deviation between the actual conditions (position, angular velocity) and  the  sensor  readings.  Drift  is  caused  by  the accumulation  of  errors  that  arise  from  calculating  the integral  of  the  acceleration.  This  study  proposes  a  drift error  correction  method  at  the  sensor  output  using  the calibration of the calculation of the average offset error sensor  and  the  sensor  fusion  method  between  the information obtained from the gyroscope and accelerometer  in  the  module,  the  tests  were  carried  out using  the  Arduino  Uno  microcontroller.  From  the  test results,  it  is  found  that  the  combination  of  the  initial system  calibration  implementation  and  the  use  of  the fusion  sensor  concept  can  provide  better  performance with  the  MSE  analysis  results  for  the  roll  position  of 0.0029o and the pitch position of 0.0047o and the drifting error rate at the yaw angle position of 0 0082o / second or down 62.72%.
Index Terms— IMU, MPU-6050, drifting, calibration, sensor fusion, Arduino

## I. P ENDAHULUAN
I nertial  Measurement  Unit (IMU)  merupakan  alat yang  memanfaatkan  sistem  pengukuran  seperti gyroskop  dan  akselerometer  untuk  memperkirakan posisi  relatif,  kecepatan,  dan  akselerasi  dari  suatu benda. Secara umum IMU digunakan untuk keperluan sistem  navigasi  [1].  Untuk  keperluan  sistem  navigasi diperlukan informasi kecepatan sudut dan posisi sudut [2], dan seringkali digunakan sensor tambahan seperti magnetometer  dan  sensor  temperatur[3].  Sensor  IMU dapat pula diintegrasikan dengan sistem odometri untuk menghasilkan  informasi  posisi  dan  referensi  untuk sistem autonomus di robot pertambangan seperti yang diperlihatkan oleh Gambar 1 berikut[4].
Gambar 1. Integrasi IMU-Odometri untuk menghasilkan informasi navigasi
Sensor  jenis microelectromechanical  systems (MEMS),  merupakan  jenis  sensor  yang  dibangun berdasarkan teknologi  mikrosistem yang didefinisikan sebagai  elemen  mekanik  dan  elektromekanik  dalam bentuk  mikro  dibuat  dengan  dengan  teknik  pabrikasi mikro.  Selain  sifatnya  yang compact dan  berdimensi relative  rendah,  tipe  sensor  MEMS  memilikki konsumsi daya yang rendah, sehingga cocok digunakan untuk  keperluan  sistem  navigasi  [5].  GY-521  MPU- 6050 Module adalah sebuah modul berinti MPU-6050 yang merupakan 6 axis Motion Processing Unit dengan penambahan regulator tegangan dan beberapa komponen pelengkap lainnya yang membuat modul ini siap dipakai dengan tegangan supply sebesar 3-5VDC.
Sensor MPU-6050 berisi
sebuah MEMS Accelerometer  dan  sebuah  MEMS  Gyro  yang  saling terintegrasi.(https://invensense.tdk.com/products/moti on-tracking/6-axis/mpu-6050/).  Selain  dimensi  yang tepat  diperlukan  pula performa dan akurasi yang baik dari  sensor  IMU  agar  dapat  menghasilkan  performa navigasi  yang  optimal  untuk  berbagai  keperluan navigasi  [6][7][8][9].  Sensor  GY-521  MPU-6050 banyak  digunakan  untuk  berbagai  aplikasi  karena mudah digunakan, dapat menghasilkan performa yang baik dan memilikki harga yang murah [10].
Permasalahan akurasi yang umum dalam penggunaan sensor IMU termasuk GY-521 MPU-6050 adalah fenomena drifting .
Fenomena ini mengakibatkan  adanya  deviasi  antara  kondisi  aktual (posisi, kecepatan sudut) dan hasil pembacaan sensor.

## ISSN 2355-3286
Drift disebabkan  oleh  akumulasi  kesalahan  yang muncul  dari  perhitungan  integral  dari  akselerasi[11]. Bias error yang terkecil yang pernah dilaporkan akibat perubahan  temperatur  untuk  sensor  ini  ialah  sebesar 62.71°/jam untuk penggunaan pada range temperatur - 40°C-85°C[12].  Untuk  mengetahui  bentuk error tersebut  seringkali  desainer  dapat  membuat  model matermatisnya[13].  Dan  untuk  mengkompensasi maupun  menkoreksi  kesalahan  dapat  digunakan beberapa  filter  seperti  filter  Kalman  [14],    atau  filter dengan  algortima  cerdas  berbasis fuzzy [15],  atau dengan mengkombinasikan sensor IMU dengan sensor lain  seperti  GPS  dalam  skema  sensor fusion [16]. Implementasi  filter  tersebut  dapat  memperbaikki performa  sensor  namun  terdapat  kompleksitas  dalam implementasinya dalam bentuk program dan tambahan beban  komputasi,  khususnya  bila  diimplementasikan dengan  menggunakan  mikrokontroller  biasa  [17]. Penelitian  ini  mengajukan  metode  koreksi  kesalahan drift pada  output  sensor  GY-521  MPU-6050  yang mudah  dalam  implementasi  serta  memilikki  beban komputasi  yang  ringan  menggunakan  kalibrasi  hasil perhitungan  rata-rata offset  error sensor  dan    metode sensor  fusion  antara  informasi  yang  diperoleh  dari gyroscope dan  accelerometer di  dalam modul. Output sensor yang akan diperbaikki performanya ialah posisi sudut  pada  aksis  x,  y  serta  z.  Pengujian  ini  dibangun dalam  sebuah  sistem  yang  berbasis  mikrokontroller Arduino uno.

## II. M ETODOLOGI

## A. Sistem Pengukuran Sudut
Sistem pengukuran sudut pada penelitian ini terdiri dari  sebuah  sensor  GY-521 MPU-6050,  Arduino  Uno untuk sistem akuisisi data, komputasi dan komunikasi data,  serta  sebuah  PC  untuk  menampilkan data  dalam bentuk  grafik.  Diagram  dari  sistem  tersebut  dapat dilihat pada Gambar 1. berikut
Gambar 1. Diagram Sistem
Sesuai  Gambar  1.  data  mentah  yang  dihasilkan  oleh sensor akan diolah oleh Arduino Uno, untuk kemudian dikirim ke PC melalui koneksi serial, dan hasilnya akan ditampilkan dalam bentuk grafik serta tabel dalam Ms. Excel.  Spesifikasi  sensor  GY-521  MPU-6050  secara umum ialah sebagai berikut[18]:
• Tegangan kerja 2,375 V- 3,46 V
• Terdiri dari 3 sumbu MEMS Gyroscope dan MEMS Accelerometer dengan masing-masing spesifikasi :
✓ MEMS Gyroscope :
o Output digital dengan bentang skala ±250, ±500, ±1000, dan ±2000 ˚/detik
o 16 bit ADC
o Arus operasi 3,6 mA
o Arus standby 5 μA
✓ MEMS Accelerometer o Output digital dengan bentang  skala ±2g, ±4g, ± 8g dan ±16g.
o 16 bit ADC
o Arus operasi 500μA
Sedangkan  koneksi wiring antara  sensor  MPU  6050 dan Arduino Uno diperlihatkan oleh Gambar 2 beikut
Gambar 2. Diagram wiring antara Arduino Uno dan MPU 6050

## B. Pengambilan Data Sensor
Pada pengujian ini digunakan nilai full scale range (FSR)  untuk  masing-masing  acceleremoter  dan gyroscope  sesuai default sistem  yaitu  +-2g  dan  250 derajat/sekon.  Adapun  desainer  dapat  memilih  nilai FSR yang diinginkan dengan menggunakan konfigurasi register  sesuai  dengan  datasheet  seperti  yang ditunjukkan oleh Gambar 3. berikut
Gambar 3. Konfigurasi register untuk FSR sensor
Pengujian  dilakukan  dengan  menempatkan  sistem sensor  pada  platform  datar  yang  diasumsikan  sebagai posisi sudut 0 o untuk masing-masing aksis x, y dan z. Data  akan  diambil  selama  300  detik  dengan  periode sampling  0,5  detik  untuk  melihat  fenomena drifting yang  terjadi  serta  efek  metode  eliminasi  yang diimplemantasikan.
Gambar 3. Penempatan sistem sensor untuk pengujian
Orientasi  aksis  dari  modul  sensor  MPU-6050 diperlihatkan pada Gambar 4. berikut
Gambar 4. Orientasi aksis pada sensor MPU-6050
Selanjutnya  akan  dilakukan  beberapa  skenario pengujian  untuk  melihat  performa  sistem  yang dijelaskan sebagai berikut:
1. Akuisisi  data  posisi  sudut  dari  hasil  pembacaan gyroscope secara langsung.
2. Akuisisi  data  posisi  sudut  dengan  menggunakan konsep  sensor fusion antara pembacaan gyroscope dan pembacaan accelerometer.
3. Akuisisi  data  posisi  sudut  dengan  menggunakan kalibrasi awal sistem pembacaan gyroscope.
4. Akuisisi  data  posisi  sudut  dengan  menggunakan kalibrasi awal sistem dan konsep sensor fusion .

## III. A NALISIS DAN P EMBAHASAN
Sesuai skenario pengujian yang dijelaskan pada bab sebelumnya  maka  didapat  hasil  pengujian  sebagai berikut

## A. Akuisisi Data Posisi Sudut dari Hasil Pembacaan Gyroscope Secara Langsung
Dari  hasil  pengujian  yang  telah  dilakukan  didapat grafik sebagai berikut
Gambar 5. Hasil pengujian Skenario 1
Gambar  5.  memperlihatkan  bahwa  fenomena drifting terjadi untuk pembacaan ketiga posisi sudut, baik untuk sudut roll , pitch ,  dan yaw .  Dari  hasil  pengujian  dapat diketahui  dengan  nilai  pembacaan  awal roll =  0,05 o , pitch  =  - 0,01 o ,  dan yaw  = 0,00 o ,  dan  nilai  akhir pembacaan roll = 25,19 o , pitch = 18,10 o , dan yaw = - 6,73 o maka  dapat  diketahui  dalam  kurun  waktu  300
detik  laju  kesalahan drifting untuk roll ialah  sebesar 0,084 o /  detik,  sedangkan  untuk pitch ialah  sebesar 0,06 o / detik, dan yaw sebesar 0,022 o / detik.
B. Akuisisi Data Posisi Sudut Dengan Menggunakan Konsep  Sensor  Fusion  Antara  Pembaccan Gyroscope dan Pembacaan Accelerometer.
Pada sekenario 2 ini hanya dilakukan pengambilan data pada sudut roll dan pitch , karena kita tidak dapat mengambil
informasi sudut yaw dari
accelerometer[19].  Pada  skenario  kedua  ini  akan dilakukan  beberapa  pengujian  dengan  melakukan tingkat kepercayaan sensor, yaitu
• gyroscope 75% - accelerometer 25%
• gyroscope 80% - accelerometer 20%
• gyroscope 96% - accelerometer 4%.
Hasil pengujian yang telah dilakukan pada skenario
2 ini dibuat dalam bentuk grafik sebagai berikut
Gambar 6. Hasil pengujian Skenario 2 : gyroscope 75% - accelerometer 25%
Gambar  6  memperlihatkan  bahwa  hasil  fusion dengan  penambahan  accelerometer  dapat  membantu mengkoreksi  fenomena drifting yang  terjadi  pada gyroscope, dan dari hasil analisis mean squared error (MSE)  untuk  melihat  performa  sensor  fusion  pada skenario ini didapat nilai MSE untuk posisi roll sebesar 0,01 o dan  posisi pitch sebesar  0,14 o .  Kemudian  dari hasil pengujian selanjutnya dari skenario 2 didapatkan grafik sebagai berikut
Gambar 7. Hasil pengujian Skenario 2 : gyroscope 80% - accelerometer 20%
Dari hasil pengujian yang ditunjukkan oleh Gambar 7, diperoleh analisis MSE untuk posisi roll sebesar 0,01 o dan  posisi pitch sebesar  0,21 o .  Sedangkan  untuk

## ISSN 2355-3286
pengujian  skenario  2  dengan  set  ketiga  didapat  hasil sebagai berikut
Gambar 8. Hasil pengujian Skenario 2 : gyroscope 96% - accelerometer 4%
Dari hasil pengujian yang ditunjukkan oleh Gambar 8, diperoleh analisis MSE untuk posisi roll sebesar 0,00 o dan posisi pitch sebesar 0,11 o .
C. Akuisisi  Data  Posisi  Sudut  dengan  Menggunakan Kalibrasi Awal Sistem Pembacaan Gyroscope.
Pada  skenario  3  ini  akan  dilakukan  koreksi  factor drifting dengan melakukan kalibrasi pengukuran, yaitu dengan  mengambil  data  pengukuran  dalam  jumlah  n- tertentu  dan  menghitung  rata-rata  kesalahannya. Karena sistem ditempatkan pada platform rata dan tidak bergerak,  maka  nilai  keluaran  seharusnya  bernilai  0, dari situ kita dapat menghitung rata-rata kesalahan. Dari hasil pengujian kalibrasi dengan n-tertentu didapat rata- rata  kesalahan  perhitungan  yang  diperlihatkan  oleh Tabel 1 berikut
Tabel 1 Rata-rata offset dari keluaran MPU-6050 No n Accelerometer Gyroscope x y x y z 1 100 -0.05 0.29 0.12 0.10 - 0.05 2 200 0.00 0.28 0.12 0.09 - 0.05 3 500 -0.04 0.30 0.12 0.10 - 0.05
Hasil  pengujian  memperlihatkan  bahwa  dengan melakukan  n  (100,200,500)  pengambilan  data  untuk melakukan kalibrasi didapatkan bahwa nilai offset dari keluaran  sensor  relatif  sama.  Dengan  menggunakan nilai  n  =  500  sebagai  faktor  koreksi,  didapat  hasil sebagai berikut
Gambar 9. Hasil pengujian Skenario 3 dengan n =500
Gambar 9. memperlihatkan bahwa kalibrasi awal yang dilakukan  dengan  menghitung  nilai offset dari pembacaan  sensor,  dapat  mengurangi  fenomena drifting yang  terjadi  untuk  pembacaan  ketiga  posisi sudut, baik untuk sudut roll , pitch , dan yaw . Dari hasil pengujian dapat diketahui dengan nilai pembacaan awal roll = 0,07 o , pitch = - 0,25 o , dan yaw = 0,06 o , dan nilai akhir pembacaan roll = -1,82 o , pitch = -1,41 o , dan yaw = 4.88 o maka dapat diketahui dalam kurun waktu 300 detik laju kesalahan drifting untuk roll ialah sebesar  - 0,0063 o /  detik,  sedangkan  untuk pitch ialah  sebesar  - 0,0038 o /  detik,  dan yaw sebesar  0.0161 o /  detik.  Hasil tersebut  memeperlihatkan  secara  umum  proses kalibrasi yang dilakukan dapat memperbaikki performa sistem.

## D. Akuisisi Data Posisi Sudut Dengan Menggunakan Kalibrasi Awal Sistem dan Konsep Sensor Fusion
Pada skenario 4, dilakukan kombinasi implementasi kalibrasi awal untuk menghilangkan nilai offset dengan nilai  n=  500    dengan  konsep  sensor fusion informasi antara  sensor  gyroscope  dan  accelerometer  untuk penentuan  posisi  sudut roll dan pitch dengan  tingkat kepercayaan  sensor  gyroscope  sebesar  96%  dan accelerometer sebesar 4%. Sedangkan pada penentuan posisi  sudut yaw hanya  digunakan  metode  kalibrasi awal sensor dengan nilai n = 500. Hasil dari pengujian yang  dilakukan  pada  skenario  4  ini  ditunjukkan  oleh Gambar 10.
Gambar 10. Hasil pengujian Skenario 4
Dari  Gambar  10  terlihat  bahwa  kombinasi  antara kalibrasi  awal  dan  metode sensor  fusion dapat memperbaikki pembacaan posisi sudut roll , pitch , dan yaw pada  sensor  GY-521  MPU-6050.  Analisis  data

## ISSN 2355-3286
menunjukkan dengan nilai awal pembacaan sudut roll = -0,82 o , pitch = - 0,22 o , dan yaw = 0,06 o , dan nilai akhir pembacaan roll = 0,02 o , pitch = 0,06 o , dan yaw = 2.51 o , maka  dapat  diketahui  dalam  kurun  waktu  300  detik hasil analisis MSE untuk posisi roll sebesar 0,0029 o dan posisi pitch sebesar 0,0047 o dan laju kesalahan drifting pada posisi sudut yaw sebesar 0,0082 o /detik.

## IV. K ESIMPULAN
Dari  hasil  pengujian  yang  telah  dilakukan,  modul sensor GY-521 MPU-6050 dapat dikoneksikan dengan mikrokontroller  Arduino  Uno  secara  mudah  dengan protokol  komunikasi  serial  I2C  dan  memberikan informasi  berupa  posisi  sudut.  Namun  pada  metode pembacaan dengan nilai full scale range secara default , seperti  pada  sistem  IMU  umumnya  terjadi  fenomena drifting dengan laju error per detik untuk posisi sudut roll sebesar  0,084 o /  detik,  sedangkan  untuk pitch sebesar 0,06 o / detik, dan yaw sebesar 0,022 o / detik. Dari implementasi metode koreksi yang dilakukan, kalibrasi awal sistem mampu memperbaikki performa pembacaan sensor dalam 300 detik dengan menurunkan laju error per detik untuk sudut roll sebesar 92,5%, , untuk  posisi  sudut pitch sebesar  93,67%  dan  untuk posisi sudut yaw sebesar 26,81% . Metode sensor fusion yang  dilakukan  dengan  mengkombinasikan  informasi dari  gyroscope  dan  accelerometer  pada  pembacaan posisi  sudut roll dan pitch juga  dapat  melakukan koreksi  data  dan  membuat  pembacaan  lebih  stabil. Dengan beberapa metode koreksi kesalahan yang telah dilakukan  pada  pengujian  ini  didapat  bahwa  pada skenario  4  yaitu  dengan  kombinasi  implementasi kalibrasi  awal  sistem  dan  penggunaan  konsep fusion sensor mampu memberikan performa  yang  lebih baik dengan  hasil  analisis  MSE  untuk  posisi roll sebesar 0,0029 o dan  posisi pitch sebesar  0,0047 o dan  laju kesalahan drifting pada  posisi  sudut yaw sebesar 0,0082 o /detik atau turun 62,72%.
Terdapat beberapa catatan yang perlu diperhatikan dari  pengujian  yang  dilakukan,  metode  koreksi  ini dapat  memberikan  hasil  yang  baik  dalam  pembacaan sudut roll , pitch , dan yaw dengan menggunakan sensor IMU  berbasis  gyroscope  dan  accelerometer  seperti modul GY-521 MPU-6050. Namun faktor uncertainty dari  sensor  tersebut  perlu  tetap  diperhatikan,  hal  ini dapat  kita  lihat  pada  performa  pengujian  skenario  3 dean  skenario  4.  Dengan  faktor  koreksi offset yang sama,  performa  pembacaan  sudut yaw dapat  menjadi berbeda,  walaupun  cenderung  lebih  baik,  juga  dapat dilihat  dari  pembacaan  nilai  awal  yang  berbeda  pada penempatan  sensor  yang  sama  selama  pengujian. Catatan kecil pengujian ini perlu diperhatikan terutama dalam implementasi untuk sistem  yang membutuhkan kepresisian tinggi dan rentang operasional yang relatif lama.

## D AFTAR P USTAKA
[1]  N.  Ahmad,  R.  A.  R.  Ghazilla,  N.  M.  Khairi,  and  V.  Kasi, “Reviews on Various Inertial Measurement Unit (IMU) Sensor Applications,” Int.  J.  Signal  Process.  Syst. ,  2013,  doi: 10.12720/ijsps.1.2.256-262.
[2] G. M. Siouris, “Missile Guidance and Control Systems,” Appl. Mech. Rev. , 2004, doi: 10.1115/1.1849174.
[3]  C.  F.  Lin, Modern  Navigation,  Guidance,  and  Control Processing , no. v. 2. Prentice Hall, 1991.
[4]  D. Reid, J. Ralston, M. Dunn, and C. Hargrave, “A major step forward in continuous miner automation,” Jan. 2011.
[5]  H.  Sheng  and  T.  Zhang,  “MEMS-based  low-cost  strap-down AHRS  research,” Meas.  J.  Int.  Meas.  Confed. ,  2015,  doi: 10.1016/j.measurement.2014.09.041.
[6]  W.  H.  Baird,  “An  introduction  to  inertial  navigation,” Am.  J. Phys. , 2009, doi: 10.1119/1.3081061.
[7]  B.  Finney,  “Navigation,”  in International Encyclopedia  of  the Social & Behavioral Sciences: Second Edition , 2015.
[8]  E.  H.  C.  Harik,  F.  Guerin,  F.  Guinand,  J.  F.  Brethe,  and  H. Pelvillain, “UAV-UGV cooperation for objects transportation in an industrial area,” 2015, doi: 10.1109/ICIT.2015.7125156.
[9]  C.  Laoudias,  A.  Moreira,  S.  Kim,  S.  Lee,  L.  Wirola,  and  C. Fischione,  “A  survey  of  enabling  technologies  for  network localization,  tracking,  and  navigation,” IEEE  Communications
Surveys and Tutorials . 2018,
doi: 10.1109/COMST.2018.2855063.
[10] O.  B.  Kharisma,  A.  Wildan,  Auliaullah,  and  F.  E.  Laumal, “Implementasi  Sensor  MPU  6050  untuk  Mengukur Kesetimbangan  Self  Balancing  Robot  Menggunakan  Kontrol PID,” Semin. Nas. Teknol. Informasi, Komun. dan Ind. , 2018.
[11] B.  Siciliano  and  O.  Khatib, Springer  handbook  of  robotics . 2016.
[12] D. Yang, J. K. Woo, S. Lee, J. Mitchell, A. D. Challoner, and K. Najafi, “A Micro Oven-Control System for Inertial Sensors,” J.
Microelectromechanical Syst. , 2017, doi:
10.1109/JMEMS.2017.2692770.
[13] H.  Haiying,  “Modeling  inertial  sensors  errors  using  Allan variance,” UCEGE  reports  number  20201,  Master’s  thesis, Univ. Calgary, Sept. , 2004.
[14] A. I. Mourikis and S. I. Roumeliotis,  “A multi-state constraint Kalman  filter  for  vision-aided  inertial  navigation,”  2007,  doi: 10.1109/ROBOT.2007.364024.
[15] H.  Nourmohammadi  and  J.  Keighobadi,  “Fuzzy  adaptive integration scheme for low-cost SINS/GPS navigation system,” Mech.
Syst. Signal Process. , 2018, doi: 10.1016/j.ymssp.2017.06.030.
[16] F.  Caron,  E.  Duflos,  D.  Pomorski,  and  P.  Vanheeghe, “GPS/IMU  data  fusion  using  multisensor  Kalman  filtering: Introduction  of  contextual  aspects,” Inf.  Fusion ,  2006,  doi: 10.1016/j.inffus.2004.07.002.
[17] B.  Mccarron,  “Low-Cost  IMU  Implementation  via  Sensor Fusion  Algorithms  in  the  Arduino  Environment,” Calif. Polytech. State Univ. , 2013.
[18] D.  Anggaraeni,  R.  Ranto,  P.  Estu  Broto,  and  A.  Marta, “PERFORMANSI KARAKTERISTIK SENSOR PENGUKUR KECEPATAN  SUDUT  BERBASIS  MEMS  MPU  6050  DAN ADXL 335,” 2019, pp. 27–33.
[19] M. Pedley, “Tilt Sensing Using a Three-Axis Accelerometer,” 2013.